首页> 中国专利> Web服务器及其磁盘资源访问控制方法

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

摘要

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

著录项

  • 公开/公告号CN103605480A

    专利类型发明专利

  • 公开/公告日2014-02-26

    原文格式PDF

  • 申请/专利权人 新浪网技术(中国)有限公司;

    申请/专利号CN201310524149.5

  • 发明设计人 张任重;

    申请日2013-10-29

  • 分类号G06F3/06(20060101);

  • 代理机构11321 北京市京大律师事务所;

  • 代理人张璐;方晓明

  • 地址 100080 北京市海淀区北四环西路58号理想国际大厦20层

  • 入库时间 2024-02-19 22:23:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-04-28

    专利权的转移 IPC(主分类):G06F 3/06 专利号:ZL2013105241495 登记生效日:20230418 变更事项:专利权人 变更前权利人:新浪网技术(中国)有限公司 变更后权利人:新浪技术(中国)有限公司 变更事项:地址 变更前权利人:100080 北京市海淀区北四环西路58号理想国际大厦20层 变更后权利人:100193 北京市海淀区东北旺西路中关村软件园二期(西扩)N-1、N-2地块新浪总部科研楼5层501-502室

    专利申请权、专利权的转移

  • 2016-08-17

    授权

    授权

  • 2014-03-26

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20131029

    实质审查的生效

  • 2014-02-26

    公开

    公开

说明书

技术领域

本发明涉及网络技术,尤其涉及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所示)作为统计结果;

Uall=UA+UB+UC=VAt3-VAt2t3-t2+VBt3-VBt2t3-t2+VCt3-0t3-t2        (表达式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、磁碟、光盘等。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润 饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号