CN111711801B - 视频数据传输方法、装置、服务器和计算机可读存储介质 - Google Patents
视频数据传输方法、装置、服务器和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111711801B CN111711801B CN202010621822.7A CN202010621822A CN111711801B CN 111711801 B CN111711801 B CN 111711801B CN 202010621822 A CN202010621822 A CN 202010621822A CN 111711801 B CN111711801 B CN 111711801B
- Authority
- CN
- China
- Prior art keywords
- video data
- sidecar
- dpdk
- server
- network card
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提出一种视频数据传输方法、装置、服务器和计算机可读存储介质,涉及计算机网络领域。服务器的微服务模块设置有Sidecar组件,且Sidecar组件中部署有对应的DPDK虚拟网卡,微服务模块在进行视频数据的收发时,可以通过Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据,以及通过Sidecar组件以共享内存的方式将视频数据共享到服务器的业务进程。如此,通过使用DPDK、共享内存等技术,制作适用于视频云的Sidecar组件,相比于传统内核socket模式的Sidecar组件进行视频数据的收发,不仅能提升服务器的网络吞吐能力,还能降低网络IO带来的CPU资源消耗。
Description
技术领域
本发明涉及计算机网络领域,具体而言,涉及一种视频数据传输方法、装置、服务器和计算机可读存储介质。
背景技术
DPDK(Data Plane Development Kit,数据平台开发套件)是由6WIND,Intel等多家公司开发,主要基于linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。Sidecar(边车)模式是一种将应用功能从应用本身剥离出来作为单独进程的方式,该模式允许向应用无侵入的添加多种功能,避免了为满足第三方组件需求而向应用添加额外的配置代码,就像边车加装在摩托车上一样;其最重要的意义在于,主程序专注业务逻辑,无需关注网络情况、服务注册发现等基础公共功能。
传统的linux网络收发方式的性能开销比较大,对于消息型应用程序相对友好,但对于网络IO(输入输出)需求较高的应用,性能很差,内核收发网络消息的处理过程充满了内存拷贝和内核态用户态切换,网络IO较高时,还会产生很高软中断,损耗CPU(CentralProcessing Unit,中央处理器)资源。因此,当涉及海量视频数据的传输时,linux对于网络IO的处理方式,导致大量的物理资源消耗在视频(图片)传输,不仅网络吞吐能力差,而且CPU资源损耗也大。
发明内容
有鉴于此,本发明的目的在于提供一种视频数据传输方法、装置、服务器和计算机可读存储介质,提升服务器的网络吞吐能力,降低CPU资源损耗。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供一种视频数据传输方法,应用于服务器中的微服务模块,所述微服务模块设置有Sidecar组件,所述Sidecar组件中部署有对应的DPDK虚拟网卡,所述方法包括:
在所述Sidecar组件启动后,通过所述Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据;
通过所述Sidecar组件以共享内存的方式将所述视频数据共享到所述服务器的业务进程。
在可选的实施方式中,所述方法还包括:
通过所述Sidecar组件中的DPDK虚拟网卡将所述视频数据发送给与所述微服务模块属于同一个微服务系统的其他微服务模块。
在可选的实施方式中,所述方法还包括:
通过所述Sidecar组件中的DPDK虚拟网卡将所述视频数据发送给不同于所述服务器的其他设备。
在可选的实施方式中,所述Sidecar组件与所述业务进程共享同一块内存区域,通过所述Sidecar组件以共享内存的方式将所述视频数据共享到所述服务器的业务进程的步骤包括:
通过所述Sidecar组件将所述视频数据写入所述内存区域,以便所述业务进程从所述内存区域读出所述视频数据。
在可选的实施方式中,通过所述Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据的步骤之前,所述方法还包括:
接收设备接入服务模块发送的收流地址获取请求;所述设备接入服务模块与所述微服务模块属于同一个微服务系统;
响应所述收流地址获取请求,将收流地址发送给所述设备接入服务模块,以便所述设备接入服务模块将所述收流地址发送至所述视频采集端,使得所述视频采集端根据所述收流地址发送采集到的视频数据。
在可选的实施方式中,所述微服务模块与所述Sidecar组件以共享内存的方式通信。
第二方面,本发明实施例提供一种视频数据传输装置,应用于服务器中的微服务模块,所述微服务模块设置有Sidecar组件,所述Sidecar组件中部署有对应的DPDK虚拟网卡,所述装置包括:
视频接收模块,用于在所述Sidecar组件启动后,通过所述Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据;
视频发送模块,用于通过所述Sidecar组件以共享内存的方式将所述视频数据共享到所述服务器的业务进程。
在可选的实施方式中,所述视频发送模块还用于通过所述Sidecar组件中的DPDK虚拟网卡将所述视频数据发送给与所述微服务模块属于同一个微服务系统的其他微服务模块;和/或,通过所述Sidecar组件中的DPDK虚拟网卡将所述视频数据发送给不同于所述服务器的其他设备。
第三方面,本发明实施例提供一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述计算机程序被所述处理器执行时,实现如前述实施方式中任一项所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的方法。
本发明实施例提供的视频数据传输方法、装置、服务器及计算机可读存储介质,由于服务器中的微服务模块设置有Sidecar组件,且Sidecar组件中部署有对应的DPDK虚拟网卡,故微服务模块在进行视频数据的收发时,可以通过Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据,以及通过Sidecar组件以共享内存的方式将视频数据共享到服务器的业务进程。如此,通过使用DPDK、共享内存等技术,制作适用于视频云的Sidecar组件进行视频数据的收发,相比于传统内核socket模式的Sidecar组件,不仅能提升服务器的网络吞吐能力,还能降低网络IO带来的CPU资源消耗,提升系统整体性能。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的服务器的方框示意图;
图2示出了本发明实施例提供的视频数据传输方法的一种流程示意图;
图3示出了本发明实施例提供的视频数据传输方法的另一种流程示意图;
图4示出了微服务之间传输视频数据的示意图;
图5示出了本发明实施例提供的视频数据传输方法的又一种流程示意图;
图6示出了微服务模块与其他设备之间传输视频数据的示意图;
图7示出了本发明实施例提供的视频数据传输方法的又一种流程示意图;
图8示出了本发明实施例提供的视频数据传输装置的一种功能模块图;
图9示出了本发明实施例提供的视频数据传输装置的另一种功能模块图。
图标:100-服务器;110-存储器;120-处理器;130-通信模块;800-视频数据传输装置;810-视频接收模块;820-视频发送模块;910-请求接收模块;920-请求响应模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
请参照图1,为本发明实施例提供的服务器100的方框示意图。服务器100包括存储器110、处理器120及通信模块130。存储器110、处理器120以及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器110用于存储程序或者数据。存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。例如,当存储器110中存储的计算机程序被处理器120执行时,可以实现以下各实施例所揭示的视频数据传输方法。
通信模块130用于通过网络建立服务器100与其它通信终端之间的通信连接,并用于通过网络收发数据。
应当理解的是,图1所示的结构仅为服务器100的结构示意图,服务器100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器120执行时实现以下各实施例所揭示的视频数据传输方法。
请参照图2,为本发明实施例提供的视频数据传输方法的一种流程示意图。需要说明的是,本发明实施例的视频数据传输方法并不以图2以及以下的具体顺序为限制,应当理解,在其他实施例中,本发明实施例的视频数据传输方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图2所示的具体流程进行详细阐述。
步骤S201,在Sidecar组件启动后,通过Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据。
在本实施例中,该服务器100包括微服务模块,该微服务模块设置有Sidecar组件,该Sidecar组件中部署有对应的DPDK虚拟网卡。具体的实现流程如下:首先,搭建docker(容器)、kubernetes、DPDK环境,通过虚拟化技术,将服务器100上的DPDK物理网卡虚拟化成多张DPDK虚拟网卡,然后在Sidecar组件中加载DPDK虚拟网卡。Sidecar组件启动时,将会绑定DPDK虚拟网卡,此时Sidecar组件拥有内核收发能力和DPDK收发能力。此外,该Sidecar组件启动时,还可以完成服务注册发现、负载、熔断等常规Sidecar服务功能。
由于Sidecar模式是非侵入式的,所以修改无需业务进程感知,不影响业务逻辑,修改一处,就可以对整个云视频处理相关服务生效,开发迭代速度明显由于传统进程改造方式。因此,相比传统软件架构下DPDK技术的实现需要对所有视频流(图片流)相关的服务进行改造的方式,例如,媒体网关服务器、图片网关服务器、解析服务器等相关业务软件都需要修改,本实施例通过在Sidecar组件中加载DPDK虚拟网卡,在提升网络IO能力的同时,还能有效提升开发迭代速度。
经过测试发现,在仅仅做了DPDK收流改造的前提下,单个服务从原有的极限1.93G/s处理能力可以提升至2.8G/s,同样处理1.93G/s数据时,CPU消耗减少1核,提升处理能力的同时,降低了视频云的硬件成本,可以有效提升产品竞争力。
步骤S202,通过Sidecar组件以共享内存的方式将视频数据共享到服务器的业务进程。
其中,共享内存是进程间通信的方式之一,由于可以直接操作内存,故具有较好的性能。Sidecar组件在启动运行后,Sidecar组件与业务进程之间可以通过共享内存通信,实现视频数据的传输。具体地,该Sidecar组件与业务进程共享同一块内存区域,微服务模块通过Sidecar组件将视频数据写入内存区域,以便业务进程从内存区域读出视频数据。
在本实施例中,微服务模块的Sidecar组件通过DPDK虚拟网卡监听端口,当收到视频数据后,可以将该视频数据通过共享内存的方式共享到服务器100的业务进程,以便通过业务进程完成对视频数据的存储、解析等业务处理。以微服务模块为流媒体服务为例,流媒体服务的Sidecar组件通过DPDK虚拟网卡接收视频数据,并通过共享内存的方式将视频数据发送给流媒体业务进程,业务进程进行解封装、视频解析等业务处理。
以视频监控为场景,某市区部署了成千上万的摄像头(即上述的视频采集端),用于道路监控、刑侦破案等。假设全市通缉一名嫌疑人,一万台高清摄像头采集的视频数据需要在云端做人脸识别,4MB高清码流将消耗40GB的带宽,40GB的带宽将会在内核产生非常多的中断处理,同时内核处理方式带来的多次数据拷贝,也会耗费很可观的性能。本实施例中,将传统socket模式的Sidecar组件改造为DPDK+共享内存方式的Sidecar组件,将会对性能有很大的提升,实测4GB带宽的数据流,大约可以节省5核左右的CPU资源。
可见,本发明实施例提供的视频数据传输方法中,由于服务器100中的微服务模块设置有Sidecar组件,且Sidecar组件中部署有对应的DPDK虚拟网卡,故微服务模块在进行视频数据的收发时,可以通过Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据,以及通过Sidecar组件以共享内存的方式将视频数据共享到服务器100的业务进程。如此,通过使用DPDK、共享内存等技术,制作适用于视频云的Sidecar组件进行视频数据的收发,相比于传统内核socket模式的Sidecar组件,不仅能提升服务器100的网络吞吐能力,还能降低网络IO带来的CPU资源消耗,提升系统整体性能。
可选地,在本实施例中,微服务模块与Sidecar组件以共享内存的方式通信。例如,当微服务模块作为发送方服务需要发送视频视频时,可以将视频数据源源不断地通过共享内存的方式共享到Sidecar组件,Sidecar组件再通过DPDK虚拟网卡将视频数据发送到接收方服务。
可选地,请参照图3,该视频数据传输方法还可以包括:
步骤S301,通过Sidecar组件中的DPDK虚拟网卡将视频数据发送给与微服务模块属于同一个微服务系统的其他微服务模块。
以图4为例,假设本实施例中的微服务模块为微服务A,当微服务A需要向属于同一个微服务系统的微服务B(其他微服务模块)发送视频数据时,可以以共享内存的方式将视频数据共享到微服务A的Sidecar组件,微服务A的Sidecar组件再通过DPDK虚拟网卡将视频数据发送至微服务B;微服务B作为视频数据的接收方,可以通过Sidecar组件的DPDK虚拟网卡接收视频数据,还可以根据业务需要将接收的视频数据通过共享内存的方式发送给所在服务端上的其他业务进程。
在本实施例中,微服务模块通过将视频数据发送给其他微服务模块,便于其他微服务模块对视频数据进行相应的处理。例如,针对交通视频数据,微服务模块可以发送到其他微服务模块进行识别处理,判断是否存在违章车辆以及识别出违章车辆的车牌号。
可选地,请参照图5,该视频数据传输方法还可以包括:
步骤S501,通过Sidecar组件中的DPDK虚拟网卡将视频数据发送给不同于服务器的其他设备。
在本实施例中,微服务模块通过Sidecar组件中的DPDK虚拟网卡可以将视频数据发送到其他设备进行存储或者画面显示,该其他设备可以是如图6所示的存储设备(STORAGE)、PC(Personal Computer,个人计算机)等。
可选地,请参照图7,在步骤S201之前,该视频数据传输方法还可以包括:
步骤S701,接收设备接入服务模块发送的收流地址获取请求;设备接入服务模块与微服务模块属于同一个微服务系统。
步骤S702,响应收流地址获取请求,将收流地址发送给设备接入服务模块,以便设备接入服务模块将收流地址发送至视频采集端,使得视频采集端根据收流地址发送采集到的视频数据。
在本实施例中,该微服务系统中还可以包括注册中心服务模块、配置中心服务模块,对于该微服务系统中的所有微服务,在启动后都会在注册中心服务模块完成注册、配置中心服务模块读取配置信息等常规操作。设备接入服务模块向微服务模块获取收流地址时,设备接入服务模块从注册中心服务模块查询微服务模块的地址,将收流地址获取请求发送到微服务模块,微服务模块响应该收流地址获取请求。设备接入服务模块获取收流地址后,告知视频采集端将采集到的视频数据发送至该收流地址。如此,微服务模块就可以通过Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据。
需要说明的是,在本实施例中,微服务模块对于视频类请求会采用DPDK+共享内存的方式收发数据;对于非视频类消息,因网络IO相对较低,可以仍采用原有的内核网卡方式收发数据。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种视频数据传输装置的实现方式,请参阅图8,为本发明实施例提供的视频数据传输装置800的一种功能模块图。需要说明的是,本实施例所提供的视频数据传输装置800,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该视频数据传输装置800包括:视频接收模块810和视频发送模块820。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图1所示的存储器110中或固化于该服务器100的操作系统(Operating System,OS)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
该视频接收模块810用于在Sidecar组件启动后,通过Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据。
可以理解,该视频接收模块810可以执行上述步骤S201。
该视频发送模块820用于通过Sidecar组件以共享内存的方式将视频数据共享到服务器100的业务进程。
在本实施例中,该视频发送模块820具体用于通过Sidecar组件将视频数据写入内存区域,以便业务进程从内存区域读出视频数据。
可选地,该视频发送模块820还可以用于通过Sidecar组件中的DPDK虚拟网卡将视频数据发送给与微服务模块属于同一个微服务系统的其他微服务模块;和/或,通过Sidecar组件中的DPDK虚拟网卡将视频数据发送给不同于服务器100的其他设备。
可以理解,该视频发送模块820可以执行上述步骤S202、S501、S301。
可选地,请参照图9,该视频数据传输装置800还可以包括请求接收模块910和请求响应模块920。
该请求接收模块910用于接收设备接入服务模块发送的收流地址获取请求;设备接入服务模块与微服务模块属于同一个微服务系统。
可以理解,该请求接收模块910可以执行上述步骤S701。
该请求响应模块920用于响应收流地址获取请求,将收流地址发送给设备接入服务模块,以便设备接入服务模块将收流地址发送至视频采集端,使得视频采集端根据收流地址发送采集到的视频数据。
可以理解,该请求响应模块920可以执行上述步骤S702。
综上所述,本发明实施例提供的视频数据传输方法、装置、服务器及计算机可读存储介质,由于服务器中的微服务模块设置有Sidecar组件,且Sidecar组件中部署有对应的DPDK虚拟网卡,故微服务模块在进行视频数据的收发时,可以通过Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据,以及通过Sidecar组件以共享内存的方式将视频数据共享到服务器的业务进程。如此,通过使用DPDK、共享内存等技术,制作适用于视频云的Sidecar组件进行视频数据的收发,相比于传统内核socket模式的Sidecar组件,不仅能提升服务器的网络吞吐能力,还能降低网络IO带来的CPU资源消耗,提升系统整体性能。由于Sidecar模式是非侵入式的,所以修改无需业务进程感知,不影响业务逻辑,修改一处,就可以对整个云视频处理相关服务生效,开发迭代速度明显由于传统进程改造方式。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种视频数据传输方法,其特征在于,应用于服务器中的微服务模块,所述微服务模块设置有Sidecar组件,所述Sidecar组件中部署有对应的DPDK虚拟网卡,所述DPDK虚拟网卡是通过虚拟化技术将所述服务器上的DPDK物理网卡虚拟化获得并被加载到所述Sidecar组件中,所述Sidecar组件在部署所述DPDK虚拟网卡之后具有内核收发能力和DPDK收发能力;所述方法包括:
在所述Sidecar组件启动后,通过所述Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据;
通过所述Sidecar组件以共享内存的方式将所述视频数据共享到所述服务器的业务进程,以使所述业务进程对所述视频数据进行解封装和视频解析。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述Sidecar组件中的DPDK虚拟网卡将所述视频数据发送给与所述微服务模块属于同一个微服务系统的其他微服务模块。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述Sidecar组件中的DPDK虚拟网卡将所述视频数据发送给不同于所述服务器的其他设备。
4.根据权利要求1所述的方法,其特征在于,所述Sidecar组件与所述业务进程共享同一块内存区域,通过所述Sidecar组件以共享内存的方式将所述视频数据共享到所述服务器的业务进程的步骤包括:
通过所述Sidecar组件将所述视频数据写入所述内存区域,以便所述业务进程从所述内存区域读出所述视频数据。
5.根据权利要求1所述的方法,其特征在于,通过所述Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据的步骤之前,所述方法还包括:
接收设备接入服务模块发送的收流地址获取请求;所述设备接入服务模块与所述微服务模块属于同一个微服务系统;
响应所述收流地址获取请求,将收流地址发送给所述设备接入服务模块,以便所述设备接入服务模块将所述收流地址发送至所述视频采集端,使得所述视频采集端根据所述收流地址发送采集到的视频数据。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述微服务模块与所述Sidecar组件以共享内存的方式通信。
7.一种视频数据传输装置,其特征在于,应用于服务器中的微服务模块,所述微服务模块设置有Sidecar组件,所述Sidecar组件中部署有对应的DPDK虚拟网卡,所述DPDK虚拟网卡是通过虚拟化技术将所述服务器上的DPDK物理网卡虚拟化获得并被加载到所述Sidecar组件中,所述Sidecar组件在部署所述DPDK虚拟网卡之后具有内核收发能力和DPDK收发能力;所述装置包括:
视频接收模块,用于在所述Sidecar组件启动后,通过所述Sidecar组件中的DPDK虚拟网卡接收视频采集端的视频数据;
视频发送模块,用于通过所述Sidecar组件以共享内存的方式将所述视频数据共享到所述服务器的业务进程,以使所述业务进程对所述视频数据进行解封装和视频解析。
8.根据权利要求7所述的装置,其特征在于,所述视频发送模块还用于通过所述Sidecar组件中的DPDK虚拟网卡将所述视频数据发送给与所述微服务模块属于同一个微服务系统的其他微服务模块;和/或,通过所述Sidecar组件中的DPDK虚拟网卡将所述视频数据发送给不同于所述服务器的其他设备。
9.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010621822.7A CN111711801B (zh) | 2020-06-30 | 2020-06-30 | 视频数据传输方法、装置、服务器和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010621822.7A CN111711801B (zh) | 2020-06-30 | 2020-06-30 | 视频数据传输方法、装置、服务器和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111711801A CN111711801A (zh) | 2020-09-25 |
CN111711801B true CN111711801B (zh) | 2022-08-26 |
Family
ID=72545362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010621822.7A Active CN111711801B (zh) | 2020-06-30 | 2020-06-30 | 视频数据传输方法、装置、服务器和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111711801B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383801B (zh) * | 2020-11-10 | 2023-04-07 | 重庆紫光华山智安科技有限公司 | 媒体流分发方法、装置、分发服务器及存储介质 |
CN112764705B (zh) * | 2021-01-26 | 2022-12-02 | 重庆紫光华山智安科技有限公司 | 一种用户界面共享方法及电子设备 |
CN112925581A (zh) * | 2021-02-22 | 2021-06-08 | 百果园技术(新加坡)有限公司 | Dpdk容器的启动方法、装置及电子设备 |
CN113542437B (zh) * | 2021-09-16 | 2022-02-25 | 阿里云计算有限公司 | 网络系统、网络代理方法及设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW558901B (en) * | 2001-03-22 | 2003-10-21 | United Video Properties Inc | Personal video recorder systems and methods |
EP3748926B1 (en) * | 2018-02-24 | 2024-05-15 | Huawei Technologies Co., Ltd. | Communication method and apparatus |
US11659003B2 (en) * | 2018-08-30 | 2023-05-23 | International Business Machines Corporation | Safe shell container facilitating inspection of a virtual container |
US11134059B2 (en) * | 2018-12-04 | 2021-09-28 | Cisco Technology, Inc. | Micro-firewalls in a microservice mesh environment |
CN110086571A (zh) * | 2019-04-10 | 2019-08-02 | 广州华多网络科技有限公司 | 一种数据发送及接收的方法、装置及数据处理系统 |
US11139991B2 (en) * | 2019-09-28 | 2021-10-05 | Intel Corporation | Decentralized edge computing transactions with fine-grained time coordination |
-
2020
- 2020-06-30 CN CN202010621822.7A patent/CN111711801B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111711801A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111711801B (zh) | 视频数据传输方法、装置、服务器和计算机可读存储介质 | |
JP6571161B2 (ja) | アプリケーショントポロジ関係を探索するための方法、装置、およびシステム | |
US9331915B1 (en) | Dynamic network traffic mirroring | |
CN110399229A (zh) | 进程间的通信方法、装置、系统、介质及终端 | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
CN102750266A (zh) | 管理文件转换的技术 | |
CN112261094A (zh) | 一种报文处理方法及代理服务器 | |
WO2022017475A1 (zh) | 一种数据访问方法及相关设备 | |
CN112035074B (zh) | 一种打印实现方法、装置及系统、存储介质 | |
CN115396528A (zh) | 基于协议族的quic数据传输方法及装置 | |
WO2023103419A1 (zh) | 基于消息队列的5g消息批量发送方法、装置及电子设备 | |
WO2022032990A1 (zh) | 一种命令信息传输方法、系统、装置及可读存储介质 | |
WO2024217333A1 (zh) | 一种基于块存储的io访问方法、装置、电子设备及介质 | |
CN116599917A (zh) | 网口确定方法、装置、设备及存储介质 | |
CN115080479B (zh) | 传输方法、服务器、设备、裸金属实例及基板管理控制器 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN113422669A (zh) | 数据传输方法、装置和系统、电子设备以及计算机可读存储介质 | |
US20050108768A1 (en) | Systems and methods for providing dynamic loading of applications over a network | |
TW202311978A (zh) | 用於實體埠鏡像之傳輸控制字架構 | |
CN113498595A (zh) | 一种基于PCIe的数据传输方法及装置 | |
WO2025026009A1 (zh) | 视频编码方法、设备、系统及存储介质 | |
CN116610530A (zh) | 网络数据的处理方法、装置、计算机设备及存储介质 | |
CN103870318B (zh) | 非对称式处理的多核心系统与其网络设备 | |
CN114979148B (zh) | 数据传输方法、装置及计算机可读存储介质 | |
US9304957B2 (en) | Image processing method, image processing apparatus, and control program |
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 |