CN110162540A - 区块链账本数据的查询方法、电子装置及存储介质 - Google Patents
区块链账本数据的查询方法、电子装置及存储介质 Download PDFInfo
- Publication number
- CN110162540A CN110162540A CN201910308012.3A CN201910308012A CN110162540A CN 110162540 A CN110162540 A CN 110162540A CN 201910308012 A CN201910308012 A CN 201910308012A CN 110162540 A CN110162540 A CN 110162540A
- Authority
- CN
- China
- Prior art keywords
- page
- block chain
- data
- account book
- written
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种区块链账本数据的查询方法、电子装置及存储介质,其中,该方法包括:获取查询请求,其中,所述查询请求中携带有目标页的页码;根据所述目标页的页码,从区块链账本中获取所述目标页的页码对应的关键字集,其中,所述关键字集中存在一个或多个关键字;从所述区块链账本中获取所述关键字集中各个关键字对应的值;将获取的关键字集和所述关键字中各个关键字对应值进行组合;将组合结果作为查询结果,返回所述查询结果。通过上述方式解决了现有的无法按页对区块链账本中的数据进行查询的技术问题,达到了有效实现按页数据查询的目的,从而可以有效提升区块链账本的查询和记账效率。
Description
技术领域
本发明涉及数据库技术领域,具体涉及一种区块链账本数据的查询方法、电子装置及存储介质。
背景技术
随着区块链技术的不断发展,越来越多的人开始研究区块链技术,区块链技术的应用也越来越广泛。对于区块链而言,区块链(Fabric)K-V账本是区块链技术中很重要的组成。
对于区块链账本的记账和查询功能操作的处理效率,将直接影响区块链***的效率和使用情况,然而,现有的区块链账本都还不支持按页的查询方式,这样将极大地影响区块链账本记账和查询的效率。
针对上述问题,目前尚未提出有效地解决方案。
发明内容
本发明的目的在于提供一种区块链账本数据的查询方法、电子装置及存储介质,进而解决现有的无法按页进行查询导致的查询和记账效率低下的技术问题。
本发明是通过下述技术方案来解决上述技术问题:
根据本发明的一个方面,提供了一种区块链账本数据的查询方法,包括如下步骤:
获取查询请求,其中,所述查询请求中携带有目标页的页码;
根据所述目标页的页码,从区块链账本中获取所述目标页的页码对应的关键字集,其中,所述关键字集中存在一个或多个关键字;
从所述区块链账本中获取所述关键字集中各个关键字对应的值;
将获取的关键字集和所述关键字中各个关键字对应值进行组合;
将组合结果作为查询结果,返回所述查询结果。
在一个实施方式中,按照如下方式建立所述区块链账本,包括:
获取区块链账本的建立规则,其中,所述建立规则中包括每页的限制条数;
获取一条待写入所述区块链账本的数据,其中,所述一条待写入所述区块链账本的数据包括:关键字和值;
获取所述区块链账本当前已写入数据的页数和当前页已写入的数据条数;
确定当前页已写入的数据条数是否达到每页的限制条数;
在确定未达到的情况下,将所述一条待写入区块链账本的数据写入当前页;
在所述区块链账本中记录当前页的页码和当前页中已写入的数据条数。
在一个实施方式中,在确定当前页已写入的数据条数是否达到每页的限制条数之后,还包括:
在确定当前页已写入的数据条数达到每页的限制条数的情况下,将当前页的页码加1,作为下一当前页;
将所述一条待写入区块链账本的数据写入下一当前页;
在所述区块链账本中记录下一页当前页页的页码和下一当前页中已写入的数据条数。
在一个实施方式中,将所述一条待写入区块链账本的数据写入下一当前页之后,还包括:
记录所述一条待写入区块链账本的数据的关键字,并将所述一条待写入区块链账本的数据的关键字与所述下一页的页码关联将所述一条待写入区块链账本的数据的关键字记录在当前页的页码之后。
根据本发明的另一个方面,提供了一种电子装置,包括存储器和处理器,所述存储器用于存储可被所述处理器执行的区块链账本数据的查询***,所述区块链账本数据的查询***包括:
第一获取模块,用于获取查询请求,其中,所述查询请求中携带有目标页的页码;
第二获取模块,用于根据所述目标页的页码,从区块链账本中获取所述目标页的页码对应的关键字集,其中,所述关键字集中存在一个或多个关键字;
第三获取模块,用于从所述区块链账本中获取所述关键字集中各个关键字对应的值;
组合模块,用于将获取的关键字集和所述关键字中各个关键字对应值进行组合;
返回模块,用于将组合结果作为查询结果,返回所述查询结果。
在一个实施方式中,上述装置还包括:
建立模块,用于按照如下方式建立所述区块链账本:
获取区块链账本的建立规则,其中,所述建立规则中包括每页的限制条数;
获取一条待写入所述区块链账本的数据,其中,所述一条待写入所述区块链账本的数据包括:关键字和值;
获取所述区块链账本当前已写入数据的页数和当前页已写入的数据条数;
确定当前页已写入的数据条数是否达到每页的限制条数;
在确定未达到的情况下,将所述一条待写入区块链账本的数据写入当前页;
在所述区块链账本中记录当前页的页码和当前页中已写入的数据条数。
在一个实施方式中,所述建立模块还用于在确定当前页已写入的数据条数是否达到每页的限制条数之后,在确定当前页已写入的数据条数达到每页的限制条数的情况下,将当前页的页码加1,作为下一当前页;
将所述一条待写入区块链账本的数据写入下一当前页;
在所述区块链账本中记录下一当前页的页码和下一当前页中已写入的数据条数。
在一个实施方式中,所述建立模块还用于在将所述一条待写入区块链账本的数据写入下一当前页之后,记录所述一条待写入区块链账本的数据的关键字,并将所述一条待写入区块链账本的数据的关键字与所述下一页的页码关联将所述一条待写入区块链账本的数据的关键字记录在当前页的页码之后。
根据本发明的又一个方面,提供了一种计算机设备,包括:存储器和处理器,其特征在于,所述处理器用于执行如下步骤:
获取查询请求,其中,所述查询请求中携带有目标页的页码;
根据所述目标页的页码,从区块链账本中获取所述目标页的页码对应的关键字集,其中,所述关键字集中存在一个或多个关键字;
从所述区块链账本中获取所述关键字集中各个关键字对应的值;
将获取的关键字集和所述关键字中各个关键字对应值进行组合;
将组合结果作为查询结果,返回所述查询结果。
根据本发明的有一个方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现如下步骤:
获取查询请求,其中,所述查询请求中携带有目标页的页码;
根据所述目标页的页码,从区块链账本中获取所述目标页的页码对应的关键字集,其中,所述关键字集中存在一个或多个关键字;
从所述区块链账本中获取所述关键字集中各个关键字对应的值;
将获取的关键字集和所述关键字中各个关键字对应值进行组合;
将组合结果作为查询结果,返回所述查询结果。
本发明的积极进步效果在于:获取携带有目标页的页码的查询请求,根据目标页的页码,从区块链账本中获取目标页的页码对应的关键字集,其中,所述关键字集中存在一个或多个关键字;从所述区块链账本中获取所述关键字集中各个关键字对应的值;将获取的关键字集和所述关键字中各个关键字对应值进行组合;将组合结果作为查询结果,返回所述查询结果。通过上述方式解决了现有的无法按页对区块链账本中的数据进行查询的技术问题,达到了有效实现按页数据查询的目的,从而可以有效提升区块链账本的查询和记账效率。
附图说明
图1是根据本发明实施例的区块链账本数据的查询方法的方法流程图;
图2是根据本发明实施例的区块链账本数据的查询***的结构框图;
图3是根据本发明实施例的电子装置的一种可选的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到现有的区块链(Fabric)K-V账本记账和查询效率低下的问题,主要是因为区块链(Fabric)K-V账本没有分页记账和查询功能,如果可以调整区块链(Fabric)K-V账本的存储方式,使得区块链(Fabric)K-V账本可以实现数据的分页管理,那么可以有效提升区块链(Fabric)K-V账本记账和查询的效率。
为此,在本例中提供了一种区块链账本数据的查询方法方法、电子设备,下面对该方法和电子设备进行具体说明如下:
实施例一
下面结合附图对本发明提供的区块链账本数据的查询方法进行说明。
图1为本发明区块链账本数据的查询方法的一种可选的流程示意图,如图1所示,该方法可以包括以下步骤:
步骤101:获取查询请求,其中,所述查询请求中携带有目标页的页码;
步骤102:根据所述目标页的页码,从区块链账本中获取所述目标页的页码对应的关键字集,其中,所述关键字集中存在一个或多个关键字;
步骤103:从所述区块链账本中获取所述关键字集中各个关键字对应的值;
步骤104:将获取的关键字集和所述关键字中各个关键字对应值进行组合;
步骤105:将组合结果作为查询结果,返回所述查询结果。
具体的,上述区块链账本可以是按照如下方式建立的,从而可以实现区块链账本的分页管理:
S1:获取区块链账本的建立规则,其中,所述建立规则中包括每页的限制条数;
例如,可以设定每页的数据条数上限为10条,那么在第一页已经存入了十条数据之后,再有第十一条数据需要存储的时候,就将第十一条数据作为第二页的第一条数据存储进去。其中,页可以理解为一个虚拟的概念,不是实际对数据库的分区,仅是将数据分为一页一页的数据。
S2:获取一条待写入所述区块链账本的数据,其中,所述一条待写入所述区块链账本的数据包括:关键字和值;
即,每一条数据可以包括一对K-V值,即,包括一个关键字和该关键字对应的数值,例如:关键字为张三,对应的值为400元。其中,一个关键字也可以对应两个或者多个值,那么这一个关键字和多个值可以作为一个键值对,也就是一条数据存储。
S3:获取所述区块链账本当前已写入数据的页数和当前页已写入的数据条数;
在实际实现的时候,可以在区块链账本中专门划定一个区域或者字段,用于存储当前已被写入的页面,和当前页数已经被写入了几条数据。
S4:确定当前页已写入的数据条数是否达到每页的限制条数;
即,在读取当前页数已经被写入了几条数据之后,就可以确定与限制条数进行对比,确定当前页是否已经存满数据。
S4:在确定未达到的情况下,将所述一条待写入区块链账本的数据写入当前页;
S5:在确定当前页已写入的数据条数达到每页的限制条数的情况下,将当前页的页码加1,作为下一页;
S6:在所述区块链账本中记录下一页的页码和下一页中已写入的数据条数,记录所述一条待写入区块链账本的数据的关键字,并将所述一条待写入区块链账本的数据的关键字与所述下一页的页码关联。
S7:在所述区块链账本中记录下一页的页码和下一页中已写入的数据条数。
举例而言,限制每页条数最多为2条,已存入的数据为<张三,200>待存入的数据为<李四,400>。因此,可以获取metadata值为1,1(其中,metadata表示当前已经存储到哪一页,该页已经存储了几条数据),基于metadata值为1,1可以确定,当前已经存储到了第一页的第一条数据,因1小于2,表明当前第一页还没存满,因此,可以将page1值更新为:<page1,[张三,李四]>,在完成之后,更新metadata值为[1,2];然后,将<李四,400>数据增加到数据库中,实现区块链账本的记账需求。
基于该分页建立的区块链账本,也就可以进行分页的查询。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
下面结合一个具体实例进行说明如下,针对区块链账本,可以创建如下内容以实现对区块链账本的有效记账和查询:
1)创建<cpage,<pagenum&datanum>>,通过<cpage,<pagenum&datanum>>存储实际已经存储到的页码和该页码中已经存在的数据条数;
即,划分一部分字段或者空间用于记录当前存储至的页的页码和当前页已经存储的数据条数。
2)创建<<pagenum>、<key1>>,<<pagenum>、<key2>>,<<pagenum>、<key3>>…用于存储每个页码对应的数据页中所存储数据的关键字。
即,划分一部分字段或空间,用于存储每页数据对应的关键字。
3)创建<<key1>、<data1>>,<<key2>、<data2>>,<<key3>、<data3>>…用于存储关键字对应的实际数据值。
即,设置各个关键字对应的实际数据值。
基于上述的数据内容存储方式,可以执行如下操作,以实现对区块链账本的记账和查询功能:
1)新增数据,可以包括如下步骤:
S1:读取cpage,以获取当前已经存储到的页码;
S2:在当前已经存储到的页码中***当前数据,完成后datanum+1,如果datanum达到设计时页码最大数据量,那么pagenum+1并且datanum置0,即,对cpage的值进行更新;
即,确定当前页中是否已存储至最大数据量,如果没有存储至最大数据量,则存储,如果存储至最大数据量,则存储至下一页。
S3:存储当前数据对应的key(关键字)-value(值)数据。
2)查询数据,可以包括如下步骤:
S1:从查询请求中获取查询参数,其中,该查询参数为页码号pagenum;
S2:获取pagenum中的所有key值;
S3:查询pagenum中的所有key值对应的value值,从而得到并返回pagenum页对应的一页的数据。
即,可以通过存储的页码,及页码对应的关键字,完成基于页码的关键字查询操作。
通过上述方式可以支持区块链账本(Fabric)查询时传入页码参数,返回该页的所有数据。
具体的,对区块链账本中的K-V数据库采用分页设计的方式,对账本上的数据按照功能可以划分为如下表1所示的三个类别:metadata类别、pagenum类别、实际业务数据记录。
表1
下面以一个具体实例说明:现张三、李四、王五三人的账户余额,分别有300,400,500元,那么实际的业务数据键值对如下表2所示:
表2
K值 | V值 |
张三 | 300 |
李四 | 400 |
王五 | 500 |
假设,每页的数据条数规定为2,那么这三条数据需要存放2页,第一页2条数据,第二页1条数据。假设,当前数据库数据条数为0,页码从1开始,条数从0开始,那么此时,metadata对应的值如下表3所示:
表3
K值 | V值 |
metadata | 1,0 |
此时,pagenum属性的K-V值记录均为空。
然后,可以按照如下方式进行操作:
1)新增数据
增加<张三,300>记录:
S1:检查张三记录是否存在,如果存在直接更新,否则继续;
S2:获取metadata值为1,0;即此时处于第1页,含有0条数据,这是初始状态。
S3:从第一页开始记录数据,此时新增page1,将张三数据放到page1,于是有新增数据<page1,张三>,完成后更新metadata值为[1,1],表示当前页为第一页并且有一条数据存放到第一页;
S4:将<张三,300>数据增加到数据库,完成后数据库如下表4所示:
表4
K值 | V值 |
metadata | 1,1 |
page1 | 张三 |
张三 | 300 |
增加<李四,400>记录:
S1:检查李四记录是否存在,如果存在直接更新,否则继续;
S2:获取metadata值为1,1,检查此时page1数据条数为1,小于2;
S3:追加page1值为,<page1,[张三,李四]>,完成后,更新metadata值为[1,2];
S4:将<李四,400>数据增加到数据库,完成后数据库如下表5所示:
表5
K值 | V值 |
metadata | 1,2 |
page1 | 张三,李四 |
张三 | 300 |
李四 | 400 |
增加<王五,500>记录:
S1:检查王五记录是否存在,如果存在直接更新,否则继续;
S2:获取metadata值为1,2,检查此时page1数据条数为2,等于2;
S3:新增page2,<page2,王五>,完成后更新metadata值为[2,1]
S4:将<王五,500>数据增加到数据库,完成后数据库如下表6所示:
表6
K值 | V值 |
metadata | 2,1 |
page1 | 张三,李四 |
page2 | 王五 |
张三 | 300 |
李四 | 400 |
王五 | 500 |
2)查询数据
查询所有页:
S1:获取metadata数据为2,1,可以确定此时数据库中有2页数据;
S2:分别获取page1和page2中的key值集,然后,获取key值集对应的value值集;
S3:组合成page1与page2的数据集返回;
S4:获取page1值集为[张三,李四],获取张三值为300,获取李四值为400;
S5:获取page2值集为[王五],获取王五值为500;
S6:然后对获取的结果进行组合,可以得到:
{
page1:[
{张三:300},
{李四:400}
],
page2:[
{王五:500}
]
}
查询某一页数据:(例如:查询第二页的数据,传入参数为2)
S1:获取page2中的key值集,然后获取key值集对应value值集;
S2:组合成page2的数据集返回;
即,获取page2值集为[王五],获取王五值为500。
S3:组合结果
{
page2:[
{王五:500}
]
}
查询指定K值数据:
S1:传入K值(即,要查询的用户名),直接查询该用户名对应的value值,组合成K-V值返回;
例如:输入李四,查询得到李四的余额为400。
S2:组合返回:
{
李四:400
}
在上例中,在区块链账本中存储实际已经存储到的页码和该页码中已经存在的数据条数,以及页码中所包含的所有数据的键值和每个键值对应的数据值,从而实现了基于页码的数据存在,使得区块链账本(Fabric)在查询时,传入页码参数,就可以返回该页的所有数据。通过上述方式解决了现有的区块链账本不支持分页查询而导致的存储和查询效率低下的问题,达到了有效提升区块链账本存储和查询效率的技术效果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
实施例二
基于上述实施例一中提供的区块链账本数据的查询方法,本实施例中提供一种区块链账本数据的查询***,具体地,图2示出了该区块链账本数据的查询***的可选的结构框图,该区块链账本数据的查询***被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合描述区块链账本数据的查询***在存储介质中的执行过程,以下描述将具体介绍本实施例各程序模块的功能:
如图2所示,区块链账本数据的查询***20可以包括:
第一获取模块201,用于获取查询请求,其中,所述查询请求中携带有目标页的页码;
第二获取模块202,用于根据所述目标页的页码,从区块链账本中获取所述目标页的页码对应的关键字集,其中,所述关键字集中存在一个或多个关键字;
第三获取模块203,用于从所述区块链账本中获取所述关键字集中各个关键字对应的值;
组合模块204,用于将获取的关键字集和所述关键字中各个关键字对应值进行组合;
返回模块205,用于将组合结果作为查询结果,返回所述查询结果。
在一个实施方式中,上述装置还可以包括:建立模块,用于按照如下方式建立所述区块链账本:
S1:获取区块链账本的建立规则,其中,所述建立规则中包括每页的限制条数;
S2:获取一条待写入所述区块链账本的数据,其中,所述一条待写入所述区块链账本的数据包括:关键字和值;
S3:获取所述区块链账本当前已写入数据的页数和当前页已写入的数据条数;
S4:确定当前页已写入的数据条数是否达到每页的限制条数;
S5:在确定未达到的情况下,将所述一条待写入区块链账本的数据写入当前页;
S6:在所述区块链账本中记录当前页的页码和当前页中已写入的数据条数。
在一个实施方式中,上述建立模块还可以用于在确定当前页已写入的数据条数是否达到每页的限制条数之后,在确定当前页已写入的数据条数达到每页的限制条数的情况下,将当前页的页码加1,作为下一页;将所述一条待写入区块链账本的数据写入下一页;在所述区块链账本中记录下一页的页码和下一页中已写入的数据条数。
在一个实施方式中,上述建立模块还可以用于在将所述一条待写入区块链账本的数据写入下一页之后,记录所述一条待写入区块链账本的数据的关键字,并将所述一条待写入区块链账本的数据的关键字与所述下一页的页码关联。
关于上述实施例中的装置,其中各个单元、模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在本实施例的各个实施方式中,获取携带有目标页的页码的查询请求,根据目标页的页码,从区块链账本中获取目标页的页码对应的关键字集,其中,所述关键字集中存在一个或多个关键字;从所述区块链账本中获取所述关键字集中各个关键字对应的值;将获取的关键字集和所述关键字中各个关键字对应值进行组合;将组合结果作为查询结果,返回所述查询结果。通过上述方式解决了现有的无法按页对区块链账本中的数据进行查询的技术问题,达到了有效实现按页数据查询的目的,从而可以有效提升区块链账本的查询和记账效率。
实施例三
在本发明优选的实施例三中提供一种电子装置。图3是根据本发明电子装置一实施例的硬件架构示意图。本实施例中,电子装置2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,电子装置2至少包括但不限于:可通过***总线相互通信连接存储器21、处理器22、网络接口23、以及区块链账本数据的查询***20。其中:
存储器21至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是电子装置2的内部存储模块,例如该电子装置2的硬盘或内存。在另一些实施例中,存储器21也可以是电子装置2的外部存储设备,例如该电子装置2上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括电子装置2的内部存储模块也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于电子装置2的操作***和各类应用软件,例如区块链账本数据的查询***20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制电子装置2的总体操作,例如执行与电子装置2进行数据交互或者通信相关的控制和处理等。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行的区块链账本数据的查询***20等。
网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在电子装置2与其他电子装置之间建立通信连接。例如,网络接口23用于通过网络将电子装置2与外部终端相连,在电子装置2与外部终端之间的建立数据传输通道和通信连接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System ofMobile communication,GSM)、宽带码分多址(Wideband Code Division MultipleAccess,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图3仅示出了具有部件21-23的电子装置,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的区块链账本数据的查询***20还可以被分割为一个或者多个程序模块,一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
实施例四
本实施例还提供一种计算机可读存储介质,计算机可读存储介质内存储有区块链账本数据的查询***,区块链账本数据的查询***可被至少一个处理器所执行,以使至少一个处理器执行如实施例一的区块链账本数据的查询方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作***和各类应用软件,例如实施例二的客户保障分析***的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种区块链账本数据的查询方法,其特征在于,包括如下步骤:
获取查询请求,其中,所述查询请求中携带有目标页的页码;
根据所述目标页的页码,从区块链账本中获取所述目标页的页码对应的关键字集,其中,所述关键字集中存在一个或多个关键字;
从所述区块链账本中获取所述关键字集中各个关键字对应的值;
将获取的关键字集和所述关键字中各个关键字对应值进行组合;
将组合结果作为查询结果,返回所述查询结果。
2.根据权利要求1所述的方法,其特征在于,按照如下方式建立所述区块链账本,包括:
获取区块链账本的建立规则,其中,所述建立规则中包括每页的限制条数;
获取一条待写入所述区块链账本的数据,其中,所述一条待写入所述区块链账本的数据包括:关键字和值;
获取所述区块链账本当前已写入数据的页数和当前页已写入的数据条数;
确定当前页已写入的数据条数是否达到每页的限制条数;
在确定未达到的情况下,将所述一条待写入区块链账本的数据写入当前页;
在所述区块链账本中记录当前页的页码和当前页中已写入的数据条数。
3.根据权利要求2所述的方法,其特征在于,在确定当前页已写入的数据条数是否达到每页的限制条数之后,还包括:
在确定当前页已写入的数据条数达到每页的限制条数的情况下,将当前页的页码加1,作为当前页下一页;
将所述一条待写入区块链账本的数据写入下一页当前页;
在所述区块链账本中记录当前下一页的页码和下一当前页中已写入的数据条数。
4.根据权利要求2或3所述的方法,其特征在于,将所述一条待写入区块链账本的数据写入下一当前页之后,还包括:
记录将所述一条待写入区块链账本的数据的关键字,并将所述一条待写入区块链账本的数据的关键字与所述下一页的页码关联记录在当前页的页码之后。
5.一种电子装置,包括存储器和处理器,其特征在于,所述存储器用于存储可被所述处理器执行的区块链账本数据的查询***,所述区块链账本数据的查询***包括:
第一获取模块,用于获取查询请求,其中,所述查询请求中携带有目标页的页码;
第二获取模块,用于根据所述目标页的页码,从区块链账本中获取所述目标页的页码对应的关键字集,其中,所述关键字集中存在一个或多个关键字;
第三获取模块,用于从所述区块链账本中获取所述关键字集中各个关键字对应的值;
组合模块,用于将获取的关键字集和所述关键字中各个关键字对应值进行组合;
返回模块,用于将组合结果作为查询结果,返回所述查询结果。
6.根据权利要求5所述的装置,其特征在于,还包括:
建立模块,用于按照如下方式建立所述区块链账本:
获取区块链账本的建立规则,其中,所述建立规则中包括每页的限制条数;
获取一条待写入所述区块链账本的数据,其中,所述一条待写入所述区块链账本的数据包括:关键字和值;
获取所述区块链账本当前已写入数据的页数和当前页已写入的数据条数;
确定当前页已写入的数据条数是否达到每页的限制条数;
在确定未达到的情况下,将所述一条待写入区块链账本的数据写入当前页;
在所述区块链账本中记录当前页的页码和当前页中已写入的数据条数。
7.根据权利要求6所述的装置,其特征在于,所述建立模块还用于在确定当前页已写入的数据条数是否达到每页的限制条数之后,在确定当前页已写入的数据条数达到每页的限制条数的情况下,将当前页的页码加1,作为下一当前页;
将所述一条待写入区块链账本的数据写入下一当前页;
在所述区块链账本中记录下一页当前页的页码和下一页当前页中已写入的数据条数。
8.根据权利要求6或7所述的装置,其特征在于,所述建立模块还用于在将所述一条待写入区块链账本的数据写入下一页当前页之后,记录所述一条待写入区块链账本的数据的关键字,并将所述一条待写入区块链账本的数据的关键字与所述下一页的页码关联将所述一条待写入区块链账本的数据的关键字记录在当前页的页码之后。
9.一种计算机设备,包括:存储器和处理器,其特征在于,所述处理器用于执行权利要求1至4中任一项所述方法的步骤。
10.一种非易失性计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至4中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910308012.3A CN110162540B (zh) | 2019-04-17 | 2019-04-17 | 区块链账本数据的查询方法、电子装置及存储介质 |
PCT/CN2019/103764 WO2020211258A1 (zh) | 2019-04-17 | 2019-08-30 | 区块链账本数据的查询方法、电子装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910308012.3A CN110162540B (zh) | 2019-04-17 | 2019-04-17 | 区块链账本数据的查询方法、电子装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110162540A true CN110162540A (zh) | 2019-08-23 |
CN110162540B CN110162540B (zh) | 2023-06-06 |
Family
ID=67639417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910308012.3A Active CN110162540B (zh) | 2019-04-17 | 2019-04-17 | 区块链账本数据的查询方法、电子装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110162540B (zh) |
WO (1) | WO2020211258A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110618972A (zh) * | 2019-08-26 | 2019-12-27 | 达疆网络科技(上海)有限公司 | 一种利用自增Id增进深分页方法 |
WO2020211258A1 (zh) * | 2019-04-17 | 2020-10-22 | 平安科技(深圳)有限公司 | 区块链账本数据的查询方法、电子装置及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11210404B2 (en) * | 2019-06-14 | 2021-12-28 | Netiq Corporation | Blockchain-based state verifications of software component vulnerability database for software products |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463655A (zh) * | 2017-07-27 | 2017-12-12 | 无锡雅座在线科技股份有限公司 | 查询数据的方法、装置和*** |
CN109241361A (zh) * | 2018-08-31 | 2019-01-18 | 上海雄九投资控股(集团)有限公司 | 基于区块链的数据处理方法 |
CN109286676A (zh) * | 2018-10-15 | 2019-01-29 | 国网上海市电力公司 | 一种基于区块链的电力数据安全信息*** |
CN109522314A (zh) * | 2018-10-16 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于区块链的数据归档方法及终端设备 |
CN109542979A (zh) * | 2018-11-19 | 2019-03-29 | 广州矩阵信息科技有限公司 | 一种区块链***快速同步及简精数据存储的方式 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
CN107247773B (zh) * | 2017-06-07 | 2018-05-15 | 北京邮电大学 | 一种基于区块链的在分布式数据库中进行交易查询的方法 |
CN107729371B (zh) * | 2017-09-12 | 2020-04-21 | 深圳先进技术研究院 | 区块链的数据索引及查询方法、装置、设备及存储介质 |
CN108897758A (zh) * | 2018-05-15 | 2018-11-27 | 深圳市网心科技有限公司 | 一种区块链交易查询方法、装置、***和存储介质 |
CN110162540B (zh) * | 2019-04-17 | 2023-06-06 | 平安科技(深圳)有限公司 | 区块链账本数据的查询方法、电子装置及存储介质 |
-
2019
- 2019-04-17 CN CN201910308012.3A patent/CN110162540B/zh active Active
- 2019-08-30 WO PCT/CN2019/103764 patent/WO2020211258A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463655A (zh) * | 2017-07-27 | 2017-12-12 | 无锡雅座在线科技股份有限公司 | 查询数据的方法、装置和*** |
CN109241361A (zh) * | 2018-08-31 | 2019-01-18 | 上海雄九投资控股(集团)有限公司 | 基于区块链的数据处理方法 |
CN109286676A (zh) * | 2018-10-15 | 2019-01-29 | 国网上海市电力公司 | 一种基于区块链的电力数据安全信息*** |
CN109522314A (zh) * | 2018-10-16 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于区块链的数据归档方法及终端设备 |
CN109542979A (zh) * | 2018-11-19 | 2019-03-29 | 广州矩阵信息科技有限公司 | 一种区块链***快速同步及简精数据存储的方式 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020211258A1 (zh) * | 2019-04-17 | 2020-10-22 | 平安科技(深圳)有限公司 | 区块链账本数据的查询方法、电子装置及存储介质 |
CN110618972A (zh) * | 2019-08-26 | 2019-12-27 | 达疆网络科技(上海)有限公司 | 一种利用自增Id增进深分页方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020211258A1 (zh) | 2020-10-22 |
CN110162540B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106886375B (zh) | 存储数据的方法和装置 | |
CN107818115B (zh) | 一种处理数据表的方法及装置 | |
CN110502608A (zh) | 基于知识图谱的人机对话方法及人机对话装置 | |
CN110162540A (zh) | 区块链账本数据的查询方法、电子装置及存储介质 | |
WO2019076062A1 (zh) | 功能页面定制方法及应用服务器 | |
CN108388604A (zh) | 用户权限数据管理装置、方法及计算机可读存储介质 | |
CN108845950A (zh) | 测试装置、测试的方法及存储介质 | |
CN110489313A (zh) | 基于区块链的操作日志记录方法、装置及存储介质 | |
CN110019125A (zh) | 数据库管理的方法和装置 | |
CN108255909A (zh) | 基于Oracle数据库的数据表备份方法及服务器 | |
CN107480205A (zh) | 一种进行数据分区的方法和装置 | |
CN108491420A (zh) | 网页爬取的配置方法、应用服务器及计算机可读存储介质 | |
CN110245145A (zh) | 关系型数据库到Hadoop数据库的结构同步方法和装置 | |
CN110175157A (zh) | 一种列存储文件的查询方法及查询装置 | |
WO2014137258A1 (en) | Selection of data storage settings for an application | |
CN112650909A (zh) | 产品展示方法、装置、电子设备及存储介质 | |
CN105468623A (zh) | 数据处理方法及装置 | |
CN106802928B (zh) | 电网历史数据管理方法及其*** | |
CN111339743A (zh) | 一种账号生成的方法和装置 | |
CN112035676B (zh) | 用户操作行为知识图谱构建方法及装置 | |
CN112579608A (zh) | 案件数据查询方法、***、设备及计算机可读存储介质 | |
CN102214214B (zh) | 数据关系的处理方法、装置及移动通讯终端 | |
CN106325925A (zh) | 一种浏览器业务信息更新方法及装置 | |
CN110457345A (zh) | 数据库读取方法、装置及计算机可读存储介质 | |
CN115795521A (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 |