一种视频元数据的查询系统及查询方法

文档序号:6624179阅读:381来源:国知局
一种视频元数据的查询系统及查询方法
【专利摘要】本发明提供了一种视频元数据的查询系统及方法,以解决现有查询视频元数据中的问题。所述的方法包括:接口服务器对文档型数据库中的视频索引进行查询,获取与查询条件匹配的各视频标识的视频数据集合;所述接口服务器采用所述与查询条件匹配的各视频标识构成第一查询请求,并将第一查询请求发送给内存数据库缓存;所述内存数据库缓存分别查询所述各视频标识对应的各视频元数据,并将查询结果反馈所述接口服务器;所述接口服务器依据返回集参数对所述查询结果中的各视频元数据的数据字段进行筛选并反馈。查询方法灵活多样,避免了无法查询问题,通过筛选可获取准确的数据字段,同时减少数据量,节省网络带宽,缩短查询的响应时间,提高查询效率。
【专利说明】一种视频元数据的查询系统及查询方法

【技术领域】
[0001] 本发明涉及数据处理【技术领域】,特别是涉及一种视频元数据的查询系统和一种视 频元数据的查询方法。

【背景技术】
[0002] 视频元数据指的是视频的描述或播放相关的信息,如包括视频名称、视频状态、播 放页地址、流媒体文件地址等信息。
[0003] 在系统中可以查询获取视频元数据,但是现有系统中通常存储有海量的视频元数 据,因此在查询和获取视频元数据时往往就容易出现稳定性低,延迟大的问题。
[0004] 为了解决上述问题,通常可以在存储视频元数据的数据库和提供视频元数据查 询的服务器之间建立缓存来提高响应速度,但是通常在此种情况下仅能通过视频标识 (Identity,ID)进行视频元数据的查询,查询方法比较限定,如果不知道视频的ID就无法 查询。


【发明内容】

[0005] 本发明实施例所要解决的技术问题是提供一种视频元数据的查询系统,以解决现 有查询视频元数据中的问题。
[0006] 相应的,本发明实施例还提供了一种视频元数据的查询方法。
[0007] 为了解决上述问题,本发明公开了一种视频元数据的查询系统,包括:接口服务 器、文档型数据库和内存数据库缓存,其中,所述接口服务器,用于通过对文档型数据库中 的视频索引进行查询,获取与查询条件匹配的各视频标识的视频数据集合;以及采用所述 与查询条件匹配的各视频标识构成第一查询请求,并将第一查询请求发送给内存数据库缓 存;以及依据返回集参数对所述查询结果中的各视频元数据的数据字段进行筛选并反馈; 所述文档型数据库,用于查询视频索引获取与查询条件匹配的各视频标识的视频数据集 合;所述内存数据库缓存,用于分别查询所述各视频标识对应的各视频元数据,并将查询结 果反馈所述接口服务器。
[0008] 可选的,所述接口服务器,用于采用接收到的查询条件构成第二查询请求,并将所 述第二查询请求发送给所述文档型数据库;所述文档型数据库,用于按照所述查询条件查 询存储的视频索引,获取与所述查询条件匹配的各视频标识;以及将与所述查询条件匹配 的各视频标识构成视频数据集合,并将所述视频数据集合反馈给所述接口服务器。
[0009] 可选的,所述内存数据库缓存,用于从所述第一查询请求中获取所述各视频标识; 分别在本地查询与所述视频标识匹配的视频元数据;以及依据查询结果构成第一查询响应 反馈给所述接口服务器,其中,所述查询结果包括各与所述视频标识匹配的视频元数据,或 所述查询结果为空。
[0010] 可选的,所述的系统还包括:内存数据库集群;所述接口服务器,还用于在存在未 匹配到视频元数据的视频标识时,采用所述未匹配到视频元数据的各视频标识生成第三查 询请求,并将第三查询请求发送给内存数据库集群;所述内存数据库集群,用于从所述第三 查询请求中获取所述各视频标识;分别查询与所述各视频标识对应的各视频元数据;以及 依据查询结果采用查询到的视频元数据构成第三查询响应,并反馈给所述接口服务器。 [0011] 可选的,所述内存数据库集群,用于分别查询本地是否存在与所述视频标识对应 的视频元数据;当本地存在与所述视频标识对应的视频元数据时,将所述视频元数据添加 到查询结果中;当本地不存在与所述视频标识对应的视频元数据时,将异步请求更新服务 器进行视频元数据更新以获取与所述视频标识对应的视频元数据。
[0012] 可选的,所述接口服务器,用于采用接收到的返回集参数构造过滤器;采用所述过 滤器对所述各视频元数据的数据字段进行筛选;以及对所述各视频元数据中筛选出的数据 字段进行反馈。
[0013] 可选的,所述的系统还包括:视频生产器和更新服务器;所述视频生产器,用于生 产原始视频数据后,发送视频更新消息给更新服务器;所述更新服务器,用于从原始数据库 中获取所述原始视频数据,并对所述原始视频数据进行处理生成视频元数据。
[0014] 可选的,所述更新服务器,还用于依据生成的视频元数据对所述文档型数据库中 的视频索引进行更新;将所述生成的视频元数据存储在所述内存数据库集群中,以对所述 内存数据库集群进行更新;以及删除当前所述内存数据库缓存上存储的临时的视频元数 据。
[0015] 相应的,本发明实施例还公开了一种视频元数据的查询方法,包括:接口服务器 对文档型数据库中的视频索引进行查询,获取与查询条件匹配的各视频标识的视频数据集 合;所述接口服务器采用所述与查询条件匹配的各视频标识构成第一查询请求,并将第一 查询请求发送给内存数据库缓存;所述内存数据库缓存分别查询所述各视频标识对应的各 视频元数据,并将查询结果反馈所述接口服务器;所述接口服务器依据返回集参数对所述 查询结果中的各视频元数据的数据字段进行筛选并反馈。
[0016] 可选的,所述接口服务器对文档型数据库中的视频索引进行查询,获取与查询条 件匹配的各视频标识的视频数据集合,包括:接口服务器采用接收到的查询条件构成第二 查询请求,并将所述第二查询请求发送给所述文档型数据库;所述文档型数据库按照所述 查询条件查询存储的视频索引,获取与所述查询条件匹配的各视频标识;所述文档型数据 库将与所述查询条件匹配的各视频标识构成视频数据集合,并将所述视频数据集合反馈给 所述接口服务器。
[0017] 可选的,所述内存数据库缓存分别查询所述各视频标识对应的视频元数据,并将 查询结果反馈所述接口服务器,包括:所述内存数据库缓存从所述第一查询请求中获取所 述各视频标识;所述内存数据库缓存分别在本地查询与所述视频标识匹配的视频元数据; 所述内存数据库缓存依据查询结果构成第一查询响应反馈给所述接口服务器,其中,所述 查询结果包括各与所述视频标识匹配的视频元数据,或所述查询结果为空。
[0018] 可选的,所述的方法还包括:当存在未匹配到视频元数据的视频标识时,所述接口 服务器采用所述未匹配到视频元数据的各视频标识生成第三查询请求,并将第三查询请求 发送给内存数据库集群;所述内存数据库集群从所述第三查询请求中获取所述各视频标 识;所述内存数据库集群分别查询与所述各视频标识对应的各视频元数据;所述内存数据 库集群依据查询结果采用查询到的视频元数据构成第三查询响应,并反馈给所述接口服务 器。
[0019] 可选的,所述内存数据库集群分别查询与所述各视频标识对应的视频元数据,包 括:所述内存数据库集群分别查询本地是否存在与所述视频标识对应的视频元数据;当本 地存在与所述视频标识对应的视频元数据时,将所述视频元数据添加到查询结果中;当本 地不存在与所述视频标识对应的视频元数据时,将异步请求更新服务器进行视频元数据更 新以获取与所述视频标识对应的视频元数据。
[0020] 可选的,所述接口服务器依据返回集参数对所述查询结果中的各视频元数据的数 据字段进行筛选并反馈,包括:所述接口服务器采用接收到的返回集参数构造过滤器;所 述接口服务器采用所述过滤器对所述各视频元数据的数据字段进行筛选;所述接口服务器 对所述各视频元数据中筛选出的数据字段进行反馈。
[0021] 可选的,所述的方法还包括:视频生产器生产原始视频数据后,发送视频更新消息 给更新服务器;所述更新服务器从原始数据库中获取所述原始视频数据,并对所述原始视 频数据进行处理生成视频元数据。
[0022] 可选的,所述的方法还包括:所述更新服务器依据生成的视频元数据对所述文档 型数据库中的视频索引进行更新;所述更新服务器将所述生成的视频元数据存储在所述内 存数据库集群中,以对所述内存数据库集群进行更新;所述更新服务器删除当前所述内存 数据库缓存上存储的临时的视频元数据。
[0023] 与现有技术相比,本发明实施例包括以下优点:
[0024] 接口服务器对文档型数据库中的视频索引进行查询,获取与查询条件匹配的各视 频标识的视频数据集合,通过查询条件匹配视频标识,查询方法灵活、多样,避免了无法查 询问题,且接口服务器可以通过内存数据库缓存获取与各视频标识匹配的各视频元数据, 进而采用返回集参数对各视频元数据的数据字段进行筛选并反馈,通过筛选可以获取准确 的数据字段,同时减少了反馈的数据量,节省网络带宽,缩短查询的响应时间,提高查询效 率。

【专利附图】

【附图说明】
[0025] 图1是本发明的一种视频元数据的查询方法实施例的步骤流程图;
[0026] 图2是本发明实施例二中视频标识的查询步骤流程图;
[0027] 图3是本发明实施例二中视频元数据的查询步骤流程图;
[0028] 图4是本发明实施例二中视频元数据的查询步骤流程图;
[0029] 图5是本发明实施例二中视频元数据的生成步骤流程图;
[0030] 图6是本发明实施例三的视频元数据的查询方法示意图;
[0031] 图7是本发明一种视频元数据的查询系统实施例的结构框图;
[0032] 图8是示出了本发明一种视频元数据的查询系统实施例的结构框图。

【具体实施方式】
[0033] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0034] 本发明实施例的核心构思之一在于,提供一种视频元数据的查询方法,以解决现 有查询视频元数据中的问题。接口服务器对文档型数据库中的视频索引进行查询,获取与 查询条件匹配的各视频标识的视频数据集合,通过查询条件匹配视频标识,查询方法灵活、 多样,避免了无法查询问题,且接口服务器可以通过内存数据库缓存获取与各视频标识匹 配的各视频元数据,进而采用返回集参数对各视频元数据的数据字段进行筛选并反馈,通 过筛选可以获取准确的数据字段,同时减少了反馈的数据量,节省网络带宽,缩短查询的响 应时间,提高查询效率。
[0035] 实施例一
[0036] 参照图1,示出了本发明的一种视频元数据的查询方法实施例的步骤流程图,具体 可以包括如下步骤:
[0037] 步骤102,接口服务器对文档型数据库中的视频索引进行查询,获取与查询条件匹 配的各视频标识的视频数据集合。
[0038] 其中,接口服务器(API Server)是系统的对外服务接口,如可以提供视频查询服 务,文档型数据库用于存储视频索引信息。本发明实施例中文档型数据库可以采用Mongodb 集群(Mongo Cluster)构成,文档型数据库存储有视频元数据的视频索引信息,该视频索引 可以通过查询条件查询对应的查询字段,查询字段可以包括视频元数据的字段,如视频ID、 视频名称、视频状态、播放页地址、流媒体文件地址等。
[0039] 接口服务器在接收到用户对视频元数据的请求后,可以从视频元数据查询请求中 获取查询条件,所述查询条件用于对视频元数据的视频标识(ID)进行查询,因此可以基于 该查询条件对文档型数据库中的视频索引进行查询,如将查询条件发送到文档型数据库, 然后由文档型数据库进行查询,获取与查询条件匹配的各视频ID的视频数据集合。
[0040] 步骤104,所述接口服务器采用所述与查询条件匹配的各视频标识构成第一查询 请求,并将第一查询请求发送给内存数据库缓存。
[0041] 所述接口服务器在获取各视频标识集合后,可以从视频标识集合中获取各视频 ID,然后将采用视频ID构成第一查询请求,该第一查询请求用于向内存数据库缓存查询视 频元数据,因此要将该第一查询请求发送给内存数据库缓存。
[0042] 其中,内存数据库缓存可以采用key-value的内存数据库构成,如采用Redis,内 存数据库缓存可以存储本地常用视频元数据。
[0043] 步骤106,所述内存数据库缓存分别查询所述各视频标识对应的各视频元数据,并 将查询结果反馈所述接口服务器。
[0044] 所述内存数据库缓存从第一查询请求中获取各视频ID,然后每个视频ID对应的 视频元数据,得到相应的查询结果,如包括全部或部分视频元数据,然后依据查询结果向接 口服务器进行反馈。
[0045] 步骤108,所述接口服务器依据返回集参数对所述查询结果中的各视频元数据的 数据字段进行筛选并反馈。
[0046] 本发明实施例中,视频元数据查询请求中还可以包括返回集参数,用于对反馈的 视频元数据的字段进行筛选。因此接口服务器获取查询到的视频元数据之后,可以采用返 回集参数对所述查询结果中的各视频元数据的数据字段进行筛选,得到各视频元数据筛选 后的字段进行反馈,从而通过对视频元数据各数据字段的进一步筛选可以减少反馈的数据 量,节省资源。
[0047] 综上所述,接口服务器对文档型数据库中的视频索引进行查询,获取与查询条件 匹配的各视频标识的视频数据集合,通过查询条件匹配视频标识,查询方法灵活、多样,避 免了无法查询问题,且接口服务器可以通过内存数据库缓存获取与各视频标识匹配的各视 频元数据,进而采用返回集参数对各视频元数据的数据字段进行筛选并反馈,通过筛选可 以获取准确的数据字段,同时减少了反馈的数据量,节省网络带宽,缩短查询的响应时间, 提高查询效率。
[0048] 实施例二
[0049] 在上述实施例的基础上,本实施例进一步论述视频元数据的查询方法。
[0050] 系统通过接口服务器进行视频元数据的查询,主要可以包括以下几个部分:
[0051] 1、查询视频标识
[0052] 参照图2,示出了本发明实施例二中视频标识的查询步骤流程图,具体可以包括如 下步骤:
[0053] 步骤202,接口服务器接收视频元数据查询请求。
[0054] 当需要从系统中获取视频元数据时,可以向系统的接口服务器发送视频元数据查 询请求,该视频元数据查询请求中包括查询条件和返回集参数。
[0055] 其中,查询条件用于对查询的视频元数据的视频标识进行筛选,如查询条件为正 在上映的电影。返回集参数用于对查询到的视频元数据的数据字段进行筛选,如返回集参 数中请求的数据字段为播放页地址。
[0056] 步骤204,接口服务器采用接收到的查询条件构成第二查询请求。
[0057] 步骤206,接口服务器将所述第二查询请求发送给所述文档型数据库。
[0058] 第二查询请求用于向文档型数据库请求获取查询条件对应的视频标识,因此该第 二查询请求中包括查询条件。
[0059] 步骤208,文档型数据库按照所述查询条件查询存储的视频索引,获取与所述查询 条件匹配的各视频标识。
[0060] 步骤210,文档型数据库将与所述查询条件匹配的各视频标识构成视频数据集合。 [0061] 步骤212,文档型数据库将所述视频数据集合反馈给所述接口服务器。
[0062] 文档型数据库接收到第二查询请求后,可以从第二查询请求中获取查询条件,然 后采用该查询条件查询本地存储的视频索引,该视频索引可以采用key-value的形式进行 索引,则查询条件作为key值,查询对应的value值即视频元数据的数据字段,本实施例中 value值为视频ID。
[0063] 通过视频索引可以获取与所述查询条件匹配的各视频ID,采用这些视频表示构成 视频数据集合,然后视频数据集合通过第二查询响应反馈给所述接口服务器,从而接口服 务器可以获取与所述查询条件匹配的各视频ID,后续基于该视频ID查询查询视频元数据。
[0064] 综上,在查询视频元数据时,可以通过查询条件查询到视频ID进而查询视频元数 据,查询方法比较灵活。
[0065] 2、查询视频元数据
[0066] 参照图3,示出了本发明实施例二中视频元数据的查询步骤流程图,具体可以包括 如下步骤:
[0067] 步骤302,接口服务器采用所述与查询条件匹配的各视频标识构成第一查询请求。
[0068] 步骤304,接口服务器将第一查询请求发送给内存数据库缓存。
[0069] 步骤306,内存数据库缓存从所述第一查询请求中获取所述各视频标识。
[0070] 步骤308,内存数据库缓存分别在本地查询与所述各视频标识匹配的视频元数据。
[0071] 步骤310,内存数据库缓存依据查询结果构成第一查询响应反馈给所述接口服务 器。
[0072] 接口服务器在获取到各视频ID后,可以采用各视频ID构成第一查询请求,然后 将该第一查询请求发送给内存数据库缓存,内存数据库缓存中存储有系统中常用的视频元 数据,从而可以采用各视频ID分别在内存数据库缓存在本地缓存的视频元数据进行查询, 获取分别与各视频ID匹配的各视频元数据,其中,由于视频ID用于唯一标识一个视频元数 据,因此可每个视频ID最多仅能查找到一个与其匹配的视频元数据。
[0073] 在内存数据库缓存中可能查找到全部视频ID匹配的视频元数据,由于内存数据 库缓存仅存储了常用的视频元数据,因此也可能仅查找到部分视频ID匹配的视频元数据, 或者没有查找到与视频ID匹配的视频元数据,可以依据查找到的情况构成查询结果,则查 询结果可能为空,或者部分或全部与视频ID匹配的视频元数据,将查询结果构成第一查询 响应反馈给所述接口服务器。
[0074] 步骤312,接口服务器依据第一查询响应确定是否存在未匹配到视频元数据的视 频标识。
[0075] 若是,即存在未匹配到视频元数据的视频ID,则执行步骤314 ;若否。即不存在未 匹配到视频元数据的视频ID,结束该流程,后续执行第3部分筛选视频元数据的步骤。
[0076] 其中,接口服务器依据第一查询响应确定是否存在未匹配到视频元数据的视频 ID,当查询结果可能为空,或仅查询到部分与视频ID匹配的视频元数据时,此时存在部分 或全部视频ID均未匹配到视频元数据,此后要执行步骤314 ;当查询结果包括全部与视频 ID匹配的视频元数据时,说明不存在未匹配到视频元数据的视频ID。
[0077] 步骤314,接口服务器采用所述未匹配到视频元数据的各视频标识生成第三查询 请求。
[0078] 步骤316,接口服务器将第三查询请求发送给内存数据库集群。
[0079] 步骤318,内存数据库集群从所述第三查询请求中获取所述各视频标识。
[0080] 步骤320,内存数据库集群分别查询与所述各视频标识对应的各视频元数据。
[0081] 内存数据库集群中存储有全量的视频元数据,因此接口服务器可以向内存数据库 集群请求视频元数据,则接口服务器采用未匹配到视频元数据的各视频ID生成第三查询 请求,然后将第三查询请求发送给内存数据库集群,内存数据库集群通过未匹配到视频元 数据的视频ID查找本地存储的视频元数据。
[0082] 本发明一个可选实施例中,内存数据库集群分别查询与所述各视频标识对应的视 频元数据,包括:所述内存数据库集群分别查询本地是否存在与所述视频标识对应的视频 元数据;当本地存在与所述视频标识对应的视频元数据时,将所述视频元数据添加到查询 结果中;当本地不存在与所述视频标识对应的视频元数据时,将异步请求更新服务器进行 视频元数据更新以获取与所述视频标识对应的视频元数据。
[0083] 其中,有一些视频可能刚生成还未将视频元数据更新到内存数据库集群,因此在 内存数据库集群查找未匹配到视频元数据的视频ID对应的视频元数据时,若各视频ID对 应的视频元数据均查找到,则可以进行反馈,若有些视频ID对应的视频元数据未查找到, 则这些视频元数据可能还未更新到内存数据库集群中,内存数据库集群可以异步请求更新 服务器进行视频元数据的更新,以获取未更新到本地的视频元数据,从而可以查找到视频 ID对应的视频元数据。
[0084] 步骤322,内存数据库集群依据查询结果采用查询到的视频元数据构成第三查询 响应。
[0085] 步骤324,内存数据库集群将所述第三查询响应反馈给接口服务器。
[0086] 内存数据库集群将包括各视频ID对应的视频元数据的查询结果构成第三查询响 应,反馈给接口服务器。从而接口服务器通过内存数据库缓存和内存数据库集群可以获取 到查询条件对应视频ID匹配到的视频元数据,又如视频元数据中包括很多数据字段,如视 频ID、视频名称、视频状态、播放页地址、流媒体文件地址等,用户可能仅需要其中的部分数 据字段,若将所有数据字段均进行反馈数据量较大,也比较浪费带宽资源,因此还可以对诗 句字段进行筛选。
[0087] 3、筛选视频元数据
[0088] 参照图4,示出了本发明实施例二中视频元数据的查询步骤流程图,具体可以包括 如下步骤:
[0089] 步骤402,接口服务器采用接收到的返回集参数构造过滤器。
[0090] 步骤404,接口服务器采用所述过滤器对所述各视频元数据的数据字段进行筛选。
[0091] 步骤408,接口服务器对所述各视频元数据中筛选出的数据字段进行反馈。
[0092] 接口服务器采用返回集参数构造过滤器,该过滤器用于对视频元数据中的非请求 字段进行过滤,以减少传输的数据量。采用该过滤器对每个视频元数据的数据字段分别进 行筛选,删除其中的非请求字段,如返回集参数中请求的数据字段为播放页地址,则视频状 态、流媒体文件地址等就是非请求字段可以将其删除,从而筛选出请求的数据字段,然后对 各视频元数据中筛选出的数据字段进行反馈,从而通过筛选可以获取准确的数据字段,同 时减少了反馈的数据量,节省网络带宽,缩短查询的响应时间,提高查询效率。
[0093] 4、视频元数据的生成
[0094] 上述1-3部分论述了视频元数据的查询步骤,本发明实施例中还可以包括视频元 数据的生成步骤,具体如下:
[0095] 参照图5,示出了本发明实施例二中视频元数据的生成步骤流程图,具体可以包括 如下步骤:
[0096] 步骤502,视频生产器生产原始视频数据后,发送视频更新消息给更新服务器。
[0097] 步骤504,更新服务器从原始数据库中获取所述原始视频数据。
[0098] 步骤506,更新服务器对所述原始视频数据进行处理生成视频元数据。
[0099] 步骤508,更新服务器依据生成的视频元数据对所述文档型数据库中的视频索引 进行更新。
[0100] 步骤510,更新服务器将所述生成的视频元数据存储在所述内存数据库集群中,以 对所述内存数据库集群进行更新。
[0101] 步骤512,更新服务器删除当前所述内存数据库缓存上存储的临时的视频元数据。
[0102] 视频生产器在生成出一个新的原始视频数据后,可以将该原始视频数据存入原始 数据库,然后发送视频更新消息给更新服务器,其中视频更新消息中传递的参数可以为视 频ID,当然也可以是视频名称等能够唯一标识该视频的其他数据字段信息,从而可以调用 更新服务器进行视频元数据的更新。
[0103] 更新服务器依据视频ID从原始数据库中获取原始视频数据,然后对所述原始视 频数据进行处理生成视频元数据。更新服务器依据生成的视频元数据对所述文档型数据库 中的视频索引进行更新,并且将所述生成的视频元数据存储在所述内存数据库集群中,以 对所述内存数据库集群进行更新。
[0104] 由于视频元数据发生了变更,此时内存数据库缓存上存储的一些临时的视频元数 据可能是过期的信息,因此可能删除当前所述内存数据库缓存上存储的临时的视频元数 据,其中可能删除全部的临时的视频元数据,也可以依据生成的视频元数据的ID进行临时 的视频元数据的删除操作。
[0105] 实施例三
[0106] 参照图6,示出了本发明实施例三的视频元数据的查询方法示意图。其中视频元数 据的查询系统包括:
[0107] 视频生产器(MSG Center)用于生成视频数据。
[0108] 更新服务器(Internal Server)用于执行系统中视频数据以及视频元数据的模 块。
[0109] 接口服务器(API Server)是系统的对外服务接口,提供视频查询服务。
[0110] Mongodb集群(Mongo Cluster)是一种文档型数据库的集群,用于存储系统中的 视频索引信息;
[0111] Couchbase集群是一种内存数据库集群,用于存储系统中的全量视频元数据;
[0112] Redis缓存(Redis Cache)是一种内存数据库缓存,用于存储系统中的常用视频 元数据。
[0113] 其中,数据库采用存储实例进行数据的存储,存储实例指的是对数据进行存储的 容器,该容器在服务器上部署并启动后成为一个存储实例,如上述Couchbase集群和Redis 缓存就采用存储实例进行视频元数据的存储。
[0114] 更新服务器和接口服务器中部署有服务实例,服务实例通过系统通过远程过程 调用协议(Remote Procedure Call Protocol,RPC)或超文本传输协议(HTTP-Hypertext transfer protocol, HTTP)请求对外提供的具体的服务。
[0115] 本发明实施例中,数据库采用非关系型数据库(Not only SQL,NoSQL),这是一种 数据存储的类型,与传统数据库的区别在于并不局限于使用SQL语句对存储实例进行操 作,如增加、删除、修改、查询等,因此对数据库的操作比较灵活。
[0116] 其中,缓存位于存储实例和服务实例之间,对服务实例提供数据,但并不保存存储 实例中的所有数据,如Redis缓存。集群可以将多个存储实例或者服务实例进行并联,其 中,存储实例并联成为存储集群,能够拥有更加稳定、容量更大的存储能力,如Couchbase 集群、Mongodb集群。服务实例并联称为服务集群,能够提供更加稳定、响应时间更小的服 务能力。
[0117] Redis是一种key-value的内存数据库,至少存在集群版本和单机版本,如在本 发明中内存数据库集群也可以Redis集群即使用集群版本,内存数据库缓存可以使用单机 版本的Redis缓存,当然这仅是举例论述内存数据库,不应理解为是对本申请的限制。而 Couchbase是一个分布式的面向文档的NoSQL数据库,如本实施例中内存数据库集群就采 用 Couchbase 集群。
[0118] 具体包括如下步骤:
[0119] 步骤6. 02、视频生产器生产完成原始视频数据后将原始视频数据存入原始数据 库,发送视频更新消息通知以对视频信息进行更新,可以调用更新服务器,视频更新消息的 参数为该视频的ID。
[0120] 步骤6. 04、更新服务器(Internal Server)通过视频ID从原始数据库取出原始视 频数据,对原始视频数据进行加工生成视频元数据。
[0121] 步骤6. 06、Internal Server对Mongodb中保存的视频索引数据进行更新。
[0122] 步骤6. 08、Internal Server更新Couchbase集群中的视频元数据。
[0123] 步骤6. 10、Internal Server删除掉Redis缓存中的临时视频元数据。
[0124] 步骤6. 12、接口服务器(API Server)接收视频元数据查询请求,从视频元数据查 询请求中获取查询条件和返回集参数。
[0125] 步骤6. 14、API Server根据查询条件查询Mongodb集群(Mongo Cluster)以获取 与查询条件匹配的所有相关的视频ID集合。
[0126] 步骤 6. 16、Mongo Cluster 向 API Server 返回视频 ID 集合信息;
[0127] 步骤6. 18、API Server根据视频ID集合向Redis缓存请求视频元数据。
[0128] 步骤6. 20、Redis缓存将查询结果返回给API Server。
[0129] 如果步骤6. 20返回的结果中存在未匹配到视频元数据的视频ID,后续要执行步 骤6. 22,否则直接执行步骤6. 26。
[0130] 步骤6. 22、API Server根据未匹配到视频元数据的视频ID向Couchbase集群请 求视频元数据。
[0131] 步骤6. 24、Couchbase集群查询本地存储的视频元数据,并将查询结果返回给API Server。
[0132] 此时由于在Couchbase集群查询到了 Redis缓存中未匹配到的视频元数据,还可 以由Couchbase集群或API Server将该视频元数据本地Redis缓存中(图6中未标示本 步骤)。
[0133] 另外,Couchbase集群若在本地未查询到视频元数据,则可以发送更新请求给更新 服务器,以对本地的视频元数据进行更新(图6中未标示本步骤)。
[0134] 步骤6. 26、API Server利用数据返回集参数,过滤掉视频元数据中非请求字段,并 反馈视频元数据中请求的数据字段。
[0135] 本发明实施例中,Mongodb集群仅是举例论述的一种文档型数据库,实际处理中可 以不使用Mongdb进行索引,而使用其他NoSQL数据库索引数据,如Couchbase数据库等。
[0136] 另外,也可以不使用Redis保存全量的视频元数据,使用其他存储形式,如采用 MemCache,MemCache是一个高性能的分布式的内存对象缓存系统。
[0137] 综上所述,本发明实施例使用NoSQL数据库构建数据索引,比传统SQL数据库提高 查询效率。并且增加了请求字段功能,从而可以定制返回的数据字段,缩小网络传输的数据 包,节省网络带宽,缩短响应时间。
[0138] 需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组 合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依 据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该 知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施 例所必须的。
[0139] 参照图7,示出了本发明一种视频元数据的查询系统实施例的结构框图,具体包 括:
[0140] 接口服务器702、文档型数据库704和内存数据库缓存706,其中,
[0141] 所述接口服务器702,用于通过对文档型数据库704中的视频索引进行查询,获取 与查询条件匹配的各视频标识的视频数据集合;以及采用所述与查询条件匹配的各视频标 识构成第一查询请求,并将第一查询请求发送给内存数据库706缓存;以及依据返回集参 数对所述查询结果中的各视频元数据的数据字段进行筛选并反馈;
[0142] 所述文档型数据库704,用于查询视频索引获取与查询条件匹配的各视频标识的 视频数据集合;
[0143] 所述内存数据库缓存706,用于分别查询所述各视频标识对应的各视频元数据,并 将查询结果反馈所述接口服务器702。
[0144] 综上所述,接口服务器对文档型数据库中的视频索引进行查询,获取与查询条件 匹配的各视频标识的视频数据集合,通过查询条件匹配视频标识,查询方法灵活、多样,避 免了无法查询问题,且接口服务器可以通过内存数据库缓存获取与各视频标识匹配的各视 频元数据,进而采用返回集参数对各视频元数据的数据字段进行筛选并反馈,通过筛选可 以获取准确的数据字段,同时减少了反馈的数据量,节省网络带宽,缩短查询的响应时间, 提高查询效率。
[0145] 参照图8,示出了本发明一种视频元数据的查询系统实施例的结构框图。
[0146] 所述的系统还包括:内存数据库集群708、视频生产器710、更新服务器712和原始 数据库714。
[0147] 所述接口服务器702,用于采用接收到的查询条件构成第二查询请求,并将所述第 二查询请求发送给所述文档型数据库704 ;所述文档型数据库704,用于按照所述查询条件 查询存储的视频索引,获取与所述查询条件匹配的各视频标识;以及将与所述查询条件匹 配的各视频标识构成视频数据集合,并将所述视频数据集合反馈给所述接口服务器702。
[0148] 所述内存数据库缓存704,用于从所述第一查询请求中获取所述各视频标识;分 别在本地查询与所述视频标识匹配的视频元数据;以及依据查询结果构成第一查询响应反 馈给所述接口服务器702,其中,所述查询结果包括各与所述视频标识匹配的视频元数据, 或所述查询结果为空。
[0149] 所述接口服务器702,还用于在存在未匹配到视频元数据的视频标识时,采用所述 未匹配到视频元数据的各视频标识生成第三查询请求,并将第三查询请求发送给内存数据 库集群708 ;所述内存数据库集群708,用于从所述第三查询请求中获取所述各视频标识; 分别查询与所述各视频标识对应的各视频元数据;以及依据查询结果采用查询到的视频元 数据构成第三查询响应,并反馈给所述接口服务器702。
[0150] 所述内存数据库集群708,用于分别查询本地是否存在与所述视频标识对应的视 频元数据;当本地存在与所述视频标识对应的视频元数据时,将所述视频元数据添加到查 询结果中;当本地不存在与所述视频标识对应的视频元数据时,将异步请求更新服务器进 行视频元数据更新以获取与所述视频标识对应的视频元数据。
[0151] 所述接口服务器702,用于采用接收到的返回集参数构造过滤器;采用所述过滤 器对所述各视频元数据的数据字段进行筛选;以及对所述各视频元数据中筛选出的数据字 段进行反馈。
[0152] 所述视频生产器710,用于生产原始视频数据后将原始视频数据存入原始数据库 714 ;发送视频更新消息给更新服务器712 ;所述更新服务器712,用于从原始数据库714中 获取所述原始视频数据,并对所述原始视频数据进行处理生成视频元数据。
[0153] 所述更新服务器712,还用于依据生成的视频元数据对所述文档型数据库704中 的视频索引进行更新;将所述生成的视频元数据存储在所述内存数据库集群708中,以对 所述内存数据库集群进行更新;以及删除当前所述内存数据库缓存706上存储的临时的视 频元数据。
[0154] 综上所述,本发明实施例使用NoSQL数据库构建数据索引,比传统SQL数据库提高 查询效率。并且增加了请求字段功能,从而可以定制返回的数据字段,缩小网络传输的数据 包,节省网络带宽,缩短响应时间。
[0155] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关 之处参见方法实施例的部分说明即可。
[0156] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0157] 本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算 机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和 硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可 用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上 实施的计算机程序产品的形式。
[0158] 本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序 产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框 图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提 供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理 终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处 理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多 个方框中指定的功能的装置。
[0159] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备 以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包 括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能。
[0160] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得 在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在 计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程 和/或方框图一个方框或多个方框中指定的功能的步骤。
[0161] 尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基 本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为 包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0162] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作 之间存在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意 在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包 括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品 或者终端设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要 素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0163] 以上对本发明所提供的一种视频元数据的查询方法和一种视频元数据的查询系 统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上 实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技 术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本 说明书内容不应理解为对本发明的限制。
【权利要求】
1. 一种视频元数据的查询系统,其特征在于,包括:接口服务器、文档型数据库和内存 数据库缓存,其中, 所述接口服务器,用于通过对文档型数据库中的视频索引进行查询,获取与查询条件 匹配的各视频标识的视频数据集合;以及采用所述与查询条件匹配的各视频标识构成第一 查询请求,并将第一查询请求发送给内存数据库缓存;以及依据返回集参数对所述查询结 果中的各视频元数据的数据字段进行筛选并反馈; 所述文档型数据库,用于查询视频索引获取与查询条件匹配的各视频标识的视频数据 集合; 所述内存数据库缓存,用于分别查询所述各视频标识对应的各视频元数据,并将查询 结果反馈所述接口服务器。
2. 根据权利要求1所述的系统,其特征在于: 所述接口服务器,用于采用接收到的查询条件构成第二查询请求,并将所述第二查询 请求发送给所述文档型数据库; 所述文档型数据库,用于按照所述查询条件查询存储的视频索引,获取与所述查询条 件匹配的各视频标识;以及将与所述查询条件匹配的各视频标识构成视频数据集合,并将 所述视频数据集合反馈给所述接口服务器。
3. 根据权利要求1所述的系统,其特征在于: 所述内存数据库缓存,用于从所述第一查询请求中获取所述各视频标识;分别在本地 查询与所述视频标识匹配的视频元数据;以及依据查询结果构成第一查询响应反馈给所述 接口服务器,其中,所述查询结果包括各与所述视频标识匹配的视频元数据,或所述查询结 果为空。
4. 根据权利要求1或3所述的系统,其特征在于,所述的系统还包括:内存数据库集 群; 所述接口服务器,还用于在存在未匹配到视频元数据的视频标识时,采用所述未匹配 到视频元数据的各视频标识生成第三查询请求,并将第三查询请求发送给内存数据库集 群; 所述内存数据库集群,用于从所述第三查询请求中获取所述各视频标识;分别查询与 所述各视频标识对应的各视频元数据;以及依据查询结果采用查询到的视频元数据构成第 三查询响应,并反馈给所述接口服务器。
5. 根据权利要求4所述的系统,其特征在于:所述内存数据库集群,用于分别查询本地 是否存在与所述视频标识对应的视频元数据;当本地存在与所述视频标识对应的视频元数 据时,将所述视频元数据添加到查询结果中;当本地不存在与所述视频标识对应的视频元 数据时,将异步请求更新服务器进行视频元数据更新以获取与所述视频标识对应的视频元 数据。
6. 根据权利要求1所述的系统,其特征在于: 所述接口服务器,用于采用接收到的返回集参数构造过滤器;采用所述过滤器对所述 各视频元数据的数据字段进行筛选;以及对所述各视频元数据中筛选出的数据字段进行反 馈。
7. 根据权利要求1所述的系统,其特征在于,所述的系统还包括:视频生产器和更新服 务器; 所述视频生产器,用于生产原始视频数据后,发送视频更新消息给更新服务器; 所述更新服务器,用于从原始数据库中获取所述原始视频数据,并对所述原始视频数 据进行处理生成视频元数据。
8. 根据权利要求7所述的系统,其特征在于: 所述更新服务器,还用于依据生成的视频元数据对所述文档型数据库中的视频索引进 行更新;将所述生成的视频元数据存储在所述内存数据库集群中,以对所述内存数据库集 群进行更新;以及删除当前所述内存数据库缓存上存储的临时的视频元数据。
9. 一种视频元数据的查询方法,其特征在于,包括: 接口服务器对文档型数据库中的视频索引进行查询,获取与查询条件匹配的各视频标 识的视频数据集合; 所述接口服务器采用所述与查询条件匹配的各视频标识构成第一查询请求,并将第一 查询请求发送给内存数据库缓存; 所述内存数据库缓存分别查询所述各视频标识对应的各视频元数据,并将查询结果反 馈所述接口服务器; 所述接口服务器依据返回集参数对所述查询结果中的各视频元数据的数据字段进行 筛选并反馈。
10. 根据权利要求9所述的方法,其特征在于,所述接口服务器对文档型数据库中的视 频索引进行查询,获取与查询条件匹配的各视频标识的视频数据集合,包括: 接口服务器采用接收到的查询条件构成第二查询请求,并将所述第二查询请求发送给 所述文档型数据库; 所述文档型数据库按照所述查询条件查询存储的视频索引,获取与所述查询条件匹配 的各视频标识; 所述文档型数据库将与所述查询条件匹配的各视频标识构成视频数据集合,并将所述 视频数据集合反馈给所述接口服务器。
11. 根据权利要求9所述的方法,其特征在于,所述内存数据库缓存分别查询所述各视 频标识对应的视频元数据,并将查询结果反馈所述接口服务器,包括: 所述内存数据库缓存从所述第一查询请求中获取所述各视频标识; 所述内存数据库缓存分别在本地查询与所述视频标识匹配的视频元数据; 所述内存数据库缓存依据查询结果构成第一查询响应反馈给所述接口服务器,其中, 所述查询结果包括各与所述视频标识匹配的视频元数据,或所述查询结果为空。
12. 根据权利要求9或11所述的方法,其特征在于,所述的方法还包括: 当存在未匹配到视频元数据的视频标识时,所述接口服务器采用所述未匹配到视频元 数据的各视频标识生成第三查询请求,并将第三查询请求发送给内存数据库集群; 所述内存数据库集群从所述第三查询请求中获取所述各视频标识; 所述内存数据库集群分别查询与所述各视频标识对应的各视频元数据; 所述内存数据库集群依据查询结果采用查询到的视频元数据构成第三查询响应,并反 馈给所述接口服务器。
13. 根据权利要求12所述的方法,其特征在于,所述内存数据库集群分别查询与所述 各视频标识对应的视频元数据,包括: 所述内存数据库集群分别查询本地是否存在与所述视频标识对应的视频元数据; 当本地存在与所述视频标识对应的视频元数据时,将所述视频元数据添加到查询结果 中; 当本地不存在与所述视频标识对应的视频元数据时,将异步请求更新服务器进行视频 元数据更新以获取与所述视频标识对应的视频元数据。
14. 根据权利要求9所述的方法,其特征在于,所述接口服务器依据返回集参数对所述 查询结果中的各视频元数据的数据字段进行筛选并反馈,包括: 所述接口服务器采用接收到的返回集参数构造过滤器; 所述接口服务器采用所述过滤器对所述各视频元数据的数据字段进行筛选; 所述接口服务器对所述各视频元数据中筛选出的数据字段进行反馈。
15. 根据权利要求9所述的方法,其特征在于,所述的方法还包括: 视频生产器生产原始视频数据后,发送视频更新消息给更新服务器; 所述更新服务器从原始数据库中获取所述原始视频数据,并对所述原始视频数据进行 处理生成视频元数据。
16. 根据权利要求15所述的方法,其特征在于,所述的方法还包括: 所述更新服务器依据生成的视频元数据对所述文档型数据库中的视频索引进行更 新; 所述更新服务器将所述生成的视频元数据存储在所述内存数据库集群中,以对所述内 存数据库集群进行更新; 所述更新服务器删除当前所述内存数据库缓存上存储的临时的视频元数据。
【文档编号】G06F17/30GK104216957SQ201410413049
【公开日】2014年12月17日 申请日期:2014年8月20日 优先权日:2014年8月20日
【发明者】庞传晓 申请人:北京奇艺世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1