票据数据处理方法和系统技术方案

技术编号:22080866 阅读:25 留言:0更新日期:2019-09-12 15:57
本申请涉及过程优化技术,提供了一种票据数据处理方法和系统。该方法包括:开票方设备获取票据标识对应的初始票据数据和初始票据数据对应的版本号,并将获取的版本号作为第一版本号;开票方设备通过用户操作界面将初始票据数据展示给开票方操作员,并实时检测开票方操作员针对初始票据数据触发的票据数据提交指令;当检测到票据数据提交指令时,开票方设备获取开票方操作员针对初始票据数据预录入的票据修改数据,并从区块链节点中查找与票据标识对应的当前最新的版本号,作为第二版本号;当第一版本号与第二版本号一致时,开票方设备将票据修改数据借助于区块链节点写入区块链中。采用本方法能够提高票据数据的处理效率。

Bill Data Processing Method and System

【技术实现步骤摘要】
票据数据处理方法和系统
本申请涉及数据处理
,特别是涉及一种票据数据处理方法和系统。
技术介绍
票据是指销售方在销售商品、提供服务或从事其他经营活动中,销售方作为开票方为消费方提供的消费凭证。随着票据数量的不断增加,以及人们对于票据数据的安全性、真实性和可靠性要求的不断提高,逐渐出现了从数据库存储票据数据到区块链存储票据数据的转变,提高了票据数据的篡改难度,提高了票据数据的安全性、真实性和可靠性。目前,开票方操作员将票据数据写入区块链时会在数据库中更新存储该票据数据和相应的数据版本号。开票方操作员在修改票据数据时,通常从数据库中获取待修改的票据数据,将修改后的票据数据写入区块链中,并对应更新存储于数据库中。为了避免因多个开票方操作员同时修改同一票据数据而导致的票据数据出错的问题,通常会采用悲观锁来对票据数据的修改进行并发控制。然而,当采用悲观锁时,各开票方设备需循环抢占同一票据数据对应的数据库锁,只有抢占到数据库锁的开票方设备能够查询和修改票据数据,循环抢占数据库锁的方式增加了计算机资源的耗费,降低票据数据的处理效率低。若抢占到数据库锁的开票方设备突然宕机,且该数据库锁还未被释放,则可能造成死锁,进一步降低了票据数据的处理效率。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高票据数据的处理效率的票据数据处理方法和系统。一种票据数据处理方法,所述方法包括:开票方设备获取票据标识对应的初始票据数据和所述初始票据数据对应的版本号,并将获取的所述版本号作为第一版本号;所述开票方设备通过用户操作界面将所述初始票据数据展示给开票方操作员,并实时检测所述开票方操作员针对所述初始票据数据触发的票据数据提交指令;当检测到所述票据数据提交指令时,所述开票方设备获取所述开票方操作员针对所述初始票据数据预录入的票据修改数据,并从区块链节点中查找与所述票据标识对应的当前最新的版本号,作为第二版本号;当所述第一版本号与所述第二版本号一致时,所述开票方设备将所述票据修改数据借助于所述区块链节点写入区块链中。在其中一个实施例中,所述开票方设备获取票据标识对应的初始票据数据和所述初始票据数据对应的版本号,并将获取的所述版本号作为第一版本号,包括:开票方设备获取携带有票据标识的票据数据修改请求;所述开票方设备根据所述票据数据修改请求生成携带有所述票据标识的票据数据获取请求,并将所述票据数据获取请求发送至区块链节点;所述区块链节点根据所述票据数据获取请求,从区块链中查找所述票据标识对应的初始票据数据,将所述初始票据数据对应的版本号作为第一版本号;所述开票方设备接收所述区块链节点对应反馈的所述初始票据数据和所述第一版本号。在其中一个实施例中,所述区块链节点根据所述票据数据获取请求,从区块链中查找所述票据标识对应的初始票据数据,包括:所述区块链节点解析所述票据数据获取请求,得到所述票据标识和开票方操作员标识;所述区块链节点根据所述开票方操作员标识,按照预设校验方式对所述开票方操作员标识对应的开票方操作员的权限进行校验;当校验通过时,所述区块链节点根据所述票据标识在区块链中查找相应的初始票据数据。在其中一个实施例中,所述当所述第一版本号与所述第二版本号一致时,所述开票方设备将所述票据修改数据借助于所述区块链节点写入区块链中,包括:当所述第一版本号与所述第二版本号一致时,所述开票方设备通过开票方私钥加密所述票据修改数据,得到票据数据密文,并将所述票据数据密文发送至所述区块链节点;所述区块链节点通过所述开票方私钥所对应的开票方公钥解密所述票据数据密文,得到所述票据修改数据,并将所述票据修改数据写入区块链中。在其中一个实施例中,当所述第一版本号与所述第二版本号一致时,所述开票方设备将所述票据修改数据借助于所述区块链节点写入区块链中,包括:当所述第一版本号与所述第二版本号一致时,所述开票方设备将所述票据修改数据发送至所述区块链节点;所述区块链节点基于共识机制对所述票据修改数据进行共识,并生成与共识通过的所述票据修改数据对应的数据区块;所述区块链节点获取当前系统时间,根据所述当前系统时间生成与所述票据修改数据对应的版本号,将生成的所述版本号写入所述数据区块,并将写入所述版本号的所述数据区块加入区块链中。在其中一个实施例中,所述开票方设备将所述票据修改数据发送至所述区块链节点,包括:所述开票方设备将所述票据修改数据和所述第一版本号发送至所述区块链节点;所述生成与共识通过的所述票据修改数据对应的数据区块之后,所述方法还包括:所述区块链节点在区块链中查找与所述票据标识对应的当前最新的版本号,作为第三版本号;当所述第一版本号与所述第三版本号一致时,所述区块链节点跳转至所述获取当前系统时间的步骤继续执行。在其中一个实施例中,所述区块链节点为区块链节点集群中的数据处理节点;所述当所述第一版本号与所述第二版本号一致时,所述开票方设备将所述票据修改数据发送至所述区块链节点,包括:当所述第一版本号与所述第二版本号一致时,所述开票方设备生成携带有所述票据修改数据的签名请求;所述开票方设备将所述签名请求发送至所述区块链节点集群中的多个区块链节点;发送的所述签名请求用于指示所述多个区块链节点,按照预设签名方式分别对所述票据修改数据进行签名,得到数字签名;所述开票方设备接收所述多个区块链节点反馈的数字签名,根据各所述数字签名得到数字签名数组,并将所述数字签名数组和所述票据修改数据发送至所述数据处理节点;所述区块链节点获取当前系统时间,包括:所述数据处理节点按照预设签名校验方式,根据所述数字签名数组对所述票据修改数据进行签名校验;当签名校验通过时,所述数据处理节点获取当前系统时间。一种票据数据处理系统,所述系统包括:开票方设备和区块链节点;所述开票方设备,用于获取票据标识对应的初始票据数据和所述初始票据数据对应的版本号,并将获取的所述版本号作为第一版本号;通过用户操作界面将所述初始票据数据展示给开票方操作员,并实时检测所述开票方操作员针对所述初始票据数据触发的票据数据提交指令;所述开票方设备,还用于当检测到所述票据数据提交指令时,获取所述开票方操作员针对所述初始票据数据预录入的票据修改数据,并从所述区块链节点中查找与所述票据标识对应的当前最新的版本号,作为第二版本号;当所述第一版本号与所述第二版本号一致时,将所述票据修改数据发送至所述区块链节点;所述区块链节点,用于将所述票据修改数据写入区块链中。在其中一个实施例中,所述开票方设备,还用于当所述第一版本号与所述第二版本号一致时,将所述票据修改数据发送至所述区块链节点;所述区块链节点,还用于基于共识机制对所述票据修改数据进行共识,并生成与共识通过的所述票据修改数据对应的数据区块;获取当前系统时间,根据所述当前系统时间生成与所述票据修改数据对应的版本号,将生成的所述版本号写入所述数据区块,并将写入所述版本号的所述数据区块加入区块链中。在其中一个实施例中,所述系统还包括:区块链节点集群;所述区块链节点为所述区块链节点集群中的数据处理节点;所述开票方设备,还用于当所述第一版本号与所述第二版本号一致时,生成携带有所述票据修改数据的签名请求;将所述签名请求发送至所述区块链节点集群中的多个区块链节点;发送的所述签名本文档来自技高网...

【技术保护点】
1.一种票据数据处理方法,所述方法包括:开票方设备获取票据标识对应的初始票据数据和所述初始票据数据对应的版本号,并将获取的所述版本号作为第一版本号;所述开票方设备通过用户操作界面将所述初始票据数据展示给开票方操作员,并实时检测所述开票方操作员针对所述初始票据数据触发的票据数据提交指令;当检测到所述票据数据提交指令时,所述开票方设备获取所述开票方操作员针对所述初始票据数据预录入的票据修改数据,并从区块链节点中查找与所述票据标识对应的当前最新的版本号,作为第二版本号;当所述第一版本号与所述第二版本号一致时,所述开票方设备将所述票据修改数据借助于所述区块链节点写入区块链中。

【技术特征摘要】
1.一种票据数据处理方法,所述方法包括:开票方设备获取票据标识对应的初始票据数据和所述初始票据数据对应的版本号,并将获取的所述版本号作为第一版本号;所述开票方设备通过用户操作界面将所述初始票据数据展示给开票方操作员,并实时检测所述开票方操作员针对所述初始票据数据触发的票据数据提交指令;当检测到所述票据数据提交指令时,所述开票方设备获取所述开票方操作员针对所述初始票据数据预录入的票据修改数据,并从区块链节点中查找与所述票据标识对应的当前最新的版本号,作为第二版本号;当所述第一版本号与所述第二版本号一致时,所述开票方设备将所述票据修改数据借助于所述区块链节点写入区块链中。2.根据权利要求1所述的方法,其特征在于,所述开票方设备获取票据标识对应的初始票据数据和所述初始票据数据对应的版本号,并将获取的所述版本号作为第一版本号,包括:开票方设备获取携带有票据标识的票据数据修改请求;所述开票方设备根据所述票据数据修改请求生成携带有所述票据标识的票据数据获取请求,并将所述票据数据获取请求发送至区块链节点;所述区块链节点根据所述票据数据获取请求,从区块链中查找所述票据标识对应的初始票据数据,将所述初始票据数据对应的版本号作为第一版本号;所述开票方设备接收所述区块链节点对应反馈的所述初始票据数据和所述第一版本号。3.根据权利要求2所述的方法,其特征在于,所述区块链节点根据所述票据数据获取请求,从区块链中查找所述票据标识对应的初始票据数据,包括:所述区块链节点解析所述票据数据获取请求,得到所述票据标识和开票方操作员标识;所述区块链节点根据所述开票方操作员标识,按照预设校验方式对所述开票方操作员标识对应的开票方操作员的权限进行校验;当校验通过时,所述区块链节点根据所述票据标识在区块链中查找相应的初始票据数据。4.根据权利要求1所述的方法,其特征在于,所述当所述第一版本号与所述第二版本号一致时,所述开票方设备将所述票据修改数据借助于所述区块链节点写入区块链中,包括:当所述第一版本号与所述第二版本号一致时,所述开票方设备通过开票方私钥加密所述票据修改数据,得到票据数据密文,并将所述票据数据密文发送至所述区块链节点;所述区块链节点通过所述开票方私钥所对应的开票方公钥解密所述票据数据密文,得到所述票据修改数据,并将所述票据修改数据写入区块链中。5.根据权利要求1所述的方法,其特征在于,当所述第一版本号与所述第二版本号一致时,所述开票方设备将所述票据修改数据借助于所述区块链节点写入区块链中,包括:当所述第一版本号与所述第二版本号一致时,所述开票方设备将所述票据修改数据发送至所述区块链节点;所述区块链节点基于共识机制对所述票据修改数据进行共识,并生成与共识通过的所述票据修改数据对应的数据区块;所述区块链节点获取当前系统时间,根据所述当前系统时间生成与所述票据修改数据对应的版本号,将生成的所述版本号写入所述数据区块,并将写入所述版本号的所述数据区块加入区块链中。6.根据权利要求5所述的方法,其特征在于,所述开票方设备将所述票据修改数据发送至所述区块链节点,包括:所述开票方设备将所述票据修改数据和所述第一版本号发送至所述区块链节点;所述生成与共识通过的所述票据修改数据对应的数据区块之后,所述方法还包括:...

【专利技术属性】
技术研发人员:范诗怡宦鹏飞
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1