CN102355598B - 一种基于操作系统驱动层的加扰方法和装置 - Google Patents
一种基于操作系统驱动层的加扰方法和装置 Download PDFInfo
- Publication number
- CN102355598B CN102355598B CN201110303128.1A CN201110303128A CN102355598B CN 102355598 B CN102355598 B CN 102355598B CN 201110303128 A CN201110303128 A CN 201110303128A CN 102355598 B CN102355598 B CN 102355598B
- Authority
- CN
- China
- Prior art keywords
- scrambling
- module
- operating system
- network interface
- drive 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
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种基于操作系统驱动层的加扰方法,包括:S1.接收配置模块对加扰节目流的配置信息,定期生成所述加扰节目数据流信息的密钥CW,发送给ECMG模块;S2.接收所述的ECMG模块返回的ECM包;S3.接收节目数据流信息的过滤规则;S4.抓取所需要的固定IP和端口网络数据流并发送;S5.接收加扰节目数据流信息的CW和待插入数据流中的ECM包以及所述的固定IP和端口网络数据流,生成最终的封装数据流;S6.将所述的最终的封装数据流发送到指定的目的IP和端口上。本发明还公开了一种基于操作系统驱动层的加扰系统。本发明在操作系统驱动层直接抓取并处理数据包,提高了单路码流的速率和输入总码率,进一步提高了加扰装置的实用性和实时性。
Description
技术领域
本发明涉及网络媒体领域,尤其涉及一种基于操作系统驱动层的加扰方法和装置。
背景技术
随着经济的发展以及人们生活的改善、人们对媒体内容视觉享受不断提高,媒体内容从标清逐步向高清或更高品质的发展,因此,为了能够实时加扰多路的高清直播节目,需要提高加扰器每一路码流的速率和输入码流的总码率。加扰节目的输入码率的性能不能满足用户更高的视觉享受,在某种程度上限制了高质量媒体内容的应用和扩展。
在现有技术中,通过网络套接字捕获和发送数据,在用户空间中处理网络数据,网卡将网络数据包接收到内核,在内核中对其进行逐层去封装,再由用户空间的接收模块获取网络数据,加扰模块进行加扰处理,发送模块发送网络数据,然后再将数据从用户空间复制到内核,再逐层进行封装,映射到网卡的发送缓冲区,由网卡发送出去。
上述密文结构的缺点是:网络数据需要从内核去封装并复制到用户空间,处理完成后,再由用户空间复制到内核,并加上封装。如果网络流量较大,那么大量的数据拷贝会极大地消耗CPU资源,从而降低系统性能。同时,用户空间中的接收模块和发送模块都需要调用系统函数,当网络流量增加时,会触发大量的系统调用,从而降低了性能。因此,不能保证同时加扰多路大码率的直播节目。
发明内容
本发明要解决的技术问题在于,提供一种提高单路码流的速率和输入总码率的基于操作系统驱动层的加扰方法和装置。
本发明公开了一种基于操作系统驱动层的加扰方法,包括:
S1.接收配置模块对加扰节目流的配置信息,定期生成所述加扰节目数据流信息的密钥CW,发送给ECMG模块;
S2.接收所述的ECMG模块返回的ECM包;
S3.发送节目数据流信息的过滤规则,发送加扰节目数据流信息的CW和待插入数据流中的ECM包;
S4.接收节目数据流信息的过滤规则;
S5.抓取所需要的固定IP和端口网络数据流并发送;
S6.接收加扰节目数据流信息的CW和待插入数据流中的ECM包以及所述的固定IP和端口网络数据流,生成最终的封装数据流;
S7.将所述的最终的封装数据流发送到指定的目的IP和端口上;
其中,所述步骤S1至步骤S3在操作系统用户空间层进行,步骤S4至步骤S7在操作系统驱动层进行。
在本发明所述的基于操作系统驱动层的加扰方法中,所述的步骤S5后步骤S6前还包括步骤S51,判断是否符合过滤规则,若是,进入步骤S6;若非,进入步骤S7。
在本发明所述的基于操作系统驱动层的加扰方法中,所述节目数据流信息,具体是:节目流的ID、节目流的源、目的IP和端口及节目流的加扰方式。
本发明公开了一种基于操作系统驱动层的加扰装置,用于实现上述的方法,包括网卡驱动设备、网卡设备、协议栈,所述的网卡驱动设备用于驱动网卡设备,还包括:
加扰控制模块:用于接收配置模块对加扰节目流的配置信息,定期生成所述加扰节目数据流信息的密钥CW,发送给ECMG模块;接收所述的ECMG模块返回的ECM包;控制内核中模块,发送节目数据流的过滤规则,发送加扰节目数据流的CW和待插入数据流中的ECM包;
Netfilter接收模块:与所述的加扰控制模块相连,用于根据所述的加扰控制模块设置的规则抓取出所需要的固定IP和端口网络数据流并发送;
加扰模块:与所述的Netfilter接收模块相连,用于接收加扰节目数据流信息的CW和待插入数据流中的ECM包以及所述的固定IP和端口网络数据流,生成最终的封装数据流;
发送模块:与所述的加扰模块相连,用于将所述的最终的封装数据流发送到指定的目的IP和端口上;
其中,所述的加扰控制模块位于操作系统用户空间层,所述的Netfilter接收模块、加扰模块及发送模块位于操作系统驱动层。。
本发明公开了一种基于操作系统驱动层的加扰系统,包括多个网卡模块及加扰装置,所述的加扰装置为上述技术方案中所述的基于操作系统驱动层的加扰装置。
在本发明所述的基于操作系统驱动层的加扰系统中,所述的网卡模块数目为4个,具体是:第一网卡模块,第二网卡模块,第三网卡模块及第四网卡模块。
在本发明所述的基于操作系统驱动层的加扰系统中,所述的第一网卡模块及第二网卡模块为百兆及以上的业务信令网卡接口。
在本发明所述的基于操作系统驱动层的加扰系统中,所述的第一网卡模块及第二网卡模块绑定同一个IP地址,用于业务服务器的主备冗余。
在本发明所述的基于操作系统驱动层的加扰系统中,所述的第三网卡模块为千兆及以上的视频源地址网口;第四网卡模块为千兆及以上的视频目的地址网口。
实施本发明的基于操作系统驱动层的加扰及装置,具有以下有益的技术效果:
在操作系统驱动层直接抓取并处理数据包,提高了单路码流的速率和输入总码率,进一步提高了加扰装置的实用性和实时性。
附图说明
图1是本发明实施例一种现有的基于操作系统驱动层的加扰装置方框图;
图2为本发明实施例一种基于操作系统驱动层的加扰方法流程图;
图3为本发明实施例一种基于操作系统驱动层的加扰装置方框图;
图4为本发明实施例一种基于操作系统驱动层的加扰系统硬件结构图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1,本发明基于操作系统驱动层的加扰方法的现有技术,包括:配置模块10、ECMG模块20、接收模块30、加扰模块40、发送模块50、协议栈60、网卡驱动设备70、网卡设备80。
具体工作过程为:网卡驱动设备70驱动网卡设备80工作,网卡设备80通过网络套接字捕获和发送数据,在用户空间中处理网络数据,网卡设备80将网络数据包接收到内核,在内核中对其进行逐层去封装,再由用户空间的接收模块30通过调用套接字Socket API接口sock_recvmsg获取网络数据,然后网络数据从内核复制到用户空间。加扰模块40按照一定规则对此数据进行加扰处理,插入ECM包。发送模块50通过调用sock_sendmsg发送网络数据,将数据从用户空间复制到内核,再逐层进行封装,映射到网卡设备80的发送缓冲区,由网卡设备80发送出去。
需要说明的是,本发明中的各模块是以软件与硬件结合的功能单元形式存在的。
请参阅图2,一种基于操作系统驱动层的加扰方法,包括:
S1.接收配置模块对加扰节目流的配置信息,定期生成所述加扰节目数据流信息的密钥CW,发送给ECMG模块;
需要说明的是:CW:Control Word,控制字,用来加扰媒体内容,按周期变化;ECM:Entitlement Control Message,授权控制信息数据包;ECMG:Entitlement Control Message Generator,授权控制信息构造器;所述密钥CW数目为多个。
S2.接收所述的ECMG模块返回的ECM包;
上述的步骤S1及S2是在操作系统用户空间进行,对于大量高质量的网络直播节目数据流而言,节目流配置数据、加扰控制数据的数据量显得微乎其微,它们在内核与用户空间的复制、封包、拆包所消耗的CPU资源以及所使用的时间不会影响到加扰装置的性能。
S3.接收节目数据流信息的过滤规则;
所述节目数据流信息,具体是:节目流的ID、节目流的源、目的IP和端口及节目流的加扰方式。
S4.抓取所需要的固定IP和端口网络数据流并发送;
S41.判断是否符合过滤规则,若是,进入步骤S5;若非,进入步骤S6。
即:按照设置的节目流源IP和端口捕获所需要的网络数据,判断是否符合过滤规则,若是,进入步骤S5,不符合规则的数据直接发送到指定的目的IP和端口上。
S5.接收加扰节目数据流信息的CW和待插入数据流中的ECM包以及所述的固定IP和端口网络数据流,生成最终的封装数据流;
S6.将所述的最终的封装数据流发送到指定的目的IP和端口上。
上述步骤S3至步骤S6在操作系统驱动层层进行。
请参阅图3,一种基于操作系统驱动层的加扰装置,用于实现上述的基于操作系统驱动层的加扰方法,包括:配置模块10、ECMG模块20、加扰控制模块25、Netfilter接收单元30、加扰模块40、发送模块50、协议栈60、网卡驱动设备70、网卡设备80。
加扰控制模块25:用于接收配置模块对加扰节目流的配置信息,定期生成所述加扰节目数据流信息的密钥CW,发送给ECMG模块;接收所述的ECMG模块返回的ECM包;控制内核中模块,发送节目数据流的过滤规则,发送加扰节目数据流的CW和待插入数据流中的ECM包;
Netfilter接收模块30:与加扰控制模块25相连,用于根据所述的加扰控制模块设置的规则抓取出所需要的固定IP和端口网络数据流并发送;
Netfilter接收模块主要基于Netfilter架构,Netfilter是目前操作系统驱动层网络重要的组成部分,是操作系统网络防火墙以及Iptable实现的基础。在Netfilter中,协议栈每种协议都定义了若干个钩子(Hook),而对应协议的数据包将按照一定的流程通过若干个钩子,每个钩子都是处理函数挂载点。
Netfilter接收模块选取第一个hook点(NF_IP_PRE_ROUTING),注册过滤函数,过滤所有流入的网络数据包。按照IP包头中的源地址、目的地址、源端口、目的端口、及包类型以及连接状态等信息来控制包的流向,更为彻底的过滤是检查包中的源端口、目的端口以及连接状态等信息,只将符合过滤规则的数据包的skb描述符指针传递给加扰模块。
加扰模块40:与Netfilter接收模块30相连,用于接收加扰节目数据流信息的CW和待插入数据流中的ECM包以及所述的固定IP和端口网络数据流,生成最终的封装数据流;
加扰模块40对所接收各个节目流的skb进行分析,解析出报文数据,然后从内存映射表中获取对应节目流的CW和ECM包,使用CW加扰报文数据,然后构建一个ECM对应的skb,插入到数据流中,由发送模块直接发送。
发送模块50:与加扰模块40相连,用于将所述的最终的封装数据流发送到指定的目的IP和端口上;
本发明中,所述的基于操作系统驱动层的加扰装置分为操作系统用户空间层以及操作系统驱动层层。所述的加扰控制模块25位于所述操作系统用户空间层里;Netfilter接收模块30,加扰模块40及发送模块50位于所述操作系统驱动层层里。
本方案中所处理的数据分为三类,包括:节目流配置数据、加扰控制数据和网络数据,这三类数据按照不同的流程分别进行处理。
节目流配置数据处理流程:(1)当加扰装置启动后,加扰控制模块不断接收外部的配置模块发送的节目流数据信息,包括:节目流的ID,节目流的源、目的IP和端口,节目流的加扰方式等。(2)加扰控制模块将节目流的源、目的IP和端口设置到Netfilter接收模块。
加扰控制数据处理流程:1)当加扰装置启动后,按照一定周期和规则生成若干个CW,并将CW发送给外部ECMG模块。2)当ECMG模块生成ECM包后,发送给加扰控制模块。3)加扰控制模块将CW、ECM包以及加扰方式等信息保存到加扰模块的映射表中。
网络数据处理流程:1、当加扰装置启动后,Netfilter接收模块按照设置的节目流源IP和端口捕获所需要的网络数据,发送给加扰模块,不符合规则的数据直接发送出去。2、加扰模块分析出不同的节目流,按照映射表中各个节目流的不同规则,加扰数据流,并插入指定的ECM包,封装成加扰后的网络数据流。3、发送模块将封装好的网路数据流发送到指定的目的IP和端口上。
对于大量高质量的网络直播节目数据流而言,节目流配置数据、加扰控制数据的数据量显得微乎其微,它们在内核与用户空间的复制、封包、拆包所消耗的CPU资源以及所使用的时间不会影响到加扰装置的性能。但是,将大量的网络数据直接在内核中处理,会大大提高了加扰装置效率,优化了性能。
请参阅图4,一种基于操作系统驱动层的加扰系统,包括:第一网卡模块1、第二网卡模块2、第三网卡模块3、第四网卡模块4、加扰装置5、业务服务器90、业务服务器95、节目源100、流媒体服务器105。
其中,加扰装置5为本发明图3中所述的基于操作系统驱动层的加扰装置。
进一步地,第一网卡模块1及第二网卡模块2为百兆及以上的业务信令网卡接口,第一网卡模块1及第二网卡模块2绑定同一个IP地址,用于业务服务器的主备冗余。可以与业务服务器90和业务服务器95进行业务交互、节目流数据配置,第三网卡模块3为千兆及以上的视频源地址网口;第四网卡模块4为千兆及以上的视频目的地址网口,用于接收网络节目节目源100数据流和发送加扰后的节目数据流至流媒体服务器105。
本实施案例充分利用了操作系统驱动层的时间精度高和响应速度快的特性,将接收、发送和加扰的功能嵌入到操作系统驱动层中完成,从而提高加扰单路码流的速率和输入的总码率,并保证节目的实时性和稳定性。采用基于Netfilter架构加扰装置具有较强的网络管理控制能力,从而提高网络与服务器的安全性。
实施本发明的基于操作系统驱动层的加扰方法和系统,具有以下有益的技术效果:
在操作系统驱动层层直接抓取并处理数据包,提高了单路码流的速率和输入总码率,进一步提高了加扰装置的实用性和实时性。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (8)
1.一种基于操作系统驱动层的加扰方法,其特征在于,包括:
S1.接收配置模块对加扰节目流的配置信息,定期生成所述加扰节目数据流信息的密钥CW,发送给授权控制信息构造器ECMG模块;
S2.接收所述的ECMG模块返回的ECM包;
S3.发送节目数据流信息的过滤规则,发送加扰节目数据流信息的CW和待插入数据流中的ECM包;
S4.接收节目数据流信息的过滤规则;
S5.抓取所需要的固定IP和端口网络数据流,判断是否符合过滤规则,若是,则发送所述的固定IP和端口网络数据流,并进入步骤S6;若否,将不符合过滤规则的数据直接发送到目的IP和端口上,并不再执行步骤S6和S7;
S6.接收加扰节目数据流信息的CW和待插入数据流中的ECM包以及所述的固定IP和端口网络数据流,生成最终的封装数据流;
S7.将所述的最终的封装数据流发送到指定的目的IP和端口上;
其中,所述步骤S1至步骤S3在操作系统用户空间层进行,步骤S4至步骤S7在操作系统驱动层进行。
2.根据权利要求1所述的基于操作系统驱动层的加扰方法,其特征在于,所述节目数据流信息,具体是:节目流的ID、节目流的源、目的IP和端口及节目流的加扰方式。
3.一种基于操作系统驱动层的加扰装置,用于实现权利要求1所述的方法,包括网卡驱动设备、网卡设备、协议栈,所述的网卡驱动设备用于驱动网卡设备,其特征在于,还包括:
加扰控制模块:用于接收配置模块对加扰节目流的配置信息,定期生成所述加扰节目数据流信息的密钥CW,发送给授权控制信息构造器ECMG模块;接收 所述的ECMG模块返回的ECM包;控制内核中模块,发送节目数据流的过滤规则,发送加扰节目数据流的CW和待插入数据流中的ECM包;
Netfilter接收模块:与所述的加扰控制模块相连,用于根据所述的加扰控制模块设置的过滤规则抓取出所需要的固定IP和端口网络数据流并发送给加扰模块;
加扰模块:与所述的加扰控制模块和所述的Netfilter接收模块相连,用于从所述的加扰控制模块接收加扰节目数据流信息的CW和待插入数据流中的ECM包以及从所述的Netfilter接收模块接收所述的固定IP和端口网络数据流,生成最终的封装数据流;
发送模块:与所述的加扰模块相连,用于将所述的最终的封装数据流发送到指定的目的IP和端口上;
其中,所述的加扰控制模块位于操作系统用户空间层,所述的Netfilter接收模块、加扰模块及发送模块位于操作系统驱动层。
4.一种基于操作系统驱动层的加扰系统,包括多个网卡模块及加扰装置,其特征在于:所述的加扰装置为权利要求3中所述的基于操作系统驱动层的加扰装置。
5.根据权利要求4所述的基于操作系统驱动层的加扰系统,其特征在于,所述的网卡模块数目为4个,具体是:第一网卡模块、第二网卡模块、第三网卡模块及第四网卡模块。
6.根据权利要求5所述的基于操作系统驱动层的加扰系统,其特征在于,所述的第一网卡模块及第二网卡模块为百兆及以上的业务信令网卡接口。
7.根据权利要求6所述的基于操作系统驱动层的加扰系统,其特征在于,所述的第一网卡模块及第二网卡模块绑定同一个IP地址,用于业务服务器的主 备冗余。
8.根据权利要求5所述的基于操作系统驱动层的加扰系统,其特征在于,所述的第三网卡模块为千兆及以上的视频源地址网口;第四网卡模块为千兆及以上的视频目的地址网口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110303128.1A CN102355598B (zh) | 2011-10-08 | 2011-10-08 | 一种基于操作系统驱动层的加扰方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110303128.1A CN102355598B (zh) | 2011-10-08 | 2011-10-08 | 一种基于操作系统驱动层的加扰方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102355598A CN102355598A (zh) | 2012-02-15 |
CN102355598B true CN102355598B (zh) | 2014-02-19 |
Family
ID=45579083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110303128.1A Active CN102355598B (zh) | 2011-10-08 | 2011-10-08 | 一种基于操作系统驱动层的加扰方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102355598B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248918B (zh) * | 2013-05-16 | 2015-12-02 | 浙江科技学院 | 集成基本数据、正常数据加扰的dvb条件发送装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1722564A1 (fr) * | 2005-05-13 | 2006-11-15 | Nagra France Sarl | Méthode d'accès conditionnel local pour équipements mobiles |
CN101193308A (zh) * | 2006-11-22 | 2008-06-04 | 上海贝尔阿尔卡特股份有限公司 | 用于提供可在通信网络中播放的音/视频信号的方法及装置 |
CN101009553A (zh) * | 2006-12-30 | 2007-08-01 | 中兴通讯股份有限公司 | 实现多网融合移动多媒体广播系统密钥安全的方法和系统 |
CN101217358A (zh) * | 2007-01-05 | 2008-07-09 | 中国移动通信集团公司 | 数字广播业务系统及数字广播业务激活方法 |
CN102111651A (zh) * | 2009-12-24 | 2011-06-29 | 北京视博数字电视科技有限公司 | 节目录制方法、播放方法及其前端、终端设备 |
-
2011
- 2011-10-08 CN CN201110303128.1A patent/CN102355598B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102355598A (zh) | 2012-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102739473B (zh) | 一种应用智能网卡的网络检测方法 | |
CN102098227B (zh) | 报文捕获方法及内核模块 | |
CN110149262B (zh) | 一种信令报文的处理方法和装置、及存储介质 | |
CN108737768B (zh) | 一种基于监控系统的监控方法和监控装置 | |
JP4822866B2 (ja) | インターネットプロトコルを用いたシリアルバスを介したデータ電送を実行するための方法及び当該方法を利用するための装置 | |
CN109167960B (zh) | 一种视频流数据的处理方法和系统 | |
CN109194982B (zh) | 一种传输大文件流的方法和装置 | |
CN105052081A (zh) | 通信流量处理架构和方法 | |
CN110392044B (zh) | 一种基于视联网的信息传输方法及装置 | |
CN109450982B (zh) | 一种网络通讯方法和系统 | |
EP3413533B1 (en) | Data transmission method and system | |
CN104038505A (zh) | 一种IPSec防重放的方法和装置 | |
CN110661726A (zh) | 一种基于多链路聚合的数据发送方法和装置 | |
CN110049341A (zh) | 视频处理方法和装置 | |
CN111125426A (zh) | 一种数据存储和查询的方法及装置 | |
CN110650147A (zh) | 数据获取方法和系统 | |
CN112333210B (zh) | 一种视联网数据通信功能实现方法和设备 | |
CN102355598B (zh) | 一种基于操作系统驱动层的加扰方法和装置 | |
CN102868636A (zh) | 多核网络设备报文按流保序方法及系统 | |
JP2006295787A (ja) | 情報処理システム、情報処理装置、及び情報処理方法 | |
CN108881940A (zh) | 一种数据处理方法和视联网服务器 | |
CN110086773B (zh) | 一种音视频数据的处理方法和系统 | |
CN110830762B (zh) | 一种音视频数据的处理方法和系统 | |
CN110719259A (zh) | 一种数据处理方法及视联网系统 | |
CN109040790A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |