CN106791889A - 一种视频处理方法及***、分布式对象存储*** - Google Patents
一种视频处理方法及***、分布式对象存储*** Download PDFInfo
- Publication number
- CN106791889A CN106791889A CN201611229186.3A CN201611229186A CN106791889A CN 106791889 A CN106791889 A CN 106791889A CN 201611229186 A CN201611229186 A CN 201611229186A CN 106791889 A CN106791889 A CN 106791889A
- Authority
- CN
- China
- Prior art keywords
- memory node
- cluster
- url
- video
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2181—Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2183—Cache memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
- H04N21/2225—Local VOD servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开一种视频处理方法及***、分布式对象存储***,该方法应用于分布式对象存储***,包括:Proxy节点、存储节点和客户端SDK,其中,Proxy节点用于集群信息元数据管理中间件服务,存储节点用于视频处理服务,客户端SDK定时异步获取Proxy节点上的集群元数据并缓存在本地服务器上,该方法通过在客户端SDK上快速计算视频文件在分布式对象存储集群中的存储节点以及完整文件名,绕过Proxy节点将处理请求直接发送到存储节点上,缩短数据传输路径,减少请求转发时间,提高视频生产效率;在存储节点上部署视频处理服务,直接处理客户端请求中对应的文件,然后返回结果给客户端,避免客户端下载整个视频文件,减少计算资源的采购,降低整个视频生产成本。
Description
技术领域
本发明属于移动互联网技术领域,更具体的说,是涉及一种视频处理方法及***、分布式对象存储***。
背景技术
在移动互联网时代,每个人都是视频的创作者,利用便携的移动设备,例如:手机、PAD等进行实时拍摄美景、拍摄正在发生的事等,然后将视频上传到网上与他人分享。用户上传的视频可称为UGC(User Generated Content,用户原创内容)视频,随着UGC视频文件的日日剧增,给视频网站的视频文件存储和视频生产带来巨大的挑战。视频生产是指从用户上传视频到视频网站,视频网站内部对视频进行一系列的处理的过程,如内容合法性审核、元数据获取、截图、并将用户上传的视频转换成不同码率的视频文件,以适配各种不同的播放设备,最后将转换后的视频文件分发到CDN中供用户播放。
传统的视频存储***都是在客户端上基于POSIX接口来对文件进行读、写处理,POSIX全称是Portable Operating System Interface即可移植操作***接口,是为各种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节点将处理请求直接发送到存储节点上,缩短数据传输路径,减少请求转发时间,提高视频生产效率;在存储节点上部署视频处理服务,直接处理客户端请求中对应的文件,然后返回结果给客户端,避免客户端下载整个视频文件,减少计算资源的采购,降低整个视频生产成本。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上结合附图对本发明所提出的方法进行了示例性描述,以上实施例的说明只是用于帮助理解本发明的核心思想。对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种视频文件处理方法,其特征在于,应用于分布式对象存储***,所述分布式对象存储***包括Proxy节点、存储节点和客户端SDK,其中,所述Proxy节点用于集群信息元数据管理中间件服务,所述存储节点用于视频处理服务,所述客户端SDK定时异步获取所述Proxy节点上的集群元数据并缓存在本地服务器上,该方法包括:
S1、接收包含视频文件对应的URL的用户请求,并发送至所述SDK对应的操作接口,所述URL为预先存储在所述分布式对象存储***中的所述视频文件唯一确定的,所述URL包括:集群统一入口IP和集群统一服务端口号或所述视频文件的文件名;
S2、根据所述URL确定所述URL所在的具体存储节点、服务端口以及在所述具体存储节点上的完整文件名;
S3、将所述完整文件名发送至所述具体存储节点,根据所述用户请求的操作类型和所述完整的文件名进行对应的任务操作,并将操作结果返回至所述SDK。
2.根据权利要求1所述的方法,其特征在于,所述步骤S2包括:
S21、根据所述URL对应的所述集群统一入口IP和所述集群统一服务端口号或所述视频文件的文件名判断所述本地服务器上是否存在所述URL对应的集群元数据信息,若是,则进入步骤S22,若否,则进入步骤S23;
S22、根据所述URL和所述集群元数据信息计算所述URL所在的具体存储节点、服务端口以及在所述具体存储节点上的完整文件名;
S23、发送请求到所述Proxy节点获取集群元数据信息,并将所述集群元数据反馈至所述SDK,则返回至步骤S21。
3.根据权利要求2所述的方法,其特征在于,所述步骤S22包括:
S221、根据HASH算法计算所述URL所在的具体存储节点、服务端口以及在存储节点中完整的文件名;
S222、将所述用户请求转发到所述存储节点上的所述存储节点。
4.根据权利要求1所述的方法,其特征在于,所述集群元数据包括:所有存储节点IP、各个服务端口号、存储节点磁盘挂载点、磁盘在集群中的权重信息。
5.根据权利要求1所述的方法,其特征在于,所述用户请求的操作类型包括:获取文件总大小、获取文件内容、获取文件SHA1、获取视频尺寸、分辨率、像素比、显示比例、采样率、播放时长、帧率,以及对视频进行随机截图。
6.一种视频文件处理***,其特征在于,应用于分布式对象存储***,所述分布式对象存储***包括Proxy节点、存储节点和客户端SDK,其中,所述Proxy节点用于集群信息元数据管理中间件服务,所述存储节点用于视频处理服务,所述客户端SDK定时异步获取所述Proxy节点上的集群元数据并缓存在本地服务器上,该***包括:
接收单元,用于接收包含视频文件对应的URL的用户请求,并发送至所述SDK对应的操作接口,所述URL为预先存储在所述分布式对象存储***中的所述视频文件唯一确定的,所述URL包括:集群统一入口IP和集群统一服务端口号或所述视频文件的文件名;
确定单元,用于根据所述URL确定所述URL所在的具体存储节点、服务端口以及在所述具体存储节点上的完整文件名;
返回单元,用于将所述完整文件名发送至所述具体存储节点,根据所述用户请求的操作类型和所述完整的文件名进行对应的任务操作,并将操作结果返回至所述SDK。
7.根据权利要求6所述的***,其特征在于,所述确定单元包括:
判断单元,用于根据所述URL对应的所述集群统一入口IP和所述集群统一服务端口号或所述视频文件的文件名判断所述本地服务器上是否存在所述URL对应的集群元数据信息;
计算单元,用于根据所述URL和所述集群元数据信息计算所述URL所在的具体存储节点、服务端口以及在所述具体存储节点上的完整文件名;
获取单元,用于发送请求到所述Proxy节点获取集群元数据信息,并将所述集群元数据反馈至所述SDK。
8.根据权利要求7所述的***,其特征在于,所述计算单元包括:
计算子单元,用于根据HASH算法计算所述URL所在的具体存储节点、服务端口以及在存储节点中完整的文件名;
转发单元,用于将所述用户请求转发到所述存储节点上的所述存储节点。
9.一种分布式对象存储***,其特征在于,包括:Proxy节点、存储节点和客户端SDK,其中,所述Proxy节点用于集群信息元数据管理中间件服务,所述存储节点用于视频处理服务,所述客户端SDK定时异步获取所述Proxy节点上的集群元数据并缓存在本地服务器上,,其中:
所述Proxy节点,用于对***集群元数据信息进行管理,并提供下载功能,为所述客户端SDK同步集群元数据;
所述客户端SDK,用于定时异步获取所述Proxy节点上的集群元数据并缓存在本地服务器上,为用户请求提供各类功能的操作接口,计算所述URL的具体存储节点IP、服务端口号以及对应在具体存储节点上完整的文件名;
所述存储节点,用于处理客户端发送过来的用户请求,根据不同的请求类型完成对应的操作任务,最后将处理结果返回给客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611229186.3A CN106791889B (zh) | 2016-12-27 | 2016-12-27 | 一种视频处理方法及***、分布式对象存储*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611229186.3A CN106791889B (zh) | 2016-12-27 | 2016-12-27 | 一种视频处理方法及***、分布式对象存储*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106791889A true CN106791889A (zh) | 2017-05-31 |
CN106791889B CN106791889B (zh) | 2019-07-09 |
Family
ID=58922788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611229186.3A Active CN106791889B (zh) | 2016-12-27 | 2016-12-27 | 一种视频处理方法及***、分布式对象存储*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106791889B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566477A (zh) * | 2017-08-28 | 2018-01-09 | 北京奇艺世纪科技有限公司 | 一种在分布式文件***集群中获取文件的方法和装置 |
CN109286820A (zh) * | 2018-11-29 | 2019-01-29 | 无锡华云数据技术服务有限公司 | 基于分布式存储***的流媒体点播方法及*** |
CN110445526A (zh) * | 2019-07-10 | 2019-11-12 | 视联动力信息技术股份有限公司 | 数据传输方法、装置、***、电子设备及存储介质 |
CN110545453A (zh) * | 2018-05-29 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 内容分发网络的内容发布方法、装置和*** |
CN110704778A (zh) * | 2019-09-25 | 2020-01-17 | 许昌许继软件技术有限公司 | 监控组态文件实时发布方法和***及监控***、Web服务器 |
CN110858918A (zh) * | 2018-08-22 | 2020-03-03 | 深圳Tcl数字技术有限公司 | Mds数据获取方法、数字电视及存储介质 |
CN111093094A (zh) * | 2019-12-03 | 2020-05-01 | 深圳市万佳安物联科技股份有限公司 | 视频转码方法、装置、***及电子设备及可读存储介质 |
CN111277801A (zh) * | 2020-03-03 | 2020-06-12 | 西安烽火软件科技有限公司 | 一种基于内容的监控视频存储***及应用方法 |
CN111447490A (zh) * | 2020-05-06 | 2020-07-24 | 山东汇贸电子口岸有限公司 | 流媒体文件处理方法及装置 |
CN112689171A (zh) * | 2020-12-16 | 2021-04-20 | 创盛视联数码科技(北京)有限公司 | 一种视频播放*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003296341A (ja) * | 2002-04-03 | 2003-10-17 | Nissan Motor Co Ltd | データベース生成方法、データベース生成プログラム、データ構造、データベース生成システム、検索システム、及び検索方法 |
CN102855284A (zh) * | 2012-08-03 | 2013-01-02 | 北京联创信安科技有限公司 | 一种集群存储***的数据管理方法及*** |
US20140006464A1 (en) * | 2012-06-29 | 2014-01-02 | William M Pitts | Using projected timestamps to control the sequencing of file modifications in distributed filesystems |
US20140164447A1 (en) * | 2012-12-12 | 2014-06-12 | Akamai Technologies Inc. | Cookie synchronization and acceleration of third-party content in a web page |
CN104333512A (zh) * | 2014-10-30 | 2015-02-04 | 北京思特奇信息技术股份有限公司 | 一种分布式内存数据库访问***及方法 |
US8978093B1 (en) * | 2012-05-03 | 2015-03-10 | Google Inc. | Policy based trust of proxies |
CN104935668A (zh) * | 2015-06-26 | 2015-09-23 | 四川长虹电器股份有限公司 | 分布式文件***及其数据同步的方法 |
-
2016
- 2016-12-27 CN CN201611229186.3A patent/CN106791889B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003296341A (ja) * | 2002-04-03 | 2003-10-17 | Nissan Motor Co Ltd | データベース生成方法、データベース生成プログラム、データ構造、データベース生成システム、検索システム、及び検索方法 |
US8978093B1 (en) * | 2012-05-03 | 2015-03-10 | Google Inc. | Policy based trust of proxies |
US20140006464A1 (en) * | 2012-06-29 | 2014-01-02 | William M Pitts | Using projected timestamps to control the sequencing of file modifications in distributed filesystems |
CN102855284A (zh) * | 2012-08-03 | 2013-01-02 | 北京联创信安科技有限公司 | 一种集群存储***的数据管理方法及*** |
US20140164447A1 (en) * | 2012-12-12 | 2014-06-12 | Akamai Technologies Inc. | Cookie synchronization and acceleration of third-party content in a web page |
CN104333512A (zh) * | 2014-10-30 | 2015-02-04 | 北京思特奇信息技术股份有限公司 | 一种分布式内存数据库访问***及方法 |
CN104935668A (zh) * | 2015-06-26 | 2015-09-23 | 四川长虹电器股份有限公司 | 分布式文件***及其数据同步的方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566477A (zh) * | 2017-08-28 | 2018-01-09 | 北京奇艺世纪科技有限公司 | 一种在分布式文件***集群中获取文件的方法和装置 |
CN107566477B (zh) * | 2017-08-28 | 2021-06-22 | 北京奇艺世纪科技有限公司 | 一种在分布式文件***集群中获取文件的方法和装置 |
CN110545453A (zh) * | 2018-05-29 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 内容分发网络的内容发布方法、装置和*** |
CN110858918A (zh) * | 2018-08-22 | 2020-03-03 | 深圳Tcl数字技术有限公司 | Mds数据获取方法、数字电视及存储介质 |
CN109286820A (zh) * | 2018-11-29 | 2019-01-29 | 无锡华云数据技术服务有限公司 | 基于分布式存储***的流媒体点播方法及*** |
CN109286820B (zh) * | 2018-11-29 | 2019-08-06 | 无锡华云数据技术服务有限公司 | 基于分布式存储***的流媒体点播方法及*** |
CN110445526A (zh) * | 2019-07-10 | 2019-11-12 | 视联动力信息技术股份有限公司 | 数据传输方法、装置、***、电子设备及存储介质 |
CN110704778A (zh) * | 2019-09-25 | 2020-01-17 | 许昌许继软件技术有限公司 | 监控组态文件实时发布方法和***及监控***、Web服务器 |
CN111093094A (zh) * | 2019-12-03 | 2020-05-01 | 深圳市万佳安物联科技股份有限公司 | 视频转码方法、装置、***及电子设备及可读存储介质 |
CN111277801A (zh) * | 2020-03-03 | 2020-06-12 | 西安烽火软件科技有限公司 | 一种基于内容的监控视频存储***及应用方法 |
CN111277801B (zh) * | 2020-03-03 | 2021-08-31 | 西安烽火软件科技有限公司 | 一种基于内容的监控视频存储***及应用方法 |
CN111447490A (zh) * | 2020-05-06 | 2020-07-24 | 山东汇贸电子口岸有限公司 | 流媒体文件处理方法及装置 |
CN112689171A (zh) * | 2020-12-16 | 2021-04-20 | 创盛视联数码科技(北京)有限公司 | 一种视频播放*** |
CN112689171B (zh) * | 2020-12-16 | 2023-06-13 | 创盛视联数码科技(北京)有限公司 | 一种视频播放*** |
Also Published As
Publication number | Publication date |
---|---|
CN106791889B (zh) | 2019-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106791889A (zh) | 一种视频处理方法及***、分布式对象存储*** | |
CN111049854B (zh) | 一种服务请求的传输方法和装置 | |
US10002141B2 (en) | Distributed database in software driven networks | |
Ma et al. | When mobile terminals meet the cloud: computation offloading as the bridge | |
CN104092646B (zh) | 操作同步方法和装置 | |
KR20210088737A (ko) | 무선 통신 시스템에서 네트워크 기반 미디어 처리 기능들을 관리하기 위한 방법 및 장치 | |
CN103731487A (zh) | 一种资源文件的下载方法、装置、***及路由器 | |
CN106357539B (zh) | 一种数据获取方法和设备 | |
CN109491758A (zh) | docker镜像分发方法、***、数据网关及计算机可读存储介质 | |
CN107861686A (zh) | 文件存储方法、服务端和计算机可读存储介质 | |
CN105847381A (zh) | 内容服务器的调度方法及装置 | |
CN102694831B (zh) | 移动终端流媒体数据补偿方法与***、内容分发网络 | |
CN107566477B (zh) | 一种在分布式文件***集群中获取文件的方法和装置 | |
CN105897850A (zh) | 用于cdn平台的响应处理方法、调度代理服务器及*** | |
CN110703980A (zh) | 一种文件传输方法及装置 | |
CN108733821A (zh) | 一种监控视频截图的分发与展示方法及*** | |
CN106933853A (zh) | 一种文件上传处理方法及装置 | |
CN103905516B (zh) | 分享数据的方法及相应服务器和终端 | |
CN106790204A (zh) | 一种流数据的封装协议的转换方法和装置 | |
CN106789956A (zh) | 一种基于hls的p2p点播方法及*** | |
CN102938775A (zh) | 一种视频微博发布方法、***及客户端 | |
CN100377522C (zh) | 一种内容分发网络中oma下载的实现方法 | |
CN102291458B (zh) | 一种p2p服务器架构方法 | |
Shravanthi et al. | Mobile Cloud Computing as future for mobile applications | |
US9286365B2 (en) | Data synchronizing system and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |