一种基于区块链网络的票据验证方法、装置及存储介质转让专利

申请号 : CN202010076748.5

文献号 : CN111275462A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑罗海

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明实施例公开了一种基于区块链网络的票据验证方法、装置及存储介质,该方法包括:获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的;根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息;如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。通过这种实施方式,实现了自动化、智能化地对票据的真伪进行验证,基于区块链上票据信息不可篡改的特点大大提高了票据验证结果的可信度。

权利要求 :

1.一种基于区块链网络的票据验证方法,其特征在于,应用于所述区块链网络的节点,所述方法包括:获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的;

根据所述第一票据信息从所述区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息;

如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。

2.根据权利要求1所述的方法,其特征在于,所述第一票据信息包括所述待报销票据的哈希值;所述根据所述第一票据信息从所述区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息,包括:从所述区块链网络的区块链中查询与所述哈希值对应的链上票据;

获取所述区块链中存储的所述链上票据的第二票据信息。

3.根据权利要求2所述的方法,其特征在于,所述第一票据信息包括所述待报销票据的票据号码和校验码,所述第二票据信息包括所述链上票据的票据号码和校验码;所述如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息之前,还包括:将所述第一票据信息与所述第二票据信息进行对比;

如果所述待报销票据的票据号码和校验码与所述链上票据的票据号码和校验码均对应一致,则确定所述第一票据信息与所述第二票据信息匹配。

4.根据权利要求3所述的方法,其特征在于,所述向所述终端设备发送所述链上票据的第二票据信息之后,还包括:接收所述终端设备在检测到针对所述待报销票据为虚假票据的确认操作后发送的所述待报销票据为虚假票据的通知消息;

将所述待报销票据为虚假票据以及所述待报销票据的第一票据信息写入所述区块链中。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

如果所述第一票据信息与所述第二票据信息不匹配,则向所述终端设备发送所述待报销票据为虚假票据的通知消息。

6.一种基于区块链网络的票据验证方法,其特征在于,应用于终端设备,所述方法包括:通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息;

向所述区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息,所述票据验证请求用于指示所述区块链网络的节点根据所述第一票据信息查询区块链中与所述待报销票据对应的链上票据的第二票据信息;

接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息;

输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。

7.根据权利要求6所述的方法,其特征在于,所述接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息之后,还包括:如果检测到针对所述待报销票据为虚假票据的确认操作,则向所述区块链网络的节点发送所述待报销票据为虚假票据的通知消息,以使得所述区块链网络的节点将所述待报销票据为虚假票据以及所述待报销票据的第一票据信息写入所述区块链中。

8.根据权利要求6所述的方法,其特征在于,所述通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息,包括:获取所述待报销票据,并输出所述待报销票据的图形码;

如果检测到针对所述图形码的按压操作,且所述按压操作的按压时长达到预设时长,则对所述图形码进行识别,以获取待报销票据的第一票据信息。

9.一种票据验证装置,其特征在于,所述装置包括:

第一获取模块,用于获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的;

查询模块,用于根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息;

第一发送模块,用于如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。

10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有程序指令,该程序指令被执行时,用于实现如权利要求1-8任一项所述的方法。

说明书 :

一种基于区块链网络的票据验证方法、装置及存储介质

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种基于区块链网络的票据验证方法、装置及存储介质。

背景技术

[0002] 随着计算机技术的发展,电子票据的应用越来越广泛,各行各业都存在票据报销的情况,在开具电子票据时为了确保电子票据的可靠性可以将电子票据存储至区块链,用户需要报销时可以从区块链中获取电子票据作为报销凭证。企业或单位在获取到用户提交的从区块链上获取的用于报销的电子票据时需要对电子票据的真伪进行验证,如果验证结果得到电子票据为真则进行报销。目前,企业或单位在对电子票据的真伪验证时,通常是从税务局查询来确定电子票据的真伪。然而,这种通过税务局来校验电子票据的真伪的方式,效率较低,操作繁琐,票据信息被篡改的风险大。

发明内容

[0003] 本发明实施例提供了一种基于区块链网络的票据验证方法、装置及存储介质,实现了自动化、智能化地对票据的真伪进行验证,基于区块链上票据信息不可篡改的特点大大提高了票据验证结果的可信度。
[0004] 第一方面,本发明实施例提供了一种基于区块链网络的票据验证方法,应用于所述区块链网络的节点,所述方法包括:
[0005] 获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的;
[0006] 根据所述第一票据信息从所述区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息;
[0007] 如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0008] 第二方面,本发明实施例提供了另一种基于区块链网络的票据验证方法,应用于终端设备,所述方法包括:
[0009] 通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息;
[0010] 向所述区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息,所述票据验证请求用于指示所述区块链网络的节点根据所述第一票据信息查询区块链中与所述待报销票据对应的链上票据的第二票据信息;
[0011] 接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息;
[0012] 输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0013] 第三方面,本发明实施例提供了一种票据验证装置,所述装置包括:
[0014] 第一获取模块,用于获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的;
[0015] 查询模块,用于根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息;
[0016] 第一发送模块,用于如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0017] 第四方面,本发明实施例提供了另一种票据验证装置,所述装置包括:
[0018] 第二获取模块,用于通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息;
[0019] 第二发送模块,用于向区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息,所述票据验证请求用于指示所述区块链网络的节点根据所述第一票据信息查询区块链中与所述待报销票据对应的链上票据的第二票据信息;
[0020] 接收模块,用于接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息;
[0021] 输出模块,用于输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0022] 第五方面,本发明实施例提供了一种节点,所述节点包括:处理器和存储器,所述处理器用于执行:
[0023] 获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的;
[0024] 根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息;
[0025] 如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0026] 第六方面,本发明实施例提供了一种终端设备,所述终端设备包括:处理器和存储器,所述处理器用于执行:
[0027] 通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息;
[0028] 向区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息,所述票据验证请求用于指示所述区块链网络的节点根据所述第一票据信息查询区块链中与所述待报销票据对应的链上票据的第二票据信息;
[0029] 接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息;
[0030] 输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0031] 第七方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,该程序指令被执行时,用于实现上述第一方面或第二方面所述的方法。
[0032] 本发明实施例可以获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的,并根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息,如果所述第一票据信息与所述第二票据信息匹配,则可以向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。通过这种实施方式,实现了自动化、智能化地对票据的真伪进行验证,基于区块链上票据信息不可篡改的特点大大提高了票据验证结果的可信度。

附图说明

[0033] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034] 图1a是本发明实施例提供的一种票据验证系统的结构示意图;
[0035] 图1b是本发明实施例提供的一种区块链的结构示意图;
[0036] 图1c是本发明实施例提供的一种产生新区块的过程示意图;
[0037] 图2是本发明实施例提供的一种基于区块链网络的票据验证方法的流程示意图;
[0038] 图3是本发明实施例提供的另一种基于区块链网络的票据验证方法的流程示意图;
[0039] 图4是本发明实施例提供的一种基于区块链网络的票据验证交互方法的流程示意图;
[0040] 图5是本发明实施例提供的一种票据验证装置的结构示意图;
[0041] 图6是本发明实施例提供的一种票据验证装置的结构示意图;
[0042] 图7是本发明实施例提供的一种节点的结构示意图;
[0043] 图8是本发明实施例提供的一种终端设备的结构示意图。

具体实施方式

