APP下载

基于XML 的IA 分布式系统网络重组策略

2015-06-02褚如龙

电脑知识与技术 2015年9期

褚如龙

摘要:随着信息技术的快速发展,人们对网络的实时性和可靠性要求也越来越高。该文在python语言下,通过提取IA分布式系统的网络监测结果,依据网络节点的等级属性,提出一种基于XML的网络重组策略,实现在节点状态突变的情况下的动态网络重组。实验证明,该策略能有效提高系统的应变力,提高网络的可靠性和实时性,保证网络通信的正常进行。

关键词:XML;网络重组;IA分布式系统

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)09-0032-03

Abstract: With the rapid development of information technology, the network demand for real-time and reliability are higher. This paper, after extracting the network monitoring result of IA distributed system, According to the class attribute of network node, proposed a network reconfiguration strategy based on XML by Python, Realized the dynamic network reconfiguration in case of node state mutation. The experimental is shown that, this strategy can effectively improve system flexibility, network reliability and real-time, to make sure that the network communication is normal.

Key words: XML; network reconfiguration; IA distributed system

随着信息技术的快速发展,网络实时性和稳定性的要求越来越高。当网络节点被销毁或设备故障时, 故障管理虽然是侦测和辨别网络故障的重要部分, 但是在提高网络利用率方面, 网络重组显得更为有效。通过网络重组技术,能对网络进行动态重组以快速重构网络, 保证网络通信的正常进行。

XML是由万维网协会(W3C)设计,特别为Web应用服务的SGML的一个重要分支,是一种中介标示语言,可提供描述结构化资料的格式,被设计用来描述数据的语言。XML提供了一种独立的运行程序的方法来共享数据,它是用来自动描述信息的一种新的标准语言,它能使计算机通信把Internet的功能由信息传递扩大到人类其他多种多样的活动中去。利用XML,Web设计人员不仅能创建文字和图形,而且还能构建文档类型定义的多层次、相互依存的系统、数据树、元数据、超链接结构和样式表。

本文在python语言下,通过对IA分布式系统的网络监测结果的提取,以网络节点的等级属性为依据,提出一种基于XML的网络重组策略,实现在节点状态突变的情况下的动态网络重组。实验证明,该策略能有效提高系统的应变力,提高网络的可靠性和实时性。

1 IA分布式系统网络结构

本文提出的策略在一个由 Python 语言构建的 IA 分布式网络系统中实现。系统主要由 3个部分构成,可以表示为:{A,S,N}。其中A指由各个功能IA组成的IA系统,各IA能自由地在各网络节点之间迁移并通过通信和协作完成任务,各IA具有不能的功能,如网络监测、消息封装、数据加密、数据解密、网络重组等。S是n个网络节点组合,是各IA驻留的平台所在。N是连接各网络节点、确保各 IA 移动的网络。

系统网络分为一级网络、二级网络、三级网络,固定的3层结构,每层网络的节点分别称一级节点、二级节点、三级节点。隶属关系为:一个一级节点支下拥有一定数量的二级节点,这些二级节点在系统正常情况下,仅从属于确定的一级节点;一个二级节点支下也拥有一定数量的三级节点,这些三级节点在系统正常情况下,仅从属于确定的二级节点。

另外,系统根据网络层次的高低来确定节点的等级,节点的等级越高,拥有的权限也就越大,一级节点>二级节点>三级节点。从图1的可以看出,自上而下,高级节点管理低级节点,自下而上,低级节点接受高级节点的任务,一级网络内的一级节点拥有最高的网络权限,它能够管理并分配任务给其支下的二级和三级节点。二级网络的二级节点,首先是从属于确定的一级节点,同时又拥有其支下的三级节点。三级节点权限最低,它接受直接从属的二级节点及一级节点的任务分配,此为对于一级网络和二级网络,系统又设置了管理节点,负责维护管理同一网络层中的其它节点。

2 基于XML的网络重组策略

系统利用XML的特性,建立XML的通信机制,并将节点数据用XML形式保存,形成自定义命名规则与重组规则,实现基于XML的网络重组策略。

2.1 网络重组规则

考虑到网络节点的销毁问题,系统设置了相关的节点等级重组规则。

1)当一级节点被销毁、不存在时,系统设置了两种重组规则。

首先对在一级节点所从属的二级节点中设置一个“power_”+self.belong 的属性,根据属性值的大小,判断二级节点替代一级节点的顺序。因此当一级节点被销毁时,系统将自动根据“power_”+self.belong 的属性值寻找替代一级节点的二级节点,使具有一级节点权限,这个二级节点一般为二级网络的管理节点,它负责管理二级网络。在这种情况下,此二级节点将管理从属于原一级节点的所有节点。

其次,当一级节点支下已没有二级节点存在时,即此时所有从属于一级节点的二级节点都被销毁,系统将通过判断所有一级节点的“power”属性值大小,从一级节点中寻找能够替代此一级节点的一级节点。

2)当网络中某二级节点被销毁、不存在时,系统也设置了三种替代规则。

当此节点是二级网络的管理节点时,根据 “power_”+self.belong 的属性值寻找替代此二级节点的新二级管理节点,将从属于此它的三级节点转到新二级管理节点支下,这些三级节点将由新的二级管理节点接手。

当此节点不是二级网络的管理节点时,从属于它的三级节点由二级网络的管理节点接手。

当此节点时二级网络的唯一节点是,即系统不能再找出第二个此一级分支下的二级节点,此时所剩下的都是三级节点,它们将都直接从属于一级节点管理。

3)当网络中的某三级节点被销毁时,直接删除。

2.2 网络命名规则

由于系统中各节点的IP 地址将是固定的,因此从对节点IP 的分析中,系统就能自动判定节点的等级也能确保节点名字的唯一,具体规则如下:

1) 系统设置用IP地址的第三位数字来判别此节点为一级节点或非一级节点,例如当IP第三位数字为0时,判定此节点为一级节点,否则,判为非一级节点。

2)在判定某节点为非一级节点后,从IP地址第四位数字来判别此节点为二级节点或三级节点,例如当节点IP第三位数字为150,我们设置位150分支的节点,当IP第四位数字位为1时,则说明它是二级节点;当第四位数字位不为1时,则说明它是三级节点,并从属于150分支的二级节点。

3)在判断了节点IP之后,根据判定结果,给节点命名,一级节点命名为“level_0_120”、“level_0_121”……“level_0_129”,二级节点命名为“level_1_150”、“level_1_151”……“level_1_159”,三级节点命名为“level_2_150_2”、“level_2_150_3”……“level_2_150_254”,……“level_2_159_254”。

4)设置各节点的ID,由节点IP 的最后两位组成,每位数规定写成3位数字。如IP 为168.157.153.6。它的ID则为“153006”

5)设置二级节点升级为一级节点的次序。在这里我们直接根据第三位IP 数字的大小排序,例如150~159,依次从大到小。用“power_”+self.belong属性来表示、从0~10。

6)设置一级节点接管另一一级节点的次序。在这里直接根据第四位IP数字的大小排序,用“power”属性来表示。

创建的节点关系文件如图2,成树状xml。

2.3 网络重组设计

根据以上规则,系统利用python语言设计了基于XML的动态网络重组策略。系统中网络监测IA在执行监测功能时,通过读取XML地址文件提取节点信息,如某一节点状态发生突变,XML地址文件必须第一时间获知并处理该节点,以提高系统应变力。本文提出的网络重组策略,利用网络监测IA传回的监测数据,结合XML地址文件,以及各节点本事的属性,实现网络结构的快速重组。此处以一级节点重组为例,具体代码如上。

3 基于XML的网络重组演示

网络节点的等级限制了节点的权限,其网络中任一节点都有其无可取代的功能,特别是处在一级网络和二级网络的节点,它们具有管理、调用从属节点的功能。当一级节点被销毁时,二级节点中“power_”+self.belong属性为1的节点将代替一级节点执行对整个网络的管理,替代权限以“power_”+self.belong属性依此类推。

当二级节点被销毁时,且它在二级节点中“power”属性位1的节点,那么它的三级节点将由“power”属性位2的二级节点指挥,依此类推知道最后的二级节点。

实验1:如网路中二级节点“192.168.150.1”被销毁,由于它是二级网络的管理节点,它的三级节点将从属于“power_”+self.belong属性位“2”的二级节点“192.168.151.1”,并且二级节点“192.168.151.1”成为二级网络新的管理节点。运行结果如下XML树形结构所示:

实验2:在例1的基础上,当一级节点“192.168.0.120”被销毁时,二级节点的 “power_”+self.belong属性为2的节点“192.168.151.1”将升级为一级节点 ,如下所示,同时此支下没有二级节点了,所有的三级节点都从属于新升级的二级节点下。

实验3:在例2的基础上,一旦新生为一级节点的二级节点“192.168.151.1”也被销毁时,此支下再也没有能代替一级节点的节点存,系统将把从属于此支下的所有三级节点归属于“power”属性值最大的一级节点,如下所示,原本从属于一级节点“192.168.0.120”的三级节点都已经归属到“power”属性为2的一级节点“192.168.0.121”上了。

实验4:网路中二级节点“192.168.164.1”被销毁,它的三级节点“192.168.164.17”、“192.168.164.15”将从属于“power_”+self.belong 属性最大的二级管理节点“192.168.160.1”,如下:

实验5:当三级节点“192.168.154.95”被销毁时,直接删除。如下所示,二级节点“level_1_154”下已没有从属的三级节点。

4 总结

本文在IA分布式网络系统中,利用python语言良好的系统兼容性,通过提取网络监测IA的监测数据,结合XML地址文件,以及节点的等级属性,提出一种基于XML的网络重组策略,当系统节点状态突变时,迅速进行网络结构重组。实验证明,该策略能有效提高网络的可靠性,以最快的速度保证网络的正常通信。

参考文献:

[1] 吴芳, 赵知劲, 叶学义.基于Python 的IA分布式系统[J]. 计算机工程,2009,35(19):283-285.

[2] 吴芳, 赵知劲, 叶学义.基于IA 的动态网络监测[J]. 计算机工程,2009, 35(13):75-77.

[3] 马军煜, 吴芳, 叶学义.基于IA分布式网络系统的可信监测算法[J]. 电声技术, 2009,33(9): 39-41.

[4] Wu fang, Zhao zhijin, ye xueyi. A New Dynamic Network Monitoring Based on IA,2008 IEEE.