查询电子票的状态信息的方法、装置及区块链节点与流程

文档序号:11530955阅读:309来源:国知局
查询电子票的状态信息的方法、装置及区块链节点与流程

本公开涉及信息处理技术领域,尤其涉及一种查询电子票的状态信息的方法、装置及区块链节点。



背景技术:

随着电子票务系统的发展,电子票在人们的日常生活中被频繁使用,例如:公园门票,游乐场门票,火车票等均可为电子票。购票者直接扫二维码取票,或者刷身份证入园,十分便利。此外,与纸质票的转卖相比,电子票的转卖也十分便利,不再需要转卖方快递纸质票。

然而,在某些场景下,使用电子票也存在弊端。例如:电子票的发行方私自囤积大量热门票,以牟取暴利。又例如:售票者使用假的电子票或者已使用的电子票行骗。再例如:贩票者以低价购入抢手票,再以高价卖出等。因此,需要对相关技术中的电子票务系统进行改进。



技术实现要素:

本公开的目的是提供一种查询电子票的状态信息的方法、装置及区块链节点,以便于对电子票的历史状态信息进行跟踪。

为了实现上述目的,本公开第一方面提供一种查询电子票的状态信息的方法,所述方法应用于区块链网络中的区块链节点,所述区块链节点存储有由多个区块组成的区块链,每个区块用于存储信息,所述区块链是由所述区块链网络中所有区块链节点共同参与维护的分布式数据库,所述方法包括:

获得查询请求,所述查询请求用于查询电子票的历史状态信息;

响应于所述查询请求,从所述区块链中查找所述电子票的历史状态信息;

输出所述电子票的历史状态信息。

可选地,所述方法还包括:

验证所述电子票的历史状态信息与所述查询请求表征的状态信息是否匹配;

输出验证结果或将所述验证结果发送给查询端,所述验证结果用于提示所述查询请求表征的状态信息是否可信。

可选地,所述方法还包括:

接收查询端发送的所述查询请求;或

检测所述区块链节点的输入接口是否有所述查询请求。

可选地,所述方法还包括:

根据放票策略,生成所述电子票;

将所述电子票的初始状态信息写入所述区块链中;

确定所述电子票的状态信息发生改变;

将改变后的状态信息写入所述区块链中。

可选地,响应于所述查询请求,从所述区块链节点所存储的区块链中查找所述电子票的历史状态信息,包括:

根据所述查询请求携带的用于标识所述电子票的标识信息,从所述区块链中查找与所述标识信息匹配的历史状态信息。

本公开第二方面提供一种查询电子票的状态信息的装置,其特征在于,应用于区块链网络中的区块链节点,所述区块链节点存储有由多个区块组成的区块链,每个区块用于存储信息,所述区块链是由所述区块链网络中所有区块链节点共同参与维护的分布式数据库,所述装置包括:

获得模块,用于获得查询请求,所述查询请求用于查询电子票的历史状态信息;

查找模块,用于响应于所述查询请求,从所述区块链中查找所述电子票的历史状态信息;

输出模块,用于输出所述电子票的历史状态信息。

可选地,所述装置还包括:

验证模块,用于验证所述电子票的历史状态信息与所述查询请求表征的状态信息是否匹配;

处理模块,用于输出验证结果或将所述验证结果发送给查询端,所述验证结果用于提示所述查询请求表征的状态信息是否可信。

可选地,所述装置还包括:

接收模块,用于接收查询端发送的所述查询请求;或

检测模块,用于检测所述区块链节点的输入接口是否有所述查询请求。

可选地,所述装置还包括:

生成模块,用于根据放票策略,生成所述电子票;

第一写入模块,用于将所述电子票的初始状态信息写入所述区块链中;

确定模块,用于确定所述电子票的状态信息发生改变;

第二写入模块,用于将改变后的状态信息写入所述区块链中。

可选地,所述查找模块用于:根据所述查询请求携带的用于标识所述电子票的标识信息,从所述区块链中查找与所述标识信息匹配的历史状态信息。

本公开第三方面提供一种区块链节点,所述区块链节点包括:

处理器、通信接口、存储器和通信总线;所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;

所述存储器用于存储应用程序;

所述处理器用于执行所述应用程序以实现上述查询电子票的状态信息的方法。

本公开第四方面提供一种区块链网络,所述区块链网络包括多个区块链节点,每个区块链节点是如本公开第三方面所述的节点。

本公开第五方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行上述第一方面所述的方法的指令。

采用上述技术方案,利用区块链技术,存储电子票的历史状态信息,进而使得电子票的历史状态信息是公开透明的,电子票的发放、购买、转让、变更、退票、使用都被存储在区块链中且不可改写,方便电子票的使用者对电子票的历史状态信息进行追踪。进而有效制止发行方私自屯票、售票者使用假的电子票或者已使用的电子票行骗、贩票者以低价购入抢手票,再以高价卖出等。

附图说明

图1是根据一示例性实施例示出的适用于本公开的区块链网络的示意图。

图2a是根据一示例性实施例示出的一种实施环境的示意图。

图2b是根据另一示例性实施例示出的一种实施环境的示意图。

图3是根据一示例性实施例示出的一种查询电子票的状态信息的方法的流程图。

图4是根据一示例性实施例示出的一种存储区块链的方法的流程图。

图5是根据一示例性实施例示出的一种查询电子票的状态信息的装置的框图。

图6是根据一示例性实施例示出的一种区块链节点的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

在背景技术中已经提及,使用电子票存在弊端。本公开发现,之所以存在上述弊端,是因为信息不对称以及不透明。其中,信息不对称是指:电子票的使用者与电子票的发行方之间信息不对称。通常来说,放票策略是得到政府或管理部门认可的,电子票的发行方按照放票策略放票。其中,放票策略是指:发放新票所遵循的规则。放票策略可以包括发放各种折扣类型的电子票的时间和张数。例如:每日的18点整自动发放次日的所有的电子票,或者定期(例如:每周)发放规定数量的电子票等。然而,放票策略对电子票的使用者不是公开透明的,因而一方面电子票的使用者无法监督电子票的发行方是否按照放票策略放票,即无法验证电子票的发行方是否按照放票策略放票,以及电子票的发行方是否私自屯票。另一方面,电子票的使用者也无法验证自己持有的电子票是否符合放票策略,即无法验证电子票的真伪。信息不透明是指:电子票的使用者无法获知电子票的历史状态信息。例如:电子票的使用者无法验证电子票是否已被使用、电子票被转卖的次数以及被转卖的价格等。

为减少上述弊端,本公开提出利用区块链技术,存储电子票的历史状态信息,进而使得电子票的历史状态信息是公开透明的,电子票的发放、购买、转让、变更、退票、使用都被存储在区块链中且不可改写,方便电子票的使用者对电子票的历史状态信息进行追踪。进而有效制止发行方私自屯票、售票者使用假的电子票或者已使用的电子票行骗、贩票者以低价购入抢手票,再以高价卖出等。因此,本公开提出一种查询电子票的状态信息的方法。在对该方法进行说明前,首先对适用于本公开的区块链网络进行说明。

适用于本公开的区块链网络包括多个区块链节点,区块链节点存储有由多个区块组成的区块链,每个区块用于存储信息,区块链是由区块链网络中所有区块链节点共同参与维护的分布式数据库。其中,区块链节点可为区块链节点可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。还可以被提供为一服务器。

请参考图1,图1是根据一示例性实施例示出的适用于本公开的区块链网络的示意图。如图1所示,区块链网络1000包括区块链节点101、区块链节点102、区块链节点103和区块链节点104。

在本公开的一个实施例中,适用于本公开的区块链网络与一服务器连接,该服务器授予区块链网络中的全部节点放票权限,或者在接收到区块链中的全部节点的注册请求,对其进行授权,使其获得放票权限。服务器向区块链网络中的各个节点广播放票策略,或者各个节点分别从该服务器中获取放票策略,或者通过人工将放票策略配置在各个节点中。

在本公开的另一个实施例中,适用于本公开的区块链网络中有一个或多个区块链节点被配置有放票策略,由配置有放票策略的一个或多个区块链节点将放票策略广播给区块链网络中的其他节点,或者区块链网络中的其他节点从配置有放票策略的一个或多个区块链节点中获取放票策略。

