【技术实现步骤摘要】
消息订阅方法、装置、系统、电子设备及存储介质
本专利技术涉及物联网
,特别是涉及一种消息订阅方法、装置、系统、电子设备及存储介质。
技术介绍
消息队列遥测传输(MessageQueuingTelemetryTransport,MQTT)协议是一种基于发布/订阅(publish/subscribe)模式的通讯协议,广泛应用于物联网行业。目前,基于MQTT协议进行消息发布和消息订阅所对应的消息处理过程中,所采用的开源消息代理软件可以为mosquitto,RabbitMQ(RabbitMessageQueue),事件派发器(EventEmitter),ActiveMQ(ActiveMessageQueue)等,其中,mosquitto是一款实现了消息推送协议MQTTv3.1的开源消息代理软件,RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件,ActiveMQ是Apache软件基金会研发的开放源代码消息中间件。如图1所示,图1为现有MQTT系统的一种结构示意图。该MQTT系统中包括消息发布客户端、 ...
【技术保护点】
1.一种消息订阅方法,其特征在于,应用于消息队列遥测传输MQTT集群中的第一从服务设备,所述MQTT集群包括主服务设备、至少一个从服务设备以及共享文件存储设备,所述方法包括:/n按照预设时间间隔,请求获取共享文件锁,所述共享文件锁是所述主服务设备出现异常时释放的;/n在获取到所述共享文件锁后,作为主服务设备接收第一客户端发送的第一消息的订阅请求;/n基于所述订阅请求,在所述第一消息的预设有效时长内,从所述共享文件存储设备中获得所述第一消息;/n向所述第一客户端发送所述第一消息。/n
【技术特征摘要】 【专利技术属性】
1.一种消息订阅方法,其特征在于,应用于消息队列遥测传输MQTT集群中的第一从服务设备,所述MQTT集群包括主服务设备、至少一个从服务设备以及共享文件存储设备,所述方法包括:
按照预设时间间隔,请求获取共享文件锁,所述共享文件锁是所述主服务设备出现异常时释放的;
在获取到所述共享文件锁后,作为主服务设备接收第一客户端发送的第一消息的订阅请求;
基于所述订阅请求,在所述第一消息的预设有效时长内,从所述共享文件存储设备中获得所述第一消息;
向所述第一客户端发送所述第一消息。
2.根据权利要求1所述的方法,其特征在于,所述共享文件存储设备中存储的第一消息携带有所述第一消息的第一接收时间;
所述基于所述订阅请求,在所述第一消息的预设有效时长内,从所述共享文件存储设备中获得所述第一消息的步骤,包括:
基于所述订阅请求,从所述共享文件存储设备中获得当前时间与所述第一接收时间之间的时间差小于所述预设有效时长的第一消息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述当前时间与所述第一接收时间之间的时间差不小于所述预设有效时长时,丢弃所述共享文件存储设备中存储的第一消息。
4.根据权利要求1所述的方法,其特征在于,在获取到所述共享文件锁之后,所述方法还包括:
作为主服务设备接收所述第二客户端发布的第二消息;
根据所述第二消息的第二接收时间,将携带有所述第二接收时间的第二消息作为待订阅消息,存储到所述共享文件存储设备中。
5.根据权利要求4所述的方法,其特征在于,所述第一消息为所述主服务设备在接收到第二客户端发布的待订阅信息后,存储到所述共享文存储设备中的;或
所述第一消息为所述第二消息。
6.根据权利要求1所述的方法,其特征在于,所述按照预设时间间隔,请求获取共享文件锁的步骤,包括:
按照预设时间间隔,与所述MQTT集群中的其他从服务设备同时请求获取共享文件锁。
技术研发人员:肖江,
申请(专利权)人:北京金山云网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。