本申請涉及計算機技術領域,尤其涉及一種一種sequence數(shù)據(jù)的獲取方法及裝置。
背景技術:
隨著信息技術的發(fā)展,服務系統(tǒng)(如:網(wǎng)站)所提供的業(yè)務服務往往需要相應的數(shù)據(jù)庫的支持。
現(xiàn)有技術中,一種稱為sequence序列的數(shù)據(jù)廣泛應用于服務系統(tǒng)所提供的各類業(yè)務服務上。其中,sequence序列是一種具有唯一性的數(shù)字序列,服務系統(tǒng)中的業(yè)務服務可以向數(shù)據(jù)庫申請sequence序列,以便生成必要的業(yè)務數(shù)據(jù),如:日期、編號等等。
但是,在現(xiàn)有的方式中,sequence序列由特定的數(shù)據(jù)庫提供,隨著該數(shù)據(jù)庫訪問量的增加,有可能導致數(shù)據(jù)庫宕機,數(shù)據(jù)庫一旦發(fā)生宕機,那么,服務系統(tǒng)內(nèi)的業(yè)務服務便不能獲得相應的sequence序列,此外,若服務系統(tǒng)與該數(shù)據(jù)庫之間的網(wǎng)絡連接出現(xiàn)故障,也同樣會導致無法順利獲得sequence序列,上述情況均會影響服務系統(tǒng)的業(yè)務服務正常運行。
技術實現(xiàn)要素:
本申請實施例提供一種sequence數(shù)據(jù)的獲取方法及裝置,用以解決目前由特定數(shù)據(jù)庫提供sequence序列方式的穩(wěn)定性較差的問題。
本申請實施例提供的一種sequence數(shù)據(jù)的獲取方法,包括:
中間設備接收服務器發(fā)送的數(shù)據(jù)請求;
根據(jù)所述數(shù)據(jù)請求,從多個分布式數(shù)據(jù)庫中選定至少一個數(shù)據(jù)庫,并獲取數(shù)據(jù)庫生成的sequence數(shù)據(jù),其中,各數(shù)據(jù)庫生成的sequence數(shù)據(jù)均具有唯 一性;
將獲取到的所述sequence數(shù)據(jù)返回給所述服務器。
本申請實施例提供的一種sequence數(shù)據(jù)的獲取方法,包括:
分布式數(shù)據(jù)庫接收中間設備發(fā)送的數(shù)據(jù)請求;
根據(jù)所述數(shù)據(jù)請求,生成sequence數(shù)據(jù),并將生成的sequence數(shù)據(jù)發(fā)送給所述中間設備,以使得所述中間設備將所述sequence數(shù)據(jù)返回給發(fā)送所述數(shù)據(jù)請求的服務器,其中,所述sequence數(shù)據(jù)具有唯一性。
本申請實施例提供的一種sequence數(shù)據(jù)的獲取裝置,包括:
接收模塊,用于接收服務器發(fā)送的數(shù)據(jù)請求;
數(shù)據(jù)獲取模塊,用于根據(jù)所述數(shù)據(jù)請求,從多個分布式數(shù)據(jù)庫中選定至少一個數(shù)據(jù)庫,并獲取該數(shù)據(jù)庫生成的sequence數(shù)據(jù),其中,各數(shù)據(jù)庫生成的sequence數(shù)據(jù)均具有唯一性;
反饋模塊,用于將獲取到的所述sequence數(shù)據(jù)返回給所述服務器。
本申請實施例提供的一種sequence數(shù)據(jù)的獲取裝置,包括:
接收模塊,用于接收中間設備發(fā)送的數(shù)據(jù)請求;
數(shù)據(jù)模塊,用于根據(jù)所述數(shù)據(jù)請求,生成sequence數(shù)據(jù),并將生成的sequence數(shù)據(jù)發(fā)送給所述中間設備,以使得所述中間設備將所述sequence數(shù)據(jù)返回給發(fā)送所述數(shù)據(jù)請求的服務器,其中,所述sequence數(shù)據(jù)具有唯一性。
本申請實施例提供一種sequence數(shù)據(jù)的獲取方法及裝置,本申請實施例中采用分布式數(shù)據(jù)庫的方式提供sequence數(shù)據(jù),當服務器發(fā)出了獲取sequence數(shù)據(jù)的請求后,由相應的中間設備接收該請求,并從多個分布式數(shù)據(jù)庫中選定相應的數(shù)據(jù)庫,之后再從選定的該數(shù)據(jù)庫中獲取服務器所需的sequence數(shù)據(jù),返回給服務器。在這樣的方式下,即使某一臺數(shù)據(jù)庫出現(xiàn)宕機、網(wǎng)絡連接故障等異常現(xiàn)象,中間設備仍可以從其他正常運行的數(shù)據(jù)庫中為服務器獲取到所需的sequence數(shù)據(jù),顯然,正是采用了分布式數(shù)據(jù)庫的方式,有效保證了服務器可以穩(wěn)定地獲取到其所需的sequence數(shù)據(jù)。此外,通過分布式的數(shù)據(jù)庫的方式, 還可以減緩任一數(shù)據(jù)庫的處理壓力。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
圖1為本申請實施例提供的一種用于獲取sequence數(shù)據(jù)的分布式架構的結構示意圖;
圖2為本申請實施例提供的基于中間設備側的sequence數(shù)據(jù)的獲取過程;
圖3為本申請實施例提供的基于數(shù)據(jù)庫側的sequence數(shù)據(jù)的獲取過程;
圖4為本申請實施例提供的基于中間設備側的sequence數(shù)據(jù)的獲取裝置結構示意圖;
圖5為本申請實施例提供的基于數(shù)據(jù)庫側的sequence數(shù)據(jù)的獲取裝置結構示意圖。
具體實施方式
為使本申請的目的、技術方案和優(yōu)點更加清楚,下面將結合本申請具體實施例及相應的附圖對本申請技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
如前所述,在現(xiàn)有技術中,服務器系統(tǒng)內(nèi)的業(yè)務服務所需的sequence數(shù)據(jù)由單一數(shù)據(jù)庫提供,在這種情況下,若該數(shù)據(jù)庫出現(xiàn)異常(如:宕機)或網(wǎng)絡連接故障,那么,服務系統(tǒng)內(nèi)的業(yè)務服務便無法獲得其所需的sequence數(shù)據(jù),影響業(yè)務服務的正常運行。
正是基于此,在本申請實施例中,提供了一種分布式架構,如圖1所示。 在圖1中所示的分布式結構中,包含多個分布式數(shù)據(jù)庫,相應的服務器通過中間設備與多個分布式數(shù)據(jù)庫連接。對于圖1中的多個分布式數(shù)據(jù)庫而言,分別可以生成不同的sequence數(shù)據(jù),換言之,每一個數(shù)據(jù)庫所生成的sequence數(shù)據(jù)在全局唯一。當然,在實際應用時,上述分布式結構中的分布式數(shù)據(jù)庫的數(shù)量將根據(jù)實際使用的需要進行設定,這里并不構成對本申請的限定。另外,本申請實施例中的數(shù)據(jù)庫包括但不限于:oracle、db2、postgresql等具有sequence數(shù)據(jù)的數(shù)據(jù)庫。
從圖1所示的分布式架構中可以看出,每一個分布式數(shù)據(jù)庫都具備生成sequence數(shù)據(jù)的能力,那么,在這樣的情況下,即使分布式架構中的某一數(shù)據(jù)庫出現(xiàn)異常(如:宕機),服務器仍可以通過中間設備獲得其他正常的數(shù)據(jù)庫所生成的sequence數(shù)據(jù)。顯然,基于如圖1所示的分布式架構,可以有效避免因數(shù)據(jù)庫的異常狀態(tài)而應用服務系統(tǒng)中業(yè)務服務正常運行的現(xiàn)象。
在圖1中的分布式架構的基礎上,在本申請實施例中提供一種sequence數(shù)據(jù)的獲取方法,如圖2所示。
具體地,圖2為本申請實施例提供的sequence數(shù)據(jù)的獲取過程,該過程具體包括以下步驟:
s201:中間設備接收服務器發(fā)送的數(shù)據(jù)請求。
在本申請實施例中,所述的服務器可以是服務系統(tǒng)內(nèi)(如:網(wǎng)站)的服務器,服務器可以提供各類業(yè)務服務,當某些業(yè)務服務需要使用相應的sequence數(shù)據(jù)時,便會生成數(shù)據(jù)請求,以從上述分布式架構的分布式數(shù)據(jù)庫中獲得所需的sequence數(shù)據(jù)。也就是說,本申請實施例中所述的數(shù)據(jù)請求,就是獲得sequence數(shù)據(jù)的請求。當然,作為一種實際應用的方式,服務器中所提供的業(yè)務服務可由運行在服務器中的應用提供,不同的應用可以提供不同的業(yè)務服務,在該方式下,數(shù)據(jù)請求由相應的應用發(fā)出,這里并不構成對本申請的限定。
基于如圖1所示的分布式架構,服務器并不需要直接向分布式數(shù)據(jù)庫發(fā)出數(shù)據(jù)請求,而是向中間設備發(fā)出該數(shù)據(jù)請求,由中間設備從分布式數(shù)據(jù)庫中獲 得sequence數(shù)據(jù)。本申請實施例中的中間設備,具體可以是服務器、計算機等具有分布式管理、分發(fā)功能的設備。
s202:根據(jù)所述數(shù)據(jù)請求,從多個分布式數(shù)據(jù)庫中選定至少一個數(shù)據(jù)庫,并獲取該數(shù)據(jù)庫生成的sequence數(shù)據(jù)。
其中,各數(shù)據(jù)庫生成的sequence數(shù)據(jù)均具有唯一性。
當中間設備接收到了服務器發(fā)送的數(shù)據(jù)請求后,便會從多個分布式數(shù)據(jù)庫中獲取相應的sequence數(shù)據(jù)。
在實際應用中的一種方式下,中間設備可以從多個分布式數(shù)據(jù)庫中選定一個數(shù)據(jù)庫,并獲取由該數(shù)據(jù)庫生成的sequence數(shù)據(jù)。而在另一種方式下,中間設備從多個分布式數(shù)據(jù)庫中所選定的數(shù)據(jù)庫,還可以是多個,例如:從多個分布式數(shù)據(jù)庫中選定兩個數(shù)據(jù)庫,并分別從選定的兩個數(shù)據(jù)庫中獲得各自生成的sequence數(shù)據(jù)。換言之,中間設備所選定的數(shù)據(jù)庫的數(shù)量,具體將根據(jù)實際應用的需要進行選定,這里并不構成對本申請的限定。
需要說明的是,基于sequence數(shù)據(jù)唯一性的特點,在本申請實施例中,分布式架構中的各分布式數(shù)據(jù)庫所生成的sequence數(shù)據(jù)均具有唯一性,也就是說,每一個分布式數(shù)據(jù)庫所生成的sequence數(shù)據(jù)都是唯一的,與其他分布式數(shù)據(jù)庫所生成的sequence數(shù)據(jù)并不相同。這樣就可以保證服務器中的業(yè)務服務所獲得的每一個sequence數(shù)據(jù)均不相同。
s203:將獲取到的所述sequence數(shù)據(jù)返回給所述服務器。
中間設備從分布式數(shù)據(jù)庫中獲取到了sequence數(shù)據(jù)后,就會將該sequence數(shù)據(jù)返回給服務器,以使得服務器中的相應業(yè)務服務可以得到其所需的sequence數(shù)據(jù)。
通過上述步驟,本申請實施例中采用分布式數(shù)據(jù)庫的方式提供sequence數(shù)據(jù),當服務器發(fā)出了獲取sequence數(shù)據(jù)的請求后,由相應的中間設備接收該請求,并從多個分布式數(shù)據(jù)庫中選定相應的數(shù)據(jù)庫,之后再從選定的該數(shù)據(jù)庫中獲取服務器所需的sequence數(shù)據(jù),返回給服務器。在這樣的方式下,即使某 一臺數(shù)據(jù)庫出現(xiàn)宕機、網(wǎng)絡連接故障等異?,F(xiàn)象,中間設備仍可以從其他正常運行的數(shù)據(jù)庫中為服務器獲取到所需的sequence數(shù)據(jù),顯然,正是采用了分布式數(shù)據(jù)庫的方式,有效保證了服務器可以穩(wěn)定地獲取到其所需的sequence數(shù)據(jù)。
對于本申請的上述內(nèi)容而言,為了保證分布式架構中的多個分布式數(shù)據(jù)庫所生成的sequence數(shù)據(jù)均是唯一的,因此,就需要中間設備對多個分布式數(shù)據(jù)庫進行相應的管理控制,具體而言,在本申請實施例中,在中間設備接收服務器發(fā)送的數(shù)據(jù)請求之前,所述方法還包括:所述中間設備預先向多個分布式數(shù)據(jù)庫分發(fā)數(shù)據(jù)生成指令,使得所述多個分布式數(shù)據(jù)庫分別根據(jù)所述數(shù)據(jù)生成指令生成sequence數(shù)據(jù)。
所述的數(shù)據(jù)生成指令,用于指示每一個分布式數(shù)據(jù)庫生成唯一的sequence數(shù)據(jù),例如:數(shù)據(jù)生成指令中規(guī)定了每一個分布式數(shù)據(jù)庫所生成的sequence數(shù)據(jù)的號段,在此情況下,可以假設,對于數(shù)據(jù)庫a,中間設備通過數(shù)據(jù)生成指令指示該數(shù)據(jù)庫a生成的sequence號段為1~1000;對于數(shù)據(jù)庫b,中間設備通過數(shù)據(jù)生成指令指示該數(shù)據(jù)庫b生成的sequence號段為2000~5000等等。該示例僅為說明數(shù)據(jù)生成指令的功能,并不構成對本申請的限定。
中間設備通過數(shù)據(jù)生成指令的方式,就可以保證每一個分布式數(shù)據(jù)庫所生成的sequence數(shù)據(jù)均具有唯一性。
另外,考慮到在實際應用中,分布式數(shù)據(jù)庫有可能出現(xiàn)諸如運行故障、宕機、網(wǎng)絡連接故障的異常情況,此時,中間設備就需要確定出發(fā)生了異常的分布式數(shù)據(jù)庫,以便后續(xù)的數(shù)據(jù)請求不會誤發(fā)給異常的分布式數(shù)據(jù)庫。因此,在本申請實施例中,在從多個分布式數(shù)據(jù)庫中選定一個數(shù)據(jù)庫之前,所述方法還包括:所述中間設備實時監(jiān)測所述多個分布式數(shù)據(jù)庫中運行狀態(tài)異常的數(shù)據(jù)庫。在此基礎上,步驟s202中從多個分布式數(shù)據(jù)庫中選定至少一個數(shù)據(jù)庫,具體包括:從多個分布式數(shù)據(jù)庫中運行狀態(tài)正常的數(shù)據(jù)庫中選定至少一個數(shù)據(jù)庫。
在本申請實施例中,運行狀態(tài)異常包括但不限于:宕機、網(wǎng)絡連接異常、運行故障等等。
對于運行狀態(tài)正常的分布式數(shù)據(jù)庫而言,可能在實際應用中的實際處理性能、實際運行狀態(tài)各不相同,那么,中間設備在選定運行狀態(tài)正常的數(shù)據(jù)庫時,可以根據(jù)運行狀態(tài)正常的各數(shù)據(jù)庫的實際運行情況來進行選擇,也即,從多個分布式數(shù)據(jù)庫中運行狀態(tài)正常的數(shù)據(jù)庫中選定至少一個數(shù)據(jù)庫,具體包括:監(jiān)測運行狀態(tài)正常的各分布式數(shù)據(jù)庫的運行狀態(tài)信息,根據(jù)監(jiān)測到的所述運行狀態(tài)信息,從運行狀態(tài)正常的各分布式數(shù)據(jù)庫中選定至少一個數(shù)據(jù)庫。
在本申請實施例中,運行狀態(tài)信息包括但不限于:數(shù)據(jù)庫運行負荷信息、生成的sequence數(shù)據(jù)量、設定時間內(nèi)數(shù)據(jù)庫所接收到的數(shù)據(jù)請求的數(shù)量等等。
以運行狀態(tài)信息為數(shù)據(jù)庫的運行負荷信息為例:在本示例中,假設分布式數(shù)據(jù)庫a和b的運行負荷分別為80%和50%,顯然,此時對于數(shù)據(jù)庫a而言,其運行負荷較高,那么,中間設備在接收到數(shù)據(jù)請求后,便可以選定數(shù)據(jù)庫b,并從數(shù)據(jù)庫b中獲取sequence數(shù)據(jù),以減緩當前數(shù)據(jù)庫a的壓力。
相應的,對于其他的運行狀態(tài)信息而言,中間設備也可以采用相似的方式來選定數(shù)據(jù)庫,以便保證多個分布式數(shù)據(jù)庫的運行狀態(tài)均衡,這樣可以最大程度的避免因負載增加而造成的數(shù)據(jù)庫宕機或運行故障的現(xiàn)象。
此外,作為本申請實施例中的一種方式,對于出現(xiàn)了異常的數(shù)據(jù)庫而言,經(jīng)過一段時間后,其運行狀態(tài)可能恢復正常,中間設備會繼續(xù)使用恢復正常后的數(shù)據(jù)庫。這里并不作為對本申請的限定。
以上內(nèi)容是基于中間設備側的描述,對于數(shù)據(jù)庫側,在本申請中還提供一種sequence數(shù)據(jù)的獲取方法,如圖3所示,具體包括以下步驟:
s301:分布式數(shù)據(jù)庫接收中間設備發(fā)送的數(shù)據(jù)請求。
s302:根據(jù)所述數(shù)據(jù)請求,生成sequence數(shù)據(jù),并將生成的sequence數(shù)據(jù)發(fā)送給所述中間設備,以使得所述中間設備將所述sequence數(shù)據(jù)返回給發(fā)送所述數(shù)據(jù)請求的服務器,其中,所述sequence數(shù)據(jù)具有唯一性。
本實施例中的多個分布式數(shù)據(jù)庫、中間設備、服務器均是基于圖1所示的 分布式架構,與上述如圖2所示的方法中相同,故在此不再過多贅述。
對于上述步驟s302而言,不同的分布式數(shù)據(jù)庫所生成的sequence數(shù)據(jù)均具有唯一性,為了保證其唯一性,在生成sequence數(shù)據(jù)時往往依賴于中間設備分發(fā)的數(shù)據(jù)生成指令,具體而言,生成sequence數(shù)據(jù),具體包括:在多個分布式數(shù)據(jù)庫中,針對任一數(shù)據(jù)庫,所述數(shù)據(jù)庫接收中間設備發(fā)送的數(shù)據(jù)生成指令,確定所述數(shù)據(jù)生成指令中包含的、由所述中間設備劃分的sequence值范圍,在接收到所述數(shù)據(jù)請求后,根據(jù)所述sequence值范圍,生成sequence數(shù)據(jù),并返回給所述中間設備。其中,由所述中間設備劃分的每一sequence值范圍之間不存在交集。
正如前述,由中間設備分發(fā)給每一數(shù)據(jù)庫的數(shù)據(jù)生成指令中指示了每一數(shù)據(jù)庫所對應的sequence號段,也即,在數(shù)據(jù)生成指令中包含有sequence值范圍,為了保證各數(shù)據(jù)庫的sequence數(shù)據(jù)的唯一性,所以,中間設備分發(fā)給每一數(shù)據(jù)庫的sequence值范圍均不相同,換言之,各sequence值范圍之間不存在交集。從而,各分布式數(shù)據(jù)庫根據(jù)數(shù)據(jù)請求生成的sequence數(shù)據(jù)均不相同。
以上為本申請實施例提供的sequence數(shù)據(jù)的獲取方法,基于同樣的思路,本申請實施例還提供一種sequence數(shù)據(jù)的獲取裝置,如圖4所示。
在圖4中,所述sequence數(shù)據(jù)的獲取裝置包括:接收模塊401、數(shù)據(jù)獲取模塊402、反饋模塊403,其中,
接收模塊401,用于接收服務器發(fā)送的數(shù)據(jù)請求。
數(shù)據(jù)獲取模塊402,用于根據(jù)所述數(shù)據(jù)請求,從多個分布式數(shù)據(jù)庫中選定至少一個數(shù)據(jù)庫,并獲取該數(shù)據(jù)庫生成的sequence數(shù)據(jù),其中,各數(shù)據(jù)庫生成的sequence數(shù)據(jù)均具有唯一性。
反饋模塊403,用于將獲取到的所述sequence數(shù)據(jù)返回給所述服務器。
在本申請實施例中,所述裝置還包括:分發(fā)模塊404,用于預先向多個分布式數(shù)據(jù)庫分發(fā)數(shù)據(jù)生成指令,使得所述多個分布式數(shù)據(jù)庫分別根據(jù)所述數(shù)據(jù) 生成指令生成sequence數(shù)據(jù)。
在本申請實施例中,所述裝置還包括:監(jiān)測模塊405,用于實時監(jiān)測所述多個分布式數(shù)據(jù)庫中運行狀態(tài)異常的數(shù)據(jù)庫。在此基礎上,數(shù)據(jù)獲取模塊403,用于在監(jiān)測模塊405監(jiān)測到運行狀態(tài)異常的數(shù)據(jù)庫后,從多個分布式數(shù)據(jù)庫中運行狀態(tài)正常的數(shù)據(jù)庫中選定至少一個數(shù)據(jù)庫。
其中,運行狀態(tài)異常包括但不限于:宕機、網(wǎng)絡連接異常等。
進一步地,數(shù)據(jù)獲取模塊403,用于監(jiān)測運行狀態(tài)正常的各分布式數(shù)據(jù)庫的運行狀態(tài)信息,根據(jù)監(jiān)測到的所述運行狀態(tài)信息,從運行狀態(tài)正常的各分布式數(shù)據(jù)庫中選定一個數(shù)據(jù)庫。
運行狀態(tài)信息包括:數(shù)據(jù)庫運行負荷信息、生成的sequence數(shù)據(jù)量、設定時間內(nèi)數(shù)據(jù)庫所接收到的數(shù)據(jù)請求的數(shù)量中的至少一種。
與上述方法中的內(nèi)容相類似,上述裝置是基于中間設備側的裝置,對于數(shù)據(jù)庫側而言,本申請實施例中還提供一種sequence數(shù)據(jù)的獲取裝置,如圖5所示,包括:接收模塊501和數(shù)據(jù)模塊502,其中
接收模塊501,用于接收中間設備發(fā)送的數(shù)據(jù)請求。
數(shù)據(jù)模塊502,用于根據(jù)所述數(shù)據(jù)請求,生成sequence數(shù)據(jù),并將生成的sequence數(shù)據(jù)發(fā)送給所述中間設備,以使得所述中間設備將所述sequence數(shù)據(jù)返回給發(fā)送所述數(shù)據(jù)請求的服務器。其中,所述sequence數(shù)據(jù)具有唯一性。
具體地,數(shù)據(jù)模塊502,具體用于接收中間設備發(fā)送的數(shù)據(jù)生成指令,確定所述數(shù)據(jù)生成指令中包含的、由所述中間設備劃分的sequence值范圍,在接收到所述數(shù)據(jù)請求后,根據(jù)所述sequence值范圍,生成sequence數(shù)據(jù),并返回給所述中間設備。其中,由所述中間設備劃分的每一sequence值范圍之間不存在交集。
在一個典型的配置中,計算設備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡接口和內(nèi)存。
內(nèi)存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機可讀介質的示例。
計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結構、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所 作的任何修改、等同替換、改進等,均應包含在本申請的權利要求范圍之內(nèi)。