一种RabbitMQ优化存储方法、系统及存储介质与流程

文档序号:33392908发布日期:2023-03-08 11:52阅读:45来源:国知局
一种RabbitMQ优化存储方法、系统及存储介质与流程
一种rabbitmq优化存储方法、系统及存储介质
技术领域
1.本发明涉及信息技术领域,具体涉及一种rabbitmq优化存储方法、系统及存储介质。


背景技术:

2.rabbitmq是实现了高级消息队列协议,支持与保障分布式应用程序之间收发消息数据的中间层。主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲和消息分发的作用。rabbitmq系统最核心的组件是exchange(交换机)、queue(队列), exchange与queue绑定。exchange主要负责根据不同的分发规则将消息分发到不同的queue。其中exchange有4种类型:direct、fanout、topic和headers。其中fanout通常称为发布订阅(广播)模式,作为常用一对多、按需订阅消费模式,具有广泛的应用场景。fanout类型的exchange不处理routing key,而是会将发送给它的消息路由到所有与它绑定的queue上。对于广播模式来说,如果有n个队列就需要存储n份消息,使得内存消耗随着队列数量成倍增加。业务高峰期间,传统的广播模式存在消息同步流量占用高的问题,导致网络堵塞。为此,需要研究能够降低消息广播消耗的存储空间和网络资源的技术。
3.现有技术公开了一种基于rabbitmq的消息推送方法,包括对消息确认机制,定时任务机制和生产者消费确认机制进行了优化处理。将rabbitmq中生产者的确认过程与消费者的确认过程结合起来进行优化使生产者可以更加稳定的获知消费者成功接收到消息,提高了持久化消息的发送速率;在消费者确认过程中,优化了消费者确认过程,处理了消费者拒绝消息的情况,能够防止消费者收到重复消息,使系统整体得到更大的性能提升,稳定性更好。但其技术方案不能解决广播模式下,消息同步流量占用高的问题。


技术实现要素:

4.本发明所要解决的技术问题:目前广播模式下消息同步流量占用高的技术问题。提出了一种rabbitmq优化存储方法、系统及存储介质,能够降低广播模式下消息同步占用的存储空间和网络资源。
5.为解决上述技术问题,本发明采用如下技术方案:一种rabbitmq优化存储方法,包括以下步骤:在交换机中配置存储队列和消息队列,分别存储消息和消费位置;在所述消息队列中为所述交换机连接的每个消费者存储消费位置,每个消费者的消费位置均为初始值;所述交换机接收到广播的消息时,将广播的消息存入所述存储队列的队尾;交换机向消费者发送消息时,由所述消息队列获得对应消费者的所述消费位置,根据所述消费位置读取所述存储队列对应的消息,将读取到的所述消息发送给所述消费者,将对应所述消费者的所述消费位置递增1。
6.作为优选,所述存储方法还包括消息清理,所述消息清理的方法包括:
每次完成向所述消费者发送消息后,检查所述存储队列中是否存在已被每个所述消费者接收的消息,若存在则将所述消息删除,反之,则不做操作。
7.作为优选,检查所述存储队列中是否存在已被每个所述消费者接收的消息的方法包括:读取所述消息队列记录的每个消费者的消费位置;获得全部消费者的消费位置的最小值;读取所述存储队列,若存在消息的次序先于所述最小值,则判定所述消息为已被每个所述消费者接收的消息。
8.作为优选,所述交换机将所述存储队列以顺序存储结构进行存储,以顺序存储结构存储所述存储队列的方法包括:在所述交换机的存储空间内开辟连续的存储区域,将所述存储区域划分为多个大小固定的存储单元,将存储单元按顺序编号,存储单元数据记为n;将消息依次存入所述存储单元;当n个存储单元均存入消息后,将后续消息从第一个存储单元开始按顺序存储;若消息队列存储的消费位置递增1后大于n,则将所述消费位置设置为1。
9.作为优选,所述交换机将所述存储队列以链式存储结构进行存储,以链式存储结构存储所述存储队列的方法包括:建立存储结构,所述存储结构包括编号、存储区、第一指针和第二指针,所述编号与消费位置对应;所述存储区用于存储消息,所述第一指针存储上一个存储结构的起始地址,所述第二指针用于存储下一个存储结构的起始地址;所述交换机设置有末尾指针寄存器和编号寄存器,所述末尾指针寄存器存储最后接收到的消息对应的存储结构的起始地址,所述编号寄存器用于存储最后接收到的消息对应存储结构的编号;所述交换机接收到广播的消息时,建立空白存储结构,记为当前存结构;将编号寄存器自增1,而后将编号寄存器的值赋值给当前存储结构的编号;将消息存储在当前存储结构的存储区,将末尾指针存储的地址赋值给当前存储结构的第一指针,而后将末尾指针寄存器更新为当前存储结构的起始地址;根据当前存储结构的第一指针找到上一个存储结构,更新所述的上一个存储结构的第二指针为当前存储结构的起始地址。
10.作为优选,所述存储结构还包括第三指针,当编号为预设常数值m的整倍数时,所述编号对应的存储结构记为节点存储结构,所述节点存储结构的所述第三指针用于存储上一个节点存储结构的起始地址,其他节点存储结构的第三指针均为空值。
11.作为优选,所述交换机接收到广播的消息并完成消息存储后,判断所述消息对应存储结构的编号是否为预设常数值m的整倍数,若所述编号为预设常数值m的整倍数,则根据第一指针逐个向前找到上一个存储结构,直至找到上一个节点存储结构,将所述节点存储结构的起始地址赋予当前存储结构的第三指针。
12.作为优选,根据所述消费位置读取消息的方法包括:根据消费位置获得对应的存储结构的编号;
使用编号对所述预设常数值m取余获得余数,所述编号与所述余数的差值为编号对应存储结构的上一个节点存储结构的编号,记为目标编号;从末尾指针寄存器读取最后一个消息对应存储结构的起始地址,由最后一个消息对应存储结构开始,根据第一指针逐个找到前一个存储结构,直至找到节点存储结构;根据所述节点存储结构的第三指针逐个向前找到前一个节点存储结构,直至找到目标编号对应的节点存储结构;从所述节点存储结构开始,根据第二指针逐个找到下一个存储结构,直至找到与所述消费位置对应编号的存储结构,读取存储区的信息。
13.一种rabbitmq优化存储系统,用于执行如前述的一种rabbitmq优化存储方法,包括消息接收模块、存储模块和读取模块,所述消息接收模块、所述存储模块和所述读取模块均运行在交换机中,所述消息接收模块接收广播消息,所述存储模块配置存储队列和消息队列,分别存储消息和消费位置,所述读取模块按预设策略向消费者推送消息并接收消费者拉取消息的请求,所述读取模块向消费者推送消息或者接收消费者拉取消息的请求后,由所述消息队列获得对应消费者的所述消费位置,根据所述消费位置读取所述存储队列对应的消息,将读取到的所述消息发送给所述消费者,将对应所述消费者的所述消费位置递增1。
14.作为优选,所述存储模块将所述存储队列以顺序存储结构进行存储,所述存储模块以顺序存储结构存储所述存储队列时,执行以下步骤:在存储空间内开辟连续的存储区域,将所述存储区域划分为多个大小固定的存储单元,将存储单元按顺序编号,存储单元数据记为n;将消息依次存入所述存储单元;当n个存储单元均存入消息后,将后续消息从第一个存储单元开始按顺序存储;若消息队列存储的消费位置递增1后大于n,则将所述消费位置设置为1。
15.作为优选,所述存储模块将所述存储队列以链式存储结构进行存储,所述存储模块以链式存储结构存储所述存储队列时,执行以下步骤:建立存储结构,所述存储结构包括编号、存储区、第一指针和第二指针,所述编号与消费位置对应;所述存储区用于存储消息,所述第一指针存储上一个存储结构的起始地址,所述第二指针用于存储下一个存储结构的起始地址;所述存储模块设置有末尾指针寄存器和编号寄存器,所述末尾指针寄存器存储最后接收到的消息对应的存储结构的起始地址,所述编号寄存器用于存储最后接收到的消息对应存储结构的编号;所述消息接收模块接收到广播的消息时,建立空白存储结构,记为当前存结构;将编号寄存器自增1,而后将编号寄存器的值赋值给当前存储结构的编号;将消息存储在当前存储结构的存储区,将末尾指针存储的地址赋值给当前存储结构的第一指针,而后将末尾指针寄存器更新为当前存储结构的起始地址;根据当前存储结构的第一指针找到上一个存储结构,更新所述的上一个存储结构的第二指针为当前存储结构的起始地址。
16.作为优选,所述优化存储系统还包括消息清理模块,所述消息清理模块在所述读
取模块每次完成向所述消费者发送消息后,检查所述存储队列中是否存在已被每个所述消费者接收的消息,若存在则将所述消息删除,反之,则不做操作。
17.作为优选,所述消息清理模块检查所述存储队列中是否存在已被每个所述消费者接收的消息时,执行以下步骤:读取所述消息队列记录的每个消费者的消费位置;获得全部消费者的消费位置的最小值;读取所述存储队列,若存在消息的次序先于所述最小值,则判定所述消息为已被每个所述消费者接收的消息。
18.一种计算机系统,所述计算机系统包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如前述的一种rabbitmq优化存储方法。
19.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前述的一种rabbitmq优化存储方法。
20.本发明的有益技术效果包括:通过建立存储队列和消息队列,分别存储消息和消费位置,将广播给多个消费者的消息仅在存储队列中存储一份,存储空间仅为原来的1/n,有效缩小了广播消息占用的存储空间和网络资源;采用消息队列记录每个消费者读取消息的位置,方便消费者读取广播的消息;广播消息时,仅需要将存储队列进行更新即可,降低了系统复杂性,降低了广播消息时,需要同步的数据量,提高存储队列的性能。
21.本发明的其他特点和优点将会在下面的具体实施方式、附图中详细的揭露。
附图说明
22.下面结合附图对本发明做进一步的说明:图1为本发明实施例rabbitmq优化存储方法流程示意图。
23.图2为本发明实施例检查存储队列方法流程示意图。
24.图3为本发明实施例以顺序存储结构存储方法流程示意图。
25.图4为本发明实施例以链式存储结构存储方法流程示意图。
26.图5为本发明实施例根据消费位置读取消息方法流程示意图。
27.图6为本发明实施例rabbitmq优化存储系统示意图。
28.图7为本发明实施例计算机系统示意图。
29.其中:10、消息接收模块,20、存储模块,30、读取模块,40、计算机系统,41、存储器,42、计算机程序,43、处理器。
具体实施方式
30.下面结合本发明实施例的附图对本发明实施例的技术方案进行解释和说明,但下述实施例仅为本发明的优选实施例,并非全部。基于实施方式中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得其他实施例,都属于本发明的保护范围。
31.在下文描述中,出现诸如术语“内”、“外”、“上”、“下”、“左”、“右”等指示方位或者位置关系仅是为了方便描述实施例和简化描述,而不是指示或暗示所指的装置或者元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
32.名词解释:mq(message queue),消息队列。
33.exchange,交换机,以硬件或者虚拟机的方式,连接消息的生产者,并连接若干个消息的消费者。
34.queue,队列,queue与exchange绑定。
35.direct,直接交换模式,消费者和生产者的routingkey一致,当然一个队列也可以绑定多个routingkey。
36.fanout,广播模式,把交换机里的消息发送给所有绑定该交换机的队列, 忽略 routingkey。
37.topic,主题模式,即模糊的routingkey匹配模式。
38.headers,headers类型不依赖于routingkey的匹配规则来路由消息,而是根据发送的消息内容中的 headers 属性进行匹配。
39.介绍本实施例技术方案前,对本实施例使用场景做介绍。
40.mq(message queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性架构。消息队列是基础数据结构中“先进先出”的一种数据结构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队列拉取消息,或者订阅相应的队列,由mq服务端给其推送消息。
41.消息队列中间件是分布式系统中重要的组件,主要解决应用解耦、异步消息以及流量削锋等问题,实现高性能、高可用、可伸缩和最终一致性架构。
42.其中解耦指一个业务需要多个模块共同实现,或者一条消息有多个系统需要对应处理,只需要主业务完成以后,发送一条mq,其余模块消费mq消息,即可实现业务,降低模块之间的耦合。异步指主业务执行结束后从属业务通过mq,异步执行,减低业务的响应时间,提高用户体验。削峰指高并发情况下,业务异步处理,提供高峰期业务处理能力,避免系统瘫痪。
43.消息队列的缺点主要有:系统可用性降低:依赖服务越多,服务越容易出错,需要考虑mq瘫痪的情况。系统复杂性提高:需要考虑消息丢失、消息重复消费、消息传递的顺序性。业务一致性差,主业务和从属业务一致性的处理。其中消息的分发规则有4种类型:direct、fanout、topic和headers。其中fanout通常称为发布订阅(广播)模式,作为常用一对多、按需订阅消费模式,具有广泛的应用场景。对于广播模式来说,如果有n个队列就需要存储n份消息,使得内存消耗随着队列数量成倍增加。为此,需要研究能够减少广播模式下,消息队列占用存储空间及网络资源的技术。本实施例提出了一种rabbitmq优化存储方法,请参阅附图1,包括以下步骤:步骤a01)在交换机中配置存储队列和消息队列,分别存储消息和消费位置;步骤a02)在消息队列中为交换机连接的每个消费者存储消费位置,每个消费者的消费位置均为初始值;步骤a03)交换机接收到广播的消息时,将广播的消息存入存储队列的队尾;步骤a04)交换机向消费者发送消息时,由消息队列获得对应消费者的消费位置,根据消费位置读取存储队列对应的消息,将读取到的消息发送给消费者,将对应消费者的
消费位置递增1。
44.通过建立存储队列和消息队列,分别存储消息和消费位置,将广播给多个消费者的消息仅在存储队列中存储一份,存储空间仅为原来的1/n,有效缩小了广播消息占用的存储空间和网络资源。交换机向消费者推送消息或者消费者向交换机拉取消息时,交换机将向消费者发送消息。
45.表1 存储队列存储队列编号,即消费位置1234

