專利名稱:一種軟件功能更新的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及基于分布式通信系統(tǒng)的軟件功能更新的方法,特別是涉及在進(jìn)行軟件功能平滑升級過程中不需改動軟件而進(jìn)行功能擴(kuò)充的方法。
背景技術(shù):
在現(xiàn)有的軟件功能更新的方法中,通常分為兩類一類是能夠在一個(gè)設(shè)備上獨(dú)立運(yùn)行的單點(diǎn)結(jié)構(gòu)的軟件功能的更新,另一類是基于分布式管理系統(tǒng)的軟件功能的更新。
首先介紹單點(diǎn)結(jié)構(gòu)的軟件的更新方法第一種更新方法是先重新編譯生成新目標(biāo)軟件可執(zhí)行程序,后將新目標(biāo)軟件可執(zhí)行程序替換覆蓋原有軟件可執(zhí)行程序,以達(dá)到更新軟件功能的目的。這種方法在軟件體積小,用戶單一的情況下較為適用。但是,對于體積大的軟件卻并不適用。由于現(xiàn)今軟件的體積越來越大,包含支撐數(shù)據(jù)文件的軟件的體積甚至可達(dá)到幾十兆或上百兆,因此目前越來越多的專用軟件、商業(yè)軟件已經(jīng)不采用這種方式進(jìn)行軟件版本的升級。
第二種更新方法是采用升級補(bǔ)丁包(patch)的形式來實(shí)現(xiàn)原有軟件問題的修復(fù)以及新功能的添加。軟件開發(fā)商通常提供一個(gè)增量補(bǔ)丁包可執(zhí)行程序,其軟件體積一般是目標(biāo)軟件的幾十分之一,通過運(yùn)行此程序,可以將目標(biāo)軟件中的主運(yùn)行程序替換,同時(shí)對于必要的數(shù)據(jù)配置文件進(jìn)行更新,這種軟件功能擴(kuò)充方法基本上是一些大型軟件所采用的方法。
中國專利申請?zhí)枮?0102692.5,發(fā)明名稱為“計(jì)算機(jī)軟件功能的動態(tài)擴(kuò)充方法”的申請文件中公開了一種軟件功能的動態(tài)擴(kuò)充方法。具體為在程序的進(jìn)程之中注入一鉤接函數(shù),通過將鉤接函數(shù)所呼叫的動態(tài)鏈接程序庫載入進(jìn)程的步驟,提供一種既不需要使用中斷例程,也不需要修改應(yīng)用程序之原始程序碼,就可以實(shí)現(xiàn)擴(kuò)充程序之軟件功能的方法,其技術(shù)原理是采用WINDOWS中的HOOK技術(shù)實(shí)現(xiàn)基于動態(tài)鏈接庫方式的軟件鉤接功能。但是,對于此種方法,其升級軟件的過程需要通過接口鉤接函數(shù)約定(一般是提供接口API)的方式進(jìn)行軟件編程進(jìn)行,這些接口函數(shù)應(yīng)用類型基本上基于一些軟件界面的變更,預(yù)先設(shè)定的特殊功能項(xiàng)的補(bǔ)充等,用于特定的功能項(xiàng)比較有效,但不能對所有要素功能進(jìn)行改進(jìn)。
第三種方法是通過增量數(shù)據(jù)文件的形式進(jìn)行軟件功能更新。具體方法為通過提供特定數(shù)據(jù)文件覆蓋原有數(shù)據(jù)文件,這種類型的軟件升級目前比較集中在各種防病毒軟件的升級過程中,一般做法是防病毒軟件本身作為操作者一般不進(jìn)行改動,病毒庫數(shù)據(jù)文件則定期進(jìn)行增量改變來實(shí)現(xiàn)對新出現(xiàn)病毒的防護(hù)作用。
中國專利申請?zhí)枮?1142155.X,發(fā)明名稱為“軟件升級的方法”的專利提出一種軟件升級方法,該方法包括增量升級包制作過程,用于找出低版本文件和高版本文件中數(shù)據(jù)內(nèi)容的不匹配點(diǎn),以產(chǎn)生不匹配塊,并針對找到的匹配塊和不匹配塊產(chǎn)生相應(yīng)的動作,其中所述動作是復(fù)制、替換、插入、刪除之一;增量升級過程,用于執(zhí)行由增量升級包制作過程產(chǎn)生的所述動作,以將低版本文件的內(nèi)容替換成高版本文件的內(nèi)容。因此,整個(gè)升級過程拷貝或下載的數(shù)據(jù)量明顯比常規(guī)方法所需要拷貝和下載的數(shù)據(jù)量小,但是此種升級方法其適用面比較狹窄,主要應(yīng)用面為采用數(shù)據(jù)驅(qū)動的軟件系統(tǒng),主要方向就是防病毒軟件,對于一般性的軟件類型,這種方法不能滿足需要。
然后介紹基于分布式管理系統(tǒng)的軟件功能的更新方法。
請參閱圖1,其為分布式管理系統(tǒng)的一種原理結(jié)構(gòu)示意圖。它包括服務(wù)器11和若干客戶端控制臺12。其中,客戶端控制臺12包括控制軟件121及第一接口單元122,服務(wù)器11包括控制軟件執(zhí)行單元111和第二接口單元112。其中,客戶端控制臺12通過控制軟件121接受用戶發(fā)出的各種對服務(wù)器11的控制指令,并通過第一接口單元122將該指令組成控制消息發(fā)送至服務(wù)器11,服務(wù)器11的第二接口單元112將該控制消息還原成指令并發(fā)送至控制軟件執(zhí)行單元111,以進(jìn)行對服務(wù)器11的各種控制如操作服務(wù)器、監(jiān)測服務(wù)器以及采集服務(wù)器中的數(shù)據(jù)等。
如果需要增加對服務(wù)器11的控制功能,則至少需要修改客戶端控制臺12中的控制軟件122,以便于用戶能夠輸入相應(yīng)的指令及獲知指令的后果。比如,對服務(wù)器11增加一項(xiàng)控制功能“增加SLC板”,則客戶端控制臺12需顯示給所述用戶該項(xiàng)功能,以便用戶獲知并能發(fā)出命令,并且當(dāng)用戶發(fā)出該項(xiàng)命令后,在客戶端控制臺12能進(jìn)行命令回顯?,F(xiàn)有的軟件功能更新時(shí),主要是修改客戶端控制臺12中控制軟件中的程序代碼來達(dá)到服務(wù)器功能擴(kuò)充的目的。比如,修改控制軟件121中的程序代碼,以便在菜單界面增加中“增加SLC板”,并且當(dāng)接收到用戶的“增加SLC板”時(shí),如何對其進(jìn)行處理及如何進(jìn)行命令回顯等方面。通過直接修改軟件中的程序代碼來達(dá)到擴(kuò)展軟件功能的效果,很顯然,直接修改程序代碼不僅費(fèi)時(shí)費(fèi)力而且特別容易出錯(cuò)。并且,每個(gè)服務(wù)器端11連接若干個(gè)客戶端控制臺12,若需要對每個(gè)客戶端控制臺12的控制軟件進(jìn)行代碼修改來擴(kuò)展軟件功能,則軟件功能擴(kuò)展的效率低,并且加大了功能擴(kuò)展的實(shí)現(xiàn)難度,由此導(dǎo)致軟件功能更新的成本高。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種軟件功能更新的方法,以解決現(xiàn)有技術(shù)中需要修改軟件本身的代碼來進(jìn)行功能擴(kuò)展的技術(shù)問題。
為解決上述問題,本發(fā)明公開了一種軟件功能更新的方法,應(yīng)用于分布式管理系統(tǒng),所述分布式管理系統(tǒng)包括服務(wù)器和與所述服務(wù)器連接的若干客戶端控制臺,包括(1)客戶端控制臺在控制軟件中設(shè)置格式表類文件及對應(yīng)的處理流程,所述格式表類文件為客戶端控制臺所有用以控制服務(wù)器的控制操作命令的集合;(2)在格式表類文件中增加軟件功能對應(yīng)的指令信息;(3)客戶端控制臺按照所述處理流程處理所述格式表類文件,以達(dá)到更新軟件功能。
所述格式表類文件為客戶端控制臺對控制軟件所有控制操作命令進(jìn)行分級菜單式管理。所述格式表類文件包括菜單類格式表文件,所述菜單類格式表文件包括控制軟件的菜單界面中的各級菜單及子菜單、以及每一子菜單對應(yīng)的任務(wù)號、指令號。
步驟(1)中的所述處理流程包括根據(jù)菜單類格式表文件中的菜單及子菜單進(jìn)行顯示以獲得菜單界面;當(dāng)接收到用戶操作子菜單的指令,則將該子菜單對應(yīng)的任務(wù)號、指令號組織成控制消息后發(fā)送至服務(wù)器,以便服務(wù)器從所述控制消息中還原出所述任務(wù)號和指令號,并執(zhí)行所述指令號對應(yīng)的指令。
所述格式表類文件包括輸出類格式表文件,所述輸出類格式表文件用以表明用戶在發(fā)出控制指令后在客戶端控制臺的控制軟件中所看到的顯示內(nèi)容。
上述方法還包括服務(wù)器將執(zhí)行增加功能的指令所對應(yīng)的各種處理分支以及該指令輸入?yún)?shù)合法的判斷發(fā)送至客戶端控制臺;客戶端控制臺將所述指令所對應(yīng)的各種處理分支以及該指令輸入?yún)?shù)合法的判斷保存在輸出類格式表文件中。
所述處理流程還包括當(dāng)接收到用戶輸入增加功能的指令時(shí),先根據(jù)輸出類格式表文件判斷所述指令對應(yīng)的輸入?yún)?shù)是否合法,若是,將對應(yīng)的任務(wù)號及指令號組織成控制消息發(fā)送至服務(wù)器,否則,將根據(jù)輸出類格式表文件進(jìn)行顯示;當(dāng)接收到服務(wù)器返回的消息處理結(jié)果,則根據(jù)輸出類格式表文件進(jìn)行顯示。
上述所述格式表類文件是根據(jù)標(biāo)準(zhǔn)INI文件格式設(shè)置的文件。
本發(fā)明一種軟件功能更新的系統(tǒng),包括服務(wù)器及若干客戶端控制臺,所述服務(wù)器包括控制軟件執(zhí)行單元和第二接口單元,所述客戶端控制臺包括控制軟件和第一接口單元,其特征在于,所述控制軟件包括格式表類文件及格式表類文件處理單元,其中,格式表類文件,為客戶端控制臺中所有用以控制服務(wù)器的控制操作命令的集合;格式類文件處理單元,用以識別格式表類文件,并按照預(yù)先設(shè)定的處理流程處理格式表類文件;第一接口單元和第二接口單元,用于建立服務(wù)器和客戶端控制臺之間的通信;控制軟件執(zhí)行單元,用以執(zhí)行第二接口單元發(fā)送的指令信息進(jìn)行對服務(wù)器的相應(yīng)控制。
所述格式類文件處理單元進(jìn)一步包括菜單界面處理子單元用以識別并顯示格式表類文件中的每一級菜單及各級菜單下的子菜單,以獲得該軟件的菜單界面;指令形成子單元當(dāng)接收到用戶操作指令,激活菜單界面中的一子菜單時(shí),從格式表類文件獲得包括對應(yīng)的任務(wù)號和指令號的指令信息,并將之發(fā)送至第一接口單元;指令反饋?zhàn)訂卧?,?dāng)接收到第一接口單元發(fā)送的服務(wù)器的指令反饋信息時(shí),根據(jù)格式表類文件顯示對應(yīng)信息。
所述格式表類文件為類INI文件,所述格式類文件處理單元為能夠識別類INI文件的windows操作系統(tǒng)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明在客戶端控制臺上設(shè)置格式表類文件及能夠識別并執(zhí)行該格式表類文件的格式表類文件處理單元。當(dāng)需要增加軟件功能時(shí),只需要在客戶端控制臺上修改格式表類文件即可。由于格式表類文件是文本文件,所以更容易修改,并且更靈活。由此避免擴(kuò)充軟件功能時(shí)需要修改客戶端控制臺上的代碼。同時(shí),提高軟件功能擴(kuò)展的效率,并且減少了功能擴(kuò)展的實(shí)現(xiàn)難度。
另外,根據(jù)格式表類文件中將命令進(jìn)行分級式管理,并采用命令號等方式輔助服務(wù)器端命令的條理化、流程化,由此使其工作的條理化,減少出錯(cuò)概率。
還有,本發(fā)明的適應(yīng)面廣泛,可大量應(yīng)用于基于客戶/服務(wù)器體系架構(gòu)的交換機(jī)維護(hù)系統(tǒng)、電力監(jiān)控系統(tǒng)、各類工業(yè)控制軟件系統(tǒng)中,當(dāng)系統(tǒng)需要對原有功能進(jìn)行擴(kuò)展時(shí),利用本發(fā)明提到的技術(shù),可以僅僅通過修改格式表數(shù)據(jù)文件達(dá)到最大限度減少開發(fā)成本、實(shí)現(xiàn)功能改進(jìn)的目的。
圖1是分布式管理系統(tǒng)的一種原理結(jié)構(gòu)示意圖;圖2是本發(fā)明的分布式管理系統(tǒng)的一種原理結(jié)構(gòu)示意圖;圖3是本發(fā)明的一種軟件功能更新方法的流程示意圖。
具體實(shí)施例方式
以下結(jié)合附圖,具體說明本發(fā)明。
請參閱圖2,其為本發(fā)明的分布式管理系統(tǒng)的結(jié)構(gòu)示意圖。它包括服務(wù)器11和若干客戶端控制臺12。服務(wù)器11包括控制軟件執(zhí)行單元111和第二接口單元112。客戶端控制臺12包括控制軟件121及第一接口單元122,并且,控制軟件121至少包括格式表類文件123和格式表類文件處理單元124。其中格式表類文件123,為客戶端控制臺12中所有用以控制服務(wù)器11的控制操作命令的集合。格式表類文件123是一類文本格式文件,并且本發(fā)明的格式類文件123可以采用INI文件,它采用和標(biāo)準(zhǔn)的INI類文件類似的體系結(jié)構(gòu)。即,為客戶端控制臺12中控制軟件121的所有控制操作命令進(jìn)行菜單式分級式管理。它包括菜單類格式表文件,菜單類格式表文件按照客戶端控制臺12控制軟件的菜單界面。它包括菜單界面的每一級菜單,及各級菜單下的子菜單,以及每一子菜單的任務(wù)號及指令號等指令信息。它采用的是一種文本類文件,對于編程人員能夠更方便、更直觀的修改該類文件;格式表類文件處理單元124,能夠識別格式表類文件,并按照預(yù)先設(shè)定的處理流程處理格式表類文件123。格式表類文件處理單元124可以采用識別INI類文件的操作系統(tǒng),如windows操作系統(tǒng)。所述格式表類文件處理單元124包括菜單界面處理子單元用以識別并顯示格式表類文件中的每一級菜單及各級菜單下的子菜單,以獲得該軟件的菜單界面;指令形成子單元當(dāng)接收到用戶操作指令,激活菜單界面中的一子菜單時(shí),從格式表類獲得包括對應(yīng)的任務(wù)號和指令號的指令信息,并將之發(fā)送至第一接口單元;指令反饋?zhàn)訂卧?,?dāng)?shù)谝唤涌趩卧邮盏椒?wù)器發(fā)送的指令反饋信息時(shí),根據(jù)格式表類文件顯示對應(yīng)信息。
若無需用戶獲知指令的執(zhí)行結(jié)果時(shí),格式表類文件處理單元可以不包括指令反饋?zhàn)訂卧?br>
第一接口單元122,用于建立服務(wù)器11和客戶端控制臺12之間的通信,如將接收到格式表類文件處理單元124傳送的指令信息時(shí),按照預(yù)先設(shè)定的格式組織成控制消息,以便服務(wù)器11端能夠正常接收,或者將接收到的服務(wù)器11發(fā)送的控制消息響應(yīng)消息還原成對應(yīng)的指令至控制軟件122;第二接口單元112,用于建立服務(wù)器11和客戶端控制臺12之間的通信。如,將接收到的控制消息中的指令信息還原并發(fā)送至控制軟件執(zhí)行單元111,或者將接收到的控制軟件執(zhí)行單元111發(fā)送的指令反饋信息組成控制響應(yīng)消息發(fā)送至第一接口單元122。
控制軟件執(zhí)行單元111,識別第二接口單元112發(fā)送的指令信息并執(zhí)行對應(yīng)的指令,以進(jìn)行對服務(wù)器的相應(yīng)控制,如操作服務(wù)器、監(jiān)測服務(wù)器以及采集服務(wù)器中的數(shù)據(jù)等。并且,將執(zhí)行結(jié)果通過第二接口單元112返回至客戶端控制臺12。
基于上述的分布式管理系統(tǒng),提出了一種針對客戶端控制臺12的軟件功能更新方法,請參閱圖3,其為本發(fā)明的一種軟件功能更新方法的流程示意圖。它包括以下步驟步驟S110客戶端控制臺12在控制軟件122中設(shè)置格式表類文件123及對應(yīng)的處理流程,所述格式表類文件為客戶端控制臺12所有用以控制服務(wù)器11的控制操作命令的集合;步驟S120在格式表類文件中增加軟件功能對應(yīng)的指令信息;步驟S130客戶端控制臺按照所述處理流程處理所述格式表類文件,以達(dá)到自動更新控制軟件。
格式類文件處理單元中確定的處理流程為a1根據(jù)菜單類格式表文件中的菜單及子菜單進(jìn)行顯示以獲得菜單界面;a2當(dāng)接收到用戶激活該子菜單,則將該子菜單對應(yīng)的任務(wù)號、指令號組織成控制消息后發(fā)送至服務(wù)器,以便服務(wù)器從所述控制消息中還原出所述任務(wù)號和指令號,并執(zhí)行所述指令號對應(yīng)的指令。
在菜單類格式表文件中使用的關(guān)鍵字有以下幾種mainmenu用以標(biāo)識菜單項(xiàng)中的所有一級菜單,通常每個(gè)一級菜單具有一個(gè)任務(wù)號,該菜單中的所有內(nèi)容使用一個(gè)共同的入口函數(shù)。在所有的*menu.ini(菜單類格式表類文件)中,mainmenu只會出現(xiàn)一次。
number表示某一級菜單的子菜單數(shù)目,如果number=0,說明該菜單是用戶操作界面,用來接收用戶輸入。
TASKCODE表示菜單的任務(wù)號。
CMDCODE表示菜單的命令號。
CMDSIGN通常是命令號的宏定義。
X表示空格,X后面的數(shù)字表示空格的數(shù)目。例如X4表示空4格。
‘’其中的內(nèi)容是顯示的文本。
以下內(nèi)容為格式表文件xmenu.Ini中的一個(gè)片斷[6.2.3.]
number=31.=顯示SP30CN目的地狀態(tài)2.=顯示七號網(wǎng)目的地狀態(tài)3.=顯示所有目的地[6.2.3.1.]…(略去)[6.2.3.2.]…(略去)[6.2.3.3.]number=21.=顯示SP30CN目的地2.=顯示七號網(wǎng)目的地[6.2.3.3.1.]number=0CMDCODE=533CMDSIGN=DIS_ALL_CNDPCTASKCODE=15INPUTLINES=22.=X10;′**顯示SP30CN目的地**′;其中[6.2.3.]表明了命令章節(jié),共三項(xiàng)內(nèi)容,對于第三項(xiàng),通過[6.2.3.3]進(jìn)行分類詳述,這其中又包含了兩條子命令,其中[6.2.3.3.1]則對最終的子命令條目——顯示SP30CN目的地進(jìn)行了關(guān)于任務(wù)號、指令號等方面的細(xì)述,最終通過這些指令完成命令執(zhí)行。
對于上述的菜單類格式文件,格式表類文件處理單元124在執(zhí)行控制程序,根據(jù)該菜單類格式表文件即可建立以下菜單界面
并且,當(dāng)格式表類文件處理單元124接收到用戶操作指令,激活“顯示SP30CN目的地”時(shí),從所述菜單類格式文件中獲得對應(yīng)的任務(wù)號、指令號等指令信息,并將之發(fā)送至第一接口單元122。以便第一接口單元122組成控制消息至服務(wù)器11,服務(wù)器11的第二接口單元112從所述控制消息中還原出指令信息,控制軟件執(zhí)行單元111執(zhí)行所述指令進(jìn)行“顯示SP30CN目的地”的功能。
若在服務(wù)器端增加某一功能時(shí),只需將該功能對應(yīng)的子菜單及相應(yīng)的指令信息添加到該格式表類文件中,當(dāng)控制軟件重新啟動時(shí),格式表類文件處理單元124自動讀取該子菜單,并在菜單界面進(jìn)行顯示,以便用戶能夠獲知該增加的功能。當(dāng)用戶激活該功能時(shí),格式表類文件處理單元124直接從格式表類文件獲得所述子菜單對應(yīng)的指令信息,并將之發(fā)送至服務(wù)器11,進(jìn)行相應(yīng)處理。由此避免了增加軟件功能時(shí),需要修改軟件代碼,進(jìn)而導(dǎo)致提高增加軟件功能的效率。
另外,大多數(shù)指令都需要命令回顯,即控制軟件執(zhí)行單元111執(zhí)行所述指令后,將執(zhí)行結(jié)果返回至客戶端控制臺12進(jìn)行回顯,以便用戶能獲知對應(yīng)的執(zhí)行結(jié)果。為此,格式表類文件123還包括輸出類格式表文件。所述輸出類格式表文件用以表明用戶在發(fā)出控制指令后在客戶端控制臺的控制軟件中所看到的顯示內(nèi)容。并且,服務(wù)器預(yù)先將執(zhí)行增加功能的指令所對應(yīng)的各種處理分支以及該指令輸入?yún)?shù)合法的判斷發(fā)送至客戶端控制器;客戶端控制器將所述指令所對應(yīng)的各種處理分支以及該指令輸入?yún)?shù)合法的判斷保存在輸出類格式表文件中。
當(dāng)接收到用戶輸入增加功能的指令時(shí),先根據(jù)輸出類格式表文件判斷所述指令對應(yīng)的輸入?yún)?shù)是否合法,若是,將對應(yīng)的任務(wù)號及指令號組織成控制流程消息發(fā)送至服務(wù)器,否則,將根據(jù)輸出類格式表文件進(jìn)行顯示;當(dāng)接收到服務(wù)器返回的消息處理結(jié)果,則根據(jù)輸出類格式表文件進(jìn)行顯示。
格式表類文件除了menu類(菜單類格式表文件)、output類(輸出類格式表文件),還包括其他類格式表文件。并且,menu類文件包括menu.ini、emenu.ini、xmenu.ini和pmenu.ini,當(dāng)需要增加新的菜單內(nèi)容時(shí),既可以在當(dāng)前的原有的格式表類文件中進(jìn)行修改或添加,又可以增加新的格式表類文件,文件的擴(kuò)展是以單詞expand的字母順序依次排列的。output類文件包括output.ini、eoutput.ini、xoutput.ini和poutput.ini,當(dāng)需要增加新的命令回顯信息時(shí),既可以在當(dāng)前的格式表類文件中進(jìn)行修改或添加,又可以增加新的格式表類文件,文件的擴(kuò)展規(guī)則和menu相同,也是以單詞expand的字母順序依次排列的。其他類型的文件功能一般具備對服務(wù)器的監(jiān)視功能、為用戶顯示提示信息的功能、顯示服務(wù)端狀態(tài)信息的功能等。
以下就舉兩個(gè)具體實(shí)施例來說明本發(fā)明。
實(shí)施例1下面以控制臺在已有菜單“電路板管理”的子菜單“增加電路板”中新增加一條“增加SLC板”命令為例來簡單介紹一個(gè)完整流程。
原有的menu.ini。
number=251.=電路板管理2.=VDT數(shù)據(jù)管理3.=……. number=81.=顯示電路板配置
2.=增加電路板3.=刪除電路板4.=……[1.2.]number=21.=增加DT板2.=增加MFC板增加“增加SLC板”命令后的menu.inimenu.ini中[mainmenu]number=251.=電路板管理2.=VDT數(shù)據(jù)管理3.=……. number=81.=顯示電路板配置2.=增加電路板3.=刪除電路板4.=……[1.2.]number=3 /*原值為2表示包含兩條命令,修改為3*/1.=增加DT板2.=增加MFC板3.=增加SLC板 /*新增加命令項(xiàng)*/
查找[1.2.2.]并在其后增加[1.2.3.]。
number=0CMDCODE=23CMDSIGN=ADD_SLCTASKCODE=1INPUTLINES=131.=X12;′**增加SLC板**′;3.=′開始框號′;X2;INT-3-0-0-1;X6;′開始板號′;X2;INT-2-2-0-2;5.=′連續(xù)個(gè)數(shù)′;X2;INT-4-4-0-3;X5;′分配HW號′;X2;INT-4-6-0-4;7.=′SLC板類型′;CHOSE-3-8-0;9.=X4;@16路;X2;@8路;X2;@24路;由此設(shè)置該任務(wù)的任務(wù)號是1,命令號是23。
在控制軟件執(zhí)行單元111中增加相應(yīng)的命令處理程序同時(shí)根據(jù)具體輸入?yún)?shù)的合法性及命令執(zhí)行的各種處理分支在輸出格式表output.ini中新添加不同的輸出內(nèi)容。
/*在命令[9],[12],[13]內(nèi)容中新增加對SLC板的信息輸出*/[9]OUTPUTLINES=11.=′!!!′;CHOSE-2-0;@刪除;@增加;1..=CHOSE-4-2;@空板;@DT板;@MFC板;@SLC板;[12]OUTPUTLINES=11.=′?。?!′;INT-3-0;X1;′框′;X1;INT-2-2;X1;′板位已設(shè)′;1..=CHOSE-4-2;@空板;@DT板;@MFC板;@SLC板;[13]
OUTPUTLINES=11.=′?。?!′;INT-3-0;X1;′框′;X1;INT-2-2;X1;′板位非′;1..=CHOSE-4-2;@空板;@DT板;@MFC板;@SLC板;至此操作完成,編譯控制軟件程序并運(yùn)行,便可以通過客戶端控制臺來執(zhí)行“增加SLC板”命令。
實(shí)施例2下面再以控制臺在已有菜單“智能網(wǎng)管理”的子菜單“高級業(yè)務(wù)管理”中新增加一條“設(shè)置新業(yè)務(wù)基本數(shù)據(jù)”命令為例來介紹一個(gè)完整流程。
下面修改menu.ini,增加“設(shè)置新業(yè)務(wù)基本數(shù)據(jù)”命令menu.ini中[mainmenu]number=251.=電路板管理2.=VDT數(shù)據(jù)管理3.=…….
4.=智能網(wǎng)管理由于智能網(wǎng)管理的編號是4,所以應(yīng)該從[4.]中查找。
number=41.=智能網(wǎng)操作配置2.=DP數(shù)據(jù)管理3.=高級業(yè)務(wù)管理4.=普通業(yè)務(wù)管理...
number=2 /*原值為1表示包含一條命令,修改為2*/1.=配置新業(yè)務(wù)觸發(fā)標(biāo)準(zhǔn)2.=設(shè)置新業(yè)務(wù)基本數(shù)據(jù)/*新增加命令項(xiàng)*/查找[4.3.1.]并在其后增加[4.3.2.]。
number=0CMDCODE=222CMDSIGN=ADD_SERVICETASKCODE=40INPUTLINES=491.=X12;′***設(shè)置新業(yè)務(wù)基本數(shù)據(jù)***′;4.=X2;′業(yè)務(wù)代號′;INT-2-0;6.=X2;′業(yè)務(wù)名稱′;ASCII-16-2;8.=X2;′業(yè)務(wù)鍵′;INT-3-18;10.=X2;′SCP地址′;12.=X8;′SCP尋址方式′;CHOSE-2-20;X2;@點(diǎn)碼方式;X2;@GT方式;14.=X8;′SCP子系統(tǒng)號′;INT-3-22;16.=X8;′主′;INT-3-24;X3;′分′;INT-3-26;X3;′點(diǎn)′;INT-3-28;18.=X8;′SCFID′;BCD-6-30-0-0;20.=X2;′請選擇業(yè)務(wù)所包含的觸發(fā)類型′;CHECK-16-34;22.=X3;#(DP1)發(fā)端-試呼-鑒權(quán)(基于用戶);#(DP2)摘機(jī)-延時(shí)(基于用戶);24.=X3;#(DP2)通路-建立-PRI(基于用戶) ;#(DP2)共享-局間-中繼(基于用戶);26.=X3;#(DP3)BRI-特征-激活-指示(基于用戶);#(DP3)公用-特征-碼(基于用戶);
28.=X3;#(DP3)規(guī)定-特征-碼(基于用戶) ;#(DP3)客戶-撥號-計(jì)劃(基于群);30.=X3;#(DP3)規(guī)定-數(shù)字-串(基于局) ;#(DP3)緊急業(yè)務(wù)(基于局);32.=X3;#(DP4)自動靈活選路AFR(基于群);#(DP5)O-被叫-用戶-忙(基于局);34.=X3;#(DP6)O-無-應(yīng)答(基于局) ;#(DP7)O-應(yīng)答(基于用戶);36.=X3;#(DP9)O-切斷(基于用戶) ;#(DP12)終端-試呼-有權(quán)(基于用戶);38.=CHECK-4-36;X3;#(DP13)T-忙(基于用戶) ;#(DP14)T-無-應(yīng)答(基于用戶);40.=X3;#(DP15)T-應(yīng)答(基于用戶) ;#(DP17)T-拆線(基于用戶);42.=X2;′注′;44.=X4;′1新業(yè)務(wù)增加要求針對一種業(yè)務(wù)類型,比如增加基于用戶的業(yè)務(wù)則只能從基于用戶的觸發(fā)類型中選擇′;46.=X4;′2(DP3)BRI-特征-激活-指示(基于用戶)暫時(shí)不用′;由此我們定義該任務(wù)的任務(wù)號是40,命令號是222。
下面進(jìn)入控制軟件執(zhí)行單元111中增加相應(yīng)的命令處理程序同時(shí)根據(jù)具體輸入?yún)?shù)的合法性及命令執(zhí)行的各種處理分支在輸出格式表output.ini中新添加不同的輸出內(nèi)容/*在命令[90051, 內(nèi)容中新增加執(zhí)行”設(shè)置新業(yè)務(wù)基本數(shù)據(jù)”命令的成功失敗信息輸出,同時(shí)新添加命令信息 、 、 、 、 、 、 */ OUTPUTLINES=11.=X6;CHOSE-12-0;@顯示結(jié)束;@增加成功;@修改成功;@刪除成功;@增加業(yè)務(wù)數(shù)據(jù)成功;1..=@新業(yè)務(wù)增加成功;@業(yè)務(wù)基本數(shù)據(jù)修改成功;@業(yè)務(wù)觸發(fā)標(biāo)準(zhǔn)修改成功;@業(yè)務(wù)刪除成功;@業(yè)務(wù)開通成功;1...=@業(yè)務(wù)取消成功;@該業(yè)務(wù)已被取消; OUTPUTLINES=11.=X6;CHOSE-26-0;@顯示失敗;@無效的顯示范圍;@沒有要顯示的數(shù)據(jù);@增加失敗;@增加失敗-空間不足;1..=@增加失敗-重復(fù);@修改失??;@修改失敗-重復(fù);@組合號錯(cuò)誤;@刪除失??;1...=@刪除失敗-錯(cuò)誤的組合號;@無效的操作范圍;@參數(shù)錯(cuò)誤;@無效的DP類型;@無效的觸發(fā)范圍;1....=X6;@新業(yè)務(wù)增加失敗;@增加業(yè)務(wù)數(shù)據(jù)失?。籃業(yè)務(wù)修改失??;@業(yè)務(wù)刪除失?。籃業(yè)務(wù)開通失??;@未知業(yè)務(wù);1.....=@業(yè)務(wù)配置不完全;@刪除失敗-配置數(shù)據(jù)不存在;@業(yè)務(wù)取消失敗;@業(yè)務(wù)類型錯(cuò)誤;1......=@業(yè)務(wù)配置數(shù)據(jù)錯(cuò)誤; OUTPUTLINES=11.=X2;′SCP子系統(tǒng)號超出范圍,請重新填寫!′; OUTPUTLINES=11.=X2;′SCP為點(diǎn)碼方式尋址,主-分-點(diǎn)三個(gè)參數(shù)必須輸入!′; OUTPUTLINES=11.=X2;′主-分-點(diǎn)參數(shù)超出范圍!′; OUTPUTLINES=11.=X2;′SCP為GT方式尋址,參數(shù)SCFID必須輸入!′; OUTPUTLINES=11.=X2;′業(yè)務(wù)鍵有效范圍為1-255,輸入?yún)?shù)范圍超出,請重新輸入!′; OUTPUTLINES=11.=X2;′業(yè)務(wù)的增加或者修改只允許針對一種業(yè)務(wù)類型,不能同時(shí)選擇兩種以上的業(yè)務(wù)類型!′; OUTPUTLINES=11.=X2;′目前來說一種業(yè)務(wù)最多支持4種觸發(fā)類型!′;至此操作完成,編譯交換軟件程序并運(yùn)行,便可以通過控制臺來執(zhí)行“設(shè)置新業(yè)務(wù)基本數(shù)據(jù)”命令。
以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種軟件功能更新的方法,應(yīng)用于分布式管理系統(tǒng),所述分布式管理系統(tǒng)包括服務(wù)器和與所述服務(wù)器連接的若干客戶端控制臺,其特征在于,包括(1)客戶端控制臺在控制軟件中設(shè)置格式表類文件及對應(yīng)的處理流程,所述格式表類文件為客戶端控制臺所有用以控制服務(wù)器的控制操作命令的集合;(2)在格式表類文件中增加軟件功能對應(yīng)的指令信息;(3)客戶端控制臺按照所述處理流程處理所述格式表類文件,以達(dá)到更新軟件功能。
2.如權(quán)利要求1所述的軟件功能更新的方法,其特征在于,所述格式表類文件為客戶端控制臺對控制軟件所有控制操作命令進(jìn)行分級菜單式管理。
3.如權(quán)利要求2所述的軟件功能更新的方法,其特征在于,所述格式表類文件包括菜單類格式表文件,所述菜單類格式表文件包括控制軟件的菜單界面中的各級菜單及子菜單、以及每一子菜單對應(yīng)的任務(wù)號、指令號。
4.如權(quán)利要求3所述的軟件功能更新的方法,其特征在于,步驟(1)中的所述處理流程包括根據(jù)菜單類格式表文件中的菜單及子菜單進(jìn)行顯示以獲得菜單界面;當(dāng)接收到用戶操作子菜單的指令,則將該子菜單對應(yīng)的任務(wù)號、指令號組織成控制消息后發(fā)送至服務(wù)器,以便服務(wù)器從所述控制消息中還原出所述任務(wù)號和指令號,并執(zhí)行所述指令號對應(yīng)的指令。
5.如權(quán)利要求3所述的軟件功能更新的方法,其特征在于,所述格式表類文件包括輸出類格式表文件,所述輸出類格式表文件用以表明用戶在發(fā)出控制指令后在客戶端控制臺的控制軟件中所看到的顯示內(nèi)容。
6.如權(quán)利要求5所述的軟件功能更新的方法,其特征在于,還包括服務(wù)器將執(zhí)行增加功能的指令所對應(yīng)的各種處理分支以及該指令輸入?yún)?shù)合法的判斷發(fā)送至客戶端控制臺;客戶端控制臺將所述指令所對應(yīng)的各種處理分支以及該指令輸入?yún)?shù)合法的判斷保存在輸出類格式表文件中。
7.如權(quán)利要求6所述的軟件功能更新的方法,其特征在于,所述處理流程還包括當(dāng)接收到用戶輸入增加功能的指令時(shí),先根據(jù)輸出類格式表文件判斷所述指令對應(yīng)的輸入?yún)?shù)是否合法,若是,將對應(yīng)的任務(wù)號及指令號組織成控制消息發(fā)送至服務(wù)器,否則,將根據(jù)輸出類格式表文件進(jìn)行顯示;當(dāng)接收到服務(wù)器返回的消息處理結(jié)果,則根據(jù)輸出類格式表文件進(jìn)行顯示。
8.如權(quán)利要求1所述的軟件功能更新的方法,其特征在于,所述格式表類文件是根據(jù)標(biāo)準(zhǔn)INI文件格式設(shè)置的文件。
9.一種軟件功能更新的系統(tǒng),包括服務(wù)器及若干客戶端控制臺,所述服務(wù)器包括控制軟件執(zhí)行單元和第二接口單元,所述客戶端控制臺包括控制軟件和第一接口單元,其特征在于,所述控制軟件包括格式表類文件及格式表類文件處理單元,其中,格式表類文件,為客戶端控制臺中所有用以控制服務(wù)器的控制操作命令的集合;格式類文件處理單元,用以識別格式表類文件,并按照預(yù)先設(shè)定的處理流程處理格式表類文件;第一接口單元和第二接口單元,用于建立服務(wù)器和客戶端控制臺之間的通信;控制軟件執(zhí)行單元,用以執(zhí)行第二接口單元發(fā)送的指令信息進(jìn)行對服務(wù)器的相應(yīng)控制。
10.如權(quán)利要求9所述的軟件功能更新的系統(tǒng),其特征在于,所述格式類文件處理單元進(jìn)一步包括菜單界面處理子單元用以識別并顯示格式表類文件中的每一級菜單及各級菜單下的子菜單,以獲得該軟件的菜單界面;指令形成子單元當(dāng)接收到用戶操作指令,激活菜單界面中的一子菜單時(shí),從格式表類文件獲得包括對應(yīng)的任務(wù)號和指令號的指令信息,并將之發(fā)送至第一接口單元;指令反饋?zhàn)訂卧?dāng)接收到第一接口單元發(fā)送的服務(wù)器的指令反饋信息時(shí),根據(jù)格式表類文件顯示對應(yīng)信息。
11.如權(quán)利要求9或10所述的軟件功能更新的系統(tǒng),其特征在于,所述格式表類文件為類INI文件,所述格式類文件處理單元為能夠識別類INI文件的windows操作系統(tǒng)。
全文摘要
本發(fā)明公開了一種軟件功能更新的方法及系統(tǒng),它主要通過在客戶端控制臺上設(shè)置格式表類文件及能夠識別并執(zhí)行該格式表類文件的格式表類文件處理單元。當(dāng)需要增加軟件功能時(shí),只需要在客戶端控制臺上修改格式表類文件即可。由于格式表類文件是文本文件,所以更容易修改,并且更靈活。由此避免擴(kuò)充軟件功能時(shí)需要修改客戶端控制臺上的代碼。同時(shí),提高軟件功能擴(kuò)展的效率,并且減少了功能擴(kuò)展的實(shí)現(xiàn)難度。
文檔編號G06F9/445GK1645326SQ20051000756
公開日2005年7月27日 申請日期2005年2月5日 優(yōu)先權(quán)日2005年2月5日
發(fā)明者謝昆, 黃凱 申請人:西安大唐電信有限公司