亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于javaclass編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器及系統(tǒng)的制作方法

文檔序號:6332826閱讀:125來源:國知局
專利名稱:一種基于java class編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及應用系統(tǒng)中的規(guī)則控制處理領(lǐng)域,尤其涉及一種基于JAVACLASS編譯 的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器及系統(tǒng)。
背景技術(shù)
在銀行等領(lǐng)域的應用系統(tǒng)中,涉及到大量業(yè)務層面的規(guī)則控制判斷,用以規(guī)范業(yè) 務流程,防范業(yè)務風險。在目前的應用系統(tǒng)中,對于這些業(yè)務層面的規(guī)則控制處理存在兩種 解決方案,一種是通過編寫程序直接將規(guī)則控制落實在程序中,即直接通過硬編碼方式在 程序代碼中實現(xiàn)業(yè)務的規(guī)則控制,這種方式使得規(guī)則控制被固化在程序中,隨著業(yè)務的不 斷發(fā)展,對相應規(guī)則控制的調(diào)整變化需求也日趨明顯,這種方式使得規(guī)則控制的調(diào)整變得 十分困難,每次調(diào)整都需要修改程序、測試、發(fā)布版本等,不能滿足業(yè)務發(fā)展對規(guī)則進行快 速調(diào)整的要求;另一種是將規(guī)則和業(yè)務過程相分離,這種方式可以采用市面已有的規(guī)則引 擎產(chǎn)品或自行開發(fā)規(guī)則處理方法,雖然能夠支持規(guī)則的快速動態(tài)調(diào)整,但這些產(chǎn)品提供的 規(guī)則管理方式復雜,例如都需要與業(yè)務應用系統(tǒng)的業(yè)務對象模型進行綁定包裝,對于規(guī)則 的管理都是基于業(yè)務應用系統(tǒng)的業(yè)務對象模型的,而且往往因為規(guī)則引擎產(chǎn)品自身要求和 業(yè)務應用系統(tǒng)具備條件不匹配,引發(fā)業(yè)務系統(tǒng)結(jié)構(gòu)進行調(diào)整,例如目前許多規(guī)則引擎產(chǎn)品, 對于規(guī)則的管理都是基于業(yè)務系統(tǒng)的對象模型,即要求業(yè)務系統(tǒng)是基于面向?qū)ο蟮拈_發(fā)模 式,這使得一些主要基于面向過程開發(fā)模式的業(yè)務系統(tǒng)應用規(guī)則引擎產(chǎn)品非常困難,需要 進行大量的建模工作,并調(diào)整系統(tǒng)開發(fā)模式,給業(yè)務應用系統(tǒng)的業(yè)務人員和開發(fā)人員帶來 諸多不便,而要結(jié)合自身系統(tǒng)特點,開發(fā)適用自身應用系統(tǒng)的規(guī)則引擎又面臨著,諸如規(guī)則 的解析、規(guī)則的執(zhí)行等各種復雜的技術(shù)難點。

發(fā)明內(nèi)容
本發(fā)明實施例提供一種基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器,包括 編輯請求接收裝置,用于從外部業(yè)務應用系統(tǒng)接收業(yè)務規(guī)則編輯請求;規(guī)則編輯服務裝置, 用于根據(jù)所述的規(guī)則編輯請求向所述業(yè)務應用系統(tǒng)提供對應的規(guī)則編輯服務界面;規(guī)則信 息存儲裝置,用于接收并存儲所述業(yè)務應用系統(tǒng)根據(jù)所述規(guī)則編輯服務界面生成的包括規(guī) 則版本號、規(guī)則文本信息和規(guī)則掛接信息在內(nèi)的業(yè)務規(guī)則信息;執(zhí)行請求接收裝置,用于接 收所述業(yè)務應用系統(tǒng)發(fā)送的業(yè)務進程對應的規(guī)則執(zhí)行請求;規(guī)則信息獲取裝置,用于根據(jù) 所述的規(guī)則執(zhí)行請求,獲取所述業(yè)務進程對應的業(yè)務規(guī)則信息;CLASS類生成裝置,用于將 所述業(yè)務進程對應的業(yè)務規(guī)則信息中的規(guī)則文本信息編譯為對應的JAVA CLASS文件,并加 載為對應的CLASS類;規(guī)則執(zhí)行裝置,用于根據(jù)所述的CLASS類,生成規(guī)則執(zhí)行結(jié)果并反饋 給所述的業(yè)務應用系統(tǒng)。本發(fā)明實施例還提供一種基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整系統(tǒng),包括業(yè) 務應用系統(tǒng)和業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器,所述業(yè)務應用系統(tǒng)與所述業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器進行信息交互,其中,所述業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器包括編輯請求接收裝置,用于從外 部業(yè)務應用系統(tǒng)接收業(yè)務規(guī)則編輯請求;規(guī)則編輯服務裝置,用于根據(jù)所述的規(guī)則編輯請 求向所述業(yè)務應用系統(tǒng)提供對應的規(guī)則編輯服務界面;規(guī)則信息存儲裝置,用于接收并存 儲所述業(yè)務應用系統(tǒng)根據(jù)所述規(guī)則編輯服務界面生成的包括規(guī)則版本號、規(guī)則文本信息和 規(guī)則掛接信息在內(nèi)的業(yè)務規(guī)則信息;執(zhí)行請求接收裝置,用于接收所述業(yè)務應用系統(tǒng)發(fā)送 的業(yè)務進程對應的規(guī)則執(zhí)行請求;規(guī)則 信息獲取裝置,用于根據(jù)所述的規(guī)則執(zhí)行請求,獲取 所述業(yè)務進程對應的業(yè)務規(guī)則信息;CLASS類生成裝置,用于將所述業(yè)務進程對應的業(yè)務 規(guī)則信息中的規(guī)則文本信息編譯為對應的JAVA CLASS文件,并加載為對應的CLASS類;規(guī) 則執(zhí)行裝置,用于根據(jù)所述的CLASS類,生成規(guī)則執(zhí)行結(jié)果并反饋給所述的業(yè)務應用系統(tǒng)。本發(fā)明實施例的基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器及系統(tǒng),通過將 規(guī)則控制轉(zhuǎn)換成JAVA類代碼,并編譯重載JAVA CLASS類,實現(xiàn)規(guī)則控制的動態(tài)調(diào)整,不需 要將業(yè)務過程的規(guī)則控制直接固化在程序中。本發(fā)明提供的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器,由 于采用JAVA CLASS編譯重載方法,依靠JDK自身的函數(shù)功能即可實現(xiàn)規(guī)則的執(zhí)行和動態(tài)調(diào) 整,所以能夠有效地避免規(guī)則語言解析等規(guī)則處理設(shè)計開發(fā)中的復雜技術(shù)難點。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根 據(jù)這些附圖獲得其他的附圖。圖1本發(fā)明實施例的基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器的結(jié)構(gòu)示 意圖;圖2為圖1所示實施例的規(guī)則信息存儲裝置的結(jié)構(gòu)示意圖;圖3為圖1所示實施例的CLASS類生成裝置的結(jié)構(gòu)示意圖;圖4本發(fā)明基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器的另一個實施例的 結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例的基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整系統(tǒng)的結(jié)構(gòu)示 意圖;圖6為本發(fā)明的基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器進行動態(tài)調(diào)整 的實施例一的方法流程圖;圖7為本發(fā)明的基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器進行動態(tài)調(diào)整 的實施例二的方法流程圖;圖8為本發(fā)明的基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器進行動態(tài)調(diào)整 的實施例三的方法流程圖;圖9為本發(fā)明實施例的CLASS類進行加載的方法流程圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。圖1本發(fā)明實施例的基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器的結(jié)構(gòu)示 意圖,如圖所示,本實施例的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器包括編輯請求接收裝置101,用于從外部業(yè)務應用系統(tǒng)接收業(yè)務規(guī)則編輯請求。其中, 所述的業(yè)務規(guī)則編輯請求包括業(yè)務規(guī)則創(chuàng)建請求或業(yè)務規(guī)則調(diào)整請求。業(yè)務應用系統(tǒng)包含 許多 業(yè)務進程,當運行業(yè)務處理時,需要為業(yè)務進程創(chuàng)建規(guī)則或者調(diào)整業(yè)務進程本身的規(guī) 則。規(guī)則編輯服務裝置102,用于根據(jù)所述的規(guī)則編輯請求向所述業(yè)務應用系統(tǒng)提供 對應的規(guī)則編輯服務界面。規(guī)則本質(zhì)上是if-else的處理,業(yè)務應用系統(tǒng)編輯的規(guī)則可以 包含多層級嵌套式的if-else關(guān)系,因此,規(guī)則編輯服務裝置102向業(yè)務應用系統(tǒng)提供規(guī)則 編輯服務界面,業(yè)務應用系統(tǒng)則在界面中編輯自身業(yè)務過程中所需要的規(guī)則控制,規(guī)則中 可以引用業(yè)務應用系統(tǒng)自身所涉及的各類要素或?qū)傩裕@種引用的方式即可以是基于面 向?qū)ο蠡A(chǔ)上的業(yè)務模型,也可以是基于面向過程基礎(chǔ)上的簡單變量。規(guī)則信息存儲裝置103,用于接收并存儲所述業(yè)務應用系統(tǒng)根據(jù)所述規(guī)則編輯服 務界面生成的包括規(guī)則版本號、規(guī)則文本信息和規(guī)則掛接信息在內(nèi)的業(yè)務規(guī)則信息。在一 個實施例中,參見圖2,為規(guī)則信息存儲裝置103的結(jié)構(gòu)示意圖,規(guī)則信息存儲裝置103中 存儲了規(guī)則的信息,至少包括規(guī)則文本信息單元1031、規(guī)則要素信息單元1032、規(guī)則附屬 信息單元1033、規(guī)則掛接信息單元1034。規(guī)則文本信息單元1031,存儲了規(guī)則控制自身的 信息,包括規(guī)則控制的判斷條件、判斷執(zhí)行的流轉(zhuǎn)分支、各個分支的執(zhí)行操作等,例如貸款 審批要求有如下控制如果申請人年齡+貸款期限大于60,則控制規(guī)則校驗不通過,否則規(guī) 則校驗通過。規(guī)則要素信息單元1032,存儲了規(guī)則文本中涉及到的業(yè)務應用系統(tǒng)中的要素 信息,包括判斷條件和執(zhí)行操作中所涉及的要素,例如借款人年齡,貸款合同金額等等。規(guī) 則附屬信息單元1033,存儲了規(guī)則附屬的信息,包括規(guī)則的維護人員,維護時間,版本號等 等。規(guī)則掛接信息單元1034,存儲了規(guī)則被使用的場景情況,標示了業(yè)務應用系統(tǒng)中某個業(yè) 務場景會觸發(fā)的規(guī)則集合信息。例如上述的申請人年齡+貸款期限必須小于60的規(guī)則控 制,該規(guī)則控制可能在貸款資料錄入時進行控制,也可能在貸款審批時進行控制,也可能在 貸款發(fā)放時進行控制,規(guī)則掛接信息單元1034存儲了規(guī)則控制在業(yè)務過程中哪些環(huán)節(jié)會 被觸發(fā)進行控制。執(zhí)行請求接收裝置104,用于接收所述業(yè)務應用系統(tǒng)發(fā)送的業(yè)務進程對應的規(guī)則 執(zhí)行請求。業(yè)務引用系統(tǒng)運行自身系統(tǒng)所具有的業(yè)務處理過程,當處理過程運行到需要進 行規(guī)則判斷的環(huán)節(jié)時,業(yè)務引用系統(tǒng)請求服務器執(zhí)行當前業(yè)務環(huán)節(jié)所掛接的規(guī)則。規(guī)則信息獲取裝置105,用于根據(jù)所述的規(guī)則執(zhí)行請求,獲取所述業(yè)務進程對應的 業(yè)務規(guī)則信息。根據(jù)規(guī)則請求,查詢規(guī)則掛接信息單元1034中的該業(yè)務環(huán)節(jié)掛接的規(guī)則, 并從規(guī)則附屬信息單元1032中獲取規(guī)則最新版本號,從規(guī)則文本信息單元1031中獲取該 規(guī)則的文本信息。CLASS類生成裝置106,用于將所述業(yè)務進程對應的業(yè)務規(guī)則信息中的規(guī)則文本 信息編譯為對應的JAVA CLASS文件,并加載為對應的CLASS類。在一個實施例中,參見圖 3,為CLASS類生成裝置106的結(jié)構(gòu)示意圖。CLASS類生成裝置106包括規(guī)則信息獲取單元1062,用于獲取所述業(yè)務進程對應的規(guī)則控制的規(guī)則文本信息和規(guī)則要素信息;代碼轉(zhuǎn) 換單元1063,用于將所述的規(guī)則文本信息轉(zhuǎn)換成對應的JAVA類代碼;編譯單元1064,用于 將所述的JAVA類代碼編譯成對應的JAVA CLASS文件;CLASS類加載單元1065,用于利用 JAVA類加載器將所述的JAVA CLASS文件加載為新的CLASS類。規(guī)則執(zhí)行裝置107,用于根據(jù)所述的CLASS類,生成規(guī)則執(zhí)行結(jié)果并反饋給所述的 業(yè)務應用系統(tǒng)。規(guī)則執(zhí)行裝置107使用JAVA反射技術(shù),生成所述CLASS類的實例對象,調(diào) 用所述實例對象中的函數(shù),以實現(xiàn)規(guī)則控制的執(zhí)行判斷,生成規(guī)則執(zhí)行結(jié)果并反饋給所述 業(yè)務應用系統(tǒng)。圖4為本發(fā)明基于JAVA CLASS編譯的 業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器的另一個實施例 的結(jié)構(gòu)示意圖,如圖所示,本實施例的服務器除具有圖1 圖3所示實施例的裝置外,還包 括規(guī)則版本判斷裝置108,用于從所述規(guī)則附屬信息單元中獲取規(guī)則版本號,并與 已加載的規(guī)則版本號進行比對,如果兩者不一致,則通過所述CLASS類生成裝置加載新的 CLASS類。本實施例中,增加了加載新的CLASS類的條件,即如果存在需要更新的規(guī)則版本 時,才執(zhí)行加載CLASS類的步驟。圖5為本發(fā)明實施例的基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整系統(tǒng)的結(jié)構(gòu)示 意圖。如圖所示,業(yè)務數(shù)據(jù)動態(tài)調(diào)整系統(tǒng)包括業(yè)務應用系統(tǒng)10'和基于JAVA CLASS編譯的 業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器10,所述業(yè)務應用系統(tǒng)10'與所述基于JAVA CLASS編譯的業(yè)務 數(shù)據(jù)動態(tài)調(diào)整服務器10進行信息交互,所述業(yè)務應用系統(tǒng)10'包括銀行、保險等領(lǐng)域處理 業(yè)務過程,實現(xiàn)業(yè)務管理的應用系統(tǒng),系統(tǒng)中包括了各自領(lǐng)域中所要求的業(yè)務處理模塊?;?于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器10具有圖4所示實施例的業(yè)務數(shù)據(jù)動態(tài)調(diào) 整服務器的所有特征。實施例一圖6為本發(fā)明的基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器進行動態(tài)調(diào)整 的實施例一的方法流程圖,如圖所示,可動態(tài)調(diào)整的規(guī)則處理方法包括S601,從外部業(yè)務應用系統(tǒng)接收業(yè)務規(guī)則編輯請求;S602,根據(jù)所述的規(guī)則編輯請求向所述業(yè)務應用系統(tǒng)提供對應的規(guī)則編輯服務界 面;S603,接收并存儲所述業(yè)務應用系統(tǒng)根據(jù)所述規(guī)則編輯服務界面生成的包括規(guī)則 版本號、規(guī)則文本信息和規(guī)則掛接信息在內(nèi)的業(yè)務規(guī)則信息;S604,接收所述業(yè)務應用系統(tǒng)發(fā)送的業(yè)務進程對應的規(guī)則執(zhí)行請求;S605,根據(jù)所述的規(guī)則執(zhí)行請求,獲取所述業(yè)務進程對應的業(yè)務規(guī)則信息;S606,從所述規(guī)則附屬信息單元中獲取規(guī)則版本號,并與已加載的規(guī)則版本號進 行比對,如果兩者不一致,則轉(zhuǎn)到步驟S607來加載新的CLASS類。S607,將所述業(yè)務進程對應的業(yè)務規(guī)則信息中的規(guī)則文本信息編譯為對應的JAVA CLASS文件,并加載為對應的新的CLASS類;S608,用于根據(jù)新的CLASS類,生成規(guī)則執(zhí)行結(jié)果并反饋給所述的業(yè)務應用系統(tǒng)。實施例二 圖7為本發(fā)明的基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器進行動態(tài)調(diào)整的實施例二的方法流程圖。步驟S701 業(yè)務應用系統(tǒng)向業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器發(fā)送規(guī)則創(chuàng)建編輯請求。步驟S702 編輯請求接收裝置101接受到請求,調(diào)用規(guī)則編輯服務裝置102,向業(yè) 務應用系統(tǒng)提供規(guī)則編輯服務界面。步驟S703 應用系統(tǒng)通過規(guī)則編輯服務裝置102提供的規(guī)則編輯服務,編輯自身 業(yè)務過程中所需要的規(guī)則控制。規(guī)則控制本質(zhì)上就是if-else的處理,業(yè)務應用系統(tǒng)編輯 的規(guī)則可以包含多層級嵌套式的if-else關(guān)系,并且規(guī)則中可以引用業(yè)務應用系統(tǒng)自身所 涉及的各類要素或?qū)傩?,這種引用的方式既可以是基于面向?qū)ο蠡A(chǔ)上的業(yè)務模型,也可 以是基于面向過程基礎(chǔ)上的簡單變量。在編輯過程中,if-else的嵌套關(guān)系,以及if判斷 條件和else執(zhí)行操作中的語句,都需要符合系統(tǒng)預定的規(guī)則語言規(guī)范。這種規(guī)則語言規(guī)范可以是JAVA語言規(guī)范,也可以是業(yè)務應用系統(tǒng)自己定義的規(guī) 則語言規(guī)范,但所使用的規(guī)則語言規(guī)范必須滿足可轉(zhuǎn)換性,即可以按照某種轉(zhuǎn)換方法實現(xiàn) 將規(guī)則控制語言轉(zhuǎn)換成JAVA語言代碼。對于業(yè)務應用系統(tǒng)自定義規(guī)則語言規(guī)范,可以參考 如下例子(1)對于錄入的規(guī)則語言以XML形式進行封裝,其中規(guī)則本身封裝在標簽<rule> 中,并且需要命名。(2)在規(guī)則中,一個具體的判斷執(zhí)行封裝在標簽<rule_C0nditi0n>中,也需要命名。(3)在每個具體的判斷執(zhí)行中,條件判斷封裝在標簽<if>中,條件符合的執(zhí)行封 裝在標簽<then>中,而條件不符合的執(zhí)行封裝在標簽〈else〉中。(4)<thenXelse>中的內(nèi)容可以是一個動作,也可以是調(diào)用其它的判斷執(zhí)行,一個 動作封裝在標簽〈action〉中,調(diào)用其它的判斷執(zhí)行封裝在標簽〈invoke〉中。其中,對于<if>中的內(nèi)容,必須滿足JAVA語言的布爾表達式規(guī)范,而〈action〉中 的內(nèi)容,必須滿足JAVA語言的執(zhí)行語句規(guī)范。如下是一個滿足上述規(guī)范的具體實例
權(quán)利要求
一種基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器,其特征在于,所述的服務器包括編輯請求接收裝置,用于從外部業(yè)務應用系統(tǒng)接收業(yè)務規(guī)則編輯請求;規(guī)則編輯服務裝置,用于根據(jù)所述的規(guī)則編輯請求向所述業(yè)務應用系統(tǒng)提供對應的規(guī)則編輯服務界面;規(guī)則信息存儲裝置,用于接收并存儲所述業(yè)務應用系統(tǒng)根據(jù)所述規(guī)則編輯服務界面生成的包括規(guī)則版本號、規(guī)則文本信息和規(guī)則掛接信息在內(nèi)的業(yè)務規(guī)則信息;執(zhí)行請求接收裝置,用于接收所述業(yè)務應用系統(tǒng)發(fā)送的業(yè)務進程對應的規(guī)則執(zhí)行請求;規(guī)則信息獲取裝置,用于根據(jù)所述的規(guī)則執(zhí)行請求,獲取所述業(yè)務進程對應的業(yè)務規(guī)則信息;CLASS類生成裝置,用于將所述業(yè)務進程對應的業(yè)務規(guī)則信息中的規(guī)則文本信息編譯為對應的JAVA CLASS文件,并加載為對應的CLASS類;規(guī)則執(zhí)行裝置,用于根據(jù)所述的CLASS類,生成規(guī)則執(zhí)行結(jié)果并反饋給所述的業(yè)務應用系統(tǒng)。
2.如權(quán)利要求1所述的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器,其特征在于,所述編輯請求接收裝 置用于從外部業(yè)務應用系統(tǒng)接收業(yè)務規(guī)則編輯請求,其中,所述的業(yè)務規(guī)則編輯請求包括 業(yè)務規(guī)則創(chuàng)建請求或業(yè)務規(guī)則調(diào)整請求。
3.如權(quán)利要求1所述的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器,其特征在于,所述的規(guī)則信息存儲 裝置包括規(guī)則文本信息單元,用于存儲包括規(guī)則控制的判斷條件、判斷執(zhí)行的流轉(zhuǎn)分支以及各 個分支的執(zhí)行操作在內(nèi)的規(guī)則文本信息;規(guī)則要素信息單元,用于存儲包括規(guī)則判斷條件和執(zhí)行操作中涉及的要素的規(guī)則要素 信息;以及規(guī)則附屬信息單元,用于存儲包括規(guī)則的維護人員、維護時間以及規(guī)則版本號在內(nèi)的 規(guī)則附屬信息;規(guī)則掛接信息單元,用于存儲包括規(guī)則被使用的場景信息在內(nèi)的規(guī)則掛接信息。
4.如權(quán)利要求3所述的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器,其特征在于,所述的規(guī)則信息獲取 裝置用于獲取所述業(yè)務進程對應的業(yè)務規(guī)則信息,包括;根據(jù)所述的規(guī)則執(zhí)行請求,查詢所述規(guī)則掛接信息單元中的規(guī)則掛接信息,并根據(jù)所 述的規(guī)則掛接信息獲取與所述業(yè)務進程對應的包括規(guī)則文本信息、規(guī)則要素信息以及規(guī)則 附屬信息在內(nèi)的業(yè)務規(guī)則信息。
5.如權(quán)利要求4所述的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器,其特征在于,所述的業(yè)務數(shù)據(jù)動態(tài) 調(diào)整服務器進一步包括規(guī)則版本判斷裝置,用于從所述規(guī)則附屬信息單元中獲取規(guī)則版本號,并與已加載的 規(guī)則版本號進行比對,如果兩者不一致,則通過所述CLASS類生成裝置加載新的CLASS類。
6.如權(quán)利要求5所述的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器,其特征在于,所述的CLASS類生成裝 置包括文本信息獲取單元,用于獲取所述業(yè)務進程對應的規(guī)則控制的規(guī)則文本信息和規(guī)則要素信息;代碼轉(zhuǎn)換單元,用于將所述的規(guī)則文本信息轉(zhuǎn)換成對應的JAVA類代碼;編譯單元,用于將所述的JAVA類代碼編譯成對應的JAVA CLASS文件;CLASS類加載單元,用于利用JAVA類加載器將所述的JAVA CLASS文件加載為CLASS類。
7.如權(quán)利要求1所述的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器,其特征在于,所述的規(guī)則執(zhí)行裝置 用于根據(jù)所述的CLASS類,生成規(guī)則執(zhí)行結(jié)果并反饋給所述的業(yè)務應用系統(tǒng),包括使用JAVA反射技術(shù),生成所述CLASS類的實例對象,調(diào)用所述實例對象中的函數(shù),以實 現(xiàn)規(guī)則控制的執(zhí)行判斷,生成規(guī)則執(zhí)行結(jié)果并反饋給所述業(yè)務應用系統(tǒng)。
8.一種基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整系統(tǒng),其特征在于,所述系統(tǒng)包括業(yè) 務應用系統(tǒng)和業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器,所述業(yè)務應用系統(tǒng)與所述業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務 器進行信息交互,其中,所述業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器包括編輯請求接收裝置,用于從所述業(yè)務應用系統(tǒng)接收業(yè)務規(guī)則編輯請求; 規(guī)則編輯服務裝置,用于根據(jù)所述的規(guī)則編輯請求向所述業(yè)務應用系統(tǒng)提供對應的規(guī) 則編輯服務界面;規(guī)則信息存儲裝置,用于接收并存儲所述業(yè)務應用系統(tǒng)根據(jù)所述規(guī)則編輯服務界面生 成的包括規(guī)則版本號、規(guī)則文本信息和規(guī)則掛接信息在內(nèi)的業(yè)務規(guī)則信息;執(zhí)行請求接收裝置,用于接收所述業(yè)務應用系統(tǒng)發(fā)送的業(yè)務進程對應的規(guī)則執(zhí)行請求規(guī)則信息獲取裝置,用于根據(jù)所述的規(guī)則執(zhí)行請求,獲取所述業(yè)務進程對應的業(yè)務規(guī) 則信息;CLASS類生成裝置,用于將所述業(yè)務進程對應的業(yè)務規(guī)則信息中的規(guī)則文本信息編譯 為對應的JAVA CLASS文件,并加載為對應的CLASS類;規(guī)則執(zhí)行裝置,用于根據(jù)所述的CLASS類,生成規(guī)則執(zhí)行結(jié)果并反饋給所述的業(yè)務應 用系統(tǒng)。
9.如權(quán)利要求8所述的業(yè)務數(shù)據(jù)動態(tài)調(diào)整系統(tǒng),其特征在于,所述編輯請求接收裝置 用于從外部業(yè)務應用系統(tǒng)接收業(yè)務規(guī)則編輯請求,其中,所述的業(yè)務規(guī)則編輯請求包括業(yè) 務規(guī)則創(chuàng)建請求或業(yè)務規(guī)則調(diào)整請求。
10.如權(quán)利要求8所述的業(yè)務數(shù)據(jù)動態(tài)調(diào)整系統(tǒng),其特征在于,所述的規(guī)則信息存儲裝 置包括規(guī)則文本信息單元,用于存儲包括規(guī)則控制的判斷條件、判斷執(zhí)行的流轉(zhuǎn)分支以及各 個分支的執(zhí)行操作在內(nèi)的規(guī)則文本信息;規(guī)則要素信息單元,用于存儲包括規(guī)則判斷條件和執(zhí)行操作中涉及的要素的規(guī)則要素 信息;以及規(guī)則附屬信息單元,用于存儲包括規(guī)則的維護人員、維護時間以及規(guī)則版本號在內(nèi)的 規(guī)則附屬信息;規(guī)則掛接信息單元,用于存儲包括規(guī)則被使用的場景信息在內(nèi)的規(guī)則掛接信息。
11.如權(quán)利要求10所述的業(yè)務數(shù)據(jù)動態(tài)調(diào)整系統(tǒng),其特征在于,所述的規(guī)則信息獲取 裝置用于獲取所述業(yè)務進程對應的業(yè)務規(guī)則信息,包括;根據(jù)所述的規(guī)則執(zhí)行請求,查詢所述規(guī)則掛接信息單元中的規(guī)則掛接信息,并根據(jù)所 述的規(guī)則掛接信息獲取與所述業(yè)務進程對應的包括規(guī)則文本信息、規(guī)則要素信息以及規(guī)則 附屬信息在內(nèi)的業(yè)務規(guī)則信息。
12.如權(quán)利要求11所述的業(yè)務數(shù)據(jù)動態(tài)調(diào)整系統(tǒng),其特征在于,所述的業(yè)務數(shù)據(jù)動態(tài) 調(diào)整服務器進一步包括規(guī)則版本判斷裝置,用于從所述規(guī)則附屬信息單元中獲取規(guī)則版本號,并與已加載的 規(guī)則版本號進行比對,如果兩者不一致,則通過所述CLASS類生成裝置加載新的CLASS類。
13.如權(quán)利要求12所述的業(yè)務數(shù)據(jù)動態(tài)調(diào)整系統(tǒng),其特征在于,所述的CLASS類生成裝 置包括文本信息獲取單元,用于獲取所述業(yè)務進程對應的規(guī)則控制的規(guī)則文本信息和規(guī)則要素信息;代碼轉(zhuǎn)換單元,用于將所述的規(guī)則文本信息轉(zhuǎn)換成對應的JAVA類代碼;編譯單元,用于將所述的JAVA類代碼編譯成對應的JAVA CLASS文件;CLASS類加載單元,用于利用JAVA類加載器將所述的JAVA CLASS文件加載為CLASS類。
14.如權(quán)利要求8所述的業(yè)務數(shù)據(jù)動態(tài)調(diào)整系統(tǒng),其特征在于,所述的規(guī)則執(zhí)行裝置用 于根據(jù)所述的CLASS類,生成規(guī)則執(zhí)行結(jié)果并反饋給所述的業(yè)務應用系統(tǒng),包括使用JAVA反射技術(shù),生成所述CLASS類的實例對象,調(diào)用所述實例對象中的函數(shù),以實 現(xiàn)規(guī)則控制的執(zhí)行判斷,生成規(guī)則執(zhí)行結(jié)果并反饋給所述業(yè)務應用系統(tǒng)。
全文摘要
本發(fā)明公開了一種基于JAVA CLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器及系統(tǒng),其中,所述的服務器包括編輯請求接收裝置、規(guī)則編輯服務裝置、規(guī)則信息存儲裝置、執(zhí)行請求接收裝置、規(guī)則信息獲取裝置、CLASS類生成裝置以及規(guī)則執(zhí)行裝置。所述的基于JAVACLASS編譯的業(yè)務數(shù)據(jù)動態(tài)調(diào)整系統(tǒng)包括業(yè)務應用系統(tǒng)與業(yè)務數(shù)據(jù)動態(tài)調(diào)整服務器,兩者進行信息交互。本發(fā)明實施例通過將規(guī)則控制轉(zhuǎn)換成JAVA類代碼,并編譯重載JAVACLASS類,實現(xiàn)規(guī)則控制的動態(tài)調(diào)整,不需要將業(yè)務過程的規(guī)則控制直接固化在程序中。另外,由于采用JAVA CLASS編譯重載方法,依靠JDK自身的函數(shù)功能即可實現(xiàn)規(guī)則的執(zhí)行和動態(tài)調(diào)整,所以能夠有效地避免規(guī)則語言解析等規(guī)則處理設(shè)計開發(fā)中的復雜技術(shù)難點。
文檔編號G06F9/44GK101968740SQ201010294890
公開日2011年2月9日 申請日期2010年9月28日 優(yōu)先權(quán)日2010年9月28日
發(fā)明者嚴波, 葉磊, 林洋, 錢江 申請人:中國工商銀行股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1