基于领域驱动的分布式数据存储及迁移

(整期优先)网络出版时间:2022-07-14
/ 2

基于领域驱动的分布式数据存储及迁移

朱传晶1 ,李艳2

天津市普迅电力信息技术有限公司  天津  300308

中电伟恒(北京)科技发展有限公司天津分公司  天津  300308 

针对云存储环境下分布式数据存储的可扩展性、可用性和绿色节能,研究解决了分布式数据存储的几个关键技术,包括数据中心网络拓扑设计、领域驱动管理模型设计和节能技术。本文通过分析当前主流的基于数据中心网络拓扑结构,构建一个基于递归的N边缘网络模型,并设计相应的动态路由机制,网络规模和传输的结构性能、经济效益等进行了全面的分析评估。其次,基于数据中心网络的结构,提出了领域驱动管理模型,设计了副本分发策略和副本选择策略,以提高数据的可用性和负载均衡。最后,在保证数据可用性的前提下,提出一种基于数据覆盖集迀算法,使用节点选择策略来最小化迀成本,根据迀搬到睡眠更多的机器,减少能源消耗。

[关键词] 云存储;领域驱动;数据中心网络结构;数据迀移;软件节能

云存储具有扩展性强、性价比高、容错性好的特点,其中数据管理是云存储平台的核心模块。本文以构建的数据中心网络拓扑结构为基础,参考GFS、HDFS等文件系统,建立了基于RNEP领域驱动管理模型。该模型采用中心服务器模式和RNEP网络结构,保证了系统的可扩展性,研究了在兼顾负载均衡的情况下提高系统性能的副本放置策略和副本选择策略。

1基于RNEP领域驱动管理模型

1.1领域驱动管理模型

领域驱动管理模型由服务管理节点和存储服务器集群组成。服务管理节点的主要功能是管理存储服务器集群中的存储节点和存储系统中文件的元数据信息。存储服务器集群可以为动态添加和删除存储节点提供可伸缩的存储服务。它的主要功能是负责数据文件的实际存储。数据请求者通过与主管理服务器和存储服务器集群的通信来实现数据的操作。整个系统在外部屏蔽的底层实现,为用户提供快速、透明、稳定、可靠的数据存储服务。领域驱动管理模型如图1所示。

图1基于RNEP领域驱动管理模型

1.2服务管理节点

服务管理节点管理集群中的数据块服务器,监视数据块服务器的操作,并为数据创建和数据访问提供数据块服务器的位置。元数据管理模块负责管理和维护文件系统的元数据,包括文件,文件的名称空间和数据块到块之间的映射,数据块的位置,信息等。系统监控模块用于检查当前系统的运行状态。负载均衡模块负责分配用户的请求,客户端可以选择性能较好的存储节点来处理相关请求,从而提高系统的整体性能。复制管理模块管理系统中的复制信息,包括新的复制位置分配、复制恢复、复制复制等功能。日志模块包括元数据修改日志和数据块访问日志。权限管理模块使用元数据管理模块提供访问控制。集群管理模块主要通过定期发送心跳包来实现节点信息的实时维护、故障检测、故障恢复等功能。数据迀模块根据系统的不同要求,运行相应的数据迀转变策略。

为了避免单个服务管理节点的单点故障,系统建立另一个备份管理服务节点对元数据进行备份。当主服务管理节点出现问题时,将自动替换备份。

2副本管理方法

2.1副本放置策略

领域驱动管理模型中基于RNEP,确保高可用性和可靠性的基础上的副本,副本是合理分配来减少用户的访问时间,减少通信延迟。递交复本的步骤如下:

步骤l.客户端将文件划分为固定的64MB数据块,并向服务管理节点提交上传副本的请求。步骤2.服务管理节点应该检查是否创建副本。步骤3.根据服务管理节点返回的位置信息将数据写入存储节点,写入的第一个副 本为主副本。步骤4.主副本所在存储节点将数据向其他副本存储节点发送。步骤5.当其他副本存储节点收到数据后,回复主副本存储节点接收完了数据。 步骤6.主副本存储节点回复客户端,副本上传完成。

2.2副本选择策略

网格环境下,对副本的选择问题进行了大量的研究。在文献中,使用ant算法选择副本、模拟退火算法进行复制的选择都遇到了不同的困难。在基于RNEP领域驱动管理模型中,服务管理节点的监控模块负责收集存储节点的负载信息和域内的网络状态,包括存储节点的CPU负载、磁盘负载和网卡负载。复制选择算法步骤如下:步骤1.客户端向服务管理节点提出读操作请求,要求读取数据块的存储位置;步骤2.服务管理节点将副本的元数据信息和存储节点的参数发送给客户端;步骤3.选择最适合客户阅读的副本; 步骤4.存储节点将数据传输给客户机。

3模拟实现及分析

3.1模拟实验

本文参考OptorSim扩展Cloudsim的功能,并进行仿真实验,模拟了基于RNEP领域驱动管理模型的副本放置和选择策略。HDFS的副本放置策略如下:如果客户端上有数据节点,将副本随机放置在本地节点上,否则,此时在整个集群中随机选择一个合适的数据节点作为本地机架节点,放置第一个副本,第二个副本放在本地机架上的另一个节点上,第三个副本放在不同机架上的节点上。

3.2实验分析

在模拟实验中,配置两个Datacenter,Datacenter相关的参数如下: double maxPower = 250;double staticPowerPercent = 0.7;int[] mips = { 2000};int ram = 4000;long storage = 1000000;int bw = 10000;每个数据中心包含10台主机,最大功耗250W,处理器容量2000MIPS,每个主机内存2GB,主机带宽100mb /s,每个主机上传100个数据块,每个数据块有3个拷贝。第一个数据中心模拟基于RNEP网络结构的领域驱动管理模型,第二个数据中心模拟HDFS策略。在初始数据中心中有10个不同的客户机节点。每个客户端节点根据自己的策略上传100个大小为64MB的数据块,每个数据块有3个副本。成功上传副本后,实验随机对每个新数据对象进行一次复制访问,对每个副本的访问均遵循泊松分布,随机生成访问和访问类型。统计期间的系统副本访问速率和负载平衡。

(1)拷贝读取时间的比较:拷贝读取时间是指客户端从发出读取请求到读取副本所花费的时间。比较两种数据中心随机选择的客户端上每种策略随机读取100次的平均时间。

20225881158

图2两种策略的平均读取时间

如图2所示,基于RNEP领域驱动管理模型的平均副本读取时间明显低于HDFS策略的平均读取时间。

(2)负载平衡的比较:两个数据中心中随机选择一个数据块,有7客户端附近的碳副本选择的数据块,其他三个客户端远程节点上的分布,然后10个客户端随机发送读取请求数据块,分别采用自己的策略:选择和客户端最近的HDFS的副本策略基于RNEP网络结构模型和数据管理的副本选择策略。将负载表示为副本所在的存储节点接收到的客户机读取请求的数量,并记录每3分钟三个副本所在的存储节点的总负载。

负载的三个副本使用HDFS政策是不平衡的,和客户选择最接近的副本,以便客户端访问集群复制,导致高这个副本所在存储节点上的负载和低存储节点上的负载,另两个副本所在,导致不平衡负载集群。RNEP领域驱动管理模型中三个副本之间的负载差异较小,达到了负载均衡的效果。实验表明,基于RNEP领域驱动管理模型可以提高数据访问性能,合理利用网络带宽,实现系统负载均衡。

针对云存储数据管理中存在的一些问题,建立了基于RNEP领域驱动管理模型。如何分发副本以及如何从多个数据副本中选择最佳的数据副本以最大限度地提高数据资源的访问速度也是数据副本管理中的关键问题。本章在RNEP领域驱动管理模型的基础上,提出了一种副本创建策略和副本选择策略。

参考文献

[1]NIST的云计算定义[EB/OL]. http://csrc.nist.gov/publications/800-145/SP80Q-145.pdf, 2013.

[2]Greenberg A, Hamilton J R, Jain N, et al. VL2: a scalable and flexible data center network[J]. Communications of the ACM, 2011, 54(3): 95-104.

[3]Abu-Libdeh H, Costa P, Rowstron A, et al. Symbiotic routing in future data centers[J]. ACM SIGCOMM Computer Communication Review, 2011, 41(4): 51-62.

[4]刘晓茜.云计算中心结构及其调度机制研究[D].安黴:中国科技大学.2011.

[5]刘盛云.基于Kautz图的数据中心网络拓扑结构研究[D].湖南:国防科技大学.2010

[6]Guo C, Lu G, Li D, et al. BCube: a high performance, server-centric network architecture for modular data centers[J]. ACM SIGCOMM Computer Communication Review, 2009, 39(4): 63-74.

[7]Mohammad AI-Fares, Alexander Loukissas, Amin Vahdat. A Scalable, Commodity Data Center Network Architecture[C]. ACM SIGCOMM Computer Communication Review. ACM, 2008, 38(4): 63-74.

1