分布式文件系统的版本间映射的制作方法

文档序号:12512607阅读:308来源:国知局
分布式文件系统的版本间映射的制作方法与工艺

本公开内容的诸方面涉及计算硬件和软件技术,尤其涉及分布式文件系统的版本间映射。



背景技术:

越来越多的数据密集型分布式应用正在被开发以服务诸如处理通常不能由单个计算机处理的非常大的数据集的各种需要。相反,计算机集群被用于分配诸如组织和访问数据以及执行关于数据的相关操作的各种任务或作业。已经开发了包括Hive、HBase、Hadoop、Amazon S3和CloudStore等的各种应用和框架来与这样的大数据集交互。这些应用和框架通常采用允许更快地访问在集群内启动的计算机的各种分布式文件系统。然而,随着对文件系统和框架的创新,不同版本的框架可能不能访问不同版本的文件系统。

除了分布式应用和框架的进步之外,虚拟化技术已经变得普及并且在数据中心和其他环境中是常见的,其中,在前述数据中心和其他环境中提高使用计算资源的效率是有用的。在虚拟化环境中,一个或更多个虚拟机在底层计算机(或另一虚拟机)上实例化并共享底层计算机的资源。因此,不是使每个计算设备具有单个处理节点,而是集群可以采用每个计算设备多个虚拟机以更有效地分配工作负荷。



技术实现要素:

本文提供了一种向大规模处理框架(LSPF)集群中的LSPF节点提供数据的系统、方法及软件。在一个示例中,一种提供数据的方法包括:从LSPF节点接收根据分布式文件系统的版本访问数据的访问请求。该方法还包括:响应于访问请求,根据分布式文件系统的不同版本访问针对LSPF节点的数据;以及根据由LSPF节点使用的分布式文件系统的版本将数据呈送给LSPF节点。

在另一实例中,一种向LSPF集群中的LSPF节点提供数据的计算机装置包括处理指令,处理指令当由数据服务计算系统执行时指示数据服务计算系统从LSPF节点接收用于根据分布式文件系统的版本访问数据的访问请求。处理指令还指示数据服务计算系统:响应于访问请求,根据分布式文件系统的不同版本访问针对LSPF节点的数据;以及根据由LSPF节点使用的分布式文件系统的版本将数据呈送给LSPF节点。计算机装置还包括一个或更多个非暂态计算机可读介质,一个或更多个非暂态计算机可读介质存储处理指令。

在另一示例中,一种向LSPF集群中的LSPF节点提供数据的系统包括LSPF节点,该LSPF节点被配置成发起用于根据分布式文件系统的版本访问数据的访问请求。该系统还包括数据服务,该数据服务被配置成:识别访问请求;以及响应于访问请求,根据分布式文件系统的不同版本访问针对LSPF节点的数据。数据服务还被配置成根据由LSPF节点使用的分布式文件系统的版本将数据呈送给LSPF节点。

附图说明

参照下面的附图可以更好地理解本公开内容的多个方面。虽然结合附图描述了若干实现方式,但是本公开内容不限于本文所公开的实现方式。相反,意在涵盖所有替代、修改和等同方式。

图1图示出了向大规模处理框架集群中的大规模处理框架节点提供数据的计算环境。

图2图示出了向大规模处理框架集群中的大规模处理框架节点提供数据的方法。

图3图示出了虚拟大规模处理框架集群。

图4图示出了用于向大规模处理框架集群中的大规模处理框架节点提供数据的概况。

图5图示出了用于向虚拟大规模处理框架集群中的大规模处理框架节点提供数据的概况。

图6图示出了用于向大规模处理框架集群中的大规模处理框架节点提供数据的计算系统。

图7图示出了用于向多个虚拟大规模处理框架集群中的大规模处理框架节点提供数据的概况。

具体实施方式

本文中所描述的各种实现方式提供了向大规模处理框架(LSPF)集群中的LSPF节点提供数据的系统、方法和软件。特别地,已经开发了应用和框架以使用一个或更多个处理系统来处理来自存储卷的大量数据。这些处理系统可以包括诸如服务器计算机、台式计算机等的真实处理系统,以及在这些真实处理系统或主机处理系统内的虚拟机。

在至少一个实现方式中,在主机环境内实例化一个或更多个虚拟机。虚拟机可以由在主机环境中运行的管理程序来实例化,该管理程序可以在具有或不具有在其下的操作系统的情况下运行。例如,在一些实现中,管理程序可以在主机操作系统之上的层处实现,而在其他实现中,管理程序可以与操作系统集成。其他管理程序是可能的,并且可以认为在本公开内容的范围内。

由管理程序执行的虚拟机可以包括消费和执行对数据的处理的诸如客户操作系统及其组件的各种客户元件、客户应用等。虚拟机还可以包括诸如客户存储器、客户存储系统和客户处理器的各种计算组件的虚拟表示。

在一个示例中,在虚拟机内运行的客户元件(诸如用于处理大数据集的映射缩减应用或框架)可能需要用于处理的数据。该应用或框架用于访问来自一个或更多个存储卷的数据,并且与一个或更多个其他真实计算节点或虚拟计算节点并行地处理数据。在本示例中,LSPF集群可以包含能够使用分布式文件系统的特定版本来处理数据的一个或更多个节点。因此,当LSPF集群内的节点需要数据时,节点可以使用特定分布式文件系统发起访问请求。响应于该请求,数据服务进程可以识别访问请求,并且使用分布式文件系统的不同版本来访问适当的数据。进而,数据服务进程可以根据由LSPF集群中的节点使用的分布式文件系统的特定版本将数据呈送给LSPF节点。

现在参照图1,图1图示出了向LSPF集群中的LSPF节点提供数据的计算环境100。计算环境100包括数据存储库110、LSPF集群120和数据服务160。LSPF集群120还包括LSPF节点121-123,LSPF节点121-123使用第一分布式文件系统(DFS)版本来从数据存储库110请求数据。虽然在本示例中图示有三个节点,但是应当理解,LSPF集群120可以包括任何数量的节点以支持大数据集的并行处理。

在操作中,LSPF节点121-123可以表示由管理员或某其他管理实体发起以与其他节点并行处理大量数据的真实机或虚拟机。在本示例中,LSPF节点121-123中的每个节点可以被配置有诸如Hadoop、Spark、Disco或某其他数据处理框架的处理或映射缩减框架。当节点121-123被启动时,节点可能需要来自数据存储库110的用于处理的数据。如在计算环境100中所图示的,使用与LSPF集群120中的各个节点使用的分布式文件系统版本不同的分布式文件系统版本来访问数据储存库110内的数据。因此,负责收集用于处理的数据的数据服务160以各个节点可接受的形式提供内容。

为了进一步说明向LSPF集群中的节点提供数据,图2被包括。图2图示出了向LSPF集群中的LSPF节点提供数据的方法200。如图2所描绘的,方法200包括:从LSPF节点接收根据分布式文件系统的版本访问数据的访问请求(201)。该方法包括:响应于访问请求,根据分布式文件系统的不同版本访问数据(203);以及根据由LSPF节点使用的分布式文件系统的版本将数据呈送给LSPF节点(205)。

如之前图1中所描述的,可以在LSPF集群内启动一个或更多个LSPF节点以处理大数据集。一旦节点启动,节点可能需要来自诸如数据存储库110的存储库的数据。例如,节点121可以使用第一DFS版本请求数据。响应于该请求,数据服务160或节点121与数据存储库110之间的另一类似进程访问用于节点121的所请求的数据。在本示例中,用于该节点的分布式文件系统版本与用于访问数据存储库110中的数据的分布式文件系统版本不相同。因此,提供给该节点的数据需要根据用于节点的文件系统版本被呈送或转换。

例如,LSPF节点121使用第一DFS版本来请求第一数据项。响应于该请求,数据服务160识别并且根据第二DFS版本访问第一数据项。一旦根据第二DFS版本访问该数据项,则根据第一DFS版本向节点121提供第一数据项。因此,虽然在数据存储库110中使用不同的DFS版本来存储和访问数据项,但是数据服务160根据用于该节点的DFS版本向该节点供应数据项。

返回到计算环境100的元件,LSPF节点121-123包括能够在LSPF集群120中协作操作的真实计算节点或虚拟计算节点。LSPF节点121-123中的每个节点可以包括真实或虚拟处理系统、存储系统、通信接口、用户接口以及其他计算元件。在LSPF节点121-123包括虚拟计算节点的示例中,LSPF节点121-123可以对一个或更多个主机计算设备和用于抽象主机的物理组件并将它们提供给虚拟节点的管理程序进行操作,。因此,多个LSPF节点可以在同一主机上实现,从而允许节点共享主机系统的物理资源。

数据服务160包括能够将来自数据存储库110的数据提供给LSPF节点121-123的一个或更多个计算系统。虽然被图示为与LSPF节点121-123分离,但是应当理解,数据服务160可以完全地或部分地在负责LSPF节点121-123的同一设备上实现。数据服务160可以包括处理系统、存储系统、通信接口、用户接口或任何其他类似的计算元件。

数据存储库110包括能够在LSPF集群120中存储用于处理的数据的任何存储介质。数据存储库110可以包括磁盘驱动器、固态驱动器或任何其他类似的存储介质。在一些示例中,数据存储库110包括使用各种不同的分布式文件系统版本存储的各种数据,诸如Hadoop分布式文件系统版本、Google文件系统版本、Gluster文件系统版本或任何其他分布式文件系统版本(包括其组合)。因此,数据服务160可以用于使用与数据存储库110中存储的数据所使用的DFS版本不同的DFS版本将内容提供给节点。

转向图3,图3图示出了根据一个示例的虚拟LSPF集群300。LSPF集群300包括主机301-302和数据存储库380。主机301-302还包括数据服务360-361和管理程序350-351,管理程序350-351用于操作虚拟机(VM)321-324。VM 321-324进一步包括作业371、Hadoop实例331-334和分布式文件系统(DFS)340。虽然在本示例中图示出了Hadoop实例,但是应当理解,可以跨VM 321-324实现任何类似的映射缩减框架或数据处理框架。

在操作中,管理程序350-351用于从主机301-302抽象组件,并将组件提供给VM 321-324,这使得VM 321-324能够作为LSPF集群执行。如图3中所描绘的,VM 321-324包括用于为集群300内的作业371提供映射缩减功能的Hadoop实例331-334。虽然可以使用DFS的替选版本来存储所请求的数据,但是Hadoop实例331-334使用DFS340来识别用于在各个节点中的每个节点内处理的数据。

因此,在本示例中,数据服务360-361从VM 321-324接收用于根据DFS 340的DFS版本访问数据的访问请求。响应于该请求,数据服务360-361根据DFS的第二版本访问数据,并且根据DFS 340的DFS版本将数据呈送给VM 321-324。例如,DFS 340可以使用Hadoop DFS的第一版本,然而,要访问的数据可以使用Hadoop DFS的第二版本。因此,在本示例中,数据服务360-361可以充当用于访问数据并向VM呈送数据的中介。

虽然在之前的示例中图示出了使用Hadoop文件系统的不同版本,但是应当理解的是,可以在文件系统的完全不同的版本之间使用类似的操作。例如,LSPF节点可以使用Hadoop DFS版本来请求数据,但是数据服务可以使用Google文件系统版本或某其他分布式文件系统版本来访问数据。

转向图4,图4图示出了用于向LSPF集群中的LSPF节点提供数据的概况。图4包括数据存储库410、LSPF集群420和数据服务460。LSPF集群420还包括LSPF节点421-423,LSPF节点421-423执行第一Hadoop版本实例431-433。数据存储库410还包括用于存储数据416的第二DFS版本415。

在操作中,管理员或某其他类似的管理进程启动LSPF集群420,以处理存储在数据存储库410中的数据集。LSPF集群420内的LSPF节点421-423包括使用第一DFS版本访问数据的Hadoop框架的第一版本。然而,如所描绘的,存储在数据存储库410中的数据是使用第二DFS版本415可访问的。因此,必须根据第一DFS版本识别针对数据的访问请求,并且必须使用第二DFS版本来访问数据。

