CN103605480B - Web服务器及其磁盘资源访问控制方法 - Google Patents

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

Info

Publication number
CN103605480B
CN103605480B CN201310524149.5A CN201310524149A CN103605480B CN 103605480 B CN103605480 B CN 103605480B CN 201310524149 A CN201310524149 A CN 201310524149A CN 103605480 B CN103605480 B CN 103605480B
Authority
CN
China
Prior art keywords
pid
process identification
disk
progress
work
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310524149.5A
Other languages
English (en)
Other versions
CN103605480A (zh
Inventor
张任重
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sina Technology China Co Ltd
Original Assignee
Sina Technology China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sina Technology China Co Ltd filed Critical Sina Technology China Co Ltd
Priority to CN201310524149.5A priority Critical patent/CN103605480B/zh
Publication of CN103605480A publication Critical patent/CN103605480A/zh
Application granted granted Critical
Publication of CN103605480B publication Critical patent/CN103605480B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

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

Description

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请求也可以由多个工作进程来处理。在实际应用中,针对不同的网站站点用户,通常需要配置不同的磁盘资源访问配额,以对不同网站站点用户的磁盘资源访问行为分别进行控制;而现有的磁盘资源访问控制方法中,不同网站站点用户,比如user1,user2的Web请求均由工作进程组中的工作进程进行处理,无法区分哪些工作进程处理user1的Web请求,哪些工作进程处理user2的Web请求,更无法确定出user1、user2的磁盘资源访问量,从而,不适用于对不同网站站点用户分别配置磁盘资源访问配额的情况。而且,现有的磁盘资源访问控制方法仅能对物理磁盘进行磁盘资源访问的控制,不能对逻辑磁盘进行磁盘资源访问的控制;从而,也使得磁盘资源访问控制不够灵活。因此,有必要提供一种更灵活的磁盘资源访问控制方法。
发明内容
本发明的实施例提供了一种Web服务器及其磁盘资源访问控制方法,用以更灵活的进行磁盘资源访问控制。
根据本发明的一个方面,提供了一种Web服务器的磁盘资源访问控制方法,包括:
主进程接收到Web请求后,将该Web请求分配给一个工作进程,并将其它工作进程的请求处理信息传送给该工作进程;
该工作进程调用标记模块,并将分配的Web请求传送给所述标记模块;所述标记模块从接收的Web请求中解析出用户标识后向该工作进程返回;该工作进程将得到的用户标识发送给所述主进程;所述主进程将该工作进程发送的用户标识与该工作进程的进程标识的对应关系作为该工作进程的请求处理信息进行记录;
该工作进程从所述其它工作进程的请求处理信息中查找出所述用户标识所对应的进程标识后,调用统计模块,并将查找到的进程标识,以及所述用户标识传送给所述统计模块;所述统计模块对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计;若确定统计结果超过为所述用户标识配置的资源访问配额,则向该工作进程返回拒绝信息,否则返回确认信息;
该工作进程若接收到确认信息,则对分配的Web请求进行处理;若接收到拒绝信息,则拒绝所述Web请求。
其中,所述资源访问配额具体为资源访问速率上限;以及
所述统计模块对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计,具体包括:
所述统计模块记录下接收的进程标识隶属于所述用户标识的隶属关系;并对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,将读取的磁盘资源访问量与当前的读取时间对应于所述用户标识下的该进程标识进行记录;
之后,所述统计模块根据所述用户标识下的各进程标识记录的磁盘资源访问量进行统计:所述统计模块对于所述用户标识下的每个进程标识,根据记录的该进程标识的磁盘资源访问量以及读取时间,计算出该进程标识的磁盘资源访问速率;对所述用户标识下的各进程标识的磁盘资源访问速率进行相加,将相加得到的磁盘资源访问速率作为所述统计结果。
较佳地,所述统计模块记录下接收的进程标识隶属于所述用户标识的隶属关系,具体包括:
所述统计模块查找是否有所述用户标识的隶属关系表;
若查找到所述用户标识的隶属关系表,则对于每个接收的进程标识,若确定所述用户标识的隶属关系表中未记录该进程标识,则将其添加记录到所述用户标识的隶属关系表中;
若没有查找到所述用户标识的隶属关系表,则创建所述用户标识的隶属关系表,并将接收的进程标识隶属于所述用户标识的隶属关系记录到所述用户标识的隶属关系表中。
较佳地,所述统计模块对于所述用户标识下的每个进程标识,根据记录的该进程标识的磁盘资源访问量以及读取时间,计算出该进程标识的磁盘资源访问速率,具体包括:
所述统计模块对于所述用户标识下的每个进程标识,根据对应于该进程标识前次记录的磁盘资源访问量与读取时间,以及本次记录的磁盘资源访问量与读取时间,计算出该进程标识的磁盘资源访问速率。
较佳地,所述统计模块对于所述用户标识下的每个进程标识,根据对应于该进程标识前次记录的磁盘资源访问量与读取时间,以及本次记录的磁盘资源访问量与读取时间,计算出该进程标识的磁盘资源访问速率,具体包括:
所述统计模块对于所述用户标识下、只有一次磁盘资源访问量记录的进程标识,将磁盘资源访问量0作为该进程标识的前次记录的磁盘资源访问量,将对应于所述用户标识下的其它进程标识前次记录的读取时间,作为该进程标识的前次记录的读取时间,进而计算出该进程标识的磁盘资源访问速率。
或者,所述资源访问配额具体为资源访问量上限;以及
所述统计模块对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计,具体包括:
所述统计模块对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量;将读取的磁盘资源访问量进行相加后得到所述统计结果。
其中,所述磁盘资源访问量具体为:读磁盘数据量,或写磁盘数据量。
根据本发明的另一个方面,还提供了一种Web服务器,包括:
Web服务器模块、标记模块、统计模块;其中,
所述Web服务器模块用于在其主进程接收到Web请求后,将该Web请求分配给所述Web服务器模块的一个工作进程,并将所述Web服务器模块的其它工作进程的请求处理信息传送给该工作进程;该工作进程调用所述标记模块,并将分配的Web请求传送给所述标记模块,并将所述标记模块返回的用户标识发送给所述主进程;所述主进程将该工作进程发送的用户标识与该工作进程的进程标识的对应关系作为该工作进程的请求处理信息进行记录;该工作进程从所述其它工作进程的请求处理信息中查找出所述用户标识所对应的进程标识后,调用所述统计模块,并将查找到的进程标识,以及所述用户标识传送给所述统计模块;该工作进程还用于在接收到确认信息后,对分配的Web请求进行处理;在接收到拒绝信息后,拒绝所述Web请求;
所述标记模块用于从接收的Web请求中解析出用户标识后,将解析出的用户标识进行返回;
所述统计模块用于对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计;若确定统计结果超过为接收的用户标识配置的资源访问配额,则返回拒绝信息,否则返回确认信息。
其中,所述资源访问配额具体为资源访问速率上限;以及
所述统计模块具体包括:
隶属关系记录单元,用于对于所述统计模块接收的用户标识,查找是否有所述用户标识的隶属关系表;若查找到所述用户标识的隶属关系表,则对于每个接收的进程标识,若确定所述用户标识的隶属关系表中未记录该进程标识,则将其添加记录到所述用户标识的隶属关系表中;若没有查找到所述用户标识的隶属关系表,则创建所述用户标识的隶属关系表,并将接收的进程标识隶属于所述用户标识的隶属关系记录到所述用户标识的隶属关系表中。
磁盘文件读取单元,用于对于所述统计模块接收的每个进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,将读取的磁盘资源访问量与当前的读取时间对应于所述用户标识下的该进程标识进行记录;
统计结果确定单元,用于对于所述用户标识下的每个进程标识,根据对应于该进程标识前次记录的磁盘资源访问量与读取时间,以及本次记录的磁盘资源访问量与读取时间,计算出该进程标识的磁盘资源访问速率;对所述用户标识下的各进程标识的磁盘资源访问速率进行相加,将相加得到的磁盘资源访问速率作为所述统计结果;
比较单元,用于将所述统计结果确定单元确定出的统计结果与为所述用户标识配置的资源访问速率上限进行比较;若确定所述统计结果超过所述资源访问速率上限,则返回拒绝信息,否则返回确认信息。
或者,所述资源访问配额具体为资源访问量上限;以及
所述统计模块具体包括:
磁盘文件读取单元,用于对于所述统计模块接收的每个进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量并进行记录;
统计结果确定单元,用于将所述磁盘文件读取单元记录的磁盘资源访问量进行相加后得到所述统计结果;
比较单元,用于将所述统计结果确定单元确定出的统计结果与为所述用户标识配置的资源访问量上限进行比较;若确定所述统计结果超过所述资源访问量上限,则返回拒绝信息,否则返回确认信息。
本发明实施例的技术方案中,由于针对在不同工作进程中处理的同一网站站点用户的Web请求,根据该网站站点用户的用户标识,确定出处理该网站站点用户的Web请求的各工作进程,即确定出该用户标识下的各进程标识,并读取对应各进程标识的进程磁盘文件中的磁盘资源访问量进行统计;并确定统计结果是否超过为该用户标识配置的磁盘资源访问配额;若超过,则拒绝发送给该网站站点用户的Web请求,若没有超过,则对发送给该网站站点用户的Web请求进行处理。从而,可以对不同的网站站点用户分别配置磁盘资源访问配额,使得磁盘资源访问控制更加灵活;
而且,统计模块对磁盘资源访问量进行统计时,不区分物理磁盘和逻辑磁盘,均是从对应各工作进程的进程标识的进程磁盘文件中,分别读取出各进程标识的磁盘资源访问量。从而,既可以对物理磁盘进行磁盘资源访问的控制,也可以对逻辑磁盘进行磁盘资源访问的控制,进一步使得磁盘资源访问控制更加灵活。
附图说明
图1为本发明实施例的Web服务器的Apache软件的内部结构框图;
图2为本发明实施例的Web服务器模块记录工作进程的请求处理信息的方法流程图;
图3为本发明实施例的Web服务器的磁盘资源访问控制方法的流程图;
图4为本发明实施例的统计模块得到统计结果的一种方法的流程图;
图5为本发明实施例的进程标识的磁盘资源访问量与读取时间的示意图;
图6为本发明实施例的统计模块得到统计结果的另一种方法的流程图;
图7为本发明实施例的统计模块的内部结构框图;
图8为本发明实施例的统计模块的内部结构框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内,一个模块也可以位于一台计算机上和/或分布于两台或更多台计算机之间。
本发明的发明人考虑到,针对在不同工作进程中处理的同一网站站点用户的Web请求,利用进程磁盘文件中的磁盘资源访问量来统计这些Web请求的磁盘资源访问量是否超过为该用户标识配置的磁盘资源访问配额;若超过,则拒绝发送给该网站站点用户的Web请求,若没有超过,则对发送给该网站站点用户的Web请求进行处理。从而,可以对不同的网站站点用户分别配置磁盘资源访问配额,使得磁盘资源访问控制更加灵活;
而且,统计模块对磁盘资源访问量进行统计时,不区分物理磁盘和逻辑磁盘,均是从对应各工作进程的进程标识的进程磁盘文件中,分别读取出各进程标识的磁盘资源访问量。从而,既可以对物理磁盘进行磁盘资源访问的控制,也可以对逻辑磁盘进行磁盘资源访问的控制,进一步使得磁盘资源访问控制更加灵活。
下面结合附图详细说明本发明实施例的技术方案。依据上述思路,本发明实施例提供的Web服务器的Apache软件的内部结构框图,如图1所示,包括:Web服务器模块101、标记模块102和统计模块103。
其中,Web服务器模块101在其主进程接收到Web请求后,将该Web请求分配给一个工作进程,并对该工作进程的请求处理信息进行记录,具体方法如图2所示,包括:
S201:Web服务器模块101的主进程接收到Web请求后,将该Web请求分配给一个工作进程。
具体地,Apache软件中的Web服务器模块101的主进程接收到客户端发送给网站的Web请求后,选取一个空闲的工作进程,将接收到的Web请求分配给该工作进程。
S202:该工作进程调用标记模块102,并将分配的Web请求传送给标记模块102。
S203:标记模块102从接收的Web请求中解析出用户标识后向该工作进程返回。
具体地,客户端发送给网站的Web请求的Header(标头)中携带有该网站站点用户的用户标识,在本文中,网站站点用户的用户标识具体可以是网站站点的网站id;
在本步骤中,标记模块102从接收到的Web请求中,解析出其携带的用户标识,并将解析出的用户标识向工作进程返回。
S204:该工作进程将得到的用户标识发送给主进程。
S205:主进程将该工作进程发送的用户标识与该工作进程的进程标识的对应关系作为该工作进程的请求处理信息进行记录。
具体地,主进程接收到该工作进程发送的用户标识后,建立该工作进程发送的用户标识,与该工作进程的进程标识的对应关系,并将该对应关系作为该工作进程的请求处理信息进行记录。由此,对于分配了Web请求的每一个工作进程,主进程均可以将该工作进程的请求处理信息进行记录。
而且,Web服务器模块101的主进程在将Web请求分配给一个工作进程后,还将其它工作进程的请求处理信息传送给该工作进程,以助于实现后续的Web服务器的磁盘资源访问控制,具体方法如图3所示,包括:
S301:Web服务器模块101的主进程接收到Web请求后,将该Web请求分配给一个工作进程,并将其它工作进程的请求处理信息传送给该工作进程。
具体地,Web服务器模块101的主进程接收到用户发送的Web请求后,将该Web请求分配给一个工作进程,并将其他工作进程的请求处理信息传送给该工作进程,以备通过下述步骤S304~S306进行磁盘资源访问量的统计。
S302:该工作进程调用标记模块102,并将分配的Web请求传送给标记模块102。
S303:标记模块102从接收的Web请求中解析出用户标识后向该工作进程返回。
S304:该工作进程从其它工作进程的请求处理信息中,查找出标记模块102返回的用户标识所对应的进程标识。
具体地,在本步骤中,该工作进程根据标记模块102返回的用户标识,从主进程发送过来的其他工作进程的请求处理信息中,查找出该用户标识所对应的进程标识。
S305:该工作进程调用统计模块103,并将查找到的进程标识,以及标记模块102返回的用户标识传送给统计模块103。
S306:统计模块103对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计。
具体地,统计模块103对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件(/proc/id/io)中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计,并得到统计结果;其中,磁盘资源访问量具体可以为读磁盘数据量,或写磁盘数据量;而且,进程磁盘文件中记录有该工作进程启动后从磁盘读取的总字节数(read bytes),以及该工作进程启动后从磁盘写入的总字节数(write bytes),由此,读磁盘数据量具体可以为从磁盘读取的总字节数,写磁盘数据量具体可以为从磁盘写入的总字节数。
在实际应用中,统计模块103统计磁盘资源访问量,并得到统计结果的方法,可根据预先为用户标识配置的资源访问配额的类型来确定,具体内容在下述面图4、图5中进行详细介绍。
例如,若为用户标识配置的资源访问配额为资源访问速率上限,则统计模块103得到统计结果的方法可下述图4所示;若为用户标识配置的资源访问配额为资源访问量上限,则统计模块103得到统计结果的方法可下述图5所示。
本步骤中,统计模块103对磁盘资源访问量进行统计时,可以不区分物理磁盘和逻辑磁盘的不同,均通过读取各进程标识的进程磁盘文件,来获取其中的磁盘资源访问量,使得磁盘资源访问的控制更加灵活。
S307:统计模块103确定统计结果是否超过为接收的用户标识配置的资源访问配额;若是,则执行步骤S308;否则,执行步骤S310。
具体地,统计模块103根据该工作进程传送给本模块的用户标识,确定统计结果是否超过为该用户标识配置的资源访问配额;若超过为该用户标识配置的资源访问配额,则执行步骤S308;若未超过为该用户标识配置的资源访问配额,则执行步骤S310。
S308:统计模块103向该工作进程返回拒绝信息。
具体地,若统计模块103确定统计结果超过为接收的用户标识配置的资源访问配额,则向该工作进程返回错误值,即拒绝信息。
S309:该工作进程拒绝分配的Web请求。
具体地,该工作进程接收到拒绝信息后,拒绝主进程分配的Web请求。
S310:统计模块103向该工作进程返回确认信息。
具体地,若统计模块103确定统计结果未超过为接收的用户标识配置的资源访问配额,则向该工作进程返回正确值,即确认信息。
S311:该工作进程对分配的Web请求进行处理。
具体地,该工作进程接收到确认信息后,对主进程分配的Web请求进行处理。
事实上,若上述为用户标识配置的资源访问配额为资源访问速率上限,则统计模块103对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计的一种方法的流程如图4所示,具体可以包括:
S401:统计模块103记录下接收的进程标识隶属于接收的用户标识的隶属关系;且对于每个接收的进程标识,读取对应该进程标识的磁盘资源访问量,并将其与当前的读取时间对应于接收的用户标识下的该进程标识进行记录。
在本步骤中,统计模块103记录下接收的进程标识隶属于接收的用户标识的隶属关系,具体可以为:统计模块103查找是否有接收到的用户标识的隶属关系表;若查找到该用户标识的隶属关系表,则对于每个接收的进程标识,若确定该用户标识的隶属关系表中未记录该进程标识,则将其添加记录到该用户标识的隶属关系表中;若没有查找到该用户标识的隶属关系表,则创建该用户标识的隶属关系表,并将接收的进程标识隶属于该用户标识的隶属关系,记录到该用户标识的隶属关系表中。
而且,统计模块103对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,将读取的磁盘资源访问量与当前的读取时间对应于接收的用户标识下的该进程标识,在隶属关系表中进行记录。
之后,统计模块103可根据如下步骤S402~S403对接收的用户标识下的各进程标识记录的磁盘资源访问量进行统计,并得到统计结果。
S402:统计模块103对于接收的用户标识下的每个进程标识,根据记录的该进程标识的磁盘资源访问量以及读取时间,计算出该进程标识的磁盘资源访问速率。
具体地,统计模块103对于接收的用户标识下的每个进程标识,根据对应于该进程标识前次记录的磁盘资源访问量与读取时间,以及本次记录的磁盘资源访问量与读取时间,计算出该进程标识的磁盘资源访问速率。
而且,在实际应用中,统计模块103对于接收的用户标识下、只有一次磁盘资源访问量记录的进程标识,可以将磁盘资源访问量0作为该进程标识的前次记录的磁盘资源访问量,将对应于接收的用户标识下的其它进程标识前次记录的读取时间,作为该进程标识的前次记录的读取时间,进而计算出该进程标识的磁盘资源访问速率。
例如,如图5所示,统计模块103接收的用户标识下的每个工作进程启动后,均会调用统计模块103,对该用户标识下的各进程标识的磁盘资源访问量进行统计。若在该用户标识下的工作进程D启动后,该用户标识下的工作进程A、B和C的进程标识分别为A、B和C,且进程标识A在读取时间t1、t2、t3的磁盘资源访问量分别为VAt1、VAt2、VAt3,进程标识B在读取时间的t2、t3的磁盘资源访问量分别为VBt2、VBt3,进程标识C在读取时间t3的磁盘资源访问量分别为VCt3;进程标识A、B和C对应的工作进程为工作进程A、B和C,则统计模块103计算出:
进程标识A的磁盘资源访问速率为:UA=(VAt3-VAt2)/(t3-t2);
进程标识B的磁盘资源访问速率为UB=(VBt3-VBt2)/(t3-t2);
进程标识C的磁盘资源访问速率为UC=(VCt3-0)/(t3-t2);
其中,图5中所示的t0、t1、t2、t3分别为工作进程A、B、C和D调用统计模块103时,统计模块103记录的读取时间;且由于进程标识C只有一次磁盘资源访问量记录,因此,将磁盘资源访问量0作为进程标识C的前次记录的磁盘资源访问量,将对应于其它进程标识A、B前次记录的读取时间t2作为进程标识C的前次记录的读取时间。
S403:统计模块103对接收的用户标识下的各进程标识的磁盘资源访问速率进行相加,将相加得到的磁盘资源访问速率作为统计结果。
例如,如图5所示,统计模块103对接收的用户标识下的进程标识A、B和C的磁盘资源访问速度进行相加,将相加得到的磁盘资源访问速率Uall(如下表达式1所示)作为统计结果;
U all = U A + U B + U C = V At 3 - V At 2 t 3 - t 2 + V Bt 3 - V Bt 2 t 3 - t 2 + V Ct 3 - 0 t 3 - t 2 (表达式1)
若上述为用户标识配置的资源访问配额为资源访问量上限,则统计模块103对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,根据读取的磁盘资源访问量进行统计的另一种方法的流程如图6所示,具体可以包括:
S601:统计模块103对于每个接收的进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量。
S602:统计模块103将读取的磁盘资源访问量进行相加,将相加得到的磁盘资源访问量作为统计结果。
例如,若上述步骤S601中,统计模块103接收的进程标识为A、B和C,统计模块103从对应进程标识A的进程磁盘文件中读取的磁盘资源访问量VA,从对应进程标识B的进程磁盘文件中读取的磁盘资源访问量VB,从对应进程标识C的进程磁盘文件中读取的磁盘资源访问量VC,则在本步骤中,统计模块103可以将VA、VB和VC进行相加,并将相加得到的磁盘资源访问量Vall作为统计结果:Vall=VA+VB+VC
若上述为用户标识配置的资源访问配额为资源访问速率上限,相应地,上述的统计模块103的一种内部结构框图,如图7所示,具体包括:隶属关系记录单元701、磁盘文件读取单元702、统计结果确定单元703和比较单元704。
隶属关系记录单元701用于对于统计模块103接收的用户标识,查找是否有该用户标识的隶属关系表;若查找到该用户标识的隶属关系表,则对于每个该进程标识,若确定该用户标识的隶属关系表中未记录该进程标识,则将其添加记录到该用户标识的隶属关系表中;若没有查找到该用户标识的隶属关系表,则创建该用户标识的隶属关系表,并将该进程标识隶属于该用户标识的隶属关系记录到该用户标识的隶属关系表中。
磁盘文件读取单元702用于对于统计模块103接收的每个进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量,将读取的磁盘资源访问量与当前的读取时间对应于统计模块103接收的用户标识下的该进程标识,在隶属关系表中进行记录。
统计结果确定单元703用于对于统计模块103接收的用户标识下的每个进程标识,根据隶属关系表中记录的、对应于该进程标识前次记录的磁盘资源访问量与读取时间,以及本次记录的磁盘资源访问量与读取时间,计算出该进程标识的磁盘资源访问速率;对统计模块103接收的用户标识下的各进程标识的磁盘资源访问速率进行相加,将相加得到的磁盘资源访问速率作为统计结果。
比较单元704用于将统计结果确定单元703确定出的统计结果与为统计模块103接收的用户标识配置的资源访问速率上限进行比较;若确定统计结果超过资源访问速率上限,则返回拒绝信息,否则返回确认信息。
若上述为用户标识配置的资源访问配额为资源访问速率上限,相应地,上述的统计模块103的另一种内部结构框图,如图8所示,具体包括:磁盘文件读取单元801、统计结果确定单元802和比较单元803。
磁盘文件读取单元801用于对于统计模块103接收的每个进程标识,读取对应该进程标识的进程磁盘文件中的磁盘资源访问量并进行记录。
统计结果确定单元802用于将磁盘文件读取单元801记录的磁盘资源访问量进行相加后得到统计结果。
比较单元803用于将统计结果确定单元803确定出的统计结果与为统计模块103接收的用户标识配置的资源访问量上限进行比较;若确定统计结果超过资源访问量上限,则返回拒绝信息,否则返回确认信息。
本发明的技术方案中,由于针对在不同工作进程中处理的同一网站站点用户的Web请求,根据该网站站点用户的用户标识,确定出处理该网站站点用户的Web请求的各工作进程,即确定出该用户标识下的各进程标识,并读取对应各进程标识的进程磁盘文件中的磁盘资源访问量进行统计;并确定统计结果是否超过为该用户标识配置的磁盘资源访问配额;若超过,则拒绝发送给该网站站点用户的Web请求,若没有超过,则对发送给该网站站点用户的Web请求进行处理。从而,可以对不同的网站站点用户分别配置磁盘资源访问配额,使得磁盘资源访问控制更加灵活;
而且,统计模块对磁盘资源访问量进行统计时,不区分物理磁盘和逻辑磁盘,均是从对应各工作进程的进程标识的进程磁盘文件中,分别读取出各进程标识的磁盘资源访问量。从而,既可以对物理磁盘进行磁盘资源访问的控制,也可以对逻辑磁盘进行磁盘资源访问的控制,进一步使得磁盘资源访问控制更加灵活。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310524149.5A CN103605480B (zh) 2013-10-29 2013-10-29 Web服务器及其磁盘资源访问控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310524149.5A CN103605480B (zh) 2013-10-29 2013-10-29 Web服务器及其磁盘资源访问控制方法

Publications (2)

Publication Number Publication Date
CN103605480A CN103605480A (zh) 2014-02-26
CN103605480B true CN103605480B (zh) 2016-08-17

Family

ID=50123712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310524149.5A Active CN103605480B (zh) 2013-10-29 2013-10-29 Web服务器及其磁盘资源访问控制方法

Country Status (1)

Country Link
CN (1) CN103605480B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461741B (zh) * 2014-12-15 2017-05-24 北京奇虎科技有限公司 基于图形设备接口的计算设备优化方法及装置
CN109246216B (zh) * 2018-09-11 2021-03-30 北京云测信息技术有限公司 一种访问请求处理方法和装置
CN109327550B (zh) * 2018-11-30 2022-02-18 网宿科技股份有限公司 一种访问请求的分配方法、装置、存储介质和计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771677A (zh) * 2008-12-31 2010-07-07 华为技术有限公司 一种向访问用户提供资源的方法、服务器和系统
CN102880676A (zh) * 2012-09-10 2013-01-16 新浪网技术(中国)有限公司 统计用户行为数据的方法及用户行为数据统计系统
CN103200209A (zh) * 2012-01-06 2013-07-10 华为技术有限公司 成员资源的访问方法、群组服务器和成员设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060089967A1 (en) * 2004-10-26 2006-04-27 Zend Technologies Ltd. Secure multi-user web hosting

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771677A (zh) * 2008-12-31 2010-07-07 华为技术有限公司 一种向访问用户提供资源的方法、服务器和系统
CN103200209A (zh) * 2012-01-06 2013-07-10 华为技术有限公司 成员资源的访问方法、群组服务器和成员设备
CN102880676A (zh) * 2012-09-10 2013-01-16 新浪网技术(中国)有限公司 统计用户行为数据的方法及用户行为数据统计系统

Also Published As

Publication number Publication date
CN103605480A (zh) 2014-02-26

Similar Documents

Publication Publication Date Title
US10430332B2 (en) System and method for performance tuning of garbage collection algorithms
CN104602131A (zh) 一种弹幕处理方法及系统
CN107979525A (zh) 一种红包发放方法、设备以及介质
CN104346148B (zh) 获取程序性能消耗信息的方法、装置及系统
CN108737535A (zh) 一种消息推送方法、存储介质和服务器
CN108112038B (zh) 一种控制访问流量的方法及装置
CN105939362A (zh) 用户账号管理方法及装置
CN105516133A (zh) 用户身份的验证方法、服务器及客户端
CN106997546A (zh) 一种订单处理方法及装置
CN103605480B (zh) Web服务器及其磁盘资源访问控制方法
CN106487603A (zh) 一种响应测试方法及装置
CN104052636A (zh) 一种监测网络游戏外挂的时钟装置、方法及系统
CN112468409A (zh) 访问控制方法、装置、计算机设备及存储介质
CN107241389B (zh) 服务处理方法和装置
CN109684033A (zh) 云平台裸机管理方法、存储介质、电子设备及系统
CN104281587B (zh) 一种建立连接的方法及装置
CN109145621A (zh) 文档管理方法及装置
CN109271438A (zh) 一种数据库访问方法及其系统
CN108647102A (zh) 异构系统的服务请求处理方法、装置和电子设备
CN112686678A (zh) 一种确定虚假订单的方法、装置、设备及存储介质
CN105867848B (zh) 一种信息处理方法及硬盘模组
CN106817296A (zh) 信息推荐的测试方法、装置以及电子设备
CN104504004B (zh) 用于网站分享的分享方法和装置
CN110830809A (zh) 视频内容热度确定方法、电子设备及存储介质
CN111343240A (zh) 一种服务请求的处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230418

Address after: Room 501-502, 5/F, Sina Headquarters Scientific Research Building, Block N-1 and N-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193

Patentee after: Sina Technology (China) Co.,Ltd.

Address before: 100080, International Building, No. 58 West Fourth Ring Road, Haidian District, Beijing, 20 floor

Patentee before: Sina.com Technology (China) Co.,Ltd.

TR01 Transfer of patent right