一种基于HDFS的电力设备监测大数据存储方法与流程

文档序号:15492580发布日期:2018-09-21 20:55阅读:149来源:国知局

本发明涉及电气设备监测领域,具体地,涉及一种基于hdfs的电力设备监测大数据存储方法。



背景技术:

随着现代计算、通信和网络计算的发展,电力系统的互联程度和远距离输电系统的不断进步,能覆盖一个甚至多个大型区域的大规模电力系统正在不断地出现;伴随着电力系统规模的不断扩大和结构的越趋复杂,对于系统安全的评估、安全与经济运行、系统控制将变得越来越困难;此外,最近2年在世界范围内成为热潮的电力系统“智能化”趋势也给现有的电力系统分析计算和控制工具带来了极大挑战。

现有的hadoop开源计算平台在分布式计算、资源存储等方面具有很好的性能,作为hadoop核心技术之一的hdfs,主要进行系统文件资源存储管理及纠错等任务,hdfs具有高可靠性、扩展性及成本低等方面的优势,而其开源性、容错性以及在廉价的硬件设备上的可部署性使其成为目前云存储学术界研究的热点,但是hdfs在进一步提高存储性能方面却存在诸多瓶颈,如:节点状态信息缺失、系统负载不均、存储效率下降等,这些都将导致在实际应用中对系统造成数据冗余、削弱负载能力等不利影响。因此,解决好上述这些问题可在很大程度上提高hdfs统的数据存储性能,才能更好地满足未来智能电网海量数据存储的巨大需求。

hdfs:设计在通用计算机上的分布式文件系统,具有高容错性,并一般部署在廉价的商用计算机上,实现应用程序高的数据吞吐量,主要应用于存储和处理大规模海量数据集,hdfs遵循posix协议,以保证应用程序流式快速存储和处理文件系统数据。

hadoop:是一个分布式文件系统基础框架,它最核心的由两部分组成:hdfs和mapreduce,主要是用于设计实现具有高可靠性、高效性、大规模性于一体的分布式数据存储和处理框架,它的设计思想就是将单一的服务器节点扩展成为成千上万个服务器节点集群,且实现节点集群中的每个服务器节点同时具有数据本地存储和处理能力。

mapreduce:hadoop框架中的核心部分,它主要用于廉价的商用计算机硬件集群对海量数据实现高可靠性、高扩展性、高容错性的并行计算,其基本思想是将一个大的复杂问题,分解成多个简单的小问题进行解决,然后将多个小问题的结果进行合并,最终得到初始的复杂问题的解。mapreduce这种分布式数据处理模式是处理大数据的一个非常重要的方式。它的这种设计适合于处理大集群的且持续增长的海量数据的计算。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于hdfs的电力设备监测大数据存储方法,改进现有的hdfs存储方法,为智能电网大数据提供了一种新型的存储技术方法,解决了电力大数据在使用时调用慢、计算慢的问题。

为解决上述问题,本发明提供的技术方案为:一种基于hdfs的电力设备监测大数据存储方法,其中,包括以下步骤:

s1.搭建基于云计算存储平台底层架构;

s2.搭建基于云计算存储平台高层架构;

s3.将基于云计算存储平台架构磁盘分区。

进一步地,所述的s1步骤具体包括:

s11.在本地物理机器上,创建不少于两台的可长时间运行虚拟机;

s12.将本地存储分别挂载到对应虚拟机;对于云计算系统,数据存储的主要制约因素是存储在本地的数据存储不是永久性的,将本地存储挂载到虚拟机上,并使用长时间运行的虚拟机能够保证本地存储可以提供较长时间的可用性;

s13.禁用不同虚拟机之间由于负载均衡引起的数据迁移策略;对于云计算系统中常用的虚拟机迁移的负载平衡,由于其并没有将数据存放的位置因素考虑在内,因此不同虚拟机之间由于负载均衡引起的数据迁移策略应该被禁用;

s14.为同一台物理机器上运行的所有虚拟机,指定为相同的rack值;由于在云计算系统中,包含同一个文件副本的多台虚拟机,有可能被调度在相同的物理机器上,为了保证hadoop的复制功能不被破坏,我们使用hadoop的rackawareness属性配置将同一台物理机器上运行的所有hadoop虚拟机指定为相同的rack值,保证不同的物理机器上存在不同的数据副本;

s15.将hadoop平台安装到虚拟机上。

进一步地,所述的s2步骤具体包括:

s21.使用单个控制节点运行openstack的核心服务;openstack的核心服务包括keystone,glance,cinder和quantum;其中cinder组件提供了卷管理服务,并将控制节点上生成的卷通过iscsi协议连接到其他的虚拟机节点;

s22.使用多台计算节点运行openstacknova计算服务,每台计算节点上构建多台虚拟机;每个计算节点都采用了英特尔至强e3-1220v2@3.10ghz,8mb缓存,16gb内存和1tb硬盘的硬件配置;不同的节点之间通过两个不同的1g网络进行连接;其中,一个1g网络用于openstack服务间的彼此通信;而另一个1g网络用于将计算节点连接到公共网络;整个系统用openstack生成了大量长期运行的hadoop虚拟机,这些虚拟机整体构成了与hadoop集群类似的系统架构,其中每个虚拟机都类似于hadoop集群的单个节点,与直接硬件构成的hadoop集群相比,由于空闲的虚拟机并不会占用太多的硬件资源,因而,通过虚拟机的方式生成大于需求数量的hadoop节点,并不会造成太大的性能影响;

s23.使用openstack中根磁盘类型,运行hadoop架构中的hdfs组件;在openstack架构中一共包含三种类型的存储:根磁盘,短暂磁盘和持久磁盘;其中,一台虚拟机的根磁盘是直接驻留在宿主机器而不附着于网络上,这也意味着其不依赖于网络延迟和带宽的影响;短暂磁盘的数据是非持久化的;持久磁盘是通过网络依附于openstack卷服务的持久化存储,其使用和性能都受到网络环境的影响;针对根磁盘,短暂磁盘和持久磁盘存储类型的特点,选择使用根磁盘类型来运行hadoop架构中的hdfs组件,这样在运行实际hadoop任务时能够避免数据通过网络进行传输带来的延迟影响;

s24.通过异步执行的后台任务定期地对根磁盘中的数据进行快照;由于根磁盘类型存储不具有持续性,即存储在根磁盘的数据在虚拟机终止之后将会丢失,因此需要定期地对根磁盘中的数据进行快照,如果虚拟机崩溃,存储在根磁盘中的数据并不会立即消失,如果虚拟机能够进行快速重新启动,存储将不会丢失。

进一步地,所述的s3步骤具体包括:

s31.将基于云计算存储平台架构磁盘分区;在openstack架构中,无论是根磁盘或者短暂磁盘的具体实现方式均是在本地存储的一个文件;传统的磁盘使用方案是将本地存储磁盘进行分区,并将单个或者多个的分区附着到hadoop虚拟机;但是,将本地存储磁盘进行分区的方案由于将静态地将磁盘的分区专用于hadoop虚拟机,当存储数据需求需要对磁盘进行收缩或增长时,将本地存储磁盘进行分区的方案由于灵活性不足,并不能实现;

s32.增加一个与openstack中libvirt_images_volume_group类似的标志libvirt_localpersistent_volume_group,用来指定计算节点包含local_persistent卷;openstack包含一个libvirt_images_volume_group配置标记,libvirt_images_volume_group配置标记用来指定在每个计算节点中包含的短暂磁盘卷组;增加一个类似的标志libvirt_localpersistent_volume_group用来指定包含local_persistent卷,以保证能够通过常用的openstack访问控制机制来对local_persistent卷进行访问;

s33.创建一个过滤器,以保证管理员能够利用过滤器调度控制仅在包含local_persistent的计算节点上启动长期运行的hadoop虚拟机;

s34.修改hadoop虚拟机本身的初始化序列,以避免对其连接的本地local_persistent磁盘进行格式化;

s35.通过常用的openstack访问控制机制来对这些卷进行访问。

与现有技术相比,有益效果是:本发明提供的一种基于hdfs的电力设备监测大数据存储方法,通过设计基于云计算存储平台架构和磁盘分区方案,提供了一种新型的电力大数据弹性云计算存储平台架构方法,提供了一种易实现、易扩展、功能丰富的云基础架构解决方案;本发明所述的方法提供的弹性云计算存储平台架构还能够为智能电网大数据提供了一种新型的存储方法,解决了电力大数据在使用时调用慢、计算慢的问题。

附图说明

图1为本发明方法流程图。

图2为本发明架构示意图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。

如图1所示,一种基于hdfs的电力设备监测大数据存储方法,其中,包括以下步骤:

步骤1.搭建基于云计算存储平台底层架构;

s11.在本地物理机器上,创建不少于两台的可长时间运行虚拟机;

s12.将本地存储分别挂载到对应虚拟机;对于云计算系统,数据存储的主要制约因素是存储在本地的数据存储不是永久性的,将本地存储挂载到虚拟机上,并使用长时间运行的虚拟机能够保证本地存储可以提供较长时间的可用性;

s13.禁用不同虚拟机之间由于负载均衡引起的数据迁移策略;对于云计算系统中常用的虚拟机迁移的负载平衡,由于其并没有将数据存放的位置因素考虑在内,因此不同虚拟机之间由于负载均衡引起的数据迁移策略应该被禁用;

s14.为同一台物理机器上运行的所有虚拟机,指定为相同的rack值;由于在云计算系统中,包含同一个文件副本的多台虚拟机,有可能被调度在相同的物理机器上,为了保证hadoop的复制功能不被破坏,我们使用hadoop的rackawareness属性配置将同一台物理机器上运行的所有hadoop虚拟机指定为相同的rack值,保证不同的物理机器上存在不同的数据副本;

s15.将hadoop平台安装到虚拟机上。

步骤2.搭建基于云计算存储平台高层架构;

s21.使用单个控制节点运行openstack的核心服务;openstack的核心服务包括keystone,glance,cinder和quantum;其中cinder组件提供了卷管理服务,并将控制节点上生成的卷通过iscsi协议连接到其他的虚拟机节点;

s22.使用多台计算节点运行openstacknova计算服务,每台计算节点上构建多台虚拟机;每个计算节点都采用了英特尔至强e3-1220v2@3.10ghz,8mb缓存,16gb内存和1tb硬盘的硬件配置;不同的节点之间通过两个不同的1g网络进行连接;其中,一个1g网络用于openstack服务间的彼此通信;而另一个1g网络用于将计算节点连接到公共网络;整个系统用openstack生成了大量长期运行的hadoop虚拟机,这些虚拟机整体构成了与hadoop集群类似的系统架构,其中每个虚拟机都类似于hadoop集群的单个节点,与直接硬件构成的hadoop集群相比,由于空闲的虚拟机并不会占用太多的硬件资源,因而,通过虚拟机的方式生成大于需求数量的hadoop节点,并不会造成太大的性能影响;

s23.使用openstack中根磁盘类型,运行hadoop架构中的hdfs组件;在openstack架构中一共包含三种类型的存储:根磁盘,短暂磁盘和持久磁盘;其中,一台虚拟机的根磁盘是直接驻留在宿主机器而不附着于网络上,这也意味着其不依赖于网络延迟和带宽的影响;短暂磁盘的数据是非持久化的;持久磁盘是通过网络依附于openstack卷服务的持久化存储,其使用和性能都受到网络环境的影响;针对根磁盘,短暂磁盘和持久磁盘存储类型的特点,选择使用根磁盘类型来运行hadoop架构中的hdfs组件,如图2所示,这样在运行实际hadoop任务时能够避免数据通过网络进行传输带来的延迟影响;

s24.通过异步执行的后台任务定期地对根磁盘中的数据进行快照;由于根磁盘类型存储不具有持续性,即存储在根磁盘的数据在虚拟机终止之后将会丢失,因此需要定期地对根磁盘中的数据进行快照,如果虚拟机崩溃,存储在根磁盘中的数据并不会立即消失,如果虚拟机能够进行快速重新启动,存储将不会丢失。

步骤3.将基于云计算存储平台架构磁盘分区。

s31.将基于云计算存储平台架构磁盘分区;在openstack架构中,无论是根磁盘或者短暂磁盘的具体实现方式均是在本地存储的一个文件;传统的磁盘使用方案是将本地存储磁盘进行分区,并将单个或者多个的分区附着到hadoop虚拟机;但是,将本地存储磁盘进行分区的方案由于将静态地将磁盘的分区专用于hadoop虚拟机,当存储数据需求需要对磁盘进行收缩或增长时,将本地存储磁盘进行分区的方案由于灵活性不足,并不能实现;

s32.增加一个与openstack中libvirt_images_volume_group类似的标志libvirt_localpersistent_volume_group,用来指定计算节点包含local_persistent卷;openstack包含一个libvirt_images_volume_group配置标记,libvirt_images_volume_group配置标记用来指定在每个计算节点中包含的短暂磁盘卷组;增加一个类似的标志libvirt_localpersistent_volume_group用来指定包含local_persistent卷,以保证能够通过常用的openstack访问控制机制来对local_persistent卷进行访问;

s33.创建一个过滤器,以保证管理员能够利用过滤器调度控制仅在包含local_persistent的计算节点上启动长期运行的hadoop虚拟机;

s34.修改hadoop虚拟机本身的初始化序列,以避免对其连接的本地local_persistent磁盘进行格式化;

s35.通过常用的openstack访问控制机制来对这些卷进行访问。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1