[发明专利]用于网站服务器处理事件的方法和设备有效
申请号: | 201510882272.3 | 申请日: | 2015-12-03 |
公开(公告)号: | CN106844017B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 郑涔 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 陈贞健;周建华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 网站 服务器 处理 事件 方法 设备 | ||
本申请的目的是提供了的一种网站服务器处理事件的技术,通过运行主线程,由所述主线程基于事件的处理请求创建协程后,再挂起所述主线程并切换至所述协程;运行所述协程,由所述协程创建通信管道,并将所述事件的主要业务逻辑交由工作线程池进行处理,再挂起所述协程并切换至所述主线程;再次运行所述主线程,由所述主线程继续处理事件循环,直至获取所述通信管道发送的所述工作线程池处理完毕的消息,挂起所述主线程并切换至所述协程;再次运行所述协程,由所述协程处理所述事件的次要业务逻辑,并在处理完毕后,结束所述协程并切换回所述主线程。从而使得主线程正在被并行处理的其他请求得到及时处理,降低了系统的平均响应时间。
技术领域
本申请涉及计算机领域,尤其涉及一种网站服务器处理事件技术。
背景技术
随着互联网的快速发展,互联网不断被普及和应用。Web(互联网)服务是一种通过Web进行访问的服务,网站的服务架构决定着服务器的性能。
目前,服务架构端在架构上大致分为两种,一种是Web服务器与后端应用服务器的组合,Web服务器只做一个Web接入层代理,通过配置将请求转发给后端的应用服务器;还有一种是在支持模块化扩展的Web服务器上通过扩展模块(插件)的方式嵌入应用的业务逻辑,这种方式通过编写Web服务器模块的形式来实现业务逻辑难度较大,要求业务逻辑的实现方式必须融入到Web服务器本身的架构当中,需要对Web服务器本身架构有较深的理解。
现有的主流Web服务器(例如,Nginx服务器)主流使用的是多进程单线程模式下,即一个进程内只有一个主线程,通过在不同请求间切换来实现并发服务于多个请求,并且可以通过编写模块来扩展各种可以通过编写模块来扩展各种功能。其中比较主流的一种编写模块的方式是使用带协程机制的脚本语言。这种方式会通过一个主线程在不同请求间切换来实现并发,在主线程中为每个请求都创建一个协程,业务逻辑执行时会从主线程切换到请求的协程中,直到遇到阻塞输入输出接口(IO)或请求结束才切换回主线程(阻塞IO执行完毕后会再从主线程切换回请求的协程恢复执行)。这种机制可以简化业务逻辑的实现难度,但是,也存在一个问题,如果业务逻辑中有CPU(中央处理器)密集型任务,那么就会导致这个请求的协程长期占用CPU资源,无法切换回主线程,导致同时正在被并行处理的其他请求无法得到及时处理,造成其他请求的响应时间变长。
发明内容
本申请的目的是提供一种网站服务器处理事件的方法与设备,以解决对于响应时间长的请求进行处理时影响其他请求的问题,降低系统的平均响应时间,保持高吞吐、低延迟的性能,并且提高CPU的利用率。
根据本申请的一个方面,提供了的一种网站服务器处理事件的方法,包括:
运行主线程,由所述主线程基于事件的处理请求创建协程后,再挂起所述主线程并切换至所述协程;
运行所述协程,由所述协程创建通信管道,并将所述事件的主要业务逻辑交由工作线程池进行处理,再挂起所述协程并切换至所述主线程;
再次运行所述主线程,由所述主线程继续处理事件循环,直至获取所述通信管道发送的所述工作线程池处理完毕的消息,挂起所述主线程并切换至所述协程;
再次运行所述协程,由所述协程处理所述事件的次要业务逻辑,并在处理完毕后,结束所述协程并切换回所述主线程。
根据本申请的另一方面,还提供了一种网站服务器处理事件的设备,包括:
主线程运行装置,用于运行主线程,由所述主线程基于事件的处理请求创建协程后,再挂起所述主线程并切换至所述协程;
协程运行装置,用于运行所述协程,由所述协程创建通信管道,并将所述事件的主要业务逻辑交由工作线程池进行处理,再挂起所述协程并切换至所述主线程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510882272.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:手持式真空清洁器
- 下一篇:带用户操作界面的洗衣机(运行、暂停、预约)