CN111858613A - 一种业务数据的检索方法 - Google Patents
一种业务数据的检索方法 Download PDFInfo
- Publication number
- CN111858613A CN111858613A CN202010760113.7A CN202010760113A CN111858613A CN 111858613 A CN111858613 A CN 111858613A CN 202010760113 A CN202010760113 A CN 202010760113A CN 111858613 A CN111858613 A CN 111858613A
- Authority
- CN
- China
- Prior art keywords
- leaf node
- area
- node
- stored
- rectangular
- 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
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 238000004891 communication Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 17
- 238000003780 insertion Methods 0.000 claims description 12
- 230000037431 insertion Effects 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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/2272—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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/2255—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/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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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/29—Geographical information databases
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)
- Remote Sensing (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种业务数据的检索方法,方法包括:确定待检索的目标区域;目标区域为预先构建的用于存储业务数据索引信息的R树中的区域;R树包含根节点、叶子节点和非叶子节点,每个叶子节点存储有对业务对象相关数据进行哈希计算获得的哈希值,以及根据该业务对象的地理信息生成的矩形区域;从预先构建的用于存储业务数据索引信息的R树中查找与目标区域相匹配的目标叶子节点,并获取目标叶子节点中存储的目标哈希值;获得目标哈希值对应的业务对象相关数据。采用R树索引对与地理位置相关的业务对象的数据进行检索,相比于传统的索引方法能够显著提高检索效率。
Description
技术领域
本发明涉及数据检索技术领域,特别是涉及一种业务数据的检索方法。
背景技术
索引是对数据库中一列或多列的值进行排序的一种数据结构,在大规模分布式存储引擎中,通过索引访问数据库中的数据的方式已经被广泛应用,通过建立索引,在索引中找到符合查询条件的索引值,通过符合查询条件的索引值找到数据库中对应的待检索数据。
对于一般的属性数据,现有的索引方法能够满足索引需求。然而,在地理信息系统(Geographic Information System,GIS)领域,数据通常是与地理位置相关的,而传统的索引方法不便于处理地理位置信息,因此当采用现有的索引方法来检索与地理位置相关的数据时,检索效率较低。
发明内容
本发明实施例的目的在于提供一种业务数据的检索方法,以实现提高针对地理位置相关的业务数据的检索效率。
具体技术方案如下:
为实现上述目的,本发明实施例提供了一种业务数据的索引方法,所述方法包括:
一种业务数据的检索方法,所述方法包括:
确定待检索的目标区域;所述目标区域为预先构建的用于存储业务数据索引信息的R树中的区域;其中,所述R树包含根节点、叶子节点和非叶子节点,每个叶子节点存储有对业务对象相关数据进行哈希计算获得的哈希值,以及根据所述业务对象的地理信息生成的矩形区域;每个非叶子节点存储有指向该非叶子节点的子节点的指针,以及包含该非叶子节点的所有子节点所存储的矩形区域的最小矩形区域;所述根节点存储有指向该根节点的子节点的指针,以及包含该根节点的所有子节点所存储的矩形区域的最小矩形区域;
基于各个节点所存储的矩形区域,从所述预先构建的用于存储业务数据索引信息的R树中查找与所述目标区域相匹配的目标叶子节点,并获取所述目标叶子节点中存储的目标哈希值;
基于业务对象相关数据与哈希值之间的对应关系,获得所述目标哈希值对应的业务对象相关数据。
可选的,所述确定待检索的目标区域的步骤,包括:
确定用户在电子地图中选定的待检索的地理区域;
根据预设的电子地图中地理区域和R树中区域的对应关系,将所选定的地理区域映射为R树中的目标区域。
可选的,所述基于各个节点所存储的矩形区域,从所述预先构建的用于存储业务数据索引信息的R树中查找与所述目标区域相匹配的目标叶子节点的步骤,包括:
按照从根节点到叶子节点的层级顺序,逐层依次判断各个非叶子节点和叶子节点存储的矩形区域是否与所述目标区域相交;
若非叶子节点存储的矩形区域与所述目标区域不相交,则跳过以该非叶子节点为子树根节点的子树包含的所有节点;
若非叶子节点存储的矩形区域与所述目标区域相交,则根据该非叶子节点存储的子节点的指针确定该非叶子节点的各个子节点,并判断该非叶子节点的各个子节点存储的矩形区域是否与所述目标区域相交,直到确定所存储的矩形区域与所述目标区域相交的叶子节点,作为目标叶子节点。
可选的,所述目标区域为矩形区域;所述判断各个非叶子节点和叶子节点存储的矩形区域是否与所述目标区域相交的步骤,包括:
判断各个非叶子节点和叶子节点存储的矩形区域和所述目标区域是否同时满足以下条件:
各个非叶子节点和叶子节点存储的矩形区域的最小横坐标小于所述目标区域的最大横坐标、各个非叶子节点和叶子节点存储的矩形区域的最大横坐标大于所述目标区域的最小横坐标、各个非叶子节点和叶子节点存储的矩形区域的最小纵坐标小于所述目标区域的最大纵坐标、且各个非叶子节点和叶子节点存储的矩形区域的最大纵坐标大于所述目标区域的最小纵坐标;
若同时满足上述条件,则判定各个非叶子节点和叶子节点存储的矩形区域与所述目标区域相交,否则判定各个非叶子节点和叶子节点存储的矩形区域与所述目标区域不相交。
可选的,所述业务对象的相关数据包括:
业务对象的名称、业务对象的任务描述信息和/或业务对象的进展状态信息。
为实现上述目的,本发明实施例还提供了一种业务数据索引信息的存储方法,所述方法包括:
初始化用于存储业务数据索引信息的R树的根节点;
获取第一业务对象的相关数据,并将所述第一业务对象的相关数据转换为第一哈希值;建立所述第一业务对象的相关数据与所述第一哈希值之间的对应关系;
根据所述第一业务对象的地理信息生成与该地理信息对应的第一矩形区域;
根据所述第一哈希值和所述第一矩形区域生成第一叶子节点,所述第一叶子节点中存储有所述第一哈希值和所述第一矩形区域;
获取待插入的第二业务对象的相关数据,并将所述第二业务对象的相关数据转换为第二哈希值;建立所述第二业务对象的相关数据与所述第二哈希值之间的对应关系;
根据所述第二业务对象的地理信息生成与该地理信息对应的第二矩形区域;
按照从根节点到叶子节点的顺序,依次计算当前R树中各个节点已存储的矩形区域与所述第二矩形区域合并后的扩张面积,并根据扩张面积的大小确定匹配叶子节点,所述匹配叶子节点是存储的矩形区域与所述第二矩形区域合并后的扩张面积最小的叶子节点;所述扩张面积表示所述各个节点已存储的矩形区域与所述第二矩形区域合并后的最小外接矩形区域相比于合并前的矩形区域扩大的面积;
若所述扩张面积不为零,则生成新叶子节点,将所述第二矩形区域和所述第二哈希值写入新叶子节点;
生成所述新叶子节点和所述匹配叶子节点的父节点,并按照从叶子节点向根节点的顺序,根据预设的R树调整规则调整R树,并返回获取待插入的第二业务对象的相关数据的步骤,直到完成所有待插入的业务对象相关数据的插入过程。
可选的,若所述匹配叶子节点存储的矩形区域与所述第二矩形区域合并后的扩张面积为零,
判断所述匹配叶子节点存储的哈希值是否与所述第二哈希值相同,若相同,则跳过该第二业务对象。
可选的,若所述匹配叶子节点存储的矩形区域与所述第二矩形区域合并后的扩张面积为零,且判断出所述匹配叶子节点存储的哈希值与所述第二哈希值不同,则生成新叶子节点,将所述第二矩形区域和所述第二哈希值写入新叶子节点,并按照预设的R树调整规则调整R树。
为实现上述目的,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线;其中,处理器、通信接口、存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一方法步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法步骤。
本发明实施例有益效果:
本发明实施例提供的业务数据的检索方法,采用R树索引对与地理位置相关的业务对象的数据进行检索,相比于传统的索引方法能够显著提高检索效率。此外,R树的叶子节点中存储的哈希值占用空间很小,因此相比于传统的索引结构,节省了大量的存储空间。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的业务数据的检索方法的一种流程示意图;
图2为本发明实施例提供的非叶子节点与叶子节点中存储矩形的一种示意图;
图3(a)为本发明实施例提供的业务数据的检索方法的第一种示意图;
图3(b)为本发明实施例提供的业务数据的检索方法的第二种示意图;
图4为本发明实施例提供的从R树中查找目标叶子节点的一种流程示意图;
图5为本发明实施例提供的业务数据索引信息的存储方法的一种流程示意图;
图6为本发明实施例提供的插入叶子节点的一种示意图;
图7为本发明实施例提供的调整R树的一种示意图;
图8为本发明实施例提供的业务数据索引信息的存储方法的另一种流程示意图;
图9为本发明实施例提供的电子设备的一种结构示意图;
图10为本发明实施例提供的电子设备的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决采用传统的索引方法检索与地理位置相关的数据时,检索效率较低的技术问题,本发明实施例提供了一种业务数据的检索方法、电子设备及计算机可读存储介质。
参见图1,图1为本发明实施例提供的业务数据的检索方法的一种流程示意图,方法可以包括以下步骤:
S101:确定待检索的目标区域;目标区域为预先构建的用于存储业务数据索引信息的R树中的区域;其中,R树包含根节点、叶子节点和非叶子节点,每个叶子节点存储有对业务对象相关数据进行哈希计算获得的哈希值,以及根据该业务对象的地理信息生成的矩形区域;每个非叶子节点存储有指向该非叶子节点的子节点的指针,以及包含该非叶子节点的所有子节点所存储的矩形区域的最小矩形区域;根节点存储有指向该根节点的子节点的指针,以及包含该根节点的所有子节点所存储的矩形区域的最小矩形区域。
为了便于用户查找特定地理区域的业务对象的相关数据,本发明实施例中,采用树状数据结构R树来存储业务对象相关数据的索引信息。其中,R树中包含根节点、叶子节点和非叶子节点。
本发明实施例中,R树中的每个叶子节点中存储有根据业务对象相关数据进行哈希计算获得的哈希值,以及根据该业务对象的地理信息生成的矩形区域。
作为一个示例,若某一业务对象是与街道A相关的,例如该业务对象是绘制街道A的地图,则业务对象涉及的街道A的地理位置,例如街道A的经纬度范围即为该业务对象的地理信息。为了建立与街道A相关的业务对象的索引信息,可以获取该街道A的实际地理区域,进而确定包含该街道A的地理区域的最小外接矩形区域,进而将所确定的最小外接矩形区域存储在R树中的叶子节点。可见,存储在R树中叶子节点的矩形区域即为该叶子节点对应的业务对象的索引信息。
矩形区域可以用参数x,y,w和h表示,其中,(x,y)表示矩形左下角的坐标,w表示矩形宽度,h表示矩形高度。则在R树的数据结构代码中,叶子节点可以表示如下:{x:$x,y:$y,w:$w,h:$h,leaf:obj.hash()}。leaf表示叶子节点,obj表示业务对象,hash()表示业务对象对应的哈希值,可见,叶子节点存储的数据包括矩形区域的大小、位置和业务对象对应的哈希值。
本发明实施例中,非叶子节点中存储有指向该非叶子节点的子节点的指针,以及包含该非叶子节点的所有子节点所存储的矩形区域的最小矩形区域。
相应的,在R树的数据结构代码中,非叶子节点可以表示如下:
{x:$x,y:$y,w:$w,h:$h,non-Leaf:child-pointer}。non-leaf表示非叶子节点,child-pointer表示指向非叶子节点的子节点的指针。可见,非叶子节点存储的数据包括矩形区域和指向非叶子节点的子节点的指针。
且非叶子节点存储的矩形区域是能够包含该非叶子节点的所有子节点所存储的矩形区域的最小矩形区域。
作为一个示例,参见图2,图2为本发明实施例提供的非叶子节点与叶子节点中存储矩形的一种示意图,若a,b和c为叶子节点,d为非叶子节点,且d为叶子节点a,b和c的父节点,也可以说叶子节点a,b和c均为非节点d的子节点。叶子节点a存储的矩形区域,叶子节点b存储的矩形区域和叶子节点c存储的矩形区域如图2所示,则非叶子节点d中存储的矩形区域为能够包含叶子节点a,b和c存储的矩形区域的最小外接矩形区域。此外,非叶子节点d中还存储有指向叶子节点a,b和c的指针,也就是说,可以通过非叶子节点d中的指针,找到叶子节点a,b和c。
相应的,根节点也存储有指向该根节点的子节点的指针,以及包含该根节点的所有子节点所存储的矩形区域的最小矩形区域。相比于其他节点存储的矩形,根节点存储的矩形是最大的。
可见,叶子节点、非叶子节点和根节点均存储有矩形区域,越靠近根节点的非叶子节点,存储的矩形区域越大,这些矩形区域可以作为业务数据的索引信息。
为了便于理解本发明实施例中给的R树结构,可以参见以下数据结构代码,以下为本发明实施例提供的用于存储业务数据索引信息的R树的数据结构代码的一个示例。
可见,根节点存储有最大的矩形区域,根节点的下层叶子节点存储次大的矩形区域,叶子节点中存储的矩形区域最小,上例中,"bbc06bb4c77c04a8b3bea56fb3f90150"和"f2c1e1edfe95eb4026be2b3807cc2646"均表示叶子节点中存储的哈希值。
构建用于存储业务数据索引信息的R树的具体过程可以参加下文。
在本发明的一种实施例中,确定待检索的目标区域的步骤,可以包括:
步骤a:确定用户在电子地图中选定的待检索的地理区域。
具体的,用户要查找特定区域的业务对象的数据时,可以在电子设备上显示的电子地图中选定待检索的地理区域。例如,用户使用鼠标在电子地图中选定一个矩形区域,进而电子设备接收用户输入的鼠标指令,确定用户在电子地图中选定的地理区域。
当然,用户也可以采用其他方式选定待检索的地理区域,例如通过键盘输入地理区域的位置坐标等,本发明实施例对此不做限定。
步骤b:根据预设的电子地图中地理区域和R树中区域的对应关系,将所选定的地理区域映射为R树中的目标区域。
本发明实施例中,可以预先设定电子地图中矩形地理区域和R树中矩形区域的对应关系,例如,电子地图中的矩形地理区域(x1,y1,w1,h1)对应于R树中的矩形区域(x2,y2,w2,h2)。
在确定电子地图中所选定的地理区域之后,可以根据上述预设的对应关系,将电子地图中所选定的地理区域映射为R树中的目标区域,即为待检索的目标区域。
S102:基于各个节点所存储的矩形区域,从预先构建的用于存储业务数据索引信息的R树中查找与目标区域相匹配的目标叶子节点,并获取目标叶子节点中存储的目标哈希值。
在确定目标区域后,电子设备可以从预先构建的存储有业务数据索引信息的R树中查找目标叶子节点,该目标叶子节点存储的矩形区域与目标区域是相交的。
由于目标叶子节点存储的矩形区域是根据业务对象的地理信息生成的,因此目标叶子节点存储的矩形区域与待检索的目标区域相交,表示目标叶子节点对应的业务对象是与待检索的地理区域相关的,也就是说,目标叶子节点对应的业务对象即为要检索的业务对象。
本发明实施例中,所确定的目标叶子节点可以为一个,也可能为多个。
在确定目标叶子节点之后,可以获取目标叶子节点中存储的目标哈希值。当目标叶子节点为一个时,目标哈希值也为一个;当目标叶子节点多个,目标哈希值可以为多个,多个哈希值可以组成哈希值数组。
S103:基于业务对象相关数据与哈希值之间的对应关系,获得目标哈希值对应的业务对象相关数据。
本发明实施例中,在R树的构建阶段,可以将业务对象相关数据作为自变量,采用预先设定的哈希函数进行计算,计算出的值即为业务对象相关数据对应的哈希值。在根据业务对象相关数据计算出哈希值之后,可以保存业务对象相关数据与哈希值的对应关系。
具体的,可以采用安全散列算法(Secure Hash Algorithm,SHA)、MD5信息摘要算法(MD5 Message-Digest Algorithm)、国密SM3和RACE原始完整性校验消息摘要(RACEIntegrity Primitives Evaluation Message Digest,RIPEMD)等加密哈希函数,对业务对象相关数据进行计算,得到哈希值。
本发明实施例中,根据上述哈希函数计算获得的哈希值通常只占用几十字节的存储空间,因此叶子节点中存储哈希值能够大幅减少内存空间的占用。
进而,业务数据的检索阶段,在确定目标哈希值之后,可以根据预先保存的业务对象相关数据与哈希值的对应关系,确定目标哈希值对应的业务对象相关数据。
在本发明的一种实施例中,上述业务对象相关数据可以包括:
业务对象的名称、业务对象的任务描述信息和/或业务对象的进展状态信息。
业务对象的名称的例如为:“业务对象A”和“业务对象B”;业务对象的任务描述信息例如为:“绘制XX街道的地图”和“采集XX广场的线路”;业务对象的进展状态信息例如为:“未处理”、“进行中”和“已完成”。
为了便于理解,下面结合图3(a)-图3(b)对本发明实施例提供的业务数据的检索方法进行进一步说明。
作为一个示例,如图3(a)所示,用户在电子设备屏幕上显示的北京地图中选定一个矩形的地理位置区域,目的是查找该地理位置区域相关的业务对象,并获取各个业务对象相关数据。
则电子设备接收用户选定的地理位置区域,根据预设的电子地图中地理位置区域和R树中区域的对应关系,确定R树中的区域。进而根据所确定的R树中区域,从R树中找到目标叶子节点,并获取每个目标叶子节点中存储的目标哈希值。
电子设备将各个目标哈希值转换为对应的业务对象相关数据,进而可以显示给用户。例如,在电子设备的屏幕上显示用户选定的地理位置区域内存在的业务对象的相关信息,可以包括各个业务对象的名称、任务描述和当前任务进展等信息。
作为一个示例,如图3(b)所示,电子设备屏幕上可以显示“业务对象A:绘制XX街道的地图,进行中”、“业务对象B:采集XX广场的线路,已完成”等业务对象相关信息。图3(b)仅作为示例,显示给用户的业务对象相关信息可以根据实际需要进行设定。
本发明实施例提供的业务数据的检索方法,可见,采用R树索引对与地理位置相关的业务对象的数据进行检索,相比于传统的索引方法能够显著提高检索效率。此外,R树的叶子节点中存储的哈希值占用空间很小,因此相比于传统的索引结构,节省了大量的存储空间。
参见图4,在本发明的一种实施例中,根据目标区域,从预先构建的用于存储业务数据索引信息的R树中查找与目标区域相匹配的目标叶子节点的步骤,具体可以包括如下细化步骤:
S401:按照从根节点到叶子节点的层级顺序,逐层依次判断各个非叶子节点和叶子节点存储的矩形区域是否与目标区域相交;若非叶子节点存储的矩形区域与目标区域不相交,则执行S402;若相交,则执行S403。
本发明实施例中,电子设备可以调用预先构建的R树,按照从根节点到叶子节点的层级顺序,逐层判断节点存储的矩形区域是否与目标区域相交。
S402:跳过以该非叶子节点为子树根节点的子树包含的所有节点。
若某一非叶子节点存储的矩形区域与目标区域不相交,而以该非叶子节点为子树根节点的子树包含的所有节点存储的矩形区域都小于该非叶子节点存储的矩形区域,因此,可以跳过以该非叶子节点为子树根节点的子树包含的所有节点。
S403:根据该非叶子节点存储的子节点的指针确定该节点的各个子节点,并判断该节点的各个子节点存储的矩形区域是否与目标区域相交,直到确定所存储的矩形区域与目标区域相交的叶子节点,作为目标叶子节点。
若某一非叶子节点存储的矩形区域与目标区域相交,表示以该非叶子节点为子树根节点的子树中可能存在与目标区域相匹配的叶子节点。可以根据该非叶子节点存储的子节点的指针确定该非叶子节点的各个子节点,继续判断各个子节点存储的矩形区域是否与目标区域相交。容易理解的,若某一子节点存储的矩形区域与目标区域不相交,则跳过以该子节点为子树根节点的子树中所有的节点。若某一子节点存储的矩形区域与目标区域相交,则继续检测下一级子节点存储的矩形区域是否与目标区域相交,直到确定所存储的矩形区域与目标区域相交的叶子节点,即为目标叶子节点。
可见,在预先建立的R树中查找与目标区域相匹配的叶子节点过程中,若非叶子节点存储的矩形区域与目标区域不相交,则不必再检索以该非叶子节点为子树根节点的子树中的所有节点,能够显著提高检索效率。
在本发明的一种实施例中,目标区域为矩形区域,判断节点存储的矩形区域是否与目标区域相交的步骤,可以包括以下细化步骤:
步骤a:判断节点存储的矩形区域和目标区域是否同时满足以下条件:
节点存储的矩形区域的最小横坐标小于目标区域的最大横坐标、节点存储的矩形区域的最大横坐标大于目标区域的最小横坐标、节点存储的矩形区域的最小纵坐标小于目标区域的最大纵坐标、且节点存储的矩形区域的最大纵坐标大于目标区域的最小纵坐标。
步骤b:若同时满足上述条件,则判定节点存储的矩形区域与目标区域相交,否则判定节点存储的矩形区域与目标区域不相交。
可见,本发明实施例中,只需判断节点存储的矩形区域与目标区域是否满足上述条件,即可判定节点存储的矩形区域与目标区域是否相交。在实际应用中,技术人员仅需一行代码即可解决判定矩形是否相交的问题。
例如,采用如下代码判断矩形是否相交:
Rectangle.overlap Rectangle=function(a,b){
return a.x<(b.x+b.w)&&(a.x+a.w)>b.x&&a.y<(b.y+b.h)&&(a.y+a.h)>b.y;};
上述代码中,overlap Rectangle表示判定矩形是否重叠的函数,a表示第一矩形区域,b表示第二矩形区域,a.x表示第一矩形区域的左下角横坐标,即第一矩形区域的最小横坐标;b.x表示第二矩形区域的左下角横坐标,b.w表示第二矩形区域的宽度,则b.x+b.w表示第二矩形区域的最大横坐标;a.w表示第一矩形区域的宽度,则a.x+a.w表示第一矩形区域的最大横坐标。
相应的,a.y表示第一矩形的左下角纵坐标,b.y表示第二矩形的左下角纵坐标,a.h表示第一矩形的高度,b.h表示第二矩形的高度。&&表示“与”运算。
可见,只要第一矩形区域和第二矩形区域同时满足上述条件,则返回第一矩形区域和第二矩形区域相交。
本发明实施例还提供了一种业务数据索引信息的存储方法,参见图5,方法可以包括以下步骤:
S501:初始化用于存储业务数据索引信息的R树的根节点。
本步骤中,初始化用于存储业务数据索引信息的R树结构,并初始化R树的根节点。
S502:获取第一业务对象的相关数据,并将第一业务对象的相关数据转换为第一哈希值;建立第一业务对象相关数据与第一哈希值之间的对应关系。
本发明实施例中,第一业务对象表示第一个待存储的业务对象。
针对第一个业务对象,将第一个业务对象的相关数据转换为第一哈希值,建立第一业务对象相关数据与第一哈希值之间的对应关系。
将业务对象转换为哈希值的具体过程可以参见图1所示实施例中步骤S103相关描述。
S503:根据第一业务对象的地理信息生成与该地理信息对应的第一矩形区域。
针对第一个业务对象,根据第一个业务对象的地理信息生成第一矩形区域,具体过程可以参见图1所示实施例中步骤S101相关描述。
其中,矩形区域可以用矩形的宽度、高度和左下角坐标来表示。
S504:根据第一哈希值和第一矩形区域生成第一叶子节点,第一叶子节点中存储有第一哈希值和第一矩形区域。
本发明实施例中,可以根据第一个业务对象的第一哈希值和第一矩形区域生成第一叶子节点,即第一叶子节点中存储有第一哈希值和第一矩形区域。
S505:获取待插入的第二业务对象的相关数据,并将第二业务对象的相关数据转换为第二哈希值;建立第二业务对象相关数据与第二哈希值之间的对应关系。
本发明实施例中,第二业务对象表示后续插入的业务对象。
S506:根据第二业务对象的地理信息生成与该地理信息对应的第二矩形区域。
S507:按照从根节点到叶子节点的顺序,依次计算当前R树中各个节点已存储的矩形区域与第二矩形区域合并后的扩张面积,并根据扩张面积的大小确定匹配叶子节点,匹配叶子节点是存储的矩形区域与第二矩形区域合并后的扩张面积最小的叶子节点,扩张面积表示各个节点已存储的矩形区域与第二矩形区域合并后的最小外接矩形区域相比于合并前的矩形区域扩大的面积。
本步骤中,为了确定第二业务对象对应的叶子节点的插入位置,可以确定匹配叶子节点,匹配叶子节点是存储的矩形区域与第二矩形区域合并后的扩张面积最小的叶子节点。
具体的,可以按照从根节点到叶子节点的顺序,计算当前R树中节点存储的矩形区域与第二矩形区域合并后的扩张面积。
其中扩张面积表示各个节点已存储的矩形区域与第二矩形区域合并后的最小外接矩形区域相比于合并前的矩形区域扩大的面积。例如,当前已存储的矩形区域的面积为10,第二矩形区域的面积为5,当前已存储的矩形区域与第二矩形区域合并后的最小外接矩形区域的面积为12,则扩张面积为12-10=2。
当某个非叶子节点存储的矩形区域与第二矩形区域合并后扩张面积不为零,表示第二矩形区域处于该非叶子节点存储的矩形区域的外部,则以该非叶子节点为根节点的子树中包含的叶子节点必然与第二矩形区域合并后的扩张面积较大,在这种情况下,可以跳过该非叶子节点及其下层的所有节点,进而计算其他非叶子节点存储的矩形与第二矩形区域合并后的扩张面积。直到找到所存储的矩形区域与第二矩形区域合并后扩张面积最小的叶子节点,作为匹配叶子节点。
作为一个示例,可以参见图6,图6中矩形框表示节点中存储的矩形区域,R1为根节点,R2、R3和R4为非叶子节点,R5、R6、R7、R8、R9、R10和R11为叶子节点,阴影框表示当前待插入的节点R的第二矩形区域。则可以按照从根节点到叶子节点的顺序,计算当前R树中节点存储的矩形区域与第二矩形区域合并后的扩张面积,图6所示实施例中,节点R与R7合并后的扩张面积最小,因此叶子节点R7为匹配叶子节点。
确定匹配叶子节点后,即可确定新插入节点的插入位置。
S508:若扩张面积不为零,则生成新叶子节点,将第二矩形区域和第二哈希值写入新叶子节点。
本发明实施例中,若扩张面积不为零,表示新插入节点对应的业务对象是新的业务对象,与当前R树中存储的业务对象不重复。则可以生成新叶子节点,将第二矩形区域和第二哈希值写入新叶子节点。
S509:生成新叶子节点和匹配叶子节点的父节点,按照从叶子节点向根节点的顺序,根据预设的R树调整规则调整R树,并返回获取待插入的第二业务对象的相关数据的步骤,直到完成所有待插入的业务对象相关数据的插入过程。
本发明实施例中,生成的新叶子节点和匹配叶子节点的父节点即为非叶子节点。
生成新叶子节点和匹配叶子节点的父节点后,可以对R树进行相应的调整。具体的,按照从叶子节点到根节点的顺序,根据预设的R树调整规则调整R树。
本发明实施例中,R树是平衡树,即R树中的叶子节点是位于同一层的。在插入新的叶子节点后,需要对R树进行相应的调整,以保持R树的平衡性。
其中预设的R树调整规则可以是调整各个节点存储的矩形区域范围,使其最小包含其下层所有节点存储的矩形区域,使R树保持平衡。
作为一个示例,可以参见图7,生成节点R与R7的父节点,相应的,调整原来节点R2的矩形区域。
此外,若新插入的叶子节点导致同属于单个非叶子节点的非叶子节点数目超过预设的最大数目,则需要对该非叶子节点进行分裂,产生新的非叶子节点,将该非叶子节点下原本存在的叶子节点分散到两个新产生的非叶子节点下。
在完成第二业务对象相关数据插入过程之后,可以获取下一个待插入的业务对象相关数据,并返回S506步骤,对下一待插入业务对象相关数据进行插入,直到完成所有待插入的业务对象相关数据的插入过程。
在本发明的一种实施例中,参见图8,图8为本发明实施例提供的业务数据索引信息的存储方法的另一种流程示意图,在图5所示实施例基础上,若匹配叶子节点存储的矩形区域与第二矩形区域合并后的扩张面积为零,可以执行S801:判断匹配叶子节点存储的哈希值是否与第二哈希值相同。若相同,则执行S802:跳过该第二业务对象。
具体的,如果匹配叶子节点存储的矩形区域与第二矩形区域合并后的扩张面积为零,表示第二矩形区域可能与匹配叶子节点存储的矩形区域相重合,由于矩形区域均是根据业务对象的地理信息生成的,因此这种情况有可能是同一业务对象重复插入。
这种情况下,可以判断匹配叶子节点存储的哈希值是否与第二哈希值相同,由于哈希值和业务对象相关数据是一一对应的,因此若哈希值相同,则必然是相同的业务对象。则可以跳过该第二业务对象,避免相同的业务对象重复插入R树。
可见,本发明实施例中,由于叶子节点中存储的是根据业务对象相关数据计算得到的哈希值,因此能够很方便的进行查重操作。在建立索引过程中,当待插入的业务对象的哈希值与叶子节点中已经存储的哈希值相同,则判定该待插入的业务对象是重复的,不再进行将其写入索引中。从而避免同一业务重复写入,即减少了内存空间的占用,也优化了检索过程,避免检索到重复的业务对象。
此外,本发明实施例中,在叶子节点中存储哈希值的另一个有益效果是:便于业务对象占用内存的回收。具体的,若在叶子节点中存储业务对象相关数据的指针,则业务对象相关数据无法进行内存变更,需要一直占用内存,所占用的内存无法回收。而叶子节点中存储哈希值能够解决上述问题,哈希值不影响业务对象相关数据的存储位置,因此业务对象相关数据在电子设备中占用的内存是可以变更的,便于内存回收。
在本发明的一种实施例中,若匹配叶子节点存储的矩形区域与第二矩形区域合并后的扩张面积为零,且匹配叶子节点存储的哈希值与第二哈希值不同,表示新插入的业务对象并不重复,因此可以为其生成新叶子节点,将该业务对象的第二矩形区域和第二哈希值写入新叶子节点,并按照预设的R树调整规则调整R树。
在本发明的一种实施例中,若技术人员想要删除某个业务对象的索引,也可以对构建的R树进行删除叶子节点的操作。具体的,技术人员输入待删除叶子存储对应的矩形区域,电子设备根据该矩形区域查找R树中的叶子节点,并确定待删除的叶子节点,将确定的待删除的叶子节点及其中存储的矩形区域和哈希值一并删除,并相应的调整R树保持R树的平衡性。
基于相同的发明构思,根据上述业务数据的检索方法实施例,本发明实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
确定待检索的目标区域;所述目标区域为预先构建的用于存储业务数据索引信息的R树中的区域;其中,所述R树包含根节点、叶子节点和非叶子节点,每个叶子节点存储有对业务对象相关数据进行哈希计算获得的哈希值,以及根据所述业务对象的地理信息生成的矩形区域;每个非叶子节点存储有指向该非叶子节点的子节点的指针,以及包含该非叶子节点的所有子节点所存储的矩形区域的最小矩形区域;所述根节点存储有指向该根节点的子节点的指针,以及包含该根节点的所有子节点所存储的矩形区域的最小矩形区域;
基于各个节点所存储的矩形区域,从所述预先构建的用于存储业务数据索引信息的R树中查找与所述目标区域相匹配的目标叶子节点,并获取所述目标叶子节点中存储的目标哈希值;
基于业务对象相关数据与哈希值之间的对应关系,获得所述目标哈希值对应的业务对象相关数据。
应用本发明实施例提供的电子设备,采用R树索引对与地理位置相关的业务对象的数据进行检索,相比于传统的索引方法能够显著提高检索效率。此外,R树的叶子节点中存储的哈希值占用空间很小,因此相比于传统的索引结构,节省了大量的存储空间。
基于相同的发明构思,根据上述业务数据索引信息的存储方法实施例,本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现如下步骤:
初始化用于存储业务数据索引信息的R树的根节点;
获取第一业务对象的相关数据,并将所述第一业务对象的相关数据转换为第一哈希值;建立所述第一业务对象的相关数据与所述第一哈希值之间的对应关系;
根据所述第一业务对象的地理信息生成与该地理信息对应的第一矩形区域;
根据所述第一哈希值和所述第一矩形区域生成第一叶子节点,所述第一叶子节点中存储有所述第一哈希值和所述第一矩形区域;
获取待插入的第二业务对象的相关数据,并将所述第二业务对象的相关数据转换为第二哈希值;建立所述第二业务对象的相关数据与所述第二哈希值之间的对应关系;
根据所述第二业务对象的地理信息生成与该地理信息对应的第二矩形区域;
按照从根节点到叶子节点的顺序,依次计算当前R树中各个节点已存储的矩形区域与所述第二矩形区域合并后的扩张面积,并根据扩张面积的大小确定匹配叶子节点,所述匹配叶子节点是存储的矩形区域与所述第二矩形区域合并后的扩张面积最小的叶子节点;所述扩张面积表示所述各个节点已存储的矩形区域与所述第二矩形区域合并后的最小外接矩形区域相比于合并前的矩形区域扩大的面积;
若所述扩张面积不为零,则生成新叶子节点,将所述第二矩形区域和所述第二哈希值写入新叶子节点;
生成所述新叶子节点和所述匹配叶子节点的父节点,并按照从叶子节点向根节点的顺序,根据预设的R树调整规则调整R树,并返回获取待插入的第二业务对象的相关数据的步骤,直到完成所有待插入的业务对象相关数据的插入过程。
应用本发明实施例提供的电子设备,叶子节点中存储的是根据业务对象相关数据计算得到的哈希值,因此能够很方便的进行查重操作。在建立索引过程中,当待插入的业务对象的哈希值与叶子节点中已经存储的哈希值相同,则判定该待插入的业务对象是重复的,不再进行将其写入索引中。从而避免同一业务重复写入,即减少了内存空间的占用,也优化了检索过程,避免检索到重复的业务对象。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一业务数据的检索方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一业务数据的检索方法的步骤。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一业务数据索引信息的存储方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一业务数据索引信息的存储方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备、计算机可读存储介质及计算机程序产品实施例而言,由于其基本相似于业务数据的检索方法实施例和业务数据索引信息的存储方法实施例,所以描述的比较简单,相关之处参见业务数据的检索方法实施例和业务数据索引信息的存储方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种业务数据的检索方法,其特征在于,所述方法包括:
确定待检索的目标区域;所述目标区域为预先构建的用于存储业务数据索引信息的R树中的区域;其中,所述R树包含根节点、叶子节点和非叶子节点,每个叶子节点存储有对业务对象相关数据进行哈希计算获得的哈希值,以及根据所述业务对象的地理信息生成的矩形区域;每个非叶子节点存储有指向该非叶子节点的子节点的指针,以及包含该非叶子节点的所有子节点所存储的矩形区域的最小矩形区域;所述根节点存储有指向该根节点的子节点的指针,以及包含该根节点的所有子节点所存储的矩形区域的最小矩形区域;
基于各个节点所存储的矩形区域,从所述预先构建的用于存储业务数据索引信息的R树中查找与所述目标区域相匹配的目标叶子节点,并获取所述目标叶子节点中存储的目标哈希值;
基于业务对象相关数据与哈希值之间的对应关系,获得所述目标哈希值对应的业务对象相关数据。
2.根据权利要求1所述的方法,其特征在于,所述确定待检索的目标区域的步骤,包括:
确定用户在电子地图中选定的待检索的地理区域;
根据预设的电子地图中地理区域和R树中区域的对应关系,将所选定的地理区域映射为R树中的目标区域。
3.根据权利要求1所述的方法,其特征在于,所述基于各个节点所存储的矩形区域,从所述预先构建的用于存储业务数据索引信息的R树中查找与所述目标区域相匹配的目标叶子节点的步骤,包括:
按照从根节点到叶子节点的层级顺序,逐层依次判断各个非叶子节点和叶子节点存储的矩形区域是否与所述目标区域相交;
若非叶子节点存储的矩形区域与所述目标区域不相交,则跳过以该非叶子节点为子树根节点的子树包含的所有节点;
若非叶子节点存储的矩形区域与所述目标区域相交,则根据该非叶子节点存储的子节点的指针确定该非叶子节点的各个子节点,并判断该非叶子节点的各个子节点存储的矩形区域是否与所述目标区域相交,直到确定所存储的矩形区域与所述目标区域相交的叶子节点,作为目标叶子节点。
4.根据权利要求3所述的方法,其特征在于,所述目标区域为矩形区域;所述判断各个非叶子节点和叶子节点存储的矩形区域是否与所述目标区域相交的步骤,包括:
判断各个非叶子节点和叶子节点存储的矩形区域和所述目标区域是否同时满足以下条件:
各个非叶子节点和叶子节点存储的矩形区域的最小横坐标小于所述目标区域的最大横坐标、各个非叶子节点和叶子节点存储的矩形区域的最大横坐标大于所述目标区域的最小横坐标、各个非叶子节点和叶子节点存储的矩形区域的最小纵坐标小于所述目标区域的最大纵坐标、且各个非叶子节点和叶子节点存储的矩形区域的最大纵坐标大于所述目标区域的最小纵坐标;
若同时满足上述条件,则判定各个非叶子节点和叶子节点存储的矩形区域与所述目标区域相交,否则判定各个非叶子节点和叶子节点存储的矩形区域与所述目标区域不相交。
5.根据权利要求1所述的方法,其特征在于,所述业务对象的相关数据包括:
业务对象的名称、业务对象的任务描述信息和/或业务对象的进展状态信息。
6.一种业务数据索引信息的存储方法,其特征在于,所述方法包括:
初始化用于存储业务数据索引信息的R树的根节点;
获取第一业务对象的相关数据,并将所述第一业务对象的相关数据转换为第一哈希值;建立所述第一业务对象的相关数据与所述第一哈希值之间的对应关系;
根据所述第一业务对象的地理信息生成与该地理信息对应的第一矩形区域;
根据所述第一哈希值和所述第一矩形区域生成第一叶子节点,所述第一叶子节点中存储有所述第一哈希值和所述第一矩形区域;
获取待插入的第二业务对象的相关数据,并将所述第二业务对象的相关数据转换为第二哈希值;建立所述第二业务对象的相关数据与所述第二哈希值之间的对应关系;
根据所述第二业务对象的地理信息生成与该地理信息对应的第二矩形区域;
按照从根节点到叶子节点的顺序,依次计算当前R树中各个节点已存储的矩形区域与所述第二矩形区域合并后的扩张面积,并根据扩张面积的大小确定匹配叶子节点,所述匹配叶子节点是存储的矩形区域与所述第二矩形区域合并后的扩张面积最小的叶子节点;所述扩张面积表示所述各个节点已存储的矩形区域与所述第二矩形区域合并后的最小外接矩形区域相比于合并前的矩形区域扩大的面积;
若所述扩张面积不为零,则生成新叶子节点,将所述第二矩形区域和所述第二哈希值写入新叶子节点;
生成所述新叶子节点和所述匹配叶子节点的父节点,并按照从叶子节点向根节点的顺序,根据预设的R树调整规则调整R树,并返回获取待插入的第二业务对象的相关数据的步骤,直到完成所有待插入的业务对象相关数据的插入过程。
7.根据权利要求6所述的方法,其特征在于,若所述匹配叶子节点存储的矩形区域与所述第二矩形区域合并后的扩张面积为零,
判断所述匹配叶子节点存储的哈希值是否与所述第二哈希值相同,若相同,则跳过该第二业务对象。
8.根据权利要求7所述的方法,其特征在于,若所述匹配叶子节点存储的矩形区域与所述第二矩形区域合并后的扩张面积为零,且判断出所述匹配叶子节点存储的哈希值与所述第二哈希值不同,则生成新叶子节点,将所述第二矩形区域和所述第二哈希值写入新叶子节点,并按照预设的R树调整规则调整R树。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5和6-8任一所述的方法步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述1-5任一业务数据的检索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760113.7A CN111858613B (zh) | 2020-07-31 | 2020-07-31 | 一种业务数据的检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760113.7A CN111858613B (zh) | 2020-07-31 | 2020-07-31 | 一种业务数据的检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858613A true CN111858613A (zh) | 2020-10-30 |
CN111858613B CN111858613B (zh) | 2021-09-03 |
Family
ID=72953699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010760113.7A Active CN111858613B (zh) | 2020-07-31 | 2020-07-31 | 一种业务数据的检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858613B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112815954A (zh) * | 2021-01-19 | 2021-05-18 | 北京中交兴路信息科技有限公司 | 确定车辆导航路线的方法、装置、电子设备及介质 |
CN113051268A (zh) * | 2021-03-19 | 2021-06-29 | 中国工商银行股份有限公司 | 数据查询方法、数据查询装置、电子设备及存储介质 |
CN113391867A (zh) * | 2021-06-16 | 2021-09-14 | 杨永飞 | 基于数字化和可视化的大数据业务处理方法及业务服务器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160140153A1 (en) * | 2014-10-09 | 2016-05-19 | Crfs Limited | Processing spatiotemporal data records |
KR20160135907A (ko) * | 2015-05-18 | 2016-11-29 | 동아대학교 산학협력단 | R 트리 인덱스 기반의 확장된 최근접 공간개체 탐색 장치 및 방법 |
CN106933833A (zh) * | 2015-12-30 | 2017-07-07 | 中国科学院沈阳自动化研究所 | 一种基于空间索引技术的位置信息快速查询方法 |
CN108460102A (zh) * | 2018-02-05 | 2018-08-28 | 湖南视觉伟业智能科技有限公司 | 社交网络数据查询方法、装置、计算机设备和存储介质 |
CN108932310A (zh) * | 2018-06-19 | 2018-12-04 | 腾讯大地通途(北京)科技有限公司 | 空间服务提供方法、装置、服务器及存储设备 |
CN110059148A (zh) * | 2019-04-24 | 2019-07-26 | 上海交通大学 | 应用于电子地图的空间关键字查询的准确搜索方法 |
CN111090628A (zh) * | 2019-12-20 | 2020-05-01 | 上海米哈游网络科技股份有限公司 | 一种数据处理方法、装置、存储介质及电子设备 |
-
2020
- 2020-07-31 CN CN202010760113.7A patent/CN111858613B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160140153A1 (en) * | 2014-10-09 | 2016-05-19 | Crfs Limited | Processing spatiotemporal data records |
KR20160135907A (ko) * | 2015-05-18 | 2016-11-29 | 동아대학교 산학협력단 | R 트리 인덱스 기반의 확장된 최근접 공간개체 탐색 장치 및 방법 |
CN106933833A (zh) * | 2015-12-30 | 2017-07-07 | 中国科学院沈阳自动化研究所 | 一种基于空间索引技术的位置信息快速查询方法 |
CN108460102A (zh) * | 2018-02-05 | 2018-08-28 | 湖南视觉伟业智能科技有限公司 | 社交网络数据查询方法、装置、计算机设备和存储介质 |
CN108932310A (zh) * | 2018-06-19 | 2018-12-04 | 腾讯大地通途(北京)科技有限公司 | 空间服务提供方法、装置、服务器及存储设备 |
CN110059148A (zh) * | 2019-04-24 | 2019-07-26 | 上海交通大学 | 应用于电子地图的空间关键字查询的准确搜索方法 |
CN111090628A (zh) * | 2019-12-20 | 2020-05-01 | 上海米哈游网络科技股份有限公司 | 一种数据处理方法、装置、存储介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
周旭光: "R树空间索引", 《HTTPS://BLOG.CSDN.NET/ZHOUXUGUANG236/ARTICLE/DETAILS/7898272》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112815954A (zh) * | 2021-01-19 | 2021-05-18 | 北京中交兴路信息科技有限公司 | 确定车辆导航路线的方法、装置、电子设备及介质 |
CN112815954B (zh) * | 2021-01-19 | 2022-11-18 | 北京中交兴路信息科技有限公司 | 确定车辆导航路线的方法、装置、电子设备及介质 |
CN113051268A (zh) * | 2021-03-19 | 2021-06-29 | 中国工商银行股份有限公司 | 数据查询方法、数据查询装置、电子设备及存储介质 |
CN113391867A (zh) * | 2021-06-16 | 2021-09-14 | 杨永飞 | 基于数字化和可视化的大数据业务处理方法及业务服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111858613B (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111858613B (zh) | 一种业务数据的检索方法 | |
CN107545046B (zh) | 一种多源异构数据的融合方法及装置 | |
CN111931097B (zh) | 信息展示方法、装置、电子设备以及存储介质 | |
US8306971B2 (en) | Methods and systems of automatically geocoding a dataset for visual analysis | |
US20100169326A1 (en) | Method, apparatus and computer program product for providing analysis and visualization of content items association | |
US20110295904A1 (en) | Cluster identification and transformation | |
CN109471838B (zh) | 目录文档的操作方法、装置、电子设备、可读存储介质 | |
WO2006059629A1 (ja) | エリア情報の管理装置・方法・プログラム | |
WO2018184305A1 (zh) | 基于社交网络的群组查找方法、装置、服务器和存储介质 | |
Wang et al. | Retrieving and indexing spatial data in the cloud computing environment | |
CN109522271A (zh) | 一种b+树节点的批量插入和删除方法及装置 | |
US8156162B2 (en) | Storage method and search method for mark event on two-dimensional space | |
CN113360789A (zh) | 兴趣点数据处理方法、装置、电子设备及存储介质 | |
US11593376B2 (en) | Method, apparatus, and computer-readable medium to extract a referentially intact subset from a database | |
CN112699195B (zh) | 地理空间数据处理方法、装置、计算机设备及存储介质 | |
de Souza Baptista et al. | NoSQL geographic databases: an overview | |
WO2024016789A1 (zh) | 日志数据查询方法、装置、设备和介质 | |
Liu et al. | GB-Tree: An efficient LBS location data indexing method | |
CN105991400B (zh) | 一种群组搜索方法及其设备 | |
CN110134882B (zh) | 一种实现矩阵扫描电子地图提取全景图像计算机系统 | |
KR20220099745A (ko) | 지리공간 블록체인 데이터 검색을 위한 공간 분할 기반의 트리 인덱싱 및 질의어 처리 방법 및 장치 | |
CN114116948A (zh) | 地理矢量数据空间缓冲区分析方法、装置、设备及介质 | |
CN113360586A (zh) | 地址聚集度查询方法、装置、设备及计算机可读存储介质 | |
CN111880776A (zh) | 一种层级关系获得方法、装置及电子设备 | |
CN112416966A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220318 Address after: 430051 No. b1336, chuanggu startup area, taizihu cultural Digital Creative Industry Park, No. 18, Shenlong Avenue, Wuhan Economic and Technological Development Zone, Hubei Province Patentee after: Yikatong (Hubei) Technology Co.,Ltd. Address before: No.c101, chuanggu start up zone, taizihu cultural Digital Industrial Park, No.18 Shenlong Avenue, Wuhan Economic and Technological Development Zone, Hubei Province Patentee before: HUBEI ECARX TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |