專利名稱:一種以腳本形式表示增值業(yè)務(wù)流程的實(shí)現(xiàn)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體涉及ー種以腳本形式表示增值業(yè)務(wù)流程的實(shí)現(xiàn)方法和系統(tǒng)。
背景技術(shù):
SCE(Service Creation Environment,業(yè)務(wù)生成環(huán)境)是電信網(wǎng)與業(yè)務(wù)設(shè)計(jì)者之間的接ロ,也是具體體現(xiàn)智能網(wǎng)快速、高效引入增值業(yè)務(wù)特色的功能實(shí)體。利用SCE,業(yè)務(wù)提供者能夠快速地生成新的電信業(yè)務(wù),新的業(yè)務(wù)經(jīng)過嚴(yán)格的驗(yàn)證和模擬后,通過SMS (ServiceManagement System,業(yè)務(wù)管理系統(tǒng))加載到SCP (Service Control Point,業(yè)務(wù)控制點(diǎn)·)解釋執(zhí)行,最終由網(wǎng)絡(luò)經(jīng)營者將其加載到電信網(wǎng)上,從而快速實(shí)現(xiàn)不同用戶的需求。目前的增值業(yè)務(wù)開發(fā)使用圖形化的SCE開發(fā)模式,傳統(tǒng)的圖形化開發(fā)一般都要經(jīng)過ー下幾個(gè)步驟拖動(dòng)SIB (Service Independence Block,獨(dú)立于業(yè)務(wù)的組件)圖標(biāo)到界面;點(diǎn)擊圖標(biāo)后出現(xiàn)屬性設(shè)置對(duì)話框;按照結(jié)構(gòu)屬性填寫SIB對(duì)話框。初期階段,由于業(yè)務(wù)功能比較弱,SCE的使用很方便直觀,但是隨著業(yè)務(wù)的不斷發(fā)展,功能復(fù)雜的需求越來越多,SCE也在不斷的發(fā)展壯大,業(yè)務(wù)中増加了大量的算法、SIB類型等,然而圖形化SCE的布局和使用方式?jīng)]有突破性的改進(jìn),其自身的局限性已不能快速高效地實(shí)現(xiàn)大型、復(fù)雜業(yè)務(wù)的開發(fā)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供ー種以腳本形式表示增值業(yè)務(wù)流程的實(shí)現(xiàn)方法和系統(tǒng),以提高業(yè)務(wù)開發(fā)效率以及處理復(fù)雜、大型業(yè)務(wù)的能力。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的ー種以腳本形式表示增值業(yè)務(wù)流程的實(shí)現(xiàn)方法,該方法包括根據(jù)語法規(guī)則及業(yè)務(wù)特性,將獨(dú)立于業(yè)務(wù)的組件SIB按照業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件;對(duì)生成的所述腳本文件進(jìn)行編譯解析,生成可加載執(zhí)行的業(yè)務(wù)邏輯文件。所述根據(jù)語法規(guī)則及業(yè)務(wù)特性,將SIB按照業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件,包括按照語法規(guī)則描述業(yè)務(wù)信息、SIB數(shù)據(jù),再根據(jù)業(yè)務(wù)特性將所有SIB按業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件。所述編譯解析包括詞法分析、語法分析、語義分析操作。所述生成可加載執(zhí)行的業(yè)務(wù)邏輯文件,包括讀取業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)表,根據(jù)平臺(tái)定義規(guī)則,將表中的數(shù)據(jù)按照業(yè)務(wù)邏輯格式寫入到業(yè)務(wù)數(shù)據(jù)內(nèi)存中,最終生成業(yè)務(wù)邏輯文件。所述增值業(yè)務(wù)流程為類C腳本化增值業(yè)務(wù)。ー種以腳本形式表示增值業(yè)務(wù)流程的系統(tǒng),該系統(tǒng)包括初始化單元、編譯引擎;其中,所述初始化単元,用于根據(jù)語法規(guī)則及業(yè)務(wù)特性,將SIB按照業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件;所述編譯引擎,用于對(duì)生成的所述腳本文件進(jìn)行編譯解析,生成可加載執(zhí)行的業(yè)務(wù)邏輯文件。所述初始化単元根據(jù)語法規(guī)則及業(yè)務(wù)特性,將SIB按照業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件時(shí),具體用干
按照語法規(guī)則描述業(yè)務(wù)信息、SIB數(shù)據(jù),再根據(jù)業(yè)務(wù)特性將所有SIB按業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件。所述編譯引擎進(jìn)行所述編譯解析時(shí),具體用于進(jìn)行詞法分析、語法分析、語義分析操作。所述編譯引擎在生成可加載執(zhí)行的業(yè)務(wù)邏輯文件時(shí),具體用于讀取業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)表,根據(jù)平臺(tái)定義規(guī)則,將表中的數(shù)據(jù)按照業(yè)務(wù)邏輯格式寫入到業(yè)務(wù)數(shù)據(jù)內(nèi)存中,最終生成業(yè)務(wù)邏輯文件。所述增值業(yè)務(wù)流程為類C腳本化增值業(yè)務(wù)。本發(fā)明正是在經(jīng)過大量論證的基礎(chǔ)上,實(shí)現(xiàn)類C腳本化增值業(yè)務(wù)流程的表示方法,業(yè)務(wù)開發(fā)人員可以像編寫程序一祥,用類C腳本形式描述業(yè)務(wù)邏輯,大大提高了業(yè)務(wù)開發(fā)效率以及處理復(fù)雜、大型業(yè)務(wù)的能力,從而實(shí)現(xiàn)敏捷業(yè)務(wù)開發(fā)。
圖I為本發(fā)明實(shí)施例的業(yè)務(wù)變量定義示意圖;圖2為本發(fā)明實(shí)施例的圖形化告警SIB示意圖;圖3為本發(fā)明實(shí)施例的圖形化拆分字符串SIB不意圖;圖4為本發(fā)明實(shí)施例的腳本化業(yè)務(wù)流程原理示意圖;圖5為本發(fā)明實(shí)施例的以腳本形式表示增值業(yè)務(wù)流程的系統(tǒng)圖;圖6為本發(fā)明實(shí)施例的以腳本形式表示增值業(yè)務(wù)流程的流程簡圖。
具體實(shí)施例方式目前的圖形化SCE不支持業(yè)務(wù)的并行開發(fā),業(yè)務(wù)的創(chuàng)建和維護(hù)通常都是由單個(gè)開發(fā)人員獨(dú)立負(fù)責(zé),業(yè)務(wù)開發(fā)維護(hù)效率很低。由于目前的業(yè)務(wù)規(guī)模較大,邏輯復(fù)雜,業(yè)務(wù)中使用的SIB功能塊會(huì)達(dá)到上萬的數(shù)量級(jí),業(yè)務(wù)單人開發(fā)模式嚴(yán)重影響開發(fā)速度,同時(shí)也導(dǎo)致業(yè)務(wù)邏輯可靠性得不到保證。另外,目前圖形化SCE通過提供系統(tǒng)基本SIB向開發(fā)人員開放所有的協(xié)議和信令細(xì)節(jié),在提升業(yè)務(wù)開發(fā)靈活度的同時(shí),也對(duì)業(yè)務(wù)開發(fā)人員專業(yè)化程度提出了更高的要求,每個(gè)業(yè)務(wù)開發(fā)人員必須了解協(xié)議信令所有的細(xì)節(jié),無形中増加了開發(fā)的難度。有鑒于此,可以定義ー種類C腳本語言,首先按照一定的語法規(guī)則描述業(yè)務(wù)信息、SIB數(shù)據(jù),再根據(jù)業(yè)務(wù)特性將所有SIB按一定的業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件,最終由類C腳本編譯器對(duì)其編譯解析,生成可加載執(zhí)行的業(yè)務(wù)邏輯文件。為描述方便,本文中的類C腳本編譯器可以簡稱為編譯引擎。
具體實(shí)現(xiàn)方法主要包括以下幾部分I、業(yè)務(wù)流程腳本化描述主要包括業(yè)務(wù)變量定義、SIB定義及SIB數(shù)據(jù)描述、業(yè)務(wù)邏輯封裝等,這些操作可以由初始化單元執(zhí)行。I)變量定義采用類C形式對(duì)業(yè)務(wù)中需要使用的各種變量進(jìn)行定義,此類變量均為全局變量,格式如圖I所示。具體而言,變量可以使用的數(shù)據(jù)類型包括字符串類型、整形(位域、單字節(jié)、雙字節(jié)、四字節(jié))、平臺(tái)系統(tǒng)內(nèi)部定義的復(fù)雜數(shù)據(jù)類型(由具體的業(yè)務(wù)平臺(tái)決定)等,如圖I中CAPCalIingPartyNumber、CAPCalledPartyNumber 等信令相關(guān)數(shù)據(jù)類型。
2) SIB定義及SIB數(shù)據(jù)描述a)腳本支持用函數(shù)表示簡單SIB,此類函數(shù)的參數(shù)需要根據(jù)SIB的業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)預(yù)先定義好,如圖形化告警SIB (如圖2所示)腳本化描述如下ALARM(0,10,10, tempstring);上述參數(shù)分別對(duì)應(yīng)圖形化的操作類型、告警/通知碼、告警ID、附加說明。b)腳本支持用多條語句描述復(fù)雜SIB,用SIB_START_LABEL、SIB_END_LABEL作為起始標(biāo)志,中間包含的語句即為SIB數(shù)據(jù)描述,如圖形化拆分字符串SIB(如圖3所示)腳本化描述如下SIB_START_LABEL(SUBSTRSIB);SUBSTR(startTime, 1 1 , result,0);SUBSTRPARA(startTime);SUBSTRPARA(callCost);SUBSTRPARA(feeClass);SUBSTRPARA(cardType);SIB_END_LABEL(SUBSTRSIB);c) ー個(gè)功能塊包含ー個(gè)或者多個(gè)SIB,用函數(shù)進(jìn)行封裝,實(shí)現(xiàn)具體的子功能。如一個(gè)簡單的圖形化業(yè)務(wù)流程(如圖4所示)中撥號(hào)功能塊腳本化描述如下
void funcblock0322_SIB4(){ funcdesc("撥號(hào)功能'');
ALARM(0, 10, 10, tempstring); SIB_START_LABEL(ALGSIB); result = result * 10;
SIB_END_LAB EL(ALGSIB);
}
3)業(yè)務(wù)邏輯封裝主業(yè)務(wù)的入口函數(shù)統(tǒng)一定義成void main O。各種業(yè)務(wù)支鏈的處理在main ()函數(shù)內(nèi)部通過腳本的分支語句實(shí)現(xiàn)。業(yè)務(wù)由大量獨(dú)立的SIB、功能塊組成,業(yè)務(wù)邏輯關(guān)系通過函數(shù)間的組織、封裝、調(diào)用實(shí)現(xiàn)。如圖5所示。2、編譯引擎編譯解釋腳本文件編譯引擎是本發(fā)明的核心部分,包含see. y、see. I文件,用于對(duì)腳本定義的詞法、語法進(jìn)行解釋;還負(fù)責(zé)對(duì)腳本文件進(jìn)行編輯解釋,最終生成平臺(tái)可識(shí)別、可加載執(zhí)行的業(yè)務(wù)邏輯文件。編譯引擎主要包括如圖5所示的腳本分析単元、業(yè)務(wù)邏輯文件生成引擎。圖5中,腳本分析単元與業(yè)務(wù)邏輯文件生成引擎相連,并且腳本分析単元包括詞法分析模塊、語法分析模塊、語義分析模塊;另外,腳本分析単元還可以進(jìn)ー步與初始化單元相連,以接收來自初始化単元的腳本化描述信息,并對(duì)該信息進(jìn)行后續(xù)相應(yīng)處理。具體而言I)詞法分析模塊對(duì)腳本中的TOKEN (符號(hào))進(jìn)行分析。如腳本中的void、main、SIB_START_LABEL、SIB_START_LABEL 等。在See. I文件中定義" main" {return((int)PARS_MAIN_TOKEN) ;}" void" {return((int)PARS_V0ID_T0KEN) ;}" SIB_START_LABEL" {return(INAP_START_LABEL_TOKEN) ;}" SIB_END_LABEL" {return(INAP_END_LABEL_TOKEN) ;}編譯引擎解析腳本時(shí),遇到上述符號(hào)時(shí)就到See. I文件中匹配,并將正確匹配到的TOKEN保存到TOKEN表。2)語法分析模塊 對(duì)腳本中的語法進(jìn)行分析。如void main() { }函數(shù)。在See. y文件中定義PARS_V0ID_T0KEN PARS.MAIN.TOKEN' (" )" {' state' }'{ $ $ = pars_main_route_func_node ( $6) ;}編譯引擎解析腳本時(shí),遇到void main(),先進(jìn)行詞法解析,解析成功后進(jìn)行語法解析,在See. y文件中匹配成功后,執(zhí)行解析函數(shù)pars_main_route_func_node ()以對(duì)state進(jìn)行解析。3)語義分析模塊執(zhí)行語義解析的函數(shù)過程實(shí)際是ー個(gè)遞歸調(diào)用過程,直至解析完最后ー個(gè)SIB描述語句;在此過程中,編輯引擎將業(yè)務(wù)相關(guān)信息(包括文件名、版本號(hào)、作者等)、業(yè)務(wù)SIB信息(解析過程中生成SIB描述信息鏈表)等寫入到編譯引擎的業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)表。4)業(yè)務(wù)邏輯文件生成引擎腳本解析完畢,編譯引擎調(diào)用業(yè)務(wù)邏輯生成模塊,讀取編譯引擎的業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)表,根據(jù)平臺(tái)定義規(guī)則,將表中的數(shù)據(jù)按照業(yè)務(wù)邏輯格式寫入到特定的業(yè)務(wù)數(shù)據(jù)內(nèi)存中,最終生成業(yè)務(wù)邏輯文件。結(jié)合以上技術(shù)描述可知,本發(fā)明以腳本形式表示增值業(yè)務(wù)流程的操作思路可以表示如圖6所示的流程,該流程包括以下步驟步驟610 :根據(jù)語法規(guī)則及業(yè)務(wù)特性,將SIB按照業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件。該操作可以由前述的業(yè)務(wù)初始化單元執(zhí)行。步驟620 :對(duì)生成的所述腳本文件進(jìn)行編譯解析,生成可加載執(zhí)行的業(yè)務(wù)邏輯文件。該操作可以由前述的編譯引擎執(zhí)行。即所述初始化単元,用于根據(jù)語法規(guī)則及業(yè)務(wù)特性,將SIB按照業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件;所述編譯引擎,用于對(duì)生成的所述腳本文件進(jìn)行編譯解析,生成可加載執(zhí)行的業(yè)務(wù)邏輯文件。所述初始化単元根據(jù)語法規(guī)則及業(yè)務(wù)特性,將SIB按照業(yè)務(wù)邏輯進(jìn)行封 裝,生成腳本文件吋,具體用于按照語法規(guī)則描述業(yè)務(wù)信息、SIB數(shù)據(jù),再根據(jù)業(yè)務(wù)特性將所有SIB按業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件。所述編譯引擎進(jìn)行所述編譯解析時(shí),具體用于進(jìn)行詞法分析、語法分析、語義分析操作。所述編譯引擎在生成可加載執(zhí)行的業(yè)務(wù)邏輯文件時(shí),具體用干讀取業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)表,根據(jù)平臺(tái)定義規(guī)則,將表中的數(shù)據(jù)按照業(yè)務(wù)邏輯格式寫入到業(yè)務(wù)數(shù)據(jù)內(nèi)存中,最終生成業(yè)務(wù)邏輯文件。所述增值業(yè)務(wù)流程為類C腳本化增值業(yè)務(wù)。綜上所述可見,無論是方法還是系統(tǒng),本發(fā)明正是在經(jīng)過大量論證的基礎(chǔ)上,實(shí)現(xiàn)類C腳本化增值業(yè)務(wù)流程的表示方法。業(yè)務(wù)開發(fā)人員可以像編寫程序一祥,用類C腳本形式描述業(yè)務(wù)邏輯,大大提高了業(yè)務(wù)開發(fā)效率以及處理復(fù)雜、大型業(yè)務(wù)的能力,從而實(shí)現(xiàn)敏捷業(yè)務(wù)開發(fā)。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.ー種以腳本形式表示增值業(yè)務(wù)流程的實(shí)現(xiàn)方法,其特征在于,該方法包括 根據(jù)語法規(guī)則及業(yè)務(wù)特性,將獨(dú)立于業(yè)務(wù)的組件SIB按照業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件;對(duì)生成的所述腳本文件進(jìn)行編譯解析,生成可加載執(zhí)行的業(yè)務(wù)邏輯文件。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述根據(jù)語法規(guī)則及業(yè)務(wù)特性,將SIB按照業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件,包括 按照語法規(guī)則描述業(yè)務(wù)信息、SIB數(shù)據(jù),再根據(jù)業(yè)務(wù)特性將所有SIB按業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述編譯解析包括詞法分析、語法分析、語義分析操作。
4.根據(jù)權(quán)利要求I至3任一項(xiàng)所述的方法,其特征在于,所述生成可加載執(zhí)行的業(yè)務(wù)邏輯文件,包括 讀取業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)表,根據(jù)平臺(tái)定義規(guī)則,將表中的數(shù)據(jù)按照業(yè)務(wù)邏輯格式寫入到業(yè)務(wù)數(shù)據(jù)內(nèi)存中,最終生成業(yè)務(wù)邏輯文件。
5.根據(jù)權(quán)利要求I至3任一項(xiàng)所述的方法,其特征在于,所述增值業(yè)務(wù)流程為類C腳本化增值業(yè)務(wù)。
6.ー種以腳本形式表示增值業(yè)務(wù)流程的系統(tǒng),其特征在干,該系統(tǒng)包括初始化單元、編譯引擎;其中, 所述初始化単元,用于根據(jù)語法規(guī)則及業(yè)務(wù)特性,將SIB按照業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件; 所述編譯引擎,用于對(duì)生成的所述腳本文件進(jìn)行編譯解析,生成可加載執(zhí)行的業(yè)務(wù)邏輯文件。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在干,所述初始化単元根據(jù)語法規(guī)則及業(yè)務(wù)特性,將SIB按照業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件時(shí),具體用于 按照語法規(guī)則描述業(yè)務(wù)信息、SIB數(shù)據(jù),再根據(jù)業(yè)務(wù)特性將所有SIB按業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述編譯引擎進(jìn)行所述編譯解析吋,具體用于進(jìn)行詞法分析、語法分析、語義分析操作。
9.根據(jù)權(quán)利要求6至8任一項(xiàng)所述的系統(tǒng),其特征在于,所述編譯引擎在生成可加載執(zhí)行的業(yè)務(wù)邏輯文件時(shí),具體用于 讀取業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)表,根據(jù)平臺(tái)定義規(guī)則,將表中的數(shù)據(jù)按照業(yè)務(wù)邏輯格式寫入到業(yè)務(wù)數(shù)據(jù)內(nèi)存中,最終生成業(yè)務(wù)邏輯文件。
10.根據(jù)權(quán)利要求6至8任一項(xiàng)所述的系統(tǒng),其特征在于,所述增值業(yè)務(wù)流程為類C腳本化增值業(yè)務(wù)。
全文摘要
本發(fā)明公開了一種以腳本形式表示增值業(yè)務(wù)流程的實(shí)現(xiàn)方法和系統(tǒng),均可根據(jù)語法規(guī)則及業(yè)務(wù)特性,將SIB按照業(yè)務(wù)邏輯進(jìn)行封裝,生成腳本文件;對(duì)生成的所述腳本文件進(jìn)行編譯解析,生成可加載執(zhí)行的業(yè)務(wù)邏輯文件。本發(fā)明正是在經(jīng)過大量論證的基礎(chǔ)上,實(shí)現(xiàn)類C腳本化增值業(yè)務(wù)流程的表示方法。業(yè)務(wù)開發(fā)人員可以像編寫程序一樣,用類C腳本形式描述業(yè)務(wù)邏輯,大大提高了業(yè)務(wù)開發(fā)效率以及處理復(fù)雜、大型業(yè)務(wù)的能力,從而實(shí)現(xiàn)敏捷業(yè)務(wù)開發(fā)。
文檔編號(hào)G06F9/44GK102707934SQ201110075559
公開日2012年10月3日 申請(qǐng)日期2011年3月28日 優(yōu)先權(quán)日2011年3月28日
發(fā)明者劉志文, 周雅夫, 張南駿, 舒暢, 馬玉偉 申請(qǐng)人:中興通訊股份有限公司