新四季網

一種提高海量數據操作效率的方法及裝置的製作方法

2023-04-23 10:21:31

專利名稱:一種提高海量數據操作效率的方法及裝置的製作方法
技術領域:
本發明涉及數據處理技術,尤其涉及一種提高海量數據操作效率的方法及裝置。
背景技術:
隨著計算機信息化的越來越普及,很多領域的軟體系統後臺往往會維持一個龐大 的資料庫,資料庫表中的記錄通常也會達到數百萬條甚至更多。軟體系統在對這些海量數 據庫表進行操作時,將不可避免地消耗更多的操作時間,該操作時間也會反映在前臺的操 作界面延遲上,這會給用戶帶來非常糟糕的用戶體驗。例如,電信行業的用戶通常以億為單 位,因此電信行業的帳單數據非常龐大,當用戶通過帳單系統查詢某段時間內的消費情況 時,如果查詢操作時間耗時超過10秒或者更多,則用戶肯定非常惱火。 為了解決上述問題,提高海量數據的查詢效率,通常會對需要頻繁查詢的海量數 據庫表建立索引,查詢語句再基於該索引進行查詢優化。這種方法的確能大大提高查詢效 率,但是也帶來了副作用在向這類建立索引後的海量資料庫表中插入數據時,需要同時修 改索引,而修改索引給插入操作帶來的額外負荷也是不可低估的,因此插入速度會比較慢。 這種方法在優化查詢操作的同時卻忽略了界面中的插入操作,因而這種優化並不完美;並 且,如果軟體系統中插入操作的頻率不比查詢操作低的話,這種不足就更顯而易見了 。

發明內容
有鑑於此,本發明的主要目的在於提供一種提高海量數據操作效率的方法及裝 置,能夠提高海量數據的插入效率。 為達到上述目的,本發明的技術方案是這樣實現的
—種提高海量數據操作效率的方法,包括 創建查詢資料庫表、控制資料庫表、以及與所述查詢資料庫表結構一致的插入數 據庫表; 向所述插入資料庫表中插入數據,插入完成後,在所述控制資料庫表中記錄所述 插入資料庫表的狀態為同步就緒; 同步進程檢查所述控制資料庫表中的記錄,當發現存在同步就緒的插入資料庫表 的記錄時,將同步就緒的所述插入資料庫表中的所有數據同步更新到所述查詢資料庫表 中。 其中,所述方法進一步包括 同步更新完成後,在所述控制資料庫表中將所述插入資料庫表的狀態更改為同步 完成; 清理進程檢查所述控制資料庫表中的記錄,當發現存在同步完成的插入資料庫表 的記錄時,刪除同步完成的所述插入資料庫表中的所有數據,並將所述控制資料庫表中該 條記錄重新初始化,標記為狀態可用。 其中,創建所述查詢資料庫表時還建立所述查詢資料庫表的索引,並且,所述方法
4進一步包括 同步更新完成後,重建所述查詢資料庫表的索引。 其中,所述插入數據採用定時插入方式。 其中,所述同步進程定時檢查所述控制資料庫表中的記錄。 其中,所述清理進程定時檢查所述控制資料庫表中的記錄。 其中,所述清理進程的定時啟動時間比同步進程的定時啟動時間長。 —種提高海量數據操作效率的裝置,包括創建模塊、插入模塊、狀態標記模塊及
同步模塊;其中, 創建模塊,用於創建查詢資料庫表、控制資料庫表、以及與所述查詢資料庫表結構 一致的插入資料庫表; 插入模塊,用於向所述插入資料庫表中插入數據; 狀態標記模塊,用於插入模塊完成插入後,在所述控制資料庫表中記錄所述插入 資料庫表的狀態為同步就緒; 同步模塊,用於檢查所述控制資料庫表中的記錄,當發現存在同步就緒的插入數 據庫表的記錄時,將同步就緒的所述插入資料庫表中的所有數據同步更新到所述查詢數據 庫表中。 其中,所述狀態標記模塊,進一步用於在同步模塊完成同步更新後,在所述控制數 據庫表中將所述插入資料庫表的狀態更改為同步完成; 所述裝置進一步包括清理模塊,用於檢查所述控制資料庫表中的記錄,當發現存 在同步完成的插入資料庫表的記錄時,刪除同步完成的所述插入資料庫表中的所有數據, 並將所述控制資料庫表中該條記錄重新初始化,標記為狀態可用。 其中,所述創建模塊,進一步用於在創建所述查詢資料庫表時還建立所述查詢數 據庫表的索引,並且,所述裝置進一步包括索引重建模塊,用於在同步模塊完成同步更新 後,重建所述查詢資料庫表的索引。 由以上技術方案可以看出,本發明根據存取分離技術,創建兩套資料庫表, 一套用 於插入數據,稱為插入資料庫表;另一套用於查詢數據,稱為查詢資料庫表。其中,對插入數 據庫表不建立索引,因此在插入數據時無需同時修改索引,從而提高插入效率。