例如,第一Hadoop版本实例431使用分布式文件系统的第一版本发起数据访问请求。一旦数据服务460接收到访问请求,数据服务460使用第二DFS版本415来访问数据。在访问适当的数据之后,数据服务460根据DFS的第一版本将数据呈送给LSPF节点421。因此,虽然LSPF节点421内的文件系统可以根据第一文件系统版本管理数据,但是可以根据文件系统的替选版本将实际数据存储在数据存储库410内。

在一些示例中,数据服务460可以用于向虚拟LSPF节点供应数据。这样,数据服务可以全部或部分地位于主机内,以向在主机上启动的虚拟LSPF节点中的每个节点供应来自数据存储库的数据。例如,驱动器或某其他进程可以位于LSPF节点中的每个节点内。当节点需要数据时,驱动器可以根据第一DFS版本识别请求并且向数据服务460通知该请求。响应于该请求,数据服务460访问适当的数据,并且使用第一DFS版本将数据提供给LSPF节点。因此,虽然可以使用第一框架和DFS版本启动节点,但是可以使用替选DFS版本来存储存储库内的数据。

此外,虽然在本示例图示出了使用第二DFS版本415来访问数据,但是应当理解的是,LSPF节点可访问的数据存储库410或其他数据存储库和数据服务460可以使用各种不同的DFS版本来存储数据。因此,数据服务460可以负责使用第二DFS版本415和任何其他文件系统版本来访问包括用于由LSPF节点421-423处理的数据的数据。

现在参照图5,图5图示出了用于向虚拟LSPF集群中的LSPF节点提供数据的概况500。概况500包括数据存储库510和主机501,主机501还包括VM 521-523。VM 521-523被配置有Hadoop实例531-533以处理作业571。VM 521-523还包括分布式文件系统(DFS)540以访问位于数据存储库510中的数据。

在操作中,主机501使用管理程序550来执行VM 521-523,以抽象主机501的物理组件并且将组件提供给VM 521-523。管理程序550可以是主机501上的用于呈送具有虚拟操作平台的VM 521-523内的客户操作系统的软件、固件或硬件。当VM 521-523执行时,Hadoop实例531-533处理由数据服务560供应的数据以完成作业571。

如图5中所图示的,VM 521-523使用分布式文件系统540来管理跨各个虚拟机的数据并行处理。当诸如Hadoop实例531的Hadoop实例需要数据时,发起根据与分布式文件系统540相关联的文件系统的版本请求数据的访问请求。响应于该请求,数据服务560使用分布式文件系统的第二版本来访问数据,并且使用文件系统的第一版本将数据呈送给VM 521。因此,虽然集群可以以使用分布式文件系统的第一版本的数据处理框架的第一版本来启动,但是集群可以访问使用数据服务存储的数据,以根据分布式文件系统的第二版本访问数据。

现在参照图6,图6图示出了用于向LSPF集群中的LSPF节点提供数据的计算系统600。计算系统600是能够实现图1至图5中所描述的数据服务的设备的任何计算系统、设备或系统的示例。计算系统600包括通信接口601、用户接口602和处理系统603。处理系统603链接至通信接口601和用户接口602。处理系统603包括处理电路605和存储设备606,存储设备606存储操作软件607。

通信接口601包括通过通信链路通信的组件,诸如网卡、端口、RF收发器、处理电路和软件、或一些其他通信设备。通信接口601可以被配置成通过金属链路、无线链路或光链路进行通信。通信接口601可以被配置成使用TDM、IP、以太网、光网络、无线协议、通信信令或一些其他通信格式-(包括其组合)。在一些示例中,通信接口601可以被配置成与LSPF集群内的一个或更多个真实机或虚拟机进行通信,并且还可以被配置成与存储库通信以向真实机或虚拟机提供数据。

用户接口602包括与用户交互的组件。用户接口602可以包括键盘、显示屏、鼠标、触摸板或某其他用户输入/输出装置。在一些示例中可以省略用户接口602。

处理电路605包括微处理器和从存储设备606检索和执行操作软件607的其他电路。存储设备606包括非暂态存储介质,诸如磁盘驱动器、闪存驱动器、数据存储电路或某其他存储装置。操作软件607包括计算机程序、固件或某其他形式的机器可读处理指令。操作软件607包括接收模块608、访问模块609和呈送模块610。操作软件607还可以包括操作系统、实用程序、驱动器、网络接口、应用或某其他类型的软件。当由电路605执行时,操作软件607指示处理系统603操作如本文所描述的计算系统600。

特别地,接收模块608被配置成从LSPF集群中的一个或更多个LSPF节点接收或识别用于根据分布式文件系统的第一版本访问数据的访问请求。响应于该请求,访问模块609根据分布式文件系统的第二版本访问数据,并且根据由LSPF节点使用的分布式文件系统的第一版本将数据呈送给LSPF节点。

在一些示例中,可以使用与映射缩减框架相关联的分布式文件系统的特定版本将数据存储在存储库中。当特征或其他组件被改变以创建映射缩减框架的新版本时,也可以创建分布式文件系统的匹配新版本。因此,当映射缩减框架的新版本启动时,框架可能与文件系统的较旧版本不再匹配,反之亦然。因此,计算系统600可以用于将来自较旧文件系统版本的数据呈送给LSPF集群中的较新映射缩减框架版本,或者将来自较新文件系统版本的数据呈送给LSPF集群中的较旧映射缩减框架版本。

图7图示出了用于向多个LSPF集群中的LSPF节点提供数据的概况700。概况700包括数据存储库710、LSPF集群740-741和数据服务760。数据存储库710使用第三DFS版本715存储数据716。LSPF集群740包括使用第一DFS版本731发起访问请求的LSPF节点721-722,并且LSPF集群741包括使用第二DFS版本732发起访问请求的LSPF节点721-722。

在操作中,启动LSPF集群740-741以处理存储在数据存储库710中的数据。当节点中的每个节点需要数据时,节点使用存在于节点中的每个节点上的本地DFS发起访问请求。响应于该请求,数据服务760根据用于数据存储的实际DFS版本访问适当的数据,并且使用用于该节点的本地DFS版本将数据呈送给LSPF节点。

例如,LSPF节点721包括用于访问处理所需的数据的第一DFS版本731。因此,虽然LSPF节点721可以配置有第一DFS版本,但是可以以DFS的明显不同的版本存储需要被访问的数据。如所图示出的,LSPF节点721使用文件系统的第一版本731来发起数据访问请求。响应于该请求,数据服务760根据文件系统的第三版本715本来访问数据,并且根据文件系统的第一版本731将数据返回给LSPF节点721。因此,虽然集群740-741使用文件系统的不同版本,但是数据服务760使用文件系统的第三版本提供对数据存储库710中的数据项的访问。

虽然在本示例中图示为使用第三DFS版本715来访问数据,但是应当理解的是,数据服务760可以使用各种其他文件系统版本来访问数据。因此,如果使用第四文件系统版本存储数据,则数据服务760可以能够从集群740-741接收数据请求,使用第四文件系统版本访问数据,并且将数据呈送给与用于作出请求的文件系统相关联的LSPF节点。例如,LSPF节点721可以使用文件系统的第一版本731来发起请求。响应于该请求,数据服务760将使用文件系统的第四版本来访问数据,并且根据文件系统的第一版本731将数据呈送给LSPF节点721。

在附图中提供的功能框图、操作序列和流程图表示用于执行本公开的新颖方面的示例性架构、环境和方法。虽然为了简化说明的目的,本文包括的方法可以为功能图、操作序列或流程图的形式,并且可以被描述为一系列动作,但是应当理解和明白,这些方法不受动作顺序的限制,因为一些动作可以根据其以不同的顺序发生和/或与本文所示出和所描述的其他动作同时发生。例如,本领域技术人员将理解和明白,方法可以替代地表示为诸如状态图中的一系列相关的状态或事件。此外,并非方法中所图示的所有动作都可以是对于新颖实现方式所必需的。

所包括的描述和附图描绘了具体实现方式以教示本领域技术人员如何实现和使用最佳选项。为了教导发明原理的目的,一些常规方面被简化或省略。本领域技术人员将根据落在本发明的范围内的这些实现方式明白变化。本领域技术人员还将明白,上述特征可以以多种方式组合以形成多个实现。因此,本发明不限于上述具体实现方式,而是仅由权利要求及其等同方式限定。

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