以上为对适用于本公开的区块链网络做出的说明。下面对适用于本公开的实施环境进行说明。请参考图2a,图2a是根据一示例性实施例示出的一种实施环境的示意图。如图2a所示,该实施环境可以包括电子设备100,且电子设备100是区块链网络100中的一个区块链节点。在本公开中,电子设备100可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。图2a中以电子设备100是智能手机为例来示意。

图2b是根据另一示例性实施例示出的一种实施环境的示意图。如图2b所示,该实施环境可以包括电子设备100及服务器200,且电子设备100及服务器200满足:电子设备100不是区块链网络100中的一个区块链节点,且服务器200是区块链网络100中的一个区块链节点。其中,电子设备100与服务器200之间可以通过各种有线或无线方式进行通信。示例地,电子设备100与服务器200之间通过wifi、蓝牙、2g、3g、4g等方式进行通信。电子设备100可以向服务器200上传数据,以便服务器200进行数据存储、数据处理等操作。

下面对本公开提供的查询电子票的状态信息的方法进行说明。该方法可以应用于电子设备或服务器,例如:图2a或图2b所示的电子设备100或图2b所示的服务器。请参考图3,图3是根据一示例性实施例示出的一种查询电子票的状态信息的方法的流程图。如图3所示,该方法包括以下步骤:

步骤s31:获得查询请求,所述查询请求用于查询电子票的历史状态信息;

步骤s32:响应于所述查询请求,从所述区块链中查找所述电子票的历史状态信息;

步骤s33:输出所述电子票的历史状态信息。

其中,根据执行该方法的主体的不同,步骤s31可以包括以下步骤:

接收查询端发送的所述查询请求;或

检测所述区块链节点的输入接口是否有所述查询请求。

若该方法应用于图2b所示的实施环境,则查询者使用电子设备100即为查询端,查询者使用电子设备100输入查询请求,电子设备100将该查询请求发送给服务器200,以使得服务器200接收到该查询请求。在服务器接收到该查询请求时,执行步骤s32。

若该方法应用于图2a所示的实施环境,则要求电子设备100开放输入接口,以便于查询者通过该输入接口输入查询请求。电子设备100检测输入接口是否有查询请求,在检测到输入接口有查询请求时,执行步骤s32。

如前所述,本公开中执行该方法的主体是区块链网络中的一个区块链节点。执行步骤s32的前提是:该区块链节点存储有区块链,以便于该区块链节点从自身所存储的区块链中查找查询端指定的电子票的历史状态信息。因此,在对步骤s32进行说明之前,首先对区块链节点存储区块链的过程进行说明。

请参考图4,图4是根据一示例性实施例示出的一种存储区块链的方法的流程图。如图4所示,存储区块链的过程包括以下步骤:

步骤s41:根据放票策略,生成所述电子票;

步骤s42:将所述电子票的初始状态信息写入所述区块链中;

步骤s43:确定所述电子票的状态信息发生改变;

步骤s44:将改变后的状态信息写入所述区块链中。

如前所述,区块链网络中的各个区块链节点均可以获得放票策略,由于区块链网络中的各个区块链节点在时间上严格同步,所以各个区块链节点按照同一放票策略在同一时刻生成规定数量的电子票。各个区块链节点之间不需要通过广播来同步生成电子票。在各个区块链节点生成电子票时,将所生成的电子票的初始状态信息写入存储在该区块链节点中的一个区块内。对该区块链生成的每张电子票,除在每张电子票被生成时,将每张电子票的初始状态信息写入存储在该区块链节点中的一个区块内外,还在每张电子票的状态信息发生改变时,将每张电子票的改变后的状态信息写入存储在该区块链节点中的一个区块内。在实际应用中,根据存储电子票的初始状态信息的区块的存储容量,若该区块已被存满,则可以将电子票的改变后的状态信息写入与该区块不同的另一区块内;若该区块未被存满,则可以将电子票的改变后的状态信息也写入该区块内。根据各个区块产生时间的先后顺序,各个区块被有序地链接在一起,形成一个数据链条,被形象地称为区块链。以上为存储区块链的过程。

示例地,每个区块内存储的各个电子票的状态信息可以用数据结构表示。一种可能的数据结构如下:

1)电子票的标识(用于标识一张电子票的信息,可能是以下一者或组合:电子票的唯一票号、或电子票在指定期限的唯一票号、或电子票在指定地点的唯一票号、或电子票在指定发放批次的唯一票号);

2)电子票的指定使用地点(还可能是以下一者或组合:电子票的指定出发地点、电子票的指定到达地点);

3)电子票的指定使用日期和电子票的有效期中至少一者;

4)电子票的折扣类型(可能是以下一者或组合:成人票、团购票、儿童票、老年人票、套票、联票);

5)电子票的所有者的身份信息(可能是以下一者或组合:电子票的所有者的姓名、证件号码、生理特征信息、电子票的所有者设定的密码);

6)电子票的成交价格数组(可能是以下一者或组合:电子票的待售价格、电子票售出的价格、电子票被使用后的价格、电子票每次被改签后的价格、电子票每次被变更后的价格、电子票被退票后的价格、电子票每次被转卖的成交价格);

7)电子票的成交时间数组;

8)电子票的历史状态数组(可能是以下一者或组合:待售、已售出、已使用、已退票、已变更的次数、已改签的次数、已转卖的次数)。

在实际应用中,可以根据需求设置数据结构。也就是说,区块内的数据结构可以包括上述8项,但不局限于上述8项,可以根据需求增加新的项、删除其中某些项或者替换其中某些项。

示例地,假设放票策略是:每周五18:00整发放5万张电子票且打折类型为成人票,则区块链网络中的所有区块链节点将按照该放票策略在每周五18:00整同时在各自的区块链中的一个区块内添加5万个结构体,一个结构体中包含的初始状态信息可能如下:

指定使用地点:上海迪士尼

指定使用地点的唯一票号:2016080000001

折扣类型:成人票

有效期:2016年8月31日

所有者的姓名:null

所有者的证件号码:null

成交价格:¥499

成交时间:2016年8月26日18:00整(即放票策略规定的放票时间)

历史状态:待售

由于区块链的特性,在电子票被购买或转卖后,已存储的该电子票的状态信息并不会被覆盖,也就是说,该电子票的每次状态信息改变记录都能被保留。以将电子票的初始状态信息和改变后的状态信息也写入不同区块内为例,例如,电子票被购买后,区块链网络中每个区块链节点所存储的区块链中的另一个新区块内中包含的改变后的状态信息可能如下:

指定使用地点:上海迪士尼

指定使用地点的唯一票号:2016080000001

折扣类型:成人票

有效期:2016年8月31日

所有者的姓名:null,张三

所有者的证件号码:null,123456

成交价格:¥499,¥499

成交时间:2016年8月26日18:00整,2016年8月27日9:00整

历史状态:待售,已售出

又例如,电子票被购买后再被转卖一次,区块链网络中每个区块链节点所存储的区块链中的另一个新区块内包含的改变后的状态信息可能如下:

指定使用地点:上海迪士尼

指定使用地点的唯一票号:2016080000001

折扣类型:成人票

有效期:2016年8月31日

所有者的姓名:null,张三,李四

所有者的证件号码:null,123456,143234

成交价格:¥499,¥499,¥480

成交时间:2016年8月26日18:00整,2016年8月27日9:00整,2016年8月28日15:00整

历史状态:待售,已售出,转卖一次

又例如,电子票被购买、被转卖一次后再被使用,区块链网络中每个区块链节点所存储的区块链中的另一个新区块内包含的改变后的状态信息可能如下:

指定使用地点:上海迪士尼

指定使用地点的唯一票号:2016080000001

折扣类型:成人票

有效期:2016年8月31日

所有者的姓名:null,张三,李四,null

所有者的证件号码:null,123456,143234,null

成交价格:¥499,¥499,¥480,0

成交时间:2016年8月26日18:00整,2016年8月27日9:00整,2016年8月28日15:00整,2016年8月29日10:00整

历史状态:待售,已售出,转卖一次,已使用

在实际应用中,区块链中的每个区块可以存储电子票的所有历史状态信息,具体可参考上述例子。以便于在检测到查询端指定的电子票的查询请求时,从区块链中最新的区块中即可查询到电子票的所有历史状态信息,提高查询效率。

为了减少数据冗余,提高存储空间利用率,区块链中的每个区块还可以仅存储电子票的最新的状态信息。在这种存储方式下,在检测到查询端指定的电子票的查询请求时,在查询请求携带用于标识查询端指定的电子票的标识信息时,区块链节点可以根据该标识信息,从所存储的区块链中查找与该标识信息匹配的多个区块,然后将查找到的多个区块中与该标识信息匹配的历史状态信息拼凑起来,以得到查询端指定的电子票的全部历史状态信息。举例如下:

假设放票策略是:每周五18:00整发放5万张电子票且打折类型为成人票,则区块链网络中的所有区块链节点将按照该放票策略在每周五18:00整同时在各自的区块链中的一个区块内添加5万个结构体,一个结构体中包含的初始状态信息可能如下:

指定使用地点:上海迪士尼

指定使用地点的唯一票号:2016080000001

折扣类型:成人票

有效期:2016年8月31日

所有者的姓名:null

所有者的证件号码:null

成交价格:¥499

成交时间:2016年8月26日18:00整(即放票策略规定的放票时间)

历史状态:待售

以将电子票的初始状态信息和改变后的状态信息也写入不同区块内为例,例如,电子票被购买后,区块链网络中每个区块链节点所存储的区块链中的另一个新区块内中包含的改变后的状态信息可能如下:

指定使用地点:上海迪士尼

指定使用地点的唯一票号:2016080000001

折扣类型:成人票

有效期:2016年8月31日

所有者的姓名:张三

所有者的证件号码:123456

成交价格:¥499

成交时间:2016年8月27日9:00整

历史状态:已售出

又例如,电子票被购买后再被转卖一次,区块链网络中每个区块链节点所存储的区块链中的另一个新区块内包含的改变后的状态信息可能如下:

指定使用地点:上海迪士尼

指定使用地点的唯一票号:2016080000001

折扣类型:成人票

有效期:2016年8月31日

所有者的姓名:李四

所有者的证件号码:143234

成交价格:¥480

成交时间:2016年8月28日15:00整

历史状态:转卖一次

又例如,电子票被购买、被转卖一次后再被使用,区块链网络中每个区块链节点所存储的区块链中的另一个新区块内包含的改变后的状态信息可能如下:

指定使用地点:上海迪士尼

指定使用地点的唯一票号:2016080000001

折扣类型:成人票

有效期:2016年8月31日

所有者的姓名:null

所有者的证件号码:null

成交价格:0

成交时间:2016年8月29日10:00整

历史状态:已使用在区块链节点按照图4所示的方法存储区块链后,即可执行步骤s32,即从该区块链节点所存储的区块链中查找查询端指定的电子票的历史状态信息。

若查询端指定的电子票是区块链节点生成的电子票之一,则区块链中存储有查询端指定的电子票的历史状态信息,区块链节点可以从所存储的区块链中找到查询端指定的电子票的历史状态信息,然后执行步骤s33,输出所找到的历史状态信息。

若查询端指定的电子票不是区块链节点生成的电子票之一,则区块链中未存储查询端指定的电子票的历史状态信息,区块链节点从所存储的区块链中找不到查询端指定的电子票的历史状态信息,则输出提示信息,以提示查询不到查询端指定的电子票的历史状态信息。之所以会出现这种情况,可能的原因是:查询端指定的电子票是假票,或者查询端指定的电子票被区块链节点私自囤积(即区块链节点未按照放票策略放票,而是私自囤积部分电子票,导致区块链节点所存储的区块链中没有部分电子票的历史状态信息)。

可选地,步骤s32包括以下步骤:

根据所述查询请求携带的用于标识所述电子票的标识信息,从所述区块链中查找与所述标识信息匹配的历史状态信息。

在查询请求携带用于标识查询端指定的电子票的标识信息时,区块链节点可以根据该标识信息,从所存储的区块链中查找与该标识信息匹配的历史状态信息。

