The invention relates to the technical field of communication, and discloses a method and a device for monitoring a cooperative process. The method comprises the following steps: in the first process, through the monitoring thread to monitor at least a coroutine, the first in the process, to determine the at least one coroutine whether the coroutine runs long run time exceeds a preset length; among them, each coroutine said at least one coroutine the pre recorded run their preset length; if it is determined that the first coroutine at least a coroutine in the long run than the set for the first coroutine first preset operation, through the monitoring operation of the first thread to terminate the coroutine.
【技术实现步骤摘要】
本专利技术涉及通信
,尤其涉及一种协程监控方法及装置。
技术介绍
OpenStack(一种开源的云计算管理平台项目)是一个自由软件和开放源代码云计算管理平台项目,OpenStack通过各种互补的服务提供了IaaS(InfrastructureasaService,基础设施即服务)的解决方案,是一个旨在为公共云及私有云的建设与管理提供软件的开源项目。Thread(线程)是linux(一种操作系统)操作系统调度的单位,系统中的多个线程可以通过一些调度策略(比如优先级抢占、时间片轮转等等)来获得CPU(中央处理器)并运行,当CPU拥有多个核的时候,这些线程可以同时执行。Coroutine(协程)可以认为是用户空间线程,OS(操作系统)对其存在一无所知,需要开发人员在线程中设计好调度,用来执行协作式多任务非常合适。操作系统调度到协程所承载的线程后,线程内部再完成对协程的二级调度。在使用协程时,如果使用公共资源的协程不是同属于同一个线程,那么需要通过加入互斥锁的机制来保护数据的一致性。那么就存在一个问题:如果使用公共资源的一个协程出现异常,那么接下来需要使用该公共资源的协程就会一直请求不到用于对数据进行操作的锁,这样其他协程就会一直处于等待状态,从而导致系统出现延迟。
技术实现思路
本专利技术提供一种协程监控方法及装置,用于解决因协程异常而导致系统延迟的技术问题。第一方面,提供一种协程监控方法,包括:在第一进程中,通过监控线程对所述第一进程中的至少一个协程进行监控,以确定所述至少一个协程中是否有协程的运行时长超过预设运行时长;其中,所述至少一个协程中的每个协程均 ...
【技术保护点】
一种协程监控方法,其特征在于,包括:在第一进程中,通过监控线程对所述第一进程中的至少一个协程进行监控,以确定所述至少一个协程中是否有协程的运行时长超过预设运行时长;其中,所述至少一个协程中的每个协程均预先记录有各自的预设运行时长;若确定所述至少一个协程中的第一协程的运行时长超过为所述第一协程设定的第一预设运行时长,则通过所述监控线程终止运行所述第一协程。
【技术特征摘要】
1.一种协程监控方法,其特征在于,包括:在第一进程中,通过监控线程对所述第一进程中的至少一个协程进行监控,以确定所述至少一个协程中是否有协程的运行时长超过预设运行时长;其中,所述至少一个协程中的每个协程均预先记录有各自的预设运行时长;若确定所述至少一个协程中的第一协程的运行时长超过为所述第一协程设定的第一预设运行时长,则通过所述监控线程终止运行所述第一协程。2.如权利要求1所述的方法,其特征在于,在通过监控线程对所述第一进程中的至少一个协程进行监控之前,还包括:在运行所述至少一个协程时,通过所述至少一个协程分别记录各自运行的起始时刻,以及分别记录为各自设定的预设运行时长。3.如权利要求1或2所述的方法,其特征在于,在终止运行所述第一协程之后,还包括:对所述第一协程进行初始化。4.如权利要求3所述的方法,其特征在于,在对所述第一协程进行初始化之后,还包括:重新运行所述第一协程。5.如权利要求4所述的方法,其特征在于,在通过监控线程对所述第一进程中的至少一个协程进行监控之后,还包括:若所述至少一个协程中的第二协程在运行完毕时的运行时长未超过为所述第二协程设定的第二预设运行时长,则通过所述第二协程注销记录的所述第二协程运行的起始时刻以及所述第二预设运行时长。6.一种协程监控装置,其特征在于,包括:监控模块,用于在第一进程中,通过监控线程对所述第一...
【专利技术属性】
技术研发人员:尹德升,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。