一种消息数据处理方法、装置、设备及可读存储介质制造方法及图纸

技术编号:24352716 阅读:23 留言:0更新日期:2020-06-03 01:55
本发明专利技术公开了一种消息数据处理方法、装置、设备及可读存储介质,该方法包括以下步骤:分布式消息队列系统接收消息生产者发布的消息数据;利用非易失性内存的存储接口,将消息数据持久化存储至非易失性内存中;在接收消息消费者发送的消费请求时,从非易失性内存中查找与消费请求匹配的目标消息数据;将目标消息数据拷贝到内存缓存后,利用套接字将目标消息数据发送给消息消费者。本方法在持久化消息数据时,省去缓存步骤,且因非易失性内存具有读写速度快,掉电不丢失的特点,不仅简化持久化过程,而且还加快了消息数据的读写速度,提升了不同信息系统之间的数据共享性能。

A message data processing method, device, device and readable storage medium

【技术实现步骤摘要】
一种消息数据处理方法、装置、设备及可读存储介质
本专利技术涉及数据共享交互
,特别是涉及一种消息数据处理方法、装置、设备及可读存储介质。
技术介绍
分布式应用系统与大数据技术应用日益广泛,为实现不同信息系统之间的数据共享,需要将数据封装为消息,通过消息队列(MessageQueue,MQ)实现不同系统之间的数据共享交互。消息队列为一个先进先出的消息存储区域,消息按照顺序发送接收,一旦消息被消费处理,该消息将从队列中删除。互联网应用每天产生海量日志,消息队列可以作为日志聚合的消息容器。消息队列可以快速高效将应用系统的业务数据发布到大数据分析平台,建立起应用系统与大数据分析平台之间的桥梁,实现两者之间的解耦关联。目前,消息队列持久化消息到文件系统来存储和缓存消息,由于磁盘的读写相比CPU或DRAM(DynamicRandomAccessMemory,动态随机存取存储器)缓慢,这导致消息持久化成为消息队列应用的性能瓶颈,难以提升不同信息系统之间的数据共享性能。综上所述,如何有效地解决消息队列中消息持久化等问题,是目前本领域技术人员急需解决的技术问题。
技术实现思路
本专利技术的目的是提供一种消息数据处理方法、装置、设备及可读存储介质,以提升不同信息系统之间的数据共享性能。为解决上述技术问题,本专利技术提供如下技术方案:一种数据共享交互方法,包括:分布式消息队列系统接收消息生产者发布的消息数据;利用非易失性内存的存储接口,将所述消息数据持久化存储至所述非易失性内存中;在接收消息消费者发送的消费请求时,从所述非易失性内存中查找与所述消费请求匹配的目标消息数据;将所述目标消息数据拷贝到内存缓存后,利用套接字将所述目标消息数据发送给所述消息消费者。优选地,在所述分布式消息队列系统接收消息生产者提交的消息数据之前,还包括:检测系统硬件配置,确定是否配置了所述非易失性内存;如果是,则将所述非易失性内存设置为应用直接访问模式。优选地,还包括:执行数据删除策略,以清除所述非易失性内存中的过期消息数据。优选地,将所述消息数据持久化存储至所述非易失性内存中,包括:利用JMS协议将所述消息数据持久化存储至所述非易失性内存中。优选地,分布式消息队列系统接收消息生产者发布的消息数据,包括:所述分布式消息队列系统为每类数据分别创建一个主题,以便所述消息生产者向主题发布所述消息数据。优选地,所述分布式消息队列系统包括所述非易失性内存,所述非易失性内存通过DDR与服务器中的CPU相连接。优选地,将所述消息数据持久化存储至所述非易失性内存中,包括:在将所述消息数据持久化存储至所述非易失性内存时,在所述非易失性内存中对所述消息数据进行备份。一种消息数据处理装置,包括:数据获取模块,用于分布式消息队列系统接收消息生产者发布的消息数据;数据存储模块,用于利用非易失性内存的存储接口,将所述消息数据持久化存储至所述非易失性内存中;数据查找模块,用于在接收消息消费者发送的消费请求时,从所述非易失性内存中查找与所述消费请求匹配的目标消息数据;数据发送模块,用于将所述目标消息数据拷贝到内存缓存后,利用套接字将所述目标消息数据发送给所述消息消费者。一种消息数据处理设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述消息数据处理方法的步骤。一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述消息数据处理方法的步骤。应用本专利技术实施例所提供的方法,分布式消息队列系统接收消息生产者发布的消息数据;利用非易失性内存的存储接口,将消息数据持久化存储至非易失性内存中;在接收消息消费者发送的消费请求时,从非易失性内存中查找与消费请求匹配的目标消息数据;将目标消息数据拷贝到内存缓存后,利用套接字将目标消息数据发送给消息消费者。考虑到磁盘的读写相比CPU或DRAM缓慢,且目前难以针对磁盘的读写性能进行改善。且,非易失性内存具有读写速度快且掉电不丢失数据内容的特点。基于此,在分布式消息队列系统接收到消息生产者发布的消息数据时,将其直接存入非易失性内存中。而在接收到的消费请求时,则可从非易失性内存中读取到目标消息数据,并写入内存缓存,最终通过套接字便可将目标消息数据发送到消息消费者。相较于现有的先在内存中缓存消息数据,而后在将内存中缓缓的消息数据下刷至磁盘,本方法在持久化消息数据时,省去缓存这一步骤,且因非易失性内存具有读写速度快,掉电不丢失的特点,不仅简化持久化过程,而且还加快了消息数据的读写速度,提升了不同信息系统之间的数据共享性能。相应地,本专利技术实施例还提供了与上述消息数据处理方法相对应的消息数据处理装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中一种消息数据处理方法的实施流程图;图2为本专利技术实施例中服务器内PMM与DDR物理模块连接关系示意图;图3为本专利技术实施例中一种Topic的组织结构示意图;图4为本专利技术实施例中一种消息数据的状态维护示意图;图5为现有技术中消息数据处理方法的具体实施示意图;图6为本专利技术实施例中一种消息数据处理方法的具体实施示意图;图7为本专利技术实施例中一种消息数据处理装置的结构示意图;图8为本专利技术实施例中一种消息数据处理设备的结构示意图;图9为本专利技术实施例中一种消息数据处理设备的具体结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为便于理解本专利技术实施例所提供的技术方案,下面对实施例中涉及到的缩略语和关键术语进行DDR(DoubleDataRate):双倍速率同步动态随机存储器,同DDRSDRAM,人们习惯称为DDR,其中,SDRAM是SynchronousDynamicRandomAccessMemory的缩写,即同步动态随机存取存储器。JMS(JavaMessageService):JMS即Java消息服务(JavaMessageService)应用程序接口,是一个Java平台中关于面向消息中间件(MOM-分布式系统的集成)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行本文档来自技高网
...

【技术保护点】
1.一种消息数据处理方法,其特征在于,包括:/n分布式消息队列系统接收消息生产者发布的消息数据;/n利用非易失性内存的存储接口,将所述消息数据持久化存储至所述非易失性内存中;/n在接收消息消费者发送的消费请求时,从所述非易失性内存中查找与所述消费请求匹配的目标消息数据;/n将所述目标消息数据拷贝到内存缓存后,利用套接字将所述目标消息数据发送给所述消息消费者。/n

【技术特征摘要】
1.一种消息数据处理方法,其特征在于,包括:
分布式消息队列系统接收消息生产者发布的消息数据;
利用非易失性内存的存储接口,将所述消息数据持久化存储至所述非易失性内存中;
在接收消息消费者发送的消费请求时,从所述非易失性内存中查找与所述消费请求匹配的目标消息数据;
将所述目标消息数据拷贝到内存缓存后,利用套接字将所述目标消息数据发送给所述消息消费者。


2.根据权利要求1所述的消息数据处理方法,其特征在于,在所述分布式消息队列系统接收消息生产者提交的消息数据之前,还包括:
检测系统硬件配置,确定是否配置了所述非易失性内存;
如果是,则将所述非易失性内存设置为应用直接访问模式。


3.根据权利要求1所述的消息数据处理方法,其特征在于,还包括:
执行数据删除策略,以清除所述非易失性内存中的过期消息数据。


4.根据权利要求1所述的消息数据处理方法,其特征在于,将所述消息数据持久化存储至所述非易失性内存中,包括:
利用JMS协议将所述消息数据持久化存储至所述非易失性内存中。


5.根据权利要求1所述的消息数据处理方法,其特征在于,分布式消息队列系统接收消息生产者发布的消息数据,包括:
所述分布式消息队列系统为每类数据分别创建一个主题,以便所述消息生产者向主题发布所述消息数据。

...

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

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

1