【技術實現步驟摘要】
本專利技術涉及網絡技術,尤其涉及。
技術介紹
網絡的技術發展迅速,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服務器的磁盤資源訪問控制方法,其特征在于,包括:主進程接收到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所述的方法,其特征在于,所述資源訪問配額具體為資源訪問...
【專利技術屬性】
技術研發人員:張任重,
申請(專利權)人:新浪網技術中國有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。