CN111444198A - 一种基于中心化块链式账本的交易存储、查询方法 - Google Patents

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

Info

Publication number
CN111444198A
CN111444198A CN202010544109.7A CN202010544109A CN111444198A CN 111444198 A CN111444198 A CN 111444198A CN 202010544109 A CN202010544109 A CN 202010544109A CN 111444198 A CN111444198 A CN 111444198A
Authority
CN
China
Prior art keywords
transaction
business
keyword
service
transaction identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010544109.7A
Other languages
English (en)
Other versions
CN111444198B (zh
Inventor
张渊
李亿泽
闫文远
杨新颖
李飞飞
俞本权
汪晟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202011105223.6A priority Critical patent/CN113806357A/zh
Priority to CN202010544109.7A priority patent/CN111444198B/zh
Publication of CN111444198A publication Critical patent/CN111444198A/zh
Application granted granted Critical
Publication of CN111444198B publication Critical patent/CN111444198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Fuzzy Systems (AREA)
  • Technology Law (AREA)
  • Probability & Statistics with Applications (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了一种基于中心化块链式账本的交易存储、查询方法。用户提交给数据库服务端的业务交易中可以指定业务关键词,用来标记业务交易涉及的业务类型。数据库服务端除了维护中心化块链式账本之外,还会在缓存中维护每个业务关键词对应缓存空间,此外,还会维护一个统一索引表,用来记录与业务交易有关的索引信息。

Description

一种基于中心化块链式账本的交易存储、查询方法
技术领域
本说明书实施例涉及信息技术领域,尤其涉及一种基于中心化块链式账本的交易存储、查询方法。
背景技术
中心化块链式账本,区别于去中心化的块链式账本(如区块链网络中各节点分布式维护的区块链),是指中心化的数据库服务端维护的本地数据库。有时,也将中心化块链式账本称为Ledger Data Base(Ledger DB)。
中心化块链式账本是在区块链存储方案的基础上进行改进得到的新型存储方案,其能够克服了区块链存储存在的吞吐量低、响应时间长等问题。中心化块链式账本的服务对象通常是企业级用户,用户一般在数据库服务端注册账户,并通过账户将自身业务产生的业务数据封装成业务交易,将业务交易提交给数据库服务端,数据库服务端受理业务交易后,会基于一定的成块条件,将若干业务交易打包成数据块写入中心化块链式账本进行存储。
由于数据库服务端通常会根据业务交易的受理顺序,将一批批业务交易打包成一个个数据块写入账本,而数据服务端通常会受理多个用户提交的交易;因此,即便是同一个用户,其连续提交给数据库服务端的业务交易也不会被集中存储,而是分散在同一数据块中的不同位置以及不同数据块中,不利于进行业务交易的查询。
发明内容
本申请实施例是为了解决现有的基于中心化块链式账本存储模式下查询交易的效率不高的问题。
为解决上述技术问题,本申请实施例是这样实现的:
根据本说明书实施例的第1方面,提供一种基于中心化块链式账本的交易存储方法,应用于数据库服务端,所述数据库服务端维护有中心化块链式账本,所述方法包括:
受理用户账户提交的业务交易;所述业务交易携带有至少一个业务关键词;
将所述业务交易存入中心化块链式账本,以及获取所述业务交易的交易标识,作为第一交易标识;所述第一交易标识用于在中心化块链式账本中唯一标识所述业务交易;
针对所述业务交易携带的每个业务关键词,若该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表;
若该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。
根据本说明书实施例的第2方面,提供一种基于第1方面所述的交易存储方法的交易查询方法,应用于数据库服务端,所述交易查询方法包括:
接收用户账户发送的查询请求,并确定所述查询请求指定的至少一个业务关键词以及指定的每个业务关键词对应的待查询交易序号;
针对所述查询请求指定的每个业务关键词,从该业务关键词对应的缓存空间中获取交易标识,并根据获取的交易标识与所述统一索引表,查询该业务关键词对应的待查询交易序号的业务交易。
根据本说明书实施例的第3方面,提供一种基于中心化块链式账本的交易存储装置,应用于数据库服务端,所述数据库服务端维护有中心化块链式账本,所述装置包括:
受理模块,受理用户账户提交的业务交易;所述业务交易携带有至少一个业务关键词;
存储模块,将所述业务交易存入中心化块链式账本,以及获取所述业务交易的交易标识,作为第一交易标识;所述第一交易标识用于在中心化块链式账本中唯一标识所述业务交易;
第一处理模块,针对所述业务交易携带的每个业务关键词,若该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表;
第二处理模块,若该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。
根据本说明书实施例的第4方面,提供一种基于第1方面所述的交易存储方法的交易查询装置,应用于数据库服务端,所述装置包括:
接收模块,接收用户账户发送的查询请求,并确定所述查询请求指定的至少一个业务关键词以及指定的每个业务关键词对应的待查询交易序号;
查询模块,针对所述查询请求指定的每个业务关键词,从该业务关键词对应的缓存空间中获取交易标识,并根据获取的交易标识与所述统一索引表,查询该业务关键词对应的待查询交易序号的业务交易。
通过本说明书实施例中所提供的方案,用户提交给数据库服务端的业务交易中可以指定业务关键词,用来标记业务交易涉及的业务类型。数据库服务端除了维护中心化块链式账本之外,还会在缓存中维护每个业务关键词对应缓存空间,此外,还会维护一个统一索引表,用来记录与业务交易有关的索引信息。
具体而言,数据库服务端获取当前的业务交易的第一交易标识,然后针对当前的业务交易中的每个业务关键词,如果该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表;如果该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。
当需要查询业务交易时,可以根据查询请求指定的业务关键词以及业务关键词对应的待查询交易序号,利用统一索引表与该业务关键词对应的缓存空间中的交易标识来进行查询。
通过本说明书的一个或多个实施例,可以实现对存入中心化块链式账本中的业务交易的高效查询。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书提供的一种基于中心化块链式账本的数据存储系统示意图;
图2是本说明书实施例提供的一种基于中心化块链式账本的交易存储方法的流程示意图;
图3是本说明书实施例提供的一种基于中心化块链式账本的交易查询方法的流程示意图;
图4是本说明书实施例提供的一种一种基于中心化块链式账本的交易存储装置的结构示意图;
图5是本说明书实施例提供的一种交易查询装置的结构示意图;
图6是用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
图1是本说明书提供的一种基于中心化块链式账本的数据存储系统示意图。如图1所示,数据存储系统包括中心化的数据库服务端与多个客户端。其中,数据库服务端负责维护中心化块链式账本,每个客户端对应于一个企业级用户(机构),每个企业级用户自身又进一步对接一个或多个个人用户。
例如,外卖平台与电商平台分别作为用户在数据库服务端上进行注册,获得用户账户,并且,分别在自己的设备上安装数据库服务端提供的客户端,在客户端中登录用户账户,从而具有与数据库服务端进行数据交互的能力。
而外卖平台与电商品台又分别对接各自的大量个人用户。某个个人用户使用自己的手机上安装的外卖客户端购买一份外卖食品后,外卖平台的设备会生成一外卖订单记录(即外卖平台基于业务产生的业务数据),外卖平台会通过自己在数据库服务端注册的用户账户将订单记录封装成交易(类似于区块链,本文所述的交易是适用于中心化块链式账本存储的专用数据结构),将交易提交给数据库服务端,以便数据库服务端将交易封装进数据库写入中心化块链式账本进行存储。类似地,电商平台也会将基于电商业务产生的每个电商订单封装成交易提交给数据库服务端。
为了描述的方便,后文所述的用户是指数据库服务端所服务的企业级用户,后文所述的用户账户,是指企业级用户在数据库服务端注册的账户。
此外,对中心化块链式账本中存储的业务交易所携带的业务关键词进行说明。业务关键词,是指用户在需要对基于自身业务所产生业务数据进行存储时,为业务数据分配的业务关键词。例如,用户可以是电商平台,用户产生的业务数据可以是商品订单,对于不同商品种类的商品订单,可以有不同的业务关键词。例如,数码商品订单对应的业务关键词可以是数码,食品订单对应的业务关键词可以有两个,分别是食品与消耗品。
数据库服务端将用户提交的封装有业务数据与业务关键词的业务交易存入中心化块链式账本中。
由于数据库服务端需要将一批批交易打包成数据块写入账本,并且,数据服务端通常会受理多个用户提交的交易,并且,即便的同一个用户,其通常也会连续提交不同业务关键词的业务交易,因此,账本中存储的各业务交易实际上并没有被很好的组织起来方便查阅。而利用业务关键词,数据库服务端后续能够以某个业务关键词为线索(clue),将该业务关键词对应的全部业务交易从账本中筛选出来。
在现有的基于中心化块链式账本的存储模式下,由于数据库服务端通常会根据业务交易的受理顺序,将一批批业务交易打包成一个个数据块写入账本,而数据服务端通常会受理多个用户提交的交易;因此,即便是同一个用户,其连续提交给数据库服务端的业务交易也不会被集中存储,而是分散在同一数据块中的不同位置以及不同数据块中,不利于进行业务交易的查询。
一种可行的思路是,为每个业务关键词设立专用的索引表,数据库服务端针对每个业务交易,在将该业务交易向账本中存储时,获取该业务交易携带的至少一个业务关键,将该业务交易的交易标识写入该业务交易涉及的每个业务关键词对应的索引表中。如此,后续数据库服务端可以根据用户指定的业务关键词,在专用的索引表中进行业务交易查询,获取业务交易的交易标识,直接在账本中定位业务交易。
然而,上述这种方式的弊端在于,实践中业务关键词的数量很多,倘若为每个业务关键词都设立专用的索引表,数据库服务端将会为了维护大量的索引表而耗费过多的资源。
而在本说明书的一个或多个实施例中,数据库服务端除了维护中心化块链式账本之外,还会在缓存中维护每个业务关键词对应缓存空间,此外,还会维护一个统一索引表,用来记录与业务交易有关的索引信息。具体而言,数据库服务端获取当前的业务交易的第一交易标识,然后针对当前的业务交易中的每个业务关键词,如果该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表;如果该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。
当需要查询业务交易时,可以根据查询请求指定的业务关键词以及业务关键词对应的待查询交易序号,利用统一索引表与该业务关键词对应的缓存空间中的交易标识来进行查询。如此,可以实现对存入中心化块链式账本中的业务交易的高效查询。
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图2是本说明书实施例提供的一种基于中心化块链式账本的交易存储方法的流程示意图,包括如下步骤:
S200:受理用户账户提交的业务交易。
图2所示方法流程的执行主体是中心化的数据库服务端。需要说明的是,在本说明书实施例中,数据库服务端不仅可以受理用户账户提交的业务交易,还可以受理用户账户提交的其他类型的交易,如权限操作交易。
业务交易是指用于对用户基于自身业务产生的业务数据进行存储的交易。因此,通常而言,业务交易中才会携带业务关键词。可以理解,本说明书中的重点阐述如何存储业务交易与查询业务交易,对于非业务交易不作具体展开。
在本说明书实施例中,数据库服务端上可能仅注册有一个用户,也可能注册有不止一个用户。而不同的用户之间是业务隔离的,因此,一搬而言,不同用户提交数据库服务端的业务交易所携带的业务关键词是不会相同的。
为了描述的方便,图2所示的方法流程是针对任一用户账户提交给数据库服务端的任一业务交易而言的。
S202:将所述业务交易存入中心化块链式账本,以及获取所述业务交易的交易标识,作为第一交易标识。
在本说明书实施例中,交易标识是指在中心化块链式账本中唯一标识交易的数据。中心化块链式账本可以支持为每个业务交易配置唯一标识的功能以及根据唯一标识查询到相应业务交易的功能。
如果中心化块链式账本不支持为每个业务交易配置唯一标识的功能,则可以将每个业务交易在账本中的存储位置信息作为交易标识。交易存储位置信息包括:业务交易所在的数据块的数据块序号与业务交易在数据块中的偏移量(offset)。
S204:针对所述业务交易携带的每个业务关键词,若该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表。
S206:若该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。
业务交易中可以携带一个业务关键词,也可以携带不止一个业务关键词。为了描述的方便,步骤S204~S206仅是针对一个业务关键词而言的。
业务关键词首次出现,是指数据库服务端第一次提取到该业务关键词,数据库服务端之前没有提取过该业务关键词,也就没有在缓存中创建该业务关键词对应的缓存空间。
创建每个业务关键词对应的缓存空间的目的是将每个业务关键词下最近一个存储的业务交易的交易标识进行缓存,对于当前处理的业务交易,可以将当前的业务交易的交易标识与缓存中读取的交易标识建立对应关系后存入统一索引表,如此,虽然统一索引表中存储了大量不同业务关键词对应的业务交易索引信息,看起来是凌乱的,但是,根据某个业务关键词下最近一个存储的业务交易的交易标识可以向前逐个追溯到该业务关键词下的每个业务交易的交易标识。
在本文中,第一交易标识是指当前要存储的业务交易的交易标识,当前要存储的业务交易就是其涉及的业务关键词下最近一个存储的业务交易。因此,需要确保该业务关键词对应的缓存空间中更新为当前要存储的业务交易的交易标识。
在本说明书实施例中,由于统一索引表中记录了全部业务关键词下的业务交易索 引信息,因此,可以将每条索引记录中添加业务关键词,以标识该条索引记录是哪个业务关 键词对应的索引信息。可以理解,在统一索引表中,“业务关键词+第一交易标识”可以作为 主键。下表1是本说明书实施例示例性给出的一种统一索引表。
Figure 13438DEST_PATH_IMAGE001
图3是本说明书实施例提供的一种基于中心化块链式账本的交易查询方法的流程示意图,包括:
S300:接收用户账户发送的查询请求,并确定所述查询请求指定的至少一个业务关键词以及指定的每个业务关键词对应的待查询交易序号。
图3所示方法的执行主体是数据库服务端。
在实际应用中,用户可以选择向数据库服务端指定至少一个业务关键词与至少一个待查询交易序号。例如,用户可以通过查询请求指定业务关键词“衣服订单”与待查询交易序号5、15,表明要查询涉及衣服订单的第5个和15个(数据库服务端的存储顺序)业务交易。
具体而言,用户可以指定一个连续的待查询交易序号区间。例如,用户可以通过查询请求指定业务关键词“衣服订单”与序号范围(5,15),表明要查询涉及衣服订单的第5至15个(数据库服务端的存储顺序)业务交易。
当然,用户也可以请求查询某个业务关键词下的全部业务交易。
S302:针对所述查询请求指定的每个业务关键词,从该业务关键词对应的缓存空间中获取交易标识。
通过步骤S302获取的交易标识,是指每个业务关键词涉及的最近一个存储的业务交易的交易标识。
S304:根据获取的交易标识与统一索引表,查询该业务关键词对应的待查询交易序号的业务交易。
基于前文对图2所示的存储方法流程的介绍,可以理解,步骤S304具体这样执行:首先在统一索引表中定位“该业务关键词+获取的交易标识”对应的索引记录,接着,读取上一个业务交易的交易标识;然后,再次定位“该业务关键词+读取的上一个业务交易的交易标识”对应的索引记录,继续读取上一个业务交易的交易标识,直至定位到该业务关键词对应每个待查询交易序号所对应的业务交易。如此,数据库服务端可以获取每个待查询业务交易的交易标识,以便从中心化块链式账本中查询这些业务交易返回给用户。
此外,查询请求具体可以是查询交易。这种情况下,数据库服务端还需要将查询交易也写入中心化块链式账本,相当于对用户的查询记录进行了存证。
另外,考虑到在实际应用中,如果用户想要查询的某个业务关键词下的业务交易与该业务关键词下的最近一个业务交易之间间隔太多的其他业务交易,则数据库服务端基于统一索引表从最近一个业务交易开始逐个向前追溯效率过低。
为此,在图2所示的方法流程中,可以针对每个业务关键词,基于所述统一索引表,确定该业务关键词下,存入账本顺序位于所述第二交易标识对应的业务交易之前的其他业务交易,并将确定的其他业务交易对应的交易标识作为第三交易标识。然后,将该业务关键词、所述第一交易标识、所述第二交易标识、所述第三交易标识以对应关系形式写入所述统一索引表。
如此,在进行业务交易查询时,可以不必从最近一个业务交易逐个向前追溯,而是从最近一个业务交易开始跳跃性地向前追溯,效率更高。例如,如果用户想要查询某个业务关键词下第5个交易,而目前该业务关键词下已经有100个交易,那么,数据库服务端可以基于统一索引表,从第100个跳跃到第90个,进而跳跃到第60个、第40个、第10个、第5个。
本说明书示例性的给出了一种用于确定第三交易标识的算法,包括:
假设当前业务交易的序号为X,确定当前的业务交易的交易序号的二进制形式X’,确定X’从末位向前连续为0的位数N,确定与当前业务交易间隔N个业务交易的其他业务交易的交易标识为第三交易标识。
例如,如果N=0,则不确定第三交易标识;如果N=2,则确定与当前业务交易间隔2个业务交易的其他业务交易的交易标识为第三交易标识.。
下表2是本说明书实施例示例性给出的另一种统一索引表。
Figure 353283DEST_PATH_IMAGE002
图4是本说明书实施例提供的一种基于中心化块链式账本的交易存储装置的结构示意图,应用于数据库服务端,所述数据库服务端维护有中心化块链式账本,所述装置包括:
受理模块401,受理用户账户提交的业务交易;所述业务交易携带有至少一个业务关键词;
存储模块402,将所述业务交易存入中心化块链式账本,以及获取所述业务交易的交易标识,作为第一交易标识;所述第一交易标识用于在中心化块链式账本中唯一标识所述业务交易;
第一处理模块403,针对所述业务交易携带的每个业务关键词,若该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表;
第二处理模块404,若该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。
所述第一交易标识,为所述业务交易在中心化块链式账本中的交易存储位置信息;所述交易存储位置信息包括:所述业务交易所在的数据块的数据块序号与所述业务交易在数据块中的偏移量。
所述第二处理模块404,在将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表之前,基于所述统一索引表,确定该业务关键词下,存入账本顺序位于所述第二交易标识对应的业务交易之前的其他业务交易,并将确定的其他业务交易对应的交易标识作为第三交易标识;将该业务关键词、所述第一交易标识、所述第二交易标识、所述第三交易标识以对应关系形式写入所述统一索引表。
图5是本说明书实施例提供的一种交易查询装置的结构示意图,应用于数据库服务端,所述装置包括:
接收模块501,接收用户账户发送的查询请求,并确定所述查询请求指定的至少一个业务关键词以及指定的每个业务关键词对应的待查询交易序号;
查询模块502,针对所述查询请求指定的每个业务关键词,从该业务关键词对应的缓存空间中获取交易标识,并根据获取的交易标识与所述统一索引表,查询该业务关键词对应的待查询交易序号的业务交易。
所述查询请求为查询交易;
所述装置还包括:
写入模块503,将所述查询交易写入中心化块链式账本。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图2或3所示方法。
图6示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图2或图3所示方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (11)

1.一种基于中心化块链式账本的交易存储方法,应用于数据库服务端,所述数据库服务端维护有中心化块链式账本,所述方法包括:
受理用户账户提交的业务交易;所述业务交易携带有至少一个业务关键词;
将所述业务交易存入中心化块链式账本,以及获取所述业务交易的交易标识,作为第一交易标识;所述第一交易标识用于在中心化块链式账本中唯一标识所述业务交易;
针对所述业务交易携带的每个业务关键词,若该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表;
若该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。
2.如权利要求1所述的方法,所述第一交易标识,为所述业务交易在中心化块链式账本中的交易存储位置信息;所述交易存储位置信息包括:所述业务交易所在的数据块的数据块序号与所述业务交易在数据块中的偏移量。
3.如权利要求1所述的方法,在将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表之前,所述方法还包括:
基于所述统一索引表,确定该业务关键词下,存入账本顺序位于所述第二交易标识对应的业务交易之前的其他业务交易,并将确定的其他业务交易对应的交易标识作为第三交易标识;
将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,具体包括:
将该业务关键词、所述第一交易标识、所述第二交易标识、所述第三交易标识以对应关系形式写入所述统一索引表。
4.一种基于权利要求1~3任一项所述的交易存储方法的交易查询方法,应用于数据库服务端,所述交易查询方法包括:
接收用户账户发送的查询请求,并确定所述查询请求指定的至少一个业务关键词以及指定的每个业务关键词对应的待查询交易序号;
针对所述查询请求指定的每个业务关键词,从该业务关键词对应的缓存空间中获取交易标识,并根据获取的交易标识与所述统一索引表,查询该业务关键词对应的待查询交易序号的业务交易。
5.如权利要求4所述的方法,所述查询请求为查询交易;
所述方法还包括:
将所述查询交易写入中心化块链式账本。
6.一种基于中心化块链式账本的交易存储装置,应用于数据库服务端,所述数据库服务端维护有中心化块链式账本,所述装置包括:
受理模块,受理用户账户提交的业务交易;所述业务交易携带有至少一个业务关键词;
存储模块,将所述业务交易存入中心化块链式账本,以及获取所述业务交易的交易标识,作为第一交易标识;所述第一交易标识用于在中心化块链式账本中唯一标识所述业务交易;
第一处理模块,针对所述业务交易携带的每个业务关键词,若该业务关键词首次出现,则创建该业务关键词对应的缓存空间,将所述第一交易标识写入该业务关键词对应的缓存空间,并且将该业务关键词、所述第一交易标识以对应关系形式写入统一索引表;
第二处理模块,若该业务关键词非首次出现,则从该业务关键词对应的缓存空间中获取交易标识,作为第二交易标识,将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表,并且将该业务关键词对应的缓存空间中的第二交易标识更新为所述第一交易标识。
7.如权利要求6所述的装置,所述第一交易标识,为所述业务交易在中心化块链式账本中的交易存储位置信息;所述交易存储位置信息包括:所述业务交易所在的数据块的数据块序号与所述业务交易在数据块中的偏移量。
8.如权利要求6所述的装置,所述第二处理模块,在将该业务关键词、所述第一交易标识、所述第二交易标识以对应关系形式写入所述统一索引表之前,基于所述统一索引表,确定该业务关键词下,存入账本顺序位于所述第二交易标识对应的业务交易之前的其他业务交易,并将确定的其他业务交易对应的交易标识作为第三交易标识;将该业务关键词、所述第一交易标识、所述第二交易标识、所述第三交易标识以对应关系形式写入所述统一索引表。
9.一种基于权利要求1~3任一项所述的交易存储方法的交易查询装置,应用于数据库服务端,所述装置包括:
接收模块,接收用户账户发送的查询请求,并确定所述查询请求指定的至少一个业务关键词以及指定的每个业务关键词对应的待查询交易序号;
查询模块,针对所述查询请求指定的每个业务关键词,从该业务关键词对应的缓存空间中获取交易标识,并根据获取的交易标识与所述统一索引表,查询该业务关键词对应的待查询交易序号的业务交易。
10.如权利要求9所述的装置,所述查询请求为查询交易;
所述装置还包括:
写入模块,将所述查询交易写入中心化块链式账本。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至5任一项所述的方法。
CN202010544109.7A 2020-06-15 2020-06-15 一种基于中心化块链式账本的交易存储、查询方法 Active CN111444198B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011105223.6A CN113806357A (zh) 2020-06-15 2020-06-15 一种基于中心化块链式账本的交易存储、查询方法
CN202010544109.7A CN111444198B (zh) 2020-06-15 2020-06-15 一种基于中心化块链式账本的交易存储、查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010544109.7A CN111444198B (zh) 2020-06-15 2020-06-15 一种基于中心化块链式账本的交易存储、查询方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202011105223.6A Division CN113806357A (zh) 2020-06-15 2020-06-15 一种基于中心化块链式账本的交易存储、查询方法

Publications (2)

Publication Number Publication Date
CN111444198A true CN111444198A (zh) 2020-07-24
CN111444198B CN111444198B (zh) 2020-09-25

Family

ID=71650365

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011105223.6A Pending CN113806357A (zh) 2020-06-15 2020-06-15 一种基于中心化块链式账本的交易存储、查询方法
CN202010544109.7A Active CN111444198B (zh) 2020-06-15 2020-06-15 一种基于中心化块链式账本的交易存储、查询方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202011105223.6A Pending CN113806357A (zh) 2020-06-15 2020-06-15 一种基于中心化块链式账本的交易存储、查询方法

Country Status (1)

Country Link
CN (2) CN113806357A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462141A (zh) * 2013-09-24 2015-03-25 中国移动通信集团重庆有限公司 一种数据存储与查询的方法、系统及存储引擎装置
US20190108205A1 (en) * 2017-10-10 2019-04-11 P3 Data Systems, Inc. Structured document creation and processing, dynamic data storage and reporting system
US20190377731A1 (en) * 2015-05-14 2019-12-12 Deephaven Data Labs Llc Computer data distribution architecture
CN110704432A (zh) * 2019-09-20 2020-01-17 贝壳技术有限公司 数据索引的建立方法和装置、可读存储介质、电子设备
CN110825737A (zh) * 2019-10-18 2020-02-21 支付宝(杭州)信息技术有限公司 索引创建和数据查询方法、装置及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102093553B1 (ko) * 2018-04-18 2020-03-25 김현준 블록체인 기술과 빅데이터 분석 및 ai를 통한 지역 기반 모바일 물물교환 거래 서비스 제공 시스템
CN110489971A (zh) * 2018-05-15 2019-11-22 微软技术许可有限责任公司 安全的数据集管理
CN109086413A (zh) * 2018-08-03 2018-12-25 上海点融信息科技有限责任公司 用于搜索区块链数据的方法、设备及可读存储介质
CN109766707B (zh) * 2019-01-17 2022-01-14 南方科技大学 基于区块链的数据处理方法、装置、设备和介质
CN110942392A (zh) * 2019-12-10 2020-03-31 中国建设银行股份有限公司 一种业务数据处理方法、装置、设备和介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462141A (zh) * 2013-09-24 2015-03-25 中国移动通信集团重庆有限公司 一种数据存储与查询的方法、系统及存储引擎装置
US20190377731A1 (en) * 2015-05-14 2019-12-12 Deephaven Data Labs Llc Computer data distribution architecture
US20190108205A1 (en) * 2017-10-10 2019-04-11 P3 Data Systems, Inc. Structured document creation and processing, dynamic data storage and reporting system
CN110704432A (zh) * 2019-09-20 2020-01-17 贝壳技术有限公司 数据索引的建立方法和装置、可读存储介质、电子设备
CN110825737A (zh) * 2019-10-18 2020-02-21 支付宝(杭州)信息技术有限公司 索引创建和数据查询方法、装置及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
何立志: "基于Hadoop平台的时空数据索引和查询技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Also Published As

Publication number Publication date
CN113806357A (zh) 2021-12-17
CN111444198B (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
TWI743458B (zh) 一種並行化執行區塊鏈交易的方法、裝置及系統
CN109145025B (zh) 一种多数据源集成的数据查询方法、装置及业务服务器
CN108599973B (zh) 一种日志关联方法、装置及设备
CN109359118B (zh) 一种数据写入方法及装置
CN108932286B (zh) 一种数据查询方法及装置
CN110162512B (zh) 一种日志检索方法、装置及存储介质
CN110020846B (zh) 一种转账业务处理方法及系统
CN110750530B (zh) 一种业务系统及其数据核对方法
CN111506580B (zh) 一种基于中心化块链式账本的交易存储方法
CN111459948B (zh) 一种基于中心化块链式账本的交易完整性验证方法
CN107798135A (zh) 分页查询方法及装置和电子设备
CN111444216A (zh) 一种基于中心化块链式账本的数据块删除方法
CN111784468A (zh) 一种账户关联方法、装置及电子设备
CN111464319B (zh) 一种基于中心化块链式账本的交易存储、签名校验方法
CN111444198B (zh) 一种基于中心化块链式账本的交易存储、查询方法
CN110019538B (zh) 一种数据表切换方法及装置
CN108804625B (zh) 一种lsm树的优化方法、装置及计算机设备
CN109656805B (zh) 用于业务分析的代码链路的生成方法、装置及业务服务器
CN111506613A (zh) 一种数据记录的关联关系的查询方法、系统、装置及设备
CN113836154B (zh) 一种数据库切换方法及装置
CN113761400A (zh) 一种访问请求转发方法、装置及设备
CN112364030B (zh) 一种基于可信账本数据库的业务衍生记录存储方法
CN112364031B (zh) 一种基于可信账本数据库的业务衍生记录存储方法
CN109299139B (zh) 一种信息查询方法及装置
CN113282624B (zh) 规则匹配方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40034043

Country of ref document: HK