Handle客户端(Client)标识解析功能测试

作者: 云中布衣   分类:  学习笔记    热度: (520℃)   时间: 2018-4-17 14:57   标签: #工业互联网  #标识解析  #Handle    
Handle Client Libraries 有两个语言版本Java Version(ver. 8.1) 和 C version(ver. 5),但是官网这么描述:

Note that the C Version is not in widespread use, and is not routinely updated or tested, and developed are encouraged to use the Proxy Server REST API.(需要注意的是C语言版本的Handle Client使用的不普遍,也不经常更新和测试,因此鼓励使用Proxy Server REST API进行开发)

故本文选择Java Version的Handle Client进行测试分析。

(一)测试分析前的准备

在进行测试分析之前必须先安装好Java运行环境(自行安装Java 6或更高版本)本文选择安装Java 8,然后下载Handle Client 的Java 版本。

Handle Client Libraries 下载地址:https://www.handle.net/client_download.html

(二)Handle 客户端(Client)标识解析功能测试

通过第一部分中的测试前的准备,现在可以开始进入实际的测试部分。
将下载好的Handle Client Livraries解压,运行下面路径中的脚本程序,即可打开Handle Tool:
bin/hdl-admintool
bin\hdl-admintool.bat(Windows环境下)

可得到如下图所示的Handle Tool界面
handtool.PNG
 
这里我们只测试下Lookup(解析查询功能),其他的对Handle的增、删、改、查,均需要Handle服务器端Admin的权限,因此本文暂不做讨论,后续会持续跟进。

测试用例,采用物理化学学报中的一篇期刊论文的doi( 10.3866/PKU.WHXB201803024)。将该doi输入上述界面的文本框中,并点击Lookup按钮,Handle解析查询结果如下图所示:
 
handleview.PNG

查询该Handle的过程中,脚本输出日志为:
sending HDL-UDP request (version=2.10; oc=1; rc=0; snId=0 crt caCrt noAuth expires:Wed Apr 18 01:56:07 CST 2018 0.NA/10.3866 [HS_SITE, HS_SITE.6, HS_SERV, HS_NAMESPACE, ] [ ]) to [2001:550:100:6::4]:2641
sending HDL-UDP request (version=2.10; oc=1; rc=0; snId=0 crt caCrt noAuth expires:Wed Apr 18 01:56:07 CST 2018 0.NA/10.3866 [HS_SITE, HS_SITE.6, HS_SERV, HS_NAMESPACE, ] [ ]) to 132.151.20.9:2641
received HDL-UDP response: version=2.10; oc=1; rc=1; snId=0 crt caCrt noAuth expires:Wed Apr 18 01:56:05 CST 2018 0.NA/10.3866
index=1 type=HS_SERV rwr- "10.SERV/ISTIC"
index=5 type=HS_NAMESPACE rwr- "<namespace><DOI.RA>10.SERV/ISTIC</DOI.RA><locs>10.SERV/ISTIC</locs></namespace>"


sending HDL-UDP request (version=2.10; oc=1; rc=0; snId=0 crt caCrt noAuth expires:Wed Apr 18 01:56:08 CST 2018 0.NA/10.SERV [HS_SITE, HS_SITE.6, HS_SERV, HS_NAMESPACE, ] [ ]) to [2001:550:100:6::138:153]:2641
sending HDL-UDP request (version=2.10; oc=1; rc=0; snId=0 crt caCrt noAuth expires:Wed Apr 18 01:56:08 CST 2018 0.NA/10.SERV [HS_SITE, HS_SITE.6, HS_SERV, HS_NAMESPACE, ] [ ]) to 38.100.138.131:2641
received HDL-UDP response: version=2.10; oc=1; rc=1; snId=0 crt caCrt auth noAuth expires:Wed Apr 18 01:56:08 CST 2018 0.NA/10.SERV
index=1 type=HS_SITE rwr- "……"
index=3 type=HS_SITE rwr- "……"
index=8 type=HS_SITE rwr- "……"
index=9 type=HS_SITE rwr- "……"

index=10 type=HS_SITE rwr- "……"


sending HDL-UDP request (version=2.10; oc=1; rc=0; snId=0 crt caCrt noAuth expires:Wed Apr 18 01:56:08 CST 2018 10.SERV/ISTIC [HS_SITE, HS_SITE.6, HS_SERV, ][ ]) to 54.169.7.16:2644
received HDL-UDP response: version=2.10; oc=1; rc=1; snId=0 crt caCrt auth noAuth expires:Wed Apr 18 01:56:09 CST 2018 10.SERV/ISTIC
index=1 type=HS_SITE rwr- "……"
sending HDL-UDP request (version=2.10; oc=1; rc=0; snId=0 crt caCrt noAuth expires:Wed Apr 18 01:56:07 CST 2018 10.3866/PKU.WHXB201803024 [ ] [ ]) to 122.115.55.51:2641

received HDL-UDP response: version=2.10; oc=1; rc=1; snId=0 crt caCrt auth noAuth expires:Wed Apr 18 01:56:01 CST 2018 10.3866/PKU.WHXB201803024
index=1 type=URL rwr- "http://www.whxb.pku.edu.cn/EN/10.3866/PKU.WHXB201803024"


index=100 type=HS_ADMIN rwr- "0FFF0000000C302E4E412F31302E333332310000012C0000"
message processed in 2324 ms

将上述脚本输出日志,梳理可得到如下该Handle解析询问的过程(具体的IP地址以及端口号可参考上述输出日志):

输入:10.3866/PKU.WHXB201803024

(1)分别向0.NA/10.3866 服务器的V6和V4地址,发送信息查询请求[HS_SITE, HS_SITE.6, HS_SERV, HS_NAMESPACE];
(2)获得HS_SERV信息,值为10.SERV/ISTIC;
(3)分别向0.NA/10.SERV 服务器的V6和V4地址, 发送信息查询请求[HS_SITE, HS_SITE.6, HS_SERV, HS_NAMESPACE];
(4)获得多个0.NA/10.SERV下的HS_SITE信息;
(5)询问10.SERV/ISTIC;
(6)获得10.SERV/ISTIC下的HS_SITE信息;
(7)向上面得到的HS_SITE地址,查询10.3866/PKU.WHXB201803024;
(8)获得返回的URL信息。


双击Handle解析查询结果图中结果项可以得到更加详细的Handle Value,如双击返回的URL结果项,可得到下图:
 
handleurlvalue.PNG
双击返回的HS_ADMIN结果项,可得到如下图:
handleadminvalue.PNG
 
需要注意的是,上面的Handle解析查询为首次查询,总共耗时2324ms,而在前面的论文阅读中了解到,Handle System借助缓存服务可以大大查询效率,因此测试实验中第二次对同一个Handle进行解析查询的时候查询的时间会缩短至1ms。

上述测试分析为成功查询到Handle解析信息的情况,如果查询失败,则会返回对应的查询失败信息,具体的错误类型如下所示,摘自文档HN_Tech_Manual_8
● 1: Success (200 OK or 201 Created)
● 2: An unexpected error on the server (500 Internal Server Error)
● 100: Handle not found (404 Not Found)
● 101: Handle already exists (409 Conflict)
● 102: Invalid handle (400 Bad Request)
● 200: Values not found (in resolution, 200 OK; otherwise 400 Bad Request)
● 201: Value already exists (409 Conflict)
● 202: Invalid value (400 Bad Request)
● 301: Server not responsible for handle (400 Bad Request)
● 402: Authentication needed (401 Unauthorized)
● 40x: Other authentication errors (403 Forbidden)

至此Handle客户端(Client)标识解析功能测试完毕,主要包括了测试前的准备以及实际测试两部分。实际测试部分结合解析查询脚本的输出日志分析了其解析成功时的详细过程及解析失败返回的错误信息,此外对于Handle System的强大的缓存服务进行测试,测试结果表明,对于同一Handle进行二次解析查询的时候,解析查询时间会大大缩短。
56.8K

发表评论:

© 云中布衣 2015 | Driven by EMLOG  | SiteMap | RunTime: 7.70ms RSS  | MORE  |   | TOP

文章数量【256】 评论数量【222】 稳定运行【1185天】

Visitor IP Address【54.162.118.107】

Email:ieeflsyu#outlook.com