CN101521726A - 一种网络电视机及其数据报的捕获方法 - Google Patents
一种网络电视机及其数据报的捕获方法 Download PDFInfo
- Publication number
- CN101521726A CN101521726A CN200810241656A CN200810241656A CN101521726A CN 101521726 A CN101521726 A CN 101521726A CN 200810241656 A CN200810241656 A CN 200810241656A CN 200810241656 A CN200810241656 A CN 200810241656A CN 101521726 A CN101521726 A CN 101521726A
- Authority
- CN
- China
- Prior art keywords
- network
- buffer stopper
- application program
- network data
- module
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004891 communication Methods 0.000 claims description 7
- 230000005055 memory storage Effects 0.000 abstract 2
- 238000005516 engineering process Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络电视机及其数据报的捕获方法,其网络模块包括分别与所述网络适配器驱动模块和网卡接口相连的直接内存存储控制器(DMA控制器),且所述网络电视机设置有一通过直接内存存储(DMA)通道与网卡接口相连的缓冲块。本发明通过在网络电视机上建立一段网卡和用户区公用的内存空间,保证了网络适配器驱动器和用户程序能直接对公用的内存空间进行访问和操作,从而减少了系统内核向用户空间的内存拷贝,同时减少了系统调用的开销,提高了网络电视机视频音频数据的播放流畅性。
Description
技术领域
本发明涉及网络电视机技术领域,具体涉及一种网络电视机及其数据报的捕获方法。
背景技术
目前常用的网络电视机的架构如图1所示,网络电视机包括:电视机本体、多媒体处理模块、连接于电视机本体与多媒体处理模块之间的控制模块、视频模块和音频模块、以及连接多媒体处理模块的网络模块和应用程序模块。所述多媒体处理模块主要对音视频信号进行处理,其包括硬件芯片和底层系统软件,而底层系统软件包括操作系统内核和驱动程序(包括网络适配器驱动程序)两部分,硬件芯片包括CPU和内存空间。所述网络模块包括网络协议栈以及网络适配器等等。所述应用程序模块为网络电视机提供电视机端用户软件,其包括各类用户程序。所述控制模块连接电视机本体的CPU,主要用于处理电视机本体与多媒体处理模块的信息交换控制。网络数据报通过网络模块接收并传递给多媒体处理模块进行处理,分离出视频或音频信号,然后由电视机本体的CPU发出控制命令来通过控制模块实现对视频或音频信号的显示,应用程序模块则用来根据用户操作实现视频或音频信号的选择。基于上述系统结构,现有技术中通常采用如图2所示的利用Libpcap技术的捕包平台来实现网络数据报从网络适配器到用户应用程序模块的传输,其主要过程是:传统的网络数据报处理,需要经过网络设备(如图2中的网络适配器)到多媒体处理模块的操作系统内存空间,然后由操作系统内存空间到用户应用程序空间这两次拷贝,同时还需要经历用户向操作系统发出的系统调用,过程复杂,并且数据的拷贝需要有多媒体处理模块中CPU的参与才能进行。
目前网络带宽日益增大,普通网络报文捕获平台已经成为大规模宽带网络的入侵检测系统,宽带网络防火墙,高性能路由器等工程的瓶颈。因为在大流量下,每秒钟流量可以达到十几万pps,峰值可以达到几十万、上百万pps的数据包,并且每来一个包就产生一次中断,每次中断的现场处理和切换上下文平均需要耗费至少三个CPU周期系统,这对于捕包平台来说要花费的代价是可想而知的。
通常多媒体处理模块中CPU硬件处理芯片可以采用数字信号处理器DSP或者其他32位的微处理器,但是,随着日益发展的高速网络,其网络数据报文的流量也在日趋增大,那么就需要更快速的CPU才能满足其捕包平台的需要。那么,现实就迫切需要分析出普通报文捕获平台的性能瓶颈,研究出高速通信接口,以便有效地提高网络电视机的响应速度。
发明内容
本发明的目的在于提供了一种网络电视机及其数据报的捕获方法,其能够有效地缩减数据的拷贝次数,并且提高网络电视机的响应速度,保证视音数据播放的流畅性和效果。
为了实现上述目的,本发明采用如下技术方案:
本发明提供的一种网络电视机,其包括:电视机本体、多媒体处理模块、连接多媒体处理模块的网络模块和应用程序模块,所述多媒体处理模块包括网络适配器驱动模块,所述网络模块包括用于从网络接收或向网络发送数据的网卡接口;所述网络模块包括分别与所述网络适配器驱动模块和网卡接口相连的直接内存存储控制器(DMA控制器),且所述网络电视机设置有一通过直接内存存储(DMA)通道与网卡接口相连的缓冲块;所述缓冲块与所述应用程序模块通信连接,用于将从所述网卡接口获得的网络数据报直接通过直接内存存储(DMA)通道存储到所述缓冲块中,供所述应用程序模块调用;所述缓冲块还与所述多媒体处理模块的网络适配器驱动模块通信连接,用于所述网络适配器驱动模块获知所述缓冲块中有待发送的网络数据报时,控制直接内存存储控制器(DMA控制器)通过网卡接口利用直接内存存储(DMA)通道获取所述缓冲块中待发送的网络数据报,并发送。
所述的网络电视机,其中,所述缓冲块包括:接收单元,用于存储从所述网卡接口接收到的网络数据报,所述接收单元分别与所述应用程序模块和网卡接口通信连接。
所述的网络电视机,其中,所述缓冲块还包括:发送单元,用于存储待发送的网络数据报,所述发送单元分别与所述网络适配器驱动模块和网卡接口通信连接。
所述的网络电视机,其中,所述缓冲块设置在所述多媒体处理模块的系统内核预先分配的地址空间中,并将该缓冲块的内存区域映射到所述应用程序模块对应的应用程序空间中。
所述的网络电视机,其中,所述缓冲块设置在所述应用程序模块对应的应用程序空间中,并将该缓冲块的内存区域映射到所述多媒体处理模块的系统内核地址空间中。
上述网络电视机的数据报捕获方法,其方法包括:
通过操作系统预先设置一缓冲块;
通过直接内存存储控制器(DMA控制器)将接收的网络数据报通过直接内存存储(DMA)通道存储到所述缓冲块中;
应用程序模块调用所述缓冲块中的网络数据报。
所述的方法,其中,所述方法还包括:所述缓冲块中还存储有待发送的网络数据报。
所述的方法,其中,所述多媒体处理模块中的网络适配器驱动模块获知所述缓冲块中有待发送的网络数据报时,控制直接内存存储控制器(DMA控制器)通过网卡接口利用直接内存存储(DMA)通道获取所述缓冲块中待发送的网络数据报,并发送。
所述的方法,其中,所述缓冲块中划分有:用于存储接收网络数据报的接收单元和用于存储待发送网络数据报的发送单元两个区域。
发明效果:本发明通过在网络电视机上建立一段网卡和用户区公用的内存空间,保证了网络适配器驱动器和用户程序能直接对公用的内存空间进行访问和操作,从而减少了系统内核向用户空间的内存拷贝,同时减少了系统调用的开销,提高了网络电视机视频音频数据的播放流畅性。
附图说明
图1为现有技术中网络电视机的结构示意图。
图2为现有技术中网络电视机所采用的捕包平台结构示意图。
图3为本发明网络电视机所采用的捕包平台结构示意图。
具体实施方式
以下结合说明书附图详细描述本发明的具体实现方式。
如图1所示,网络电视机包括:电视机本体、多媒体处理模块、连接于电视机本体与多媒体处理模块之间的控制模块、视频模块和音频模块、以及连接多媒体处理模块的网络模块和应用程序模块。所述多媒体处理模块主要对音视频信号进行处理,其包括硬件芯片和底层系统软件,而底层系统软件包括操作系统内核和驱动程序(包括网络适配器驱动程序)两部分,硬件芯片包括CPU和内存空间。所述网络模块包括网络协议栈以及用于从网络接收或向网络发送数据的网卡接口等等。所述应用程序模块为网络电视机提供电视机端用户软件,其包括各类用户程序。所述控制模块连接电视机本体的CPU,主要用于处理电视机本体与多媒体处理模块的信息交换控制。
为了减少在所述网络模块、多媒体处理模块、应用程序模块之间的数据传输拷贝次数,则如图3所示,在上述网络模块中增加一分别与所述网络适配器驱动模块和网卡接口相连的直接内存存储控制器(DMA控制器)。直接内存存储(Direct Memory Access-DMA)是一种计算机内数据传输的模式,它不需要中央处理器(CPU)的干涉。另外,还在所述网络电视机中设置了一通过直接内存存储(DMA)通道与网卡接口相连的缓冲块,用于存储从网络上获取的网络数据报或者待发送的网络数据报。所述缓冲块与所述应用程序模块通信连接,用于将从所述网卡接口获得的网络数据报直接通过直接内存存储(DMA)通道存储到所述缓冲块中,供所述应用程序模块调用;所述缓冲块还与所述多媒体处理模块的网络适配器驱动模块通信连接,用于所述网络适配器驱动模块获知所述缓冲块中有待发送的网络数据报时,控制直接内存存储控制器(DMA控制器)通过网卡接口利用直接内存存储(DMA)通道获取所述缓冲块中待发送的网络数据报,并发送。
从上可见,本发明通过建立所述网络适配器驱动模块和应用程序模块共享的缓冲块,实现了所述应用程序模块对缓冲块的直接读写操作,并且网络适配器驱动模块也可对缓冲块直接进行读写操作,方便将待发送的网络数据报通过网卡接口发送至网络,这一过程结合了DMA技术,而不需要系统CPU的参与,所以可以适应于大流量的网络系统,并且还可以缩减硬件成本、提高视音频数据的播放质量。
如图3所示,上述缓冲块包括:接收单元,用于存储从所述网卡接口接收到的网络数据报,所述接收单元分别与所述应用程序模块和网卡接口通信连接。上述缓冲块还包括:发送单元,用于存储待发送的网络数据报,所述发送单元分别与所述网络适配器驱动模块和网卡接口通信连接。这里将接收和待发送的网络数据报分别存储,可以方便所述应用程序模块和网卡接口的读取。
如图3所示,上述缓冲块的设置可以采用以下两种方式来实现:
第一种,上述缓冲块设置在多媒体处理模块的系统内核预先分配的地址空间中,并将该缓冲块的内存区域映射到应用程序模块对应的应用程序空间中。
第二种,上述缓冲块设置在应用程序模块对应的应用程序空间中,并将该缓冲块的内存区域映射到多媒体处理模块的系统内核地址空间中,比如网络适配器对应的物理地址表。
上述两种方式都可以实现缓冲块的共享,并保证应用程序模块、网卡接口和多媒体处理模块的驱动程序能直接对该缓冲块直接访问操作。
基于上述系统结构,本发明还提供了一种网络电视机的数据报捕获方法,所述方法包括以下步骤:
通过操作系统预先设置一缓冲块;
通过直接内存存储控制器(DMA控制器)将接收的网络数据报通过直接内存存储(DMA)通道存储到所述缓冲块中;
应用程序模块调用所述缓冲块中的网络数据报。
上述缓冲块中还存储有待发送的网络数据报,然后上述述多媒体处理模块中的网络适配器驱动模块获知所述缓冲块中有待发送的网络数据报时,控制直接内存存储控制器(DMA控制器)通过网卡接口利用直接内存存储(DMA)通道获取缓冲块中待发送的网络数据报,并发送。
上述缓冲块中划分有:用于存储接收网络数据报的接收单元和用于存储待发送网络数据报的发送单元两个区域。
综上所述,相对于现有技术采用的Libpcap技术而言,本发明的网络电视机中,当网卡为Intel845系列千兆光纤网卡时,可以将每秒发送报文数从14Mpackes/S提高到70Mpackes/S,将每秒接收报文数从20Mpackes/S提高到130Mpackes/S,CPU的占用降低到50%以下,可见,本发明不论是发包还是收包都是传统的Libpcap系统的5倍以上,所以本发明的网络电视机可以极大地提高了系统的数据处理能力,使得CPU能够有更多的宝贵时间来处理其他的高级应用,并提高视音频数据的播放质量。
上述各具体步骤的举例说明较为具体,并不能因此而认为是对本发明的专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准。
Claims (9)
1、一种网络电视机,包括:电视机本体、多媒体处理模块、连接多媒体处理模块的网络模块和应用程序模块,所述多媒体处理模块包括网络适配器驱动模块,所述网络模块包括用于从网络接收或向网络发送数据的网卡接口;其特征在于,
所述网络模块包括分别与所述网络适配器驱动模块和网卡接口相连的直接内存存储控制器,且所述网络电视机设置有一通过直接内存存储通道与网卡接口相连的缓冲块;
所述缓冲块与所述应用程序模块通信连接,用于将从所述网卡接口获得的网络数据报直接通过直接内存存储通道存储到所述缓冲块中,供所述应用程序模块调用;
所述缓冲块还与所述多媒体处理模块的网络适配器驱动模块通信连接,用于所述网络适配器驱动模块获知所述缓冲块中有待发送的网络数据报时,控制直接内存存储控制器通过网卡接口利用直接内存存储通道获取所述缓冲块中待发送的网络数据报,并发送。
2、根据权利要求1所述的网络电视机,其特征在于,所述缓冲块包括:接收单元,用于存储从所述网卡接口接收到的网络数据报,所述接收单元分别与所述应用程序模块和网卡接口通信连接。
3、根据权利要求1所述的网络电视机,其特征在于,所述缓冲块还包括:发送单元,用于存储待发送的网络数据报,所述发送单元分别与所述网络适配器驱动模块和网卡接口通信连接。
4、根据权利要求1所述的网络电视机,其特征在于,所述缓冲块设置在所述多媒体处理模块的系统内核预先分配的地址空间中,并将该缓冲块的内存区域映射到所述应用程序模块对应的应用程序空间中。
5、根据权利要求1所述的网络电视机,其特征在于,所述缓冲块设置在所述应用程序模块对应的应用程序空间中,并将该缓冲块的内存区域映射到所述多媒体处理模块的系统内核地址空间中。
6、权利要求1所述网络电视机的数据报捕获方法,其特征在于,所述方法包括:
通过操作系统预先设置一缓冲块;
通过直接内存存储控制器将接收的网络数据报通过直接内存存储通道存储到所述缓冲块中;
应用程序模块调用所述缓冲块中的网络数据报。
7、根据权利要求6所述的方法,其特征在于,所述方法还包括:所述缓冲块中还存储有待发送的网络数据报。
8、根据权利要求7所述的方法,其特征在于,所述方法中,所述多媒体处理模块中的网络适配器驱动模块获知所述缓冲块中有待发送的网络数据报时,控制直接内存存储控制器通过网卡接口利用直接内存存储通道获取所述缓冲块中待发送的网络数据报,并发送。
9、根据权利要求7所述的方法,其特征在于,所述缓冲块中划分有:用于存储接收网络数据报的接收单元和用于存储待发送网络数据报的发送单元两个区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102416567A CN101521726B (zh) | 2008-12-19 | 2008-12-19 | 一种网络电视机及其数据报的捕获方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102416567A CN101521726B (zh) | 2008-12-19 | 2008-12-19 | 一种网络电视机及其数据报的捕获方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101521726A true CN101521726A (zh) | 2009-09-02 |
CN101521726B CN101521726B (zh) | 2013-07-10 |
Family
ID=41082083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102416567A Active CN101521726B (zh) | 2008-12-19 | 2008-12-19 | 一种网络电视机及其数据报的捕获方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101521726B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847429A (zh) * | 2010-04-13 | 2010-09-29 | 苏州达通泰科信息技术有限公司 | 具有网络直放功能的多闪存并行存储装置 |
CN103220567A (zh) * | 2013-03-21 | 2013-07-24 | 青岛海信信芯科技有限公司 | 一种电视开机音乐播放的方法,系统及电视机 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741589A (zh) * | 2004-08-11 | 2006-03-01 | 四川长虹电器股份有限公司 | 可与外部存储器进行数据通讯的电视 |
CN2754294Y (zh) * | 2004-12-29 | 2006-01-25 | 海信集团有限公司 | 高端电视机 |
CN1333333C (zh) * | 2005-03-16 | 2007-08-22 | 西安电子科技大学 | 码流播放卡和码流采集卡的驱动方法 |
CN200983627Y (zh) * | 2006-12-13 | 2007-11-28 | 青岛海信电器股份有限公司 | 具有多媒体适配器功能的电视机 |
-
2008
- 2008-12-19 CN CN2008102416567A patent/CN101521726B/zh active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847429A (zh) * | 2010-04-13 | 2010-09-29 | 苏州达通泰科信息技术有限公司 | 具有网络直放功能的多闪存并行存储装置 |
CN101847429B (zh) * | 2010-04-13 | 2012-05-23 | 苏州达通泰科信息技术有限公司 | 具有网络直放功能的多闪存并行存储装置 |
CN103220567A (zh) * | 2013-03-21 | 2013-07-24 | 青岛海信信芯科技有限公司 | 一种电视开机音乐播放的方法,系统及电视机 |
Also Published As
Publication number | Publication date |
---|---|
CN101521726B (zh) | 2013-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8347008B2 (en) | Method and system for hardware based implementation of USB 1.1 over a high speed link | |
CN100517284C (zh) | 一种外部控制dma控制器的方法及其装置 | |
CN102402413A (zh) | 和影像传感器通讯的电子系统、控制器及控制方法 | |
CN105072190A (zh) | 一种实时性桌面云的实现方法及系统 | |
NZ522395A (en) | Network based KVM switching system using a converter between a server and a workstation | |
CN101242371A (zh) | 基于PCIe交换架构路由器堆叠的方法、系统和装置 | |
AU2008203261A1 (en) | Data processing apparatus and data transfer method | |
CN208258096U (zh) | 接收设备和无线传屏系统 | |
WO2020143237A1 (zh) | 一种dma控制器和异构加速系统 | |
CN101350813A (zh) | 一种为数字家电提供WiFi接入互联网的方法和装置 | |
US11579831B2 (en) | Intelligent interactive all-in-one machine | |
CN105656808A (zh) | 报文处理方法及其系统 | |
CN107193766B (zh) | 一种PCIe设备与主机之间的多路有序数据传输方法 | |
JP4474356B2 (ja) | コンピュータシステムおよびストレージ仮想化装置 | |
CN101521726B (zh) | 一种网络电视机及其数据报的捕获方法 | |
WO2019200914A1 (zh) | 终端及投屏系统 | |
US20050083975A1 (en) | Using multiple communication links in conjunction with a media adapter | |
WO2024051674A1 (zh) | 图像处理电路和电子设备 | |
CN110659080B (zh) | 页面显示方法、装置、电子设备及存储介质 | |
JP2003223410A (ja) | コンピュータ装置およびシステム構成方法 | |
CN105263134A (zh) | 一种图像传输方法及移动设备 | |
CN110007977A (zh) | 一种基于反馈丢帧算法改善spice视频播放方法 | |
RU2243589C1 (ru) | Способ передачи по компьютерной сети данных от устройства, оснащенного интерфейсом usb | |
JP6785009B2 (ja) | 通信装置、及び、通信装置の制御方法 | |
WO2013062270A1 (en) | Video on demand service method using solid state drive |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |