一种传输接入点及其构成的传输平台及进程间通信的方法技术

技术编号:3546922 阅读:213 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种传输接入点,包括:状态维护模块、数据链路维护模块、数据收发模块以及对外接口封装模块。本发明专利技术还公开了一种传输平台,该平台由传输接入点构成,且包括:用于传输应用程序数据的数据传输平面,以及用于传送传输接入点的状态信息的状态维护平面。本发明专利技术又公开了基于该传输平台的进程间通信的方法,包括:应用程序需要首先创建传输接入点;在初始化相应的传输接入点后,调用传输接入点的发送方法发送数据,并通过数据回调接口接收数据;在通信完成后删除相应的传输接入点。应用本发明专利技术所述的传输接入点及其构成的传输平台以及实现方法可以实现可靠高效的进程间通信,并且易于编程实现、易于使用。

【技术实现步骤摘要】
一种传输接入点及其构成的传输平台及进程间通信的方法
本专利技术涉及到进程间通信,特别涉及到一种传输接入点、由该传输接入点构成的传输平台以及基于该传输平台实现进程间通信的方法。
技术介绍
近年来,随着计算机网络技术的日益成熟、网络规模的不断扩大、计算机硬件水平的飞速提高以及用户需求越来越复杂,满足用户需求的软件系统也越来越庞大,所有这些都促使软件系统从单机的应用软件时代迈入大型分布式的应用软件时代。分布式软件系统是指系统在运行时,整个软件系统被分割成不同的部分,这些部分分布在不同的进程中运行,各部分之间通过各种通信手段进行相互通信,将运行结果有机的结合起来,对外形成一个整体,提供强大的服务功能。在分布式系统的开发过程中,最关键的问题是如何在分布于不同进程的对象之间灵活高效的通信。由于计算机网络通信技术和分布式软件系统已经发展了很多年,因此,已经形成了多种进程间通信模式。其中,最为普通,也是最基础的通信模式就是套接字(Socket)方式。Socket是网络通信的基本构件,是可以被命名和寻址的通信端点。它将操作系统中网络通信的核心协议封装起来,为应用程序提供了调用网络通信协议的统一接口。使用Socket,应用程序可以调用TCP/IP协议栈进行进程间通信,也可以直接建立数据链路层的连接。图1为现有技术中应用程序通过Socket调用TCP/IP协议核心的示意图。从图1中可以看出,Socket为应用程序提供了调用TCP/IP协议核心的统一-->接口,应用程序通过调用Socket提供的接口实现进程间的通信。应用Socket模式虽然可以有效的进行进程之间的通信,但是,由于Socket要支持多种操作系统以及支持多种通信协议,因此,Socket本身比较复杂。这对于进行网络编程的工作人员来讲,就存在着网络编程复杂、工作量大以及重复劳动等问题。鉴于普通Socket方式的基础性和开发的复杂性,有很多软件厂商在Socket的基础之上构建出了很多通信中间件。中间件不是一个孤立的软件,而是一个独立的软件层。它提供了应用软件与硬件平台或者操作系统之间的通用服务,能够屏蔽操作系统和网络协议的差别,能为不同硬件平台或者不同的操作系统提供通信服务。中间件可以屏蔽硬件和网络,提供并优化通信机制,使服务器的位置透明,提供应用程序的可扩展性和高可用性,保证交易和数据的一致,保证消息的可靠传输,提供应用程序的安全机制等。中间件可以根据其应用分成多个种类,包括基于数据库的数据访问中间件、基于远程过程调用的中间件、消息中间件以及事务处理中间件等等。其中,进程间通信常用的中间件类型为消息中间件,消息中间件位于应用软件和操作系统之间,通过将信息以消息的方式在进程间传递来完成信息传输,消息中间件允许开发者及用户连接不同系统之间的数据和代码,或采用一致的界面进行应用处理的互联,从而可以大大的方便分布式系统的开发。目前,由于上述各种中间件均是由各个软件厂商独立开发的,还没有统一的标准,因此,模型和接口形式也不尽相同。但是,不管传统的消息中间件是以什么形式出现的,大部分消息中间件一般都具有下述两个特点:1、消息中间件将通信节点的状态维护和节点间的数据传输进行统一管理,即使用相同的通道来传输状态信息和数据;2、在数据传输的时候,先由消息中间件的一个中间实体对所要发送的-->数据进行缓存,然后由另外的线程或者进程进行数据的分发。图2为传统消息中间件的工作模式示意图。如图2所示,在发送端,信息的发送者,即消息的发布节点,将消息发送到分布在网络中各节点的服务实体,即状态和数据的缓冲队列进行缓存,然后再由服务实体中的分发线程发送到接收节点的服务实体进行缓存,最后再由服务实体的分发线程分发给相应的接收节点,即信息的接收者。从以上的分析可以看出,采用消息中间件进行进程间通信虽然具有易于使用,易于集成,高可靠性等优点。但是,由于大部分的消息中间件使用相同的通道来传输状态信息和数据,无法兼顾状态信息和数据两种信息对于传输的不同需求,例如,状态信息一般要求是广播方式或者多播方式的,而数据一般要求是点对点的高性能传输;另外,很多中间件在数据传输的时候不是采用节点之间直接进行传送,而是先由一个中间实体对所要发送的数据进行缓存,然后由另外的线程或者进程进行数据的分发,因此,很多消息中间件虽然功能非常完善,但是节点之间往往并不能取得较高的数据传输性能,不能满足高性能的数据传输要求。
技术实现思路
有鉴于此,本专利技术的一个目的就是提供一种传输接入点,易于编程实现、并且易于使用。本专利技术的另一个目的就是提供一种由该传输接入点构成的传输平台,可以实现可靠并且高效的进程间通信。本专利技术的又一个目的就是提供该传输平台实现进程间通信的方法,可以实现可靠并且高效的进程间通信,并且易于网络编程人员实现、使用。为了实现上述目的,本专利技术公开了一种传输接入点,该传输接入点包括:状态维护模块,用于实现传输接入点之间状态信息传输和维护;数据链路维护模块,用于与对端的传输接入点确定一条数据链路;数据收发模块,用于实现应用程序数据的接收和发送;以及对外接口封装模块,用于为应用程序-->提供管理和数据传输的接口;应用程序通过对外接口封装模块修改所属传输接入点的状态;状态维护模块保存并发送本传输接入点的状态信息到除自身之外的其他传输接入点;对外接口封装模块接收状态维护模块接收的除自身之外其他传输接入点的状态信息,并上传给应用程序。同时,对外接口封装模块从应用程序接收待发送的数据,并将该数据发送至数据收发模块;从数据收发模块接收数据,上传给应用程序。上述对外接口封装模块进一步包括:传输接入点的管理维护接口,用于支持应用程序创建、删除、使能、禁用一个传输接入点;注册或者注销一个传输接入点的消息类型;或发送数据到其他的传输接入点;状态的回调接口,用于将除自身以外的其他传输接入点的状态信息上传给应用程序;数据的回调接口,用于将接收到的数据上传给应用程序;以及目标选择策略回调接口,用于在应用程序没有指定通信的目标传输接入点时,指示应用程序选择一个目标传输接入点。另外,所述传输接入点进一步包括:数据和状态桥接模块;所述数据和状态桥接模块位于对外接口封装模块与状态维护模块、数据收发模块之间;用于保证状态维护平面和数据传输平面协同工作。上述状态维护模块进一步包括:记录传输接入点状态信息的状态映射表,所述状态映射表包含同一个簇中其他所有传输接入点的状态信息。上述状态信息包括传输接入点的名称、当前状态以及注册的消息类型。本专利技术还公开了一种传输平台,该传输平台由一个以上的传输接入点构成;并且所述传输平台上的所有传输接入点分别通过数据传输平面和状态维护平面相连接;其中,每个传输接入点包括:状态维护模块、数据链路维护模块、数据收发模块、对外接口封装模块;在数据传输平面,每个传输接入点通过自身的数据链路维护模块与同一簇中的其他所有传输接入点建立点对点的TCP连接,并通过自身的数据收发模块在建立的TCP连接上接收和发送数据;在状态维护平面,每个传输接入点通过自身的状态维护模块与同-->一簇中其他传输接入点交互状态信息。在上述传输平台中,同一对传输接入点之间只存在一个TCP连接。不同消息类型的数据消息复用同一TCP连接。上述状态信息包括传输接入点的本文档来自技高网
...

