CN109271363B - 一种文件存储的方法及设备 - Google Patents
一种文件存储的方法及设备 Download PDFInfo
- Publication number
- CN109271363B CN109271363B CN201811080536.3A CN201811080536A CN109271363B CN 109271363 B CN109271363 B CN 109271363B CN 201811080536 A CN201811080536 A CN 201811080536A CN 109271363 B CN109271363 B CN 109271363B
- Authority
- CN
- China
- Prior art keywords
- file
- osd
- uploaded
- candidate
- target
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明适用于信息处理技术领域,提供了一种文件存储的方法及设备,包括:若满足预设的文件上传条件,则从文件数据库内选取待上传文件,并采集当前时刻各个候选对象存储设备OSD的运行参数;根据运行参数,从候选OSD中确定目标OSD;基于待上传文件的文件标识以及目标OSD的设备标识,生成待上传文件的索引信息;将索引信息封装于待上传文件,并将封装后的待上传文件上传至目标OSD;当接收到关于待上传文件的读取请求时,根据索引信息从目标OSD获取待上传文件。本发明中,文件服务器只承担文件索引的功能,不再需要进行文件读写存取的操作,减少了文件服务器的运行压力,另一方面,当文件存储系统需要扩容时,只需增加OSD的数量,扩容方便,系统的容量增大。
Description
技术领域
本发明属于信息处理技术领域,尤其涉及一种文件存储的方法及设备。
背景技术
随着信息化进程的不断推进,文件数据的个数以及容量也随之增长,为了对本地存储空间进行扩容、并便于用户对同一文件进行操作,大部分共用的文件会存储于云端服务器。现有的云端服务器的组网方式,主要是基于网络附属(Network Attached Storage,NAS)组网方式进行搭建,通过文件服务器进行数据存储以及文件查找的操作。然而上述方式中,文件服务器不仅要接收各个用户上传的文件数据,并在服务器本地进行写入、读取、修改等操作,还需要响应文件查找、定位等操作,文件服务器的压力较大,并且该组网方式内系统的可存储量即为文件服务器的实际可存储量,容量较小且扩容难度大。由此可见,现有的文件存储技术,对于文件服务器的负载压力较大,且系统的容量较小且扩容难度大。
发明内容
有鉴于此,本发明实施例提供了一种文件存储的方法及设备,以解决现有的文件存储的方法,对于文件服务器的负载压力较大,且系统的容量较小且扩容难度大的问题。
本发明实施例的第一方面提供了一种文件存储的方法,包括:
若满足预设的文件上传条件,则从文件数据库内选取待上传文件,并采集当前时刻各个候选对象存储设备OSD的运行参数;
根据所述运行参数,从所述候选OSD中确定目标OSD;
基于所述待上传文件的文件标识以及所述目标OSD的设备标识,生成所述待上传文件的索引信息;
将所述索引信息封装于所述待上传文件,并将封装后的所述待上传文件上传至所述目标OSD;
当接收到关于所述待上传文件的读取请求时,根据所述索引信息从所述目标OSD获取所述待上传文件。
本发明实施例的第二方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的各个步骤。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的各个步骤。
实施本发明实施例提供的一种文件存储的方法及设备具有以下有益效果:
本发明实施例通过获取各个候选OSD的运行参数,从而确定出用于存储待上传文件的目标OSD,分担文件服务器的存储压力,并且为了实现不变更用户发起的读写请求的响应逻辑,即待上传文件转移了存储位置后仍可通过文件服务器执行文件读取操作,文件服务器会根据文件标识以及目标OSD的设备标识,生成关于目标文件的索引信息,并在接收到用户发起的文件读取请求时,可通过索引信息来响应,从而对于用户侧而言,本次组网改造是透明的,用户的操作也不受影响。与现有的文件存储技术相比,文件服务器只承担文件索引的功能,不再需要进行文件读写存取的操作,减少了文件服务器的运行压力,另一方面,当文件存储系统需要扩容时,只需增加OSD的数量即可,扩容方便,系统的容量增大。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种文件存储的方法的实现流程图;
图2是本发明第二实施例提供的一种文件存储的方法S102具体实现流程图;
图3是本发明第三实施例提供的一种文件存储的方法S101具体实现流程图;
图4是本发明第四实施例提供的一种文件存储的方法S103具体实现流程图;
图5是本发明第五实施例提供的一种文件存储的方法S104具体实现流程图;
图6是本发明一实施例提供的一种终端设备的结构框图;
图7是本发明另一实施例提供的一种终端设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过获取各个候选OSD的运行参数,从而确定出用于存储待上传文件的目标OSD,分担文件服务器的存储压力,并且为了实现不变更用户发起的读写请求的响应逻辑,即待上传文件转移了存储位置后仍可通过文件服务器执行文件读取操作,文件服务器会根据文件标识以及目标OSD的设备标识,生成关于目标文件的索引信息,并在接收到用户发起的文件读取请求时,可通过索引信息来响应,从而对于用户侧而言,本次组网改造是透明的,用户的操作也不受影响,解决了现有的文件存储的方法,对于文件服务器的负载压力较大,且系统的容量较小且扩容难度大的问题。
在本发明实施例中,流程的执行主体为终端设备。该终端设备包括但不限于:服务器、计算机、智能手机以及平板电脑等具有文件存储的功能的设备。优选地,该终端设备具体为NAS存储系统内的文件服务器,该文件服务器中存储了用户上传的各个文件,在本实施例中,在NAS存储系统的框架上,对文件存储系统进行改造,搭建以对象基准存储(Object-based Storage,OBS)系统。图1示出了本发明第一实施例提供的文件存储的方法的实现流程图,详述如下:
在S101中,若满足预设的文件上传条件,则从文件数据库内选取待上传文件,并采集当前时刻各个候选对象存储设备OSD的运行参数。
在本实施例中,用户可以通过本地安装的客户端或者基于终端设备的网络地址,向终端设备发送需要云存储的文件数据,终端设备在接收到用户上传的文件数据后,会存储于文件数据库内予以保存,用户终端可以通过向该终端设备发送文件操作请求,从终端设备再次下载所需操作的文件数据,或直接在终端设备的文件数据库中进行文件操作。需要说明的是,终端设备可以同时响应多个用户终端上传的文件数据,还可以同时响应多个用户终端的文件操作请求。
在本实施例中,当检测到当前时刻满足预设的文件上传条件时,则执行S101的相关操作,即将存储于本地的文件数据库内的待上传文件转移到文件存储系统内增设的对象存储设备(Object Storage Device,OSD)内。其中,该预设的文件上传条件可以为时间触发条件,即终端设备设置有多个上传时间节点,若检测到当前时刻到达预设的上传时间节点,则可执行S101的相关操作,各个相邻的上传时间节点之间的间隔可以固定,在该情况下,即为以固定的时间周期上传文件数据库内的已存储文件;各个相邻的上传时间节点之间的间隔也可以基于预设的排序规则进行设置,例如选取网络传输压力较少的空闲时间段作为上传触发时间。除了时间触发条件外,该上传触发条件也可以为事件触发条件,例如检测到当前时刻网络带宽占用率小于预设的带宽阈值,则执行S101的相关操作,从而能够在空闲时刻将终端设备上的已存储的文件进行转移。需要说明的是,文件上传条件的种类可以为一个,也可以为多个,从而方便数据进行转移。
优选地,在本实施例中,若终端设备接收到用户终端发送的文件存储请求时,终端设备会识别该文件存储请求对应的待存储文件的优先级;若该待存储文件的优先级大于预设的优先级阈值,则将待存储文件存储与终端设备的文件数据库内;若该待存储文件的优先级小于或等于预设的优先级阈值,则从候选OSD中选取一个目标OSD,将该文件存储请求转发给目标OSD,响应用户终端的存储操作。由于优先级较高的待存储文件,可能需要频繁使用,因此为了提高用户终端对于该待存储文件的读写效率,可以先将该文件存储与终端设备的文件数据库内,以提高读写响应速率;而对于优先级较低的待存储文件,使用频率较低,因此可以将该待存储文件上传到目标OSD中,后续操作可以参照S102~S105的操作,即为该待上传文件配置对应的索引信息,以便在用户终端发起该待存储文件的操作请求时,可以根据索引信息定位待存储文件的存储位置。
在本实施例中,终端设备所在的文件存储系统内,除了终端设备外,还包含至少两个OSD设备,上述OSD设备用于分担终端设备的存储压力,接收终端设备以及用户终端发送的文件数据。因此,终端设备为了确定待上传文件所存储的目标OSD设备,会获取各个候选OSD设备的运行参数。优选地,该候选OSD设备具体指处于正常状态的OSD设备,由于文件存储系统内部分OSD处于维护状态,无法响应数据转移操作,因此可以不获取该类型的OSD的运行参数,从而减少了无效数据,提高处理效率。
在S102中,根据所述运行参数,从所述候选OSD中确定目标OSD。
在本实施例中,终端设备在获取了各个候选OSD的运行参数后,可以基于运行参数从中确定运行效率最高的一个候选OSD作为目标OSD,即终端设备会将待上传文件上传至该目标OSD。可选地,终端设备可以基于运行参数的参数值大小次序,对各个候选OSD进行排序,并选取数值最大的一个候选OSD作为目标OSD。当然,终端设备还可以将运行参数导入预设的存储次序计算模型,计算各个目标OSD的文件存储次序,并选取存储次序最高的M个候选OSD作为目标OSD,M为正整数。
可选地,若待上传文件的个数为多个,即终端设备需要将多个待上传文件转移至OSD,则终端设备在S102中选取的目标OSD可以为多个,即每个目标OSD存储一个待上传文件。当然,终端设备也可以将多个待上传文件转移到相同的目标OSD内。具体转移情况可以根据各个目标OSD的可存储容量进行确定。在该情况下,终端设备选取目标OSD的方式不再为选取运行效率最高的一个候选OSD,而是选取运行效率最高的M个候选OSD作为目标OSD,其中M的数值可以由管理员预设配置,也可以根据待上传文件的个数进行确定,例如,将待上传文件的数目导入到预设的哈希函数中,确定该待上传文件的个数对应的目标OSD的个数,并从候选OSD中选取对应数量的目标OSD。
在本实施例中,运行参数包括但不限于以下一种或多种的组合:负载参量、可存储容量、带宽速率、运行速率、异常概率、路由节点数等,从而终端设备可以根据运行参量,确定各个候选OSD的运行情况。
在S103中,基于所述待上传文件的文件标识以及所述目标OSD的设备标识,生成所述待上传文件的索引信息。
在本实施例中,由于终端设备在对待上传文件进行转移后,还需响应后续用户终端发起的读取请求,因而需要确定该待上传文件的索引信息,以便通过索引信息确定待上传文件的存储位置。基于此,终端设备在确定了目标OSD后,需要查询该目标OSD的设备标识,该设备标识包括但不限于:网络地址、物理地址、设备编号等可用于唯一确定目标OSD的信息。可选地,终端设备可以存储有一OSD设备信息列表,该OSD设备信息列表中记录了有文件存储系统内所有OSD设备与其设备标识之间的对应关系,在确定了目标OSD后,可以基于该信息列表获取目标OSD的设备标识。当然,若文件存储系统中添加或删除了OSD设备,需要对应调整该OSD设备信息列表的内容,以确保该信息列表与当前的系统拓扑结构一致。
在本实施例中,终端设备在获取了待上传文件的文件标识以及目标OSD的设备标识后,可以通过预设的索引号转换算法,生成该待上传文件的索引信息。可选地,可以直接将上述两个信息首位合并,作为该待上传文件的索引信息,又或者通过交叉混淆的方法,将上述两种信息进行汇聚,从而将交叉混淆后的数据作为待上传文件的索引信息,在该情况下,终端设备在需要确定待上传文件的存储位置时,可以通过交叉混淆的逆向运算,获取到待上传文件所属的目标OSD的设备标识,从而定位待上传文件的存储位置。
在S104中,将所述索引信息封装于所述待上传文件,并将封装后的所述待上传文件上传至所述目标OSD。
在本实施例中,为了便于终端设备后续的查找以及读取操作,终端设备会将索引信息封装于待上传文件内,以便直接根据索引信息即可快速在目标OSD中定位待上传文件的存储位置,并执行读取操作,提高了文件读取的响应速率。另一方面,由于OBS系统所存储数据的类型为对象格式的数据,而文件数据库中所存储数据的类型为文件格式的数据,因此,终端设备需要对待上传文件的格式进行转换,而文件格式与对象格式之间的主要差别是:文件格式数据的存储路径是存储于设备的硬盘内,并不附着于文件的数据包内;而对象格式数据的存储路径,会通过索引字段Metadata的形式添加到对象的数据包体内,即对象的存储位置发生变更,整个数据包的内容也会随之改变。基于此,为了适应OBS系统存储的数据格式,终端设备需要将索引信息封装于待上传的文件内,目标OSD可以根据待上传文件的索引信息将其存储于对应的位置区域内。
在本实施例中,终端设备与目标OSD建立通信链路,并将索引信息中对应的存储区域进行锁定,以便在待上传文件发送的过程中,该存储区域不会被其他数据占用,在锁定完毕后,终端设备会将待上传文件发送给目标OSD,并在上传完毕后,将本地的文件数据库中待上传文件的数据进行删除,只保留该文件对应的索引信息。
在S105中,当接收到关于所述待上传文件的读取请求时,根据所述索引信息从所述目标OSD获取所述待上传文件。
在本实施例中,由于终端设备已将待上传文件转移至目标OSD内,因此在接收到关于该待上传文件的读取请求时,无法直接从文件数据库将待上传文件返回给发起请求的用户终端,而是需要根据该待上传文件的文件标识,确定包含该文件标识的索引信息,并基于该索引信息确定目标OSD,并从该目标OSD处取回待上传文件的文件数据,并返回给用户终端,完成读取请求的响应操作。
以上可以看出,本发明实施例提供的一种文件存储的方法通过获取各个候选OSD的运行参数,从而确定出用于存储待上传文件的目标OSD,分担文件服务器的存储压力,并且为了实现不变更用户发起的读写请求的响应逻辑,即待上传文件转移了存储位置后仍可通过文件服务器执行文件读取操作,文件服务器会根据文件标识以及目标OSD的设备标识,生成关于目标文件的索引信息,并在接收到用户发起的文件读取请求时,可通过索引信息来响应,从而对于用户侧而言,本次组网改造是透明的,用户的操作也不受影响。与现有的文件存储技术相比,文件服务器只承担文件索引的功能,不再需要进行文件读写存取的操作,减少了文件服务器的运行压力,另一方面,当文件存储系统需要扩容时,只需增加OSD的数量即可,扩容方便,系统的容量增大。
图2示出了本发明第二实施例提供的一种文件存储的方法S102的具体实现流程图。参见图2所示,相对于图1述实施例,本实施例提供的一种文件存储的方法中S102包括:S1021~S1024,具体详述如下:
进一步到,所述运行参数包括:负载参量、带宽速率以及处理速率;所述根据所述运行参数,从所述候选OSD中确定目标OSD,包括:
在S1021中,将所述负载参量导入到预设的第一因子计算模型,计算各个所述候选OSD的第一因子;所述第一因子计算模型具体为:
其中,FStLevel(i)为第i个候选OSD的第一因子;Requsti为第i个候选OSD的负载参量;n为所述候选OSD的个数。
在本实施例中,运行参数包含至少以下三类数据,分别为负载参量、带宽速率以及候选OSD处理请求的处理速率。其中,负载参量具体用于表示候选OSD当前已存储的数据量以及可存储的数据量,基于上述数据可以判定候选OSD是否具备足够的存储空间来存储待上传文件;带宽速率具体用于表示候选OSD与终端设备之间的通信链路的带宽速率,从而通过该带宽速率可以确定将待上传文件转移到候选OSD所需的时间。而数据转移的速率除了与带宽速率相关外,还会与候选OSD的处理速率有关,由于在接收到待上传文件后,需要将待上传文件写入本地的硬盘空间内,并基于索引信息进行寻址操作,而上述操作均与候选OSD的处理速率相关,因此,处理速率的高低也将决定数据转移的效率。终端设备通过上述三个运行参数,确定各个候选OSD的优先级,若该优先级的数值越大,则表示该候选OSD的对于文件转移的效率越高,因而可以通过优先级从候选OSD中选取目标OSD。
在本实施例中,终端设备会从运行参数中分离出负载参量,并将该负载参量导入到第一因子计算模型,从而计算得各个候选OSD用于计算优先级的第一因子。由于该负载参量越小,则表示该候选OSD的可存储能力越高,因此对应的第一因子的数值也越大,反之,若该负载参量越小,则表示该候选OSD的可存储能力越低,可能会出现可存储容量小于待上传文件的数据量,无法响应文件转移操作,因此对应的第一因子的数值也越小。由此可见,第一因子的数值大小,与候选OSD的文件转移效率呈正相关。
在S1052中,将所述带宽速率导入预设的第二因子计算模型,计算各个所述候选OSD的第二因子;所述第二因子计算模型具体为:
其中,SndLevel()为第i个候选OSD的第二因子;Bandwidthi为第i个所述候选OSD的带宽速率。
在本实施例中,终端设备会从运算参数中提取带宽速率,并将带宽速率导入到第二因子计算模型,从而确定各个候选OSD在传输速率维度上的第二因子。与第一因子类似,该第二因子的数值越大,则表示传输待上传文件的速度越快,从而能够高效完成待上传文件的转移操作;反之,若该第二因子的数值越小,则表示传输待上传文件所需的时间越长,从而转移操作的执行效率较低。终端设备还会对第二因子进行归一化处理,在各个候选OSD的带宽速率的基础上除以总的带宽资源,能够减少传输数量的量纲对于其他因子的影响,提高了优先级的准确率。
需要说明的是,S1051以及S1052可以同时进行,也可以通过预设的先后次序执行,在此不一一限定。
在S1053中,将所述第一因子、所述第二因子以及所述处理速率导入优先级计算模型,计算各个所述候选OSD的优先级;所述优先级计算模型具体为:
其中,Priority(i)为第i个所述候选OSD的优先级;Bandwidthstd为预设的基准带宽速率;Operation(i)为第i个所述候选OSD的运行速率。
在本实施例中,终端设备在计算了第一因子、第二因子后,会把上述两个因子以及候选OSD的处理速率一并导入到优先级计算模型内,从而能够计算得到各个候选OSD的优先级。需要说明的是,通过eFstLevel(i)函数对第一因子进行非线性化转换,能够对各个取值进行平滑处理,减少畸变点的出现,提高优先级的准确率。同样的,对于第二因子也通过ln(1+x)函数进行非线性转换,能够增大第二因子在各个因子之间的差异程度,从而提高带宽速率对于优先级的权重。
在本实施例中,终端设备在计算了各个候选OSD的优先级后,可以基于优先级的大小对各个候选OSD进行排序,从而生成一个候选OSD序列。
在S1054中,选取优先级最高的候选OSD作为目标OSD。
在本实施例中,终端设备会根据优先级的数值大小,选取优先级数值最大的一个,即优先级最高的候选OSD作为目标OSD,从而能够将运算效率最高的一个候选OSD,来作为存储待上传文件的OSD。
在本发明实施例中,通过对运行参数进行转换,得到第一因子以及第二因子,并基于多个参数计算各个候选OSD的优先级,从而能够提高目标OSD的选取准确性,确保了文件转移的效率以及文件存储系统的稳定性。
图3示出了本发明第二实施例提供的一种文件存储的方法S101的具体实现流程图。参见图3所示,相对于图1述实施例,本实施例提供的一种文件存储的方法中S101包括:S1011~S1013,具体详述如下:
在S1011中,获取所述文件数据库内所有候选文件的操作次数以及第一文件数据量。
在本实施例中,由于文件数据库中存储了大量的候选文件,终端设备需要逐次对待上传文件进行文件转移,直到文件数据库内的所有候选文件均转移完毕,终端设备则可以作为OBS系统中的元数据服务器,即承担系统内的文件搜索工作,而文件存储工作则交由OBS系统内的各个OSD服务器承担。基于此,终端设备需要从候选文件中确定出待上传文件,因此会获取各个候选文件的操作次数以及各个候选文件的第一文件数据量。
可选地,用户终端每向终端设备发起一次文件读取请求时,则会生成一条文件操作记录,该文件操作记录中记录有读取目标,即所需读取文件的文件标识,以及操作时间。终端设备可以根据文件操作记录中的文件标识对各个文件操作记录进行分类,并统计每个组中包含的文件操作记录的个数,从而确定各个候选文件的操作次数。
在S1012中,基于所述操作次数以及所述第一文件数据量确定各个候选文件的上传次序。
在本实施例中,由于操作次数越多,则表示该候选文件为常用文件,转换后可能会降低用户终端对该候选文件的操作响应速率,因此其对应的上传次序较后,反之若该操作次数越小,则表示该候选文件为非常用文件,因此其对应的上传次序较前。同样的,对于第一文件数据量,若该候选文件的第一文件数据量越大,则表示所占用的存储空间较大,为了减少终端设备的存储压力,需要优先转移;反之,若该第一文件数据量越小,则表示该候选文件所占用的存储空间较小,对终端设备的存储压力影响也较少,从而上传次序靠后。由此可见,上传次序与操作次数呈正相关,而与第一数据量呈负相关。
在本实施例中,终端设备可以将操作次数以及第一文件数据量导入到上传次序转换模型,计算各个候选文件的上传次序。其中,该上传次序转换模型可以为:
其中,UpdateNum(i)为第i个候选文件的上传次序,LoadingTimei为第i个候选文件的操作次数,Voli为第i个候选文件的第一文件数据量;Weighti以及Weight2为预设系数;Volmax为候选文件中最大的第一文件数据量。
在S1013中,根据所述上传次序对各个所述候选文件进行排序,并选取前N个所述候选文件作为所述待上传文件;所述N为大于0的正整数。
在本实施例中,终端设备会根据各个上传次序对各个候选文件进行排序,其中上传次序的数值越小,则其对应的排序位置越靠前;反之,若该上传次序的数值越大,则其对应的排序位置越靠后,终端设备会根据预设设置的上传文件个数N,从候选文件中选取前N个作为待上传文件,并执行后续的上传操作。当然,若只需上传一个文件,即该N的值可以设置为1。
在本发明实施例中,根据操作次数以及第一文件数据量确定各个候选文件的上传次序,从而能够将较为常用的文件存储在终端设备本地,而将较为不常用的文件上传至OSD内,提高了文件读取效率。
图4示出了本发明第三实施例提供的一种文件存储的方法S103的具体实现流程图。参见图4所示,相对于图1-图3所述实施例,本实施例提供的一种文件存储的方法中S103包括:S1031~S1033,具体详述如下:
在S1031中,获取所述待上传文件的第二文件数据量,并生成文件注册请求;所述文件注册请求携带有所述待上传文件的文件标识以及所述第二文件数据量。
在本实施例中,终端设备为了确保目标OSD具有足够的存储空间来存储待上传文件,会在上传操作之前向目标OSD发送一个文件注册请求。为了生存该文件注册请求,终端设备会统计待上传文件的第二文件数据量,并将该第二文件数据量以及文件标识封装与该文件注册请求内,以便目标OSD能够在本地存储空间内关联对应的存储区域,以存储该待上传文件。
在S1032中,将所述文件注册请求发送给所述目标OSD,以使所述目标OSD确定用于存储所述待上传文件的存储地址。
在本实施例中,终端设备在生成了文件注册请求后,会将该请求发送给目标OSD,该目标OSD在接收到注册请求后,会提取该请求中包含的第二文件数据量,并从本地存储空间内,划分对应数据量的存储空间,并将该存储空间与该待上传文件的文件标识进行关联,从而在接收到该待上传文件后,可以根据文件标识,将待上传文件的文件数据存储在该划分得到的存储空间内。另一方面,目标OSD还会将划分得到的存储空间的存储地址返回给终端设备,以便终端设备可以根据该存储地址生成待上传文件的索引信息。
在S1033中,基于所述存储地址、所述目标OSD的设备标识以及所述文件标识,输出所述待上传文件的索引信息。
在本实施例中,终端设备在接收到目标OSD返回的存储地址后,可以将设备标识、文件标识以及存储地址进行汇聚操作,从而生成待上传文件的索引信息,其中,汇聚的方法可以将上述三个信息导入到索引信息模板对应的字节区域,从而得到该待上传文件的索引信息,也可以通过交叉混淆的方式,生成该索引信息。
在本发明实施例中,终端设备在发送待上传文件前,向目标OSD发送注册信息,从而能够快速锁定目标OSD的存储区域,从而能够提高上传的成功率。
图5示出了本发明第四实施例提供的一种文件存储的方法S104的具体实现流程图。参见图5所示,相对于图1-图3所述实施例,本实施例提供的一种文件存储的方法中S104包括:S1041~S1042,具体详述如下:
在S1041中,提取所述待上传文件的文件数据。
在本实施例中,由于目标OSD所存储的数据均为对象格式,因此终端设备需要对待上传文件的数据格式进行转换,以使得上传后的数据符合目标OSD的存储要求,减少目标OSD对上传数据的格式转换操作。基于上述原因,终端设别会从待上传文件的数据包中提取文件数据。其中,文件格式内的文件数据存储于固定的字节内,终端设备可以基于文件数据划分规则,提取待上传文件的数据包中的文件数据。
在S1042中,将所述索引信息导入文件封装模板的元数据字节,将所述文件数据导入文件封装模板的主数据字节,得到封装后的所述待上传文件。
在本实施例中,终端设备记录有文件封装模板,该文件封装模板的格式符合对象数据的格式,基于此,终端设备会将索引数据导入到元数据字节,将文件数据导入到主数据字节,从而得到封装后的待上传文件,通过上述封装操作后,该待上传文件的数据包内不仅包含文件数据,还包含索引数据,符合对象数据格式的要求,可以直接导入到目标OSD内。
在本发明实施例中,通过将待上传文件的数据格式转换为对象数据格式,避免目标OSD在接收到待上传文件后,还需要对其进行格式转换,提高了上传效率以及对于目标OSD的处理压力。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出了本发明一实施例提供的一种终端设备的结构框图,该终端设备包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,所述终端设备包括:
运行参数获取单元61,用于若满足预设的文件上传条件,则从文件数据库内选取待上传文件,并采集当前时刻各个候选对象存储设备OSD的运行参数;
目标OSD确定单元62,用于根据所述运行参数,从所述候选OSD中确定目标OSD;
索引信息生成单元63,用于基于所述待上传文件的文件标识以及所述目标OSD的设备标识,生成所述待上传文件的索引信息;
文件上传单元64,用于将所述索引信息封装于所述待上传文件,并将封装后的所述待上传文件上传至所述目标OSD;
读取请求响应单元65,用于当接收到关于所述待上传文件的读取请求时,根据所述索引信息从所述目标OSD获取所述待上传文件。
可选地,所述运行参数包括:负载参量、带宽速率以及处理速率;所述目标OSD确定单元62包括:
第一因子计算单元,用于将所述负载参量导入到预设的第一因子计算模型,计算各个所述候选OSD的第一因子;所述第一因子计算模型具体为:
其中,FstLevel(i)为第i个候选OSD的第一因子;Requsti为第i个候选OSD的负载参量;n为所述候选OSD的个数;
第二因子计算单元,用于将所述带宽速率导入预设的第二因子计算模型,计算各个所述候选OSD的第二因子;所述第二因子计算模型具体为:
其中,SndLevel(i)为第i个候选OSD的第二因子;Bandwidthi为第i个所述候选OSD的带宽速率;
优先级计算单元,用于将所述第一因子、所述第二因子以及所述处理速率导入优先级计算模型,计算各个所述候选OSD的优先级;所述优先级计算模型具体为:
其中,Priority(i)为第i个所述候选OSD的优先级;Bandwidthstd为预设的基准带宽速率;Operatiob(i)为第i个所述候选OSD的运行速率;
优先级识别单元,用于选取优先级最高的候选OSD作为目标OSD。
可选地,所述运行参数获取单元61包括:
候选文件参数获取单元,用于获取所述文件数据库内所有候选文件的操作次数以及第一文件数据量;
上传次序计算单元,用于基于所述操作次数以及所述第一文件数据量确定各个候选文件的上传次序;
候选文件选取单元,用于根据所述上传次序对各个所述候选文件进行排序,并选取前N个所述候选文件作为所述待上传文件;所述N为大于0的正整数。
可选地,所述索引信息生成单元63包括:
文件注册请求生成单元,用于获取所述待上传文件的第二文件数据量,并生成文件注册请求;所述文件注册请求携带有所述待上传文件的文件标识以及所述第二文件数据量;
文件注册请求发送单元,用于将所述文件注册请求发送给所述目标OSD,以使所述目标OSD确定用于存储所述待上传文件的存储地址;
索引信息输出单元,用于基于所述存储地址、所述目标OSD的设备标识以及所述文件标识,输出所述待上传文件的索引信息。
可选地,所述文件上传单元64包括:
文件数据提取单元,用于提取所述待上传文件的文件数据;
文件封装单元,用于将所述索引信息导入文件封装模板的元数据字节,将所述文件数据导入文件封装模板的主数据字节,得到封装后的所述待上传文件。
因此,本发明实施例提供的终端设备同样可以通过获取各个候选OSD的运行参数,从而确定出用于存储待上传文件的目标OSD,分担文件服务器的存储压力,并且为了实现不变更用户发起的读写请求的响应逻辑,即待上传文件转移了存储位置后仍可通过文件服务器执行文件读取操作,文件服务器会根据文件标识以及目标OSD的设备标识,生成关于目标文件的索引信息,并在接收到用户发起的文件读取请求时,可通过索引信息来响应,从而对于用户侧而言,本次组网改造是透明的,用户的操作也不受影响。与现有的文件存储技术相比,文件服务器只承担文件索引的功能,不再需要进行文件读写存取的操作,减少了文件服务器的运行压力,另一方面,当文件存储系统需要扩容时,只需增加OSD的数量即可,扩容方便,系统的容量增大。
图7是本发明另一实施例提供的一种终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如文件存储的程序。所述处理器70执行所述计算机程序72时实现上述各个文件存储的方法实施例中的步骤,例如图1所示的S101至S105。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各单元的功能,例如图6所示模块61至65功能。
示例性的,所述计算机程序72可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割成运行参数获取单元、目标OSD确定单元、索引信息生成单元、文件上传单元以及读取请求响应单元,各单元具体功能如上所述。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (8)
1.一种文件存储的方法,其特征在于,包括:
若满足预设的文件上传条件,则从文件数据库内选取待上传文件,并采集当前时刻各个候选对象存储设备OSD的运行参数;
根据所述运行参数,从所述候选对象存储设备OSD中确定目标OSD;
基于所述待上传文件的文件标识以及所述目标OSD的设备标识,生成所述待上传文件的索引信息;
将所述索引信息封装于所述待上传文件,并将封装后的所述待上传文件上传至所述目标OSD;
当接收到关于所述待上传文件的读取请求时,根据所述索引信息从所述目标OSD获取所述待上传文件;
所述运行参数包括:负载参量、带宽速率以及处理速率;所述根据所述运行参数,从所述候选对象存储设备OSD中确定目标OSD,包括:
将所述负载参量导入到预设的第一因子计算模型,计算各个所述候选对象存储设备OSD的第一因子;所述第一因子计算模型具体为:
其中,FstLevel(i)为第i个候选对象存储设备OSD的第一因子;Requsti为第i个候选对象存储设备OSD的负载参量;n为所述候选对象存储设备OSD的个数;
将所述带宽速率导入预设的第二因子计算模型,计算各个所述候选对象存储设备OSD的第二因子;所述第二因子计算模型具体为:
其中,SndLevel(i)为第i个候选对象存储设备OSD的第二因子;Bandwidthi为第i个所述候选对象存储设备OSD的带宽速率;
将所述第一因子、所述第二因子以及所述处理速率导入优先级计算模型,计算各个所述候选对象存储设备OSD的优先级;所述优先级计算模型具体为:
其中,Priority(i)为第i个所述候选对象存储设备OSD的优先级;Bandwidthstd为预设的基准带宽速率;Operation(i)为第i个所述候选对象存储设备OSD的运行速率;
选取优先级最高的候选对象存储设备OSD作为目标OSD。
2.根据权利要求1所述的方法,其特征在于,所述若当前时刻满足预设的文件上传条件,则从文件数据库内选取待上传文件,包括:
获取所述文件数据库内所有候选文件的操作次数以及第一文件数据量;
基于所述操作次数以及所述第一文件数据量确定各个候选文件的上传次序;
根据所述上传次序对各个所述候选文件进行排序,并选取前N个所述候选文件作为所述待上传文件;所述N为大于0的正整数。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述基于所述待上传文件的文件标识以及所述目标OSD的设备标识,生成所述待上传文件的索引信息,包括:
获取所述待上传文件的第二文件数据量,并生成文件注册请求;所述文件注册请求携带有所述待上传文件的文件标识以及所述第二文件数据量;
将所述文件注册请求发送给所述目标OSD,以使所述目标OSD确定用于存储所述待上传文件的存储地址;
基于所述存储地址、所述目标OSD的设备标识以及所述文件标识,输出所述待上传文件的索引信息。
4.根据权利要求1-2任一项所述的方法,其特征在于,所述将所述索引信息封装于所述待上传文件,包括:
提取所述待上传文件的文件数据;
将所述索引信息导入文件封装模板的元数据字节,将所述文件数据导入文件封装模板的主数据字节,得到封装后的所述待上传文件。
5.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
若满足预设的文件上传条件,则从文件数据库内选取待上传文件,并采集当前时刻各个候选对象存储设备OSD的运行参数;
根据所述运行参数,从所述候选对象存储设备OSD中确定目标OSD;
基于所述待上传文件的文件标识以及所述目标OSD的设备标识,生成所述待上传文件的索引信息;
将所述索引信息封装于所述待上传文件,并将封装后的所述待上传文件上传至所述目标OSD;
当接收到关于所述待上传文件的读取请求时,根据所述索引信息从所述目标OSD获取所述待上传文件;
所述运行参数包括:负载参量、带宽速率以及处理速率;所述根据所述运行参数,从所述候选对象存储设备OSD中确定目标OSD,包括:
将所述负载参量导入到预设的第一因子计算模型,计算各个所述候选对象存储设备OSD的第一因子;所述第一因子计算模型具体为:
其中,FstLevel(i)为第i个候选对象存储设备OSD的第一因子;Requsti为第i个候选对象存储设备OSD的负载参量;n为所述候选对象存储设备OSD的个数;
将所述带宽速率导入预设的第二因子计算模型,计算各个所述候选对象存储设备OSD的第二因子;所述第二因子计算模型具体为:
其中,SndLevel(i)为第i个候选对象存储设备OSD的第二因子;Bandwidthi为第i个所述候选对象存储设备OSD的带宽速率;
将所述第一因子、所述第二因子以及所述处理速率导入优先级计算模型,计算各个所述候选对象存储设备OSD的优先级;所述优先级计算模型具体为:
其中,PriOrity(i)为第i个所述候选对象存储设备OSD的优先级;Bandwidthstd为预设的基准带宽速率;Operation(i)为第i个所述候选对象存储设备OSD的运行速率;
选取优先级最高的候选对象存储设备OSD作为目标OSD。
6.根据权利要求5所述的终端设备,其特征在于,所述若当前时刻满足预设的文件上传条件,则从文件数据库内选取待上传文件,包括:
获取所述文件数据库内所有候选文件的操作次数以及第一文件数据量;
基于所述操作次数以及所述第一文件数据量确定各个候选文件的上传次序;
根据所述上传次序对各个所述候选文件进行排序,并选取前N个所述候选文件作为所述待上传文件;所述N为大于0的正整数。
7.根据权利要求5-6任一项所述的终端设备,其特征在于,所述基于所述待上传文件的文件标识以及所述目标OSD的设备标识,生成所述待上传文件的索引信息,包括:
获取所述待上传文件的第二文件数据量,并生成文件注册请求;所述文件注册请求携带有所述待上传文件的文件标识以及所述第二文件数据量;
将所述文件注册请求发送给所述目标OSD,以使所述目标OSD确定用于存储所述待上传文件的存储地址;
基于所述存储地址、所述目标OSD的设备标识以及所述文件标识,输出所述待上传文件的索引信息。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811080536.3A CN109271363B (zh) | 2018-09-17 | 2018-09-17 | 一种文件存储的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811080536.3A CN109271363B (zh) | 2018-09-17 | 2018-09-17 | 一种文件存储的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271363A CN109271363A (zh) | 2019-01-25 |
CN109271363B true CN109271363B (zh) | 2023-05-26 |
Family
ID=65189527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811080536.3A Active CN109271363B (zh) | 2018-09-17 | 2018-09-17 | 一种文件存储的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271363B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413279B (zh) * | 2019-07-05 | 2023-11-03 | 中国平安财产保险股份有限公司 | 数据加载方法和装置 |
CN110688073B (zh) * | 2019-10-10 | 2023-07-14 | 深圳市网心科技有限公司 | 数据存储方法、电子设备、系统及介质 |
CN111510497A (zh) * | 2020-04-17 | 2020-08-07 | 上海七牛信息技术有限公司 | 一种边缘存储的处理方法和系统 |
CN114390044B (zh) * | 2021-12-29 | 2024-05-14 | 杭州华橙软件技术有限公司 | 一种文件上传方法、系统、设备及存储介质 |
CN114844880B (zh) * | 2022-04-07 | 2023-10-31 | 广州文远知行科技有限公司 | 一种文件上传方法、装置、电子设备及存储介质 |
CN117319383B (zh) * | 2023-11-30 | 2024-03-01 | 广东电网有限责任公司 | 基于物联网的文件保存方法、系统、终端设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731516A (zh) * | 2013-12-18 | 2015-06-24 | 腾讯科技(深圳)有限公司 | 一种存取文件的方法、装置及分布式存储系统 |
CN107291870A (zh) * | 2017-06-15 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种分布式存储中文件批量读取方法 |
CN107357929A (zh) * | 2017-07-27 | 2017-11-17 | 广东欧珀移动通信有限公司 | 文件读取方法、移动终端及可读存储介质 |
CN107958079A (zh) * | 2017-12-14 | 2018-04-24 | 郑州云海信息技术有限公司 | 聚合文件删除方法、系统、装置及可读存储介质 |
CN108062367A (zh) * | 2017-12-08 | 2018-05-22 | 平安科技(深圳)有限公司 | 一种数据列表的上传方法及其终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129614A1 (en) * | 2004-12-14 | 2006-06-15 | Kim Hong Y | Crash recovery system and method for distributed file server using object based storage |
-
2018
- 2018-09-17 CN CN201811080536.3A patent/CN109271363B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731516A (zh) * | 2013-12-18 | 2015-06-24 | 腾讯科技(深圳)有限公司 | 一种存取文件的方法、装置及分布式存储系统 |
CN107291870A (zh) * | 2017-06-15 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种分布式存储中文件批量读取方法 |
CN107357929A (zh) * | 2017-07-27 | 2017-11-17 | 广东欧珀移动通信有限公司 | 文件读取方法、移动终端及可读存储介质 |
CN108062367A (zh) * | 2017-12-08 | 2018-05-22 | 平安科技(深圳)有限公司 | 一种数据列表的上传方法及其终端 |
CN107958079A (zh) * | 2017-12-14 | 2018-04-24 | 郑州云海信息技术有限公司 | 聚合文件删除方法、系统、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109271363A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271363B (zh) | 一种文件存储的方法及设备 | |
CN111131379B (zh) | 一种分布式流量采集系统和边缘计算方法 | |
KR102337092B1 (ko) | 트래픽 측정 방법, 장치, 및 시스템 | |
US20200372039A1 (en) | Data processing method, apparatus, and system | |
CN108683720B (zh) | 一种容器集群服务配置方法及装置 | |
JP2020038623A (ja) | データを記憶するための方法、装置及びシステム | |
CN104584524B (zh) | 聚合中介系统中的数据 | |
US11429566B2 (en) | Approach for a controllable trade-off between cost and availability of indexed data in a cloud log aggregation solution such as splunk or sumo | |
CN107818120A (zh) | 基于大数据的数据处理方法和装置 | |
CN110347651A (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN111061706B (zh) | 人脸识别算法模型清洗方法、装置及存储介质 | |
US20220229809A1 (en) | Method and system for flexible, high performance structured data processing | |
CN113485792B (zh) | 一种kubernetes集群内Pod调度方法、终端设备及存储介质 | |
WO2021027331A1 (zh) | 基于图数据的全量关系计算方法、装置、设备及存储介质 | |
CN108090186A (zh) | 一种大数据平台上的电力数据去重方法 | |
US11755540B2 (en) | Chunking method and apparatus | |
CN109218131B (zh) | 网络监控方法、装置、计算机设备和存储介质 | |
WO2021189845A1 (zh) | 时间序列异常点的检测方法、装置、设备及可读存储介质 | |
WO2021147319A1 (zh) | 一种数据处理方法、装置、设备及介质 | |
CN111538772A (zh) | 数据的交换处理方法、装置、电子设备及存储介质 | |
CN108804351B (zh) | 一种缓存置换方法以及装置 | |
CN109981697B (zh) | 一种文件转存方法、系统、服务器及存储介质 | |
CN112039936A (zh) | 数据传输方法、第一数据处理设备及监控系统 | |
CN113779021B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |