[发明专利]一种基于非阻塞机制的HTTP报文处理方法无效

专利信息
申请号: 200810101243.9 申请日: 2008-03-03
公开(公告)号: CN101282300A 公开(公告)日: 2008-10-08
发明(设计)人: 韩军;张德才;李竹青;马殿富;刘建;霍远国 申请(专利权)人: 北京航空航天大学
主分类号: H04L12/56 分类号: H04L12/56;H04L29/08
代理公司: 北京科迪生专利代理有限责任公司 代理人: 贾玉忠;卢纪
地址: 100083*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种基于非阻塞机制的HTTP报文处理方法,包括以下步骤:A)当读事件触发,读取HTTP报文,将其存放于数据缓冲中;B)判断该报文是否需要解析报文头,是则转C),否则转D);C)判断报文头是否已经完整到达,是则解析报文头,否则转A);D)判断报文体是否已经完整到达,是则解析报文体,否则转A);E)解析完毕,将数据缓冲回收至数据缓冲池。本发明糅合了多线程和事件驱动两者的优点,在HTTP报文的处理过程中,实现了真正的非阻塞机制,使得HTTP报文在解析过程中达到零拷贝和一次遍历,大大的提高了HTTP报文的处理效率。
搜索关键词: 一种 基于 阻塞 机制 http 报文 处理 方法
【主权项】:
1、一种基于非阻塞机制的HTTP报文处理方法,其特征在于:前提是建立起基于非阻塞机制的HTTP服务器的线程模型,该服务器的线程模型包括四个组件,即select线程,负责侦听各种非阻塞IO事件的发生并负责和客户端建立连接;线程池,它由多个工作线程组成,每个工作线程包含有一个事件队列,每一个事件队列存放多种类型的事件即任务;连接——线程映射表,其key值为连接,其value值为线程,根据该映射表,使得一个连接的所有任务在一个线程中执行;数据缓冲池,是存放报文的数据结构,它由两个数据缓冲链组成,其一为busy链,表示正在使用的数据缓冲的集合,其二为free链,表示已经存在但当时未被使用的缓冲集合。因此,数据缓冲池由多个数据缓冲组成,每一个数据缓冲在某一个时刻只保存一个连接的报文,当读取分配数据缓冲的过程报文处理完毕,该缓冲池回收相应的数据缓冲,避免了下次再分配和销毁的开销;在此线程模型基础上,一个数据报文的处理过程包括以下步骤:(1)当读事件触发时,select线程获取读事件,由工作线程完成HTTP报文的读取,并保存至缓冲中;(2)判断该HTTP报文是否需要解析报文头,是则转步骤(3),否则转步骤(4);(3)判断该HTTP报文头是否已经完整到达,是则解析报文头,否则转步骤(1);(4)判断该HTTP报文体是否已经完整到达,是则解析报文体,否则转步骤(1);(5)解析完毕,将数据缓冲回收至数据缓冲池。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/200810101243.9/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top