本發(fā)明涉及通信技術領域,具體涉及一種業(yè)務授權方法及裝置。
背景技術:
數(shù)據(jù)訪問控制(Access Control,AC)或者訪問授權(Access Authorizatiion)有很多種策略(Policies),模型(Models)和機制(Mechanisms)。例如:強制訪問控制(Mandatory access control,MAC),基于角色的訪問控制(Role-based access control,RBAC),自主訪問控制(Discretionary access control,DAC),基于上下文的訪問控制(Context-based access control,CBAC)等等。
但是現(xiàn)有的數(shù)據(jù)訪問授權機制依靠一定的業(yè)務場景,如果不依靠業(yè)務場景,就很難做到完善的業(yè)務數(shù)據(jù)訪問控制,比如接收到第三方的業(yè)務授權請求時,需要解析獲得該業(yè)務授權請求所針對的具體業(yè)務場景,才能確定是否具有業(yè)務數(shù)據(jù)訪問權限。
技術實現(xiàn)要素:
本發(fā)明實施例提供一種業(yè)務授權方法及裝置,可以在不依賴業(yè)務場景的情況下,完全基于業(yè)務授權請求本身的預設參數(shù)驅動,實現(xiàn)業(yè)務數(shù)據(jù)的訪問授權。
本發(fā)明第一方面提供一種業(yè)務授權方法,可包括:
當接收到第三方的業(yè)務授權請求時,對所述業(yè)務授權請求進行解析,獲得所述業(yè)務授權請求攜帶的目標參數(shù)的值;
根據(jù)所述目標參數(shù)中的特征參數(shù),構建與所述業(yè)務授權請求對應的目標特征碼;
根據(jù)所述目標特征碼,確定所述業(yè)務授權請求映射的概念子網(wǎng),所述概念子網(wǎng)中包括所述第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系;
將所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)進行校驗,并根據(jù)校驗結果確定是否能夠訪問所述目標業(yè)務權限域。
本發(fā)明第二方面提供一種業(yè)務授權裝置,可包括:
解析模塊,用于當接收到第三方的業(yè)務授權請求時,對所述業(yè)務授權請求進行解析,獲得所述業(yè)務授權請求攜帶的目標參數(shù)的值;
構建模塊,用于根據(jù)所述目標參數(shù)中的特征參數(shù),構建與所述業(yè)務授權請求對應的目標特征碼;
第一確定模塊,用于根據(jù)所述目標特征碼,確定所述業(yè)務授權請求映射的概念子網(wǎng),所述概念子網(wǎng)中包括所述第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系;
第二確定模塊,用于將所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)進行校驗,并根據(jù)校驗結果確定是否能夠訪問所述目標業(yè)務權限域。
實施本發(fā)明實施例,具有如下有益效果:
當接收到第三方的業(yè)務授權請求時,對業(yè)務授權請求進行解析,獲得該業(yè)務授權請求攜帶的目標參數(shù)的值;根據(jù)目標參數(shù)中的預設參數(shù),構建與業(yè)務授權請求對應的目標特征碼,根據(jù)該目標特征碼,確定業(yè)務授權請求映射的概念子網(wǎng),該概念子網(wǎng)中包括第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系,將目標參數(shù)的值與概念子網(wǎng)中的數(shù)據(jù)進行校驗,并根據(jù)校驗結果確定是否能夠訪問該目標業(yè)務權限域,這種方式可以在不依賴業(yè)務場景的情況下,完全基于業(yè)務授權請求本身的預設參數(shù)驅動,實現(xiàn)業(yè)務數(shù)據(jù)的訪問授權。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種業(yè)務授權方法的流程圖;
圖2為本發(fā)明實施例提供的另一種業(yè)務授權方法的流程圖;
圖3為本發(fā)明實施例提供的又一種業(yè)務授權方法的流程圖;
圖4為本發(fā)明實施例提供的一種授權域與權限域的關系;
圖5為本發(fā)明實施例提供的一種概念圖的結構示意圖;
圖6為本發(fā)明實施例提供的一種實體元的結構示意圖;
圖7為本發(fā)明實施例提供的一種業(yè)務授權請求的抽象描述;
圖8為本發(fā)明實施例提供的一種數(shù)據(jù)授權的策略匹配流程圖;
圖9為本發(fā)明實施例提供的一種結果集的處理流程圖;
圖10為本發(fā)明實施例提供的一種業(yè)務授權裝置的結構示意圖;
圖11為本發(fā)明實施例提供的一種第二確定模塊的結構示意圖;
圖12為本發(fā)明實施例提供的一種確定單元的結構示意圖;
圖13為本發(fā)明實施例提供的一種第一確定模塊的結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
下面將結合附圖1-附圖9,對本發(fā)明實施例提供的業(yè)務授權方法進行詳細介紹。
請參照圖1,為本發(fā)明實施例提供的一種業(yè)務授權方法的流程圖;該方法可包括以下步驟S100-步驟S103。
S100,當接收到第三方的業(yè)務授權請求時,對所述業(yè)務授權請求進行解析,獲得所述業(yè)務授權請求攜帶的目標參數(shù)的值;
S101,根據(jù)所述目標參數(shù)中的特征參數(shù),構建與所述業(yè)務授權請求對應的目標特征碼;
本發(fā)明實施例中,數(shù)據(jù)訪問授權通常限定在一定的權限域內部,當需要跨權限域進行訪問時,需要采用一定的策略進行授權。比如,第三方需要對服務器的某一個目標業(yè)務權限域的數(shù)據(jù)進行訪問時,需要得到該目標業(yè)務權限域的授權,這里以第三方為廣告公司,該廣告公司的業(yè)務即是制作各種屬性的廣告,而目標業(yè)務權限域即是廣告投放的廣告位業(yè)務方,該權限域定義廣告位的各種屬性以及配置投放廣告的各種策略,當?shù)谌降膹V告公司需要向目標業(yè)務權限域的廣告位上播放廣告,需要得到該目標業(yè)務權限域的授權。
下面結合附圖4對權限域和授權域進行說明,各個業(yè)務權限域指的是相對獨立的業(yè)務數(shù)據(jù)隱含的數(shù)據(jù)訪問關系或者策略樹,比如上述的廣告公司制作的各種廣告形成一個權限域,而廣告投放的廣告位形成一個權限域;服務器所有的權限域組合形成授權域,權限域實現(xiàn)業(yè)務數(shù)據(jù)的一般訪問授權,系統(tǒng)權限域實現(xiàn)系統(tǒng)級別的配置策略以及數(shù)據(jù)授權結果集中出現(xiàn)沖突時的仲裁策略。
本發(fā)明實施例的業(yè)務授權采用業(yè)務無關的,全數(shù)據(jù)項驅動的,基于策略配置樹和支持沖突仲裁的數(shù)據(jù)訪問授權模型。具體的說,授權服務器不用關心業(yè)務場景或者業(yè)務細節(jié),依據(jù)概念,實體(概念主體),關系(概念主體和主體間的依賴關系),概念圖(一個或者多個相近概念實體形成的概念包),概念層(多個互相協(xié)作的概念圖形成的概念層級),概念網(wǎng)(多層概念形成的立體概念網(wǎng)絡),結合系統(tǒng)的策略配置樹和沖突仲裁機制來實現(xiàn)業(yè)務數(shù)據(jù)的訪問授權。
由于采用全數(shù)據(jù)項驅動,因此服務器不關心業(yè)務授權請求所關聯(lián)的業(yè)務,只關心該業(yè)務授權請求所攜帶的數(shù)據(jù),因此當服務器接收到第三方的業(yè)務授權請求時,對該業(yè)務授權請求進行解析,獲得該業(yè)務授權請求攜帶的目標參數(shù)的值,目標參數(shù)可以包括特征參數(shù)和非特征參數(shù),其中特征參數(shù)用于表示該業(yè)務授權請求對于數(shù)據(jù)的訪問方式以及訪問對象,如圖7所示,即描述了業(yè)務授權請求的具體構成形式,可以對該業(yè)務授權請求進行逐步解析獲得目標參數(shù)的值。
具體可選的,服務器對于業(yè)務授權請求的解析過程是,根據(jù)業(yè)務授權請求中的協(xié)議類型,以及業(yè)務授權請求的描述(特征參數(shù)集合配置,業(yè)務授權請求特征配置),對業(yè)務授權請求進行解析;其中,解析獲得的目標參數(shù)包括特征參數(shù)的值和非特征參數(shù)的值,具體包括以下步驟:
1)根據(jù)業(yè)務授權請求上文的格式,確定業(yè)務授權請求的具體格式;
2)根據(jù)預設的特征參數(shù)集合配置,解析業(yè)務授權請求中的特征參數(shù),特征參數(shù)定義了業(yè)務授權請求對于數(shù)據(jù)的訪問方式(讀/寫/更新/刪除等),訪問的是什么對象等信息;
3)根據(jù)預設的業(yè)務授權請求特征配置,即預先設定的特征參數(shù)與特征碼的對應關系,構造出與該業(yè)務授權請求對應的特征碼(即是業(yè)務授權請求到概念映射的名稱);
4)解析其它非特征參數(shù)。
舉例說明如下:
例如,特征參數(shù)集合的定義如下:
上述程序中分別定義了三種特征參數(shù),分別是"mod"、"act"以及"type"。
例如,業(yè)務授權請求特征配置定義如下:
上述程序定義了兩種特征碼,以及該兩種特征碼所對應的特征碼的名稱name,比如,有下面的特征參數(shù):
url:"mod=order&act=del&g_tk=1455764208&d_p=0.9010524866093179"
body:"owner=1000&cost_type=1&cost_price=2.08&aid=13"
解析如下:
a)根據(jù)請求中url參數(shù)的值以及協(xié)議格式(key/value),在url中掃描解析key為“mod”,“act”以及“type”的特征參數(shù);
b)url:"mod=order&act=del&g_tk=1455764208&d_p=0.9010524866093179"中解析出“mod=order”和“act=del”;
c)然后根據(jù)業(yè)務授權請求特征“service_request”集合中的定義,構造出業(yè)務授權請求的特征碼“mod=order&act=del”;根據(jù)請求的特征碼匹配到特征碼的名稱“order_del”;特征碼的名稱是業(yè)務授權請求到概念網(wǎng)絡的映射橋梁;
d)最后,解析其它的非特征參數(shù):owner,cost_type,cost_price和aid。
S102,根據(jù)所述目標特征碼,確定所述業(yè)務授權請求映射的概念子網(wǎng),所述概念子網(wǎng)中包括所述第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系;
本發(fā)明實施例中,目標特征碼即是業(yè)務授權請求對應的特征碼,根據(jù)該目標特征碼確定該業(yè)務授權請求映射的概念子網(wǎng),該概念子網(wǎng)是復雜的概念體系中的一部分,服務器中預先設置了多種特征碼的名稱與各個概念子網(wǎng)之間的映射關系。復雜的概念體系用于表示各個業(yè)務權限域之間的復雜關聯(lián)關系。
具體可選的,概念體系包括,實體(概念主體),關系(概念主體和主體間的依賴關系),概念圖(一個或者多個相近概念主體形成的概念包),概念層(多個互相協(xié)作的概念圖形成的概念層級),概念網(wǎng)(多層概念形成的立體概念網(wǎng)絡)等。下面的圖5即描述了概念圖的內容,概念圖中定義了源實體和目的實體之間的關聯(lián)關系,比如依賴關系。
圖6描述了實體的構成(實體元),其中,實體元數(shù)據(jù)描述了實體的屬性以及實體包含的域。根據(jù)目標特征碼描述的概念子網(wǎng)即包括第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系,比如,若第三方是廣告公司,廣告公司的權限域包括各種廣告的屬性,目標權限域為提供廣告位進行廣告播放的業(yè)務方,預先定義了該兩個權限域的實體之間需要進行訪問時的一些策略,比如,提供廣告位的業(yè)務方可以定義所播放廣告的領域,以及還可以定義廣告位的長和寬等等,而廣告公司所提供的各種廣告屬性需要滿足廣告位業(yè)務方的各種屬性要求才能進行授權播放,于是廣告公司的各種廣告屬性的實體與廣告位的各種屬性實體之間存在一定的關聯(lián)關系,該關聯(lián)關系即構成概念子網(wǎng)。
具體可選的,把業(yè)務授權請求解析出來的數(shù)據(jù)對象映射到概念子網(wǎng)的詳細描述如下:
1)根據(jù)業(yè)務授權請求解析構造出來的特征碼的名稱“order_del”,查詢業(yè)務授權請求映射到的具體概念子網(wǎng);
2)根據(jù)映射到的具體概念子網(wǎng),依次將業(yè)務授權請求中解析出來的目標參數(shù)的值(鍵值對或者對象)映射到概念子網(wǎng)中的域(權限),數(shù)據(jù)庫,實體,域(字段),以及值??赡?,有些目標參數(shù)映射不到概念子網(wǎng)。
3)映射不到的目標參數(shù),系統(tǒng)可以記錄,智能學習。
例如:概念映射集合定義如下,即是特征碼的名稱到概念子網(wǎng)的映射關系:
繼續(xù)以上述特征碼的名稱為例說明概念映射:
a)根據(jù)概念映射的定義,把特征碼的名稱“order_del”匹配到request_name為"order_del"的概念子網(wǎng);
b)然后依次把鍵值對的鍵“aid”和“owner”映射到概念子網(wǎng)的實體對象為"Tbl_AdGroup_"的“FUId”和“FAId”。
S103,將所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)進行校驗,并根據(jù)校驗結果確定是否能夠訪問所述目標業(yè)務權限域。
本發(fā)明實施例中,當確定了該業(yè)務授權請求映射的概念子網(wǎng)后,即將目標參數(shù)也映射到了概念子網(wǎng)上,進一步將目標參數(shù)的值與概念子網(wǎng)中的數(shù)據(jù)進行檢驗,根據(jù)校驗結果確定是否能夠訪問目標業(yè)務權限域。
具體可選的,校驗過程可以是,遍歷概念子網(wǎng),判定生成授權結果集,通常校驗一次,即產(chǎn)生一個校驗結果,所有校驗結果組成結果集。詳細流程描述如圖8所示:
1)在經(jīng)過業(yè)務授權請求的概念映射后,已經(jīng)確定出第三方對數(shù)據(jù)的訪問方式,所在權限域,以及概念子網(wǎng)等。
2)根據(jù)映射后生成的概念子網(wǎng),依據(jù)概念圖和實體元,結合數(shù)據(jù)項及其值,從概念子網(wǎng)中的某個概念圖開始,根據(jù)概念圖中定義涉及到的實體,以及實體之間的關系,依次從概念子網(wǎng)中讀取相關的數(shù)據(jù)和目標參數(shù)的值進行比對校驗。
3)如果數(shù)據(jù)校驗一致,則校驗結果為通過(Y),數(shù)據(jù)校驗有沖突時,校驗結果為不通過(N),其它可能的結果為灰度待定(G),比如,在匹配廣告位時,若廣告位的長度與概念子網(wǎng)中預先設定的長度相同,則校驗結果為通過,若不同,則校驗結果為不通過。
4)概念子網(wǎng)遍歷校驗過程中,每一步遍歷都可能形成一個校驗結果(Y/N/G);校驗結果暫時存入結果集中;
5)概念子網(wǎng)遍歷完成后,形成一個結果集;
6)最后,對于結果集綜合判斷,結合系統(tǒng)權限域以及仲裁機制,得出最終的授權結果(Y/N)。
具體的,對結果集進行處理的方式請參照圖9所示,結果集處理即是對于多個校驗結果綜合判定,形成最終的業(yè)務請求授權結果。
具體的處理方法如下:
1)如果結果集中的所有校驗結果(Y/N)都是是一致的(Y/N),則形成最終授權結果(Y/N);
2)如果結果集中的校驗結果中存在有沖突的兩個或者多個校驗結果存在(即校驗結果不同),則判斷存在沖突的校驗結果是否屬于概念子網(wǎng)的同一級別,如果是同一級別,則依據(jù)優(yōu)先級對于沖突的校驗結果進行聚合,聚合后的結果再依據(jù)1)的描述,確定最終授權結果(Y/N),比如廣告位的長與概念子網(wǎng)中預先設定的值存在沖突,即不通過,而寬沒有存在沖突,即通過,則可以根據(jù)優(yōu)先級來判斷,比如,長的優(yōu)先級高于寬,即長是更加重要的,那么聚合結果為不通過;
3)如果結果集中的校驗結果中有沖突的兩個或者多個校驗結果存在,并且沖突的校驗結果不屬于概念子網(wǎng)的同一級別,則由系統(tǒng)根據(jù)系統(tǒng)的授權策略做進一步仲裁,系統(tǒng)授權策略即是系統(tǒng)預先設定的規(guī)則,比如系統(tǒng)設定只要廣告位的長度不相同,即不通過,那整個授權結果為不通過;
4)如果系統(tǒng)仲裁成功,形成最終授權結果(Y/N),否則,產(chǎn)生告警或者預警。
當接收到第三方的業(yè)務授權請求時,對業(yè)務授權請求進行解析,獲得該業(yè)務授權請求攜帶的目標參數(shù)的值;根據(jù)目標參數(shù)中的預設參數(shù),構建與業(yè)務授權請求對應的目標特征碼,根據(jù)該目標特征碼,確定業(yè)務授權請求映射的概念子網(wǎng),該概念子網(wǎng)中包括第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系,將目標參數(shù)的值與概念子網(wǎng)中的數(shù)據(jù)進行校驗,并根據(jù)校驗結果確定是否能夠訪問該目標業(yè)務權限域,這種方式可以在不依賴業(yè)務場景的情況下,完全基于業(yè)務授權請求本身的預設參數(shù)驅動,實現(xiàn)業(yè)務數(shù)據(jù)的訪問授權。
請參照圖2,為本發(fā)明實施例提供的另一種業(yè)務授權方法的流程圖;該方法可包括以下步驟S200-步驟S204。
S200,當接收到第三方的業(yè)務授權請求時,對所述業(yè)務授權請求進行解析,獲得所述業(yè)務授權請求攜帶的目標參數(shù)的值;
S201,根據(jù)所述目標參數(shù)中的特征參數(shù),構建與所述業(yè)務授權請求對應的目標特征碼;
S202,根據(jù)所述目標特征碼,確定所述業(yè)務授權請求映射的概念子網(wǎng),所述概念子網(wǎng)中包括所述第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系;
本發(fā)明實施例步驟S200~S202請參照圖1的實施例步驟S100~S102,在此不再贅述。
S203,遍歷所述概念子網(wǎng),將所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)進行校驗,生成結果集,所述結果集包括至少一個校驗結果;
本發(fā)明實施例中,在確定了業(yè)務授權請求映射的概念子網(wǎng)后,即遍歷該概念子網(wǎng),即將目標參數(shù)的值與概念子網(wǎng)中的數(shù)據(jù)進行校驗,生成結果集,需要說明的是,每遍歷一步即產(chǎn)生一個校驗結果,結果集中包括至少一個校驗結果。
可選的,所述將所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)進行校驗,生成結果集,包括以下步驟:
步驟一、若所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)校驗一致,則生成具有第一標識的校驗結果;
步驟二、若所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)校驗不一致,則生成具有第二標識的校驗結果;
步驟三、將所有所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)的校驗結果生成結果集。
本發(fā)明實施例中,目標參數(shù)包括多個特征參數(shù)以及多個非特征參數(shù),在對概念子網(wǎng)進行遍歷之前,將該多個特征參數(shù)以及非特征參數(shù)映射至概念子網(wǎng)對應的域(權限),數(shù)據(jù)庫,實體,域(字段),以及值,然后將目標參數(shù)的值與該目標參數(shù)所映射的概念子網(wǎng)中數(shù)據(jù)進行校驗,校驗一致,則生成第一標識的校驗結果,第一標識可以是Y,即通過校驗,若校驗不一致,則生成第二標識的校驗結果,第二標識可以是N,即不通過校驗,每一步遍歷即產(chǎn)生一個校驗結果,所有校驗結果即生成結果集。
S204,根據(jù)所述結果集中的所述至少一個校驗結果,確定是否能夠訪問所述目標業(yè)務權限域。
所述根據(jù)所述結果集中的所述至少一個校驗結果,確定是否能夠訪問所述目標業(yè)務權限域,包括以下步驟:
步驟一、若所述結果集中的所有校驗結果均具有所述第一標識,則確定能夠訪問所述目標業(yè)務權限域;
步驟二、若所述結果集中的所有校驗結果均具有所述第二標識,則確定不能夠訪問所述目標業(yè)務權限域;
步驟三、若所述結果集中的所有校驗結果中既存在具有所述第一標識的校驗結果,又存在具有所述第二標識的校驗結果,則根據(jù)預設沖突策略確定是否能夠訪問所述目標業(yè)務權限域。
具體可選的,所述根據(jù)預設沖突策略確定是否能夠訪問所述目標業(yè)務權限域,包括:
判斷所述具有所述第一標識的校驗結果和具有所述第二標識的校驗結果是否在所述概念子網(wǎng)中的同一層級;
若是同一層級,則根據(jù)預設優(yōu)先級策略確定是否能夠訪問所述目標業(yè)務權限域;
若不是同一層級,則根據(jù)預設系統(tǒng)授權策略確定是否能夠訪問所述目標業(yè)務授權域。
本發(fā)明實施例中,請參照圖9所示,如果結果集中的所有校驗結果(第一標識為Y/第二標識為N)都是是一致的(Y/N),則形成最終授權結果(Y/N);如果結果集中的校驗結果中存在有沖突的兩個或者多個,則判斷沖突的校驗結果是否屬于概念子網(wǎng)的同一級別,如果是同一級別,則依據(jù)優(yōu)先級對于沖突的結果進行聚合。再依據(jù)聚合后的結果確定最終授權結果(Y/N)。
如果結果集的校驗結果中存在有沖突的兩個或者多個,并且沖突的校驗結果不屬于同一級別,則由系統(tǒng)根據(jù)系統(tǒng)的授權策略做進一步仲裁;如果系統(tǒng)仲裁成功,形成最終授權結果(Y/N),否則,產(chǎn)生告警或者預警。
當接收到第三方的業(yè)務授權請求時,對業(yè)務授權請求進行解析,獲得該業(yè)務授權請求攜帶的目標參數(shù)的值;根據(jù)目標參數(shù)中的預設參數(shù),構建與業(yè)務授權請求對應的目標特征碼,根據(jù)該目標特征碼,確定業(yè)務授權請求映射的概念子網(wǎng),該概念子網(wǎng)中包括第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系,將目標參數(shù)的值與概念子網(wǎng)中的數(shù)據(jù)進行校驗,并根據(jù)校驗結果確定是否能夠訪問該目標業(yè)務權限域,這種方式可以在不依賴業(yè)務場景的情況下,完全基于業(yè)務授權請求本身的預設參數(shù)驅動,實現(xiàn)業(yè)務數(shù)據(jù)的訪問授權。
請參照圖3,為本發(fā)明實施例提供的又一種業(yè)務授權方法的流程圖;該方法可包括以下步驟S300-步驟S304。
S300,當接收到第三方的業(yè)務授權請求時,對所述業(yè)務授權請求進行解析,獲得所述業(yè)務授權請求攜帶的目標參數(shù)的值;
S301,根據(jù)所述目標參數(shù)中的特征參數(shù),構建與所述業(yè)務授權請求對應的目標特征碼;
本發(fā)明實施例中步驟S300~S301請參照圖1的實施例步驟S100~S101,在此不再贅述。
S302,查詢與所述目標特征碼對應的目標特征碼的名稱,一個特征碼對應一個特征碼的名稱;
本發(fā)明實施例中,一種特征參數(shù)組合對應一種特征碼,根據(jù)目標參數(shù)中的特征參數(shù),可以構建與業(yè)務授權請求對應的目標特征碼,一種特征碼對應一種特征碼的名稱,因此可以查詢與目標特征碼對應的目標特征碼的名稱。
S303,查詢與所述目標特征碼的名稱對應的概念子網(wǎng),一個特征碼的名稱對應一個概念子網(wǎng)。
S304,將所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)進行校驗,并根據(jù)校驗結果確定是否能夠訪問所述目標業(yè)務權限域。
本發(fā)明實施例步驟S304請參照圖1的實施例步驟S103,在此不再贅述。
當接收到第三方的業(yè)務授權請求時,對業(yè)務授權請求進行解析,獲得該業(yè)務授權請求攜帶的目標參數(shù)的值;根據(jù)目標參數(shù)中的預設參數(shù),構建與業(yè)務授權請求對應的目標特征碼,根據(jù)該目標特征碼,確定業(yè)務授權請求映射的概念子網(wǎng),該概念子網(wǎng)中包括第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系,將目標參數(shù)的值與概念子網(wǎng)中的數(shù)據(jù)進行校驗,并根據(jù)校驗結果確定是否能夠訪問該目標業(yè)務權限域,這種方式可以在不依賴業(yè)務場景的情況下,完全基于業(yè)務授權請求本身的預設參數(shù)驅動,實現(xiàn)業(yè)務數(shù)據(jù)的訪問授權。
下面將結合附圖10-附圖13,對本發(fā)明實施例提供的一種業(yè)務授權裝置進行詳細介紹。
請參照圖10,為本發(fā)明實施例提供的一種業(yè)務授權裝置的結構示意圖,如圖所示,該業(yè)務授權裝置包括解析模塊100、構建模塊101、第一確定模塊102以及第二確定模塊103;
解析模塊100,用于當接收到第三方的業(yè)務授權請求時,對所述業(yè)務授權請求進行解析,獲得所述業(yè)務授權請求攜帶的目標參數(shù)的值;
構建模塊101,用于根據(jù)所述目標參數(shù)中的特征參數(shù),構建與所述業(yè)務授權請求對應的目標特征碼;
本發(fā)明實施例中,數(shù)據(jù)訪問授權通常限定在一定的權限域內部,當需要跨權限域進行訪問時,需要采用一定的策略進行授權。比如,第三方需要對服務器的某一個目標業(yè)務權限域的數(shù)據(jù)進行訪問時,需要得到該目標業(yè)務權限域的授權,這里以第三方為廣告公司,該廣告公司的業(yè)務即是制作各種屬性的廣告,而目標業(yè)務權限域即是廣告投放的廣告位業(yè)務方,該權限域定義廣告位的各種屬性以及配置投放廣告的各種策略,當?shù)谌降膹V告公司需要向目標業(yè)務權限域的廣告位上播放廣告,需要得到該目標業(yè)務權限域的授權。
下面結合附圖4對權限域和授權域進行說明,各個業(yè)務權限域指的是相對獨立的業(yè)務數(shù)據(jù)隱含的數(shù)據(jù)訪問關系或者策略樹,比如上述的廣告公司制作的各種廣告形成一個權限域,而廣告投放的廣告位形成一個權限域;服務器所有的權限域組合形成授權域,權限域實現(xiàn)業(yè)務數(shù)據(jù)的一般訪問授權,系統(tǒng)權限域實現(xiàn)系統(tǒng)級別的配置策略以及數(shù)據(jù)授權結果集中出現(xiàn)沖突時的仲裁策略。
本發(fā)明實施例的業(yè)務授權采用業(yè)務無關的,全數(shù)據(jù)項驅動的,基于策略配置樹和支持沖突仲裁的數(shù)據(jù)訪問授權模型。具體的說,授權服務器不用關心業(yè)務場景或者業(yè)務細節(jié),依據(jù)概念,實體(概念主體),關系(概念主體和主體間的依賴關系),概念圖(一個或者多個相近概念實體形成的概念包),概念層(多個互相協(xié)作的概念圖形成的概念層級),概念網(wǎng)(多層概念形成的立體概念網(wǎng)絡),結合系統(tǒng)的策略配置樹和沖突仲裁機制來實現(xiàn)業(yè)務數(shù)據(jù)的訪問授權。
由于采用全數(shù)據(jù)項驅動,因此服務器不關心業(yè)務授權請求所關聯(lián)的業(yè)務,只關心該業(yè)務授權請求所攜帶的數(shù)據(jù),因此當服務器接收到第三方的業(yè)務授權請求時,對該業(yè)務授權請求進行解析,獲得該業(yè)務授權請求攜帶的目標參數(shù)的值,目標參數(shù)可以包括特征參數(shù)和非特征參數(shù),其中特征參數(shù)用于表示該業(yè)務授權請求對于數(shù)據(jù)的訪問方式以及訪問對象,如圖7所示,即描述了業(yè)務授權請求的具體構成形式,可以對該業(yè)務授權請求進行逐步解析獲得目標參數(shù)的值。
具體可選的,服務器對于業(yè)務授權請求的解析過程是,根據(jù)業(yè)務授權請求中的協(xié)議類型,以及業(yè)務授權請求的描述(特征參數(shù)集合配置,業(yè)務授權請求特征配置),對業(yè)務授權請求進行解析;其中,解析獲得的目標參數(shù)包括特征參數(shù)的值和非特征參數(shù)的值,具體包括以下步驟:
1)根據(jù)業(yè)務授權請求上文的格式,確定業(yè)務授權請求的具體格式;
2)根據(jù)預設的特征參數(shù)集合配置,解析業(yè)務授權請求中的特征參數(shù),特征參數(shù)定義了業(yè)務授權請求對于數(shù)據(jù)的訪問方式(讀/寫/更新/刪除等),訪問的是什么對象等信息;
3)根據(jù)預設的業(yè)務授權請求特征配置,即預先設定的特征參數(shù)與特征碼的對應關系,構造出與該業(yè)務授權請求對應的特征碼(即是業(yè)務授權請求到概念映射的名稱);
4)解析其它非特征參數(shù)。
舉例說明如下:
例如,特征參數(shù)集合的定義如下:
上述程序中分別定義了三種特征參數(shù),分別是"mod"、"act"以及"type"。
例如,業(yè)務授權請求特征配置定義如下:
上述程序定義了兩種特征碼,以及該兩種特征碼所對應的特征碼的名稱name,比如,有下面的特征參數(shù):
url:"mod=order&act=del&g_tk=1455764208&d_p=0.9010524866093179"
body:"owner=1000&cost_type=1&cost_price=2.08&aid=13"
解析如下:
a)根據(jù)請求中url參數(shù)的值以及協(xié)議格式(key/value),在url中掃描解析key為“mod”,“act”以及“type”的特征參數(shù);
b)url:"mod=order&act=del&g_tk=1455764208&d_p=0.9010524866093179"中解析出“mod=order”和“act=del”;
c)然后根據(jù)業(yè)務授權請求特征“service_request”集合中的定義,構造出業(yè)務授權請求的特征碼“mod=order&act=del”;根據(jù)請求的特征碼匹配到特征碼的名稱“order_del”;特征碼的名稱是業(yè)務授權請求到概念網(wǎng)絡的映射橋梁;
d)最后,解析其它的非特征參數(shù):owner,cost_type,cost_price和aid。
第一確定模塊102,用于根據(jù)所述目標特征碼,確定所述業(yè)務授權請求映射的概念子網(wǎng),所述概念子網(wǎng)中包括所述第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系;
本發(fā)明實施例中,目標特征碼即是業(yè)務授權請求對應的特征碼,根據(jù)該目標特征碼確定該業(yè)務授權請求映射的概念子網(wǎng),該概念子網(wǎng)是復雜的概念體系中的一部分,服務器中預先設置了多種特征碼的名稱與各個概念子網(wǎng)之間的映射關系。復雜的概念體系用于表示各個業(yè)務權限域之間的復雜關聯(lián)關系。
具體可選的,概念體系包括,實體(概念主體),關系(概念主體和主體間的依賴關系),概念圖(一個或者多個相近概念主體形成的概念包),概念層(多個互相協(xié)作的概念圖形成的概念層級),概念網(wǎng)(多層概念形成的立體概念網(wǎng)絡)等。下面的圖5即描述了概念圖的內容,概念圖中定義了源實體和目的實體之間的關聯(lián)關系,比如依賴關系。
圖6描述了實體的構成(實體元),其中,實體元數(shù)據(jù)描述了實體的屬性以及實體包含的域。根據(jù)目標特征碼描述的概念子網(wǎng)即包括第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系,比如,若第三方是廣告公司,廣告公司的權限域包括各種廣告的屬性,目標權限域為提供廣告位進行廣告播放的業(yè)務方,預先定義了該兩個權限域的實體之間需要進行訪問時的一些策略,比如,提供廣告位的業(yè)務方可以定義所播放廣告的領域,以及還可以定義廣告位的長和寬等等,而廣告公司所提供的各種廣告屬性需要滿足廣告位業(yè)務方的各種屬性要求才能進行授權播放,于是廣告公司的各種廣告屬性的實體與廣告位的各種屬性實體之間存在一定的關聯(lián)關系,該關聯(lián)關系即構成概念子網(wǎng)。
具體可選的,把業(yè)務授權請求解析出來的數(shù)據(jù)對象映射到概念子網(wǎng)的詳細描述如下:
1)根據(jù)業(yè)務授權請求解析構造出來的特征碼的名稱“order_del”,查詢業(yè)務授權請求映射到的具體概念子網(wǎng);
2)根據(jù)映射到的具體概念子網(wǎng),依次將業(yè)務授權請求中解析出來的目標參數(shù)的值(鍵值對或者對象)映射到概念子網(wǎng)中的域(權限),數(shù)據(jù)庫,實體,域(字段),以及值??赡?,有些目標參數(shù)映射不到概念子網(wǎng)。
3)映射不到的目標參數(shù),系統(tǒng)可以記錄,智能學習。
例如:概念映射集合定義如下,即是特征碼的名稱到概念子網(wǎng)的映射關系:
繼續(xù)以上述特征碼的名稱為例說明概念映射:
a)根據(jù)概念映射的定義,把特征碼的名稱“order_del”匹配到request_name為"order_del"的概念子網(wǎng);
b)然后依次把鍵值對的鍵“aid”和“owner”映射到概念子網(wǎng)的實體對象為"Tbl_AdGroup_"的“FUId”和“FAId”。
第二確定模塊103,用于將所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)進行校驗,并根據(jù)校驗結果確定是否能夠訪問所述目標業(yè)務權限域。
本發(fā)明實施例中,當確定了該業(yè)務授權請求映射的概念子網(wǎng)后,即將目標參數(shù)也映射到了概念子網(wǎng)上,進一步將目標參數(shù)的值與概念子網(wǎng)中的數(shù)據(jù)進行檢驗,根據(jù)校驗結果確定是否能夠訪問目標業(yè)務權限域。
具體可選的,校驗過程可以是,遍歷概念子網(wǎng),判定生成授權結果集,通常校驗一次,即產(chǎn)生一個校驗結果,所有校驗結果組成結果集。詳細流程描述如圖8所示:
1)在經(jīng)過業(yè)務授權請求的概念映射后,已經(jīng)確定出第三方對數(shù)據(jù)的訪問方式,所在權限域,以及概念子網(wǎng)等。
2)根據(jù)映射后生成的概念子網(wǎng),依據(jù)概念圖和實體元,結合數(shù)據(jù)項及其值,從概念子網(wǎng)中的某個概念圖開始,根據(jù)概念圖中定義涉及到的實體,以及實體之間的關系,依次從概念子網(wǎng)中讀取相關的數(shù)據(jù)和目標參數(shù)的值進行比對校驗。
3)如果數(shù)據(jù)校驗一致,則校驗結果為通過(Y),數(shù)據(jù)校驗有沖突時,校驗結果為不通過(N),其它可能的結果為灰度待定(G),比如,在匹配廣告位時,若廣告位的長度與概念子網(wǎng)中預先設定的長度相同,則校驗結果為通過,若不同,則校驗結果為不通過。
4)概念子網(wǎng)遍歷校驗過程中,每一步遍歷都可能形成一個校驗結果(Y/N/G);校驗結果暫時存入結果集中;
5)概念子網(wǎng)遍歷完成后,形成一個結果集;
6)最后,對于結果集綜合判斷,結合系統(tǒng)權限域以及仲裁機制,得出最終的授權結果(Y/N)。
具體的,對結果集進行處理的方式請參照圖9所示,結果集處理即是對于多個校驗結果綜合判定,形成最終的業(yè)務請求授權結果。
具體的處理方法如下:
1)如果結果集中的所有校驗結果(Y/N)都是是一致的(Y/N),則形成最終授權結果(Y/N);
2)如果結果集中的校驗結果中存在有沖突的兩個或者多個校驗結果存在(即校驗結果不同),則判斷存在沖突的校驗結果是否屬于概念子網(wǎng)的同一級別,如果是同一級別,則依據(jù)優(yōu)先級對于沖突的校驗結果進行聚合,聚合后的結果再依據(jù)1)的描述,確定最終授權結果(Y/N),比如廣告位的長與概念子網(wǎng)中預先設定的值存在沖突,即不通過,而寬沒有存在沖突,即通過,則可以根據(jù)優(yōu)先級來判斷,比如,長的優(yōu)先級高于寬,即長是更加重要的,那么聚合結果為不通過;
3)如果結果集中的校驗結果中有沖突的兩個或者多個校驗結果存在,并且沖突的校驗結果不屬于概念子網(wǎng)的同一級別,則由系統(tǒng)根據(jù)系統(tǒng)的授權策略做進一步仲裁,系統(tǒng)授權策略即是系統(tǒng)預先設定的規(guī)則,比如系統(tǒng)設定只要廣告位的長度不相同,即不通過,那整個授權結果為不通過;
4)如果系統(tǒng)仲裁成功,形成最終授權結果(Y/N),否則,產(chǎn)生告警或者預警。
當接收到第三方的業(yè)務授權請求時,對業(yè)務授權請求進行解析,獲得該業(yè)務授權請求攜帶的目標參數(shù)的值;根據(jù)目標參數(shù)中的預設參數(shù),構建與業(yè)務授權請求對應的目標特征碼,根據(jù)該目標特征碼,確定業(yè)務授權請求映射的概念子網(wǎng),該概念子網(wǎng)中包括第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系,將目標參數(shù)的值與概念子網(wǎng)中的數(shù)據(jù)進行校驗,并根據(jù)校驗結果確定是否能夠訪問該目標業(yè)務權限域,這種方式可以在不依賴業(yè)務場景的情況下,完全基于業(yè)務授權請求本身的預設參數(shù)驅動,實現(xiàn)業(yè)務數(shù)據(jù)的訪問授權。
請參照圖11,為本發(fā)明實施例提供的一種第二確定模塊的結構示意圖,如圖所示,本發(fā)明實施例的第二確定模塊103包括校驗單元1030和確定單元1031;
校驗單元1030,用于遍歷所述概念子網(wǎng),將所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)進行校驗,生成結果集,所述結果集包括至少一個校驗結果;
本發(fā)明實施例中,在確定了業(yè)務授權請求映射的概念子網(wǎng)后,即遍歷該概念子網(wǎng),即將目標參數(shù)的值與概念子網(wǎng)中的數(shù)據(jù)進行校驗,生成結果集,需要說明的是,每遍歷一步即產(chǎn)生一個校驗結果,結果集中包括至少一個校驗結果。
具體可選的,所述校驗單元1030具體用于
若所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)校驗一致,則生成具有第一標識的校驗結果;
若所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)校驗不一致,則生成具有第二標識的校驗結果;
將所有所述目標參數(shù)的值與所述概念子網(wǎng)中的數(shù)據(jù)的校驗結果生成結果集。
本發(fā)明實施例中,目標參數(shù)包括多個特征參數(shù)以及多個非特征參數(shù),在對概念子網(wǎng)進行遍歷之前,將該多個特征參數(shù)以及非特征參數(shù)映射至概念子網(wǎng)對應的域(權限),數(shù)據(jù)庫,實體,域(字段),以及值,然后將目標參數(shù)的值與該目標參數(shù)所映射的概念子網(wǎng)中數(shù)據(jù)進行校驗,校驗一致,則生成第一標識的校驗結果,第一標識可以是Y,即通過校驗,若校驗不一致,則生成第二標識的校驗結果,第二標識可以是N,即不通過校驗,每一步遍歷即產(chǎn)生一個校驗結果,所有校驗結果即生成結果集。
確定單元1031,用于根據(jù)所述結果集中的所述至少一個校驗結果,確定是否能夠訪問所述目標業(yè)務權限域。
具體可選的,請參照圖12,為本發(fā)明實施例提供的一種確定單元的結構示意圖,如圖所示,本發(fā)明實施例的確定單元1031可以包括第一確定子單元10310、第二確定子單元10311以及第三確定子單元10312;
第一確定子單元10310,用于若所述結果集中的所有校驗結果均具有所述第一標識,則確定能夠訪問所述目標業(yè)務權限域;
第二確定子單元10311,用于若所述結果集中的所有校驗結果均具有所述第二標識,則確定不能夠訪問所述目標業(yè)務權限域;
第三確定子單元10312,用于若所述結果集中的所有校驗結果中既存在具有所述第一標識的校驗結果,又存在具有所述第二標識的校驗結果,則根據(jù)預設沖突策略確定是否能夠訪問所述目標業(yè)務權限域。
所述第三確定子單元10312具體用于若所述結果集中的所有校驗結果中既存在具有所述第一標識的校驗結果,又存在具有所述第二標識的校驗結果,判斷所述具有所述第一標識的校驗結果和具有所述第二標識的校驗結果是否在所述概念子網(wǎng)中的同一層級;
若是同一層級,則根據(jù)預設優(yōu)先級策略確定是否能夠訪問所述目標業(yè)務權限域;
若不是同一層級,則根據(jù)預設系統(tǒng)授權策略確定是否能夠訪問所述目標業(yè)務授權域。
本發(fā)明實施例中,請參照圖9所示,如果結果集中的所有校驗結果(第一標識為Y/第二標識為N)都是是一致的(Y/N),則形成最終授權結果(Y/N);如果結果集中的校驗結果中存在有沖突的兩個或者多個,則判斷沖突的校驗結果是否屬于概念子網(wǎng)的同一級別,如果是同一級別,則依據(jù)優(yōu)先級對于沖突的結果進行聚合。再依據(jù)聚合后的結果確定最終授權結果(Y/N)。
如果結果集的校驗結果中存在有沖突的兩個或者多個,并且沖突的校驗結果不屬于同一級別,則由系統(tǒng)根據(jù)系統(tǒng)的授權策略做進一步仲裁;如果系統(tǒng)仲裁成功,形成最終授權結果(Y/N),否則,產(chǎn)生告警或者預警。
當接收到第三方的業(yè)務授權請求時,對業(yè)務授權請求進行解析,獲得該業(yè)務授權請求攜帶的目標參數(shù)的值;根據(jù)目標參數(shù)中的預設參數(shù),構建與業(yè)務授權請求對應的目標特征碼,根據(jù)該目標特征碼,確定業(yè)務授權請求映射的概念子網(wǎng),該概念子網(wǎng)中包括第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系,將目標參數(shù)的值與概念子網(wǎng)中的數(shù)據(jù)進行校驗,并根據(jù)校驗結果確定是否能夠訪問該目標業(yè)務權限域,這種方式可以在不依賴業(yè)務場景的情況下,完全基于業(yè)務授權請求本身的預設參數(shù)驅動,實現(xiàn)業(yè)務數(shù)據(jù)的訪問授權。
請參照圖13,為本發(fā)明實施例提供的一種第一確定模塊的結構示意圖,如圖所示,本發(fā)明實施例的第一確定模塊102包括第一查詢單元1020和第二查詢單元1021;
第一查詢單元1020,用于查詢與所述目標特征碼對應的目標特征碼的名稱,一個特征碼對應一個特征碼的名稱;
本發(fā)明實施例中,一種特征參數(shù)組合對應一種特征碼,根據(jù)目標參數(shù)中的特征參數(shù),可以構建與業(yè)務授權請求對應的目標特征碼,一種特征碼對應一種特征碼的名稱,因此可以查詢與目標特征碼對應的目標特征碼的名稱。
第二查詢單元1021,用于查詢與所述目標特征碼的名稱對應的概念子網(wǎng),一個特征碼的名稱對應一個概念子網(wǎng)。
當接收到第三方的業(yè)務授權請求時,對業(yè)務授權請求進行解析,獲得該業(yè)務授權請求攜帶的目標參數(shù)的值;根據(jù)目標參數(shù)中的預設參數(shù),構建與業(yè)務授權請求對應的目標特征碼,根據(jù)該目標特征碼,確定業(yè)務授權請求映射的概念子網(wǎng),該概念子網(wǎng)中包括第三方的業(yè)務權限域中的概念實體與預訪問的目標業(yè)務權限域的概念實體之間的關聯(lián)關系,將目標參數(shù)的值與概念子網(wǎng)中的數(shù)據(jù)進行校驗,并根據(jù)校驗結果確定是否能夠訪問該目標業(yè)務權限域,這種方式可以在不依賴業(yè)務場景的情況下,完全基于業(yè)務授權請求本身的預設參數(shù)驅動,實現(xiàn)業(yè)務數(shù)據(jù)的訪問授權。
本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,附圖10-附圖13所示業(yè)務授權裝置對應的程序可存儲在服務器的可讀存儲介質內,并被該服務器中的至少一個處理器執(zhí)行,以實現(xiàn)上述業(yè)務授權方法,該方法包括圖1-圖3中方法實施例所述的流程。其中,所述的存儲介質可為磁盤、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權利范圍,因此依本發(fā)明權利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。