一种网络通信中间件实现方法技术

技术编号:14783720 阅读:71 留言:0更新日期:2017-03-10 09:58
本发明专利技术属于网络通信领域,涉及一种网络通信中间件实现方法。所述方法包括:设计通信协议、规范、接口;构建应用程序通信模式;确定消息传递模式:点-点(P2P)或发布/订阅(Pub/Sub);构建通信中间件,实现通信中间件消息传递;设置通信中间件服务运行配置文件;管理通信中间件日志;连接通信中间件服务,向通信中间件发送消息和从通信中间件获取消息。本发明专利技术针对厂商通信产品没有统一的标准,无法实现无缝的交互操作等问题,通过集成多种通用协议,使本发明专利技术所述方法具有良好的通用性,能够实现各种异构对象之间的网络通信,降低了不同产品间通信的复杂性,有效降低了计算环境的异构性、复杂性。

【技术实现步骤摘要】

本专利技术属于网络通信领域,特别涉及一种以通信中间件形式实现复杂网络环境下通信的方法。
技术介绍
随着网络技术飞速发展,网络的带宽和质量得到了极大地提高,独立部署的系统通过网络建立彼此间的联系,加上企业应用对网络融合、数据挖掘、经营分析的需要,促使独立系统之间的交互越来越多。企业的计算环境从传统的集中式变成了分布式。在分布式环境下,系统的异构性、网络的带宽、连接的稳定性最终影响着服务质量。为满足分布式计算环境下企业应用对性能、安全性、稳定性等方面的要求,构建基于消息中间件的数据通信系统,实现异步传递消息,将彼此独立的计算机连接起来组成松耦合的系统,可以有效地屏蔽异构细节,对外提供统一服务。作为解决异构系统通信和排队问题的有效手段,通信中间件目前还存在以下不足:(1)不同厂商通信产品没有统一的标准;(2)无法实现无缝的交互操作;(3)增加了计算环境新的异构性和复杂性。
技术实现思路
为了解决上述问题,本专利技术提出一种网络通信中间件实现方式,实现了P2P(Peer to Peer,点到点)和Pub-and-Sub两种消息交换模式,实现了消息目的地、消息制造者和消息消费者等,实现了持久化和非持久化的消息传递、同步和异步的消息接收、名字服务、事件监听机制以及多线程并发管理。通信中间件是一种独立的系统软件或服务程序,分布式应用软件借助通信中间件在不同的技术之间共享资源,通信中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。通信中间件提供以松散耦合的方式集成应用程序的一种机制,通过消息传递和消息排队的模型,实现基于存储和转发的应用程序之间的异步数据发送,支持多种通讯协议、语言、应用程序、软硬件平台。应用程序之间不直接通信,而是与作为中介的通信中间件通信,从而提供了有保证的消息发送。一种网络通信中间件实现方法包括如下骤:步骤1:设计通信协议、规范、接口。步骤2:构建应用程序通信模式。步骤3:确定消息传递模式:点-点(P2P)或发布/订阅(Pub/Sub)。步骤4:构建通信中间件,实现通信中间件消息传递。步骤5:设置通信中间件服务运行配置文件。步骤6:管理通信中间件日志。步骤7:连接通信中间件服务,向通信中间件发送消息和从通信中间件获取消息。与现有技术相比,本专利技术具有以下优点:通过集成多种通用协议,使本专利技术所述方法具有良好的通用性,能够实现各种异构对象之间的网络通信,降低了不同产品间通信的复杂性,有效降低了计算环境的异构性、复杂性。附图说明图1为本专利技术所述方法流程图;图2为本专利技术实施例通信中间件的组成框图;图3为本专利技术实施例通信流程图。具体实施方式下面对优选实施例作详细说明,应该强调的是,下述说明仅仅是示例性的,而不是为了限制本专利技术的范围及其应用。网络通信中间件实现方法的流程如图1所示,具体包括以下步骤:步骤1:设计通信协议、规范、接口。主要是梳理归纳当前应用系统之间的通信所用全部协议,对其进行归纳总结。通用的通信协议有:TCP,UDP,SNMP,Syslog,WebService,HTTP等;规范通信内容,做到上下文消息的一致;确定通信实现接口的规则,获取连接、关闭连接,发布消息、获取消息等接口,具备统一调用模式。步骤2:构建应用程序通信模式,主要包括请求-响应实时型和提交-处理非实时型两种模式。步骤3:确定消息传递模式为点-点(P2P)或发布/订阅(Pub/Sub)。将请求-响应归纳为点到点的模型(P2P)。点到点模式实现了一对一的消息交换。允许消息生产者和消息消费者采用同步或异步的方式进行消息交换。消息由一个客户机(发布者)发送到服务器上的一个目的地,即一个队列;而另一个客户机(订阅者)则可以访问这个队列,并从该服务器获取这条消息。作为消息目的地的队列遵守先进先出规则,队列把消息按照发送的顺序保存在队列中,并按顺序发送给消息接收者。所有消息都被发送到一个特定的队列,它们在这里保持到超时时间限制或由接收者处理。发送者无需知道接收者,接收者也无需知道消息是在何时何处产生。发送者和接收者可以在运行时动态地增加到消息队列中。P2P方式有以下特点:(1)每一个消息只有一个使用者,但一个队列可能会附带有多个消费者,多个制造者可以向相同的队列发送消息;(2)一个消息的发送者和接收者没有时间上的依赖关系,为了发送者和接收者同时工作,唯一需要运行的就是消息队列,客户机(制造者和消费者)不需要同时运行;(3)接收者完成对消息处理后,发出确认,消费者确认了一次接收以后,相应的消息就会被从队列中删除。将提交-处理归纳为发布/订阅模型(Pub/Sub)。发布/订阅模型实现了一对多的消息交换。由一个客户机将一条消息发布到服务器上的一个目的地(主题)上,可有多个订阅者访问该消息。消息将一直维持在主题中,直到这个主题的所有订阅者都取走了该消息的一个副本。消息也包括了一个参数,用于定义了该消息的耐久性(它能够在服务器上等待订阅者多长时间)。步骤4:构建通信中间件,实现通信中间件消息传递。如图2所示,通信中间件由JNDIServer(Java Naming and Directory Interface Server,Java名录访问接口服务器)和MSServer(Message Sending Server,消息发送服务器)两个主体部分组成。JNDIServer负责根据底层的通讯协议将名字服务与端口绑定,为通信中间件的消息分发提供基础服务。MSServer是通信中间件的核心部分,负责与客户端以及其它MSServer的通讯,同时对消息进行持久化和事务管理。MSServer由Channel(管道),Notification(通知),AgentFactory(代理工厂),AgentProxy(代理网关),Engine(引擎)等主要部分组成。Channel用于通信中间件服务器内部交换数据,是预先建立并定时检测的。Notification是通信中间件内部进行信息通知的基本形式,依赖Channel进行传递。AgentFactory负责管理维护通过通信中间件进行通讯的分布式对象。AgentProxy负责通信中间件内部的消息路由。Engine是一个多线程管理服务,提供对Agent的多线程编程。实现通信中间件消息传递的方法如下:步骤4.1:通信中间件从配置文件中读取相关配置信息并启动服务,JNDIServer根据底层的通讯协议,把名本文档来自技高网...

