System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及区块链,尤其涉及一种基于业务链条的区块链交易查询方法、系统及存储介质。
技术介绍
1、区块链技术可以证明数据在其生命周期内的原始性、完整性,且证明过程不依赖任何第三方的信任关系;因而,运用区块链技术可以建立所有参与方的信任,确保所有参与方的交易的真实性和完整性。由于区块链底层平台一般是采用“键值对”的存储结构,其优势是读写效率极高,但难以对区块链中的交易数据实施深度处理,目前区块链浏览器、运营管理平台、监控平台、监管审计等系统通常采用“链上出块,链下及时 etl入库”的策略,即通过将链上数据写入链外的关系型数据库(如 mysql)或大数据平台,构建链上数据的“镜像”,便可进行本地化地分析处理;而随着区块链参与的业务越来越复杂,链上数据的海量增长,对链下系统的分析处理能力和隐私保护能力带来了挑战,而完全依赖链下系统对链上数据的实施处理,将难以适应区块链应用的快速发展。
技术实现思路
1、鉴于以上所述现有技术的不足,本专利技术的目的在于:提供一种基于业务链条的区块链交易查询方法,通过订阅区块链共识服务的两个通道的区块链节点,既可以实现全账本明细的链上存证,还能够实现基于业务链条的溯源区块的链上存证,从而在交易溯源时可直接查询溯源区块,避免通过全账本查询时引入隐私泄露风险和增加区块链系统工作负载。
2、为实现上述专利技术目的,本专利技术提供以下技术方案:
3、基于业务链条的区块链交易查询方法,其包括:
4、获取到交易方发送的交易查询请求后
5、其中,所述交易流水号携带有业务链条标识信息,且在对应业务链条中的每个交易方进行关联交易时共用;所述第二通道的区块链节点缓存的与所述交易流水号关联的hash地址为:订阅区块链共识服务的第一通道的区块链节点共同维护的全账本中相关交易数据的hash地址;且所述相关交易数据是由所述第一通道的区块链节点基于不同交易方发送的且携带同一交易流水号的交易请求而产生的交易数据。
6、根据一种具体的实施方式,本专利技术提供的基于业务链条的区块链交易查询方法中,获取到交易方发送的交易查询请求后,由所述第二通道的区块链节点请求调用所述第一通道上部署的交易方验签合约,以获取所述交易查询请求携带的签名信息的验签结果,并在所述验签结果为验签通过后,将所述子账本中与所述交易流水号关联的所述溯源区块的hash地址返回给所述交易方。
7、根据一种具体的实施方式,本专利技术提供的基于业务链条的区块链交易查询方法中,获取到所述交易查询请求后,判断是否存在与所述交易查询请求携带的所述交易流水号相对应的缓存队列;若存在,则将对应的缓存队列中hash地址打包为溯源区块,并将所述溯源区块写入所述子账本后得到的hash地址返回给所述交易方;若不存在,进一步判断所述子账本中是否存在与所述交易流水号关联的所述溯源区块,若存在,则将所述子账本中与所述交易流水号关联的所述溯源区块返回给所述交易方,否则,提示查询错误。
8、进一步地,本专利技术提供的基于业务链条的区块链交易查询方法中,将所述缓存队列建立在隔离环境中。
9、进一步地,本专利技术提供的基于业务链条的区块链交易查询方法中,将所述缓存队列中的hash地址打包为所述溯源区块的方式为:根据所述交易流水号携带的业务链条标识信息,确定对应业务链条的溯源数据结构,并根据所述溯源数据结构的数据元素与业务链条的交易方的映射关系,将所述缓存队列中的hash地址分别作为对应数据元素的数据项,而得到溯源数据,再将所述溯源数据打包为溯源区块。
10、再进一步地,本专利技术提供的基于业务链条的区块链交易查询方法中,所述溯源数据包括:完整性标志和合规性标志;其中,所述完整性标志根据所述溯源数据中是否有数据元素的数据项为空而确定;所述合规性标志根据所述溯源数据中每个数据元素的时间特征是否符合业务规则而确定,所述时间特征由数据元素之间数据项中hash地址的生成时间的关系确定。
11、根据一种具体的实施方式,本专利技术提供的基于业务链条的区块链交易查询方法中,若所述缓存队列的建立时间或距离上一次打包时间已达到设定时间;和/或,所述缓存队列已缓存业务链条中最末端的交易方对应的hash地址,则将所述缓存队列中hash地址打包为溯源区块,并写入所述子账本中。
12、根据一种具体的实施方式,本专利技术提供的基于业务链条的区块链交易查询方法中,若所述缓存队列已缓存业务链条中最末端的交易请求方对应的hash地址,则在所述溯源区块写入所述子账本后,清除所述缓存队列。
13、本专利技术还提供一种区块链系统,其包括:多个节点设备;而且,所述多个节点设备被配置为实现本专利技术提供的基于业务链条的区块链交易查询方法的区块链网络。
14、本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被一个或多个处理器执行时实现本专利技术提供的基于业务链条的区块链交易查询方法。
15、与现有技术相比,本专利技术的有益效果:
16、本专利技术提供的基于业务链条的区块链交易查询方法,若交易查询请求中携带交易流水号,则由订阅区块链共识服务的第一通道的区块链节点将子账本中与交易流水号关联的溯源区块的hash地址返回给所述交易方;由于交易流水号是唯一的,且由业务链条的所有交易方在执行关联交易时共用,如此,本专利技术在通过订阅区块链共识服务的两个通道的区块链节点实现全账本明细和基于子账本的溯源区块的链上存证的基础上,在交易溯源时可直接通过子账本查询溯源区块即可,避免通过全账本查询时引入隐私泄露风险和增加区块链系统工作负载。
本文档来自技高网...【技术保护点】
1.基于业务链条的区块链交易查询方法,其特征在于,包括:
2.如权利要求1所述的基于业务链条的区块链交易查询方法,其特征在于,获取到交易方发送的交易查询请求后,由所述第二通道的区块链节点请求调用所述第一通道上部署的交易方验签合约,以获取所述交易查询请求携带的签名信息的验签结果,并在所述验签结果为验签通过后,将所述子账本中与所述交易流水号关联的所述溯源区块的Hash地址返回给所述交易方。
3.如权利要求2所述的基于业务链条的区块链交易查询方法,其特征在于,获取到所述交易查询请求后,判断是否存在与所述交易查询请求携带的所述交易流水号相对应的缓存队列;若存在,则将对应的缓存队列中Hash地址打包为溯源区块,并将所述溯源区块写入所述子账本后得到的Hash地址返回给所述交易方;若不存在,进一步判断所述子账本中是否存在与所述交易流水号关联的所述溯源区块,若存在,则将所述子账本中与所述交易流水号关联的所述溯源区块返回给所述交易方,否则,提示查询错误。
4.如权利要求3所述的基于业务链条的区块链交易查询方法,其特征在于,将所述缓存队列建立在隔离环境中。
...【技术特征摘要】
1.基于业务链条的区块链交易查询方法,其特征在于,包括:
2.如权利要求1所述的基于业务链条的区块链交易查询方法,其特征在于,获取到交易方发送的交易查询请求后,由所述第二通道的区块链节点请求调用所述第一通道上部署的交易方验签合约,以获取所述交易查询请求携带的签名信息的验签结果,并在所述验签结果为验签通过后,将所述子账本中与所述交易流水号关联的所述溯源区块的hash地址返回给所述交易方。
3.如权利要求2所述的基于业务链条的区块链交易查询方法,其特征在于,获取到所述交易查询请求后,判断是否存在与所述交易查询请求携带的所述交易流水号相对应的缓存队列;若存在,则将对应的缓存队列中hash地址打包为溯源区块,并将所述溯源区块写入所述子账本后得到的hash地址返回给所述交易方;若不存在,进一步判断所述子账本中是否存在与所述交易流水号关联的所述溯源区块,若存在,则将所述子账本中与所述交易流水号关联的所述溯源区块返回给所述交易方,否则,提示查询错误。
4.如权利要求3所述的基于业务链条的区块链交易查询方法,其特征在于,将所述缓存队列建立在隔离环境中。
5.如权利要求3所述的基于业务链条的区块链交易查询方法,其特征在于,将所述缓存队列中的hash地址打包为所述溯源区块的方式为:根据所述交易流水号携带的业务链条标识信息,确定对应业务链条的溯源数据结构,并根据所述溯源数据结构的数据元素与业务链条的交易方的映射关系,将所述缓存...
【专利技术属性】
技术研发人员:赵斌,吕一新,邓忆德,吴富林,
申请(专利权)人:四川迅鳐科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。