欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

業(yè)務(wù)系統(tǒng)、權(quán)限系統(tǒng)和用于業(yè)務(wù)系統(tǒng)的數(shù)據(jù)權(quán)限控制方法

文檔序號(hào):6619208閱讀:378來源:國(guó)知局

專利名稱::業(yè)務(wù)系統(tǒng)、權(quán)限系統(tǒng)和用于業(yè)務(wù)系統(tǒng)的數(shù)據(jù)權(quán)限控制方法
技術(shù)領(lǐng)域
:本發(fā)明涉及權(quán)限控制技術(shù),更具體而言,涉及業(yè)務(wù)系統(tǒng)、權(quán)限系統(tǒng)和用于業(yè)務(wù)系統(tǒng)的數(shù)據(jù)權(quán)限控制方法。
背景技術(shù)
:信息化系統(tǒng)的建設(shè)離不開安全、可靠的權(quán)限控制,而權(quán)限系統(tǒng)中尤其以數(shù)據(jù)權(quán)限部分的實(shí)現(xiàn)最為復(fù)雜。如果要在數(shù)據(jù)權(quán)限層實(shí)現(xiàn)一套通用的權(quán)限控制機(jī)制,支持用戶靈活定制所需要的權(quán)限,完全解放程序開發(fā)人員,使之在編寫代碼時(shí)不必關(guān)注權(quán)限規(guī)則,而將精力集中在業(yè)務(wù)上,專注編寫業(yè)務(wù)邏輯代碼,難度更加之大。這里舉例說明一下權(quán)限控制的業(yè)務(wù)場(chǎng)景就像交通法規(guī)一樣,汽車行駛在公路上,什么時(shí)候可以拐彎,什么地方可以掉頭、并線等等,軟件系統(tǒng)涉及的"交通法規(guī)"更加嚴(yán)謹(jǐn)、復(fù)雜,這個(gè)軟件系統(tǒng)中的"交通法規(guī)"我們稱之為"權(quán)限系統(tǒng)"。交通法規(guī)約束司機(jī),當(dāng)司機(jī)違反交通法規(guī)時(shí)就會(huì)受到相應(yīng)的處罰,甚至發(fā)生交通事故,換言之,司機(jī)可以犯錯(cuò),但犯錯(cuò)將會(huì)付出代價(jià)。軟件系統(tǒng)中的權(quán)限控制相比交通法規(guī)來說要求更高,直接目的是要杜絕錯(cuò)誤的發(fā)生,這就要求,程序代碼中,要有非常嚴(yán)謹(jǐn)?shù)臋?quán)限控制邏輯部分,比如登陸"網(wǎng)上銀行",當(dāng)用戶執(zhí)行一個(gè)轉(zhuǎn)賬操作時(shí),系統(tǒng)要驗(yàn)證轉(zhuǎn)賬賬號(hào)和帳戶名稱是否對(duì)應(yīng)匹配,如果不匹配,則不能轉(zhuǎn)帳,如果匹配,則執(zhí)行轉(zhuǎn)賬(這個(gè)例子把轉(zhuǎn)賬操作簡(jiǎn)化到了只有兩個(gè)步驟,實(shí)際比這要復(fù)雜),這個(gè)例子中轉(zhuǎn)賬對(duì)應(yīng)的程序代碼有兩部分業(yè)務(wù)邏輯,第一部分是驗(yàn)證賬號(hào)和戶名是否匹配,第二部分是轉(zhuǎn)賬,其中第一部分就是權(quán)限控制。上面舉了一個(gè)非常簡(jiǎn)短的例子的片段,實(shí)際上,一個(gè)系統(tǒng)中的各種權(quán)限規(guī)則是非常復(fù)雜的,除掉真正業(yè)務(wù)邏輯部分,程序開發(fā)人員還要編寫大量的權(quán)限控制代碼邏輯才能保證系統(tǒng)的安全與正確。權(quán)限又可以分為這樣幾類功能權(quán)限,服務(wù)權(quán)限,和數(shù)據(jù)權(quán)限。本發(fā)明主要針對(duì)權(quán)限系統(tǒng)中最為復(fù)雜的數(shù)據(jù)權(quán)限。下面就數(shù)據(jù)權(quán)限的范疇,參考圖l做以下介紹軟件系統(tǒng)對(duì)數(shù)據(jù)的訪問與操作,如圖l所示,都是通過UI層在透過業(yè)務(wù)層,最終在數(shù)據(jù)層完成對(duì)數(shù)據(jù)的操作。而對(duì)數(shù)據(jù)的操作權(quán)限的控制,就是數(shù)據(jù)權(quán)限的范疇,還以前面"網(wǎng)上銀行"的例子來說在做轉(zhuǎn)賬操作時(shí),程序員編寫代碼時(shí)要在業(yè)務(wù)層完成對(duì)賬號(hào)和戶名的權(quán)限檢查,如果檢查通過,在請(qǐng)求到數(shù)據(jù)層來做轉(zhuǎn)賬數(shù)據(jù)更新操作。如果是一個(gè)復(fù)雜的業(yè)務(wù)權(quán)限管理控制邏輯,在業(yè)務(wù)層,程序員則要編寫更加復(fù)雜的代碼才能完成權(quán)限管理控制邏輯,并且,真正軟件的使用者,對(duì)同一個(gè)功能點(diǎn)的權(quán)限控制要求可能不同,很難寫出滿足所有用戶要求的權(quán)限控制邏輯,因此程序開發(fā)的復(fù)雜度、代價(jià)都會(huì)非常大。本發(fā)明就是要解決將數(shù)據(jù)權(quán)限從軟件系統(tǒng)中抽象出來,實(shí)現(xiàn)統(tǒng)一的解決方案,讓程序開發(fā)人員在編寫代碼時(shí)將精力集中在業(yè)務(wù)上,不需要關(guān)注權(quán)限控制,只要完成業(yè)務(wù)邏輯就可以,同時(shí)還有靈活的數(shù)據(jù)權(quán)限定義機(jī)制供最終軟件用戶靈活定制所需權(quán)限控制邏輯。仍以"網(wǎng)上銀行"的例子來說,程序開發(fā)人員只需要編寫轉(zhuǎn)賬的具體業(yè)務(wù)邏輯代碼即可,無需關(guān)注權(quán)限管理控制的邏輯,這樣程序開發(fā)的復(fù)雜度、代價(jià)都大大降低,同時(shí),權(quán)限可由用戶靈活的按需定制,就這個(gè)例子來說,不同用戶只要定義在"轉(zhuǎn)賬,,操作時(shí)所需要的權(quán)限規(guī)則即可。目前業(yè)界對(duì)數(shù)據(jù)權(quán)限的控制基本采用兩種思路1.整合組織,角色定制數(shù)據(jù)權(quán)限,將權(quán)限邏輯耦合在應(yīng)用程序邏輯中。這種思路的最大問題就是權(quán)限系統(tǒng)與組織結(jié)構(gòu)因?yàn)轳詈显谝黄?,需要程序開發(fā)人員將相當(dāng)一部分精力投入到權(quán)限控制邏輯中,代碼工作量無形增加,代碼復(fù)雜度加大,維護(hù)代價(jià)增大,所以很難解2.針對(duì)對(duì)象定制權(quán)限。這種思路的最大問題是使用限制比較多,只能支持簡(jiǎn)單的表達(dá)式,多數(shù)不能支持上下文/自定義函數(shù),程序開發(fā)人員仍投入相當(dāng)精力。以上兩種思路都不可避免的在業(yè)務(wù)層增加了程序開發(fā)的工作量,加大了程序開發(fā)的代價(jià),并且權(quán)限控制靈活度低,用戶自定義擴(kuò)展權(quán)限規(guī)則很難。
發(fā)明內(nèi)容為了解決上述技術(shù)問題至少之一,本發(fā)明提供了一種業(yè)務(wù)系統(tǒng),包括用戶界面,用戶通過所述用戶界面輸入指令;業(yè)務(wù)層,根據(jù)所述用戶所輸入的指令實(shí)現(xiàn)相應(yīng)的系統(tǒng)業(yè)務(wù)邏輯;數(shù)據(jù)層,用于根據(jù)所述系統(tǒng)業(yè)務(wù)邏輯實(shí)現(xiàn)數(shù)據(jù)的訪問操作;數(shù)據(jù)庫,用于儲(chǔ)存所述業(yè)務(wù)系統(tǒng)所需要的所述數(shù)據(jù);權(quán)限系統(tǒng),所述權(quán)限系統(tǒng)與所述業(yè)務(wù)層隔離,通過權(quán)限規(guī)則提供對(duì)所述數(shù)據(jù)層的權(quán)限控制。優(yōu)選地,所述權(quán)限系統(tǒng)包括權(quán)限管理裝置和數(shù)據(jù)權(quán)限合并裝置,所述權(quán)限管理裝置用于使用戶定義數(shù)據(jù)權(quán)限,所述數(shù)據(jù)權(quán)限合并裝置連接至所述權(quán)限管理裝置,對(duì)所述用戶通過所述權(quán)限管理裝置定義的數(shù)據(jù)權(quán)限和來自業(yè)務(wù)系統(tǒng)的執(zhí)行程序的語法進(jìn)行合并處理,并將處理結(jié)果返回所述業(yè)務(wù)系統(tǒng),以供編譯執(zhí)4亍。優(yōu)選地,所述權(quán)限管理裝置根據(jù)對(duì)象語法規(guī)則生成符合所述對(duì)象語法規(guī)則的權(quán)限規(guī)則表達(dá)式。優(yōu)選地,所述用戶通過所述用戶界面自定義所述權(quán)限規(guī)則。所述用戶通過所述用戶界面輸入的指令包括錄入單據(jù)、搜索單據(jù)、匯總報(bào)表。當(dāng)所述用戶輸出入的指令超出所述權(quán)限規(guī)則所定義的所述用戶的權(quán)限時(shí),所述權(quán)限系統(tǒng)返回失敗結(jié)果給所述用戶。優(yōu)選地,所述權(quán)限規(guī)則通過抽象語法樹計(jì)算表達(dá)式實(shí)現(xiàn)。本發(fā)明還提供了一種用于業(yè)務(wù)系統(tǒng)的數(shù)據(jù)權(quán)限控制方法,包括以下步驟在用戶執(zhí)行業(yè)務(wù)操作時(shí),所述業(yè)務(wù)系統(tǒng)進(jìn)行業(yè)務(wù)處理;所述業(yè)務(wù)系統(tǒng)對(duì)所述業(yè)務(wù)進(jìn)行語法解析,得到解析結(jié)果;權(quán)限系統(tǒng)將所述解析結(jié)果與所述用戶預(yù)先定義的數(shù)據(jù)權(quán)限進(jìn)行合并處理,生成權(quán)限規(guī)則表達(dá)式;所述業(yè)務(wù)系統(tǒng)編譯執(zhí)行所述權(quán)限規(guī)則表達(dá)式,實(shí)現(xiàn)所述數(shù)據(jù)權(quán)限的控制。優(yōu)選地,所述權(quán)限系統(tǒng)通過抽象語法樹計(jì)算所述權(quán)限規(guī)則表達(dá)式。所述權(quán)限系統(tǒng)與所述業(yè)務(wù)系統(tǒng)分開設(shè)置。本發(fā)明還提供了一種權(quán)限系統(tǒng),用于業(yè)務(wù)系統(tǒng),所述業(yè)務(wù)系統(tǒng)包括用戶界面,用戶通過所述用戶界面輸入指令;業(yè)務(wù)層,根據(jù)所述用戶所輸入的指令實(shí)現(xiàn)相應(yīng)的系統(tǒng)業(yè)務(wù)邏輯;數(shù)據(jù)層,用于根據(jù)所述系統(tǒng)業(yè)務(wù)邏輯實(shí)現(xiàn)數(shù)據(jù)的訪問操作;數(shù)據(jù)庫,用于儲(chǔ)存所述業(yè)務(wù)系統(tǒng)所需要的所述數(shù)據(jù),所述權(quán)限系統(tǒng)與所述業(yè)務(wù)層隔離,通過權(quán)限規(guī)則提供對(duì)所述數(shù)據(jù)層的權(quán)限控制。優(yōu)選地,所述權(quán)限系統(tǒng)包括權(quán)限管理裝置和數(shù)據(jù)權(quán)限合并裝置,所述權(quán)限管理裝置用于使用戶定義數(shù)據(jù)權(quán)限,所述數(shù)據(jù)權(quán)限合并裝置連接至所述權(quán)限管理裝置,對(duì)所述用戶通過所述權(quán)限管理裝置定義的數(shù)據(jù)權(quán)限和來自業(yè)務(wù)系統(tǒng)的執(zhí)行程序的語法進(jìn)行合并處理,并將處理結(jié)果返回所述業(yè)務(wù)系統(tǒng),以供編譯執(zhí)4亍。優(yōu)選地,所述權(quán)限管理裝置根據(jù)對(duì)象語法規(guī)則生成符合所述對(duì)象語法規(guī)則的權(quán)限規(guī)則表達(dá)式。優(yōu)選地,當(dāng)所述用戶輸出入的指令超出所述權(quán)限規(guī)則所定義的所述用戶的權(quán)限時(shí),所述權(quán)限系統(tǒng)返回失敗結(jié)果給所述用戶。優(yōu)選地,所述權(quán)限規(guī)則通過抽象語法樹計(jì)算表達(dá)式實(shí)現(xiàn)。根據(jù)本發(fā)明,不僅實(shí)現(xiàn)了面向業(yè)務(wù)對(duì)象的數(shù)據(jù)層權(quán)限控制,并且處理了業(yè)務(wù)對(duì)象及關(guān)聯(lián)的業(yè)務(wù)對(duì)象的數(shù)據(jù)權(quán)限,保持對(duì)象數(shù)據(jù)的完整性,權(quán)限控制由本發(fā)明的核心部分統(tǒng)一完成,業(yè)務(wù)程序開發(fā)人員從此不必再關(guān)注權(quán)限規(guī)則,程序編寫時(shí)只需要完成具體業(yè)務(wù)邏輯。這樣的結(jié)果是幫助程序開發(fā)人員將精力完全集中在業(yè)務(wù)上,并且使得權(quán)限系統(tǒng)控制與組織結(jié)構(gòu)、業(yè)務(wù)邏輯徹底解藕,大大降低了程序開發(fā)人員的原有工作量。本技術(shù)方案的技術(shù)效果體現(xiàn)為1.降低程序開發(fā)人員的工作量;2.精簡(jiǎn)程序開發(fā)代碼;3.提高代碼可讀性,可維護(hù)性;4.間接降低了軟件開發(fā)的人力成本;5.權(quán)限適配更加靈活,間接減少了二次開發(fā)的人力成本。圖l示出了相關(guān)技術(shù)的業(yè)務(wù)系統(tǒng)的邏輯框圖2示出了根據(jù)本發(fā)明的業(yè)務(wù)系統(tǒng)的邏輯框圖3a示出了相關(guān)技術(shù)中的具體業(yè)務(wù)系統(tǒng)的邏輯框圖3b示出了根據(jù)本發(fā)明的具體業(yè)務(wù)系統(tǒng)的邏輯框圖4示出了根據(jù)本發(fā)明的權(quán)限系統(tǒng)與業(yè)務(wù)系統(tǒng)互動(dòng)時(shí)的工作原理圖5示出了根據(jù)本發(fā)明的權(quán)限系統(tǒng)的工作原理圖6示出了根據(jù)本發(fā)明的業(yè)務(wù)系統(tǒng)中采用的抽象語法樹的原理圖7示出了根據(jù)本發(fā)明的用于業(yè)務(wù)系統(tǒng)的數(shù)據(jù)權(quán)限控制方法的流程圖。具體實(shí)施例方式下面結(jié)合根據(jù)本發(fā)明的具體實(shí)施方式。圖2示出了根據(jù)本發(fā)明的業(yè)務(wù)系統(tǒng)的邏輯框圖。根據(jù)本發(fā)明的業(yè)務(wù)系統(tǒng)200包括用戶界面202,用戶通過所述用戶界面輸入指令;業(yè)務(wù)層204,根據(jù)所述用戶所輸入的指令實(shí)現(xiàn)相應(yīng)的系統(tǒng)業(yè)務(wù)邏輯;數(shù)據(jù)層206,用于根據(jù)所述系統(tǒng)業(yè)務(wù)邏輯實(shí)現(xiàn)數(shù)據(jù)的訪問操作;數(shù)據(jù)庫208,用于儲(chǔ)存所述業(yè)務(wù)系統(tǒng)所需要的所述數(shù)據(jù);權(quán)限系統(tǒng)210,所述權(quán)限系統(tǒng)與所述業(yè)務(wù)層隔離,通過權(quán)限規(guī)則提供對(duì)所述數(shù)據(jù)層的權(quán)限控制。優(yōu)選地,所述權(quán)限系統(tǒng)包括權(quán)限管理裝置2102和數(shù)據(jù)權(quán)限合并裝置2104,如圖4所示,所述權(quán)限管理裝置用于使用戶定義數(shù)據(jù)權(quán)限,所述數(shù)據(jù)權(quán)限合并裝置連接至所述權(quán)限管理裝置,對(duì)所述用戶通過所述權(quán)限管理裝置定義的數(shù)據(jù)權(quán)限和來自業(yè)務(wù)系統(tǒng)的執(zhí)行程序的語法進(jìn)行合并處理,并將處理結(jié)果返回所述業(yè)務(wù)系統(tǒng),以供編譯執(zhí)行。優(yōu)選地,所述權(quán)限管理裝置根據(jù)對(duì)象語法規(guī)則生成符合所述對(duì)象語法規(guī)則的權(quán)限規(guī)則表達(dá)式。優(yōu)選地,所述用戶通過所述用戶界面自定義所述權(quán)限規(guī)則。所述用戶通過所述用戶界面輸入的指令包括錄入單據(jù)、搜索單據(jù)、匯總報(bào)表。當(dāng)所述用戶輸出入的指令超出所述權(quán)限規(guī)則所定義的所述用戶的權(quán)限時(shí),所述權(quán)限系統(tǒng)返回失敗結(jié)果給所述用戶。優(yōu)選地,所述權(quán)限規(guī)則通過抽象語法樹計(jì)算表達(dá)式實(shí)現(xiàn)。針對(duì)目前業(yè)界的解決方案的局限,本發(fā)明立足于程序的語法邏輯,將現(xiàn)有抽象語法樹進(jìn)行改進(jìn),在做程序語法解析時(shí),將程序語法中的業(yè)務(wù)對(duì)象代碼單元進(jìn)行提取,對(duì)其特性進(jìn)行分析,解析權(quán)限對(duì)象單元,并在語法樹中重新進(jìn)行語法計(jì)算,合并出帶有權(quán)限對(duì)象單元的新語法樹,新語法樹再次執(zhí)行解析編譯,形成的新程序代碼片段的執(zhí)行結(jié)果便是程序邏輯加上權(quán)限邏輯的合并執(zhí)行結(jié)果。本發(fā)明基于AST(AbstractSyntaxTree,抽象語法樹)的條件嵌入通用數(shù)據(jù)權(quán)限解決方案,不僅實(shí)現(xiàn)了面向業(yè)務(wù)對(duì)象的數(shù)據(jù)層權(quán)限控制,并且處理了業(yè)務(wù)對(duì)象及關(guān)聯(lián)的業(yè)務(wù)對(duì)象的數(shù)據(jù)權(quán)限,保持對(duì)象數(shù)據(jù)的完整性,權(quán)限控制由本發(fā)明的核心部分統(tǒng)一完成,業(yè)務(wù)程序開發(fā)人員從此不必再關(guān)注權(quán)限規(guī)則,程序編寫時(shí)只需要完成具體業(yè)務(wù)邏輯,權(quán)限控制規(guī)則由用戶自行按需定義。以下列舉一個(gè)稍微復(fù)雜些的業(yè)務(wù)應(yīng)用場(chǎng)景來說明,參見圖3a。如圖3a所示三個(gè)用戶分別對(duì)"采購訂單,,業(yè)務(wù)進(jìn)行操作:<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>表l如上表l權(quán)限規(guī)則所示,這些規(guī)則在原來的做法是,通過程序代碼在業(yè)務(wù)層實(shí)現(xiàn),將權(quán)限邏輯耦合在業(yè)務(wù)邏輯之中,程序開發(fā)工作量加大的同時(shí),代碼維護(hù)成本也增加。應(yīng)用本發(fā)明后,參見圖3b。業(yè)務(wù)層的權(quán)限邏輯部分,程序開發(fā)人員不用再關(guān)注權(quán)限邏輯部分,只需要完成相應(yīng)的業(yè)務(wù)邏輯代碼即可,權(quán)限規(guī)則由用戶在UI層通過系統(tǒng)提供的權(quán)限定義功能,按照自己的需要定義權(quán)限,該權(quán)限由權(quán)限系統(tǒng)在數(shù)據(jù)層負(fù)責(zé)統(tǒng)一實(shí)現(xiàn)。當(dāng)相關(guān)業(yè)務(wù)點(diǎn)對(duì)應(yīng)程序執(zhí)行時(shí),權(quán)限系統(tǒng)對(duì)程序進(jìn)行解析,并將相應(yīng)權(quán)限規(guī)則合并到相應(yīng)業(yè)務(wù)程序中,實(shí)現(xiàn)權(quán)限檢查。這樣表1的3個(gè)用戶的業(yè)務(wù)操作就變成了如下表2:<table>tableseeoriginaldocumentpage11</column></row><table>數(shù)據(jù)權(quán)限已徹底獨(dú)立出了業(yè)務(wù),程序員開發(fā)代碼時(shí)不必在關(guān)注權(quán)限規(guī)則,只要代碼邏輯完成相應(yīng)的"錄入單據(jù)"、"查詢單據(jù)"、"匯總報(bào)表"的功能即可,數(shù)據(jù)權(quán)限由用戶按需定制,權(quán)限規(guī)則更加靈活,徹底滿足不同用戶的要求。具體程序運(yùn)行時(shí),權(quán)限規(guī)則會(huì)由權(quán)限系統(tǒng)在數(shù)據(jù)層統(tǒng)一實(shí)現(xiàn),比如,用戶l錄入單據(jù),當(dāng)用戶l錄入的單據(jù)為"零配件"時(shí),權(quán)限系統(tǒng)在"數(shù)據(jù)訪問操作實(shí)現(xiàn)層"中檢查通過,錄入操作成功,當(dāng)用戶l錄入的單據(jù)不是"零配件"時(shí),權(quán)限系統(tǒng)在"數(shù)據(jù)訪問操作實(shí)現(xiàn)層"檢查失敗,錄入操作失敗。剝離出來的權(quán)限系統(tǒng)規(guī)則,可以由用戶自己定義,任意擴(kuò)展。本發(fā)明同時(shí)提供了統(tǒng)一的權(quán)限定制功能,供用戶友好的定義所需要的權(quán)限場(chǎng)景。到此,本發(fā)明的結(jié)果是幫助程序開發(fā)人員將精力完全集中在業(yè)務(wù)上,并且使得權(quán)限系統(tǒng)控制與組織結(jié)構(gòu)、業(yè)務(wù)邏輯徹底解藕,大大降低了程序開發(fā)人員的原有工作量,同時(shí)提高了權(quán)限系統(tǒng)的靈活性,可擴(kuò)展性。圖4示出了根據(jù)本發(fā)明的權(quán)限系統(tǒng)與業(yè)務(wù)系統(tǒng)互動(dòng)時(shí)的工作原理圖。如圖4所示,本發(fā)明在原有業(yè)務(wù)系統(tǒng)上,增加數(shù)據(jù)權(quán)限的定義和合并處理邏輯,當(dāng)用戶執(zhí)行業(yè)務(wù)操作時(shí)(比如,錄入單據(jù)、搜索、查詢報(bào)表等等),系統(tǒng)在原有語法解析的基礎(chǔ)上,增加數(shù)據(jù)權(quán)限和原有執(zhí)行程序的語法合并,合并后的程序代碼再重新編譯執(zhí)行,這樣數(shù)據(jù)權(quán)限的控制邏輯就透明的在執(zhí)行過程中自動(dòng)完成。用戶可以通過權(quán)限系統(tǒng)靈活定制自己需要的權(quán)限控制規(guī)則,當(dāng)相應(yīng)程序片段執(zhí)行時(shí),權(quán)限系統(tǒng)會(huì)合并相應(yīng)的權(quán)限規(guī)則到相應(yīng)的程序邏輯中。下面就本發(fā)明的核心部分做詳細(xì)方案介紹本發(fā)明在數(shù)據(jù)層完全實(shí)現(xiàn)通用、平滑的權(quán)限規(guī)則切入機(jī)制,運(yùn)行期通過AST(AbstractSyntaxTree,抽象語法樹)計(jì)算表達(dá)式(要執(zhí)行的程序片段)后,依據(jù)語法規(guī)則,嵌入權(quán)限部分相應(yīng)語法表達(dá)式,在后續(xù)數(shù)據(jù)計(jì)算過程自動(dòng)體現(xiàn)權(quán)限規(guī)則。本發(fā)明首先實(shí)現(xiàn)數(shù)據(jù)權(quán)限定義機(jī)制,如圖5所示,用戶定義權(quán)限,權(quán)限系統(tǒng)按照對(duì)象語言的語法規(guī)則(不同程序語言,語法會(huì)有一定差異,但針對(duì)每種語言,都有特定的語法規(guī)則)生成符合對(duì)象語法的權(quán)限規(guī)則表達(dá)式,這個(gè)權(quán)限規(guī)則表達(dá)式就是后續(xù)業(yè)務(wù)程序代碼執(zhí)行時(shí)對(duì)應(yīng)的權(quán)限的集合,這里準(zhǔn)備好了權(quán)限規(guī)則,隨時(shí)準(zhǔn)備為業(yè)務(wù)系統(tǒng)提供權(quán)限規(guī)則。其次是在業(yè)務(wù)系統(tǒng)部分實(shí)現(xiàn)一棵抽象語法樹,如圖6所示,該語法樹按照相應(yīng)對(duì)象語言的語法規(guī)則(不同程序語言,語法會(huì)有一定差異,但針對(duì)每種語言,都有特定的語法規(guī)則),將要執(zhí)行的程序代碼轉(zhuǎn)化為一顆語法樹,語法樹各個(gè)結(jié)點(diǎn)相應(yīng)的表達(dá)執(zhí)行程序的語義以及各個(gè)關(guān)鍵字,包含語法關(guān)鍵字、對(duì)象、運(yùn)算符號(hào)、對(duì)象表達(dá)式、類型等。運(yùn)行時(shí),按照?qǐng)?zhí)行程序語言的對(duì)象,在權(quán)限系統(tǒng)的權(quán)限規(guī)則中進(jìn)行特性匹配(樹節(jié)點(diǎn)特性和權(quán)限表達(dá)式特性),在語法樹中快速索引到相應(yīng)特征結(jié)點(diǎn),進(jìn)行語法合并,然后重新編譯語法樹,得到新執(zhí)行程序代碼片段,該執(zhí)行程序片段已經(jīng)是合并了權(quán)限規(guī)則的執(zhí)行程序片段,后續(xù)系統(tǒng)執(zhí)行這個(gè)程序片段時(shí),相應(yīng)的權(quán)限條件已經(jīng)透明的體現(xiàn)在的程序執(zhí)行的結(jié)果中。圖7示出了根據(jù)本發(fā)明的用于業(yè)務(wù)系統(tǒng)的數(shù)據(jù)權(quán)限控制方法的流程圖。根據(jù)本發(fā)明的用于業(yè)務(wù)系統(tǒng)的數(shù)據(jù)權(quán)限控制方法,包括以下步驟步驟702,在用戶執(zhí)行業(yè)務(wù)操作時(shí),所述業(yè)務(wù)系統(tǒng)進(jìn)行業(yè)務(wù)處理;步驟704,所述業(yè)務(wù)系統(tǒng)對(duì)所述業(yè)務(wù)進(jìn)行語法解析,得到解析結(jié)果;步驟706,權(quán)限系統(tǒng)將所述解析結(jié)果與所述用戶預(yù)先定義的數(shù)據(jù)權(quán)限進(jìn)行合并處理,生成權(quán)限規(guī)則表達(dá)式;步驟708,所述業(yè)務(wù)系統(tǒng)編譯執(zhí)行所述權(quán)限規(guī)則表達(dá)式,實(shí)現(xiàn)所述數(shù)據(jù)權(quán)限的控制。優(yōu)選地,所述權(quán)限系統(tǒng)通過抽象語法樹計(jì)算所述權(quán)限規(guī)則表達(dá)式。所述權(quán)限系統(tǒng)與所述業(yè)務(wù)系統(tǒng)分開設(shè)置。本技術(shù)發(fā)明基于AST的條件嵌入通用數(shù)據(jù)權(quán)限解決方案,不僅實(shí)現(xiàn)了面向業(yè)務(wù)對(duì)象的數(shù)據(jù)層權(quán)限控制,并且處理了業(yè)務(wù)對(duì)象及關(guān)聯(lián)的業(yè)務(wù)對(duì)象的數(shù)據(jù)權(quán)限,保持對(duì)象數(shù)據(jù)的完整性,權(quán)限控制由本發(fā)明的核心部分統(tǒng)一完成,業(yè)務(wù)程序開發(fā)人員從此不必再關(guān)注權(quán)限規(guī)則,程序編寫時(shí)只需要完成具體業(yè)務(wù)邏輯。這樣的結(jié)果是幫助程序開發(fā)人員將精力完全集中在業(yè)務(wù)上,并且使得權(quán)限系統(tǒng)控制與組織結(jié)構(gòu)、業(yè)務(wù)邏輯徹底解藕,大大降低了程序開發(fā)人員的原有工作量。根據(jù)本發(fā)明,實(shí)現(xiàn)的技術(shù)效果體現(xiàn)為1.降低程序開發(fā)人員的工作量;2.精簡(jiǎn)程序開發(fā)代碼;3.提高代碼可讀性,可維護(hù)性;4.間接降低了軟件開發(fā)的人力成本;5.權(quán)限適配更加靈活,間接減少了二次開發(fā)的人力成本。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1.一種業(yè)務(wù)系統(tǒng),包括用戶界面,用戶通過所述用戶界面輸入指令;業(yè)務(wù)層,根據(jù)所述用戶所輸入的指令實(shí)現(xiàn)相應(yīng)的系統(tǒng)業(yè)務(wù)邏輯;數(shù)據(jù)層,用于根據(jù)所述系統(tǒng)業(yè)務(wù)邏輯實(shí)現(xiàn)數(shù)據(jù)的訪問操作;數(shù)據(jù)庫,用于儲(chǔ)存所述業(yè)務(wù)系統(tǒng)所需要的所述數(shù)據(jù);其特征在于,進(jìn)一步包括權(quán)限系統(tǒng),所述權(quán)限系統(tǒng)與所述業(yè)務(wù)層隔離,通過權(quán)限規(guī)則提供對(duì)所述數(shù)據(jù)層的權(quán)限控制。2.根據(jù)權(quán)利要求1所述的業(yè)務(wù)系統(tǒng),其特征在于,所述權(quán)限系統(tǒng)包括權(quán)限管理裝置和數(shù)據(jù)權(quán)限合并裝置,所述權(quán)限管理裝置用于使用戶定義數(shù)據(jù)權(quán)限,所述數(shù)據(jù)權(quán)限合并裝置連接至所述權(quán)限管理裝置,對(duì)所述用戶通過所述權(quán)限管理裝置定義的數(shù)據(jù)權(quán)限和來自業(yè)務(wù)系統(tǒng)的執(zhí)行程序的語法進(jìn)行合并處理,并將處理結(jié)果返回所述業(yè)務(wù)系統(tǒng),以供編譯執(zhí)行。3.根據(jù)權(quán)利要求1所述的業(yè)務(wù)系統(tǒng),其特征在于,所述權(quán)限管理裝置根據(jù)對(duì)象語法規(guī)則生成符合所述對(duì)象語法規(guī)則的權(quán)限規(guī)則表達(dá)式。4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的業(yè)務(wù)系統(tǒng),其特征在于,所述用戶通過所述用戶界面自定義所述權(quán)限規(guī)則。5.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的業(yè)務(wù)系統(tǒng),其特征在于,所述用戶通過所述用戶界面輸入的指令包括錄入單據(jù)、搜索單據(jù)、匯總報(bào)表。6.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的業(yè)務(wù)系統(tǒng),其特征在于,當(dāng)所述用戶輸出入的指令超出所述權(quán)限規(guī)則所定義的所述用戶的權(quán)限時(shí),所述權(quán)限系統(tǒng)返回失敗結(jié)果給所述用戶。7.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的業(yè)務(wù)系統(tǒng),其特征在于,所述權(quán)限規(guī)則通過抽象語法樹計(jì)算表達(dá)式實(shí)現(xiàn)。8.—種用于業(yè)務(wù)系統(tǒng)的數(shù)據(jù)權(quán)限控制方法,其特征在于,包括以下步驟在用戶執(zhí)行業(yè)務(wù)操作時(shí),所述業(yè)務(wù)系統(tǒng)進(jìn)行業(yè)務(wù)處理;所述業(yè)務(wù)系統(tǒng)對(duì)所述業(yè)務(wù)進(jìn)行語法解析,得到解析結(jié)果;并處理,生成權(quán)限規(guī)則表達(dá)式;所述業(yè)務(wù)系統(tǒng)編譯執(zhí)行所述權(quán)限規(guī)則表達(dá)式,實(shí)現(xiàn)所述數(shù)據(jù)權(quán)限的控制。9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)權(quán)限控制方法,其特征在于,所述權(quán)限系統(tǒng)通過抽象語法樹計(jì)算所述權(quán)限規(guī)則表達(dá)式。10.根據(jù)權(quán)利要求8或9所述的數(shù)據(jù)權(quán)限控制方法,其特征在于,所述權(quán)限系統(tǒng)與所述業(yè)務(wù)系統(tǒng)分開設(shè)置。11.一種權(quán)限系統(tǒng),用于業(yè)務(wù)系統(tǒng),所述業(yè)務(wù)系統(tǒng)包括用戶界面,用戶通過所述用戶界面輸入指令;業(yè)務(wù)層,根據(jù)所述用戶所輸入的指令實(shí)現(xiàn)相應(yīng)的系統(tǒng)業(yè)務(wù)邏輯;數(shù)據(jù)層,用于根據(jù)所述系統(tǒng)業(yè)務(wù)邏輯實(shí)現(xiàn)數(shù)據(jù)的訪問操作;數(shù)據(jù)庫,用于儲(chǔ)存所述業(yè)務(wù)系統(tǒng)所需要的所述數(shù)據(jù),其特征在于,所述權(quán)限系統(tǒng)與所述業(yè)務(wù)層隔離,通過權(quán)限規(guī)則提供對(duì)所述數(shù)據(jù)層的權(quán)限控制。12.根據(jù)權(quán)利要求11所述的權(quán)限系統(tǒng),其特征在于,所述權(quán)限系統(tǒng)包括權(quán)限管理裝置和數(shù)據(jù)權(quán)限合并裝置,所述權(quán)限管理裝置用于使用戶定義數(shù)據(jù)權(quán)限,所述數(shù)據(jù)權(quán)限合并裝置連接至所述權(quán)限管理裝置,對(duì)所述用戶通過所述權(quán)限管理裝置定義的數(shù)據(jù)權(quán)限和來自業(yè)務(wù)系統(tǒng)的執(zhí)行程序的語法進(jìn)行合并處理,并將處理結(jié)果返回所述業(yè)務(wù)系統(tǒng),以供編譯執(zhí)行。13.根據(jù)權(quán)利要求11所述的權(quán)限系統(tǒng),其特征在于,所述權(quán)限管理裝置根據(jù)對(duì)象語法規(guī)則生成符合所述對(duì)象語法規(guī)則的權(quán)限規(guī)則表達(dá)式。14.根據(jù)權(quán)利要求11至13中任一項(xiàng)所述的權(quán)限系統(tǒng),其特征在于,當(dāng)所述用戶輸出入的指令超出所述權(quán)限規(guī)則所定義的所述用戶的權(quán)限時(shí),所述權(quán)限系統(tǒng)返回失敗結(jié)果給所述用戶。15.根據(jù)權(quán)利要求11至13中任一項(xiàng)所述的權(quán)限系統(tǒng),其特征在于,所述權(quán)限規(guī)則通過抽象語法樹計(jì)算表達(dá)式實(shí)現(xiàn)。全文摘要本發(fā)明提供了一種業(yè)務(wù)系統(tǒng),包括用戶界面,用戶通過所述用戶界面輸入指令;業(yè)務(wù)層,根據(jù)所述用戶所輸入的指令實(shí)現(xiàn)相應(yīng)的系統(tǒng)業(yè)務(wù)邏輯;數(shù)據(jù)層,用于根據(jù)所述系統(tǒng)業(yè)務(wù)邏輯實(shí)現(xiàn)數(shù)據(jù)的訪問操作;數(shù)據(jù)庫,用于儲(chǔ)存所述業(yè)務(wù)系統(tǒng)所需要的所述數(shù)據(jù);權(quán)限系統(tǒng),所述權(quán)限系統(tǒng)與所述業(yè)務(wù)層隔離,通過權(quán)限規(guī)則提供對(duì)所述數(shù)據(jù)層的權(quán)限控制。不僅實(shí)現(xiàn)了面向業(yè)務(wù)對(duì)象的數(shù)據(jù)層權(quán)限控制,并且處理了業(yè)務(wù)對(duì)象及關(guān)聯(lián)的業(yè)務(wù)對(duì)象的數(shù)據(jù)權(quán)限,保持對(duì)象數(shù)據(jù)的完整性,權(quán)限控制由本發(fā)明的核心部分統(tǒng)一完成,業(yè)務(wù)程序開發(fā)人員從此不必再關(guān)注權(quán)限規(guī)則,程序編寫時(shí)只需要完成具體業(yè)務(wù)邏輯。文檔編號(hào)G06F9/45GK101587439SQ20091008773公開日2009年11月25日申請(qǐng)日期2009年6月24日優(yōu)先權(quán)日2009年6月24日發(fā)明者琳葉,豪方,滕石欣,熊悅閱申請(qǐng)人:用友軟件股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
同德县| 巴林右旗| 辛集市| 瓮安县| 武宁县| 阿瓦提县| 厦门市| 曲阜市| 揭东县| 璧山县| 枣强县| 延庆县| 天祝| 濉溪县| 海晏县| 西盟| 自治县| 阳信县| 章丘市| 平阳县| 余庆县| 怀远县| 盖州市| 新野县| 江川县| 泾阳县| 禄劝| 丘北县| 灵台县| 宜川县| 忻城县| 章丘市| 涡阳县| 莱西市| 汉中市| 大安市| 金沙县| 博罗县| 墨竹工卡县| 东平县| 伊春市|