追溯平台的ONS设计主要包括对ONS基础框架的设计与ONS功能模块的设计。
1.ONS基础框架
与DNS一样,ONS也是一个分布式递归查询系统。ONS系统主要由EPC映射信息、ONS客户端和ONS服务器组成,其中ONS客户端包括本地ONS解析器(Local ONS Resolv⁃er)、EPC处理应用软件和本地ONS缓存(ONS Cache)三部分,而ONS服务器是一个树型系统,从顶端的ONS(RootONS)根服务器,到下级的各级ONS服务器。在本地缓存和ONS服务器上都保存有不同EPC与URI之间的映射信息,以方便不同情况下的查询。如图11-22所示。
图11-22 ONS基本框架图
ONS客户端中的本地ONS解析器负责ONS查询前的编码和查询语句格式化工作,它将需要查询的EPC转换为EPC域前缀名,再将EPC域前缀名与EPC域后缀名结合起来,形成一个完整的EPC域名,最后由本地ONS解析器负责用这个完整的EPC域名进行ONS查询。在进行ONS查询时,首先在本地ONS缓存中进行,如果本地ONS缓存中没有要查询的映射记录时再向上一级ONS服务器进行查询。
ONS客户端中的本地ONS解析器负责ONS查询前的编码和查询语句格式化工作,它将需要查询的EPC转换为EPC域前缀名,再将EPC域前缀名与EPC域后缀名结合起来,形成一个完整的EPC域名,最后由本地ONS解析器负责用这个完整的EPC域名进行ONS查询。在进行ONS查询时,首先在本地ONS缓存中进行,如果本地ONS缓存中没有要查询的映射记录时,再向上一级ONS服务器查询。
2.ONS功能模块的设计
(1)EPC注册与注销
EPC注册是产品进入物联网的起始环节,将EPC注册到ONS中,才能达到信息共享的目的。EPC被删除时,需要把EPC从ONS中注销,才能保证信息的准确性。
EPC注册是指将EPC和EPCIS地址进行绑定,形成一对一或一对多的映射关系,并把这些映射信息保存到ONS服务器中。EPC注册分为根ONS注册和本地ONS注册。根ONS注册是指将EPC中的厂商识别代码和本地ONS地址的映射信息注册到根ONS。本地ONS注册是指将EPC中的对象分类代码和保存产品信息的EPCIS服务器地址的映射信息注册到本地ONS。
EPC注销是指解除EPC和EPCIS地址之间的映射,并从ONS服务器中删除。EPC注销分为根ONS注销和本地ONS注销。根ONS注销是指将EPC中的厂商识别代码和本地ONS地址的映射信息从根ONS中注销。本地ONS注销是指将EPC中的对象分类代码和保存产品信息的EPCIS服务器地址的映射信息从本地ONS中注销。
(2)ONS查询算法设计
根据ONS工作流程,ONS查询算法的总体框架图如图11-23所示。
图11-23 ONS查询算法的总体框架
从图中可以看出,该算法分为三个步骤:
1)模拟生成各种不同版本的EPC编码;
2)将EPC码作为ONS解析器的入口参数,由ONS解析器解析后,生成URI送至ONS服务器;
3)ONS服务器将ONS解析器发送到URI查找并生成URL。
计算机根据所生成的URL去访问相应的EPCIS服务器(即PML服务器),EPCIS反馈相关的PML信息,实现EPC物联网中的信息交换。
3.ONS模拟生成EPC码
模拟生成EPC码是ONS查找算法的第一步,实际情况下只有在EPC Global组织及公司企业生产上应用。新一代的EPC编码是与UPC相兼容的编码标准,现行的EPC编码分别为64位、118位及256位三种版本,各种版本号、类型号略有区别,见表11-4。
表11-4 EPC编码大体结构
EPC编码生成流程图如图11-24所示。其中结构体EPC[]的位数不仅取决于版本号,也与类型号有密切关系,这是因为由版本号决定其位数,但是由类型号决定位数的分配问题,这样才能够确定Header[]、EPC Mngr[]、EPC ObjCls[]、SerNo[]的具体大小。
4.ONS解析EPC码
此时得到的EPC码仅仅是一串二进制码,没有任何意义,需要将其进行分割。首先根据EPC码的标头预先识别EPC码的版本,然后将其二进制数进行分割,并转换为“十进制数.十进制数.十进制数”的形式,最后在头部添加“urn.epc”,转化为URI格式。头字段的二进制值见表11-5,可以看出第1、2同时为0的情形下,不属于EPC-64。
(www.xing528.com)
图11-24 EPC码生成流程图
表11-5 EPC码头字段的二进制值
ONS端得到URI后,需要处理为URL,分为清除、颠倒数列、添加几大步骤,最后查询URL对应的NAPTR记录并返回。以64位的二进制EPC编码01000000000110000010010 01001001000011001001000101010110110010101为例,ONS对EPC编码的完整处理算法如下:
1)将二进制的EPC编码转化成8进制整数,并在头部添加”urn:epc”,转化为URI格式:urn:epc:1.1554.37401.2272661。
2)对URI记录进行持久化存储或者进行本地缓存存储。
3)将URI格式转化成最终的URI格式,包括以下几个步骤:
清除urn:epc:,得到1.1554.37401.2272661;
清除EPC序列号,得到1.1554.37401;
颠倒数列,得到37401.1554.1;
添加“onsroot.org”,得到最终正确的URL:37401.1554.1.onsroot.org;
4)将生成的URL返回给本地服务器以用于进行下一步查询。
具体算法流程如图11-25所示。
5.ONS生成URL
ONS端得到URI后,需要处理为URL,分为清除、颠倒数列、添加几大步骤,最后查询URL对应的NAPTR记录并返回。
图11-25 ONS查找算法流程
一个典型的ONS查询过程如图11-26所示。ONS查询步骤如下:
1)应用程序将一个EPC编码送到本地系统;
2)本地系统对EPC码进行格式化转换,发送到本地的ONS解析器;
3)本地ONS解析器把URI转换成合法的ONS域名格式;
4)本地ONS解析器基于ONS访问本地的ONS服务器(缓存ONS记录);
图11-26 ONS查询过程
5)如果发现其相关的ONS记录,则直接返回DNS NAPTR记录,否则转发给上级ONS服务器;
6)上级ONS服务器利用DNS服务器基于DNS域名返回给本地ONS解析器一条或者多条对应的NAPTR记录,并将结果返回给客户端应用程序;
7)应用程序根据相应的路径,访问相应的信息或者服务。
由ONS的查询过程可见,它主要提供了两种功能:一是实现了产品信息或其对应的EPC信息服务地址信息的存储;二是通过根ONS服务器组成ONS网络体系,提供了对产品信息的查询定位以及企业间的信息交互和共享。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。