一种持久化消息传输方法与装置制造方法及图纸

技术编号:23898015 阅读:45 留言:0更新日期:2020-04-22 09:27
本发明专利技术公开了一种持久化消息传输方法与装置包括:从生产者接收持久化消息以创建具有消息内容和消息标识符的消息存储对象;使用封装的写方法将消息存储对象序列化为字节数据流并存储到非易失性存储器中;将消息标识符和表示字节数据流在非易失性存储器中逻辑位置的物理指针更新到内存的索引页中;从消费者接收待查找的消息标识符以在内存的索引页中确定相应的物理指针;基于物理指针在非易失性存储器中读取字节数据流并使用封装的读方法反序列化为消息存储对象;从消息存储对象中提取出消息内容反馈到消费者以供读取。本发明专利技术能够提升消息中间件的消息传输的性能,满足消息中间件的高可靠性和高可用性需求。

【技术实现步骤摘要】
一种持久化消息传输方法与装置
本专利技术涉及交换机领域,更具体地,特别是指一种持久化消息传输方法与装置。
技术介绍
中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务,衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享的目的。消息中间件是一种由消息传送机制或消息队列模式组成的中间件技术,利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。随着国内信息化建设的日益深入,越来越多的企业开始进入深度应用的阶段,而中间件也迎来了繁荣发展的阶段,消息中间件在国内许多行业的关键应用中扮演着至关重要的角色。消息中间件应提供可选择的消息在服务器端的可靠性级别,即持久化消息和非持久化消息,持久化和非持久化消息的区别主要在于消息队列是否被保存在持久化的存储上。持久化消息指消息在服务器端存储后转发,当服务器发生故障或者服务异常正常退出后,能够在服务启动后恢复。此外在用户对主题进行持续订阅的应用场景下,如果不支持对消息的持久化存储,订阅者就不能收到它在不活动状态下发布者发布到主题的消息。持久本文档来自技高网...

【技术保护点】
1.一种持久化消息传输方法,其特征在于,包括执行以下步骤:/n从生产者接收持久化消息以创建具有消息内容和消息标识符的消息存储对象;/n使用封装的写方法将所述消息存储对象序列化为字节数据流并存储到非易失性存储器中;/n将所述消息标识符和表示所述字节数据流在所述非易失性存储器中逻辑位置的物理指针更新到内存的索引页中;/n从消费者接收待查找的消息标识符以在所述内存的所述索引页中确定相应的物理指针;/n基于所述物理指针在所述非易失性存储器中读取所述字节数据流并使用封装的读方法反序列化为所述消息存储对象;/n从所述消息存储对象中提取出所述消息内容反馈到消费者以供读取。/n

【技术特征摘要】
1.一种持久化消息传输方法,其特征在于,包括执行以下步骤:
从生产者接收持久化消息以创建具有消息内容和消息标识符的消息存储对象;
使用封装的写方法将所述消息存储对象序列化为字节数据流并存储到非易失性存储器中;
将所述消息标识符和表示所述字节数据流在所述非易失性存储器中逻辑位置的物理指针更新到内存的索引页中;
从消费者接收待查找的消息标识符以在所述内存的所述索引页中确定相应的物理指针;
基于所述物理指针在所述非易失性存储器中读取所述字节数据流并使用封装的读方法反序列化为所述消息存储对象;
从所述消息存储对象中提取出所述消息内容反馈到消费者以供读取。


2.根据权利要求1所述的方法,其特征在于,所述索引页包括具有多个叶节点的索引树,其中每个所述叶节点均包括一个所述字节数据流的所述消息标识符、所述字节数据流在所述非易失性存储器中的逻辑位置、和所述物理指针。


3.根据权利要求1所述的方法,其特征在于,所述内存设置于为生产者和消费者提供消息中间件服务的服务器上;所述非易失性存储器在物理上具有一个或多个独立物理实体,所述一个或多个独立物理实体全部设置于所述服务器上,或分布在所述服务器、一个或多个生产者设备、和一个或多个消费者设备上。


4.根据权利要求3所述的方法,其特征在于,响应于所述服务器宕机或停止服务,而在重启时基于所述非易失性存储器在所述内存中重构所述索引页。


5.根据权利要求3所述的方法,其特征在于,所述非易失性存储器具有应用程序接口;将所述字节数据流存储到非易失性存储器中和在所述非易失性存储器中读取所述字节数据流均通过所述应用程序接口执行。


6.一种持久化消息传输装置,其特...

【专利技术属性】
技术研发人员:陈仁革
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1