物联网标识体系 Ecode 解析系统技术要求
前言
本标准按照 GB/T 1.1—2009 给出的规则起草。
本标准由全国物品编码标准化技术委员会(SAC/TC287)提出并归口。
本标准起草单位:中国物品编码中心、中国科学院计算机网络信息中心、合肥金维思特智能科技有通运输部水运科学研究院、复旦大学、深圳市标准技术研究院、烟台东方瑞创达电子科技有限公司、北京农业信息技术研究中心。
本标准主要起草人:张旭、田娟、田野、王姝、刘阳、李晖、胡世伟、刘佳、刘巍、陈浩、仲伟、刘小峰、王成杰、张健、杨邵鹏、王俊宇、李继春、李凯迪、期治博、肖文康、苏巍、孙传恒、杨信廷、韩树文、张楠、杜景荣、王尚书。
Ecode 解析规范
1 范围
本标准规定了 Ecode 解析体系架构和功能要求。
本标准适用于物联网领域中采用 Ecode 编码方案的解析系统的设计与实现,其他封闭系统可以参照本标准。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 31866 物联网标识体系 物品编码 Ecode
3 术语和定义
GB/T 31866界定的以及下列术语和定义适用于本文件。
3.1 NAPTR 资源记录 naming authority pointer record
一种 DNS 资源记录类型,是一个基于重写规则的正则表达式。
注:参见 RFC2915。
3.2 A资源记录 A record
一种 DNS 资源记录类型,是一个指向主机名对应的 IPv4地址的记录。
注:参见 RFC1035。
3.3 AAAA 资源记录 AAAA record
一种 DNS 资源记录类型,是一个指向主机名对应的 IPv6地址的记录。
注:参见 RFC3596。
3.4 标识识别域名 identifier recognition domain name
Ecode 编码中版本(V)和编码体系标识(NSI)根据特定的转换规则,转换而成的 FQDN 格式的名字。
3.5 编码体系解析服务 numbering system resolve service
处理所有 Ecode 编码方案的解析请求,完成版本V和编码体系标识 NSI 与任意编码体系的对应,并完成标识识别域名的转换的过程。
3.6 编码数据结构解析服务 data structure resolve service
3.7 主码解析服务 master data code resolve service
通过主码域名获得相关物品信息的信息服务器地址的过程,使其能够从正确的信息服务器中获取相关信息。
3.8 主码域名 master data domain name
Ecode 编码中主码根据特定的转换规则,并与相应标识识别域名进行组合,转换而成的 FQDN 格式的名字。
4 缩略语
下列缩略语适用于本文件。
DNS:域名系统(Domain Name System)
DSRS:编码数据结构解析服务(DataStructureResolveService)
FQDN:完全合格域名(FullyQualified Domain Name)
IPv4:互联网协议第四版(InternetProtocolversion4)
IPv6:互联网协议第六版(InternetProtocolversion6)
MD:主码(MasterDatacode)
NAPTR:名称权威指针(NamingAuthorityPointer)
NSI:编码体系标识(Numbering SystemIdentifier)
URI:统一资源标识符(Uniform Resource Identifier)
V:版本(Version)
5 解析体系架构
Ecode 编码解析服务用于将 Ecode 与其对应的网络资源进行关联,定位某一对象对应的信息服务器地址。根据 Ecode 编码类型的不同,解析体系架构由 Ecode 标头结构解析系统和 Ecode 通用结构解析系统组成。
Ecode 标头结构编码解析系统为三层架构,依次为编码体系解析、编码数据结构解析和主码解析。
Ecode 通用结构编码解析系统为二层架构,依次为编码体系解析和通用结构主码解析。
Ecode 解析体系架构如图1所示。
图1 Ecode 编码解析体系架构

Ecode 标头结构编码解析服务功能要求
6.1 Ecode 标头结构编码解析流程
Ecode 标头结构编码解析由编码体系解析、编码数据结构解析和主码解析三个步骤组成,解析流程如图2所示,解析步骤如图3所示。该部分涉及域名解析的情况,均参考 RFC1035、RFC2915和
RFC 3596。
图2 Ecode 标头结构编码解析流程

图3 Ecode 标头结构编码解析步骤

6.2 编码体系解析服务功能要求
编码体系解析服务通过编码体系解析服务器,处理 Ecode 编码的解析请求,完成V和 NSI 与编码体系的对应。根据V和 NSI 识别 Ecode 编码类型,将V、NSI 和 MD 从 Ecode 整体编码中分离,并转换为标识识别域名。转换规则为:NSI.V.iotroot.com。
注:http://www.iotroot.com/为国家物联网标识管理与公共服务平台,该平台提供 Ecode 的注册与管理、数据解析、信息查询等功能。
示例:Ecode 编码:100036901234567892,其中V为1,NSI 为0003。
V和 NSI 转换为标识识别域名:0003.1.iotroot.com。
6.3 编码数据结构解析服务功能要求
6.3.1 概述
编码数据结构解析服务通过编码数据结构解析服务器,提供任意标识识别域名到与其对应的主码域名转换规则的解析,并完成 Ecode 编码到主码域名的转换。
6.3.2 查询响应步骤
编码数据结构解析服务的查询响应步骤:
a) 步骤1:应用客户端将标识识别域名发送至编码数据结构解析服务器,查询 NAPTR 资源记录;
b)步骤2:编码数据结构解析服务器获得编码数据结构解析服务返回的 NAPTR 记录;
c) 步骤3:编码数据结构解析服务器选择 Pref 字段值最小的 NAPTR 记录;
(P步骤4:编码数据结构解析服务器提取所选 NAPTR 记录中 Regexp 字段的值,获得主码域名转换规则的正则表达式形式。
6.3.3 记录格式
编码数据结构解析服务器查询的主码域名转换规则是以一条或多条 NAPTR 记录格式存储的。
具体格式如表1所示:
表1 主码域名转换规则 NAPTR 记录
| Order | Pref | Flags | Service | Regexp | Replacement |
|---|---|---|---|---|---|
| 非负整数 | DSRS | 主码域名转换规则 |
Order 字段:该字段表示记录的顺序,必须置0。
Pref 字段:该字段用于表示服务的优先级,查询客户端应当优先选取 Pref 字段值小的记录。必须为非负整数。
Flags 字段:该字段为标记字段,本标准将该字段设置为“U”值。
Service 字段:该字段用于表明该条 NAPTR 记录所指明的服务类别,取值为“DSRS”,表示编码数据结构解析服务。
Regexp 字段:该字段为预先注册写入,用于存储编码体系标识的主码域名转换规则,根据
RFC2915,存储形式为正则表达式。
Replacement 字段:目前没有被本规范使用,根据 RFC 2915将其设置为".”。
示例:标识识别域名0oo3.1.iotroot.com 可注册 NAPTR 记录 Regexp 值为:
!-(.{7))(.{5))(.{1))!(NSI/V.iotroot.com!。
其中10003版本的编码结构为3段,总长度为13位,第1段为7位,第2段为5位,第3段为1位。
6.3.4 域名转换
编码数据结构解析服务器根据主码域名转换规则 NAPTR 记录中的正则表达式,完成主码域名的转换。转换规则为根据编码体系正则表达式,对主码进行分级,将各级转换成十进制数字,将其倒置,补充后缀。
示例:Ecode 编码:100036901234567892,其中V为1,NSI 为0003,MD 为6901234567892。
MD 的编码结构为:前7位代表厂商识别代码,第8-12位为项目代码,第13位为校验码。
主码域名转换规则:!-(.{7))(.《5))(.《1))!NSI.\V.iotroot.com!。
转换后的主码域名为:
2.56789.6901234.0003.1 .iotroot.com。
6.4 主码解析服务功能要求
6.4.1 概述
主码解析服务根据主码域名获得对应的信息服务器地址。
6.4.2 查询响应规范
主码解析服务的查询响应步骤:
步骤1:应用客户端将主码域名发送给主码解析服务器,查询A(或 AAAA)资源记录 IPv4(或 IPv6)地址或 NAPTR 记录 URI;
步骤2:应用客户端获取主码解析服务返回的 IPv4(IPv6)地址或 URI(即信息服务器地址)。
示例:Ecode 编码:100036901234567892。
换后的主码域名为:
2.56789.6901234.0003.1 .iotro0t.com。
从 NAPTR 资源记录中提取的信息服务器地址为:http://www.690company.example.com。
Ecode 通用结构编码解析服务功能要求
7.1 Ecode 通用结构编码解析流程
Ecode 通用结构编码解析流程分为编码体系解析和 Ecode 平台主码解析二个步骤,解析流程如图4所示,解析步骤如图5所示。
图4 Ecode 通用结构编码解析流程

图5 Ecode 通用结构编码解析步骤

7.2 编码体系解析服务功能要求
编码体系解析服务通过编码体系解析服务器,处理来自应用客户端的 Ecode 编码的解析请求,完成V和 NSI 与编码体系的对应。对于 Ecode 通用编码,提取V和 NSI 并返回应用客户端。
示例:Ecode 编码:1009612345678901234567890。
分离后结果:V为1,NSI 为0096,MD 为12345678901234567890。
7.3 主码解析服务功能要求
7.3.1 概述
主码解析服务根据来自应用客户端的V、NSI 和 MD 字段,向 Ecode 平台主码解析服务器查询编码对应的信息地址,并返回应用客户端。
7.3.2 查询响应步骤
主码解析服务的查询响应步骤:
a) 步骤1:应用客户端将分离出的V、NSI 和 MD 发送给 Ecode 平台主码解析服务器;
b)步骤2:Ecode 平台主码解析服务器根据V定位版本查询服务器地址;
c)(P步骤4:Ecode 平台主码解析服务器根据 MD 查询信息地址;
步骤5:应用客户端获取 Ecode 平台主码解析服务器返回信息地址。
示例:Ecode 编码:1009612345678901234567890。
查询结果:http://www.example.iotroot.com/E=1009612345678901234567890。
参考文献
[1] RFC 1035 Domain names — Implementation and specification
[2] RFC 2915 The Naming Authority Pointer (NAPTR) DNS Resource Record
[3] RFC 3596 DNS Extensions to Support IP Version 6