[发明专利]任务处理方法及装置有效
申请号: | 201711288725.5 | 申请日: | 2017-12-07 |
公开(公告)号: | CN108108235B | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 息振兴;沈蕙心;鲁新新 | 申请(专利权)人: | 哈勃智远(北京)科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/52 |
代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 李弘;李翔 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 处理 方法 装置 | ||
本发明公开一种任务处理方法及装置。该任务处理方法,包括:将待处理任务压入任务堆栈;根据任务依赖关系确定与所述待处理任务关联的依赖任务,将所述依赖任务压入任务堆栈;依次执行所述依赖任务和所述待处理任务直到任务堆栈为空。本发明提供的方案,能提高任务的处理效率。
技术领域
本发明涉及计算机技术领域,具体涉及一种任务处理方法及装置。
背景技术
NLP(Natural Language Processing,自然语言处理)是关于计算机与人类(自然语言)交互的计算机科学与语言学一个领域。NLP领域的多个子任务都涉及到各种算法,单独的算法使用起来极为不便,多个子任务间也具有较复杂的相互依赖关系,但对于普通程序员理解清楚这些依赖关系并不容易。
目前相关技术中出现了一些处理NLP任务的方案,这些方案虽然具有简单的算法依赖关系,但是无法处理复杂的网状依赖,并且这种依赖关系是写在代码里,无法调整。
因此,现有相关技术方案处理NLP任务时无法有效利用子任务间的依赖关系,处理效率低。
发明内容
有鉴于此,本发明的目的在于提出一种任务处理方法及装置,能提高任务的处理效率。
根据本发明的一个方面,提供一种任务处理方法,包括:
将待处理任务压入任务堆栈;
根据任务依赖关系确定与所述待处理任务关联的依赖任务,将所述依赖任务压入任务堆栈;
依次执行所述依赖任务和所述待处理任务直到任务堆栈为空。
优选的,所述依次执行所述依赖任务和所述待处理任务直到任务堆栈为空,包括:
在依次执行所述依赖任务时若检测到所述依赖任务包含次依赖任务,将所述次依赖任务压入任务堆栈;
依次执行所述次依赖任务、依赖任务和所述待处理任务直到任务堆栈为空。
优选的,所述将待处理任务压入任务堆栈之前,还包括:
检测历史任务结果中是否包含所述待处理任务的执行结果;
若否,将所述待处理任务压入任务堆栈;
若是,直接返回所述待处理任务的执行结果。
优选的,所述检测历史任务结果中是否包含所述待处理任务的执行结果,包括:
分别在缓存区和数据库中检测历史任务结果中是否包含所述待处理任务的执行结果。
优选的,所述检测历史任务结果中是否包含所述待处理任务的执行结果之前,还包括:
过滤所述待处理任务中的重复数据。
优选的,在执行各任务时,根据各任务中的各个算法的资源占用量和运算速度,为各个算法设置不同数量的进程,
其中资源占用量大和运算速度快的算法所设置的进程数小于资源占用量小和运算速度慢的算法所设置的进程数。
优选的,所述各个算法各自配置单独队列,所述算法所属的多个进程从所述单独队列中获取任务。
根据本发明的另一个方面,提供一种任务处理装置,包括:
第一处理模块,用于将待处理任务压入任务堆栈;
第二处理模块,用于根据任务依赖关系确定与所述待处理任务关联的依赖任务,将所述依赖任务压入任务堆栈;
任务执行模块,用于依次执行所述第二处理模块压入的依赖任务和所述第一处理模块压入的待处理任务直到任务堆栈为空。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈勃智远(北京)科技有限公司,未经哈勃智远(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711288725.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种分布式任务管理方法及系统
- 下一篇:一种用于电力采集终端的高效抄表方法