一種基於實時權限控制的企業管理軟體搜尋引擎集成方法
2023-06-10 22:36:51 1
專利名稱:一種基於實時權限控制的企業管理軟體搜尋引擎集成方法
技術領域:
本發明涉及管理軟體業務數據搜索領域,具體地說是一種基於實時權限控制的企業管理軟體搜尋引擎集成方法。
背景技術:
隨著企業信息信息化的深入,業務系統產生的信息量越來越大,為了讓企業用戶可以深度、全方位掌控企業數據,越來越多的企業通過搜索來實現企業信息的快速檢索,而由於開發搜尋引擎的技術難度及成本較高,管理軟體企業多以集成第三方搜尋引擎為主。區別於網際網路搜尋引擎,企業搜尋引擎對數據安全有較高的要求,企業用戶必須只能搜索到自己擁有訪問權限的信息。企業管理軟體通常採用基於RBAC的權限控制模型或其改進模型,而搜尋引擎考慮到性能往往採用基於屬性過濾的方式實現權限控制。另外由於搜尋引擎採用索引這種快照式的信息存儲方式,管理軟體中的權限信息具有動態性, 企業管理軟體與搜尋引擎的集成需要解決不同權限控制模型以及權限信息不同態勢的匹配問題。
發明內容
本發明的技術任務是針對上述現有技術的不足,提供一種基於實時權限控制的企業管理軟體搜尋引擎集成方法。該方法充分利用搜尋引擎提供的條件越多,返回結果集關聯性越高、越迅速的特點,在爬取階段及搜索階段自動綁定通用維度信息,提升基於權限過濾的搜索性能。通過對返回結果集的實時權限過濾實現嚴密的安全企業搜索。為企業管理軟體與搜尋引擎提供一種高效、安全的集成方法。本發明的技術任務是按以下方式實現的一種基於實時權限控制的企業管理軟體搜尋引擎集成方法,分為關鍵字索引和關鍵字搜索兩個階段
在關鍵字索引時搜尋引擎將通用維度信息爬取到索引條目的屬性中; 在關鍵字搜索時管理軟體系統中操作用戶與搜尋引擎中的用戶會話綁定,對關鍵字的搜索請求連同所屬通用維度信息一併傳入搜尋引擎,搜尋引擎通過關鍵字及通用維度信息先對搜索結果進行第一次過濾,對於返回的結果調用管理軟體權限過濾服務進行實時過濾ο進一步的,搜尋引擎在創建內容索引時需要將內容條目關聯的通用維度信息作為屬性爬取到索引條目中,用以縮小搜索時查找的數據範圍,提升搜索性能。所述通用維度信息為可以適用於大多數業務實體,並可以用作過濾的屬性,包括當前用戶所隸屬的組織、當前用戶所擁有的權限角色。在關鍵字搜索階段,管理軟體登錄用戶通過操作界面發出搜索指令,搜索指令首先通過搜索選項擴展模塊將用戶搜索上下文中的通用維度信息附加到搜索命令中,搜尋引擎在檢索關鍵字時,將附加的維度信息用作過濾條件,搜尋引擎返回用戶擁有權限的小範圍相關數據;
搜尋引擎返回的數據採用分頁方式提供;
搜尋引擎返回的數據需要再次經過搜索結果過濾模塊依據管理軟體資料庫中的權限分配信息進行實時權限過濾。本發明的基於實時權限控制的企業管理軟體搜尋引擎集成方法與現有技術相比具有以下突出的有益效果
(一)相比傳統的關鍵字原封中轉模式,加入了輔助的過濾條件,滿足了企業搜索對權限過濾的需求,提升了搜索的關聯性和性能。同時對分頁的有限結果輔以實時權限過濾,實現了嚴密的安全企業搜索集成。(二)通過對搜索結果進行實時權限過濾的方式實現,以達到企業管理軟體中主體的權限變更可以實時體現到其搜索搜索結果中的目的。(三)本發明提供的搜尋引擎集成方法,並不與任何具體的應用系統存在依存關係,是一個開放的模型,具有較廣泛的適應性。
附圖1是本發明基於實時權限控制的企業管理軟體搜尋引擎集成方法中關鍵模塊構成附圖2是本發明基於實時權限控制的企業管理軟體搜尋引擎集成方法的工作原理示意圖。
具體實施例方式參照說明書附圖以具體實施例對本發明的基於實時權限控制的企業管理軟體搜尋引擎集成方法作以下詳細地說明。實施例一
如附圖1所示,本發明的高效的基於實時權限控制的企業管理軟體搜尋引擎集成方法包括索引和搜索兩個階段。索引階段。主要通過搜尋引擎的索引插件模塊來實現企業管理軟體被索引數據與通用維度信息(可以適用於大多數業務實體,並可以用作過濾的屬性,例如組織ID、角色ID 等)的關聯,並作為索引條目的屬性爬取到索引當中去,用以在搜索時依據這些維度進行過
濾ο索引的對象以企業管理軟體資料庫中的業務實體數據為單元,通過結構化查詢語言對業務實體數據和通用維度數據關係進行關聯,將通用維度信息綁定到業務實體的每一條記錄中,然後以關聯後的結構作為索引條目的輸入。搜索階段。主要通過企業管理軟體中的搜索選項擴展模塊根據搜索用戶的上下文動態追加搜索屬性來實現搜索範圍的縮小以提升搜索性能,並且最終結果通過搜索結果過濾模塊對結果數據進行實時的權限過濾。搜索選項擴展模塊接收到用戶的搜索請求後,首先模擬搜尋引擎的用戶進行登錄,然後會從當前登錄的企業管理軟體用戶會話的上下文中獲取跟數據源相關的通用信息維度數據,並且將這些維度信息作為搜尋引擎搜索API中的過濾屬性參數連同關鍵字一併傳入搜尋引擎。搜尋引擎在從索引中提取搜索結果時,會根據傳入的過濾條件進行篩選,這樣會過濾掉大量不相關的搜索結果。最終搜索結果以分頁的方式返回。這種通過追加搜索過濾條件的方式已經對搜索結果進行了限定,包括僅返回當前用戶角色所擁有權限的內容,但是由於索引數據是定期爬取的,因此如果再此期間,管理軟體系統中的權限發生變更則無法在搜索結果中立即得到應用。而搜索結果過濾模塊則提供實時權限過濾的能力。搜尋引擎將有限的分頁搜索結果交給搜索結果過濾模塊,搜索結果過濾模塊根據當前登錄用戶的擁有的權限對返回的搜索結果進行實時檢查,篩選掉沒有權限的結果。實施例二
如附圖2所示,與本發明所述方法的兩個階段對應,實施例二分為三個步驟,分別數據源定義、索引爬取、關鍵字搜索。在數據源定義步驟,搜索設計人員根據需要搜索的業務實體對應的數據表進行分析,確定要搜索的欄位,如附圖2所示的訂單表(Orders)為例,搜索關心的是產品(Product)和描述(Description)兩列,假設一個客戶只能隸屬於一個組織 (Organization),那麼非當前用戶所在組織的訂單數據當前用戶是不允許看到的,因此組織可以作為一個過濾維度。除了數據表中的這三列,我們還希望增加角色(Role)列,用以存儲哪些角色擁有這張訂單的訪問權限,這一列可以與角色權限分配表(RolePermissions) 關聯獲得。這樣我們創建了一個包含產品、描述、組織、角色在內的一個搜索視圖,產品和描述列用於關鍵字索引,而組織和角色列則設定為過濾欄位。在索引爬取步驟,搜尋引擎會根據調度計劃對訂單數據源的這四列進行索引爬取,創建可以快速檢索關鍵字和根據條件過濾的索引。在關鍵字搜索階段,如附圖2中的搜索階段所示,用戶在企業管理軟體的搜索界面中輸入關鍵字「P1」後,管理軟體中的搜索選項擴展模塊會根據訂單數據源的定義獲取到組織和角色為過濾欄位,而這兩個屬性值在用戶登錄應用系統時已經初始到會話上下文中,搜索選項擴展模塊將會話上下文中的用戶ID和角色ID賦值給搜索API的過濾參數。搜尋引擎僅需要在組織ID為「Al」,角色ID包含「R01」的索引中匹配關鍵字「P1」即可。這會大幅縮小有效結果數量。搜索結果返回給搜索結果過濾模塊,如果此時修改「R01」的角色不再擁有001的權限,那麼「P1」將不會被返回。
權利要求
1.一種基於實時權限控制的企業管理軟體搜尋引擎集成方法,其特徵在於該方法分為關鍵字索引和關鍵字搜索兩個階段在關鍵字索引時搜尋引擎將通用維度信息爬取到索引條目的屬性中;在關鍵字搜索時管理軟體系統中操作用戶與搜尋引擎中的用戶會話綁定,對關鍵字的搜索請求連同所屬通用維度信息一併傳入搜尋引擎,搜尋引擎通過關鍵字及通用維度信息先對搜索結果進行第一次過濾,對於返回的結果調用管理軟體權限過濾服務進行實時過濾O
2.根據權利要求1所述的基於實時權限控制的企業管理軟體搜尋引擎集成方法,其特徵在於搜尋引擎在創建內容索引時需要將內容條目關聯的通用維度信息作為屬性爬取到索引條目中,用以縮小搜索時查找的數據範圍,提升搜索性能。
3.根據權利要求2所述的基於實時權限控制的企業管理軟體搜尋引擎集成方法,其特徵在於所述通用維度信息為可以適用於大多數業務實體,並可以用作過濾的屬性,包括當前用戶所隸屬的組織、當前用戶所擁有的權限角色。
4.根據權利要求1所述的基於實時權限控制的企業管理軟體搜尋引擎集成方法,其特徵在於在關鍵字搜索階段,管理軟體登錄用戶通過操作界面發出搜索指令,搜索指令首先通過搜索選項擴展模塊將用戶搜索上下文中的通用維度信息附加到搜索命令中,搜尋引擎在檢索關鍵字時,將附加的維度信息用作過濾條件,搜尋引擎返回用戶擁有權限的小範圍相關數據;搜尋引擎返回的數據採用分頁方式提供;搜尋引擎返回的數據需要再次經過搜索結果過濾模塊依據管理軟體資料庫中的權限分配信息進行實時權限過濾。
全文摘要
本發明公開了一種基於實時權限控制的企業管理軟體搜尋引擎集成方法,屬於管理軟體業務數據搜索領域。該方法分為關鍵字索引和關鍵字搜索兩個階段在關鍵字索引時搜尋引擎將通用維度信息爬取到索引條目的屬性中;在關鍵字搜索時管理軟體系統中操作用戶與搜尋引擎中的用戶會話綁定,對關鍵字的搜索請求連同所屬通用維度信息一併傳入搜尋引擎,搜尋引擎通過關鍵字及通用維度信息先對搜索結果進行第一次過濾,對於返回的結果調用管理軟體權限過濾服務進行實時過濾。與現有技術相比,本發明的基於實時權限控制的企業管理軟體搜尋引擎集成方法具有安全、實時、高效的特點。
文檔編號G06F17/30GK102214235SQ20111017855
公開日2011年10月12日 申請日期2011年6月29日 優先權日2011年6月29日
發明者鄭偉波, 閆偉 申請人:浪潮集團山東通用軟體有限公司