一种云存储方法及云存储系统的制作方法

文档序号:7854889阅读:203来源:国知局
专利名称:一种云存储方法及云存储系统的制作方法
技术领域
本发明涉及计算机以及网络信息技术领域,具体涉及ー种多媒体文件的云存储方法及云存储系统。
背景技术
随着计算机和网络的不断发展及高清视频的普及,存储多媒体所需的空间不断的增长,传统的存储架构已经很难满足需求。云存储以其海量的存储空间、高可靠性、高并发、高可扩展性及高性价比等特性逐渐展露头角。云存储的高并发主要体现在不同文件会被分散在不同的存储服务器上,因而云存储对于写并发和对不同文件的读并发几乎可以无限扩展;但对于同一文件,我们虽然可以通过増加在不同存储服务器上的拷贝数来提高读并发能力,但这种做法更多的目的是为了増加可靠性,出于总容量的限制,不可能对每ー个文件 都无限制的进行拷贝,因而对同一文件的读并发的改善终极是有限度的。而在实际应用中,例如在公安重大案件的侦破过程中,经常会有大量用户在同一时间内突发访问同一段视频录像,这很可能造成相关的存储服务器不堪重负。现有的点对点(peer-to-peer, P2P)技术虽然可以解决并发数的问题,但缺点也是十分明显I.客户端的实现相对复杂;2.会产生大量的P2P冗余流量;3. P2P网络由不稳定的用户端构成,終端用户的频繁上下线会导致下载的抖动情况难以控制;4.在一些复杂的网络环境中,用户端处于不同的网络环境中,无法互联互通,P2P就失去意义了。

发明内容
本发明的特征和优点在下文的描述中部分地陈述,或者可从该描述显而易见,或者可通过实践本发明而学习。为克服现有技术的缺点,本发明提供ー种云存储方法及云存储系统,在不增加客户端复杂度及客户端网络额外流量的情况下,用以解决云存储系统对同一个多媒体文件的读并发数瓶颈,减小相关的存储服务器的负荷。本发明解决上述技术问题所采用的技术方案如下根据本发明的ー个方面,提供ー种云存储方法,包括SI.至少两个存储服务器对多媒体文件预先分割成的至少两个文件块分别进行存储;S2.控制服务器协调存储服务器的负荷均衡,并为多媒体文件建立对应存储服务器的文件块索引;以及S3.流媒体服务器接收客户端发送的多媒体文件播放请求,并根据控制服务器对各存储服务器负荷均衡的协调,向控制服务器指定的存储服务器请求所需文件块。根据本发明的一个实施例,在步骤S3中,当所指定的存储服务器存储有所需文件块时,所指定的存储服务器将所需文件块发送至流媒体服务器,再返回给客户端;当所指定的存储服务器未存储有所需文件块时,所指定的存储服务器则从存储有所需文件块的存储服务器中下载所需文件块进行备份,并将所需文件块发送至流媒体服务器,再返回给客户端。根据本发明的一个实施例,控制服务器对各存储服务器负荷均衡的协调的步骤包括控制服务器根据文件块索引检查存储有所需文件块的所有存储服务器的负荷情况,如果有负荷正常的存储服务器,则选择其中负荷较轻的存储服务器并将其服务器地址返回给流媒体服务器,作为指定的存储服务器;如果没有负荷正常的存储服务器则在未存储有所需文件块的存储服务器中选择负荷较轻的存储服务器并将其服务器地址返回给流 媒体服务器,作为指定的存储服务器。根据本发明的一个实施例,控制服务器对有无负荷正常的存储服务器的判断方法是控制服务器预先设定ー负荷阈值,如果存在存储服务器的负荷小于该阈值则判断为有负荷正常的存储服务器,如果存储服务器的负荷大于该阈值则判断为没有负荷正常的存储服务器。根据本发明的一个实施例,还包括当所需文件块在所指定的存储服务器进行备份后,通告控制服务器产生新备份的信息。根据本发明的一个实施例,控制服务器收到产生新备份的信息后,还包括控制服务器将已备份数和新备份数进行累加,并将累加后的备份数与预先设定的标准备份数进行比较,若累加后的备份数大于标准备份数,则向存储有所需文件块的负荷最高的至少ー个存储服务器发送删除备份的命令,收到删除备份命令的存储服务器在所需文件块不被使用时将其删除;若累加后的备份数小于或等于标准备份数,则向未存储有所需文件块的负荷最轻的至少ー个存储服务器发出备份命令,收到备份命令的存储服务器备份所需文件块。根据本发明的另ー个方面,提供一种云存储系统,包括至少两个存储服务器、控制服务器、流媒体服务器,控制服务器、流媒体服务器以及存储服务器相互之间通过网络连接;其中存储服务器用于对多媒体文件预先分割成的至少两个文件块分别进行存储;控制服务器用于协调存储服务器的负荷均衡,并为多媒体文件建立对应存储服务器的文件块索引;流媒体服务器与客户端通信连接,用于接收客户端的多媒体文件播放请求,井根据控制服务器的协调,向控制服务器指定的存储服务器请求所需文件块。根据本发明的一个实施例,存储服务器包括存储判断模块,用于判断本地是否存储有所需文件块;备份模块,与存储判断模块连接,用于当本地未存储有所需文件块时,从存储有所需文件块的存储服务器中下载所需文件块进行备份,产生所需文件块的新备份;以及传输模块,用于向流媒体服务器传输所需文件块。根据本发明的一个实施例,控制服务器包括
索引建立模块,用于为多媒体文件建立对应存储服务器的文件块索引;负荷判断模块,用于根据文件块索引检查存储有所需文件块的所有存储服务器的负荷情况,判断是否有负荷正常的存储服务器;发送模块,用于根据负荷判断模块的负荷判断,发送指定的存储服务器的地址给流媒体服务器;以及累加模块,用于当产生所需文件块的新备份时,将已备份数和新备份数进行累加;负荷判断模块还用于比较累加后的备份数和预先设定的标准备份数;发送模块还用于根据 负荷判断模块的判断,发送删除备份命令或进行备份命令给相应的存储服务器。根据本发明的一个实施例,流媒体服务器包括接收模块,用于接收客户端发送的多媒体文件播放请求;请求发送模块,用于向指定的存储服务器发送获取多媒体文件播放请求对应的所需文件块的请求;以及文件块发送模块,用于将所需文件块发送至客户端。本发明提供了ー种云存储方法及云存储系统,将至少两个存储服务器配置为将多媒体文件分割成至少两个文件块分别进行存储,使同一多媒体文件形成高读并发数;在实现高读并发的同时,本发明通过控制服务器控制和协调存储服务器的负荷均衡,能减小相关的存储服务器的负荷,相对于现有的P2P技术而言,客户端的实现较为简単,不会产生大量的P2P冗余流量,避免了終端用户的频繁上下线导致的下载的抖动情况难以控制的缺点,能适应不同的网络环境,实现互联互通。通过阅读说明书,本领域普通技术人员将更好地了解这些技术方案的特征和内容。


下面通过參考附图并结合实例具体地描述本发明,本发明的优点和实现方式将会更加明显,其中附图所示内容仅用于对本发明的解释说明,而不构成对本发明的任何意义上的限制,在附图中图I为本发明实施例云存储系统的系统连接架构图。图2为本发明实施例云存储系统的模块图。图3为本发明实施例云存储方法的流程图。图4为本发明实施例中控制服务器处理流媒体服务器文件块查询服务的流程图。图5为本发明实施例中存储服务器处理流媒体服务器获取文件块数据请求的流程图。图6为本发明实施例中控制服务器进行文件块备份的步骤流程图。图7为本发明实施例中客户端访问多媒体文件的基本交互步骤流程图。
具体实施例方式本实施例中所涉及到的名词解释如下RTSP (Real Time Streaming Protocol,实时流媒体协议),是一种实时流媒体会话控制协议,控制实时流媒体会话的建立、播放、暂停和拆除等操作。
RTP (Real-time Transport Protocol,实时传输协议),用于传输音视频等实时多媒体数据。在该协议的数据包中,包含数据包的序列号、时间戳等与实时传输相关的信息。RTCP(RTP Control Protocol,RTP控制协议),用于控制RTP传输的质量,如丢包、延时、传输抖动等。在体系结构上,RTP/RTCP用于具体的媒体数据传输,RTSP是会话控制协议,用于控制ー个会话中的ー个或多个媒体流的传输。多媒体通讯领域中,使用RTSP+RTP/RTCP协议来发布多媒体已经成为ー种非常通用的做法,用户可以边下载边播放,而不需要把媒体文件全部下载到本地才能观看,大大节约了接收端的空间。许多知名播放器包括许多开源项目如VLC都支持RTSP+RTP/RTCP协议播放多媒体。

