一种机器人中间件命名服务自稳定方法

文档序号:6513244阅读:164来源:国知局
一种机器人中间件命名服务自稳定方法
【专利摘要】本发明属于机器人领域,公开了一种机器人中间件命名服务自稳定方法。首先,在系统中加入多个备用命名服务器,对系统通信结构进行改进,使新加入的命名服务器与当前系统进行正常通信,并为命名服务器定义多个运行状态;然后,根据命名服务器所在计算机及自身状态对其进行评价,得到一个代表命名服务器所处环境健康程度的标识码;最后,以命名服务器所处环境的健康度为标准,从备用命名服务器中选举出健康度最高的一个进入领导者状态。本发明引入分布式计算中的选举概念,达到了命名服务器自稳定的效果;通过信息熵思想提出命名服务器所处环境健康度状况的数学评价模型,为评价命名服务器运行环境提供了合理有效的解决方案。
【专利说明】一种机器人中间件命名服务自稳定方法
【技术领域】
[0001]本发明属于机器人领域,涉及机器人控制软件命名服务器自稳定方法,特别是系统结构改进方法,动态模型改进方法,命名服务器评价方法,选举方法。
【背景技术】
[0002]OpenRTM-aist是由日本国家高级产业科学技术研究院(AIST)研发的开源中间件平台,米用 C0RBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)体系结构。RTM技术有效屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少了程序设计的复杂性,并且消除了开发语言和网络协议间的差异,为机器人系统开发提供了多种通信服务机制。在智能机器人系统中,引入OpenRTM-aist平台,将不同的功能分割为不同的模块,并封装成为RT-Component,通过通信网络将各模块组合构成机器人系统。其核心优势在于,它给机器人的硬件及软件开发提供了标准平台,增强了软件资源和功能构件的可再利用性,避免了大量重复工作,缩短了开发周期,减低了开发成本;不仅如此,RTM技术还使系统的各个中间件通过通信网络将各种机器人要素进行自由组合,从而利用现有的模块资源构成多样化的机器人系统。
[0003]命名服务作为CORBA中的一项重要服务,提供了一种为对象设置名称的方法,使用户通过这些事先约定的名称获取对象实例,而不用记住复杂的IOR (InteroperableObject Reference,可互操作对象引用)字符串。不仅如此,在RTM系统中,机器人模块必须将自身信息注册到命名服务器中,以便使用者通过命名服务器查找当前存在模块的信息,因此它还是系统中的核心进程,保存着所有其它可用模块的数据信息。当命名服务器因为网络阻塞等原因导致其不能正常工作后,已经连接的机器人模块会继续运行而使用者却没有访问的权限,使用者不能创建新的模块或控制当前的机器人模块系统,这将会导致一系列严重的后果。RTM系统中存在的此类问题,目前还没有找到合适的解决方法。

【发明内容】

[0004]针对机器人系统中存在的上述问题,本发明提供了一种OpenRTM-aist平台命名服务器自稳定的方法。本发明通过改进机器人中间件系统结构,评价命名服务器运行状况,并根据评价结果实现命名服务器的自稳定。
[0005]本发明采用如下技术方案:首先,在系统中加入多个备用命名服务器,对系统通信结构进行改进,使新加入的命名服务器与当前系统进行正常通信,为命名服务器定义多个运行状态,为将要进行的选举过程做铺垫;然后,根据命名服务器所在计算机及自身状态对其进行评价,得到一个能够正确表示上述信息的标识码,该标识码代表了命名服务器所处环境的健康程度;最后,以命名服务器所处环境的健康度为标准,从备用的命名服务器中选举出健康度最高的一个作为系统新的命名服务器,替换异常的命名服务器。将命名服务器自稳定的问题转换为多个命名服务器的控制方法问题。
[0006]一种机器人中间件命名服务自稳定方法,其特征在于包括以下步骤:[0007]步骤一,改进系统结构。
[0008]在原始系统的通信结构中,机器人控制程序模块(以下简称“模块”)、用户(系统编辑器)及命名服务器各部分间的通信连接规则如下:
[0009](I)通过系统编辑器到命名服务的单向通信,用户获取模块列表和进行对模块可访问性的更改。
[0010](2)通过模块到命名服务器的单向通信,模块将自身信息注册到命名服务器中,以使用户能够从命名服务器获取模块相关信息。
[0011](3)通过系统编辑器到模块的单向通信,用户能够获取及设置模块的配置文件,并控制或对其加载其它组件。
[0012](4)通过模块到模块间的双向通信,模块依靠用户设定的虚拟连接相互通信。
[0013]在新系统中,加入新的命名服务器,因此上述通信规则不能满足新系统的需要。在新系统中进行如下改进:
[0014](I)在网络上分布的节点中加入备用命名服务器。
[0015](2)对原系统中命名服务器与模块或与用户间的通信规则进行改进,使命名服务器在选举过程中与其它部分的交互正常进行。
[0016](3)增加命名服务器间的通信规则,使命名服务器在选举过程中正确传递选举信
肩、O
[0017]步骤二,定义命名服务器状态机。
[0018]将命名服务器定义为4种状态:初始化状态,备用状态,选举状态,领导者状态。
[0019]初始化状态为命名服务器会进行初始化过程的状态。当命名服务器处于初始化状态时,会向其他处于领导者状态或备用状态的命名服务器发送请求以获取模块信息,随后进入备用状态。命名服务器不会长时间处于初始化状态。
[0020]备用状态为命名服务器负责备份信息和确认领导者运行状态的状态。大部分命名服务器长时间处于备用状态,在该状态下,命名服务器需要与处于领导者状态的命名服务器进行交互,其目的首先是备份所有可用模块的数据信息,并在领导者发生异常后能够正确连接正在运行的模块;其次,与领导者进行间隔一定时间的简单通信可以检测领导者是否正常工作,并在领导者发生异常后能够及时发现并进行处理,通知其它模块进入选举过程。
[0021]选举状态为命名服务器进行选举的状态。如果有备用命名服务器在通信过程中发现领导者异常,在该备用命名服务器发起选举后,所有模块通知相邻未进入选举状态的模块进入该状态,且发起选举的命名服务器会向用户即系统编辑器发送选举通知,随后,按选举方法完成选举过程,被选举出的命名服务器进入领导者状态,其它命名服务器返回备用状态。
[0022]领导者状态为执行命名服务器功能的状态。在RTM系统中,只有一个命名服务器处于领导者状态,并履行命名服务器职责,负责协调模块间工作。从备用状态进入领导者状态后,向其它命名服务器及用户告知命名服务器选举结束,并将自身地址信息发送给用户、模块及其它命名服务器。
[0023]步骤三,计算命名服务器标识码。
[0024]建立多属性矩阵,通过处理矩阵得到一个消除量纲差异的综合的属性评价值作为标识码,该标识码的大小可以全面表达命名服务器所处环境的健康度状况。
[0025]标识码是区分命名服务器的重要依据,标识码的大小主要用于判断该命名服务器的健康度。健康度,就是对于命名服务器是否能够更好的实现其功能的评价指标。标识码由以下几个命名服务器所在计算机的属性值确定:
[0026](I)命名服务器所在计算机的网络通信延迟,主要体现为网络吞吐量,路由器传输速率等。
[0027](2)命名服务器所在计算机自身的空闲程度,主要体现为计算机CPU使用率,内存使用程度,以及硬盘存取速度等。
[0028](3)命名服务器所拥有的模块备份数据信息完整度。
[0029]步骤四,选举健康度最优的命名服务器进入领导者状态。
[0030]选举方法是分布式计算中的一项重要概念,在分布式系统中,需要一个领导者来协调所有的成员。但当这个领导者停止工作时,其余成员需要选举出另一个领导者。应用于机器人的模块化系统中,当一个命名服务器停止工作后,需要选举出另一个命名服务器担当领导者,协调所有模块工作。
[0031]选举方法的作用是通过上一步中计算出的标识码,选举出一个领导者,这个领导者是协调所有模块间交互的媒介。本发明的选举方法采用改进型泛洪算法实现。改进型泛洪算法的思想是:首先,每个节点需要存储一组数字,当选举开始时,这组数字将被初始化为其自身标识码大小。当一个节点发现领导者发生异常,如无响应,或响应过慢等其它情况,它将发起选举过程,即向其相邻节点发送选举信息,信息内容为其存储数字大小。当它的相邻节点接收到发送来的选举信息后,该节点需要将选举信息与自身存储数字相比较。若其自身存储数字小于发送来的选举信息,则继续将该选举信息传递给它相邻的节点;若其自身存储数字大于发送来的选举信息,则向其相邻节点发送自身的选举信息。若干轮后,网络中传递的选举信息大小等于自身存储数字大小的节点成为新的领导者。
[0032]与现有技术相比,本发明具有以下优点:本发明提供了一种机器人中间件命名服务器结构改进方法,引入分布式计算中的选举概念,达到了命名服务器自稳定的效果,并选举出健康度最优的备用命名服务器;通过信息熵思想提出数学评价模型,根据标识码的大小可以全面了解命名服务器所处环境的健康度状况,为评价命名服务器运行环境提供了合理有效的解决方案。
【专利附图】

【附图说明】
[0033]图1为本发明所述方法流程图;
[0034]图2为命名服务器状态机示意图;
[0035]图3为选举方法初始化状态示意图;
[0036]图4为第一次比较结果示意图;
[0037]图5为第二次比较结果示意图;
[0038]图6为第三次比较结果示意图;
[0039]图7为第四次比较结果示意图;
[0040]图8为第五次比较结果示意图;
[0041]图9为第六次比较结果示意图;[0042]图10为选举结束后所有结点存储数字示意图。
【具体实施方式】
[0043]下面结合附图和【具体实施方式】对本发明作进一步的说明。
[0044]本发明所涉及的方法流程图如附图1所示,包括以下几个步骤:
[0045]步骤一,改进系统结构。
[0046](I)在网络上分布的节点中加入备用命名服务器。
[0047](2)对系统通信规则进行改进:
[0048]在原始系统中,模块通过单向通道将自身信息注册到命名服务器。在新的系统中,通过模块到命名服务器间的双向通信,模块接收选举结果信息,即新命名服务器的地址信
肩、O
[0049]在原始系统中,用户通过单向通道获取所有可用模块的信息。在新系统中,用户通过系统编辑器到命名服务器间的双向通信,在选举过程开始时获得开始选举的通知,并在选举结束后被告知选举结果。
[0050](3)在新系统中,加入命名服务器到命名服务器的双向通信,用于传递选举及模块备份数据等信息。
[0051]步骤二,定义命名服务器状态机:将命名服务器定义为4种状态:初始化状态,备用状态,选举状态,领导者状态。
[0052]步骤三,计算命名服务器标识码,方法如下:
[0053](I)建立多属性矩阵X。
[0054]假设SpS2、…、Sn为n个节点,n的取值一般在3~5之间。每个节点都拥有属性集Iu1, U2, U3I ,Uj表示节点的3种不同属性。以Xkj表示Sk节点关于Uj属性的评价值,k=l,2,3,...,n,」_=1,2,3,建立多属性矩阵父:
【权利要求】
1.一种机器人中间件命名服务自稳定方法,其特征在于包括以下步骤: 步骤一,改进系统结构: (1)在网络上分布的节点中加入备用命名服务器; (2)对系统通信规则进行改进; (3)在新系统中,加入命名服务器到命名服务器的双向通信,用于传递选举及模块备份数据等信息; 步骤二,定义命名服务器状态机:将命名服务器定义为4种状态:初始化状态,备用状态,选举状态,领导者状态; 步骤三,计算命名服务器标识码; 步骤四,选举健康度最优的命名服务器进入领导者状态。
2.根据权利要求1所述的一种机器人中间件命名服务自稳定方法,其特征在于,步骤一中对系统通信规则进行改进的内容包括: (1)在原始系统中,模块通过单向通道将自身信息注册到命名服务器;在新的系统中,通过模块到命名服务器间的双向通信,模块接收选举结果信息,即新命名服务器的地址信息; (2)在原始系统中,用户通过单向通道获取所有可用模块的信息;在新系统中,用户通过系统编辑器到命名服务器间的双向通信,在选举过程开始时获得开始选举的通知,并在选举结束后被告知选举结果。
3.根据权利要求1所述的一种机器人中间件`命名服务自稳定方法,其特征在于,步骤三计算命名服务器标识码的具体方法如下: (1)建立多属性矩阵X; 假设S1、S2,…、Sn为n个节点,n的取值一般在3~5之间;每个节点都拥有属性集{u1; U2, U3I, Uj表示节点的3种不同属性^xkj表示Sk节点关于Uj属性的评价值,k=l,2,3,…,n,j=l,2,3,建立多属性矩阵X:
JC11 X12 X13
X21 X22 X23
=...xC Xn3_ (2)采用比例转换法将多属性矩阵X转换成规范化矩阵R,使物理量纲互不相同的不同属性之间具有可比性; 对于效益型属性,如备份信息完整度,数值越大,健康度越高,将矩阵X按下式进行规范化:
-^kj (Xkj Xjmin) / (Xjmax 式中,rkj和xkj分别为矩阵R和X的第k行第j列元素,Xjmax = max {xu,x2jJ…,xnj},Xjmin — min (X1J-, X2J-, ? ? ?,Xnj-}; 对于成本型属性,如网络通信延迟,数值越大,健康度越低,将矩阵X按下式进行规范化:
-^kj (Xjmax Xkj) / (Xjmax Xjm;[_n)(3)计算综合属性评价值,得到命名服务器标识码; 首先,计算规范化后多属性矩阵R对于属性+的几何映射:

4.根据权利要求1所述的一种机器人中间件命名服务自稳定方法,其特征在于,步骤四选举健康度最优的命名服务器的方法如下: (1)初始化:所有节点自成一域,使每个节点所储存数字大小为其本身标识码; (2)发现领导者异常的节点向其相邻的节点发送选举信息; (3)收到选举信息的节点比较选举信息与自身存储数字大小,并作出相应的反应; (4)重复步骤(3),当网络中所有节点存储信息相同时停止传递信息; (5)选举健康度最优的节点。
5.根据权利要求3所述的一种机器人中间件命名服务自稳定方法,其特征在于,每个节点拥有的3种不同属性为: (1)命名服务器所在计算机的网络通信延迟,主要体现为网络吞吐量,路由器传输速率; (2)命名服务器所在计算机自身的空闲程度,主要体现为计算机CPU使用率,内存使用程度,以及硬盘存取速度; (3)命名服务器所拥有的模块备份数据信息完整度。
【文档编号】G06F9/46GK103677974SQ201310444821
【公开日】2014年3月26日 申请日期:2013年9月26日 优先权日:2013年9月26日
【发明者】贾松敏, 屈文彬, 庞雄伟, 郭兵, 董政胤, 李秀智 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1