CN113873301A - 视频流的获取方法及装置、服务器和存储介质 - Google Patents
视频流的获取方法及装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN113873301A CN113873301A CN202111109163.XA CN202111109163A CN113873301A CN 113873301 A CN113873301 A CN 113873301A CN 202111109163 A CN202111109163 A CN 202111109163A CN 113873301 A CN113873301 A CN 113873301A
- Authority
- CN
- China
- Prior art keywords
- video stream
- service
- task analysis
- task
- analysis service
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 127
- 238000013507 mapping Methods 0.000 claims abstract description 96
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 27
- 230000008569 process Effects 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000003032 molecular docking Methods 0.000 description 8
- 210000001503 joint Anatomy 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例公开了一种视频流的获取方法及装置、服务器和存储介质,其中,所述方法包括:服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入视频流;其中,请求消息是客户端基于第一映射关系发送给第一任务分析服务的,第一映射关系用于表明服务器中每一任务分析服务对应的客户端;在第一任务分析服务未接入视频流的情况下,服务器中的任务管理服务基于第二映射关系将客户端重定向到第二任务分析服务,使得客户端能够通过重定向的第二任务分析服务获取到视频流;其中,第二映射关系用于表明每一任务分析服务已对应接入的视频流;任务管理服务是从服务器中的多个任务分析服务中确定出的。
Description
技术领域
本申请实施例涉及通信技术,涉及但不限于一种视频流的获取方法及装置、服务器和存储介质。
背景技术
目前,随着智能安全管理行业的快速发展,大量视频数据、音频数据等需要提取和分析。但是,现有的安全管理厂家众多,使用的前端设备类型以及各自的平台协议类型各不相同,如此安全管理行业中对视频接入分发***的兼容性、稳定性以及性能有着越来越高的要求。
因此,如何提供一种兼容性强、性能高,并且稳定可靠的视频接入分发***,成为本领域技术人员研究的热点。
发明内容
有鉴于此,本申请实施例提供一种视频流的获取方法及装置、服务器和存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种视频流的获取方法,应用于服务器,所述方法包括:
所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;在所述第一任务分析服务未接入所述视频流的情况下,所述服务器中的任务管理服务基于第二映射关系将所述客户端重定向到第二任务分析服务,使得所述客户端能够通过重定向的第二任务分析服务获取到所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的。
通过上述方式,能够采用重定向机制实现视频的溯源功能,保证视频接入分发***(即服务器)不对前端设备(即视频流所在的设备)产生性能影响,且保证所述***的内部转发功能正常有效。
在一些实施例中,所述在所述第一任务分析服务未接入所述视频流的情况下,所述服务器中的任务管理服务基于第二映射关系将所述客户端重定向到第二任务分析服务,使得所述客户端能够通过重定向的第二任务分析服务获取到所述视频流,包括:在所述第一任务分析服务未接入所述视频流的情况下,所述第一任务分析服务向所述任务管理服务发送查询请求消息;其中,所述查询请求消息中携带有所述视频流的标识信息;所述任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果;在所述查询结果表明所述服务器中的第二任务分析服务已接入所述视频流的情况下,所述任务管理服务将所述查询结果发送给所述第一任务分析服务,使得所述客户端能够通过所述第二任务分析服务获取所述视频流。
通过上述方式,能够采用重定向机制保证多服务分发时,可以将溯源后的服务直接反馈给客户端去对接,减少内部服务所在的节点之间的网络消耗。
在一些实施例中,所述任务管理服务将所述查询结果发送给所述第一任务分析服务,使得所述客户端能够通过所述第二任务分析服务获取所述视频流,包括:所述任务管理服务将所述查询结果发送给所述第一任务分析服务;所述第一任务分析服务将所述第二任务分析服务的节点地址发送给所述客户端,以使所述客户端能够根据所述节点地址与所述第二任务分析服务建立媒体连接从而获取所述视频流。
通过上述方式,能够采用重定向机制保证多服务分发时,可以将溯源后的服务的节点地址直接反馈给客户端去对接,减少内部服务所在的节点之间的网络消耗。
在一些实施例中,所述任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果,包括:所述任务管理服务根据所述标识信息和所述第二映射关系,确定已接入所述视频流的地址信息;所述任务管理服务根据所述地址信息,确定已接入所述视频流的任务分析服务,得到查询结果。
通过上述方式,能够根据已接入视频流的地址信息与任务分析服务的对应关系,实现待接入视频源的溯源功能。
在一些实施例中,所述服务器包括多个服务节点,每一所述服务节点上存在至少一个所述任务分析服务;对应地,所述第二映射关系用于表明所述每一所述服务节点已对应接入的视频流;对应地,所述方法还包括:将所述多个服务节点中的第一服务节点,确定为任务管理节点;将所述任务管理节点中的任务分析服务,确定为所述任务管理服务。
通过上述方式,能够采用分布式***框架获取视频流,从而具备高可靠、高扩展等特性,如此能够保证视频流获取场景下接入和转发功能的稳定和高效运行。同时,在视频接入分发***的多个任务分析服务中,选举某一任务分析服务作为任务管理的角色,从而在资源复用的同时实现不同服务之间拉取视频流的重定向的调度。
在一些实施例中,所述方法还包括:在所述第一任务分析服务已接入所述视频流的情况下,所述第一任务分析服务与所述客户端建立媒体连接;所述第一任务分析服务通过所述媒体连接,将接入的所述视频流发送给所述客户端。
通过上述方式,能够在客户端对应的任务分析服务已接入视频流的情况下下,直接利用该任务分析服务来获取客户端所需的视频流。
在一些实施例中,所述方法还包括:在所述查询结果表明未查询到已接入所述视频流的任务分析服务的情况下,所述任务管理服务根据预设规则确定出目标任务分析服务,使得所述客户端能够通过所述目标任务分析服务获取所述视频流。
通过上述方式,能够在视频流均未被任务分析服务接入过的情况下,采取灵活多样的调度策略保证可以覆盖各种场景需求。
在一些实施例中,所述任务管理服务根据预设规则确定出目标任务分析服务,使得所述客户端能够通过所述目标任务分析服务获取所述视频流,包括:所述任务管理服务根据所述第一映射关系将所述第一任务分析服务确定为所述目标任务分析服务,使得所述客户端能够通过所述第一任务分析服务获取所述视频流。
通过上述方式,能够在视频流均未被任务分析服务接入过的情况下,采取就近调度策略,这样可以减少重定向现象,对客户端更友好,逻辑也更简单,效率更高。
在一些实施例中,所述任务管理服务根据预设规则确定出目标任务分析服务,使得所述客户端能够通过所述目标任务分析服务获取所述视频流,包括:所述任务管理服务确定所述服务器中至少两个任务分析服务的负载;所述任务管理服务将所述至少两个任务分析服务的负载按取值从小到大进行排序,得到排序结果;所述任务管理服务根据所述排序结果将负载最小的任务分析服务确定为所述目标任务分析服务,使得所述客户端能够通过所述负载最小的任务分析服务获取所述视频流。
通过上述方式,能够在视频流均未被任务分析服务接入过的情况下,采取负载均衡调度策略,选择所有任务分析服务中负载最小的服务所在的节点作为客户端的对接节点,这样可以减少***资源压力,提高稳定性。
在一些实施例中,所述任务管理服务根据预设规则确定出目标任务分析服务,使得所述客户端能够通过所述目标任务分析服务获取所述视频流,包括:所述任务管理服务根据所述视频流的接入类型确定出第三任务分析服务,使得所述客户端能够通过所述第三任务分析服务获取所述视频流。
通过上述方式,能够在视频流均未被任务分析服务接入过的情况下,根据客户端需要获取的视频流的接入类型来选择与其匹配的任务分析服务作为客户端的对接节点,这样可以更加灵活的在满足用户场景需求下实现视频流的接入和转发功能。
第二方面,本申请实施例提供一种视频流的获取装置,所述装置包括:确定单元,用于所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;重定向单元,用于在所述第一任务分析服务未接入所述视频流的情况下,所述服务器中的任务管理服务基于第二映射关系将所述客户端重定向到第二任务分析服务,使得所述客户端能够通过重定向的第二任务分析服务获取到所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的。
第三方面,本申请实施例提供一种服务器,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的步骤。
本申请实施例提供一种视频流的获取方法及装置、服务器和存储介质,通过所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;在所述第一任务分析服务未接入所述视频流的情况下,所述服务器中的任务管理服务基于第二映射关系将所述客户端重定向到第二任务分析服务,使得所述客户端能够通过重定向的第二任务分析服务获取到所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的,如此,能够采用重定向机制实现视频的溯源功能,保证视频接入分发***(即服务器)不对前端设备(即视频流所在的设备)产生性能影响,且保证所述***的内部转发功能正常有效。
附图说明
图1A为本申请实施例视频流的获取方法所对应的***架构的示意图;
图1B为本申请实施例视频流的获取方法的实现流程示意图一;
图2为本申请实施例视频流的获取方法的实现流程示意图二;
图3为本申请实施例视频流的获取方法的实现流程示意图三;
图4为本申请实施例视频流的获取方法的实现流程示意图四;
图5为本申请实施例视频流的获取方法的实现流程示意图五;
图6为本申请实施例视频流的获取装置的组成结构示意图;
图7为本申请实施例服务器的一种硬件实体示意图。
具体实施方式
下面结合附图和实施例对本申请的技术方案进一步详细阐述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
图1A为本申请实施例视频流的获取方法所对应的***架构的示意图,如图1A所示,所述***架构可以包括至少一个客户端11、网络12、服务器13和至少一个前端设备14,其中:
用户可以使用所述客户端11通过所述网络12与所述服务器13进行交互,以获取位于所述前端设备14上的视频流等数据。所述前端设备14接入所述服务器13,所述服务器13可以访问和管理所述前端设备14,同时将访问的结果发送给所述客户端11。也就是说,所述服务器13可以请求所述前端设备14上的视频流,并将所述视频流转发给所述客户端11。因此,可以将所述服务器13看成是一个视频接入分发***。
所述客户端11广义上讲可以是各种类型的具有信息处理能力的设备,包括但不限于导航仪、智能手机、平板电脑、可穿戴设备、膝上型便携计算机、一体机和台式计算机等。所述客户端11狭义上讲可以为流媒体服务端。
所述服务器13在实现的过程中可以是如个人计算机和服务器集群等具有信息处理能力的计算设备。所述服务器13可以是提供各种服务的服务器,例如,所述服务器可以为分布式服务器,所述分布式服务器中包括多个节点服务器,每一节点服务器上都存在至少一个任务分析服务,当所述客户端11需要获取前端设备14上的视频流时,所述客户端11可以根据某种映射关系向分布式服务器中的某个服务节点发送获取请求,所述服务节点上的任务分析服务可以对所述获取请求进行处理。所述前端设备14可以是电子设备(例如,摄像机)也可以是平台(例如安全管理厂家的平台)。
基于此,本申请实施例提供一种视频流的获取方法,所述方法应用于服务器,该方法所实现的功能可以通过所述服务器的处理器调用程序代码来实现,当然程序代码可以保存在所述服务器的存储介质中。图1B为本申请实施例视频流的获取方法的实现流程示意图一,如图1B所示,所述方法包括:
步骤S101、所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
这里,所述服务器可以是如个人计算机和服务器集群等具有信息处理能力的计算设备。所述服务器具有视频接入和视频分发的功能,所述服务器中的任务分析服务能够接入前端设备中的视频流,并将接入的所述视频流分发给客户端。
本申请实施例中,所述服务器中的任务分析服务能够接入前端设备中的视频流,即所述任务分析服务能够持续的接入所述前端设备中的视频流,所述任务分析服务与所述前端设备之间一直保持着所述视频流的传输状态。
这里,所述客户端可以为流媒体服务端,不同的流媒体服务端对应不同的任务分析服务。所述第一任务分析服务和发送请求消息的客户端之间存在第一映射关系。例如,流媒体服务端A对应任务分析服务A,流媒体服务端B对应任务分析服务B,流媒体服务端C对应任务分析服务C。
当然,在一些实施例中,也可以是所述客户端通过一个域名就直接向所述服务器发送获取视频流的请求,所述服务器内部解析域名指定某个节点(可能是随机指定)来处理所述请求,如此,如果采用分布式服务器则所述分布式服务器中的多节点随机可以实现负荷分担的高可靠性。
步骤S102、在所述第一任务分析服务未接入所述视频流的情况下,所述服务器中的任务管理服务基于第二映射关系将所述客户端重定向到第二任务分析服务,使得所述客户端能够通过重定向的第二任务分析服务获取到所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的。
这里,所述第一任务分析服务可以根据所述视频流的标识信息,确定自身是否接入所述视频流,即确定自身是否处于传输所述视频流的状态。其中,所述第一任务分析服务所在的服务节点中可以有本地缓存,所述本地缓存中存储了所述第一任务分析服务和其所接入的视频流的映射关系,进而,所述第一任务分析服务通过查看所述本地缓存中的数据即可知晓其是否接入过所述客户端请求的视频流。
这里,不同的任务分析服务可以对应不同的视频流。所述第一任务分析服务和客户端需要请求的视频流之间不存在第二映射关系,所述第二任务分析服务和客户端需要请求的视频流之间存在第二映射关系。例如,流媒体服务端A对应任务分析服务A,所述任务分析服务A对应接入第一类型的视频流。流媒体服务端B对应任务分析服务B,所述任务分析服务B对应接入第二类型的视频流。流媒体服务端C对应任务分析服务C,所述任务分析服务C对应接入第三类型的视频流。
举例来说,流媒体服务端A(即客户端A)向任务分析服务A发送获取第三类型的视频流的请求消息,所述任务分析服务A自查发现自身并没有接入所述第三类型的视频流。所述任务分析服务A向任务管理服务发送查询请求消息,任务管理服务查询到是任务分析服务C接入了第三类型的视频流,则所述任务管理服务将流媒体服务A重定向到任务分析服务C,所述任务分析服务C在接收到流媒体服务A发送的视频流的请求消息后,查询到自身接入了第三类型的视频流,则直接将所述第三类型的视频流返回至流媒体服务A。如此,采用重定向机制实现视频的溯源功能,保证视频接入分发***(即服务器)不对前端设备(即视频流所在的设备)产生性能影响,且保证所述***的内部转发功能正常有效。
本申请实施例中,所述任务管理服务可以是在***创建完成后就从某一任务分析服务中确定出的,也就是说,所述任务管理服务所在的服务节点,不但具备视频接入的溯源功能,还具备具体的视频接入和分发功能,如此,可以实现资源的复用。
基于前述的实施例,本申请实施例再提供一种视频流的获取方法,所述方法应用于服务器,所述服务器包括多个服务节点,每一所述服务节点上存在至少一个任务分析服务,所述方法包括:
步骤S111、将所述多个服务节点中的第一服务节点,确定为任务管理节点;
本申请实施例中,服务器通常包括若干台机器,或者若干套虚拟机环境,这种情况下,一台机器或者一套虚拟机环境就是一个服务节点,具有多个服务节点的服务器即分布式服务器。任务分析服务可以看作是在这个节点上运行的一个进程,这个进程会使用这个节点的IP(Internet Protocol,网际互联协议)地址对外监听或建立网络连接。
这里,分布式服务器的特点是多节点多副本运行,一种情况,多个服务节点(即物理机)中的每一服务节点上都有一个服务(任务分析服务或任务管理服务)。另一种情况,一个服务器上存在多个服务,每一服务都看作是一个虚拟机,不同的虚拟机存在资源隔离,这两种情况都属于分布式服务器。本申请实施例中通过采用分布式***框架来获取视频流,从而具备高可靠、高扩展等特性,如此能够保证视频流获取场景下接入和转发功能的稳定和高效运行。同时,在视频接入分发***的多个服务节点中,选举某一节点作为任务管理的角色,从而实现不同节点之间拉取视频流的重定向的调度。
本申请实施例中,所述任务管理节点的主要作用是查询是否有服务节点接入客户端所需的视频流,以及如果有服务节点接入所述视频流,则确定接入所述视频流的特定服务节点,并将查询的结果发送给第一任务分析服务所在的服务节点。所述第一任务分析服务所在的节点再将所述特定服务节点的节点地址发送给所述客户端,从而所述客户端能够通过所述特定服务节点上的任务分析服务获取所述视频流。通过上述方式,能够采用重定向机制保证多服务分发时,可以将溯源后的服务直接反馈给客户端去对接,减少内部服务所在的节点之间的网络消耗。
这里,可以将所述多个服务节点中的任一服务节点,确定为所述任务管理节点,还可以将所述多个服务节点中负载最小的服务节点,确定为所述任务管理节点。当然,还可以通过其他的方法来将某个服务节点确定为所述任务管理节点,即本申请实施例中对所述任务管理节点的确定方法并不做限制,本领域技术人员可以根据实际使用需求进行设置。
步骤S112、将所述任务管理节点中的任务分析服务,确定为任务管理服务;
这里,如果所述任务管理节点中存在一个任务分析服务,则将此任务分析服务确定为所述任务管理服务。
步骤S113、所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
这里,如果所述服务器为分布式服务器、且所述分布式服务器包括多个服务节点,每一所述服务节点上存在至少一个任务分析服务,则所述第一映射关系用于表明所述每一所述服务节点对应的客户端。
这里,所述第一任务分析服务为在所述第一映射关系中所述客户端对应的服务节点上的任务分析服务。
步骤S114、在所述第一任务分析服务未接入所述视频流的情况下,所述服务器中的任务管理服务基于第二映射关系将所述客户端重定向到第二任务分析服务,使得所述客户端能够通过重定向的第二任务分析服务获取到所述视频流;
其中,所述第二映射关系用于表明所述每一所述服务节点已对应接入的视频流。
这里,所述第二任务分析服务所在的服务节点与所述视频流存在所述第二映射关系。
通过上述方式,能够采用分布式***框架获取视频流,从而具备高可靠、高扩展等特性,如此能够保证视频流获取场景下接入和转发功能的稳定和高效运行。同时,在视频接入分发***的多个任务分析服务中,选举某一任务分析服务作为任务管理的角色,从而在资源复用的同时实现不同服务之间拉取视频流的重定向的调度。
基于前述的实施例,本申请实施例再提供一种视频流的获取方法,所述方法应用于服务器,图2为本申请实施例视频流的获取方法的实现流程示意图二,如图2所示,所述方法包括:
步骤S201、所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
步骤S202、在所述第一任务分析服务未接入所述视频流的情况下,所述第一任务分析服务向所述任务管理服务发送查询请求消息;其中,所述查询请求消息中携带有所述视频流的标识信息;
步骤S203、所述任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果;
本申请实施例中,所述任务管理服务接收到所述第一任务分析服务发送的查询请求消息后,所述任务管理服务可以在共享存储中查询已接入所述视频流的任务分析服务,从而实现视频的溯源功能。如此,客户端可以直接使用已接入所述视频流的任务分析服务来获取所述视频流,从而可以保证视频接入分发***(即服务器)不对前端设备产生性能影响,且保证所述***的内部转发功能正常有效。
步骤S204、在所述查询结果表明所述服务器中的第二任务分析服务已接入所述视频流的情况下,所述任务管理服务将所述查询结果发送给所述第一任务分析服务,使得所述客户端能够通过所述第二任务分析服务获取所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的。
在一些实施例中,所述服务器包括多个服务节点,每一所述服务节点上存在至少一个所述任务分析服务;对应地,所述第二映射关系用于表明所述每一所述服务节点已对应接入的视频流;
对应地,所述方法还包括:
步骤S21、将所述多个服务节点中的第一服务节点,确定为任务管理节点;
步骤S22、将所述任务管理节点中的任务分析服务,确定为所述任务管理服务。
基于前述的实施例,本申请实施例再提供一种视频流的获取方法,所述方法应用于服务器,所述方法包括:
步骤S211、所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
步骤S212、在所述第一任务分析服务未接入所述视频流的情况下,所述第一任务分析服务向所述任务管理服务发送查询请求消息;其中,所述查询请求消息中携带有所述视频流的标识信息;
步骤S213、所述任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果;
这里,所述查询请求消息中携带有视频流的标识信息的作用是,所述任务管理服务能够根据所述标识信息查询是哪个节点上的任务分析服务接入了所述视频流。
步骤S214、在所述查询结果表明所述服务器中的第二任务分析服务已接入所述视频流的情况下,所述任务管理服务将所述查询结果发送给所述第一任务分析服务;
步骤S215、所述第一任务分析服务将所述第二任务分析服务的节点地址发送给所述客户端,以使所述客户端能够根据所述节点地址与所述第二任务分析服务建立媒体连接从而获取所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的。
本申请实施例中,在对接的时候,客户端先向对应的服务节点发送一个基础的信令,所述服务节点确定未接入所述客户端请求的视频流后,会寻找已接入所述视频流的服务节点,并返回一个302错误,所述错误码中携带有新的地址(即找到的已接入所述视频流的服务节点的地址),进而,所述客户端拿到这个新的地址后会再发个获取视频流的请求,因为变地址了所以是重定向。如此,对于已接入的视频源,当客户端来向任务分析服务请求该视频源时,如果所述视频源已接入的节点不是当前所述客户端对应的服务节点,则采用重定向的方式实现客户端与服务节点之间的正确连接。
在一些实施例中,所述步骤S213、任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果,包括:
步骤S2131、所述任务管理服务根据所述标识信息和所述第二映射关系,确定已接入所述视频流的地址信息;
这里,可以根据已接入所述视频流的地址信息,来确定已接入所述视频流的任务分析服务。也就是说,所述地址信息和所述任务分析服务之间存在对应关系,从而能够根据已接入视频流的地址信息与任务分析服务的对应关系,实现待接入视频源的溯源功能。
步骤S2132、所述任务管理服务根据所述地址信息,确定已接入所述视频流的任务分析服务,得到查询结果。
基于前述的实施例,本申请实施例再提供一种视频流的获取方法,所述方法应用于服务器,图3为本申请实施例视频流的获取方法的实现流程示意图三,如图3所示,所述方法包括:
步骤S301、所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
这里,如果所述第一任务分析服务未接入所述视频流,则执行下述步骤S302;如果所述第一任务分析服务已接入所述视频流,则执行下述步骤S303至步骤S304。
步骤S302、所述服务器中的任务管理服务基于第二映射关系将所述客户端重定向到第二任务分析服务,使得所述客户端能够通过重定向的第二任务分析服务获取到所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的;
步骤S303、所述第一任务分析服务与所述客户端建立媒体连接;
这里,如果所述第一任务分析服务已接入所述视频流,则可以直接利用所述第一任务分析服务向所述客户端提供其所需的视频流。
步骤S304、所述第一任务分析服务通过所述媒体连接,将接入的所述视频流发送给所述客户端。
基于前述的实施例,本申请实施例再提供一种视频流的获取方法,所述方法应用于服务器,所述方法包括:
步骤S311、所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
这里,如果所述第一任务分析服务未接入所述视频流,则执行下述步骤S312至步骤S314;否则,如果所述第一任务分析服务已接入所述视频流,则执行下述步骤S315至步骤S316。
步骤S312、所述第一任务分析服务向所述任务管理服务发送查询请求消息;其中,所述查询请求消息中携带有所述视频流的标识信息;
步骤S313、所述任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果;
步骤S314、在所述查询结果表明所述服务器中的第二任务分析服务已接入所述视频流的情况下,所述任务管理服务将所述查询结果发送给所述第一任务分析服务,使得所述客户端能够通过所述第二任务分析服务获取所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的;
步骤S315、所述第一任务分析服务与所述客户端建立媒体连接;
步骤S316、所述第一任务分析服务通过所述媒体连接,将接入的所述视频流发送给所述客户端。
在一些实施例中,所述方法还包括:在所述查询结果表明未查询到已接入所述视频流的任务分析服务的情况下,所述任务管理服务根据预设规则确定出目标任务分析服务,使得所述客户端能够通过所述目标任务分析服务获取所述视频流。
基于前述的实施例,本申请实施例再提供一种视频流的获取方法,所述方法应用于服务器,图4为本申请实施例视频流的获取方法的实现流程示意图四,如图4所示,所述方法包括:
步骤S401、所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
步骤S402、在所述第一任务分析服务未接入所述视频流的情况下,所述第一任务分析服务向所述任务管理服务发送查询请求消息;其中,所述查询请求消息中携带有所述视频流的标识信息;
步骤S403、所述任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果;
步骤S404、在所述查询结果表明所述服务器中的第二任务分析服务已接入所述视频流的情况下,所述任务管理服务将所述查询结果发送给所述第一任务分析服务,使得所述客户端能够通过所述第二任务分析服务获取所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的;
步骤S405、在所述查询结果表明未查询到已接入所述视频流的任务分析服务的情况下,所述任务管理服务根据预设规则确定出目标任务分析服务,使得所述客户端能够通过所述目标任务分析服务获取所述视频流。
这里,所述查询结果表明未查询到已接入所述视频流的任务分析服务指的是所述服务器中的任一任务分析服务都未接入所述视频流,则所述任务管理服务可以根据预设规则确定出一个目标任务分析服务来获取所述视频流,如此,能够在视频流均未被任务分析服务接入过的情况下,采取灵活多样的调度策略保证可以覆盖各种场景需求。
基于前述的实施例,本申请实施例再提供一种视频流的获取方法,所述方法应用于服务器,所述方法包括:
步骤S411、所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
步骤S412、在所述第一任务分析服务未接入所述视频流的情况下,所述第一任务分析服务向所述任务管理服务发送查询请求消息;其中,所述查询请求消息中携带有所述视频流的标识信息;
步骤S413、所述任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果;
步骤S414、在所述查询结果表明所述服务器中的第二任务分析服务已接入所述视频流的情况下,所述任务管理服务将所述查询结果发送给所述第一任务分析服务,使得所述客户端能够通过所述第二任务分析服务获取所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的;
步骤S415、在所述查询结果表明未查询到已接入所述视频流的任务分析服务的情况下,所述任务管理服务根据所述第一映射关系将所述第一任务分析服务确定为所述目标任务分析服务,使得所述客户端能够通过所述第一任务分析服务获取所述视频流。
这里,所述第一任务分析服务为服务器收到客户端的获取视频流的请求时分配的处理所述请求的任务分析服务,如此,能够在视频流均未被任务分析服务接入过的情况下,采取就近调度策略,这样可以减少重定向现象,对客户端更友好,逻辑也更简单,效率更高。
基于前述的实施例,本申请实施例再提供一种视频流的获取方法,所述方法应用于服务器,所述方法包括:
步骤S421、所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
步骤S422、在所述第一任务分析服务未接入所述视频流的情况下,所述第一任务分析服务向所述任务管理服务发送查询请求消息;其中,所述查询请求消息中携带有所述视频流的标识信息;
步骤S423、所述任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果;
步骤S424、在所述查询结果表明所述服务器中的第二任务分析服务已接入所述视频流的情况下,所述任务管理服务将所述查询结果发送给所述第一任务分析服务,使得所述客户端能够通过所述第二任务分析服务获取所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的;
步骤S425、在所述查询结果表明未查询到已接入所述视频流的任务分析服务的情况下,所述任务管理服务确定所述服务器中至少两个任务分析服务的负载;
这里,如果所述服务器为分布式服务器,所述分布式服务器包括的多个服务节点,每一服务节点上都有至少一个任务分析服务。在所述查询结果表明未查询到已接入所述视频流的任务分析服务的情况下,可以确定所有任务分析服务或者所有任务分析服务中的部分任务分析服务的负载。所述任务分析服务的负载指的是所述任务分析服务接入视频流和转发视频流的量。
步骤S426、所述任务管理服务将所述至少两个任务分析服务的负载按取值从小到大进行排序,得到排序结果;
步骤S427、所述任务管理服务根据所述排序结果将负载最小的任务分析服务确定为所述目标任务分析服务,使得所述客户端能够通过所述负载最小的任务分析服务获取所述视频流。
通过上述方式,能够在视频流均未被任务分析服务接入过的情况下,采取负载均衡调度策略,选择所有任务分析服务中负载最小的服务所在的节点作为客户端的对接节点,这样可以减少***资源压力,提高稳定性。
基于前述的实施例,本申请实施例再提供一种视频流的获取方法,所述方法应用于服务器,所述方法包括:
步骤S431、所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
步骤S432、在所述第一任务分析服务未接入所述视频流的情况下,所述第一任务分析服务向所述任务管理服务发送查询请求消息;其中,所述查询请求消息中携带有所述视频流的标识信息;
步骤S433、所述任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果;
步骤S434、在所述查询结果表明所述服务器中的第二任务分析服务已接入所述视频流的情况下,所述任务管理服务将所述查询结果发送给所述第一任务分析服务,使得所述客户端能够通过所述第二任务分析服务获取所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的;
步骤S435、在所述查询结果表明未查询到已接入所述视频流的任务分析服务的情况下,所述任务管理服务根据所述视频流的接入类型确定出第三任务分析服务,使得所述客户端能够通过所述第三任务分析服务获取所述视频流。
这里,某些服务节点(即某些任务分析服务)只能接某种类型的视频流,则可以根据需要获取的视频流的接入类型,确定出对应的服务节点,然后使用所述服务节点上的任务分析服务来获取所需的视频流,这样可以更加灵活的在满足用户场景需求下实现视频流的接入和转发功能。
当然,还可以是某些客户端平台只能对应某些服务节点,如果该客户端所需的视频流未被任一服务节点接入过,则使用该客户端所在的平台对应的服务节点来获取所述视频流。
目前,采用分布式***做视频接入分发有明显的优势,可以提高***并发量、支持动态扩缩容,并且分布式***也具有高可靠性等特点。但是,分布式***的多节点服务在处理接入视频源时,容易出现同一路前端设备视频源被多次请求和转发的情况,导致前端设备带宽资源被浪费,***性能受限。例如,客户端A和客户端B同时在请求前端设备上的同一视频流,则此时在所述分布式***中,所述客户端A对应的节点服务A和所述客户端B对应的节点服务B会同时向所述前端设备请求所述视频源,如此,可能造成前端设备的带宽资源浪费,以及所述分布式***的性能不高。
因此,需要考虑视频的分发溯源,以及***资源动态调度等功能。保证所述分布式***中的分发模块不受接入模块的性能限制,接入模块不对前端设备产生性能影响,以及***资源高效充分利用等。其中,所述分发模块和所述接入模块均位于所述分布式***中,所述接入模块主要用于从所述前端设备获取视频流,所述分发模块主要用于将获取的视频流转发给所述客户端。
基于此,本申请实施例提供一种视频流的获取方案,所述方案(1)采用分布式***接入不同厂家及不同协议的视频源数据,即通过对接各种厂家协议以及标准平台协议去接入各种类型视频源(包括视频和音频)。同时,采用分布式架构部署,多节点同时接入,提高并发量以及接入效率,能够利用分布式的高可靠特性提高接入模块的稳定性。(2)由于部分视频协议在接入时有校验对接***的地址、端口等信息,以防止单用户多次接入影响其设备性能。因此本申请实施例在分布式***下,采用一定机制保证内部转发时能溯源到具体接入的媒体服务节点,以防止因为多路转发出现多次接入的情况。(3)采用Manager-Worker机制,区分不同节点的功能,让Manager做视频接入的溯源功能,Worker做具体的视频接入和分发功能,这样保证每路视频源至多被接入一次。如此,通过Manager-Worker机制保证在分布式***下多节点做接入和转发时,有合理高效的资源调度机制,最大程度的提高***运行效率。(4)在转发视频流时,通过重定向功能与客户端协商具体转发的媒体服务节点,如此可以减少节点内部之间的带宽消耗。
实施的过程中,在客户端向节点拉取视频流时,当其拉取视频流对应的节点不是接入过所述视频流的节点时,本申请实施例中采用重定向的方式实现客户端与其对应的任务分析服务(即Worker)的连接。并且,在所述分布式***的多个Worker中,选举某个Worker作为管理(即Manager)的角色,即作为任务管理服务,以实现不同流媒体服务拉取视频流的重定向的调度。同时,在重定向过程中当所有接入服务中均不存在需要拉取的视频流时,设计多种调度逻辑,实现***调度的负载均衡。
其中,所述方案可以通过以下流程实现:
所述分布式***接入的相机包括相机A、相机B和相机C,这里接入的相机就属于前端设备。所述分布式***自身启用的服务包括任务分析服务A、任务分析服务B和任务分析服务C,其分别接入相机A、相机B和相机C的视频流。同时,拉取视频流的客户端包括客户端A、客户端B和客户端C,即这三个客户端都可以利用所述分布式***来获取相机中的视频流,如果客户端A存在获取视频流的需求时,***会分配任务分析服务A去处理客户端A的所述需求,如果客户端B存在获取视频流的需求时,***会分配任务分析服务B去处理客户端B的所述需求,如果客户端C存在获取视频流的需求时,***会分配任务分析服务C去处理客户端C的所述需求。其中,每个任务分析服务都具备从相机中请求视频流并且将所述视频流转发给客户端的功能。并且,所述任务分析服务B被同时分配为任务管理服务。
进而,当客户端C需要拉取相机A的视频流时,分布式***会分配任务分析服务C去处理客户端C的获取视频流的需求,即客户端C首先发送其对应的拉流请求至任务分析服务C。然后,任务分析服务C根据其未接入相机A的视频流的查询结果,向任务管理服务(即任务分析服务B)发起查询请求,以获得是哪个任务分析服务接入相机A的视频流的查询结果。所述任务管理服务将接入相机A的视频流的查询结果返回至任务分析服务C,所述任务分析服务C将查询结果返回至客户端C(这里,所述查询结果为任务分析服务A接入相机A的视频流)。最后,客户端C与接入相机A的视频流的任务分析服务A建立连接,以获取所述任务分析服务A接入的视频流。
这里,通过分布式***将相机中的原始视频流转发为RTSP流以供客户端访问为例进行说明,图5为本申请实施例视频流的获取方法的实现流程示意图五,如图5所示,所述方法包括:
步骤S501、客户端向任务分析服务C发送RTSP(Real Time Streaming Protocol,实时流传输协议)请求;
这里,所述RTSP请求主要用于请求RTSP类型的某个视频源。也就是说,分布式***把各个厂家的流都接进来,通过统一、标准的协议输出给客户端。如果是RTSP播放器,则将前端各种厂家的流转换为这个RTSP流供客户端访问。
步骤S502、任务分析服务C查询本地列表,确认其是否接入所述客户端请求拉取的视频流;
步骤S503、任务分析服务C在其未接入所述视频流的情况下,向任务管理服务发送查询请求;
步骤S504、任务管理服务在存储介质中查询接入所述视频流的地址,并根据所述地址确定接入所述视频流的任务分析服务为任务分析服务A;
这里,所述存储介质可以为共享存储的存储介质,例如ZooKeeper。
步骤S505、任务管理服务将任务分析服务A的地址返回给任务分析服务C;
步骤S506、任务分析服务C将所述任务分析服务A的地址返回至所述客户端;
这里,所述任务分析服务C返回至所述客户端的地址,即重定向地址。
步骤S507、所述客户端根据所述任务分析服务A的地址向所述任务分析服务A发送RTSP请求;
步骤S508、所述任务分析服务A查询本地列表,确认其是否接入所述客户端请求拉取的视频流;
步骤S509、所述任务分析服务A将已接入的所述视频流转换为RTSP类型的视频流返回至客户端。
这里,所述步骤S501至所述步骤S508为信令流,即本方案的信令传输路径,所述步骤S509为视频流,即本方案的视频流传输路径。并且,所述步骤S501至所述步骤S509为分布式***的某一节点中存在客户端需要拉取的视频流的情况下的方案。
如果任务管理服务查询所有的任务分析服务均未接入需要拉取的视频流,则采用如下的调度策略。
(1)第一调度策略:就近调度策略。
在客户端需要拉取视频流、且分布式***中所有的任务分析服务均未接入所述视频流的情况下,选择所述客户端最近的节点作为拉取视频流的节点(即***给所述客户端分配的原始节点)。例如,客户端A在向任务分析服务A请求相机A的视频源时,任务分析服务A发现其本地未接入所述相机A的视频源,则所述任务分析服务A会向任务管理服务去查询,如果查询结果表明所述相机A的视频源均未被其他任务分析服务接入,将采取就近调度策略,直接选择任务分析服务A对应的节点作为客户端A的对接节点,如此,能够减少重定向现象,对客户端A更加友好,逻辑也更简单,效率更高。
这里,上述步骤S415中所描述的方法即所述就近调度策略的一种实现方式。
(2)第二调度策略:负载均衡调度策略。
在客户端需要拉取视频流、且分布式***中所有的任务分析服务均未接入所述视频流的情况下,选择所述分布式***中负载最小的节点作为拉取视频流的节点。例如,客户端A在向任务分析服务A请求相机A的视频源时,任务分析服务A发现其本地未接入所述相机A的视频源,则所述任务分析服务A会向任务管理服务去查询,如果查询结果表明所述相机A的视频源均未被其他任务分析服务接入,将采取负载均衡调度策略,计算此时所有任务分析服务的负载值,选择负载值最小的任务分析服务对应的节点作为所述客户端A的对接节点,如此,能够减少分布式***的资源压力,提高稳定性。
这里,上述步骤S425至步骤S427中所描述的方法即所述负载均衡调度策略的一种实现方式。
(3)第三调度策略:自定义调度策略。
在客户端需要拉取视频流、且分布式***中所有的任务分析服务均未接入所述视频流的情况下,将根据不同视频接入类型以及用户指定的参数,来决策某个节点作为拉取视频流的节点。例如,客户端A在向任务分析服务A请求相机A的视频源时,任务分析服务A发现其本地未接入所述相机A的视频源,则所述任务分析服务A会向任务管理服务去查询,如果查询结果表明所述相机A的视频源均未被其他任务分析服务接入,且所述视频源为GB28181协议对应的视频源,将根据用户的配置信息以及所述视频源的接入协议类型,确定可以调度的节点集合,再从中选取某个满足条件的节点作为所述客户端A的对接节点,如此,能够更加灵活的在满足用户场景需求的条件下实现接入和转发功能。
这里,上述步骤S435中所描述的方法即所述自定义调度策略的一种实现方式。
在智能安全管理领域中,海量视频素材的采集和分析对***的视频接入和转发功能有更高的要求。采用本申请实施例中的方案可以在兼容更多不同厂家协议视频源的同时,还能利用分布式的各种特性实现更加稳定、高效、灵活的部署,此外,本申请实施例视频流的获取方案中的溯源和动态资源调度以及重定向机制减少了对外部资源的依赖,以及内部资源的消耗。
也就是说,本申请实施例中的视频流的获取方案,可以达到如下技术效果:(1)基于分布式***框架,具有高可靠、高扩展等特性,从而保证了视频流的获取场景下接入和转发功能的稳定和高效运行。(2)采用Manager-Worker机制,实现视频的溯源功能,保证所述分布式***的接入模块不对会对前端设备产生性能影响,且保证所述分布式***内部转发功能正常有效。(3)采用重定向机制保证多节点分发时,可以将溯源后的节点直接反馈给客户端去对接,减少了***内部节点之间的网络消耗。(4)灵活多样的调度策略使得在视频流的获取过程中可以覆盖各种场景需求。
基于前述的实施例,本申请实施例提供一种视频流的获取装置,该装置包括所包括的各单元、以及各单元所包括的各子单元和各模块、以及各模块所包括的各子模块和各部件,可以通过服务器中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为CPU(Central Processing Unit,中央处理器)、MPU(MicroprocessorUnit,微处理器)、DSP(Digital Signal Processing,数字信号处理器)或FPGA(FieldProgrammable Gate Array,现场可编程门阵列)等。
图6为本申请实施例视频流的获取装置的组成结构示意图,如图6所示,所述装置600包括:
确定单元601,用于所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
重定向单元602,用于在所述第一任务分析服务未接入所述视频流的情况下,所述服务器中的任务管理服务基于第二映射关系将所述客户端重定向到第二任务分析服务,使得所述客户端能够通过重定向的第二任务分析服务获取到所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的。
在一些实施例中,所述重定向单元602,包括:第一发送模块,用于在所述第一任务分析服务未接入所述视频流的情况下,所述第一任务分析服务向所述任务管理服务发送查询请求消息;其中,所述查询请求消息中携带有所述视频流的标识信息;查询模块,用于所述任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果;第二发送模块,用于在所述查询结果表明所述服务器中的第二任务分析服务已接入所述视频流的情况下,所述任务管理服务将所述查询结果发送给所述第一任务分析服务,使得所述客户端能够通过所述第二任务分析服务获取所述视频流。
在一些实施例中,所述第二发送模块,包括:第一发送部件,用于所述任务管理服务将所述查询结果发送给所述第一任务分析服务;第二发送部件,用于所述第一任务分析服务将所述第二任务分析服务的节点地址发送给所述客户端,以使所述客户端能够根据所述节点地址与所述第二任务分析服务建立媒体连接从而获取所述视频流。
在一些实施例中,所述查询模块,包括:第一确定部件,用于所述任务管理服务根据所述标识信息和所述第二映射关系,确定已接入所述视频流的地址信息;第二确定部件,用于所述任务管理服务根据所述地址信息,确定已接入所述视频流的任务分析服务,得到查询结果。
在一些实施例中,所述服务器包括多个服务节点,每一所述服务节点上存在至少一个所述任务分析服务;对应地,所述第二映射关系用于表明所述每一所述服务节点已对应接入的视频流;对应地,所述装置还包括:管理节点确定单元,用于将所述多个服务节点中的第一服务节点,确定为任务管理节点;管理服务确定单元,用于将所述任务管理节点中的任务分析服务,确定为所述任务管理服务。
在一些实施例中,所述装置还包括:连接建立单元,用于在所述第一任务分析服务已接入所述视频流的情况下,所述第一任务分析服务与所述客户端建立媒体连接;发送单元,用于所述第一任务分析服务通过所述媒体连接,将接入的所述视频流发送给所述客户端。
在一些实施例中,所述装置还包括:目标服务确定单元,用于在所述查询结果表明未查询到已接入所述视频流的任务分析服务的情况下,所述任务管理服务根据预设规则确定出目标任务分析服务,使得所述客户端能够通过所述目标任务分析服务获取所述视频流。
在一些实施例中,所述目标服务确定单元,包括:第一目标服务确定模块,用于所述任务管理服务根据所述第一映射关系将所述第一任务分析服务确定为所述目标任务分析服务,使得所述客户端能够通过所述第一任务分析服务获取所述视频流。
在一些实施例中,所述目标服务确定单元,包括:负载确定模块,用于所述任务管理服务确定所述服务器中至少两个任务分析服务的负载;排序模块,用于所述任务管理服务将所述至少两个任务分析服务的负载按取值从小到大进行排序,得到排序结果;第二目标服务确定模块,用于所述任务管理服务根据所述排序结果将负载最小的任务分析服务确定为所述目标任务分析服务,使得所述客户端能够通过所述负载最小的任务分析服务获取所述视频流。
在一些实施例中,所述目标服务确定单元,包括:第三目标服务确定模块,用于所述任务管理服务根据所述视频流的接入类型确定出第三任务分析服务,使得所述客户端能够通过所述第三任务分析服务获取所述视频流。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的视频流的获取方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、ROM(Read Only Memory,只读存储器)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种服务器,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的视频流的获取方法中的步骤。
对应地,本申请实施例提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述视频流的获取方法中的步骤。
这里需要指出的是:以上存储介质和服务器实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和服务器实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,图7为本申请实施例服务器的一种硬件实体示意图,如图7所示,该服务器700的硬件实体包括:处理器701、通信接口702和存储器703,其中
处理器701通常控制服务器700的总体操作。
通信接口702可以使服务器700通过网络与其他服务器或电子设备或平台通信。
存储器703配置为存储由处理器701可执行的指令和应用,还可以缓存待处理器701以及服务器700中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过FLASH(闪存)或RAM(Random Access Memory,随机访问存储器)实现;
其中,服务器中的各个硬件实体通过总线704耦合在一起。可理解,总线704用于实现这些硬件实体之间的连接通信。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种视频流的获取方法,其特征在于,应用于服务器,所述方法包括:
所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
在所述第一任务分析服务未接入所述视频流的情况下,所述服务器中的任务管理服务基于第二映射关系将所述客户端重定向到第二任务分析服务,使得所述客户端能够通过重定向的第二任务分析服务获取到所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的。
2.根据权利要求1所述的方法,其特征在于,所述在所述第一任务分析服务未接入所述视频流的情况下,所述服务器中的任务管理服务基于第二映射关系将所述客户端重定向到第二任务分析服务,使得所述客户端能够通过重定向的第二任务分析服务获取到所述视频流,包括:
在所述第一任务分析服务未接入所述视频流的情况下,所述第一任务分析服务向所述任务管理服务发送查询请求消息;其中,所述查询请求消息中携带有所述视频流的标识信息;
所述任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果;
在所述查询结果表明所述服务器中的第二任务分析服务已接入所述视频流的情况下,所述任务管理服务将所述查询结果发送给所述第一任务分析服务,使得所述客户端能够通过所述第二任务分析服务获取所述视频流。
3.根据权利要求2所述的方法,其特征在于,所述任务管理服务将所述查询结果发送给所述第一任务分析服务,使得所述客户端能够通过所述第二任务分析服务获取所述视频流,包括:
所述任务管理服务将所述查询结果发送给所述第一任务分析服务;
所述第一任务分析服务将所述第二任务分析服务的节点地址发送给所述客户端,以使所述客户端能够根据所述节点地址与所述第二任务分析服务建立媒体连接从而获取所述视频流。
4.根据权利要求2或3所述的方法,其特征在于,所述任务管理服务根据所述标识信息和所述第二映射关系,查询已接入所述视频流的任务分析服务,得到查询结果,包括:
所述任务管理服务根据所述标识信息和所述第二映射关系,确定已接入所述视频流的地址信息;
所述任务管理服务根据所述地址信息,确定已接入所述视频流的任务分析服务,得到查询结果。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述服务器包括多个服务节点,每一所述服务节点上存在至少一个所述任务分析服务;
对应地,所述第二映射关系用于表明所述每一所述服务节点已对应接入的视频流;
对应地,所述方法还包括:
将所述多个服务节点中的第一服务节点,确定为任务管理节点;
将所述任务管理节点中的任务分析服务,确定为所述任务管理服务。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
在所述第一任务分析服务已接入所述视频流的情况下,所述第一任务分析服务与所述客户端建立媒体连接;
所述第一任务分析服务通过所述媒体连接,将接入的所述视频流发送给所述客户端。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
在所述查询结果表明未查询到已接入所述视频流的任务分析服务的情况下,所述任务管理服务根据预设规则确定出目标任务分析服务,使得所述客户端能够通过所述目标任务分析服务获取所述视频流。
8.根据权利要求7所述的方法,其特征在于,所述任务管理服务根据预设规则确定出目标任务分析服务,使得所述客户端能够通过所述目标任务分析服务获取所述视频流,包括:
所述任务管理服务根据所述第一映射关系将所述第一任务分析服务确定为所述目标任务分析服务,使得所述客户端能够通过所述第一任务分析服务获取所述视频流。
9.根据权利要求7所述的方法,其特征在于,所述任务管理服务根据预设规则确定出目标任务分析服务,使得所述客户端能够通过所述目标任务分析服务获取所述视频流,包括:
所述任务管理服务确定所述服务器中至少两个任务分析服务的负载;
所述任务管理服务将所述至少两个任务分析服务的负载按取值从小到大进行排序,得到排序结果;
所述任务管理服务根据所述排序结果将负载最小的任务分析服务确定为所述目标任务分析服务,使得所述客户端能够通过所述负载最小的任务分析服务获取所述视频流。
10.根据权利要求7所述的方法,其特征在于,所述任务管理服务根据预设规则确定出目标任务分析服务,使得所述客户端能够通过所述目标任务分析服务获取所述视频流,包括:
所述任务管理服务根据所述视频流的接入类型确定出第三任务分析服务,使得所述客户端能够通过所述第三任务分析服务获取所述视频流。
11.一种视频流的获取装置,其特征在于,所述装置包括:
确定单元,用于所述服务器中的第一任务分析服务在接收到获取视频流的请求消息后,确定自身是否已接入所述视频流;其中,所述请求消息是客户端基于第一映射关系发送给所述第一任务分析服务的,所述第一映射关系用于表明所述服务器中每一任务分析服务对应的客户端;
重定向单元,用于在所述第一任务分析服务未接入所述视频流的情况下,所述服务器中的任务管理服务基于第二映射关系将所述客户端重定向到第二任务分析服务,使得所述客户端能够通过重定向的第二任务分析服务获取到所述视频流;其中,所述第二映射关系用于表明所述每一任务分析服务已对应接入的视频流;所述任务管理服务是从所述服务器中的多个任务分析服务中确定出的。
12.一种服务器,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至10任一项所述方法中的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至10任一项所述方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111109163.XA CN113873301A (zh) | 2021-09-22 | 2021-09-22 | 视频流的获取方法及装置、服务器和存储介质 |
PCT/CN2022/071431 WO2023045191A1 (zh) | 2021-09-22 | 2022-01-11 | 视频流的获取方法及装置、服务器、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111109163.XA CN113873301A (zh) | 2021-09-22 | 2021-09-22 | 视频流的获取方法及装置、服务器和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113873301A true CN113873301A (zh) | 2021-12-31 |
Family
ID=78993197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111109163.XA Withdrawn CN113873301A (zh) | 2021-09-22 | 2021-09-22 | 视频流的获取方法及装置、服务器和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113873301A (zh) |
WO (1) | WO2023045191A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023045191A1 (zh) * | 2021-09-22 | 2023-03-30 | 上海商汤智能科技有限公司 | 视频流的获取方法及装置、服务器、存储介质和程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1909509A (zh) * | 2006-07-19 | 2007-02-07 | 华为技术有限公司 | 在媒体分发网络中实现视频直播的***、方法和客户端 |
CN101119475A (zh) * | 2007-08-21 | 2008-02-06 | 中兴通讯股份有限公司 | 实现iptv***中视频点播请求重定向的***和方法 |
CN101505298A (zh) * | 2009-02-09 | 2009-08-12 | 中兴通讯股份有限公司 | 一种媒体时移码流的存储和获取方法及多媒体业务*** |
CN104363472A (zh) * | 2014-10-20 | 2015-02-18 | 中兴通讯股份有限公司 | 基于hls的能力控制方法及服务***和slb服务器 |
CN109982034A (zh) * | 2017-12-28 | 2019-07-05 | 杭州海康威视***技术有限公司 | 视频监控***中的访问请求处理方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001218194A (ja) * | 1999-11-15 | 2001-08-10 | Canon Inc | 撮像装置及び画像配信システムの制御方法、撮像装置の制御装置、画像配信システム及び装置、データ配信装置及び方法 |
CN101540886B (zh) * | 2009-04-15 | 2012-09-05 | 中兴通讯股份有限公司 | 一种视频点播业务的实现方法、***及归属流媒体服务器 |
CN107707939B (zh) * | 2017-09-30 | 2023-03-10 | 江西欧菲炬能物联科技有限公司 | 视频访问方法、接入均衡服务器、中心服务器及*** |
CN112565318A (zh) * | 2019-09-25 | 2021-03-26 | 中兴通讯股份有限公司 | 一种服务器安全防御方法及***、通信设备、存储介质 |
CN111857974A (zh) * | 2020-07-30 | 2020-10-30 | 江苏方天电力技术有限公司 | 一种基于负载均衡器的服务访问方法及装置 |
CN113873301A (zh) * | 2021-09-22 | 2021-12-31 | 深圳市商汤科技有限公司 | 视频流的获取方法及装置、服务器和存储介质 |
-
2021
- 2021-09-22 CN CN202111109163.XA patent/CN113873301A/zh not_active Withdrawn
-
2022
- 2022-01-11 WO PCT/CN2022/071431 patent/WO2023045191A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1909509A (zh) * | 2006-07-19 | 2007-02-07 | 华为技术有限公司 | 在媒体分发网络中实现视频直播的***、方法和客户端 |
CN101119475A (zh) * | 2007-08-21 | 2008-02-06 | 中兴通讯股份有限公司 | 实现iptv***中视频点播请求重定向的***和方法 |
CN101505298A (zh) * | 2009-02-09 | 2009-08-12 | 中兴通讯股份有限公司 | 一种媒体时移码流的存储和获取方法及多媒体业务*** |
CN104363472A (zh) * | 2014-10-20 | 2015-02-18 | 中兴通讯股份有限公司 | 基于hls的能力控制方法及服务***和slb服务器 |
CN109982034A (zh) * | 2017-12-28 | 2019-07-05 | 杭州海康威视***技术有限公司 | 视频监控***中的访问请求处理方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023045191A1 (zh) * | 2021-09-22 | 2023-03-30 | 上海商汤智能科技有限公司 | 视频流的获取方法及装置、服务器、存储介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2023045191A1 (zh) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7463544B2 (ja) | ブロックチェーンメッセージ処理方法、装置、コンピュータデバイスおよびコンピュータプログラム | |
CN107431651B (zh) | 一种网络服务的生命周期管理方法及设备 | |
CN106031130B (zh) | 具有边缘代理的内容传送网络架构 | |
CN107508795B (zh) | 跨容器集群的访问处理装置及方法 | |
KR101544359B1 (ko) | 관리성 및 효율적인 확장 배포를 위한 애플리케이션 기술 시스템 및 방법 | |
JP7237195B2 (ja) | 通信方法、装置、エンティティ及びコンピュータプログラム | |
KR20110053906A (ko) | Ims 네트워크를 통한 멀티미디어 서비스의 최적화를 위한 방법 및 시스템 | |
CN111327668B (zh) | 网络管理方法、装置、设备和存储介质 | |
RU2008138577A (ru) | Сетевая система | |
CN110719273A (zh) | 回源节点的确定方法、服务器及计算机可读存储介质 | |
US20160183229A1 (en) | Ip phone network system, server apparatus, ip exchange and resource capacity expansion method | |
EP3057287A1 (en) | Node allocation method, device and system | |
US7966394B1 (en) | Information model registry and brokering in virtualized environments | |
CN113453025B (zh) | 数据获取方法及装置 | |
CN110677475A (zh) | 一种微服务处理方法、装置、设备及存储介质 | |
CN113873301A (zh) | 视频流的获取方法及装置、服务器和存储介质 | |
JP2007219637A (ja) | 負荷分散システムおよびそのプログラム | |
CN117149445A (zh) | 一种跨集群负载均衡方法及装置、设备及存储介质 | |
US8843635B2 (en) | Apparatus and method for providing a service through sharing solution providing unit in cloud computing environment | |
CN106330504B (zh) | 一种实现应用的方法及业务控制器 | |
JP2019041241A (ja) | 振り分けシステム | |
CN112583949A (zh) | 一种vpc访问公网的方法和vpc设备 | |
JP2010146246A (ja) | マルチエージェントシステム用フレームワークコンピュータプログラム、ネットワークシステム、及びエージェント間通信方法 | |
KR101146742B1 (ko) | SaaS의 분산된 세션 관리 방법 및 그 관리 시스템 | |
CN112099942B (zh) | 端口复用方法、***、终端、服务器、设备及存储介质 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40064035 Country of ref document: HK |
|
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211231 |