CN105740440B - 一种加快区块链查询的索引方法 - Google Patents
一种加快区块链查询的索引方法 Download PDFInfo
- Publication number
- CN105740440B CN105740440B CN201610070910.6A CN201610070910A CN105740440B CN 105740440 B CN105740440 B CN 105740440B CN 201610070910 A CN201610070910 A CN 201610070910A CN 105740440 B CN105740440 B CN 105740440B
- Authority
- CN
- China
- Prior art keywords
- record
- indexing table
- concordance list
- quick indexing
- main body
- 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.)
- Active
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
- G06F16/902—Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种加快区块链查询的索引方法,通过多方共建一个快速索引表来加快信息查询的效率;所述快速索引表是对当前所有Block中内容的经过计算得出的索引表,每当新增一个Block时,重新计算新的索引表,一旦新的索引表被各方接受,则替换原有的索引表。本发明提取原有block中的记录进行排序,建立新的索引表,加快信息查询的效率,由于索引表是多方独立计算共同确认,因此保证了索引表的正确性。
Description
技术领域
本发明涉及一种索引方法,具体是一种加快区块链查询的索引方法。
背景技术
随着互联网的高速发展,人们的信息来源得到了极大的丰富,信息获取方式也随之而改变,这给人类带来机遇的同时也带来挑战,在Web信息成几何基数增长的前提下,如何能够快速准确的进行数据搜索,搜索到需要的东西,是数据处理技术领域研究的方向之一。
在数据搜索中,搜索引擎spider得到越来越多的应用,spider是搜索引擎的一个自动程序,其作用是抓取互联网上的网页,建立索引数据库,使用户能在搜索引擎中搜索到相关网站的网页。
在具体实施过程中,spider每天要抓取大量网站链接,在抓取之前都需要获取待抓取网站的IP地址以及robots等信息,这些信息不可能实时的从互联网上查询,而只能通过内部的域名服务器DNS查询。
但是,由于DNS中存储的数据量在不断的增加,因此查询速度也会随之变慢,不能满足快速查询的需求。而且,对DNS中的数据进行更新时,也会增加DNS的工作量,这也影响了查询的速度。同样,在实时网页数据库以及其他关键字-数据值(Key-value)数据库中也会遇到类似的问题。
如何能够更好的对数据进行查询以及更新,满足高性能的读写服务,是数据处理技术领域研究的方向之一。
发明内容
本发明的目的在于提供一种加快区块链查询的索引方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种加快区块链查询的索引方法,通过多方共建一个快速索引表来加快信息查询的效率。
作为本发明进一步的方案:所述快速索引表是对当前所有Block中内容的经过计算得出的索引表,每当新增一个Block时,重新计算新的索引表,一旦新的索引表被各方接受,则替换原有的索引表。
作为本发明进一步的方案:一个快速索引表中包含多个索引记录,索引记录是根据包含的主体ID进行排序的,每个索引记录是某个主体ID的所有记录汇总,主体ID的记录是根据记录时间排序的,当一个新的Block产生后,任意一个参与者都能够进行新索引表的创建和确认。
作为本发明进一步的方案:快速索引表生成确认流程如下:
(1)参与者遍历所有Block,提取所有Record信息;
(2)首先将所有Record信息根据主体ID分组,在每个分组里,主体的记录按照时间进行排序,每组作为一个索引记录;
(3)将所有索引记录根据主体ID进行排序;
(4)计算所有索引记录的HASH值;
(5)查找当前是否有已经存有最新的快速索引表;
(6)如果无最新的快速索引表,参与者使用自己的私钥对索引记录签名,生成新的索引表;
(7)如果已经存在快速索引表,则对比参与者自己计算的HASH值与快速索引表中的HASH值;
(8)如果HASH值一致,表明原有快速索引表是正确的,参与者在原有快速索引表中增加自己的私钥签名,作为对原快速索引表的确认;
(9)如果HASH值不一致,则使用自己的私钥对索引记录签名,生成新的索引表;
(10)系统最终选择签名确认最多的快速索引表作为新的索引表。
作为本发明再进一步的方案:基于快速索引表的查询流程为:(1)数据查询者获取确认签名最多的快速索引表;(2)提取快速索引表中已经根据排序完成的主体ID,搜索所要查询的主体ID是否在其中;(3)如果查询到,则提取索引记录中已经根据记录时间排好序的主体记录,选择需要使用的记录;(4)提取选中记录中的服务地址进行访问,获取信息。
与现有技术相比,本发明的有益效果是:本发明提取原有block中的记录进行排序,建立新的索引表,加快信息查询的效率,由于索引表是多方独立计算共同确认,因此保证了索引表的正确性。
附图说明
图1为加快区块链查询的索引方法中快速索引表的逻辑图;
图2为加快区块链查询的索引方法中快速索引表的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1~2,本发明实施例中,一种加快区块链查询的索引方法,通过多方共建一个快速索引表来加快信息查询的效率。
所述快速索引表是对当前所有Block中内容的经过计算得出的索引表,每当新增一个Block时,重新计算新的索引表,一旦新的索引表被各方接受,则替换原有的索引表。
一个快速索引表中包含多个索引记录,索引记录是根据包含的主体ID进行排序的,每个索引记录是某个主体ID的所有记录汇总,主体ID的记录是根据记录时间排序的,当一个新的Block产生后,任意一个参与者都能够进行新索引表的创建和确认。
快速索引表生成确认流程如下:
(1)参与者遍历所有Block,提取所有Record信息;
(2)首先将所有Record信息根据主体ID分组,在每个分组里,主体的记录按照时间进行排序,每组作为一个索引记录;
(3)将所有索引记录根据主体ID进行排序;
(4)计算所有索引记录的HASH值;
(5)查找当前是否有已经存有最新的快速索引表;
(6)如果无最新的快速索引表,参与者使用自己的私钥对索引记录签名,生成新的索引表;
(7)如果已经存在快速索引表,则对比参与者自己计算的HASH值与快速索引表中的HASH值;
(8)如果HASH值一致,表明原有快速索引表是正确的,参与者在原有快速索引表中增加自己的私钥签名,作为对原快速索引表的确认;
(9)如果HASH值不一致,则使用自己的私钥对索引记录签名,生成新的索引表;
(10)系统最终选择签名确认最多的快速索引表作为新的索引表。
基于快速索引表的查询流程为:(1)数据查询者获取确认签名最多的快速索引表;(2)提取快速索引表中已经根据排序完成的主体ID,搜索所要查询的主体ID是否在其中;(3)如果查询到,则提取索引记录中已经根据记录时间排好序的主体记录,选择需要使用的记录;(4)提取选中记录中的服务地址进行访问,获取信息。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (4)
1.一种加快区块链查询的索引方法,其特征在于,通过多方共建一个快速索引表来加快信息查询的效率;快速索引表生成确认流程如下:
(1)参与者遍历所有Block,提取所有Record信息;
(2)首先将所有Record信息根据主体ID分组,在每个分组里,主体的记录按照时间进行排序,每组作为一个索引记录;
(3)将所有索引记录根据主体ID进行排序;
(4)计算所有索引记录的HASH值;
(5)查找当前是否有已经存有最新的快速索引表;
(6)如果无最新的快速索引表,参与者使用自己的私钥对索引记录签名,生成新的索引表;
(7)如果已经存在快速索引表,则对比参与者自己计算的HASH值与快速索引表中的HASH值;
(8)如果HASH值一致,表明原有快速索引表是正确的,参与者在原有快速索引表中增加自己的私钥签名,作为对原快速索引表的确认;
(9)如果HASH值不一致,则使用自己的私钥对索引记录签名,生成新的索引表;
(10)系统最终选择签名确认最多的快速索引表作为新的索引表。
2.根据权利要求1所述的加快区块链查询的索引方法,其特征在于,所述快速索引表是对当前所有Block中内容的经过计算得出的索引表,每当新增一个Block时,重新计算新的索引表,一旦新的索引表被各方接受,则替换原有的索引表。
3.根据权利要求1所述的加快区块链查询的索引方法,其特征在于,一个快速索引表中包含多个索引记录,索引记录是根据包含的主体ID进行排序的,每个索引记录是某个主体ID的所有记录汇总,主体ID的记录是根据记录时间排序的,当一个新的Block产生后,任意一个参与者都能够进行新索引表的创建和确认。
4.根据权利要求1所述的加快区块链查询的索引方法,其特征在于,基于快速索引表的查询流程为:(1)数据查询者获取确认签名最多的快速索引表;(2)提取快速索引表中已经排序完成的主体ID,搜索所要查询的主体ID是否在其中;(3)如果查询到,则提取索引记录中已经根据记录时间排好序的主体记录,选择需要使用的记录;(4)提取选中记录中的服务地址进行访问,获取信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610070910.6A CN105740440B (zh) | 2016-02-01 | 2016-02-01 | 一种加快区块链查询的索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610070910.6A CN105740440B (zh) | 2016-02-01 | 2016-02-01 | 一种加快区块链查询的索引方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740440A CN105740440A (zh) | 2016-07-06 |
CN105740440B true CN105740440B (zh) | 2019-03-26 |
Family
ID=56242121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610070910.6A Active CN105740440B (zh) | 2016-02-01 | 2016-02-01 | 一种加快区块链查询的索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105740440B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105978697A (zh) * | 2016-07-25 | 2016-09-28 | 宁圣金融信息服务(上海)有限公司 | 一种区块链域名解析方法 |
CN106227833A (zh) * | 2016-07-26 | 2016-12-14 | 宁圣金融信息服务(上海)有限公司 | 区块链搜索引擎方法、系统和装置 |
CN106503053B (zh) * | 2016-09-26 | 2019-07-16 | 江苏通付盾科技有限公司 | Utxo查询方法及装置 |
CN106910051B (zh) * | 2017-01-11 | 2021-01-12 | 中国互联网络信息中心 | 一种基于联盟链的dns资源记录公证方法及系统 |
CN108572978A (zh) * | 2017-03-10 | 2018-09-25 | 深圳瀚德创客金融投资有限公司 | 构建用于区块链的倒排索引结构的方法和计算机系统 |
CN107391557B (zh) * | 2017-03-24 | 2020-10-16 | 北京瑞卓喜投科技发展有限公司 | 针对设置链外勘误表的区块链串行查询方法及系统 |
CN107105041B (zh) * | 2017-04-27 | 2019-09-03 | 电子科技大学 | 一个基于区块链的医疗大数据管理系统及方法 |
WO2018209543A1 (zh) * | 2017-05-16 | 2018-11-22 | 北京大学深圳研究生院 | 一种多层级区块链系统之间索引与链拓扑结构的维护方法 |
CN107562775B (zh) | 2017-07-14 | 2020-04-24 | 创新先进技术有限公司 | 一种基于区块链的数据处理方法及设备 |
CN107423565A (zh) * | 2017-07-26 | 2017-12-01 | 中山大学 | 一种基于智能合约技术的医疗抢救合约方法 |
CN107273556A (zh) * | 2017-08-23 | 2017-10-20 | 上海点融信息科技有限责任公司 | 区块链数据索引方法和设备 |
CN107729371B (zh) * | 2017-09-12 | 2020-04-21 | 深圳先进技术研究院 | 区块链的数据索引及查询方法、装置、设备及存储介质 |
CN109558411A (zh) * | 2017-09-26 | 2019-04-02 | 浙江华信区块链科技服务有限公司 | 一种基于区块链数据的下链同步方法及装置 |
CN107943951B (zh) * | 2017-11-24 | 2020-08-11 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种区块链业务信息的检索方法及系统 |
CN107918675A (zh) * | 2017-12-13 | 2018-04-17 | 清华大学 | 一种搜索方法及搜索系统 |
CN108304475B (zh) * | 2017-12-28 | 2020-11-10 | 比特大陆科技有限公司 | 数据查询方法、装置及电子设备 |
CN108897758A (zh) * | 2018-05-15 | 2018-11-27 | 深圳市网心科技有限公司 | 一种区块链交易查询方法、装置、系统和存储介质 |
CN109033403B (zh) * | 2018-08-03 | 2020-05-12 | 上海点融信息科技有限责任公司 | 用于搜索区块链数据的方法、装置及存储介质 |
CN109063138B (zh) * | 2018-08-03 | 2021-07-30 | 上海点融信息科技有限责任公司 | 用于在区块链即服务平台搜索数据的方法、设备及存储介质 |
CN111224793B (zh) * | 2018-11-27 | 2021-06-01 | 华为技术有限公司 | 数据存储方法、装置、计算机设备及可读存储介质 |
CN109918044B (zh) * | 2019-02-26 | 2021-03-30 | 太原理工大学 | 一种基于区块链技术的抽签/排序方法 |
CN110825737A (zh) * | 2019-10-18 | 2020-02-21 | 支付宝(杭州)信息技术有限公司 | 索引创建和数据查询方法、装置及设备 |
CN113157700B (zh) * | 2021-04-26 | 2024-05-14 | 太原理工大学 | 一种基于区块链技术的快速抽签/排序方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699569A (zh) * | 2013-09-06 | 2014-04-02 | 安徽科大讯飞信息科技股份有限公司 | 一种索引结构和索引方法 |
CN104320262A (zh) * | 2014-11-05 | 2015-01-28 | 中国科学院合肥物质科学研究院 | 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统 |
WO2015077378A1 (en) * | 2013-11-19 | 2015-05-28 | Sunrise Tech Group, Llc | Block mining methods and apparatus |
-
2016
- 2016-02-01 CN CN201610070910.6A patent/CN105740440B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699569A (zh) * | 2013-09-06 | 2014-04-02 | 安徽科大讯飞信息科技股份有限公司 | 一种索引结构和索引方法 |
WO2015077378A1 (en) * | 2013-11-19 | 2015-05-28 | Sunrise Tech Group, Llc | Block mining methods and apparatus |
CN104320262A (zh) * | 2014-11-05 | 2015-01-28 | 中国科学院合肥物质科学研究院 | 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统 |
Non-Patent Citations (1)
Title |
---|
"精通比特币 第3章 比特币客户端";西西;《http://8btc.com/article-1785-1.html》;20150529;第1-21页 |
Also Published As
Publication number | Publication date |
---|---|
CN105740440A (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105740440B (zh) | 一种加快区块链查询的索引方法 | |
CN104598631B (zh) | 分布式数据处理平台 | |
US9064002B1 (en) | Social identity clustering | |
CN105468605A (zh) | 一种实体信息图谱生成方法及装置 | |
CN107092639A (zh) | 一种搜索引擎系统 | |
CN102279889B (zh) | 一种基于地理信息的问题推送方法及系统 | |
WO2021051546A1 (zh) | 一种链路异常识别方法、服务器及计算机可读存储介质 | |
WO2014000518A1 (zh) | 一种舆情信息展示系统及方法 | |
Sehgal et al. | Sentiment analysis of big data applications using Twitter Data with the help of HADOOP framework | |
BR112014002746B1 (pt) | Método implementado por computador, meio de armazenamento de computador e sistema para filtragem de resultados de pesquisa social | |
WO2011134314A1 (zh) | 网络中好友动态信息管理方法、系统及服务器 | |
WO2016119275A1 (zh) | 网络账号识别匹配方法 | |
CN103778251B (zh) | 面向大规模rdf图数据的sparql并行查询方法 | |
US9275156B2 (en) | Trending topic identification from social communications | |
CN106021336A (zh) | 一种对批量地址信息进行自动行政区划划分的方法 | |
CN107391502A (zh) | 时间间隔的数据查询方法、装置及索引构建方法、装置 | |
WO2020215438A1 (zh) | 电子地图空间关键字查询分布式索引系统和方法 | |
AU2013397053A1 (en) | Content sharing method and social synchronization apparatus | |
Herzig et al. | Federated entity search using on-the-fly consolidation | |
CN104253875B (zh) | 一种dns流量分析方法 | |
Kuć et al. | Elasticsearch Server | |
CN105005619A (zh) | 一种海量网站基础信息的快速检索方法和系统 | |
CN104063456A (zh) | 基于向量查询的自媒体传播图谱分析方法和装置 | |
CN103514214B (zh) | 数据查询方法及装置 | |
CN102663077A (zh) | 基于Hits算法的Web搜索结果安全性排序方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |