一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种离线二维码生成方法与流程

2022-04-09 09:54:07 来源:中国专利 TAG:


1.本技术涉及二维码技术领域,具体地,涉及一种离线二维码生成方法。


背景技术:

2.二维码已成为移动设备上普遍的信息交换方式,二维码将信息编码为几何图样,可以通过移动设备的相机或者专用扫码设备方便的识别,并且具备校验能力,能在遮挡、缺损等情况下正常扫码。
3.现有技术在二维码系统中有几个问题:1)二维码的生成需要签名机制以防止第三方伪造和篡改,在某些情况下,对二维码中包含的信息还需要加密防止泄露,这就要求二维码的签发和验证需要有一套安全的秘钥分发和保护机制。2)二维码被盗刷的问题,某些场景下,如果不对二维码做使用时间或者次数限制,可能被盗刷引起问题。3)基于以上的问题,当二维码的签发、使用和验证需要三方完成时,比如在一个通行门禁系统中,上述过程需要刷码方(如手机),二维码采集方及在线系统都能强实时在线运行,对系统的可靠性与可用性提出了非常高的要求,而实际使用场景中,刷码方可能因为网络状况等因素极不稳定、二维码采集方不像云端机房,可靠性较低,而从而导致刷码方案的可用性很低。
4.在背景技术中公开的上述信息仅用于加强对本技术的背景的理解,因此其可能包含没有形成为本领域普通技术人员所知晓的现有技术的信息。


技术实现要素:

5.本技术实施例提供了一种,以解决现有技术中,终端在网络不佳的情况下,无法刷新二维码的技术问题。
6.根据本技术实施例的第一个方面,提供了一种离线二维码生成方法,包括:终端向服务器发送二维码请求,其中,所述二维码请求中携带用户的标识信息;所述终端接收所述服务器根据所述标识信息发送所述用户在所述服务器中关联信息,其中,所述关联信息包括所述用户的注册信息、所述用户所在的组别标识信息以及所述服务器时间戳;所述终端根据所述关联信息通过私钥计算签名摘要信息,并保持在本地;在所述终端网络为离线状态的情况下,所述终端根据所述签名摘要信息绘制离线模式二维码,其中,所述离线模式二维码包括所述注册信息,所述组别标识信息、所述服务器时间戳、签名摘要、刷码模式以及所述终端时间戳。
7.可选的,所述终端向服务器发送二维码请求,包括:在所述终端首次发送所述二维码请求时,通过鉴权方式登录所述服务器。
8.可选的,接收所述服务器根据所述标识信息发送所述用户在所述服务器中关联信息之前,所述方法还包括:所述服务器根据预设条件建立分组信息;在接收所述用户注册请求时,将所述用户进行分组。
9.可选的,所述离线模式二维码状态包括有效状态的二维码和无效状态的二维码。
10.可选的,所述在所述终端网络为离线状态的情况下,所述终端根据所述签名摘要
信息绘制离线模式二维码之后,所述方法还包括:二维码采集设备采集所述离线模式二维码;在所述签名验证通过、所述分组验证通过以及所述二维码采集设备的时间与所述服务器时间戳之差小于等于第一预设阈值的情况下,所述离线模式二维码为有效二维码。
11.可选的,所述方法还包括:在本地时间与所述服务器时间戳之差大于所述第一预设阈值的情况下,所述离线模式二维码为无效二维码。
12.可选的,所述二维码采集设备采集所述离线模式二维码之前,所述方法还包括:所述二维码采集设备从所述服务器中获取分组信息和所述分组中的用户信息。
13.可选的,所述方法还包括:在所述终端网络为在线状态、且请求刷新二维码失败的情况下,所述服务器根据所述签名摘要信息绘制离线模式二维码,其中,所述离线模式二维码包括所述注册信息,所述组别标识信息、所述服务器时间戳、刷码模式以及所述终端时间戳。
14.可选的,所述方法还包括:在所述终端网络为在线状态、且请求刷新二维码成功的情况下,生成常规模式二维码,其中,所述常规模式二维码数据包括所述注册信息,所述组别标识信息、所述服务器时间戳以及签名摘要。
15.可选的,所述方法还包括:二维码采集设备采集所述常规模式二维码;在所述签名验证通过、所述分组验证通过以及所述二维码采集设备的时间与所述服务器时间戳之差小于等于第二预设阈值的情况下,所述常规模式二维码为有效二维码。
16.可选的,所述方法还包括:在本地时间与所述服务器时间戳之差大于所述第二预设阈值的情况下,所述常规模式二维码为无效二维码。
17.根据本技术实施例的第一个方面,提供了一种基于离线二维码的门禁系统,包括:终端向服务器发送二维码请求,其中,所述二维码请求中携带用户的标识信息;所述终端接收所述服务器根据所述标识信息发送所述用户在所述服务器中关联信息,其中,所述关联信息包括所述用户的注册信息、所述用户所在的组别标识信息以及所述服务器时间戳;所述终端根据所述关联信息通过私钥计算签名摘要信息,并保持在本地;在所述终端的网络为离线状态的情况下,所述终端根据所述签名摘要信息绘制离线模式二维码,其中,所述离线模式二维码包括所述注册信息,所述组别标识信息、所述服务器时间戳、签名摘要、刷码模式以及所述终端时间戳;二维码采集设备采集所述离线模式二维码;在所述签名验证通过、所述分组验证通过以及所述二维码采集设备的时间与所述服务器时间戳之差小于等于第一预设阈值的情况下,验证所述二维码信息有效,所述门禁设备开启。
18.本技术实施例由于采用以上技术方案,具有以下技术效果:当终端没有信号或者欠费停机时(无网络或网络不佳),可以使用终端离线模式生成二维码,因而不影响绝大多数用户使用二维码。
附图说明
19.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
20.图1是根据本发明实施例的一种可选的离线二维码生成方法的流程图;
21.图2是根据本发明实施例的一种可选的二维码生成和验证系统结构图;
22.图3是根据本发明实施例的一种可选的二维码信息结构示意图;
23.图4是根据本发明实施例的一种可选的二维码生成流程图;
24.图5是根据本发明实施例的一种可选的采集设备验证二维码的流程图。
具体实施方式
25.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
26.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一序列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.在本实施例中提供了一种离线二维码生成方法,图1是根据本发明实施例的离线二维码生成方法的流程图,如图1所示,该离线二维码生成方法流程包括如下步骤:
28.步骤s102,终端向服务器发送二维码请求,其中,二维码请求中携带用户的标识信息。
29.步骤s104,终端接收服务器根据标识信息发送用户在服务器中关联信息,其中,关联信息包括用户的注册信息、用户所在的组别标识信息以及服务器时间戳。
30.步骤s106,终端根据关联信息通过私钥计算签名摘要信息,并保持在本地。
31.步骤s108,在终端网络为离线状态的情况下,终端根据签名摘要信息绘制离线模式二维码,其中,离线模式二维码包括注册信息,组别标识信息、服务器时间戳、签名摘要、刷码模式以及终端时间戳。
32.在本实施例中,上述离线二维码生成方法可以包括但不限于应用各种可以使用二维码场景,如购物场景、通行场景、门禁场景等。
33.其中,在门禁场景中,如果因为终端(如手机)欠费、网络异常、服务端异常等因素获取失败,则使用缓存的信息绘制离线模式二维码。进而可以通过刷码进入小区。
34.通过本技术提供的实施例,终端向服务器发送二维码请求,其中,二维码请求中携带用户的标识信息;终端接收服务器根据标识信息发送用户在服务器中关联信息,其中,关联信息包括用户的注册信息、用户所在的组别标识信息以及服务器时间戳;终端根据关联信息通过私钥计算签名摘要信息,并保持在本地;在终端网络为离线状态的情况下,终端根据签名摘要信息绘制离线模式二维码,其中,离线模式二维码包括注册信息,组别标识信息、服务器时间戳、签名摘要、刷码模式以及终端时间戳。即在终端网络不佳的情况下,终端可以根据缓存的数据生成离线模式二维码。
35.可选的,终端向服务器发送二维码请求,可以包括:在终端首次发送二维码请求时,通过鉴权方式登录服务器。
36.可选的,接收服务器根据标识信息发送用户在服务器中关联信息之前,上述方法还可以包括:服务器根据预设条件建立分组信息;在接收用户注册请求时,将用户进行分组。
37.在本实施例中,终端实现生成离线二维码需要服务器建立分组,并在分组中注册人员。当采集设备安装后,会与云端通信同步,将分组信息与人员信息同步至本地。其中分组信息一般很少变更,人员信息可能变更频繁。采集设备在有网络连接时还会获取云端的公钥,以验证二维码签名。
38.可选的,离线模式二维码状态可以包括两种状态,即有效状态的二维码和无效状态的二维码。
39.可选的,在终端网络为离线状态的情况下,终端根据签名摘要信息绘制离线模式二维码之后,上述方法还可以包括:二维码采集设备采集离线模式二维码;在签名验证通过、分组验证通过以及二维码采集设备的时间与服务器时间戳之差小于等于第一预设阈值的情况下,离线模式二维码为有效二维码。
40.可选的,上述方法还可以包括:在本地时间与服务器时间戳之差大于第一预设阈值的情况下,离线模式二维码为无效二维码。
41.可选的,二维码采集设备采集离线模式二维码之前,上述方法还可以包括:二维码采集设备从服务器中获取分组信息和分组中的用户信息。
42.可选的,上述方法还可以包括:在终端网络为在线状态、且请求刷新二维码失败的情况下,服务器根据签名摘要信息绘制离线模式二维码,其中,离线模式二维码包括注册信息,组别标识信息、服务器时间戳、刷码模式以及终端时间戳。
43.可选的,上述方法还可以包括:在终端网络为在线状态、且请求刷新二维码成功的情况下,生成常规模式二维码,其中,常规模式二维码数据包括注册信息,组别标识信息、服务器时间戳以及签名摘要。
44.可选的,上述方法还可以包括:二维码采集设备采集常规模式二维码;在签名验证通过、分组验证通过以及二维码采集设备的时间与服务器时间戳之差小于等于第二预设阈值的情况下,常规模式二维码为有效二维码。
45.可选的,上述方法还可以包括:在本地时间与服务器时间戳之差大于第二预设阈值的情况下,常规模式二维码为无效二维码。
46.作为一种可选的实施例,本技术还提供了一种二维码生成和验证系统。如图2所示,二维码生成和验证系统结构图。
47.如图2所示,二维码生成和验证系统包括二维码采集设备、手机(相当于终端)、以及服务端。
48.为了满足当采集设备网络状况不好或者不可用的情况下能正常进行二维码验证,首先在服务端建立分组信息,并在分组中注册人员(相当于用户)。当二维码采集设备安装后,会与服务端通信同步,将分组信息与人员信息同步至二维码采集设备本地。其中分组信息一般很少变更,人员信息可能变更频繁。采集设备在有网络连接时还会获取云端的公钥,以验证二维码签名。
49.需要说明的是,刷码模式分为两种:正常模式与离线模式,其中离线模式分为手机离线模式和服务端离线模式;手机在首次使用时会鉴权登录,服务端会返回该用户的分组
id,人员id,服务端时间戳,并将上述数据通过私钥计算签名摘要信息,防止恶意篡改用户信息,并在手机本地缓存。每次使用二维码服务时会尝试向服务端请求刷新二维码,获取最新的分组与注册信息,如果获取成功则使用最新获取的信息绘制正常模式二维码并更新缓存,如果因为手机欠费、网络异常、服务端异常等因素获取失败,则使用缓存的信息绘制离线模式二维码。
50.如图3所示,二维码信息结构示意图。在线刷新数据结构包括分组id、人员id、服务端时间戳、签名摘要。签名计算字段包括分组id、人员id、服务端时间戳。
51.在本实施例中,为防止翻拍和盗刷,正常二维码模式因为有实时的网络刷新,所以有效期很短,一般为1分钟左右,临期会重新刷新。安全起见,离线二维码模式的有效期有限,一般为48小时左右,超过48小时则不会绘制,用户通行失败,也不会通过采集设备的校验。
52.在本实施例在,如图4所示,二维码生成流程图,具体过程如下。
53.步骤s41,开始检查网络连接状态;
54.步骤s42,在网络状态处于连接状态、检查到上次刷码缓存的情况下,生成客户端离线模式码;
55.步骤s43,在网络状态处于连接状态、未检查到上次刷码缓存的情况下,刷码失败;
56.步骤s44,在网络状态处于连接状态、请求刷新二维码成功的情况下,缓存请求结果,生成常规模式码;
57.步骤s45,在网络状态处于连接状态、请求刷新二维码失败的情况下,且上次刷码缓存成功,生成服务端离线模式码;
58.步骤s46,在网络状态处于连接状态、请求刷新二维码失败的情况下,且上次刷码缓存失败,刷码失败。
59.在本实施例中,如图5所示,采集设备验证二维码的流程图。具体流程如下。
60.步骤s51,开始;
61.步骤s52,在签名验证不通过的情况下,二维码为无效二维码。
62.步骤s53,在签名验证通过、分组验证不通过的情况下,二维码为无效二维码。
63.步骤s54,在签名验证通过、分组验证通过的情况下,判断二维码模式;
64.步骤s55,在二维码模式为离线模式、且本地时间与服务端时间戳之差大于48小时的情况下,二维码为无效二维码。
65.步骤s56,在二维码模式为离线模式、且本地时间与服务端时间戳之差不大于48小时的情况下,二维码为有效离线模式二维码。
66.步骤s57,在二维码模式为在线模式、且本地时间与服务端时间戳之差大于1分钟的情况下,二维码为无效二维码。
67.步骤s58,在二维码模式为在线模式、且本地时间与服务端时间戳之差不大于1分钟的情况下,在线二维码为有效正常模式二维码。
68.结合图5可知,二维码的验证只在刷码设备进行,不请求云端,因此响应速度快,即便是在断网或者服务端不可用的情况下依然可以正常工作,并将刷码记录保存在本地,记录包含刷码成功与失败与否,刷码时间信息、刷码模式信息、刷码用户id与分组id信息。当网络恢复时再将刷码记录上传到云端。
69.记录被上传到服务端后,后台会分析统计刷码异常并发出告警信息,统计策略如下:个体刷码失败率较近期平均值增高并超过阈值;整体刷码失败率较近期平均值增高并超过阈值;个体离线刷码率较近期平均值增高并超过阈值;整体离线刷码率较近期平均值增高并超过阈值;个体刷码时间与服务端时间戳之差较近期均值升高且出现多次。
70.上述告警产生的原因可能是设备故障、大面积网络故障、恶意盗刷使用离线码,恶意使用正常码,可以根据具体的信息排查和限制用户使用。
71.在本实施例中,三端均可离线体现如下内容:
72.服务端:当服务端因为故障或者升级离线时,手机可以使用服务端离线模式生成二维码,采集端的二维码验证不依赖服务端,且记录上传异步进行,因而不影响用户使用,只影响新的设备启用和同步,影响很小。
73.手机端:当手机没有信号或者欠费停机时,可以使用手机离线模式生成二维码,因而不影响绝大多数用户使用,只影响首次登陆的用户和距离上次使用超过48小时的用户,影响范围很小。
74.二维码采集端:二维码采集后验证的流程均在本地完成,不依赖实时网络请求,采集设备对在线的依赖只在首次接入和分组信息变更时,因为上述情况发生的频率极低,因而在采集设备离线后,绝大部分情况下都可以完成二维码的验证功能,不影响用户使用。
75.通过本技术提供的实施例,基于二维码的通用通行验证方案,在完成二维码通行功能的同时提供用户的手机、二维码采集验证设备、云端均可离线的高可用方案。
76.根据本技术实施例的第一个方面,提供了一种基于离线二维码的门禁系统,包括:终端向服务器发送二维码请求,其中,二维码请求中携带用户的标识信息;终端接收服务器根据标识信息发送用户在服务器中关联信息,其中,关联信息包括用户的注册信息、用户所在的组别标识信息以及服务器时间戳;终端根据关联信息通过私钥计算签名摘要信息,并保持在本地;在终端的网络为离线状态的情况下,终端根据签名摘要信息绘制离线模式二维码,其中,离线模式二维码包括注册信息,组别标识信息、服务器时间戳、签名摘要、刷码模式以及终端时间戳;二维码采集设备采集离线模式二维码;在签名验证通过、分组验证通过以及二维码采集设备的时间与服务器时间戳之差小于等于第一预设阈值的情况下,验证二维码信息有效,门禁设备开启。
77.在本实施例中,在终端、服务器或二维采集设备任一端处于无网络或网络不佳的情况下,可以实现离线二维码生成,以及根据二维码开启门禁。
78.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
79.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
80.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
81.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
82.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
83.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献