网络数据处理终端及在其中处理网络数据的方法

文档序号:8000801阅读:241来源:国知局
网络数据处理终端及在其中处理网络数据的方法
【专利摘要】本发明涉及网络数据处理终端及在其中处理网络数据的方法。所述终端包括底层网络单元、传输单元、以及通过传输单元与所述底层网络单元通信连接的中央处理单元和硬件加速单元。所述方法包括如下步骤:S1:由底层网络单元接收来自网络端的网络数据信息,所述网络数据信息包括网络数据以及指令信息;S2:根据所接收到的所述指令信息,利用传输单元将接收到的所述网络数据选择性地传输至所述中央处理单元和所述硬件加速单元中的一个,并由所述中央处理单元和所述硬件加速单元根据应用需求对所述网络数据进行相应处理。实施本发明,在提高大流量数据例如视频数据的处理能力的同时,对中央处理单元的处理能力和功耗无需过高要求,具有成本低的优势。
【专利说明】网络数据处理终端及在其中处理网络数据的方法

【技术领域】
[0001] 本发明涉及数据处理【技术领域】,特别是涉及网络数据处理终端及在其中处理网络 数据的方法。

【背景技术】
[0002] 随着移动互联网的迅速发展,移动终端用户可以突破时间和地点的束缚,有效地 将散碎的空闲时间利用起来,并且移动互联网逐步从2G网络发展至3G网络并很快将进化 至4G网络,移动互联网的网络带宽和容量将不再是移动应用的瓶颈,所以移动终端相比于 传统PC端互联网优势更加明显,许多应用业务例如视频业务从PC端向移动端迁移是必然 的趋势。由于一些数据量较大的业务例如视频业务对移动终端的运行速度有较高的要求, 而移动终端由于电池容量、散热条件等因素的限制,其中央处理器等硬件的运行速度一般 较低,在运行视频业务时难以向用户提供流畅的高清视频,也就是移动终端对于视频业务 的硬件支持与视频业务网络传输能力之间产生了不匹配,即使移动互联网不再对网络视频 业务有限制,但移动终端对于数据的处理能力却使得视频业务的质量不高。比如,目前大部 分面向移动终端的视频都是以牺牲视频清晰度为代价换取处理速度,也就是降低传输的数 据量,从而减少移动终端的运算量,使得移动终端能够流畅播放视频。这样就极大地降低了 在移动终端播放网络视频时的用户体验。类似的,这种技术问题也会存在于其他数据传输 量较大的网络应用业务中。
[0003] 本领域技术人员知悉,在应用TCP/IP协议的网络环境中,数据的传输遵循TCP/IP 协议。如图1所示,基于TCP/IP的参考模型将协议分成五个层次,它们分别是:物理层、数 据链路层,网络层、传输层和应用层。其中
[0004] 1.物理层和数据链路层
[0005] 物理层和数据链路层的协议属于底层协议,通常由网卡等底层网络硬件实现,对 于TCP/IP网络,底层网络硬件可以对从互联网接收的网络信息进行底层协议解析,获得IP 数据报。
[0006] 2.网络层
[0007] 网络层主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络 上的逻辑传输。注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多 种网络中的路由。该层有四个主要协议:网际协议(IP)、地址解析协议(ARP)、互联网组管 理协议(IGMP)和互联网控制报文协议(ICMP)。
[0008] IP协议是网际互联层最重要的协议,它提供的是一个不可靠、无连接的数据报传 递服务,对IP数据报进行网络层协议解析(IP协议解析)可以获得传输层数据包。
[0009] 3.传输层
[0010] 传输层为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的 完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP),对传 输层数据包进行协议解析,可以获得应用层数据包。
[0011] TCP协议提供的是一种可靠的、面向连接的数据传输服务;而UDP协议提供的则是 不可靠的、无连接的数据传输服务。
[0012] 4.应用层
[0013] 应用层为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等。
[0014] 如图2所示,现有的网络数据的处理模式包括:底层网络单元13(-般是网卡等硬 件)中实现物理层和数据层,在中央处理单元14中通过软件方式实现网络层、传输层和应用 层,进行网络层、传输层和应用层协议解析,完成网络数据的接收,并根据网络数据中传输 的数据调用相应的程序对其进行处理。在一些需要对较多的网络数据进行实时处理的情况 下,需要中央处理单元14在在处理协议解析获取数据的同时,还需要运行应用程序对接收 的数据进行应用处理。比如网络多媒体播放领域,终端的中央处理单元需要在处理协议解 析操作接收视频数据流的同时进行视频解码操作。
[0015] 随着网络技术日新月异的发展,传输速率达到百兆、千兆甚至速度更快地光纤网 络已经进入商用普及,可以传输的网络数据的信息量越来越大。同时为提高用户体验,许多 网络业务需要向用户提供数据量越来越大的数据,例如网络视频通话领域,由于网络带宽 的提升和激烈的竞争,有必要向用户提供清晰度更高的视频画面传输服务,但是更高的清 晰度意味着需要在终端处理同时接收和处理数据量更大的网络数据,这样就对网络终端的 处理能力提出了更高的要求。在目前的移动终端中,要实时处理来自网络上的视频数据,如 3G电话视频聊天,通过网络实时看电影,都是把接收到的数据缓存起来,再通过软件或者硬 件的方式进行解码。但是一些网络终端,特别是依靠电池为中央处理单元供电的终端例如 手机、平板电脑等,其中的中央处理单元的主要性能指标(主频,带宽等)因为受到了功耗、 成本等因素的限制,所以其计算能力通常比较低,不能同时处理大信息量的网络数据的协 议解析操作和应用处理操作。比如在移动多媒体播放领域,许多低端手机无法通过互联网 播放高清网络视频,即使能够播放,画面也不流畅,播放体验非常糟糕。这些低功耗低成本 的中央处理单元成了网络数据处理流程中的瓶颈。这样就有需要加快中央处理单元对网络 数据的处理速度。当然可以通过提高中央处理单元的主频、增加线程等方法来加快数据的 处理速度,但是这种方法也会带来较高的成本和功耗。


