一种图形码的解码方法及其制码方法与流程
未命名
10-09
阅读:133
评论:0
1.本说明书涉及计算机技术领域,尤其涉及一种图形码的解码方法及其制码方法。
背景技术:
2.图形码是用若干种特定的几何图形按一定规律排布以记录信息的图案。为了满足不同的业务需求,可以发行不同类型的图形码,如人码、物码。以人码为例,其具体可以有老人码,而物码又可以包括场所码、商品码等。如何针对业务的需求,灵活地进行图形码的制作和解析是需要解决的问题。
技术实现要素:
3.为克服相关技术中存在的问题,本说明书提供了一种图形码的解码方法及其解码方法。
4.根据本说明书实施例的第一方面,提供一种图形码的解码方法,所述方法包括:
5.接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段;
6.基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系;
7.获取扫码终端扫描目标图形码所得到的待解析码值;
8.确定所述待解析码值中所对应的模板标识信息,并根据所述对应关系和确定的模板标识信息确定对应的制码模板;
9.基于确定的制码模板所定义的字段,向所述扫码终端返回对应的解码结果。
10.根据本说明书实施例的第二方面,提供一种图形码的制码方法,所述方法包括:
11.接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段;
12.基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系;
13.响应于用户的制码请求,确定所述制码请求所指示的制码模板;
14.基于确定的制码模板所对应的模板标识信息生成对应的制码数据集,所述制码数据集中包含有所述模板标识信息;
15.根据所述制码数据集生成对应的码值,并基于所述码值生成对应的图形码。
16.根据本说明书实施例的第三方面,提供一种图形码的解码装置,所述装置包括:
17.接收单元,用于接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段;
18.更新单元,用于基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系;
19.获取单元,用于获取扫码终端扫描目标图形码所得到的待解析码值;
20.确定单元,用于确定所述待解析码值中所对应的模板标识信息,并根据所述对应关系和确定的模板标识信息确定对应的制码模板;
21.返回单元,用于基于确定的制码模板所定义的字段,向所述扫码终端返回对应的解码结果。
22.根据本说明书实施例的第四方面,提供一种图形码的制码装置,所述装置包括:
23.模板接收单元,用于接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段;
24.模板更新单元,用于基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系;
25.请求确定单元,用于响应于用户的制码请求,确定所述制码请求所指示的制码模板;
26.生成单元,用于基于确定的制码模板所对应的模板标识信息生成对应的制码数据集,所述制码数据集中包含有所述模板标识信息;
27.图形码生成单元,用于根据所述制码数据集生成对应的码值,并基于所述码值生成对应的图形码。
28.根据本说明书实施例的第五方面,提供一种电子设备,包括:
29.处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为实现上述第一方面或第二方面所述方法的步骤。
30.根据本说明书实施例的第六方面,提供一种计算机可读存储介质,其上储存有可执行指令;其中,该指令被处理器执行时,实现上述第一方面或第二方面所述方法的步骤。
31.在本说明书实施例中,因为图形码对应的码值中可以仅包含模板标识信息,也就将对应的码值控制在了较短的长度内,故在解码阶段,可以保证有较高的解码效率;同时,因为解码服务端可以维护有多个制码模板,且制码模板定义有对应的字段,那么在进行解码时,可以根据对应的制码模板所定义的字段返回对应的信息组,从而灵活控制解码返回的信息组,满足业务需求的变化;另外,对于同一图形码而言,只要切换不同的制码模板进行解码即可控制对应的返回的解码信息组,从而无需更新替换该图形码即可满足业务需求,具有极高的兼容性。
32.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
33.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
34.图1是本说明书一示例性实施例提供的一种图形码的解码、制码系统的架构示意图;
35.图2是本说明书一示例性实施例提供的一种图形码的解码方法的流程图;
36.图3是本说明书一示例性实施例提供的一种制码模板的示意图;
37.图4是本说明书一示例性实施例提供的一种页面跳转的流程图;
38.图5是本说明书一示例性实施例提供的一种图形码的制码方法的流程图;
39.图6是本说明书一示例性实施例提供的一种制码、解码流程示意图;
40.图7是本说明书一示例性实施例提供的一种电子设备的示意结构图;
41.图8是本说明书一示例性实施例提供的一种图形码的解码装置的框图;
42.图9是本说明书一示例性实施例提供的一种图形码的制码装置的框图。
具体实施方式
43.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
44.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
45.本说明书所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
46.随着互联网技术的发展,图形码在人们生活中的应用越来越广泛。图形码存在多种类型,比如本说明书所述的图形码可以为条形码(barcode)、二维码(quick response code,或称qr code)、三维码等多种形式。以二维码为例,其可以采用data matrix、maxicode、aztec、qr code、pdf417等多种制式。以较为常见的二维码为例,二维码也称二维条码(2-dimensional bar code),是一种用二进制数据相对应的图形来表示数据信息的几何形体。
47.根据应用场景的差异,二维码可以划分有不同的类型,如:人码和物码。具体的,人码可以包括老人码,而物码可以包括商品码、场所码等。以上述老人码和场所码为例,老人码对应有老人码制码模板,利用该老人码制码模板可以进行制码和解码,该老人码制码模板定义有老人码所关注的字段,例如老人码制码模板可以定义有字段a、字段b和字段c,字段a可以用于表征持码者的姓名,字段b可以用于表征持码者的年龄,字段c可以表征持码者的身份证号码,对应的扫码终端扫描该老人码后,可以基于对应的码值向解码服务端发起请求,使得解码服务端可以获得上述老人码制码模板所定义的字段对应的数据,譬如:该老人码持码者姓名为“张三”、年龄为“64岁”以及身份证号码为“12145212”等。
48.类似地,场所码对应有场所码制码模板,可以利用该场所码制码模板进行制码和解码。该场所码制码模板定义有场所码所关注的字段,例如场所码制码模板可以定义有字
段a、字段b和字段c,字段a可以用于表征场所名称,字段b可以用于表征场所位置,字段c可以表征该场所联系人信息,对应的扫码终端扫描该场所码后,可以基于对应的码值向解码服务端发起请求,使得解码服务端可以获得上述场所码制码模板所定义的字段对应的数据,譬如:该场所码对应的场所名称为“北京a商城”、位置为“北京a街道a路322号”以及场所联系人电话为“010-1212546”等。然而,在相关技术中,以老人码为例,其仅允许使用统一的、唯一的老人码制码模板进行制码和解码,使得解码服务端在进行解码时,仅能获取该制码模板所定义字段对应的固定不变的数据,限制了解码返回的信息组,无法满足业务需求的变化。
49.有鉴于此,本说明书提供一种改进后的图形码解码、制码方案,以解决相关技术中存在的问题,下面结合附图进行详细说明。
50.图1是本说明书一示例性实施例提供的一种图形码的解码、制码系统的架构示意图,该系统可以包括网络10、服务器11、若干电子设备,如手机12、手机13和手机14等。
51.服务器11可以为一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器(如云服务器)。该服务器11可以支持图形码的解码,以作为如前所述的解码服务端。在一些情况下,服务器11也可以支持图形码的制码,即作为制码服务端;当然,制码服务端与解码服务端也可以分别部署在不同的服务器上,本说明书并不对此进行限制。具体的,该服务器11可以接收用户上传的制码模板,而该制码模板对应的字段可以由用户所自定义,从而可以维护有多样的制码模板;且服务器11可以获取扫码终端(如手机13)扫描目标图形码(如图1的qr1,quick response 1)所得到的待解析码值;从而服务器11可以确定所述待解析码值中所对应的模板标识信息,并根据所述对应关系和确定的模板标识信息确定对应的制码模板;服务器11可以基于确定的制码模板所定义的字段,向所述扫码终端返回对应的解码结果。
52.需要说明的是,虽然在图1所示的实施例中,服务器11可以集成有制码、解码的功能;但在一些实施例中,也可以额外配置有单独的制码服务器,使图形码的制码由制码服务器来完成,而图形码的解码由解码服务器完成,本说明书对此不进行限制。
53.手机12-14只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(pdas,personal digital assistants)、可穿戴设备(如智能眼镜、智能手表等)、vr(virtual reality,虚拟现实)设备、ar(augmented reality,增强现实)设备,或者是专门用于扫描二维码的扫码枪等,本说明书一个或多个实施例并不对此进行限制。网络10可以包括多种类型的有线或无线网络。手机12-14可以为扫码终端,用户可以通过扫码终端扫描图形码,并将扫描得到的待解析码值发送至服务器11进行解析;以及,进一步根据其返回的解析结果访问该图形码关联的预设服务等。可以理解的是,所述扫码终端可以装配或外接有摄像头、摄像模组等用于图像采集的硬件,以便实现对图形码的扫描,如手机13可以扫描二维码qr1、手机14可以扫描二维码qr2等,不再赘述。
54.图2是本说明书一示例性实施例提供的一种图形码的解码方法的流程图,可以包括以下步骤:
55.步骤202、接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段。
56.如前所述,制码模板可以认为是一种用于存储二维码信息的数据模型,制码模板可以定义不同的字段来映射和存储相应的信息。图3是本说明书一示例性实施例提供的一种制码模板的示意图。该制码模板可以包括如下字段:引导信息302,用于填入对应的url(universal resource locator,统一资源定位符),从而可以指向对应的服务页面;码体系标识304,用于表征图形码属于何种体系,例如属于市民码体系或属于场景码体系等;码配置id 306,用于表征图形码的配置id,从而决定图形码的配置信息,例如图形码的样式风格、采用的安全策略等;码版本号308,用于表征图形码的版本,一般可以用单调递增的数字来表示;码分类标识310,可以表征该码不同的实体类型;码来源标识312,可以用于表征图形码的来源,如图形码生成的平台等;码渠道标识314,可以表征发码渠道;唯一标号316,可以表征统一的基础身份标识;扩展信息长度318;扩展信息内容320;码生成时间322;码有效时间324;码体数据签名326。其中,扩展信息长度318和扩展信息内容320可以表征对应的扩展数据,例如用码场景信息等,而码生成时间322、码有效时间324和码体数据签名326可以用于记录相应的安全信息,从而防止被篡改。故从各个字段的作用来看,也可以将码体系标识304、码配置id 306、码版本号308、码分类标识310、码来源标识312、码渠道标识314、唯一标号316统称为标准字段(或标准域);将扩展信息长度318和扩展信息内容320统称为扩展字段(或扩展域);将码生成时间322、码有效时间324和码体数据签名326统称为安全校验字段(或安全校验域);将引导信息302称之为引导字段(或引导域)。需要说明的是,图3所示的制图模板中各个字段仅作为示例性说明,其可以根据实际情况进行调整修改,本说明书对此并不进行限制。解码服务端可以接收用户上传的制码模板,并确定所述制码模板对应的标识信息,而该用户上传的制码模板所定义的字段可以由用户根据实际需求所自定义,从而满足用户的不同制码需求。在接收用户所上传的制码模板后,可以确定该制码模板对应的标识信息,该标识信息可以具有唯一性,从而可以对应唯一一个制码模板。举例而言,假设用户上传了制码模板d,则可以确定该制码模板d对应的标识信息为04,而该标识信息具有唯一性,即标识信息04可以仅对应制码模板d。
57.步骤204、基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系。
58.解码服务端可以维护有制码模板和模板标识信息之间的对应关系。其可以如表1所示:
59.制码模板模板标识信息制码模板a01制码模板b02制码模板c03
60.表1
61.而如前所述,用户可以上传制码模板,譬如用户上传了制码模板d,而解码服务端可以确定该制码模板d的标识信息为04,从而更新如表1所示的对应关系,得到如下表2所示的对应关系。
62.制码模板模板标识信息制码模板a01制码模板b02
制码模板c03制码模板d04
63.表2
64.步骤206、获取扫码终端扫描目标图形码所得到的待解析码值。
65.扫码终端可以运行有对应的扫码程序:如公交车的扫码机具中运行有公交码的扫码程序、用户的手机中运行有老人码、场所码等多种图形码的扫码程序(如应用程序、小程序等)。用户可以使用扫码终端中运行的某一扫码程序扫描目标图形码得到相应的码值,该码值具体可以为二进制或十六进制等格式的字符串。该码值还需要经过解码服务端的进一步解析才能够为扫码终端提供相应的服务,将其记为待解析码值。而扫码终端在进行扫码后,可以得到待解析码值,并将其发送至解码服务端。对应的,该待解析码值中可以仅存储有对应的模板标识信息,从而将该码值控制在了较短的长度内,故在解码阶段,可以保证有较高的解码效率。
66.步骤208、确定所述待解析码值中所对应的模板标识信息,并根据所述对应关系和确定的模板标识信息确定对应的制码模板。
67.解码服务端确定待解析码值中所对应的模板标识信息,从而可以基于表2所示的对应关系来确定对应的制码模板。举例而言,假设待解析码值包含的模板标识信息为01,则基于表2所示的对应关系,可以确定该待解析码值对应的制码模板为制码模板a;假设待解析码值包含的模板标识信息为04,则基于表2所示的对应关系可以确定该待解析码值对应的制码模板为制码模板d;而因为待解析码值可以仅存储有对应的模板标识信息,也就将待解析码值控制于较短的长度内,从而解码服务端对于该较短长度的待解析码值可以具有较高的解码效率,确保图形码解码的效率。
68.步骤210、基于确定的制码模板所定义的字段,向所述扫码终端返回对应的解码结果。
69.如前所述,解码服务端可以确定制码模板为制码模板a,那么解码服务端可以基于制码模板a所定义的字段,向扫码终端返回对应的解码结果。当然,因为服务端维护的制码模板的数量可以大于二,所以,可以通过切换不同的生效制码模板来控制图形码解码返回的信息组。举例而言,利用制码模板a生成的图形码,在解码后,可以返回持码者的姓名、家庭住址、身份证号码。而在切换为制码模板b来生成图形码后,针对此图形码的解码,可以返回持码者的姓名、手机号码。不难发现,相较于现有技术中,只能使用同一制码模板进行制码、解码的方式,在进行多模板的配置后,通过切换不同的生效制码模板,来控制解码返回数据,提升解码结果的灵活性,满足不同场景下的解码需求,并且对于同一图形码而言,其仅需切换不同的制码模板即可控制返回的信息组,无需更新、替换该图形码,具有极高的兼容性。
70.如表1所示,解码服务端可以维护有多种模板,如制码模板a、制码模板b、制码模板c,从而通过切换不同的生效模板,来控制解码返回的信息组,满足不同场景的制码需求。结合实际情况,制码模板的切换通常是进行扩展字段的切换,而标准字段可以统一,例如以场景码为例,其通常只是地点的切换,但是对于场景码的样式风格、安全策略、场景码的版本等并不需要变更。故在一实施例中,所述制码模板可以包括标准字段和扩展字段,各制码模板定义有统一的标准字段以及自定义的扩展字段。当然,在一些实施例中,各制码模板的标
准字段也可以是自定义的,本说明书对此并不进行限制。
71.如前所述,通过在设备上运行相应的小程序、扫码app等,每个小程序或扫码app等都可以作为一种扫码途径,供用户进行扫码。在相关技术中,不同的扫码途径可以分别对应于不同的解码服务端,这些解码服务端上分别部署有不同的制码模板,使得用户在面对图形码时,需要选取恰当的扫码途径进行扫码,才能够确保扫码得到的码值被上传至相应的解码服务端后,能够被恰当的制码模板所解码,否则可能面临无法正确解码的情况。例如,在公交车上的扫码机具在扫描图形码后,会将得到的码值上传至相应的解码服务器,该解码服务器如果仅部署有公交码对应的制码模板,就只能对公交码对应的码值进行解析,而无法对其他类型图形码的码值进行解析。因此,乘客只有向扫码机具展示公交码供其扫描才能完成线上付款顺利乘车,若向其展示其他类型的图形码则无法顺利乘车;再例如,对于特定类型的小程序发布的图形码,只有该小程序对应的解码服务端才维护有相应的制码模板,其他小程序或任意类型的扫码程序所对应的解码服务端都不会维护该制码模板,使得用户如果想通过手机扫描该图形码访问服务页面,则只能使用手机中运行的该小程序扫描,使用其他类型的扫码程序则无法扫描或扫描后由于相应解码服务端无法正确解码(因为不会维护相应的制码模板)而导致无法跳转至预期的服务页面。在一些情况下,不同扫码途径也可能对应于同一解码服务端,使得该解码服务端相应维护多个制码模板,但这些制码模板之间相互隔离,仅用于对应的扫码途径。具体的,如果基于某一扫码途径a进行扫码,得到的码值上传至解码服务端后,该解码服务端仅通过该扫码途径a对应的制码模板进行解码。那么,如果用户使用了错误的扫码途径,则解码服务端仍然会解码失败。
72.有鉴于此,本说明书提出了在解码服务端部署多套制码模板,并在制码模板之间建立绑定关系。那么,每一制码模板都可以绑定有关联制码模板,使得在所述制码模板绑定有关联制码模板的情况下,可以基于关联制码模板所定义的字段,向所述扫码终端返回对应的解码结果。因此,对于基于关联制码模板进行制码得到的目标图形码而言,即便未通过该关联制码模板对应的扫码途径进行扫码,仍然可以采用关联制码模板对扫码得到的待解析码值进行解析。例如,若将制码模板b绑定至制码模板a,则对于基于制码模板b生成的图形码s,扫码终端通过制码模板a对应的扫码途径扫描该图形码s得到待解析码值,此时可以根据该扫码途径将制码模板a确定为标准制码模板,并将制码模板b确定为相应的关联制码模板,从而可以优先采用制码模板b对所述待解析码值进行解析,从而返回制码模板b所定义的字段对应的数据,实现了标准制码模板与关联制码模板的解码效果统一。例如在将老人码制码模板绑定至公交码制码模板,乘客通过自己的手机向公交车上的扫码机具展示自己的“老人码”的场景下,公交码制码模板可以被确定为标准制码模板,而其关联的老人制码模板则被确定为相应的关联制码模板,此时即可采用老人制码模板对待解析码值进行解码,使得乘客可以顺利扫码乘车。可见,乘客不仅可以使用公交码扫码乘车,也可以使用老人码扫码乘车,实现了“多码融合”的扫码效果,显著提升了图形码使用过程中的灵活性和便利性,有助于提升图形码的使用效率。
73.现阶段,扫码终端通过扫描图形码可以跳转至页面,如不同用户使用不同的手机扫描同一二维码后,均可以跳转至该二维码所关联的页面。采用该方式,各个页面需要分别关联至不同的图形码,因此需要生成的图形码数量较多。在页面数量较多或不同页面差异较小等场景下,可能造成图形码的管理负担过重以及资源浪费,不利于图形码的高效利用。
74.对此,所述解码服务端还可以响应于扫码终端扫描目标图形码的扫码事件所触发的页面跳转请求,获取所述扫码事件对应的扫码相关数据,所述目标图形码对应于多个页面,每一页面被分别创建有相应的页面匹配规则;在各个所述页面匹配规则中查询匹配于所述扫码相关数据的目标页面匹配规则,并触发所述扫码终端展示所述目标页面匹配规则对应的目标页面。可以理解的是,不同扫码事件对应的扫码相关数据(如用户身份、扫码终端的类型、目标图形码所处的场所、扫码时刻等)通常并不完全相同,因此针对不同的扫码事件,该方案可以根据不同的扫码相关数据触发扫码终端展示不同的页面:如不同用户使用不同的扫码终端扫描同一图形码分别跳转至不同的页面、同一用户使用同一扫码终端在不同时刻扫描位于不同位置的二维码分别跳转至不同的页面等。可见,相对于不同扫码终端扫描同一图形码会跳转至同一页面的相关技术中,本方案中的扫码终端在扫描图形码时,可以呈现出“一码千面”的页面跳转效果。可以理解的是,本方案中的多个页面可以关联至同一图形码(即所述目标图形码),从而实现多个页面对同一图形码的复用,不仅节省了图形码资源并有助于降低图形码的管理负担,也提升了该图形码的使用效率。即,本说明书所述的方法还可以包括以下步骤(如图4所示):
75.步骤402、响应于扫码终端扫描目标图形码的扫码事件所触发的页面跳转请求,解码服务端获取所述扫码事件对应的扫码相关数据,所述目标图形码对应于多个页面,每一页面被分别创建有相应的页面匹配规则。
76.本说明书实施例所述的解码服务端可以用于管理和维护图形码,具体的,可以为任一图形码配置相应的多个页面(即将所述多个页面绑定至该图形码)。在一实施例中,任一图形码的管理人员(如该图形码的发布方或该图形码所属码管理平台的管理员等)可以通过码管理终端访问解码服务端,以便管理(创建、关联、调整工作状态等)所述解码服务端维护的图形码。从而,所述管理人员可以通过码管理终端向解码服务端发起针对任一图形码的码标识信息和所述多个页面中各个页面的页面标识信息。其中,所述码标识信息用于唯一标识所述任一图形码,可以为该图形码的码值或者预设的(全局唯一的)码编号等;任一页面的页面标识信息用于唯一标识所述任一页面,可以为该页面的访问地址,如完整的url(uniform resource locator,统一资源定位符)或基于所述完整url生成的短链等。
77.其中,任一图形码的管理员可以在页面配置界面中对待绑定至该图形码的多个页面进行配置。如针对所述多个页面中的任一页面,可以在所述页面配置界面中配置该页面的前述地址信息,另外,还可以配置该页面的类型(小程序页面、h5页面等)和/或来源(该页面归属于哪个应用程序等)等基础信息。基于为任一页面配置的上述基础信息,解码服务端可以获取该页面的页面标识信息,从而准确地获知应当将哪个页面绑定至所述任一图形码。另外,被绑定至任一图形码的任一页面可以由该图形码的管理员在所述解码服务端中临时创建,或者也可以由所述解码服务端或其他平台预先创建,本说明书并不对此进行限制。
78.基于获取到的前述码标识信息和页面标识信息,解码服务端可以通过多种方式为任一图形码配置多个页面(即将所述多个页面绑定至所述任一图形码)。例如,可以在所述码标识信息与各个页面标识信息之间建立映射关系,此后通过查询该映射关系即可确定所述任一图形码被配置有哪些页面;再例如,也可以将各个页面标识信息作为所述任一图形码的相关信息进行记录,此后通过读取所述相关信息即可确定所述任一图形码被配置有哪
些页面。可以理解的是,在上述绑定完成后,被绑定的各个页面即成为所述任一图形码的关联页面,扫码终端在扫描该图形码产生一次扫码事件后,可以跳转至上述多个页面中的某一个页面。当然,具体跳转至哪个页面,需要由解码服务端根据扫码事件对应的扫码相关数据与各个页面分别对应的页面匹配规则之间的匹配情况进行判断。
79.需要说明的是,任一图形码可以绑定有多个页面,而任一页面可以被绑定至一个或多个图形码,图形码与页面之间的具体绑定情况可以根据页面内容、图形码数量、图形码的展示位置等具体的应用场景进行合理设置,本说明书并不对此进行限制。另外,对于解码服务端维护的任一图形码,其可能被按照上述方式绑定(或称配置)有多个页面,也可能仅有被绑定有一个页面,还可能并未被绑定任何页面。因此所述解码服务端维护的多个图形码,可能全部被绑定有多个页面,也可能仅有部分被绑定有多个页面。本说明书所述的目标图形码即为被配置有多个页面的任一图形码。
80.另外,任一图形码绑定的多个页面被分别创建有相应的页面匹配规则。示例性的,所述任一图形码的管理员可以在该图形码对应的规则配置界面中,为绑定至该图形码的各个页面分别创建相应的页面匹配规则。需要说明的是,所述多个页面各自的页面匹配规则两两互斥,即对于所述多个页面中任意两个页面分别对应的页面匹配规则而言,解码服务端获取到的扫码事件对应的扫码相关数据最多匹配于其中一条规则,而不会同时匹配于这两条规则。可见,对于与所述多个页面一一对应的多条页面匹配规则而言,各条页面匹配规则最多仅有一条匹配于所述扫码事件对应的全部扫码相关数据,而不会存在多条规则同时匹配于所述扫码相关数据,从而确保解码服务端可以准确地触发扫码终端展示某一确定的页面(即所述目标页面),从而避免扫码终端展示页面产生混乱。
81.在一实施例中,还可以响应于目标图形码或解码服务端的管理员发出的页面配置指令为任一图形码配置默认页面,该页面可以不配置相应的页面匹配规则,以便在前述各个页面对应的页面匹配规则均不匹配于扫码事件对应的扫码相关数据的情况下,可以触发所述扫码终端跳转至该默认页面,而无需显示报错信息,提升用户体验。可以理解的是,所述默认页面与前述各个页面均不相同。其中,所述默认页面展示的内容可以根据本方案的应用场景确定,示例性的,该页面可以为功能首页、登录页、推荐信息展示页等,不再赘述。
82.在一实施例中,在任一页面对应的页面匹配规则配置完成后,也可以对其进行适当的更新。如可以向解码服务端发起针对任一页面的规则更新指令;相应的,所述解码服务端可以响应于该指令,更新所述任一页面对应的页面匹配规则。其中,可以更新所述任一页面匹配规则中记录的至少一个数据特征,如新增、修改和/或删除至少一个数据特征等。示例性的,可以将扫码终端的类型由“手机”更新为“手机或平板电脑”,也可以将用户的年龄由“18~50岁”更新为“18~35岁”;还可以删除“场所类型”这一数据特征或者新增扫码终端的“型号”这一数据特征等,不再赘述。
83.可以理解的是,为任一页面创建的页面匹配规则在后续步骤中用于与扫码事件对应的扫码相关数据进行匹配。具体的,对于任一页面,可以根据该页面的页面匹配规则中记录的数据特征针对性地获取相应的扫码相关数据,进而将获取到的(实际的)扫码相关数据与该页面匹配规则中记录的数据特征进行逐一比对,以确定各个扫码相关数据是否匹配于该规则。
84.在一实施例中,解码服务端可以获取所述扫码事件对应的多个扫码相关数据,所
述多个扫码相关数据可以属于至少一个数据维度;其中,在所述多个扫码相关数据属于多个数据维度的情况下,任一扫码相关数据属于一个数据维度,而任一数据维度下可能存在一个或多个扫码相关数据。示例性的,所述至少一个数据维度可以包括前述端、人、场所和时间中的至少之一。当然,还可以存在其他数据维度,不再一一赘述。
85.步骤404、在各个所述页面匹配规则中查询匹配于所述扫码相关数据的目标页面匹配规则,并触发所述扫码终端展示所述目标页面匹配规则对应的目标页面。
86.在获取到所述扫码相关数据后,解码服务端可以将所述扫码相关数据与各个页面匹配规则中记录的数据特征进行比对,从而确定出匹配于所述扫码相关数据的目标页面匹配规则。其中,在任一页面匹配规则中记录多个数据特征的情况下,若各个数据特征均匹配于相应的扫码相关数据,则可以确定该页面匹配规则匹配于所述扫码相关数据,从而可以将该规则确定为目标扫码相关数据,而该规则对应的页面即成为目标页面。此时,可以触发所述扫码终端展示该页面。或者,若存在至少一个数据特征不匹配于相应的扫码相关数据,则可以确定该页面匹配规则不匹配于所述扫码相关数据,该规则对应的页面自然不会被确定为目标页面。再或者,还可以根据页面匹配规则包含的数据特征分别计算各个页面匹配规则与所述扫码相关数据的匹配度,并将其中匹配度最高的页面匹配规对应的页面确定为目标页面。通过该方式,可以确保扫码终端跳转至与扫码事件对应的扫码相关数据匹配程度最高的页面,从而尽量减少确定不出目标页面的情况的出现次数,一定程度上提升用户体验。
87.另外,在计算任一页面匹配规则与所述扫码相关数据的匹配度的过程中,若该页面匹配规则包含多个数据特征,则各个数据特征的权重值可以不完全相等,如可以根据重要程度、时效性等指标为各个数据特征分别设置不同的权重值,从而尽量减少两个页面匹配规则与扫码相关数据的匹配度相等的概率,从而提升确定出目标页面的概率和目标页面的准确性。
88.通过图4所示的实施例,本方案中的扫码终端在扫描图形码时,可以呈现出“一码千面”的页面跳转效果。可以理解的是,本方案中的多个页面可以关联至同一图形码(即所述目标图形码),从而实现多个页面对同一图形码的复用,不仅节省了图形码资源并有助于降低图形码的管理负担,也提升了该图形码的使用效率。
89.图5是本说明书一示例性实施例提供的一种图形码的制码方法的流程图,具体可以包括以下步骤:
90.步骤502、接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段。
91.步骤504、基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系;
92.步骤506、响应于用户的制码请求,确定所述制码请求所指示的制码模板。
93.需要强调的是,如图1所示实施例所述,解码服务端可以集成有制码和解码功能,当服务端集成上述功能的情况下,本说明书所述的制码方法可以应用于解码服务端;当然,假设服务端并未集成有制码、解码功能,那么对应的,本说明书所述的制码方法可以应用于对应的制码服务端,本说明书对此并不进行限制。
94.在一实施例中,制码模板可以包括标准字段和扩展字段,而各制码模板定义有相
同的标准字段以及不同的扩展字段。
95.在一实施例中,为了满足制码的多样性需求,可以接收用户上传的制码模板,并确定所述制码模板对应的标识信息;从而基于接收的制码模板和对应的标识信息更新所述对应关系。
96.步骤508、基于确定的制码模板所对应的模板标识信息生成对应的码值,并基于所述码值生成对应的图形码。
97.如前所述,码值可以仅包含模板标识信息,从而将码值控制在较小的长度内,从而在解码阶段,因为码值长度较短,也就可以加快该码值的解码速率。当然,在制码阶段,因为码值长度的可控,也可以加快图形码的生成速率。
98.在一实施例中,解码服务端可以响应于针对所述图形码的更新请求,将所述图形码对应的制码模板切换为所述更新请求所指示的制码模板,以生成对应的制码数据集;譬如,图形码a由制码模板a生成,但出于针对该图形码a的更新请求,其可以将制码模板a切换为制码模板b,从而通过制码模板b来生成图形码;或,响应于针对所述制码模板的删除请求,将所述删除请求所指示的制码模板及所述制码模板对应的模板标识信息从所述解码服务端维护的对应关系中删除,以表1为例,若当前场景下已不再需要利用制码模板a,那么可以在对应关系中删除制码模板a和其对应的模板标识信息01;或,响应于针对所述制码模板的添加请求,将所述添加请求所指示的制码模板及所述制码模板对应的模板标识信息添加至所述解码服务端维护的对应关系中,当然其中的制码模板可以是用户上传至解码服务端,也可以是用户基于解码服务端进行制定的制码模板。
99.图6是本说明书一示例性实施例提供的一种制码、解码流程示意图。
100.在制码阶段,可以包括以下步骤:
101.步骤602、用户请求制码。
102.步骤604、服务端确定码协议。
103.二维码的生成需要以对应的码协议为基准。以交通码为例,现阶段其需要遵循交通运输行业标准(jt/t1179-2018)中所定义的交通码协议。
104.步骤606、服务端生成二维码。
105.如图6所示,数据库中可以维护有多种制码模板,该制码模板可以是由用户所上传,基于用户对应的制码请求所指示的制码模板,可以生成对应的二维码,在图6所示的实施例中,生效的制码模板为制码模板a,即此时生成的二维码是基于制码模板a。在此基础上,用户可以切换对应的生效模板,如使制码模板b生效,那么对应的生成的二维码可以是基于制码模板b,从而通过切换不同的生效模板来选择对应的字段,从而生成对应的图形码,最终可以控制解码返回的信息组,可以满足不同场景下的制码需求。
106.在解码阶段,可以包括以下步骤。
107.步骤608、用户请求解码。
108.步骤610、服务端确定码协议。
109.步骤612、服务端解析二维码。
110.服务端在解析二维码的情况下,其可以获取扫码终端扫描目标图形码所得到的待解析码值,从而确定所述待解析码值中所对应的模板标识信息,例如,其对应的模板制码信息为01,并根据所述对应关系和确定的模板标识信息确定对应的制码模板;基于上述,制码
模板标识信息01表征的制码模板为制码模板a,故可以基于确定的制码模板a所定义的字段,向所述扫码终端返回对应的解码结果。由此,基于服务端所维护的多种制码模板,从而可以使用户在不同的应用间、不同的场景下,通过切换制码模板来批量或单独生成对应的图形码,可以满足用户多样需求,提升制码、解码的灵活性。
111.基于上述实施例可知,因为图形码对应的码值中可以仅包含模板标识信息,也就将对应的码值控制在了较短的长度内,故在解码阶段,可以保证有较高的解码效率;同时,因为解码服务端可以维护有多个制码模板,且制码模板定义有对应的字段,那么在进行解码时,可以根据对应的制码模板所定义的字段返回对应的信息组,可以灵活控制解码返回的信息组,满足业务需求的变化;另外,对于同一图形码而言,只要切换不同的制码模板进行解码即可控制对应的返回的解码信息组,从而无需更新替换该图形码即可满足业务需求,具有极高的兼容性。
112.与前述方法的实施例相对应,本说明书还提供了装置、电子设备以及存储介质的实施例。
113.图7是一示例性实施例提供的一种电子设备的示意结构图。请参考图7,在硬件层面,该设备包括处理器701、网络接口702、内存703、非易失性存储器704以及内部总线705,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器701从非易失性存储器704中读取对应的计算机程序到内存703中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
114.图8是一示例性实施例提供的一种图形码的解码装置的框图。请参考图8,所述装置包括:
115.接收单元802,用于接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段;
116.更新单元804,用于基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系;
117.获取单元806,用于获取扫码终端扫描目标图形码所得到的待解析码值;
118.确定单元808,用于确定所述待解析码值中所对应的模板标识信息,并根据所述对应关系和确定的模板标识信息确定对应的制码模板;
119.返回单元810,用于基于确定的制码模板所定义的字段,向所述扫码终端返回对应的解码结果。
120.可选地,所述装置还包括:
121.可选地,所述制码模板包括标准字段和扩展字段,各制码模板定义有统一的标准字段以及自定义的扩展字段。
122.可选地,所述装置还包括:
123.跳转单元812,用于响应于扫码终端扫描目标图形码的扫码事件所触发的页面跳转请求,获取所述扫码事件对应的扫码相关数据,所述目标图形码对应于多个页面,每一页面被分别创建有相应的页面匹配规则;在各个所述页面匹配规则中查询匹配于所述扫码相关数据的目标页面匹配规则,并触发所述扫码终端展示所述目标页面匹配规则对应的目标
页面。
124.可选地,所述跳转单元812具体用于:获取所述扫码事件对应的多个扫码相关数据,所述多个扫码相关数据属于至少一个数据维度。
125.可选地,所述制码模板绑定有关联制码模板,所述装置还包括:
126.关联返回单元814,用于在所述制码模板绑定有关联制码模板的情况下,优先基于关联制码模板所定义的字段,向所述扫码终端返回对应的解码结果。
127.图9是一示例性实施例提供的一种图形码的解码装置的框图。请参考图9,所述装置包括:
128.模板接收单元902,用于接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段;
129.模板更新单元904,用于基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系;
130.请求确定单元906,用于响应于用户的制码请求,确定所述制码请求所指示的制码模板;
131.生成单元908,用于基于确定的制码模板所对应的模板标识信息生成对应的制码数据集,所述制码数据集中包含有所述模板标识信息;
132.图形码生成单元910,用于根据所述制码数据集生成对应的码值,并基于所述码值生成对应的图形码。
133.可选地,所述制码模板包括标准字段和扩展字段,各制码模板定义有相同的标准字段以及不同的扩展字段。
134.可选地,所述装置还包括:
135.更新单元912,用于响应于针对所述图形码的更新请求,将所述图形码对应的制码模板切换为所述更新请求所指示的制码模板,以生成对应的制码数据集;或,响应于针对所述制码模板的删除请求,将所述删除请求所指示的制码模板及所述制码模板对应的模板标识信息从所述解码服务端维护的对应关系中删除;或,响应于针对所述制码模板的添加请求,将所述添加请求所指示的制码模板及所述制码模板对应的模板标识信息添加至所述解码服务端维护的对应关系中。
136.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,既可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
137.在一个典型的配置中,计算机设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
138.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
139.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法
或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
140.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
141.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
142.在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
143.应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
144.以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
技术特征:
1.一种图形码的解码方法,所述方法包括:接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段;基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系;获取扫码终端扫描目标图形码所得到的待解析码值;确定所述待解析码值中所对应的模板标识信息,并根据所述对应关系和确定的模板标识信息确定对应的制码模板;基于确定的制码模板所定义的字段,向所述扫码终端返回对应的解码结果。2.根据权利要求1所述的方法,所述制码模板包括标准字段和扩展字段,各制码模板定义有统一的标准字段以及自定义的扩展字段。3.根据权利要求1所述的方法,所述方法还包括:响应于扫码终端扫描目标图形码的扫码事件所触发的页面跳转请求,获取所述扫码事件对应的扫码相关数据,所述目标图形码对应于多个页面,每一页面被分别创建有相应的页面匹配规则;在各个所述页面匹配规则中查询匹配于所述扫码相关数据的目标页面匹配规则,并触发所述扫码终端展示所述目标页面匹配规则对应的目标页面。4.根据权利要求3所述的方法,所述获取所述扫码事件对应的扫码相关数据,包括:获取所述扫码事件对应的多个扫码相关数据,所述多个扫码相关数据属于至少一个数据维度。5.根据权利要求1所述的方法,所述制码模板绑定有关联制码模板,所述方法还包括:在所述制码模板绑定有关联制码模板的情况下,优先基于关联制码模板所定义的字段,向所述扫码终端返回对应的解码结果。6.一种图形码的制码方法,所述方法包括:接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段;基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系;响应于用户的制码请求,确定所述制码请求所指示的制码模板;基于确定的制码模板所对应的模板标识信息生成对应的码值,并基于所述码值生成对应的图形码。7.根据权利要求6所述的方法,所述制码模板包括标准字段和扩展字段,各制码模板定义有相同的标准字段以及不同的扩展字段。8.根据权利要求6所述的方法,所述方法还包括:响应于针对所述图形码的更新请求,将所述图形码对应的制码模板切换为所述更新请求所指示的制码模板,以生成对应的制码数据集;或,响应于针对所述制码模板的删除请求,将所述删除请求所指示的制码模板及所述制码模板对应的模板标识信息从所述解码服务端维护的对应关系中删除;或,响应于针对所述制码模板的添加请求,将所述添加请求所指示的制码模板及所述制码
模板对应的模板标识信息添加至所述解码服务端维护的对应关系中。9.一种图形码的解码装置,所述装置包括:接收单元,用于接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段;更新单元,用于基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系;获取单元,用于获取扫码终端扫描目标图形码所得到的待解析码值;确定单元,用于确定所述待解析码值中所对应的模板标识信息,并根据所述对应关系和确定的模板标识信息确定对应的制码模板;返回单元,用于基于确定的制码模板所定义的字段,向所述扫码终端返回对应的解码结果。10.一种图形码的制码装置,所述装置包括:模板接收单元,用于接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段;模板更新单元,用于基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系;请求确定单元,用于响应于用户的制码请求,确定所述制码请求所指示的制码模板;生成单元,用于基于确定的制码模板所对应的模板标识信息生成对应的制码数据集,所述制码数据集中包含有所述模板标识信息;图形码生成单元,用于根据所述制码数据集生成对应的码值,并基于所述码值生成对应的图形码。11.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1至5或6至8中任一所述方法的步骤。12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至5或6至8中任一所述方法的步骤。
技术总结
本说明书提供了一种图形码的解码方法及其制码方法,所述方法包括:接收用户上传的制码模板,并确定所述制码模板对应的标识信息,所述制码模板定义有对应的字段;基于接收的制码模板和对应的标识信息更新维护的制码模板与模板标识信息之间的对应关系;获取扫码终端扫描目标图形码所得到的待解析码值;确定所述待解析码值中所对应的模板标识信息,并根据所述对应关系和确定的模板标识信息确定对应的制码模板;基于确定的制码模板所定义的字段,向所述扫码终端返回对应的解码结果。向所述扫码终端返回对应的解码结果。向所述扫码终端返回对应的解码结果。
技术研发人员:孙航建 袁童童 黄山洪 方立清
受保护的技术使用者:蚂蚁区块链科技(上海)有限公司
技术研发日:2023.03.17
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种多岛近岸海域台风浪动力参数计算方法与流程 下一篇:折叠晾衣架的制作方法
