本发明涉及一种基于opendds的反射内存网组织管理方法。
背景技术:
反射内存网是一种高带宽低时延的工业网络,能够在异构的复杂环境下实现分布式系统的网络通信。其工作原理为网络中的每个节点都部署一块称作反射内存卡的特殊硬件设备,同一网络内的所有节点都拥有完全相同的数据,每个节点通过读写本地的反射内存卡接收或向其他节点发送数据。在其他远程节点处,由硬件保证数据被实时更新,即网络中的每一个节点都拥有完全相同的数据。
由于反射内存网在通信机制上类似于全部节点共享同一片内存,因此需要为每一个节点划分独占的内存空间作为本节点网络通信数据的缓冲区。这会导致网络内节点越多,内存卡的独立分区也就越多,每个分区所拥有的可用空间越小。不但会导致内存卡网络带宽浪费,并且会使工程面临信道数目和单信道容量之间的取舍问题。
技术实现要素:
本发明的目的在于提供一种基于opendds的反射内存网组织管理方法。
为解决上述问题,本发明提供一种基于opendds的反射内存网组织管理方法,包括:
s1、改制opendds网络中间件,定制传输层协议,提供对反射内存卡的支持,使用管理共享内存的手段管理所述反射内存卡;
s2、组织反射内存网,在每台节点计算机上部署所述反射内存卡;
s3、在每台节点计算机上部署改制后的opendds网络中间件;
s4、编写opendds的配置文件,通过所述配置文件指定改制后的opendds网络中间件使用所定制的传输层协议进行通信;
s5、启动互发现服务,启动应用程序,组织发布订阅网络,以所述反射内存卡作为物理介质开始网络通信。
进一步的,在上述方法中,s1中,定制传输层协议,包括:
利用opendds技术的体系框架自定义传输层协议,并扩展传输层,使传输层协议支持反射内存卡通信。
进一步的,在上述方法中,s1中,定制传输层协议,包括:
使定制的传输层协议依照管理共享内存的手段管理反射内存卡的内存空间,将整片内存空间池化后统一进行动态管理。
进一步的,在上述方法中,s5、启动互发现服务,启动应用程序,组织发布订阅网络,以所述反射内存卡作为物理介质开始网络通信,包括:
所述反射内存网的组织依赖opendds提供的互发现机制,所述网络通信机制采用发布订阅模型。
进一步的,在上述方法中,组织发布订阅网络,以所述反射内存卡作为物理介质开始网络通信,包括:
在完成组织发布订阅网络之后,所述网络通信所有的通信数据通过所述反射内存卡传输。
进一步的,在上述方法中,s1、改制opendds网络中间件,定制传输层协议,提供对反射内存卡的支持,使用管理共享内存的手段管理所述反射内存卡,包括:
改制opendds工程,在transport层中基于共享内存传输层工程shmem定制rfmem工程,向transport加入对反射内存卡的支持,不改变opendds的逻辑设计,将原本用于开辟本地内存空间的函数替换为操作反射内存卡开辟空间的函数,将对本地内存的全部操作替换为对反射内存卡的操作。
进一步的,在上述方法中,s2、组织反射内存网,在每台节点计算机上部署所述反射内存卡,包括:
在分布式网络中部署反射内存卡,为每张反射内存卡设置节点号。
进一步的,在上述方法中,s3、在每台节点计算机上部署改制后的opendds网络中间件,包括:
在每台节点计算机上部署改制后的opendds网络中间件,包括其底层库tao和ace,并将rfmem作为链接库加入opendds,在网络通信应用程序中引入opendds,使用opendds机制进行网络通信。
进一步的,在上述方法中,s4、编写opendds的配置文件,通过所述配置文件指定改制后的opendds网络中间件使用所定制的传输层协议进行通信,包括:
编写opendds的配置文件,选择传输层协议为rfmem,并将配置文件发放至每台节点计算机。
进一步的,在上述方法中,s5、启动互发现服务,启动应用程序,组织发布订阅网络,以所述反射内存卡作为物理介质开始网络通信,包括:
在执行网络通信时,依照opendds的机制,首先建立组网中心节点,其次使用配置文件初始化各个通信节点,最后借助互发现机制完成组网,数据基于订阅/发布的网络模型,通过反射内存卡传输。
与现有技术相比,本发明不再使用传统的工程方法为每个内存卡分配固定读写缓冲区,而是利用opendds技术将分布式网络的通信过程抽象成类似本地共享内存的通信过程。进而采用成熟高效的共享内存管理方法管理整片反射内存卡,达到动态内存分配,网络自组织的效果。以解决反射内存网不能灵活组网,组网后无法在线增减网络节点,带宽利用率不足的问题。
附图说明
图1为本发明一实施例的opendds的原理结构图;
图2为本发明一实施例的基于opendds的反射内存网结构示意图;
图3为本发明一实施例的反射内存卡被调用过程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明一实施例的opendds的原理结构图,图中展示了传输层框架的工作位置。
如图1所示,本发明提供一种基于opendds的反射内存网组织管理方法,包括:
s1、改制opendds网络中间件,定制传输层协议,提供对反射内存卡的支持,使用管理共享内存的手段管理所述反射内存卡;
s2、组织反射内存网,在每台节点计算机上部署所述反射内存卡;
s3、在每台节点计算机上部署改制后的opendds网络中间件;
s4、编写opendds的配置文件,通过所述配置文件指定改制后的opendds网络中间件使用所定制的传输层协议进行通信;
在此,步骤s1的改制工作并未破坏opendds协议可插拔的设计,因此可以灵活替换通信协议,对通信协议的指定方式包括但不限于使用配置文件;
s5、启动互发现服务,启动应用程序,组织发布订阅网络,以所述反射内存卡作为物理介质开始网络通信。
在此,opendds是一种专为分布式系统设计的网络中间件,其优良的设计能够支持多种可插拔的协议在不通网络介质上提供实时的数据分发服务。其以数据为中心的发布订阅模式极大地降低了在网络上发送数据所需的时间消耗,为大容量传输网络提供了针对时间关键数据快速且可预见的分发,简化了分布式应用程序的开发、部署和维护过程。opendds传输层的特殊设计使得用户可以定制通信协议以应对特殊的应用场景,opendds具有为反射内存网提供节点管理服务,并解决较多节点间通信时反射内存卡带宽利用率不足的问题。
本发明不再使用传统的工程方法为每个内存卡分配固定读写缓冲区,而是利用opendds技术将分布式网络的通信过程抽象成类似本地共享内存的通信过程。进而采用成熟高效的共享内存管理方法管理整片反射内存卡,达到动态内存分配,网络自组织的效果。以解决反射内存网不能灵活组网,组网后无法在线增减网络节点,带宽利用率不足的问题。
本发明的基于opendds的反射内存网组织管理方法一实施例中,s1中,定制传输层协议,包括:
利用opendds技术的体系框架自定义传输层协议,并扩展传输层,使传输层协议支持反射内存卡通信。
本发明的基于opendds的反射内存网组织管理方法一实施例中,s1中,定制传输层协议,包括:
使定制的传输层协议依照管理共享内存的手段管理反射内存卡的内存空间,将整片内存空间池化后统一进行动态管理。
本发明的基于opendds的反射内存网组织管理方法一实施例中,s5、启动互发现服务,启动应用程序,组织发布订阅网络,以所述反射内存卡作为物理介质开始网络通信,包括:
所述反射内存网的组织依赖opendds提供的互发现机制,所述网络通信机制采用发布订阅模型。
本发明的基于opendds的反射内存网组织管理方法一实施例中,组织发布订阅网络,以所述反射内存卡作为物理介质开始网络通信,包括:
在完成组织发布订阅网络之后,所述网络通信所有的通信数据通过所述反射内存卡传输。
本发明的基于opendds的反射内存网组织管理方法一实施例中,s1、改制opendds网络中间件,定制传输层协议,提供对反射内存卡的支持,使用管理共享内存的手段管理所述反射内存卡,包括:
改制opendds工程,在transport层中基于共享内存传输层工程shmem定制rfmem工程,向transport加入对反射内存卡的支持,不改变opendds的逻辑设计,将原本用于开辟本地内存空间的函数替换为操作反射内存卡开辟空间的函数,将对本地内存的全部操作替换为对反射内存卡的操作。
shmem工程是opendds提供的使用共享内存进行本机通信的传输层协议。rfmem工程由用户自定义,使用共享内存机制管理反射内存卡,进行网络通信。shmem工程和rfmem工程的编译产物均为链接库。
在此,opendds是一种通信中间件,采用层次化的设计。transport层是opendds的传输层框架,提供了常用的传输层协议,也支持用户自定义协议。所有协议使用相同接口,并以链接库的形式加入工程,达成协议可插拔的效果。
本发明的基于opendds的反射内存网组织管理方法一实施例中,s2、组织反射内存网,在每台节点计算机上部署所述反射内存卡,包括:
在分布式网络中部署反射内存卡,为每张反射内存卡设置节点号。
本发明的基于opendds的反射内存网组织管理方法一实施例中,s3、在每台节点计算机上部署改制后的opendds网络中间件,包括:
在每台节点计算机上部署改制后的opendds网络中间件,包括其底层库tao和ace,并将rfmem作为链接库加入opendds,在网络通信应用程序中引入opendds,使用opendds机制进行网络通信。
本发明的基于opendds的反射内存网组织管理方法一实施例中,s4、编写opendds的配置文件,通过所述配置文件指定改制后的opendds网络中间件使用所定制的传输层协议进行通信,包括:
编写opendds的配置文件,选择传输层协议为rfmem,并将配置文件发放至每台节点计算机。
本发明的基于opendds的反射内存网组织管理方法一实施例中,s5、启动互发现服务,启动应用程序,组织发布订阅网络,以所述反射内存卡作为物理介质开始网络通信,包括:
在执行网络通信时,依照opendds的机制,首先建立组网中心节点,其次使用配置文件初始化各个通信节点,最后借助互发现机制完成组网,数据基于订阅/发布的网络模型,通过反射内存卡传输。
本发明一实施例中,提出的基于opendds的反射内存网组织管理方法具体步骤如下:
(1)配置opendds和反射内存卡的开发环境,改制shmem工程为rfmem工程。在opendds的transport框架中规定了标准的传输层接口,改制工作需要实现如表1所示的接口类。rfmem传输协议的工作位置如图1所示,在本步骤中完成了适用于本发明的opendds改制。
(2)组织反射内存网,网络中的每台节点计算机上部署反射内存卡,设置每块板卡的id,并通过光纤连接至光交换机。在每台节点计算机上部署经过改制的opendds。网络的具体订阅/发布形态由应用程序决定,并且能够随时更改。
(3)编写配置文件,按照格式指定协议为rfmem。
(4)启动opendds的inforepo完成所有节点之间的互发现。启动应用程序,进行通信。图2给出了一种可能的连接形态,物理网络为星形拓扑,在某一时刻由节点a充当发布者,向充当订阅者的节点b和节点c发布数据。图3展示了通信执行时,数据流经反射内存卡的过程,描述了反射内存卡的工作位置。
综上所述,反射内存网具有高带宽低时延实时同步的网路特性,但使用上只提供了最基本的收发函数,需要额外的网络管理手段。传统的手段采用固定的网络形式会造成带宽浪费,也无法支持动态组网。本发明利用opendds订阅/发布的模式将通信双方抽象成发布者和订阅者,通信双方松耦合的网络形式使得网络节点可以随时加入订阅或取消订阅,实现网络节点的实时更新、网络在线重组;仿照共享内存的方式管理反射内存网,能够随时开辟内存空间,灵活控制缓冲区大小,不再需要由用户手动控制内存偏移量,保证反射内存卡内存空间的高效利用。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
1.一种基于opendds的反射内存网组织管理方法,其特征在于,包括:
s1、改制opendds网络中间件,定制传输层协议,提供对反射内存卡的支持,使用管理共享内存的手段管理所述反射内存卡;
s2、组织反射内存网,在每台节点计算机上部署所述反射内存卡;
s3、在每台节点计算机上部署改制后的opendds网络中间件;
s4、编写opendds的配置文件,通过所述配置文件指定改制后的opendds网络中间件使用所定制的传输层协议进行通信;
s5、启动互发现服务,启动应用程序,组织发布订阅网络,以所述反射内存卡作为物理介质开始网络通信。
2.如权利要求1所述的基于opendds的反射内存网组织管理方法,其特征在于,s1中,定制传输层协议,包括:
利用opendds技术的体系框架自定义传输层协议,并扩展传输层,使传输层协议支持反射内存卡通信。
3.如权利要求1所述的基于opendds的反射内存网组织管理方法,其特征在于,s1中,定制传输层协议,包括:
使定制的传输层协议依照管理共享内存的手段管理反射内存卡的内存空间,将整片内存空间池化后统一进行动态管理。
4.如权利要求1所述的基于opendds的反射内存网组织管理方法,其特征在于,s5、启动互发现服务,启动应用程序,组织发布订阅网络,以所述反射内存卡作为物理介质开始网络通信,包括:
所述反射内存网的组织依赖opendds提供的互发现机制,所述网络通信机制采用发布订阅模型。
5.如权利要求1所述的基于opendds的反射内存网组织管理方法,其特征在于,组织发布订阅网络,以所述反射内存卡作为物理介质开始网络通信,包括:
在完成组织发布订阅网络之后,所述网络通信所有的通信数据通过所述反射内存卡传输。
6.如权利要求1所述的基于opendds的反射内存网组织管理方法,其特征在于,s1、改制opendds网络中间件,定制传输层协议,提供对反射内存卡的支持,使用管理共享内存的手段管理所述反射内存卡,包括:
改制opendds工程,在transport层中基于共享内存传输层工程shmem定制rfmem工程,向transport加入对反射内存卡的支持,不改变opendds的逻辑设计,将原本用于开辟本地内存空间的函数替换为操作反射内存卡开辟空间的函数,将对本地内存的全部操作替换为对反射内存卡的操作。
7.如权利要求1所述的基于opendds的反射内存网组织管理方法,其特征在于,s2、组织反射内存网,在每台节点计算机上部署所述反射内存卡,包括:
在分布式网络中部署反射内存卡,为每张反射内存卡设置节点号。
8.如权利要求1所述的基于opendds的反射内存网组织管理方法,其特征在于,s3、在每台节点计算机上部署改制后的opendds网络中间件,包括:
在每台节点计算机上部署改制后的opendds网络中间件,包括其底层库tao和ace,并将rfmem作为链接库加入opendds,在网络通信应用程序中引入opendds,使用opendds机制进行网络通信。
9.如权利要求1所述的基于opendds的反射内存网组织管理方法,其特征在于,s4、编写opendds的配置文件,通过所述配置文件指定改制后的opendds网络中间件使用所定制的传输层协议进行通信,包括:
编写opendds的配置文件,选择传输层协议为rfmem,并将配置文件发放至每台节点计算机。
10.如权利要求1所述的基于opendds的反射内存网组织管理方法,其特征在于,s5、启动互发现服务,启动应用程序,组织发布订阅网络,以所述反射内存卡作为物理介质开始网络通信,包括:
在执行网络通信时,依照opendds的机制,首先建立组网中心节点,其次使用配置文件初始化各个通信节点,最后借助互发现机制完成组网,数据基于订阅/发布的网络模型,通过反射内存卡传输。
技术总结