【发明内容】

[0016] 本发明要解决的一技术问题在于,针对现有移动终端的中央处理单元对视频等大 流量数据处理能力差的缺陷,提供一种在终端使用硬件加速处理网络数据的方法。
[0017] 本发明要解决的另一技术问题在于,针对现有移动终端的中央处理单元对视频等 大流量数据处理能力差的缺陷,提供一种使用硬件加速的网络数据处理终端。
[0018] 本发明为解决其技术问题所提供的一技术方案是:提供一种在终端中处理网络数 据的方法,所述终端包括底层网络单元、传输单元、以及通过传输单元与所述底层网络单元 通信连接的中央处理单元和硬件加速单元;所述方法包括如下步骤:
[0019] S1 :由底层网络单元接收来自网络端的网络数据信息,所述网络数据信息包括网 络数据以及指令信息;
[0020] S2:根据所接收到的所述指令信息,利用传输单元将接收到的所述网络数据选择 性地传输至所述中央处理单元和所述硬件加速单元中的一个,并由所述中央处理单元或所 述硬件加速单元根据应用需求对所述网络数据进行相应处理。
[0021] 在本发明所述的在终端中处理网络数据的方法中,
[0022] 所述指令信息包括请求信息和结束信息,
[0023] 所述步骤S2包括:
[0024] S2-1 :当接收到所述指令信息中的请求信息时,利用所述传输单元将所述网络数 据信息传输至所述硬件加速单元,利用该硬件加速单元对所述网络数据信息进行协议解 析,并对获得的网络数据进行加速处理操作;
[0025] S2-2:当接收到所述指令信息中的结束信息时,利用所述传输单元将所述网络数 据信息传输至所述中央处理单元,并利用所述中央处理单元对所述网络数据信息中的所述 网络数据进行协议解析处理操作。
[0026] 在本发明所述的在终端中处理网络数据的方法中,
[0027] 所述硬件加速单元包括由FPGA实现的硬件网络处理单元、以及通过DMA方式与所 述硬件网络处理单元通信连接的硬件解码单元,
[0028] 在所述步骤S2-1中,当所述传输单元将所述网络数据信息传输至所述硬件加速 单元时,利用该硬件网络处理单元对所述网络数据信息进行网络层和传输层处理操作,以 获取其中的包含网络数据的应用数据包,并利用所述硬件解码单元实现应用层处理对所述 应用数据包中的网络数据进行加速处理操作。
[0029] 在本发明所述的在终端中处理网络数据的方法中,所述请求信息中还包括服务端 地址信息和服务端端口号;所述硬件网络处理单元对所述网络数据信息进行网络层和传输 层处理操作还包括:判断所述网络数据信息中的源地址信息和源端口号是否与所述服务端 地址信息和服务端端口号相符,若否,丢弃该网络数据信息,若是,继续处理该网络数据信 肩、。
[0030] 在本发明所述的在终端中处理网络数据的方法中,所述网络数据是视频数据,所 述加速处理操作包括:利用所述硬件解码单元对该视频数据进行视频解码操作。
[0031] 本发明为解决其技术问题所提供的另一技术方案是:构造一种网络数据处理终 端,包括底层网络单元、以及通过传输单元与所述底层网络单元通信连接的中央处理单 元;
[0032] 所述终端还包括通过所述传输单元(15)与所述底层网络单元通信连接的硬件加 速单元;
[0033] 其中,根据来自网络端的指令信息,所述传输单元将所述底层网络单元接收到的 包含网络数据的网络数据信息选择性地传输至所述中央处理单元和所述硬件加速单元中 的一个,并由所述中央处理单元或所述硬件加速单元根据应用需求对所述网络数据进行相 应处理。
[0034] 在本发明所述的网络数据处理终端中,所述硬件加速单元包括硬件网络处理单元 和通过DMA总线与该硬件网络单元相连的硬件解码单元,
[0035] 所述指令信息包括请求信息和结束信息;且
[0036] 当接收到请求信息,所述中央处理单元响应所述请求信息停止从所述传输单元中 获取数据,所述传输单元将网络数据信息传输至所述硬件加速单元;
[0037] 所述硬件加速单元中的硬件网络处理单元对网络数据信息进行网络层和传输层 的处理获取包含网络数据的应用数据包,所述硬件解码单元通过DMA总线从该硬件网络 单元中读取所述应用数据包,并实现应用层处理对该应用数据包中的数据进行加速处理操 作;
[0038] 当接收到结束信息,硬件网络处理单元响应所述结束信息停止从传输单元获取网 络数据信息,所述传输单元将来自底层网络单元的网络数据信息传输至所述中央处理单 J Li 〇
[0039] 在本发明所述的网络数据处理终端中,
[0040] 所述硬件网络处理单元包括网络层模块、与该网络层模块相连的传输层模块以及 与该传输层模块和网络层模块相连的结束信息侦测模块;
[0041] 所述网络层模块用于通过传输单元获取来自底层网络单元的包含网络数据的网 络数据信息并对其进行网络层处理获取传输层数据段;
[0042] 所述传输层模块用于对所述传输层数据段进行传输层协议解析获取应用数据包, 并将其传输至所述硬件解码单元;
[0043] 所述结束信息侦测模块用于响应网络数据信息中的结束信息控制所述网络层模 块停止从所述传输单元获取网络数据信息,所述传输单元将网络数据信息传输至所述中央 处理单元。
[0044] 在本发明所述的网络数据处理终端中,
[0045] 所述请求信息中还包括服务端地址信息和服务端端口号;
[0046] 所述硬件网络处理单元还包括用于存储所述服务端地址信息和服务端端口号的 存储模块,以及地址比较器和端口比较器;
[0047] 所述地址比较器连接于所述网络层模块,用于提取所述网络数据信息中的源信息 并将其与所述服务端地址信息相比较,并根据比较结果控制所述网络层模块对所述网络数 据信息进行网络层协议解析或丢弃该网络数据信息;
[0048] 所述端口比较器连接于所述传输层模块用于提取所述传输层数据段中的源端口 号并将其与所述服务端端口号比较,并根据判断结果控制所述传输层模块对所述传输层数 据段进行传输层协议解析或丢弃该传输层数据段。
[0049] 在本发明所述的网络数据处理终端中,所述硬件解码单元是视频解码器。
[0050] 实施本发明,具有以下有益效果:由于在接收到指令信息时可选择中央处理单元 和硬件加速单元中的一个对接收的网络数据进行处理,使得终端能够根据应用需求选择合 适的处理单元来处理网络数据。从而在处理大流量数据例如视频数据时,由硬件加速终端 处理网络数据的速度,并且无需对数据进行缓存。在处理一般小流量数据时,使用中央处理 单元对数据进行处理,因此,不会增加对中央处理单元的负担,系统工作正常。也就是说,实 施本发明,在提高大流量数据例如视频数据的处理能力的同时,对中央处理单元处理能力 和功耗无需过高要求,因此,具有成本低的优势。

【专利附图】

【附图说明】
[0051] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0052] 图1是用于互联网的TCP/IP参考模型分层结构的示意图;
[0053] 图2是现有技术中用于处理网络数据的系统的原理框图;
[0054] 图3是本发明的网络数据处理终端的原理框图;
[0055] 图4是图3所示网络数据处理终端中的硬件网络处理单元的逻辑图;
[0056] 图5是根据本发明一实施例在终端中处理网络数据的方法的流程图;
[0057] 图6是根据本发明另一实施例在终端中处理网络数据的方法的流程图。

【具体实施方式】
[0058] 如图3所示,本发明的网络数据处理终端包括由物理层和数据链路层硬件组成的 底层网络单元13 (例如为以太网卡、无线网卡或3G模块等)、传输单元15 (例如为总线),以 及通过传输单元15与该底层网络单元13通信连接的中央处理单元14(例如嵌入式处理器 等),还进一步包括通过传输单元15与底层网络单元13通信连接的硬件加速单元10。在一 实施例中,硬件加速单元10包括由FPGA实现的硬件网络处理单元11和通过DMA总线与该 硬件网络处理单元11相连的硬件解码单元12。在一实施例中,硬件解码单元12是视频解 码器。例如,针对视频应用,不同的视频编码类型,可以使用不同的解码芯片作为硬件解码 单元12。另外该硬件解码单元12可以是其他针对特定编码类型定制的编/解码器,例如无 损音频解码器,硬件加/解码器,使终端可以用于处理来自互联网的其他类型的编码文件, 例如无损音频,加密文件等。
[0059] 在操作过程中,根据来自网络端的指令信息,传输单元15将底层网络单元13接收 到的包含网络数据的网络数据信息(例如IP数据报),选择性地传输至中央处理单元14和 硬件加速单元10中的一个,以便由中央处理单元14或硬件加速单元10根据应用需求对网 络数据进行相应处理。这样可以灵活地根据应用的需求,在终端有选择地使用硬件来处理 网络数据,当处理数据量较大的网络数据例如网络视频数据、无损音频数据等时,可以选择 使用硬件加速,有效地提升在计算能力较低的移动终端中处理网络数据的速度,以实现在 终端对网络数据的实时处理,例如流畅地播放网络视频、网络音频等。
[0060] 在一实施例中,指令信息包括结束信息和请求信息。其中当中央处理单元14接收 的网络数据信息中包含有请求信息,中央处理单元14响应网络数据信息中的请求信息停 止从传输单元15中获取数据,传输单元15将网络数据信息传输至硬件加速单元10,之后由 硬件加速单元10接收并处理网络数据信息,通过硬件加速单元完成网络层和传输层协议, 从而对网络数据进行加速处理。
[0061] 硬件加速单元10包括硬件网络处理单元11和通过DMA总线与硬件网络单元11相 连的硬件解码单元12,其中,硬件网络处理单元11对网络数据信息进行网络层和传输层的 处理获取包含网络数据的应用数据包,并由硬件解码单元12对应用数据包进行解码处理。 硬件解码单元12通过DMA总线从硬件加速单元11中读取应用数据包,并实现应用层处理 对该应用数据包中的数据进行加速处理操作。
[0062] 当硬件网络处理单元11接收到的网络数据信息中包含结束信息,硬件网络处理 单元11响应网络数据信息中的结束信息停止从传输单元15获取网络数据信息,之后,传 输单元15将来自底层网络单元13的网络数据信息传输至中央处理单元14,由中央处理单 元14对网络数据信息中的网络数据进行协议解析处理操作。在一实施例中,中央处理单元 14完成对网络数据信息中的网络数据的网络层、传输层处理,并对解析后的网络数据进行 软件处理。因而,在使用硬件加速单元10处理网络数据信息和网络数据时,硬件网络处理 单元11和硬件解码单元12从中央处理单元14卸载了大部分网络协议解析和解码操作,例 如,针对视频应用,可以加快计算能力较低的移动终端对网络视频数据的处理速度。
[0063] 在本发明的技术方案中,请求信息和结束信息可由服务端和终端双方预先定义。 在一实施例中,传输的数据包都是以太网包,所以结构都是以太网包结构,一个以太网数据 包的结构如下:
[0064]

