[发明专利]处理状态事件的方法、装置、终端及存储介质有效
申请号: | 201811490085.0 | 申请日: | 2018-12-06 |
公开(公告)号: | CN109861966B | 公开(公告)日: | 2022-02-25 |
发明(设计)人: | 邓生金 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | H04L65/1073 | 分类号: | H04L65/1073;H04L65/611;G06F9/54 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 唐述灿 |
地址: | 100084 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 状态 事件 方法 装置 终端 存储 介质 | ||
1.一种处理状态事件的方法,其特征在于,所述方法包括:
接收操作系统发送的广播消息,所述广播消息用于指示应用客户端的状态事件;
根据所述状态事件的事件类型,从事件类型和数量的对应关系中获取所述状态事件对应的第一数量,将所述状态事件对应的任务拆分为第一数量个子任务;
确定每个子任务的预计完成耗时;
基于所述每个子任务的预计完成耗时,将所述第一数量个子任务中预计完成耗时小于预设耗时的至少一个子任务确定为至少一个第一子任务,将所述第一数量个子任务中除所述至少一个第一子任务之外的至少一个子任务确定为至少一个第二子任务;
将所述至少一个第一子任务分配给所述应用客户端的主线程执行,将所述至少一个第二子任务分配给所述应用客户端的子线程执行,所述主线程和所述子线程异步执行任务。
2.根据权利要求1所述的方法,其特征在于,所述确定每个子任务的预计完成耗时,包括:
确定所述每个子任务的任务类型,基于所述每个子任务的任务类型,从任务类型和预计完成耗时的对应关系中,获取所述每个子任务的预计完成耗时;或者,
对于每个子任务,确定所述子任务的历史耗时,将所述子任务的历史耗时作为所述子任务的预计完成耗时。
3.根据权利要求1所述的方法,其特征在于,所述子线程为单队列的线程池,所述将所述至少一个第二子任务分配给所述应用客户端的子线程执行,包括:
将所述至少一个第二子任务分配给所述线程池,并调用所述线程池中的多个第一子线程,通过异步执行方式执行所述至少一个第二子任务。
4.根据权利要求3所述的方法,其特征在于,所述调用所述线程池中的多个第一子线程,通过异步执行方式执行所述至少一个第二子任务,包括:
基于每个第二子任务的预计完成耗时,确定所述每个第二子任务的执行顺序;
对于所述线程池中的每个第一子线程,当所述第一子线程执行完上一个第二子任务时,基于所述执行顺序,确定下一个执行的第二子任务,通过所述第一子线程执行所述下一个执行的第二子任务。
5.根据权利要求4所述的方法,其特征在于,所述基于每个第二子任务的预计完成耗时,确定所述每个第二子任务的执行顺序,包括:
基于所述每个第二子任务的预计完成耗时,将所述每个第二子任务按照预计完成耗时由短到长进行排序,得到所述执行顺序。
6.根据权利要求1所述的方法,其特征在于,在所述接收操作系统发送的广播消息之前,所述方法包括:
当所述应用客户端启动时,在所述操作系统中进行注册广播功能,所述注册广播功能用于当所述应用客户端的状态发生改变时,所述操作系统向所述应用客户端发送所述广播消息。
7.根据权利要求6所述的方法,其特征在于,所述在所述操作系统中进行注册广播功能,包括:
调用所述操作系统中的广播注册器,创建第一广播标签;
调用所述操作系统中的广播接收器,向所述操作系统中的广播中转站发送第一广播标签和注册广播请求,所述注册广播请求携带所述应用客户端的应用标识;
调用所述广播中转站,将所述应用标识添加到所述第一广播标签中,得到第二广播标签;
调用所述操作系统中的系统管理服务注册器,存储所述第二广播标签,所述第二广播标签用于指示所述应用客户端在所述操作系统中已进行注册广播功能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811490085.0/1.html,转载请声明来源钻瓜专利网。