CN110399418A - 数据处理方法及装置、存储介质、电子装置 - Google Patents
数据处理方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN110399418A CN110399418A CN201910684291.3A CN201910684291A CN110399418A CN 110399418 A CN110399418 A CN 110399418A CN 201910684291 A CN201910684291 A CN 201910684291A CN 110399418 A CN110399418 A CN 110399418A
- Authority
- CN
- China
- Prior art keywords
- data
- interval
- data interval
- pending
- section
- 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.)
- Granted
Links
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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据处理方法及装置、存储介质、电子装置,该方法包括:确定N个待处理数据所在的第一数据区间,其中,N大于或等于1;确定N个待处理数据在第一数据区间中的分布状态,其中,分布状态包括均匀分布和不均匀分布;按照分布状态对第一数据区间进行区间划分,得到M个数据区间,其中,M大于1;在M个数据区间中查找N个待处理数据集中分布的区间,得到目标数据区间,其中,目标数据区间包括在第一数据区间内。通过本发明,解决了数据的分布处理的问题,达到提高数据并行效率的效果。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据处理方法及装置、存储介质、电子装置。
背景技术
在大数据处理中,很多情况下需要根据某一数据列将数据近似均分后并行抽取。这个数据列需要满足以下条件:
1、绝大多数值不为空;
2、数值相同的没有或者非常少,正例:身份证号、姓名,反例:性别、血型。
但是这些值往往不是均匀分布的。如果根据这一列来安排分布并均匀取值的话,必须采用特殊方法采样使其均匀或近似均匀分布,避免很多数据落入1个分片中影响并行效率。
针对上述技术问题,相关技术中尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法及装置、存储介质、电子装置,以至少解决相关技术中数据的分布处理的问题。
根据本发明的一个实施例,提供了一种数据处理方法,包括:确定N个待处理数据所在的第一数据区间,其中,上述N大于或等于1;确定上述N个待处理数据在上述第一数据区间中的分布状态,其中,上述分布状态包括均匀分布和不均匀分布;按照上述分布状态对上述第一数据区间进行区间划分,得到M个数据区间,其中,上述M大于1;在上述M个数据区间中查找上述N个待处理数据集中分布的区间,得到目标数据区间,其中,上述目标数据区间包括在上述第一数据区间内。
可选地,确定上述N个待处理数据在上述第一数据区间中的分布状态之前,上述方法还包括:将上述第一数据区间平均分为第二数据区间和第三数据区间;确定上述N个待处理数据在上述第一数据区间中的分布状态包括以下之一:在上述第二数据区间和上述第三数据区间中均包括上述N个待处理数据中的数据的情况下,确定上述N个待处理数据在上述第一数据区间中均匀分布;在上述第二数据区间中包括上述N个待处理数据,上述第三数据区间中未包括上述N个待处理数据的情况下,确定上述N个待处理数据在上述第一数据区间中未均匀分布;在上述第三数据区间中包括上述N个待处理数据,上述第二数据区间中未包括上述N个待处理数据的情况下,确定上述N个待处理数据在上述第一数据区间中未均匀分布。
可选地,按照上述分布状态对上述第一数据区间进行区间划分,得到M个数据区间,包括以下之一:在上述N个待处理数据在上述第一数据区间内均匀分布的情况下,将上述第一数据区间划分为上述M个数据区间,其中,上述M个数据区间在上述第一数据区间中是均匀分布的;在上述N个待处理数据在上述第一数据区间内未均匀分布的情况下,将上述第一数据区间划分为上述M个数据区间,其中,上述M个数据区间在上述第一数据区间中未均匀分布。
可选地,确定上述N个待处理数据在上述第一数据区间中的分布状态之前,上述方法还包括:将上述第一数据区间平均分为第二数据区间和第三数据区间;在上述N个待处理数据在上述第一数据区间内未均匀分布,且上述第二数据区间中包括上述N个待处理数据的情况下,确定上述第二数据区间中的第一极大值的预设占比值,得到第四数据区间的第二极大值,其中,上述第四数据区间中的第一极小值是上述第一数据区间中的极小值,上述第四数据区间包括在上述第二数据区间内;在上述第四数据区间中包括上述N个待处理数据中的数据的情况下,确定上述第四数据区间中的第二极大值的预设占比值,得到第五数据区间的第三极大值,其中,上述第五数据区间中的第二极小值是上述第一数据区间中的极小值,上述第五数据区间包括在上述第四数据区间中;确定上述第一极大值与上述第二极大值之间的第六数据区间中是否包括上述N个待处理数据中的数据。
可选地,在上述M个数据区间中查找上述N个待处理数据集中分布的区间,得到目标数据区间,包括:在上述第四数据区间中包括上述N个待处理数据中的数据,且上述第六数据区间中包括上述N个待处理数据中的数据的情况下,将上述第四数据区间确定为上述目标数据区间。
可选地,在上述M个数据区间中查找上述N个待处理数据集中分布的区间,得到目标数据区间,包括:在上述第四数据区间中包括上述N个待处理数据中的数据,且上述第六数据区间中包括上述N个待处理数据中的数据的情况下,确定上述第一极大值和上述第二极大值之间的差值,得到第一差值;确定上述第一差值与上述第一极大值的预设占比值之间的和值,得到第一和值;将上述第一和值确定为第七数据区间中的第三极小值;在上述第七数据区间中包括上述N个待处理数据中的数据的情况下,将上述第一数据区间中的极小值与上述第七数据区间中的第三极大值之间的区间确定为上述目标区间。
根据本发明的另一个实施例,提供了一种数据处理装置,包括:第一确定模块,用于确定N个待处理数据所在的第一数据区间,其中,上述N大于或等于1;第二确定模块,用于确定上述N个待处理数据在上述第一数据区间中的分布状态,其中,上述分布状态包括均匀分布和不均匀分布;第三确定模块,用于按照上述分布状态对上述第一数据区间进行区间划分,得到M个数据区间,其中,上述M大于1;第四确定模块,用于在上述M个数据区间中查找上述N个待处理数据集中分布的区间,得到目标数据区间,其中,上述目标数据区间包括在上述第一数据区间内。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于确定N个待处理数据所在的第一数据区间,其中,N大于或等于1;确定N个待处理数据在第一数据区间中的分布状态,其中,分布状态包括均匀分布和不均匀分布;按照分布状态对第一数据区间进行区间划分,得到M个数据区间,其中,M大于1;在M个数据区间中查找N个待处理数据集中分布的区间,得到目标数据区间,其中,目标数据区间包括在第一数据区间内。实现了通过数据的分布状态对数据进行分片的目的,使得数据集中在一区间中。因此,可以解决数据的分布处理的问题,达到提高数据并行效率的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的数据处理方法的流程图;
图3是根据本发明实施例的数据处理装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种数据处理方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据处理方法,图2是根据本发明实施例的数据处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,确定N个待处理数据所在的第一数据区间,其中,N大于或等于1;
步骤S204,确定N个待处理数据在第一数据区间中的分布状态,其中,分布状态包括均匀分布和不均匀分布;
步骤S206,按照分布状态对第一数据区间进行区间划分,得到M个数据区间,其中,M大于1;
步骤S208,在M个数据区间中查找N个待处理数据集中分布的区间,得到目标数据区间,其中,目标数据区间包括在第一数据区间内。
通过上述步骤,由于确定N个待处理数据所在的第一数据区间,其中,N大于或等于1;确定N个待处理数据在第一数据区间中的分布状态,其中,分布状态包括均匀分布和不均匀分布;按照分布状态对第一数据区间进行区间划分,得到M个数据区间,其中,M大于1;在M个数据区间中查找N个待处理数据集中分布的区间,得到目标数据区间,其中,目标数据区间包括在第一数据区间内。实现了通过数据的分布状态对数据进行分片的目的,使得数据集中在一区间中。因此,可以解决数据的分布处理的问题,达到提高数据并行效率的效果。
可选地,上述步骤的执行主体可以为终端等,但不限于此。
可选地,本实施例可以应用于对数据进行分片的场景中,例如,数据库中存储的数据表中的数据分片场景。待处理数据包括但不限于是数据表中的标识ID号。
可选地,第一数据区间可以是自定义的区间,例如,0-10000的区间。
可选地,本实施例主要是在根据分区字段抽取数据时尽量让分区字段的值分布均匀,提高大数据读取的并行效率。
在一个可选的实施例中,确定N个待处理数据在第一数据区间中的分布状态之前,方法还包括:
S1,将第一数据区间平均分为第二数据区间和第三数据区间;
确定N个待处理数据在第一数据区间中的分布状态包括以下之一:
S2,在第二数据区间和第三数据区间中均包括N个待处理数据中的数据的情况下,确定N个待处理数据在第一数据区间中均匀分布;
S3,在第二数据区间中包括N个待处理数据,第三数据区间中未包括N个待处理数据的情况下,确定N个待处理数据在第一数据区间中未均匀分布;
S4,在第三数据区间中包括N个待处理数据,第二数据区间中未包括N个待处理数据的情况下,确定N个待处理数据在第一数据区间中未均匀分布。
可选地,例如,第一数据区间是1-10000的区间,则第二数据区间是0-5000的数据区间,第三数据区间是5000-10000的数据区间。平分第一数据区间的目的是为了判断待处理数据是否均匀分布。如果第二数据区间和第三数据区间都包括待处理数据,则待处理数据在第一数据区间中的分布是均匀的,可以采用二分法对数据进行区间划分。否则,待处理数据在第一数据区间中的分布是不均匀的,需要对待处理数据所在的区间进行确定。
通过本实施例,通过第一数据区间确定出N个待处理数据是否均匀分布,增加了对待处理数据的分片效率。
在一个可选的实施例中,按照分布状态对第一数据区间进行区间划分,得到M个数据区间,包括以下之一:
S1,在N个待处理数据在第一数据区间内均匀分布的情况下,将第一数据区间划分为M个数据区间,其中,M个数据区间在第一数据区间中是均匀分布的;
S2,在N个待处理数据在第一数据区间内未均匀分布的情况下,将第一数据区间划分为M个数据区间,其中,M个数据区间在第一数据区间中未均匀分布。
可选地,在本实施例中,例如,将第一数据区间划分为第二数据区间和第三数据区间,然后再平均划分第二数据区间和第三数据区间,如果M个数据区间中均分布有待处理数据,则N个待处理数据是均匀分布的。如果M个数据区间中存在不存在待处理数据的数据区间,则将不存在的数据区间加入黑名单。
可选地,例如,利用中间点查询规则对待处理数据在各个区间的分布进行查询。设需要查询的区间是x-y(开、闭区间均可),计算x、y的中间值,记为a,查询a~y区间的任意值返回,一般数据库会返回接近a的值,如果没有数值,对x~a区间做未均匀分布的查询。
通过本实施例,通过对待处理数据均匀分布和未均匀分布的确定,确定出分布规则,提高了待处理数据所属区间的效率。
在一个可选的实施例中,确定N个待处理数据在第一数据区间中的分布状态之前,方法还包括:
S1,将第一数据区间平均分为第二数据区间和第三数据区间;
S2,在N个待处理数据在第一数据区间内未均匀分布,且第二数据区间中包括N个待处理数据的情况下,确定第二数据区间中的第一极大值的预设占比值,得到第四数据区间的第二极大值,其中,第四数据区间中的第一极小值是第一数据区间中的极小值,第四数据区间包括在第二数据区间内;
S3,在第四数据区间中包括N个待处理数据中的数据的情况下,确定第四数据区间中的第二极大值的预设占比值,得到第五数据区间的第三极大值,其中,第五数据区间中的第二极小值是第一数据区间中的极小值,第五数据区间包括在第四数据区间中;
S4,确定第一极大值与第二极大值之间的第六数据区间中是否包括N个待处理数据中的数据。
可选地,在M个数据区间中查找N个待处理数据集中分布的区间,得到目标数据区间,包括:
S1,在第四数据区间中包括N个待处理数据中的数据,且第六数据区间中包括N个待处理数据中的数据的情况下,将第四数据区间确定为目标数据区间。
可选地,在M个数据区间中查找N个待处理数据集中分布的区间,得到目标数据区间,包括:
S1,在第四数据区间中包括N个待处理数据中的数据,且第六数据区间中包括N个待处理数据中的数据的情况下,确定第一极大值和第二极大值之间的差值,得到第一差值;
S2,确定第一差值与第一极大值的预设占比值之间的和值,得到第一和值;
S3,将第一和值确定为第七数据区间中的第三极小值;
S4,在第七数据区间中包括N个待处理数据中的数据的情况下,将第一数据区间中的极小值与第七数据区间中的第三极大值之间的区间确定为目标区间。
可选地,通过以下方式确定第三极大值:
S1,确定第一极大值与第三极大值之间的差值,得到第二差值;
S2,确定第二差值的预设占比值与第三极小值之间的和值,得到第二和值;
S3,将第二和值确定为第三极大值。
可选地,在本实施例中,上述中的分区间的方式是针对未均匀分布的待处理数据。例如,第一数据区间是0-10000,第二数据区间是0-5000,第三数据区域是5000-10000。如果第二数据区间中存在待处理数据,第三数据区间不存在待处理数据。则将第二数据区间划分为第四数据区间,第四数据区间可以是0-500,500是5000的十分之一,即预设占比值是十分之一。如果第四数据区间中仍然存在待处理数据,而500-5000内没有待处理数据,则将第四数据区间划分一个第五数据空间,第五数据空间可以是0-50,即是取500的十分之一作为第五数据区间的极大值。如果第五数据区间中存在待处理数据,50-500中也存在待处理数据,则在50-500中划分出第六数据区间。第六数据区间的极大值可以是(500-50)×1/10+50=95,则第六数据区间是50-95。如果第六数据区间存在待处理数据,95-500之间还存在待处理数据,则确定出第七数据区间,即是(500-95)×1/10+95=135.5,则在95-135之间查找是否存在待处理数据,以此类推,直到完全找到待处理数据整体所在的区间为止,例如,可以分布在0-100区间内。
可选地,可以将上述没有分布待处理数据的区间加入黑名单中。
可选地,例如,设需要查询的区间是x~y(开、闭区间均可),计算x、y之间大偏向于x的某一个值(例如1/10点),记为a,查询a~y中的任一值。如果区间为空,则对区间x~a进行查询;如果区间不为空,则对a~y进行中间点查询。当x~y差值小于某一值的时候,不再进行查询,返回空,代表该区间为空。
通过,本实施例,通过对数据区间的查询,加快了确定出待处理数据的效率。
可选地,设置起点黑名单,对于已知最大值最小值的有序的区间a1~an(n≥2),在规定时间内对全序列遍历全序列,选出相邻两个差值最大且较小值不在起点黑名单里的进行中间点查询,并将返回的结果记入队列后排序,如果值是经过了极大小点查询的结果的话,返回的值同时记入起点黑名单。
可选地,在数据区间是0~4015000631034600的区间的情况下,按照数值均分为109个区间,小于15000630772014的60%以上数据都会被分到同一区间。并且按数值分出的被以下区间包含的区间:
15000630772014,1000000001281768
1100000588204480,2002000174981010
2018001818323937,4013000596127210
都只会有0或1条数据。
本实施例中的分片的结果避免了按照数值分片的90%以上都是空区间的情况。以及其导致的数据倾斜的情况,提升了并行的效率。
需要说明的是,本实施例虽然以数字举例,但并不一定专用于数字,所有有序字符集均可按本方法确定点从而分片。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的数据处理装置的结构框图,如图3所示,该装置包括:
第一确定模块32,用于确定N个待处理数据所在的第一数据区间,其中,N大于或等于1;
第二确定模块34,用于确定N个待处理数据在第一数据区间中的分布状态,其中,分布状态包括均匀分布和不均匀分布;
第三确定模块36,用于按照分布状态对第一数据区间进行区间划分,得到M个数据区间,其中,M大于1;
第四确定模块38,用于在M个数据区间中查找N个待处理数据集中分布的区间,得到目标数据区间,其中,目标数据区间包括在第一数据区间内。
通过本发明,由于确定N个待处理数据所在的第一数据区间,其中,N大于或等于1;确定N个待处理数据在第一数据区间中的分布状态,其中,分布状态包括均匀分布和不均匀分布;按照分布状态对第一数据区间进行区间划分,得到M个数据区间,其中,M大于1;在M个数据区间中查找N个待处理数据集中分布的区间,得到目标数据区间,其中,目标数据区间包括在第一数据区间内。实现了通过数据的分布状态对数据进行分片的目的,使得数据集中在一区间中。因此,可以解决数据的分布处理的问题,达到提高数据并行效率的效果。
可选地,本实施例可以应用于对数据进行分片的场景中,例如,数据库中存储的数据表中的数据分片场景。待处理数据包括但不限于是数据表中的标识ID号。
可选地,第一数据区间可以是自定义的区间,例如,0-10000的区间。
可选地,本实施例主要是在根据分区字段抽取数据时尽量让分区字段的值分布均匀,提高大数据读取的并行效率。
在一个可选的实施例中,上述装置还包括:
第一划分单元,用于确定N个待处理数据在第一数据区间中的分布状态之前,将第一数据区间平均分为第二数据区间和第三数据区间;
第二确定模块34包括以下之一:
第一确定单元,用于在第二数据区间和第三数据区间中均包括N个待处理数据中的数据的情况下,确定N个待处理数据在第一数据区间中均匀分布;
第二确定单元,用于在第二数据区间中包括N个待处理数据,第三数据区间中未包括N个待处理数据的情况下,确定N个待处理数据在第一数据区间中未均匀分布;
第三确定单元,用于在第三数据区间中包括N个待处理数据,第二数据区间中未包括N个待处理数据的情况下,确定N个待处理数据在第一数据区间中未均匀分布。
可选地,例如,第一数据区间是1-10000的区间,则第二数据区间是0-5000的数据区间,第三数据区间是5000-10000的数据区间。平分第一数据区间的目的是为了判断待处理数据是否均匀分布。如果第二数据区间和第三数据区间都包括待处理数据,则待处理数据在第一数据区间中的分布是均匀的,可以采用二分法对数据进行区间划分。否则,待处理数据在第一数据区间中的分布是不均匀的,需要对待处理数据所在的区间进行确定。
通过本实施例,通过第一数据区间确定出N个待处理数据是否均匀分布,增加了对待处理数据的分片效率。
在一个可选的实施例中,第三确定模块36包括以下之一:
第二划分单元,用于在N个待处理数据在第一数据区间内均匀分布的情况下,将第一数据区间划分为M个数据区间,其中,M个数据区间在第一数据区间中是均匀分布的;
第三划分单元,用于在N个待处理数据在第一数据区间内未均匀分布的情况下,将第一数据区间划分为M个数据区间,其中,M个数据区间在第一数据区间中未均匀分布。
可选地,在本实施例中,例如,将第一数据区间划分为第二数据区间和第三数据区间,然后再平均划分第二数据区间和第三数据区间,如果M个数据区间中均分布有待处理数据,则N个待处理数据是均匀分布的。如果M个数据区间中存在不存在待处理数据的数据区间,则将不存在的数据区间加入黑名单。
可选地,例如,利用中间点查询规则对待处理数据在各个区间的分布进行查询。设需要查询的区间是x-y(开、闭区间均可),计算x、y的中间值,记为a,查询a~y区间的任意值返回,一般数据库会返回接近a的值,如果没有数值,对x~a区间做未均匀分布的查询。
通过本实施例,通过对待处理数据均匀分布和未均匀分布的确定,确定出分布规则,提高了待处理数据所属区间的效率。
在一个可选的实施例中,上述装置还包括:第一划分模块,用于在确定N个待处理数据在第一数据区间中的分布状态之前,将第一数据区间平均分为第二数据区间和第三数据区间;
第五确定模块,用于在N个待处理数据在第一数据区间内未均匀分布,且第二数据区间中包括N个待处理数据的情况下,确定第二数据区间中的第一极大值的预设占比值,得到第四数据区间的第二极大值,其中,第四数据区间中的第一极小值是第一数据区间中的极小值,第四数据区间包括在第二数据区间内;
第六确定模块,用于在第四数据区间中包括N个待处理数据中的数据的情况下,确定第四数据区间中的第二极大值的预设占比值,得到第五数据区间的第三极大值,其中,第五数据区间中的第二极小值是第一数据区间中的极小值,第五数据区间包括在第四数据区间中;
第七确定模块,用于确定第一极大值与第二极大值之间的第六数据区间中是否包括N个待处理数据中的数据。
可选地,第四确定模块38,包括:
第四确定单元,用于在第四数据区间中包括N个待处理数据中的数据,且第六数据区间中包括N个待处理数据中的数据的情况下,将第四数据区间确定为目标数据区间。
可选地,第四确定模块38,包括:
第五确定单元,用于在第四数据区间中包括N个待处理数据中的数据,且第六数据区间中包括N个待处理数据中的数据的情况下,确定第一极大值和第二极大值之间的差值,得到第一差值;
第六确定单元,用于确定第一差值与第一极大值的预设占比值之间的和值,得到第一和值;
第七确定单元,用于将第一和值确定为第七数据区间中的第三极小值;
第八确定单元,用于在第七数据区间中包括N个待处理数据中的数据的情况下,将第一数据区间中的极小值与第七数据区间中的第三极大值之间的区间确定为目标区间。
可选地,通过以下方式确定第三极大值:
S1,确定第一极大值与第三极大值之间的差值,得到第二差值;
S2,确定第二差值的预设占比值与第三极小值之间的和值,得到第二和值;
S3,将第二和值确定为第三极大值。
可选地,在本实施例中,上述中的分区间的方式是针对未均匀分布的待处理数据。例如,第一数据区间是0-10000,第二数据区间是0-5000,第三数据区域是5000-10000。如果第二数据区间中存在待处理数据,第三数据区间不存在待处理数据。则将第二数据区间划分为第四数据区间,第四数据区间可以是0-500,500是5000的十分之一,即预设占比值是十分之一。如果第四数据区间中仍然存在待处理数据,而500-5000内没有待处理数据,则将第四数据区间划分一个第五数据空间,第五数据空间可以是0-50,即是取500的十分之一作为第五数据区间的极大值。如果第五数据区间中存在待处理数据,50-500中也存在待处理数据,则在50-500中划分出第六数据区间。第六数据区间的极大值可以是(500-50)×1/10+50=95,则第六数据区间是50-95。如果第六数据区间存在待处理数据,95-500之间还存在待处理数据,则确定出第七数据区间,即是(500-95)×1/10+95=135.5,则在95-135之间查找是否存在待处理数据,以此类推,直到完全找到待处理数据整体所在的区间为止,例如,可以分布在0-100区间内。
可选地,可以将上述没有分布待处理数据的区间加入黑名单中。
可选地,例如,设需要查询的区间是x~y(开、闭区间均可),计算x、y之间大偏向于x的某一个值(例如1/10点),记为a,查询a~y中的任一值。如果区间为空,则对区间x~a进行查询;如果区间不为空,则对a~y进行中间点查询。当x~y差值小于某一值的时候,不再进行查询,返回空,代表该区间为空。
通过,本实施例,通过对数据区间的查询,加快了确定出待处理数据的效率。
可选地,设置起点黑名单,对于已知最大值最小值的有序的区间a1~an(n≥2),在规定时间内对全序列遍历全序列,选出相邻两个差值最大且较小值不在起点黑名单里的进行中间点查询,并将返回的结果记入队列后排序,如果值是经过了极大小点查询的结果的话,返回的值同时记入起点黑名单。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,确定N个待处理数据所在的第一数据区间,其中,N大于或等于1;
S2,确定N个待处理数据在第一数据区间中的分布状态,其中,分布状态包括均匀分布和不均匀分布;
S3,按照分布状态对第一数据区间进行区间划分,得到M个数据区间,其中,M大于1;
S4,在M个数据区间中查找N个待处理数据集中分布的区间,得到目标数据区间,其中,目标数据区间包括在第一数据区间内。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数据处理方法,其特征在于,包括:
确定N个待处理数据所在的第一数据区间,其中,所述N大于或等于1;
确定所述N个待处理数据在所述第一数据区间中的分布状态,其中,所述分布状态包括均匀分布和不均匀分布;
按照所述分布状态对所述第一数据区间进行区间划分,得到M个数据区间,其中,所述M大于1;
在所述M个数据区间中查找所述N个待处理数据集中分布的区间,得到目标数据区间,其中,所述目标数据区间包括在所述第一数据区间内。
2.根据权利要求1所述的方法,其特征在于,
确定所述N个待处理数据在所述第一数据区间中的分布状态之前,所述方法还包括:将所述第一数据区间平均分为第二数据区间和第三数据区间;
确定所述N个待处理数据在所述第一数据区间中的分布状态包括以下之一:在所述第二数据区间和所述第三数据区间中均包括所述N个待处理数据中的数据的情况下,确定所述N个待处理数据在所述第一数据区间中均匀分布;
在所述第二数据区间中包括所述N个待处理数据,所述第三数据区间中未包括所述N个待处理数据的情况下,确定所述N个待处理数据在所述第一数据区间中未均匀分布;
在所述第三数据区间中包括所述N个待处理数据,所述第二数据区间中未包括所述N个待处理数据的情况下,确定所述N个待处理数据在所述第一数据区间中未均匀分布。
3.根据权利要求1所述的方法,其特征在于,按照所述分布状态对所述第一数据区间进行区间划分,得到M个数据区间,包括以下之一:
在所述N个待处理数据在所述第一数据区间内均匀分布的情况下,将所述第一数据区间划分为所述M个数据区间,其中,所述M个数据区间在所述第一数据区间中是均匀分布的;
在所述N个待处理数据在所述第一数据区间内未均匀分布的情况下,将所述第一数据区间划分为所述M个数据区间,其中,所述M个数据区间在所述第一数据区间中未均匀分布。
4.根据权利要求1所述的方法,其特征在于,确定所述N个待处理数据在所述第一数据区间中的分布状态之前,所述方法还包括:
将所述第一数据区间平均分为第二数据区间和第三数据区间;
在所述N个待处理数据在所述第一数据区间内未均匀分布,且所述第二数据区间中包括所述N个待处理数据的情况下,确定所述第二数据区间中的第一极大值的预设占比值,得到第四数据区间的第二极大值,其中,所述第四数据区间中的第一极小值是所述第一数据区间中的极小值,所述第四数据区间包括在所述第二数据区间内;
在所述第四数据区间中包括所述N个待处理数据中的数据的情况下,确定所述第四数据区间中的第二极大值的预设占比值,得到第五数据区间的第三极大值,其中,所述第五数据区间中的第二极小值是所述第一数据区间中的极小值,所述第五数据区间包括在所述第四数据区间中;
确定所述第一极大值与所述第二极大值之间的第六数据区间中是否包括所述N个待处理数据中的数据。
5.根据权利要求4所述的方法,其特征在于,在所述M个数据区间中查找所述N个待处理数据集中分布的区间,得到目标数据区间,包括:
在所述第四数据区间中包括所述N个待处理数据中的数据,且所述第六数据区间中包括所述N个待处理数据中的数据的情况下,将所述第四数据区间确定为所述目标数据区间。
6.根据权利要求4所述的方法,其特征在于,在所述M个数据区间中查找所述N个待处理数据集中分布的区间,得到目标数据区间,包括:
在所述第四数据区间中包括所述N个待处理数据中的数据,且所述第六数据区间中包括所述N个待处理数据中的数据的情况下,确定所述第一极大值和所述第二极大值之间的差值,得到第一差值;
确定所述第一差值与所述第一极大值的预设占比值之间的和值,得到第一和值;
将所述第一和值确定为第七数据区间中的第三极小值;
在所述第七数据区间中包括所述N个待处理数据中的数据的情况下,将所述第一数据区间中的极小值与所述第七数据区间中的第三极大值之间的区间确定为目标区间。
7.一种数据处理装置,其特征在于,包括:
第一确定模块,用于确定N个待处理数据所在的第一数据区间,其中,所述N大于或等于1;
第二确定模块,用于确定所述N个待处理数据在所述第一数据区间中的分布状态,其中,所述分布状态包括均匀分布和不均匀分布;
第三确定模块,用于按照所述分布状态对所述第一数据区间进行区间划分,得到M个数据区间,其中,所述M大于1;
第四确定模块,用于在所述M个数据区间中查找所述N个待处理数据集中分布的区间,得到目标数据区间,其中,所述目标数据区间包括在所述第一数据区间内。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的方法。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910684291.3A CN110399418B (zh) | 2019-07-26 | 2019-07-26 | 数据处理方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910684291.3A CN110399418B (zh) | 2019-07-26 | 2019-07-26 | 数据处理方法及装置、存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110399418A true CN110399418A (zh) | 2019-11-01 |
CN110399418B CN110399418B (zh) | 2022-04-12 |
Family
ID=68325169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910684291.3A Active CN110399418B (zh) | 2019-07-26 | 2019-07-26 | 数据处理方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399418B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040156068A1 (en) * | 2003-02-10 | 2004-08-12 | Sharp Kabushiki Kaisha | Data processing apparatus |
CN107103009A (zh) * | 2016-02-23 | 2017-08-29 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法及装置 |
US20180096029A1 (en) * | 2016-08-29 | 2018-04-05 | International Business Machines Corporation | Efficient processing of data extents |
CN108334596A (zh) * | 2018-01-31 | 2018-07-27 | 华南师范大学 | 一种面向大数据平台的海量关系数据高效并行迁移方法 |
CN110019353A (zh) * | 2017-09-15 | 2019-07-16 | 北京国双科技有限公司 | 一种数据处理方法及装置 |
-
2019
- 2019-07-26 CN CN201910684291.3A patent/CN110399418B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040156068A1 (en) * | 2003-02-10 | 2004-08-12 | Sharp Kabushiki Kaisha | Data processing apparatus |
CN107103009A (zh) * | 2016-02-23 | 2017-08-29 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法及装置 |
US20180096029A1 (en) * | 2016-08-29 | 2018-04-05 | International Business Machines Corporation | Efficient processing of data extents |
CN110019353A (zh) * | 2017-09-15 | 2019-07-16 | 北京国双科技有限公司 | 一种数据处理方法及装置 |
CN108334596A (zh) * | 2018-01-31 | 2018-07-27 | 华南师范大学 | 一种面向大数据平台的海量关系数据高效并行迁移方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110399418B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109472523B (zh) | 用于分拣货物的方法和装置 | |
CN103500191B (zh) | 一种流表配置、查询、表项删除方法及装置 | |
CN106844397A (zh) | 基于分库分表的任务传输方法、装置及系统 | |
CN106201661A (zh) | 用于弹性伸缩虚拟机集群的方法和装置 | |
CN107995285B (zh) | 信息显示方法、装置、服务器及可读存储介质 | |
CN110457704B (zh) | 目标字段的确定方法、装置、存储介质及电子装置 | |
CN106407442B (zh) | 一种海量文本数据处理方法及装置 | |
CN110427494B (zh) | 知识图谱的展示方法、装置、存储介质及电子装置 | |
CN107562743A (zh) | 数据存储方法和装置、数据查找请求的处理方法和装置 | |
CN104462420B (zh) | 数据库的查询任务的执行方法和装置 | |
CN110532273A (zh) | 数据表的处理方法及装置、存储介质、电子装置 | |
CN108537291A (zh) | 一种样本分类方法和装置 | |
CN109885651A (zh) | 一种问题推送方法和装置 | |
CN110472216B (zh) | 字段的确定方法、装置、存储介质及电子装置 | |
CN111147377B (zh) | 一种业务通道的确定方法、装置、设备和介质 | |
CN103246744A (zh) | 一种搜索方法及装置 | |
CN112347100A (zh) | 数据库索引优化方法、装置、计算机设备和存储介质 | |
CN106156361A (zh) | 一种执法监督方法及装置 | |
CN106649385B (zh) | 基于HBase数据库的数据排序方法和装置 | |
CN110609924A (zh) | 基于图数据的全量关系计算方法、装置、设备及存储介质 | |
CN113064677B (zh) | 应用运行方法及装置、存储介质及电子装置 | |
CN110297959A (zh) | 数据存储方法、装置、存储介质及边缘服务器 | |
CN110399418A (zh) | 数据处理方法及装置、存储介质、电子装置 | |
CN110688223B (zh) | 数据处理方法及相关产品 | |
WO2023093255A1 (zh) | 聚类集合的确定方法和装置、存储介质及电子装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |