System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及电子票据,特别是涉及一种电子票据的生成方法、装置、计算机设备、存储介质和计算机程序产品。
技术介绍
1、票据是企业或个人在向消费者出售商品、提供服务或者从事其他经营活动时,为消费者提供的消费凭证。伴随着互联网技术的不断发展,以及智能终端逐渐普及,在日常的消费场景中,越来越倾向于基于互联网和智能终端进行票据的留存以及管理,相较于纸质票据,更易保管也更易进行查验和追溯。
2、传统技术方案中,进行电子票据的生成以及发放的方式,通常是以单机串行的方式来处理所有的电子票据的申领请求。虽然传统技术方案中电子票据的生成方式,能够克服采用纸质票据所产生的易丢失、难存储的问题;但是,传统技术方案中进行电子票据的生成方式,交易信息与最终形成的电子票据之间不存在强制的制约;导致存在对相同的交易内容进行重复开票的可能,仍然需要通过人为的核查校验,才能避免上述情况的发生,因此,传统技术方案所生成的电子票据的过程以及方式,其可靠性偏低。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种可靠性更高的电子票据的生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种电子票据的生成方法。所述方法包括:
3、响应于电子票据的生成指令,获取所述电子票据对应的交易信息;
4、对所述交易信息进行哈希运算,得到交易哈希字符串;
5、访问区块链,将所述区块链中存储的历史哈希字符串,与所述交易哈希字符串进行对比
6、若对比校验的结果表征所述历史哈希字符串与所述交易哈希字符串不相同,则根据预设的票据发行规则,生成票据唯一标识;
7、将所述交易信息、以及所述票据唯一标识进行组合,生成电子票据。
8、在其中一个实施例中,方法中根据预设的票据发行规则,生成票据唯一标识的过程,包括:
9、获取交易信息对应的票据属性信息;
10、根据所述票据属性信息、以及预设的票据发行规则,生成电子票据对应的票据代码,所述票据代码关联有多个票据号码;
11、对所述票据代码关联的多个票据号码进行顺序选取,得到目标票据号码;
12、将所述票据代码、以及所述目标票据号码进行组合,得到票据唯一标识。
13、在其中一个实施例中,所述对所述票据代码关联的多个票据号码进行顺序选取,得到目标票据号码包括:
14、将所述票据代码关联的多个票据号码进行划分,得到多个票据号段;
15、将所述多个票据号段关联至不同的开票对象信息;
16、根据电子票据对应的交易信息中的开票方信息、以及所述开票对象信息进行匹配筛选,得到开票方信息对应的票据号段;
17、对开票方信息对应的票据号段中的票据号码进行顺序选取,得到目标票据号码。
18、在其中一个实施例中,所述方法还包括:
19、获取开票方信息对应的票据号段中未占用的票据号码数量、以及电子票据的生成指令中的待生成票据数量;
20、若所述未占用的票据号码数量小于所述待生成票据数量,则获取开票方信息对应的票据号段的相邻号段;
21、将开票方信息对应的票据号段中未占用的票据号码、以及相邻号段中未占用的票据号码,组合得到备用号段;
22、对所述备用号段中票据号码进行顺序选取,得到目标票据号码。
23、在其中一个实施例中,所述将所述交易信息、以及所述票据唯一标识进行组合,生成电子票据包括:
24、获取根据预设的票据发行规则生成的票据唯一标识、以及多个历史哈希字符串对应的多个历史票据标识;
25、将所述多个历史票据标识,与所述票据唯一标识进行对比校验;
26、若对比校验的结果确定所述多个历史票据标识与所述票据唯一标识不相同,则将所述交易信息、以及所述票据唯一标识进行组合,生成电子票据。
27、在其中一个实施例中,所述方法还包括:
28、将所述电子票据中的交易信息、以及票据唯一标识进行封装,形成待上链区块;
29、将所述待上链区块广播至区块链中的不同节点进行校验;
30、若所述待上链区块通过不同节点的校验,则将所述待上链区块进行上链存储。
31、第二方面,本申请还提供了一种电子票据的生成装置。所述装置包括:
32、信息获取模块,用于响应于电子票据的生成指令,获取所述电子票据对应的交易信息;
33、哈希运算模块,用于对所述交易信息进行哈希运算,得到交易哈希字符串;
34、对比校验模块,用于访问区块链,将所述区块链中存储的历史哈希字符串,与所述交易哈希字符串进行对比校验;
35、标识生成模块,用于当对比校验的结果确定所述历史哈希字符串与所述交易哈希字符串不相同时,根据预设的票据发行规则,生成票据唯一标识;
36、票据生成模块,用于将所述交易信息、以及所述票据唯一标识进行组合,生成电子票据。
37、第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
38、响应于电子票据的生成指令,获取所述电子票据对应的交易信息;
39、对所述交易信息进行哈希运算,得到交易哈希字符串;
40、访问区块链,将所述区块链中存储的历史哈希字符串,与所述交易哈希字符串进行对比校验;
41、若对比校验的结果表征所述历史哈希字符串与所述交易哈希字符串不相同,则根据预设的票据发行规则,生成票据唯一标识;
42、将所述交易信息、以及所述票据唯一标识进行组合,生成电子票据。
43、第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
44、响应于电子票据的生成指令,获取所述电子票据对应的交易信息;
45、对所述交易信息进行哈希运算,得到交易哈希字符串;
46、访问区块链,将所述区块链中存储的历史哈希字符串,与所述交易哈希字符串进行对比校验;
47、若对比校验的结果表征所述历史哈希字符串与所述交易哈希字符串不相同,则根据预设的票据发行规则,生成票据唯一标识;
48、将所述交易信息、以及所述票据唯一标识进行组合,生成电子票据。
49、第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
50、响应于电子票据的生成指令,获取所述电子票据对应的交易信息;
51、对所述交易信息进行哈希运算,得到交易哈希字符串;
52、访问区块链,将所述区块链中存储的历史哈希字符串,与所述交易哈希字符串进行对比校验;
本文档来自技高网...
【技术保护点】
1.一种电子票据的生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据预设的票据发行规则,生成票据唯一标识包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述票据代码关联的多个票据号码进行顺序选取,得到目标票据号码包括:
4.根据权利要求3所述的方法,其特征在于,还包括:
5.根据权利要求1所述的方法,其特征在于,所述将所述交易信息、以及所述票据唯一标识进行组合,生成电子票据包括:
6.根据权利要求1至5任意一项所述的方法,其特征在于,还包括:
7.一种电子票据的生成装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征
...【技术特征摘要】
1.一种电子票据的生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据预设的票据发行规则,生成票据唯一标识包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述票据代码关联的多个票据号码进行顺序选取,得到目标票据号码包括:
4.根据权利要求3所述的方法,其特征在于,还包括:
5.根据权利要求1所述的方法,其特征在于,所述将所述交易信息、以及所述票据唯一标识进行组合,生成电子票据包括:
6.根据权利要求1至5任意一项所述的方法,其特征在...
【专利技术属性】
技术研发人员:栾英英,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。