CN117215493A - 文件共享系统 - Google Patents

文件共享系统 Download PDF

Info

Publication number
CN117215493A
CN117215493A CN202311264805.2A CN202311264805A CN117215493A CN 117215493 A CN117215493 A CN 117215493A CN 202311264805 A CN202311264805 A CN 202311264805A CN 117215493 A CN117215493 A CN 117215493A
Authority
CN
China
Prior art keywords
file
storage server
storage
server
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311264805.2A
Other languages
English (en)
Inventor
耿志成
李松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311264805.2A priority Critical patent/CN117215493A/zh
Publication of CN117215493A publication Critical patent/CN117215493A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种文件共享系统,包括管理模块,多个存储服务器以及与存储服务器对应的监控模块;存储服务器之间相互连接,用于存储文件;监控模块,与存储服务器连接,用于获取存储服务器的运行状态信息和文件存储信息;管理模块,与监控模块和存储服务器连接,用于基于各个存储服务器的运行状态信息和文件存储信息,确定各个存储服务器的负载程度以及各个存储服务器中各个文件的访问热度;基于各个存储服务器的负载程度和/或各个存储服务器中各个文件的访问热度,在各个存储服务器之间进行文件调度。本申请公开的系统,实现了各个存储服务器之间的文件共享,提高了服务器集群的文件管理效率和服务性能。

Description

文件共享系统
技术领域
本申请涉及服务器技术领域,具体而言,涉及一种文件共享系统。
背景技术
随着云计算、高性能计算以及人工智能技术的高速发展,使得服务器的需求越来越大。服务器,作为基础硬件平台,对于不同的产品和不同的业务,提供着不同的资源,包括计算资源、网络资源、存储资源等。
越是体量大的产品或者业务,其需要的服务器的数量就越大。这些平台每天产生的庞大数据量都是以PB(Petabytes,拍字节)来计算,这对于服务器的存储资源的需求是巨大的。这些数据不是存储在一台两台服务器中,而是存储在成千上万台服务器中,这些服务器的分布位置也完全不同。
因此,如何有效地管理这些服务器上的数据,在各个服务器之间实现文件共享成为业界亟待解决的技术问题。
发明内容
本申请提供一种文件共享系统,用于解决有效地管理这些服务器上的数据,在各个服务器之间实现文件共享的技术问题。
本申请提供一种文件共享系统,包括管理模块,多个存储服务器以及与所述存储服务器对应的监控模块;
所述存储服务器之间相互连接,用于存储文件;
所述监控模块,与所述存储服务器连接,用于获取所述存储服务器的运行状态信息和文件存储信息;
所述管理模块,与所述监控模块连接,用于基于各个存储服务器的运行状态信息和文件存储信息,确定各个存储服务器的负载程度以及各个存储服务器中各个文件的访问热度;基于各个存储服务器的负载程度和/或各个存储服务器中各个文件的访问热度,在各个存储服务器之间进行文件调度。
在一些实施例中,所述管理模块还用于:
获取各个存储服务器对应的监控模块发送的各个存储服务器的文件存储信息;
基于所述文件存储信息,确定所述文件共享系统对应的文件存储表单;
将所述文件存储表单发送至各个存储服务器对应的监控模块;
其中,所述监控模块基于所述文件存储表单,以及对应的存储服务器的文件存储信息,确定存储在所述对应的存储服务器中的本地文件,以及存储在其他存储服务器中的远程文件。
在一些实施例中,所述管理模块还用于:
获取当前存储服务器对应的监控模块发送的所述当前存储服务器的文件存储信息;
基于所述当前存储服务器的文件存储信息,确定通过当前存储服务器访问的远程文件;
基于所述文件存储表单,确定存储所述远程文件的远程存储服务器;
基于所述远程文件在所述当前存储服务器的访问记录,确定所述远程文件在所述当前存储服务器中的第一访问热度;
基于所述远程文件在所述远程存储服务器的访问记录,确定所述远程文件在所述远程存储服务器中的第二访问热度;
在所述第一访问热度大于所述第二访问热度的情况下,控制所述远程存储服务器将所述远程文件迁移至所述当前存储服务器;
在所述远程文件迁移至所述当前存储服务器之后,对所述文件存储表单进行更新;
将更新后的文件存储表单发送至各个存储服务器对应的监控模块。
在一些实施例中,所述管理模块还用于:
获取各个存储服务器对应的监控模块发送的各个存储服务器的运行状态信息;
基于所述运行状态信息中的硬盘占用率、硬盘读取速率和硬盘写入速率,确定各个存储服务器的硬盘负载;
基于所述运行状态信息中的网络吞吐量、网络带宽和网络延时,确定各个存储服务器的网络负载;
基于所述硬盘负载,所述网络负载,所述运行状态信息中的处理器负载和内存负载,确定各个存储服务器的负载程度。
在一些实施例中,所述管理模块还用于:
确定第一存储服务器和第二存储服务器;所述第一存储服务器的负载程度大于所述第二存储服务器的负载程度;
基于所述第一存储服务器的文件存储信息,确定所述第一存储服务器中各个本地文件的远程访问次数;
在任一本地文件的远程访问次数大于预设访问次数的情况下,将所述任一本地文件从所述第一存储服务器迁移至所述第二存储服务器。
在一些实施例中,所述监控模块还用于:
对接收的文件下载请求进行解析,确定待下载文件;
在所述待下载文件为本地文件的情况下,发送所述待下载文件;
在所述待下载文件为远程文件的情况下,将所述待下载文件的索引与所述文件下载请求发送至所述管理模块;
其中,所述管理模块用于基于所述待下载文件的索引和所述文件存储表单确定所述待下载文件对应的存储服务器,并将所述文件下载请求发送至所述待下载文件对应的存储服务器。
在一些实施例中,所述监控模块还用于:
对接收的文件上传请求进行解析,确定待上传文件;
获取当前存储服务器的文件存储容量;
在所述当前存储服务器的文件存储容量大于第一预设容量阈值的情况下,向所述管理模块发送文件调度请求;
接收所述管理模块发送的待调度文件表单;
基于所述待调度文件表单,控制所述当前存储服务器将待调度文件迁移至所述文件共享系统中的其他存储服务器,并对所述待上传文件进行存储。
在一些实施例中,所述管理模块还用于:
确定所述当前存储服务器对应的目标存储服务器;
获取所述当前存储服务器对应的监控模块发送的所述当前存储服务器的文件存储信息;
基于所述当前存储服务器的文件存储信息,确定所述当前存储服务器中各个本地文件的访问热度;
在所述当前存储服务器的文件存储容量大于第二预设容量阈值的情况下,按照访问热度从低到高的顺序,控制所述当前存储服务器依次将访问热度最低的本地文件作为待调度文件迁移至所述目标存储服务器。
在一些实施例中,所述管理模块还用于:
获取与所述当前存储服务器连接的多个候选存储服务器的网络通信数据和文件存储容量;
基于所述网络通信数据,确定各个候选存储服务器的通信质量数据;
基于所述文件存储容量,确定各个候选存储服务器的剩余空间容量;
基于所述通信质量数据和所述剩余空间容量,从所述多个候选存储服务器中确定所述当前存储服务器对应的目标存储服务器。
在一些实施例中,所述管理模块还用于:
基于所述当前存储服务器的文件存储信息,确定所述当前存储服务器中各个本地文件的访问次数和文件容量;
基于各个本地文件的访问次数和文件容量,确定各个本地文件的访问热度。
本申请提供的文件共享系统,包括管理模块,多个存储服务器以及与存储服务器对应的监控模块;存储服务器之间相互连接,用于存储文件;监控模块用于获取存储服务器的运行状态信息和文件存储信息;管理模块用于基于各个存储服务器的运行状态信息和文件存储信息,确定各个存储服务器的负载程度以及各个存储服务器中各个文件的访问热度,在各个存储服务器之间进行文件调度;实现了对存储服务器所构成的服务器集群进行有效地管理和控制,能够根据服务器的负载程度和文件的访问热度在各个存储服务器之间灵活地调度文件,实现了各个存储服务器之间的文件共享,实现了服务器文件存储的可扩展性,提高了服务器集群的文件管理效率和服务性能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的文件共享系统的结构示意图之一;
图2是本申请提供的文件共享系统的结构示意图之二;
图3是本申请提供的文件共享系统下载文件的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是本申请提供的文件共享系统的结构示意图之一,如图1所示,该系统100包括管理模块110,多个存储服务器120以及与存储服务器120对应的监控模块130。
存储服务器之间相互连接,用于存储文件。
监控模块,与存储服务器连接,用于获取存储服务器的运行状态信息和文件存储信息。
管理模块,与监控模块连接,用于基于各个存储服务器的运行状态信息和文件存储信息,确定各个存储服务器的负载程度以及各个存储服务器中各个文件的访问热度;基于各个存储服务器的负载程度和/或各个存储服务器中各个文件的访问热度,在各个存储服务器之间进行文件调度。
具体地,本申请实施例中的文件共享系统可以为由多个服务器构建的集群。文件共享系统中主要包括管理模块、存储服务器和监控模块。
存储服务器,也是系统中的存储模块,是服务器集群中的各个服务器,本申请实施例对于存储服务器的数量不做具体限定。每台存储服务器均配置有一定的硬盘空间用来存储文件,同时有一定的计算资源来提供数据处理的能力。为了实现文件共享,各个存储服务器之间相互连接,实现网络互通并都有访问对方中存储的文件的权限,也就是各个存储服务器共享存储的文件。每台存储服务器都可以与外部的客户端连接,用于上传文件或者下载文件。
当用户通过客户端访问文件共享系统时,会访问与客户端通信最佳的存储服务器,既可以访问该存储服务器中的本地文件,也可以访问存储在其他存储服务器中的远程文件。
监控模块,与存储服务器连接,用于获取存储服务器的运行状态信息和文件存储信息。
存储服务器与监控模块之间存在对应关系,优选地,可以采用一一对应的关系。例如一台存储服务器与一个监控模块相对应。监控模块可以通过软件服务实现,例如运行在各个存储服务器中的监控程序;也可以为用于监控的装置,例如与各个存储服务器连接的移动终端、计算机等。
存储服务器与监控模块也可以存在多对一的关系,即多台存储服务器对应一个监控模块。例如可以在文件共享系统中设置专门的计算机或者服务器,与各个存储服务器连接,用于对各个存储服务器进行监控。
监控模块还用于根据管理模块的指令对应的存储服务器进行文件上传、下载和迁移等操作。
运行状态信息是指与存储服务器的实时运行状态相关的信息,包括处理器占用率、内存使用量、网络吞吐量、网络带宽、网络时延、服务器温度、风扇转速、硬盘占用率和数据读写速率等硬件性能参数。监控模块可以按照预设的时间间隔自动对存储服务器进行数据采集,采集上述硬件性能参数。
文件存储信息是指与存储服务器中存储的本地文件或者通过存储服务器进行访问的远程文件相关的信息,包括文件名、文件类型、文件大小、文件状态(是否被占用)、文件被访问总次数以及文件近期被访问次数等。监控模块可以按照预设的时间间隔自动对存储服务器中的各个文件的存储状态进行查询,以表单形式记录上述各类参数,得到文件存储信息。
管理模块与各个存储服务器对应的监控模块连接,用于接收监控模块发送的各个存储服务器的运行状态信息和文件存储信息。管理模块可以通过软件服务实现,例如运行在集群中任意一台存储服务器中的管理程序;也可以为独立设置的用于管理的装置,例如与存储服务器连接的移动终端、计算机等。因为管理模块对于服务器的存储资源要求不高,且由于需要进行大规模的数据传输以及数据分析,所部署的存储服务器需要有足够的计算资源和网络带宽。
负载程度是指存储服务器当前处理请求和运行任务的压力或工作量。可以对存储服务器的运行状态信息进行分析,可以得到存储服务器的负载程度。
访问热度是指文件在一段时间内被访问的频率或次数。可以对存储服务器的文件存储信息进行分析,可以得到存储服务器中各个文件的访问热度。
如果任一存储服务器的负载程度较高,则表明该存储服务器的资源压力较大,对于文件查询、上传或者下载等操作的响应时间较长,性能较差,可以将该存储服务器中的部分文件迁移至其他负载程度较低的存储服务器。
如果任一存储服务器中任一文件在其他存储服务器中的访问热度较高,则表明其他存储服务器连接的用户对于该文件的访问需求较大,可以将该文件从该存储服务器迁移至其他存储服务器。
通过上述方式,管理模块根据监控模块发送的存储服务器的运行状态信息和文件存储信息,在各个存储服务器之间进行文件调度。
图2是本申请提供的文件共享系统的结构示意图之二,如图2所示,存储服务器之间互通互联,可以进行文件传输;监控模块与存储服务器连接,用于监视和控制。管理模块与监控模块连接,用于数据传输,例如监控模块向管理模块发送运行状态信息和文件存储信息等信息,管理模块向监控模块发送与文件调度相关的信息。图中仅以3个存储服务器进行实例。
本申请实施例提供的文件共享系统,包括管理模块,多个存储服务器以及与存储服务器对应的监控模块;存储服务器之间相互连接,用于存储文件;监控模块用于获取存储服务器的运行状态信息和文件存储信息;管理模块用于基于各个存储服务器的运行状态信息和文件存储信息,确定各个存储服务器的负载程度以及各个存储服务器中各个文件的访问热度,在各个存储服务器之间进行文件调度;实现了对存储服务器所构成的服务器集群进行有效地管理和控制,能够根据服务器的负载程度和文件的访问热度在各个存储服务器之间灵活地调度文件,实现了各个存储服务器之间的文件共享,实现了服务器文件存储的可扩展性,提高了服务器集群的文件管理效率和服务性能。
在一些实施例中,管理模块还用于:
获取各个存储服务器对应的监控模块发送的各个存储服务器的文件存储信息;
基于文件存储信息,确定文件共享系统对应的文件存储表单;
将文件存储表单发送至各个存储服务器对应的监控模块;
其中,监控模块基于文件存储表单,以及对应的存储服务器的文件存储信息,确定存储在对应的存储服务器中的本地文件,以及存储在其他存储服务器中的远程文件。
具体地,管理模块可以获取各个存储服务器对应的监控模块发送的各个存储服务器的文件存储信息。
管理模块可以根据各个存储服务器的文件存储信息,对各个存储服务器中的存储文件进行整理,生成整个文件共享系统对应的文件存储表单。文件存储表单可以包括系统中已经存储文件的文件信息、索引以及所在存储服务器的地址等数据。管理模块将文件存储表单发送至各个存储服务器对应的监控模块。
监控模块在接收到文件存储表单后,会与对应的存储服务器的文件存储信息进行比对,将表单中的文件分为两类,即存储在对应的存储服务器中的本地文件,以及存储在其他存储服务器中的远程文件。
本申请实施例提供的文件共享系统,通过管理模块建立文件存储表单,监控模块根据文件存储表单区分本地文件和远程文件,实现了在存储服务器内部对文件进行分类管理,实现了服务器文件存储的可扩展性,提高了服务器集群的文件管理效率和服务性能。
管理模块会自动进行文件资源调度。当存储服务器的集群进行维护或者日常访问量较低的时段,管理模块会固定地对整个集群的所有存储服务器进行数据分析,判断是否要进行文件迁移,该行为存在两种机制,一是根据文件的访问热度,二是根据存储服务器的负载程度。
在一些实施例中,管理模块还用于:
获取当前存储服务器对应的监控模块发送的当前存储服务器的文件存储信息;
基于当前存储服务器的文件存储信息,确定通过当前存储服务器访问的远程文件;
基于文件存储表单,确定存储远程文件的远程存储服务器;
基于远程文件在当前存储服务器的访问记录,确定远程文件在当前存储服务器中的第一访问热度;
基于远程文件在远程存储服务器的访问记录,确定远程文件在远程存储服务器中的第二访问热度;
在第一访问热度大于第二访问热度的情况下,控制远程存储服务器将远程文件迁移至当前存储服务器;
在远程文件迁移至当前存储服务器之后,对文件存储表单进行更新;
将更新后的文件存储表单发送至各个存储服务器对应的监控模块。
具体地,以任一存储服务器为当前存储服务器,管理模块获取该存储服务器对应的监控模块发送的该存储服务器的文件存储信息。
通过对当前存储服务器的文件存储信息进行分析,可以确定通过当前存储服务器访问的远程文件,通过文件存储表单,可以确定存储这些远程文件的远程存储服务器。
可以通过访问记录,可以获取文件近期被访问的次数,以及文件被访问的总次数,来计算文件的访问热度。文件近期被访问的次数越多,文件的访问热度越高;文件被访问的总次数越多,文件的访问热度越高。访问热度可以通过如下公式进行计算:
式中,a为访问热度,tr为近期被访问的次数,ta为文件被访问的总次数,w1为第一权重,w2为第二权重,可以根据实际情况进行调整,例如w1=0.6,w2=0.4。
近期可以为距离管理模块进行文件调度的当前时刻最近的一段时间。近期的时间长度可以根据需要进行设置,例如最近一天、最近一周或者最近一月等。
通过上述方法,可以根据远程文件在当前存储服务器的访问记录,确定远程文件在当前存储服务器中的第一访问热度,根据远程文件在远程存储服务器的访问记录,确定远程文件在远程存储服务器中的第二访问热度。
如果第一访问热度大于第二访问热度,表明用户更多地是从当前存储服务器访问该远程文件,可以将该远程文件迁移至当前存储服务器,使得用户下次再访问时,不需要花费额外的文件查询时间和文件传输时间等。
在远程文件迁移至当前存储服务器之后,管理模块对文件存储表单进行更新,并将更新后的文件存储表单发送至各个存储服务器对应的监控模块,以使得各个监控模块进行文件存储信息的同步更新。
本申请实施例提供的文件共享系统,通过对远程文件在当前存储服务器的访问记录和在远程存储服务器的访问记录分别确定第一访问热度和第二访问热度,根据访问热度的高低对远程文件进行文件调度,实现了各个存储服务器之间的文件共享,实现了服务器文件存储的可扩展性,提高了服务器集群的文件管理效率和服务性能。
在一些实施例中,管理模块还用于:
获取各个存储服务器对应的监控模块发送的各个存储服务器的运行状态信息;
基于运行状态信息中的硬盘占用率、硬盘读取速率和硬盘写入速率,确定各个存储服务器的硬盘负载;
基于运行状态信息中的网络吞吐量、网络带宽和网络延时,确定各个存储服务器的网络负载;
基于硬盘负载,网络负载,运行状态信息中的处理器负载和内存负载,确定各个存储服务器的负载程度。
具体地,管理模块可以通过各个存储服务器对应的监控模块获取各个存储服务器的运行状态信息。
硬盘占用率越高,硬盘读取速率越高,硬盘写入速率越高,则表明硬盘负载越高,可以通过下列公式计算硬盘负载:
Ld=Ryp*(Vr/1000MB/s)*(Vw/1000MB/s)
式中,Ld为硬盘负载,Ryp为硬盘占用率,Vr为硬盘读取速率,Vw为硬盘写入速率,MB/s为兆比特每秒。
网络吞吐量越高,网络带宽越大,网络延时越小,则表明存储服务器所连接的网络状态越好,网络负载就越低,可以通过下列公式计算网络负载:
Ln=(Ntt/Ndk)*log10(Tys/100ms+10)
式中,Ln为网络负载,Ntt为网络吞吐量,Ndk为网络带宽,Tys为网络延时,ms为毫秒。
可以通过运行状态信息直接获取处理器负载Lc和内存负载Lm,考虑到对于文件传输来说,网络负载和硬盘负载的影响要远大于处理器和内存等,但当后两者无限接近于1(也就是满负载时),又会大幅影响服务器性能,则存储服务器的负载程度可以用下列公式表示:
L=Ld*Ln*(1-log100(1.01-Lc)-log100(1.01-Lm))
式中,L为存储服务器的负载程度。
本申请实施例提供的文件共享系统,通过运行状态信息计算存储服务器的负载程度,便于根据存储服务器的负载程度进行文件调度。
在一些实施例中,管理模块还用于:
确定第一存储服务器和第二存储服务器;第一存储服务器的负载程度大于第二存储服务器的负载程度;
基于第一存储服务器的文件存储信息,确定第一存储服务器中各个本地文件的远程访问次数;
在任一本地文件的远程访问次数大于预设访问次数的情况下,将任一本地文件从第一存储服务器迁移至第二存储服务器。
具体地,如果存储服务器的负载程度较高,则为了降低其在文件共享时的资源压力,同时防止由于服务器性能原因影响文件共享的效率,将该服务器上被远程访问次数较多的文件迁移至负载程度较低的服务器上。
管理模块可以根据各个存储服务器的负载程度,将存储服务器划分为第一存储服务器和第二存储服务器。其中,第一存储服务器的负载程度大于第二存储服务器的负载程度。
对于第一存储服务器,管理模块根据文件存储信息,可以确定各个本地文件的远程访问次数。如果任一本地文件的远程访问次数大于预设访问次数,则表明该文件的访问热度较高,给所在的第一存储服务器造成了资源压力,因此可以将该本地文件从第一存储服务器迁移至第二存储服务器。预设访问次数可以根据需要进行设置。
本申请实施例提供的文件共享系统,通过将负载程度较高的存储服务器中访问次数较多的文件迁移至负载程度较低的存储服务器中,平衡了各个存储服务器之间的负载差异,实现了服务器文件存储的可扩展性,提高了服务器集群的文件管理效率和服务性能。
在一些实施例中,监控模块还用于:
对接收的文件下载请求进行解析,确定待下载文件;
在待下载文件为本地文件的情况下,发送待下载文件;
在待下载文件为远程文件的情况下,将待下载文件的索引与文件下载请求发送至管理模块;
其中,管理模块用于基于待下载文件的索引和文件存储表单确定待下载文件对应的存储服务器,并将文件下载请求发送至待下载文件对应的存储服务器。
具体地,图3是本申请提供的文件共享系统下载文件的示意图,如图3所示,图中虚线表示本地文件下载,实线表示远程文件下载。
用户可以通过客户端对任一存储服务器进行访问。用户在客户端中输入查询信息生成文件下载请求发送至该存储服务器。该存储服务器的监控模块对文件下载请求进行解析,可以确定待下载文件。如果待下载文件为本地文件,则监控模块可以控制存储服务器直接向客户端发送待下载文件。如果该待下载文件已被删除,且尚未更新至文件存储表单中,则监控模块通知管理模块进行更新。
如果待下载文件为远程文件,则监控模块可以通知管理模块,将待下载文件的索引与文件下载请求发送至管理模块。索引记录了文件的位置、属性和其他相关信息,用于对待下载文件进行唯一标识。管理模块根据待下载文件的索引和文件存储表单确定待下载文件对应的存储服务器(相当于定位对应的存储服务器),并将文件下载请求发送至待下载文件对应的存储服务器(远程存储服务器),由待下载文件对应的存储服务器向客户端发送待下载文件。
与此同时,监控模块还拦截该文件下载请求,减少该请求在网络中传输,避免其他存储服务器进行重复处理,浪费文件共享系统中的网络资源和计算资源。
管理模块如果确定待下载文件已经被删除,则更新文件存储表单,并将更新后的文件存储表单重新分发至各个监控模块。
本申请实施例提供的文件共享系统,在远程文件下载时由管理模块根据待下载文件的索引和文件存储表单确定待下载文件对应的存储服务器,由对应的存储服务器执行文件下载,提高了服务器集群的文件管理效率和服务性能。
在一些实施例中,监控模块还用于:
对接收的文件上传请求进行解析,确定待上传文件;
获取当前存储服务器的文件存储容量;
在当前存储服务器的文件存储容量大于第一预设容量阈值的情况下,向管理模块发送文件调度请求;
接收管理模块发送的待调度文件表单;
基于待调度文件表单,控制当前存储服务器将待调度文件迁移至文件共享系统中的其他存储服务器,并对待上传文件进行存储。
具体地,当用户向某个存储服务器上传文件时,考虑到网络时延以及后续的下载需求的可能,会优先将文件存储在当前存储服务器上。但这样可能会出现当前存储服务器剩余空间不足,无法上传的情况。所以为了防止这种情况的发生,可以给所有存储服务器设置第一预设容量阈值,当文件存储量超出该阈值时,监控模块会采集到该信号。第一预设容量阈值可以根据需要进行设置,例如可以为存储服务器总存储容量的90%。
用户可以通过客户端对当前存储服务器进行访问。用户在客户端中输入查询信息生成文件上传请求发送至当前存储服务器。当前存储服务器的监控模块对文件上传请求进行解析,可以确定待上传文件。待上传文件为需要上传至该存储服务器的文件。
监控模块可以获取当前存储服务器的文件存储容量。如果当前存储服务器的文件存储容量大于第一预设容量阈值,则表明当前存储服务器的文件存储容量已经不足。此时,监控模块会暂时停止当前存储服务器的上传服务,将当前存储服务器置为调度状态,并主动向管理模块发送文件调度请求,通知管理模块进行文件调度。
管理模块可以根据当前存储服务器中的文件存储信息确定待调度文件,生成待调度文件表单,并发送至当前存储服务器置的监控模块。
监控模块根据接收的待调度文件表单,控制当前存储服务器将待调度文件迁移至文件共享系统中的其他存储服务器,并对待上传文件进行存储。
本申请实施例提供的文件共享系统,在存在新的文件上传时,在当前存储服务器的文件存储容量大于第一预设容量阈值的情况下,将待调度文件迁移至文件共享系统中的其他存储服务器,实现了服务器文件存储的可扩展性,提高了服务器集群的文件管理效率和服务性能。
在一些实施例中,管理模块还用于:
确定当前存储服务器对应的目标存储服务器;
获取当前存储服务器对应的监控模块发送的当前存储服务器的文件存储信息;
基于当前存储服务器的文件存储信息,确定当前存储服务器中各个本地文件的访问热度;
在当前存储服务器的文件存储容量大于第二预设容量阈值的情况下,按照访问热度从低到高的顺序,控制当前存储服务器依次将访问热度最低的本地文件作为待调度文件迁移至目标存储服务器。
具体地,管理模块在对当前存储服务器中的文件进行调度之前,可以先确定目标存储服务器。目标存储服务器为接收当前存储服务器中的文件的存储服务器。
管理模块监控模块发送的当前存储服务器的文件存储信息。根据当前存储服务器的文件存储信息,可以确定当前存储服务器中各个本地文件的访问热度,实现对所有本地文件的评估。
第二预设容量阈值可以根据需要进行设置,例如可以为存储服务器总存储容量的80%。第二预设容量阈值可以作为存储服务器的安全阈值。第二预设容量阈值应当小于第一预设容量阈值。
在当前存储服务器的文件存储容量大于第二预设容量阈值的情况下,表明当前存储服务器中所存储的文件较多,可以按照访问热度从低到高的顺序,控制当前存储服务器依次将访问热度最低的本地文件作为待调度文件迁移至目标存储服务器。
在每次文件调度过程中,选择当前未被调度的访问热度最低的本地文件作为当前次的待调度文件进行迁移,并实时获取当前存储服务器的文件存储容量,直到当前存储服务器的文件存储容量小于或者等于第二预设容量阈值才停止文件调度。
本申请实施例提供的文件共享系统,在当前存储服务器的文件存储容量大于安全阈值的条件下,依次将访问热度最低的本地文件作为待调度文件迁移至目标存储服务器,实现了服务器文件存储的可扩展性,提高了服务器集群的文件管理效率和服务性能。
在一些实施例中,管理模块还用于:
获取与当前存储服务器连接的多个候选存储服务器的网络通信数据和文件存储容量;
基于网络通信数据,确定各个候选存储服务器的通信质量数据;
基于文件存储容量,确定各个候选存储服务器的剩余空间容量;
基于通信质量数据和剩余空间容量,从多个候选存储服务器中确定当前存储服务器对应的目标存储服务器。
具体地,在选择当前存储服务器对应的目标存储服务器时,管理模块可以确定与当前存储服务器连接的多个候选存储服务器,并获取各个候选存储服务器的网络通信数据和文件存储容量。
通过对网络通信数据进行分析,可以确定各个候选存储服务器的通信质量数据;通过对文件存储容量进行分析,可以确定各个候选存储服务器的剩余空间容量。
通信质量数据越好,剩余空间容量越大,则候选存储服务器成为目标存储服务器的可能性也就越高。因此,可以通过通信质量数据和剩余空间容量,从多个候选存储服务器中确定当前存储服务器对应的目标存储服务器。
本申请实施例提供的文件共享系统,通过通信质量数据和剩余空间容量确定当前存储服务器对应的目标存储服务器,平衡了各个存储服务器之间的存储差异,实现了服务器文件存储的可扩展性,提高了服务器集群的文件管理效率和服务性能。
在一些实施例中,管理模块还用于:
基于当前存储服务器的文件存储信息,确定当前存储服务器中各个本地文件的访问次数和文件容量;
基于各个本地文件的访问次数和文件容量,确定各个本地文件的访问热度。
具体地,管理模块根据当前存储服务器的文件存储信息,确定当前存储服务器中各个本地文件的访问次数和文件容量。考虑到在对本地文件进行调度时,文件的存储容量越大,在网络中传输的时间越长,调度的成本也就越高,因此,尽量优先调度较小的文件。访问次数包括近期被访问次数和文件被访问的总次数。
因此,本地文件的访问热度可以用下列公式进行表示:
式中,a为访问热度,s为文件的存储容量,tr为近期被访问的次数,ta为文件被访问的总次数,w1为第一权重,w2为第二权重,可以根据实际情况进行调整,例如w1=0.6,w2=0.4。
本申请实施例提供的文件共享系统,在调度本地文件时,考虑了文件的存储容量,减少了调度的成本,提高了服务器集群的文件管理效率和服务性能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种文件共享系统,其特征在于,包括管理模块,多个存储服务器以及与所述存储服务器对应的监控模块;
所述存储服务器之间相互连接,用于存储文件;
所述监控模块,与所述存储服务器连接,用于获取所述存储服务器的运行状态信息和文件存储信息;
所述管理模块,与所述监控模块连接,用于基于各个存储服务器的运行状态信息和文件存储信息,确定各个存储服务器的负载程度以及各个存储服务器中各个文件的访问热度;基于各个存储服务器的负载程度和/或各个存储服务器中各个文件的访问热度,在各个存储服务器之间进行文件调度。
2.根据权利要求1所述的文件共享系统,其特征在于,所述管理模块还用于:
获取各个存储服务器对应的监控模块发送的各个存储服务器的文件存储信息;
基于所述文件存储信息,确定所述文件共享系统对应的文件存储表单;
将所述文件存储表单发送至各个存储服务器对应的监控模块;
其中,所述监控模块基于所述文件存储表单,以及对应的存储服务器的文件存储信息,确定存储在所述对应的存储服务器中的本地文件,以及存储在其他存储服务器中的远程文件。
3.根据权利要求2所述的文件共享系统,其特征在于,所述管理模块还用于:
获取当前存储服务器对应的监控模块发送的所述当前存储服务器的文件存储信息;
基于所述当前存储服务器的文件存储信息,确定通过当前存储服务器访问的远程文件;
基于所述文件存储表单,确定存储所述远程文件的远程存储服务器;
基于所述远程文件在所述当前存储服务器的访问记录,确定所述远程文件在所述当前存储服务器中的第一访问热度;
基于所述远程文件在所述远程存储服务器的访问记录,确定所述远程文件在所述远程存储服务器中的第二访问热度;
在所述第一访问热度大于所述第二访问热度的情况下,控制所述远程存储服务器将所述远程文件迁移至所述当前存储服务器;
在所述远程文件迁移至所述当前存储服务器之后,对所述文件存储表单进行更新;
将更新后的文件存储表单发送至各个存储服务器对应的监控模块。
4.根据权利要求2所述的文件共享系统,其特征在于,所述管理模块还用于:
获取各个存储服务器对应的监控模块发送的各个存储服务器的运行状态信息;
基于所述运行状态信息中的硬盘占用率、硬盘读取速率和硬盘写入速率,确定各个存储服务器的硬盘负载;
基于所述运行状态信息中的网络吞吐量、网络带宽和网络延时,确定各个存储服务器的网络负载;
基于所述硬盘负载,所述网络负载,所述运行状态信息中的处理器负载和内存负载,确定各个存储服务器的负载程度。
5.根据权利要求4所述的文件共享系统,其特征在于,所述管理模块还用于:
确定第一存储服务器和第二存储服务器;所述第一存储服务器的负载程度大于所述第二存储服务器的负载程度;
基于所述第一存储服务器的文件存储信息,确定所述第一存储服务器中各个本地文件的远程访问次数;
在任一本地文件的远程访问次数大于预设访问次数的情况下,将所述任一本地文件从所述第一存储服务器迁移至所述第二存储服务器。
6.根据权利要求2所述的文件共享系统,其特征在于,所述监控模块还用于:
对接收的文件下载请求进行解析,确定待下载文件;
在所述待下载文件为本地文件的情况下,发送所述待下载文件;
在所述待下载文件为远程文件的情况下,将所述待下载文件的索引与所述文件下载请求发送至所述管理模块;
其中,所述管理模块用于基于所述待下载文件的索引和所述文件存储表单确定所述待下载文件对应的存储服务器,并将所述文件下载请求发送至所述待下载文件对应的存储服务器。
7.根据权利要求2所述的文件共享系统,其特征在于,所述监控模块还用于:
对接收的文件上传请求进行解析,确定待上传文件;
获取当前存储服务器的文件存储容量;
在所述当前存储服务器的文件存储容量大于第一预设容量阈值的情况下,向所述管理模块发送文件调度请求;
接收所述管理模块发送的待调度文件表单;
基于所述待调度文件表单,控制所述当前存储服务器将待调度文件迁移至所述文件共享系统中的其他存储服务器,并对所述待上传文件进行存储。
8.根据权利要求7所述的文件共享系统,其特征在于,所述管理模块还用于:
确定所述当前存储服务器对应的目标存储服务器;
获取所述当前存储服务器对应的监控模块发送的所述当前存储服务器的文件存储信息;
基于所述当前存储服务器的文件存储信息,确定所述当前存储服务器中各个本地文件的访问热度;
在所述当前存储服务器的文件存储容量大于第二预设容量阈值的情况下,按照访问热度从低到高的顺序,控制所述当前存储服务器依次将访问热度最低的本地文件作为待调度文件迁移至所述目标存储服务器。
9.根据权利要求8所述的文件共享系统,其特征在于,所述管理模块还用于:
获取与所述当前存储服务器连接的多个候选存储服务器的网络通信数据和文件存储容量;
基于所述网络通信数据,确定各个候选存储服务器的通信质量数据;
基于所述文件存储容量,确定各个候选存储服务器的剩余空间容量;
基于所述通信质量数据和所述剩余空间容量,从所述多个候选存储服务器中确定所述当前存储服务器对应的目标存储服务器。
10.根据权利要求8所述的文件共享系统,其特征在于,所述管理模块还用于:
基于所述当前存储服务器的文件存储信息,确定所述当前存储服务器中各个本地文件的访问次数和文件容量;
基于各个本地文件的访问次数和文件容量,确定各个本地文件的访问热度。
CN202311264805.2A 2023-09-27 2023-09-27 文件共享系统 Pending CN117215493A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311264805.2A CN117215493A (zh) 2023-09-27 2023-09-27 文件共享系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311264805.2A CN117215493A (zh) 2023-09-27 2023-09-27 文件共享系统

