一种视频数据处理方法及视联网缓存服务器与流程

文档序号:16202540发布日期:2018-12-08 06:45阅读:449来源:国知局
一种视频数据处理方法及视联网缓存服务器与流程

本发明实施例涉及通信领域,尤其涉及一种视频数据处理方法,以及,一种视联网缓存服务器。

背景技术

目前,随着网络科技的快速发展,视频会议、视频教学等双向通信在用户的生活、工作、学习等方面广泛普及,视联网技术越来越多地应用在各个技术领域。

在利用视联网技术进行安防监控的应用场景中,需要处于互联网一侧的ipc(internetprotocolcamra,网络摄像机)采集视频数据,并基于tcp/ip(transmissioncontrolprotocol/internetprotocol,传输控制协议/因特网互联协议)协议发出ip格式的视频数据,一个中间层将视频数据转换成视联网数据格式的视频数据,并基于视联网协议发送视频数据至视联网终端。在该转换过程中,中间层需要将大量的视频数据进行本地缓存。

然而,互联网的网络情况并不稳定。例如,互联网经常会发生断网、抖动等情况,导致没有视频数据发送至视联网终端,视联网终端显示的视频会丢帧;待互联网恢复正常时,互联网可能会短时间内有大量视频数据流进中间层,如果中间层同时间发出大量的视频数据,视联网终端无法短时间内及时处理大量视频数据,导致显示视频卡顿等问题。

因此,现有技术的视频数据处理方法存在着在网络不稳定的情况下出现视频丢帧、卡顿的问题。



技术实现要素:

本发明提供了一种视频数据处理方法以及一种视联网缓存服务器,以解决现有技术的视频数据处理方法存在着在网络不稳定的情况下出现视频丢帧、卡顿的问题。

为了解决上述技术问题,本发明实施例提供了一种视频数据处理方法,应用于视联网缓存服务器,所述视联网缓存服务器缓存有n帧视频数据,所述视频数据具有数据量,所述方法包括:

获取所述n帧视频数据的数据量总和;

当所述n帧视频数据的数据量总和大于第一预设阈值,从所述n帧视频数据中提取m帧视频数据;其中,0<m<n;

发送所述m帧视频数据至视联网终端。

可选地,所述视频数据具有对应的缓存时间,所述方法还包括:

在所述n帧视频数据中获取初始帧视频数据;

获取所述初始帧视频数据对应的初始缓存时间;

若所述初始缓存时间与当前时间的差值大于第二预设阈值、且所述n帧视频数据的数据量总和小于第三预设阈值,发送所述n帧视频数据至所述视联网终端。

可选地,所述视频数据具有对应的解码帧率,在所述从所述n帧视频数据中提取m帧视频数据的步骤之前,所述方法还包括:

根据所述视频数据的解码帧率确定数值m;

所述从所述n帧视频数据中提取m帧视频数据的步骤,包括:

按照缓存时间对所述n帧视频数据进行排序;

提取排序前m的视频数据,作为所述m帧视频数据。

可选地,所述发送所述m帧视频数据至视联网终端的步骤,包括:

针对所述m帧视频数据分别添加视联网包头信息;

将添加有视联网包头信息的m帧视频数据发送至所述视联网终端。

可选地,所述视联网缓存服务器包括中间缓存层,所述方法还包括:

接收至少一帧视频数据;

缓存所述至少一帧视频数据在所述中间缓存层。

为了解决上述技术问题,本发明实施例提供了一种视联网缓存服务器,所述视联网缓存服务器缓存有n帧视频数据,所述视频数据具有数据量,所述视联网缓存服务器包括:

数据量总和获取模块,用于获取所述n帧视频数据的数据量总和;

视频数据提取模块,用于当所述n帧视频数据的数据量总和大于第一预设阈值,从所述n帧视频数据中提取m帧视频数据;其中,0<m<n;

第一视频数据发送模块,用于发送所述m帧视频数据至视联网终端。

可选地,所述视频数据具有对应的缓存时间,所述视联网缓存服务器还包括:

初始帧视频数据获取模块,用于在所述n帧视频数据中获取初始帧视频数据;

初始缓存时间获取模块,用于获取所述初始帧视频数据对应的初始缓存时间;

