一种基于linx进程的节点间通信模块及方法

文档序号:7813710阅读:266来源:国知局
一种基于linx进程的节点间通信模块及方法
【专利摘要】一种基于LINX进程的节点间通信模块及方法,涉及通信【技术领域】,包括LINX基础模块、LINX PAL模块、LINX维护模块、LINX诊断模块;所述LINX基础模块为LINX通信提供内核支持,用于初始化LINX的各模块,并提供节点自动发现功能;所述LINX PAL模块用于创建LINX节点,以及接收、发送并校验数据;所述LINX维护模块用于本地节点以及远程节点的维护;所述LINX诊断模块采用CLI的方式,通过函数调用来进行诊断交互。本发明为各逻辑节点提供一套可靠的(支持分片、重传)节点间通信机制,并为节点上各进程提供跨节点通道化的通信手段,占用资源少且可靠性好。
【专利说明】一种基于LINX进程的节点间通信模块及方法

【技术领域】
[0001]本发明涉及通信【技术领域】,具体涉及一种基于LINX进程的节点间通信模块及方法。

【背景技术】
[0002]在分布式电信系统中,传统的通信方法主要包括TCP(Transmiss1n ControlProtocol,传输控制协议)和UDP (User Data Protocol,用户数据报协议)。虽然TCP的客户端以及服务端建立有一条固有通道,并且能够可靠的传输消息,但由于缺乏对于组播以及广播的支持,以及TCP对于持久性(无论是否传送数据,均需要客户端服务端保持连接)的要求高,造成单个连接消耗系统资源多。而对于UDP来说,虽然UDP支持组播以及广播,且占用系统资源较少,但是由于UDP无需建立一条固有通道,并且不具有重传机制,因此不能够可靠的传输消息(类似于邮局信件,不保证目标是否收到)。
[0003]另外,TCP和UDP不具备节点维护及管理功能,造成无法对节点进行分组管理;TCP和UDP不能实时动态管理,造成无法确定其他节点的实时状态;TCP和UDP内部不具备相应的诊断工具,需要外接扩展工具进行诊断,造成管理不便。因此,在现实生产应用中,传统的通信方法已不能满足通信要求。


【发明内容】

