基于ONS和EPCIS的企业物联网中间件技术研究与设计
2015-02-04朱哲夫赵浩翔
朱哲夫 赵浩翔
本文分析了ONS和EPCIS的特性,对其层次构架和运行原理进行了解析。进而对物联网系统中间件进行了整体设计,EPCIS服务设计、EPCIS子模块的设计,以查询控制接口的功能实现为例进行了阐述,最后探讨了ONS的核心算法。
【关键词】物联网 ONS EPCIS 设计 软件开发
1概述
物联网系统(EPC)是产品电子代码的简称,物联网系统主要由六个基本的子系统组成,即编码标准、标签、识读器、应用层事件中间件、ONS(对象名解析服务)和EPCIS(物联网信息服务),其中,ONS在物联网中的作用是给物联网中间件指明产品信息的存储服务器,其实质是为物联网中间件和物联网信息服务之间提供交互桥梁,同时借助DNS,让物联网能够以现有的因特网拓展到其他网络领域。而EPCIS的主要作用是实现EPC中数据的共享。通过EPCIS提供的模块化可扩展数据接口,能实现商品流程步骤之间的关联,实现对商品状态的实时追踪。因此ONS和EPCIS是物联网中非常重要的环节,其中,安全性和准确性是关键问题。
2 ONS与EPCIS特性分析
2.1 ONS特性分析
从服务类型上看,ONS服务主要分为两大类:静态ONS服务和动态ONS服务。前者通过对商品电子产品码的查询来获取其静态的信息。而后者则侧重于对商品在供应链中流转信息的查询。从原理上看,ONS实现了一个EPC到多个URI的映射,其运行模式类似于DNS,因此决定了ONS的系统结构也是分布式的, 包含了根ONS、ONS服务器、本地ONS和本地ONS缓存与映射。从功能上看,所有的ONS查询都要通过根ONS来完成,ONS的主要作用则是回应本地查询并返回URI。设计ONS缓存的目的则是减少查询次数,把常用URI放入缓存之中,较少对外操作次数,减小ONS服务器负担。整个ONS系统主要处理电子产品码和与之对应的EPCIS信息服务器PML地址的映射管理和查询,其物理模型类似于DNS构架,因此可以参照DNS构架来实现ONS服务。
2.2 EPCIS特性分析
从物联网网络层次体系上看,EPCIS处于核心地位,在整个的体系结构中也位于上层位置,并在结构体系中高于其他中间件。在EPCIS中主要定义的事件类型有4类:对象事件、聚合事件、统计事件和交易事件,这4类事件涵盖了物联网工作中主要的事件类型。从EPCIS的功能上看,关键性作用是定义物联网中的各类服务,最主要的服务类型是捕获服务(针对底层ALE事件)和查询服务(包含查询订阅服务、核心查询服务、查询控制服务)。从系统结构的角度看,EPCIS也是一种分层结构,在结构体系的底层定义所需要的相应数据格式,在上层完成对各类服务接口的绑定和实现。EPCIS的目标则是结合ONS组件,实现相关数据在内部和跨企业的共享。因此企业间信息交互中间件的开发就必然要结合EPCIS服务和ONS服务。这也是本文要重点探讨的内容。
3 EPCIS子模块的设计
实现EPCIS中功能实现主要由各类接口和模块的组合所控制,主要涉及到的模块包括:数据捕获和数据查询(含查询回调、数据查询和查询控制),现分别设计如下:
3.1 捕获数据模块
该模块中的业务流程可概括性的描述为从数据发送端(ALE)到EPCIS服务器,再由EPCIS服务器对接收到的文档进行解析从而获得数据信息,在完成给定的校验过程后存库。JMS和MDB所依据的规范相同,具有良好的整合性,而且各自对后续可能的服务整合能提供完美支持。
3.2 查询模块
查询模块包含了标准查询接口、查询控制接口和查询回调接口三类。第一类标准查询接口可广泛应用,具有良好的通用性,而后两类接口则是要针对客户端和服务器的特点进行定制。必须定义一类控制结果集数量的Exception,以某个给定的数值来控制查询结果集,当超出这个临界阈值时就提示缩小查询范围以保证查询结果的正确性。
4 ONS核心算法探讨
由于ONS是基于DNS和互联网,其作用主要是完成EPC到多个URI之间的映射关系。与之对应的,电子产品码的编码技术则是遵循SGTIN格式,其原理类似于DNS域名分配。因此ONS的核心算法也可以参照DNS的解析方式来设计。本文中拟设计基于椭圆曲线的加密方式,步骤如下:
(1)客户端应用程序向ONS发送包含客户端应用程序ID号的查询请求。
(2)ONS根据接收到的ID号,选取一个椭圆曲线y2=x3+ax+b,该曲线的特征由ONS和客户端共同遵守,该椭圆曲线为有限域GF(p)上的一条椭圆曲线,由参数(a,b,P)所决定。
(3)ONS在闭区间[1,P-1]上产生一个随机整数x,按公式X=xg进行转换,并将其传回给客户端。
(4)将ONS接收到的ID号和EPC编码重组,可按字符串直接连接的方式,得到一组新的编码,并将其映射于椭圆曲线上,获得某个对应的坐标M。
(5)在客户端也产生2个在闭区间[1,P-1]内的随机数yg和P+yX,并发回给ONS。
(6)按如下方式对ONS接收到的信息进行解码:(P+yX)-xyg=P+yxg=P,借此定位M,从而获得客户端和ONS之间的对应关系,完成验证。
(7)ONS将查询结果以及ID号返回给客户端,客户端通过比对两次接收的ID号是否相同来判定是否是自己所发送的查询请求,否则抛弃该查询结果。
5 小结
物联网中间件的设计是物联网实现系统间交互的关键环节。本文对ONS和EPCIS的特性进行了分析,对中间件功能的实现也进行了一些探讨。在后续研究中,应关注新的物联网规范标准,因为这是设计物联网系统的基础,进而在这些规范基础上对中间件进行调整和扩充,从而提高物联网的运行效率。
参考文献
[1]聂晓.基于云计算的物联网安全研究[J].工矿自动化,2013,39(4):47-50.
[2]董晓荔.EPC网络中的ONS服务[J].微电子学与计算机,2007(2):150-155.
作者单位
南京信息工程大学信息与控制学院 江苏省南京市 210044endprint