一种海量数据在时间域的高效分层抽样绘图方法及系统技术方案

技术编号:21434835 阅读:47 留言:0更新日期:2019-06-22 12:44
本发明专利技术属于数据分析技术领域,公开了一种海量数据在时间域的高效分层抽样绘图方法及系统,根据绘图窗口宽度对海量数据使用高效分层抽样算法进行抽样,得到4X个抽样数据;用4X个抽样数据绘图,得到全数据图形。本发明专利技术提供一种海量数据在时间域的高效分层抽样绘图方法,根据绘图窗口宽度把全数据分为2X个子集,每个子集内所有数据分别求取最大和最小值并按出现的先后顺序存储,得到的4X个抽样数据图形将和全数据图形高度一致;和全数据绘图速度相比,“单线程抽样+绘图”整体速度提升约70倍,“线程池抽样+绘图”整体速度提升约200倍;该发明专利技术将大幅度提高海量数据时间域绘图速度,抽样算法同样适用于其他所有顺序绘图。

【技术实现步骤摘要】
一种海量数据在时间域的高效分层抽样绘图方法及系统
本专利技术属于数据分析
,尤其涉及一种海量数据在时间域的高效分层抽样绘图方法及系统。
技术介绍
目前,业内常用的现有技术是这样的:随着信息化社会的发展,人类进行科学观测所使用的高采样仪器越来越多,数据量也越来越大。时间域的观测仪器种类繁多,比如:地震系统目前使用的采样率100HZ的连续地震波形记录仪器、采样率30HZ的连续地磁感应式磁力仪等。在使用这些观测数据时,都需要为用户提供形象直观的时间域图形(横轴为时间刻度),绘图时必须把所有数据按先后顺序连线(或绘点等),绘图速度慢成为众多软件开发者和用户的痛苦之处。绘图速度既决定于硬件也决定于软件,在硬件设备不变的情况下只能充分挖掘软件的潜力,使软件在各个环节上都以最大的速度工作。比如:100HZ连续地震波形仪器有三个通道,每个通道每天的数据总量为8640000个,三个通道1天全数据(98.88MB)绘图时间大约46秒,这还是利用了目前软件开发中常用的双缓冲绘图技术(内存中绘图再一次性粘贴图片),以及NET中的GraphicsPath(路径绘图)和多通道线程池(ThreadPool)并行绘图等技术优化后的最快速度。而全国这样的观测仪器有上千套,这些仪器每天都在24小时连续记录,每个省局经常需要将省内几十套仪器绘在一个图形界面上进行对比分析和处理,因为绘图速度慢他们通常每次只处理一个小时的图形,每天的数据处理至少分24次完成。这些数据绘图速度之所以偏慢,其根本原因在于绘图数据量太大,大部分时间消耗在全数据连线(或绘点等)所致,按现有的所有绘图优化技术都无法彻底从根本上解决速度问题,唯一的办法只能采用抽样绘图。因为电脑的横轴分辨率通常只有2000个像素左右,当绘图点数远远超过横轴分辨率像素时,显示器上每个像素点后面都有大量的数据曲线被掩埋根本没有显示出来。问题是,如何对海量数据进行抽样并保证抽样图形和全数据图形高度一致。在数据分析中,抽样是指从全数据中选择部分数据进行分析,以发掘更大规模数据集中的有用信息。在统计学中,抽样是一种推论统计方法,是指从目标总体中抽取一部分个体作为样本,通过观察样本的某一或某些属性,从而达到对总体的认识。常用的大数据抽样方法有三种,(1)随机抽样:从总体N个单位中随机抽取n个单位作为样本,使得数据集中的每一组观测值都有相同的被抽样的概率。(2)等距抽样:将总体的全部单元按顺序排列,随机抽样第一个样本单元(或称为随机起点),再顺序抽取其余的样本单元。(3)分层抽样:将样本总体分成若干子集,分别从各子集中抽检一定数量样本,每个子集中的观测值可设定相同的概率,也可设定不同的概率,抽样结果通常具有更好的代表性。因为要保证抽样图形和全数据图形高度一致,显然随机抽样和等距抽样都不可用。因为全数据中随时会有类似于尖峰的孤立点,这些孤立点有可能出现在任意位置并对图形的整体形态造成较大影响,这两种抽样方法都无法保证这些孤立点能被准确抽到并显示在图形上。综上所述,现有技术存在的问题是:海量数据绘图速度慢的根本原因在于绘图数据量太大,大部分时间消耗在全数据连线(或绘点等)所致。目前软件开发中常用的绘图优化技术,如双缓冲绘图(内存中绘图再一次性粘贴图片)、NET中的GraphicsPath(路径绘图)、多通道线程池(ThreadPool)并行绘图等,这些绘图优化技术都无法彻底从根本上解决速度问题。唯一的办法只能采用抽样绘图,究竟采用哪种抽样算法才能保证抽样图形和全数据图形高度一致,成为解决绘图速度问题的核心。解决上述技术问题的难度和意义:(1)无论采用哪种抽样算法,无论海量数据正常与否(哪怕是错误的形态),都必须保证抽样图形和全数据图形高度一致,或从肉眼很难看出两者的差别。其现实意义是,用最少的抽样数据绘出用户想看到的全数据图形,从而彻底解决海量数据绘图速度慢的问题。(2)无论采用哪种抽样算法,都必须保证抽样速度要非常快,不能对整体速度有太大影响。因为抽样过程全部在内存中进行,抽样速度必然远优于绘图速度,但数据量越大(数百万或更多)时抽样速度必然越慢。难点在于如何把数据量大小对抽样速度的影响降低到最小程度。(3)抽样绘图使用的绘图数据并非全数据,用户经常需要将曲线逐级局部放大以看到更多被掩埋的全数据信息,难点在于要做到鼠标定位的像素点和真实数据点之间的映射,不能因为抽样对全数据图形的缩放功能有任何影响。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种全新的分层抽样绘图方法及系统。本专利技术根据绘图窗口宽度(X像素)把全数据分为2X个子集,每个2X子集内所有数据分别求取最大和最小值并按出现的先后顺序存储,得到4X个抽样数据。此时,这4X个抽样数据图形将和全数据图形高度一致。以8640000个地震波形数据绘图为例,如果绘图窗口宽度为1000个像素,全数据将分成2*1000=2000个子集,每个子集数据总数为8640000/2000=4320个,得到的抽样数据总数为4*1000=4000个。每个子集内4320个数据相互连线后全部投影在横轴的同一个像素上,因此他们之间最小-最大(或最大-最小)的连线其实垂直于横轴并可覆盖这4320个数据所对应的像素。全数据绘图时虽然对这4320个数据全部进行了连线并花费了大量时间,但其实只要他们之间最小-最大(或最大-最小)的连线即可,因此可节省大量的绘图时间。本专利技术是这样实现的,一种海量数据在时间域的高效分层抽样绘图方法包括:步骤一,根据绘图窗口宽度对海量数据使用高效分层抽样算法进行抽样,得到4X个抽样数据;步骤二,用4X个抽样数据绘图,得到全数据图形。进一步,所述海量数据在时间域的高效分层抽样方法具体包括:第一步,绘图数据总数=N,绘图窗口宽度=X个像素,抽样数据总数=4X;第二步,N>4X?第三步,若否,不抽样,绘图数据=全数据;第四步,若是,对全数据进行抽样,提取4X个抽样数据;第五步,绘图数据=4X个抽样数据。进一步,所述海量数据高效分层抽样方法把所有数据分为2X个子集,每个2X子集内所有数据分别求取最大和最小值并按出现的先后顺序存储,得到4X个抽样数据;具体包括:步骤1:绘图数据总数=N,绘图窗口宽度=X个像素,抽样数据总数=4X;步骤2:N>4X?步骤3:若否,不抽样,绘图数据=全数据;步骤4:若是,分组间隔douJG=(double)数据总数N/(2*X);每组数据个数P=(取整)douJG;步骤5:循环计算分组序号intLen[i]=(取整)(douJG*i),其中i=0…2X+1,intLen[i]=0…N,intLen每个元素的前后间隔(代表每个子集的数据总数)取值为:PP…PP+1P…PP+1PP,每隔若干增1,其余全部为P;步骤6:循环计算采样值floSam[i],i=0…2X-1,floSam总数为4X;步骤7:提取序号在intLen[i]至intLen[i+1]-1之间所有数据,计算最大值floMax、最小值floMin、最大值序号intPosMax,最小值序号intPosMin;步骤8:最小值在先还是最大值在先,按先后顺序存储;floSam[2i]=intPosMin<intPosMax?floMin:floMax;本文档来自技高网
...

