CN112765171B - 一种用于区块链数据上链的多字段组合索引取数的优化算法 - Google Patents
一种用于区块链数据上链的多字段组合索引取数的优化算法 Download PDFInfo
- Publication number
- CN112765171B CN112765171B CN202110038939.7A CN202110038939A CN112765171B CN 112765171 B CN112765171 B CN 112765171B CN 202110038939 A CN202110038939 A CN 202110038939A CN 112765171 B CN112765171 B CN 112765171B
- Authority
- CN
- China
- Prior art keywords
- combined index
- field
- row
- data
- asc
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2264—Multidimensional index structures
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
- G06F16/2453—Query optimisation
-
- 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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于区块链数据上链的多字段组合索引取数的优化算法,操作步骤如下:数据库***提供的SQL命令或其内嵌工具,获取数据表的结构;提取其组合索引;对组合索引中的每一个字段的值进行DISTINCT去重操作计算取出的组合索引各个字段值的唯一值计数;对组合索引内数值进行排序,排序手法采用ORDER;对非递减式排序进行标识,找出断点的位置;按照断点对数据进行分段,根据分段进行读取数据。本发明的好处是一方面充分组合索引的性能提升读取效率,另外服务于最大化并行处理和最小化读取批次二个目标,实现最高效率的读取和处理效率,同时保证数据范围的非重叠性,以确保应用功能上的正确性。
Description
技术领域
本发明涉及区块链领域,特别涉及一种用于区块链数据上链的多字段组合索引取数的优化算法。
背景技术
关系数据库***由于其结构化的数据管理能力和标准化SQL接口,已广泛应用于各个领域和行业应用。利用数据库的数据导出工具可以方便地将数据导出为字节流文件和数据库***支持的特定格式文件。数据库***的索引功能为记录级的查找和定位提供了极大的方便,能够快速地进行单条记录的查找和定位,以及根据该单字段值的范围选择,且在多线程处理的条件,各个线程可以根据该索引字段的取值,在数据范围相互隔离的区间内进行并行处理和分析工作。
但对于多字段组合唯一索引的情况,在有效利用索引的前提下,如何精确地划分各个隔离的数据范围,实现最大化并行处理或者最小化读取批次这二个目标,传统的做法通常是利于单个索引字段或部分索引来定位和划分,该方法的好处是实现简单,但弊端是一方面不能充分组合索引的性能造成读取效率下降,另外由于单字段或者部分字段的取值空间不能反映组合索引全字段的取值空间,造成各个线程的处理数据范围存在重叠情况,也即存在数据重复读取和重复处理的情况,这样增加了处理的时间和资源开销,另外这种重复处理还会造成功能上的错误,为此,我们提出一种用于区块链数据上链的多字段组合索引取数的优化算法来解决上述问题。
发明内容
本发明实现了一种新颖的组合索引并行化读取和处理的方法,可以服务于最大化并行处理和最小化读取批次二个目标,实现最高效率的读取和处理效率,同时保证数据范围的非重叠性,以确保应用功能上的正确性。
本发明的上述技术目的是通过以下技术方案得以实现的:
一种用于区块链数据上链的多字段组合索引取数的优化算法,操作步骤如下:
S1.通过数据库***提供的SQL命令或其内嵌工具,获取数据表的结构;
S2.提取其组合索引,如果存在多个组合索引,则任意选取其中一个;(组合索引为读取数据的标识,取其中一个进行操作)
S3.对组合索引中的每一个字段的值进行DISTINCT去重操作计算取出的组合索引各个字段值的唯一值计数,形式化表示为COUNT(DISTINCT());
S4.对组合索引内数值进行排序,排序手法采用ORDER;
S5.对非递减式排序进行标识,找出断点的位置;
S6.按照断点对数据进行分段,根据分段进行读取数据,保证读取数据的完整性。
进一步的,步骤S4中:A.2对步骤4.A.1的组合索引的每个字段,执行如下操作:
扫描字段的全部值,寻找断点,也即不满足非递减顺序的,以步骤4.A.1的排序结果为例,存在蓝色标志的字段值即为该字段的断点。
全部处理后,结果如下:
第一个排序字段,也即F3,不存在断点,因为其所有取值都是满足非递减顺序的,因此在实际操作和算法实现过程中,可以跳过对其的处理。
A.3以步骤A.2的结果进行范围切分:
A.3.1顺序扫描组合索引的每一行,直至遇到包含蓝色标志列的行;
A.3.2将包含蓝色标志列的上一行标志为绿色,作为区间的下边界;
A.3.3从包含蓝色标志列的行继续扫描,直至遇到下一个包含蓝色标志列的行;
A.3.4以步骤A.3.3为参照,跳到步骤A.3.2进行循环,直至全部数据行扫描完毕,结果如下:
A.4标注为绿色的行即为范围区块的下边界,上边界为白色行或其自身,也即区块范围内不能包含超过1行的绿色标注行。
进一步的,最终形成的数据区块上下边界为:
上边界,下边界
{[1,1,1],[1,1,2]}
{[1,2,1],[1,2,1]}
{[2,1,1],[2,1,2]}
{[2,2,1],[2,2,1]}
{[3,1,1],[3,1,2]}
{[3,2,1],[3,2,1]}
{[4,1,2],[4,1,2]}
A.5步骤A.4的结果即划定了数据处理的区间范围,任何跨越两个区间的取数则会造成数据获取不全或丢失的情况。
进一步的,B.1根据步骤3计算出的组合索引各字段的唯一值计数,由小到大排列,以步骤3的数据为例,即F1、F2、F3,执行如下操作:
ORDER BY F1 ASC,F2 ASC,F3 ASC
获得排序结果如下:
F1,F2,F3
{1,1,1}
{1,1,2}
{1,1,3}
{1,2,1}
{1,2,2}
{1,2,3}
{1,2,4}
{2,1,1}
{2,1,2}
{2,1,3}
B.2对步骤B.1的组合索引的每个字段,执行如下操作:
扫描字段的全部值,寻找断点,也即不满足非递减顺序的,以步骤B.1的排序结果为例,存在蓝色标志的字段值即为该字段的断点。全部处理后,结果如下:
第一个排序字段,也即F1,不存在断点,因为其所有取值都是满足非递减顺序的,因此在实际操作和算法实现过程中,可以跳过对其的处理。
进一步的,B.3以步骤B.2的结果进行范围切分:
B.3.1顺序扫描组合索引的每一行,直至遇到包含蓝色标志列的行;
B.3.2将包含蓝色标志列的上一行标志为绿色,作为区间的下边界;
B.3.3从包含蓝色标志列的行继续扫描,直至遇到下一个包含蓝色标志列的行;
B.3.4以步骤B.3.3为参照,跳到步骤B.3.2进行循环,直至全部数据行扫描完毕,结果如下:
B.4标注为绿色的行即为范围区块的下边界,上边界为白色行或其自身,也即区块范围内不能包含超过1行的绿色标注行。
进一步的,最终形成的数据区块上下边界为:
上边界,下边界
{[1,1,1],[1,1,3]}
{[1,2,1],[1,2,4]}
{[2,1,1],[2,1,3]}
B.5步骤B.4的结果即划定了数据处理的区间范围,任何跨越两个区间的取数则会造成数据获取不全或丢失的情况。
进一步的,考虑一种特殊情况,也即不存在蓝色标注列的情况,以下列数据为例:
F1,F2,F3
{1,1,1}
{2,2,2}
{3,3,3}
{3,4,5}
在这种情况下,区间范围的划分可以为1个区间到N个区间,N的取值等于行数,此时等价于各个字段值等于取数。
1个区间:
上边界,下边界
{[1,1,1],[3,4,5]}
2个区间,共3种情况:
2.1:
上边界,下边界
{[1,1,1],[1,1,1]}
{[2,2,2],[3,4,5]}
2.2:
上边界,下边界
{[1,1,1],[2,2,2]}
{[3,3,3],[3,4,5]}
2.3:
上边界,下边界
{[1,1,1],[3,3,3]}
{[3,4,5],[3,4,5]}
3个区间,共3种情况:
3.1:
上边界,下边界
{[1,1,1],[1,1,1]}
{[2,2,2],[2,2,2]}
{[3,3,3],[3,4,5]}
3.2:
上边界,下边界
{[1,1,1],[2,2,2]}
{[3,3,3],[3,3,3]}
{[3,4,5],[3,4,5]}
3.3:
上边界,下边界
{[1,1,1],[1,1,1]}
{[2,2,2],[3,3,3]}
{[3,4,5],[3,4,5]}
4个区间:
上边界,下边界
{[1,1,1],[1,1,1]}
{[2,2,2],[2,2,2]}
{[3,3,3],[3,3,3]}
{[3,4,5],[3,4,5]}
6.上述形式化规则可以扩展到任意多个组合主键/索引的情况。
综上所述,本发明具有以下有益效果:
本发明实现了一种新颖的组合索引并行化读取和处理的方法,但对于多字段组合唯一索引的情况,在有效利用索引的前提下,该方法的好处是一方面充分组合索引的性能提升读取效率,另外服务于最大化并行处理和最小化读取批次二个目标,实现最高效率的读取和处理效率,同时保证数据范围的非重叠性,以确保应用功能上的正确性。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1
本发明较优实施例中一种用于区块链数据上链的多字段组合索引取数的优化算法,操作步骤如下:
S1.通过数据库***提供的SQL命令或其内嵌工具,获取数据表的结构;
S2.提取其组合索引,如果存在多个组合索引,则任意选取其中一个;(组合索引为读取数据的标识,取其中一个进行操作)
S3.对组合索引中的每一个字段的值进行DISTINCT去重操作计算取出的组合索引各个字段值的唯一值计数,形式化表示为COUNT(DISTINCT());
S4.对组合索引内数值进行排序,排序手法采用ORDER;
S5.对非递减式排序进行标识,找出断点的位置;
S6.按照断点对数据进行分段,根据分段进行读取数据,保证读取数据的完整性。
步骤S4中:A.2对步骤4.A.1的组合索引的每个字段,执行如下操作:
扫描字段的全部值,寻找断点,也即不满足非递减顺序的,以步骤4.A.1的排序结果为例,存在蓝色标志的字段值即为该字段的断点。全部处理后,结果如下:
第一个排序字段,也即F3,不存在断点,因为其所有取值都是满足非递减顺序的,因此在实际操作和算法实现过程中,可以跳过对其的处理。
A.3以步骤A.2的结果进行范围切分:
A.3.1顺序扫描组合索引的每一行,直至遇到包含蓝色标志列的行;
A.3.2将包含蓝色标志列的上一行标志为绿色,作为区间的下边界;
A.3.3从包含蓝色标志列的行继续扫描,直至遇到下一个包含蓝色标志列的行;
A.3.4以步骤A.3.3为参照,跳到步骤A.3.2进行循环,直至全部数据行扫描完毕,结果如下:
A.4标注为绿色的行即为范围区块的下边界,上边界为白色行或其自身,也即区块范围内不能包含超过1行的绿色标注行。
最终形成的数据区块上下边界为:
上边界,下边界
{[1,1,1],[1,1,2]}
{[1,2,1],[1,2,1]}
{[2,1,1],[2,1,2]}
{[2,2,1],[2,2,1]}
{[3,1,1],[3,1,2]}
{[3,2,1],[3,2,1]}
{[4,1,2],[4,1,2]}
A.5步骤A.4的结果即划定了数据处理的区间范围,任何跨越两个区间的取数则会造成数据获取不全或丢失的情况。
B.1根据步骤3计算出的组合索引各字段的唯一值计数,由小到大排列,以步骤3的数据为例,即F1、F2、F3,执行如下操作:
ORDER BY F1 ASC,F2 ASC,F3 ASC
获得排序结果如下:
F1,F2,F3
{1,1,1}
{1,1,2}
{1,1,3}
{1,2,1}
{1,2,2}
{1,2,3}
{1,2,4}
{2,1,1}
{2,1,2}
{2,1,3}
B.2对步骤B.1的组合索引的每个字段,执行如下操作:
扫描字段的全部值,寻找断点,也即不满足非递减顺序的,以步骤B.1的排序结果为例,存在蓝色标志的字段值即为该字段的断点。全部处理后,结果如下:
第一个排序字段,也即F1,不存在断点,因为其所有取值都是满足非递减顺序的,因此在实际操作和算法实现过程中,可以跳过对其的处理。
B.3以步骤B.2的结果进行范围切分:
B.3.1顺序扫描组合索引的每一行,直至遇到包含蓝色标志列的行;
B.3.2将包含蓝色标志列的上一行标志为绿色,作为区间的下边界;
B.3.3从包含蓝色标志列的行继续扫描,直至遇到下一个包含蓝色标志列的行;
B.3.4以步骤B.3.3为参照,跳到步骤B.3.2进行循环,直至全部数据行扫描完毕,结果如下:
B.4标注为绿色的行即为范围区块的下边界,上边界为白色行或其自身,也即区块范围内不能包含超过1行的绿色标注行。
最终形成的数据区块上下边界为:
上边界,下边界
{[1,1,1],[1,1,3]}
{[1,2,1],[1,2,4]}
{[2,1,1],[2,1,3]}
B.5步骤B.4的结果即划定了数据处理的区间范围,任何跨越两个区间的取数则会造成数据获取不全或丢失的情况。
实施例2
本发明较优实施例中一种用于区块链数据上链的多字段组合索引取数的优化算法,考虑一种特殊情况,也即不存在蓝色标注列的情况,以下列数据为例:
F1,F2,F3
{1,1,1}
{2,2,2}
{3,3,3}
{3,4,5}
在这种情况下,区间范围的划分可以为1个区间到N个区间,N的取值等于行数,此时等价于各个字段值等于取数。
1个区间:
上边界,下边界
{[1,1,1],[3,4,5]}
2个区间,共3种情况:
2.1:
上边界,下边界
{[1,1,1],[1,1,1]}
{[2,2,2],[3,4,5]}
2.2:
上边界,下边界
{[1,1,1],[2,2,2]}
{[3,3,3],[3,4,5]}
2.3:
上边界,下边界
{[1,1,1],[3,3,3]}
{[3,4,5],[3,4,5]}
3个区间,共3种情况:
3.1:
上边界,下边界
{[1,1,1],[1,1,1]}
{[2,2,2],[2,2,2]}
{[3,3,3],[3,4,5]}
3.2:
上边界,下边界
{[1,1,1],[2,2,2]}
{[3,3,3],[3,3,3]}
{[3,4,5],[3,4,5]}
3.3:
上边界,下边界
{[1,1,1],[1,1,1]}
{[2,2,2],[3,3,3]}
{[3,4,5],[3,4,5]}
4个区间:
上边界,下边界
{[1,1,1],[1,1,1]}
{[2,2,2],[2,2,2]}
{[3,3,3],[3,3,3]}
{[3,4,5],[3,4,5]}
6.上述形式化规则可以扩展到任意多个组合主键/索引的情况。
(DISTINCT:对字段值数组进行去重操作,比如{1,1,2,3,3},经过DISTINCT操作后,变为{1,2,3};
COUNT:统计字段值数组的元素个数,COUNT({1,2,3})=3.
以组合索引{F1,F2,F3}为例,其取值如下:
F1,F2,F3
{1,1,1}
{1,1,2}
{1,1,3}
{1,2,1}
{1,2,2}
{1,2,3}
{1,2,4}
{2,1,1}
{2,1,2}
{2,1,3}
F1的唯一值计数为2,分别为1、2;
F2的唯一值计数为2,分别为1、2;
F3的唯一值计数为4,分别为1、2、3、4;
S4.根据二类优化的目标:
A:最大化并行处理
B:最小化读取批次、
4.A.1根据步骤3计算出的组合索引各字段的唯一值计数,由大到小排列,以步骤3的数据为例,即F3、F1、F2,执行如下操作:
ORDER BY F3 ASC,F1 ASC,F2 ASC
获得排序结果如下:
F3,F1,F2
{1,1,1}
{1,1,2}
{1,2,1}
{2,1,1}
{2,1,2}
{2,2,1}
{3,1,1}
{3,1,2}
{3,2,1}
{4,1,2}
ORDER BY:对字段值进行排序操作;
ASC:与ORDER BY组合使用,即进行升序排序,比如F1={1,3,2,0},经过ORDER BYF1 ASC操作后,变为{0,1,2,3};
ORDER BY F2 ASC,F1 ASC:首先根据F1的值进行升序排序,如果F1的值相同,则根据F2的值进行升序排序。
综上所述:本发明实现了一种新颖的组合索引并行化读取和处理的方法,可以服务于最大化并行处理和最小化读取批次二个目标,实现最高效率的读取和处理效率,同时保证数据范围的非重叠性,以确保应用功能上的正确性。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (7)
1.一种用于区块链数据上链的多字段组合索引取数的优化方法,其特征在于:包括操作步骤如下:
S1.通过数据库***提供的SQL命令或其内嵌工具,获取数据表的结构;
S2.提取其组合索引,如果存在多个组合索引,则任意选取其中一个;
S3.对组合索引中的每一个字段的值进行DISTINCT去重操作计算取出的组合索引各个字段值的唯一值计数;
S4.对组合索引内数值进行排序,排序手法采用ORDER,根据二类优化的目标A:最大化并行处理,B:最小化读取批次,进行相应处理,当目标为A:最大化并行处理,具体步骤如下:
A.1根据步骤S3计算出的组合索引各个字段的唯一值计数,由大到小排列,执行如下操作:
ORDER BY F3 ASC,F1 ASC,F2 ASC;
A.2对步骤A.1的组合索引的每个字段,执行如下操作:
扫描字段的全部值,寻找断点,也即不满足非递减顺序的,
A.3以步骤A.2的结果进行范围切分:
A.3.1顺序扫描组合索引的每一行,直至遇到包含蓝色标志列的行,其中存在蓝色标志的字段值为该字段的断点;
A.3.2将包含蓝色标志列的上一行标志为绿色,作为区间的下边界;
A.3.3从包含蓝色标志列的行继续扫描,直至遇到下一个包含蓝色标志列的行;
A.3.4以步骤A.3.3为参照,跳到步骤A.3.2进行循环,直至全部数据行扫描完毕,结果如下:
A.4标注为绿色的行即为范围区块的下边界,上边界为白色行或其自身,也即区块范围内不能包含超过1行的绿色标注行;
当目标为B:最小化读取批次,具体步骤如下:
B.1根据步骤S3计算出的组合索引各个字段的唯一值计数,由小到大排列,执行如下操作:
ORDER BY F1 ASC,F2 ASC,F3 ASC;
B.2对步骤B.1的组合索引的每个字段,执行如下操作:
扫描字段的全部值,寻找断点,也即不满足非递减顺序的,
B.3以步骤B.2的结果进行范围切分:
B.3.1顺序扫描组合索引的每一行,直至遇到包含蓝色标志列的行,其中存在蓝色标志的字段值为该字段的断点;
B.3.2将包含蓝色标志列的上一行标志为绿色,作为区间的下边界;
B.3.3从包含蓝色标志列的行继续扫描,直至遇到下一个包含蓝色标志列的行;
B.3.4以步骤B.3.3为参照,跳到步骤B.3.2进行循环,直至全部数据行扫描完毕,结果如下:
B.4标注为绿色的行即为范围区块的下边界,上边界为白色行或其自身,也即区块范围内不能包含超过1行的绿色标注行;
S5.对非递减式排序进行标识,找出断点的位置;
S6.按照断点对数据进行分段,根据分段进行读取数据,保证读取数据的完整性。
2.根据权利要求1所述的一种用于区块链数据上链的多字段组合索引取数的优化方法,当目标为A:最大化并行处理时,其特征在于:所述A.1根据步骤S3计算出的组合索引各个字段的唯一值计数,由大到小排列,执行如下操作:
ORDER BY F3 ASC,F1 ASC,F2 ASC
获得排序结果如下:
F3,F1,F2
{1,1,1}
{1,1,2}
{1,2,1}
{2,1,1}
{2,1,2}
{2,2,1}
{3,1,1}
{3,1,2}
{3,2,1}
{4,1,2}。
3.根据权利要求2所述的一种用于区块链数据上链的多字段组合索引取数的优化方法,其特征在于:所述A.2中扫描字段的全部值后结果如下:
第一个排序字段,也即F3,不存在断点,因为其所有取值都是满足非递减顺序的,因此在实际操作和算法实现过程中,可以跳过对其的处理。
4.根据权利要求3所述的一种用于区块链数据上链的多字段组合索引取数的优化方法,其特征在于:最终形成的数据区块上下边界为:
上边界,下边界
{[1,1,1],[1,1,2]}
{[1,2,1],[1,2,1]}
{[2,1,1],[2,1,2]}
{[2,2,1],[2,2,1]}
{[3,1,1],[3,1,2]}
{[3,2,1],[3,2,1]}
{[4,1,2],[4,1,2]}
A.5步骤A.4的结果即划定了数据处理的区间范围,任何跨越两个区间的取数则会造成数据获取不全或丢失的情况。
5.根据权利要求1所述的一种用于区块链数据上链的多字段组合索引取数的优化方法,当目标为B:最小化读取批次时,其特征在于:所述B.1根据步骤S3计算出的组合索引各个字段的唯一值计数,由小到大排列,执行如下操作:
ORDER BY F1 ASC,F2 ASC,F3 ASC
获得排序结果如下:
F1,F2,F3
{1,1,1}
{1,1,2}
{1,1,3}
{1,2,1}
{1,2,2}
{1,2,3}
{1,2,4}
{2,1,1}
{2,1,2}
{2,1,3}。
6.根据权利要求5所述的一种用于区块链数据上链的多字段组合索引取数的优化方法,其特征在于:所述B.2中扫描字段的全部值后结果如下:
第一个排序字段,也即F1,不存在断点,因为其所有取值都是满足非递减顺序的,因此在实际操作和算法实现过程中,可以跳过对其的处理。
7.根据权利要求6所述的一种用于区块链数据上链的多字段组合索引取数的优化方法,其特征在于:最终形成的数据区块上下边界为:
上边界,下边界
{[1,1,1],[1,1,3]}
{[1,2,1],[1,2,4]}
{[2,1,1],[2,1,3]}
B.5步骤B.4的结果即划定了数据处理的区间范围,任何跨越两个区间的取数则会造成数据获取不全或丢失的情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110038939.7A CN112765171B (zh) | 2021-01-12 | 2021-01-12 | 一种用于区块链数据上链的多字段组合索引取数的优化算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110038939.7A CN112765171B (zh) | 2021-01-12 | 2021-01-12 | 一种用于区块链数据上链的多字段组合索引取数的优化算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112765171A CN112765171A (zh) | 2021-05-07 |
CN112765171B true CN112765171B (zh) | 2023-05-23 |
Family
ID=75701699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110038939.7A Active CN112765171B (zh) | 2021-01-12 | 2021-01-12 | 一种用于区块链数据上链的多字段组合索引取数的优化算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765171B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317966A (zh) * | 2014-11-18 | 2015-01-28 | 国家电网公司 | 一种用于电力大数据快速组合查询的动态索引方法 |
CN110413624A (zh) * | 2019-08-07 | 2019-11-05 | 南京录信软件技术有限公司 | 一种基于列存的多列联合存储的方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033948A (zh) * | 2010-12-22 | 2011-04-27 | 中国农业银行股份有限公司 | 一种数据更新方法和装置 |
US20120323923A1 (en) * | 2011-06-14 | 2012-12-20 | Bank Of America Corporation | Sorting Data in Limited Memory |
CN102722531B (zh) * | 2012-05-17 | 2014-04-16 | 北京大学 | 一种云环境中基于分片位图索引的查询方法 |
US9292538B2 (en) * | 2013-03-15 | 2016-03-22 | Stephane G. Legay | System and method for improved data accessibility |
US10394779B2 (en) * | 2015-09-14 | 2019-08-27 | International Business Machines Corporation | Detecting interesting decision rules in tree ensembles |
CN106547755A (zh) * | 2015-09-17 | 2017-03-29 | 北京国双科技有限公司 | 一种基于片键的数据处理方法及装置 |
US11132383B2 (en) * | 2018-01-31 | 2021-09-28 | Salesforce.Com, Inc. | Techniques for processing database tables using indexes |
CN111143373A (zh) * | 2019-12-30 | 2020-05-12 | 卓尔智联(武汉)研究院有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112163019B (zh) * | 2020-09-29 | 2021-04-27 | 台州师同人信息技术有限公司 | 基于区块链的可信电子批记录处理方法及区块链服务平台 |
-
2021
- 2021-01-12 CN CN202110038939.7A patent/CN112765171B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317966A (zh) * | 2014-11-18 | 2015-01-28 | 国家电网公司 | 一种用于电力大数据快速组合查询的动态索引方法 |
CN110413624A (zh) * | 2019-08-07 | 2019-11-05 | 南京录信软件技术有限公司 | 一种基于列存的多列联合存储的方法 |
Non-Patent Citations (2)
Title |
---|
A new index structure combines a cluster algorithm with block distance;L. Yang et al;2015 8th International Congress on Image and Signal Processing (CISP);全文 * |
基于NoSQL***的组合索引技术研究;宗平等;计算机技术与发展;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112765171A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1211749C (zh) | 管理工程图的计算机自动处理方法 | |
WO2018218788A1 (zh) | 一种基于全局种子打分优选的三代测序序列比对方法 | |
US8843499B2 (en) | Accelerating database queries comprising positional text conditions plus bitmap-based conditions | |
EP2631815A1 (en) | Method and device for ordering search results, method and device for providing information | |
CN100390815C (zh) | 模板优化的字符识别方法和*** | |
CN1345426A (zh) | 用于提取索引关键字数据字段的***和方法 | |
CN112765171B (zh) | 一种用于区块链数据上链的多字段组合索引取数的优化算法 | |
CN1388947A (zh) | 字符识别*** | |
CN110610170B (zh) | 一种基于图像精确校正的文档比对方法 | |
KR100436500B1 (ko) | 컬러 영상 처리 방법 | |
CN102841988A (zh) | 一种对核酸序列信息进行匹配的***和方法 | |
CN115634848A (zh) | 一种芯片分选路径的优化方法及优选*** | |
US20230030210A1 (en) | Tea impurity data annotation method based on supervised machine learning | |
CN115858219A (zh) | 一种基于令牌转换的多序列日志解析方法和*** | |
CN110442964A (zh) | 一种管线数据处理方法 | |
CN115687352A (zh) | 一种存储的方法及装置 | |
KR101218795B1 (ko) | 그래프 분류를 위한 유사한 그래프 구조를 이용한 특징 선택 방법 및 장치 | |
CN101127052A (zh) | 一种有序链表节点的快速搜索方法及装置 | |
JPS59121436A (ja) | デ−タ群のソ−ト方法 | |
CN113420062B (zh) | 一种建筑机电***bim模型信息快速检索方法 | |
CN111160018A (zh) | 电气图纸非元器件文本识别方法、***及存储介质 | |
CN109977269B (zh) | 一种针对xml文件的数据自适应融合方法 | |
CN116028500B (zh) | 一种基于高维数据的范围查询索引方法 | |
CN117057312B (zh) | 一种基于Python的特高压工程水保设计文档精准拆分方法 | |
CN116910770B (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 |