首页 / 专利库 / 人工智能 / 对话代理 / 一种音视频数据的处理方法、装置及存储介质

一种音视频数据的处理方法、装置及存储介质

阅读:238发布:2020-05-11

专利汇可以提供一种音视频数据的处理方法、装置及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种音视频数据的处理方法、装置及存储介质,其中,所述方法包括:背靠背 用户代理 服务器 从配置文件中读取出多组的多个视联网终端的分组关系,为各组视联网终端配置对应的音视频 数据处理 线程,启动多个网络 访问 句柄,并利用多个网络访问句柄分别监听多组视联网终端是否收发音视频数据,在网络访问句柄监听到一组或多组视联网终端收发音视频数据时,启动对应的音视频数据处理线程,并利用启动的音视频数据处理线程在视联网终端与互联网终端之间转发音视频数据。本发明实施例提升了背靠背用户代理服务器的工作效率,最大限度发挥背靠背用户代理服务器的 硬件 处理能 力 。,下面是一种音视频数据的处理方法、装置及存储介质专利的具体信息内容。

1.一种音视频数据的处理方法,其特征在于,所述方法应用于音视频数据的处理系统,所述处理系统包括背靠背用户代理服务器、多个视联网终端和多个互联网终端,所述背靠背用户代理服务器分别与多个所述视联网终端和多个所述互联网终端通信连接;所述方法包括:
所述背靠背用户代理服务器从配置文件中读取出预先划分为多组的多个所述视联网终端的分组关系;
所述背靠背用户代理服务器为各组所述视联网终端配置对应的音视频数据处理线程;
所述背靠背用户代理服务器启动多个网络访问句柄,并利用多个所述网络访问句柄分别监听多组所述视联网终端是否收发音视频数据;
所述背靠背用户代理服务器在所述网络访问句柄监听到一组或多组所述视联网终端收发音视频数据时,启动对应的所述音视频数据处理线程,并利用启动的所述音视频数据处理线程在所述视联网终端与所述互联网终端之间转发所述音视频数据。
2.根据权利要求1所述的音视频数据的处理方法,其特征在于,所述背靠背用户代理服务器利用多个所述网络访问句柄分别监听多组所述视联网终端是否收发音视频数据的步骤,包括:
所述背靠背用户代理服务器利用多个所述网络访问句柄分别监听多组所述视联网终端是否收发对话请求指令,所述对话请求指令包含呼叫方标识信息和被叫方标识信息;
所述背靠背用户代理服务器在监听到一组或多组所述视联网终端收发所述对话请求指令时,根据所述呼叫方标识信息和所述被叫方标识信息建立呼叫方终端与被叫方终端之间的一条或多条对话连接;
所述背靠背用户代理服务器利用一个或多个所述网络访问句柄监听一条或多条所述对话连接中是否收发音视频数据。
3.根据权利要求2所述的音视频数据的处理方法,其特征在于,所述背靠背用户代理服务器在监听到一组或多组所述视联网终端收发所述对话请求指令时,根据所述呼叫方标识信息和所述被叫方标识信息建立呼叫方终端与被叫方终端之间的一条或多条对话连接的步骤,包括:
所述背靠背用户代理服务器获取多个所述视联网终端的视联网标识信息和多个所述互联网终端的互联网标识信息;
所述背靠背用户代理服务器查找到与所述呼叫方标识信息匹配的所述视联网标识信息或所述互联网标识信息,并查找到与所述被叫方标识信息匹配的所述视联网标识信息或所述互联网标识信息;
所述背靠背用户代理服务器根据查找到的所述视联网标识信息和所述互联网标识信息建立一条或多条所述对话连接。
4.根据权利要求3所述的音视频数据的处理方法,其特征在于,所述背靠背用户代理服务器利用启动的所述音视频数据处理线程在所述视联网终端与所述互联网终端之间转发所述音视频数据的步骤,包括:
所述背靠背用户代理服务器利用启动的所述音视频数据处理线程,在与所述呼叫方标识信息匹配的所述视联网标识信息对应的所述视联网终端,和与所述被叫方标识信息匹配的所述互联网标识信息对应的所述互联网终端之间转发所述音视频数据;或者,所述背靠背用户代理服务器利用启动的所述音视频数据处理线程,在与所述呼叫方标识信息匹配的所述互联网标识信息对应的所述互联网终端,和与所述被叫方标识信息匹配的所述视联网标识信息对应的所述视联网终端之间转发所述音视频数据。
5.根据权利要求3或4所述的音视频数据的处理方法,其特征在于,所述视联网标识信息为虚拟网络地址;所述互联网标识信息为实体网络地址;所述网络访问句柄为wincap句柄。
6.一种音视频数据的处理装置,其特征在于,所述装置应用于音视频数据的处理系统中的背靠背用户代理服务器,所述处理系统还包括多个视联网终端和多个互联网终端,所述背靠背用户代理服务器分别与多个所述视联网终端和多个所述互联网终端通信连接;所述装置包括:
读取模,用于从配置文件中读取出预先划分为多组的多个所述视联网终端的分组关系;
配置模块,用于为各组所述视联网终端配置对应的音视频数据处理线程;
监听模块,用于启动多个网络访问句柄,并利用多个所述网络访问句柄分别监听多组所述视联网终端是否收发音视频数据;
处理模块,用于在所述网络访问句柄监听到一组或多组所述视联网终端收发音视频数据时,启动对应的所述音视频数据处理线程,并利用启动的所述音视频数据处理线程在所述视联网终端与所述互联网终端之间转发所述音视频数据。
7.根据权利要求6所述的音视频数据的处理装置,其特征在于,所述监听模块,包括:
指令监听模块,用于利用多个所述网络访问句柄分别监听多组所述视联网终端是否收发对话请求指令,所述对话请求指令包含呼叫方标识信息和被叫方标识信息;
对话建立模块,用于在监听到一组或多组所述视联网终端收发所述对话请求指令时,根据所述呼叫方标识信息和所述被叫方标识信息建立呼叫方终端与被叫方终端之间的一条或多条对话连接;
音视频监听模块,用于利用一个或多个所述网络访问句柄监听一条或多条所述对话连接中是否收发音视频数据。
8.根据权利要求7所述的音视频数据的处理装置,其特征在于,所述对话建立模块,用于获取多个所述视联网终端的视联网标识信息和多个所述互联网终端的互联网标识信息;
查找到与所述呼叫方标识信息匹配的所述视联网标识信息或所述互联网标识信息,并查找到与所述被叫方标识信息匹配的所述视联网标识信息或所述互联网标识信息;根据查找到的所述视联网标识信息和所述互联网标识信息建立一条或多条所述对话连接;
所述处理模块,用于利用启动的所述音视频数据处理线程,在与所述呼叫方标识信息匹配的所述视联网标识信息对应的所述视联网终端,和与所述被叫方标识信息匹配的所述互联网标识信息对应的所述互联网终端之间转发所述音视频数据;或者,利用启动的所述音视频数据处理线程,在与所述呼叫方标识信息匹配的所述互联网标识信息对应的所述互联网终端,和与所述被叫方标识信息匹配的所述视联网标识信息对应的所述视联网终端之间转发所述音视频数据;
所述视联网标识信息为虚拟网络地址;所述互联网标识信息为实体网络地址;所述网络访问句柄为wincap句柄。
9.一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如权利要求1至5所述的一个或多个的音视频数据的处理方法。
10.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1至5任一项所述的音视频数据的处理方法。

说明书全文

一种音视频数据的处理方法、装置及存储介质

技术领域

[0001] 本发明涉及音视频处理技术领域,特别是涉及一种音视频数据的处理方法、装置及一种计算机可读存储介质。

背景技术

[0002] 视联网是一种基于以太网硬件的用于高速传输高清视频及专用协议的专用网络,视联网是以太网的更高级形态,是一个实时网络。视联网终端与互联网终端进行可视通话等业务时,需要通过背靠背用户代理将视联网终端和互联网终端串联起来。
[0003] 视联网技术应用越来越广泛,接入到背靠背用户代理的视联网终端数量也越来越多,对背靠背用户代理的处理能也提出了更高的要求。目前,背靠背用户代理利用单线程处理视联网终端与互联网终端之间的音视频数据转发等,当数量较多的视联网终端和互联网终端同时进行可视通话等业务时,背靠背用户代理的工作效率很低,且无法充分发挥背靠背用户代理的硬件处理能力。

发明内容

[0004] 鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种音视频数据的处理方法、装置以及一种计算机可读存储介质。
[0005] 为了解决上述问题,本发明实施例公开了一种音视频数据的处理方法,所述方法应用于音视频数据的处理系统,所述处理系统包括背靠背用户代理服务器、多个视联网终端和多个互联网终端,所述背靠背用户代理服务器分别与多个所述视联网终端和多个所述互联网终端通信连接;所述方法包括:所述背靠背用户代理服务器从配置文件中读取出预先划分为多组的多个所述视联网终端的分组关系;所述背靠背用户代理服务器为各组所述视联网终端配置对应的音视频数据处理线程;所述背靠背用户代理服务器启动多个网络访问句柄,并利用多个所述网络访问句柄分别监听多组所述视联网终端是否收发音视频数据;所述背靠背用户代理服务器在所述网络访问句柄监听到一组或多组所述视联网终端收发音视频数据时,启动对应的所述音视频数据处理线程,并利用启动的所述音视频数据处理线程在所述视联网终端与所述互联网终端之间转发所述音视频数据。
[0006] 可选地,所述背靠背用户代理服务器利用多个所述网络访问句柄分别监听多组所述视联网终端是否收发音视频数据的步骤,包括:所述背靠背用户代理服务器利用多个所述网络访问句柄分别监听多组所述视联网终端是否收发对话请求指令,所述对话请求指令包含呼叫方标识信息和被叫方标识信息;所述背靠背用户代理服务器在监听到一组或多组所述视联网终端收发所述对话请求指令时,根据所述呼叫方标识信息和所述被叫方标识信息建立呼叫方终端与被叫方终端之间的一条或多条对话连接;所述背靠背用户代理服务器利用一个或多个所述网络访问句柄监听一条或多条所述对话连接中是否收发音视频数据。
[0007] 可选地,所述背靠背用户代理服务器在监听到一组或多组所述视联网终端收发所述对话请求指令时,根据所述呼叫方标识信息和所述被叫方标识信息建立呼叫方终端与被叫方终端之间的一条或多条对话连接的步骤,包括:所述背靠背用户代理服务器获取多个所述视联网终端的视联网标识信息和多个所述互联网终端的互联网标识信息;所述背靠背用户代理服务器查找到与所述呼叫方标识信息匹配的所述视联网标识信息或所述互联网标识信息,并查找到与所述被叫方标识信息匹配的所述视联网标识信息或所述互联网标识信息;所述背靠背用户代理服务器根据查找到的所述视联网标识信息和所述互联网标识信息建立一条或多条所述对话连接。
[0008] 可选地,所述背靠背用户代理服务器利用启动的所述音视频数据处理线程在所述视联网终端与所述互联网终端之间转发所述音视频数据的步骤,包括:所述背靠背用户代理服务器利用启动的所述音视频数据处理线程,在与所述呼叫方标识信息匹配的所述视联网标识信息对应的所述视联网终端,和与所述被叫方标识信息匹配的所述互联网标识信息对应的所述互联网终端之间转发所述音视频数据;或者,所述背靠背用户代理服务器利用启动的所述音视频数据处理线程,在与所述呼叫方标识信息匹配的所述互联网标识信息对应的所述互联网终端,和与所述被叫方标识信息匹配的所述视联网标识信息对应的所述视联网终端之间转发所述音视频数据。
[0009] 可选地,所述视联网标识信息为虚拟网络地址;所述互联网标识信息为实体网络地址;所述网络访问句柄为wincap句柄。
[0010] 本发明实施例还公开了一种音视频数据的处理装置,所述装置应用于音视频数据的处理系统中的背靠背用户代理服务器,所述处理系统还包括多个视联网终端和多个互联网终端,所述背靠背用户代理服务器分别与多个所述视联网终端和多个所述互联网终端通信连接;所述装置包括:读取模,用于从配置文件中读取出预先划分为多组的多个所述视联网终端的分组关系;配置模块,用于为各组所述视联网终端配置对应的音视频数据处理线程;监听模块,用于启动多个网络访问句柄,并利用多个所述网络访问句柄分别监听多组所述视联网终端是否收发音视频数据;处理模块,用于在所述网络访问句柄监听到一组或多组所述视联网终端收发音视频数据时,启动对应的所述音视频数据处理线程,并利用启动的所述音视频数据处理线程在所述视联网终端与所述互联网终端之间转发所述音视频数据。
[0011] 可选地,所述监听模块,包括:指令监听模块,用于利用多个所述网络访问句柄分别监听多组所述视联网终端是否收发对话请求指令,所述对话请求指令包含呼叫方标识信息和被叫方标识信息;对话建立模块,用于在监听到一组或多组所述视联网终端收发所述对话请求指令时,根据所述呼叫方标识信息和所述被叫方标识信息建立呼叫方终端与被叫方终端之间的一条或多条对话连接;音视频监听模块,用于利用一个或多个所述网络访问句柄监听一条或多条所述对话连接中是否收发音视频数据。
[0012] 可选地,所述对话建立模块,用于获取多个所述视联网终端的视联网标识信息和多个所述互联网终端的互联网标识信息;查找到与所述呼叫方标识信息匹配的所述视联网标识信息或所述互联网标识信息,并查找到与所述被叫方标识信息匹配的所述视联网标识信息或所述互联网标识信息;根据查找到的所述视联网标识信息和所述互联网标识信息建立一条或多条所述对话连接;所述处理模块,用于利用启动的所述音视频数据处理线程,在与所述呼叫方标识信息匹配的所述视联网标识信息对应的所述视联网终端,和与所述被叫方标识信息匹配的所述互联网标识信息对应的所述互联网终端之间转发所述音视频数据;或者,利用启动的所述音视频数据处理线程,在与所述呼叫方标识信息匹配的所述互联网标识信息对应的所述互联网终端,和与所述被叫方标识信息匹配的所述视联网标识信息对应的所述视联网终端之间转发所述音视频数据;所述视联网标识信息为虚拟网络地址;所述互联网标识信息为实体网络地址;所述网络访问句柄为wincap句柄。
[0013] 本发明实施例还公开了一种装置,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本发明实施例所述的一个或多个的音视频数据的处理方法。
[0014] 本发明实施例还公开了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的音视频数据的处理方法。
[0015] 本发明实施例包括以下优点:
[0016] 本发明实施例提供的音视频数据的处理方案可以应用于音视频数据的处理系统中,该处理系统可以包括背靠背用户代理服务器、多个视联网终端和多个互联网终端,背靠背用户代理服务器可以分别与多个视联网终端和多个互联网终端通信连接。视联网终端与互联网终端之间可以通过背靠背用户代理服务器进行音视频数据的转发,以实现可视通话等业务。
[0017] 在本发明实施例中,背靠背用户代理服务器的配置文件中存储有预先划分的多组视联网终端的分组关系,每组视联网终端的数量可以相同也可以不相同。背靠背用户代理服务器可以为每组视联网终端配置对应的音视频数据处理线程,配置文件中存储有几组视联网终端,背靠背用户代理就配置几个音视频数据处理线程。背靠背用户代理服务器启动多个网络访问句柄,并利用网络访问句柄监听多组视联网终端是否收发音视频数据。当多组视联网终端中存在一组或几组视联网终端收发音视频数据时,背靠背用户代理服务器启动对应的音视频数据处理线程,并利用启动的音视频数据处理线程在视联网终端与互联网终端之间转发音视频数据。本发明实施例将连接到背靠背用户代理服务器的视联网终端划分为多组,并为每组视联网终端配置一个音视频数据处理线程。当利用网络访问句柄监听到某一组或某些组的视联网终端收发音视频数据时,启动与该一组或该些组对应的音视频数据处理线程,进而利用音视频数据处理线程在视联网终端和互联网终端之间转发音视频数据。一方面,将多个视联网终端划分为多组。另一方面,为每组视联网终端配置对应的音视频数据处理线程。当多组视联网终端与互联网终端同时进行可视通话等业务时,启动多个音视频数据处理线程,同时转发音视频数据,提升了背靠背用户代理服务器的工作效率,最大限度发挥背靠背用户代理服务器的硬件处理能力。附图说明
[0018] 图1是本发明的一种视联网的组网示意图;
[0019] 图2是本发明的一种节点服务器的硬件结构示意图;
[0020] 图3是本发明的一种接入交换机的硬件结构示意图;
[0021] 图4是本发明的一种以太网协转网关的硬件结构示意图;
[0022] 图5是本发明实施例的一种音视频数据的处理方法的步骤流程图
[0023] 图6是本发明实施例的一种可视通话方法的设计原理图;
[0024] 图7是本发明实施例的一种音视频数据的处理装置的结构框图

