實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法及其系統(tǒng)的制作方法
【專利摘要】本申請公開了一種實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法及其系統(tǒng),該方法為獲取業(yè)務應用的數(shù)據(jù)對象的操作請求提供分層安排,包括:發(fā)送數(shù)據(jù)對象的操作請求;根據(jù)所述操作請求,按照業(yè)務功能采用隊列模式將所述數(shù)據(jù)對象進行歸并和分類,并采用面向數(shù)據(jù)對象的開發(fā)方式進行逐層封裝;基于配置的定義管理所述數(shù)據(jù)對象,并提供數(shù)據(jù)對象的操作接口,以對動態(tài)內(nèi)容進行緩存。本發(fā)明實現(xiàn)高內(nèi)聚與低耦合,系統(tǒng)總體架構按照獲取業(yè)務應用的數(shù)據(jù)對象的操作請求進行分層設計,通過統(tǒng)一方式進行調(diào)用,對于內(nèi)容管理等具有擴展性需要的業(yè)務邏輯,提供基于配置的快速定義開發(fā)方式,支持大多數(shù)的數(shù)據(jù)對象內(nèi)容發(fā)布要求,減少二次開發(fā)需求,在語義層實施解耦。
【專利說明】實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法及其系統(tǒng)
【技術領域】
[0001]本發(fā)明屬于通信【技術領域】,涉及一種實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法及其系統(tǒng)。
【背景技術】
[0002]隨著互聯(lián)網(wǎng)技術的普及,大型電子商城應運而生,其給人們的生活帶來了諸多的便利,人們開始習慣在大型電子商城上進行各種各樣的應用以滿足生活需求,典型的應用如電子購物,流程一般包括:瀏覽商品,商品加入購物車,查詢購物車商品,查詢訂單狀態(tài),導出訂單等,隨之而來對響應速度提出了更高的要求。
[0003]目前,以大型電子商城12580為例,作為中國移動為用戶提供的綜合信息服務平臺,在國內(nèi),可隨時撥打12580進行餐飲、娛樂、旅游、天氣、交通、便民等各類信息的查詢,以及酒店、機票的查詢、預訂,查詢結果將以語音及短信、彩信等方式告知用戶。12580在商戶和消費者之間,構建了一個基于“用戶細分需求匹配、廣告直接促進銷售”的雙邊市場,致力于為客戶提供“專家級”資訊服務。
[0004]公布號為CN103166997A的專利文獻公開了一種memcache分布式緩存方法,包括:首先,緩存獲取,采用客戶端通過請求名字結點服務器返回唯一鍵對應的緩存節(jié)點服務器的一個或多個ip地址。接著,客戶端從某個數(shù)據(jù)源獲取數(shù)據(jù),客戶端通過請求名字結點服務器,令名字結點服務器范圍唯一鍵所對應的緩存結點服務器的一個或多個ip地址。之后,客戶端獲取第一個ip,將緩存寫入對應的緩存結點服務器。現(xiàn)有技術的顯著缺點是:不能適應未來各種應用系統(tǒng)對大型電子商城提供統(tǒng)一平臺服務的需求,以及提供針對各種已有數(shù)據(jù)源的接口支持。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于克服上述不足,提供一種實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法,其能夠加快數(shù)據(jù)對象操作請求的響應速度,滿足未來各種應用系統(tǒng)對大型電子商城提供統(tǒng)一平臺服務的需求。
[0006]為了實現(xiàn)上述目的,本發(fā)明采用的技術方案為:
[0007]—種實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法,其特征在于,為獲取業(yè)務應用的數(shù)據(jù)對象的操作請求提供分層安排,包括:
[0008]發(fā)送數(shù)據(jù)對象的操作請求;
[0009]根據(jù)所述操作請求,按照業(yè)務功能采用隊列模式將所述數(shù)據(jù)對象進行歸并和分類,并采用面向數(shù)據(jù)對象的開發(fā)方式進行逐層封裝;
[0010]基于配置的定義管理所述數(shù)據(jù)對象,并提供數(shù)據(jù)對象的操作接口,以對動態(tài)內(nèi)容進行緩存。
[0011]優(yōu)選地,其中,所述基于配置的定義管理數(shù)據(jù)對象包括:設定各個數(shù)據(jù)對象對應存儲的memcached,根據(jù)數(shù)據(jù)對象的主鍵值將所述數(shù)據(jù)對象分發(fā)到對應的memcached。
[0012]優(yōu)選地,其中,所述將數(shù)據(jù)對象分發(fā)到對應的memcached為采用Hash算法。
[0013]優(yōu)選地,其中,所述對動態(tài)內(nèi)容進行緩存包括:由負載平衡器動態(tài)地將負載重新分布在與緩存的內(nèi)容相關聯(lián)的操作接口上。
[0014]為了實現(xiàn)上述目的,本發(fā)明采用的技術方案為:
[0015]一種實現(xiàn)高內(nèi)聚與低耦合的多級緩存系統(tǒng),其特征在于,整體架構按照獲取業(yè)務應用的數(shù)據(jù)對象的操作請求進行分層設計,包括:
[0016]客戶層,用于發(fā)送數(shù)據(jù)對象的操作請求;
[0017]服務層,用于根據(jù)所述操作請求,按照業(yè)務功能采用隊列模式將所述數(shù)據(jù)對象進行歸并和分類,并采用面向數(shù)據(jù)對象的開發(fā)方式進行逐層封裝;
[0018]存儲層,用于基于配置的定義管理所述數(shù)據(jù)對象,并提供數(shù)據(jù)對象的操作接口,以對動態(tài)內(nèi)容進行緩存。
[0019]優(yōu)選地,其中,所述存儲層包括:采用隊列模式分布的memcached。
[0020]優(yōu)選地,其中,所述存儲層還包括擴展程序操作接口,用于擴展數(shù)據(jù)庫服務器。
[0021]優(yōu)選地,其中,所述存儲層還包括負載平衡器,用于動態(tài)地將負載重新分布在與單個緩存相關聯(lián)的操作接口上。
[0022]本發(fā)明的有益效果為:
[0023]第一,實現(xiàn)高內(nèi)聚與低耦合,系統(tǒng)總體架構按照獲取業(yè)務應用的數(shù)據(jù)對象的操作請求進行分層設計,包括客戶層、服務層與存儲層,層與層之間完全解耦,通過統(tǒng)一方式進行調(diào)用,對于內(nèi)容管理等具有擴展性需要的業(yè)務邏輯,提供基于配置的快速定義開發(fā)方式,支持大多數(shù)的數(shù)據(jù)對象內(nèi)容發(fā)布要求,減少二次開發(fā)需求,在語義層實施解耦。
[0024]第二,提高用戶的訪問速度,采用分布式緩存,對用戶動態(tài)有關的動態(tài)內(nèi)容采用memcached進行存儲,通過在內(nèi)存中緩存數(shù)據(jù)和對象減少讀取數(shù)據(jù)庫的次數(shù),從而提供動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度,另外,負載平衡器動態(tài)地將負載重新分布在與單個緩存相關聯(lián)的操作接口上,減輕了數(shù)據(jù)庫的負擔。
[0025]第三,具備數(shù)據(jù)的無限擴展,初始的用戶和訪問量只需要一臺服務器就可以承受,預留的擴展程序接口,可以方便地擴展數(shù)據(jù)庫服務器,讓系統(tǒng)支撐更多的數(shù)據(jù)??朔爽F(xiàn)有技術為了擴展數(shù)據(jù)庫服務器,大都采用第三方開發(fā)的程序來實現(xiàn)所造成的技術缺陷,有效地緩解了大量數(shù)據(jù)存儲和高效率的訪問。
【專利附圖】
【附圖說明】
[0026]此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
[0027]圖1是本發(fā)明的實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法的流程示意圖;
[0028]圖2是圖1所示方法的實施例交互時序示意圖;
[0029]圖3是本發(fā)明的實現(xiàn)高內(nèi)聚與低耦合的多級緩存系統(tǒng)的結構示意圖。
【具體實施方式】
[0030]如在說明書及權利要求當中使用了某些詞匯來指稱特定組件。本領域技術人員應可理解,硬件制造商可能會用不同名詞來稱呼同一個組件。本說明書及權利要求并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的準則。如在通篇說明書及權利要求當中所提及的“包含”為一開放式用語,故應解釋成“包含但不限定于”?!按笾隆笔侵冈诳山邮盏恼`差范圍內(nèi),本領域技術人員能夠在一定誤差范圍內(nèi)解決所述技術問題,基本達到所述技術效果。說明書后續(xù)描述為實施本申請的較佳實施方式,然所述描述乃以說明本申請的一般原則為目的,并非用以限定本申請的范圍。本申請的保護范圍當視所附權利要求所界定者為準。
[0031]實施例1
[0032]請參照圖1,本發(fā)明的實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法,為獲取業(yè)務應用的數(shù)據(jù)對象的操作請求提供分層安排,包括:S100,發(fā)送數(shù)據(jù)對象的操作請求;S200,根據(jù)所述操作請求,按照業(yè)務功能采用隊列模式將所述數(shù)據(jù)對象進行歸并和分類,并采用面向數(shù)據(jù)對象的開發(fā)方式進行逐層封裝;S300,基于配置的定義管理所述數(shù)據(jù)對象,并提供數(shù)據(jù)對象的操作接口,以對動態(tài)內(nèi)容進行緩存。
[0033]優(yōu)選地,所述將數(shù)據(jù)對象進行歸并和分類包括:采用隊列模式將數(shù)據(jù)對象進行分布。
[0034]優(yōu)選地,所述基于配置的定義管理數(shù)據(jù)對象包括:設定各個數(shù)據(jù)對象對應存儲的memcached,根據(jù)數(shù)據(jù)對象的主鍵值將所述數(shù)據(jù)對象分發(fā)到對應的memcached。
[0035]優(yōu)選地,所述將數(shù)據(jù)對象分發(fā)到對應的memcached為采用Hash算法。
[0036]優(yōu)選地,所述對動態(tài)內(nèi)容進行緩存包括:由負載平衡器動態(tài)地將負載重新分布在與緩存的內(nèi)容相關聯(lián)的操作接口上。
[0037]本實施例將本發(fā)明的方法應用在12580大型電子商城,12580是中國移動為用戶提供的綜合信息服務平臺,在國內(nèi),可隨時撥打12580進行餐飲、娛樂、旅游、天氣、交通、便民等各類信息的查詢,以及酒店、機票的查詢、預訂,查詢結果將以語音及短信、彩信等方式告知用戶。
[0038]以12580提供的商旅服務為例,其服務主要包括:機票預訂,可以查詢國內(nèi)機票的正常票價、折扣票價、出發(fā)城市、到達城市、航空公司、航班號、起止機場、起飛時間、到達時間、全程時間、機型、艙位、燃油費、備注、簽改退政策;并能輕松享受機票的預訂、出票、送票、退票、改簽等系列服務。酒店預訂,可以查詢酒店名稱、簡介、類別、地址、價格、房(床)型、前臺電話、有無寬帶、周邊景點、會議功能、商業(yè)配套情況、會所、面積、停車、餐廳情況、裝修配置情況、交通情況、相近路口、火車站機場到酒店的距離等各類信息;并能輕松享受酒店的預訂、預訂變更、預訂取消、預訂信息查詢等系列服務。
[0039]請參照圖2,優(yōu)選地,用戶登錄12580商城,發(fā)送數(shù)據(jù)對象的操作請求;12580商城平臺根據(jù)用戶的登錄操作請求,驗證用戶身份,并返回驗證結果。
[0040]優(yōu)選地,12580商城平臺按照業(yè)務功能采用隊列模式將所述數(shù)據(jù)對象進行歸并和分類,例如機票預訂,包括國內(nèi)機票的正常票價、折扣票價、出發(fā)城市、到達城市、航空公司、航班號、起止機場、起飛時間、到達時間、全程時間、機型、艙位、燃油費、備注、簽改退政策,并采用面向數(shù)據(jù)對象的開發(fā)方式進行逐層封裝。
[0041]優(yōu)選地,基于配置的定義管理所述數(shù)據(jù)對象,用戶訂購商品,作為具體的實施例,用戶訂購機票,提交訂單,12580商城平臺處理機票訂單,成功提交支付請求至支付平臺,并提供數(shù)據(jù)對象的操作接口,以對動態(tài)內(nèi)容進行緩存。
[0042]優(yōu)選地,支付平臺向用戶發(fā)起支付,用戶確認支付,支付平臺處理支付,向用戶返回支付結果。
[0043]優(yōu)選地,12580商城平臺更新支付狀態(tài),并將訂單信息通知到商戶,由負載平衡器動態(tài)地將支付狀態(tài)的更新重新分布在與緩存的內(nèi)容相關聯(lián)的操作接口上。
[0044]優(yōu)選地,12580商城平臺發(fā)起下發(fā)電子券請求至認證平臺,認證平臺向用戶下發(fā)電子券,并返回電子券下發(fā)結果至12580商城平臺。
[0045]優(yōu)選地,用戶持電子券前往商戶消費,商戶發(fā)起驗證電子券請求于認證平臺,認證平臺向商戶返回驗證結果。
[0046]優(yōu)選地,認證平臺向12580商城平臺返回驗證結果,更新消費狀態(tài),由負載平衡器動態(tài)地將消費狀態(tài)的更新重新分布在與緩存的內(nèi)容相關聯(lián)的操作接口上。驗證成功,則商戶向用戶提供機票預訂服務。
[0047]優(yōu)選地,所述將數(shù)據(jù)對象進行歸并和分類包括:采用隊列模式將數(shù)據(jù)對象進行分布。
[0048]優(yōu)選地,所述基于配置的定義管理數(shù)據(jù)對象包括:設定各個數(shù)據(jù)對象對應存儲的memcached,根據(jù)數(shù)據(jù)對象的主鍵值將所述數(shù)據(jù)對象分發(fā)到對應的memcached。
[0049]優(yōu)選地,所述將數(shù)據(jù)對象分發(fā)到對應的memcached為采用Hash算法。memcached基于一個存儲鍵/值對的hashmap,其守護進程(daemon)是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協(xié)議與守護進程通信。
[0050]優(yōu)選地,12580商城平臺通過memcached建立分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)Web應用以減輕數(shù)據(jù)庫負載。它通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提高動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度。
[0051]在具體的實施例中,memcached是高性能的分布式內(nèi)存緩存服務器,和Squid的前端緩存加速不同,它是通過基于內(nèi)存緩存對象來減少數(shù)據(jù)庫查詢的方式改善網(wǎng)站系統(tǒng)的反應,而其中最吸引人的一個特性就是支持分布式部署,也就是說可以在一群機器上建立一堆memcached服務,每個服務可以根據(jù)具體服務器的硬件配置使用不同大小的內(nèi)存塊。
[0052]優(yōu)選地,memcached的服務器客戶端通信使用簡單的基于文本行的協(xié)議。因此,通過telnet也能在memcached上保存數(shù)據(jù)、取得數(shù)據(jù),例如:
[0053]$telnet 1calhost 11211
[0054]Trying 127.0.0.1...
[0055]Connected to localhost.1ocaldomain(127.0.0.1).
[0056]Escape character is.
[0057]set foo 003 (發(fā)起支付)
[0058]bar (訂單信息)
[0059]STORED (確認支付)
[0060]get foo (返回支付結果)
[0061]VALUE foo 03 (訂單信息)
[0062]bar (訂單信息)
[0063]優(yōu)選地,為了提高性能,memcached中保存的數(shù)據(jù)都存儲在memcached內(nèi)置的內(nèi)存存儲空間中。另外,內(nèi)容容量達到指定值之后,就基于LRU(Least Recently Used)算法自動刪除不使用的緩存。
[0064]優(yōu)選地,使用memcached-Server端,在服務端運行:
[0065]#./memcached-d-m 2048-1 10.0.0.40-p 11211
[0066]將會啟動一個占用2G內(nèi)存的進程,并打開11211端口用于接收請求。由于32位系統(tǒng)只能處理4G內(nèi)存的尋址,所以在大于4G內(nèi)存使用PAE的32位服務器上可以運行2_3個進程,并在不同端口進行監(jiān)聽。
[0067]優(yōu)選地,使用memcached-Client端,在應用端包含一個用于描述Client的Class后,就可以直接使用,例如:
[0068]$opt1ns ["servers"] = array ("192.168.1.41:11211","192.168.1.42:11212");
[0069]$opt1ns["debug"] = false ;
[0070]$memc = new MemCachedClient ($opt1ns);
[0071]$myarr = array("one", ^two^, 3);
[0072]$memc->set("key_one", $myarr);
[0073]$val = $memc->get("key_one");
[0074]print$val[0]."\n" ;//prints,one ‘
[0075]print$val[I]."\n" ;//prints,two ‘
[0076]print$val[2]."\n";//prints 3
[0077]本發(fā)明的實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法應用在12580大型電子商城,能夠提升:瀏覽商城的速度,商品加入購物車的速度,查詢訂單狀態(tài)的速度,以及商戶導出訂單的速度。
[0078]實施例2
[0079]請參照圖3,本實施例的實現(xiàn)高內(nèi)聚與低耦合的多級緩存系統(tǒng),整體架構按照獲取業(yè)務應用的數(shù)據(jù)對象的操作請求進行分層設計,包括:客戶層,用于發(fā)送數(shù)據(jù)對象的操作請求;服務層,用于根據(jù)所述操作請求,按照業(yè)務功能采用隊列模式將所述數(shù)據(jù)對象進行歸并和分類,并采用面向數(shù)據(jù)對象的開發(fā)方式進行逐層封裝;存儲層,用于基于配置的定義管理所述數(shù)據(jù)對象,并提供數(shù)據(jù)對象的操作接口,以對動態(tài)內(nèi)容進行緩存。
[0080]優(yōu)選地,所述存儲層包括:采用隊列模式分布的memcached。
[0081]優(yōu)選地,所述基于配置的定義管理數(shù)據(jù)對象包括:設定各個數(shù)據(jù)對象對應存儲的memcached,根據(jù)數(shù)據(jù)對象的主鍵值將所述數(shù)據(jù)對象分發(fā)到對應的memcached。
[0082]優(yōu)選地,所述存儲層還包括擴展程序接口,用于擴展數(shù)據(jù)庫服務器。
[0083]優(yōu)選地,所述存儲層還包括負載平衡器,用于動態(tài)地將負載重新分布在與單個緩存相關聯(lián)的操作接口上。
[0084]本實施例的分布式緩存是將用戶訪問或下載的內(nèi)容對象在采用隊列模式分布的memcached中緩存一個副本,當內(nèi)容對象再次被用戶訪問或下載的時候,不必連接到內(nèi)容對象對應的源服務器,而直接由緩存了內(nèi)容對象副本的緩存設備提供,從而加速內(nèi)容對象的訪問和下載,并降低對緩存設備的上一級網(wǎng)絡帶寬占用。
[0085]單臺服務器內(nèi)存有限,內(nèi)存中的數(shù)據(jù)容易丟失,此時數(shù)據(jù)庫的壓力會很大,短時間內(nèi)無法迅速恢復緩存,此時,需要多臺服務器組成分布式以解決單臺機的內(nèi)存限制,數(shù)據(jù)冗余和性能擴展問題。分布式緩存通過Hash算法將數(shù)據(jù)切合到緩存集群中不同的memcached上,有效地緩解了大量數(shù)據(jù)存儲和高效率的訪問。
[0086]本實施例應用在12580大型電子商城的酒店查詢服務,包括:查詢酒店名稱、簡介、類別、地址、價格、房(床)型、前臺電話、有無寬帶、周邊景點、會議功能、商業(yè)配套情況、會所、面積、停車、餐廳情況、裝修配置情況、交通情況、相近路口、火車站機場到酒店的距離等各類信息。
[0087]優(yōu)選地,用戶登錄12580商城,發(fā)送數(shù)據(jù)對象的操作請求;12580商城平臺根據(jù)用戶的登錄操作請求,驗證用戶身份,并返回驗證結果。
[0088]優(yōu)選地,12580商城平臺按照業(yè)務功能采用隊列模式將所述數(shù)據(jù)對象進行歸并和分類,例如酒店名稱、簡介、類別、地址、價格、房(床)型、前臺電話、有無寬帶、周邊景點、會議功能、商業(yè)配套情況、會所、面積、停車、餐廳情況、裝修配置情況、交通情況、相近路口、火車站機場到酒店的距離。
[0089]優(yōu)選地,基于配置的定義管理所述數(shù)據(jù)對象,作為具體的實施例,用戶進行酒店查詢,提交查詢請求,12580商城平臺處理查詢請求,成功提交查詢請求,并提供數(shù)據(jù)對象的操作接口,以對動態(tài)內(nèi)容進行緩存。
[0090]優(yōu)選地,服務器向用戶發(fā)起酒店信息查詢數(shù)據(jù),用戶進行瀏覽,同時,12580商城平臺更新酒店信息查詢數(shù)據(jù),并將更新的信息通知到用戶以進行瀏覽,由負載平衡器動態(tài)地將支付狀態(tài)的更新重新分布在與緩存的內(nèi)容相關聯(lián)的操作接口上。
[0091]優(yōu)選地,用戶認可了商戶的酒店,則向12580商城平臺發(fā)起預定請求,以下步驟與實施例2相同:用戶在支付平臺上進行酒店預訂,通過認證平臺向用戶下發(fā)電子券,并返回電子券下發(fā)結果至12580商城平臺。
[0092]優(yōu)選地,用戶持電子券前往商戶消費,商戶發(fā)起驗證電子券請求于認證平臺,認證平臺向商戶返回驗證結果。
[0093]優(yōu)選地,認證平臺向12580商城平臺返回驗證結果,更新消費狀態(tài),由負載平衡器動態(tài)地將消費狀態(tài)的更新重新分布在與緩存的內(nèi)容相關聯(lián)的操作接口上。驗證成功,則商戶向用戶提供酒店查詢服務。
[0094]優(yōu)選地,所述將數(shù)據(jù)對象進行歸并和分類包括:采用隊列模式將數(shù)據(jù)對象進行分布。
[0095]優(yōu)選地,所述基于配置的定義管理數(shù)據(jù)對象包括:設定各個數(shù)據(jù)對象對應存儲的memcached,根據(jù)數(shù)據(jù)對象的主鍵值將所述數(shù)據(jù)對象分發(fā)到對應的memcached。
[0096]優(yōu)選地,所述將數(shù)據(jù)對象分發(fā)到對應的memcached為采用Hash算法。
[0097]優(yōu)選地,12580商城平臺通過memcached建立分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)Web應用以減輕數(shù)據(jù)庫負載。它通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提高動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度。
[0098]在具體的實施例中,memcached的服務器客戶端通信使用簡單的基于文本行的協(xié)議。因此,通過telnet也能在memcached上保存數(shù)據(jù)、取得數(shù)據(jù),例如:
[0099]$telnet localhost 11211
[0100]Trying 127.0.0.1...
[0101]Connected to localhost.1ocaldomain(127.0.0.1).
[0102]Escape character is.
[0103]set foo 003(發(fā)起查詢請求)
[0104]bar (酒店信息)
[0105]STORED (確認商戶酒店)
[0106]get foo (返回查詢結果)
[0107]VALUE foo 03 (酒店信息)
[0108]bar (酒店信息)
[0109]實施例3
[0110]本實施例應用在12580大型電子商城的電子優(yōu)惠券服務,當用戶搜索生活服務時,坐席將12580電子優(yōu)惠券以短信和彩信的形式發(fā)送至客戶手機終端??蛻魬{12580電子優(yōu)惠券到簽約合作商戶消費,可以享受指定優(yōu)惠的價格。12580電子優(yōu)惠券覆蓋餐飲、休閑、購物、美容美發(fā)、健身等行業(yè)。
[0111]優(yōu)選地,用戶登錄12580商城,發(fā)送數(shù)據(jù)對象的操作請求;12580商城平臺根據(jù)用戶的登錄操作請求,驗證用戶身份,并返回驗證結果。
[0112]優(yōu)選地,12580商城平臺按照業(yè)務功能采用隊列模式將所述數(shù)據(jù)對象進行歸并和分類,例如餐飲、休閑、購物、美容美發(fā)、健身等各行業(yè)的電子券。
[0113]優(yōu)選地,基于配置的定義管理所述數(shù)據(jù)對象,作為具體的實施例,12580商城平臺發(fā)起下發(fā)電子券請求至認證平臺,并提供數(shù)據(jù)對象的操作接口,以對動態(tài)內(nèi)容進行緩存。
[0114]優(yōu)選地,認證平臺向用戶下發(fā)電子券,同時,向12580商城平臺返回電子券下發(fā)結果,由負載平衡器地將電子券的下發(fā)的動態(tài)信息重新分布在與緩存的內(nèi)容相關聯(lián)的操作接口上。
[0115]優(yōu)選地,用戶持電子券前往商戶消費,商戶向認證平臺發(fā)起驗證電子券請求,認證平臺向商戶返回驗證結果,同時,向返回驗證結果至12580商城平臺。
[0116]優(yōu)選地,認證平臺向12580商城平臺返回驗證結果,更新消費狀態(tài),由負載平衡器動態(tài)地將消費狀態(tài)的更新重新分布在與緩存的內(nèi)容相關聯(lián)的操作接口上。驗證成功,則商戶向用戶提供服務。
[0117]優(yōu)選地,所述將數(shù)據(jù)對象進行歸并和分類包括:采用隊列模式將數(shù)據(jù)對象進行分布。
[0118]優(yōu)選地,所述基于配置的定義管理數(shù)據(jù)對象包括:設定各個數(shù)據(jù)對象對應存儲的memcached,根據(jù)數(shù)據(jù)對象的主鍵值將所述數(shù)據(jù)對象分發(fā)到對應的memcached。
[0119]優(yōu)選地,所述將數(shù)據(jù)對象分發(fā)到對應的memcached為采用Hash算法。
[0120]優(yōu)選地,12580商城平臺通過memcached建立分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)Web應用以減輕數(shù)據(jù)庫負載。它通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提高動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度。
[0121]在具體的實施例中,memcached的服務器客戶端通信使用簡單的基于文本行的協(xié)議。因此,通過telnet也能在memcached上保存數(shù)據(jù)、取得數(shù)據(jù),例如:
[0122]$telnet localhost 11211
[0123]Trying 127.0.0.1...
[0124]Connected to localhost.1ocaldomain(127.0.0.1).
[0125]Escape character is.
[0126]set foo 003 (發(fā)起下發(fā)電子券請求)
[0127]bar (下發(fā)電子券)
[0128]STORED (電子券下發(fā)結果)
[0129]get foo (驗證電子券請求)
[0130]VALUE foo 03 (驗證結果)
[0131]bar (提供商品/服務)
[0132]本發(fā)明的有益效果為:
[0133]第一,實現(xiàn)高內(nèi)聚與低耦合,系統(tǒng)總體架構按照獲取業(yè)務應用的數(shù)據(jù)對象的操作請求進行分層設計,包括客戶層、服務層與存儲層,層與層之間完全解耦,通過統(tǒng)一方式進行調(diào)用,對于內(nèi)容管理等具有擴展性需要的業(yè)務邏輯,提供基于配置的快速定義開發(fā)方式,支持大多數(shù)的數(shù)據(jù)對象內(nèi)容發(fā)布要求,減少二次開發(fā)需求,在語義層實施解耦。
[0134]第二,提高用戶的訪問速度,采用分布式緩存,對用戶動態(tài)有關的動態(tài)內(nèi)容采用memcached進行存儲,通過在內(nèi)存中緩存數(shù)據(jù)和對象減少讀取數(shù)據(jù)庫的次數(shù),從而提供動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度,另外,負載平衡器動態(tài)地將負載重新分布在與單個緩存相關聯(lián)的操作接口上,減輕了數(shù)據(jù)庫的負擔。
[0135]第三,具備數(shù)據(jù)的無限擴展,初始的用戶和訪問量只需要一臺服務器就可以承受,預留的擴展程序接口,可以方便地擴展數(shù)據(jù)庫服務器,讓系統(tǒng)支撐更多的數(shù)據(jù)??朔爽F(xiàn)有技術為了擴展數(shù)據(jù)庫服務器,大都采用第三方開發(fā)的程序來實現(xiàn)所造成的技術缺陷,有效地緩解了大量數(shù)據(jù)存儲和高效率的訪問。
[0136]上述說明示出并描述了本申請的若干優(yōu)選實施例,但如前所述,應當理解本申請并非局限于本文所披露的形式,不應看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述申請構想范圍內(nèi),通過上述教導或相關領域的技術或知識進行改動。而本領域人員所進行的改動和變化不脫離本申請的精神和范圍,則都應在本申請所附權利要求的保護范圍內(nèi)。
【權利要求】
1.一種實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法,其特征在于,為獲取業(yè)務應用的數(shù)據(jù)對象的操作請求提供分層安排,包括: 發(fā)送數(shù)據(jù)對象的操作請求; 根據(jù)所述操作請求,按照業(yè)務功能采用隊列模式將所述數(shù)據(jù)對象進行歸并和分類,并采用面向數(shù)據(jù)對象的開發(fā)方式進行逐層封裝; 基于配置的定義管理所述數(shù)據(jù)對象,并提供數(shù)據(jù)對象的操作接口,以對動態(tài)內(nèi)容進行緩存。
2.根據(jù)權利要求1所述實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法,其特征在于,所述基于配置的定義管理數(shù)據(jù)對象包括:設定各個數(shù)據(jù)對象對應存儲的memcached,根據(jù)數(shù)據(jù)對象的主鍵值將所述數(shù)據(jù)對象分發(fā)到對應的memcached。
3.根據(jù)權利要求2所述實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法,其特征在于,所述將數(shù)據(jù)對象分發(fā)到對應的memcached為采用Hash算法。
4.根據(jù)權利要求3所述實現(xiàn)高內(nèi)聚與低耦合的多級緩存方法,其特征在于,所述對動態(tài)內(nèi)容進行緩存包括:由負載平衡器動態(tài)地將負載重新分布在與緩存的內(nèi)容相關聯(lián)的操作接口上。
5.一種實現(xiàn)高內(nèi)聚與低耦合的多級緩存系統(tǒng),其特征在于,整體架構按照獲取業(yè)務應用的數(shù)據(jù)對象的操作請求進行分層設計,包括: 客戶層,用于發(fā)送數(shù)據(jù)對象的操作請求; 服務層,用于根據(jù)所述操作請求,按照業(yè)務功能采用隊列模式將所述數(shù)據(jù)對象進行歸并和分類,并采用面向數(shù)據(jù)對象的開發(fā)方式進行逐層封裝; 存儲層,用于基于配置的定義管理所述數(shù)據(jù)對象,并提供數(shù)據(jù)對象的操作接口,以對動態(tài)內(nèi)容進行緩存。
6.根據(jù)權利要求5所述實現(xiàn)高內(nèi)聚與低耦合的多級緩存系統(tǒng),其特征在于,所述存儲層包括:采用隊列模式分布的memcached。
7.根據(jù)權利要求6所述實現(xiàn)高內(nèi)聚與低耦合的多級緩存系統(tǒng),其特征在于,所述存儲層還包括擴展程序操作接口,用于擴展數(shù)據(jù)庫服務器。
8.根據(jù)權利要求7所述實現(xiàn)高內(nèi)聚與低耦合的多級緩存系統(tǒng),其特征在于,所述存儲層還包括負載平衡器,用于動態(tài)地將負載重新分布在與單個緩存相關聯(lián)的操作接口上。
【文檔編號】H04L29/08GK104243581SQ201410468275
【公開日】2014年12月24日 申請日期:2014年9月15日 優(yōu)先權日:2014年9月15日
【發(fā)明者】王君濤, 韓生余 申請人:成都北緯航信網(wǎng)絡科技有限責任公司