一种视频处理方法及系统、分布式对象存储系统与流程

文档序号:12498334阅读:167来源:国知局
本发明属于移动互联网
技术领域
:,更具体的说,是涉及一种视频处理方法及系统、分布式对象存储系统。
背景技术
::在移动互联网时代,每个人都是视频的创作者,利用便携的移动设备,例如:手机、PAD等进行实时拍摄美景、拍摄正在发生的事等,然后将视频上传到网上与他人分享。用户上传的视频可称为UGC(UserGeneratedContent,用户原创内容)视频,随着UGC视频文件的日日剧增,给视频网站的视频文件存储和视频生产带来巨大的挑战。视频生产是指从用户上传视频到视频网站,视频网站内部对视频进行一系列的处理的过程,如内容合法性审核、元数据获取、截图、并将用户上传的视频转换成不同码率的视频文件,以适配各种不同的播放设备,最后将转换后的视频文件分发到CDN中供用户播放。传统的视频存储系统都是在客户端上基于POSIX接口来对文件进行读、写处理,POSIX全称是PortableOperatingSystemInterface即可移植操作系统接口,是为各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,例如NFS、GlusterFS等存储文件系统。这类视频存储系统是通过客户端的方式将服务端的文件系统通过网络挂载到本地,然后通过POSIX接口访问服务器端的视频文件,属于挂载模式,在处理视频文件过程中需要将视频文件的所有内容从服务器上下载到客户端。在大规模分布式存储中这种方式存在一些缺陷,比如:需要将服务端存储以卷的方式挂载到客户端,这样随着客户端越来越多,维护挂载则越来越麻烦,客户端与服务端之间高度耦合,导致运维成本增加;对单个视频文件进行获取文件总大小、获取文件内容、获取视频尺寸、分辨率、像素比、显示比例、采样率、播放时长、帧率,以及对视频进行随机截图等操作,其实只是需要视频局部信息和内容,但客户端挂载方式则需要将整个文件下载到本地之后在通过POSIX接口进行处理,这样既耗时又消耗网络带宽,从而无法满足用户需求。为解决上述技术中的问题,目前已经提出使用分布式对象存储系统来存储视频文件,在分布式对象存储系统中,查找出文件存放在集群中的哪个位置是一个较为复杂的过程,客户端通过已知的对象名向集群中Proxy节点服务发出下载或者其它请求,Proxy节点服务根据对象名和集群全局的元数据,即:所有存储节点IP,服务端口,存储节点磁盘挂载点以及磁盘权重等,这些信息在整个集群生命周期中是极少变更的,根据一定的HASH算法计算出对象所在的存储节点和在存储节点中完整的文件名,然后将客户端请求转发到存储节点中的存储服务上,存储节点中的存储服务处理完请求之后在将请求返回给Proxy节点服务,最后在由Proxy节点服务将结果返回给客户端。在整个过程中Proxy节点除了计算对象存储位置之外,最大的作用就是请求转发,而在视频生产中,这种转发请求会消耗一定的生产时间,影响生产效率。技术实现要素:有鉴于此,本发明提供了一种视频处理方法及系统、分布式对象存储系统,以解决现有技术中由于在分布式对象存储系统中Proxy节点在计算对象存储位置的基础上,还要进行用户请求转发,转发请求会消耗一定的生产时间,影响生产效率的问题。为实现上述目的,本发明提供如下技术方案:一种视频文件处理方法,应用于分布式对象存储系统,所述分布式对象存储系统包括Proxy节点、存储节点和客户端SDK,其中,所述Proxy节点用于集群信息元数据管理中间件服务,所述存储节点用于视频处理服务,所述客户端SDK定时异步获取所述Proxy节点上的集群元数据并缓存在本地服务器上,该方法包括:S1、接收包含视频文件对应的URL的用户请求,并发送至所述SDK对应的操作接口,所述URL为预先存储在所述分布式对象存储系统中的所述视频文件唯一确定的,所述URL包括:集群统一入口IP和集群统一服务端口号或所述视频文件的文件名;S2、根据所述URL确定所述URL所在的具体存储节点、服务端口以及在所述具体存储节点上的完整文件名;S3、将所述完整文件名发送至所述具体存储节点,根据所述用户请求的操作类型和所述完整的文件名进行对应的任务操作,并将操作结果返回至所述SDK。具体的,所述步骤S2包括:S21、根据所述URL对应的所述集群统一入口IP和所述集群统一服务端口号或所述视频文件的文件名判断所述本地服务器上是否存在所述URL对应的集群元数据信息,若是,则进入步骤S22,若否,则进入步骤S23;S22、根据所述URL和所述集群元数据信息计算所述URL所在的具体存储节点、服务端口以及在所述具体存储节点上的完整文件名;S23、发送请求到所述Proxy节点获取集群元数据信息,并将所述集群元数据反馈至所述SDK,则返回至步骤S21。具体的,所述步骤S22包括:S221、根据HASH算法计算所述URL所在的具体存储节点、服务端口以及在存储节点中完整的文件名;S222、将所述用户请求转发到所述存储节点上的所述存储节点。其中,所述集群元数据包括:所有存储节点IP、各个服务端口号、存储节点磁盘挂载点、磁盘在集群中的权重信息。其中,所述用户请求的操作类型包括:获取文件总大小、获取文件内容、获取文件SHA1、获取视频尺寸、分辨率、像素比、显示比例、采样率、播放时长、帧率,以及对视频进行随机截图。一种视频文件处理系统,应用于分布式对象存储系统,所述分布式对象存储系统包括Proxy节点、存储节点和客户端SDK,其中,所述Proxy节点用于集群信息元数据管理中间件服务,所述存储节点用于视频处理服务,所述客户端SDK定时异步获取所述Proxy节点上的集群元数据并缓存在本地服务器上,该系统包括:接收单元,用于接收包含视频文件对应的URL的用户请求,并发送至所述SDK对应的操作接口,所述URL为预先存储在所述分布式对象存储系统中的所述视频文件唯一确定的,所述URL包括:集群统一入口IP和集群统一服务端口号或所述视频文件的文件名;确定单元,用于根据所述URL确定所述URL所在的具体存储节点、服务端口以及在所述具体存储节点上的完整文件名;返回单元,用于将所述完整文件名发送至所述具体存储节点,根据所述用户请求的操作类型和所述完整的文件名进行对应的任务操作,并将操作结果返回至所述SDK。具体的,所述确定单元包括:判断单元,用于根据所述URL对应的所述集群统一入口IP和所述集群统一服务端口号或所述视频文件的文件名判断所述本地服务器上是否存在所述URL对应的集群元数据信息;计算单元,用于根据所述URL和所述集群元数据信息计算所述URL所在的具体存储节点、服务端口以及在所述具体存储节点上的完整文件名;获取单元,用于发送请求到所述Proxy节点获取集群元数据信息,并将所述集群元数据反馈至所述SDK。具体的,所述计算单元包括:计算子单元,用于根据HASH算法计算所述URL所在的具体存储节点、服务端口以及在存储节点中完整的文件名;转发单元,用于将所述用户请求转发到所述存储节点上的所述存储节点。一种分布式对象存储系统,包括:Proxy节点、存储节点和客户端SDK,其中,所述Proxy节点用于集群信息元数据管理中间件服务,所述存储节点用于视频处理服务,所述客户端SDK定时异步获取所述Proxy节点上的集群元数据并缓存在本地服务器上,,其中:所述Proxy节点,用于对系统集群元数据信息进行管理,并提供下载功能,为所述客户端SDK同步集群元数据;所述客户端SDK,用于定时异步获取所述Proxy节点上的集群元数据并缓存在本地服务器上,为用户请求提供各类功能的操作接口,计算所述URL的具体存储节点IP、服务端口号以及对应在具体存储节点上完整的文件名;所述存储节点,用于处理客户端发送过来的用户请求,根据不同的请求类型完成对应的操作任务,最后将处理结果返回给客户端。经由上述的技术方案可知,与现有技术相比,本发明公开一种视频处理方法及系统、分布式对象存储系统,该方法应用于分布式对象存储系统,该分布式对象存储系统包括Proxy节点、存储节点和客户端SDK,其中,Proxy节点用于集群信息元数据管理中间件服务,存储节点用于视频处理服务,客户端SDK定时异步获取Proxy节点上的集群元数据并缓存在本地服务器上,该方法具体通过在客户端SDK上快速计算视频文件在分布式对象存储集群中的存储节点以及完整文件名,绕过Proxy节点将处理请求直接发送到存储节点上,缩短数据传输路径,减少请求转发时间,提高视频生产效率;在存储节点上部署视频处理服务,直接处理客户端请求中对应的文件,然后返回结果给客户端,避免客户端下载整个视频文件,减少计算资源的采购,降低整个视频生产成本。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本发明实施例提供的一种视频文件处理方法流程示意图;图2为本发明实施例中图1中步骤S2的具体流程示意图;图3为本发明实施例提供的一种食品文件处理系统结构示意图;图4为本发明实施例中图3中确定单元32的具体结构示意图;图5为本发明实施例提供的一种分布式对象存储系统结构示意图;图6为本发明实施例提供的一种分布式对象存储系统结构系统框图示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本文提出一种基于分布式对象存储系统之上快速处理视频方法,在不改变原有的分布式存储系统对象操作模型的基础上,在Proxy节点中新增集群信息元数据管理中间件服务、在存储节点上新增视频处理服务以及添加客户端SDK三个模块来快速完成视频操作,从而达到提高视频生产效率和减少存储成本的效果。请参阅附图1,图1为本发明实施例提供的一种视频文件处理方法流程示意图。如图1所示,本发明实施例公开了一种视频文件处理方法,应用于分布式对象存储系统,该分布式对象存储系统包括Proxy节点、存储节点和客户端SDK,其中,Proxy节点用于集群信息元数据管理中间件服务,存储节点用于视频处理服务,客户端SDK定时异步获取Proxy节点上的集群元数据并缓存在本地服务器上,该方法具体包括如下步骤:本实施例中,需要说明的是,用户需要先将视频文件写入到分布式对象存储系统中,该系统会分配一个唯一的集群统一入口IP,如HTTP地址,例如:http://127.0.0.1:8080/bucket/test.mp4,该HTTP地址下文统称为URL,URL主要组成部分为http://集群的统一入口IP和集群统一服务端口号或用户视频文件名。S1、接收包含视频文件对应的URL的用户请求,并发送至SDK对应的操作接口,URL为预先存储在分布式对象存储系统中的视频文件唯一确定的,URL包括:集群统一入口IP和集群统一服务端口号或视频文件的文件名。本实施例中,需要说明的是,对于用户想要查询的URL是确定在分布式对象存储系统中的,且其对应的集群统一入口IP和集群统一服务端口号或视频文件的文件名也是确定,将包含有视频文件对应的URL的用户请求发送至SDK对应的操作接口,通过SDK进行数据处理。S2、根据URL确定URL所在的具体存储节点、服务端口以及在具体存储节点上的完整文件名。本实施例中,需要说明的是,根据URL固有的唯一的集群统一入口IP和集群统一服务端口号或视频文件的文件名来确定URL所在的具体存储节点、服务端口以及在具体存储节点上的完整文件名。S3、将完整文件名发送至具体存储节点,根据用户请求的操作类型和完整的文件名进行对应的任务操作,并将操作结果返回至SDK。本实施例中,需要说明的是,集群元数据包括:所有存储节点IP、各个服务端口号、存储节点磁盘挂载点、磁盘在集群中的权重信息。用户请求的操作类型包括:获取文件总大小、获取文件内容、获取文件SHA1、获取视频尺寸、分辨率、像素比、显示比例、采样率、播放时长、帧率,以及对视频进行随机截图。具体的,请参阅附图2,图2为本发明实施例中图1中步骤S2的具体流程示意图。如图2所示,步骤S2、根据URL确定URL所在的具体存储节点、服务端口以及在具体存储节点上的完整文件名,该步骤具体包括如下步骤:S21、根据URL对应的集群统一入口IP和集群统一服务端口号或视频文件的文件名判断本地服务器上是否存在URL对应的集群元数据信息,若是,则进入步骤S22,若否,则进入步骤S23;S22、根据URL和集群元数据信息计算URL所在的具体存储节点、服务端口以及在具体存储节点上的完整文件名;具体该步骤包括:根据HASH算法计算URL所在的具体存储节点、服务端口以及在存储节点中完整的文件名;将用户请求转发到存储节点上的具体存储节点。S23、发送请求到Proxy节点获取集群元数据信息,并将集群元数据反馈至SDK,则返回至步骤S21。本发明公开一种视频处理方法,该方法应用于分布式对象存储系统,该分布式对象存储系统包括Proxy节点、存储节点和客户端SDK,其中,Proxy节点用于集群信息元数据管理中间件服务,存储节点用于视频处理服务,客户端SDK定时异步获取Proxy节点上的集群元数据并缓存在本地服务器上,该方法具体通过在客户端SDK上快速计算视频文件在分布式对象存储集群中的存储节点以及完整文件名,绕过Proxy节点将处理请求直接发送到存储节点上,缩短数据传输路径,减少请求转发时间,提高视频生产效率;在存储节点上部署视频处理服务,直接处理客户端请求中对应的文件,然后返回结果给客户端,避免客户端下载整个视频文件,减少计算资源的采购,降低整个视频生产成本。在上述公开的方法的基础上,本发明还公开了一种系统。请参阅附图3,图3为本发明实施例提供的一种食品文件处理系统结构示意图。如图3所示,本发明公开了一种视频文件处理系统,应用于分布式对象存储系统,该分布式对象存储系统包括Proxy节点、存储节点和客户端SDK,其中,Proxy节点用于集群信息元数据管理中间件服务,存储节点用于视频处理服务,客户端SDK定时异步获取Proxy节点上的集群元数据并缓存在本地服务器上,该系统包括:接收单元31,用于接收包含视频文件对应的URL的用户请求,并发送至SDK对应的操作接口,URL为预先存储在分布式对象存储系统中的视频文件唯一确定的,URL包括:集群统一入口IP和集群统一服务端口号或视频文件的文件名;确定单元32,用于根据URL确定URL所在的具体存储节点、服务端口以及在具体存储节点上的完整文件名;返回单元33,用于将完整文件名发送至存储节点,根据用户请求的操作类型和完整的文件名进行对应的任务操作,并将操作结果返回至SDK。由于本实施例中的各模块能够执行图1所示的方法,本实施例未详细描述的部分,可参考对图1的相关说明。具体的,请参阅附图4,图4为本发明实施例中图3中确定单元32的具体结构示意图。如图4所示,所述确定单元32具体包括如下结构:判断单元41,用于根据URL对应的集群统一入口IP和集群统一服务端口号或视频文件的文件名判断本地服务器上是否存在URL对应的集群元数据信息;计算单元42,用于根据URL和集群元数据信息计算URL所在的具体存储节点、服务端口以及在具体存储节点上的完整文件名;具体的,计算单元包括:计算子单元,用于根据HASH算法计算URL所在的具体存储节点、服务端口以及在存储节点中完整的文件名;转发单元,用于将用户请求转发到存储节点上的具体存储节点。获取单元43,用于发送请求到Proxy节点获取集群元数据信息,并将集群元数据反馈至所述SDK。由于本实施例中的各模块能够执行图2所示的方法,本实施例未详细描述的部分,可参考对图2的相关说明。本发明公开一种视频处理系统,该系统应用于分布式对象存储系统,该分布式对象存储系统包括Proxy节点、存储节点和客户端SDK,其中,Proxy节点用于集群信息元数据管理中间件服务,存储节点用于视频处理服务,客户端SDK定时异步获取Proxy节点上的集群元数据并缓存在本地服务器上,该系统具体通过在客户端SDK上快速计算视频文件在分布式对象存储集群中的存储节点以及完整文件名,绕过Proxy节点将处理请求直接发送到存储节点上,缩短数据传输路径,减少请求转发时间,提高视频生产效率;在存储节点上部署视频处理服务,直接处理客户端请求中对应的文件,然后返回结果给客户端,避免客户端下载整个视频文件,减少计算资源的采购,降低整个视频生产成本。在上述公开的方法及系统上,本发明还公开了一种系统。请参阅附图5,图5为本发明实施例提供的一种分布式对象存储系统结构示意图。如图5所示,本发明公开了一种分布式对象存储系统,包括:Proxy节点51、存储节点52和客户端SDK53,其中,Proxy节点51用于集群信息元数据管理中间件服务,存储节点52用于视频处理服务,客户端SDK53定时异步获取Proxy节点51上的集群元数据并缓存在本地服务器上,其中:Proxy节点51,用于对系统集群元数据信息进行管理,并提供下载功能,为客户端SDK53同步集群元数据;客户端SDK53,用于定时异步获取Proxy节点51上的集群元数据并缓存在本地服务器上,为用户请求提供各类功能的操作接口,计算URL的具体存储节点IP、服务端口号以及对应在具体存储节点上完整的文件名;存储节点52,用于处理客户端发送过来的用户请求,根据不同的请求类型完成对应的操作任务,最后将处理结果返回给客户端。具体的,可参见附图6,图6为本发明实施例提供的一种分布式对象存储系统结构系统框图示意图。本发明公开了一种分布式对象存储系统,该分布式对象存储系统包括Proxy节点、存储节点和客户端SDK,其中,Proxy节点用于集群信息元数据管理中间件服务,存储节点用于视频处理服务,客户端SDK定时异步获取Proxy节点上的集群元数据并缓存在本地服务器上,该分布式对象存储系统通过在客户端SDK上快速计算视频文件在分布式对象存储集群中的存储节点以及完整文件名,绕过Proxy节点将处理请求直接发送到存储节点上,缩短数据传输路径,减少请求转发时间,提高视频生产效率;在存储节点上部署视频处理服务,直接处理客户端请求中对应的文件,然后返回结果给客户端,避免客户端下载整个视频文件,减少计算资源的采购,降低整个视频生产成本。综上所述,本发明公开一种视频处理方法及系统、分布式对象存储系统,该方法应用于分布式对象存储系统,该分布式对象存储系统包括Proxy节点、存储节点和客户端SDK,其中,Proxy节点用于集群信息元数据管理中间件服务,存储节点用于视频处理服务,客户端SDK定时异步获取Proxy节点上的集群元数据并缓存在本地服务器上,该方法具体通过在客户端SDK上快速计算视频文件在分布式对象存储集群中的存储节点以及完整文件名,绕过Proxy节点将处理请求直接发送到存储节点上,缩短数据传输路径,减少请求转发时间,提高视频生产效率;在存储节点上部署视频处理服务,直接处理客户端请求中对应的文件,然后返回结果给客户端,避免客户端下载整个视频文件,减少计算资源的采购,降低整个视频生产成本。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。以上结合附图对本发明所提出的方法进行了示例性描述,以上实施例的说明只是用于帮助理解本发明的核心思想。对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1