【技术保护点】
一种传输接入点,其特征在于,所述传输接入点包括:状态维护模块,用于实现传输接入点之间状态信息传输和维护;数据链路维护模块,用于与对端的传输接入点确定一条数据传输链路;数据收发模块,用于实现应用程序数据的接收和发送操作 ;以及对外接口封装模块,用于为应用程序提供管理和数据传输的接口;应用程序通过对外接口封装模块修改所属传输接入点的状态;状态维护模块保存并发送本传输接入点的状态信息到除自身之外的其他传输接入点;对外接口封装模块接收状态 维护模块接收的除自身之外其他传输接入点的状态信息,并上传给应用程序;对外接口封装模块从应用程序接收待发送的数据,并将该数据发送至数据收发模块;从数据收发模块接收数据,上传给应用程序。

【技术特征摘要】
1、一种传输接入点,其特征在于,所述传输接入点包括:状态维护模块,用于实现传输接入点之间状态信息传输和维护;数据链路维护模块,用于与对端的传输接入点确定一条数据传输链路;数据收发模块,用于实现应用程序数据的接收和发送操作;以及对外接口封装模块,用于为应用程序提供管理和数据传输的接口;应用程序通过对外接口封装模块修改所属传输接入点的状态;状态维护模块保存并发送本传输接入点的状态信息到除自身之外的其他传输接入点;对外接口封装模块接收状态维护模块接收的除自身之外其他传输接入点的状态信息,并上传给应用程序;对外接口封装模块从应用程序接收待发送的数据,并将该数据发送至数据收发模块;从数据收发模块接收数据,上传给应用程序。2、如权利要求1所述的传输接入点,其特征在于,所述对外接口封装模块包括:传输接入点的管理维护接口,用于支持应用程序创建、删除、使能、禁用一个传输接入点;注册或者注销一个传输接入点的消息类型;或发送数据到其他的传输接入点;状态的回调接口,用于将除自身以外的其他传输接入点的状态信息上传给应用程序;数据的回调接口,用于将接收到的数据上传给应用程序;以及目标选择策略回调接口,用于在应用程序没有指定通信的目标传输接入点时,指示应用程序选择可以通信的目标传输接入点。3、如权利要求1所述的传输接入点,其特征在于,所述传输接入点进一步包括:数据和状态桥接模块;所述数据和状态桥接模块位于对外接口封装模块与状态维护模块、数据收发模块之间;用于保证状态维护平面和数据传输平面协同工作。4、如权利要求1所述的传输接入点,其特征在于,所述的状态维护模块进一步包括:记录传输接入点状态信息的状态映射表,所述状态映射表包含同一个簇中其他所有传输接入点的状态信息。5、如权利要求1、2、3或4所述的传输接入点,其特征在于,所述的状态信息包括传输接入点的名称、当前状态以及注册的消息类型。6、一种传输平台,其特征在于,所述的传输平台由一个以上的传输接入点构成;并且所述传输平台上的所有传输接入点分别通过数据传输平面和状态维护平面相连接;每个传输接入点包括:状态维护模块、数据链路维护模块、数据收发模块、对外接口封装模块;在数据传输平面,每个传输接入点通过自身的数据链路维护模块与同一簇中的其他所有传输接入点建立点对点的TCP连接,并通过自身的数据收发模块在建立的TCP连接上接收和发送数据;在状态维护平面,每个传输接入点通过自身的状态维护模块与同一簇中其他传输接入点交互状态信息。7、如权利要求6所述的传输平台,其特征在于,同一对传输接入点之间只存在一个TCP连接,不同消息类型的数据消息复用同一TCP连接。8、一种在传输平台上实现进程间通信的方法,其特征在于,所述的传输平台是由传输接入点构成的,所述实现进程间通信的方法包括以下步骤:a...

【专利技术属性】
技术研发人员:董祖雄
申请(专利权)人:普天信息技术研究院
类型:发明
国别省市:11[中国|北京]

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

1