[发明专利]一种TCP服务装置及方法有效
申请号: | 200910246002.8 | 申请日: | 2009-11-24 |
公开(公告)号: | CN101702735A | 公开(公告)日: | 2010-05-05 |
发明(设计)人: | 田欢春;林建军 | 申请(专利权)人: | 恒生电子股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 赵景平;逯长明 |
地址: | 310053 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 tcp 服务 装置 方法 | ||
技术领域
本发明涉及TCP(Transmission Control Protocol,传输控制协议)服务技 术,具体涉及一种TCP服务装置及方法。
背景技术
TCP是一种面向连接的、可靠的、基于字节流的运输层通信协议,在简化 的计算机网络OSI(Open System Interconnect,开放式系统互联)模型中,它 完成第四层即传输层所指定的功能,UDP(User Datagram Protocol,用户数据 报协议)是同一层内另一个重要的传输协议。
在因特网协议族中,TCP层是位于IP层之上、应用层之下的中间层。不 同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供 这样的流机制,而是提供不可靠的包交换。TCP建立连接之后,通信双方都同 时可以进行数据的传输,其次,他是全双工的;在保证可靠性上,采用超时重 传和捎带确认机制。
通常,TCP服务器按处理方式分类,可以划分为重复性服务器和并发服务 器。重复性服务器每次只处理一个客户请求,实现简单但效率较低;并发服务 器可同时处理多个客户请求,高效但实现复杂。
在现有技术中提供一种TCP服务算法,该算法通过预先派生子进程,父 进程向子进程传递套接口描述字的方式实现TCP服务。
在实现本发明的过程中,发明人发现上述方案至少存在以下不足:
1.父进程接收到连接请求后产生套接口,通过sendmsg/recvmsg进行套 接口传递,处理效率较低;
2.当子进程已有任务分配,全部为“繁忙”的状态下,不能进行新任务 的分配,在类似web服务器的使用场合,有连接而连接上无交互(即连接空闲) 的情况下,该方案无法处理。
发明内容
本发明实施例提供一种TCP服务装置及方法,以提高TCP服务处理的效 率,并实现对TCP服务的有效管理。
为此,本发明实施例提供如下技术方案:
一种TCP服务装置,包括:接收单元、管理进程单元和至少一个工作进 程单元;
所述接收单元,用于接收客户端发起的连接请求,并将所述连接请求放入 内核队列中;
所述管理进程单元,用于检查所述内核队列,并在检查到所述内核队列中 有未处理的连接请求后,为所述工作进程单元分配处理所述连接请求的任务, 并在收到所述工作进程单元完成所述任务后发送的通知后,更新所述工作进程 单元的连接数;
所述工作进程单元,用于处理所述管理进程单元分配的任务,并在完成所 述任务后向所述管理进程单元发送通知。
优选地,所述管理进程单元包括:
队列检查子单元,用于检查所述内核队列;
进程确定子单元,用于在所述队列检查子单元检查到所述内核队列中有未 处理的连接请求后,扫描所述工作进程的状态,确定处理所述连接请求的工作 进程单元;
任务分配子单元,用于为确定的工作进程单元分配处理所述连接请求的任 务;
通知接收子单元,用于接收所述工作进程单元完成所述任务后发送的通 知。
优选地,所述进程确定子单元包括:
扫描子单元,用于在所述队列检查子单元检查到所述内核队列中有未处理 的连接请求后,扫描所述工作进程的状态;
选择子单元,用于在所述扫描子单元扫描到有空闲的工作进程单元后,从 所述空闲的工作进程单元中选择工作进程单元处理所述连接请求;并且在所述 扫描子单元扫描到没有空闲的工作进程单元,并且当前工作进程单元的个数大 于或等于预设的最大进程数时,选择当前负荷最小的工作进程单元处理所述连 接请求;
建立子单元,用于在所述扫描子单元扫描到没有空闲的工作进程单元,并 且当前工作进程单元的个数小于预设的最大进程数时,建立新的工作进程单元 处理所述连接请求。
优选地,所述管理进程单元还包括:
进程维护子单元,用于在任务分配子单元为所述工作进程单元分配任务 后,将所述工作进程单元的连接数加1;在所述通知接收子单元收到所述通知 后,将所述工作进程单元的连接数减1,并检查所述工作进程单元当前的连接 数,如果当前的连接数为0,则将所述工作进程单元置为空闲状态。
优选地,所述进程维护子单元,还用于捕获工作进程单元异常退出事件, 并在捕获该事件后更新所述工作进程单元的连接数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于恒生电子股份有限公司,未经恒生电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910246002.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:双音多频事件帧处理方法、系统和媒体网关
- 下一篇:IP报文的过滤方法和装置