一种云存储系统及其数据存取方法与流程

文档序号:14253098阅读:393来源:国知局
一种云存储系统及其数据存取方法与流程

本发明涉及计算机及网络信息技术领域,尤其涉及一种云存储系统及其数据存储方法。



背景技术:

随着计算机和网路的不断发展及高清视频的普及,存储多媒体所需的空间不断的增长,传统的存储架构已经很难满足需求。云存储以其海量的存储空间、高可靠性、高并发、高可扩展性及高性价比等特性逐渐展露头角。以google文件系统gfs为代表的主流云存储文件系统,出于数据一致性的考虑,整个集群内一般逻辑上只有一个云控制服务器。云控制服务器虽然不存储实际数据,但云控制服务器需要监控云存储服务器的运行状态,同时文件的读写操作都需要云控制服务器协调,随着云存储服务器数量的增多,云控制服务器负荷沉重,因而云控制服务器的性能制约着云存储的规模。



技术实现要素:

本发明要解决的技术问题是提供一种云存储系统及其数据存储方法,以缓解云控制服务器性能对云存储系统并发能力及规模的制约。

本发明解决上述技术问题所采用的技术方案如下:

根据本发明的一个方面,提供的一种云存储系统包括通过网络连接的:采集端、至少两台云控制服务器和至少两台云存储服务器,采集端用于将多媒体数据按采样时间分割成能独立播放的至少两个多媒体数据块存储到不同的云存储服务器中;采集端还用于根据预设的散列函数和多媒体源标识确定云控制服务器,将多媒体数据块的信息保存到所确定的云控制服务器中。云存储服务器用于分别存储多媒体数据块和根据接收到的下载请求发送指定的多媒体数据块;云控制服务器用于保存多媒体数据块的信息和根据接收到的查询请求反馈指定的多媒体数据块所在的云存储服务器;优选地,采集端具体用于将多媒体源标识使用预设的散列函数映射到云控制服务器编号。优选地,散列函数包括:md4、md5或sha-1。优选地,云存储系统还包括与云控制服务器和云存储服务器通过网络连接的客户端,客户端用于根据与采集端相同的预设的散列函数和多媒体源标识确定云控制服务器,向所确定的云控制服务器查询所需的多媒体数据块所在的云存储服务器,从查询到的云存储服务器获取所需的多媒体数据块。

根据本发明的另一个方面,提供的一种云存储系统的数据存取方法包括:当存储数据时,采集端根据预设的散列函数和多媒体源标识确定云控制服务器,将多媒体数据按采样时间分割成能独立播放的多媒体数据块存储到不同的云存储服务器中,并将多媒体数据块的相关信息保存到确定的云控制服务器中;当获取数据时,客户端根据与采集端相同的预设的散列函数和多媒体源标识确定云控制服务器,向确定的云控制服务器查询所需的多媒体数据块所在的云存储服务器,从查询到的云存储服务器获取所需的多媒体数据块。优选地,多媒体数据块的信息包括:多媒体数据块标识、多媒体源标识、云存储服务器标识、开始时间和结束时间。优选地,根据预设的散列函数和多媒体源标识确定云控制服务器具体包括:对至少两台云控制服务器进行编号;将多媒体源标识使用预设的散列函数映射到云控制服务器的编号。优选地,散列函数包括:md4、md5或sha-1。优选地,向确定的云控制服务器查询所需的多媒体数据块所在的云存储服务器包括:根据多媒体源标识和开始时间向云控制服务器查询第一个多媒体数据块所在的云存储服务器;和/或根据多媒体源标识和上一个多媒体数据块的结束时间向云控制服务器查询下一个多媒体数据块所在的云存储服务器。

本发明提供的系统和方法,跟现有技术相比,由于使用多个云控制服务器,提高了云存储系统的读写并发能力,同时,对云控制服务器按多媒体源通过预设的散列函数进行管辖范围分工,保证了各云控制服务器负载的均衡性和一致性。

附图说明

图1为本发明实施例提供的一种云存储系统的结构示意图;

图2为本发明优选实施例提供的一种云存储系统的模块结构图;

图3为本发明实施例提供的一种数据存储方法的流程图;

图4为本发明优选实施例提供的一种数据获取方法的流程图;

图5为本发明优选实施例提供的一种视频数据获取方法的流程图。

具体实施方式

以下结合附图和实施例,对本发明进行进一步详细说明。

图1和图2和本发明实施例提供的一种云存储系统包括通过网络相连的客户端40、采集端30、至少两台云控制服务器20和至少两台云存储服务器10,其中:云存储服务器10,用于分别存储采集端30按采样时间分割的能独立播放的多媒体数据块;还用于接收客户端40的请求向客户端40发送所需的多媒体数据块;进一步地,云存储服务器10包括数据存储模块101和下载模块102,数据存储模块101用于存储采集端30上传的多媒体数据块,下载模块102用于接收客户端40的请求向客户端40发送所需的多媒体数据块。数据存储模块101可以存储至少两个多媒体数据块,所有云存储服务器10上存储的多媒体数据块的总数目决定了云存储系统的规模。云控制服务器20,用于保存云存储服务器10中存储的多媒体数据块的相关信息;还用于接收客户端40的请求向客户端40反馈指定的多媒体数据块所在的云存储服务器10。

