CN104243412B - 网络数据处理终端及在其中处理网络数据的方法 - Google Patents
网络数据处理终端及在其中处理网络数据的方法 Download PDFInfo
- Publication number
- CN104243412B CN104243412B CN201310236670.9A CN201310236670A CN104243412B CN 104243412 B CN104243412 B CN 104243412B CN 201310236670 A CN201310236670 A CN 201310236670A CN 104243412 B CN104243412 B CN 104243412B
- Authority
- CN
- China
- Prior art keywords
- network
- unit
- network data
- hardware
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及网络数据处理终端及在其中处理网络数据的方法。所述终端包括底层网络单元、传输单元、以及通过传输单元与所述底层网络单元通信连接的中央处理单元和硬件加速单元。所述方法包括如下步骤:S1:由底层网络单元接收来自网络端的网络数据信息,所述网络数据信息包括网络数据以及指令信息;S2:根据所接收到的所述指令信息,利用传输单元将接收到的所述网络数据选择性地传输至所述中央处理单元和所述硬件加速单元中的一个,并由所述中央处理单元和所述硬件加速单元根据应用需求对所述网络数据进行相应处理。实施本发明,在提高大流量数据例如视频数据的处理能力的同时,对中央处理单元的处理能力和功耗无需过高要求,具有成本低的优势。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及网络数据处理终端及在其中处理网络数据的方法。
背景技术
随着移动互联网的迅速发展,移动终端用户可以突破时间和地点的束缚,有效地将散碎的空闲时间利用起来,并且移动互联网逐步从2G网络发展至3G网络并很快将进化至4G网络,移动互联网的网络带宽和容量将不再是移动应用的瓶颈,所以移动终端相比于传统PC端互联网优势更加明显,许多应用业务例如视频业务从PC端向移动端迁移是必然的趋势。由于一些数据量较大的业务例如视频业务对移动终端的运行速度有较高的要求,而移动终端由于电池容量、散热条件等因素的限制,其中央处理器等硬件的运行速度一般较低,在运行视频业务时难以向用户提供流畅的高清视频,也就是移动终端对于视频业务的硬件支持与视频业务网络传输能力之间产生了不匹配,即使移动互联网不再对网络视频业务有限制,但移动终端对于数据的处理能力却使得视频业务的质量不高。比如,目前大部分面向移动终端的视频都是以牺牲视频清晰度为代价换取处理速度,也就是降低传输的数据量,从而减少移动终端的运算量,使得移动终端能够流畅播放视频。这样就极大地降低了在移动终端播放网络视频时的用户体验。类似的,这种技术问题也会存在于其他数据传输量较大的网络应用业务中。
本领域技术人员知悉,在应用TCP/IP协议的网络环境中,数据的传输遵循TCP/IP协议。如图1所示,基于TCP/IP的参考模型将协议分成五个层次,它们分别是:物理层、数据链路层,网络层、传输层和应用层。其中
1.物理层和数据链路层
物理层和数据链路层的协议属于底层协议,通常由网卡等底层网络硬件实现,对于TCP/IP网络,底层网络硬件可以对从互联网接收的网络信息进行底层协议解析,获得IP数据报。
2.网络层
网络层主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。该层有四个主要协议:网际协议(IP)、地址解析协议(ARP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
IP协议是网际互联层最重要的协议,它提供的是一个不可靠、无连接的数据报传递服务,对IP数据报进行网络层协议解析(IP协议解析)可以获得传输层数据包。
3.传输层
传输层为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP),对传输层数据包进行协议解析,可以获得应用层数据包。
TCP协议提供的是一种可靠的、面向连接的数据传输服务;而UDP协议提供的则是不可靠的、无连接的数据传输服务。
4.应用层
应用层为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等。
如图2所示,现有的网络数据的处理模式包括:底层网络单元13(一般是网卡等硬件)中实现物理层和数据层,在中央处理单元14中通过软件方式实现网络层、传输层和应用层,进行网络层、传输层和应用层协议解析,完成网络数据的接收,并根据网络数据中传输的数据调用相应的程序对其进行处理。在一些需要对较多的网络数据进行实时处理的情况下,需要中央处理单元14在在处理协议解析获取数据的同时,还需要运行应用程序对接收的数据进行应用处理。比如网络多媒体播放领域,终端的中央处理单元需要在处理协议解析操作接收视频数据流的同时进行视频解码操作。
随着网络技术日新月异的发展,传输速率达到百兆、千兆甚至速度更快地光纤网络已经进入商用普及,可以传输的网络数据的信息量越来越大。同时为提高用户体验,许多网络业务需要向用户提供数据量越来越大的数据,例如网络视频通话领域,由于网络带宽的提升和激烈的竞争,有必要向用户提供清晰度更高的视频画面传输服务,但是更高的清晰度意味着需要在终端处理同时接收和处理数据量更大的网络数据,这样就对网络终端的处理能力提出了更高的要求。在目前的移动终端中,要实时处理来自网络上的视频数据,如3G电话视频聊天,通过网络实时看电影,都是把接收到的数据缓存起来,再通过软件或者硬件的方式进行解码。但是一些网络终端,特别是依靠电池为中央处理单元供电的终端例如手机、平板电脑等,其中的中央处理单元的主要性能指标(主频,带宽等)因为受到了功耗、成本等因素的限制,所以其计算能力通常比较低,不能同时处理大信息量的网络数据的协议解析操作和应用处理操作。比如在移动多媒体播放领域,许多低端手机无法通过互联网播放高清网络视频,即使能够播放,画面也不流畅,播放体验非常糟糕。这些低功耗低成本的中央处理单元成了网络数据处理流程中的瓶颈。这样就有需要加快中央处理单元对网络数据的处理速度。当然可以通过提高中央处理单元的主频、增加线程等方法来加快数据的处理速度,但是这种方法也会带来较高的成本和功耗。
发明内容
本发明要解决的一技术问题在于,针对现有移动终端的中央处理单元对视频等大流量数据处理能力差的缺陷,提供一种在终端使用硬件加速处理网络数据的方法。
本发明要解决的另一技术问题在于,针对现有移动终端的中央处理单元对视频等大流量数据处理能力差的缺陷,提供一种使用硬件加速的网络数据处理终端。
本发明为解决其技术问题所提供的一技术方案是:提供一种在终端中处理网络数据的方法,所述终端包括底层网络单元、传输单元、以及通过传输单元与所述底层网络单元通信连接的中央处理单元和硬件加速单元;所述方法包括如下步骤:
S1:由底层网络单元接收来自网络端的网络数据信息,所述网络数据信息包括网络数据以及指令信息;
S2:根据所接收到的所述指令信息,利用传输单元将接收到的所述网络数据选择性地传输至所述中央处理单元和所述硬件加速单元中的一个,并由所述中央处理单元或所述硬件加速单元根据应用需求对所述网络数据进行相应处理。
在本发明所述的在终端中处理网络数据的方法中,
所述指令信息包括请求信息和结束信息,
所述步骤S2包括:
S2-1:当接收到所述指令信息中的请求信息时,利用所述传输单元将所述网络数据信息传输至所述硬件加速单元,利用该硬件加速单元对所述网络数据信息进行协议解析,并对获得的网络数据进行加速处理操作;
S2-2:当接收到所述指令信息中的结束信息时,利用所述传输单元将所述网络数据信息传输至所述中央处理单元,并利用所述中央处理单元对所述网络数据信息中的所述网络数据进行协议解析处理操作。
在本发明所述的在终端中处理网络数据的方法中,
所述硬件加速单元包括由FPGA实现的硬件网络处理单元、以及通过DMA方式与所述硬件网络处理单元通信连接的硬件解码单元,
在所述步骤S2-1中,当所述传输单元将所述网络数据信息传输至所述硬件加速单元时,利用该硬件网络处理单元对所述网络数据信息进行网络层和传输层处理操作,以获取其中的包含网络数据的应用数据包,并利用所述硬件解码单元实现应用层处理对所述应用数据包中的网络数据进行加速处理操作。
在本发明所述的在终端中处理网络数据的方法中,所述请求信息中还包括服务端地址信息和服务端端口号;所述硬件网络处理单元对所述网络数据信息进行网络层和传输层处理操作还包括:判断所述网络数据信息中的源地址信息和源端口号是否与所述服务端地址信息和服务端端口号相符,若否,丢弃该网络数据信息,若是,继续处理该网络数据信息。
在本发明所述的在终端中处理网络数据的方法中,所述网络数据是视频数据,所述加速处理操作包括:利用所述硬件解码单元对该视频数据进行视频解码操作。
本发明为解决其技术问题所提供的另一技术方案是:构造一种网络数据处理终端,包括底层网络单元、以及通过传输单元与所述底层网络单元通信连接的中央处理单元;
所述终端还包括通过所述传输单元(15)与所述底层网络单元通信连接的硬件加速单元;
其中,根据来自网络端的指令信息,所述传输单元将所述底层网络单元接收到的包含网络数据的网络数据信息选择性地传输至所述中央处理单元和所述硬件加速单元中的一个,并由所述中央处理单元或所述硬件加速单元根据应用需求对所述网络数据进行相应处理。
在本发明所述的网络数据处理终端中,所述硬件加速单元包括硬件网络处理单元和通过DMA总线与该硬件网络单元相连的硬件解码单元,
所述指令信息包括请求信息和结束信息;且
当接收到请求信息,所述中央处理单元响应所述请求信息停止从所述传输单元中获取数据,所述传输单元将网络数据信息传输至所述硬件加速单元;
所述硬件加速单元中的硬件网络处理单元对网络数据信息进行网络层和传输层的处理获取包含网络数据的应用数据包,所述硬件解码单元通过DMA总线从该硬件网络单元中读取所述应用数据包,并实现应用层处理对该应用数据包中的数据进行加速处理操作;
当接收到结束信息,硬件网络处理单元响应所述结束信息停止从传输单元获取网络数据信息,所述传输单元将来自底层网络单元的网络数据信息传输至所述中央处理单元。
在本发明所述的网络数据处理终端中,
所述硬件网络处理单元包括网络层模块、与该网络层模块相连的传输层模块以及与该传输层模块和网络层模块相连的结束信息侦测模块;
所述网络层模块用于通过传输单元获取来自底层网络单元的包含网络数据的网络数据信息并对其进行网络层处理获取传输层数据段;
所述传输层模块用于对所述传输层数据段进行传输层协议解析获取应用数据包,并将其传输至所述硬件解码单元;
所述结束信息侦测模块用于响应网络数据信息中的结束信息控制所述网络层模块停止从所述传输单元获取网络数据信息,所述传输单元将网络数据信息传输至所述中央处理单元。
在本发明所述的网络数据处理终端中,
所述请求信息中还包括服务端地址信息和服务端端口号;
所述硬件网络处理单元还包括用于存储所述服务端地址信息和服务端端口号的存储模块,以及地址比较器和端口比较器;
所述地址比较器连接于所述网络层模块,用于提取所述网络数据信息中的源信息并将其与所述服务端地址信息相比较,并根据比较结果控制所述网络层模块对所述网络数据信息进行网络层协议解析或丢弃该网络数据信息;
所述端口比较器连接于所述传输层模块用于提取所述传输层数据段中的源端口号并将其与所述服务端端口号比较,并根据判断结果控制所述传输层模块对所述传输层数据段进行传输层协议解析或丢弃该传输层数据段。
在本发明所述的网络数据处理终端中,所述硬件解码单元是视频解码器。
实施本发明,具有以下有益效果:由于在接收到指令信息时可选择中央处理单元和硬件加速单元中的一个对接收的网络数据进行处理,使得终端能够根据应用需求选择合适的处理单元来处理网络数据。从而在处理大流量数据例如视频数据时,由硬件加速终端处理网络数据的速度,并且无需对数据进行缓存。在处理一般小流量数据时,使用中央处理单元对数据进行处理,因此,不会增加对中央处理单元的负担,系统工作正常。也就是说,实施本发明,在提高大流量数据例如视频数据的处理能力的同时,对中央处理单元处理能力和功耗无需过高要求,因此,具有成本低的优势。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是用于互联网的TCP/IP参考模型分层结构的示意图;
图2是现有技术中用于处理网络数据的系统的原理框图;
图3是本发明的网络数据处理终端的原理框图;
图4是图3所示网络数据处理终端中的硬件网络处理单元的逻辑图;
图5是根据本发明一实施例在终端中处理网络数据的方法的流程图;
图6是根据本发明另一实施例在终端中处理网络数据的方法的流程图。
具体实施方式
如图3所示,本发明的网络数据处理终端包括由物理层和数据链路层硬件组成的底层网络单元13(例如为以太网卡、无线网卡或3G模块等)、传输单元15(例如为总线),以及通过传输单元15与该底层网络单元13通信连接的中央处理单元14(例如嵌入式处理器等),还进一步包括通过传输单元15与底层网络单元13通信连接的硬件加速单元10。在一实施例中,硬件加速单元10包括由FPGA实现的硬件网络处理单元11和通过DMA总线与该硬件网络处理单元11相连的硬件解码单元12。在一实施例中,硬件解码单元12是视频解码器。例如,针对视频应用,不同的视频编码类型,可以使用不同的解码芯片作为硬件解码单元12。另外该硬件解码单元12可以是其他针对特定编码类型定制的编/解码器,例如无损音频解码器,硬件加/解码器,使终端可以用于处理来自互联网的其他类型的编码文件,例如无损音频,加密文件等。
在操作过程中,根据来自网络端的指令信息,传输单元15将底层网络单元13接收到的包含网络数据的网络数据信息(例如IP数据报),选择性地传输至中央处理单元14和硬件加速单元10中的一个,以便由中央处理单元14或硬件加速单元10根据应用需求对网络数据进行相应处理。这样可以灵活地根据应用的需求,在终端有选择地使用硬件来处理网络数据,当处理数据量较大的网络数据例如网络视频数据、无损音频数据等时,可以选择使用硬件加速,有效地提升在计算能力较低的移动终端中处理网络数据的速度,以实现在终端对网络数据的实时处理,例如流畅地播放网络视频、网络音频等。
在一实施例中,指令信息包括结束信息和请求信息。其中当中央处理单元14接收的网络数据信息中包含有请求信息,中央处理单元14响应网络数据信息中的请求信息停止从传输单元15中获取数据,传输单元15将网络数据信息传输至硬件加速单元10,之后由硬件加速单元10接收并处理网络数据信息,通过硬件加速单元完成网络层和传输层协议,从而对网络数据进行加速处理。
硬件加速单元10包括硬件网络处理单元11和通过DMA总线与硬件网络单元11相连的硬件解码单元12,其中,硬件网络处理单元11对网络数据信息进行网络层和传输层的处理获取包含网络数据的应用数据包,并由硬件解码单元12对应用数据包进行解码处理。硬件解码单元12通过DMA总线从硬件加速单元11中读取应用数据包,并实现应用层处理对该应用数据包中的数据进行加速处理操作。
当硬件网络处理单元11接收到的网络数据信息中包含结束信息,硬件网络处理单元11响应网络数据信息中的结束信息停止从传输单元15获取网络数据信息,之后,传输单元15将来自底层网络单元13的网络数据信息传输至中央处理单元14,由中央处理单元14对网络数据信息中的网络数据进行协议解析处理操作。在一实施例中,中央处理单元14完成对网络数据信息中的网络数据的网络层、传输层处理,并对解析后的网络数据进行软件处理。因而,在使用硬件加速单元10处理网络数据信息和网络数据时,硬件网络处理单元11和硬件解码单元12从中央处理单元14卸载了大部分网络协议解析和解码操作,例如,针对视频应用,可以加快计算能力较低的移动终端对网络视频数据的处理速度。
在本发明的技术方案中,请求信息和结束信息可由服务端和终端双方预先定义。在一实施例中,传输的数据包都是以太网包,所以结构都是以太网包结构,一个以太网数据包的结构如下:
1、以太网包头(数据链路层解析,解析后去掉包头); |
2、IP包头(网络层解析,解析后去掉包头); |
3、UDP包头(传输层解析,解析后去掉包头); |
4、数据(应用层没包头)。 |
该实例中,请求信息和结束信息的定义如下:
请求信息:源IP地址、目的IP地址、源UDP地址、目的UDP地址、01010101
结束信息:源IP地址、目的IP地址、源UDP地址、目的UDP地址、01010100
因此只需要判断“数据”:
当“数据”=源IP地址、目的IP地址、源UDP地址、目的UDP地址、01010101即为请求信息,其中IP地址,UDP地址,应该与前面的IP包头和UDP包头包含的IP地址、UDP地址一致;
当“数据”=源IP地址、目的IP地址、源UDP地址、目的UDP地址、01010100
即为结束信息。
需要注意的是,从结构可以看到,请求信息包的判断是通过中央处理单元(14)判断,结束信息包是通过硬件加速单元(10)判断。
如图4所示,本发明网络数据处理终端中的硬件网络处理单元11包括网络层模块111、连接于网络层模块111的传输层模块112以及连接于网络层模块111和传输层模块112的结束信息侦测模块116。网络层模块111通过传输单元15获取来自底层网络单元13的网络数据信息,例如IP数据报,并对该IP数据报进行网络层处理获取传输层数据段,即UDP数据包;传输层模块112对UDP数据包进行解包获取应用数据包,并将应用数据包传输至硬件解码单元12。由硬件解码单元12对该应用数据包进行解码操作。结束信息侦测模块116从传输层模块112中读取UDP数据包,当其中包含结束信息,结束信息侦测模块116响应网络数据信息中的结束信息,控制网络层模块111停止从传输单元15获取网络数据信息,传输单元15将网络数据信息传输至中央处理单元14。
作为优选,在本发明中,请求信息中包含发送该请求信息的服务端的地址信息和端口号信息。硬件网络处理单元11还包括存储模块(图中未示出)。中央处理单元14在接收到请求信息后,还将该地址信息和端口号信息通过传输单元15发送至硬件加速单元10。硬件加速单元10存储该地址信息和端口号信息,以便之后用于在硬件加速单元10中确认接收到的网络数据信息是否来自该服务端。
如图4所示,硬件网络处理单元11还包括地址比较器113和端口比较器114;地址比较器113连接于网络层模块111,用于提取IP数据报中的源信息并将其与请求信息中的服务端地址信息相比较,并根据比较结果控制网络层模块111对网络数据信息执行网络层协议解析操作或对该网络数据信息执行丢弃操作。由于来自网络的网络数据信息有可能混杂有来自其他数据源的网络数据信息,地址比较器113专用于根据网络数据信息的源端地址判断是否收到来自请求信息中的约定的服务端以外的其他数据源的网络数据信息,若网络数据信息的源端地址与服务端地址不相同,则地址比较器113控制网络层模块丢弃该网络数据信息,以滤除来自约定的服务端以外的其他数据源的网络数据信息。同时,来自服务端的UDP数据包中有可能混入来自约定的服务端但是并非用于本应用的数据包,端口比较器114根据请求信息中的服务端端口号,来识别其所接收到的网络数据信息中的UDP数据包是否是本应用的数据包。端口比较器114连接于传输层模块112用于提取UDP数据包中的源端口号并将其与存储器中存储的服务端的端口号信息进行比较,并根据判断结果控制传输层模块对传输层数据段执行传输层协议解析或对该传输层数据段执行丢弃操作。
下面结合图5和图6对本发明在终端中处理数据的方法进行说明。
在开机后的操作过程中,利用底层网络单元13从网络获取网络数据信息(其中包括网络数据以及指令信息),并对网络数据信息进行物理层和数据链路层协议解析获得网络数据和/或指令信息(图中未示出)。这些网络数据通常为IP协议封装的IP数据报。传输单元15向中央处理单元14传输这些网络数据以及指令信息。
如图5所示,在步骤510,中央处理单元14获取网络数据信息后对其进行网络层、传输层和应用层协议解析操作获取其中的数据,并调用相关程序处理该数据。
在步骤520中,中央处理单元14判断所接收的是否为指令信息(例如,请求信息)。
当判断所接收的不是指令信息时,执行步骤530,中央处理单元14根据应用需求对网络数据进行处理,例如对文本文件或网页文件进行处理,以在终端显示这些文件。
当判断所接收的是来自服务端的请求信息后,执行步骤540,中央处理单元14停止从传输单元15接收网络数据信息,传输单元15将网络数据信息传输至硬件加速单元10中的硬件网络处理单元11,这样硬件网络处理单元11和硬件解码单元12就从中央处理单元14卸载了处理后续网络数据带来的负载。例如,在一实施例中,利用硬件网络处理单元11对网络数据信息进行网络层和传输层协议解析操作实现对网络数据的加速接收,然后利用硬件网络处理单元11通过DMA方式将协议解析获得的应用层协议封装的视频包传输至硬件解码单元12,由该单元实现应用层功能对其中的视频数据进行解码操作实现对网络数据的加速解码。
在硬件网络处理单元11进行网络层和传输层协议解析的过程中,在步骤550中,判断所接收的是否为指令信息(例如,结束信息)。
如果判断所接收的是来自服务端的作为指令信息的结束信息,则硬件网络处理单元11停止从传输单元15获取网络数据信息,并返回步骤510,传输单元15向中央处理单元14传输来自底层网络单元的网络数据信息。
如果判断所接收的不是结束信息,则硬件网络处理单元11继续对网络数据信息进行处理,然后传输至硬件解码单元12。例如,在上述视频应用的实施例中,通过将协议解析获得的应用层协议封装的视频包传输至硬件解码单元12,由该单元实现应用层功能对其中的视频数据进行解码操作实现对网络数据的加速解码。
通过本发明在终端中处理网络数据的方法,可以根据需要通过发送指令信息的方式,选择使用中央处理单元处理网络数据,或使用硬件代替该中央处理单元处理网络数据。这样不但可以实时地高速地处理某些特定的数据量较大的网络数据(例如高清视频、高清音频、大型加密文件等),避免使计算能力较低的中央处理单元出现过载的情况,同时也可以在不处理这些特定的网络数据时,由中央处理单元实现多种多样的负载较小的网络数据处理功能,例如即时文字通信、网页浏览等。
与图5所示的方法相比,图6中的方法的不同之处仅在于增加了三个步骤,即步骤525、555和557。以下只对增加的三个步骤进行说明,其他步骤可参见图5的相关说明。
在步骤520中,当中央处理单元14判断接收到的是请求信息之后,执行步骤525,从请求信息中提取服务端的地址信息和端口号信息,并通过传输单元15传输至硬件加速单元10。硬件加速单元10存储其接收的服务端的地址信息和端口号信息,并执行步骤540。
在步骤550中,当硬件加速单元10中的硬件网络处理单元11判断接收到的不是结束信息,执行步骤555,进一步判断所接收的网络数据信息的源端的地址和端口号与所存储的地址信息和端口号信息是否相符。若相符,则执行步骤560;若不相符,则执行步骤557,丢弃地址和端口号与所存储的地址信息和端口号信息不相符的网络数据信息;之后,继续执行步骤540。
在视频应用的实施例中,当根据视频应用的需求使用硬件加速处理网络数据信息时,由于来自网络端的网络数据信息有可能混杂有来自请求信息中约定的服务端以外的数据源的网络数据信息,并且还可能混入来自约定的服务端的与视频应用无关的网络数据信息,这样就有必要根据请求信息中的服务端地址即服务端IP地址和服务端端口号对网络数据信息进行过滤,在进行网络层和传输层协议解析的过程中,丢弃源端地址与服务端IP地址不符或源端端口号与服务端端口号不符的网络数据信息,以便保证视频解码操作的顺利进行。
为了使本领域技术人员能够理解和实施本发明,以上对本发明的具体实施方式进行了描述,但本发明并不限于这些实施例。任何本领域技术人员知悉的、对这些特征和实施例进行各种改变或等效替换而得的技术方案,都属于本发明的保护范围。
Claims (5)
1.一种在移动终端中处理网络数据的方法,所述终端包括底层网络单元(13)、传输单元(15)、以及通过传输单元(15)与所述底层网络单元(13)通信连接的中央处理单元(14)和硬件加速单元(10);其特征在于,所述方法包括如下步骤:
S1:由底层网络单元(13)接收来自网络端的网络数据信息,所述网络数据信息包括网络数据以及指令信息;
S2:根据所接收到的所述指令信息,利用传输单元(15)将接收到的所述网络数据选择性地传输至所述中央处理单元(14)和所述硬件加速单元(10)中的一个,并由所述中央处理单元(14)或所述硬件加速单元(10)根据应用需求对所述网络数据进行相应处理;
其中,所述指令信息包括请求信息和结束信息,所述请求信息和结束信息由服务器和终端双方预先定义,所述请求信息为:源IP地址、目的IP地址、源UDP地址、目的UDP地址、01010101;所述结束信息为:源IP地址、目的IP地址、源UDP地址、目的UDP地址、01010100;且请求信息包的判断是通过中央处理单元(14)判断,结束信息包是通过硬件加速单元(10)判断;
所述硬件加速单元(10)包括由FPGA实现的硬件网络处理单元(11)、以及通过DMA方式与所述硬件网络处理单元(11)通信连接的硬件解码单元(12);所述硬件加速单元(10)包括视频解码器;
所述步骤S2包括:
S2-1:当中央处理单元(14)接收到所述指令信息中的请求信息时停止从传输单元(15)获取网络数据信息,所述传输单元(15)将所述网络数据信息传输至所述硬件加速单元(10),所述硬件加速单元(10)对所述网络数据信息进行协议解析,并对获得的网络数据进行加速处理操作;
S2-2:当硬件加速单元(10)接收到所述指令信息中的结束信息时停止从传输单元(15)获取网络数据信息,所述传输单元(15)将所述网络数据信息传输至所述中央处理单元(14),所述中央处理单元(14)对所述网络数据信息中的所述网络数据进行协议解析处理操作;
在所述步骤S2-1中,当所述传输单元(15)将所述网络数据信息传输至所述硬件加速单元(10)时,利用该硬件网络处理单元(11)对所述网络数据信息进行网络层和传输层处理操作,以获取其中的包含网络数据的应用数据包,并利用所述硬件解码单元(12)实现应用层处理对所述应用数据包中的网络数据进行加速处理操作。
2.根据权利要求1所述的在移动终端中处理网络数据的方法,其特征在于,所述请求信息中还包括服务端地址信息和服务端端口号;所述硬件网络处理单元(11)对所述网络数据信息进行网络层和传输层处理操作还包括:判断所述网络数据信息中的源地址信息和源端口号是否与所述服务端地址信息和服务端端口号相符,若否,丢弃该网络数据信息,若是,继续处理该网络数据信息。
3.根据权利要求2所述的在移动终端中处理网络数据的方法,其特征在于,所述网络数据是视频数据,所述加速处理操作包括:利用所述硬件解码单元对该视频数据进行视频解码操作。
4.一种移动终端,包括底层网络单元(13)、以及通过传输单元(15)与所述底层网络单元(13)通信连接的中央处理单元(14);其特征在于,
所述终端还包括通过所述传输单元(15)与所述底层网络单元(13)通信连接的硬件加速单元(10);
其中,根据来自网络端的指令信息,所述传输单元(15)将所述底层网络单元(13)接收到的包含网络数据的网络数据信息选择性地传输至所述中央处理单元(14)和所述硬件加速单元(10)中的一个,并由所述中央处理单元(14)或所述硬件加速单元(10)根据应用需求对所述网络数据进行相应处理;
其中,所述指令信息包括请求信息和结束信息,所述请求信息和结束信息由服务器和终端双方预先定义,所述请求信息为:源IP地址、目的IP地址、源UDP地址、目的UDP地址、01010101;所述结束信息为:源IP地址、目的IP地址、源UDP地址、目的UDP地址、01010100;且请求信息包的判断是通过中央处理单元(14)判断,结束信息包是通过硬件加速单元(10)判断;
所述硬件加速单元(10)包括视频解码器;
所述硬件加速单元(10)包括硬件网络处理单元(11)和通过DMA总线与该硬件网络单元(11)相连的硬件解码单元(12),且所述硬件解码单元(12)是所述视频解码器;且
当中央处理单元(14)接收到请求信息,所述中央处理单元(14)响应所述请求信息停止从所述传输单元(15)中获取网络数据信息,所述传输单元(15)将网络数据信息传输至所述硬件加速单元(10);
所述硬件加速单元(10)中的硬件网络处理单元(11)对网络数据信息进行网络层和传输层的处理获取包含网络数据的应用数据包,所述硬件解码单元(12)通过DMA总线从该硬件网络单元(11)中读取所述应用数据包,并实现应用层处理对该应用数据包中的数据进行加速处理操作;
当硬件加速单元(10)接收到结束信息,硬件网络处理单元(11)响应所述结束信息停止从传输单元(15)获取网络数据信息,所述传输单元(15)将来自底层网络单元(13)的网络数据信息传输至所述中央处理单元(14);
所述硬件网络处理单元(11)包括网络层模块(111)、与该网络层模块(111)相连的传输层模块(112)以及与该传输层模块(112)和网络层模块(111)相连的结束信息侦测模块(116);
所述网络层模块(111)用于通过传输单元(15)获取来自底层网络单元(13)的包含网络数据的网络数据信息并对其进行网络层处理获取传输层数据段;
所述传输层模块(112)用于对所述传输层数据段进行传输层协议解析获取应用数据包,并将其传输至所述硬件解码单元(12);
所述结束信息侦测模块(116)用于响应网络数据信息中的结束信息控制所述网络层模块(111)停止从所述传输单元获取网络数据信息,所述传输单元(15)将网络数据信息传输至所述中央处理单元。
5.根据权利要求4所述的移动终端,其特征在于,
所述请求信息中还包括服务端地址信息和服务端端口号;
所述硬件网络处理单元(11)还包括用于存储所述服务端地址信息和服务端端口号的存储模块,以及地址比较器(113)和端口比较器(114);
所述地址比较器(113)连接于所述网络层模块(111),用于提取所述网络数据信息中的源信息并将其与所述服务端地址信息相比较,并根据比较结果控制所述网络层模块(111)对所述网络数据信息进行网络层协议解析或丢弃该网络数据信息;
所述端口比较器(114)连接于所述传输层模块(112)用于提取所述传输层数据段中的源端口号并将其与所述服务端端口号比较,并根据判断结果控制所述传输层模块对所述传输层数据段进行传输层协议解析或丢弃该传输层数据段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310236670.9A CN104243412B (zh) | 2013-06-15 | 2013-06-15 | 网络数据处理终端及在其中处理网络数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310236670.9A CN104243412B (zh) | 2013-06-15 | 2013-06-15 | 网络数据处理终端及在其中处理网络数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104243412A CN104243412A (zh) | 2014-12-24 |
CN104243412B true CN104243412B (zh) | 2019-03-05 |
Family
ID=52230776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310236670.9A Active CN104243412B (zh) | 2013-06-15 | 2013-06-15 | 网络数据处理终端及在其中处理网络数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104243412B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109089175B (zh) * | 2017-06-14 | 2022-04-22 | 中兴通讯股份有限公司 | 一种视频缓存加速的方法及装置 |
CN114095427A (zh) * | 2017-12-29 | 2022-02-25 | 西安华为技术有限公司 | 一种处理数据报文的方法和网卡 |
CN111181934A (zh) * | 2019-12-19 | 2020-05-19 | 胡友彬 | 一种气象水文专用传输应用协议解析系统 |
CN111200561B (zh) * | 2019-12-31 | 2022-03-15 | 奇安信科技集团股份有限公司 | 数据包传输方法和装置、计算机系统和可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778161A (zh) * | 2010-01-19 | 2010-07-14 | 中兴通讯股份有限公司 | 一种移动互联网终端 |
CN102438230A (zh) * | 2011-08-18 | 2012-05-02 | 宇龙计算机通信科技(深圳)有限公司 | 终端和数据业务处理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100499567C (zh) * | 2004-12-02 | 2009-06-10 | 华为技术有限公司 | 视频组播业务中频道切换的实现方法 |
CN101471839B (zh) * | 2007-12-29 | 2011-05-04 | 北京天融信网络安全技术有限公司 | 多核异步实现IPSec vpn的方法 |
-
2013
- 2013-06-15 CN CN201310236670.9A patent/CN104243412B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778161A (zh) * | 2010-01-19 | 2010-07-14 | 中兴通讯股份有限公司 | 一种移动互联网终端 |
CN102438230A (zh) * | 2011-08-18 | 2012-05-02 | 宇龙计算机通信科技(深圳)有限公司 | 终端和数据业务处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104243412A (zh) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101649835B1 (ko) | 가용 디바이스 리소스들에 기초한 디바이스 태스크들을 적응시키는 기법 | |
CN104054068B (zh) | 用于远程桌面协议的改进的带宽优化 | |
CN111246284B (zh) | 视频流播放方法、系统、终端及存储介质 | |
CN107276722A (zh) | 一种基于udp的数据传输方法和系统 | |
CN110502259B (zh) | 服务器版本升级方法、视联网系统、电子设备及存储介质 | |
CN114422451A (zh) | 一种网络流量识别方法及相关设备 | |
CN106664290A (zh) | 一种光电混合网络的数据传输方法及装置 | |
CN104243412B (zh) | 网络数据处理终端及在其中处理网络数据的方法 | |
WO2012094916A1 (zh) | 一种流媒体数据包的封装、传输方法及流媒体处理装置 | |
CN106685827B (zh) | 一种下行报文的转发方法及ap设备 | |
EP2643957A1 (en) | Object-based transport protocol | |
CN110011935B (zh) | 数据流处理方法及相关设备 | |
CN103348657B (zh) | 流媒体播放方法、设备及系统 | |
CN109391520B (zh) | 基于融合型家庭网关的深度报文检测方法、装置和系统 | |
CN110662017B (zh) | 一种视频播放质量检测方法和装置 | |
Lei et al. | Design and implementation of streaming media processing software based on RTMP | |
US20160294986A1 (en) | Data Transmission Method And Device | |
CN108111558A (zh) | 一种高速报文处理方法、装置及系统 | |
CN110266437A (zh) | 投屏消息发送方法、投屏消息处理方法、装置及终端 | |
Go et al. | Hybrid TCP/UDP-based enhanced HTTP adaptive streaming system with multi-homed mobile terminal | |
CN109889521A (zh) | 存储器、通信通道复用实现方法、装置和设备 | |
CN114221909B (zh) | 数据传输方法、装置、终端及存储介质 | |
CN111224889A (zh) | 一种数据传输的方法和装置 | |
CN105704052A (zh) | 一种量化的拥塞通告消息生成方法及装置 | |
CN110233856A (zh) | 报文处理方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |