Web服务器及其磁盘资源访问控制方法技术

技术编号:9718536 阅读:163 留言:0更新日期:2014-02-27 05:11
本发明专利技术公开了一种Web服务器及其磁盘资源访问控制方法,该方法包括:主进程将Web请求分配给一个工作进程,将其它工作进程的请求处理信息传给该工作进程;该工作进程调用标记模块,将标记模块从Web请求中解析出的用户标识发送给主进程;主进程记录该工作进程的请求处理信息;该工作进程调用统计模块,将从其它工作进程的请求处理信息中查找出的该用户标识对应的进程标识与该用户标识传给统计模块;统计模块读取进程磁盘文件中的磁盘资源访问量进行统计;若统计结果超过为该用户标识配置的资源访问配额,则返回拒绝信息,该工作进程拒绝Web请求;否则返回确认信息,该工作进程对Web请求进行处理。从而使得磁盘资源访问控制更加灵活。

【技术实现步骤摘要】

本专利技术涉及网络技术,尤其涉及。
技术介绍
网络的技术发展迅速,Web2.0时代最突出的特点是用户与网站的交互;目前,网站服务提供商广泛采用LAMP (Linux、Apache、MySQL、PHP,即Linux操作系统、阿帕奇服务器软件、数据库软件、PHP脚本)架构为公司很多网站站点(即多个网站站点用户)开发网页提供平台化的支持=Web服务器上的Apache软件接收到发送给网站的请求信息后,进行资源访问、处理后将生成的网页数据返回给客户端的浏览器呈现。具体地,Web服务器上的Apache软件中的主进程在接收到客户端发送给网站的Web请求后,将该Web请求分配给一个工作进程进行处理,该工作进程根据该Web请求,访问服务器的磁盘资源,从本地磁盘获取数据后生成网页数据向客户端返回。通常,为保证Web服务器的正常运行,需要对处理Web请求的工作进程进行磁盘资源访问的控制。例如,现有技术的Cgroups的子系统blkio可用于控制工作进程对磁盘资源的访问,具体方法为:创建一个Cgroups blkio的进程组,将要控制的物理磁盘的设备号以及预设的磁盘资源访问量的值写入进程组的相关配置文件中;之后,在Web服务器上的Apache软件启动后,将工作进程加入到进程组中;ApaChe软件对进程组中的各工作进程的磁盘资源访问量进行统计,当统计出的磁盘资源访问量超过预设的磁盘资源访问量后,拒绝处理新的Web请求。其中,磁盘资源访问量可以为每秒读写次数(iops)或每秒读写量(bps)等。然而,本专利技术的专利技术人发现,现有的磁盘资源访问控制方法不够灵活,不适用于对不同网站站点用户分别配置磁盘资源访问配额的情况:在公有云计算场景中,Web服务器上的Apache软件通常会接收到发送给不同网站的Web请求,发送给同一网站的多个Web请求也可以由多个工作进程来处理。在实际应用中,针对不同的网站站点用户,通常需要配置不同的磁盘资源访问配额,以对不同网站站点用户的磁盘资源访问行为分别进行控制;而现有的磁盘资源访问控制方法中,不同网站站点用户,比如user I, user2的Web请求均由工作进程组中的工作进程进行处理,无法区分哪些工作进程处理userl的Web请求,哪些工作进程处理user2的Web请求,更无法确定出userl、user2的磁盘资源访问量,从而,不适用于对不同网站站点用户分别配置磁盘资源访问配额的情况。而且,现有的磁盘资源访问控制方法仅能对物理磁盘进行磁盘资源访问的控制,不能对逻辑磁盘进行磁盘资源访问的控制;从而,也使得磁盘资源访问控制不够灵活。因此,有必要提供一种更灵活的磁盘资源访问控制方法。
技术实现思路
本专利技术的实施例提供了一种,用以更灵活的进行磁盘资源访问控制。根据本专利技术的一个方面,提供了一种Web服务器的磁盘资源访问控制方法,包括:主进程接收到Web请求后,将该Web请求分配给一个工作进程,并将其它工作进程的请求处理信息传送给该工作进程;该工作进程调用标记模块,并将分配的Web请求传送给所述标记模块;所述标记模块从接收的Web请求中解析出用户标识后向该工作进程返回;该工作进程将得到的用户标识发送给所述主进程;所述主进程将该工作进程发送的用户标识与该工作进程的进程标识的对应关系作为该工作进程的请求处理信息进行记录;该工作进程从所述其它工作进程的请求处理信息中查找出所述用户标识所对应的进程标识后,调用统计模块,并将查找到的进程标识,以及所述用户标识传送给所述统计模块;所述统计模块对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计;若确定统计结果超过为所述用户标识配置的资源访问配额,则向该工作进程返回拒绝信息,否则返回确认信息;该工作进程若接收到确认信息,则对分配的Web请求进行处理;若接收到拒绝信息,则拒绝所述Web请求。其中,所述资源访问配额具体为资源访问速率上限;以及所述统计模块对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计,具体包括:所述统计模块记录下接收的进程标识隶属于所述用户标识的隶属关系;并对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,将读取的磁盘资源访问量与当前的读取时间对应于所述用户标识下的该进程标识进行记录;之后,所述统计模块根据所述用户标识下的各进程标识记录的磁盘资源访问量进行统计:所述统计模块对于所述用户标识下的每个进程标识,根据记录的该进程标识的磁盘资源访问量以及读取时间,计算出该进程标识的磁盘资源访问速率;对所述用户标识下的各进程标识的磁盘资源访问速率进行相加,将相加得到的磁盘资源访问速率作为所述统计结果。较佳地,所述统计模块记录下接收的进程标识隶属于所述用户标识的隶属关系,具体包括:所述统计模块查找是否有所述用户标识的隶属关系表;若查找到所述用户标识的隶属关系表,则对于每个接收的进程标识,若确定所述用户标识的隶属关系表中未记录该进程标识,则将其添加记录到所述用户标识的隶属关系表中;若没有查找到所述用户标识的隶属关系表,则创建所述用户标识的隶属关系表,并将接收的进程标识隶属于所述用户标识的隶属关系记录到所述用户标识的隶属关系表中。较佳地,所述统计模块对于所述用户标识下的每个进程标识,根据记录的该进程标识的磁盘资源访问量以及读取时间,计算出该进程标识的磁盘资源访问速率,具体包括:所述统计模块对于所述用户标识下的每个进程标识,根据对应于该进程标识前次记录的磁盘资源访问量与读取时间,以及本次记录的磁盘资源访问量与读取时间,计算出该进程标识的磁盘资源访问速率。较佳地,所述统计模块对于所述用户标识下的每个进程标识,根据对应于该进程标识前次记录的磁盘资源访问量与读取时间,以及本次记录的磁盘资源访问量与读取时间,计算出该进程标识的磁盘资源访问速率,具体包括:所述统计模块对于所述用户标识下、只有一次磁盘资源访问量记录的进程标识,将磁盘资源访问量O作为该进程标识的前次记录的磁盘资源访问量,将对应于所述用户标识下的其它进程标识前次记录的读取时间,作为该进程标识的前次记录的读取时间,进而计算出该进程标识的磁盘资源访问速率。或者,所述资源访问配额具体为资源访问量上限;以及所述统计模块对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计,具体包括:所述统计模块对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量;将读取的磁盘资源访问量进行相加后得到所述统计结果。其中,所述磁盘资源访问量具体为:读磁盘数据量,或写磁盘数据量。根据本专利技术的另一个方面,还提供了一种Web服务器,包括:Web服务器模块、标记模块、统计模块;其中,所述Web服务器模块用于在其主进程接收到Web请求后,将该Web请求分配给所述Web服务器模块的一个工作进程,并将所述Web服务器模块的其它工作进程的请求处理信息传送给该工作进程;该工作进程调用所述标记模块,并将分配的Web请求传送给所述标记模块,并将所述标记模块返回的用户标识发送给所述主进程;所述主进程将该工作进程发送的用户标识与该工作进程的进程标识的对应本文档来自技高网
...

【技术保护点】
一种Web服务器的磁盘资源访问控制方法,其特征在于,包括:主进程接收到Web请求后,将该Web请求分配给一个工作进程,并将其它工作进程的请求处理信息传送给该工作进程;该工作进程调用标记模块,并将分配的Web请求传送给所述标记模块;所述标记模块从接收的Web请求中解析出用户标识后向该工作进程返回;该工作进程将得到的用户标识发送给所述主进程;所述主进程将该工作进程发送的用户标识与该工作进程的进程标识的对应关系作为该工作进程的请求处理信息进行记录;该工作进程从所述其它工作进程的请求处理信息中查找出所述用户标识所对应的进程标识后,调用统计模块,并将查找到的进程标识、以及所述用户标识传送给所述统计模块;所述统计模块对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计;若确定统计结果超过为所述用户标识配置的资源访问配额,则向该工作进程返回拒绝信息,否则返回确认信息;该工作进程若接收到确认信息,则对分配的Web请求进行处理;若接收到拒绝信息,则拒绝所述Web请求。

【技术特征摘要】
1.一种Web服务器的磁盘资源访问控制方法,其特征在于,包括: 主进程接收到Web请求后,将该Web请求分配给一个工作进程,并将其它工作进程的请求处理信息传送给该工作进程; 该工作进程调用标记模块,并将分配的Web请求传送给所述标记模块;所述标记模块从接收的Web请求中解析出用户标识后向该工作进程返回;该工作进程将得到的用户标识发送给所述主进程;所述主进程将该工作进程发送的用户标识与该工作进程的进程标识的对应关系作为该工作进程的请求处理信息进行记录; 该工作进程从所述其它工作进程的请求处理信息中查找出所述用户标识所对应的进程标识后,调用统计模块,并将查找到的进程标识、以及所述用户标识传送给所述统计模块;所述统计模块对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计;若确定统计结果超过为所述用户标识配置的资源访问配额,则向该工作进程返回拒绝信息,否则返回确认信息; 该工作进程若接收到确认信息,则对分配的Web请求进行处理;若接收到拒绝信息,则拒绝所述Web请求。2.如权利要求1所述的方法,其特征在于,所述资源访问配额具体为资源访问速率上限;以及 所述统计模块对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计,具体包括: 所述统计模块记录下接收的进程标识隶属于所述用户标识的隶属关系;并对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,将读取的磁盘资源访问量与当前的读取时间对应于所述用户标识下的该进程标识进行记录; 之后,所述统计模块根据所述用户标识下的各进程标识记录的磁盘资源访问量进行统计:所述统计模块对于所述用户标识下的每个进程标识,根据记录的该进程标识的磁盘资源访问量以及读取时间,计算出该进程标识的磁盘资源访问速率;对所述用户标识下的各进程标识的磁盘资源访问速率进行相加,将相加得到的磁盘资源访问速率作为所述统计结果O3.如权利要求2所述的方法,其特征在于,所述统计模块记录下接收的进程标识隶属于所述用户标识的隶属关系,具体包括: 所述统计模块查找是否有所述用户标识的隶属关系表; 若查找到所述用户标识的隶属关系表,则对于每个接收的进程标识,若确定所述用户标识的隶属关系表中未记录该进程标识,则将其添加记录到所述用户标识的隶属关系表中; 若没有查找到所述用户标识的隶属关系表,则创建所述用户标识的隶属关系表,并将接收的进程标识隶属于所述用户标识的隶属关系记录到所述用户标识的隶属关系表中。4.如权利要求2所述的方法,其特征在于,所述统计模块对于所述用户标识下的每个进程标识,根据记录的该进程标识的磁盘资源访问量以及读取时间,计算出该进程标识的磁盘资源访问速率,具体包括: 所述统计模块对于所述用户标识下的每个进程标识,根据对应于该进程标识前次记录的磁盘资源访问量与读取时间,以及本次记录的磁盘资源访问量与读取时间,计算出该进程标识的磁盘资源访问速率。5.如权利要求4所述的方法,其特征在于,所述统计模块对于所述用户标识下的每个进程标识,根据对应于该进程标识前次记录的磁盘资源访问量与读取时间,以及本次记录的磁盘资源访问量与读取时间,计算出该进程标识的磁盘资源访问速率,具体包括:所述统计模块对于所述用户标识下、只有一次磁盘资源访问量记录的进程标识,将磁盘资源访问量O作为该进程标识的前次记录的磁盘资源访问量,将对应于所述用户标识下的其它进程标识前次记录的读取时间,作为该进程标识的前次记录的读取时间,进而计算出该进程标识的磁盘资源访问速率。6.如权利要求1所述的方法,其特征在于,所述资源访问配额具体为资源访问...

【专利技术属性】
技术研发人员:张任重
申请(专利权)人:新浪网技术中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1