具体实施方式

[0025] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0026] 视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
[0027] 视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
[0028] 为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
[0029] 视联网所应用的部分技术如下所述:
[0030] 网络技术(Network Technology)
[0031] 视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大第一视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(Circuit Switching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
[0032] 交换技术(Switching Technology)
[0033] 视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
[0034] 服务器技术(Server Technology)
[0035] 视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
[0036] 储存器技术(Storage Technology)
[0037] 统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
[0038] 网络安全技术(Network Security Technology)
[0039] 视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
[0040] 服务创新技术(Service Innovation Technology)
[0041] 统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
[0042] 视联网的组网如下所述:
[0043] 视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
[0044] 如图1所示,视联网分为接入网和城域网两部分。
[0045] 接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
[0046] 其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
[0047] 类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
[0048] 其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
[0049] 城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
[0050] 由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
[0051] 形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
[0052] 视联网设备分类
[0053] 1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网协转网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
[0054] 1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网协转网关),终端(包括各种机顶盒,编码板,存储器等)。
[0055] 各接入网设备的具体硬件结构为:
[0056] 节点服务器:
[0057] 如图2所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
[0058] 其中,网络接口模块201、CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模块202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
[0059] 接入交换机:
[0060] 如图3所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
[0061] 其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块304进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
[0062] 交换引擎模块303轮询所有包缓存器队列,可以包括两种情形:
[0063] 如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
[0064] 如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
[0065] 码率控制模块308是由CPU模块304来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
[0066] CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
[0067] 以太网协转网关:
[0068] 如图4所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
[0069] 其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
[0070] 下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MAC SA、以太网length or frame type,并发送。
[0071] 以太网协转网关中其他模块的功能与接入交换机类似。
[0072] 终端:
[0073] 主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
[0074] 1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
[0075] 2、视联网数据包定义
[0076] 2.1接入网数据包定义
[0077] 接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
[0078] 如下表所示,接入网的数据包主要包括以下几部分:
[0079] DA SA Reserved Payload CRC
[0080] 其中:
[0081] 目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
[0082] 源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
[0083] 保留字节由2个字节组成;
[0084] payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
[0085] CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法
[0086] 2.2城域网数据包定义
[0087] 城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
[0088] 本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
[0089] 如下表所示,城域网的数据包主要包括以下几部分:
[0090]DA SA Reserved 标签 Payload CRC
[0091] 即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
[0092] 参考图5,示出了本发明实施例的一种音视频数据的处理方法的步骤流程图,该方法可以应用于音视频数据的处理系统中,在实际应用中,音视频数据的处理系统可以为视频会议系统、可视通话系统等。音视频数据的处理系统可以包括背靠背用户代理服务器、多个视联网终端和多个互联网终端,其中,背靠背用户代理服务器可以分别与多个视联网终端和多个互联网终端通信连接。多个视联网终端与多个互联网终端之间可以通过背靠背用户代理服务器转发音视频数据。
[0093] 本发明实施例提供的一种音视频数据的处理方法具体可以包括如下步骤:
[0094] 步骤501,背靠背用户代理服务器从配置文件中读取出预先划分为多组的多个视联网终端的分组关系。
[0095] 背靠背用户代理服务器与用户代理服务器的相同点是,均可以为其他终端或服务器提供请求的转发服务。背靠背用户代理服务器与用户代理服务器的不同点是,背靠背用户代理服务器可以维持对话状态,并且参与已经建立的对话中的每一个请求。
[0096] 在本发明的实施例中,背靠背用户代理服务器的配置文件中可以存储有与背靠背用户代理服务器通信连接的多个视联网终端的分组关系,每组视联网终端的数量可以相同也可以不相同,通常,每组视联网终端的数量不超过5个。例如,背靠背用户代理服务器连接有10个视联网终端,可以对这10个视联网终端随机分为两组,每组5个视联网终端。配置文件中可以存储这两组视联网终端的分组关系。在实际应用中,配置文件中存储的分组关系中,除了包含各组所包含的视联网终端之外,还可以包括视联网终端的相关信息等,如名称、编号、位置、配置、标识信息等等。
[0097] 步骤502,背靠背用户代理服务器为各组视联网终端配置对应的音视频数据处理线程。
[0098] 在本发明的实施例中,音视频数据处理线程可以用于转发来自视联网终端的音视频数据至互联网终端,也可以用于转发来自互联网终端的音视频数据至视联网终端。在实际应用中,若视联网终端与互联网终端之间进行可视通话等业务,则音视频数据处理线程可以在视联网终端和互联网终端之间转发可视通话过程中的音视频数据。
[0099] 本发明实施例中的背靠背用户代理服务器可以为每组视联网终端配置一个音视频数据处理线程,也就是说,存在几组视联网终端即可配置几个音视频数据处理线程。每组视联网终端与背靠背用户代理服务器为其配置的音视频数据处理线程具有一一对应关系。
[0100] 步骤503,背靠背用户代理服务器启动多个网络访问句柄,并利用多个网络访问句柄分别监听多组视联网终端是否收发音视频数据。
[0101] 在本发明实施例中,背靠背用户代理服务器可以利用网络访问句柄对每组视联网终端进行监听,具体可以监听每组视联网终端是否收发音视频数据。在实际应用中,网络访问句柄可以为wincap句柄,wincap为一个免费,公共的网络访问系统,其具有访问网络底层的能力。句柄是一种特殊的智能指针。当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。
[0102] 本发明实施例中的背靠背用户代理服务器可以为每组视联网终端启动一个网络访问句柄。也就是说,存在几组视联网终端即可启动几个网络访问句柄。每组视联网终端与背靠背用户代理服务器为其启动的网络访问句柄具有一一对应关系。
[0103] 在本步骤503中利用网络访问句柄监听视联网终端是否收发音视频数据时,背靠背用户代理服务器可以利用网络访问句柄分别监听多组视联网终端是否收发对话请求指令,即监听多组视联网终端是否收到对话请求指令,或监听多组视联网终端是否发送对话请求指令。其中,对话请求指令中可以包括呼叫方标识信息和被叫方标识信息等等。呼叫方标识信息可以理解为对话请求指令的呼叫方终端的标识信息,被叫方标识信息可以理解为对话请求指令的被叫方终端的标识信息。在实际应用中,呼叫方终端可以为视联网终端,也可以为互联网终端,被叫方终端可以为视联网终端,也可以为互联网终端。在本发明的实施例中,仅以呼叫方终端为视联网终端,被叫方终端为互联网终端,或者,呼叫方终端为互联网终端,被叫方终端为视联网终端为例进行说明,也就是说,对话请求指令在视联网终端与互联网终端进行传输,目的在于建立视联网终端与互联网终端之间的对话,进而在视联网终端与互联网终端之间传输音视频数据。
[0104] 背靠背用户代理服务器在监听到一组或多组视联网终端收发对话请求指令时,可以根据对话请求指令中的呼叫方标识信息和被叫方标识信息建立呼叫方终端与被叫方终端之间的一条或多条对话连接。进而,利用一个或多个网络访问句柄监听一条或多条对话连接中是否收发音视频数据。
[0105] 背靠背用户代理服务器在建立呼叫方终端与被叫方终端之间的对话连接时,可以获取连接的多个视联网终端的视联网标识信息和连接的多个互联网终端的互联网标识信息,从多个视联网标识信息和多个互联网标识信息中查询得到与呼叫方标识信息匹配的视联网标识信息或互联网标识信息,并查找到与被叫方标识信息匹配的视联网标识信息或互联网标识信息。进而根据查询到的视联网标识信息和互联网标识信息建立对话连接。
[0106] 背靠背用户代理服务器在利用网络访问句柄监听对话连接中是否收发音视频数据时,可以监听是否从呼叫方终端向被叫方终端发送音视频数据,也可以监听是否从被叫方终端向呼叫方终端发送音视频数据。
[0107] 若监听到一组或多组视联网终端接收或发送音视频数据,则可以执行步骤504;若未监听到视联网终端接收或发送音视频数据,则可以循环执行步骤503。
[0108] 步骤504,背靠背用户代理服务器,启动对应的音视频数据处理线程,并利用启动的音视频数据处理线程在视联网终端与互联网终端之间转发音视频数据。
[0109] 在实际应用中,背靠背用户代理服务器利用启动的音视频数据处理线程,在与呼叫方标识信息匹配的视联网标识信息对应的视联网终端,和与被叫方标识信息匹配的互联网标识信息对应的互联网终端之间转发音视频数据;或者,背靠背用户代理服务器利用启动的音视频数据处理线程,在与呼叫方标识信息匹配的互联网标识信息对应的互联网终端,和与被叫方标识信息匹配的视联网标识信息对应的视联网终端之间转发音视频数据。
[0110] 例如,若监听到A组视联网终端接收音视频数据,则背靠背用户代理服务器启动与A组视联网终端对应的音视频数据处理线程a,利用音视频数据处理线程a在A组视联网终端与互联网终端之间转发音视频数据。具体地,利用音视频数据处理线程a在A组视联网终端中的第一视联网终端A-001与互联网终端H-101之间转发音视频数据。
[0111] 在本发明实施例中,视联网终端的视联网标识信息可以为虚拟网络地址,互联网终端的互联网标识信息可以为实体网络地址。
[0112] 基于上述关于一种音视频数据的处理方法实施例的相关说明,下面介绍一种可视通话方法,该可视通话方法可以应用于视联网和互联网中,该可视通话方法的目的在于建立视联网中的视联网终端与互联网中的互联网终端之间的可视通话。如图6所示,该可视通话方法涉及到视联网中的多个视联网终端、互联网中的多个互联网终端,以及背靠背用户代理服务器。其中,背靠背用户代理服务器可以设置于视联网中,也可以设置于互联网中。背靠背用户代理服务器可以包括三部分,分别为业务层、网络层和IP网络层。其中,业务层中可以配置多个音视频数据处理线程,网络层中可以存储每个视联网终端的虚拟网络地址,而且,多个虚拟网络地址可以划分为多组,IP网络层中可以存储每个互联网终端的实体网络地址。每个音视频数据处理线程可以对应转发一组视联网终端与一个互联网终端之间的音视频数据。该可视通话方法通过多个音视频数据处理线程同时转发多组视联网终端与互联网终端之间的音视频数据,实现多组视联网终端与互联网终端同时执行可视通话的功能。
[0113] 本发明实施例提供的音视频数据的处理方案可以应用于音视频数据的处理系统中,该处理系统可以包括背靠背用户代理服务器、多个视联网终端和多个互联网终端,背靠背用户代理服务器可以分别与多个视联网终端和多个互联网终端通信连接。视联网终端与互联网终端之间可以通过背靠背用户代理服务器进行音视频数据的转发,以实现可视通话等业务。
[0114] 在本发明实施例中,背靠背用户代理服务器的配置文件中存储有预先划分的多组视联网终端的分组关系,每组视联网终端的数量可以相同也可以不相同。背靠背用户代理服务器可以为每组视联网终端配置对应的音视频数据处理线程,配置文件中存储有几组视联网终端,背靠背用户代理就配置几个音视频数据处理线程。背靠背用户代理服务器启动多个网络访问句柄,并利用网络访问句柄监听多组视联网终端是否收发音视频数据。当多组视联网终端中存在一组或几组视联网终端收发音视频数据时,背靠背用户代理服务器启动对应的音视频数据处理线程,并利用启动的音视频数据处理线程在视联网终端与互联网终端之间转发音视频数据。本发明实施例将连接到背靠背用户代理服务器的视联网终端划分为多组,并为每组视联网终端配置一个音视频数据处理线程。当利用网络访问句柄监听到某一组或某些组的视联网终端收发音视频数据时,启动与该一组或该些组对应的音视频数据处理线程,进而利用音视频数据处理线程在视联网终端和互联网终端之间转发音视频数据。一方面,将多个视联网终端划分为多组。另一方面,为每组视联网终端配置对应的音视频数据处理线程。当多组视联网终端与互联网终端同时进行可视通话等业务时,启动多个音视频数据处理线程,同时转发音视频数据,提升了背靠背用户代理服务器的工作效率,最大限度发挥背靠背用户代理服务器的硬件处理能力。
[0115] 需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0116] 参考图7,示出了本发明实施例的一种音视频数据的处理装置的结构框图,所述装置应用于音视频数据的处理系统中的背靠背用户代理服务器,所述处理系统还包括多个视联网终端和多个互联网终端,所述背靠背用户代理服务器分别与多个所述视联网终端和多个所述互联网终端通信连接;所述装置可以包括如下模块:
[0117] 读取模块701,用于从配置文件中读取出预先划分为多组的多个所述视联网终端的分组关系;
[0118] 配置模块702,用于为各组所述视联网终端配置对应的音视频数据处理线程;
[0119] 监听模块703,用于启动多个网络访问句柄,并利用多个所述网络访问句柄分别监听多组所述视联网终端是否收发音视频数据;
[0120] 处理模块704,用于在所述网络访问句柄监听到一组或多组所述视联网终端收发音视频数据时,启动对应的所述音视频数据处理线程,并利用启动的所述音视频数据处理线程在所述视联网终端与所述互联网终端之间转发所述音视频数据。
[0121] 在本发明的一种优选实施例中,所述监听模块703,包括:
[0122] 指令监听模块7031,用于利用多个所述网络访问句柄分别监听多组所述视联网终端是否收发对话请求指令,所述对话请求指令包含呼叫方标识信息和被叫方标识信息;
[0123] 对话建立模块7032,用于在监听到一组或多组所述视联网终端收发所述对话请求指令时,根据所述呼叫方标识信息和所述被叫方标识信息建立呼叫方终端与被叫方终端之间的一条或多条对话连接;
[0124] 音视频监听模块7033,用于利用一个或多个所述网络访问句柄监听一条或多条所述对话连接中是否收发音视频数据。
[0125] 在本发明的一种优选实施例中,所述对话建立模块7032,用于获取多个所述视联网终端的视联网标识信息和多个所述互联网终端的互联网标识信息;查找到与所述呼叫方标识信息匹配的所述视联网标识信息或所述互联网标识信息,并查找到与所述被叫方标识信息匹配的所述视联网标识信息或所述互联网标识信息;根据查找到的所述视联网标识信息和所述互联网标识信息建立一条或多条所述对话连接;
[0126] 所述处理模块704,用于利用启动的所述音视频数据处理线程,在与所述呼叫方标识信息匹配的所述视联网标识信息对应的所述视联网终端,和与所述被叫方标识信息匹配的所述互联网标识信息对应的所述互联网终端之间转发所述音视频数据;或者,利用启动的所述音视频数据处理线程,在与所述呼叫方标识信息匹配的所述互联网标识信息对应的所述互联网终端,和与所述被叫方标识信息匹配的所述视联网标识信息对应的所述视联网终端之间转发所述音视频数据;
[0127] 所述视联网标识信息为虚拟网络地址;所述互联网标识信息为实体网络地址;所述网络访问句柄为wincap句柄。
[0128] 对于音视频数据的处理装置实施例而言,由于其与音视频数据的处理方法实施例基本相似,所以描述的比较简单,相关之处参见音视频数据的处理方法实施例的部分说明即可。
[0129] 本发明实施例还提供了一种装置,包括:
[0130] 一个或多个处理器;和
[0131] 其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本发明实施例所述的一个或多个的音视频数据的处理方法。
[0132] 本发明实施例还提供了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的音视频数据的处理方法。
[0133] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0134] 本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0135] 本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0136] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0137] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0138] 尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0139] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0140] 以上对本发明所提供的一种音视频数据的处理方法、装置和一种计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