亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種數(shù)據(jù)處理方法和系統(tǒng)的制作方法

文檔序號:8258732閱讀:269來源:國知局
一種數(shù)據(jù)處理方法和系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明涉及計算機和互聯(lián)網(wǎng)領域,具體涉及一種數(shù)據(jù)處理方法和系統(tǒng)。
【背景技術】
[0002] 圖1為現(xiàn)有的一種數(shù)據(jù)處理系統(tǒng)的結構圖。如圖1所示,該數(shù)據(jù)處理系統(tǒng)包括數(shù) 據(jù)庫服務器110、主緩存服務器(Redis Master) 120、從緩存服務器(Redis Slave) 130和負 載均衡器140,數(shù)據(jù)庫服務器110與主緩存服務器120通信連接,主緩存服務器120與從緩 存服務器130通信連接,且主緩存服務器120和從緩存服務器130均通信連接至負載均衡 器140,負載均衡器140與多個應用服務器150例如網(wǎng)頁服務器(Webserver)通信連接。
[0003] 在該數(shù)據(jù)處理系統(tǒng)中,使用Redis作為數(shù)據(jù)庫服務器110所存儲的數(shù)據(jù)的緩存系 統(tǒng),且Redis的部署結構為主從架構。應用服務器150進行數(shù)據(jù)查詢時,其讀數(shù)據(jù)請求會首 先到達負載均衡器140,負載均衡器140采用預定的負載均衡算法來從主緩存服務器120和 從緩存服務器130中選擇一個,并從所選擇的緩存服務器中獲取相應數(shù)據(jù)后,返回給應用 服務器140。
[0004] 通常,緩存服務器中緩存的數(shù)據(jù)具有過期時間,如不及時進行緩存更新,應用服務 器有可能會從緩存服務器中獲取過期的數(shù)據(jù)。因此,數(shù)據(jù)庫服務器110會按照預定周期對 Redis中緩存的數(shù)據(jù)進行更新。緩存更新的過程一般為:數(shù)據(jù)庫服務器110將數(shù)據(jù)寫入到 主緩存服務器120,主緩存服務器120將所緩存的數(shù)據(jù)同步到從緩存服務器130。
[0005] 但是,數(shù)據(jù)庫服務器110中通常存儲大量數(shù)據(jù),在緩存更新周期到達時,數(shù)據(jù)庫服 務器110需要集中寫入大量數(shù)據(jù)到緩存服務器。而Redis是單線程方式響應請求,由于寫 入數(shù)據(jù)量非常大,在寫入數(shù)據(jù)的同時來自于前端應用服務器150的查詢請求會受到阻塞排 隊,嚴重時導致應用服務器150無法和Redis服務建立連接,使得系統(tǒng)的響應時間過長。而 且,主緩存服務器120會同步大量數(shù)據(jù)到從緩存服務器130,導致從緩存服務器130上出現(xiàn) 加載數(shù)據(jù)(load data in memory)異常,嚴重影響前端業(yè)務服務器的穩(wěn)定。

【發(fā)明內容】

[0006] 鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上 述問題的數(shù)據(jù)處理方法和系統(tǒng)。
[0007] 根據(jù)本發(fā)明的一個方面,提供了一種數(shù)據(jù)處理系統(tǒng),包括數(shù)據(jù)庫服務器、寫處理 器、多個緩存服務器和讀處理器,所述寫處理器和讀處理器中均存儲有各緩存服務器與對 該緩存服務器所存儲的數(shù)據(jù)進行更新的寫時間段的關聯(lián)關系,其中:所述寫處理器適于在 接收到數(shù)據(jù)庫服務器發(fā)送的寫數(shù)據(jù)請求時,根據(jù)當前時間從所述多個緩存服務器中選擇一 個緩存服務器,其中所述當前時間落入到了所選擇的緩存服務器的寫時間段內,并根據(jù)該 寫數(shù)據(jù)請求將數(shù)據(jù)庫服務器中存儲的相應數(shù)據(jù)條目寫入到所選擇的緩存服務器中;所述 讀處理器適于在接收到應用服務器發(fā)送的讀數(shù)據(jù)請求時,根據(jù)當前時間從所述多個緩存服 務器中選擇一個緩存服務器,其中所述當前時間未落入到所選擇的緩存服務器的寫時間段 內,并從所選擇的緩存服務器獲取與該讀數(shù)據(jù)請求對應的數(shù)據(jù)條目,將獲取到的數(shù)據(jù)條目 返回給應用服務器。
[0008] 可選地,在根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)中,所述多個緩存服務器為兩個緩存服務 器,分別為第一緩存服務器和第二緩存服務器,所述第一緩存服務器的寫時間段和所述第 二緩存服務器的寫時間段是對預定長度的時間段進行劃分得到的兩個時間段。
[0009] 可選地,在根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)中,所述數(shù)據(jù)庫服務器適于根據(jù)對數(shù)據(jù)條 目的每種查詢條件,獲取與該查詢條件相關聯(lián)的數(shù)據(jù)條目,并根據(jù)查詢條件與數(shù)據(jù)條目的 關聯(lián)關系來構造寫數(shù)據(jù)請求,相應地,所述寫處理器進一步適于根據(jù)該寫數(shù)據(jù)請求將查詢 條件以及與該查詢條件關聯(lián)的數(shù)據(jù)條目相關聯(lián)的存儲到緩存服務器中。
[0010] 可選地,在根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)中,所述讀處理器進一步適于根據(jù)讀數(shù)據(jù) 請求所攜帶的查詢條件,從緩存服務器獲取與該查詢條件相關聯(lián)的數(shù)據(jù)條目。
[0011] 可選地,在根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)中,數(shù)據(jù)庫服務器中的數(shù)據(jù)條目是以關系 型數(shù)據(jù)庫方式進行存儲;緩存服務器中的數(shù)據(jù)條目是以查詢條件為鍵、以相關聯(lián)的數(shù)據(jù)條 目為值的鍵-值方式進行存儲。
[0012] 可選地,在根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)中,所述第一緩存服務器的寫時間段的長 度等于所述第二緩存服務器的寫時間段的長度。
[0013] 根據(jù)本發(fā)明的另一方面,提供了一種數(shù)據(jù)處理方法,適于在包括數(shù)據(jù)庫服務器、寫 處理器、多個緩存服務器和讀處理器的數(shù)據(jù)處理系統(tǒng)中執(zhí)行,所述數(shù)據(jù)處理方法包括:在寫 處理器和讀處理器中存儲各緩存服務器與對該緩存服務器所存儲的數(shù)據(jù)進行更新的寫時 間段的關聯(lián)關系;寫處理器在接收到數(shù)據(jù)庫服務器發(fā)送的寫數(shù)據(jù)請求時,根據(jù)當前時間從 所述多個緩存服務器中選擇一個緩存服務器,其中所述當前時間落入到了所選擇的緩存服 務器的寫時間段內,并根據(jù)該寫數(shù)據(jù)請求將數(shù)據(jù)庫服務器中存儲的相應數(shù)據(jù)條目寫入到所 選擇的緩存服務器中;讀處理器在接收到應用服務器發(fā)送的讀數(shù)據(jù)請求時,根據(jù)當前時間 從所述多個緩存服務器中選擇一個緩存服務器,其中所述當前時間未落入到所選擇的緩存 服務器的寫時間段內,并從所選擇的緩存服務器獲取與該讀數(shù)據(jù)請求對應的數(shù)據(jù)條目,將 獲取到的數(shù)據(jù)條目返回給應用服務器。
[0014] 可選地,在根據(jù)本發(fā)明的數(shù)據(jù)處理方法中,所述多個緩存服務器為兩個緩存服務 器,分別為第一緩存服務器和第二緩存服務器,所述第一緩存服務器的寫時間段和所述第 二緩存服務器的寫時間段是對預定長度的時間段進行劃分得到的兩個時間段。
[0015] 可選地,根據(jù)本發(fā)明的數(shù)據(jù)處理方法還包括:數(shù)據(jù)庫服務器根據(jù)對數(shù)據(jù)條目的每 種查詢條件,獲取與該查詢條件相關聯(lián)的數(shù)據(jù)條目,并根據(jù)查詢條件與數(shù)據(jù)條目的關聯(lián)關 系構造寫數(shù)據(jù)請求,將所構造的寫數(shù)據(jù)請求發(fā)送到寫處理器;所述根據(jù)該寫數(shù)據(jù)請求將數(shù) 據(jù)庫服務器中存儲的相應數(shù)據(jù)條目寫入到所選擇的緩存服務器中,包括:根據(jù)該寫數(shù)據(jù)請 求將查詢條件以及與該查詢條件關聯(lián)的數(shù)據(jù)條目相關聯(lián)的存儲到緩存服務器中。
[0016] 可選地,在根據(jù)本發(fā)明的數(shù)據(jù)處理方法中,所述從所選擇的緩存服務器獲取與該 讀數(shù)據(jù)請求對應的數(shù)據(jù)條目,包括:根據(jù)讀數(shù)據(jù)請求所攜帶的查詢條件,從緩存服務器獲取 與該查詢條件相關聯(lián)的數(shù)據(jù)條目。
[0017] 可選地,在根據(jù)本發(fā)明的數(shù)據(jù)處理方法中,數(shù)據(jù)庫服務器中的數(shù)據(jù)條目是以關系 型數(shù)據(jù)庫方式進行存儲;緩存服務器中的數(shù)據(jù)條目是以查詢條件為鍵、以相關聯(lián)的數(shù)據(jù)條 目為值的鍵-值方式進行存儲。
[0018] 可選地,在根據(jù)本發(fā)明的數(shù)據(jù)處理方法中,所述第一緩存服務器的寫時間段的長 度等于所述第二緩存服務器的寫時間段的長度。
[0019] 根據(jù)本發(fā)明的數(shù)據(jù)處理方案,通過為各緩存服務器分別分配寫時間段,在緩存服 務器的寫時間段內響應寫數(shù)據(jù)請求,實現(xiàn)緩存的更新,在寫時間段之外的時間段響應讀數(shù) 據(jù)請求,完成業(yè)務查詢,從而隔離了在同一緩存服務器上的讀操作和寫操作,避免了讀操作 與寫操作之間的相互影響,使得系統(tǒng)響應時間短,系統(tǒng)性能更加穩(wěn)定。并且,還取消了緩存 服務器的主從部署方式,這樣就不用在各個緩存服務器之間同步數(shù)據(jù),消除了大量數(shù)據(jù)同 步對業(yè)務查詢的負面影響。
[0020] 上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段, 而可依照說明書的內容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠 更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【附圖說明】
[0021] 通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通 技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明 的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0022] 圖1示出了現(xiàn)有的一種數(shù)據(jù)處理系統(tǒng)的結構圖;
[0023] 圖2示出了根據(jù)本發(fā)明一個實施例的數(shù)據(jù)處理系統(tǒng)的結構圖;以及
[0024] 圖3示出了根據(jù)本發(fā)明一個實施例的數(shù)據(jù)處理方法的流程圖。
【具體實施方式】
[0025] 下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開 的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例 所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍 完整的傳達給本領域的技術人員。
[0026] 圖2示出了根據(jù)本發(fā)明一個實施例的數(shù)據(jù)處理系統(tǒng)的結構圖。如圖2所示,該數(shù)據(jù) 處理系統(tǒng)包括數(shù)據(jù)庫服務器210、寫處理器220、多個緩存服務器(圖中示出了 2個,分別為 第一緩存服務器230和第二緩存服務器240)和讀處理器250,寫處理器220 -方面與數(shù)據(jù) 庫服務器210通信連接,另一方面與所述多個緩存服務器中的每個緩存服務器通信連接, 讀處理器250 -方面與所述多個緩存服務器中的每個緩存服務器通信連接,另一方面與一 個或多個應用服務器260例如網(wǎng)頁服務器(Webserver)通信連接。
[0027] 在本發(fā)明實施例的數(shù)據(jù)處理系統(tǒng)中,多個緩存服務器構成數(shù)據(jù)庫服務器210所存 儲的數(shù)據(jù)的緩存系統(tǒng)。應用服務器260需要查詢數(shù)據(jù)時,不需要對數(shù)據(jù)庫服務器210中的 數(shù)據(jù)進行直接操作,而是從緩存服務器獲取需要查詢的數(shù)據(jù),由于緩存服務器中的數(shù)據(jù)存 儲在內存中,訪問速度快,因此能夠提高數(shù)據(jù)查詢的速度。另外,由于緩存服務器中緩存的 數(shù)據(jù)具有過期時間,如不及時進行緩存更新,應用服務器260有可能會從緩存服務器中獲 取過期的數(shù)據(jù)。因此,數(shù)據(jù)庫服務器110會按照預定周期對緩存服務器中緩存的數(shù)據(jù)進行 更新。
[0028] 緩存內容更新和數(shù)據(jù)查詢操作的流程為:在緩存數(shù)據(jù)的更新周期中,數(shù)據(jù)庫服務 器210構造寫數(shù)據(jù)請求發(fā)送到寫處理器220,該寫數(shù)據(jù)請求中攜帶需要更新到緩存服務器 的數(shù)據(jù)條目,寫處理器220接收到數(shù)據(jù)庫服務器210發(fā)送的寫數(shù)據(jù)請求時,根據(jù)該寫數(shù)據(jù)請 求將數(shù)據(jù)庫服務
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1