[发明专利]基于IOCP的双向CAS网关与用户终端的通信方法有效
申请号: | 200910311243.6 | 申请日: | 2009-12-11 |
公开(公告)号: | CN101741746A | 公开(公告)日: | 2010-06-16 |
发明(设计)人: | 袁惇;杨金峰;胡皓 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L12/66;H04N7/173;H04N7/167 |
代理公司: | 成都虹桥专利事务所 51124 | 代理人: | 李顺德 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 iocp 双向 cas 网关 用户 终端 通信 方法 | ||
技术领域
本发明涉及双向数字电视条件接受系统和网络通信技术领域,具体的说是涉及一种基于 IOCP的双向CAS网关与用户终端的通信方法。
背景技术
当前,我国数字电视的改造已经在全国范围内得到了普遍的推广,数字化改造已进入“后 平移时代”。为使数字电视的运营取得更大的成功,就必须开展新的业务和服务,而其中双向 通信就是实现这一目的必要条件。
为支持双向数字电视开展各项互动业务,双向CAS(数字电视双向条件接收系统)除了要支 持传统的单项业务之外,还要为双向互动服务的提供安全可靠的保障。现阶段,实现CAS的 双向模式,普遍是把互联网作为回传通道,这对于双向CAS设计来说,需要一个业务网关(BG) 来作为CAS与终端机顶盒之间交互通信的桥梁。对每一个运营的CAS来说,数字电视用户都 数以万计,关键是如何设计一个有效的双向CAS的网关来满足庞大的用户连接数和流量的要 求。
要设计一个高性能的BG,关键是选择一种适合于上述要求的网络通信套接字I/0模型以 及基于此模型建立一个高效的线程模型。网络通信方法中较为普遍应用的是,基于套接字I/O 模型中最常见的select模型而采用的两种模式:串行化或并行化。串行化模式仅用一个线程 等待接收客户端请求,当请求到达后,线程被唤醒处理请求,这种模式弊端在于无法同时处 理多个客户端的连接请求,显然不符合双向CAS的BG设计要求。并行化模式则是用一个线程 等待客户端连接,每当一个新的连接到来时,该线程会创建一个新的线程去专门处理维护和 新连接客户端的通信。并行化模式可以同时与多个客户端保持连接通信,但随着客户端数量 的增加,工作线程也随之增加,过多的工作线程会导致大量额外的环境切换(context switching)。在双向CAS的BG采用这种设计模式的时,与BG同时保持连接的机顶盒数量始 终无法突破1300左右的瓶颈,因此这种并行化模式也难以满足实际运营的要求。
为能够使一个应用程序有效地同时管理数量众多的套接字,Windows NT3.5引入了IOCP (I/O Completion Port输入输出完成端口)模型,作为开发高性能服务器的最佳选择。IOCP 模型是一种能够使多线程得到合理利用和管理的机制,其理论基础是:并行运行的线程数量 必须有上限。如此可有效避免线程数量过多时因进行环境切换所造成的CPU浪费。
发明内容
本发明所要解决的技术问题是:提供一种基于IOCP的双向CAS网关与用户终端的通信 方法,解决现有技术中的通信模式难以满足实际运营要求的问题。
本发明解决上述技术问题所采用的技术方案是:基于输入输出完成端口IOCP模型的双 向CAS业务网关与用户终端的通信方法,包括以下步骤:
a.在业务网关上创建监听机顶盒连接线程,判断是否有用户终端发起连接,是则执行步 骤b,否则就等待并继续监听;所述监听机顶盒连接线程的工作任务是:创建IOCP对象,用 于为接入的套接字管理其对应的输入输出请求;创建一个套接字,绑定在指定端口上采用 select模型来循环监听接收用户终端的连接;
b.创建IOCP工作线程,接受连接,将套接字关联在IOCP对象上;IOCP工作线程的工作 任务是:负责循环等待并接收所有关联在IOCP对象上的套接字完成的输入事件;
c.判断用户是否发送请求信息,是则执行步骤d,否则执行步骤e;
d.创建接收数据处理线程,接收用户请求信息并转发至CAS前端,跳转至步骤f;
e.用户终端每隔一定时间向业务网关发送连接测试信息,判断是否超过一定次数未收到 业务网关的回应,是则重新发起连接,否则返回步骤e;
f.CAS前端将针对用户请求信息的回复信息发送至业务网关;
g.业务网关建立回复终端消息线程,将回复信息发送至对应用户终端;
所述步骤d中,接收数据处理线程的工作任务是:将从IOCP工作线程中收取的数据包 进行解析,按照不同的消息类型进行处理,若是连接测试消息则直接回复给对应的用户终端; 若是发往CAS前端的数据,则重新封装数据包后,存入公共消息队列,由与CAS前端通信的 那部分模块程序发送到CAS前端。
所述步骤e中一定时间为10秒钟,一定次数为3次。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910311243.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种临床护理盘
- 下一篇:适用于事务机的铰链装置