网格之数据管理中文摘要:网格是把地理位置上分散的资源集成起来的一种基础设施。
网格上的资源包括计算机、集群、计算机池、仪器、设备、传感器、存储设施、数据、软件等实体,另外,这些实体工作时需要的相关软件和数据也属于网格资源。
数据是网格中的一种重要资源,具有可复制、可移动、可压缩、可加密等特性。
网格上许多数据的数据量非常大,且通常为分布式存储,需要专门的管理机制来管理网格上的数据,如数据传输、数据存储、副本管理等。
关键词:数据管理;数据资源;缓存;数据传输;副本;1网格概述网格是把地理位置上分散的资源集成起来的一种基础设施。
通过这种基础设施,用户不需要了解这个基础设施上资源的具体细节就可以使用自己需要的资源。
分布式资源和通信网络是网格的物理基础,网格上的资源包括计算机、集群、计算机池、仪器、设备、传感器、存储设施、数据、软件等实体,另外,这些实体工作时需要的相关软件和数据也属于网格资源。
《网格:一种未来计算基础设施蓝图》[1]一书中把网格描述为:“网格是构筑在互联网上的一组新兴技术,它将高速互联网、计算机、大型数据库、传感器、远程设备等融为一体,为科技人员和普通老百姓提供更多的资源、功能和服务。
2网格中的数据管理众多的科学和工程应用计算都需要处理大量的数据,需要处理的数据量级可达1012 B 或1015 B 数量级。
像天气预报的计算、飞机模型的计算、流场计算等领域都是把连续变量离散化,用差商来代替微商进行计算的。
计算问题的精度要求越高,变量离散的区间越小,计算的数据量也就越大。
这类问题的求解一般都需要访问和存储大量的数据。
应用领域中不仅一个程序需要访问大量的数据,不同的程序之间也需要传输大量的数据。
常见的数据分析应用程序和可视化显示的应用程序需要访问在地理位置上分布的大量数据,其数据量达到了109 B 甚至1012 B 数量级。
虽然数据也是一种资源,但它有自己不同于其他资源的特点。
①其他资源的用途由资源提供者或资源本身的构造来决定,但数据资源在访问控制权限许可的情况下,其用途由数据请求者决定,应用可以对数据可视化,也可以对数据加密,还可以进行过滤和统计等其他处理。
②数据资源具有可无限复制的特点。
合法用户发送一个请求,一份数据就可以被复制成请求指定的多个备份,这个操作只需要得到管理机构的许可,几乎不需要什么代价。
③数据可以创建副本。
当一个用户请求该数据时,网格管理机构需要在原始数据以及它的多个备份中间选择一个合适的数据副本提供给用户使用。
④数据资源可以被缓存,其他资源则不可以。
用户被授权使用一个数据资源时,可以在本地或距离使用点近的范围中缓存该资源,当以后需要再次使用该资源时,只要访问本地缓存的该资源就可以了。
⑤一个数据集可以存放在不同的地方,即在地理位置上是分布的,但是用户看到的是一个整体。
用户请求使用时,仍然当做一个资源来请求,网格管理机构要把分散在不同地理位置的各个部分合理地组织起来交给用户使用。
由于数据有别于其他资源的这些特殊性,各种通用的资源管理模块所具有的功能不能很好地管理数据,因此需要有专门管理数据的机构,以便在网格下更好地使用这些数据资源。
以“科学计算实例”中的需求说明网格中需要哪些特殊的数据管理功能:①文件传输。
把weather.exe 和data.dat 等文件传输到目标节点上。
data.dat 可能是一个很大的数据文件,按照不同的传输方式需要较长的传输时间,因此需要网格的数据管理能够提供并行传输功能,以便快速完成数据传输。
②副本选择和管理功能。
数据文件public.dat 是一个公用的数据文件,许多用户都要访问。
为了避免单点故障,也为了降低访问阻塞,提高访问效率,需要根据访问情况创建数据副本,由于数据副本的存在,就需要副本选择和管理功能。
③远程文件访问。
由于public.dat 或output.da t 容量很大,不能存储在处理程序运行的本地节点上,需要网格提供直接远程访问数据文件的功能。
3数据管理的内容3.1数据传输在网格环境下,不同的应用需要不同质量的数据传输支持。
有的应用需要容错传输,有的应用需要并行传输。
特别地,以文件形式存储的数据需要支持部分传输,以避免只需要一个文件中的一部分数据而把整个文件传输过去的通信资源浪费。
并行传输:为了将数据从一个节点传输到另一个节点上,可以建立多个数据连接,在不同的数据通道上传输文件的不同部分,把文件并行传输到目的节点上,这种数据传输方式称为并行传输。
容错传输:容错传输是在一对通信节点之间建立多条数据连接,同时传输数据,但每条数据通道上传输的内容是相同的,一旦某条通路出现传输错误,就启用从其他通路传输到目的节点的备份数据,不需要重新传输。
第三方控制的传输:在网格的任何位置上,一个活动的实体都可以合法地驱动网格设施,把数据从除了活动实体所在节点以外的任何位置传输到另外一个位置上。
这种传输的特点是驱动传输的实体既不是传输数据的源节点,也不是接收数据的目的节点,这就是第三方控制的数据传输。
分布传输:在网格环境下,有许多应用需要分布传输的支持。
分布传输是把一个完整的数据集中的不同部分分散传输到不同的目标节点上,其特点是辐射传输。
汇集传输:汇集传输是把分布在多个源节点上具有某种关系的多个数据子集传输到同一个位置,按照子集之间的相互关系生成新的数据集合的传输。
3.2数据存储3.2.1分布存储在网格环境下,一个完整数据集包含的数据量将会非常大,超过我们目前使用的通常文件大小的许多倍。
网格上产生的大数据带来了下面的问题:①单个个人或组织所拥有的存储资源容量有限,无法存储规模很大的数据集,需要分散存储在网格中不同的存储资源上。
②单个个人或组织所拥有的计算资源能力有限,处理数据的速度跟不上新数据产生的速度,需要网格上的其他节点参与处理以满足要求,也需要把数据分布存储在网格中的不同资源上。
③接入网格的带宽有限,当数据被请求时,传输给对方需要大量的时间,分散存储可以避免传输带宽的限制带来的问题。
解决这些问题的方法之一就是把一个大的数据集分散存储在网格中不同资源的存储介质上。
有了分布存储技术,多么巨大的文件,只要网格上的存储空间可以存储得下,就可以放在网格上,供人们使用,而不受数据拥有者存储资源能力的限制。
3.2.2聚集存储跟网格上的大数据相反,网格上的许多状态数据、信息记录等信息都只有非常少的几个字节,但是这些数据的使用却是独立的。
如果这样的数据都作为文件存储在网格上,将会使网格上文件的数量急剧增加,也会占用大量的网格存储空间,并导致这些文件管理的难度增加,存储介质的有效利用率降低。
为了避免这种现象,可以采用聚集存储技术,把文件大小小于一定规模的多个文件聚集成一个复合文件存储在网格存储空间,这就是针对小文件的聚集存储。
3.2.3缓存存储在访问一个数据实例时,尽管访问者不需要知道具体的技术实现细节,访问任何远方的数据实例都如同访问一个本地文件一样,但实际的情况却是,首先要把数据实例从远程取过来,放在本地的某个地方,然后在本地进行操作。
其好处是可以减少数据请求者和数据提供者之间在通信介质上的数据流量,并且可以不考虑访问文件的过程中的中间交互环节。
缓冲存储是在系统控制之下为了改善系统的性能,或者简化系统的管理而使用的一种策略。
缓冲存储对用户也是完全透明的,用户不能指定访问某个缓存的文件。
3.3副本管理前面讲过,一个大容量的数据集需要存储在多个物理节点上,这就需要一个管理机构来管理这些逻辑上是一个整体,物理上分散存储的数据。
副本管理系统就是记录一个数据集的不同部分存储在什么位置的网格管理机构。
副本的创建是根据数据被网格用户请求使用的情况进行的。
创建副本的目的是为分散在不同地方的用户提供保证质量的数据访问服务,避免因为网格中资源负载不同而给用户带来不同的服务质量。
根据实际需要和副本管理的方便,可以用两种结构创建数据副本。
如图1图1 副本创建两种结构由于同一个数据文件在网格上存在多个副本,随之而来的问题就是在该文件的有效生命周期中如何保证各种访问的正确性。
其中最大的问题就是维护文件的一致性。
当请求者请求访问一个文件时,可以对文件进行多种操作。
根据其操作是否修改文件的内容,可以分两种情况来对待。
请求者以只读方式访问文件,这时,网格管理系统只要保证让用户使用的文件是最新的文件就可以了。
也就是说,对于该文件的最新修改要包含在用户访问的文件中,这种修改可能就是该用户进行的,也可能是其他用户进行的。
请求者如果以修改方式访问一个文件,这时就要首先查看该文件是否正在被其他用户以可修改的方式访问,如果没有,把该文件“加锁”,让该用户开始访问,直到用户访问完之后关闭文件,把修改结果写回,才给文件“解锁”。
如果该文件已经被加锁,说明其他用户正在对文件进行修改,这时要根据文件的性质分别处理。
创建数据副本之后,同一个数据集在网格上存在多个相同的副本。
请求者访问数据集时,需要网格从源数据和副本中选择一个合适的数据集让用户访问。
副本对请求者是透明的,请求者的访问信息中不包含副本的任何信息。
选择合适的副本要借助副本管理模块,获得数据集的副本的所有信息,从而根据一定的策略选择一个合适的副本分配给请求者访问,副本选择结构如图2:图2 副本选择结构随着数据发布以后的时间推移,可能数据的访问者会越来越少,数据访问阶段创建的大量副本由于没有多少访问者也就失去了继续存在的必要。
在树形结构中,删除一个副本时可以把一个副本为根的所有子树删除,这是最简单的删除方法。
有时可能会出现保留子树中某些部分的情况,这就需要修改相关副本的属性描述,防止把副本的连接关系割断,造成永远的信息孤岛和资源浪费。
在星形结构中,可以根据实际需要随意删除某个或某几个甚至全部副本,相应地要进行数据属性的修改。
数据是网格上一种特殊的资源,由于其管理方面的特殊性,通用的资源管理机制不能很好地满足数据管理的需要,因此网格中要有专门的资源管理模块。
参考文献:[1]I. Foster and C. Kesselman.The Grid: Blueprint for a Future Computing Infrastructure.Morgan Kaufmann Publishers,1999[2]Ian Foster. What is the grid? A three point checklist. Grid Today,2002,1(6)[3]I. Foster and C. Kesselman, Eds.; Jin H, Yuan PP, Shi K, Trans. The Grid 2: Blueprint for a New Computing Infrastructure. 2nd ed., Beijing: Publishing House of Electro nics Industry, 2004. 1−10 (in Chinese).[4]I. Foster and C. Kesselman.The Anatomy of the Grid: Enabling Scalable Virtual Organizations.International Journal of Supercomputer Applications,2001,15(3):200~222[5]M.Satyanarayanan.Integrated Pervasive Computing Environments. IEEE Pervasive Computing,2002,11:2~3[6]都志辉,陈渝,刘鹏,网格计算。