Publications (1)

Publication Number Publication Date
CN117215493A true CN117215493A (zh) 2023-12-12

Family

ID=89040508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311264805.2A Pending CN117215493A (zh) 2023-09-27 2023-09-27 文件共享系统

Country Status (1)

Country Link
CN (1) CN117215493A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117614973A (zh) * 2024-01-24 2024-02-27 点击律(上海)网络科技有限公司 一种基于多云架构的文件存储方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117614973A (zh) * 2024-01-24 2024-02-27 点击律(上海)网络科技有限公司 一种基于多云架构的文件存储方法
CN117614973B (zh) * 2024-01-24 2024-03-26 点击律(上海)网络科技有限公司 一种基于多云架构的文件存储方法

Similar Documents

Publication Publication Date Title
US10459657B2 (en) Storage system with read cache-on-write buffer
US11237871B1 (en) Methods, systems, and devices for adaptive data resource assignment and placement in distributed data storage systems
US11797182B2 (en) Management of file system requests in a distributed storage system
US10579272B2 (en) Workload aware storage platform
US11249874B2 (en) Content-sensitive container scheduling on clusters
US8191068B2 (en) Resource management system, resource information providing method and program
US10078533B2 (en) Coordinated admission control for network-accessible block storage
JP4581095B2 (ja) データ記憶管理システム
US8943269B2 (en) Apparatus and method for meeting performance metrics for users in file systems
CN112565774B (zh) 视频转码资源调度方法及装置
US10810143B2 (en) Distributed storage system and method for managing storage access bandwidth for multiple clients
US10250673B1 (en) Storage workload management using redirected messages
KR102245341B1 (ko) 클라우드 엣지 내 워크로드 분산을 위한 예측 모델 적용 방법
CN117215493A (zh) 文件共享系统
KR100671635B1 (ko) 스트리밍 미디어 서비스 관리 방법
US11489911B2 (en) Transmitting data including pieces of data
CN109815204A (zh) 一种基于拥塞感知的元数据请求分发方法及设备
KR20220064391A (ko) 클라우드 저장소의 액세스 패턴 주도식 데이터 배치
CN114461369A (zh) 一种面向复杂应用场景的自适应数据调度系统及方法
Costa Filho et al. An adaptive replica placement approach for distributed key‐value stores
US11886933B2 (en) Dynamic load balancing by analyzing performance of volume to quality of service
Lee et al. Dtstorage: Dynamic tape-based storage for cost-effective and highly-available streaming service
Wen Improving Data Access Performance of Applications in IT Infrastructure
CN117591001A (zh) 在多客户端环境中平衡存储设备的吞吐量和公平性
CN116301567A (zh) 一种数据处理系统、方法及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination