基于二维码的服务提供方法、装置、设备及存储介质与流程

文档序号:23262498发布日期:2020-12-11 18:51阅读:110来源:国知局
基于二维码的服务提供方法、装置、设备及存储介质与流程

本发明涉及信息技术领域,尤其涉及一种基于二维码的服务提供方法、装置、设备及存储介质。



背景技术:

随着网上购物的日益兴起,物流行业也随之蓬勃发展,而目前的物流行业中多采用条形码快递面单,以保证快递行业的连续数据输出,便于管理,目前快点面单所用纸张一般为多联无碳复写纸等,常规尺寸有217*127、230*140、240*150等,在这些快递面单上缺少一个能够面向多种角色,用户群体的整合二维码,无法通过此整合二维码扫描展现各个角色要查看的信息,由于快递面单的尺寸是事先设置好的,空间区域有限,放置多个二维码不现实。



技术实现要素:

本申请的主要目的是解决现有的快递面单上单个二维码获取的信息无法提供不同的服务的技术问题。

本发明第一方面提供了一种基于二维码的服务提供方法,包括:

扫描并识别快递面单上的载密二维码,提取所述载密二维码中携带的运单号,其中所述载密二维码为在原始信息中隐藏了运单号生成的二维码;

识别进行扫描动作的所在终端是否存在用户唯一标识;

若存在,则确定所述用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和所述运单号,从服务器中获取与所述账户类型对应的第一服务,并提供给所述终端;

若不存在,则确定进行扫描动作的终端的设备类型,根据所述设备类型和所述运单号,从所述服务器中获取与所述设备类型对应的第二服务,并提供给所述终端。

可选的,在本发明第一方面的第一种实现方式中,在所述扫描并识别快递面单上的载密二维码,提取所述载密二维码中携带的运单号之前还包括:

获取原始信息、运单号和嵌入密钥;

对所述原始信息进行数据编码处理和纠错编码处理,得到数据码字,并计算所述数据码字的最大可隐藏信息量;

对所述运单号进行编码,得到格式化的秘密序列,并计算所述秘密序列的隐藏信息量;

判断所述隐藏信息量是否大于所述最大可隐藏信息量;

若是,则输出告警信息,以提示所述隐藏信息量过大;

若否,则根据所述嵌入密钥,初始化预设的伪随机发生器,生成伪随机序列,并根据所述伪随机序列确定嵌入位置;

根据所述嵌入位置,将所述秘密序列替换所述数据码字中的原始序列,并在替换后的数字码字后添加结束符,得到载密数据;

根据所述载密数据,生成载密二维码。

可选的,在本发明第一方面的第二种实现方式中,所述对所述原始信息进行数据编码处理和纠错编码处理,得到数据码字包括:

根据所述原始信息的长度和类型,选择需要生成的载密二维码的版本和纠错码等级;

根据所述版本,对所述原始信息进行数据编码,得到编码字符串;

根据所述纠错码等级和所述原始信息,生成纠错字符串;

将所述纠错码字符串添加在所述编码字符串后,得到数据码字。

可选的,在本发明第一方面的第三种实现方式中,所述嵌入密钥包括第一密钥和第二密钥,所述根据所述嵌入密钥,初始化预设的伪随机发生器,生成伪随机序列,并根据所述伪随机序列确定嵌入位置包括:

根据所述第一密钥,初始化所述伪随机发生器生成第一伪随机序列;

根据所述伪随机序列,从所述数据码字中随机选择至少一个字符,并根据所述字符生成连续的比特流;

根据所述第二密钥,初始化所述伪随机发生器生成第二伪随机序列,并根据所述第二伪随机序列确定所述秘密序列在所述比特流上的嵌入位置。

可选的,在本发明第一方面的第四种实现方式中,所述扫描并识别快递面单上的载密二维码,提取所述载密二维码中携带的运单号包括:

扫描所述载密二维码,并获取所述嵌入密钥;

识别并解析所述载密二维码,得到所述载密二维码的载密数据;

根据所述嵌入密钥,初始化预设的伪随机发生器,生成伪随机序列,并根据所述伪随机序列确定嵌入位置;

根据所述嵌入位置,获取所述载密数据中的秘密序列;

将所述秘密序列转化为运单号。

可选的,在本发明第一方面的第五种实现方式中,所述确定所述用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和所述运单号,从服务器中获取与所述账户类型对应的第一服务,并提供给所述终端包括:

判断所述用户唯一标识的账户类型;

若所述账户类型为寄件人,则根据所述运单号查询对应快件的运费,并将所述运费显示在对应的终端,以提示寄件人支付运费;

若所述账户类型为快递员,则根据所述运单号查询对应快件的订单信息和物流信息并显示在对应的终端;

若所述账户类型为会员用户,则根据所述运单号查询对应快件的物流信息并显示。

可选的,在本发明第一方面的第六种实现方式中,所述确定进行扫描动作的终端的设备类型,根据所述设备类型和所述运单号,从所述服务器中获取与所述设备类型对应的第二服务,并提供给所述终端包括:

判断所述终端的设备类型;

若所述终端的设备类型为流水线终端,则根据所述运单号生成对应的扫描记录,并将所述扫描记录上传。

若所述终端的设备类型为用户终端,则根据所述运单号查询对应快件的物流信息并显示。

本发明第二方面提供了一种基于二维码的服务提供装置,包括:

扫描模块,用于扫描并识别快递面单上的载密二维码,提取所述载密二维码中携带的运单号;

识别模块,用于识别进行扫描动作的所在终端是否存在用户唯一标识;

第一服务提供模块,用于当所述终端存在用户唯一标识时,确定所述用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和所述运单号,从服务器中获取与所述账户类型对应的第一服务,并提供给所述终端;

第二服务提供模块,用于当所述终端不存在用户唯一标识时,确定进行扫描动作的终端的设备类型,根据所述设备类型和所述运单号,从所述服务器中获取与所述设备类型对应的第二服务,并提供给所述终端。

可选的,在本发明第二方面的第一种实现方式中,所述基于二维码的服务提供装置还包括二维码生成模块,所述二维码生成模块包括:

获取单元,用于获取原始信息、运单号和嵌入密钥;

信息编码单元,用于对所述原始信息进行数据编码处理和纠错编码处理,得到数据码字,并计算所述数据码字的最大可隐藏信息量;

运单编码单元,用于对所述运单号进行编码,得到格式化的秘密序列,并计算所述秘密序列的隐藏信息量;

判断单元,用于判断所述隐藏信息量是否大于所述最大可隐藏信息量;

告警单元,用于当所述隐藏信息量大于所述最大可隐藏信息量时,输出告警信息,以提示所述隐藏信息量过大;

确定单元,用于当所述隐藏信息量不大于所述最大可隐藏信息量时,根据所述嵌入密钥,初始化预设的伪随机发生器,生成伪随机序列,并根据所述伪随机序列确定嵌入位置;

嵌入单元,用于根据所述嵌入位置,将所述秘密序列替换所述数据码字中的原始序列,并在替换后的数字码字后添加结束符,得到载密数据;

生成单元,用于根据所述载密数据,生成载密二维码。

可选的,在本发明第二方面的第二种实现方式中,所述信息编码单元具体用于:

根据所述原始信息的长度和类型,选择需要生成的载密二维码的版本和纠错码等级;

根据所述版本,对所述原始信息进行数据编码,得到编码字符串;

根据所述纠错码等级和所述原始信息,生成纠错字符串;

将所述纠错码字符串添加在所述编码字符串后,得到数据码字。

可选的,在本发明第二方面的第三种实现方式中,所述确定单元具体用于:

根据所述第一密钥,初始化所述伪随机发生器生成第一伪随机序列;

根据所述伪随机序列,从所述数据码字中随机选择至少一个字符,并根据所述字符生成连续的比特流;

根据所述第二密钥,初始化所述伪随机发生器生成第二伪随机序列,并根据所述第二伪随机序列确定所述秘密序列在所述比特流上的嵌入位置。

可选的,在本发明第二方面的第四种实现方式中,所述扫描模块具体用于:

扫描所述载密二维码,并获取所述嵌入密钥;

识别并解析所述载密二维码,得到所述载密二维码的载密数据;

根据所述嵌入密钥,初始化预设的伪随机发生器,生成伪随机序列,并根据所述伪随机序列确定嵌入位置;

根据所述嵌入位置,获取所述载密数据中的秘密序列;

将所述秘密序列转化为运单号。

可选的,在本发明第二方面的第五种实现方式中,所述第一服务模块具体用于:

判断所述用户唯一标识的账户类型;

若所述账户类型为寄件人,则根据所述运单号查询对应快件的运费,并将所述运费显示在对应的终端,以提示寄件人支付运费;

若所述账户类型为快递员,则根据所述运单号查询对应快件的订单信息和物流信息并显示在对应的终端;

