一种iptv系统中的读、写文件的方法和系统的制作方法

文档序号:6580965阅读:129来源:国知局
专利名称:一种iptv系统中的读、写文件的方法和系统的制作方法
技术领域
本发明涉及通信领:威,更具体地,涉及一种IPTV系统中的读、写文〗牛的方法和系统。
背景技术
在已有的研究中,针对文件系统的存储问题,主要有整文件存储和分片存储两种技术。整文件存储是将一个文件的全部数据都存
储在一个存储设备上;分片存储是将文件按一定的大小分成若干块,以块为单位存4诸在多个存储设备上。
在IPTV系统中,文件系统需满足以下要求大容量;大吞吐能力;高响应速度;高可靠性;低成本等等。现有的技术在应用于IPTV系统中的大文件存储时,在文件读写的效率和性能方面都不够优越。整文件存储扩展性较好,却经常由于文件分布不均匀,导致某一个或几个设备过载,而其他设备数据远小于其存储能力,在读写操作时出现负荷分担不均衡或读写拥塞的问题。分片存储可以将文件按块存储在多个设备上,均衡利用所有存储设备的存储空间,^f旦是目前对于海量文件往往没有有效的定位和查询策略,使得读写文件时的响应速度大大受到影响。
可见,已有技术仍有待于改进和发展。

发明内容
本发明的目的是为了4是供IPTV系统中的读写文件的方法和系统,以解决对文件系统中的海量文件进行快速有效的读写才喿作的问题。
下文将简要描述发明内容的主要步骤,各步骤的实现将在具体实施方式
中详细阐述。
本发明4是出了一种IPTV系统中的读文件的方法包括以下步骤文件访问客户端FAC向文件定位寄存器FLR询问块凌U居的位置信息;响应于询问,FLR查询位置信息,并将位置信息返回至FAC;以及FAC向对应于位置信息的文件访问服务器FAS发起读数据请
求,以进4亍读文4牛#:作。
其中,块数据是文件的一部分,文件^皮分片为多个块数据,多个块数据中的每一个均分别存储在对应的主存储器和备存储器中,块数据的ID由FLR分配,并由文件的ID与块数据的分片号组成。
其中,FLR查询位置信息包括查询对应于块数据的主存储器的状态;以及当主存储器的状态正常时,获取主存储器的ID以及地址;当主存储器的状态异常时,获取备存储器的ID以及地址。
其中,文件分为三类媒体文件、主索引文件、以及分片索引文件。
另一方面,本发明还提出了一种IPTV系统中的写文件的方法,包括以下步骤文件访问客户端FAC向文件访问服务器FAS发起写文件请求;文件定位寄存器FLR根据预定存储条件查询存储器中用于存储所述文件的各数据块的位置信息,并将所述位置信息返回至所述FAC;以及FAC向对应于节点信息的文件访问服务器FAS进行写数据操作。
其中,所述的文件定位寄存器FLR查询文件的各块数据的位置信息,并将位置信息返回至FAC的步骤包括将文件分片成多个块数据,并对多个块数据进行分组;纟艮据文件中块数据所在组的组信息获取存储器中预设的与所述组信息相对应的当前组号;从当前组号开始轮询,查询全部存储器;以及当查询到符合所述预定存储条件的存储器时,获取存储器的ID以及地址。
其中,预定存储条件包括存储器的状态正常;存储器的组号正常;以及存储器具有空闲容量。
其中,预定存储条件还包括判断存储器所属的队列;以及存储器的读写IO数未超过最大值。
其中,当判断符合预定存储条件时,设置当前组号为下一个存储器的组号。
其中,块凄t据的ID由文件的ID与块凄t据的分片号组成。
其中,文件分为三类媒体文件、主索引文件、以及分片索引文件。
另一方面,本发明还提出了一种IPTV系统中的读文件的系统,包括询问模块,用于由文件访问客户端FAC向文件定位寄存器FLR询问数据的位置信息;查询模块,用于响应于询问,由FLR查询位置信息,并将位置信息返回至FAC;以及读文件请求模块,用于由FAC向对应于位置信息的文件访问服务器FAS发起读数据请求,以进4于读文件纟喿作。另一方面,本发明还提出了一种IPTV系统中的写文件的系统, 包括写文件请求模块,用于由文件访问客户端FAC向文件访问服 务器FAS发起写文件请求;查询才莫块,用于由文件定位寄存器FLR 根据预定存储条件查询存储器中用于存储所述文件的各数据块的位 置信息,并将所述位置信息返回至所述FAC;以及写^:据才莫块,用 于由FAC向对应于节点信息的文件访问力艮务器FAS进行写数据4喿 作。
本发明通过4是供用于IPTV系统的读、写文件的方法和系统实 现了对海量文件进行快速有效的读写操作。通过以分片(块数据) 为单位读写文件,并主要以》兹盘的分组备^f分以及基于分组的轮询为 策略,实现了文件备份和磁盘负荷均衡,解决文件系统的负载分担 问题,并最大可能地提高文件系统的读写效率,另外,由于文件被 分为三类媒体文件、主索引文件、分片索引文件,故能够使文件 便于读取,提高读写效率。
发明解决了 IPTV系统中分片文件读写问题,在节省所有磁盘 总存储空间的同时又兼顾了单板负荷均衡,提高了文件系统的读写 效率,实现了系统的高响应速度和扩展性。


此处所说明的附图用来4是供对本发明的进一步理解,构成本申 请的一部分,本发明的示意性实施例及其说明用于解释本发明,并 不构成对本发明的限定。在附图中
图i是根据本发明的文件系统各部分的分布与交互图; 图2是根据本发明的系统中文件二次条带化备份方案图; 图3是根据本发明的文件系统向数据库申请读操作流程9图4是根据本发明的文件系统向数据库申请写操作流程图; 图5是根据本发明的IPTV系统中的读文件的系统;以及 图6是根据本发明的IPTV系统中的写文件的系统。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结 合附图及实施例,对本发明进行进一步详细说明。应当理解,此处 所描述的具体实施例^U又用以解释本发明,并不用于限定本发明。
才艮据本发明的读文件的方法包4舌以下步驶《文件访问客户端 FAC首先向文件定位寄存器FLR询问块数据的位置信息;响应于询 问,FLR查询位置信息,并将位置信息返回至FAC;以及FAC向 对应于位置信息的文件访问服务器FAS发起读数据请求,以进行读 文件4乘作。
优选地,块凄欠据是文件的一部分,文件;敗分为多个块H据,每 一个块数据均分别存储在对应的主存储器和备存储器中,块数据的 ID由FLR分配,并由文4牛的ID与分片号组成。
优选地,FLR查询位置信息包括查询对应于块lt据的ID的 主存储器的状态;以及当主存储器的状态正常时,获取主存储器的 ID以及地址;当主存储器的状态异常时,获取备存储器的ID以及 地址。
此外,4艮据本发明的写文件的方法包括以下步艰《文件访问客 户端FAC向文件访问月艮务器FAS发起写文件i貪求;文件定位寄存 器FLR查询文件的节点信息,并将节点信息返回至FAC;以及FAC 向对应于节点信息的文件访问服务器FAS进行写数据操作。
10另外,由于文件被分为三类i某体文件、主索引文件、分片索 引文件,故能够使文件便于读取,提高读写效率。
下面,先介绍本发明的硬件模块的分布情况。图1是用于IPTV 中的分布式文件系统各部分的分布与交互图。如图所示,分布式文 件系统的三个部分
FLR:是元数据管理才莫块,管理文件元数据、分片元数据,管 理文件与分片的对应关系。接收FAC分片查找请求,定位存在的文 件分片用于读操作或分配新的分片用于写操作。
FAC:是文件接口模块,向业务模块提供和标准文件访问类似 的文件读写接口, 4是供文件系统本地緩存管理。
FAS:用于块分布和负载平衡,具体完成对数据块(chunk)的 操作。FAS启动时向FLR报告系统数据,FLR上动态生成相应数据, 当FAS长时间离线时,FLR删除相应^:据,并删除所有chunk文件 信息表中对应FAS的IP地址。
本发明通过一个读才喿作描述文件系统中各部分的交互流程
1. FAC 4吏用固定的块将应用程序指定的文件名和字节偏移 專争才奂成文<牛的一个块索引(chunk index);
2. 给FLR发送一个包含文件名和块索引的请求;
3. FLR回应对应的块句柄(chunk-handle)和副本的位置;
4. FAC以文件名和块索引为4建乡爰存这些信息(块句柄和副 本的位置);
5. FAC向其中一个副本发送一个请求,很可能是最近的一 个副本,请求指定的chunk-handle和块内的一个字节区 间;通常FAC可以在一个请求中询问多个ft据块的地址,而FLR 也可以^艮快回应这些i青求。
图2是系统中文件二次条带化备份方案图。
本发明中,原始文件数据预先经过流化和分片,交织存储于多 个存储设备中。同时为便于管理,把存储于同一设备、同一硬盘上 属于 一个数据源的块集合成文件。这种方式的优点是读写都很快, 缺点是不支持N+1热备份。考虑到硬盘容量越来越大的发展趋势, 可以采用二次条带化备份的方式来解决此问题。其原理是每个设备 上存储的文件重新在其他设备中进行备份存储,存储方式如图2所 示。图中备份区数据是存储区数据的一个备份,这样在某个存储设 备失效时,其内容服务可由其他存储设备均匀提供,从而避免了单 i殳备失效的故障,也避免了 RAID算法的计算开销。这样每个文件 的分片被均匀地分配在多个存储设备中, 一定程度上达到了自然的 负载平衡,提高了存储效率,节省了繁瑣的负载均衡算法,提高了 系统的可扩展性。
图3是文件系统中的FLR向数据库申请读操作的存储设备信息 的流程图。
如图3所示,主要包括以下步骤
步骤1:文件系统向数据库申请读才乘作时,通过请求中的文件 ID来获取文件记录;
步骤2: 4艮据记录中的文件名判断文件归属于哪一类,获耳又文 件的分类信息;步骤3:通过chunk-handle获取到凄t据块记录信息,查询到块 所在主备》兹盘的逻辑ID及》兹盘所在存々者i殳备的逻辑地址等信息,具 体步驶《如下
S301:首先查询主^兹盘的工作爿犬态,若主石兹盘正常工作,则获 取主》兹盘的逻辑ID及其所在存储设备的逻辑地址等信息。然后查询 备份的磁盘的状态,备份磁盘正常工作,则读取备盘的逻辑ID及其 所在存储设备的逻辑地址等信息。需要注意的是,如果主^兹盘状态 正常并获取到了^兹盘信息,仍要查询备份》兹盘并获取^兹盘lt据信息, 目的是防止主石兹盘lt据出现异常,造成存储信息有误;
S302:若主磁盘闭塞,文件系统就会查询备份的磁盘的状态, 备份磁盘正常工作,读取备盘的逻辑ID及其所在存储设备的逻辑地 址等信息;
S303:如果主备磁盘都闭塞,就指明存储设备的逻辑ID不存 在,直一妄返回;
S304:读耳又凄欠据成功,^f务改读》兹盘计凄欠器,设置返回标记为成功。
图4是文件系统中的FLR向数据库申请写操作的存储设备信息 的流程图。
步骤1:文件系统向数据库申请写操作时,首先要向数据库申 i青新的块句柄;
步骤2:如果通过块句柄可以定位到相关的块记录,则i兌明此 数据块已经存在,不需要再写入磁盘中,系统不再进行操作,直接 返回;步骤3:若找不到相关记录,则通过文件名判断其所在文件类 别,根据文件分组信息获取磁盘当前组号;计算硬盘上的chunk均 值,获取磁盘能够存储的chunk大小,便于后面f兹盘数据存储均衡, 负荷分担;
步骤4:从当前组号开始在;兹盘队列中进行轮询,遍历全部》兹 盘组,找到满足写数据块的一系列条件的磁盘并获取磁盘信息,查 找z磁盘所在存4诸i殳备的逻辑地址,4仑询结束〗奮改写i兹盘计凄t值。具 体步-骤如下
S401: 乂人当前的组号开始遍历全部》兹盘组,判断当前组号对应 的磁盘组是否满足上述条件,如果满足条件,设置当前组号为下一 个磁盘组号,以便下次查找^兹盘时可以直接对下一石兹盘组进行判断, 实现J兹盘的專仑询,同时避免每次乂人第一^U兹盘开始判断和查才戈可用 磁盘,造成磁盘间负荷不均衡,设置结束直接转到步骤S404;
S402:如果当前磁盘不满足上述条件,对全部磁盘组进行轮询, 直4妄i殳置当前组号为下一个》兹盘组号,重复步艰《S401,直到找到可 以写数据块的》兹盘。
S403 (未示出)查找过程中如果4仑询到》兹盘组尾则取第一个 f兹盘组号为当前组号,重复步艰《S401;
S404:找到了可以写入数据块信息的磁盘,获取此磁盘的逻辑 ID及其所在存储i殳备的逻辑地址等信息;
步骤5:将当前》兹盘插入》兹盘队列中,重新排列》兹盘,修改写 磁盘计数值。
需要注意的是:如果同一组(group)的两个磁盘有一个是闭塞 的,文件系统向没有闭塞的另一个磁盘继续执行写操作的话,势必会造成主备磁盘数据的不同步,进而影响数据的可靠性和系统的稳 定性,因此处于闭塞状态的磁盘连同其备份磁盘都不允许写数据操作。
此夕卜,如图5所示,IPTV系统中的读文件的系统包括询问模 块52,用于由文件访问客户端FAC向文件定位寄存器FLR询问数 据的位置信息;查询才莫块54,用于响应于询问,由FLR查询位置 信息,并将位置信息返回至FAC;以及读文件请求模块56,用于由 FAC向对应于位置信息的文件访问服务器FAS发起读数据请求,以 进行读文件:捧作。
如图6所示,IPTV系统中的写文件的系统包4舌写文件i青求才莫 块62,用于由文件访问客户端FAC向文件访问服务器FAS发起写 文件:清求;查询才莫块64,用于由文件定位寄存器FLR 4艮据预定存 储条件查询存储器中用于存储文件的各数据块的位置信息,并将位 置4言息返回至FAC;以及写凄d居才莫块66,用于由FAC向只t应于节 点信息的文件访问服务器FAS进行写数据操作。
本发明具有以下优点通过对大文件分片、分组存4诸,实现了 文件的有效备份,并使承担文件的存储设备可以实现负荷均衡分担。 而且通过文件读写时的,兹盘4仑询策略进一步降<氐了整个系统对存储 空间的需求,保证了系统的可靠性和稳定性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1.一种IPTV系统中的读文件的方法,其特征在于,包括以下步骤文件访问客户端FAC向文件定位寄存器FLR询问块数据的位置信息;响应于所述询问,所述FLR查询所述位置信息,并将所述位置信息返回至所述FAC;以及所述FAC向对应于所述位置信息的文件访问服务器FAS发起读数据请求,以进行读文件操作。
2. 根据权利要求1所述的方法,其特征在于,所述块数据是文件 的一部分,所述文件被分片为多个块数据,所述多个块数据中 的每一个均分别存储在对应的主存储器和备存储器中,所述块 数据的ID由所述FLR分配,并由所述文件的ID与所述块数 据的分片号组成。
3. 根据权利要求2所述的方法,其特征在于,所述FLR查询所 述位置信息包括查询对应于所述块数据的主存储器的状态;以及当所述主存储器的状态正常时,获取所述主存储器的ID 以及地址;当所述主存储器的状态异常时,获取备存储器的ID以及 地址。
4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述 文件分为三类々某体文件、主索引文件、以及分片索引文件。
5. —种IPTV系统中的写文件的方法,其特4正在于,包括以下步 骤文件访问客户端FAC向文件访问服务器FAS发起写文件请求;文件定位寄存器FLR根据预定存储条件查询存储器中用 于存储所述文件的各数据块的位置信息,并将所述位置信息返 回至所述FAC; 以及所述FAC向对应于所述节点信息的文件访问服务器FAS 进行写数据操作。
6. 根据权利要求5所述的方法,其特征在于,所述的文件定位寄 存器FLR查询所述文件的各块数据的位置信息,并将所述位 置信息返回至所述FAC的步艰《包括将所述文件分片成多个块凄t据,并对所述多个块数据进行 分组;根据所述文件中块数据所在组的组信息获取存储器中预 设的与所述组信息相对应的当前组号;从所述当前组号开始4仑询,查询全部存^f诸器;以及当查询到符合所述预定存储条件的存储器时,获取所述存 4诸器的ID以及地址。
7. 根据权利要求6所述的方法,其特征在于,预定存储条件包括所述存储器的状态正常;所述存储器的组号正常;以及所述存储器具有预定空闲容量以上的存储容量。
8. 根据权利要求7所述的方法,其特征在于,预定存储条件还包 括判断所述存^f诸器所属的队列;以及 所述存储器的读写IO数未超过最大值。
9. 根据权利要求8所述的方法,其特征在于,当判断符合所述预 定存储条件之后,设置所述当前组号为下一个存储器的组号。
10. 才艮据^^又利要求6所述的方法,其特4正在于,所述块^t据的ID 由所述文件的ID与所述块凄t据的分片号组成。
11. 根据权利要求5至10中任一项所述的方法,其特征在于,所 述文件分为三类媒体文件、主索引文件、以及分片索引文件。
12. —种IPTV系统中的读文4牛的系统,其特^正在于,包4舌询问才莫块,用于由文件访问客户端FAC向文件定位寄存 器FLR询问数据的位置信息;查询才莫块,用于响应于所述询问,由所述FLR查询所述 位置信息,并将所述位置信息返回至所述FAC;以及读文件请求才莫块,用于由所述FAC向对应于所述位置信 息的文件访问服务器FAS发起读数据请求,以进行读文件操作。
13. —种IPTV系统中的写文件的系统,其特征在于,包括写文件i青求才莫块,用于由文件访问客户端FAC向文件访 问服务器FAS发起写文件请求;查询模块,用于由文件定位寄存器FLR根据预定存储条 件查询存储器中用于存储所述文件的各数据块的位置信息,并 将所述位置信息返回至所述FAC;以及写教:据才莫块,用于由所述FAC向对应于所述节点信息的 文件访问服务器FAS进行写数据:操作。
全文摘要
为了实现对文件系统中的海量文件进行快速有效的读写操作,本发明提出了一种IPTV系统中的读文件的方法包括以下步骤文件访问客户端FAC向文件定位寄存器FLR询问块数据的位置信息;响应于询问,FLR查询位置信息,并将位置信息返回至FAC;以及FAC向对应于位置信息的文件访问服务器FAS发起读数据请求,以进行读文件操作。此外,本发明还提出了IPTV系统中的写文件的方法、读写文件的系统。
文档编号G06F17/30GK101673288SQ200910179829
公开日2010年3月17日 申请日期2009年10月13日 优先权日2009年10月13日
发明者刘素京, 朱红军, 凯 李 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1