消息m1m2m3m4

表2 消息队列消费者消费位置c11c23c32
……
cn2如表1和表2所示,表1中表示存储队列中存储了4个广播的消息,分别为m1至m4。对应有n个消费者,分别为c1至cn。其中消费者c1的消费位置为1,表示消费者c1还没有读取过任何的消息,当消费者c1拉取消息时,将会拉取到m1,而后消费者c1的消费位置将自增1,变为2。消费者c2的消费位置为3,表示消费者c2已经拉取了消息m3,当消费者c2再次拉取消息时,将拉取到m4。
46.存储方法还包括消息清理,消息清理的方法包括:每次完成向消费者发送消息后,检查存储队列中是否存在已被每个消费者接收的消息,若存在则将消息删除,反之,则不做操作。如表1所示,当消费者c1拉取一次消息后,全部消费者均已读取到了消息m1,此时就不再需要存储消息m1。
47.请参阅附图2,检查存储队列中是否存在已被每个消费者接收的消息的方法包括:步骤b01)读取消息队列记录的每个消费者的消费位置;步骤b02)获得全部消费者的消费位置的最小值;步骤b03)读取存储队列,若存在消息的编号先于最小值,则判定消息为已被每个消费者接收的消息。
48.当消费者c1拉取一次消息后,消费者c1的消费位置将变更为2。此时,根据消息队列记录的每个消费者的消费位置,可以获得消费位置的最小值为2,此时既可以读取存储队列,将存储队列中编号小于2个消息判定为已被每个消费者接收的消息,即为消息m1,随后将消息m1清理掉。
49.交换机将存储队列以顺序存储结构进行存储,请参阅附图3,以顺序存储结构存储存储队列的方法包括:步骤c01)在交换机的存储空间内开辟连续的存储区域,将存储区域划分为多个大小固定的存储单元,将存储单元按顺序编号,存储单元数据记为n;步骤c02)将消息依次存入存储单元;步骤c03)当n个存储单元均存入消息后,将后续消息从第一个存储单元开始按顺
序存储;步骤c04)若消息队列存储的消费位置递增1后大于n,则将消费位置设置为1。顺序存储的好处是读取消息快,消息位置定位准确。本实施例中存储队列用于存储广播的消息,广播的消息有先后之别,因此不会出现需要插入数据的情况,收到广播的消息后,将消息存储在存储队列的队尾即可。清理消息时,从存储队列的队首开始清理即可。具有执行效率高,且能够满足使用的需求。
50.交换机将存储队列以链式存储结构进行存储,请参阅附图4,以链式存储结构存储存储队列的方法包括:步骤d01)建立存储结构,存储结构包括编号、存储区、第一指针和第二指针,编号与消费位置对应;步骤d02)存储区用于存储消息,第一指针存储上一个存储结构的起始地址,第二指针用于存储下一个存储结构的起始地址;步骤d03)交换机设置有末尾指针寄存器和编号寄存器,末尾指针寄存器存储最后接收到的消息对应的存储结构的起始地址,编号寄存器用于存储最后接收到的消息对应存储结构的编号;步骤d04)交换机接收到广播的消息时,建立空白存储结构,记为当前存结构;步骤d05)将编号寄存器自增1,而后将编号寄存器的值赋值给当前存储结构的编号;步骤d06)将消息存储在当前存储结构的存储区,将末尾指针存储的地址赋值给当前存储结构的第一指针,而后将末尾指针寄存器更新为当前存储结构的起始地址;步骤d07)根据当前存储结构的第一指针找到上一个存储结构,更新的上一个存储结构的第二指针为当前存储结构的起始地址。
51.使用链式存储结构时,不需要在存储空间内开辟连续的存储区域,具有适用性广泛的特点。使用第一指针和第二指针能够沿两个方向寻找对应编号的消息,提高消息读取的效率。
52.存储结构还包括第三指针,当编号为预设常数值m的整倍数时,编号对应的存储结构记为节点存储结构,节点存储结构的第三指针用于存储上一个节点存储结构的起始地址,其他节点存储结构的第三指针均为空值。通过设置第三指针,进一步加快消息的读取效率。
53.另一方面,本实施例提供了更新第三指针的具体方法,包括以下步骤:交换机接收到广播的消息并完成消息存储后,判断消息对应存储结构的编号是否为预设常数值m的整倍数,若编号为预设常数值m的整倍数,则根据第一指针逐个向前找到上一个存储结构,直至找到上一个节点存储结构,将节点存储结构的起始地址赋予当前存储结构的第三指针。
54.另一方面,本实施例提供了寻找目标消费位置对应的消息的具体方案,请参阅附图5,根据消费位置读取消息的方法包括:步骤e01)根据消费位置获得对应的存储结构的编号;步骤e02)使用编号对预设常数值m取余获得余数,编号与余数的差值为编号对应存储结构的上一个节点存储结构的编号,记为目标编号;步骤e03)从末尾指针寄存器读取最后一个消息对应存储结构的起始地址,由最后
一个消息对应存储结构开始,根据第一指针逐个找到前一个存储结构,直至找到节点存储结构;步骤e04)根据节点存储结构的第三指针逐个向前找到前一个节点存储结构,直至找到目标编号对应的节点存储结构;步骤e05)从节点存储结构开始,根据第二指针逐个找到下一个存储结构,直至找到与消费位置对应编号的存储结构,读取存储区的信息。
55.例如m的值设置为10,目前队尾的消息对应的消费位置为85,需要读取的消费位置为67。则计算67对10的余数为7,编号67与余数7的差值为60,即目标编号为60。从末尾指针寄存器读取最后一个消息对应存储结构的起始地址,即消费位置为85的消息对应存储结构的起始地址。根据消费位置为85的消息对应存储结构存储的第一指针,逐个向前寻找,直到找到消费位置为80的消息对应的存储结构,根据消费位置为80的消息对应的存储结构的第三指针向前寻找,找到消费位置为70的消息对应的存储结构,再次根据第三指针即可找到目标编号对应的存储结构,根据第二指针逐个向后寻找,将找到消费位置为67的消息对应的存储结构。总共需要14次寻找,显著加快了链式存储结构的消息寻找效率。采用消息队列记录每个消费者读取消息的位置,方便消费者读取广播的消息。
56.另一方面本实施例提供了一种rabbitmq优化存储系统,用于执行如前述的一种rabbitmq优化存储方法,请参阅附图6,包括消息接收模块10、存储模块20和读取模块30,消息接收模块10、存储模块20和读取模块30均运行在交换机中,消息接收模块10接收广播消息,存储模块20配置存储队列和消息队列,分别存储消息和消费位置,读取模块30按预设策略向消费者推送消息并接收消费者拉取消息的请求,读取模块30向消费者推送消息或者接收消费者拉取消息的请求后,由消息队列获得对应消费者的消费位置,根据消费位置读取存储队列对应的消息,将读取到的消息发送给消费者,将对应消费者的消费位置递增1。
57.存储模块20将存储队列以顺序存储结构进行存储,存储模块20以顺序存储结构存储存储队列时,执行以下步骤:在存储空间内开辟连续的存储区域,将存储区域划分为多个大小固定的存储单元,将存储单元按顺序编号,存储单元数据记为n;将消息依次存入存储单元;当n个存储单元均存入消息后,将后续消息从第一个存储单元开始按顺序存储;若消息队列存储的消费位置递增1后大于n,则将消费位置设置为1。
58.存储模块20将存储队列以链式存储结构进行存储,存储模块20以链式存储结构存储存储队列时,执行以下步骤:建立存储结构,存储结构包括编号、存储区、第一指针和第二指针,编号与消费位置对应;存储区用于存储消息,第一指针存储上一个存储结构的起始地址,第二指针用于存储下一个存储结构的起始地址;存储模块20设置有末尾指针寄存器和编号寄存器,末尾指针寄存器存储最后接收到的消息对应的存储结构的起始地址,编号寄存器用于存储最后接收到的消息对应存储结构的编号;消息接收模块10接收到广播的消息时,建立空白存储结构,记为当前存结构;将编号寄存器自增1,而后将编号寄存器的值赋值给当前存储结构的编号;将消息存储在当前存储结构的存储区,将末尾指针存储的地址赋值给当前存储结构的第一指针,而后将末尾指针寄存器更新为当前存储结构的起始地址;根据当前存储结构的第一指针找到上一个存储结构,更新的上一个存储结构的第二指针为当前存储结构的起始地址。
59.优化存储系统还包括消息清理模块,消息清理模块在读取模块30每次完成向消费者发送消息后,检查存储队列中是否存在已被每个消费者接收的消息,若存在则将消息删除,反之,则不做操作。
60.消息清理模块检查存储队列中是否存在已被每个消费者接收的消息时,执行以下步骤:读取消息队列记录的每个消费者的消费位置;获得全部消费者的消费位置的最小值;读取存储队列,若存在消息的编号先于最小值,则判定消息为已被每个消费者接收的消息。广播消息时,仅需要将存储队列进行更新即可,降低了系统复杂性,降低了广播消息时,需要同步的数据量,提高存储队列的性能。
61.另一方面,本技术实施例提供了一种计算机系统40,请参阅附图7,计算机系统包括存储器41、处理器43以及存储在存储器41中并可在处理器43上运行的计算机程序42,计算机程序42被处理器43执行时实现如前述的一种rabbitmq优化存储方法。
62.计算机系统可以是一个通用计算机系统或一个专用计算机系统。在具体实现中,计算机系统可以是包括有多个服务器的服务器集群,如可以是包括有多个节点的区块链系统。本领域技术人员可以理解,图7仅仅是计算机系统的举例,并不构成对计算机系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,比如还可以包括输入输出设备、网络接入设备等。
63.处理器43可以是中央处理单元(central processing unit,cpu),处理器43还可以是其他通用处理器43、数字信号处理器43(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器43可以是微处理器43或者也可以是任何常规的处理器43。
64.存储器41在一些实施例中可以是计算机系统的内部存储单元,比如计算机系统的硬盘或内存。存储器41在另一些实施例中也可以是计算机系统的外部存储设备,比如计算机系统上配备的插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,存储器41还可以既包括计算机系统的内部存储单元也包括外部存储设备。存储器41用于存储操作系统、应用程序、引导装载程序(boot loader)、数据以及其他程序等。存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
65.另一方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序42,计算机程序42被处理器43执行时实现如前述的一种rabbitmq优化存储方法。
66.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,熟悉该本领域的技术人员应该明白本发明包括但不限于附图和上面具体实施方式中描述的内容。任何不偏离本发明的功能和结构原理的修改都将包括在权利要求书的范围中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1