示例地,查询请求为:查询指定使用地点是上海迪士尼,且指定使用地点的唯一票号是2016080000001的电子票的历史状态信息,则查询请求携带的标识信息为:指定使用地点是上海迪士尼,且指定使用地点的唯一票号是2016080000001。则区块链节点在检测到该查询请求时,从所存储的区块链中查找与该标识信息(指定使用地点是上海迪士尼,且指定使用地点的唯一票号是2016080000001)匹配的历史状态信息,然后输出所找到的历史状态信息,所输出的历史状态信息如下:

指定使用地点:上海迪士尼

指定使用地点的唯一票号:2016080000001

折扣类型:成人票

有效期:2016年8月31日

所有者的姓名:null,张三,李四,null

所有者的证件号码:null,123456,143234,null

成交价格:¥499,¥499,¥480,0

历史状态:待售,已售出,转卖一次,已使用

区块链节点的用户根据区块链节点所输出的历史状态信息,即可获知具有标识信息(例如:指定使用地点是上海迪士尼,且指定使用地点的唯一票号是2016080000001)的电子票的历史状态信息。至此,实现了电子票的历史状态信息的对称化和透明化。区块链节点的用户可以依据电子票的历史状态信息,验证区块链节点是否按照放票策略放票,还可以根据区块链节点所输出的历史状态信息,验证一张电子票是否是假票、过期票、已使用票、黄牛票等。

可选地,所述方法还包括:

验证所述电子票的历史状态信息与所述查询请求表征的状态信息是否匹配;

输出验证结果或将所述验证结果发送给查询端,所述验证结果用于提示所述查询请求表征的状态信息是否可信。

在另一实施例中,无需区块链节点的用户执行验证,而是由区块链节点执行验证。在查询请求表征查询端指定的电子票的状态信息时,区块链节点在从所存储的区块链中查找到对应的历史状态信息后,可以验证查询请求表征的状态信息是否与所找到的历史状态信息匹配,然后输出验证结果,或者将验证结果发送给查询端,验证结果用于提示查询请求表征的状态是否可信。

示例地,查询请求表征具有某一标识信息(例如:指定使用地点是上海迪士尼,且指定使用地点的唯一票号是2016080000001)的电子票是未使用的,而区块链节点从所存储的区块链中查找与该标识信息(指定使用地点是上海迪士尼,且指定使用地点的唯一票号是2016080000001)匹配的历史状态信息,所找到的历史状态信息如下:

指定使用地点:上海迪士尼

指定使用地点的唯一票号:2016080000001

折扣类型:成人票

有效期:2016年8月31日

所有者的姓名:null,张三,李四,null

所有者的证件号码:null,123456,143234,null

成交价格:¥499,¥499,¥480,0

历史状态:待售,已售出,转卖一次,已使用

区块链节点根据找到的历史状态信息,获知查询端指定的电子票是已使用的,与查询请求表征的状态信息(未使用)不匹配,因此,输出验证结果,或向查询端发送验证结果,该验证结果用于提示区块链节点的用户或者使用查询端的查询者:查询请求表征的状态是不可信的,例如,验证结果为:不可信,指定使用地点是上海迪士尼,且指定使用地点的唯一票号是2016080000001已被使用。

可见,在电子票的历史状态信息的对称化和透明化的基础上,电子票使用者可以根据电子票的历史状态信息,决定针对该电子票的买卖是否成交。避免买到假票、过期票、已使用票、黄牛票等。

在实际应用中,在查询请求来自于区块链网络外部的查询端的情况下,区块链网络可以提供查询接口,以便于查询端将查询请求发送到该查询端口。在查询请求携带查询端指定的区块链节点时,查询接口可以将该查询请求分配给查询端指定的区块链节点,由查询端指定的区块链节点执行验证;在查询端未指定区块链节点时,查询接口可以将该查询请求随机分配给区块链网络中的某个区块链节点,由查询接口随机指定的一个区块链节点执行验证,或者查询接口可以将该查询请求随机分配给区块链网络中的某些区块链节点,由查询接口随机指定的多个区块链节点执行验证,或查询接口将该查询请求分配给区块链网络中的全部区块链节点,由区块链网络中的全部区块链节点执行验证。

