進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法
【專利摘要】本發(fā)明公開了一種進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法,組織邏輯判定條件;將邏輯判定條件分割為最小且不可分割的邏輯單元;將最小且不可分割的邏輯單元編寫成最小自治單元;配置最小自治單元的排列順序及組合關(guān)系構(gòu)成配置文件;解析配置文件,加載最小自治單元,按照配置文件制定的排列組合關(guān)系運算加載的最小自治單元,最終得出結(jié)論。本發(fā)明能夠靈活自由的組織判定順序。該過程不需要對程序代碼做修改,只需要通過調(diào)整約束邏輯判斷鏈條的配置文件即可滿足業(yè)務(wù)邏輯的變更需求。
【專利說明】進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法
【技術(shù)領(lǐng)域】
[0001]本技術(shù)屬于軟件算法及邏輯處理領(lǐng)域,尤其是針對計算機程序執(zhí)行過程中復(fù)雜條件下,多層級、多步驟的邏輯判定過程。
【背景技術(shù)】
[0002]在軟件開發(fā)活動中,程序員需要根據(jù)具體業(yè)務(wù)頻繁的處理邏輯判斷工作,以保證計算機程序在一個可控的、嚴格的執(zhí)行流程中運行。這個執(zhí)行流程受控于輸入條件、判定依據(jù),其中往往包含了多層級、多步驟的判定,通過一系列邏輯運算,綜合各種條件,得出最終判定結(jié)果,指導(dǎo)計算機程序后續(xù)的執(zhí)行計劃。因此,在實際的工作中,計算機程序中的邏輯判斷表現(xiàn)出復(fù)雜性、多層次多步驟性。雖然計算機程序中的邏輯判定是明確的、有序的,然而實際業(yè)務(wù)工作的判定機制和流程往往會根據(jù)需要發(fā)生極大的變化。業(yè)務(wù)工作邏輯的變化,必然導(dǎo)致軟件設(shè)計中的邏輯判定流程也隨之進行相應(yīng)的修改。在實際應(yīng)用中,我們通過該機制來解決游戲盜號行為判定邏輯的不穩(wěn)定性。通過分析游戲中玩家賬號被盜的現(xiàn)象,我們發(fā)現(xiàn)存在盜號可能性時的數(shù)據(jù)特征是明確、具體并且有限的,但是具體到盜號行為是否真正發(fā)生時,則需要對這些特征數(shù)據(jù)進行具體的分析,涉及到對這些特征數(shù)據(jù)按照一定的順序,排列判定次序,然后進行多重組合,才能最后綜合分析出判定結(jié)論。業(yè)務(wù)工作中的這種判定順序、判定組合往往會由于游戲策略的調(diào)整、游戲周邊活動的發(fā)布等發(fā)生改變,如果每次改變,我們都從代碼層面進行修改,然后再做測試、再部署上線,會花費大量的時間,難以滿足實際工作的需要。盜號行為的判定由幾個基礎(chǔ)判定組成,分別是問題時間判定、角色等級判定、交易物品分析判定、金幣變化判定、金幣流散判定、客戶端信息判定等多個子過程。具體到盜號行為判定時,我們可能根據(jù)具體的情況用到全部的或者其中一部分子過程,配合游戲活動的進行,甚至這些子過程判斷的先后順序也可能發(fā)生變化。在程序開發(fā)的過程中,不可能先枚舉出這些子過程所有的排列組合方式,將各個排列組合方式封裝成不同的程序邏輯。原因在于這種處理方式弊端非常大,首先其中可能某些排列組合次序只存在于理論上,在實際工作中永遠不可能用到;其次,窮舉所有子邏輯過程的排列組合方式會造成測試活動的極度冗余,且時間成本驟升;再次,當(dāng)有新的子判斷過程增加進來的時候,會造成所有判斷邏輯進行修改,帶來極大的維護工作量,后期維護時間和維護難度會呈現(xiàn)指數(shù)級的增長。
【發(fā)明內(nèi)容】
[0003]本發(fā)明是解決上述問題,提供一種將具體業(yè)務(wù)抽象成多個最小邏輯判定單元,然后靈活自由的組織判定順序。該過程不需要對程序代碼做修改,只需要通過調(diào)整約束邏輯判斷鏈條的配置文件即可滿足業(yè)務(wù)邏輯的變更需求。
[0004]本發(fā)明的進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法,包括如下步驟:
[0005]第一步、組織邏輯判定條件;
[0006]第二步、將邏輯判定條件分割為最小且不可分割的邏輯單元;[0007]第三步、將最小且不可分割的邏輯單元編寫成最小自治單元;
[0008]第四步、配置最小自治單元的排列順序及組合關(guān)系構(gòu)成配置文件;
[0009]第五步、解析配置文件,加載最小自治單元,按照配置文件制定的排列組合關(guān)系運算加載的最小自治單元,最終得出結(jié)論。
[0010]所述的邏輯板判定條件根據(jù)具體的業(yè)務(wù)場景而變化。
[0011]所述的最小且不可分割的邏輯單元必須滿足排列組合后能夠滿足業(yè)務(wù)整體邏輯判定的需求。
[0012]所述的最小自治單元包括一個軟件執(zhí)行期的唯一標(biāo)識、一個抽象邏輯判斷函數(shù)和一個結(jié)果觸發(fā)函數(shù)。
[0013]所述的軟件執(zhí)行期的唯一標(biāo)識為一個邏輯標(biāo)識和一個入口參數(shù)存放地址。
[0014]所述抽象邏輯判斷函數(shù)為具體實現(xiàn)方法。
[0015]所述結(jié)果觸發(fā)函數(shù)為會自動調(diào)用本類的抽象邏輯判斷函數(shù),并決定觸發(fā)后續(xù)邏輯運算單元的標(biāo)識,并返回指向后續(xù)邏輯運算單元的指針或函數(shù)入口地址的函數(shù)。
[0016]所述的配置文件中的排列順序及組合關(guān)系為鏈?zhǔn)健?br>
[0017]本發(fā)明的有益效果:本發(fā)明的方法能夠靈活自由的組織判定順序;該過程不需要對程序代碼做修改,只需要通過調(diào)整約束邏輯判斷鏈條的配置文件即可滿足業(yè)務(wù)邏輯的變更需求。
【具體實施方式】
[0018]下面結(jié)合具體的實施例對本發(fā)明作進一步的闡述。
[0019]本發(fā)明的進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法,包括如下步驟:第一步、組織邏輯判定條件;第二步、將邏輯判定條件分割為最小且不可分割的邏輯單元;第三步、將最小且不可分割的邏輯單元編寫成最小自治單元;第四步、配置最小自治單元的排列順序及組合關(guān)系構(gòu)成配置文件;第五步、解析配置文件,加載最小自治單元,按照配置文件制定的排列組合關(guān)系運算加載的最小自治單元,最終得出結(jié)論。
[0020]所述的邏輯板判定條件根據(jù)具體的業(yè)務(wù)場景而變化。所述的最小且不可分割的邏輯單元必須滿足排列組合后能夠滿足業(yè)務(wù)整體邏輯判定的需求。所述的最小自治單元包括一個軟件執(zhí)行期的唯一標(biāo)識、一個抽象邏輯判斷函數(shù)和一個結(jié)果觸發(fā)函數(shù)。所述的軟件執(zhí)行期的唯一標(biāo)識為一個邏輯標(biāo)識和一個入口參數(shù)存放地址。
[0021]所述抽象邏輯判斷函數(shù)為具體實現(xiàn)方法。
[0022]所述結(jié)果觸發(fā)函數(shù)為會自動調(diào)用本類的抽象邏輯判斷函數(shù),并決定觸發(fā)后續(xù)邏輯運算單元的標(biāo)識,并返回指向后續(xù)邏輯運算單元的指針或函數(shù)入口地址的函數(shù)。所述的配置文件中的排列順序及組合關(guān)系為鏈?zhǔn)健?br>
[0023]下面就以盜號行為判定作為例子加以說明,盜號行為的判定由幾個基礎(chǔ)判定組成,分別是問題時間判定、角色等級判定、交易物品分析判定、金幣變化判定、金幣流散判定、客戶端信息判定等多個子過程。將盜號判定的幾個基礎(chǔ)判定按照前述的原則,封裝成最小邏輯代碼單元,使之成為一個自治代碼塊,包括了本身的邏輯判斷,進入原則、后續(xù)觸發(fā)三個部分。每個自治代碼塊具有唯一標(biāo)識,當(dāng)有新增的基礎(chǔ)判定需要加入時,我們只需要針對新的基礎(chǔ)判斷單獨封裝代碼,并分配唯一標(biāo)識即可。[0024]代碼層面的最小自治邏輯單元拆分并封裝結(jié)束后,對整體的邏輯判定流程控制鏈進行配置,具體方式是通過xml、in1、數(shù)據(jù)庫等配置手段通過設(shè)置自治代碼單元的唯一標(biāo)識,向程序主邏輯指明整體邏輯判斷中每個子步驟的標(biāo)簽,即每一步判斷需要執(zhí)行哪個自治代碼單元,或者是哪幾個自治代碼單元的邏輯組合結(jié)果。在此之上,邏輯判斷鏈可以是遞歸嵌套的,由此可以支持任意結(jié)構(gòu)的邏輯判斷活動。整個邏輯判斷鏈條最后返回一個最終判定結(jié)論,并作為總體業(yè)務(wù)邏輯判定的結(jié)果供軟件系統(tǒng)使用。當(dāng)通過上述的邏輯判斷鏈條最后返回一個確認盜號的判定結(jié)論時,相應(yīng)的封堵程序就會啟動。當(dāng)盜號邏輯發(fā)生變化時,我們需要修改的只是配置文件,當(dāng)新的判定項加入時,我們只需要對新的判定內(nèi)容做業(yè)務(wù)拆解,并封裝成最小自治邏輯單元即可。
[0025]本領(lǐng)域的普通技術(shù)人員將會意識到,這里所述的實施例是為了幫助讀者理解本發(fā)明的原理,應(yīng)被理解為本發(fā)明的保護范圍并不局限于這樣的特別陳述和實施例。本領(lǐng)域的普通技術(shù)人員可以根據(jù)本發(fā)明公開的這些技術(shù)啟示做出各種不脫離本發(fā)明實質(zhì)的其它各種具體變形和組合,這些變形和組合仍然在本發(fā)明的保護范圍內(nèi)。
【權(quán)利要求】
1.一種進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法,其特征在于,包括如下步驟: 第一步、組織邏輯判定條件; 第二步、將邏輯判定條件分割為最小且不可分割的邏輯單元; 第三步、將最小且不可分割的邏輯單元編寫成最小自治單元; 第四步、配置最小自治單元的排列順序及組合關(guān)系構(gòu)成配置文件; 第五步、解析配置文件,加載最小自治單元,按照配置文件制定的排列組合關(guān)系運算加載的最小自治單元,最終得出結(jié)論。
2.如權(quán)利要求1所述的進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法,其特征在于:所述的邏輯板判定條件根據(jù)具體的業(yè)務(wù)場景而變化。
3.如權(quán)利要求1所述的進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法,其特征在于:所述的最小且不可分割的邏輯單元必須滿足排列組合后能夠滿足業(yè)務(wù)整體邏輯判定的需求。
4.如權(quán)利要求1所述的進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法,其特征在于:所述的最小自治單元包括一個軟件執(zhí)行期的唯一標(biāo)識、一個抽象邏輯判斷函數(shù)和一個結(jié)果觸發(fā)函數(shù)。
5.如權(quán)利要求4所述的進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法,其特征在于:所述的軟件執(zhí)行期的唯一標(biāo)識為一個邏輯標(biāo)識和一個入口參數(shù)存放地址。
6.如權(quán)利要求4所述的進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法,其特征在于:所述抽象邏輯判斷函數(shù)為具體實現(xiàn)方法。
7.如權(quán)利要求4所述的進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法,其特征在于:所述結(jié)果觸發(fā)函數(shù)為會自動調(diào)用本類的抽象邏輯判斷函數(shù),并決定觸發(fā)后續(xù)邏輯運算單元的標(biāo)識,并返回指向后續(xù)邏輯運算單元的指針或函數(shù)入口地址的函數(shù)。
8.如權(quán)利要求1所述的進行邏輯流程控制的鏈?zhǔn)綘顟B(tài)轉(zhuǎn)換方法,其特征在于:所述的配置文件中的排列順序及組合關(guān)系為鏈?zhǔn)健?br>
【文檔編號】G06F9/44GK103870285SQ201410131187
【公開日】2014年6月18日 申請日期:2014年4月2日 優(yōu)先權(quán)日:2014年4月2日
【發(fā)明者】蔡淼 申請人:成都西山居互動娛樂科技有限公司