网络分区(精选九篇)
网络分区 篇1
电力工业是国民经济的重要组成部分, 电网的安全、稳定和高效运行是电力系统发展的必然要求。近年来, 欧美国家及我国相继开展了关于智能电网的相关研究。智能电网具有灵活网络拓扑结构, 能够在电网发生故障时根据预先设定的事件启动仿真决策, 实现故障实时隔离, 避免或缩小停电范围, 最大限度地降低损失。
无功电压控制是实现电网安全控制的重要组成部分。无功分区则是从将电网分成彼此电气距离较远、相互近似解耦的控制区域, 实现电网各分区的信息解耦, 提高控制策略的搜索效率, 从而提高无功电压控制的鲁棒性。因此, 无功分区是电力系统无功优化运行的基础。国内外研究者对电网的无功分区做了大量的工作, 其算法主要包括:基于图论的α嵌套分解算法、分级聚类算法、基于复杂网络的算法等。上述算法各有优劣, 但均是针对静态电网而设计的, 当电网拓扑结构因故障发生变化时, 上述算法无法实时对当前电网无功分区的动态划分, 因此不满足于未来智能电网的要求。
本文利用了关于电力网的复杂网络理论模型, 结合智能电网对网络拓扑结构的灵活性要求, 改进了文献的算法:通过构造预分区矩阵和计算N叉树的方法, 能够反映电力网节点的实时变化情况, 提高算法的效率以保证了分区的实时性。算法即保证了分区内的无功就地平衡, 也实现了无功分区动态的划分, 为研究智能电网的动态无功分区提供了新的思路。
2 电网的复杂网络模型
电力系统网络是一个强非线性、大规模的动态系统, 可认为是由发电机、输电线路、负荷节点组成的超大规模的复杂网络。它具有复杂网络的一般特征, 即网络的规模性和行为的统计特性、网络连接的稀疏性等。将电力系统抽象为复杂网络模型来研究电力系统的网络特性, 是研究电力系统的常用研究方法。本文采用文献中的复杂网络模型, 即将电力系统看作一个加权、无向的连通网络G。假设V={v}, E={e}分别表示节点集和线路集。选择线路实际的无功传输率作为线路权重w, 即
其中:Qij_from表示输电线路首端送出的无功传输量, Qij_to表示线路末端接受到的无功传输量;Sij_rate表示输电线的传输容量。故电力系统网络可以表述为:
文献指出, 电力网络表现出了复杂网络的一些基本特性, 例如小世界特性、幂次定律和社团结构。电力网的无功分区划分即把电网划分成若干个社团, 每个社团内部的节点连接非常紧密, 各个社团之间的联系相对稀疏, 同时社团内部无功保持就地平衡。Newman等在文献中引入了网络模块度Q的概念, 并将之推广到加权网络。对于电力网来讲, 加权网络模块度的具体定义如下:
其中:
wij表示电力网络中连接节点i和节点j的边的权重;
ki=∑wij表示所有与节点i相连的边的权重之和;
表示网络中所有边的权重之和;
δ函数:δ (i, j) =1, 若节点i和j被在同一个分区;否则δ (i, j) =0。
3 动态无功分区算法
本节基于文献的算法思路, 针对未来智能网应对拓扑网络变化的要求, 提出一种新的动态无功分区算法。首先, 预计算网络中负荷节点电压和发电机节点电压之间的灵敏度矩阵, 根据灵敏度大小划分网络初始分区, 同时建立备选分区矩阵, 根据当前网络节点的变化情况, 能从备选矩阵中快速得到新的初始分区。其次, 选择网络的无功传输率作为线路权重, 按照模块度增加最大的方向, 逐次合并有边相连的分区, 合并过程中采用构造N叉树的方法实现模块度计算的并行执行, 提高算法效率;在迭代过程中, 使模块度Q的值达到最大时的分区则是最优分区。
3.1 初始矩阵划分和备选分区矩阵生成
假设电力网络的节点总数为NNODE, 记发电机节点集合为G={gi}, i=1, …, Ngen;记负荷节点集合为L={li}, i=1, …, Nload;显然NNODE=Nload+Ngen, 系统的线性化模型可表示为
其中:ΔQG与ΔVG分别表示发电机节点的无功及电压变化;ΔQL与ΔVL分别表示负荷节点的无功和电压变化;SGG、SGL、SLG和SLL为灵敏度矩阵, 即潮流方程雅可比矩阵中与无功、电压相关的部分。假定负荷节点注入无功不变, 即ΔQL=0, 则:
也称S′为灵敏度矩阵, S′反映了发电机节点对负荷节点电压的控制能力。
初始分区生成方法如下:首先把构造Ngen个初始分区, 每个分区仅包含一个发电机节点。随后根据各个发电机节点对负荷节点的控制能力, 把负荷结点纳入各个初始分区。为了满足智能电网对网络拓朴变化应对要求, 构造备选方案的矩阵, 根据当前网络状态实时生成初始分区。记备选方案矩阵M由Nload个1×Ngen的向量构成, 即
发电机结点gk在向量V (li) 的位置由li与gk的灵敏度矩阵S′决定, S′越大位置gk越靠前。
算法1备选方案矩阵的生成算法:
步骤1:计算灵敏度矩阵S′
步骤2:根据灵敏度矩阵S′建立备选分区矩阵
备选方案矩阵不仅能反映整个电力系统的初始分区, 还可根据发电机节点的变化, 实时调整初始分区:划分初始分区时, 可直接把负荷结点li纳入向量V (li) 第一个元素所在的分区。当网络中某一发电机节点gk因故障失效时, 则可把矩阵中元素gk与包括的gk初始分区删除, 重新把各个负荷结点纳入初始分区。
3.2 使用N叉树的分区合并算法
分区合并算法的主要思想是按照模块度增加最大的方向, 依次合并有边相连的分区, 并在合并过程中寻找最优的分区。其中, 计算分区的合并后模块度是最耗时间的, 这里通过构造N叉树实现模块度的并行计算。
记初始分区为{A10, A20, …, A0Ngen}, 若把每个初始分区看成节点的话, 则整个电力系统网络可抽象成一个由节点 (分区) 构成的无向连通的网络, 节点之间的连结线则表示两个分区是相邻的。假设节点Ai0∈{A10, A20, …, A0Ngen}的度最高, 记Ai0的度为N, 生成N叉树步骤如下:
算法2 N叉树生成算法
步骤1:取Ai0∈{A10, A20, …, A0Ngen}作为树的根结点
步骤2:把Ai0与相连结点加入树中, 删除网络中已经加入树中的边
步骤3:检索树的第二层结点, 递归调用上述步骤, 直到网络所有相连的边都已加入树中
算法说明:按照上述步骤生成的树每个结点最多有N个子树, 在计算分区的模块度时, 可按照根节点的子树分成N路同时进行。分区合并后也随时更新N叉树的节点情况, 已经合并后的节点对应的边也进行相应的合并更新。
下面给出分区合并算法:
步骤1:根据电力系统中实时状态, 删除备选矩阵中已经失效的发电机节点和负荷节点, 生成初始化分区:
其中整数Nnow表示当前电力系统中现存的发电机节点数。
步骤2:构造网络中线路的权重矩阵W, 其中
步骤3:假设变量m=0, 根据的连续情况生成N叉树, 并行计算两个相连分区的试合并后的模块度Q, 取生成Qm=max (Q) 的分区进行合并
步骤4:更新N叉树:更新树的节点{A1m, A2m, …, AmNnow}及度, 其中m=m+1, Nnow=Nnow-1
步骤5:重要步骤3、4直到树的只剩下一个结点。
步骤6:确定最优分区方案:若, 则N叉树在时行第t次更新后可到最优的分区方案。
算法的备选分区矩阵生成可以通过预计算实现, 在实现电力系统无功分区的过程中, 首先可根据当前发电机节点状态, 从备选分区矩阵中确定初始分区;随后通过构造N叉树实现并行计算, 加快模块度Q的计算, 从而保证得到最优分区的实时性。
4 算例分析
本节以IEEE39节点系统为例, 模拟在某个发电机故障的前提下使用新算法对其进行无功分区的过程。假设发电机30出现故障停机, 根据备选分区矩阵的情况, 初始分区划分如表1。
划分初始分区后根据分区之间相连的关系图如图1。
这里网络节点最大的度数是4, 构成构造4叉树如图2所示。最后合并后无功分区如图3所示。
5 总结
本文研究了在智能电网的条件下无功分区的问题。使用电力网复杂网络研究成果, 确定了无功分区的基本思想;建立备选分区矩阵实时更新当前网络节点信息, 实现了电力网络的初始无功分区的动态划分;通过提出了基于N叉树并行计算模型的方法, 解决了初始分区合并过程中所面临的计算耗时问题, 为满足未来智能电网应对节点故障导致的网络变化提供了一种新的研究方法。
摘要:基于电力网复杂网络模型, 提出了一种电力网络的动态无功分区算法。该算法是由预分区和合并两个子算法构成, 前者构造了备选分区矩阵, 根据电力网络中节点的实时变化情况生成初始的分区;后者基于电力网模块度的概念进行初始分区合并, 通过构造N叉树实现并行计算以减少算法运行时间。算法即保证分区内部无功平衡, 又保证了分区划分的实时性要求, 满足对智能电网进行无功分区的要求。
网络分区 篇2
说起我自己掉坑的经历,无不与WinXP和Linux的激烈碰撞有关。多年前,我就开始在一台电脑上同时安装WinXP和Linux,只要遵守先安装WinXP再安装Linux的顺序,就不会出问题,Linux的安装程序会自动识别多系统,安装完成后可顺利启动多系统。有一天,我觉得单用Linux就够了,于是就格了整个硬盘安装了Linux。又有一天,我觉得还是要用WinXP,于是就重新安装WinXP(不要对我说虚拟机,多年前我的电脑还只有256M内存,虚拟机根本跑不动),结果发现,WinXP的安装程序没办法对硬盘进行分区了。这个坑是由Linux中的LVM引起的,WinXP识别不了LVM分区,那个时代的WinPE、DOS工具箱中的所有工具都没办法识别LVM,而那时我对Linux的了解又只停留在只会在安装系统的时候分区,根本不知道Linux系统中还有fdisk、parted这样的工具,所以折腾了许久才从坑里面爬出来。多年后的现在,我又一次掉入了坑中。我工作时用的电脑是WinXP系统(天朝国情,你懂的),为了干点私活,我又装了个Ubuntu上去了,这两个系统一直相安无事。直到有一天,我把Ubuntu系统又折腾挂了,于是重装,因为在分区的时候不小心选择了默认的“清除整个盘并安装Ubuntu”,然后硬盘就被整个格掉了,WinXP就没有了。我当时想,这多大点儿事,我再装个WinXP不就完了吗。但是问题来了,无论我怎么安装,WinXP系统就是启动不了。后来才整明白,这个坑是硬盘采用了GPT分区引起的。那为什么我让Ubuntu自动分区它就分成了GPT分区呢?这也怪这台惠普的工作用机比较奇葩,它即支持legacy BIOS,也支持EFI,当原来WinXP存在时,它用的当然是MBR分区(msdos分区),所以安装Ubuntu时就是使用的MBR分区,而后来Ubuntu自动分区时,它看到主板支持EFI,就自动把硬盘整成GPT分区了。我也是折腾了几天才明白这个道理,最后终于在Ubuntu LiveCD的parted程序的帮助下,使用一个mklabel msdos命令把硬盘从GPT分区更改为MBR分区,然后再按顺序安装WinXP和Ubuntu,才算是从坑里面爬出来。
对于那些长期管理大型机房和大存储容量的服务器的朋友,对于硬盘分区,他们肯定是早就做好了功课。不会像我这样,直到碰到问题才会去学习相关的知识。对于硬盘分区的这些知识,我总结如下(只是简单总结,具体内容请大家自行搜素):
1、传统的BIOS只支持从MBR分区的硬盘启动。MBR分区的分区表保存在硬盘的第一个扇区,而且只有64字节,所以最多只能有四个表项。也就是说,我们只能把硬盘分为4主分区,或者分成小于等于3个主分区再加一个扩展分区。扩展分区又可以分为多个逻辑分区。MBR分区的优点就是简单,大家都用,所以大家都懂的嘛,很多操作系统都可以从MBR分区的硬盘启动。缺点就是MBR分区不能识别大于2T的硬盘空间,也不能有大于2T的分区;
2、GPT分区的硬盘可以解决以上MBR分区的所有缺点,它没有4个主分区的限制,想分几个主分区就可以分几个主分区,它可以识别大于2T的硬盘空间,每个分区的大小也可以超过2T。但是它的缺点是需要操作系统支持。比如只有WinXP 64位、Win Vista、Win 7和Win 8和比较新的Linux发行版支持GPT分区的硬盘。而且,如果没有EFI的支持的话,以上系统也只能将GPT分区的硬盘当成数据盘,不能从GPT分区的硬盘启动;
3、要从GPT分区的硬盘启动,则主板使用EFI、硬盘使用GPT分区、操作系统支持GPT和EFI这三个条件缺一不可。目前比较新的64位Linux系统和Win8系统都是支持EFI的,所以都是需要从GPT分区的硬盘启动的。现在的电脑主板已经逐渐抛弃legacy BIOS,而只支持EFI了。(像我的工作机这样的过渡产品将越来越少。)目前很多预装Win8的笔记本的主板几乎都只支持EFI了。所以,学习GPT和EFI的相关知识势在必行;
4、以上分区策略都是固定分区。硬盘分区一旦完成,则分区的大小不可改变,如果要改变分区的大小的话,只有重新分区。而且由于没有办法把多个硬盘分到一个区,所以再怎么分,每个分区的大小都有限。所以我们需要一种动态分区的东西。LVM就是这样一个东东,它叫逻辑卷管理,
使用LVM的机制是这样的:首先把硬盘分区或者整块硬盘标记为一个物理卷(PV),然后再创建一个卷组(VG),把一个或多个物理卷加入卷组,最后对卷组进行分区,每一个分区称为一个逻辑卷(LV)。LVM的优点就是可以随时向卷组中添加物理卷扩展卷组的大小,以可以动态调整逻辑卷的大小。这在服务器中尤其有用,比如说有一个原本有100个用户的服务器,其/home目录下就会有100个用户的主目录,如果给他们每人分配20G的空间的话,就会占满一个2T的硬盘,如果这时再来100个用户怎么办?如果使用LVM就可以顺利解决这个问题,我们可以再加一个3T的硬盘,然后把这个硬盘加入卷组就可以扩大卷组的大小,然后再调整/home所在的逻辑卷的大小即可。LVM既可以搭配MBR使用,也可以搭配GPT使用。
下面通过Ubuntu 14.04安装过程中自动分区的策略来验证以上知识点。首先,对于只支持legacy BIOS的电脑,安装Ubuntu时分区选项如下:
这时,不选择启动LVM的选项。安装完操作系统后,使用parted程序查看硬盘分区,通过查看/etc/fstab文件来了解哪个分区对应哪个文件系统,如下图: 通过上面图片中parted程序中的print命令的输出可以看出,硬盘的分区表类型为msdos,也就是MBR分区。硬盘分为一个主分区sda1和一个扩展分区sda2,主分区sda1占20.4G,扩展分区sda2只有1072M,扩展分区中只有一个逻辑分区sda5。通过/etc/fstab可以看出主分区sda1挂载到根目录,逻辑分区sda5为交换空间。
上面的分区方案是最简单最常用的一种。下面来看看启用LVM是什么效果。在选择分区方案的界面选择开启LVM的选项,如下图:
安装完操作系统后,还是通过parted程序和/etc/fstab来查看硬盘的分区及使用情况,如下图: 从图中可以看出,分区表的类型还是msdos。硬盘还是只分了一个主分区sda1和一个扩展分区sda2,但是主分区sda1只有255M,扩展分区sda2倒是有21.2G,同样扩展分区只分为一个逻辑分区sda5,逻辑分区sda5占用扩展分区中全部的21.2G空间,而且sda5的标志是lvm,说明该分区被标记为一个物理卷(PV),它肯定是被加入到了一个卷组(VG)中。通过/etc/fstab文件可以看出,主分区sda1挂载到/boot,而根目录和交换空间挂载的是两个逻辑卷(LV)。
通过LVM命令可以查看系统中卷组、物理卷和逻辑卷的信息,如下图:
通过pvs和pvdisplay命令,可以看到系统中只有一个物理卷,那就是/dev/sda5,该物理卷加入到了卷组ubuntu-vg之中。通过vgs和vgdisplay命令可以看到系统中只有一个卷组,那就是ubuntu-vg,该卷组被分为两个逻辑卷。
再看下图:
通过lvs和lvdisplay命令可以看到卷组分为两个逻辑卷,它们分别挂载到根目录和交换空间。
通过LVM命令还可以进行更多的操作,比如创建新的卷组,将新的物理卷加入到卷组,增大或减小逻辑卷的大小等等。具体用什么命令,一个help即可搞定。
最后,来看看在主板只支持EFI的情况下,Ubuntu如何分区。安装的启动界面如下:
这个安装界面和legacy BIOS系统下的安装界面是不同的,传统的安装界面如下: 在EFI模式下,还是选择自动分区。安装完操作系统后,使用parted和/etc/fstab来查看硬盘的分区和使用情况,如下图: 通过以上图片可以看出,硬盘的分区表类型为gpt,硬盘分为三个区,都是主分区。其中第1个分区sda1的大小是537M,文件系统是fat32,其挂载的路径是/boot/efi,而另外两个分区一个挂载到根目录,一个为交换空间。从上面的信息我们不难推断:只支持EFI的主板只能从GPT分区的硬盘启动,而且该硬盘第1个分区必须为fat32文件系统,该文件系统中存放的是EFI需要的各种文件。
网络分区 篇3
随着大型电网的出现,电力互联网络的不断发展,系统网络日趋复杂,使得人们对电压稳定性问题更加关注。研究电力网络的复杂拓扑结构和网络的区域解耦特性,从而为更好地解决超大规模网络中的稳定控制与安全优化问题提供有力支持,已成为当前研究的一个热点[1,2,3]。
无功电压控制问题对电力系统的安全运行具有重要意义,合理的无功电压控制可有效维持系统的稳定运行及提高系统的经济效益。目前,欧洲各国所普遍采用的电压分级控制模式是一种比较常用且有效的无功电压控制手段[4]。在电压分级控制方案中,二级电压控制(Secondary Voltage Control)是防止电压崩溃事故的一种较有效的方法,能提高系统电压稳定性和维持较好的无功储备。二级电压控制首先将整个电力系统分成若干控制区域(Contro Zones),这些区域应满足一定要求[5]:区域内强耦合,区域间弱耦合;每个控制区域内都应包含发电机节点和负荷节点;控制区域节点数目不宜过多,每个控制区域大小适中。
近年来,人们对电压控制分区进行了更加深入的探索,并已提出了多种方法与理论:文献[6]提出基于tabu搜索的分区方法,该启发式方法没有结合网络的物理特性。文献[7]提出基于图论的方法分区,并用阈值搜索的方式实现。该方法的难点在于阈值的选取。文献[8]提出一种基于D-S证据理论的电网无功/电压控制分区方法,将概率的概念引入到分区当中,融合主客观综合特征,并列进行分区,提高了分区效率。文献[9-10]提出了基于电气距离的模糊聚类传递闭包法对系统进行无功电压分区,具有存储量小,计算速度快的特点。文献[11]根据静大树法对该矩阵进行电压控制区域划分。该方法新颖、直观,且运算速度快。
本文借鉴文献[11]利用静态能量函数的思想[12],并引入了复杂网络的理论。首先,基于支路无功势能函数构建复杂网络的支路势能权重指标。其次,根据支路势能权重计算复杂网络的线路介数。最后,利用社区网挖掘理论,并采用线路介数法对基于支路势能权重指标构建的复杂网络进行社区网挖掘,从而实现电网分区。本文所提方法为静态能量函数法开辟了全新的应用领域。另外利用社区网挖掘的分区方法,也为电压控制分区方法开创了新的思路。
1 改进的支路静态势能函数
支路势能属于电网结构中的固有特性,支路上的势能变化决定该支路所连接的两节点间的功率传输能力。支路势能的传输应由有功和无功两部分组成。由此可建立支路势能模型,如图1所示。
根据图1所示支路势能模型,i、j两点间的电压差Uij为
式中:Ui和Uj分别为节点i和j的电压幅值;δij为节点i、j的相位差;ϕj为节点j的功率因数角。
根据支路功率传输关系,支路ij的潮流表达式为
式中:ijP、Qij分别为ij支路当前传输的有功功率和无功功率;Bij是ij支路的电纳;Gij是ij支路的电导。
由此可得支路功率传输的变化量为
支路势能的传输过程中,有功传输与支路两端的相角差紧密相关,而无功传输则主要与支路两端的电压差有关。因此完整的支路势能函数模型表达式为[13]
由于无功电压控制及分区问题主要与无功和电压有关,受有功的影响较小,而静态支路势能函数中的无功势能部分全面考虑了线路无功功率和电压的综合作用。因此,本文对所得支路势能函数模型进行合理优化和改进。省略有功部分而仅仅保留能体现电压水平的无功部分,所得支路无功势能函数模型表达式为
式中,Usijδ、sijQ、ijs分别为Uijδ、ijQ、ij的初始状态值。
通过改进所得的能量函数Eqij所表示的物理意义为:当系统运行方式或网络拓扑结构变化时,支路当前传输无功功率偏离初始值的程度在当前势能上的映射,支路当前无功势能值越大,说明当前传输无功功率偏离稳态值越大。
Eqij从能量的角度直观地体现了支路的电压水平与无功传输能力。另外,该函数还间接的表现了支路在网络结构中的重要性,以及支路所连接两节点的联系紧密程度。
2无功势能加权复杂网络与社区网的挖掘分区
2.1 无功势能加权复杂网络
利用复杂网络分析电网,首先应对电网拓扑化。通常情况下,其规则为:节点代表发电机、负荷和电站,边代表输电线路[14]。合理的拓扑模型构建与改进是分析电网实际问题的关键。本文针对电压控制分区具体情况,考虑以下两点:1)支路无功势能的大小反映了不同支路的无功传输能力;2)线路无功承载能力与线路电压等级正相关。根据上述特点,本文提出采用无功势能加权进行电网建模。
令线路权重αij为
式中:Eqij为支路无功势能,为反映电网运行水平,体现线路能量的典型性,取运行临界点无功势能值;γij为线路电压等级系数,如式(9)所示。
式中:Uij为线路ij电压等级;U0为电网中所选基准电压等级。此处,电压线路等级系数γij取电压平方之比是因为线路无功与电压平方成正比关系。
基于复杂网络理论,引入支路无功势能权重αij后,最短路径表征的是节点m到节点n无向线路权重αij之和最小的路径。
因为αij体现的是支路无功势能水平,而支路无功势能又能直观地反映线路无功传输能力,因此计及线路权重αij的最短路径表征的是与无功传输相关的最短路径。
线路介数是复杂网络理论中衡量线路在网络中的重要性和影响力的主要参数。其定义为:线路在所有经过该线路的加权最短路径中所占比例之和,线路l的介数lB即为[15]
式中:Kmn为节点m,n之间的加权最短路径;αl为线路l的权重值;若m,n之间的最短路径经过线路l,λ取1,若未经过,λ则取0;Ω为网络节点集合。
引入无功势能线路权重后的线路介数Bl准确反映了线路l在网络无功功率传输中的重要程度。αl值越大说明线路无功势能值偏离初始值越大,线路无功承载能力则越小。由于αl与lB正相关,因此lB越大,使得网络平均最短路径越长,线路l的无功传输损耗则越大,线路两端节点的无功耦合性则越差。
综上所述,本文所建立的支路势能权重指标将系统无功运行特性融入到复杂网络模型中,更加全面、准确地体现了无功网络的区域解耦特性。
2.2 社区网挖掘分区
社区网挖掘,它是针对复杂网络中通常存在的社团结构,根据对网络中节点和边的特性与参数的分析,从而将网络分为具有抱团特性子社区[16,17]。社区网挖掘与典型的电压控制分区方法所形成的结果类似,即将一个复杂的相互关联的未解耦网络划分为若干具有区域间解耦而区域内强耦合性质的子社区。不同的挖掘参数的选择将会得到不同关联性质的子社区。社区网挖掘中,通常以基于线路介数的挖掘方法最为常用。现以图2为例对社区网挖掘规则进行简单阐述,取线路介数lB作为挖掘参数,依次消去复杂网络中线路介数最高的边,根据实际情况所需消去的边数称为粒度N。
如图2所示,当没有消去任意一条边时,该网络如图2(a)所示,为一个复杂的彼此相连的初始网络;当粒度N取3时,消去网络中线路介数最大的3条边,如图2(b)所示,网络被分为3个独立社区;当粒度N取5时,消去网络中线路介数最大的5条边,如图2(c)所示,网络被分为5个独立社区;当粒度N取7时,消去网络中线路介数最大的7条边,如图2(d)所示,网络被分为7个独立社区。
社区网挖掘形成若干子社区,其意义在于:社区网内部具有强耦合性,社区内部各点之间相互联系紧密,正确合理的社区网挖掘,有助于社区内主导节点的选取,也有利于后续无功补偿点,以及电压控制策略的选择。另一方面,社区网之间则具有弱耦合性,当某两社区之间无功水平差异较大,且联系相对稀疏时,只需对子社区进行具体的无功补偿,而不必针对全网制定繁琐的补偿策略;当某区域发生故障,并可能引起连锁故障时,也可通过切除社区之间的连接线路来防止更大的事故发生,实现社区的独立保护。
3 算例分析
本文以IEEE30节点系统进行算例仿真,以验证上述分区方法的可行性。
首先,对IEEE30节点系统,根据式(7)求取系统各条支路的支路无功势能,然后结合复杂网络理论,利用式(10)求取支路无功势能加权拓扑模型的各支路线路介数。
表1所示为线路介数值最大的14条线路的支路无功势能和线路介数。
表1中支路4—6和支路6—8的线路介数为∞表示网络中最短路径通过该两条支路的次数为0,该两条支路的无功传输损耗最大,支路所连接的两点无功耦合性最差。
再利用社区网挖掘理论,采用线路最大介数法,对该网络进行分区。
分别取粒度为9,11,12,14,根据不同粒度进行支路消去,所得到不同的分区结果如表2所示。
当粒度取14时,电网被划分为5个区域,根据二级电压控制分区基本准则,控制区域节点数目不宜过少或过多,每个控制区域大小适中,本文对所得分区数为5的分区结果进行合并优化。由于区域4仅有两个节点且无发电机节点,且与区域1联系更紧密,故将其归并入区域1;变压器支路不能分属于两个不同区域:因此将区域3与区域5合并。得到最终共3个区域的分区结果:区域1:(2、5、6、7、9、10、11、16、17、18、19、20、21、22);区域2:(1、3、4、12、13、14、15)、区域3:(8、23、24、25、26、27、28、29、30)。如图3所示。
将本文的分区结果与文献[11]的分区结果进行分析比较,两种分区方法的结果基本一致,只有节点2和节点16的划分存在差异。文献[11]将节点16划至区域1,而本文则将节点16划至区域2。由系统加权拓扑模型中线路介数可知支路12—16的线路介数较支路16—17大,因此节点16与节点17的耦合度高于节点16与节点12的耦合度,故应将节点16划到区域2,同理可得节点2应该划到区域2;另一方面,由于区域2负荷节点相对较多,为向该区域提供充足的无功,将发电机节点2划至该区域也是合理的。
4 结论
本文提出一种改进后的支路无功势能数学模型,并根据复杂网络理论建立支路无功势能加权拓扑模型,最后采用社区网挖掘技术,实现了二次电压控制分区。该算法思路新颖,且易于实现。研究结果表明:
1)支路无功势能的数学模型从能量角度分析了支路的无功水平,进而为更好地评价支路所连接两点的耦合度提供了可靠依据。
2)基于支路无功势能的复杂网络加权拓扑模型更符合无功网络的区域解耦特性,是二次电压控制分区的先决条件。
3)基于社区网挖掘的分区技术将复杂的相互关联的未解耦网络划分为若干具有区域间弱耦合而区域内强耦合性质的子社区,为电压控制分区提供了全新的方法与思路。
网络分区 篇4
下面我先向大家介绍一种移动硬盘分区的方法:
1、先把移动硬盘和电脑连接上,一般都会在硬盘里显示,而不是在有可移动存储的设备里显示,所以不要大惊小怪哦,毕竟它的本质是笔记本硬盘。
2、一般的情况下移动硬盘都是一个分区,如果我们要分区的话,一般情况下要先把里边重要的东西现在电脑备份一下,因为分区格式会候导致数据丢失,因此如果移动硬盘里有重要数据的话,建议先拷贝到电脑硬盘上。
3、Win7是目前最主流系统,所以这里以win7系统为例,首先将移动硬盘连接上电脑,然后右击桌面上的计算机--管理-打开磁盘管理
4、找到我们的移动硬盘,然后右击选择压缩卷--选择容量大小,就会出现一个未分配的分区了,
5、右击未分配的磁盘,然后选择新建简单卷,会出来一个操作界面,大家依次选择磁盘大小、文件系统、磁盘盘符、磁盘卷标即可,最后他会提示格式化,格式化完成我们的分区也就完成了。
6、第一个我们要分的分区分好了以后,我们如果好像多分几个话,重复上面的步骤就行,很简单的。
针对移动硬盘分区后数据丢失问题,大家可以参照下面的恢复步骤:
第一步:单击“硬盘分区丢失/损坏” 模式。 第二步:选择丢失文件所在盘,然后点击下一步。 第三步:静待扫描结束。 第四步:扫描完查找扫描结果,勾选需要恢复的文件,然后点击下一步。注意文件丢失后,文件名称也会被系统自动更改名称。如果未扫描到需要的文件,请使用“万能恢复”模式再扫描次。
您可以通过以下几种方式来判断是否是您需要的数据。
1. 照片和文档是支持预览的,请单击扫描到的文件查看。
2. 根据数据的创建修改时间来判断。
3. 根据文件的类型来查找,例如您恢复的是word就在类型中选择 文档,然后点击查找。
第五步:选择一个盘存放需要恢复出来的文件,然后单击下一步。 第六步:数据恢复完成。★ 怎样恢复惠普电脑丢失的文件数据呢
★ 飞机实时数据的远程管理
★ 恢复误删文件的几点心得数据恢复
★ SD卡数据恢复的技巧
★ 大气数据自动测控系统设计
★ Word自动提取数据制作成绩单
★ Win 98文件丢失恢复策略Windows系统
★ 地震波形数据实时监控软件的实现
★ word文档误删怎么办?word文件误删恢复方法
网络分区 篇5
基于QoS度量和Dijkstra算法的串行寻优算法SSAQ (Shortest path Serial Algorithm with QoS metrics) [1]能够在多重链路上联网络环境下根据不同QoS度量寻出最优路径, 但算法的时间复杂度较高。将并行计算的思想应用到多重链路上联网络的路由寻优问题中, 为不同链路分配不同处理器来计算其链路状态能够降低算法复杂度。
并行路由搜索应考虑网络结构是否一致, 算法是否一致, 处理器处理能力是否一致, 通信方式是否一致, 代价是否有较大偏离。为有效提高计算效率, 可将QoS度量的Pareto子集并行搜索条件设定为执行同样的算法和通信方法, 使用相同的处理器, 每个处理器保持同样的网络图邻接矩阵的副本。可以预期处理器基于各自QoS度量计算路由时, 检测和判断将产生差异, 比如检测丢包率和误码最为费时, 剩余带宽较费时, 检测跳数和时延比较省时。
QoS度量Pareto子集并行算法QPAS (QoS metrics Parallel Algorithm based Shortest path) [1], 通过并行的约束淘汰和全局的寻优计算, 可大幅度地减少路由算法搜索时间, 全局的代价评估可提高算法整体的效率性能, 保证链路选择的公平性, 满足服务质量要求。可预期获得总体性能较优的链路。本文中提到将多链路网络进行分区, 提出并设计了一种QoS度量两级并行QoSR算法, 探讨两级并行QoSR算法并进行性能和复杂度分析。
1路径代价函数
1.1符号定义
定义QoS度量集Q={带宽, 时延, 跳数, 丢包率, 误码率, 节点负载能力...}, 共q个, 也可用Q={ξ1, ξ2, ξ3, ξ4, ξ5, ..., ξq}表示, 相应地QoS数据流请求约束集可表示为L={l1, l2, ..., lω}且至多有q个约束, ω≤q, q>0, l1, l2, ..., lω为约束值, 定义C为链路代价, c
分别为q个QoS度量分配q个处理器搜索QoS度量Pareto子集。顶点的最大度数为dmax, 顶点数为N。每条边对应一个q维权重向量W={w1, w2, …, wq}。分别对应度量集Q的元素顺序, 即带宽, 时延, 跳数, 丢包率, 误码率, 节点负载能力等, wi是可加权重, i=1, ..., q。
1.2路径代价函数
最短路径算法可以使路径所消耗的资源最小化, 但是这种优化是局部的, 它有可能因为选择最短路径而造成网络中出现处于临界状态的瓶颈链路;最短最宽路径算法则处于另一个极端, 它有可能因为需要避免造成瓶颈链路的过载而不必要地选择一条过长的路径。混合算法就是上述两种算法的折衷, 我们可以为链路指定新的代价定义, 从而平衡两者在路径选取中所起的作用。考虑到优化链路利用率这个优化目标, 根据MCOP算法 (Multi-Constraints Optimal Path) [2]和网络的power公式[3], 定义反映网络资源总体性能的新链路代价为:
根据Q集和W集的对应关系, 得:
公式 (2) 是QoS路由策略总体性能的一个尝试性的综合评价公式, 它是一个粗粒度的评价表达。因为各个QoS度量之间相互独立并且是非线性函数关系, 得到一个完全准确的综合代价评价标准仍是NP完全的[4]。目前衡量路由调度策略评价仍是一个OPEN问题, 但是公式 (2) 仍能很容易区分两条链路的综合性能。
定义1 Pareto非劣前沿
让M (Q, ≺) 表示一个映射集合, 其中Q={q|q是QoS度量}, 相应的映射解集称Pareto最优集, QoS度量集合f (M (P, ≺) ) 称Pareto非劣前沿。约束目标也作为目标并入到多目标, 且具有最高优先权。
定义2 多约束问题 (MCP)
网络G (N, E) , N是顶点集合, E是边集。给定l个约束, 搜索从源节点s到目的节点d的路径p, 当l≥2时, MCP问题就是具有两个可加约束的路由问题。该问题是NP完全问题, 目前已有很多用来解决NP完全问题的启发式算法。
则路径p上基于度量qi的路径代价:
崔勇等提出了解决多约束的预计算法MEFPA, 当l≥2时, MEFPA为多约束QoS路由算法[5]。
1.3QoS度量Pareto子集并行搜索的可行性
可能存在多个路径p满足 (3) 式的约束条件, 网络可能存在多条可行路径备选, 在对QoS度量Pareto子集并行搜索后适用新的代价定义选择综合性能最优的链路作为路由决策。则必存在Pareto顶点集关系:
2网络拓扑两级并行 (分区并行/QoS度量Pareto并行) 的算法分析
2.1多重链路上联网络拓扑构造
图1是一个典型的具有多重上联链路的网络拓扑。令V表示网络的全部结点的集合, 令S表示网络的全部起点的集合, D表示网络的边界节点的集合, GW表示子网接入节点的集合, I表示因特网接入节点的集合。拓扑分析:
a) s从gw到gw以及从gw到d都有多重链路上联, 多条链路可以有效地均衡访问因特网的流量负载, 有效避免星形拓扑在网络内部出现拥塞。
b) 由于上联的因特网的链路也是多重的, 各个链路的属性存在差异, 有的可能带宽较大, 具备带宽Pareto最优解, 有的可能比较稳定、丢包率小, 具备丢包率的Pareto最优解, 有的可能时延性能较好, 具备时延Pareto最优解。因此路由算法可以综合各个链路的优势, 在满足约束条件的前提下在Pareto解集中选择综合性能最好的链路。
c) 具备较好的网络容错性能, 网络内部任一链路失效, 网络能够在拓扑中迂回路由。
d) 由于gw、d等路由控制节点数增加, 节点路由计算负载可被均衡。
e) 只要网络中的用户访问因特网, 出口链路通过的最短路径个数 (介数) 最大, 因此出口链路是网络上负载最重的部位, 应当重点优化性能和平衡负载。
网络分区不仅会影响到各处理器间的通信量, 而且还会影响算法的运行时间。
2.2基于网络图分区并行路由寻优的基本策略分析
对一个任意的有向图, 网络分区并行算法的本质是在一个分布式网络上求解单源最短路径问题, 首先将整个网络分区成m个子网, 这种算法需要进行区与区之间的代价和标号通信。进行网络分区后, 所有节点被分为两类:边界节点和内部节点, 如图2所示。首先确定适用串行最短路径算法计算每个分区内的源点到边界节点的路径代价, 如果分区与多个分区相连, 还要计算各边界节点的路径代价。对每个分区子网内的最短路径, 计算出源点到边界节点最短路径和代价。求解过程中, 当更新边界节点的标号时, 需要将标号打包成消息, 发送给负责其相关子网的处理器。各处理器间需要交换节点的标号信息来检测算法是否终止。信息交换是针对边界节点标号而言的, 而同步过程发生在所有处理器之间, 用来检测算法是否终止, 终止检测的频率会对处理器空闲时间产生较大影响。可考虑消除全局同步过程或将其减少到最小程度。分区方法充分利用分布式存储并行系统的累加存储资源, 并且参与计算的处理机数可以超过最短路径源点数。
2.3基于节点聚类的网络分区并行路由搜索
可以预测, 从网络的起点发起一个区分服务请求, 若采用基于最短路径的SSAQ串行算法, 复杂度主要来自网络中的节点数。如果要能快速更新路由、避免路由长时间锁定在某一特定链路, 就必须要求将路由搜索算法时间复杂度尽可能降低, 因此可考虑将网络按节点类型把多重上联链路网络分为两个区, D区包含网络的因特网接入点的集合和子网接入节点集合, S区包含数据发起节点 (子网源点) 的集合, 为每个区分配q+1个处理器 (q个QoS度量并行处理器和1个分区处理器) , QoS度量处理器进行区内链路、节点状态的计算, 互相通信告知各区的链路和节点状态。q个处理器运行QPAS并行算法计算每个分区内的约束占优顶点集和代价, 将分区内的结果发送给分区处理器, 分区处理器用Dijkstra并行算法[6]进行分区间的处理器通信并计算得到全局的综合性能最佳路径。全局结果再次广播给每个处理器并更新路由。同时可以在尽可能的条件下根据拓扑特点对分区并行进行简化。
3两级并行QoSR算法设计
3.1拓扑结构特征的并行优化
如图1所示, 出口链路通过的最短路径数量 (介数) 最大, 因此出口链路d到i的链路l应当是网络中负载最重的链路, 是网络通信的瓶颈, 应当重点优化性能和平衡负载。所以正确选择d节点是整个网络流量优化和QoS路由的关键。但d节点不能再决定路由, 它只能向上级因特网节点尽力转发数据包, 而gw节点通过d节点可以决策将数据包路由到哪一个出口链路, 如果选中d1节点作为因特网的入口, 即可通知其他的gw节点, 因此只需要比较和检测d1到各个gw节点的链路即可, gw到其它的节点的链路被排除。找出gw到d1的最优链路, 确定最优gw点, 通知所有的o节点。调用SSAQ算法计算从源点到d1的最小代价路径。该优化有效地减少了冗余计算。
3.2符号约定
如图1所示, 设D为网络的因特网接入点的集合D={d1, d2, d3}, GW为子网接入节点集合, GW={gw1, gw2, gw3, gw4, gw5...}共gw个, O为数据发起节点 (源点) 的集合, S={s1, s2, s3, s4, s5...}共s个, 给D区分配处理器Pd, 给S区分配处理器Ps, 再分别给每个分区分配q个处理器Pq计算QoS度量Pareto最佳路径。
3.3算法步骤
Step1 初始化:指定一个默认的出口链路和d节点, 清空各处理器的路径和节点数据;
Step2 处理器Pd广播将选定的d节点编号广播给其余所有分区处理器;
Step3 检测各个gw节点到选定的d节点链路的链路状态, 将每个链路的链路状态值分别对应广播给该分区的各Pq处理器;然后每隔一个时间间隔循环检测gw到其他d节点的状态并广播给Pq处理器
Step4q个Pq处理器根据QPAS算法并行工作, 计算分区内约束占优顶点集和代价, 广播给该分区处理器。若收到Pd广播来的新的d节点编号, 转Step3;
Step5q个Pq处理器向分区处理器发送自己计算的约束占优节点和邻接矩阵, 分区处理器调用最短路径并行算法完成分区间代价最小路径的计算。
4两级并行QoSR算法性能讨论
4.1复杂度分析
Dijkstra并行算法[6]在未考虑QoS度量的情况下的时间复杂度为O (N 2/p+N log p) , p为分区处理器数目, d为节点中的最大度数, q为各分区内QoS度量并行处理器个数, QPAS时间复杂度O (N (d+logq+N) ) [1]。由于全局最佳路径在Dijkstra并行算法中计算, 所以在两级并行中Dijkstra并行算法复杂度仍为O (N 2/p+N log p) , QPAS并行算法只找出各分区中约束占优顶点并计算代价, 因为每个Pq处理器都要向分区处理器传送计算结果, 因此分区间通信时间复杂度为O (q) , 所以它在两级并行QoSR算法中的复杂度为O (dN/p+logq) , 两级并行总的时间复杂度为O (N 2/p+N log p+q+dN/p+N/plogq) , 整理为
4.2实验结果与讨论
基于Dijkstra最短路径算法的CCPF算法[7]按照广度搜索, 寻找满足条件的最佳路径。CCPF算法在最坏情况下, 可以在O (N (L+3N) ) 时间复杂度内找出从某一结点到其他任意结点的满足一定带宽区间的所有可行路由。其中N为网络中的结点数, L为网络结点的最大度数。CCPF算法只考虑了三个约束条件, 不具备实际多约束的普遍性, 如果将其扩展为q个约束条件, 与本例统一则可进行算法复杂度的对比实验。
为了验证两级并行QoSR算法的优越性, 我们用waxman随机网络[8]生成了100-2000个节点, 并构造邻接矩阵, 随机给出链路状态和约束条件, 分别对CCPF、SSAQ、QPAS和两级并行QoSR算法的性能进行了分析。实验结果如图3所示。两级并行加速比随着分区数目呈现近似线性增长, 并且获得了很好的算法复杂度和并行加速比。节点数量越大优势越明显。
合理配置处理器数目及其比例对获得最快的路由计算时间非常重要, 但这是一个典型的多目标优化问题。作者在每分区不超过20个节点的情况下, 以100-2000个节点进行并行加速比分析, 使用lingo10非线性软件对两级并行QoSR算法进行了分析, 实验结果如表1和图4所示。
数据显示n/pq的取值始终在3以上, 逐渐收敛。超过500个节点以上时变化缓慢, 实验结果中q值始终趋于最大值7, 因此得到的处理器配置的基本规律是随着节点数的增加, 适当减缓分区处理器的增加速度以维持最大并行加速比, 从而以更短的计算时间获得路由。若各子网包含的节点数差异较大, 则会导致各处理器间负载非常不均衡。复杂度和计算时间均有可能出现很大差异, 网络分区还要尽量使各子网包含的节点数趋于平均。
5结论
本文提出了基于代价可加性原则的多重QoS度量的路由策略总体性能的综合评价公式, 提出并设计了QoS度量两级并行QoSR算法, 根据多重上联网络的拓扑特征将网络分成若干个区域, q个处理器并行计算每个分区内的约束占优顶点集和代价, 将各分区内的结果发送给分区处理器, 分区处理器用Dijkstra并行算法进行分区间的处理器通信并计算得到全局的综合性能最佳路径。同时可以在尽可能的条件下根据拓扑特点对分区并行进行简化。
实验结果表明, 采用两级并行QoSR算法后, 复杂度降低, 最大加速比明显提高, 说明算法能够在很短的时间复杂度内处理QoS路由预计算问题。同时通过多目标优化分析得到了两级并行最大加速比与分区处理器、QoS度量处理器的一些配置规律。
参考文献
[1]秦勇, 肖文俊, 叶建锋, 等.QoS度量Pareto并行路由快速预计算算法[J].华中科技大学学报, 2008, 12.
[2]Qin Yong, Wang Yukun, Zhao Chenggui.Research on a MCOP Algo-rithm for Optimized Path[J].Journal of Information&ComputationalScience.2006, 3 (4) :849-860.
[3]Peterson LL, Davie B S.Computer Network:ASystemApproach[M].2nd edition.Morgan Kaufmann Publisher, Inc, 2000:454-457.
[4]Pitsillides A, Stylianou G, et al.Bandwidth allocation for virtual paths (BAVP) , investigation of performance of classical constrained and geneticalgorithmbase optimization techniques[A].In IEEE INFOCOM2000[C].TelAviv, 2000:1379-1387.
[5]Cui Y, Xu K, Wu J P.Precomputation for multi-constrained QoS routingin high-speed networks[A].IEEE INFOCOM[C], 2003, (2) :1414-1424.
[6]陈国良.并行算法的设计与分析[M].北京:高等教育出版社, 2002:433-434.
[7]冯径, 周润芳, 顾冠群.一种分类预计算QoS路由算法[J].软件学报, 2002, 13 (4) :591-600.
网络分区 篇6
功能需求的增加会造成系统重量、尺寸、能耗以及通信复杂程度相应提升,模块化综合航空电子系统可以很好解决这一问题,能够有效克服联合式体系结构自身不足。但是,飞行器项目中电子设备成本越来越高,空中传输服务需求相应提升,飞机平台内部或者型号不同的飞机平台内进行组件重用成为当今研究的焦点课题。在分布式模块化综合航空电子系统中,I/O独立于计算机模块而存在,缩短了与作动器及传感器之间的距离,传统模块化综合航空电子系统中普遍存在的背板散热问题及安全配置问题得到有效解决;与此同时,借助虚拟背板的这一概念,集中式系统和分布式网络特点得以有效结合,确保分布式系统处理的精准度,网络分区方法是一种对机载网络资源进行合理分配的有效方法。。
2 网络分区
在模块化综合航空电子系统设计过程中,分区管理促进系统容错性能的极大提升,是安全关键航空电子系统不可或缺的重要内容。分区管理的实现可以从时间分区及空间分区两个角度进行分析,在时间分区方面,主要是划分主机处理时间,在此基础之上,在确定的时间窗口中执行对应的任务,也就是分时操作;在空间分区方面,即为任务执行过程中提供对应的内存空间,也就是分片操作。
随着航电网络技术的不断发展,分布式网络逐渐成为机载网络今后发展的主要方向。全双工交换式以太网在民机中的应用已经取得初步成功,这样,针对网络的资源分配成为研究重点。全双工交换式以太网协议为确保VL所用带宽,对消息长度上限及带宽分配间隔进行限定,这样便出现带宽分区概念。
全双工交换式以太网网络带宽利用率不高,并且存在较为严重的延迟抖动问题,时间触发以太网协议将同步机制引入以太网中,利用混合流处理机制可以有效解决上述问题,其中,混合流主要是由时间触发流、尽力传输流以及速率限制流构成。有学者认为,时间触发流所占用的带宽,实际上就是带宽分区的一种特殊形式,将通信带宽划分为确定分区,关键功能收发数据的时间是确定的,彻底将关键数据流和外部流相隔开。
为降低时间触发流配置的复杂性,最大限度的控制延迟抖动,笔者提出网络分区概念,详见下图所示。时间触发流、速率限制流以及尽力传输流在时域上被成功隔离,这样便可以在既定的时间片上对数据流进行网络传输;除此之外,速率限制流及尽力传输流也实现了带宽上的有效隔离,速率限制流可以获取所配置的带宽,对于尽力传输而言,借助空闲网络带宽可以尽可能的对数据流进行发送。
在上面的网络分区示意图当中,横轴表示的是网络传输数据,纵轴表示的是网络带宽。网络分区具备时间触发以太网的各种优势,并对时间触发流予以高效利用,相比较于之前的带宽分区技术而言,对带宽的利用效率、确定性及实时性均有显著提升;网络分区技术很好的解决了时间触发流中所面临的静态配置复杂度问题,避免时间触发流在进行配置过程中在交换机中出现排队现象,这样可以有效控制配置复杂度。
3 系统模型构建
3.1 网络模型
在SCARLETT项目中是在AFDX技术基础之上进行新一代模块化综合航空电子系统的研发工作的,笔者所阐述的网络分区中所涉及到的速率限制流中也应用了AFDX技术,所以,从这一角度来讲,AFDX也是网络分区方法的重要技术依托。分布式模块化综合航空电子系统中混合关键性所涉及到的时间及任务关键性通过网络实时性得以体现,所以,在相关研究过程中,对比分析其与带宽分区VL端到端延迟对于研究分布式模块化综合航空电子系统网络分区的实时性具有重要意义。
3.2 消息模型
为更加有效的区分不同实时性性消息,特引入实时计算的相关概念,同时对控制器局域网中消息分类法进行参考,定义硬实时消息、弱硬实时消息以及软实时消息。并借鉴以太网流量模型构建相应的消息模型。
流i中第k个硬实时消息用HMki表示,对应的三元组表示方法为:
在上述公式当中,Lki、Tki以及Dki分别表示消息长度、消息周期以及截止期限,也就是所允许的迟延上限值。如果消息属于非周期性,则Tki表示两个连续消息之间时间间隔的下限值。
弱硬实时消息表达式为:
在上述公式当中,Ski,τki,dki分别表示消息长度、消息周期以及截止期限,也就是所允许的迟延上限值。如果消息属于非周期性,则dki表示两个连续消息之间时间间隔的下限值。
软实时消息表达式为:
在上述公式当中,mki,tki分别表示消息长度及消息周期,如果消息属于非周期性,则tki表示两个连续消息之间时间间隔的下限值。
3.3 流量模型
4 系统实时性能分析
对于同一交换机输出端口而言,时间触发流静态配置可以防止出现在同一时间到达数个时间触发流的问题,聚合时间触发流到达曲线为:
不管是速率限制流还是尽力传输流,都存在在同一时间到达数个流的可能性,以达到曲线可加性为依据,根据上述公式可以推导出速率限制流聚合到达曲线:
同理可以推导出聚合尽力传输流的达到曲线:
交换机输出端口服务曲线表达式为:
β(t)=R[t-T]+
在上述公式当中,R,T分别表示服务速率的上限值以及交换机技术迟延的上限值。
随机选取交换机一个输出端口,设交换机输出端口服务曲线代表总服务曲线,如果有数个时间限制流、速率限制流以及尽力传输流到达,对时间限制流服务曲线进行聚合,可以得到对应的表达式为:
速率限制流聚合服务曲线表达式为:
尽力传输流聚合服务曲线表达式为:
5 结论
功能需求会在一定程度上增加系统重量、尺寸、能耗及通信复杂程度,借助模块化综合航空电子系统可以有效解决该问题。该文结合分布式综合模块化航空电子体系结构,依托于时间、空间分区以及带宽分区,提出网络分区概念,同时构建对应的网络模型、消息模型以及流量模型,并对实时性能进行分析和探讨。综上所述,利用模块化综合航空电子系统可以有效解决由于功能需求的增加所导致的系统重量、尺寸、能耗以及通信复杂程度相应提升的问题,不仅如此,还可以有效克服联合式体系结构自身缺陷。该文通过对分布式模块化综合航空电子系统体系结构进行全面分析,提出利用网络分区方案来分配网络资源;结合分布式综合模块化航空电子体系结构,依托于时间、空间分区以及带宽分区,提出网络分区概念,同时构建对应的网络模型、消息模型以及流量模型,通过网络演算对端到端迟延公式进行推导;搭建起具有代表性的分布式模块化综合航空电子系统网络,并从理论计算的角度来分析网络分区方法的实时性能。通过相关分析得出结论:利用网络分区方法可以实现对分区隔离概念的有效扩展,从之前的端系统扩展至网络,除此之外,与带宽分区方法相比较而言,网络分区方法可以确保分布式模块化综合航空电子系统混合关键性需求得以切实满足,是一种有效的实现对机载网络资源进行合理分配的方法。
参考文献
[1]孟秀云,王肇敏,魏华梁.某型火箭弹半实物仿真系列方案设计——海鹰仿真工作站的应用[J].计算机仿真,2001(2).
[2]陈曙光,郭建国,卢晓东,周军.飞行器半实物仿真中实时数据管理方案[J].计算机测量与控,2013(1).
分区操作系统下的分区间通信的设计 篇7
随着模块化、综合化航空电子IMA系统的发展,原先的联合式、分散的各种航空电子子系统被集成到一起,以减轻飞机系统的重量,提高硬件资源利用率,并提高未来飞机的作战能力。为了适应模块化、综合化航空电子IMA系统的需求,美国航电委员会针对数据综合化的要求提出了应用程序接口标准ARINC653[1]。ARINC653是目前满足综合化航电实时操作系统需求的主要操作系统规范,其中最重要的是提出了分区的概念。分区操作系统的空间和时间是相互隔离的,分区间通信是分区之间实现信息交换的主要途径。
ARINC653标准PART1的标准定义了采样端口和队列端口两类服务,本文在介绍了分区间通信的概念的基础上,着重阐述队列端口的原理、设计和实现需要解决的主要问题,及采用的关键技术。第1节描述了分区操作系统的软件结构;第2节对分区间通信相关概念及原理进行说明,包括端口、通道和消息等概念及之间的关系;第3节描述队列端口、采样端口和模块间通信的设计与现实;第4节进行总结。
1 分区操作系统软件结构
符合ARINC653标准的分区操作系统[2]通常采用的软件结构[3]如图1所示,分为3层,应用层、操作系统层、硬件模块支持层。应用层为综合后的航电应用,应用位于分区之内,时间和空间受限于分区[4],应用运行于用户态;操作系统包括分区操作系统作(Partition OS)和核心操作系统(Core OS),Partition OS是分区内资源的管理者驻留于分区内,实现分区内的进程管理、调度以及资源的调配[5]。Core OS主要实现分区的管理、调度,分区间的通信、系统的故障监控以及系统内的资源管理和设备管理。
2 分区间通信的原理
分区间通信[6]主要由端口、通道和消息组成。分区间通信是通过端口发送和接收消息完成的,消息由一个源端口发送给一个或多个目的端口。分区通过端口的直接互联实现了间接互联。通道提供了端口之间的互联机制,每一条通道指明了发送消息的端口名称和所属分区,及接收消息的端口和所属分区。分区间通信端口、通道和消息之间的关系如图1所示。
在系统构建阶段,通过系统配置文件对端口和通道等分区间通信所需的资源进行配置。核心操作系统根据配置信息完成端口、通道、消息缓冲区的创建及消息传输机制的初始化,如图2所示。
在分区内使用端口时需要首先调用创建端口服务,完成分区内端口对象创建,实现与核心中通信资源的挂接。
通道定义了一个源端口和一个或多个目的端口之间的逻辑连接关系,同时也定义了消息从源端口传输到目的端口的传输模式及特点。在分区应用的配置文件中定义端口的各个特征,在系统的配置文件还需要单独以(端口名称、分区名称)对的方式定义连接关系。将端口和通道的信息组合放入一个数据结构中,主要信息如表1所示。
端口模式包括两种队列和采样两种,主要区别如下:采样模式适用于传输一般是相似且不断进行更新的数据消息。系统不对消息提供排队机制,在系统中仅有一个有效的消息缓冲区,消息保留在缓冲区中直到被新发送的消息所覆盖。分区可以随时发送消息给采样源端口,或随时访问目的端口消息。
与采样端口相对比,队列模式下适用于传输包含不同的数据的消息,且不允许消息发生覆盖,消息一般情况下不允许丢失。消息保留在源端口中直到发送成功,或保留在目的端口中,直到被应用端口成功接收。
协议用于队列模式下,如果通道上的目的端口多于一个,且有目的端口发生阻塞的情况下指导消息传输。协议包括发送者阻塞(SENDER_BLOCK)、接收者丢弃(RECEIVER_DISCARD)和不适用(NOT_APPLICA-BLE)。SENDER_BLOCK协议:消息发送给通道上所有的目的端口。如果任意一个目的端口满,消息在发送端口的队列按照FIFO次序排队,不再传输消息给目的端口中的任何一个端口,直到目的端口都可以接收消息。SENDER_BLOCK协议的优点在于其不会丢失消息,缺点是一个发送阻塞的目的端口会影响到其他目的端口。
RECEIVER_DISCARD协议:当通道上的一个目的端口满,源端口将为此目的端口丢弃此消息,并通知此的目的端口消息溢出。RECEIVER_DISCARD协议的意义在于避免了一个端口发生错误影响其他端口的情况,缺点是可能因为没有及时接收消息发生消息丢失。协议是整个通道上范畴内的属性,因为一条通道有且仅有一个源端口,故在实现时将协议信息保存源端口的数据结构中。目的端口配置的协议为NOT_APPLICABLE。
3 分区间通信的设计
3.1 队列端口设计
通过队列源端口发送消息时,应用请求发送的新消息被暂时存储在端口的消息队列中。若从队列端口接收消息,接收端口队列中最早到达的消息将被从消息队列中移除,返回给应用软件。
当进程向消息队列已满的队列端口发送消息,或进程从一个消息队列空的队列端口中接收消息时,进程需要进行等待,此时会发生进程的重新调度。通过设置超时时间,可以限制等待时间或不等待。对于队列模式下的端口,进程可以按照先进先出(FIFO)或者基于优先级(Priority)进行排队等待。排队规则在创建端口时指定。
通过队列端口发送和接收消息的过程如图3所示。用户通过队列端口发送消息时,如果发送端口没有空闲的缓冲区,进程将被阻塞到发送进程等待队列上。如果端口有空闲缓冲区,将通过系统调用交给通道控制程序,待发送的消息首先从系统的消息缓冲区获取一个缓冲,将消息拷贝到系统缓冲区中。然后,将缓冲区的指针插入到源端口的消息队列中。通道控制程序将根据端口的之间的互联关系,将缓冲区的指针插入到目的端口的消息队列中。通过操作缓冲区指针的方式可以减少数据拷贝的次数,提高数据操作的效率。如果目的端口为空,将通知目的分区有消息到达。
用户进程通过队列消息接收服务从接收端口接收消息时,如果目的端口没有消息,那么进程将被阻塞到从此端口接收消息的等待队列上。如果目的端口有消息,产生一个系统调用,从目的端口的消息队列中移除第一条消息对应的缓冲区指针,从核心OS内的缓冲区中拷贝消息后返回。如果所有的目的端口接收了消息,通知系统缓冲区释放系统的相应的消息缓冲及源端口消息队列的空间。
3.2 采样端口设计
采样端口与队列端口类似,不同之处在于发送接收操作不会挂起用户进程,而且端口最多只缓冲一个消息,允许消息的覆盖。对于发送端口,当用户向端口发送数据时,如果端口没有数据,那么拷贝数据到端口缓冲区中,如果端口有消息那么覆盖原先的消息;对于接收端口,当数据到达接收端口时,记录消息到达端口的接收时间,此时如果端口没有消息,拷贝消息到端口缓冲区中,如果有消息覆盖旧消息。当用户从接收端口接收消息时,如果没有消息,返回用户此时端口空的状态,如果有消息,那么根据当前时间和消息到达端口的时间计算消息年龄,如果消息年龄大于端口配置的刷新时间,那么标记该消息为有效消息,否则为无效消息,拷贝消息并将消息有效性返回用户。
3.3 模块间通信的设计
分区间通信可以用于模块内通信和模块间通信[6]。模块内通信是同一个模块内多个分区之间的通信,通道连接的发送分区和接收分区在同一个OS上。模块间是不同模块上的分区之间以及分区和设备之间的通信,通道连接的发送分区和接收分区不在一个OS上。
模块间通信使用虚分区和虚端口来实现,对于通信的一方来说,如果另一方不在本模块内,可以使用虚分区和虚端口来代替另一方。虚分区和虚端口通常和具体的通信设备相关,通过设备驱动来收发数据。模块内通信和模块间通信的连接关系如图4所示。
模块间通信数据传输过程如图5所示,如果是发送方向,那么通道源是位于本模块内上的分区内的发送端口,通道的目的位于模块之外,此时需要给通道目的配置虚端口,虚端口对应外部设备。用户向发送端口发送消息后,核心OS将消息指针给虚端口,虚端口控制程序调用对应驱动发送消息;如果是接收方向,那么通道的目位于本模块上的分区内的接收端口,通道的源位于模块外,需要给通道源配置虚端口。虚端口控制程序调用设备驱动接收消息,将收到的消息传递给应用端口。
4 结语
本文对分区间通信的相关概念及原理进行了介绍,重点对队列端口和采样端口消息传输原理进行阐述,并提出虚分区和虚端口方法用于模块间的分区间通信。
摘要:分区操作系统是新一代综合化航电系统的基础,提供时间分区和空间分区机制,保证综合后的应用不会相互影响。由于分区之间是隔离的,为了实现分区之间信息的交换,需要采用分区间通信方式进行数据交换。在此分析了分区操作系统软件结构以及ARINC653标准对分区间通信的要求,着重讨论队列端口和采样端口的实现方法。此外,在此还提出了一种基于虚端口和虚分区的通信方法,解决了分区内应用使用端口与模块内的设备以及和其他模块的分区进行通信的问题,提高了应用程序的可移植性。
关键词:分区间通信,队列端口,采样端口,虚端口
参考文献
[1]Aeronautical Radio,Inc.Avionics application software standardinterface[S].[S.l.]:Aeronautical Radio,Inc.,2005.
[2]WindRiver Systems,Inc.VxWorks_653_programmers_guide_2.2[M].[S.l.]:WindRiver Systems,Inc.,2007.
[3]NASA.Partitioning in avionics architectures requirementsmechanisms and assurance[R].US:NASA,2000.
[4]乔乃强.嵌入式实时操作系统分区机制的设计与实现[D].南京:南京航空航天大学,2011.
[5]李运喜.时间分区的设计与实现[J].航空计算技术,2010(3):65-67.
网络分区 篇8
近年来,电力系统的电压稳定性一直受到电力科研工作者的普遍关注。自从2003年美加大停电事故造成了巨大的经济损失和社会秩序紊乱之后,如何采取措施提高系统的电压稳定裕度,从而使电力系统运行在更高的稳定性水平更加成为人们研究的热点问题。
系统电压不稳定的基本原因是电网中某些地区的无功功率不足,导致部分地区电压下降,从而造成无功功率流动不合理,进而导致全网电压水平下降,最终导致电压崩溃事故的发生[1]。
一般而言,造成电力系统无功不足的原因主要有2个:一是整个系统中无功储备不足;二是系统中无功补偿设备分布不合理。对系统中的无功补偿设备进行合理的分配以控制系统中无功功率的合理流动和分配,既可以满足当前电力市场情况下系统经济性的要求,又可以提高整个系统电压稳定性水平。因此,无功补偿地点的合理确定已成为近年来人们研究的重点问题。
基于以上分析,本文首先采用嵌套分区NP(Nested Partitions)算法对整个电网进行分区,然后在不同区域内选择合理的节点作为无功补偿点。最后,通过算例分析验证采用本文方法进行无功/电压分区无功补偿对提高系统静态电压稳定性的有效性。
1 电压分级控制概述
传统的无功/电压控制方法采用分散控制,可以避免长距离输电线和多级变压器输送大量无功功率,但却会导致系统中无功功率的振荡、电压的周期变化、系统功率损耗的增加等问题。目前所采用的电压分级控制方法能够从区域电压稳定的角度出发,合理、协调地分配本区域内各电压/无功支持源的无功功率,从而充分利用区域的无功储备。这种方法既可以满足经济性要求,又可以提高系统运行的电压稳定性。
文献[2]中指出,电压分级控制方案主要包括3个层次。
a.一级电压控制:属于本地控制,通过对具体的无功/电压控制设备的瞬时快速调控,实现电压控制的目的。控制快速,控制时间常数以秒计。
b.二级电压控制:属于区域控制,通过在调度中心协调本区域内各一级电压控制设备的工作,实现整个区域系统内电网的良好运行。控制时间常数为几分钟。
c.三级电压控制:属于全局控制,是电压分级控制的最高层,需要协调好系统运行经济性与安全性的关系。控制缓慢,控制时间常数为十几分钟或者几小时。
由以上分析可知,二级电压控制在电压分级控制中属于承上启下的环节,起着重要的作用。本文着重研究了二级电压控制的分区问题,通过合理的电网分区来确定无功补偿地点,从而达到提高整个系统电压稳定性水平的目的。
2 无功/电压分区数学模型
电力系统无功/电压分区是指通过某种方法,对所研究电网中所有节点进行分组,以使某个优化目标达到最优[3]。从数学角度看,这恰是一个典型的组合最优化问题。因此,可以从数学的角度出发,首先建立合理的无功/电压分区数学模型,然后通过优化方法实现区域的划分。
2.1 电气距离
在简单电力系统中,因其网络连接关系比较清晰,因此用支路的电气参数即可近似表示系统的电气距离,然而这在复杂网络中却不适用[4]。因此,对于大型复杂电力网,本文采用电力系统中某一节点处的电压幅值变化对另一节点处的无功功率注入变化的灵敏度来衡量两节点间的电气距离[5]。
系统的常规潮流方程中,在平衡点处将方程线性化,可得:
其中,ΔP、ΔQ分别为节点的有功和无功功率不平衡量;Δθ、ΔU分别为节点电压相角和幅值的修正量。
由于电压幅值与无功功率强耦合,与有功功率弱耦合,因此,此处可令有功注入量保持不变,即ΔP≡0[3],得:
令S=[JQU-JQθJPθ-1JPU]-1,式(2)即可简写为ΔU=SΔQ,则S即为某一节点处的电压幅值变化对另一节点处的无功功率注入变化的灵敏度。
一般地,当i≠j时,对于矩阵S中元素,有Sij≠Sji。考虑到电力系统中两节点间电气距离的对称性,定义电气距离的映射函数M,并使M中元素满足以下条件:
其中,为矩阵S的最小元素的绝对值;矩阵M即为电气距离矩阵。
通过映射函数式(3)将矩阵S转换成矩阵M之后,Mij越大,表示节点i、j之间的耦合性越弱;Mij越小,表示节点i、j之间的耦合性越强。通过这种方法,即可使“电气距离”与普通意义上的“距离”概念相一致。
2.2 目标函数
设已将系统分为m个区域,现以第s个区域为例说明无功/电压分区的目标函数。设该区域内有节点1,2,…,n,其中节点t是该区域的中心点,该区域内其他节点到中心点的距离为dit,i=1,2,…,n且i≠t。由第2.1节中定义的电气距离可知,应有dit满足dit=Mit。则区域s中所有节点到中心点t的距离之和为:
ds表示了区域s中各点与中心点t联系的紧密程度,ds越小,表示该区域内各节点间耦合性越强,即联系越紧密。
根据以上分析,即可以定义无功/电压分区的目标函数为:
2.3 约束条件
对于无功/电压分区问题,其约束条件主要包括区域内节点数和分区个数2个不等式约束条件。
区域内节点数的不等式约束:
分区个数的不等式约束:
其中,分别表示变量的下限和上限。
3 分区点和区域中心点的选取
3.1 分区点的选取
分区点是指在进行无功/电压分区时,电力网络所处的运行点[6]。在电力系统中,系统的网络拓扑结构、线路参数和系统运行状态等共同决定系统的电气距离矩阵,因此当电力系统所处的运行点不同时会造成电力网络的电气距离矩阵的不同,从而进一步造成分区的不同。文献[7]已经证明,当系统运行点发生变化时所引起的系统运行状态参数的误差为:
其中,σΔJmax表示系统运行点变化时,雅可比矩阵变化矩阵ΔJ的最大奇异值;σmJ0in表示初始运行点雅可比矩阵J0的最小奇异值。
随着系统运行点相对于初始运行点变化的增大,此误差值会越来越大。本文在计算得到系统的最大静态电压稳定裕度之后,选取系统运行的临界状态作为分区点。
3.2 中心点的选取
中心点是进行无功/电压分区时,在各区域内计算ds的基准节点。先选取系统的PV节点作为中心点,待不满足区域内最大节点数不等式约束条件之后,再选择剩余节点中负荷节点电压对负荷增长水平的灵敏度[8]最大的节点作为中心点继续分区。
3.2.1 特殊节点的处理
在系统的临界运行点,某些PV节点可能会达到无功出力的极限水平,此时的PV节点不能作为中心点用于系统分区,而应作PQ节点处理。利用式(9)的无功储备指标进行判断:
其中,Qmaxt为第t台发电机的最大无功出力;Qt为第t台发电机当前无功出力。
一般认为,当IRPRI>0.2时,系统是安全的,此时的PV节点可以作为中心点参与分区。
3.2.2 负荷节点灵敏度的求取
极坐标下,计及系统负荷增长水平λ的潮流方程为:
将其简记为:
式(11)对λ求全导数,可得:
由式(12)可得:
由式(13)得到各负荷节点的灵敏度并按由大到小的顺序排列后,选择灵敏度最大的节点作为中心点进行分区。其中,为常规潮流方程的雅可比矩阵。
4 基于嵌套分区算法的无功/电压分区
4.1 嵌套分区算法
嵌套分区算法[9,10]由Shi和Olafsson等学者于2000年提出。该算法具有全局性、开放性、并行性和易操作性等优点[11],是一种新型的全局优化算法,可以以概率1收敛于全局最优解。
4.1.1 基本思想
嵌套分区算法的基本思想[12,13]是对待求解问题的可行域在全局范围内进行系统性分区,然后集中搜索优良解可能位于的区域(最有希望域)。
设待求解问题的可行域为Θ,是第k次迭代中包含最优解θopt的最有希望域。将σ(k)分解为Mσ(k)个子域,并把Θσ(k)视为一个域,即裙域(surrounding region),此时便生成Mσ(k)+1个不相交的区域。在每个区域上,利用抽样的方法估计该区域的性能,并确定下一次迭代的最有希望域σ(k+1)。这样依次进行迭代,直到得到不可分割的单解域或者满足分区终止条件为止。
4.1.2 相关定义
单解域:将可行域(valid region)的集合记为Θ。只包含1个可行解的区域称为单解域(singleton region),记为Θ0,。
裙域:在第k次迭代分区中,将最有希望域σ(k)以外的区域Θσ(k)视为一个区域,称为裙域。
深度:由可行域Θ到区域σ(k)的分区层数。单解域有最大的深度。
4.1.3 基本算子
嵌套分区算法主要包括分区、抽样、选区、回溯4个基本算子。
a.分区:在第k次迭代中,当σ(k)Θ0,可将σ(k)划分成Mσ(k)个子域σ1(k)、σ2(k)、…、σMσ(k)(k),并将Θσ(k)视为一个域σMσ(k)+1(k),此时便形成Mσ(k)+1个不相交的区域。当σ(k)=Θ时,则只能划分为Mσ(k)个区域。
b.抽样:对区域σi(k),以某种抽样方法选取抽样点估计该区域的性能。
c.选区:根据b中所估计的各区域的性能,选择下一步要分区的区域。
d.回溯:如果下一步要分区的区域是裙域Θσ(k),则算法要进行回溯。
4.2 嵌套分区算法用于无功/电压分区
嵌套分区算法用于无功/电压分区具体步骤如下。
步骤1:利用连续潮流和鱼群算法结合的方法计算至电力系统运行的临界点,并记录此时系统的运行参数,作为分区点。
步骤2:根据式(2)、(3)计算节点间的电气距离;根据式(13)计算各负荷节点的灵敏度,并按照从大到小的顺序排序。
步骤3:找出系统的PV节点,并用式(9)计算各PV节点的无功储备指标IRPRI,选择IRPRI>0.2的PV节点作为分区的中心点;将IRPRI<0.2的PV节点作PQ节点处理。
步骤4:将步骤3中满足条件的PV节点作为中心点,用嵌套分区算法进行分区。
a.分区方案的编码。本文采用基于节点的编码方式,即以节点为基本变量,以节点位于的区域为编码。以IEEE 14节点系统分为3个区域为例进行说明,假设某分区方案的编码方式为[2,6,8,9,12,14 3,5,107,4,11,13],其中节点2、3、6、7为PV节点,节点1为平衡节点不参与分区。此编码方式表示节点3归于区域2中,节点4归于区域3中。节点号在编码中出现的区域即表示该节点在无功/电压分区时所属的区域。
b.算法具体操作描述。(1)分区:设满足条件的PV节点共有p个,其余节点依次编号为1,2,…,q。根据PV节点数,将可行域分为p个区域。从节点1开始,将节点1分别置于各个区域中,即形成了深度为1的分区。(2)抽样:分别计算节点1与各区域中心点,即第i个PV节点(i=1,2,…,p)的电气距离dit。(3)选区:选择dit最小,且dit
如此依次对节点2到q进行分区,使分区的深度不断增大,直到不满足约束条件式(6)为止。
步骤5:找出剩余节点中灵敏度最大的节点作为中心点,并按照步骤4中方法进行分区,直至不满足约束条件式(6)为止。
步骤6:重复步骤5进行分区,直到得到最终的电力系统分区方案。此时便得到式(5)所示的目标函数值,并且在以上的分区过程中已保证了该目标函数值的最小化。
步骤7:分区调整,即将孤立负荷节点和节点数小于最小节点数的分区合并到与其电气距离最近的一个区域,并且满足合并后区域内的节点数不大于最大节点数。同时,应使调整之后的分区个数满足约束条件式(7)的要求。其中,作为中心点的孤立PV节点不参与分区调整。
5 无功补偿节点的确定
得到分区方案之后,所有分区中心点中的非PV节点即为系统的无功补偿节点。以这些节点为无功补偿节点,以传输系统的有功功率损耗最小为目标函数确定所需的无功补偿容量,然后对电力系统进行无功补偿,以提高整个系统的电压稳定性。
6 算例分析
为验证嵌套分区算法用于电力系统无功/电压分区的有效性,以IEEE 14和IEEE 30节点系统为例对本文分区方法进行验证,并与其他分区方法进行比较。
6.1 约束条件限值的确定
为合理确定分区约束条件式(6)、(7)中的限值,分析区域内节点数与分区个数的相互关系,得图1所示结果,由图选取IEEE 14节点系统4
6.2 最大分区半径的确定
分区半径rstep由式(14)确定:
其中,c是0~1之间的常数,Mmin、Mmax分别对应于式(3)计算所得电气距离的最小值和最大值。仿真验证系统分区半径与分区个数的相互关系,得图2(a)、(b)所示结果。
分区半径选择太大,则分区个数较少,即使在某些点进行无功补偿,电压稳定性提高的效果也并不明显;分区半径选择太小,则分区个数较多,使得无功补偿点多而不满足经济性的要求。因此,结合图2选取IEEE 14节点系统的分区半径rstep=0.001,IEEE30节点系统的分区半径rstep=0.228。
6.3 不同分区点下分区无功补偿效果
在进行电力系统无功/电压分区时,如果选择不同的分区点,则所得的分区方案不同,以致分区无功补偿后系统的电压稳定裕度提高的水平不同。以IEEE 14节点系统为例,表1为分别将系统初始运行点和临界运行点作为分区点时所得的分区方案,表2为在各区域中选择除PV节点以外的节点中灵敏度最大的节点进行无功补偿后,系统的电压稳定裕度提高的效果。
分析上表可知,初始运行点作为分区点时,由于分区点选择不当,在相应节点进行无功补偿后,系统的电压稳定裕度反而有所降低;而临界运行点作为分区点时,选择相应节点进行无功补偿后,电压稳定裕度升高了10.4%。由此可见合理选择分区点的重要性。
6.4 嵌套分区算法分区无功补偿效果
运用嵌套分区算法分别对IEEE 14、IEEE 30节点系统进行分区,分区方案分别如表3和表4所示。
为验证分区无功补偿后系统稳定裕度的提高效果,用以下3种方案进行分析比较。方案1:不进行无功补偿。方案2:运用本文方法进行分区补偿。方案3:将各节点按照灵敏度由大到小排序后,选择补偿节点数目与方案2相同,灵敏度较大的节点进行无功补偿。结果如表5所示。
在IEEE 14节点系统中,由于分区补偿和按灵敏度大小补偿选择的是同一节点,因此,2种补偿方案补偿后所得系统的静态电压稳定裕度相同,都提高了系统的静态电压稳定裕度。在IEEE 30节点系统中,分区补偿后系统的静态电压稳定裕度较灵敏度补偿后系统的静态电压稳定裕度有了更大的提高,且2种补偿方案较未补偿时的静态电压稳定裕度都有了提高。以上可以说明对电力系统进行无功补偿确实可以提高系统的电压稳定裕度,而且在电力系统电网结构的基础上对系统进行分区无功补偿可以更好地提高整个系统的电压稳定裕度水平。
6.5 与其他分区方法的比较
嵌套分区算法是针对整个可行解的集合进行分区,而不是针对单个解而言,因此,其相对于其他分区方法而言所得系统分区结果更能体现全局性的特点。以IEEE 30节点系统为例,将嵌套分区算法的无功/电压分区补偿结果与文献[5]中所得分区补偿结果进行比较,结果如表6所示。
表6中,本文算法采用与文献[5]中算法相同的系统初始负荷水平和功率增长方式,但控制变量参数值的选取可能存在差异,因此2种算法计算的补偿前后电压稳定裕度存在差异。但通过比较2种算法补偿前后的电压稳定裕度提高百分比(本文算法提高57.13%,文献[5]算法提高45.17%),说明采用本文算法对系统进行无功/电压分区补偿后,整个系统的电压稳定裕度也有较大的提高,甚至较文献[5]中算法计算所得结果有了更大的提高,这验证了本文方法的有效性。
7 结论
如何手工恢复分区表 篇9
下面让我们先来了解一下硬盘的物理结构。在密封的金属壳体中,包含一片或几片表面镀有磁性物质的盘片,盘片两面安装有磁头以及相应的控制电路。硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后进行读写操作。当系统向硬盘写入数据时,磁头中“写数据”电流产生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或使线圈阻抗产生变化,经相关电路处理后还原成数据。
我们再来了解一下硬盘分区的逻辑结构。硬盘出厂前已进行过低级格式化,将空白的磁盘盘面划分成若干个同心圆磁道(逻辑上的),再将每根磁道划分为若干个扇区,扇区是硬盘上最小存储单元。硬盘内有若干盘片,每个盘片的两个面都各有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号,形成磁头号;每个盘面的划分规则通常是一样的。这样每个盘片上半径R值相同的同心圆,在逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2……形成柱面号;而每个磁道又被划分为几十个扇区(Sector),通常的容量是512字节,并按照一定规则编号1、2、3……形成扇区号。至此,硬盘上已经有了许多的扇区,而且,每个扇区都有自己的位置标记,其表达形式是Cylinders×Heads×Sector,称为绝对地址。但是,由于记录地址的字节数有限,采用这样的方法,标记容量最多只有8G的空间,过去硬盘容量较小,是能满足使用要求的,但是随着硬盘容量发展到10G、20G时,就无法满足要求了。
目前,对扇区的标记定位采用逻辑块地址的方法(也叫线性寻址方式),即LBA,是一个相对地址。它将每一个扇区重新编号,每一个位置不再用过去的由三个数字表示,而是用一个数字表示。举例说明,住宅楼某号门中,一楼的三户人家一般标记为101、102、103;二楼的标记为201、202、203;如果采用相对地址模式标记,则是101记1,102记2,103记3,201记4,202记5,203记6。采用这一方法,只用很少的字节就可以记录一个扇区,从而使分区的分配变得十分灵活,所能支持的寻址空间也大大增加,硬盘的最大标记容量可以达到2000G。
对硬盘进行分区,也就是将众多扇区分片,形成我们在操作系统中看得见的C盘、D盘、E盘等,以方便使用。分区表就是记录这个分片信息的表项,操作系统能否安装、数据能否读写都是以此为前提的。
分区表严格的说不是一个表,而是一组表,由零磁道的主分区表和各个后续分区的次分区表共同组成。若一个硬盘分四个区,则分区表组构成如表1:
MBR是主引导记录,包含主分区表,记录主分区(C盘)的位置信息及扩展分区的位置信息;EBR,也叫做扩展MBR(Extended MBR),是余下分区(逻辑分区)的引导记录,包含所在逻辑分区的分区位置信息和其下一个逻辑分区的位置信息;EBR3的分区表中就只有F盘的分区信息,而没有下一个分区的信息,至此硬盘中分区的地址就这样形成一个“分区链表”,通过这个分区链表,操作系统就可以识别到所有的分区,并能够访问分区内的每一个地址。
通常情况下EBR是不会被破坏的,或者破坏的几率极低,倒是位于零磁道的主引导记录MBR因为病毒攻击、分区调整失败、多系统引导菜单出现错误、安装非MS操作系统等容易遭到损坏,造成“分区链表”第一项的丢失。所以,我们就是针对这一特点,利用各个EBR留存的信息,来恢复MBR中的分区表。
分区表是由分区工具建立的。第一分区表的存储位置在整个硬盘的最前端,绝对地址Cylinders×Heads×Sector是0柱面/0磁头/1扇区,该磁道的后62个扇区不使用;后续分区表位于各个逻辑分区的最前端,其数据结构与第一分区表完全相同。
前面提到,每扇区的大小是512字节,在这个空间中,前446字节是主引导代码,后64个字节是分区记录项,可以记录4个分区的分区信息,每个分区的信息占用16个字节,不使用的记录项则添0(大多数情况下只使用前面两个记录项,只有存在多个操作系统需要引导时才会使用更多的记录项),最后两个字节是结束标志55AA。分区表内部结构如表2:
分区记录项的数据结构及16个字节每字节的含义如表3(16进制表示)。
如表4所示,以目前常见的80G硬盘分4个20G的分区为例,来看一下分区表组中各分区表的具体内容,以便直观地了解记录项中各个数据的意义和数据之间的关系,进而搞清楚分区表是如何记录分区信息的。
表4是硬盘零磁道第一个扇区的内容,共32行,每行16字节,合计512字节。从第1行(000)第1个字节到28行(1B0)第14个字节是主引导记录的代码,从第28行(1B0)第15字节“80”开始至第32行(1F0)第14字节为止是总分区表,第32行(1F0)的15、16字节是结束标志55AA。从80到55AA就是分区表的记录项,是所有分区记录的开始,也是我们所讨论的要恢复的部分。
根据前面介绍的每偏移量含义,从28行(1B0)15字节到29行(1C0)14字节是关于第一分区C盘的,这16字节中字节1是80,表示该分区是活动分区;2、3、4、字节是01 01 00,表示该分区开始的绝对地址,即1磁头1扇区0柱面(通用值);5字节是07,表示该分区是NTFS文件系统;6、7、8字节是FE FF FF,表示本分区结束的绝对地址(通用值,无实际意义);9、10、11、12字节是3F 0000 00,表示本分区之前已使用的扇区数,由于C盘之前只有零磁道被使用,所以已使用数应该是63扇区,而将3F 00 00 00换算过来正是63(注:此处的记录将高低字节位置互换了,计算时应按00 00 00 3F进行,以此类推);13、14、15、16字节是02 68 54 02,代表本分区的扇区数,将02 68 54 02换算过来是39086082个扇区,再换算成字节为20012073984=20G。
分区表第一项记录介绍完了,下面来看一下第二项关于扩展分区的记录。上表中1C0行第15字节是1字节,00表示此分区是非活动分区;2、3、4字节是00 C1 FF,表示此扇区开始的绝对地址,(通用值,每个分区表中第二记录项此处均填写该数据);5字节是0F,表明该分区的分区类型是扩展分区;6、7、8字节是FE FFFF,表示本分区结束的绝对地址(通用值,无实际意义);9、10、11、12字节是41 68 54 02,表示本分区之前已使用的扇区数,换算后是39086145个扇区(此分区之前已用的是C盘和零磁道,即63+39086082=39086145个扇区,与换算结果吻合);13、14、15、16字节是80 7C FC 06,代表本分区的扇区数,将80 7C FC 06换算过来是117210240个扇区,再换算成字节为60011642880=60G,是整个扩展分区的大小。
下面再看一下D盘的分区表(EBR1)的内容。该分区表位于C盘最后扇区的下一个磁道的第一个扇区,见表5(用WINHEX可以方便的找到此处)。
从55AA向上数5行,划线处为此分区表第一项记录的第1字节,00表示该分区为非活动分区;2、3、4字节为通用内容,只要不是主引导记录MBR中的分区表,则第一记录项该处都添01 C1 FF;5字节为07,表示该分区为NTFS分区;6、7、8字节也是通用内容FE FF FF;9、10、11、12字节也添通用内容3F 00 00 00(扩展分区内D盘之前使用的空间是该分区第一个磁道,63个扇区,分配给引导记录);13、14、15、16字节表示本分区大小,换算后是39086082个扇区,大小也是20G(D盘)。如果本分区是硬盘的最后一个分区,则后面不再有记录。
紧接着,是本分区第二记录项,是关于下一分区(E盘)的信息。1字节表示下一分区是非活动分区,2、3、4字节填写通用内容00 C1 FF(每个分区第二记录项该处都添此数据);5字节为05,表示下一分区仍是扩展分区;6、7、8字节不变;9、10、11、12表示在扩展分区内下面的这个分区(E盘)之前已使用的分区,换算结果是20G。本例中后面还有两个分区表,记录E盘和F盘,记录项与此相同,不再累述。
至此,我们已经了解了一块硬盘的分区信息是如何记录的,那么,当零磁道的内容被破坏时,我们就可以运用WINHEX进行恢复。要恢复的内容有主引导记录、第一记录项、第二记录项、结束标志。基本应按以下步骤进行:
第一步,恢复主引导记录MBR:在计算机上只挂接故障硬盘,启动到DOS状态,运行FDISK/MBR,这个命令是用来恢复零磁道的主引导记录MBR,这不会引起分区改变;或者将故障硬盘作为从盘挂接在装有WINHEX的计算机中,用WINHEX将MBR复制到故障硬盘的相应扇区;
第二步,填写主分区表第一记录项:1字节填80;2、3、4字节填01 01 00;5字节根据破坏前的格式对照分区类型表填写;6、7、8字节填写FE FF FF;9、10、11、12字节填写3F 00 00 00;13、14、15、16字节填写C盘大小;由于C盘后面紧接着的是EBR,所以用EBR所在的第一个扇区数减去63就是C盘的大小。要获得该扇区数,要用WINHEX搜索,找到第一个EBR时,WINHEX窗口左下角显示的就是该扇区的扇区数,用它减去63,再换算成16进制,倒置填写即可;(说明:由于现在硬盘都较大,80G有大约1亿6千万个扇区,为了提高效率,不必从头搜索,比如C盘20G,大概是4000万个扇区,那么你可以用转到扇区命令直接转到3900万扇区,从那个地方再开始查找就可以节约许多时间)。
第三步,填写主分区表第二记录项:1字节填00,2、3、4字节填00 C1 FF;5字节填05H或0FH,表示是扩展分区;6、7、8字节填FE FF FF;9、10、11、12字节填刚才找到的EBR1第一扇区的扇区数;13、14、15、16字节填写扩展分区总大小;这一步比较耗时,因为需要将各个EBR分区表都查找出来,并将各个EBR中第一记录项的第13、14、15、16字节的数值换算成扇区数后相加,以计算出扩展分区的大小,再换算成16进制,并将数值倒置,最后用WINHEX手工填写到第二记录项的13、14、15、1 6字节,完成该记录项的恢复;
第四步,填写结束标志55AA在该扇区最后两个字节处。重新启动计算机。
至此,主引导记录的恢复工作就宣告完成。目前一些恢复软件的恢复机理也是如此,只是通过编程自动完成这些过程罢了。需要说明的是,手工操作,手工恢复数据虽然成功率比较高、比较有挑战性,但是对操作者要求较高,必须要有耐心,必须极其细心,并且一定要保持清醒,清楚自己正在操作什么,操作完了会改变什么。
摘要:手工恢复分区表是一种比较可靠的恢复方法,使用这一方法必须首先掌握硬盘分区的划分策略、分区数据的记录位置、分区数据的记录格式、分区数据之间的相互关系以及分区表组的相关知识;其次要能够使用WINHEX软件,去处理访问硬盘有关扇区的数据,并根据处理结果来推导出丢失的分区信息,进而实现分区表的恢复。
关键词:MBR,EBR,扇区数,分区记录项
参考文献
[1]老叶.硬盘的DOS管理结构.[2007-02-03].[DB/OL].http://hi.baidu.com/yeyun87/blog/item/462910e9ca4c963fb80e2dec.html.
[2]computer.硬盘修复专辑.[2005-01-16].[DB/OL].www.jxrzzs.com/dispbbs.asp·boardid=26&rep.http://www.xici.net/b396942/d33889385.htm.
[3]cLinuxer.数据恢复基础知识.[2001-05-09].[DB/OL].http://tech.china.com/zh_cn/netschool/softwares/system/621/20010509/174516.html.
[4]电脑侠客.反黑行动之数据恢复.[2005-06-15].[DB/OL].http://www.oioj.net/blog/user1/14566/archives/2005/97466.shtml.
相关文章:
审核模式02-26
中医护理路径02-26
临床护理路径骨科护理论文02-26
临床护理路径产科护理02-26
专科护理路径02-26
种群生态学复习题集02-26
安徽省河北商会2013年度会员大会暨成立两周年庆典大会邀请函02-26
祝周末快乐的祝福语短信02-26
职业生涯规划书的图表02-26