本發(fā)明涉及計算機
技術(shù)領(lǐng)域:
,尤其涉及一種應(yīng)用軟件的業(yè)務(wù)邏輯配置方法及配置系統(tǒng)。
背景技術(shù):
:隨著軟件技術(shù)的不斷發(fā)展,在計算機行業(yè)誕生了很多為適應(yīng)各行業(yè)發(fā)展而出現(xiàn)的計算機語言(如java,.net等)及相應(yīng)的技術(shù)框架(如javaEE系列),使用這些語言技術(shù)可以極大的提高業(yè)務(wù)軟件開發(fā)效率?,F(xiàn)有技術(shù)中,為了軟件系統(tǒng)的維護和開發(fā)方便,通常將整個業(yè)務(wù)軟件分為表示層,業(yè)務(wù)邏輯層以及數(shù)據(jù)訪問層的三層結(jié)構(gòu),業(yè)務(wù)邏輯層在兩層之間,作為連接表示層和數(shù)據(jù)訪問層的橋梁,具有非常重要的作用。在應(yīng)用這些技術(shù)進行軟件開發(fā)的過程中,仍然需要大量的開發(fā)人員參與開發(fā),需要編寫大量的代碼,系統(tǒng)開發(fā)存在一定復(fù)雜度。另外,不同開發(fā)人員的之間的代碼風(fēng)格很難統(tǒng)一,但業(yè)務(wù)邏輯與代碼強耦合,這樣使得開發(fā)人員必須通過閱讀代碼才能了解其他人員編寫的業(yè)務(wù)邏輯,對于系統(tǒng)維護造成了不便。而且,在業(yè)務(wù)邏輯發(fā)生變化后,修改的代碼需重新編譯,重新編譯后的代碼替換到服務(wù)器上需重啟服務(wù)器,不能實現(xiàn)熱部署。技術(shù)實現(xiàn)要素:本發(fā)明實施例提供了一種應(yīng)用軟件的業(yè)務(wù)邏輯配置方法及配置系統(tǒng),用于通過業(yè)務(wù)邏輯配置信息調(diào)用配置好的圖形化組件,從而得到應(yīng)用功能的業(yè)務(wù)邏輯,簡化了應(yīng)用軟件開發(fā)的復(fù)雜度,提高了應(yīng)用軟件的開發(fā)效率。本發(fā)明實施例的第一方面提供了一種應(yīng)用軟件的業(yè)務(wù)邏輯配置方法,包括:獲取應(yīng)用功能編輯指令,所述應(yīng)用功能編址指令用于實現(xiàn)所述應(yīng)用軟件的應(yīng)用功能;根據(jù)所述應(yīng)用功能編輯指令獲取業(yè)務(wù)邏輯配置信息;根據(jù)所述業(yè)務(wù)邏輯配置信息調(diào)用圖形化組件,得到所述應(yīng)用功能的業(yè)務(wù)邏輯,所述圖形化組件為預(yù)先封裝的程序代碼。相應(yīng)地,所述圖形化組件包括:起始節(jié)點、終止節(jié)點、判定節(jié)點以及操作節(jié)點;其中,所述起始節(jié)點用于標記業(yè)務(wù)邏輯起點,所述判定節(jié)點用于判定輸入數(shù)據(jù)是否滿足預(yù)設(shè)判定設(shè)置,所述操作節(jié)點用于執(zhí)行預(yù)定動作,所述終止節(jié)點用于標記業(yè)務(wù)邏輯終點。相應(yīng)地,所述根據(jù)所述業(yè)務(wù)邏輯配置信息調(diào)用圖形化組件,得到所述應(yīng)用功能的業(yè)務(wù)邏輯,包括:根據(jù)所述業(yè)務(wù)邏輯配置信息,確定起始節(jié)點及與所述起始節(jié)點聯(lián)結(jié)的第一節(jié)點;判斷所述第一節(jié)點的節(jié)點類型;若所述第一節(jié)點為操作節(jié)點,則執(zhí)行預(yù)定動作,得到操作結(jié)果;若所述第一節(jié)點為判定節(jié)點,則接收第一節(jié)點的輸入數(shù)據(jù),判斷所述輸入數(shù)據(jù)是否滿足預(yù)設(shè)判定設(shè)置;若滿足所述預(yù)設(shè)判定設(shè)置,則判斷與所述第一節(jié)點聯(lián)結(jié)的第二節(jié)點的節(jié)點類型;若不滿足所述預(yù)設(shè)判定設(shè)置,則生成異常信息;若所述第一節(jié)點為終止節(jié)點,則根據(jù)所述終止節(jié)點之前的所述操作節(jié)點的所述操作結(jié)果,得到所述應(yīng)用功能的業(yè)務(wù)邏輯。相應(yīng)地,所述預(yù)設(shè)判定設(shè)置為兩個以上,所述接收第一節(jié)點的輸入數(shù)據(jù),判斷所述輸入數(shù)據(jù)是否滿足預(yù)設(shè)判定設(shè)置,包括:將所述預(yù)設(shè)判定設(shè)置為樹形結(jié)構(gòu),所述樹形結(jié)構(gòu)包括至少一個葉子節(jié)點和至少一個非葉子節(jié)點,所述樹形結(jié)構(gòu)中的每一個葉子節(jié)點與一個預(yù)設(shè)判定設(shè)置相對應(yīng);接收第一節(jié)點的輸入數(shù)據(jù);根據(jù)所述輸入數(shù)據(jù)選擇對應(yīng)的預(yù)設(shè)判定設(shè)置,將所述輸入數(shù)據(jù)輸入對應(yīng)的葉子節(jié)點,得到判斷結(jié)果;將所述判斷結(jié)果輸入與所述葉子節(jié)點聯(lián)結(jié)的非葉子節(jié)點,得到執(zhí)行結(jié)果;根據(jù)所有的執(zhí)行結(jié)果判斷所述輸入數(shù)據(jù)是否滿足全部的預(yù)設(shè)判定設(shè)置。相應(yīng)地,所述方法還包括:接收應(yīng)用功能的功能標識,及所述應(yīng)用功能的業(yè)務(wù)邏輯的業(yè)務(wù)邏輯配置信息;將所述應(yīng)用功能的所述功能標識和所述業(yè)務(wù)邏輯配置信息,配對保存至業(yè)務(wù)邏輯配置信息庫中。相應(yīng)地,所述方法還包括:通過至少一個圖形中的第一圖形表示起始節(jié)點,通過至少一個圖形中的第二圖形表示終止節(jié)點,通過至少一個圖形中的第三圖形表示判定節(jié)點,通過至少一個圖形中的第四圖形表示操作節(jié)點;將所述第一圖形、所述第二圖形、所述第三圖形及所述第四圖形向用戶展示。本發(fā)明實施例第二方面提供了一種應(yīng)用軟件的業(yè)務(wù)邏輯配置系統(tǒng),包括:指令獲取模塊,用于獲取應(yīng)用功能編輯指令,所述應(yīng)用功能編址指令用于實現(xiàn)所述應(yīng)用軟件的應(yīng)用功能;業(yè)務(wù)邏輯信息獲取模塊,用于根據(jù)所述應(yīng)用功能編輯指令獲取業(yè)務(wù)邏輯配置信息;業(yè)務(wù)邏輯執(zhí)行引擎,用于根據(jù)所述業(yè)務(wù)邏輯配置信息調(diào)用圖形化組件,得到所述應(yīng)用功能的業(yè)務(wù)邏輯,所述圖形化組件為預(yù)先封裝的程序代碼。相應(yīng)地,所述圖形化組件包括:起始節(jié)點、終止節(jié)點、判定節(jié)點以及操作節(jié)點;其中,所述起始節(jié)點用于標記業(yè)務(wù)邏輯起點,所述判定節(jié)點用于判定輸入數(shù)據(jù)是否滿足預(yù)設(shè)判定設(shè)置,所述操作節(jié)點用于執(zhí)行預(yù)定動作,所述終止節(jié)點用于標記業(yè)務(wù)邏輯終點。相應(yīng)地,所述圖形化組件調(diào)用模塊具體用于:根據(jù)所述業(yè)務(wù)邏輯配置信息,確定起始節(jié)點及與所述起始節(jié)點聯(lián)結(jié)的第一節(jié)點;判斷所述第一節(jié)點的節(jié)點類型;若所述第一節(jié)點為操作節(jié)點,則執(zhí)行預(yù)定動作;若所述第一節(jié)點為判定節(jié)點,則接收第一節(jié)點的輸入數(shù)據(jù),判斷所述輸入數(shù)據(jù)是否滿足預(yù)設(shè)判定設(shè)置;若滿足所述預(yù)設(shè)判定設(shè)置,則判斷與所述第一節(jié)點聯(lián)結(jié)的第二節(jié)點的節(jié)點類型;若不滿足所述預(yù)設(shè)判定設(shè)置,則生成異常信息;若所述第一節(jié)點為終止節(jié)點,則根據(jù)所述判定節(jié)點的預(yù)設(shè)判定設(shè)置和所述操作節(jié)點的預(yù)定動作,得到所述圖形化組件的調(diào)用信息。相應(yīng)地,所述預(yù)設(shè)判定設(shè)置為兩個以上,所述圖形化組件調(diào)用模塊還用于:將所述預(yù)設(shè)判定設(shè)置為樹形結(jié)構(gòu),所述樹形結(jié)構(gòu)包括至少一個葉子節(jié)點和至少一個非葉子節(jié)點,所述樹形結(jié)構(gòu)中的每一個葉子節(jié)點與一個預(yù)設(shè)判定設(shè)置相對應(yīng);接收第一節(jié)點的輸入數(shù)據(jù);根據(jù)所述輸入數(shù)據(jù)選擇對應(yīng)的預(yù)設(shè)判定設(shè)置,將所述輸入數(shù)據(jù)輸入對應(yīng)的葉子節(jié)點,得到判斷結(jié)果;將所述判斷結(jié)果輸入與所述葉子節(jié)點聯(lián)結(jié)的非葉子節(jié)點,得到執(zhí)行結(jié)果;根據(jù)所有的執(zhí)行結(jié)果判斷所述輸入數(shù)據(jù)是否滿足全部的預(yù)設(shè)判定設(shè)置。相應(yīng)地,所述業(yè)務(wù)邏輯配置系統(tǒng)還包括:組件圖形化模塊,具體用于通過至少一個圖形中的第一圖形表示起始節(jié)點,并通過至少一個圖形中的第二圖形表示終止節(jié)點,并通過至少一個圖形中的第三圖形表示判定節(jié)點;并通過至少一個圖形中的第四圖形表示操作節(jié)點;所述組件圖形化模塊,還用于將所述第一圖形、第二圖形、第三圖形以及第四圖形向用戶展示。綜上,本發(fā)明實施例具體以下優(yōu)點:本發(fā)明實施例中,業(yè)務(wù)邏輯配置系統(tǒng)獲取應(yīng)用功能編輯指令,應(yīng)用功能編址指令用于實現(xiàn)應(yīng)用軟件的應(yīng)用功能;根據(jù)應(yīng)用功能編輯指令獲取業(yè)務(wù)邏輯配置信息;根據(jù)業(yè)務(wù)邏輯配置信息調(diào)用圖形化組件,得到圖形化組件的調(diào)用信息,圖形化組件為預(yù)先封裝的程序代碼,圖形化組件的調(diào)用信息用于指示應(yīng)用功能的業(yè)務(wù)邏輯;根據(jù)圖形化組件的調(diào)用信息得到應(yīng)用功能的業(yè)務(wù)邏輯。與現(xiàn)有技術(shù)相比,分離了程序代碼與業(yè)務(wù)邏輯,開發(fā)人員僅需要通過可視化的圖形化組件實現(xiàn)業(yè)務(wù)邏輯的配置,無需額外編寫代碼,減少了開發(fā)人員的工作量,也能夠?qū)崿F(xiàn)熱部署,使得應(yīng)用軟件的開發(fā)效率得到提升。附圖說明圖1為本發(fā)明應(yīng)用軟件的業(yè)務(wù)邏輯配置方法一個實施例的流程圖;圖2為本發(fā)明調(diào)用圖形化組件的的流程圖;圖3為本發(fā)明構(gòu)建圖形化組件的流程圖圖4為本發(fā)明判斷節(jié)點類型的流程圖;圖5為本發(fā)明應(yīng)用軟件的業(yè)務(wù)邏輯配置方法具體的應(yīng)用實例的流程圖;圖6為本發(fā)明應(yīng)用軟件的業(yè)務(wù)邏輯配置系統(tǒng)一個實施例的示意圖;圖7為本發(fā)明應(yīng)用軟件的業(yè)務(wù)邏輯配置系統(tǒng)另一個實施例的示意圖;圖8為本發(fā)明實施例中業(yè)務(wù)邏輯執(zhí)行引擎的原理圖;圖9為本發(fā)明實施例中操作節(jié)點的具體執(zhí)行流程圖;圖10為本發(fā)明實施例中決策條件的具體執(zhí)行流程圖。具體實施方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”和“第四”等(如果存在)是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的實施例能夠以除了在這里圖示或描述的內(nèi)容以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。本發(fā)明所述的應(yīng)用軟件的業(yè)務(wù)邏輯配置方法可以應(yīng)用于各種應(yīng)用開發(fā)類型的業(yè)務(wù)邏輯配置中。業(yè)務(wù)邏輯是三層開發(fā)概念中,位于中間的一層,能夠聯(lián)系上層的表示層和下層的數(shù)據(jù)訪問層。一般的業(yè)務(wù)邏輯的開發(fā)過程中,與程序代碼為強相關(guān),通常需要編寫許多額外的程序代碼。在本發(fā)明的應(yīng)用軟件的業(yè)務(wù)邏輯配置方法,將程序代碼與業(yè)務(wù)邏輯進行分離,并且程序代碼是可視化的圖形化組件形式,通過業(yè)務(wù)邏輯編輯指令調(diào)用圖形化組件可以實現(xiàn)應(yīng)用功能的業(yè)務(wù)邏輯。請參閱圖1,本發(fā)明實施例中應(yīng)用軟件的業(yè)務(wù)邏輯配置方法的一個實施例包括:101、獲取應(yīng)用功能編輯指令;本實施例中,應(yīng)用功能編輯指令是由用戶輸入的,應(yīng)用功能編輯指令用于實現(xiàn)應(yīng)用軟件的應(yīng)用功能,該指令是便于用戶理解的形象化指令而非抽象的機器語言。102、根據(jù)應(yīng)用功能編輯指令獲取業(yè)務(wù)邏輯配置信息;本實施例中,由于應(yīng)用軟件的應(yīng)用功能是已知的,那么該應(yīng)用功能在三層結(jié)構(gòu)中的業(yè)務(wù)邏輯也已經(jīng)知曉,而且在預(yù)先設(shè)置的業(yè)務(wù)邏輯配置信息庫中也配套存儲有應(yīng)用功能和與該應(yīng)用功能對應(yīng)的業(yè)務(wù)邏輯配置信息,根據(jù)應(yīng)用功能編輯指令從業(yè)務(wù)邏輯配置信息庫中提取出業(yè)務(wù)邏輯配置信息。103、根據(jù)業(yè)務(wù)邏輯配置信息調(diào)用圖形化組件,得到應(yīng)用功能的業(yè)務(wù)邏輯。本實施例中,圖形化組件為預(yù)先封裝的程序代碼??梢圆捎妙A(yù)先封裝或者其它合適的方式,執(zhí)行一個業(yè)務(wù)邏輯的需要執(zhí)行不同的程序代碼,因此,在確定業(yè)務(wù)邏輯配置信息后,從預(yù)先設(shè)置的多個圖形化組件中調(diào)用實現(xiàn)應(yīng)用功能所需要的圖形化組件,從而得到應(yīng)用功能的業(yè)務(wù)邏輯,而在調(diào)用圖形化組件的過程中記錄圖形化組件的調(diào)用信息,例如先調(diào)用第一圖形化組件執(zhí)行該組件中的程序代碼,再調(diào)用第二圖形化組件執(zhí)行該組件中的程序代碼,經(jīng)過一連串的圖形化組件的調(diào)用,可以得到應(yīng)用功能的業(yè)務(wù)邏輯,調(diào)用過程中各圖形化組件的邏輯先后順序等特征記錄為圖形化組件的調(diào)用信息。本發(fā)明實施例中,與現(xiàn)有技術(shù)相比,分離了程序代碼與業(yè)務(wù)邏輯,開發(fā)人員僅需要通過可視化的圖形化組件實現(xiàn)業(yè)務(wù)邏輯的配置,無需額外編寫代碼,減少了開發(fā)人員的工作量,也能夠?qū)崿F(xiàn)熱部署,使得應(yīng)用軟件的開發(fā)效率得到提升。可選的,本發(fā)明的一些實施例中,圖形化組件包括:起始節(jié)點、終止節(jié)點、判定節(jié)點以及操作節(jié)點;其中,所述起始節(jié)點用于標記業(yè)務(wù)邏輯起點,所述判定節(jié)點用于判定輸入數(shù)據(jù)是否滿足預(yù)設(shè)判定設(shè)置,所述操作節(jié)點用于執(zhí)行預(yù)定動作,所述終止節(jié)點用于標記業(yè)務(wù)邏輯終點。本發(fā)明實施例中,節(jié)點是用于表示業(yè)務(wù)邏輯中的組成元素。在流程設(shè)計中,通常需要包含有開始,終結(jié),判定以及操作這四種組成元素。開發(fā)人員在使用過程中,可以根據(jù)自己的需要,選擇提供的節(jié)點。判定節(jié)點和執(zhí)行節(jié)點都是具有預(yù)定內(nèi)容的節(jié)點,其具體的內(nèi)容信息既可以是預(yù)先設(shè)定的,也可以是由開發(fā)人員填寫或者進行定期更新,作為其中的控件或者組件使用,能夠完成特定的動作??蛇x的,本發(fā)明的一些實施例中,根據(jù)業(yè)務(wù)邏輯配置信息調(diào)用圖形化組件,得到應(yīng)用功能的業(yè)務(wù)邏輯,包括:根據(jù)業(yè)務(wù)邏輯配置信息,確定起始節(jié)點及與起始節(jié)點聯(lián)結(jié)的第一節(jié)點;判斷第一節(jié)點的節(jié)點類型;若第一節(jié)點為操作節(jié)點,則執(zhí)行預(yù)定動作,得到操作結(jié)果;若第一節(jié)點為判定節(jié)點,則接收第一節(jié)點的輸入數(shù)據(jù),判斷輸入數(shù)據(jù)是否滿足預(yù)設(shè)判定設(shè)置;若滿足預(yù)設(shè)判定設(shè)置,則判斷與第一節(jié)點聯(lián)結(jié)的第二節(jié)點的節(jié)點類型;若不滿足預(yù)設(shè)判定設(shè)置,則生成異常信息;若第一節(jié)點為終止節(jié)點,則根據(jù)終止節(jié)點之前的操作節(jié)點的操作結(jié)果,得到應(yīng)用功能的業(yè)務(wù)邏輯。本發(fā)明實施例中,對于一個完整的業(yè)務(wù)邏輯,至少應(yīng)當(dāng)包括一個起點,終點以及中間的判斷或者動作。該邏輯流程是根據(jù)開發(fā)人員的編輯指令,聯(lián)結(jié)各個節(jié)點形成的一個具有特定內(nèi)在邏輯的流程。這樣采用節(jié)點聯(lián)結(jié)的方式能夠直觀簡單的表示業(yè)務(wù)邏輯。在實際應(yīng)用過程中,該業(yè)務(wù)邏輯可以具有多種不同的屬性信息,其具體的屬性信息可以如下表1所示:表1屬性名屬性類型備注業(yè)務(wù)標識字符型主鍵,唯一標識業(yè)務(wù)名稱字符型業(yè)務(wù)的名稱信息操作類型字符型分為普通操作和循環(huán)操作循環(huán)集合字符型需循環(huán)的集合的變量名循環(huán)因子字符型循環(huán)時集合中的具體元素描述字符型對業(yè)務(wù)的描述信息在開發(fā)人員完成了邏輯流程的編輯以后,對于計算機系統(tǒng)而言,這樣形象的邏輯流程是無法使用的,需要進行進一步的解析和執(zhí)行,才能完成業(yè)務(wù)邏輯的配置。具體的實現(xiàn)方式可以是交由預(yù)設(shè)的,能夠執(zhí)行該業(yè)務(wù)邏輯的引擎來完成(為陳述簡便,以下簡稱為業(yè)務(wù)邏輯執(zhí)行引擎,其可以是軟件模塊,也可以是硬件模塊,或者軟硬件模塊結(jié)合以實現(xiàn)相應(yīng)的功能)。業(yè)務(wù)邏輯執(zhí)行引擎可以根據(jù)輸入的邏輯流程,依據(jù)各個節(jié)點形成的流程,分別將各個節(jié)點的動作或者預(yù)定的判定條件等,與對應(yīng)代碼聯(lián)系,并由計算機系統(tǒng)根據(jù)對應(yīng)的代碼,執(zhí)行邏輯流程中的各個步驟,完成業(yè)務(wù)邏輯的配置。請參閱圖2,圖2為本發(fā)明實施例提供的步驟103的方法流程圖。該步驟具體可以包括:1031、根據(jù)業(yè)務(wù)邏輯配置信息,確定起始節(jié)點及與起始節(jié)點聯(lián)結(jié)的第一節(jié)點;1032、判斷第一節(jié)點的節(jié)點類型,若是操作節(jié)點,則執(zhí)行1033,若是判定節(jié)點,則執(zhí)行1034,若是終止節(jié)點,執(zhí)行1037;1033、執(zhí)行預(yù)定動作,得到操作結(jié)果;1034、接收輸入數(shù)據(jù),判定輸入數(shù)據(jù)是否滿足預(yù)設(shè)判定設(shè)置,若是,則執(zhí)行1035,若否,則執(zhí)行1036;1035、判斷與第一節(jié)點聯(lián)結(jié)的第二節(jié)點的節(jié)點類型;1036、生成異常信息;1037、若第一節(jié)點為終止節(jié)點,則根據(jù)終止節(jié)點之前的操作節(jié)點的操作結(jié)果,得到應(yīng)用功能的業(yè)務(wù)邏輯。在上述編輯邏輯流程的步驟中,各個節(jié)點之間為有向聯(lián)結(jié),亦即每個節(jié)點均有特定的指向目標,指向下一節(jié)點。因此,在解析過程中,需要按照節(jié)點的指向,依次的識別各個節(jié)點。由于具有多種節(jié)點類型,需要對節(jié)點進行識別,在節(jié)點為判定節(jié)點時,則執(zhí)行判定操作,若節(jié)點為操作節(jié)點時,則執(zhí)行對應(yīng)的操作,從而一步步的實現(xiàn)業(yè)務(wù)邏輯的配置。在一般的情況下,邏輯流程內(nèi)均包含有多個不同的節(jié)點,尤其的復(fù)雜的邏輯流程,具有更多的節(jié)點。因此,根據(jù)規(guī)則,需要一次的識別各個節(jié)點,一步步的遍歷整個邏輯流程。其結(jié)束的標志由終止節(jié)點決定,亦即是當(dāng)識別到當(dāng)前節(jié)點為終止節(jié)點時,表示邏輯流程已經(jīng)完畢,可以重新進行下一次的操作。在具體應(yīng)用過程中,判斷節(jié)點和操作節(jié)點也可以具有多種不同的屬性信息。其中,操作節(jié)點的屬性信息可以如表2所示,判斷節(jié)點的屬性信息可以如表3所示。表2表3圖8為本發(fā)明實施例中,該業(yè)務(wù)邏輯執(zhí)行引擎的原理圖。如圖8所示,與上述步驟相對應(yīng)的,首先找到邏輯流程的起點,然后在執(zhí)行判定節(jié)點或操作節(jié)點,并根據(jù)邏輯流程,相互的遞歸調(diào)用直至所有節(jié)點處理完畢,找到最終的終止節(jié)點,結(jié)束業(yè)務(wù)邏輯。當(dāng)然,在一般情況下,還需要對其數(shù)據(jù)類型進行轉(zhuǎn)換(例如將字符型數(shù)據(jù)進行轉(zhuǎn)換),才能夠完成相應(yīng)的操作或者判斷。相對于現(xiàn)有技術(shù),本發(fā)明實施例的業(yè)務(wù)邏輯配置方法具有以下優(yōu)點:通過上述解析方式,在業(yè)務(wù)執(zhí)行引擎的解析下,能夠依次的完成邏輯流程的解析,將各個節(jié)點及其之間的邏輯關(guān)系反映到業(yè)務(wù)邏輯中并完成配置,實現(xiàn)了相互分離的邏輯流程(業(yè)務(wù))和下層代碼之間的聯(lián)系。由于在以上步驟中,僅提供了形象化的節(jié)點作為邏輯流程的構(gòu)成元素。為了完成業(yè)務(wù)邏輯的配置,還需要進一步的提供各個節(jié)點具體的操作信息,或者相關(guān)的數(shù)據(jù)。將該操作信息,相關(guān)的數(shù)據(jù)放置在數(shù)據(jù)庫中的方式,能夠方便數(shù)據(jù)的調(diào)用和配置。業(yè)務(wù)邏輯執(zhí)行引擎可以根據(jù)映射關(guān)系,根據(jù)數(shù)據(jù)庫提供的數(shù)據(jù),完成各個節(jié)點的操作。該數(shù)據(jù)庫可以采用現(xiàn)有任何合適形式的數(shù)據(jù)庫,例如嵌入式數(shù)據(jù)h2,其具備小巧方便而且便于進行備份移植的特點。如上所述,操作節(jié)點與預(yù)定的操作相對應(yīng)。在實際應(yīng)用場景中,該預(yù)定的操作一般為執(zhí)行sql,或在一些特定情況下需要使用java組件。在使用java組件時,執(zhí)行這樣的操作需要首先自定義java組件類,并實現(xiàn)execute方法。而在一般執(zhí)行sql操作時,該業(yè)務(wù)邏輯執(zhí)行引擎可以分析查詢其字段的數(shù)據(jù)類型,并通過參數(shù)類型轉(zhuǎn)換等,將字符型參數(shù)轉(zhuǎn)化為目標的數(shù)據(jù)類型。以下以圖9為本發(fā)明實施例提供的一個操作節(jié)點的具體執(zhí)行流程為例進行闡述。如圖9所示,首先業(yè)務(wù)邏輯執(zhí)行引擎獲取并判斷該操作的類型(A1),若為java組件,則執(zhí)行java組件(A2)。若否,則通過分析sql獲取所需參數(shù)(A3)。查詢sql中使用的庫表的元信息,進行數(shù)據(jù)類型的轉(zhuǎn)換(A4)。然后判斷操作是否為查詢(A5)。若否,執(zhí)行sql組件(A6)。若是,根據(jù)查詢類型進行封裝,加入額外參數(shù)(A7)。然后將封裝結(jié)果放入?yún)?shù)的上下文(A8)。當(dāng)然,操作節(jié)點執(zhí)行完畢后,業(yè)務(wù)邏輯執(zhí)行引擎將繼續(xù)進入下一節(jié)點,根據(jù)節(jié)點類型進行判斷或者操作。可選的,本發(fā)明的一些實施例中,方法還包括:接收應(yīng)用功能的功能標識,及應(yīng)用功能的業(yè)務(wù)邏輯的業(yè)務(wù)邏輯配置信息;將應(yīng)用功能的功能標識和業(yè)務(wù)邏輯配置信息,配對保存至業(yè)務(wù)邏輯配置信息庫中。本發(fā)明實施例中,業(yè)務(wù)邏輯配置信息庫是預(yù)先建立的,應(yīng)用軟件的業(yè)務(wù)邏輯配置系統(tǒng)接收應(yīng)用功能的功能標識,及應(yīng)用功能的業(yè)務(wù)邏輯的業(yè)務(wù)邏輯配置信息,將應(yīng)用功能的功能標識和業(yè)務(wù)邏輯配置信息配對保存至業(yè)務(wù)邏輯配置信息庫中,使得根據(jù)應(yīng)用功能編輯指令就能從業(yè)務(wù)邏輯配置信息庫中得到對應(yīng)的業(yè)務(wù)邏輯配置信息。在本發(fā)明實施例中,請參閱圖3,圖形化組件的生成可以包括如下步驟:301、通過至少一個圖形中的第一圖形表示起始節(jié)點,通過至少一個圖形中的第二圖形表示終止節(jié)點,通過至少一個圖形中的第三圖形表示判定節(jié)點,通過至少一個圖形中的第四圖形表示操作節(jié)點;302、將第一圖形、第二圖形、第三圖形及第四圖形向用戶展示。以不同的圖形來表示不同類型的節(jié)點,從而實現(xiàn)節(jié)點的可視化操作并方便開發(fā)人員的使用。該圖形具體可以是邏輯流程中常用的圖形類型,例如圓角的矩形表示起始或者終止節(jié)點,三角形表示判定節(jié)點,矩形表示操作節(jié)點等。該圖形還可以是顏色與圖形、文字與圖形或者其他不同要素之間組合形成的多種圖形來代表不同的判定節(jié)點或者操作節(jié)點。在實際操作應(yīng)用中,可以采用多種不同的方式實現(xiàn)上述節(jié)點的圖形化展示,例如采用常用的圖形庫jsDraw2DX來實現(xiàn)圖形化操作。相對于現(xiàn)有技術(shù),具有以下優(yōu)點:通過上述節(jié)點的圖形化展示,能夠方便開發(fā)人員使用,直觀的進行編輯,能夠與后端之間進行交互。使用過程中,開發(fā)人員只需要在可視化的圖形界面上設(shè)計需要的執(zhí)行結(jié)點并依次將他們關(guān)聯(lián)起來即可,不需要編寫額外的代碼,因此簡化了業(yè)務(wù)開發(fā)。另外,這樣直觀的編輯方式也可以使不同人員很容易理解彼此設(shè)計實現(xiàn)的業(yè)務(wù)邏輯,有利于開發(fā)人員與需求設(shè)計人員進行高效率的交流。在實際的使用過程中,判定語句需要應(yīng)付許多復(fù)雜的判斷條件,這樣的條件能夠在編寫代碼時,嵌套多個判斷條件來完成。但對于判定節(jié)點而言,其僅能夠執(zhí)行一次判斷,輸出結(jié)果只有“真”(輸入?yún)?shù)符合預(yù)定條件)和“否”(輸入?yún)?shù)不符合預(yù)定條件)兩種,無法很好的滿足復(fù)雜環(huán)境下的判斷。請參閱圖4,判定節(jié)點的具體判定實現(xiàn)如下:401、將預(yù)設(shè)判定設(shè)置為樹形結(jié)構(gòu),樹形結(jié)構(gòu)包括至少一個葉子節(jié)點和至少一個非葉子節(jié)點,樹形結(jié)構(gòu)中的每一個葉子節(jié)點與一個預(yù)設(shè)判定設(shè)置相對應(yīng);樹形結(jié)構(gòu)是一種數(shù)據(jù)元素之間存在著“一對多”關(guān)系的數(shù)據(jù)結(jié)構(gòu),是一類重要的非線性數(shù)據(jù)結(jié)構(gòu)。在樹形結(jié)構(gòu)中,每個數(shù)據(jù)元素均作為一個節(jié)點,與其他數(shù)據(jù)元素之間存在著對應(yīng)的連接關(guān)系。所述預(yù)定條件為單一的判斷條件,用于判斷輸入數(shù)據(jù)是否符合該條件,例如輸入數(shù)據(jù)為奧巴馬時,判斷條件分別可以為男性,國家領(lǐng)導(dǎo)人這樣獨立的兩個,分別與葉子節(jié)點對應(yīng)。葉子節(jié)點是指連接度為1的節(jié)點(亦即只與另一個節(jié)點連接),其位于樹形結(jié)構(gòu)的最低的層次。402、接收輸入數(shù)據(jù);403、根據(jù)輸入數(shù)據(jù)選擇對應(yīng)的預(yù)設(shè)判定設(shè)置,將輸入數(shù)據(jù)輸入對應(yīng)的葉子節(jié)點,得到判斷結(jié)果;404、將判斷結(jié)果輸入與葉子節(jié)點聯(lián)結(jié)的非葉子節(jié)點,得到執(zhí)行結(jié)果;405、根據(jù)的執(zhí)行結(jié)果判斷輸入數(shù)據(jù)是否滿足全部的預(yù)設(shè)判定設(shè)置。在步驟401將復(fù)雜判斷中的多個預(yù)定條件分別作為一個葉子節(jié)點后,可以分別在各個葉子節(jié)點上執(zhí)行判斷操作,輸入“是”或“否”的判斷結(jié)果,進入到下一層次的判斷。對于非葉子節(jié)點而言,其需要執(zhí)行的運算類型為邏輯運算(與、或、非)。孩子節(jié)點為該節(jié)點的子樹的根節(jié)點,亦即與該節(jié)點連接的其他節(jié)點。該判斷結(jié)果與實際運行的邏輯運算和輸入的節(jié)點的判斷結(jié)果相關(guān),例如當(dāng)來自與兩個葉子節(jié)點的輸入的判斷結(jié)果為“是”,“否”時,若執(zhí)行的邏輯運算為“與”時,則該非葉子節(jié)點輸出的判斷結(jié)構(gòu)為“否”。最終,通過重復(fù)執(zhí)行上述多次運算以完成最終的判定操作。判定該輸入數(shù)據(jù)是否滿足預(yù)定條件的最終結(jié)果為樹形結(jié)構(gòu)的根節(jié)點輸出的判斷結(jié)果。在本實施例中,使用了兩種不同的運算方式,首先在葉子節(jié)點上使用一般的邏輯判斷,將復(fù)雜的判斷拆分為多個簡單的一元判斷,輸出對應(yīng)的判斷結(jié)果(以下簡稱為決策條件)。然后,在其上額外的增加邏輯運算(與、或、非)從而支持復(fù)雜判斷(以下簡稱為決策組合)。當(dāng)然,如上所述,每個決策組合下還可以繼續(xù)設(shè)置子決策組合,以進一步滿足復(fù)雜判斷的需求。當(dāng)然,在實際應(yīng)用過程中,該決策條件可以通過beanshell腳本與java進行交互,靈活的為葉子節(jié)點實現(xiàn)判斷結(jié)果的輸出。其具體的決策條件和決策組合可以具有多種不同的屬性信息,該具體的屬性信息分別如下表4和表5所示。其中表4為決策組合的屬性信息,表5為決策條件的屬性信息。表4屬性名屬性類型備注決策組合標識字符型主鍵,唯一標識名稱字符型決策組合的名稱信息組合類型字符型&(與),||(或),!(非)提示字符型當(dāng)條件不符合時的提示信息上級標識字符型所屬上級的標識表5以下以圖10所示的本發(fā)明實施例提供的決策條件的具體執(zhí)行流程為例,進行闡述。如圖10所示,首先需要判斷該預(yù)定條件的類型(B1),若為通用決策,直接從參數(shù)上下文獲取參數(shù)值,并使用該值作為輸出結(jié)果(B2)。若為sql決策,則執(zhí)行sql判定(B3)。然后,分析sql參數(shù)(B4)并執(zhí)行sql(B5)。然后將執(zhí)行sql的結(jié)果放入預(yù)定的變量中(B6),最后使用beanshell動態(tài)判斷變量是否賦予預(yù)定條件,并輸出“是”或“否”的判斷結(jié)果(B7)。相對于現(xiàn)有技術(shù),本發(fā)明實施例的業(yè)務(wù)邏輯配置方法具有以下優(yōu)點:通過設(shè)置決策條件和決策組合兩種不同的運算,并將其組合后,能夠?qū)崿F(xiàn)復(fù)雜條件的判斷,有利于拓展判定節(jié)點的應(yīng)用范圍,也能夠很好的降低在邏輯流程中進行編輯的難度,使得邏輯流程更為簡潔和直觀。為進一步的闡述,圖5為本發(fā)明實施例提供一個具體的應(yīng)用場景。如圖5所示,其具體執(zhí)行流程如下:準備階段:501、設(shè)置各個節(jié)點的圖形化組件,其中,以圓形表示起始和終止節(jié)點,矩形表示操作節(jié)點,菱形表示判定節(jié)點。節(jié)點之間的有向線段表示其之間的指向。502、在業(yè)務(wù)邏輯配置信息庫中配置相關(guān)的業(yè)務(wù)邏輯配置信息,包括操作信息,判斷條件等。503、設(shè)置各個判定節(jié)點的具體判定輸出設(shè)置。例如,在判定輸入數(shù)據(jù)不滿足預(yù)定條件時,提示進入下一步操作或者顯示異常信息(拋向業(yè)務(wù)層)或者終止流程。504、設(shè)置各個判定節(jié)點的具體判定條件。具體如本發(fā)明實施例所述,提供決策條件和決策組合兩種運算方式來實現(xiàn)復(fù)雜條件的判斷。505、設(shè)置操作節(jié)點的操作信息,執(zhí)行對應(yīng)的業(yè)務(wù)動作。例如最常用的執(zhí)行sql或者加入java組件的支持(能夠更靈活的支持業(yè)務(wù))。使用階段:開發(fā)人員根據(jù)實際的業(yè)務(wù)邏輯要求,在界面上直接挑選符合要求的圖形化組件,以有向線段連接編輯形成自己的所需的邏輯流程,并交由業(yè)務(wù)邏輯執(zhí)行引擎完成業(yè)務(wù)邏輯的配置和執(zhí)行。以上對于本發(fā)明實施例的業(yè)務(wù)邏輯配置方法進行了描述。以下對于本發(fā)明實施例的業(yè)務(wù)邏輯配置系統(tǒng)進行描述。請參閱圖6,本發(fā)明實施例的應(yīng)用軟件的業(yè)務(wù)邏輯配置系統(tǒng)包括:指令獲取模塊601,用于獲取應(yīng)用功能編輯指令,應(yīng)用功能編址指令用于實現(xiàn)應(yīng)用軟件的應(yīng)用功能;業(yè)務(wù)邏輯信息獲取模塊602,用于根據(jù)應(yīng)用功能編輯指令獲取業(yè)務(wù)邏輯配置信息;業(yè)務(wù)邏輯執(zhí)行引擎603,用于根據(jù)業(yè)務(wù)邏輯配置信息調(diào)用圖形化組件,得到應(yīng)用功能的業(yè)務(wù)邏輯,圖形化組件為預(yù)先封裝的程序代碼??蛇x地,圖形化組件包括:起始節(jié)點、終止節(jié)點、判定節(jié)點以及操作節(jié)點;其中,起始節(jié)點用于標記業(yè)務(wù)邏輯起點,判定節(jié)點用于判定輸入數(shù)據(jù)是否滿足預(yù)設(shè)判定設(shè)置,操作節(jié)點用于執(zhí)行預(yù)定動作,終止節(jié)點用于標記業(yè)務(wù)邏輯終點??蛇x地,業(yè)務(wù)邏輯執(zhí)行引擎603具體用于:根據(jù)業(yè)務(wù)邏輯配置信息,確定起始節(jié)點及與起始節(jié)點聯(lián)結(jié)的第一節(jié)點;判斷第一節(jié)點的節(jié)點類型;若第一節(jié)點為操作節(jié)點,則執(zhí)行預(yù)定動作,得到操作結(jié)果;若第一節(jié)點為判定節(jié)點,則接收輸入數(shù)據(jù),判斷輸入數(shù)據(jù)是否滿足預(yù)設(shè)判定設(shè)置;若滿足預(yù)設(shè)判定設(shè)置,則判斷與第一節(jié)點聯(lián)結(jié)的第二節(jié)點的節(jié)點類型;若不滿足預(yù)設(shè)判定設(shè)置,則生成異常信息;若第一節(jié)點為終止節(jié)點,根據(jù)終止節(jié)點之前的操作節(jié)點的操作結(jié)果,得到應(yīng)用功能的業(yè)務(wù)邏輯??蛇x地,預(yù)設(shè)判定設(shè)置為兩個以上,業(yè)務(wù)邏輯執(zhí)行引擎603還用于:將預(yù)設(shè)判定設(shè)置為樹形結(jié)構(gòu),樹形結(jié)構(gòu)包括至少一個葉子節(jié)點和至少一個非葉子節(jié)點,樹形結(jié)構(gòu)中的每一個葉子節(jié)點與一個預(yù)設(shè)判定設(shè)置相對應(yīng);接收第一節(jié)點的輸入數(shù)據(jù);根據(jù)輸入數(shù)據(jù)選擇對應(yīng)的預(yù)設(shè)判定設(shè)置,將輸入數(shù)據(jù)輸入對應(yīng)的葉子節(jié)點,得到判斷結(jié)果;將判斷結(jié)果輸入與葉子節(jié)點聯(lián)結(jié)的非葉子節(jié)點,得到執(zhí)行結(jié)果;根據(jù)所有的執(zhí)行結(jié)果判斷輸入數(shù)據(jù)是否滿足全部的預(yù)設(shè)判定設(shè)置。可選地,如圖7所示,本發(fā)明的一些實施例中,業(yè)務(wù)邏輯配置系統(tǒng)還包括:信息庫建立模塊604,用于接收應(yīng)用功能的功能標識,及應(yīng)用功能的業(yè)務(wù)邏輯的業(yè)務(wù)邏輯配置信息;信息庫建立模塊604,還用于將應(yīng)用功能的功能標識和業(yè)務(wù)邏輯配置信息,配對保存至業(yè)務(wù)邏輯配置信息庫中??蛇x地,如圖7所示,本發(fā)明的一些實施例中,業(yè)務(wù)邏輯配置系統(tǒng)還包括:組件圖形化模塊605,具體用于通過至少一個圖形中的第一圖形表示起始節(jié)點,并通過至少一個圖形中的第二圖形表示終止節(jié)點,并通過至少一個圖形中的第三圖形表示判定節(jié)點;并通過至少一個圖形中的第四圖形表示操作節(jié)點;組件圖形化模塊605,還用于將第一圖形、第二圖形、第三圖形以及第四圖形向用戶展示。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM,RandomAccessMemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所述,以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。當(dāng)前第1頁1 2 3