CN110609810A - 一种文件存储方法及系统 - Google Patents
一种文件存储方法及系统 Download PDFInfo
- Publication number
- CN110609810A CN110609810A CN201810534807.1A CN201810534807A CN110609810A CN 110609810 A CN110609810 A CN 110609810A CN 201810534807 A CN201810534807 A CN 201810534807A CN 110609810 A CN110609810 A CN 110609810A
- Authority
- CN
- China
- Prior art keywords
- file
- blocks
- sub
- nodes
- distribution nodes
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件存储方法及系统,该文件存储方法包括:接收文件获取节点获取源服务器中的单个文件的请求;将源服务器中的单个文件分为多个子块;将多个所述子块分发至同一区域的多个分发节点中以使每个分发节点存储一至多个所述子块;分别通过所述同一区域的多个分发节点将多个所述子块分发至所述文件获取节点。该发明的有益效果为:通过分发节点存储单个文件的部分子块,减轻存储设备的存储压力,提升存储空间利用效率,从而降低费用,同时加快超大文件的下载速度。
Description
技术领域
本发明涉及内容分发网络存储技术领域,尤其涉及一种文件存储方法及系统。
背景技术
随着我国视频产业快速发展,视频的终端产品和内容在快速普及。在构建以4K、8K、VR、AR为代表的超高清视频,提出了大容量、大带宽、高速率、低时延、高可靠的网络承载需求。然而,在实际应用中,无论是视频网站,还是CDN行业的服务器中,我们常用的只是将相同的数据文件复本重复存储在多个服务器上,因此导致了大量存储空间的浪费,并且由于4K、VR引起大量文件容量的占用,从而没有更多的可用的存储空间来存储文件。
目前在视频产业中,对于大型视频网站而言,每天都会有海量的文件数从用户端上传至网站上后转码成不同的清晰程度,这时一个视频会变成多份,像高清,标清,超清。这对网站服务器的存储空间而言,形成了极为严峻的挑战,视频所需要的存储空间在快速的上升。
然而,当前的文件存储的性能、容量、空间的灵活分配和配置、安全性、权限控制等方面,都是难以满足当前业务发展和大文件的存储需求,主要表现在文件存储设备和存储费用大量上升、存储空间资源大量浪费等问题。而且,现有技术中存储设备存储压力大,存储空间利用率低,文件下载速度慢的问题急需解决。
发明内容
本发明要解决的技术问题在于,针对文件存储设备和存储费用大量上升、存储空间资源大量浪费等问题以及现有技术中存储设备存储压力大,存储空间利用率低,文件下载速度慢的问题,提供一种文件存储方法及系统。
本发明解决其技术问题所采用的技术方案是:
一方面,提供一种文件存储方法,包括:
接收文件获取节点获取源服务器中的单个文件的请求;
将所述源服务器中的单个文件分为多个子块;
将多个所述子块分发至同一区域的多个分发节点中以使每个分发节点存储一至多个所述子块;
分别通过所述同一区域的多个分发节点将多个所述子块分发至所述文件获取节点。
在本发明所述的文件存储方法中,还包括:
若接收其他文件获取节点获取单个所述文件的请求,则分别通过所述同一区域的多个分发节点将多个所述子块分发至所述其他文件获取节点。
在本发明所述的文件存储方法中,所述将所述源服务器中的单个文件分为多个子块,包括:
获取所述同一区域的多个分发节点的个数;
依据所述同一区域的多个分发节点的个数将源服务器中的单个文件按顺序分为多个子块,其中,多个所述子块的个数为所述同一区域的多个分发节点的个数的整数倍。
在本发明所述的文件存储方法中,所述将多个所述子块分发至同一区域的多个分发节点中以使每个分发节点存储一至多个所述子块,包括:
将多个所述子块的顺序打乱;
将打乱后的多个所述子块平均分为所述同一区域的多个分发节点的个数份;
将多份多个所述子块分别分发至所述同一区域的多个分发节点中。
在本发明所述的文件存储方法中,还包括:
用户终端通过所述文件获取节点获取单个所述文件。
在本发明所述的文件存储方法中,还包括:
于用户终端中集成SDK以作为所述文件获取节点。
在本发明所述的文件存储方法中,还包括:
当检测到所述同一区域的多个分发节点中有子块存在异常时,通过所述源服务器重新将所述子块分发到所述同一区域的多个分发节点中原来的位置。
另一方面,还提供一种文件存储系统,包括源服务器、多个分发节点及文件获取节点,其中,所述源服务器分别连接于多个所述分发节点,多个所述分发节点均连接至所述文件获取节点。
在本发明所述的文件存储系统中,还包括用户终端,所述用户终端连接于所述文件获取节点。
在本发明所述的文件存储系统中,所述文件获取节点为用户终端。
上述公开的一种文件存储方法及系统具有以下有益效果:通过分发节点存储单个文件的部分子块,减轻存储设备的存储压力,提升存储空间利用效率,从而降低费用,同时加快超大文件的下载速度。
附图说明
图1a为传统方式的文件存储方法的首次访问示意图;
图1b为传统方式的文件存储方法的文件请求示意图;
图1c为传统方式的文件存储方法的后续用户请求示意图;
图1d为传统方式的文件存储方法的所有节点最后状态示意图;
图2为本发明一实施例提供的一种文件存储方法的流程图;
图3a为本发明一实施例提供的一种文件存储方法的首次访问示意图;
图3b为本发明一实施例提供的一种文件存储方法的文件请求示意图;
图3c为本发明一实施例提供的一种文件存储方法的后续用户请求示意图;
图3d为本发明一实施例提供的一种文件存储方法的所有节点最后状态示意图;
图4为本发明第一实施例提供的一种文件存储方法的应用场景示意图;
图5为本发明第二实施例提供的一种文件存储方法的应用场景示意图;
图6为本发明第二实施例提供的一种文件存储方法的异常处理示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种文件存储方法及系统,用于内容分发网络,其目的在于,减轻存储设备的存储压力,提升存储空间利用效率,从而降低费用;加快超大文件的下载速度。例如:工作模块主要涉及多个机房的存储例如A节点/B节点、客户机器或浏览器或边缘服务器。超大容量文件存储经过转码和审核后会生成不同清晰度文件,正常的视频网站或CDN公司会一份文件最少存储在至少3个机房即A/B/C三个机房。例如有500T的独立大的数据文件,这时全网需要最少1500T以上存储空间。本方案的解决方式是,给文件按块分割成多个物理文件,逻辑上给文件通过算法合并起来。
其中,本发明涉及以下缩略词:
1、用户:对互联网进行网络请求使用的客户终端。
2、节点:机器集群,由多个台服务器组成,所有存储的空间合并使用。即分发节点。
3、源站:客户的网站,或有原始文件的音乐、图片、视频等网站。即源服务器。
4、CDN:内容分发服务,用于加速下载,或提高源站处理能力的技术集合。
5、上层节点:CDN网络中的用于接收和处理其它边缘节点请求的内部服务器。
6、边缘节点:用于对用户直接服务的节点。
参见图1a-1d,图1a为传统方式的文件存储方法的首次访问示意图;在传统方式的操作中,用户A进行单个文件时的情况,文件由算法一共分成 ABCDEFGHI块。当用户访问到一个服务“节点A”来拿整个完整文件时,通常用户需发送一个HTTP的请求到节点上,节点查询本节点内所有存储上,但系统程序发现没有这个文件的任何信息。然而,CDN的场景中,节点A需要会回到源站来取文件。
图1b为传统方式的文件存储方法的文件请求示意图;在传统方式的操作中,当用户A下载完整个文件时,节点A上所有的文件和源站变成一样,有关这个文件的所有块的信息,这时达到CDN节点中所谓分布完成的状态。
图1c为传统方式的文件存储方法的后续用户请求示意图;在传统方式的操作中,后续出现新用户,只要访问到节点A,这时都直接可以从节点A来顺序拿到整个文件,这时并不需要到源站拿任何文件,源站这时会被边缘节点有效的分流。即当新用户请求任何一个块时,用户A之后,所有文件块都无需回源。
图1d为传统方式的文件存储方法的所有节点最后状态示意图;在传统方式的操作中,最后当其它的节点,也有其它的任意用户访问的时候,都会同步成源站一样的状态。但传统方式中所有的文件需要在所有的节点上进行存储。即所有节点中,最后同一个文件都存了一份完整的文件的所有块。
图2为本发明一实施例提供的一种文件存储方法的流程图;该文件存储方法包括步骤S1-S4:
S1、接收文件获取节点获取源服务器中的单个文件的请求;
S2、将源服务器中的单个文件分为多个子块;步骤S2包括子步骤S21-S22:
S21、获取所述同一区域的多个分发节点的个数;
S22、依据所述同一区域的多个分发节点的个数将源服务器中的单个文件按顺序分为多个子块,其中,多个所述子块的个数为所述同一区域的多个分发节点的个数的整数倍。参见图3a,图3a为本发明一实施例提供的一种文件存储方法的首次访问示意图;用户请求的时候,节点A的文件的第一个块A块,是按分块的方式回到源站。
S3、将多个所述子块分发至同一区域的多个分发节点中以使每个分发节点存储一至多个所述子块;步骤S3包括步骤S31-S33:
S31、将多个所述子块的顺序打乱;
S32、将打乱后的多个所述子块平均分为所述同一区域的多个分发节点的个数份;
S33、将多份多个所述子块分别分发至所述同一区域的多个分发节点中。
参见图3b,图3b为本发明一实施例提供的一种文件存储方法的文件请求示意图;第二个块B是从同一个地区节点C拿到的,第三个块C是节点B拿到的,根据这个算法,所有的节点都存储这个文件的1/3,这个比例由本地机房节点的数量决定。
S4、分别通过所述同一区域的多个分发节点将多个所述子块分发至所述文件获取节点。
优选的,该文件存储方法还包括步骤S5:
S5、若接收其他文件获取节点获取单个所述文件的请求,则分别通过所述同一区域的多个分发节点将多个所述子块分发至所述其他文件获取节点。参见图3c,图3c为本发明一实施例提供的一种文件存储方法的后续用户请求示意图;这时,本发明的实现方式,所有的用户都会从这A、B、C三个节点来拿所有的文件,并合并起来。在这个过程中,用户B可以同时从三个节点来拿三个不同的分块文件,最终文件由单一到整体的合并。即所有节点中,最后同一个文件都存了一份完整的文件的1/3,节点文件块的比例由这个分块的算法决定。
参见图3d,图3d为本发明一实施例提供的一种文件存储方法的所有节点最后状态示意图;其中,整个超大文件仅占机房节点(A、B、C)中存储的一部分。用户在下载文件过程中,在取文件的同时会从多个节点来去,文件会通过以块的形式合并成一个完整的文件。从而可以节约2/3的存储空间,合适当前超大文件的存储。即所有用户取的文件都会从多个节点来取,并且可以根据块来同时并发。
关于应用场合,本发明提供两种实施例:
实施例一:用户终端通过所述文件获取节点获取单个所述文件。参见图4,图4为本发明第一实施例提供的一种文件存储方法的应用场景示意图;该图为 CDN的边缘节点上直接实现的使用场景,这种情况下,对用户是透明的(无需客户配合修改,只需要CDN公司内部处理就可以了),也不需要客户配合和修改。虽然在某程度上来说,节约了上层节点的存储空间,但是边缘节点需要存储全量文件,因此它所占的存储空间,不能太少。即对用户透明,不需要客户修改任何节点且加速上层存储空间。
实施例二:于用户终端中集成SDK以作为所述文件获取节点;参见图5,图5为本发明第二实施例提供的一种文件存储方法的应用场景示意图。该图为使用SDK的情形。这个时候,如果客户想进一步减少成本,提升速度,可以选择在播放器或客户端上集成预设的SDK。这时用户的请求通过SDK会自动计算成多个边缘节点下载。可以并发取不同的分块来增加下载速度,并且也能够最大程度节约边缘节点上的存储空间。
当检测到所述同一区域的多个分发节点中有子块存在异常时,通过所述源服务器重新将所述子块分发到所述同一区域的多个分发节点中原来的位置。参见图6,图6为本发明第二实施例提供的一种文件存储方法的异常处理示意图,当边缘节点中,一个块D,这时存储的硬盘坏掉或故障时,这时CDN可以直接只针对本分块进行回源站来拿一份新的,存储在本边缘节点A上其它的硬盘,并不需要重新下载所有的其它的块。即任何节点上的异常,可以通过请求上层重新拿一份。
另一方面,还提供一种文件存储系统,该文件存储系统包括源服务器、多个分发节点及文件获取节点,其中,所述源服务器分别连接于多个所述分发节点,多个所述分发节点均连接至所述文件获取节点。
针对于应用场合的实施例一,该文件存储系统还包括用户终端,所述用户终端连接于所述文件获取节点。
针对于应用场合的实施例二,所述文件获取节点为用户终端。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
Claims (10)
1.一种文件存储方法,其特征在于,包括:
接收文件获取节点获取源服务器中的单个文件的请求;
将所述源服务器中的单个文件分为多个子块;
将多个所述子块分发至同一区域的多个分发节点中以使每个分发节点存储一至多个所述子块;
分别通过所述同一区域的多个分发节点将多个所述子块分发至所述文件获取节点。
2.根据权利要求1所述的文件存储方法,其特征在于,还包括:
若接收其他文件获取节点获取单个所述文件的请求,则分别通过所述同一区域的多个分发节点将多个所述子块分发至所述其他文件获取节点。
3.根据权利要求1所述的文件存储方法,其特征在于,所述将所述源服务器中的单个文件分为多个子块,包括:
获取所述同一区域的多个分发节点的个数;
依据所述同一区域的多个分发节点的个数将源服务器中的单个文件按顺序分为多个子块,其中,多个所述子块的个数为所述同一区域的多个分发节点的个数的整数倍。
4.根据权利要求3所述的文件存储方法,其特征在于,所述将多个所述子块分发至同一区域的多个分发节点中以使每个分发节点存储一至多个所述子块,包括:
将多个所述子块的顺序打乱;
将打乱后的多个所述子块平均分为所述同一区域的多个分发节点的个数份;
将多份多个所述子块分别分发至所述同一区域的多个分发节点中。
5.根据权利要求1所述的文件存储方法,其特征在于,还包括:
用户终端通过所述文件获取节点获取单个所述文件。
6.根据权利要求1所述的文件存储方法,其特征在于,还包括:
于用户终端中集成SDK以作为所述文件获取节点。
7.根据权利要求6所述的文件存储方法,其特征在于,还包括:
当检测到所述同一区域的多个分发节点中有子块存在异常时,通过所述源服务器重新将所述子块分发到所述同一区域的多个分发节点中原来的位置。
8.一种文件存储系统,其特征在于,包括如权利要求1-7任一项所述的一种文件存储方法的源服务器、多个分发节点及文件获取节点,其中,所述源服务器分别连接于多个所述分发节点,多个所述分发节点均连接至所述文件获取节点。
9.根据权利要求8所述的文件存储系统,其特征在于,还包括用户终端,所述用户终端连接于所述文件获取节点。
10.根据权利要求8所述的文件存储系统,其特征在于,所述文件获取节点为用户终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810534807.1A CN110609810A (zh) | 2018-05-29 | 2018-05-29 | 一种文件存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810534807.1A CN110609810A (zh) | 2018-05-29 | 2018-05-29 | 一种文件存储方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110609810A true CN110609810A (zh) | 2019-12-24 |
Family
ID=68887577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810534807.1A Pending CN110609810A (zh) | 2018-05-29 | 2018-05-29 | 一种文件存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110609810A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114268631A (zh) * | 2021-12-13 | 2022-04-01 | 湖北云务通网络科技有限公司 | 低延迟网络系统及其通信连接方法及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010040269A1 (zh) * | 2008-10-07 | 2010-04-15 | 中兴通讯股份有限公司 | 实现互联网电视媒体交互的系统及方法 |
CN104639661A (zh) * | 2015-03-13 | 2015-05-20 | 华存数据信息技术有限公司 | 分布式存储系统及文件存储和读取方法 |
CN105335513A (zh) * | 2015-10-30 | 2016-02-17 | 迈普通信技术股份有限公司 | 一种分布式文件系统及文件存储方法 |
-
2018
- 2018-05-29 CN CN201810534807.1A patent/CN110609810A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010040269A1 (zh) * | 2008-10-07 | 2010-04-15 | 中兴通讯股份有限公司 | 实现互联网电视媒体交互的系统及方法 |
CN104639661A (zh) * | 2015-03-13 | 2015-05-20 | 华存数据信息技术有限公司 | 分布式存储系统及文件存储和读取方法 |
CN105335513A (zh) * | 2015-10-30 | 2016-02-17 | 迈普通信技术股份有限公司 | 一种分布式文件系统及文件存储方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114268631A (zh) * | 2021-12-13 | 2022-04-01 | 湖北云务通网络科技有限公司 | 低延迟网络系统及其通信连接方法及可读存储介质 |
CN114268631B (zh) * | 2021-12-13 | 2024-05-10 | 湖北云务通网络科技有限公司 | 低延迟网络系统及其通信连接方法及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2015259417B2 (en) | Distributed secure data storage and transmission of streaming media content | |
US10154086B1 (en) | Distributed consumer cloud storage system | |
US9665428B2 (en) | Distributing erasure-coded fragments in a geo-distributed storage system | |
US20150215405A1 (en) | Methods of managing and storing distributed files based on information-centric network | |
CN102541990B (zh) | 利用虚拟分区的数据库重新分布方法和系统 | |
US20190007206A1 (en) | Encrypting object index in a distributed storage environment | |
US7447839B2 (en) | System for a distributed column chunk data store | |
CN102523234B (zh) | 一种应用服务器集群实现方法及系统 | |
US20100241757A1 (en) | System and Method for Storing Streaming Media File | |
CN111684777A (zh) | 分布式多数据中心视频打包系统 | |
CN105025053A (zh) | 基于云存储技术的分布式文件的上传方法及其系统 | |
JP2010044789A (ja) | 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法 | |
CA2512312A1 (en) | Metadata based file switch and switched file system | |
US8924513B2 (en) | Storage system | |
US20200065306A1 (en) | Bloom filter partitioning | |
US11212369B2 (en) | Distributed storage of state information and session recovery using state information | |
US6973536B1 (en) | Self-adaptive hybrid cache | |
WO2016095149A1 (zh) | 一种数据压缩存储方法、装置,及分布式文件系统 | |
CN111050188B (zh) | 一种数据流调度方法、系统、设备及介质 | |
CN117008818A (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
KR101371202B1 (ko) | 멀티 메타데이터 서버 구조를 갖는 분산 파일 시스템 및 이를 이용한 데이터 처리 방법 | |
US20220046113A1 (en) | Distributed state recovery in a system having dynamic reconfiguration of participating nodes | |
CN110609810A (zh) | 一种文件存储方法及系统 | |
Sujatha et al. | An efficient Cloud Storage Model for GOP-Level Video deduplication using adaptive GOP structure | |
Kawato et al. | Attempt to Utilize Surplus Storage Capacity as Distributed Storage |
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 |