CN114880393A - 基于多维索引的海量时空数据可视化性能优化方法及系统 - Google Patents
基于多维索引的海量时空数据可视化性能优化方法及系统 Download PDFInfo
- Publication number
- CN114880393A CN114880393A CN202210341639.0A CN202210341639A CN114880393A CN 114880393 A CN114880393 A CN 114880393A CN 202210341639 A CN202210341639 A CN 202210341639A CN 114880393 A CN114880393 A CN 114880393A
- Authority
- CN
- China
- Prior art keywords
- data
- visualization
- time
- space
- performance
- 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.)
- Pending
Links
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/26—Visual data mining; Browsing structured data
-
- 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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于多维索引的海量时空数据可视化性能优化方法及系统,掌握时空数据的数据特点以及数据格式,根据应用场景,对时空数据进行组织与管理,提出一种融合KD‑Tree和直方图的KD‑H技术分别针对非聚集查询和聚集查询优化查询性能,在对时空数据进行组织与管理后,构建多维索引和直方图,然后针对不同应用场景,在构建好合适的KD‑Tree和直方图后,以公开地图地理空间可视化地图作为底图,在基于大数据可视化的高性能WebGL渲染框架上,利用增量式可视化技术优化大规模时空数据可视化的性能,增量式可视化通过增加或者更新可视化的细节,逐步完成一个大规模数据集的可视化,本发明优化了大规模时空数据可视化的性能,加快加载时间,增强了用户体验。
Description
技术领域
本发明涉及大数据处理领域,尤其涉及一种基于多维索引的海量时空数据可视化性能优化方法及系统。
背景技术
时空数据是一种多维数据,包含时间维度、空间维度和专题属性信息,它记录事物在某个时间点或在一定的时间内的空间位置和状态,能反映对象的质变过程从一个状态到另一个状态,并能正确地反映过去,现在和未来的事情,比如城市位置的迁移,运动物体在空间位置上的变化等。
随着大数据可视化应用的飞速发展,时空数据可视化越来越受到重视,为了解决时空数据多维度、分析困难的问题,采用数据可视化技术对时空数据进行可视化,实现对时空数据的快速、交互式、可视化的探索与分析。时空数据的可视化的目的不仅仅是为了酷炫和漂亮,也是为了更简洁和直观的展示空间分布的规律,并挖掘更深层次的信息,数据可视化面临着数据量大,时空数据维度多,精确处理速度缓慢,可视化加载速度慢等一系列问题。
发明内容
本发明的目的在于解决时空数据维度多、分析难、可视化探索难等问题,以现有大数据可视化的高性能WebGL渲染框架为基础,基于时空索引技术对时空数据进行组织与管理,并结合增量式可视化技术,优化大规模时空数据可视化的性能。
为实现上述目的,本发明提供一种基于多维索引的海量时空数据可视化性能优化方法,包括:
获取公开的地图数据,对所述地图数据进行坐标系转化,得到地图底图;
获取交通数据集,对所述交通数据集进行坐标转换使其与所述地图底图所在坐标系相同后得到其时空数据,对所述时空数据进行预处理后导入数据库中;
获取所述数据库的文本信息,对所述文本信息进行预处理后得到包含关键字和字段信息的信息集,根据所述信息集查询所述数据库中的所述时空数据;
对查询到的所述时空数据在所述地图底图上进行可视化处理,对所述时空数据进行数据分块,当第一组数据被分块后,立即对第一组数据进行分析处理并在所述地图底图上进行可视化渲染并逐步得到整个查询数据的可视化渲染。
根据本发明的一个方面,所述数据库为关系数据库,所述数据库中的存储信息为所述时空数据,所述时空数据包括时间维度和空间维度,针对所述时间维度,进行分区分块组织与管理所述时空数据,针对所述空间维度,使用地理构造函数构造空间地理对象并将所述时空数据的地理数据转化为Point数据类型。
根据本发明的一个方面,所述地理构造函数获取所述空间地理对象的内部结构,所述内部结构包括边界、维度和外包矩形框,判断所述内部结构的几何关系,所述几何关系包括包含、相交、覆盖和连通,并根据判断结果将所述空间地理对象中的数据信息转换为点或线或面的数据类型。
根据本发明的一个方面,针对所述时间维度,获取每个所述时空数据的关键词或字段的具体值,得到分割条件,通过所述数据库的表分区功能将储存所述时空数据的大型物理表按照所述分割条件分割成小区块并且按照搜索数据概率更改小区块的物理储存位置,按照所述搜索数据概率隐藏搜索内容次数较少的小区块。
根据本发明的一个方面,所述根据所述信息集查询所述数据库中的所述时空数据的方法为:
判断查询所述信息集的请求是否为聚集操作,若不是,则通过多维索引KD-Tree的方式进行查询所述信息集的操作请求,若是,则继续判断查询所述信息集的请求是否为非聚集操作,若不是,则通过绘制直方图的方式进行查询所述信息集的操作请求,得到所述时空数据的估计结果,若是,则通过绘制直方图的方式和多维索引KD-Tree的方式联合进行查询所述信息集的操作请求。
根据本发明的一个方面,所述通过多维索引KD-Tree的方式进行查询所述信息集的操作请求的方法为:
所述多维索引KD-Tree为K维空间中的平衡二叉树,包含n个维度的数据点,所有数据点的集合为根,根沿第一维被分成两个n维超矩形,超矩形为所述平衡二叉树中的顶级子级,超矩形分别沿下一个维度进行划分,每个子节点都有两个子节点,沿着所述平衡二叉树依次遍历各个维度,通过所述多维索引KD-Tree进行查询请求,根据查询节点确定候选范围,当遇到新节点时,计算从所述查询节点到所述新节点的超矩形边界的距离,如果计算结果大于所述候选范围,则跳过所述新节点及其任何子节点中的任何实际点。
根据本发明的一个方面,所述通过绘制直方图的方式进行查询所述信息集的操作请求的方法为:
对所述时空数据进行划分得到bin,每个bin存储所述时空数据的自身信息和数据值的汇总统计信息,当通过直方图进行查询数据操作请求时,选择所述时空数据中一个维度的经度或者纬度,使用增量式可视化的方法创建一维的直方图,近似重构bin中数据,根据bin中数据的频率大小和bin边界的信息绘制一维的直方图。
根据本发明的一个方面,所述对所述时空数据进行数据分块的方法为:
所述数据分块包括排序和缓冲,排序为将大数据块分割成小数据块,缓冲为将大量的小数据块合并成大数据块,根据所述交通数据集的大小和排序策略确定如何对所述交通数据集进行所述数据分块,所述排序策略根据预设阈值得到分块后数据的分布排序,当第一组数据从所述历史交通数据集被切割分块时,立即对第一组数据进行分析处理和可视化渲染,并根据第一组数据的大小确定缓冲间隔后继续对所述交通数据集进行切割分块,所述排序和所述缓冲根据所述交通数据集的大小进行灵活调整与组合,选取对所述交通数据集最有效的所述数据分块的方法。
为实现上述目的,本发明提供一种基于多维索引的海量时空数据可视化性能优化系统,包括:
地图底图获得模块:获取公开的地图数据,对所述地图数据进行坐标系转化,得到地图底图;
数据库获得模块:获取交通数据集,对所述交通数据集进行坐标转换使其与所述地图底图所在坐标系相同后得到其时空数据,对所述时空数据进行预处理后导入数据库中;
查询操作模块:获取所述数据库的文本信息,对所述文本信息进行预处理后得到包含关键字和字段信息的信息集,根据所述信息集查询所述数据库中的所述时空数据;
可视化渲染模块:对查询到的所述时空数据在所述地图底图上进行可视化处理,对所述时空数据进行数据分块,当第一组数据被分块后,立即对第一组数据进行分析处理并在所述地图底图上进行可视化渲染并逐步得到整个查询数据的可视化渲染。
为实现上述目的,本发明提供一种电子设备,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现上述针对一种基于多维索引的海量时空数据可视化性能优化方法。
为实现上述目的,本发明提供一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述针对一种基于多维索引的海量时空数据可视化性能优化方法。
基于此,本发明的有益效果在于:
(1)提出一种融合多维索引KD-Tree和直方图的KD-H技术,分别针对聚集查询和非聚集查询优化海量时空数据的可视化性能,其中,对于聚集查询,使用直方图技术进行优化查询,对于非聚集查询,则使用KD Tree进行优化请求。
(2)使用增量式可视化技术,基于时空索引技术对时空数据进行组织与管理,并结合增量式可视化技术,优化大规模时空数据可视化的性能。
(3)为大规模时空数据的可视化探索和分析提供良好的用户体验,优化大规模时空数据可视化的性能可以提高应用程序的响应能力,加快数据加载时间,从而增强用户体验。
附图说明
图1示意性表示根据本发明的一种基于多维索引的海量时空数据可视化性能优化方法的流程图;
图2示意性表示查询请求优化流程图;
图3示意性表示SQL1执行时间比较图;
图4示意性表示SQL2执行时间对比图;
图5示意性表示SQL3执行时间对比图;
图6示意性表示增量可视化的流程图;
图7示意性表示增量可视化的系统架构图;
图8示意性表示整体式可视化和增量式可视化时间对比图;
图9示意性表示根据本发明的一种基于多维索引的海量时空数据可视化性能优化系统的流程图。
具体实施方式
现在将参照示例性实施例来论述本发明的内容,应当理解,论述的实施例仅是为了使得本领域普通技术人员能够更好地理解且因此实现本发明的内容,而不是暗示对本发明的范围的任何限制。
如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”,术语“一个实施例”和“一种实施例”要被解读为“至少一个实施例”。
图1示意性表示根据本发明的一种基于多维索引的海量时空数据可视化性能优化方法的流程图,如图1所示,根据本发明的一种基于多维索引的海量时空数据可视化性能优化方法,包括以下步骤:
获取公开的地图数据,对所述地图数据进行坐标系转化,得到地图底图;
获取交通数据集,对所述交通数据集进行坐标转换使其与所述地图底图所在坐标系相同后得到其时空数据,对所述时空数据进行预处理后导入数据库中;
获取所述数据库的文本信息,对所述文本信息进行预处理后得到包含关键字和字段信息的信息集,根据所述信息集查询所述数据库中的所述时空数据;
对查询到的所述时空数据在所述地图底图上进行可视化处理,对所述时空数据进行数据分块,当第一组数据被分块后,立即对第一组数据进行分析处理并在所述地图底图上进行可视化渲染并逐步得到整个查询数据的可视化渲染。
根据本发明的一个实施方式,所述数据库为关系数据库,例如,MySQL,PostgreSQL,Oracle等g,所述数据库中的存储信息为所述时空数据,所述时空数据包括时间维度和空间维度,针对所述时间维度,进行分区分块组织与管理所述时空数据,针对所述空间维度,使用地理构造函数构造空间地理对象并将所述时空数据的地理数据转化为Point数据类型。
根据本发明的一个实施方式,所述地理构造函数获取所述空间地理对象的内部结构,所述内部结构包括边界、维度和外包矩形框,判断所述内部结构的几何关系,所述几何关系包括包含、相交、覆盖和连通,并根据判断结果将所述空间地理对象中的数据信息转换为点或线或面的数据类型。
根据本发明的一个实施方式,针对所述时间维度,获取每个所述时空数据的关键词或字段的具体值,得到分割条件,通过所述数据库的表分区功能将储存所述时空数据的大型物理表按照所述分割条件分割成小区块并且按照搜索数据概率更改小区块的物理储存位置,按照所述搜索数据概率隐藏搜索内容次数较少的小区块。
根据本发明的一个实施方式,所述根据所述信息集查询所述数据库中的所述时空数据的方法为:
判断查询所述信息集的请求是否为聚集操作,若不是,则通过多维索引KD-Tree的方式进行查询所述信息集的操作请求,若是,则继续判断查询所述信息集的请求是否为非聚集操作,若不是,则通过绘制直方图的方式进行查询所述信息集的操作请求,得到所述时空数据的估计结果,若是,则通过绘制直方图的方式和多维索引KD-Tree的方式联合进行查询所述信息集的操作请求。
根据本发明的一个实施方式,所述通过多维索引KD-Tree的方式进行查询所述信息集的操作请求的方法为:
所述多维索引KD-Tree为K维空间中的平衡二叉树,包含n个维度的数据点,所有数据点的集合为根,根沿第一维被分成两个n维超矩形,超矩形为所述平衡二叉树中的顶级子级,超矩形分别沿下一个维度进行划分,每个子节点都有两个子节点,沿着所述平衡二叉树依次遍历各个维度,通过所述多维索引KD-Tree进行查询请求,根据查询节点确定候选范围,当遇到新节点时,计算从所述查询节点到所述新节点的超矩形边界的距离,如果计算结果大于所述候选范围,则跳过所述新节点及其任何子节点中的任何实际点。
根据本发明的一个实施方式,所述通过绘制直方图的方式进行查询所述信息集的操作请求的方法为:
对所述时空数据进行划分得到bin,每个bin存储所述时空数据的自身信息和数据值的汇总统计信息,当通过直方图进行查询数据操作请求时,选择所述时空数据中一个维度的经度或者纬度,使用增量式可视化的方法创建一维的直方图,近似重构bin中数据,根据bin中数据的频率大小和bin边界的信息绘制一维的直方图。
根据本发明的一个实施方式,所述对所述时空数据进行数据分块的方法为:
所述数据分块包括排序和缓冲,排序为将大数据块分割成小数据块,缓冲为将大量的小数据块合并成大数据块,根据所述交通数据集的大小和排序策略确定如何对所述交通数据集进行所述数据分块,所述排序策略根据预设阈值得到分块后数据的分布排序,当第一组数据从所述历史交通数据集被切割分块时,立即对第一组数据进行分析处理和可视化渲染,并根据第一组数据的大小确定缓冲间隔后继续对所述交通数据集进行切割分块,所述排序和所述缓冲根据所述交通数据集的大小进行灵活调整与组合,选取对所述交通数据集最有效的所述数据分块的方法。
根据本发明的一个实施例,为了测试本文提出的KD-H的性能,本文的实验运行环境为CentOS 7,使用的IDE是Eclipse helios,开发语言为java,采用的数据库系统为PostgreSQL,选择Uber TLC FOIL在纽约市的交通数据集为实验数据,该数据集包含2014年4月至9月纽约市超过450万部Uber皮卡的数据,以及2015年1月至6月期间超过1430万部Uber皮卡。该数据集共有4,534,327行,4个字段,包括Uber提货的日期和时间、Uber皮卡的纬度、Uber皮卡的经度、豪华轿车委员会(TLC)公司总部与Uber皮卡附属码,获取Uber TLCFOIL出租车的行驶数据集的作为实验数据,增量导入数据库中,本实验使用的数据库是PostgreSQL,并将数据集的经纬度转换为WGS-84坐标系下,然后将经纬度转换为Point数据类型用于后期实验,对于时间维度,是时间戳类型,需要对时间维度进行范围分区,对于空间维度,首先将经纬度转换在WGS-84坐标系下,即是百度地图纽约区域同一个坐标系下。并对Uber皮卡的经度和纬度创建KD-Tree,实验设计为分别对数据量为50万行、100万行、150万行、200万行、250万行、300万行、350万行、400万行、450万行的数据进行实验,每个实验执行5次求其平均值,如图2所示,当请求的查询为聚集查询时,基于直方图技术以优化查询性能。
如图3所示,请求SQL1使用直方图、KD-Tree和直接请求,随着数据量的增加使用KD-Tree和直接请求数据所花费的时间增大,但使用直方图所花费的时间则一直保持在3秒左右,且使用直方图请求数据的性能比使用索引请求数据的性能更好,使用直方图方法求得的近似值和实际查询的实际值相近。
如图4所示,请求SQL2使用直方图、KD-Tree和直接请求的性能,同SQL1一样,随着数据量的增加使用KD-Tree和直接请求数据所花费的时间增大,但使用直方图所花费的时间同SQL1一样一直保持在3秒左右,且使用直方图请求数据的性能比使用索引请求数据的性能更好,其中对比于SQL1,SQL2中使用直方图请求数据的性能比使用索引请求数据的性能很接近,其性能都远远优于直接请求查询的性能,使用直方图方法求得近似值和实际查询的实际值相近,但使用直方图请求查询的性能更好且更稳定。
针对SQL2,使用直方图方法请求聚集查询的结果和直接请求数据的结果相近,其正确率很高,但使用直方图请求数据的响应时间比直接请求数据的响应时间性能更好,且性能平稳,而直接请求查询的时间则会随着数据量的增加而增加,对于海量时空数据而言,使用直方图方法的性能更佳。
当请求的查询为非聚集查询时,使用多维索引KD-Tree进行性能优化,分别对数据量为50万行、100万行、150万行、200万行、250万行、300万行、350万行、400万行、450万行的数据进行实验,每个实验执行5次求平均。
如图5所示,对SQL3分别建立一维索引KD-Tree(lat)和索引KD-Tree(lon)以及建立多维索引KD-Tree(lat,lon)和KD-Tree(lon,lat),并将其和无索引时进行查询性能对比,使用一维索引KD-Tree(lat)和KD-Tree(lon)请求数据的响应时间都比无索引的响应时间慢,使用二维索引KD-Tree(lat,lon)和KD-Tree(lon,lat)请求数据的响应时间都比无索引时性能好,对比一维索引,二维索引比一维索引拥有更好的性能,这有利于对海量时空数据的可视化性能优化,但是使用索引KD-Tree(lon)请求数据的响应时间比使用KD Tree(lat)请求数据的响应时间快,是因为字段lon的唯一值比字段lat的唯一值多,对字段lon建立索引性能更佳。
另外,对于二维索引KD-Tree(lon,lat)和索引KD-Tree(lat,lon),二维索引KD-Tree(lon,lat)比二维索引KD-Tree(lat,lon)的请求查询耗时更短,性能更好,是因为字段lon的唯一值比字段lat的唯一值多,先对字段lon建立索引再对字段lat建立索引,性能更佳。
根据本发明的一个实施例,如图6和图7所示,以数据量为20万行为例,整体式可视化是一次性请求数据加载渲染,由于没有使用增量可视化方式,会花大量时间(约15秒)用于请求数据,使得前端没有及时响应可视化,且其可视化渲染时间为4秒左右,即是整体式可视化的整个可视化时间为19秒,但当按时间增量查询请求数据且前端进行增量式加载渲染时,整个可视化过程为15秒以内,且由于渲染方式是根据时间顺序进行增量式可视化渲染,用户可在渲染初期就了解整个数据集的分布情况,为了评价本系统的性能,实验设计为分别对数据量为5万行、10万行、15万行、20万行、25万行、30万行、35万行、40万行、45万行的数据量进行实验,并对比整体式可视化和增量式可视化的可视化时间,随着数据量的增加,整体式可视化的时间和增量式可视化的时间增加,但增量式可视化的性能比整体式可视化的性能更佳,且对于整体式可视化,其可视化时间包含了数据加载时间和数据渲染时间,其渲染方式是先对数据加载,等数据全部加载完成后,再进行数据渲染,即是用户需要花大部分时间等待数据加载完成,然后才可以看到数据渲染结果。而对于增量式可视化,其可视化性能优于整体式可视化,且其渲染方式是一边进行数据加载一边进行数据渲染,用户在初期就可以看到数据渲染效果,并且其增量式可视化的方式还可帮助用户了解演变过程和轨迹路线等,整体式可视化的渲染方式是先对数据加载,等数据全部加载完成后,再进行数据渲染,即是其可视化时间包含数据加载时间和数据渲染时间,如图8所示,在整体式可视化的整个可视化中,其中约3/4的时间用于数据加载,约1/4的时间用于数据渲染,其整个可视化时间为数据加载时间加上数据渲染时间,用户在整个可视化过程中需要大部分时间等待数据加载完成,这大部分时间处于用户视觉空白期,使得用户体验很差。
不仅如此,为实现上述发明目的,本发明还提供一种基于多维索引的海量时空数据可视化性能优化系统,图9示意性表示根据本发明的一种基于多维索引的海量时空数据可视化性能优化系统的流程图,如图9所示,根据本发明的一种基于多维索引的海量时空数据可视化性能优化系统,包括:
地图底图获得模块:获取公开的地图数据,对所述地图数据进行坐标系转化,得到地图底图;
数据库获得模块:获取交通数据集,对所述交通数据集进行坐标转换使其与所述地图底图所在坐标系相同后得到其时空数据,对所述时空数据进行预处理后导入数据库中;
查询操作模块:获取所述数据库的文本信息,对所述文本信息进行预处理后得到包含关键字和字段信息的信息集,根据所述信息集查询所述数据库中的所述时空数据;
可视化渲染模块:对查询到的所述时空数据在所述地图底图上进行可视化处理,对所述时空数据进行数据分块,当第一组数据被分块后,立即对第一组数据进行分析处理并在所述地图底图上进行可视化渲染并逐步得到整个查询数据的可视化渲染。
根据本发明的一个实施方式,所述数据库为关系数据库,例如,MySQL,PostgreSQL,Oracle等g,所述数据库中的存储信息为所述时空数据,所述时空数据包括时间维度和空间维度,针对所述时间维度,进行分区分块组织与管理所述时空数据,针对所述空间维度,使用地理构造函数构造空间地理对象并将所述时空数据的地理数据转化为Point数据类型。
根据本发明的一个实施方式,所述地理构造函数获取所述空间地理对象的内部结构,所述内部结构包括边界、维度和外包矩形框,判断所述内部结构的几何关系,所述几何关系包括包含、相交、覆盖和连通,并根据判断结果将所述空间地理对象中的数据信息转换为点或线或面的数据类型。
根据本发明的一个实施方式,针对所述时间维度,获取每个所述时空数据的关键词或字段的具体值,得到分割条件,通过所述数据库的表分区功能将储存所述时空数据的大型物理表按照所述分割条件分割成小区块并且按照搜索数据概率更改小区块的物理储存位置,按照所述搜索数据概率隐藏搜索内容次数较少的小区块。
根据本发明的一个实施方式,所述根据所述信息集查询所述数据库中的所述时空数据的方法为:
判断查询所述信息集的请求是否为聚集操作,若不是,则通过多维索引KD-Tree的方式进行查询所述信息集的操作请求,若是,则继续判断查询所述信息集的请求是否为非聚集操作,若不是,则通过绘制直方图的方式进行查询所述信息集的操作请求,得到所述时空数据的估计结果,若是,则通过绘制直方图的方式和多维索引KD-Tree的方式联合进行查询所述信息集的操作请求。
根据本发明的一个实施方式,所述通过多维索引KD-Tree的方式进行查询所述信息集的操作请求的方法为:
所述多维索引KD-Tree为K维空间中的平衡二叉树,包含n个维度的数据点,所有数据点的集合为根,根沿第一维被分成两个n维超矩形,超矩形为所述平衡二叉树中的顶级子级,超矩形分别沿下一个维度进行划分,每个子节点都有两个子节点,沿着所述平衡二叉树依次遍历各个维度,通过所述多维索引KD-Tree进行查询请求,根据查询节点确定候选范围,当遇到新节点时,计算从所述查询节点到所述新节点的超矩形边界的距离,如果计算结果大于所述候选范围,则跳过所述新节点及其任何子节点中的任何实际点。
根据本发明的一个实施方式,所述通过绘制直方图的方式进行查询所述信息集的操作请求的方法为:
对所述时空数据进行划分得到bin,每个bin存储所述时空数据的自身信息和数据值的汇总统计信息,当通过直方图进行查询数据操作请求时,选择所述时空数据中一个维度的经度或者纬度,使用增量式可视化的方法创建一维的直方图,近似重构bin中数据,根据bin中数据的频率大小和bin边界的信息绘制一维的直方图。
根据本发明的一个实施方式,所述对所述时空数据进行数据分块的方法为:
所述数据分块包括排序和缓冲,排序为将大数据块分割成小数据块,缓冲为将大量的小数据块合并成大数据块,根据所述交通数据集的大小和排序策略确定如何对所述交通数据集进行所述数据分块,所述排序策略根据预设阈值得到分块后数据的分布排序,当第一组数据从所述历史交通数据集被切割分块时,立即对第一组数据进行分析处理和可视化渲染,并根据第一组数据的大小确定缓冲间隔后继续对所述交通数据集进行切割分块,所述排序和所述缓冲根据所述交通数据集的大小进行灵活调整与组合,选取对所述交通数据集最有效的所述数据分块的方法。
根据本发明的一个实施例,为了测试本文提出的KD-H的性能,本文的实验运行环境为CentOS 7,使用的IDE是Eclipse helios,开发语言为java,采用的数据库系统为PostgreSQL,选择Uber TLC FOIL在纽约市的交通数据集为实验数据,该数据集包含2014年4月至9月纽约市超过450万部Uber皮卡的数据,以及2015年1月至6月期间超过1430万部Uber皮卡。该数据集共有4,534,327行,4个字段,包括Uber提货的日期和时间、Uber皮卡的纬度、Uber皮卡的经度、豪华轿车委员会(TLC)公司总部与Uber皮卡附属码,获取Uber TLCFOIL出租车的行驶数据集的作为实验数据,增量导入数据库中,本实验使用的数据库是PostgreSQL,并将数据集的经纬度转换为WGS-84坐标系下,然后将经纬度转换为Point数据类型用于后期实验,对于时间维度,是时间戳类型,需要对时间维度进行范围分区,对于空间维度,首先将经纬度转换在WGS-84坐标系下,即是百度地图纽约区域同一个坐标系下。并对Uber皮卡的经度和纬度创建KD-Tree,实验设计为分别对数据量为50万行、100万行、150万行、200万行、250万行、300万行、350万行、400万行、450万行的数据进行实验,每个实验执行5次求其平均值,如图2所示,当请求的查询为聚集查询时,基于直方图技术以优化查询性能。
如图3所示,请求SQL1使用直方图、KD-Tree和直接请求,随着数据量的增加使用KD-Tree和直接请求数据所花费的时间增大,但使用直方图所花费的时间则一直保持在3秒左右,且使用直方图请求数据的性能比使用索引请求数据的性能更好,使用直方图方法求得的近似值和实际查询的实际值相近。
如图4所示,请求SQL2使用直方图、KD-Tree和直接请求的性能,同SQL1一样,随着数据量的增加使用KD-Tree和直接请求数据所花费的时间增大,但使用直方图所花费的时间同SQL1一样一直保持在3秒左右,且使用直方图请求数据的性能比使用索引请求数据的性能更好,其中对比于SQL1,SQL2中使用直方图请求数据的性能比使用索引请求数据的性能很接近,其性能都远远优于直接请求查询的性能,使用直方图方法求得近似值和实际查询的实际值相近,但使用直方图请求查询的性能更好且更稳定。
针对SQL2,使用直方图方法请求聚集查询的结果和直接请求数据的结果相近,其正确率很高,但使用直方图请求数据的响应时间比直接请求数据的响应时间性能更好,且性能平稳,而直接请求查询的时间则会随着数据量的增加而增加,对于海量时空数据而言,使用直方图方法的性能更佳。
当请求的查询为非聚集查询时,使用多维索引KD-Tree进行性能优化,分别对数据量为50万行、100万行、150万行、200万行、250万行、300万行、350万行、400万行、450万行的数据进行实验,每个实验执行5次求平均。
如图5所示,对SQL3分别建立一维索引KD-Tree(lat)和索引KD-Tree(lon)以及建立多维索引KD-Tree(lat,lon)和KD-Tree(lon,lat),并将其和无索引时进行查询性能对比,使用一维索引KD-Tree(lat)和KD-Tree(lon)请求数据的响应时间都比无索引的响应时间慢,使用二维索引KD-Tree(lat,lon)和KD-Tree(lon,lat)请求数据的响应时间都比无索引时性能好,对比一维索引,二维索引比一维索引拥有更好的性能,这有利于对海量时空数据的可视化性能优化,但是使用索引KD-Tree(lon)请求数据的响应时间比使用KD Tree(lat)请求数据的响应时间快,是因为字段lon的唯一值比字段lat的唯一值多,对字段lon建立索引性能更佳。
另外,对于二维索引KD-Tree(lon,lat)和索引KD-Tree(lat,lon),二维索引KD-Tree(lon,lat)比二维索引KD-Tree(lat,lon)的请求查询耗时更短,性能更好,是因为字段lon的唯一值比字段lat的唯一值多,先对字段lon建立索引再对字段lat建立索引,性能更佳。
根据本发明的一个实施例,如图6和图7所示,以数据量为20万行为例,整体式可视化是一次性请求数据加载渲染,由于没有使用增量可视化方式,会花大量时间(约15秒)用于请求数据,使得前端没有及时响应可视化,且其可视化渲染时间为4秒左右,即是整体式可视化的整个可视化时间为19秒,但当按时间增量查询请求数据且前端进行增量式加载渲染时,整个可视化过程为15秒以内,且由于渲染方式是根据时间顺序进行增量式可视化渲染,用户可在渲染初期就了解整个数据集的分布情况,为了评价本系统的性能,实验设计为分别对数据量为5万行、10万行、15万行、20万行、25万行、30万行、35万行、40万行、45万行的数据量进行实验,并对比整体式可视化和增量式可视化的可视化时间,随着数据量的增加,整体式可视化的时间和增量式可视化的时间增加,但增量式可视化的性能比整体式可视化的性能更佳,且对于整体式可视化,其可视化时间包含了数据加载时间和数据渲染时间,其渲染方式是先对数据加载,等数据全部加载完成后,再进行数据渲染,即是用户需要花大部分时间等待数据加载完成,然后才可以看到数据渲染结果。而对于增量式可视化,其可视化性能优于整体式可视化,且其渲染方式是一边进行数据加载一边进行数据渲染,用户在初期就可以看到数据渲染效果,并且其增量式可视化的方式还可帮助用户了解演变过程和轨迹路线等,整体式可视化的渲染方式是先对数据加载,等数据全部加载完成后,再进行数据渲染,即是其可视化时间包含数据加载时间和数据渲染时间,如图8所示,在整体式可视化的整个可视化中,其中约3/4的时间用于数据加载,约1/4的时间用于数据渲染,其整个可视化时间为数据加载时间加上数据渲染时间,用户在整个可视化过程中需要大部分时间等待数据加载完成,这大部分时间处于用户视觉空白期,使得用户体验很差。
为实现上述发明目的,本发明还提供一种电子设备,该电子设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,计算机程序被处理器执行时实现上述一种基于多维索引的海量时空数据可视化性能优化方法。
为实现上述发明目的,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述一种基于多维索引的海量时空数据可视化性能优化方法。
由此可知,本发明所提供的一种基于多维索引的海量时空数据可视化性能优化方法,提出一种融合多维索引KD Tree和直方图的KD-H技术,分别针对聚集查询和非聚集查询优化海量时空数据的可视化性能。其中,对于聚集查询,使用直方图技术进行优化查询,对于非聚集查询,则使用KD Tree进行优化请求,实现了对大规模时空数据增量式可视化的原型系统,该系统从时空数据库端增量请求数据,将数据从后端传到前台地图进行可视化,其中前端和后端都是对数据进行增量式处理,然后在前端地图上进行增量式可视化。增量式可视化技术能在可视化初期进行渲染,使得用户有一个较好的交互体验。数据请求方式为按时间范围增量请求,并按时间顺序进行渲染,这样可以在渲染初期,即是第一批数据渲染时就了解整批数据的空间分布情况,这样有助于提高用户体验,能留住用户。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。
另外,在本发明实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例节能信号发送/接收的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
应理解,本发明的发明内容及实施例中各步骤的序号的大小并不绝对意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
Claims (11)
1.基于多维索引的海量时空数据可视化性能优化方法,其特征在于,包括:
获取公开的地图数据,对所述地图数据进行坐标系转化,得到地图底图;
获取交通数据集,对所述交通数据集进行坐标转换使其与所述地图底图所在坐标系相同后得到其时空数据,对所述时空数据进行预处理后导入数据库中;
获取所述数据库的文本信息,对所述文本信息进行预处理后得到包含关键字和字段信息的信息集,根据所述信息集查询所述数据库中的所述时空数据;
对查询到的所述时空数据在所述地图底图上进行可视化处理,对所述时空数据进行数据分块,当第一组数据被分块后,立即对第一组数据进行分析处理并在所述地图底图上进行可视化渲染并逐步得到整个查询数据的可视化渲染。
2.根据权利要求1所述的基于多维索引的海量时空数据可视化性能优化方法,其特征在于,所述数据库为关系数据库,所述数据库中的存储信息为所述时空数据,所述时空数据包括时间维度和空间维度,针对所述时间维度,进行分区分块组织与管理所述时空数据,针对所述空间维度,使用地理构造函数构造空间地理对象并将所述时空数据的地理数据转化为Point数据类型。
3.根据权利要求2所述的基于多维索引的海量时空数据可视化性能优化方法,其特征在于,所述地理构造函数获取所述空间地理对象的内部结构,所述内部结构包括边界、维度和外包矩形框,判断所述内部结构的几何关系,所述几何关系包括包含、相交、覆盖和连通,并根据判断结果将所述空间地理对象中的数据信息转换为点或线或面的数据类型。
4.根据权利要求3所述的基于多维索引的海量时空数据可视化性能优化方法,其特征在于,针对所述时间维度,获取每个所述时空数据的关键词或字段的具体值,得到分割条件,通过所述数据库的表分区功能将储存所述时空数据的大型物理表按照所述分割条件分割成小区块并且按照搜索数据概率更改小区块的物理储存位置,按照所述搜索数据概率隐藏搜索内容次数较少的小区块。
5.根据权利要求4所述的基于多维索引的海量时空数据可视化性能优化方法,其特征在于,所述根据所述信息集查询所述数据库中的所述时空数据的方法为:
判断查询所述信息集的请求是否为聚集操作,若不是,则通过多维索引KD-Tree的方式进行查询所述信息集的操作请求,若是,则继续判断查询所述信息集的请求是否为非聚集操作,若不是,则通过绘制直方图的方式进行查询所述信息集的操作请求,得到所述时空数据的估计结果,若是,则通过绘制直方图的方式和多维索引KD-Tree的方式联合进行查询所述信息集的操作请求。
6.根据权利要求5所述的基于多维索引的海量时空数据可视化性能优化方法,其特征在于,所述通过多维索引KD-Tree的方式进行查询所述信息集的操作请求的方法为:
所述多维索引KD-Tree为K维空间中的平衡二叉树,包含n个维度的数据点,所有数据点的集合为根,根沿第一维被分成两个n维超矩形,超矩形为所述平衡二叉树中的顶级子级,超矩形分别沿下一个维度进行划分,每个子节点都有两个子节点,沿着所述平衡二叉树依次遍历各个维度,通过所述多维索引KD-Tree进行查询请求,根据查询节点确定候选范围,当遇到新节点时,计算从所述查询节点到所述新节点的超矩形边界的距离,如果计算结果大于所述候选范围,则跳过所述新节点及其任何子节点中的任何实际点。
7.根据权利要求6所述的基于多维索引的海量时空数据可视化性能优化方法,其特征在于,所述通过绘制直方图的方式进行查询所述信息集的操作请求的方法为:
对所述时空数据进行划分得到bin,每个bin存储所述时空数据的自身信息和数据值的汇总统计信息,当通过直方图进行查询数据操作请求时,选择所述时空数据中一个维度的经度或者纬度,使用增量式可视化的方法创建一维的直方图,近似重构bin中数据,根据bin中数据的频率大小和bin边界的信息绘制一维的直方图。
8.根据权利要求7所述的基于多维索引的海量时空数据可视化性能优化方法,其特征在于,所述对所述时空数据进行数据分块的方法为:
所述数据分块包括排序和缓冲,排序为将大数据块分割成小数据块,缓冲为将大量的小数据块合并成大数据块,根据所述交通数据集的大小和排序策略确定如何对所述交通数据集进行所述数据分块,所述排序策略根据预设阈值得到分块后数据的分布排序,当第一组数据从所述历史交通数据集被切割分块时,立即对第一组数据进行分析处理和可视化渲染,并根据第一组数据的大小确定缓冲间隔后继续对所述交通数据集进行切割分块,所述排序和所述缓冲根据所述交通数据集的大小进行灵活调整与组合,选取对所述交通数据集最有效的所述数据分块的方法。
9.基于多维索引的海量时空数据可视化性能优化系统,其特征在于,包括:
地图底图获得模块:获取公开的地图数据,对所述地图数据进行坐标系转化,得到地图底图;
数据库获得模块:获取交通数据集,对所述交通数据集进行坐标转换使其与所述地图底图所在坐标系相同后得到其时空数据,对所述时空数据进行预处理后导入数据库中;
查询操作模块:获取所述数据库的文本信息,对所述文本信息进行预处理后得到包含关键字和字段信息的信息集,根据所述信息集查询所述数据库中的所述时空数据;
可视化渲染模块:对查询到的所述时空数据在所述地图底图上进行可视化处理,对所述时空数据进行数据分块,当第一组数据被分块后,立即对第一组数据进行分析处理并在所述地图底图上进行可视化渲染并逐步得到整个查询数据的可视化渲染。
10.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的基于多维索引的海量时空数据可视化性能优化方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的基于多维索引的海量时空数据可视化性能优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210341639.0A CN114880393A (zh) | 2022-04-02 | 2022-04-02 | 基于多维索引的海量时空数据可视化性能优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210341639.0A CN114880393A (zh) | 2022-04-02 | 2022-04-02 | 基于多维索引的海量时空数据可视化性能优化方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114880393A true CN114880393A (zh) | 2022-08-09 |
Family
ID=82668739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210341639.0A Pending CN114880393A (zh) | 2022-04-02 | 2022-04-02 | 基于多维索引的海量时空数据可视化性能优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114880393A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116561216A (zh) * | 2023-07-04 | 2023-08-08 | 湖南腾琨信息科技有限公司 | 一种多维时空数据可视化性能优化方法及系统 |
-
2022
- 2022-04-02 CN CN202210341639.0A patent/CN114880393A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116561216A (zh) * | 2023-07-04 | 2023-08-08 | 湖南腾琨信息科技有限公司 | 一种多维时空数据可视化性能优化方法及系统 |
CN116561216B (zh) * | 2023-07-04 | 2023-09-15 | 湖南腾琨信息科技有限公司 | 一种多维时空数据可视化性能优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484875B (zh) | 基于molap的数据处理方法及装置 | |
US11132388B2 (en) | Efficient spatial queries in large data tables | |
US20230084389A1 (en) | System and method for providing bottom-up aggregation in a multidimensional database environment | |
CN106372114B (zh) | 一种基于大数据的联机分析处理系统和方法 | |
US20240078229A1 (en) | Generating, accessing, and displaying lineage metadata | |
AU2016359060B9 (en) | Storing and retrieving data of a data cube | |
US9798772B2 (en) | Using persistent data samples and query-time statistics for query optimization | |
US11720606B1 (en) | Automated geospatial data analysis | |
CN102693266B (zh) | 搜索数据库的方法、生成索引结构的导航设备和方法 | |
US9141666B2 (en) | Incremental maintenance of range-partitioned statistics for query optimization | |
US20160246841A1 (en) | Method of Optimizing Queries Execution on a Data Store | |
Mohammed et al. | Big data challenges and achievements: applications on smart cities and energy sector | |
JP2004516553A (ja) | エンティテイにインデックス付けする方法 | |
CN113641669B (zh) | 一种基于混合引擎的多维数据查询方法及装置 | |
CN114880393A (zh) | 基于多维索引的海量时空数据可视化性能优化方法及系统 | |
CN109255004A (zh) | 面向地理空间数据的精度保证的在线交互式可视化方法 | |
Psomadaki et al. | Using a space filling curve approach for the management of dynamic point clouds | |
CN109299106B (zh) | 数据查询方法和装置 | |
US20230153286A1 (en) | Method and system for hybrid query based on cloud analysis scene, and storage medium | |
CN113806376B (zh) | 索引构建方法及装置 | |
CN107480220B (zh) | 一种基于在线聚集的快速文本查询方法 | |
CN112131303A (zh) | 基于神经网络模型的大规模数据沿袭方法 | |
Li et al. | SP-phoenix: a massive spatial point data management system based on phoenix | |
CN115934759B (zh) | 一种面向海量多源异构卫星数据查询的加速计算方法 | |
Bianchi et al. | On the performance and use of spatial OLAP tools |
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 |