【技术保护点】
1.一种海量数据在时间域的高效分层抽样绘图方法,其特征在于,所述海量数据在时间域的高效分层抽样绘图方法包括:步骤一,根据绘图窗口宽度对海量数据使用高效分层抽样算法进行抽样,得到4X个抽样数据;步骤二,用4X个抽样数据绘图,得到全数据图形。

【技术特征摘要】
1.一种海量数据在时间域的高效分层抽样绘图方法,其特征在于,所述海量数据在时间域的高效分层抽样绘图方法包括:步骤一,根据绘图窗口宽度对海量数据使用高效分层抽样算法进行抽样,得到4X个抽样数据;步骤二,用4X个抽样数据绘图,得到全数据图形。2.如权利要求1所述的海量数据在时间域的高效分层抽样绘图方法,其特征在于,所述海量数据在时间域的高效分层抽样方法具体包括:第一步,绘图数据总数=N,绘图窗口宽度=X个像素,抽样数据总数=4X;第二步,N>4X?第三步,若否,不抽样,绘图数据=全数据;第四步,若是,对全数据进行抽样,提取4X个抽样数据;第五步,绘图数据=4X个抽样数据。3.如权利要求1所述的海量数据在时间域的高效分层抽样绘图方法,其特征在于,所述海量数据高效分层抽样方法把全数据分为2X个子集,每个2X子集内所有数据分别求取最大和最小值并按出现的先后顺序存储,得到4X个抽样数据;具体包括:步骤1:绘图数据总数=N,绘图窗口宽度=X个像素,抽样数据总数=4X;步骤2:N>4X?步骤3:若否,不抽样,绘图数据=全数据;步骤4:若是,分组间隔douJG=(double)数据总数N/(2*X);每组数据个数P=(取整)douJG;...

【专利技术属性】
技术研发人员:王建军赵银刚陈俊张俏丽
申请(专利权)人:甘肃省地震局
类型:发明
国别省市:甘肃,62

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1