一种利用条件接收模块处理网络数据的方法和装置的制造方法

文档序号:9847299阅读:290来源:国知局
一种利用条件接收模块处理网络数据的方法和装置的制造方法
【技术领域】
[0001]本发明属于数字电视技术领域,尤其涉及一种利用条件接收模块处理网络数据的方法和装置。
【背景技术】
[0002]数字电视时代的兴起渐渐地取代了模拟电视,但数字电视对于模拟电视而言只是信号形式的改变,没有触及媒体内容的传播方式。随着IP网络的飞速发展,更多的网络资源很好的成为了数字电视节目的补充。对于传统条件接收模块而言,主要是集成CA模块,只能单一处理DVB节目,渐渐地不能满足普通家庭的需求。随着传统运营商转型为更加综合的IP网络架构,支持联网电视和其它的设备,IP网络产品有助于现有运营商部署一个更加广泛的客户端设备和致力于开放范围更广的新的数字电视的商业模式,使得一种基于条件接收模块(Condit1nal Access Module,CAM)来实现IPTV应运而生。
[0003]传统技术条件接收模块只能解扰来自前端的DVB节目,对于IPTV网络节目不能进行相应解扰工作。在集成具有网络功能的CA库时,一旦集成的客户端需要对网络资源进行相关操作时,只能单一利用Host LSC资源和server简单数据请求交互,不能够处理来自IP网络运营商的网络节目。
[0004]由于CAM只能处理来自传统DVB运营商的电视节目,对于部分授权节目需要通过网络来进行授权认证处理。传统做法由于CAM没有NIC设备模块(用于将用户要传递的数据转换为网络上其它设备能够识别的格式,通过网络介质传输),所有网络功能接口都需要CAM通过重定义封装来实现(如connect、send/recv、sendto/recvfrom等一些列网络接口 )。
[0005]集成非开源的网络客户端,对于CAM来说所有网络接口的调用关系属于非透明状态,封装函数接口不能解决日益复杂的网络环境需求。当网络客户端在查询网络设备状态时,会因为CAM没有网络设备文件而频繁出错,以至于客户端不能准确获取到网络设备状态,极大程度的影响了网络客户端的正常工作流程。

【发明内容】

[0006]本发明实施例提供一种利用CAM处理网络数据的方法和装置,旨在解决现有技术中播放网络电视节目时只能通过重新定义封装来实现节目播放导致的实现困难的问题。
[0007]本发明实施例是这样实现的,一种利用CAM处理网络数据的方法,该方法包括:
[0008]在CAM中配置与主机建立连接的虚拟网卡;
[0009]通过虚拟网卡获取上行数据以及目标设备的地址和端口信息;
[0010]按照与主机协商的通讯协议将上行数据依据目标设备的地址和端口信息发送给目标设备;
[0011]将主机获取到的下行数据以以太包的格式封装后写入虚拟网卡,以供网络客户端从虚拟网卡中获取下行数据。
[0012]本发明实施例还提供一种利用CAM处理网络数据的装置,该装置包括:
[0013]虚拟网卡配置模块,用于在CAM中配置与主机建立连接的虚拟网卡;
[0014]上行数据获取模块,用于通过虚拟网卡获取上行数据以及目标设备的地址和端口信息;
[0015]上行数据发送模块,用于按照与主机协商的通讯协议将上行数据依据目标设备的地址和端口信息发送给目标设备;
[0016]下行数据写入模块,用于将主机获取到的下行数据以以太包的格式封装后写入虚拟网卡,以供网络客户端从虚拟网卡中获取下行数据。
[0017]本发明通过在CAM中集成虚拟网卡,使得CAM能够准确解析来自客户端的任何数据请求,如IP网络数据包、以太网数据包、TCP/UDP数据包以及UDP网络数据包等,CAM通过解析相应协议数据,能够将有效数据通过主机或互动数字电视的物理链路发送给网络运营商,让CAM通过网络接入来收看IP网络节目,允许用户能在任一时段收看不同节目,给用户一种全新的体验。
【附图说明】
[0018]图1是现有技术中解扰电视节目的方法的流程图;
[0019]图2是本发明实施例一提供的利用CAM处理网络数据的方法的流程图;
[0020]图3是本发明的一个示例提供的客户端与服务器的通信流程图;
[0021 ]图4是本发明实施例二提供的利用CAM处理网络数据的方法的流程图;
[0022]图5是本发明实施例三提供的利用CAM处理网络数据的方法的流程图;
[0023]图6是本发明实施例四提供的利用CAM处理网络数据的装置的结构示意图;
[0024]图7是本发明实施例五提供的利用CAM处理网络数据的装置的结构示意图。
【具体实施方式】
[0025]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0026]本发明针对目前的CAM不能够直接从网络运营商获取相应电视节目,只能够单一解扰来自DVB的数字电视节目,带来的用户无法随心所欲的观看网络视屏节目的问题,据此采用在CAM中集成虚拟网卡,让CAM通过网络接入主机或互动数字电视来收看IP网络节目,让用户能在任一时段收看不同节目。
[0027]为了区别接收网络视频数据的方法现提供图1,图1是现有技术中解扰电视节目的方法的流程图,如图1所示,主要包括以下几个步骤:
[0028]CAM处理来自Client客户端的数据请求,通过TCP/IP协议栈包解析获取到请求数据,通过主机Host/互动字电视IDTV LSC sess1n资源将请求授权Key信息发送给授权server ,Key Server会基于CAM唯一ID属性来进行授权,比如CAM出厂时Chip ID唯一标识信息等。CAM获取到了Key Server返回的Key信息即标识CAM已经授权成功。只有授权成功了,CAM才能按照正常流程去请求对应的节目流信息;
[0029]主机Host接收到来自授权服务器Server响应数据,CAM则通过动态扫描LSCsess1n资源,按照映射管理匹配方法获取到响应数据;[°03°] CAM完成授权后,开始向Server请求Stream信息,同样是通过LSC资源将请求信息发送给Server;
[0031 ] Server 将 Stream pay load 发送给 Host,CAM 通过 LSC sess1n 资源获取到流信息;
[0032]CAM按照节目流信息继续向授权server请求解扰Key ;
[0033]Host获取到解扰Key并通过LSC sess1n告知CAM;
[0034]CAM获取到解扰Key后,解扰Stream,并将清流通过TS接口输送给Host或IDTV播放。
[0035]实施例一
[0036]图1是本发明实施例二提供的利用CAM处理网络数据的流程图,下面结合图1来具体描述根据本发明的一个实施例的利用CAM处理网络数据的方法,如图1所示,该方法包括以下步骤:
[0037]S201、在CAM中配置与主机建立连接的虚拟网卡。
[0038]其中,虚拟网卡与主机建立连接的一个实现方式例如:
[0039](I)CAM通过Adapter模块动态创建虚拟网卡设备,并设置路由信息,确保来自Cl ient端数据均能流入虚拟网卡设备;
[0040](2)虚拟网卡驱动接收到来自Client端的SYN握手信号,Adapter模块调用LSC资源来获取Host物理链路和Server之间的链接状态,并将结果回送给Adapter模块,Adapter模块即发送SYN+ACK消息给Cl ient端,确认收到来自Cl ient端的消息,Cl ient端回应AdapterACK,这样Cl i ent和Adapter通过这三个报文段完成了链接的建立。这个过程称为三次握手。
[0041]S202、通过虚拟网卡获取上行数据以及目标设备的地址和端口信息。
[0042]其中,该步骤的一个实现方式例如:
[0043]Cl ient发送数据Pay load给Server,经过虚拟网卡处理,Adapter模块通过TCP/IP协议桟解析获取到来自Cl i ent端的Ack+Pay I oad的以太包。
[0044]S203、按照与主机协商的通讯协议将上行数据依据目标设备的地址和端口信息发送给目标设备;
[0045]其中,该步骤的一个实现方式例如:
[0046]Adapter模块通过LSC sess1n将Pay load数据发送给主机,然后再回送ACK包到虚拟网卡驱动。Client完成发送。
[0047]S204、将主机获取到的下行数据以以太包的格式封装后写入虚拟网卡,以供网络客户端从虚拟网卡中获取下行数据。
[0048]其中,该步骤的一个实现方式例如:
[0049](I)Adapter扫描LSC sess1n是否有接收到来自Server传给主机的数据,收到之后再将数据打包封装成以太包通过系统调用下行数据送给虚拟网卡。
[0050](2)虚拟网卡有数据接收到,Client通过调用socket接口接收到下行数据,Adapter通过TCP/IP协议桟包解析虚拟网卡发出Ack包到表示数据正确接收。
[0051]进一步地,上述目标设备包括网络视频服务器,对应的下行数据包括视频数据。
[0052]其中,在一个CAM上可以集成多个客户端,例如:一个请求节目内容的客户端,多个辅助客户端,辅助客户端是指提升画质的客户端。
[0053]CAM包括用户态和核心态两部分,CAM工作在的用户态主要负责TCP/IP协议栈数据包拆解和封装,通过Syscall系统调用将数据写入虚拟网卡设备驱动。CAM通过LSC(LSC协议是CAM和Host/IRD/STB之间的一种标准通讯协议,LSC接口可以起到Client和Server之间Socket通讯桥梁作用)的Cl接口,利用Host LSC资源实现和Server之间上下行数据数据交互。CAM通过系统调用准确获取来自Client端的协议包数据,CAM通过解析协议栈报数据获取到Client端的数据请求,并通过LSC sess1n发送给Server,CAM通过LSC Sess1n动态扫描将Host获取到Server响应数据,通过syscalI系统调用写入虚拟网卡设备驱动中,Client端则通过Socket接口调用获取到来自Server端的数据信息。虚拟网卡驱动工作在内核态中,CAM只能通过系统调用方式获取来自虚拟网卡设备的网络数据或者将应用层数据通过系统调用方式写入虚拟网卡设备中。
[0054]根据本实施例的一个示例例如,上述下行数据还包括目标设备发送给主机的响应数据,作为可选地,该方法还包括:
[0055]解析来自主机的不同网络客户端的响应数据中的负载数据以及目标设备的地址和端口信息;
[0056]根据预设的客户端与目标设备的通信协议的映射关系表,将解析的来自客户端的负载数据按照与对应的目标设备的通信协议重新封装。
[0057]由于客户端Client和服务器Server之间的通信是基于标准的socket通信原理实现的。不同Client源端口
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1