[发明专利]一种处理声明式事件的队列的实现方法在审
| 申请号: | 202010988989.7 | 申请日: | 2020-09-18 |
| 公开(公告)号: | CN111949424A | 公开(公告)日: | 2020-11-17 |
| 发明(设计)人: | 晏东;吴晓勇;安露明;范青松 | 申请(专利权)人: | 成都精灵云科技有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/48 |
| 代理公司: | 成都弘毅天承知识产权代理有限公司 51230 | 代理人: | 苟莉 |
| 地址: | 610041 四川省成都市高*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 处理 声明 事件 队列 实现 方法 | ||
本发明涉及云平台事件处理领域,具体是一种处理声明式事件的队列的实现方法,包括如下步骤:S1、创建一个队列,当事件加入队列前先经过去重器进行检查,去重器只允许未存在的事件加入队列中;S2、队列中以堆的方式将多个事件按照优先级顺序排列;S3、通过限速器控制处理器从队列中获取事件的频率;S4、处理器对事件进行状态迁移处理,若处理成功,则清除去重器中对于该事件的引用并进行下一事件状态迁移处理,若处理失败,则处理器处理失败的事件经过退避器记录失败次数、降低优先级和延迟处理时间后重新加入去重器;解决了现有流程将失败事件返回队列当作正常事件继续处理,造成的重复处理、过载处理、失败事件正常事件并发处理的问题。
技术领域
本发明涉及云平台事件处理技术领域,具体是指一种处理声明式事件的队列的实现方法。
背景技术
目前一个云平台要实现资源的当前状态向期望状态转移的现有流程如下所示:
步骤一、查询获取指定资源的当前状态,放入待处理队列;步骤二、从队列中获取待处理事件,对比当前状态与期望状态之间的差距;步骤三、根据差距处理资源的变更;步骤四、如果处理成功则结束对该资源的处理;步骤五、如果处理失败则继续根据状态差距继续进行处理。
对于上述现有流程存在如下技术问题:
1.如果队列中已经存在了一个资源的状态变更事件,当前一个事件没有处理完,又收到另一个相同资源的事件时,会重复处理它们,特别的,当云平台负载较大时,会导致很多计算资源都重复浪费掉;
2.云平台中获取队列的组件与处理队列中资源变更的组件通常是异步进行的,当处理速率不一致时,会导致从队列中取的速度很快,但是处理资源变更的组件进行得很慢,从而使系统堆积大量阻塞的线程,其又会进一步导致系统处理速度降低;
3.当从队列中获取了一个资源的变更事件后,但是处理失败了,该事件通常会重复进入队列,如果云平台负载较大,会导致大量处理失败了的事件重复入队,从而影响正常入队的事件,使得整个云平台处理效率降低。
4.由于获取队列的组件与处理队列中资源变更的组件通常是异步进行的,在高并发情况下,会出现同一资源的两个事件都在处理,这会使得云平台中资源的状态不一致而产生错误。
发明内容
基于以上问题,本发明提供了一种处理声明式事件的队列的实现方法,解决了现有流程将失败事件返回队列当作正常事件继续处理,造成的重复处理、过载处理、失败事件正常事件并发处理的问题。
为解决以上技术问题,本发明采用的技术方案如下:
一种处理声明式事件的队列的实现方法,包括如下步骤:
S1、创建一个队列,当事件加入队列前先经过去重器进行检查,去重器只允许未存在的事件加入队列中;
S2、队列中以堆为数据结构,将多个事件按照优先级顺序排列;
S3、通过限速器控制处理器从队列中获取事件的间隔时间和数量;
S4、处理器对事件进行状态迁移处理,若处理成功,则清除去重器中对于该事件的引用并进行下一事件状态迁移处理,若处理失败,则处理器处理失败的事件经过退避器记录失败次数、降低优先级和延迟处理时间后重新加入去重器。
进一步,所述步骤S1中,事件经过去重器前利用生成函数对事件生成一个唯一key标识,去重器对该唯一key标识进行检查,若去重器中未记录该唯一key标识,则事件正常加入队列,并且在去重器中记录该唯一key标识,若去重器记录了该唯一key标识,则将该带有唯一key标识的新事件覆盖原相同唯一key标识的旧事件。
进一步,所述去重器有一个线程安全的map数据结构。
进一步,所述限速器由一个计时器每隔预设时间从队列中获取预设数量的事件返还给处理器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都精灵云科技有限公司,未经成都精灵云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010988989.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能可调节的固态继电器
- 下一篇:一种监控摄像头的防水结构





