專利名稱:通用人機(jī)語言命令報(bào)告生成系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種命令報(bào)告生成系統(tǒng)及方法,特別涉及一種通用人機(jī)語言(MML,Man-Machine Language)命令報(bào)告生成系統(tǒng)及方法。
背景技術(shù):
在現(xiàn)階段的電信網(wǎng)管中,一般都采用Client/Server(客戶端/服務(wù)器)模式進(jìn)行構(gòu)建,客戶端一般通過和服務(wù)器約定的協(xié)議(這里指MML命令)進(jìn)行交互通信,服務(wù)器針對客戶端的MML命令返回相應(yīng)的處理報(bào)告。
實(shí)際應(yīng)用中,MML命令返回的報(bào)告多是各個(gè)業(yè)務(wù)處理者自己根據(jù)約定的規(guī)范格式化輸出的,這樣做有很大的缺點(diǎn)(1)代碼大量重復(fù),每個(gè)業(yè)務(wù)處理要實(shí)現(xiàn)通用的處理部分,造成程序體積增大;(2)可重用性差,規(guī)范稍有改動就會導(dǎo)致多個(gè)地方重復(fù)修改,不能多個(gè)用戶使用同一處理方法;(3)統(tǒng)一性不好,網(wǎng)管各個(gè)業(yè)務(wù)處理部分對網(wǎng)管報(bào)告規(guī)范的理解不同,造成報(bào)告風(fēng)格不一致,客戶端也很難統(tǒng)一解析工具。
(4)可擴(kuò)展性不好,對于新的報(bào)告格式需要重新設(shè)計(jì)、編碼。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種通用人機(jī)語言命令報(bào)告生成系統(tǒng),利用該系統(tǒng)可以快速地生成人機(jī)語言命令報(bào)告,且可擴(kuò)展性好,格式統(tǒng)一。
本發(fā)明的目的在于提供一種通用人機(jī)語言命令報(bào)告生成方法,利用該方法可以快速地生成人機(jī)語言命令報(bào)告,且重用性好,程序體積小。
為解決上述問題,本發(fā)明提供一種通用人機(jī)語言命令報(bào)告生成系統(tǒng),該系統(tǒng)包括報(bào)告調(diào)度模塊、報(bào)告頭生成模塊、報(bào)告體生成模塊及報(bào)告結(jié)束標(biāo)記模塊,其中所述報(bào)告調(diào)度模塊用于接收使用者輸入的報(bào)告頭信息及報(bào)告體信息,分別調(diào)用報(bào)告頭生成模塊、報(bào)告體生成模塊及報(bào)告結(jié)束標(biāo)記模塊生成格式化后的報(bào)告;所述報(bào)告頭生成模塊,接收報(bào)告調(diào)度模塊的報(bào)告頭信息,返回格式化后的報(bào)告頭;所述報(bào)告體生成模塊,接收報(bào)告調(diào)度模塊的報(bào)告體信息,返回格式化后的報(bào)告體;所述報(bào)告結(jié)束標(biāo)記模塊,根據(jù)報(bào)告調(diào)度模塊的信息返回結(jié)束標(biāo)記。
在本發(fā)明的另一個(gè)方面,我們提供一種通用人機(jī)語言命令報(bào)告生成方法,包括下列步驟a.接收輸入報(bào)告的初始信息;b.根據(jù)初始信息中的報(bào)告頭信息及報(bào)告體信息,分別調(diào)用報(bào)告頭生成模塊、報(bào)告體生成模塊及報(bào)告結(jié)束標(biāo)記模塊;c.所述報(bào)告頭生成模塊接收報(bào)告調(diào)度模塊的報(bào)告頭信息,返回格式化后的報(bào)告頭;d.所述報(bào)告體生成模塊,接收報(bào)告調(diào)度模塊的報(bào)告體信息,返回格式化后的報(bào)告體;e.所述報(bào)告結(jié)束標(biāo)記模塊,根據(jù)報(bào)告調(diào)度模塊的信息返回結(jié)束標(biāo)記。f.生成格式化后的報(bào)告并輸出MML報(bào)告。
如上所述,與現(xiàn)有技術(shù)相比本發(fā)明具有如下優(yōu)點(diǎn)通過封裝重用,使用者可不必了解具體的報(bào)告規(guī)范,就可滿足輸出報(bào)告的需求,效率得到提高,同時(shí)使客戶端的報(bào)告解析算法穩(wěn)定統(tǒng)一。
圖1是本發(fā)明的通用報(bào)告頭的實(shí)現(xiàn)流程示意圖;圖2是本發(fā)明的通用報(bào)告體的實(shí)現(xiàn)流程示意圖;圖3是本發(fā)明的MML報(bào)告生成的流程示意圖。
具體實(shí)施例方式
下面結(jié)合附圖就本發(fā)明的優(yōu)選實(shí)施例詳細(xì)說明如下首先說明MML報(bào)告的規(guī)范MML報(bào)告一般由報(bào)告頭、報(bào)告體和結(jié)束標(biāo)志組成關(guān)于MML報(bào)告規(guī)范可參考《華為公司窄帶MML網(wǎng)管命令報(bào)告規(guī)范V3.0》,但并不限定于該規(guī)范。
例如+++HUAWEI MSC98002002-06-25 14:38:22TRAFFIC#885%%LST TSKCHT=TN,INFO=TRUE,TSKN=″report_d″;%%RETCODE=0執(zhí)行成功基本信息---------任務(wù)名稱=Report_D任務(wù)號=1任務(wù)描述=2000年報(bào)表D表測量功能集=局向的中繼話務(wù)測量對象類型=局向號運(yùn)行狀態(tài)=激活結(jié)果保留記錄數(shù)=5000結(jié)果輸出=普通維護(hù)端口---END通用報(bào)告生成的實(shí)現(xiàn)也主要根據(jù)這幾部分展開(1)說明符含義解釋一對尖括號<>之間的內(nèi)容為實(shí)際輸出內(nèi)容。
\r\n表示換行符<nSP>表示連續(xù)n個(gè)空格符;<XXX′對齊方式>其中A0表示左對齊,A1表示右對齊;<XXX′Mn>其中′Mn表示此信息段最大長度n字符;<XXX′Ln>其中′Ln表示此信息段總長度是n字符,不足部分用空格填充;
′L0表示輸出該字段的實(shí)際長度,不用填充;<XXXXX> 標(biāo)記下劃線的文字,為確定輸出字樣<XXXX> XXXX為其他部分實(shí)際輸出更改;某一部分信息空缺,則填<NULL>或<->
如<局名′M32A0>表示局名信息最大長度32字符,左對齊。
(2)報(bào)告頭格式報(bào)告頭格式部分如下<起始符標(biāo)識+++><4SP><源標(biāo)識符′M32><8SP><報(bào)告輸出日期′M10><1SP><報(bào)告輸出時(shí)間′M8>\r\n<業(yè)務(wù)報(bào)告標(biāo)志′M10><4SP><#報(bào)告序號′M10>\r\n具體說明如下i、一個(gè)源標(biāo)識符指出產(chǎn)生一項(xiàng)輸出信息的物理區(qū)域。一般是設(shè)備的標(biāo)識,在安裝設(shè)備時(shí)指定即可??梢允蔷置?。
ii、根據(jù)國際標(biāo)準(zhǔn)(ISO 2014)在標(biāo)題中輸出的日期按全數(shù)字形式寫成日歷日期。日歷日期應(yīng)按下列次序書寫年、月、日。
年由兩位十進(jìn)制數(shù)字或四位十進(jìn)制數(shù)字組成,為杜絕2000年問題發(fā)生,采用四位十進(jìn)制數(shù)字;月由兩位十進(jìn)制數(shù)字組成,范圍從01到12;日由兩位十進(jìn)制數(shù)字組成,范圍從01到31;年和月之間及月和日之間用的字符是連字符號。
iii、時(shí)間表示法采用24小時(shí)計(jì)時(shí)方式。時(shí)間元素的順序應(yīng)是從高位到低位(從左到右)時(shí)、分、秒。
小時(shí)用兩位十進(jìn)制數(shù)表示,范圍從00到23,并包括23;分用兩位十進(jìn)制數(shù)字表示,范圍從00到59,并包括59;秒用兩位十進(jìn)制數(shù)表示,范圍從00到59,并包括59;時(shí)和分及秒之間用分號字符[]分割。
iv、業(yè)務(wù)報(bào)告標(biāo)志有TRAFFIC(通信量);O&M(操作維護(hù));TEST(測試);
ALARM(告警),v、現(xiàn)在報(bào)告序號的作用是唯一標(biāo)識一個(gè)任務(wù)的輸出報(bào)告。因?yàn)橐恍┟畹慕Y(jié)果信息非常龐大,可能需要分多個(gè)報(bào)告輸出,這時(shí)就需要有一種手段把這些報(bào)告串起來。報(bào)告序號就起到這個(gè)作用。同一個(gè)任務(wù)的輸出報(bào)告無論多少都由一個(gè)報(bào)告序號標(biāo)識。、報(bào)告頭的樣例如下+++HUAWEI1998-12-07 11:45:58O&M#10000(3)報(bào)告體報(bào)告體是報(bào)告的真正內(nèi)容所在。它包括以下幾部分命令回顯部分;系統(tǒng)報(bào)告信息;結(jié)果正文;附加信息。
具體說明如下i、命令回顯部分<命令回顯標(biāo)識%%><回顯的命令文本><命令回顯標(biāo)識%%>\r\n對于對話輸出,即對輸入命令的響應(yīng)輸出,命令回顯是必須的。對于非對話輸出,不存在命令回顯?;仫@的命令文本可能超出一行的寬度,因此允許換行?;仫@命令的起始和結(jié)束由命令回顯標(biāo)識%%標(biāo)志。
為了保證命令回顯對用戶的提示功能,回顯的命令文本與用戶輸入的命令保持完全一致,程序不做任何如過濾空格等等的處理。
如果回顯的命令文本有多個(gè)命令,新的命令要重起一行,不要緊跟在上一個(gè)命令的后面接著寫。多個(gè)命令一起包圍在一對%%之間。
ii、系統(tǒng)報(bào)告信息一般是成功/失敗信息。
分為兩個(gè)區(qū)段,一個(gè)是返回碼,一個(gè)是返回碼的解釋信息,給出這個(gè)錯誤的合理解釋,幫助用戶定位這個(gè)錯誤。
<返回碼標(biāo)識RETCODE><1SP><=><1SP><返回碼><2SP><解樣信息>\r\n<A0解釋信息折行后續(xù)>
iii、結(jié)果正文結(jié)果正文是查詢以及其它登記的任務(wù)返回的數(shù)據(jù)塊。它的顯示形式比較多樣靈活。
一個(gè)結(jié)果文本中可以包含多個(gè)結(jié)果主體,例如查詢一個(gè)中繼群,可以將該群包含的中繼電路一起顯示出來。那么,這時(shí)就包含兩個(gè)結(jié)果主體,一個(gè)是中繼群,另一個(gè)是中繼電路。每個(gè)主體需要顯示的屬性以及個(gè)體的數(shù)目是不定的,因此對于每個(gè)主體的顯示格式的處理也不相同。例如,以上例來說,返回的中繼群屬性是一條記錄,而中繼電路是多條,那么對于中繼群這個(gè)主體來說,可能就以縱向列表的形式顯示;而中繼電路的屬性就以橫向列表的形式(一個(gè)記錄一行)來顯示。
由于在結(jié)果中包含多個(gè)主體,所以在每個(gè)主體的顯示之前必須有這個(gè)主體的標(biāo)題信息(TITLE),指定這個(gè)主體的含義,如“中繼群屬性”、“該群包含的中繼電路”。對于單個(gè)結(jié)果主體的結(jié)果正文,標(biāo)題信息可以省略,因?yàn)橛脩羟宄闹垒斎胄畔⒌暮x。
在主體的顯示之后顯示記錄的個(gè)數(shù),如“結(jié)果個(gè)數(shù)=100”,這樣一個(gè)主體的表述才比較完整。
通過把相關(guān)的多個(gè)主體信息以一定的格式組合起來顯示,可以顯示給用戶一個(gè)比較綜合的信息,使用戶從一個(gè)任務(wù)返回中得到的有用信息更多。畢竟,孤立的信息,它的分析價(jià)值比較小。
iii、主體的標(biāo)題信息在主體的數(shù)據(jù)信息之前顯示,用于說明主體的含義,給出概括性的說明。要求意義準(zhǔn)確清晰。標(biāo)題信息字符串中不能使用標(biāo)點(diǎn)符號,包括中英文。
<標(biāo)題字符串>\r\n<′-′字符的重復(fù),重復(fù)次數(shù)與標(biāo)題字符串長度相同>\r\niv、結(jié)果總計(jì)信息一個(gè)結(jié)果正文是由多個(gè)結(jié)果主體構(gòu)成,每個(gè)主體根據(jù)它的內(nèi)容不同,可以以不同的方式來組織它的顯示格式。每個(gè)主體都有標(biāo)題信息(TITLE),對于多記錄的結(jié)果輸出,在結(jié)果之后還要顯示結(jié)果記錄個(gè)數(shù)。
<(結(jié)果個(gè)數(shù)><1SP><=><1SP><記錄個(gè)數(shù)><)>\r\nv、主體信息主體的描述形式有橫向列表和縱向列表。
1)縱向列表該縱向列表的適用于單條返回記錄的顯示,例如查詢某個(gè)用戶的返回結(jié)果、查詢某個(gè)測試結(jié)果等等。適用范圍很廣。
格式說明結(jié)果只有一個(gè)個(gè)體的屬性,每一行描述該個(gè)體的一個(gè)屬性。其中等號左邊是屬性名稱,等號右邊是取值。以等號為準(zhǔn)居中對齊。
具體形式如下<屬性名1><2SP>=<2SP><值1>\r\n<屬性名2><2SP>=<2SP><值2>\r\n<屬性名3><2SP>=<2SP><值3>\r\n<屬性名4><2SP>=<2SP><值4>\r\n2)橫向列表該橫向列表的適用于多條返回記錄的顯示,應(yīng)用非常普遍。例如數(shù)據(jù)管理臺查詢一個(gè)模塊的所有機(jī)框、維護(hù)臺中查詢一個(gè)框的所有單板狀態(tài)、話務(wù)統(tǒng)計(jì)臺中返回的多個(gè)實(shí)體的統(tǒng)計(jì)結(jié)果、測試臺中查詢多個(gè)測試結(jié)果等等。每行開頭可以縮進(jìn)一格,也可以不縮進(jìn)。
格式說明<屬性名1′A0′Mw1><2SP><屬性名2′A0′Mw2><2SP><屬性名3′A0′Mw3><2SP><屬性名′A0>\r\n
\r\n<屬性1值1′A0′Mw1><2SP><屬性2值1′A0′Mw2><2SP><屬性3值1′A0 ′Mw3><2SP><屬性n值′A0>\r\n<屬性1值2′A0′Mw1><2SP><屬性2值2′A0′Mw2><2SP><屬性3值2′A0 ′Mw3><2SP><屬性n值′A0>\r\n<屬性1值m′A0′Mw1><2SP><屬性2值m′A0′Mw2><2SP><屬性3值m′A0′Mw3><2SP><屬性n值′A0>\r\n其中,每一列的寬度是輸出報(bào)告時(shí)根據(jù)該屬性的最大顯示寬度計(jì)算出來的,最小寬度是6個(gè)字符。第一行顯示輸出屬性的名稱,下面的數(shù)據(jù)區(qū)以一個(gè)空行分隔。且每一列的屬性左對齊。
vi、提示信息提示信息一般在報(bào)告的結(jié)束標(biāo)記之前顯示,如果報(bào)告中有附加信息,那么在附加信息之前顯示。如果提示信息后不是結(jié)束標(biāo)記,那么后面加一空行分隔。對于一個(gè)任務(wù)有多個(gè)報(bào)告輸出的情況,提示信息也只出現(xiàn)一次,即在最后一個(gè)報(bào)告中顯示。
格式<提示信息>\r\n<--------->\r\n<提示信息字符串>\r\nvii、附加信息是在一個(gè)報(bào)告的結(jié)束標(biāo)記之前顯示的補(bǔ)充信息,作為對上面報(bào)告的一個(gè)補(bǔ)充。目前存在的附加信息有<仍有后續(xù)報(bào)告輸出>
<共有><報(bào)告?zhèn)€數(shù)><個(gè)報(bào)告>
(4)結(jié)束標(biāo)志結(jié)束標(biāo)記是固定的,具有如下形式<結(jié)束符標(biāo)識---><4SP><END>\r\n2、通用的報(bào)告頭實(shí)現(xiàn)報(bào)告頭由以下三部分組成(1)源標(biāo)志符(2)報(bào)告輸出時(shí)間(3)業(yè)務(wù)報(bào)告標(biāo)志及報(bào)告序號,這三部分根據(jù)一定的規(guī)范(本實(shí)施例采用華為公司的窄帶報(bào)告規(guī)范)分別進(jìn)行格式化,最后輸出格式化后的報(bào)告頭。
具體見圖1,圖1是本發(fā)明的通用報(bào)告頭的組成模塊及實(shí)現(xiàn)流程示意圖,在圖1中可以看出,其組成包括報(bào)告頭調(diào)度模塊、源標(biāo)志符格式化模塊、報(bào)告輸出時(shí)間格式化模塊,業(yè)務(wù)報(bào)告標(biāo)志和報(bào)告序號格式化模塊及窄帶報(bào)告規(guī)范數(shù)據(jù)庫模塊。需要說明的是,中間的″格式化″方框是模塊,僅是一個(gè)功能描述,而且從數(shù)據(jù)流的方向來看,″讀取規(guī)范數(shù)據(jù)″的箭頭只是表明操作的發(fā)起模塊和響應(yīng)模塊,并不表明數(shù)據(jù)流的方向。
3、通用的報(bào)告體實(shí)現(xiàn)報(bào)告體由以下幾部分組成(1)命令回顯部分;(2)系統(tǒng)報(bào)告信息;(3)結(jié)果正文(分橫排和豎排),包括主體的標(biāo)題信息、結(jié)果總計(jì)信息、主體信息、提示信息;(4)附加信息。
實(shí)現(xiàn)流程同報(bào)告頭類似,通過報(bào)告體生成模塊將各部分格式化的字符串匯集,輸出可打印的報(bào)告體,詳見圖2,包括報(bào)告體調(diào)度模塊,命令回顯格式化模塊,系統(tǒng)報(bào)告信息格式化模塊,結(jié)果正文格式化模塊,附加信息格式化模塊以及窄帶報(bào)告規(guī)范數(shù)據(jù)庫,其中與報(bào)告頭不同的地方還包括如下模塊(1)字符串折行模塊窄帶規(guī)范規(guī)定,報(bào)告每行最多可輸出80個(gè)字符串,超過將折行,字符串折行不但能將普通的英文字符正確折行,還能進(jìn)行漢字(UNICODE)折行,避免出現(xiàn)一個(gè)漢字被折掉一半的情況。報(bào)告體各部分進(jìn)行折行時(shí)通過調(diào)度模塊申請,并得到折行后的文本。
(2)報(bào)告容量限制模塊報(bào)告的容量不能是無限的,當(dāng)報(bào)告超過一定長度(這里是32K),在網(wǎng)管服務(wù)器和客戶端傳輸可能會丟失部分?jǐn)?shù)據(jù),故通過使用者設(shè)置單個(gè)輸出報(bào)告的最大容量進(jìn)行限制,報(bào)告體生成模塊將根據(jù)各部分格式化情況實(shí)時(shí)計(jì)算還可以合成多少行記錄,達(dá)到容量限制后,會停止格式化,輸出當(dāng)前報(bào)告,將剩余部分合到下一個(gè)報(bào)告中輸出。
(3)結(jié)果正文內(nèi)容由用戶通過接口填寫,具體見下面的接口(3)。
4、結(jié)束標(biāo)志實(shí)現(xiàn)結(jié)束標(biāo)志比較簡單,根據(jù)規(guī)范合成結(jié)束END標(biāo)識。
5、構(gòu)造一個(gè)MML報(bào)告的流程本文針對使用者主要提供如下接口(1)添加報(bào)告的初始信息;(2)生成報(bào)告結(jié)果體功能創(chuàng)建一個(gè)報(bào)告結(jié)果體,包括執(zhí)行報(bào)告類型(橫排、豎排),屬性字段的名稱等,創(chuàng)建的報(bào)告結(jié)果體會加入到報(bào)告結(jié)果體列表中,并返回結(jié)果體句柄。一個(gè)報(bào)告可由多個(gè)結(jié)果體組成,故可創(chuàng)建多個(gè);(3)報(bào)告體內(nèi)容填寫功能向結(jié)果體報(bào)告中每個(gè)屬性字段添加屬性值,橫排可添加多行數(shù)據(jù);(4)設(shè)置報(bào)告的輸出限制功能可設(shè)置報(bào)告的最大輸出行數(shù)和容量限制,超過此限制,控件將自動分報(bào)告,分批次輸出;(5)得到可輸出的報(bào)告功能格式化生成一個(gè)可打印MML報(bào)告;創(chuàng)建一個(gè)MML報(bào)告的流程就是按照上面的接口,順序的調(diào)用,最后得到可輸出的報(bào)告,見圖3,從圖3可以看出,該系統(tǒng)包括下列模塊報(bào)告調(diào)度模塊,報(bào)告頭生成模塊,報(bào)告體生成模塊及報(bào)告結(jié)束標(biāo)記模塊。其中,報(bào)告調(diào)度模塊接收使用者輸入的報(bào)告頭信息及報(bào)告體內(nèi)容信息,然后分別調(diào)用報(bào)告頭生成模塊、報(bào)告體生成模塊及報(bào)告結(jié)束標(biāo)記模塊生成格式化后的報(bào)告,而報(bào)告頭生成模塊及報(bào)告體生成模塊則分別調(diào)用自己的模塊,如圖1及圖2所示的執(zhí)行過程。
6、為能充分共享報(bào)告生成技術(shù),將本發(fā)明封裝成COM(組件對象模型)組件的形式,這樣就方便的繼承了微軟COM技術(shù)的優(yōu)點(diǎn),可以在二進(jìn)制級別共享,可擴(kuò)展和封裝性都很強(qiáng)。
綜上所述,本發(fā)明結(jié)合附圖詳細(xì)描述了本發(fā)明的優(yōu)選實(shí)施例,然而本發(fā)明的描述,詳細(xì)說明和以上提到的附圖并不是用來限制本發(fā)明的。對本領(lǐng)域的普通技術(shù)人員來說,在本發(fā)明的教導(dǎo)下可以進(jìn)行各種相應(yīng)的修改而不會超出本發(fā)明的精神和范圍,因此這種變化應(yīng)包含在本發(fā)明的權(quán)利要求及其等效范圍之內(nèi)。
權(quán)利要求
1.一種通用人機(jī)語言命令報(bào)告生成系統(tǒng),其特征在于包括報(bào)告調(diào)度模塊、報(bào)告頭生成模塊、報(bào)告體生成模塊及報(bào)告結(jié)束標(biāo)記模塊,其中所述報(bào)告調(diào)度模塊用于接收使用者輸入的報(bào)告頭信息及報(bào)告體信息,分別調(diào)用報(bào)告頭生成模塊、報(bào)告體生成模塊及報(bào)告結(jié)束標(biāo)記模塊生成格式化后的報(bào)告;所述報(bào)告頭生成模塊,接收報(bào)告調(diào)度模塊的報(bào)告頭信息,返回格式化后的報(bào)告頭;所述報(bào)告體生成模塊,接收報(bào)告調(diào)度模塊的報(bào)告體信息,返回格式化后的報(bào)告體;所述報(bào)告結(jié)束標(biāo)記模塊,根據(jù)報(bào)告調(diào)度模塊的信息返回結(jié)束標(biāo)記。
2.如權(quán)利要求1所述的通用人機(jī)語言命令報(bào)告生成系統(tǒng),其特征在于所述報(bào)告頭生成模塊包括報(bào)告頭調(diào)度模塊、源標(biāo)志格式化模塊、報(bào)告輸出時(shí)間格式化模塊、業(yè)務(wù)報(bào)告標(biāo)志和報(bào)告序號格式化模塊及規(guī)范數(shù)據(jù)庫模塊其中所述源標(biāo)志符格式化模塊,用于接收報(bào)告頭調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成源標(biāo)志符格式化信息;所述報(bào)告輸出時(shí)間格式化模塊,用于接收報(bào)告頭調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成報(bào)告輸出時(shí)間格式化信息;以及所述業(yè)務(wù)報(bào)告標(biāo)志和報(bào)告序號格式化模塊,用于接收報(bào)告頭調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成業(yè)務(wù)報(bào)告標(biāo)志和報(bào)告序號格式化信息;由所述報(bào)告頭調(diào)度模塊生成格式化后的報(bào)告頭。
3.如權(quán)利要求1所述的通用人機(jī)語言命令報(bào)告生成系統(tǒng),其特征在于所述報(bào)告體生成模塊包括報(bào)告體調(diào)度模塊、命令回顯格式化模塊、系統(tǒng)報(bào)告信息格式化模塊、結(jié)果正文格式化模塊、附加信息格式化模塊及規(guī)范數(shù)據(jù)庫模塊其中所述命令回顯格式化模塊,用于接收報(bào)告體調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成命令回顯格式化信息;所述系統(tǒng)報(bào)告信息格式化模塊,用于接收報(bào)告體調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成系統(tǒng)報(bào)告信息格式化信息;所述結(jié)果正文格式化模塊,用于接收報(bào)告體調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成結(jié)果正文格式化信息;所述附加信息格式化模塊,用于接收報(bào)告體調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成附加信息格式化信息;由所述報(bào)告體模塊調(diào)度格式化后的報(bào)告體。
4.如權(quán)利要求3所述的通用人機(jī)語言命令報(bào)告生成系統(tǒng),其特征在于所述報(bào)告體生成模塊還包括報(bào)告容量限制模塊,根據(jù)各部分格式化情況實(shí)時(shí)計(jì)算還可以合成多少行記錄,達(dá)到容量限制后,會停止格式化,輸出當(dāng)前報(bào)告,將剩余部分合到下一個(gè)報(bào)告中輸出。
5.如權(quán)利要求3所述的通用人機(jī)語言命令報(bào)告生成系統(tǒng),其特征在于所述報(bào)告體生成模塊還包括字符串折行模塊,根據(jù)規(guī)范規(guī)定,按照一定的字符串將超過規(guī)定的字符折行。
6.如權(quán)利要求1-5中任一權(quán)利要求所述的通用人機(jī)語言命令報(bào)告生成系統(tǒng),其特征在于所述模塊都被封裝成組件對象模型。
7.一種通用人機(jī)語言命令報(bào)告生成方法,包括下列步驟a.接收輸入報(bào)告的初始信息;b.根據(jù)初始信息中的報(bào)告頭信息及報(bào)告體信息,分別調(diào)用報(bào)告頭生成模塊、報(bào)告體生成模塊及報(bào)告結(jié)束標(biāo)記模塊;c.所述報(bào)告頭生成模塊接收報(bào)告調(diào)度模塊的報(bào)告頭信息,返回格式化后的報(bào)告頭;d.所述報(bào)告體生成模塊接收報(bào)告調(diào)度模塊的報(bào)告體信息,返回格式化后的報(bào)告體;e.所述報(bào)告結(jié)束標(biāo)記模塊根據(jù)報(bào)告調(diào)度模塊的信息返回結(jié)束標(biāo)記。f.生成格式化后的報(bào)告并輸出MML報(bào)告。
8.如權(quán)利要求7所述的通用人機(jī)語言命令報(bào)告生成方法,其特征在于所述步驟c包括下列步驟a1.報(bào)告頭生成模塊根據(jù)輸入的報(bào)告頭信息分別調(diào)用報(bào)告頭調(diào)度模塊、源標(biāo)志格式化模塊、報(bào)告輸出時(shí)間格式化模塊、業(yè)務(wù)報(bào)告標(biāo)志和報(bào)告序號格式化模塊及規(guī)范數(shù)據(jù)庫模塊b1.所述源標(biāo)志符格式化模塊接收報(bào)告頭調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成源標(biāo)志符格式化信息;c1.所述報(bào)告輸出時(shí)間格式化模塊接收報(bào)告頭調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成報(bào)告輸出時(shí)間格式化信息;以及d1.所述業(yè)務(wù)報(bào)告標(biāo)志和報(bào)告序號格式化模塊接收報(bào)告頭調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成業(yè)務(wù)報(bào)告標(biāo)志和報(bào)告序號格式化信息;e1.由所述報(bào)告頭調(diào)度模塊生成格式化后的報(bào)告頭。
9.如權(quán)利要求7所述的通用人機(jī)語言命令報(bào)告生成系統(tǒng),其特征在于所述步驟d包括下列步驟a2.報(bào)告體調(diào)度模塊根據(jù)輸入的報(bào)告體信息分別調(diào)用命令回顯格式化模塊、系統(tǒng)報(bào)告信息格式化模塊、結(jié)果正文格式化模塊、附加信息格式化模塊及規(guī)范數(shù)據(jù)庫模塊b2.所述命令回顯格式化模塊接收報(bào)告體調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成命令回顯格式化信息;c2.所述系統(tǒng)報(bào)告信息格式化模塊接收報(bào)告體調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成系統(tǒng)報(bào)告信息格式化信息;d2.所述結(jié)果正文格式化模塊接收報(bào)告體調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成結(jié)果正文格式化信息;e2.所述附加信息格式化模塊接收報(bào)告體調(diào)度模塊的信息,讀取規(guī)范數(shù)據(jù)庫的規(guī)范生成附加信息格式化信息;f2.所述報(bào)告體模塊調(diào)度格式化后的報(bào)告體。
10.如權(quán)利要求7所述的人機(jī)語言報(bào)告生成方法,其特征在于所述步驟f還包括創(chuàng)建一個(gè)報(bào)告結(jié)果體,包括執(zhí)行報(bào)告類型,屬性字段的名稱的步驟。
全文摘要
本發(fā)明涉及一種通用人機(jī)語言命令報(bào)告生成系統(tǒng)及其方法。所述系統(tǒng)包括報(bào)告調(diào)度模塊、報(bào)告頭生成模塊、報(bào)告體生成模塊及報(bào)告結(jié)束標(biāo)記模塊,其中所述報(bào)告調(diào)度模塊用于接收使用者輸入的報(bào)告頭信息及報(bào)告體信息,分別調(diào)用報(bào)告頭生成模塊、報(bào)告體生成模塊及報(bào)告結(jié)束標(biāo)記模塊生成格式化后的報(bào)告。所述通用人機(jī)語言命令報(bào)告生成方法包括下列步驟輸入報(bào)告的初始信息;生成報(bào)告結(jié)果體;填寫報(bào)告體內(nèi)容;設(shè)置報(bào)告的輸出限制;輸出MML報(bào)告。通過封裝重用,使用者可不必了解具體的報(bào)告規(guī)范,就可滿足輸出報(bào)告的需求,效率得到提高,同時(shí)使客戶端的報(bào)告解析算法穩(wěn)定統(tǒng)一。
文檔編號G06F17/00GK1508717SQ0215629
公開日2004年6月30日 申請日期2002年12月15日 優(yōu)先權(quán)日2002年12月15日
發(fā)明者徐興海 申請人:華為技術(shù)有限公司