基于区块链的交易处理方法、装置和存储介质制造方法及图纸

技术编号:20487783 阅读:47 留言:0更新日期:2019-03-02 20:17
本发明专利技术涉及一种基于区块链的交易处理方法、装置和存储介质。其中,该方法包括:在当前出块窗口期间,接收处理交易事务的请求;对所述请求进行解析,以确定与所述交易事务相关联的一个或多个原子交易以及一个或多个账户,其中每一原子交易与所述一个或多个账户中的至少一者相关;至少部分地基于待出块的区块中包括的账户‑片区索引表来判断所述一个或多个原子交易中是否存在一个或多个尚未加载的原子交易;在不存在所述一个或多个尚未加载的原子交易的情况下,至少部分地基于所述账户‑片区索引表来搜索存储在所述待出块的区块中的所述一个或多个原子交易,以对所述一个或多个原子交易进行执行。

Block Chain-based Transaction Processing, Devices and Storage Media

The invention relates to a transaction processing method, device and storage medium based on block chain. Among them, the method includes: receiving a request to process a transaction during the current block window; parsing the request to determine one or more atomic transactions and one or more accounts associated with the transaction, each of which is related to at least one of the one or more accounts; and at least partially based on the block in which the transaction is pending. The included account The one or more atomic transactions are executed.