[0044] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045] 本发明实施例中提供的基于区块链网络的票据验证方法可以应用于一种票据验证系统,在某些实施例中,所述票据验证系统包括终端设备和区块链平台。在某些实施例中,所述终端设备可以与区块链平台建立通信连接。在某些实施例中,所述通信连接的方式可以包括但不限于Wi-Fi、蓝牙、近场通信(Near Field Communication,NFC)等。
[0046] 下面结合附图1a-附图1c对本发明实施例提供的票据验证系统进行示意性说明。
[0047] 请参见图1a,图1a是本发明实施例提供的一种票据验证系统的结构示意图。所述票据验证系统包括:区块链平台11、终端设备12。在某些实施例中,区块链平台11与终端设备12可以通过无线通信连接方式建立通信连接;其中,在某些场景下,所述区块链平台11与终端设备12之间也可以通过有线通信连接方式建立通信连接。在某些实施例中,所述终端设备12可以包括但不限于智能手机、平板电脑、笔记本电脑、台式电脑、车载智能终端、智能手表等智能终端设备。
[0048] 在一个实施例中,所述区块链平台11是指用于进行节点与节点之间数据共享的网络,区块链平台中可以包括多个节点111。每个节点111在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护区块链平台内的共享数据(即区块链)。为了保证区块链平台内的信息互通,每个节点之间可以存在信息连接,任意两个节点之间可以实现点对点(Peer To Peer,P2P)通信,具体可以通过有线通信链路或无线通信链路进行P2P通信。例如,当区块链平台中的任意节点接收到输入信息时,其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链平台中全部节点上存储的数据均一致。
[0049] 终端设备12可以接入该区块链平台11,并可以与区块链平台11中的节点进行通信。需要说明的是,图1a中所示的节点的数目仅仅是示意性的,根据实际需要,可以部署任意数目的节点。
[0050] 其中,对于区块链平台11中的每个节点,均具有与其对应的节点标识,而且区块链平台11中的每个节点均可以存储有区块链平台中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链平台中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为互联网协议(Internet Protocol,IP)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
[0051] 表1
[0052] 节点名称 节点标识节点1 117.114.151.174
节点2 117.116.189.145
… …
节点N 119.123.789.258
[0053] 其中,区块链平台中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1b,图1b是本发明实施例提供的一种区块链的结构示意图。区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
[0054] 其中,在生成区块链中的各个区块时,参见图1c,图1c是本发明实施例提供的一种产生新区块的过程示意图。区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
[0055] SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))
[0057] 这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据区块链平台中其他节点的节点标识,将新生成的区块分别发送给其所在的区块链平台中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
[0058] 其中,区块链平台11的节点上可以运行智能合约,智能合约是用于在满足一定条件时而执行的代码实现,开发人员可以通过编程语言定义合约逻辑,发布到区块链上(智能合约注册),根据合约条款的逻辑,调用密钥或者其他的事件触发执行,完成合约逻辑,同时还提供对智能合约升级、注销的功能。
[0059] 下面结合附图对本发明实施例提供的基于区块链网络的票据验证方法进行示意性说明。
[0060] 具体请参见图2,图2是本发明实施例提供的一种基于区块链网络的票据验证方法的流程示意图,本发明实施例的基于区块链网络的票据验证方法可以由票据验证装置执行,其中,所述票据验证装置设置于区块链网络的节点中,其中,所述节点的具体解释如前所述。具体地,本发明实施例的所述方法包括如下步骤。
[0061] S201:获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的。
[0062] 本发明实施例中,节点可以获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的。在某些实施例中,所述图形码包括但不限于二维码、条形码等。在某些实施例中,所述待报销票据可以是电子票据,也可以是纸质票据,本发明实施例不做具体限定。
[0063] 在一些实施例中,所述第一票据信息可以是由终端设备获取到的其他终端设备通过扫描装置扫描待报销票据的图形码发送的。在一些实施例中,所述第一票据信息可以是由所述终端设备通过扫描装置扫描待报销票据的图形码得到的。在一个实施例中,所述第一票据信息可以是由所述终端设备在检测到针对所述图形码的按压操作,且所述按压操作的按压时长达到预设时长时,对所述图形码进行识别得到。在其他实施例中,本发明实施例还可以通过其他方式获取所述第一票据信息,在此不做具体限定。
[0064] S202:根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息。
[0065] 本发明实施例中,节点可以根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息。
[0066] 在一个实施例中,所述第一票据信息包括所述待报销票据的哈希值;节点在根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息时,可以从所述区块链网络的区块链中查询与所述哈希值对应的链上票据,并获取所述区块链中存储的所述链上票据的第二票据信息。在某些实施例中,所述第二票据信息包括但不限于票据号码、校验码、开票方信息、受票方信息、票据金额、票据税费等信息。
[0067] S203:如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0068] 本发明实施例中,如果所述第一票据信息与所述第二票据信息匹配,则节点可以向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0069] 在一个实施例中,所述第一票据信息包括所述待报销票据的票据号码和校验码,所述第二票据信息包括所述链上票据的票据号码和校验码;节点在如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息之前,可以将所述第一票据信息与所述第二票据信息进行对比,如果所述待报销票据的票据号码和校验码与所述链上票据的票据号码和校验码均对应一致,则确定所述第一票据信息与所述第二票据信息匹配。
[0070] 在一个实施例中,节点在将所述第一票据信息与所述第二票据信息进行对比时,是将第一票据信息中包括的待报销票据的票据号码与第二票据信息包括所述链上票据的票据号码进行对比,以及将第一票据信息中包括的待报销票据的校验码与第二票据信息包括所述链上票据的校验码进行对比,如果两者的对比结果均一致,则确定所述第一票据信息与所述第二票据信息匹配,并将所述第二票据信息发送给终端设备,其中,所述发送给终端设备的第二票据信息包括所述链上票据的票据号码和校验码以及所述链上票据上的其他所有票据信息如开票方信息、受票方信息、票据金额、票据税费等信息。
[0071] 可见,通过将第一票据信息中包括的待报销票据的票据号码与第二票据信息包括所述链上票据的票据号码进行对比,以及将第一票据信息中包括的待报销票据的校验码与第二票据信息包括所述链上票据的校验码进行对比可以确定区块链上存在与待报销票据的票据号码和校验码匹配的链上票据。在确定存在与待报销票据的票据号码和校验码匹配的链上票据之后,该链上票据的第二票据信息发送给终端设备进行校验,有助于终端设备或者终端设备对应的用户将待报销票据的第一票据信息与该链上票据的第二票据信息进行对比,如果对比结果一致,则确定该待报销票据为真实票据,如果对比结果不一致,则确定该待报销票据为虚假票据。
[0072] 在一个实施例中,节点在向所述终端设备发送所述链上票据的第二票据信息之后,终端设备可以将所述链上票据的第二票据信息输出并显示在终端设备的显示界面上,用户可以将输出在显示界面上到第二票据信息与待报销票据的第一票据信息进行对比,如果对比结果不一致,则用户可以通过在终端设备上执行针对所述待报销票据为虚假票据的确认操作,以使终端设备将所述待报销票据为虚假票据的通知消息发送给区块链网络的节点。通过终端设备的用户将链上票据的第二票据信息与待报销票据的第一票据信息进行对比的方式,可以确定待报销票据是否为真实票据。
[0073] 在一个实施例中,节点在向所述终端设备发送所述链上票据的第二票据信息之后,终端设备可以将所述链上票据的第二票据信息与待报销票据的第一票据信息进行对比,如果对比结果一致,则确定所述待报销票据为真实票据,如果所述链上票据的第二票据信息与待报销票据的第一票据信息的对比结果不一致,则确定所述待报销票据为虚假票据,并将所述待报销票据为虚假票据的通知消息发送给区块链网络的节点。通过终端设备将链上票据的第二票据信息与待报销票据的第一票据信息进行对比,可以确定出所述待报销票据是否为真实票据。
[0074] 在一个实施例中,节点在向所述终端设备发送所述链上票据的第二票据信息之后,可以接收所述终端设备在检测到针对所述待报销票据为虚假票据的确认操作后发送的所述待报销票据为虚假票据的通知消息,并将所述待报销票据为虚假票据以及所述待报销票据的第一票据信息写入所述区块链中。
[0075] 在一个实施例中,如果所述第一票据信息与所述第二票据信息不匹配,则节点可以向所述终端设备发送所述待报销票据为虚假票据的通知消息。在一个实施例中,如果节点检测到待报销票据的票据号码和校验码与链上票据的票据号码和校验码不一致,则确定第一票据信息与第二票据信息不匹配,并以向所述终端设备发送所述待报销票据为虚假票据的通知消息。
[0076] 本发明实施例可以获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的,并根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息,如果所述第一票据信息与所述第二票据信息匹配,则可以向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。通过这种实施方式,实现了自动化、智能化地对票据的真伪进行验证,基于区块链上票据信息不可篡改的特点大大提高了票据验证结果的可信度。
[0077] 具体请参见图3,图3是本发明实施例提供的另一种基于区块链网络的票据验证方法的流程示意图,本发明实施例的基于区块链网络的票据验证方法可以由票据验证装置执行,其中,所述票据验证装置设置于终端设备中,其中,所述终端设备的具体解释如前所述。具体地,本发明实施例的所述方法包括如下步骤。
[0078] S301:通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息。
[0079] 本发明实施例中,终端设备可以通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息。在某些实施例中,所述图形码包括但不限于二维码、条形码等,在某些实施例中,所述第一票据信息的解释如前所述,此处不再赘述。
[0080] 在一个实施例中,终端设备在通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息时,可以获取所述待报销票据,并输出所述待报销票据的图形码,如果检测到针对所述图形码的按压操作,且所述按压操作的按压时长达到预设时长,则可以对所述图形码进行识别,以获取待报销票据的第一票据信息。
[0081] 例如,终端设备在获取到待报销票据时,可以输出所述待报销票据的二维码,该终端设备的用户可以对所述二维码进行按压操作,如果终端设备检测到针对所述二维码的按压操作,且所述按压操作的按压时长达到预设时长2s,则终端设备可以对所述二维码进行识别,以获取待报销票据的第一票据信息。
[0082] S302:向区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息,所述票据验证请求用于指示所述区块链网络的节点根据所述第一票据信息查询区块链中与所述待报销票据对应的链上票据的第二票据信息。
[0083] 本发明实施例中,终端设备可以向区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息,所述票据验证请求用于指示所述区块链网络的节点根据所述第一票据信息查询区块链中与所述待报销票据对应的链上票据的第二票据信息。在某些实施例中,所述第二票据信息的解释如前所述,此处不再赘述。
[0084] S303:接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息。
[0085] 本发明实施例中,终端设备可以接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息。
[0086] 在一个实施例中,终端设备在接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息之后,如果检测到针对所述待报销票据为虚假票据的确认操作,则可以向所述区块链网络的节点发送所述待报销票据为虚假票据的通知消息,以使得所述区块链网络的节点将所述待报销票据为虚假票据以及所述待报销票据的第一票据信息写入所述区块链中。
[0087] S304:输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0088] 本发明实施例中,终端设备可以输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0089] 本发明实施例,通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息,并向所述区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息,所述票据验证请求用于指示所述区块链网络的节点根据所述第一票据信息查询区块链中与所述待报销票据对应的链上票据的第二票据信息,以接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息,并输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。通过这种实施方式,实现了自动化、智能化地对票据的真伪进行验证,基于区块链上票据信息不可篡改的特点大大提高了票据验证结果的可信度。
[0090] 具体请参见图4,图4是本发明实施例提供的一种基于区块链网络的票据验证交互方法的流程示意图,本发明实施例的基于区块链网络的票据验证交互方法可以由一种票据验证系统执行,所述票据验证系统包括区块链平台和终端设备,所述区块链平台中包括节点。具体地,本发明实施例的所述方法包括如下步骤。
[0091] S401:终端设备通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息。
[0092] 本发明实施例中,终端设备可以通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息。
[0093] S402:终端设备向区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息。
[0094] 本发明实施例中,终端设备可以向所述区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息。
[0095] S403:节点获取终端设备发送的票据验证请求,并根据所述第一票据信息从所述区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息。
[0096] 本发明实施例中,节点可以获取终端设备发送的票据验证请求,并根据所述第一票据信息从所述区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息。
[0097] S404:如果所述第一票据信息与所述第二票据信息匹配,则节点向所述终端设备发送所述链上票据的第二票据信息。
[0098] 本发明实施例中,如果所述第一票据信息与所述第二票据信息匹配,则节点可以向所述终端设备发送所述链上票据的第二票据信息。
[0099] S405:终端设备接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息。
[0100] 本发明实施例中,终端设备可以接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息。
[0101] S406:终端设备输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0102] 本发明实施例中,终端设备可以输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0103] S407:终端设备如果检测到针对所述待报销票据为虚假票据的确认操作,则向所述区块链网络的节点发送所述待报销票据为虚假票据的通知消息。
[0104] 本发明实施例中,终端设备如果检测到针对所述待报销票据为虚假票据的确认操作,则可以向所述区块链网络的节点发送所述待报销票据为虚假票据的通知消息。
[0105] S408:节点将所述待报销票据为虚假票据以及所述待报销票据的第一票据信息写入所述区块链中。
[0106] 本发明实施例中,节点可以将所述待报销票据为虚假票据以及所述待报销票据的第一票据信息写入所述区块链中。
[0107] 本发明实施例可以获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的,并根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息,如果所述第一票据信息与所述第二票据信息匹配,则可以向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。通过这种实施方式,实现了自动化、智能化地对票据的真伪进行验证,基于区块链上票据信息不可篡改的特点大大提高了票据验证结果的可信度。
[0108] 请参见图5,图5是本发明实施例提供的一种票据验证装置的结构示意图。具体的,所述装置设置于区块链网络的节点中,所述装置包括:第一获取模块501、查询模块502、第一发送模块503;
[0109] 第一获取模块501,用于获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的;
[0110] 查询模块502,用于根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息;
[0111] 第一发送模块503,用于如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0112] 进一步地,所述第一票据信息包括所述待报销票据的哈希值;所述查询模块502根据所述第一票据信息从所述区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息时,具体用于:
[0113] 从所述区块链网络的区块链中查询与所述哈希值对应的链上票据;
[0114] 获取所述区块链中存储的所述链上票据的第二票据信息。
[0115] 进一步地,所述第一票据信息包括所述待报销票据的票据号码和校验码,所述第二票据信息包括所述链上票据的票据号码和校验码;所述第一发送模块503如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息之前,还用于:
[0116] 将所述第一票据信息与所述第二票据信息进行对比;
[0117] 如果所述待报销票据的票据号码和校验码与所述链上票据的票据号码和校验码均对应一致,则确定所述第一票据信息与所述第二票据信息匹配。
[0118] 进一步地,所述第一发送模块503向所述终端设备发送所述链上票据的第二票据信息之后,还用于:
[0119] 接收所述终端设备在检测到针对所述待报销票据为虚假票据的确认操作后发送的所述待报销票据为虚假票据的通知消息;
[0120] 将所述待报销票据为虚假票据以及所述待报销票据的第一票据信息写入所述区块链中。
[0121] 进一步地,所述第一发送模块503还用于:
[0122] 如果所述第一票据信息与所述第二票据信息不匹配,则向所述终端设备发送所述待报销票据为虚假票据的通知消息。
[0123] 本发明实施例可以获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的,并根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息,如果所述第一票据信息与所述第二票据信息匹配,则可以向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。通过这种实施方式,实现了自动化、智能化地对票据的真伪进行验证,基于区块链上票据信息不可篡改的特点大大提高了票据验证结果的可信度。
[0124] 请参见图6,图6是本发明实施例提供的一种票据验证装置的结构示意图。具体的,所述装置设置于区块链网络的节点中,所述装置包括:第二获取模块601、第二发送模块602、接收模块603、输出模块604;
[0125] 第二获取模块601,用于通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息;
[0126] 第二发送模块602,用于向区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息,所述票据验证请求用于指示所述区块链网络的节点根据所述第一票据信息查询区块链中与所述待报销票据对应的链上票据的第二票据信息;
[0127] 接收模块603,用于接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息;
[0128] 输出模块604,用于输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0129] 进一步地,所述接收模块603接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息之后,还用于:
[0130] 如果检测到针对所述待报销票据为虚假票据的确认操作,则向所述区块链网络的节点发送所述待报销票据为虚假票据的通知消息,以使得所述区块链网络的节点将所述待报销票据为虚假票据以及所述待报销票据的第一票据信息写入所述区块链中。
[0131] 进一步地,所述第二获取模块601通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息时,具体用于:
[0132] 获取所述待报销票据,并输出所述待报销票据的图形码;
[0133] 如果检测到针对所述图形码的按压操作,且所述按压操作的按压时长达到预设时长,则对所述图形码进行识别,以获取待报销票据的第一票据信息。
[0134] 本发明实施例,通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息,并向所述区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息,所述票据验证请求用于指示所述区块链网络的节点根据所述第一票据信息查询区块链中与所述待报销票据对应的链上票据的第二票据信息,以接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息,并输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。通过这种实施方式,实现了自动化、智能化地对票据的真伪进行验证,基于区块链上票据信息不可篡改的特点大大提高了票据验证结果的可信度。
[0135] 请参见图7,图7是本发明实施例提供的一种节点的结构示意图。具体的,所述节点包括:存储器701、处理器702。
[0136] 在一种实施例中,所述节点还包括数据接口703,所述数据接口703,用于传递节点和其他设备之间的数据信息。
[0137] 所述存储器701可以包括易失性存储器(volatile memory);存储器701也可以包括非易失性存储器(non-volatile memory);存储器701还可以包括上述种类的存储器的组合。所述处理器702可以是中央处理器(central processing unit,CPU)。所述处理器702还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA)或其任意组合。
[0138] 所述存储器701用于存储程序,所述处理器702可以调用存储器701中存储的程序,用于执行如下步骤:
[0139] 获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的;
[0140] 根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息;
[0141] 如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0142] 进一步地,所述第一票据信息包括所述待报销票据的哈希值;所述处理器702根据所述第一票据信息从所述区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息时,具体用于:
[0143] 从所述区块链网络的区块链中查询与所述哈希值对应的链上票据;
[0144] 获取所述区块链中存储的所述链上票据的第二票据信息。
[0145] 进一步地,所述第一票据信息包括所述待报销票据的票据号码和校验码,所述第二票据信息包括所述链上票据的票据号码和校验码;所述处理器702如果所述第一票据信息与所述第二票据信息匹配,则向所述终端设备发送所述链上票据的第二票据信息之前,还用于:
[0146] 将所述第一票据信息与所述第二票据信息进行对比;
[0147] 如果所述待报销票据的票据号码和校验码与所述链上票据的票据号码和校验码均对应一致,则确定所述第一票据信息与所述第二票据信息匹配。
[0148] 进一步地,所述处理器702向所述终端设备发送所述链上票据的第二票据信息之后,还用于:
[0149] 接收所述终端设备在检测到针对所述待报销票据为虚假票据的确认操作后发送的所述待报销票据为虚假票据的通知消息;
[0150] 将所述待报销票据为虚假票据以及所述待报销票据的第一票据信息写入所述区块链中。
[0151] 进一步地,所述处理器702还用于:
[0152] 如果所述第一票据信息与所述第二票据信息不匹配,则向所述终端设备发送所述待报销票据为虚假票据的通知消息。
[0153] 本发明实施例可以获取终端设备发送的票据验证请求,所述票据验证请求中携带了待报销票据的第一票据信息,所述第一票据信息是由所述终端设备通过扫描所述待报销票据的图形码得到的,并根据所述第一票据信息从区块链网络的区块链中查询与所述待报销票据对应的链上票据的第二票据信息,如果所述第一票据信息与所述第二票据信息匹配,则可以向所述终端设备发送所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。通过这种实施方式,实现了自动化、智能化地对票据的真伪进行验证,基于区块链上票据信息不可篡改的特点大大提高了票据验证结果的可信度。
[0154] 请参见图8,图8是本发明实施例提供的一种终端设备的结构示意图。具体的,所述终端设备包括:存储器801、处理器802。
[0155] 在一种实施例中,所述终端设备还包括数据接口803,所述数据接口803,用于传递终端设备和其他设备之间的数据信息。
[0156] 所述存储器801可以包括易失性存储器(volatile memory);存储器801也可以包括非易失性存储器(non-volatile memory);存储器801还可以包括上述种类的存储器的组合。所述处理器802可以是中央处理器(central processing unit,CPU)。所述处理器802还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA)或其任意组合。
[0157] 所述存储器801用于存储程序,所述处理器802可以调用存储器801中存储的程序,用于执行如下步骤:
[0158] 通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息;
[0159] 向区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息,所述票据验证请求用于指示所述区块链网络的节点根据所述第一票据信息查询区块链中与所述待报销票据对应的链上票据的第二票据信息;
[0160] 接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息;
[0161] 输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。
[0162] 进一步地,所述处理器802接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息之后,还用于:
[0163] 如果检测到针对所述待报销票据为虚假票据的确认操作,则向所述区块链网络的节点发送所述待报销票据为虚假票据的通知消息,以使得所述区块链网络的节点将所述待报销票据为虚假票据以及所述待报销票据的第一票据信息写入所述区块链中。
[0164] 进一步地,所述处理器802通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息时,具体用于:
[0165] 获取所述待报销票据,并输出所述待报销票据的图形码;
[0166] 如果检测到针对所述图形码的按压操作,且所述按压操作的按压时长达到预设时长,则对所述图形码进行识别,以获取待报销票据的第一票据信息。
[0167] 本发明实施例,通过扫描待报销票据的图形码获取所述待报销票据的第一票据信息,并向所述区块链网络的节点发送票据验证请求,所述票据验证请求中携带了所述待报销票据的第一票据信息,所述票据验证请求用于指示所述区块链网络的节点根据所述第一票据信息查询区块链中与所述待报销票据对应的链上票据的第二票据信息,以接收所述区块链网络的节点在确定所述第一票据信息与所述第二票据信息匹配的情况下,发送的所述链上票据的第二票据信息,并输出所述链上票据的第二票据信息,所述链上票据的第二票据信息用于对所述待报销票据进行验证。通过这种实施方式,实现了自动化、智能化地对票据的真伪进行验证,基于区块链上票据信息不可篡改的特点大大提高了票据验证结果的可信度。
[0168] 本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明图2、图3或图4所对应实施例中描述的方法,也可实现图5或图6所述本发明所对应实施例的装置,在此不再赘述。
[0169] 所述计算机可读存储介质可以是前述任一实施例所述的设备的内部存储单元,例如设备的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0170] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0171] 以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。