为解决云存储系统对同一个多媒体文件的读并发数瓶颈,减小相关的存储服务器 的负荷,本实施例提供一种云存储系统,其系统连接架构图如图I所示,包括至少两个存储服务器10、控制服务器20、流媒体服务器30,控制服务器20、流媒体服务器30以及存储服务器10相互之间通过网络连接;其中存储服务器10用于对多媒体文件预先分割成的至少两个文件块分别进行存储;控制服务器20用于协调存储服务器10的负荷均衡,并为多媒体文件建立对应存储服务器10的文件块索引;流媒体服务器30与客户端40通信连接,用于接收客户端40的多媒体文件播放请求,井根据控制服务器20的协调,向控制服务器20指定的存储服务器请求所需文件块。图2示出了本实施例云存储系统的模块图,其中,存储服务器10包括存储判断模块11、备份模块12和传输模块13,其中存储判断模块11用于判断本地是否存储有所需文件块;备份模块12与存储判断模块11连接,用于当本地未存储有所需文件块时,从存储有所需文件块的存储服务器中下载所需文件块进行备份,产生所需文件块的新备份;传输模块13用于向流媒体服务器30传输所需文件块。本实施例中,控制服务器20包括索引建立模块21、负荷判断模块22、发送模块23和累加模块24,其中索引建立模块21用于为多媒体文件建立对应存储服务器的文件块索引;负荷判断模块22用于根据文件块索引检查存储有所需文件块的所有存储服务器的负荷情况,判断是否有负荷正常的存储服务器;发送模块23用于根据负荷判断模块22的负荷判断,发送指定的存储服务器的地址给流媒体服务器30 ;累加模块24用于当产生所需文件块的新备份时,将已备份数和新备份数进行累加;负荷判断模块22还用于比较累加后的备份数和预先设定的标准备份数;发送模块23还用于根据负荷判断模块22的判断,发送删除备份命令或进行备份命令给相应的存储服务器。本实施例中,流媒体服务器30包括接收模块31、请求发送模块32和文件块发送模块33,其中接收模块31用于接收客户端40发送的多媒体文件播放请求;请求发送模块32用于向指定的存储服务器发送获取多媒体文件播放请求对应的所需文件块的请求;文件块发送模块33用于将所需文件块发送至客户端40。本实施例中,客户端40为支持音视频媒体播放的计算机或手持移动通信終端,流媒体服务器30与客户端40之间可依据RTSP协议进行通信连接。作为本实施例的另ー变型实施例,控制服务器20也可设置为多个。本实施例的另ー个方面还提供一种云存储方法,其方法流程图參看附图3,包括以下步骤SI.至少两个存储服务器对多媒体文件预先分割成的至少两个文件块分别进行存储;S2.控制服务器协调存储服务器的负荷均衡,并为多媒体文件建立对应存储服务器的文件块索引;以及S3.流媒体服务器接收客户端发送的多媒体文件播放请求,并根据控制服务器对各存储服务器负荷均衡的协调,向控制服务器指定的存储服务器请求所需文件块。在步骤S3中,当所指定的存储服务器存储有所需文件块时,所指定的存储服务器将所需文件块发送至流媒体服务器,再返回给客户端;当所指定的存储服务器未存储有所需文件块时,所指定的存储服务器则从存储有所需文件块的存储服务器中下载所需文件块进行备份,并将所需文件块发送至流媒体服务器,再返回给客户端。

其中,控制服务器对各存储服务器负荷均衡的协调的步骤包括控制服务器根据 文件块索引检查存储有所需文件块的所有存储服务器的负荷情况,如果有负荷正常的存储服务器,则选择其中负荷较轻的存储服务器并将其服务器地址返回给流媒体服务器,作为指定的存储服务器;如果没有负荷正常的存储服务器则在未存储有所需文件块的存储服务器中选择负荷较轻的存储服务器并将其服务器地址返回给流媒体服务器,作为指定的存储服务器。控制服务器对有无负荷正常的存储服务器的判断方法是控制服务器预先设定ー负荷阈值,如果存在存储服务器的负荷小于该阈值则判断为有负荷正常的存储服务器,如果存储服务器的负荷大于该阈值则判断为没有负荷正常的存储服务器。本实施例中还包括当所需文件块在所指定的存储服务器进行备份后,通告控制服务器产生新备份的信息。此处,控制服务器对文件块的备份数进行维护和管理,其目的是保持相关存储服务器始終处于较轻的负荷状态。控制服务器会定时检查文件块的备份数,如果备份数小于该文件设定的备份数,则控制服务器会协调存储服务器之间增加备份数;如果有文件块备份数大于设定的备份数,则控制服务器会通知存储有该文件块的存储服务器在所述文件块不被使用的时候将其删除。在本实施例中,控制服务器收到产生新备份的信息后,还包括控制服务器将已备份数和新备份数进行累加,并将累加后的备份数与预先设定的标准备份数进行比较,若累加后的备份数大于标准备份数,则向存储有所需文件块的负荷最高的至少ー个存储服务器发送删除备份的命令,收到删除备份命令的存储服务器在所需文件块不被使用时将其删除;若累加后的备份数小于或等于标准备份数,则向未存储有所需文件块的负荷最轻的至少ー个存储服务器发出备份命令,收到备份命令的存储服务器备份所需文件块。作为本发明的ー个具体实例,可采用以下方法控制服务器预先设定ー标准备份数,控制服务器将收到的累加后的备份数与标准备份数进行比较,若累加后的备份数大于标准备份数,设N=累加后的备份数-标准备份数,则控制服务器向存储有所需文件块的负荷最高的N个存储服务器发送释放所需文件块的命令,收到命令的N个存储服务器在所需文件块不被使用时将其删除;若累加后的备份数小于标准备份数,设N'=标准备份数-累加后的备份数,则控制服务器向负荷最轻的N'个没有所需文件块的存储服务器发出备份命令,收到备份命令的N'个存储服务器备份所需文件块;在累加后的备份数与标准备份数相同的吋,将不进行上述删除和备份的过程。通过上述方法,一方面在文件块备份数超出设定的标准备份数时,控制服务器可以控制相关存储服务器释放超出部分的文件块备份,以减轻相关存储服务器的负荷,另ー方面在文件块备份数没有达到设定的标准备份数时,控制服务器可以控制负荷最轻的相关存储服务器进行备份,以达到标准备份数,使多媒体文件获得高读并发。流媒体服务器发送完ー个文件块后,会根据本发明从相应的存储服务器获取下一个文件块,直到播放完成。下面结合附图对上述控制服务器、流媒体服务器、存储服务器以及客户端进行控制和数据处理的详细过程进行具体说明。附图4示出了控制服务器处理流媒体服务器文件块查询服务的流程图,具体包括步骤S201,判断存储服务器上是否存储有所需文件块,如果是执行步骤S202,否则执行步骤S205。步骤S202,判断存储所需文件块的存储服务器的负荷是否小于负荷阈值,如果小于负荷阈值执行步骤S203,否则执行步骤S204。步骤S203,将存储有所需文件块且负荷最小的存储服务器的服务器地址发送给流 媒体服务器。步骤S204,将负荷最小的存储服务器的服务器地址发送给流媒体服务器。步骤S205,确认文件块不存在,并通知流媒体服务器。附图5示出了存储服务器处理流媒体服务器获取文件块数据请求的流程图,具体包括步骤S301,存储服务器判断所需文件块是否存在本地,如果是执行步骤S303,否则执行S302。步骤S302,存储服务器判断其他存储服务器是否存储有所需文件块,如果是执行步骤S304,否则执行步骤S305。步骤S303,向流媒体服务器传输文件块,结束。步骤S304,从其他存储有所需文件块的其他存储服务器获取文件块,并执行步骤S306。步骤S305,确认文件块不存在,并通知流媒体服务器,结束。步骤S306,向流媒体服务器传输所需文件块,并将所需文件块备份到本地,结束。附图6为控制服务器进行文件块备份的步骤流程图,具体包括步骤S401,控制服务器获取所需文件块的标识,并累加计算存储有所需文件块的备份数。步骤S402,比较所需文件块的累加备份数是否大于设定的标准备份数,如果累加备份数大于标准备份数,执行步骤S403 ;如等于则执行步骤S405 ;如小于则执行步骤S404。步骤S403,向存储有所需文件块的负荷最高的存储服务器发送删除备份的命令,收到删除备份命令的存储服务器在所需文件块不被使用时将其删除。步骤S404,向未存储有所需文件块的负荷最轻的至少ー个存储服务器发出备份命令,收到备份命令的存储服务器备份所需文件块。步骤S405,循环获取下一个所需文件块标识,重复步骤S402-S404。附图7示出了客户端访问多媒体文件的基本交互步骤流程图,具体包括步骤S501,客户端发送DESCRIBE请求消息到流媒体服务器。步骤S502,流媒体服务器响应客户端DESCRIBE请求消息,回复应答请求消息。步骤S503,客户端发送SETUP消息,建立视频媒体会话。步骤S504,流媒体服务器响应SETUP消息,回复携带视频传输的參数的应答请求消息。步骤S505,客户端发送PLAY消息,开始视频会话。 步骤S506-S507,流媒体服务器从控制服务器获取PLAY起始时间对应的帧在文件中的偏移值。步骤S508,流媒体服务器响应客户端PLAY消息。步骤S509,流媒体服务器从控制服务器获取所需文件块所在的存储服务器的服务器地址。步骤S510,控制服务器返回一个存储有所需文件块的存储服务器的服务器地址。步骤S511,流媒体服务器根据服务器地址从第一存储服务器获取所需文件块。步骤S512,第一存储服务器向流媒体服务器发送所需文件块的数据。步骤S513,流媒体服务器向客户端发送RTP数据包直到播放结束。步骤S514,流媒体服务器向控制服务器获取下一个所需文件块所在的存储服务器的服务器地址。步骤S515,控制服务器返回一个未存储有所需文件块的存储服务器的服务器地址。步骤S516,流媒体服务器向该未存储有所需文件块的第二存储服务器请求数据。步骤S517-S518,第二存储服务器从其他存储有所需文件块的第三存储服务器获取所需文件块。步骤S519,第二存储服务器向流媒体服务器发送数据。重复S509-S519直到播放结束。步骤S520,客户端停止观看,发送TEARD0WN消息(停止消息)到流媒体服务器。步骤S521,流媒体服务器向客户端回复2000K消息。以上參照

了本发明的优选实施例,本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明。举例而言,作为ー个实施例的部分示出或描述的特征可用于另ー实施例以得到又ー实施例。以上仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效变化,均包含于本发明的权利范围之内。
权利要求
1.一种云存储方法,其特征在于,包括 51.至少两个存储服务器对多媒体文件预先分割成的至少两个文件块分别进行存储; 52.控制服务器协调所述存储服务器的负荷均衡,并为所述多媒体文件建立对应所述存储服务器的文件块索引;以及 53.流媒体服务器接收客户端发送的多媒体文件播放请求,并根据所述控制服务器对各存储服务器负荷均衡的协调,向所述控制服务器指定的存储服务器请求所需文件块。
2.根据权利要求I所述的云存储方法,其特征在于,在所述步骤S3中,当所指定的存储服务器存储有所需文件块时,所指定的存储服务器将所需文件块发送至所述流媒体服务器,再返回给客户端;当所指定的存储服务器未存储有所需文件块时,所指定的存储服务器则从存储有所需文件块的存储服务器中下载所需文件块进行备份,并将所需文件块发送至所述流媒体服务器,再返回给客户端。
3.根据权利要求I或2所述的云存储方法,其特征在于,所述控制服务器对各存储服务器负荷均衡的协调的步骤包括 所述控制服务器根据所述文件块索引检查存储有所需文件块的所有存储服务器的负荷情况,如果有负荷正常的存储服务器,则选择其中负荷较轻的存储服务器并将其服务器地址返回给所述流媒体服务器,作为所述指定的存储服务器;如果没有负荷正常的存储服务器则在未存储有所需文件块的存储服务器中选择负荷较轻的存储服务器并将其服务器地址返回给所述流媒体服务器,作为所述指定的存储服务器。
4.根据权利要求3所述的云存储方法,其特征在于,所述控制服务器对有无负荷正常的存储服务器的判断方法是所述控制服务器预先设定一负荷阈值,如果存在存储服务器的负荷小于该阈值则判断为有负荷正常的存储服务器,如果存储服务器的负荷大于该阈值则判断为没有负荷正常的存储服务器。
5.根据权利要求2所述的云存储方法,其特征在于,还包括当所需文件块在所指定的存储服务器进行备份后,通告所述控制服务器产生新备份的信息。
6.根据权利要求5所述的云存储方法,其特征在于,所述控制服务器收到产生新备份的信息后,还包括控制服务器将已备份数和新备份数进行累加,并将累加后的备份数与预先设定的标准备份数进行比较,若累加后的备份数大于标准备份数,则向存储有所需文件块的负荷最高的至少一个存储服务器发送删除备份的命令,收到删除备份命令的存储服务器在所需文件块不被使用时将其删除;若累加后的备份数小于或等于标准备份数,则向未存储有所需文件块的负荷最轻的至少一个存储服务器发出备份命令,收到备份命令的存储服务器备份所需文件块。
7.—种云存储系统,其特征在于包括至少两个存储服务器、控制服务器、流媒体服务器,所述控制服务器、流媒体服务器以及所述存储服务器相互之间通过网络连接;其中 所述存储服务器用于对多媒体文件预先分割成的至少两个文件块分别进行存储; 所述控制服务器用于协调所述存储服务器的负荷均衡,并为所述多媒体文件建立对应所述存储服务器的文件块索引; 所述流媒体服务器与客户端通信连接,用于接收客户端的多媒体文件播放请求,并根据所述控制服务器的协调,向所述控制服务器指定的存储服务器请求所需文件块。
8.根据权利要求7所述的云存储系统,其特征在于所述存储服务器包括存储判断模块,用于判断本地是否存储有所需文件块; 备份模块,与所述存储判断模块连接,用于当本地未存储有所需文件块时,从存储有所需文件块的存储服务器中下载所需文件块进行备份,产生所需文件块的新备份;以及传输模块,用于向所述流媒体服务器传输所需文件块。
9.根据权利要求8所述的云存储系统,其特征在于所述控制服务器包括 索引建立模块,用于为所述多媒体文件建立对应所述存储服务器的文件块索引; 负荷判断模块,用于根据所述文件块索引检查存储有所需文件块的所有存储服务器的负荷情况,判断是否有负荷正常的存储服务器; 发送模块,用于根据所述负荷判断模块的负荷判断,发送所述指定的存储服务器的地址给所述流媒体服务器;以及 累加模块,用于当产生所需文件块的新备份时,将已备份数和新备份数进行累加;所述负荷判断模块还用于比较累加后的备份数和预先设定的标准备份数;所述发送模块还用于根据负荷判断模块的判断,发送删除备份命令或进行备份命令给相应的存储服务器。
10.根据权利要求7所述的云存储系统,其特征在于所述流媒体服务器包括 接收模块,用于接收客户端发送的多媒体文件播放请求; 请求发送模块,用于向指定的存储服务器发送获取所述多媒体文件播放请求对应的所需文件块的请求;以及 文件块发送模块,用于将所需文件块发送至所述客户端。
全文摘要
本发明提供了一种云存储方法及云存储系统,该方法包括以下步骤至少两个存储服务器对多媒体文件预先分割成的至少两个文件块分别进行存储;控制服务器控制和协调存储服务器的负荷均衡,并为多媒体文件建立对应存储服务器的文件块索引;以及流媒体服务器接收客户端发送的多媒体文件播放请求,并根据控制服务器对各存储服务器负荷均衡的协调,向控制服务器指定的存储服务器请求所需文件块。本发明在实现高读并发的同时,通过控制服务器控制和协调存储服务器的负荷均衡,减小了相关存储服务器的负荷。
文档编号H04L29/08GK102769666SQ20121022293
公开日2012年11月7日 申请日期2012年6月30日 优先权日2012年6月30日
发明者李磊磊 申请人:安科智慧城市技术(中国)有限公司, 杭州天视智能系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1