物联网中的通信语言PML
作者:陈宝震 焦宗东
来源:RFID技术与应用
日期:2008-01-25 08:49:33
摘要:随着RFID的大规模应用,EPC物联网也得到了很大的发展。在此物联网络中,相互通信的公共语言是PML。PML是在XML的基础上扩展而来,用于描述自然物体、处理过程及环境情况。本文详细地讲述了PML语言的概念、组成、设计,并给出了其应用实例。
0 引言
RFID是近年来的一项热门技术,现在它广泛应用于物流、交通、商业、管理等各个领域。同时人们将RFID中的各个阅读器(Reader)与Savant、ONS、EPCIS连接起来,借助于互联网,便组成了所谓的实物互联网(Internet of Things,亦称物联网)。
经过近40年的发展,Internet互联网取得了巨大的成功,人们对于其WWW万维网的语言HTML(Hypertext Markup Language,超文本链接标示语言)了解颇多,最为常见的现象是电脑浏览器所显示的网页地址是以.htm(或.html)为结尾的。以现有的成熟的互联网技术为基础,人们又新建立了另外一种不同于互联网功能且比互联网更为庞大的物联网,该系统可以自动的、适时地对物体进行识别、追踪、监控并触发相应事件。正如互联网中HTML语言已成为WWW的描述语言标准一样,物联网中所有的产品信息也都是在以XML(eXtensible Markup Language,可扩展标示语言)基础上发展的PML(Physical Markup Language,物体标记语言)来描述。PML被设计成用于人及机器都可使用的自然物体的描述标准,是物联网网络信息存储、交换的标准格式。所惜的是人们对此关注不够,了解并不太多。
本文将从EPC系统开始讲起,并全面阐述PML的概念、组成、设计,并给出其应用,以便读者全面了解PML语言。
1 EPC系统概述
EPC系统是以由大量联网的阅读器和无数移动的标签组成的简单的RFID系统为基础,并结合已有的计算机互联网网络技术、数据库技术、中间件技术等,构建出一个可以覆盖全球万事万物的网络。通过Internet,全球的计算机可以进行互联,实现信息资源共享,协同工作,而在RFID和Internet的基础上,物联网可以将数量更为庞大的物品建立起信息联接,可以为商业、物流、仓储、生产、家庭等提供更为先进的信息化管理手段。
如图1所示,通过互联网,EPC系统把每个含有标签的自然物体(汽车、手机、相机等)自动无缝的连接起来。
EPC系统主要由以下6个部分构成。
(1)EPC编码标准:标签的编码现在应用较多的主要有64位、96位及256位三种。编码分为4部分:使用协议的版本号、物品生产厂商的编号、产品的类型编号及单个物品的SN号。每个EPC编码具有全球唯一性,其最大的优点在于它的号码数量达2n幂次级,足以分配到全球任一物品。
(2)EPC标签:物体贴上EPC标签后,通过天线,可以将芯片内部储存的数据信息非接触传送出去。标签分为有源、无源及半无源型,其应用距离有较大差别。
(3)阅读器:读取或写EPC标签中的数据信息,并负责将数据传送给Savant。
(4)Savant:负责过滤、整合阅读器送来的标签或传感器的数据流。其最大的好处在于极大的减少了传送到企业应用软件的数据量。
(5)ONS(对象名解析服务系统):类似于互联网中的DNS,它可提供EPC查找服务。将给定的EPC代码转化为一个或多个含有物品信息的主机的URL地址,以获取EPCIS服务器上更多的信息。
(6)EPC信息服务器(EPCIS,旧称PML服务器):内部存放了制造商生产的所有物品相关数据信息的PML文件。
从图1还可以看到,在整个EPC物联网上,物品信息流动过程是这样的。阅读器扫描到标签后,将读取的标签信息及传感器信息传递给Savant,经Savant过滤冗余信息后通过ONS送到EPC信息服务器。企业应用软件可通过ONS访问EPC信息服务器获取到此产品的相应信息,也可通过Savant经过安全认证后访问企业伙伴的产品信息。物联网上所有信息皆以PML文件格式来传送,其中PML文件可能还包括了一些实时的时间信息、传感器信息。
2 PML概念及组成
世界上的事物千千万万,未来的EPC物联网也将会庞大无比;自然物体会发生一系列事件,而附着的EPC标签里面也只是存储了EPC代码一串数字字符而已。如何利用EPC代码在物联网中实时传输这些EPC代码所代表的自然物体所发生的事件信息,EPC物联网通信语言的问题值得我们去思考。
我们发现现有的可扩展标示语言XML是一种简单的数据存储语言,它仅仅展示数据且及其简单,任何应用程序都可对其进行读写,这使得它很快成为了计算机网络中数据交换的唯一公共语言。XML描述网络上的数据内容及结构的标准,对数据赋予上下文相关功能。它的这些特点非常适合于物联网中的信息传输。为此,在XML语言的基础上发展了更好的适合于物联网的PML语言。
从图1中我们还可以发现PML是Savant、EPCIS、应用程序、ONS之间相互表述和传递EPC相关信息的共同语言,它定义了在EPC物联网中所有的信息传输方式。图2所示为PML语言的组成结构图,它是一个标准词汇集,主要包含了两个不同的词汇,PML核及Savant扩充。如果需要的话,PML还能扩展更多的其它词汇。
PML核是以现有的XML Schema语言为基础的。在数据传送之前,使用“tags”(标签,不同于RFID标签)来格式化数据,它是编程语言中的标签概念,如<pmlcore:Sensor>。同时,PML核应该被所有的EPC网络节点(如ONS、Savant及EPCIS)理解,使得数据传送更流畅、建立系统更容易。Savant扩充则被用于Savant与企业应用程序间的商业通信。
3 PML设计
现实生活中的产品丰富多样,很难以用一个统一的语言来客观的描述每一个物体。然而,自然物体都有着共同的特性,如体积、重量;企业、个人交易时又有着时间、空间上的共性。例如,苹果、橙子、统一鲜橙多,它们三者都属于食品饮料,而苹果、橙子同属于农作物,鲜橙多又是橙子加工后的商品;人们交易一箱苹果的时间、地点又是相同的。但是,自然物体的一些相关信息(如生产地、保质期)不会变化。同时,EPC物联网是建立在现有的互联网上的。为此,作为描述物体信息载体的PML语言,其设计有着独特的要求。
(1)开发技术
PML首先使用现有的标准(如XML、TCP/IP)来规范语法和数据传输,并利用现有工具来设计编制PML应用程序。PML需提供一种简单的规范,通过通用默认的方案,使方案无需进行转换,即能可靠传输和翻译。PML对所有的数据元素提供单一的表示方法,如有多个对数据类型编码的方法,PML仅选择其中一种,如日期编码。
(2)数据存储和管理
PML只是用在信息发送时对信息区分的方法,实际内容可以任意格式存放在服务器(SQL数据库或数据表)中,即不必一定以PML格式存储信息。企业应用程序将以现有的格式和程序来维护数据,如Aaplet可以从互联网上通过ONS来选取必需的数据,为便于传输,数据将按照PML规范重新进行格式化。这个过程与DHTML相似,也是按照用户的输入将一个HTML页面重新格式。此外,一个PML“文件”可能是多个不同来源的文件和传送过程的集合,因为物理环境所固有的分布式特点,使得PML“文件”可以在实际中从不同位置整合多个PML片断。
(3)设计策略
现将PML分为PML Core(PML核)与PML Extension(PML扩展)两个主要部分进行研究,
PML核用统一的标准词汇将从Auto-ID底层设备获取的信息分发出去,比如:位置信息、成分信息和其他感应信息。由于此层面的数据在自动识别前不可用,所以必须通过研发PML核来表示这些数据。PML扩展用于将Auto-ID底层设备所不能产生的信息和其他来源的信息进行整合。第一种实施的PML扩展包括多样的编排和流程标准,使数据交换在组织内部和组织间发生。
PML核专注于直接由Auto-ID底层设备所生成的数据,其主要描述包含特定实例和独立于行业的信息。特定实例是条件与事实相关联,事实(如一个位置)只对一个单独的可自动识别对象有效,而不是对一个分类下的所有物体均有效。独立于行业的条件指出数据建模的方式:即它不依赖于指定对象所参与的行业或业务流程。
对于PML商业扩展,提供的大部分信息对于一个分类下的所有物体均可用,大多数信息内容高度依赖于实际行业,例如高科技行业组成部分的技术数据表都远比其他行业要通用。这个扩展在很大程度上是针对用户特定类别并与它所需的应用相适应,目前PML扩展框架的焦点集中在整合现有电子商务标准上,扩展部分可覆盖到不同领域。
至此,PML设计便提供了一个描述自然物体、过程和环境的统一标准,可供工业和商业中的软件开发、数据存储和分析工具之用,同时还提供一种动态的环境,使与物体相关的静态的、暂时的、动态的和统计加工过的数据实现互相交换。
4 PML应用
EPC物联网系统的一个最大好处在于自动跟踪物体的流动情况,这对于企业的生产及管理有着很大的帮助。图4所示为PML信息在EPC系统中的流通情况,可以看出PML最主要的作用是作为EPC系统中各个不同部分的一个的公共接口,即Savant、第三方应用程序(如ERP、MES)、存储商品相关数据的PML服务器之间的共同通信语言。现考察具体实际应用情况。
一辆装有冰箱的卡车从仓库中开出,在其仓库门口处的阅读器读到了贴在冰箱上的EPC标签,此时阅读器将读取到的EPC代码传送给上一级Savant系统。Savant系统收到的EPC代码后,生产一PML文件,发送至EPCIS服务器或者企业的管理软件,通知这一批货物已经出仓了。
PML文件简单、灵活、多样,并且是人眼也可阅读、易理解的。这里对该PML文档中的主要内容作一扼要说明。
① 在文档中,PML元素在一个开始标签(注意,这里的标签不是RFID标签)和一个结束标签之间。例如:<pmlcore:observation>和</pmlcore:observation>等。
② <pmlcore:Tag> <pmluid:ID>urn:epc:1:2.24.400</pmluid:ID>指RFID标签中的EPC编码,其版本号为1,域名管理.对象分类.序列号为2.24.400,由相应EPC编码的二进制数据转换成的十进制数。URN为统一资源名称(Uniform Resource Name),指资源名称为EPC。
③ 文档中有层次关系,注意相应信息标示所属的层次。
文档中所有的标签都含有前缀“<”及后缀“>”。PML核简洁明了,所有的PML核标签都能够很容易的理解。同时PML独立于传输协议及数据存储格式,且不需其所有者的认证或处理工具。
在Savant将PML文件传送给EPCIS或企业应用软件后,这时候企业管理人员可能要查询某些信息,例如2007年7月12日这一天1号仓库冰箱进出的情况,实际情况如表1所示,表中的EPC_IDn表示贴在冰箱上的EPC标签的ID号。
表1 冰箱流动表
|
地点 | |||||
… |
1号工厂 |
2号工厂 |
1号仓库 |
… | ||
时间 |
… |
… |
… |
… |
… |
… |
20070711 |
… |
EPC_ID1 |
|
EPC_ID2 |
… | |
20070712 |
… |
|
EPC_ID1、2 |
EPC_ID1 |
… | |
20070713 |
… |
|
|
EPC_ID2 |
… | |
… |
… |
… |
… |
… |
… |
这里我们为便于理解,将其PML信息形象地绘制成一副三维空间图象,如图8所示,坐标轴名称分别为时间(戳)、物体EPC代码、地理位置。由于阅读器一般都事先固定好,地理位置便可用阅读器的ID号来表示,Rd_ID2代表1号仓库。
下面就是对PML文件信息进行查询了。采用下列查询语句:
SELECT COUNT(EPCno) from EPC_DB where Timestamp=”200707012” and ReaderNo=”Rd_ID2”
这里只是简单的采用SQL中的COUNT函数。但是实际的情况远远要比这个复杂的多,可能需要跨地区、时间,综合多个EPCIS才能得到所需的信息。
可以预见,PML的应用随着EPC的发展将会非常广泛,进入所有行业领域。
5 结语
信息化是本世纪各行业的重要发展趋势,电子商务、电子政务、远程医疗、远程教育等基于网络技术的应用发展迅速。高度网络化的EPC物联网系统,意在构造一个全球统一标识的物品信息系统,它将在超市、仓储、货运、交通、溯源跟踪、防伪防盗等众多领域和行业中获得广泛的应用和推广。物联网中的信息载体采用PML语言,同其它任何语言一样,PML不是一个单一的标准语言,它应随着时代的变化而发展。
参考文献
1. AUTO-ID CENTER,EPC Network Architecture,Sep,2005
2. AUTO-ID CENTER,Physical Markup Language Version 1.0
3. AUTO-ID CENTER,PML Core Specification 1.0,Oct 1,2003
4. The Physical Markup Language,David L.Brock,Feb,2001
5. AUTO-ID CENTER,PML Core Specification 1.0