專利名稱:數(shù)據(jù)預(yù)讀器及其數(shù)據(jù)讀取方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)預(yù)讀器及其數(shù)據(jù)讀取方法,更具體的,涉及一種針對應(yīng)用系統(tǒng),通過集中物理存儲設(shè)備讀取,根據(jù)應(yīng)用流程制定I/O讀取操作策略,在應(yīng)用進(jìn)行業(yè)務(wù)處理之前,保證處理業(yè)務(wù)所需要的相關(guān)數(shù)據(jù)都已在內(nèi)存緩存中的數(shù)據(jù)預(yù)讀器及其數(shù)據(jù)讀取方法。
背景技術(shù):
目前數(shù)據(jù)業(yè)務(wù)深入人心,數(shù)據(jù)業(yè)務(wù)性能問題一直是大家關(guān)注的熱點(diǎn),在物理存儲上,海量的應(yīng)用數(shù)據(jù)與有限的內(nèi)存矛盾日益沖突。內(nèi)存數(shù)據(jù)庫是較為通用的提高性能的常見辦法,該技術(shù)的實(shí)現(xiàn)基于內(nèi)存中已有數(shù)據(jù),主要關(guān)注數(shù)據(jù)在內(nèi)存中的保留時間。對于數(shù)據(jù)的讀取,目前內(nèi)存數(shù)據(jù)庫一次加載全部或部分?jǐn)?shù)據(jù),在加載部分?jǐn)?shù)據(jù)時,一旦請求的數(shù)據(jù)不存在于內(nèi)存,則需要進(jìn)行同步I/O讀取。
對于很多增值業(yè)務(wù),業(yè)務(wù)數(shù)據(jù)是海量的,內(nèi)存不可能緩存業(yè)務(wù)處理所需全部數(shù)據(jù),目前當(dāng)業(yè)務(wù)處理需要的數(shù)據(jù)不存在于內(nèi)存時,則通過文件接口或數(shù)據(jù)庫接口直接讀取物理存儲設(shè)備,在業(yè)務(wù)流程中存在I/O操作。
雖然直接物理存儲設(shè)備讀取實(shí)現(xiàn)簡單易行,但是缺點(diǎn)也顯而易見。首先,在業(yè)務(wù)流程中進(jìn)行I/O操作,I/O性能瓶頸會影響業(yè)務(wù)速度,然而提高性能必然要求高性能設(shè)備,結(jié)果勢必增加成本。其次,業(yè)務(wù)流程處理中嵌入業(yè)務(wù)數(shù)據(jù)底層處理,增加了業(yè)務(wù)流程的復(fù)雜度,不利于從業(yè)務(wù)層面和業(yè)務(wù)數(shù)據(jù)層面分開考慮優(yōu)化性能。另外,難以控制I/O的異常。
如果能夠集中處理I/O讀取,根據(jù)業(yè)務(wù)數(shù)據(jù)需求是否可以預(yù)測確定I/O讀取策略。為方便描述,將可測數(shù)據(jù)定義為可以確定在將來的特定時間點(diǎn)業(yè)務(wù)處理需要使用的業(yè)務(wù)數(shù)據(jù);定義異步數(shù)據(jù)為數(shù)據(jù)使用請求隨機(jī)發(fā)生,但可以延遲業(yè)務(wù)處理的業(yè)務(wù)數(shù)據(jù)。以短消息中心為例,定時短消息和重試短消息明確在將來的某一時刻需要被發(fā)送,因此是可測數(shù)據(jù);系統(tǒng)重啟后,首次發(fā)給特定目的用戶的消息觸發(fā)該目的用戶的未發(fā)送消息繼續(xù)發(fā)送,但優(yōu)先發(fā)送當(dāng)前提交消息,可以對目的用戶先采用缺省值操作,在延遲讀入該目的用戶信息后再進(jìn)行修改,由于用戶發(fā)送消息是隨機(jī)的,因此可以認(rèn)為目的用戶數(shù)據(jù)是異步數(shù)據(jù)。
對于應(yīng)用的可測數(shù)據(jù),要進(jìn)行預(yù)先讀?。粚τ诋惒綌?shù)據(jù),要延遲處理業(yè)務(wù),或先采用缺省值處理并在讀取后進(jìn)行修改。這樣就消除了I/O讀取對業(yè)務(wù)處理帶來的阻塞影響。但是,現(xiàn)有技術(shù)尚未能提供上述解決方案。
發(fā)明內(nèi)容
為了消除I/O讀取對業(yè)務(wù)帶來的阻塞影響,以達(dá)到充分利用CPU資源,提高產(chǎn)品性能的目的,本發(fā)明提供了一種功能獨(dú)立、集中處理業(yè)務(wù)數(shù)據(jù)I/O讀取的數(shù)據(jù)預(yù)讀器及其數(shù)據(jù)讀取方法。
本發(fā)明的一個方面提供了一種數(shù)據(jù)預(yù)讀器,其包括以下裝置配置單元,用于提供與數(shù)據(jù)預(yù)讀器相關(guān)的配置信息;預(yù)讀請求收集模塊,用于根據(jù)來自配置單元的配置信息,接收并緩存來自用戶的預(yù)讀請求,并在接收到預(yù)讀請求之后,向主控模塊發(fā)出預(yù)讀處理請求;數(shù)據(jù)讀取引擎,連接到主控模塊,用于為主控模塊提供物理讀取接口,并監(jiān)控和維護(hù)業(yè)務(wù)數(shù)據(jù)的I/O讀取;用戶接口單元,連接到主控模塊,通過配置單元來進(jìn)行設(shè)置,用于為業(yè)務(wù)處理提供接口,并在預(yù)讀數(shù)據(jù)完成后,完成用戶指定的后續(xù)操作;以及主控模塊,用于接收來自預(yù)讀請求收集模塊的預(yù)讀處理請求,通過調(diào)用數(shù)據(jù)讀取引擎從物理存儲設(shè)備中讀取數(shù)據(jù)。
根據(jù)本發(fā)明的一個方面,數(shù)據(jù)預(yù)讀器還包括統(tǒng)計單元,連接到主控模塊,用于收集并分析與數(shù)據(jù)預(yù)讀器相關(guān)的統(tǒng)計數(shù)據(jù),并提供給主控模塊。
根據(jù)本發(fā)明的一個方面,主控模塊還用于接收來自統(tǒng)計單元的統(tǒng)計數(shù)據(jù),并根據(jù)統(tǒng)計數(shù)據(jù)調(diào)節(jié)預(yù)讀策略。
根據(jù)本發(fā)明的預(yù)讀請求收集模塊包括預(yù)讀請求隊列模塊,用于暫存數(shù)據(jù)預(yù)讀請求;預(yù)讀請求用戶接口,用于接收來自用戶的預(yù)讀請求,并將預(yù)讀請求緩存到預(yù)讀列隊模塊;可測數(shù)據(jù)預(yù)讀收集用戶接口,用于收集可測數(shù)據(jù)的預(yù)讀請求;以及定時器,用于定時調(diào)用可測數(shù)據(jù)預(yù)讀收集用戶接口,來收集可測數(shù)據(jù)的預(yù)讀請求,并將可測數(shù)據(jù)的預(yù)讀請求緩存到預(yù)讀請求列隊模塊。
根據(jù)本發(fā)明的一個方面,可測數(shù)據(jù)是可以確定在將來的特定時間點(diǎn)業(yè)務(wù)處理所需要使用的業(yè)務(wù)數(shù)據(jù)。
根據(jù)本發(fā)明的用戶接口單元包括預(yù)讀成功用戶處理接口,其通過配置單元被配置,用于在預(yù)讀成功后進(jìn)行后續(xù)處理;告警用戶處理接口,其通過配置單元被設(shè)置,用于在預(yù)讀數(shù)據(jù)不存在或發(fā)生預(yù)讀錯誤時,通過該接口向系統(tǒng)提交相關(guān)錯誤信息;以及預(yù)讀結(jié)果處理單元,用于完成預(yù)讀處理完成操作,并根據(jù)預(yù)讀結(jié)果調(diào)用預(yù)讀成功用戶處理接口或告警用戶處理接口。
根據(jù)本發(fā)明的一個方面,統(tǒng)計數(shù)據(jù)包括以下至少之一相同數(shù)據(jù)的預(yù)讀請求次數(shù);預(yù)讀操作總次數(shù);預(yù)讀操作成功率;物理讀取操作最大用時、最小用時、和平均用時;以及預(yù)讀最大用時、最小用時、和平均用時。
本發(fā)明的另一方面提供了一種使用數(shù)據(jù)預(yù)讀器的數(shù)據(jù)讀取方法,該數(shù)據(jù)預(yù)讀器包括配置單元、預(yù)讀請求收集模塊、數(shù)據(jù)讀取引擎、用戶接口單元、主控模塊以及統(tǒng)計單元。數(shù)據(jù)讀取方法包括以下步驟步驟S202,配置單元讀取相關(guān)配置信息,并通過配置接口來接收相關(guān)配置信息和用戶接口單元的處理配置;步驟S204,預(yù)讀請求收集模塊收集預(yù)定請求,并通知主控模塊;步驟S206,主控模塊接收到數(shù)據(jù)預(yù)讀請求,調(diào)用數(shù)據(jù)讀取引擎從物理設(shè)備中讀取業(yè)務(wù)數(shù)據(jù);以及步驟S208,判斷讀取操作是否成功,根據(jù)判斷結(jié)果,主控模塊采取相應(yīng)的操作。
根據(jù)本發(fā)明的一個方面,使用該數(shù)據(jù)預(yù)讀器的數(shù)據(jù)讀取方法還包括以下步驟使用統(tǒng)計單元進(jìn)行相關(guān)統(tǒng)計處理,并將得到的統(tǒng)計數(shù)據(jù)發(fā)送給主控模塊。
根據(jù)本發(fā)明的一個方面,當(dāng)在步驟S208中判斷讀取操作成功時,還包括以下步驟主控模塊通過用戶接口單元中的預(yù)讀成功的用戶處理接口來完成用戶指定操作;如果在步驟S208中判斷讀取操作不成功時,則包括以下步驟主控模塊根據(jù)來自配置單元的配置信息決定是否通過用戶接口單元中的告警用戶處理接口來告警。
根據(jù)本發(fā)明的使用該數(shù)據(jù)讀取預(yù)讀器的數(shù)據(jù)讀取方法,還包括以下步驟使用預(yù)讀請求收集模塊中的定時器來定時檢測可測數(shù)據(jù)的預(yù)讀請求,并將檢測到的預(yù)讀請求發(fā)送到預(yù)讀請求收集模塊。預(yù)讀請求收集模塊在接到預(yù)讀請求后,將預(yù)讀請求寫入預(yù)讀請求收集模塊中的預(yù)讀請求隊列;以及主控模塊從預(yù)讀隊列模塊中取出預(yù)讀請求。
另外,根據(jù)本發(fā)明,如果配置單元設(shè)置了預(yù)讀請求收集模塊中的可測數(shù)據(jù)預(yù)讀收集用戶接口,則還包括以下步驟定時調(diào)用可測數(shù)據(jù)預(yù)讀收集用戶接口收集可測數(shù)據(jù)預(yù)讀信息,并將所收集的可測數(shù)據(jù)預(yù)讀信息發(fā)送給主控模塊。
根據(jù)本發(fā)明的可測數(shù)據(jù)是可以確定在將來特定時間點(diǎn)業(yè)務(wù)處理所需要使用的業(yè)務(wù)數(shù)據(jù)。
根據(jù)本發(fā)明的一個方面,統(tǒng)計數(shù)據(jù)包括以下至少之一相同數(shù)據(jù)的預(yù)讀請求次數(shù);預(yù)讀操作總次數(shù);預(yù)讀操作成功率;物理讀取操作最大用時、最小用時、和平均用時;以及預(yù)讀最大用時、最小用時、和平均用時。
采用本發(fā)明所提供的數(shù)據(jù)預(yù)讀器及其數(shù)據(jù)讀取方法,可以集中業(yè)務(wù)數(shù)據(jù)物理讀取,避免I/O讀取操作阻塞業(yè)務(wù)處理。另外,由于可在數(shù)據(jù)預(yù)讀器內(nèi)部實(shí)現(xiàn)可測數(shù)據(jù)預(yù)讀請求收集,因此用戶也可以通過預(yù)讀請求收集模塊提交預(yù)讀請求給數(shù)據(jù)預(yù)讀器。而且本發(fā)明的用戶接口單元所提供的接口,實(shí)現(xiàn)了數(shù)據(jù)讀取成功后續(xù)操作,便于用戶與數(shù)據(jù)預(yù)讀器的交互。因此,有利于充分利用CPU資源,提高產(chǎn)品性能,加強(qiáng)數(shù)據(jù)預(yù)讀器使用的靈活性。
附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中圖1是根據(jù)本發(fā)明的數(shù)據(jù)預(yù)讀器的框圖;圖2是根據(jù)本發(fā)明的數(shù)據(jù)預(yù)讀器的數(shù)據(jù)讀取方法的流程圖;
圖3是根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)預(yù)讀器的結(jié)構(gòu)示意圖;圖4是根據(jù)本發(fā)明的實(shí)施例的預(yù)讀請求收集模塊的結(jié)構(gòu)示意圖;圖5是根據(jù)本發(fā)明的實(shí)施例的用戶接口單元的結(jié)構(gòu)示意圖;以及圖6是根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)處理方法的詳細(xì)流程圖。
具體實(shí)施例方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1是根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)預(yù)讀器的框圖。如圖1所示,數(shù)據(jù)預(yù)讀器100包括配置單元102,用于提供與數(shù)據(jù)預(yù)讀器100相關(guān)的配置信息;預(yù)讀請求收集模塊104,用于根據(jù)來自配置單元102的配置信息,接收并緩存來自用戶的預(yù)讀請求,并在接收到預(yù)讀請求之后,向主控模塊110發(fā)出預(yù)讀處理請求;數(shù)據(jù)讀取引擎106,連接到主控模塊110,用于為主控模塊110提供物理讀取接口,并監(jiān)控和維護(hù)業(yè)務(wù)數(shù)據(jù)的I/O讀??;用戶接口單元108,連接到主控模塊110,通過配置單元102來進(jìn)行設(shè)置,用于為業(yè)務(wù)處理提供接口,并在預(yù)讀數(shù)據(jù)完成后,完成用戶指定的后續(xù)操作;主控模塊110,用于接收來自預(yù)讀請求收集模塊104的預(yù)讀處理請求,通過調(diào)用數(shù)據(jù)讀取引擎106從物理存儲設(shè)備中讀取數(shù)據(jù);以及統(tǒng)計單元112,連接到主控模塊110,用于收集并分析與數(shù)據(jù)預(yù)讀器100相關(guān)的統(tǒng)計數(shù)據(jù),并提供給主控模塊110。
其中,預(yù)讀請求收集模塊104還包括預(yù)讀請求隊列模塊1042,用于暫存數(shù)據(jù)預(yù)讀請求;預(yù)讀請求用戶接口1044,用于接收來自用戶的預(yù)讀請求,并將預(yù)讀請求緩存到預(yù)讀請求列隊模塊1042;可測數(shù)據(jù)預(yù)讀收集用戶接口1046,用于收集可測數(shù)據(jù)的預(yù)讀請求;以及定時器1048,用于定時調(diào)用可測數(shù)據(jù)預(yù)讀收集用戶接口,來收集可測數(shù)據(jù)的預(yù)讀請求,并將可測數(shù)據(jù)的預(yù)讀請求緩存到預(yù)讀請求列隊模塊1042??蓽y數(shù)據(jù)是可以確定在將來的某個時間點(diǎn)業(yè)務(wù)處理所需要使用的業(yè)務(wù)數(shù)據(jù)。
另外,用戶接口單元108還包括預(yù)讀成功用戶處理接口1082,其通過配置單元102被配置,用于在預(yù)讀成功后進(jìn)行后續(xù)處理;告警用戶處理接口1084,其通過配置單元102被設(shè)置,用于在預(yù)讀數(shù)據(jù)不存在或發(fā)生預(yù)讀錯誤時,通過該接口向系統(tǒng)提交相關(guān)錯誤信息;以及預(yù)讀結(jié)果處理單元1086,用于完成預(yù)讀處理完成操作,并根據(jù)預(yù)讀結(jié)果調(diào)用預(yù)讀成功用戶處理接口或告警用戶處理接口。
主控模塊110還用于接收來自統(tǒng)計單元112的統(tǒng)計數(shù)據(jù),并根據(jù)統(tǒng)計數(shù)據(jù)調(diào)節(jié)預(yù)讀策略。
其中,統(tǒng)計數(shù)據(jù)包括以下至少之一相同數(shù)據(jù)的預(yù)讀請求次數(shù);預(yù)讀操作總次數(shù);預(yù)讀操作成功率;物理讀取操作最大用時、最小用時、和平均用時;以及預(yù)讀最大用時、最小用時、和平均用時。
圖2是根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)預(yù)讀器的數(shù)據(jù)讀取方法的流程圖。如圖2所示,根據(jù)本發(fā)明的實(shí)施例,使用數(shù)據(jù)預(yù)讀器的數(shù)據(jù)讀取方法包括以下步驟(1)步驟S202,配置單元102讀取相關(guān)配置信息,并通過配置接口來接收相關(guān)配置信息和用戶接口單元108的處理配置。
其中,如果配置單元102設(shè)置了預(yù)讀請求收集模塊104中的可測數(shù)據(jù)預(yù)讀收集用戶接口1046,則還包括以下步驟定時調(diào)用可測數(shù)據(jù)預(yù)讀收集用戶接口1046收集可測數(shù)據(jù)預(yù)讀信息,并將所收集的可測數(shù)據(jù)預(yù)讀信息發(fā)送給主控模塊110。其中,可測數(shù)據(jù)是可以確定在將來某個時間點(diǎn)業(yè)務(wù)處理所需要使用的業(yè)務(wù)數(shù)據(jù)。
(2)步驟S204,預(yù)讀請求收集模塊104收集預(yù)定請求,并通知主控模塊110。其中,使用預(yù)讀請求收集模塊104中的定時器1048來定時檢測可測數(shù)據(jù)的預(yù)讀請求,并將檢測到的預(yù)讀請求發(fā)送到預(yù)讀請求收集模塊104。
其中,預(yù)讀請求收集模塊104在接到預(yù)讀請求后,將預(yù)讀請求寫入所預(yù)讀請求收集模塊104中的預(yù)讀請求隊列1042。
(3)步驟S206,主控模塊110接收到數(shù)據(jù)預(yù)讀請求,調(diào)用數(shù)據(jù)讀取引擎106從物理設(shè)備中讀取業(yè)務(wù)數(shù)據(jù)。
其中,主控模塊110從預(yù)讀請求隊列模塊1042中取出預(yù)讀請求,使用統(tǒng)計單元112進(jìn)行相關(guān)統(tǒng)計處理,并將得到的統(tǒng)計數(shù)據(jù)發(fā)送給主控模塊110。
(4)步驟S208,判斷讀取操作是否成功,根據(jù)判斷結(jié)果,主控模塊110采取相應(yīng)的操作。
其中,當(dāng)判斷讀取操作成功時,還包括以下步驟主控模塊110通過用戶接口單元108中的預(yù)讀成功的用戶處理接口1082來完成用戶指定操作;如果在步驟S208中判斷讀取操作不成功時,則包括以下步驟主控模塊110根據(jù)來自配置單元102的配置信息決定是否通過用戶接口單元108中的告警用戶處理接口1084來告警。
如上所述的統(tǒng)計數(shù)據(jù)包括以下至少之一相同數(shù)據(jù)的預(yù)讀請求次數(shù);預(yù)讀操作總次數(shù);預(yù)讀操作成功率;物理讀取操作最大用時、最小用時、和平均用時;以及預(yù)讀最大用時、最小用時、和平均用時。
圖3是根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)預(yù)讀器的結(jié)構(gòu)示意圖。圖4是根據(jù)本發(fā)明的實(shí)施例的預(yù)讀請求收集模塊的結(jié)構(gòu)示意圖。圖5是根據(jù)本發(fā)明的實(shí)施例的用戶接口單元的結(jié)構(gòu)示意圖。圖6是根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)處理方法的詳細(xì)流程圖。
以下將結(jié)合圖3至圖5詳細(xì)描述圖6過程。其中,包括以下步驟步驟S602,數(shù)據(jù)預(yù)讀器300上電后進(jìn)行初始化,并讀配置設(shè)置;步驟S604,設(shè)置定時器406,以便定時檢查可測數(shù)據(jù)的預(yù)讀請求;步驟S606,預(yù)讀請求收集模塊312等待預(yù)讀請求。在接收到預(yù)讀請求后,將預(yù)讀請求寫入預(yù)讀請求隊列408,通知主控模塊306進(jìn)行下一步處理;步驟S608,主控模塊306判斷預(yù)讀請求隊列408是否為空,如果結(jié)果為“否”,則轉(zhuǎn)步驟S606繼續(xù)等待預(yù)讀請求;如果結(jié)果為“是”,執(zhí)行步驟S610;步驟S610,從預(yù)讀請求隊列408中取出一個預(yù)讀請求,主控模塊306調(diào)用數(shù)據(jù)讀取引擎310讀取數(shù)據(jù);步驟S612,數(shù)據(jù)讀取完畢后,主控模塊306調(diào)用統(tǒng)計單元308進(jìn)行相關(guān)統(tǒng)計;
步驟S614,預(yù)讀結(jié)果處理單元502對預(yù)讀結(jié)果進(jìn)行處理,判斷數(shù)據(jù)讀取是否成功。如預(yù)讀操作失敗或沒有找到業(yè)務(wù)數(shù)據(jù),則表示預(yù)讀失敗,如果預(yù)讀成功,則進(jìn)入步驟S616,如果預(yù)讀失敗,則轉(zhuǎn)到步驟S620;步驟S616,判斷是否設(shè)置預(yù)讀成功用戶處理接口504,如未設(shè)置則轉(zhuǎn)回步驟S606,如果已設(shè)置,則進(jìn)入步驟S618;步驟S618,調(diào)用預(yù)讀成功用戶處理接口504,處理完成后轉(zhuǎn)回步驟S606;步驟S620,判斷是否設(shè)置告警用戶處理接口506,如果要設(shè)置,則進(jìn)入步驟S622;以及步驟S622,調(diào)用告警用戶處理接口506,處理完成后轉(zhuǎn)步驟S606;如果為未設(shè)置,則轉(zhuǎn)步驟S606。
如圖6所示,步驟S604還包括以下步驟步驟S624,定時器406到達(dá);步驟S626,重新設(shè)置定時器406;步驟S628,判斷是否設(shè)置可測數(shù)據(jù)預(yù)讀收集用戶接口404,如未設(shè)置則定時器406處理結(jié)束,如果已設(shè)置,則進(jìn)入步驟S630;步驟S630,調(diào)用可測數(shù)據(jù)預(yù)讀收集用戶接口404收集可測數(shù)據(jù)預(yù)讀信息;步驟S632,判斷是否存在可測數(shù)據(jù)預(yù)讀信息,如不存在,則定時器406處理結(jié)束,如果存在,進(jìn)入步驟S634;
步驟S634,發(fā)預(yù)讀信息通知預(yù)讀請求收集模塊312;以及最后,定時器406的處理結(jié)束。
通過以上本發(fā)明的描述,可以集中業(yè)務(wù)數(shù)據(jù)的讀取處理,避免了I/O讀取操作的阻塞業(yè)務(wù)處理,從而,有利于充分利用CPU資源,提高產(chǎn)品性能。
以上僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)預(yù)讀器,其特征在于,包括配置單元,用于提供與所述數(shù)據(jù)預(yù)讀器相關(guān)的配置信息;預(yù)讀請求收集模塊,用于根據(jù)來自所述配置單元的所述配置信息,接收并緩存來自用戶的預(yù)讀請求,并在接收到所述預(yù)讀請求之后,向主控模塊發(fā)出預(yù)讀處理請求;數(shù)據(jù)讀取引擎,連接到所述主控模塊,用于為所述主控模塊提供物理讀取接口,并監(jiān)控和維護(hù)業(yè)務(wù)數(shù)據(jù)的I/O讀??;用戶接口單元,連接到所述主控模塊,通過所述配置單元來進(jìn)行設(shè)置,用于為業(yè)務(wù)處理提供接口,并在所述預(yù)讀數(shù)據(jù)完成后,完成用戶指定的后續(xù)操作;以及所述主控模塊,用于接收來自所述預(yù)讀請求收集模塊的所述預(yù)讀處理請求,通過調(diào)用所述數(shù)據(jù)讀取引擎從物理存儲設(shè)備中讀取數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)預(yù)讀器,其特征在于,還包括統(tǒng)計單元,連接到所述主控模塊,用于收集并分析與所述數(shù)據(jù)預(yù)讀器相關(guān)的統(tǒng)計數(shù)據(jù),并提供給所述主控模塊。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)預(yù)讀器,其特征在于,所述預(yù)讀請求收集模塊包括預(yù)讀請求隊列模塊,用于暫存所述數(shù)據(jù)預(yù)讀請求;預(yù)讀請求用戶接口,用于接收來自用戶的所述預(yù)讀請求,并將所述預(yù)讀請求緩存到所述預(yù)讀請求隊列模塊;可測數(shù)據(jù)預(yù)讀收集用戶接口,用于收集可測數(shù)據(jù)的預(yù)讀請求;以及定時器,用于定時調(diào)用所述可測數(shù)據(jù)預(yù)讀收集用戶接口,來收集所述可測數(shù)據(jù)的預(yù)讀請求,并將所述可測數(shù)據(jù)的預(yù)讀請求緩存到所述預(yù)讀請求隊列模塊。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)預(yù)讀器,其特征在于,所述用戶接口單元包括預(yù)讀成功用戶處理接口,通過所述配置單元被設(shè)置,用于在預(yù)讀成功后進(jìn)行后續(xù)處;告警用戶處理接口,通過所述配置單元被設(shè)置,用于在所述預(yù)讀數(shù)據(jù)不存在或發(fā)生預(yù)讀錯誤時,通過該接口向系統(tǒng)提交相關(guān)錯誤信息;以及預(yù)讀結(jié)果處理單元,用于完成預(yù)讀完成操作,并根據(jù)預(yù)讀結(jié)果調(diào)用所述預(yù)讀成功用戶處理接口或所述告警用戶處理接口。
5.一種使用數(shù)據(jù)預(yù)讀器的數(shù)據(jù)讀取方法,所述數(shù)據(jù)讀取器包括配置單元、預(yù)讀請求收集模塊、數(shù)據(jù)讀取引擎、用戶接口單元、主控模塊以及統(tǒng)計單元,其特征在于,所述數(shù)據(jù)讀取方法包括以下步驟步驟S202,所述配置單元讀取相關(guān)配置信息,并通過配置接口來接收所述相關(guān)配置信息和所述用戶接口單元的處理配置;步驟S204,所述預(yù)讀請求收集模塊收集預(yù)定請求,并通知所述主控模塊;步驟S206,所述主控模塊接收到所述數(shù)據(jù)預(yù)讀請求,調(diào)用所述數(shù)據(jù)讀取引擎從物理設(shè)備中讀取業(yè)務(wù)數(shù)據(jù);以及步驟S208,判斷讀取操作是否成功,根據(jù)判斷結(jié)果,所述主控模塊采取相應(yīng)的操作。
6.根據(jù)權(quán)利要求5所述的使用數(shù)據(jù)預(yù)讀器的數(shù)據(jù)讀取方法,其特征在于,還包括以下步驟使用所述統(tǒng)計單元進(jìn)行相關(guān)統(tǒng)計處理,并將得到的統(tǒng)計數(shù)據(jù)發(fā)送給所述主控模塊。
7.根據(jù)權(quán)利要求5所述的使用數(shù)據(jù)預(yù)讀器的數(shù)據(jù)讀取方法,其特征在于,在步驟S208中,當(dāng)判斷所述讀取操作成功時,所述主控模塊通過所述用戶接口單元中的預(yù)讀成功用戶處理接口來完成用戶指定操作;以及當(dāng)判斷所述讀取操作不成功時,所述主控模塊根據(jù)來自所述配置單元的配置信息決定是否通過所述用戶接口單元中的告警用戶處理接口來告警。
8.根據(jù)權(quán)利要求5所述的使用數(shù)據(jù)預(yù)讀器的數(shù)據(jù)讀取方法,其特征在于,還包括以下步驟使用所述預(yù)讀請求收集模塊中的定時器來定時檢測可測數(shù)據(jù)的預(yù)讀請求,并將檢測到的所述預(yù)讀請求發(fā)送到所述預(yù)讀請求收集模塊。
9.根據(jù)權(quán)利要求5所述的使用數(shù)據(jù)預(yù)讀器的數(shù)據(jù)讀取方法,其特征在于,還包括以下步驟所述預(yù)讀請求收集模塊在接收到所述預(yù)讀請求后,將所述預(yù)讀請求寫入所述預(yù)讀請求收集模塊中的預(yù)讀請求對列;以及所述主控模塊從所述預(yù)讀請求隊列模塊中取出預(yù)讀請求。
10.根據(jù)權(quán)利要求5所述的使用數(shù)據(jù)預(yù)讀器的數(shù)據(jù)讀取方法,其特征在于,如果所述配置單元設(shè)置了所述預(yù)讀請求收集模塊中的可測數(shù)據(jù)預(yù)讀收集用戶接口,還包括以下步驟定時調(diào)用所述可測數(shù)據(jù)預(yù)讀收集用戶接口收集可測數(shù)據(jù)預(yù)讀信息,并將所收集的所述可測數(shù)據(jù)預(yù)讀信息發(fā)送給所述主控模塊。
全文摘要
本發(fā)明提供了一種數(shù)據(jù)預(yù)讀器,其包括以下裝置配置單元,用于提供與數(shù)據(jù)預(yù)讀器相關(guān)的配置信息;預(yù)讀請求收集模塊,用于根據(jù)來自配置單元的配置信息,接受并緩存來自用戶的預(yù)讀請求,并在接受到預(yù)讀請求之后,向主控模塊發(fā)出預(yù)讀處理請求;數(shù)據(jù)讀取引擎,連接到主控模塊,用于為主控模塊提供物理讀取接口,并監(jiān)控和維護(hù)業(yè)務(wù)數(shù)據(jù)的I/O讀取;用戶接口單元,連接到主控模塊,通過配置單元來進(jìn)行設(shè)置,用于為業(yè)務(wù)處理提供接口,并在預(yù)讀數(shù)據(jù)完成后,完成用戶指定的后續(xù)操作;以及主控模塊,用于接受來自預(yù)讀請求收集模塊的預(yù)讀處理請求,通過調(diào)用數(shù)據(jù)讀取引擎從物理存儲設(shè)備中讀取數(shù)據(jù)。
文檔編號G06F12/08GK1945551SQ20061013805
公開日2007年4月11日 申請日期2006年11月3日 優(yōu)先權(quán)日2006年11月3日
發(fā)明者陳正光, 邢剛, 劉剛 申請人:中興通訊股份有限公司