王 洋,李 军,邓 娟,包先雨,徐 伟
(1.深圳市检验检疫科学研究院,广东深圳 518045;2.深圳海关,广东深圳 518026)
随着物联网环境下现代贸易和物流行业的信息化、高效化和高质量的发展,产品溯源越来越被政府、企业和人民群众所重视。快速、实时、准确和海量的信息采集和处理技术是实现产品全流程溯源的关键。条形码[1]中的二维码和射频识别技术中的电子标签是近些年流行和推广的溯源技术。二维码成本低,但无法完全满足实时、海量的信息采集与处理需求。电子标签数据存储容量大、可动态修改,却受成本所限,无法广泛应用于产品标识和溯源。二维码[2-5]和电子标签[6-8]的特性和适用场景各有千秋,且暂时无法相互取代[9],因此在未来一段时间内,两者协同应用于物流供应链标识和产品溯源管理是大势所趋。
二维码与电子标签数据转换方法是解决贸易和物流行业中两者之间数据互通性的关键。目前,已相继在智能仓储管理[10]、物流配送[11]、质量追溯[12-13]等方面对两者的共同应用进行了探索,但都基于独立标识和整体系统设计,缺乏底层数据转换方法研究。文献[14]描述了电子标签和商品一维码的转换模型和转换方法,但无法满足二维码和电子标签的数据转换。文中构建了一种二维码和电子标签数据的互通性模型,并提出了一种二维码和电子标签之间的转换方法,以实现二者之间的数据互通,从而实现物流供应链标识过程中,二维码和电子标签协同应用于产品标识时的信息自动化处理。
文中提出并构建了一种二维码和电子标签互通性系统模型,如图1 所示。该模型由二维码扫描器、二维码打印机和电子标签读写器3 个外围设备和一个数据转换处理中心组成,数据转换处理中心由二维码数据解析模块、电子标签数据解析模块、数据转换模块等3 个模块组成。其中,二维码扫描器负责读取二维码并识别二维码所包含的信息,并上传至数据转换处理中心;二维码打印机负责打印出转换后生成的二维码;电子标签读写器负责识别电子标签,读取电子标签存储的信息,将信息上传至数据转换处理中心以及写入电子标签信息等;二维码数据解析模块负责对二维码进行译码解析并提取二维码各字段的信息;电子标签数据解析模块负责对电子标签进行译码解析并提取电子标签各字段的信息;数据转换模块负责实现二维码编码信息和电子标签编码信息的相互转换,并生成转换后的二维码编码信息和电子标签编码信息。
图1 二维码与电子标签互通性系统模型
二维码和电子标签的类型多种多样,文中选择了目前市场上标准化程度高、应用最为广泛的两种数据载体进行两者转换方法的研究。二维码选型为编码数据结构商品二维码,文献[15]和文献[16]介绍了其编码数据结构,电子标签选型为工作频率范围在860~960 MHz、产品电子代码(Electronic Product Code,EPC)[17-18]为198 位的序列化全球贸易项目代码(Serialized Global Trade Item Number,SGTIN)的电子标签,文献[19]介绍了其编码数据结构。
2.2.1 编码结构对应关系
为了更好地理解转换方法,文中给出SGTIN-198 EPC 电子标签转换为编码数据结构商品二维码的结构对应关系,如图2 所示。
图2 SGTIN-198 EPC电子标签转换为编码数据结构商品二维码的结构对应关系
2.2.2 转换程序
SGTIN-198 EPC 电子标签转换为编码数据结构商品二维码的转换方法和程序如下:
1)通过电子标签读写器读取电子标签数据,并上传至数据转换处理中心。
2)解析电子标签的EPC 存储器数据b197b196…b0,通过电子标签数据解析模块识别标头值b197b196…b190和滤值b189b188b187判断电子标签编码结构和基本物流类型,b197b196…b190和b189b188b187应满足:
读取分区值b186b185b184,根据SGTIN 分区值表[4],获取厂商识别代码的位数M,分离出厂商识别代码b183b182…b(184-M)、贸易项代码b(183-M)b(182-M)…b140和序列号b139b138…b0。
3)数据转换模块将厂商识别代码b183b182…b(184-M)当作无符号整数,转化为十进制数表示的L位数字p1p2…pL,提取厂商识别代码。应满足:
4)将贸易项代码b(183-M)b(182-M)…b140当作无符号整数,转化为十进制数表示的(13-L)位数字i1i2…i(13-L),提取指示码i1和项目参考代码i2i3…i(13-L)。应满足:
5)将序列号b139b138…b0转化为字符串SnS(n-1)…S1。
6)构造二维码数据中14 位全球贸易项目代码N14N13N12…N1,构造方法为:
其中,N13N12…N(14-L)为厂商识别代码;N(13-L)N(12-L)…N2为商品项目代码;N14为指示码。
7)计算校验码N1:
8)解析电子标签的用户存储器数据,并转换为编码信息字符串,通过应用标识符(AI)解析数据字段及其含义,并识别所需生成二维码的其他数据(AI)YnY(n-1)…Y1…。
9)将所需生成商品二维码的数据按照编码数据结构格式编制成商品二维码编码信息字符串(01)N14N13…N1(21)SnS(n-1)…S1(AI)YnY(n-1)…Y1…。
10)通过二维码打印机打印出转换后的二维码。
2.2.3 转换示例
该节应用上述转换方法将包含EPC 二进制代码(00110110 001 101 011010011111011110001001 00010001000101110101 000…01101010000101)和用户存储器数据(批号:A100,包装扩展信息网址:www.2dcode.org)的SGTIN-198 EPC 电子标签数据转换为编码数据结构商品二维码信息字符串,过程如下:
1)通过电子标签读写器读取电子标签数据,并上传至数据转换处理中心。
2)电子标签数据解析模块识别标头值b197b196…b190(00110110)和滤值b189b188b187(001),根据式(1)判断和确认标签类型,确认标签为SGTIN-198的EPC电子标签。
读取分区值b186b185b184(101),根据分区值表查询获取分区值P为5,M为24。并解析获得:厂商识别代码b183b182…b(184-M)=011010011111011110 001001;贸易项代码b(183-M)b(182-M)…b140=00010001000101 110101;序列号b139b138…b0=000…01101010000101。
3)根据式(2),数据转换模块将厂商识别代码011010011111011110001001 转化为十进制数,得:p1p2…pL=6944649。
4)根据式(3),数据转换模块将贸易项代码00010001000101110101 转化为十进制数,得:i1i2…i(13-L)=070005。
5)数据转换模块将序列号000…01101010000 101 转化为字符串,得:SnS(n-1)…S1=6789。
6)根据式(4),构造14 位二维码数据中全球贸易项目代码N14N13N12…N1,其中,厂商识别代码N13N12…N(14-L)=p1p2…pL=6 944649;商品项目代码N(13-L)N(12-L)…N2=i2…i(13-L)=70005;指示码N14=0。
7)根据式(5)计算校验码N1=8。
8)解析电子标签的用户存储器数据,并转换为编码信息字符串:(10)A100(8200)www.2dcode.org。
9)生成商品二维码编码信息字符串:(01)06944649 70005 8(10)A100(21)6789(8200)www.2dcode.org。
10)通过二维码打印机打印二维码。
2.3.1 编码结构对应关系
为了更好地理解转换方法,文中给出编码数据结构商品二维码转换为SGTIN-198 EPC 电子标签的结构对应关系,如图3 所示。
图3 编码数据结构商品二维码转换为SGTIN-198 EPC电子标签的结构对应关系
2.3.2 转换程序
编码数据结构商品二维码转换为SGTIN-198 EPC 电子标签的转换方法和程序如下:
1)通过二维码扫描器读取编码数据结构商品二维码,并将二维码信息上传至数据转换处理中心。
2)二维码数据解析模块对二维码信息(01)N14N13…N1(AI)YnY(n-1)…Y1…进行解码,识别应用标识符(AI)01。获取全球贸易项目代码N14N13…N1,解析厂商识别代码长度L,并提取指示码N14、厂商识别代码N13…N(14-L)和商品项目代码N(13-L)…N2。
3)数据转换模块根据厂商识别代码长度L,查询SGTIN 分区值表[4],获取SGTIN-198 EPC 电子标签的分区值P、厂商识别代码的位数M和指示码加项目参考代码的位数O。分区值P对应的M和O应满足:
4)数据转换模块进行转换处理,将二维码数据中的厂商识别代码N13N12…N(14-L)当作十进制数,构造SGTIN-198 EPC 电子标签编码结构中的厂商识别代码p1p2…pL,并转化为二进制表示形式b183b182…b(184-M),即:
5)在二维码数据中的商品项目代码N(13-L)…N2前增加指示码N14,转化为十进制数表示的(13-L)位数字,构造SGTIN-198 EPC 电子标签编码结构中的贸易项代码i1i2…i(13-L),并转化为二进制表示形式b(183-M)b(182-M)…b140,即:
6)构造序列号S,转化为二进制表示形式b139b138…b0。S应满足:
7)从最高有效位到最低有效位串联以下位字段构造最终二进制编码:标头00110110(8 位)、滤值(3位)、分区值(3 位)、厂商识别代码(M位)、贸易项代码(O位)、序列号(140 位)。生成电子标签EPC 存储器中的二进制代码:b197b196…b0。
8)解析二维码其他数据(AI)YnY(n-1)…Y1…,通过应用标识符(AI)解析数据字段及其含义,并转换为电子标签编码信息字符串。
9)通过电子标签读写器将二进制代码b197b196…b0写入电子标签中的EPC 存储器,将转换后的二维码其他数据YnY(n-1)…Y1…写入电子标签用户存储器。
2.3.3 转换示例
应用上述转换方法将编码数据结构商品二维码信息字符串(01)06944649 70005 8(21)6789(10)A100转换为SGTIN-198 EPC 电子标签数据,过程如下:
1)二维码扫描器读取编码数据结构商品二维码,并将二维码信息上传至数据转换处理中心。
2)二维码数据解析模块解析L=7,获得厂商识别代码N13…N(14-L)=6944649、商品项目代码N(13-L)…N2=70005。
3)根据SGTIN 分区表值和式(6),获得M=24,O=20。
4)数据转换模块构造SGTIN-198 EPC 电子标签编码结构中的厂商识别代码p1p2…pL,根据式(7)转化为二进制数:b183b182…b(184-M)=0110100111110 11110001001。
5)数据转换模块构造SGTIN-198 EPC 电子标签编码结构中贸易项代码i1i2…i(13-L),根据式(8)转化为二进制数:b(183-M)b(182-M)…b140=0001000100010 1110101。
6)构造序列号S,将序列号6789 转化为二进制数:b139b138…b0=000…01101010000101。
7)生成电子标签EPC 存储器中的二进制代码b197b196…b0:00110110 001 101 011010011111011110001 001 00010001000101110101 000…01101010000101。
8)解析二维码其他数据(10)A100,并转换为电子标签用户存储器编码信息字符串:批号A100。
9)通过电子标签读写器分别将EPC 存储器数据和用户存储器编码信息字符串写入电子标签。
二维码和电子标签作为物联网环境下现代贸易和物流监管溯源的两种常用技术,将各自特点和优势长期协同助力物流和产品供应链实时监管,然而目前缺乏两者之间对应的数据转换方法,导致无法高效快速实现两者的信息交换。文中构建了一种二维码和电子标签的互通性系统模型,该模型由二维码扫描器、二维码打印机和电子标签读写器3 个外围设备和一个数据转换处理中心组成。同时,深入研究两者编码结构,以编码数据结构商品二维码和SGTIN-198 EPC 电子标签为载体提出了一种数据转换方法。转换示例表明,该方法能有效实现二维码和电子标签之间的数据转换,该方法的提出能够提升产品溯源的有效性,并进一步推动现代贸易和物流行业的信息化、高效化和高质量的发展。