一种任务处理方法、装置、设备、存储介质及程序产品制造方法及图纸

技术编号:35993077 阅读:11 留言:0更新日期:2022-12-17 23:08
本发明专利技术涉及数据处理技术领域,具体是一种任务处理方法、装置、设备、存储介质及程序产品,所述方法包括:接收向目标线程池提交的待执行任务;获取所述待执行任务对应的至少一个目标属性的属性信息,所述目标属性为自定义的任务属性;基于所述至少一个目标属性的属性信息,从所述目标线程池中确定执行所述待执行任务的目标线程;将所述待执行任务分配至所述目标线程,以使得所述目标线程执行所述待执行任务。本发明专利技术的方法,通过自定义至少一个目标属性,根据待执行任务对应的所述至少一个目标属性的属性信息为所述待执行任务分配处理线程,能够实现多线程任务的有序执行,满足多线程任务按顺序操作的需求。务按顺序操作的需求。务按顺序操作的需求。

【技术实现步骤摘要】
一种任务处理方法、装置、设备、存储介质及程序产品


[0001]本专利技术涉及数据处理
,特别涉及一种任务处理方法、装置、设备、存储介质及程序产品。

技术介绍

[0002]随着计算机应用技术的高速发展,计算机设备大多采用线程池进行任务处理。线程池是一种池化技术,能充分发挥多核中央处理器(Central Processing Unit,CPU)的性能,通过线程池中多线程并行处理的方式充分利用计算机设备资源,来提高任务处理效率,提高线程的可管理性等。常用于需要快速响应用户请求或者快速处理批量任务等业务场景下。
[0003]当前,对于单线程任务的执行,可以保证执行的顺序按照任务的写入顺序。但是,当通过多线程去执行多个任务时,由于每一个时刻CPU只能执行一项任务,而操作系统分配给每个线程的执行时间可能不一致,因此就不能保证最终执行任务的顺序与任务写入的顺序一致。
[0004]例如,假设创建一个包含4个线程的线程池,操作系统不断地向4个线程随机地分配任务。当多个任务具有一定的执行顺序时,由于操作系统可能是随机将所述多个任务分配到线程池中的4个线程的,并且操作系统分配给每个线程的执行时间可能不一致,因此在最终执行任务时无法保证所述多个任务的执行顺序,从而可能会出现后写入(需要后执行)的任务先于先写入(需要先执行)的任务执行的情况,导致任务执行失败或者出现不同的操作结果,无法满足多线程任务按顺序操作的需求。

技术实现思路

[0005]针对现有技术的上述问题,本专利技术的目的在于提供一种任务处理方法、装置、设备、存储介质及程序产品,能够实现多线程任务的有序执行。
[0006]为了解决上述问题,本专利技术提供一种任务处理方法,包括:
[0007]接收向目标线程池提交的待执行任务;
[0008]获取所述待执行任务对应的至少一个目标属性的属性信息,所述目标属性为自定义的任务属性;
[0009]基于所述至少一个目标属性的属性信息,从所述目标线程池中确定执行所述待执行任务的目标线程;
[0010]将所述待执行任务分配至所述目标线程,以使得所述目标线程执行所述待执行任务。
[0011]进一步地,所述方法还包括:
[0012]确定当前的任务配置策略,所述任务配置策略为自定义的任务配置策略;
[0013]对所述任务配置策略进行分析,确定所述任务配置策略对应的至少一个任务属性,作为目标属性。
[0014]进一步地,所述方法还包括:
[0015]分别判断所述至少一个目标属性中的各个目标属性的属性信息是否满足对应的预设属性条件;
[0016]当所述至少一个目标属性中的所有目标属性的属性信息均满足对应的预设属性条件时,执行基于所述至少一个目标属性的属性信息,从所述目标线程池中确定执行所述待执行任务的目标线程的步骤。
[0017]进一步地,所述方法还包括:
[0018]当所述至少一个目标属性中的任意一个目标属性的属性信息不满足对应的预设属性条件时,利用预设线程分配策略从所述目标线程池中为所述待执行任务分配一个线程,作为目标线程;
[0019]将所述待执行任务分配至所述目标线程,以使得所述目标线程执行所述待执行任务。
[0020]进一步地,所述基于所述至少一个目标属性的属性信息,从所述目标线程池中确定执行所述待执行任务的目标线程包括:
[0021]对所述至少一个目标属性的属性信息进行哈希运算,得到对应的哈希值;
[0022]确定所述目标线程池中的线程数量;
[0023]对所述哈希值以所述线程数量为模数进行取模运算,得到取模值;
[0024]从所述目标线程池中确定与所述取模值对应的线程,作为执行所述待执行任务的目标线程。
[0025]进一步地,所述目标属性包括设备标识、设备类型、网点标识、网点类型、任务标识或任务类型。
[0026]本专利技术另一方面提供一种任务处理装置,包括:
[0027]任务接收模块,用于接收向目标线程池提交的待执行任务;
[0028]属性获取模块,用于获取所述待执行任务对应的至少一个目标属性的属性信息,所述目标属性为自定义的任务属性;
[0029]线程确定模块,用于基于所述至少一个目标属性的属性信息,从所述目标线程池中确定执行所述待执行任务的目标线程;
[0030]任务分配模块,用于将所述待执行任务分配至所述目标线程,以使得所述目标线程执行所述待执行任务。
[0031]本专利技术另一方面提供一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的任务处理方法。
[0032]本专利技术另一方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的任务处理方法。
[0033]本专利技术另一方面提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述的任务处理方法的步骤。
[0034]由于上述技术方案,本专利技术具有以下有益效果:
[0035]根据本专利技术实施例的任务处理方法,通过自定义至少一个目标属性,根据待执行
任务对应的所述至少一个目标属性的属性信息,确定执行所述待执行任务的目标线程,达到具有相同属性的任务保证同一个线程执行的目的,能够实现在线程池中,具有相同属性的多线程任务的有序执行,从而满足多线程任务按顺序操作的需求,保证任务的正常执行。并且,所述目标属性还可以根据实际的业务需求进行实时地调整,以更好地适应用户的实际需求。
附图说明
[0036]为了更清楚地说明本专利技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0037]图1是本专利技术一个实施例提供的实施环境示意图;
[0038]图2是本专利技术一个实施例提供的任务处理方法的流程图;
[0039]图3是本专利技术另一个实施例提供的任务处理方法的流程图;
[0040]图4是本专利技术一个实施例提供的线程分配示意图;
[0041]图5是本专利技术一个实施例提供的任务处理装置的结构示意图;
[0042]图6是本专利技术一个实施例提供的电子设备的结构示意图。
具体实施方式
[0043]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0044]需要说明的是,本专利技术的说明书本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务处理方法,其特征在于,包括:接收向目标线程池提交的待执行任务;获取所述待执行任务对应的至少一个目标属性的属性信息,所述目标属性为自定义的任务属性;基于所述至少一个目标属性的属性信息,从所述目标线程池中确定执行所述待执行任务的目标线程;将所述待执行任务分配至所述目标线程,以使得所述目标线程执行所述待执行任务。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定当前的任务配置策略,所述任务配置策略为自定义的任务配置策略;对所述任务配置策略进行分析,确定所述任务配置策略对应的至少一个任务属性,作为目标属性。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:分别判断所述至少一个目标属性中的各个目标属性的属性信息是否满足对应的预设属性条件;当所述至少一个目标属性中的所有目标属性的属性信息均满足对应的预设属性条件时,执行基于所述至少一个目标属性的属性信息,从所述目标线程池中确定执行所述待执行任务的目标线程的步骤。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当所述至少一个目标属性中的任意一个目标属性的属性信息不满足对应的预设属性条件时,利用预设线程分配策略从所述目标线程池中为所述待执行任务分配一个线程,作为目标线程;将所述待执行任务分配至所述目标线程,以使得所述目标线程执行所述待执行任务。5.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个目标属性的属性信息,从所述目标线程池中确定执行所述待执行任务的目标线程包括:对所述至少一个目标属性的属性信息进行哈希运算,得到对应的哈希值;确定...

【专利技术属性】
技术研发人员:冯波殷源柏杨
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

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

1