一种任务处理方法及服务器技术

技术编号:13332808 阅读:43 留言:0更新日期:2016-07-12 02:15
本发明专利技术公开一种任务处理方法,所述方法应用于任务处理服务器,所述方法包括:当所述任务处理服务器中的任一线程的当前任务完成后,所述线程对预设的任务队列进行扫描,所述任务队列用于存储待执行任务;当所述任务队列中存在待执行任务时,所述线程从所述任务队列中取出一待执行任务进行处理。本发明专利技术的线程不会在当前任务处理完成后立刻释放,而是在当前任务处理完成后,主动地访问任务列表,从任务列表取出新的任务进行新一轮的任务处理。本发明专利技术能够减少线程释放、开启的次数,从而提高任务的处理效率。

【技术实现步骤摘要】

本专利技术涉及数据处理领域,具体涉及一种任务处理方法及服务器
技术介绍
随着大数据分析的兴起,各个信息系统中产生了大量的业务数据。随着系统中数据量的成倍增长,大量的数据查询、数据统计等任务需要处理。海量的任务无疑会对处理任务的服务器造成巨大压力,现有的任务处理方法中,服务器被动接收分配的任务后,开启新的线程对该任务进行处理,在该任务处理完成后释放该线程,等待下一次任务的分配。可见,现有的任务处理方法中,服务器忙于线程的启停切换,耗费了大量资源,这无疑也将大大降低任务的处理效率。
技术实现思路
有鉴于此,本专利技术提供了一种任务处理方法及服务器,能够减少资源浪费,提高任务的处理效率。本专利技术提供了一种任务处理方法,所述方法应用于任务处理服务器,所述方法包括:当所述任务处理服务器中的任一线程的当前任务完成后,所述线程对预设的任务队列进行扫描,所述任务队列用于存储待执行任务;当所述任务队列中存在待执行任务时,所述线程从所述任务队列中取出一待执行任务进行处理。优选地,所述方法还包括:当所述任务队列中不存在待执行任务时,所述线程被释放。优选地,所述任务处理服务器具有一个轮循线程,所述方法还包括:所述轮循线程以预设周期的频率,判断所述任务处理服务器的当前活跃线程数是否小于预设的线程数,以及对所述任务队列进行扫描;如果所述任务处理服务器的当前活跃线程数是否小于预设的线程数,且所<br>述任务队列中存在待执行任务,则开启一个新的线程。优选地,所述方法还包括:所述轮循线程以预设周期的频率,判断所述任务处理服务器中当前活跃线程是否存在预设的异常情况;并将存在所述异常情况的当前活跃线程释放。优选地,所述轮循线程以预设周期的频率,判断所述任务处理服务器中当前活跃线程是否存在预设的异常情况;并将存在所述异常情况的当前活跃线程释放,包括:所述轮循线程以预设周期的频率,获取所述任务处理服务器中当前活跃线程的持续活跃时间;将持续活跃时间超过预设阈值的当前活跃线程释放。本专利技术还提供了一种任务处理服务器,所述服务器包括任务处理单元,所述任务处理单元包括:第一扫描子单元,用于在当前任务完成后,对预设的任务队列进行扫描,所述任务队列用于存储待执行任务;处理子单元,用于当所述任务队列中存在待执行任务时,从所述任务队列中取出一待执行任务进行处理。优选地,所述任务处理单元还包括:第一释放子单元,用于当所述任务队列中不存在待执行任务时,将自身释放。优选地,所述服务器还包括轮循单元,所述轮循单元包括:第一判断子单元,用于以预设周期的频率,判断所述任务处理服务器的当前活跃线程数是否小于预设的线程数;第二扫描子单元,用于对所述任务队列进行扫描;开启子单元,用于在所述判断子单元的结果为是,且所述第二扫描子单元的扫描结果为所述任务队列中存在待执行任务时,开启一个新的线程。优选地,所述轮循单元还包括:第二判断子单元,用于以预设周期的频率,判断所述任务处理服务器中当前活跃线程是否存在预设的异常情况;第二释放子单元,用于将存在所述异常情况的当前活跃线程释放。优选地,所述第二判断子单元,具体用于以预设周期的频率,获取所述任务处理服务器中当前活跃线程的持续活跃时间;所述第二释放子单元,具体用于将持续活跃时间超过预设阈值的当前活跃线程释放。本专利技术提供的任务处理方法中,所述方法应用于任务处理服务器,当所述任务处理服务器中的任一线程的当前任务完成后,所述线程对预设的任务队列进行扫描,所述任务队列用于存储待执行任务;当所述任务队列中存在待执行任务时,所述线程从所述任务队列中取出一待执行任务进行处理。本专利技术的线程不会在当前任务处理完成后立刻释放,而是在当前任务处理完成后,主动地访问任务列表,从任务列表取出新的任务进行新一轮的任务处理。本专利技术能够减少线程释放、开启的次数,从而提高任务的处理效率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供了一种任务处理方法流程图;图2为本专利技术实施例提供了一种用于任务处理的负载均衡集群的架构图;图3为本专利技术实施例提供了一种任务处理服务器的结构示意图;图4为本专利技术实施例提供了另一种任务处理服务器的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。以下进行实施例具体内容的介绍。本专利技术实施例提供了一种任务处理方法,所述方法应用于任务处理服务器。参考图1,为本专利技术实施例提供的任务处理方法流程图,所述方法包括:S101:当所述任务处理服务器中的任一线程的当前任务完成后,所述线程对预设的任务队列进行扫描,所述任务队列用于存储待执行任务。S102:当所述任务队列中存在待执行任务时,所述线程从所述任务队列中取出一待执行任务进行处理。本专利技术实施例中,任务处理服务器利用多线程并行处理任务。当所述任务处理服务器中的任意一个线程完成当前任务的处理后,所述线程不会立刻释放,而是执行回调操作,即所述线程对任务队列进行扫描,以获知所述任务队列中是否存在待执行任务,如果所述任务队列中存在待执行任务,则所述线程从所述任务队列中取出一个待执行任务进行新一轮的处理。本专利技术实施例提供的任务处理方法中,任务处理服务器中的线程不会在当前任务处理完成后立刻释放,而是在当前任务处理完成后,主动地访问任务列表,从任务列表取出新的任务进行新一轮的任务处理。本专利技术实施例的这种回调的处理方式,能够减少线程释放、开启的次数,换个角度理解,本专利技术实施例能够提高任务的处理效率。本专利技术实施例中,当所述线程在对业务队列进行扫描后,确定所述业务队列中不存在待执行任务时,将该线程释放,以节约资源。本专利技术实施例提供的任务处理方法中,所述任务处理服务器具有一个轮循线程。在所述任务处理服务器的线程执行业务处理时,所述轮循线程以预设周期的频率,判断所述任务处理服务器的当前活跃线程数是否小本文档来自技高网...

【技术保护点】
一种任务处理方法,其特征在于,所述方法应用于任务处理服务器,所述方法包括:当所述任务处理服务器中的任一线程的当前任务完成后,所述线程对预设的任务队列进行扫描,所述任务队列用于存储待执行任务;当所述任务队列中存在待执行任务时,所述线程从所述任务队列中取出一待执行任务进行处理。

【技术特征摘要】
1.一种任务处理方法,其特征在于,所述方法应用于任务处理服务器,
所述方法包括:
当所述任务处理服务器中的任一线程的当前任务完成后,所述线程对预设
的任务队列进行扫描,所述任务队列用于存储待执行任务;
当所述任务队列中存在待执行任务时,所述线程从所述任务队列中取出一
待执行任务进行处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述任务队列中不存在待执行任务时,所述线程被释放。
3.根据权利要求1所述的方法,其特征在于,所述任务处理服务器具有
一个轮循线程,所述方法还包括:
所述轮循线程以预设周期的频率,判断所述任务处理服务器的当前活跃线
程数是否小于预设的线程数,以及对所述任务队列进行扫描;
如果所述任务处理服务器的当前活跃线程数小于预设的线程数,且所述任
务队列中存在待执行任务,则开启一个新的线程。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述轮循线程以预设周期的频率,判断所述任务处理服务器中当前活跃线
程是否存在预设的异常情况;并将存在所述异常情况的当前活跃线程释放。
5.根据权利要求4所述的方法,其特征在于,所述轮循线程以预设周期
的频率,判断所述任务处理服务器中当前活跃线程是否存在预设的异常情况;
并将存在所述异常情况的当前活跃线程释放,包括:
所述轮循线程以预设周期的频率,获取所述任务处理服务器中当前活跃线
程的持续活跃时间;
将持续活跃时间超过预设阈值的当前活跃线程释放。
6.一种任务...

【专利技术属性】
技术研发人员:李晓轩杨声钢和宏涛薛飞
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:北京;11

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

1