System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种面向计费采集数据转发的高性能队列方法及系统技术方案_技高网

一种面向计费采集数据转发的高性能队列方法及系统技术方案

技术编号:40740539 阅读:2 留言:0更新日期:2024-03-25 20:00
本发明专利技术提出一种面向计费采集数据转发的高性能队列方法及系统,包括:步骤S1:启动管理进程,创建共享内存,拉起核心进程,并注册生产者和消费者;步骤S2:生产者通过API发送消息,工作进程负责消息格式化和入队;步骤S3:持久化进程处理队列中的消息并创建文件,分发进程根据组ID分配消息;步骤S4:消费者通过API拉取消息,工作进程管理消息提取和确认。本发明专利技术通过其先进的架构和技术实现,展现了卓越的性能、低I/O依赖和高稳定性,使其成为处理大规模、高频率消息传递场景的理想选择,实现组内消息的严格有序性,确保消息的幂等性。支持积压消息的动态重分配,保障计费业务消息的有序性和安全性。

【技术实现步骤摘要】

本专利技术涉及消息队列,具体涉及一种面向计费采集数据转发的高性能队列方法及系统


技术介绍

1、随着运营商核心系统逐渐向云化转型和核心模块数量的增长,现有的消息队列(mq)技术面临着多方面的挑战,尤其在高流量和复杂流程管理的场景中。在这些场景中,系统常常需要应对策略配置的变更重启和突发告警(告警风暴),这些情况往往导致告警数据量急剧增加,超出了系统的处理能力上限。

2、传统mq集群在处理突发的大量消息时,尤其是在告警风暴这类高压力事件下,常常遭遇磁盘i/o的严重阻塞。这种阻塞不仅影响了消息的生产和消费效率,而且由于大量数据拷贝操作,还会导致垃圾回收(gc)开销过高。这些问题合在一起,进一步降低了整个消息队列系统的处理性能和稳定性,增加了数据处理超时和关键告警遗漏的风险。

3、此外,随着系统模块的增多和运营商业务的复杂化,传统mq技术在满足现代高效、高吞吐量且响应迅速的业务需求方面显示出局限性。在这种背景下,对消息队列技术的优化和创新变得尤为重要,以确保核心系统在面对高流量和复杂场景时的稳定性和可靠性。


技术实现思路

1、为克服现有技术的不足,本专利技术提出一种面向计费采集数据转发的高性能队列方法及系统,broker层的消息存储结构拆分,实现生产者、消费者与mq系统的有效解耦,提升吞吐性能和业务稳定性,减少对磁盘i/o的依赖,提高处理积压消息的效率;实现组内消息的严格有序性,确保消息的幂等性。支持积压消息的动态重分配,保障计费业务消息的有序性和安全性。

2、为实现上述目的,本专利技术提供一种面向计费采集数据转发的高性能队列方法,包括:

3、步骤s1:启动管理进程,创建共享内存,拉起核心进程,并注册生产者和消费者;

4、步骤s2:生产者通过api发送消息,工作进程负责消息格式化和入队;

5、步骤s3:持久化进程处理队列中的消息并创建文件,分发进程根据组id分配消息;

6、步骤s4:消费者通过api拉取消息,工作进程管理消息提取和确认。

7、进一步地,步骤s1具体如下:

8、步骤s11:激活fastmq的核心管理进程,负责协调整个消息队列系统。

9、步骤s12:建立共享内存区域,用于存放系统状态、队列信息,以及生产者和消费者的数据;

10、步骤s13:拉起生产者管理进程,负责处理所有生产者的注册、连接管理和消息分发;

11、步骤s14:拉起消费者管理进程,负责消费者的注册、连接管理和消息接收;

12、步骤s15:拉起消息持久化进程,实时监控生产者队列,将消息存储到磁盘以确保安全;

13、步骤s16:拉起消息分发进程,从磁盘读取消息并分发给相应的消费者队列;

14、步骤s17:生产者通过fastapi注册,系统分配一个或多个工作进程,用于消息处理和队列管理;

15、步骤s18:消费者通过fastapi注册,系统分配工作进程和消费者队列,根据需求可能为消费者队列打上组标签。

16、进一步地,步骤s2具体如下:

17、步骤s21:生产者发送消息,生产者完成业务逻辑后,通过api将消息提交给系统;

18、步骤s21:消息预处理,生产者工作进程对接收到的消息进行格式化和验证;

19、步骤s21:消息入队,经过处理的消息被安全地放入生产者队列,并添加唯一序列号以确保顺序和唯一性。

20、进一步地,步骤s3具体如下:

21、步骤s31:实时扫描,消息持久化进程定期检查生产者队列,提取新消息;

22、步骤s32:文件存储,提取的消息存储在磁盘上的文件中,以避免数据丢失;

23、步骤s33:文件读取,消息分发进程读取磁盘上的消息文件;

24、步骤s34:消息路由,根据消息的组id,决定将消息发送到哪个消费者队列;

25、步骤s35:异常处理,对于退出消费者的队列中的未完成消息,进行回收和重新分发。

26、进一步地,步骤s4包括:

27、步骤s41:消费请求处理,消费者发出消费请求,通过api将请求传达给工作进程;

28、步骤s42:消息拉取,消费者工作进程根据请求从队列中拉取相应的消息;

29、步骤s43:偏移管理,记录并管理每条消息的消费偏移,以保证消息处理的顺序性和完整性;

30、步骤s44:消费确认,消费者完成消息处理后,通过api确认消息消费,确保消息不会被重复处理。

31、进一步地,还包括双层队列消息管理方法,具体如下:

32、步骤s61:生成消息id:为每个消息分配一个唯一的8字节长整型全局序列id;标记4字节整型的生产者工作进程id,记录4字节整型的生产者业务标识;

33、步骤s62:使用8字节整型时间戳记录消息生成时间,用4字节整型记录消息的消费回收次数;

34、步骤s63:记录4字节整型的消息体压缩状态,用4字节整型标记消息体的存储长度;

35、步骤s64:检查磁盘使用率,判断系统是否拥塞,以防止过载;

36、步骤s65:解析生产消息个数,支持批量传输以减少网络i/o性能损耗,轮询处理消息,解析消息组id,计算消息长度,对消息进行序列化处理,将序列化后的消息存入生产者队列;

37、步骤s66:解析消费消息数,支持批量传输以减少网络i/o性能损耗,处理自动消费确认,根据接口设置自动处理消费确认;

38、步骤s67:拉取消费者队列消息,不超过请求的消息数量,轮询处理消息,对消息进行反序列化处理,组装消息到报文,发送消息给消费者,完成消息的最终消费。

39、进一步地,包括共享内存队列管理方法:

40、步骤s71:划分管理区,包括进程区、生产者链接管理区、消费者链接管理区,创建一个全局生产者队列,构造n个动态扩展和回收的消费者队列;

41、步骤s72:实现循环队列结构,互斥锁保证入库操作的准确性和互斥性,采用消费确认机制,区分pop位置和消息拉取位置;

42、步骤s73:申请push锁,确保操作互斥性,控制循环队列偏移,保证消息准确写入,将消息序列化数据拷贝到队列,增加消息计数器;

43、步骤s74:检查队列中是否存在可拉取数据,控制循环队列偏移,确保消息准确拉取,将消息拷贝到进程私有内存,增加消息计数器,定时/定量策略持久化消息至文件;

44、步骤s75:消费分发进程处理,无需加锁互斥,操作流程与生产者队列类似;

45、步骤s76:更新消息拉取位置,不立即更新pop位置,待消费确认后,更新pop位置,操作流程与生产者队列类似。

46、进一步地,还包括消息分发控制方法,具体如下:

47、步骤s81:基于每个消费队列的积压消息数进行评估,将无组消息分配到最空闲的消费队列;本文档来自技高网...

【技术保护点】

1.一种面向计费采集数据转发的高性能队列方法,其特征在于,包括:

2.根据权利要求1所述的一种面向计费采集数据转发的高性能队列方法,其特征在于,步骤S1具体如下:

3.根据权利要求1所述的一种面向计费采集数据转发的高性能队列方法,其特征在于,步骤S2具体如下:

4.根据权利要求1所述的一种面向计费采集数据转发的高性能队列方法,其特征在于,步骤S3具体如下:

5.根据权利要求1所述的一种面向计费采集数据转发的高性能队列方法,其特征在于,步骤S4包括:

6.根据权利要求1所述的一种面向计费采集数据转发的高性能队列方法,其特征在于,还包括双层队列消息管理方法,具体如下:

7.根据权利要求1所述的一种面向计费采集数据转发的高性能队列方法,其特征在于,包括共享内存队列管理方法:

8.根据权利要求1所述的一种面向计费采集数据转发的高性能队列方法,其特征在于,还包括消息分发控制方法,具体如下:

9.一种面向计费采集数据转发的高性能队列方法的系统,适用于权利要求1-8中任一项所述的一种面向计费采集数据转发的高性能队列方法,其特征在于,包括FAST API模块、生产者管理模块、消费者管理模块和消息控制与管理模块;

...

【技术特征摘要】

1.一种面向计费采集数据转发的高性能队列方法,其特征在于,包括:

2.根据权利要求1所述的一种面向计费采集数据转发的高性能队列方法,其特征在于,步骤s1具体如下:

3.根据权利要求1所述的一种面向计费采集数据转发的高性能队列方法,其特征在于,步骤s2具体如下:

4.根据权利要求1所述的一种面向计费采集数据转发的高性能队列方法,其特征在于,步骤s3具体如下:

5.根据权利要求1所述的一种面向计费采集数据转发的高性能队列方法,其特征在于,步骤s4包括:

6.根据权利要求1所述的一种面向计费采集...

【专利技术属性】
技术研发人员:汲洋弘康王荣中兰锦鸿
申请(专利权)人:浩鲸云计算科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1