技术摘要:
本发明公开了一种存储验票记录的方法、验票终端及系统,该方法包括:建立与其他验票终端间的通信连接,形成验票组;获取所述验票组对入场票进行验票产生的验票记录;与所述其他验票终端共同对所述验票记录进行分布式记账,以更新本地数据库。
背景技术:
在开展活动项目时,例如演唱会、体育赛事等,为了保证观众都能够凭票入场,需 要在现场设置多个验票终端同时进行现场验票,以保证数千人可以有序地快速入场。目前, 通过多个验票终端进行现场验票的方式包括有公网验票、局域网验票和单机验票。 公网验票是将现场的每一台验票终端均与云端服务器通过公共外网建立无线连 接,每一台验票终端均将对入场票进行验票产生的验票记录保存至云端服务器中,进行验 票记录的集中式存储。 局域网验票是为场馆配置本地服务器,每一台验票终端均通过局域网与本地服务 器建立连接,且每一台验票终端均将对入场票进行验票产生的验票记录保存至本地服务器 中,同样是进行验票记录的集中式存储。 单机验票是每一台验票终端独立完成验票操作,每一台验票终端均无法获得由其 他验票终端进行验票所产生并保存的验票记录,因此,单机验票存在多次入场的问题。 相对于单机验票,虽然在公网验票和局域网验票中,每一验票终端均可以通过连 接服务器获得所有的验票记录,但是,由于现有的公网验票和局域网验票均采用集中式的 单节点存储结构,这样,一旦云端服务器或者是本地服务器出现单点故障,例如被攻击,将 发生验票记录丢失、服务器不可用等状况,严重影响现场验票的正常进行,因此,非常有必 要提供一种新的存储验票记录的方案,以提高由多个验票终端组成的验票系统对于单点故 障的应对能力,保障现场验票的有序进行。
技术实现要素:
本发明的一个目的是提供一种存储验票记录的新的技术方案。 根据本发明的第一方面,提供了一种存储验票记录的方法,其包括: 建立与其他验票终端间的通信连接,形成验票组; 获取所述验票组对入场票进行验票产生的验票记录; 与所述其他验票终端共同对所述验票记录进行分布式记账,以更新本地数据库。 可选地,所述与所述其他验票终端共同对所述验票记录进行分布式记账的步骤, 包括: 在所述验票组中选举一验票终端作为执行终端,其中,所述执行终端为有权利针 对所述验票记录创建对应的存储区块的验票终端; 与所述其他验票终端共同对所述执行终端针对所述验票记录创建的存储区块进 行分布式记账。 可选地,所述方法还包括: 4 CN 111553990 A 说 明 书 2/20 页 在所述验票终端是所述执行终端的情况下,针对所述验票记录创建对应的存储区 块,并将所述存储区块同步至所述其他验票终端; 在所述验票终端不是所述执行终端的情况下,获取所述执行终端同步的对应所述 验票记录的存储区块。 可选地,所述针对所述验票记录创建对应的存储区块的步骤,包括: 获取上一验票记录的存储区块的特征信息; 获取作为所述执行终端的权利信息; 根据所述特征信息、所述权利信息和所述验票记录,创建对应所述验票记录的存 储区块。 可选地,所述在所述验票组中选举一验票终端作为执行终端的步骤,包括: 与所述其他验票终端共同计算各自的选举码; 选举最先获得满足设定条件的选举码的验票终端,作为所述执行终端。 可选地,所述与所述其他验票终端共同计算各自的选举码的步骤,包括: 获取各自的种子池,其中,所述验票组中每一验票终端的种子池互不相同; 在各自的种子池中挑选种子计算各自的选举码。 可选地,所述选举最先获得满足设定条件的选举码的验票终端,作为所述执行终 端的步骤,包括: 在所述验票终端最先获得满足设定条件的选举码的情况下,确定自身为执行终 端,并将选举结果通知所述其他验票终端; 在所述其他验票终端最先获得满足设定条件的选举码的情况下,根据所述其他验 票终端的通知停止继续计算选举码,并将发出所述通知的其他验票终端作为所述执行终 端。 可选地,所述与所述其他验票终端共同对所述验票记录进行分布式记账,以更新 本地数据库的步骤,包括: 在本地数据库中,按照链状数据结构,将所述验票记录链接至上一验票记录,以更 新所述本地数据库。 可选地,所述方法还包括: 响应于进行验票初始化的触发,执行初始化所述本地数据库的操作。 可选地,每一验票记录存储在对应的存储区块中,所述将所述验票记录链接至上 一验票记录的步骤,包括:将存储所述验票记录的存储区块链接至存储上一验票记录的上 一存储区块,其中,第一个存储区块链接至创世区块;所述执行初始化所述本地数据库的操 作的步骤,包括: 检测是否具有创建所述创世区块的权限; 在具有所述权限的情况下,创建并保存所述创世区块,并将所述创世区块同步至 所述其他验票终端; 在不具有所述权限的情况下,获取并保存具有所述权限的其他验票终端提供所述 创世区块。 可选地,所述建立与其他验票终端间的通信连接的步骤,包括: 建立与其他验票终端间的短距离通信连接。 5 CN 111553990 A 说 明 书 3/20 页 可选地,所述方法还包括: 响应于查询所述验票记录的请求,从所述本地数据库中获取所述验票记录; 提供获取到的所述验票记录。 可选地,所述方法还包括: 监测设定的校准事件; 在发生所述校准事件的情况下,比较所述本地数据库与其他验票终端的本地数据 库是否一致; 根据比较结果校准所述本地数据库。 可选地,所述方法还包括: 获取所述入场票的信息; 根据所述入场票的信息,检测所述本地数据库是否具有对应所述信息的验票记 录; 在具有对应所述信息的验票记录的情况下,进行已进行验票的提示; 在不具有对应所述信息的验票记录的情况下,对所述入场票进行验票以产生所述 验票记录。 可选地,所述方法还包括: 提供设置所述校准事件的设置入口; 获取通过所述设置入口输入的校准事件; 更新所述设定的校准事件为所述输入的校准事件。 根据本发明的第二方面,还提供一种验票终端,包括:存储器和处理器,所述存储 器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据本发明的第一方面中 任一项所述的存储验票记录的方法。 根据本发明的第三方面,还提供一种验票系统,包括多个本发明第二方面所述的 验票终端,多个所述验票终端之间建立通信连接形成验票组。 本发明的一个有益效果在于,根据本发明实施例的方法、验票终端及验票系统,一 方面,其可以将多个验票终端之间建立通信连接以形成验票组,提升了多个验票终端之间 通信连接的可靠性,降低了验票现场的安全风险。另一方面,当该验票组中任意验票终端对 入场票进行验票而产生验票记录时,验票组中的每一验票终端均将共同对该验票记录进行 分布式记账,以更新各自的本地数据库,这样,由于每一个验票终端的本地数据库中均保存 有现场的所有验票记录,验票组内的所有验票终端是均等的,并不存在中心节点,进而大大 降低了对某一特定节点的依赖,从而,可以提高存储验票记录的安全性,提高验票系统对于 单节点故障的应对能力,有利于保障现场验票的可靠进行,而且,一旦将验票记录进行分布 式记账,更新本地数据库之后,该验票记录就会被永久保存,单个节点对本地数据库的修改 也是无效的,从而提高保存验票记录的稳定性和可靠性。 通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其 优点将会变得清楚。 附图说明 被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连 6 CN 111553990 A 说 明 书 4/20 页 同其说明一起用于解释本发明的原理。 图1是根据本发明实施例的场馆的配置结构示意图; 图2a是显示可用于实现本发明实施例的验票系统的硬件配置的原理框图; 图2b是显示可用于实现本发明另一实施例的验票系统的硬件配置的原理框图; 图3是根据本发明实施例的验票终端的硬件结构示意图; 图4是根据本发明实施例的存储验票记录的方法的流程示意图; 图5是根据本发明另一实施例的存储验票记录的方法的流程示意图; 图6是根据本发明第三实施例的存储验票记录的方法的流程示意图; 图7是根据本发明一个例子的存储验票记录的方法的流程图; 图8a~图8f是根据本发明实施例的验票终端的交互示意图; 图9是根据本发明另一例子的存储验票记录的方法的流程图; 图10、11是根据本发明例子中的链式数据结构的示意图; 图12是根据本发明另一实施例的验票终端的硬件结构示意图。