若所述账户类型为会员用户,则根据所述运单号查询对应快件的物流信息并显示。

可选的,在本发明第二方面的第六种实现方式中,所述第二服务模块具体用于:

判断所述终端的设备类型;

若所述终端的设备类型为流水线终端,则根据所述运单号生成对应的扫描记录,并将所述扫描记录上传。

若所述终端的设备类型为用户终端,则根据所述运单号查询对应快件的物流信息并显示。

本发明第三方面提供了一种基于二维码的服务提供设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于二维码的服务提供设备执行上述的基于二维码的服务提供方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于二维码的服务提供方法。

本发明的技术方案中,扫描并识别快递面单上的载密二维码,提取所述载密二维码中携带的运单号;识别进行扫描动作的所在终端是否存在用户唯一标识;若存在,则确定所述用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和所述运单号,从服务器中获取与所述账户类型对应的第一服务,并提供给所述终端;若不存在,则确定进行扫描动作的终端的设备类型,根据所述设备类型和所述运单号,从所述服务器中获取与所述设备类型对应的第二服务,并提供给所述终端。本方法通过将运单号信息隐藏在快递面单中的载密二维码中,使得不同的用户扫描载密二维码时能够得到不同的信息,获得运单号的用户能够根据自身的用户唯一标识和扫描所述载密二维码的设备类型,提供不同类型的服务,通过两种方式的结合,实现在一张快递面上一码到底的服务,在快递面单上固定的一个区域,放置载密二维码,不同用户扫描展现不同的效果,实现服务的多样化。

附图说明

图1为本发明实施例中基于二维码的服务提供方法的第一个实施例示意图;

图2为本发明实施例中基于二维码的服务提供方法的第二个实施例示意图;

图3为本发明实施例中基于二维码的服务提供方法的第三个实施例示意图;

图4为本发明实施例中基于二维码的服务提供方法的第四个实施例示意图;

图5为本发明实施例中基于二维码的服务提供方法的第五个实施例示意图;

图6为本发明实施例中基于二维码的服务提供装置的一个实施例示意图;

图7为本发明实施例中基于二维码的服务提供装置的另一个实施例示意图;

图8为本发明实施例中基于二维码的服务提供设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种基于二维码的服务提供方法、装置、设备及存储介质,本发明的技术方案中,扫描并识别快递面单上的载密二维码,提取所述载密二维码中携带的运单号;识别进行扫描动作的所在终端是否存在用户唯一标识;若存在,则确定所述用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和所述运单号,从服务器中获取与所述账户类型对应的第一服务,并提供给所述终端;若不存在,则确定进行扫描动作的终端的设备类型,根据所述设备类型和所述运单号,从所述服务器中获取与所述设备类型对应的第二服务,并提供给所述终端。本方法将运单号信息隐藏在快递面单中的载密二维码中,使得不同的用户扫描载密二维码时能够得到不同的信息,获得运单号的用户能够根据自身的用户唯一标识和扫描所述载密二维码的设备类型,提供不同类型的服务,通过两种方式的结合,实现在一张快递面上一码到底的服务,在快递面单上固定的一个区域,放置载密二维码,不同用户扫描展现不同的效果,实现服务的多样化。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于二维码的服务提供方法的第一个实施例包括:

101、扫描并识别快递面单上的载密二维码,提取载密二维码中携带的运单号;

可以理解的是,本发明的执行主体可以为基于二维码的服务提供装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。

在实际应用中,部分快递的快递面单上会设置有条形码或二维码,其中二维码是近几年来移动设备上超流行的一种编码方式,比传统的条形码能存更多的信息,也能表示更多的数据类型,一般的,快递面单上都是设置有条形码,较少设置二维码,通过条形码能够识别该快件的运单号,并通过所述运单号实现不同的操作过程以及服务,而设置的面单上的二维码一般是快件公司的广告,起到推广的作用。

在实际应用中,二维码一般用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。一般一种编码方式只存储一类数据,同时方式二维码和条形码会使得快递面单占据的区域变大,面单的空间区域有限,同时设置多个条形码和二维码并不现实,在实际应用中,可以通过一种二维码信息隐藏技术,将运单号或其他类型的数据隐藏在二维码原本运载的数据中,在不影响原有信息的情况下,实现多种信息承载在一个二维码上面,生成一个载密二维码,通过不用物流过程中不同人扫描该载密二维码得到的运单号,提供不同的服务类型。

102、识别进行扫描动作的所在终端是否存在用户唯一标识;

在本实施例中,通过一些二维码信息隐藏技术,能够将运单号以及其他信息隐藏在载密二维码中,不同的物流流程会有不同的扫描设备扫描该载密二维码,例如在寄件阶段,驿站在获取到需要运输的快件后为快件打印快件面单,此时寄件人尚未付款,在扫描快件面单上的载密二维码获得运单号后,系统查询运费系统显示该快件尚未付款,便在寄件人的用户页面显示字符运费,若查询到以支付运费,则显示该快件当前的物流信息,在本实施例中,所述用户唯一标识为用户在使用运行本方法的系统时,通过系统注册的用户id,通过该用户id能够识别出用户的账户类型,并根据不同账户类型提供不同的服务。

103、若存在,则确定用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和运单号,从服务器中获取与账户类型对应的第一服务,并提供给终端;

在本实施例中,当识别出扫描动作所在的终端设备存在用户唯一标识后,能够根据该用户唯一标识的账户类型,提供不同的服务,所述用户唯一标识和账户类型的关系,可以是在用户注册在系统的用户唯一标识时,系统根据用户不同的注册过程为用户分配,例如当用户注册选择寄件人时,系统为该用户唯一标识标记为寄件人的账户类型,或者是通过不同的注册系统,将不同用户的注册过程通过不同的系统分开,在寄件人系统注册的用户唯一标识标记为寄件人的账户类型,用户在快递员系统注册的用户唯一标识,快递员系统为该用户唯一标识标记为快递员,通过不同的用户唯一标识,实现服务的多样化。

104、若不存在,则确定进行扫描动作的终端的设备类型,根据设备类型和运单号,从服务器中获取与设备类型对应的第二服务,并提供给终端。

在本实施例中,可能存在扫码设备不存在用户唯一标识的情况,例如在快件处于流水线分拣的阶段,分拣员使用分拣设备扫描快递面单上的载密二维码,一般在分拣的过程中,快件的扫描记录与分拣员的身份无关,扫描快件上的载密二维码即生成该快件的扫描记录,扫描记录上没有关于分拣员的信息,所以一般在快件分拣阶段,并不需要为分拣员分配用户id。通过不同的扫描终端的设备类型,在没有用户唯一标识的前提下,也能够提供多种不同的服务,实现服务的多样性。

在本实施例中,扫描并识别快递面单上的载密二维码,提取所述载密二维码中携带的运单号;识别进行扫描动作的所在终端是否存在用户唯一标识;若存在,则确定所述用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和所述运单号,从服务器中获取与所述账户类型对应的第一服务,并提供给所述终端;若不存在,则确定进行扫描动作的终端的设备类型,根据所述设备类型和所述运单号,从所述服务器中获取与所述设备类型对应的第二服务,并提供给所述终端。本方法通过将运单号信息隐藏在快递面单中的载密二维码中,使得不同的用户扫描载密二维码时能够得到不同的信息,获得运单号的用户能够根据自身的用户唯一标识和扫描所述载密二维码的设备类型,提供不同类型的服务,通过两种方式的结合,实现在一张快递面上一码到底的服务,在快递面单上固定的一个区域,放置载密二维码,不同用户扫描展现不同的效果,实现服务的多样化。

请参阅图2,本发明实施例中基于二维码的服务提供方法的第二个实施例包括:

201、获取原始信息、运单号和嵌入密钥;

在本实施例中,所述原始信息为生成载密二维码原本的信息,一般的,在快点面单上的二维码中包含的信息为该快件公司的一些宣传内容,例如可以是该快件公公司的官网、公众号等。

在本实施例中,所述嵌入密钥的作用主要是为了确定运单号生成的数据嵌入所述原始信息的数据中的位置。

202、根据原始信息的长度和类型,选择需要生成的载密二维码的版本和纠错码等级;

203、根据版本,对原始信息进行数据编码,得到编码字符串;

204、根据纠错码等级和原始信息,生成纠错字符串;

在实际应用中,生成二维码需要选择生成二维码的版本和纠错码级别,本实施例以原始信息为公司的官网为例,原始信息为“http://www.whu.edu.cn”,运单号为“123044162062”,定义version为二维码的版本,t为bch纠错位数,s为运单号转换的二进制字符串,t为运单号增加bch纠错码后的二进制字符串。

