一种基于存储计算的文件调用方法与系统与流程

文档序号:12915962阅读:155来源:国知局
一种基于存储计算的文件调用方法与系统与流程

本发明涉及大数据计算存储领域,具体涉及到一种基于存储计算的文件调用方法与系统。



背景技术:

近年来,随着计算机信息技术的高速发展,数据的规模呈爆炸式的增长,同时数据的复杂度也越来越复杂,数据的维度也越来越多。大数据在行业得到了越来越多的关注。在大数据的处理分析上,对大规模数据的数据分析,必须依赖于云计算分布式计算技术,分布式数据库和文件系统。

云计算是一种基于互联网的计算方式。其包括虚拟化、大数据分布式计算、高性能并行计算、大规模数据与网络存储等技术。其主要原理是将一个大的任务划分为若干小任务,然后将这些小任务分配给多台机器进行并行执行,多台机器通过网络通信的方式协作处理,最后将所有的计算结果进行汇总。

在云计算下计算效率往往受到存储的限制,虽然内存计算技术在这几年得到了很好的发展,但是内存和磁盘的读写速度仍然存在巨大的差距,内存的读写速度能够达到10gb的速度,而磁盘的速度只有100mb的速度。存储分配是困扰已久的技术问题。



技术实现要素:

针对以上现有问题,本发明的目的在于提供高效利用各类存储介质类型的文件调用方法,以使得各级存储单元能够被合理分配利用,从而加快上层计算架构的效率。

根据本发明的第一个方面,提供一种基于存储计算的文件调用系统,包括:多个节点存储装置,每个节点存储装置包括多级存储单元以及节点管理模块,多级存储单元包括高速存储单元以及低速存储单元,节点管理模块用于管理对应的多级存储单元;文件调用装置,文件调用装置与多个节点管理模块通信连接;在发生文件读取时,节点管理模块将文件读取信息发送至文件调用装置;文件调用装置定时按访问频率将文件进行排序,通过节点管理模块将访问频率高的文件移动至高速存储单元,将原先访问频率高但当前访问频率低的文件置换到低速存储单元。

优选地,文件调用装置接收多个节点管理模块发送的文件读取信息,将同一文件的文件读取信息累加记录在同一文件记录中,以记录文件访问频率。

优选地,文件调用装置根据所有节点存储装置的文件读取信息按访问频率将所有文件进行排序,文件调用装置通过节点存储装置管理器将同一节点存储装置中访问频率高的文件移动至同一节点存储装置的高速存储单元,将同一节点存储装置中原先访问频率高但当前访问频率低的文件置换到同一节点存储装置的低速存储单元。

优选地,节点管理模块统计同一节点存储装置中的多级存储单元的存储信息,定期将存储信息发送至文件调用装置。

优选地,多级存储单元的存储容量达到警告阈值时,多级存储单元对应的节点管理模块向文件调用装置发送警告信息,文件调用装置优先对多级存储单元进行文件置换。

优选地,文件调用装置根据多个多级存储单元的存储信息,按负载均衡算法分配多个多级存储单元,文件调用装置按访问频率将文件进行排序,通过多个节点管理模块将访问频率高的文件移动至高速存储单元,将原先访问频率高但当前访问频率低的文件置换到低速存储单元。

优选地,文件调用装置根据用户设定的间隔时间,周期地按访问频率将文件进行排序。

优选地,文件调用装置接收用户对特定文件设置的存储级别信息,文件调用装置按存储级别信息通过节点管理模块存储特定文件,特定文件存储位置不被移动或是置换。

优选地,文件调用装置查找特定文件的存储节点存储装置,并按存储级别信息向存储节点存储装置的节点管理模块发送标记请求;节点管理模块接收标记请求,核对特定文件是否存储在与标记请求相符的高速存储单元或低速存储单元中,若相符则标记特定文件,若不符则移动特定文件至相符的高速存储单元或低速存储单元后标记特定文件;节点管理模块返回标记信息。

根据本发明的第二个方面,提供一种基于存储计算的文件调用方法,多个文件存储于多个节点存储装置,每个节点存储装置包括多级存储单元中以及一节点管理模块,多级存储单元包括高速存储单元或是低速存储单元,多个节点管理模块与文件调用装置通信连接,基于存储计算的文件调用方法包括步骤:节点管理模块在发生文件读取时,将文件读取信息发送至文件调用装置;文件调用装置按访问频率将所有文件进行排序;文件调用装置向节点管理模块发送文件置换命令,以将访问频率高的文件移动至高速存储单元,将原先访问频率高但当前访问频率低的文件置换到低速存储单元;节点管理模块接收文件置换命令并执行。

