消息服务方法及消息服务器技术

技术编号:37822090 阅读:23 留言:0更新日期:2023-06-09 09:58
本披露公开了一种消息服务方法及消息服务器。该方法包括:包括:接收生产者发出的第一消息字节流;确定第一消息字节流的协议类型;根据协议类型对第一消息字节流进行反序列化处理,以得到对应的协议对象;对协议对象进行格式转换,以得到第二消息字节流;第二消息字节流的格式与消费者的协议类型相匹配。通过本披露公开的方法能够对第一消息字节流中的协议类型进行识别,从而指导消息字节流的反序列化和格式转换过程,进而实现消息服务主动适配各种客户端的通信方式。各种客户端的通信方式。各种客户端的通信方式。

【技术实现步骤摘要】
消息服务方法及消息服务器


[0001]本披露一般涉及物联网通信
更具体地,本披露涉及一种消息服务方法及消息服务器。

技术介绍

[0002]随着物联网(IOT,Internet of Things)的普及,大量设备与系统平台之间的数据交互成为必然,IOT平台需要为这些海量的数据交互提供高效的通信服务能力,为后续业务系统的数据计算、数据挖掘等提供基础的数据保障。
[0003]消息服务是分布式服务场景下常用的通信服务组件之一,可以有效实现通信双方之间的异步交互、服务解耦和限流削峰,降低系统依赖的耦合度,保障交互双方间的稳定可靠通信。
[0004]在物联网场景下,消息服务的客户端往往由不同机构设计和研发,客户端的功能、运行环境也是多种多样,客户端的设计者出于对功能和制约条件的考虑,会采用一些适配物联网场景的公共协议或定制协议,这就造成客户端通信协议的多样性。而消息服务的客户端通常不易进行适配消息服务的改造,有鉴于此,亟需提供一种消息服务方案,以便主动适配各种客户端的通信方式。

技术实现思路

[0005]为了至少解本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种消息服务方法,其特征在于,包括:接收生产者发出的第一消息字节流;确定所述第一消息字节流的协议类型;根据所述协议类型对所述第一消息字节流进行反序列化处理,以得到对应的协议对象;对所述协议对象进行格式转换,以得到第二消息字节流;所述第二消息字节流的格式与消费者的协议类型相匹配。2.根据权利要求1所述的消息服务方法,其特征在于,所述根据所述协议类型对所述第一消息字节流进行反序列化处理,以得到对应的协议对象,包括:根据所述第一消息字节流的协议类型创建对应类型的协议对象;调用所述对应类型的协议对象的解析方法,以将所述第一消息字节流解析为所述协议对象的属性。3.根据权利要求1所述的消息服务方法,其特征在于,所述第一消息字节流包括:报文字节特征;在所述消息服务过程中,响应于所述生产者与服务器建立通信连接,所述服务器生成生产者客户端通道对象,所述生产者客户端通道对象包括:端口特征;所述确定所述第一消息字节流的协议类型,包括:根据所述报文字节特征和/或所述端口特征,确定所述第一消息字节流的协议类型。4.根据权利要求1所述的消息服务方法,其特征在于,所述对所述协议对象进行格式转换,以得到第二消息字节流,包括:对所述协议对象进行路由信息的提取;根据所述路由信息确定对应的格式转换方法;通过所述对应的格式转换方法,根据所述协议对象生成消息数据;对所述消息数据进行序列化处理,以得到所述第二消息字节流。5.根据权利要求4所述的消息服务方法,其特征在于,所述路由信息包括:路由标识、路由方式、客户端标识和生产者客户端通道路由标签;其中,所述路由标识为指示消费者客户端通道的唯一标识,所述路由标识与格式转换方法存在映射关系;所述客户端标识为指示生产者客户端通道的唯一标识;所述生产者客户端通道路由标签用于表示生产者客户端通道是否用于路由;所述生产者客户端通道为生产者与服务器建立通信连接时所产生的通道,其以生产者客户端通道对象的形式存储在服务器内部。6.根据权利要求5所述的消息服务方法,其特征在于,所述对所述消息数据进行序列化处理,以得到所述第二消息字节流之前,还包括:根据所述路由信息和所述生产者客户端通道对象,生成发送对象。7.根据权利要求6所述的消息服务方法,其特征在于,所述路由方式包括:第一路由方式和第二路由方式;若所述路由方式为第一路由方式,所述根据所述路由信息和所述生产者客户端通道对象,生成发送对象,包括:根据所述路由标识和所述客户端标识在服务器缓存中查询匹配的消费者客户端通道;
若所述匹配的消费者客户端通道与生产者客户端通道位于同一服务节点,则基于所述路由信息和所述匹配的消费者客户端通道生成发送对象,所述发送对象的发送方式为使用现有通道;若所述匹配的消费者客户端通道与生产者客户端通道未位于同一服务节点,则判断二者所在服务节点是否已有连接通道,若是,则基于所述路由信息和所述匹配的消费者客户端通道生成发送对象,所述发送对象的发送方式为使用现有通道;若否,则基于所述路由信息和匹配的消费者客户端的通信配置信息生成发送对象,所述发送对象的发送方式为建立新通道。8.根据权利要求7所述的消息服务方法,其特征在于,若所述路由方式为第一路由方式,所述根据所述路由标识和所述客户端标识在服务器缓存中查询匹配的消费者客户端通道之后,还包括:若未查询到所述匹配的消费者客户端通道,则生成异常消息,并存储所述消息数据和所述路由信息。9.根据权利要求7所述的消息服务方法,其特征在于,若所述路由方式为第二路由方式,所述根据所述路由信息和所述生产者客户端通道对象,生成发送对象,包括:根据所述路由标识和所述客户端标识在服务器缓存中查询匹配的消费者客户端通道;在服务器缓存中查询所述匹配的消费者客户端通道对应的通信配置信息;根据所述路由信息和所述通信配置信息生成发送对象,所述发送对象的发送方式为建立新通道。10.根据权利要求6所述的消息服务方法,其特征在于,所述对所述消息数据进行序列化处理,以得到第二消息字节流,包括:从所述消息数据和所述发送对象中获取所述协议类型所需信息;将所述协议类型所需信息封装至所述协议对象的属性中;调用所述协议对象的编码方法,以生成所述第二消息字节流。11.根据权利要求6所述的消息服务方法,其特征在于,所述对所述消息数据进行序列化处理,以得到第二消息字节流之后,还包括:根据所述发送对象的发送方式执行对应的发送方法,将所述第二消息字节流发送至消费者。12.一种消息服务器,其特征在于,包括:消息交互单元,其包括:接收模块和协议识别解析模块;其中...

【专利技术属性】
技术研发人员:傅晨雪温强王威吕述利王树雪
申请(专利权)人:河南合众伟奇云智科技有限公司
类型:发明
国别省市:

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

1