【技术实现步骤摘要】
基于区块链的交易处理方法、装置和存储介质
本专利技术涉及区块链领域,尤其涉及基于区块链的交易处理方法、装置和存储介质。
技术介绍
区块链(Blockchain)技术是近年来在金融科技(FinTech)领域出现的一种新兴技术,其独特的去中心化、信息不可篡改、多节点集体维护性、专利技术性、隐私保护等属性,在基于不可信的互联网中,能记录提供可信的交易信息数据。区块链顾名思义就是由区块通过唯一哈希签名组成的一条链式结构。区块又包括区块头和区块体,区块头是由本区块的信息摘要组成,区块体是由真正的实体交易内容组成。智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,其能够表现为在区块链上准确运行的计算机程序。用户通过使用智能合约进行事务、共享数据、建立信任,并由区块链技术的特性而保障数据的存储、读取以及执行整个过程透明可跟踪、不可篡改。一般情况下,在区块链节点从客户端设备接收到交易事务(transaction)(例如,转账等)的处理请求后,该区块链节点会从其存储中找到与该交易事务相关的一个或多个原子交易(action),然后将该一个或多个原子交易加载并存储到处于区块链节点的内存中的待出块的区块中,以对其进行执行。一个原子交易其实是对一个智能合约中的某个函数的调用,该函数可代表一条合约条款,并实现条款中的具体规则。因此,交易事务是由一个或者多个原子交易组合而成的关系,在一个交易事务中,可以包含一个或多个原子交易,这样客户端设备在一个事务里签一次名,就可以调多个函数,执行一组操作。片区(cycle)也被称为区块里面的小链,其将区块内的消息分成多个部分来(例如,并行)处理,从而提升了消息交互的效率,实际上不需要等完整的区块打包,而是片区生成完就立刻异步广播出去。这使得可实现块内通信,进而使得账户之间的通信变得更加高效。在一个片区内,生产者可以利用多核多线程并发的处理“不相干”的交易事务,从而提升了交易处理速度。然而,在传统使用方法中,在客户端设备向区块链节点发起交易事务的处理请求之后,区块链节点必须将与该交易事务相关联的所有原子交易都加载并存储到待出块的区块的相应片区中,再从该区块的相应片区中搜索各个原子交易并执行这些原子交易,以完成对该交易事务的处理。然而,这种方法在面对复杂的应用场景(例如,存在大量交易需要处理的情况,例如每秒有几万或者几十万笔交易需要处理)时,表现得性能低下(例如,并发性较低),缺乏应用的推广性和普及性。
技术实现思路
针对以上技术问题以及其他潜在的技术问题,本专利技术的实施例提供了一种基于区块链的交易处理方法和装置,使得可以提高在区块链的节点上执行的原子交易的执行效率,灵活实现块内原子交易的并发处理能力。本专利技术的第一方面提供了一种基于区块链的交易处理方法,包括:在当前出块窗口期间,接收处理交易事务的请求;对所述请求进行解析,以确定与所述交易事务相关联的一个或多个原子交易以及一个或多个账户,其中每一原子交易与所述一个或多个账户中的至少一者相关;至少部分地基于待出块的区块中包括的账户-片区索引表来判断所述一个或多个原子交易中是否存在一个或多个尚未加载的原子交易,其中尚未加载的原子交易指的是尚未加载并存储到待出块的区块的、与相关账户相关联的片区中的原子交易,并且其中所述账户-片区索引表用于将与已处理的交易事务相关联的每一账户映射到所述待出块的区块的与该账户相关联的一个或多个片区;在不存在所述一个或多个尚未加载的原子交易的情况下,至少部分地基于所述账户-片区索引表来搜索存储在所述待出块的区块中的所述一个或多个原子交易,以对所述一个或多个原子交易进行执行。在一种实现中,在存在所述一个或多个尚未加载的原子交易的情况下:加载所述一个或多个尚未加载的原子交易并将其存储到所述待出块的区块中的一个或多个新增片区中,其中每一新增片区与所述一个或多个账户中的一个账户相关联;基于所述一个或多个新增片区与所述一个或多个账户来更新所述账户-片区索引表;以及至少部分地基于经更新的账户-片区索引表来搜索存储在所述待出块的区块中的所述一个或多个原子交易,以对所述一个或多个原子交易进行执行。在一个实现中,所述账户-片区索引表利用与已处理的交易事务相关联的每一账户的标识以及所述待出块的区块的与该账户相关联的一个或多个片区的标识来将该账户映射到该一个或多个片区。在一个实现中,与已处理的交易事务相关联的每一账户的标识以及所述待出块的区块的与该账户相关联的一个或多个片区的标识是按键值对条目的形式存储在所述账户-片区索引表中的,其中与已处理的交易事务相关联的每一账户的标识被存储为键,并且所述待出块的区块的与该账户相关联的一个或多个片区的标识被存储为值。在一个实现中,所述待出块的区块初始为空。在一个实现中,所述账户-片区索引表是在所述当前出块窗口期间接收到第一个处理交易事务的请求时在所述待出块的区块中创建的,并且其中所述账户-片区索引表初始为空。在一个实现中,基于所述一个或多个新增片区与所述一个或多个账户来更新所述账户-片区索引表包括通过在所述账户-片区索引表中添加用于将所述一个或多个账户中的相关账户映射到所述一个或多个新增片区的条目来更新所述账户-片区索引表。在一个实现中,该方法还包括对所述交易事务的有效性进行验证。在一个实现中,该方法进一步包括:在出块条件满足时,将所述待出块的区块打包,并将经打包的区块广播到所述区块链的所有区块链节点上,以供所有区块链节点共识确认。本专利技术的第二方面提供了一种基于区块链的交易处理装置,其特征在于,包括:存储器,所述存储器用于存储指令;以及处理器,所述处理器耦合到所述存储器,并且所述指令在由所述处理器执行时,使得所述处理器执行根据本专利技术的第一方面所述的方法。本专利技术的第三方面提供了一种计算机可读存储介质,所述存储介质包括指令,所述指令在被执行时,使得计算机执行根据本专利技术的第一方面所述的方法。根据本专利技术所述的方法和装置,通过在待出块的区块中包括账户-片区索引表,并在发生交易事务时至少部分地基于该账户-片区索引表来对交易事务进行处理,从而提高了区块链中区块内部消息交互的并发性,进而提高了区块链的整体高效性,并提升了区块链应用的推广性和普及性。附图说明参考附图示出并阐明本专利技术的各实施例。这些附图仅用于阐明基本原理,并示出对于理解该基本原理所必要的方面,而不旨在限制本专利技术所要求保护的范围。在附图中,相同的附图标记表示相似的特征。图1例示了可用于实施本专利技术的示例实施例的基于区块链的交易处理系统100的架构的示意图。图2例示了根据本专利技术的示例实施例的基于区块链的交易处理方法200的流程图。图3例示了根据图2的交易处理方法的具体示例。图4例示了根据本专利技术的实施例的装置400的示意图。具体实施方式下面将结合附图更详细地描述本专利技术的各个示例性实施例。虽然附图中流程图和示意图显示了本专利技术的一些实施例,然而应当理解的,本专利技术可以通过各种形式来实现,而且不应被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本专利技术。应当理解的是,本专利技术的附图及实施例仅用于说明性作用,并非用于限制本专利技术的保护范围。图1例示了可用于实施本专利技术的示例实施例的用于提高区块链系统的性能的系统100的架构的示意图。系统100包括(一本文档来自技高网
...

【技术保护点】
1.一种基于区块链的交易处理方法,包括:在当前出块窗口期间,接收处理交易事务的请求;对所述请求进行解析,以确定与所述交易事务相关联的一个或多个原子交易以及一个或多个账户,其中每一原子交易与所述一个或多个账户中的至少一者相关;至少部分地基于待出块的区块中包括的账户‑片区索引表来判断所述一个或多个原子交易中是否存在一个或多个尚未加载的原子交易,其中尚未加载的原子交易指的是尚未加载并存储到待出块的区块的、与相关账户相关联的片区中的原子交易,并且其中所述账户‑片区索引表用于将与已处理过的交易事务相关联的每一账户映射到所述待出块的区块的与该账户相关联的一个或多个片区;在不存在所述一个或多个尚未加载的原子交易的情况下,至少部分地基于所述账户‑片区索引表来搜索存储在所述待出块的区块中的所述一个或多个原子交易,以对所述一个或多个原子交易进行执行。

【技术特征摘要】
1.一种基于区块链的交易处理方法,包括:在当前出块窗口期间,接收处理交易事务的请求;对所述请求进行解析,以确定与所述交易事务相关联的一个或多个原子交易以及一个或多个账户,其中每一原子交易与所述一个或多个账户中的至少一者相关;至少部分地基于待出块的区块中包括的账户-片区索引表来判断所述一个或多个原子交易中是否存在一个或多个尚未加载的原子交易,其中尚未加载的原子交易指的是尚未加载并存储到待出块的区块的、与相关账户相关联的片区中的原子交易,并且其中所述账户-片区索引表用于将与已处理过的交易事务相关联的每一账户映射到所述待出块的区块的与该账户相关联的一个或多个片区;在不存在所述一个或多个尚未加载的原子交易的情况下,至少部分地基于所述账户-片区索引表来搜索存储在所述待出块的区块中的所述一个或多个原子交易,以对所述一个或多个原子交易进行执行。2.根据权利要求1所述的交易处理方法,其特征在于,在存在所述一个或多个尚未加载的原子交易的情况下:加载所述一个或多个尚未加载的原子交易并将其存储到所述待出块的区块中的一个或多个新增片区中,其中每一新增片区与所述一个或多个账户中的一个账户相关联;基于所述一个或多个新增片区与所述一个或多个账户来更新所述账户-片区索引表;以及至少部分地基于经更新的账户-片区索引表来搜索存储在所述待出块的区块中的所述一个或多个原子交易,以对所述一个或多个原子交易进行执行。3.根据权利要求1所述的交易处理方法,其特征在于,所述账户-片区索引表利用与已处理的交易事务相关联的每一账户的标识以及所述待出块的区块的与该账户相关联的一个或多个片区的标识来将该账户映射到该一个或多个片区。4.根据权利要求3所述的交易处理方法,其特征在于...

【专利技术属性】
技术研发人员:吕国新迟祥宋文鹏
申请(专利权)人:众安信息技术服务有限公司
类型:发明
国别省市:广东,44

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

1