為了使本技術領域的人員更好地理解本申請中的技術方案,下面將結合本申請實施例中的圖式,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本申請保護的範圍。
本申請實施例提供了一種資料快取方法、裝置及系統,引入快取節點匯路化的處理方式,從而實現自動對每個資料快取匯路上的所有快取節點進行資料快取更新,在資料快取匯路上的各快取節點進行資料更新時,無需人工參與,能夠避免因人工操作失誤而導致的業務處理資料更新不及時,進而避免因業務處理資料更新不及時而導致的業務請求響應失敗,提高了業務處理資料的快取效率和及時性。
圖1為本申請實施例提供的資料快取系統的結構示意圖,如圖1所示,該系統包括:中心伺服器、資料伺服器和多個業務伺服器,其中,中心伺服器和資料伺服器可以是同一個伺服器,也可以是不同的伺服器,每個業務伺服器中包含多個用於快取業務處理資料的快取模組,每個快取模組中快取的業務處理資料可以相同,也可以不同,根據業務伺服器需要處理的業務請求確定其快取的資料類型,業務伺服器接收到業務請求後,使用相應的快取模組中的業務處理資料響應該業務請求,其中,當資料伺服器中的業務處理資料存在變更時,需要由中心伺服器觸發對應的業務伺服器中儲存該業務處理資料的快取模組進行資料更新。
其中,針對任一業務處理事件,由於在響應該業務處理事件的過程中,需要參與的多個快取模組之間具有前後相關性和依賴性,因此,結合各快取模組之間的依賴關係可以形成多個資料快取匯路,以資料快取匯路為基本單元,對快取模組中的業務處理資料進行更新。具體的,中心伺服器獲取到資料快取匯路的標識後,基於該資料快取匯路的匯路資訊,依次控制該資料快取匯路中的快取節點進行業務處理資料更新,能夠自動完成對各資料快取匯路上的所有快取節點進行資料快取更新,從而實現快速更新業務伺服器中各快取模組快取的業務處理資料。
圖2為本申請一實施例提供的資料快取方法的第一種流程示意圖,圖2中的方法能夠由圖1中的中心伺服器執行,如圖2所示,該方法至少包括以下步驟:
S201,獲取資料快取匯路的匯路資訊,其中,該資料快取匯路是預先基於業務請求處理資訊確定的,每個資料快取匯路包括多個快取節點,具體的,中心伺服器接收到資料快取匯路的標識後,獲取與該標識對應的資料快取匯路的匯路資訊,該資料快取匯路的標識可以是人為觸發操作向中心伺服器發送的,也可以是基於預先創建的配置請求向中心伺服器發送的。
S202,根據獲取的資料快取匯路的匯路資訊,依次控制該資料快取匯路中的快取節點進行業務處理資料更新,其中,每個快取節點對應於儲存有業務處理資料的快取模組,具體的,按照預設順序依次觸發資料快取匯路中的各快取節點對應的快取模組進行快取資料更新,在快取模組中的業務處理資料更新後,業務伺服器接收到業務請求時,使用更新後的業務處理資料響應該業務請求。
本申請實施例中,引入快取節點匯路化的處理方式,從而實現自動對每個資料快取匯路上的所有快取節點進行資料快取更新,在資料快取匯路上的各快取節點進行資料更新時,無需人工參與,能夠避免因人工操作失誤而導致的業務處理資料更新不及時,進而避免因業務處理資料更新不及時而導致的業務請求響應失敗,提高了業務處理資料的快取效率和及時性。
其中,上述資料快取匯路及其匯路資訊是預先確定的,具體的,如圖3所示,在S201獲取資料快取匯路的匯路資訊之前,還包括:
S203,根據業務請求處理資訊,確定各快取節點之間的依賴關係,其中,業務請求處理資訊包括:業務處理事件對應的多個業務請求、以及每個業務請求與響應該業務請求的快取節點之間的對應關係;
S204,根據確定出的各快取節點之間的依賴關係,確定至少一條資料快取匯路以及該資料快取匯路的匯路資訊。
其中,針對一個業務處理事件,該業務處理事件關於多個相互關聯的業務請求,對於每個業務請求而言,由目標業務伺服器使用相應的快取模組中的業務處理資料響應該業務請求,因此,在響應該業務處理事件過程中,需要依次使用多個快取模組中的業務處理資料參與完成,關於到的多個快取模組之間存在一定的關聯性和先後執行順序。
考慮到對快取模組中的業務處理資料進行更新恰恰是為了響應接收到的業務處理事件相關的多個業務請求,每個業務處理事件與資料快取匯路之間具有一定對應關係,因此,在接收到業務處理事件相關的多個業務請求之前,將與該業務處理事件相關的資料快取匯路進行資料更新完成即可。
例如,以購買事件為例,確定與該購買事件相關的資料快取匯路的過程具體為:
針對一個購買事件,響應該購物事件的過程關於購買請求、支付請求和發貨請求,依次由購物平臺對應的業務伺服器A處理該購買請求,使用快取模組1中的購物處理資料響應於該購買請求,然後,由支付平臺對應的業務伺服器B處理該支付請求,使用快取模組2中的支付處理資料響應於該支付請求,再由物流平臺對應的業務伺服器C處理該發貨請求,使用快取模組3中的發貨處理資料響應於該發貨請求,因此,物流平臺對應的業務伺服器依賴於支付平臺對應的業務伺服器,支付平臺對應的業務伺服器依賴於購物平臺對應的業務伺服器,形成的資料快取匯路為:業務伺服器A中的快取模組1(快取節點1)→業務伺服器B中的快取模組2(快取節點2)→業務伺服器C中的快取模組3(快取節點3)。
又如,針對一次匯款事件,從起點機構或銀行到中轉點機構或銀行再到終點商戶或個人帳號,另外,在匯款過程中包含幣種轉換、時間周期等資訊,具體的,在T+7時效內將廣州中行的人民幣CNY出境兌換為美元USD再匯到美國US一個商家的帳戶,形成的資料快取匯路為:廣州中行→出境兌換→美國商家。
再如,針對在加州舉辦一場演唱會,需要多個儲存各類資料的快取模組包括:儲存有加州當地的節假日資訊的快取模組、儲存有加州當地的時區資訊的快取模組、以及儲存有美國的歌手資訊的快取模組、儲存於美國全國的節假日資訊的快取模組、儲存有商務合作關係的快取模組、儲存有費用關係的快取模組,而根據業務請求處理資訊可知,加州當地的節假日資訊依賴於美國全國的節假日資訊,歌手資訊又依賴於商務合作關係、費用關係等內容,形成的資料快取匯路為:
子匯路1:商務合作方案B(簽約代言)→費用方案C(免費演出)→歌手方案A(賈斯汀比伯);
子匯路2:國家節假日方案E(美國)→地區節假日方案D(加州);
子匯路3:時區方案F(美西時間);
上述子匯路1、子匯路2和子匯路3組成一條資料快取匯路,依次完成該資料快取匯路上的快取節點的資料加載更新,從而可以實現在加州成功舉辦一場演唱會的業務服務。
其中,一條資料快取匯路中會使用到多個快取模組的方案,同時,任意一個快取模組的方案可能被多條快取匯路所使用到,因此,快取模組的方案與快取匯路是一個多對多的關係,在具體實施時,一條資料快取匯路,同一時刻只有一種快取方案,即按照一條資料快取匯路響應業務請求。
進一步的,為了便於理解資料快取匯路的建立過程,如圖4所示,給出了資源轉移的匯路模型示意圖,該匯路模型中包括:快取節點A、快取節點B、快取節點C、快取節點D、快取節點User;
結合各快取節點的業務請求處理資訊可知,針對清算請求而言,快取節點C依賴於快取節點A、快取節點D,快取節點D依賴於快取節點A、快取節點B,針對付匯請求而言,快取節點User依賴於快取節點C、快取節點D;
根據快取節點A、快取節點B、快取節點C、快取節點D、快取節點User之間的依賴關係,得到的資料快取匯路有:
資料快取匯路1:快取節點A→快取節點C→快取節點User;
資料快取匯路2:快取節點A→快取節點D→快取節點C→快取節點User;
資料快取匯路3:快取節點A→快取節點D→快取節點User;
資料快取匯路4:快取節點B→快取節點D→快取節點C→快取節點User;
資料快取匯路5:快取節點B→快取節點D→快取節點User。
進一步的,如圖5所示,給出了各快取節點之間的依賴關係示意圖,結合各快取節點的業務請求處理資訊可知,快取A1依賴於快取B1,快取B1又依賴於快取C1,對應的,資料快取匯路為:快取C1→快取B1→快取A1;
快取A2依賴於快取B1,快取B1又依賴於快取C1,對應的,資料快取匯路為:快取C1→快取B1→快取A2;
快取A3依賴於快取B2,快取B2又依賴於快取C1,對應的,資料快取匯路為:快取C1→快取B2→快取A3;
快取A3依賴於快取B2,快取B2又依賴於快取C2,對應的,資料快取匯路為:快取C2→快取B2→快取A3。
其中,在基於各快取節點之間的依賴關係,建立資料快取匯路後,針對每一條資料快取匯路,基於該資料快取匯路的匯路資訊,依次觸發該資料快取匯路上的各快取節點進行快取資料更新,直到將該資料快取匯路上的所有快取模組的資料更新完畢,基於此,上述匯路資訊包括:資料快取匯路中的快取節點的標識以及各快取節點的資料快取順序,該快取節點的標識包含業務伺服器的序號和該業務伺服器中的快取模組的序號;
對應的,如圖6所示,上述S202根據獲取的資料快取匯路的匯路資訊,依次控制該資料快取匯路中的快取節點進行業務處理資料更新,具體包括:
S2021,根據匯路資訊中的資料快取順序的正序,在資料快取匯路中的多個快取節點中選取當前更新的快取節點,具體的,從資料快取匯路中的首個快取節點開始作為當前更新的快取節點,以此類推逐一遞增,直到選取到資料快取匯路中的最後一個快取節點;
S2022,根據選取的快取節點的標識,觸發目標業務伺服器更新對應的快取模組的業務處理資料,具體的,結合快取節點的標識可知該快取節點位於哪個業務伺服器中,觸發該業務伺服器進行快取資料更新,更新的結果有兩種,一種是資料加載成功,另一種是資料加載失敗,當資料加載成功時,業務伺服器將返回資料更新完成資訊;
S2023,判斷是否接收到當前更新的快取節點的資料更新完成資訊,其中,該資料更新完成資訊為目標業務伺服器針對快取節點的資料更新進度發送的;
若是,則執行S2024,判斷是否接收到針對資料快取匯路中各快取節點的資料更新完成資訊,若否,則繼續執行S2021,選取下一個當前更新的快取節點,直到接收到針對所述資料快取匯路中各快取節點的資料更新完成資訊,此時,說明資料快取匯路中所有快取節點對應的快取模組的業務處理資料均加載成功並快取資料更新完成,接下來,可以對另一條資料快取匯路中的快取節點進行業務處理資料更新。
進一步的,考慮在對資料快取匯路中各快取節點進行快取資料更新的過程中,可能在某一快取節點處資料更新出現異常的情况,導致該快取節點的資料加載不完全,為了防止後續使用該快取節點對應的快取模組的業務處理資料響應業務請求時出現請求響應失敗的情况,從出現異常的快取節點開始進行快取轉返,直到將資料快取匯路中的首個快取節點的資料轉返至更新前資料,基於此,在圖6中,在上述S2023判斷是否接收到當前更新的快取節點的資料更新完成資訊之後,還包括:
若未接收到資料更新完成資訊,則執行S2025,將當前更新的快取節點確定為當前資料轉返的快取節點,具體的,如果在預設時間閾值內均未接收到該快取節點的資料更新完成資訊,則確定為未接收到資料更新完成資訊;
S2026,根據確定的快取節點的標識,觸發目標業務伺服器對該快取節點的業務處理資料進行轉返;
S2027,根據資料快取順序的倒序,在資料快取匯路中已更新的快取節點中確定下一個當前資料轉返的快取節點,並繼續執行S2025,直到對資料快取匯路中的首個快取節點的業務處理資料進行轉返完成;
S2028,在對資料快取匯路中的首個快取節點的業務處理資料進行轉返完成後,產生資料快取匯路的資料更新失敗的提示資訊。
具體的,針對觸發業務伺服器對快取節點進行快取更新的過程,上述S2022根據選取的快取節點的標識,觸發目標業務伺服器更新對應的快取模組的業務處理資料,具體包括:
步驟一,根據選取的快取節點的標識,將該快取節點所在的業務伺服器確定為目標業務伺服器;
步驟二,在快取更新狀態表中,將需要快取至選取的快取節點的目標資料的狀態資訊設置為第一狀態,以使目標業務伺服器從資料伺服器中加載該目標資料並更新對應的快取模組的業務處理資料,其中,該第一狀態用於表徵目標資料需要快取至對應的快取模組中。
其中,上述快取更新狀態表可以儲存於資料伺服器中,也可以儲存於中心伺服器中,中心伺服器需要觸發哪個快取模組進行快取更新,就將需要快取至該快取模組的資料的狀態資訊設置為第一狀態(Wait),因此,業務伺服器通過讀取該快取更新狀態表中的相關資料就可以獲知是否需要重新加載資料更新快取,以及還可以獲知加載哪些資料快取至哪個快取模組中,上述快取更新狀態表包括:各業務伺服器中快取模組相關的業務處理資料的狀態資訊,具體可以為下表1所示。
表1
在表1中,狀態資訊Init表示業務伺服器首次將資料源快取至快取模組(即server01首次快取至01-MK1中的資料為資料源1-0),Done表示業務伺服器已將資料源快取至快取模組(即server01已將資料源1-1快取至01-MK1中),Wait表示業務伺服器當前需要將資料源快取至快取模組(即server01當前需要將資料源1-2快取至01-MK1中)。
具體的,業務伺服器按照預設時間間隔讀取快取更新狀態表,從該快取更新狀態表中提取與自身相關的快取控制資訊,即提取自身包含的快取模組對應的多條快取控制資訊,判斷是否存在某一資料源的狀態資訊為Wait,若是,則從資料伺服器中撈取標記為Wait的資料源,並將對應的快取模組中的資料替換為最新撈取到的資料源。
另外,每次對快取模組中的資料加載更新完成後,自動觸發日誌列印系統,把這塊快取加載的內容列印在日誌中,這樣便於後續進行監控及快取更新追溯。
具體的,針對觸發業務伺服器對快取節點進行資料轉返的過程,上述S2026根據確定的快取節點的標識,觸發目標業務伺服器對該快取節點的業務處理資料進行轉返,具體包括:
步驟一,根據確定的快取節點的標識,將該快取節點所在的業務伺服器確定為目標業務伺服器;
步驟二,在快取更新狀態表中,將需要快取至確定的快取節點的目標資料的狀態資訊設置為第一狀態,以使目標業務伺服器對與該快取節點對應的快取模組的業務處理資料進行資料轉返,具體的,結合表1,如果業務伺服器server01將快取模組01-MK1中的資料源1-1替換為資料源1-2的過程中出現異常,此時,需要將快取模組01-MK1中的資料恢復為資料源1-1,因此,需要將表1中的資料源1-1的狀態資訊改為Wait,並將資料源1-2的狀態資訊標記為加載異常。
進一步的,針對每個快取節點而言,當該快取節點對應的快取模組資料更新完成後,需要將對應的目標資料的狀態資訊由第一狀態改為第二狀態,基於此,上述方法還包括:
在接收到當前更新的快取節點的資料更新完成資訊後,在快取更新狀態表中將已快取至該快取節點的目標資料的狀態資訊設置為第二狀態,其中,該第二狀態用於表徵目標資料已快取至對應的快取模組中,在表1中,將快取模組中的資料由資料源1-1替換為資料源1-2後,將快取更新狀態表中01-MK1所在行的資料源1-2的狀態資訊由Wait改為Done。
本申請實施例中的資料快取方法,獲取資料快取匯路的匯路資訊,其中,該資料快取匯路是預先基於業務請求處理資訊確定的;根據獲取的匯路資訊,依次控制資料快取匯路中的快取節點進行業務處理資料更新,其中,每個快取節點對應於儲存有業務處理資料的快取模組。本申請實施例中,引入快取節點匯路化的處理方式,從而實現自動對每個資料快取匯路上的所有快取節點進行資料快取更新,在資料快取匯路上的各快取節點進行資料更新時,無需人工參與,能夠避免因人工操作失誤而導致的業務處理資料更新不及時,進而避免因業務處理資料更新不及時而導致的業務請求響應失敗,提高了業務處理資料的快取效率和及時性。
對應上述圖2至圖6描述的資料快取方法,基於相同的技術構思,本申請另一實施例還提供了一種資料快取方法,圖7為本申請實施例提供的資料快取方法的第一種流程示意圖,該方法可以由業務伺服器執行,如圖7所示,該方法至少包括以下步驟:
S701,獲取與業務伺服器相關的快取節點的快取控制資訊,其中,該快取控制資訊是中心伺服器根據資料快取匯路的匯路資訊確定的,具體的,資料快取匯路及其匯路資訊的確定過程參見上述實施例,在此不再贅述;
S702,根據獲取到的快取控制資訊,確定是否需要更新本地快取模組的業務處理資料,具體的,業務伺服器在中心伺服器觸發控制下對對應的快取模組中儲存的快取資料進行資料更新;
若是,則執行S703,根據獲取到的快取控制資訊從資料伺服器中加載目標資料,並使用該目標資料更新對應的快取模組的業務處理資料,其中,業務伺服器接收到業務請求後,使用相應的快取模組中更新後的業務處理資料響應該業務請求;
另外,在資料更新完成後,向中心伺服器發送資料更新完成資訊,以使中心伺服器按照預設規則選取下一個當前更新的快取節點。
在本申請實施例中,引入快取節點匯路化的處理方式,業務伺服器在中心伺服器的觸發控制下,對相應的快取模組中的資料進行快取更新,從而實現自動對每個資料快取匯路上的所有快取節點進行資料快取更新,在資料快取匯路上的各快取節點進行資料更新時,無需人工參與,能夠避免因人工操作失誤而導致的業務處理資料更新不及時,進而避免因業務處理資料更新不及時而導致的業務請求響應失敗,提高了業務處理資料的快取效率和及時性。
其中,如圖8所示,上述S701獲取與業務伺服器相關的快取節點的快取控制資訊,具體包括:
S7011,按照預設時間間隔,從快取更新狀態表中提取與業務伺服器相關的快取節點的快取控制資訊,其中,該快取控制資訊包括:關於的資料子塊的狀態資訊,例如,如果當前更新的快取節點為01-MK1,且需要快取至該快取節點的資料為資料源1-2,此時,中心伺服器將表1中的快取節點01-MK1下的資料源1-2的狀態資訊設置為Wait,對應的,業務伺服器為server01,與該業務伺服器相關的快取節點包括:所有標識包含“01”的快取節點,即設置於該業務伺服器內的快取節點,其中,快取節點01-MK1的快取控制資訊包括:資料源1-0的狀態資訊為資料源Init、資料源1-1的狀態資訊為資料源Done、資料源1-2的狀態資訊為資料源Wait;
對應的,上述S702根據獲取到的所述快取控制資訊,確定是否需要更新本地快取模組的業務處理資料,具體包括:
S7021,根據提取的快取控制資訊,判斷是否存在至少一個業務處理資料的狀態資訊為第一狀態,具體的,如表1所示,快取模組01-MK1下資料源1-2的狀態資訊為第一狀態Wait;
若是,則確定需要更新本地快取模組的業務處理資料,並執行S703,具體的,如表1所示,業務伺服器server01需要將快取模組01-MK1中的資料替換為資料源1-2。
對應的,上述S703根據獲取到的快取控制資訊從資料伺服器中加載目標資料,並使用該目標資料更新對應的快取模組的業務處理資料,具體包括:
S7031,將狀態資訊為第一狀態的業務處理資料作為目標資料,從資料伺服器中加載該目標資料,並使用該目標資料更新對應的快取模組的業務處理資料,具體的,存在兩種情况,一種是資料加載更新,另一種是資料加載轉返,如表1所示,如果業務伺服器中快取模組中的資料為資料源1-1,需要將資料替換為資料源1-2,此時,針對資料加載更新的情况,中心伺服器將資料源1-2的狀態資訊設置為Wait,即目標資料為資料源1-2;
另外,如果業務伺服器server01將快取模組01-MK1中的資料源1-1替換為資料源1-2的過程中出現異常,此時,需要將快取模組01-MK1中的資料恢復為資料源1-1,針對資料加載轉返的情况,中心伺服器需要將資料源1-1的狀態資訊設置為Wait,即目標資料為資料源1-1。
其中,為了實現快取資料更新的原子性,針對不進行用戶類型區分的情况,每個業務伺服器包含多個相互獨立的快取模組,針對進行用戶類型區分的情况,每個業務伺服器包含多個相互獨立的用戶資料單元,每個用戶資料單戶包含多個相互獨立的快取模組。
如圖9a和9b所示,資料伺服器中包括資料源1、資料源2、資料源3,業務伺服器首次啓動後,自動將資料源快取至相應的快取模組中,業務伺服器中的快取資料可以按照資料類型劃分,例如,業務伺服器1包括快取模組1、快取模組2、快取模組3,業務伺服器2包括快取模組1、快取模組2、快取模組3,業務伺服器中的快取資料還可以先按照用戶類型劃分,再按照資料類型劃分,例如,業務伺服器3包括第一類用戶資料單元(租戶1)和第二類用戶資料單元(租戶2),該第一類用戶資料單元包括:快取模組1、快取模組2、快取模組3,該第二類用戶資料單元包括:快取模組1、快取模組2、快取模組3。
在圖9a中,在初始資料快取時,業務伺服器從資料伺服器中加載資料源1並儲存至快取模組1,加載資料源2並儲存至快取模組2,加載資料源3並儲存至快取模組3,因此,業務伺服器1中的快取模組1快取有資料源1、快取模組2快取有資料源2、快取模組3快取有資料源3;
同樣的,業務伺服器2中的快取模組1快取有資料源1、快取模組2快取有資料源2、快取模組3快取有資料源3,
另外,同一個類型業務可能會有不同的業務方,不同業務方之間的配置也可能不相同,在業務伺服器中對適用於不同業務方資料進行隔離,對應的,業務伺服器3中的第一類用戶資料單元中的快取模組1快取有資料源1、快取模組2快取有資料源2、快取模組3快取有資料源3;業務伺服器3中的第二類用戶資料單元中的快取模組1快取有資料源1、快取模組2快取有資料源2、快取模組3快取有資料源3;
在圖9b中,由於業務升級或功能優化,為用戶提供更優質的業務服務,對資料伺服器中的資料源進行了更新,資料伺服器中的資料源1變為資料源1-1,資料源2變為資料源2-1,資料源3變為資料源3-1,此時,需要對快取模組1、快取模組2、快取模組3中的資料進行快取更新;
從業務伺服器1中的快取模組1到業務伺服器1中的快取模組2再到業務伺服器1中的快取模組3,此時,先觸發業務伺服器1將快取模組1中的資料由資料源1更新為資料源1-1,再觸發業務伺服器1將快取模組2中的資料由資料源2更新為資料源2-1,再觸發業務伺服器1將快取模組3中的資料由資料源3更新為資料源3-1,該過程屬單機隔離,即通過一定的機制只讓業務伺服器1(假設業務伺服器1作為灰度驗證機器)去刷新其所有快取模組,同步三塊資料源。這樣就只有業務伺服器1的三個快取模組加載到了最新的資料可以用來灰度測試最新的業務,其他業務伺服器和本機的其他模組都可以穩定不變更。
另外,還可以實現單機單模組隔離,即通過一定的機制只讓業務伺服器2(假設業務伺服器2作為灰度驗證機器)去刷新快取模組3,同步資料源3-1,觸發業務伺服器2將快取模組3中的資料由資料源3更新為資料源3-1。這樣子就只有業務伺服器2中的快取模組3加載到了最新的資料可以用來灰度測試最新的業務,其他業務伺服器和本機的其他模組都可以穩定不變更。
另外,也可以實現租戶隔離,即通過一定的機制只讓業務伺服器3(假設業務伺服器3作為灰度驗證機器)去刷新第二類用戶資料單元2下的快取模組3,觸發業務伺服器3將第二類用戶資料單元2下的快取模組3中的資料由資料源3更新為資料源3-1。這樣就只有業務伺服器3中第二類用戶資料單元2下的快取模組3加載到了最新的資料可以用來灰度測試最新的業務,其他業務伺服器、本機的其他用戶資料單元、本用戶資料單元的其他模組都可以穩定不變更。
本申請實施例中的資料快取方法,獲取與業務伺服器相關的快取節點的快取控制資訊,其中,該快取控制資訊是中心伺服器根據資料快取匯路的匯路資訊確定的;根據獲取到的快取控制資訊,確定是否需要更新本地快取模組的業務處理資料;若是,則根據快取控制資訊從資料伺服器中加載目標資料,並使用目標資料更新對應的快取模組的業務處理資料。引入快取節點匯路化的處理方式,業務伺服器在中心伺服器的觸發控制下,對相應的快取模組中的資料進行快取更新,從而實現自動對每個資料快取匯路上的所有快取節點進行資料快取更新,在資料快取匯路上的各快取節點進行資料更新時,無需人工參與,能夠避免因人工操作失誤而導致的業務處理資料更新不及時,進而避免因業務處理資料更新不及時而導致的業務請求響應失敗,提高了業務處理資料的快取效率和及時性。
需要說明的是,本申請另一實施例與本申請一實施例基於同一發明構思,因此該實施例的具體實施可以參見前述資料快取方法的實施,重複之處不再贅述。
對應上述圖2至圖6描述的資料快取方法,基於相同的技術構思,本申請實施例還提供了一種資料快取裝置,該裝置設置於中心伺服器側,圖10為本申請實施例提供的設置於中心伺服器側的資料快取裝置的第一種模組組成示意圖,該裝置用於執行圖2至圖6描述的資料快取方法,如圖10所示,該裝置包括:
匯路資訊獲取模組1001,用於獲取資料快取匯路的匯路資訊,其中,所述資料快取匯路是預先基於業務請求處理資訊確定的;
資料快取控制模組1002,用於根據所述匯路資訊,依次控制所述資料快取匯路中的快取節點進行業務處理資料更新,其中,所述快取節點對應於儲存有業務處理資料的快取模組。
可選地,如圖11所示,上述裝置還包括:
依賴關係確定模組1003,用於在獲取資料快取匯路的匯路資訊之前,根據業務請求處理資訊,確定各快取節點之間的依賴關係;
快取匯路確定模組1004,用於根據各快取節點之間的所述依賴關係,確定至少一條資料快取匯路以及該資料快取匯路的匯路資訊。
可選地,所述匯路資訊包括:資料快取匯路中的快取節點的標識以及各快取節點的資料快取順序;
所述資料快取控制模組1002,具體用於:
根據所述資料快取順序的正序,在所述資料快取匯路中的多個快取節點中選取當前更新的快取節點;
根據選取的所述快取節點的標識,觸發目標業務伺服器更新對應的快取模組的業務處理資料;
判斷是否接收到所述快取節點的資料更新完成資訊,其中,所述資料更新完成資訊為所述目標業務伺服器針對所述快取節點的資料更新進度發送的;
若是,則選取下一個當前更新的快取節點,直到接收到針對所述資料快取匯路中各快取節點的資料更新完成資訊。
可選地, 所述資料快取控制模組1002,進一步具體用於:
根據選取的所述快取節點的標識,將所述快取節點所在的業務伺服器確定為目標業務伺服器;
在快取更新狀態表中,將需要快取至所述快取節點的目標資料的狀態資訊設置為第一狀態,以使所述目標業務伺服器從資料伺服器中加載所述目標資料並更新對應的快取模組的業務處理資料。
可選地,所述資料快取控制模組1002,還具體用於:
在判斷是否接收到所述快取節點的資料更新完成資訊之後,若未接收到資料更新完成資訊,則將所述快取節點確定為當前資料轉返的快取節點;
根據確定的所述快取節點的標識,觸發目標業務伺服器對該快取節點的業務處理資料進行轉返;
根據所述資料快取順序的倒序,在所述資料快取匯路中已更新的快取節點中確定下一個當前資料轉返的快取節點,直到當前資料轉返的快取節點為所述資料快取匯路中的首個快取節點;
產生所述資料快取匯路的資料更新失敗的提示資訊。
可選地,所述資料快取控制模組1002,還進一步具體用於:
根據確定的所述快取節點的標識,將所述快取節點所在的業務伺服器確定為目標業務伺服器;
在快取更新狀態表中,將需要快取至所述快取節點的目標資料的狀態資訊設置為第一狀態,以使所述目標業務伺服器對與所述快取節點對應的快取模組的業務處理資料進行資料轉返。
可選地,所述資料快取控制模組1002,還具體用於:
在接收到所述快取節點的資料更新完成資訊後,在快取更新狀態表中將已快取至所述快取節點的目標資料的狀態資訊設置為第二狀態。
本申請實施例中的資料快取裝置,獲取資料快取匯路的匯路資訊,其中,該資料快取匯路是預先基於業務請求處理資訊確定的;根據獲取的匯路資訊,依次控制資料快取匯路中的快取節點進行業務處理資料更新,其中,每個快取節點對應於儲存有業務處理資料的快取模組。引入快取節點匯路化的處理方式,從而實現自動對每個資料快取匯路上的所有快取節點進行資料快取更新,在資料快取匯路上的各快取節點進行資料更新時,無需人工參與,能夠避免因人工操作失誤而導致的業務處理資料更新不及時,進而避免因業務處理資料更新不及時而導致的業務請求響應失敗,提高了業務處理資料的快取效率和及時性。
對應上述圖7至圖8描述的資料快取方法,基於相同的技術構思,本申請實施例還提供了一種資料快取裝置,該裝置設置於業務伺服器側,圖12為本申請實施例提供的設置於業務伺服器側的資料快取裝置的模組組成示意圖,該裝置用於執行圖7至圖8描述的資料快取方法,如圖12所示,該裝置包括:
控制資訊獲取模組1201,用於獲取與所述業務伺服器相關的快取節點的快取控制資訊,其中,所述快取控制資訊是中心伺服器根據資料快取匯路的匯路資訊確定的;
快取更新判斷模組1202,用於根據獲取到的所述快取控制資訊,確定是否需要更新本地快取模組的業務處理資料;
快取資料更新模組1203,用於若判斷結果為是,則根據所述快取控制資訊從資料伺服器中加載目標資料,並使用所述目標資料更新對應的快取模組的業務處理資料。
可選地,所述控制資訊獲取模組1201,具體用於:
按照預設時間間隔,從快取更新狀態表中提取與所述業務伺服器相關的快取節點的快取控制資訊;
所述快取更新判斷模組1202,具體用於:
根據提取出的所述快取控制資訊,判斷是否存在至少一個業務處理資料的狀態資訊為第一狀態;
若是,則確定需要更新本地快取模組的業務處理資料。
可選地,所述快取資料更新模組1203,具體用於:
將狀態資訊為第一狀態的業務處理資料作為目標資料,從資料伺服器中加載所述目標資料。
本申請實施例中的資料快取裝置,獲取與業務伺服器相關的快取節點的快取控制資訊,其中,該快取控制資訊是中心伺服器根據資料快取匯路的匯路資訊確定的;根據獲取到的快取控制資訊,確定是否需要更新本地快取模組的業務處理資料;若是,則根據快取控制資訊從資料伺服器中加載目標資料,並使用目標資料更新對應的快取模組的業務處理資料。引入快取節點匯路化的處理方式,業務伺服器在中心伺服器的觸發控制下,對相應的快取模組中的資料進行快取更新,從而實現自動對每個資料快取匯路上的所有快取節點進行資料快取更新,在資料快取匯路上的各快取節點進行資料更新時,無需人工參與,能夠避免因人工操作失誤而導致的業務處理資料更新不及時,進而避免因業務處理資料更新不及時而導致的業務請求響應失敗,提高了業務處理資料的快取效率和及時性。
進一步地,對應上述圖2至圖9所示的方法,基於相同的技術構思,本申請實施例還提供了一種資料快取設備,該設備用於執行上述的資料快取方法,如圖13所示。
資料快取設備可因配置或性能不同而產生比較大的差异,可以包括一個或一個以上的處理器1301和記憶體1302,記憶體1302中可以儲存有一個或一個以上儲存應用程式或資料。其中,記憶體1302可以是短暫儲存或持久儲存。儲存在記憶體1302的應用程式可以包括一個或一個以上模組(圖示未示出),每個模組可以包括對資料快取設備中的一系列計算機可執行指令。更進一步地,處理器1301可以設置為與記憶體1302通訊,在資料快取設備上執行記憶體1302中的一系列計算機可執行指令。資料快取設備還可以包括一個或一個以上電源1303,一個或一個以上有線或無線網路介面1304,一個或一個以上輸入輸出介面1305,一個或一個以上鍵盤1306等。
在一個具體的實施例中,資料快取設備包括有記憶體,以及一個或一個以上的程式,其中一個或者一個以上程式儲存於記憶體中,且一個或者一個以上程式可以包括一個或一個以上模組,且每個模組可以包括對資料快取設備中的一系列計算機可執行指令,且經配置以由一個或者一個以上處理器執行該一個或者一個以上程式包含用於進行以下計算機可執行指令:
獲取資料快取匯路的匯路資訊,其中,所述資料快取匯路是預先基於業務請求處理資訊確定的;
根據所述匯路資訊,依次控制所述資料快取匯路中的快取節點進行業務處理資料更新,其中,所述快取節點對應於儲存有業務處理資料的快取模組。
可選地,計算機可執行指令在被執行時,還包含用於進行以下計算機可執行指令:
在獲取資料快取匯路的匯路資訊之前,根據業務請求處理資訊,確定各快取節點之間的依賴關係;
根據各快取節點之間的所述依賴關係,確定至少一條資料快取匯路以及該資料快取匯路的匯路資訊。
可選地,計算機可執行指令在被執行時,所述匯路資訊包括:資料快取匯路中的快取節點的標識以及各快取節點的資料快取順序;
所述根據所述匯路資訊,依次控制所述資料快取匯路中的快取節點進行業務處理資料更新,包括:
根據所述資料快取順序的正序,在所述資料快取匯路中的多個快取節點中選取當前更新的快取節點;
根據選取的所述快取節點的標識,觸發目標業務伺服器更新對應的快取模組的業務處理資料;
判斷是否接收到所述快取節點的資料更新完成資訊,其中,所述資料更新完成資訊為所述目標業務伺服器針對所述快取節點的資料更新進度發送的;
若是,則選取下一個當前更新的快取節點,直到接收到針對所述資料快取匯路中各快取節點的資料更新完成資訊。
可選地,計算機可執行指令在被執行時,根據選取的所述快取節點的標識,觸發目標業務伺服器更新對應的快取模組的業務處理資料,包括:
根據選取的所述快取節點的標識,將所述快取節點所在的業務伺服器確定為目標業務伺服器;
在快取更新狀態表中,將需要快取至所述快取節點的目標資料的狀態資訊設置為第一狀態,以使所述目標業務伺服器從資料伺服器中加載所述目標資料並更新對應的快取模組的業務處理資料。
可選地,計算機可執行指令在被執行時,在判斷是否接收到所述快取節點的資料更新完成資訊之後,還包括:
若未接收到資料更新完成資訊,則將所述快取節點確定為當前資料轉返的快取節點;
根據確定的所述快取節點的標識,觸發目標業務伺服器對該快取節點的業務處理資料進行轉返;
根據所述資料快取順序的倒序,在所述資料快取匯路中已更新的快取節點中確定下一個當前資料轉返的快取節點,直到當前資料轉返的快取節點為所述資料快取匯路中的首個快取節點;
產生所述資料快取匯路的資料更新失敗的提示資訊。
可選地,計算機可執行指令在被執行時,根據確定的所述快取節點的標識,觸發目標業務伺服器對該快取節點的業務處理資料進行轉返,包括:
根據確定的所述快取節點的標識,將所述快取節點所在的業務伺服器確定為目標業務伺服器;
在快取更新狀態表中,將需要快取至所述快取節點的目標資料的狀態資訊設置為第一狀態,以使所述目標業務伺服器對與所述快取節點對應的快取模組的業務處理資料進行資料轉返。
可選地,計算機可執行指令在被執行時,在接收到所述快取節點的資料更新完成資訊後,在快取更新狀態表中將已快取至所述快取節點的目標資料的狀態資訊設置為第二狀態。
本申請實施例中的資料快取設備,獲取資料快取匯路的匯路資訊,其中,該資料快取匯路是預先基於業務請求處理資訊確定的;根據獲取的匯路資訊,依次控制資料快取匯路中的快取節點進行業務處理資料更新,其中,每個快取節點對應於儲存有業務處理資料的快取模組。可見,通過本申請實施例中的資料快取設備,引入快取節點匯路化的處理方式,從而實現自動對每個資料快取匯路上的所有快取節點進行資料快取更新,在資料快取匯路上的各快取節點進行資料更新時,無需人工參與,能夠避免因人工操作失誤而導致的業務處理資料更新不及時,進而避免因業務處理資料更新不及時而導致的業務請求響應失敗,提高了業務處理資料的快取效率和及時性。
在另一個具體的實施例中,資料快取設備包括有記憶體,以及一個或一個以上的程式,其中一個或者一個以上程式儲存於記憶體中,且一個或者一個以上程式可以包括一個或一個以上模組,且每個模組可以包括對資料快取設備中的一系列計算機可執行指令,且經配置以由一個或者一個以上處理器執行該一個或者一個以上程式包含用於進行以下計算機可執行指令:
獲取與業務伺服器相關的快取節點的快取控制資訊,其中,所述快取控制資訊是中心伺服器根據資料快取匯路的匯路資訊確定的;
根據獲取到的所述快取控制資訊,確定是否需要更新本地快取模組的業務處理資料;
若是,則根據所述快取控制資訊從資料伺服器中加載目標資料,並使用所述目標資料更新對應的快取模組的業務處理資料。
可選地,計算機可執行指令在被執行時,所述獲取與業務伺服器相關的快取節點的快取控制資訊,包括:
按照預設時間間隔,從快取更新狀態表中提取與業務伺服器相關的快取節點的快取控制資訊;
所述根據獲取到的所述快取控制資訊,確定是否需要更新本地快取模組的業務處理資料,包括:
根據提取出的所述快取控制資訊,判斷是否存在至少一個業務處理資料的狀態資訊為第一狀態;
若是,則確定需要更新本地快取模組的業務處理資料。
可選地,計算機可執行指令在被執行時,所述根據所述快取控制資訊從資料伺服器中加載目標資料,包括:
將狀態資訊為第一狀態的業務處理資料作為目標資料,從資料伺服器中加載所述目標資料。
本申請實施例中的資料快取設備,獲取與業務伺服器相關的快取節點的快取控制資訊,其中,該快取控制資訊是中心伺服器根據資料快取匯路的匯路資訊確定的;根據獲取到的快取控制資訊,確定是否需要更新本地快取模組的業務處理資料;若是,則根據快取控制資訊從資料伺服器中加載目標資料,並使用目標資料更新對應的快取模組的業務處理資料。可見,通過本申請實施例中的資料快取設備,引入快取節點匯路化的處理方式,業務伺服器在中心伺服器的觸發控制下,對相應的快取模組中的資料進行快取更新,從而實現自動對每個資料快取匯路上的所有快取節點進行資料快取更新,在資料快取匯路上的各快取節點進行資料更新時,無需人工參與,能夠避免因人工操作失誤而導致的業務處理資料更新不及時,進而避免因業務處理資料更新不及時而導致的業務請求響應失敗,提高了業務處理資料的快取效率和及時性。
進一步地,對應上述圖2至圖9所示的方法,基於相同的技術構思,本申請實施例還提供了一種儲存媒體,用於儲存計算機可執行指令,一種具體的實施例中,該儲存媒體可以為U碟、光碟、硬碟等,該儲存媒體儲存的計算機可執行指令在被處理器執行時,能實現以下流程:
獲取資料快取匯路的匯路資訊,其中,所述資料快取匯路是預先基於業務請求處理資訊確定的;
根據所述匯路資訊,依次控制所述資料快取匯路中的快取節點進行業務處理資料更新,其中,所述快取節點對應於儲存有業務處理資料的快取模組。
可選地,該儲存媒體儲存的計算機可執行指令在被處理器執行時,還實現以下流程:
在獲取資料快取匯路的匯路資訊之前,根據業務請求處理資訊,確定各快取節點之間的依賴關係;
根據各快取節點之間的所述依賴關係,確定至少一條資料快取匯路以及該資料快取匯路的匯路資訊。
可選地,該儲存媒體儲存的計算機可執行指令在被處理器執行時,所述匯路資訊包括:資料快取匯路中的快取節點的標識以及各快取節點的資料快取順序;
所述根據所述匯路資訊,依次控制所述資料快取匯路中的快取節點進行業務處理資料更新,包括:
根據所述資料快取順序的正序,在所述資料快取匯路中的多個快取節點中選取當前更新的快取節點;
根據選取的所述快取節點的標識,觸發目標業務伺服器更新對應的快取模組的業務處理資料;
判斷是否接收到所述快取節點的資料更新完成資訊,其中,所述資料更新完成資訊為所述目標業務伺服器針對所述快取節點的資料更新進度發送的;
若是,則選取下一個當前更新的快取節點,直到接收到針對所述資料快取匯路中各快取節點的資料更新完成資訊。
可選地,該儲存媒體儲存的計算機可執行指令在被處理器執行時,根據選取的所述快取節點的標識,觸發目標業務伺服器更新對應的快取模組的業務處理資料,包括:
根據選取的所述快取節點的標識,將所述快取節點所在的業務伺服器確定為目標業務伺服器;
在快取更新狀態表中,將需要快取至所述快取節點的目標資料的狀態資訊設置為第一狀態,以使所述目標業務伺服器從資料伺服器中加載所述目標資料並更新對應的快取模組的業務處理資料。
可選地,該儲存媒體儲存的計算機可執行指令在被處理器執行時,在判斷是否接收到所述快取節點的資料更新完成資訊之後,還包括:
若未接收到資料更新完成資訊,則將所述快取節點確定為當前資料轉返的快取節點;
根據確定的所述快取節點的標識,觸發目標業務伺服器對該快取節點的業務處理資料進行轉返;
根據所述資料快取順序的倒序,在所述資料快取匯路中已更新的快取節點中確定下一個當前資料轉返的快取節點,直到當前資料轉返的快取節點為所述資料快取匯路中的首個快取節點;
產生所述資料快取匯路的資料更新失敗的提示資訊。
可選地,該儲存媒體儲存的計算機可執行指令在被處理器執行時,根據確定的所述快取節點的標識,觸發目標業務伺服器對該快取節點的業務處理資料進行轉返,包括:
根據確定的所述快取節點的標識,將所述快取節點所在的業務伺服器確定為目標業務伺服器;
在快取更新狀態表中,將需要快取至所述快取節點的目標資料的狀態資訊設置為第一狀態,以使所述目標業務伺服器對與所述快取節點對應的快取模組的業務處理資料進行資料轉返。
可選地,該儲存媒體儲存的計算機可執行指令在被處理器執行時,在接收到所述快取節點的資料更新完成資訊後,在快取更新狀態表中將已快取至所述快取節點的目標資料的狀態資訊設置為第二狀態。
本申請實施例中的儲存媒體儲存的計算機可執行指令在被處理器執行時,獲取資料快取匯路的匯路資訊,其中,該資料快取匯路是預先基於業務請求處理資訊確定的;根據獲取的匯路資訊,依次控制資料快取匯路中的快取節點進行業務處理資料更新,其中,每個快取節點對應於儲存有業務處理資料的快取模組。可見,通過本申請實施例中的儲存媒體,引入快取節點匯路化的處理方式,從而實現自動對每個資料快取匯路上的所有快取節點進行資料快取更新,在資料快取匯路上的各快取節點進行資料更新時,無需人工參與,能夠避免因人工操作失誤而導致的業務處理資料更新不及時,進而避免因業務處理資料更新不及時而導致的業務請求響應失敗,提高了業務處理資料的快取效率和及時性。
在另一個具體的實施例中,該儲存媒體可以為U碟、光碟、硬碟等,該儲存媒體儲存的計算機可執行指令在被處理器執行時,能實現以下流程:
獲取與業務伺服器相關的快取節點的快取控制資訊,其中,所述快取控制資訊是中心伺服器根據資料快取匯路的匯路資訊確定的;
根據獲取到的所述快取控制資訊,確定是否需要更新本地快取模組的業務處理資料;
若是,則根據所述快取控制資訊從資料伺服器中加載目標資料,並使用所述目標資料更新對應的快取模組的業務處理資料。
可選地,該儲存媒體儲存的計算機可執行指令在被處理器執行時,所述獲取與業務伺服器相關的快取節點的快取控制資訊,包括:
按照預設時間間隔,從快取更新狀態表中提取與業務伺服器相關的快取節點的快取控制資訊;
所述根據獲取到的所述快取控制資訊,確定是否需要更新本地快取模組的業務處理資料,包括:
根據提取出的所述快取控制資訊,判斷是否存在至少一個業務處理資料的狀態資訊為第一狀態;
若是,則確定需要更新本地快取模組的業務處理資料。
可選地,該儲存媒體儲存的計算機可執行指令在被處理器執行時,所述根據所述快取控制資訊從資料伺服器中加載目標資料,包括:
將狀態資訊為第一狀態的業務處理資料作為目標資料,從資料伺服器中加載所述目標資料。
本申請實施例中的儲存媒體儲存的計算機可執行指令在被處理器執行時,獲取與業務伺服器相關的快取節點的快取控制資訊,其中,該快取控制資訊是中心伺服器根據資料快取匯路的匯路資訊確定的;根據獲取到的快取控制資訊,確定是否需要更新本地快取模組的業務處理資料;若是,則根據快取控制資訊從資料伺服器中加載目標資料,並使用目標資料更新對應的快取模組的業務處理資料。可見,通過本申請實施例中的儲存媒體,引入快取節點匯路化的處理方式,業務伺服器在中心伺服器的觸發控制下,對相應的快取模組中的資料進行快取更新,從而實現自動對每個資料快取匯路上的所有快取節點進行資料快取更新,在資料快取匯路上的各快取節點進行資料更新時,無需人工參與,能夠避免因人工操作失誤而導致的業務處理資料更新不及時,進而避免因業務處理資料更新不及時而導致的業務請求響應失敗,提高了業務處理資料的快取效率和及時性。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都通過將改進的方法流程程式化到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式化邏輯器件(Programmable Logic Device, PLD)(例如現場可程式化閘陣列(Field Programmable Gate Array, FPGA))就是這樣一種積體電路,其邏輯功能由用戶對器件程式化來確定。由設計人員自行程式化來把一個數位系統“積體”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種程式化也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的程式語言來撰寫,此稱之為硬體描述語言(Hardware Description Language, HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL (Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very- High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式化並程式化到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的計算機可讀程式代碼(例如軟體或韌體)的計算機可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit, ASIC)、可程式化邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純計算機可讀程式代碼方式實現控制器以外,完全可以通過將方法步驟進行邏輯程式化來使得控制器以邏輯閘、開關、專用積體電路、可程式化邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由計算機晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為計算機。具體的,計算機例如可以為個人計算機、膝上型計算機、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件設備、遊戲控制台、平板計算機、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或計算機程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有計算機可用程式代碼的計算機可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的計算機程式產品的形式。
本申請是參照根據本申請實施例的方法、設備(系統)、和計算機程式產品的流程圖和/或方塊圖來描述的。應理解可由計算機程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些計算機程式指令到通用計算機、專用計算機、嵌入式處理機或其他可程式化資料處理設備的處理器以產生一個機器,使得通過計算機或其他可程式化資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些計算機程式指令也可儲存在能引導計算機或其他可程式化資料處理設備以特定方式工作的計算機可讀記憶體中,使得儲存在該計算機可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些計算機程式指令也可裝載到計算機或其他可程式化資料處理設備上,使得在計算機或其他可程式化設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可程式化設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和內部記憶體。
內部記憶體可能包括計算機可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。內部記憶體是計算機可讀媒體的示例。
計算機可讀媒體包括永久性和非永久性、可行動和非可行動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是計算機可讀指令、資料結構、程式的模組或其他資料。計算機的儲存媒體的例子包括,但不限於相變內部記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式化唯唯讀記憶體(EEPROM)、快閃記憶體或其他內部記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁碟儲存或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,計算機可讀媒體不包括暫存電腦可讀媒體(transitory media),如調變的資料訊號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情况下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本申請的實施例可提供為方法、系統或計算機程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有計算機可用程式代碼的計算機可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的計算機程式產品的形式。
本申請可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的例程、程式、對象、組件、資料結構等等。也可以在分布式計算環境中實踐本申請,在這些分布式計算環境中,由通過通訊網路而被連接的遠端處理設備來執行任務。在分布式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠端計算機儲存媒體中。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本申請的實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的申請專利範圍之內。