CN103777903A - 一种适用于流媒体服务的数据存储方法 - Google Patents
一种适用于流媒体服务的数据存储方法 Download PDFInfo
- Publication number
- CN103777903A CN103777903A CN201410032065.4A CN201410032065A CN103777903A CN 103777903 A CN103777903 A CN 103777903A CN 201410032065 A CN201410032065 A CN 201410032065A CN 103777903 A CN103777903 A CN 103777903A
- Authority
- CN
- China
- Prior art keywords
- disk
- memory
- file
- media file
- block
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种适用于流媒体服务的数据存储方法,涉及文件系统领域,包括:将所有存储磁盘按顺序编号,将每个存储磁盘的磁盘信息记录到同一个磁盘信息文件中;每个存储磁盘划分出多个大小相等的磁盘块,根据磁盘块的起始偏移位置从小到大顺序编号;媒体文件选择存储磁盘,所依据算法为:M=(N-1)%C,N为媒体文件的编号,M为存储该媒体文件的磁盘编号,C为存储磁盘总数;媒体文件计算出所需的磁盘块数目,并选择所需数目的磁盘块;媒体文件内容存储到选定的磁盘块中,将该媒体文件信息记录到内容信息文件。本发明支持流服务节点大并发量的流服务,降低存储成本,支持热点内容动态更新,以及在磁盘异常情况下流服务节点能够正常流服务。
Description
技术领域
本发明涉及文件系统领域,具体来讲是一种适用于流媒体服务的数据存储方法。
背景技术
目前,互联网大部分采用CDN(Content Delivery Network,内容分发网)的部署方式。互联网中媒体内容由中心内容库存储和维护,并通过在网络各处设置的流服务节点提供大并发流服务。因此,流服务节点只需存储部分热点媒体内容,不存在的媒体内容可从中心内容库获取。
由于媒体文件数据量大,而流服务节点存储容量有限,因此需要流服务节点不仅支持热点内容动态更新,而且支持大并发量的流服务;而目前的标准文件系统不支持热点内容动态更新功能。由于单个存储磁盘的读写带宽是有限制的,在大并发流服务情况下,若所有的流服务均访问同一磁盘会造成读写延迟或失败,影响部分流服务质量。
此外,虽然有些文件系统在磁盘异常的情况下仍然能提供流服务,但这些文件系统一般都需要做数据冗余,不仅不能满足大并发量的磁盘IO读写,而且存储成本较高。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种适用于流媒体服务的数据存储方法,支持流服务节点大并发量的流服务,降低存储成本,支持热点内容动态更新,以及在磁盘异常情况下流服务节点能够正常流服务。
为达到以上目的,本发明采取的技术方案是:一种适用于流媒体服务的数据存储方法,包括如下步骤:S1.将所有的存储磁盘按顺序编号,并将每个存储磁盘的磁盘信息记录到系统盘中的同一个磁盘信息文件中;S2.每个存储磁盘划分出多个容量大小相等的磁盘块,并根据磁盘块的起始偏移位置从小到大顺序编号;S3.媒体文件选择存储磁盘,所依据算法为:M=(N-1)%C,其中N为媒体文件的编号,M为存储该媒体文件的磁盘编号,C为存储磁盘总数;S4.媒体文件根据其大小计算出所需的磁盘块数目,并从之前选择的存储磁盘的空闲磁盘块中,随机选择所需数目的磁盘块;S5.媒体文件内容存储到选定的存储磁盘的磁盘块中,并将该媒体文件信息记录到系统盘中的内容信息文件;其中,每个存储磁盘对应一个内容信息文件,每个内容信息文件只记录与其对应的存储磁盘的内容信息。
在上述技术方案的基础上,所述S1中,存储磁盘顺序编号从0开始,所述存储磁盘信息包括磁盘编号、磁盘盘符、磁盘序列号、磁盘总容量、磁盘剩余容量和磁盘状态。
在上述技术方案的基础上,所述S2中,所述磁盘块大小可以任意指定,但要求磁盘块大小需正好能被每个存储磁盘的总容量整除,且每块存储磁盘的磁盘块大小是相同的。
在上述技术方案的基础上,所述磁盘块的起始偏移位置是相对于磁盘起始偏移而言的,且每块存储磁盘的第一块磁盘块的起始偏移均为0。
在上述技术方案的基础上,所述S5中,所述的媒体文件信息包括媒体文件名、存储磁盘编号、存储磁盘序列号、文件大小、访问时间和使用的磁盘块编号组。
在上述技术方案的基础上,当某媒体文件被删除时,内容信息文件中记录该媒体文件的信息也随之删除,所使用的磁盘块被依次释放,并入到空闲磁盘块中。
在上述技术方案的基础上,所述S4中,当选择的存储磁盘空闲磁盘块数目小于媒体文件所需的磁盘块数目时,则需依次将该磁盘存储的访问时间最早的媒体文件删除,直至该存储磁盘中空闲磁盘块的数目满足该媒体文件存储需求。
在上述技术方案的基础上,使用者定时检测存储磁盘的状态,当某一存储磁盘出现异常,将磁盘信息文件中该存储磁盘的状态项置为无效状态。
本发明的有益效果在于:
1、本发明适用于流媒体服务的数据存储方法,由于不同的媒体文件分散存储到不同的存储磁盘中,因此可以充分利用多个存储磁盘的空间。
2、本发明适用于大并发流服务的数据存储方法,由于大并发流服务中不同的流服务访问的媒体文件不同,访问的存储磁盘也不同,因而可以充分利用所有存储磁盘的读写带宽,提高每个流服务读写媒体文件的速度,进而提高流服务质量。
3、当媒体文件所需的磁盘块数目大于存储盘空闲磁盘块数目时,先依次删除访问时间最早的媒体文件,直至该存储磁盘中空闲磁盘块数目满足该媒体文件存储需求。这样,存储在该存储磁盘的媒体内容都是访问时间最早的内容,即热点内容,流服务节点可根据需求配置少量磁盘,降低存储成本。
4、当某一存储磁盘出现异常,磁盘信息文件中该存储磁盘的状态项为无效状态。该存储磁盘的使用者在检测到该磁盘的状态为无效时,可及时做相应的异常处理,保证在存储磁盘异常情况下的正常流服务。
附图说明
图1为本发明适用于流媒体服务的数据存储方法流程图;
图2为本发明实施例磁盘信息文件示意图;
图3为本发明实施例一块存储磁盘的磁盘块编号示意图;
图4为本发明实施例媒体文件选择存储磁盘的示意图;
图5为本发明实施例内容信息文件记录的示意图;
图6为图2存储磁盘0中媒体文件的访问时间队列示意图;
图7为图6中媒体文件1被访问后队列的示意图;
图8为磁盘信息文件中存储磁盘3的状态项置为无效状态示意图;
图9为存储磁盘3异常后,后续媒体文件选择存储磁盘的示意图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1所示,本发明适用于流媒体服务的数据存储方法,包括步骤:
S1.将所有的存储磁盘按顺序编号,并将每个存储磁盘的磁盘信息记录到系统盘中的同一个磁盘信息文件中。存储磁盘顺序编号从0开始,所述存储磁盘信息包括磁盘编号、磁盘盘符、磁盘序列号、磁盘总容量、磁盘剩余容量和磁盘状态。
S2.每个存储磁盘划分出多个容量大小相等的磁盘块,根据磁盘块的起始偏移位置从小到大顺序编号;所述磁盘块大小可以任意指定,但要求磁盘块大小需正好能被每个存储磁盘的总容量整除,且每块存储磁盘的磁盘块大小是相同的。所述磁盘块的起始偏移位置是相对于磁盘起始偏移而言的,且每块存储磁盘的第一块磁盘块的起始偏移均为0。
S3.媒体文件选择存储磁盘,所依据算法为:M=(N-1)%C,其中N为媒体文件编号,M为存储该媒体文件的磁盘编号,C为存储磁盘总数。
S4.媒体文件分配所需的空闲磁盘块,媒体文件根据其大小计算出所需的磁盘块数目,并从之前选择的存储磁盘的空闲磁盘块中,随机选择对应所需数目的磁盘块。当选择的存储磁盘空闲的磁盘块数目小于媒体文件所需的磁盘块数目时,则需依次将该磁盘存储的访问时间最早的媒体文件删除,直至该存储磁盘中空闲磁盘块的数目满足该媒体文件存储需求。
S5.媒体文件的内容存储到选定的存储磁盘的磁盘块中,并将该媒体文件信息记录到系统盘中的内容信息文件中。所述的媒体文件信息包括媒体文件名、存储磁盘编号、存储磁盘序列号、文件大小、访问时间和使用的磁盘块编号组。其中,每个存储磁盘对应一个内容信息文件,每个内容信息文件只记录与其对应的存储磁盘的内容信息。
当媒体文件存储内容到磁盘后,某媒体文件被删除时,内容信息文件中记录该媒体文件的信息也随之删除,所使用的磁盘块被依次释放,并入到空闲磁盘块中。
使用者还可以定时检测存储磁盘的状态,当某一存储磁盘出现异常,将磁盘信息文件中该存储磁盘的状态项置为无效状态。
下面通过具体实施例详细说明本发明。
如图2所示,本实施例中有五块存储磁盘,操作系统识别的盘符分别为/dev/sda、/dev/sdb、/dev/sdc、/dev/sdd和/dev/sde。
S101.初始化时,将所述五块存储磁盘从0开始顺序编号,同时获取这些存储磁盘的磁盘盘符、磁盘序列号、磁盘总容量和磁盘剩余容量,并将这些信息记录到同一个磁盘信息文件中,默认所有的存储磁盘状态是有效的。以存储磁盘/dev/sda为例,磁盘信息文件中记录它的磁盘盘符为/dev/sda,磁盘编号为0,磁盘序列号为WMAYP001,磁盘总容量为100G,磁盘剩余容量为100G,状态为有效。
S102.将每块存储磁盘按照1M大小划分磁盘块,并按磁盘块的起始偏移位置从小到大顺序编号,其中,磁盘块的起始偏移位置是相对于磁盘起始偏移而言的,而每块磁盘的起始偏移总为0。
如图3所示,以存储磁盘/dev/sda为例,它的总容量大小为100G,按1M大小划分,可以划分为102400个磁盘块。其中,磁盘编号为0的磁盘块起始偏移为0,块号为1的磁盘块起始偏移为1M,依此类推,块号为102399的磁盘块起始偏移为102399M。
S103.媒体文件根据M=(N-1)%C,选择存储磁盘,其中N为媒体文件的编号,M为存储磁盘的编号,C为磁盘总数,%表示相除之后取余操作。如图4所示,系统有五块存储磁盘,即C=5;其中媒体文件1的编号为1,即N=1,选择存储磁盘的编号为0;媒体文件2的编号为2,即N=2,选择存储磁盘的编号为1;以此类推,媒体文件5的编号为5,即N=5,选择存储磁盘的编号为4;媒体文件6的编号为6,即N=6,选择存储磁盘的编号为0。
S104.媒体文件根据其大小计算出所需的磁盘块数目,并从之前选择的存储磁盘的空闲磁盘块中,随机选择所需相应数目的磁盘块。如图5所示,媒体文件A的大小为13MB,若每个磁盘块的大小为1MB,则它所需的磁盘块数目为13个;从它选择存储磁盘的空闲磁盘块组中随机选择13个空闲磁盘块(0,3,4,7,13,21,33,54,55,8,11,77,99),并将这13个空闲磁盘块在磁盘信息文件中,对应该存储磁盘的状态项置为使用状态。
S105.媒体文件内容存储到选定的存储磁盘的磁盘块中,并将该媒体文件信息统一记录到系统盘中的同一个内容信息文件中。如图5所示,媒体文件A在内容信息文件中的记录示例如下:媒体文件名为A,磁盘编号为0,磁盘序列号为WMAYP001,文件大小13M,访问时间(2013-9-2513:00),使用的磁盘块号数组列表(0,3,4,7,13,21,33,54,55,8,11,77,99)。当媒体文件被访问时,需要将内容信息文件中相应记录的访问时间值更新为当前访问时间。
每个内容信息文件都会根据媒体文件的访问时间值进行排序。如图6所示,存储磁盘0存储的所有媒体文件(媒体文件1至6)中,媒体文件1最近访问的时间最早,媒体文件6最近访问的时间最晚。如图7所示,为媒体文件1被访问后队列的更新情况,媒体文件2最近访问的时间最早,媒体文件1最近访问的时间最晚。在媒体文件分配所需的空闲磁盘块时,当选择的存储磁盘空闲的磁盘块数小于媒体文件所需的磁盘块,则需依次将该存储磁盘存储的访问时间最早的媒体文件删除,直至该存储磁盘空闲磁盘块数满足该媒体文件存储需求。如图7所示,媒体文件7选择磁盘0作为存储盘,若发现磁盘0空闲磁盘块不足,则会优先删除访问时间最早的媒体文件2。删除一个媒体文件时,需要将图5所示内容信息文件中相应记录删除。
使用者还可以定时检测存储磁盘的状态,某一存储磁盘出现异常,将磁盘信息文件中该存储磁盘的状态项置为无效状态。如图8所示,若磁盘3异常,则将磁盘信息文件中该存储磁盘的状态项置为无效状态。如图9所示,媒体内容4在选择存储磁盘时,通过S103中计算的磁盘编号为3,但发现存储磁盘3异常,则跳过该存储磁盘,选择下一编号的存储磁盘(编号为4的存储磁盘)存储,并将该媒体文件序号更新为5,即N=5。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (8)
1.一种适用于流媒体服务的数据存储方法,其特征在于,包括如下步骤:
S1.将所有的存储磁盘按顺序编号,并将每个存储磁盘的磁盘信息记录到系统盘中的同一个磁盘信息文件中;
S2.每个存储磁盘划分出多个容量大小相等的磁盘块,并根据磁盘块的起始偏移位置从小到大顺序编号;
S3.媒体文件选择存储磁盘,所依据算法为:M=(N-1)%C,其中N为媒体文件的编号,M为存储该媒体文件的磁盘编号,C为存储磁盘总数;
S4.媒体文件根据其大小计算出所需的磁盘块数目,并从之前选择的存储磁盘的空闲磁盘块中,随机选择所需数目的磁盘块;
S5.媒体文件内容存储到选定的存储磁盘的磁盘块中,并将该媒体文件信息记录到系统盘中的内容信息文件;其中,每个存储磁盘对应一个内容信息文件,每个内容信息文件只记录与其对应的存储磁盘的内容信息。
2.如权利要求1所述的适用于流媒体服务的数据存储方法,其特征在于:所述S1中,存储磁盘顺序编号从0开始,所述存储磁盘信息包括磁盘编号、磁盘盘符、磁盘序列号、磁盘总容量、磁盘剩余容量和磁盘状态。
3.如权利要求1所述的适用于流媒体服务的数据存储方法,其特征在于:所述S2中,所述磁盘块大小可以任意指定,但要求磁盘块大小需正好能被每个存储磁盘的总容量整除,且每块存储磁盘的磁盘块大小是相同的。
4.如权利要求1所述的适用于流媒体服务的数据存储方法,其特征在于:所述磁盘块的起始偏移位置是相对于磁盘起始偏移而言的,且每块存储磁盘的第一块磁盘块的起始偏移均为0。
5.如权利要求1所述的适用于流媒体服务的数据存储方法,其特征在于:所述S5中,所述的媒体文件信息包括媒体文件名、存储磁盘编号、存储磁盘序列号、文件大小、访问时间和使用的磁盘块编号组。
6.如权利要求1或5所述的适用于流媒体服务的数据存储方法,其特征在于:当某媒体文件被删除时,内容信息文件中记录该媒体文件的信息也随之删除,所使用的磁盘块被依次释放,并入到空闲磁盘块中。
7.如权利要求1所述的适用于流媒体服务的数据存储方法,其特征在于:所述S4中,当选择的存储磁盘空闲磁盘块数目小于媒体文件所需的磁盘块数目时,则需依次将该磁盘存储的访问时间最早的媒体文件删除,直至该存储磁盘中空闲磁盘块的数目满足该媒体文件存储需求。
8.如权利要求1所述的适用于流媒体服务的数据存储方法,其特征在于:使用者定时检测存储磁盘的状态,当某一存储磁盘出现异常,将磁盘信息文件中该存储磁盘的状态项置为无效状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410032065.4A CN103777903A (zh) | 2014-01-23 | 2014-01-23 | 一种适用于流媒体服务的数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410032065.4A CN103777903A (zh) | 2014-01-23 | 2014-01-23 | 一种适用于流媒体服务的数据存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103777903A true CN103777903A (zh) | 2014-05-07 |
Family
ID=50570197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410032065.4A Pending CN103777903A (zh) | 2014-01-23 | 2014-01-23 | 一种适用于流媒体服务的数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103777903A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631304A (zh) * | 2014-11-04 | 2016-06-01 | 中兴通讯股份有限公司 | 一种磁盘有效性的检测方法、认证方法及相应装置 |
CN107704199A (zh) * | 2017-09-07 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种固态硬盘的逻辑分区方法及装置 |
CN110719494A (zh) * | 2019-09-06 | 2020-01-21 | 烽火通信科技股份有限公司 | 一种实现cdn流媒体数据防篡改的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006012418A2 (en) * | 2004-07-21 | 2006-02-02 | Beach Unlimited Llc | Distributed storage architecture based on block map caching and vfs stackable file system modules |
CN102117297A (zh) * | 2009-12-31 | 2011-07-06 | 华为技术有限公司 | 流媒体文件处理方法、装置和系统 |
CN103034457A (zh) * | 2012-12-18 | 2013-04-10 | 武汉市烽视威科技有限公司 | 多个硬盘组成的存储系统数据存储方法 |
CN103092528A (zh) * | 2011-11-01 | 2013-05-08 | 新太科技股份有限公司 | 一种根据磁盘空间和性能变化进行存储空间转化的方法 |
-
2014
- 2014-01-23 CN CN201410032065.4A patent/CN103777903A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006012418A2 (en) * | 2004-07-21 | 2006-02-02 | Beach Unlimited Llc | Distributed storage architecture based on block map caching and vfs stackable file system modules |
CN102117297A (zh) * | 2009-12-31 | 2011-07-06 | 华为技术有限公司 | 流媒体文件处理方法、装置和系统 |
CN103092528A (zh) * | 2011-11-01 | 2013-05-08 | 新太科技股份有限公司 | 一种根据磁盘空间和性能变化进行存储空间转化的方法 |
CN103034457A (zh) * | 2012-12-18 | 2013-04-10 | 武汉市烽视威科技有限公司 | 多个硬盘组成的存储系统数据存储方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631304A (zh) * | 2014-11-04 | 2016-06-01 | 中兴通讯股份有限公司 | 一种磁盘有效性的检测方法、认证方法及相应装置 |
CN107704199A (zh) * | 2017-09-07 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种固态硬盘的逻辑分区方法及装置 |
WO2019047842A1 (zh) * | 2017-09-07 | 2019-03-14 | 郑州云海信息技术有限公司 | 一种固态硬盘的逻辑分区方法及装置 |
CN110719494A (zh) * | 2019-09-06 | 2020-01-21 | 烽火通信科技股份有限公司 | 一种实现cdn流媒体数据防篡改的方法及系统 |
CN110719494B (zh) * | 2019-09-06 | 2022-01-07 | 烽火通信科技股份有限公司 | 一种实现cdn流媒体数据防篡改的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9892005B2 (en) | System and method for object-based continuous data protection | |
US10157109B2 (en) | Method for restoring files from a continuous recovery system | |
US9696914B2 (en) | System and method for transposed storage in RAID arrays | |
KR101259557B1 (ko) | 클러스터 데이터 관리 시스템 및 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법 | |
CN109597567B (zh) | 一种数据处理方法和装置 | |
CN101809551B (zh) | 自动精简配置迁移和清理 | |
US9256498B1 (en) | System and method for generating backups of a protected system from a recovery system | |
JP5532982B2 (ja) | ストレージ装置、ストレージ装置のコントローラおよびストレージ装置の記憶領域割当方法 | |
CN103763383A (zh) | 一体化云存储系统及其存储方法 | |
CN104503703B (zh) | 缓存的处理方法和装置 | |
WO2017143957A1 (zh) | 一种数据重分布的方法及装置 | |
CN105786401A (zh) | 服务器集群系统中的数据管理方法及装置 | |
CN103942161B (zh) | 只读缓存的去冗余系统及方法以及缓存的去冗余方法 | |
CN108399050B (zh) | 一种数据处理方法及装置 | |
CN104054076B (zh) | 数据存储方法、数据库存储节点故障处理方法及装置 | |
CN114265670B (zh) | 一种内存块整理方法、介质及计算设备 | |
CN102982182A (zh) | 一种数据存储规划方法及装置 | |
CN103777903A (zh) | 一种适用于流媒体服务的数据存储方法 | |
CN104580381A (zh) | 一种在多节点网络中执行作业任务的方法 | |
CN105867836A (zh) | 存储管理方法、装置及流媒体系统 | |
CN106095331A (zh) | 一种固定大文件内部资源的控制方法 | |
US9395930B2 (en) | Information processing system, control method of information processing system, and recording medium | |
US9678833B2 (en) | Storage controller, storage system and storage control method | |
US9747167B2 (en) | Persistency free architecture | |
CN114327942A (zh) | 一种共享内存管理方法和缓存服务组件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140507 |