物联网技术导论
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 信息网络系统

2.4.1 中间件

中间件(Middleware)是物联网的神经系统,是连接标签读写器和应用程序的纽带,用于加工和处理来自读写器的所有信息和事件流,包括对标签数据进行过滤、分组和计数,以减少发往信息网络系统的数据量,并防止错误识读、漏读和冗余信息的出现。中间件是一种面向消息的程序,信息以消息的形式,从一个程序传送到另一个或多个程序。其传送方式可以是异步方式,也可以是同步方式。

不同应用程序对信息处理的需求大相径庭,而且物联网处在发展的初期,随着它的不断完善和成熟,会对各应用程序进行改进和升级,因此对中间件的要求比较复杂。物流网中间件也被定义成具有一系列特定属性的“程序模块”或“服务”,并被用户集成而满足他们的特定需求,且能够支持不同群体对模块的扩展需求。根据Auto-ID中心提出的中间件规范,中间件由读写器接口、程序模块及应用程序接口三个部分组成,物流网中间件整体框架如图2.6所示。

图2.6 中间件整体

程序模块通过两个接口和外界交互:读写器接口和应用程序接口。其中读写器接口提供与标签读写器和传感器的连接;应用程序接口(Application Programming Interface, API)使中间件与外部应用程序连接,通常为企业正在使用的应用程序,也包括新的特定应用程序,或其他中间件。从应用程序端使用中间件所提供的一组通用的应用程序接口(API),即能连到读写器读取标签数据。当存储标签信息的数据库软件或后端应用程序增加或改由其他软件取代,或者 RFID 读写器种类增加等情况发生时,应用端不需要修改也能处理,从而降低系统维护的复杂度。

2.4.2 对象名称解析服务(ONS)

作为物联网组成技术的重要一环,EPC信息发现服务包括对象名称解析服务 ONS(Object Name Service)以及配套服务。其作用就是通过电子产品码,获取 EPC数据访问通道信息。全球 ONS服务是 EPC Global委由 VeriSign营运,现已设有14个资料中心用以提供ONS搜索服务,同时建立了7个ONS服务中心,共同构成了全球电子产品码访问网络。基于这一网络,企业可以和网络内与之相配合的任一企业,进行供应链信息资料的交换。随着 RFID技术的不断成熟和EPC Global标准的不断完善,众多企业对RFID技术的应用将由企业内部的闭环应用过渡到供应链的开环应用上,ONS服务作为物联网框架下的关键技术,有着广阔的应用前景。

单个企业维护的本地 ONS服务器由两部分功能,一是实现与产品对应的EPC信息服务地址信息的存储,二是提供与外界交换信息的服务,并通过根ONS服务器进行级联,组成 ONS网络体系。这一网络体系主要完成功能包括:企业内部的本地 ONS服务器实现其地址映射信息的存储,向根 ONS服务器报告该信息并获取网络查询结果。

当前ONS服务包含静态ONS和动态ONS两类服务。静态ONS服务通过电子产品码查询供应商提供的该类商品的静态信息;动态ONS服务通过电子产品码查询该类商品的更确切信息,比如在供应链中经过的各个环节上的信息。ONS的作用是将一个 EPC 映射到一个或多个 URI,通过这些 URI 可以查找到在 EPCIS服务器上关于此产品的其他详细信息。ONS中存有制造商位置的记录,而DNS则是到达EPCIS服务器位置的记录,因此ONS的设计运行在DNS之上。与DNS相似,ONS系统的层次也是分布式的,主要由根ONS、ONS服务器、本地ONS、本地ONS缓存(Cache)以及映射信息组成。

根 ONS服务器处于 ONS 层次中的最高层,它拥有最高层域名,因此基本上所有的ONS 查询都要经过它。ONS服务器用于回应本地 ONS 查询,并返回查询成功的URI。ONS 本地缓存则是将经常、最近查询的URI 保存起来,以减少对外查询次数,可极大地提高查询效率并减小 ONS服务器的压力。而映射信息则是ONS系统所提供服务的实际内容,它指定了EPC编码与其相关的URI的映射关系,并且分布存储在不同层次的各个ONS服务器中。也就是说,ONS系统最大限度地利用了现有互联网体系结构中的DNS(Domain Name System,域名系统)。

