專利名稱:基于組件的增值業(yè)務(wù)配置方法和增值業(yè)務(wù)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種增值業(yè)務(wù)的持久化技術(shù),尤其涉及一種基于組件的增值業(yè)務(wù)配置方法,以及一種基于組件的增值業(yè)務(wù)系統(tǒng)。
背景技術(shù):
基于傳統(tǒng)的通信網(wǎng)絡(luò),設(shè)備提供商往往基于與業(yè)務(wù)相關(guān)的構(gòu)造模塊開發(fā)增值業(yè)務(wù),這種開發(fā)模式,隨著業(yè)務(wù)復(fù)雜度的增加,運(yùn)營(yíng)商對(duì)開發(fā)環(huán)境的開放性要求不斷增加,現(xiàn)有的增值業(yè)務(wù)開發(fā)與配置方式越來(lái)越難以滿足客戶的需求。
隨著下一代網(wǎng)絡(luò)及3G的不斷發(fā)展,Parlay逐漸成為增值業(yè)務(wù)的主流開發(fā)技術(shù),但需要根據(jù)業(yè)務(wù)邏輯定義有限狀態(tài)機(jī)(FSM,F(xiàn)inite State Machine),隨著業(yè)務(wù)的復(fù)雜,導(dǎo)致FSM的狀態(tài)越來(lái)越多,相應(yīng)開發(fā)效率越來(lái)越低。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中基于有限狀態(tài)機(jī)開發(fā)業(yè)務(wù)的過(guò)程中,有限狀態(tài)機(jī)與業(yè)務(wù)功能緊密耦合,因此至少存在以下缺點(diǎn)代碼維護(hù)困難,系統(tǒng)可擴(kuò)展性差。在開發(fā)新業(yè)務(wù)時(shí),無(wú)法從現(xiàn)有業(yè)務(wù)中分離出已經(jīng)實(shí)現(xiàn)的業(yè)務(wù)功能,開發(fā)人員或者重新開發(fā)或依靠代碼級(jí)復(fù)制、修改,由于工作量很大,使業(yè)務(wù)開發(fā)很難進(jìn)行擴(kuò)展,花費(fèi)的時(shí)間非常長(zhǎng),在后續(xù)維護(hù)中工作量也很大。
因此,現(xiàn)有技術(shù)中的增值業(yè)務(wù)的開發(fā)方式已經(jīng)不能適應(yīng)技術(shù)的發(fā)展,很難實(shí)現(xiàn)對(duì)增值業(yè)務(wù)流程的動(dòng)態(tài)配置,并且會(huì)造成人為對(duì)增值業(yè)務(wù)內(nèi)部配置的改變,影響設(shè)定的業(yè)務(wù)邏輯的正常使用。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種基于組件的增值業(yè)務(wù)配置方法,以提高增值業(yè)務(wù)的可擴(kuò)展性和可維護(hù)性,該方法包括如下步驟根據(jù)增值業(yè)務(wù)的執(zhí)行邏輯,設(shè)置有限狀態(tài)機(jī),并將與業(yè)務(wù)邏輯分離的組件配置于所述有限狀態(tài)機(jī)的各個(gè)狀態(tài);將所述有限狀態(tài)機(jī)中的各個(gè)狀態(tài),以及配置各個(gè)狀態(tài)中的組件時(shí)所形成的配置信息,以配置文件形式存儲(chǔ)。
本發(fā)明的另一個(gè)實(shí)施例還提供了一種基于組件的增值業(yè)務(wù)系統(tǒng),該系統(tǒng)包括組件單元、業(yè)務(wù)邏輯單元、業(yè)務(wù)控制單元和業(yè)務(wù)配置文件管理單元,其中組件單元,用于存儲(chǔ)至少一個(gè)與業(yè)務(wù)邏輯分離的組件;業(yè)務(wù)邏輯單元,用于存儲(chǔ)有限狀態(tài)機(jī)及其配置信息;業(yè)務(wù)控制單元,包括配置子單元和執(zhí)行子單元;所述配置子單元,用于在配置增值業(yè)務(wù)時(shí),根據(jù)業(yè)務(wù)執(zhí)行邏輯,將所述組件單元配置于所述業(yè)務(wù)邏輯單元中的有限狀態(tài)機(jī),并生成業(yè)務(wù)配置文件,存儲(chǔ)與所述業(yè)務(wù)配置文件管理單元;所述執(zhí)行子單元,用于在執(zhí)行增值業(yè)務(wù)時(shí),從所述業(yè)務(wù)配置文件管理單元讀取與所述增值業(yè)務(wù)匹配的業(yè)務(wù)配置文件,生成業(yè)務(wù)執(zhí)行樹,并按照所述業(yè)務(wù)執(zhí)行樹調(diào)用所述組件單元中的組件,執(zhí)行增值業(yè)務(wù);業(yè)務(wù)配置文件管理單元,用于存儲(chǔ)并管理所述業(yè)務(wù)配置文件。
本發(fā)明的上述實(shí)施例中所述的組件與業(yè)務(wù)邏輯分離,執(zhí)行獨(dú)立的業(yè)務(wù)功能,因此在配置增值業(yè)務(wù)時(shí),可根據(jù)新的增值業(yè)務(wù)的執(zhí)行邏輯,將相應(yīng)的與業(yè)務(wù)邏輯分離的組件配置于有限狀態(tài)機(jī),從而在增值業(yè)務(wù)的配置過(guò)程中,使有限狀態(tài)機(jī)與執(zhí)行業(yè)務(wù)功能的組件的耦合度降低,實(shí)現(xiàn)了組件的可重用性,提高了增值業(yè)務(wù)系統(tǒng)的可擴(kuò)展性和可維護(hù)性。
圖1為本發(fā)明實(shí)施例的基于組件的增值業(yè)務(wù)系統(tǒng)架構(gòu)示意圖;圖2為本發(fā)明實(shí)施例的基于組件的增值業(yè)務(wù)配置過(guò)程示意圖;圖3為本發(fā)明實(shí)施例的增值業(yè)務(wù)的執(zhí)行過(guò)程示意圖;
圖4為本發(fā)明實(shí)施例的基于組件的增值業(yè)務(wù)系統(tǒng)的示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。
參見(jiàn)圖1,為本發(fā)明實(shí)施例的基于組件的增值業(yè)務(wù)系統(tǒng)架構(gòu)示意圖,該增值業(yè)務(wù)系統(tǒng)架構(gòu)包括組件單元(Feature)即業(yè)務(wù)相關(guān)的獨(dú)立、可插拔的組件,如JAVA程序代碼,代表業(yè)務(wù)的某個(gè)特性,如,主叫限制,親情號(hào)碼等。組件可以被不同業(yè)務(wù)重用,可以使用公共標(biāo)準(zhǔn)結(jié)構(gòu)發(fā)布。根據(jù)系統(tǒng)提供的業(yè)務(wù)功能和增值功能,組件單元可以為多個(gè),每個(gè)組件單元執(zhí)行一個(gè)業(yè)務(wù)特性。
業(yè)務(wù)邏輯單元(Service Logic)指實(shí)際的業(yè)務(wù)邏輯,包含有有限狀態(tài)機(jī)及其配置信息。有限狀態(tài)機(jī)中包含實(shí)現(xiàn)業(yè)務(wù)邏輯的基本狀態(tài)。相對(duì)包含大部分邏輯處理功能的組件單元來(lái)說(shuō),有限狀態(tài)機(jī)是輕量級(jí)的,是邏輯實(shí)體,用于將多個(gè)組件單元組織成完成一個(gè)完整業(yè)務(wù)功能的業(yè)務(wù)邏輯。
特性控制接口(Feature Controller Interface)介于組件單元和業(yè)務(wù)邏輯單元之間,是組件單元與有限狀態(tài)機(jī)之間的接口,提供特性控制接口工具,如可視化的有限狀態(tài)機(jī)配置工具。在配置增值業(yè)務(wù)時(shí),該單元根據(jù)業(yè)務(wù)執(zhí)行邏輯,將一個(gè)或多個(gè)組件單元配置于業(yè)務(wù)邏輯單元中的有限狀態(tài)機(jī),并生成業(yè)務(wù)配置文件;在執(zhí)行增值業(yè)務(wù)時(shí),讀取業(yè)務(wù)配置文件,并根據(jù)業(yè)務(wù)配置文件中有限狀態(tài)機(jī)的配置信息生成業(yè)務(wù)執(zhí)行樹,該業(yè)務(wù)執(zhí)行樹反映了有限狀態(tài)機(jī)的執(zhí)行邏輯,然后按照生成的業(yè)務(wù)執(zhí)行樹,調(diào)用相應(yīng)的組件執(zhí)行業(yè)務(wù)邏輯。
業(yè)務(wù)平臺(tái)(Service Platform)為所有業(yè)務(wù)提供通用工具,例如包括配置文件管理器,以提供加密業(yè)務(wù)配置文件的加密工具、用于解密業(yè)務(wù)配置文件的解密工具,同時(shí)也負(fù)責(zé)存儲(chǔ)業(yè)務(wù)配置文件,業(yè)務(wù)平臺(tái)中還包括計(jì)費(fèi)模塊等。
應(yīng)用服務(wù)器(Application Server)完成業(yè)務(wù)控制功能(Service ControlFunction,SCF),提供呼叫控制、媒體控制、數(shù)據(jù)管理、協(xié)議適配、計(jì)費(fèi)和業(yè)務(wù)執(zhí)行環(huán)境等功能,負(fù)責(zé)提供增值業(yè)務(wù)。
基于上述增值業(yè)務(wù)系統(tǒng),增值業(yè)務(wù)的配置過(guò)程如圖2所示。
參見(jiàn)圖2,為本發(fā)明實(shí)施例的基于組件的增值業(yè)務(wù)配置過(guò)程示意圖,具體步驟包括步驟201、根據(jù)增值業(yè)務(wù)實(shí)現(xiàn)功能組件(業(yè)務(wù)特性)及接口。
這些組件(獨(dú)立的特性)可以是由在現(xiàn)行的各種業(yè)務(wù)中實(shí)現(xiàn)該業(yè)務(wù)某項(xiàng)功能的基礎(chǔ)代碼構(gòu)成的,也可以是由開發(fā)端按新增值業(yè)務(wù)中的新功能與現(xiàn)有的業(yè)務(wù)創(chuàng)建原理構(gòu)成的基礎(chǔ)代碼的集合,且這些基礎(chǔ)代碼構(gòu)成的新的功能根據(jù)新業(yè)務(wù)的具體邏輯過(guò)程而應(yīng)用,并且這些特性業(yè)務(wù)邏輯是獨(dú)立存在的,并可隨時(shí)應(yīng)用在不同的業(yè)務(wù)中。特性的配置包括以下幾個(gè)方面配置對(duì)運(yùn)營(yíng)商可用的特性列表;針對(duì)不同運(yùn)營(yíng)商配置特性列表,可以加強(qiáng)對(duì)特性的保護(hù),使運(yùn)營(yíng)商不能超過(guò)其權(quán)限訪問(wèn)和使用特性,從而避免運(yùn)營(yíng)商超范圍修改增值業(yè)務(wù)。
上述配置信息可存儲(chǔ)于業(yè)務(wù)平臺(tái),并且采用DES(Data EncryptionStandard,數(shù)據(jù)加密標(biāo)準(zhǔn))進(jìn)行加密。運(yùn)營(yíng)商在拓展新業(yè)務(wù)時(shí),無(wú)需對(duì)基礎(chǔ)代碼進(jìn)行修改,只要修改相關(guān)的配置信息就可以實(shí)現(xiàn)業(yè)務(wù)的升級(jí)或者改變。本實(shí)施例中,也可以采用集成SCE進(jìn)行特性的配置。
步驟202、根據(jù)業(yè)務(wù)執(zhí)行邏輯設(shè)置有限狀態(tài)機(jī)。
當(dāng)業(yè)務(wù)平臺(tái)收到一個(gè)新的呼叫時(shí),控制引擎將由事件觸發(fā)第一個(gè)控制點(diǎn)來(lái)開始呼叫流程。有限狀態(tài)機(jī)的設(shè)置可包括初始控制點(diǎn)設(shè)置初始控制點(diǎn)可根據(jù)BCSM(Basic Call State Model,基本呼叫狀態(tài)模型)狀態(tài)進(jìn)行設(shè)置;初始控制點(diǎn)可以包括如表1所示的配置信息表1
控制點(diǎn)設(shè)置控制點(diǎn)用來(lái)決定下一個(gè)要執(zhí)行的特性;控制點(diǎn)可以包括如表2所示的配置信息表2
斷點(diǎn)設(shè)置斷點(diǎn)用來(lái)指示呼叫到外部的組件,如軟切換/媒體服務(wù)器/計(jì)費(fèi)等;斷點(diǎn)設(shè)置可以包括如表3所示的配置信息表3
管理點(diǎn)設(shè)置管理點(diǎn)用來(lái)進(jìn)行管理控制或呼叫的IVP(Interactive VoiceResponse交互式語(yǔ)音應(yīng)答),管理點(diǎn)可以包括如表4所示的配置信息表4
步驟203、利用組件控制接口將組件與有限狀態(tài)機(jī)邏輯連接,配置業(yè)務(wù)邏輯流。
有限狀態(tài)機(jī)包含一組狀態(tài)集(states)以及各狀態(tài)之間轉(zhuǎn)換的邏輯關(guān)系,一般SIP呼叫流程如圖3所示,可以包括如下狀態(tài)(控制點(diǎn))初始狀態(tài);等待卡信息狀態(tài);等待被叫號(hào)碼狀態(tài);等待路由響應(yīng)狀態(tài);連接狀態(tài);釋放狀態(tài)。
可以利用特性控制接口提供的可視化的有限狀態(tài)機(jī)配置工具,實(shí)現(xiàn)組件與有限狀態(tài)機(jī)邏輯連接,利用可視化的有限狀態(tài)機(jī)配置工具實(shí)現(xiàn)特性和有限狀態(tài)機(jī)邏輯連接一般包括特性流和管理流的配置過(guò)程以設(shè)置初始狀態(tài)控制點(diǎn)為例,描述特性流的配置過(guò)程如下1、創(chuàng)建一個(gè)新的控制點(diǎn)文件。用戶可通過(guò)下拉菜單為每個(gè)控制點(diǎn)創(chuàng)建一個(gè)文件。
2、創(chuàng)建初始狀態(tài)。用戶可通過(guò)從狀態(tài)列表中選擇初始狀態(tài),并在工作界面中放置表示初始狀態(tài)的圖標(biāo)。
3、選擇欲被應(yīng)用的第一個(gè)特性和操作類型。用戶可通過(guò)從特性列表中選擇欲被應(yīng)用的特性,從操作類型列表中選擇欲被應(yīng)用的操作類型,可視化工具將選擇的特性名稱和操作類型名稱表示在第一個(gè)特性節(jié)點(diǎn)的圖標(biāo)中。
4、用戶將初始狀態(tài)圖標(biāo)和特性節(jié)點(diǎn)圖標(biāo)用連接線(狀態(tài)到特性的連接線)進(jìn)行連接,該連線表示從初始狀態(tài)觸發(fā)執(zhí)行第一個(gè)特性,并從事件列表中選擇從初始狀態(tài)到執(zhí)行第一個(gè)特性的觸發(fā)事件,可視化工具將該事件名稱表示在該連線上。
5、選擇欲被應(yīng)用的第二個(gè)特性和操作類型。用戶可通過(guò)從特性列表中選擇欲被應(yīng)用的特性,從操作類型列表中選擇欲被應(yīng)用的操作類型,可視化工具將選擇的特性名稱和操作類型名稱表示在第二個(gè)特性節(jié)點(diǎn)的圖標(biāo)中。
將第一個(gè)特性節(jié)點(diǎn)圖標(biāo)和第二個(gè)特性節(jié)點(diǎn)圖標(biāo)用連接線(特性到特性的連接線)連接,該連接線表示由第一個(gè)特性觸發(fā)執(zhí)行第二個(gè)特性,并從第一個(gè)特性節(jié)點(diǎn)中的特性的返回碼列表中選擇一個(gè)返回碼,作為到觸發(fā)第二個(gè)特性的觸發(fā)條件,可視化工具將返回碼的值表示在該連接線上,例如返回碼可以是執(zhí)行成功或執(zhí)行失敗。
按照上述過(guò)程可創(chuàng)建并連接多個(gè)特性節(jié)點(diǎn)。
6、設(shè)置從初始狀態(tài)到等待卡信息狀態(tài)的轉(zhuǎn)換。在設(shè)置完成初始狀態(tài)中需要執(zhí)行的所有特性后,最后還要設(shè)置狀態(tài)的轉(zhuǎn)換。在從初始狀態(tài)到等待卡信息狀態(tài)的轉(zhuǎn)換過(guò)程中一般需要播放通知信息(announcement),因此在工作界面上設(shè)置一個(gè)表示狀態(tài)轉(zhuǎn)換的圖標(biāo),然后從通知信息列表中選擇需要播放的通知信息標(biāo)識(shí),從狀態(tài)標(biāo)志列表中選擇狀態(tài)轉(zhuǎn)換標(biāo)志,從狀態(tài)列表中選擇轉(zhuǎn)換后的目標(biāo)狀態(tài),可視化工具將用戶選擇的信息表示在該圖標(biāo)中。
將該圖標(biāo)與最后一個(gè)需要執(zhí)行的特性間通過(guò)連接線(特性到特性的連接線)連接,并設(shè)置最后一個(gè)需要執(zhí)行的特性的返回碼,作為觸發(fā)狀態(tài)轉(zhuǎn)換的觸發(fā)條件。
按照上述過(guò)程可創(chuàng)建并配置多個(gè)狀態(tài)控制點(diǎn),這些控制點(diǎn)的配置信息保存在相應(yīng)的控制點(diǎn)文件中。
管理流的配置過(guò)程包括1、為管理流創(chuàng)建一個(gè)新的文件。一般情況下,管理流包括如下配置過(guò)程為有限狀態(tài)機(jī)播放通知信息或等待用戶輸入的狀態(tài),進(jìn)行管理菜單的配置;為基于用戶輸入的,以特殊操作類型觸發(fā)一個(gè)特性的執(zhí)行,進(jìn)行管理菜單的配置;當(dāng)基于前一個(gè)特性的返回碼觸發(fā)下一個(gè)特性執(zhí)行時(shí),進(jìn)行控制點(diǎn)的配置;當(dāng)為狀態(tài)轉(zhuǎn)換播放通知信息和等待響應(yīng)時(shí),進(jìn)行斷點(diǎn)的配置;在同一個(gè)狀態(tài)中播放歡迎詞和等待響應(yīng)時(shí),進(jìn)行斷點(diǎn)配置;轉(zhuǎn)換到另一個(gè)狀態(tài)時(shí),進(jìn)行斷點(diǎn)配置。
2、選擇初始管理狀態(tài),并設(shè)置該狀態(tài)需要播放的通知信息。如,在工作界面中設(shè)置初始管理狀態(tài)的圖標(biāo),圖標(biāo)中標(biāo)識(shí)出該狀態(tài)標(biāo)識(shí)和通知信息標(biāo)識(shí)。
3、為指定的事件選擇需要執(zhí)行的特性和操作類型。如,在工作界面中設(shè)置特性節(jié)點(diǎn)圖標(biāo),在特性節(jié)點(diǎn)圖標(biāo)中標(biāo)識(shí)出由指定事件觸發(fā)的特性名稱和操作類型名稱,并將初始管理狀態(tài)圖標(biāo)和特性節(jié)點(diǎn)圖標(biāo)連接。
4、基于特性節(jié)點(diǎn)的返回碼,設(shè)置轉(zhuǎn)換到的下一個(gè)狀態(tài)。如,在工作界面中設(shè)置多個(gè)狀態(tài)圖標(biāo),在狀態(tài)圖標(biāo)中標(biāo)識(shí)出狀態(tài)轉(zhuǎn)換標(biāo)識(shí)和該狀態(tài)標(biāo)識(shí);然后將特性節(jié)點(diǎn)分別與多個(gè)狀態(tài)圖標(biāo)連接,并指示出從該特性節(jié)點(diǎn)觸發(fā)到目標(biāo)狀態(tài)所基于的返回碼。例如,當(dāng)特性節(jié)點(diǎn)的返回碼為成功時(shí),轉(zhuǎn)換到目標(biāo)狀態(tài)1,當(dāng)返回碼為失敗時(shí),轉(zhuǎn)換到目標(biāo)狀態(tài)2。
重復(fù)上述過(guò)程完成所有管理菜單的設(shè)置,上述設(shè)置過(guò)程可通過(guò)可視化的有限狀態(tài)機(jī)配置工具完成。
步驟204、將業(yè)務(wù)邏輯以配置文件形式存儲(chǔ)。
當(dāng)所有的特性流和管理流都創(chuàng)建和配置后,將該有限狀態(tài)機(jī)的特性流和管理流文件合并為一個(gè)單序列文件(single serializable file),以便當(dāng)業(yè)務(wù)平臺(tái)在執(zhí)行業(yè)務(wù)時(shí),讀取該文件,生成執(zhí)行樹。
將配置好的業(yè)務(wù)邏輯存儲(chǔ)于POJO(Plain Old Java Objects,簡(jiǎn)單的JAVA對(duì)象)中,并使用JAVA語(yǔ)言的持久化特性寫入文件中。然后將該文件通過(guò)加密單元進(jìn)行DES加密算法加密,并存儲(chǔ)于業(yè)務(wù)平臺(tái)的業(yè)務(wù)配置文件管理器中。當(dāng)呼叫接入時(shí),應(yīng)用服務(wù)器觸發(fā)相應(yīng)的增值業(yè)務(wù),并啟動(dòng)控制單元讀取匹配的業(yè)務(wù)配置文件,并根據(jù)該配置文件生成運(yùn)行時(shí)的業(yè)務(wù)執(zhí)行樹,在執(zhí)行時(shí)按照業(yè)務(wù)執(zhí)行樹執(zhí)行業(yè)務(wù)流程處理呼叫。
當(dāng)需要增加或更新業(yè)務(wù)時(shí),只需增加或更新與該業(yè)務(wù)相關(guān)的特性,必要時(shí)需要更新業(yè)務(wù)邏輯,并形成新的業(yè)務(wù)邏輯的配置文件,而不用修改原有的業(yè)務(wù)功能代碼。采用上述方法開發(fā)新增值業(yè)務(wù)具有開發(fā)周期短,重復(fù)利用率高,并減少了程序調(diào)試的時(shí)間并且方便維護(hù),且對(duì)開發(fā)的所有業(yè)務(wù)配置均進(jìn)行加密,避免了對(duì)數(shù)據(jù)庫(kù)訪問(wèn)過(guò)程中進(jìn)行修改而造成業(yè)務(wù)出錯(cuò)的問(wèn)題。
基于上述增值業(yè)務(wù)系統(tǒng),增值業(yè)務(wù)的執(zhí)行方法如下所述。
參見(jiàn)圖3,為本發(fā)明實(shí)施例的增值業(yè)務(wù)的執(zhí)行過(guò)程示意圖,該流程以主叫呼叫被叫的流程為例,當(dāng)一個(gè)新的呼叫被應(yīng)用服務(wù)器接收時(shí),啟動(dòng)控制單元讀取相關(guān)的配置文件,并生成業(yè)務(wù)邏輯執(zhí)行樹,業(yè)務(wù)邏輯將按照該執(zhí)行樹的順序執(zhí)行。業(yè)務(wù)邏輯執(zhí)行步驟包括1、應(yīng)用服務(wù)器接收呼叫,觸發(fā)相應(yīng)的業(yè)務(wù)。業(yè)務(wù)控制單元通過(guò)業(yè)務(wù)配置文件管理單元讀取業(yè)務(wù)配置文件,并通過(guò)解密單元對(duì)配置文件進(jìn)行DES解密后生成業(yè)務(wù)執(zhí)行樹。業(yè)務(wù)執(zhí)行樹表現(xiàn)為有限狀態(tài)機(jī)各狀態(tài)的執(zhí)行順序。其中,由有限狀態(tài)機(jī)確定業(yè)務(wù)的初始狀態(tài),并確定將執(zhí)行增值業(yè)務(wù);2、通過(guò)業(yè)務(wù)控制單元調(diào)用組件;初始狀態(tài)中的第一個(gè)需要執(zhí)行的組件是特性F1;F1執(zhí)行后根據(jù)其返回值調(diào)用F3,F(xiàn)3執(zhí)行后根據(jù)其返回值調(diào)用F2和F4,F(xiàn)2和F4將其執(zhí)行完成后的返回值傳遞給業(yè)務(wù)控制單元。
3、根據(jù)特性返回值觸發(fā)狀態(tài)轉(zhuǎn)換,轉(zhuǎn)換到信息等待狀態(tài);4、收集到卡信息后執(zhí)行鑒權(quán),并將鑒權(quán)結(jié)果傳遞給業(yè)務(wù)控制單元;再由業(yè)務(wù)控制單元基于該特性業(yè)務(wù)邏輯的執(zhí)行返回的代碼觸發(fā)下一個(gè)要執(zhí)行的特性邏輯,轉(zhuǎn)換為被呼叫等待狀態(tài);5、業(yè)務(wù)控制單元根據(jù)鑒權(quán)結(jié)果觸發(fā)調(diào)用需要執(zhí)行的組件;首先觸發(fā)的組件是特性F5,再根據(jù)F5的返回值觸發(fā)執(zhí)行F7,然后根據(jù)F7的返回值觸發(fā)執(zhí)行F6和F8,并將最后執(zhí)行結(jié)果的返回值傳遞給業(yè)務(wù)控制單元。
6、根據(jù)特性返回值進(jìn)行狀態(tài)轉(zhuǎn)換,轉(zhuǎn)換到被叫號(hào)碼等待狀態(tài);7、收集被呼叫號(hào)碼,并轉(zhuǎn)換到路由回應(yīng)等待狀態(tài);8、被叫應(yīng)答,并根據(jù)被叫者應(yīng)答轉(zhuǎn)換到業(yè)務(wù)連接狀態(tài),執(zhí)行增值業(yè)務(wù);9、主叫掛機(jī),并轉(zhuǎn)換到釋放狀態(tài),結(jié)束增值業(yè)務(wù)。
本發(fā)明實(shí)施例提供了一種基于組件的增值業(yè)務(wù)系統(tǒng)。
參見(jiàn)圖4,為本發(fā)明實(shí)施例的基于組件的增值業(yè)務(wù)系統(tǒng),該系統(tǒng)包括組件單元、業(yè)務(wù)邏輯單元、業(yè)務(wù)控制單元和業(yè)務(wù)配置文件管理單元,其中組件單元用于存儲(chǔ)至少一個(gè)與業(yè)務(wù)邏輯分離的組件;業(yè)務(wù)邏輯單元用于存儲(chǔ)有限狀態(tài)機(jī)及其配置信息;業(yè)務(wù)控制單元,包括配置子單元和執(zhí)行子單元。配置子單元,用于在配置增值業(yè)務(wù)時(shí),根據(jù)業(yè)務(wù)執(zhí)行邏輯,將組件單元配置于業(yè)務(wù)邏輯單元中的有限狀態(tài)機(jī),并生成業(yè)務(wù)配置文件,將配置文件存儲(chǔ)于業(yè)務(wù)配置文件管理單元。執(zhí)行子單元用于在執(zhí)行增值業(yè)務(wù)時(shí),從業(yè)務(wù)配置文件管理單元讀取與增值業(yè)務(wù)匹配的業(yè)務(wù)配置文件,生成業(yè)務(wù)執(zhí)行樹,該業(yè)務(wù)生成樹反映了有限狀態(tài)機(jī)的業(yè)務(wù)邏輯,然后按照生成的業(yè)務(wù)執(zhí)行樹調(diào)用組件單元中的組件,執(zhí)行增值業(yè)務(wù)。
業(yè)務(wù)配置文件管理單元用于存儲(chǔ)并管理業(yè)務(wù)配置文件。業(yè)務(wù)配置文件管理單元包括存儲(chǔ)子單元、加密子單元和解密子單元。存儲(chǔ)子單元用于存儲(chǔ)業(yè)務(wù)配置文件;加密子單元用于加密業(yè)務(wù)配置文件,如采用DES加密算法,以加強(qiáng)安全性,并將加密后的文件存儲(chǔ)到存儲(chǔ)子單元;解密子單元用于從存儲(chǔ)子單元獲得配置文件,并采用與加密單元的加密算法相應(yīng)的解密算法解密該業(yè)務(wù)配置文件,將解密后的配置文件提供給業(yè)務(wù)控制單元的執(zhí)行子單元。
綜上所述,本發(fā)明實(shí)施例所采用的組件是由現(xiàn)有的業(yè)務(wù)邏輯中分離出的獨(dú)立的具有可插入性的模塊,可以為多種業(yè)務(wù)所共用,并且組件可應(yīng)用在任何業(yè)務(wù)邏輯中,在更新業(yè)務(wù)邏輯時(shí),只要重新更新有限狀態(tài)機(jī)以及有限狀態(tài)機(jī)中組件與組件間的邏輯連接關(guān)系、組件與狀態(tài)間的邏輯連接關(guān)系即可;在增加新業(yè)務(wù)時(shí),只需增加新的組件,或者利用現(xiàn)有的功能相同或相似的組件建立業(yè)務(wù)邏輯,通常無(wú)需進(jìn)行基礎(chǔ)代碼的修改,從而節(jié)省了新業(yè)務(wù)開發(fā)時(shí)間,提高了增值業(yè)務(wù)的可擴(kuò)展性,降低了代碼冗余。同樣由于組件的獨(dú)立以及可插入性使得新業(yè)務(wù)調(diào)試過(guò)程簡(jiǎn)化,并且具有較好的可維護(hù)性。本發(fā)明實(shí)施例中的組件配置采用DES加密算法加密,避免了運(yùn)營(yíng)商對(duì)業(yè)務(wù)配置的錯(cuò)誤修改,保證業(yè)務(wù)的正常使用,提高了安全性。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種基于組件的增值業(yè)務(wù)配置方法,其特征在于,包括以下步驟根據(jù)增值業(yè)務(wù)的執(zhí)行邏輯,設(shè)置有限狀態(tài)機(jī),并將與業(yè)務(wù)邏輯分離的組件配置于所述有限狀態(tài)機(jī)的各個(gè)狀態(tài);將所述有限狀態(tài)機(jī)中的各個(gè)狀態(tài),以及配置各個(gè)狀態(tài)中的組件時(shí)所形成的配置信息,以配置文件形式存儲(chǔ)。
2.如權(quán)利要求1所述的方法,其特征在于,所述組件為新開發(fā)的組件,或者為已有的組件,或者為新開發(fā)的組件與已有組件合并而成的組件。
3.如權(quán)利要求1所述的方法,其特征在于,所述組件存儲(chǔ)于至少一個(gè)組件列表,所述組件列表設(shè)置有組件訪問(wèn)權(quán)限。
4.如權(quán)利要求1所述的方法,其特征在于,所述設(shè)置有限狀態(tài)機(jī),并將所述組件配置于有限狀態(tài)機(jī)的各個(gè)狀態(tài)的過(guò)程,包括步驟配置所述有限狀態(tài)機(jī)各狀態(tài)內(nèi)的所述組件的調(diào)用關(guān)系;配置所述有限狀態(tài)機(jī)各狀態(tài)間的狀態(tài)轉(zhuǎn)換關(guān)系。
5.如權(quán)利要求4所述的方法,其特征在于,通過(guò)將當(dāng)前組件的返回值作為調(diào)用下一個(gè)組件的觸發(fā)條件,配置所述有限狀態(tài)機(jī)各狀態(tài)內(nèi)的組件調(diào)用關(guān)系。
6.如權(quán)利要求4所述的方法,其特征在于,通過(guò)將當(dāng)前狀態(tài)中最后執(zhí)行的組件的返回值作為轉(zhuǎn)換到下一個(gè)狀態(tài)的觸發(fā)條件,配置所述有限狀態(tài)機(jī)各狀態(tài)間的狀態(tài)轉(zhuǎn)換關(guān)系。
7.如權(quán)利要求4所述的方法,其特征在于,在設(shè)置所述有限狀態(tài)機(jī),并將所述組件配置于有限狀態(tài)機(jī)的各個(gè)狀態(tài)的過(guò)程中,包括將所述有限狀態(tài)機(jī)的每個(gè)狀態(tài)和配置于該狀態(tài)的所述組件所形成的配置信息分別生成控制點(diǎn)文件,將所述有限狀態(tài)機(jī)的各狀態(tài)間的轉(zhuǎn)換關(guān)系的配置信息分別生成管理菜單文件;在完成所述有限狀態(tài)機(jī)的設(shè)置和配置后,將所述控制點(diǎn)文件和所述管理菜單文件合并為單序列文件進(jìn)行存儲(chǔ)。
8.如權(quán)利要求1所述的方法,其特征在于,通過(guò)可視化方式設(shè)置有限狀態(tài)機(jī),并通過(guò)可視化方式將所述組件配置于所述有限狀態(tài)機(jī)。
9.如權(quán)利要求1所述的方法,其特征在于,將所述有限狀態(tài)機(jī)中的各個(gè)狀態(tài),以及配置各個(gè)狀態(tài)的組件時(shí)所形成的配置信息存儲(chǔ)為所述配置文件后,還包括步驟加密所述配置文件。
10.一種基于組件的增值業(yè)務(wù)系統(tǒng),其特征在于,包括組件單元、業(yè)務(wù)邏輯單元、業(yè)務(wù)控制單元和業(yè)務(wù)配置文件管理單元,其中組件單元,用于存儲(chǔ)至少一個(gè)與業(yè)務(wù)邏輯分離的組件;業(yè)務(wù)邏輯單元,用于存儲(chǔ)有限狀態(tài)機(jī)及其配置信息;業(yè)務(wù)控制單元,包括配置子單元和執(zhí)行子單元;所述配置子單元,用于在配置增值業(yè)務(wù)時(shí),根據(jù)業(yè)務(wù)執(zhí)行邏輯,將所述組件單元配置于所述業(yè)務(wù)邏輯單元中的有限狀態(tài)機(jī),并生成業(yè)務(wù)配置文件,存儲(chǔ)于所述業(yè)務(wù)配置文件管理單元;所述執(zhí)行子單元,用于在執(zhí)行增值業(yè)務(wù)時(shí),從所述業(yè)務(wù)配置文件管理單元讀取與所述增值業(yè)務(wù)匹配的業(yè)務(wù)配置文件,生成業(yè)務(wù)執(zhí)行樹,并按照所述業(yè)務(wù)執(zhí)行樹調(diào)用所述組件單元中的組件,執(zhí)行增值業(yè)務(wù);業(yè)務(wù)配置文件管理單元,用于存儲(chǔ)并管理所述業(yè)務(wù)配置文件。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述業(yè)務(wù)配置文件管理單元包括存儲(chǔ)子單元,用于存儲(chǔ)所述業(yè)務(wù)配置文件;加密子單元,用于加密所述業(yè)務(wù)配置文件,并將加密后的文件存儲(chǔ)所述存儲(chǔ)子單元;解密子單元,用于從所述存儲(chǔ)子單元獲得所述配置文件,并解密所述業(yè)務(wù)配置文件,將解密后的配置文件提供給所述業(yè)務(wù)控制單元的執(zhí)行子單元。
全文摘要
本發(fā)明公開了一種在組件架構(gòu)下,配置增值業(yè)務(wù)的方法,及將業(yè)務(wù)邏輯持久化的增值業(yè)務(wù)系統(tǒng),本發(fā)明的增值業(yè)務(wù)配置方法包括以下步驟編寫與業(yè)務(wù)邏輯分離的組件;根據(jù)業(yè)務(wù)執(zhí)行邏輯,確定業(yè)務(wù)邏輯有限狀態(tài)機(jī),確定所述有限狀態(tài)機(jī)的組件執(zhí)行邏輯;將確定的所述有限狀態(tài)機(jī)的邏輯流程存儲(chǔ)為文件。采用本發(fā)明,可提高增值業(yè)務(wù)的可擴(kuò)展性和適應(yīng)性,提高代碼可重用性,降低代碼冗余,增強(qiáng)可維護(hù)性,并增加代碼的安全性。
文檔編號(hào)H04W24/00GK101047896SQ20071009057
公開日2007年10月3日 申請(qǐng)日期2007年4月11日 優(yōu)先權(quán)日2007年4月11日
發(fā)明者艾石 申請(qǐng)人:華為技術(shù)有限公司