[0004]针对现有技术中存在的缺陷,本发明的目的在于提供一种基于LINX进程的节点间通信模块及方法,本发明为各逻辑节点提供一套可靠的(支持分片、重传)节点间通信机制,并为节点上各进程提供跨节点通道化的通信手段,占用资源少且可靠性好。
[0005]为达到以上目的,本发明采取的技术方案是:一种基于LINX进程的节点间通信模土夹,包括LINX基础模块、LINX PAL模块、LINX维护模块、LINX诊断模块;所述LINX基础模块为LINX通信提供内核支持,用于初始化LINX的各模块,并提供节点自动发现功能;所述LINX PAL模块用于创建LINX节点,以及接收、发送并校验数据;所述LINX维护模块用于本地节点以及远程节点的维护;所述LINX诊断模块采用CLI的方式,通过函数调用来进行诊断交互。
[0006]本发明还提供于LINX进程的节点间通信方法,其特征在于,包括:建立并运行节点通信网络;系统启动后,LINX动态内核加载,加载完成后,LINX内核调用LINX基础模块,建立并运行节点通信网络,其包括节点发现过程、节点运行维护过程、节点退出过程;所述节点发现过程为,系统启动时或有动态节点加入时,通过节点握手机制建立邻居关系;所述节点运行维护过程为,系统运行时通过心跳维护邻居关系;所述节点退出过程为,节点心跳超时,删除邻居关系;实现节点远程维护;在LINX基础模块建立至少一个可用节点的基础上,LINX节点维护模块实现节点远程维护,每一个节点包含一组有限状态组,每个节点之间都依赖于有限状态组的状态来维护相互之间的关系;实现逻辑节点上基于应用进程的区分化通道服务,定义服务通道类型序号,并分配给各应用进程;各应用进程在LINX基础模块建立的节点上创建DIPC通道时传入服务通道类型序号,所述服务通道类型序号在设备级联范围内全局唯一。
[0007]在上述技术方案的基础上,还包括重传机制,其具体步骤为:步骤S301.节点中的LINX PAL模块发送数据并开始计时;步骤S302.在LINX PAL模块未收到确认数据,且超过预设时间门限值的前提下,LINX PAL模块判断是否超过重传次数门限值,若是,跳转至步骤S304 ;若否,跳转至步骤S303 ;步骤S303.重传,跳转至步骤S302 ;步骤S304.结束。
[0008]在上述技术方案的基础上,还包括实现基于DIPC的远程进程调用,其调用过程为:步骤S401.发端LINX PAL模块进行阻塞发送,在回应报文返回前阻塞当前进程;步骤S402.收端LINX PAL模块收到数据后传递给应用进程,应用进程处理后将处理所需结果返回DIPC,由DIPC将结果单播回送给对应节点;步骤S403.发端LINXPAL模块收到回应后,组织好回应数据缓冲区,将被阻塞进程唤醒,并将回应的数据缓冲区返回给该应用进程,由应用进程进行后续处理。
[0009]在上述技术方案的基础上,还包括实现节点间组播、广播,所述实现节点间组播的过程为,使用组播发送前,先创建逻辑组播组,发端节点DIPC根据需要调用产品接口进行组播组的设置,DIPC根据LINX维护模块的节点维护信息生成的组播成员发送信息逐个发送,DIPC调用网管主控盘提供的组播发送接口发送报文,在组播成员范围内实现发送和应答处理;所述实现节点间广播为全框范围广播,发送给所有已知的节点,在此基础上接收所有在位节点的应答处理。
[0010]在上述技术方案的基础上,所述建立并运行节点通信网络中,LINX基础模块建立节点的具体步骤为:步骤S601.单盘上电启动,运行Iinux操作系统;步骤S602.系统加载LINX动态内核;步骤S603.LINX动态内核调用LINX基础模块,生成节点;步骤S604.运行LINXDIC进程,该进程激活自动发现节点功能,将设备需要形成相应全连接网络的节点信息写入配置节点过滤列表中的配置文件;步骤S605.LINX维护模块读取所述配置文件,等待LINX PAL模块进行数据收发。
[0011]在上述技术方案的基础上,所述LINX维护模块进行节点远程维护的具体步骤为:步骤S701.LINX维护模块根据LINX PAL模块接收到的节点数据,对该节点的状态进行判断,若节点为alive状态,跳转至步骤S702 ;若节点为dead状态,跳转至步骤S703 ;步骤S702.LINX维护模块在节点信息表中查找该节点的信息是否存在,若否,跳转至步骤S704 ;若是,跳转至步骤S705 ;步骤S703.LINX维护模块在节点信息表中查找该节点的信息是否存在,若否,跳转至步骤S706 ;若是,跳转至步骤S707 ;步骤S704.在节点信息表中添加该节点的信息;步骤S705.更新节点信息表中该节点的信息;步骤S706.忽略该条节点数据;步骤S707.删除节点信息表中该节点的信息。
[0012]在上述技术方案的基础上,还包括诊断机制,其具体步骤为:步骤S801.通过控制台输入CLI命令;步骤S802.LINX诊断模块解析该CLI命令,获取LINX维护模块提供的相应函数接口名称;步骤S803.LINX诊断模块根据该接口名称调用LINX维护模块提供的相应函数,并获取结果;步骤S804.将相应结果返回至控制台。
[0013]本发明的有益效果在于:
[0014]1、本发明基于LINX通信技术,较TCP以及UDP而言,由于本发明采用了一种非持久性连接(只有再发数据时才连接)的可靠连接技术能够保证数据正确且一定达到,因此在节省了系统资源的同时又兼顾了组播、广播、重传等特性。
[0015]2、本发明设置有LINX维护模块,具备节点维护及管理功能,因此能够对节点进行分组管理。
[0016]3、本发明设置有LINX PAL模块,能够进行实时动态管理,继而确定其他节点的实时状态。
[0017]4、本发明设置有LINX诊断模块,即内部具备相应的诊断工具,因此无需外接扩展工具进行诊断,能够方便管理。

