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

基于线段KD树的支持大规模时序数据交互方法及系统与流程

2021-10-24 04:05:00 来源:中国专利 TAG:线段 时序 数据 交互 支持

基于线段kd树的支持大规模时序数据交互方法及系统
技术领域
1.本发明属于数据可视化技术领域,具体涉及一种基于线段kd树的支持大规模时序数据交互方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.目前,越来越多时序数据被收集、存储和分析,并在许多领域中都有所涉及,例如金融、健康、城市信息学等。为了深入了解这些时序数据,分析人员通常需要进行探索、比较和关联多个实体产生的数据。这些数据的数量从几十到几百万不等。因此,当下对能够扩展到大规模时序数据交互式探索的分析系统有很大的需求。
4.已有的探索方法有很多,下面分两个方面进行简单总结:
5.基于原始线段的探索分析方法。这种方法通过在屏幕空间以折线的方式绘制出所有的时序数据,为用户提供相应的数据视图与交互环境。但这种方法导致的问题是当数据量增大时,将不可避免地产生过度绘制的问题。这一问题会严重影响用户对数据的分析与认知,例如不能从视图中获得有效的整体分布信息等。
6.基于密度图的探索分析方法。这种方法通过在屏幕空间以密度图的形式绘制出所有的时序数据。虽然这种方法能够有效地为用户提供对整体数据分布的洞见,但是用户不能从中得知某一条或多条线的详细走势信息。因此,这一方法也会影响用户对数据的分析与认知工作。


技术实现要素:

7.本发明为了解决上述问题,提出了一种基于线段kd树的支持大规模时序数据交互方法及系统,本发明可以实现适用于大规模时序数据的交互式分析工作。
8.根据一些实施例,本发明采用如下技术方案:
9.一种基于线段kd树的支持大规模时序数据交互方法,包括以下步骤:
10.将每个时间序列分割为多个线段,并计算每个线段对应的斜率;
11.为分割后的所有线段建立在三维空间的kd树索引结构;
12.计算每个kd树节点中的空间跨度信息;
13.对于交互目标区域,查询kd树索引结构中经过所选区域内的所有线段信息,进行交互式查询。
14.作为可选择的实施方式,将每个时间序列分割为多个线段的具体过程包括:对时间数据,初始化一条折线段,只包含时序数据的首尾端点,对于一条折线段,通过递归的方式不断向当前折线中添加距离最远的点,直至所有未插入的点与当前折线的距离都小于一个设定的阈值。
15.作为可选择的实施方式,为分割后的所有线段建立在三维空间的kd树索引结构的
具体过程包括:对每个线段计算对应的斜率,将线段提升为时间



斜率这三维空间中的线段,基于提升维度后的线段,递归地查找空间的三个维度划分平面,并选取遍历节点代价最低的划分平面作为当前节点的划分平面,将穿过划分平面的线进行进一步的切割,确保每个线段都不会与划分平面相交。
16.作为可选择的实施方式,为分割后的所有线段建立在三维空间的kd树索引结构后,计算每个kd树节点中的空间跨度信息;并在每个叶节点中存储对应所包含线段的端点、斜率与曲率信息。
17.作为可选择的实施方式,对于交互目标区域,查询kd树索引结构中经过所选区域内的所有线段信息的具体过程包括:对于交互产生的选区范围,查询kd树中经过所选区域内的所有线段信息;通过利用时序数据连续变化的特性,构造若干虚拟查询选区,查询经过虚拟查询选区中的所有线段信息;从经过所选区域的线集合中将经过任一虚拟查询选区的线剔除,得到最终的交互式查询结果。
18.作为可选择的实施方式,进行交互式查询时,利用索引密度反馈当前的交互查询结果,所述索引密度计算过程包括:
19.对于每个屏幕空间中的像素,构造设定半径范围内的查询;
20.在kd树中进行半径近邻查询操作;
21.对查询到的结果进行聚合计算,得到最终的密度值。
22.作为可选择的实施方式,进行交互式查询后,反馈当前的交互查询结果是,选取具有代表性的线段进行显示,具体过程包括:
23.对于每个时序数据线段,根据所经过的密度区域计算出每条线的权值;
24.计算两两线段之间的空间差异情况;
25.基于用户给定的参数,从所有时序数据中选出要求参数数量的具有代表性的线进行显示。
26.一种基于线段kd树的支持大规模时序数据交互系统,包括:
27.分割模块,被配置为将每个时间序列分割为多个线段,并计算每个线段对应的斜率;
28.kd树索引结构构建模块,被配置为为分割后的所有线段建立在三维空间的kd树索引结构;
29.计算模块,被配置为计算每个kd树节点中的空间跨度信息;
30.查询模块,被配置为对于交互目标区域,查询kd树索引结构中经过所选区域内的所有线段信息,进行交互式查询。
31.一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成上述方法中的步骤。
32.一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成上述方法中的步骤。
33.与现有技术相比,本发明的有益效果为:
34.1、本发明针对大规模时序数据提出了一种高效的数据索引结构。通过利用基于线段的kd树对数据进行索引,有效地解决了当前大规模数据分析中存在的查询困难问题;
35.2、本发明提供了一种高效的基于索引的密度计算方式。通过利用这一方法,能够
更加实时地向用户反馈当前的交互查询结果,从而更易于用户进行进一步的数据分析工作;
36.3、本发明提供了一种启发式的具有代表性的线的选取方式。这一方法通过一种启发式的算法,从所有时序数据中选出具有代表性的几条线展现给用户,从而解决了用户无法同时得知全局以及局部的走势信息的缺陷。
37.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
38.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
39.图1为本发明中索引构建过程的流程框架图;
40.图2为本发明中利用索引结构的交互式查询的方法图示;
41.图3为本发明中启发式查找具有代表性的线的结果图示。
具体实施方式:
42.下面结合附图与实施例对本发明作进一步说明。
43.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
44.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
45.在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
46.实施例一
47.本实施提供了一种基于线段kd树的支持大规模时序数据交互式探索方法;
48.图1为本发明中索引构建过程的流程框架图。基于线段kd树的索引构建方法,包括:
49.步骤1:对输入的时序数据p1,

