中文字幕无码日韩视频无码三区

保存歷史數據的方法及裝置的制作方法

文(wen)檔(dang)序號:7975406閱(yue)讀(du):145來源:國知局
專利名稱:保存歷史數據的方法及裝置的制作方法
技術領域
本發明涉及數據保存的方法和裝置,特別涉及網管歷史數據保存的方法和裝置。
背景技術
在現有的很多管理系統中,需要實時地對系統數據進行備份,經常出現因為備份產生的 歷史數據占用空間過大的情況。例如對于一個DWDM(密集波分復用)系統,網元的每塊單板每 隔15分鐘就將一次15分鐘的歷史性能的數據上報到網管,即使按照工程最低要求,數據庫 中保留3個月的歷史性能數據,在將32波全都配置和100個網元的情況下,歷史性能的數據 所占的空間也有8G左右。以傳輸網管的15分鐘歷史性能的數據為例,網元每隔15分鐘就定 時上報一次歷史性能,當15分鐘歷史性能的數據達到8G并且具有索引時,-一次插入1萬條 數據大概需要1分鐘左右。如果在這i分鐘內用戶還同時進行歷史數據査詢,而此時歷史性 能的數據表因為正處于數據插入的過程而被鎖定,所以用戶査詢歷史數據將失敗。
這樣由于數據庫表為了査詢效率而添加了索引,所以數據庫表過大后的數據插入操作需 要在索引中尋址,這將耗費更多的時間,在歷史數據入庫時可能因為表被鎖定的時間過長而 引起用戶在網管界面上的査詢歷史數據的失敗,降低了管理系統的可用性,而這種情況在現 在的網管系統中非常常見。造成這些缺陷的根本原因是現有的歷史數據都只保存在-一個數據 表中,且對這僅有的數據表沒有較好的進行數據管理。

發明內容
為克服上述缺陷,本發明的目的在于提供一種減少在索引中尋址所耗費的時間,以及減 少數據鎖定時間的保存歷史數據的方法及裝置。
為達到上述發明目的,本發明采用如下技術方案該保存歷史數據的方法包括:
(1) 設置本表的數據量上限;
(2) 利用本表的數據量上限管理本表和轉儲表中的數據。
其中,所述的本表為原有保存歷史數據的表;所述的轉儲表為新增的保存歷史數據的表。
其中,所述的步驟(2)具體為判斷本表中的歷史數據是否超出數據量上限,若本表中 的歷史數據超出數據量上限,則將本表中超出數據量上限部分的歷史數據插入到轉儲表,并 從本表中刪除。
其中步驟(2)在系統中的實現方式是將所述步驟(2)的操作加入到數據庫的定期任 務列表中,并由定期任務列表在系統空閑時定時執行。
應用該方法保存歷史數據后,用戶通過本表的數據査詢接口和轉儲表的數據查詢接口分 別在本表和轉儲表中査詢歷史數據;將本表中和轉儲表中符合査詢結果的歷史數據合并上報 給用戶。
該方法所應用的硬件需要在原有的基礎上進行改進,改進后的保存歷史數據的裝置,包 括設有新增數據接口和數據査詢接口的本表,還包括一轉儲表,該轉儲表上設有數據査詢接 口,用于在轉儲表中査詢歷史數據;該轉儲表和本表之間設有數據轉移接口,用于將本表中 的歷史數據轉移到轉儲表。
由上述技術方案所描述的方法,由于給歷史數據的日常插入數據的本表的數據量設定了 數據量上限,使得本表中的數據量維持在一個較低的水平,可以有效的解決往本表中插入數 據造成的表鎖定時間過長的問題,而耗時的大數據量表的插入操作,也就是歷史數據由本表 轉移到轉儲表的操作,都是定時進行的,可以集中移到網管空閑的時刻,所以用戶在網管系 統上査詢歷史數據就不會因為數據表被鎖定過長時間而無法査詢,大大的降低了失敗的概率, 增加了網管系統的可用性,并且該網管系統所用的硬件中設有2個數據表,且兩個數據表都 有査詢接口,保證了2個數據表能夠同時進行數據査詢,保證了數據查詢的速度。


圖1為本發明保存歷史數據的方法的流程圖2為本發明保存歷史數據的裝置中本表和轉儲表的示意圖。
具體實施例方式
下面結合附圖對本發明保存歷史數據的方法及裝置進行詳細描述。
為了解決現有技術中網管歷史數據表過大,引起表插入數據鎖定時間過長,并影響用戶 正常査詢歷史數據的問題。本發明保存歷史數據的方法及裝置提出了一種使用兩個數據表保 存歷史數據的方法及裝置。
本發明保存歷史數據的方法的原理是當本表中的歷史數據超過一定數據量時,就將本表 中的歷史數據轉移到轉儲表中,其方法流程敘述如下
歩驟一、為原有保存歷史數據的本表設置一個數據量上限,以控制本表中的數據量大小,該數據量上限的值可以通過系統指定;
歩驟二、將新增的歷史數據全部插入到本表;
步驟三、判斷本表中的歷史數據的數據量是否超過數據量上限,如果超過數據量上限, 則把超出的部分的歷史數據插入到轉儲表中,并從本表中刪除。
為了將上述的方法流程應用到實踐中,我們以網管系統的歷史數據的保存為具體實施例, 應用上述的方法保存歷史數據。
首先需要為網管系統中現有保存歷史數據的本表新增一個轉儲表,用來共同保存歷史數 據。在該網管系統中,原來15分鐘的歷史性能數據使用名稱為"pm—curl5p"的一個表來保 存,改進后需要增加額外的一個轉儲表"pm—curl5p—store",即使用兩個表來共同保存。增 加的轉儲表是使用SQL (Structured Query Language,結構化査詢語言)語句"CREATE TABLE" 創建的,新加的轉儲表除表名稱與本表不一樣外,其他如表字段,表索引都與本表相同。
如圖1所示,在增加轉儲表之后還需要如下歩驟
101、 為原有保存歷史數據的本表設置一個數據量上限,以控制本表中的數據量大小,在 該網管系統中,就需要給本表中的數據量設定一個上限,我們將本表"pm一curl5p"的數據量 上限設為100萬條。
102、 使用本表保存新增的歷史數據。由于只有本表有新增歷史數據的Q接口,即不能把 新增的歷史數據插入到轉儲表中。所以當使用本表"pm—cnrl5p"和轉儲表"pm—CUri.5p_store" 共同保留歷史15分鐘性能數據時,每次網元的定時上報的歷史性能數據都只插入到本表
"pra一curl5p"中。新增的歷史數據一般是使用SQL語句"INSERT"來逐條插入到本表中。
103、 在網管空閑的時候,比如深夜1點,定期檢查一次本表中的數據是否超過了數據量 上限,如果超過了數據量上限,執行步驟104;如果沒有超過數據量上限,流程結束。在該 網管系統中,每到深夜1點則需要檢査一次本表的歷史數據的數據量,判斷該數據量是否超 過數據量上限。其中,可以通過SQL語句"SELECT C0UNT(*)"來獲得本表中的記錄數目,然 后將記錄數目和每條記錄的平均字節數相乘來估計數據量;定期操作的方法可以通過把操作 相關的SQL語句加入到數據庫的定期任務列表中來實現,這樣可省去定時器,節約系統資源。
104、 將本表中超出的部分插入到轉儲表,并從本表中刪除。本表中的歷史數據可以通過 與轉儲表間的數據轉移接口 X來實現數據的轉儲。如果超過了 IOO萬條則需要把最舊的一部 分歷史數據插入到轉儲表"pm—curl5p—store"中并從本表"pm—curl5p"中刪除,以保證本 表"pm—curl5p"的數據小于100萬條,把數據從本表中刪除一般通過SQL語句"DELETE"來
實現。如果制定上限是0條,則每次都把本表"pm—curl5p"的全部數據插入到轉儲表 "pm—curl5p—store"中后再清空本表"pm一curl5p",但是不建議使用0條的上限,因為如果在轉儲過程中網元有新的歷史性能的數據上報,這時新增的歷史性能的數據可能沒有被轉儲就直接被刪除了,造成數據的丟失。
由于現有保存歷史數據的裝置沒有轉儲表,所以就無法利用上述方法來保存歷史數據, 故本發明還配合上述方法設計了一個保存歷史數據的裝置。
如圖2所示,該保存歷史數據的裝置包括設有新增數據接口 Q (該接口是將新增歷史數 據寫入本表的接口)和數據査詢接口 Fl的本表11,該本表11就是現有技術中所使用的數據庫表,還包括一轉儲表22,該轉儲表22新增的數據庫表,并且具有與本表ll一樣的保存數 據的數據結構。該轉儲表22上設有數據査詢接口F2,用于在轉儲表22中査詢歷史數據;該 轉儲表22和本表11之間設有數據轉移接口 X,用于將本表11中的歷史數據轉移到轉儲表22。
圖2表示了共同使用本表11和轉儲表22來保存歷史數據的示例圖。轉儲表22—般是使 用SQL (Structured Query Language,結構化査詢語言)語句"CREATE TABLE"創建的,該轉儲表22除了表名稱與本表11不一樣外,其他字段,如索引,約束等都與本表11完全一致。
由于上述步驟中所使用的方法以及該方法所應用的裝置,使得網管歷史數據被保存在兩 給數據庫表中,當用戶需要查詢歷史數據時,就需要同時査詢本表和轉儲表中的內容并上報給用戶。而在圖2中所示,本表和轉儲表都具有供用戶査詢用的査詢接口 (F1和F2),即網管可以同時從本表和轉儲表査詢數據。該網管系統中,因為同時使用本表"pm—curl5p"和轉 儲表"pm—curl5p—store"共同保留15分鐘的歷史性能數據,所以用戶需要査詢的15分鐘的歷史性能的數據在兩個表中都存在,需要分別査詢兩個表中符合用戶要求的15分鐘歷史性能 的數據后,然后將結果合并上報給用戶。同時査詢本表和轉儲表中的內容的方法可以通過SQL 中的關鍵字"UNION"來合并從本表的査詢結果和從轉儲表的查詢結果。
由于上述方法給歷史數據的日常插入數據的本表"pm—curl5p"的數據量設定了上限,可以有效的解決往本表"pm一curl5p"中數據量過大,造成插入數據時表鎖定時間過長的問題, 當數據量上限是100萬條時,本表"pm_CUrl5p"中的數據量大概是50M,每次往本表 "pm—curl5p"插入1萬條數據只要不到1秒鐘的時間,同時把耗時較多的大量數據表的插 入操作,即本表"pm—curl5p"的數據轉儲到轉儲表"pm_curl5p—store"的操作集中移到深 夜1點網管系統空閑的時刻,所以用戶平時在網管上查詢歷史15分鐘性能數據失敗的概率大大的降低,增加了網管界面的可用性。
權利要求
1. 一種保存歷史數據的方法,其特征在于包括以下步驟(1)設置本表的數據量上限;(2)利用本表的數據量上限管理本表和轉儲表中的數據。
2、 按照權利要求1所述的保存歷史數據的方法,其特征在于所述的本表為原有保存歷 史數據的表;所述的轉儲表為新增的保存歷史數據的表。
3、 按照權利要求2所述的保存歷史數據的方法,其特征在于所述的歩驟(2)具體為 判斷本表中的歷史數據是否超出數據量上限,若本表中的歷史數據超出數據量上限,則將本表中超出數據量上限部分的歷史數據插入到轉儲表,并從本表中刪除。
4、 按照權利要求3所述的保存歷史數據的方法,其特征在于將所述步驟(2)的操作 加入到數據庫的定期任務列表中,并由定期任務列表在系統空閑時定時執行。
5、 按照權利要求3所述的保存歷史數據的方法,其特征在于用戶通過本表的數據査詢 接口和轉儲表的數據査詢接口分別在本表和轉儲表中査詢歷史數據;將本表中和轉儲表中符 合査詢結果的歷史數據合并上報給用戶。
6、 一種保存歷史數據的裝置,包括設有新增數據接口和數據査詢接口的本表,其特征在 于還包括一轉儲表,該轉儲表上設有數據查詢接口,用于在轉儲表中查詢歷史數據;該轉 儲表和本表之間設有數據轉移接口,用于將本表中的歷史數據轉移到轉儲表。
全文摘要
本發明公開了一種保存歷史數據的方法及裝置,涉及網管歷史數據的保存,為解決現有技術中歷史數據表過大,引起表插入數據鎖定時間過長,并影響用戶正常查詢歷史數據的問題而發明。該保存歷史數據的方法包括(1)設置本表的數據量上限;(2)判斷本表中的歷史數據是否超出數據量上限,若本表中的歷史數據超出數據量上限,則將本表中超出數據量上限部分的歷史數據插入到轉儲表,并從本表中刪除。本發明對應的裝置包括設有新增數據接口和數據查詢接口的本表,還包括一轉儲表,該轉儲表上設有數據查詢接口,該轉儲表和本表之間設有數據轉移接口。本發明主要應用于網管系統中保存歷史數據。
文檔編號H04L12/24GK101207513SQ20061017070
公開日2008年6月25日 申請日期2006年12月22日 優先權日2006年12月22日
發明者虎 袁 申請人:中興通訊股份有限公司
網友詢問(wen)留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1