2.6 基于EPC(产品电子代码)标准的RFID体系结构

物联网的目标是实现地球上所有的物体在任何时候、任何地点的互联。RFID在本质上是物品标识的一种手段,在RFID应用系统中,要使每一件物体的信息在生产加工、市场流通、客户购买和售后服务过程中,都能够被准确地记录下来,并且通过物联网基础设施在世界范围内快速地传输,使得世界各地的生产企业、流通渠道、销售商店、服务机构每时每刻都能准确地掌握所需要的信息,依然需要形成一个全球统一的、标准的、唯一准确标识各个产品的电子编码标准,这也是RFID技术广泛应用的基础。

2.6.1 EPC的概念

前文提及的美国麻省理工学院的自动识别研究中心(Auto-ID Center)开发的EPC技术是当前解决这一问题的最佳方案。2003年11月1日,国际物品编码协会(EAN-UCC)正式接管了EPC在全球的推广应用工作,成立了电子产品代码全球推广中心(EPC Glob⁃al)。EPC的核心思想主要表述为:

1)为每一个产品,不是每一类产品,分配一个唯一的电子标识符———EPC码。

2)EPC码存储在RFID标签的芯片中。

3)通过无线数据传输技术,RFID读写器可以通过非接触的方式自动采集到EPC码。

4)连接在互联网中的服务器可以完成对EPC码所涵盖的内容的解析。

这样,通过互联网平台,利用射频识别(RFID)、无线数据通信等技术,就构造成一个实现全球物品信息实时共享的“物联网(Internet of Things)”。

EPC系统是集编码技术、射频识别技术和网络技术为一体的新兴技术,其主要的研究内容与体系结构如图2-33所示。

978-7-111-52572-1-Chapter02-35.jpg

图2-33 EPC研究内容与体系结构示意图

2.6.2 EPC编码

EPC编码体系是与现行的全球贸易项目代码GTIN兼容的编码标准,它是全球统一标识系统的拓展和延伸,是全球统一标识系统的重要组成部分。EPC编码具有以下几个特性。

1)科学性:结构明确,易于使用、维护。

2)兼容性:兼容了其他贸易流程的标识代码。

3)全面性:可在贸易结算、单品跟踪等各环节全面应用。

4)合理性:由EPC global、各国EPC管理机构(中国的管理机构称为EPC global Chi⁃na)、标识物品的管理者分段管理、共同维护、统一应用,具有合理性。

5)国际性:不以具体国家、企业为核心,编码标准全球协商一致,具有国际性。

6)无歧视性:编码采用全数字形式,不受地方色彩、语言、经济水平、政治观点的限制,是无歧视性的编码。

EPC代码是由一个版本号加上域名管理者、对象分类、序列号三段数据组成的一组数字。其中版本号标识EPC的版本号,它使得EPC随后的码段可以有不同的长度;域名管理是描述与此EPC相关的生产厂商的信息,例如“可口可乐公司”;对象分类记录产品精确类型的信息,例如:“美国生产的330ml罐装减肥可乐(可口可乐的一种新产品)”;序列号唯一标识货品,它会精确地告诉我们所说的究竟是哪一罐330ml罐装减肥可乐。对于具体的编码标准已经推出有:EPC-64 I型、Ⅱ型、Ⅲ型,EPC-96 I型,EPC-256 I型、Ⅱ型、Ⅲ型等编码方案。具体结构如表2-2所示。为了保证所有物品都有一个EPC编码,并使其载体(标签)的成本尽可能降低,建议采用96位。这样其数目可以为2.68亿个公司提供唯一标识,每个生产商可以有1600万个对象种类,并且每个对象种类可以有680亿个序列号,这对将来的世界所有产品来说是够用的。

表2-2 EPC不同标准的编码规则

978-7-111-52572-1-Chapter02-36.jpg

当前,出于成本考虑,参与EPC测试所使用的编码标准采用的是64位数据结构,未来将采用96位的编码结构。根据表2-2所示,EPC-64Ⅰ型编码提供的占有两个数字位的版本号编码,21位被分配给了具体的EPC域名管理编码,17位被用于标识产品具体的分类信息,最后的24位序列具体地标识了具体的产品的个体。如图2-34所示。

978-7-111-52572-1-Chapter02-37.jpg

图2-34 EPC-64Ⅰ型编码

