本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種自適應(yīng)均衡數(shù)據(jù)庫訪問服務(wù)的方法。
背景技術(shù):
數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫。隨著移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展,個(gè)性化定制服務(wù)需求的增長,數(shù)據(jù)庫的應(yīng)用更加廣泛和重要。但是,數(shù)據(jù)庫的訪問性能也成為系統(tǒng)性能提升的瓶頸之一。
數(shù)據(jù)庫訪問服務(wù)的能力必須與業(yè)務(wù)特征匹配,才能更好提升系統(tǒng)整體性能。系統(tǒng)業(yè)務(wù)量很大,且數(shù)據(jù)業(yè)務(wù)量的變化與相對(duì)時(shí)間(工作日時(shí)間等)和操作類型關(guān)聯(lián);即要求支持高并發(fā)的持續(xù)訪問數(shù)據(jù)庫的能力,同時(shí)可以高效率應(yīng)對(duì)某段時(shí)間段內(nèi)某單類型操作是主要操作的場(chǎng)景。
開發(fā)人員和維護(hù)人員需要了解系統(tǒng)數(shù)據(jù)訪問量的變化特征和性能瓶頸,以便于優(yōu)化數(shù)據(jù)庫訪問服務(wù)。
技術(shù)實(shí)現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本發(fā)明提供一種自適應(yīng)均衡數(shù)據(jù)庫訪問服務(wù)的方法。
本發(fā)明至少通過如下技術(shù)方案之一實(shí)現(xiàn)。
一種自適應(yīng)均衡數(shù)據(jù)庫訪問服務(wù)的方法,包括:接收來自網(wǎng)站服務(wù)器的訪問請(qǐng)求;分析所述訪問請(qǐng)求中的字段;解析所述訪問請(qǐng)求所請(qǐng)求的操作類型,驗(yàn)證操作權(quán)限;通過所述訪問請(qǐng)求的操作類型,選擇處理所述操作類型的處理器資源處理;統(tǒng)計(jì)與預(yù)測(cè)所述不同操作類型的所述訪問請(qǐng)求包數(shù)據(jù)量的變化,自適應(yīng)均衡調(diào)節(jié)處理所述不同操作類型的所述處理器資源;以及記錄訪問所述數(shù)據(jù)庫的操作。
進(jìn)一步實(shí)施地,所述接收來自網(wǎng)站服務(wù)器的訪問請(qǐng)求,包括:
利用位于數(shù)據(jù)庫上的數(shù)據(jù)庫訪問層,逐條捕捉來自網(wǎng)站服務(wù)器的訪問請(qǐng)求,并將所述訪問請(qǐng)求寫入服務(wù)器的內(nèi)存中,以供分析。
進(jìn)一步實(shí)施地,所述分析所述訪問請(qǐng)求中的字段,包括:
在所述的內(nèi)容中預(yù)先規(guī)定好請(qǐng)求包中操作類型字段的位置,根據(jù)規(guī)定的位置提取指定字段;
在所述的內(nèi)容中預(yù)先規(guī)定好請(qǐng)求包中用戶信息字段的位置,根據(jù)規(guī)定的位置提取指定字段的用戶信息;
進(jìn)一步實(shí)施地,所述解析所述訪問請(qǐng)求所請(qǐng)求的操作類型,包括:
查詢所述服務(wù)器的內(nèi)存中預(yù)先建立的訪問字典中是否存在與所述訪問請(qǐng)求所請(qǐng)求的操作類型相應(yīng)的字段值;若有,則可獲取所述訪問請(qǐng)求所請(qǐng)求的操作類型;否則,請(qǐng)求包錯(cuò)誤。
首先驗(yàn)證所述訪問請(qǐng)求所請(qǐng)求的操作類型,若不符合則判斷所述訪問請(qǐng)求錯(cuò)誤,使得該所述訪問請(qǐng)求不需要通過后續(xù)的在所述私密數(shù)據(jù)庫中的用戶操作權(quán)限檢查,可以減少對(duì)所述私密數(shù)據(jù)庫的訪問,使得系統(tǒng)的反應(yīng)性能提高。
進(jìn)一步實(shí)施地,所述驗(yàn)證操作權(quán)限,包括:
在所述的內(nèi)容中數(shù)據(jù)庫預(yù)先建立一個(gè)私密的數(shù)據(jù)庫表;結(jié)合所述訪問請(qǐng)求的操作類型和用戶信息,驗(yàn)證所述訪問請(qǐng)求的操作權(quán)限。
進(jìn)一步實(shí)施地,所述預(yù)先建立一個(gè)私密的數(shù)據(jù)庫表,包括:
以用戶的唯一ID作為主鍵建立一個(gè)所述私密數(shù)據(jù)庫表,每個(gè)條數(shù)據(jù)記錄了擁有權(quán)限的數(shù)據(jù)以及具體的權(quán)限。
進(jìn)一步實(shí)施地,所述驗(yàn)證所述訪問請(qǐng)求的操作權(quán)限,包括:
在所述的數(shù)據(jù)庫表中查詢,是否存在與所述訪問請(qǐng)求的用戶信息相匹配的條數(shù)據(jù);若有,則把所述訪問請(qǐng)求的所述操作類型以及操作數(shù)據(jù)與所述數(shù)據(jù)中的表中數(shù)據(jù)比較;如果一致,則權(quán)限驗(yàn)證通過;若不一致,則權(quán)限驗(yàn)證失敗。
進(jìn)一步實(shí)施地,所述通過所述訪問請(qǐng)求的操作類型,選擇處理所述操作類型的處理器資源處理,包括:
在所述的內(nèi)容中預(yù)先建立處理所述不同操作類型請(qǐng)求的處理資源池;將不同操作類型的所述訪問請(qǐng)求重定向到處理相應(yīng)操作類型的所述處理資源池。
進(jìn)一步實(shí)施地,所述預(yù)先建立處理不同操作類型請(qǐng)求的所述處理資源池,包括:初始化資源管理中心;
根據(jù)所述不同操作類型的種數(shù),創(chuàng)建若干個(gè)可調(diào)節(jié)大小的所述處理資源池;
將不同操作的具體處理方案加載到對(duì)應(yīng)的所述處理資源池中。
進(jìn)一步實(shí)施地,所述統(tǒng)計(jì)所述不同操作類型的所述訪問請(qǐng)求包數(shù)據(jù)量的變化,包括:通過位于所述數(shù)據(jù)庫上的數(shù)據(jù)庫訪問層實(shí)時(shí)統(tǒng)計(jì)所述不同操作類型訪問請(qǐng)求的數(shù)量;
通過所述資源管理中心,實(shí)時(shí)統(tǒng)計(jì)所述每個(gè)處理資源池剩余的訪問請(qǐng)求的數(shù)量。
進(jìn)一步實(shí)施地,預(yù)測(cè)所述不同操作類型的所述訪問請(qǐng)求的數(shù)據(jù)變化,包括:
根據(jù)最近一段時(shí)間所述數(shù)據(jù)庫處理的所述不同操作類型訪問請(qǐng)求的數(shù)量變化,預(yù)測(cè)當(dāng)前相對(duì)時(shí)間內(nèi)所述訪問請(qǐng)求數(shù)量可能的變化;
根據(jù)最近一段時(shí)間所述資源管理中心統(tǒng)計(jì)的所述每個(gè)處理資源池剩余的訪問請(qǐng)求的數(shù)量變化,預(yù)測(cè)當(dāng)前相對(duì)時(shí)間內(nèi)所述訪問請(qǐng)求數(shù)量可能的變化;
根據(jù)過去一段時(shí)間歷史記錄文件記錄的所述訪問請(qǐng)求數(shù)量的數(shù)據(jù),預(yù)測(cè)當(dāng)前相對(duì)時(shí)間內(nèi)所述訪問請(qǐng)求數(shù)量可能的變化。
進(jìn)一步實(shí)施地,所述自適應(yīng)均衡調(diào)節(jié)處理所述不同操作類型的所述處理器資源,包括:
根據(jù)預(yù)測(cè)的當(dāng)前相對(duì)時(shí)間內(nèi)所述訪問請(qǐng)求數(shù)量可能的變化,適應(yīng)均衡調(diào)節(jié)所述各個(gè)處理不同操作類型的處理資源池的容量;
根據(jù)用戶在配置文件中的預(yù)設(shè)條件,在所述預(yù)設(shè)條件下調(diào)節(jié)所述各個(gè)處理不同操作類型的處理資源池的容量。
進(jìn)一步實(shí)施地,所述自適應(yīng)均衡調(diào)節(jié)處理所述不同操作類型的所述處理器資源,還包括:
用戶根據(jù)過去一段時(shí)間內(nèi)歷史記錄文件記錄的所述訪問請(qǐng)求數(shù)量的數(shù)據(jù),分析某段時(shí)間所述訪問請(qǐng)求的數(shù)量變化規(guī)律,在配置文件里指定在所述某段時(shí)間配置所述處理不同操作類型的處理資源池的容量變化;
資源管理中心根據(jù)所述預(yù)測(cè)變化的結(jié)果,自適應(yīng)調(diào)節(jié)所述處理不同操作類型的處理資源池的容量。
進(jìn)一步實(shí)施地,所述記錄訪問所述數(shù)據(jù)庫的操作,包括:
記錄所有訪問所述數(shù)據(jù)庫的操作記錄
輸出以某些時(shí)間段為單位各個(gè)不同操作類型的訪問請(qǐng)求的數(shù)量變化的記錄文件;
輸出以某些時(shí)間段為單位各個(gè)不同操作類型的訪問請(qǐng)求的處理速度變化的記錄文件。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)和技術(shù)效果:
本發(fā)明實(shí)現(xiàn)了自適應(yīng)均衡數(shù)據(jù)庫訪問服務(wù),數(shù)據(jù)庫訪問服務(wù)的能力能與業(yè)務(wù)特征匹配,進(jìn)而能更好提升系統(tǒng)整體性能,能支持高并發(fā)的持續(xù)訪問數(shù)據(jù)庫的能力,同時(shí)可以高效率應(yīng)對(duì)某段時(shí)間段內(nèi)某單類型操作是主要操作的場(chǎng)景。
附圖說明
圖1是本發(fā)明一個(gè)實(shí)施例的自適應(yīng)均衡數(shù)據(jù)庫訪問服務(wù)的方法的模塊示意方框圖。
圖2是本發(fā)明一個(gè)實(shí)施例的自適應(yīng)均衡數(shù)據(jù)庫訪問服務(wù)的方法示意圖。
具體實(shí)施方式
在此提供的方法和技巧不與任何特定的計(jì)算機(jī)、虛擬系統(tǒng)或者其他固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示數(shù)一起使用。此外,本發(fā)明也不針對(duì)任何特定編程語言,編程語言僅僅是實(shí)現(xiàn)思想的工具,以下涉及上述具體說明時(shí)僅僅是為了披露本發(fā)明的一種實(shí)施方式。
本實(shí)例的一種自適應(yīng)均衡數(shù)據(jù)庫訪問服務(wù)的方法,包括:接收來自網(wǎng)站服務(wù)器的訪問請(qǐng)求;分析所述訪問請(qǐng)求中的字段;解析所述訪問請(qǐng)求所請(qǐng)求的操作類型,驗(yàn)證操作權(quán)限;通過所述訪問請(qǐng)求的操作類型,選擇處理所述操作類型的處理器資源處理;統(tǒng)計(jì)與預(yù)測(cè)所述不同操作類型的所述訪問請(qǐng)求包數(shù)據(jù)量的變化,自適應(yīng)均衡調(diào)節(jié)處理所述不同操作類型的所述處理器資源;以及記錄訪問所述數(shù)據(jù)庫的操作。
所述接收來自網(wǎng)站服務(wù)器的訪問請(qǐng)求,包括:
利用位于數(shù)據(jù)庫上的數(shù)據(jù)庫訪問層,逐條捕捉來自網(wǎng)站服務(wù)器的訪問請(qǐng)求,并將所述訪問請(qǐng)求寫入服務(wù)器的內(nèi)存中,以供分析。所述分析所述訪問請(qǐng)求中的字段,包括:
在所述的內(nèi)容中預(yù)先規(guī)定好請(qǐng)求包中操作類型字段的位置,根據(jù)規(guī)定的位置提取指定字段; 在所述的內(nèi)容中預(yù)先規(guī)定好請(qǐng)求包中用戶信息字段的位置,根據(jù)規(guī)定的位置提取指定字段的用戶信息;所述解析所述訪問請(qǐng)求所請(qǐng)求的操作類型,包括:
查詢所述服務(wù)器的內(nèi)存中預(yù)先建立的訪問字典中是否存在與所述訪問請(qǐng)求所請(qǐng)求的操作類型相應(yīng)的字段值;若有,則可獲取所述訪問請(qǐng)求所請(qǐng)求的操作類型;否則,請(qǐng)求包錯(cuò)誤。
首先驗(yàn)證所述訪問請(qǐng)求所請(qǐng)求的操作類型,若不符合則判斷所述訪問請(qǐng)求錯(cuò)誤,使得該所述訪問請(qǐng)求不需要通過后續(xù)的在所述私密數(shù)據(jù)庫中的用戶操作權(quán)限檢查,可以減少對(duì)所述私密數(shù)據(jù)庫的訪問,使得系統(tǒng)的反應(yīng)性能提高。
進(jìn)一步實(shí)施地,所述驗(yàn)證操作權(quán)限,包括:
在所述的內(nèi)容中數(shù)據(jù)庫預(yù)先建立一個(gè)私密的數(shù)據(jù)庫表;結(jié)合所述訪問請(qǐng)求的操作類型和用戶信息,驗(yàn)證所述訪問請(qǐng)求的操作權(quán)限。所述預(yù)先建立一個(gè)私密的數(shù)據(jù)庫表,包括:
以用戶的唯一ID作為主鍵建立一個(gè)所述私密數(shù)據(jù)庫表,每個(gè)條數(shù)據(jù)記錄了擁有權(quán)限的數(shù)據(jù)以及具體的權(quán)限。
所述驗(yàn)證所述訪問請(qǐng)求的操作權(quán)限,包括:
在所述的數(shù)據(jù)庫表中查詢,是否存在與所述訪問請(qǐng)求的用戶信息相匹配的條數(shù)據(jù);若有,則把所述訪問請(qǐng)求的所述操作類型以及操作數(shù)據(jù)與所述數(shù)據(jù)中的表中數(shù)據(jù)比較;如果一致,則權(quán)限驗(yàn)證通過;若不一致,則權(quán)限驗(yàn)證失敗。
所述通過所述訪問請(qǐng)求的操作類型,選擇處理所述操作類型的處理器資源處理,包括:
在所述的內(nèi)容中預(yù)先建立處理所述不同操作類型請(qǐng)求的處理資源池;將不同操作類型的所述訪問請(qǐng)求重定向到處理相應(yīng)操作類型的所述處理資源池。
所述預(yù)先建立處理不同操作類型請(qǐng)求的所述處理資源池,包括:初始化資源管理中心;
根據(jù)所述不同操作類型的種數(shù),創(chuàng)建若干個(gè)可調(diào)節(jié)大小的所述處理資源池;
將不同操作的具體處理方案加載到對(duì)應(yīng)的所述處理資源池中。
所述統(tǒng)計(jì)所述不同操作類型的所述訪問請(qǐng)求包數(shù)據(jù)量的變化,包括:通過位于所述數(shù)據(jù)庫上的數(shù)據(jù)庫訪問層實(shí)時(shí)統(tǒng)計(jì)所述不同操作類型訪問請(qǐng)求的數(shù)量;
通過所述資源管理中心,實(shí)時(shí)統(tǒng)計(jì)所述每個(gè)處理資源池剩余的訪問請(qǐng)求的數(shù)量。
預(yù)測(cè)所述不同操作類型的所述訪問請(qǐng)求的數(shù)據(jù)變化,包括:
根據(jù)最近一段時(shí)間所述數(shù)據(jù)庫處理的所述不同操作類型訪問請(qǐng)求的數(shù)量變化,預(yù)測(cè)當(dāng)前相對(duì)時(shí)間內(nèi)所述訪問請(qǐng)求數(shù)量可能的變化;
根據(jù)最近一段時(shí)間所述資源管理中心統(tǒng)計(jì)的所述每個(gè)處理資源池剩余的訪問請(qǐng)求的數(shù)量變化,預(yù)測(cè)當(dāng)前相對(duì)時(shí)間內(nèi)所述訪問請(qǐng)求數(shù)量可能的變化;
根據(jù)過去一段時(shí)間歷史記錄文件記錄的所述訪問請(qǐng)求數(shù)量的數(shù)據(jù),預(yù)測(cè)當(dāng)前相對(duì)時(shí)間內(nèi)所述訪問請(qǐng)求數(shù)量可能的變化。
進(jìn)一步實(shí)施地,所述自適應(yīng)均衡調(diào)節(jié)處理所述不同操作類型的所述處理器資源,包括:
根據(jù)預(yù)測(cè)的當(dāng)前相對(duì)時(shí)間內(nèi)所述訪問請(qǐng)求數(shù)量可能的變化,適應(yīng)均衡調(diào)節(jié)所述各個(gè)處理不同操作類型的處理資源池的容量;
根據(jù)用戶在配置文件中的預(yù)設(shè)條件,在所述預(yù)設(shè)條件下調(diào)節(jié)所述各個(gè)處理不同操作類型的處理資源池的容量。所述自適應(yīng)均衡調(diào)節(jié)處理所述不同操作類型的所述處理器資源,還包括:
用戶根據(jù)過去一段時(shí)間內(nèi)歷史記錄文件記錄的所述訪問請(qǐng)求數(shù)量的數(shù)據(jù),分析某段時(shí)間所述訪問請(qǐng)求的數(shù)量變化規(guī)律,在配置文件里指定在所述某段時(shí)間配置所述處理不同操作類型的處理資源池的容量變化;
資源管理中心根據(jù)所述預(yù)測(cè)變化的結(jié)果,自適應(yīng)調(diào)節(jié)所述處理不同操作類型的處理資源池的容量。所述記錄訪問所述數(shù)據(jù)庫的操作,包括:
記錄所有訪問所述數(shù)據(jù)庫的操作記錄
輸出以某些時(shí)間段為單位各個(gè)不同操作類型的訪問請(qǐng)求的數(shù)量變化的記錄文件;
輸出以某些時(shí)間段為單位各個(gè)不同操作類型的訪問請(qǐng)求的處理速度變化的記錄文件。
以下再進(jìn)一步舉例說明能實(shí)現(xiàn)發(fā)明的一種實(shí)例。圖1是本發(fā)明一個(gè)實(shí)施例的自適應(yīng)均衡數(shù)據(jù)庫訪問服務(wù)的方法的模塊示意方框圖。該方法可一般性的概括有:請(qǐng)求捕捉模塊100、請(qǐng)求包分析模塊101、資源管理中心模塊102、統(tǒng)計(jì)模塊103、預(yù)測(cè)與配置模塊104、反饋處理中心模塊105、日志生成模塊106。
請(qǐng)求捕捉模塊100:位于數(shù)據(jù)庫整體的外部,接收所有向數(shù)據(jù)庫發(fā)送的請(qǐng)求。這樣將捕獲的所有請(qǐng)求包寫入內(nèi)存,以供其他模塊分析使用。
請(qǐng)求包分析模塊101:根據(jù)預(yù)先指定好的協(xié)議規(guī)范,獲取當(dāng)前請(qǐng)求包的用戶信息和操作類型;將獲取的操作類型值與內(nèi)存中的字典值比較,即可確認(rèn)實(shí)際的操作類型;根據(jù)預(yù)先建立的數(shù)據(jù)權(quán)限表,驗(yàn)證權(quán)限的合法性。如果失敗,則剔除請(qǐng)求包。
預(yù)先指定好的協(xié)議規(guī)范,可以使用XML作為協(xié)議傳輸?shù)妮d體,根據(jù)預(yù)先指定用戶信息字段和操作類型字段對(duì)應(yīng)的唯一字段名稱,即可獲取相關(guān)的字段值。
數(shù)據(jù)庫的操作類型一般以原子性的類別區(qū)分,就是創(chuàng)建、更新、刪除和讀取等四種類型。在預(yù)設(shè)的字典中,每個(gè)不同的二進(jìn)制序列表示一種類型。
數(shù)據(jù)的操作權(quán)限一般由具體用戶、操作權(quán)限、數(shù)據(jù)三者決定。操作權(quán)限是數(shù)據(jù)操作類型中若干種,至多四種。數(shù)據(jù)權(quán)限表格須以用戶的唯一ID作為主鍵,便于迅速的查找;表中每條元素含有對(duì)某種數(shù)據(jù)的具體操作權(quán)限。
資源管理中心模塊102:統(tǒng)一管理服務(wù)器的計(jì)算與存儲(chǔ)資源;一般地,分別初始化創(chuàng)建、更新、刪除和讀取等四種類型的處理器資源池。
初始化創(chuàng)建、更新、刪除和讀取等四種類型的處理器資源池包括兩個(gè)部分,一是根據(jù)當(dāng)前服務(wù)器的空閑資源大小,創(chuàng)建四個(gè)適合大小的資源池;二是將不同類型的處理實(shí)施步驟加載到資源池中。
資源池的大小由類中的隊(duì)列大小控制,每種類型包處理池都有一個(gè)隊(duì)列,不同隊(duì)列元素的類包含承載處理不同處理步驟的方法,每個(gè)請(qǐng)求包都需要資源池即隊(duì)列中的處理類處理。隊(duì)列越大,資源池越大,可容納的處理類越多,處理速度越快。
統(tǒng)計(jì)模塊103:實(shí)時(shí)統(tǒng)計(jì)不同操作類型請(qǐng)求包的數(shù)量,以10分鐘為一個(gè)時(shí)間段,每10分鐘創(chuàng)建一個(gè)新的字典,以時(shí)間值(精確到秒)作為字典的鍵值,以完整收到請(qǐng)求包的時(shí)間點(diǎn)為基準(zhǔn),將對(duì)應(yīng)的字典值加1;將舊的字典輸出到日志生成模塊106,以便生成報(bào)表記錄;實(shí)時(shí)統(tǒng)計(jì)每個(gè)處理資源池中剩余的請(qǐng)求包的數(shù)量,通過資源管理中心模塊102不斷上報(bào)各個(gè)資源池空閑的大小,記錄各個(gè)資源池的壓力度。
預(yù)測(cè)與配置模塊104:預(yù)測(cè)請(qǐng)求包數(shù)量可能的變化,根據(jù)統(tǒng)計(jì)模塊103提供的字典值,分析不同類型的請(qǐng)求包數(shù)量的變化趨勢(shì),將不同類型的處理需求以字典值形成通知反饋處理中心模塊105;根據(jù)日志生成模塊106提供的報(bào)表數(shù)據(jù),用戶預(yù)測(cè)當(dāng)前相對(duì)時(shí)間內(nèi)請(qǐng)求包數(shù)量可能的變化。
以字典值形成通知反饋處理中心模塊105不同類型的處理需求的將要變化關(guān)系。一般地,鍵值是操作類型;這里規(guī)定變化趨勢(shì)值為。根據(jù)統(tǒng)計(jì)數(shù)據(jù)計(jì)算增長速度,計(jì)算出增長斜率,最大值為5。
日志生成模塊106提供的報(bào)表數(shù)據(jù)是一天為單位,顯示出不同類型請(qǐng)求包的變化曲線。一般地,業(yè)務(wù)與星期幾、幾點(diǎn)有較強(qiáng)的相關(guān)性;分析報(bào)表,可以在配置文件中預(yù)先規(guī)定每個(gè)處理資源池的大小。配置文件支持設(shè)置資源池最小值、資源池最大值和變化時(shí)間點(diǎn)等參數(shù)。
反饋處理中心模塊105:綜合預(yù)測(cè)與配置模塊104的結(jié)果,參考數(shù)據(jù)包可能的變化趨勢(shì),以及當(dāng)前資源池處理速度作出決策,將結(jié)果下達(dá)給資源管理中心模塊102,要求系統(tǒng)內(nèi)各個(gè)資源池作出相應(yīng)調(diào)整。
決策資源池增大至少要滿足以下兩個(gè)條件中的一個(gè):一是請(qǐng)求包數(shù)據(jù)量明顯增大,一般趨勢(shì)值高于(含)3;二是請(qǐng)求包數(shù)據(jù)量變化不明顯,但是資源池的空閑大小卻在不斷下降,一般空閑大小小于總大小的1/5。
反饋處理中心模塊105還需要在閑時(shí)釋放系統(tǒng)資源。一般地,決策資源池減小至少要滿足以下三個(gè)條件中的一個(gè):一是請(qǐng)求包數(shù)據(jù)量明顯減少,一般鍵值低于(含)-3;二是請(qǐng)求包數(shù)據(jù)量變化不明顯,但是資源池的空閑大小卻在不斷增大;三是請(qǐng)求包數(shù)據(jù)量與資源池的空閑大小基本不變,但是資源池的空閑大小較大,一般空閑大小大于總大小的1/3。
日志生成模塊106包括:日志記載了整個(gè)系統(tǒng)的各個(gè)模塊基本運(yùn)行信息,記載了整個(gè)系統(tǒng)的數(shù)據(jù)包的基本流向和狀態(tài)。系統(tǒng)的日志記錄由統(tǒng)一的模塊專門持久化到磁盤上。
日志生成模塊106還包括:將統(tǒng)計(jì)模塊103的字典值,寫入日志文件中;設(shè)置日志記錄需遵循以下原則:一條信息是一行:便于后期閱讀和自動(dòng)化分析;日志要嚴(yán)格分級(jí):調(diào)節(jié)分級(jí)參數(shù),可以獲得詳細(xì)或者簡單的記錄信息,避免磁盤空間的浪費(fèi)。
圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的自適應(yīng)均衡數(shù)據(jù)庫訪問服務(wù)的方法示意圖,如圖所示該方法包括一下步驟:
步驟S201,捕捉目標(biāo)數(shù)據(jù)庫的訪問請(qǐng)求。
步驟S202,分析訪問數(shù)據(jù)庫的請(qǐng)求包;解析請(qǐng)求對(duì)目標(biāo)數(shù)據(jù)的操作類型以及驗(yàn)證操作權(quán)限。
步驟S203,對(duì)應(yīng)處理器處理相關(guān)請(qǐng)求。
步驟S204,統(tǒng)計(jì)與預(yù)測(cè)不同類型的請(qǐng)求數(shù)的變化。
步驟S205,調(diào)節(jié)處理器資源。
步驟S206,記錄分析訪問數(shù)據(jù)庫的操作。
本實(shí)施例對(duì)不同類型處理的能力使用資源池大小量化,通過改變處理類的隊(duì)列大小進(jìn)而自適應(yīng)調(diào)節(jié)各個(gè)處理器的處理請(qǐng)求的能力。
本實(shí)施例對(duì)數(shù)據(jù)傳遞使用了較多的字典作為傳輸介質(zhì),方便了對(duì)內(nèi)容的讀取、配置和查詢。
在上述提供的說明書中,介紹了大量具體細(xì)節(jié)。然而能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)說明下實(shí)踐。在一些實(shí)例中,并未詳細(xì)公示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
類似地,應(yīng)當(dāng)理解遵循具體實(shí)施方式的權(quán)利要求書由此明確地進(jìn)入該具體實(shí)施方法,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
應(yīng)當(dāng)注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。
至此,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到,雖然本文已詳盡描述了本發(fā)明的示例性實(shí)施例,但是在不脫離本發(fā)明思想和范圍的情況下,仍可根據(jù)本發(fā)明公開的內(nèi)容直接確定或推導(dǎo)出符合本發(fā)明原理的變形和修改。因此,本發(fā)明的范圍應(yīng)被理解和認(rèn)定為覆蓋了所有這些變形或修改。