公开/公告号CN103237063A
专利类型发明专利
公开/公告日2013-08-07
原文格式PDF
申请/专利权人 安科智慧城市技术(中国)有限公司;
申请/专利号CN201310125446.2
发明设计人 李磊磊;
申请日2013-04-11
分类号H04L29/08(20060101);
代理机构44298 广东广和律师事务所;
代理人曹建军
地址 518054 广东省深圳市福田区深南大道特区报业大厦1306房
入库时间 2024-02-19 19:28:57
法律状态公告日
法律状态信息
法律状态
2022-06-03
专利权的转移 IPC(主分类):H04L29/08 专利号:ZL2013101254462 登记生效日:20220524 变更事项:专利权人 变更前权利人:精宸智云(武汉)科技有限公司 变更后权利人:深圳科卫机器人科技有限公司 变更事项:地址 变更前权利人:430000 湖北省武汉市东湖新技术开发区茅店山西路8号创星汇科技园D-301号 变更后权利人:518000 广东省深圳市南山区沙河街道侨香路4068号智慧广场C栋2楼201
专利申请权、专利权的转移
2017-11-10
专利权的转移 IPC(主分类):H04L29/08 登记生效日:20171024 变更前: 变更后: 申请日:20130411
专利申请权、专利权的转移
2017-11-10
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L29/08 变更前: 变更后: 申请日:20130411
专利权人的姓名或者名称、地址的变更
2016-12-28
授权
授权
2013-09-04
实质审查的生效 IPC(主分类):H04L29/08 申请日:20130411
实质审查的生效
2013-08-07
公开
公开
查看全部
技术领域
本发明涉及计算机及网络信息技术领域,尤其涉及一种云存储方法及其云 控制服务器、云存储服务器和系统。
背景技术
随着计算机和网路的不断发展及高清视频的普及,存储多媒体所需的空间 不断的增长,传统的存储架构已经很难满足需求。云存储以其海量的存储空间、 高可靠性、高并发、高可扩展性及高性价比等特性逐渐展露头角。
为了实现云存储的高可靠性,主流云存储系统一般是以副本的方式实现容 错的。数据或者文件被分割成一定大小的数据块,而每个数据复制至少两个副 本保存到不同的云存储服务器上。采样副本无疑是最简单、最可靠、最有效而 且实现难度最小的一种方式,但显然空间利用率并不理想。
发明内容
有鉴于此,本发明要解决的技术问题是提供一种云存储方法及其云控制服 务器、云存储服务器和系统,用以提高容错能力的同时,提高存储空间的利用 率。
本发明解决上述技术问题所采用的技术方案如下:
根据本发明的一个方面,提供的一种云存储方法,用于存取监控视频数据, 其特征在于,该方法包括:
接收客户端上传监控视频文件的请求,其中,监控视频文件为预先按相同 的采样时间长度分割成的能独立播放的至少两个数据块;
将同一时间段内采集的不同监控视频文件的数据块按n个一组进行分组, 其中,n为大于1的整数;
将每组的n个数据块以及根据n个数据块产生的一个校验块分别存储到不 同的云存储服务器中。
优选地,上述将每组的n个数据块以及根据n个数据块产生的一个校验块 分别存储到不同的云存储服务器中的步骤包括:
选择当前负荷较轻的n+1台云存储服务器分别存储每组的n个数据块和一 个校验块;存储数据块的云存储服务器接收并保存客户端上传的数据块,并将 数据块转发给存储校验块的云存储服务器进行缓存;存储校验块的云存储服务 器缓存完该组的n个数据块后,根据缓存的该组的n个数据块产生一个校验块 并保存。
优选地,上述根据缓存的该组的n个数据块产生一个校验块是对该组的n 个数据块进行异或操作产生一个校验块。
优选地,上述根据缓存的该组的n个数据块产生一个校验块之前还包括: 当缓存的n个数据块长度不一致时,将长度短的数据块的数据尾部用0补足为 一致;
优选地,上述根据缓存的该组的n个数据块产生一个校验块之后还包括: 清除缓存的n个数据块。
优选地,上述方法之后还包括:
当获知有数据块丢失时,云控制服务器选择一云存储服务器根据该组校验 块和其他数据块恢复并保存丢失的数据块;或云控制服务器自身根据该组校验 块和其他数据块恢复丢失的数据块,并存储到一云存储服务器中。
根据本发明的另一个方面,提供的一种云控制服务器包括请求接收模块、 分组模块和控制模块,其中:
请求接收模块,用于接收客户端上传监控视频文件的请求,监控视频文件 为预先按相同的采样时间长度分割成的能独立播放的至少两个数据块;
分组模块,用于将同一时间段内采集的不同监控视频文件的数据块按n个 一组进行分组,其中n为大于1的整数;
控制模块,用于将每组的n个数据块以及根据n个数据块产生的一个校验 块分别存储到不同的云存储服务器中。
优选地,控制模块具体用于:选择当前负荷较轻的一云存储服务器根据该 组的n个数据块产生一个校验块并保存,负荷较轻的n台云存储服务器分别存 储该组的n个数据块。
优选地,上述云控制服务器还包括恢复模块,用于获知有数据块丢失时, 选择一云存储服务器根据该组校验块和其他数据块恢复并保存丢失的数据块; 或自身根据该组校验块和其他数据块恢复丢失的数据块,并存储到一云存储服 务器中。
根据本发明的又一个方面,提供的一种云存储服务器包括存储模块、转发 模块和校验块生成模块,其中:
存储模块,用于保存接收到的数据块;
转发模块,用于存储数据块时,将接收到的数据块转发给存储校验块的云 存储服务器进行缓存;
校验块生成模块,用于缓存完每组的n个数据块后,对缓存的n个数据块 进行异或操作产生校验块并保存。
优选地,云存储服务器还包括:
补足模块,用于当缓存的n个数据块长度不一致时,将长度短的数据块的 数据尾部用0补足为一致;
清除模块,用于当该组的n个数据块产生校验块之后清除缓存的n个数据 块;
根据本发明的再一个方面,提供的一种监控视频数据的云存储系统用于存 取监控视频数据,该云存储系统包括通过网络连接的上述云控制服务器和至少 三台上述云存储服务器。
优选地,上述云存储系统还包括与云控制服务器和云存储服务器通过网络 连接的客户端,其中:
客户端,用于向云控制服务器发送上传监控视频文件的请求,并向云控制 服务器反馈的云存储服务器发送将监控视频文件预先按相同的采样时间长度分 割成的能独立播放的数据块。
根据本发明实施例的云存储方法及其云控制服务器、云存储服务器和系统, 将同一时间段内采集的不同监控视频文件的数据块进行分组,每组产生一个校 验块,将数据块和校验块分存到不同的存储服务器,能够实时并发写入监控视 频数据流,增强了系统的容错能力,并提高了存储空间的利用率。
附图说明
图1为本发明实施例提供的一种监控视频数据的云存储方法流程图;
图2为本发明优选实施例提供的一种监控视频数据的上传方法流程图;
图3为本发明优选实施例提供的一种监控视频数据的下载方法流程图;
图4为本发明优选实施例提供的一种云控制服务器的模块结构示意图;
图5为本发明优选实施例提供的一种云存储服务器的模块结构示意图;
图6为本发明优选实施例提供的一种云存储系统结构示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白, 以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描 述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了便于描述,下面将来自于同一视频源的监控视频数据称为一个监控视 频文件。
如图1所示为本发明实施例提供的一种云存储方法流程图,图中:
S101、接收客户端上传监控视频文件的请求,其中,监控视频文件为预先 按相同的采样时间长度分割成的能独立播放的至少两个数据块;
具体地,客户端向云控制服务器发送上传监控视频文件的请求,监控视频 文件为预先根据采样时间按相同的时间段分割成可以独立播放的数据块。例如, 对每个监控视频文件,可以按0点到1点、1点到2点…等相同的采样时间段分 割成数据块。
S102、将同一时间段内采集的不同监控视频文件的数据块按n个一组进行 分组,其中,n为大于1的整数;
本步骤中,不同监控视频文件为不同视频源的监控视频数据。n的大小可以 根据硬件系统的可靠性、期望的文件可靠性、磁盘空间利用率等因数来选择。
S103、将每组的n个数据块以及根据n个数据块产生的一个校验块分别存 储到不同的云存储服务器中。
优选地,云控制服务选择当前负荷较轻的n+1台云存储服务器分别存储每 组的n个数据块和一个校验块,其中,存储校验块的云存储服务器的负荷小于 等于存储数据块的云存储服务器的负荷。存储数据块的云存储服务器接收并保 存客户端上传的数据块,并将数据块转发给存储校验块的云存储服务器进行缓 存;存储校验块的云存储服务器缓存完该组的n个数据块后,根据缓存的该组 的n个数据块产生一个校验块并保存。
进一步地,根据缓存的该组的n个数据块产生一个校验块是对该组的n个 数据块进行异或操作产生一个校验块。
优选地,为了提高可靠性,根据缓存的该组的n个数据块产生一个校验块 之前还包括:当缓存的n个数据块长度不一致时,将长度短的数据块的数据尾 部用0补足为一致;由于所存的是视频数据,会有一定的格式,容易去除补足 的0。
优选地,为了节省存储空间,根据缓存的该组的n个数据块产生一个校验 块之后还包括:清除缓存的n个数据块。
作为本实施例的另一个优选实例:该方法之后还包括:
当获知有数据块丢失时,云控制服务器选择一云存储服务器根据该组校验 块和其他数据块恢复并保存丢失的数据块;或云控制服务器自身根据该组校验 块和其他数据块恢复丢失的数据块,并存储到一云存储服务器中。
根据本发明实施例的方法,将同一时间段内采集的不同监控视频文件的数 据块进行分组,每组产生一个校验块,将数据块和校验块分存到不同的存储服 务器,在云存储高容量、高可靠性、高可扩展性的基础上,能够实时并发写入监 控视频数据流,增强了系统的容错能力,同时相对于副本方式的容错实现方案, 提高了存储空间的利用率。
如图2所示为本发明优选实施例提供的一种监控视频数据的上传方法流程 图,图中:
S201、客户端1向云控制服务器请求上传视频监控文件;
S202、云控制服务器选择一个负荷较轻的云存储服务器即云存储服务器n+1 生成和存放校验块,通知云存储服务器n+1准备接收并缓存来自客户端1的数 据流;
需要说明地是,云存储服务器n+1不是固定的,对于不同的数据块组,云 存储服务器n+1是不一样的。缓存数据块用于生产校验块,且在校验块生产后 就会清除。
S203、云控制服务器选择一个负荷较轻的云存储服务器即云存储服务器1, 通知其准备接收存储来自客户端1的数据块,并转发给云存储服务器n+1;
S204、云控制服务器将云存储服务器1的信息反馈给客户端1;
S205、客户端1发送数据流给云存储服务器1;
S206、云存储服务器1存储接收到的数据流并将其转发给云存储服务器n+1, 其转发速率可能小于接收速率;
S207、客户端2向云控制服务器请求上传视频数据;
S208、云控制服务器通知云存储服务器n+1准备接收并缓存来自客户端2 的数据流;
S209、云控制服务器选择一个负荷较轻的云存储服务器,即云存储服务器2, 通知其准备接收存储来自客户端2的数据块,并转发给云存储服务器n+1;
S210、云控制服务器将云存储服务器2的信息反馈给客户端2;
S211、客户端2发送数据流给云存储服务器2;
S212、云存储服务器2存储接收到的数据流并将其转发给云存储服务器 n+1,转发速率可能小于接收速率;
...
S213、客户端n向云控制服务器请求上传视频数据;
S214、云控制服务器通知云存储服务器n+1准备接收并缓存来自客户端n 的数据流;
S215、云控制服务器选择一个负荷较轻的云存储服务器,即云存储服务器n, 通知其准备接收存储来自客户端n的数据块,并转发给云存储服务器n+1;
S216、云控制服务器通知云存储服务器n+1生成n路数据流的校验块;云 存储服务器n+1开始将缓存的数据进行异或操作,生产校验块。
具体地,一开始只可能设置最大值,后续并发写入的数据块数目可能达不 到这个数值。生产校验块按照客户端上传数据块请求顺序决定的,根据同一时 间段内的请求顺序,每n(事先选定的最大值)生产一个校验块。分组之间互相 独立。多组产生的至少两个校验块有可能放置在同一个云存储服务器中。
S217、云控制服务器将云存储服务器n的信息反馈给客户端n;
S218、客户端n发送数据流给云存储服务器n;
需要说明地是,上述S216和S217-S218是不分先后的,收到“云控制服务 器通知云存储服务器n+1生成n路数据流的校验块”是开始生产校验块的必要 非充分条件,另一个必要条件是n路数据流均开始缓存。
S219、云存储服务器n+1存储接收到的数据流并将其转发给云存储服务器, 转发速率可能小于接收速率;
S220、云存储服务器n+1待所有数据流转发结束后,完成校验块的生产, 并持久化(持久化是缓存的反义词),清除缓存的n个数据块。
通过本实施例的方法,能够实时并发写入多路视频数据流,将同一时间段 内采集的不同监控视频文件的数据块进行分组,每组产生一个校验块以备数据 块丢失时的恢复,增强了系统的容错能力,同时相对于副本方式的容错实现方 案,提高了存储空间的利用率。
如图3所示为本优选实施例提供的一种下载监控视频数据的方法流程图, 图中:
S301、播放端向云控制服务器发出下载请求;
S302、云控制服务器判断是否有数据块丢失,若是,则执行步骤S303,若 否,则执行S304;
S303、根据校验块和其它数据块信息恢复并保存丢失的数据块;
本步骤可以通过以下方式实现:云控制服务器选择一云存储服务器令其根 据校验块及其它数据块恢复丢失的数据块并存储;
作为另一种替换方案,本步骤还也可以:云控制服务器自己根据校验块及 其它数据块恢复丢失的数据块,将存储到一云存储服务器。
S304、云控制服务器将存储服务器的信息反馈给播放端;
S305、播放端从相应的存储服务器下载视频数据。
通过本实施例的方法,通过校验块和其它数据块信息恢复丢失的数据块, 使得播放端可以下载丢失的数据块,提高了系统的可靠性。
如图4所示为本发明优选实施例提供的一种云控制服务器的模块结构示意 图,云控制服务器20包括请求接收模块201、分组模块202和控制模块203, 其中:
请求接收模块201,用于接收客户端上传监控视频文件的请求,监控视频文 件为预先按相同的采样时间长度分割成的能独立播放的至少两个数据块;
分组模块202,用于,用于将同一时间段内采集的不同监控视频文件的数据 块按n个一组进行分组,其中n为大于1的整数;
控制模块203,用于将每组的n个数据块以及根据n个数据块产生的一个校 验块分别存储到不同的云存储服务器中。
优选地,控制模块203具体用于:选择当前负荷较轻的一云存储服务器根 据该组的n个数据块产生一个校验块并保存,负荷较轻的n台云存储服务器分 别存储该组的n个数据块。
优选地,云控制服务器20还包括恢复模块204,用于获知有数据块丢失时, 选择一云存储服务器根据该组校验块和其他数据块恢复并保存丢失的数据块; 或自身根据该组校验块和其他数据块恢复丢失的数据块,并存储到一云存储服 务器中。
本发明实施例的云控制服务器,将同一时间段内采集的不同监控视频文件 的数据块进行分组,控制每组产生一个校验块,将数据块和校验块分存到不同 的存储服务器,能够实时并发写入监控视频数据流,增强了系统的容错能力, 同时相对于副本方式的容错实现方案,提高了存储空间的利用率。
图5为本发明优选实施例提供的一种云存储服务器的模块结构示意图,云 存储服务器30包括存储模块301、转发模块302和校验块生成模块304,作为 优选的方式,还可以包括补足模块303和清除模块305,其中:
存储模块301,用于保存接收到的数据块;
转发模块302,用于存储数据块时,将接收到的数据块转发给存储校验块的 云存储服务器进行缓存;
补足模块303,用于当缓存的n个数据块长度不一致时,将长度短的数据块 的数据尾部用0补足为一致;
校验块生成模块304,用于缓存完每组的n个数据块后,对缓存的n个数据 块进行异或操作产生校验块并保存。
清除模块305,用于对该组的n个数据块产生校验块之后清除缓存的n个数 据块;
需要说明的是,云存储服务器根据功能可以分为两种角色,即存储校验块 和存储数据块。当作为存储数据块的云存储服务器时,补足模块303、校验块生 成模块304、清除模块305可以不工作或省略,当作为存储校验块的云存储服务 器时,转发模块302可以不工作或省略。
本发明实施例的云存储服务器,分别存储每组的n个数据块以及根据该组 的n个数据块产生的一个检验块并保存,增强了系统的容错能力,同时相对于副 本方式的容错实现方案,提高了存储空间的利用率。
如图6所示为本发明优选实施例提供的一种云存储系统结构示意图,该云 存储系统用于存取监控视频数据,包括:通过网络连接的客户端10、云控制服 务器20和至少三台云存储服务器30,其中:
客户端10,用于向云控制服务器20发送上传传监控视频文件的请求,并向 云控制服务器20反馈的云存储服务器30发送将监控视频文件预先按相同的采 样时间长度分割成的能独立播放的数据块。
云控制服务器20,用于接收客户端10上传监控视频文件的请求,将同一时 间段内采集的不同监控视频文件的数据块按n个一组进行分组,并控制将每组 的n个数据块以及根据n个数据块产生的一个校验块分别存储到不同的云存储 服务器中。
其中,n为大于1的整数,监控视频文件为预先按相同的采样时间长度分割 成的能独立播放的至少两个数据块。云控制服务器20为云存储系统的管理节点, 逻辑上只有一个。用于维护云存储服务器30的状态信息、利用数据库保存和查 询数据块信息,其中数据块信息包括数据块标识、视频源标识、开始时间、结 束时间以及存储该数据块的云存储服务器标识等。
云存储服务器30,用于分别存储每组的n个视频数据块以及根据n个数据 块产生的一个校验块。
其中,云存储服务器30的数目决定了云存储的规模,还用于根据接收到的 下载请求发送指定的数据块。
需要说明地是,上述图4和图5的技术方案在本实施例中同样适用,当然, 云控制服务器20和云存储服务器30还包括一些其他公知的模块,这里不重述。
根据本发明实施例的系统,将同一时间段内采集的不同监控视频文件的数 据块进行分组,每组产生一个校验块,将数据块和校验块分存到不同的存储服 务器,在云存储高容量、高可靠性、高可扩展性的基础上,能够实时并发写入监 控视频数据流,增强了系统的容错能力,同时相对于副本方式的容错实现方案, 提高了存储空间的利用率。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范 围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本 发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在 运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明 的权利范围之内。
机译: 云存储,客户端,应用服务器和云存储系统中的文件上传方法
机译: 云存储服务器的视频存储和检索方法以及视频云存储系统
机译: 云存储及云存储系统中的文件上传方法,客户端及应用服务器