[发明专利]一种基于协程的事件调度方法和系统在审
申请号: | 202310030895.2 | 申请日: | 2023-01-10 |
公开(公告)号: | CN116089041A | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 吴博诚;黄创光;钟衡;饶端;蓝启桐 | 申请(专利权)人: | 天翼云科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/445;G06F9/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100010 北京市东城区青*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 事件 调度 方法 系统 | ||
1.一种基于协程的事件调度方法,其特征在于,所述方法包括:
在监测到用户触发的预设事件的情况下,获取所述预设事件的事件信息;所述事件信息包括所述预设事件对应的版本信息;
在用户态创建协程池;所述协程池包括预设数量的协程;
将所述预设事件分发至所述协程池中的目标协程,以使所述目标协程基于所述预设事件的版本信息,确定所述预设事件对应的执行器;不同版本信息的预设事件对应不同版本的执行器;
按照所述预设事件对应的事件消费策略,控制所述执行器对所述预设事件进行消费。
2.根据权利要求1所述的基于协程的事件调度方法,其特征在于,在监测到预设事件的情况下,获取所述预设事件的配置信息的步骤之前,所述方法还包括:
获取针对预设事件的配置信息;不同的预设事件对应不同的用户操作行为;所述配置信息包括对应的命名空间;
基于所述配置信息,在对应的命名空间中对所述预设事件进行配置;
在所述预设事件配置完成的情况下,将所述预设事件进行发布,以得到生效的所述预设事件。
3.根据权利要求1所述的基于协程的事件调度方法,其特征在于,将所述预设事件分发至所述协程池中的目标协程的步骤之前,所述方法还包括:
对所述预设事件进行校验,以进行事件排重和流量控制;
将所述预设事件写入版本创建器队列,以使版本创建器判断所述预设事件是否具有对应的执行器;
在所述预设事件不具有对应的执行器的情况下,控制所述版本创建器创建所述预设事件对应的执行器。
4.根据权利要求1所述的基于协程的事件调度方法,其特征在于,将所述预设事件分发至所述协程池中的目标协程的步骤,包括:
通过所述预设事件对应的任务接口将所述预设事件写入协程池任务队列;不同类型的预设事件对应不同的任务接口;
基于负载均衡算法在协程池中确定所述预设事件对应的目标协程;
启动所述目标协程,以使所述目标协程获取所述预设事件。
5.根据权利要求4所述的基于协程的事件调度方法,其特征在于,启动所述目标协程,以使所述目标协程获取所述预设事件的步骤之后,所述方法还包括:
在所述目标协程中断的情况下,将所述预设事件切换至备用协程,并保存所述目标协程的执行现场,以使所述备用协程在将所述预设事件切换回所述目标协程后,所述目标协程基于所述执行现场,继续执行所述预设事件。
6.根据权利要求1所述的基于协程的事件调度方法,其特征在于,所述目标协程基于所述预设事件的版本信息,确定所述预设事件对应的执行器的步骤,包括:
所述目标协程在所述预设事件的版本信息属于正常版本的情况下,在默认执行器分组中确定所述预设事件对应的执行器;或,
所述目标协程在所述预设事件的版本信息属于特定版本的情况下,在特定执行器分组中确定所述预设事件对应的执行器。
7.根据权利要求1所述的基于协程的事件调度方法,其特征在于,所述事件消费策略包括消费起始位置和消费偏移量;
按照所述预设事件对应的事件消费策略,控制所述执行器对所述预设事件进行消费的步骤,包括:
按照所述事件消费策略对应的消费起始位置和消费偏移量,控制所述执行器对所述预设事件进行消费。
8.根据权利要求1所述的基于协程的事件调度方法,其特征在于,按照所述预设事件对应的事件消费策略,控制所述执行器对所述预设事件进行消费的步骤之后,所述方法还包括:
响应于参数变更操作,对所述预设事件的消费偏移量、消费条数和/或指定时间段进行变更,以对所述预设事件进行事件重放。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天翼云科技有限公司,未经天翼云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310030895.2/1.html,转载请声明来源钻瓜专利网。