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

直方图的处理方法、装置与计算机可读存储介质与流程

2022-07-30 05:20:46 来源:中国专利 TAG:


1.本技术涉及直方图分析领域,具体而言,涉及一种直方图的处理方法、装置、计算机可读存储介质与处理器。


背景技术:

2.现有的直方图分析方法,对于增量数据的分析是在原有的数据分区上对新增数据进行合并,然后构造一个与原直方图近似的等宽直方图,处理速度较慢。


技术实现要素:

3.本技术的主要目的在于提供一种直方图的处理方法、装置、计算机可读存储介质与处理器,以解决现有技术中直方图处理增量数据的方法处理速度较慢的问题。
4.为了实现上述目的,根据本技术的一个方面,提供了一种直方图的处理方法,包括:将原始直方图的各区间划分为多个子区间;获取增量数据,且将所述增量数据填充至对应的所述子区间中,使得至少部分所述子区间中的数据的个数发生变化,得到更新后的子区间;对所述更新后的子区间进行组合,得到更新后的直方图,所述更新后的直方图与所述原始直方图的区间个数相同。
5.可选地,对所述更新后的子区间进行组合,得到更新后的直方图,包括:将所述原始直方图的各所述区间对应的多个所述更新后的子区间,组合成更新后的区间;采用多个所述更新后的区间,构成所述更新后的直方图。
6.可选地,对所述更新后的子区间进行组合,得到更新后的直方图,包括:获取各所述更新后的子区间的数据量;计算所有的所述更新后的子区间的数据量的总和,得到总数据量;按照数据从小到大的顺序,将所述总数据量划分为n等份,得到所述更新后的直方图,其中,n等于所述原始直方图的所述区间个数。
7.可选地,获取各所述更新后的子区间的数据量,包括:构建计数器组件;采用所述计数器组件获取各所述更新后的子区间的数据量。
8.可选地,将原始直方图的各区间划分为多个子区间,包括:获取所述原始直方图的各所述区间的宽度和各所述区间内的数据量;根据各所述区间的宽度和各所述区间内的数据量,确定各所述区间对应的所述子区间的个数;依据各所述区间对应的所述子区间的个数,按照数据由小到大的顺序,将原始直方图的各区间划分为多个所述子区间。
9.可选地,将所述增量数据填充至对应的所述子区间中,包括:获取所述增量数据的数值大小;获取各所述子区间的最小值和最大值;根据所述增量数据的数值大小、各所述子区间的最小值和各所述子区间的最大值,确定所述增量数据所在的子区间;将所述增量数据填充至对应的所述子区间中。
10.可选地,所述原始直方图用于表示存量数据的分布。
11.根据本技术的另一个方面,提供了一种直方图的处理装置,包括:划分单元,用于将原始直方图的各区间划分为多个子区间;处理单元,用于获取增量数据,且将所述增量数
据填充至对应的所述子区间中,使得至少部分所述子区间中的数据的个数发生变化,得到更新后的子区间;组合单元,用于对所述更新后的子区间进行组合,得到更新后的直方图,所述更新后的直方图与所述原始直方图的区间个数相同。
12.根据本技术的又一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的方法。
13.根据本技术的再一个方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的方法。
14.应用本技术的技术方案,通过首先将原始直方图的各区间划分为多个子区间,然后获取增量数据,且将上述增量数据填充至对应的上述子区间中,使得至少部分上述子区间中的数据的个数发生变化,得到更新后的子区间;最后对上述更新后的子区间进行组合,得到更新后的直方图,上述更新后的直方图与上述原始直方图的区间个数相同。即通过划分小区间的方式实现了对增量数据的快速处理。
附图说明
15.构成本技术的一部分的说明书附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
16.图1示出了根据本技术的实施例的一种直方图的处理方法流程图;
17.图2示出了根据本技术的实施例的一种直方图的处理装置示意图。
具体实施方式
18.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
19.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
20.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
21.应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
22.为了便于描述,以下对本技术实施例涉及的部分名词或术语进行说明:
23.直方图:又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布情况。一般用横轴表示数据类型,纵轴表示分布情况。为了构建直方图,第一步是将值的范围分段,即将整个值的范围分为一系列间隔,然后计算每个间隔中有多少值。这些值通常被指定为连续的,不重叠的变量间隔。间隔必须相邻,并且通常是(但不是必须的)相等的大小。
24.根据本技术的实施例,提供了一种直方图的处理方法。
25.图1是根据本技术实施例的直方图的处理方法的流程图。如图1所示,该方法包括以下步骤:
26.步骤s101,将原始直方图的各区间划分为多个子区间;
27.具体地,原始直方图的一个区间指的就是一个条形柱对应的宽度,例如,第二个条形柱对应的宽度是[5,10]。本方案的思路就是先把大的区间划分为更小的区间,例如将[5,10]划分为成[5,6](6,7](7,8](8,9](9,10]。
[0028]
步骤s102,获取增量数据,且将上述增量数据填充至对应的上述子区间中,使得至少部分上述子区间中的数据的个数发生变化,得到更新后的子区间;
[0029]
步骤s103,对上述更新后的子区间进行组合,得到更新后的直方图,上述更新后的直方图与上述原始直方图的区间个数相同。
[0030]
具体地,上述更新后的直方图与上述原始直方图的区间个数相同指的是最后表现出来的直方图的区间的个数与原始直方图的区间个数是相同。例如,原始直方图有100个区间,虽然划分成了1000个子区间,但是进行填充之后,最后还是用具有100个区间的更新后的直方图进行表示,就是说再将小的子区间组合在一起。
[0031]
上述方案中,通过首先将原始直方图的各区间划分为多个子区间,然后获取增量数据,且将上述增量数据填充至对应的上述子区间中,使得至少部分上述子区间中的数据的个数发生变化,得到更新后的子区间;最后对上述更新后的子区间进行组合,得到更新后的直方图,上述更新后的直方图与上述原始直方图的区间个数相同。即通过划分小区间的方式实现了对增量数据的快速处理。
[0032]
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0033]
本技术的一种实施例中,对上述更新后的子区间进行组合,得到更新后的直方图,包括:将上述原始直方图的各上述区间对应的多个上述更新后的子区间,组合成更新后的区间;采用多个上述更新后的区间,构成上述更新后的直方图。例如,原始直方图有十个区间,将每一个区间划分为十个子区间,再将增量数据填充至对应的上述子区间中之后,再将变化后的十个子区间合并为一个新的区间,这样更新后的直方图与原始直方图的区间的宽度是相同的,只是至少部分区间中的数据的个数发生了改变,采用本方案处理增量数据的方法效率较高,且能保证正确率。
[0034]
本技术的另一种实施例中,对上述更新后的子区间进行组合,得到更新后的直方图,包括:获取各上述更新后的子区间的数据量;计算所有的上述更新后的子区间的数据量的总和,得到总数据量;按照数据从小到大的顺序,将上述总数据量划分为n等份,得到上述更新后的直方图,其中,n等于上述原始直方图的上述区间个数。本方案通过计算所有的上
述更新后的子区间的数据量的总和,得到总数据量;按照数据从小到大的顺序,将上述总数据量划分为n等份,得到上述更新后的直方图,使得得到的直方图中的各个区间中的数据量是相同的,即形成了一种等高直方图。
[0035]
本技术的一种具体的实施例中,获取各上述更新后的子区间的数据量,包括:构建计数器组件;采用上述计数器组件获取各上述更新后的子区间的数据量。即可以采用构建计数器组价的方法实现精确获取各上述更新后的子区间的数据量。
[0036]
本技术的一种实施例中,将原始直方图的各区间划分为多个子区间,包括:获取上述原始直方图的各上述区间的宽度和各上述区间内的数据量;根据各上述区间的宽度和各上述区间内的数据量,确定各上述区间对应的上述子区间的个数;依据各上述区间对应的上述子区间的个数,按照数据由小到大的顺序,将原始直方图的各区间划分为多个上述子区间。即具体地可以根据各上述区间的宽度和各上述区间内的数据量,确定各上述区间对应的上述子区间的个数,例如,区间中的数据量较多的情况下,可以适当增加子区间的个数。以保证增量数据的处理速度。
[0037]
本技术的再一种实施例中,将上述增量数据填充至对应的上述子区间中,包括:获取上述增量数据的数值大小;获取各上述子区间的最小值和最大值;根据上述增量数据的数值大小、各上述子区间的最小值和各上述子区间的最大值,确定上述增量数据所在的子区间;将上述增量数据填充至对应的上述子区间中。即如果增量数据的数值大小落入对应的子区间中,就将增量数据填充至对应的上述子区间中。
[0038]
一些实施例中,上述原始直方图用于表示存量数据的分布。即原始直方图用于表示存量数据的分布,增量数据是在存量数据的基础上新增的数据,使用更新后的直方图表示存量数据和增量数据组成的全量数据的分布。
[0039]
本技术实施例还提供了一种直方图的处理装置,需要说明的是,本技术实施例的直方图的处理装置可以用于执行本技术实施例所提供的用于直方图的处理方法。以下对本技术实施例提供的直方图的处理装置进行介绍。
[0040]
图2是根据本技术实施例的直方图的处理装置的示意图。如图2所示,该装置包括:
[0041]
划分单元10,用于将原始直方图的各区间划分为多个子区间;
[0042]
具体地,原始直方图的一个区间指的就是一个条形柱对应的宽度,例如,第二个条形柱对应的宽度是[5,10]。本方案的思路就是先把大的区间划分为更小的区间,例如将[5,10]划分为成[5,6](6,7](7,8](8,9](9,10]。
[0043]
处理单元20,用于获取增量数据,且将上述增量数据填充至对应的上述子区间中,使得至少部分上述子区间中的数据的个数发生变化,得到更新后的子区间;
[0044]
组合单元30,用于对上述更新后的子区间进行组合,得到更新后的直方图,上述更新后的直方图与上述原始直方图的区间个数相同。
[0045]
具体地,上述更新后的直方图与上述原始直方图的区间个数相同指的是最后表现出来的直方图的区间的个数与原始直方图的区间个数是相同。例如,原始直方图有100个区间,虽然划分成了1000个子区间,但是进行填充之后,最后还是用具有100个区间的更新后的直方图进行表示,就是说再将小的子区间组合在一起。
[0046]
上述方案中,划分单元将原始直方图的各区间划分为多个子区间,处理单元获取增量数据,且将上述增量数据填充至对应的上述子区间中,使得至少部分上述子区间中的
数据的个数发生变化,得到更新后的子区间;组合单元对上述更新后的子区间进行组合,得到更新后的直方图,上述更新后的直方图与上述原始直方图的区间个数相同。即通过划分小区间的方式实现了对增量数据的快速处理。
[0047]
本技术的一种实施例中,组合单元包括组合模块和处理模块,组合模块用于将上述原始直方图的各上述区间对应的多个上述更新后的子区间,组合成更新后的区间;处理模块用于采用多个上述更新后的区间,构成上述更新后的直方图。例如,原始直方图有十个区间,将每一个区间划分为十个子区间,再将增量数据填充至对应的上述子区间中之后,再将变化后的十个子区间合并为一个新的区间,这样更新后的直方图与原始直方图的区间的宽度是相同的,只是至少部分区间中的数据的个数发生了改变,采用本方案处理增量数据的方法效率较高,且能保证正确率。
[0048]
本技术的另一种实施例中,组合单元包括第一获取模块、计算模块和第一划分模块,第一获取模块用于获取各上述更新后的子区间的数据量;计算模块用于计算所有的上述更新后的子区间的数据量的总和,得到总数据量;第一划分模块用于按照数据从小到大的顺序,将上述总数据量划分为n等份,得到上述更新后的直方图,其中,n等于上述原始直方图的上述区间个数。本方案通过计算所有的上述更新后的子区间的数据量的总和,得到总数据量;按照数据从小到大的顺序,将上述总数据量划分为n等份,得到上述更新后的直方图,使得得到的直方图中的各个区间中的数据量是相同的,即形成了一种等高直方图。
[0049]
本技术的一种具体的实施例中,第一获取模块包括构建子模块和获取子模块,构建子模块用于构建计数器组件;获取子模块用于采用上述计数器组件获取各上述更新后的子区间的数据量。即可以采用构建计数器组价的方法实现精确获取各上述更新后的子区间的数据量。
[0050]
本技术的一种实施例中,划分单元包括第二获取模块、第一确定模块和第二划分模块,第二获取模块用于获取上述原始直方图的各上述区间的宽度和各上述区间内的数据量;第一确定模块用于根据各上述区间的宽度和各上述区间内的数据量,确定各上述区间对应的上述子区间的个数;第二划分模块用于依据各上述区间对应的上述子区间的个数,按照数据由小到大的顺序,将原始直方图的各区间划分为多个上述子区间。即具体地可以根据各上述区间的宽度和各上述区间内的数据量,确定各上述区间对应的上述子区间的个数,例如,区间中的数据量较多的情况下,可以适当增加子区间的个数。以保证增量数据的处理速度。
[0051]
本技术的再一种实施例中,处理单元包括第三获取模块、第四获取模块、第二确定模块和填充模块,第三获取模块用于获取上述增量数据的数值大小;第四获取模块用于获取各上述子区间的最小值和最大值;第二确定模块用于根据上述增量数据的数值大小、各上述子区间的最小值和各上述子区间的最大值,确定上述增量数据所在的子区间;填充模块用于将上述增量数据填充至对应的上述子区间中。即如果增量数据的数值大小落入对应的子区间中,就将增量数据填充至对应的上述子区间中。
[0052]
上述直方图的处理装置包括处理器和存储器,上述划分单元、处理单元和组合单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0053]
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个
或以上,通过调整内核参数来提高直方图处理增量数据的方法。
[0054]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0055]
本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述直方图的处理方法。
[0056]
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述直方图的处理方法。
[0057]
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
[0058]
步骤s101,将原始直方图的各区间划分为多个子区间;
[0059]
步骤s102,获取增量数据,且将上述增量数据填充至对应的上述子区间中,使得至少部分上述子区间中的数据的个数发生变化,得到更新后的子区间;
[0060]
步骤s103,对上述更新后的子区间进行组合,得到更新后的直方图,上述更新后的直方图与上述原始直方图的区间个数相同。
[0061]
本文中的设备可以是服务器、pc、pad、手机等。
[0062]
本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
[0063]
步骤s101,将原始直方图的各区间划分为多个子区间;
[0064]
步骤s102,获取增量数据,且将上述增量数据填充至对应的上述子区间中,使得至少部分上述子区间中的数据的个数发生变化,得到更新后的子区间;
[0065]
步骤s103,对上述更新后的子区间进行组合,得到更新后的直方图,上述更新后的直方图与上述原始直方图的区间个数相同。
[0066]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0067]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0068]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0069]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0070]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0071]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
[0072]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0073]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0074]
从以上的描述中,可以看出,本技术上述的实施例实现了如下技术效果:
[0075]
1)、本技术的直方图的处理方法,通过首先将原始直方图的各区间划分为多个子区间,然后获取增量数据,且将上述增量数据填充至对应的上述子区间中,使得至少部分上述子区间中的数据的个数发生变化,得到更新后的子区间;最后对上述更新后的子区间进行组合,得到更新后的直方图,上述更新后的直方图与上述原始直方图的区间个数相同。即通过划分小区间的方式实现了对增量数据的快速处理。
[0076]
2)、本技术的直方图的处理装置,划分单元将原始直方图的各区间划分为多个子区间,处理单元获取增量数据,且将上述增量数据填充至对应的上述子区间中,使得至少部分上述子区间中的数据的个数发生变化,得到更新后的子区间;组合单元对上述更新后的子区间进行组合,得到更新后的直方图,上述更新后的直方图与上述原始直方图的区间个数相同。即通过划分小区间的方式实现了对增量数据的快速处理。
[0077]
以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献