專利名稱:一種快速獲取數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)文件處理領(lǐng)域,尤其涉及一種快速獲取數(shù)據(jù)的方法。
背景技術(shù):
計算機中存儲的文件包括程序文件和數(shù)據(jù)文件。程序文件也就是系統(tǒng)文件,系統(tǒng)文件中存放涉及操作系統(tǒng)的主要文件,一般在安裝操作系統(tǒng)過程中自動創(chuàng)建并將相關(guān)文件放在對應(yīng)的文件夾中,這里面的文件直接影響系統(tǒng)的正常運行,多數(shù)都不允許隨意改變,而數(shù)據(jù)文件用來存儲數(shù)據(jù)庫中的臨時數(shù)據(jù),會經(jīng)常發(fā)生變化。每當(dāng)計算機處理數(shù)據(jù)文件中的臨時數(shù)據(jù)時,應(yīng)該處理的是當(dāng)前的數(shù)據(jù),也就是變化后的數(shù)據(jù),而不是歷史數(shù)據(jù),所以需要系統(tǒng)能實時更新數(shù)據(jù)文件中的臨時數(shù)據(jù),以便處理后能及時清空數(shù)據(jù)文件中的數(shù)據(jù),以免過多的占用計算機資源。在現(xiàn)有技術(shù)中,利用C++編寫程序控制當(dāng)數(shù)據(jù)文件中的數(shù)據(jù)發(fā)生變化時,系統(tǒng)能夠獲取文件變化信息,但是在獲取文件變化信息時每次都無法避免的連續(xù)獲取兩次相同的文件變化的觸發(fā)消息,計算機接收到兩次觸發(fā)消息就要對兩次的觸發(fā)消息做出反應(yīng),進行相應(yīng)的處理,而兩次的處理過程是完全相同的,這樣會造成計算機資源的浪費,使計算機處理數(shù)據(jù)的速度降低。所以,現(xiàn)有技術(shù)需要解決的技術(shù)問題是如何能將控制端對觸發(fā)消息的兩次完全相同的處理過程減少為一次。
發(fā)明內(nèi)容
為解決上述問題,本發(fā)明實施例提供了一種快速獲取數(shù)據(jù)的方法,通過終端把接收到的觸發(fā)消息與數(shù)據(jù)字典表中已存儲的觸發(fā)消息相比較,將控制端對觸發(fā)消息的兩次完全相同的處理減少為一次,從而減少對計算機資源的占用,提高數(shù)據(jù)處理的效率,提高實時性能。為達到上述目的,本發(fā)明實施例公開了一種快速獲取數(shù)據(jù)的方法,包括以下步驟終端接收控制系統(tǒng)發(fā)送的第一觸發(fā)消息;所述終端判斷在數(shù)據(jù)字典表中是否有與所述第一觸發(fā)消息相同的觸發(fā)消息,若是,刪除所述第一觸發(fā)消息;若否,將所述第一觸發(fā)消息保存到所述數(shù)據(jù)字典表中,同時啟用時鐘,用于設(shè)定延遲時間t ;在所述延遲時間t內(nèi),所述終端接收控制系統(tǒng)發(fā)送的第二觸發(fā)消息;所述終端判斷在所述數(shù)據(jù)字典表中是否有與所述第二觸發(fā)消息相同的觸發(fā)消息,若是,刪除所述第二觸發(fā)消息,若否,存儲所述第二觸發(fā)消息,其中,所述存儲所述第二觸發(fā)消息時不再啟用時鐘;所述終端根據(jù)所述數(shù)據(jù)字典表中的觸發(fā)消息向所述控制系統(tǒng)獲取最新的數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本發(fā)明實施例具有以下優(yōu)點通過終端接收控制系統(tǒng)發(fā)送的第一觸發(fā)消息;所述終端判斷在數(shù)據(jù)字典表中是否有與所述第一觸發(fā)消息相同的觸發(fā)消息,若是,刪除所述第一觸發(fā)消息;若否,將所述第一觸發(fā)消息保存到所述數(shù)據(jù)字典表中,同時啟用時鐘,用于設(shè)定延遲時間t ;在所述延遲時間t內(nèi),所述終端接收控制系統(tǒng)發(fā)送的第二觸發(fā)消息;所述終端判斷在所述數(shù)據(jù)字典表中是否有與所述第二觸發(fā)消息相同的觸發(fā)消息,若是,刪除所述第二觸發(fā)消息;所述終端根據(jù)所述數(shù)據(jù)字典表中的觸發(fā)消息向所述控制系統(tǒng)獲取最新的數(shù)據(jù),從而降低了內(nèi)存使用率,提高了數(shù)據(jù)處理的效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是本發(fā)明實施例,一種快速獲取數(shù)據(jù)的方法的流程圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明的實施例提供了一種快速獲取數(shù)據(jù)的方法,如圖I所示,具體包括以下步驟步驟SlOl、終端接收控制系統(tǒng)發(fā)送的第一觸發(fā)消息;其中,所述第一觸發(fā)消息是指數(shù)據(jù)文件發(fā)生變化時,所述控制系統(tǒng)向所述終端發(fā)送的文件變化信息??刂葡到y(tǒng)利用Windows提供的Windows API函數(shù)集中的函數(shù)實現(xiàn)對數(shù)據(jù)文件的監(jiān)控,Windows API函數(shù)集是一套用來控制Windows的各個部件的外觀和行為的一套預(yù)先定義的Windows函數(shù)。運用這些函數(shù)對數(shù)據(jù)文件進行實施的監(jiān)控,當(dāng)數(shù)據(jù)文件發(fā)生被創(chuàng)建、被修改、被刪除等操作的事件時,函數(shù)都會對事件有相應(yīng)的反應(yīng),產(chǎn)生文件變化信息,并發(fā)送給終端以提醒終端對變化的數(shù)據(jù)文件及時進行處理。步驟S102、所述終端判斷在數(shù)據(jù)字典表中是否有與所述第一觸發(fā)消息相同的觸發(fā)消息,若是,進入步驟sl03;若否,進入步驟sl04.步驟S103,刪除所述第一觸發(fā)消息;步驟S104,將所述第一觸發(fā)消息保存到所述數(shù)據(jù)字典表中,同時啟用時鐘,用于設(shè)定延遲時間t ;其中,數(shù)據(jù)字典是指對數(shù)據(jù)的數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯、夕卜部實體等進行定義和描述,其目的是對數(shù)據(jù)流程圖中的各個元素做出詳細的說明。數(shù)據(jù)字典是一種用戶可以訪問的記錄數(shù)據(jù)庫和應(yīng)用程序源數(shù)據(jù)的目錄。主動數(shù)據(jù)字典是指在對數(shù)據(jù)庫或應(yīng)用程序結(jié)構(gòu)進行修改時,其內(nèi)容可以由DBMS自動更新的數(shù)據(jù)字典。被動數(shù)據(jù)字典是指修改時必須手工更新其內(nèi)容的數(shù)據(jù)字典。數(shù)據(jù)字典是對一組數(shù)據(jù)做出解釋的數(shù)據(jù)表,數(shù)據(jù)字典表是對數(shù)據(jù)表中的數(shù)據(jù)做出解釋的數(shù)據(jù)表。數(shù)據(jù)字典中存儲一個文件變化產(chǎn)生的觸發(fā)消息,數(shù)據(jù)字典表中存儲著多個文件的數(shù)據(jù)發(fā)生變化時產(chǎn)生的觸發(fā)消息。本發(fā)明實施例中具體應(yīng)用的是上述的主動數(shù)據(jù)字典,也就是當(dāng)數(shù)據(jù)文件有變化時會將觸發(fā)消息自動保存至數(shù)據(jù)字典表中。所述終端接收到數(shù)據(jù)文件變化時產(chǎn)生的第一觸發(fā)消息,將其與數(shù)據(jù)字典表中的觸發(fā)消息進行比較,如果所述第一觸發(fā)消息與數(shù)據(jù)字典表中的觸發(fā)消息相同,也就是數(shù)據(jù)字典表中已經(jīng)存有該數(shù)據(jù)文件的觸發(fā)消息,那么剛接收到的所述第一觸發(fā)消息對處理數(shù)據(jù)是無用的,直接將其刪除;如果所述第一觸發(fā)消息與數(shù)據(jù)字典表中的觸發(fā)消息不相同,也就是數(shù)據(jù)字典表中沒有該數(shù)據(jù)文件的觸發(fā)消息,那么剛接收到的所述第一觸發(fā)消息對處理數(shù)據(jù)是有用的,將其保存至數(shù)據(jù)字典表中。由于在現(xiàn)有技術(shù)中,利用C++編寫程序在獲取文件變化信息時每次都連續(xù)獲取兩次相同的文件變化的觸發(fā)消息,所以如果接收到了第一觸發(fā)消息,在一個設(shè)定的延遲時間內(nèi)還會收到一次同樣的觸發(fā)消息,因此要將第一觸發(fā)消息保存至數(shù)據(jù)字典表后,設(shè)定延遲時間t,等待下一次同樣的觸發(fā)消息到來。
步驟S105、在所述延遲時間t內(nèi),所述終端接收控制系統(tǒng)發(fā)送的第二觸發(fā)消息;接收到了第一觸發(fā)消息,并將其保存至數(shù)據(jù)字典表中,在延遲時間t內(nèi)就還會收到所述第二觸發(fā)消息,并且所述第二觸發(fā)消息是與第一觸發(fā)消息相同的數(shù)據(jù)文件發(fā)生變化時控制系統(tǒng)發(fā)送的的觸發(fā)消息。步驟S106、所述終端判斷在所述數(shù)據(jù)字典表中是否有與所述第二觸發(fā)消息相同的觸發(fā)消息,若是,進入步驟sl07;若否,進入步驟sl08。步驟S107,刪除所述第二觸發(fā)消息;步驟S108,存儲所述第二觸發(fā)消息,其中,所述存儲所述第二觸發(fā)消息時不再啟用時鐘;所述終端將收到的第二觸發(fā)消息息與數(shù)據(jù)字典表中的觸發(fā)消息進行對比,由于數(shù)據(jù)字典表中已有與其相同的觸發(fā)消息,也就是所述第一觸發(fā)消息,所以所述終端收到的第二觸發(fā)消息對處理數(shù)據(jù)是無用的,直接將其刪除即可。步驟S109、所述終端根據(jù)所述數(shù)據(jù)字典表中的觸發(fā)消息向所述控制系統(tǒng)獲取最新的數(shù)據(jù);其中,所述數(shù)據(jù)字典表中的觸發(fā)消息具有唯一性,只可能是下面兩種情況之一當(dāng)所述第一觸發(fā)消息與所述數(shù)據(jù)字典表中的觸發(fā)消息相同時,原數(shù)據(jù)字典表中的觸發(fā)消息為所述數(shù)據(jù)字典表中的觸發(fā)消息;當(dāng)所述第一觸發(fā)消息與所述數(shù)據(jù)字典表中的觸發(fā)消息不相同時,第一觸發(fā)消息為所述數(shù)據(jù)字典表中的觸發(fā)消息。所述終端根據(jù)所述數(shù)據(jù)字典表中的觸發(fā)消息記錄的文件變化信息,獲取文件中的最新數(shù)據(jù)。本發(fā)明實現(xiàn)了以下有益效果通過終端接收控制系統(tǒng)發(fā)送的第一觸發(fā)消息;所述終端判斷在數(shù)據(jù)字典表中是否有與所述第一觸發(fā)消息相同的觸發(fā)消息,若是,刪除所述第一觸發(fā)消息;若否,將所述第一觸發(fā)消息保存到所述數(shù)據(jù)字典表中,同時啟用時鐘,用于設(shè)定延遲時間t ;在所述延遲時間t內(nèi),所述終端接收控制系統(tǒng)發(fā)送的第二觸發(fā)消息;所述終端判斷在所述數(shù)據(jù)字典表中是否有與所述第二觸發(fā)消息相同的觸發(fā)消息,若是,刪除所述第二觸發(fā)消息;所述終端根據(jù)所述數(shù)據(jù)字典表中的觸發(fā)消息向所述控制系統(tǒng)獲取最新的數(shù)據(jù),從而降低了內(nèi)存使用率,提高了數(shù)據(jù)處理的效率。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
權(quán)利要求
1.一種快速獲取數(shù)據(jù)的方法,其特征在于,包括以下步驟 終端接收控制系統(tǒng)發(fā)送的第一觸發(fā)消息; 所述終端判斷在數(shù)據(jù)字典表中是否有與所述第一觸發(fā)消息相同的觸發(fā)消息,若是,刪除所述第一觸發(fā)消息;若否,將所述第一觸發(fā)消息保存到所述數(shù)據(jù)字典表中,同時啟用時鐘,用于設(shè)定延遲時間t ; 在所述延遲時間t內(nèi),所述終端接收控制系統(tǒng)發(fā)送的第二觸發(fā)消息; 所述終端判斷在所述數(shù)據(jù)字典表中是否有與所述第二觸發(fā)消息相同的觸發(fā)消息,若是,刪除所述第二觸發(fā)消息,若否,存儲所述第二觸發(fā)消息,其中,所述存儲所述第二觸發(fā)消息時不再啟用時鐘; 所述終端根據(jù)所述數(shù)據(jù)字典表中的觸發(fā)消息向所述控制系統(tǒng)獲取最新的數(shù)據(jù)。
2.如權(quán)利要求I所述方法,其特征在于,所述第一觸發(fā)消息和所述第二觸發(fā)消息是指數(shù)據(jù)文件發(fā)生變化時,所述控制系統(tǒng)向所述終端發(fā)送的文件變化信息。
3.如權(quán)利要求I所述方法,其特征在于,所述數(shù)據(jù)字典表中的觸發(fā)消息具有唯一性包括 當(dāng)所述第一觸發(fā)消息與所述數(shù)據(jù)字典表中的觸發(fā)消息相同時,所述數(shù)據(jù)字典表中的觸發(fā)消息為所述數(shù)據(jù)字典表中的觸發(fā)消息; 當(dāng)所述第一觸發(fā)消息與所述數(shù)據(jù)字典表中的觸發(fā)消息不相同時,所述第一觸發(fā)消息為所述數(shù)據(jù)字典表中的觸發(fā)消息。
4.如權(quán)利要求I所述方法,其特征在于,所述終端根據(jù)所述數(shù)據(jù)字典表中的觸發(fā)消息向所述控制系統(tǒng)獲取最新的數(shù)據(jù)具體包括 所述終端根據(jù)所述數(shù)據(jù)字典表中的觸發(fā)消息記錄的文件變化信息,獲取文件中的最新數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種快速獲取數(shù)據(jù)的方法,通過終端接收控制系統(tǒng)發(fā)送的第一觸發(fā)消息;判斷在數(shù)據(jù)字典表中是否有與所述第一觸發(fā)消息相同的觸發(fā)消息,若是,刪除所述第一觸發(fā)消息;若否,將所述第一觸發(fā)消息保存到所述數(shù)據(jù)字典表中,同時啟用時鐘,用于設(shè)定延遲時間t;在所述延遲時間t內(nèi),所述終端接收控制系統(tǒng)發(fā)送的第二觸發(fā)消息;所述終端判斷在所述數(shù)據(jù)字典表中是否有與所述第二觸發(fā)消息相同的觸發(fā)消息,若是,刪除所述第二觸發(fā)消息;所述終端根據(jù)所述數(shù)據(jù)字典表中的觸發(fā)消息向所述控制系統(tǒng)獲取最新的數(shù)據(jù),從而降低了內(nèi)存使用率,提高了數(shù)據(jù)處理的效率。
文檔編號G06F17/30GK102799608SQ201210177270
公開日2012年11月28日 申請日期2012年5月31日 優(yōu)先權(quán)日2012年5月31日
發(fā)明者王征, 趙海軍 申請人:新奧特(北京)視頻技術(shù)有限公司