基于海量数据自动计算装载、分配的方法与装置

2013-04-29 17:37邵杰胡波杨丽娟
科协论坛·下半月 2013年7期

邵杰 胡波 杨丽娟

摘 要:随着移动互联网的快速发展,以及电信行业自身业务的不断增长,企业数据存量已达到PB级,海量数据模式对存储系统的性能及可靠性提出了更高层次的要求。当存储数据增加到一定规模时,会导致系统中某一个或多个存储设备性能降低、I/O响应时间较长、无法满足海量数据的存储需求。提供一种基于海量数据的数据分配方法、装置的方案,能够有效解决现有技术中无法根据数据的重要程度及当前存储设备的性能进行自动分级存储等问题,从而降低存储设备I/O响应时间,提升设备存储利用率。

关键词:异构数据 分级存储 海量数据存储 业务存储优先级

中图分类号:TP311.13 文献标识码:A 文章编号:1007-3973(2013)007-078-02

1 引言

随着移动互联网的快速发展,智能终端的普及,以及物联网、云计算等新兴产业的兴起,海量数据成为当前最显著的特征。预测数据显示,到2015年,每秒钟将有100万分钟的视频内容跨网络传输;从2010年到2015年,全球移动数据流量将增长26倍。面对海量数据来袭,目前业界仍采用根据数据业务情况事先规划存储的方式,即为分属于不同业务的数据事先分配不同的存储设备,数据生成后直接按照事先分配的存储设备进行存储。

传统方式进行海量数据的存储时,一般需要单独部署数据主控服务器来进行(所述数据主控服务器中预先存储了事先规划的数据存储规则),当系统中的数据增加到一定规模,导致系统中某一个或多个存储设备中存储了大量的数据从而导致相应的存储设备性能降低、I/O读写时间延长,无法满足数据存储需求时,需要由系统规划人员根据当前业务数据及存储设备的实际情况以人工方式对各存储设备的参数、性能、容量等进行调整或者由系统规划人员根据自身经验以及系统当前实际情况,重新为该系统制定相应的数据存储规则。

本文基于海量数据的数据分配方法、装置及系统,根据确定的该待存储数据的数据优先级,确定具备与该待存储数据的数据优先级相匹配的设备性能优先级的在线存储设备,这种方案将有效解决现有技术中存在无法根据数据重要性以及存储设备性能进行自动划分和存储等问题。

2 方案设计

本方案是基于海量数据自动计算装载和分配的方法和装置。装置包含:存储设备控制模块、设备元数据管理模块、数据计算装载服务模块、数据元数据管理模块、数据分配控制模块。其特征是:

(1)存储设备控制模块对存储系统中的存储设备进行集群管理,计算设备性能由设备元数据管理模块管理设备元数据。

(2)数据进入装置后,数据计算装载服务模块对数据进行处理,计算数据优先级保存在数据元数据管理模块,数据分配控制模块根据数据分配原则,优先级权重高的数据在性能高的设备上进行存储。

(3)数据计算装载服务模块与存储设备控制模块定时对数据元数据与设备元数据重新进行加权计算,数据分配控制模块根据计算结果动态对数据重新进行分配,对于低于数据权重阈值的数据进行离线存储。

本装置海量数据装载和分配过程,包括如下步骤:

(1)存储设备控制模块对存储系统中的存储设备进行集群管理。存储设备包括文件服务器存储、数据库服务器存储、内存数据库存储等设备,存储设备控制模块包括存储设备群集配置数据库,当有新存储设备加入群集时,存储设备控制模块注册新存储设备配置信息并更新群集配置数据库,新存储设备会在存储设备控制模块获得并保持群集配置数据库的副本,当存储设备离线时,存储设备控制模块注销存储设备配置信息并更新配置数据库并通知所有在线存储设备,在线存储设备获取通知从存储设备控制模块获得并保持最新的群集配置数据库副本。

(2)存储设备控制模块对接入的存储设备的性能进行加权计算,加权的指标为设备存储空间、CPU、内存大小等,加权计算后的结果保存到设备元数据管理模块。假设事先设定的存储设备的可用容量这一性能加权指标的权重系数为0.6,存储设备的处理器速度这一性能加权指标的权重系数为0.3,存储设备的内存大小这一性能加权指标的权重系数为0.1,对该在线存储设备的各性能加权指标进行加权运算,得到该在线存储设备的性能加权值Q;具体地,所得到的该在线存储设备的性能加权值Q可以表示为:Q=0.6A+0.3B+0.1C。在得到该在线存储设备的性能加权值之后,可以根据该在线存储设备的性能加权值确定该在线存储设备的设备性能优先级。例如:若所得到的该在线存储设备的性能加权值Q大于设定的第一阈值,则认为该在线存储设备的设备性能优先级为高,若所得到的该在线存储设备的性能加权值Q大于设定的第二阈值且小于设定的第一阈值,则可以认为该在线存储设备的设备性能优先级为中,若所得到的该在线存储设备的性能加权值Q小于设定的第二阈值,则可以认为该在线存储设备的设备性能优先级为低,其中,所述第一阈值大于第二阈值,且所述第一阈值以及所述第二阈值的数值可以根据实际情况进行调整。

(3)设备元数据管理模块管理设备元数据,设备元数据存储以下信息:设备Mac地址,设备名称、加权设备性能结果。设备元数据管理模块维持和存储设备控制模块心跳通讯,根据群集配置数据库完成设备元数据注册、更新、注销管理。此元数据核心为多维稀疏Map(Map由key和value组成,Map的索引是行关键字、列关键字和时间戳),设备元数据以设备Mac地址为行关键字,以设备名称和性能结果为列名,加权计算的时间戳作为标识,设备元数据管理模块计算设备时间段内平均性能。

(4)数据进入装置后,数据计算装载服务模块对数据进行加权计算,加权指标包括数据重要度、数据访问量、数据大小等,加权计算后由数据元数据管理模块处理。

(5)数据元数据管理模块管理数据加权元数据,数据加权元数据存储以下信息:块信息关键字、块名称、加权计算结果。数据元数据管理模块维持和数据计算装载服务模块心跳通讯,完成数据加权元数据注册、更新、注销管理。此元数据核心为多维稀疏Map(Map由key和value组成,Map的索引是行关键字、列关键字和时间戳),数据加权元数据以数据块信息关键字为行关键字,以块名称和加权结果为列名,加权计算的时间戳作为标识。

(6)数据分配控制模块从数据元数据管理模块和设备元数据管理模块取得数据加权元数据及设备元数据,根据数据加权计算结果进行分配,权重高的数据保存到性能高的设备之上,次之保存到性能次之的设备,依次将数据分配保存。

(7)数据计算装载服务模块定时从数据元数据管理模块取得数据加权元数据,对数据加权元数据重新进行加权计算,计算后由数据元数据管理模块根据权重结果更新数据加权元数据Map。

(8)存储设备控制模块定时从设备元数据管理模块取得设备元数据,对存储设备重新进行性能加权计算,计算后有设备元数据管理模块根据权重结果更新设备元数据Map。

(9)数据分配控制模块定时从数据元数据管理模块和设备元数据管理模块取得数据元数据及设备元数据,根据数据权重和设备性能权重重新进行数据分配,权重高的数据更新到性能高的设备,对于低于预先设置的数据权重阈值的数据进行离线存储。

3 结论

综上所述,存储设备控制模块对存储系统中的存储设备进行集群管理,计算设备性能由设备元数据管理模块管理设备元数据,报表数据进入装置后,数据计算装载服务模块对数据进行处理,计算数据优先级保存在报表元数据管理模块,数据分配控制模块根据数据分配原则,优先级权重高的报表数据在性能高的设备上进行存储。数据计算装载服务模块与存储设备控制模块定时对报表元数据与设备元数据重新进行加权计算,数据分配控制模块根据计算结果动态对数据重新进行分配,对于低于数据权重阈值的报表数据进行离线存储。对比原有存储技术原理,可以看出本方案的优势在于能够根据存储设备实际情况进行自动计算装载和分配,充分发挥到存储设备的最佳性能。

参考文献:

[1] 李华植.海量数据库解决方案.北京:电子工业出版社,2010.

[2] 吕帅,刘光明.海量信息分级存储数据迁移策略研究[J].计算机工程与科学,2009(01).