[发明专利]一种协程监控方法及装置在审
申请号: | 201510665928.6 | 申请日: | 2015-10-15 |
公开(公告)号: | CN106598801A | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 尹德升 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京银龙知识产权代理有限公司11243 | 代理人: | 许静,黄灿 |
地址: | 518057 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 监控 方法 装置 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种协程监控方法及装置。
背景技术
OpenStack(一种开源的云计算管理平台项目)是一个自由软件和开放源代码云计算管理平台项目,OpenStack通过各种互补的服务提供了IaaS(Infrastructure as a Service,基础设施即服务)的解决方案,是一个旨在为公共云及私有云的建设与管理提供软件的开源项目。
Thread(线程)是linux(一种操作系统)操作系统调度的单位,系统中的多个线程可以通过一些调度策略(比如优先级抢占、时间片轮转等等)来获得CPU(中央处理器)并运行,当CPU拥有多个核的时候,这些线程可以同时执行。
Coroutine(协程)可以认为是用户空间线程,OS(操作系统)对其存在一无所知,需要开发人员在线程中设计好调度,用来执行协作式多任务非常合适。操作系统调度到协程所承载的线程后,线程内部再完成对协程的二级调度。
在使用协程时,如果使用公共资源的协程不是同属于同一个线程,那么需要通过加入互斥锁的机制来保护数据的一致性。那么就存在一个问题:
如果使用公共资源的一个协程出现异常,那么接下来需要使用该公共资源的协程就会一直请求不到用于对数据进行操作的锁,这样其他协程就会一直处于等待状态,从而导致系统出现延迟。
发明内容
本发明提供一种协程监控方法及装置,用于解决因协程异常而导致系统延迟的技术问题。
第一方面,提供一种协程监控方法,包括:
在第一进程中,通过监控线程对所述第一进程中的至少一个协程进行监控,以确定所述至少一个协程中是否有协程的运行时长超过预设运行时长;其中,所述至少一个协程中的每个协程均预先记录有各自的预设运行时长;
若确定所述至少一个协程中的第一协程的运行时长超过为所述第一协程设定的第一预设运行时长,则通过所述监控线程终止运行所述第一协程。
可选的,在通过监控线程对所述第一进程中的至少一个协程进行监控之前,还包括:
在运行所述至少一个协程时,通过所述至少一个协程分别记录各自运行的起始时刻,以及分别记录为各自设定的预设运行时长。
可选的,在终止运行所述第一协程之后,还包括:
对所述第一协程进行初始化。
可选的,在对所述第一协程进行初始化之后,还包括:
重新运行所述第一协程。
可选的,在通过监控线程对所述第一进程中的至少一个协程进行监控之后,还包括:
若所述至少一个协程中的第二协程在运行完毕时的运行时长未超过为所述第二协程设定的第二预设运行时长,则通过所述第二协程注销记录的所述第二协程运行的起始时刻以及所述第二预设运行时长。
第二方面,提供一种协程监控装置,包括:
监控模块,用于在第一进程中,通过监控线程对所述第一进程中的至少一个协程进行监控,以确定所述至少一个协程中是否有协程的运行时长超过预设运行时长;其中,所述至少一个协程中的每个协程均预先记录有各自的预设运行时长;
终止模块,用于若确定所述至少一个协程中的第一协程的运行时长超过为所述第一协程设定的第一预设运行时长,则通过所述监控线程终止运行所述第一协程。
可选的,所述装置还包括记录模块,用于:
在所述监控模块通过监控线程对所述第一进程中的至少一个协程进行监 控之前,在运行所述至少一个协程时,通过所述至少一个协程分别记录各自运行的起始时刻,以及分别记录为各自设定的预设运行时长。
可选的,所述装置还包括初始化模块,用于:
在所述终止模块终止运行所述第一协程之后,对所述第一协程进行初始化。
可选的,所述装置还包括操作模块,用于:
在所述初始化模块对所述第一协程进行初始化之后,重新运行所述第一协程。
可选的,所述装置还包括注销模块,用于:
在所述监控模块通过监控线程对所述第一进程中的至少一个协程进行监控之后,若所述至少一个协程中的第二协程在运行完毕时的运行时长未超过为所述第二协程设定的第二预设运行时长,则通过所述第二协程注销记录的所述第二协程运行的起始时刻以及所述第二预设运行时长。
上述技术方案中的一个或两个,至少具有如下技术效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510665928.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种硬件故障分析系统和方法
- 下一篇:异常处理方法及装置