CN110599137A - 电子票据数据处理方法、装置和计算机设备 - Google Patents
电子票据数据处理方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN110599137A CN110599137A CN201910872708.9A CN201910872708A CN110599137A CN 110599137 A CN110599137 A CN 110599137A CN 201910872708 A CN201910872708 A CN 201910872708A CN 110599137 A CN110599137 A CN 110599137A
- Authority
- CN
- China
- Prior art keywords
- user
- request
- bill
- ticket
- user information
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000012795 verification Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种电子票据数据处理方法、装置和计算机设备。所述方法包括:接收开票请求,开票请求携带票据请求用户对应的用户信息以及签名数据,签名数据是票据请求用户对应的票据请求方设备根据私钥对用户信息进行签名得到的;响应于开票请求,生成对应的电子票据;根据签名数据以及用户信息进行验证;当验证通过时,确认票据请求用户已通过身份认证,将电子票据作为与用户信息关联的电子票据写入到数据区块中。采用本方法能够提高发票获取效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种电子票据数据处理方法、装置和计算机设备。
背景技术
发票是企业或个人在向消费者出售商品、提供服务或者从事其他经营活动时,为消费者提供的消费凭证。企业或个人在向消费者出售商品、提供服务或者从事其他经营活动时,应当开具发票并依法根据发票进行纳税。
然而,传统发票为纸质发票,发票获取者需要到相关部门领取,或者选择邮寄的方式获得发票,使得发票获取者获取发票的过程复杂,从而使得发票获取者获取发票耗时长,导致发票获取效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高发票获取效率的电子票据数据处理方法、装置和计算机设备。
一种电子票据数据处理方法,所述方法包括:接收开票请求,所述开票请求携带票据请求用户对应的用户信息以及签名数据,所述签名数据是所述票据请求用户对应的票据请求方设备根据私钥对所述用户信息进行签名得到的;响应于所述开票请求,生成对应的电子票据;根据所述签名数据以及所述用户信息进行验证;当验证通过时,确认所述票据请求用户已通过身份认证,将所述电子票据作为与所述用户信息关联的电子票据写入到数据区块中。
在一些实施例中,所述开票请求还携带所述票据请求用户对应的区块链账户地址和票据信息,所述生成对应的电子票据,包括:根据所述票据信息生成对应的电子票据;所述方法还包括:将所述区块链账户地址作为所述电子票据对应的接收账户地址。
一种电子票据数据处理装置,所述装置包括:开票请求接收模块,用于接收开票请求,所述开票请求携带票据请求用户对应的用户信息以及签名数据,所述签名数据是所述票据请求用户对应的票据请求方设备根据私钥对所述用户信息进行签名得到的;电子票据生成模块,用于响应于所述开票请求,生成对应的电子票据;验证模块,用于根据所述签名数据以及所述用户信息进行验证;电子票据写入模块,用于当验证通过时,确认所述票据请求用户已通过身份认证,将所述电子票据作为与所述用户信息关联的电子票据写入到数据区块中。
在一些实施例中,所述用户信息包括所述票据请求用户对应的请求用户标识,所述开票请求还携带票据信息;电子票据生成模块还用于根据所述票据信息生成对应的电子票据,其中,所述请求用户标识写入至所述电子票据中。
在一些实施例中,所述开票请求还携带所述票据请求用户对应的区块链账户地址和票据信息,电子票据生成模块还用于根据票据信息生成对应的电子票据;所述装置还用于将区块链账户地址作为电子票据对应的接收账户地址。
在一些实施例中,所述票据请求方设备为票据请求代理设备,所述开票请求还携带票据请求代理用户对应的代理用户标识;验证模块还用于获取所述代理用户标识对应的公钥,根据所述公钥对所述签名数据进行解密,得到解密后的特征值;将所述用户信息对应的特征值与所述解密后的特征值进行对比,当对比一致时,确定验证通过。
在一些实施例中,所述用户信息包括所述票据请求用户对应的请求用户标识,所述装置还用于存储所述请求用户标识与所述代理用户标识的对应关系;接收查询端发送的所述电子票据对应的用户信息查询请求;响应于所述用户信息查询请求,向所述查询端发送所述请求用户标识以及所述代理用户标识。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述电子票据数据处理方法的步骤。
上述电子票据数据处理方法、装置和计算机设备,通过接收携带票据请求用户对应的用户信息以及签名数据的开票请求,生成对应的电子票据,因此可以在区块链节点上完成发票的开具,大大降低了发票开具的成本,且提高了发票开具的效率。而且,根据签名数据以及用户信息进行验证,当验证通过时,确认票据请求用户已通过身份认证,因此保证了用户信息的正确性。进一步的,将电子票据作为与用户信息关联的电子票据写入到数据区块中,故可以获取与电子票据关联的用户信息,保证了在区块链中对电子票据关联的用户信息的追溯性。
一种电子票据数据处理方法,所述方法包括:获取票据请求用户对应的用户信息;获取私钥,根据所述私钥对所述用户信息进行签名,得到签名数据;向开票节点发送票据获取请求,所述票据获取请求携带所述用户信息以及所述签名数据;所述票据获取请求用于指示所述开票节点向区块链节点发送携带所述用户信息以及签名数据的开票请求,所述区块链节点响应于所述开票请求,生成对应的电子票据,根据所述签名数据以及所述用户信息进行验证,当验证通过时,确认所述票据请求用户已通过身份认证,将所述电子票据作为与所述用户信息关联的电子票据写入到数据区块中。
一种电子票据数据处理装置,所述装置包括:用户信息获取模块,用于获取票据请求用户对应的用户信息;签名数据得到模块,用于获取私钥,根据所述私钥对所述用户信息进行签名,得到签名数据;票据获取请求发送模块,用于向开票节点发送票据获取请求,所述票据获取请求携带所述用户信息以及所述签名数据;所述票据获取请求用于指示所述开票节点向区块链节点发送携带所述用户信息以及签名数据的开票请求,所述区块链节点响应于所述开票请求,生成对应的电子票据,根据所述签名数据以及所述用户信息进行验证,当验证通过时,确认所述票据请求用户已通过身份认证,将所述电子票据作为与所述用户信息关联的电子票据写入到数据区块中。
在一些实施例中,签名数据得到模块还用于对用户信息进行哈希计算,得到对应的特征值;根据私钥对特征值进行加密,得到签名数据。
在一些实施例中,所述电子票据数据处理方法由票据请求代理设备执行,所述装置还用于接收所述票据请求用户对应的用户设备发送的票据代理请求;票据获取请求发送模块还用于当确认所述票据请求用户为已通过身份认证的用户时,响应于所述票据代理请求,向开票节点发送票据获取请求。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述电子票据数据处理方法的步骤。
上述电子票据数据处理方法、装置和计算机设备,通过获取票据请求用户对应的用户信息,获取私钥,根据私钥对用户信息进行签名,得到签名数据,向开票节点发送携带用户信息以及签名数据票据获取请求,指示开票节点向区块链节点发送携带用户信息以及签名数据的开票请求,区块链节点响应于开票请求,生成对应的电子票据,因此可以在区块链节点上完成发票的开具,大大降低了发票开具的成本,且提高了发票开具的效率。而且,根据签名数据以及用户信息进行验证,当验证通过时,确认票据请求用户已通过身份认证,因此保证了用户信息的正确性。进一步的,将电子票据作为与用户信息关联的电子票据写入到数据区块中,故可以获取与电子票据关联的用户信息,保证了在区块链中对电子票据关联的用户信息的追溯性。
附图说明
图1为一些实施例中电子票据数据处理方法的应用场景图;
图2为一些实施例中电子票据数据处理方法的流程示意图;
图3为一些实施例中电子票据数据处理方法的流程示意图;
图4为一些实施例中电子票据数据处理方法的流程示意图;
图5为一些实施例中电子票据数据处理方法的流程示意图;
图6A为一些实施例中电子发票流转的示意图;
图6B为一些实施例中电子发票流转的示意图;
图7为一些实施例中电子票据数据处理装置的结构框图;
图8为一些实施例中电子票据数据处理装置的结构框图;
图9为一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的电子票据数据处理方法,可以应用于如图1所示的应用环境中。该应用环境包括区块链节点102a、开票节点104、票据请求代理设备106、用户设备108。区块链节点102a属于区块链网络,区块链网络中包括多个区块链节点,如102a、102b、102c和102d等,区块链节点间两两可以进行数据传递,即102a、102b和102c等之间可以两两进行数据传递。区块链节点102a是与开票节点104对应的区块链节点。开票节点104为开票方对应的服务器,可以为开票方自己的服务器,也可以是开票方委托的代理服务器。票据请求代理设备106可以为第三方代理商对应的代理服务器。用户设备108为票据请求代理设备106对应的用户的设备,可以是个人对应的终端,也可以是企业对应的管理终端。区块链节点102a与开票节点104通过网络进行通信,开票节点104与票据请求代理设备106通过网络进行通信,票据请求代理设备106与用户设备108通过网络进行通信。
具体地,票据请求代理设备106可以接收票据请求用户对应的用户设备108发送的票据代理请求,获取票据请求用户对应的用户信息;获取票据请求代理用户的私钥,根据票据请求代理用户的私钥对用户信息进行签名,得到签名数据;当确认票据请求用户为已通过身份认证的用户时,响应于票据代理请求,向开票节点104发送票据获取请求。开票节点104可以接收并响应票据获取请求,向区块链节点102a发送开票请求。区块链节点102a可以接收开票节点发送携带签名数据以及用户信息的开票请求,响应于开票请求,生成对应的电子票据,将电子票据作为与用户信息关联的电子票据写入到数据区块中。
可以理解,上述应用场景仅是一种示例,并不构成对本申请实施例提供的方法的限定,本申请实施例提供的方法还可以应用在其他场景中,例如,用户设备108可以不通过票据请求代理设备106代理获取票据,用户设备108可以直接向开票节点104申请获取票据。
其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
区块链节点是区块链网络中的一个数据处理节点。区块链网络是运行区块链技术的载体和组织方式。区块链技术(Blockchain Technology,BT),也被称为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据记录。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
在一些实施例中,如图2所示,提供了一种电子票据数据处理方法,以该方法应用于图1中的区块链节点102a为例进行说明,包括以下步骤:
S202,接收开票请求,开票请求携带票据请求用户对应的用户信息以及签名数据,签名数据是票据请求用户对应的票据请求方设备根据私钥对用户信息进行签名得到的。
具体地,开票请求用于请求开具电子票据,携带票据请求用户对应的用户信息以及签名数据。电子票据是电子化存储的票据,比如可存储于存储介质或计算机设备中,例如可以是电子发票。票据请求用户是请求获取票据的用户,例如可以是消费者,例如可以是消费个人或消费企业,当消费者进行消费后,通常需要获取发票,因此消费者可以利用对应的用户设备请求获取电子发票。用户信息是票据请求用户的信息,可以是票据请求用户对应的身份信息,例如可以是消费者的身份信息,可以包括姓名、年龄、证件号、银行账号、邮箱账号、即时通信应用账号等信息中的一种或多种。票据请求方设备为请求电子票据的设备,可以是票据请求用户的设备,也可以是票据请求用户对应的代理商的设备。签名数据为通过私钥对用户信息进行签名后得到的数据。私钥属于身份密钥,身份密钥包括私钥和公钥,由公钥加密的数据,可由私钥进行解密;由私钥加密的数据,可由公钥进行解密,因此私钥用于证明身份,公钥用于验证身份。例如,用票据请求用户对应的私钥加密的数据,可以由票据请求用户对应的私钥进行解密。
在一些实施例中,票据请求方设备可以是票据请求用户自己的设备。具体地,票据请求用户可以通过票据请求方设备向开票节点发送票据请求,以获取电子票据,开票节点接收该票据请求,响应于该票据请求,向区块链节点发送携带票据请求用户对应的用户信息以及签名数据的开票请求,区块链节点接收该开票请求。例如,票据请求方设备可以是消费者持有的设备,消费者可以通过持有的设备向开票方发送票据请求,以获取电子票据。
在一些实施例中,票据请求方设备可以是票据请求用户对应的票据请求代理设备。票据请求代理设备可以为拥有实名认证能力的第三方平台,例如可以是即时通信应用对应的服务器。票据请求代理设备应具备成熟的海量用户管理功能,可以代表用户领取电子票据,如代表消费者领取发票。
具体地,票据请求用户可以通过持有的用户设备向票据请求代理设备发送票据代理请求,以委托票据请求代理设备代替申请电子票据,票据请求代理设备接收用户设备发送的票据代理请求,响应于该票据代理请求,向开票节点发送携带用户信息以及签名数据的票据获取请求,以获取电子票据,开票节点可以接收并响应该票据获取请求,可以向区块链节点发送携带票据请求用户对应的用户信息以及签名数据的开票请求,区块链节点接收开票节点发送的开票请求。例如,票据请求放设备可以是消费者对应的代理服务器,消费者可以通过持有的设备中的即时通讯应用向对应的代理服务器(即时通讯服务器)发送票据代理请求,对应的代理服务器接收票据代理请求,响应于该票据代理请求,向开票方发送票据获取请求,以代替消费者获取电子票据。
在一些实施例中,票据请求代理设备可以提供用于触发票据代理请求的网页或客户端,例如即时通信应用,票据请求用户可以通过用户设备上的即时通信应用触发票据代理请求,用户设备可以将获取到的票据代理请求发送给对应的票据请求代理设备。其中,票据代理请求可以为发票代理请求。例如,即时通信应用对应的服务器可以提供用于触发发票代理请求的网页或客户端,当消费者在完成消费后,消费者可以通过对应的设备访问即时通信应用对应的服务器提供的用于触发发票代理请求的网页或客户端,触发发票代理请求,消费者持有的设备可以将获取到的发票代理请求发送给对应的票据请求代理设备。
在一些实施例中,签名数据可以是票据请求代理设备利用票据代理用户对应的私钥对用户信息进行签名后得到的,也可以是票据请求代理设备通过票据请求用户对应的私钥对用户信息进行签名后得到的。例如,可以对用户信息进行哈希计算,得到对应的信息摘要;根据私钥对信息摘要进行加密,得到签名数据。
在一些实施例中,票据请求用户可以通过向票据请求代理设备进行注册,以生成与其对应的身份密钥。具体地,票据请求代理设备可以为完成注册的票据请求用户生成对应的身份密钥,票据请求代理设备可以将生成的票据请求用户对应的身份密钥与对应的用户信息关联存储。例如,在第一次接收到票据代理请求时,如果票据请求用户不存在对应的身份密钥,则票据请求代理设备可以为该用户生成身份密钥。
S204,响应于开票请求,生成对应的电子票据。
具体地,区块链节点可以响应于开票节点发送的携带票据请求用户对应的用户信息以及签名数据的开票请求,生成与用户信息对应的电子票据。
在一些实施例中,开票请求携带经过开票节点对应的开票方对应的私钥进行签名得到的签名后的票据信息,区块链节点可以获取开票方对应的公钥,利用获取到的开票方对应的公钥对签名后的票据信息进行签名验证,以验证票据信息的真实性和可靠性。
S206,根据签名数据以及用户信息进行验证。
具体地,签名数据用于验证用户信息的真实性,得到签名数据和用户信息后,可以获取票据请求用户对应的公钥,利用票据请求用户对应的公钥对签名数据进行解密,得到解密后的信息摘要,并将用户信息进行哈希计算,得到哈希计算出的信息摘要,将哈希计算出的信息摘要与解密后的信息摘要进行对比,当对比一致时,确定验证通过。
在一些实施例中,用户信息包括票据请求用户对应的请求用户标识,区块链节点可以提取用户信息中的请求用户标识,并根据该请求用户标识获取与对应的票据请求用户对应的公钥。
在一些实施例中,票据请求方设备为票据请求代理设备,票据请求代理设备可以利用对应的票据请求代理用户的私钥对用户信息进行加密,得到与用户信息对应的签名数据,向开票节点发送携带用户信息以及签名数据的票据获取请求,开票节点可以响应该票据获取请求,并向开票节点对应的区块链节点发送携带该用户信息以及签名数据的开票请求,区块链节点可以提取开票请求中的用户信息以及签名数据,并获取票据请求代理用户的公钥,利用票据请求代理用户对应的公钥对签名数据进行解密,得到解密后的特征值,将用户信息对应的特征值与解密后的特征值进行对比,当对比一致时,确定验证通过。
在一些实施例中,开票请求还携带票据请求代理用户对应的代理用户标识,区块链节点可以提取开票请求中的代理用户标识,并根据该代理用户标识获取与对应的票据请求代理用户对应的公钥。
在一些实施例中,票据请求方设备为票据请求代理设备,票据请求代理设备可以利用票据请求用户的私钥对用户信息进行加密,得到第一签名数据,票据请求代理设备可以利用对应的票据请求代理用户的私钥对第一签名数据进行加密,得到第二签名数据,向开票节点发送携带用户信息以及第二签名数据的票据获取请求,开票节点可以响应该票据获取请求,并向开票节点对应的区块链节点发送携带该用户信息以及第二签名数据的开票请求,区块链节点可以提取开票请求中的用户信息以及第二签名数据,并获取票据请求用户的公钥以及票据请求代理用户的公钥,利用票据请求代理用户对应的公钥对第二签名数据进行解密,得到解密数据,使用票据请求用户的公钥对解密数据进行解密,得到解密后的特征值,将用户信息对应的特征值与解密后的特征值进行对比,当对比一致时,确定验证通过。
在一些实施例中,用户信息包括票据请求用户对应的请求用户标识,开票请求还可以携带票据请求代理用户对应的代理用户标识,区块链节点可以提取用户信息中的请求用户标识,提取开票请求中的代理用户标识,根据该请求用户标识获取与对应的票据请求用户对应的公钥,根据该代理用户标识获取与对应的票据请求代理用户对应的公钥。
S208,当验证通过时,确认票据请求用户已通过身份认证,将电子票据作为与用户信息关联的电子票据写入到数据区块中。
具体地,数据区块是区块链节点中用于存储数据的存储模块。区块链节点可以根据签名数据以及用户信息进行验证,由于票据代理设备需要确认票据请求用户已通过身份认证再响应票据代理请求,向开票节点发送携带签名数据的票据获取请求,因此当验证通过时,可以确认票据请求用户已通过身份认证,将电子票据作为与用户信息关联的电子票据写入到数据区块中。
上述电子票据数据处理方法中,通过接收携带票据请求用户对应的用户信息以及签名数据的开票请求,生成对应的电子票据,因此可以在区块链节点上完成发票的开具,大大降低了发票开具的成本,且提高了发票开具的效率。而且,根据签名数据以及用户信息进行验证,当验证通过时,确认票据请求用户已通过身份认证,因此保证了用户信息的正确性。进一步的,将电子票据作为与用户信息关联的电子票据写入到数据区块中,故可以获取与电子票据关联的用户信息,保证了在区块链中对电子票据关联的用户信息的追溯性。
在一些实施例中,用户信息包括票据请求用户对应的请求用户标识,开票请求还携带票据信息;生成对应的电子票据,包括:根据票据信息生成对应的电子票据,其中,请求用户标识写入至电子票据中。
具体地,请求用户标识用于唯一标识票据请求用户,可以是票据请求用户纳税人识别号、银行账号等,还可以是即时通信应用标识。票据信息指的是电子票据的信息,票据信息可以包括开票方标识、电子票据标识、接收方标识和资源转移份额。其中,电子票据标识用于唯一标识一张电子票据,具体可以包括电子票据的票据代码和票据号码。例如,电子票据标识可以为电子发票标识,用于唯一标识一张电子发票。可以包括电子发票的发票代码和发票号码。开票方标识是与发起开票请求的开票节点对应的标识,用于唯一标识开票节点,开票节点可以是销售企业,开票节点在向消费者出售商品、提供服务或从事其他经营活动时,需为消费者提供消费凭证,也就是电子票据。开票方标识可以是销售企业名称、销售企业的纳税人识别号或销售企业的开户账号等。接收方标识用于唯一标识电子票据接收方。接收方可以是消费者对应的报销方,报销方可以为个人或企业。当消费者在销售企业进行消费后,销售企业可为消费者提供消费凭证,也就是电子票据。接收方标识可以是报销方名称、报销方的纳税人识别号或报销方的开户账号等。资源转移份额是消费者消费的具体资源份额。
区块链节点可以提取用户信息中的票据请求用户对应的请求用户标识,根据请求用户标识以及票据信息生成对应的电子票据。请求用户标识是写入到电子票据中的,例如电子票据中可以包括消费者对应的消费者名称以及地址等信息。
上述申请实施例中,根据请求用户标识以及票据信息生成对应的电子票据,从而将请求用户标识写入至电子票据中,将请求用户标识与电子票据关联了起来,以便于根据电子票据查询到对应的请求用户标识,进而根据请求用户标识查询到对应的用户信息。
在一些实施例中,开票请求中还携带票据请求用户对应的区块链账户地址和票据信息;生成对应的电子票据,包括:根据票据信息生成对应的电子票据;电子票据数据处理方法还包括:将区块链账户地址作为电子票据对应的接收账户地址。
具体地,区块链账户地址可由公钥经过单向的加密哈希算法得到。哈希算法是一种单向函数,接收任意长度的输入产生指纹摘要。由公钥生成地址时使用的算法是SecureHash Algorithm(SHA)算法或者the RACE Integrity Primitives Evaluation MessageDigest(RIPEMD)算法,例如可以是SHA256或者RIPEMD160算法。
区块链节点可以提取票据请求用户对应的用户信息中的区块链账户地址,根据票据信息生成对应的电子票据,并将区块链账户地址作为电子票据对应的接收账户地址,将电子票据存储到区块链的数据区块中。
在一些实施例中,票据请求代理用户对应的票据请求代理设备可以为对应的票据请求用户生成区块链账户地址,并将区块链账户地址与对应的用户信息关联存储。票据请求代理设备向区块链节点发送的开票请求携带的用户信息可以包括票据请求用户的区块链账户地址,区块链节点根据开票请求携带的票据信息生成电子票据,可以将区块链账户地址作为电子票据对应的接收账户地址,将电子票据存储到区块链的数据区块中。
上述申请实施例中,将用户信息中的区块链账户地址作为电子票据对应的接收账户地址,将电子票据存储到区块链的数据区块中,从而使票据请求用户拥有了与自己对应的存储于数据区块中的电子票据,即消费者可以持有在区块链中存储的电子票据,可以对电子票据进行报销、转移。例如,消费者可以利用私钥对电子票据进行转移,将电子票据转移给对应的企业,从而完成发票的报销。
在一些实施例中,票据请求方设备为票据请求代理设备,开票请求还携带票据请求代理用户对应的代理用户标识,根据签名数据以及用户信息进行验证包括:获取代理用户标识对应的公钥,根据公钥对签名数据进行解密,得到解密后的特征值;将用户信息对应的特征值与解密后的特征值进行对比,当对比一致时,确定验证通过。
具体地,特征值可以是对用户信息进行哈希计算得到的信息摘要。票据请求代理设备可以对用户信息进行哈希计算得到信息摘要,利用对应的票据请求代理用户的私钥对信息摘要进行加密,得到与用户信息对应的签名数据,向开票节点发送携带用户信息以及签名数据的票据获取请求,开票节点可以响应该票据获取请求,并向开票节点对应的区块链节点发送携带该用户信息以及签名数据的开票请求,区块链节点可以提取开票请求中的用户信息以及签名数据,并获取票据请求代理用户的公钥,利用票据请求代理用户对应的公钥对签名数据进行解密,得到解密后的信息摘要,将用户信息对应的信息摘要与解密后的信息摘要进行对比,当对比一致时,确定验证通过。其中,票据请求代理用户可以对票据请求用户进行实名认证,例如可以获取用户对应的身份证图像,并对用户进行活体验证,以完成实名验证,获取用户对应的实名信息。
在一些实施例中,开票请求还携带票据请求代理用户对应的代理用户标识,区块链节点可以提取开票请求中的代理用户标识,并根据该代理用户标识获取与对应的票据请求代理用户对应的公钥。
在一些实施例中,当用户信息对应的特征值与解密后的特征值进行对比,当对不比一致时,区块链节点可以向开票节点发送验证未通过信息,以通知开票节点开票请求失败。
上述申请实施例中,通过利用票据请求代理用户的公钥对签名数据进行解密,可以确定签名数据来是由票据请求代理用户对应的票据请求代理设备发送的,而由于票据请求用户是通过票据请求代理设备实名认证的,从而验证了用户信息的正确性。
在一些实施例中,如图3所示,用户信息包括票据请求用户对应的请求用户标识,因此,在步骤S202~S206的基础上,该方法还包括:
S302,存储请求用户标识与代理用户标识的对应关系。
S304,接收查询端发送的电子票据对应的用户信息查询请求。
S306,响应于用户信息查询请求,向查询端发送请求用户标识以及代理用户标识。
具体地,查询端可以是具有查询电子票据对应的用户信息权限的机构对应的设备,例如可以是税局对应的设备。信息查询请求用于请求对电子票据对应的用户信息进行查询,可以携带电子票据标识,以获取电子票据对应的用户信息。
区块链节点可以存储请求用户标识与代理用户标识的对应关系,当查询端向区块链节点发送电子票据对应的用户信息查询请求时,区块链节点可以接收查询端发送的电子票据对应的用户信息查询请求,响应于该用户信息查询请求,根据用户信息查询请求携带的电子票据标识,获取对应的用户标识以及代理用户标识,并向查询端发送获取到的请求用户标识以及代理用户标识。例如,在国家有关部门进行虚开发票的查询时,国家有关部门的设备可以向存储有待审查电子发票的区块链节点发送用户信息查询请求,以获得与待审查电子发票有关的用户信息,例如,可以获取消费者信息、消费者对应的代理商的信息、销售方信或报销方信息等中的至少一种。
在一些实施例中,用户信息查询请求携带查询端的查询方标识,当区块链节点接收到查询端发送的电子票据对应的用户信息查询请求,区块链节点可以获取用户信息查询请求中的查询方标识,对获取到的查询方标识进行资格检查,以确定查询方标识对应的查询端是否有权利对待审查电子发票进行查询。
在一些实施例中,查询端可以根据获取到的请求用户标识以及代理用户标识得到对应的用户信息。具体地,查询端根据获取到的代理用户标识,查询到代理用户标识对应的票据请求代理用户,可以从票据请求代理用户对应的票据请求代理设备中获取与获取到的用户标识对应的用户实名信息。
在一些实施例中,当查询得到请求用户标识以及代理用户标识后,查询端可以根据代理用户标识向对应的票据请求代理设备发送用户实名信息获取请求,用户实名信息获取请求携带请求用户标识,当票据请求代理设备接收到查询端发送的用户实名信息获取请求时,可以响应于该用户实名信息获取请求,提取用户信息获取请求中的请求用户标识,根据提取到的请求用户标识,获取对应的用户实名信息,并返回给查询端。实名信息可以包括姓名以及身份证号。
上述申请实施例中,区块链节点通过存储请求用户标识与代理用户标识的对应关系,使得查询端可以根据电子票据获取对应的用户标识以及代理用户标识,在代理用户标识对应的服务器中查找到用户对应的详细信息,例如身份证号以及姓名等,从而使得区块链节点在不需要存储大量的用户信息减轻了区块链节点的负担,而且还可以对票据相关的用户的信息进行追溯。
在一些实施例中,如图4所示,提供了一种电子票据数据处理方法,以该方法应用于图1中的票据请求代理设备106或者用户设备108为例进行说明,包括以下步骤:
S402,获取票据请求用户对应的用户信息。
具体地,票据请求代理设备可以获取票据请求用户对应的用户信息。票据请求代理设备可以将通过实名认证的票据请求用户对应的用户信息与票据请求用户对应的请求用户标识关联存储,当需要用户信息时,票据请求代理设备可以从存储的用户信息中获取票据请求用户对应的用户信息。其中,用户信息对应有请求用户标识,可以根据请求用户标识获取对应的用户信息。
在一些实施例中,当票据请求代理设备接收到票据请求用户对应的用户设备发送的票据代理请求,可以获取票据请求用户对应的用户信息,并对用户信息进行检查,例如检查该用户信息是否包括区块链账户地址,以确定是否响应该票据请求用户的票据代理请求。
S404,获取私钥,根据私钥对用户信息进行签名,得到签名数据。
具体地,票据请求代理设备可以获取私钥,根据私钥对用户信息进行签名,得到签名数据,其中私钥可以是票据请求代理设备对应的票据请求代理用户对应的私钥,也可以是票据请求用户对应的私钥。
在一些实施例中,票据请求代理设备接收票据请求用户对应的用户设备发送的票据代理请求,获取票据请求用户对应的用户信息,获取票据请求代理用户对应的私钥或者票据请求用户对应的私钥,根据私钥对获取到的用户信息进行签名,得到签名数据。
在一些实施例中,票据请求代理设备可以获取票据请求代理用户对应的私钥或者票据请求用户对应的私钥,根据私钥对用户信息进行签名,得到签名数据,并将得到签名数据与对应的用户信息关联存储。
S406,向开票节点发送票据获取请求,票据获取请求携带用户信息以及签名数据。
具体地,票据获取请求用于指示开票节点向区块链节点发送携带用户信息以及签名数据的开票请求,区块链节点响应于开票请求,生成对应的电子票据,根据签名数据以及用户信息进行验证,当验证通过时,确认票据请求用户已通过身份认证,将电子票据作为与用户信息关联的电子票据写入到数据区块中。
在一些实施例中,票据请求用户对应的用户设备可以向票据请求代理设备发送请求,触发票据请求代理设备向开票节点发送携带用户信息以及签名数据的票据获取请求。开票节点可以接收并响应于该票据获取请求,向区块链节点发送携带用户信息以及签名数据的开票请求,区块链节点响应于开票请求,生成对应的电子票据,根据签名数据以及用户信息进行验证,当验证通过时,确认票据请求用户已通过身份认证,将电子票据作为与用户信息关联的电子票据写入到数据区块中。
在一些实施例中,区块链节点可以将电子票据反馈给开票节点,开票节点将电子票据反馈给票据请求代理设备,消费者可以通过用户设备,登录票据请求代理设备提供的用于查询电子票据的网页或客户端,查询电子票据。票据请求代理设备可以向用户设备发送电子票据获取成功信息,以提醒对应的用户电子票据已成功获取。
上述电子票据数据处理方法,通过获取票据请求用户对应的用户信息,获取私钥,根据私钥对用户信息进行签名,得到签名数据,向开票节点发送携带用户信息以及签名数据票据获取请求,指示开票节点向区块链节点发送携带用户信息以及签名数据的开票请求,区块链节点响应于开票请求,生成对应的电子票据,因此可以在区块链节点上完成发票的开具,大大降低了发票开具的成本,且提高了发票开具的效率。而且,根据签名数据以及用户信息进行验证,当验证通过时,确认票据请求用户已通过身份认证,因此保证了用户信息的正确性。进一步的,将电子票据作为与用户信息关联的电子票据写入到数据区块中,故可以获取与电子票据关联的用户信息,保证了在区块链中对电子票据关联的用户信息的追溯性。
在一些实施例中,电子票据数据处理方法由票据请求代理设备执行,该方法还包括:接收票据请求用户对应的用户设备发送的票据代理请求;向开票节点发送票据获取请求,包括:当确认票据请求用户为已通过身份认证的用户时,响应于票据代理请求,向开票节点发送票据获取请求。
具体地,票据请求代理设备接收票据请求用户对应的用户设备发送的票据代理请求,票据请求代理设备可以根据该票据代理请求,检查票据请求用户是否已通过了身份认证,当确认票据请求用户为已通过身份认证的用户时,响应于票据代理请求,向开票节点发送票据获取请求。当确认票据请求用户为未通过身份认证的用户时,则可以对用户进行身份验证。身份验证是指通过实名验证,例如用户已上传对应的身份证件,并审核通过。
在一些实施例中,票据代理请求可以携带票据请求用户对应的请求用户标识,票据请求代理设备可以提取票据代理请求中的请求用户标识,根据提取到的请求用户标识获取预先存储的与该请求用户标识对应的用户信息,根据用户信息判断票据请求用户是否已通过了身份认证。例如,可以根据用户信息中是否包含身份信息来确定判断票据请求用户是否已通过了身份认证,其中,身份信息可以是身份证号码以及姓名等。如果存在,响应于票据代理请求,向开票节点发送票据获取请求,如果不存在,则可以向票据请求用户对应的用户设备返回身份认证提示信息,提示票据请求用户完成身份认证。
上述申请实施例中,票据请求代理设备接收票据请求用户对应的用户设备发送的票据代理请求,当确认票据请求用户为已通过身份认证的用户时,响应于票据代理请求,向开票节点发送票据获取请求,从而保证了票据获取请求的真实性和合法性。
在一些实施例中,根据私钥对用户信息进行签名,得到签名数据包括:对用户信息进行哈希计算,得到对应的特征值;根据私钥对特征值进行加密,得到签名数据。
在一个些实施例中,如图5所示,电子票据数据处理方法包括以下步骤:
S502,用户设备向票据请求代理设备发送票据代理请求。
S504,票据请求代理设备接收用户设备发送的票据代理请求,获取用户设备对应的票据请求用户对应的用户信息。
S506,当确认票据请求用户为已通过身份认证的用户时,票据请求代理设备获取票据请求代理设备对应的票据请求代理用户的私钥,根据该私钥对用户信息进行签名,得到签名数据。
S508,票据请求代理设备响应于票据代理请求,向开票节点发送票据获取请求。
具体地,票据获取请求可以携带用户信息、区块链账户地址、票据信息以及签名数据。
S510,开票节点接收票据请求代理设备发送的票据获取请求,响应于票据获取请求,向区块链节点发送携带区块链账户地址、用户信息、票据信息以及签名数据的开票请求。
S512,区块链节点接收并响应于开票节点发送的开票请求,根据票据信息生成对应的电子票据,其中,请求用户标识写入至电子票据。
S514,区块链节点根据签名数据以及用户信息进行验证,当确定验证通过时,将用户信息中的区块链账户地址作为电子票据对应的接收账户地址,将电子票据存储到区块链的数据区块中。
S516,区块链节点存储请求用户标识与代理用户标识的对应关系。
S518,区块链节点接收查询端发送的电子票据对应的用户信息查询请求。
S520,区块链节点响应于用户信息查询请求,向查询端发送所述请求用户标识以及代理用户标识。
上述申请实施例中,通过票据请求用户拥有区块链账户地址,并将对应的用户信息中的区块链账户地址作为电子票据对应的接收账户地址,将电子票据存储到区块链的数据区块中,从而将票据请求用户作为区块链的一类资产持有方,并实现了在发票信息中引入实名用户信息,为查询端查询与电子票据有关的用户信息提供了极大的方便。
举例说明,如图6所示,示出了一个电子发票流转的示意图。参照图6A,其中代理服务商可以为票据请求代理用户。由图6A可知参与到区块链电子发票生态的角色主要有四个,分别是税局、开票企业、消费者和报销企业。这四类角色都会拥有区块链的地址和公私钥,也是拥有区块链资产的实体。图6A将消费者作为一个重要角色加入了电子发票流转过程当中。
具体地,税局服务器获取制定的开票智能合约、发行资产智能合约和禁止开票智能合约,将制定的开票智能合约、发行资产智能合约和禁止开票智能合约发送到区块链节点中,区块链节点将开票智能合约、发行资产智能合约和禁止开票智能合约部署到区块链中。其中,一张发票为一个资产。开票企业节点向区块链节点发送开票请求,区块链节点根据开票请求,当满足智能合约时,将电子发票写入区块中。消费者可以从区块链中查找到对应的电子发票,将电子发票在报销企业区块链节点进行报销。报销企业区块链节点在对电子发票报销完成后,还会将已报销的电子发票发送到税局区块链节点进行报税,完成电子发票的流转。
消费者作为区块链的一个角色,拥有对应的地址信息,当持有发票时,相当于持有区块链的资产。由于区块链的防篡改可追溯特性决定了一旦上链,消费者就不能抵赖。传统发票生态由于只有销方购方两方面的信息,如果销方购方联合虚开发票以骗取国家减免税收,调查难度会比较大。如果引入实名消费者信息,这种情况虚开发票成本会变大,一方面,虚开发票时,需要实名消费者参与,参与人数越多开票成本就越高;另一方面,消费者的信息与发票关联存储到区块链中,由于可以查询得到该发票对应的消费者的信息,因此会对消费者产生震慑作用,减少虚开发票的情况发生。
然而,由于开发票的实名消费者是一个海量信息,如果直接在区块链电子发票系统管理全部实名消费者,将会是技术上的大挑战。现如今社会有很多拥有实名认证的第三方平台,并且也都有开发票务功能,例如即时通信应用平台。因此,可以借助这样的第三方平台来管理实名消费者,借助成熟的第三方平台来完善实名消费者管理。
参照图6B,其中,代理服务商可以对消费者进行实名认证,管理消费者的信息,并且可以与区块链进行数据通信。由于个人消费者或者规模较小的企业通常没有能力接入区块链中,因此实现在区块链电子发票引入实名消费者信息可以借助于代理服务商。消费者可以通过代理服务商来向开票企业申请发票,当开票企业生成消费者对应的发票并写入区块链中后,消费者可以通过代理服务商对应的节点从区块链中查找到对应的电子发票,将电子发票转移到报销企业对应的账户地址,以完成发票的报销。当报销完成后,报销企业的设备可以将电子发票转移到税局对应的账户,以完成报税,从而完成电子发票的流转。代理服务商可以将消费者的信息发送给开票企业节点,开票企业节点可以将消费者的实名信息写入电子发票中。因此通过引入代理服务商,实现在区块链电子发票引入实名消费者信息。
应该理解的是,虽然上述各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一些实施例中,如图7所示,提供了一种电子票据数据处理装置,包括:
开票请求接收模块702,用于接收开票请求,开票请求携带票据请求用户对应的用户信息以及签名数据,签名数据是票据请求用户对应的票据请求方设备根据私钥对用户信息进行签名得到的。
电子票据生成模块704,用于响应于开票请求,生成对应的电子票据。
验证模块706,用于根据签名数据以及用户信息进行验证。
电子票据写入模块708,用于当验证通过时,确认票据请求用户已通过身份认证,将电子票据作为与用户信息关联的电子票据写入到数据区块中。
在一些实施例中,用户信息包括票据请求用户对应的请求用户标识,开票请求还携带票据信息;电子票据生成模块704还用于根据票据信息生成对应的电子票据,其中,请求用户标识写入至电子票据中。
在一些实施例中,开票请求还包括票据请求用户对应的区块链账户地址和票据信息,电子票据生成模块704还用于根据票据信息生成对应的电子票据;电子票据写入模块708还用于将区块链账户地址作为电子票据对应的接收账户地址,将电子票据存储到区块链的数据区块中。
在一些实施例中,票据请求方设备为票据请求代理设备,开票请求还携带票据请求代理用户对应的代理用户标识;验证模块706还用于获取代理用户标识对应的公钥,根据公钥对签名数据进行解密,得到解密后的特征值;将用户信息对应的特征值与解密后的特征值进行对比,当对比一致时,确定验证通过。
在一些实施例中,用户信息包括票据请求用户对应的请求用户标识,该装置还用于存储请求用户标识与代理用户标识的对应关系;接收查询端发送的电子票据对应的用户信息查询请求;响应于用户信息查询请求,向查询端发送请求用户标识以及代理用户标识。
在一些实施例中,如图8所示,提供了一种电子票据数据处理装置,包括:
用户信息获取模块802,用于获取票据请求用户对应的用户信息。
签名数据得到模块804,用于获取私钥,根据私钥对用户信息进行签名,得到签名数据。
票据获取请求发送模块806,用于向开票节点发送票据获取请求,票据获取请求携带用户信息以及签名数据;所述票据获取请求用于指示所述开票节点向区块链节点发送携带所述用户信息以及签名数据的开票请求,所述区块链节点响应于所述开票请求,生成对应的电子票据,根据所述签名数据以及所述用户信息进行验证,当验证通过时,确认所述票据请求用户已通过身份认证,将所述电子票据作为与所述用户信息关联的电子票据写入到数据区块中。
在一些实施例中,签名数据得到模块804还用于对用户信息进行哈希计算,得到对应的特征值;根据私钥对特征值进行加密,得到签名数据。
在一些实施例中,电子票据数据处理方法由票据请求代理设备执行,该装置还用于接收票据请求用户对应的用户设备发送的票据代理请求;票据获取请求发送模块806还用于当确认票据请求用户为已通过身份认证的用户时,响应于票据代理请求,向开票节点发送票据获取请求。
关于电子票据数据处理装置的具体限定可以参见上文中对于电子票据数据处理方法的限定,在此不再赘述。上述电子票据数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种电子票据数据处理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,本申请提供的电子票据数据处理装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该电子票据数据处理装置的各个程序模块,比如,图7所示的电子票据数据处理装置中的开票请求接收模块702、电子票据生成模块704、验证模块706和电子票据写入模块708;图8所示的电子票据数据处理装置中的用户信息获取模块802、签名数据得到模块804和票据获取请求发送模块806。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的电子票据数据处理方法中的步骤。
例如,图9所示的计算机设备可以通过如图7所示的电子票据数据处理装置中开票请求接收模块702接收开票请求,开票请求携带票据请求用户对应的用户信息以及签名数据,签名数据是票据请求用户对应的票据请求方设备根据私钥对用户信息进行签名得到的。计算机设备可通过电子票据生成模块704响应于开票请求,生成对应的电子票据。计算机设备可通过验证模块706根据签名数据以及用户信息进行验证。计算机设备可通过电子票据写入模块708当验证通过时,确认票据请求用户已通过身份认证,将电子票据作为与用户信息关联的电子票据写入到数据区块中。
例如,图9所示的计算机设备可以通过如图8所示的电子票据数据处理装置中的用户信息获取模块802获取票据请求用户对应的用户信息。计算机设备可通过签名数据得到模块804获取私钥,根据私钥对用户信息进行签名,得到签名数据。计算机设备可通过票据获取请求发送模块806向开票节点发送票据获取请求,票据获取请求携带用户信息以及签名数据;所述票据获取请求用于指示所述开票节点向区块链节点发送携带所述用户信息以及签名数据的开票请求,所述区块链节点响应于所述开票请求,生成对应的电子票据,根据所述签名数据以及所述用户信息进行验证,当验证通过时,确认所述票据请求用户已通过身份认证,将所述电子票据作为与所述用户信息关联的电子票据写入到数据区块中。
在一些实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述电子票据数据处理方法的步骤。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述电子票据数据处理方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (10)
1.一种电子票据数据处理方法,其特征在于,所述方法包括:
接收开票请求,所述开票请求携带票据请求用户对应的用户信息以及签名数据,所述签名数据是所述票据请求用户对应的票据请求方设备根据私钥对所述用户信息进行签名得到的;
响应于所述开票请求,生成对应的电子票据;
根据所述签名数据以及所述用户信息进行验证;
当验证通过时,确认所述票据请求用户已通过身份认证,将所述电子票据作为与所述用户信息关联的电子票据写入到数据区块中。
2.根据权利要求1所述的方法,其特征在于,所述用户信息包括所述票据请求用户对应的请求用户标识,所述开票请求还携带票据信息;所述生成对应的电子票据,包括:
根据所述票据信息生成对应的电子票据,其中,所述请求用户标识写入至所述电子票据中。
3.根据权利要求1至2任一项权利要求所述的方法,其特征在于,所述票据请求方设备为票据请求代理设备,所述开票请求还携带票据请求代理用户对应的代理用户标识;所述根据所述签名数据以及所述用户信息进行验证包括:
获取所述代理用户标识对应的公钥,根据所述公钥对所述签名数据进行解密,得到解密后的特征值;
将所述用户信息对应的特征值与所述解密后的特征值进行对比,当对比一致时,确定验证通过。
4.根据权利要求3所述的方法,其特征在于,所述用户信息包括所述票据请求用户对应的请求用户标识,所述方法还包括:
存储所述请求用户标识与所述代理用户标识的对应关系;
接收查询端发送的所述电子票据对应的用户信息查询请求;
响应于所述用户信息查询请求,向所述查询端发送所述请求用户标识以及所述代理用户标识。
5.一种电子票据数据处理方法,其特征在于,所述方法包括:
获取票据请求用户对应的用户信息;
获取私钥,根据所述私钥对所述用户信息进行签名,得到签名数据;
向开票节点发送票据获取请求,所述票据获取请求携带所述用户信息以及所述签名数据;
所述票据获取请求用于指示所述开票节点向区块链节点发送携带所述用户信息以及签名数据的开票请求,所述区块链节点响应于所述开票请求,生成对应的电子票据,根据所述签名数据以及所述用户信息进行验证,当验证通过时,确认所述票据请求用户已通过身份认证,将所述电子票据作为与所述用户信息关联的电子票据写入到数据区块中。
6.根据权利要求5所述的方法,其特征在于,所述电子票据数据处理方法由票据请求代理设备执行,所述方法还包括:
接收所述票据请求用户对应的用户设备发送的票据代理请求;
所述向开票节点发送票据获取请求,包括:
当确认所述票据请求用户为已通过身份认证的用户时,响应于所述票据代理请求,向开票节点发送票据获取请求。
7.根据权利要求5所述的方法,其特征在于,所述根据所述私钥对所述用户信息进行签名,得到签名数据包括:
对所述用户信息进行哈希计算,得到对应的特征值;
根据所述私钥对所述特征值进行加密,得到签名数据。
8.一种电子票据数据处理装置,其特征在于,所述装置包括:
开票请求接收模块,用于接收开票请求,所述开票请求携带票据请求用户对应的用户信息以及签名数据,所述签名数据是所述票据请求用户对应的票据请求方设备根据私钥对所述用户信息进行签名得到的;
电子票据生成模块,用于响应于所述开票请求,生成对应的电子票据;
验证模块,用于根据所述签名数据以及所述用户信息进行验证;
电子票据写入模块,用于当验证通过时,确认所述票据请求用户已通过身份认证,将所述电子票据作为与所述用户信息关联的电子票据写入到数据区块中。
9.一种电子票据数据处理装置,其特征在于,所述装置包括:
用户信息获取模块,用于获取票据请求用户对应的用户信息;
签名数据得到模块,用于获取私钥,根据所述私钥对所述用户信息进行签名,得到签名数据;
票据获取请求发送模块,用于向开票节点发送票据获取请求,所述票据获取请求携带所述用户信息以及所述签名数据;
所述票据获取请求用于指示所述开票节点向区块链节点发送携带所述用户信息以及签名数据的开票请求,所述区块链节点响应于所述开票请求,生成对应的电子票据,根据所述签名数据以及所述用户信息进行验证,当验证通过时,确认所述票据请求用户已通过身份认证,将所述电子票据作为与所述用户信息关联的电子票据写入到数据区块中。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910872708.9A CN110599137A (zh) | 2019-09-16 | 2019-09-16 | 电子票据数据处理方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910872708.9A CN110599137A (zh) | 2019-09-16 | 2019-09-16 | 电子票据数据处理方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110599137A true CN110599137A (zh) | 2019-12-20 |
Family
ID=68859912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910872708.9A Pending CN110599137A (zh) | 2019-09-16 | 2019-09-16 | 电子票据数据处理方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110599137A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062766A (zh) * | 2019-12-20 | 2020-04-24 | 中国银联股份有限公司 | 一种基于区块链的电子发票的开具方法及装置 |
CN111127021A (zh) * | 2019-12-31 | 2020-05-08 | 支付宝(杭州)信息技术有限公司 | 基于区块链的服务请求方法及装置 |
CN111178995A (zh) * | 2019-12-31 | 2020-05-19 | 航天信息股份有限公司企业服务分公司 | 一种基于云端票据系统进行票据处理的方法及系统 |
CN111241557A (zh) * | 2019-12-31 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 基于区块链的服务请求方法及装置 |
CN111325586A (zh) * | 2020-01-22 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 基于区块链网络的票据代开方法、装置、服务器及介质 |
CN111461799A (zh) * | 2020-03-31 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及介质 |
CN111476617A (zh) * | 2020-04-03 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及介质 |
CN111489211A (zh) * | 2020-03-31 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 一种开票处理方法、装置以及介质 |
CN111932326A (zh) * | 2020-08-17 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据处理方法及相关设备 |
CN112149077A (zh) * | 2020-10-12 | 2020-12-29 | 杭州云链趣链数字科技有限公司 | 基于区块链技术的供应链票据方法、系统和计算机设备 |
CN112199694A (zh) * | 2020-09-30 | 2021-01-08 | 杭州云链趣链数字科技有限公司 | 标准化票据的处理方法、装置、电子装置和存储介质 |
CN112288434A (zh) * | 2020-11-20 | 2021-01-29 | 网易(杭州)网络有限公司 | 隐私交易方法、装置、零知识证明系统和隐私交易架构模型 |
CN113177815A (zh) * | 2021-04-12 | 2021-07-27 | 上海速元信息技术有限公司 | 基于边缘计算的电子发票开具方法、系统、设备及介质 |
CN113743932A (zh) * | 2020-05-28 | 2021-12-03 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108830600A (zh) * | 2018-06-19 | 2018-11-16 | 方欣科技有限公司 | 一种基于区块链的电子发票系统及实现方法 |
CN109034924A (zh) * | 2018-08-16 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 电子票据生成方法、装置、存储介质和计算机设备 |
CN109165957A (zh) * | 2018-08-14 | 2019-01-08 | 海南高灯科技有限公司 | 基于区块链的发票数据报销方法、系统及相关设备 |
CN109191272A (zh) * | 2018-08-17 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
-
2019
- 2019-09-16 CN CN201910872708.9A patent/CN110599137A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108830600A (zh) * | 2018-06-19 | 2018-11-16 | 方欣科技有限公司 | 一种基于区块链的电子发票系统及实现方法 |
CN109165957A (zh) * | 2018-08-14 | 2019-01-08 | 海南高灯科技有限公司 | 基于区块链的发票数据报销方法、系统及相关设备 |
CN109034924A (zh) * | 2018-08-16 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 电子票据生成方法、装置、存储介质和计算机设备 |
CN109191272A (zh) * | 2018-08-17 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062766A (zh) * | 2019-12-20 | 2020-04-24 | 中国银联股份有限公司 | 一种基于区块链的电子发票的开具方法及装置 |
CN111241557A (zh) * | 2019-12-31 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 基于区块链的服务请求方法及装置 |
CN111178995A (zh) * | 2019-12-31 | 2020-05-19 | 航天信息股份有限公司企业服务分公司 | 一种基于云端票据系统进行票据处理的方法及系统 |
CN111127021A (zh) * | 2019-12-31 | 2020-05-08 | 支付宝(杭州)信息技术有限公司 | 基于区块链的服务请求方法及装置 |
CN111127021B (zh) * | 2019-12-31 | 2020-10-30 | 蚂蚁区块链科技(上海)有限公司 | 基于区块链的服务请求方法及装置 |
CN111178995B (zh) * | 2019-12-31 | 2023-12-01 | 航天信息股份有限公司企业服务分公司 | 一种基于云端票据系统进行票据处理的方法及系统 |
CN112669147B (zh) * | 2019-12-31 | 2023-09-26 | 蚂蚁区块链科技(上海)有限公司 | 基于区块链的服务请求方法及装置 |
CN111241557B (zh) * | 2019-12-31 | 2023-04-07 | 蚂蚁区块链科技(上海)有限公司 | 基于区块链的服务请求方法及装置 |
CN112669147A (zh) * | 2019-12-31 | 2021-04-16 | 蚂蚁区块链科技(上海)有限公司 | 基于区块链的服务请求方法及装置 |
CN111325586A (zh) * | 2020-01-22 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 基于区块链网络的票据代开方法、装置、服务器及介质 |
CN111325586B (zh) * | 2020-01-22 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 基于区块链网络的票据代开方法、装置、服务器及介质 |
CN111461799B (zh) * | 2020-03-31 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及介质 |
CN111461799A (zh) * | 2020-03-31 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及介质 |
CN111489211A (zh) * | 2020-03-31 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 一种开票处理方法、装置以及介质 |
CN111476617A (zh) * | 2020-04-03 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及介质 |
CN111476617B (zh) * | 2020-04-03 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及介质 |
CN113743932A (zh) * | 2020-05-28 | 2021-12-03 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
CN113743932B (zh) * | 2020-05-28 | 2024-04-19 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
CN111932326A (zh) * | 2020-08-17 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据处理方法及相关设备 |
CN111932326B (zh) * | 2020-08-17 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据处理方法及相关设备 |
CN112199694A (zh) * | 2020-09-30 | 2021-01-08 | 杭州云链趣链数字科技有限公司 | 标准化票据的处理方法、装置、电子装置和存储介质 |
CN112149077A (zh) * | 2020-10-12 | 2020-12-29 | 杭州云链趣链数字科技有限公司 | 基于区块链技术的供应链票据方法、系统和计算机设备 |
CN112288434A (zh) * | 2020-11-20 | 2021-01-29 | 网易(杭州)网络有限公司 | 隐私交易方法、装置、零知识证明系统和隐私交易架构模型 |
CN112288434B (zh) * | 2020-11-20 | 2023-07-25 | 网易(杭州)网络有限公司 | 隐私交易方法、装置、零知识证明系统和隐私交易架构模型 |
CN113177815A (zh) * | 2021-04-12 | 2021-07-27 | 上海速元信息技术有限公司 | 基于边缘计算的电子发票开具方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110599137A (zh) | 电子票据数据处理方法、装置和计算机设备 | |
CN110599266B (zh) | 电子票据数据处理方法、装置、计算机设备和存储介质 | |
US11063770B1 (en) | Data authorization based on decentralized identifiers | |
CN109255084B (zh) | 电子票据查询方法、装置、存储介质和计算机设备 | |
US20210091960A1 (en) | Tracking and verification of physical assets | |
CN110378755B (zh) | 电子发票生成方法、装置、计算机设备和存储介质 | |
CN110519297B (zh) | 一种基于区块链私钥的数据处理方法以及设备 | |
CN110633963B (zh) | 电子票据处理方法、装置、计算机可读存储介质和设备 | |
CN110597837B (zh) | 业务数据处理方法、装置、存储介质和计算机设备 | |
CN111080295A (zh) | 一种基于区块链的电子合同处理方法以及设备 | |
CN110602116B (zh) | 基于区块链的数据验证方法、装置和计算机可读存储介质 | |
CN109191272A (zh) | 关于电子票据的数据处理方法、装置、存储介质和设备 | |
CN112804218B (zh) | 基于区块链的数据处理方法、装置、设备及储存介质 | |
CN110609846B (zh) | 基于区块链的履约保函处理方法、装置和计算机设备 | |
CN110599270B (zh) | 电子票据生成方法、装置和计算机设备 | |
CN110599357A (zh) | 基于区块链的保险业务数据处理方法、装置和存储介质 | |
JP6504639B1 (ja) | サービス提供システムおよびサービス提供方法 | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
CN111292174A (zh) | 一种纳税信息处理方法、装置及计算机可读存储介质 | |
CN110223159A (zh) | 授信数据查询方法、装置、计算机设备和存储介质 | |
CN113010861B (zh) | 一种基于区块链的融资事务中的身份验证方法和系统 | |
CN111127205A (zh) | 智能合约生成方法、装置、计算机设备和存储介质 | |
CN112149077B (zh) | 基于区块链技术的供应链票据方法、系统和计算机设备 | |
CN111131234A (zh) | 供应链中智能合约数据处理方法、装置和计算机设备 | |
CN110597834A (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 |