基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法和系統(tǒng),每當一臺應用服務器通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,該應用服務器將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器進行緩存,實現(xiàn)了分布式業(yè)務服務系統(tǒng)中各個應用服務器對業(yè)務數(shù)據(jù)緩存的主動同步,從而減少了系統(tǒng)內(nèi)部的遠程通信開銷,縮短了各應用服務器對業(yè)務請求的響應延遲,也進一步減輕了數(shù)據(jù)庫服務器的業(yè)務數(shù)據(jù)傳輸負荷;并且,各應用服務器之間的業(yè)務數(shù)據(jù)緩存同步與應用服務器從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)各自通過不同的、相互獨立的網(wǎng)絡進行,減少了業(yè)務數(shù)據(jù)緩存同步對業(yè)務請求響應延遲的影響。
【專利說明】基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及計算機通信網(wǎng)絡技術和網(wǎng)絡應用業(yè)務服務【技術領域】,具體涉及一種基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法及系統(tǒng)。
【背景技術】
[0002]隨著計算機信息時代的不斷發(fā)展和進步,網(wǎng)絡應用業(yè)務的用戶數(shù)量越來越多,網(wǎng)絡應用業(yè)務服務系統(tǒng)所要處理的數(shù)據(jù)量越來越龐大,并且用戶對應用業(yè)務服務質(zhì)量的要求也越來越高。為了提高網(wǎng)絡應用業(yè)務的可靠性和可維護性,擴展網(wǎng)絡應用業(yè)務的服務范圍,分布式的業(yè)務服務系統(tǒng)當今已得到了廣泛的應用。分布式的業(yè)務服務系統(tǒng)通常采用多臺應用服務器接收和響應來自用戶的業(yè)務請求,采用一數(shù)據(jù)庫服務器存儲業(yè)務數(shù)據(jù),各應用服務器分布設置于不同地區(qū)并通過數(shù)據(jù)通信網(wǎng)絡與數(shù)據(jù)庫服務器進行數(shù)據(jù)通信連接,以更方便于為不同區(qū)域的用戶提供網(wǎng)絡應用業(yè)務服務,并且由數(shù)據(jù)庫服務器對業(yè)務數(shù)據(jù)進行統(tǒng)一的管理也更方便于業(yè)務數(shù)據(jù)的維護和升級。
[0003]相比于傳統(tǒng)的集中式業(yè)務服務系統(tǒng),分布式業(yè)務服務系統(tǒng)中的各應用服務器需要通過遠程通信從數(shù)據(jù)庫服務器獲得業(yè)務數(shù)據(jù)用以響應用戶的業(yè)務請求,這無疑增加了業(yè)務請求處理的遠程通信開銷和延遲,因此其業(yè)務請求響應處理所需要的時間往往更長。為了解決這一問題,本地緩存技術在分布式業(yè)務服務系統(tǒng)中的應用開始普及,即在各應用服務器中設置本地緩存區(qū)用于緩存業(yè)務數(shù)據(jù),當接收到來自用戶的業(yè)務請求時,若應用服務器的本地緩存區(qū)中緩存有用于響應用戶的業(yè)務請求的業(yè)務數(shù)據(jù),則優(yōu)先從本地緩存區(qū)獲取業(yè)務數(shù)據(jù)以響應用戶的業(yè)務請求,否則,應用服務器再通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)以響應用戶的業(yè)務請求。通過這種本地緩存區(qū)優(yōu)先調(diào)用的方式,分布式業(yè)務服務系統(tǒng)中的應用服務器不需要在每次接收到業(yè)務請求時都遠程訪問數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù),在很大程度上減少了系統(tǒng)內(nèi)部的遠程通信開銷和業(yè)務請求響應的延遲,但其在實際應用中依然存在明顯的不足。但現(xiàn)有的分布式業(yè)務服務系統(tǒng)中,由于各應用服務器對業(yè)務數(shù)據(jù)的本地緩存處理過程相互獨立,且均被動的依賴于從數(shù)據(jù)庫服務器獲取后對業(yè)務數(shù)據(jù)進行緩存,因此不同應用服務器對同一業(yè)務請求的相應仍然需要分別從數(shù)據(jù)庫服務器重復的獲取相同的業(yè)務數(shù)據(jù);特別是在系統(tǒng)內(nèi)增加新的業(yè)務功能時,很可能出現(xiàn)在短時間內(nèi)數(shù)個應用服務器集中向數(shù)據(jù)庫服務器獲取新的業(yè)務數(shù)據(jù)的情況,導致數(shù)據(jù)庫服務器的負荷劇增、應用服務器與數(shù)據(jù)庫服務器之間的數(shù)據(jù)網(wǎng)絡通信堵塞等情況,進一步加劇了通信開銷和響應延遲,從而降低了用戶對網(wǎng)絡應用業(yè)務的使用體驗感。
【發(fā)明內(nèi)容】
[0004]針對現(xiàn)有技術中存在的上述不足,本發(fā)明的目的在于提供一種基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法,以提升分布式業(yè)務服務系統(tǒng)對業(yè)務請求的處理效率,縮短業(yè)務請求響應延遲,給用戶帶來更好的網(wǎng)絡應用業(yè)務服務使用體驗。
[0005]為實現(xiàn)上述目的,本發(fā)明采用了如下技術手段: 基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法,由多臺應用服務器接收來自用戶的業(yè)務請求,并分別以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求;其中,每當一臺應用服務器通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,該應用服務器將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器進行緩存。
[0006]上述基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法中,具體而言,每一臺應用服務器按如下步驟進行業(yè)務請求處理:
A、當接收到來自用戶的業(yè)務請求時,執(zhí)行步驟B;當接收到來自其它應用服務器的業(yè)務數(shù)據(jù)同步請求時,執(zhí)行步驟C ;
B、以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求;其中,當通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器;
C、響應業(yè)務數(shù)據(jù)同步請求,并接收來自其它應用服務器的業(yè)務數(shù)據(jù)進行本地緩存處理。
[0007]上述基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法中,作為進一步的改進方案,所述步驟A之前還包括如下步驟:
O、按預設定的訪問熱度算法,實時計算和統(tǒng)計本地緩存區(qū)中緩存的各業(yè)務數(shù)據(jù)的訪問熱度值。
[0008]上述基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法中,具體而言,所述業(yè)務請求包含有業(yè)務ID ;
所述步驟B具體為:
bl、解析業(yè)務請求獲得其中包含的業(yè)務ID,檢索本地緩存區(qū)中是否存在業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù);若是,執(zhí)行步驟b2 ;否則,執(zhí)行步驟b3 ;
b2、從本地緩存區(qū)中獲取業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),用于響應用戶的業(yè)務請求;然后跳轉(zhuǎn)執(zhí)行步驟O;
b3、通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),用于響應用戶的業(yè)務請求,并執(zhí)行步驟b4 ;
b4、判斷新獲取的業(yè)務數(shù)據(jù)的數(shù)據(jù)量是否超過本地緩存區(qū)中當前剩余的業(yè)務數(shù)據(jù)緩存容量;若是,則執(zhí)行步驟b5 ;否則執(zhí)行步驟b6 ;
b5、將本地緩存區(qū)中訪問熱度值最低的業(yè)務數(shù)據(jù)及其對應的業(yè)務ID記錄刪除,然后返回步驟b4 ;
b6、將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)中,記錄新獲取的業(yè)務數(shù)據(jù)對應的業(yè)務ID,并執(zhí)行步驟b7;
b7、將新獲取的業(yè)務數(shù)據(jù)進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器;然后跳轉(zhuǎn)執(zhí)行步驟O。
[0009]上述基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法中,具體而言,所述業(yè)務數(shù)據(jù)同步請求包含有待同步的業(yè)務數(shù)據(jù)對應的業(yè)務ID和數(shù)據(jù)量;
所述步驟C具體為:
c1、響應業(yè)務數(shù)據(jù)同步請求,并解析業(yè)務數(shù)據(jù)同步請求獲得其中包含的待同步的業(yè)務數(shù)據(jù)對應的業(yè)務ID和數(shù)據(jù)量,執(zhí)行步驟c2 ;
c2、判斷待同步的業(yè)務數(shù)據(jù)的數(shù)據(jù)量是否超過本地緩存區(qū)中當前剩余的業(yè)務數(shù)據(jù)緩存容量;若是,則執(zhí)行步驟c3 ;否則執(zhí)行步驟c4 ;
c3、將本地緩存區(qū)中訪問熱度值最低的業(yè)務數(shù)據(jù)及其對應的業(yè)務ID記錄刪除,然后返回步驟c2 ;
c4、接收來自其它應用服務器的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)中,并記錄該業(yè)務數(shù)據(jù)對應的業(yè)務ID ;然后跳轉(zhuǎn)執(zhí)行步驟O。
[0010]所述訪問熱度算法的計算參數(shù)包括如下一項或幾項:設定時間內(nèi)的訪問次數(shù)、最近一次訪問時間距離當前時刻的時長、對設定時間內(nèi)的訪問次數(shù)按各次訪問時間的加權求和。
[0011]基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng),包括:
數(shù)據(jù)庫服務器,用于存儲所提供業(yè)務中各種業(yè)務請求對應的業(yè)務數(shù)據(jù);
多臺應用服務器,用于接收來自用戶的業(yè)務請求,并分別以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求;其中,每當一臺應用服務器通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,該應用服務器將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器進行緩存;
各應用服務器通過業(yè)務數(shù)據(jù)網(wǎng)絡分別與數(shù)據(jù)庫服務器遠程通信連接,各應用服務器之間通過獨立于業(yè)務數(shù)據(jù)網(wǎng)絡的數(shù)據(jù)同步網(wǎng)絡進行遠程通信連接。
[0012]上述基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng)中,具體而言,所述應用服務器包括:
請求接收模塊,用于接收來自用戶的業(yè)務請求或來自其它應用服務器的業(yè)務數(shù)據(jù)同步請求;
業(yè)務請求處理模塊,用于以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求;其中,當通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器;
業(yè)務數(shù)據(jù)同步請求處理模塊,用于響應業(yè)務數(shù)據(jù)同步請求,并接收來自其它應用服務器的業(yè)務數(shù)據(jù)進行本地緩存處理。
[0013]上述基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng)中,作為進一步改進方案,所述應用服務器還包括:
訪問熱度統(tǒng)計模塊,用于按預設定的訪問熱度算法實時計算和統(tǒng)計本地緩存區(qū)中緩存的各業(yè)務數(shù)據(jù)的訪問熱度值。
[0014]上述基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng)中,具體而言,所述業(yè)務請求處理模塊包括: 緩存檢索單元,用于解析業(yè)務請求獲得其中包含的業(yè)務ID,檢索本地緩存區(qū)中是否存在業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),若是則發(fā)送本地調(diào)用指令,否則發(fā)送遠程獲取指令;
本地緩存區(qū)調(diào)用單元,由本地調(diào)用指令觸發(fā),用于從本地緩存區(qū)中獲取業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),用于響應用戶的業(yè)務請求;
遠程數(shù)據(jù)獲取單元,由遠程獲取指令觸發(fā),用于通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),用于響應用戶的業(yè)務請求,并發(fā)送緩存容量監(jiān)測指令;
緩存容量監(jiān)測單元,由緩存容量監(jiān)測指令觸發(fā),用于判斷新獲取的業(yè)務數(shù)據(jù)的數(shù)據(jù)量是否超過本地緩存區(qū)中當前剩余的業(yè)務數(shù)據(jù)緩存容量,若是則發(fā)送緩存清理指令,否則發(fā)送緩存處理指令;
緩存清理單元,由緩存清理指令觸發(fā),用于將本地緩存區(qū)中訪問熱度值最低的業(yè)務數(shù)據(jù)及其對應的業(yè)務ID記錄刪除,然后發(fā)送緩存容量監(jiān)測指令;
緩存處理單元,由緩存處理指令觸發(fā),用于將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)中,記錄新獲取的業(yè)務數(shù)據(jù)對應的業(yè)務ID,并發(fā)送數(shù)據(jù)分發(fā)指令;
數(shù)據(jù)分發(fā)處理單元,由數(shù)據(jù)分發(fā)指令觸發(fā),用于將新獲取的業(yè)務數(shù)據(jù)進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器。
[0015]上述基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng)中,具體而言,所述業(yè)務數(shù)據(jù)同步請求處理模塊包括:
數(shù)據(jù)同步請求響應單元,用于響應業(yè)務數(shù)據(jù)同步請求,并解析業(yè)務數(shù)據(jù)同步請求獲得其中包含的待同步的業(yè)務數(shù)據(jù)對應的業(yè)務ID和數(shù)據(jù)量,并發(fā)送同步緩存容量監(jiān)測指令;
同步緩存容量監(jiān)測單元,由同步緩存容量監(jiān)測指令觸發(fā),用于判斷待同步的業(yè)務數(shù)據(jù)的數(shù)據(jù)量是否超過本地緩存區(qū)中當前剩余的業(yè)務數(shù)據(jù)緩存容量,若是則發(fā)送同步緩存清理指令,否則發(fā)送同步緩存處理指令;
同步緩存清理單元,由同步緩存清理指令觸發(fā),用于將本地緩存區(qū)中訪問熱度值最低的業(yè)務數(shù)據(jù)及其對應的業(yè)務ID記錄刪除,然后發(fā)送緩存容量監(jiān)測指令;
同步緩存處理單元,由同步緩存處理指令觸發(fā),用于接收來自其它應用服務器的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)中,并記錄該業(yè)務數(shù)據(jù)對應的業(yè)務ID。
[0016]所述訪問熱度算法的計算參數(shù)包括如下一項或幾項:設定時間內(nèi)的訪問次數(shù)、最近一次訪問時間距離當前時刻的時長、對設定時間內(nèi)的訪問次數(shù)按各次訪問時間的加權求和。
[0017]相比于現(xiàn)有技術,本發(fā)明具有如下有益效果:
1、本發(fā)明基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法通過應用服務器之間對業(yè)務數(shù)據(jù)的分發(fā)緩存,實現(xiàn)了分布式業(yè)務服務系統(tǒng)中各個應用服務器對業(yè)務數(shù)據(jù)緩存的主動同步,對于新的業(yè)務數(shù)據(jù),數(shù)據(jù)庫服務器僅需發(fā)送至分布式業(yè)務服務系統(tǒng)內(nèi)任意的一臺應用服務器,各應用服務器均能夠得以緩存,從而減少了系統(tǒng)內(nèi)部的遠程通信開銷,縮短了各應用服務器對業(yè)務請求的響應延遲,另一方面也進一步減輕了數(shù)據(jù)庫服務器的業(yè)務數(shù)據(jù)傳輸負荷,有助于提升數(shù)據(jù)庫服務器對業(yè)務數(shù)據(jù)的傳輸處理效率。[0018]2、本發(fā)明基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng)中,各應用服務器之間的業(yè)務數(shù)據(jù)緩存同步與應用服務器從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)各自通過不同的、相互獨立的網(wǎng)絡進行,避免了各應用服務器之間進行大量的業(yè)務數(shù)據(jù)緩存同步的過程中對業(yè)務數(shù)據(jù)網(wǎng)絡通信開銷的占用,保證了應用服務器與數(shù)據(jù)庫服務器之間的遠程數(shù)據(jù)通信暢通,減少了業(yè)務數(shù)據(jù)緩存同步對業(yè)務請求響應延遲的影響。
[0019]3、由于各應用服務器之間的緩存同步,相應地增加了對每臺應用服務器的本地緩存開銷,因此本發(fā)明的業(yè)務請求處理方法在進行本地緩存處理以及同步緩存處理的過程中,都同時進行了緩存容量監(jiān)測處理,并在必要時對緩存的業(yè)務數(shù)據(jù)進行清理,以避免各應用服務器因業(yè)務數(shù)據(jù)緩存同步而超出本地緩存區(qū)的緩存承載負荷,保證本地緩存優(yōu)先調(diào)用的正常運行。
【專利附圖】
【附圖說明】
[0020]圖1為本發(fā)明實施例一中應用服務器進行業(yè)務請求處理的流程框圖;
圖2為本發(fā)明實施例一中應用服務器進行業(yè)務請求處理的步驟S2的具體流程圖;
圖3為本發(fā)明實施例一中應用服務器進行業(yè)務請求處理的步驟S3的具體流程圖;
圖4為本發(fā)明基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng)的構架框圖。
【具體實施方式】
[0021]在現(xiàn)有的分布式業(yè)務服務系統(tǒng)中,各應用服務器分別與數(shù)據(jù)庫服務器遠程通信獲取業(yè)務數(shù)據(jù)后各自獨立地進行本地緩存處理,因此不同應用服務器對同一業(yè)務請求的響應仍然需要分別從數(shù)據(jù)庫服務器重復的獲取相同的業(yè)務數(shù)據(jù),在分布式業(yè)務服務系統(tǒng)規(guī)模較大、應用服務器數(shù)量較多的情況下,數(shù)據(jù)庫服務器承載業(yè)務數(shù)據(jù)傳輸?shù)呢摵梢廊惠^重,有可能影響數(shù)據(jù)庫服務器的業(yè)務數(shù)據(jù)發(fā)送效率,導致應用服務器響應業(yè)務請求的延遲增加;特別是在系統(tǒng)內(nèi)增加新的業(yè)務功能時,很可能出現(xiàn)在短時間內(nèi)數(shù)個應用服務器集中向數(shù)據(jù)庫服務器獲取新的業(yè)務數(shù)據(jù)的情況,導致數(shù)據(jù)庫服務器的負荷劇增、應用服務器與數(shù)據(jù)庫服務器之間的數(shù)據(jù)網(wǎng)絡通信堵塞等情況,進一步加劇了通信開銷和響應延遲,從而降低了用戶對網(wǎng)絡應用業(yè)務的使用體驗感。
[0022]針對這一問題,本發(fā)明提出一種基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法,該方法依然由多臺應用服務器接收來自用戶的業(yè)務請求,并分別以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求;這里所述的本地緩存區(qū)優(yōu)先調(diào)用的方式,依然是指當本度緩存區(qū)中緩存有用于響應用戶的業(yè)務請求的業(yè)務數(shù)據(jù),則優(yōu)先從本地緩存區(qū)獲取業(yè)務數(shù)據(jù)進行業(yè)務請求響應處理,否貝1J,應用服務器再通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)以響應用戶的業(yè)務請求;然而與現(xiàn)有技術不同的是,每當一臺應用服務器通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,該應用服務器將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器進行緩存。由此,通過應用服務器之間對業(yè)務數(shù)據(jù)的分發(fā)緩存,實現(xiàn)了分布式業(yè)務服務系統(tǒng)中各個應用服務器對業(yè)務數(shù)據(jù)緩存的主動同步,對于新的業(yè)務數(shù)據(jù),數(shù)據(jù)庫服務器僅需發(fā)送至分布式業(yè)務服務系統(tǒng)內(nèi)任意的一臺應用服務器,各應用服務器均能夠得以緩存,從而減少了系統(tǒng)內(nèi)部的遠程通信開銷,并結合本地緩存區(qū)優(yōu)先調(diào)用技術,一方面縮短了各應用服務器對業(yè)務請求的響應延遲,另一方面也進一步減輕了數(shù)據(jù)庫服務器的業(yè)務數(shù)據(jù)傳輸負荷,有助于提升數(shù)據(jù)庫服務器對業(yè)務數(shù)據(jù)的傳輸處理效率。下面通過實施例,對本發(fā)明的技術方案和技術效果做進一步說明。
[0023]實施例一:
例如,在一提供新聞資訊業(yè)務服務的分布式業(yè)務服務系統(tǒng)中,一些熱點新聞咨詢數(shù)據(jù)往往成為一段時間以內(nèi)不同服務區(qū)域集中訪問的業(yè)務數(shù)據(jù),因此很可能出現(xiàn)不同應用服務器在同一時間段反復響應同一業(yè)務數(shù)據(jù)的情況。若采用現(xiàn)有分布式業(yè)務服務系統(tǒng)所采用的數(shù)據(jù)緩存技術,則有可能造成數(shù)據(jù)網(wǎng)絡通信堵塞、業(yè)務請求響應延遲嚴重的情況,影響業(yè)務服務質(zhì)量。然而,利用本發(fā)明基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法,分布式業(yè)務服務系統(tǒng)中每一臺應用服務器對業(yè)務請求進行處理的流程如圖1所示,步驟如下:
so)按預設定的訪問熱度算法,實時計算和統(tǒng)計本地緩存區(qū)中緩存的各業(yè)務數(shù)據(jù)的訪問熱度值。在本實施例中,應用服務器計算和統(tǒng)計本地緩存區(qū)中緩存的各業(yè)務數(shù)據(jù)的訪問熱度值,是為了在后期便于執(zhí)行對本地緩存區(qū)的緩存清理處理。
[0024]SI)當接收到來自用戶的業(yè)務請求時,執(zhí)行步驟S2 ;當接收到來自其它應用服務器的業(yè)務數(shù)據(jù)同步請求時,執(zhí)行步驟S3。本實施例中,業(yè)務請求包含有業(yè)務ID,用以指示用戶所請求的業(yè)務數(shù)據(jù)對象;另一方面,業(yè)務數(shù)據(jù)同步請求包含有待同步的業(yè)務數(shù)據(jù)對應的業(yè)務ID和數(shù)據(jù)量,用以指示和記錄待同步的業(yè)務數(shù)據(jù)對象以及便于在業(yè)務數(shù)據(jù)同步緩存過程中進行緩存清理處理。
[0025]S2)以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求;其中,當通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器;本實施例中,該步驟的具體處理流程如圖2所示,處理過程為:
s21)解析業(yè)務請求獲得其中包含的業(yè)務ID,檢索本地緩存區(qū)中是否存在業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù);若是,執(zhí)行步驟s22 ;否則,執(zhí)行步驟s23 ;
s22)從本地緩存區(qū)中獲取業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),用于響應用戶的業(yè)務請求;然后跳轉(zhuǎn)執(zhí)行步驟SO ;
s23)通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),用于響應用戶的業(yè)務請求,并執(zhí)行步驟s24 ;
s24)判斷新獲取的業(yè)務數(shù)據(jù)的數(shù)據(jù)量是否超過本地緩存區(qū)中當前剩余的業(yè)務數(shù)據(jù)緩存容量;若是,則執(zhí)行步驟s25 ;否則執(zhí)行步驟s26 ;
s25)將本地緩存區(qū)中訪問熱度值最低的業(yè)務數(shù)據(jù)及其對應的業(yè)務ID記錄刪除,然后返回步驟s24 ;
s26)將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)中,記錄新獲取的業(yè)務數(shù)據(jù)對應的業(yè)務ID,并執(zhí)行步驟s27 ;
s27)將新獲取的業(yè)務數(shù)據(jù)進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器;然后跳轉(zhuǎn)執(zhí)行步驟S0。[0026]S3)響應業(yè)務數(shù)據(jù)同步請求,并接收來自其它應用服務器的業(yè)務數(shù)據(jù)進行本地緩存處理;本實施例中,該步驟的具體處理流程如圖3所示,處理過程為:
s31)響應業(yè)務數(shù)據(jù)同步請求,并解析業(yè)務數(shù)據(jù)同步請求獲得其中包含的待同步的業(yè)務數(shù)據(jù)對應的業(yè)務ID和數(shù)據(jù)量,執(zhí)行步驟s32 ;
s32)判斷待同步的業(yè)務數(shù)據(jù)的數(shù)據(jù)量是否超過本地緩存區(qū)中當前剩余的業(yè)務數(shù)據(jù)緩存容量;若是,則執(zhí)行步驟s33 ;否則執(zhí)行步驟s34 ;
s33)將本地緩存區(qū)中訪問熱度值最低的業(yè)務數(shù)據(jù)及其對應的業(yè)務ID記錄刪除,然后返回步驟s32 ;
s34)接收來自其它應用服務器的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)中,并記錄該業(yè)務數(shù)據(jù)對應的業(yè)務ID ;然后跳轉(zhuǎn)執(zhí)行步驟S0。
[0027]以一項關于奧運賽事信息的業(yè)務數(shù)據(jù)BDa為例,其在該新聞資訊業(yè)務服務中對應的業(yè)務ID為“00a”;通過上述的業(yè)務請求處理流程可見,若當應用服務器接收到包含業(yè)務ID為“00a”的業(yè)務請求時,則檢索本地緩存區(qū)中是否存在業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),若不存在,則通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務ID “00a”對應的業(yè)務數(shù)據(jù)BDa并進行本地緩存處理,同時還將業(yè)務數(shù)據(jù)BDa進行備份,分別向其它應用服務器發(fā)送包含有業(yè)務ID “00a”以及業(yè)務數(shù)據(jù)BDa對應的數(shù)據(jù)量的業(yè)務數(shù)據(jù)同步請求,等待業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器;其它的應用服務器在接收到該業(yè)務數(shù)據(jù)同步請求時,對業(yè)務數(shù)據(jù)同步請求進行響應,并接收業(yè)務數(shù)據(jù)BDa進行本地緩存處理;至此,各應用服務器均在本地緩存區(qū)中緩存有業(yè)務數(shù)據(jù)BDa;此后,任意一臺應用服務器若再次接收到包含業(yè)務ID為“00a”的業(yè)務請求時,則無需再重復地通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務ID “00a”對應的業(yè)務數(shù)據(jù)BDa,而可以直接從本地緩存區(qū)中獲取業(yè)務數(shù)據(jù)BDa響應用戶的業(yè)務請求,進一步減少了通信開銷和業(yè)務請求響應延遲,為用戶提供更快速的業(yè)務服務;另一方面,由于各應用服務器之間的緩存同步,相應地增加了對每臺應用服務器的本地緩存開銷,因此本發(fā)明的業(yè)務請求處理方法在進行本地緩存處理以及同步緩存處理的過程中,都同時進行了緩存容量監(jiān)測處理,并在必要時對緩存的業(yè)務數(shù)據(jù)進行清理,以避免各應用服務器因業(yè)務數(shù)據(jù)緩存同步而超出本地緩存區(qū)的緩存承載負荷(因為本地緩存區(qū)的緩存空間還可能用于應用服務器執(zhí)行其它任務處理過程中的數(shù)據(jù)緩存),保證本地緩存優(yōu)先調(diào)用的正常運行。
[0028]至于本實施所涉及的訪問熱度算法,不同的應用業(yè)務服務所采用的算法方案各有不同,訪問熱度算法的計算參數(shù)可以包括:設定時間內(nèi)的訪問次數(shù)、最近一次訪問時間距離當前時刻的時長、對設定時間內(nèi)的訪問次數(shù)按各次訪問時間的加權求和等中的一項或幾項。例如根據(jù)一段時間內(nèi)訪問次數(shù)的多少計算業(yè)務數(shù)據(jù)的訪問熱度值(訪問次數(shù)越多,相應的訪問熱度值越高),或者根據(jù)最近一次訪問時間距離當前時刻的時長計算業(yè)務數(shù)據(jù)的訪問熱度值(訪問時間距離當前時刻越近,相應的訪問熱度值越高),又或者對一段時間內(nèi)的訪問次數(shù)按各次訪問時間進行加權求和計算訪問熱度值(訪問時間距離當前時刻越近,相應的權值越大),等等;本領域技術人員可以根據(jù)具體應用業(yè)務的需求和實際情況,選擇常用或適宜的訪問熱度算法方案。
[0029]需要說明的是,本實施例為了避免因緩存同步對應用服務器本地緩存區(qū)的緩存負荷帶來負面影響,在步驟S2和S3的執(zhí)行過程中進行了緩存清理判斷和處理,并且由于采用了訪問熱度值作為對本地緩存區(qū)中緩存清理對象的判別標準,因此在步驟Si前也相應添加了執(zhí)行步驟SO的處理,以便于后期執(zhí)行步驟S2和S3的過程中可以直接通過對比訪問熱度值而判定作為緩存清理對象的業(yè)務數(shù)據(jù),避免在緩存清理過程中才進行訪問熱度運算而影響緩存清理處理效率。當然,在本發(fā)明方案的實際應用中,如果本領域技術人員在步驟S2和S3中的緩存清理處理過程中采用其它的緩存清理對象判別方式,或者無需在步驟S2和S3的緩存過程中執(zhí)行緩存清理判斷和處理,則無需在步驟SI前執(zhí)行步驟SO的處理過程。在本發(fā)明基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法中,對于每一臺應用服務器而言,針對提升分布式業(yè)務服務系統(tǒng)對業(yè)務請求的處理效率、縮短業(yè)務請求響應延遲的問題,執(zhí)行如下的步驟SA?SC完成各應用服務器之間的緩存同步處理,即可達到提升業(yè)務請求處理效率、縮短響應延遲的效果:
SA)當接收到來自用戶的業(yè)務請求時,執(zhí)行步驟SB;當接收到來自其它應用服務器的業(yè)務數(shù)據(jù)同步請求時,執(zhí)行步驟SC ;
SB)以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求;其中,當通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器;
SC)響應業(yè)務數(shù)據(jù)同步請求,并接收來自其它應用服務器的業(yè)務數(shù)據(jù)進行本地緩存處理。
[0030]實施例二:
為了實現(xiàn)實施例一所述的基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法,本發(fā)明還響應提供了基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng)。如圖4所示,該分布式業(yè)務請求處理系統(tǒng)包括數(shù)據(jù)庫服務器和多臺應用服務器;數(shù)據(jù)庫服務器用于存儲所提供業(yè)務中各種業(yè)務請求對應的業(yè)務數(shù)據(jù);各應用服務器用于接收來自用戶的業(yè)務請求,并分別以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求;其中,每當一臺應用服務器通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,該應用服務器將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器進行緩存;應用服務器通過業(yè)務數(shù)據(jù)網(wǎng)絡分別與數(shù)據(jù)庫服務器遠程通信連接,各應用服務器之間通過獨立于業(yè)務數(shù)據(jù)網(wǎng)絡的數(shù)據(jù)同步網(wǎng)絡進行遠程通信連接。由此,各應用服務器之間的業(yè)務數(shù)據(jù)緩存同步與應用服務器從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)各自通過不同的、相互獨立的網(wǎng)絡進行,避免了各應用服務器之間進行大量的業(yè)務數(shù)據(jù)緩存同步的過程中對業(yè)務數(shù)據(jù)網(wǎng)絡通信開銷的占用,保證了應用服務器與數(shù)據(jù)庫服務器之間的遠程數(shù)據(jù)通信暢通,減少了業(yè)務數(shù)據(jù)緩存同步對業(yè)務請求響應延遲的影響。
[0031]作為一種較優(yōu)的實施方式,本實施例分布式業(yè)務請求處理系統(tǒng)中的應用服務器,主要包括有訪問熱度統(tǒng)計模塊、請求接收模塊、業(yè)務請求處理模塊和業(yè)務數(shù)據(jù)同步請求處理模塊。訪問熱度統(tǒng)計模塊,用于按預設定的訪問熱度算法實時計算和統(tǒng)計本地緩存區(qū)中緩存的各業(yè)務數(shù)據(jù)的訪問熱度值;請求接收模塊用于接收來自用戶的業(yè)務請求或來自其它應用服務器的業(yè)務數(shù)據(jù)同步請求;業(yè)務請求處理模塊用于以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求,其中,當通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器;業(yè)務數(shù)據(jù)同步請求處理模塊用于響應業(yè)務數(shù)據(jù)同步請求,并接收來自其它應用服務器的業(yè)務數(shù)據(jù)進行本地緩存處理。本實施例中,具體而言,業(yè)務請求處理模塊包括有:緩存檢索單元,用于解析業(yè)務請求獲得其中包含的業(yè)務ID,檢索本地緩存區(qū)中是否存在業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),若是則發(fā)送本地調(diào)用指令,否則發(fā)送遠程獲取指令;本地緩存區(qū)調(diào)用單元,由本地調(diào)用指令觸發(fā),用于從本地緩存區(qū)中獲取業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),用于響應用戶的業(yè)務請求;遠程數(shù)據(jù)獲取單元,由遠程獲取指令觸發(fā),用于通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),用于響應用戶的業(yè)務請求,并發(fā)送緩存容量監(jiān)測指令;緩存容量監(jiān)測單元,由緩存容量監(jiān)測指令觸發(fā),用于判斷新獲取的業(yè)務數(shù)據(jù)的數(shù)據(jù)量是否超過本地緩存區(qū)中當前剩余的業(yè)務數(shù)據(jù)緩存容量,若是則發(fā)送緩存清理指令,否則發(fā)送緩存處理指令;緩存清理單元,由緩存清理指令觸發(fā),用于將本地緩存區(qū)中訪問熱度值最低的業(yè)務數(shù)據(jù)及其對應的業(yè)務ID記錄刪除,然后發(fā)送緩存容量監(jiān)測指令;緩存處理單元,由緩存處理指令觸發(fā),用于將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)中,記錄新獲取的業(yè)務數(shù)據(jù)對應的業(yè)務ID,并發(fā)送數(shù)據(jù)分發(fā)指令;數(shù)據(jù)分發(fā)處理單元,由數(shù)據(jù)分發(fā)指令觸發(fā),用于將新獲取的業(yè)務數(shù)據(jù)進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器。業(yè)務數(shù)據(jù)同步請求處理模塊包括有:數(shù)據(jù)同步請求響應單元,用于響應業(yè)務數(shù)據(jù)同步請求,并解析業(yè)務數(shù)據(jù)同步請求獲得其中包含的待同步的業(yè)務數(shù)據(jù)對應的業(yè)務ID和數(shù)據(jù)量,并發(fā)送同步緩存容量監(jiān)測指令;同步緩存容量監(jiān)測單元,由同步緩存容量監(jiān)測指令觸發(fā),用于判斷待同步的業(yè)務數(shù)據(jù)的數(shù)據(jù)量是否超過本地緩存區(qū)中當前剩余的業(yè)務數(shù)據(jù)緩存容量,若是則發(fā)送同步緩存清理指令,否則發(fā)送同步緩存處理指令;同步緩存清理單元,由同步緩存清理指令觸發(fā),用于將本地緩存區(qū)中訪問熱度值最低的業(yè)務數(shù)據(jù)及其對應的業(yè)務ID記錄刪除,然后發(fā)送緩存容量監(jiān)測指令;同步緩存處理單元,由同步緩存處理指令觸發(fā),用于接收來自其它應用服務器的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)中,并記錄該業(yè)務數(shù)據(jù)對應的業(yè)務ID。通過應用服務器上述各模塊之間的配合工作,完成實施例一種所述的分布式業(yè)務請求處理過程,以提升分布式業(yè)務服務系統(tǒng)對業(yè)務請求的處理效率,縮短業(yè)務請求響應延遲,給用戶帶來更好的網(wǎng)絡應用業(yè)務服務使用體驗。
[0032]當然,本實施例同樣是為了避免因緩存同步對應用服務器本地緩存區(qū)的緩存負荷帶來負面影響而需要進行緩存清理判斷和處理,并且由于采用了訪問熱度值作為對本地緩存區(qū)中緩存清理對象的判別標準,因此才需要在應用服務器中設置訪問熱度統(tǒng)計模塊;如果本領域技術人員設計的緩存清理處理過程采用其它的緩存清理對象判別方式,或者并未融合設計緩存清理判斷和處理,在本發(fā)明基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng)中,對于每一臺應用服務器而言,針對提升分布式業(yè)務服務系統(tǒng)對業(yè)務請求的處理效率、縮短業(yè)務請求響應延遲的問題,設置請求接收模塊、業(yè)務請求處理模塊和業(yè)務數(shù)據(jù)同步請求處理模塊,即可完成各應用服務器之間的緩存同步處理,達到提升業(yè)務請求處理效率、縮短響應延遲的效果。[0033]最后說明的是,以上實施例僅用以說明本發(fā)明的技術方案而非限制,盡管參照實施例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發(fā)明的技術方案進行修改或者等同替換,而不脫離本發(fā)明技術方案的宗旨和范圍,其均應涵蓋在本發(fā)明的權利要求范圍當中。
【權利要求】
1.基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法,其特征在于,由多臺應用服務器接收來自用戶的業(yè)務請求,并分別以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求;其中,每當一臺應用服務器通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,該應用服務器將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器進行緩存; 其中,每一臺應用服務器按如下步驟進行業(yè)務請求處理: A、當接收到來自用戶的業(yè)務請求時,執(zhí)行步驟B;當接收到來自其它應用服務器的業(yè)務數(shù)據(jù)同步請求時,執(zhí)行步驟C ; B、以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求;其中,當通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器; C、響應業(yè)務數(shù)據(jù)同步請求,并接收來自其它應用服務器的業(yè)務數(shù)據(jù)進行本地緩存處理。
2.根據(jù)權利要求1所述的基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法,其特征在于,所述步驟A之前還包括如下步驟: O、按預設定的訪問熱度算法,實時計算和統(tǒng)計本地緩存區(qū)中緩存的各業(yè)務數(shù)據(jù)的訪問熱度值。
3.根據(jù)權利要求2所述的基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法,其特征在于,所述業(yè)務請求包含有業(yè)務ID ; 所述步驟B具體為: bl、解析業(yè)務請求獲得其中包含的業(yè)務ID,檢索本地緩存區(qū)中是否存在業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù);若是,執(zhí)行步驟b2 ;否則,執(zhí)行步驟b3 ; b2、從本地緩存區(qū)中獲取業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),用于響應用戶的業(yè)務請求;然后跳轉(zhuǎn)執(zhí)行步驟O; b3、通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),用于響應用戶的業(yè)務請求,并執(zhí)行步驟b4 ; b4、判斷新獲取的業(yè)務數(shù)據(jù)的數(shù)據(jù)量是否超過本地緩存區(qū)中當前剩余的業(yè)務數(shù)據(jù)緩存容量;若是,則執(zhí)行步驟b5 ;否則執(zhí)行步驟b6 ; b5、將本地緩存區(qū)中訪問熱度值最低的業(yè)務數(shù)據(jù)及其對應的業(yè)務ID記錄刪除,然后返回步驟b4 ; b6、將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)中,記錄新獲取的業(yè)務數(shù)據(jù)對應的業(yè)務ID,并執(zhí)行步驟b7; b7、將新獲取的業(yè)務數(shù)據(jù)進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器;然后跳轉(zhuǎn)執(zhí)行步驟O。
4.根據(jù)權利要求2所述的基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法,其特征在于,所述業(yè)務數(shù)據(jù)同步請求包含有待同步的業(yè)務數(shù)據(jù)對應的業(yè)務ID和數(shù)據(jù)量; 所述步驟C具體為: c1、響應業(yè)務數(shù)據(jù)同步請求,并解析業(yè)務數(shù)據(jù)同步請求獲得其中包含的待同步的業(yè)務數(shù)據(jù)對應的業(yè)務ID和數(shù)據(jù)量,執(zhí)行步驟c2 ; c2、判斷待同步的業(yè)務數(shù)據(jù)的數(shù)據(jù)量是否超過本地緩存區(qū)中當前剩余的業(yè)務數(shù)據(jù)緩存容量;若是,則執(zhí)行步驟c3 ;否則執(zhí)行步驟c4 ; c3、將本地緩存區(qū)中訪問熱度值最低的業(yè)務數(shù)據(jù)及其對應的業(yè)務ID記錄刪除,然后返回步驟c2 ; c4、接收來自其它應用服務器的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)中,并記錄該業(yè)務數(shù)據(jù)對應的業(yè)務ID ;然后跳轉(zhuǎn)執(zhí)行步驟O。
5.根據(jù)權利要求2-4任一項所述的基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理方法,其特征在于,所述訪問熱度算法的計算參數(shù)包括如下一項或幾項:設定時間內(nèi)的訪問次數(shù)、最近一次訪問時間距離當前時刻的時長、對設定時間內(nèi)的訪問次數(shù)按各次訪問時間的加權求和。
6.基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng),其特征在于,包括: 數(shù)據(jù)庫服務器,用于存儲所提供業(yè)務中各種業(yè)務請求對應的業(yè)務數(shù)據(jù); 多臺應用服務器,用于接收來自用戶的業(yè)務請求,并分別以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求;其中,每當一臺應用服務器通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,該應用服務器將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器進行緩存;` 各應用服務器通過業(yè)務數(shù)據(jù)網(wǎng)絡分別與數(shù)據(jù)庫服務器遠程通信連接,各應用服務器之間通過獨立于業(yè)務數(shù)據(jù)網(wǎng)絡的數(shù)據(jù)同步網(wǎng)絡進行遠程通信連接; 所述應用服務器包括: 請求接收模塊,用于接收來自用戶的業(yè)務請求或來自其它應用服務器的業(yè)務數(shù)據(jù)同步請求; 業(yè)務請求處理模塊,用于以本地緩存區(qū)優(yōu)先調(diào)用的方式從本地緩存區(qū)或通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求;其中,當通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務數(shù)據(jù)用于響應用戶的業(yè)務請求時,將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)并進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器; 業(yè)務數(shù)據(jù)同步請求處理模塊,用于響應業(yè)務數(shù)據(jù)同步請求,并接收來自其它應用服務器的業(yè)務數(shù)據(jù)進行本地緩存處理。
7.根據(jù)權利要求6所述的基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng),其特征在于,所述應用服務器還包括: 訪問熱度統(tǒng)計模塊,用于按預設定的訪問熱度算法實時計算和統(tǒng)計本地緩存區(qū)中緩存的各業(yè)務數(shù)據(jù)的訪問熱度值。
8.根據(jù)權利要求7所述的基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng),其特征在于,所述業(yè)務請求處理模塊包括:緩存檢索單元,用于解析業(yè)務請求獲得其中包含的業(yè)務ID,檢索本地緩存區(qū)中是否存在業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),若是則發(fā)送本地調(diào)用指令,否則發(fā)送遠程獲取指令; 本地緩存區(qū)調(diào)用單元,由本地調(diào)用指令觸發(fā),用于從本地緩存區(qū)中獲取業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),用于響應用戶的業(yè)務請求; 遠程數(shù)據(jù)獲取單元,由遠程獲取指令觸發(fā),用于通過遠程通信從數(shù)據(jù)庫服務器獲取業(yè)務請求包含的業(yè)務ID對應的業(yè)務數(shù)據(jù),用于響應用戶的業(yè)務請求,并發(fā)送緩存容量監(jiān)測指令; 緩存容量監(jiān)測單元,由緩存容量監(jiān)測指令觸發(fā),用于判斷新獲取的業(yè)務數(shù)據(jù)的數(shù)據(jù)量是否超過本地緩存區(qū)中當前剩余的業(yè)務數(shù)據(jù)緩存容量,若是則發(fā)送緩存清理指令,否則發(fā)送緩存處理指令; 緩存清理單元,由緩存清理指令觸發(fā),用于將本地緩存區(qū)中訪問熱度值最低的業(yè)務數(shù)據(jù)及其對應的業(yè)務ID記錄刪除,然后發(fā)送緩存容量監(jiān)測指令; 緩存處理單元,由緩存處理指令觸發(fā),用于將新獲取的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)中,記錄新獲取的業(yè)務數(shù)據(jù)對應的業(yè)務ID,并發(fā)送數(shù)據(jù)分發(fā)指令; 數(shù)據(jù)分發(fā)處理單元,由數(shù)據(jù)分發(fā)指令觸發(fā),用于將新獲取的業(yè)務數(shù)據(jù)進行備份,且分別向其它應用服務器發(fā)送業(yè)務數(shù)據(jù)同步請求,并在業(yè)務數(shù)據(jù)同步請求得到響應時將備份的業(yè)務數(shù)據(jù)分發(fā)至其它應用服務器。
9.根據(jù)權利要求7所述的基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng),其特征在于,所述業(yè)務數(shù)據(jù)同步請求處理模塊包括: 數(shù)據(jù)同步請求響應單元,用于響應業(yè)務數(shù)據(jù)同步請求,并解析業(yè)務數(shù)據(jù)同步請求獲得其中包含的待同步的業(yè)務數(shù)據(jù)對應的業(yè)務ID和數(shù)據(jù)量,并發(fā)送同步緩存容量監(jiān)測指令; 同步緩存容量監(jiān)測單元,由同步緩存容量監(jiān)測指令觸發(fā),用于判斷待同步的業(yè)務數(shù)據(jù)的數(shù)據(jù)量是否超過本地緩存區(qū)中當前剩余的業(yè)務數(shù)據(jù)緩存容量,若是則發(fā)送同步緩存清理指令,否則發(fā)送同步緩存處理指令; 同步緩存清理單元,由同步緩存清理指令觸發(fā),用于將本地緩存區(qū)中訪問熱度值最低的業(yè)務數(shù)據(jù)及其對應的業(yè)務ID記錄刪除,然后發(fā)送緩存容量監(jiān)測指令; 同步緩存處理單元,由同步緩存處理指令觸發(fā),用于接收來自其它應用服務器的業(yè)務數(shù)據(jù)緩存于本地緩存區(qū)中,并記 錄該業(yè)務數(shù)據(jù)對應的業(yè)務ID。
10.根據(jù)權利要求7-9任一項所述的基于數(shù)據(jù)緩存同步的分布式業(yè)務請求處理系統(tǒng),其特征在于,所述訪問熱度算法的計算參數(shù)包括如下一項或幾項:設定時間內(nèi)的訪問次數(shù)、最近一次訪問時間距離當前時刻的時長、對設定時間內(nèi)的訪問次數(shù)按各次訪問時間的加權求和。
【文檔編號】H04L29/08GK103716343SQ201210373171
【公開日】2014年4月9日 申請日期:2012年9月29日 優(yōu)先權日:2012年9月29日
【發(fā)明者】王忻 申請人:重慶新媒農(nóng)信科技有限公司