数字图书馆网格信息资源调度(内容分发)研究,本文主要内容关键词为:网格论文,信息资源论文,数字图书馆论文,内容论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
【分类号】G250.7
数字图书馆网格包含大量的种类繁多的信息资源,将向用户提供多样化的服务,这些种类繁多的信息与服务之间如何进行协调配置,就如同有线电视网中需要大量的信号基站等设施对有线电视网进行调控一样,数字图书馆网格也需要有一个信息资源与用户之间的调控系统,称之为数字图书馆网格信息资源调度系统。这里提到的信息资源调度具体是指将用户所需求的信息资源发布到与用户距离最短的网格“边缘”,使用户可以就近获得所需的信息资源,加快用户访问数字图书馆网格与使用信息资源的效率,即内容分发。Ian Foster在“The Anatomy of the Grid ”中说过这样一句话:网格应用需要某种策略来实现多资源之间的协调[1],可见信息资源调度是数字图书馆网格不可或缺的组成部分,用户若要透明的使用数字图书馆网格的信息资源,必须有调度功能的支持[2]。
1 数字图书馆网格信息资源调度(内容分发)和本地资源调度的区别[3]
(1)数字图书馆网格信息资源调度和本地资源调度之间的首要区别就是:网格调度并不“拥有”某个站点上的资源,因而对资源也就没有任何控制权[5]。
(2)有效范围不同
网格调度的有效范围是Internet,网格环境下数字图书馆信息资源的全局状态对于调度系统而言是未知的和不确定的。传统的分布式系统中的本地信息资源对调度系统来说是可见的。
(3)操作对象不同
本地资源的调度是面对组织内部的,面对单一系统的。网格环境下DL调度面对的是不同的系统,本身不涉及具体的资源,所以数字图书馆网格调度可以成为数字图书馆元调度。元调度是指考虑应用和系统整体的性能,协调同一网格中多个应用的调度[4]。
(4)标准性开放性不同
数字图书馆网格调度面对的是不同的系统,所以系统之间的通讯协议就要有一定的标准性和开放性要求。本地资源的调度可以根据自身系统的综合性能、特点和需要等方面因素,制定自己的通讯协议。
表1 DL网格信息资源调度和本地资源的调度的比较
属性 本地资源的调度数字图书馆网格
信息资源调度
是否对信息资源有控制权是 否
有效范围自身单一系统Internet
信息资源全局状态确定不确定
操作对象单一系统内部 多个系统之间
标准性开放性根据单一系统自己定制 根据多个系统定制
2 数字图书馆网格信息资源调度(内容分发)的目标和作用
2.1 数字图书馆网格信息资源调度的作用[6]
DL用户提交的信息资源请求要由DL网格系统来选择分配资源并控制其整个运作过程,其中包括分配到哪些服务器运行、调用哪些信息资源、启动何种应用程序、何时开始运行等等。
如图1,DL网格信息资源调度的作用就是根据当前网格系统负载状况,对系统内的任务进行动态调度,其调度算法及调度过程设计的好坏对网格系统销路的高低起着至关重要的作用[6]。
图1 DL网格信息资源调度作用目的示意图
2.2 数字图书馆网格信息资源调度的目标[2]
设定有m组信息资源O={O[,1],O[,2],O[,3]……O[,m]},n个结点P={p[,1],P[,2],P[,3]……P[,m]}。要将m组信息资源按照某种特定的要求匹配到n个结点上,整个过程所用的时间为T。确定哪一组信息资源分配到哪个结点就是调度(内容分发)。那么会有多种可行方案,每一种可行方案对应一种执行任务的次序。最终选择的调度策略要使得所有的分配过程完成时,用户等待的时间最短,这就是调度的目标。可以用下面的公式表示[2]:
T[,S]=min{Σ(tij+wj)}(i∈{1,2,……,m};j∈{1,2,……,n})
tij:信息资源组O[,i]分配到结点P[,j]用户等待的时间。
wj:按照在结点P[,j]运行的顺序,排在信息资源组O[,i]前运行的所有信息资源组的运行时间的最小和,即信息资源组O[,i]需要等待的最短时间。
DL网格中有大量的信息资源,多个用户同时或在一段时间内向网格提出一个或多个信息资源请求,系统将筛选出的匹配的信息资源返回给相应的用户,系统资源是有限的,利用有限的系统资源尽可能迅速的让用户获得所需的信息资源,这就是DL网格信息资源调度(内容分发)的目的。
3 数字图书馆的内容分发网络
内容分发网络(Content Delivery Network,CDN)通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,明显提高Internet网络中信息流动的效率。
当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。具体流程为:用户在自己的浏览器中输入要访问的网站的域名,浏览器向本地DNS请求对该域名的解析,本地DNS将请求发到网站的主DNS,主DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户,用户向给定的CDN节点请求相应网站的内容[8]。
图2所示为将CDN技术应用于数字图书馆构建的数字图书馆内容分发网络结构图。图中的数字图书馆主网可以自成体系,提供馆中信息资源的存储、查询、检索、管理等各项功能,读者可以通过Internet访问数字图书馆满足自己的需求,也可以通过数字图书馆内容分发网络获得想要的信息资源或服务[9]。
数字图书馆内容分发网络主要有三个部分组成[7],见图2所示。
(1)智能DNS。它是数字图书馆内容分发网络中的关键子系统。智能DNS处理域名解析请求,将与用户距离最近的CDN节点的网络地址提供给用户。
(2)内容缓存服务器。它是数字图书馆内容分发网络的核心组件。通过智能DNS,用户的请求已经指向离他最近的内容缓存服务器。数字图书馆内容分发网络中的内容缓存服务器会像数字图书馆的服务器一样,响应用户的请求,提供信息资源或服务。内容缓存服务器还具有自动更新和预取的功能。
(3)CDN管理系统。它是整个内容分发网络能够正常运行的保证。CDN管理系统不仅能对子系统进行监控,对故障产生相应的警告,还可以时时监测总的流量和各节点的流量情况,并记录在数据库中,便于进行进一步的分析,确保CDN的良好运行。
4 内容分发网格
图3中显示的是内容分发网格的一个四层构架。从上到下依次是原始的内容提供者(Original Content Providers)或内容服务器(Content Server)、城域网格服务器(Metropolitan Media Centers)、区域网格服务器(Regional Media Centers)和提出请求的用户。
图2 数字图书馆内容分发网络结构[7]
图3 内容分发网格层次结构[10]
在这个架构中,区域网格服务器位于网络边缘。城域网格服务器集合若干个相邻的区域网格服务器。地址位置相邻的区域网格服务器之间也是相互连接的。用户的客户端一般都是被连接到一个相关的区域网格服务器上,向该服务器结点发出内容请求。发出请求后,如果需求的内容在这个区域网格服务器上可以找到,用户可以直接从这个服务器上获取需求的内容。如果该服务器上不存在用户请求的内容,这个区域网格服务器将向相邻或对等的区域网格服务器提出内容请求。如果还是没有获得该内容,这个区域网格服务器将向与之相连的上一级城域网格服务器发出内容请求。区域网格服务器首先选择向对等服务器提出请求,而不是直接向上级城域服务器提出请求,这样可以避免城域服务器的负荷过重。城域服务器的运作过程类似于区域服务器,当在对等城域服务器中不能获取所需的内容时,才能向层次结构的最高层——内容服务器提出请求。
不仅仅是对等网格服务器之间可以共享资源,任何一个位于网络边缘的用户客户端,在安装了分发代理之后,都可以成为一个微型服务器,为其他邻近或对等的客户端提供资源或服务。
内容分发的过程是:原始的服务器经过授权从内容拥有者那里获得内容资源。内容分发网格应用安全策略将内容元数据传送到目录服务器。经过收录的内容资源被传送到网格服务器,包括城域网格服务器和区域网格服务器。当用户对某内容提出请求时,用户首先登录原始服务器获得权限许可,然后可以获得目录服务器提供的内容资源清单。目录服务器验证被请求内容资源的可用性和分发许可的合法性,然后返回一组最佳的内容资源。用户从最佳的网格服务器那里获得所需的内容资源。当这个客户端网格上的另外一名用户提出请求时,目录服务器推荐最佳的网格分发服务器和客户端网格节点作为内容的来源。这个用户所获得内容资源大多数来源于已经连接好的客户端网格节点和网格服务器,这样可以保证高速度的下载、安全的传送并减少带宽的使用。整个请求和服务过程的安全协议包括典型的传送层安全协议Security Socket Layer(SSL),基于XML的安全传送协议Secure Distributed Delivery Protocol(SDDP)。
在图3中还有两个未知概念:Pull Content和Push Content。
内容分发是信息资源从内容源到CDN边缘的缓存的过程。内容分发技术主要有两种:PUSH和PULL[11]。
(1)PUSH是一种主动分发的技术。通常,PUSH由内容管理系统发起,将内容从来源服务器或者中心媒体资源库分发到各边缘的缓存节点。分发的协议可以采用HTTP/FTP等。通过PUSH分发的内容一般是比较热点的内容,这些内容通过PUSH方式预分发(Preload)到边缘缓存,可以实现有针对的内容提供。对于PUSH分发需要考虑的主要问题是分发策略,即在什么时候分发什么内容。一般来说,内容分发可以由内容提供商(CP)或者CDN内容管理员人工确定,也可以通过智能的方式决定,即所谓的智能分发。它根据用户访问的统计信息,以及预定义的内容分发的规则,确定内容分发的过程。
(2)PULL是一种被动的分发技术,PULL分发通常由用户请求驱动。当用户请求的内容在本地的边缘缓存上不存在时,缓存启动PULL方法从内容源或者其他CDN节点实时获取内容。在PULL方式下,内容的分发是按需的。
在实际的CDN系统中,一般两种分发方式都支持,但是根据内容的类型和业务模式的不同,在选择主要的内容分发方式时会有所不同。通常,PUSH的方式适合内容访问比较集中的情况,如热点的影视流媒体内容;PULL方式比较适合内容访问分散的情况。
5 结论与展望
对上述的数字图书馆内容分发网络和内容分发网格进行简单的比较,归纳有以下几点差异:
(1)结构层次更加复杂细化。和网络环境下数字图书馆所涵盖的信息资源数量相比,网格的信息资源数量有很大幅度的提高,提供的服务更加多样化,对于硬件资源的要求也会有所提高。可以看出,从图2中单层的内容分发子网到图3的城域网格服务器和区域网格服务器,就是为了向用户提供更多的信息资源和信息服务。
(2)来源服务器与用户之间的连接发生变化。在数字图书馆的内容分发网络中,用户既可以与内容分发子网连接,也可以直接与来源服务器(数字图书馆主服务器)进行连接,提出请求。而在内容分发网格中,只有在城域网格服务器、 区域网格服务器都不能完成用户请求的前提下,用户请求才能被传送到来源服务器。这就避免了来源服务器负荷过载,提高了系统运行的效率。
(3)内容分发网格更强调子服务器之间的协调合作。在内容分发网格中,当某个区域网格服务器或城域网格服务器不能找到用户需求的信息资源时,不是直接向上级服务器提交用户请求,而是向邻近的或者对等的子服务器传送请求。这样能够充分发挥子服务器之间的协调合作,还能够减轻高层服务器的压力。
(4)开发客户端为微型服务器。在内容分发网格中,任何一个位于网络边缘的用户客户端,借助分发代理机制,都可以成为一个微型服务器,为其他邻近或对等的客户端提供资源或服务。这样充分利用了网络上的空闲硬件资源,同样为网格服务器减轻了运行压力。
在数字图书馆与网格技术结合的应用研究领域,内容分发(调度)方面还处于起步阶段,许多难题需要进一步解决,理论模型需要用实践应用来检验。根据以上的介绍和比较,数字图书馆内容分发网格(即数字图书馆信息资源调度),是在内容分发网格的基础上,融入数字图书馆自身的特点,构架出数字图书馆内容分发网格的层次架构,并投入应用实践验证其合理性可行性,这是我们今后需要研究加以解决的问题。
收稿日期:2005—12—26