[发明专利]任务管线执行方法、装置及电子设备有效
申请号: | 202010401618.4 | 申请日: | 2020-05-13 |
公开(公告)号: | CN111625326B | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 白戈;王长虎 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/4401;G06F9/445;G06F9/455 |
代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 车英慧 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 管线 执行 方法 装置 电子设备 | ||
1.一种任务管线执行方法,其特征在于,包括:
在任务容器中设置与主进程隔离设置的多个子进程,每个子进程用于执行一个管线任务;
在获取到主进程相关的待执行任务之后,从所述多个子进程中选择一个目标子进程,所述目标子进程用于运行所述待执行任务;
在所述目标子进程中的待执行任务执行完成之后,按照预设的策略执行与所述目标子进程相关的关联子进程中的任务;
在所述容器中所有的子进程中的任务执行完毕之后,释放所述所有的子进程在执行任务的过程中所占用的系统资源;
其中,在所述按照预设的策略执行与所述目标子进程相关的关联子进程中的任务之前,所述方法还包括:
在所述目标子进程中预先加载所述关联子进程所对应的程序模块;
将加载后的程序模块与所述关联子进程进行绑定处理。
2.根据权利要求1所述的方法,其特征在于,所述在任务容器中设置与主进程隔离设置的多个子进程之前,所述方法包括:
在唤醒主进程唤醒之后,判断是否存在容器配置文件;
若存在,则进一步基于所述容器系统配置文件,判断所述任务容器是否存在;
若不存在,则主进程创建容器设立子进程,利用所述容器设立子进程创建所述任务容器;
若存在,则主进程将包装好的启动消息发送给任务启动子进程,任务启动子进程解包发送过来的消息,得到启动容器消息实体,开始启动所述任务容器。
3.根据权利要求1所述的方法,其特征在于,所述在任务容器中设置与主进程隔离设置的多个子进程,包括:
设置所述任务容器的内核资源隔离参数,更新配置文件;
根据更新后的配置文件开启资源隔离机制,设置父子进程隔离属性;
创建任务容器子进程,所述子进程用于任务进程实体加载到子进程中。
4.根据权利要求1所述的方法,其特征在于,所述在获取到主进程相关的待执行任务之后,从所述多个子进程中选择一个目标子进程,包括:
获取所述主进程需要执行的任务列表;
确定所述任务列表中每个任务的执行顺序;
基于所述执行顺序,将确定所述多个子进程的执行顺序;
基于所述子进程的执行顺序,确定与当前任务匹配的目标子进程。
5.根据权利要求1所述的方法,其特征在于,所述在获取到主进程相关的待执行任务之后,从所述多个子进程中选择一个目标子进程,包括:
获取当前待执行任务的任务ID;
从所述多个子进程中选择与所述任务ID相匹配的子进程作为所述目标子进程。
6.根据权利要求1所述的方法,其特征在于,所述按照预设的策略执行与所述目标子进程相关的关联子进程中的任务,包括:
对所述目标子进程的执行状态进行监控;
判断是否存在所述目标子进程的任务完成标志;
若存在,则进一步启动并执行所述关联子进程中的预先加载的程序模块。
7.根据权利要求1所述的方法,其特征在于,所述释放所述所有的子进程在执行任务的过程中所占用的系统资源,包括:
获取所有子进程在执行任务过程中所占用的内存地址空间;
对所述内存地址空间中的数据执行释放操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010401618.4/1.html,转载请声明来源钻瓜专利网。