【技术保护点】
一种网络通信中间件实现方法,其特征在于包括以下步骤:步骤1:设计通信协议、规范、接口;梳理归纳当前应用系统之间的通信所用全部协议,对其进行归纳总结;通用的通信协议包括:TCP,UDP,SNMP,Syslog,WebService,HTTP;规范通信内容,做到上下文消息的一致;确定通信实现接口的规则,获取连接、关闭连接,发布消息、获取消息接口,具备统一调用模式;步骤2:构建应用程序通信模式;步骤3:确定消息传递模式;步骤4:构建通信中间件,实现通信中间件消息传递;步骤5:设定通信中间件服务运行配置文件;步骤6:管理通信中间件日志;通过对日志的分析掌握通信中间件的运行状况,发现和排除故障,加强通信中间件的维护和管理;步骤7:连接通信中间件服务,向通信中间件发送消息、从通信中间件获取消息;每一次消息的发布都与通信中间件建立连接,通过连接工厂快捷地建立消息连接;每次获取消息,先连接通信中间件。

【技术特征摘要】
1.一种网络通信中间件实现方法,其特征在于包括以下步骤:
步骤1:设计通信协议、规范、接口;
梳理归纳当前应用系统之间的通信所用全部协议,对其进行归纳总结;通用的通信协议
包括:TCP,UDP,SNMP,Syslog,WebService,HTTP;
规范通信内容,做到上下文消息的一致;
确定通信实现接口的规则,获取连接、关闭连接,发布消息、获取消息接口,具备统一
调用模式;
步骤2:构建应用程序通信模式;
步骤3:确定消息传递模式;
步骤4:构建通信中间件,实现通信中间件消息传递;
步骤5:设定通信中间件服务运行配置文件;
步骤6:管理通信中间件日志;
通过对日志的分析掌握通信中间件的运行状况,发现和排除故障,加强通信中间件的维
护和管理;
步骤7:连接通信中间件服务,向通信中间件发送消息、从通信中间件获取消息;
每一次消息的发布都与通信中间件建立连接,通过连接工厂快捷地建立消息连接;每次
获取消息,先连接通信中间件。
2.根据权利要求1所述的一种网络通信中间件实现方法,其特征在于,步骤2所述通信
模式包括请求-响应实时型和提交-处理非实时型两种模式。
3.根据权利要求1所述的一种网络通信中间件实现方法,其特征在于,步骤3所述消息
传递模式为点-点或发布/订阅模式:将请求-响应归纳为点-点模式;将提交-处理归纳为发布/
订阅模式。
4.根据权利要求3所述的一种网络通信中间件实现方法,其特征在于,所述点-点模式
实现一对一的消息交换;允许消息生产者和消息消费者采用同步或异步的方式进行消息交换;
消息由一个客户机即发布者发送到服务器上的一个目的地,即一个队列;而另一个客户机即
订阅者则可以访问这个队列,并从该服务器获取这条消息;作为消息目的地的队列遵守先进
先出规则,队列把消息按照发送的顺序保存在队列中,并按顺序发送给消息接收者;所有消
息都被发送到一个特定的队列,它们在这里保持到超时时间限制或由接收者处理;发送者无
需知道接收者,接收者也无需知道消息是在何时何处产生;发送者和接收者可以在运行时动
态地增加到消息队列中;所述发布/订阅模式实现一对多的消息交换...

【专利技术属性】
技术研发人员:沈艳林石波胡佳郭江郭小明胡大正吴朝雄沈德峰
申请(专利权)人:中国航天科工集团第二研究院七〇六所
类型:发明
国别省市:北京;11

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

1