一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

面向移动对象分布式索引的速度分区方法、装置及系统

2022-06-05 12:13:25 来源:中国专利 TAG:


1.本发明涉及物联网技术领域,具体而言,涉及一种面向移动对象分布式索引的速度分区方法、装置及系统。


背景技术:

2.大数据的主要应用是物联网,它的出现主要是由于连接互联网的设备数量的增加。这些设备通常配备各种传感器,可以实时或每分钟多次积累大量数据。在物联网领域,数据流在许多应用中都很常见,如综合web搜索、网络流量中的异常实时检测、社交网络、环境监测、信息物理系统和传感器网络。在这些应用程序中,数据会随着时间发生显著的变化,并不断地到达,其中有大量数据是由移动对象产生,数据中包含移动对象的位置信息和速度信息。
3.为更好地处理移动对象数据,需要对其建立索引,以连续索引大量静态空间对象(如建筑物)和不同速度的移动对象(如行人、出租车、公共汽车等)。移动对象分布式索引是当前主流的移动索引方法,这类方法的基本思想是根据移动对象的速度划分出多个分区,为每个分区独立地建立一个或多个移动对象索引,这样速度相近的移动对象在同一索引中。但现有速度分区方法无法应对移动对象集合高度动态变化的场景,无法满足现实应用的需求。


技术实现要素:

4.本发明解决的问题是如何实时准确更新速度分区。
5.为解决上述问题,本发明提供一种面向移动对象分布式索引的速度分区方法,包括:根据第一移动对象速度点在线创建微聚类;根据第二移动对象速度点在线更新所述微聚类;若当前微聚类为零微聚类,则将所属宏聚类id设置为 0,否则将所属宏聚类id设置为当前在线速度分区计数器的值,并将当前微聚类添加到该值对应的速度分区中,速度分区计数器加一;根据旧微聚类的相交微聚类以及与新微聚类距离最近的微聚类,在所述相交微聚类中删除过期的微聚类,更新所述新微聚类的宏聚类id并将所述新微聚类加入到对应的速度分区。
6.本发明所述的面向移动对象分布式索引的速度分区方法,通过在移动对象创建分布式索引时在线创建速度分区,与现有基于sp的分区方法相比,能够满足大量旧移动对象离开集合和新移动对象进入集合的现象所带来的现实应用需求,可以应用于移动对象集合高度动态变化的场景,因而能够实时准确地更新速度分区。
7.可选地,所述根据第一移动对象速度点在线创建微聚类包括:初始化所述微聚类,根据当前微聚类计数器的值设置所述微聚类的id;将所述第一移动对象速度点对应的移动对象id和移动对象的速度点列表存入到所述微聚类的哈希表中;根据所述第一移动对象速度点的属性设置所述微聚类。
8.本发明所述的面向移动对象分布式索引的速度分区方法,根据第一移动对象速度
点在线创建微聚类,进而根据微聚类创建宏聚类,从而可以创建速度分区。
9.可选地,所述根据所述第一移动对象速度点的属性设置所述微聚类包括:根据所述第一移动对象速度点的属性设置所述微聚类的密度、位置、半径、能量和所占速度网格列表,其中,所述密度表示所述微聚类包含的移动对象的数量,所述位置表示所述微聚类中最新的不同空间对象的速度点的平均值,所述半径用于将所述微聚类划分为核心区域和外壳区域,所述能量表示所述微聚类中所有速度点的最大时间戳与接收移动对象速度点流的滑动窗口的时间下界的差,所述所占速度网格列表表示与所述微聚类重叠的速度网格列表。
10.本发明所述的面向移动对象分布式索引的速度分区方法,根据第一移动对象速度点的属性设置微聚类的密度、位置、半径、能量和所占速度网格列表,从而在线创建微聚类,进而根据微聚类创建宏聚类,从而可以创建速度分区。
11.可选地,所述根据第二移动对象速度点在线更新所述微聚类包括:根据所述第二移动对象速度点的时间戳更新所述微聚类的能量;从所述微聚类对应的哈希表中随机选取多个栈列表,确定所述栈列表所包含的所述第二移动对象速度点,其中,所述栈列表的数量小于所述微聚类的密度;遍历所述栈列表,若任一栈列表的最新时间戳小于用于接收移动对象速度点流的滑动窗口的时间下界,则将该栈列表删除并将所述微聚类的密度减一;若所述第二移动对象速度点在所述哈希表中对应的栈列表为空,则将所述第二移动对象速度点加入栈顶并将所述微聚类的密度加一。
12.本发明所述的面向移动对象分布式索引的速度分区方法,根据第二移动对象速度点在线更新微聚类,可以删除过期微聚类,保证聚类的准确性,进而实现准确的速度分区。
13.可选地,所述根据旧微聚类的相交微聚类以及与新微聚类距离最近的微聚类,在所述相交微聚类中删除过期的微聚类包括:遍历与所述旧微聚类相交的其他微聚类,删除其中能量小于零且绝对值大于延时的微聚类;以所述旧微聚类在速度网格中的位置为圆心,在所述旧微聚类的半径范围内找到所述距离最近的微聚类。
14.本发明所述的面向移动对象分布式索引的速度分区方法,根据旧微聚类的相交微聚类删除过期的微聚类,保证聚类的准确性,进而实现准确的速度分区。
15.可选地,所述更新所述新微聚类的宏聚类id并将所述新微聚类加入到对应的速度分区包括:当所述距离最近的微聚类为空时,采用所述新微聚类创建所述速度分区,否则对比所述旧微聚类所属宏聚类的id与所述距离最近的微聚类所属宏聚类的id,若两者不相等则将所述距离最近的微聚类所属宏聚类的id赋予所述新微聚类,并将所述新微聚类加入到所述距离最近的微聚类所属宏聚类的id对应的速度分区中。
16.本发明所述的面向移动对象分布式索引的速度分区方法,根据与新微聚类距离最近的微聚类更新新微聚类的宏聚类id,进而实现速度分区的实时准确更新。
17.可选地,所述面向移动对象分布式索引的速度分区方法还包括:对速度空间进行网格划分并利用希尔伯特曲线对网格进行编码。
18.本发明所述的面向移动对象分布式索引的速度分区方法,对速度空间进行网格划分并利用希尔伯特曲线对网格进行编码,能够减少在线速度分区时的计算开销并有效支撑下一步该区域的分布式移动对象索引的构建和维护。
19.本发明还提供一种面向移动对象分布式索引的速度分区装置,包括:微聚类创建模块,用于根据第一移动对象速度点在线创建微聚类;微聚类更新模块,用于根据第二移动
对象速度点在线更新所述微聚类;速度分区创建模块,用于若当前微聚类为零微聚类,则将所属宏聚类id设置为0,否则将所属宏聚类id 设置为当前在线速度分区计数器的值,并将当前微聚类添加到该值对应的速度分区中,速度分区计数器加一;速度分区更新模块,用于根据旧微聚类的相交微聚类以及与新微聚类距离最近的微聚类,在所述相交微聚类中删除过期的微聚类,更新所述新微聚类的宏聚类id并将所述新微聚类加入到对应的速度分区。
20.本发明还提供一种面向移动对象分布式索引的速度分区系统,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现如上面向移动对象分布式索引的速度分区方法。
21.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如上面向移动对象分布式索引的速度分区方法。
附图说明
22.图1为本发明实施例的面向移动对象分布式索引的速度分区方法的示意图一;
23.图2为本发明实施例的面向移动对象分布式索引的速度分区方法的示意图二;
24.图3为本发明实施例的m=2的基于网格的速度空间中进行速度划分示例。
具体实施方式
25.现有的面向移动对象分布式索引的速度划分方法的典型代表是基于 dva(dominant velocity axes)的分区方法。基于dva的速度分区方法的核心是速度分析器。速度分析器使用主成分分析算法(pca)和k-means聚类算法对从当前样本速度中找到主速度轴(dva)和离群值阈值,主速度轴是与大多数物体的速度平行的轴,离群值阈值用于确定哪些对象属于离群值分区。此方法步骤为:
26.1)输入移动对象速度点集合,主速度轴数量;
27.2)使用pca和k-means聚类的结合方法对有代表性的样本数据寻找多个dva;具体做法是将pca整合到聚类过程中,通过使用pca来指导聚类的形成和细化;在集群过程的最后,每个集群包含形成一个dva分区的速度点;每个分区的第一个pc是该分区的dva;
28.3)为每个主速度轴定义一个阈值,以确定一个对象是否可以被其分割;
29.4)通过最小化dva分区和离群值分区搜索区域扩展的组合率来确定最优离群值阈值;
30.5)垂直速度不在任何dva阈值内的移动对象,放置在离群值分区;
31.6)一旦从dva分区中移除所有的异常速度点,我们使用剩余的速度点重新计算dva,新的dva可以更精确地表示保留在其中的速度点。
32.对于基于dva的分区方法,它是针对一组固定的移动对象集合,且是对速度分区更新是离线更新方式,分区通过定期计算更新阈值进行更新。另外还有基于vmbr(velocity minimal bounding rectangles)的分区方法和基于sp (speed partitioning)的分区方法也存在类似的问题,对于vmbr的分区方法,没有提到如何更新分区,而基于sp的分区通过每小时例行程序定期进行分区更新。
33.现有的这些典型方法无法应对移动对象集合高度动态变化的场景,无法满足现实
应用的需求。因此现实场景中存在大量旧移动对象离开集合和新移动对象进入集合的现象,现有方法无法实时地、准确地更新速度分区。
34.为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
35.如图1所示,本发明实施例提供一种面向移动对象分布式索引的速度分区方法,包括:根据第一移动对象速度点在线创建微聚类;根据第二移动对象速度点在线更新所述微聚类;若当前微聚类为零微聚类,则将所属宏聚类id设置为0,否则将所属宏聚类id设置为当前在线速度分区计数器的值,并将当前微聚类添加到该值对应的速度分区中,速度分区计数器加一;根据旧微聚类的相交微聚类以及与新微聚类距离最近的微聚类,在所述相交微聚类中删除过期的微聚类,更新所述新微聚类的宏聚类id并将所述新微聚类加入到对应的速度分区。
36.具体地,结合图2所示,在本实施例中,面向移动对象分布式索引的速度分区方法包括:
37.1)在线创建微聚类,创建一个空的微聚类,主要是初始化存储《移动对象id,该移动对象的速度点列表》的哈希表,初始化微聚类属性和所占速度网格列表。
38.2)在线更新微聚类,使用新的移动对象速度点的时间戳更新微聚类的能量,当能量绝对值大于延时,则清理过期的移动对象速度点;如果当前微聚类不与其他微聚类相交且密度大于阈值,则为其设置宏聚类id,进入在线创建速度分区方法,否则重新在线更新微聚类。
39.3)在线创建速度分区的步骤为:如果微聚类是零微聚类,则将设置为id 为0的宏聚类,并将该宏聚类设置为零速度分区;否则将其宏聚类id设置为当前在线速度分区计数器的值,并将其加入名称为该值的速度分区,速度分区计数器加一。
40.4)在线更新速度分区方法为:根据被更新微聚类的相交微聚类和与其距离最近的微聚类,在相交微聚类中删除过期的微聚类,更新微聚类的宏聚类id并将其加入对应的速度分区。
41.其中,为便于区分前后时间对应的移动对象速度点,采用第一移动对象速度点和第二移动对象速度点作为区分,根据第一移动对象速度点在线创建微聚类后,由于移动对象集合高度动态变化,因此需要根据第二移动对象速度点对微聚类进行更新,删除过期微聚类,保证数据的准确性;另外,为便于区分更新前后的微聚类,采用旧微聚类和新微聚类作为区分,在速度网格中,旧微聚类可以理解为更新前的圆形区域,新微聚类可以理解为新的圆形区域;结合图3 所示,对微聚类进行速度分区的过程等同于进行宏聚类的过程。
42.其中,在线创建速度分区方法具体过程如下:
43.1)对于一个微聚类,如果它是零微聚类,则将其所属宏聚类id设置为0,并将其添加到零速度分区中。
44.2)否则将其所属宏聚类id设置为当前速度分区计数器的值,并将其添加到该值对应的速度分区中,分区计数器加一。
45.本实施例根据移动对象的速度值来划分索引可以显著提高查询性能,而在线更新速度分区则区别于现有基于sp的分区通过每小时例行程序定期进行分区更新的方式,解决了现有技术中移动对象创建分布式索引时无法在线创建速度分区的问题,可以应用于移动
对象集合高度动态变化的场景,因而能够实时准确地更新速度分区。
46.在本实施例中,通过在移动对象创建分布式索引时在线创建速度分区,与现有基于sp的分区方法相比,能够满足大量旧移动对象离开集合和新移动对象进入集合的现象所带来的现实应用需求,可以应用于移动对象集合高度动态变化的场景,因而能够实时准确地更新速度分区。
47.可选地,所述根据第一移动对象速度点在线创建微聚类包括:初始化所述微聚类,根据当前微聚类计数器的值设置所述微聚类的id;将所述第一移动对象速度点对应的移动对象id和移动对象的速度点列表存入到所述微聚类的哈希表中;根据所述第一移动对象速度点的属性设置所述微聚类。
48.具体地,在本实施例中,根据第一移动对象速度点在线创建微聚类包括:
49.1)初始化一个新的微聚类,将其id设置为当前微聚类计数器的值,计数器加一。
50.2)把移动对象速度点以《移动对象id,该移动对象按时间戳升序排列的速度点列表》的格式存入此微聚类的哈希表中。
51.3)根据移动对象速度点的属性设置微聚类的密度、位置、半径、能量和所占速度网格列表。
52.4)微聚类的最后一个属性是其所属宏聚类id,创建微聚类时另其不属于任何一个宏聚类。
53.在本实施例中,根据第一移动对象速度点在线创建微聚类,进而根据微聚类创建宏聚类,从而可以创建速度分区。
54.可选地,所述根据所述第一移动对象速度点的属性设置所述微聚类包括:根据所述第一移动对象速度点的属性设置所述微聚类的密度、位置、半径、能量和所占速度网格列表,其中,所述密度表示所述微聚类包含的移动对象的数量,所述位置表示所述微聚类中最新的不同空间对象的速度点的平均值,所述半径用于将所述微聚类划分为核心区域和外壳区域,所述能量表示所述微聚类中所有速度点的最大时间戳与接收移动对象速度点流的滑动窗口的时间下界的差,所述所占速度网格列表表示与所述微聚类重叠的速度网格列表。
55.具体地,在本实施例中,根据移动对象速度点的属性设置微聚类的密度、位置、半径、能量和所占速度网格列表;其中密度为微聚类包含的移动对象的数量;位置为微聚类中最新的不同空间对象的速度点的平均值;半径是一个可设置的值,将微聚类划分为核心区域和外壳区域,分界线为二分之一半径;能量指某时刻微聚类中所有速度点的最大时间戳与接收移动对象速度点流的滑动窗口的时间下界的差;微聚类是圆形区域,会与一个或多个速度网格重叠,微聚类存储与其重叠的网格列表。
56.在本实施例中,根据第一移动对象速度点的属性设置微聚类的密度、位置、半径、能量和所占速度网格列表,从而在线创建微聚类,进而根据微聚类创建宏聚类,从而可以创建速度分区。
57.可选地,所述根据第二移动对象速度点在线更新所述微聚类包括:根据所述第二移动对象速度点的时间戳更新所述微聚类的能量;从所述微聚类对应的哈希表中随机选取多个栈列表,确定所述栈列表所包含的所述第二移动对象速度点,其中,所述栈列表的数量小于所述微聚类的密度;遍历所述栈列表,若任一栈列表的最新时间戳小于用于接收移动对象速度点流的滑动窗口的时间下界,则将该栈列表删除并将所述微聚类的密度减一;若
所述第二移动对象速度点在所述哈希表中对应的栈列表为空,则将所述第二移动对象速度点加入栈顶并将所述微聚类的密度加一。
58.具体地,在本实施例中,在线更新微聚类方法具体过程如下:
59.1)用移动对象速度点更新微聚类的能量。
60.2)从微聚类哈希表中随机选k个栈列表,k小于此微聚类的密度,然后查找速度点属于哪些栈列表。
61.3)遍历上述栈列表,如果某个栈列表的最新时间戳小于用于接收移动对象速度点流的滑动窗口的时间下界,则将此栈列表删除,微聚类密度减一。
62.4)如果该速度点在微聚类哈希表中的栈列表为空,则将其加入栈顶,微聚类密度加一。
63.5)如果该微聚类不属于任一宏聚类且其密度大于阈值则用它创建一个在线速度分区。
64.6)如果速度点位于微聚类的外壳区,则令该微聚类=旧聚类,再把速度点加入对应栈列表,更新此微聚类。
65.7)更新速度分区。
66.在本实施例中,根据第二移动对象速度点在线更新微聚类,可以删除过期微聚类,保证聚类的准确性,进而实现准确的速度分区。
67.可选地,所述根据旧微聚类的相交微聚类以及与新微聚类距离最近的微聚类,在所述相交微聚类中删除过期的微聚类包括:遍历与所述旧微聚类相交的其他微聚类,删除其中能量小于零且绝对值大于延时的微聚类;以所述新微聚类在速度网格中的位置为圆心,在所述新微聚类的半径范围内找到所述距离最近的微聚类。
68.具体地,在本实施例中,在线更新速度分区方法具体过程如下:
69.1)遍历旧微聚类相交的其他微聚类,删除能量小于0且绝对值大于延时的微聚类。
70.2)用新微聚类在速度网格中的位置为圆心,半径为此微聚类半径的圆找到与它最近的微聚类。
71.在本实施例中,根据旧微聚类的相交微聚类删除过期的微聚类,保证聚类的准确性,进而实现准确的速度分区。
72.可选地,所述更新所述新微聚类的宏聚类id并将所述新微聚类加入到对应的速度分区包括:当所述距离最近的微聚类为空时,采用所述新微聚类创建所述速度分区,否则对比所述旧微聚类所属宏聚类的id与所述距离最近的微聚类所属宏聚类的id,若两者不相等则将所述距离最近的微聚类所属宏聚类的id赋予所述新微聚类,并将所述新微聚类加入到所述距离最近的微聚类所属宏聚类的id对应的速度分区中。
73.具体地,在本实施例中,在线更新速度分区方法具体过程还包括:
74.3)如果最近微聚类为空则用新微聚类创建速度分区;
75.4)否则对比旧微聚类所属宏聚类的id和最近微聚类的宏聚类id,若不相等则将最近微聚类的宏聚类id赋予新微聚类,并将新微聚类加入此id对应的速度分区;
76.5)删除旧微聚类。
77.在本实施例中,根据与新微聚类距离最近的微聚类更新新微聚类的宏聚类 id,进而实现速度分区的实时准确更新。
78.可选地,所述面向移动对象分布式索引的速度分区方法还包括:对速度空间进行网格划分并利用希尔伯特曲线对网格进行编码。
79.具体地,在本实施例中,所提出的速度分区方法利用了基于希尔伯特曲线的网格分区策略,对速度空间进行网格划分并利用希尔伯特曲对这些网格进行编码。该策略有两个好处:1)通过网格距离计算可以减少在线速度分区时的计算开销;2)一个速度分区中的移动对象可以根据所在网格的编码相似性进行二次聚类,以有效支撑下一步该区域的分布式移动对象索引的构建和维护。
80.在本实施例中,对速度空间进行网格划分并利用希尔伯特曲线对网格进行编码,能够减少在线速度分区时的计算开销并有效支撑下一步该区域的分布式移动对象索引的构建和维护。
81.本发明另一实施例提供一种面向移动对象分布式索引的速度分区装置,包括:微聚类创建模块,用于根据第一移动对象速度点在线创建微聚类;微聚类更新模块,用于根据第二移动对象速度点在线更新所述微聚类;速度分区创建模块,用于若当前微聚类为零微聚类,则将所属宏聚类id设置为0,否则将所属宏聚类id设置为当前在线速度分区计数器的值,并将当前微聚类添加到该值对应的速度分区中,速度分区计数器加一;速度分区更新模块,用于根据旧微聚类的相交微聚类以及与新微聚类距离最近的微聚类,在所述相交微聚类中删除过期的微聚类,更新所述新微聚类的宏聚类id并将所述新微聚类加入到对应的速度分区。
82.本发明另一实施例提供一种面向移动对象分布式索引的速度分区系统,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现如上面向移动对象分布式索引的速度分区方法。
83.本发明另一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如上面向移动对象分布式索引的速度分区方法。
84.虽然本发明公开披露如上,但本发明公开的保护范围并非仅限于此。本领域技术人员在不脱离本发明公开的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献