專利名稱:一種數據間差異性的分析比較方法
技術領域:
本發明涉及數據存儲及管理領域,尤指一種隨時間發生變化的數據的差異性分析比較方法。
背景技術:
涉及數據存儲及管理的領域非常廣泛,今以數據量比較大的電信管理網系統為例。
在電信管理網(TMN)系統中,為了保證系統的正常、穩定、安全地運營,需要對配置、性能、故障、統計、安全等幾個功能模塊的數據進行管理。
為了保證系統的正常運營、或是出于對系統進行優化的目的,系統管理人員需要查看系統當前的最新數據,同時也需要查看歷史上某一時刻的數據。在很多情況下,系統管理人員會產生將當前數據和某一時刻的歷史數據(或是某兩個時刻的歷史數據之間)進行比較的需求。例如,希望查看自某一時刻以后配置數據所發生的變化,希望比較當年和前一年同一時期的統計(計費)數據,等等。
但是,目前的網管系統,或是只顯示最新數據,或是只能查詢某一時刻的歷史數據。這種現狀不僅給電信管理網的管理及操作人員對數據的分析、掌控上帶來了的很大不便,也給系統優化的具體實現增大了難度。
現有技術方案一在電信管理網(TMN)系統中,對于配置數據,較為常見的做法是僅顯示系統當前的最新數據。在某些系統中,可能還會提供定時備份數據的功能,如每日凌晨3點對所有配置數據進行一次備份,以便于系統故障時的緊急恢復。
上述方案的缺點是系統管理或操作人員只能查看某一時刻的數據,或是當前的最新數據,或是某一時刻的歷史數據。一方面,這給操作人員帶來不便,更重要的是,不利于對數據的分析,造成對運營數據正確性驗證上的很大難度。
例如,管理或操作人員經常產生類似這樣的需求查看自某一時刻以后配置數據所發生的變化,以驗證修改的正確性,或是用于發生故障之后的問題定位。顯然,對于這類需求,現有的技術方案一無法實現。
現有技術方案二在電信管理網(TMN)系統中,對于配置數據,少數網管系統實現了對不同時刻數據間差異性的比較。常見的實現方法是備份多個時刻的配置數據,當選擇對不同時刻數據比較時,顯示兩份數據之間的差異。
這種數據備份實現機制的缺點在于實現上的不靈活性和數據存儲量的巨大。首先,備份多個時刻的數據,其備份時間點是相對固定的,如每天凌晨3點,或每隔一個小時等;其次,不論數據是否做了改動,或者數據的改動量有多大,系統都將整份配置數據備份起來,最終造成了數據存儲量的巨大。
發明內容
本發明提供一種數據間差異性的分析比較方法,對由時間引起的數據間差異性進行直觀、靈活的比較和分析,且有效解決備份數據量大的問題。
本發明的數據間差異性的分析比較方法,包括下列步驟A)數據管理系統判斷數據源每條數據的類型是新增數據、刪除數據或修改數據;B)對不同類型的數據分別進行增量存儲,生成對應記錄,在每一記錄中設置時間戳和類型標志;C)根據步驟B)中各記錄的時間戳,對任意兩個指定時刻間的新增數據、刪除數據和/或修改數據進行分析比較。
所述步驟A)包括對于實時數據更新系統數據源會將數據更新的類型以及更新內容通過其更新上報接口/廣播上報給數據管理系統,數據管理系統根據該上報內容可獲取數據類型信息;對于非實時數據更新系統數據管理系統將其數據庫中的現有數據與數據源最新數據進行比較,根據數據唯一性標識來確定數據源每條數據的類型。
所述根據數據唯一性標識來確定數據源每條數據的類型,包括A1)當數據源中存在唯一性標識為A、而數據管理系統數據庫中無唯一性標識為A的數據或與當前時間最接近的唯一性標識為A的數據類型為刪除時,當前獲取的數據源數據類型為新增數據;A2)當數據管理系統數據庫中存在唯一性標識為A的數據、且與當前時間最接近的唯一性標識為A的數據類型為修改或新增時,而數據源中不存在唯一性標識為A的數據時,數據管理系統中該條數據類型為刪除數據;A3)當數據源中存在唯一性標識為A的數據,數據管理系統數據庫中也存在唯一性標識為A的數據、且與當前時間最接近的唯一性標識為A的數據類型為修改或新增時,則比較兩數據除唯一性標識之外的其他數據內容,如果數據源中數據內容與數據管理系統中的數據內容一致,該條數據無需處理,否則當前獲取的數據源數據類型為修改數據。
所述步驟B)包括如果是新增數據,則執行下列步驟B1)給每一個需要進行比較的最小單元數據源分配一個唯一標識符;B2)給每一個需要進行比較的最小單元數據源新增一條記錄,該記錄包括下列字段該條新增數據的數據唯一標識、數據內容、上一步驟中分配的唯一標識符、數據到達時刻的時間戳和新增標志;如果是刪除數據,則執行下列步驟B3)根據被刪除數據的數據唯一性標識,在數據管理系統數據庫中查找出與該唯一性標識相同的前一記錄,得到每個最小單元數據源被分配的唯一標識符;B4)給每一個需要進行比較的最小單元數據源新增一條記錄,該記錄包括下列字段該條被刪除數據的數據唯一標識、數據內容、上一步驟中查找到的唯一標識符、數據刪除時刻的時間戳和刪除標志;如果是修改數據,則執行下列步驟B5)根據被修改數據的數據唯一性標識,在數據管理系統數據庫中查找出與該唯一性標識相同的前一記錄,得到每個最小單元數據源被分配的唯一標識符;B6)給每一個需要進行比較的最小單元數據源新增一條記錄,該記錄包括下列字段該條被修改數據的數據唯一標識、數據內容、上一步驟中查找到的唯一標識符、數據修改時刻的時間戳和修改標志。
所述最小單元數據源是在對數據管理系統存儲方案、數據模型進行設計時確定。
所述步驟C)包括當需要比較時刻A與時刻B的新增數據時,執行下列步驟C1)查找出數據管理系統數據庫中所有時間戳范圍為大于時刻A小于等于時刻B的記錄;C2)對分配有相同唯一標識符的記錄分組;在同一組中,如果時間最小的記錄的標志位為新增標志且時間最大的記錄標志位不為刪除標志,則該組的記錄為新增數據,顯示時間為最大的記錄的數據內容;當需要比較時刻A與時刻B的刪除數據時,執行下列步驟C3)查找出數據管理系統數據庫中所有時間戳范圍為大于時刻A小于等于時刻B的記錄;C4)對分配有相同唯一標識符的記錄分組;在同一組中,如果時間最小的記錄的標志位不為新增標志且時間最大的記錄標志位為刪除標志,則該組的記錄為刪除數據,顯示時間為最大的記錄的數據內容;當需要比較時刻A與時刻B的修改數據時,執行下列步驟C5)查找出數據管理系統數據庫中所有時間戳范圍為大于時刻A小于等于時刻B的記錄;C6)對分配有相同唯一標識符的記錄分組;在同一組中,如果時間最小的記錄的標志位不為新增標志且時間最大的記錄標志位不為刪除標志,則該組的記錄為修改數據,將被作為修改數據顯示。
對于修改數據,可顯示和比較修改前后數據;所述修改前的數據為數據庫中具體相同唯一標識符且時間小于等于且最接近A時刻的記錄;所述修改后的數據為同一組中時間最大的記錄的數據。
對于修改數據,可以對指定數據內容進行過濾,按照需要顯示和比較某類數據的修改前后內容。
本發明方法能夠對當前數據及某一時刻歷史數據進行比較、分析;對指定的兩個時刻間的歷史數據進行比較、分析;采用增量存儲的方法對數據進行保存,解決了現有技術中的數據備份實現機制對備份、比較時間點選擇上的不靈活性以及數據存儲量巨大的問題,從而為系統管理者提供了一種對數據正確性進行驗證、對數據間差異性進行分析比較、系統優化參考等方面的方法和手段。
圖1為本發明方法實施的網絡環境示意圖。
具體實施例方式
本發明針對目前在電信管理網(TMN)系統中,對由時間引起的數據間差異性不能直接、直觀、靈活地進行比較分析的現狀,提出一種采用增量存儲的方法對數據進行保存,并進一步對數據間差異進行比較和分析的方法。
在介紹本發明的具體技術方案之前,對本發明實現的前提、環境作一些說明,參見圖11、本發明的發明目的是為了解決和改善電信管理網對數據間差異性處理的問題和現狀,但本發明不限于用于電信管理網系統中,即本發明不受具體數據管理系統的限制。為了描述的方便,今以網管中心為例對本發明方法加以具體說明。
2、對于需要分析的數據,需要預先就其存儲格式、數據間層級關系作出設計,可采用設計系統表、建立信息模型等方式。本發明不受數據的具體設計方式的限制。
3、對于原始數據的來源,數據源可能是電信管理網中的交換機、路由器等。本發明不受具體數據源的限制。
4、對于原始數據,數據源有保證唯一標識數據的手段,可能是幾個域相結合來唯一標識某個對象,如數據庫(或命令行)中的表格名稱(或命令行名稱)、記錄索引號、字段(屬性)名稱;也可能是通過單一的一串數字來唯一標識,如SNMP中的管理對象的客體標識符(Object Identifier)。本發明不受具體數據源管理數據方式的限制,不受數據對象具體標識方式的限制。
5、對于網管中心(或其他數據管理系統),數據存儲的方式可以是數據庫、也可以是文件,等等。本發明不受具體數據存儲方式的限制。為了描述的方便,今以數據庫存儲方式進行介紹。
6、本發明適用于實時數據更新系統、非實時數據更新系統。
本發明的具體實現步驟包括1、從數據源獲取原始數據,根據數據源提供的數據性唯一標識(下文將這個/組唯一標識稱為OriTag),判斷當前獲取數據的類型,可能的類型有新增數據、刪除數據、修改數據。
其中數據類型的判斷方法因數據源數據更新機制而異A)對于實時數據更新系統該數據源有數據更新上報接口/廣播,當數據有任何更新時,數據源會將數據更新的類型(新增、修改、刪除)以及更新內容上報給網管中心,這樣,網管中心直接就可以針對每次上報內容作相應的處理;B)對于非實時數據更新系統數據源本身不會主動上報數據更新的內容和更新類型,網管中心需要主動查詢當前數據源中的數據內容以保持兩者的數據同步。每次與數據源進行數據同步時,網管中心會將網管中心數據庫中現有數據與數據源最新數據進行比較,根據數據唯一標識OriTag來確定數據源每條數據的類型,具體方式為I、當數據源中存在唯一標識OriTag為A,而網管中心數據庫中無唯一標識OriTag為A的數據(或與當前時間最接近的唯一標識OriTag為A的數據類型為刪除)時,當前獲取的數據源數據類型為新增數據;II、當網管中心數據庫中存在唯一標識OriTag為A的數據、且與當前時間最接近的唯一標識OriTag為A的數據類型為修改或新增時,而數據源中不存在唯一標識OriTag為A的數據時,該條網管中心數據類型為刪除數據;III、當數據源中存在唯一標識OriTag為A,而網管中心數據庫中存在唯一標識OriTag為A的數據、且與當前時間最接近的唯一標識OriTag為A的數據類型為修改或新增時,比較除唯一標識OriTag之外的其他數據內容,如數據源中數據內容與網管中心數據內容一致,該條數據無需處理,否則當前獲取的數據源數據類型為修改數據。
2、對于每一條新增數據,給每一個需要進行比較的最小單元數據源分配一個唯一標識符(下文將這里分配的唯一標識符稱為ObjID)。最小單元數據源的含義是當該粒度的數據源中任何內容發生變化時,將作為數據間的差異。最小單元數據源應在對網管中心存儲方案、數據模型進行設計時確定。
例如,當采用表格、記錄、字段這樣的格式來建立信息模型時1)如果將表格作為最小單元數據源時,那么當某表格內任何記錄中的任何字段內容發生變化時,該表格的全部內容就作為差異被顯示和比較。
2)如果將記錄作為最小單元數據源時,那么當某張表格中某條記錄中的任何字段內容發生變化時,該記錄的全部內容就作為差異被顯示和比較。此時,該記錄所屬表格中其他沒有發生改變的記錄將不作為差異被顯示。
3)如果將字段作為最小單元數據源時,那么只有當某張表格中某條記錄中的某個字段的內容發生變化時,該字段內容就作為差異被顯示和比較。此時,該字段所屬記錄中其他沒有發生改變的字段將不作為差異被顯示;該字段所屬記錄所屬表格中其他沒有發生改變的記錄將不作為差異被顯示。
3、按照網管中心所設計的數據存儲模式,為每個單元數據源新增一條記錄,該記錄內容包括新增數據的OriTag、數據內容、分配的ObjID、新增數據到達網管中心的時間戳、以及新增標志。
4、對于刪除數據中的每個單元數據源,根據被刪除數據的OriTag,在網管中心數據庫中查找到與該OriTag一致的前一次記錄的ObjID。
5、按照網管中心所設計的數據存儲模式,為每個單元數據源新增一條記錄,該記錄內容包括被刪除數據的OriTag、數據內容、上一步查找到的ObjID、數據被刪除時刻的時間戳、以及被刪除標志。
6、對于修改數據中的每個單元數據源,根據被修改數據的OriTag,在網管中心數據庫中查找到與該OriTag一致的前一次記錄的ObjID。
7、按照網管中心所設計的數據存儲模式,為每個單元數據源新增一條記錄,該記錄內容包括被修改數據的OriTag、修改后的數據內容、上一步查找到的ObjID、數據被修改的時刻的時間戳、以及修改標志。
上面三處的時間戳都是指網管中心在對原始數據進行處理的時間,也就是程序運行當前的系統時間。
以上1-7步是當數據源發生數據改變時,網管中心對原始數據所做的處理和存儲。下面將介紹當網管中心客戶端發起數據比較分析請求時的實現步驟8、在網管中心客戶端發起比較時刻A和時刻B(時刻B大于時刻A,即相對于時刻B來說,時刻A為歷史時刻,如時刻A為2003年4月1日00:00,時刻B為2003年5月1日00:00)間(也可以是當前最新數據和某個歷史時刻之間的比較)的差異的請求。對于比較結果的顯示的處理可分為對新增數據、刪除數據、修改數據三種類型的處理,但客戶端可根據需要選擇數據比較后的顯示方式(僅顯示新增數據、僅顯示刪除數據、僅顯示修改數據前后比較結果、或任意組合的形式)。
9、對于新增數據的處理查找網管中心數據庫中所有時間戳范圍為(A,B]的記錄,即時刻A之后(不含時刻A)與時刻B(含時刻B)之前的記錄,對具有相同ObjID的記錄分組,在同一個ObjID組中,如果時間最小的記錄的標志位為新增標志且時間最大的記錄標志位不為刪除標志,則該ObjID的記錄為新增數據,將被作為新增數據顯示,該數據最終顯示內容是在該ObjID組中的時間最大記錄的數據內容。
10、對于刪除數據的處理查找網管中心數據庫中所有時間戳范圍為(A,B]的記錄,即時刻A之后(不含時刻A)與時刻B(含時刻B)之前的記錄。對具有相同ObjID的記錄分組,在同一個ObjID組中,如果時間最小的記錄的標志位不為新增標志且時間最大的記錄標志位為刪除標志,則該ObjID的記錄為刪除數據,將被作為刪除數據顯示,該數據最終顯示內容是在該ObjID組中的時間最大記錄的數據內容。
11、對于修改數據的處理查找網管中心數據庫中所有時間戳范圍為(A,B]的記錄,即時刻A之后(不含時刻A)與時刻B(含時刻B)之前的記錄。對具有相同ObjID的記錄分組,在同一個ObjID組中,如果時間最小的記錄的標志位不為新增標志且時間最大的記錄標志位不為刪除標志,則該ObjID的記錄為修改數據,將被作為修改數據顯示。對于修改數據,需要顯示和比較修改前后數據。該ObjID組中的時間最大記錄的數據內容顯示為修改后的數據內容。修改前數據內容的查找方法為查找數據庫中具體相同ObjID,時間小于等于且最接近A時刻的記錄。該記錄的數據顯示為修改前的數據內容,和修改后數據進行比較。
12、對于修改數據,可以對指定數據內容進行過濾,按照需要比較某類數據的修改前后內容。
以上所述,僅為本發明較佳的具體實施方式
,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求書的保護范圍為準。
權利要求
1.一種數據間差異性的分析比較方法,適用于隨時間變化的數據,該方法包括下列步驟A)數據管理系統判斷數據源每條數據的類型是新增數據、刪除數據或修改數據;B)對不同類型的數據分別進行增量存儲,生成對應記錄,在每一記錄中設置時間戳和類型標志;C)根據步驟B)中各記錄的時間戳,對任意兩個指定時刻間的新增數據、刪除數據和/或修改數據進行分析比較。
2.如權利要求1所述的數據間差異性的分析比較方法,其特征在于所述步驟A)包括對于實時數據更新系統數據源會將數據更新的類型以及更新內容通過其更新上報接口/廣播上報給數據管理系統,數據管理系統根據該上報內容可獲取數據類型信息;對于非實時數據更新系統數據管理系統將其數據庫中的現有數據與數據源最新數據進行比較,根據數據唯一性標識來確定數據源每條數據的類型。
3.如權利要求2所述的數據間差異性的分析比較方法,其特征在于所述根據數據唯一性標識來確定數據源每條數據的類型,包括A1)當數據源中存在唯一性標識為A、而數據管理系統數據庫中無唯一性標識為A的數據或與當前時間最接近的唯一性標識為A的數據類型為刪除時,當前獲取的數據源數據類型為新增數據;A2)當數據管理系統數據庫中存在唯一性標識為A的數據、且與當前時間最接近的唯一性標識為A的數據類型為修改或新增時,而數據源中不存在唯一性標識為A的數據時,數據管理系統中該條數據類型為刪除數據;A3)當數據源中存在唯一性標識為A的數據,數據管理系統數據庫中也存在唯一性標識為A的數據、且與當前時間最接近的唯一性標識為A的數據類型為修改或新增時,則比較兩數據除唯一性標識之外的其他數據內容,如果數據源中數據內容與數據管理系統中的數據內容一致,該條數據無需處理,否則當前獲取的數據源數據類型為修改數據。
4.如權利要求1所述的數據間差異性的分析比較方法,其特征在于所述步驟B)包括如果是新增數據,則執行下列步驟B1)給每一個需要進行比較的最小單元數據源分配一個唯一標識符;B2)給每一個需要進行比較的最小單元數據源新增一條記錄,該記錄包括下列字段該條新增數據的數據唯一標識、數據內容、上一步驟中分配的唯一標識符、數據到達時刻的時間戳和新增標志;如果是刪除數據,則執行下列步驟B3)根據被刪除數據的數據唯一性標識,在數據管理系統數據庫中查找出與該唯一性標識相同的前一記錄,得到每個最小單元數據源被分配的唯一標識符;B4)給每一個需要進行比較的最小單元數據源新增一條記錄,該記錄包括下列字段該條被刪除數據的數據唯一標識、數據內容、上一步驟中查找到的唯一標識符、數據刪除時刻的時間戳和刪除標志;如果是修改數據,則執行下列步驟B5)根據被修改數據的數據唯一性標識,在數據管理系統數據庫中查找出與該唯一性標識相同的前一記錄,得到每個最小單元數據源被分配的唯一標識符;B6)給每一個需要進行比較的最小單元數據源新增一條記錄,該記錄包括下列字段該條被修改數據的數據唯一標識、數據內容、上一步驟中查找到的唯一標識符、數據修改時刻的時間戳和修改標志。
5.如權利要求4所述的數據間差異性的分析比較方法,其特征在于所述最小單元數據源是在對數據管理系統存儲方案、數據模型進行設計時確定。
6.如權利要求1、2、3、4或5所述的數據間差異性的分析比較方法,其特征在于所述步驟C)包括當需要比較時刻A與時刻B的新增數據時,執行下列步驟C1)查找出數據管理系統數據庫中所有時間戳范圍為大于時刻A小于等于時刻B的記錄;C2)對分配有相同唯一標識符的記錄分組;在同一組中,如果時間最小的記錄的標志位為新增標志且時間最大的記錄標志位不為刪除標志,則該組的記錄為新增數據,顯示時間為最大的記錄的數據內容;當需要比較時刻A與時刻B的刪除數據時,執行下列步驟C3)查找出數據管理系統數據庫中所有時間戳范圍為大于時刻A小于等于時刻B的記錄;C4)對分配有相同唯一標識符的記錄分組;在同一組中,如果時間最小的記錄的標志位不為新增標志且時間最大的記錄標志位為刪除標志,則該組的記錄為刪除數據,顯示時間為最大的記錄的數據內容;當需要比較時刻A與時刻B的修改數據時,執行下列步驟C5)查找出數據管理系統數據庫中所有時間戳范圍為大于時刻A小于等于時刻B的記錄;C6)對分配有相同唯一標識符的記錄分組;在同一組中,如果時間最小的記錄的標志位不為新增標志且時間最大的記錄標志位不為刪除標志,則該組的記錄為修改數據,將被作為修改數據顯示。
7.如權利要求6所述的數據間差異性的分析比較方法,其特征在于對于修改數據,可顯示和比較修改前后數據;所述修改前的數據為數據庫中具體相同唯一標識符且時間小于等于且最接近A時刻的記錄;所述修改后的數據為同一組中時間最大的記錄的數據。
8.如權利要求7所述的數據間差異性的分析比較方法,其特征在于對于修改數據,可以對指定數據內容進行過濾,按照需要顯示和比較某類數據的修改前后內容。
全文摘要
本發明有關一種數據間差異性的分析比較方法,適用于隨時間變化的數據,該方法包括步驟A)數據管理系統判斷數據源每條數據的類型是新增數據、刪除數據或修改數據;B)對不同類型的數據分別進行增量存儲,生成對應記錄,在每一記錄中設置時間戳和類型標志;C)根據步驟B)中各記錄的時間戳,對任意兩個指定時刻間的新增數據、刪除數據和/或修改數據進行分析比較。本發明對由時間引起的數據間差異性能進行直觀、靈活的比較和分析,且有效解決備份數據量大的問題。
文檔編號G06F17/00GK1601515SQ0312648
公開日2005年3月30日 申請日期2003年9月28日 優先權日2003年9月28日
發明者龔雪皓 申請人:華為技術有限公司