The invention is suitable for the technical field of data processing, and provides a data processing method and device. The method comprises: acquiring data to be processed, the data to be processed into the pre processed data; receiving predetermined instructions, according to predetermined rules of the data to be processed separately, multiple pieces of data; the plurality of pieces of data for multithreading among them, each piece of data corresponding to at least one thread. By slicing the data and adopting multithreading to process the data after slicing, the invention can effectively improve the efficiency of data processing and the utilization ratio of hardware resources.
【技术实现步骤摘要】
数据处理的方法及装置
本专利技术属于数据处理
,尤其涉及数据处理的方法及装置。
技术介绍
现有对大数据的处理,通常采用的是单线程逐条数据处理的方式,存在如下缺点:(1)随着数据量的增加,处理时间也增长,处理效率较低;(2)单线程处理方式,没有充分利用硬件资源。故,有必要提出一种新的技术方案,以解决上述技术问题。
技术实现思路
鉴于此,本专利技术提供一种数据处理的方法及装置,以解决现有单线程数据处理耗时较长、硬件资源利用率低的问题。第一方面,本专利技术提供了一种数据处理的方法,所述方法包括:获取待处理的数据,所述待处理的数据为预处理后的数据;在接收到预定指令时,按预设规则对所述待处理的数据进行分片,获得多个分片数据;对所述多个分片数据进行多线程处理,其中每个分片数据对应至少一个线程。第二方面,本专利技术提供了一种数据处理的装置,所述装置包括:数据获取模块,用于获取待处理的数据,所述待处理的数据为预处理后的数据;数据分片模块,用于在接收到预定指令时,按预设规则对所述待处理的数据进行分片,获得多个分片数据;数据处理模块,用于对所述多个分片数据进行多线程处理,其中每个分 ...
【技术保护点】
一种数据处理的方法,其特征在于,所述方法包括:获取待处理的数据,所述待处理的数据为预处理后的数据;在接收到预定指令时,按预设规则对所述待处理的数据进行分片,获得多个分片数据;对所述多个分片数据进行多线程处理,其中每个分片数据对应至少一个线程。
【技术特征摘要】
1.一种数据处理的方法,其特征在于,所述方法包括:获取待处理的数据,所述待处理的数据为预处理后的数据;在接收到预定指令时,按预设规则对所述待处理的数据进行分片,获得多个分片数据;对所述多个分片数据进行多线程处理,其中每个分片数据对应至少一个线程。2.如权利要求1所述的方法,其特征在于,所述按预设规则对所述待处理的数据进行分片包括:记录上一次待处理的数据的数据量X以及上一次分片数据的数量Q;获取当前待处理的数据的数据量Y;根据所述X、Q、Y,计算获得P=INT(X*Q/Y);根据所述P对所述当前待处理的数据进行分片,获得P个分片数据。3.如权利要求1所述的方法,其特征在于,在按预设规则对所述待处理的数据进行分片,获得多个分片数据之后,还包括:构建多个线程,其中所述线程的数量大于或等于所述分片数据的数量。4.如权利要求1所述的方法,其特征在于,对所述多个分片数据进行多线程处理包括:判断每个分片数据的数据量是否相同,若是,则针对每个分片数据随机分配至少一个线程进行处理;若否,则根据每个分片数据的数据量大小依次选择处理性能最优的线程进行处理。5.如权利要求1至4任一项所述的方法,其特征在于,所述对所述多个分片数据进行多线程处理还包括:当某线程的数据处理速度小于第一预设值和/或处理时间大于第二预设值时,对该线程未处理的数据按照已处理完的线程的数量或者未处理数据小于第三预设值的线程的数量进行再次分片,并将再次分片后的数据转发给已处理完的线程或者未处理数据小于第三预设值的线程处理;其中,每个线程对应一个再次分片的数据。6.如权利要求1至4任一项所述的方法,其特征在于,所述对所述多个分片数据进行多线程处理还包括:当存在某一个数据处理失败的线程时,先检测该线程未处理的数据是否大于第四预设值,若是,创建新的线程,将该线程未处理的数据转发给所述新的线程处理,并对所述数据处理失败的线程进行标记或结束该线程;若否,检测最后一个分片数据最初所划分的数据和/或最后一个分片数据当前未处理的数据是否为最少,若为最少,则将该线程未处理的数据转发给最后一个分片数据对应的线程处理;当存在N个数据处理失败的线程时,将其中一个未处理数据最少的线程对应的未处理数据转发给最后一个分片数据对应的线程处理,并针对剩余的N-1个数据处理失败的线程,创建至少N-1个新的线程,将所述数据处理失败的线程未处理的数据转发给新的线程处理,其中每一个数据处理失败的线程未处理的数据对应至少一个新的线程,其中N为...
【专利技术属性】
技术研发人员:周毅,王广博,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。