圖1為本發明對數據表進行操作的交互圖; 圖2為本發明資料庫應用軟體系統向資料庫中插入數據和查詢數據的示意圖;
圖3為本發明應用實例的示意圖; 圖4為本發明資料庫中插入查詢操作以及同步進程交互的時序圖;
圖5為本發明提高海量數據操作效率的裝置的結構示意圖。
具體實施例方式
本發明的基本思想是在現有為海量資料庫表建立索引提高查詢效率的基礎上, 引入存取分離的新技術,進一步對插入操作進行優化。存取分離是指存放數據即插入數據 和讀取數據即查詢數據分別放在不同的資料庫表中;這裡,將存儲插入數據的資料庫表稱為插入資料庫表,也可稱為存放資料庫表;將存儲查詢數據的資料庫表稱為查詢資料庫表, 也可以稱為讀取資料庫表;對查詢資料庫表建立索引,進行查詢優化,而對插入資料庫表不 建立索引,不影響插入資料庫的插入操作;並且,再啟動一個後臺同步進程,定時將插入數 據庫中新錄入的數據同步更新到查詢資料庫表中。 為了描述簡潔,下文將插入資料庫表標識為表S,查詢資料庫表標識為表R,另外, 將下文涉及到的控制資料庫表標識為表C。 如圖1所示,本發明提高海量數據操作效率的方法包括以下步驟
步驟101,創建表R、表C、以及與表R結構一致的表S。 其中,因為表R是用於查詢的,所以在創建表R時,還包括為表R建立索引,以優化 查詢操作。此為現有技術,在此不再贅述。 創建表S是為了將需要插入到表R的數據先存儲在表S中,而不直接存儲到表R 中;另外,表S是根據表R的結構創建的,以使表S的結構與表R的結構保持一致,從而使表 S中的數據能更新到表R中。 這裡,表S僅用於插入數據,並且為了提高數據的插入效率,對表S不建立索引。另 外,還可以定時向表S中插入數據,並控制表S中的數據總量,這樣也可以提高數據的插入 效率。 步驟102,向表S中插入數據。 步驟103,插入完成後,在表C中記錄表S的狀態為同步就緒。 步驟104,檢查表C中的記錄,當發現存在同步就緒的表S的記錄時,將表S中的所 有數據同步更新到表R中。 該步驟104是由後臺運行的同步進程執行的,並且根據實際情況,同步進程可以 定時檢查表C中的記錄。 另外,在將表S中的所有數據同步更新到表R的同時,資料庫自動更新表R的索 引。 數據同步更新到表R後,由於已經存在表R的索引,所以用戶在查詢表R時,查詢 效率會比較快。 由於數據的同步更新操作會使建立的索引效率下降,因此,為了最大限度地提高 索引效率,同步更新完成後,可以定時在用戶使用少的時間點,對已不再插入數據的表R重 建索引。重建索引後,可以提高後續查詢操作的效率。其中,該重建索引的操作可以是由同 步進程執行的。 步驟105,同步更新完成後,在表C中將表S的狀態更改為同步完成。 步驟106,檢查表C中的記錄,當發現存在同步完成的表S的記錄時,刪除表S中的
所有數據,並將表C中該條記錄重新初始化,標記為狀態可用,從而為下一次插入數據做準備。 該步驟106是由後臺運行的清理進程執行的,並且根據實際情況,清理進程可以 定時檢查表C中的記錄。 通常,清理進程的定時啟動時間需要比同步進程的定時啟動時間長,例如,如果同 步進程的定時啟動時間為10分鐘,則清理進程的定時啟動時間可以為24小時。 另外。清理進程可以集成在同步進程中,即由同步進程來完成同步和清理操作。
由以上流程可以發現,在對海量資料庫表進行操作時,上述方法可以同時提高查 詢效率和插入效率。當然,該方法也存在些許不足,插入的數據需要間隔一段時間才能被查 詢到,該間隔時間即是同步進程的定時啟動時間。因此,實際應用此方案時,可以根據需求, 權衡利弊,調整同步進程的定時啟動時間,以使系統狀態最優化。例如,用戶通過電信行業 的帳單系統查詢帳單時,該帳單通常都是歷史帳單,用戶對當日或當時產生的實時帳單並
不感興趣,因此,可以將同步進程的定時啟動時間設置為io分鐘或者更長一些,這樣即提 高了查詢效率和插入效率,也不會對系統使用產生不良影響。 如圖2所示,資料庫應用軟體系統在操作資料庫時,插入操作在表S中進行,查詢 操作在表R中進行;其中,表R建立有索引,用以優化查詢操作。 圖3示出了本發明的一個應用實例,其中,生產庫相當於表S,查詢庫相當於表R。
入庫接口機向生產庫中插入數據,即話單入庫;同步進程定時把生產庫的實際數據同步更
新到查詢庫中;話單查詢系統對已建立索引的查詢庫進行查詢操作,即話單查詢,並將查詢
結果展現給用戶。另外,在實際應用中,查詢庫還執行統計等操作。 如圖4所示,本發明資料庫中插入查詢操作以及同步進程交互的時序為 步驟401,資料庫應用軟體系統創建表R、表C,並根據表的R結構創建S。其中,表
R建立有索引。 步驟402,向表S中插入數據。 步驟403,插入完成後,在表C中記錄表S的狀態為同步就緒。
步驟404,同步進程定時啟動,啟動後檢查表C中是否存在同步就緒的表S的記錄。
步驟405,當存在同步就緒的表S的記錄時,表C向同步進程返回同步就緒的表S 的表名;否則,結束當前處理流程。 步驟406,同步進程根據獲得的表S的表名,在資料庫中查找到表S,並將表S中的
所有數據同步更新到表R中。在進行同步更新時,資料庫自動更新表R的索引。 步驟407,同步更新完成後,在表C中將表S的狀態更改為同步完成。 步驟408,資料庫應用軟體系統需要查詢表R中的數據時,根據表R當前的索引進
行查詢。 上文已提到,在創建表R時已對其建立了索引,在數據同步更新到查詢資料庫表 後,由於已經存在查詢資料庫表的索引,所以用戶在查詢查詢資料庫表時,查詢效率會比較 快。 為實現上述方法,本發明相應提供一種提高海量數據操作效率的裝置,如圖5所 示,該裝置包括創建模塊10、插入模塊20、狀態標記模塊30及同步模塊40 ;其中,
創建模塊10,用於創建查詢資料庫表、控制資料庫表、以及與所述查詢資料庫表結 構一致的插入資料庫表; 插入模塊20,用於向所述插入資料庫表中插入數據; 狀態標記模塊30,用於插入模塊20完成插入後,在所述控制資料庫表中記錄所述 插入資料庫表的狀態為同步就緒; 同步模塊40,用於檢查所述控制資料庫表中的記錄,當發現存在同步就緒的插入 資料庫表的記錄時,將同步就緒的所述插入資料庫表中的所有數據同步更新到所述查詢數 據庫表中。
其中,所述狀態標記模塊30,進一步用於在同步模塊40完成同步更新後,在所述 控制資料庫表中將所述插入資料庫表的狀態更改為同步完成; 所述裝置進一步包括清理模塊,用於檢查所述控制資料庫表中的記錄,當發現存 在同步完成的插入資料庫表的記錄時,刪除同步完成的所述插入資料庫表中的所有數據, 並將控制資料庫表中該條記錄重新初始化,標記為狀態可用。 其中,所述創建模塊IO,進一步用於在創建所述查詢資料庫表時還建立所述查詢 資料庫表的索引,並且,所述裝置進一步包括索引重建模塊,用於在同步模塊40完成同步 更新後,重建所述查詢資料庫表的索引。
另外,清理模塊可以集成在同步模塊40中。 以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。
8
權利要求
一種提高海量數據操作效率的方法,其特徵在於,包括創建查詢資料庫表、控制資料庫表、以及與所述查詢資料庫表結構一致的插入資料庫表;向所述插入資料庫表中插入數據,插入完成後,在所述控制資料庫表中記錄所述插入資料庫表的狀態為同步就緒;同步進程檢查所述控制資料庫表中的記錄,當發現存在同步就緒的插入資料庫表的記錄時,將同步就緒的所述插入資料庫表中的所有數據同步更新到所述查詢資料庫表中。
2. 根據權利要求1所述的提高海量數據操作效率的方法,其特徵在於,所述方法進一步包括同步更新完成後,在所述控制資料庫表中將所述插入資料庫表的狀態更改為同步完成;清理進程檢查所述控制資料庫表中的記錄,當發現存在同步完成的插入資料庫表的記錄時,刪除同步完成的所述插入資料庫表中的所有數據,並將所述控制資料庫表中該條記錄重新初始化,標記為狀態可用。
3. 根據權利要求1或2所述的提高海量數據操作效率的方法,其特徵在於,創建所述查詢資料庫表時還建立所述查詢資料庫表的索引,並且,所述方法進一步包括同步更新完成後,重建所述查詢資料庫表的索引。
4. 根據權利要求1或2所述的提高海量數據操作效率的方法,其特徵在於,所述插入數據採用定時插入方式。
5. 根據權利要求2所述的提高海量數據操作效率的方法,其特徵在於,所述同步進程定時檢查所述控制資料庫表中的記錄。
6. 根據權利要求5所述的提高海量數據操作效率的方法,其特徵在於,所述清理進程定時檢查所述控制資料庫表中的記錄。
7. 根據權利要求6所述的提高海量數據操作效率的方法,其特徵在於,所述清理進程的定時啟動時間比同步進程的定時啟動時間長。
8. —種提高海量數據操作效率的裝置,其特徵在於,所述裝置包括創建模塊、插入模塊、狀態標記模塊及同步模塊;其中,創建模塊,用於創建查詢資料庫表、控制資料庫表、以及與所述查詢資料庫表結構一致的插入資料庫表;插入模塊,用於向所述插入資料庫表中插入數據;狀態標記模塊,用於插入模塊完成插入後,在所述控制資料庫表中記錄所述插入資料庫表的狀態為同步就緒;同步模塊,用於檢查所述控制資料庫表中的記錄,當發現存在同步就緒的插入資料庫表的記錄時,將同步就緒的所述插入資料庫表中的所有數據同步更新到所述查詢資料庫表中。
9. 根據權利要求8所述的提高海量數據操作效率的裝置,其特徵在於,所述狀態標記模塊,進一步用於在同步模塊完成同步更新後,在所述控制資料庫表中將所述插入資料庫表的狀態更改為同步完成;所述裝置進一步包括清理模塊,用於檢查所述控制資料庫表中的記錄,當發現存在同步完成的插入資料庫表的記錄時,刪除同步完成的所述插入資料庫表中的所有數據,並將 所述控制資料庫表中該條記錄重新初始化,標記為狀態可用。
10.根據權利要求8或9所述的提高海量數據操作效率的裝置,其特徵在於,所述創建 模塊,進一步用於在創建所述查詢資料庫表時還建立所述查詢資料庫表的索引,並且,所述 裝置進一步包括索引重建模塊,用於在同步模塊完成同步更新後,重建所述查詢資料庫表 的索引。
全文摘要
本發明公開了一種提高海量數據操作效率的方法,包括創建查詢資料庫表、控制資料庫表、以及與所述查詢資料庫表結構一致的插入資料庫表;向所述插入資料庫表中插入數據,插入完成後,在所述控制資料庫表中記錄所述插入資料庫表的狀態為同步就緒;同步進程檢查所述控制資料庫表中的記錄,當發現存在同步就緒的插入資料庫表的記錄時,將同步就緒的所述插入資料庫表中的所有數據同步更新到所述查詢資料庫表中。本發明另公開了一種提高海量數據操作效率的裝置。採用本發明能夠提高海量數據的插入效率。
文檔編號G06F17/30GK101702174SQ200910222550
公開日2010年5月5日 申請日期2009年11月13日 優先權日2009年11月13日
發明者張良發, 李林松 申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