DNS 域名解析服务对客户端来说是一个黑盒子,通过 DNS 提供的简单API,即可获取地址解析信息,而无须关心 DNS的具体实现。在实际应用中,DNS的实现是分层管理、分级分配的,需要足够健壮的架构,满足其对扩展性、安全性和正确性的要求。由于 ONS系统主要处理电子产品码与对应的EPCIS信息服务器PML地址的映射管理和查询,而电子产品码的编码技术采用了遵循 EAN-USS的SGTIN 格式,和域名分配方式很相似,因此完全可以借鉴互联网络中己经很成熟的DNS技术思想,并利用 DNS 构架实现 ONS服务。

ONS工作流程如下:

(1)读写器从一个标签上读取一个电子产品码;

(2)读写器将这个电子产品码送到本地服务器;

(3)本地服务器对电子产品码进行相应的URI 格式转换,发送到本地的ONS解析器;

(4)本地ONS解析器把URI转换成DNS域名格式;

(5)本地 ONS 解析器基于 DNS 域名访问本地的ONS服务器(缓存 ONS记录信息),如果发现其相关ONS记录,则直接返回DNS NAPTR记录,否则转发给上级ONS服务器(DNS服务基础架构);

(6)DNS服务基础架构基于DNS域名返回给本地ONS解析器一条或多条对应的DNS NAPTR记录;

(7)本地 ONS 解析器基于这些 ONS 记录,解析获得相关的产品信息访问通道;

(8)本地 ONS服务器基于这些访问通道访问相应的EPCIS服务器或产品信息网页。

ONS实现架构主要包括ONS服务器网络和ONS解析器两部分。ONS服务器网络负责分层管理 ONS 记录,并对所提出的ONS 记录查询请求进行响应;ONS 解析器负责完成电子产品码到 DNS 域名格式的转换,以及解析 DNS NAPTR 记录,获取相关的产品信息访问通道。ONS服务对整个物联网来说是实现全球产品信息定位和跨企业间信息流转的中心枢纽。不过目前ONS服务规范对产品信息的定位只能提供到产品级别,其单一产品的跟踪映射信息没有维护,因此对单一产品的信息访问需要企业自身的应用程序来实现。

2.4.3 实体标记语言(PML)

物联网中所有关于产品有用的信息都用一种新型的标准的计算机语言——实体标记语言(Physical Markup Language, PML)所书写。PML是一种交流产品数据的交换式语言,是基于人们广为接受的可扩展标记语言(eXtensible Markup Language, XML)发展而来的,它已被Auto-ID中心开发成一种开放的标准,这样全世界任何地方的供应商就可以以一种能被大家所理解的统一、高效的方式来传输产品的信息,从而避免了在 N 个竞争语言(每一种应用于某个特定的工业领域)之间 N×N的转换问题。PML 将会成为描述所有自然物体、过程和环境的统一标准,其应用非常广泛,并将进入到所有行业。就像互联网的基本语言 HTML(Hypertext Markup Language,超文本链接标示语言)一样,PML还会不断发展演变为更复杂的一种语言。为了便于物理标识语言的有序发展,人们已经将 PML 分为 PML 核心与 PML 扩展两个主要部分来进行研究。PML 核心提供通用的标准词汇表来分配直接由 Auto-ID 基础结构获得的信息,如位置、组成以及其他遥感勘测的信息。PML 扩展用于将非 Auto-ID中心基础结构产生的或其他来源集合成的信息结合成一个整体。第一个实现的扩展是 PML 商业扩展。PML 商业扩展包括丰富的符号设计和程序标准,使组织内或组织间的交易得以实现。有必要说明的是,PML 作为一种交流语言并不规定具体的产品数据一定要以PML文件存储在本地,也不要求指出哪个数据库会被使用,同样也不用指明数据最终存储所在的表或域的名字。

PML 被设计成用于人及机器都可使用的自然物体的描述标准,是物联网网络信息存储、交换的标准格式。PML 提供一种通用的方法来描述自然物体,是一个广泛的层次结构。例如,一罐可口可乐可以被描述为碳酸饮料,它属于软饮料的一个子类,而软饮料又在食品大类下面。当然,并不是所有的分类都如此简单,为了确保 PML 得到广泛的接受,Auto-ID中心依赖于标准化组织已经做了大量工作,比如国际重量度量局和美国国家标准和技术协会等标准化组织制定的相关标准。除了那些不会改变的产品信息(如物质成分)之外,PML 包括经常性变动的数据(动态数据)和随时间变动的数据(时序数据),如船运的水果的温度,或者一个机器震动的级别等。时序数据在整个物品的生命周期中,离散且间歇地变化,一个典型的例子就是物品所处的地点。所有这些信息均可通过PML文件得到。例如,公司可以设置一个触发器,以便当有效期将要结束时,降低产品的价格。PML文件存储在一个PML服务器上,此PML服务器将配置一台专用的计算机,为其他计算机提供它们需要的文件,并由制造商维护,存储制造商生产的所有商品的信息。

PML 语言在物联网系统中主要充当不同部分的共同接口。图2.7举例说明了 Savant(分布式网络软件)、一个第三方应用程序(如企业资源规划(Enterprise Resource Planning, ERP)或制造执行系统(Manufacturing Execution System, MES))以及PML Server之间的关系。

图2.7 PML充当在物联网各部分的接口

2.4.4 EPC信息服务(EPCIS)模块

EPCIS模块系统框架如图2.8所示。EPCIS模块是物联网中的核心模块,在整个物联网的体系结构当中处于比较上层的位置。EPCIS的目标是使不同的应用,利用EPC的数据实现跨企业的数据共享。EPCIS的分层结构如图2.9所示。在 EPCIS服务器端,定义了整个物联网中所有的核心服务,这样能够使用户开发自己的客户端来调用相应的服务模块,实现 EPC系统的快速开发,有利于物联网的推广。

图2.8 EPCIS系统框架

图2.9 EPCIS分层结构图

首先,EPCIS内部定义了一系列的事件(EPCIS Event),包括:

(1)对象事件(Object Event):物理意义上的读写器读到标签的事件即为一个对象事件;

(2)聚合事件(Aggregation Event):若干个带有标签的物品被放入一个容器的事件被定义为聚合事件;

(3)统计事件(Statistics Event):统计某种标签标识的物品的库存容量称为统计事件;

(4)交易事件(Transaction Event):存在这样一种情况,一次标签识读标识某种交易的发生,那么这一类事件被定义为交易事件。

其次,EPCIS的功能定义了物联网中一系列的服务,这些服务对于构建一个标准的物联网系统起着至关重要的作用。这些服务主要包括两种:捕获服务和查询服务。其中捕获服务的作用是捕获底层的ALE事件,从而达到对标签的识读状况进行间接监听的目的;查询服务又分为核心查询、查询订阅以及查询控制等三种服务。

1.核心查询服务

核心查询服务的特点是对电子标签的查询状况进行实时响应,方便用户即时查询某个或者某一类电子标签的状态,从而了解到当前物品的状态。

2.查询订阅服务

查询订阅服务的特点是能够提供一系列的订阅规则,包括标签种类、事件类型、订阅生效时间、订阅周期等,供用户订阅。用户在提交订阅请求之后,当前服务能够根据用户制定的订阅规则周期性的生成查询报告并发送给客户端,能够使客户方便地了解到所感兴趣的信息。

3.查询控制服务

查询控制服务对客户端提出的查询请求进行控制,达到对一些极端情况或者异常情况的处理。从系统结构角度上划分,EPCIS模块是一种分层的结构,底层定义基本的数据格式,上层定义提供的服务接口以及绑定的技术实现。