【专利附图】

【附图说明】
[0018]图1为本发明实施例中组网方式与系统组成结构图;
[0019]图2为实施例中基于LINX进程的节点间通信模块的示意图;
[0020]图3为本发明实施例中重传机制的流程图;
[0021]图4为本发明实施例中实现基于DIPC的远程进程调用的流程图;
[0022]图5为本发明实施例中LINX基础模块建立节点的流程图;
[0023]图6为本发明实施例中LINX维护模块进行节点远程维护的流程图;
[0024]图7为本发明实施例中诊断机制的流程图。

【具体实施方式】
[0025]以下结合附图及实施例对本发明作进一步详细说明。
[0026]参见图1所示,本发明实施例提供一种基于LINX进程的节点间通信模块,包括LINX基础模块、LINX PAL模块、LINX维护模块、LINX诊断模块。
[0027]所述LINX基础模块为LINX通信提供内核支持,用于初始化LINX的各模块,并提供节点自动发现功能。
[0028]所述LINX PAL模块用于创建LINX节点,以及接收、发送并校验数据。
[0029]所述LINX维护模块用于本地节点以及远程节点的维护。
[0030]所述LINX诊断模块采用CLI (Command Line Interface,命令行接口)的方式,通过函数调用来进行诊断交互。
[0031]本发明实施例还提供一种基于LINX进程的节点间通信方法,包括:
[0032]建立并运行节点通信网络;系统启动后,LINX动态内核加载,加载完成后,LINX内核调用LINX基础模块,建立并运行节点通信网络,其包括节点发现过程、节点运行维护过程、节点退出过程;所述节点发现过程为,系统启动时或有动态节点加入时,通过节点握手机制建立邻居关系;所述节点运行维护过程为,系统运行时通过心跳维护邻居关系;所述节点退出过程为,节点心跳超时,删除邻居关系。
[0033]实现节点远程维护;在LINX基础模块建立至少一个可用节点的基础上,LINX节点维护模块实现节点远程维护,每一个节点包含一组有限状态组,每个节点之间都依赖于有限状态组的状态来维护相互之间的关系。
[0034]实现逻辑节点上基于应用进程的区分化通道服务,定义服务通道类型序号,并分配给各应用进程;各应用进程在LINX基础模块建立的节点上创建DIPC通道时传入服务通道类型序号,所述服务通道类型序号在设备级联范围内全局唯一。
[0035]实现节点间组播、广播,所述实现节点间组播的过程为,使用组播发送前,先创建逻辑组播组,发端节点DIPC根据需要调用产品接口进行组播组的设置,DIPC根据LINX维护模块的节点维护信息生成的组播成员发送信息逐个发送,DIPC调用网管主控盘提供的组播发送接口发送报文,在组播成员范围内实现发送和应答处理;所述实现节点间广播为全框范围广播,发送给所有已知的节点,在此基础上接收所有在位节点的应答处理。
[0036]支持按设定链路MTU(Maximum Transmiss1n Unit,最大传输单元)分片、重组;所述支持按设定链路MTU分片是指,在打包发送数据时,将数据封装成DIPC支持的最大数据块,DIPC按设定链路MTU进行分片;所述支持重组是指,发送端在报文分片中添加分片信息,收端将收到的分片数据与非分片数据进行区分并将分片数据缓存,直至达到预期完整分片后进行重组。
[0037]参见图3所示,重传机制的具体步骤为:
[0038]步骤S301.节点中的LINX PAL模块发送数据并开始计时。
[0039]步骤S302.在LINX PAL模块未收到确认数据,且超过预设时间门限值的前提下,LINX PAL模块判断是否超过重传次数门限值,若是,跳转至步骤S304 ;若否,跳转至步骤S303;其中,LINX PAL模块收到确认数据及未超过预设时间门限值的情形不在本发明保护的范围内。
[0040]步骤S303.重传,跳转至步骤S302。
[0041]步骤S304.结束。
[0042]参见图4所示,实现基于DIPC的远程进程调用,其调用过程为:
[0043]步骤S401.发端LINX PAL模块进行阻塞发送,在回应报文返回前阻塞当前进程。其中,LINX PAL模块是非阻塞的,属于异步消息处理。
[0044]步骤S402.收端LINX PAL模块收到数据后传递给应用进程,应用进程处理后将处理所需结果返回DIPC,由DIPC将结果单播回送给对应节点。
[0045]步骤S403.发端LINX PAL模块收到回应后,组织好回应数据缓冲区,将被阻塞进程唤醒,并将回应的数据缓冲区返回给该应用进程,由应用进程进行后续处理。
[0046]参见图5所示,建立并运行节点通信网络中,LINX基础模块建立节点的具体步骤为:
[0047]步骤S601.单盘上电启动,运行Iinux操作系统。
[0048]步骤S602.系统加载LINX动态内核。
[0049]步骤S603.LINX动态内核调用LINX基础模块,生成节点。
[0050]步骤S604.运行LINXDIC进程,该进程激活自动发现节点功能,将设备需要形成相应全连接网络的节点信息写入配置节点过滤列表中的配置文件。
[0051]步骤S605.LINX维护模块读取所述配置文件,等待LINX PAL模块进行数据收发。
[0052]参见图6所示,LINX维护模块进行节点维护的具体步骤为:
[0053]步骤S701.LINX维护模块根据LINX PAL模块接收到的节点数据,对该节点的状态进行判断,若节点为alive状态,跳转至步骤S702 ;若节点为dead状态,跳转至步骤S703。
[0054]步骤S702.LINX维护模块在节点信息表中查找该节点的信息是否存在,若否,跳转至步骤S704;若是,跳转至步骤S705。其中,节点信息表以文件的形式保存在硬盘里。程序运行时,从这个文件中读取信息并以链表的形式保存在内存中。
[0055]步骤S703.LINX维护模块在节点信息表中查找该节点的信息是否存在,若否,跳转至步骤S706 ;若是,跳转至步骤S707。
[0056]步骤S704.在节点信息表中添加该节点的信息。
[0057]步骤S705.更新节点信息表中该节点的信息。
[0058]步骤S706.忽略该条节点数据。
[0059]步骤S707.删除节点信息表中该节点的信息。
[0060]参见图7所示,诊断机制的具体步骤为:
[0061]步骤S801.通过控制台输入CLI命令。
[0062]步骤S802.LINX诊断模块解析该CLI命令,获取LINX维护模块提供的相应函数接口名称。
[0063]步骤S803.LINX诊断模块根据该接口名称调用LINX维护模块提供的相应函数,并获取结果。
[0064]步骤S804.将相应结果返回至控制台。
[0065]本发明不局限于上述实施方式,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【权利要求】
1.一种基于LINX进程的节点间通信模块,其特征在于:包括LINX基础模块、LINX PAL模块、LINX维护模块、LINX诊断模块; 所述LINX基础模块为LINX通信提供内核支持,用于初始化LINX的各模块,并提供节点自动发现功能; 所述LINX PAL模块用于创建LINX节点,以及接收、发送并校验数据; 所述LINX维护模块用于本地节点以及远程节点的维护; 所述LINX诊断模块采用CLI的方式,通过函数调用来进行诊断交互。
2.一种基于权利要求1所述模块的节点间通信方法,其特征在于,包括: 建立并运行节点通信网络;系统启动后,LINX动态内核加载,加载完成后,LINX内核调用LINX基础模块,建立并运行节点通信网络,其包括节点发现过程、节点运行维护过程、节点退出过程;所述节点发现过程为,系统启动时或有动态节点加入时,通过节点握手机制建立邻居关系;所述节点运行维护过程为,系统运行时通过心跳维护邻居关系;所述节点退出过程为,节点心跳超时,删除邻居关系; 实现节点远程维护;在LINX基础模块建立至少一个可用节点的基础上,LINX节点维护模块实现节点远程维护,每一个节点包含一组有限状态组,每个节点之间都依赖于有限状态组的状态来维护相互之间的关系; 实现逻辑节点上基于应用进程的区分化通道服务,定义服务通道类型序号,并分配给各应用进程;各应用进程在LINX基础模块建立的节点上创建DIPC通道时传入服务通道类型序号,所述服务通道类型序号在设备级联范围内全局唯一。
3.如权利要求2所述的节点间通信方法,其特征在于,还包括重传机制,其具体步骤为: 步骤S301.节点中的LINX PAL模块发送数据并开始计时; 步骤S302.在LINX PAL模块未收到确认数据,且超过预设时间门限值的前提下,LINXPAL模块判断是否超过重传次数门限值,若是,跳转至步骤S304 ;若否,跳转至步骤S303 ;步骤S303.重传,跳转至步骤S302 ; 步骤S304.结束。
4.如权利要求2所述的节点间通信方法,其特征在于,还包括实现基于DIPC的远程进程调用,其调用过程为: 步骤S401.发端LINX PAL模块进行阻塞发送,在回应报文返回前阻塞当前进程; 步骤S402.收端LINX PAL模块收到数据后传递给应用进程,应用进程处理后将处理所需结果返回DIPC,由DIPC将结果单播回送给对应节点; 步骤S403.发端LINX PAL模块收到回应后,组织好回应数据缓冲区,将被阻塞进程唤醒,并将回应的数据缓冲区返回给该应用进程,由应用进程进行后续处理。
5.如权利要求2所述的节点间通信方法,其特征在于:还包括实现节点间组播、广播,所述实现节点间组播的过程为,使用组播发送前,先创建逻辑组播组,发端节点DIPC根据需要调用产品接口进行组播组的设置,DIPC根据LINX维护模块的节点维护信息生成的组播成员发送信息逐个发送,DIPC调用网管主控盘提供的组播发送接口发送报文,在组播成员范围内实现发送和应答处理;所述实现节点间广播为全框范围广播,发送给所有已知的节点,在此基础上接收所有在位节点的应答处理。
6.如权利要求2所述的节点间通信方法,其特征在于,所述建立并运行节点通信网络中,LINX基础模块建立节点的具体步骤为: 步骤S601.单盘上电启动,运行Iinux操作系统; 步骤S602.系统加载LINX动态内核; 步骤S603.LINX动态内核调用LINX基础模块,生成节点; 步骤S604.运行LINXDIC进程,该进程激活自动发现节点功能,将设备需要形成相应全连接网络的节点信息写入配置节点过滤列表中的配置文件; 步骤S605.LINX维护模块读取所述配置文件,等待LINX PAL模块进行数据收发。
7.如权利要求2所述的节点间通信方法,其特征在于,所述LINX维护模块进行节点远程维护的具体步骤为: 步骤S701.LINX维护模块根据LINX PAL模块接收到的节点数据,对该节点的状态进行判断,若节点为alive状态,跳转至步骤S702 ;若节点为dead状态,跳转至步骤S703 ; 步骤S702.LINX维护模块在节点信息表中查找该节点的信息是否存在,若否,跳转至步骤S704 ;若是,跳转至步骤S705 ; 步骤S703.LINX维护模块在节点信息表中查找该节点的信息是否存在,若否,跳转至步骤S706 ;若是,跳转至步骤S707 ; 步骤S704.在节点信息表中添加该节点的信息; 步骤S705.更新节点信息表中该节点的信息; 步骤S706.忽略该条节点数据; 步骤S707.删除节点信息表中该节点的信息。
8.如权利要求2所述的节点间通信方法,其特征在于,还包括诊断机制,其具体步骤为: 步骤S801.通过控制台输入CLI命令; 步骤S802.LINX诊断模块解析该CLI命令,获取LINX维护模块提供的相应函数接口名称; 步骤S803.LINX诊断模块根据该接口名称调用LINX维护模块提供的相应函数,并获取结果; 步骤S804.将相应结果返回至控制台。
【文档编号】H04L12/24GK104270255SQ201410452754
【公开日】2015年1月7日 申请日期:2014年9月5日 优先权日:2014年9月5日
【发明者】李爱平, 刘华, 张宏, 夏细苟, 孟鹏, 杨磊, 宋冬生, 何玉洁 申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1