关于电子票据的数据处理方法、装置、存储介质和设备与流程

文档序号:16583652发布日期:2019-01-14 18:12阅读:231来源:国知局
关于电子票据的数据处理方法、装置、存储介质和设备与流程

本申请涉及计算机技术领域,特别是涉及一种关于电子票据的数据处理方法、装置、计算机可读存储介质和计算机设备。



背景技术:

发票是企业或个人在向消费者出售商品、提供服务或者从事其他经营活动时,为消费者提供的消费凭证。企业或个人在向消费者出售商品、提供服务或者从事其他经营活动时,应当开具发票并依法根据发票进行纳税。

传统的关于发票的领取、开具、报销及纳税等各环节的数据是割裂的,比如当空白发票被企业领取后是否被成功开具、开具出的发票是否被消费者报销、以及与发票相关的企业是否有按规定根据发票进行合理纳税等等这些信息不可知,都是割裂的信息,从而无从知晓发票在流转过程中的详细信息。



技术实现要素:

基于此,有必要针对传统的发票处理方式无法查询发票在流转过程中的详细信息的技术问题,提供一种关于电子票据的数据处理方法、装置、计算机可读存储介质和计算机设备。

一种关于电子票据的数据处理方法,应用于区块链网络中的区块链节点;所述方法包括:

在电子票据流转过程中的每个流转阶段,获取所述电子票据在所述流转阶段的票据信息,并相应生成所述电子票据在所述流转阶段的电子票据查询码;

将所述电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中;

接收关于所述电子票据的追溯查询指令;所述追溯查询指令携带所述电子票据在任一流转阶段的电子票据查询码;

根据所述追溯查询指令所携带的电子票据查询码,查询所述电子票据在已经历的每个流转阶段的票据信息;

反馈查询到的所述票据信息。

一种关于电子票据的数据处理装置,所述装置包括:

获取模块,用于在电子票据流转过程中的每个流转阶段,获取所述电子票据在所述流转阶段的票据信息,并相应生成所述电子票据在所述流转阶段的电子票据查询码;

记录模块,用于将所述电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中;

接收模块,用于接收关于所述电子票据的追溯查询指令;所述追溯查询指令携带所述电子票据在任一流转阶段的电子票据查询码;

查询模块,用于根据所述追溯查询指令所携带的电子票据查询码,查询所述电子票据在已经历的每个流转阶段的票据信息;

反馈模块,用于反馈查询到的所述票据信息。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述关于电子票据的数据处理方法的步骤。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述关于电子票据的数据处理方法的步骤。

上述关于电子票据的数据处理方法、装置、计算机可读存储介质和计算机设备,在电子票据流转过程中的每个流转阶段,获取电子票据的票据信息,并相应生成电子票据在流转阶段的电子票据查询码。将电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中,这样区块链网络中就存储有关于电子票据在各流转阶段的相关信息。进而,在接收到携带电子票据查询码的追溯查询指令后,就可根据电子票据查询码在区块链网络中查询到电子票据在已经历的每个流转阶段的票据信息,使得电子票据在各流转阶段的信息将不再割裂而不可知。这样,可以通过访问区块链网络中的区块链节点的方式,追溯查询电子票据在已经历的流转阶段的票据信息,实现了电子票据在流转过程中的可追溯可查询。

附图说明

图1为一个实施例中关于电子票据的数据处理方法的应用环境图;

图2为一个实施例中关于电子票据的数据处理方法的流程示意图;

图3为一个实施例中共识算法的原理示意图;

图4为一个实施例中记录票据查询记录的步骤的流程示意图;

图5为一个实施例中在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码的步骤的流程示意图;

图6为另一个实施例中在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码的步骤的流程示意图;

图7为一个实施例中关于电子票据的数据处理方法的流程示意图;

图8为一个实施例中电子票据在各流转阶段的逻辑关系示意图;

图9为一个实施例中关于电子票据的数据处理系统的部署图;

图10为一个实施例中关于电子票据的数据处理装置的结构框图;

图11为另一个实施例中关于电子票据的数据处理装置的结构框图;

图12为一个实施例中计算机设备的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中关于电子票据的数据处理方法的应用环境图。参照图1,该关于电子票据的数据处理方法应用于关于电子票据的数据处理系统。该关于电子票据的数据处理系统包括终端110、电子票据管理服务器120和区块链网络。其中,区块链网络中包括多个区块链节点130,具体包括有与税局服务器对应的区块链节点、与开票企业对应的开票方区块链节点、与电子票据公用服务器对应的区块链节点以及与报销企业对应的区块链节点等。这些区块链节点间两两可以进行数据传递。用户终端110和电子票据管理服务器120通过网络连接。电子票据管理服务器120和区块链节点130通过网络连接。

区块链节点130在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码;将电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中。终端110可通过电子票据管理服务器120向区块链节点130发送关于电子票据的追溯查询指令。区块链节点130根据追溯查询指令所携带的电子票据查询码查询电子票据在已经历的每个流转阶段的票据信息,并反馈查询到的票据信息。

终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑和笔记本电脑等中的至少一种。电子票据服务器120或区块链节点130可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

如图2所示,在一个实施例中,提供了一种关于电子票据的数据处理方法。本实施例主要以该方法应用于上述图1中的区块链节点130来举例说明。参照图2,该关于电子票据的数据处理方法具体包括如下步骤:

s202,在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码。

其中,电子票据是电子化存储的票据,比如可存储于存储介质或计算机设备中。电子票据查询码用于查询电子票据,具体可以是字符串、二维码或条形码等。电子票据的流转阶段是电子票据在整个生命周期内进行转移的阶段,具体可包括开票阶段、报销阶段和报税阶段。

其中,开票阶段是指开票方根据票据信息生成电子票据的阶段,当电子票据经历过开票阶段后,区块链节点会将表示电子票据处于已开具状态的票据状态信息添加至票据信息中。

报销阶段是指消费者根据电子票据向报销企业申请核销的阶段,当报销企业核对电子票据后,会根据电子票据中的资源转移份额向消费者转移相应的资源。当电子票据经历过报销阶段后,区块链节点会将表示电子票据处于已报销状态的票据状态信息添加至票据信息中。

报税阶段是指开票企业或报销企业根据电子票据进行相应报税的阶段。当开票企业或报销企业完成纳税后,区块链节点会将表示电子票据处于已报税状态的票据状态信息添加至票据信息中。

票据信息是用来生成电子票据的信息,可以包括开票方标识、电子票据标识、接收方标识和资源转移份额、电子票据的票据状态信息。其中,电子票据标识用于唯一标识一张电子票据,具体可以包括电子票据的票据代码和票据号码。

开票方标识是开具电子票据的一方所对应的标识,用于唯一标识开票方。开票方具体可以是销售企业,开票方在向消费者出售商品、提供服务或者从事其他经营活动时,需为消费者提供消费凭证,也就是电子票据。开票方标识具体可以是销售方名称、销售方的纳税人识别号或销售方的开户账号等。

接收方标识用于唯一标识电子票据接收方。接收方具体可以是消费个人或消费企业。当消费个人或消费企业在销售企业进行消费后,销售企业可为消费个人或消费企业提供消费凭证,也就是电子票据。接收方标识具体可以是购买方名称、购买方的纳税人识别号或购买方的开户账号等。资源转移份额是消费者消费的具体资源份额。

电子票据的票据状态信息可以包括电子票据处于已开具状态的票据状态信息、电子票据处于已报销状态的票据状态信息和电子票据处于已报税状态的票据状态信息等。电子票据处于不同的流转阶段时,区块链节点获取的电子票据的票据状态信息会有所不同。比如,当电子票据处于开票阶段时,对应地,电子票据的票据状态信息为表示电子票据处于已开具状态的信息;当电子票据处于报销阶段时,对应地,电子票据的票据状态信息为表示电子票据处于已报销状态的信息;当电子票据处于报税阶段时,对应地,电子票据的票据状态信息为表示电子票据处于已报税状态的信息。

区块链节点是区块链网络中的一个数据处理节点。区块链网络是运行区块链技术的载体和组织方式。区块链技术,简称bt(blockchaintechnology),也被称为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据记录。区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。

具体地,在电子票据流转过程中的每个流转阶段,区块链节点可获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码。

在一个实施例中,在电子票据流转过程中的每个流转阶段,比如开票阶段、报销阶段和报税阶段,与各流转阶段对应的区块链节点可分别获取相应流转阶段的票据信息。

比如,在开票阶段,开票方设备可根据开票方标识、与开票方标识关联的、且处于未使用状态的电子票据标识、接收方标识和资源转移份额、电子票据处于已开具状态的票据状态信息,共同生成票据信息,并将票据信息发送至与开票方设备对应的区块链节点。与开票方设备对应的区块链节点获取电子票据在开票阶段的票据信息,并生成电子票据在开票阶段的电子票据开票查询码。

在报销阶段,为消费者提供保存电子票据服务的电子票据公用服务器,可将更新的票据信息发送至与电子票据公用服务器对应的区块链节点;其中,更新的票据信息包括有表示已报销状态的票据状态信息。与电子票据公用服务器对应的区块链节点获取电子票据在报销阶段的票据信息,并生成电子票据在报销阶段的电子票据报销查询码。

在报税阶段,对于纳税企业,纳税方设备在纳税企业按规定纳税后,将更新的票据信息发送至与纳税方设备对应的区块链节点;其中,更新的票据信息包括有表示纳税方已报税状态的票据状态信息。其中,纳税企业可以是开票企业也可以是报销企业。也就是,当开票企业按规定纳税后,将添加了开票方已纳税信息的票据信息上报至与开票方对应的区块链节点,与开票方对应的区块链节点获取电子票据在报税节点的票据信息,并生成电子票据报税查询码。当报销企业按规定纳税后,将添加了接收方已纳税信息的票据信息上报至与报销企业对应的区块链节点,与报销企业对应的区块链节点获取电子票据在报税节点的票据信息,并生成电子票据报税查询码。

在一个实施例中,区块链节点可通过哈希算法对票据信息进行哈希运算,得到电子票据在各个流转阶段对应的电子票据查询码。常用的哈希算法比如,md5(messagedigestalgorithm,消息摘要算法第五版)、sha1(securehashalgorithm,安全哈希算法)和sha2等,本实施例在此不做具体限定。

在一个实施例中,区块链节点在电子票据的各个流转阶段分别可采用加密算法对票据信息进行加密,得到票据密文。再根据票据密文生成对应的电子票据查询码。其中,加密算法,比如对称加密算法和非对称加密算法等。对称加密算法,比如des(dataencryptionstandard,对称算法)、aes(advancedencryptionstandard,高级加密标准)或idea(internationaldataencryptionalgorithm,国际数据加密算法)等。非对称加密算法,比如rsa(rivest、shamir、adleman,加密算法)、dsa(digitalsignaturealgorithm,数字签名算法)或ecc(ellipticcurvecryptography,椭圆曲线加密算法)等。

在一个实施例中,在电子票据流转过程中的每个流转阶段,区块链节点可直接将票据哈希值作为电子票据查询码。在另一个实施例中,区块链节点可将票据哈希值返回至票据信息的来源方,并在接收到包括有来源方私钥的签名数据、且验证通过后,再根据票据哈希值、以及包括有票据信息来源方私钥签名的签名数据生成各流转阶段相应的电子票据查询码。

其中,票据信息的来源方在电子票据流转过程中的每个流转阶段是不同的,比如,在开票阶段,票据信息的来源方为开票企业;在报销阶段,票据信息的来源方为消费者(也可以是用于为消费者提供电子票据存储服务的电子票据公用服务器);在报税阶段,当开票企业报税时,票据信息的来源方为开票企业,当报销企业报税时,票据信息的来源方则为报销企业。

s204,将电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中。

具体地,在电子票据流转过程中的每个流转阶段,区块链节点可将电子票据在每个流转阶段的票据信息和相应的电子票据查询码关联写入数据区块。其中,数据区块是区块链网络中用来存储数据的存储模块。

在一个实施例中,在电子票据流转过程中的每个流转阶段,区块链节点在生成电子票据查询码之前会将相应的票据信息发送至所在区块链网络中的其他区块链节点,这些区块链节点在达成共识后,区块链节点才生成电子票据查询码。此时,区块链节点可在新区块生成时将当前流转阶段的票据信息和相应的电子票据查询码关联写入数据区块。

在一个实施例中,在电子票据流转过程中的每个流转阶段,区块链节点可在生成电子票据查询码后,将当前流转阶段的票据信息和电子票据查询码关联发送至所在区块链网络中的其他区块链节点,这些区块链节点在达成共识后,区块链节点才将当前流转阶段的票据信息和相应的电子票据查询码关联写入数据区块。

其中,区块链网络中的共识算法常用的有pow(proofofwork,工作量证明)、pos(proofofstake,权益证明)、dpos(delegatedproofofstake,委任权益证明)、及pbft(practicalbyzantinefaulttolerance,实用拜占庭容错算法)等等。

在一个具体的实施例中所采用的共识算法具体是基于一致性算法(如:raft)和拜占庭容错算法(如:bft)的共识算法(bft-raft)。当然本发明的其他实施例中也可以采用其他共识算法,本发明实施例在此不作限制。

举例说明,图3示出了一个实施例中共识算法的原理示意图。参考图3,客户端(client,具体可以是如图x中所示的区块链电子发票应用平台)发起共识请求(request),并将共识请求发送至处于领导状态的区块链节点(主节点leadera)。其中,处于领导状态的区块链节点由区块链网络中的各区块链节点共同选举得到。继续进入appendentity(添加实体)阶段,由leadera将共识请求所对应的共识内容(或对共识内容进行处理后得到的中间数据)广播至区块链网络中其他未处于领导状态的区块链节点(跟从节点followerb、followerc、followerd…);继续进入appendresponse(追加响应)阶段,由各跟从节点将接收到的共识内容广播至其他各区块链节点,并在接收到预设数量(2f+1)的其他区块链节点所广播的共识内容一致时,进入commit(确认)阶段,各跟从节点再将确认结果反馈至主节点。主节点在接收到预设数量(2f+1)的其他区块链节点反馈确认通过时,则判定完成共识向client反馈(reply)共识完成的结果。其中,3f+1≤n,n是区块链网络中区块链节点的数量。f是区块链网络中作恶区块链节点的数量。

下面结合本案具体实施例进行举例说明,在电子票据流转过程中的每个流转阶段,票据信息的来源方将票据信息上传至区块链节点,也就是意图将票据信息写入区块链网络中的数据区块,那么需要将票据信息写入即为需要达成共识的事件。当票据信息的来源方所对应区块链节点为处于领导状态的区块链节点时,则由该区块链节点将需要达成共识的事件广播至区块链网络中的其他区块链节点。

这些未处于领导状态的区块链节点在接收到需要达成共识的事件后,再将接收到的需要达成共识的事件广播至区块链网络中的其他区块链节点。这样,区块链网络中的每个区块链节点再在接收到预设数量的其他区块链节点所广播的数据一致时才进入确认阶段,以防止处于领导状态的区块链节点的欺诈行为。这些未处于领导状态的区块链节点再在确认完成后将确认结果反馈至处于领导状态的区块链节点,处于领导状态的区块链节点在接收到预设数量的其他区块链节点反馈确认通过时,则判定对需要达成共识的事件完成共识,此后,区块链节点则可将达成共识的事件所对应的数据写入数据区块。

当票据信息的来源方所对应区块链节点不是处于领导状态的区块链节点时,则将需要达成共识的事件转发至处于领导状态的区块链节点,再由处于领导状态的区块链节点如前的步骤主导共识过程。其中,处于领导状态的区块链节点由区块链网络中的各区块链节点共同选举得到。

s206,接收关于电子票据的追溯查询指令;追溯查询指令携带电子票据在任一流转阶段的电子票据查询码。

具体地,区块链节点可接收关于电子票据的追溯查询指令,追溯查询指令携带电子票据在任一流转阶段的电子票据查询码。比如,追溯查询指令携带可携带有开票阶段对应的电子票据开票查询码、报销阶段对应的电子票据报销查询码或报税阶段对应的电子票据报税查询码。

在一个实施例中,区块链节点接收电子票据管理服务器所转发的追溯查询指令。其中,追溯查询指令的转发步骤包括:电子票据管理服务器可提供查询页面;电子票据管理服务器接收终端触发的追溯查询指令,追溯查询指令由终端以用户账号在查询页面登录后触发,用户账号由电子票据管理服务器所分配;电子票据管理服务器将追溯查询指令转发至电子票据管理服务器所对应的区块链节点。

其中,查询页面是用于查询电子票据的页面。查询页面具体可以是web(worldwideweb,万维网)页面、应用程序展示的页面、或运行于母应用程序中的子应用程序展示的页面等。用户通过由电子票据管理服务器分配的用户账号在查询页面进行登录,登录后可通过点击、按压或触摸等触发操作触发追溯查询指令。终端将追溯查询指令转发至电子票据管理服务器,电子票据管理服务器再将追溯查询指令转发至电子票据管理服务器所对应的区块链节点。

在一个实施例中,用户也可以访客的形式进入查询页面,并在查询页面触发查询指令。当用户以访客形式进行查询时,则只能查询电子票据的真伪。终端可将查询指令发送至电子票据管理服务器,通过电子票据管理服务器转发至电子票据管理服务器所对应的区块链节点。区块链节点在区块链网络中查询与电子票据查询码对应的电子票据。当查找到区块链网络中存在电子票据时,则返回表示查询的电子票据为真的查询结果。当在区块链网络中无法查找到电子票据时,则返回表示查询的电子票据为伪的查询结果。

在一个实施例中,在区块链网络中可存在与电子票据管理服务器对应的区块链节点,该对应的区块链节点可提供与电子票据管理服务器进行数据通信的接口,比如开发sdk(softwaredevelopmentkit,软件开发工具包)和api(applicationprogramminginterface,应用程序编程)接口。电子票据管理服务器通过调用相应的接口,与区块链节点进行数据通信。

上述实施例中,通过电子票据管理服务器所分配的用户账号登录查询页面,才可触发追溯查询指令,并通过电子票据管理服务器访问区块链网络中的区块链节点,以追溯查询电子票据的票据信息。这样,可通过电子票据管理服务器管控追溯查询权限,既保障了电子票据的数据安全,又实现了电子票据的可追溯可查询。

s208,根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的每个流转阶段的票据信息。

具体地,区块链节点可通过追溯查询指令所携带的电子票据查询码,在区块链网络中查询电子票据在已经历的每个流转阶段的票据信息。

举例说明,当电子票据已经历的流转阶段包括开票阶段和报销阶段,那么在区块链网络中就记录有开票阶段和报销阶段相应的票据信息。在开票阶段记录的票据信息中包括有表示电子票据处于已开具状态的票据状态信息。在报销阶段记录的票据信息中包括有表示电子票据处于已报销状态的票据状态信息。这样,区块链节点通过电子票据查询码可查询到电子票据在开票阶段和报销阶段的票据信息。

在一个实施例中,区块链节点可将处于不同流转阶段的电子票据进行关联,这样,通过电子票据在任一流转阶段的电子票据查询码,均可查询到电子票据在已经历的每个流转阶段的票据信息。

s210,反馈查询到的票据信息。

具体地,区块链节点可将查询到的电子票据在已经历的每个流转阶段的票据信息反馈至查询方。在一个实施例中,当区块链节点接收到电子票据管理服务器所转发的追溯查询指令时,可将查询到的电子票据在已经历的每个流转阶段的票据信息反馈至电子票据管理服务器。通过电子票据管理服务器转发至查询终端,并在查询页面中显示查询到的票据信息。

在一个实施例中,区块链网络中记录的票据信息都是经过加密后的密文。电子票据管理服务器存储有解密相应电子票据的密钥。电子票据管理服务器可解密密文后在查询页面中显示明文的票据信息。

上述关于电子票据的数据处理方法,在电子票据流转过程中的每个流转阶段,获取电子票据的票据信息,并相应生成电子票据在流转阶段的电子票据查询码。将电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中,这样区块链网络中就存储有关于电子票据在各流转阶段的相关信息。进而,在接收到携带电子票据查询码的追溯查询指令后,就可根据电子票据查询码在区块链网络中查询到电子票据在已经历的每个流转阶段的票据信息,使得电子票据在各流转阶段的信息将不再割裂而不可知。这样,可以通过访问区块链网络中的区块链节点的方式,追溯查询电子票据在已经历的流转阶段的票据信息,实现了电子票据在流转过程中的可追溯可查询。

在一个实施例中,关于电子票据的数据处理方法还包括确定查询权限的步骤,该步骤具体包括在接收到追溯查询指令后,获取追溯查询指令所携带的用户账号;确定用户账号所对应的查询权限。根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的每个流转阶段的票据信息的步骤具体包括:根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的、且由查询权限所指定的流转阶段的票据信息。

其中,用户账号是电子票据管理服务器为用户分配的登录账号。查询权限是指定查询范围的权限。查询权限可包括查询电子票据的票据信息的权限、以及查询电子票据的真伪的权限;或者查询权限还可以是查询指定流转阶段的电子票据的票据信息的权限,比如指定查询开票阶段的票据信息的权限、指定查询与开票方相关的开票阶段和报税阶段的票据信息的权限、指定查询与接收方相关的开票阶段、报销阶段和报税阶段的票据信息的权限等。

具体地,用户可通过用户账号登录查询页面,并触发追溯查询指令。区块链节点在接收追溯查询指令时,可提取追溯查询指令中携带的用户账号。区块链节点中可预先存储用户账号、及用户账号相应的查询权限。区块链节点在获取用户账号后,可确定用户账号所对应的查询权限,根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的、且由查询权限所指定的流转阶段的票据信息。

在一个实施例中,电子票据管理服务器在分配用户账号时,可相应地将该用户账号与固定的ip(internetprotocol,网络之间互连的协议)地址、终端标识等信息进行绑定。其中,终端标识用于唯一标识终端,具体可以是终端的mac(mediaaccesscontrol,媒体访问控制)地址或者imei(internationalmobileequipmentidentity,国际移动设备身份码)。区块链节点在获取用户账号后,可验证与追溯查询指令所携带的ip地址和终端标识是否为绑定的ip地址和终端标识。如果是则进一步确定用户账号的查询权限,如果否则直接拒绝响应追溯查询指令。

在一个实施例中,电子票据管理服务器在分配用户账号时,还可相应地将该用户账号与用户进行绑定。比如终端通过用户账号登录查询页面时,还需输入用户相应的生物特征才可成功登录,生物特征比如指纹特征、或人脸特征等。

在一个实施例中,查询权限包括查询电子票据的票据信息的权限、以及查询电子票据的真伪的权限。电子票据服务器可预先配置具有查询电子票据的票据信息的权限的登录账号。区块链节点可存储电子票据服务器预先配置的登录账号。区块链节点在在接收到追溯查询指令后,提取追溯查询指令中携带的用户账号。区块链节点在存储的登录账号中进行比对查找,当用户账号为登录账号时,则根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的流转阶段的票据信息。当用户账号不是预存的登录账号时,则仅仅返回电子票据真伪的查询结果。

在一个实施例中,查询权限包括查询指定流转阶段的电子票据的票据信息的权限。电子票据服务器可预先配置具有不同查询权限的用户账号。区块链节点可相应存储用户账号、及用户账号对应的权限级别。区块链节点在在接收到追溯查询指令后,提取追溯查询指令中携带的用户账号。区块链节点可确定用户账号对应的查询权限,根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的且由查询权限所指定的流转阶段的票据信息。比如,当与用户账号对应的查询权限指定查询与开票方相关的开票阶段和报税阶段的票据信息时,区块链节点则查询在指定的流转阶段中的票据信息。

上述实施例中,通过追溯查询指令所携带的用户账号,确定用户账号所对应的查询权限,这样可以根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的、且由查询权限所指定的流转阶段的票据信息。这样通过查询权限限定查询的内容,可以更精细地控制查询操作,进而可以加强对电子票据数据的保护。

在一个实施例中,追溯查询指令携带有用户账号,关于电子票据的数据处理方法还包括记录票据查询记录的步骤,该步骤具体包括:

s402,生成包括用户账号和电子票据查询码的票据查询记录。

具体地,当区块链节点接收到追溯查询指令后,可提取追溯查询指令中携带的用户账号和电子票据查询码。区块链节点可根据提取的用户账号和电子票据查询码关联生成票据查询记录。

在一个实施例中,区块链节点在接收到追溯查询指令时,还可记录当前的时间、追溯查询指令所携带的ip地址、终端标识等信息。将当前的时间、ip地址、终端标识等信息,同用户账号和电子票据查询码共同记录至票据查询记录中。

s404,将票据查询记录在区块链网络中进行共识。

具体地,区块链网络中与电子票据管理服务器对应的区块链节点接收追溯查询指令,并生成票据查询记录。与电子票据管理服务器对应的区块链节点将票据查询记录传递至区块链网络中的其他区块链节点,以进行共识。具体地共识算法可参考步骤s204中的共识算法,在此不再赘述。

s406,当共识完成后,将票据查询记录写入到区块链网络中;票据查询记录用于查询对于电子票据的历史查询行为。

具体地,当共识完成后,区块链节点可将票据查询记录写入到数据区块中。写入数据区块的票据查询记录用于查询对于电子票据的历史查询行为。这样,有关单位或部门就可通过访问区块链网络的方式调阅票据查询记录,以查询关于电子票据的历史查询行为,进而可以分析记录的历史查询行为。

上述实施例中,生成包括用户账号和电子票据查询码的票据查询记录,将票据查询记录写入到区块链网络中,可记录对于电子票据的历史查询行为,便于后续分析历史查询行为。

在一个实施例中,步骤s210,也就是反馈查询到的票据信息具体包括:将查询到的每个流转阶段的票据信息整合到相同的电子票据中;反馈经过整合的电子票据;反馈的电子票据用于呈现电子票据所经历的每个流转阶段。

具体地,区块链节点在查询到电子票据在已经历的每个流转阶段的票据信息后,将查询到的每个流转阶段的票据信息整合到相同的电子票据中,这样,整合的电子票据可以呈现电子票据所经历的每个流转阶段。再响应于追溯查询指令,反馈整合的电子票据。

在一个实施例中,各个流转阶段的票据信息包括相同的开票方标识、接收方标识、电子票据标识和资源转移份额等信息。各个流转阶段的票据信息分别还包括各个流转阶段对应的票据状态信息,比如表示电子票据处于已开具状态的票据状态信息、表示电子票据处于已报销状态的票据状态信息或表示电子票据处于已报税状态的票据状态信息等。区块链节点可将每个流转阶段的票据信息中相同的开票方标识、接收方标识、电子票据标识和资源转移份额等信息、以及不同的票据状态信息进行整合,得到包括有电子票据所经历的每个流转阶段对应的票据状态信息的电子票据。

上述实施例中,将查询到的每个流转阶段的票据信息整合到相同的电子票据中,反馈可以呈现电子票据所经历的每个流转阶段的电子票据,这样,通过追溯查询指令就可以查询到当前最完整的电子票据,能追溯电子票据在整个生命周期所经历的每个流转阶段。

在一个实施例中,当流转阶段包括开票阶段时,电子票据查询码包括电子票据开票查询码,票据信息包括开票方标识、电子票据标识、接收方标识和资源转移份额。

具体地,当流转阶段包括开票阶段时,与开票方对应的区块链节点可获取开票方设备发送的票据信息,并通过哈希算法对票据信息进行哈希运算,得到票据哈希值。与开票方对应的区块链节点可将票据哈希值发送至与开票方标识对应的开票方设备。开票方设备在接收到票据哈希值后,采用开票方设备私钥对票据哈希值进行签名,得到签名数据,并将签名数据回传至区块链节点。与开票方对应的区块链节点接收开票方设备返回的签名数据,通过区块链节点本地存储的开票方公钥验证签名数据。当签名数据通过验证后,对票据哈希值和签名数据进行哈希运算,生成电子票据开票查询码。

区块链节点生成电子票据开票查询码后,可将票据信息和电子票据开票查询码进行关联,以生成电子票据。与开票方对应的区块链节点可将生成的电子票据写入数据区块。其中,电子票据开票查询码可以认为是电子票据的索引,用来查找相应的电子票据。

在一个实施例中,在区块链网络中可存在与开票方设备对应的区块链节点,该对应的区块链节点可提供与开票方设备进行数据通信的接口,比如开发sdk和api接口。

在一个实施例中,电子票据管理服务器为开票企业分配电子票据标识时,可将开票方标识和电子票据标识关联写入数据区块。这样,从电子票据标识被分配之后,就可从区块链网络上查询到该电子票据标识是被分配给哪个企业了、以及相应的电子票据是够有被开具。

上述实施例中,当流转节点包括开票阶段时,获取票据信息,并根据票据信息生成对应的电子票据开票查询码,将票据信息和电子票据开票查询码关联写入数据区块,这样,可将经历过开票阶段的票据信息记录至区块链网络中,便于电子票据的追溯查询。

在一个实施例中,当流转阶段包括报销阶段时,电子票据查询码包括电子票据报销查询码;步骤s202,也就是在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码的步骤具体包括以下步骤:

s502,在报销阶段,接收票据信息更新请求;票据信息更新请求携带有电子票据和接收方标识。

具体地,在报销阶段,区块链节点可接收来自于电子票据公用服务器发起的票据信息更新请求。其中,票据信息更新请求携带有电子票据和接收方标识。

在一个实施例中,消费者向报销企业提交包括有电子票据开票查询码的报销单据。报销企业根据电子票据开票查询码从区块链网络中获取相应的电子票据并依据获取的电子票据核对报销单据。当报销单据核对完成后,报销企业根据报销单据进行资源转移。当资源转移成功后,用于存储消费者的电子票据的电子票据公用服务器则可向与电子票据公用服务器对应的区块链节点发送票据信息更新请求。

在一个实施例中,在区块链网络中可存在与电子票据公用服务器对应的区块链节点,该对应的区块链节点可提供与电子票据公用服务器进行数据通信的接口,比如开发sdk和api接口。

s504,查询与接收方标识对应的资源转移记录。

在一个实施例中,报销企业可根据报销单据生成资源转移记录,并将资源转移记录上传至区块链网络中的区块链节点中。其中,资源转移记录中包括已报销的电子票据。与电子票据公用服务器对应的区块链节点在接收到票据信息更新请求时,提取票据信息更新请求中携带的接收方标识,在区块链节点中查询与接收方标识对应的资源转移记录。

s506,根据资源转移记录核对电子票据。

具体地,与电子票据公用服务器对应的区块链节点可根据资源转移记录核对电子票据是否已经被报销,当电子票据确定已被报销,则表明电子票据通过核对。

s508,当电子票据通过核对后,将已报销状态更新到电子票据的票据信息中,并根据更新的票据信息生成电子票据报销查询码。

具体地,当电子票据通过核对后,与电子票据公用服务器对应的区块链节点可将表示为已报销状态的票据状态信息更新到电子票据的票据信息中,并根据更新的票据信息生成电子票据报销查询码。

在一个实施例中,与电子票据公用服务器对应的区块链节点通过哈希算法对更新的票据信息进行哈希运算,得到票据哈希值,并将票据哈希值发送至电子票据公用服务器。电子票据公用服务器在接收到票据哈希值后,采用本地存储的消费者私钥对票据哈希值进行签名,得到签名数据,并将签名数据回传至区块链节点。与电子票据公用服务器对应的区块链节点接收电子票据公用服务器返回的签名数据,通过区块链节点本地存储的消费者公钥验证签名数据。当签名数据通过验证后,对票据哈希值和签名数据进行哈希运算,生成电子票据报销查询码。

在一个实施例中,当电子票据经过报销阶段时,电子票据公用服务器可将报销状态更新至电子票据的票据信息中,并将更新的票据信息发送至区块链网络中的与电子票据公用服务器对应的区块链节点,以将更新的票据信息写入数据区块。

上述实施例中,当流转节点包括报销阶段时,接收携带有电子票据和接收方标识的票据信息更新请求,根据与接收方标识对应的资源转移记录核对电子票据,当电子票据通过核对后,将已报销状态更新到电子票据的票据信息中。这样,在电子票据经历过报销阶段后,可将包括有已报销状态的信息记录至区块链网络中,便于电子票据的追溯查询。

在一个实施例中,当流转阶段包括报税阶段时,电子票据查询码包括电子票据报税查询码;步骤s202,也就是在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码的步骤具体包括以下步骤:

s602,在报税阶段,接收票据信息更新请求;票据信息更新请求携带有电子票据和报税方标识。

具体地,在报税阶段,与报税方对应的区块链节点可接收来自于报税端发起的票据信息更新请求。其中,票据信息更新请求携带有电子票据和报税方标识。当开票企业根据该电子票据进行相应的报税和纳税时,则报税方标识为开票方标识;当报销企业根据电子票据进行相应的报税和纳税时,则报税方标识为接收方标识。

在一个实施例中,报税方按照依据电子票据计算得到的报税税额进行相应纳税后,可向与报税方对应的区块链节点发送票据信息更新请求。

在一个实施例中,报税方可按照依据电子票据计算得到的报税税额进行相应纳税后,电子票据管理服务器可将与报税方标识对应的纳税记录上传至区块链网络中的区块链节点。

s604,查询与接收方标识对应的纳税记录。

具体地,与报税方对应的区块链节点可从区块链网络中查询与缴纳的报税税额和报税方标识对应的纳税记录,其中,该纳税记录通过电子票据管理服务器上传至区块链网络。

s606,根据纳税记录核对电子票据。

具体地,当与报税方对应的区块链节点查询到纳税记录时,可根据纳税记录核对电子票据。当在纳税记录中查找到该电子票据时,则说明该电子票据已经历过纳税阶段。可以理解的是,对于同一张电子票据,开票发和接收方可分别根据该电子票据进行纳税税额的计算。也就是说,当与开票方标识对应的纳税记录中包括有该电子票据时,则说明对于开票企业,该电子票据已经历过报税阶段。当与接收方标识对应的纳税记录中包括有该电子票据时,则说明对于报销企业,该电子票据已经历过报税阶段。

s608,当电子票据通过核对后,将已报税状态更新到电子票据的票据信息中,并根据更新的票据信息生成电子票据报税查询码。

具体地,当电子票据通过核对后,与报税方对应的区块链节点可将已报税状态和/或报税方标识更新到电子票据的票据信息中,并根据更新的票据信息生成电子票据报税查询码。

在一个实施例中,与报税方对应的区块链节点通过哈希算法对更新的票据信息进行哈希运算,得到票据哈希值,并将票据哈希值发送至报税方设备。报税方设备在接收到票据哈希值后,采用本地存储的报税方私钥对票据哈希值进行签名,得到签名数据,并将签名数据回传至区块链节点。与报税方对应的区块链节点接收报税方设备返回的签名数据,通过区块链节点本地存储的报税方公钥验证签名数据。当签名数据通过验证后,对票据哈希值和签名数据进行哈希运算,生成电子票据报税查询码。

在一个实施例中,当电子票据经过报税阶段时,电子票据管理服务器可将报税状态更新至电子票据的票据信息中,并将更新的票据信息发送至区块链网络中的区块链节点,以将更新的票据信息写入数据区块。

上述实施例中,当流转节点包括报税阶段时,接收携带有电子票据和报税方标识的票据信息更新请求,根据与报税方标识对应的纳税记录核对电子票据,当电子票据通过核对后,将已报税状态更新到电子票据的票据信息中。这样,在电子票据经历过报税阶段后,可将包括有已报税状态的信息记录至区块链网络中,便于电子票据的追溯查询。

如图7所示,在一个具体的实施例中,关于电子票据的数据处理方法包括以下步骤:

s702,在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码。

s704,将电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中。

s706,接收电子票据管理服务器所转发的追溯查询指令;追溯查询指令携带电子票据在任一流转阶段的电子票据查询码、以及用户账号。

s708,确定用户账号所对应的查询权限。

s710,根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的、且由查询权限所指定的流转阶段的票据信息。

s712,将查询到的每个流转阶段的票据信息整合到相同的电子票据中。

s714,反馈经过整合的电子票据;反馈的电子票据用于呈现电子票据所经历的每个流转阶段。

s716,生成包括用户账号和电子票据查询码的票据查询记录。

s718,将票据查询记录在区块链网络中进行共识。

s720,当共识完成后,将票据查询记录写入到区块链网络中;票据查询记录用于查询对于电子票据的历史查询行为。

上述关于电子票据的数据处理方法,在电子票据流转过程中的每个流转阶段,获取电子票据的票据信息,并相应生成电子票据在流转阶段的电子票据查询码。将电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中,这样区块链网络中就存储有关于电子票据在各流转阶段的相关信息。进而,在接收到携带电子票据查询码的追溯查询指令后,就可根据电子票据查询码在区块链网络中查询到电子票据在已经历的每个流转阶段的票据信息,使得电子票据在各流转阶段的信息将不再割裂而不可知。这样,可以通过访问区块链网络中的区块链节点的方式,追溯查询电子票据在已经历的流转阶段的票据信息,实现了电子票据在流转过程中的可追溯可查询。

图7为一个实施例中关于电子票据的数据处理方法的流程示意图。应该理解的是,虽然图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在具体应用场景中,电子票据为区块链电子发票;电子票据标识为区块链电子发票编号;开票方标识为企业标识;接收方标识为企业标识。

其中,区块链电子发票是基于区块链技术处理的电子发票。区块链电子发票编号具体可以包括发票代码和发票号码。企业标识用于唯一标识一个企业,可以是企业在税局注册后,由税局为企业分配的唯一标识。电子票据管理服务器具体可以是税局对应的服务器。

参考图8,图8示出了一个实施例中电子票据在各流转阶段的逻辑关系示意图。首先,消费者可通过运行于移动终端上的小程序或服务器来提出开票申请。商户,也就是开票方审核消费者提交的开票信息,审核完成后将票据信息发送至区块链网络中的区块链节点,通过区块链节点生成区块链电子发票。商户可将区块链电子发票传递至消费者,消费者可通过电子票据公用应用,比如微信,托管区块链电子发票。同时,消费者也可以通过用户标识登录微信应用并通过微信从区块链网络中查询区块链电子发票。

在报销阶段,消费者可通过微信应用整理并提交包括有区块链电子发票的报销单据。企业(也就是报销企业)在接收到报销单后可从区块链网络中查询相应的区块链电子发票,根据查询到的区块链电子发票核对报销单,核对完成后进行资源转移。当资源转移成功后,报销企业可触发更新区块链电子发票的报销状态。

在报税阶段,商户和企业(也就是开票方和接收方)均可根据相应的区块链电子发票向税局进行报税,并按纳税税额进行纳税。当完成纳税后,税局会将相应的已纳税的状态上传至区块链节点,以将已纳税状态记录至区块链网络。

进一步地,税局可以分配一些用户账号给到相关单位和部门使用,比如公安局、法院或公检机构等。这些单位和部门可通过税局提供的用户账号登录查询页面,以进行区块链电子发票的明细查询。比如,可通过服务号或小程序等应用登录查询页面。区块链节点通过接收携带有区块链电子发票在任一流转阶段的电子票据查询码的追溯查询指令,根据电子票据查询码,查询区块链电子发票在已经历的每个流转阶段的票据信息并反馈查询到的票据信息。

参考图9,在一个具体的实施例中关于电子票据的数据处理系统的部署图。在具体的区块链电子发票应用场景中,参考图9,区块链网络中至少包括4个区块链节点来形成联盟链,分别为与税局服务器对应的区块链节点,与开票企业对应的区块链节点、与电子票据公用服务器对应的区块链节点以及与报销企业对应的区块链节点。通常情况下,各角色的设备与对应的区块链节点进行交互。其中,电子票据公用服务器用于替消费者保存已开具的区块链电子发票,电子票据公用服务器具体可以是微信服务器等。

税局服务器一方面通过反向代理服务向外提供访问接口(对税局终端的内部接口,以及对企业用户的外部接口)供各角色的设备进行访问,托管各角色的身份密钥,管理各角色的特征数据。另一方面通过同步工具实时从对应的区块链节点中的区块链网络模块中同步写入区块链网络(或共识完待写入)的数据,以对各角色的区块链电子发票相关数据进行查询与统计。

区块链网络中的各区块链节点一方面通过反向代理服务向外提供访问接口,供相应的设备进行访问(如,报销企业的设备访问报销企业对应的区块链节点等)。另一方面通过区块链电子发票应用平台接收对应设备通过反向代理服务发送的数据(如,报销企业的设备向报销企业对应的区块链节点上传数据,即通过反向代理服务提供的接口将数据传递至区块链电子发票应用平台等)。区块链电子发票应用平台再将数据传递至区块链网络模块。各个区块链节点的区块链网络模块共同构成共识网络,在共识网络中达成共识后,再将数据写入区块链网络模块。区块链节点中还包括缓存数据库,用于缓存各种数据,如从系统中心服务器获取的企业公钥等。

该部署图可还包括区块链网络模块系统中心服务器,保存各企业的企业标识与公钥的映射,与税局服务器相隔离,主要用于进行身份鉴权(如,限制只有税局才能发行发票,更改与企业相关的约束条件)。后续一些需要中心化的操作,统一放到这个系统中心服务器执行。

其中,反向代理服务具体可以是nginx。区块链电子发票应用平台实现了区块链电子发票的主要业务逻辑,并且对外暴露开发sdk和api接口,供第三方通过反向代理服务接入进行交互。区块链网络模块具体可基于腾讯底层区块链技术(trustsql)实现。缓存区域具体可通过mysql数据库实现。可以理解,本实施例用于举例说明,不对具体实现中所采用的实现方式进行限定。

在具体的应用场景中,电子票据具体可以是区块链电子发票,电子票据管理服务器具体可以是税局服务器,开票方设备具体可以是电子票据开票方(电子票据报票方)对应的终端或者服务器,电子票据公用服务器具体可以是用于提供源自于区块链节点的电子票据的公共存储服务,比如,微信服务器。可以理解,开票企业既可以作为电子票据开票方开具电子票据,又可以作为电子票据报票方报销电子票据。

如图10所示,在一个实施例中,提供了一种关于电子票据的数据处理装置1000,包括:获取模块1001、记录模块1002、接收模块1003、查询模块1004和反馈模块1005。

获取模块1001,用于在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码。

记录模块1002,用于将电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中。

接收模块1003,用于接收关于电子票据的追溯查询指令;追溯查询指令携带电子票据在任一流转阶段的电子票据查询码。

查询模块1004,用于根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的每个流转阶段的票据信息。

反馈模块1005,用于反馈查询到的票据信息。

在一个实施例中,接收模块1003还用于接收电子票据管理服务器所转发的追溯查询指令。

在一个实施例中,关于电子票据的数据处理装置1000还包括确定模块1006。

获取模块1001还用于在接收到追溯查询指令后,获取追溯查询指令所携带的用户账号。

确定模块1006,用于确定用户账号所对应的查询权限。

查询1004模块还用于根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的、且由查询权限所指定的流转阶段的票据信息。

参考图11,在一个实施例中,追溯查询指令携带有用户账号;关于电子票据的数据处理装置1000还包括生成模块1007和共识模块1008。

生成模块1007,用于生成包括用户账号和电子票据查询码的票据查询记录。

共识模块1008,用于将票据查询记录在区块链网络中进行共识。

记录模块1002还用于当共识完成后,将票据查询记录写入到区块链网络中;票据查询记录用于查询对于电子票据的历史查询行为。

在一个实施例中,反馈模块1005还用于将查询到的每个流转阶段的票据信息整合到相同的电子票据中;反馈经过整合的电子票据;反馈的电子票据用于呈现电子票据所经历的每个流转阶段。

在一个实施例中,当流转阶段包括开票阶段时,电子票据查询码包括电子票据开票查询码,票据信息包括开票方标识、电子票据标识、接收方标识和资源转移份额。

在一个实施例中,当流转阶段包括报销阶段时,电子票据查询码包括电子票据报销查询码;获取模块1001还用于在报销阶段,接收票据信息更新请求;票据信息更新请求携带有电子票据和接收方标识;查询与接收方标识对应的资源转移记录;根据资源转移记录核对电子票据;当电子票据通过核对后,将已报销状态更新到电子票据的票据信息中,并根据更新的票据信息生成电子票据报销查询码。

在一个实施例中,当流转阶段包括报税阶段时,电子票据查询码包括电子票据报税查询码;获取模块1001还用于在报税阶段,接收票据信息更新请求;票据信息更新请求携带有电子票据和报税方标识;查询与接收方标识对应的纳税记录;根据纳税记录核对电子票据;当电子票据通过核对后,将已报税状态更新到电子票据的票据信息中,并根据更新的票据信息生成电子票据报税查询码。

上述关于电子票据的数据处理装置,在电子票据流转过程中的每个流转阶段,获取电子票据的票据信息,并相应生成电子票据在流转阶段的电子票据查询码。将电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中,这样区块链网络中就存储有关于电子票据在各流转阶段的相关信息。进而,在接收到携带电子票据查询码的追溯查询指令后,就可根据电子票据查询码在区块链网络中查询到电子票据在已经历的每个流转阶段的票据信息,使得电子票据在各流转阶段的信息将不再割裂而不可知。这样,可以通过访问区块链网络中的区块链节点的方式,追溯查询电子票据在已经历的流转阶段的票据信息,实现了电子票据在流转过程中的可追溯可查询。

图12示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的区块链节点130。如图12所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现关于电子票据的数据处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行关于电子票据的数据处理方法。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的关于电子票据的数据处理装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该关于电子票据的数据处理装置的各个程序模块,比如,图10所示的获取模块、记录模块、接收模块、查询模块和反馈模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的关于电子票据的数据处理方法中的步骤。

例如,图12所示的计算机设备可以通过如图10所示的关于电子票据的数据处理装置中的获取模块执行步骤s202。计算机设备可通过记录模块执行步骤s204。计算机设备可通过接收模块执行步骤s206。计算机设备可通过查询模块执行步骤s208。计算机设备可通过反馈模块执行步骤s210。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码;将电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中;接收关于电子票据的追溯查询指令;追溯查询指令携带电子票据在任一流转阶段的电子票据查询码;根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的每个流转阶段的票据信息;反馈查询到的票据信息。

在一个实施例中,计算机程序使得处理器在执行接收关于电子票据的追溯查询指令的步骤时具体执行以下步骤:接收电子票据管理服务器所转发的追溯查询指令。其中,追溯查询指令的转发步骤包括:电子票据管理服务器提供查询页面;电子票据管理服务器接收终端触发的追溯查询指令,追溯查询指令由终端以用户账号在查询页面登录后触发,用户账号由电子票据管理服务器所分配;电子票据管理服务器将追溯查询指令转发至电子票据管理服务器所对应的区块链节点。

在一个实施例中,计算机程序使得处理器还执行以下步骤:在接收到追溯查询指令后,获取追溯查询指令所携带的用户账号;确定用户账号所对应的查询权限;根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的每个流转阶段的票据信息包括:根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的、且由查询权限所指定的流转阶段的票据信息。

在一个实施例中,追溯查询指令携带有用户账号;计算机程序使得处理器还执行以下步骤:生成包括用户账号和电子票据查询码的票据查询记录;将票据查询记录在区块链网络中进行共识;当共识完成后,将票据查询记录写入到区块链网络中;票据查询记录用于查询对于电子票据的历史查询行为。

在一个实施例中,计算机程序使得处理器在执行反馈查询到的票据信息的步骤时具体执行以下步骤:将查询到的每个流转阶段的票据信息整合到相同的电子票据中;反馈经过整合的电子票据;反馈的电子票据用于呈现电子票据所经历的每个流转阶段。

在一个实施例中,当流转阶段包括开票阶段时,电子票据查询码包括电子票据开票查询码,票据信息包括开票方标识、电子票据标识、接收方标识和资源转移份额。

在一个实施例中,当流转阶段包括报销阶段时,电子票据查询码包括电子票据报销查询码;计算机程序使得处理器在执行在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码的步骤时具体执行以下步骤:在报销阶段,接收票据信息更新请求;票据信息更新请求携带有电子票据和接收方标识;查询与接收方标识对应的资源转移记录;根据资源转移记录核对电子票据;当电子票据通过核对后,将已报销状态更新到电子票据的票据信息中,并根据更新的票据信息生成电子票据报销查询码。

在一个实施例中,当流转阶段包括报税阶段时,电子票据查询码包括电子票据报税查询码;计算机程序使得处理器在执行在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码的步骤时具体执行以下步骤:在报税阶段,接收票据信息更新请求;票据信息更新请求携带有电子票据和报税方标识;查询与接收方标识对应的纳税记录;根据纳税记录核对电子票据;当电子票据通过核对后,将已报税状态更新到电子票据的票据信息中,并根据更新的票据信息生成电子票据报税查询码。

上述计算机设备,在电子票据流转过程中的每个流转阶段,获取电子票据的票据信息,并相应生成电子票据在流转阶段的电子票据查询码。将电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中,这样区块链网络中就存储有关于电子票据在各流转阶段的相关信息。进而,在接收到携带电子票据查询码的追溯查询指令后,就可根据电子票据查询码在区块链网络中查询到电子票据在已经历的每个流转阶段的票据信息,使得电子票据在各流转阶段的信息将不再割裂而不可知。这样,可以通过访问区块链网络中的区块链节点的方式,追溯查询电子票据在已经历的流转阶段的票据信息,实现了电子票据在流转过程中的可追溯可查询。

一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码;将电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中;接收关于电子票据的追溯查询指令;追溯查询指令携带电子票据在任一流转阶段的电子票据查询码;根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的每个流转阶段的票据信息;反馈查询到的票据信息。

在一个实施例中,计算机程序使得处理器在执行接收关于电子票据的追溯查询指令的步骤时具体执行以下步骤:接收电子票据管理服务器所转发的追溯查询指令。其中,追溯查询指令的转发步骤包括:电子票据管理服务器提供查询页面;电子票据管理服务器接收终端触发的追溯查询指令,追溯查询指令由终端以用户账号在查询页面登录后触发,用户账号由电子票据管理服务器所分配;电子票据管理服务器将追溯查询指令转发至电子票据管理服务器所对应的区块链节点。

在一个实施例中,计算机程序使得处理器还执行以下步骤:在接收到追溯查询指令后,获取追溯查询指令所携带的用户账号;确定用户账号所对应的查询权限;根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的每个流转阶段的票据信息包括:根据追溯查询指令所携带的电子票据查询码,查询电子票据在已经历的、且由查询权限所指定的流转阶段的票据信息。

在一个实施例中,追溯查询指令携带有用户账号;计算机程序使得处理器还执行以下步骤:生成包括用户账号和电子票据查询码的票据查询记录;将票据查询记录在区块链网络中进行共识;当共识完成后,将票据查询记录写入到区块链网络中;票据查询记录用于查询对于电子票据的历史查询行为。

在一个实施例中,计算机程序使得处理器在执行反馈查询到的票据信息的步骤时具体执行以下步骤:将查询到的每个流转阶段的票据信息整合到相同的电子票据中;反馈经过整合的电子票据;反馈的电子票据用于呈现电子票据所经历的每个流转阶段。

在一个实施例中,当流转阶段包括开票阶段时,电子票据查询码包括电子票据开票查询码,票据信息包括开票方标识、电子票据标识、接收方标识和资源转移份额。

在一个实施例中,当流转阶段包括报销阶段时,电子票据查询码包括电子票据报销查询码;计算机程序使得处理器在执行在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码的步骤时具体执行以下步骤:在报销阶段,接收票据信息更新请求;票据信息更新请求携带有电子票据和接收方标识;查询与接收方标识对应的资源转移记录;根据资源转移记录核对电子票据;当电子票据通过核对后,将已报销状态更新到电子票据的票据信息中,并根据更新的票据信息生成电子票据报销查询码。

在一个实施例中,当流转阶段包括报税阶段时,电子票据查询码包括电子票据报税查询码;计算机程序使得处理器在执行在电子票据流转过程中的每个流转阶段,获取电子票据在流转阶段的票据信息,并相应生成电子票据在流转阶段的电子票据查询码的步骤时具体执行以下步骤:在报税阶段,接收票据信息更新请求;票据信息更新请求携带有电子票据和报税方标识;查询与接收方标识对应的纳税记录;根据纳税记录核对电子票据;当电子票据通过核对后,将已报税状态更新到电子票据的票据信息中,并根据更新的票据信息生成电子票据报税查询码。

上述计算机可读存储介质,在电子票据流转过程中的每个流转阶段,获取电子票据的票据信息,并相应生成电子票据在流转阶段的电子票据查询码。将电子票据在每个流转阶段的票据信息和相应的电子票据查询码对应记录到区块链网络中,这样区块链网络中就存储有关于电子票据在各流转阶段的相关信息。进而,在接收到携带电子票据查询码的追溯查询指令后,就可根据电子票据查询码在区块链网络中查询到电子票据在已经历的每个流转阶段的票据信息,使得电子票据在各流转阶段的信息将不再割裂而不可知。这样,可以通过访问区块链网络中的区块链节点的方式,追溯查询电子票据在已经历的流转阶段的票据信息,实现了电子票据在流转过程中的可追溯可查询。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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