数据处理方法及装置与流程

文档序号:12120206阅读:来源:国知局

技术特征:

1.一种数据处理方法,其特征在于,所述方法包括:

接收待处理的数据;

根据所述待处理的数据在单一线程池中创建分配线程,所述单一线程池中最多有一个处于运行状态的所述分配线程,每个所述分配线程与第一数量n1的数据对应;

通过所述处于运行状态的所述分配线程在最大运行线程池中创建m1个处理线程,所述分配线程对应的第一数量n1的数据均匀分配给创建的m1个所述处理线程进行处理;

在所述最大运行线程池中通过处于运行状态的所述处理线程对所述数据进行处理,所述最大运行线程池中最多有m2个处于运行状态的所述处理线程。

2.根据权利要求1所述的方法,其特征在于,所述根据所述待处理的数据在单一线程池中创建分配线程,包括:

将所述待处理的数据按照第一数量n1个数据为一组进行拆分,得到至少一组数据;

在所述单一线程池中创建与每一组数据对应的所述分配线程。

3.根据权利要求1所述的方法,其特征在于,所述通过所述处于运行状态的所述分配线程在最大运行线程池中创建m1个处理线程之后,还包括:

将所述单一线程池中处于排队状态且创建时间最早的一个分配线程切换为所述运行状态。

4.根据权利要求1至3任一所述的方法,其特征在于,所述通过所述处于运行状态的所述分配线程在最大运行线程池中创建m1个处理线程之后,还包括:

检测所述最大运行线程中处于运行状态的所述处理线程的个数m3与m2之间的关系;

若m3=m2,则将m1个所述处理线程设置为排队状态;

若m2-m1<m3<m2,则将m1个所述处理线程中创建时间较早的m2-m3个所述处理线程设置为运行状态,将m1个所述处理线程中的剩余的m1-(m2-m3)个所述处理线程设置为排队状态;

若m3≤m2-m1,则将m1个所述处理线程设置为运行状态。

5.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:

检测所述最大运行线程中处于排队状态的所述处理线程的个数m4是否达到预定阈值m5;

若处于排队状态的所述处理线程的个数m4达到预定阈值m5,则暂停所述单一线程池中的处于运行状态的所述分配线程。

6.一种数据处理装置,其特征在于,所述装置包括:

接收模块,用于接收待处理的数据;

第一创建模块,用于根据所述待处理的数据在单一线程池中创建分配线程,所述单一线程池中最多有一个处于运行状态的所述分配线程,每个所述分配线程与第一数量n1的数据对应;

第二创建模块,用于通过所述处于运行状态的所述分配线程在最大运行线程池中创建m1个处理线程,所述分配线程对应的第一数量n1的数据均匀分配给创建的m1个所述处理线程进行处理;

处理模块,用于在所述最大运行线程池中通过处于运行状态的所述处理线程对所述数据进行处理,所述最大运行线程池中最多有m2个处于运行状态的所述处理线程。

7.根据权利要求6所述的装置,其特征在于,所述第一创建模块,包括:

拆分单元和创建单元;

所述拆分单元,用于将所述待处理的数据按照第一数量n1个数据为一组进行拆分,得到至少一组数据;

所述创建单元,用于在所述单一线程池中创建与每一组数据对应的所述分配线程。

8.根据权利要求6所述的装置,其特征在于,所述装置,还包括:

切换模块,用于将所述单一线程池中处于排队状态且创建时间最早的一个分配线程切换为所述运行状态。

9.根据权利要求6至8任一所述的装置,其特征在于,所述装置,还包括:

第一检测模块、第一设置模块、第二设置模块和第三设置模块;

所述第一检测模块,用于检测所述最大运行线程中处于运行状态的所述处理线程的个数m3与m2之间的关系;

所述第一设置模块,用于若m3=m2,则将m1个所述处理线程设置为排队状态;

所述第二设置模块,用于若m2-m1<m3<m2,则将m1个所述处理线程中创建时间较早的m2-m3个所述处理线程设置为运行状态,将m1个所述处理线程中的剩余的m1-(m2-m3)个所述处理线程设置为排队状态;

所述第三设置模块,用于若m3≤m2-m1,则将m1个所述处理线程设置为运行状态。

10.根据权利要求6至8任一所述的装置,其特征在于,所述装置,还包括:

第二检测模块和暂停模块;

所述第二检测模块,用于检测所述最大运行线程中处于排队状态的所述处理线程的个数m4是否达到预定阈值m5;

所述暂停模块,用于若处于排队状态的所述处理线程的个数m4达到预定阈值m5,则暂停所述单一线程池中的处于运行状态的所述分配线程。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1