物联网标识管理公共服务平台接入说明
物联网标识管理公共服务平台接入说明CNNIC2012-9-25一、简介1. 概述物联网标识管理公共服务平台是面向物联网各个行业,多种平台提供标识注册、解析和搜索等公共服务的物联网基础支撑平台。物联网标
物联网标识管理公共服务平台接入说明
CNNIC
2012-9-25
一、简介
1. 概述
物联网标识管理公共服务平台是面向物联网各个行业,多种平台提供标识注册、解析和搜索等公共服务的物联网基础支撑平台。物联网标识管理公共服务平台在物联网架构中的位置如图1-1所示:
图1-1 物联网层次架构图
接入标识管理公共服务平台的各种物联网应用,平台将会给所有节点资源分配统一的物联网标识。各个应用内部,各个应用之间,无论采用何种通信标识,都可以通过使用该平台的标识解析和搜索服务,用物联网标识完成资源定位、寻址访问,从而实现应用层通信的整合。
平台为物联网用户提供访问物联网资源的统一入口,包括两种交互方式:基于浏览器的交互方式和基于统一API 接口的交互方式。其中,基于浏览器的交互方式,物联网用户可以通过普通的浏览器(IE 、Firefox 等)访问本平台下的各种物联网资源;基于统一API 接口的交互方式,可以开发出基于统一信息表达方式的物联网客户端,同时任意物联网用户可以参与物联网的业务创新,通过统一API 开发应用程序,利用物联网中各种资源,为物联网用户提供丰富多样的应用。
2. 接入平台的意义
物联网标识是物联网应用的入口,物联网应用如何使用标识是应用开发需要考虑的首要问题。对于面向未来互联互通物联网前景的应用,接入物联网标识管理公共服务平台具有重要意义。物联网应用接入物联网标识管理公共服务平台首先能降低物联网应用的开发难度、减少开发工作量。在物联网标识管理公共服务平台的支撑下,物联网应用的展示查询环节可以由第三方软件实现,应用开发者不需要再投入大量精力开发客户端等程序。物联网应用接入标识公共服务平台还能扩大应用的推广范围。由于第三方软件的使用,应用的推广不受自身软件质量和安装数量的限制,只需要推广应用本身,同时还可以借助第三方渠道实现推广,
,因此能扩大应用推广的范围。接入标识服务平台将方便用户使用,提高用户体验。物联网应用多种多样,但是用户日常使用的客户端不可能一个应用使用一个,使用统一的程序接口访问物联网应用将方便用户的使用。同时,由于终端的多样化,开发一个用户体验良好的软件难度很大,例如现存的移动操作系统有 iOS,Adroid ,Symbian 和windows phone 等,一个独立的物联网应用在所有系统上做到兼容已经很困难,做到所以系统体验良好,对非专业的客户端是不可能任务,因此接入可以使用统一客户端的物联网标识管理公共服务平台将大大提高用户体验。
二、编码
接入物联网标识管理公共服务平台的标识编码采用两段式结构。如下图所示:
标准标识编码需要预先在平台注册,物品标识的长度根据需要和相关标准规定可以是任意长度。标准标识唯一标识编码的类型,标准标识和物品标识一起唯一标识物联网物品。
标准标识由CNNIC 分配。物品标识可以由应用开发者自行选择。每种物品标识唯一对应一个标准标识。目前建议参考电子标签工作组的《用于信息处理产品和服务数字标识格式规范》[1]标准初稿。
其中对家具应用,物品编码建议使用总长度128bit ,头字段为0033H 的编码。企业代码使用9位组织机构代码证号码(组织机构代码还有非数字字符!)。不建议每个企业统一产品分类(不符合标识设计的无意义性,统一分配工作量大),建议企业自行分配产品分类;如果必须统一分类,可以采取占用产品序列号的方式,共占用8位,剩下作为序列号。该编码的标准码分配为0001H 。
其他应用使用和家具应用相同的编码。如果确实有必要单独编码再单独申请标准码。
三、编码存储方式
物联网标识的存储载体可以有如下三种:RFID 、二位条形码和一维条形码。 a) RFID
物品编码存储于兼容ISO18000-6C 标签的产品代码区。标准编码存储与用户区的第0-15比特。
其他标准RFID 存储方式另行定义。
例如:某组织机构代码为730430352可以作为企业代码,其生产的某款桌子的产品和服务代码为00001,序列号为00000000000001
那么在128bit 的产品代码区存储00337304303520000100000000000001H 的二进制bit 。
在用户区的第0-15比特存储0001H 的二进制bit 。
b) 二维条形码
建议使用QR 码存储。
其中标准标识编码转换为十六进制的ASCII 码存储,例如0001H 存储0001。物品编码转换为十六进制的ASCII 码存储。标准编码在前和物品编码之间用ASCII 码“:”隔开。
以存储和RFID 中同样的编码为例。QR 编码中存储ASCII 码序列:
0001:00337304303520000100000000000001
c) 一维条形码
建议使用code 128B。
其中标准标识编码转换为十六进制的ASCII 码存储,例如0001H 存储0001。物品编码转换为十六进制的ASCII 码存储。标准编码在前和物品编码之间用ASCII 码“:”隔开。
以存储和RFID 中同样的编码为例。条形码中存储code 128B码序列: 0001:00337304303520000100000000000001
四、注册接口
1. 物联网标识注册的主体分为两类:
标识管理者:主要是指标识分配体系中,对一类标识的编码结构、号码
分发具有管理权限的主体,如标准组织(IETF 、ISO 、ITU )、公益机构(CNNIC )、运营商(VeriSign )等;
标识所有者:主要是指标识应用体系中,对单个标识及其所对应的物联
网资源拥有实际所有权的主体,如个人、单位、公司等。
2. 物联网标识注册的行为主要分为五类:
① 标识管理者向物联网标准标识根节点注册标准标识所对应的语义规则:
⏹ 通过Web 页面的形式注册,将对应的NAPTR 记录写入snsroot.cn ② 标识所有者向物联网物品标识根节点注册物品标识中资源归属部分所对应的权威服务器地址:
⏹ 通过Web 页面的形式注册,将对应的NAPTR 记录写入tnsroot.cn ⏹ 目的就是通过公司码等资源归属部分标识到其对应权威服务器的映
射关系实现注册服务器端定位权威服务器
③ 标识管理者向二级权威服务器注册其所管理的一类标识对应的语义规则:
⏹ 通过Web 页面的形式注册,对应的NAPTR 记录写入***.snsroot.cn ⏹ 目的就是在现阶段尚无法使用标准标识的情况下,分布式管理各自
的标准标识,通过扫描之类的其他手段实现多编码过滤
④ 标识所有者向二级权威服务器注册物品标识所对应的资源记录:
⏹ 通过客户端的形式注册,对应的NAPTR 记录写入***.tnsroot.cn ⏹ 目的之一是注册批次的物品标识到信息服务器地址的映射
⏹ 目的之二是在全生命周期中生产环节,注册单品的物品标识到发现
服务器的映射
⑤ 标识所有者向发现服务器注册物品标识所对应的资源记录:
⏹ 通过客户端的形式注册,对应的NAPTR 记录写入***.tnsroot.cn ⏹ 目的主要是注册单品的物品标识到信息服务器地址的映射
这里标准标识和物品标识的划分,以及物品标识中资源归属部分的定义请参考《物联网标识解析系统开发说明》。
3. 接入方式
,a) 添加客户端源代码
在工程代码中加入客户端源代码,包括cn.cnnic.iot 下的client ,common ,util ,xml 包。然后实例化一个PublicClient 对象,调用其public String create(String sid,String rid,String mid,String mType, String serviceType, int TTL) 方法进行注册。 在工程代码中加入客户端jar 包,然后实例化一个PublicClient 对象,调用其public String create(String sid,String rid,String mid,String mType, String serviceType, int TTL) 方法进行注册。
六个参数分别是:标准标识sid ,物品标识rid ,映射标识mid ,映射类型mType, 注册类型serviceType, 生存时间TTL 。
b) 添加客户端JAR 包
在工程代码中加入客户端jar 包,然后实例化一个PublicClient 对象,调用其public String create(String sid,String rid,String mid,String mType, String serviceType, int TTL) 方法进行注册。
c) 使用桌面客户端-手工录入
预装jre 环境,打开桌面客户端,选择手工录入。
如下图所示,在录入框中,添加标准标识sid ,物品标识rid ,映射标识mid ,映射类型mType, 注册类型serviceType, 生存时间TTL 六个参数,点击注册,进行物联网标识注册。
,d) 使用桌面客户端-TXT 导入
预装jre 环境,打开桌面客户端,选择txt 导入。
选择的txt 文件需要具备以下格式:
每一行为一条记录,包括六个参数,sid ,rid ,mid ,mType ,serviceType ,TTL 以空格分隔。
六个参数分别是:标准标识sid ,物品标识rid ,映射标识mid ,映射类型mType, 注册类型serviceType, 生存时间TTL 。
e) 使用桌面客户端-EXCEL 导入
预装jre 环境,打开桌面客户端,选择excel 导入。
选择的excel 文件需要具备以下格式:
有六列数据,表头分别为sid ,rid ,mid ,mType ,serviceType ,TTL 之后每行为一条记录。
f) 使用网页客户端
使用浏览器访问物联网标识注册页面register.niot.cn ,选择标识注册。
如下图所示,在录入框中,添加标准标识sid ,物品标识rid ,映射标识mid ,映射类型mType, 注册类型serviceType, 生存时间TTL 六个参数,点击注册,进行物联网标识注册。
删改查类似。
五、查询接口
1. 标准标识的处理过程步骤如下[2]:
a) 将域名格式的标准标识符发送给标准名字服务器,查询NAPTR 资源记录。
b) 获取标准名字服务器返回的NAPTR 记录。
c) 选择Pref 字段值最小的NAPTR 记录。
d) 提取所选NAPTR 记录中Regexp 字段的值,获得正则表达式形式的产品代码域名转换规则。
示例:
标准标识0001H ,读RFID 把前16比特的十六进制数值转换为ASCII 码“0001”,然后加上标准码的域名后缀snsroot.cn, 转换成标准标识符域名:0001.snsroot.cn ,使用标准的DNS 查询流程,
通过标准名字服务器查询步骤,获取到的正则表达式形式的产品代码域名转换规则为:!^ ([d]{4})([d]{9})([d]{5})([d]{14})!4.3.2.tnsroot.cn!。
2. 产品代码处理过程
根据标准名字服务器返回的产品代码域名转换规则,对产品代码进行转换,形成产品代码域名。
示例:
产品代码:00337304303520000100000000000001
产品代码域名转换规则:!^ ([d]{4})([d]{9})([d]{5})([d]{14})!4.3.2.tnsroot.cn!,此正则表达式表示该产品代码具有4个字段,各字段长度分别为4、9、5、14位,取第二字段即“730430352”作为产品代码域名的第三部分,取第三字段即“00001”作为产品代码域名的第二部分,取第四字段“00000000000001”为产品代码域名的第三部分最后添加后缀“.tnsroot .cn”。最终转换得到的产品代码域名为:00000000000001. 00001. 730430352.tnsroot.cn 。
转换之后使用标准DNS 查询流程,可以查到该产品代码对应的服务器ip, 或者信息URL 。 该查询过程,我们已经开发了一个解析器程序,通过调用该程序提供的函数,可以直接获得物品编码对应的URL 或者IP 。
应用程序解析器DNS 系统
3. 查询域名的NAPTR 记录
4. 返回该域名所有的
1) 应用程序调用解析器,调用参数包括,物品编码:ID (SID RID);查询类型:DS 。
2) 解析器在收入查询请求后,将物品编码ID (SID RID)转换成对应的域名形式。
3) 解析器向DNS 递归服务器查询ID 转换后域名的NAPTR 记录。
4) DNS 递归服务器完成该域名NAPTR 记录的查询,向解析器返回多条与该域名相关的
NAPTR 记录。(注意,返回的是该域名所有相关的NAPTR 记录)。
5) 解析器收到这些返回的NAPTR 记录后,根据“DS ”类型,从这些NAPTR 记录筛选属
于“DS ”类型的NAPTR 记录。
6) 解析器得到包含“DS ”类型的(多条)NAPTR 记录后,从这些记录中提取所包含的信
息服务器的地址信息。
7) 解析器将(多个)信息服务器的URI ,以字符串向量的类型返回给应用程序。 解析器支持发现服务的接口函数如下:
六、数据接口
应用程序(浏览器、客户端)通过查询接口获得物品信息服务器IP 或URL 后,使用IP 或URL 基于HTTP 协议,使用XML, 或者html 格式获取信息。
建议每个物品对应的数据对应一个唯一URL ,直接解析出URL 实现对单个物品信息的访问。
【前提】:信息服务器对外接口遵照REST 架构风格构建,在REST 风格的架构中每个物品都需要被抽象成为一个资源,每个资源都有唯一的URI ,以下描述默认阅读人员熟悉REST 架构及其中的概念。
【名词约定】:
TID :物品码,用以唯一标识某一物品的编码
IS_IP:信息服务器IP 地址,可通过解析平台解析获得某一TID 对应的信息服务器IP
物品资源根(TR_ROOT):信息服务器中每一个物品的资源都有一个唯一的URI ,URI 由三部分构成:协议头、信息服务器地址、相对路径。物品资源根加上TID 即可构成相对路径,以http://IS_IP/rest/furnitures/TID为例,相对路径为rest/furnitures/TID,物品资源根即为rest/furnitures/
【操作流程】:
1、 信息服务器每创建一个新的物品记录时都需要向注册服务器进行注册,注册内容包括:
TID 、IS_IP、物品资源根,
2、 应用程序(浏览器、客户端)得到物品码后,通过查询接口获得某TID 的IS_IP以及物
品资源根
3、 应用程序构造物品资源URI ,并向该发送http GET请求包,物品资源URI 形式如下: http://IS_IP/TR_ROOT/TID
4、 信息服务器返回关于该物品的所有信息,信息以XML 形式返回,应用程序解析XML 数
据包得到物品的信息。
【说明】:
1、 优点:此方案使得信息服务器在构建URI 时得到了充分的自由,无需将URI 写死,同时
减少了客户端的工作量,需要获知该物品对应的信息服务器地址及URI ,仅通过解析服务器解析得到IS_IP及TR_ROOT即可
2、 缺点:增加了平台工作量,需要注册服务器及解析服务器增加对物品资源根的支持
参考标准和文档:
1. 《用于信息处理产品和服务数字标识格式规范_v12》
2. 《基于互联网的射频识别标签信息查询与发现服务》