单机多客户端的发布订阅消息分发方法及系统技术方案

技术编号:36376442 阅读:35 留言:0更新日期:2023-01-18 09:36
本发明专利技术公开了单机多客户端的发布订阅消息分发方法及系统,属于数据库数据传输技术领域,要解决的技术问题为如何减少服务端的压力,并减少内存的占用。包括如下步骤:创建一个面向多客户端的pull请求线程,pull请求线程用于基于pull请求从服务端拉取主题消息;创建一个面向多客户端的全局缓存;对于用户发布至服务端的各主题消息,基于pull请求将每个主题消息的数据存储至全局缓存中,并将每个主题消息的只读引用存储至订阅所述主题消息的每个客户端的缓存中;每个客户端获取其订阅的主题消息时,基于所述主题消息的只读引用将所述主题消息的数据从全局缓存复制至其缓存中。消息的数据从全局缓存复制至其缓存中。消息的数据从全局缓存复制至其缓存中。

【技术实现步骤摘要】
单机多客户端的发布订阅消息分发方法及系统


[0001]本专利技术涉及数据库数据传输
,具体地说是单机多客户端的发布订阅消息分发方法及系统。

技术介绍

[0002]随着人们对能源的需求越来越大,能源的采集控制越来越向着精细化控制管理,因此对能源的生产管理要求越来越精准,从而产生了数字能源这一领域,大量实时采集系统产生大量的时序数据,从而产生了对时序数据进行存储、计算等需求,尤其是对流计算,在某些场景下反馈控制系统需要知道流计算结果以进行控制、通知等操作,同时大屏展示的需求也是比较多的需求之一,同时告警系统也需要知道变化。
[0003]针对于此场景,一般采用发布/订阅模型来构建解决方案,发布/订阅消息收发是一种异步的服务间通信方式,在发布/订阅模式下,发布到主题的任何消息都会立即被主题的所有订阅者接收。发布/订阅消息收发可用于启用事件驱动架构,或分离应用程序,以提高性能、可靠性和可扩展性。时序数据流计算场景下,数据是不断产生的,并且在大规模应用的场景下用户对获取数据的性能是有很高要求的,当采用pull
‑<br/>mode的设本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种单机多客户端的发布订阅消息分发方法,其特征在于,应用于包括服务端和多个客户端的发布订阅消息系统,所述多个客户端配置于同一个单机,所述方法包括如下步骤:创建一个面向多客户端的pull请求线程,所述pull请求线程用于基于pull请求从服务端拉取主题消息;创建一个面向多客户端的全局缓存,所述全局缓存用于存储基于pull请求从服务端拉取的主题消息的数据;对于用户发布至服务端的各主题消息,基于pull请求将每个主题消息的数据存储至全局缓存中,并将每个主题消息的只读引用存储至订阅所述主题消息的每个客户端的缓存中;每个客户端获取其订阅的主题消息时,基于所述主题消息的只读引用将所述主题消息的数据从全局缓存复制至其缓存中。2.根据权利要求1所述的单机多客户端的发布订阅消息分发方法,其特征在于,还包括如下步骤:创建一个面向服务端的共享缓存;服务端将用户发布的各主题消息的数据推送至共享缓存中进行存储;基于pull请求,服务端将共享缓存中各主题消息的数据发送至全局缓存中进行存储,并将每个主题消息的只读引用存储至订阅所述主题消息的每个客户端的缓存中。3.根据权利要求1或2所述的单机多客户端的发布订阅消息分发方法,其特征在于,服务端通过copy

on

write机制将每个主题消息的只读引用存储至订阅所述主题消息的每个客户端的缓存中。4.根据权利要求1或2所述的单机多客户端的发布订阅消息分发方法,其特征在于,所述主题消息的只读引用为主题消息在全局缓存中的地址索引。5.根据权利要求1或2所述的单机多客户端的发布订阅消息分发方法,其特征在于,每个客户端的缓存中均配置有队列;对于每个客户端,所述客户端订阅主题消息的只读引用存储于其缓存内队列中。6.一种单...

【专利技术属性】
技术研发人员:刘金伟史大义孙哲华李杨
申请(专利权)人:浪潮软件集团有限公司
类型:发明
国别省市:

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

1