一种数据处理方法及装置制造方法及图纸

技术编号:16605320 阅读:26 留言:0更新日期:2017-11-22 15:03
本申请实施例公开了一种数据处理方法及装置,方法包括:获取多个待处理数据,将各待处理数据划分在预设的多个区间内,确定各区间内的待处理数据的近似值,根据所述近似值,确定对应于所述待处理数据的分位数。利用本申请实施例,使用近似值代替划分在任一区间内的各待处理数据的数值,能够减少参与到计算过程中的数据的数量。从而,可以减少计算分位数时的遍历次数,进一步可减少对数据库的I/O操作,能够在一定程度上提升计算分位数过程的效率。

Data processing method and device

The embodiment of the invention discloses a device and a data processing method, data processing method comprises the following steps: acquiring multiple standby, the data to be processed in a predetermined interval division, to determine the approximate range of data to be processed by the value of the approximation based on the determined quantile corresponding to the stay data processing. Using the application example, the approximate value is replaced by the value of the data to be processed in any interval, which can reduce the amount of data involved in the calculation process. Thus, the number of traversal can be reduced, and the I/O operation of database can be reduced, and the efficiency of computing quantile process can be improved to a certain extent.

【技术实现步骤摘要】
一种数据处理方法及装置
本申请涉及计算机
,尤其涉及一种数据处理方法及装置。
技术介绍
随着信息技术的发展及互联网技术的普及,业务提供方(如:网站、银行、电信运营商等)所需处理的数据量巨大。在实际应用时,业务提供方可能会根据业务需求(如:数据分析),针对某些数据执行分位数计算。其中,分位数可认为是将一组有序排列的数据划分成不同部分的分位点所对应的数据。具体例如:在一组有序排列的数据中,不同数据均对应着不同的取值,假设某一数据的取值为50,同时假设,在该组数据中,数值小于50的数据的数量所占的比例为70%,那么,取值为50的数据则可认为是该组数据的第70分位数。现有技术中,分位数计算的过程通常为:针对一组待计算数据进行逐一遍历的相互比对,完成对这一组待计算数据的排序,并基于排序后的数据序列,确定出相应的分位数。然而,在实际应用时,业务提供方所生成的数据通常存储在相应的存储设备(如:数据库、服务器本地的磁盘)中。那么,从上述的分位数计算过程可见,为了确定出相应的分位数,需要针对每一待处理数据与其他各待处理数据进行逐一比对并排序。该过程通常需要针对存储设备执行多次I/O(Input/Output)操作。特别是在待计算数据量较大时,就需要大量执行I/O操作,显然,大量的I/O将耗费一定的时间,从而影响计算的效率。
技术实现思路
本申请实施例提供一种数据处理方法,用以解决现有的分位数计算方式的效率较低的问题。本申请实施例提供的一种数据处理方法,所述方法包括:获取多个待处理数据;将各待处理数据划分在预设的多个区间内;确定各区间内的待处理数据的近似值;根据所述近似值,确定对应于所述待处理数据的分位数。本申请实施例提供的一种数据处理装置,所述装置包括:数据获取模块,获取多个待处理数据;划分模块,将各待处理数据划分在预设的多个区间内;近似值确定模块,确定各区间内的待处理数据的近似值;分位数计算模块,根据所述近似值,确定对应于所述待处理数据的分位数。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:在执行分位数计算时,相应的计算设备(如:服务器)可从数据库中获取待进行分位数计算的多个数据,作为待处理数据。此后,计算设备将这些待处理数据划分在预设的多个区间中,并且,针对划分在不同区间的待处理数据,确定出相应的近似值。近似值能够表征落入每一区间中的待处理数据的一种平均取值。这样一来,可以将划分在不同区间内的待处理数据的数值替换为近似值进行分位数的计算。显然,正是由于使用近似值代替划分在任一区间内的各待处理数据的数值,也就能够减少参与到计算过程中的数据的数量。从而,可以减少计算分位数时的遍历次数,进一步可减少对数据库的I/O操作,能够在一定程度上提升计算分位数过程的效率。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1a为本申请实施例提供的数据处理所基于的架构示意图;图1b为本申请实施例提供的数据处理过程;图2a为本申请实施例提供的在应用实例下对待处理数据进行划分的示意图;图2b为采用现有分位数计算方法确定相应分位数的示意图;图2c为本申请实施例提供的基于近似值所计算得到相应分位数的示意图;图3为本申请实施例提供的数据处理装置结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。针对现有技术中使用传统的分位数计算方式导致计算效率较低的缺陷,本申请实施例中提供一种数据处理方法,能够在进行分位数计算的过程中,有效降低计算次数,减少对磁盘的I/O操作,从而增加分位数计算的效率。需要说明的是,本申请实施例中所述的数据处理方法,可以基于如图1a所示的架构。在图1a中,包括客户端、计算设备及数据库,其中:客户端可向计算设备发起涉及分位数计算的业务请求。在实际应用中,所述的客户端包括但不限于:业务应用,或操作系统中具备客户端功能的功能单元(图1a中,以形如手机的终端设备表示客户端,仅是一种示例)。同时,客户端可以是企业内部客户端,也可以是个人用户客户端,这里不作具体限定。相应地,计算设备用于执行分位数计算,计算设备包括但不限于:服务器、大型计算机等。在计算设备执行分位数计算的过程中,会针对数据库执行I/O操作。而数据库用于存储数据,计算设备执行分位数计算将基于数据库中所存储的数据。当然,在一些应用场景中,图1a中所示的数据库,还可认为是设置于计算设备内部用于存储数据的磁盘。这里并不作具体限定。基于如图1a所示的架构,本申请实施例提供的数据处理过程如图1b所示,该过程的执行主体通常可以是图1a中所示的计算设备。在一些应用场景下,客户端具备分位数的计算功能,那么,图1b所示的数据处理过程也可由客户端作为执行主体完成。如图1b所示的数据处理过程具体包括以下步骤:S101:获取多个待处理数据。在实际应用中,所述的待处理数据,可认为是可进行排序的数据。在一种场景中,待处理数据可以是数值,如:用户的历史消费金额数据、年龄、身高、体重等数据。当然,除了数值之外,在另一种应用场景下,也可以是字母(字母可按照字母表进行排序)或可按照相应的排序规则进行排序的字符串等,这里并不作具体限定。通常,所述的待处理数据存储在数据库中,故服务器可从数据库中获取到上述的待处理数据。作为本申请实施例中的一种可行方式,所述的数据库可以是关系型数据库,由于关系型数据库中的数据按照相应的“键-值”的对应关系进行存储,那么,服务器便可根据相应的键,获取与该键对应的多个数据作为待处理数据,从而形成待处理数据集。当然,上述的方式并不应作为对本申请的限定。这里需要说明的是,获取到的多个待处理数据,均是未进行排序的,例如:获取到的多个待处理数据包括:{4.0、1.5、9.0、3.5、6.5、8.5},可见,其中的待处理数据为未排序的数据。可以理解,在实际操作时,可由涉及分位数计算的业务请求来触发计算设备获取待处理数据。S102:将各待处理数据划分在预设的多个区间内。在本申请实施例中,预设的多个区间,可以是连续的多个开闭型区间,如:(0,5],(5,10]。各区间的长度可以相同也可以不相同,具体可根据实际应用的需要进行设定。在多个区间已预设的基础上,便可将各待处理数据划分在多个区间内。在本申请实施例中,在划分各待处理数据时,可根据各待处理数据所对应的顺序大小(如:数值大小)进行划分。结合前述两个示例,可将待处理数据划分在上述两个连续的区间内,即,将4.0、1.5、3.5划分在区间(0,5]内,而将9.0、6.5、8.5划分在区间(5,10]内。S103:确定每一区间内的待处理数据的近似值。如前所述,采用现有技术中的分位数算法计算分位数时,通常需要遍历每一数据进行比对后进行排序。显然,这样的计算方式将导致过多的I/O操作。故在本申请实施例中,为了减少I/O操作的次数,故将划分在不同区间中内的待处理数本文档来自技高网...
一种数据处理方法及装置

【技术保护点】
一种数据处理方法,所述方法包括:获取多个待处理数据;将各待处理数据划分在预设的多个区间内;确定各区间内的待处理数据的近似值;根据所述近似值,确定对应于所述待处理数据的分位数。

【技术特征摘要】
1.一种数据处理方法,所述方法包括:获取多个待处理数据;将各待处理数据划分在预设的多个区间内;确定各区间内的待处理数据的近似值;根据所述近似值,确定对应于所述待处理数据的分位数。2.如权利要求1所述的方法,其特征在于,在将各待处理数据划分在预设的多个区间内之前,所述方法还包括:针对获取到的所述各待处理数据进行采样,生成多个样本数据;将各样本数据划分在预设的多个区间内;确定划分后的样本数据对应的信息熵,且该信息熵不大于设定阈值。3.如权利要求2所述的方法,针对获取到的所述各待处理数据进行采样,具体包括:按照预设采样比例,针对获取到的所述各待处理数据进行放回采样。4.如权利要求2所述的方法,将各样本数据划分在预设的多个区间内,具体包括:确定各样本数据对应的数值;根据所述各样本数据的数值,将所述各样本数据划分在预设的多个区间内。5.如权利要求2所述的方法,确定划分后的样本数据对应的信息熵,具体包括:针对每一区间,统计该区间中的样本数据在全部样本数据中的占比,作为该区间的信息概率;根据确定出的每一区间的信息概率,确定样本数据对应的信息熵。6.如权利要求1所述的方法,将各待处理数据划分在预设的多个区间内,具体包括:确定各待处理数据对应的数值;根据所述各待处理数据的数值,将所述各待处理数据划分在预设的多个区间内。7.如权利要求1所述的方法,确定各区间内的待处理数据的近似值,具体包括:针对任一区间,确定该区间的端点值,计算所述端点值的均值,并确定为划分在该区间内的待处理数据所对应的近似值;或针对任一区间,统计该区间内的各待处理数据的数值,计算各待处理数据的均值,并确定为划分在该区间内的待处理数据所对应的近似值。8.如权利要求1所述的方法,根据所述近似值,确定对应于所述待处理数据的分位数,具体包括:针对每一区间,确定划分在该区间中的待处理数据在所有待处理数据中的累计占比;确定所需计算的分位数所对应的分位点;确定所述分位点所匹配的累计占比,并确定该累计占比所对应的区...

【专利技术属性】
技术研发人员:周扬杨树波
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1