该64位EPC代码包含最小的标识码。21位的域名管理分区就会允许200万个商品生产者使用该EPC-64Ⅰ型编码。对象分类区可以容纳131072个商品种类,可以满足绝大多数公司的需求。24位的产品序列号可以为每种商品提供1600万个商品个体。当某个厂家某种商品的个体超过1600万个时,可采用EPC-64Ⅱ型,它采用34位产品序列号,最多可以标识17179869184件商品个体,如果再与13位对象分类区结合,即每个工厂可以生产8192种商品,每一个工厂可以为超过140万亿不同的商品进行编号,这个数字远远超过了世界上最大的消费品生产商的生产能力。

64位编码版本作为一种世界通用的标识方案也许不足以长期使用,更长的EPC编码规则如96位、256位等应运而生得以满足未来无法准确地预测使用EPC编码的应用需求。EPC-96Ⅰ型的设计目的是成为一个公开的物品标识代码。它的应用类似于目前的统一产品代码,具体字段含义如图2-35所示。

978-7-111-52572-1-Chapter02-38.jpg

图2-35 EPC-96Ⅰ型编码具体的字段含义

EPC-96Ⅰ型也有三个数据段。其中版本号占2位数据位。域名管理的区域占据28个数据位,允许大约2.68亿家制造商。EPC域名管理数据段标识的每一个管理者,负责维护随后的编码,负责在自己的范围内维护对象分类代码和序列号。对象分类字段占24位,对象分类主要指产品包装或最小存货单位(SKU),这也需要许多位数据。对象分类记录产品精确类型的信息。因为每个管理者都允许拥有1600万个对象分类,这个字段能容纳当前所有的UPC库存单元的编码。序列号字段则是单一货品识别的编码。EPC-96Ⅰ型序列号对所有的同类对象提供36位的唯一辨识号,其容量为236=68719476736。与产品相结合,该字段的编码超出了当前所有已标识产品的总量。

EPC的64位编码和96位编码版本的不断发展使得EPC代码作为一种世界通用的标识方案已经不足以长期使用。更长的EPC编码规则一直以来就广受期待并酝酿已久。EPC的256位编码标准就是在这种情况下应运而生的。256位EPC编码是为满足未来使用EPC编码的应用需求而设计的。如图2-36所示为256位EPC编码的三种类型。因为未来应用的具体要求目前还无法准确地预测,所以256位的EPC编码版本必须可以扩展以便其不限制未来的实际应用。多个版本就提供了这种可扩展性。256编码又分为类型Ⅰ、类型Ⅱ、类型Ⅲ。EPC的256位编码中,对于分配中的域名管理、对象分类、序列号等分类都有所加工,以应对将来不同的具体应用要求。

978-7-111-52572-1-Chapter02-39.jpg

图2-36 256位的EPC编码的三种类型

2.6.3 EPC系统工作原理

EPC码为全球每一件物品赋予一个唯一的标识,并存储在RFID标签中,RFID标签随着物品在世界上流通并被自动识别出来。但EPC码也仅仅是识别物品的ID号,它标识的信息量还是有限的,关于物品的原材料、生产、加工、仓储与运输过程的大量信息还是不能够从EPC码上反映出来。关于物品大量相关的信息还需要存储在物联网上,当有服务需要的时候,物联网可以提供进一步的信息服务。如图2-37给出了基于EPC的物联网应用系统原理结构图。

978-7-111-52572-1-Chapter02-40.jpg

图2-37 基于EPC的物联网应用系统原理结构图

构建基于EPC的物联网应用系统是建立在互联网的基础之上的,但是需要增加必要的物联网基础设施,包括EPC中间件、对象名字服务器(Object Naming Servicer,ONS)与服务器体系、EPC信息服务器与服务器体系。

1.EPC中间件

EPC中间件,以前被称为Savant,其核心功能是屏蔽不同厂家的RFID读写器等硬件设备、应用软件以及数据传输格式之间的异构性,从而实现不同的硬件(阅读器等)与不同的应用软件系统间的无缝对接与实时动态集成。中间件由读写器接口、程序模块、应用程序接口三部分组成。图2-38描述EPC中间件组件与其他应用程序通信。

在ECP网络构架中,用户层面主要是对Savant系统进行开发。Savant是程序模块的集成器,程序模块通过两个接口与外界交互,即读写器接口和应用程序接口。其中读写器接口提供与标签读写器,尤其是RFID读写器的连接方法。应用程序接口使Savant与外部应用程序连接,这些应用程序通常是现有的企业在用应用程序,也可能有新的具体EPC应用程序甚至其他Savant。应用程序接口被用作程序模块与外部应用的通用接口。如果有必要,应用程序接口能够采用Savant服务器本地协议与以前的扩展服务通信。应用程序接口采用与读写器协议类似的分层方法来实现。

978-7-111-52572-1-Chapter02-41.jpg

图2-38 中间件结构示意图

不同应用程序对EPC处理的需求大相径庭。而且EPC仍然处在发展的初期,随着它的不断成熟,会对应用程序进行各种改进和变动。因此Savant被定义成具有一系列特定属性的“程序模块”或“服务”,并被用户集成以满足他们的特定需求。这些模块设计的初衷是能够支持不同群体对模块的扩展,而不是能满足所有应用的简单的集成化电路。Savant是加工和处理来自读写器的所有信息和事件流的软件,是连接标签读写器和企业应用程序的纽带,代表应用程序提供一系列计算功能,在将数据送往企业应用程序之前,它要对标签数据进行过滤、总计和计数,压缩数据容量。为了减少网络流量,Savant也许只向上层转发它感兴趣的某些事件或事件摘要。

程序模块可以由Auto—ID标准委员会定义,或者用户和第三方生产商来定义。Auto—ID标准委员会定义的模块叫作通用程序模块。其中一些通用模块需要应用在Savant的所有应用实例中,这种模块叫作必需通用程序模块;其他一些可以根据用户定义包含或者排除于一些具体实例中,这些就叫作用户定义程序模块。

EPC中间件Savant与大多数的企业管理软件不同,它不是一个拱形结构的应用程序。而是利用了一个分布式的结构,以层次化进行组织、管理数据流。Savant将被利用在商店、分销中心、地区办公室、工厂,甚至有可能在卡车或货运飞机上应用。每一个层次上的Sa⁃vant系统将收集、存储和处理信息,并与其他的Savant系统进行交流。例如,一个运行在商店里的Savant系统可能要通知分销中心还需要更多的产品,在分销中心运行的Savant系统可能会通知商店的Savant系统一批货物已于一个具体的时间出货了。Savant系统需要完成的主要任务是数据校对、解读器协调、数据传送、数据存储和任务管理。

1)数据校对:处在网络边缘的Savant系统,直接与解读器进行信息交流,它们会进行数据校对。并非每个标签每次都会被读到,而且有时一个标签的信息可能被误读,Savant系统能够利用算法校正这些错误。

2)解读器协调:如果从两个有重叠区域的解读器读取信号,它们可能读取了同一个标签的信息,产生了相同且多余的产品电子码。Savant的一个任务就是分析已读取的信息并且删掉这些冗余的产品编码。

3)数据传送:在每一层次上,Savant系统必须要决定什么样的信息需要在供应链上向上传递或向下传递。例如,在冷藏工厂的Savant系统可能只需要传送它所储存的商品的温度信息就可以了。

4)数据存储:现有的数据库不具备在一秒钟内处理超过几百条事务的能力,因此Savant系统的另一个任务就是维护实时存储事件数据库(RIED)。本质上来讲,系统取得实时产生的产品电子码并且智能地将数据存储,以便其他企业管理的应用程序有权访问这些信息,并保证数据库不会超负荷运转。

5)任务管理:无论Savant系统在层次结构中所处的等级是什么,所有的Savant系统都有一套独具特色的任务管理系统(TMS),这个系统使得他们可以实现用户自定义的任务来进行数据管理和数据监控。例如,一个商店中的Savant系统可以通过编写程序实现一些功能,当货架上的产品降低到一定水平时,会给储藏室管理员发出警报。

2.对象名称解析服务(ONS)

对于EPC系统这样一个全球开放的、可追逐物品生命周期轨迹的网络系统,需要一些技术工具,将物品生命周期不同阶段的信息与物品已有的信息实时动态整合。帮助EPC系统动态地解析物品信息管理中心的任务就由对象名称解析服务(ONS)实现的。

在EPC系统中,需要将EPC编码与相应的商品信息相匹配,而相应的商品信息存储在对应的EPC IS服务器中,ONS服务提供与EPC编码对应的EPC IS服务器的地址。对象名称解析服务(ONS)是一个自动的网络服务系统,类似于域名解析服务(Domain Name System,DNS),其负责有意义的网名字母与IP地址数字间的转换。例如,当我们登录百度网进行信息搜索时,往往最容易记住的是www.baidu.com,而不是百度IP地址211.94.144.100。在计算机浏览器软件中的URL中输入“www.baidu.com”并回车后,计算机会向DNS发送请求以得到IP地址信息,DNS接到请求后,在自己的数据库中查找www.baidu.com所对应的IP地址并将其返回,然后计算机再去访问IP地址为211.94.144.100的服务器,并得到所要浏览的网页信息),并利用DNS体系去查询存储EPC信息的服务器的IP地址。因此ONS设计与架构都以Internet域名解析服务DNS为基础,从而使整个EPC网络以Internet为依托,迅速架构并顺利延伸到世界各地。ONS实现架构主要包括以下两个组成部分。

1)ONS服务器网络:分层管理ONS记录,同时,负责对提出的ONS记录查询请求进行响应。

2)ONS解析器:完成电子产品码到DNS域名格式的转换,以及解析DNS NAPTR记录,获取相关的产品信息访问通道。

因此ONS在EPC系统中的作用可以简单表述为:读写器将读到的EPC编码通过本地局域网上传至本地服务器,由本地服务器所带Savant软件对这些信息进行集中处理,然后由本地服务器通过查找本地ONS服务或通过路由器到达远程ONS服务器查找所需EPC编码对应的EPC IS服务器地址,本地服务器就可以和找到的EPC IS服务器进行通信了。

3.EPCIS信息服务

EPC IS信息服务提供了一个数据和服务的接口,使得物品的EPC信息可以在企业之间共享。在这个系统中,EPC码被用作数据库的查询指针,EPC IS提供信息查询接口与已有的数据库、应用程序及信息系统相连。其内部结构示意图如图2-39所示。

EPC信息服务有两种运行模式:数据存储模式和数据查询模式。

数据存储模式是将读写器发送的EPC码存储在数据库中,以备查询。EPC存储的数据类型包括:

978-7-111-52572-1-Chapter02-42.jpg

图2-39 EPC IS结构示意图

1)静态属性数据:

●制造日期、有效期等系列数据。

●颜色、重量、尺寸等产品类型数据。

2)带有时间戳的历史数据:

●RFID读出数据。

●传感器的测量数据。

●读写器的位置数据。

EPC IS存储的信息可以被应用程序直接查询和应用。从存储的数据看,查询的数据包括静态信息,也包括动态数据以及在供应链中的位置信息。

EPC系统中描述物品信息以及读写器、中间件、应用程序、ONS与EPC IS之间的交互使用的是实体标记语言(Physical Markup Language,PML)。PML由互联网中可扩展标记语言(XML)发展而来,它规定了EPC IS系统交互过程中数据交互和通信的数据格式。PML文档存放的是EPC标签、读写器、中间件、ONS、EPC IS之间的交互信息,HTML文档存放Web网页。EPC IS的工作流程如下:

1)客户端完成RFID标签信息向指定EPC IS服务器的传输。

2)数据存储模块将数据存储于数据库中,在产品信息初始化的过程中,调用通用数据生成针对每一个产品的EPC信息,并将其存入PML物理标示语言文档中。

3)数据查询模块根据客户端的查询要求和权限访问相应的PML文档,生成HTML超文本标记语言文档,再返回客户端。

4.EPC工作过程

在由EPC标签、读写器、EPC中间件、Internet、ONS服务器、EPC信息服务(EPC IS)以及众多数据库组成的物联网中,读写器读出的EPC只是一个信息参考(指针),由这个信息参考通过Internet找到IP地址并获取该地址中存放的相关的物品信息,并采用分布式的EPC中间件处理由读写器读取的一连串EPC信息。由于在标签上只有一个EPC代码,计算机需要知道与该EPC匹配的其他信息,这就需要ONS来提供一种自动化的网络数据库服务,EPC中间件将EPC码传给ONS,ONS指示EPC中间件到一个保存着产品文件的服务器(EPC IS)查找,该文件可由EPC中间件复制,因而文件中的产品信息就能传到供应链上。图2-40描述了如何基于EPC电子产品码搜索其产品信息的参考实现。

978-7-111-52572-1-Chapter02-43.jpg

图2-40 基于EPC电子产品码搜索其产品信息的参考实现

其查询过程如下:

1)RFID阅读器从一个EPC标签上读取一个电子产品码。

2)RFID阅读器将这个电子产品码送到本地服务器。

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)本地服务器基于这些访问通道访问相应的EPC IS服务器或产品信息网页。