



技术领域technical field
本申请涉及计算机技术领域,尤其涉及一种音视频流转发方法、系统、装置、设备及介质。The present application relates to the field of computer technology, and in particular to an audio and video stream forwarding method, system, device, equipment and medium.
背景技术Background technique
当前的音视频码流处理主要是依靠CPU为主的计算单元实现,由于CPU在音视频码流在进行处理时,需要进行多次的内存拷贝。但是由于CPU并行处理数据能力较差,所以在一定程度上限制了音视频码流的处理效率。The current audio and video stream processing is mainly realized by the CPU-based computing unit, because the CPU needs to perform multiple memory copies when processing the audio and video stream. However, due to the poor ability of the CPU to process data in parallel, the processing efficiency of the audio and video code stream is limited to a certain extent.
发明内容Contents of the invention
本申请提供一种音视频流转发方法、系统、装置、设备及介质,至少在一定程度克服了当前音视频码流处理效率较低的问题。The present application provides an audio and video stream forwarding method, system, device, equipment and medium, which overcomes the problem of low processing efficiency of the current audio and video code stream at least to a certain extent.
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。Other features and advantages of the present application will become apparent from the following detailed description, or in part, be learned by practice of the present application.
根据本申请的一个方面,提供一种音视频流转发方法,包括:According to one aspect of the present application, a method for forwarding audio and video streams is provided, including:
获取转发信令,生成与转发信令对应的转发流表;转发流表包括需要转发的音视频流的IP层协议号、IP层源地址、IP层目的地址、TCP或UDP层源端口,TCP或UDP层目的端口、RTP层PT号以及RTP层SSRC中的至少一个;Obtain the forwarding signaling, and generate a forwarding flow table corresponding to the forwarding signaling; the forwarding flow table includes the IP layer protocol number, IP layer source address, IP layer destination address, TCP or UDP layer source port, TCP Or at least one of UDP layer destination port, RTP layer PT number and RTP layer SSRC;
根据转发流表以及预设算法确定需要转发的音视频流;Determine the audio and video streams that need to be forwarded according to the forwarding flow table and the preset algorithm;
将音视频流由CPU转发至DPU,以使DPU对音视频流进行处理。Forward the audio and video streams from the CPU to the DPU so that the DPU can process the audio and video streams.
在本申请的一个实施例中,根据转发流表以及预设算法确定需要转发的音视频流包括:In one embodiment of the present application, determining the audio and video streams that need to be forwarded according to the forwarding flow table and the preset algorithm includes:
根据转发流表以及哈希算法确定需要转发的音视频流。Determine the audio and video streams to be forwarded according to the forwarding flow table and the hash algorithm.
在本申请的一个实施例中,将音视频流由CPU转发至DPU,以使DPU对音视频流进行处理之后,方法还包括:In one embodiment of the present application, after the audio and video stream is forwarded from the CPU to the DPU so that the DPU processes the audio and video stream, the method further includes:
将音视频流对应的转发流表进行存储。The forwarding flow table corresponding to the audio and video stream is stored.
根据本申请的另一个方面,提供一种音视频流转发系统,系统包括:According to another aspect of the present application, an audio and video stream forwarding system is provided, and the system includes:
码流管理层,用于获取转发信令,生成与转发信令对应的转发流表;转发流表包括需要转发的音视频流的IP层协议号、IP层源地址、IP层目的地址、TCP或UDP层源端口,TCP或UDP层目的端口、RTP层PT号以及RTP层SSRC中的至少一个;The code stream management layer is used to obtain forwarding signaling and generate a forwarding flow table corresponding to the forwarding signaling; the forwarding flow table includes the IP layer protocol number, IP layer source address, IP layer destination address, TCP Or UDP layer source port, TCP or UDP layer destination port, RTP layer PT number and at least one of RTP layer SSRC;
码流转发层,用于接收转发流表根据转发流表以及预设算法确定需要转发的音视频流,根据需要转发的音视频流生成音视频流标识;The code stream forwarding layer is used to receive the forwarding flow table and determine the audio and video stream to be forwarded according to the forwarding flow table and the preset algorithm, and generate the audio and video stream identifier according to the audio and video stream to be forwarded;
执行层,用于接收音视频流标识并将音视频流标识对应的音视频流由CPU转发至DPU,以使DPU对音视频流进行处理。The execution layer is used to receive the audio and video stream identifier and forward the audio and video stream corresponding to the audio and video stream identifier from the CPU to the DPU, so that the DPU can process the audio and video stream.
在本申请的一个实施例中,系统还包括:In one embodiment of the present application, the system also includes:
信令控制层,用于接收转发信令,并将转发信令发送至码流管理层。The signaling control layer is used to receive the forwarding signaling and send the forwarding signaling to the stream management layer.
在本申请的一个实施例中,信令控制层与码流管理层通过TCP进行连接。In one embodiment of the present application, the signaling control layer and the stream management layer are connected through TCP.
在本申请的一个实施例中,码流转发层还用于将音视频流对应的转发流表进行存储。In an embodiment of the present application, the code stream forwarding layer is also used to store the forwarding stream table corresponding to the audio and video streams.
根据本申请的再一个方面,提供一种音视频流转发装置,装置包括:According to another aspect of the present application, an audio and video stream forwarding device is provided, the device includes:
获取模块,用于获取转发信令,生成与转发信令对应的转发流表;转发流表包括需要转发的音视频流的IP层协议号、IP层源地址、IP层目的地址、TCP或UDP层源端口,TCP或UDP层目的端口、RTP层PT号以及RTP层SSRC中的至少一个;The acquisition module is used to obtain the forwarding signaling and generate a forwarding flow table corresponding to the forwarding signaling; the forwarding flow table includes the IP layer protocol number, IP layer source address, IP layer destination address, TCP or UDP of the audio and video stream to be forwarded Layer source port, at least one of TCP or UDP layer destination port, RTP layer PT number and RTP layer SSRC;
确定模块,用于根据转发流表以及预设算法确定需要转发的音视频流;A determining module, configured to determine the audio and video streams to be forwarded according to the forwarding flow table and a preset algorithm;
转发模块,用于将音视频流由CPU转发至DPU,以使DPU对音视频流进行处理。The forwarding module is used to forward the audio and video stream from the CPU to the DPU, so that the DPU can process the audio and video stream.
在本申请的一个实施例中,确定模块,包括:In one embodiment of the present application, the determination module includes:
确定单元,用于根据转发流表以及哈希算法确定需要转发的音视频流。The determination unit is configured to determine the audio and video streams to be forwarded according to the forwarding flow table and the hash algorithm.
在本申请的一个实施例中,音视频流转发装置,还包括:In one embodiment of the present application, the audio and video stream forwarding device also includes:
存储模块,将音视频流由CPU转发至DPU,以使DPU对音视频流进行处理之后,用于将音视频流对应的转发流表进行存储。The storage module forwards the audio and video stream from the CPU to the DPU, so that the DPU can store the forwarding flow table corresponding to the audio and video stream after the DPU processes the audio and video stream.
根据本申请的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述的音视频流转发方法。According to still another aspect of the present application, an electronic device is provided, including: a processor; and a memory for storing executable instructions of the processor; wherein, the processor is configured to perform the above-mentioned audio and video streaming by executing the executable instructions hair method.
根据本申请的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的音视频流转发方法。According to yet another aspect of the present application, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the above audio and video stream forwarding method is implemented.
本申请的实施例所提供的音视频流转发方法,通过获取转发信令,生成与转发信令对应的转发流表,然后根据转发流表以及预设算法确定需要转发的音视频流,然后将确定的音视频流由CPU转发至DPU,以使DPU对上述音视频流进行处理,由此,避免了由CPU对音视频流进行处理所带来的效率较低的问题,而将音视频流转发至DPU进行处理可以利用DPU高并发的性能,提高音视频流的处理效率。The audio and video stream forwarding method provided by the embodiments of the present application generates a forwarding flow table corresponding to the forwarding signaling by obtaining the forwarding signaling, and then determines the audio and video stream to be forwarded according to the forwarding flow table and a preset algorithm, and then sends the The determined audio and video stream is forwarded to the DPU by the CPU, so that the DPU can process the above audio and video stream, thereby avoiding the problem of low efficiency caused by the processing of the audio and video stream by the CPU, and transferring the audio and video stream Sending to the DPU for processing can take advantage of the high concurrent performance of the DPU to improve the processing efficiency of audio and video streams.
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
附图说明Description of drawings
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and together with the description serve to explain the principles of the application. Apparently, the drawings in the following description are only some embodiments of the present application, and those skilled in the art can obtain other drawings according to these drawings without creative efforts.
图1示出本申请实施例中一种音视频流转发系统结构的示意图;Fig. 1 shows a schematic diagram of the structure of an audio and video stream forwarding system in an embodiment of the present application;
图2示出本申请实施例中一种音视频流转发方法流程图;Fig. 2 shows a flow chart of a method for forwarding audio and video streams in an embodiment of the present application;
图3示出本申请实施例中一种音视频流转发装置示意图;和Figure 3 shows a schematic diagram of an audio and video stream forwarding device in an embodiment of the present application; and
图4示出本申请实施例中一种电子设备的结构框图。FIG. 4 shows a structural block diagram of an electronic device in an embodiment of the present application.
具体实施方式detailed description
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this application will be thorough and complete, and will fully convey the concepts of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
此外,附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。Furthermore, the drawings are merely schematic illustrations of the application and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus repeated descriptions thereof will be omitted. Some of the block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, or in one or more hardware modules or integrated circuits, or in different network and/or processor means and/or microcontroller means.
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。It should be understood that the various steps described in the method implementations of the present application may be executed in different orders, and/or executed in parallel. Additionally, method embodiments may include additional steps and/or omit performing illustrated steps. The scope of the application is not limited in this respect.
需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。It should be noted that concepts such as "first" and "second" mentioned in this application are only used to distinguish different devices, modules or units, and are not used to limit the sequence of functions performed by these devices, modules or units or interdependence.
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。It should be noted that the modifications of "one" and "multiple" mentioned in this application are illustrative and not restrictive. Those skilled in the art should understand that unless the context clearly indicates otherwise, it should be understood as "one or more" multiple".
为了便于理解,下面首先对本申请涉及到的几个名词进行解释如下:In order to facilitate understanding, several terms involved in this application are firstly explained as follows:
智能网卡:智能网卡是具有独立的计算单元,能完成特定的基础设施功能操作的网卡,如智能网卡可完成特定的重组加速、安全加速等操作,相对于普通网卡可以带来较大的性能提升。智能网卡上的可编程ASIC或FPGA单元有可以运行自定义软件的计算层,计算层可以为网络流量提供服务,并可以执行特定网络及数据中心基础设施功能,还为外部网络和服务器OS之间提供了额外的安全层。Smart network card: Smart network card is a network card with an independent computing unit that can complete specific infrastructure function operations. For example, a smart network card can complete specific reorganization acceleration, security acceleration and other operations. Compared with ordinary network cards, it can bring greater performance improvement . The programmable ASIC or FPGA unit on the smart network card has a computing layer that can run custom software. The computing layer can provide services for network traffic and perform specific network and data center infrastructure functions. Provides an additional layer of security.
DPU:DPU是Data Processing Unit的简称,它是最新发展起来的专用处理器的一个大类,是继CPU、GPU之后,数据中心场景中的第三颗重要的算力芯片,为高带宽、低延迟、数据密集的计算场景提供计算引擎。DPU是智能网卡的进一步演进,实现数据平面的完全的卸载。DPU实现包括软件卸载和硬件加速两个方面,即将负载从Host CPU卸载到DPU的嵌入式CPU中,同时将负载数据面通过DPU内部的其他类型硬件加速引擎,如协处理器、GPU、FPGA、DSA等来处理。从总体上来说,DPU是两个系统间的协作,把一个系统卸载到另一个运行实体,然后通过特定的接口交互。DPU: DPU is the abbreviation of Data Processing Unit. It is a large category of newly developed special-purpose processors. It is the third important computing power chip in the data center scene after CPU and GPU. Computing engines are provided for latency and data-intensive computing scenarios. The DPU is a further evolution of the smart network card, which realizes the complete offloading of the data plane. DPU implementation includes two aspects of software offloading and hardware acceleration, that is, offloading the load from the Host CPU to the embedded CPU of the DPU, and at the same time passing the load data plane through other types of hardware acceleration engines inside the DPU, such as coprocessors, GPUs, FPGAs, DSA etc. to deal with. Generally speaking, the DPU is a collaboration between two systems, offloading one system to another running entity, and then interacting through a specific interface.
DPU是以数据为中心构造的专用处理器,采用软件定义技术路线支撑基础设施层资源虚拟化,支持存储、安全、服务质量管理等基础设施层服务。2020年NVIDIA公司发布的DPU产品战略中将其定位为数据中心继CPU和GPU之后的“第三颗主力芯片”,掀起了一波行业热潮。DPU的出现是异构计算的一个阶段性标志。与GPU的发展类似,DPU是应用驱动的体系结构设计的又一典型案例;但与GPU不同的是,DPU面向的应用更加底层。DPU要解决的核心问题是基础设施的“降本增效”,即将“CPU处理效率低下、GPU处理不了”的负载卸载到专用DPU,提升整个计算系统的效率、降低整体系统的总体拥有成本(TCO)。DPU的出现是体系结构朝着专用化路线发展的又一个里程碑。DPU is a special-purpose processor with data-centric structure. It adopts software-defined technical route to support infrastructure layer resource virtualization, and supports infrastructure layer services such as storage, security, and service quality management. In the DPU product strategy released by NVIDIA in 2020, it is positioned as the "third main chip" in the data center after CPU and GPU, setting off a wave of industry boom. The emergence of DPU is a phased sign of heterogeneous computing. Similar to the development of GPU, DPU is another typical case of application-driven architecture design; but unlike GPU, DPU is more low-level for applications. The core problem to be solved by the DPU is the "cost reduction and efficiency increase" of the infrastructure, that is, the load that "CPU processing efficiency is low and the GPU cannot handle" is offloaded to the dedicated DPU, so as to improve the efficiency of the entire computing system and reduce the total cost of ownership of the overall system ( TCO). The emergence of the DPU is another milestone in the development of the architecture towards the specialization route.
当前的音视频码流转发实现的主要架构都是以CPU为主要计算单元实现,主要包含两个层面的处理:信令控制层,码流转发层。虽然音视频业务专用的微架构的兴起,在一定程度优化了码流的处理性能,但是始终突破不了CPU多次内存拷贝,并行处理差等因素对数据平面的处理瓶颈。The main architecture of the current audio and video stream forwarding is implemented with the CPU as the main computing unit, which mainly includes two levels of processing: the signaling control layer and the code stream forwarding layer. Although the rise of the micro-architecture dedicated to audio and video services has optimized the processing performance of the code stream to a certain extent, it still cannot break through the processing bottleneck of the data plane caused by factors such as multiple CPU memory copies and poor parallel processing.
为了解决上述问题,本申请实施例提供了一种音视频流转发方法、系统、装置、设备及存储介质。In order to solve the above problems, embodiments of the present application provide an audio and video stream forwarding method, system, device, device, and storage medium.
下面首先对本申请实施例提供的音视频流转发系统进行说明。Firstly, the audio and video stream forwarding system provided by the embodiment of the present application will be described below.
图1示出了本申请实施例中的音视频转发系统结构图。FIG. 1 shows a structural diagram of an audio and video forwarding system in an embodiment of the present application.
如图1所示,音视频转发系统10可以包括:As shown in Figure 1, the audio and
码流管理层101,用于获取转发信令,生成与转发信令对应的转发流表;转发流表包括需要转发的音视频流的IP层协议号、IP层源地址、IP层目的地址、TCP或UDP层源端口,TCP或UDP层目的端口、RTP层PT号以及RTP层SSRC中的至少一个;The code
码流转发层102,用于接收转发流表根据转发流表以及预设算法确定需要转发的音视频流,根据需要转发的音视频流生成音视频流标识;The code
执行层103,用于接收音视频流标识并将音视频流标识对应的音视频流由CPU转发至DPU,以使DPU对音视频流进行处理。The
需要说明的是,码流管理层可以配置在网卡的CPU上。It should be noted that the stream management layer can be configured on the CPU of the network card.
示例性的,码流管理层需要进行复杂的表项组织与管理实现,但是码流管理层需要的处理速度并不块,所以码流管理层可以是设置在网卡侧的CPU。Exemplarily, the code stream management layer needs to implement complex table entry organization and management, but the processing speed required by the code stream management layer is not fast, so the code stream management layer can be a CPU set on the network card side.
码流转发层可以配置在网卡的FPGA上。The code stream forwarding layer can be configured on the FPGA of the network card.
示例性的,码流转发层需要根据转发流表以及预设算法确定对应的音视频流,所以需要较高的计算能力,所以,码流转发层可以配置在网卡的FPGA上。Exemplarily, the stream forwarding layer needs to determine the corresponding audio and video streams according to the forwarding stream table and the preset algorithm, so higher computing power is required, so the stream forwarding layer can be configured on the FPGA of the network card.
示例性的,网卡的FPGA还可以实现I/O虚拟化后端,以实现消息的转发。Exemplarily, the FPGA of the network card can also implement an I/O virtualization backend to implement message forwarding.
示例性的,网卡可以为配置在终端设备或服务器上。Exemplarily, the network card may be configured on a terminal device or a server.
终端设备可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、增强现实设备、虚拟现实设备等。Terminal devices may be various electronic devices, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, wearable devices, augmented reality devices, virtual reality devices, and the like.
可选地,不同的终端设备中安装的应用程序的客户端是相同的,或基于不同操作系统的同一类型应用程序的客户端。基于终端平台的不同,该应用程序的客户端的具体形态也可以不同,比如,该应用程序客户端可以是手机客户端、PC客户端等。Optionally, clients of application programs installed in different terminal devices are the same, or clients of the same type of application programs based on different operating systems. Based on different terminal platforms, the specific form of the client of the application program may also be different, for example, the client of the application program may be a mobile phone client, a PC client, and the like.
服务器可以是提供各种服务的服务器,例如对用户利用终端设备所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。The server may be a server that provides various services, such as a background management server that provides support for devices operated by users using terminal equipment. The background management server can analyze and process the received data such as requests, and feed back the processing results to the terminal device.
可选地,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。Optionally, the server can be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers, and can also provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, Cloud servers for basic cloud computing services such as cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network, content distribution network), and big data and artificial intelligence platforms. The terminal may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The terminal and the server may be connected directly or indirectly through wired or wireless communication, which is not limited in this application.
本领域技术人员可以知晓,上述终端设备、网络和服务器的数量仅仅是示意性的,根据实际需要,可以具有任意数目的终端设备、网络和服务器。本申请实施例对此不作限定。Those skilled in the art may know that the above-mentioned numbers of terminal devices, networks and servers are only illustrative, and there may be any number of terminal devices, networks and servers according to actual needs. This embodiment of the present application does not limit it.
本申请的实施例所提供的音视频流转发系统,通过获取转发信令,生成与转发信令对应的转发流表,然后根据转发流表以及预设算法确定需要转发的音视频流,然后将确定的音视频流由CPU转发至DPU,以使DPU对上述音视频流进行处理,由此,避免了由CPU对音视频流进行处理所带来的效率较低的问题,而将音视频流转发至DPU进行处理可以利用DPU高并发的性能,提高音视频流的处理效率。The audio and video stream forwarding system provided by the embodiments of the present application generates a forwarding flow table corresponding to the forwarding signaling by obtaining the forwarding signaling, and then determines the audio and video stream to be forwarded according to the forwarding flow table and a preset algorithm, and then sends the The determined audio and video stream is forwarded to the DPU by the CPU, so that the DPU can process the above audio and video stream, thereby avoiding the problem of low efficiency caused by the processing of the audio and video stream by the CPU, and transferring the audio and video stream Sending to the DPU for processing can take advantage of the high concurrent performance of the DPU to improve the processing efficiency of audio and video streams.
在一些实施例中,音视频码流转发系统,还可以包括:In some embodiments, the audio and video code stream forwarding system may also include:
信令控制层,用于接收转发信令,并将转发信令发送至码流管理层。The signaling control layer is used to receive the forwarding signaling and send the forwarding signaling to the stream management layer.
需要说明的是,信令控制层可以配置在主机的CPU上。It should be noted that the signaling control layer may be configured on the CPU of the host.
示例性的,信令控制层需要进行信令转发,所以需要完成较高的并发量与信令解析,所以信令控制层可以配置在主机的CPU上。Exemplarily, the signaling control layer needs to perform signaling forwarding, so it needs to complete high concurrency and signaling analysis, so the signaling control layer can be configured on the CPU of the host.
在一些实施例中,信令控制层与码流管理层通过TCP进行连接。In some embodiments, the signaling control layer and the stream management layer are connected through TCP.
需要说明的是,信令控制层在与码流管理层进行信息传输时,可以通过调用socket接口,将信息封装到TCP/IP报文进行通信。It should be noted that when the signaling control layer transmits information with the code stream management layer, it can encapsulate the information into TCP/IP packets for communication by calling the socket interface.
示例性的,主机的CPU可以配置在终端设备或服务器上。Exemplarily, the CPU of the host may be configured on a terminal device or a server.
终端设备可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、增强现实设备、虚拟现实设备等。Terminal devices may be various electronic devices, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, wearable devices, augmented reality devices, virtual reality devices, and the like.
可选地,不同的终端设备中安装的应用程序的客户端是相同的,或基于不同操作系统的同一类型应用程序的客户端。基于终端平台的不同,该应用程序的客户端的具体形态也可以不同,比如,该应用程序客户端可以是手机客户端、PC客户端等。Optionally, clients of application programs installed in different terminal devices are the same, or clients of the same type of application programs based on different operating systems. Based on different terminal platforms, the specific form of the client of the application program may also be different, for example, the client of the application program may be a mobile phone client, a PC client, and the like.
服务器可以是提供各种服务的服务器,例如对用户利用终端设备所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。The server may be a server that provides various services, such as a background management server that provides support for devices operated by users using terminal equipment. The background management server can analyze and process the received data such as requests, and feed back the processing results to the terminal device.
可选地,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。Optionally, the server can be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers, and can also provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, Cloud servers for basic cloud computing services such as cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network, content distribution network), and big data and artificial intelligence platforms. The terminal may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The terminal and the server may be connected directly or indirectly through wired or wireless communication, which is not limited in this application.
本领域技术人员可以知晓,上述终端设备、网络和服务器的数量仅仅是示意性的,根据实际需要,可以具有任意数目的终端设备、网络和服务器。本申请实施例对此不作限定。Those skilled in the art may know that the above-mentioned numbers of terminal devices, networks and servers are only illustrative, and there may be any number of terminal devices, networks and servers according to actual needs. This embodiment of the present application does not limit it.
在一些实施例中,码流转发层还用于将音视频流对应的转发流表进行存储。In some embodiments, the code stream forwarding layer is also used to store the forwarding stream table corresponding to the audio and video streams.
需要说明的是,码流转发层在数据转发完毕时,可以将转发流表进行储存,由此可以在需要查找对应音视频流时,能够更加快速的确定音视频的传输路径,以此,能够更加快速的查找到对应的音视频流。It should be noted that the code stream forwarding layer can store the forwarding stream table when the data forwarding is completed, so that when the corresponding audio and video stream needs to be searched, the transmission path of the audio and video can be determined more quickly. Find the corresponding audio and video stream more quickly.
需要说明的是,码流转发层也可以进行转发流表的删除以及更改操作,这都是基于本申请以上技术的常规操作,此处不再赘述。It should be noted that the code stream forwarding layer can also delete and modify the forwarding stream table, which are all conventional operations based on the above technologies of this application, and will not be repeated here.
基于同一发明构思,本申请实施例中还提供了一种音视频流转发方法,如下面的实施例。由于该方法实施例解决问题的原理与上述系统实施例相似,因此该方法实施例的实施可以参见上系统实施例的实施,重复之处不再赘述。Based on the same inventive concept, the embodiment of the present application also provides an audio and video stream forwarding method, such as the following embodiment. Since the problem-solving principle of this method embodiment is similar to that of the above-mentioned system embodiment, the implementation of this method embodiment can refer to the implementation of the above system embodiment, and repeated descriptions will not be repeated.
图2示出了本申请实施例中音视频流转发方法流程图。Fig. 2 shows a flow chart of the audio and video stream forwarding method in the embodiment of the present application.
如图2所示,该方法可以包括:As shown in Figure 2, the method may include:
S201,获取转发信令,生成与转发信令对应的转发流表;转发流表包括需要转发的音视频流的IP层协议号、IP层源地址、IP层目的地址、TCP或UDP层源端口,TCP或UDP层目的端口、RTP层PT号以及RTP层SSRC中的至少一个。S201, obtain the forwarding signaling, and generate a forwarding flow table corresponding to the forwarding signaling; the forwarding flow table includes the IP layer protocol number, IP layer source address, IP layer destination address, TCP or UDP layer source port of the audio and video stream to be forwarded , at least one of the TCP or UDP layer destination port, the RTP layer PT number, and the RTP layer SSRC.
需要说明的是,获取转发信令可以包括获取用户发送的转发信令,也可以获取由智能组件自动发送的转发信令。It should be noted that obtaining the forwarding signaling may include obtaining the forwarding signaling sent by the user, and may also obtain the forwarding signaling automatically sent by the smart component.
生成与转发信令对应的转发流表可以包括:Generating a forwarding flow table corresponding to the forwarding signaling may include:
首先对转发信令进行解析,转发信令可以为包括汇编语言在内的多种语言编写的转发信令。Firstly, the forwarding signaling is analyzed, and the forwarding signaling may be written in multiple languages including assembly language.
在对转发信令进行解析之后,可以根据转发信令确定转发流表。After analyzing the forwarding signaling, the forwarding flow table may be determined according to the forwarding signaling.
示例性的,转发流表可以包括多个属性IP层协议号、IP层源地址、IP层目的地址、TCP或UDP层源端口,TCP或UDP层目的端口、RTP层PT号以及RTP层SSRC,其中,每个属性均可对应一个参数。Exemplarily, the forwarding flow table may include multiple attributes IP layer protocol number, IP layer source address, IP layer destination address, TCP or UDP layer source port, TCP or UDP layer destination port, RTP layer PT number and RTP layer SSRC, Wherein, each attribute may correspond to a parameter.
示例性的,对转发信令解析可以包括:Exemplarily, analyzing forwarding signaling may include:
将转发信令解析成为KEY与ACTION格式。Parse forwarding signaling into KEY and ACTION formats.
KEY为信令指定流的7元组(IP层协议号,IP层源地址,IP层目的地址,TCP/UDP层源端口,TCP/UDP层目的端口,RTP层PT号,RTP层SSRC。KEY is the 7-tuple (IP layer protocol number, IP layer source address, IP layer destination address, TCP/UDP layer source port, TCP/UDP layer destination port, RTP layer PT number, RTP layer SSRC) of signaling specified flow.
ACTION为指定流的动作,其中包括操作类型:表删除,表新建,表修改。同时也包括流动作的具体内容,包括转发动作,安全过滤规则,QOS规则等。ACTION is the action of the specified flow, including the operation type: table deletion, table creation, and table modification. It also includes the specific content of flow actions, including forwarding actions, security filtering rules, QOS rules, etc.
S202,根据转发流表以及预设算法确定需要转发的音视频流。S202. Determine the audio and video streams to be forwarded according to the forwarding flow table and the preset algorithm.
需要说明的是,预设算法可以包括哈希算法。It should be noted that the preset algorithm may include a hash algorithm.
示例性的,针对key的7元组,有各式各样的组合方式,为实现查找方法更优秀的适配性,在进行第一次hash计算前(Hash Function),查找key mask表项(码流管理层会配置每条码流的掩码规则),将当前设备的key mask与当前流的key做掩码操作后,获得真实key。Exemplarily, there are various combinations for the 7-tuple of the key. In order to achieve better adaptability of the search method, before performing the first hash calculation (Hash Function), search for the key mask entry ( The code stream management layer will configure the masking rules for each code stream), and after masking the key mask of the current device and the key of the current stream, the real key can be obtained.
第一次使用HASH1做未索引,查找hash bucket。For the first time, HASH1 is used as unindexed to find the hash bucket.
hash bucket包含多个entry,每个entry包含valid,flow id,hash2。The hash bucket contains multiple entries, and each entry contains valid, flow id, and hash2.
hash1和hash2是不同的hash函数,如hash1选用crc32,hash2选用crc32c。Hash1 and hash2 are different hash functions. For example, hash1 uses crc32, and hash2 uses crc32c.
查找需要比较所有有效entry中的hash2(signature),匹配说明该hash2对应的flow id疑似命中。The search needs to compare the hash2 (signature) in all valid entries, and the match indicates that the flow id corresponding to the hash2 is suspected to be a hit.
如果hash bucket有多个flow id命中,需要把每个flow id对应的flow table读出来比较。If the hash bucket has multiple flow id hits, you need to read the flow table corresponding to each flow id for comparison.
由于音视频码流的key长度过长,因此第一次hash计算后,在表项新建趋近最大规格时,传统的处理会造成大量hash冲突,因此需注意:Because the key length of the audio and video code stream is too long, after the first hash calculation, when the new table item approaches the maximum size, the traditional processing will cause a large number of hash conflicts, so pay attention to:
码流管理层保证hash bucket所有flow id不同,减少逻辑处理复杂性。The stream management layer ensures that all flow ids in the hash bucket are different, reducing the complexity of logic processing.
Hash bucket支持list,可以解决hash bucket满引起冲突的问题。Hash buckets support lists, which can solve the problem of conflicts caused by full hash buckets.
S203,将音视频流由CPU转发至DPU,以使DPU对音视频流进行处理。S203. Forward the audio and video stream from the CPU to the DPU, so that the DPU processes the audio and video stream.
本申请的实施例所提供的音视频流转发方法,通过获取转发信令,生成与转发信令对应的转发流表,然后根据转发流表以及预设算法确定需要转发的音视频流,然后将确定的音视频流由CPU转发至DPU,以使DPU对上述音视频流进行处理,由此,避免了由CPU对音视频流进行处理所带来的效率较低的问题,而将音视频流转发至DPU进行处理可以利用DPU高并发的性能,提高音视频流的处理效率。The audio and video stream forwarding method provided by the embodiments of the present application generates a forwarding flow table corresponding to the forwarding signaling by obtaining the forwarding signaling, and then determines the audio and video stream to be forwarded according to the forwarding flow table and a preset algorithm, and then sends the The determined audio and video stream is forwarded to the DPU by the CPU, so that the DPU can process the above audio and video stream, thereby avoiding the problem of low efficiency caused by the processing of the audio and video stream by the CPU, and transferring the audio and video stream Sending to the DPU for processing can take advantage of the high concurrent performance of the DPU to improve the processing efficiency of audio and video streams.
在一些实施例中,根据转发流表以及预设算法确定需要转发的音视频流包括:In some embodiments, determining the audio and video streams that need to be forwarded according to the forwarding flow table and the preset algorithm includes:
根据转发流表以及哈希算法确定需要转发的音视频流。Determine the audio and video streams to be forwarded according to the forwarding flow table and the hash algorithm.
在一些实施例中,将音视频流由CPU转发至DPU,以使DPU对音视频流进行处理之后,方法还包括:In some embodiments, after the audio and video stream is forwarded by the CPU to the DPU so that the DPU processes the audio and video stream, the method further includes:
将音视频流对应的转发流表进行存储。The forwarding flow table corresponding to the audio and video stream is stored.
本申请的实施例所提供的音视频流转发方法,通过获取转发信令,生成与转发信令对应的转发流表,然后根据转发流表以及预设算法确定需要转发的音视频流,然后将确定的音视频流由CPU转发至DPU,以使DPU对上述音视频流进行处理,由此,避免了由CPU对音视频流进行处理所带来的效率较低的问题,而将音视频流转发至DPU进行处理可以利用DPU高并发的性能,提高音视频流的处理效率。The audio and video stream forwarding method provided by the embodiments of the present application generates a forwarding flow table corresponding to the forwarding signaling by obtaining the forwarding signaling, and then determines the audio and video stream to be forwarded according to the forwarding flow table and a preset algorithm, and then sends the The determined audio and video stream is forwarded to the DPU by the CPU, so that the DPU can process the above audio and video stream, thereby avoiding the problem of low efficiency caused by the processing of the audio and video stream by the CPU, and transferring the audio and video stream Sending to the DPU for processing can take advantage of the high concurrent performance of the DPU to improve the processing efficiency of audio and video streams.
基于同一发明构思,本申请实施例中还提供了一种音视频流转发装置,如下面的实施例。由于该装置实施例解决问题的原理与上述方法实施例相似,因此该装置实施例的实施可以参见上述方法实施例的实施,重复之处不再赘述。Based on the same inventive concept, an audio and video stream forwarding device is also provided in the embodiment of the present application, such as the following embodiment. Since the problem-solving principle of this device embodiment is similar to that of the above-mentioned method embodiment, the implementation of this device embodiment can refer to the implementation of the above-mentioned method embodiment, and repeated descriptions will not be repeated.
图3示出本申请实施例中一种音视频流转发装置示意图。FIG. 3 shows a schematic diagram of an audio and video stream forwarding device in an embodiment of the present application.
如图3所示,该装置包括:As shown in Figure 3, the device includes:
获取模块301,用于获取转发信令,生成与转发信令对应的转发流表;转发流表包括需要转发的音视频流的IP层协议号、IP层源地址、IP层目的地址、TCP或UDP层源端口,TCP或UDP层目的端口、RTP层PT号以及RTP层SSRC中的至少一个;Obtaining
确定模块302,用于根据转发流表以及预设算法确定需要转发的音视频流;A determining
转发模块303,用于将音视频流由CPU转发至DPU,以使DPU对音视频流进行处理。The
本申请的实施例所提供的音视频流转发装置,通过获取转发信令,生成与转发信令对应的转发流表,然后根据转发流表以及预设算法确定需要转发的音视频流,然后将确定的音视频流由CPU转发至DPU,以使DPU对上述音视频流进行处理,由此,避免了由CPU对音视频流进行处理所带来的效率较低的问题,而将音视频流转发至DPU进行处理可以利用DPU高并发的性能,提高音视频流的处理效率。The audio and video stream forwarding device provided in the embodiments of the present application generates a forwarding flow table corresponding to the forwarding signaling by obtaining the forwarding signaling, and then determines the audio and video stream to be forwarded according to the forwarding flow table and a preset algorithm, and then sends the The determined audio and video stream is forwarded to the DPU by the CPU, so that the DPU can process the above audio and video stream, thereby avoiding the problem of low efficiency caused by the processing of the audio and video stream by the CPU, and transferring the audio and video stream Sending to the DPU for processing can take advantage of the high concurrent performance of the DPU to improve the processing efficiency of audio and video streams.
在本申请的一个实施例中,确定模块,包括:In one embodiment of the present application, the determination module includes:
确定单元,用于根据转发流表以及哈希算法确定需要转发的音视频流。The determination unit is configured to determine the audio and video streams to be forwarded according to the forwarding flow table and the hash algorithm.
在本申请的一个实施例中,音视频流转发装置,还包括:In one embodiment of the present application, the audio and video stream forwarding device also includes:
存储模块,将音视频流由CPU转发至DPU,以使DPU对音视频流进行处理之后,用于将音视频流对应的转发流表进行存储。The storage module forwards the audio and video stream from the CPU to the DPU, so that the DPU can store the forwarding flow table corresponding to the audio and video stream after the DPU processes the audio and video stream.
本申请的实施例所提供的音视频流转发装置,通过获取转发信令,生成与转发信令对应的转发流表,然后根据转发流表以及预设算法确定需要转发的音视频流,然后将确定的音视频流由CPU转发至DPU,以使DPU对上述音视频流进行处理,由此,避免了由CPU对音视频流进行处理所带来的效率较低的问题,而将音视频流转发至DPU进行处理可以利用DPU高并发的性能,提高音视频流的处理效率。The audio and video stream forwarding device provided in the embodiments of the present application generates a forwarding flow table corresponding to the forwarding signaling by obtaining the forwarding signaling, and then determines the audio and video stream to be forwarded according to the forwarding flow table and a preset algorithm, and then sends the The determined audio and video stream is forwarded to the DPU by the CPU, so that the DPU can process the above audio and video stream, thereby avoiding the problem of low efficiency caused by the processing of the audio and video stream by the CPU, and transferring the audio and video stream Sending to the DPU for processing can take advantage of the high concurrent performance of the DPU to improve the processing efficiency of audio and video streams.
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。Those skilled in the art can understand that various aspects of the present application can be implemented as a system, method or program product. Therefore, various aspects of the present application can be specifically implemented in the following forms, that is: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which can be collectively referred to herein as "circuit", "module" or "system".
下面参照图4来描述根据本申请的这种实施方式的电子设备400。图4显示的电子设备400仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。An
如图4所示,电子设备400以通用计算设备的形式表现。电子设备400的组件可以包括但不限于:上述至少一个处理单元410、上述至少一个存储单元420、连接不同系统组件(包括存储单元420和处理单元410)的总线430。As shown in FIG. 4,
其中,存储单元存储有程序代码,程序代码可以被处理单元410执行,使得处理单元410执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。例如,处理单元410可以执行上述方法实施例的如下步骤:Wherein, the storage unit stores program codes, and the program codes can be executed by the
获取转发信令,生成与转发信令对应的转发流表;转发流表包括需要转发的音视频流的IP层协议号、IP层源地址、IP层目的地址、TCP或UDP层源端口,TCP或UDP层目的端口、RTP层PT号以及RTP层SSRC中的至少一个;Obtain the forwarding signaling, and generate a forwarding flow table corresponding to the forwarding signaling; the forwarding flow table includes the IP layer protocol number, IP layer source address, IP layer destination address, TCP or UDP layer source port, TCP Or at least one of UDP layer destination port, RTP layer PT number and RTP layer SSRC;
根据转发流表以及预设算法确定需要转发的音视频流;Determine the audio and video streams that need to be forwarded according to the forwarding flow table and the preset algorithm;
将音视频流由CPU转发至DPU,以使DPU对音视频流进行处理。Forward the audio and video streams from the CPU to the DPU so that the DPU can process the audio and video streams.
存储单元420可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)4201和/或高速缓存存储单元4202,还可以进一步包括只读存储单元(ROM)4203。The
存储单元420还可以包括具有一组(至少一个)程序模块4205的程序/实用工具4204,这样的程序模块4205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线430可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。The
电子设备400也可以与一个或多个外部设备440(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备400交互的设备通信,和/或与使得该电子设备400能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口450进行。并且,电子设备400还可以通过网络适配器460与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器460通过总线430与电子设备400的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。The
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。Through the description of the above implementations, those skilled in the art can easily understand that the example implementations described here can be implemented by software, or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of the present application can be embodied in the form of software products, which can be stored in a non-volatile storage medium (which can be CD-ROM, U disk, mobile hard disk, etc.) or on the network , including several instructions to make a computing device (which may be a personal computer, server, terminal device, or network device, etc.) execute the method according to the embodiment of the present application.
在本申请的示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是可读信号介质或者可读存储介质。其上存储有能够实现本申请上述方法的程序产品。在一些可能的实施方式中,本申请的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。In an exemplary embodiment of the present application, a computer-readable storage medium is also provided, and the computer-readable storage medium may be a readable signal medium or a readable storage medium. A program product capable of realizing the above-mentioned method of the present application is stored thereon. In some possible implementations, various aspects of the present application can also be implemented in the form of a program product, which includes program code. When the program product runs on the terminal device, the program code is used to make the terminal device execute the above-mentioned Steps according to various exemplary embodiments of the present application described in the "Exemplary Methods" section.
本申请中的计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。More specific examples of computer readable storage media in this application may include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), Erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
在本申请中,计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。In this application, a computer-readable storage medium may include a data signal in baseband or propagated as part of a carrier wave carrying readable program code therein. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device.
可选地,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。Alternatively, program code contained on a computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, cable, optical cable, RF, etc., or any suitable combination of the above.
在具体实施时,可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。During specific implementation, the program code for performing the operation of the present application can be written in any combination of one or more programming languages, and the programming language includes an object-oriented programming language—such as Java, C++, etc., and also includes conventional A procedural programming language—such as "C" or a similar programming language. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server to execute. In cases involving a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., using an Internet service provider). business to connect via the Internet).
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。It should be noted that although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. Actually, according to the embodiment of the present application, the features and functions of two or more modules or units described above may be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided to be embodied by a plurality of modules or units.
此外,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。In addition, although the steps of the methods of the present application are described in a specific order in the drawings, this does not require or imply that the steps must be performed in that specific order, or that all illustrated steps must be performed to achieve the desired result. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step for execution, and/or one step may be decomposed into multiple steps for execution, etc.
通过以上实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施方式的方法。Through the description of the above embodiments, those skilled in the art can easily understand that the example embodiments described here can be implemented by software, or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of the present application can be embodied in the form of software products, which can be stored in a non-volatile storage medium (which can be CD-ROM, U disk, mobile hard disk, etc.) or on the network , including several instructions to make a computing device (which may be a personal computer, a server, a mobile terminal, or a network device, etc.) execute the method according to the embodiment of the present application.
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的权利要求指出。Other embodiments of the present application will be readily apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any modification, use or adaptation of the application, these modifications, uses or adaptations follow the general principles of the application and include common knowledge or conventional technical means in the technical field not disclosed in the application . The specification and examples are to be considered exemplary only, with a true scope and spirit of the application indicated by the appended claims.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211039401.9ACN115460292A (en) | 2022-08-29 | 2022-08-29 | Audio and video stream forwarding method, system, device, equipment and medium |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211039401.9ACN115460292A (en) | 2022-08-29 | 2022-08-29 | Audio and video stream forwarding method, system, device, equipment and medium |
| Publication Number | Publication Date |
|---|---|
| CN115460292Atrue CN115460292A (en) | 2022-12-09 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211039401.9APendingCN115460292A (en) | 2022-08-29 | 2022-08-29 | Audio and video stream forwarding method, system, device, equipment and medium |
| Country | Link |
|---|---|
| CN (1) | CN115460292A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113383531A (en)* | 2019-12-25 | 2021-09-10 | 华为技术有限公司 | Forwarding equipment, network card and message forwarding method |
| CN114201421A (en)* | 2022-02-17 | 2022-03-18 | 苏州浪潮智能科技有限公司 | A data stream processing method, storage control node and readable storage medium |
| US20220114032A1 (en)* | 2021-12-22 | 2022-04-14 | Francesc Guim Bernat | Infrastructure managed workload distribution |
| CN114422367A (en)* | 2022-03-28 | 2022-04-29 | 阿里云计算有限公司 | Message processing method and device |
| CN114826748A (en)* | 2022-04-29 | 2022-07-29 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | Audio and video stream data encryption method and device based on RTP, UDP and IP protocols |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113383531A (en)* | 2019-12-25 | 2021-09-10 | 华为技术有限公司 | Forwarding equipment, network card and message forwarding method |
| US20220114032A1 (en)* | 2021-12-22 | 2022-04-14 | Francesc Guim Bernat | Infrastructure managed workload distribution |
| CN114201421A (en)* | 2022-02-17 | 2022-03-18 | 苏州浪潮智能科技有限公司 | A data stream processing method, storage control node and readable storage medium |
| CN114422367A (en)* | 2022-03-28 | 2022-04-29 | 阿里云计算有限公司 | Message processing method and device |
| CN114826748A (en)* | 2022-04-29 | 2022-07-29 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | Audio and video stream data encryption method and device based on RTP, UDP and IP protocols |
| Title |
|---|
| 鄢贵海等: "专用数据处理器(DPU)白皮书", pages 2 - 4, Retrieved from the Internet <URL:https://www.163.com/dy/article/GNLND9DC051180F7.html>* |
| Publication | Publication Date | Title |
|---|---|---|
| CN104038401B (en) | Method and system for interoperability for distributed overlay virtual environments | |
| CN104052789B (en) | Method and system for the load balance of virtual networking system | |
| CN103843302B (en) | Network Adapter Hardware State Transition Discovery in a Stateful Environment | |
| US9417811B2 (en) | Efficient inline data de-duplication on a storage system | |
| US9148426B2 (en) | Securely identifying host systems | |
| US8819242B2 (en) | Method and system to transfer data utilizing cut-through sockets | |
| CN114697391B (en) | Data processing method, device, equipment and storage medium | |
| CN110545230B (en) | Method and device for forwarding VXLAN message | |
| CN114518969A (en) | Inter-process communication method, system, storage medium and computer device | |
| CN114116184B (en) | Data processing method and device in virtual scene, equipment and medium | |
| CN118784504B (en) | Deep data packet detection system, method, equipment and medium | |
| CN116668564A (en) | Multi-mode network message processing method, device, equipment and readable storage medium | |
| CN103927216A (en) | Method And System For Managing Virtual Devices | |
| WO2023093016A1 (en) | Cloud code development system, method, and apparatus, device, and storage medium | |
| CN118612272A (en) | Vehicle-mounted image transmission method, device, electronic device and storage medium | |
| CN113765972A (en) | Data request response method, apparatus, system, server and storage medium | |
| WO2025016039A1 (en) | Data transmission method and apparatus, and related device | |
| CN117194068A (en) | Cross-process data transmission method, system, equipment and storage medium | |
| CN115460292A (en) | Audio and video stream forwarding method, system, device, equipment and medium | |
| CN117729006A (en) | Routing risk analysis method, device, electronic equipment and media based on VPC network | |
| CN114726657B (en) | Interrupt management and data receiving and transmitting management method and device and intelligent network card | |
| CN108494748A (en) | A kind of communication means, device and storage medium | |
| CN114979128A (en) | Cross-region communication method and device and electronic equipment | |
| CN112769629A (en) | Bandwidth allocation method and device, electronic equipment and storage medium | |
| CN110769027A (en) | Service request processing method, device, computer equipment and storage medium |
| 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 |