,p
m
进行基于ramer

douglas

peucker方法的曲线分割,得到所有时序数据的近似直线段。具体描述为:初始化一条折线段,只包含时序数据的首尾端点p1,p
m
;对于一条折线段,通过递归的方式不断向当前折线中添加距离最远的点p
i
,直至所有未插入的点与当前折线的距离都小于一个设定的阈值∈;
50.步骤2:对完成分割的线段进行基于线段的kd树构建。具体描述为:首先对每个线段计算对应的斜率,从而将线段提升为三维(时间



斜率)空间中的线段;基于提升维度后的线段,递归地查找空间的三个维度划分平面,并选取遍历节点代价最低的划分平面作为当前节点的划分平面;将穿过划分平面的线进行进一步的切割,确保每个线段都不会与划分平面相交;
51.步骤3:在完成基于线段的kd树构建后,计算每个kd树节点中的空间跨度信息;并
在每个叶节点中存储对应所包含线段的端点、斜率与曲率信息,方便之后进行渲染与查询的加速工作。
52.图2为本发明中利用索引结构的交互式查询的方法图示。构建完索引结构后,利用索引结构进行交互式查询,包括:
53.步骤1:对于用户交互产生的选区范围(图2a中灰色矩形框所示),查询kd树中经过所选区域内的所有线段信息;
54.步骤2:通过利用时序数据连续变化的特性,构造两个虚拟查询选区(图2a灰色矩形框两侧),查询经过虚拟查询选区中的所有线段信息;对于斜率维度的交互查询,由于斜率的不连续性,对应的虚拟查询选区需要跨度为整个屏幕空间,以确保能够包含所有选区以外的线;
55.步骤3:将经过任一由步骤2构造的虚拟查询选区的线剔除出由步骤1产生的线段结果(图2b中叉号所示),得到最终的交互式查询结果。
56.同时,在显示最终的交互式查询结果时,利用基于索引的密度来反馈查询结果,基于索引的密度计算过程包括:
57.步骤1:对于每个屏幕空间中的像素,构造一个范围半径为r的查询;
58.步骤2:在kd树中进行半径近邻查询操作;
59.步骤3:对查询到的结果进行聚合计算(如统计数量),得到最终的密度值。
60.在反馈查询结果时,还可以查找比较有代表性的线,以便于用户进行统计或观察。图3为本发明中启发式查找具有代表性的线的结果图示。启发式查找具有代表性的线方法,包括:
61.步骤1:对于每个时序数据线段,基于如下公式,根据所经过的密度区域计算出每条线的权值:
[0062][0063]
其中,ρ(x
i,k
)代表线x
i
在k号像素处的密度值,l
i
代表对应线的时间跨度值。
[0064]
步骤2:为了选出更多趋势的代表性的线,基于如下能量公式,计算两两线之间的差异情况:
[0065][0066]
其中,κ(x
i,k
)代表线x
i
在k号像素处的曲率值,l
i,j
代表对应两线之间重合的时间跨度值。
[0067]
步骤3:基于用户给定的参数(n,θ),从所有时序数据中选出n条具有代表性的线,这些线的权值从高到低依次排列,同时两两之间的差异值均大于给定的参数θ。
[0068]
实施例二
[0069]
从用户客户端,提供了时序数据交互式探索系统,包括:
[0070]
数据模块,用于选择与上传使用的数据内容;设置用于可视化的数据字段详情;以及导出在系统中分析产生的图表或数据的详细信息;
[0071]
配置管理模块,用于设置具体的可视化参数;选择用于可视分析的交互查询工具;
[0072]
统计信息模块,用于展示当前交互选中的数据的统计信息;展示具有代表性的线信息;调整当前的交互查询结果的计算方式;调整或删除交互查询的选定范围;
[0073]
可视化模块,用于展示基于用户选择配置的可视化信息图表;支持在图表上利用可视分析的交互查询工具进行选区设定;实时地反馈用户当前交互产生的查询结果变更。
[0074]
实施例三
[0075]
一种基于线段kd树的支持大规模时序数据交互系统,包括:
[0076]
分割模块,被配置为将每个时间序列分割为多个线段,并计算每个线段对应的斜率;
[0077]
kd树索引结构构建模块,被配置为为分割后的所有线段建立在三维空间的kd树索引结构;
[0078]
计算模块,被配置为计算每个kd树节点中的空间跨度信息;
[0079]
查询模块,被配置为对于交互目标区域,查询kd树索引结构中经过所选区域内的所有线段信息,进行交互式查询。
[0080]
实施例四
[0081]
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成上述一种方法中的步骤。
[0082]
实施例五
[0083]
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成上述一种中的步骤。
[0084]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0085]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0086]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0087]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0088]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技
术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0089]
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