專利名稱:對多個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng)一排序的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)管系統(tǒng)中多個管理器管理設(shè)備的技術(shù),具體說,涉及 一種對多個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng)一排序的方法。
背景技術(shù):
在目前的網(wǎng)絡(luò)管理系統(tǒng)中由于單個管理器管理能力的限制,經(jīng)常需要配 置多個管理器管理不同網(wǎng)絡(luò)設(shè)備,客戶端需要登陸多個管理器對網(wǎng)絡(luò)設(shè)備進(jìn) 行操作。這時,對于終端用戶而言不需要關(guān)注哪個網(wǎng)絡(luò)設(shè)備被哪些管理器進(jìn)行管 理,需要網(wǎng)管系統(tǒng)呈現(xiàn)給用戶的是統(tǒng)一的管理資源。用戶在操作不同管理器 管理網(wǎng)絡(luò)設(shè)備的時候,需要對不同管理器的數(shù)據(jù)進(jìn)行統(tǒng)一的處理,例如對歷 史告警按時間排序。但是,現(xiàn)有技術(shù)不能夠有效地屏蔽多個管理器所管理的 網(wǎng)絡(luò)設(shè)備的差異,不便于對網(wǎng)絡(luò)設(shè)備進(jìn)行統(tǒng)一管理。發(fā)明內(nèi)容本發(fā)明所解決的技術(shù)問題是提供一種對多個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng)一排 序的方法,能夠有效地屏蔽多個管理器所管理的網(wǎng)絡(luò)設(shè)備的差異,技術(shù)方案如下一種對多個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng)一排序的方法,步驟包括(1 )按照設(shè)定量依次查詢每個數(shù)據(jù)源,將查詢到的數(shù)據(jù)fi出,并按照 預(yù)定條件進(jìn)行排序,形成集合Ax;從所述集合Ax中取出部分?jǐn)?shù)據(jù)形成集合 By,記錄每個數(shù)據(jù)源已取出數(shù)據(jù)的位置信息;x和y取自然數(shù);(2 )根據(jù)所述位置信息依次判斷所述集合Ax中每個數(shù)據(jù)源當(dāng)前未取出 的數(shù)據(jù)量是否大于等于所述集合By的數(shù)據(jù)量;如果滿足,則該凄t據(jù)源不需
要進(jìn)行后續(xù)的查詢;否則,需要查詢該數(shù)據(jù)源的后續(xù)部分;(3)當(dāng)有數(shù)據(jù)源需要查詢其后續(xù)部分時,按照所述設(shè)定量查詢并取出 該數(shù)據(jù)源中后續(xù)的數(shù)據(jù),匯總所述集合Ax中剩余的凄t據(jù)和本次查詢到的數(shù) 據(jù),形成集合A^;將所述集合A^中的凄t據(jù)按照所述預(yù)定條件進(jìn)行排序, 從中取出部分?jǐn)?shù)據(jù)形成集合By+1,更新每個數(shù)據(jù)源的位置信息;執(zhí)行步驟 (2);(4 )根據(jù)所有數(shù)據(jù)源的數(shù)據(jù)量總數(shù)對所述設(shè)定量取余數(shù),當(dāng)所述集合 Ax+1中的數(shù)據(jù)等于所述余數(shù)時,排序并取出所述集合Ax+1中剩余的數(shù)據(jù)。進(jìn)一步,步驟(1)和步驟(2)中,所述預(yù)定條件包括時間或者優(yōu)先級。進(jìn)一步,步驟(l)中,將查詢到的數(shù)據(jù)源的數(shù)據(jù)依次進(jìn)行分塊,所述 位置信息包括每個數(shù)據(jù)源的開始數(shù)據(jù)塊m、開始記錄,結(jié)束凄t據(jù)塊"、結(jié) 束記錄h所述m、j'、 w、 A:耳又自然數(shù)。進(jìn)一步,步驟(3)中,如果在所述查詢過程中設(shè)定了查詢切換,當(dāng)需 要查詢前續(xù)部分時,查詢所有數(shù)據(jù)源的數(shù)據(jù)塊m和數(shù)據(jù)塊m -1的數(shù)據(jù),然 后排序,根據(jù)m和7刪除已經(jīng)取出的數(shù)據(jù),最后取出需要的數(shù)據(jù),同時更新 位置信息。進(jìn)一步,步驟(l)中,所述數(shù)據(jù)源是GUI系統(tǒng)的服務(wù)器。 進(jìn)一步,步驟(1)中,設(shè)定查詢范圍,在查詢時,按照所述查詢范圍 在每個數(shù)據(jù)源中進(jìn)行查詢。通過本發(fā)明技術(shù)方案可以有效地屏蔽多個管理器所管理的網(wǎng)絡(luò)設(shè)備的 差異,同時解決了大凄史據(jù)量教:據(jù)查詢排序的實時性和準(zhǔn)確性問題。
圖1本發(fā)明的應(yīng)用環(huán)境示意圖; 圖2本發(fā)明的應(yīng)用環(huán)境數(shù)據(jù)分布示意圖; 圖3本發(fā)明優(yōu)選實施例的應(yīng)用環(huán)境示意圖; 圖4本發(fā)明優(yōu)選實施例的數(shù)據(jù)分布示意圖。
具體實施方式
本發(fā)明技術(shù)方案能夠屏蔽多管理器管理設(shè)備差異,對不同數(shù)據(jù)源的數(shù)據(jù) 進(jìn)行統(tǒng)一排序。在查詢過程中,可以設(shè)定查詢范圍,查詢范圍確定后,可以 按照下述步驟開始查詢。當(dāng)然,也可以對數(shù)據(jù)源中所有數(shù)據(jù)進(jìn)行查詢。參照圖1和圖2所示,結(jié)合應(yīng)用環(huán)境和多個數(shù)據(jù)源的數(shù)據(jù)分布對本發(fā)明 技術(shù)方案作詳細(xì)描述。具體實現(xiàn)步驟如下1、 依次查詢每個數(shù)據(jù)源,并取出查詢到的數(shù)據(jù),將查詢到的數(shù)據(jù)分為 多個數(shù)據(jù)塊。每次查詢的數(shù)據(jù)量(查詢量)可以設(shè)定,在此設(shè)定每次查詢量為N。本 步驟中,查詢的數(shù)據(jù)量為數(shù)據(jù)塊1的大小,取出每個數(shù)據(jù)源的數(shù)據(jù)塊l (如 圖2所示黑色1部分),每個數(shù)據(jù)塊1中包含多個已經(jīng)查詢到的數(shù)據(jù)。2、 匯總并排序所有取出的數(shù)據(jù),并按照預(yù)定條件進(jìn)行排序。將查詢到的數(shù)據(jù)按照預(yù)定條件進(jìn)行排序,形成集合Ax , x取自然數(shù)。 此時的集合Ax匯總了所有數(shù)據(jù)源的數(shù)據(jù)塊1,從集合Ax中取出連續(xù)排序的 數(shù)據(jù)形成集合By (第1部分?jǐn)?shù)據(jù)),y取自然數(shù)。該集合By (第1部分?jǐn)?shù)據(jù)) 的數(shù)據(jù)量大小為W,并且該第l部分?jǐn)?shù)據(jù)中的數(shù)據(jù)在預(yù)定條件下是連續(xù)的。 本實施例中,該第1部分?jǐn)?shù)據(jù)中只包含數(shù)據(jù)源1的數(shù)據(jù)塊1 (如圖2所示)。 預(yù)定條件可以是時間、優(yōu)先級等預(yù)先設(shè)定的條件。3、 記錄每個數(shù)據(jù)源已經(jīng)取出的數(shù)據(jù)的位置信息。第1部分?jǐn)?shù)據(jù)的位置信息包括開始數(shù)據(jù)塊m、開始記錄/、結(jié)束數(shù)據(jù) 塊"、結(jié)束記錄A:, m、 , "、 J代表字?jǐn)?shù)然。m代表開始數(shù)據(jù)塊標(biāo)號,n代表結(jié)束數(shù)據(jù)塊標(biāo)號,j代表開始數(shù)據(jù)塊的 開始記錄號,k代表結(jié)束數(shù)據(jù)塊的結(jié)束記錄號4、 根據(jù)位置信息依次判斷集合Ax中每個數(shù)據(jù)源當(dāng)前未取出的數(shù)據(jù)量是 否大于等于集合By的數(shù)據(jù)量;如果滿足,則滿足條件的數(shù)據(jù)源不需要進(jìn)行 后續(xù)的查詢;否則,需要查詢不滿足條件數(shù)據(jù)源的數(shù)據(jù)塊1的后續(xù)部分的數(shù)據(jù)。5、 查詢數(shù)據(jù)塊l的后續(xù)部分,并取出查詢到的數(shù)據(jù)。當(dāng)有數(shù)據(jù)源需要查詢其據(jù)塊1的后續(xù)部分時,查詢并取出該數(shù)據(jù)源中數(shù) 據(jù)塊l后續(xù)的數(shù)據(jù)。6、 匯總集合Ax中剩余的未取出的數(shù)據(jù)和本次查詢的數(shù)據(jù),形成集合 Ax+1,將集合A^中的數(shù)據(jù)按照預(yù)定條件進(jìn)行排序,從中取出連續(xù)排序的數(shù) 據(jù)形成集合By+!(第2部分?jǐn)?shù)據(jù))。同時,更新每個數(shù)據(jù)源的位置信息,包括每個數(shù)據(jù)源的開始數(shù)據(jù)塊m、 開始記錄,結(jié)束數(shù)據(jù)塊w、結(jié)束記錄yL在查詢過程中,可以設(shè)定每次查詢的數(shù)據(jù)量相等,這樣集合By和集合 By+i中包含的數(shù)據(jù)量相等。7、 執(zhí)行步驟4,依次進(jìn)行后續(xù)部分?jǐn)?shù)據(jù)的查詢,同時更新每個數(shù)據(jù)源 的位置信息。位置信息的內(nèi)容包括每個數(shù)據(jù)源的開始數(shù)據(jù)塊m、開始記錄,結(jié)束數(shù) 據(jù)塊"、結(jié)束記錄/t。8、 查詢最后一部分?jǐn)?shù)據(jù)。根據(jù)所有數(shù)據(jù)源的數(shù)據(jù)量總數(shù)對查詢的設(shè)定量取余數(shù),當(dāng)集合Ax+1中 的數(shù)據(jù)量等于該余數(shù)時,排序并取出集合Ax+1中剩余的數(shù)據(jù)。在查詢最后 一 部分?jǐn)?shù)據(jù)時,根據(jù)所有數(shù)據(jù)源的數(shù)據(jù)總數(shù)對AA取余數(shù)得到 最后一部分?jǐn)?shù)據(jù)量的大小,然后查詢每個數(shù)據(jù)源倒數(shù)第1塊和倒數(shù)第2塊數(shù) 據(jù)(如杲存在的話),然后統(tǒng)一排序并取出最后的一部分?jǐn)?shù)據(jù)。另外,在上述查詢過程中,也可以設(shè)定查詢切換,切換的方法有如下兩種A、向查詢上一部分的切換。查詢所有數(shù)據(jù)源的數(shù)據(jù)塊m和數(shù)據(jù)塊m-1的數(shù)據(jù),然后排序,根據(jù)m 和y刪除已經(jīng)顯示的數(shù)據(jù),最后取出需要的凄丈據(jù),同時,更新記錄。記錄包 括每個數(shù)據(jù)源的開始數(shù)據(jù)塊m、開始記錄,結(jié)束數(shù)據(jù)塊"、結(jié)束記錄/L B、向查詢下一部分的切換。查詢所有數(shù)據(jù)源的數(shù)據(jù)塊w和數(shù)據(jù)塊w+l的數(shù)據(jù),然后排序根據(jù)w和A: 刪除已經(jīng)顯示的數(shù)據(jù),最后在剩余數(shù)據(jù)中取出需要的數(shù)據(jù)。同時更新記錄, 記錄包括每個數(shù)據(jù)源的開始數(shù)據(jù)塊m、開始記錄,結(jié)束數(shù)據(jù)塊w、結(jié)束記 錄t參照圖3所示,表示某網(wǎng)管系統(tǒng)結(jié)構(gòu),GUI ( Graphic User Interface)系 統(tǒng)登陸2個服務(wù)器,每個服務(wù)器配備有數(shù)據(jù)庫,服務(wù)器管理不同的網(wǎng)元設(shè)備。 用戶需要在GUI系統(tǒng)上查看某段時間NE1 、 NE2和NE3的歷史告警數(shù)據(jù), 并按照產(chǎn)生時間順序進(jìn)行排序顯示。由于數(shù)據(jù)量比較大,不可能一次查詢所有的數(shù)據(jù),必須對凄t據(jù)庫進(jìn)行分 頁查詢。假設(shè)每個數(shù)據(jù)庫每頁數(shù)據(jù)為300條,其中,數(shù)據(jù)庫I中數(shù)據(jù)為800 條,數(shù)據(jù)庫II中數(shù)據(jù)為380條。這樣,數(shù)據(jù)庫I中有2頁多數(shù)據(jù),數(shù)據(jù)庫II 中有1頁多數(shù)據(jù)。參照圖4所示,根據(jù)兩個數(shù)據(jù)庫中的數(shù)據(jù)在時間上的分布,可以畫出需 要每頁查詢數(shù)據(jù)的分界線,如所示第1頁、第2頁、第3頁等。對多個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng) 一排序的方法的具體實施步驟如下1 、查詢數(shù)據(jù)庫I和數(shù)據(jù)庫II的第1頁數(shù)據(jù)。從數(shù)據(jù)庫I中查詢第1頁數(shù)據(jù)300條,從數(shù)據(jù)庫II中查詢第1頁數(shù)據(jù) 300條。2、 匯總所查詢到的數(shù)據(jù),對這600條數(shù)據(jù)按照時間進(jìn)行排序,然后取 出排序后的前300條數(shù)據(jù)進(jìn)行顯示。3、 對取出的所有數(shù)據(jù)進(jìn)行記錄。記錄內(nèi)容包括數(shù)據(jù)庫I開始頁數(shù)1、開始記錄1、結(jié)束頁數(shù)1、結(jié)束 記錄300;數(shù)據(jù)庫II開始頁數(shù)1、開始記錄l、結(jié)束頁數(shù)l、結(jié)束記錄l。4、 查詢數(shù)據(jù)庫I和數(shù)據(jù)庫II的第2頁^t據(jù)。查詢的第1頁數(shù)據(jù)中,當(dāng)取出后剩余的屬于數(shù)據(jù)庫I的數(shù)據(jù)小于1頁的 數(shù)據(jù)量(300條),查詢數(shù)據(jù)庫I的第2頁數(shù)據(jù);查詢的第1頁數(shù)據(jù)中,經(jīng) 取出后剩余的屬于數(shù)據(jù)庫II的數(shù)據(jù)等于1頁的數(shù)據(jù)量(300條),數(shù)據(jù)庫II
不需要進(jìn)行本次查詢。5、 匯總新查詢的數(shù)據(jù)庫I的300條數(shù)據(jù)和剩余的數(shù)據(jù)庫n的數(shù)據(jù),并 對所有數(shù)據(jù)進(jìn)行統(tǒng)一排序,取出需要的第2頁數(shù)據(jù)(300條),同時更新記錄。記錄內(nèi)容包括數(shù)據(jù)庫I的開始頁數(shù)2、開始記錄1、結(jié)束頁數(shù)2、結(jié) 束記錄180;數(shù)據(jù)庫II的開始頁數(shù)1、開始記錄1、結(jié)束頁數(shù)1、結(jié)束記錄 120。6、 按照步驟4和5的方法,對后續(xù)部分的數(shù)據(jù)進(jìn)行查詢,同時更新記錄。記錄包括每個數(shù)據(jù)庫的開始頁數(shù)、開始記錄、結(jié)束頁數(shù)、結(jié)束記錄。7、 查詢最后一頁數(shù)據(jù)。通過計算最后一頁記錄,數(shù)據(jù)的個數(shù)為(800+380)%300=280,查詢數(shù)據(jù) 庫I第3頁和第2頁數(shù)據(jù),查詢數(shù)據(jù)庫II第2頁和第1頁數(shù)據(jù),排序并取出 最后的280條數(shù)據(jù)即為最后一頁。另外,在上述查詢過程中,也可以設(shè)定查詢切換,切換包括兩種形式第一、向查詢上一頁的切換。例如從步驟5到步驟1進(jìn)行遷移。查詢數(shù)據(jù)庫I的第2和1頁數(shù)據(jù),查 詢數(shù)據(jù)庫II的第2和1頁數(shù)據(jù),然后排序并刪除已經(jīng)顯示的數(shù)據(jù),其中,刪 除的數(shù)據(jù)是數(shù)據(jù)庫I的開始頁數(shù)2、開始記錄l中包括的數(shù)據(jù),以及數(shù)據(jù)庫n的開始頁數(shù)i、開始記錄i中包括的數(shù)據(jù),最后將剩下的數(shù)據(jù)取出,作為 1頁數(shù)據(jù)。第二、向查詢下一頁的切換。查詢數(shù)據(jù)庫I的第1和2頁數(shù)據(jù),查詢凝:據(jù)庫II的第1和2頁數(shù)據(jù),然 后排序并刪除已經(jīng)顯示的數(shù)據(jù),其中,刪除的數(shù)據(jù)是數(shù)據(jù)庫I的結(jié)束頁數(shù)1、 結(jié)束記錄300中包括的數(shù)據(jù),數(shù)據(jù)庫II的結(jié)束頁數(shù)1 、結(jié)束記錄1中包括的 數(shù)據(jù),最后將剩下的數(shù)據(jù)取出,作為1頁數(shù)據(jù)。
權(quán)利要求
1、一種對多個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng)一排序的方法,步驟包括(1)按照設(shè)定量依次查詢每個數(shù)據(jù)源,將查詢到的數(shù)據(jù)取出,并按照預(yù)定條件進(jìn)行排序,形成集合Ax;從所述集合Ax中取出部分?jǐn)?shù)據(jù)形成集合By,記錄每個數(shù)據(jù)源已取出數(shù)據(jù)的位置信息;x和y取自然數(shù);(2)根據(jù)所述位置信息依次判斷所述集合Ax中每個數(shù)據(jù)源當(dāng)前未取出的數(shù)據(jù)量是否大于等于所述集合By的數(shù)據(jù)量;如果滿足,則該數(shù)據(jù)源不需要進(jìn)行后續(xù)的查詢;否則,需要查詢該數(shù)據(jù)源的后續(xù)部分;(3)當(dāng)有數(shù)據(jù)源需要查詢其后續(xù)部分時,按照所述設(shè)定量查詢并取出該數(shù)據(jù)源中后續(xù)的數(shù)據(jù),匯總所述集合Ax中剩余的數(shù)據(jù)和本次查詢到的數(shù)據(jù),形成集合Ax+1;將所述集合Ax+1中的數(shù)據(jù)按照所述預(yù)定條件進(jìn)行排序,從中取出部分?jǐn)?shù)據(jù)形成集合By+1,更新每個數(shù)據(jù)源的位置信息;執(zhí)行步驟(2);(4)根據(jù)所有數(shù)據(jù)源的數(shù)據(jù)量總數(shù)對所述設(shè)定量取余數(shù),當(dāng)所述集合Ax+1中的數(shù)據(jù)等于所述余數(shù)時,排序并取出所述集合Ax+1中剩余的數(shù)據(jù)。
2、 根據(jù)權(quán)利要求1所述的對多個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng)一排序的方法, 其特征在于,步驟(1)和步驟(2)中,所述預(yù)定條件包括時間或者優(yōu)先級。
3、 根據(jù)權(quán)利要求1所述的對多個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng)一排序的方法, 其特征在于,步驟(l)中,將查詢到的數(shù)據(jù)源的數(shù)據(jù)依次進(jìn)行分塊,所述 位置信息包括每個數(shù)據(jù)源的開始數(shù)據(jù)塊m、開始記錄,結(jié)束凄t據(jù)塊"、結(jié) 束i己錄A,戶斤述m、, w、 A取自然數(shù)。
4、 根據(jù)權(quán)利要求3所述的對多個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng)一排序的方法, 其特征在于,步驟(3)中,如果在所述查詢過程中設(shè)定了查詢切換,當(dāng)需 要查詢前續(xù)部分時,查詢所有數(shù)據(jù)源的數(shù)據(jù)塊w和數(shù)據(jù)塊w -1的數(shù)據(jù),然 后排序,根據(jù)m和乂刪除已經(jīng)取出的數(shù)據(jù),最后取出需要的數(shù)據(jù),同時更新 位置信息。
5、 根據(jù)權(quán)利要求1所述的對多個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng)一排序的方法, 其特征在于,步驟(l)中,所述tt據(jù)源是GUI系統(tǒng)的服務(wù)器。
6、 根據(jù)權(quán)利要求1所述的對多個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng)一排序的方法, 其特征在于,步驟(l)中,設(shè)定查詢范圍,在查詢時,按照所述查詢范圍 在每個數(shù)據(jù)源中進(jìn)行查詢。
全文摘要
本發(fā)明公開了一種對多個數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng)一排序的方法,包括按照設(shè)定量依次查詢每個數(shù)據(jù)源,將查詢到的數(shù)據(jù)進(jìn)行排序,形成集合A<sub>x</sub>;從集合A<sub>x</sub>中取出部分?jǐn)?shù)據(jù)形成集合B<sub>y</sub>,記錄已取出數(shù)據(jù)的位置信息;根據(jù)位置信息判斷集合A<sub>x</sub>中每個數(shù)據(jù)源當(dāng)前未取出的數(shù)據(jù)量是否大于等于集合B<sub>y</sub>的數(shù)據(jù)量,如果滿足則該數(shù)據(jù)源不需要進(jìn)行后續(xù)的查詢,否則需要查詢該數(shù)據(jù)源的后續(xù)部分;當(dāng)有數(shù)據(jù)源需要查詢其后續(xù)部分時,按照設(shè)定量查詢并取出該數(shù)據(jù)源中后續(xù)的數(shù)據(jù),形成集合A<sub>x+1</sub>,從集合A<sub>x+1</sub>中取出部分?jǐn)?shù)據(jù)形成集合B<sub>y+1</sub>;根據(jù)所有數(shù)據(jù)源的數(shù)據(jù)量總數(shù)對設(shè)定量取余數(shù),當(dāng)集合A<sub>x+1</sub>中的數(shù)據(jù)等于余數(shù)時,排序并取出集合A<sub>x+1</sub>中剩余的數(shù)據(jù)。
文檔編號G06F17/30GK101149744SQ20071015145
公開日2008年3月26日 申請日期2007年10月18日 優(yōu)先權(quán)日2007年10月18日
發(fā)明者濤 薛 申請人:中興通訊股份有限公司