專利名稱:計(jì)費(fèi)帳務(wù)引擎中資費(fèi)模板樹設(shè)置方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)費(fèi)帳務(wù)引擎中模板樹設(shè)置方法,尤其是電信業(yè)務(wù)中"資費(fèi)計(jì)算"的方法。
二背景技術(shù):
資費(fèi)是電信運(yùn)營商向客戶進(jìn)行收費(fèi)的規(guī)則和標(biāo)準(zhǔn)。在電信業(yè)務(wù)中,資費(fèi)往往是規(guī)則復(fù) 雜,而且數(shù)量龐大難以維護(hù)。目前電信業(yè)務(wù)中的資費(fèi)往往是由多條資費(fèi)規(guī)則結(jié)合各種限制 條件組合得來,復(fù)雜度、靈活度非常高,而且數(shù)量非常龐大。所以資費(fèi)規(guī)則模板的形成較 為復(fù)雜。
由于資費(fèi)規(guī)則復(fù)雜度高, 一條資費(fèi)規(guī)則往往要涉及多張表才能配置實(shí)現(xiàn)。原來的批價(jià)和 優(yōu)惠算法,用一種平面化的方式去描述資費(fèi),對(duì)于一些復(fù)雜的資費(fèi),描述起來比較吃力, 即使能勉強(qiáng)實(shí)現(xiàn),配置起來也很復(fù)雜,執(zhí)行時(shí)占用系統(tǒng)資源也比較多,有的甚至無法描述。 為了提高批價(jià)和優(yōu)惠的效率,資費(fèi)規(guī)則都是需要加載到內(nèi)存中。數(shù)量眾多的資費(fèi)加載內(nèi)存 中,占用了大量的內(nèi)存空間。由于數(shù)量很大,在加載資費(fèi)和執(zhí)行資費(fèi)時(shí),效率都比較低, 對(duì)系統(tǒng)資源(cup和內(nèi)存)消耗比較多。當(dāng)數(shù)據(jù)流瞬時(shí)大量涌入或CPU資源緊缺時(shí),運(yùn)營 支撐系統(tǒng)的響應(yīng)速度會(huì)受到影響。
計(jì)費(fèi)帳務(wù)引擎,即批價(jià)和費(fèi)率優(yōu)惠模塊,是電信計(jì)費(fèi)軟件的核心部分。批價(jià)和優(yōu)惠的 過程,就是對(duì)收費(fèi)規(guī)則(資費(fèi))進(jìn)行存儲(chǔ)、訪問和執(zhí)行的過程。隨著電信業(yè)務(wù)的不斷發(fā)展, 電信計(jì)費(fèi)的規(guī)則也日趨復(fù)雜,數(shù)量也越來越多,如何高效的處理資費(fèi),提高批價(jià)和優(yōu)惠的 效率,己成為電信運(yùn)營商和軟件提供商關(guān)注的焦點(diǎn)。
本發(fā)明實(shí)現(xiàn)了電信計(jì)費(fèi)軟件領(lǐng)域中一種高效靈活的批價(jià)和優(yōu)惠算法。并在這種背景下, 本發(fā)明實(shí)現(xiàn)了 "資費(fèi)模板樹"的技術(shù),以解決批價(jià)和優(yōu)惠過程中出現(xiàn)的"l)資費(fèi)規(guī)則復(fù)雜, 難以描述,執(zhí)行效率低;2)資費(fèi)數(shù)量眾多,大量消耗系統(tǒng)資源"的問題。
三
發(fā)明內(nèi)容
本發(fā)明目的是提出一種計(jì)費(fèi)帳務(wù)引擎中資費(fèi)模板樹設(shè)置方法,能靈活實(shí)現(xiàn)高度復(fù)雜 的業(yè)務(wù)資費(fèi);2)應(yīng)對(duì)越來越多的業(yè)務(wù)資費(fèi)。當(dāng)數(shù)據(jù)流瞬時(shí)大量涌入或CPU資源緊缺時(shí),可 提升運(yùn)營支撐系統(tǒng)的響應(yīng)速度。
本發(fā)明的技術(shù)方案是計(jì)費(fèi)帳務(wù)引擎中資費(fèi)模板樹設(shè)置方法,步驟如下 一個(gè)資費(fèi)被(1)資費(fèi)定義表,(2)資費(fèi)模板定義表,(3)節(jié)點(diǎn)動(dòng)作表,(4)資費(fèi)實(shí)例 化參數(shù)表完整定義的設(shè)置其中(1)資費(fèi)定義表標(biāo)志了一個(gè)具體的資費(fèi)是由哪一個(gè)資費(fèi)模 板實(shí)例化而來;(2)資費(fèi)模板定義表,通過樹狀結(jié)構(gòu)來描述資費(fèi)模板的組織結(jié)構(gòu),每個(gè)資 費(fèi)模板都被定義為一顆"資費(fèi)樹";資費(fèi)模板中的每一條資費(fèi)規(guī)則稱之為資費(fèi)樹上的一個(gè)"節(jié)點(diǎn)";每個(gè)節(jié)點(diǎn)下面可以有多個(gè)"子節(jié)點(diǎn)"或相鄰"兄弟節(jié)點(diǎn)";節(jié)點(diǎn)與子節(jié)點(diǎn)、兄弟節(jié)點(diǎn)
間建立指針關(guān)聯(lián),形成資費(fèi)模板的層級(jí)關(guān)系,構(gòu)成一棵資費(fèi)樹;對(duì)每一顆資費(fèi)樹,按照先
訪問當(dāng)前節(jié)點(diǎn),再訪問子節(jié)點(diǎn),然后訪問兄弟節(jié)點(diǎn)的順序,從資費(fèi)樹入口開始,可以訪問到整個(gè)資費(fèi)樹上的所有節(jié)點(diǎn);
資費(fèi)模板中的每一條資費(fèi)規(guī)則稱之為"資費(fèi)樹"上的一個(gè)節(jié)點(diǎn);每個(gè)節(jié)點(diǎn)可以有多個(gè)子節(jié)點(diǎn),用來描述此條資費(fèi)規(guī)則下的子規(guī)則,節(jié)點(diǎn)被看作是它下面子節(jié)點(diǎn)的父節(jié)點(diǎn),每個(gè)子節(jié)點(diǎn)下面又可以有自己的多個(gè)子節(jié)點(diǎn),多層的子節(jié)點(diǎn)間形成樹狀結(jié)構(gòu);父節(jié)點(diǎn)相同的節(jié)點(diǎn)互稱為兄弟節(jié)點(diǎn)。節(jié)點(diǎn)也可以沒有父節(jié)點(diǎn),這類節(jié)點(diǎn)的是層次最高的節(jié)點(diǎn),其中的優(yōu)先級(jí)最高的那個(gè)節(jié)點(diǎn)稱為根節(jié)點(diǎn),是"資費(fèi)樹"的訪問入口;
"資費(fèi)模板定義表"由資費(fèi)模板標(biāo)識(shí),節(jié)點(diǎn)標(biāo)識(shí),父節(jié)點(diǎn)標(biāo)識(shí),節(jié)點(diǎn)動(dòng)作類型,節(jié)點(diǎn)動(dòng)作標(biāo)識(shí),節(jié)點(diǎn)順序等字段組成資費(fèi)模板標(biāo)識(shí)用來區(qū)別資費(fèi)樹, 一個(gè)資費(fèi)模板標(biāo)識(shí)就對(duì)應(yīng)一棵資費(fèi)樹;此字段用來劃分"資費(fèi)模板構(gòu)成表"中的節(jié)點(diǎn)都是歸屬于哪個(gè)資費(fèi)樹的;資費(fèi)樹的定義使用了第歸的方式;節(jié)點(diǎn)標(biāo)識(shí)用來區(qū)分資費(fèi)樹下的一個(gè)節(jié)點(diǎn);父節(jié)點(diǎn)標(biāo)識(shí)用來標(biāo)識(shí)節(jié)點(diǎn)的上一級(jí)節(jié)點(diǎn)是誰。如果父節(jié)點(diǎn)標(biāo)識(shí)為0,代表此節(jié)點(diǎn)沒有父節(jié)點(diǎn);如果父節(jié)點(diǎn)標(biāo)識(shí)不為0,則父節(jié)點(diǎn)標(biāo)識(shí)必須是一個(gè)己經(jīng)存在的節(jié)點(diǎn)標(biāo)志,用來說明當(dāng)前節(jié)點(diǎn)是哪一個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn);
節(jié)點(diǎn)動(dòng)作類型用來說明當(dāng)前節(jié)點(diǎn)的類型。節(jié)點(diǎn)動(dòng)作類型分為兩種, 一種是"條件",一種是"作用";如果節(jié)點(diǎn)動(dòng)作類型是"條件",則節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)存儲(chǔ)的是一個(gè)條件編碼;如果節(jié)點(diǎn)動(dòng)作類型不是"條件",則節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)存儲(chǔ)的是一個(gè)作用編碼;設(shè)置節(jié)點(diǎn)動(dòng)作表
資費(fèi)模板定義表定義了資費(fèi)由哪些"動(dòng)作"構(gòu)成,以及這些"動(dòng)作"之間的執(zhí)行順序。資費(fèi)模板定義表中涉及的具體"動(dòng)作"則定義在節(jié)點(diǎn)動(dòng)作表中。節(jié)點(diǎn)動(dòng)作表分為兩類"條件"表和"作用"表,代表一類表 一條基本的資費(fèi)規(guī)則可以簡單的歸納為"如果滿足條件A,那么執(zhí)行作用B",或者"執(zhí)行B作用(無條件)";
對(duì)于不同的業(yè)務(wù)系統(tǒng),由于業(yè)務(wù)場(chǎng)景不同,使用的"條件"和"作用"也不盡相同。"資費(fèi)模板樹"技術(shù)為了適應(yīng)不同的業(yè)務(wù)系統(tǒng),在實(shí)現(xiàn)時(shí)將"條件"和"作用"抽象成基類,在基類中分別聲明了虛函數(shù)"條件判斷方法"和"作用方法",各業(yè)務(wù)系統(tǒng)只要從基類派生出子類,實(shí)現(xiàn)本系統(tǒng)中的"條件判斷方法"和"作用方法",即可實(shí)現(xiàn)本系統(tǒng)中的資費(fèi)樹;對(duì)于電信業(yè)務(wù)中的計(jì)費(fèi)帳務(wù)模型,"條件判斷方法"實(shí)現(xiàn)了對(duì)用戶費(fèi)用、用戶屬性等條件的判斷;根據(jù)不同的資費(fèi)需求,通過對(duì)資費(fèi)樹的遍歷實(shí)現(xiàn)-
如果節(jié)點(diǎn)動(dòng)作類型是"條件",則節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)存儲(chǔ)的是一個(gè)條件編碼,資費(fèi)樹的遍歷程序會(huì)到條件表中査找此條件編碼的明細(xì),對(duì)此條件做出判斷,如果滿足條件,才會(huì)繼續(xù)對(duì)當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)進(jìn)行遍歷;如果節(jié)點(diǎn)動(dòng)作類型不是"條件",則節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)存儲(chǔ)的是一個(gè)作用編碼,資費(fèi)樹的方法會(huì)根據(jù)作用類型,到相應(yīng)的作用表中查找此作用編碼的明細(xì),找到具體的作用對(duì)象,調(diào)用此作用對(duì)象中的方法,執(zhí)行這個(gè)作用;
對(duì)一顆資費(fèi)樹,先訪問根節(jié)點(diǎn),根據(jù)根節(jié)點(diǎn)動(dòng)作類型,調(diào)用動(dòng)作對(duì)象的執(zhí)行方法,來執(zhí)行"節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)"所指向的動(dòng)作對(duì)象的動(dòng)作;再訪問根節(jié)點(diǎn)的子節(jié)點(diǎn);訪問子節(jié)點(diǎn)時(shí),在資費(fèi)樹定義表中,查找父節(jié)點(diǎn)標(biāo)志等于當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)志的節(jié)點(diǎn),這些節(jié)點(diǎn)就是當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn);如果子節(jié)點(diǎn)下還有子節(jié)點(diǎn),則繼續(xù)訪問此子節(jié)點(diǎn)的子節(jié)點(diǎn),直至沒有子節(jié)點(diǎn)為止;訪問完子節(jié)點(diǎn),然后按優(yōu)先級(jí)依次訪問根節(jié)點(diǎn)的"兄弟節(jié)點(diǎn)"。從"根節(jié)點(diǎn)"開始,遍歷到整個(gè)"資費(fèi)樹"上的所有節(jié)點(diǎn);資費(fèi)樹的遍歷,用到了第歸算法l)從根節(jié)點(diǎn)開始;2)執(zhí)行當(dāng)前節(jié)點(diǎn)的動(dòng)作;3)執(zhí)行前節(jié)點(diǎn)子節(jié)點(diǎn)(第歸遍歷);4)令當(dāng)前節(jié)點(diǎn)的兄弟節(jié)點(diǎn)成為當(dāng)前節(jié)點(diǎn); 5)執(zhí)行步驟2)直至當(dāng)前節(jié)點(diǎn)沒有兄弟節(jié)點(diǎn);
資費(fèi)實(shí)例化參數(shù)表設(shè)置
一個(gè)具體的資費(fèi)的實(shí)例化過程分為兩步
1) 選定資費(fèi)模板
設(shè)置"資費(fèi)定義表",給資費(fèi)選擇一個(gè)合適的資費(fèi)模板;
2) 對(duì)資費(fèi)模板的參數(shù)實(shí)例化
設(shè)置"資費(fèi)模板定義表",實(shí)現(xiàn)一個(gè)資費(fèi)模板的完整定義。在確定資費(fèi)模板時(shí),首先需要考慮哪些參數(shù)的作用值可能會(huì)變化;在配置這些作用值時(shí),其值被初始化為"?參數(shù)編碼"的格式;"?"是參數(shù)需要被實(shí)例化的標(biāo)志;資費(fèi)模板的參數(shù)實(shí)例化的過程是在資費(fèi)樹遍歷過程中動(dòng)態(tài)完成的;當(dāng)資費(fèi)樹遍歷方法發(fā)現(xiàn)作用值的第一個(gè)字符是"?",就認(rèn)為此作用值是需要被實(shí)例化,然后取出"?"后面的"參數(shù)編碼",到"資費(fèi)實(shí)例化參數(shù)表"中査找此參數(shù)的具體值,査到的值就是需要被替換的作用值;
"資費(fèi)實(shí)例化參數(shù)表"有四個(gè)字段資費(fèi)標(biāo)識(shí),資費(fèi)模板標(biāo)識(shí),參數(shù)標(biāo)識(shí),作用值;資費(fèi)標(biāo)識(shí)用來標(biāo)識(shí)一個(gè)真正的現(xiàn)實(shí)中的資費(fèi);從"資費(fèi)實(shí)例化參數(shù)表"査找作用值需要資費(fèi)標(biāo)識(shí),資費(fèi)模板標(biāo)識(shí),參數(shù)標(biāo)識(shí)三個(gè)值;得到資費(fèi)標(biāo)識(shí)后,需要確定此資費(fèi)采用的資費(fèi)模板,根據(jù)資費(fèi)標(biāo)識(shí)査找"資費(fèi)定義表"可得到此資費(fèi)選用的模板;在遍歷資費(fèi)模板時(shí),動(dòng)態(tài)的得到需要實(shí)例化參數(shù)編碼,然后到"資費(fèi)實(shí)例化參數(shù)表"根據(jù)資費(fèi)標(biāo)識(shí),資費(fèi)模板標(biāo)識(shí),參數(shù)標(biāo)識(shí)三個(gè)值,査找到真正的作用值,完成資費(fèi)實(shí)例化的過程。
本發(fā)明通過模板的機(jī)制,來解決資費(fèi)數(shù)量龐大難以維護(hù)的問題。通過分析發(fā)現(xiàn),眾多的資費(fèi)中,具有很大的重復(fù)性。很多資費(fèi),基本規(guī)則是相同的,只是具體的作用值不同。如"給用戶減免100元","給用戶減免200元","給用戶減免300元"三條資費(fèi),其作用方式完全一樣,只是作用值不同??梢猿橄蟪鲑Y費(fèi)模板,把作用值作為資費(fèi)參數(shù),資費(fèi)的作用框架從資費(fèi)模板得到,只記錄資費(fèi)的作用值,形成"資費(fèi)=資費(fèi)模板+資費(fèi)參數(shù)"的方式,這樣可以大大簡化配置,使資費(fèi)易于管理和維護(hù)。本發(fā)明有益效果
"資費(fèi)模板樹"是一種用樹狀結(jié)構(gòu)描述的、支持模板的資費(fèi)實(shí)現(xiàn)方法。它嵌入到電信運(yùn)營軟件的計(jì)費(fèi)帳務(wù)引擎中,是計(jì)費(fèi)帳務(wù)引擎的核心。"資費(fèi)模板樹"中使用樹狀結(jié)構(gòu)描述資費(fèi)信息,并且提供了統(tǒng)一的對(duì)"資費(fèi)模板樹"進(jìn)行訪問的方法,可以方便的遍歷整個(gè)資費(fèi)樹,執(zhí)行資費(fèi)樹上的各條資費(fèi)規(guī)則,可以支持各種靈活的資費(fèi)配置。"資費(fèi)模板樹"中引入了模板的機(jī)制,類型相同的資費(fèi)可以使用同一個(gè)的模板,這樣僅僅配置出少量的"資費(fèi)模板",就可以支持大量的資費(fèi),大大簡化了資費(fèi)配置的過程,降低了系統(tǒng)運(yùn)行時(shí)內(nèi)存的占用率。當(dāng)數(shù)據(jù)流瞬時(shí)大量涌入或CPU資源緊缺時(shí),可提升運(yùn)營支撐系統(tǒng)的響應(yīng)速度。在系統(tǒng)資源不變的情況下,資費(fèi)部分的內(nèi)存占用比以前減少60%,批價(jià)速度從300條話單/秒提高到1000條話單/秒。
四
圖1資費(fèi)樹模型
五具體實(shí)施例方式
配置說明一個(gè)資費(fèi)被完整定義涉及到4類參數(shù)表,分別是資費(fèi)定義表,資費(fèi)模板定義表,節(jié)點(diǎn)動(dòng)作表,資費(fèi)實(shí)例化參數(shù)表。*資費(fèi)定義表
"資費(fèi)定義表"由資費(fèi)標(biāo)識(shí),資費(fèi)模板標(biāo)識(shí)等字段組成,定義了一個(gè)具體的資費(fèi)是由哪一個(gè)資費(fèi)模板實(shí)例化而來。 資費(fèi)模板定義表
一個(gè)資費(fèi)模板可以定義成一棵資費(fèi)樹,資費(fèi)樹的結(jié)構(gòu)定義在"資費(fèi)模板定義表"中。資費(fèi)模板中的每一條資費(fèi)規(guī)則稱之為"資費(fèi)樹"上的一個(gè)節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)下面可以有多個(gè)子節(jié)點(diǎn),用來描述此條資費(fèi)規(guī)下的子規(guī)則。節(jié)點(diǎn)被看作是它下面子節(jié)點(diǎn)的父節(jié)點(diǎn)。每個(gè)子節(jié)點(diǎn)下面又可以有自己的多個(gè)子節(jié)點(diǎn),多層的子節(jié)點(diǎn)間形成樹狀結(jié)構(gòu)。父節(jié)點(diǎn)相同的節(jié)點(diǎn)互稱為兄弟節(jié)點(diǎn)。節(jié)點(diǎn)也可以沒有父節(jié)點(diǎn),這類節(jié)點(diǎn)的是層次最高的節(jié)點(diǎn),其中的優(yōu)先級(jí)最高的那個(gè)節(jié)點(diǎn)稱為根節(jié)點(diǎn),是"資費(fèi)樹"的訪問入口。
"資費(fèi)模板表"由資費(fèi)模板標(biāo)識(shí),節(jié)點(diǎn)標(biāo)識(shí),父節(jié)點(diǎn)標(biāo)識(shí),節(jié)點(diǎn)動(dòng)作類型,節(jié)點(diǎn)動(dòng)作標(biāo)識(shí),節(jié)點(diǎn)順序等字段組成。如圖1所示。資費(fèi)模板標(biāo)識(shí)用來區(qū)別資費(fèi)樹, 一個(gè)資費(fèi)模板標(biāo)識(shí)就對(duì)應(yīng)一棵資費(fèi)樹。此字段用來劃分"資費(fèi)模板表"中的節(jié)點(diǎn)都是歸屬于哪個(gè)資費(fèi)的。資費(fèi)樹的定義使用了第歸的方式。節(jié)點(diǎn)標(biāo)識(shí)用來區(qū)分資費(fèi)樹下的一個(gè)節(jié)點(diǎn)。父節(jié)點(diǎn)標(biāo)識(shí)用來標(biāo)識(shí)節(jié)點(diǎn)的父節(jié)點(diǎn)是誰。如果父節(jié)點(diǎn)標(biāo)識(shí)為0,代表此節(jié)點(diǎn)沒有父節(jié)點(diǎn);如果父節(jié)點(diǎn)標(biāo)識(shí)不為0,則父節(jié)點(diǎn)標(biāo)識(shí)必須是一個(gè)已經(jīng)存在的節(jié)點(diǎn)標(biāo)志,用來說明當(dāng)前節(jié)點(diǎn)是哪一個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)。
節(jié)點(diǎn)動(dòng)作類型用來說明當(dāng)前節(jié)點(diǎn)的類型。節(jié)點(diǎn)動(dòng)作類型可以分為兩種, 一種是"條件",一種是"作用"。如果節(jié)點(diǎn)動(dòng)作類型是"條件",則節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)存儲(chǔ)的是一個(gè)條件編碼;如果節(jié)點(diǎn)動(dòng)作類型不是"條件",則節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)存儲(chǔ)的是一個(gè)作用編碼。*節(jié)點(diǎn)動(dòng)作表
資費(fèi)模板定義表定義了資費(fèi)由哪些"動(dòng)作"構(gòu)成,以及這些"動(dòng)作"之間的執(zhí)行順序。資費(fèi)模板定義表中涉及的具體"動(dòng)作"則定義在節(jié)點(diǎn)動(dòng)作表中。節(jié)點(diǎn)動(dòng)作表不是一張具體的表,而是代表一類表。 一條基本的資費(fèi)規(guī)則可以簡單的歸納為"如果滿足條件A,那么執(zhí)行作用B",或者"執(zhí)行B作用(無條件)",因此節(jié)點(diǎn)動(dòng)作表可以分為兩類"條件表"和"作用表"。
對(duì)于不同的業(yè)務(wù)系統(tǒng),由于業(yè)務(wù)場(chǎng)景不同,使用的"條件"和"作用"也不盡相同。"資費(fèi)模板樹"技術(shù)為了適應(yīng)不同的業(yè)務(wù)系統(tǒng),在實(shí)現(xiàn)時(shí)將"條件"和"作用"抽象成基類,在基類中分別聲明了虛函數(shù)"條件判斷方法"和"作用方法",各業(yè)務(wù)系統(tǒng)只要從基類派生出子類,實(shí)現(xiàn)本系統(tǒng)中的"條件判斷方法"和"作用方法",即可實(shí)現(xiàn)本系統(tǒng)中的資費(fèi)樹。對(duì)于電信業(yè)務(wù)中的計(jì)費(fèi)帳務(wù)模型,"條件判斷方法"實(shí)現(xiàn)了對(duì)用戶費(fèi)用、用戶屬性等條件的判斷;根據(jù)不同的資費(fèi)需求,實(shí)現(xiàn)了多種作用方法批價(jià)和優(yōu)惠。實(shí)現(xiàn)方式如圖1所示。
參資費(fèi)樹的遍歷
如果節(jié)點(diǎn)動(dòng)作類型是"條件",則節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)存儲(chǔ)的是一個(gè)條件編碼,資費(fèi)樹的遍歷程序會(huì)到條件表中査找此條件編碼的明細(xì),對(duì)此條件做出判斷,如果滿足條件,才會(huì)繼續(xù)對(duì)當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)進(jìn)行遍歷;如果節(jié)點(diǎn)動(dòng)作類型不是"條件",則節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)存儲(chǔ)的是一個(gè)作用編碼,資費(fèi)樹的方法會(huì)根據(jù)作用類型(即節(jié)點(diǎn)動(dòng)作類型),到相應(yīng)的作用表中査找此作用編碼的明細(xì),找到具體的作用對(duì)象,調(diào)用此作用對(duì)象中的方法,執(zhí)行這個(gè)作用。對(duì)一顆資費(fèi)樹,先訪問根節(jié)點(diǎn),根據(jù)根節(jié)點(diǎn)動(dòng)作類型,調(diào)用動(dòng)作對(duì)象的執(zhí)行方法,來執(zhí)行"節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)"所指向的動(dòng)作對(duì)象的動(dòng)作;再訪問根節(jié)點(diǎn)的子節(jié)點(diǎn)。訪問子節(jié)點(diǎn)時(shí),在資費(fèi)樹定義表中,査找父節(jié)點(diǎn)標(biāo)志等于當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)志的節(jié)點(diǎn),這些節(jié)點(diǎn)就是當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)。如果子節(jié)點(diǎn)下還有子節(jié)點(diǎn),則繼續(xù)訪問此子節(jié)點(diǎn)的子節(jié)點(diǎn),直至沒有子節(jié)點(diǎn)為止。訪問完子節(jié)點(diǎn),然后按優(yōu)先級(jí)依次訪問根節(jié)點(diǎn)的"兄弟節(jié)點(diǎn)"。從"根節(jié)點(diǎn)"開始,可以遍歷到整個(gè)"資費(fèi)樹"上的所有節(jié)點(diǎn)。資費(fèi)樹的遍歷,用到了第歸算法1)從根節(jié)點(diǎn)開始;2)執(zhí)行當(dāng)前節(jié)點(diǎn)的動(dòng)作;3)執(zhí)行前節(jié)點(diǎn)子節(jié)點(diǎn)(第歸遍歷);4)令當(dāng)前節(jié)點(diǎn)的兄弟節(jié)點(diǎn)成為當(dāng)前節(jié)點(diǎn); 5)執(zhí)行2)直至當(dāng)前節(jié)點(diǎn)沒有兄弟節(jié)點(diǎn)。
具體實(shí)現(xiàn)時(shí),會(huì)抽象出一個(gè)資費(fèi)樹的類(即圖1中的資費(fèi)模板定義類),根據(jù)上述的算法,在類中實(shí)現(xiàn)"資費(fèi)樹遍歷方法";每一個(gè)節(jié)點(diǎn),在內(nèi)存中都是一個(gè)對(duì)象實(shí)例。同一棵資費(fèi)樹下,根據(jù)父節(jié)點(diǎn)對(duì)象和子節(jié)點(diǎn)對(duì)象之間的關(guān)系,在內(nèi)存中建立起單向鏈表,父節(jié)點(diǎn)指向它下面的第一個(gè)子節(jié)點(diǎn)(其優(yōu)先級(jí)在資節(jié)點(diǎn)中最高);根據(jù)兄弟節(jié)點(diǎn)之間的關(guān)系,按照兄弟節(jié)點(diǎn)的優(yōu)先級(jí)在內(nèi)存中建立起對(duì)象的單向鏈表。執(zhí)行資費(fèi)時(shí),找到資費(fèi)樹的根節(jié)點(diǎn)對(duì)象,調(diào)用根節(jié)點(diǎn)對(duì)象的遍歷方法,從根節(jié)點(diǎn)開始,即可實(shí)現(xiàn)對(duì)資費(fèi)樹的遍歷。
*資費(fèi)實(shí)例化參數(shù)表
一個(gè)資費(fèi)的配置的步驟可以分為兩步
1) 選定資費(fèi)模板
需要從"資費(fèi)定義表"中給資費(fèi)選擇一個(gè)合適的費(fèi)模板標(biāo)識(shí);
2) 對(duì)資費(fèi)模板的參數(shù)實(shí)例化
在確定資費(fèi)模板時(shí),首先需要確定哪些作用值可能會(huì)變化。這些作用值配置時(shí),其值被初始化為"?參數(shù)編碼"的格式。"?"是參數(shù)需要被實(shí)例化的標(biāo)志。資費(fèi)模板的參數(shù)實(shí)例化的過程是在資費(fèi)樹遍歷過程中動(dòng)態(tài)完成的。當(dāng)資費(fèi)樹遍歷方法發(fā)現(xiàn)作用值的第一個(gè)字符是"?",就認(rèn)為此作用值是需要被實(shí)例化,然后取出"?"后面的"參數(shù)編碼",到"資費(fèi)實(shí)例化參數(shù)表"中查找此參數(shù)的具體值,查到的值就是需要被替換的作用值。
"資費(fèi)實(shí)例化參數(shù)表"有四個(gè)字段資費(fèi)標(biāo)識(shí),資費(fèi)模板標(biāo)識(shí),參數(shù)標(biāo)識(shí),作用值。資費(fèi)標(biāo)識(shí)用來標(biāo)識(shí)一個(gè)真正的現(xiàn)實(shí)中的一個(gè)資費(fèi);資費(fèi)模板標(biāo)識(shí)指明了此資費(fèi)現(xiàn)在的資費(fèi)模板,參數(shù)標(biāo)識(shí)代表此模板中的哪個(gè)作用值需要被替換;作用值則是真正的需要作用值。從"資費(fèi)實(shí)例化參數(shù)表"査找作用值需要資費(fèi)標(biāo)識(shí),資費(fèi)模板標(biāo)識(shí),參數(shù)標(biāo)識(shí)三個(gè)值。執(zhí)行此資費(fèi)時(shí),自然會(huì)知道資費(fèi)標(biāo)識(shí);得到資費(fèi)標(biāo)識(shí)后—,需要確定此資費(fèi)采用的資費(fèi)模板,根據(jù)資費(fèi)標(biāo)識(shí)査找"資費(fèi)實(shí)例化參數(shù)表"可得到此資費(fèi)選用的模板;在遍歷資費(fèi)模板時(shí),可以動(dòng)態(tài)的得到需要實(shí)例化參數(shù)編碼,然后到"資費(fèi)實(shí)例化參數(shù)表"根據(jù)資費(fèi)標(biāo)識(shí),資費(fèi)模板標(biāo)識(shí),參數(shù)標(biāo)識(shí)三個(gè)值,查找到真正的作用值,完成資費(fèi)實(shí)例化的過程。
一個(gè)具體的資費(fèi)的歷遍過程
資費(fèi)規(guī)則A: l)減免所有月租費(fèi);2)如果用戶品牌為全球通,減免市話費(fèi)10元。3)如果用戶品牌為動(dòng)感地帶,減免短信費(fèi)5元。
9資費(fèi)規(guī)則B: 1)減免所有月租費(fèi);2)如果用戶品牌為全球通,減免市話費(fèi)20元。3)
如果用戶品牌為動(dòng)感地帶,減免短信費(fèi)io元。
分析資費(fèi)A, B規(guī)則十分相似,可以抽象出一個(gè)模板M,來減少資費(fèi)的配置量 1)減免所有月租費(fèi);2)如果用戶品牌為全球通,減免市話費(fèi)X元3)如果用戶品
牌為動(dòng)感地帶,減免短信費(fèi)Y元;
模板M通過配置資費(fèi)模板定義表完成。
資費(fèi)定義表配置
資費(fèi)標(biāo)識(shí)資費(fèi)模板標(biāo)識(shí)
A M B M
資費(fèi)模板定義表配置
資費(fèi)模板標(biāo)識(shí)節(jié)點(diǎn)標(biāo)識(shí)父節(jié)點(diǎn)標(biāo)識(shí)節(jié)點(diǎn)動(dòng)作類型節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)節(jié)點(diǎn)順序
M10010優(yōu)惠作用20010
M10020條件30011
M10031002優(yōu)惠作用20020
M10040條件30022
M1005讓優(yōu)惠作用20030
節(jié)點(diǎn)動(dòng)作表配置 節(jié)點(diǎn)動(dòng)作之條件表配置 條件標(biāo)識(shí)條件內(nèi)容
3001 如果用戶品牌為全球通
3002 如果用戶品牌為動(dòng)感地帶
節(jié)點(diǎn)動(dòng)作之優(yōu)惠作用表配置: 優(yōu)惠作用標(biāo)識(shí)作用賬目
2001 月租費(fèi)
2002 市話費(fèi)
頭)
2003
短信費(fèi)
頭)
作用方式
減免
減免
減免
作用值 100% 4001
資費(fèi)實(shí)例化參數(shù)表配置
資費(fèi)標(biāo)識(shí)資費(fèi)模板標(biāo)識(shí)參數(shù)標(biāo)識(shí)作用值
(資費(fèi)需要實(shí)例化,以?開
4002 (資費(fèi)需要實(shí)例化,以?開A M 4001 10元
A M 4002 5元
B M 4001 20元
B M 4002 10元
資費(fèi)A的資費(fèi)樹結(jié)構(gòu)如下 資費(fèi)A
1001:I-----優(yōu)惠作用(2001):減免月租費(fèi)100%
1002:I——條件(300D :如果品牌為全球通(如果滿足條件,才執(zhí)行條件的子節(jié)點(diǎn))
1003: I I------優(yōu)惠作用(2002):減免市話費(fèi)10元(參數(shù)標(biāo)識(shí):4001)
1004: I——條件(3002):如果品牌為全球通(如果滿足條件,才執(zhí)行條件的子節(jié)點(diǎn)) 1005: I------優(yōu)惠作用(2003):減免短信費(fèi)5元(參數(shù)標(biāo)識(shí):4002)
資費(fèi)A的遍歷過程(假定用戶當(dāng)前的品牌為動(dòng)感地帶)
1) 根據(jù)資費(fèi)編碼A,在"資費(fèi)定義表"中査找,得的資費(fèi)A對(duì)應(yīng)的模板M;
2) 根據(jù)模板M在"資費(fèi)模板定義表"中配置的數(shù)據(jù),對(duì)模板M進(jìn)行遍歷。首先找到M 的根節(jié)點(diǎn),査找原則為"父節(jié)點(diǎn)為O且節(jié)點(diǎn)順序最小的那個(gè)節(jié)點(diǎn)",即節(jié)點(diǎn)IOOI;
3) 執(zhí)行節(jié)點(diǎn)IOOI的節(jié)點(diǎn)動(dòng)作減免月租費(fèi)100%;
4) 執(zhí)行完節(jié)點(diǎn)動(dòng)作后,查找節(jié)點(diǎn)1001的子節(jié)點(diǎn),沒有找到;查找節(jié)點(diǎn)1001的兄弟節(jié) 點(diǎn),找到節(jié)點(diǎn)1002;
5) 執(zhí)行節(jié)點(diǎn)1002的節(jié)點(diǎn)動(dòng)作判斷用戶品牌是否是全球通。判斷結(jié)果為假,不執(zhí)行 査找子節(jié)點(diǎn)的工作;査找節(jié)點(diǎn)1002的兄弟節(jié)點(diǎn),找到節(jié)點(diǎn)1004;
6) 執(zhí)行節(jié)點(diǎn)1004的節(jié)點(diǎn)動(dòng)作判斷用戶品牌是否是動(dòng)感地帶。判斷結(jié)果為真,則查 找節(jié)點(diǎn)1004的子節(jié)點(diǎn),找到節(jié)點(diǎn)1005;
7) 執(zhí)行節(jié)點(diǎn)1005的節(jié)點(diǎn)動(dòng)作減免短信費(fèi)。在執(zhí)行減免的過程中,發(fā)現(xiàn)減免值為"? 4002",根據(jù)"資費(fèi)標(biāo)識(shí)+資費(fèi)模板標(biāo)識(shí)+參數(shù)標(biāo)識(shí)"(A+M+4002),到"資費(fèi)實(shí)例化 參數(shù)表"查找,找到作用值為5元,執(zhí)行減免5元短信費(fèi);
8) 查找節(jié)點(diǎn)1005的子節(jié)點(diǎn),沒有找到;査找節(jié)點(diǎn)1005的兄弟節(jié)點(diǎn),沒有找到,節(jié)點(diǎn) 1005執(zhí)行完畢,則返回父節(jié)點(diǎn)1004;
9) 査找節(jié)點(diǎn)1004的兄弟節(jié)點(diǎn),沒有找到,返回到節(jié)點(diǎn)1004的父節(jié)點(diǎn)0,整個(gè)資費(fèi)遍 歷過程結(jié)束。
1權(quán)利要求
1、計(jì)費(fèi)帳務(wù)引擎中資費(fèi)模板樹設(shè)置方法,其特征是步驟如下資費(fèi)由(1)資費(fèi)構(gòu)成表,(2)節(jié)點(diǎn)動(dòng)作表,(3)資費(fèi)實(shí)例化參數(shù)表完整定義的設(shè)置(1)設(shè)置資費(fèi)構(gòu)成表,通過樹狀結(jié)構(gòu)來描述資費(fèi),每個(gè)資費(fèi)都被定義為一顆“資費(fèi)樹”;資費(fèi)中的每一條資費(fèi)規(guī)則稱之為資費(fèi)樹上的一個(gè)“節(jié)點(diǎn)”;每個(gè)節(jié)點(diǎn)下面可以有多個(gè)“子節(jié)點(diǎn)”或相鄰“兄弟節(jié)點(diǎn)”;節(jié)點(diǎn)與子節(jié)點(diǎn)、兄弟節(jié)點(diǎn)間建立指針關(guān)聯(lián),形成資費(fèi)的層級(jí)關(guān)系,構(gòu)成一棵資費(fèi)樹;對(duì)每一顆資費(fèi)樹,按照先訪問當(dāng)前節(jié)點(diǎn),再訪問子節(jié)點(diǎn),然后訪問兄弟節(jié)點(diǎn)的順序,從資費(fèi)樹入口開始,可以訪問到整個(gè)資費(fèi)樹上的所有節(jié)點(diǎn);資費(fèi)中的每一條資費(fèi)規(guī)則稱之為“資費(fèi)樹”上的一個(gè)節(jié)點(diǎn);每個(gè)節(jié)點(diǎn)下面有多個(gè)子節(jié)點(diǎn),用來描述此條資費(fèi)規(guī)下的子規(guī)則,節(jié)點(diǎn)被看作是它下面子節(jié)點(diǎn)的父節(jié)點(diǎn),每個(gè)子節(jié)點(diǎn)下面又可以有自己的多個(gè)子節(jié)點(diǎn),多層的子節(jié)點(diǎn)間形成樹狀結(jié)構(gòu);父節(jié)點(diǎn)相同的節(jié)點(diǎn)互稱為兄弟節(jié)點(diǎn)。節(jié)點(diǎn)也可以沒有父節(jié)點(diǎn),這類節(jié)點(diǎn)的是層次最高的節(jié)點(diǎn),其中的優(yōu)先級(jí)最高的那個(gè)節(jié)點(diǎn)稱為根節(jié)點(diǎn),是“資費(fèi)樹”的訪問入口;“資費(fèi)構(gòu)成表”都由資費(fèi)模板標(biāo)識(shí),節(jié)點(diǎn)標(biāo)識(shí),父節(jié)點(diǎn)標(biāo)識(shí),節(jié)點(diǎn)動(dòng)作類型,節(jié)點(diǎn)動(dòng)作標(biāo)識(shí),節(jié)點(diǎn)順序等字段組成資費(fèi)模板標(biāo)識(shí)用來區(qū)別資費(fèi)樹,一個(gè)資費(fèi)模板標(biāo)識(shí)就對(duì)應(yīng)一棵資費(fèi)樹;此字段用來劃分“資費(fèi)構(gòu)成表”中的節(jié)點(diǎn)都是歸屬于哪個(gè)資費(fèi)的;資費(fèi)樹的定義使用了第歸的方式;節(jié)點(diǎn)標(biāo)識(shí)用來區(qū)分資費(fèi)樹下的一個(gè)節(jié)點(diǎn);父節(jié)點(diǎn)標(biāo)識(shí)用來標(biāo)識(shí)節(jié)點(diǎn)的父節(jié)點(diǎn)是誰。如果父節(jié)點(diǎn)標(biāo)識(shí)為0,代表此節(jié)點(diǎn)沒有父節(jié)點(diǎn);如果父節(jié)點(diǎn)標(biāo)識(shí)不為0,則父節(jié)點(diǎn)標(biāo)識(shí)必須是一個(gè)已經(jīng)存在的節(jié)點(diǎn)標(biāo)志,用來說明當(dāng)前節(jié)點(diǎn)是哪一個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn);節(jié)點(diǎn)動(dòng)作類型用來說明當(dāng)前節(jié)點(diǎn)的類型。節(jié)點(diǎn)動(dòng)作類型分為兩種,一種是“條件”,一種是“作用”;如果節(jié)點(diǎn)動(dòng)作類型是“條件”,則節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)存儲(chǔ)的是一個(gè)條件編碼;如果節(jié)點(diǎn)動(dòng)作類型不是“條件”,則節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)存儲(chǔ)的是一個(gè)作用編碼;(2)設(shè)置節(jié)點(diǎn)動(dòng)作表資費(fèi)構(gòu)成表定義了資費(fèi)由哪些“動(dòng)作”構(gòu)成,以及這些“動(dòng)作”之間的執(zhí)行順序。資費(fèi)構(gòu)成表中涉及的具體“動(dòng)作”則定義在節(jié)點(diǎn)動(dòng)作表中;節(jié)點(diǎn)動(dòng)作表分為兩類“條件”和“作用”,代表一類表一條基本的資費(fèi)規(guī)則可以簡單的歸納為“如果滿足條件A,那么執(zhí)行作用B”,或者“執(zhí)行B作用(無條件)”;對(duì)于不同的業(yè)務(wù)系統(tǒng),由于業(yè)務(wù)場(chǎng)景不同,使用的“條件”和“作用”也不盡相同?!百Y費(fèi)模板樹”技術(shù)為了適應(yīng)不同的業(yè)務(wù)系統(tǒng),在實(shí)現(xiàn)時(shí)將“條件”和“作用”抽象成基類,在基類中分別聲明了虛函數(shù)“條件判斷方法”和“作用方法”,各業(yè)務(wù)系統(tǒng)只要從基類派生出子類,實(shí)現(xiàn)本系統(tǒng)中的“條件判斷方法”和“作用方法”,即可實(shí)現(xiàn)本系統(tǒng)中的資費(fèi)樹;對(duì)于電信業(yè)務(wù)中的計(jì)費(fèi)帳務(wù)模型,“條件判斷方法”實(shí)現(xiàn)了對(duì)用戶費(fèi)用、用戶屬性等條件的判斷;根據(jù)不同的資費(fèi)需求,通過對(duì)資費(fèi)樹的遍歷實(shí)現(xiàn)如果節(jié)點(diǎn)動(dòng)作類型是“條件”,則節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)存儲(chǔ)的是一個(gè)條件編碼,資費(fèi)樹的遍歷程序會(huì)到條件表中查找此條件編碼的明細(xì),對(duì)此條件做出判斷,如果滿足條件,才會(huì)繼續(xù)對(duì)當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)進(jìn)行遍歷;如果節(jié)點(diǎn)動(dòng)作類型不是“條件”,則節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)存儲(chǔ)的是一個(gè)作用編碼,資費(fèi)樹的方法會(huì)根據(jù)作用類型,到相應(yīng)的作用表中查找此作用編碼的明細(xì),找到具體的作用對(duì)象,調(diào)用此作用對(duì)象中的方法,執(zhí)行這個(gè)作用;對(duì)一顆資費(fèi)樹,先訪問根節(jié)點(diǎn),根據(jù)根節(jié)點(diǎn)動(dòng)作類型,調(diào)用動(dòng)作對(duì)象的執(zhí)行方法,來執(zhí)行“節(jié)點(diǎn)動(dòng)作標(biāo)識(shí)”所指向的動(dòng)作對(duì)象的動(dòng)作;再訪問根節(jié)點(diǎn)的子節(jié)點(diǎn);訪問子節(jié)點(diǎn)時(shí),在資費(fèi)樹定義表中,查找父節(jié)點(diǎn)標(biāo)志等于當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)志的節(jié)點(diǎn),這些節(jié)點(diǎn)就是當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn);如果子節(jié)點(diǎn)下還有子節(jié)點(diǎn),則繼續(xù)訪問此子節(jié)點(diǎn)的子節(jié)點(diǎn),直至沒有子節(jié)點(diǎn)為止;訪問完子節(jié)點(diǎn),然后按優(yōu)先級(jí)依次訪問根節(jié)點(diǎn)的“兄弟節(jié)點(diǎn)”。從“根節(jié)點(diǎn)”開始,遍歷到整個(gè)“資費(fèi)樹”上的所有節(jié)點(diǎn);資費(fèi)樹的遍歷,用到了第歸算法1)從根節(jié)點(diǎn)開始;2)執(zhí)行當(dāng)前節(jié)點(diǎn)的動(dòng)作;3)執(zhí)行前節(jié)點(diǎn)子節(jié)點(diǎn)(第歸遍歷);4)令當(dāng)前節(jié)點(diǎn)的兄弟節(jié)點(diǎn)成為當(dāng)前節(jié)點(diǎn);5)執(zhí)行步驟2)直至當(dāng)前節(jié)點(diǎn)沒有兄弟節(jié)點(diǎn);(3)資費(fèi)實(shí)例化參數(shù)表設(shè)置一個(gè)資費(fèi)實(shí)例化參數(shù)表的配置的步驟分為兩步1)選定資費(fèi)模板需要從“資費(fèi)構(gòu)成表”中選擇一個(gè)合適的費(fèi)模板標(biāo)識(shí);2)對(duì)資費(fèi)模板的參數(shù)實(shí)例化在確定資費(fèi)模板時(shí),首先需要確定哪些作用值可能會(huì)變化;這些作用值配置時(shí),其值被初始化為“?參數(shù)編碼”;“?”是參數(shù)需要被實(shí)例化的標(biāo)志;資費(fèi)模板的參數(shù)實(shí)例化的過程是在資費(fèi)樹遍歷過程中動(dòng)態(tài)完成的;當(dāng)資費(fèi)樹遍歷方法發(fā)現(xiàn)作用值的第一個(gè)字符是“?”,就認(rèn)為此作用值是需要被實(shí)例化,然后取出“?”后面的“參數(shù)編碼”,到“資費(fèi)實(shí)例化參數(shù)表”中查找此參數(shù)的具體值,查到的值就是需要被替換的作用值;“資費(fèi)實(shí)例化參數(shù)表”有四個(gè)字段資費(fèi)標(biāo)識(shí),資費(fèi)模板標(biāo)識(shí),參數(shù)標(biāo)識(shí),作用值;資費(fèi)標(biāo)識(shí)用來標(biāo)識(shí)一個(gè)真正的現(xiàn)實(shí)中的一個(gè)資費(fèi);從“資費(fèi)實(shí)例化參數(shù)表”查找作用值需要資費(fèi)標(biāo)識(shí),資費(fèi)模板標(biāo)識(shí),參數(shù)標(biāo)識(shí)三個(gè)值;得到資費(fèi)標(biāo)識(shí)后,需要確定此資費(fèi)采用的資費(fèi)模板,根據(jù)資費(fèi)標(biāo)識(shí)查找“資費(fèi)實(shí)例化參數(shù)表”可得到此資費(fèi)選用的模板;在遍歷資費(fèi)模板時(shí),動(dòng)態(tài)的得到需要實(shí)例化參數(shù)編碼,然后到“資費(fèi)實(shí)例化參數(shù)表”根據(jù)資費(fèi)標(biāo)識(shí),資費(fèi)模板標(biāo)識(shí),參數(shù)標(biāo)識(shí)三個(gè)值,查找到真正的作用值,完成資費(fèi)實(shí)例化的過程。
全文摘要
計(jì)費(fèi)帳務(wù)引擎中資費(fèi)模板樹設(shè)置方法(1)設(shè)置資費(fèi)構(gòu)成表,通過樹狀結(jié)構(gòu)來描述資費(fèi),每個(gè)資費(fèi)都被定義為一顆“資費(fèi)樹”;資費(fèi)中的每一條資費(fèi)規(guī)則稱之為資費(fèi)樹上的一個(gè)節(jié)點(diǎn);(2)設(shè)置節(jié)點(diǎn)動(dòng)作表,資費(fèi)構(gòu)成表定義了資費(fèi)由哪些“動(dòng)作”構(gòu)成,以及這些“動(dòng)作”之間的執(zhí)行順序。資費(fèi)構(gòu)成表中涉及的具體“動(dòng)作”則定義在節(jié)點(diǎn)動(dòng)作表中;(3)資費(fèi)實(shí)例化參數(shù)表設(shè)置選定資費(fèi)模板需要從“資費(fèi)構(gòu)成表”中選擇一個(gè)合適的費(fèi)模板標(biāo)識(shí);對(duì)資費(fèi)模板的參數(shù)實(shí)例化在確定資費(fèi)模板時(shí),首先需要確定哪些作用值可能會(huì)變化;資費(fèi)模板的參數(shù)實(shí)例化的過程是在資費(fèi)樹遍歷過程中動(dòng)態(tài)完成的。
文檔編號(hào)G06F17/30GK101650723SQ20091003496
公開日2010年2月17日 申請(qǐng)日期2009年9月16日 優(yōu)先權(quán)日2009年9月16日
發(fā)明者張家榮, 張曉樂, 張有根, 華 李, 斌 梁, 趙廣成 申請(qǐng)人:南京聯(lián)創(chuàng)科技集團(tuán)股份有限公司