專(zhuān)利名稱(chēng):免復(fù)現(xiàn)快速問(wèn)題定位及系統(tǒng)診斷的通用系統(tǒng)方法
技術(shù)領(lǐng)域:
本發(fā)明應(yīng)用于軟件系統(tǒng)及通過(guò)軟件完成系統(tǒng)信息描述與診斷的相關(guān)系統(tǒng),涉及免復(fù)現(xiàn)快速問(wèn)題定位與系統(tǒng)信息描述與診斷的通用系統(tǒng)方法,以便于各類(lèi)人員采取恰當(dāng)?shù)钠ヅ浯胧﹣?lái)及時(shí)處理問(wèn)題或診斷系統(tǒng)狀態(tài)。
背景技術(shù):
隨著信息技術(shù)的全方位普及與各類(lèi)應(yīng)用需求不斷的增長(zhǎng)變化,硬件設(shè)備與各層次軟件系統(tǒng)都在向復(fù)雜化與精細(xì)化方向發(fā)展進(jìn)化,由于軟件系統(tǒng)自身的特點(diǎn)與現(xiàn)有的開(kāi)發(fā)模式,軟件系統(tǒng)也因此變得越來(lái)越龐大,層次也越來(lái)越多,相互之間進(jìn)而逐漸形成了層層依賴(lài)的結(jié)構(gòu)關(guān)系,由此帶來(lái)了開(kāi)發(fā)測(cè)試周期不斷增長(zhǎng)以應(yīng)付各式各樣的設(shè)計(jì)與實(shí)現(xiàn)問(wèn)題,而更加驚人的現(xiàn)實(shí)是在各式各樣資源要素的制約與諸如競(jìng)爭(zhēng)之類(lèi)的壓力下,進(jìn)一步產(chǎn)生了形形色色難以完全杜絕的異常問(wèn)題與非技術(shù)問(wèn)題。而對(duì)于設(shè)計(jì)與開(kāi)發(fā)人員,為了解決此類(lèi)問(wèn)題,不得不耗費(fèi)大量的時(shí)間與精力在問(wèn)題的現(xiàn)象分析,現(xiàn)象重現(xiàn),問(wèn)題定位,問(wèn)題分析,原因分析及解決方案設(shè)計(jì)上,這些不僅僅對(duì)本已緊張的人力資源形成過(guò)量消耗而且大幅度增加了發(fā)現(xiàn)解決問(wèn)題的時(shí)間,而且對(duì)于時(shí)刻處于運(yùn)營(yíng)服務(wù)中的各類(lèi)應(yīng)用系統(tǒng)來(lái)說(shuō)無(wú)疑是一個(gè)致命傷。
從用戶(hù)使用角度來(lái)看,當(dāng)一個(gè)系統(tǒng)出現(xiàn)問(wèn)題時(shí)如果無(wú)法及時(shí)獲知問(wèn)題產(chǎn)生原因的相關(guān)信息,要么根據(jù)現(xiàn)象與自身的經(jīng)驗(yàn)猜測(cè)問(wèn)題的解決方式,要么就不得不被迫被動(dòng)的等待設(shè)備相關(guān)技術(shù)支持機(jī)構(gòu)來(lái)對(duì)問(wèn)題進(jìn)行分析解決,在前一種情況下由于無(wú)法第一時(shí)間根據(jù)問(wèn)題的原因與影響范圍采取更為準(zhǔn)確恰當(dāng)?shù)慕鉀Q方式,只能依據(jù)經(jīng)驗(yàn)進(jìn)行模糊分析,可能由此產(chǎn)生錯(cuò)誤的方式將問(wèn)題擴(kuò)大化;后一種情況下由于技術(shù)支持機(jī)構(gòu)本身的局限性,很多問(wèn)題還得重新周轉(zhuǎn)到開(kāi)發(fā)人員處進(jìn)行進(jìn)一步分析,再加上其它各種各樣的因素,一個(gè)本身可能極為簡(jiǎn)單的問(wèn)題消耗了巨大的時(shí)間與人員的精力,對(duì)于時(shí)間上要求極高的系統(tǒng)來(lái)說(shuō)無(wú)疑是災(zāi)難性的。
從以上描述不難看出,由于現(xiàn)有開(kāi)發(fā)模式對(duì)問(wèn)題定位解決方式存在著觀念上的局限與理論上的不系統(tǒng)化,導(dǎo)致系統(tǒng)實(shí)現(xiàn)上沒(méi)有對(duì)該問(wèn)題無(wú)法形成全方位的多級(jí)服務(wù),進(jìn)而對(duì)系統(tǒng)可能存在的問(wèn)題無(wú)法形成及時(shí)有效的處理,現(xiàn)有設(shè)備與系統(tǒng)面臨著巨大的挑戰(zhàn)。為了從根本上解決該問(wèn)題,就需要對(duì)系統(tǒng)的設(shè)計(jì)開(kāi)發(fā)過(guò)程尤其是軟件系統(tǒng)的開(kāi)發(fā)過(guò)程進(jìn)行機(jī)制分析與問(wèn)題提取,由此才能發(fā)現(xiàn)解決該問(wèn)題需要真正考慮的要素并進(jìn)而合理的解決問(wèn)題。
分析整個(gè)開(kāi)發(fā)過(guò)程中的主要瓶頸,除了因?yàn)樾枨笈c設(shè)計(jì)過(guò)程中所必須的先期時(shí)間投入外,一個(gè)主要而漫長(zhǎng)的時(shí)間消耗存在于各種不同類(lèi)型的測(cè)試之中,這個(gè)步驟對(duì)于系統(tǒng)的質(zhì)量性能有著決定性的作用,但從實(shí)際情況來(lái)看,該過(guò)程很多時(shí)間是放在了與測(cè)試用例無(wú)關(guān)的其他處理上如問(wèn)題重現(xiàn),問(wèn)題定位(包括初步定位與精確定位),問(wèn)題負(fù)責(zé)人查找與問(wèn)題原因查找上;該過(guò)程中存在的另一個(gè)問(wèn)題是如何能夠在系統(tǒng)出現(xiàn)某類(lèi)異常情況下可能產(chǎn)生大量的連鎖輸出信息中發(fā)現(xiàn)所有應(yīng)該發(fā)現(xiàn)的系統(tǒng)錯(cuò)誤,避免人為因素所導(dǎo)致的問(wèn)題忽略,從而最大限度預(yù)防忽略的問(wèn)題在正式發(fā)布的系統(tǒng)中出現(xiàn)。如果能夠通過(guò)一種或多種方式能更加有效的保證測(cè)試人員將精力放在真正需要關(guān)心的問(wèn)題上,則要么大大縮短開(kāi)發(fā)過(guò)程所需時(shí)間,要么能進(jìn)行更為充分的系統(tǒng)測(cè)試,避免潛在問(wèn)題。因此如何能深入發(fā)掘各種潛在的問(wèn)題便成為了這其中的一個(gè)核心議題。
針對(duì)系統(tǒng)發(fā)布后所面臨的另一個(gè)挑戰(zhàn)可維護(hù)性,分析現(xiàn)有維護(hù)方式所面臨的挑戰(zhàn)隨著系統(tǒng)的成熟與交付使用,非開(kāi)發(fā)人員(工程人員與技術(shù)支持人員)與最終客戶(hù)對(duì)系統(tǒng)的使用成為了系統(tǒng)真正的考驗(yàn),在此階段中一旦發(fā)現(xiàn)問(wèn)題不僅要求快速的實(shí)時(shí)響應(yīng),而且伴隨著這個(gè)階段自身的特點(diǎn)所帶來(lái)的隨機(jī)性與相應(yīng)的環(huán)境條件限制,非開(kāi)發(fā)人員與用戶(hù)都只能在一定程度上完成問(wèn)題的發(fā)現(xiàn)與解決,相當(dāng)一部分問(wèn)題由于涉及輸出信息的專(zhuān)業(yè)程度性最終還是不得不回到開(kāi)發(fā)人員的手中來(lái)解決,無(wú)論是找到真正相關(guān)的開(kāi)發(fā)人員還是由開(kāi)發(fā)人員發(fā)現(xiàn)真正的問(wèn)題所在都將成為這一期間系統(tǒng)時(shí)間消耗的大戶(hù),此時(shí)開(kāi)發(fā)人員自然而然的成為了系統(tǒng)解決問(wèn)題的瓶頸所在,如果某些問(wèn)題本身能夠通過(guò)間接方式由非開(kāi)發(fā)人員與用戶(hù)來(lái)解決,則該問(wèn)題的最終解決將形成雙線(xiàn)并行方式,各類(lèi)人員都能夠被允許參與到問(wèn)題的解決中來(lái),系統(tǒng)整體的智能化就由以往的集約制變成了分布式,這將是一個(gè)根本性的變更。
綜上所述不難看到,無(wú)論從應(yīng)用角度還是從設(shè)計(jì)開(kāi)發(fā)角度,采用不同層次的各類(lèi)方式方法來(lái)方便與縮短整個(gè)開(kāi)發(fā)過(guò)程與降低維護(hù)難度已經(jīng)成為前期系統(tǒng)設(shè)計(jì)開(kāi)發(fā)中的重中之重。為了應(yīng)付這其中多種多樣的復(fù)雜化挑戰(zhàn),需要建立系統(tǒng)化的策略與方法,既從理論上保證靈活性與通用性,又從實(shí)現(xiàn)上保證方便性與簡(jiǎn)單性,只有如此方能真正保證方法的實(shí)施效果,實(shí)現(xiàn)用戶(hù)與設(shè)備廠商的雙贏,避免把矛盾的解決停留在書(shū)面上。
由于該問(wèn)題涉及面較廣,跨越從理論到實(shí)踐再到維護(hù)多個(gè)環(huán)節(jié),需要各方人員的共同支持,再加上研發(fā)階段該問(wèn)題有臨時(shí)的解決策略,因此目前的系統(tǒng)設(shè)計(jì)開(kāi)發(fā)針對(duì)這類(lèi)需求普遍缺乏完整的系統(tǒng)策略,采用的方法一般都較為簡(jiǎn)單首先在所有的異常分支處打印相關(guān)異常信息,在其中包括相關(guān)模塊標(biāo)志以及語(yǔ)言標(biāo)準(zhǔn)中所提供的文件名與代碼行號(hào);一旦產(chǎn)生問(wèn)題,由發(fā)現(xiàn)問(wèn)題的人員通知各負(fù)責(zé)人,負(fù)責(zé)人通過(guò)查找發(fā)現(xiàn)問(wèn)題所對(duì)應(yīng)的系統(tǒng)版本號(hào)并下載相應(yīng)的軟件版本后,結(jié)合輸出信息完成基本定位,再通過(guò)問(wèn)題重現(xiàn)來(lái)獲取上下文信息從而完成問(wèn)題分析,最后解決問(wèn)題。
在這樣的傳統(tǒng)問(wèn)題處理模式下存在著種種不盡如人意之處首先從整個(gè)過(guò)程角度來(lái)看,這樣的處理方式類(lèi)似串行處理模式,由于無(wú)法建立起從問(wèn)題發(fā)現(xiàn)人到問(wèn)題模塊負(fù)責(zé)人之間的直接對(duì)應(yīng)關(guān)系導(dǎo)致了過(guò)程冗長(zhǎng),處理解決問(wèn)題所消耗的時(shí)間極長(zhǎng),一旦發(fā)現(xiàn)問(wèn)題的人員經(jīng)驗(yàn)不豐富或者不了解系統(tǒng)組成,還得采用層層通報(bào)方式來(lái)完成問(wèn)題的最終定位,此期間除了更換設(shè)備外問(wèn)題發(fā)現(xiàn)人幾乎無(wú)法做任何補(bǔ)救,實(shí)際中很多時(shí)候是沒(méi)有可能更換設(shè)備,如果存在著跨多模塊多層次的多個(gè)問(wèn)題時(shí),時(shí)間還會(huì)成倍增加;另一個(gè)成為該處理模式瓶頸之處則是開(kāi)發(fā)人員在版本獲取中受到相關(guān)工具與服務(wù)器的限制與制約,在絕大多數(shù)情況下將與問(wèn)題本身關(guān)系不大的版本問(wèn)題始終置于要應(yīng)付事務(wù)之列不能不說(shuō)是值得考慮改進(jìn)的一個(gè)內(nèi)容。不僅在所有階段導(dǎo)致各類(lèi)人員將很多時(shí)間用于負(fù)責(zé)人聯(lián)系方面,而且對(duì)系統(tǒng)來(lái)說(shuō)引入了巨大的風(fēng)險(xiǎn)與鏈?zhǔn)綋p失。
由于系統(tǒng)自身的復(fù)雜性與大多數(shù)系統(tǒng)所采用的命名標(biāo)準(zhǔn),語(yǔ)言標(biāo)準(zhǔn)中提供用來(lái)標(biāo)定相應(yīng)版本中輸出位置的文件名與代碼行號(hào)對(duì)有限的輸出緩沖資源的消耗極大,隨之而來(lái)的副作用是該方式嚴(yán)重影響了問(wèn)題相關(guān)上下文信息表現(xiàn)的完整性,再此基礎(chǔ)上進(jìn)一步產(chǎn)生的問(wèn)題是開(kāi)發(fā)人員經(jīng)常不得不通過(guò)重現(xiàn)來(lái)重復(fù)該問(wèn)題的產(chǎn)生過(guò)程,一方面問(wèn)題重現(xiàn)本身產(chǎn)生了巨大延遲,另一方面是此種處理方式對(duì)偶然性事件的反應(yīng)能力可能因?yàn)槿藶樵蚨獾胶雎?,而一旦其他測(cè)試過(guò)程沒(méi)有發(fā)現(xiàn)該問(wèn)題的話(huà)其潛在的危害可能關(guān)乎整個(gè)過(guò)程的成敗,尤為特別的是在多任務(wù)并發(fā)的系統(tǒng)交互臨界狀態(tài)由于多個(gè)物理因素產(chǎn)生的不確定性導(dǎo)致一些重現(xiàn)過(guò)程極為艱難甚至難以人工重現(xiàn),此時(shí)只能依賴(lài)于工程師的運(yùn)氣與經(jīng)驗(yàn),這些都構(gòu)成了潛在的系統(tǒng)質(zhì)量風(fēng)險(xiǎn)。
該處理模式另外一個(gè)顯著的缺點(diǎn)是由于系統(tǒng)的層層嵌套,因此一個(gè)異常出錯(cuò)往往導(dǎo)致一系列異常輸出,最終形成的輸出信息可能繁多,由于輸出本身對(duì)于系統(tǒng)資源的消耗嚴(yán)重,因此會(huì)大幅度影響對(duì)時(shí)間要求極為苛刻的實(shí)時(shí)系統(tǒng)性能,而在如今多任務(wù)普遍存在的情況下,單任務(wù)在輸出所消耗的時(shí)間資源可能導(dǎo)致系統(tǒng)任務(wù)切換并由此產(chǎn)生的可能輸出丟失,凡此種種都是對(duì)解決問(wèn)題的影響因素。
為了克服當(dāng)前解決問(wèn)題方法的缺陷并擴(kuò)展性的滿(mǎn)足當(dāng)前解決問(wèn)題的相關(guān)需求,提供系統(tǒng)以值得信賴(lài)的高效保障手段已成為一項(xiàng)緊迫需求。
發(fā)明內(nèi)容
本發(fā)明的目的是在使用軟件的系統(tǒng)以及能提供類(lèi)似信息輸出及合成手段的其他系統(tǒng)中通過(guò)使用一種系統(tǒng)化策略來(lái)完成系統(tǒng)動(dòng)態(tài)運(yùn)行中某一類(lèi)關(guān)鍵性信息的表現(xiàn)描述及整體合成,基于能自動(dòng)過(guò)濾冗余信息的標(biāo)準(zhǔn),以自適應(yīng)輸出標(biāo)準(zhǔn)服務(wù)接口形式保證在異常分析及系統(tǒng)運(yùn)行狀態(tài)診斷中重要的信息與數(shù)據(jù)能夠得到完整輸出及實(shí)施簡(jiǎn)化,從而保證各類(lèi)人員能夠免復(fù)現(xiàn)的進(jìn)行快速問(wèn)題定位及系統(tǒng)運(yùn)行狀態(tài)診斷,以大概率方式避免解決問(wèn)題過(guò)程中所需的多項(xiàng)冗余步驟,問(wèn)題解決人員也能快速將關(guān)注點(diǎn)集中在解決問(wèn)題所需要的上下文信息上,同時(shí)弱化問(wèn)題監(jiān)測(cè)上報(bào)與解決所需要的專(zhuān)業(yè)化程度。即不僅能多層次精確表現(xiàn)問(wèn)題發(fā)生地及上下文,而且能通過(guò)一整套相關(guān)策略給開(kāi)發(fā)維護(hù)帶來(lái)多方位的變革與優(yōu)化。
本發(fā)明的具體特性包括
以系統(tǒng)化策略來(lái)完成信息的系統(tǒng)化描述、分類(lèi)緩存堆棧式合成、自適應(yīng)輸出標(biāo)準(zhǔn)服務(wù)接口、信息冗余自動(dòng)消除四大功能。
信息的系統(tǒng)化描述從技術(shù)角度避免實(shí)際測(cè)試中非常容易產(chǎn)生的問(wèn)題忽略,減少定位過(guò)程中對(duì)發(fā)現(xiàn)問(wèn)題人員的專(zhuān)業(yè)化程度的依賴(lài)性,從而使問(wèn)題的初步定位能從任意一個(gè)對(duì)系統(tǒng)沒(méi)有絲毫了解的人發(fā)起完成,通過(guò)避免傳統(tǒng)的串行處理流程,不僅對(duì)不同軟件版本的依賴(lài)性大大減弱并大概率避免處理該問(wèn)題所帶來(lái)繁瑣與時(shí)間消耗,而且能避免采用傳統(tǒng)方式表現(xiàn)問(wèn)題發(fā)源地時(shí)所帶來(lái)的過(guò)資源消耗及多變性。
通過(guò)分類(lèi)堆棧式信息整合完成上下文信息表現(xiàn)、關(guān)注點(diǎn)信息集中及冗余信息簡(jiǎn)化,保證問(wèn)題處理中的整體性,加速問(wèn)題解決人對(duì)問(wèn)題產(chǎn)生原因的理解,實(shí)現(xiàn)以盡量大的概率避免解決問(wèn)題中所需要的問(wèn)題重現(xiàn)過(guò)程,從而大大加速問(wèn)題解決所需時(shí)間,對(duì)于關(guān)鍵性系統(tǒng)該特征無(wú)疑將具有極大的價(jià)值。
通過(guò)采用自適應(yīng)輸出標(biāo)準(zhǔn)服務(wù)接口保障信息上報(bào)的完備性,充分確保待輸出的上下文數(shù)據(jù)信息能充分上報(bào),并最大限度減輕實(shí)施中可能產(chǎn)生的復(fù)雜性,減少重要的I/O資源消耗及避免可能引起的擴(kuò)展問(wèn)題。
通過(guò)信息冗余自過(guò)濾策略保證了有限緩沖的利用效率,簡(jiǎn)化了整體機(jī)制的實(shí)現(xiàn),避免牽涉考慮無(wú)關(guān)問(wèn)題。
實(shí)際實(shí)施過(guò)程中通過(guò)整體策略與原則制定的完備性配合實(shí)施過(guò)程的公共服務(wù)接口來(lái)共同保證該解決方案的有效性、簡(jiǎn)單性、可行性。
以下各圖分別以數(shù)字形式表明文字說(shuō)明中的相應(yīng)對(duì)象,對(duì)部分非常用標(biāo)志在左下角處予以了圖例式說(shuō)明圖1顯示了本發(fā)明中的實(shí)現(xiàn)架構(gòu)、基本應(yīng)用對(duì)象、擴(kuò)展應(yīng)用對(duì)象、應(yīng)用模式,標(biāo)號(hào)4所示對(duì)象代表了一個(gè)層次化的模塊軟件系統(tǒng),這是本發(fā)明的基本應(yīng)用對(duì)象。標(biāo)號(hào)2與標(biāo)號(hào)3所示對(duì)象是通過(guò)標(biāo)號(hào)4所指軟件系統(tǒng)來(lái)提供各自信息的物理或邏輯實(shí)體,則代表了本發(fā)明的擴(kuò)展應(yīng)用對(duì)象。標(biāo)號(hào)1則顯示了在標(biāo)號(hào)4所指軟件系統(tǒng)中的某一模塊以堆棧形式實(shí)施應(yīng)用本發(fā)明的調(diào)用過(guò)程,其中左方逐漸伸長(zhǎng)的方形塊與右方逐漸縮短的方形塊分別代表了該模塊在某一種情況下調(diào)用多個(gè)函數(shù)以及調(diào)用完成后函數(shù)依次出棧的過(guò)程,這之中明顯的表示出了在該模塊出口處需要完成處理調(diào)用過(guò)程,該過(guò)程與正下方所對(duì)的非出口處需要完成的處理調(diào)用過(guò)程不同,以表明不同情況下的處理要求,另外存在著一格空白的方塊則表明某些情況下的毋須進(jìn)行不必要的處理調(diào)用過(guò)程。標(biāo)號(hào)5作為一個(gè)向標(biāo)號(hào)4所指軟件系統(tǒng)提供自適應(yīng)信息合成輸出服務(wù)的接口,以多個(gè)橢圓形標(biāo)號(hào)顯示了該服務(wù)接口的多樣性,標(biāo)號(hào)5之上的多個(gè)人形則象征著可使用標(biāo)號(hào)5所提供信息的多個(gè)角色;圖2顯示了對(duì)異常情況進(jìn)行處理時(shí)采用的各類(lèi)緩沖結(jié)構(gòu)以及相互間的聯(lián)系,在此種情況下存在著兩種類(lèi)型的專(zhuān)用緩存特殊異常特征點(diǎn)緩存與公共特征異常點(diǎn)緩存,這兩種類(lèi)型的專(zhuān)用緩存將會(huì)在自適應(yīng)信息合成輸出服務(wù)接口的調(diào)用過(guò)程中被裝配到綜合緩沖,標(biāo)號(hào)3下的黑實(shí)線(xiàn)表明了二者在綜合緩沖中存在著分界,這將對(duì)信息的分析診斷過(guò)程幫助關(guān)注點(diǎn)的準(zhǔn)確集中,標(biāo)號(hào)4附近的虛線(xiàn)則表明了單次輸出最大長(zhǎng)度緩沖相對(duì)于綜合緩沖長(zhǎng)度的不同之處,前者來(lái)源于底層輸出限制,后者則來(lái)源于應(yīng)用需求與內(nèi)存大小的綜合協(xié)調(diào)結(jié)果;圖3顯示了對(duì)系統(tǒng)進(jìn)行診斷時(shí)采用的各類(lèi)緩沖結(jié)構(gòu)以及相互間的聯(lián)系,此種情形與圖2基本一致,相關(guān)原理參照?qǐng)D2不難得出;圖4則相對(duì)于圖2與圖3放大顯示了某專(zhuān)用類(lèi)型緩沖的內(nèi)部構(gòu)成,在專(zhuān)用類(lèi)型緩沖中以嵌套方式疊加了多層次自描述信息,其中第一層自描述信息與其他層次的自描述信息結(jié)構(gòu)不同,是主要的診斷信息之一,另外最后一層自描述信息也由于表明了關(guān)鍵性信息來(lái)源以及上下文也是主要的診斷信息之一,在關(guān)鍵上下文信息齊備的情況下綜合這些信息即可以一次性了解某情況的前因后果,不需要再次完成該問(wèn)題的復(fù)現(xiàn);圖5對(duì)實(shí)現(xiàn)本發(fā)明的完成過(guò)程進(jìn)行了流程式說(shuō)明,詳見(jiàn)具體實(shí)施方式
中的對(duì)應(yīng)說(shuō)明。
本發(fā)明已經(jīng)通過(guò)的詳細(xì)說(shuō)明與附圖對(duì)原理機(jī)制及某實(shí)施實(shí)例進(jìn)行了詳細(xì)描述,雖然基于發(fā)明原理易于生成格式不同的實(shí)例,然而應(yīng)該理解,本發(fā)明不局限于某一實(shí)施實(shí)例,而相反,本發(fā)明覆蓋了權(quán)利要求范圍內(nèi)的所有修改,等價(jià)形式與替代形式。
具體實(shí)施例方式
本發(fā)明涉及的定義概念解釋如下模塊完成某一功能的邏輯實(shí)體非公用函數(shù)與公用函數(shù)如某一函數(shù)只被一個(gè)函數(shù)所調(diào)用或只在某一種特定輸入情況下被調(diào)用,該函數(shù)稱(chēng)為非公用函數(shù),否則稱(chēng)為公用函數(shù)。
單一處理某一層次中對(duì)于該層次而言的原子操作,調(diào)用某函數(shù)也屬于此類(lèi)。
異常特征點(diǎn)如某單一處理中(或后)存在出現(xiàn)異常的可能性,則相關(guān)異常處理分支及該單一處理合稱(chēng)為一個(gè)異常特征點(diǎn)。
特殊異常特征點(diǎn)與公共異常特征點(diǎn)除特殊異常特征點(diǎn)以外的異常特征點(diǎn)如果不屬于以下類(lèi)型則稱(chēng)為公用異常特征點(diǎn)如果某一異常特征點(diǎn)所在函數(shù)為非公用函數(shù),且該異常特征點(diǎn)的對(duì)應(yīng)處理步驟在該函數(shù)內(nèi)只直接調(diào)用過(guò)一次,則此異常特征點(diǎn)稱(chēng)為特殊異常特征點(diǎn)。
如某特殊異常特征點(diǎn)對(duì)應(yīng)處理步驟為調(diào)用該特殊異常特征點(diǎn)所在模塊內(nèi)的公用函數(shù),則在該調(diào)用該公共函數(shù)時(shí)所形成的層層模塊內(nèi)函數(shù)調(diào)用嵌套中,如某一中間調(diào)用函數(shù)在該特殊異常特征點(diǎn)對(duì)應(yīng)處理步驟所調(diào)用的所有函數(shù)中步驟過(guò)程中只出現(xiàn)過(guò)一次(此類(lèi)型異常特征點(diǎn)不直接產(chǎn)生異常問(wèn)題,且該函數(shù)調(diào)用過(guò)程可基于本發(fā)明中的系統(tǒng)自描述機(jī)制可通過(guò)最底層的異常特征點(diǎn)來(lái)回溯,因此不做考慮,此類(lèi)情況在實(shí)際中較多)。
系統(tǒng)模塊級(jí)特征調(diào)用深度絕大多數(shù)情況下系統(tǒng)都是由很多個(gè)模塊構(gòu)成,每個(gè)模塊基于類(lèi)似函數(shù)調(diào)用的方式形成層層關(guān)聯(lián)的堆棧式結(jié)構(gòu),單個(gè)模塊各個(gè)分支中含有公共異常特征點(diǎn)的最大函數(shù)個(gè)數(shù)稱(chēng)為系統(tǒng)模塊級(jí)特征型調(diào)用深度。
由于系統(tǒng)的可變性,該數(shù)值具有一定的變化范圍。
一級(jí)特征標(biāo)志一個(gè)能表明出現(xiàn)目標(biāo)存在性及相關(guān)二維來(lái)源的字符串,該字符串由三部分組成層次標(biāo)志+模塊標(biāo)志+特征符號(hào),分別標(biāo)志上報(bào)信息模塊所在層次、所在模塊、目標(biāo)類(lèi)型。
該信息能有效幫助各類(lèi)非研發(fā)負(fù)責(zé)人員處理問(wèn)題,并能結(jié)合二級(jí)特征標(biāo)志為研發(fā)負(fù)責(zé)人員提供快速定位幫助。
二級(jí)特征標(biāo)志一個(gè)數(shù)字,作為ID在全系統(tǒng)內(nèi)唯一標(biāo)志某異常特征點(diǎn),該特征點(diǎn)唯一的對(duì)應(yīng)某一異常分支及相關(guān)單一處理。
本發(fā)明的目的通過(guò)以下步驟完成(1)系統(tǒng)層次模塊劃分與第一層特征標(biāo)志分配為完成某一類(lèi)系統(tǒng)輸出信息的模塊級(jí)定位,首先基于系統(tǒng)總體架構(gòu)設(shè)計(jì)對(duì)系統(tǒng)進(jìn)行層次劃分,層次劃分原則可根據(jù)與硬件的相關(guān)性、與應(yīng)用的相關(guān)性、功能類(lèi)型及與對(duì)外接口類(lèi)型進(jìn)行。
而后根據(jù)系統(tǒng)層次劃分結(jié)果對(duì)各個(gè)層次進(jìn)行進(jìn)一步模塊劃分,模塊劃分標(biāo)準(zhǔn)以操作系統(tǒng)任務(wù)調(diào)度的單個(gè)邏輯實(shí)體為基本標(biāo)準(zhǔn),對(duì)于沒(méi)有采用操作系統(tǒng)的系統(tǒng)可基于模塊所完成的需求類(lèi)型與具體實(shí)現(xiàn)功能來(lái)劃分。
接著對(duì)系統(tǒng)劃分出的各個(gè)層次與各層次模塊分別統(tǒng)一分配一級(jí)特征標(biāo)志,該一級(jí)特征標(biāo)志組成方式為層次標(biāo)志+模塊標(biāo)志+特征符號(hào)。層次標(biāo)志面向已劃分出的各個(gè)層次分配全系統(tǒng)唯一的層次標(biāo)志符,所占用比特位數(shù)著眼將來(lái)的可能變化;模塊標(biāo)志則在某一層次已劃分出的各個(gè)模塊中保證其唯一性,在此基礎(chǔ)上可根據(jù)實(shí)際可用資源情形進(jìn)行精煉壓縮;特征符號(hào)采用系統(tǒng)中使用概率極小的字符或字符組合形式固定命名,以唯一標(biāo)志本類(lèi)型輸出信息,同時(shí)能幫助信息分析者有效完成信息過(guò)濾與關(guān)注點(diǎn)匯聚,保證快速發(fā)現(xiàn)目標(biāo)信息。
(2)系統(tǒng)模塊級(jí)特征調(diào)用深度分析對(duì)劃分出的的各個(gè)模塊,分別進(jìn)行系統(tǒng)模塊級(jí)特征調(diào)用深度估算分析,明確當(dāng)前到今后各模塊所需要記錄的特殊異常特征點(diǎn)與公共異常特征點(diǎn)最大數(shù)的大概值及某一層次各模塊之間與各個(gè)層次間該數(shù)值的差異程度,為更進(jìn)一步的劃分信息輸出緩存大小打下基礎(chǔ)。
(3)各層次模塊的第二層特征標(biāo)志分配針對(duì)各模塊所分析出的單類(lèi)信息輸出數(shù)量的大小與范圍,面向系統(tǒng)整體對(duì)各模塊統(tǒng)一分配全局唯一的二級(jí)特征標(biāo)志,該特征標(biāo)志使用時(shí)必須滿(mǎn)足以下標(biāo)準(zhǔn)以保證最大限度減少版本問(wèn)題所帶給研發(fā)與維護(hù)中的冗余,即該特征標(biāo)志一旦分配給某異常特征點(diǎn)則永不變更,即使該異常特征點(diǎn)不再存在也不能重新使用,因此該標(biāo)志值域必須具有相當(dāng)大的范圍。在劃分中需要考慮擴(kuò)展需求所帶來(lái)的影響,并在下一步的輸出緩存大小中留出相應(yīng)字節(jié),并予以充分考慮。
(4)根據(jù)多個(gè)重要因素綜合設(shè)計(jì)輸出緩存結(jié)構(gòu)以模塊為單位,針對(duì)各模塊的特殊異常特征點(diǎn)與公共異常特征點(diǎn)建立對(duì)應(yīng)類(lèi)型的數(shù)據(jù)結(jié)構(gòu)字段,根據(jù)兩種類(lèi)型異常特征點(diǎn)的輸出需求緩存大小、診斷信息上報(bào)需求緩存大小分別分配足夠長(zhǎng)的專(zhuān)用類(lèi)型緩沖(另外加入考慮固定信息輸出大小),這里不需要考慮系統(tǒng)所要求的信息單次輸出限制;考慮到公共函數(shù)內(nèi)單個(gè)異常所造成的多層次異常,另外設(shè)計(jì)一個(gè)綜合緩沖,該字段的對(duì)應(yīng)長(zhǎng)度為各專(zhuān)用類(lèi)型緩沖長(zhǎng)度大小之和。接著考慮系統(tǒng)所要求的單次輸出最大長(zhǎng)度限制,再設(shè)定一個(gè)長(zhǎng)度大小等于系統(tǒng)所要求的單次輸出最大長(zhǎng)度緩沖。各主要影響因素概括為系統(tǒng)調(diào)用深度、固定輸出大小、輸出限制要求。
非異常類(lèi)信息輸出可以參照上述設(shè)計(jì)采用類(lèi)似的方式來(lái)緩存相關(guān)描述類(lèi)信息(5)自適應(yīng)信息合成輸出服務(wù)接口設(shè)計(jì)基于以上設(shè)計(jì),依照具體實(shí)施情況,進(jìn)一步由各模塊共同或單獨(dú)建立自適應(yīng)信息合成輸出服務(wù)接口,該服務(wù)接口將首先在各專(zhuān)用類(lèi)型緩沖中相應(yīng)標(biāo)志點(diǎn),以保證信息統(tǒng)一輸出后能方便加速尋找問(wèn)題原因時(shí)關(guān)鍵上下文的快速定位;而后完成各類(lèi)特征信息緩存的合成,也就是將專(zhuān)用類(lèi)型緩沖合并到綜合緩沖中,最后根據(jù)系統(tǒng)各模塊單次輸出限制將合成的信息依次放入單次輸出最大長(zhǎng)度緩沖進(jìn)行統(tǒng)一或分段輸出。
(6)各模塊各異常特征點(diǎn)及診斷信息的描述與自適應(yīng)信息合成輸出服務(wù)接口的調(diào)用設(shè)計(jì)由于每個(gè)模塊都存在關(guān)鍵性入口與出口并由此形成堆棧式的遞歸層次調(diào)用過(guò)程,一般在各模塊入口內(nèi)的第一次函數(shù)調(diào)用中均采用非通用函數(shù)調(diào)用,在這些非通用函數(shù)調(diào)用中各異常特征點(diǎn)及信息診斷點(diǎn)將首先將一,二級(jí)特征標(biāo)志及對(duì)應(yīng)單一處理的上下文信息寫(xiě)入到對(duì)應(yīng)類(lèi)型的特征信息緩存中,而后完成公共上報(bào)服務(wù)接口調(diào)用,接著再進(jìn)行其自身的后處理,保證相關(guān)信息能得到及時(shí)輸出且不因?yàn)樾碌膯我惶幚矶胄碌挠绊懸蛩亍?br>
其他所有需要輸出特征信息的位置(包括異常特征點(diǎn)以及診斷信息輸出點(diǎn))根據(jù)各自的特征類(lèi)型將特征符號(hào)結(jié)合該特征位置所對(duì)應(yīng)的二級(jí)特征標(biāo)志及關(guān)鍵上下文信息寫(xiě)入到對(duì)應(yīng)類(lèi)型的緩沖,但與模塊入口處的非通用函數(shù)調(diào)用中的處理不同的是,這些特征信息位置只需要將二級(jí)特征標(biāo)志及對(duì)應(yīng)單一處理的上下文信息以累積方式寫(xiě)入到對(duì)應(yīng)類(lèi)型的特征信息緩存中,不需要調(diào)用公共上報(bào)服務(wù)接口。
為保證以堆棧式方式形成的嵌套關(guān)系下各層次上下文信息都能夠得到依次完整的輸出,所有非最底層異常特征點(diǎn)都將使用添加方式將各自的信息寫(xiě)入到本地異常特征信息緩存。于是某底層異常所造成的多層次異??梢院?jiǎn)單的通過(guò)在模塊出口處進(jìn)行統(tǒng)一合成與輸出及在公共異常特征點(diǎn)向其對(duì)應(yīng)類(lèi)型的緩存以添加方式累積信息,來(lái)避免一個(gè)問(wèn)題導(dǎo)致的多個(gè)異常輸出及一系列與輸出資源占用及信息關(guān)聯(lián)相關(guān)的擴(kuò)展問(wèn)題,達(dá)到單個(gè)異常相關(guān)的整體上下文信息能夠同時(shí)輸出的目標(biāo)。
為減少無(wú)用信息以保證信息的精煉輸出及信息自過(guò)濾,可以只在公共異常特征點(diǎn)與特殊異常特征點(diǎn)等關(guān)鍵特征信息位置處完成緩存累積與信息合成輸出服務(wù)接口的調(diào)用,這樣就自然避免了相當(dāng)一部分中間過(guò)渡處理的信息輸出,由于公共與特殊異常特征點(diǎn)自身的定義標(biāo)準(zhǔn)從根本上保證了該中間過(guò)渡調(diào)用可通過(guò)其他輸出信息來(lái)完成回溯。如上所述種種方式都為了保證了原理上的完備性,實(shí)施中的簡(jiǎn)單可行性以及使用中的方便性。
(7)輸出信息的定位與分析過(guò)程非開(kāi)發(fā)人員可根據(jù)一級(jí)特征標(biāo)志直接發(fā)現(xiàn)問(wèn)題所處層次與問(wèn)題模塊,從而能夠直接與相關(guān)負(fù)責(zé)人聯(lián)系或采取間接解決措施。問(wèn)題負(fù)責(zé)人在獲取相關(guān)信息后,結(jié)合一,二級(jí)特征標(biāo)志進(jìn)行聯(lián)合查詢(xún)后即可以直接發(fā)現(xiàn)異常問(wèn)題所在位置并最大限度避免非期望查詢(xún)結(jié)果,如定位到的問(wèn)題為某公用函數(shù)所在異常導(dǎo)致,則可以根據(jù)信息中所包含的一,二級(jí)特征標(biāo)志進(jìn)行上下文追溯,了解前因后果,這樣就從根本上避開(kāi)了極為浪費(fèi)時(shí)間的異常問(wèn)題重現(xiàn),另外在絕大多數(shù)情況下由于二級(jí)特征標(biāo)志的存在也以大概率方式避免了處理不同版本時(shí)所帶來(lái)的不便,研發(fā)人員可以集中精力于目標(biāo)處理與診斷上。
權(quán)利要求
1.一種在軟件系統(tǒng)中免復(fù)現(xiàn)快速定位問(wèn)題和進(jìn)行系統(tǒng)診斷的堆棧式雙特征系統(tǒng)級(jí)方法,所述方法包括系統(tǒng)層次模塊劃分與第一層特征標(biāo)志分配;系統(tǒng)模塊級(jí)特征調(diào)用深度分析;各層次模塊的第二層特征標(biāo)志分配;根據(jù)多個(gè)重要因素綜合設(shè)計(jì)輸出緩存結(jié)構(gòu);自適應(yīng)信息合成輸出服務(wù)接口設(shè)計(jì);各模塊各異常特征點(diǎn)及診斷信息的描述與自適應(yīng)信息合成輸出服務(wù)接口的調(diào)用設(shè)計(jì)。
2.根據(jù)權(quán)利要求1所述方法,其特征在于當(dāng)某模塊某處處理存在異常或某模塊某處處理需要上報(bào)診斷信息時(shí),基于該處到模塊出口處的整體運(yùn)行、相關(guān)上下文信息將聯(lián)合形成單一堆棧型聯(lián)合信息。
3.根據(jù)權(quán)利要求1所述方法,其特征在于當(dāng)某模塊某處處理存在異?;蚰衬K某處處理需要上報(bào)診斷信息時(shí),用于不同類(lèi)型人員用于分析、定位、診斷的兩級(jí)特征標(biāo)志。
4.根據(jù)權(quán)利要求1所述方法,其特征在于一級(jí)特征標(biāo)志的組成方式為層次標(biāo)志+模塊標(biāo)志+特征符號(hào)。
5.根據(jù)權(quán)利要求1所述方法,其特征在于采用唯一的對(duì)應(yīng)某一異常特征點(diǎn)或上報(bào)診斷信息地點(diǎn)的全系統(tǒng)內(nèi)唯一數(shù)字ID作為二級(jí)特征標(biāo)志。
6.根據(jù)權(quán)利要求1所述方法,其特征在于建立面向各模塊的特殊異常特征點(diǎn)與公共異常特征點(diǎn)或上報(bào)診斷信息地點(diǎn)建立的專(zhuān)用類(lèi)型緩沖,基于各專(zhuān)用類(lèi)型緩沖長(zhǎng)度大小建立的綜合緩沖,基于系統(tǒng)所要求的單次輸出最大長(zhǎng)度限制的單次輸出最大長(zhǎng)度緩沖。
7.根據(jù)權(quán)利要求1所述方法,其特征在于為準(zhǔn)確保障實(shí)施的可靠性與方便性所提供的公共上報(bào)機(jī)制與服務(wù)接口,該服務(wù)接口將首先在各專(zhuān)用類(lèi)型緩沖中相應(yīng)標(biāo)志點(diǎn),以保證信息統(tǒng)一輸出后能方便加速尋找問(wèn)題原因時(shí)關(guān)鍵上下文的快速定位;而后完成各類(lèi)特征信息緩存的合成,也就是將專(zhuān)用類(lèi)型緩沖合并到綜合緩沖中,最后根據(jù)系統(tǒng)各模塊單次輸出限制將合成的信息依次放入單次輸出最大長(zhǎng)度緩沖進(jìn)行統(tǒng)一或分段輸出。
8.根據(jù)權(quán)利要求1所述方法,其特征在于在各模塊入口第一層非通用函數(shù)調(diào)用中各異常特征點(diǎn)或上報(bào)診斷信息點(diǎn)將首先將一,二級(jí)特征標(biāo)志及相關(guān)上下文信息寫(xiě)入到對(duì)應(yīng)專(zhuān)用類(lèi)型緩沖,而后調(diào)用公共上報(bào)服務(wù)接口,接著再進(jìn)行其自身的后處理。
9.根據(jù)權(quán)利要求1所述方法,其特征在于非各模塊入口第一層的異常特征點(diǎn)或上報(bào)診斷信息點(diǎn)將根據(jù)各自的類(lèi)型將該相關(guān)位置所對(duì)應(yīng)的二級(jí)特征標(biāo)志及關(guān)鍵上下文信息以添加方式寫(xiě)入到對(duì)應(yīng)專(zhuān)用類(lèi)型緩沖。
10.根據(jù)權(quán)利要求1所述方法,其特征在于為減少無(wú)用信息完成信息精煉輸出及信息自過(guò)濾,可以只在公共異常特征點(diǎn)與特殊異常特征點(diǎn)處完成輸出。
全文摘要
本發(fā)明應(yīng)用于軟件系統(tǒng)及通過(guò)軟件提供系統(tǒng)描述與診斷的其他系統(tǒng)中,是關(guān)于一種堆棧式雙特征快速問(wèn)題定位及信息自過(guò)濾的通用系統(tǒng)化方法,通過(guò)系統(tǒng)化建立一套上下文環(huán)境描述表現(xiàn)與信息自合成機(jī)制,在非常簡(jiǎn)單的前提條件下無(wú)需重現(xiàn)問(wèn)題就能快速完成對(duì)系統(tǒng)運(yùn)行中出現(xiàn)的各類(lèi)異常問(wèn)題進(jìn)行診斷定位,大幅度節(jié)省定位問(wèn)題所需時(shí)間與各類(lèi)資源需求,且方便各類(lèi)人員采取恰當(dāng)?shù)钠ヅ浯胧﹣?lái)處理問(wèn)題。方案使用多層特征標(biāo)志,堆棧式上下文合成機(jī)制以及通用裝配輸出服務(wù)機(jī)制來(lái)系統(tǒng)化的完成免復(fù)現(xiàn)快速定位問(wèn)題及系統(tǒng)診斷的任務(wù)。
文檔編號(hào)G06F11/36GK1949188SQ20061015305
公開(kāi)日2007年4月18日 申請(qǐng)日期2006年9月21日 優(yōu)先權(quán)日2006年9月21日
發(fā)明者伍超 申請(qǐng)人:伍超