摘 要 随着教育信息化程度的提高,校园网络资源的快速增长在校园网内形成了一个个的信息“孤岛”,给共享及管理网络资源带来了很大的困难,网格技术的出现给解决这一问题提供了新的方案。本文探讨了在校园网环境下,利用开放网格服务体系结构、服务器端数据挖掘与基于倒排索引技术和点对点传输技术建立网格平台,采取基于队列的模糊拥塞控制算法对网络流量进行控制,实现校园网络资源共享的方法。
关键字 网格技术;开放网格体系结构;数据挖掘;倒排索引;模糊拥塞控制
1 前言
“网格”这个名词最早出现在上世纪九十年代中期,被用来表示一种适合于高级科学与工程研究的分布式计算基础设施。网格作为一种数据和计算资源管理的基础设施将为全球的商业、企业、政府和科研提供基础支撑。通过网格,我们可以在多个动态的虚拟组织之间共享资源,协同解决问题。简单地讲,网格是把整个因特网整合成一台巨大的超级计算机,实现计算资源、存储资源、信息资源、专家资源的全面共享。当然,网格并不一定非要这么大,我们也可以构造地区性的网格,如企业网格、校园网格和社区网格。事实上,网格的根本特征是资源共享而不是它的规模。
随着教育信息化程度的提高,校园网上各种应用系统不断出现,如教务管理系统、办公自动化系统等,学校图书馆也提供了大量电子文献可供大家浏览。同时,随着生活水平提高,越来越多的在校学生也购买电脑,他们因为学习的需要也连入校园网络,这些个人电脑中也存储了大量有价值的信息可以对外共享(如果他们允许)。学校大型服务器中的公共信息和学生个人电脑中可开放的信息构成了潜在而庞大的可共享信息资源。然而,不同的系统之间的数据共享比较困难,形成了一个个的信息孤岛,资源管理及互操作性也难以完成。因此利用网格技术,实现校园内网络资源共享,具有重要意义。
尽管设计的是小规模的校园网,但由于它是基于网格技术,要实现大规模的存储共享,因此,将从硬件到软件对校园网进行全方位的重新设计,使整个网络浑然一体,统一在网格构架内。我们重新组网,将学生教师宿舍区的局域网、校图书馆和教务网等子网统一连接起来,为在逻辑上实现统一存储空间打下基础。同时,升级网络连线和路由设备,以达到技术要求。在硬件设施到位、有了底层支持后,为了实现网格存储服务,在软件层上按照专门的网格体系结构(OGSA)采用GT3软件开发包设计服务器端和瘦客户端程序。同时,在服务器端设计提供高效搜索共享资源服务的索引机制,客户端间共享资源的方式等等,并运用数据挖掘、倒排检索和P2P对等传输等技术,应让每位入网用户感受到自身在使用一个巨大的资源信息库和硬盘空间,能高效地在这个网格体系中搜到自己想要的资料,就像在自己的电脑硬盘上找一首MP3歌曲。
2 校园网资源共享面临的问题
从目前的应用现状看,传统校园网结构复杂,由很多异构子网构成,不同系统之间的数据资源共享及互操作困难,对各种异构资源不能有效管理。另外,校园网的硬件基础比较落后,它们不像很多大的网站那样,有配置相当高的服务器,这样在运行速度上校园网就比较低,相应的它处理信息就达不到大家的要求;而且,校园网的公共存储空间几乎没有或者远远不能满足需求,没有更多硬盘空间以供存储更多的信息、资料,所以,这就使得校园网提供给我们学习和应用的资料有相当大的局限性。在采用网格技术之前,关于校园内资源共享的技术是应用数据仓库,但是数据仓库仅是对数据库的统一管理,而网格技术是对互联网上所有可以共享的资源的应用,显然为解决上述问题提供了有利条件,也正因如此,研究和建立校园网格平台具有重要意义和实用价值。我们将传统校园网和基于网格技术的校园网的技术性能稍作对比(见表1):
网络校园网
传统校园网
计算
方式
网络多台机
共同完成
单机完成
效率
高
低
存储
方式
网络共享空间,
可扩展
服务器存储,
不可扩展
大小
无限
有限
资源
方式
网络共享
服务器提供
大小
多
少
传输
方式
多种方式传输
单一方式传输
速度
高
低
服务器
方式
少量数据交换
大量数据交换,
资源提供
工作率
高
低
综合性能
高
低
表1 传统校园网和基于网格技术的校园网的技术性能对比
3 基于网格技术校园网的设计
3.1 采用开放网格体系结构
OGSA(Open Grid Services Architecture)被公认为下一代的网格结构,它为基于网格的应用定义了一个公共的和标准的体系结构,这个结构的核心是网格服务的概念,把网格服务看作是一种特殊的Web 服务。OGSA 以服务为中心,采用一种基于网格服务的分布式交互和计算体系结构,确保异构系统间的互操作性,使不同类型的系统可以进行通信和共享信息。OGSA 只是一个框架,网格服务的具体实现是OGSI (开放网格服务基础设施) 标准,它是定义在网格环境中各种服务之间使用的接口和协议的标准。OGSA 架构由四个主要的层构成:物理和逻辑资源层; Web 服务层;基于OGSA 架构的网格服务层;网格应用程序层。所有的服务(持久的或瞬时的) 都是用Globus Toolkit构建的,所以,OGSA 的基本思想等于网格结构加Web 服务再加工具箱( Toolkit) 。OGSA 中解决了两个重要的问题,即标准服务接口的定义和协议的识别。因此,我们将采用OGSA 网格体系结构,在校园网原有资源服务的基础上,应用GT3 工具包,建立网格平台,以实现网格内资源管理、信息服务和数据管理功能。
在考虑网格校园网的易管理性同时,还遵循如下原则:高性能、可扩展性、关键业务服务质量保证、信息点可控性、可靠性、安全性。
3.2 网格网络构建解决方案
针对校园网结构,我们采用了千兆骨干网络、百兆网线到桌面的方案,整个网络采用分布式三层交换构架,具有很高的带宽和良好的可扩展、可管理性。
具体网络拓扑见下图2,磁盘阵列包含校图书馆的所有电子资料库和大量空闲空间,供入网用户使用,下方外层的宿舍电脑群是另外一个大的共享资料库。
4 网格校园网设计中要解决的问题
网络构架设计解决了硬件设备和线路在校园内的连接关系问题,但网络还需要一系列软件支持才能正常运作,主要涉及到学校服务器索引设计、用户的瘦客户端更新信息上报和网络流量控制等实际问题,我们的设计思想
4.1 网格中服务器端索引机制的设计
由于学校图书馆文献、各部门发布信息乃至教师、学生电脑的部分信息都送到网上共享,要从中搜索浏览我们需要的资料是件很难的事情。为了使网络共享功能实用化,采用服务器加瘦客户端的模式,服务器端必须有灵活高效的信息检索能力,我们采用数据挖掘技术和倒排索引技术来实现这一要求。
结合校园网构成的实际情况,数据挖掘过程各步骤的内容如下:
(1) 确定业务对象
清晰地定义出业务问题,认清数据挖掘的目的是数据挖掘的重要一步。作为校园网,学生是最大的服务对象,网络必须有效得为其提供业务服务,虽然挖掘的最后结构是不可预测的,但要探索的问题应是有预见的,应针对校园网的特点设计挖掘结构。
(2) 数据准备与倒排索引结构的建立
数据准备包括数据选择、数据预处理和数据转换三部分。首先,搜索所有与业务对象有关的内部和外部数据信息,并从中选择出适用于数据挖掘应用的数据。校园网的搜索的信息大部分将来自客户端发送的资源地址列表。资源的地址列表包括各条资源的名称、数据类型和大小、所在地的网内IP地址和资源的存储路径。第二步,数据预处理研究数据的质量,为进一步的分析做准备.并确定将要进行的挖掘操作的类型。最后是数据转换,将数据转换成符合分析模型需要的格式,这个分析模型是针对挖掘算法建立的。建立一个真正适合挖掘算法的分析模型是数据挖掘成功的关键,我们利用倒排文件的检索技术对服务器收到的大量资源地址列表进行多层次的分类,提高检索效率。首先,根据第一步得来的资源总表建立多级检索目录。对图书馆的电子文献往往有已知多级分类目录,在第一级分为文、理两类,再在理科下属第二级分计算机、电子信息工程、数学等分支,然后在计算机分之建立第三级目录,包括离散数学、C语言、算法、网络等,到第四级(如网格类文章)即是索引树的树叶一级的结点了,用来对应存储具体资料名称和存储路径。对于教师和学生宿舍电脑,先根据楼栋号和学生所属院系分IP地址段建立多级索引目录,然后针对最后一级结点内容结合用户经常搜索的关键词映射到主多级目录的次关键字建立倒排索引,列出相关资源(如网格)的存储路径。若有人共享一份有关网格的技术文章,它的存储路径将被整理分类到理科——计算机——网络对应的倒排索引列表中。
(3) 结合倒排索引的数据挖掘
对所得到的经过转换的数据进行挖掘。除了完善选择合适的挖掘算法外,其余一切工作都能自动地完成。 若有人搜索有关网格技术的文章,索引算法将会确定这种资料来自计算机的网络类资源,于是进入其对应的倒排文件列
表中搜索有关资料反馈给搜索者。
(4) 结果分析
解释并评估结果,其使用的分析方法视数据挖掘操作而定,通常会用到可视化技术。
(5) 知识的同化
将分析所得到的知识集成到业务信息系统的组织结构中去。
4.2 网格校园网的存储传输与安全
网格校园网中的存储、传输与安全的问题,是关系到校园网能否高效、可靠运行的关键问题,我们将通过瘦客户端软件对个人电脑或其他信息存储仓库的共享存储资源进行管理,对可能出现的网络流量控制问题采用改进的基于队列的模糊拥塞控制算法进行解决,提出了一种网格校园网安全的解决方案。
4.2.1 网格校园网的存储
(1) 存储方式
把分散的节点的共享资源映射成一个统一入网的虚拟机器,服务器得到的是各节点的资源的路径,将所有的路径以数据库的形式汇总到服务器,便于搜索。
当客户端向服务器请求资源时,客户会很快的得到所要的资源,但他并不关心资源来自何处,服务器是将被请求资源的地址返回了客户端,客户端根据地址建立连接,接收到请求资源。
在这个过程中,服务器只担任了一个转发的工作。将资源的地址进行了转发,这样不但可以提高网络利用率,提高下载资源的速度,服务器也可以在同一时间处理更多的请求。
(2) 资源更新处理
网格网络的特点之一就是资源的总汇,客户端的资源是动态改变的,因此客户端在接收服务器试探后就发送更新部分的资源列表反馈给服务器资源总汇表。
4.2.2 传输带宽控制
由于在网格校园网中搜索信息时,只需从服务器获得所需资源在网络中的存储路径,然后直接同目标机建立Peer-to–Peer对等连接来传输数据,因此在网络的共享和网格网络传输中,会占用到结点的网络系统资源,这里我们需要寻求一种算法,使得我们在网格网络中可以尽量的使用结点的资源但不影响结点的工作性能。传统的基于TCP/IP的Best-effort模型是网络中最为典型的服务模型,它采用端到端的拥塞控制机制,其中路由器或者交换机采用先来先服务FIFS(first in first serve)调度算法和尾部丢弃TD(tail drop)策略来处理网络拥塞。然而,随着网络信息量的急剧增长,这种端到端的拥塞控制机制和数据包的调度模式不再有效,作为网络中的核心转发设备——路由器或者交换机必须要加强自身的拥塞处理能力。 我们在此采用改进的基于队列的模糊拥塞控制算法,并对该算法稍作修改,限制影音流数据包的传输。该算法从数据缓冲区占用情况的实时状态出发,运用模糊理论对缓冲区占用率状态这一模糊性问题进行描述,建立起模糊拥塞控制模型,并采用整体和局部相结合的方法,对单个发生拥塞的数据流以一定的概率进行惩罚性的丢包,并在全局发生拥塞时(网络负荷严重),进行全局性的随机丢包。从而使得路由器或者交换机在进行拥塞处理的过程中,智能地管理缓冲区,使真正处于拥塞状态的队列进行数据包丢弃,有效地隔离和保护了未发生拥塞的连接。
设状态矩阵为R (3×n),考察各类型数据包等待队列的局部状态,输入模糊变量:队列1的缓冲区占用率u1,队列2的缓冲区占用率u2…,队列n的缓冲区占用率un;不难得到它们的隶属函数:µL(u), µK(u), µC(u)。因素集U 表示:U={u1,u2…un},那么,从因素集U 到决策集V 存在着一个模糊关系,我们用模糊矩阵R(3×n)表示,它的元素rij表示队列lj 属于状态L,K,C的程度(i=1,2,3;j=1,2…n):
L: 表示该队列的缓冲区占用率处于正常状态;
K: 表示该队列的缓冲区占用率处于拥塞避免阶段;
C: 表示该队列的缓冲区占用率就要达到饱和,处于拥塞状态。
关于模糊矩阵R(3 x n) ,对任意的λ∈[0,1],记Rλ(3 x n) =(λrij)。其中,λrij=1(rijλ)或者λrij=0(rijλ),则称Rλ(3 x n)为模糊矩阵R(3 x n)=(rij)3 x n的λ截矩阵。本算法使用的R(3 x n)的0截矩阵R0(3 x n)来描述各类消息队列当前所处的实时状态,我们称其为状态矩阵。如果rij=1,则表示队列j处于状态i(i=1,2,3;j=1,2,…,n)。
(1) 算法处理步骤为:
(a) 根据各类型队列缓冲区占用率的实时状态设置状态矩阵R0(3 x n),根据全局缓冲区占用率的实时状态设置状态矩阵R0(3 x 1);
(b) if 状态矩阵R0(3 x 1)中r11 =1,则做
{ 搜索状态矩阵R0(3 x n)第3行中r3j =1的列,扩充相应队列j的缓冲区容量Cj,使该队列缓冲区占用率不在拥塞状态; }
if 状态矩阵R0(3 x 1)中r21 =1,则做
{ 搜索状态矩阵R0(3 x n)第3行中r3j =1的列,启动相应队列j的局部丢包器进行惩罚性的丢包,使该队列退出拥塞状态; }
if 状态矩阵R0( 3 x 1)中r31 =1,则做
{ 启动全局丢包器进行全局性随机丢包,直到全局退出拥塞状态;
搜索状态矩阵R0(3 x n)第3行中r3j =1的列,启动相应队列j的局部丢包器进行惩罚性的丢包,使该队列退出拥塞状态; }
(c) if 队列j的缓冲区容量Cj进行了扩展,则做
{ if 状态矩阵R0(3 x 1)中r31 =1或者r21 =1且r11 ≠1,则做
{ 恢复队列j的缓冲区容量Cj到原来的大小;
if 状态矩阵R0(3 x n)中队列j对应的元素r3 j =1,则做
{ 启动相应队列j的局部丢包器进行惩罚性的丢包,使该队列退出拥塞状态; } } }
(d) 如果全局缓冲区占用率由一种状态转换到另一种状态,或者是同时处于两种状态的过渡阶段,此时,描述全局缓冲区占用率状态的状态矩阵R0(3x1)中相应的元素要进行0或者1的转换;
(e) 如果某类型队列的缓冲区占用率由一种状态转换到另一种状态,或者是同时处于两种状态的过渡阶段,此时,描述各种类型队列缓冲区占用率状态的状态矩阵R0(3 x n)中相应列的元素要进行0或者1的转换;
(f) 如果有新的网络连接到达,则根据该连接特性,确定所属的队列类型,进入相应的队列流;
(g) 如果状态矩阵R0(3 x 1)或者状态矩阵R0(3 x n)中有元素进行了0或者1的转换,就触发第(b)步的运行;
(h)结束。
(2) 对算法的修改:
根据校园网环境特点,我们不赞成任何用户连接使用别人电脑上的媒体文件,希望是转移到本地硬盘再打开播放,因此对影音流数据包队列出现拥塞时加大“惩罚力度”。我们需修改算法中(2)部分里第二个“if”的语句为:
if 状态矩阵R0(3x1)中r21 =1,则做
{ 搜索状态矩阵R0(3xn)第3行中r3j =1的列,对于非影音流数据包,启动相应队列j的局部丢包器进行惩罚性的丢包,使该队列退出拥塞状态;而对于影音流数据包,撤销此缓冲区队列j ; }
采取此种拥塞控制算法,即使有大量点对点连接在网络中存在,也可以大大缓解网络拥塞状况。
4.2.3 网格校园网网络的安全
(1) 网格网络面临的安全问题
网格计算应用与传统客户/服务器应用的安全要求不同在于:它要求同时使用大量的资源、动态的资源请求、对多个管理域中资源的使用、复杂的通信结构,以及严格的性能要求等。
网格系统和应用要求所有的标准安全功能,包括认证、访问控制、完整性、隐私权和抗抵赖性。这里主要是:(a)提供认证解决方案,允许用户,包含用户计算的过程以及该过程使用的资源来证明彼此的身份。(b)在任何时候都尽可能地不改变访问控制机制。认证形成了安全政策的基础,使得各个局部安全策略被集成为一个全局框架。
(2) 网格安全的一种具体解决方案
Globus是目前国际上最具有影响的网格计算项目之一,它是由多个机构联合开发的项目,力图不仅在科学计算领域,而且在商业领域对各种应用进行广泛的、基础性的网格环境支持,实现更方便的信息共享和互操作。
GSI(Grid Security Infrastructure)是Globus的安全基础构件包,是保证网格计算安全性的核心。GSI支持用户代理、资源代理、认证机构和协议的实现。
Globus项目的GSI 是解决网格计算中安全问题的一个集成方案,已经成功应用于一个连接4个国家近20家机构的实验网。GSI的特点在于在保证网格计算安全性的同时,尽量方便用户和各种服务的交互。GSI还充分利用了现有的网络安全技术并对其中某些部分进行了扩充,使得在网格计算环境下GSI拥有一个一致的安全性界面,大大方便了网格应用的开发和使用 。
5 结束语
新一代的网格校园网具有较先进的水平,体现现代教育思想,要把建设校园网的规划与学校的长远发展规划统一起来,同时把服务教学作为网络建设的着眼点和落脚点。真正实现教育的资源共享、信息交流和协同工作。作为下一代Internet 的关键技术,网络技术可以消除信息孤岛和知识孤岛,实现信息资源和知识资源的智能共享,是目前对资源共享问题的较好的解决方案。在校园网(局域网)环境下建立网格计算平台,实现校园网内资源共享,以解决校园网环境下的资源共享和资源复用问题,这对高等学校的信息化、数字化有较为积极的促进作用。网格技术作为一种新技术,也在不断成熟中,它在未来网络中的应用前景,值得继续研究。
参考文献
[1] http://www.chinagrid.com/index.htm .中国网格.
(美)Kenneth D.Reed着,陈斌,李冰,吴娟等译.《网络设计(第7版) Network Design,WB87.0》.电子工业出版社.
陈文伟,黄金才.《数据仓库与数据挖掘》.人民邮电出版社.
綦朝晖, 孙济洲, 李小图.基于队列的模糊拥塞控制算法.《天津大学软件学报》.
梁亚声,汪永益,刘京菊.《计算机网络安全技术教程》.机械工业出版社.