【权利要求】
1. 一种在终端中处理网络数据的方法,所述终端包括底层网络单元(13)、传输单元 (15)、以及通过传输单元(15)与所述底层网络单元(13)通信连接的中央处理单元(14)和 硬件加速单元(10);其特征在于,所述方法包括如下步骤: 51 :由底层网络单元(13)接收来自网络端的网络数据信息,所述网络数据信息包括网 络数据以及指令信息; 52 :根据所接收到的所述指令信息,利用传输单元(15)将接收到的所述网络数据选择 性地传输至所述中央处理单元(14)和所述硬件加速单元(10)中的一个,并由所述中央处 理单元(14)或所述硬件加速单元(10)根据应用需求对所述网络数据进行相应处理。
2. 根据权利要求1所述的在终端中处理网络数据的方法,其特征在于,所述指令信息 包括请求信息和结束信息, 所述步骤S2包括: S2-1 :当接收到所述指令信息中的请求信息时,利用所述传输单元(15)将所述网络数 据信息传输至所述硬件加速单元(10),利用该硬件加速单元(10)对所述网络数据信息进 行协议解析,并对获得的网络数据进行加速处理操作; S2-2 :当接收到所述指令信息中的结束信息时,利用所述传输单元(15)将所述网络数 据信息传输至所述中央处理单元(14),并利用所述中央处理单元(14)对所述网络数据信 息中的所述网络数据进行协议解析处理操作。
3. 根据权利要求2所述的在终端中处理网络数据的方法,其特征在于, 所述硬件加速单元(10)包括由FPGA实现的硬件网络处理单元(11)、以及通过DMA方 式与所述硬件网络处理单元(11)通信连接的硬件解码单元(12), 在所述步骤S2-1中,当所述传输单元(15)将所述网络数据信息传输至所述硬件加速 单元(10)时,利用该硬件网络处理单元(11)对所述网络数据信息进行网络层和传输层处 理操作,以获取其中的包含网络数据的应用数据包,并利用所述硬件解码单元(12)实现应 用层处理对所述应用数据包中的网络数据进行加速处理操作。
4. 根据权利要求3所述的在终端中处理网络数据的方法,其特征在于,所述请求信息 中还包括服务端地址信息和服务端端口号;所述硬件网络处理单元(11)对所述网络数据 信息进行网络层和传输层处理操作还包括:判断所述网络数据信息中的源地址信息和源端 口号是否与所述服务端地址信息和服务端端口号相符,若否,丢弃该网络数据信息,若是, 继续处理该网络数据信息。
5. 根据权利要求4所述的在终端中处理网络数据的方法,其特征在于,所述网络数据 是视频数据,所述加速处理操作包括:利用所述硬件解码单元对该视频数据进行视频解码 操作。
6. -种网络数据处理终端,包括底层网络单元(13)、以及通过传输单元(15)与所述底 层网络单元(13)通信连接的中央处理单元(14);其特征在于, 所述终端还包括通过所述传输单元(15)与所述底层网络单元(13)通信连接的硬件加 速单元(10); 其中,根据来自网络端的指令信息,所述传输单元(15)将所述底层网络单元(13)接收 到的包含网络数据的网络数据信息选择性地传输至所述中央处理单元(14)和所述硬件加 速单元(10)中的一个,并由所述中央处理单元(14)或所述硬件加速单元(10)根据应用需 求对所述网络数据进行相应处理。
7. 根据权利要求6所述的网络数据处理终端,其特征在于,所述硬件加速单元(10)包 括硬件网络处理单元(11)和通过DMA总线与该硬件网络单元(11)相连的硬件解码单元 (12), 所述指令信息包括请求信息和结束信息;且 当接收到请求信息,所述中央处理单元(14)响应所述请求信息停止从所述传输单元 (15)中获取数据,所述传输单元(15)将网络数据信息传输至所述硬件加速单元(10); 所述硬件加速单元(10)中的硬件网络处理单元(11)对网络数据信息进行网络层和传 输层的处理获取包含网络数据的应用数据包,所述硬件解码单元(12)通过DMA总线从该硬 件网络单元(11)中读取所述应用数据包,并实现应用层处理对该应用数据包中的数据进行 加速处理操作; 当接收到结束信息,硬件网络处理单元(11)响应所述结束信息停止从传输单元(15) 获取网络数据信息,所述传输单元(15)将来自底层网络单元(13)的网络数据信息传输至 所述中央处理单元(14)。
8. 根据权利要求7所述的网络数据处理终端,其特征在于, 所述硬件网络处理单元(11)包括网络层模块(111)、与该网络层模块(111)相连的传 输层模块(112)以及与该传输层模块(112)和网络层模块(111)相连的结束信息侦测模块 (116); 所述网络层模块(111)用于通过传输单元(15)获取来自底层网络单元(13)的包含网 络数据的网络数据信息并对其进行网络层处理获取传输层数据段; 所述传输层模块(112)用于对所述传输层数据段进行传输层协议解析获取应用数据 包,并将其传输至所述硬件解码单元(12); 所述结束信息侦测模块(116)用于响应网络数据信息中的结束信息控制所述网络层模 块(111)停止从所述传输单元获取网络数据信息,所述传输单元(15)将网络数据信息传输 至所述中央处理单元。
9. 根据权利要求8所述的网络数据处理终端,其特征在于, 所述请求信息中还包括服务端地址信息和服务端端口号; 所述硬件网络处理单元(11)还包括用于存储所述服务端地址信息和服务端端口号的 存储模块,以及地址比较器(113 )和端口比较器(114 ); 所述地址比较器(113)连接于所述网络层模块(111),用于提取所述网络数据信息 中的源信息并将其与所述服务端地址信息相比较,并根据比较结果控制所述网络层模块 (111)对所述网络数据信息进行网络层协议解析或丢弃该网络数据信息; 所述端口比较器(114)连接于所述传输层模块(112)用于提取所述传输层数据段中的 源端口号并将其与所述服务端端口号比较,并根据判断结果控制所述传输层模块对所述传 输层数据段进行传输层协议解析或丢弃该传输层数据段。
10. 根据权利要求7所述的网络数据处理终端,其特征在于,所述硬件解码单元(12)是 视频解码器。
【文档编号】H04L29/08GK104243412SQ201310236670
【公开日】2014年12月24日 申请日期:2013年6月15日 优先权日:2013年6月15日
【发明者】付贤民, 陈耀宗, 周清海, 徐渊, 朱明程, 冯雁军, 张建国 申请人:深圳市振华微电子有限公司, 中国振华(集团)科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1