分布式操作系统的简介(精选6篇)
江苏省监狱管理局管理下辖监狱和未成年犯管教所27所,另有双龙集团公司、司法警官高等职业学校、罪犯戒毒所、民警接待站等4个单位;局机关内设22个职能处(室),另按规定设置纪检监察机构。
江苏省现有监狱25所,其中男犯监狱23所、女犯监狱2所。另有双龙集团公司、司法警官高等职业学校、罪犯戒毒所、民警接待站各1个。现有在职民警13000多人,常年押犯近8万人。监狱局机关内设22个职能处(室),另按规定设置纪检监察机构。全省监狱分布在10个省辖市的19个市(县),其中有11所监狱地处农村。
江苏省江宁监狱02552294000南京市江宁区淳化镇大连山 江苏省彭城监狱05163163000徐州市东郊大湖火车站西侧 江苏省通州监狱05136937110通州市环本镇
江苏省南通女子监狱05135518101南通市濠东路63号 江苏省南通监狱05135518101南通市濠东路63号 江苏省句容监狱0257731090江苏省句容市 江苏省高淳监狱02557375110南京市高淳县华山 江苏省无锡监狱05102625081无锡市吴桥西路 江苏省浦口监狱02557077114南京市浦口区石佛寺 江苏省龙潭监狱02585716500南京市栖霞区龙潭镇 江苏省金陵监狱02584191101南京市东效金丝岗 江苏省常州监狱05197720201江苏省溧阳市 江苏省溧阳监狱05197593211溧阳市社渚镇 江苏省宜兴监狱05107399291宜兴市芙蓉寺
江苏省丁山监狱05107402842宜兴市丁蜀镇丁山北路245号 江苏省灌云监狱05188613012灌云县七道沟 江苏省盐城监狱05153482035大丰市仙鹤镇 江苏省洪泽湖监狱05276478123泗洪县车路口 江苏省徐州监狱051657355900徐州市铜沛路184号 江苏省苏州监狱05126521225苏州市仓街10号 江苏省镇江监狱05114421500镇江市学府路7号
江苏省南京女子监狱02552894434南京市雨花台区铁心桥镇宁双路9号
关键词:分布式系统;安全
收稿日期:2009-11-08
作者简介:杨立华(1964-),男,黑龙江绥化人,武警黑龙江省总队司令部通信处处长。
一、局域网的安全性问题
目前大多数企业、公司乃至军队、政府机关都有自己内部的局域网。在这里,我们可以根据其连接性质将它们分类为连接的局域网和非连接的局域网。非连接的局域网即:这个网络在物理上只对有限人员开放,通常是一个组织的成员。很显然,非连接的局域网和那些不是非连接的局域网相比,在安全方面要考虑的问题要少得多,因为和那些不是非连接的局域网相比,潜在的威胁要少很多。对于非连接的局域网而言,最大的威胁来自于那些组织成员内部。因为只有这些人可以在物理上访问网络,所以只有这些人才能对网络构成威胁。但是这些来自于内部人的威胁是最难防范的。正所谓家贼难防。大多数情况下,他们对系统的工作原理了解得非常清楚,当然他们对系统的弱点也了解得非常清楚。非连接网络的一个潜在的威胁是,这个网络在大家都不知道的情况下已经和外部连上了。你可以认为你的局域网是安全的,以为这个网络只联了你们工作组的几台计算机,而这些计算机都属于可以信赖的人的。但是在谁都不知道的情况下,某个人在某台计算机上安置了一个调制解调器。这时,这个网络就变得不安全了。
连接的局域网除了连接本组织内部的网络外还和一些不受该组织控制的其他网络相连。和非连接的局域网相比,一个主要的不同是,这个网络面临的潜在威胁要大得多。除了要面对来自于内部人员的威胁以外,还要面对那些通过网际互联可以访问该网络的外部人员的威胁。和外部连接的局域网可以分为两类,一类是全连接的局域网。这个局域网和外部网络有无缝接口。还有一类是部分连接的局域网。这种网络可以在外部进行访问,但是得通过这个组织自己定义的技术和方法,而这种技术和局域网流行技术不相同。一个简单的例子是上面所提到的。某个人通过一台机器上的调制解调器访问一个非连接的网络,结果就造成了一个部分连接的局域网。这个连接之所以是部分连接,是因为通过调制解调器访问该网络,本身就是通过电话线来访问的,这个手段本身就可能包含了对访问该网络的某些权限限制。对于和外部连接的局域网而言,最大的威胁是它可能遭受来自于世界上任何一个地方的威胁。
二、分布式系统的网络安全策略
(一)防火墙
一个最常用的网络安全技术就是使用防火墙。防火墙技术是一种用来加强网络之间访问控制,防止外部网络用户以非法手段通过外部网络进入内部网络,访问内部网络资源,保护内部网络操作环境的特殊网络互联设备。它对两个或多个网络之间传输的数据包按照一定的安全策略来实施检查,以决定网络之间的通信是否被允许,并监视网络运行状态。构建一个防火墙就是在连接该局域网和外部网络的路由器上建立包过滤。只有那些符合规定的包才能从防火墙里边传到防火墙外边。
防火墙处于5层网络安全体系中的最底层,属于网络层安全技术范畴。在这一层上,企业对安全系统提出的问题是:所有的IP是否都能访问到企业的内部网络系统?如果答案是“是”,则说明企业内部网络还没有在网络层采取相应的防范措施。虽然从理论上看,防火墙处于网络安全的最底层,负责网络间的安全认证与传输,但随着网络安全技术的整体发展和网络应用的不断变化,现代防火墙技术已经逐步走向网络层之外的其他安全层次,不仅要完成传统防火墙的过滤任务,同时还能为各种网络应用提供相应的安全服务。另外还有多种防火墙产品正朝着数据安全与用户认证、防止病毒与黑客侵入等方向发展。
防火墙的关键技术就在于端口之间进行访问控制。比如一个路由器可以被设置成把所有从外边过来的试图通过端口23来访问的包都丢弃掉。这样做可以有效地关掉从外边进来的TELNET。大部分的路由器供应商都支持网络管理员建立一张关于允许访问和不允许访问的端口号表。使用防火墙的一个好处是网络管理员可以做到不用去访问组织内的每个用户的计算机就能提高系统的安全性。换句话来说,组织内的用户可以随意配置他们的计算机,防火墙可以保护他们。
防火墙的配置是非常重要的,必须要保证网络支持的协议(Domain Name System protocal)能够通过防火墙。否则,组织内部的机器就不能解析防火墙外的机器名字。同样,如果你想让防火墙内外的机器能够通讯的话,就要保证防火墙外的机器能够访问相应的DNS服务器,这样它们才能解析防火墙内的主机地址。实现防火墙的通常办法是拒绝绝大部分从防火墙外发起的到防火墙内的机器的连接。当然,特定的机器除外,这种机器被保证是绝对安全的。
必须严格限制从防火墙内发起的到防火墙外的连接,必须对这种连接特别小心。你必须明白谁会对你构成威胁,以及什么会对你构成威胁。禁止从内部发起的连接即意味着你连接到的主机可能就是潜在的威胁。如果防火墙允许任何协议通过的话,一个恶意的内部人员很容易攻破防火墙。
防火墙的另外一个成本是机会成本。因为大部分防火墙通常只允许特定的协议通过,一般是电子邮件。而其他的协议则一律不允许通过。这就使得公司的员工不能访问一些新的,有潜在价值的网络。这会使得网络不能得到很好的利用。目前的防火墙产品主要有堡垒主机、包过滤路由器、应用层网关(代理服务器)以及电路层网关、屏蔽主机防火墙、双宿主机等类型。
根据防火墙所采用的技术不同,我们可以将它分为四种基本类型:包过滤型、网络地址转换—NAT、代理型和监测型。1.包过滤型 包过滤型产品是防火墙的初级产品,其技术依据是网络中的分包传输技术。网络上的数据都是以“包”为单位进行传输的,数据被分割成为一定大小的数据包,每一个数据包中都会包含一些特定信息,如数据的源地址、目标地址、TCP/UDP源端口和目标端口等。防火墙通过读取数据包中的地址信息来判断这些“包”是否来自可信任的安全站点。一旦发现来自危险站点的数据包,防火墙便会将这些数据拒之门外。系统管理员也可以根据实际情况灵活制订判断规则。包过滤技术的优点是简单实用,实现成本较低,在应用环境比较简单的情况下,能够以较小的代价在一定程度上保证系统的安全。但包过滤技术的缺陷也是明显的。包过滤技术是一种完全基于网络层的安全技术,只能根据数据包的来源、目标和端口等网络信息进行判断,无法识别基于应用层的恶意侵入,如恶意的Java小程序以及电子邮件中附带的病毒。有经验的黑客很容易伪造IP地址,骗过包过滤型防火墙。2.网络地址转化—NAT 网络地址转换是一种用于把IP地址转换成临时的、外部的、注册的IP地址标准。它允许具有私有IP地址的内部网络访问因特网。它还意味着用户不需要为其网络中每一台机器取得注册的IP地址。在内部网络通过安全网卡访问外部网络时,将产生一个映射记录。系统将外出的源地址和源端口映射为一个伪装的地址和端口,让这个伪装的地址和端口通过非安全网卡与外部网络连接,这样对外就隐藏了真实的内部网络地址。在外部网络通过非安全网卡访问内部网络时,它并不知道内部网络的连接情况,而只是通过一个开放的IP地址和端口来请求访问。OLM防火墙根据预先定义好的映射规则来判断这个访问是否安全。当符合规则时,防火墙认为访问是安全的,可以接受访问请求,也可以将连接请求映射到不同的内部计算机中。当不符合规则时,防火墙认为该访问是不安全的,不能被接受,防火墙将屏蔽外部的连接请求。网络地址转换的过程对于用户来说是透明的,不需要用户进行设置,用户只要进行常规操作即可。3.代理型 代理型防火墙也可以被称为代理服务器,它的安全性要高于包过滤型产品,并已经开始向应用层发展。代理服务器位于客户机与服务器之间,完全阻挡了二者间的数据交流。从客户机来看,代理服务器相当于一台真正的服务器;而从服务器来看,代理服务器又是一台真正的客户机。当客户机需要使用服务器上的数据时,首先将数据请求发给代理服务器,代理服务器再根据这一请求向服务器索取数据,然后再由代理服务器将数据传输给客户机。由于外部系统与内部服务器之间没有直接的数据通道,外部的恶意侵害也就很难伤害到企业内部网络系统。代理型防火墙的优点是安全性较高,可以针对应用层进行侦测和扫描,对付基于应用层的侵入和病毒都十分有效。其缺点是对系统的整体性能有较大的影响,而且代理服务器必须针对客户机可能产生的所有应用类型逐一进行设置,大大增加了系统管理的复杂性。4.监测型 监测型防火墙是新一代的产品,这一技术实际已经超越了最初的防火墙定义。监测型防火墙能够对各层的数据进行主动的、实时的监测,在对这些数据加以分析的基础上,监测型防火墙能够有效地判断出各层中的非法侵入。同时,这种检测型防火墙产品一般还带有分布式探测器,这些探测器安置在各种应用服务器和其他网络的节点之中,不仅能够检测来自网络外部的攻击,同时对来自内部的恶意破坏也有极强的防范作用。据权威机构统计,在针对网络系统的攻击中,有相当比例的攻击来自网络内部。因此,监测型防火墙不仅超越了传统防火墙的定义,而且在安全性上也超越了前两代产品。
(二)应用网关(Application Gateways)
网关经常和防火墙联合起来使用。基本思想是用防火墙把大部分送往指定应用网关的包阻塞住。举个例子,如果电子邮件不是能够毫无阻碍地到达每台主机,而是只能到达某个特定的主机,这样的话,这台机器就能被设置成能够为整个组织收发电子邮件。同样地,只有一台特定的机器开放TELNET服务(这台机器是安全管理的),只有登录到这台机器上以后,你才能访问防火墙内的其他机器。应用网关可以被用来处理电子邮件,远程登录,及文件传输。大部分情况,仅仅是要正确配置一些软件。
总的来说,防火墙和网关联合起来的话,可以提供某种程度上的安全。既使这个局域网运行在不安全的网上,只要网络管理员对局域网的安全负责的话,即使他不能为每台机器进行合理的配置,这个网络还是安全的。不过要记住,防火墙和网关结合并不是完美的。大部分的网络管理员应该对1988年的蠕虫还记忆犹新。既使是在今天,蠕虫病毒还是能够轻而易举地越过大部分的防火墙。
(三)虚拟专用网络(Virtual Private Networks)
有一些企业上网只是为了和异地的其他部门进行通讯,对于这种情况,在Internet上建立自己的虚拟专用网络是一个安全的策略。
这种技术具有成本低的优势,还克服了Internet不安全的弱点。其实,简单来说就是在数据传送过程中加上了加密和认证的网络安全技术。在VPN网络中,位于Internet两端的网络在Internet上传输信息时,其信息都是经过RSA非对称加密算法的Private/Public Key加密处理的,它的密钥(Key)则是通过Diffie-Hellman算法计算得出。如,假设A、B在Internet网络的两端,在A端得到一个随机数,由VPN通过Diffie-Hellman算法算出一组密钥值,将这组密钥值存储在硬盘上,并发送随机数到B端,B端收到后,向A端确认,如果验证无误则在B端再由此产生一组密钥值,并将这组值送回A端,注册到N0vell的目录服务中。这样,双方在传递信息时便会依据约定的密钥随机数产生的密钥来加密数据。
确切来说,虚拟专用网络(VirtUal PrivateNetwork,VPN)是利用不可靠的公用互联网络作为信息传输媒介,通过附加的安全隧道、用户认证和访问控制等技术实现与专用网络相类似的安全性能,从而实现对重要信息的安全传输。
到这里,我们论述了构建安全的分布式系统的重要性,同时从技术角度介绍了几种关键技术以及每种技术的特点和实现手段。我们应该认识到系统的安全性问题是不断地发展变化的,这要求我们不断探索新技术、新方法确保系统的安全性。同时我们也应该认识到,安全不是绝对的。因为我们很容易就能建造世界上最安全的计算机,但它却什么都不能干。在很多情况下,安全需求必须和系统的其他设计目标之间做出妥协,比如说性能和用户界面的友好等等。还有一点很重要,就是你必须得考虑为了达到所要求的安全,你所需要花费的资金和个人的精力。这就要求我们能够准确衡量其之间的权重,根据不同的安全级别需要构建安全、可靠的网络安全系统。
参考文献:
[1]宋丽华.网络流量特征对排队性能影响的仿真分析与比较[J].系统仿真学报,2005-1,(17).
[2]阙喜戎等.信息安全原理及应用[M].北京:清华大学出版社,2003.
[3]周学广,刘艺.信息安全学[M].北京:机械工业出版社,2003.
关键词:光伏发电;分布式;最大功率跟踪;阴影失配
21世纪,人类面临着经济和社会可持续发展的双重挑战,在有限资源和环境保护要求的双重制约下发展经济己成为全球的热点问题,这就要求我们所寻求的替代能源必须是可再生的清洁能源。太阳能以其清洁、无污染,并且取之不尽、用之不竭等优点越来越得到人们的关注,太阳能的利用方式很多,而太阳能发电是太阳能利用中最为关注的焦点。
光伏电池是一种不稳定的电源,它的输出特性受外界环境如太阳能辐射度,温度和负载的影响。如何通过光伏电池的最大功率点跟踪控制,使太阳能光伏电池获得最大输出功率,充分利用太阳能光伏阵列的能量,对提高光伏电池的转换效率,降低光伏发电成本,具有重要的意义。最大功率点跟踪控制技术是光伏并网发电系统的关键技术之一。
1 分布式与集中式最大功率跟踪的分析
当树木、烟囱或其他物体投射的阴影遮挡住光伏系统时,就会导致系统造成“失配”问题。即使光伏系统只受到一点点阴影的遮挡都会导致发电量的大幅下跌。传统的集中式最大功率跟踪方法(如图1)无法避免失配问题给系统带来的影响,而本文中的分布式最大功率跟踪(如图2)却可以降低这种影响。
在任何既定条件和既定时间下,光伏(PV)电池具有单个工作点值电流(I)和电压(V),将产生最大功率点(MPP),从而使来自电池板的太阳能产生最大功率输出。电池板产生的功率是施加的电压乘以电流(P=V×I)。电池的单个MPP是电流与电压之间的指数关系的函数。MPPT是一种电子形式的跟踪技术,利用算法和控制电路来探索这个最大功率点,从而使转换器电路可以从PV电池中获取最大功率。
在辐射、温度以及其它电池参数统一的情况下,除了转换效率差异之外,分布式MPPT和集中式MPPT的性能之间没有差异。然而,在存在局部阴影的情况下,电池板不匹配将成为最大的问题。因为参数不统一,局部阴影将导致阵列的不同电池板具有多个MPP。采用集中式MPPT技术时,可能会导致更多的不均匀损失。这是由于以下两个原因:首先,集中式MPPT内部混乱,在进行功率配置时停留在局部最高点,并设置在电压的次优点;其次,在非正常的条件下,MPP的电压点差别可能非常大,超出了集中式MPPT的工作范围和电压范围。由于电池板之间的差别很大,正是在这些情况下,采用分布式MPPT的电源优化器可独立增强并提高电池板的性能。
在采用集中式MPPT的的PV阵列(如图1)中,其中采用的集中式逆变器不仅将太阳能从直流转换为电网使用的交流,而且提供集中式MPPT。在这类配置中,多行PV电池板并联在一起,为连接电网的逆变器提供输入。集中式逆变器不仅具有将直流转换为交流的主要功能,而且包含MPPT控制器,通过调节其输入阻抗,根据MPPT算法可使PV阵列产生的电量一直保持最大化。
在采用分布式MPPT的PV阵列(如图2)中,每个电池板连接了一个MPPT装置。对每块板子进行跟踪:一方面,它们跟踪最佳的局部MPP;另一方面,它们将输入电压/电流转换为不同的输出电压/电流,以最大限度提高系统中的能源传输,并通过将DC/DC和MPPT功能分布到电池板来进行改进。可以使整行达到最佳值,同时在电池板级别达到局部优化点。
2 模拟及仿真实验结果
仿真参数如下:选取的光伏板的最大工作电压Vm=34.8V,最大工作电流Im=7.47A,开路电压Voc=44V,短路电流Isc=8.09A,最大功率Pm=260W,温度25℃,光照1kW/h。
在matlab中搭建模型,MPPT模块采用比较成熟的扰动观察法,仿真模块图在这里不再展示,文献[1]中研究的更详细。为了便于仿真,本文只选取了两组光伏板串模拟光伏阵列,并且在光照变化产生系统失配问题的情况下,观察光照变化对系统的能量损失的影响,以及分布式最大功率跟踪对这种影响的补偿。结果如表1所示,表1中S代表光照强度,PO1代表集中式系统的输出功率,PO2代表分布式系统输出功率,PO3代表单个光伏板的输出功率。从表1中可以看出随着光照的变化分布式系统的输出能量比较稳定,能量损失的比较小,而集中式系统的输出能量受环境的变化比较大,能量的损失也比较大。
图3中的DMPPT代表分布式最大功率跟踪,MPPT代表集中式最大功率跟踪,
正常系统是指系统运行中没有出现失配问题时的理想状态,从图3可以看出,DMPPT能够很好的补偿失配问题造成的功率损失,而MPPT方式则在光照越低的情况下,系统的损失越高,由此可以看出,DMPPT是高效的。
3 结束语
本文分析了分布式最大功率跟踪的工作方式和高效特性,这种方式可以减少阴影等对光伏发电的影响,并通过仿真模拟验证其高效能。文章只是简洁的分析了分布式最大功率跟踪,这种方式也存在许多问题,采用DMPPT后系统的动态特性以及静态稳定性的问题,系统的优化问题,以及成本的控制问题都是今后要进一步深入研究探讨的问题。
参考文献
关键词:计算系统;仿真;分布式;性能衰退
中图分类号:TP338 文献标识码:A 文章编号:1674-7712(2012)16-0036-02
一、引言
在过去20年里,计算系统的性能迅速提高,计算机的处理能力和存储能力上升了好几万倍,通讯速度提高了上千万倍。计算机已广泛应用于各行各业、各个领域,与此同时,计算系统也变得日益复杂,越来越多的操作和监控任务已经超过了人类能够负担的范围;大型计算系统的代码多达数千万行,导致其维护越来越困难,系统的复杂性已经成为性能保持稳定和继续提升的瓶颈[1]。而且计算系统在长时间的持续使用过程中,性能经常出现持续衰退甚至失效。
另一方面,人们对各类计算系统的可靠性要求却越来越高,如果计算系统在运行过程中性能出现衰退,不能在规定的时间内稳定可靠地工作,将会造成巨大的损失;如果计算系统本身是分布式的网络系统,则部分计算机的性能失效或衰退则会导致更大范围的故障,以及更大范围的用户的不满意,从而增加计算系统的总拥有成本;因此研究和发展计算系统的软件衰退诊断技术势在必行。
二、计算系统性能衰退仿真环境
(一)ApacheJmeter环境概述
对于一个可以稳定运行并提供长时间服务的计算系统,要研究其衰退过程和衰退规律,必须长时间的采集大量的数据,有时需要几个月甚至几年的时间。另一方面,计算系统在不同的配置环境和运行环境下,衰退规律也会经常发生改变。因此,对于一个实际的计算系统,要采集到一组恰好反应系统衰退规律的数据有一定的困难。本文采用系统仿真的方法,来模拟实际计算系统的性能衰退过程,这样可排除实际系统运行过程中的意外干扰,有助于分析仿真实验数据所反应的衰退规律,并基于此来制定合适的软件抗衰策略。
(二)基于Jmeter分布式测试结构的仿真环境的配置
作为一个纯Java的GUI应用,Jmeter对于CPU和内存的消耗是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,容易引起服务器端Java内存溢出的错误,甚至导致承载Jmeter的客户端系统的崩溃。要解决这个问题,可以使用分布式测试,由多台机器运行所谓的Agent来分担Jmeter自身的压力,并借此来获取更大的并发用户数。
服务器端配置如下:操作系统为Linuxfedora5.0;通过配置Apache+Tomcat来提供Web服务,用Apache作为Web服务器,为网站的静态页面请求提供服务,使用Tomcat服务器作为一个Servelet/JSP插件,显示网站的动态页面。
三、系统性能衰退过程测试
(一)编写测试计划
(二)运行测试计划
四、结语
由于计算系统运行环境的多变性和数据采集周期的长期性等特征,本文采用了系统仿真实验的方法,通过配置Jmeter分布式测试结构,以Linux系统下的web服务为例,模拟了其性能衰退过程,达到了预期的效果。
参考文献:
[1]D.L.Parnas.SoftwareAging[C].In:Proceedingsof16thIntl.ConferenceonSoftwareEngineering,Sorrento,Italy,1994:279-287.
[2]http://jakarta.apache.org/jmeter/.
[3]http://jakarta.apache.org/jmeter/usermanual/index.html.
[4]马昕伟.linux服务器配置手册[M].北京:科学出版社,2005:31-156.
[5]VediKS,VaidyanathanK,Goseva·PopstojanovaK.ModelingandAnalysisofSoftwareAgingandRejuvenation[R].In:IEEEAnnualSimulationSymposium,April,2000.
[作者简介]韩波(1983.9-),男,河南省罗山县人,硕士,工作单位:淮阴师范学院外国语学院,主要研究方向为计算机应用。
关键词:分布式系统;多任务调度;进程;线程;负载均衡
中图分类号:TP316.4文献标识码:A文章编号:1007-9599 (2011) 06-0000-02
Multi-task Assignment and Process/Thread Adjustment in Distribution System
Yao Dong
(Beijing University of Posts and Telecommunications,BeiJing100083,China)
Abstract:Distributed multi-task operating system distribution and task scheduling,load balancing is difficult to achieve,which processes and threads to achieve the task execution and distribution of one of the most important concepts.How to implement a distributed system processes and threads created,and the interaction between the information is a vital part of distributed system design.On the traditional operating system processes and threads and to compare the realization of the mechanism,further discussed in the distributed operating system,how to multi-task allocation,how the different distribution among the host of the process as well as load balancing.
Keywords:Distributed system;Multi-task scheduling;Process;
Thread;Load balancing
一、引言
分布式系统是计算机发展的一个大趋势,目前云计算、云存储的概念已经逐渐落地,实际上云计算就是分布式系统的一种实现。在分布式系统中,进程(在很多操作系统中也称为任务)是十分重要的概念,是实现任务调度与执行的关键,而线程是轻量级的进程,在响应速度与执行效率上相比进程有很大的改进。在分布式系统中如何实现多任务执行,如何在分布的主机以及CPU上进行创建和分配,涉及到调度策略。另外,如何实现分布式系统中进程间以及线程间的通信,也是需要重点考虑的问题。并且关乎分布式系统执行的效率和效果。
我在对分布式操作系统的研究和学习中发现,许多传统单机操作系统的概念实际上是可以沿用的,但是由于分布式系统自身的特性决定了,这些概念的复用是需要根据分布式系统进行调整和完善的。希望通过本文对传统进程与线程的简单分析和比较,从而探讨如何在分布式环境中进行进程与线程的创建与调度,如何在分布式环境中对多任务进行负载均衡。
二、进程与线程
现代操作系统最基本的构件就是进程。进程是进行系统资源分配、调度和管理的最小独立运行单位,操作系统的各种活动都与进程有关。每个进程是由私有的虚拟地址空间、代码、数据和其它系统资源组成。进程在运行时创建的资源随着进程的终止而死亡。
传统的UNIX进程概念在开发分布式系统应用时已力不从心,这些问题的最好解决之道就是线程,线程推广了进程的概念使一个进程可以包含多个活动。如今,由于线程概念的普及,在UNIX系统中已经普遍实现了线程机制,开发并发应用的程序员现在也可以广泛接触到线程的函数库了。
在传统的Unix模型中,当一个进程需要由另一个实体来执行某件事情时,它就fork一个子进程,让子进程去进行处理。尽管这种模式已经成功使用了很多年,但是仍然暴露出以下问题:
fork开销很大。内存映像需要从父进程拷贝到子进程,所有描述字要在子进程中复制一份,等等。当前的系统实现使用一种称为写时拷贝(copy-on-write)的技术,可以避免父进程数据一开始就向子进程拷贝,直到子进程确实需要自己的拷贝为止。尽管有这种优化技术,但fork的开销仍然很大。
Fork子进程后,需要用进程间通信(IPC)在父子进程间传递信息。Fork之前由父进程准备好的数据很容易传递,因为子进程是从父进程的数据空间及所有描述字的一个拷贝开始的,但是从子进程返回信息给父进程却颇费周折。
线程有助于解决这两个问题。线程有时称为轻权进程,因为线程比进程“权轻”。也就是说,创建线程可能比创建进程快10-100倍:
在一个已存在的进程中创建一个线程比创建一个新进程开销更小。创建新的进程需要进行内存的拷贝操作,这就额外的增加了系统负担,而线程则不需要这个拷贝过程。不过由于现在的操作系统的实现是仅仅当内存需要改变的时候才拷贝改动的部分,所以这里的影响相对还是比较小的。
线程通常用在需要比较好的同步操作的场合。例如,某个问题可以分解为多个几乎对等同步处理的任务的话,则是用线程是很好的选择。进程则适合应用在不需要严格的同步的场合。
线程之间共享数据很方便,因为不同的线程本来就是共享同样的存储空间。而不同进程之间共享数据则需要使用一些IPC机制,例如管道、共享内存、套接字等等。
三、分布式操作系统中进程与线程的创建与调度
事实上,当前使用的操作系统都是把任务分割为进程和线程,分时运行在一个处理器中。这种类似的任务处理方式也可以在很多高性能的应用程序中可以看到,例如数据库引擎、科学计算程序、工作站的工程工具和多媒体程序等。
为了增加处理能力,多数操作系统、应用程序都设计为可以在双处理器和多处理器环境中运行,这样可以利用对称多处理器(SMP)结构将进程和线程放到处理器池中进行运算。通过在一个单芯片中执行两个逻辑CPU,超级线程技术在当前的操作系统和高性能应用中进行进程和线程级的并行处理。多CPU之间进行进程分配的思路与分布式操作系统中进程与线程的创建和调度类似。
在分布式操作系统中,一个新进程的创建分为三个步骤:
1.选择一个目标主机。
2.创建一个执行环境。
3.在执行环境中创建线程。
这三个步骤,除选择目标主机以外,其他两项都与传统的操作系统实现机制相同。需要注意的是,不论分布式操作系统的控制权是如何实现的,作为服务器的主机,必须存放各主机中进程的信息,或者在每个主机上有备份。各目标主机间的通信,以进程级的通信为基础,不同进程间的线程通信,也是通过其主线程进行的。
四、分布式操作系统中进程、线程与多任务分配
一个进程中的所有线程都在该进程的虚拟地址空间中,使用该进程的全局变量和系统资源。操作系统给每个线程分配不同的CPU时间片,在某一个时刻,CPU只执行一个时间片内的线程,多个时间片中的相应线程在CPU内轮流执行,由于每个时间片时间很短,所以仿佛各个线程在计算机中是并行处理的。操作系统是根据线程的优先级来安排CPU的时间,优先级高的线程优先运行,优先级低的线程则继续等待。
在分布式操作系统中,多个应用程序同时运行可以采用两种方式进行:
1.协作式多任务方式。协作这个用语意味着多个应用程序之间必须相互协调,依次实现对操作系统的控制。它们并不是真正的多任务执行,因为其中还有多任务共享系统资源的问题。为了让操作系统把控制权从一个程序转换到另一个程序,当前活动的程序就必须周期地检查一个消息队列。
2.带优先权的多任务方式,称为抢先式多任务。在这种方式下,操作系统可以在需要时中断当前的任务,再按照任务队列中各个任务的优先级别来进行任务的调度。
抢先式多任务执行实际上就是抢先式多线程执行,每个线程有一个优先级值。优先级最低的保留给系统使用。其余的分成四类:空闲、正常、高、和实时。注意这些范围是有重叠的。这样做可使调度更灵活,例如,允许某些后台任务比某些前台任务更重要,尽管在通常情况下,前台任务的优先级应该更高。使用实时优先级时要非常当心。如果你把一个任务的优先级设得太高,也可能无法实现多任务执行功能。这是因为一个任务的优先级太高了,它就完全不允许系统中有其他任务运行。
VMM(虚拟机管理程序)负责在分时抢先的环境里调度各个进程和线程,具体包括以下服务:生成线程、管理线程、撤消线程和线程调度。VMM中有两个调度程序:主调度程序和时间片调度程序。主调度程序负责确定最高优先级的线程。只有最高优先级的线程才会运行,其他优先级较低的都被封锁;时间片调度程序负责为所有具有最高优先级的可运行任务分配时间片。
系统运行过程中,线程的优先级可由系统或设备驱动程序改变。例如,一旦中断产生,则处理这个中断的线程优先级临时提高,以便它立即得到时间来处理该中断。完成后,优先级可以再降低。
五、结束语
在分布式操作系统中,实现多任务分配与传统操作系统的实现机制类似,不同的是,需要在不同主机的进程间进行分配,同时还涉及到多线程的情况。但是,基本的思路是以进程为基础,进程的负荷平衡就能够保证线程负荷均衡。具体进程内部的任务分担可以由进程自己实现,机制可以参考传统操作系统的实现。
参考文献:
[1]W.Richard Stevens.Stephen A.Rago.UNIX环境高级编程[M].北京:人民邮电出版社,2006:242-504
[2]W.Richard Stevens.UNIX网络编程:第2卷,进程间通信[M].北京:人民邮电出版社,2010:141-241
[3]W.Richard Stevens.UNIX网络编程.卷1,套接字联网API[M].北京:人民邮电出版社,2010:423-611
[4]何炎祥.分布式操作系统[M].北京:高等教育出版社,2005:343-436
[5]何炎祥,熊前兴.操作系统原理[M].北京:华中科技大学出版社,2001:125-244
[6]佚名.Windows系统进程全解剖[EB/OL].[2009-12-29].http://www.qqread.com/meetwindows/j486113.html
关键词:分布式数据库;系统安全;系统防护;策略
中图分类号:TP311.13 文献标识码:A文章编号:1007-9599(2012)01-0000-02
Distributed Database System Security and Protection Strategy Study
Long Zhenhua
(Guizhou Province Qiandong Nanzhou Tobacco Company,Miao&Dong Autonomous Prefecture,Guizhou556000,China)
Abstract:In a distributed database system is running security risk factors are discussed on the basis of a number of strategies to improve the security of a distributed database system has a positive role to protect the data security of a distributed database system.
Keywords:Distributed database;System security;System protection;
Strategy
分布式数据库系统(DDBS)主要包括分布式数据库(DDB)以及分布式数据库管理系统(DDBMS)两个方面的内容。在这个系统当中,只需其中一个应用程序就能够对整个数据库进行操作,而其中的数据分布在整个数据库不同区域和局部的数据库中存储、通过各个不同的DBMS实现管理、最终在不同的设备上运行、支持不同的操作系统进行操作、由多种不同类型的通信网络连接在一起。
分布式数据库系统尤其适合部门和单位较为分散的企业或者是行政部门,其分布性的特性使得系统的各个独立部门可以将数据存储与本地,进行就地存放,有效的提高了通信速度,通信费用得到明显降低。同时,这种数据库系统还具有更好的扩展性,可以采取适当增加数据冗余的方式来提高系统的稳定性。
一、分布式数据库系统运行过程中面临的主要风险
分布式数据库系统运行过程中面临的主要风险一般包括人为攻击引起导致的安全问题以及由于数据共享而引起的安全问题两类。
(一)人为攻击引起的安全问题
人为攻击主要是指那些来自于互联网络以及本机上的黑客攻击,当前网络黑客攻击的方式主要包括:窃听、假冒攻击、破译密文、越权攻击以及重发攻击等几种主要的形式。
1.窃听。攻击者在网络的通信信道上采取监听网络用户的数据库以及服务器之间的报文等来窃取用户的保密数据等,威胁客户的数据安全,其基本的方式如下图1所示。
图1 窃听
2.假冒攻击。攻击者通过不断的发送大量的报文来使得客户计算机或者是服务器来使得通信线路端口发送堵塞,然后再冒充被攻击的客户或者是服务器来对分布式数据库系统当中的其他正常运行的站点进行骚扰,进行非法访问,获取数据信息。其基本的方式包括假冒服务器(图 3)和假冒用户(如图4)两种方式。
图2 假冒服务器图3 假冒用户
3.破译密文。攻击者以非法获得客户与服务器之间、服务器和服务器之间传输的加密文件和数据,然后经过破译之后得到其中的机密信息,其基本的方式如下图4 所示。
图4 破译密文
4.越权攻击。这种攻击方式是指攻击者本身是数据库的合法用户,其为了达到获得自己不能获取的数据的目的而利用系统的安全漏洞而对没有授权的数据进行非法访问,其基本的方式如下图5所示。
图5 越权攻击
5.重发攻击。重发攻击就是指攻击者在非法得到信息之后,又将其得到的报文重发给服务器,而这些报文可能是已经经过其修改的,以达到其扰乱数据库的正常运行,修改数据库中的数据的目的。其基本的方式如下图6所示。重发攻击方式主要是针对各个分布站点之间的数据通信过程,且主要是针对各个站点之间的身份验证程序。
图6 重发攻击
(二)数据共享而引起的安全问题
分布式数据库系统的特点在给其使用者带来诸多的优点的同时,也给整个系统的安全性能提出了更高的要求,和传统集中式的数据库相比又存在一些新的问题。1.确定合法身份的程序更加复杂。由于整个分布式数据库系统具有多个用户和用户组,且这些用户以及用户组都是分散于整个分布式系统当中的,处于各个站点之中。这给系统确认访问用户的合法身份带来了一定的难度,其确认方法更加复杂。2.信息流动风险增加。分布式数据库系统是基于整个系统的数据共享而建立起来的,而这些数据一般都不是由同一个用户加以存储的,而是分布于各个不同的站点之中。且同一个数据对各个不同用户所要求的安全等级不一样。而系统所设置的那种自主访问控制授权机制将使得访问者可能自主的将其访问权限间接或者是直接的转交给无访问权限的用户,增加了信息流动的风险。3.访问控制手段单一。当前分布式数据库网系统所采用的访问控制措施一般是根据不同用户的安全级别来对其访问申请进行控制的。以一个企业的内部办公系统为例,企业的财务主管与人事主管的安全级别是一样的,但是财务主管却不能随意的获得人事主管的信息。同样,人事主管也不能随意的获得财务主管。因此,有必要采取多种手段来对各个不同身份特征的用户提出针对性的访问控制策略。
二、提高分布式数据库系统安全性的策略
(一)加强身份验证。加强身份验证主要是针对攻击者采用的假冒手段而采取的针对性措施,它主要是在用户提出数据访问请求时,在用户和数据库系统之间设置一道身份验证程序,以确保用户真实身份的合法性。之后再对用户的访问权限进行定义与设置,确保其对有限资源进行访问。同时,在各个服务器站点与分布式数据库系统之间也要进行身份认证,这样才能保证分布式数据库系统的安全性能。(二)通信保密。应该在系统内部进行通信的双方间建立起一套保密通道。在完成了信息访问者的身份确认,并确认信息访问者的访问权限之后,就可以授权访问者获取数据了,但是为了防止通信过程中出现数据窃取以及重发等问题,还应该在通信双方之间建立起通信保密通道,对两者之间进行的数据传输进行加密处理。(三)访问控制及审计。在对数据库进行管理的过程中,为了抵御黑客采取越权攻击的方式,在对其管理方式进行设置时就采用了所有用户都不可以对数据库中存储的数据进行直接操作的方式。而是通过在系统中嵌入一个对访问进行控制和审计的模块。当用户发出数据访问的请求后,首先将之提交给该模块,然后由这个模块来进行对应的数据访问操作。这可以有效的防范分布式数据库系统被黑客的攻击。(四)对存储数据进行加密。为了防止攻击者利用网络协议以及数据库自身存在的漏洞来窃取存储在其中的数据库文件,应该对其中的数据进行加密处理,并保证加密算法的加密强度,尽量减小被攻击的威胁程度。(五)库文加密。库文加密就是采用特定的算法将文件转换成为一种他人不能识别和读取的密码文。1.加密/解密算法。加密和解密的算法主要包括这样几种:DES算法、MH背包算法以及RSA算法。其中的MH背包算法尤其适合数据库的加密。2.加密粒度。加密的粒度根据加密方式的不同存在着一定的差别,包括这样几种:其一,基于文件的加密,这种加密方式主要用于单机数据库系统,采用的库文密码体制为DES形式;基于记录的加密,则是在各自的密钥作用下,对数据库的每一份记录都加密成为密码文的形式,然后将之存放在各个数据库文件当中,而需要对密码文进行查找时,一般是通过将查找值设置为密文的形式进行的;基于字段的加密是指将记录当中的部分文字和字段等进行加密。3.加密方式。加密方式主要包括库外加密、库内加密两种基本的形式。其中,库外加密就是在数据库的外围增加一个专门负责解密数据的加密层。这种方式对系统自身的依赖性较低,比较容易实现。而库内加密就是对数据库的内模式与存储模式之间设置一个加密层来负责对数据进行解密。这种加密方式安全稳定,但实现的成本较高。
三、分布式数据库系统故障的恢复
虽然分布式数据库系统在设计的时候就采用了很多的措施和安全手段来对系统的安全稳定运行加以保障。但是由于在运行的过程中,由于软、硬件的故障以及人为的操作失误等问题难以完全避免,因此数据库系统自身应该拥有从故障状态恢复到之前某一个阶段状态的能力。通常,分布式系统的两阶段提交协议是常用于数据库系统恢复操作的一种方法。
为了保证分布式数据库系统的安全与效率兼顾,在进行安全策略的设置和选择的时候要尽可能的平衡这两个方面的因素。这就需要采用多种安全策略与安全方式相结合的方式来提高整个系统的安全性能。同时,还要根据系统的具体安全级别要求来采用合适的安全策略。对于安全性要求不高的系统,可以采用基于口令的身份验证就可以。而对于那些对通信有保密要求的系统,则还应该建立起对应的通信与加密机制。而对那些安全级别高的系统,还应该建立起严密的安全密钥管理机制。在安全策略实施的过程中,要认识到任何一种安全策略和机制都不能完全的避免数据安全风险,需要在实践的过程中不断的摸索。
参考文献:
[1]赵小航.分布式数据库系统安全隐患及其对策[J].计算机与网络,2009,06
[2]兰天静.分布式数据库系统的安全性和防护策略的研究[J].计算机光盘软件与应用,2011,04
[3]黄城.分布式数据库系统的安全性及其防护策略[J].计算机光盘软件与应用,2010,12
【分布式操作系统的简介】推荐阅读:
分布式电源论文07-16
分布式发电并网问题综述06-29
光伏分布式项目流程图07-27
降水的变化及分布10-22
电能质量问题的分布11-20
cq分布式发电实习报告06-28
《气温的变化与分布》说课稿07-04
《细菌和真菌的分布》说课稿11-10
位置与分布教学反思06-01
地方政府债务风险的衡量、分布与防范10-09