第二视频数据发送模块,用于若所述初始缓存时间与当前时间的差值大于第二预设阈值、且所述n帧视频数据的数据量总和小于第三预设阈值,发送所述n帧视频数据至所述视联网终端。

可选地,所述视频数据具有对应的解码帧率,所述视联网缓存服务器还包括:

数值m确定模块,用于根据所述视频数据的解码帧率确定数值m;

所述视频数据提取模块,包括:

数据排序子模块,用于按照缓存时间对所述n帧视频数据进行排序;

m帧视频数据提取子模块,用于提取排序前m的视频数据,作为所述m帧视频数据。

可选地,所述第一视频数据发送模块,包括:

视联网包头信息添加子模块,用于针对所述m帧视频数据分别添加视联网包头信息;

视频数据发送子模块,用于将添加有视联网包头信息的m帧视频数据发送至所述视联网终端。

可选地,所述视联网缓存服务器包括中间缓存层,所述视联网缓存服务器还包括:

视频数据接收模块,用于接收至少一帧视频数据;

视频数据缓存模块,用于缓存所述至少一帧视频数据在所述中间缓存层。

根据本发明实施例,通过在缓存的n帧视频数据的数据量总和大于预设阈值时,从n帧视频数据中提取出m帧视频数据,并发送m帧视频数据至视联网终端。即使在网络不稳定的情况下,避免出现没有视频数据发送至视联网终端的情况,同时又避免了短时间内发送大量视频数据至视联网终端的情况,因此,通过该匀包机制,解决了现有技术的视频数据处理方法存在着在网络不稳定的情况下出现视频丢帧、卡顿的问题。

附图说明

图1是本发明实施例一提供的视频数据处理方法的流程图;

图2是本发明实施例二提供的视频数据处理方法的流程图;

图3是本发明实施例三提供的视联网缓存服务器的结构框图;

图4是本发明实施例四提供的视联网缓存服务器的结构框图;

图5是本发明实施例的一种视频数据交互系统的结构示意图;

图6是本发明的一种视联网的组网示意图;

图7是本发明的一种节点服务器的硬件结构示意图;

图8是本发明的一种接入交换机的硬件结构示意图;

图9是本发明的一种以太网协转网关的硬件结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

图1是本发明实施例一提供的视频数据处理方法的流程图,应用于视联网缓存服务器,所述视联网缓存服务器缓存有n帧视频数据,所述视频数据具有数据量,所述方法可以具体包括以下步骤:

步骤110,获取所述n帧视频数据的数据量总和。

需要说明的是,本发明实施例提供的视频数据处理方法,可以应用在视联网缓存服务器上。视联网缓存服务器可以用于将处于互联网的ipc所采集的ip格式视频数据,转换成视联网格式视频数据,并发送至视联网中的视联网终端。

其中,视联网缓存服务器可以接收到互联网ipc采集到的n帧视频数据,并将其缓存在中间缓存层。

具体实现中,视联网缓存服务器可以统计n帧视频数据的数据量之和,由此,视联网缓存服务器获取到n帧视频数据的数据量总和。

步骤120,当所述n帧视频数据的数据量总和大于第一预设阈值,从所述n帧视频数据中提取m帧视频数据;其中,0<m<n。

具体实现中,视联网缓存服务器可以将n帧视频数据的数据量总和与第一预设阈值进行比较。

本领域技术人员可以根据实际情况,设定该第一预设阈值的具体数值,本发明实施例对此不作限制。例如,针对码率为2m/秒的视频流,第一预设阈值可以设定为1m,即缓存0.5秒的视频数据。

当视联网缓存服务器缓存的n帧视频数据的数据量总大于第一预设阈值时,则可以对n帧视频数据按照匀包机制进行发送。更具体地,可以从n帧视频数据中提取出m帧视频数据,其中,m小于n。

步骤130,发送所述m帧视频数据至视联网终端。

具体实现中,当提取出m帧视频数据之后,可以将该m帧视频数据发送至视联网终端。在实际应用中,如果m帧视频数据为ip格式的视频数据,可以将其转换成视联网格式的视频数据后再发出。

需要补充说明的是,在提取并发送m帧视频数据时,可以根据帧率或码率确定提取、发送的m帧视频数据。例如,如果视频流的帧率为30帧/秒,则可以每秒提取并发送30帧视频数据至视联网终端。又例如,如果视频流的码率为2m/秒,则可以每秒提取并发送2m的视频数据至视联网终端。在实际应用中,通常是按照视频流的帧率进行提取发送,因为视联网终端的视频解码器通常是按照完整的多帧视频数据进行解码的。

根据本发明实施例,通过在缓存的n帧视频数据的数据量总和大于预设阈值时,从n帧视频数据中提取出m帧视频数据,并发送m帧视频数据至视联网终端。即使在网络不稳定的情况下,避免出现没有视频数据发送至视联网终端的情况,同时又避免了短时间内发送大量视频数据至视联网终端的情况,因此,通过该匀包机制,解决了现有技术的视频数据处理方法存在着在网络不稳定的情况下出现视频丢帧、卡顿的问题。

实施例二

图2是本发明实施例二提供的视频数据处理方法的流程图,应用于视联网缓存服务器,所述视联网缓存服务器缓存有n帧视频数据,所述视频数据具有数据量,所述方法可以具体包括以下步骤:

步骤210,接收至少一帧视频数据;所述视联网缓存服务器包括中间缓存层。

具体实现中,处于互联网的网络摄像机可以采集视频数据,并基于互联网协议发送一帧或多帧视频数据至视联网缓存服务器。由此,视联网缓存服务器可以从网络摄像机接收到视频数据。

步骤220,缓存所述至少一帧视频数据在所述中间缓存层。

视联网缓存服务器可以设置有中间缓存层,视联网缓存服务器可以将接收到的视频数据缓存在中间缓存层,以便针对中间缓存层缓存的多帧视频数据统计数据量总和。

步骤230,获取所述n帧视频数据的数据量总和;

可选地,所述视频数据具有对应的缓存时间,在所述步骤230之后,所述方法可以还包括:

在所述n帧视频数据中获取初始帧视频数据;

获取所述初始帧视频数据对应的初始缓存时间;

若所述初始缓存时间与当前时间的差值大于第二预设阈值、且所述n帧视频数据的数据量总和小于第三预设阈值,发送所述n帧视频数据至所述视联网终端。

在具体实现中,视联网缓存服务器可以记录各帧视频数据的缓存时间,根据视频数据的缓存时间,视联网缓存服务器可以确定当前缓存的n帧视频数据中的缓存时间最早的视频数据,作为初始帧视频数据。

针对初始帧视频数据,可以获取到其缓存时间,作为初始缓存时间。然后,计算初始缓存时间与当前时间的差值。此外,还可以比较n帧视频数据的数据量总和与第三预设阈值的大小。当初始缓存时间与当前时间的差值大于第二预设阈值,同时,n帧视频数据的数据量总和小于第三预设阈值,表明当前的互联网可能发生断网,或者,网络摄像机故障而没有发出视频数据。因此,无须等待缓存特定数据量的视频数据,而可以直接将n帧视频数据至视联网终端。

步骤240,当所述n帧视频数据的数据量总和大于第一预设阈值,从所述n帧视频数据中提取m帧视频数据;其中,0<m<n。

可选地,所述视频数据具有对应的解码帧率,在所述步骤240之前,所述方法可以还包括:

根据所述视频数据的解码帧率确定数值m;

所述步骤240,可以具体包括:

步骤241,按照缓存时间对所述n帧视频数据进行排序;

步骤242,提取排序前m的视频数据,作为所述m帧视频数据。

需要说明的是,在实际的应用场景中,视联网终端的视频解码器通常是按照完整的多帧视频数据进行解码,因此,可以根据视频数据对应的解码帧率确定数值m。例如,视频流的解码帧率为30帧/秒,因此m为30。在接收到一定数据量的n帧视频数据时,可以对n帧视频数据按照缓存时间进行排序,将排序靠前的前m帧视频数据,作为上述的m帧视频数据。将该m帧视频数据发送至视联网终端,视联网终端则可以针对完整的多帧视频数据进行解码。

步骤250,发送所述m帧视频数据至视联网终端。

可选地,所述步骤250,可以具体包括:

步骤251,针对所述m帧视频数据分别添加视联网包头信息;

步骤252,将添加有视联网包头信息的m帧视频数据发送至所述视联网终端。

具体实现中,在发送视频数据至视联网终端时,可以针对视频数据添加视联网包头信息,由此将ip格式的视频数据转换成视联网格式的视频数据,并将该视频数据通过视联网发送至视联网终端。

实施例三

图3是本发明实施例三提供的视联网缓存服务器的结构框图,所述视联网缓存服务器缓存有n帧视频数据,所述视频数据具有数据量,所述视联网缓存服务器300,可以具体包括以下模块:

数据量总和获取模块310,用于获取所述n帧视频数据的数据量总和;

视频数据提取模块320,用于当所述n帧视频数据的数据量总和大于第一预设阈值,从所述n帧视频数据中提取m帧视频数据;其中,0<m<n;

第一视频数据发送模块330,用于发送所述m帧视频数据至视联网终端。

根据本发明实施例,通过在缓存的n帧视频数据的数据量总和大于预设阈值时,从n帧视频数据中提取出m帧视频数据,并发送m帧视频数据至视联网终端。即使在网络不稳定的情况下,避免出现没有视频数据发送至视联网终端的情况,同时又避免了短时间内发送大量视频数据至视联网终端的情况,因此,通过该匀包机制,解决了现有技术的视频数据处理方法存在着在网络不稳定的情况下出现视频丢帧、卡顿的问题。

实施例四

图4是本发明实施例四提供的视联网缓存服务器的结构框图,所述视联网缓存服务器缓存有n帧视频数据,所述视频数据具有数据量,所述视联网缓存服务器400,可以具体包括以下模块:

视频数据接收模块410,用于接收至少一帧视频数据;所述视联网缓存服务器包括中间缓存层;

视频数据缓存模块420,用于缓存所述至少一帧视频数据在所述中间缓存层。

数据量总和获取模块430,用于获取所述n帧视频数据的数据量总和;

视频数据提取模块440,用于当所述n帧视频数据的数据量总和大于第一预设阈值,从所述n帧视频数据中提取m帧视频数据;其中,0<m<n;

第一视频数据发送模块450,用于发送所述m帧视频数据至视联网终端。

可选地,所述视频数据具有对应的缓存时间,所述视联网缓存服务器400,可以还包括:

初始帧视频数据获取模块,用于在所述n帧视频数据中获取初始帧视频数据;

初始缓存时间获取模块,用于获取所述初始帧视频数据对应的初始缓存时间;

第二视频数据发送模块,用于若所述初始缓存时间与当前时间的差值大于第二预设阈值、且所述n帧视频数据的数据量总和小于第三预设阈值,发送所述n帧视频数据至所述视联网终端。

可选地,所述视频数据具有对应的解码帧率,所述视联网缓存服务器400,可以还包括:

数值m确定模块,用于根据所述视频数据的解码帧率确定数值m;

所述视频数据提取模块440,可以具体包括:

数据排序子模块441,用于按照缓存时间对所述n帧视频数据进行排序;

m帧视频数据提取子模块442,用于提取排序前m的视频数据,作为所述m帧视频数据。

可选地,所述第一视频数据发送模块450,可以具体包括:

视联网包头信息添加子模块451,用于针对所述m帧视频数据分别添加视联网包头信息;

视频数据发送子模块452,用于将添加有视联网包头信息的m帧视频数据发送至所述视联网终端。

由于装置实施例所描述的处理过程,在方法实施例中已有详细说明,因此,在此不再赘述。

为了便于本领域技术人员理解本发明实施例的视频数据处理方法,以下将结合图5的具体示例进行说明。

图5是本发明实施例的一种视频数据交互系统的结构示意图。从图中可见,网络摄像机采集视频数据,并通过互联网发送至中间层,中间层将视频数据进行缓存、格式转换等处理,将转换处理后的视频数据通过视联网发送至视联网终端。

需要补充说明的是,本发明的上述实施例,可以应用于视联网的通讯网络中。视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。

视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、vod点播、电视邮件、个性录制(pvr)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。

为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:

视联网所应用的部分技术如下所述:

网络技术(networktechnology)

视联网的网络技术创新改良了传统以太网(ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组包交换(packetswitching)或网络电路交换(circuitswitching),视联网技术采用packetswitching满足streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。

交换技术(switchingtechnology)

视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载ip数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。

服务器技术(servertechnology)

视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。

储存器技术(storagetechnology)

统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级ip互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。

网络安全技术(networksecuritytechnology)

视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。

服务创新技术(serviceinnovationtechnology)

统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或pc直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。

视联网的组网如下所述:

视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。

如图6所示,视联网分为接入网和城域网两部分。

接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。

其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。

类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。

其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。

城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。

由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。

形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。

视联网设备分类

1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。

1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。

各接入网设备的具体硬件结构为:

节点服务器:

如图7所示,主要包括网络接口模块701、交换引擎模块702、cpu模块703、磁盘阵列模块704;

其中,网络接口模块701,cpu模块703、磁盘阵列模块704进来的包均进入交换引擎模块702;交换引擎模块702对进来的包进行查地址表705的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器706的队列;如果包缓存器706的队列接近满,则丢弃;交换引擎模702轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块704主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;cpu模块703主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表705(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块704的配置。

接入交换机:

如图8所示,主要包括网络接口模块(下行网络接口模块801、上行网络接口模块802)、交换引擎模块803和cpu模块804;

其中,下行网络接口模块801进来的包(上行数据)进入包检测模块805;包检测模块805检测包的目地地址(da)、源地址(sa)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块803,否则丢弃;上行网络接口模块802进来的包(下行数据)进入交换引擎模块803;cpu模块804进来的数据包进入交换引擎模块803;交换引擎模块803对进来的包进行查地址表806的操作,从而获得包的导向信息;如果进入交换引擎模块803的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器807的队列;如果该包缓存器807的队列接近满,则丢弃;如果进入交换引擎模块803的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器807的队列;如果该包缓存器807的队列接近满,则丢弃。

交换引擎模块803轮询所有包缓存器队列,在本发明实施例中分两种情形:

如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;

如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。

码率控制模块808是由cpu模块804来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。

cpu模块804主要负责与节点服务器之间的协议处理,对地址表806的配置,以及,对码率控制模块808的配置。

以太网协转网关

如图9所示,主要包括网络接口模块(下行网络接口模块901、上行网络接口模块902)、交换引擎模块903、cpu模块904、包检测模块905、码率控制模块908、地址表906、包缓存器907和mac添加模块909、mac删除模块910。

其中,下行网络接口模块901进来的数据包进入包检测模块905;包检测模块905检测数据包的以太网macda、以太网macsa、以太网lengthorframetype、视联网目地地址da、视联网源地址sa、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由mac删除模块910减去macda、macsa、lengthorframetype(2byte),并进入相应的接收缓存,否则丢弃;

下行网络接口模块901检测该端口的发送缓存,如果有包则根据包的视联网目地地址da获知对应的终端的以太网macda,添加终端的以太网macda、以太网协转网关的macsa、以太网lengthorframetype,并发送。

以太网协转网关中其他模块的功能与接入交换机类似。

终端:

主要包括网络接口模块、业务处理模块和cpu模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、cpu模块;编码板主要包括网络接口模块、视音频编码引擎模块、cpu模块;存储器主要包括网络接口模块、cpu模块和磁盘阵列模块。

1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和cpu模块;城域服务器主要包括网络接口模块、交换引擎模块和cpu模块构成。

2、视联网数据包定义

2.1接入网数据包定义

接入网的数据包主要包括以下几部分:目的地址(da)、源地址(sa)、保留字节、payload(pdu)、crc。

如下表所示,接入网的数据包主要包括以下几部分:

其中:

目的地址(da)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;

源地址(sa)也是由8个字节(byte)组成,定义与目的地址(da)相同;

保留字节由2个字节组成;

payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;

crc有4个字节组成,其计算方法遵循标准的以太网crc算法。

2.2城域网数据包定义

城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。

本说明书中标签的定义和mpls(multi-protocollabelswitch,多协议标签交换)的标签的定义类似,假设设备a和设备b之间有两个连接,那么数据包从设备a到设备b就有2个标签,数据包从设备b到设备a也有2个标签。标签分入标签、出标签,假设数据包进入设备a的标签(入标签)是0x0000,这个数据包离开设备a时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与mpls的标签分配是不同的,mpls的标签分配是交换机、服务器互相协商的结果。

如下表所示,城域网的数据包主要包括以下几部分:

即目的地址(da)、源地址(sa)、保留字节(reserved)、标签、payload(pdu)、crc。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的服务器、终端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1