在查询请求来自于区块链网络中的某一区块链节点的情况下,可以由该区块链节点执行验证,该区块链节点也可以将该查询请求随机分配给区块链网络中的某个区块链节点,由该区块链节点随机指定的一个区块链节点执行验证,或者该区块链节点可以将该查询请求随机分配给区块链网络中的某些区块链节点,由查询接口随机指定的多个区块链节点执行验证,或者该区块链节点可以将该查询请求转发给区块链网络中的全部区块链节点,然后区块链网络中的全部区块链节点均执行验证。

对于有多个区块链节点执行验证的情况,多个区块链节点均可以生成验证结果,再对所有执行验证的区块链节点生成的验证结果进行统计,分析用于提示查询请求表征的状态是可信的验证结果(下文简称为可信的验证结果)占所有验证结果的比例,假设有n个区块链节点执行验证,若生成可信的验证结果的节点数n1所占的比例高于预设阈值(即n1/n的值高于预设阈值),则最终验证结果为:查询请求表征的状态是可信的;否则,最终验证结果为:查询请求表征的状态是不可信的。在一个实施例中,预设阈值可为90%~95%。

基于同一发明构思,本公开还提供一种查询电子票的状态信息的装置,应用于区块链网络中的区块链节点,所述区块链节点存储有由多个区块组成的区块链,每个区块用于存储信息,所述区块链是由所述区块链网络中所有区块链节点共同参与维护的分布式数据库。请参考图5,图5是根据一示例性实施例示出的一种查询电子票的状态信息的装置的框图。如图5所示,该装置500包括:

获得模块501,用于获得查询请求,所述查询请求用于查询电子票的历史状态信息;

查找模块502,用于响应于所述查询请求,从所述区块链中查找所述电子票的历史状态信息;

输出模块503,用于输出所述电子票的历史状态信息。

可选地,所述装置还包括:

验证模块,用于验证所述电子票的历史状态信息与所述查询请求表征的状态信息是否匹配;

处理模块,用于输出验证结果或将所述验证结果发送给查询端,所述验证结果用于提示所述查询请求表征的状态信息是否可信。

可选地,所述装置还包括:

接收模块,用于接收查询端发送的所述查询请求;或

检测模块,用于检测所述区块链节点的输入接口是否有所述查询请求。

可选地,所述装置还包括:

生成模块,用于根据放票策略,生成所述电子票;

第一写入模块,用于将所述电子票的初始状态信息写入所述区块链中;

确定模块,用于确定所述电子票的状态信息发生改变;

第二写入模块,用于将改变后的状态信息写入所述区块链中。

可选地,所述查找模块用于:根据所述查询请求携带的用于标识所述电子票的标识信息,从所述区块链中查找与所述标识信息匹配的历史状态信息。

所属本领域的技术人员应该清楚地了解到,为描述的方便和简洁,上述描述的查询电子票的状态信息的装置的各模块的具体工作过程,可以参考前述方法实施例中对应的过程,此处不再赘述。

另外,上述对查询电子票的状态信息的装置的组成模块进行的划分,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。并且,各个模块的物理实现也可以有多种方式,本发明对此不做限定。

基于同一发明构思,本公开还提供一种区块链节点。请参考图6,图6是根据一示例性实施例示出的一种区块链节点的框图。如图6所示,该区块链节点600包括:

处理器601、存储器602、通信接口603和通信总线604;所述处理器601、所述存储器602和所述通信接口603通过所述通信总线604完成相互间的通信。

处理器601可能是一个多核中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器602用于存放程序代码,所述程序代码包括计算机操作指令和网络流图。存储器602可能携带高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

所述通信接口603,用于实现这些装置之间的连接通信。

所述处理器601执行程序代码,所述程序代码在运行时用于实现图3或图4所示的方法。

本发明实施例还提供一种区块链网络,所述区块链网络包括多个区块链节点。每个区块链节点可参照上述对图6的说明,此处不再赘述。

在本申请所提供的几个实施例中,应该理解到,所公开的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储数据的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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