[发明专利]一种任务执行方法和装置有效
申请号: | 201410832194.1 | 申请日: | 2014-12-27 |
公开(公告)号: | CN104572262B | 公开(公告)日: | 2018-09-04 |
发明(设计)人: | 陈宗志;王超;陈营;李明昊;宋昭 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 刘祥景 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 执行 方法 装置 | ||
1.一种任务执行方法,包括:
将任务分解为多个子任务;
将所述多个子任务及其对应任务信息写入缓冲区;其中,所述缓冲区包括:内存缓冲区和/或持久缓冲区,并且所述缓冲区包括写指针和读指针,所述写指针可用于将所述多个子任务及其对应任务信息写入缓冲区,所述读指针可用于从所述缓冲区读取子任务及其对应任务信息,在将所述多个子任务及其对应任务信息写入缓冲区之前,可以对写指针和读指针进行比较,如果写指针所指向的位置超出了读指针所指向的位置,则将所述多个子任务及其对应任务信息写入其它缓冲区,若写指针所指向的位置未超出读指针所指向的位置,则将所述多个子任务及其对应任务信息循环写入所述缓冲区;
以及利用多线程依据所述子任务对应任务信息执行所述缓冲区中子任务。
2.如权利要求1所述的方法,其特征在于,所述利用多线程依据所述子任务对应数据执行所述缓冲区中子任务的步骤,包括:
各线程在处于空闲状态时,扫描所述缓冲区;以及
在扫描到新的子任务时,从所述缓冲区中读取并执行所述新的子任务。
3.如权利要求1所述的方法,其特征在于,所述任务信息包括:任务标识;
则所述利用多线程依据所述子任务对应数据执行所述缓冲区中子任务的步骤,包括:
各线程扫描所述缓冲区;
在扫描到新的子任务时,各线程判断所述新的子任务的任务标识与自身是否匹配;以及
在所述新的子任务的任务标识与自身的线程标识匹配时,从所述缓冲区中读取并执行所述新的子任务。
4.如权利要求1所述的方法,其特征在于,所述任务信息包括:任务标识;
则所述将所述多个子任务及其对应任务信息写入缓冲区的步骤,包括:
将每个子任务写入与其对应任务标识相匹配的线程对应子缓冲区;
则所述利用多线程依据所述子任务对应数据执行所述缓冲区中子任务的步骤,包括:
各线程从对应子缓冲区中读取子任务及其对应任务信息,并依据所述子任务对应数据执行所述子任务。
5.如权利要求3或4所述的方法,其特征在于,所述子任务的任务标识与所述线程匹配包括:所述子任务的任务标识对于多线程数目的取模结果等于所述线程的线程标识。
6.如权利要求1或2或3或4所述的方法,其特征在于,所述将所述多个子任务及其对应任务信息写入缓冲区的步骤,包括:
将所述多个子任务及其对应任务信息循环写入所述缓冲区。
7.如权利要求1所述的方法,其特征在于,所述缓冲区为持久缓冲区,所述持久缓存区包括单位块;
则所述方法还包括:
将所述多个子任务及其对应任务信息写入所述持久缓存区中单位块后,针对所述单位块中内容生成相应的第一校验参数;
在从所述单位块中读取所述子任务及其对应任务信息后,针对所读取的任务生成相应的第二校验参数;
判断所述第二校验参数与所述第一校验参数是否一致;
在所述第二校验参数与所述第一校验参数一致时,执行所读取的任务;以及
在所述第二校验参数与所述第一校验参数不一致时,丢弃所读取的任务。
8.如权利要求1或2或3或4所述的方法,其特征在于,所述任务信息包括:任务数据帧,其中,所述任务数据帧为子包对应的封装帧,所述子包为依据数据包分解得到,所述任务数据帧包括:子包在数据包中的编号、子包数据和数据包结束标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410832194.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:控制应用运行的方法和移动终端设备
- 下一篇:虚拟机动态保存快照的方法