发明名称 |
一种多线程高性能http代理实现方法及系统 |
摘要 |
本发明公开了一种多线程高性能http代理实现方法及系统,本发明的方案综合使用了epoll事件通知机制和多线程技术,通过合理的建模和设计,极大的提高了http代理的并发处理能力,有效地解决了现有http代理实现方案无法有效处理特大并发请求这一问题。 |
申请公布号 |
CN104320404A |
申请公布日期 |
2015.01.28 |
申请号 |
CN201410619737.1 |
申请日期 |
2014.11.05 |
申请人 |
中国科学技术大学 |
发明人 |
陆世亮;朱明 |
分类号 |
H04L29/06(2006.01)I;H04L29/08(2006.01)I |
主分类号 |
H04L29/06(2006.01)I |
代理机构 |
北京凯特来知识产权代理有限公司 11260 |
代理人 |
郑立明;郑哲 |
主权项 |
一种多线程高性能http代理实现方法,其特征在于,该方法包括:通过指定的地址接收来自客户端的连接请求,在成功连接后,根据该连接请求中携带的描述符创建客户端套接字并存储在哈希表中,且将该客户端套接字及其EPOLLIN事件注册到epoll中;当触发客户端的EPOLLIN事件时,通过所述客户端套接字读取来自客户端的http请求,并将该http请求存储至本地后进行解析,若解析成功,但本地缓存未命中时向服务器发起连接,在成功连接服务器后,生成一对应的服务器套接字并存储在哈希表中,且将该服务器套接字及其EPOLLOUT事件注册到epoll中;从哈希表中定位该客户端套接字,并触发服务器的EPOLLOUT事件,通过该客户端套接字取出存储在本地的http请求后通过所述服务器套接字转发给对应的服务器,且将该服务器套接字及其EPOLLIN事件注册到epoll中;当触发服务器的EPOLLIN事件时,通过该服务器从哈希表中定位对应的客户端套接字,从服务器中读取该客户端套接字对应客户端http请求的响应消息并存储,且将该客户端套接字及其EPOLLOUT事件注册到epoll中;通过该服务器从哈希表中定位该客户端套接字,并触发EPOLLOUT事件,通过该客户端套接字取出存储在本地的响应消息后通过所述客户端套接字发送至对应的客户端。 |
地址 |
230026 安徽省合肥市包河区金寨路96号 |