一种商品追溯信息查询方法与系统
技术领域
本发明涉及商品信息追溯技术领域,具体涉及一种商品追溯信息查询方法与系统。
背景技术
二维条码/二维码(2-dimensional bar code)通过某种特定的几何图形按一定规律在平面(二维方向上)分布黑白相间的图形以记录数据符号信息。其在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”和“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。具有储存量大、保密性高、追踪性高、抗损性强、备援性大、成本便宜等优点,故而广泛应用于表单、安全保密、追踪、证照、存货盘点、资料备援等方面。
随着电子商务的发展,越来也多的人选择在网上进行购物,为用户提供产品的追溯信息让用户及时了解产品的流通以及加工等信息已经成为人们需求的一种。现有技术中,通过商品包装上的二维码快速获取商品信息,减少手工录入步骤,但是不同厂家的商品有不同的溯源平台,不同溯源平台的网站结构不一样,因此二维码所代表的内容意义也不一样,而当需要调用对不同的追溯平台的商品信息时,需要开发人员为商品追溯系统针对每个追溯平台写代码,商品二维码信息的兼容性差、商品信息读取效率低。
发明内容
本发明的目的在于提供一种商品追溯信息查询方法与系统,能够有效提高商品二维码信息的兼容性,实现不同溯源平台的商品信息快速获取。
本发明实施例提供了一种商品追溯信息查询方法,包括:
客户端扫描商品包装上的二维码并对所述二维码进行解析,获取所述二维码对应的字符串并发送给应用服务器;
所述应用服务器从所述字符串中提取参数以及参数值;
所述应用服务器将所述参数以及所述参数值与预存在规则服务器中的规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端;若不匹配,则根据所述字符串,向追溯平台请求与所述字符串对应的商品信息并发送给所述客户端。
优选地,所述规则包括:存储在所述规则服务器中的解析规则库中的解析规则以及存储在所述规则服务器中网页获取规则库中的URL网页获取规则;
所述应用服务器将所述参数以及所述参数值与所述解析规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端;若不匹配,则根据所述字符串,采用URL网页获取规则向追溯平台请求与所述字符串对应的商品信息并发送给客户端,并将从所述追溯平台获取的商品信息存储到所述商品数据库中。
优选地,所述商品追溯信息查询方法还包括:
当根据所述字符串采用URL网页获取规则向追溯平台请求与所述字符串对应的商品信息失败时,所述应用服务器向所述客户端发送商品信息获取失败信息;
当所述客户端接收到所述应用服务器发送的商品信息获取失败信息时,启动信息录入窗口,以使得所述客户端通过所述信息录入窗口获取用户输入的商品信息。
优选地,所述商品追溯信息查询方法包括:
所述应用服务器通过API接口调用所述规则服务器的解析规则库中的解析规则以及网页获取规则库中的URL网页获取规则。
优选地,所述字符串的类型包括追溯平台网址、单元识别码、登记证号。
优选地,所述商品追溯信息查询方法还包括:
所述解析规则包括URL解析规则以及识别码解析规则;
所述规则服务器对预先采集商品的二维码样本数据进行解析,得到所述二维码样本数据对应的字符串并提取所述二维码样本数据对应的字符串的参数和参数值进行规律学习分析,得到所述URL解析规则;
所述规则服务器采集商品的单元识别码样本数据,得到所述单元识别码样本数据对应的字符串并提取所述单元识别码样本数据对应的字符串的参数值进行规律学习分析,得到所述识别码解析规则。
本发明实施例还提供了一种商品追溯信息查询方法,由应用服务器执行,包括:
所述应用服务器接收客户端发送的字符串并从所述字符串中提取参数以及参数值;其中,所述字符串为所述客户端扫描商品包装上的二维码并对所述二维码进行解析所获取所述二维码对应的字符串;
所述应用服务器将所述参数以及所述参数值与预存在规则服务器中的规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端;若不匹配,则根据所述字符串,向追溯平台请求与所述字符串对应的商品信息并发送给所述客户端。
优选地,所述规则包括:存储在所述规则服务器中的解析规则库中的解析规则以及存储在所述规则服务器中网页获取规则库中的URL网页获取规则;
所述应用服务器将所述参数以及所述参数值与所述解析规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端;若不匹配,则根据所述字符串,采用URL网页获取规则向追溯平台请求与所述字符串对应的商品信息并发送给客户端,并将从所述追溯平台获取的商品信息存储到所述商品数据库中。
优选地,所述商品追溯信息查询方法还包括:
当根据所述字符串采用URL网页获取规则向追溯平台请求与所述字符串对应的商品信息失败时,所述应用服务器向所述客户端发送商品信息获取失败信息,以使得所述客户端在接收到所述应用服务器发送的商品信息获取失败信息时,启动信息录入窗口,以使得所述客户端通过所述信息录入窗口获取用户输入的商品信息。
本发明实施例还提供了一种商品追溯信息查询系统,包括:客户端、应用服务器以及规则服务器;
所述客户端,用于扫描商品包装上的二维码并对所述二维码进行解析,获取所述二维码对应的字符串并发送给所述应用服务器;
所述应用服务器,用于从所述字符串中提取参数以及参数值;
所述应用服务器,用于将所述参数以及所述参数值与预存在规则服务器中的规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端;若不匹配,则根据所述字符串,向追溯平台请求与所述字符串对应的商品信息并发送给所述客户端。
相对于现有技术,本发明实施例提供的一种商品追溯信息查询方法的有益效果在于:该商品追溯信息查询方法包括:客户端扫描商品包装上的二维码并对所述二维码进行解析,获取所述二维码对应的字符串并发送给应用服务器;所述应用服务器从所述字符串中提取参数以及参数值;所述应用服务器将所述参数以及所述参数值与预存在规则服务器中的规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端;若不匹配,则根据所述字符串,向追溯平台请求与所述字符串对应的商品信息并发送给所述客户端。通过该商品追溯信息查询方法能够有效提高对商品二维码信息的兼容性,实现不同溯源平台的商品信息快速获取。
附图说明
图1是本发明实施例一提供的一种商品追溯信息查询方法的流程图;
图2是本发明实施例二提供的一种商品追溯信息查询方法的流程图;
图3是本发明实施例三提供的一种商品追溯信息查询系统的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
请参阅图1,是本发明实施例提供的一种商品追溯信息查询方法的流程图;所述商品追溯信息查询方法包括:
S101:客户端扫描商品包装上的二维码并对所述二维码进行解析,获取所述二维码对应的字符串并发送给应用服务器;
S102:所述应用服务器从所述字符串中提取参数以及参数值;
S103:所述应用服务器将所述参数以及所述参数值与预存在规则服务器中的规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端;若不匹配,则根据所述字符串,向追溯平台请求与所述字符串对应的商品信息并发送给所述客户端。
在本实施中,规则库与数据获取应用分开,分别采用规则服务器存储规则以及应用服务器进行数据获取,可以有效提高商品追溯信息查询的灵活度,降低耦合度,通过规则匹配商品二维码信息能够有效提高对商品二维码信息的兼容性;另一方面将二维码信息获取服务和规则分发到多个应用端或客户端,减轻应用服务器的压力,如果一个应用端或客户端的网络或系统有问题,不影响其他应用端或客户端依据规则获取追溯平台数据,能够实现不同溯源平台的商品信息快速获取。
通过规则库解析二维码所代表字符串本身(如URL),可以通过匹配存储在应用服务器中商品数据库的历史追溯数据(商品信息),不用实际请求追溯平台的情况下得到二维码对应的商品信息,减少追溯平台请求次数,降低因频繁访问造成追溯平台阻塞或被追溯平台禁止访问的风险。例如扫描二维码,根据解析所得的字符串中的追溯网址向规则服务器申请规则(如果规则服务器也没有,要向规则服务器提示任务或其他方式),规则取回存到应用服务器(ERP用户端或ERP数据库),执行规则并从商品数据库中提取相应的商品信息。若该追溯网址是旧的追溯网址,只是参数不同,直接读取存储在应用服务器的规则(ERP用户端或ERP数据库),执行规则并从商品数据库中提取相应的商品信息。
在其他实施例中,可以将规则服务器的规则库分发应用以及应用服务器的规则执行应用缓存到客户端本地,且本地缓存商品追溯历史数据的应用情景(即历史商品信息),在没有网络的情况下,客户端也可以通过扫描二维码获取商品信息或通过人工对比二维码字符串和商品包装上信息进行手工录入从而获取商品信息。
在一种可选的实施例中,所述规则包括:存储在所述规则服务器中的解析规则库中的解析规则以及存储在所述规则服务器中网页获取规则库中的URL网页获取规则;
所述应用服务器将所述参数以及所述参数值与所述解析规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端;若不匹配,则根据所述字符串,采用URL网页获取规则向追溯平台请求与所述字符串对应的商品信息并发送给客户端,并将从所述追溯平台获取的商品信息存储到所述商品数据库中。
在一种可选的实施例中,所述商品追溯信息查询方法还包括:
当根据所述字符串采用URL网页获取规则向追溯平台请求与所述字符串对应的商品信息失败时,所述应用服务器向所述客户端发送商品信息获取失败信息;
当所述客户端接收到所述应用服务器发送的商品信息获取失败信息时,启动信息录入窗口,以使得所述客户端通过所述信息录入窗口获取用户输入的商品信息。
在一种可选的实施例中,所述商品追溯信息查询方法包括:
所述应用服务器通过API接口调用所述规则服务器的解析规则库中的解析规则以及网页获取规则库中的URL网页获取规则。
在本实施例中,应用服务器可以通过API接口对规则服务器中的规则进行配置,简单可操作,不需要依赖较好IT知识即可编写维护规则,同时也不需要IT开发人员针对每个追溯平台写代码,商品追溯信息查询的灵活度高,操作简单。
例如:API输出参数:参数1:信息提取规则代号(具体信息提取规则包括:前后截取、XPath截取,正则提取);参数2:关于字段名称及提取规则的数组(可以有多个字段名)参数3:类型(种子、农药、兽药追溯)。
在一种可选的实施例中,所述字符串的类型包括追溯平台网址、单元识别码、登记证号。
在一种可选的实施例中,所述商品追溯信息查询方法还包括:
所述解析规则包括URL解析规则以及识别码解析规则;
所述规则服务器对预先采集商品的二维码样本数据进行解析,得到所述二维码样本数据对应的字符串并提取所述二维码样本数据对应的字符串的参数和参数值进行规律学习分析,得到所述URL解析规则;
所述规则服务器采集商品的单元识别码样本数据,得到所述单元识别码样本数据对应的字符串并提取所述单元识别码样本数据对应的字符串的参数值进行规律学习分析,得到所述识别码解析规则。
在本实施例中,可以通过预先系统批量自动抓取、农资店扫码实时获取、线下批量获取后导入、可以人手工扫码对照包装袋录入等方式采集商品的二维码样本数据和单元识别码样本数据,并将通过规律学习分析得到的URL解析规则和识别码解析规则存储到解析规则库中。
下面对本实施例的商品追溯信息查询方法进行举例说明:
首先对扫描商品上的二维码并通过解析后可以的字符串进行说明:所述字符串的类型包括:追溯平台网址网址、单元识别码、登记证号等;例如:
(1)http://seed-china.com/code.aspx?id=1872&ds=455&pc=2017011(或单元识别码GY1hjg1872455);
其中,http://seed-china.com/code.aspx?id=1872&ds=455是某第三方技术服务商建立的追溯平台;id=1872代表某个厂家的某个批次产品;ds=455代表同一批次的产品的包装编号;pc=2017011是批次号。
(2)http://pinet.cn/ib.asp?c=202283227251(或单元识别码202283227251);
其中,http://pinet.cn/ib.asp?c=202283227251是某商品生产企业自己建立的追溯平台,只追溯查询自己的产品。
(3)http://trace-api.yz98.cn/details?codeName=1000060000001452(单元识别码1000060000001452);
其中,http://trace-api.yz98.cn/details?codeName=1000060000001452是某第三方技术服务商建立的追溯平台,参数值1000060000001452的某部分位置代表不同的涵义,例如中间的6代表某个厂家的产品,7代表另外厂家的产品,1452是包装顺序号。
另外,部分产品,如农药,虽然国家没有限定追溯平台,但规定了二维码的单元识别码规则,即部分位数是国家规定的,部分位数生产企业自己定义自编的。如http://www.abc.cn/d.asp?d=11712521123000000001111111111111中参数值11712521123000000001111111111111的含义如下表所示:
具体地,URL解析规则以及URL网页获取规则的生成过程如下:
根据所述二维码样本数据解析后获得的字符串,如http://seed-china.com/code.aspx?id=1872&ds=455&pc=2017011为例,提取请求网站http://seed-china.com/code.aspx的参数及参数值如下:
参数 |
参数值 |
id |
1872 |
ds |
455 |
pc |
2017011 |
经机器学习分析可知:id代表不同批次商品(可能是不同厂家的产品,也可能是同一厂家不同批次的产品,如id=1872可能A厂家的某个批次产品,id=1873是B厂家的某个批次产品)。
进一步地,通过尝试请求页面并得到如下数据:
经机器学习分析可知:可知当id固定是,ds和pc的参数无论任何变化,产品名称,产生经营者是一样的;当id和ds固定,pc参数任意变化,品种名称、生产经营者、单元识别码都一样;可以推算pc参数只是个附加参数,ds是同一批次的不同包装个体的编号。
通过对大量所述二维码样本数据进行学习分析,可以得到所述URL解析规则、所述识别码解析规则以及所述URL网页获取规则并建立解析规则库和网页获取规则库。
所述URL网页获取规则具体配置如下:
平台网站 |
参数 |
级别 |
http://seed-china.com/code.aspx |
ds |
2 |
http://seed-china.com/code.aspx |
id |
1 |
http://seed-china.com/code.aspx |
pc |
0 |
其中,2代表不同包装个体,1代表不同厂家批次,0代表无效参数,可忽略。
所述商品数据库存储的商品信息如下:
具体的商品二维码信息查询过程如下:
通过客户端扫描商品上的二维码,客户端可以是手机、扫描枪等;经过解析后得到如下字符串:
第一类解析(参数值):
http://seed-china.com/code.aspx?id=1871&ds=xxx&pc=yyy(xxx,yyy数据为任意实际数字字符),应用服务器对字符串极性分隔提取参数和参数值,并与URL解析规则进行匹配,如http://seed-china.com/code.aspx?id=1871平台,id是1871,则匹配,不用请求实际网址;
当匹配时,从商品数据库中得到如下商品信息:品种名称是:桂研一号毛节瓜;生产经营者名称是:B公司,单元识别码是:GYJG1h1871xxx
假如匹配不到字符串的id时,则去通过URL网页获取规则请求实际网址获取数据。
第二类解析(参数值):假如应用服务器已经扫描存储如下字符串:
http://www.abc.cn/d.asp?d=11712521123000000001111111111111
那么可以通过商品扫描历史数据和识别码解析规则从商品数据库中得出获取如下字符串对应的商品信息:
http://www.abc.cn/d.asp?d=11712521123xxxxxxxxxxxxxxxxxxxxx,
由于第2-7位是登记证号(依照预先抓取的登记数据已经确定了成分名、含量、厂家),在不去请求追溯网址的情况下仅凭登记证号就可以获取部分信息。
更进一步,同一厂家的编码规则具有一致性,对于自定义编码部分,如果分析得知厂家的某些位数编码数据,比如批次、包装形式,通过分析URL得到登记证号,查询登记注册数据获得厂家,查询扫码历史数据获得更多的信息。
如http://www.abc.cn/d.asp?d=11712521123xxxxxxxxxxxxxxxxxxxxx
与http://www.abc.cn/d.asp?d=11101551123xxxxxxxxxxxxxxxxxxxxx
根据农业部二维码规则,以上识别码分别代表登记证号为PD20171252与PD2010155,它们是同一厂家的产品。
如果应用服务器已经扫描录入了http://www.abc.cn/d.asp?d=11712521123xxxxxxxxxxxxxxxxxxxxx的相关商品信息;
则http://www.abc.cn/d.asp?d=11101551123xxxxxxxxxxxxxxxxxxxxx的信息在不请求追溯网址的情况下可以得出(除了登记证号所代表的数据外,包装形式、生产日期批次等信息同一个厂家的识别码固定在某些位置)。
第三类解析:
二维码直接代表的内容“201607250042700031400320,盐酸多西环素可溶性粉,兽药字(2012)150516011,鲁西兽药,0534-2151558”
通过符号分隔,得到相关参数值,如“兽药字(2012)150516011”可以通过查询本地服务器注册登记数据(预先爬取到服务器),得到厂家、成分、规格等重要数据。识别码“201607250042700031400320”可以推算日期规格。
网页内容提取解析举例:
通过前后截取的方式取取得字符串,经过简单数据清理(清除html标记)就是所得字符。
实施例二
请参阅图2,其是本发明实施例还提供了一种商品追溯信息查询方法的流程图,所述商品追溯信息查询方法由应用服务器执行,包括:
S201:所述应用服务器接收客户端发送的字符串并从所述字符串中提取参数以及参数值;其中,所述字符串为所述客户端扫描商品包装上的二维码并对所述二维码进行解析所获取所述二维码对应的字符串;
S202:所述应用服务器将所述参数以及所述参数值与预存在规则服务器中的规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端;若不匹配,则根据所述字符串,向追溯平台请求与所述字符串对应的商品信息并发送给所述客户端。
在本实施中,规则库与数据获取应用分开,分别采用规则服务器存储规则以及应用服务器进行数据获取,可以有效提高商品追溯信息查询的灵活度,降低耦合度,通过规则匹配商品二维码信息能够有效提高商品二维码信息的兼容性;另一方面将二维码信息获取服务和规则分发到多个应用端或客户端,减轻应用服务器的压力,如果一个应用端或客户端的网络或系统有问题,不影响其他应用端或客户端依据规则获取追溯平台数据,能够实现不同溯源平台的商品信息快速获取。
通过规则库解析二维码所代表字符串本身(如URL),可以通过匹配存储在应用服务器中商品数据库的历史追溯数据(商品信息),不用实际请求追溯平台的情况下得到二维码对应的商品信息,减少追溯平台请求次数,降低因频繁访问造成追溯平台阻塞或被追溯平台禁止访问的风险。例如扫描二维码,根据解析所得的字符串中的追溯网址向规则服务器申请规则(如果规则服务器也没有,要向规则服务器提示任务或其他方式),规则取回存到应用服务器(ERP用户端或ERP数据库),执行规则并从商品数据库中提取相应的商品信息。若该追溯网址是旧的追溯网址,只是参数不同,直接读取存储在应用服务器的规则(ERP用户端或ERP数据库),执行规则并从商品数据库中提取相应的商品信息。
在其他实施例中,可以将规则服务器的规则库分发应用以及应用服务器的规则执行应用缓存到客户端本地,且本地缓存商品追溯历史数据的应用情景(即历史商品信息),在没有网络的情况下,客户端也可以通过扫描二维码获取商品信息或通过人工对比二维码字符串和商品包装上信息进行手工录入从而获取商品信息。
在一种可选的实施例中,所述规则包括:存储在所述规则服务器中的解析规则库中的解析规则以及存储在所述规则服务器中网页获取规则库中的URL网页获取规则;
所述应用服务器将所述参数以及所述参数值与所述解析规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端;若不匹配,则根据所述字符串,采用URL网页获取规则向追溯平台请求与所述字符串对应的商品信息并发送给客户端,并将从所述追溯平台获取的商品信息存储到所述商品数据库中。
在一种可选的实施例中,所述商品追溯信息查询方法还包括:
当根据所述字符串采用URL网页获取规则向追溯平台请求与所述字符串对应的商品信息失败时,所述应用服务器向所述客户端发送商品信息获取失败信息,以使得所述客户端在接收到所述应用服务器发送的商品信息获取失败信息时,启动信息录入窗口,以使得所述客户端通过所述信息录入窗口获取用户输入的商品信息。
在一种可选的实施例中,所述商品追溯信息查询方法包括:
所述应用服务器通过API接口调用所述规则服务器的解析规则库中的解析规则以及网页获取规则库中的URL网页获取规则。
在本实施例中,应用服务器可以通过API接口对规则服务器中的规则进行配置,简单可操作,不需要依赖较好IT知识即可编写维护规则,同时也不需要IT开发人员针对每个追溯平台写代码,商品追溯信息查询的灵活度高,操作简单。
例如:API输出参数:参数1:信息提取规则代号(具体信息提取规则包括:前后截取、XPath截取,正则提取);参数2:关于字段名称及提取规则的数组(可以有多个字段名)参数3:类型(种子、农药、兽药追溯)。
在一种可选的实施例中,所述字符串的类型包括追溯平台网址、单元识别码、登记证号。
下面对本实施例的商品追溯信息查询方法进行举例说明:
首先对扫描商品上的二维码并通过解析后可以的字符串进行说明:所述字符串的类型包括:追溯平台网址网址、单元识别码、登记证号等;例如:
(1)http://seed-china.com/code.aspx?id=1872&ds=455&pc=2017011(或单元识别码GY1hjg1872455);
其中,http://seed-china.com/code.aspx?id=1872&ds=455是某第三方技术服务商建立的追溯平台;id=1872代表某个厂家的某个批次产品;ds=455代表同一批次的产品的包装编号;pc=2017011是批次号。
(2)http://pinet.cn/ib.asp?c=202283227251(或单元识别码202283227251);
其中,http://pinet.cn/ib.asp?c=202283227251是某商品生产企业自己建立的追溯平台,只追溯查询自己的产品。
(3)http://trace-api.yz98.cn/details?codeName=1000060000001452(单元识别码1000060000001452);
其中,http://trace-api.yz98.cn/details?codeName=1000060000001452是某第三方技术服务商建立的追溯平台,参数值1000060000001452的某部分位置代表不同的涵义,例如中间的6代表某个厂家的产品,7代表另外厂家的产品,1452是包装顺序号。
另外,部分产品,如农药,虽然国家没有限定追溯平台,但规定了二维码的单元识别码规则,即部分位数是国家规定的,部分位数生产企业自己定义自编的。如http://www.abc.cn/d.asp?d=11712521123000000001111111111111中参数值11712521123000000001111111111111的含义如下表所示:
具体地,URL解析规则以及URL网页获取规则的生成过程如下:
根据所述二维码样本数据解析后获得的字符串,如http://seed-china.com/code.aspx?id=1872&ds=455&pc=2017011为例,提取请求网站http://seed-china.com/code.aspx的参数及参数值如下:
参数 |
参数值 |
id |
1872 |
ds |
455 |
pc |
2017011 |
经机器学习分析可知:id代表不同批次商品(可能是不同厂家的产品,也可能是同一厂家不同批次的产品,如id=1872可能A厂家的某个批次产品,id=1873是B厂家的某个批次产品)。
进一步地,通过尝试请求页面并得到如下数据:
经机器学习分析可知:可知当id固定是,ds和pc的参数无论任何变化,产品名称,产生经营者是一样的;当id和ds固定,pc参数任意变化,品种名称、生产经营者、单元识别码都一样;可以推算pc参数只是个附加参数,ds是同一批次的不同包装个体的编号。
通过对大量所述二维码样本数据进行学习分析,可以得到所述URL解析规则、所述识别码解析规则以及所述URL网页获取规则并建立解析规则库和网页获取规则库。
所述URL网页获取规则具体配置如下:
平台网站 |
参数 |
级别 |
http://seed-china.com/code.aspx |
ds |
2 |
http://seed-china.com/code.aspx |
id |
1 |
http://seed-china.com/code.aspx |
pc |
0 |
其中,2代表不同包装个体,1代表不同厂家批次,0代表无效参数,可忽略。
所述商品数据库存储的商品信息如下:
具体的商品二维码信息查询过程如下:
通过客户端扫描商品上的二维码,客户端可以是手机、扫描枪等;经过解析后得到如下字符串:
第一类解析(参数值):
http://seed-china.com/code.aspx?id=1871&ds=xxx&pc=yyy(xxx,yyy数据为任意实际数字字符),应用服务器对字符串极性分隔提取参数和参数值,并与URL解析规则进行匹配,如http://seed-china.com/code.aspx?id=1871平台,id是1871,则匹配,不用请求实际网址;
当匹配时,从商品数据库中得到如下商品信息:品种名称是:桂研一号毛节瓜;生产经营者名称是:B公司,单元识别码是:GYJG1h1871xxx
假如匹配不到字符串的id时,则去通过URL网页获取规则请求实际网址获取数据。
第二类解析(参数值):假如应用服务器已经扫描存储如下字符串:
http://www.abc.cn/d.asp?d=11712521123000000001111111111111
那么可以通过商品扫描历史数据和识别码解析规则从商品数据库中得出获取如下字符串对应的商品信息:
http://www.abc.cn/d.asp?d=11712521123xxxxxxxxxxxxxxxxxxxxx,
由于第2-7位是登记证号(依照预先抓取的登记数据已经确定了成分名、含量、厂家),在不去请求追溯网址的情况下仅凭登记证号就可以获取部分信息。
更进一步,同一厂家的编码规则具有一致性,对于自定义编码部分,如果分析得知厂家的某些位数编码数据,比如批次、包装形式,通过分析URL得到登记证号,查询登记注册数据获得厂家,查询扫码历史数据获得更多的信息。
如http://www.abc.cn/d.asp?d=11712521123xxxxxxxxxxxxxxxxxxxxx
与http://www.abc.cn/d.asp?d=11101551123xxxxxxxxxxxxxxxxxxxxx
根据农业部二维码规则,以上识别码分别代表登记证号为PD20171252与PD2010155,它们是同一厂家的产品。
如果应用服务器已经扫描录入了http://www.abc.cn/d.asp?d=11712521123xxxxxxxxxxxxxxxxxxxxx的相关商品信息;
则http://www.abc.cn/d.asp?d=11101551123xxxxxxxxxxxxxxxxxxxxx的信息在不请求追溯网址的情况下可以得出(除了登记证号所代表的数据外,包装形式、生产日期批次等信息同一个厂家的识别码固定在某些位置)。
第三类解析:
二维码直接代表的内容“201607250042700031400320,盐酸多西环素可溶性粉,兽药字(2012)150516011,鲁西兽药,0534-2151558”
通过符号分隔,得到相关参数值,如“兽药字(2012)150516011”可以通过查询本地服务器注册登记数据(预先爬取到服务器),得到厂家、成分、规格等重要数据。识别码“201607250042700031400320”可以推算日期规格。
网页内容提取解析举例:
通过前后截取的方式取取得字符串,经过简单数据清理(清除html标记)就是所得字符。
实施例三
请参阅图3,其是本发明实施例还提供了一种商品追溯信息查询系统的示意图,所述商品追溯信息查询系统包括:客户端1、应用服务器2以及规则服务器3;
所述客户端1,用于扫描商品包装上的二维码并对所述二维码进行解析,获取所述二维码对应的字符串并发送给所述应用服务器2;
所述应用服务器2,用于从所述字符串中提取参数以及参数值;
所述应用服务器2,用于将所述参数以及所述参数值与预存在规则服务器3中的规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端;若不匹配,则根据所述字符串,向追溯平台请求与所述字符串对应的商品信息并发送给所述客户端1。
在一种可选的实施例中,所述规则包括:存储在所述规则服务器3中的解析规则库中的解析规则以及存储在所述规则服务器3中网页获取规则库中的URL网页获取规则;
所述应用服务器2,用于将所述参数以及所述参数值与所述解析规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端1;若不匹配,则根据所述字符串,采用URL网页获取规则向追溯平台请求与所述字符串对应的商品信息并发送给客户端1,并将从所述追溯平台获取的商品信息存储到所述商品数据库中。
在一种可选的实施例中,当根据所述字符串采用URL网页获取规则向追溯平台请求与所述字符串对应的商品信息失败时,所述应用服务器2,用于向所述客户端1发送商品信息获取失败信息;
当所述客户端1接收到所述应用服务器2发送的商品信息获取失败信息时,所述客户端1,用于启动信息录入窗口,以使得所述客户端2通过所述信息录入窗口获取用户输入的商品信息。
在一种可选的实施例中,所述应用服务器2,用于通过API接口调用所述规则服务器3的解析规则库中的解析规则以及网页获取规则库中的URL网页获取规则。
在一种可选的实施例中,所述字符串的类型包括追溯平台网址、单元识别码、登记证号。
在一种可选的实施例中,所述解析规则包括URL解析规则以及识别码解析规则;
所述规则服务器3,用于对预先采集商品的二维码样本数据进行解析,得到所述二维码样本数据对应的字符串并提取所述二维码样本数据对应的字符串的参数和参数值进行规律学习分析,得到所述URL解析规则;
所述规则服务器3,用于采集商品的单元识别码样本数据,得到所述单元识别码样本数据对应的字符串并提取所述单元识别码样本数据对应的字符串的参数值进行规律学习分析,得到所述识别码解析规则。
所述商品追溯信息查询系统的原理与实施例一所述的商品追溯信息查询方法相同,在此不再重复描述。
相对于现有技术,本发明实施例提供的一种商品追溯信息查询方法的有益效果在于:该商品追溯信息查询方法包括:客户端扫描商品包装上的二维码并对所述二维码进行解析,获取所述二维码对应的字符串并发送给应用服务器;所述应用服务器从所述字符串中提取参数以及参数值;所述应用服务器将所述参数以及所述参数值与预存在规则服务器中的规则进行匹配;若匹配,则从商品数据库中调用与所述参数以及所述参数值对应的商品信息并发送给所述客户端;若不匹配,则根据所述字符串,向追溯平台请求与所述字符串对应的商品信息并发送给所述客户端。通过该商品追溯信息查询方法能够有效提高商品二维码信息的兼容性以及不同溯源平台的商品信息读取效率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。