專利名稱:一種提升業(yè)務腳本執(zhí)行效率的裝置及方法
技術領域:
本發(fā)明涉及業(yè)務系統(tǒng)的開發(fā)技術領域,特別涉及一種提升業(yè)務腳本執(zhí)行效率的裝
置及方法。
背景技術:
隨著社會不斷的進步,科技的飛速發(fā)展,電信行業(yè)由傳統(tǒng)的語音業(yè)務向數(shù)據(jù)業(yè)務發(fā)展,窄帶向寬帶業(yè)務發(fā)展,固定向移動業(yè)務發(fā)展,同時業(yè)務也越來越趨于客戶化、定制化、 個性化。電信業(yè)務的飛速發(fā)展對業(yè)務系統(tǒng)的要求越來越高,電信業(yè)務系統(tǒng)需要承載的業(yè)務越來越多,越來越復雜。而業(yè)務數(shù)量和復雜度的增加,直接導致了業(yè)務腳本數(shù)量龐大,邏輯復雜,難于管理,業(yè)務腳本執(zhí)行效率隨之降低。一般業(yè)務系統(tǒng)對業(yè)務腳本的執(zhí)行方法為業(yè)務系統(tǒng)響應服務請求,發(fā)起業(yè)務處理流程,查找相應業(yè)務腳本并解釋腳本,然后根據(jù)腳本內容查找需要執(zhí)行的標記動作,執(zhí)行相應動作,向平臺側發(fā)起動作指令,實現(xiàn)服務請求功能,一次服務請求結束,若再次收到相同或不同的請求,執(zhí)行相同的上述處理流程。同時,業(yè)務系統(tǒng)中可能有多種不同的業(yè)務運行, 也可能有多個用戶在同時使用同一種業(yè)務,此時需要多次從腳本存放位置進行讀取,并分析業(yè)務腳本,而曾經被激活的業(yè)務邏輯沒有被重復的利用。并發(fā)是業(yè)務對系統(tǒng)環(huán)境的一個重要要求,也是影響系統(tǒng)性能的一個重要因素。但是現(xiàn)有技術不能高效的實現(xiàn)業(yè)務腳本的并發(fā)處理。因此,為了實現(xiàn)提高業(yè)務腳本的執(zhí)行效率的提升,必須從業(yè)務系統(tǒng)運行過程中的腳本處理方法和存取技術方面進行考慮。
發(fā)明內容
本發(fā)明的目的在于,提供一種提升業(yè)務腳本執(zhí)行效率的裝置,能夠提高業(yè)務處理器對業(yè)務腳本的執(zhí)行代碼生成,從而提升整個業(yè)務腳本的執(zhí)行效率。本發(fā)明的另一目的在于,提供一種提升業(yè)務腳本執(zhí)行效率的方法,能夠提高業(yè)務處理器對業(yè)務腳本的執(zhí)行代碼生成,從而提升整個業(yè)務腳本的執(zhí)行效率。本發(fā)明的提升業(yè)務腳本執(zhí)行效率的裝置,包括業(yè)務腳本分析器以及業(yè)務腳本處理器,其中,所述業(yè)務腳本分析器,用于對提取的各種類型業(yè)務腳本進行分析,將連續(xù)的表示一個業(yè)務動作的一組標記提取出來形成共用業(yè)務對象組件;所述業(yè)務腳本處理器,用于根據(jù)業(yè)務請求標識,查詢業(yè)務腳本,生成業(yè)務執(zhí)行代碼,并在生成業(yè)務執(zhí)行代碼的過程中將腳本中的共用業(yè)務對象組件進行代碼實例化。其中,所述業(yè)務腳本處理器,進一步用于在將腳本中的共用業(yè)務對象組件進行代碼實例化后,存儲在對象組件業(yè)務執(zhí)行代碼實例對應表中。其中,所述業(yè)務腳本處理器,進一步用于當再次根據(jù)業(yè)務請求查詢相應業(yè)務腳本時,在所述對象組件業(yè)務執(zhí)行代碼實例對應表中查找。其中,進一步包括業(yè)務腳本提取接口和業(yè)務腳本轉化器,其中,所述業(yè)務腳本提取接口,用于在業(yè)務系統(tǒng)加載服務時提取各種類型業(yè)務腳本,包括業(yè)務腳本類型;所述業(yè)務腳本轉化器,用于根據(jù)業(yè)務腳本類型采用不同的轉化模型,將業(yè)務腳本提取接口提取的各種類型業(yè)務腳本轉換成標準的可擴展業(yè)務腳本,生成新的業(yè)務腳本標識,并將標準的可擴展業(yè)務腳本送給業(yè)務腳本分析器。其中,所述業(yè)務腳本分析器,進一步用于對所述業(yè)務腳本轉換器轉換的標準的可擴展業(yè)務腳本進行分析,將連續(xù)的表示一個業(yè)務動作的一組標記提取出來形成共用業(yè)務對象組件。其中,所述業(yè)務腳本分析器,進一步用于將所述共用業(yè)務對象組件對應的組件標識插入業(yè)務腳本替換原腳本語句,并將共用業(yè)務對象組件及其對應的組件標識緩存。另外,可以進一步包括業(yè)務腳本緩存器,用于緩存待解析的業(yè)務腳本以及共用業(yè)務對象組件,并根據(jù)腳本調用的頻率決定是否將腳本緩存在內存中。本發(fā)明的提升業(yè)務腳本執(zhí)行效率的方法,包括下列步驟A 業(yè)務腳本分析器對提取的各種類型業(yè)務腳本進行分析,將連續(xù)的表示一個業(yè)務動作的一組標記提取出來形成共用業(yè)務對象組件;B 業(yè)務腳本處理器根據(jù)業(yè)務請求標識,查詢業(yè)務腳本,生成業(yè)務執(zhí)行代碼,并在生成業(yè)務執(zhí)行代碼的過程中將腳本中的共用業(yè)務對象組件進行代碼實例化。其中,在所述步驟B中,進一步包括下列步驟所述業(yè)務腳本處理器在將腳本中的共用業(yè)務對象組件進行代碼實例化后,存儲在對象組件業(yè)務執(zhí)行代碼實例對應表中。其中,可以進一步包括下列步驟當再次根據(jù)業(yè)務請求查詢相應業(yè)務腳本時,在所述對象組件業(yè)務執(zhí)行代碼實例對應表中查找。本發(fā)明的有益效果是依照本發(fā)明的提升業(yè)務腳本執(zhí)行效率的裝置及方法,在業(yè)務系統(tǒng)加載服務時就通過業(yè)務腳本獲取接口提取業(yè)務腳本,提高了腳本的讀取時間;使用業(yè)務腳本轉化器對各種類型腳本進行標準化轉化,然后利用業(yè)務腳本分析器對腳本中的共用部分進行組件化,降低了腳本解釋的處理難度和提高了腳本的處理時間;當存在多個用戶調用相同的業(yè)務時,共用相同的業(yè)務腳本,提高了業(yè)務腳本分析器對標準的業(yè)務腳本的分析效率,提高了業(yè)務腳本處理器對業(yè)務腳本的執(zhí)行代碼生成,從而提升了整個業(yè)務腳本的執(zhí)行效率。
圖1為本發(fā)明實施例的提升業(yè)務腳本執(zhí)行效率的裝置的結構示意圖;圖2為本發(fā)明實施例的提升業(yè)務腳本執(zhí)行效率的方法的流程圖。
具體實施例方式以下,參考附圖1 2詳細描述本發(fā)明的提升業(yè)務腳本執(zhí)行效率的裝置及方法。需要說明的是,本發(fā)明以電信業(yè)務系統(tǒng)為例,說明本發(fā)明的提升業(yè)務腳本執(zhí)行效率的裝置及方法,但是本發(fā)明并不局限于此,還可以適用于金融、廣播電視等領域的適合通過業(yè)務腳本執(zhí)行相應業(yè)務處理的系統(tǒng)。如圖1所示,為本發(fā)明實施例的提升業(yè)務腳本執(zhí)行效率的裝置的結構示意圖。頁本發(fā)明的提升業(yè)務腳本執(zhí)行效率的裝置,包括業(yè)務腳本提取接口、業(yè)務腳本轉化器、業(yè)務腳本分析器以及業(yè)務腳本處理器。其中,業(yè)務腳本提取接口,用于在業(yè)務系統(tǒng)加載服務時提取各種類型業(yè)務腳本,包括業(yè)務腳本類型、業(yè)務腳本標識和業(yè)務腳本描述語句,其中,業(yè)務腳本標識,是用于區(qū)別不同的業(yè)務腳本的唯一序號。業(yè)務腳本轉化器,用于將業(yè)務腳本提取接口提取的各種類型業(yè)務腳本根據(jù)腳本類型采用不同的轉化模型,轉換成標準的可擴展業(yè)務腳本(例如XML腳本),生成新的業(yè)務腳本標識,并將標準的可擴展業(yè)務腳本送給業(yè)務腳本分析器。其中,業(yè)務腳本轉化器,進一步用于將新的業(yè)務腳本標識與轉化前的業(yè)務腳本標識相對應,并保存該對應關系。另外,業(yè)務腳本轉化器,將業(yè)務腳本提取接口提取的各種類型業(yè)務腳本根據(jù)腳本類型采用不同的轉化模型,轉換成標準的可擴展業(yè)務腳本的原因是如果不將各種類型的業(yè)務腳本轉化成統(tǒng)一格式、語義及語法的標準腳本,則無法對腳本本身要實現(xiàn)的功能進行自動化的分析和執(zhí)行,且不便于對腳本進行統(tǒng)一管理和無法抽取相同功能的業(yè)務腳本。由于XML具有可讀性、可移植性、可擴展性等優(yōu)點,結合業(yè)務腳本特點樹形結構、有狀態(tài)標記和轉移規(guī)則等特點,根據(jù)具體的業(yè)務功能需求來描述,由標記來完成標識處理程序。另外, XML可以自己定義標記,標記用以描述數(shù)據(jù)的類型或特性,可以理解為一種字段名,同時 XML具有數(shù)據(jù)與格式分離設計的特性,可以將各種格式的數(shù)據(jù)轉化成XML,因此本發(fā)明采用 XML作為業(yè)務腳本的最佳載體,根據(jù)原業(yè)務腳本的數(shù)據(jù)格式定義XML的標記后,就生成了一個以XML為載體的標準業(yè)務腳本。業(yè)務腳本分析器,用于對業(yè)務腳本轉換器轉換的標準的可擴展業(yè)務腳本進行分析,將連續(xù)的表示一個業(yè)務動作的一組標記提取出來形成共用業(yè)務對象組件,并生成唯一的組件標識,并將組件標識插入業(yè)務腳本替換原腳本語句,并將共用業(yè)務對象組件及其對應的組件標識緩存。例如,對于標準的可擴展業(yè)務腳本為標準的XML腳本時,業(yè)務腳本分析器對XML業(yè)務腳本進行分析,使用XML解析程序獲取XML文檔所有標記,同時獲取標記的所有屬性,根據(jù)業(yè)務腳本面向特定需求定義的業(yè)務規(guī)則,將連續(xù)的表示一個業(yè)務動作的一組標記提取出來抽象出相同屬性的腳本部分,形成共用對象組件,并生成唯一的組件標識。具體地,業(yè)務腳本分析器使用XML解析程序獲取XML文檔的以下信息出現(xiàn)在文檔中所有標記,標記用以描述數(shù)據(jù)的類型或特性,可以理解為一種字段名;標記的所有屬性, 可以理解為字段的類型;標記下的子標記;子標記的數(shù)目;標記是否為空或者是否包含文本;標記和屬性的數(shù)據(jù)類型;標記個屬性的默認值及固定值。以上信息用于業(yè)務腳本分析器進行XML業(yè)務腳本的語法結構分析。本發(fā)明的提升業(yè)務腳本執(zhí)行效率的裝置,進一步包括業(yè)務腳本緩存器。該業(yè)務腳本緩存器,用于緩存待解析的業(yè)務腳本以及共用業(yè)務對象組件。另外,業(yè)務腳本緩存器,進一步根據(jù)腳本調用的頻率決定是否將腳本緩存在內存中。另外,業(yè)務腳本處理器,用于根據(jù)業(yè)務請求標識,在查詢相應的業(yè)務腳本未被加載過時,在業(yè)務腳本緩存器腳本存儲列表中根據(jù)業(yè)務腳本標識查詢業(yè)務腳本,生成業(yè)務執(zhí)行代碼;生成代碼時會將腳本中的共用業(yè)務對象組件進行代碼實例化放在業(yè)務腳本緩存器對象組件業(yè)務執(zhí)行代碼實例對應表中。其中,業(yè)務腳本處理器,進一步用于在業(yè)務腳本緩存器腳本存儲列表中根據(jù)業(yè)務腳本標識查詢業(yè)務腳本,生成業(yè)務執(zhí)行代碼業(yè)務腳本后,將執(zhí)行次數(shù)初始化為1并記錄第一次執(zhí)行時間,同時將生成的業(yè)務執(zhí)行代碼保存。業(yè)務腳本處理器,進一步用于根據(jù)業(yè)務請求標識,在查詢相應的業(yè)務腳本已被加載過時,業(yè)務腳本執(zhí)行次數(shù)加一并記錄執(zhí)行時間,返回業(yè)務執(zhí)行代碼執(zhí)行。另外,業(yè)務腳本緩存器,具體可以包括緩存器查詢接口、緩存器寫入接口和存儲單兀。其中,緩存器查詢接口,調用查詢接口的輸入參數(shù)為查詢類型、標識,根據(jù)類型查詢存儲單元對應的存儲區(qū)域,根據(jù)標識進行搜索,將查詢結果反饋給調用的模塊。緩存器寫入接口,調用寫入接口的輸入參數(shù)為寫入類型、標識、寫入數(shù)據(jù),寫入類型與查詢類型一致。存儲單元,按類型劃分存儲區(qū)域分片管理,建立標識和關聯(lián)內容索引表。另外,可以根據(jù)腳本執(zhí)行時的執(zhí)行次數(shù)和起止時間進行統(tǒng)計,比如說單位時間內執(zhí)行了多少次,或者說單位時間內執(zhí)行次數(shù)比上個單位時間內增加的情況,具體視實際業(yè)務場景而定。根據(jù)統(tǒng)計模式確定腳本的執(zhí)行頻率,確定是否保存在緩存器中。如圖2所示,為本發(fā)明實施例的提升業(yè)務腳本執(zhí)行效率的方法的流程圖。本發(fā)明的提升業(yè)務腳本執(zhí)行效率的方法,包括下列步驟步驟100 業(yè)務腳本提取接口在業(yè)務系統(tǒng)加載服務時提取各種類型業(yè)務腳本;其中,在步驟100中,業(yè)務腳本提取接口在提取各種類型業(yè)務腳本時,包括業(yè)務腳本標識、業(yè)務腳本類型和業(yè)務腳本描述語句,其中,業(yè)務腳本標識,是用于區(qū)別不同的業(yè)務腳本的唯一序號。步驟200 業(yè)務腳本轉化器將業(yè)務腳本提取接口提取的各種類型業(yè)務腳本轉換成標準的可擴展業(yè)務腳本,生成新的業(yè)務腳本標識,并將標準的可擴展業(yè)務腳本送給業(yè)務腳本分析器;其中,標準的可擴展業(yè)務腳本為標準的XML腳本;另外,在步驟200中,業(yè)務腳本轉化器根據(jù)腳本類型采用不同的轉化模型,將業(yè)務腳本提取接口提取的各種類型業(yè)務腳本轉換成標準的可擴展業(yè)務腳本。步驟300 業(yè)務腳本分析器對所述業(yè)務腳本轉換器轉換的標準的可擴展業(yè)務腳本進行分析,將連續(xù)的表示一個業(yè)務動作的一組標記提取出來形成共用業(yè)務對象組件;其中,在步驟300中,業(yè)務腳本分析器對標準的XML腳本進行分析時,使用XML解析程序獲取XML文檔所有標記,同時獲取標記的所有屬性,根據(jù)業(yè)務腳本面向特定需求定義的業(yè)務規(guī)則,將連續(xù)的表示一個業(yè)務動作的一組標記提取出來抽象出相同屬性的腳本部分,形成共用對象組件,并生成唯一的組件標記標識。步驟400 業(yè)務腳本處理器根據(jù)業(yè)務請求標識,在查詢相應的業(yè)務腳本未被加載過時,在業(yè)務腳本緩存器腳本存儲列表中根據(jù)業(yè)務腳本標識查詢業(yè)務腳本,生成業(yè)務執(zhí)行代碼,并將腳本中的共用業(yè)務對象組件進行代碼實例化。其中,在步驟400中,進一步包括下列步驟業(yè)務腳本處理器在將腳本中的共用業(yè)務對象組件進行代碼實例化后,存儲在業(yè)務腳本緩存器對象組件業(yè)務執(zhí)行代碼實例對應表中。進一步地,在步驟400中,業(yè)務腳本處理器根據(jù)業(yè)務請求標識,在查詢相應的業(yè)務腳本已被加載過時,業(yè)務腳本執(zhí)行次數(shù)加一并記錄執(zhí)行時間,并返回業(yè)務執(zhí)行代碼執(zhí)行。綜上所述,依照本發(fā)明的提升業(yè)務腳本執(zhí)行效率的裝置及方法,在業(yè)務系統(tǒng)加載服務時就通過業(yè)務腳本獲取接口提取業(yè)務腳本,使用業(yè)務腳本轉化器對各種類型腳本進行標準化轉化,然后利用業(yè)務腳本分析器對腳本中的共用部分進行組件化,一方面采用預加載模式提高了腳本的讀取時間,另一方面通過統(tǒng)一腳本格式,進行腳本分析提取共用組件, 降低了腳本解釋的處理難度和提高了腳本的處理時間;此外,本發(fā)明還提供了業(yè)務腳本緩存器,通過對共用組件緩存,XML格式化業(yè)務腳本緩存,業(yè)務執(zhí)行代碼緩存,在整個業(yè)務的執(zhí)行過程中,所有的業(yè)務腳本調用都在已經分析后的緩存器中讀取,當存在多個用戶調用相同的業(yè)務時,共用相同的業(yè)務腳本,提高了業(yè)務腳本分析器對標準XML腳本的分析效率,提高了業(yè)務腳本處理器對業(yè)務腳本的執(zhí)行代碼生成,從而提升了整個業(yè)務腳本的執(zhí)行效率。以上是為了使本領域普通技術人員理解本發(fā)明,而對本發(fā)明所進行的詳細描述, 但可以想到,在不脫離本發(fā)明的權利要求所涵蓋的范圍內還可以做出其它的變化和修改, 這些變化和修改均在本發(fā)明的保護范圍內。
權利要求
1.一種提升業(yè)務腳本執(zhí)行效率的裝置,其特征在于,包括業(yè)務腳本分析器以及業(yè)務腳本處理器,其中,所述業(yè)務腳本分析器,用于對提取的各種類型業(yè)務腳本進行分析,將連續(xù)的表示一個業(yè)務動作的一組標記提取出來形成共用業(yè)務對象組件;所述業(yè)務腳本處理器,用于根據(jù)業(yè)務請求標識,查詢業(yè)務腳本,生成業(yè)務執(zhí)行代碼,并在生成業(yè)務執(zhí)行代碼的過程中將腳本中的共用業(yè)務對象組件進行代碼實例化。
2.如權利要求1所述的提升業(yè)務腳本執(zhí)行效率的裝置,其特征在于,所述業(yè)務腳本處理器,進一步用于在將腳本中的共用業(yè)務對象組件進行代碼實例化后,存儲在對象組件業(yè)務執(zhí)行代碼實例對應表中。
3.如權利要求2所述的提升業(yè)務腳本執(zhí)行效率的裝置,其特征在于,所述業(yè)務腳本處理器,進一步用于當再次根據(jù)業(yè)務請求查詢相應業(yè)務腳本時,在所述對象組件業(yè)務執(zhí)行代碼實例對應表中查找。
4.如權利要求1所述的提升業(yè)務腳本執(zhí)行效率的裝置,其特征在于,進一步包括業(yè)務腳本提取接口和業(yè)務腳本轉化器,其中,所述業(yè)務腳本提取接口,用于在業(yè)務系統(tǒng)加載服務時提取各種類型業(yè)務腳本,包括業(yè)務腳本類型;所述業(yè)務腳本轉化器,用于根據(jù)業(yè)務腳本類型采用不同的轉化模型,將業(yè)務腳本提取接口提取的各種類型業(yè)務腳本轉換成標準的可擴展業(yè)務腳本,生成新的業(yè)務腳本標識,并將標準的可擴展業(yè)務腳本送給業(yè)務腳本分析器。
5.如權利要求4所述的提升業(yè)務腳本執(zhí)行效率的裝置,其特征在于,所述業(yè)務腳本分析器,進一步用于對所述業(yè)務腳本轉換器轉換的標準的可擴展業(yè)務腳本進行分析,將連續(xù)的表示一個業(yè)務動作的一組標記提取出來形成共用業(yè)務對象組件。
6.如權利要求1所述的提升業(yè)務腳本執(zhí)行效率的裝置,其特征在于,所述業(yè)務腳本分析器,進一步用于將所述共用業(yè)務對象組件對應的組件標識插入業(yè)務腳本替換原腳本語句,并將共用業(yè)務對象組件及其對應的組件標識緩存。
7.如權利要求1至6中任一項所述的提升業(yè)務腳本執(zhí)行效率的裝置,其特征在于,進一步包括業(yè)務腳本緩存器,用于緩存待解析的業(yè)務腳本以及共用業(yè)務對象組件,并根據(jù)腳本調用的頻率決定是否將腳本緩存在內存中。
8.—種如權利要求1所述裝置提升業(yè)務腳本執(zhí)行效率的方法,其特征在于,包括下列步驟A 業(yè)務腳本分析器對提取的各種類型業(yè)務腳本進行分析,將連續(xù)的表示一個業(yè)務動作的一組標記提取出來形成共用業(yè)務對象組件;B 業(yè)務腳本處理器根據(jù)業(yè)務請求標識,查詢業(yè)務腳本,生成業(yè)務執(zhí)行代碼,并在生成業(yè)務執(zhí)行代碼的過程中將腳本中的共用業(yè)務對象組件進行代碼實例化。
9.如權利要求8所述的提升業(yè)務腳本執(zhí)行效率的方法,其特征在于,在所述步驟B中, 進一步包括下列步驟所述業(yè)務腳本處理器在將腳本中的共用業(yè)務對象組件進行代碼實例化后,存儲在對象組件業(yè)務執(zhí)行代碼實例對應表中。
10.如權利要求8所述的提升業(yè)務腳本執(zhí)行效率的方法,其特征在于,進一步包括下列步驟當再次根據(jù)業(yè)務請求查詢相應業(yè)務腳本時,在所述對象組件業(yè)務執(zhí)行代碼實例對應表中查找。
全文摘要
本發(fā)明提供一種提升業(yè)務腳本執(zhí)行效率的裝置及方法,其中,該裝置包括業(yè)務腳本分析器以及業(yè)務腳本處理器,其中,業(yè)務腳本分析器,用于對提取的各種類型業(yè)務腳本進行分析,將連續(xù)的表示一個業(yè)務動作的一組標記提取出來形成共用業(yè)務對象組件;業(yè)務腳本處理器,用于根據(jù)業(yè)務請求標識,查詢業(yè)務腳本,生成業(yè)務執(zhí)行代碼,并在生成業(yè)務執(zhí)行代碼的過程中將腳本中的共用業(yè)務對象組件進行代碼實例化。本發(fā)明能夠提高業(yè)務處理器對業(yè)務腳本的執(zhí)行代碼生成,從而提升整個業(yè)務腳本的執(zhí)行效率。
文檔編號G06F9/48GK102385527SQ201010268929
公開日2012年3月21日 申請日期2010年9月1日 優(yōu)先權日2010年9月1日
發(fā)明者李崢 申請人:中興通訊股份有限公司