分布式计算技术

2024-10-19

分布式计算技术(共12篇)

分布式计算技术 篇1

摘要:面向云计算应用领域的并行计算和分布式计算, 较之以往有新的特点和实现原则。并行计算可以分为时间并行和空间并行, 空间并行因其使用多个处理器并发执行计算, 更具实用价值。分布式计算的工作模式是, 中心服务器将一个大型计算任务分割成若干个或更多个任务单元, 利用网络分派给多台计算机分别去完成, 任务完成后再返回到中心服务器。分布式计算具有容错能力更强、维护更灵活、性价比更高的比较优势。CAP和BASE理论是当今互联网领域颇受关注且十分流行的分布式NoSQL的理论基础。

关键词:云计算,并行计算,分布式计算,比较优势

0 引言

分布式计算 (Distributed Computing) 是源于并行计算 (Parllel computing) 的。这两个概念虽然不同, 但相互关联。面向云计算应用领域的这两项技术, 较之传统的并行计算和分布式计算, 有新的特点和实现原则, 因此, 成为云计算的关键技术。

1 并行计算

并行计算是云计算的基础。一般而言, 同时使用多种计算资源, 执行多个指令, 协同解决规模很大的计算问题的过程, 该计算模式称之为并行计算。并行计算可以分为时间并行和空间并行。由于时间并行是指在执行程序时多条指令重叠进行操作, 具有流水线作业的性质, 因此, 准确地讲, 它是一种准并行实现技术。空间并行最大的特点是使用多个处理器并发执行计算, 更具有实际应用价值, 因此, 成为当前研究的重点。

空间并行会出现四种情况, 其一是单指令流多数据流SIMD (Single Instruction Stream Multiple Data Stream) , 这种情况比较常见且易于理解;另外一种情况是多指令流多数据流MIMD (Multiple Instruction Stream Multiple Data Stream) 。以及单指令流单数据流 (SISD) 和多指令流多数据流 (MISD) 。较之SISD和MISD, MIMD相对复杂, 这种技术是利用多个控制器控制多个处理器, 同时对一组数据 (这一组数据又称数据向量) 中的每个单体分别执行相同的操作, 以此在空间上实现并行处理。由于使用多个控制器, 又是在不同时间段内控制多个处理器, 在计算机系统中, 并行从不同层次上实现, 因此, 自高而低有以下几类情况出现:

MIMD类机器的第一类情况是并行向量处理机 (PVP) , 其主要特点是系统中的CPU是专门定制的向量处理器 (VP) 。第二类情况是对称处理机 (SPM) , 其主要特点是统一由一个操作系统控制, 两个以上相同处理器共享一个主存储器, 即“对称多处理机系统”。该系统可以有效均衡负载。第三类情况是大规模并行处理机 (PMM) , 这种异步多指令流多数据流的大规模并行处理机由多个微处理器、局部存储器和网络接口搭建的节点组成。各节点间的互联通过定制的高速网络实现, 其特点是程序进程不一, 各进程地址空间独立, 可交互信息。第四类情况是工作站集群 (COW) , 它相当于没有本地磁盘的工作站集群。第五类情况是分布式共享处理机 (DSM) , 通过硬件、软件实现分散的全域地址空间。

并行计算的特征明显, 其工作程序是:首先将任务分离、分派, 然后执行多个程序指令。并行计算的显著优点是:多计算资源环境下解决问题耗时, 低于单个计算资源的耗时。

除了前面提及的时间并行和空间并行外, 还有一种 (空间+时间) 并行。这是一种时间重叠和资源重叠的综合运用, 或者说时间并行性和空间并行性同时应用。相比较而言, 这种并行技术效率和效益都是最优的。

2 分布式计算

2.1 分布式计算定义解析

作为计算机科学研究分布式系统的一个分支, 分布式计算因其较高的实用价值和良好的应用前景, 越来越受到人们的重视。分布式计算是利用高速互联网把分散的计算资源组合成共享资源集合, 以形成高性能计算、管理、服务的资源能力, 然后提供给用户。具体说, 一个需要进行大量计算的问题被分解开来, 形成许多任务, 分别由一台或多台计算机完成计算, 最后上传运算结果。在云计算环境下, 分布式可以用来指代在同一台服务器或计算机上运行多个进程, 只要是通过消息传递机制而非共享全局数据的形式来协调, 并用于共同完成某个特定任务的计算, 都被认为是分布式计算。

目前, 人们给出的分布式计算定义较多, 但基本内涵是不矛盾的。

中国科学技术信息研究所的定义是:分布式计算就是在两个或多个软件之间共享信息, 这些软件既可以在同一台计算机上运行, 也可以在通过网络连接起来的多台计算机上运行。分布式计算较之其他计算方法的优点在于:稀缺资源可以共享;可以将程序放在最适合运行它的计算机上;通过分布式计算可以在多台计算机上平衡计算负载。

黎连业等专家给出的定义是:所谓分布式计算, 是研究如何把一个需要巨大的计算能力才能解决的问题分解成许多小的部分, 然后把这些小的部分分配给许多计算机进行处理, 最后把这些计算结果综合起来得到最终结果。

2.2 分布式计算特征分析

从分布式计算的基本工作模式看, 中心服务器将一个大型计算任务分割成若干个或更多个任务单元, 利用网络分派给多台计算机分别去完成, 任务完成后再返回到中心服务器。这种工作模式决定了分布式计算的典型特征。首先, 系统是整体协调的, 同时, 也容许某一台独立计算机临时出现问题或故障, 每台执行分布式计算任务的计算机只是一个局部视角, 对整个系统而言, 其影响是很有限的;节点间的通信以消息传递为主, 数据传输量很小, 局部节点同样看不到全局, 各个节点都有自己的处理器和主存储器, 且该处理器只能访问自己的主存;系统结构是动态可变的, 它取决于网络结构、计算机数量、规模、网络延迟等;随着任务的执行和系统运转, 计算机类型和网络连接都可能产生变化, 甚至可能因为执行某个分布式程序而使得系统发生改变;由于网络可以跨越的范围非常广, 如果设计科学合理, 分布式计算的可扩展性是非常好的;分布式计算中, 尽管节点可以随时加入或退出, 节点配置也存在很大差异, 但设计良好的分布式计算机制可以保证系统的可靠性, 不会因为个别节点出现问题导致整个系统受到影响或制约。

关于分布式计算的特点黎连业等专家作了如下归纳:

结构模块性:分布式计算的资源单位形成相对独立的模块, 它们经互联网络连接成一个单一系统。模块在一定范围内的增减或替换不影响系统的整体性。

资源分散性 (Distributed) :资源分布于物理上分散的若干场点中。在对用户透明基础上实现资源共享, 使单个用户的可用资源成倍增长。

协同自治性 (Autonomous) :系统资源的操作是高度自治的, 既不存在全系统的主/从控制关系, 又能利用处理局部化的原则以减少各场点间的通信量。

工作并行性 (Parallels) :分布式系统中分散的资源单位可以相互协作, 共同解决同一个问题, 在分布式操作系统控制下, 实现按任务资源重复或按功能时间重叠等不同形式的并行性。

系统透明性 (Transparency) :系统对于用户是透明的, 用户可以像单机系统一样使用分布式系统。

整体强健性 (Robustness) :系统中的资源冗余和自治控制方式使系统具有动态重构能力, 即使系统受到局部性破坏也能继续工作。所以具有可靠性和容错性。

灵活的可扩充性:以模块作为系统扩充或资源更新的增加单位, 不必像集中式系统那样替换整个系统或更改系统中的很大部分。系统的配置容易改变。以适应不同应用对象的各种需求。

良好的实用性:计算机资源更加靠近用户, 特别是使分散的用户得到计算机的快速响应和直接服务, 从而把大型机的强功能、高速度与微信机的使用方便性、灵活性结合了起来。

2.3 分布式计算的比较优势

分布式计算之所以受到人们的青睐, 而且越来越受到重视, 主要是其优势明显。就系统而言, 采用分布式计算的工作方式, 以网络互联计算机, 相互配合完成共同目标, 其可用性显著提高。尤其是云计算环境下, 当计算机运行遇到问题或出现故障时, 可以通过冗余和重构的办法, 令系统性能下降以维持正常运行, 这样, 即使是有一台或若干台计算机出现故障, 其它计算机仍可以继续工作。从整体看, 系统的容错能力明显提高, 与并行计算相比, 这是分布式计算的特有优势, 许多用户对这一功能是非常认可的。

分布式计算中, 前一项任务尚无结果或结果未返回, 甚至结果是错误的, 对其它任务的处理都不会产生过多的影响, 有时几乎没有影响, 其原因是每个计算任务经常是多个参与者计算, 上传结果到服务器后对比验证以避免差错。这一点较之并行计算优势明显。

作为云计算环境下的分布式系统, 除了具有并行计算的处理能力, 具备并行计算的一应功能外, 由于采用了分布式控制, 可以避免各类阻止运行的“瓶颈”与同步等待, 还可以即时处理用户提出的随机要求, 在性能上较之单一的并行系统更高。

分布式系统在维护方面也有特别的优势, 比如分布式系统是模块化结构, 系统控制又采用的是分布式, 因此, 各个部件、各类组件是相对松耦合的, 对系统维护而言, 也容易体现出灵活性的比较优势。

相比较之下, 分布式系统的投资比单机系统不见得多, 但所获得的处理能力却是单机系统的几倍、几十倍, 甚至更大。性价比方面分布式系统明显占优。同时, 必须看到, 分布式计算可以有序地吸收志愿者、民间组织、网民等大量的分布式计算资源和能力, 这在云计算环境下是非常有前景的优势。

3 对分布式计算CAP理论和云计算BASE理论的认知

分布式系统的重要理论CAP理论强调:一个分布式系统不可能同时满足一致性 (Consistency) 、可用性 (Availability) 和分区容忍性 (Partition Tolerance) 这三个需求, 最多只能满足其中的两个。

关于一致性。分布式系统中的数据一般会存在不止一份, 当客户修改数据, 包括增、删等, 会“一动全动, 马上更新”, 也就是说, 对一份数据而言, 不同的客户端在不同的存储节点读取到的副本一定是一致的。

关于可用性。分布式系统的客户端如果有访问数据意愿可以得到即时响应, 当然有时也会出现响应延时, 但这是系统设定的、有下限的可控延时, 超限即为不可用。

关于分区容忍性。同一数据分别存储于不同城市或不同国家, 是互联网公司保证服务质量的必要手段, 子节点集合的故障应该不会影响整个系统响应。

设计分布式存储系统, 对上述三个特性, 只能择其二, 面面俱到, 全部顾及是难以实现的。于是, 基于CAP理论, 出现了BASE思想。这种源于电子商务实践总结形成的理论, 其核心思想是:即使达不到强一致性, 也会根据应用特点, 运用其它合适的方法实现最终一致性。

BASE是三个词组的缩写:Basically Available (基本可用) 、Soft-State (状态的/柔性的, 亦即状态可以有短时间的不同步) 、Eventual Consistency (最终一致性) 。CAP和BASE理论是当今互联网领域颇受关注且十分流行的分布式No SQL的理论基础。

关于分布式系统模型、分布式操作系统和文件系统, 以及分布式数据库等拟另文讨论。

参考文献

[1]黎连业, 王安, 李龙.云计算基础与实用技术[M].清华大学出版社, 2013.

[2]李天目, 韩进.云计算技术架构与实践[M].清华大学出版社, 2014.

[3]吴朱华.云计算核心技术剖析[M].人民邮电出版社, 2011.

[4]龚强.当代云计算发展研究现状[J].测绘与空间地理信息, 2013, 36 (5) :1-4, 8.

[5]龚强.云计算关键技术之弹性伸缩控制技术认知研究[J].信息技术, 2014 (1) :1-3.

[6]龚强.虚拟化技术及应用于地理国情普查的思考[J].测绘与空间地理信息, 2013 (10) :1-3.

分布式计算技术 篇2

【摘要】信息社会,当前的教育形态正在发生改变,高校计算机基础课程不再是简单的知识传授,同时得培养学生的计算思维。分布式认知认为:认知是对头脑中的内部表征和环境中的外部表征的信息加工过程。学习过程中可借助计算机的认知优势,做为人类认知的补充,提高认知效率,形成计算机思维。因此,在计算机基础课程的设计中以分布式认知为指导,学科知识教授与思维能力培养共同进行,相互促进,共同提高,以适应信息社会对学生掌握计算机基本技能的要求。

【关键字】计算机基础公共课;分布式认知;计算思维

一、引言

我们处在一个科技高速发展,信息爆炸增长的年代,计算机、网络正改变着我们的生产、生活方式,使用计算机的技能,已经成为每一个人在现代社会中发挥职能的必备技能。但高校计算机基础教学却处于一个非常尴尬的境地,现在的学生在中小学阶段就已经掌握了计算机的一些基础知识,大学还要不要教授计算机基础课程每年都在讨论。

二、高校计算机基础公共课现状

以绵阳师范学院为例,计算机基础公共课的教学内容主要集中在计算机工作原理、计算机网络原理,计算机信息安全,程序设计等内容。实验内容主要是针对实用性很强,并且国家一级计算机考试会考到的OFFICE软件来设计实验内容。经过计算机基础公共课教师长期教学实践发现,学校的计算机公共课程教学存在以下几个方面的问题:1、计算机知识在快速发展,还没等到学生毕业,在校学习的知识就已经折旧了。学生在校学习的OFFICE,还没有出校门就已经升级为OFFICE了。学生在校学习的C语言程序设计,出校门后发现编程已经用不上了。2、高校学生来自不同的地区,计算机水平参差不齐,传统的讲授方法不能兼顾每一位同学,有一定基础的同学对教学没有兴趣,没有基础的同学又跟不上进度。3、非计算机专业的学生的对于计算机理论、概念,及硬件设备之间的工作原理难以理解,他们希望学习使用计算机解决学习、生活中遇到的问题。这些问题不是绵阳师范学院独有的,相信其它高校也同样存在这样的问题。老师们都在说,大学不仅仅是在教授学生知识,更重要的是教会学生学习的方法。我们生活在信息时代,工作和学习开始和计算机密不可分,利用计算机解决问题已成为我们生活、工作的常态。,周以真教授提出了计算机思维的概念,她认为:计算思维是运用计算机科学的基础概念进行问题求解,系统设计,以及人类行为理解的涵盖计算机科学之广度的一系列思维活动[1]。至此,计算机基础公共课改革开始从教授学生计算机原理朝着培养学生计算机思维转变。

三、分布式认知理论的观点

如何培养学生的计算机思维,从认知的角度去思考是一个方向。认知主义认为:学习是学习者内部认知的过程,而信息时代的基本认知方式,是人和智能设备的协同思考和协同思维,称之为分布式认知。关于分布式认知,国内外内涵界定并不固定,分布式认知既是一个新的认知理论,也是一个看待所有认知现象的认知范式或者认知视角,同时还是一种个体在处理复杂问题时所运用的认知方法或者认知策略[2]。(1)分布式认知认为:认知存在于个体/群体和制品(artifact)之中。所罗门(Salomon)提出了一个描述分布式认知的交互模式型,认为个体之间既相独立,又互相影响,认知是一个分布式环境中螺旋式上升的过程[3]。制品在人类的智力活动中能帮助人类认知任务,降低认知负荷,如工具、计算机、技术、方法、语言等都属于制品。也就是说,人类认知的优势与计算机认知的优势相互补充,就可以实现更高效率的认知。(2)分布式认知强调社会―――物质情境对认知活动的影响。JohnnyChuah、JiajieZhang和ToddJohnson等人认为:分布式认知是对头脑中的内部表征和环境中的外部表征的信息加工过程[4]。也就是说,人类的认知不能脱离真实的情境,需要通过人工制品模拟相应情境,从而构建正确的认知结果。(3)分布式认知强调交流、共享、各要素(人和制品等)相互依赖和制品在分布式认知中的重要作用。罗杰斯(Rogers)认为:分布式认知方法致力于说明人类活动中的智力过程如何超越个体的边界。分布式认知方法取代了那些用个体头脑内部的表征过程来研究人类活动的方式,它试图用相同的表征概念去研究特定活动中的人与人,人与技术设备之间的交互[5]。综上所述,分布式认知认为认知的形成不仅仅是人类个体的行为,它与人类所处的环境,使用的工具密切相关。其中,各种人工制品都可以做为辅助认知的工具,人脑认知和制品辅助相结合,形成一种新的思维模式,提高认知效率和解决问题的能力。

四、分布式认知对计算机基础教学的影响