本发明将多个节点存储装置的分布式存储资源形成一个大的资源池,根据文件的访问频率来存储文件,充分的利用集群的资源,分级管理不同速度和容量的存储介质。文件存储在系统中,会随着访问频率下降被置换到低速存储单元,会随着访问频率上升置换到高速存储单元中,从而对于分布式计算框架能够最快的加载并计算,而这一对文件的置换过程对于用户来说是透明的,从而便于用户制定优化策略。

附图说明

以下结合附图和具体实施例对本发明的技术方案进行详细的说明,以使本发明的特性和优点更为明显。

图1为本发明实施例1的基于存储计算的文件调用系统的模块示意图;

图2为本发明实施例1的基于存储计算的文件调用方法的流程示意图;

图3为本发明实施例1的步骤s102的详细流程示意图;

图4为本发明实施例1的步骤s106的详细流程示意图;

图5为本发明实施例1的基于存储计算的文件调用系统的数据流向示意图。

具体实施方式

以下将对本发明的实施例给出详细的说明。尽管本发明将结合一些具体实施方式进行阐述和说明,但需要注意的是本发明并不仅仅只局限于这些实施方式。相反,对本发明进行的修改或者等同替换,均应涵盖在本发明的权利要求范围当中。

一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例1

图1为本发明实施例1的基于存储计算的文件调用系统的模块示意图。如图1所示,本发明实施例的基于存储计算的文件调用系统40包括文件调用装置10以及多个节点存储装置20。文件调用装置10与节点存储装置20均为单独的硬件设备。文件调用装置10可以是一种用于文件优化调用管理的服务器。节点存储装置20可以是一种用于存储读取文件的服务器。文件调用装置10与节点存储装置20通过通信网络连接。

每个节点存储装置20均包括多级存储单元21以及一节点管理模块22,节点管理模块22用于管理对应的多级存储单元21。多级存储单元21用于存储文件,包括高速存储单元211以及低速存储单元212不同存储级别的存储介质。高速存储单元211为高级别存储介质,即存储读取速度相对较快的存储介质,例如内存。低速存储单元212为低级别存储介质,即存储读取速度相对于高速存储单元211慢的存储介质,例如固态硬盘ssd或磁盘。需要注意的是,高速存储单元211或是低速存储单元212内部仍可以包括多级存储读取速度的存储介质,对于内部的多级存储介质同样可以使用本发明下文介绍的文件调用方法进行分配。

文件调用装置10与外部的多个客户端30通信连接,文件调用装置10与每一个节点管理模块22通信连接。每个节点管理模块22管理对应的多级存储单元21,文件调用装置10管理整个文件调用系统40,以对整个集群进行资源分配调度。因此本发明所提供的文件调用系统40将多个节点存储装置20的分布式存储资源形成一个大的资源池,充分的利用集群的资源,分级管理不同速度和容量的存储介质。

图2为本发明实施例1的基于存储计算的文件调用方法的流程示意图,如图2所示,本发明的基于存储计算的文件调用方法包括步骤:

s101:文件调用装置接收特定文件的存储级别信息。

s102:文件调用装置通过节点管理模块按存储级别信息存储特定文件。

s103:节点管理模块统计存储信息。

s104:节点管理模块定期将存储信息发送至文件调用装置。

s105:在发生文件读取时,节点管理模块将文件读取信息发送至文件调用装置。

s106:文件调用装置通过文件调用装置定期置换文件。

图5为本发明实施例1的基于存储计算的文件调用系统的数据流向示意图。下面结合图1、图2以及图5具体说明本发明基于存储计算的文件调用方法与系统。

步骤s101以及步骤s102为用户对特定文件设定存储级别的过程,以使得特定文件不会被文件调用系统40在后续步骤中调度。具体而言,首先如步骤s101,用户通过客户端30发送特定文件的存储级别信息,以固定特定文件的存储级别,即特定文件存放在多级存储单元21中的位置。文件调用装置10接收客户端30发送的存储级别信息。

接着执行步骤s102,文件调用装置10通过节点管理模块22按存储级别信息存储特定文件。图3为本发明实施例1的步骤s102的详细流程示意图,下面结合图1,图3以及图5对步骤s102进行说明。首先如步骤s1021,文件调用装置10查找特定文件的存储节点存储装置20。如步骤s1022,文件调用装置10向特定文件的存储节点存储装置20的节点管理模块22发送标记请求。标记请求中包括特定文件的存储级别。如步骤s1023,节点管理模块22核对特定文件存储位置并标记,即节点管理模块22核对特定文件是否存储在与标记请求相符的高速存储单元211或低速存储单元212中,若相符则标记特定文件,若不符则移动特定文件至相符的高速存储单元211或低速存储单元212后标记上述特定文件。如步骤s1024,节点管理模块22向文件调用装置10返回步骤s1023执行是否成功,即标记是否成功的标记信息。如步骤s1025,文件调用装置10向客户端30返回对特定文件设定存储级别是否设置成功的信息。步骤s101以及步骤s102中被设置存储级别的特定文件也可以通过用户操作而取消,取消后的特定文件将被后续步骤执行而发生移动或是置换。

在其他实施例中,可以不具有步骤s101以及步骤s102。然而,通过步骤s101以及步骤s102,用户可以对特定文件固定存储位置,即特定文件固定存储在设定级别的存储介质中,不受后续步骤中文件移动或是置换的影响,从而便于用户制定以及优化文件处理流程。

继续参考图2,步骤s103与步骤s104是节点管理模块22定期向文件调用装置10发送存储信息的过程,从而使得文件调用装置10获得各个节点存储装置20的存储信息,以将多个节点存储装置20的分布式存储资源形成一个大的资源池,充分的利用集群的资源,分级管理不同速度和容量的存储介质。具体而言,如步骤s103,每个节点管理模块22统计同一节点存储装置20中的多级存储单元21的存储信息。存储信息包括多级存储单元21中不同级别存储介质的已使用容量以及剩余容量。

如步骤s104,多个节点管理模块22定期将存储信息发送至文件调用装置10,以使得文件调用装置10掌握各个节点存储装置20是否正常运行,以及便于计算是否将任务发布至节点存储装置20。文件调用装置10超过预设时间没有收到节点管理模块22发送的存储信息,则判断该节点存储装置20发生故障。

当节点存储装置20的多级存储单元21的存储容量达到预设的警告阈值时,该多级存储单元21对应的节点管理模块22向文件调用装置10发送警告信息,文件调用装置10优先对该多级存储单元21执行后续进行文件置换的步骤,从而保证当前节点存储装置20能够持续高效正常地运行。

继续参考图2,步骤s105以及步骤s106为文件置换的步骤。如步骤s105,每当文件发生读取时,文件所在节点存储装置20的节点管理模块22将文件读取信息发送至文件调用装置10。文件调用装置10接收多个节点管理模块22发送的文件读取信息,将同一文件的文件读取信息累加记录在同一文件记录中,以记录所述文件访问频率。如文件在之前没有被读取过,则新建该文件的文件记录。

如步骤s106,文件调用装置10定期通过节点管理模块22定期置换文件。图4为本发明实施例1的步骤s106的详细流程示意图。结合图1,图4以及图5所示,如步骤s1061,文件调用装置10定期按访问频率将文件进行排序,将访问频率高的文件设定为高热度文件,访问频率低的文件设定为低热度文件。

如步骤s1062以及步骤s1063,文件调用装置10向节点管理模块22发送文件置换命令,节点管理模块22执行文件置换命令。在本实施例中,文件置换发生在同一个节点存储装置20中。具体而言,由于采用分布式文件存储处理的方式,同一文件被存储在多个节点存储装置20中。文件调用装置10在步骤s1061中接收所有节点存储装置20的文件读取信息,并按访问频率将所有文件进行排序。在步骤s1062以及步骤s1063中,文件调用装置10通过节点管理模块22将同一节点存储装置20中访问频率高的高热度文件移动至同一节点存储装置20的高速存储单元211,将同一节点存储装置20中原先访问频率高但当前访问频率低的文件置换到同一节点存储装置20的低速存储单元212中,但需要注意的是,在步骤s101以及步骤s102中被设置存储级别信息的特定文件的存储位置固定,不被移动或是置换。

因此,在本实施例中,每个节点存储装置20各自通过节点管理模块22管理自己的多级存储单元21。文件调用装置10在整个集群范围统筹确定高热度文件以及低热度文件,以节点存储装置20为单元,调整同一节点存储装置20中的存储分配,将同一节点存储装置20中的高热度文件存储在高速存储单元211,将低热度文件置换至低速存储单元212。由于文件置换发生在同一个节点存储装置20中,因此置换算法简单,且数据交换对系统影响较小。

由于实时执行会影响正在运行文件的读写,同时频繁的跨存储级别的数据交换会影响系统的性能,因此在本发明中,步骤s106的文件置换是被定期执行的,而非实时执行。优选地,文件调用装置10根据用户设定的间隔时间,周期地按访问频率将文件进行排序,从而通过用户指定文件置换周期,进一步便于用户优化系统配置。

由于本发明的文件调用系统40构建在大数据平台之上,企业级的应用会不断的对文件调用系统40发送计算的任务请求,但是大部分的操作是基于少数的文件,同时操作都具有规律性的。所以文件调用系统40需要对文件的访问情况和时间段进行存储,然后周期性的进行计算,从而将访问频率高的高热度文件数据提前构建在速度快的存储介质中。而一些特殊的特定文件数据可以让用户来决定其存储级别,这些设定了存储级别的特定文件不会被文件调用系统40进行调度。本发明所提供的基于存储计算的文件调用方法及系统,能够在原有大数据平台上,充分利用集群的存储资源,同时考虑到文件的热度,并将热度高的文件存储在速度快的高速存储单元,从而当计算框架进行计算的时候,能够最快的速度找到数据,并计算数据,从而加快整个集群的计算效率,减少中央处理器的用于进程等待磁盘读写而使中央处理器处于空闲状态的比率时间,提高中央处理器的利用率。

同时,本发明的基于存储计算的文件调用方法的整个过程对用户是透明的,从而便于用户制定优化策略。

实施例2

实施例2在实施1的基础上进一步优化资源调用,主要区别在于s106定期置换文件的步骤,在实施例2中,文件置换可以跨节点存储装置20执行。

具体而言,文件调用装置10根据多个节点存储装置20的多级存储单元21的存储信息,按负载均衡算法分配多个多级存储单元21,文件调用装置10按访问频率将文件进行排序,通过多个节点管理模块22将访问频率高的文件移动至高速存储单元211,将原先访问频率高但当前访问频率低的文件置换到低速存储单元212。文件调用装置10对于多个多级存储单元21的分配基于步骤s103中获取的多级存储单元21的存储信息,并且对于存储容量达到警告阈值的多级存储单元21优先执行跨节点存储装置20的文件置换。负载均衡算法基于多个因子,因子包括多级存储单元21的存储容量,网络传输速率,具体的负载均衡算法例如可以是基于多个因子的加权轮询法。

优选地,本实施例中的文件置换包括标签映射。具体而言,将文件的保存位置以二维数组的标签表示并存储在相应的节点管理模块22以及文件调用装置10中,其中一维表示在高速存储单元211存储时的节点存储装置20的节点id,另一维表示在低速存储单元212存储时的节点存储装置20的节点id。当文件发生跨节点存储装置20置换时,原节点存储装置20的节点管理模块22根据文件调用装置10发送的文件的目标移动位置更新标签,并将更新标签发送至目标节点存储装置20。目标节点存储装置20接收更新标签,并根据文件调用装置10发送的文件的原存储位置核对更新标签。当核对匹配时,文件从原节点存储装置20传输至目标节点存储装置20相对应级别的多级存储单元21。文件调用装置10将原节点存储装置20的节点id映射为目标节点存储装置20的节点id。通过上述的文件置换过程,保证了传输的准确性以及安全性,保障文件调用装置10能在集群范围内有效调度资源。

同样地,在步骤s101以及步骤s102中被设置存储级别信息的特定文件的存储位置固定,不被移动或是置换。由于文件置换可以跨节点存储装置20执行,对于文件调用系统40的存储资源的配置更为高效灵活。

需要说明的是,本发明是基于大数据分布式计算技术一种应用。在本发明的实现过程中,会涉及到分布式存储计算的方法的应用。如在仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,在结合现有公知技术的情况下,本领域技术人员完全可以运用其掌握的软件编程技能以及对分布式存储计算的知识实现本发明。前述负载均衡算法以及分布式集群的结构,均可参考现有技术中的结构,凡本发明申请文件提及的均属此范畴,申请人不再一一列举。

以上仅是本发明的具体应用范例,对本发明的保护范围不构成任何限制。除上述实施例外,本发明还可以有其它实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明所要求保护的范围之内。

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