CN110019499B - 数据重分布的处理方法和装置以及电子设备 - Google Patents
数据重分布的处理方法和装置以及电子设备 Download PDFInfo
- Publication number
- CN110019499B CN110019499B CN201710708226.0A CN201710708226A CN110019499B CN 110019499 B CN110019499 B CN 110019499B CN 201710708226 A CN201710708226 A CN 201710708226A CN 110019499 B CN110019499 B CN 110019499B
- Authority
- CN
- China
- Prior art keywords
- key value
- data
- key
- data corresponding
- value
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 121
- 238000000034 method Methods 0.000 claims abstract description 34
- 239000013598 vector Substances 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 14
- 238000007906 compression Methods 0.000 description 13
- 230000006835 compression Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据重分布的处理方法和装置以及电子设备,所述方法包括:获取待重分布数据的样本数据;确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度;根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值;根据所述最优键值所对应的数据对所述待重分布数据进行重分布处理。以此,可保证最优键值的选取效率及准确率,进而提高数据重分布的处理效率及合理性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据重分布的处理方法和装置以及电子设备。
背景技术
现今,在大数据分析处理领域中,分布式系统已经成为各大数据公司的标配,在进行数据持久化过程中普遍采用列式存储策略,并通过支持的压缩算法对每一列进行压缩后存储。在分布式存储系统中,对于根据不同键值(列)重分布后的数据进行压缩会产生不同的压缩比,通过寻找最优的键值对数据进行重分布后压缩,可以取得意想不到的压缩效果。
现有键值寻优的方式可包括如下几种:
方式一,用户在待存储数据中抽样部分数据,观察样本数据分布,通过个人经验判断某一键值是否适合作为候选键值,然后根据候选键值对待存储数据进行重分布。
方式二,用户将待存储数据中的抽样数据从分布式集群下载到本地,再离线对所有键值的数据分布进行全遍历扫描,根据扫描结果选择候选键值,然后根据候选键值人工编写重分布程序返回到分布式集群,再对待存储数据进行重分布。
但是,在上述两种方式中,存在如下问题:
在方式一中,由于是基于人工抽样观察数据分布来选取候选键值,其引入的个人主观因素过多,最终选取的候选键值很可能在客观上并不是最优的,这种方式不但耗费人力,处理效率也相对较低,而且还会影响数据重分布过程的数据分布合理性及处理效率。
在方式二中,需要将抽样数据从分布式集群下载到本地,然后在离线状态下选取候选键值,在编写重分布程序后再反馈到线上的分布式集群,这样线上、线下之间多次数据交互,不但耗时且耗费网络资源;同时,这种全遍历数据的方法较为粗鲁,当数据中包含的键值个数较多时,对处理时效和计算资源的影响更为突出,处理效率明显降低。
此外,现有的数据重分布方案,并不能解决分布式系统在进行数据重分布过程中存在的数据倾斜问题。
发明内容
本发明提供了一种数据重分布的处理方法和装置以及电子设备,可高效且准确的选取出用于数据重分布处理的最优键值,进而提高数据重分布的处理效率及合理性。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种数据重分布的处理方法,包括:
获取待重分布数据的样本数据;
确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度;
根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值;
根据所述最优键值所对应的数据对所述待重分布数据进行重分布处理。
第二方面,提供了一种数据重分布的处理装置,包括:
数据获取模块,用于获取待重分布数据的样本数据;
计算模块,用于确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度;
最优键值选取模块,用于根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值;
重分布处理模块,用于根据所述最优键值所对应的数据对所述待重分布数据进行重分布处理。
第三方面,提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
获取待重分布数据的样本数据;
确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度;
根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值;
根据所述最优键值所对应的数据对所述待重分布数据进行重分布处理。
本发明提供的数据重分布的处理方法和装置以及电子设备,在获取待重分布数据的样本数据后,确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度,然后根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值,最后根据最优键值所对应的数据对所述待重分布数据进行重分布处理,从而提高数据重分布的处理效率及合理性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的数据重分布的处理方法的逻辑示意图;
图2为本发明实施例提供的分布式系统的结构示意图;
图3为本发明实施例提供的数据重分布的处理方法的流程示意图;
图4为本发明实施例提供的数据重分布的处理方法中的ODPS架构示意图;
图5为本发明实施例提供的数据重分布的处理装置结构示意图;
图6为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
术语说明:
列存储:列存储采用了以列(字段或键值)作为聚簇单元,不同于以行作为聚簇的存储模式。对于数据写入与修改,列存储每次修改或写入多行数据都需要将磁盘磁头移动到对应位置,而对于数据读取,列存储可以直接将对应列读出,不存在冗余列现象;列存储的每一列数据类型是同质的,不存在二义性问题,比如说某列数据类型为整型(int),那么它的数据集合一定是整型数据,这种情况使数据解析变得十分容易,同时也容易为这种存储设计更好的压缩/解压缩算法。
分布式存储:大量普通PC(个人计算机)服务器通过网络互联,对外作为一个整体提供存储服务,采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器(比如用于记录文件、数据等的存储位置等)定位存储信息,可以提高系统的可靠性、可用性和存取效率,还易于扩展,例如盘古文件系统(阿里云飞天平台的分布式文件系统)。
数据重分布:数据集在分布式数据处理平台上处理完成之后,在进入分布式存储系统之前,重新按照数据集的某一个键值进行分发排序存储。
数据压缩:在计算机科学和信息论中,数据压缩或者源编码是按照特定的编码机制用比未经编码少的数据位元(或者其它信息相关的单位)表示信息的过程。例如,如果我们将「compression」编码为「comp」那么这篇文章可以用较少的数据位表示。
MapReduce:MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(归纳)”及他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。
数据倾斜:数据倾斜是指MapReduce程序执行时,大部分Reduce节点处理完毕,但是有一个或者几个Reduce节点处理的很慢,导致整个程序的处理时间很长,这是因为某一个键值对应的数据条数比其他键值对应的数据条数多很多(比如,百倍或者千倍),与其他Reduce节点相比,这个键值所在的Reduce节点所处理的数据量要多很多,从而导致该Reduce节点迟迟处理不完。
本发明改变了现有技术中,通过人工观察抽样数据分布来选取候选键值或者将抽样数据从分布式集群下载到本地以离线选取候选键值后再反馈到分布式集群上,然后根据选取的候选键值进行数据重分布等操作,从而导致处理效率低下、重分布结果不合理等问题,其核心思想在于,提出了一种能够提高数据重分布的处理效率及合理性的方案,先确定两个对选取最优键值起决定性因素的指标,其中,一个指标是数据中每个键值与其他键值所对应的数据的关联程度,另一个指标是数据中每个键值所对应的数据的有序程度,确定这两个与键值所对应的数据相关的指标,目的是基于每个键值所对应的数据特性来选取最适合用于重分布处理的最优键值。基于此,可通过算法计算待重分布数据中各键值的上述任一指标值或两个指标值,并将任一指标值中的最高值或者将两个指标值综合和的最高值选取为最优键值,并根据该最优键值对待重分布数据进行重分布处理。
上述方案,至少具有如下技术效果:
第一,基于算法的最优键值选取过程,实现自动化处理,无需人工介入,可提高最优键值选取的准确性及选取效率,进而可以提高数据重分布的合理性及处理效率。
第二,在最优键值的选取过程中,无需将样本数据从线上下载到线下,在线上即可实现选取过程,减少网络资源的耗费,可保证选取效率,继而保证后续数据重分布处理的效率。
第三,在最优键值选取后,无需编写重分布程序后再反馈到线上,而是直接在线上进行数据的重分布处理,减少网络资源的耗费,提高数据重分布处理效率。
如图1所示,为本发明实施例的数据重分布的处理方法的逻辑示意图。在该逻辑示意图中,整个处理过程可分为两个阶段:最优键值选取阶段和重分布处理阶段。
在最优键值选取阶段,可包括三部分,第一部分是样本数据获取部分,可从待重分布数据中进行抽样以获取样本数据,该样本数据可作为选取最优键值的数据基础。第二部分是计算部分,可在根据第一部分获取到的样本数据,进一步确定样本数据中包括的键值,并计算每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度。第三部分是最优键值选取部分,可根据第二部分的计算结果选取选取最优键值,比如,可选取每个键值与其他键值所对应的数据的关联程度最高的键值,或者每个键值所对应的数据的有序程度最高的键值,或者将每个键值与其他键值所对应的数据的关联程度与每个键值所对应的数据的有序程度综合后得分最高的值,作为用于后续数据重分布处理的最优键值。
在重分布处理阶段,可根据在最优键值选取阶段得到的最优键值,根据该最优键值所对应的数据对待重分布数据进行重分布处理。
基于图1所示的数据重分布的处理方法的逻辑示意图,本发明实施例提供了一种执行上述处理步骤的数据重分布的处理装置,如图2所示,该数据重分布的处理装置21可应用于分布式系统20中,在分布式系统20中,可包括分布式数据处理平台和分布式存储平台,该数据重分布的处理装置21可设置于分布式数据处理平台中,可用于对待存储数据进行上述键值寻优、根据最优键值对待存储数据进行重分布处理,以得到重分布的待存储数据。分布式存储平台中可包括压缩装置22及存储装置23,在实际应用中,在分布式数据处理平台中得到重分布的待存储数据后,可将重分布的待存储数据输入到分布式存储平台中,首先可通过压缩装置22进行压缩处理,再将压缩后的待存储数据存储于存储装置23中。
综上所述,本发明公开的技术方案,一方面,可通过算法计算得到用于对待存储数据进行重分布处理的最优键值,可保证最优键值的选取效率及准确率,进而提高数据重分布的处理效率及合理性;另一方面,基于分布更为合理的数据进行压缩处理,可提高压缩效率及压缩效果,进而提高压缩比;再一方面,基于较高压缩比的数据进行存储,可有效提高存储效率,且节省存储空间。
实施例一
如图3所示,其为本发明实施例示出的数据重分布的处理方法流程示意图,该方法的执行主体为图2中所示的数据重分布的处理装置。如图3所示,该数据重分布的处理方法包括如下步骤:
S310,获取待重分布数据的样本数据。
在本实施例中,待重分布数据为列存储格式的数据。比如,可参看图4所示的ODPS架构示意图,ODPS(Open Data Processing Service)是阿里云基于自有的云计算技术研发一套开放数据处理服务,其作为开放式数据处理平台(相当于其他企业的数据仓库),其上积累了大量的离线数据,这些数据都是以列存储的格式存储在盘古文件系统(阿里云飞天平台的分布式文件系统)上的。
ODPS的数据来源主要有两部分:一是日志服务器采集的日志数据,二是前台业务系统数据库(例如Mysql、OceanBase、Oracle、Hbase等)的业务数据,例如交易、商品、会员等数据。
上述数据进入到ODPS之后,这部分未经加工的数据我们称之为ODS层(Operational Data Store,操作数据存储),而CDM层(Common Dimension Model,公共维度模型)和ADS层(Application Data Store,应用数据存储)的数据都是在ODS层之上建模开发的,也就是说,ODS层是整个数据处理平台的根源,其中的数据是最原始的数据,没有经过任何加工,不能直接对上层应用提供数据服务,但是这部分数据包含了整个数据处理平台中最明细的数据,其保存的生命周期也是最长的,存储量相对于CDM层和ADS层来说也是最大的,因此,ODS层的数据是非常适合作为待重分布的数据,并且在重分布处理后再进行压缩存储。
在本实施例中,比如可将上述ODS层中的日志数据作为待重分布的数据,由于对于大规模的网站来说,每条产生的日志量非常大,动辄上亿条,因此,需要对日志数据进行抽样,以抽取出预置数量的样本数据作为键值寻优处理的基础数据,为了保证样本数据分布的准确性,且考虑处理时长,比如可抽样100万条日志数据作为样本数据。
S320,确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度。
在本实施例中,可先确定两个对选取最优键值起决定性因素的指标,其中,一个指标是数据中每个键值与其他键值所对应的数据的关联程度,另一个指标是数据中每个键值所对应的数据的有序程度,当然,可以根据实际需要确定其他用于选取最优键值的指标。通过确定这两个与键值对应的数据相关的指标,并通过算法计算出每个键值的该两个指标后,可实现基于每个键值对应的数据特性来选取最适合用于重分布处理的最优键值。
在具体实现时,为了便于对上述指标进行计算,可先对样本数据中每个键值所对应的数据内容进行归一化处理,构建每个键值的键值向量。
在本实施里中,比如样本数据为如下表1中以列存储的数据表。
表1数据表
Id | 性别 | 年龄 | 地址 | 职业 |
1 | 男 | 22 | 文一路 | 学生 |
2 | 女 | 13 | 文三路 | 学生 |
3 | 男 | 34 | 教工路 | 教师 |
4 | 女 | 54 | 文一路 | 退休 |
可确定该数据表中的键值,比如“ID”、“性别”、“年龄”等,还可确定每个键值对应的数据内容,比如“性别”对应的数据内容为“男”、“女”。
然后,对每个键值对应的数据内容进行归一化处理,以得到同一数量级的编码值(比如都以1位的数字表示),在编码过程中,比如可将待编码的数据内容与已编码的数据内容相比对,如果数据内容相同,则标识为已编码的数据内容对应的同一编码值,如果没有被编码过,则将编码值自动增加1并记录,将表1中的每个键值对应的数据内容进行归一化处理后,可如表2所示。
表2归一化后的数据表
Id | 性别 | 年龄 | 地址 | 职业 |
1 | 1 | 1 | 1 | 1 |
2 | 2 | 2 | 2 | 1 |
3 | 1 | 3 | 3 | 2 |
4 | 2 | 4 | 1 | 3 |
在得到每个键值下的所有编码后,可以根据每个键值下的所有编码构建该键值的键值向量。
比如:“Id”、“性别”、“年龄”、“地址”、“职业”分别可用x(1)、x(2)、x(3)、x(4)、x(5)来表示,其键值向量分别为:
x(1)=(1,2,3,4);
x(2)=(1,2,1,2);
x(3)=(1,2,3,4);
x(4)=(1,2,3,1);
x(5)=(1,1,2,3)。
然后,基于各键值的键值向量计算每个键值与其他键值所对应的数据的关联程度和/或每个键值所对应的数据的有序程度。
在实际应用中,可通过多种方式来计算每个键值与其他键值所对应的数据的关联程度,在本实施里中,对计算该关联程度的方式不做限定,只要适于计算数据间关联程度的方式即可。
在一种实现方式中,可针对每一个键值,计算该键值与其他键值之间的键值向量的余弦距离,并将各余弦距离相加得到第一和值,该第一和值越大,意味着该键值与其他键值所对应的数据的关联程度越高。
比如,可基于各键值的键值向量计算各键值与其他键值之间的余弦距离(即余弦相似度),比如,cos(x(1),x(2))为计算x(1)与x(2)之间的余弦距离,cos(x(1),x(3))为计算x(1)与x(3)之间的余弦距离。
接下来,可将任一键值与其他各键值之间的余弦距离相加以得到第一和值,即S(1)、S(2)、S(3)、S(4)、S(5),如下:
S(1)=cos(x(1),x(2))+cos(x(1),x(3))+cos(x(1),x(4))+cos(x(1),x(5));
S(2)=cos(x(1),x(2))+cos(x(2),x(3))+cos(x(2),x(4))+cos(x(2),x(5));
S(3)=cos(x(1),x(3))+cos(x(2),x(3))+cos(x(3),x(4))+cos(x(3),x(5));
S(4)=cos(x(4),x(1))+cos(x(4),x(2))+cos(x(4),x(3))+cos(x(4),x(5));
S(5)=cos(x(5),x(2))+cos(x(5),x(3))+cos(x(5),x(4))+cos(x(1),x(5))。
然后,可将第一和值进行排序,该第一和值越大,意味着该键值与其他键值所对应的数据的关联程度越高。
在另一种实现方式中,可针对每一个键值,计算该键值与其他键值之间的所述键值向量的欧式距离,并将各欧式距离相加得到第二和值,该第二和值越小,意味着该键值与其他键值所对应的数据的关联程度越高。由于欧式距离的计算方式为现有技术,其计算思路可参考计算余弦距离的过程,在此不做详细说明。
在实际应用中,可通过多种方式来计算每个键值所对应的数据的有序程度,在本实施里中,对计算该有序程度的方式不做限定,只要适于计算数据有序程度的方式即可。
由于,信息熵可用于评价数据的有序程度,数据越是有序信息熵就越低,因此,在一种实现方式中,可计算各键值的所述键值向量的信息熵(比如,上述x(1)、x(2)、x(3)、x(4)、x(5)的信息熵分别为H(1)、H(2)、H(3)、H(4)、H(5)),以获得每个键值所对应数据的有序程度,也就是说,该信息熵的值越小,相应键值所对应的数据的有序程度越高。
在另一种实现方式中,还可以计算各键值的所述键值向量的信息增益,由于信息增益为条件熵-信息熵,因此,与上述信息熵的原理类似,也可以用来评价数据的有序程度,且信息增益的值越小,相应键值所对应的数据的有序程度越高。
此外,在计算得到上述每个键值与其他键值所对应的数据的关联程度,及每个键值所对应的数据的有序程度之后,还可进一步计算两者的综合值,也即可针对每一个键值,计算该键值与其他键值所对应的数据的关联程度以及该键值所对应的数据的有序程度的加权值,加权值越高的则相应键值可以作为最优键值的可能性越大。
在本实施例中,可灵活选择组合方式来计算两者的综合值,比如可将第一和值与信息熵进行加权求和,或者将第二和值与信息熵进行加权求和,或者将第一和值与信息增益进行加权求和,或者将第二和值与信息增益加权求和,等等。
比如,在将第一和值与信息熵进行加权求和的情况下,可通过如下公式计算:Result=aS(x)+bH(x),其中,S(x)为各键值的第一和值,H(x)为各键值的信息熵,在本实施例中,a,b可基于经验分别取值0.7和0.3,以得到最优效果。
S330,根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值。
也就是说,可根据S320的计算结果得到两个与键值所对应的数据相关的指标,以基于每个键值所对应的数据特性来选取最适合用于重分布处理的最优键值。在本实施例中,比如可选取与其他键值所对应的数据的关联程度最高的键值作为最优键值,比如,在通过余弦距离计算每个键值与其他键值之间的余弦距离而得到上述第一和值后,得分最高的第一和值所对应的键值,与其他键值所对应的数据关联程度是最高的,则可将该键值作为最优键值;再比如,在通过欧氏距离计算每个键值与其他键值之间的欧氏距离而得到上述第二和值后,得分最低的第二和值所对应的键值,与其他键值所对应的数据关联程度是最高的,则可将该键值作为最优键值。
或者,可选取所对应的数据的有序程度最高的键值作为最优键值,比如,在通过信息熵计算每个键值对应数据的有序程度后,得分最低的信息熵所对应的键值,其对应的数据的有序程度是最高的,则可将该键值作为最优键值;再比如,在通过信息增益计算每个键值对应数据的有序程度后,得分最低的信息增益所对应的键值,其对应的数据的有序程度是最高的,在可将该键值作为最优键值。
或者,可选取每个键值与其他键值所对应的数据的关联程度,及每个键值所对应的数据的有序程度的综合分值最高的键值作为最优键值。比如,在将第一和值与信息熵进行加权求和之后,可将得分最高的加权值所对应的键值选取为最优键值。
S340,根据所述最优键值所对应的数据对所述待重分布数据进行重分布处理。
在本实施例中,在选取到最优键值后,还可根据最优键值生成用于对数据进行重分布处理的重分布程序,以此,可基于该重分布程序对待重分布数据进行重分布处理。
也就是说,在最优键值选取后,无需如现有技术中的编写重分布程序后再反馈到线上(比如分布式集群上),而是直接在线上自动生成重分布程序以进行数据的重分布处理,以此,可减少网络资源的耗费,提升系统的自动化程度,且可提高数据重分布处理效率。
在本实施例提供的上述方法中,可在获取待重分布数据的样本数据后,计算所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度,然后根据计算出的上述有序程度和/或关联程度选取最优键值,最后根据所述最优键值所对应的数据对所述待重分布数据进行重分布处理。以此,可通过算法从待重分布数据中选取出用于数据重分布处理的最优键值,并基于该最优键值对待重分布数据进行重分布处理,可保证最优键值的选取效率及准确率,进而提高数据重分布的处理效率及合理性。
在另一实施例中,在数据重分布过程中,为了避免某些处理节点处理的数据过多而产生的数据倾斜现象,还可以在最优键值对应的数据内容中,确定出现次数高于预置数量阈值的高频数据内容,对于包含高频数据内容的待重分布数据,在进行重分布时分散的发送至不同的处理节点。
比如,上述样本数据的数据表中,以最优键值为“性别”为例,其对应的数据内容包括“男”和“女”,如果按照现有的数据重分布处理机制,在重分布的过程中,“男”所在行的数据被分发到第一处理节点进行处理,“女”所在行的数据被分发到第二处理节点进行处理,在“男”的数量比“女”的数量多很多的情况下,意味着第一处理节点被分配处理的数据要比第二处理节点被分配处理的数据多得多,第一处理节点所花费的处理时间将要比第二处理节点所花费的处理时间长很多,即对应为数据倾斜现象。
根据本实施例中提出的处理机制,可在其对应的数据内容(“男”,“女”)中,确定出现频率较高的数据。比如,预置的数量阈值为100个,“男”、“女”的个数分别为120、90,则“男”为出现频率较高的数据。
在数据重分布时,对于“男”所在行的数据分散的发送至不同处理节点,比如以随机形式分发到各处理节点(比如随机分发到第一或第二处理节点)、以轮询的方式分发到各处理节点(比如,一次分发到第一处理节点,下一次分发到第二处理节点,以此循环方式分发)等。
根据本实施例,可通过采用非集中分发的分发方式,以使数据更均匀的分发到各处理节点,避免某些处理节点被分发的数据过多而导致的数据倾斜现象。
此外,在实际应用中,还可能会出现与待重分布数据相关的新增数据,因此,可对该新增数据进行定期检测或实时检测等。当检测到新增的待重分布数据后,由于该些新增数据可具有与待重分布数据相似的特性规律,因此可以根据上述最优键值所对应的数据直接对该新增的待重分布数据进行重分布处理,在具体实现时,比如可一旦检测到新增数据即处理,也可以设置一定的时间间隔(比如,一天)定期对新增数据进行处理,等等。也就是说,对于新增的待重分布数据,无需再重复进行最优键值的选取过程,而是直接利用该最优键值进行重分布处理,以此,可提高数据重分布的效率。
当然,在检测到新增的待重分布数据后,还可以针对该新增数据,根据本实施例中的方案重新确定其对应的最优键值,比如可通过确定新增数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度,并选取与其他键值所对应的数据的关联程度最高和/或所对应的数据的有序程度最高的键值最为最优键值等方式,来确定新增数据对应的最优键值,并根据该重新确定的最优键值对新增数据进行重分布处理。以此,可保证最优键值的选取准确率,进而提高数据重分布的合理性。
实施例二
如图5所示,其为本发明实施例二的数据重分布的处理装置的结构示意图,该处理装置可以包括:数据获取模块510、确定模块520、最优键值选取模块530及重分布处理模块540,其中:
数据获取模块510,可用于获取待重分布数据的样本数据。
确定模块520,可用于确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度。
在本实施例中,确定模块520,可具体用于:
对样本数据中每个键值所对应的数据内容进行归一化处理,构建每个键值的键值向量;
基于各键值的键值向量计算每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度。
在实际应用中,可通过多种方式来计算每个键值与其他键值所对应的数据的关联程度,在本实施里中,对计算该关联程度的方式不做限定,只要适于计算数据间关联程度的方式即可。
在具体实现时,确定模块520,可具体用于:
针对每一个键值,计算该键值与其他键值之间的键值向量的余弦距离,并将各余弦距离相加得到第一和值,该第一和值越大,该键值与其他键值所对应的数据的关联程度越高;或者,
针对每一个键值,计算该键值与其他键值之间的键值向量的欧式距离,并将各欧式距离相加得到第二和值,该第二和值越小,该键值与其他键值所对应的数据的关联程度越高。
在实际应用中,可通过多种方式来计算每个键值所对应的数据的有序程度,在本实施里中,对计算该有序程度的方式不做限定,只要适于计算数据有序程度的方式即可。
在具体实现时,确定模块520,可具体用于:
计算各键值的键值向量的信息熵,该信息熵的值越小,相应键值所对应的数据的有序程度越高;或者,
计算各键值的键值向量的信息增益,该信息增益的值越小,相应键值所对应的数据的有序程度越高。
最优键值选取模块530,可用于根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值;
在实际应用中,确定模块520,可具体用于:针对每一个键值,计算该键值与其他键值所对应的数据的关联程度以及该键值所对应的数据的有序程序的加权值。
基于此,最优键值选取模块530,可具体用于:将加权值最高的键值选取作为最优键值。
重分布处理模块540,可用于根据最优键值所对应的数据对待重分布数据进行重分布处理。
在具体实现时,该装置还可包括:
重分布程序生成模块,用于根据最优键值生成用于对数据进行重分布处理的重分布程序。
基于此,重分布处理模块540,可具体用于:基于重分布程序对待重分布数据进行重分布处理。
就是说,在最优键值选取后,无需如现有技术中的编写重分布程序后再反馈到线上(比如分布式集群上),而是直接在线上自动生成重分布程序以进行数据的重分布处理,以此,可减少网络资源的耗费,提升系统的自动化程度,且可提高数据重分布处理效率。
在数据重分布过程中,为了避免某些处理节点处理的数据过多而产生的数据倾斜现象,在具体实现时,重分布处理模块540,可具体用于:
在最优键值对应的数据内容中,确定出现次数高于预置数量阈值的高频数据内容;
对于包含高频数据内容的待重分布数据,在进行重分布时分散的发送至不同的处理节点。
也就是说,可通过采用非集中分发的分发方式,以使数据更均匀的分发到各处理节点,避免某些处理节点被分发的数据过多而导致的数据倾斜现象。
进一步的,重分布处理模块540,还可用于:
在检测到新增的待重分布数据后,根据最优键值所对应的数据对新增的待重分布数据进行重分布处理。
本实施例提供的数据重分布的处理装置,可在获取待重分布数据的样本数据后,确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度,然后根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值,最后根据所述最优键值所对应的数据对所述待重分布数据进行重分布处理。以此,可通过算法从待重分布数据中选取出用于数据重分布处理的最优键值,并基于该最优键值对待重分布数据进行重分布处理,可保证最优键值的选取效率及准确率,进而提高数据重分布的处理效率及合理性。
实施例三
前面描述了数据重分布的处理装置的内部功能和结构,该装置可实现为一种电子设备,如图6所示,其为本发明实施例提供的电子设备的结构示意图,具体包括:存储器61和处理器62。
存储器61,用于存储程序。
除上述程序之外,存储器61还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器61可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器62,耦合至存储器61,用于执行存储器61中的程序,以用于:
获取待重分布数据的样本数据;
确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度;
根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值;
根据所述最优键值所对应的数据对所述待重分布数据进行重分布处理。
此外,所述处理器,还可具体用于:
在所述最优键值对应的数据内容中,确定出现次数高于预置数量阈值的高频数据内容;
对于包含所述高频数据内容的待重分布数据,在进行重分布时分散的发送至不同的处理节点。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图6所示,电子设备还可以包括:通信组件63、电源组件64、音频组件65、显示器66等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。
通信组件63被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件63经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件63还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件64,为电子设备的各种组件提供电力。电源组件64可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件65被配置为输出和/或输入音频信号。例如,音频组件65包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器61或经由通信组件63发送。在一些实施例中,音频组件65还包括一个扬声器,用于输出音频信号。
显示器66包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (11)
1.一种数据重分布的处理方法,其特征在于,包括:
获取待重分布数据的样本数据;
确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度,包括:对所述样本数据中每个键值所对应的数据内容进行归一化处理,得到每个键值对应的所有编码值;根据每个键值对应的所有编码值,构建每个键值的键值向量;基于各键值的所述键值向量计算每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度;
根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值;
根据所述最优键值所对应的数据对所述待重分布数据进行重分布处理。
2.根据权利要求1所述的方法,其特征在于,所述基于各键值的所述键值向量计算每个键值与其他键值所对应的数据的关联程度,包括:
针对每一个键值,计算该键值与其他键值之间的所述键值向量的余弦距离,并将各余弦距离相加得到第一和值,所述第一和值越大,该键值与其他键值所对应的数据的关联程度越高;或者,
针对每一个键值,计算该键值与其他键值之间的所述键值向量的欧式距离,并将各欧式距离相加得到第二和值,所述第二和值越小,该键值与其他键值所对应的数据的关联程度越高。
3.根据权利要求1所述的方法,其特征在于,所述基于各键值的所述键值向量计算每个键值所对应的数据的有序程度,包括:
计算各键值的所述键值向量的信息熵,所述信息熵的值越小,相应键值所对应的数据的有序程度越高;或者,
计算各键值的所述键值向量的信息增益,所述信息增益的值越小,相应键值所对应的数据的有序程度越高。
4.根据权利要求1所述的方法,其特征在于,所述确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度之后,还包括:
针对每一个键值,计算该键值与其他键值所对应的数据的关联程度以及该键值所对应的数据的有序程序的加权值;
所述根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值,包括:
将加权值最高的键值选取作为所述最优键值。
5.根据权利要求1至4中任一种所述的方法,其特征在于,所述根据所述最优键值所对应的数据对所述待重分布数据进行重分布处理,包括:
在所述最优键值对应的数据内容中,确定出现次数高于预置数量阈值的高频数据内容;
对于包含所述高频数据内容的待重分布数据,在进行重分布时分散的发送至不同的处理节点。
6.根据权利要求1所述的方法,其特征在于,所述根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值之后,还包括:
根据所述最优键值生成用于对数据进行重分布处理的重分布程序;
所述方法还包括:
基于所述重分布程序对待重分布数据进行重分布处理。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到新增的待重分布数据后,根据所述最优键值所对应的数据对所述新增的待重分布数据进行重分布处理。
8.一种数据重分布的处理装置,其特征在于,包括:
数据获取模块,用于获取待重分布数据的样本数据;
确定模块,用于确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度;
最优键值选取模块,用于根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值;
重分布处理模块,用于根据所述最优键值所对应的数据对所述待重分布数据进行重分布处理;
其中,所述确定模块,具体用于:对所述样本数据中每个键值所对应的数据内容进行归一化处理,得到每个键值对应的所有编码值;根据每个键值对应的所有编码值,构建每个键值的键值向量;基于各键值的所述键值向量计算每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度。
9.根据权利要求8所述的装置,其特征在于,所述重分布处理模块,具体用于:
在所述最优键值对应的数据内容中,确定出现次数高于预置数量阈值的高频数据内容;
对于包含所述高频数据内容的待重分布数据,在进行重分布时分散的发送至不同的处理节点。
10.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
获取待重分布数据的样本数据;
确定所述样本数据中每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度,包括:对所述样本数据中每个键值所对应的数据内容进行归一化处理,得到每个键值对应的所有编码值;根据每个键值对应的所有编码值,构建每个键值的键值向量;基于各键值的所述键值向量计算每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度;
根据所述每个键值所对应的数据的有序程度和/或每个键值与其他键值所对应的数据的关联程度选取最优键值;
根据所述最优键值所对应的数据对所述待重分布数据进行重分布处理。
11.根据权利要求10所述的电子设备,其特征在于,所述处理器,具体用于:
在所述最优键值对应的数据内容中,确定出现次数高于预置数量阈值的高频数据内容;
对于包含所述高频数据内容的待重分布数据,在进行重分布时分散的发送至不同的处理节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710708226.0A CN110019499B (zh) | 2017-08-17 | 2017-08-17 | 数据重分布的处理方法和装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710708226.0A CN110019499B (zh) | 2017-08-17 | 2017-08-17 | 数据重分布的处理方法和装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110019499A CN110019499A (zh) | 2019-07-16 |
CN110019499B true CN110019499B (zh) | 2023-07-28 |
Family
ID=67186092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710708226.0A Active CN110019499B (zh) | 2017-08-17 | 2017-08-17 | 数据重分布的处理方法和装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019499B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851409A (zh) * | 2019-11-06 | 2020-02-28 | 南京星环智能科技有限公司 | 一种日志压缩、解压缩方法、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598729A (zh) * | 2016-11-18 | 2017-04-26 | 深圳市证通电子股份有限公司 | 分布式并行计算系统的数据分配方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201210702D0 (en) * | 2012-06-15 | 2012-08-01 | Qatar Foundation | A system and method to store video fingerprints on distributed nodes in cloud systems |
US9547682B2 (en) * | 2012-08-22 | 2017-01-17 | Bitvore Corp. | Enterprise data processing |
US9363282B1 (en) * | 2014-01-28 | 2016-06-07 | Infoblox Inc. | Platforms for implementing an analytics framework for DNS security |
US10795878B2 (en) * | 2015-10-23 | 2020-10-06 | International Business Machines Corporation | System and method for identifying answer key problems in a natural language question and answering system |
-
2017
- 2017-08-17 CN CN201710708226.0A patent/CN110019499B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598729A (zh) * | 2016-11-18 | 2017-04-26 | 深圳市证通电子股份有限公司 | 分布式并行计算系统的数据分配方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于YARN框架下并行化计算的研究;朱敏明;《中国优秀硕士学位论文全文数据库》;20160715;第17页到第24页第4章 * |
Also Published As
Publication number | Publication date |
---|---|
CN110019499A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109492772B (zh) | 生成信息的方法和装置 | |
US9348898B2 (en) | Recommendation system with dual collaborative filter usage matrix | |
CN106649890B (zh) | 数据存储方法和装置 | |
US11907659B2 (en) | Item recall method and system, electronic device and readable storage medium | |
CN109993627B (zh) | 推荐方法、推荐模型的训练方法、装置和存储介质 | |
US20220327105A1 (en) | Negative signals in automated social message stream population | |
CN111898675B (zh) | 信贷风控模型生成方法、装置、评分卡生成方法、机器可读介质及设备 | |
CN110135912B (zh) | 一种信息推送方法、装置、服务器和存储介质 | |
CN110020427B (zh) | 策略确定方法和装置 | |
CN111666304A (zh) | 数据处理装置、数据处理方法、存储介质与电子设备 | |
CN103455555B (zh) | 基于移动终端相似度的推荐方法及推荐装置 | |
CN113190702A (zh) | 用于生成信息的方法和装置 | |
JP2013164704A (ja) | 情報処理装置、情報処理方法およびプログラム | |
WO2021107948A1 (en) | Personalized data model utilizing closed data | |
CN116151235A (zh) | 文章生成方法、文章生成模型训练方法及相关设备 | |
CN109344325B (zh) | 基于智能会议平板的信息的推荐方法和装置 | |
CN110019499B (zh) | 数据重分布的处理方法和装置以及电子设备 | |
CN113190696A (zh) | 一种用户筛选模型的训练、用户推送方法和相关装置 | |
CN117252250A (zh) | 大模型预训练方法及装置 | |
CN113535125A (zh) | 金融需求项生成方法及装置 | |
CN112487276B (zh) | 一种对象获取方法、装置、设备及存储介质 | |
CN114550157A (zh) | 弹幕聚集识别方法以及装置 | |
CN114265948A (zh) | 图像推送方法和装置 | |
CN111784377B (zh) | 用于生成信息的方法和装置 | |
CN118364363B (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 |