Handle本地调试及基础开发

  • Post author:
  • Post category:其他




Handle本地调试及基础开发



1.前言

  1. 本文主要介绍Handle标识解析服务的搭建及利用JAVA库进行本地handle以及Global’s Handle解析的开发
  2. 本文不会过多赘述Handle的基础理论,仅简要阐述与调试及开发相关的知识点.因此,如对Handle相关理论细节存疑请移步查阅RFC文档,或自行百度Google.
  3. 一切请以官网为准,以当前所使用的版本为准
  4. 若有侵权,请联系本人删除,thanks!
  5. 欢迎评论指正,本人也是边学边写的,有些思路可能是有更好的解决方案的.



2.Handle的介绍

Handle系统是一套由国际DONA基金会组织运行和管理的全球分布式管理系统。是一种标识解析技术,是一个完备的标识解析系统,类似于互联网中的DNS系统一样,在dns中输入域名最后获得ip地址,而在Handle系统中输入handle值最后能够获得这个对象所配置了的所有信息(前缀解析来到本地的服务器,然后在本地的服务器中依据后缀找到这个对象,本地想给这个对象配置啥信息,他就可以有什么信息)


Handle细节不赘述,具体细节请参考RFC文档

本文强调本地调试的一个主要目的是,申请一个Handle前缀是要50刀的,而有一些代码开发/实验等等不需要用到外网环境,所以本文介绍一种可以在本地就进行解析实验的方法.故,第一步是搭建Handle环境,接着往本地的数据库插入数据,然后进行本地及Global的handle解析测试;第二步是介绍Handle的Java库基本解析代码,也是分为本地和Global的.

Handle的RFC文档: RFC3650 / RFC3651 / RFC3652

Handle的官网: https://handle.net/

工业互联网标识解析体系发展趋势: http://www.cnki.com.cn/Article/CJFDTotal-DXWJ201908011.htm

刚接触Handle时参考过该blog,言简意赅: http://www.mryu.top/notes/277.html



3.Handle环境搭建&解析

官方的操作手册: http://hdl.handle.net/20.1000/113

1.里面有基本的工具介绍

2.可以注意到

.net

后面跟着的就是一个handle



3.1环境

  • 版本

    • centos 7
    • java 11(官方建议是java8以上就行,因此这里请根据实际情况选择java版本)
    • handle 9.3.0



3.2搭建步骤


ps: 下面的安装中handle的配置部分请根据实际情况自行更改输入参数

# 1.为了java能够正常使用,我会卸载了centos自带的jdk,然后安装Oracle版本的jdk
# 1.1.check本地已安装的jdk
$ rpm -qa | grep jdk
java-1.6.0-openjdk-devel-1.6.0.41-1.13.13.1.el7_3.x86_64
java-1.8.0-openjdk-devel-1.8.0.262.b10-0.el7_8.x86_64
java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
java-1.7.0-openjdk-devel-1.7.0.261-2.6.22.2.el7_8.x86_64
java-1.8.0-openjdk-headless-1.8.0.262.b10-0.el7_8.x86_64
java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el7_3.x86_64
java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64
java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64
copy-jdk-configs-3.3-10.el7_5.noarch
# 1.2.卸载
$ rpm -e --nodeps java-1.6.0-openjdk-devel-1.6.0.41-1.13.13.1.el7_3.x86_64
$ rpm -e --nodeps java-1.8.0-openjdk-devel-1.8.0.262.b10-0.el7_8.x86_64
$ rpm -e --nodeps java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
$ rpm -e --nodeps java-1.7.0-openjdk-devel-1.7.0.261-2.6.22.2.el7_8.x86_64
$ rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-0.el7_8.x86_64
$ rpm -e --nodeps java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el7_3.x86_64
$ rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64
$ rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64
# 2.安装jdk11
# 2.1请自行到Oracle官网下载jdk8以上的jdk到服务器,由于我是在本地下好复制进服务器中,所以下载步骤略
# 2.2安装,本次偷懒直接使用rpm方式安装,若下的tar.gz请自行百度环境配置
$ rpm -ivh jdk-11.0.8_linux-x64_bin.rpm 
# 2.3检查java
$ java -version
# 3.安装handle
# 3.1.也是下好了拖进服务器的
$ tar -zxvf handle-9.3.0-distribution.tar.gz
$ mkdir /opt/hs
$ mv handle-9.3.0 /opt/hs/
# 3.2.创建本地handle服务的数据存放文件夹
$ mkdir -p /opt/hs/svr-1
# 3.3.安装
$ cd /opt/hs
$ ./handle-9.3.0/bin/hdl-setup-server svr-1/

To configure your new Handle server, please answer
the questions which follow; default answers, shown in 
[square brackets] when available, can be chosen by 
pressing Enter.

# 搭建的单节点服务器,所以选择"是"主服务
Will this be a "primary" server (ie, not a mirror of another server)?(y/n) [y]: 
# 本地测试只用到ip4,所以关闭双栈
Will this be a dual-stack server (accessible on both IPv6 and IPv4)?(y/n) [n]: 
# 输入可以访问到该机器的IP,如我这里输入的是服务器在局域网中的ip
Through what network-accessible IP address should clients connect to this server? [10.10.10.6]: 172.22.105.134
# 可以再输入一个不同的,我这里用不到
If different, enter the IP address to which the server should bind. [172.22.105.134]: 
# 使用默认的端口
Enter the (TCP/UDP) port number this server will listen to [2641]



版权声明:本文为Obuuu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。