基于线程资源的任务处理方法及相关装置制造方法及图纸

技术编号:21627357 阅读:25 留言:0更新日期:2019-07-17 10:36
本发明专利技术实施例公开了一种基于线程资源的任务处理方法,该方法适用于业务过程优化。该方法包括:接收目标任务触发的任务处理请求;基于所述任务处理请求确定所述目标任务的第一任务类型,并根据所述第一任务类型确定第一线程资源信号量;根据所述第一线程资源信号量确定第一子线程池中用于执行所述第一任务类型的任务的空闲线程资源数量;若所述用于执行所述第一任务类型的任务的空闲线程资源数量不为零,则确定所述第一子线程池中用于执行所述目标任务的空闲线程资源,并基于所述空闲线程资源处理所述目标任务。采用本发明专利技术实施例,可提高基于线程资源处理各类型任务的灵活性,提高任务处理效率。

Task Processing Method and Related Devices Based on Thread Resources

【技术实现步骤摘要】
基于线程资源的任务处理方法及相关装置
本专利技术涉及计算机
,尤其涉及一种基于线程资源的任务处理方法及相关装置。
技术介绍
随着计算机应用技术的飞速发展,许多企业每天都会进行大量的任务整合和任务分配处理,因此大量企业的终端设备会采用线程池技术对任务进行处理,利用线程池的多线程并行处理的方式充分利用终端设备资源,提高任务处理效率。然而,每个线程池处理任务的方式相对单一,处理任务的能力也非常有限,当大量任务提交后,线程池也只能以相对固定的处理方式处理任务,灵活性和适用性变得较差。
技术实现思路
本专利技术实施例提供一种基于线程资源的任务处理方法及相关装置,可基于线程资源对线程池内的任务进行灵活处理,丰富了任务处理的方式,提高了企业的任务处理效率,减少任务的等待时间,适用性高。第一方面,本专利技术实施例提供了一种基于线程资源的任务处理方法,该方法包括:接收目标任务触发的任务处理请求;基于上述任务处理请求确定上述目标任务的第一任务类型,并根据上述第一任务类型确定第一线程资源信号量;根据上述第一线程资源信号量确定第一子线程池中用于执行上述第一任务类型的任务的空闲线程资源数量;若上述用于执行上述第一任务类型的任务的空闲线程资源数量不为零,则确定上述第一子线程池中用于执行上述目标任务的空闲线程资源,并基于上述空闲线程资源处理上述目标任务。在本专利技术实施例中,通过确定目标任务的任务类型,以及基于线程资源信号量对目标任务在其访问线程池中的空闲线程资源时根据任务类型确定不同的线程资源对任务进行处理,实现了针对不同类型的任务进行分类处理。各个任务类型对应的线程资源信号量可用于指示线程池中用于处理该任务类型的可用线程资源的情况,从而可快速确定出用于执行任务的线程资源,可提高线程资源的分配灵活性,同时提高了任务处理的效率,灵活性更高,适用性更强。结合第一方面,在一种可能的实施方式中,上述接收目标任务触发的任务处理请求之前,上述方法还包括:将包含多个线程资源的线程池划分为多个子线程池,其中一个子线程池中至少包括一个线程资源,上述多个子线程池中至少包括上述第一子线程池;设定上述多个子线程池中各个子线程池对应的一组线程资源信号量,其中,任一子线程池对应的一组线程资源信号量中的一个线程资源信号量,用于指示上述任一子线程池中用于执行一种任务类型的任务的空闲线程资源数量;其中,上述第一子线程池对应的一组线程资源信号量中至少包括上述第一线程资源信号量。在本专利技术实施例中,通过将现有的线程池划分为多个子线程池以及设定上述多个子线程池中各个子线程池对应的一组线程资源信号量,对线程资源的可处理任务属性进行了详细划分,使得线程池在处理目标任务时更加高效,从而提高了线程池处理目标任务的效率。此外,基于任务类型配置各个线程池中用于执行各类型任务的线程资源的情况,可实现线程资源对各类型任务的倾向,线程资源的分配粒度更细,从而可提高线程资源的有效利用率。结合第一方面,在一种可能的实施方式中,上述基于上述空闲线程资源处理上述目标任务之后,上述方法还包括:修改上述第一线程资源信号量以将上述第一线程资源信号量所指示的上述第一子线程池中用于执行上述第一任务类型的任务的空闲线程资源数量减一。在本专利技术实施例中,通过修改上述第一线程资源信号量以将上述第一线程资源信号量所指示的上述第一子线程池中用于执行上述第一任务类型的任务的空闲线程资源数量减一,可及时调节上述第一线程资源信号量所指示的空闲线程资源数量,避免线程池中出现的任务冲突阻塞或者冗余的情况,也使得目标任务在线程池中能够以最快的速度被处理,提高了处理目标任务的效率。此外,线程资源信号量所指示的空闲线程资源的数量的及时调整,可提高基于线程资源信号量指示可用线程资源的精准性。结合第一方面,在一种可能的实施方式中,上述方法还包括:若上述第一子线程池中用于执行上述第一任务类型的任务的空闲线程资源数量为零,则确定上述第一子线程池中没有用于执行上述目标任务的空闲线程资源;修改上述第一线程资源信号量以增加上述第一线程资源信号量所指示的线程资源数量,并修改上述第一子线程池对应的一组线程资源信号量中除去上述第一线程资源信号量之外的第二线程资源信号量,以减少上述第二线程资源信号量所指示的线程资源数量,其中,上述第二线程资源信号量用于指示上述第一子线程池中用于执行第二任务类型的任务的线程资源数量;根据增加后的上述第一线程资源信号量所指示的空闲线程资源数量从上述第一子线程池中确定出用于执行上述第一任务类型的任务的空闲线程资源,并基于上述空闲线程资源处理上述目标任务。在本专利技术实施例中,在上述第一线程资源信号量所指示的空闲线程资源数量不足时,可根据实际情况实现空闲线程资源的借用,极大避免了因为目标任务数量过多所带来的任务阻塞,也极大减少了目标任务在线程池中等待的时间,进一步提高了任务处理的效率。此外,基于线程资源信号量的配置,可实现各任务类型对应的线程资源的动态分配。结合第一方面,在一种可能的实施方式中,上述确定上述第一子线程池中没有用于执行上述目标任务的空闲线程资源之后,上述方法还包括:将上述目标任务存储至目标缓存队列以等待上述第一子线程池中的空闲线程资源;若上述目标任务存储至上述目标缓存队列的时长大于或者等于预设时长阈值,且上述第一子线程池中用于执行上述第一任务类型的任务的空闲线程资源数量依然为零,则重新修改上述第一线程资源信号量以增加上述第一线程资源信号量所指示的线程资源数量。在本专利技术实施例中,当第一子线程池中没有用于执行目标任务的空闲线程资源之后,可将目标任务存储至目标缓存队列中,基于目标缓存队列可有效缓解目标任务数量较多时不能及时得到处理的情况,提高了任务处理的灵活性,适用性更强。此外,基于任务的排队等待时间来触发线程资源信号量的配置,可减少线程资源信号量的配置误操作率,节省资源消耗。结合第一方面,在一种可能的实施方式中,上述基于上述空闲线程资源处理上述目标任务之后,上述方法还包括:当上述目标任务处理完成时释放上述空闲线程资源,并修改上述第一线程资源信号量以将上述第一线程资源信号量所指示的上述第一子线程池中用于执行上述第一任务类型的任务的空闲线程资源数量加一。在本专利技术实施例中,及时释放空闲线程资源可为后续等待处理的任务在第一时间提供空闲线程资源,减少了目标缓存队列中任务的等待时间,同时也提高了线程池中线程资源的重复利用效率(即有效利用率),全面提高了处理任务的效率。第二方面,本专利技术实施例提供了一种基于线程资源的任务处理装置,该任务处理装置包括:接收单元,用于接收目标任务触发的任务处理请求;确定单元,用于基于上述接收单元接收的上述任务处理请求确定上述目标任务的第一任务类型,并根据上述第一任务类型确定第一线程资源信号量;上述确定单元,还用于根据上述第一线程资源信号量确定第一子线程池中用于执行上述第一任务类型的任务的空闲线程资源数量;执行单元,用于若上述确定单元确定的上述用于执行上述第一任务类型的任务的空闲线程资源数量不为零,则确定上述第一子线程池中用于执行上述目标任务的空闲线程资源,并基于上述空闲线程资源处理上述目标任务。结合第二方面,在一种可能的实施方式中,上述任务处理装置还包括:生成单元,用于将包含多个线程资源的线程池划分为多个子线本文档来自技高网...

【技术保护点】
1.一种基于线程资源的任务处理方法,其特征在于,包括:接收目标任务触发的任务处理请求;基于所述任务处理请求确定所述目标任务的第一任务类型,并根据所述第一任务类型确定第一线程资源信号量;根据所述第一线程资源信号量确定第一子线程池中用于执行所述第一任务类型的任务的空闲线程资源数量;若所述用于执行所述第一任务类型的任务的空闲线程资源数量不为零,则确定所述第一子线程池中用于执行所述目标任务的空闲线程资源,并基于所述空闲线程资源处理所述目标任务。

【技术特征摘要】
1.一种基于线程资源的任务处理方法,其特征在于,包括:接收目标任务触发的任务处理请求;基于所述任务处理请求确定所述目标任务的第一任务类型,并根据所述第一任务类型确定第一线程资源信号量;根据所述第一线程资源信号量确定第一子线程池中用于执行所述第一任务类型的任务的空闲线程资源数量;若所述用于执行所述第一任务类型的任务的空闲线程资源数量不为零,则确定所述第一子线程池中用于执行所述目标任务的空闲线程资源,并基于所述空闲线程资源处理所述目标任务。2.根据权利要求1所述的方法,其特征在于,所述接收目标任务触发的任务处理请求之前,所述方法还包括:将包含多个线程资源的线程池划分为多个子线程池,其中一个子线程池中至少包括一个线程资源,所述多个子线程池中至少包括所述第一子线程池;设定所述多个子线程池中各个子线程池对应的一组线程资源信号量,其中,任一子线程池对应的一组线程资源信号量中的一个线程资源信号量,用于指示所述任一子线程池中用于执行一种任务类型的任务的空闲线程资源数量;其中,所述第一子线程池对应的一组线程资源信号量中至少包括所述第一线程资源信号量。3.根据权利要求1或2所述的方法,其特征在于,所述基于所述空闲线程资源处理所述目标任务之后,所述方法还包括:修改所述第一线程资源信号量以将所述第一线程资源信号量所指示的所述第一子线程池中用于执行所述第一任务类型的任务的空闲线程资源数量减一。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述第一子线程池中用于执行所述第一任务类型的任务的空闲线程资源数量为零,则确定所述第一子线程池中没有用于执行所述目标任务的空闲线程资源;修改所述第一线程资源信号量以增加所述第一线程资源信号量所指示的线程资源数量,并修改所述第一子线程池对应的一组线程资源信号量中除去所述第一线程资源信号量之外的第二线程资源信号量,以减少所述第二线程资源信号量所指示的线程资源数量,其中,所述第二线程资源信号量用于指示所述第一子线程池中用于执行第二任务类型的任务的线程资源数量;根据增加后的所述第一线程资源信号量所指示的空闲线程资源数量从所述第一子线程池中确定出用于执行所述第一任务类型的任务的空闲线程资源,并基于所述空闲线程资源处理所述目标任务。5.根据权利要求4所述的方法,其特征在于,所述确定所述第一子线程...

【专利技术属性】
技术研发人员:柳芊
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:广东,44

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

1