一种基于中心化块链式账本的交易存储、查询方法技术

技术编号:24995812 阅读:20 留言:0更新日期:2020-07-24 17:58
公开了一种基于中心化块链式账本的交易存储、查询方法。用户提交给数据库服务端的业务交易中可以指定业务关键词,用来标记业务交易涉及的业务类型。数据库服务端除了维护中心化块链式账本之外,还会在缓存中维护每个业务关键词对应缓存空间,此外,还会维护一个统一索引表,用来记录与业务交易有关的索引信息。

【技术实现步骤摘要】
一种基于中心化块链式账本的交易存储、查询方法
本说明书实施例涉及信息
,尤其涉及一种基于中心化块链式账本的交易存储、查询方法。
技术介绍
中心化块链式账本,区别于去中心化的块链式账本(如区块链网络中各节点分布式维护的区块链),是指中心化的数据库服务端维护的本地数据库。有时,也将中心化块链式账本称为LedgerDataBase(LedgerDB)。中心化块链式账本是在区块链存储方案的基础上进行改进得到的新型存储方案,其能够克服了区块链存储存在的吞吐量低、响应时间长等问题。中心化块链式账本的服务对象通常是企业级用户,用户一般在数据库服务端注册账户,并通过账户将自身业务产生的业务数据封装成业务交易,将业务交易提交给数据库服务端,数据库服务端受理业务交易后,会基于一定的成块条件,将若干业务交易打包成数据块写入中心化块链式账本进行存储。由于数据库服务端通常会根据业务交易的受理顺序,将一批批业务交易打包成一个个数据块写入账本,而数据服务端通常会受理多个用户提交的交易;因此,即便是同一个用户,其连续提交给数据库服务端的业务交易也不会被集中存储,而是分散在同一数据块中的不同位置以及不同数据块中,不利于进行业务交易的查询。
技术实现思路
本申请实施例是为了解决现有的基于中心化块链式账本存储模式下查询交易的效率不高的问题。为解决上述技术问题,本申请实施例是这样实现的:根据本说明书实施例的第1方面,提供一种基于中心化块链式账本的交易存储方法,应用于数据库服务端,所述数据库服务端维护有中心化块链式账本,所述方法包括:受理用户账户提交的业务交易;所述业务交易携带有至少一个业务关键词;将所述业务交易存入中心化块链式账本,以及获取所述业务交易的交易标识,作为第一交易标识;所述第一交易标识用于在中心化块链式账本中唯一标识所述业务交易;针对所述业务交易携带的每个业务关键词,若该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表;若该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。根据本说明书实施例的第2方面,提供一种基于第1方面所述的交易存储方法的交易查询方法,应用于数据库服务端,所述交易查询方法包括:接收用户账户发送的查询请求,并确定所述查询请求指定的至少一个业务关键词以及指定的每个业务关键词对应的待查询交易序号;针对所述查询请求指定的每个业务关键词,从该业务关键词对应的缓存空间中获取交易标识,并根据获取的交易标识与所述统一索引表,查询该业务关键词对应的待查询交易序号的业务交易。根据本说明书实施例的第3方面,提供一种基于中心化块链式账本的交易存储装置,应用于数据库服务端,所述数据库服务端维护有中心化块链式账本,所述装置包括:受理模块,受理用户账户提交的业务交易;所述业务交易携带有至少一个业务关键词;存储模块,将所述业务交易存入中心化块链式账本,以及获取所述业务交易的交易标识,作为第一交易标识;所述第一交易标识用于在中心化块链式账本中唯一标识所述业务交易;第一处理模块,针对所述业务交易携带的每个业务关键词,若该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表;第二处理模块,若该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。根据本说明书实施例的第4方面,提供一种基于第1方面所述的交易存储方法的交易查询装置,应用于数据库服务端,所述装置包括:接收模块,接收用户账户发送的查询请求,并确定所述查询请求指定的至少一个业务关键词以及指定的每个业务关键词对应的待查询交易序号;查询模块,针对所述查询请求指定的每个业务关键词,从该业务关键词对应的缓存空间中获取交易标识,并根据获取的交易标识与所述统一索引表,查询该业务关键词对应的待查询交易序号的业务交易。通过本说明书实施例中所提供的方案,用户提交给数据库服务端的业务交易中可以指定业务关键词,用来标记业务交易涉及的业务类型。数据库服务端除了维护中心化块链式账本之外,还会在缓存中维护每个业务关键词对应缓存空间,此外,还会维护一个统一索引表,用来记录与业务交易有关的索引信息。具体而言,数据库服务端获取当前的业务交易的第一交易标识,然后针对当前的业务交易中的每个业务关键词,如果该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表;如果该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。当需要查询业务交易时,可以根据查询请求指定的业务关键词以及业务关键词对应的待查询交易序号,利用统一索引表与该业务关键词对应的缓存空间中的交易标识来进行查询。通过本说明书的一个或多个实施例,可以实现对存入中心化块链式账本中的业务交易的高效查询。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本说明书提供的一种基于中心化块链式账本的数据存储系统示意图;图2是本说明书实施例提供的一种基于中心化块链式账本的交易存储方法的流程示意图;图3是本说明书实施例提供的一种基于中心化块链式账本的交易查询方法的流程示意图;图4是本说明书实施例提供的一种一种基于中心化块链式账本的交易存储装置的结构示意图;图5是本说明书实施例提供的一种交易查询装置的结构示意图;图6是用于配置本说明书实施例方法的一种设备的结构示意图。具体实施方式图1是本说明书提供的一种基于中心化块链式账本的数据存储系统示意图。如图1所示,数据存本文档来自技高网...