根据一般情况下二维码携带原始信息的长度,本实施例选择二维码的版本为version=3,二维码矩阵29*29,总共能容纳70个码字,对于四种纠错等级l、m、q、h,将原单号转换为字符串s=1110010100110000000001110101000001110,长度为37位,由于总共需要纠4位错选择将s分为两组,每张进行bch编码,即t=2,根据bch编码原理选取本原bch(31,21)码,即21位有效信息的字符串生成10为bch纠错码,因此最后需要嵌入的包含bch纠错码的二进制信息应当有62位,考虑到各纠错等级的纠错容量,选择的纠错等级为q。

205、将纠错码字符串添加在编码字符串后,得到数据码字,并计算数据码字的最大可隐藏信息量;

在本实施例中,通过以下式子能够获得数字码字的最大可隐藏信息量:

0<k<n<2m+2;

其中,k是编码的数据符号数量,n是编码块中编码符号数量,1个符号由m个比特组成,数字码字的最大可隐藏信息量r为:

r=n-k;

将运单号编码的数据嵌入n-维码数据的最大可隐藏信息量的冗余中,不会影响二维码自身携带的信息。

206、对运单号进行编码,得到格式化的秘密序列,并计算秘密序列的隐藏信息量;

207、判断隐藏信息量是否大于最大可隐藏信息量;

208、若是,则输出告警信息,以提示隐藏信息量过大;

209、若否,则根据嵌入密钥,初始化预设的伪随机发生器,生成伪随机序列,并根据伪随机序列确定嵌入位置;

210、根据嵌入位置,将秘密序列替换数据码字中的原始序列,并在替换后的数字码字后添加结束符,得到载密数据;

211、根据载密数据,生成载密二维码;

212、扫描并识别快递面单上的载密二维码,提取载密二维码中携带的运单号;

213、识别进行扫描动作的所在终端是否存在用户唯一标识;

214、若存在,则确定用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和运单号,从服务器中获取与账户类型对应的第一服务,并提供给终端;

215、若不存在,则确定进行扫描动作的终端的设备类型,根据设备类型和运单号,从服务器中获取与设备类型对应的第二服务,并提供给终端。

本实施例中的步骤212-215与第一实施例中的步骤101-104相似,此处不再赘述。

本实施例在上一实施例的基础上,详细描述了生成载密二维码和获得所述载密二维码包含的数字码字的过程,通过获取原始信息、运单号和嵌入密钥;对原始信息进行数据编码处理和纠错编码处理,得到数据码字,并计算数据码字的最大可隐藏信息量;对运单号进行编码,得到格式化的秘密序列,并计算秘密序列的隐藏信息量,判断隐藏信息量是否大于最大可隐藏信息量;若是,则输出告警信息,以提示隐藏信息量过大;若否,则根据嵌入密钥,初始化预设的伪随机发生器,生成伪随机序列,并根据伪随机序列确定嵌入位置;根据嵌入位置,将秘密序列替换数据码字中的原始序列,并在替换后的数字码字后添加结束符,得到载密数据;根据载密数据,生成载密二维,其中对原始信息进行数据编码处理和纠错编码处理,得到数据码字通过根据原始信息的长度和类型,选择需要生成的载密二维码的版本和纠错码等级;根据版本,对原始信息进行数据编码,得到编码字符串;根据纠错码等级和原始信息,生成纠错字符串;将纠错码字符串添加在编码字符串后,得到数据码字。通过以上方式生成的载密二维码,能够将运单号隐藏在原始信息中。

请参阅图3,本发明实施例中基于二维码的服务提供方法的第三个实施例包括:

301、获取原始信息、运单号和嵌入密钥;

302、对原始信息进行数据编码处理和纠错编码处理,得到数据码字,并计算数据码字的最大可隐藏信息量;

303、对运单号进行编码,得到格式化的秘密序列,并计算秘密序列的隐藏信息量;

304、判断隐藏信息量是否大于最大可隐藏信息量;

305、若是,则输出告警信息,以提示隐藏信息量过大;

306、若否,则根据嵌入密钥的第一密钥,初始化伪随机发生器生成第一伪随机序列;

307、根据伪随机序列,从数据码字中随机选择至少一个字符,并根据字符生成连续的比特流;

308、根据嵌入密钥的第二密钥,初始化伪随机发生器生成第二伪随机序列,并根据第二伪随机序列确定秘密序列在比特流上的嵌入位置;

309、根据嵌入位置,将秘密序列替换数据码字中的原始序列,并在替换后的数字码字后添加结束符,得到载密数据;

在本实施例中,假设二维码的一个数据块b包含n个符号,其中,校验符号k个,带嵌入的信息m={mi丨mi∈{0,l},i=1,2,3……l},其中,嵌入密钥分别为k1、k2,对于每一块,详细的嵌入算法如下:

步骤1:第一嵌入密钥k1初始化伪随机数发生器g1产生一组随机序列r1={r1i丨r1i∈{1,2,……,n-1,n},r1i≠r1j,i,j=1,2,……[k/2]};

步骤2:根据随机序列r1,从包含了n个符号的数据块b中随机选择[k/2]个符号,这些被选择的符号构成了逻辑上连续的比特流

步骤3:第二嵌入密钥k2初始化伪随机数发生器g2产生一组随机序列

步骤4:根据随机序列r2,确定需要嵌入的信息m在比特流s的嵌入位置,如果取反,否则不变。

310、根据载密数据,生成载密二维码;

311、扫描并识别快递面单上的载密二维码,提取载密二维码中携带的运单号;

312、识别进行扫描动作的所在终端是否存在用户唯一标识;

313、若存在,则确定用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和运单号,从服务器中获取与账户类型对应的第一服务,并提供给终端;

314、若不存在,则确定进行扫描动作的终端的设备类型,根据设备类型和运单号,从服务器中获取与设备类型对应的第二服务,并提供给终端。

本实施例中的步骤211-214与第一实施例中的步骤101-104相似,此处不再赘述。

本实施例在前实施例的基础上,详细描述了将运单号嵌入原始信息的过程,根据所述第一密钥,初始化所述伪随机发生器生成第一伪随机序列;根据所述伪随机序列,从所述数据码字中随机选择至少一个字符,并根据所述字符生成连续的比特流;根据所述第二密钥,初始化所述伪随机发生器生成第二伪随机序列,并根据所述第二伪随机序列确定所述秘密序列在所述比特流上的嵌入位置,通过本方法能够将运单号存储在原始信息中,同时不影响其他需要获取原始信息的用户获取信息。

请参阅图4,本发明实施例中基于二维码的服务提供方法的第四个实施例包括:

401、扫描载密二维码,并获取嵌入密钥;

402、识别并解析载密二维码,得到载密二维码的载密数据;

在本实施例中,扫描所述载密二维码并识别的方法有许多中,要有三类,分别为线性ccd和线性图像式、带光栅的激光阅读器和图像式、图像式。本技术方案采用优化过的二维码解码算法主要由五个步骤构成,分别为:图像预处理、定位校正、读数据、纠错译码。其中对于定位校正中的定位目的是为了发现图像中二维码图形的准确位置,获取该二维码的部分信息,比如大小尺寸、覆盖区域、边缘。二维码通常是矩形,因此定位就是为了获取矩形四个顶点的位置。研究二维码定位算法主要有两个方向:第一个方向就是通过二维码的结构特征进行定位,比如通过寻找二维码的寻像图形,利用该寻像图形确定二维码的位置:第二个方向就是通过二维码的形状特征,比如二维码是矩形,边缘整齐,可以先识别二维码的边缘,再根据边缘推算出二维码的准确位置。假如图像只是角度和位置上有变化,只需要对图像进行平移或者旋转操作即可校正。然而,在现实实践中,遇到情况比较复杂,比如图像采样角度、二维码不平整,都会导致采样图像畸变,因此我们需要更多的校正操作来面对这些问题。

403、根据嵌入密钥,初始化预设的伪随机发生器,生成伪随机序列,并根据伪随机序列确定嵌入位置;

404、根据嵌入位置,获取载密数据中的秘密序列;

405、将秘密序列转化为运单号;

在本实施例中,通过与嵌入算法相反的提取算法提取出隐藏的运单号,所述提取算法的步骤如下:

步骤1:第一嵌入密钥k1初始化伪随机数发生器g1产生一组随机序列r1={r1i丨r1i∈{1,2,……,n-1,n},r1i≠r1j,i,j=1,2,……[k/2]};

步骤2:根据随机序列r1从包含n个符号的数据块中构造和嵌入过程相同的逻辑上连续的比特流

步骤3:第二嵌入密钥k2初始化伪随机数发生器g2产生一组随机序列

步骤4:根据随机序列r2,确定运单号在比特流s的嵌入位置并提取出来。

406、识别进行扫描动作的所在终端是否存在用户唯一标识;

407、若存在,则确定用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和运单号,从服务器中获取与账户类型对应的第一服务,并提供给终端;

408、若不存在,则确定进行扫描动作的终端的设备类型,根据设备类型和运单号,从服务器中获取与设备类型对应的第二服务,并提供给终端。

本实施例在前实施例的基础上,详细描述了扫描并识别快递面单上的载密二维码,提取所述载密二维码中携带的运单号的过程,通过扫描所述载密二维码,并获取所述嵌入密钥;识别并解析所述载密二维码,得到所述载密二维码的载密数据;根据所述嵌入密钥,初始化预设的伪随机发生器,生成伪随机序列,并根据所述伪随机序列确定嵌入位置;根据所述嵌入位置,获取所述载密数据中的秘密序列;将所述秘密序列转化为运单号。

请参阅图5,本发明实施例中基于二维码的服务提供方法的第五个实施例包括:

501、扫描并识别快递面单上的载密二维码,提取载密二维码中携带的运单号;

502、识别进行扫描动作的所在终端是否存在用户唯一标识;

503、若存在,则判断用户唯一标识的账户类型;

504、若账户类型为寄件人,则根据运单号查询对应快件的运费,并将运费显示在对应的终端,以提示寄件人支付运费;

505、若账户类型为快递员,则根据运单号查询对应快件的订单信息和物流信息并显示在对应的终端;

506、若账户类型为会员用户,则根据运单号查询对应快件的物流信息并显示;

507、若不存在,判断终端的设备类型;

508、若终端的设备类型为流水线终端,则根据运单号生成对应的扫描记录,并将扫描记录上传;

509、若终端的设备类型为用户终端,则根据运单号查询对应快件的物流信息并显示。

本实施例在上一实施例的基础上,详细的描述了对不同用户以及不同的终端设备提供不同服务的过程,在用户扫描载密二维码后,通过识别扫描动作所在终端是否存在用户唯一标识以及用户唯一标识的类型提供不同的服务,在该用户终端不存在用户唯一标识时,根据终端的设备类型提供不同类型的服务,实现通过二维码隐藏的运单号提供的服务的多样性。

上面对本发明实施例中基于二维码的服务提供方法进行了描述,下面对本发明实施例中基于二维码的服务提供装置进行描述,请参阅图6,本发明实施例中基于二维码的服务提供装置一个实施例包括:

扫描模块601,用于扫描并识别快递面单上的载密二维码,提取所述载密二维码中携带的运单号;

识别模块602,用于识别进行扫描动作的所在终端是否存在用户唯一标识;

第一服务提供模块603,用于当所述终端存在用户唯一标识时,确定所述用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和所述运单号,从服务器中获取与所述账户类型对应的第一服务,并提供给所述终端;

第二服务提供模块604,用于当所述终端不存在用户唯一标识时,确定进行扫描动作的终端的设备类型,根据所述设备类型和所述运单号,从所述服务器中获取与所述设备类型对应的第二服务,并提供给所述终端。

本发明实施例中,所述基于二维码的服务提供装置运行上述基于二维码的服务提供方法,扫描并识别快递面单上的载密二维码,提取所述载密二维码中携带的运单号;识别进行扫描动作的所在终端是否存在用户唯一标识;若存在,则确定所述用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和所述运单号,从服务器中获取与所述账户类型对应的第一服务,并提供给所述终端;若不存在,则确定进行扫描动作的终端的设备类型,根据所述设备类型和所述运单号,从所述服务器中获取与所述设备类型对应的第二服务,并提供给所述终端。本方法通过将运单号信息隐藏在快递面单中的载密二维码中,使得不同的用户扫描载密二维码时能够得到不同的信息,获得运单号的用户能够根据自身的用户唯一标识和扫描所述载密二维码的设备类型,提供不同类型的服务,通过两种方式的结合,实现在一张快递面上一码到底的服务,在快递面单上固定的一个区域,放置载密二维码,不同用户扫描展现不同的效果,实现服务的多样化。

请参阅图7,本发明实施例中基于二维码的服务提供装置的第二个实施例包括:

扫描模块601,用于扫描并识别快递面单上的载密二维码,提取所述载密二维码中携带的运单号;

识别模块602,用于识别进行扫描动作的所在终端是否存在用户唯一标识;

第一服务提供模块603,用于当所述终端存在用户唯一标识时,确定所述用户唯一标识的账户类型,根据预设的账户类型与服务之间的关联关系和所述运单号,从服务器中获取与所述账户类型对应的第一服务,并提供给所述终端;

第二服务提供模块604,用于当所述终端不存在用户唯一标识时,确定进行扫描动作的终端的设备类型,根据所述设备类型和所述运单号,从所述服务器中获取与所述设备类型对应的第二服务,并提供给所述终端。

其中,所述基于二维码的服务提供装置还包括二维码生成模块605,所述二维码生成模块605包括:

获取单元6051,用于获取原始信息、运单号和嵌入密钥;

信息编码单元6052,用于对所述原始信息进行数据编码处理和纠错编码处理,得到数据码字,并计算所述数据码字的最大可隐藏信息量;

运单编码单元6053,用于对所述运单号进行编码,得到格式化的秘密序列,并计算所述秘密序列的隐藏信息量;

判断单元6054,用于判断所述隐藏信息量是否大于所述最大可隐藏信息量;

告警单元6055,用于当所述隐藏信息量大于所述最大可隐藏信息量时,输出告警信息,以提示所述隐藏信息量过大;

确定单元6056,用于当所述隐藏信息量不大于所述最大可隐藏信息量时,根据所述嵌入密钥,初始化预设的伪随机发生器,生成伪随机序列,并根据所述伪随机序列确定嵌入位置;

嵌入单元6057,用于根据所述嵌入位置,将所述秘密序列替换所述数据码字中的原始序列,并在替换后的数字码字后添加结束符,得到载密数据;

生成单元6058,用于根据所述载密数据,生成载密二维码。

其中,所述信息编码单元6052具体用于:

根据所述原始信息的长度和类型,选择需要生成的载密二维码的版本和纠错码等级;

根据所述版本,对所述原始信息进行数据编码,得到编码字符串;

根据所述纠错码等级和所述原始信息,生成纠错字符串;

将所述纠错码字符串添加在所述编码字符串后,得到数据码字。

可选的,所述确定单元6056具体用于:

根据所述第一密钥,初始化所述伪随机发生器生成第一伪随机序列;

根据所述伪随机序列,从所述数据码字中随机选择至少一个字符,并根据所述字符生成连续的比特流;

根据所述第二密钥,初始化所述伪随机发生器生成第二伪随机序列,并根据所述第二伪随机序列确定所述秘密序列在所述比特流上的嵌入位置。

可选的,所述扫描模块601具体用于:

扫描所述载密二维码,并获取所述嵌入密钥;

识别并解析所述载密二维码,得到所述载密二维码的载密数据;

根据所述嵌入密钥,初始化预设的伪随机发生器,生成伪随机序列,并根据所述伪随机序列确定嵌入位置;

根据所述嵌入位置,获取所述载密数据中的秘密序列;

将所述秘密序列转化为运单号。

可选的,所述第一服务模块603具体用于:

判断所述用户唯一标识的账户类型;

若所述账户类型为寄件人,则根据所述运单号查询对应快件的运费,并将所述运费显示在对应的终端,以提示寄件人支付运费;

若所述账户类型为快递员,则根据所述运单号查询对应快件的订单信息和物流信息并显示在对应的终端;

若所述账户类型为会员用户,则根据所述运单号查询对应快件的物流信息并显示。

可选的,所述第二服务模块604具体用于:

判断所述终端的设备类型;

若所述终端的设备类型为流水线终端,则根据所述运单号生成对应的扫描记录,并将所述扫描记录上传。

若所述终端的设备类型为用户终端,则根据所述运单号查询对应快件的物流信息并显示。

本实施例在上一实施例的基础上,增加了二维码生成模块,同时详细描述了所述二维码生成模块的单元结构,包括获取单元、信息编码单元、运单编码单元、判断单元、告警单元、确定单元、嵌入单元和生成单元,通过上述单元将运单号存储在原本生成二维码的原始信息中,并详细描述了部分模块的功能实现过程,通过两个服务模块,分别是第一服务模块和第二服务模块,对不同账户类型以及不同终端设备提供不同的服务类型,实现服务的多样化。

上面图6和图7从模块化功能实体的角度对本发明实施例中的中基于二维码的服务提供装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于二维码的服务提供设备进行详细描述。

图8是本发明实施例提供的一种基于二维码的服务提供设备的结构示意图,该基于二维码的服务提供设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于二维码的服务提供设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在基于二维码的服务提供设备800上执行存储介质830中的一系列指令操作,以实现上述基于二维码的服务提供方法的步骤。

基于二维码的服务提供设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图8示出的基于二维码的服务提供设备结构并不构成对本申请提供的基于二维码的服务提供设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述基于二维码的服务提供方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1