[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] 以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。