CN110543510B - 票据数据处理方法、装置、存储介质和计算机设备 - Google Patents
票据数据处理方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN110543510B CN110543510B CN201910836404.7A CN201910836404A CN110543510B CN 110543510 B CN110543510 B CN 110543510B CN 201910836404 A CN201910836404 A CN 201910836404A CN 110543510 B CN110543510 B CN 110543510B
- Authority
- CN
- China
- Prior art keywords
- data
- bill
- signed
- electronic
- service node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 45
- 238000006243 chemical reaction Methods 0.000 claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 59
- 238000012795 verification Methods 0.000 claims abstract description 54
- 238000007906 compression Methods 0.000 claims description 50
- 230000006835 compression Effects 0.000 claims description 50
- 238000004422 calculation algorithm Methods 0.000 claims description 31
- 238000000547 structure data Methods 0.000 claims description 31
- 238000000034 method Methods 0.000 claims description 27
- 239000004744 fabric Substances 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012546 transfer Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006854 communication Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种票据数据处理方法、装置、存储介质和计算机设备,所述方法包括:获取携带有票据数据的开票请求;对所述票据数据进行格式转换,得到压缩格式的目标票据数据;将携带所述目标票据数据的票据申请请求发送至业务节点;所述票据申请请求用于指示所述业务节点得到所述目标票据数据对应的待签名数据;对所述业务节点反馈的待签名数据进行签名,并将得到的签名数据发送至所述业务节点;发送的所述签名数据用于指示所述业务节点将通过验证的签名数据中的电子票据写入区块链;接收所述业务节点反馈的与所述电子票据对应的票据标识码。本申请提供的方案能够提高区块链电子票据系统的系统性能。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种票据数据处理方法、装置、存储介质和计算机设备。
背景技术
随着区块链技术的发展,基于区块链技术的区块链电子票据系统逐渐发展起来,通过该区块链电子票据系统可在线开具电子票据,给人们的生活带来了诸多方便。在开具电子票据时,会将电子票据对应的票据数据写入区块链中进行存储,以实现电子票据的可追溯且不可篡改性。
目前,服务商平台通常会根据开票方上传的票据数据直接向业务节点发起票据申请请求,以请求业务节点根据该票据数据开具电子票据。业务节点对票据数据进行处理,得到所开具的电子票据,并将所开具的电子票据写入区块链进行存储。然而,若开票方上传的票据数据的数据量较大时,会增加业务节点的数据处理压力,从而影响票据数据的处理效率,且将该数据较大的票据数据存储至区块链,会占用过多的存储空间,可能导致系统资源溢出。由此,该种票据数据处理方式下,会降低区块链电子票据系统的系统性能。
发明内容
基于此,有必要针对上述技术问题,提供一种票据数据处理方法、装置、存储介质和计算机设备。
一种票据数据处理方法,包括:
获取携带有票据数据的开票请求;
对所述票据数据进行格式转换,得到压缩格式的目标票据数据;
将携带所述目标票据数据的票据申请请求发送至业务节点;所述票据申请请求用于指示所述业务节点得到所述目标票据数据对应的待签名数据;
对所述业务节点反馈的待签名数据进行签名,并将得到的签名数据发送至所述业务节点;发送的所述签名数据用于指示所述业务节点将通过验证的签名数据中的电子票据写入区块链;
接收所述业务节点反馈的与所述电子票据对应的票据标识码。
一种票据数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取携带有票据数据的开票请求;
压缩模块,用于对所述票据数据进行格式转换,得到压缩格式的目标票据数据;
发送模块,用于将携带所述目标票据数据的票据申请请求发送至业务节点;所述票据申请请求用于指示所述业务节点得到所述目标票据数据对应的待签名数据;
签名模块,用于对所述业务节点反馈的待签名数据进行签名,并将得到的签名数据发送至所述业务节点;发送的所述签名数据用于指示所述业务节点将通过验证的签名数据中的电子票据写入区块链;
接收模块,用于接收所述业务节点反馈的与所述电子票据对应的票据标识码。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述票据数据处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述票据数据处理方法的步骤。
一种票据数据处理方法,所述方法包括:
接收服务商平台发送的票据申请请求;所述票据申请请求携带有压缩格式的目标票据数据;所述目标票据数据为对票据数据进行格式转换得到的;
对所述目标票据数据进行处理得到相应的待签名数据;
将所述待签名数据反馈至所述服务商平台;反馈的所述待签名数据用于指示所述服务商平台对所述待签名数据进行签名,得到签名数据;
当所述服务商平台发送的签名数据通过验证时,将所述签名数据中的电子票据写入区块链;
将所述电子票据对应的票据标识码发送至所述服务商平台。
一种票据数据处理装置,其特征在于,所述装置包括:
接收模块,用于接收服务商平台发送的票据申请请求;所述票据申请请求携带有压缩格式的目标票据数据;所述目标票据数据为对票据数据进行格式转换得到的;
处理模块,用于对所述目标票据数据进行处理得到相应的待签名数据;
反馈模块,用于将所述待签名数据反馈至所述服务商平台;反馈的所述待签名数据用于指示所述服务商平台对所述待签名数据进行签名,得到签名数据;
验证模块,用于当所述服务商平台发送的签名数据通过验证时,将所述签名数据中的电子票据写入区块链;
发送模块,用于将所述电子票据对应的票据标识码发送至所述服务商平台。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述票据数据处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述票据数据处理方法的步骤。
上述票据数据处理方法、装置、存储介质和计算机设备,服务商平台对开票请求中的票据数据进行格式转换,以实现对该票据数据的压缩处理,得到压缩格式的目标票据数据,并根据压缩得到的目标票据数据请求业务节点进行电子票据的开具,以使得业务节点基于压缩后的目标票据数据进行开票处理,得到数据压缩的电子票据,能够提高票据处理效率,从而提高电子票据的开具效率。业务节点将根据目标票据数据得到的待签名数据反馈至服务商平台进行签名,并在服务商平台对应反馈的签名数据验证通过时,将数据压缩的电子票据写入区块链中,以减少电子票据在区块链中所占用的存储空间,以避免因资源占用过多导致系统资源溢出的问题,从而能够提高区块链电子票据系统的系统性能。
附图说明
图1为一个实施例中票据数据处理方法的应用环境图;
图2为一个实施例中票据数据处理方法的流程示意图;
图3为另一个实施例中票据数据处理方法的流程示意图;
图4为又一个实施例中票据数据处理方法的流程示意图;
图5为再一个实施例中票据数据处理方法的流程示意图;
图6为一个实施例中票据数据处理方法的时序图;
图7为一个实施例中票据数据处理方法的原理图;
图8为一个实施例中票据数据处理装置的结构框图;
图9为另一个实施例中票据数据处理装置的结构框图;
图10为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中票据数据处理方法的应用环境图。参照图1,该票据数据处理方法应用于票据数据处理系统。该票据数据处理系统包括服务商平台110和业务节点120。服务商平台110和业务节点120通过网络连接。业务节点120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,业务节点120为区块链网络中的区块链节点。图1所示的业务节点120仅作为示例,并不用于具体限定。区块链网络包括多个区块链节点,区块链节点包括业务节点和共识节点。业务节点可通过区块链网络中的共识节点将验证通过的签名数据中的电子票据写入区块链。
在一个实施例中,服务商平台可以是部署于终端或服务器的服务商系统。
如图2所示,在一个实施例中,提供了一种票据数据处理方法。本实施例主要以该方法应用于上述图1中的服务商平台110来举例说明。参照图2,该票据数据处理方法具体包括如下步骤:
S202,获取携带有票据数据的开票请求。
其中,开票请求是用于触发开票操作的请求。开票请求中携带有票据数据。票据数据是用来生成电子票据的数据,具体可包括开票方标识、接收方标识、资源转移份额、产品明细数据,还可包括报销方标识和报销方地址等。电子票据时电子化存储的票据,比如可存储于存储介质或计算机设备中。开票方标识是与发起开票请求的设备对应的标识,用于唯一标识开票方。开票方具体可以是开票企业,比如销售企业,开票方在向消费者出售商品、提供服务或者从事其他经营活动时,需为消费者提供消费凭证,也就是电子票据。开票方标识具体可以是销售方名称、销售方的纳税人识别号或销售方的开户账号等。
接收方标识用于唯一标识电子票据的接收方。接收方具体可以是收票个人或收票企业,比如消费个人或消费企业,可根据纳税人识别号唯一识别。当消费个人或消费企业在销售企业进行消费后,销售企业可为消费个人或消费企业提供消费凭证,也就是电子票据。接收方标识具体可以是购买方名称、购买方的纳税人识别号或购买方的开户账号等。资源转移份额是消费者消费的具体资源份额。
产品明细数据是消费者所消费的产品的明细数据,具体可包括产品对应的产品标识、规格、数量和单位资源转移份额等。产品标识用于唯一标识产品。单位资源转移份额是单位产品所对应的资源转移份额,具体可以是产品单价。报销方标识用于唯一标识电子票据的报销方。报销方具体可以是报销企业。接收方可将电子票据作为报销凭证向报销方发起电子票据的报销请求。
电子票据具体可以是电子发票,是一种运用区块链技术开具的可追溯且不可篡改的数字发票资产。电子发票的开具较传统纸质发票相比不需要特定的开票设备与特质票面,并且可以追溯发票生命周期当中的所有状态,且在法律效力方面等同于现有的传统发票。区块链技术是一种借由密码学串接并保证不可篡改与不可伪造的串联交易记录,其基于公式算法,加密算法,分布式存储的特性使得分布式账本节点的有效交易记录串接,提供了永久查验的能力一种新型的架构模式。
具体地,当个人或企业在完成消费后,可提供开票方标识、接收方标识、资源转移份额和产品明细数据等至开票方设备。开票方设备根据开票方标识、接收方标识、资源转移份额和产品明细等数据,得到票据数据。开票方设备触发生成携带有票据数据的开票请求,并将所生成的开票请求发送至服务商平台。服务商平台接收开票方设备发送的开票请求。
在一个实施例中,开票方设备通过与开票方标识对应的私钥对票据数据进行签名,得到票据数据对应的签名数据。开票方设备将携带有该签名数据的开票请求发送至服务商平台。服务商平台在接收到开票请求后,通过本地缓存的与开票方标识对应的公钥,对开票请求中的签名数据进行验证,当验证通过后,才继续执行后续的步骤。可以理解,开票请求中还可携带有票据数据。
在一个实施例中,开票方设备可以是终端也可以是服务器。终端具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑和笔记本电脑等中的至少一种。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,服务商平台是对接服务商的平台。服务商是与电子票据业务相关联的服务供应商,代理企业或个人进行开票、报销和红冲等业务。可以理解,每个服务商可对应有自己的服务商平台,也可针对服务商提供统一的服务商平台,服务商通过注册的账号和密码即可登录该统一的服务商平台进行相应的业务处理。
S204,对票据数据进行格式转换,得到压缩格式的目标票据数据。
其中,压缩格式是指数据量较小的数据格式,也就是数据较为轻量化的数据格式。对原始的数据按照压缩格式所指定的数据格式进行压缩处理,可得到数据量压缩的数据。压缩的数据和原始的数据是相对而言的,未经处理的数据称为原始数据,经过压缩处理得到的、且数据量相较于原始的数据小的数据称为压缩的数据。压缩处理是指按照压缩算法,将原始的数据转换为特定的序列化格式进行存储或传输,相较于传统的存储方式,经过压缩处理的数据更加的轻量与易于存储。压缩处理具体可以是指格式转换,也就是对原始的数据按照压缩格式所指定的数据格式进行格式转换,得到压缩格式的数据,这就实现了对原始的数据的压缩处理。
票据数据具体可以是Json格式的数据,压缩格式具体可以是ProtoBuf(GoogleProtocol Buffer,由Google开源的一种序列化对象框架)格式。ProtoBuf与java自带的序列化具有相似的功能,可通过Proto文件定义结构化数据,且支持多种语言。ProtoBuf格式相较于Json格式等的结构化数据,具有存储和传输数据量或体积更加轻量的特点。
具体地,服务商平台解析所接收到的开票请求得到待处理的票据数据。服务商平台确定预配置的压缩格式,按照该压缩格式所指定的数据格式,对解析得到的票据数据进行格式转换,得到压缩格式的目标票据数据,也就是得到压缩后的目标票据数据。
在一个实施例中,服务商平台在接收到开票请求后,获取预配置的压缩格式,并按照所获取到的压缩格式对票据数据进行格式转换,得到目标票据数据。预配置的压缩格式可以是预先从业务节点获取并存储在本地的,也可以是从业务节点实时获取的。
在一个实施例中,服务商平台在接收到开票请求后,获取对应于压缩格式预配置的格式转换工具包,调用该格式转换工具包对票据数据进行格式转换,得到压缩格式的目标票据数据。服务商平台可实时的从第三方平台获取预配置的格式转换工具包,也可预先从第三方平台获取预配置的格式转换工具包并存储在本地。第三方平台比如区块链电子票据系统或业务节点所对应的官网。
S206,将携带目标票据数据的票据申请请求发送至业务节点;票据申请请求用于指示业务节点得到目标票据数据对应的待签名数据。
其中,票据申请请求是用于触发票据申请操作的请求。票据申请请求中携带有压缩格式的目标票据数据。待签名数据是待服务商平台进行签名的数据。待签名数据具体可包括根据目标票据数据生成的电子票据,还可包括电子票据对应的待签名串。待签名串是根据电子票据生成的字符串,具体可以是根据电子票据中的指定数据生成的字符串,指定数据比如开票方标识、接收方标识和产品明细数据等。
具体地,服务商平台在得到压缩格式的目标票据数据后,触发生成携带有该目标票据数据的票据申请请求,并将所生成的票据申请请求发送至业务节点。业务节点解析所接收到的票据申请请求得到目标票据数据,根据解析得到的目标票据数据进行开票处理,得到相应的电子票据,并根据该电子票据得到待签名数据,作为相应目标票据数据所对应的待签名数据。
在一个实施例中,业务节点根据目标票据数据生成电子票据和相应的票据标识码,并将所生成的电子票据与相应生成的票据标识码进行关联。业务节点确定电子票据对应的票据代码和票据号码,并根据电子票据、票据标识码、票据代码、票据号码得到待签名数据。业务节点也可通过加密算法对电子票据、票据标识码、票据代码和票据号码进行加密,得到票据密文,并根据票据密文得到待签名数据。
业务节点可通过哈希算法对目标票据数据进行哈希计算,得到票据标识码。业务节点也可采用加密算法对目标票据数据进行加密得到数据密文,并通过哈希算法对数据密文进行哈希计算,得到票据标识码。常用的哈希算法比如,MD5(Message DigestAlgorithm,消息摘要算法第五版)、SHA1(Secure Hash Algorithm,安全哈希算法)和SHA2等,本实施例在此不做具体限定。常用的加密算法比如,对称加密算法和非对称加密算法等。对称加密算法,比如DES(Data Encryption Standard,对称算法)、AES(AdvancedEncryption Standard,高级加密标准)等。非对称加密算法,比如RSA(Rivest、Shamir、Adleman,加密算法)、ECC(Elliptic curve cryptography,椭圆曲线加密算法)等。
在一个实施例中,业务节点目标票据数据聚类为可变票据数据和不可变票据数据,并通过加密算法对可变票据数据、不可变票据数据、票据代码、票据号码和票据标识码进行加密,得到票据密文。可变票据数据是指电子票据中可变更的数据,比如票据状态或报销方地址等。不可变数据是指电子票据中不可变更的数据,比如产品明细数据等。票据状态是指电子票据所对应的状态,包括已开票、已报销或已红冲等状态。
在一个实施例中,开票请求中携带的票据数据为用于指定电子票据的票面数据的数据。服务商平台对该票据数据进行格式转换得到目标票据数据后,获取服务商信息等关联数据,触发生成携带有目标票据数据和关联数据的票据申请请求,并将所生成的票据申请请求发送至业务节点。
在一个实施例中,业务节点对目标票据数据进行字段填充,并根据填充后的目标票据数据生成相应的电子票据和票据标识码。业务节点具体可在目标票据数据中填充服务商信息和业务节点的节点信息等字段所对应的字段值。
在一个实施例中,业务节点生成电子票据对应的待签名串,并根据电子票据和相应的待签名串得到待签名数据。由此,待签名数据中还携带有待签名串。
S208,对业务节点反馈的待签名数据进行签名,并将得到的签名数据发送至业务节点;发送的签名数据用于指示业务节点将通过验证的签名数据中的电子票据写入区块链。
其中,签名数据是指通过私钥对待签名数据进行签名得到的数据。电子票据是电子化存储的票据。
具体地,服务商平台接收业务节点针对票据申请请求反馈的待签名数据,利用私钥对所接收到的待签名数据进行签名得到签名数据,并将签名数据发送至业务节点。业务节点在接收到服务商平台发送的签名数据后,利用本地缓存的相应公钥对签名数据进行验证。当签名数据通过验证时,业务节点根据签名数据得到电子票据,并将该电子票据写入区块链中。
在一个实施例中,业务节点利用本地缓存的相应公钥,对所接收到的签名数据进行解密。当通过本地缓存的相应公钥能够成功解密该签名数据时,表明签名数据通过验证,且通过公钥解密签名数据能够得到电子票据,业务节点则将解密得到的电子票据写入区块链中。
在一个实施例中,业务节点解密签名数据得到可变票据数据和不可变票据数据,并将该可变票据数据和不可变票据数据写入区块链中。业务节点具体可将所得到的可变票据数据、不可变票据数据和相应的票据标识码对应写入区块链中,以实现电子票据中的票据数据的上链。
在一个实施例中,业务节点通过本地缓存的公钥对签名数据进行解密,得到票据密文,并通过加密算法相应的解密算法对票据密文进行解密,得到电子票据,或者,电子票据对应的可变票据数据和不可变票据数据。
在一个实施例中,业务节点通过区块链网络中的共识节点将验证通过的签名数据中的电子票据写入区块链中。
在一个实施例中,服务商平台对待签名数据中的待签名串进行签名,得到已签名串,并对已签名串和待签名数据中的电子票据进行二次签名,得到签名数据。相应地,业务节点对签名数据和签名数据中的已签名串进行双重验证,并在双重验证通过时,判定签名数据通过验证。
S210,接收业务节点反馈的与电子票据对应的票据标识码。
其中,票据标识码与电子票据唯一对应,用于查询电子票据。票据标识码具体可以是用于从业务节点所处的区块链网络中查询电子票据的依据或凭证。票据标识码具体可以是字符串、二维码或条形码等。
具体地,业务节点将验证通过的签名数据中的电子票据写入区块链后,获取该电子票据对应的票据标识码,并将所获取到的票据标识码反馈至服务商平台。服务商平台接收业务节点反馈的与电子票据对应的票据标识码,并将该票据标识码确定为开票请求所对应的票据标识码。
在一个实施例中,业务节点通过本地缓存的公钥对签名数据进行解密,得到电子票据和相应的票据标识码,在该电子票据写入区块链后,将该相应的票据标识码反馈至服务商平台。
在一个实施例中,业务节点将验证通过的签名数据中的电子票据,以及相应的票据标识码一并反馈至服务商平台。可以理解,业务节点还可将电子票据对应的票据代码和票据号码等一并反馈至服务商平台。
在一个实施例中,业务节点解密签名数据得到可变票据数据和不可变票据数据,根据该可变票据数据和不可变票据数据得到相应的电子票据,并将该电子票据和相应的票据标识码反馈至服务商平台。
上述票据数据处理方法,服务商平台对开票请求中的票据数据进行格式转换,以实现对该票据数据的压缩处理,得到压缩格式的目标票据数据,并根据压缩得到的目标票据数据请求业务节点进行电子票据的开具,以使得业务节点基于压缩后的目标票据数据进行开票处理,得到数据压缩的电子票据,能够提高票据处理效率,从而提高电子票据的开具效率。业务节点将根据目标票据数据得到的待签名数据反馈至服务商平台进行签名,并在服务商平台对应反馈的签名数据验证通过时,将数据压缩的电子票据写入区块链中,以减少电子票据在区块链中所占用的存储空间,以避免因资源占用过多导致系统资源溢出的问题,从而能够提高区块链电子票据系统的系统性能。
在一个实施例中,步骤S204包括:解析开票请求得到待处理的票据数据;获取预配置的格式转换工具包;调用格式转换工具包,将待处理的票据数据转换为压缩格式的目标票据数据。
其中,格式转换工具包是用于对票据数据进行格式转换的工具包,具体可以是SDK包(Software Development Kit,软件开发工具包)。
具体地,服务商平台解析所获取到的开票请求,得到待处理的票据数据。相应地,服务商平台获取预配置的格式转换工具包,并调用所获取到的格式转换工具包,对解析得到的票据数据进行格式转换,以将该票据数据转换为压缩格式的目标票据数据。
在一个实施例中,服务商平台从本地获取预配置的格式转换工具包,并调用该格式转换工具包将票据数据转换为目标票据数据。本地预配置的格式转换工具包是服务商平台预先从第三方平台获取并存储在本地的。
在一个实施例中,服务商平台在获取到开票请求后,从第三方平台实时的获取预配置的格式转换工具包。服务商平台具体可从第三方平台上获取相应语言的格式转换工具包。
在一个实施例中,服务商平台在获取到预配置的格式转换工具包后,无需对自身原有的架构进行过多的改动,调用该格式转换工具包中的服务接口即可实现票据数据的格式转换。服务商平台调用格式转换工具包对票据数据进行格式转换,可理解为对待写入区块链的电子票据所对应的数据结构体的自动填充,以实现对票据数据的压缩,能够减少开票处理过程中所处理的票据数据的数据量,从而能够提高票据数据的处理效率,且能够减少写入区块链中的票据数据的数据量。
在一个实施例中,第三方平台上预配置有多种语言的格式转换工具包。服务商平台可根据实际需求从第三方平台上获取相应语言的格式转换工具包。
上述实施例中,通过调用预配置的格式转换工具包,实现票据数据的数据格式的自动转换,以实现票据数据的自动压缩,能够提高票据数据的压缩效率。这样,基于压缩后的目标票据数据进行相应的开票处理,能够提高开票效率,且能够得到数据量压缩的电子票据,从而能够减少电子票据在区块链上所占用的存储空间或资源。
在一个实施例中,步骤S204包括:解析开票请求得到待处理的票据数据;获取预配置的数据结构体;根据待处理的票据数据填充数据结构体,得到压缩格式的目标票据数据。
其中,数据结构体是由已指定数据格式的多个数据组成的集合。数据结构体指定了构成该结构体的数据和每个数据的数据格式,以及每个数据在该结构体中的排列位置或顺序。数据结构体中具体可包括每个数据对应的字段名,还可包括字段名对应的字段值格式,各个字段名按照相应数据在结构体中的排列顺序进行排序。填充数据结构体,是指将数据结构体中每个字段名对应的字段值填充至该字段名所在的位置处,得到包括各个字段名各自对应的字段值的目标票据数据。
比如,将数据理解为变量时,数据结构体中包括每个变量的变量名,还可包括每个变量对应的变量类型。填充数据结构体是指对数据结构体中的每个变量进行赋值,得到包括多个变量值的目标票据数据。可以理解,按照数据结构体中针对每个数据所指定的数据格式进行数据结构体的填充,也就是按照变量对应的变量类型进行变量赋值。
具体地,服务商平台解析所接收到的开票请求得到待处理的票据数据。服务商平台在获取到开票请求后,获取预配置的数据结构体,并根据解析得到的票据数据填充该数据结构体,得到压缩格式的目标票据数据。
在一个实施例中,预配置的数据结构体为压缩格式的数据结构体。服务商平台按照票据数据对该压缩格式的数据结构体进行填充,得到压缩格式的目标票据数据。
在一个实施例中,数据结构体指定了待填充的每个数据对应的字段名和字段值格式。服务商平台根据解析得到的票据数据,分别确定数据结构体中每个字段名对应的字段值,并将所确定的字段值按照相应的字段值格式填充至数据结构体中,得到压缩格式的目标票据数据。压缩格式的目标票据数据包括按照相应字段值格式填充的多个字段值,也就是包括多个已填充的票据数据。
举例说明,数据结构体中包括开票方标识、接收方标识、资源转移份额、产品标识,以及每个产品标识对应的单位资源转移份额和数量等字段名。根据票据数据确定每个字段名对应的字段值,并将所确定的字段值填充至数据结构体中相应字段名对应的位置处,以得到包括该多个字段值的目标票据数据。若开票方标识为010,接收方标识为002,资源转移份额为100,产品标识为A和B,各自相应的单位资源转移份额分别为2和3,数量为35和10。则目标票据数据为010,002,100,A,2,35,B,3,10。
这样,原始的票据数据中包括字段名和每个字段名对应的字段值,通过格式转换所得到的目标票据数据仅包括字段值,由此实现了数据量的压缩。可以理解,每个字段名在数据结构体中的排序是确定的,填充该数据结构体所得到的目标票据数据中的每个字段值所表征的含义也是确定的,由此,根据目标票据数据能够确定开具电子票据所需的票据数据。
在一个实施例中,服务商平台在获取到开票请求后,从本地获取预配置的数据结构体。本地预配置的数据结构体是预先从业务节点获取并存储在本地的。
在一个实施例中,服务商平台在获取到开票请求后,从业务节点动态获取预配置的数据结构体。
在一个实施例中,服务商平台从业务节点获取预配置的结构体数据包,并根据所获取到的结构体数据包得到预配置的数据结构体。
上述实施例中,根据票据数据填充预配置的数据结构体,以实现票据数据的格式转换,并得到数据量压缩的目标票据数据,以便于根据目标票据数据进行开票处理时,能够提高开票效率,且能够减少所开具的电子票据在区块链上所占用的存储空间和资源。
在一个实施例中,获取预配置的数据结构体,包括:调用业务节点的结构体查询接口,从业务节点获取结构体数据包;解析结构体数据包得到结构体配置文件;根据结构体配置文件得到预配置的数据结构体。
其中,结构体查询接口是预配置的用于查询数据结构体的接口,具体可以是业务节点提供给服务商平台获取数据结构体的接口。结构体数据包是用于指定数据结构体的数据包,数据包是指服务商平台和业务节点在通信过程中所传输的数据单位。结构体数据包中携带有结构体配置文件,并通过该结构体配置文件来指定数据结构体。结构体配置文件具体可以是ProtoBuf文件,用于指定ProtoBuf格式的数据结构体,ProtoBuf格式的数据结构体可理解为ProtoBuf结构体。
具体地,服务商平台在接收到开票请求后,调用业务节点的结构体查询接口,并接收业务节点通过该结构体查询接口对应反馈的结构体数据包。服务商平台解析所接收到的结构体数据包,得到预配置的结构体配置文件,并根据解析得到的结构体配置文件得到预配置的数据结构体。
在一个实施例中,结构体配置文件中携带有数据结构体。服务商平台解析结构体配置文件得到预配置的数据结构体。在一个实施例中,结构体配置文件中指定数据结构体所包括的多个数据和每个数据对应的数据格式,以及每个数据在该多个数据中的排列位置或顺序。服务商平台解析结构体配置文件,得到多个数据和每个数据对应的数据格式,以及各个数据的排列位置或排序,按照排列顺序对该多个数据进行排列组合,并将每个数据与相应的数据格式进行关联,得到数据结构体。
在一个实施例中,业务节点接收服务商平台对结构体查询接口的调用请求,根据所接收到的调用请求在本地查询预配置的结构体配置文件,根据所查询到的结构体配置文件生成结构体数据包,并将所生成的结构体数据包反馈至服务商平台。可以理解,业务节点可根据所接收到的调用请求对服务商平台的调用权限进行验证,当验证通过后向验证通过的服务商平台反馈结构体数据包。
上述实施例中,通过调用业务节点的结构体查询接口来获取数据结构体,以基于所获取到的数据结构体对票据数据进行格式转换,得到数据量压缩的目标票据数据。
在一个实施例中,步骤S208包括:接收业务节点反馈的待签名数据;待签名数据包括待签名串和电子票据;通过开票方私钥对待签名串进行签名,得到已签名串;通过自身的私钥对已签名串和电子票据进行签名,得到签名数据;将签名数据发送至业务节点。
其中,待签名串是指待签名的字符串。已签名串是指对待签名串进行签名得到的字符串。
具体地,服务商平台接收业务节点反馈的待签名数据,解析该待签名数据得到待签名串和电子票据。服务商平台通过发起开票请求的开票方的私钥,对解析得到的待签名串进行签名,得到已签名串。服务商平台通过服务商的私钥对已签名串和解析得到的相应电子票据进行签名,得到签名数据,并将所得到的签名数据发送至业务节点。
在一个实施例中,当服务商平台为服务商对应的平台时,也就是方服务商平台为服务商自己的平台时,服务商平台通过自身的私钥对已签名串和相应电子票据进行签名,得到签名数据。当服务商平台为多个服务商共用的平台时,服务商平台根据待签名数据确定服务商,并通过服务商的私钥对已签名串和电子票据进行签名,得到签名数据。
在一个实施例中,服务商平台将已签名串和相应的电子签名作为一个整体,并通过服务商的私钥对该整体进行签名得到签名数据。可以理解,服务商平台在得到签名数据后,可生成携带该签名数据的票据提交请求,并将所生成的票据提交请求发送至业务节点。业务节点在票据提交请求中的签名数据通过验证时,将该签名数据中的电子票据写入区块链中,以完成电子票据的提交或开具。
在一个实施例中,业务节点在接收到签名数据后,通过服务商的公钥对签名数据进行解密,得到已签名串和电子票据,并通过开票方的私钥对所得到的已签名串进行解密。当通过服务商的公钥能够成功解密签名数据、且通过开票方的公钥能够成功解密签名数据中的已签名串,表明双重签名均通过验证,业务节点则判定签名数据通过验证。
上述实施例中,通过开票方的私钥和服务商的私钥对待签名数据进行双重签名,并在双重签名均通过验证后,将电子票据写入区块链,以保证电子票据的准确性和可靠性。
在一个实施例中,上述票据数据处理方法还包括:当满足电子票据查询条件时,获取预配置的数据结构体;调用业务节点的票据数据查询接口,从业务节点获取压缩格式的电子票据;根据数据结构体对获取的电子票据进行格式转换,得到目标电子票据。
其中,电子票据查询条件是用于触发电子票据查询操作的条件。电子票据查询条件,比如当前时间与预配置的电子票据查询时间一致,或者,接收到其他设备发送的电子票据查询请求。其他设备比如开票方设备或接收方设备。票据数据查询接口是用于查询电子票据或电子票据对应的票据数据的接口。目标电子票据是直观地且可理解的电子票据,具体可包括票面数据的字段名和相应字段值。
具体地,当满足电子票据查询条件时,服务商平台从本地或业务节点获取预配置的数据结构体,并调用业务节点的票据数据查询接口,从业务节点获取压缩格式的电子票据。业务节点根据所获取到的数据结构体,对所获取到的压缩格式的电子票据进行格式转换,得到目标电子票据。
在一个实施例中,当满足电子票据查询条件时,服务商平台从本地获取预配置的数据结构体。本地预配置的数据结构体,是根据预先从业务节点获取到的结构体数据包解析得到的数据结构体。服务商平台也可在满足电子票据查询条件时,从业务节点动态获取结构体数据包,并根据结构体数据包得到数据结构体。
在一个实施例中,服务商平台根据票据标识码调用业务节点的票据数据查询接口,并接收业务节点针对该票据标识码所反馈的电子票据。当满足电子票据查询条件时,服务商平台根据该电子票据查询条件确定票据标识码。比如,服务商平台解析所接收到的电子票据查询请求得到票据标识码。
在一个实施例中,数据结构体指定了电子票据中的票面数据对应的字段名,电子票据指定了票面数据的字段值。服务商平台根据数据结构体和电子票据之间的对应关系,确定电子票据中的每个字段值对应的字段名,以确定电子票据中每个票面数据的对应的字段名和相应的字段值,并根据确定了字段名和相应字段值的票据数据组合得到目标电子票据。
在一个实施例中,服务商平台调用业务节点的票据数据查询接口,从业务节点获取到ProtoBuf格式的电子票据,通过格式转换得到Json格式的目标电子票据。
在一个实施例中,服务商平台根据压缩格式的电子票据,调用格式转换工具包将该电子票据转换为目标电子票据。可以理解,格式转换工具包可根据入参实现数据格式的双向转换。或者,将票据数据转换为目标票据数据所调用的格式转换工具包,与将电子票据转换为目标电子票据所调用的格式转换工具包不同。
上述实施例中,在满足电子票据查询条件时,获取数据结构体和压缩格式的电子票据,并基于数据结构体将压缩格式的电子票据转换为直观可理解的目标电子票据,以实现电子票据的查询。
如图3所示,在一个实施例中,提供了一种票据数据处理方法,该方法以应用于服务商平台为例进行说明,具体包括以下步骤:
S302,获取携带有票据数据的开票请求。
S304,解析开票请求得到待处理的票据数据。
S306,获取预配置的格式转换工具包。
S308,调用格式转换工具包,将待处理的票据数据转换为压缩格式的目标票据数据。
S310,调用业务节点的结构体查询接口,从业务节点获取结构体数据包。
S312,解析结构体数据包得到结构体配置文件。
S314,根据结构体配置文件得到预配置的数据结构体。
S316,根据待处理的票据数据填充数据结构体,得到压缩格式的目标票据数据。
S318,将携带目标票据数据的票据申请请求发送至业务节点;票据申请请求用于指示业务节点得到目标票据数据对应的待签名数据。
S320,接收业务节点反馈的待签名数据;待签名数据包括待签名串和电子票据。
S322,通过开票方私钥对待签名串进行签名,得到已签名串。
S324,通过自身的私钥对已签名串和电子票据进行签名,得到签名数据。
S326,将签名数据发送至业务节点;发送的签名数据用于指示业务节点将通过验证的签名数据中的电子票据写入区块链。
S328,接收业务节点反馈的与电子票据对应的票据标识码。
上述实施例中,提供了对开票请求中的票据数据进行数据量压缩的两个格式转换方式,得到压缩格式的目标票据数据,服务商平台基于数据量压缩的目标票据数据向业务节点发起票据申请请求,以减少业务节点进行开票处理时的数据量,从而得到数据量压缩的电子票据。在开票过程中,通过双重签名和双重签名验证来保证电子票据的可靠性,并将通过验证的、且数据量压缩的电子票据写入区块链中,以减少其在区块链中所占用的存储空间或资源。由此,能够缓存业务节点所处的区块链网络的数据处理和存储压力,从而能够提高相应电子票据系统的系统性能。
如图4所示,在一个实施例中,提供了一种票据数据处理方法。本实施例主要以该方法应用于上述图1中的业务节点120来举例说明。参照图4,该票据数据处理方法具体包括如下步骤:
S402,接收服务商平台发送的票据申请请求;票据申请请求携带有压缩格式的目标票据数据;目标票据数据为对票据数据进行格式转换得到的。
其中,票据申请请求用于请求开具电子票据,具体可携带有数据量压缩的目标票据数据。目标票据数据是用于生成电子票据数据的票面数据的数据,具体可以是对票据数据进行格式转换得到的、数据量压缩的票据数据。
具体地,服务商平台对所获取到的票据数据进行格式转换,以实现对票据数据的数据量的压缩,得到压缩格式的目标票据数据。服务商平台生成携带有数据量压缩的目标票据数据的票据申请请求,并将所生成的票据申请请求发送至相应业务节点。业务节点接收服务商平台发送的、携带有压缩格式的目标票据数据的票据申请请求。
在一个实施例中,服务商平台接收开票方设备发送的开票请求,解析该开票请求得到待处理的票据数据,并对解析得到的票据数据进行数据量压缩处理,得到数据量压缩的目标票据数据。或者,当满足票据申请触发条件时,服务商平台从本地获取待处理的一个或多个票据数据,对每个票据数据进行数据量压缩处理,得到数据量压缩的目标票据数据,并触发生成携带有目标票据数据的票据申请请求。票据申请触发条件比如,当前时间与预设的票据申请触发时间一致,或者,自前一次触发票据申请请求起达到预设时长。可以理解,服务商平台可针对每个目标票据数据分别触发生成相应的票据申请请求,也可触发生成携带有该多个目标票据数据的票据申请请求。
在一个实施例中,服务商平台调用预配置的格式转换工具包,对所获取到的票据数据进行格式转换,得到压缩格式的目标票据数据。其中,预配置的格式转换工具包,可以是服务商平台从第三方平台动态获取的,也可以是服务商平台预先从第三方平台获取并缓存在本地的。
在一个实施例中,服务商平台在获取到待处理的票据数据后,获取预配置的数据结构体,并根据待处理的票据数据填充该数据结构体,得到压缩格式的目标票据数据。其中,预配置的数据结构体,可以是服务商平台通过调用业务节点的结构体查询接口预先获取并缓存在本地的,也可以是服务商平台通过调用业务节点的结构体查询接口动态获取的。服务商平台调用结构体查询接口从业务节点获取结构体数据包,解析结构体数据包得到结构体配置文件,并根据结构体配置文件得到数据结构体。
S404,对目标票据数据进行处理得到相应的待签名数据。
其中,待签名数据是待服务商平台进行签名的数据,以根据签名得到的签名数据进行开票权限的验证,还可根据签名数据进行开票请求对象的验证。
具体地,业务节点根据目标票据数据生成电子票据和相应的票据标识码,并根据电子票据和票据标识码得到待签名数据。
在一个实施例中,业务节点通过哈希算法对目标票据数据进行哈希计算,得到相应的票据标识码。业务节点也可通过加密算法对目标票据数据进行加密得到数据密文,并通过哈希算法对数据密文进行哈希计算得到票据标识码。
在一个实施例中,业务节点对目标票据数据进行字段填充,并根据填充后的目标票据数据生成电子票据和目标票据标识。例如,业务节点在目标票据数据中填充服务商信息和业务节点自身的节点信息等字段所对应的字段值。
在一个实施例中,业务节点将目标票据数据聚类为可变票据数据和不可变票据数据,确定电子票据对应的票据代码和票据号码,并根据可变票据数据、不可变票据数据、票据代码、票据号码和票据标识码得到待签名数据。可以理解,业务节点可通过加密算法,对可变票据数据、不可变票据数据、票据代码、票据号码和票据标识码进行加密,得到票据密文,并根据票据密文得到待签名数据。
在一个实施例中,待签名数据中还携带有待签名串。待签名串是根据电子票据或电子票据中的指定数据生成的字符串。
S406,将待签名数据反馈至服务商平台;反馈的待签名数据用于指示服务商平台对待签名数据进行签名,得到签名数据。
其中,签名数据是服务商平台通过私钥对待签名数据进行签名得到的数据。
具体地,业务节点将目标票据数据对应的待签名数据反馈至服务商平台。服务商平台通过私钥对所接收到的待签名数据进行签名,得到签名数据。
在一个实施例中,服务商平台可通过服务商的私钥对待签名数据进行签名,得到签名数据。在一个实施例中,服务商平台可通过开票方的私钥对待签名数据进行签名得到初始签名数据,并通过服务商的私钥对初始签名数据进行二次签名,得到最终的签名数据。
在一个实施例中,服务商平台通过开票方的私钥对待签名数据中的待签名串进行签名,得到已签名串,并通过服务商的私钥对已签名串和电子票据进行签名,得到签名数据。
S408,当服务商平台发送的签名数据通过验证时,将签名数据中的电子票据写入区块链。
具体地,业务节点接收服务商平台发送的签名数据,对所接收到的签名数据进行验证。当该签名数据通过验证时,业务节点根据通过验证的签名数据得到电子票据,并将该电子票据写入区块链中。
在一个实施例中,业务节点通过本地缓存的相应公钥对签名数据进行解密,当通过公钥能够成功解密签名数据时,表明签名数据通过验证,并得到签名数据中的电子票据。
在一个实施例中,业务节点通过服务商的公钥对签名数据进行解密,得到已签名串和电子票据,并通过开票方的公钥对已签名串进行解密,以还原待签名串。当通过服务商的公钥能够成功解密签名数据时,表明签名数据是通过服务商的私钥进行签名得到的,若服务商平台为服务商自己的平台,则可表明签名数据是服务商对应的服务商平台发送的,以保证签名数据的来源可靠性。当通过开票方的公钥能够成功解密已签名串时,表明已签名串是通过开票方的私钥进行签名得到的,从而可以表明相应电子票据是由开票方开具的。这样,当通过服务商的公钥能够成功解密签名数据、且通过开票方的公钥能够成功解密待签名串时,业务节点判定签名数据通过验证。
可以理解,当黑客或其他不具备票据申请权限的第三方来请求开具电子票据时,由于无法通过签名数据的验证,所以不会开具相应的电子票据,以保证电子票据的安全性和可靠性。当服务商平台通过开票方A的私钥对开票方B对应的待签名串进行签名时,也就是当服务商通过开票方A的私钥对开票方B的电子发票进行签名时,由于无法通过已签名串的验证,所以不会提交相应的电子票据,也就不能完成电子票据的开具流程。
在一个实施例中,业务节点根据签名数据得到可变票据数据、不可变票据数据和相应的票据标识码,并将可变票据数据、不可变票据数据和相应的票据标识对应写入区块链中。
在一个实施例中,当服务商平台发送的签名数据通过验证时,业务节点将该签名数据中的电子票据发送至区块链网络中的共识节点,以通过共识节点将该电子票据写入区块链中。
S410,将电子票据对应的票据标识码发送至服务商平台。
其中,票据标识码与电子票据唯一对应,用于查询电子票据。
具体地,当签名数据通过验证时,业务节点根据签名数据得到电子票据和相应的票据标识码,并在将电子票据成功写入区块链中后,将该票据标识码发送至相应的服务商平台。
在一个实施例中,业务节点将电子票据和相应的票据标识码一并反馈至服务商平台。业务节点还可将票据号码和票据代码一并反馈至服务商平台。
在一个实施例中,业务节点将电子票据对应的相关票据数据和票据标识码一并反馈至服务商平台。相关票据数据比如票面数据、票据号码、票据代码和票据状态等。可以理解,所列举的相关票据数据仅仅作为示例,并不用于具体限定。
在一个实施例中,业务节点根据签名数据得到可变票据数据和不可变票据数据,根据可变票据数据和不可变票据数据得到电子票据,并将电子票据和相应的票据标识码反馈至服务商平台。
在一个实施中,电子票据对应的票据标识码具体可以是票据hash。
上述票据数据处理方法,服务商平台对开票请求中的票据数据进行格式转换,以实现对该票据数据的压缩处理,得到压缩格式的目标票据数据,并根据压缩得到的目标票据数据请求业务节点进行电子票据的开具,以使得业务节点基于压缩后的目标票据数据进行开票处理,得到数据压缩的电子票据,能够提高票据处理效率,从而提高电子票据的开具效率。业务节点将根据目标票据数据得到的待签名数据反馈至服务商平台进行签名,并在服务商平台对应反馈的签名数据验证通过时,将数据压缩的电子票据写入区块链中,以减少电子票据在区块链中所占用的存储空间,以避免因资源占用过多导致系统资源溢出的问题,从而能够提高区块链电子票据系统的系统性能,降低系统资源的消耗。而且,通过签名和验签的方式能够保证写入区块链的电子票据的可靠性。
在一个实施例中,步骤S408包括:接收服务商平台发送的签名数据;通过服务商平台的公钥对签名数据进行解密,得到已签名串和电子票据;已签名串通过开票方私钥进行签名得到;通过开票方的公钥对已签名串解密;当已签名串解密成功时,则判定签名数据通过验证,并将签名数据中的电子票据写入区块链。
具体地,业务节点接收服务商平台发送的签名数据,通过本地缓存的服务商平台的公钥对签名数据进行解密,得到已签名串和电子票据。当解密成功后,通过本地缓存的开票方的公钥,对解密签名数据得到的已签名串进行解密。当已签名串解密成功时,表明已签名串是通过开票方的私钥进行签名得到的,业务节点则判定签名数据通过验证,并将通过验证的签名数据中的电子票据写入区块链中。
在一个实施例中,服务商平台与服务商对应,也就是服务商平台为服务商自己的平台,则服务商平台的密钥对即为服务商的密钥对。密钥对是由公钥和相应的私钥组成的一对密钥。
在一个实施例中,服务商平台对应多个服务商,也就是多个服务商共用一个服务商平台,该多个服务商共用服务商平台的密钥对。服务商平台通过自身的私钥对每个服务商对应的待签名数据进行签名,得到签名数据。相应地,业务节点通过服务商平台的公钥对每个服务商对应的签名数据进行验证。
在一个实施例中,服务商平台对应多个服务商,也就是多个服务商共用一个服务商平台,每个服务商对应有自己的密钥对,也就是一个服务商平台对应多个密钥对。服务商平台通过服务商自身的私钥对待签名数据进行签名得到签名数据。相应地,业务节点通过服务商的公钥对签名数据进行验证。
上述实施例中,通过双重签名验证实现对开票方和服务商的双重验证,以保证电子票据的安全性和可靠性。
在一个实施例中,步骤S402之前,上述票据数据处理方法还包括:接收服务商平台对结构体查询接口的调用请求;根据调用请求获取结构体数据包;将结构体数据包反馈至服务商平台;反馈的结构体数据包用于指示服务商平台确定数据结构体,并根据数据结构体对票据数据进行格式转换得到目标票据数据。
其中,调用请求是用于触发接口调用操作的请求,具体可用于请求调用业务节点中的结构体查询接口。
具体地,业务节点接收服务商平台对结构体查询接口的调用请求,根据所接收到的调用请求获取结构体数据包,并将所获取到的结构体数据包反馈至服务商平台。服务商平台解析所接收到的结构体数据包得到结构体配置文件,并根据结构体配置文件得到数据结构体,以通过该数据结构体对待处理的票据数据进行格式转换,得到压缩格式的目标票据数据。
在一个实施例中,业务节点根据调用请求从本地查询预配置的结构体配置文件,并根据所查询到的结构体配置文件生成结构体数据包。
在一个实施例中,业务节点根据所接收到的调用请求对服务商平台的接口调用权限进行验证,并在验证通过后,获取相应的结构体数据包,
上述实施例中,业务节点向服务商平台提供结构体查询接口,以便于服务商平台通过调用该结构体查询接口获取相应的数据结构体,并基于数据结构体对票据数据进行数据量的压缩,能够减少票据数据的数据量。
如图5所示,在一个实施例中,提供了一种票据数据处理方法,该方法以应用于区块链网络中的业务节点为例进行说明,具体包括以下步骤:
S502,接收服务商平台对结构体查询接口的调用请求。
S504,根据调用请求获取结构体数据包。
S506,将结构体数据包反馈至服务商平台;反馈的结构体数据包用于指示服务商平台确定数据结构体,并根据数据结构体对票据数据进行格式转换得到目标票据数据。
S508,接收服务商平台发送的票据申请请求;票据申请请求携带有压缩格式的目标票据数据。
S510,对目标票据数据进行处理得到相应的待签名数据。
S512,将待签名数据反馈至服务商平台;反馈的待签名数据用于指示服务商平台对待签名数据进行签名,得到签名数据。
S514,接收服务商平台发送的签名数据。
S516,通过服务商平台的公钥对签名数据进行解密,得到已签名串和电子票据;已签名串通过开票方私钥进行签名得到。
S518,通过开票方的公钥对已签名串解密。
S520,当已签名串解密成功时,则判定签名数据通过验证,并将签名数据中的电子票据写入区块链。
S522,将电子票据对应的票据标识码发送至服务商平台。
上述实施例中,业务节点向服务商平台提供了结构体查询接口,以便于服务商平台通过调用该结构体查询接口能够获取到数据结构体,并根据所获取到的数据结构体对票据数据进行数据量压缩处理。业务节点接收服务商平台基于数据量压缩的目标票据数据发起票据申请请求,以减少业务节点进行开票处理时的数据量,从而得到数据量压缩的电子票据。在开票过程中,通过双重签名和双重签名验证来保证电子票据的可靠性,并将通过验证的、且数据量压缩的电子票据写入区块链中,以减少其在区块链中所占用的存储空间或资源。由此,能够缓存业务节点所处的区块链网络的数据处理和存储压力,从而能够提高相应电子票据系统的系统性能。
图6为一个实施例中票据数据处理方法的时序图。服务商平台调用业务节点的结构体查询接口,以从业务节点获取结构体数据包。服务商平台对所获取到的结构体数据包进行分析得到数据结构体,并将所得到的数据结构体缓存在本地。服务商平台在接收到开票方设备发送的开票请求时,从本地获取缓存的数据结构体,并根据开票请求中的票据数据填充数据结构体,得到数据量压缩的目标票据数据,服务商平台将携带有目标票据数据的票据申请请求发送至业务节点,并接收业务节点对应反馈的待签名数据。服务商平台对待签名数据进行签名,并将签名得到的签名数据发送至业务节点。业务节点对所接收到的签名数据进行验证,并在签名数据通过验证后,将电子票据发送至区块链网络中的共识节点进行上链处理,并接收共识节点在电子票据上链成功后反馈的表示上链成功的提示信息。业务节点在获取到上链成功的提示信息后,向服务商平台反馈表示开票成功的提示信息,以使得服务商平台向开票方设备反馈表示开票成功的提示信息。
可以理解,业务节点可将所开具的电子票据和表示开票成功的提示信息一并反馈至服务商平台,还可以将电子票据对应的票据代码、票据号码和票据标识码等一并反馈至服务商平台。相应地,服务商平台可将所开具的电子票据和表示开票成功的提示信息一并反馈至开票方设备,还可将电子票据对应的票据代码和票据号码等一并反馈至开票方设备。
图7为一个实施例中票据数据处理方法的原理图。一方面,服务商平台获取格式转换工具包,并调用该格式转换工具包对票据数据进行格式转换,得到压缩格式的目标票据数据,另一方面,服务商平台获取数据结构体,并根据票据数据填充该数据结构体,得到压缩格式的目标票据数据。服务商平台可通过该两种方式中的任一种对票据数据进行格式转换,以实现对票据数据的数据量的压缩处理。服务商平台触发生成携带有目标票据数据的票据申请请求,并将携带目标票据数据的票据申请请求发送至业务节点。业务节点根据票据申请请求中的目标票据数据得到待签名数据,并将待签名数据反馈至服务商平台。服务商平台对待签名数据进行签名,得到签名数据,并将签名数据发送至业务节点。业务节点对签名数据进行验证,并在签名数据通过验证时,将签名数据中的电子票据写入区块链,并将成功写入区块链的电子票据对应的票据标识码反馈至服务商平台。
可以理解,服务商平台可从第三方平台下载预配置的格式转换工具包,还可将所下载的格式转换工具包缓存在本地。服务商平台可调用业务节点的结构体查询接口,以从业务节点获取结构体数据包,解析结构体数据包得到结构体配置文件,并根据结构体配置文件得到预配置的数据结构体,还可将该数据结构体缓存在本地。
这样,在区块链技术中使用压缩格式进行上链,压缩了电子票据在区块链上的存储数据量的大小,解决了部分电子票据上链内容体积过大的问题,解决了区块链电子票据系统目前无法开具大额多明细电子票据的问题,使得更多类型的开票方可以接入系统,提升普适性。
区块链电子票据系统是一种通过区块链技术实现的无纸化票据开具、且在其生命周期中可追溯的一种新型的票据管理系统。目前,区块链电子票据系统中,电子票据通常采用Json格式进行存储。由于目前已接入区块链电子票据系统的开票方在开具电子票据时,票据数据的数据量通常不会过大,产品种类和数量均在一定的范围内,故采用Json格式进行存储是合理且可行的方案。但是随着税务系统的扩展和普及,越来越多的开票方开始接入区块链电子票据系统,新接入的开票方会包括批发商、零售商等,其所需开具的电子票据具有资源转移份额大、且产品明细数据多等特点。
针对该种情况,目前有两种数据处理和存储方式,一种是直接采用Json格式将电子票据写入区块链中,一种是采用现有的加密算法对Json格式的电子票据进行加密,将加密后的电子票据写入区块链中。但是,该两种方式都未能很好的压缩电子票据的体积,由此将造成区块链电子票据系统的性能瓶颈,是的开具电子票据的响应速度和效率下降,并且需利用较多的区块链资源来进行存储,使得系统资源更加容易溢出。
基于本申请提供的票据数据处理方法,电子票据在区块链上采用压缩格式进行存储,具体存储有电子票据的票面数据和服务商信息等票据数据。由此,避免了写入区块链的电子票据的体积或数据量过大的问题,且能够提高电子票据的开具效率。若采用格式转换工具包的方式进行票据数据的压缩处理,服务商无需对其原有的架构进行过多的改动,可以降低对服务商的影响,进一步降低了不同服务商的变更成本。而且,通过业务节点的结构体查询接口可从区块链电子票据系统中获取压缩格式的数据结构体。压缩格式具体可以是protobuf格式。
在一个实施例中,上述一个或多个实施例中提供的票据数据处理方法中,业务节点将电子票据写入区块链中,具体可以是指将电子票据的相关票据数据写入区块链中,相关票据数据比如电子票据的票面数据和服务商信息等。
应该理解的是,虽然本申请各实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本申请各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图8所示,在一个实施例中,提供了一种票据数据处理装置800,该装置包括:获取模块802、压缩模块804、发送模块806、签名模块808和接收模块810,其中,
获取模块802,用于获取携带有票据数据的开票请求;
压缩模块804,用于对票据数据进行格式转换,得到压缩格式的目标票据数据;
发送模块806,用于将携带目标票据数据的票据申请请求发送至业务节点;票据申请请求用于指示业务节点得到目标票据数据对应的待签名数据;
签名模块808,用于对业务节点反馈的待签名数据进行签名,并将得到的签名数据发送至业务节点;发送的签名数据用于指示业务节点将通过验证的签名数据中的电子票据写入区块链;
接收模块810,用于接收业务节点反馈的与电子票据对应的票据标识码。
在一个实施例中,压缩模块804,还用于解析开票请求得到待处理的票据数据;获取预配置的格式转换工具包;调用格式转换工具包,将待处理的票据数据转换为压缩格式的目标票据数据。
在一个实施例中,压缩模块804,还用于解析开票请求得到待处理的票据数据;获取预配置的数据结构体;根据待处理的票据数据填充数据结构体,得到压缩格式的目标票据数据。
在一个实施例中,压缩模块804,还用于调用业务节点的结构体查询接口,从业务节点获取结构体数据包;解析结构体数据包得到结构体配置文件;根据结构体配置文件得到预配置的数据结构体。
在一个实施例中,签名模块808,还用于接收业务节点反馈的待签名数据;待签名数据包括待签名串和电子票据;通过开票方私钥对待签名串进行签名,得到已签名串;通过自身的私钥对已签名串和电子票据进行签名,得到签名数据;将签名数据发送至业务节点。
在一个实施例中,上述票据数据处理装置800还包括:查询模块;
查询模块,用于当满足电子票据查询条件时,获取预配置的数据结构体;调用业务节点的票据数据查询接口,从业务节点获取压缩格式的电子票据;根据数据结构体对获取的电子票据进行格式转换,得到目标电子票据。
如图9所示,在一个实施例中,提供了一种票据数据处理装置900,该装置包括:接收模块902、处理模块904、反馈模块906、验证模块908和发送模块910,其中,
接收模块902,用于接收服务商平台发送的票据申请请求;票据申请请求携带有压缩格式的目标票据数据;目标票据数据为对票据数据进行格式转换得到的;
处理模块904,用于对目标票据数据进行处理得到相应的待签名数据;
反馈模块906,用于将待签名数据反馈至服务商平台;反馈的待签名数据用于指示服务商平台对待签名数据进行签名,得到签名数据;
验证模块908,用于当服务商平台发送的签名数据通过验证时,将签名数据中的电子票据写入区块链;
发送模块910,用于将电子票据对应的票据标识码发送至服务商平台。
在一个实施例中,验证模块908,还用于接收服务商平台发送的签名数据;通过服务商平台的公钥对签名数据进行解密,得到已签名串和电子票据;已签名串通过开票方私钥进行签名得到;通过开票方的公钥对已签名串解密;当已签名串解密成功时,则判定签名数据通过验证,并将签名数据中的电子票据写入区块链。
在一个实施例中,上述票据数据处理装置900还包括:调用模块;
调用模块,用于接收服务商平台对结构体查询接口的调用请求;根据调用请求获取结构体数据包;将结构体数据包反馈至服务商平台;反馈的结构体数据包用于指示服务商平台确定数据结构体,并根据数据结构体对票据数据进行格式转换得到目标票据数据。
图10示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务商平台110或业务节点120。如图10所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现票据数据处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行票据数据处理方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的票据数据处理装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该票据数据处理装置的各个程序模块。比如,图8所示的获取模块802、压缩模块804、发送模块806、签名模块808和接收模块810。还比如图9所示的接收模块902、处理模块904、反馈模块906、验证模块908和发送模块910。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的票据数据处理方法中的步骤。
例如,图10所示的计算机设备可以通过如图8所示的票据数据处理装置中的获取模块802执行步骤S202。计算机设备可通过压缩模块804执行步骤S204。计算机设备可通过发送模块806执行步骤S206。计算机设备可通过签名模块808执行步骤S208。计算机设备可通过接收模块810执行步骤S210。
还例如,图10所示的计算机设备可以通过如图9所示的票据数据处理装置中的接收模块902执行步骤S402。计算机设备可通过处理模块904执行步骤S404。计算机设备可通过反馈模块906执行步骤S406。计算机设备可通过验证模块908执行步骤S408。计算机设备可通过发送模块910执行步骤S410。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述票据数据处理方法的步骤。此处票据数据处理方法的步骤可以是上述各个实施例的票据数据处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述票据数据处理方法的步骤。此处票据数据处理方法的步骤可以是上述各个实施例的票据数据处理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (20)
1.一种票据数据处理方法,包括:
获取携带有票据数据的开票请求;
对所述票据数据进行格式转换,得到压缩格式的目标票据数据;
将携带所述目标票据数据的票据申请请求发送至业务节点;所述票据申请请求用于指示所述业务节点根据所述目标票据数据生成电子票据和对应的票据标识码,并将所述电子票据与所述票据标识码进行关联,再确定所述电子票据对应的票据代码和票据号码,并通过加密算法对所述电子票据、所述票据标识码、所述票据代码和所述票据号码进行加密得到票据密文,以根据所述票据密文得到对应的待签名数据;
对所述业务节点反馈的待签名数据进行签名得到已签名串,对所述已签名串和所述待签名数据中的电子票据进行二次签名,并将得到的签名数据发送至所述业务节点;发送的所述签名数据用于指示所述业务节点将通过验证的签名数据中的电子票据写入区块链;
接收所述业务节点反馈的与所述电子票据对应的票据标识码。
2.根据权利要求1所述的方法,其特征在于,所述对所述票据数据进行格式转换,得到压缩格式的目标票据数据,包括:
解析所述开票请求得到待处理的票据数据;
获取预配置的格式转换工具包;
调用所述格式转换工具包,将待处理的所述票据数据转换为压缩格式的目标票据数据。
3.根据权利要求1所述的方法,其特征在于,所述对所述票据数据进行格式转换,得到压缩格式的目标票据数据,包括:
解析所述开票请求得到待处理的票据数据;
获取预配置的数据结构体;
根据待处理的所述票据数据填充所述数据结构体,得到所述压缩格式的目标票据数据。
4.根据权利要求3所述的方法,其特征在于,所述获取预配置的数据结构体,包括:
调用业务节点的结构体查询接口,从所述业务节点获取结构体数据包;
解析所述结构体数据包得到结构体配置文件;
根据所述结构体配置文件得到预配置的数据结构体。
5.根据权利要求1所述的方法,其特征在于,所述对所述业务节点反馈的待签名数据进行签名,并将得到的签名数据发送至所述业务节点,包括:
接收所述业务节点反馈的待签名数据;所述待签名数据包括待签名串和电子票据;
通过开票方私钥对所述待签名串进行签名,得到已签名串;
通过自身的私钥对所述已签名串和所述电子票据进行签名,得到签名数据;
将所述签名数据发送至所述业务节点。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
当满足电子票据查询条件时,获取预配置的数据结构体;
调用所述业务节点的票据数据查询接口,从所述业务节点获取所述压缩格式的电子票据;
根据所述数据结构体对获取的所述电子票据进行格式转换,得到目标电子票据。
7.一种票据数据处理方法,所述方法包括:
接收服务商平台发送的票据申请请求;所述票据申请请求携带有压缩格式的目标票据数据;所述目标票据数据为对票据数据进行格式转换得到的;
对所述目标票据数据生成电子票据和对应的票据标识码,并将所述电子票据与所述票据标识码进行关联,再确定所述电子票据对应的票据代码和票据号码,并通过加密算法对所述电子票据、所述票据标识码、所述票据代码和所述票据号码进行加密得到票据密文,以根据所述票据密文得到相应的待签名数据;
将所述待签名数据反馈至所述服务商平台;反馈的所述待签名数据用于指示所述服务商平台对所述待签名数据进行签名得到已签名串,对所述已签名串和所述待签名数据中的电子票据进行二次签名,得到签名数据;
当所述服务商平台发送的签名数据通过验证时,将所述签名数据中的电子票据写入区块链;
将所述电子票据对应的票据标识码发送至所述服务商平台。
8.根据权利要求7所述的方法,其特征在于,所述当所述服务商平台发送的签名数据通过验证时,将所述签名数据中的电子票据写入区块链,包括:
接收所述服务商平台发送的签名数据;
通过所述服务商平台的公钥对所述签名数据进行解密,得到已签名串和电子票据;所述已签名串通过开票方私钥进行签名得到;
通过所述开票方的公钥对所述已签名串解密;
当所述已签名串解密成功时,则判定所述签名数据通过验证,并将所述签名数据中的电子票据写入区块链。
9.根据权利要求7或8所述的方法,其特征在于,所述接收服务商平台发送的票据申请请求之前,所述方法还包括:
接收所述服务商平台对结构体查询接口的调用请求;
根据所述调用请求获取结构体数据包;
将所述结构体数据包反馈至所述服务商平台;反馈的所述结构体数据包用于指示所述服务商平台确定数据结构体,并根据所述数据结构体对票据数据进行格式转换得到目标票据数据。
10.一种票据数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取携带有票据数据的开票请求;
压缩模块,用于对所述票据数据进行格式转换,得到压缩格式的目标票据数据;
发送模块,用于将携带所述目标票据数据的票据申请请求发送至业务节点;所述票据申请请求用于指示所述业务节点根据所述目标票据数据生成电子票据和对应的票据标识码,并将所述电子票据与所述票据标识码进行关联,再确定所述电子票据对应的票据代码和票据号码,并通过加密算法对所述电子票据、所述票据标识码、所述票据代码和所述票据号码进行加密得到票据密文,以根据所述票据密文得到对应的待签名数据;
签名模块,用于对所述业务节点反馈的待签名数据进行签名得到已签名串,对所述已签名串和所述待签名数据中的电子票据进行二次签名,并将得到的签名数据发送至所述业务节点;发送的所述签名数据用于指示所述业务节点将通过验证的签名数据中的电子票据写入区块链;
接收模块,用于接收所述业务节点反馈的与所述电子票据对应的票据标识码。
11.根据权利要求10所述的装置,其特征在于,所述压缩模块,还用于解析所述开票请求得到待处理的票据数据;获取预配置的格式转换工具包;调用所述格式转换工具包,将待处理的所述票据数据转换为压缩格式的目标票据数据。
12.根据权利要求10所述的装置,其特征在于,所述压缩模块,还用于解析所述开票请求得到待处理的票据数据;获取预配置的数据结构体;根据待处理的所述票据数据填充所述数据结构体,得到所述压缩格式的目标票据数据。
13.根据权利要求12所述的装置,其特征在于,所述压缩模块,还用于调用业务节点的结构体查询接口,从所述业务节点获取结构体数据包;解析所述结构体数据包得到结构体配置文件;根据所述结构体配置文件得到预配置的数据结构体。
14.根据权利要求10所述的装置,其特征在于,所述签名模块,还用于接收所述业务节点反馈的待签名数据;所述待签名数据包括待签名串和电子票据;通过开票方私钥对所述待签名串进行签名,得到已签名串;通过自身的私钥对所述已签名串和所述电子票据进行签名,得到签名数据;将所述签名数据发送至所述业务节点。
15.根据权利要求10至14任一项所述的装置,其特征在于,所述装置还包括查询模块;
所述查询模块,用于当满足电子票据查询条件时,获取预配置的数据结构体;调用所述业务节点的票据数据查询接口,从所述业务节点获取所述压缩格式的电子票据;根据所述数据结构体对获取的所述电子票据进行格式转换,得到目标电子票据。
16.一种票据数据处理装置,其特征在于,所述装置包括:
接收模块,用于接收服务商平台发送的票据申请请求;所述票据申请请求携带有压缩格式的目标票据数据;所述目标票据数据为对票据数据进行格式转换得到的;
处理模块,用于对所述目标票据数据生成电子票据和对应的票据标识码,并将所述电子票据与所述票据标识码进行关联,再确定所述电子票据对应的票据代码和票据号码,并通过加密算法对所述电子票据、所述票据标识码、所述票据代码和所述票据号码进行加密得到票据密文,以根据所述票据密文得到相应的待签名数据;
反馈模块,用于将所述待签名数据反馈至所述服务商平台;反馈的所述待签名数据用于指示所述服务商平台对所述待签名数据进行签名得到已签名串,对所述已签名串和所述待签名数据中的电子票据进行二次签名,得到签名数据;
验证模块,用于当所述服务商平台发送的签名数据通过验证时,将所述签名数据中的电子票据写入区块链;
发送模块,用于将所述电子票据对应的票据标识码发送至所述服务商平台。
17.根据权利要求16所述的装置,其特征在于,所述验证模块,还用于接收所述服务商平台发送的签名数据;通过所述服务商平台的公钥对所述签名数据进行解密,得到已签名串和电子票据;所述已签名串通过开票方私钥进行签名得到;通过所述开票方的公钥对所述已签名串解密;当所述已签名串解密成功时,则判定所述签名数据通过验证,并将所述签名数据中的电子票据写入区块链。
18.根据权利要求16或17所述的装置,其特征在于,所述装置还包括调用模块;
所述调用模块,用于接收所述服务商平台对结构体查询接口的调用请求;根据所述调用请求获取结构体数据包;将所述结构体数据包反馈至所述服务商平台;反馈的所述结构体数据包用于指示所述服务商平台确定数据结构体,并根据所述数据结构体对票据数据进行格式转换得到目标票据数据。
19.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述方法的步骤。
20.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910836404.7A CN110543510B (zh) | 2019-09-05 | 2019-09-05 | 票据数据处理方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910836404.7A CN110543510B (zh) | 2019-09-05 | 2019-09-05 | 票据数据处理方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110543510A CN110543510A (zh) | 2019-12-06 |
CN110543510B true CN110543510B (zh) | 2024-04-09 |
Family
ID=68712523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910836404.7A Active CN110543510B (zh) | 2019-09-05 | 2019-09-05 | 票据数据处理方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110543510B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111031356B (zh) * | 2019-12-23 | 2021-10-26 | 腾讯科技(深圳)有限公司 | 一种多媒体信息的处理方法、装置及服务器、存储介质 |
CN111461799B (zh) * | 2020-03-31 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及介质 |
CN111914033A (zh) * | 2020-08-17 | 2020-11-10 | 上海联恬信息技术有限公司 | 一种电子票据出票方法、装置、设备及存储介质 |
CN112291041B (zh) * | 2020-10-22 | 2022-05-27 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于fpga的数据解码装置、方法 |
CN112489742B (zh) * | 2020-11-24 | 2023-07-04 | 泰康保险集团股份有限公司 | 一种处方流转处理方法和装置 |
CN112560062B (zh) * | 2020-12-18 | 2023-09-22 | 深圳赛安特技术服务有限公司 | 处方签名的防伪方法、装置、电子设备及存储介质 |
CN112560072B (zh) * | 2021-02-18 | 2021-06-04 | 腾讯科技(深圳)有限公司 | 基于区块链的密钥管理方法、装置、介质及设备 |
CN115623087B (zh) * | 2022-11-21 | 2023-02-28 | 飞天诚信科技股份有限公司 | 一种解析pb格式流通数据的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033475A (zh) * | 2018-09-10 | 2018-12-18 | 湖南智慧政务区块链科技有限公司 | 一种文件存储方法、装置、设备及存储介质 |
CN109711839A (zh) * | 2018-12-13 | 2019-05-03 | 平安科技(深圳)有限公司 | 基于数据压缩的区块链存储方法、装置、设备和存储介质 |
CN110032581A (zh) * | 2019-01-18 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种基于区块链的业务文件存储方法及装置 |
CN110070443A (zh) * | 2019-04-23 | 2019-07-30 | 深圳前海微众银行股份有限公司 | 一种基于区块链的票据处理方法及装置 |
-
2019
- 2019-09-05 CN CN201910836404.7A patent/CN110543510B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033475A (zh) * | 2018-09-10 | 2018-12-18 | 湖南智慧政务区块链科技有限公司 | 一种文件存储方法、装置、设备及存储介质 |
CN109711839A (zh) * | 2018-12-13 | 2019-05-03 | 平安科技(深圳)有限公司 | 基于数据压缩的区块链存储方法、装置、设备和存储介质 |
CN110032581A (zh) * | 2019-01-18 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种基于区块链的业务文件存储方法及装置 |
CN110070443A (zh) * | 2019-04-23 | 2019-07-30 | 深圳前海微众银行股份有限公司 | 一种基于区块链的票据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110543510A (zh) | 2019-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110543510B (zh) | 票据数据处理方法、装置、存储介质和计算机设备 | |
CN109325812B (zh) | 关于电子票据的数据处理方法、装置、存储介质和设备 | |
US11501533B2 (en) | Media authentication using distributed ledger | |
CN108985757B (zh) | 信息处理方法、装置及系统、存储介质、电子设备 | |
CN107994991B (zh) | 一种数据处理方法、数据处理服务器及存储介质 | |
CN110493261B (zh) | 基于区块链的验证码获取方法、客户端、服务器及存储介质 | |
CN108123800B (zh) | 密钥管理方法、装置、计算机设备及存储介质 | |
CN109191272B (zh) | 关于电子票据的数据处理方法、装置、存储介质和设备 | |
CN110633963B (zh) | 电子票据处理方法、装置、计算机可读存储介质和设备 | |
CN110599266B (zh) | 电子票据数据处理方法、装置、计算机设备和存储介质 | |
US11546348B2 (en) | Data service system | |
CN111556120B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
EP3779792B1 (en) | Two-dimensional code generation method, data processing method, apparatus, and server | |
CN111314172B (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN112883015A (zh) | 区块链数据管理方法、设备及存储介质 | |
CN112308561A (zh) | 基于区块链的存证方法、系统、计算机设备和存储介质 | |
CN109741016B (zh) | 电子合同签订方法、装置、计算机设备和存储介质 | |
CN109711824B (zh) | 资源转移方法、装置、计算机设备和存储介质 | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
CN111523142B (zh) | 数据处理方法、装置、电子设备及介质 | |
US20170063555A1 (en) | Image Verification By An Electronic Device | |
CN111314066B (zh) | 基于区块链的数据转移方法、终端及计算机可读存储介质 | |
CN113609147B (zh) | 数据共享方法、装置及电子设备 | |
CN110597820A (zh) | 基于区块链的信息处理方法、装置、存储介质和设备 | |
CN113129008A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |