CN111125120A - 一种面向流数据的快速索引方法、装置、设备及存储介质 - Google Patents

一种面向流数据的快速索引方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111125120A
CN111125120A CN201911424905.0A CN201911424905A CN111125120A CN 111125120 A CN111125120 A CN 111125120A CN 201911424905 A CN201911424905 A CN 201911424905A CN 111125120 A CN111125120 A CN 111125120A
Authority
CN
China
Prior art keywords
data
tuples
tree
index
array
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
CN201911424905.0A
Other languages
English (en)
Other versions
CN111125120B (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.)
Guangzhou Shurui Intelligent Technology Co ltd
Original Assignee
Guangzhou Shurui Intelligent 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 Guangzhou Shurui Intelligent Technology Co ltd filed Critical Guangzhou Shurui Intelligent Technology Co ltd
Priority to CN201911424905.0A priority Critical patent/CN111125120B/zh
Publication of CN111125120A publication Critical patent/CN111125120A/zh
Application granted granted Critical
Publication of CN111125120B publication Critical patent/CN111125120B/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
    • G06F16/2246Trees, e.g. B+trees
    • 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/24568Data stream processing; Continuous queries
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

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)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种面向流数据的快速索引方法,所述方法包括:接收发送过来的数据元组,并将所述数据元组组织成索引结构并且周期性的将所述数据元组写入分布式存储的数据块中;对B+树的叶子节点进行布局,所述布局包括对索引数组进行布局和对数据数组进行布局;获取查询请求,并根据所述查询请求在B+树的叶子节点的数据元组中通过二分搜索获取满足所述查询请求的数据元组的偏移量,并根据所述偏移量在所述数据元组中获取目标数据元组;对B+树进行边界更新;使用预设算法对所述目标数据元组进行优先级排序。采用本发明,可以实现数据的高速插入和提高实时检索能力。

Description

一种面向流数据的快速索引方法、装置、设备及存储介质
技术领域
本发明涉及索引领域,特别是涉及一种面向流数据的快速索引方法、装置、设备及存储介质。
背景技术
对于建设智慧城市来说,物联网和智能设备是极其重要的一部分。而随着物联网传感器和有位置信息的智能设备产生的数据的爆炸性增长,对数据的高速插入和实时检索的需求也日益增加。数据的高速插入和实时检索对于支持智慧制造和智慧城市来说也是一项极其重要的数据处理能力,系统用户可以快速地找出需要的历史数据和新数据。
目前,已有的分布式数据库的性能是欠佳的,以HBase为代表的key-value存储并没有能提供很好的时间范围查询,以Druid为代表的时间序列数据库则缺少了除时间以外的第二维索引。在对现有技术的研究和实践中,本发明的发明人发现,分布式数据库主要面临以下问题:(1)无法提供流数据的高速插入;(2)对key和timestamp上的查询延时比较高。
发明内容
为了解决上述问题,本发明的目的是提供一种面向流数据的快速索引方法、装置、设备及存储介质,可以实现数据的高速插入和提高实时检索能力。
基于此,本发明提供了一种面向流数据的快速索引方法,所述方法包括:
接收发送过来的数据元组,并将所述数据元组组织成索引结构并且周期性的将所述数据元组写入分布式存储的数据块中;
对B+树的叶子节点进行布局,所述布局包括对索引数组进行布局和对数据数组进行布局;
获取查询请求,并根据所述查询请求在B+树的叶子节点的数据元组中通过二分搜索获取满足所述查询请求的数据元组的偏移量,并根据所述偏移量在所述数据元组中获取目标数据元组;
对B+树进行边界更新;
使用预设算法对所述目标数据元组进行优先级排序。
其中,对所述索引数组进行布局和对所述索引数组进行布局包括:
所述索引数组包括按照预设顺序排序后的关键值,所述关键值包括指向数据数组中对应数据元组的偏移量;
所述数据数组中数据元组的存储顺序与对应的关键值与在所述索引数组中的存储顺序一致。
其中,对B+树进行边界更新包括:
所述B+树的数据元组集合为D,倾斜度因子S
Figure BDA0002347231040000021
取决于在划分
Figure BDA0002347231040000022
的条件下最大的叶子节点,通过将所述数据元组重新平均分配至各个叶子节点使所述倾斜度因子最小化,通过把关键值平均地分配到l个部分的新的范围划分P′={K′1,K′2,…K′l}:
Figure BDA0002347231040000023
计算出所述新的范围划分之后,根据所述新的范围划分来重新组织数据元组。
其中,所述索引服务器对应于键区间,来自不同键区间的数据元组并行的进行索引构造,所述调度服务器根据全局的数据划分方法分发数据元组至对应的索引服务器。
其中,所述索引服务器将接收到的数据元组保存于内存,若内存中数据元组的数量超出预设数据元组数据阈值时,所述索引服务器对所述数据元组进行flush操作。
其中,所述查询请求中查询两个维度时,采用所述Z-ordering的方法将二维坐标转化为一维坐标从而使用B+树。
其中,所述预设算法包括LADA算法。
本发明实施例还提供了一种面向流数据的快速索引装置,所述装置包括:
接收模块,用于接收发送过来的数据元组,并将所述数据元组组织成索引结构并且周期性的将所述数据元组写入分布式存储的数据块中;
布局模块,用于对B+树的叶子节点进行布局,所述布局包括对索引数组进行布局和对数据数组进行布局;
获取模块,用于获取查询请求,并根据所述查询请求在B+树的叶子节点的数据元组中通过二分搜索获取满足所述查询请求的数据元组的偏移量,并根据所述偏移量在所述数据元组中获取目标数据元组;
更新模块,用于对B+树进行边界更新;
排序模块,用于使用预设算法对所述目标数据元组进行优先级排序。
本发明实施例还提供了一种面向流数据的快速索引设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提出了一个一般意义上的两层索引结构,同时支持每秒百万级别的数据插入速率和毫秒级别的范围查询,还设计了模板B+树,减少索引维护的开销和达到高并发的目的,并且设计了一个分布式的查询分配算法和负载均衡算法,更好的利用集群的计算资源。本发明通过大量的实验,评估得出系统的性能较好,为智慧制造和智慧城市提供了一项极其重要的数据的高速插入和实时检索能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的面向流数据的快速索引方法的示意图;
图2是本发明实施例提供的面向流数据的快速索引装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的面向流数据的快速索引方法的示意图,所述方法包括:
S101、接收发送过来的数据元组,并将所述数据元组组织成索引结构并且周期性的将所述数据元组写入分布式存储的数据块中;
Indexing servers即索引服务器可以将数据元组组织成索引结构并且周期地把这些数据元组写入以分布式存储的数据块中。
Metadata server即元数据服务器维护了系统的状态。这些状态包括dispatcherserver即调度服务器的划分方法和用于查询处理的数据块信息。
根据查询的选择条件和元数据信息,query coordinator即查询协调器把用户查询转化成一组独立的子查询,并把这些查询发送给indexing server即索引服务器(用于查找新数据)和query server即查询服务器(用于查找历史数据)并行的查找。
Query coordinator把所有子查询的结果合并返回给用户。
所述数据元组存储在它们所对应的区域中,通过这样的划分方法,可以跳过那些无关的查询区域来加速查询的执行。新到达的数据元组总是会被插入到有着最新时间戳的数据区域里而不是历史数据区域里。
每一个indexing server对应的是一个键区间,来自不同所述键区间的新数据元组会并行的进行索引构造。调度服务器根据全局的数据划分方法来分发进入数据元组到对应的indexing server。每一个indexing server会把接收到的数据元组保存在内存里。
当在内存中所述数据元组的数量已经超过了设定的阈值比如16MB的时候,indexing server会把内存中的数据元组写入到永久性存储文件系统中,称之为flush操作。
不同的键区间之间的时间边界不是相邻的,在不同的indexing server里进行flush操作是异步的。此外,在数据区间内根据key即关键值来构造B+树进行查询,所述B+树是应文件系统所需而产生的B树的变形树。
当查询两个维度时,可以使用如Z-ordering的方法把二维坐标转化为一维从而使用B+树。
所述B+树有如下特点:
1、有m个子树的中间节点包含有m个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引;
2、所有的叶子结点中包含了全部关键字的信息,及指向含有这些关键字记录的指针,且叶子结点本身依关键字的大小自小而大的顺序链接。(而B树的叶子节点并没有包括全部需要查找的信息);
3、所有的非终端结点可以看成是索引部分,结点中仅含有其子树根结点中最大(或最小)关键字。
所述B+树有如下有点:
1、B+树的磁盘读写代价更低;
B+树的内部结点并没有指向关键字具体信息的指针。因此其内部结点相对B树更小。如果把所有同一内部结点的关键字存放在同一盘块中,那么盘块所能容纳的关键字数量也越多。一次性读入内存中的需要查找的关键字也就越多。相对来说IO读写次数也就降低了;
2、B+树查询效率更加稳定;
由于非终结点并不是最终指向文件内容的结点,而只是叶子结点中关键字的索引。所以任何关键字的查找必须走一条从根结点到叶子结点的路。所有关键字查询的路径长度相同,导致每一个数据的查询效率相当;
3、B+树便于范围查询;
B树在提高了IO性能的同时并没有解决元素遍历的我效率低下的问题,正是为了解决这个问题,B+树应用而生。B+树只需要去遍历叶子节点就可以实现整棵树的遍历。而且在数据库中基于范围的查询是非常频繁的,而B树不支持这样的操作或者说效率太低。
S102、对B+树的叶子节点进行布局,所述布局包括对索引数组进行布局和对数据数组进行布局;
数据块布局,包括头部和数据。根结点和非叶子结点是连续存储在头部的。每一个结点包括一列key同时还有它的孩子结点在数据块中的偏移量。
所有的包括从最左到最右的叶子结点都连续存储在数据文件的数据部分。每一个叶子结点都是独立的,并且每个叶子结点都可以从文件系统中单独地读取出来。
所述的叶子结点布局,包括索引数组和数据数组。
所述索引数组包括排好序的key数组,每一个key都有一个偏移量指向数据数组中对应的数据元组。
在一个查询中,为了查找叶子结点中符合查询条件的所有元组,首先在所述索引数组中通过二分搜索获取满足条件的数据元组的偏移量,然后根据偏移量在所述数据数组中获取所述数据元组。
所述数据数组中所述数据元组的存储顺序和对应的key在所述索引数组中的存储顺序是一致的,以此提高数据访问的局部性。
S103、获取查询请求,并根据所述查询请求在B+树的叶子节点的数据元组中通过二分搜索获取满足所述查询请求的数据元组的偏移量,并根据所述偏移量在所述数据元组中获取目标数据元组;
获取用户的查询请求,根据所述用户的查询请求来寻找目标数据元组,首先,采用二分搜索方法在B+树的叶子节点的数据元组中获取满足所述查询请求的数据元组的偏移量,然后根据所述偏移量在所述数据元组中获取目标数据元组。
S104、对B+树进行边界更新;
所述的key边界更新包括,重新构造一个新的范围分布
Figure BDA0002347231040000071
来减少倾斜度因子函数。
对于给定的B+树的数据元组集合D,倾斜度因子
Figure BDA0002347231040000072
是由在划分
Figure BDA0002347231040000073
的条件下最大的叶子结点决定的。因此,通过把数据元组重新平均分配到各个叶子结点中可以使倾斜度因子达到最小,可以简单地通过把key平均地分配到
Figure BDA0002347231040000074
个部分新的范围划分P′={K′1,K′2,…K′l}:
Figure BDA0002347231040000075
一旦计算出新的范围划分,就可以根据新的范围划分来重新组织数据元组,同时可以利用一个和传统bulk loading类似的方法来自而上地从最底层的结点开始到根节点来重构模板。
假设N是已经被更新过的最顶层的非节点,这N个节点的直接父节点是M个节点,则接下来需要更新这M个节点。对于每一个父节点来讲,根据它的子节点的新的key区间来更新它的key。所述B+树一直对更上层的节点进行这个更新操作直到根节点也被更新完毕。
所述B+树更新还包括:B+树负责[0,10)的区间。在B+树的叶子结点中旧的范围划分P={[0,2),[2,3),[3,6),[6,7),[7,9),[9,10)}。
所述B+树更新还包括:
一个有三个数据元组的叶子结点溢出了,但另外两个叶子结点完全是空的。为了修正已有的范围划分和重新平衡插入的负载,首先从叶子结点中获取到key的列表,然后计算出新P′={[0,3),[3,4),[4,5),[5,7),[7,8),[8,10)}。有了新的范围划分P′就可以在叶子结点中重新组织数据元组,把两个非叶子结点的key边界更新成{3,4}和{7,8}。最后,通过把根结点的key边界设置成{5}。
S105、使用预设算法对所述目标数据元组进行优先级排序。
所述预设算法包括LADA算法。
对于给定的子查询集合,算法在称为pending set的hash set中维护了所有未被处理的子查询。每一个query server通过一个优先级数组来维护所有子查询的ID。
当算法启动时,每一个query server为pending set中的一个未被处理的子查询出价。Query server在下次出价前根据它的优先级数组来处理子查询。算法在pending set空的时候就会终止,在这个时候,所有的子查询都已经被调度了。
为了达到块局部性的目标,存储了数据块的query server必须在优先数组中的排名比较高,使得这些server会在其他server之前执行子查询。
为了达到缓存局部性的目标,在不同的查询中,每一个query server对于在特定的块上的子查询会有优先级;query server之间的优先级是不一样的;系统根据这些规则在优先数组中对子查询进行排序。
在具体实施例中,对于任意qi∈q的子查询,S(qi)是有存储qi数据块的queryserver的数组,而
Figure BDA0002347231040000081
则是剩下的query server的列表。算法会用qi的ID作为随机种子依次打乱S(qi)和
Figure BDA0002347231040000082
中的顺序。
算法会把S(qi)和
Figure BDA0002347231040000083
拼接起来生成一个新的数组
Figure BDA0002347231040000084
Figure BDA0002347231040000085
中,对于子查询qi,query server的下标更小意味着其有更高的优先级。对于每一个在
Figure BDA0002347231040000086
中的子查询,算法把在
Figure BDA0002347231040000087
中的偏移量作为qi的排名加入优先级数组中。
在所有的子查询q都以同样的方式被处理完后,算法会根据每一个query server的排名来对优先级数组进行排序。
在一优选实施例当中,存储有q2对应的数据块的server是s3,所以S(q2)=[s3],而
Figure BDA0002347231040000091
假设在执行了洗牌后,
Figure BDA0002347231040000092
Figure BDA0002347231040000093
那么
Figure BDA0002347231040000094
因为在
Figure BDA0002347231040000095
中,s1,s2,s3的偏移量分别为3,2和1,所以在s1,s2,s3中的优先队列中,q2的排名分别是3,2和1。
本发明提出了一个一般意义上的两层索引结构,同时支持每秒百万级别的数据插入速率和毫秒级别的范围查询,还设计了B+树,减少索引维护的开销和达到高并发的目的,并且设计了一个分布式的查询分配算法和负载均衡算法,更好的利用集群的计算资源。本发明通过大量的实验,评估得出系统的性能较好,为智慧制造和智慧城市提供了一项极其重要的数据的高速插入和实时检索能力。
图2是本发明实施例提供的面向流数据的快速索引装置的示意图,所述装置包括:
接收模块,用于接收发送过来的数据元组,并将所述数据元组组织成索引结构并且周期性的将所述数据元组写入分布式存储的数据块中;
布局模块,用于对B+树的叶子节点进行布局,所述布局包括对索引数组进行布局和对数据数组进行布局;
获取模块,用于获取查询请求,并根据所述查询请求在B+树的叶子节点的数据元组中通过二分搜索获取满足所述查询请求的数据元组的偏移量,并根据所述偏移量在所述数据元组中获取目标数据元组;
更新模块,用于对B+树进行边界更新;
排序模块,用于使用预设算法对所述目标数据元组进行优先级排序。
本发明实施例提出的面向流数据的快速索引装置的技术特征和技术效果与本发明实施例提出的方法相同,在此不予赘述。
此外,本发明的实施例还提出一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
此外,本发明的实施例还提出一种面向流数据的快速索引设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述方法的步骤。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。

Claims (10)

1.一种面向流数据的快速索引方法,其特征在于,包括:
接收发送过来的数据元组,并将所述数据元组组织成索引结构并且周期性的将所述数据元组写入分布式存储的数据块中;
对B+树的叶子节点进行布局,所述布局包括对索引数组进行布局和对数据数组进行布局;
获取查询请求,并根据所述查询请求在B+树的叶子节点的数据元组中通过二分搜索获取满足所述查询请求的数据元组的偏移量,并根据所述偏移量在所述数据元组中获取目标数据元组;
对B+树进行边界更新;
使用预设算法对所述目标数据元组进行优先级排序。
2.如权利要求1所述的面向流数据的快速索引方法,其特征在于,对所述索引数组进行布局和对所述索引数组进行布局包括:
所述索引数组包括按照预设顺序排序后的关键值,所述关键值包括指向数据数组中对应数据元组的偏移量;
所述数据数组中数据元组的存储顺序与对应的关键值与在所述索引数组中的存储顺序一致。
3.如权利要求1所述的面向流数据的快速索引方法,其特征在于,对B+树进行边界更新包括:
所述B+树的数据元组集合为D,倾斜度因子
Figure FDA0002347231030000011
取决于在划分
Figure FDA0002347231030000012
的条件下最大的叶子节点,通过将所述数据元组重新平均分配至各个叶子节点使所述倾斜度因子最小化,通过把关键值平均地分配到l个部分的新的范围划分P′={K′1,K′2,…K′l}:
Figure FDA0002347231030000013
计算出所述新的范围划分之后,根据所述新的范围划分来重新组织数据元组。
4.如权利要求1所述的面向流数据的快速索引方法,其特征在于,所述索引服务器对应于键区间,来自不同键区间的数据元组并行的进行索引构造,所述调度服务器根据全局的数据划分方法分发数据元组至对应的索引服务器。
5.如权利要求1所述的面向流数据的快速索引方法,其特征在于,所述索引服务器将接收到的数据元组保存于内存,若内存中数据元组的数量超出预设数据元组数据阈值时,所述索引服务器对所述数据元组进行flush操作。
6.如权利要求1所述的面向流数据的快速索引方法,其特征在于,所述查询请求中查询两个维度时,采用所述Z-ordering的方法将二维坐标转化为一维坐标从而使用B+树。
7.如权利要求1所述的面向流数据的快速索引方法,其特征在于,所述预设算法包括LADA算法。
8.一种面向流数据的快速索引装置,其特征在于,包括:
接收模块,用于接收发送过来的数据元组,并将所述数据元组组织成索引结构并且周期性的将所述数据元组写入分布式存储的数据块中;
布局模块,用于对B+树的叶子节点进行布局,所述布局包括对索引数组进行布局和对数据数组进行布局;
获取模块,用于获取查询请求,并根据所述查询请求在B+树的叶子节点的数据元组中通过二分搜索获取满足所述查询请求的数据元组的偏移量,并根据所述偏移量在所述数据元组中获取目标数据元组;
更新模块,用于对B+树进行边界更新;
排序模块,用于使用预设算法对所述目标数据元组进行优先级排序。
9.一种面向流数据的快速索引设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
CN201911424905.0A 2019-12-30 2019-12-30 一种面向流数据的快速索引方法、装置、设备及存储介质 Active CN111125120B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911424905.0A CN111125120B (zh) 2019-12-30 2019-12-30 一种面向流数据的快速索引方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911424905.0A CN111125120B (zh) 2019-12-30 2019-12-30 一种面向流数据的快速索引方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111125120A true CN111125120A (zh) 2020-05-08
CN111125120B CN111125120B (zh) 2023-08-18

Family

ID=70507195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911424905.0A Active CN111125120B (zh) 2019-12-30 2019-12-30 一种面向流数据的快速索引方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111125120B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858606A (zh) * 2020-07-24 2020-10-30 北京金山云网络技术有限公司 数据处理方法、装置和电子设备
CN112800067A (zh) * 2021-02-20 2021-05-14 成都佰维存储科技有限公司 范围查询方法、装置、计算机可读存储介质及电子设备
CN113032401A (zh) * 2021-03-31 2021-06-25 合安科技技术有限公司 基于异形结构树的大数据处理方法、装置及相关设备
CN115858636A (zh) * 2023-03-01 2023-03-28 深圳市宏博信息科技有限公司 面向大数据流的分布式索引搜索方法、装置
CN117573703A (zh) * 2024-01-16 2024-02-20 科来网络技术股份有限公司 时序数据的通用检索方法、系统、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090060345A1 (en) * 2007-08-30 2009-03-05 Leica Geosystems Ag Rapid, spatial-data viewing and manipulating including data partition and indexing
US7689602B1 (en) * 2005-07-20 2010-03-30 Bakbone Software, Inc. Method of creating hierarchical indices for a distributed object system
JP2013003716A (ja) * 2011-06-14 2013-01-07 Canon Inc データ記憶装置、データ記憶装置の制御方法、及びプログラム
EP2682878A1 (en) * 2012-07-04 2014-01-08 Software AG Method of processing relational queries in a database system and corresponding database system
US20140032568A1 (en) * 2012-07-30 2014-01-30 Red Lambda, Inc. System and Method for Indexing Streams Containing Unstructured Text Data
CN109902088A (zh) * 2019-02-13 2019-06-18 北京航空航天大学 一种面向流式时序数据的数据索引方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689602B1 (en) * 2005-07-20 2010-03-30 Bakbone Software, Inc. Method of creating hierarchical indices for a distributed object system
US20090060345A1 (en) * 2007-08-30 2009-03-05 Leica Geosystems Ag Rapid, spatial-data viewing and manipulating including data partition and indexing
JP2013003716A (ja) * 2011-06-14 2013-01-07 Canon Inc データ記憶装置、データ記憶装置の制御方法、及びプログラム
EP2682878A1 (en) * 2012-07-04 2014-01-08 Software AG Method of processing relational queries in a database system and corresponding database system
US20140032568A1 (en) * 2012-07-30 2014-01-30 Red Lambda, Inc. System and Method for Indexing Streams Containing Unstructured Text Data
CN109902088A (zh) * 2019-02-13 2019-06-18 北京航空航天大学 一种面向流式时序数据的数据索引方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858606A (zh) * 2020-07-24 2020-10-30 北京金山云网络技术有限公司 数据处理方法、装置和电子设备
CN112800067A (zh) * 2021-02-20 2021-05-14 成都佰维存储科技有限公司 范围查询方法、装置、计算机可读存储介质及电子设备
CN112800067B (zh) * 2021-02-20 2023-06-20 成都佰维存储科技有限公司 范围查询方法、装置、计算机可读存储介质及电子设备
CN113032401A (zh) * 2021-03-31 2021-06-25 合安科技技术有限公司 基于异形结构树的大数据处理方法、装置及相关设备
CN113032401B (zh) * 2021-03-31 2023-09-08 合安科技技术有限公司 基于异形结构树的大数据处理方法、装置及相关设备
CN115858636A (zh) * 2023-03-01 2023-03-28 深圳市宏博信息科技有限公司 面向大数据流的分布式索引搜索方法、装置
CN115858636B (zh) * 2023-03-01 2023-06-27 深圳市宏博信息科技有限公司 面向大数据流的分布式索引搜索方法、装置
CN117573703A (zh) * 2024-01-16 2024-02-20 科来网络技术股份有限公司 时序数据的通用检索方法、系统、设备及存储介质
CN117573703B (zh) * 2024-01-16 2024-04-09 科来网络技术股份有限公司 时序数据的通用检索方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN111125120B (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
CN111125120B (zh) 一种面向流数据的快速索引方法、装置、设备及存储介质
Luo et al. LSM-based storage techniques: a survey
Ding et al. Tsunami: A learned multi-dimensional index for correlated data and skewed workloads
Qader et al. A comparative study of secondary indexing techniques in LSM-based NoSQL databases
Wang et al. Spatial online sampling and aggregation
CN109376156B (zh) 读取具有存储感知的混合索引的方法
Dignös et al. Overlap interval partition join
Navarro et al. New dynamic metric indices for secondary memory
CN104850572A (zh) HBase非主键索引构建与查询方法及其系统
Balasubramanian et al. A state-of-art in R-tree variants for spatial indexing
Sfakianakis et al. Interval indexing and querying on key-value cloud stores
Challa et al. DD-Rtree: A dynamic distributed data structure for efficient data distribution among cluster nodes for spatial data mining algorithms
Nagarkar et al. Compressed spatial hierarchical bitmap (cSHB) indexes for efficiently processing spatial range query workloads
Kim et al. Performance Comparison of the {\rm R}^{\ast}-Tree and the Quadtree for kNN and Distance Join Queries
Tian et al. A survey of spatio-temporal big data indexing methods in distributed environment
US10558636B2 (en) Index page with latch-free access
Cahsai et al. Scaling k-nearest neighbours queries (the right way)
Vu et al. R*-grove: Balanced spatial partitioning for large-scale datasets
Shin et al. Adaptive and incremental processing for distance join queries
Kvet Database Block Management using Master Index
CN113722274A (zh) 一种高效的R-tree索引遥感数据存储模型
CN112632118A (zh) 查询数据的方法、装置、计算设备和存储介质
Keawpibal et al. DistEQ: Distributed equality query processing on encoded bitmap index
Hambrusch et al. Efficient query execution on broadcasted index tree structures
Raptopoulou et al. On past-time indexing of moving objects

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