[发明专利]任务处理方法和装置有效
申请号: | 201010299851.2 | 申请日: | 2010-09-29 |
公开(公告)号: | CN101963922A | 公开(公告)日: | 2011-02-02 |
发明(设计)人: | 王昊沙 | 申请(专利权)人: | 用友软件股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/52 |
代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
地址: | 100094 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 处理 方法 装置 | ||
1.一种任务处理方法,其特征在于,包括:
步骤102,接收输入的任务;
步骤104,判断所述任务是否具有同步属性,在所述任务具有同步属性时,进入步骤106,在所述任务不具有同步属性时,进入步骤110;
所述步骤106,根据所述任务的同步属性,在当前执行任务中查找所述任务对应的排他任务;
步骤108,在当前执行任务中存在所述任务对应的排他任务时,不执行所述任务,直至所述当前执行任务中不存在所述任务对应的排他任务,
所述步骤110,执行所述任务。
2.根据权利要求1所述的任务处理方法,其特征在于,所述步骤108中,在当前执行任务中存在所述任务对应的排他任务时,根据所述任务的同步属性,将所述任务分配至对应的排他队列,在所述当前执行任务中不存在所述任务对应的排他任务时,从所述任务对应的排他队列里取出所述任务,以待执行。
3.根据权利要求2所述的任务处理方法,其特征在于,排他队列中的所有任务均具有优先级,从所述排他队列中取出任务时,先取出优先级最高的任务。
4.根据权利要求2所述的任务处理方法,其特征在于,在所述步骤110中,所述任务通过线程池提供的线程执行。
5.根据权利要求4所述的任务处理方法,其特征在于,在所述步骤110中,所述当前执行任务占用所述线程池的所有线程时,使所述任务进入等待状态,直至所述线程池中存在空余线程,使用所述空余线程执行所述任务。
6.根据权利要求5所述的任务处理方法,其特征在于,处于所述等待状态的所有任务均具有优先级,在所述线程池里仅出现一个空余线程时,将所述一个空余线程用于执行优先级最高的任务。
7.根据权利要求2至6中任一项所述的任务处理方法,其特征在于,所述步骤108中,所述任务具有多个同步属性,以及在当前执行任务中存在对应任务的不同同步属性的多个排他任务,根据所述不同同步属性的优先程度,将所述任务分配至优先程度最高的同步属性对应的排他队列,
排他队列包括:
全局排他队列,所述全局排他队列中的任务只能单独执行;
类别排他队列,所述类别排他队列中的任务不能与所述类别排他队列对应类型的任务同时执行。
8.一种任务处理装置,其特征在于,包括:
调度模块,判断输入的任务是否具有同步属性,在所述任务具有同步属性时,将所述任务提交至同步控制模块,在所述任务不具有同步属性时,将所述任务提交至任务执行模块;
所述同步控制模块,根据所述任务的同步属性,在当前执行任务中查找所述任务对应的排他任务,并在所述当前执行任务中不存在所述任务对应的排他任务时,将所述任务通过所述调度模块提交至所述任务执行模块;
所述任务执行模块,执行所述任务。
9.根据权利要求8所述的任务处理装置,其特征在于,还包括:
同步队列模块,提供排他队列,所述同步控制模块在当前执行任务中存在所述任务对应的排他任务时,根据所述任务的同步属性,通过所述同步队列模块将所述任务分配至对应的排他队列,在所述当前执行任务中不存在所述任务对应的排他任务时,通过所述同步队列模块从所述任务对应的排他队列里取出所述任务,由所述调度模块将所述任务提交至所述任务执行模块,以待执行。
10.根据权利要求9所述的任务处理装置,其特征在于,所述同步队列模块还供用户制定不同类型的排他队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友软件股份有限公司,未经用友软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010299851.2/1.html,转载请声明来源钻瓜专利网。