网络通信 频道

网格的数据管理QoS保证技术以及安全技术


1 网格的数据管理

数据是网格中的一种重要资源,具有可复制、可移动、可压缩、可加密等特性。网格上许多数据的数据量非常大,且通常为分布式存储,需要专门的管理机制来管理网格上的数据,如数据传输、数据存储、副本管理等。

1.1 网格数据

网格数据也是一种资源,但这种资源与其他网格资源相比,具有一些与众不同的特点:

(1)网格中数据的量是巨大的

网格计算,特别是数据密集型的众多科学和工程计算,通常会需要处理大量的数据,如美国宇航局的卫星每天都将处理和生成超过2TB的数据,全球气候变暖模拟实验也产生TB数量级的数据。另外,对于追求高精度的网格应用,如天气预报的计算、大型仿真计算等,为了提高计算问题的精度,就需要处理更大的数据量。

(2)数据资源是网格应用或程序之间联系的纽带

网格应用领域中的程序需要访问和产生大量的数据,不同的程序之间也需要传输大量的数据,以实现信息的交互和协调的工作。以天气预报为例,原始的数据来自各个地区观测台的实时观测数据以及某个数据中心的历史天气信息,它们经计算中心处理加工后,形成未来天气的预报信息,该信息数据再由发布系统发布给用户,如电视台、专业网站等。贯穿此过程的就是数据资源,包括实时观测数据、历史数据、预报数据,它们将观测系统、处理系统、发布系统联系起来,构成完整的天气预报网格应用。

(3)数据资源具有可无限复制的特点

只要通过合法的用户请求,网格数据资源就可以被复制成指定的多个备份。例如一份数字地图的数据,可以复制给多个使用者;或者是一类商品的类型、价格、销量等信息,可以在厂家、代理和销售商之间复制和同步。而其他类型的网格资源则不一定具有可复制的特点。例如硬件资源就无法复制,操作系统、应用软件及其许可证(License)也不应该被复制。

(4)数据资源具有特殊的存储机制

网格中的数据资源可以创建多个副本,并存于不同的地方,用户请求该数据时,网格管理机构在原始数据和多个备份之间选择合适的数据副本供用户使用。一个数据集也可以是地理上分布的,即一个数据集的多个部分存放在不同的地方,但对用户而言,看到的还是一个完整的数据集,请求使用时当作一个资源来请求,网格管理机构将分散的数据部分合理地组织起来交给用户使用。数据资源还是可被缓存的,用户使用数据资源时可以在本地或距离使用点近的范围中缓存该资源,当以后需要再次使用时只要访问本地缓存就可以了。

1.2 网格数据管理的功能

数据管理是网格系统中重要的模块,它要为网格用户提供透明地共享使用网格上存储资源和数据资源的手段,为用户提供透明地访问、存储、传输和管理数据的界面,使用户能够方便地实现数据共享。

(1)数据实例

网格中的数据可以用数据文件或数据库的形式存在,为了隐藏以不同形式存储的数据的具体细节,提供一个统一的接口,网格中引入了“数据实例”这个新的概念。数据实例是网格上数据管理的基本单位,它可以是一个数据文件或其中的一部分,也可以是一个数据库或其中的部分数据记录,还可以是数据实例的组合,通过数据实例的属性就可以访问相应的数据。

(2)数据传输

数据传输将数据从源节点传输到目的节点,这是网格数据管理的基本功能之一。用户作业所需的输入数据、应用运行产生的结果数据、交换运算过程中的中间数据都需要数据传输的支持。将数据下载到本地,然后开始应用是普遍可见到情况,在某些情况下,如因本地存储空间的限制而不能将所有数据下载到本地后再使用时,数据传输将会更加频繁。数据传输需要满足传输速度、数据完整性、容错性的要求。

数据传输可以在源节点和目的节点之间建立一条通路,完成所有数据的传输。为了提高数据传输的速度,可使用并行传输技术。这种方式在节点之间建立多个数据连接,在不同的数据通道上传输数据的不同部分。在源节点的发送能力和目的节点的接收能力足够的前提下,增加通路的数量,从而提高数据传输的速度。

数据传输过程中由于各种原因,如网络故障导致丢包,可能会导致源节点传出的数据和目的节点接收到的数据不一样。有些应用对此不十分敏感,如少量的丢包不会影响语音应用,许多其他的应用,如文件传输,则不允许这种情况的发生。为此,一般使用出错重传或纠错的方式来解决。但某些应用场合,如实时控制,还对时间有严格的要求,没有多余的时间请求出错重传或纠错,这时可使用容错传输技术获得很好的服务质量。容错传输在源节点和目的节点之间建立多条数据通道,每条通道上传输相同的内容,一旦某条或多条通道出现传输错误,就会出现目的节点接收多个数据不一样的情况,通过表决的方式,少数服从多数,选择正确的数据,从而避免重传或纠错操作。这种方式虽然不能完全消除传输错误,但可以降低出错的概率。

网格中除了目的节点主动向源节点请求、源节点向目的节点自动分发会触发数据传输外,还有一种特殊的情况,即由第三方驱动数据传输。这种方式为网格应用带来了便利,任何一个用户或应用可以从任何节点发出请求实现特定两个节点之间的数据传输,在此基础上不仅可以建立复杂的数据共享关系,还可以建立复杂的数据流程,实现复杂的数据驱动。另外,支持第三方控制下的数据传输还可以用来在网格环境下创建新的安全机制,把身份认证的工作由除了通信双方以外的第三方完成,建立符合人类社会习惯的安全体系。

从传输的参与者来看,除了源节点和目的节点之间的点对点传输外,网格还需支持分布传输和汇集传输。分布传输是把一个完整的数据集当中的不同部分分散传输到不同目标节点上,汇集传输则与之相反,数据从多个不同的节点流向一个相同的节点。将一个大任务分解为多个小的子任务交由多个节点处理,最后将结果汇总,这是网格中常见到情况,需要分布传输和汇集传输技术的支持。

(3)数据存储

数据存储机制直接影响着数据的访问。通常而言网格数据分布存储在网格中不同资源的存储介质中,这是因为网格中数据量很大,单个个人或组织所拥有的存储资源容量有限,而且他们拥有的计算资源能力有限,不一定有能力不断处理快速增长的数据,另外分布存储可避免传输带宽的限制带来的问题。网格数据分布存储在不同位置的不同设备中,并具有不同的特点,数据管理模块为用户提供一个统一的数据视图、统一的访问接口,用户不需要了解数据对象的具体底层实现机制。

网格中还有些数据的数据量很小,只有几个或几十个字节,如状态数据、信息记录等信息,但这些数据的使用却是独立的。如果这些数据都作为文件单独存储,其数量将急剧增加,占用大量存储空间,并带来管理的难度,降低存储介质的有效利用率。为避免这种现象,可采用聚集存储技术,把文件大小小于一定规模的多个文件聚集成一个复合文件存储在网格存储空间。与可以将多个文件压缩为一个文件的文件压缩相比,聚集存储的一个文件,不需要解压就可以直接访问,包括读取、修改和删除等操作,

网格中数据实例的访问者与提供者一般都在不同的节点上,访问过程实际上是将数据实例从远程获取后缓存在本地,进行本地操作,执行结束后根据情况决定是否将文件写回远程。如果文件内容被修改,且访问者具有写远程文件的权限,则文件写回远程,覆盖原来的内容。如果没有权限,则缓存在本地的文件被简单地抛弃。这种缓存存储的方式可以减少访问者与提供者之间在通信介质上的数据流量,并且不用考虑访问文件过程中的中间交互环节。缓存存储对用户是完全透明的,用户不能指定访问某个缓存的文件。

(4)副本管理

副本管理系统一般由副本管理器、副本目录、副本选择器等几个主要部分组成。副本管理器是副本管理系统的核心部件,副本目录是登记和查找副本的场所,副本选择器负责从多个可用副本中选择一个合适的副本。

副本管理的功能包括副本创建、副本一致性维护、副本选择、副本删除、数据移动。

副本的创建根据数据被请求使用的实际情况,如一段时间内访问数据的请求者位置、每次访问的服务质量等,决定在何处创建和发布新的副本。其目的是避免网格中资源负载给用户访问带来的不良影响,为分散在不同位置的用户提供保证质量的数据访问服务。

当同一数据文件在网格上存在多个副本时,需要在其有效生命周期内保证各种访问的正确性,这就要由副本一致性维护操作保证所访问的任何副本的内容都完全相同。网格数据管理的副本一致性维护可用“加锁”、“解锁”的方式保证同时只有一个访问者可以修改文件的内容。网格中还有一个特殊的文件访问方式,任何用户都可修改文件,每个用户的修改结果都作为该文件添加了附加属性的新文件来存储,这种方式就无需使用加锁了。

副本对请求者是透明的,需要由副本管理系统查阅副本目录,寻找数据副本,根据一定的策略从数据的所有副本中选择一个最合适的副本给请求者访问。副本的选择受请求者与提供者之间的数据通路情况、提供者目前的访问负载、请求者与提供者之间的距离等众多因素的影响。

对于那些请求次数日益减少的数据,大量的副本已经没有存在的必要性了。副本管理系统可以根据实际需要删除几个甚至全部副本,并释放这些副本占用的存储空间。原始数据必须要保留下来,直到数据拥有者显式地请求删除为止。

随着时间的推移,数据的用户群可能会发生变化,密集的请求在不同时间段来自不同的地理区域,副本管理系统需要根据情况对数据进行移动,迁移到非常好的位置,以便为用户提供最好的服务。数据移动不能影响正在使用的数据应用,它需要两个步骤来完成,首先将数据在新位置做一个副本,然后把新来的请求引导到新的数据上,并在旧数据上的请求都完成后删除旧数据。

 

0
相关文章