论文部分内容阅读
在过去的几十年里,随着信息科学不断发展,互联网从无到有,发生了巨大的变化。当前,随着互联网的普及、商业应用模式的成熟、网络带宽的提高、存储成本的下降,互联网用户剧增,越来越多的移动设备接入互联网,一种新型的计算模式(——)云计算(cloudcomputing)产生了。云计算强调在虚拟计算环境下运行大规模应用,具有很强的可伸缩性,是一种典型的网络计算模式。当前,基于云计算的大型网络一般都是异构的、分布式的,相关的应用也呈现数据密集的趋势。
云计算环境中的应用,往往会涉及到大量的数据,这些数据的存储与管理(云存储)是云计算应用的基础,其对实际应用的服务质量(QoS)有很大程度的影响,往往会成为制约系统性能的瓶颈。基于此,数据密集型计算作为新型服务的支撑技术,引起了广泛关注。在数据密集型计算中,数据量往往达TB甚至PB量级,一般会存储在大型的分布式文件系统中。副本技术在数据密集型应用中被普遍使用,它在提高数据密集型环境中数据的可靠性的同时,还可以提高网络的负载均衡,从而有效地降低了获取数据的网络访问延迟。较好副本管理策略,对数据密集型应用中服务质量(QoS)的提升有很大的好处。
本文总结了云计算环境下数据密集型应用的特性,并进行了简单的建模。根据数据密集型应用特点,从两方面提出了提高实际应用中获取数据速率,改善服务质量(QoS)的方案:
(1)数据密集型应用往往是分布式执行的。一个实际的数据密集型应用会由分布在不同地域、不同机器上的服务通过组合串联执行来完成。在单个服务的执行阶段,服务的执行需要两个条件:1.前驱服务已执行完成;2.该服务所需数据已经全部获取。针对服务的执行过程,本文提出了一个比较简单的数据预读的方法,在前驱服务还未执行完之前,就通过传递消息给下一个节点,使其不等前驱服务执行完毕,就提前读取数据做好准备,这样可以一定程度上加快数据密集型业务的执行速度。
(2)在云计算环境中,数据的存储都会采用副本策略,以保证数据的可靠性和性能。在数据密集型计算中,由于涉及到大量的数据,此时,如何对副本进行管理,会影响到服务获取数据的效率,进而影响实际应用的执行效率。针对副本的管理问题,本文提出了域自治的方法,将一个数据及其副本统称为一个域,并使用treap树将这些副本组织起来,通过利用treap树负载敏感的特性,能较快的获得较优的副本节点。此外,还通过设定阈值等方法,使得域内副本根据需要删除、创建、动态调整。仿真实验证明,采用域自治策略管理副本,取得了较好的效果。