專利名稱:業(yè)務(wù)支撐系統(tǒng)進(jìn)程間關(guān)聯(lián)關(guān)系的識(shí)別方法、系統(tǒng)及服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及業(yè)務(wù)支撐領(lǐng)域,尤其涉及一種業(yè)務(wù)支撐系統(tǒng)進(jìn)程間關(guān)聯(lián)關(guān)系的識(shí)別方法、系統(tǒng)及服務(wù)器。
背景技術(shù):
近年來,隨著公司業(yè)務(wù)、集群化概念的推廣,業(yè)務(wù)支撐系統(tǒng)的主機(jī)數(shù)量規(guī)模,每臺(tái)主機(jī)上進(jìn)程數(shù)量規(guī)模在過去幾年中有了快速的增長。維護(hù)人員一方面通過自己的記憶與理解,一方面通過手工或是文本方式記錄服務(wù)器間的關(guān)聯(lián)關(guān)系,然而進(jìn)程的數(shù)量非常龐大,一旦業(yè)務(wù)發(fā)生改變,進(jìn)程發(fā)生改變,對(duì)這些文檔進(jìn)行重新的審核和修正的工作量是很大的,在業(yè)務(wù)變更、系統(tǒng)變更過程中常常忽略了關(guān)鍵的細(xì)節(jié)犯下致命的錯(cuò)誤,這給指示經(jīng)驗(yàn)的傳承、業(yè)務(wù)支撐管理效率質(zhì)量的提升帶來了可怕的隱患。 業(yè)務(wù)支撐系統(tǒng)復(fù)雜度遠(yuǎn)遠(yuǎn)超過一般的民用或企業(yè)服務(wù)器,這里的復(fù)雜度主要由三塊要素構(gòu)成一是數(shù)量,任何一個(gè)省公司的核心機(jī)房內(nèi)的服務(wù)器數(shù)量在幾百甚至千臺(tái)以上;二是應(yīng)用配制復(fù)雜,在實(shí)際的業(yè)務(wù)支撐系統(tǒng)中一般會(huì)分為五層的結(jié)構(gòu)數(shù)據(jù)庫、中間件、前臺(tái)、輔助前臺(tái)、用戶層,充斥在這五層邏輯架構(gòu)之間的各種業(yè)務(wù),尤其是諸如數(shù)據(jù)庫服務(wù)、CORBA (Common Object Request Broker Architecture,公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu))服務(wù)、WEB(網(wǎng)絡(luò))服務(wù)、負(fù)載均衡服務(wù)、管道通信服務(wù)等特殊業(yè)務(wù),這些業(yè)務(wù)都不是一對(duì)一的關(guān)系,比方說數(shù)據(jù)庫服務(wù),一般至少對(duì)外有100個(gè)以上的連接服務(wù),而每一個(gè)放射出現(xiàn)的連接服務(wù)都又由CORBA服務(wù)器在對(duì)外生成應(yīng)用連接,如果要一個(gè)個(gè)條目去統(tǒng)計(jì),連接數(shù)都以指數(shù)級(jí)別在增長;三是應(yīng)用存在迂回關(guān)聯(lián)關(guān)系,部分業(yè)務(wù)支撐系統(tǒng)的應(yīng)用存在迂回調(diào)用關(guān)系,部分迂回調(diào)用關(guān)系如圖I所示?;谏鲜鰳I(yè)務(wù)支撐系統(tǒng)特有的限制條件,普通的關(guān)聯(lián)關(guān)系捕捉技術(shù)無法滿足現(xiàn)有的業(yè)務(wù)支撐系統(tǒng),同時(shí),越來越龐大的文檔管理工作,不便于業(yè)務(wù)支撐系統(tǒng)內(nèi)各個(gè)設(shè)備之間的管理和維護(hù),所以迫切需要一套能夠自動(dòng)化、智能管理進(jìn)程關(guān)聯(lián)關(guān)系的工具。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種業(yè)務(wù)支撐系統(tǒng)進(jìn)程間關(guān)聯(lián)關(guān)系的識(shí)別方法、系統(tǒng)及服務(wù)器,用以解決業(yè)務(wù)支撐系統(tǒng)規(guī)模越來越龐大,導(dǎo)致的業(yè)務(wù)支撐系統(tǒng)內(nèi)設(shè)備之間的管理和維護(hù)越來越困難的問題。本發(fā)明實(shí)施例提供的一種業(yè)務(wù)支撐系統(tǒng)進(jìn)程間關(guān)聯(lián)關(guān)系的識(shí)別方法,包括接收用戶輸入的進(jìn)程的標(biāo)識(shí);以所述用戶輸入的進(jìn)程在業(yè)務(wù)支撐系統(tǒng)中所屬的層級(jí)為起點(diǎn),根據(jù)預(yù)先存儲(chǔ)的每個(gè)進(jìn)程與該進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的信息,以及預(yù)先設(shè)定的關(guān)聯(lián)關(guān)系規(guī)則,對(duì)所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程進(jìn)行拓?fù)溥\(yùn)算,得到與所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)?。本發(fā)明實(shí)施例提供的一種業(yè)務(wù)支撐系統(tǒng)進(jìn)程間關(guān)聯(lián)關(guān)系的識(shí)別系統(tǒng),包括
關(guān)聯(lián)實(shí)現(xiàn)服務(wù)器,用于接收用戶輸入的進(jìn)程的標(biāo)識(shí);以所述用戶輸入的進(jìn)程在業(yè)務(wù)支撐系統(tǒng)中所屬的層級(jí)為起點(diǎn),根據(jù)預(yù)先存儲(chǔ)的每個(gè)進(jìn)程與該進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的信息,以及預(yù)先設(shè)定的關(guān)聯(lián)關(guān)系規(guī)則,對(duì)所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程進(jìn)行拓?fù)溥\(yùn)算,得到與所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)?;信息收集服?wù)器,用于存儲(chǔ)每個(gè)進(jìn)程與該進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的信息;關(guān)聯(lián)規(guī)則服務(wù)器,用于存儲(chǔ)預(yù)先設(shè)定的關(guān)聯(lián)規(guī)則。本發(fā)明實(shí)施例提供的一種 關(guān)聯(lián)實(shí)現(xiàn)服務(wù)器,包括接收模塊,用于接收用戶輸入的進(jìn)程的標(biāo)識(shí);拓?fù)溆?jì)算模塊,用于以所述用戶輸入的進(jìn)程在業(yè)務(wù)支撐系統(tǒng)中所屬的層級(jí)為起點(diǎn),根據(jù)預(yù)先存儲(chǔ)的每個(gè)進(jìn)程與該進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的信息,以及預(yù)先設(shè)定的關(guān)聯(lián)關(guān)系規(guī)則,對(duì)所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程進(jìn)行拓?fù)溥\(yùn)算,得到與所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)?。本發(fā)明實(shí)施例的有益效果包括本發(fā)明實(shí)施例提供的業(yè)務(wù)支撐系統(tǒng)進(jìn)程間關(guān)聯(lián)關(guān)系的識(shí)別方法、系統(tǒng)及服務(wù)器,以用戶輸入的進(jìn)程在業(yè)務(wù)支撐系統(tǒng)中所屬的層級(jí)為起點(diǎn),根據(jù)預(yù)先存儲(chǔ)的每個(gè)進(jìn)程與該進(jìn)程的關(guān)聯(lián)進(jìn)程的信息,以及預(yù)先設(shè)定的關(guān)聯(lián)關(guān)系規(guī)則,對(duì)用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程進(jìn)行拓?fù)溥\(yùn)算,得到與用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)洹1景l(fā)明實(shí)施例根據(jù)業(yè)務(wù)支撐系統(tǒng)各設(shè)備之間的業(yè)務(wù)實(shí)現(xiàn)邏輯,劃分了對(duì)應(yīng)的層級(jí),對(duì)于用戶輸入的業(yè)務(wù)支撐系統(tǒng)中屬于任意層級(jí)的任一個(gè)進(jìn)程,都可以實(shí)現(xiàn)對(duì)該進(jìn)程與各層級(jí)的關(guān)聯(lián)進(jìn)程之間關(guān)聯(lián)關(guān)系拓?fù)涞那逦R(shí)別,解決了現(xiàn)有業(yè)務(wù)支撐系統(tǒng)規(guī)模越來越龐大,導(dǎo)致的業(yè)務(wù)支撐系統(tǒng)內(nèi)設(shè)備之間的管理和維護(hù)越來越困難的問題。
圖I為業(yè)務(wù)支撐系統(tǒng)中進(jìn)程之間存在的迂回關(guān)聯(lián)關(guān)系圖;圖2為本發(fā)明實(shí)施例提供的業(yè)務(wù)支撐系統(tǒng)關(guān)聯(lián)關(guān)系的識(shí)別方法的流程圖;圖3為本發(fā)明實(shí)施例提供的打印出進(jìn)程的7項(xiàng)關(guān)鍵信息的流程圖;圖4為本發(fā)明實(shí)施例提供的基于二叉樹算法在業(yè)務(wù)支撐網(wǎng)內(nèi)進(jìn)行進(jìn)程關(guān)聯(lián)拓?fù)涞牟灰鈭D;圖5為本發(fā)明實(shí)施例提供的使用二叉樹算法進(jìn)行拓?fù)溥\(yùn)算具體實(shí)現(xiàn)的流程圖;圖6為本發(fā)明實(shí)施例提供的業(yè)務(wù)進(jìn)程關(guān)聯(lián)關(guān)系的識(shí)別系統(tǒng)的結(jié)構(gòu)圖;圖7為本發(fā)明實(shí)施例提供的業(yè)務(wù)進(jìn)程關(guān)聯(lián)關(guān)系的識(shí)別系統(tǒng)的各服務(wù)器進(jìn)行關(guān)聯(lián)拓?fù)溥\(yùn)算的交互流程圖;圖8為本發(fā)明實(shí)施例提供的關(guān)聯(lián)實(shí)現(xiàn)服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖,對(duì)本發(fā)明實(shí)施例提供的業(yè)務(wù)支撐系統(tǒng)進(jìn)程間關(guān)聯(lián)關(guān)系的識(shí)別方法、系統(tǒng)及服務(wù)器的具體實(shí)施方式
進(jìn)行詳細(xì)地說明。本發(fā)明實(shí)施例提供的業(yè)務(wù)支撐系統(tǒng)進(jìn)程間關(guān)聯(lián)關(guān)系的識(shí)別方法,如圖2所示,包括如下步驟
S201、接收用戶輸入的進(jìn)程的標(biāo)識(shí);S202、以用戶輸入的進(jìn)程在業(yè)務(wù)支撐系統(tǒng)中所屬的層級(jí)為起點(diǎn),根據(jù)預(yù)先存儲(chǔ)的每個(gè)進(jìn)程與該進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的信息,以及預(yù)先設(shè)定的關(guān)聯(lián)關(guān)系規(guī)則,對(duì)所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程進(jìn)行拓?fù)溥\(yùn)算,得到與用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)?;為了便于用戶利用上述步驟S202得到的進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)溥M(jìn)行管理,在上述步驟S202之后,還可以包括下述步驟S203 S203、輸出并顯示與用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)涞牟襟E。本步驟S203在輸出并顯示關(guān)聯(lián)關(guān)系拓?fù)涞倪^程中,可以通過WEB圖形方式,在預(yù) 先設(shè)計(jì)好的業(yè)務(wù)結(jié)構(gòu)圖上,按照不同的層級(jí)顯示用戶輸入的進(jìn)程,以及與用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程之間的關(guān)聯(lián)關(guān)系的拓?fù)洹?下面對(duì)上述各步驟進(jìn)行詳細(xì)的說明。上述步驟S202中,每個(gè)進(jìn)程與該進(jìn)程相關(guān)的其他進(jìn)程的信息,通過收集每個(gè)進(jìn)程的關(guān)鍵信息并保存每個(gè)進(jìn)程的關(guān)鍵信息來實(shí)現(xiàn),每個(gè)進(jìn)程的關(guān)鍵信息,包括但不限于屬主、本進(jìn)程的ID(Identity,身份識(shí)別號(hào)碼)、本進(jìn)程名、本地應(yīng)用端口信息、本地IPdnternet Protocol,網(wǎng)絡(luò)互聯(lián)協(xié)議)、外聯(lián)應(yīng)用端口信息和外聯(lián)應(yīng)用IP這七項(xiàng)關(guān)鍵信息;其中本地應(yīng)用端口信息和本地IP為本進(jìn)程所使用的端口號(hào)和IP地址;外聯(lián)應(yīng)用端口信息和外聯(lián)應(yīng)用IP,為本進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程所使用的端口號(hào)和IP地址。例如目前業(yè)務(wù)支撐系統(tǒng)常用IBM(International Business Machines,國際商務(wù)機(jī)器公司)的AIX (Advanced Interactive Executive,高級(jí)交互執(zhí)行程序)服務(wù)器和許多第三方的應(yīng)用軟件,在該種業(yè)務(wù)支撐系統(tǒng)的每臺(tái)服務(wù)器中,可以使用AIX LSOF命令輸出其進(jìn)程的7項(xiàng)關(guān)鍵信息,即屬主、本進(jìn)程ID、本進(jìn)程名、本地應(yīng)用端口信息、本地IP、外聯(lián)應(yīng)用端口信息和外聯(lián)應(yīng)用IP,但輸出的格式是隨機(jī)的,可能為字符或數(shù)字,因此要獲取進(jìn)程數(shù)字形式的關(guān)鍵信息,就必須要將輸出的字符解析成數(shù)字才行。為此,本發(fā)明實(shí)施例中,可以通過對(duì)AIX LSOF(List opened files,列舉已打開文件)命令和NETSTAT(查詢網(wǎng)絡(luò)數(shù)據(jù)結(jié)構(gòu))命令的輸出文本進(jìn)行匹配整理,完整的打印出進(jìn)程的7項(xiàng)關(guān)鍵信息(或稱7要素信息),具體實(shí)現(xiàn)步驟如圖3所示,包括S301,輸入AIX LSOF命令,輸出結(jié)果,從結(jié)果中過濾出進(jìn)程的關(guān)鍵信息;S302,判斷過濾出的關(guān)鍵信息中,本地的端口信息與外聯(lián)端口信息的格式;本地端口信息和外聯(lián)端口信息的格式,可能有下述四種組合情況,如果是組合I :本地端口信息為數(shù)字、外聯(lián)端口信息為數(shù)字,那么執(zhí)行下述步驟S307 ;如果是組合2 :本地端口信息為字符、外聯(lián)端口信息為數(shù)字,則先執(zhí)行步驟S303,再執(zhí)行步驟S307 ;如果是組合3 :本地端口信息為字符、外聯(lián)端口信息為數(shù)字,則先執(zhí)行步驟S305,再執(zhí)行步驟S307 ;如果是組合4 :本地端口信息為字符、外聯(lián)端口信息為字符,就先執(zhí)行下述步驟S306,再執(zhí)行步驟 S307。S303,輸入NETSTAT命令,獲取輸出結(jié)果;如果是上述組合2,執(zhí)行下述步驟S304 ;如果是組合3,執(zhí)行下述步驟S305 ;如果是組合4,執(zhí)行下述步驟S306 ;
S304、以數(shù)字格式的外聯(lián)端口信息為輸入,從NETSTAT命令輸出的結(jié)果中匹配出對(duì)應(yīng)數(shù)字格式的本地端口信息;將匹配出的數(shù)字格式的本地端口信息替換掉原來字符形式的本地端口信息;S305、以數(shù)字格式的本地端口信息為輸入,從NETSTAT命令輸出的結(jié)果中匹配出對(duì)應(yīng)的數(shù)字格式的外聯(lián)端口信息;將匹配出的數(shù)字格式的外聯(lián)端口信息替換掉原來字符形式的外聯(lián)端口信息;S306、使用本地IP、外聯(lián)IP匹配出數(shù)字形式的本地端口信息和外聯(lián)端口信息,將匹配出的數(shù)字格式的本地端口信息和外聯(lián)端口信息替換掉原來字符形式的本地端口信息和外聯(lián)端口信息;
S307、捕捉收集好的進(jìn)程結(jié)果。經(jīng)過上述步驟S301 S307之后,最終得到,業(yè)務(wù)支撐系統(tǒng)中每臺(tái)服務(wù)器上所有進(jìn)程與外聯(lián)進(jìn)程的關(guān)鍵信息,且方法簡單、實(shí)用,基于現(xiàn)有AIX命令實(shí)現(xiàn),解決了現(xiàn)有技術(shù)中使用AIX LSOF命令輸出結(jié)果中無法匹配字符和數(shù)字的問題,可移植性與通用性高。業(yè)務(wù)支撐系統(tǒng)龐大的進(jìn)程信息群中,需要一套高效的方法來有層次的遍歷出和進(jìn)程相關(guān)且基于 TCP/IP (Transmission Control Protocol/Internet Protocol)的所有進(jìn)程信息,本發(fā)明實(shí)施例提供的方法的原理主要基于鏈?zhǔn)疥P(guān)聯(lián)和二叉樹拓?fù)鋪韺?shí)現(xiàn),在前述步驟S202中,以用戶選擇的進(jìn)程為輸入值,通過對(duì)該輸入值關(guān)聯(lián)實(shí)現(xiàn)的計(jì)算得到一連串的以輸入值進(jìn)程為根,其他每一層與之有關(guān)聯(lián)的進(jìn)程為葉子或節(jié)點(diǎn)信息的二叉樹拓?fù)?。具體實(shí)現(xiàn)過程如下執(zhí)行二叉樹算法,遍歷用戶輸入的進(jìn)程相關(guān)聯(lián)的相鄰層級(jí)的各關(guān)聯(lián)進(jìn)程,判斷該相鄰層級(jí)的關(guān)聯(lián)進(jìn)程是否符合預(yù)設(shè)的關(guān)聯(lián)規(guī)則,若是,確定該關(guān)聯(lián)進(jìn)程在第一圈的拓?fù)渲袨槿~子;否則,確定該關(guān)聯(lián)進(jìn)程在第一圈的拓?fù)渲袨楣?jié)點(diǎn),完成與用戶輸入的進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的第一圈的計(jì)算;遍歷第一圈計(jì)算結(jié)果的每個(gè)節(jié)點(diǎn),進(jìn)一步確定與該節(jié)點(diǎn)相鄰層級(jí)中相關(guān)的、且第一圈計(jì)算已涉及的進(jìn)程之外的各關(guān)聯(lián)進(jìn)程,判定確定出的各關(guān)聯(lián)進(jìn)程是否符合預(yù)設(shè)的關(guān)聯(lián)規(guī)則,若是,確定該關(guān)聯(lián)進(jìn)程在第二圈拓?fù)渲袨槿~子;否則,確定該關(guān)聯(lián)進(jìn)程在第二圈拓?fù)渲袨楣?jié)點(diǎn),完成與第一進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的第二圈的計(jì)算;重復(fù)上述過程,直至遍歷完與所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程,得到以所述用戶輸入的進(jìn)程為根節(jié)點(diǎn)的二叉樹拓?fù)浣Y(jié)構(gòu)。業(yè)務(wù)支撐系統(tǒng)的層級(jí),可以根據(jù)業(yè)務(wù)支撐系統(tǒng)的運(yùn)行邏輯,劃分為具體的層級(jí)結(jié)構(gòu),例如劃分為數(shù)據(jù)庫層、中間件層、前臺(tái)層、輔助前臺(tái)層和用戶層等。由于在實(shí)際應(yīng)用中,業(yè)務(wù)支撐系統(tǒng)的還有可能劃分出其他層級(jí),因此,如何劃分業(yè)務(wù)支撐系統(tǒng)的層級(jí),以及劃分多少層級(jí),本發(fā)明實(shí)施例并不限定。圖4為上述基于二叉樹算法在業(yè)務(wù)支撐系統(tǒng)內(nèi)進(jìn)行進(jìn)程關(guān)聯(lián)拓?fù)涞氖疽鈭D,圖4展示輸入值信息(即輸入的單個(gè)進(jìn)程的PID)為I. I. I. I :777 ;第I圈計(jì)算得出的與輸入的進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程為節(jié)點(diǎn)I、節(jié)點(diǎn)2和節(jié)點(diǎn)3,其中,節(jié)點(diǎn)I的PID為2. 2. 2. I :8000,第2圈拓?fù)溥\(yùn)算時(shí),與節(jié)點(diǎn)I相關(guān)的關(guān)聯(lián)進(jìn)程為葉子I和葉子2,與節(jié)點(diǎn)2相關(guān)的關(guān)聯(lián)進(jìn)程為節(jié)點(diǎn)4、葉子3和葉子4,總共進(jìn)行了 4圈的拓?fù)溥\(yùn)算,得到如圖4所示的以用戶輸入的進(jìn)程為根,各層級(jí)關(guān)聯(lián)進(jìn)程為節(jié)點(diǎn)或葉子的拓?fù)浣Y(jié)構(gòu)。
圖5為使用二叉樹算法進(jìn)行拓?fù)溥\(yùn)算具體實(shí)現(xiàn)的流程圖,具體操作步驟包括S501、獲取輸入進(jìn)程的PID,并從信息收集服務(wù)器獲取數(shù)據(jù)信息;S502、開始第X圈的拓?fù)?;S503、讀取關(guān)聯(lián)規(guī)則信息;S504、得到該進(jìn)程所有的外聯(lián)端口和IP信息;在本步驟S504中,第I圈的拓?fù)?,獲取的是與輸入的進(jìn)程相關(guān)的外聯(lián)端口和IP信息,目的是獲取與輸入的進(jìn)程相鄰層級(jí)的關(guān)聯(lián)進(jìn)程的PID,第N圈得拓?fù)?,則是以上一圈計(jì)算出的節(jié)點(diǎn)為基礎(chǔ),獲取該節(jié)點(diǎn)所表示的進(jìn)程的所有的外聯(lián)端口和IP信息,以確定該節(jié)點(diǎn)相關(guān)的相鄰層級(jí)的關(guān)聯(lián)進(jìn)程的PID ;S505、根據(jù)外聯(lián)端口和IP信息獲取外聯(lián)進(jìn)程的PID ;S506、判斷外聯(lián)進(jìn)程是否符合關(guān)聯(lián)規(guī)則;如果有任一點(diǎn)符合,執(zhí)行下述步驟S507 ;如果都不符合,執(zhí)行下述步驟S508 ;S507、將該外聯(lián)進(jìn)程置為“葉子”,并停止該進(jìn)程方向上的拓?fù)?;S508、將該外聯(lián)進(jìn)程置為“節(jié)點(diǎn)”,并將它作為下一圈拓?fù)涞钠瘘c(diǎn),并執(zhí)行步驟S509 ;S509、判斷圈數(shù)X是否等于M,M為整個(gè)拓?fù)溥\(yùn)算所需要的圈數(shù);如果是,執(zhí)行下述S510 ;如果不是,執(zhí)行下述S511 ;S510、將圈數(shù)標(biāo)志位加一后,轉(zhuǎn)向執(zhí)行步驟S502 ;S511、停止關(guān)聯(lián)拓?fù)?。上述步驟S506中,判斷該關(guān)聯(lián)進(jìn)程是葉子還是節(jié)點(diǎn),是以是否符合設(shè)定的關(guān)聯(lián)規(guī)則來確定的,本發(fā)明實(shí)施例中,結(jié)合業(yè)務(wù)支撐系統(tǒng)的特性,以及歷史維護(hù)經(jīng)驗(yàn),發(fā)現(xiàn)關(guān)聯(lián)規(guī)則的設(shè)定的依據(jù)主要是I、盡量減少關(guān)聯(lián)的迂回關(guān)聯(lián)路徑的出現(xiàn);2、盡量減少由數(shù)據(jù)庫產(chǎn)生的星形放射狀關(guān)聯(lián)路徑的出現(xiàn);3、盡量減少由負(fù)載均衡產(chǎn)品(例如BORLAND(寶藍(lán)公司)的負(fù)載均衡產(chǎn)品)所產(chǎn)生的星形放射狀關(guān)聯(lián)路徑出現(xiàn);4、如果沒有下層信息,無法再進(jìn)行拓?fù)洌?、針對(duì)TCP/IP的進(jìn)程通訊,由于無法控制到內(nèi)存級(jí)別的私密通訊,這種關(guān)聯(lián)進(jìn)程需要終止拓?fù)?,設(shè)為節(jié)點(diǎn)。根據(jù)上述依據(jù),本發(fā)明實(shí)施例提供設(shè)置的關(guān)聯(lián)規(guī)則如下表I所示表I
權(quán)利要求
1.一種業(yè)務(wù)支撐系統(tǒng)進(jìn)程間關(guān)聯(lián)關(guān)系的識(shí)別方法,其特征在于,包括 接收用戶輸入的進(jìn)程的標(biāo)識(shí); 以所述用戶輸入的進(jìn)程在業(yè)務(wù)支撐系統(tǒng)中所屬的層級(jí)為起點(diǎn),根據(jù)預(yù)先存儲(chǔ)的每個(gè)進(jìn)程與該進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的信息,以及預(yù)先設(shè)定的關(guān)聯(lián)關(guān)系規(guī)則,對(duì)所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程進(jìn)行拓?fù)溥\(yùn)算,得到與所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)洹?br>
2.如權(quán)利要求I所述的方法,其特征在于,所述預(yù)先存儲(chǔ)的每個(gè)進(jìn)程與該進(jìn)程相關(guān)的其他進(jìn)程的信息,通過下述方式實(shí)現(xiàn) 收集每個(gè)進(jìn)程的關(guān)鍵信息,所述關(guān)鍵信息包括屬主、本進(jìn)程的ID、本進(jìn)程名、本地應(yīng)用端口信息、本地IP、外聯(lián)應(yīng)用端口信息和外聯(lián)應(yīng)用IP ;其中所述本地應(yīng)用端口信息和本地IP為本進(jìn)程所使用的端口號(hào)和IP地址;所述外聯(lián)應(yīng)用端口信息和外聯(lián)應(yīng)用IP,為本進(jìn)程相關(guān)的其他進(jìn)程所使用的端口號(hào)和IP地址; 將每個(gè)進(jìn)程及其關(guān)鍵信息對(duì)應(yīng)存儲(chǔ)。
3.如權(quán)利要求2所述的方法,其特征在于,所述收集每個(gè)進(jìn)程的關(guān)鍵信息,具體包括 針對(duì)每個(gè)進(jìn)程,使用高級(jí)交互執(zhí)行程序的列舉已打開文件AIX LSOF命令輸出該進(jìn)程的第一關(guān)鍵信息; 判斷所輸出的關(guān)鍵信息中的本地應(yīng)用端口信息與外聯(lián)應(yīng)用端口信息的信息格式是否一致且都為數(shù)字; 若是,則將輸出的該進(jìn)程的第一關(guān)鍵信息作為所收集的關(guān)鍵信息; 若否,使用查詢網(wǎng)絡(luò)數(shù)據(jù)結(jié)構(gòu)NETSTAT命令輸出該進(jìn)程的第二關(guān)鍵信息; 當(dāng)本地應(yīng)用端口信息的信息格式為字符且外聯(lián)應(yīng)用端口的信息格式為數(shù)字時(shí),通過外聯(lián)應(yīng)用端口信息,在所述第二關(guān)鍵信息中匹配出信息格式為數(shù)字的本地應(yīng)用端口信息,并使用匹配出的本地應(yīng)用端口信息替換所述第一關(guān)鍵信息中的本地應(yīng)用端口信息,以替換后的第一關(guān)鍵信息作為所收集的關(guān)鍵信息; 當(dāng)本地應(yīng)用端口信息的信息格式為數(shù)字且外聯(lián)應(yīng)用端口的信息格式為字符時(shí),通過本地應(yīng)用端口信息,在所述第二關(guān)鍵信息中匹配出信息格式為數(shù)字的外聯(lián)應(yīng)用端口信息,并使用匹配出的外聯(lián)應(yīng)用端口信息替換所述第一關(guān)鍵信息中的外聯(lián)應(yīng)用端口信息,以替換后的第一關(guān)鍵信息作為所收集的關(guān)鍵信息; 當(dāng)本地應(yīng)用端口信息的信息格式和外聯(lián)應(yīng)用端口的信息格式均為字符時(shí),通過本地IP和外聯(lián)IP,在第二關(guān)鍵信息中匹配出數(shù)字格式的本地應(yīng)用端口信息和外聯(lián)應(yīng)用端口信息,并使用匹配出的本地應(yīng)用端口信息和外聯(lián)應(yīng)用端口信息替換第一關(guān)鍵信息中字符格式的本地應(yīng)用端口信息和外聯(lián)應(yīng)用端口信息,以替換后的第一關(guān)鍵信息作為所收集的關(guān)鍵信肩、O
4.如權(quán)利要求2所述的方法,其特征在于,對(duì)所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程進(jìn)行拓?fù)溥\(yùn)算,得到與所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)?,具體包括 執(zhí)行二叉樹算法,遍歷所述用戶輸入的進(jìn)程相關(guān)聯(lián)的相鄰層級(jí)的各關(guān)聯(lián)進(jìn)程,判斷該相鄰層級(jí)的關(guān)聯(lián)進(jìn)程是否符合預(yù)設(shè)的關(guān)聯(lián)規(guī)則,若是,確定該關(guān)聯(lián)進(jìn)程在第一圈的拓?fù)渲袨槿~子;否則,確定該關(guān)聯(lián)進(jìn)程在第一圈的拓?fù)渲袨楣?jié)點(diǎn),完成與所述用戶輸入的進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的第一圈的計(jì)算; 遍歷第一圈計(jì)算結(jié)果的每個(gè)節(jié)點(diǎn),進(jìn)一步確定與該節(jié)點(diǎn)相鄰層級(jí)中相關(guān)的、且第一圈計(jì)算已涉及的進(jìn)程之外的各關(guān)聯(lián)進(jìn)程,判定確定出的各關(guān)聯(lián)進(jìn)程是否符合預(yù)設(shè)的關(guān)聯(lián)規(guī)貝U,若是,確定該關(guān)聯(lián)進(jìn)程在第二圈拓?fù)渲袨槿~子;否則,確定該關(guān)聯(lián)進(jìn)程在第二圈拓?fù)渲袨楣?jié)點(diǎn),完成與第一進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的第二圈的計(jì)算; 直至遍歷完與所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程,得到以所述用戶輸入的進(jìn)程為根節(jié)點(diǎn)的二叉樹拓?fù)浣Y(jié)構(gòu)。
5.如權(quán)利要求4所述的方法,其特征在于,所述關(guān)聯(lián)規(guī)則,具體包括下述規(guī)則之一或任意組合 第N圈的節(jié)點(diǎn)與第N-2圈、N+2圈節(jié)點(diǎn)相同、第N圈中的節(jié)點(diǎn)為數(shù)據(jù)庫的進(jìn)程、第N圈的節(jié)點(diǎn)為負(fù)責(zé)負(fù)載均衡的進(jìn)程、沒有相關(guān)的第N+1圈的關(guān)聯(lián)進(jìn)程以及為使用內(nèi)存進(jìn)行通信的進(jìn)程。
6.如權(quán)利要求1-5任一項(xiàng)所述的方法,其特征在于,在得到與所述第一進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)渲?,還包括 輸出并顯示所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)洹?br>
7.—種業(yè)務(wù)支撐系統(tǒng)進(jìn)程間關(guān)聯(lián)關(guān)系的識(shí)別的系統(tǒng),其特征在于,包括 關(guān)聯(lián)實(shí)現(xiàn)服務(wù)器,用于接收用戶輸入的進(jìn)程的標(biāo)識(shí);以所述用戶輸入的進(jìn)程在業(yè)務(wù)支撐系統(tǒng)中所屬的層級(jí)為起點(diǎn),根據(jù)預(yù)先存儲(chǔ)的每個(gè)進(jìn)程與該進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的信息,以及預(yù)先設(shè)定的關(guān)聯(lián)關(guān)系規(guī)則,對(duì)所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程進(jìn)行拓?fù)溥\(yùn)算,得到與所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)洌? 信息收集服務(wù)器,用于存儲(chǔ)每個(gè)進(jìn)程與該進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的信息; 關(guān)聯(lián)規(guī)則服務(wù)器,用于存儲(chǔ)預(yù)先設(shè)定的關(guān)聯(lián)規(guī)則。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,還包括信息捕捉客戶端,用于收集每個(gè)進(jìn)程的關(guān)鍵信息,所述關(guān)鍵信息包括屬主、本進(jìn)程的ID、本進(jìn)程名、本地應(yīng)用端口信息、本地IP、外聯(lián)應(yīng)用端口信息和外聯(lián)應(yīng)用IP ;其中所述本地應(yīng)用端口信息和本地IP為本進(jìn)程所使用的端口號(hào)和IP地址;所述外聯(lián)應(yīng)用端口信息和外聯(lián)應(yīng)用IP,為本進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程所使用的端口號(hào)和IP地址。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述信息捕捉客戶端,進(jìn)一步用于針對(duì)每個(gè)進(jìn)程,使用高級(jí)交互執(zhí)行程序的列舉已打開文件AIX LSOF命令輸出該進(jìn)程的第一關(guān)鍵信息;判斷所輸出的關(guān)鍵信息中的本地應(yīng)用端口信息與外聯(lián)應(yīng)用端口信息的信息格式是否一致且都為數(shù)字;若是,則將輸出的該進(jìn)程的第一關(guān)鍵信息作為所收集的關(guān)鍵信息;若否,使用查詢網(wǎng)絡(luò)數(shù)據(jù)結(jié)構(gòu)NETSTAT命令輸出該進(jìn)程的第二關(guān)鍵信息;當(dāng)本地應(yīng)用端口信息的信息格式為字符且外聯(lián)應(yīng)用端口的信息格式為數(shù)字時(shí),通過外聯(lián)應(yīng)用端口信息,在所述第二關(guān)鍵信息中匹配出信息格式為數(shù)字的本地應(yīng)用端口信息,并使用匹配出的本地應(yīng)用端口信息替換所述第一關(guān)鍵信息中的本地應(yīng)用端口信息,以替換后的第一關(guān)鍵信息作為所收集的關(guān)鍵信息;當(dāng)本地應(yīng)用端口信息的信息格式為數(shù)字且外聯(lián)應(yīng)用端口的信息格式為字符時(shí),通過本地應(yīng)用端口信息,在所述第二關(guān)鍵信息中匹配出信息格式為數(shù)字的外聯(lián)應(yīng)用端口信息,并使用匹配出的外聯(lián)應(yīng)用端口信息替換所述第一關(guān)鍵信息中的外聯(lián)應(yīng)用端口信息,以替換后的第一關(guān)鍵信息作為所收集的關(guān)鍵信息;當(dāng)本地應(yīng)用端口信息的信息格式和外聯(lián)應(yīng)用端口的信息格式均為字符時(shí),通過本地IP和外聯(lián)IP,在第二關(guān)鍵信息中匹配出數(shù)字格式的本地應(yīng)用端口信息和外聯(lián)應(yīng)用端口信息,并使用匹配出的本地應(yīng)用端口信息和外聯(lián)應(yīng)用端口信息替換第一關(guān)鍵信息中字符格式的本地應(yīng)用端口信息和外聯(lián)應(yīng)用端口信息,以替換后的第一關(guān)鍵信息作為所收集的關(guān)鍵信息。
10.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述關(guān)聯(lián)實(shí)現(xiàn)服務(wù)器,具體用于執(zhí)行二叉樹算法,遍歷所述用戶輸入的進(jìn)程相關(guān)聯(lián)的相鄰層級(jí)的各關(guān)聯(lián)進(jìn)程,判斷該相鄰層級(jí)的關(guān)聯(lián)進(jìn)程是否符合預(yù)設(shè)的關(guān)聯(lián)規(guī)則,若是,確定該關(guān)聯(lián)進(jìn)程在第一圈的拓?fù)渲袨槿~子;否則,確定該關(guān)聯(lián)進(jìn)程在第一圈的拓?fù)渲袨楣?jié)點(diǎn),完成與所述用戶輸入的進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的第一圈的計(jì)算;遍歷第一圈計(jì)算結(jié)果的每個(gè)節(jié)點(diǎn),進(jìn)一步確定與該節(jié)點(diǎn)相鄰層級(jí)中相關(guān)的、且第一圈計(jì)算已涉及的進(jìn)程之外的各關(guān)聯(lián)進(jìn)程,判定確定出的各關(guān)聯(lián)進(jìn)程是否符合預(yù)設(shè)的關(guān)聯(lián)規(guī)則,若是,確定該關(guān)聯(lián)進(jìn)程在第二圈拓?fù)渲袨槿~子;否則,確定該關(guān)聯(lián)進(jìn)程在第二圈拓?fù)渲袨楣?jié)點(diǎn),完成與第一進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的第二圈的計(jì)算;直至遍歷完與所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程,得到以所述用戶輸入的進(jìn)程為根節(jié)點(diǎn)的二叉樹拓?fù)浣Y(jié)構(gòu)。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述關(guān)聯(lián)規(guī)則服務(wù)器,具體用于存儲(chǔ)關(guān)聯(lián)規(guī)則為下述規(guī)則之一或任意組合 第N圈的節(jié)點(diǎn)與第N-2圈、N+2圈節(jié)點(diǎn)相同、第N圈中的節(jié)點(diǎn)為數(shù)據(jù)庫的進(jìn)程、第N圈的節(jié)點(diǎn)為負(fù)責(zé)負(fù)載均衡的進(jìn)程、沒有相關(guān)的第N+1圈的關(guān)聯(lián)進(jìn)程以及為使用內(nèi)存進(jìn)行通信的進(jìn)程。
12.如權(quán)利要求7-11任一項(xiàng)所述的系統(tǒng),其特征在于,還包括關(guān)聯(lián)拓?fù)湔故痉?wù)器,用于輸出并顯示所述第一進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)洹?br>
13.一種關(guān)聯(lián)實(shí)現(xiàn)服務(wù)器,其特征在于,包括 接收模塊,用于接收用戶輸入的進(jìn)程的標(biāo)識(shí); 拓?fù)溆?jì)算模塊,用于以所述用戶輸入的進(jìn)程在業(yè)務(wù)支撐系統(tǒng)中所屬的層級(jí)為起點(diǎn),根據(jù)預(yù)先存儲(chǔ)的每個(gè)進(jìn)程與該進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的信息,以及預(yù)先設(shè)定的關(guān)聯(lián)關(guān)系規(guī)則,對(duì)所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程進(jìn)行拓?fù)溥\(yùn)算,得到與所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)洹?br>
14.如權(quán)利要求13所述的關(guān)聯(lián)實(shí)現(xiàn)服務(wù)器,其特征在于,所述拓?fù)溆?jì)算模塊,進(jìn)一步用于執(zhí)行二叉樹算法,遍歷所述用戶輸入的進(jìn)程相關(guān)聯(lián)的相鄰層級(jí)的各關(guān)聯(lián)進(jìn)程,判斷該相鄰層級(jí)的關(guān)聯(lián)進(jìn)程是否符合預(yù)設(shè)的關(guān)聯(lián)規(guī)則,若是,確定該關(guān)聯(lián)進(jìn)程在第一圈的拓?fù)渲袨槿~子;否則,確定該關(guān)聯(lián)進(jìn)程在第一圈的拓?fù)渲袨楣?jié)點(diǎn),完成與所述用戶輸入的進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的第一圈的計(jì)算;遍歷第一圈計(jì)算結(jié)果的每個(gè)節(jié)點(diǎn),進(jìn)一步確定與該節(jié)點(diǎn)相鄰層級(jí)中相關(guān)的、且第一圈計(jì)算已涉及的進(jìn)程之外的各關(guān)聯(lián)進(jìn)程,判定確定出的各關(guān)聯(lián)進(jìn)程是否符合預(yù)設(shè)的關(guān)聯(lián)規(guī)則,若是,確定該關(guān)聯(lián)進(jìn)程在第二圈拓?fù)渲袨槿~子;否則,確定該關(guān)聯(lián)進(jìn)程在第二圈拓?fù)渲袨楣?jié)點(diǎn),完成與第一進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的第二圈的計(jì)算;直至遍歷完與所述用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程,得到以所述用戶輸入的進(jìn)程為根節(jié)點(diǎn)的二叉樹拓?fù)浣Y(jié)構(gòu)。
全文摘要
本發(fā)明公開了一種業(yè)務(wù)支撐系統(tǒng)進(jìn)程間關(guān)聯(lián)關(guān)系的識(shí)別方法、系統(tǒng)及服務(wù)器。其中,該方法包括接收用戶輸入的進(jìn)程的標(biāo)識(shí);以用戶輸入的進(jìn)程在業(yè)務(wù)支撐系統(tǒng)中所屬的層級(jí)為起點(diǎn),根據(jù)預(yù)先存儲(chǔ)的每個(gè)進(jìn)程與該進(jìn)程相關(guān)的關(guān)聯(lián)進(jìn)程的信息,以及預(yù)先設(shè)定的關(guān)聯(lián)關(guān)系規(guī)則,對(duì)用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程進(jìn)行拓?fù)溥\(yùn)算,得到與用戶輸入的進(jìn)程相關(guān)的各層級(jí)的關(guān)聯(lián)進(jìn)程的關(guān)聯(lián)關(guān)系的拓?fù)?。本發(fā)明提供的上述業(yè)務(wù)支撐系統(tǒng)進(jìn)程關(guān)聯(lián)關(guān)系的識(shí)別方法、系統(tǒng)及服務(wù)器,解決了現(xiàn)有技術(shù)中業(yè)務(wù)支撐系統(tǒng)規(guī)模越來越龐大,導(dǎo)致業(yè)務(wù)支撐系統(tǒng)內(nèi)設(shè)備之間的管理和維護(hù)越來越困難的問題。
文檔編號(hào)H04L12/24GK102957555SQ20111025001
公開日2013年3月6日 申請(qǐng)日期2011年8月29日 優(yōu)先權(quán)日2011年8月29日
發(fā)明者林磊胤 申請(qǐng)人:中國移動(dòng)通信集團(tuán)上海有限公司