【技术保护点】
1.一种基于中心化块链式账本的交易存储方法,应用于数据库服务端,所述数据库服务端维护有中心化块链式账本,所述方法包括:/n受理用户账户提交的业务交易;所述业务交易携带有至少一个业务关键词;/n将所述业务交易存入中心化块链式账本,以及获取所述业务交易的交易标识,作为第一交易标识;所述第一交易标识用于在中心化块链式账本中唯一标识所述业务交易;/n针对所述业务交易携带的每个业务关键词,若该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表;/n若该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。/n

【技术特征摘要】
1.一种基于中心化块链式账本的交易存储方法,应用于数据库服务端,所述数据库服务端维护有中心化块链式账本,所述方法包括:
受理用户账户提交的业务交易;所述业务交易携带有至少一个业务关键词;
将所述业务交易存入中心化块链式账本,以及获取所述业务交易的交易标识,作为第一交易标识;所述第一交易标识用于在中心化块链式账本中唯一标识所述业务交易;
针对所述业务交易携带的每个业务关键词,若该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表;
若该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。


2.如权利要求1所述的方法,所述第一交易标识,为所述业务交易在中心化块链式账本中的交易存储位置信息;所述交易存储位置信息包括:所述业务交易所在的数据块的数据块序号与所述业务交易在数据块中的偏移量。


3.如权利要求1所述的方法,在将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表之前,所述方法还包括:
基于所述统一索引表,确定该业务关键词下,存入账本顺序位于所述第二交易标识对应的业务交易之前的其他业务交易,并将确定的其他业务交易对应的交易标识作为第三交易标识;
将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,具体包括:
将该业务关键词、所述第一交易标识、所述第二交易标识、所述第三交易标识以对应关系形式写入所述统一索引表。


4.一种基于权利要求1~3任一项所述的交易存储方法的交易查询方法,应用于数据库服务端,所述交易查询方法包括:
接收用户账户发送的查询请求,并确定所述查询请求指定的至少一个业务关键词以及指定的每个业务关键词对应的待查询交易序号;
针对所述查询请求指定的每个业务关键词,从该业务关键词对应的缓存空间中获取交易标识,并根据获取的交易标识与所述统一索引表,查询该业务关键词对应的待查询交易序号的业务交易。


5.如权利要求4所述的方法,所述查询请求为查询交易;
所述方法还包括:
将所述查询交易写入中心化块链式账本。


6.一种基于中心化块链式账本的交易存储装置,应用于数据库...

【专利技术属性】
技术研发人员:张渊李亿泽闫文远杨新颖李飞飞俞本权汪晟
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1