一种使用形式化解码规则解析异构编码获得物品信息的方法

文档序号:6402625阅读:175来源:国知局
专利名称:一种使用形式化解码规则解析异构编码获得物品信息的方法
技术领域
本发明属于物联网信息系统技术领域,涉及一种使用形式化解码规则解析异构编码获得物品息的方法。
背景技术
物品解析服务(Object Naming Service, 0NS),又称为对象命名解析服务,负责将物品从标识解析到负责提供该物品详细信息的服务器地址。因此,在物联网中,ONS所起的作用实际是建立物品编码与信息服务器的一种映射关系。ONS服务的基本设计原理由EPCglobal国际组织提出。EPCglobal所发布的ONS的标准流程中,首先ONS客户端将读卡器读到的EPC 二进制码转化为URI,然后将URI转化为域名,然后向指定ONS服务器发起查询请求,最后客户端从服务器返回结果中提取想要的地址并访问该网络地址获得产品对应详细信息。ONS服务器实质上是存储了从域名到信息服务器地址的资源记录的一个DNS树状网络。ONS客户 端由于具备将编码解析为域名,解析计算机域名系统DNS记录等功能,因此也被称为ONS解析器。由于ONS解析需要首先将物品编码转化为域名,因此它所能解析的物品编码一定要遵循一定的规范。EPCglobal所设计的ONS标准针对EPCglobal所设计的EPC( ElectronicProduct Code)标准。然而在实际应用中,全球范围内存在着多种不同的物品编码标准。除了 EPCglobal的EPC外,还有日本uidCenter的Ucode标准,韩国NIDA的mRFID标准,中国物品编码中心的Ecode标准,以及不同的企业内部所使用的物品编码标准也各不相同。因此现有物联网中的物品解析服务难以同时支持多种异构物品编码的解析需求。为了使ONS支持异构编码,已有的相关解决方案主要有两种。第一种是EPCglobal所提出的标签数据转换标准(Tag Data Translation Standard)。TDT标准使用TDT标识文件的方式定义了将EPC编码在多个表示层(二进制编码、标签编码URI,纯标识WR,应用标识字符串,域名等)之间互相转化的规则。由于TDT支持多个表示层之间的相互转化,因此结构十分复杂,为新的编码标准编写TDT标识文件需要十分专业的技术和较多时间。另外,TDT标准针对EPC编码的转化,因此难以直接满足对EPC以外的多种异构物品编码的兼容支持。第二种是Yulong Huang等人提出的将不同的编码进行等价转换的技术,例如EPC,Ucode和mRFID之间的相互转化,但这种转化技术的扩展性比较差,即每当需要扩展对新的编码提供支持时,要更新转化算法和转化软件,十分麻烦。因此,这两种相关技术仍不足以很好地解决ONS动态地支持异构编码的问题。

发明内容
本发明的目的在于提供一种使用形式化解码规则解析异构编码获得物品信息的方法,其能解决ONS支持异构编码的问题,从而方便的获得物品详细信息。本发明提供了一种使用形式化解码规则解析异构编码获得物品信息的方法,具体步骤包括:
(1)读取物品编码的类型;
(2)物品解析程序向中央管理服务器发起带编码类型的查询,获取对应形式化解码规则文件,根据解析规则将物品编码解析成域名;
(3)向计算机域名系统DNS发起查询,获取对应的地址记录,提取出信息服 务地址;
(4)访问信息服务地址,获取物品详细信息。本发明中,步骤(I)中采用OID (—种全球通用的分级格式标识符)标示物品编码的类型。每个OID将唯一对应到一个形式化解码规则文件。ONS可以根据这个形式化解码规则文件将物品编码进行解析。当需要扩展支持一种新的异构编码时,我们只需要为其编写一个形式化解码规则文件并上传至中央管理服务器即可。当分布的ONS需要解析这种新的编码时,可以从中央管理服务器下载其对应的形式化解码规则文件,然后对编码进行解析。本发明中,中央管理服务器管理形式化解码规则文件和形式化解码规则与编码类别标识的映射,并接受新编码结构的注册,和提供公开的查询与下载服务。形式化解码规则FDR (Formal Decoding Rule)文件中定义了物品编码向域名的转化规则,其遵循一种相对较简洁的针对ONS解析的形式化语法。本发明中,形式化解码规则(FDR)的设计遵循的基本思想是“分割与重组”,即将输入的编码进行分割、处理后重新连接成为一个新的表达形式输出。每个FDR包含三个必要的组件:分别是片段集,域名集和辅助划分表集。片段集定义了如何将编码分割为多个具有单独意义的片段。域名集定义了如 何将处理后所得的新片段组合成一个完整的域名。辅助划分表集含有零到多个辅助划分表,这些辅助划分表存储了将一些非定长的片段进行切割和转化所需的辅助信息。FDR的详细结构如图2所示。片段集元素包含三种类型的子元素,各种子元素的个数和顺序都是不定的,这些元素共同决定了如何将原始编码划分为多个片段。三种子元素对应了三种那个类型的片段,分别是原子型片段,可划分型片段以及划分值片段。原子型片段是指不可再进一步划分的片段,例如SGTIN-96中的序列号。可划分型片段是指需要进一步划分的片段,一般是由于需要进一步划分的子片段是不定长的,因此只能通过辅助表信息才能进行划分,不能在此处被直接定义,例如SGTIN-96中由厂商码和产品类别码组成的整体片段。划分值片段包含一个划分值,划分值与辅助划分表共同决定了如何将不定长的片段进行划分和转化。原子型片段包含五个子元素,分别是起始位置,结束位置,初始进制,目标进制和目标长度。起始位置和结束位置的值是整数,这两个元素定义了取得这个片段的位置。如果值为正数N,则表示从左往右数的第N+1位,例如3表示左起第4位;如果值为负数N的话,则表示从右往左数的第-N位,例如起始位置为_8,则表示右起第8位。处理原子性片段的过程是首先截取从起始位置到结束位置的原始编码的子串,然后将这段数字串从初始进制转化为目标进制(如两进制相等这一步可跳过),最后将转化结果通过在左端补零补到目标长度(若目标长度值为-1则跳过这一步),所得即处理完成后的片段。可划分型片段包含四个子元素,分别是起始位置、结束位置、划分表位置和划分值位置。处理一个可划分型片段时,首先截取从起始位置到结束位置的原始编码的子串,然后根据划分表位置和划分值位置获取划分表和划分值,根据划分值在划分表中获取对应的一行记录,这一行记录包含若干个划分,每个划分包含〈初始长度、初始进制、目标长度、目标进制〉。根据每个划分初始长度将该片段进一步切割,切割后根据每个子片段对应的〈初始进制、目标长度、目标进制 > 进行转化,得到若干个处理完成的片段。划分值片段包含三个元素,分别是起始位置、结束位置和初始进制。截取从起始位置到结束位置的字串,从初始进制转化成10进制,即得到了该片段所表示的划分值。一个合法的解码规则中,划分值片段的数目等于可划分片段的数目。辅助划分表集合记录了若干个辅助划分表。辅助划分表的数目等于编码中含有的划分值片段的数目,也等于编码中含有的可划分片段的数目。每个辅助划分表有若干行,行的主键是划分值,每一行包含若干个划分(每个划分包含四个元素,分别是初始长度、初始进制、目标长度和目标进制。在处理一个可划分片段时,首先找到其所对应的划分值和划分表,然后从划分表中超出该划分值所在的行,得到对应的若干个划分。最后根据这些划分的信息将可划分片段进行切割和转换形成若干个处理完成的片段。最后一个元素是域名集,域名集定义了如何将之前处理得到的片段进行连接,形成最终想要的输出结果。域名集元素中包含两种类型的子元素,片段域和文本域。这两种子元素的数目和出现次序是任意的。片段域代表这个域的名称来自从编码中提取转化所得的片段(如厂商代码、产品类别码),该元素的内容是一个整数指向处理所得的片段集合的某一个位置。例如某片段域内容为1,则取处理所得的片段集中的第二个片段作为该域的名称内容。文本域代表这个域的名称来自解码规则文件中的静态文本,该元素的内容是一个字符串。文本域一般用来记录域名中静态的部分,例如后缀“onsiOot.com”。本发明中,FDR有两种可互相转化的格式,一种是XML格式,这种格式方便机器的传输和解析,另一种是CFG格式,这种格式比较方便人的阅读和编写。本发明中,每·个解码规则XML必须符合一定的规范,该规范由一个统一的DTD文件进行定义。这个DTD文件定义了解码规则的必要元素和组织结构,内容如表I所示。表2给出了一个EPCGlobal提出的SGTIN-96编码的形式化解码规则XML文档的示例。其中划分表由于太长所以没有完全给出,只给出了其中的一行作为代表。 本发明中,物品解析程序根据解析规则将物品编码解析成域名,具体方法如下:
(1)加载编码类型所对应的FDR文件;
(2)读取物品编码;
(3)初始化一个空的字符串列表,这个列表用来存储将编码进行切割和转化后所得到的域片段;
(4)依次读取FDR中的片段集中的每个片段,根据这个片段元素中的起始位置和结束位置将对应的片段从编码中抽取出来;如果起始位置或结束位置的值X不小于零,则取从左往右数的第x+1位;如果起始位置或结束位置的值X小于零,则取从右往左数的第X位;
Ξ如果这个片段是一个原子型片段,那将该片段从初始进制转化到目标进 制;
若该原子型片段的目标长度为-1,则将转化结果加入步骤(3)所述字符串列表;
若该原子型片段的目标长度不是-1,比较转化结果的长度与目标长度TL,若小于TL,则在左端补零直至达到TL,若等于TL,则不用做补零,若大于TL,则保留最右边的TL位数字,最后将转化结果加入步骤(3)所述的字符串列表;
f如果这个片段是一个可划分型片段,读取它的划分表位置i和划分值位
PFl.直J ;
找到FDR中的第i+Ι个划分表T,找到FDR中的第j+Ι个划分值片段。将划分值片段从编码中抽取出来并转化为10进制值V ;找到在划分表T中划分值V所对应的行,获得这一行中的所有划分;每个划分包含初始长度,目标长度,初始进制和目标进制;将可划分型片段根据这些划分信息划分成N个片段,并由初始进制转化成目标进制,最后再补零或截取到目标长度。按顺序将这N个处理所得的结果加入步骤(3)所述的字符串列表;
I如果这个片段是一个划分值片段,直接跳过;
重复步骤(4),直到FDR的划分集中的所有片段都已经被处理;
(5)依次从FDR中读取域名集中的每个域名元素; r如果这个域名元素类型为片段域,读取它的值X,将步骤(3)所述的字符 串列表的中的第χ+1个元素添加到域名的后缀,与前面的内容用点隔开;
I如果这个域名元素类型为文本域,直接将它的值添加到域名的后缀,与前 面的内容用点隔开;
重复步骤(5),直到域名集中的所有元素都已经被处理。本发明提出的解决方案使用一种形式化解码规则对编码结构及解析规则进行定义,ONS解析程序依据形式化 解码规则将物品编码解析到物品对应的详细信息。由于形式化解码规则可以被机器阅读和传输,因此可以与静态的ONS解析程序相分离,从而可以通过实时添加和修改形式化解码规则文本的方式对ONS所支持的编码类型进行扩展和修改,而不需要去对ONS解析程序进行硬编码的修改。与TDT方法相比,本方法简洁明了,且不仅限于对EPC编码的支持;与编码等价转换技术相比,本方法的可扩展性要好得多。本发明方法可以将解析程序与解析规则解耦,将解析规则的新增与更新从硬编码中剥离出来互不影响,从而使物品解析程序可以动态地支持多种异构编码,根据实际需求动态地获取解码规则文件,下载得的解码规则可以被保存在本地缓存中对程序进行加速,使得异构编码标识的物品可以融合在同一个开环物联网中,利于方便快速物品信息的查询。


图1为物品解析完整过程示意图。图2为FDR的结构示意图。
具体实施例方式下面结合附图和实施例对本发明做进一步详细阐述。图1所示为由客户端、中央管理服务器、域名系统DNS、厂商信息服务器共同协作完成的物品信息解析过程。在物联网中,为了获得物品信息,我们采取如下步骤:
(O读取物品编码以及编码类型;(2)物品解析程序向中央管理服务器发起带编码类型的查询,获取对应形式化解码规则文件,根据解析规则将物品编码解析成域名;
(3)向计算机域名系统DNS发起查询,获取对应的地址记录,提取出信息服 务地址;
(4)访问信息服务地址,获取物品详细信息;
本发明中,依据FDR将物品编码解析成域名的标准过程,给出一个详细的实例,即依据表2中的FDR将一个SGTIN-96物品编码解析成域名“0403.008563380.SGTIN-96.EPC.0nsroot.com,,。具体步骤如下:
第一步:加载编码类型(OID)所对应的FDR文件。示例:将表2中的SGTIN-96-FDR.xml加载进内存。第二步:读取物品编码。示例:读取物品编码“001100000100110000001000001010101010101101000000011001001100000110000000000000000000011000101010”。第三步:初始化一个空的字符串列表,命名为domain-segment-list。这个列表将用来存储将编码进行切割和转化后所得到的域片段。不例:domain-segment-list = {}
第四步:读取FDR中的片段集(Segment-1ist)中的下一个待处理片段。根据这个片段元素中的起始位置和结束位置将对应的片段从编码中抽取出来。如果起始位置或结束位置的值X不小于零,则取从左 往右数的第x+1位;如果起始位置或结束位置的值X小于零,则取从右往左数的第X位。I)如果这个片段是一个原子型片段,那将该片段从初始进制转化到目标进
制。若该原子型片段的目标长度为-1,则将转化结果加入domain-segment-list ;若该原子型片段的目标长度不是-1,比较转化结果的长度与目标长度TL,若小于TL,则在左端补零直至达到TL,若等于TL,则不用做补零,若大于TL,则保留最右边的TL位数字,最后将转化结果加入 domain-segment-list。2)如果这个片段是一个可划分型片段,读取它的划分表位置i和划分值位
置j。找到FDR中的第i+Ι个划分表T,找到FDR中的第j+Ι个划分值片段。将划分值片段从编码中抽取出来并转化为10进制值V。找到在划分表T中划分值V所对应的行,获得这一行中的所有划分(Partition):Ρ1..Ρη。每个划分包含初始长度,目标长度,初始进制和目标进制。将可划分型片段根据这些划分信息划分成N个片段,并由初始进制转化成目标进制,最后再补零或截取到目标长度。按顺序将这N个处理所得的结果加入domain-segment—listο3)如果这个片段是一个划分值片段,直接跳过。重复步骤四,直到FDR的划分集中的所有片段都已经被处理。示例:读取SGTIN-96-FDR中的片段集。第一个片段是一个划分值片段。跳过。第二个片段是一个可划分型片段,根据起始位置14和结束位置57从编码中提取出原始片段 “00000010000010101010101011010000000110010011”。它的划分表位置是 O,划分值位置也是O。因此读取划分表集中的第一个划分表,也是本例中唯个划分表。读取第一个划分值片段,也就是从11到13的二进制的“011”,转化成10进制值就是3。找到划分值3在划分表中所对应的那一行,在本例中是第一行,有两个划分〈30,2,9,10>和〈14,2,4,10>。取片段的前30位,将其从2进制转成10进制,然后补零至9位得到第一个划分处理结果“008563380”,加入domain-segment-list。取剩下的14位,将其从2进制转成10进制,然后补零至4位得到第二个划分处理结果“0403”,加入domain-segment-list。至此domain-segment-list= { “008563380”,“0403”}。片段集中所有片段都已经被处理,进入下一步。第五步:从FDR中读取域名集中的下一个待处理域名元素。I)如果这个域名元素类型为Domain-seg,读取它的值X,将domain-seg-list中的第χ+1个元素添加到域名的后缀,与前面的内容用点隔开。2)如果这个域名元素类型为Domain-txt,直接将它的值添加到域名的后缀,与前面的内容用点隔开。重复步骤五,直到域名集中的所有元素都已经被处理。示例:初始化DN= “ ”。读取SGTIN-96-FDR中的域名集中的域名元素。第一个元素是Domain-seg型,值为I。取domain-segment-list中的第二个元素“0403”添加到DN后缀。此时DN = 0403。第二个元素是Domain-seg型,值为0.取domain-segment-list中的第一个元素“008563380”添加到DN后缀,与前面用点隔开。此时DN = 008563380.0403。第三个元素是Domain-txt型,值为“SGTIN-96.EPC.0nsroot.com”。将这个值直接添加到 DN 后缀,与前面用点隔开。此时 DN = “0403.008563380.SGTIN-96.EPC.0nsroot.com,,。所有域名元素处理完毕,输出DN。通过本发明的方法,物品编码解析程序可以根据实际需求动态地获取解码规则文件,异构编码标识的物品可以融合在同一个开环物联网中,从而方便物品信息的查询。附录:
表 I ons-decod ing-rule.dtd 文件
权利要求
1.一种使用形式化解码规则解析异构编码获得物品信息的方法,其特征在于,具体步骤包括: (I)读取物品编码的类型; (2 )物品解析程序向中央管理服务器发起带编码类型的查询,获取对应形式化 解码规则文件,根据解析规则将物品编码解析成域名; (3)向计算机域名系统DNS发起查询,获取对应的地址记录,提取出信息服 务地址; (4)访问信息服务地址,获取物品详细信息; 其中:步骤(2)中,所述形式化解码规则文件中定义了物品编码向域名的转化规则,其由片段集、域名集和辅助划分表集三个元素组成;片段集包含三种子元素:原子型片段、可划分型片段和划分值片段,定义了如何将编码进行切分和进制转换;域名集包含两种子元素:文本域和片段域,定义了如何将转换所得的片段进行重组形成域名;辅助划分表集包含若干个辅助划分表,定义了切分转换过程所必须的辅助信息。
2.根据权利要求1所述的获得物品信息的方法,其特征在于:步骤(2)中,所述形式化解码规则文件为XML格式和CFG格式。
3.根据权利要求2所述的获得物品信息的方法,其特征在于:所述XML格式规范,由DTD文件进行定义。
4.根据权利要求1所述的获得物品信息的方法,其特征在于:步骤(I)中采所述物品编码的类型用OID标示。
5.根据权利要求1所述的获得物品信息的方法,其特征在于:步骤(2)中所述中央管理服务器管理形式化解码规则文件和形式化解码规则与编码类别标识的映射,并接受新编码结构的注册,和提供公开的查询与下载服务。
6.根据权利要求1所述的获得物品信息的方法,其特征在于:步骤(2)中所述原子型片段包含五个子元素,分别是起始位置,结束位置,初始进制,目标进制和目标长度;所述可划分性片段包含四个子元素,分别是起始位置,结束位置,划分表位置和划分值位置所述;划分值片段包含三个元素,分别是起始位置、结束位置和初始进制。
7.根据权利要求1所述的获得物品信息的方法,其特征在于:步骤(2)中物品解析程序根据解析规则将物品编码解析成域名,具体方法如下: (1)加载编码类型所对应的FDR文件; (2)读取物品编码; (3)初始化一个空的字符串列表,这个列表用来存储将编码进行切割和转化后所得到的域片段; (4)依次读取FDR中的片段集中的每个片段,根据这个片段元素中的起始位置和结束位置将对应的片段从编码中抽取出来;如果起始位置或结束位置的值X不小于零,则取从左往右数的第x+1位;如果起始位置或结束位置的值X小于零,则取从右往左数的第X位; I如果这个片段是一个原子型片段,那将该片段从初始进制转化到目标进 制; 若该原子型片段的目标长度为-1,则将转化结果加入步骤(3)所述字符串列表; 若该原子型片段的目标长度不是-1,比较转化结果的长度与目标长度TL,若小于TL,则在左端补零直至达到TL,若等于TL,则不用做补零,若大于TL,则保留最右边的TL位数字,最后将转化结果加入步骤(3)所述的字符串列表; f如果这个片段是一个可划分型片段,读取它的划分表位置i和划分值位 PFl.直J ; 找到FDR中的第i+Ι个划分表T,找到FDR中的第j+Ι个划分值片段。将划分值片段从编码中抽取出来并转化为10进制值V ;找到在划分表T中划分值V所对应的行,获得这一行中的所有划分;每个划分包含初始长度,目标长度,初始进制和目标进制;将可划分型片段根据这些划分信息划分成N个片段,并由初始进制转化成目标进制,最后再补零或截取到目标长度。按顺序将这N个处理所得的结果加入步骤(3)所述的字符串列表; I如果这个片段是一个划分值片段,直接跳过; 重复步骤(4),直到FDR的划分集中的所有片段都已经被处理; (5)依次从FDR中读取域名集中的每个域名元素; r如果这个域名元素类型为片段域,读取它的值X,将步骤(3)所述的字符 串列表中的第χ+1个元素添加到域名的后缀,与前面的内容用点隔开; I如果这个域名元素类型为文本域,直接将它的值添加到域名的后缀,与前面的内容用点隔开; 重复步骤(5),直到域名集中的所有`元素都已经被处理。
全文摘要
本发明属于物联网信息系统技术领域,具体为一种使用形式化解码规则解析异构编码获得物品信息的方法,本方法使得物联网中的物品解析服务可以扩展性地支持异构编码的解析,形式化解码规则以XML形式定义了将物品编码解析为域名的过程,由中央服务器统一管理和更新,异地的物品编码解析程序(ONS)可以从中央服务器下载异构编码的形式化解码规则,从而实现解析程序与解析规则的解耦,进而使ONS能够可扩展性地支持多种异构编码的解析。
文档编号G06K7/00GK103246857SQ20131015325
公开日2013年8月14日 申请日期2013年4月28日 优先权日2013年4月28日
发明者李敏波, 朱珠 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1