專利名稱:一種關聯(lián)查詢的系統(tǒng)及其方法
技術領域:
本發(fā)明涉及一種查詢方法,具體來說,涉及一種應用于網(wǎng)絡管理系統(tǒng)中的關聯(lián)查詢的系統(tǒng)及其方法。
背景技術:
在當前的網(wǎng)絡管理系統(tǒng)中,例如,在電信網(wǎng)絡管理系統(tǒng)中,一方面是被管理對象(下稱被管對象或?qū)ο?的數(shù)量越來越大,配置數(shù)據(jù)越來越多,配置數(shù)據(jù)的關系也越來越錯綜復雜,而基于這些數(shù)據(jù)之上的業(yè)務數(shù)據(jù)更是種類繁多,復雜多變;另一方面是隨著社會的發(fā)展和市場競爭的加劇,用戶對系統(tǒng)的需求越來越個性化和多樣化,對系統(tǒng)的響應速度要求越來越高,對響應結(jié)果要求越來越智能化。面對這樣的矛盾,如何快速直觀地獲取數(shù)據(jù),如何準確地獲取與當前數(shù)據(jù)符合某種相關性和過濾條件的數(shù)據(jù),如何實現(xiàn)根據(jù)不同的業(yè)務需求靈活調(diào)整相關性和過濾條件成了解決問題的關鍵。
在現(xiàn)有的一種技術中,是采用直接將特定的兩個被管理對象的關聯(lián)查詢關系固定化,這樣就可以進行特定的查詢。但這種方法存在有不足之處由于固定了兩個被管理對象的關聯(lián)查詢關系,如果要變動他們之間的關聯(lián)查詢關系會非常困難,不易調(diào)整。且這種方法只能查詢部分對象的關聯(lián)關系,因為如果要列出所有兩個被管對象之間的關聯(lián)查詢關系,工作量很大,且其中代碼總量大,并存在有重復的部分,導致開發(fā)和維護成本高,目前這種方法主要用來實現(xiàn)部分重要對象間的特定關聯(lián)查詢;而且,不易實現(xiàn)多級關聯(lián)查詢。
還有一種技術是通過采用包容關系組織(如多叉樹)對象,并利用遍歷方法來進行對象間的關聯(lián)查詢。但是這種方法也存在有不足之處采用包容關系無法完全描述電信網(wǎng)被管對象間錯綜復雜的關系;采用包容關系在搜索兩個對象的關聯(lián)關系時實現(xiàn)的算法復雜、效率低;對對象間的關聯(lián)關系進行增加、修改、刪除等操作時需要作很大的變動,不夠直觀。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題在于,針對現(xiàn)有查詢方法存在的不足,提供了一種關聯(lián)查詢方系統(tǒng)及其方法,其能夠很方便地查詢兩個被管對象間的關聯(lián)關系;且很容易實現(xiàn)多級關聯(lián)查詢。
本發(fā)明為解決其技術問題所采用的技術方案在于提供一種關聯(lián)查詢系統(tǒng),其包括有可接收用戶查詢要求的查詢管理器及存儲有被管對象的數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng),進一步包括關聯(lián)關系配置管理器,存儲有被管對象間的關聯(lián)關系配置信息;圖管理器中存儲有根據(jù)被管對象間的關聯(lián)關系配置信息而生成的被管理對象的關聯(lián)關系圖;算法迭代器中存儲有預定的算法,用來求解所述關聯(lián)關系圖中的路徑,并將求解的最優(yōu)結(jié)果返回給圖管理器;所述查詢管理器可根據(jù)圖管理器返回的最優(yōu)路徑生成關聯(lián)查詢語句,并傳送給所述數(shù)據(jù)庫系統(tǒng)進行查詢。
在本發(fā)明的關聯(lián)查詢的系統(tǒng)中,所述關聯(lián)關系圖中包括有兩個或兩個以上節(jié)點,每一節(jié)點包括有節(jié)點數(shù)據(jù)和邊數(shù)據(jù),其中節(jié)點數(shù)據(jù)中存儲被管理對象的信息,邊數(shù)據(jù)中存儲有對象間關聯(lián)關系信息,所述關聯(lián)關系圖中的節(jié)點可以被增加、刪除或修改。
在本發(fā)明的關聯(lián)查詢的系統(tǒng)中,所述關聯(lián)關系配置管理器中的被管對象間的關聯(lián)關系配置信息,通過手工編寫或者通過可視化工具生成。
在本發(fā)明的關聯(lián)查詢的系統(tǒng)中,所述算法迭代器中的算法可以被替換。
本發(fā)明還提供一種關聯(lián)查詢的方法,該方法包括(a)根據(jù)被管理對象間的關聯(lián)關系建立一個關聯(lián)關系圖,該關聯(lián)關系存儲于圖管理器中;(b)查詢管理器接收來自用戶的查詢要求,并將該查詢要求轉(zhuǎn)送給圖管理器,圖管理器調(diào)用算法迭代器中的預定的算法;(c)算法迭代器根據(jù)所述算法求解所述查詢要求中從源節(jié)點到目的節(jié)點間的最優(yōu)路徑,并將該最優(yōu)路徑結(jié)果返回給圖管理器,圖管理器將該最優(yōu)路徑結(jié)果返回給查詢管理器;(d)查詢管理器接收來自圖管理器的最優(yōu)路徑,將其生成關聯(lián)查詢語句,并傳給數(shù)據(jù)庫系統(tǒng);(e)數(shù)據(jù)庫系統(tǒng)根據(jù)所述關聯(lián)查詢語句進行查詢,并將查詢結(jié)果傳回給查詢管理器。
在本發(fā)明的關聯(lián)查詢方法中,進一步包括對圖的最優(yōu)路徑定義有迭代算子的步驟,所述算法迭代器中算法可以被替換。
在本發(fā)明的關聯(lián)查詢方法中,所述步驟(d)進一步包括當圖管理器返回的最優(yōu)路徑超過一個時,對這些最優(yōu)路徑進行合并,獲得一條最終的最優(yōu)路徑。
在本發(fā)明的關聯(lián)查詢方法中,所述對多個最優(yōu)路徑進行合并的的步驟,包括對所述最優(yōu)路徑進行“與”運算、“或”運算、“非”運算或“與”、“或”、“非”的組合運算的步驟。
在本發(fā)明的關聯(lián)查詢方法中,所述步驟(d)中生成關聯(lián)查詢語句的步驟進一步包括根據(jù)所得到的最優(yōu)路徑生成滿足不同語法要求的查詢語句,傳給數(shù)據(jù)庫系統(tǒng)。
在本發(fā)明的關聯(lián)查詢方法中,所述步驟(d)中生成關聯(lián)查詢語句的步驟是將每條路徑單獨生成查詢語句并傳送給數(shù)據(jù)庫系統(tǒng);并在步驟(e)中將得到各個結(jié)果集進行集合的邏輯運算,所述邏輯運算包括“與”運算、“或”運算、“非”運算或“與”、“或”、“非”的復合運算。
實施本發(fā)明的關聯(lián)查詢系統(tǒng)及其方法,具有以下有益效果在本發(fā)明中,通過建立被管對象的關聯(lián)關系圖,將復雜的多級關聯(lián)查詢簡化為對圖的求解,使用圖的數(shù)據(jù)結(jié)構(gòu),增加、刪除、修改被管理對象的關聯(lián)關系更加直觀方便,效率高,且其中迭代算法器中的算法可以很方便地被替換以滿足不同的要求。用戶在不用知道各數(shù)據(jù)的具體關聯(lián)關系的情況下,只需簡單地發(fā)出一個從源對象到目的對象的查詢請求,就可以輕松地得到滿足查詢要求的結(jié)果。
下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中圖1是本發(fā)明一種關聯(lián)查詢系統(tǒng)的結(jié)構(gòu)示意圖;圖2是本發(fā)明中建立關聯(lián)關系圖的示意圖;
圖3是本發(fā)明中最優(yōu)路徑求解示意圖;圖4是本發(fā)明一種關聯(lián)查詢方法的主流程圖。
具體實施例方式
為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下面結(jié)合實施例和附圖,對本發(fā)明進一步詳細說明圖1是本發(fā)明的所實施的系統(tǒng)的結(jié)構(gòu)示意圖;該系統(tǒng)包括有查詢管理器、數(shù)據(jù)庫系統(tǒng)、關聯(lián)關系配置管理器、圖管理器及算法迭代器。
其中,查詢管理器用于接收來自用戶(請求方)的查詢要求,并將該查詢要求傳給圖管理器,并能生成查詢語句,與數(shù)據(jù)庫系統(tǒng)進行交互;關聯(lián)關系配置管理器中,存儲有被管對象間的關聯(lián)關系配置信息,并可根據(jù)該關聯(lián)關系配置信息及其數(shù)據(jù)結(jié)構(gòu)建立起對象間的關聯(lián)關系圖。
圖管理器中存儲有關聯(lián)關系圖,該關聯(lián)關系圖是通過配置文件生成。其中,配置文件可以手工寫,也可以通過可視化工具生成;算法迭代器可以是一個獨立的服務或進程,也可以是一個函數(shù)庫。算法迭代器存儲有多種算法,可用來求解關聯(lián)關系圖中的路徑,并將結(jié)果返回給圖管理器。在本發(fā)明中,算法迭代器通過一組接口獨立出來,這樣可以方便使自定義的算法包,也可以使用專利業(yè)的算法包,甚至可以不斷添加算法,可提高靈活性和擴展性。
數(shù)據(jù)庫系統(tǒng)中存放有電信網(wǎng)絡管理系統(tǒng)中的各種被管對象的各種數(shù)據(jù)表(如配置數(shù)據(jù)、屬性數(shù)據(jù)表等)。
如圖2所示,是本發(fā)明中的一種對象關聯(lián)關系圖示意圖。本發(fā)明以具有圖2所示對象關系圖結(jié)構(gòu)的網(wǎng)絡管理系統(tǒng)為實施例,也可以將圖2所示簡單的對象關系圖視為整個網(wǎng)絡管理系統(tǒng)對象關系圖上的一個子圖。該圖中包括有多個不同的對象節(jié)點(如對象10、對象20等),圖中的節(jié)點數(shù)據(jù)中存儲實際需要的有關的對象信息,圖中的邊數(shù)據(jù)中存儲對象間關聯(lián)關系信息及其他相關信息(如遍歷控制信息)。而不同的對象節(jié)點之間存在有關聯(lián)關系以連接線的形式表示。在該圖中,如果要新增一個對象(如新增對象31),只需創(chuàng)建一個節(jié)點數(shù)據(jù),然后將關聯(lián)關系信息填入節(jié)點的邊信息中,同時再更新一下相鄰的節(jié)點的邊信息即可,對其他的節(jié)點沒有任何影響。同理,可以對節(jié)點進行刪除或修改等操作。
如圖3所示,是本發(fā)明中,對象關聯(lián)關系圖中最優(yōu)查詢路徑的示意圖。本發(fā)明中,將查詢請求中涉及到的源對象和目的對象,轉(zhuǎn)化成源對象和目的對象之間的路徑求解。圖中,在不同節(jié)點之間的數(shù)值為遍歷值。其中帶箭頭的粗線條表示的就是源對象到目的對象之間的最優(yōu)查詢路徑。
圖4是本發(fā)明的一個實施例的流程圖。下面對其進行詳細說明第一步從關聯(lián)關系配置管理器中讀取網(wǎng)絡管理系統(tǒng)中的所有對象以及各對象之間的關聯(lián)關系;在該步驟中,也可以用手工的方式整理出相應的關聯(lián)關系,然后用配置文件、配置表、配置圖的方式保存下來?;蛘呖梢允怯贸绦颉⒐ぞ叩确椒ㄗ詣赢a(chǎn)生配置文件、配置表、配置圖?;蛘呖梢允且粋€動態(tài)的進程、服務等,在運行時為其他步驟提供動態(tài)求解關聯(lián)關系。
第二步根據(jù)圖2中新增圖節(jié)點的方式,將網(wǎng)絡管理系統(tǒng)中的所有對象逐一增加到如圖表1所示的圖結(jié)構(gòu)中,形成一張完整的對象關聯(lián)關系圖,圖中的節(jié)點數(shù)據(jù)中存儲實際需要的有關的對象信息,圖中的邊數(shù)據(jù)中存儲對象間關聯(lián)關系信息和遍歷控制信息。
第三步建立起關聯(lián)關系圖后,用戶就可以向查詢管理器發(fā)送一個查詢請求,對圖中的任意兩個對象進行關聯(lián)查詢了。以圖3中為例,用戶向查詢管理器下發(fā)一個從“源對象”到“目的對象”的關聯(lián)查詢請求。
第四步則查詢管理器向圖管理器轉(zhuǎn)發(fā)該關聯(lián)查詢請求(包括有必要的參數(shù),如源對象、目的對象等),求取從“源對象”到“目的對象”的最優(yōu)路徑。
第五步圖管理器則調(diào)用圖的算法迭代器進行求解“源對象”到“目的對象”的最優(yōu)路徑。其中算法迭代器中預定義有相應算法,對圖的最優(yōu)路徑定義有迭代算子。算法迭代器調(diào)用指定的算法(該算法受迭代器支持,且該算法可以不斷擴充)進行求解,得出最優(yōu)路徑。在這里,由于將算法迭代器獨立出來,可以很方便地替換各種算法,提高了方案的靈活性和適應性。另外,我們從圖3中還可以看到,通過控制圖中每條關聯(lián)關系邊的權(quán)重,還可以靈活地根據(jù)一定的規(guī)則控制最優(yōu)關聯(lián)路徑求解的結(jié)果,這在需要疊加業(yè)務邏輯的應用上將會非常有用。
第六步算法迭代器向圖管理器返回得到的路徑。
第七步圖管理器向查詢管理器返回得到路徑。在有些時候,一個查詢可能需要得到多條路徑(如在多個節(jié)點之間),這可以重復上述求關聯(lián)路徑的步驟,得出了多條路徑。
第八步如果有多條路徑時,以根據(jù)一定的原則先進行路徑合并,得出一條最終的最優(yōu)路徑。所述一定的原則,可以是包括“與”運算、“或”運算、“非”運算或“與”、“或”、“非”的組合運算。
第九步根據(jù)所得到的最優(yōu)路徑生成滿足不同語法要求(如SQL)的查詢語句,下發(fā)到數(shù)據(jù)庫系統(tǒng)進行查詢;也可以直接將每條路徑單獨生成查詢語句下發(fā)查詢,然后將得到各個結(jié)果集進行集合論的各種邏輯運算,該邏輯運算包括諸如“與”運算、“或”運算、“非”運算或“與”、“或”、“非”的復合運算。這樣,我們就能支持非常復雜的關聯(lián)查詢需求了,這在應用上有重要的意義。另外,該生成關聯(lián)查詢語句的過程可以通過自定義的模塊或采用第三方的包來產(chǎn)生針對多種數(shù)據(jù)庫系統(tǒng)都可以執(zhí)行的SQL語句、存儲過程、過程調(diào)用等方式。
第十步數(shù)據(jù)庫系統(tǒng)根據(jù)所接收到的查詢語句,進行查詢,并將查詢結(jié)果返回給該查詢管理器。
以上所述,僅為本發(fā)明的一個實施例而已,是以網(wǎng)絡管理系統(tǒng)為例進行說明,并非用于限定本發(fā)明的保護范圍,在本質(zhì)上,本發(fā)明適合于所有對數(shù)據(jù)間具網(wǎng)狀關聯(lián)關系的信息系統(tǒng)的管理,。
在本發(fā)明中,對網(wǎng)絡管理系統(tǒng)的被管理對象進行關聯(lián)查詢的方法,是通過建立對象關聯(lián)關系圖,將復雜的多級關聯(lián)查詢簡化為對圖的求解,從而帶來了如下好處1)、對電信網(wǎng)絡管理系統(tǒng)中的被管理對象的描述在概念上更加準確,因此也更適合解決相關的應用。
2)、使用圖的數(shù)據(jù)結(jié)構(gòu),增加、刪除、修改被管理對象的關聯(lián)關系直觀,局部性好,減少維護成本;
3)、使用圖的經(jīng)典算法,提高了空間和運行效率;4)、將迭代算法器獨立出來,可以非常方便地替換不同的算法以滿足不同的要求;5)、利用圖管理關聯(lián)關系,甚至可以通過設置圖中的元素的權(quán)重和標志,將特殊的應用邏輯疊加到關聯(lián)關系中,從而支持個性化的查詢需求,提高用戶滿意度。
通過本發(fā)明提供的方法,使用戶在不用知道各數(shù)據(jù)的具體關聯(lián)關系的情況下,只需簡單地發(fā)出一個從源對象到目的對象的查詢請求,就可以輕松地得到滿足查詢要求的結(jié)果,其他復雜的關系由圖管理器、算法迭代器等屏蔽起來了。
權(quán)利要求
1.一種關聯(lián)查詢的系統(tǒng),其包括有可接收用戶查詢要求的查詢管理器及存儲有被管對象的數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng),其特征在于,進一步包括關聯(lián)關系配置管理器,存儲有被管對象間的關聯(lián)關系配置信息;圖管理器中存儲有根據(jù)被管對象間的關聯(lián)關系配置信息而生成的被管理對象的關聯(lián)關系圖;算法迭代器中存儲有預定的算法,用來求解所述關聯(lián)關系圖中的路徑,并將求解的最優(yōu)結(jié)果返回給圖管理器;所述查詢管理器可根據(jù)圖管理器返回的最優(yōu)路徑生成關聯(lián)查詢語句,并傳送給所述數(shù)據(jù)庫系統(tǒng)進行查詢。
2.如權(quán)利要求1所述的關聯(lián)查詢的系統(tǒng),其特征在于,所述關聯(lián)關系圖中包括有兩個或兩個以上的節(jié)點,每一節(jié)點包括節(jié)點數(shù)據(jù)和邊數(shù)據(jù),其中節(jié)點數(shù)據(jù)中存儲被管理對象的信息,邊數(shù)據(jù)中存儲有對象間關聯(lián)關系信息,所述關聯(lián)關系圖中的節(jié)點可以被增加、刪除或修改。
3.如權(quán)利要求1或2所述的關聯(lián)查詢的系統(tǒng),其特征在于,所述關聯(lián)關系配置管理器中的被管對象間的關聯(lián)關系配置信息通過手工編寫或者通過可視化工具生成。
4.如權(quán)利要求3所述的關聯(lián)查詢系統(tǒng),其特征在于,所述算法迭代器中的算法可以被替換。
5.一種關聯(lián)查詢的方法,其特征在于,該方法包括(a)根據(jù)被管理對象間的關聯(lián)關系建立一個關聯(lián)關系圖,該關聯(lián)關系存儲于圖管理器中;(b)查詢管理器接收來自用戶的查詢要求,并將該查詢要求轉(zhuǎn)送給圖管理器,圖管理器調(diào)用算法迭代器中的預定的算法;(c)算法迭代器根據(jù)所述算法求解所述查詢要求中從源節(jié)點到目的節(jié)點間的最優(yōu)路徑,并將該最優(yōu)路徑結(jié)果返回給圖管理器,圖管理器將該最優(yōu)路徑結(jié)果返回給查詢管理器;(d)查詢管理器接收來自圖管理器的最優(yōu)路徑,將其生成關聯(lián)查詢語句,并傳給數(shù)據(jù)庫系統(tǒng);(e)數(shù)據(jù)庫系統(tǒng)根據(jù)所述關聯(lián)查詢語句進行查詢,并將查詢結(jié)果傳回給查詢管理器。
6.如權(quán)利要求5所述的關聯(lián)查詢的方法,其特征在于,所述步驟(d)進一步包括當圖管理器返回的最優(yōu)路徑超過一個時,對這些最優(yōu)路徑進行合并,獲得一條最終的最優(yōu)路徑。
7.如權(quán)利要求6所述的關聯(lián)查詢的方法,其特征在于,所述對多個最優(yōu)路徑進行合并的步驟,包括對所述最優(yōu)路徑進行“與”運算、“或”運算、“非”運算或“與”、“或”、“非”的組合運算的步驟。
8.如權(quán)利要求7所述的關聯(lián)查詢的方法,其特征在于,所述步驟(d)中生成關聯(lián)查詢語句的步驟進一步包括根據(jù)所得到的最優(yōu)路徑生成滿足不同語法要求的查詢語句,傳給數(shù)據(jù)庫系統(tǒng)。
9.如權(quán)利要求7所述的關聯(lián)查詢的方法,其特征在于,所述步驟(d)中生成關聯(lián)查詢語句的步驟是將每條路徑單獨生成查詢語句并傳送給數(shù)據(jù)庫系統(tǒng);并在步驟(e)中將得到各個結(jié)果集進行集合的邏輯運算,所述邏輯運算包括“與”運算、“或”運算、“非”運算或“與”、“或”、“非”的復合運算。
全文摘要
本發(fā)明提供一種關聯(lián)查詢的系統(tǒng),其包括有可接收用戶查詢要求的查詢管理器、存儲有被管對象數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng)、存儲有被管對象間的關聯(lián)關系配置信息的關聯(lián)關系配置管理器、存儲有被管理對象的關聯(lián)關系圖的圖管理器及用來求解所述關聯(lián)關系圖中的路徑的算法迭代器。該查詢管理器可根據(jù)圖管理器返回的最優(yōu)路徑生成關聯(lián)查詢語句,并傳送給所述數(shù)據(jù)庫系統(tǒng)進行查詢。本發(fā)明還提供一種關聯(lián)查詢的方法。本發(fā)明通過建立被管對象的關聯(lián)關系圖,將復雜的多級關聯(lián)查詢簡化為對圖的求解,使用圖的數(shù)據(jù)結(jié)構(gòu),增加、刪除、修改被管理對象的關聯(lián)關系更加直觀方便,效率高,且其中迭代算法器中的算法可以很方便地被替換以滿足不同的要求。
文檔編號G06F17/30GK1851696SQ20051010085
公開日2006年10月25日 申請日期2005年10月26日 優(yōu)先權(quán)日2005年10月26日
發(fā)明者鄭增加, 任寶剛 申請人:華為技術有限公司