根据分布式认知理论的观点,计算机是一个制品,是人类认知形式的延伸,学习过程中可借助计算机的认知优势,做为人类认知的补充,提高认知效率,形成计算机思维。这和,《高等学校计算机基础教学发展战略研究报告暨计算机基础课程教学基本要求》提出的计算机基础教学需要达到的四项能力要求:“对计算机的认知能力,应用计算机解决问题的能力,基于网络的学习能力、依托信息技术的共处能力。[6]”不谋而合。根据这一要求,结合和我校的实际情况,经过反复调研和论证,我校的计算机基础课程从下几个方面进行了调整。(1)教学内容理论课程部分,在保留计算机工作原理、计算机网络原理,计算机信息安全,程序设计等内容的同时,加入了计算机思维、算法基础。让学生学习什么是计算机思维,学习算法的基本概念(定义、分类、表达),算法的设计方法(迭代法、递归法、随机法、启发式法等),算法的分析(最坏情况分析、平均情况分析),基本算法介绍(求和、求积、最大/最小、排序、查找、基本的图算法等)。实验课程部分的教学内容不再是单一的办公软件的学习,而是从实际出发,考虑学生会遇到的问题,并提供各种问题的`解决途径和方法。学科知识教授与思维能力培养共同进行,相互促进,共同提高。(2)教学模式计算机基础课是公共课,每个班的学生人数在70到100之间,人数众多,学生水平参差不齐。传统的授课方式让所有学生处在同一教学进度下,无法满足不同层次的学生学习需求。乔纳森认为,当学习者使用不同的人工制品来建构思维模型时,可以有效地外显化与协调自我的思维过程[7]。因此,在教学模式的设计上,我们借助了网络平台这个制品,把课程从单一的讲授形式变为线上课堂和线下课堂相结合的混合学习模。我们组织授课教师团队,把课程内容按知识点制作成了5―10分钟一个的教学视频,按照难易程度和教学顺序把它们放在学校的网络云平台上,每一类别的知识都有专门的教师负责教学视频的更新和学生问题的解答。课堂上教师采用了“3+3+3”的授课模式:前30分钟由教师统一讲解课程内容;中间30分钟师生针对学习过程中出现的问题进行讨论,如有同学对知识点还不熟悉可以在网络平台上找到相关视频进行观看、自学;后30分钟由学生分小组完成教师布置的相关题目,有能力的学生还可以选择完成教师给出的拓展题目。网络和教学视频把我们的学习空间拓展了,学生可以根据自身情况选择相应的学习进度,合作探究学习也让课堂氛围变得活跃,学生们协商、合作,自己找到解决问题的途径,培养了学生的自主学习能力和团队合作意识。(3)教学评价教学评价不再以考试成绩做为唯一标准,而是采用过程考核和期末考核相结合的评价机制,重点考核学生在学习过程中有没有形成利用计算机解决问题的思维模式。学生的最终成绩由期末考试成绩和平时成绩组成。期末考试成绩由学生参加理论考试的成绩为准。为了帮助学生掌握相应的知识点操作,我们引进了一套在线考试系统,要求每个单元的学习结束后,学生都得用这套系统进行练习,分数达到老师要求后才能进入下一环节的学习。利用这套系统帮助学生学习后,我校的计算机一级过级率有了显著的提高。但理论考试的成绩并不能代表学生的动手能力和创造能力,所以在评价中,我们非常注重学生在学习过程中的表现。学生的平时成绩由每一次小组作业完成情况决定,分数构成为:小组成员评价分数+小组互评分数+教师对小组评价分数。这样的评价方式有利用我们在教学过程中发现一些学习能力、实践能力非常强的学生,把他们纳入我们的学生科研团队中,通过教师的引导迅速的成长,为今后进入社会工作打下坚实的基础。

五、总结

中科院院士戴汝为认为:“人脑和计算机都是信息处理的工具,人脑通过经验积累与形象思维,擅长不精确的、定性的把握,而计算机则以极快的速度,擅长准确的、定量的计算,两者充分发挥各自的优势,又互相结合,既能达到集智慧之大成,又由于通过反馈的作用,来提高人的思维效率,从而增强人的智慧”[8]。计算机不再是一个简单的工具,也可以把它看做人脑的一个延伸,在解决问题时运用计算机帮助人类提高工作效率,并把这种方式形成思维定式。因此,高校计算机基础公共课不应该只单纯地讲授计算机原理,而是应以分布式认知理论为指导,借助计算机的优势,把其做为认知的辅助工具,提高认知效率。并且在课程设计中,知识教授与思维训练同时进行,培养学生计算机的认知能力,应用计算机解决问题的能力,基于网络的学习能力、依托信息技术的共处能力,以适应信息社会对人才的需求。

参考文献:

网络和分布式计算 篇3

关键词:分布式计算;中间件技术;P2P技术

中图分类号:TP393文献标识码:A文章编号:1007-9599 (2010) 04-0000-02

Net&Distributed Computing

Cui Lisheng

(Computer Application&Technology College,Information Engineering College, Chengdu 610059,China)

Abstract:Distributed computing research focuses on distributed operating systems and distributed computing environments two aspects. But with the rapid development of Internet technology,the research focus on distributed computing to distributed operating system from the traditional model center switch to a network-centric utility computing platform distributed technology, and achieved considerable success.

Keywords:Distributed computing,Middleware technology,P2P technology

一、分布式计算技术的工作原理

要想实现分布式计算,首先就要满足三方面的条件:

(一)计算机之间需要能彼此通信

(二)需要有实施的规则(例如,决定谁第一个通过,第二个做什么,如果某事件失败会发生什么情况等)

(三)计算机之间需要能够彼此寻找

只有满足了这三点,分布式计算才有可能实现。

二、分布式计算技术

(一)中间件技术

中间件是基础软件,是分布式系统中介于应用层和网络层的一个功能层次,它能够屏蔽操作系统(或网络协议)的差异,实现分布式异构系统之间的互操作。分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。它扩展了C/S结构,形成了一个包括客户端、中间件和服务器的多层结构。基于中间件的分布式计算技术以中间件为桥梁,通过把数据转移到计算之处的计算方式,把网络系统的所有组件集成为一个连贯的可操作的异构系统,从而达到网络“透明”的目的。

(二)网格技术

网格计算是通过Internet把分散在各处的硬件、软件、信息资源连结成为一个巨大的整体,从而使得人们能够利用地理上分散于各处的资源,完成各种大规模的、复杂的计算和数据处理的任务。网格计算无疑是分布式计算技术通向计算时代的一个非常重要的里程碑.网格的体系结构是有效进行网格计算的重要基础,到目前为止比较重要的网格体系结构有两个:

1.是以Globus项目为代表的五层沙漏结构,它是一个以协议为中心的框架。

2.是与Web服务相融合的开放网格服务结构OGSA(Open Grid Services Architecture),它与Web服务一样都是以服务为中心。但是,所有的网格系统都有这样一个基本的、公共的体系结构:

(1)网格资源层:它是构成网格系统的硬件基础。包括Internet各种计算资源,这些计算资源通过网络设备连接起来。

(2)网格中间件层:它是一系列工具和协议软件。其功能是屏蔽资源层中计算资源的分布、异构特性,向网格应用层提供透明、一致的使用接口。

(3)网格应用层:它是用户需求的具体体现。在网格操作系统的支持下,提供系统能接受的语言、Web服务接口、二次开发环境和工具,并可配置支持工程应用、数据库访问的软件等。

(三)移动Agent技术

目前还没有一个关于移动Agent的确切定义,我们一般认为移动Agent是一类能在自己控制之下从一台计算机移动到另一台计算机的自治程序,它们能为分布式应用提供方便的、高效的执行框架。移动Agent是一类特殊的软件Agent,可以看成是软件Agent技术与分布式计算技术相结合的产物,它除了具有软件Agent的基本特性——自治性、响应性、主动性和推理性外,还具有移动性。即它可以在网络上从一台主机自主地移动到另一台主机,代表用户完成指定的任务。由于移动Agent可以在异构的软、硬件网络环境中自由移动,因此这种新的计算模式能有效地降低分布式计算中的网络负载、提高通信效率、动态适应变化的网络环境,并具有很好的安全性和容错能力。但目前,所有的移动Agent系统还都很不成熟,存在着各种各样的缺陷。所以,我们可以把目前的众多Agent系统看成是实验室系统,它们离真正实用的产品还有很大的距离。

(四)P2P技术

P2P系统由若干互联协作的计算机构成,是Internet上实施分布式计算的新模式。它把C/S与B/S系统中的角色一体化,引导网络计算模式从集中式向分布式偏移,也就是说网络应用的核心从中央服务器向网络边缘的终端设备扩散,通过服务器与服务器、服务器与PC机、PC机与PC机、PC机与WAP手机等两者之间的直接交换而达成计算机资源与信息共享.此外一个P2P系统至少应具有如下特征之一:

1.系统依存于边缘化(非中央式服务器)设备的主动协作,每个成员直接从其他成员而不是从服务器的参与中受益。

2.系统中成员同时扮演服务器与客户端的角色。

3.系统应用的用户能够意识到彼此的存在,构成一个虚拟或实际的群体。P2P技术已发展为一种重要的分布式计算技术,典型代表就是Napster。

(五)Web Service技术

Web Service技术是对Web进行扩展,为相互间连接的软件提供服务。Web Service技术是一种分布式应用程序,它可以通过编程并使用标准的Internet协议,像HTTP和XML,将功能展示在互联网和网内部。Web Service结合了以组件为基础的开发模式以及Web的出色性能,一方面,Web Service和组件一样,具有黑匣子的功能,可以在不关心功能如何实现的情况下重用;同时,与传统的组件技术不同,Web Service可以把不同平台开发的不同类型的功能块集成在一起,提供相互之间的互操作。我们也可以认为Web Service技术是以Internet为载体,通过将紧密连接的、高效的n层技术与面向消息、松散联接的Web概念相结合来实现的。Web服务是一种构建在简单对象访问协议(SOAP)之上的分布式应用程序,其实质是由XML通过HTTP协议来调度的远过程调用实现Web服务的体系结构。

参考文献:

[1]Middleware white paper.International Systems Group.Inc,1997,2

[2]都志辉,陈渝,刘鹏.网格计算[M].北京:清华大学出版社,2002

[3]Foster I,Kesselman C,Nick J,et al.Grid Services for Distributed System Integration[J].Computer,2002,35,6:37-46

[4]Tbai T,Lam H Q..NET框架精髓[M].王敏之.北京:电力出版社,2001

[5]胡道元.计算机网络(高级)[M].北京:清华大学出版社,1999

基于云计算的分布式存储技术 篇4

自从亚马孙推出Amazon Web Service (AWS) 的Iaa S服务以来, 现在其Amazon EC2、Amazon AWS、Amazon S3、Amazon SQS等云计算平台已经被上千家公司使用。Google公司在2008年提供了基于Paa S的Google App Engine。在Google的基础架构上运行网络应用程序, 能让开发人员在支持着自己的应用程序的可扩展系统上构建网络应用程序。随后, 微软公司也推出了Windows Azure操作系统, 这个系统作为微软云计算计划的服务器端操作系统 (Cloud OS) 为广大开发者提供服务。IBM在2007年提出了“蓝云”计划, 推出共有云和私有云的概念。IBM提出私有云解决方案是为了减少诸如数据、信息安全等共有云现存的问题, 从而抢占企业云计算市场。

在我国云计算产业的发展也得到了政府的高度重视, 在2010年10月召开的十七届五中全会的报告中, 重点提到发展新一代信息技术, 而云计算和三网融合、物联网等一起被作为最重要的方向之一。从2008年开始, 已经有多个地方政府在积极推进云计算产业和应用的发展, 例如:无锡中国云计算中心、上海的“云海计划”、北京的“祥云计划”, 等等, 此外, 成都、佛山、东莞、鄂尔多斯等城市也在纷纷跟进。可以预见, 未来云计算将成为十二五期间, 信息技术领域最重要的发展方向, 无论是技术研发、产品推广还是应用示范等方面, 都将获得政府在政策、资金、项目等方面的大力支持。

云计算的概念与特点

云计算是网格计算 (Grid Computing) 、分布式计算 (Distributed Computing) 、并行计算 (Parallel Computing) 、效用计算 (Utility Computing) 、网络存储 (Network Storage Technologies) 、虚拟化 (Virtualization) 、负载均衡 (Load Balance) 等传统计算机和网络技术发展融合的产物。广义云计算指服务的交付和使用模式, 指通过网络以按需要、易扩展的方式获得服务。这种服务可以是IT软件和互联网相关服务, 也可以是其他服务。狭义云计算指IT基础设施的交付和使用模式, 指通过网络以按需、易扩展的方式获得所需资源。总体来说云计算具有以下几个特点:

(1) 超大规模:“云”具有相当的规模, Google云计算已经拥有100多万台服务器, Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的计算能力。

(2) 虚拟化:云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”, 而不是固定的有形的实体。应用在“云”中某处运行, 但实际上用户无需了解、也不用担心应用运行的具体位置。只需要一台笔记本或者一个手机, 就可以通过网络服务来实现我们需要的一切, 甚至包括超级计算这样的任务。

(3) 高可靠性:“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性, 使用云计算比使用本地计算机可靠。

(4) 通用性:云计算不针对特定的应用, 在“云”的支撑下可以构造出千变万化的应用, 同一个“云”可以同时支撑不同的应用运行。

(5) 高可扩展性:“云”的规模可以动态伸缩, 满足应用和用户规模增长的需要。

(6) 按需服务:“云”是一个庞大的资源池, 你按需购买;云可以像自来水, 电, 煤气那样计费。

(7) 廉价性:由于“云”的特殊容错措施可以采用极其廉价的节点来构成云, “云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本, “云”的通用性使资源的利用率较之传统系统大幅提升, 因此用户可以充分享受“云”的低成本优势。

云计算与云存储

云存储是在云计算 (cloud computing) 概念上延伸和发展出来的一个新的概念, 是指通过集群应用、网格技术或分布式文件系统等功能, 将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作, 共同对外提供数据存储和业务访问功能的一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时, 云计算系统中就需要配置大量的存储设备, 那么云计算系统就转变成为一个云存储系统, 所以云存储是一个以数据存储和管理为核心的云计算系统。简单来说, 云存储就是将储存资源放到网络上供人存取的一种新兴方案。使用者可以在任何时间、任何地方, 透过任何可连网的装置方便地存取数据。同时, 在云数据中心所使用的存储必须具有良好的兼容性。在云计算时代, 计算资源都被收归到数据中心之中, 再连同配套的存储空间一起分发给用户, 由于众多的用户带来了各种各样的需求, Windows、Linux、Unix、Mac OS, 存储需要面对各种不同的操作系统, 如果给每种操作系统都配备专门的存储的话, 无疑与云计算的精神背道而驰, 因此, 云计算环境中, 首先要解决的就是兼容性问题。其次是存储容量的扩展能力。

Hadoop软件平台

Hadoop是根据Google公司公开的资料开发出来的类似于Google File System的Hadoop File System以及相应的Map/Reduce编程规范。Hadoop是开放源代码, 开发人员可以使用它来开发云计算应用, 尤其是云硬件平台。

Hadoop实现了一个分布式文件系统 (Hadoop Distributed File System) , 简称HDFS。HDFS有着高容错性的特点, 并且用来设计部署在低廉的硬件上。它提供高吞吐量来访问数据, 适合那些有着大量数据的应用程序。HDFS可以以流的形式访问文件系统中的数据。

Hadoop还实现了Map Reduce分布式计算模型。Map Reduce将应用程序的工作分解成很多小的工作块。HDFS为了做到可靠性, 创建了多份数据块的复制 (Replicas) , 并将它们放置在服务器群的计算节点中, Map Reduce就可以在它们所在的节点上处理这些数据。Hadoop是由HDFS、Map Reduce、HBase、Hive和Zoo Keeper等组成, 其中, HDFS和Map Reduce是两个最基础、最重要的成员, 其他子项目提供配套服务。总体来说Hadoop具有以下几个主要特点:1.扩展性强:能可靠地存储和处理千兆字节 (GB) 数据。2.成本低:可以通过普通机器组成的服务器群来分发以及处理数据, 服务器群总计可达数千个节点。3.高效率:通过分发数据, Hadoop可以在数据所在的节点上并行地处理它们, 非常快速。4.可靠性好:Hadoop能自动地维护数据的多份复制, 并且在任务失败后能自动地重新部署计算任务。

1、Hadoop Map/Reduce编程模型

Hadoop Map/Reduce是一个软件构架, 基于它写出来的应用程序能够运行在由上千个机器组成的大型集群上, 并以一种可靠容错的方式并行处理上T级的数据集。一个Map/Reduce作业 (job) 通常会把输入的数据集切分为若干独立的数据块, 由map任务 (task) 以完全并行的方式处理它们。构架会对map的输出先进行排序, 然后把结果输入给reduce任务。通常, 作业的输入和输出都会被存储在文件系统中。整个框架负责任务的调度和监控, 以及重新执行已经失败的任务。

Map/Reduce框架和分布式文件系统通常是运行在一组相同的节点上的, 也就是说, 计算节点和存储节点通常在一起。这种配置允许框架在数据节点上高效地调度任务, 可以非常高效地利用整个集群的网络带宽。Map/Reduce框架由一个单独的主 (master) Job Tracker和每个集群节点一个次 (slave) Task Tracker共同组成。Master负责调度构成一个作业的所有任务, 这些任务分布在不同的slave上, master监控它们的执行, 重新执行已经失败的任务;而slave仅负责执行由master指派的任务。

应用程序至少应该指明输入/输出的位置, 并通过实现合适的接口或抽象类提供map和reduce函数, 再加上其他作业的参数, 就构成了作业配置 (job configuration) 。然后, Hadoop的job client提交作业和配置信息给Job Tracker, 后者负责分发这些软件和配置信息给slave, 调度任务并监控它们的执行, 同时提供状态和诊断信息给job client。

Map Reduce框架的核心步骤主要分成两个部分:Map和Reduce。当向Map Reduce框架提交一个计算作业时, 它会首先把计算作业拆分成若干个Map任务, 然后分配到不同的节点上去执行。每一个Map任务处理输入数据中的一部分, 当Map任务完成后, 它会生成一些中间文件, 这些中间文件将会作为Reduce任务的输入数据。Reduce任务的主要目标就是把前面若干个Map的输出汇总到一起并输出。

Map Reduce的工作过程分为两个阶段:map阶段和reduce阶段。每个阶段都有键/值对作为输入和输出, 并且它们的类型可由程序员选择。程序员还具体定义了两个函数:map函数和reduce函数。在处理大数据集的过程中, 将大数据集分解为成千上万个小数据集, 每个 (或若干个) 数据集分别由集群中的一个结点进行处理并生成中间结果, 这些中间结果又由大量的结点进行合并, 形成最终结果。如图1所示。

2、HDFS的分析

HDFS是Google GFS的开源版本, 是一个高度容错的分布式文件系统, 它能够提供高吞吐量的数据访问, 适合存储PB级的大文件。HDFS采用Master/Slave结构;Name Node维护集群内的元数据, 对外提供创建、打开、删除和重命名文件或目录的功能;Data Node存储数据, 并负责处理数据的读写请求。Data Node定期向Name Node上报心跳, Name Node通过响应心跳来控制Data Node。如图2所示。

Name Node和Data Node被设计成可以在普通的机器上运行, 这些机器一般运行着Linux操作系统。HDFS采用Java语言开发, 因此任何支持Java的机器都可以部署Name Node或Data Node。由于采用了可移植性极强的Jave语言, 使得HDFS可以部署到多种类型的机器上。一台机器上只运行一个Name Node实例, 而集群中的其它机器分别运行一个Data Node实例。集群中单一Name Node的结构大大简化了系统的架构。Name Node是所有HDFS元数据的仲裁者和管理者, 用户数据不会流过Name Node。

(1) HDFS读取数据过程

客户端通过调用Distributed File System对象的open () 来打开文件。对于HDFS来说, 这个对象是分布式文件系统的一个实例。分布式文件系统 (Distributed File System) 通过使用RPC来调用名称节点, 以确定文件开头部分的块的位置。对于每一个块, 名称节点返回具有该块的数据节点地址。此外, 这些数据节点根据它们与客户端的距离来排序。如果该客户端本身就是一个数据节点, 便从本地数据节点中读取。分布式文件系统返回一个FSData Input Stream对象给客户端读取数据。FSData Input Stream转而包装了一个DFSInput Stream对象。接着, 客户端对这个输入流调用r e a d () 操作。存储着文件开头部分的块的数据节点地址的FSData Input Stream随即与这些块最近的数据节点相连接。通过在数据流中重复调用read () , 数据会从数据节点返回客户端。到达块的末端时, DFSInput Stream会关闭与数据节点间的联系, 然后为下一个块找到最佳的数据节点。客户端只需要读取一个连续的流, 这些对于客户端来说都是透明的。客户端从流中读取数据时, 块是按照DFSInput Stream打开与数据节点的新连接的顺序读取。它也会调用名称节点来检索下一组需要的块的数据节点的位置。一旦客户端完成读取, 就对文件系统数据输入流调用close () 操作。如图3所示。

(2) HDFS写入数据过程

客户端通过在分布式文件系统 (Distributed File System) 中调用create () 来创建文件。分布式文件系统通过一个RPC去调用名称节点, 在文件系统的命名空间中创建一个新的文件, 这时没有块与之相联系。名称节点执行各种不同的检查以确保这个文件不存在, 并且客户端有可以创建文件的适当的许可。如果这些检查通过, 名称节点就会生成一个新文件的记录;否则, 文件创建失败并向客户端抛出一个IOException异常。分布式文件系统返回一个文件系统数据输出流, 让客户端开始写入数据。就像读取一样, 文件系统数据输出流控制一个DFSOutput Stream, 负责处理数据节点和名称节点之间的通信。在客户端写入数据时, DFSOutput Stream将它分成一个个的包, 写入内部的队列, 即数据队列。数据队列随数据流流动, 数据流的责任是根据适合的数据节点的列表来要求这些节点为副本分配新的块。DFSOutput Stream也有一个内部的包队列来等待数据节点确认, 称为确认队列。一个包只有在被管线中所有节点确认后才会被移出确认队列。客户端完成数据的写入后, 就会在流中调用close () 操作。在向名称节点发送完信息之前, 此方法会将余下的所有包放入数据节点管线并等待确认。名称节点已经知道文件由哪些块组成, 所以它只需在返回成功前等待块进行最小量的复制。如图4所示。

(3) HDFS负载均衡

HDFS集群会处于长时间运行状态, 尤其是大量的delete操作后, 集群中各个Data Node上的空间使用率可能会存在比较大的差异。所以需要一种机制使各个Data Node保持平衡, 防止少数Data Node存储过多的文件。少数使用率过高的Data Node会导致对其的数据访问效率变低, 并且如果该Data Node停止服务, 则需要更多的时间进行恢复, 对集群也会造成更大的影响。

Hadoop中提供了balancer的机制。Hadoopbalance rthreshold。通过此命令可以使Hadoop对各个Data Node空间使用率进行评估并使他们保持平衡。参数threshold表示平衡的阀值, 取值范围在0%到100%之间, 该参数表示每个Data Node中空间使用率与HDFS集群总的空间使用率的差距百分比。假如当前集群总空间为20T, 已经使用空间为10T, 那么对于HDFS集群来说空间使用率为50%。如果当前集群有2台Datanode, 每台有10T总空间。Data Node1已用空间为4T, 那么Data Node的空间使用率为40%。Data Node2已用空间为6T, 那么Data Node的空间使用率为60%。如果我们把balancer的阀值设为10%, 那么此时两台Datanode的使用率与HDFS的总使用率的比值均超过阀值, 此时需要执行balancer。如果balancer的阀值设为50%, 那么此时两台Data Node的使用率与HDFS的总使用率的比值均未超过阀值, 此时不需要执行balancer。

阀值设置的越小, HDFS各个Data Node的使用率越接近, 整个集群也更加平衡, 但会消耗更多的时间和资源来达到该平衡状态。如果阀值设置的过小, 对于操作非常频繁的HDFS集群, 有可能永远也不会达到该阀值所指定的平衡状态。阀值设置越大HDFS各个Data Node的使用率差距越大, 但是会较容易达到平衡状态。

在balancer的过程, Hadoop会递归的把b l o c k从使用率高的Data Node转移到那些使用率低的Data Node上。在每次递归的过程中, 单个Data Node转移或者接受的block不得超过10G或者它的存储能力的阀值 (根据该Datanode的总空间决定) 。并且每次递归过程的执行也不能超过20分钟。在每次递归过后, 会更新Data Node的最新状态信息, 决定下一次递归的执行。

整个balancer过程是比较复杂的, 首先会计算集群总的使用率, 然后分别计算各个正常运行的Data Node结点的使用率。根据balancer阀值对各个Data Node进行分类, 找到那些使用率过高的和使用率过低的结点。

结语

分布式计算技术 篇5

利用皮尔逊分布族计算非正态分布工序能力指数

本文利用皮尔逊分布族设计了一种计算非正态分布工序能力的.方法.它可用于工序分布形式完全未知的情况.

作 者:吴海英 WU Hai-ying 作者单位:武汉理工大学数学系,武汉,430070刊 名:数理统计与管理 ISTIC PKU CSSCI英文刊名:APPLICATION OF STATISTICS AND MANAGEMENT年,卷(期):25(6)分类号:O212关键词:工序能力指数 非正态分布 皮尔逊分布族

分布式计算技术 篇6

关键词: 模式 分布式计算 人力资源管理

引言

分布式计算是近年提出的一种新的计算方式。所谓分布式计算是一门计算科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式计算比起其它算法具有以下几个优点:

1.稀有资源可以共享。

2.通过分布式计算可以在多台计算机上平衡计算负载。

3.可以把程序放在最适合运行的计算机上。

人力资源管理采用分布式计算模式,有利用于提高工作效率,保证数据的准确性。充分发挥各部门的作用。

一、分布式事务管理

分布式事务管理是指一个事务可能涉及多个数据库操作,分布式事务管理的关键是必须有一种方法可以知道任务在任何地方所做的所有的动作,提交或回滚事务的决定必须产生统一的结果(全部提交或全部回滚)。

二、分布式计算模式的人力资源管理的网络结构

人力资源管理系统是融合了人力资源管理理念,将与人有关的相关数据以一种相容的、一致的、共享的和检取的方式集中存储在统一的数据库,进行统一管理,形成了集成的信息源。

分布式计算模式的人力资源管理系统就是根据分布式计算和分布式事务管理的原理, 各企业在各自独立的局域网内部署并运行人力资源管理系统,并定期将必要数据传递到上级企业或集团的数据库中。与分布式管理模式对应,把信息系统的网络结构分为三层:

第三层:三级企业。需处理的数据即是该公司自身产生的数据。根据其规模大小,可选择 MS ACCESS。三级企业的数据库服务器与应用服务器可在同一台服务器上运行。

第二层:二级企业。需处理本公司数据及其下属公司上报的数据。因公司规模较大,数据量亦较大,对数据处理的可靠性、稳定性、安全 性等要求亦随之而增加,故可选择 MS SQL SERVER 企业版数据库,以满足上述要求。二级企业由于数据处理比较频繁,建议数据库服务器与应用服务器分开运行。

第一层:集团总部。需处理的数据包括集团总部本身的数据及二级企业及直属子公司上报的数据。因集團总部实际是可直接或间接处理集 团所有员工的信息,故数据量很大,对数据库的可靠性、稳定性、并发处理能力、安全性等亦已达到了很高的程度,因此宜选择MS SQL SERVER 企业版数据库或同等规模的其他关系型数据库管理系统。集团总部因承担了海量的数据处理任务,故数据库服务器与应用服务器分开运行,并使用专门的内部网 Web 服务器,以实现网上信息查询与网上流程自助服务。

三、分布式计算模式在企业集团人力资源管理中的具体运用分析

在集团内部网上,各级企业的数据处理与传递方式为:

1、在局域网内部:各客户端可根据权限直接访问、修改相应信息; 所有修改结果及时反映到本地数据库中。

2、在广域网上:当下属企业数据处理完成后,及时将处理结果"上报"到其上级公司,存入其上级公司的数据库中,以备集中处理时用。根 据数据传输量的大小,三级企业到二级企业采用拨号服务器的方式进行连接,二级企业及直属企业与集团总部采用 VPN(虚拟专网)方式连接。移动用户也可以在异地通过 VPN 方式与总部连接。

结合上述所分析的xx公司的组织结构,xx公司需要在总部建立人力资源信息管理的数据库应用系统(服务器端)。该系统数据库在局域网的数据库服务器上,供数据库管理员、数据源点操作员、服务器管理员应用。服务器端安装程序包括设置服务、文件传输、系统维护管理。在所属各单位安装客户端,安装程序包括报表管理、数据复制、数据录入。各数据源点数据操作员利用这些程序对数据库服务器的数据进行操作。

总之,随着科学的发展,把这种廉价的、高效的、维护方便的计算方法应用到人力资源管理中去,有效地提高了人力资源管理系统的实用性。

作者单位:井冈山学院

(编辑 雨露)

参考文献:

[1] 黄梯云,李一军.管理信息系统.[J].北京:高等教育出版社,1996 45-47.

[2] 杨涛,刘锦德. Web Services技术综述--一种面向服务的分布式计算模式[J].计算机应用, 2004,8:36-37.

分布式计算技术 篇7

Internet/Intranet的迅速发展, 实现了资源共享和快速通信, 但网络的安全问题也变得日益突出。网络安全的最大威胁就是黑客的攻击。分布式拒绝服务攻击是一种目前黑客经常使用且难以防范的攻击手段。其英文全称是Distribute Denial of Service (DDoS) 。它的目的就是拒绝服务访问, 破坏组织的正常运行, 最终会使部分Internet连接和网络系统失效[1]。

从20世纪90年代到现在, 拒绝服务攻击外部请求, 或无法及时回应请求, 使得很多因特网服务提供商无法得到响应, 造成“拒绝服务”, 带来了巨大的麻烦和经济损失, 如2003年8月发生的著名的微软公司windowsupdate.cam更新网站的拒绝服服务攻击。2006年2月发生的一系列大规模攻击事件:在短短几天, 包括Yahoo, Amazon.Buy.com, CNN等国际知名网站先后遭受攻击, 导致这些网站长时间中断服务, 其经济损失高达几百万美元[2]。

2 分布式拒绝服务攻击的技术分析

基于传统的拒绝服务攻击 (Denial of Service, DoS) 攻击, 产生新一类攻击方式是分布式拒绝服务攻击 (Distributed Denial of Service, DDoS) 手段。其产生背景是, 随着计算机与网络技术的发展, 计算机的处理能力迅速增长, 内存大大增加, 同时也出现了千兆级别的网络, 这使得DoS攻击的困难程度加大[3]。这是因为以往单一的DoS攻击的特点是, 一般是采用一对一方式, 通过欺骗伪装及其它手段以使得提供服务资源的主机出现错误响应或资源耗尽从而使其停止提供服务或资源访问的一种攻击手段。当攻击目标CPU速度低、内存小或者网络带宽小等等情况下, 它的效果是明显的。被攻击的高性能主机对恶意攻击包的“消化能力”加强了不少, 例如攻击软件每秒钟可以发送3 000个攻击包, 但被攻击主机与网络带宽每秒钟可以处理10 000个攻击包, 这样一来攻击就不会产生什么效果。这时分布式的拒绝服务攻击手段DDoS就应运而生了。

DDoS采用了一种比较特别的3层客户机/服务器 (C/S) 体系结构, 从许多分布的主机同时攻击一个目标, 数量非常大以至于服务器无法为合法用户提供正常服务[2]。分布式拒绝服务攻击从本质上说与DOS攻击使用的技术方法类似, 但由于其在形式上具有分布式的特点, 因此更具有危害性。DDoS一般使用攻击工具进行, 常用的工具有:Trinoo, TFNT, FN2K等。一般DDoS攻击的流程包括以下几点。

(1) 黑客首先需要控制3种类型的计算机。

攻击者即黑客本人的主机, 黑客通过它发布实施DDoS的指令。控制机即直接受黑客控制的主机, 但一般不属黑客所有, 数目通常为3~4台, 并且在这些计算机上安装上特定的主控制软件 (称为master) 。这类主机将忠实地执行黑客发出的命令。肉鸡即它们是被黑客控制但一般并不为黑客所拥有的计算机群。这样的计算机数以百计, 它们是攻击的先头部队。黑客在这些计算机上安装了守护程序 (称为daemon) , 运行并产生DDoS攻击代码。

(2) DDoS操作过程。

攻击过程如图1所示, 在组织攻击之前, 黑客首先在互联网上找到并完全获得某些安全性脆弱的计算机的控制权限, 如ROOT权限, 并让这些受到侵害的主机充当黑客的Master和Daemon。接着, 黑客在这些称为Master的受控计算机上安装主控制软件;在称为Daemon的计算机上安装守护程序。Daemon主机的守护程序在指定端口上监听来自Master主机发送的攻击命令, 而Master主机接受从黑客计算机发送的指令[3]。最后, 黑客只需向Master主机发出命令就可以发动大规模的DDoS攻击。攻击发动时, Target主机会受到来自许多机器上大量等待响应的信息, 从而使得来自于正常用户的请求不能得到及时相应, 这时就出现了DDoS攻击 (图1) 。

3 应对拒绝服务攻击的技术与策略

应对拒绝服务攻击需要做好基础的防御措施, 从计算机系统和网络设备等方面运用技术手段来检测和预防攻击的发生, 但更重要的是要制定和实施完善的安全防御策略, 提高计算机和网络系统的整体安全性, 将安全风险降到最低[4]。

首先从技术角度, 当前没有很好的彻底解决DDoS攻击的方案。国外一些专家甚至断言, 除非改变TCP/IP内核, 否则没有办法解决DDoS攻击问题。但只要加强安全防范意识, 提高网络系统的安全性, 仍可以有效地防御DDoS攻击[4]。

3.1 设置防火墙

防火墙是抵御DDoS攻击的有力工具, 位于内部网络与外部网络之间, 具有网络监视、数据过滤、部署代理、NAT服务及审记等功能。随着防火墙技术的不断发展, 防火墙的分类和功能也在不断细化, 但总的来说, 可以分为包过滤防火墙, 应用级防火墙。包过滤防火墙又叫网络级防火墙, 因为它是工作在网络层。它一般是通过检查单个包的地址、协议、端口等信息来决定是否允许此数据包通过。它可以很好地解决Ping Flood这样的攻击。

3.2 调整主机的设置

将所有公开服务器与DMZ隔离;使用SRP (Secure Remote Password安全远程口令) 代替SSH;限制只有内部地址才能访问支持SRP的telnet和FTP守护程序。如果必须为公开访问运行常规的FTP (比如匿名FTP) , 可以的在另一个端口运行SRPFTP;设置可信任的路径;使用Trip write和相同作用的软件来帮助发觉对重要文件的修改。

3.3 路由器设置

应用包过滤的技术, 主要是过滤对外开放的端口。这些手段主要是防止假冒地址的攻击, 使得外部机器无法假冒内部机器的地址来对内部机器发动攻击。

4 结语

对分布式拒绝服务攻击 (DDoS) 的工作原理、各种手段进行了深入的分析, 并给出了检测及防御的一些措施。随着电子商业的发展, DDoS攻击将对我们的电子化社会产生更大的冲击。新的攻击方法必然还会出现, 危害可能更大, 需要我们进一步地研究。应对DDoS攻击将是一个系统化、长期的安全问题。

摘要:介绍了分布式攻击方式及基本原理, 分析了攻击工具。就整体防御策略, 从服务器、网络设备和安全设备等角度重点分析了如何防御攻击的措施, 并结合实际工作经验给出了应对方法。

关键词:分布式拒绝服务攻击,网络安全,入侵检测

参考文献

[1]Mc Clure, Secmbray Kurtz.网络安全机密与解决方案[M].北京:清华大学出版社, 2000.

[2]于冷, 陈波, 宋如顺.两种典型拒绝服务攻击手法的分析与对策[J].计算机应用研究, 2001 (6) :35~36.

[3]C L Schubaeta.Analysis of denial of service attack on TCP[M].Proc of IEEE:Symposium on Security and Privacy, 1997.

分布式计算技术 篇8

一、国内教育资源库的应用现状 (一) 国内教育资源库发展现状

1998年12月, 教育部在《面向21世纪教育振兴行动计划》中提出“要重点建设全国远程教育资源库和若干教育软件开发生产基地”。这是国家首次以国家层面, 在报告中提出重视教育资源共享, 将教育资源库的建设工作提上议程。经过十几年的发展, 教学资源库的成果稍有成就, 但是与国外相比, 我国的教育资源库建设还是比较落伍, 仍有很多问题需被重视并解决。

从1998年国家将教育资源库的建设提上议程至今, 教育部先后发布了一系列相关文件促进教学资源库工作的开展。尽管已经过去了十几年, 国内的教学资源库的成果层出不穷, 比较著名的教学资源库有中国远程教育网、K12教育资源库、国家基础教育资源网等。综观这些资源库, 能实现初步的教育教学资源共享问题, 但步伐还是比较落后, 仍存在很多问题。

(二) 国内教育资源库存在问题

1.共享性有限, 扩展应用单薄

受硬件条件影响, 传统的教学资源库服务器的大小有限。随着计算机技术与教学内容的深度整合, 教学资源大小、格式五花八门, 这就对各个资源库的硬件和软件提出了更高要求, 也给服务器带来了巨大的负担, 严重影响了教学资源库中资源的共享性。

2.建设标准尚未制定, 资源库建设重复投入

国内教学资源库建设的标准尚未统一, 给教育资源库的重复利用带来了一定障碍。一般情况下, 教学资源库的建设是一个单独的立项活动, 它的保密性与建设者能否完成项目及项目的研究成果密切相关。所以, 每个研发机构在资源库的开发初期总会出现重复开发一些基层的框架, 导致财力、物力的重复投入, 造成了不必要的浪费。

3. 教育教学资 源扎堆严重 , 格式多样 , 更新缓慢

由于没有统一的技术标准、语义定义也不严格, 搭建教学资源库的硬件平台、操作系统、开发平台、数据库平台也多种多样, 致使各个教学资源库资源的组织、存储方法及格式不一致;资源库之间无法进行有效的信息交换和资源共享, 最终导致了教学资源的扎堆;再者, 由于课件的开发周期长, 人力物力消耗大, 严重影响了教学教育资源的更新周期。

二、云计算技术促进教学资源库建设可行性

云计算标志了第三代互联网时代的到来, 实现了信息与平台的一体化, 将云计算技术用于教学资源库的建设, 能解决教学资源库现存的问题。

(一) 云计算的定义与特点

云计算是一种新型的分布式计算模式, 通过网络把IT资源、数据、应用作为服务提供给用户, 并通过虚拟技术把大量的计算资源组成IT资源池, 用于动态创建高度虚拟化的资源提供用户使用。[2]通过这个定义, 我们可以得出云计算的特点: (1) 安全稳定性。云计算将教育教学资源存储在虚拟资源池中, 用户自行下载并利用, 使该资源库中的资源的安全稳定性得到保障。 (2) 通用性。云计算不针对特定的应用, 它把IT资源、数据等整合起来, 方便不同教育工作者依据实际的需求对其进行改造, 构造出适合的应用, 同时可以支撑不同应用的运行。 (3) 按需服务。云计算可构建一个庞大的资源池, 教育工作者可根据本人的教学需要和学生的学习需求从中选取服务及资料。 (4) 虚拟化。用户可在随时随地通过持有的设备, 借助网络访问云中的数据, 这个云并不是有形的实体。用户通过电脑或者手机访问云端, 并不用知道云端的具体位置, 只需按需获得数据。[3]

(二) 利用云计算进行教学资源库建设的可行性分析

云计算具有的、新的、高性能的分布式数据处理技术特点表明, 将云计算技术应用于教学资源库建设, 能解决目前教学资源库存在的问题, 并为教学资源库建设与软硬件的共建共享提供了技术支撑。利用云计算高性能的分布式处理技术, 搭建大型分布式的公共教学资源服务网络, 可用来整合全国的优质教育教学资源。云计算技术通过计算节点同构可互换等技术, 能够对优质的教育教学资源和服务进行动态管理和分配, 满足不同教育工作者的需求, 进而构建具有自适应扩展能力的教学资源库。同时, 每个前线教育工作者可将手头上的优秀教学资源上传至云平台, 由云计算对异构海量资源进行调度, 保证优质教育教学资源在统一标准规范下的有序整合和有效利用。用云计算技术搭建教学资源库, 可以提高资源的利用率, 提高信息的聚合度, 也能减少教学资源库建设的重复投入, 成本更低。因此, 教学资源库建设应用云计算, 可以解决当前教学资源库建设现存的问题。

三、云计算技术为教育资源共享开辟了一条出路

云计算从底层到高层, 依次可以提供基础设施即服务、平台即服务、软件即服务等多种服务。[4]基础设施即服务Iaa S ( Infrastructure as a Service ) , 这是云计算提供的最基础的服务, 是教学资源库的进行硬件共享的底层服务层;平台即服务Paa S ( Platform as a Service ) , 这是云计算提供的中间层的服务, 可以为教学资源库建设构建云服务框架的平台服务层。软件即服务Saa S ( Software as a service) 可以帮助教学资源库构建云服务框架的应用服务层。它位于教学资源库架构的第三层, 是整个教学资源库云服务框架的核心。应用云计算搭建的教学资源库可以整合异地教学资源库中不相同的软硬件资源, 形成一个适用不同应用的、分层的云服务框架。

(一) 应用基础设施即服务的功能, 实现高层度共享

基础设施即服务, 是融合了经过虚拟化技术后的教学硬件资源和软件资源。它将各地、各用户、不同类型的计算机系统 (包括硬件) 通过网络集成到云计算平台, 利用云平台的按需分配功能, 借助网络通道, 构建以地方为中心、以各个教育工作者为节点、覆盖全国的教学资源库虚拟网。教学资源通过“云”模式, 可以在全国范围内实现教学资源的共享, 各地的教学工作者按需从资源库中选取资料进行教学。各地教学资源库之间实现优质教育教学资源的共享, 实现资源的跨库检索、无缝链接。在实际应用中, 各地的教育工作者按需从平台中得到IT基础设施服务, 不必亲自购买相关的硬件, 从而降低成本。

(二) 应用平台即服务的功能, 减少重复投入

云计算提供的平台即服务, 能实现教学资源库建设过程中的资源建设重复利用。云计算不仅能提供硬件服务, 还能提供开发环境、应用程序环境、数据库环境等服务, 为教学资源库的资源建设提供了统一的共建平台。通过统一的平台建立教学资源, 可以避免教学资源的重复建设、减少经费成本等。在云计算的大力支持下, 教学资源库将全国范围内的资源全部聚合到“云平台”的存储服务器中。各地的教育工作者可以按需到平台上摄取资源, 改变教育资源发展不均衡的状况。

(三) 应用软件即服务的功能, 解决资源扎堆问题

云计算技术可以屏蔽信息资源和管理系统的多样性格式, 将网络上所有资源连接在一起, 构建统一的应用服务层, 从而消除信息孤岛, 实现优质教育资源全面共享。用户按需从平台的应用服务层中, 获取所需的数字化教学资源。同时, 用户不仅可以借助电脑通过云服务访问应用服务平台, 也可以通过各种能访问云服务网络移动终端设备和数字电视等。这就为全国各级教学资源库提供了一个统一的、方便的Web接入方式, 给各地的教育教学工作者使用云服务器的教学资源提供了便利。

总之, 云计算作为新型的分布式计算机技术, 给传统的教学资源库的建设提供了一种新的构建模式。它能解决传统的教学资源库存在的困境, 相信云计算服务型的教学资源库肯定很快就能见到。

参考文献

[1]门斌.大学英语多媒体网络教学资源库建设[J].电化教育研究, 2009 (7) :68-72.

[2]张凌超.基于“云计算”的教学资源库建设模式初探[J].图书馆学研究, 2010 (11) :39-41.

[3]周伟.云计算时代的网络安全问题[J].煤炭技术, 2012 (07) :179-180.

分布式计算技术 篇9

1.云计算概述

云计算这个名词随着计算机技术的全面发展而备受关注,其在学术界、商界、政府都得到了较大的肯定并成为了业界的热议话题。云计算可以将丰富的互联网资源联系起来形成全新的计算机模式。其使用的方便性、快捷性与经济性得到了企业的广泛关注,其对IT业影响巨大,不仅能减轻IT业工作的复杂性,还能促使IT业发展自己的核心业务。但目前云计算面临很大的安全问题,其安全问题也得到了人们的广泛关注。因为云计算的安全问题,很多企业对云计算系统产生了担忧,并有一部分企业打算终止对云计算的使用,比如2009年2月和7月亚马逊网络出现了瘫痪的问题,2009年3月谷歌的用户信息遭到泄露等,这些问题不得不使人们对云计算系统重新审视并高度重视其安全问题。

2.云计算环境下分布式缓存技术的现状及特点

2.1分布式缓存技术的结构

分布式缓存技术将互联网之间的服务器通过网状的连接方式连接起来,使数据通过多副本机制在互联网之间进行传输。分布式缓存系统采用的事无中心操作控制台即其可以在任何一个服务器上进行登录并能实现对全部数据的控制、对集群的访问及进行实时监控等,还可以通过操作维护台对集群软件进行统一配置和升级等。

2.2分布式缓存系统具有可靠性

互联网数据之所以能够得到广泛的认可和应用,是应为其数据具有可靠性,分布式缓存系统也具有高度的可靠性。数据缓存采用的是R、N、W原则,R为读取副本数,读取一定的副本才能认为读成功,N为数据副本数,W为所写副本数,写够一定数量的副本才算写成功。这三个量有一定的数据关系:当W+R>N时,可以认为系统中的数据是可靠地。其主要通过副本机来保证数据的可靠性。在R、N、W原则中,数据循环表由各节点的IP按大小组成,让第一个节点寻找其他活结点,并将其作为备用,在没有故障的情况下,协同器即为路由的第一个节点,如果协同器节点发生了故障,可以选择下一个活结点作为协同器,这样以此类推来保证数据的安全性与可靠性。

2.3分布式缓存系统具有扩展性

分布式缓存能实现数据的高扩展性,其通过增加数据服务节点和低延时的数据访问服务来增强数据的处理能力,且访问服务高度透明。例如,要扩充A点的数据,通过一定的命令可以将B上的数据直接添加到节点A中,实现数据的传输。分布式缓存系统的高扩展性可以大大的扩展节点空间,使数据空间得到最大化,这样方便数据的整合和数据的传输与储存。

2.4分布式缓存系统的性能特点

分布式缓存系统的高性能保证了数据的有效传输。其采用异步接口和同步接口来实现对数据的处理,同步接口在服务店执行返回命令后可以使客户端应用返回,异步接口则通过回调函数的方式来使应用打开。影响分布式缓存服务端口性能的因素有很多,比如,内存的组织访问形式,执行效率,线粒锁的粒度等都会影响其性能。分布式缓存的高性能能在反复的实验测试的过程中提高数据的实行效果。

2.5分布式缓存系统的数据能始终保持一致

分布式缓存系统通过控制数据值副本的一致性来实现的,即使数据传送的节点不同也能实现数据的一致。但在对数据进行操作时一定要确定整个副本版号的实际数据,来保证写入数据后其版本的最新性和一致性。在操作过程中,协同器要获取全部的副本数据,并通过检测副本数据的一致性来确定所读取数据的对错,并不断对版本进行更新,为下次使用做好准备。

3.云计算环境下分布式缓存技术面临的挑战

3.1缓存策略的方法及其管理面临挑战

缓存策略是根据不同的机器设备和应用环境有针对性的进行设计的,一般有一致策略和替换策略等,缓存适应机制的设立是为了进一步的补充和完善分布式缓存系统的服务性能,并进一步提高缓存系统的适应性。目前,分布式缓存策略面临两方面的问题和挑战,一是缓存系统的自适应问题,自适应是系统在更新后的一种内部调整模式,使其性能能很快的适应更新后的系统,而分布式缓存系统在自行进行更新后自适用能力不强,系统反应慢等问题时有发生。二是分布式缓存系统的管理问题,其主要是如何保证缓存系统中的数据与所传输的数据保持一致,并且不同的人对缓存内容进行应用后如何保持数据的一致性,而不被不同的人进行修改后数据发生变化,现在分布式缓存系统所面临的一个挑战是,不同的用户对缓存内容进行修改后,总以最后修改人的内容进行储存,其就改变了缓存内容的客观性和真实性,如何保证数据的客观与真实是现在缓存管理所面临的一个挑战。

3.2缓存服务性能面临挑战

分布式缓存系统会为很多客户服务,如果每个用户在不同的时段对分布式缓存系统进行应用的话,分布式缓存系统会很好的为其服务,并提供其所需要的数据内容。但当多个用户同时使用分布式缓存系统的时候就会出现信息被劫持的现象,即有些客户在数据库中找不到自己想要内容,资源被其他客户所霸占,所以,如何做到资源的合理分配与公平的共享及如何最大限度地提高资源的利用率,满足客户的实际需要是缓存服务器所面临的一个问题和挑战。

参考文献

[1]刘义,陈荦,景宁.基于R-树索引的MapReduce空间连接聚集操作[J].国防科技大学学报,2013,01(10):136-141.

分布式计算技术 篇10

近年各国对电力系统的安全保障能力重视不断加强,但世界范围内仍出现了十余次连锁故障导致的大停电[1]。除了基础建设不足、信息化程度不高、紧急控制不到位等因素外,缺乏适合在线应用的连锁故障研判工具,无法及时对系统薄弱点、故障传播特性与发展进行深度计算也是其主因,现有软件尚不具备针对性地解决这一问题的能力[2]。连锁故障模拟通常涉及稳态、准稳态、暂态等多个时间尺度,同时需考虑可能出现的保护不正确动作对后续状态的复杂影响[3]。 概率型事故链是应用较多的模型[4],以最优潮流模拟故障扩散中控制策略的方法也受到关注[5]。由于事件组合、触发因素、状态转移等不确定性,真实系统的连锁故障分析容易造成分枝庞大的“组合爆炸”,如某省级电网常规预置故障集(N-1)中有246种故障和45种组合故障(断面/N-2),若对每组故障可能引发的连锁模式进行分析,则会带来沉重的不确定计算负担。目前理论侧重于探索连锁故障本身机理,鲜有介绍应对其计算复杂性的策略。对于大规模连锁故障的仿真分析在开始之前,难以确定有多少可能的故障组合,在计算资源的调配上具有不可知性,因此,需要针对连锁故障仿真分析过程与数据特点研发高度灵活的新型计算框架。

云计算是面向服务的全新计算框架,高性能分布式计算是其后台关键技术。文献[6]指出云计算在智能电网中的应用前景与技术路线,数据中心、智能变电站、电网调度、孤岛重构等具体应用陆续被提出[7,8,9,10],国外也开展了类似研究[11]。但在具有超大运算需求的事故链组合计算与连锁故障分析领域仍鲜有解决方案报道。从软件工程角度看,面向连锁故障仿真分析的分布式计算框架应至少具备3个典型特征:①尽量复用稳定成熟的电力系统商业软件计算模块,减少基础功能开发工作,并保持现有应用良好的电力元件模型结构化数据;②整体具备跨平台功能,良好兼容异构环境;③软硬件部署方便,在对现有环境改动较小条件下实现计算资源即插即用。Hadoop是一种能对大规模数据及应用进行高性能分布式处理的Linux开源技术框架,是当前支撑各领域云计算发展的主流计算架构之一[12,13]。文献[14]在OpenStack和Hadoop架构下采用多目标粒子群算法优化虚拟机迁移策略,实现了具有通用计算功能的电力仿真云平台资源调度技术。本文针对电力系统连锁故障计算需求与事故链组合不可预知等特点,在Hadoop环境下结合常用的PSD-BPA软件研发了大规模连锁故障的分布式计算技术,首先开发了可并行处理的连锁故障计算分析模块,再通过MapReduce映射—归约配置与Hadoop分布式文件系统(HDFS)存储调度功能,实现连锁故障仿真分析中计算功能与场景数据的完全解耦,将事故链拆分为独立数个单一关联事故由HDFS中NameNode节点依据计算节点负载状态灵活调配,实现依据资源状态管理计算能力,以适应大量事故链组合分析中组合状态的不可预测性,并兼顾计算资源性能均衡。

1 电力系统连锁故障仿真分析

1.1 连锁故障驱动的参数设定

连锁故障模拟通常基于准稳态仿真及其安全分析计算,部分也考虑采用时域仿真校验连续扰动下的系统稳定。缺乏统一的算法和评判指标是连锁故障模拟建模尚缺少依据的重要原因。连锁故障计算的基本模式如图1所示。

事故链生成是驱动连锁故障模拟的关键,虚线框中是计算前未知的故障可能模式,经过评估分析后形成高风险事故链预警。由于故障维度的不可预测性,框中(含模拟生成算法)数据计算与处理过程的负担极重,即使是利用智能筛选算法[15],对于实际系统也难以实现快速分析,必须分布式处理。本文所采用的连锁故障模拟考虑以下5方面要素。

1)故障初始化为预想故障集与关键元件搜索的并集,关键元件搜索分为基态和N -1,后者又被考虑为独立故障与群发性故障2种方式[16]。

2)针对潮流转移,若线路负载超过其输电容量100%则立即开断,若处于85% ~100% 区间,则利用直流最优潮流(DC-OPF)模型模拟调度员进行发电再调度和切负荷操作(仅考虑控制部分常调机组出力与减载节点负荷),目标函数为机组出力调整总量与切负荷总量之和最小;若节点电压低于0.87(标幺值)则自动切除15%负荷以模拟低压减载。

3)对于线路考虑一轮确定性误动和拒动(对于220kV及以上系统延时开断故障线路以模拟近后备保护动作),设定不准确动作线路的次轮关联元件无误动和拒动;针对重要送电断面考虑安控装置动作逻辑,以确定是否存在下一轮开断元件。

4)单纯准稳态模拟易导致结果偏乐观,须考虑进行暂态稳定评估,原则为:①原发故障视为三相短路,0.15s内切除故障,后续线路过流保护和安全稳定控制装置动作分别设定为故障清除后第4s和0.4s的元件开断事件;②后备保护延时设定为0.1s;③总时长设定为10s,如多一轮过载速动事件,则增加5s;④DC-OPF调整过程不进行稳定校核。

5)仿真结束条件为:①次轮事件触发均未满足;②系统失稳(最大功角差超过180°);③潮流计算不收敛;此外,确定无次生事件后,自动增长10%负荷(发电机分区平衡),给出线路重载过载与电压偏低预警提示,明确系统静态安全水平。

1.2 连锁故障元件动作判定

继电保护与安全稳定控制动作是否准确直接关系到故障扩散模式[6]。动作逻辑判断用于确定某轮扰动前后相关参数是否满足动作条件,若满足则开断对应元件作为次轮事件。附录A图A1示意了某发电机安全稳定控制策略的动作逻辑判断。程序中利用If-then建立故障前后元件运行参数判别准则,以0-1整数变量Ci表征条件全集u中某分量uj的第i个测试逻辑,N为其该事件触发的全部测试条件个数,若满足以下逻辑与表达式:

则在次轮时域仿真中的规定时刻点加入事件uj,形成次级事件,以此类推,最终形成完整故障链。

1.3 故障集初始化

预想故障集通常根据经验和规程指定,一般包含母线、重要线路(断面)和重要机组的N -1、暂稳校核与少量组合故障,预想故障根据方式变化、一次设备投退进行小范围调整。本文预置故障集初始化方法如附录A图A2所示。在线部分的运行方式数据、故障告警与开断元件可通过能量管理系统(EMS)状态估计模块导出。*.dat和*.swi分别表示PSD-BPA潮流与稳定计算的数据配置文件。

1.4 连锁故障的判别与形成

对可能的事故序列进行逐一计算与评估是连锁故障风险分析的重要方法[5],但实际系统中的关联概率参数难以获取,限制了概率型算法的适用性,本文将单一事故链视为确定性计算,最终汇总后根据各类严重度排序,以进行风险提示,其完整流程如图2所示。

1.5 严重度评估

对于连锁故障的严重度评估不仅限于单纯的失负荷量,还应考虑潮流转移过程中元件重载水平、暂态受扰水平等,以对后果严重或风险极大的故障扩散进行排序、提示。从以下几个方面衡量既定事故链的严重度。

1)失负荷量(load shedding index,LSI)

当有线路出现85%~100%负载区间时,启动DC-OPF程序模拟调度行为,记录切负荷量,若出现孤岛则假设其负荷全部失去,因不是研究重点本文暂忽略低频减载配置问题。将负荷损失超过系统总负荷15%视为LSI指标严重。

2)静态安全水平(static security level,SSL)

静态安全水平的关键性能指标很多,本文中对于每阶段故障(事件),记录超过线路容量65%的线路条数及其平均负载率,统计电压低于0.9 (标幺值)节点个数及其平均值。这两类参数均以骨架网络中(对实际系统指220kV及以上网架)超过阈值的元件占相应元件总数的8%判定为严重。

3)暂态稳定指标(transient stability index,TSI)

依据1.1节中第④点原则对每个事故路径进行时域仿真后,基于功角轨迹采用TSI量化全局暂态受扰水平[17],表达式如下:

式中:δmax表示每个时步任意2 机间功角轨迹差的最大值。以任意2 机功角差360°为失稳判据,将TSI临界失稳的严重阈值定为15(轨迹最大功角差266.09°),值越小表明暂态冲击越严重,小于0则判定为失稳。

连锁故障逻辑判断、过程模拟与指标分析均采用面向对象思想编写专门类,扩展方便。本文目的是研发Hadoop架构下大规模连锁故障计算的分布式计算方法,因此采用一系列认可度高、逻辑层次清晰、计及最重要因素的搜索算法与计算规则,采用Java面向对象编程封装连锁故障基本计算功能,以兼容Hadoop计算资源配置、数据管理、分布式负载管理等环节的自动托管。

1.6 计算功能的集成实现

PSD-BPA软件使用广泛,但该软件并不具备计算大规模连锁故障计算功能,需编写专门程序。保留其.dat和.swi数据结构,针对每一个事故链生成一个包含两者的独立文件夹Case Package,并分配唯一Case ID,同时在Package中自动生成记录故障序列的Log文件。将上述功能通过Java与1.1至1.5 节中功能进行集成,实现适合并行处理的连锁故障计算软件PCFA (parallelizable cascading failures analyzer),其单机串行执行流程见图3。

PSD-BPA的数据结构与填卡模式满足数据的完全解耦,十分适合HDFS的数据本地化要求。但其机电暂态仿真尺度短(数十秒),难以计及励磁限制等慢动态过程,且存在仿真时长与动作特性匹配问题(本文固定初始化为10s)。 本文侧重研究Hadoop下大规模连锁故障分布式计算可行性,因此在故障仿真中忽略慢速元件动作行为,仅用时域仿真校核各时序故障发生后的暂态稳定水平。

图3中步骤①—步骤⑧按顺序执行,其中步骤③为从初始集中取某故障方式作为base case,步骤④—步骤⑥为连锁故障模拟程序产生的各级事件计算数据(*.dat/*.swi),图中共有M级故障,步骤⑦为PCFA中与PSD-BPA反复交互过程,步骤⑧为事故链终态数据与严重度评估结果输出与存储。

2 连锁故障计算的分布式架构与开发

2.1 MapReduce基本原理

MapReduce是近年提出的一种高性能分布式计算模型[18,19],其数据采用键值对建模。 附录A图A3展示了Map与Reduce协同工作过程。Hadoop使用Java构建MapReduce分布式模型以实现集群中的数据处理功能。集群中每台计算节点会提供其硬软件资源用以组成HDFS,该系统不但负责文件存储(连锁故障数据),也承担计算任务(PCFA)。节点按功能可分为一个NameNode与多个DataNode:前者负责任务管理以维护各种系统数据,并且调度分发数据;后者执行计算。计算开始后,计算程序被映射到各DataNode中,由本地Java虚拟机启动和执行。此后,NameNode通过遍寻集群中所有DataNode状态,获取集群中Mapper和Reducer可用性,并最终根据数据分布存储位置启动本地或相邻节点执行计算。

2.2 计算节点功能架构及其平台化

以DataNode作为计算节点,以PCFA作为分布式环境与连锁故障计算中间件,以NameNode作为分布式环境管理节点,系统配置结构如附录A图A4所示。计算平台实现步骤如下。

步骤1:搭建Hadoop计算环境。首先在计算节点中开启无密码登录SSH,将Hadoop文件夹放置于任意目录下,修改相关配置文件,设置端口、文件副本数量、轮询间隔等环境参数。然后通过脚本采用HDFS命令进行文件系统格式化,并启动计算环境,作为PCFA的分布式环境。

步骤2:实现连锁故障计算数据分布式处理与计算机制。在各节点Windows系统中部署PCFA,实现各节点核心计算功能,针对预置故障集,通过PCFA搜索形成树形事故链,并按1.6节数据规约形成可解耦计算的电网数据组合,通过Hadoop调度机制实现分布式计算(详见2.3节)。默认采用先入先出(FIFO)原则进行集群负载均衡。

步骤3:进行跨系统通信。 计算节点中,Windows和Fedora操作系统通过服务器信息块(SMB)共享协议,将电网计算数据进行跨系统传输;提交计算数据过程中,首先在各节点PCFA中形成单级事故链计算数据,其次在数据封装中封装有HDFS上传命令行,在数据达到Fedora操作系统后该命令会被解析并实现所携带的数据上传至HDFS,数据整体维护由Hadoop根据系统配置自动托管。 计算任务的分布式处理流程如附录A图A5所示。

2.3 HDFS文件调度功能实现

本文所设计HDFS调度包含以下4个过程:①建立HDFS与Fedora本地系统间传输通道;②建立本地Fedora与集群中Windows系统的连锁故障计算文件传输通道;③监视集群中DataNode节点系统资源使用率(CPU使用率,用于潮流计算或时域仿真);④根据DataNode资源使用情况,依据负载平衡原则发配某原发故障的某级连锁事故数据至集群中该节点并采用PCFA进行进一步处理。

在应用PCFA和Hadoop以及HDFS构建主要框架同时,采用jcifs1.3.14版本的Java开发库实现基于SMB协议的共享文件夹读写功能。 利用Linux与Windows、本地及异地的SMB共享文件夹,实现跨系统的文件传输能力,并针对PSD-BPA计算数据结构,专门开发数个Java类(如表1 所示),实现HDFS命令及接口封装,能够使计算平台通过标准Java程序完成对HDFS的电力系统计算文件输入及输出功能。此外,采用Hyperic与Sigar实现基于Java的Windows,Linux底层交互命令与计算节点资源获取。

HDFS调度功能实现流程如下:①原始数据文件首先被上传至HDFS某路径下进行存储;②根据某节点资源使用情况,决定该数据文件发送目的地;③根据Data Locality通过HDFS接口,将数据文件从HDFS读取至该数据块所在本地主机;④调度程序通过SMB协议,将PSD-BPA数据结构的连锁故障计算文件发送至远程目的地Windows环境路径下;⑤目的节点调用PCFA对数据进行故障链计算及生成新的故障数据;⑥新生成故障数据再次进入HDFS,进行下一步数据调度与计算。整体流程如图4所示。

图4(a)中箭头为HDFS中连锁故障计算数据发送与生成方向,其调配靠表1中的Java类实现,利用哪个DataNode计算何种原发故障的哪级故障具有数据调度不确定性,实现了连锁故障事故链计算在不同计算单元的解耦,如图4(b)所示。若A—K为多核CPU配置的DataNodes中不同计算资源,则单个DataNode可同时分析不同原发故障后的不同阶段故障,图4(b)中1—6示意了与图4(a)对应的某事故链的中间计算文件(*.dat/*.swi)由不同计算资源处理的过程。由于NameNode的集中管控与计算资源动态调配(Dispatch类),也解决了连锁故障组合事先未知的问题。所提计算架构相比于与图3结构,具备巨大计算优势。

所开发基于Hadoop架构的电力系统连锁故障分布式计算技术整体算法流程伪代码如下:

3 应用测试

3.1 系统环境配置

采用10台单核CPU计算机与千兆网络交换机搭建测试所提出计算系统的硬件环境,将其中1台笔记本计算机设定为NameNode,其余为计算处理单元DataNode,计算集群配置情况如表2所示。

连锁故障分析计算功能源于PCFA程序,各计算节点均安装Windows操作系统中,采用VirtualBox架设虚拟机,其中加载Fedora操作系统,分布式环境部署采用Hadoop 2.2.0。

3.2 测试分析

本文利用10机39节点、16机68节点和某省级电网数据进行原型系统测试分析,基本信息如表3所列,其中单机(Dell服务器)单次时域仿真为任意三相短路故障,总时长度为10s,仿真步长1个周期,耗时均为100次计算平均值。

由于标准算例系统缺乏某些关键参数,如线路热稳电流最大值、机组最大(小)出力、简单安全稳定控制策略等,因此需对10机和16机系统部分参数进行假设,以驱动后续的连锁故障判定条件响应。针对3个测试系统,利用第1节中分析过程,即内嵌于PCFA系统及其与基本功能模块交互功能,搜索各系统连锁故障事故链如表4所列,其中任意判据严重连锁故障不含失稳与潮流不收敛场景。

通过PCFA对某省电网自动搜索出的517 例事故链分析可知,导致该系统出现严重后果的连锁故障大部分属于动态安全问题,除43 例失稳与12例潮流不收敛场景外,严重度判据超过阈值的主要是TSI(38例),说明该电网故障扩大的主要风险并非是线路相继过载造成负荷损失,而在于若干元件故障退出后的系统稳定性难以保证,这和该电网静态裕度高但多处断面暂稳约束较为严重的运行经验一致。实际上通过DC-OPF模拟重载时的主动切负荷操作,能在连锁开断初期以较小的负荷损失代价极大地减少相继过载风险(测试中共有63个场景启动DC-OPF操作,均未造成严重后果)。

本文所研发的计算框架本质是提高了大规模事故链的分布并行计算与分析效率,在有效时间内仿真、评估、筛选可能造成严重后果的连锁故障场景。若在此过程中的某些环节(如安全稳定控制与保护装置动作概率、负荷异常波动)引入不确定性模型,则可以很方便地改造为连锁故障风险分析程序,但不确定性分析通常导致更多需要计算的场景,要求更多计算资源。通过记录3个算例在测试平台上的各环节耗时,对技术框架进行效率分析,共进行5轮测试,平均耗时参数分别如表5和表6所示。

表中:TC是指最后一个事故链评估完毕时间,即总耗时;TS为单个事故链场景仿真平均耗时;TP为解析仿真结果与严重度评估平均耗时;TD为系统其他资源开支,包括跨操作系统交互开销、计算平台内部多节点建立开销等耗时;α1和α2为效率系数,定义为总耗时与事故链场景总数之商。由性能参数测试结果可知,相比于单机PCFA系统,采用所研发框架测试平台均一定程度提高了连锁故障模拟与分析效率。需要指出的是,计算效率提高幅度并非与新增计算节点呈线性关系,定义参数β为计算性能提升幅度:β=α2/α1,如计算节点性能大致相当,则有β<N -1,其中N为计算节点。5轮测试3个系统β值如图5 所示。从其中数据可知,平台对于3个测试系统均能稳定地提升其大规模连锁故障仿真分析的计算能力,5轮测试其β的平均值分别为3.874,4.529 和6.714,均小于9(理想提升幅度,即为DataNode节点总数)。

需要指出的是,在本文测试中TD占据了TC较大比例,这和计算节点集群硬件性能(如是否采用固态硬盘)、网络性能(如是否是计算专用网络),以及软件工程优化均有一定关系。以测试中省级系统为例,该电网常规215个预置故障N-1要求在5min之内计算完毕,单个故障平均耗时要求1.39s,本例517个连锁故障在9 个计算节点上1 482s(约25min)内计算完毕,单个故障平均耗时2.87s,从单个故障平均处理耗时看相差并不太大,在与N -1扫描时间大致相当的要求下,可加设更多计算资源,通过简单配置较为容易地实现大规模连锁故障的仿真分析,且无需关心连锁故障计算中的故障组合与场景模式不确定性问题。此外,本例测试中TD平均占TC三分之一强,如果TD能通过改善运行环境性能大幅降低则该β还能进一步提高。随着目标电网的规模和计算复杂度增大,系统计算性能提升幅度随之增加,系统初始化、I/O读写、节点状态评估与任务分配、数据调度、网络通信等TD的时间开支在TC中比例将逐步缩小。

在执行连锁故障计算过程中,各计算节点资源由NameNode监测并视其状态通过HDFS发送某事故链单次数据文件作为次轮计算输入。 采用Hyperic和Sigar以1s为间隔获取计算节点CPU资源使用率,图6 为计算开始后某时段(3 min左右)中2个计算节点的CPU使用情况。

可以看出,2个CPU在HDFS的电网计算数据分发策略下,以较高执行密度均匀地持续进行电网数据处理与计算而没有产生计算资源闲置,也说明本文所采用的计算资源管理策略适用于所提技术框架。由于CPU是由虚拟机与物理机资源共享以及多进程共享,因此其使用率变化通常由多因素共同导致,具有较复杂的波动性。但可依据潮流计算和时域仿真的计算资源占用水平,大致推断A类尖峰(占用60%以上,持续不超过3s)是该DataNode正在进行电网潮流计算,B类尖峰(占用75%以上,持续不超过15s)是该DataNode正在进行时域仿真计算。

4 结语

针对具有高计算需求的连锁故障仿真分析应用,研发了基于Hadoop架构的分布式计算服务技术,利用标准算例与某实际电网数据验证了所提计算框架功能。该计算对各类连锁故障分析算法和评估指标兼容性良好,可通过面向对象编程自定义扩展一系列严重度、稳定水平的评估判据及综合判定方法,且新接入计算资源仅需简单软硬件配置即可,将事故链解耦成独立单一故障场景进行计算,无需受制于大规模连锁故障分析中的故障组合未知性。该技术有望为电网规划、方式校核、防御策略、薄弱环节挖掘提供深度计算能力。此外,所研发计算框架可作为电力系统大规模复杂故障分析的云计算引擎(相关技术特性分析参见附录A图A6),但在此应用领域实现真正的云计算,还需深入解决异构数据处理及其本地化、计算节点的互联网化(电力以太网)、用户接入模式及计算服务商业化原则等多个关键问题,这些均是值得深入的研究方向。

正态分布概率的机器计算 篇11

关键词:正态分布;概率;机器计算

1.引言

由大数定理和中心极限定理可知[1],自然界的许多随机变量均可由正态分布来模拟。如医学中同质群体的身高、红细胞数、血红蛋白量均呈现正态或近似正态分布,实验中的随机误差也可按正态分布规律处理。正态分布是一个在数学、物理及工程等领域都非常重要的概率分布,甚至在统计学的许多方面存在重大的影响力。

连续性正态分布的密度函数 为:

(1)

式中表示随机变量,是随机变量均值,是随机变量的方差。正态分布的密度函数的特点是:关于对称且在该处最大值,在正(负)无穷远处取值为0,在处有拐点, 它的形状是中间高两边低。当是为标准正态分布,如图1所示。服从正态分布的随机变量的概率规律为:邻近的概率大,而远离的概率越小;越小,分布集中在附近,反之,分布越分散。

對于标准正态分布概率计算常常采用查表计算方法,正态分布的概率计算一般使用将原来的分布转化为标准正态分布利用查表进行计算。

传统查表计算正态分布概率必须具有标准正态分布表,同时需要人为进行必要的的计算。上述因素使得传统计算方法效率较低,为了弥补这些不足,本文运用定积分的极限定义,结合计算机的快速计算能力,实现正态分布概率的快速计算。

2.机器计算

设随机变量服从期望为方差为 的正态分布,随机变量在区间的概率:

(2)

(2)无法运用牛顿积分法得到其解析解。本文运用定积分的极限定义[2],将区间等间隔划分为个子区间,如图2所示。运用矩形面积逼近(2)式:

(3)

(3)式的取值决定了得精度,越大,其精度越高,但计算量较大。

在实际应用中,除了计算区间的概率外,还存在和两种概率的计算,由于计算无法对进行数值计算,本文根据正态分布的对称性,将的概率转化为:

(4)

同理可得

(5)

3.实验仿真

为了验证本文算法的有效性,在1.6GHz主频CPU和4G RAM的个人计算机上,运用C语言编程实现[3],本文未采用任何优化计算,对服从标准正态分布的任意区间概率进行计算,并与人工查表计算相比较,部分结果如表1所示。本文算法的运行时间较短,其中最大为2.710ms。相对于人工计算,本文算法最大相对误差为0.877%,满足工程要求。

为了进一步验证本文算法的有效性,对服从期望为方差为 的正态分布的任意区间概率进行计算,并与人工查表计算相比较,部分结果如表2所示。本文算法的运行时间较短,其中最大为2.882ms。相对于人工计算,本文算法最大相对误差为0.961%,满足工程要求。

4.结论

传统查表计算正态分布概率必须具有标准正态分布表,效率较低,同时需要人为进行必要的的计算。为了弥补为了弥补传统正态分布概率查表计算的局限性这些不足,本文运用定积分的极限定义,结合计算机的快速计算能力,实现正态分布概率的快速计算。仿真结果表明,本文算法的计算效率较高,且计算精度满足工程要求。

参考文献:

[1]刘绍学 普通高中课程标准试验教科书 数学选修2-3 人民教育出版社,2009年4月第3版 2015年6月成都第7次印刷

[2]刘绍学 普通高中课程标准试验教科书 数学选修2-2 人民教育出版社,2007年1月第2版 2015年5月成都第7次印刷

分布式计算技术 篇12

关键词:分布式缓存技术,海量数据,分布式内存数据管理,验证性测试

0 引言

随着云计算的发展,越来越多的企业都会搭建自己的云平台,同时越来越多的应用程序都是以云平台为支撑,为用户提供云服务。随着互联网上应用系统的访问用户增加、某些电子商务网站特定时间的促销活动而引发的特大规模的数据等等,使得云服务在普及推广的同时,数据访问量、访问速度、访问安全的需求都在急剧增加,而云计算的分布式处理、分布式数据库和云存储、虚拟化技术则为进行海量数据的分析处理提供了技术支持和基本保证。同时用户对云服务的数据提交及服务响应的时限要求也日渐提升,因而针对海量数据的数据库高并发访问的现实解决处理则需要立足于有关分布式缓存技术的先导性研究和关联式内容整合基础之上的。本文即围绕这一课题内容展开如下设计论述。

1 分布式缓存技术

分布式缓存技术可以解决数据库服务器和应用服务器之间的瓶颈问题,提高对数据的访问速度。分布式缓存的思想是分而治之,将数据分别布设到多个缓冲服务器上,使用缓存阵列路由协议,如此即使得多台缓存服务器形同一台,对外统一数据的访问接口,从而产生一种高效率无接缝式的缓存。

分布式缓存具有高性能、动态扩展性、易用性、高可用性、分布式代码执行等特点。而且为了解决大并发下的性能问题,同时避免过高的响应延迟,分布式缓存抛弃原始的关系型数据库,采用key/value形式存储数据,同时配以高速内存作为存储介质,这样可以保证系统的高性能性、动态可扩展性。不仅如此,分布式缓存又采用NRW多副本机制,避免缓存的单点故障问题,从而在提高数据访问速度的基础上,进一步保证数据的可靠性、最终数据一致性。分布式缓存系统还应实现数据冗余机制,藉此最终保证系统的安全性。

分布式key/value内存数据库大多通过在客户端充分发挥分布式逻辑功能来有效实现多种数据类型的分布式缓存,使用内存数据库可以显著提高数据访问速度及系统性能。常见的分布式key/value数据库内存缓存系统有Oracle Coherence、dbcached、IBM Web Sphere e Xtreme Scale、Redis、Memcached、Vmware Gemfire、Mem Cache[1]等。

1. 1 数据分区

数据分区中经常使用的就是一致性哈希算法。一致性哈希算法( Consistent Hashing) ,最早由麻省理工学院于1997 年提出,主要用于解决因特网中热点问题。时下,一致性哈希算法更多见于数据分布式技术中。分布式缓存中的一致性哈希算法的主要原理是: 计算出缓存服务器各个节点的哈希值,将其包含的所有缓存服务器节点抽象为一个环即哈希环,再将根据哈希函数计算出的缓存服务器哈希值分配到哈希环中,该环的数值域为0 ~ 232-1。然后对缓存的数据对象进行哈希计算,并分配到哈希环上。最后按顺时针方向将缓存数据对象映射到离其最近的缓存服务器节点上去。若增加或减少缓存服务器,则只需要局部改变该缓存服务器逆时针方向的缓存数据位置即可。

在缓存数据较少的情况下,数据对象可能无法均匀分布,而且缓存服务器集群里的服务器的性能和容量也可能未获统一,此时为了保证绝对的平衡,一致性哈希算法就相应引入了“虚拟节点”,一个物理的缓存服务器节点将根据自身性能对应了若干个“虚拟节点”,从而缓解物理服务节点少时数据倾斜等负载不均衡问题的发生,从而实现了数据的均匀分布[2,3]。

1. 2 分布式缓存的一致性

分布式缓存可以提高数据读取速度,降低数据读取延迟时间、减轻服务器负载压力,因而在整体上优化了系统可靠性; 虽然能够获得良好的读取性能,但在更新数据时却会存在重大的数据不一致的风险,由此而导致数据脏读等现象出现。为了保证客户端总能读到最新的数据,分布式缓存可以通过多副本机制( NRW) 和租约机制( Leases) 来支持实现分布式缓存数据的一致性; 而在达成此一目的过程中,分布式缓存系统却要因所采取的相应措施而支付一定的开销,这就可能降低系统的性能,所以即需要在系统的可靠性、高性能和数据一致性问题上取得综合权衡。综上可知,为解决数据一致性问题,就需要考虑数据读取/更新流程、数据同步、副本问题等。分布式系统中对于数据的存储将支持采用多副本机制,即采用多份数据副本存放在不同节点上,每个物理缓存服务器上存储自身的缓存数据以及其他节点的热备数据,读取或者更新数据时将需要对多个副本进行同时操作; 分布式缓存系统也提供了轮询操作,可以每隔一定时间轮询数据库,并在更新数据时进行数据同步,读取数据更新后的全新副本。

Quorum的NRW机制当中,N代表数据的所有副本数,R代表完成一次成功的读操作所需要读取的最小副本数,W代表完成一次写操作所需要写入的最小副本数。在NRW多副本机制中,只要满足R + W > N条件,就保证了数据不同副本中的一致性,因此R和W的设置是否合理则将影响系统的性能和数据的一致性,而Quorum机制却具备了更新数据时减少需要即刻完成的副本数,读取数据增加需要读取的副本数,即读写操作的平衡扩展功能,从而保证了系统性能的提高和数据的一致性[4]。

1. 3 分布式内存数据管理

Oracle Coherence是Oracle提供的一款适用于应用层的集群数据管理和分布式内存数据管理的现实理想解决方案。Coherence可以提供完善的读取性能、极低的延迟时间、高吞吐量、数据可靠性、100%的事务完整性、容错性、良好的动态可扩展性、持续的可用性、并行处理、支持锁和事务处理、自动代理服务和动态负载均衡和支持超级大容量的缓存等强大的功能。

对于由Coherence组成的缓存服务器集群,其集群的节点的地位不分主次,可以自动执行集群节点的检测和删除,节点之间采用P2P协议进行数据通信。Coherence能够实现集群管理,并提供各种缓存服务。数据存储在Coherence缓存当中,集群当中的每个节点都会备份全部数据,所以Coherence集群呈现有出众的可靠性,只要有一个节点能正常运行,就能保证系统不致瘫痪,但其缺点却是更新速度相对而言较差。

Coherence设有两个非常重要的配置文件,分别是: 缓存配置文件和运行配置文件。其中,缓存配置文件,用于配置缓存的类型及模式、缓存策略、服务的分配等信息。运行配置文件则用于缓存集群配置文件路径、日志配置文件路径、缓存数据配置文件路径,并进一步具体设定集群配置文件及集群的通信、服务机构组成等信息[5,6]。

2 分布式缓存模式设计

为了满足网站高并发访问,搭建一个由多台分布式缓存服务器组成的分布式缓存服务器集群,该集群结构采用无主架构,服务器节点地位不分主次,数据均匀分布在集群各服务器节点上,节点数越多,其数据处理能力也越强。分布式缓存服务器提供支持该缓存服务器通信协议的客户端,通过客户端可以与分布式缓存服务器进行通信以及相关操作。其现实通用的分布式缓存系统的部署设计则如图1 所示[5]。

由图1 可见,该分布式缓存部署设计的优势特点可做如下描述:

1) 将程序应用与缓存分开部署,缓存系统部署在缓存服务器集群上,可通过增加缓存服务器节点自动在线扩展集群规模,具有良好的可伸缩性。

2) 一般分布式缓存系统支撑多种语言客户端,在应用服务器上可以开发出丰富多样的应用程序客户端,并通过一致性哈希算法等路由算法将数据均匀分散到不同的缓存服务器节点上,而且自动在其它节点生成备份,或者选择不同的缓存服务器远程实现访问该缓存服务器上的数据。

3) 在缓存服务器集群中,若某缓存服务器节点故障则会自动启用其它节点的备份数据,保障服务器集群系统能正常运行。同样,可以根据需要动态增加或减少缓存服务器节点,提高资源利用率。

4) 在分布式缓存系统中,尽量只读缓存数据,因为缓存不适合大量写和更新操作。缓存系统在设计时尽量做到读写分离。

综合考虑分布式缓存的功能以及分布式内存数据的模型原理体系结构,通过zookeeper分布式服务协调机制获得了具体有效的整合,从而实现一个分布式缓存架构。分布式缓存整体架构图如图2 所示[7]。

3 分布式缓存数据处理系统的测试

分布式缓存技术已然广泛地应用在海量数据处理平台中,并且尤其着重支持高并发、高访问量、低延迟的读多更新少的数据处理系统。本文针对分布式缓存技术在海量数据处理平台中的应用测试则是以某团购网的查询功能作为实例背景而进行系统展开,并获取研究结果和结论的。

本次测试主要针对团购商品的模糊查询、规则引擎应用、订单查询等典型的使用分布式缓存的应用场景进行分布式缓存POC测试。测试的内容包括功能测试、性能测试和可靠性测试。

针对团购网实际使用场景,构造测试案例对Coherence进行功能、性能和可靠性测试。首先是测试环境的搭建,其中包括在机器的IP地址上建立服务器集群主控环境。本次测试采用一台Http服务器,两台分布式缓存服务器,而Http服务器端采用Java客户端进行测试,缓存服务器采用Oracle Coherence[8]。

1) 针对团购网的商品模糊查询为例进行POC测试,其测试的记录数为7 200 000,Cache实例数为40 * 2,每个实例Java heap size为2gb。查询的输入为: 并发数( 用户个数* 每个用户的读取次数) ,输出为: 平均每次读取的时间,实际查询的测试结果如表1 所示。其中CPU的最大使用率可达41%,而其平均使用率则为35%。

2) 针对分布式缓存系统环境进行可靠性测试,包括各缓存节点的数据恢复及数据完整性测试。首先进行测试的是针对无任何操作前提下,删除或者增加一个缓存实例,数据恢复所需要的时间,然后运行商品模糊查询测试时,数据恢复所需要的时间。测试结果如表2 所示。

可靠性的测试还包括缓存节点的完整性测试,可以通过并行删除多个缓存节点后,验证数据的完整性。通过POC测试可知: 该分布式缓存系统能满足应用要求以及符合系统性能要求,采用的分布式内存数据管理具备高可靠性和高扩展性,包含强大的容错特性和支持服务器自我修复的功能。

4 结束语

随着云计算的发展,通过物联网和互联网产生的数据呈几何级数增长,同时网上用户也在不断大幅度增加,随之而来的海量数据和用户高并发访问的问题对传统的缓存提出了挑战。针对这一状况,本文研究如何利用云计算下分布式缓存技术在海量数据处理平台中解决该问题,从而保证系统的高性能、高访问速度、低延迟和高可靠性。首先分析研究了分布式缓存的关键技术、缓存替换策略、分布式缓存的一致性和分布式内存数据管理。然后提出并论述了分布式缓存系统的部署和整体架构设计。最后将该分布式缓存系统的设计模式应用在某团购网上,并进行了POC测试,证明其可行性。

参考文献

[1]崔解宾.分布式内存缓存技术在数据处理平台中的研究与应用[D].北京:北京邮电大学,2015.

[2]黄菊.分布式缓存技术及其在车辆监控系统中的应用[D].北京:北京邮电大学,2015.

[3]张晓慧.试析云计算分布式缓存技术在物联网中的实施要点[J].计算机光盘软件与应用,2014(15):50-51.

[4]高洪,董振江.云计算分布式缓存技术及其在物联网中的应用[J].中兴通讯技术,2012,17(4):37-42.

[5]秦秀磊,张文博,魏峻,等.云计算环境下分布式缓存技术的现状与挑战[J].软件学报,2013,24(1):50-66.

[6]梁德锋.Oracle Coherence入门[Z].北京:百度文库,2010.

[7]李玉玲,张东旭,.虚拟现实环境下的分布式服务器架构策略研究[J/OL].计算机工程与应用,http://www.cnki.net/kcms/detail/11.2127.TP.20150313.1547.009.html.

上一篇:编程与检测下一篇:实习基地