进一步地,云控制服务器20包括信息存储模块201和信息查询模块202,信息存储模块201用于保存云存储服务器10中存储的多媒体数据块的相关信息;其中,多媒体数据块的相关信息包括:多媒体数据块标识、多媒体源标识、云存储服务器标识、开始时间和结束时间,具体可以利用数据库保存多媒体数据块信息。信息查询模块202用于接收客户端40的请求向客户端40反馈指定的多媒体数据块所在的云存储服务器10。采集端30,将多媒体数据按采样时间分割成能独立播放的多媒体数据块存储到不同的云存储服务器10中,并将多媒体数据块的相关信息保存到根据预设的散列函数和多媒体源标识确定的云控制服务器20中;具体来说,每台云控制服务器通过0到n-1编号,采集端使用预设的散列函数,将多媒体源标识映射到区间[0,n-1]上,得到云控制服务器的编号,将多媒体数据块的信息保存到所述编号对应云控制服务器中。客户端40,用于根据与采集端相同的预设的散列函数和多媒体源标识确定云控制服务器20,向所确定的云控制服务器20查询所需的多媒体数据块所在的云存储服务器10,从查询到的云存储服务器10获取所需的多媒体数据块。

本发明提供的系统,由于使用多个云控制服务器,提高了云存储系统的读写并发能力,同时,对云控制服务器按多媒体源通过预设的散列函数进行管辖范围分工,保证了各云控制服务器负载的均衡性和一致性。

如图3为本发明实施例提供的一种数据存储方法的流程图,该方法包括以下步骤:

s301、根据预设的散列函数和多媒体源标识确定云控制服务器;本步骤之前,对每台云控制服务器通过0到n-1编号,预设散列函数,使其散列函数在任何输入参数之下得到的结果都在[0,n-1]区间上,这样确保将多媒体源标识都能映射到服务器的编号上,得到云控制服务器的编号,将多媒体数据块的信息保存到所述编号对应云控制服务器中。具体来说,使用预设的散列函数,根据多媒体源标识计算云控制服务器的编号,从而选择对应的云控制服务器。也就是说将多媒体源标识使用预设的散列函数映射到云控制服务器的编号。其中,散列函数可以有多种选择,例如md4、md5、sha-1等。

s302、将多媒体数据按采样时间分割成能独立播放的多媒体数据块存储到不同的云存储服务器中,并将多媒体数据块的相关信息保存到所确定的云控制服务器中。通过本实施例,根据多媒体源标识通过散列函数来选择云控制服务器,以便各云控制服务器有序的分工管理,同时也均衡了负载。

如图4为本发明实施例提供的一种数据获取方法的流程图,该方法包括以下步骤:

s401、根据预设的散列函数和多媒体源标识确定云控制服务器;具体来说,使用事先确定的散列函数,根据多媒体源标识计算云控制服务器的编号,从而选择对应的云控制服务器。其中,散列函数可以有多种选择,例如md4、md5、sha-1等。需要说明的是,步骤s401和s301必须使用相同的散列函数确保同一多媒体源标识所计算得到的云控制服务器编号一致。

s402、向所确定的云控制服务器查询所需的多媒体数据块所在的云存储服务器;具体地,客户端可以根据多媒体源标识和开始时间向云控制服务器查询第一个多媒体数据块所在的云存储服务器;还可以根据多媒体源标识和上一个多媒体数据块的结束时间向云控制服务器查询下一个多媒体数据块所在的云存储服务器。

s403、从查询到的云存储服务器获取所需的多媒体数据块。具体地,客户端从云控制服务器获取所需的多媒体数据块所在的存储服务后,与所需的多媒体数据块所在的云存储服务器建立会话,接收所需的多媒体数据块。

如图5为本发明优选实施例提供的一种视频数据的获取方法的流程图,包括以下步骤:

s501、客户端根据预设的散列函数和所需视频数据的视频源标识确定云控制服务器;本方法是在各云控制服务器之间不进行数据同步的情况下描述的,如果能保证各云控制服务器数据一致性的情况下,则读取数据块时可以任选云控制服务器,也就是说不需要步骤s501。

s502、客户端根据所需视频数据的视频源标识和开始时间向云控制服务器请求第一个视频数据块所在的云存储服务器;其中,视频源标识和开始时间一般由调阅历史视频的用户设定的。用户一般通过客户端设置所需调阅视频数据的视频源标识、开始时间、截止时间等。

s503、云控制服务器向客户端反馈第一个数据块所在的云存储服务器1;

s504、客户端与云存储服务器1建立会话,请求第一个视频数据块;

s505、云存储服务器1向客户端发送第一个数据块;

s506判断当前获取到的多媒体数据块的结束时间是否为预设的截止时间,若否执行步骤s507,否则结束流程;

s507、客户端根据所需视频数据的视频源标识和上一个数据块结束时间向云控制服务器查询下一个视频数据块所在的云存储服务器;

s508、云控制服务器向客户端反馈下一个视频数据块所在的云存储服务器2;

s509、客户端与云存储服务器2建立会话,请求下一个视频数据块;

s510、云存储服务器2向客户端发送下一个视频数据块。

循环执行步骤s506-s510,直到当前获取到的视频数据块的结束时间为预设的截止时间,即,接收完所需的视频数据为止。为了节省客户端的资源,提高客户端的效率,当客户端每接收一个视频数据块完成后,可以断开与当前云存储服务器的会话。

本发明提供的系统和方法,跟现有技术相比,由于使用多个云控制服务器,提高了云存储系统的读写并发能力,同时,对云控制服务器按多媒体源通过预设的散列函数进行管辖范围分工,保证了各云控制服务器负载的均衡性和一致性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1