国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法及裝置的制作方法

      文檔序號:6369413閱讀:234來源:國知局
      專利名稱:基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法及裝置。
      背景技術(shù)
      在計費(fèi)專有領(lǐng)域中,計費(fèi)系統(tǒng)規(guī)則多祥要求多變,為了適應(yīng)這一要求,幾乎所有的計費(fèi)系統(tǒng)都將易變的計費(fèi)邏輯和其他處理邏輯分離開來,前者根據(jù)局點要求進(jìn)行定制開發(fā)(本文稱為"定制邏輯"),后者采用相對穩(wěn)定的版本開發(fā)(本文稱為"版本邏輯")。為了提升系統(tǒng)的處理性能,版本邏輯基本使用C/C++開發(fā),定制邏輯則有多種開發(fā)方式。目前,定制邏輯多采用腳本語言進(jìn)行開發(fā),基于虛擬機(jī)解釋執(zhí)行。使用腳本語言開發(fā)定制邏輯可以降低開發(fā)難度,提高編碼效率;同吋,因為定制邏輯通過虛擬機(jī)解釋執(zhí)行, 可以有效地隔離版本邏輯和定制邏輯,各自的問題不會形成交叉影響,并且,虛擬機(jī)解釋執(zhí)行,可以清楚地記錄和輸出腳本執(zhí)行軌跡,進(jìn)行變量值的跟蹤調(diào)試,及時發(fā)現(xiàn)并報告錯誤,大大提高代碼調(diào)試和測試的效率。對于定制邏輯中采用的腳本語言是通用的腳本解釋語言,其基于虛擬機(jī)解釋執(zhí)行的虛擬機(jī)為通用虛擬機(jī)。在面對計費(fèi)領(lǐng)域的特殊處理時,采用通用的腳本解釋語言以及通用虛擬機(jī),需要進(jìn)行復(fù)雜處理,例如,在計費(fèi)領(lǐng)域需要保存ー個AVP (Attribute-Value-Pairs,"屬性-值"對)值,盡管看起來是一個AVP,其實可以是一個簡單的"屬性-值"對,也可以是ー個存在復(fù)雜嵌套關(guān)系的"屬性-值"對,其嵌套層次、嵌套內(nèi)容隨業(yè)務(wù)場景不同而變化。上述的情況在計費(fèi)領(lǐng)域是很常見的,若用通用腳本解釋語言進(jìn)行編程,將是件很復(fù)雜的任務(wù)。

      發(fā)明內(nèi)容
      本發(fā)明實施例提供一種基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法及裝置,以解決現(xiàn)有技術(shù)中在面對計費(fèi)領(lǐng)域的特殊處理時,采用通用的腳本解釋語言以及通用虛擬機(jī),需要進(jìn)行復(fù)雜處理的問題。為達(dá)到上述目的,本發(fā)明實施例采用如下技術(shù)方案一方面,提供了一種基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法,包括獲取計費(fèi)規(guī)則代碼,將所述計費(fèi)規(guī)則代碼編譯成字節(jié)碼文件,所述字節(jié)碼文件包括大顆粒指令,所述大顆粒指令為一條包含多個操作信息的指令;通過基于計費(fèi)專有領(lǐng)域的虛擬機(jī)對所述字節(jié)碼文件解釋執(zhí)行,調(diào)用所述大顆粒指令對應(yīng)的邏輯代碼段。另ー方面,還提供了一種基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理裝置,包括編譯單元,用于獲取計費(fèi)規(guī)則代碼,將所述計費(fèi)規(guī)則代碼編譯成字節(jié)碼文件,所述字節(jié)碼文件包括大顆粒指令,所述大顆粒指令為一條包含多個操作信息的指令;執(zhí)行單元,用于通過基于計費(fèi)專有領(lǐng)域的虛擬機(jī)對所述字節(jié)碼文件解釋執(zhí)行,調(diào)用所述大顆粒指令對應(yīng)的邏輯代碼段。
      本發(fā)明實施例提供的基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法及裝置,將計費(fèi)規(guī)則代碼編譯成字節(jié)碼文件,所述字節(jié)碼文件包括大顆粒指令,所述大顆粒指令為一條包含多個操作信息的指令;通過基于計費(fèi)專有領(lǐng)域的虛擬機(jī)對所述字節(jié)碼文件解釋執(zhí)行,調(diào)用所述大顆粒指令對應(yīng)的邏輯代碼段。由于大顆粒指令中包含多個操作信息,與現(xiàn)有技術(shù)相比,通用的腳本解釋語言在編譯之后生成的字節(jié)碼文件中包含的操作指令是僅包含ー個操作信息的小顆粒指令,大顆粒指令對應(yīng)的邏輯代碼段實現(xiàn)的功能包含了多個小顆粒指令對應(yīng)的邏輯代碼段實現(xiàn)的功能,減少了指令的調(diào)用次數(shù)和調(diào)用過程中的入棧出棧次數(shù),提高了運(yùn)行計費(fèi)代碼規(guī)則的效率。


      圖I為本發(fā)明實施例提供的基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法的流程圖;圖2為本發(fā)明又一實施例提供的計費(fèi)系統(tǒng)的結(jié)構(gòu)示意圖;
      圖3為本發(fā)明又一實施例提供的基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法的流程圖;圖4為本發(fā)明實施例提供的基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理裝置的結(jié)構(gòu)示意圖;圖5為圖4所示的基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理裝置中執(zhí)行單元的結(jié)構(gòu)示意圖ー;圖6為圖4所示的基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理裝置中執(zhí)行單元的結(jié)構(gòu)示意圖ニ。
      具體實施例方式為了解決現(xiàn)有技術(shù)中現(xiàn)有技術(shù)中在面對計費(fèi)領(lǐng)域的特殊處理時,采用通用的腳本解釋語言以及通用虛擬機(jī),需要進(jìn)行復(fù)雜處理的問題,本發(fā)明實施例提供一種基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法及裝置。如圖I所示,本發(fā)明實施例提供的一種基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法,包括101、獲取計費(fèi)規(guī)則代碼,將所述計費(fèi)規(guī)則代碼編譯成字節(jié)碼文件。其中,所述字節(jié)碼文件包括大顆粒指令,所述大顆粒指令為一條包含多個操作信息的指令。在本實施例中,所述大顆粒指令可以是計費(fèi)通用指令,所述計費(fèi)通用指令包括操作處理類型、操作數(shù)類型和操作數(shù)尋址方式;可選的,所述大顆粒指令還可以是計費(fèi)專有指令,所述計費(fèi)專有指令包括調(diào)用指令碼、函數(shù)地址、參數(shù)類型以及參數(shù)值。102、通過基于計費(fèi)專有領(lǐng)域的虛擬機(jī)對所述字節(jié)碼文件解釋執(zhí)行,調(diào)用所述大顆粒指令對應(yīng)的邏輯代碼段。本發(fā)明實施例提供的基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法,將計費(fèi)規(guī)則代碼編譯成字節(jié)碼文件,所述字節(jié)碼文件包括大顆粒指令,所述大顆粒指令為一條包含多個操作信息的指令;通過基于計費(fèi)專有領(lǐng)域的虛擬機(jī)對所述字節(jié)碼文件解釋執(zhí)行,調(diào)用所述大顆粒指令對應(yīng)的邏輯代碼段。由于大顆粒指令中包含多個操作信息,與現(xiàn)有技術(shù)相比,通用的腳本解釋語言在編譯之后生成的字節(jié)碼文件中包含的操作指令是僅包含ー個操作信息的小顆粒指令,大顆粒指令對應(yīng)的邏輯代碼段實現(xiàn)的功能包含了多個小顆粒指令對應(yīng)的邏輯代碼段實現(xiàn)的功能,減少了指令的調(diào)用次數(shù)和調(diào)用過程中的入棧出棧次數(shù),提高了運(yùn)行計費(fèi)代碼規(guī)則的效率。為了使本領(lǐng)域技術(shù)人員能夠更清楚地理解本發(fā)明實施例提供的技術(shù)方案,下面通過具體的實施例,對本發(fā)明實施例提供的基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法進(jìn)行詳細(xì)說明。本發(fā)明又一實施例提供的基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法,應(yīng)用于如圖2所示的計費(fèi)系統(tǒng),所述系統(tǒng)包括基于計費(fèi)專有領(lǐng)域的編譯器、基于計費(fèi)專有領(lǐng)域的虛擬機(jī)以及函數(shù)庫。其中,基于計費(fèi)專有領(lǐng)域的虛擬機(jī)是由指令解釋器、棧、程序計數(shù)器、棧指針寄存器、基址指針寄存器、代碼區(qū)、數(shù)據(jù)區(qū)等組成。代碼區(qū)用于加載字節(jié)碼文件中的函數(shù)代碼;數(shù)據(jù)區(qū)用于加載全局變量、靜態(tài)變量以及常量數(shù)據(jù);棧用于存放函數(shù)局部變量。虛擬機(jī)的房 錢執(zhí)行位置由程序計數(shù)器進(jìn)行指示,當(dāng)前指令執(zhí)行后,程序計數(shù)器指向下一條待執(zhí)行的指令。指令通過指令解釋器解釋執(zhí)行,每次執(zhí)行一條指令,程序運(yùn)行基于棧進(jìn)行實現(xiàn)。如圖3所示,本發(fā)明又一實施例提供的基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法,可以包括301、獲取計費(fèi)規(guī)則代碼,通過基于計費(fèi)專有領(lǐng)域的編譯器將所述計費(fèi)規(guī)則代碼編譯成字節(jié)碼文件。其中,所述計費(fèi)規(guī)則代碼可以是預(yù)先設(shè)置的腳本代碼文件,在本實施例中,所述腳本代碼文件可以是CSF格式的腳本代碼文件,也可以是其他腳本語言編寫得到的腳本代碼文件。所述字節(jié)碼文件包括大顆粒指令,所述大顆粒指令為一條包含多個操作信息的指令。所述字節(jié)碼文件由多條大顆粒指令等組成。所述大顆粒指令可以是計費(fèi)通用指令,也可以是計費(fèi)專有指令。在本實施例中,所述計費(fèi)通用指令包括操作處理類型、操作數(shù)類型和操作數(shù)尋址方式。計費(fèi)通用指令可以有兩種形式助記符形式以及ニ進(jìn)制形式,其中助記符形式是為了便于操作者讀取,ニ進(jìn)制形式是為了用于虛擬機(jī)的識別,一系列ニ進(jìn)制形式的操作指令和ニ進(jìn)制形式的操作數(shù)組成編譯后的字節(jié)碼文件,其中操作數(shù)依附于操作指令,姆個操作指令后面可以帶n(n彡O)個操作數(shù)。例如,實現(xiàn)"將棧變量a與立即數(shù)intConst做正數(shù)相加"的計費(fèi)通用指令,其助記符形式為ADD_INT_STACK_CONST (a) intConst,其中,ADD為操作處理類型,INT為操作數(shù)類型,STACK為第一操作數(shù)的尋址方式,CONST為第二操作數(shù)的尋址方式,a為第一操作數(shù),intConst為第二操作數(shù);其ニ進(jìn)制形式為0x0021,0x0021為操作指令,包含的信息為(I)要做兩個數(shù)的相加操作,操作結(jié)果存入第一操作數(shù);(2)兩個數(shù)都是整數(shù)(不區(qū)分長、短整數(shù),編譯時一律變?yōu)殚L整數(shù));(3)第一操作數(shù)為ー個棧變量;(4)第二操作數(shù)為ー個立即數(shù)。值得說明的是,因為計費(fèi)專有領(lǐng)域涉及的操作處理類型、操作數(shù)類型和操作數(shù)尋址方式少,也不會出現(xiàn)它們的所有組合,因此盡管ー個指令含有上述多個信息,系統(tǒng)需要設(shè)計的指令數(shù)也不會很多。但是在通用領(lǐng)域則不一樣,操作種類多、數(shù)據(jù)類型多,尋址方式多,并且他們的每種組合都有可能,因此若使用這種大顆粒指令,將需要一個很大的指令集,這是不太現(xiàn)實的。在本實施例中,所述計費(fèi)專有指令包括調(diào)用指令碼、函數(shù)地址、參數(shù)類型以及參數(shù)值。計費(fèi)專有指令也有兩種形式助記符形式以及ニ進(jìn)制形式,其中助記符形式是為了便于操作者讀取,ニ進(jìn)制形式是為了用于虛擬機(jī)的識別,一系列ニ進(jìn)制形式的操作指令和ニ進(jìn)制形式的操作數(shù)組成編譯后的字節(jié)碼文件,其中操作數(shù)依附于操作指令,姆個操作指令后面可以帶n(n彡O)個操作數(shù)。。
      例如,系統(tǒng)需要保存"Subscription-ID"這樣ー個AVP,其AVP ID值為443,AVP類型是Grouped (即還包含子AVP)。",其助記符形式為Call" setAVP (443)",其ニ進(jìn)制形式為0xl0030158010101bb,其中"1003"為操作指令,表示操作指令為LIB庫調(diào)用;"0158"為操作數(shù),是LIB函數(shù)setAVP O的內(nèi)部函數(shù)編號;“01”為操作數(shù),表示I個函數(shù)參數(shù);"01"為操作數(shù),表示參數(shù)值類型為整數(shù);"Olbb"為操作數(shù),表示參數(shù)值443。302、通過基于計費(fèi)專有領(lǐng)域的虛擬機(jī)對所述字節(jié)碼文件解釋執(zhí)行。303a、在所述大顆粒指令為計費(fèi)通用指令時,根據(jù)所述操作處理類型調(diào)用所述操作處理類型對應(yīng)的邏輯代碼段。304a、根據(jù)所述操作數(shù)類型以及所述操作數(shù)尋址方式獲取操作數(shù),將所述操作數(shù)帶入所述邏輯代碼段,生成操作結(jié)果。對應(yīng)于步驟301中計費(fèi)通用指令的例子,基于計費(fèi)專有領(lǐng)域的虛擬機(jī)在處理該計
      費(fèi)通用指令時的示例代碼如下
      權(quán)利要求
      1.一種基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法,其特征在于,包括 獲取計費(fèi)規(guī)則代碼,將所述計費(fèi)規(guī)則代碼編譯成字節(jié)碼文件,所述字節(jié)碼文件包括大顆粒指令,所述大顆粒指令為一條包含多個操作信息的指令; 通過基于計費(fèi)專有領(lǐng)域的虛擬機(jī)對所述字節(jié)碼文件解釋執(zhí)行,調(diào)用所述大顆粒指令對應(yīng)的邏輯代碼段。
      2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述大顆粒指令為計費(fèi)通用指令,所述計費(fèi)通用指令包括操作處理類型、操作數(shù)類型和操作數(shù)尋址方式; 所述調(diào)用所述大顆粒指令對應(yīng)的邏輯代碼段,包括 根據(jù)所述操作處理類型調(diào)用所述操作處理類型對應(yīng)的邏輯代碼段; 根據(jù)所述操作數(shù)類型以及所述操作數(shù)尋址方式獲取操作數(shù),將所述操作數(shù)帶入所述邏輯代碼段,生成操作結(jié)果。
      3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述大顆粒指令為計費(fèi)專有指令,所述計費(fèi)專有指令包括調(diào)用指令碼、函數(shù)地址、參數(shù)類型以及參數(shù)值; 所述調(diào)用所述大顆粒指令對應(yīng)的邏輯代碼段,包括 根據(jù)所述調(diào)用指令碼以及所述函數(shù)地址調(diào)用函數(shù)庫中保存的函數(shù)代碼; 根據(jù)所述參數(shù)類型、參數(shù)值以及調(diào)用的函數(shù)代碼生成操作結(jié)果。
      4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述函數(shù)庫為ニ進(jìn)制函數(shù)庫。
      5.根據(jù)權(quán)利要求1-4任一項所述的方法,其特征在于,所述計費(fèi)規(guī)則代碼為腳本代碼文件。
      6.一種基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理裝置,其特征在于,包括 編譯單元,用于獲取計費(fèi)規(guī)則代碼,將所述計費(fèi)規(guī)則代碼編譯成字節(jié)碼文件,所述字節(jié)碼文件包括大顆粒指令,所述大顆粒指令為一條包含多個操作信息的指令; 執(zhí)行單元,用于通過基于計費(fèi)專有領(lǐng)域的虛擬機(jī)對所述字節(jié)碼文件解釋執(zhí)行,調(diào)用所述大顆粒指令對應(yīng)的邏輯代碼段。
      7.根據(jù)權(quán)利要求6所述的處理裝置,其特征在于,所述大顆粒指令為計費(fèi)通用指令,所述計費(fèi)通用指令包括操作處理類型、操作數(shù)類型和操作數(shù)尋址方式;所述執(zhí)行単元,包括 第一調(diào)用子単元,用于根據(jù)所述操作處理類型調(diào)用所述操作處理類型對應(yīng)的邏輯代碼段; 第一執(zhí)行子単元,用于根據(jù)所述操作數(shù)類型以及所述操作數(shù)尋址方式獲取操作數(shù),將所述操作數(shù)帶入所述邏輯代碼段,生成操作結(jié)果。
      8.根據(jù)權(quán)利要求6所述的處理裝置,其特征在于,所述大顆粒指令為計費(fèi)專有指令,所述計費(fèi)專有指令包括調(diào)用指令碼、函數(shù)地址、參數(shù)類型以及參數(shù)值;所述執(zhí)行単元,包括 第二調(diào)用子単元,用于根據(jù)所述調(diào)用指令碼以及所述函數(shù)地址調(diào)用函數(shù)庫中保存的函數(shù)代碼; 第二執(zhí)行子単元,用于根據(jù)所述參數(shù)類型、參數(shù)值以及調(diào)用的函數(shù)代碼生成操作結(jié)果。
      全文摘要
      本發(fā)明實施例公開一種基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法及裝置,涉及計算機(jī)技術(shù)領(lǐng)域,以解決現(xiàn)有技術(shù)中在面對計費(fèi)領(lǐng)域的特殊處理時,采用通用的腳本解釋語言以及通用虛擬機(jī),需要進(jìn)行復(fù)雜處理的問題。本發(fā)明提供的技術(shù)方案包括獲取計費(fèi)規(guī)則代碼,將所述計費(fèi)規(guī)則代碼編譯成字節(jié)碼文件,所述字節(jié)碼文件包括大顆粒指令,所述大顆粒指令為一條包含多個操作信息的指令;通過基于計費(fèi)專有領(lǐng)域的虛擬機(jī)對所述字節(jié)碼文件解釋執(zhí)行,調(diào)用所述大顆粒指令對應(yīng)的邏輯代碼段。本發(fā)明實施例提供的基于計費(fèi)專有領(lǐng)域的虛擬機(jī)的處理方法及裝置,能夠應(yīng)用計費(fèi)專有領(lǐng)域中。
      文檔編號G06Q20/14GK102693150SQ201210146590
      公開日2012年9月26日 申請日期2012年5月11日 優(yōu)先權(quán)日2012年5月11日
      發(fā)明者李臻峰, 王世軍, 王永峰 申請人:深圳市華為技術(shù)軟件有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1