頁面導航方法和裝置及應用伺服器的製作方法
2023-09-17 15:24:45 3
專利名稱:頁面導航方法和裝置及應用伺服器的製作方法
技術領域:
本發明涉及動態頁面技術領域,具體涉及一種頁面導航方法和裝置及應用伺服器。
背景技術:
隨著網際網路應用的日益深化和拓展,在很多應用場合,例如大規模企業級應用等情況,普遍從桌面應用轉變為客戶機/伺服器(C/SClient/Service)應用,並已逐漸開始從C/S應用轉變為瀏覽器/伺服器(B/SBrowser/Server)應用。在B/S應用中用戶通過超連結導航到不同的頁面,得到伺服器提供的各種服務。
B/S應用中用戶從伺服器得到的最小完整單位是頁面,用戶向伺服器發送請求,並從伺服器得到一個可供瀏覽器展示的響應頁面。隨著應用複雜性的日益增加,網際網路應用頁面逐漸由靜態的頁面展示發展出基於導航邏輯的動態頁面技術。目前業界主要有如下兩種實現導航邏輯的方式一、以頁面為中心的導航該方式以動態伺服器頁面(ASPActive Server Pages)技術為代表。ASP的一種導航運行如圖1所示導航邏輯11被直接硬編碼在伺服器頁面1中,用戶通過瀏覽器2向伺服器頁面1請求導航,伺服器頁面1中導航邏輯11的代碼接受請求並根據用戶的請求信息進行導航,展示邏輯12的代碼則提供內容格式、編排等處理,將導航獲得的響應頁面內容展示到用戶瀏覽器2;導航邏輯11也可根據對用戶請求的處理結果在彼此之間轉發請求。
此方案的缺陷在於雖然結構簡單,但是導航邏輯與頁面展示邏輯混淆在伺服器頁面中,隨著項目複雜性的增加,展示邏輯代碼與導航邏輯代碼相互纏繞,導致伺服器頁面代碼的可維護性下降;並且,由於導航邏輯以代碼的形式存在,存在比較高的定製門檻,使客戶難以使用。
二、使用前端控制器導航該方式以Java伺服器頁面(JSPJava Server Pages)技術為代表。JSP的一種導航運行如圖2所示通過一個前端控制器3接受用戶瀏覽器4的請求,前端控制器3根據導航配置文件5中的導航邏輯配置51的定義以及請求信息進行匹配,查找到對應的導航邏輯,然後調用導航邏輯命令6中真正的導航邏輯進行運算,獲得導航結果,結果可能是相應的伺服器頁面7,也可能是請求的轉發。
在這種方式下,導航過程被劃分在前端控制器3、導航邏輯命令6的命令對象、導航配置文件5中。其中真正的導航邏輯封裝於導航邏輯命令6的命令對象中,導航配置文件5為前端控制器3提供了導航邏輯命令對象的查找表;伺服器頁面7中僅需要包含展示邏輯71。
此方案實現了導航邏輯與展示邏輯的分離,但缺陷在於導航配置文件實際上充當的只是註冊表或查找表的作用,真正的導航邏輯存在於導航邏輯命令對象中,導航邏輯命令對象的修改需要經過開發、編譯、打包、部署等過程,不能或者很難在運行期定製;並且由於導航邏輯配置文件中並沒有真正的導航邏輯,因此無法做到很好的導航邏輯配置。
發明內容
有鑑於此,一方面,提供一種易於進行運行期導航邏輯定製的頁面導航方法,包括步驟接收頁面請求;根據所述頁面請求進行規則匹配;按照匹配到的規則執行規則的結果,轉發頁面請求或導航到相應的伺服器頁面。
同時,還提供相應的幾種頁面導航裝置其一包括前端控制器和規則引擎;所述前端控制器,用於接收頁面請求;解析所述頁面請求獲得請求信息;所述規則引擎,用於根據所述前端控制器解析獲得的請求信息進行規則匹配;按照匹配到的規則執行規則的結果,轉發頁面請求或導航到相應的伺服器頁面。
另一包括前端控制器和規則引擎;所述前端控制器,用於接收頁面請求;解析所述頁面請求獲得請求信息,所述請求信息中包括被請求頁面的統一資源地址;根據所述統一資源地址在地址規則包中進行匹配,選擇相應的導航邏輯規則包;所述規則引擎,用於在所述前端控制器選定的導航邏輯規則包中根據所述請求信息進行規則匹配;按照匹配到的規則執行規則的結果,轉發頁面請求或導航到相應的伺服器頁面。
再一包括前端控制器、導航配置模塊、通用命令模塊和規則引擎;所述前端控制器,用於接收頁面請求;解析所述頁面請求獲得請求信息;根據所述請求信息向所述導航配置模塊查找導航配置文件;根據所述導航配置文件從所述通用命令模塊中選擇與所述請求信息相應的通用導航命令;所述導航配置模塊,用於提供導航配置文件;所述通用命令模塊,用於提供通用導航命令;根據所述前端控制器選擇的通用導航命令調用所述規則引擎;執行所述規則引擎返回的規則的結果,轉發頁面請求或導航到相應的伺服器頁面;所述規則引擎,用於根據所述通用命令模塊的調用進行規則匹配,將匹配到的規則的結果返回給所述通用命令模塊。
以及,一種應用伺服器,包括頁面導航單元和頁面展示單元;所述頁面導航單元,用於接收頁面請求;根據所述頁面請求進行規則匹配;按照匹配到的規則執行規則的結果,轉發頁面請求或導航到所述頁面展示單元;所述頁面展示單元,用於根據所述頁面導航單元導航的信息,按照展示邏輯向用戶返回頁面響應。
採用上述技術方案,本發明實施例通過規則匹配來生成和執行導航邏輯,避免了直接將真實導航邏輯代碼化,基於規則配置形式的規範性,能夠提供可視化工具支持的能力,用戶可通過對規則配置的修改,方便地進行導航邏輯的運行期定製;同時,由於規則配置直接影響匹配得到的導航邏輯,因此用戶能夠對導航邏輯進行很好的維護。
圖1是現有ASP技術頁面導航運行示意圖;圖2是現有JSP技術頁面導航運行示意圖;圖3是本發明實施例頁面導航方法基本流程示意圖;圖4是本發明實施例一頁面導航方法流程示意圖;圖5是本發明實施例二頁面導航方法流程示意圖;圖6是本發明實施例三頁面導航方法流程示意圖;圖7是本發明實施例四頁面導航裝置示意圖;圖8是本發明實施例一方法由實施例四裝置運行的示意圖;
圖9是本發明實施例六頁面導航裝置示意圖;圖10是本發明實施例三方法由實施例六裝置運行的示意圖;圖11是本發明實施例七應用伺服器示意圖。
下面通過具體實施方式
並結合附圖對本發明作進一步的詳細說明。
具體實施例方式
本發明實施例提供了一種頁面導航方法,採用規則匹配來生成和執行導航邏輯,基本步驟如圖3所示,包括A1、接收頁面請求;頁面請求可以直接來自用戶,也可以來自之前導航的結果;A2、根據所述頁面請求進行規則匹配;在本發明實施例中,代碼式的導航邏輯被規則化描述的導航規則所取代,執行頁面導航的過程成為根據規則配置進行規則匹配的過程;A3、按照匹配到的規則執行規則的結果,轉發頁面請求或導航到相應的伺服器頁面;規則的結果即需要執行的導航邏輯,具體結果可分為兩類,一類是導航到某個頁面,則導航過程結束;另一類是轉發頁面請求,則繼續重複上述過程直到導航結束。當然,在規則匹配的過程中,也可能因為請求本身的原因,例如參數錯誤或用戶權限不足等,導致無法匹配或匹配不成功,這些情況可視為匹配到展示相應錯誤頁面的導航邏輯,同樣導致導航結束,所響應的頁面為特定的錯誤頁面。
本發明實施例還提供相應的頁面導航裝置及應用伺服器。下面以具體的例子分別對本發明實施例方法和設備進行詳細說明。
實施例一、一種頁面導航方法,流程如圖4所示,包括B1、接收頁面請求;B2、解析所述頁面請求獲得請求信息;頁面請求中包含的請求信息可包括被請求頁面的統一資源地址(URLUniversal Resource Locator)、請求參數、Cookie、瀏覽器環境變量以及請求的內容等;這些信息為後續進行的規則匹配提供條件;
B3、根據所述請求信息調用規則引擎進行規則匹配;通常,規則包含四個主要組成部分名稱、條件、限定和結果,名稱表明了規則的友好的名字,可以通過名字記住這個規則,便於用戶的使用;規則的條件是一組布爾表達式,用於使用規則因子來匹配傳入的事實,進行規則運算;規則的限定表示了規則的權重,分組等信息;規則的結果即為期望獲得的內容,可以是賦值,表達式,也可以是動作。進行規則匹配通常包括1、加載規則包;規則包中包含了對規則的配置,通常由一組相關的規則形成,所加載的規則包可以是默認的也可以是指定的,本實施例中不對規則進行具體分類,因此只需加載默認的規則包;2、生成規則工作上下文;上下文(Working Context)是規則的運行環境;通常,規則在運算過程中需要申請內存,建立、存儲和銷毀臨時變量,都在該運行環境中進行;規則運算中傳入的事實可傳遞給規則上下文,規則在運算的時候從上下文中獲取事實信息;此外,一次規則匹配還可能會涉及到多個規則的運算,上下文可以保證在多個規則的運算過程中共享數據;3、根據所述請求信息的內容,通過規則的條件表達式進行匹配;B4、按照匹配到的規則執行規則的結果,轉發頁面請求或導航到相應的伺服器頁面;若結果為導航到某個頁面,則導航過程結束;若結果為轉發頁面請求,則繼續重複上述過程直到導航結束。
實施例二、一種頁面導航方法,流程如圖5所示,本實施例的特點在於對規則按照URL進行分類,方法包括C1、接收頁面請求;C2、解析所述頁面請求獲得請求信息,其中包括被請求頁面的URL;C3、根據被請求頁面的URL在地址規則包中進行匹配,選擇相應的導航邏輯規則包;在本實施例中相關的規則採用URL劃分成不同的導航邏輯規則包。URL與導航邏輯規則包的對應關係構成地址規則包。在執行導航的時候,先根據URL信息匹配相應的導航邏輯規則包,再進行導航邏輯的規則匹配,從而達到模塊化的效果。
C4、調用規則引擎在選定的導航邏輯規則包中根據所述請求信息進行規則匹配;規則匹配的過程與實施例一中步驟B3的過程類似,只是本實施例中進行規則匹配時所加載的規則包即為指定的導航邏輯規則包;C5、按照匹配到的規則執行規則的結果,轉發頁面請求或導航到相應的伺服器頁面;若結果為導航到某個頁面,則導航過程結束;若結果為轉發頁面請求,則繼續重複上述過程直到導航結束。
實施例三、一種頁面導航方法,流程如圖6所示,本實施例的特點在於基於現有「查找導航配置文件,調用導航邏輯命令對象」的方法,通過將導航邏輯命令對象中的導航邏輯提取為規則,增加對導航邏輯的定製能力,方法包括D1、接收頁面請求;D2、解析所述頁面請求獲得請求信息;D3、根據所述請求信息查找導航配置文件,選擇相應的通用導航命令;D4、由選定的通用導航命令調用規則引擎根據所述請求信息進行規則匹配;在本實施例中,導航配置文件所對應的導航命令中不再包含實際的導航邏輯,因此稱為通用導航命令;導航邏輯被提取成規則,通過通用導航命令調用規則引擎來生成完整的導航邏輯;規則匹配的過程與實施例一中步驟B3的過程類似,本實施例中進行規則匹配時所加載的規則包可以選擇默認的規則包,即不對規則進行分類;也可以根據選擇的通用導航命令指定加載對應的規則包;D5、按照匹配到的規則執行規則的結果,轉發頁面請求或導航到相應的伺服器頁面;若結果為導航到某個頁面,則導航過程結束;若結果為轉發頁面請求,則繼續重複上述過程直到導航結束。
本實施例的好處在於可直接應用於現有採用前端控制器架構的動態頁面提供方案中,而不需要進行太大的改動,有利於本發明實施例方案的推廣。
下面對本發明實施例提供的幾種頁面導航裝置實施例進行詳細說明。
實施例四、一種頁面導航裝置,如圖7所示,包括前端控制器101和規則引擎102;前端控制器101,用於接收頁面請求;解析所述頁面請求獲得請求信息;規則引擎102,用於根據前端控制器101解析獲得的請求信息進行規則匹配;按照匹配到的規則執行規則的結果,轉發頁面請求或導航到相應的伺服器頁面。
本實施例頁面導航裝置可採用實施例一中的頁面導航方法,運行示意如圖8所示,通過前端控制器101接受用戶瀏覽器a1的請求,前端控制器101將請求信息傳入規則引擎102,規則引擎102按照規則配置1021進行規則匹配,執行匹配到的規則的結果,結果可能是導航到相應的伺服器頁面a2,也可能是請求的轉發。
實施例五、一種頁面導航裝置,結構與實施例四類似,包括前端控制器和規則引擎;前端控制器,用於接收頁面請求;解析所述頁面請求獲得請求信息,所述請求信息中包括被請求頁面的統一資源地址;根據所述統一資源地址在地址規則包中進行匹配,選擇相應的導航邏輯規則包;規則引擎,用於在前端控制器選定的導航邏輯規則包中根據所述請求信息進行規則匹配;按照匹配到的規則執行規則的結果,轉發頁面請求或導航到相應的伺服器頁面。
本實施例頁面導航裝置可採用實施例二中的頁面導航方法,運行示意與圖8相仿,只是前端控制器是先經過地址匹配確定加載的導航邏輯規則包後再調用規則引擎進行規則匹配。為更好的理解上述實施例,以下給出一個具體的運行過程,包括c1、用戶通過瀏覽器向頁面導航裝置所在的應用伺服器發送頁面請求,請求某種服務;c2、前端控制器收到用戶請求,解析請求,得到URL、請求參數、Cookie和瀏覽器環境變量等信息;c3、前端控制器創建工作流引擎執行環境,從規則庫或者緩存中加載URL匹配規則進行URL匹配;c4、如果匹配規則無法找到,請求結束,給瀏覽器返回業務無法找到錯誤的頁面;c5、如果匹配規則找到,進入導航邏輯規則匹配處理過程中,根據URL規則匹配的結果調用規則引擎加載相應的導航邏輯匹配規則包;c6、規則引擎進行導航邏輯規則匹配,如無法找到匹配,請求結束,返回用戶服務無法使用錯誤頁面;c7、如找到匹配規則,執行規則結果動作,規則結果動作將會導致導航到某個頁面進行顯示,或者進行請求轉發;c8、導航到某個頁面後,整個請求處理過程結束;c9、當規則結果為轉發時,重新進入步驟c2。
以下舉例說明URL規則與導航邏輯規則的匹配,引號中的欄位表示規則中可配置的對象假定規則配置中已設置URL規則如下一、規則名稱「客戶信息功能」規則條件如果「請求」的「URL」「等於」「客戶信息」規則結果那麼「應用顯示客戶信息規則包」二、規則名稱「列舉客戶功能」規則條件如果「請求」的「URL」「等於」「客戶列表」規則結果那麼「應用顯示客戶信息列表的規則包」前端控制器收到請求後,假定解析出的URL為「客戶信息」,則在URL規則包中進行匹配時,「客戶信息功能」這條規則就會被匹配到,結果指向「應用顯示客戶信息規則包」。
假定規則配置中已設置「顯示客戶信息規則包」中規則如下一、規則名稱「大客戶詳細信息列表」規則條件如果「客戶」的「類型」「等於」「大客戶」規則結果那麼「導航」(「大客戶信息列表頁面」)二、規則名稱「客戶詳細信息列表」
規則條件如果「客戶」的「類型」「等於」「一般客戶」規則結果那麼「導航」(「客戶信息列表頁面」)規則引擎根據前端控制器URL匹配的結果加載「顯示客戶信息規則包」,假定請求信息中傳入的數據顯示用戶類型為「大客戶」,則「大客戶詳細信息列表」這條規則就會被匹配到,規則引擎執行規則結果,用戶將會被導航到「大客戶信息列表頁面」。
實施例六、一種頁面導航裝置,如圖9所示,包括前端控制器201、導航配置模塊202、通用命令模塊203和規則引擎204;前端控制器201,用於接收頁面請求;解析所述頁面請求獲得請求信息;根據所述請求信息嚮導航配置模塊202查找導航配置文件;根據所述導航配置文件從通用命令模塊203中選擇與所述請求信息相應的通用導航命令用於接收頁面請求;導航配置模塊202,用於提供導航配置文件;通用命令模塊203,用於提供通用導航命令;根據前端控制器201選擇的通用導航命令調用規則引擎204;執行規則引擎204返回的規則的結果,轉發頁面請求或導航到相應的伺服器頁面;規則引擎204,用於根據通用命令模塊203的調用進行規則匹配,將匹配到的規則的結果返回給通用命令模塊203。
本實施例頁面導航裝置可採用實施例三中的頁面導航方法,運行示意如圖10所示,通過前端控制器201接受用戶瀏覽器b1的請求,前端控制器201查找導航配置模塊202中的導航邏輯配置確定對應的通用導航命令;然後調用通用命令模塊203中相應的通用導航命令2031,通用導航命令2031再調用規則引擎204進行規則匹配,執行匹配到的規則的結果,結果可能是導航到相應的伺服器頁面b2,也可能是請求的轉發。
實施例七、一種應用伺服器,如圖11所示,包括頁面導航單元100和頁面展示單元200;頁面導航單元100,用於接收頁面請求;根據所述頁面請求進行規則匹配;按照匹配到的規則執行規則的結果,轉發頁面請求或導航到頁面展示單元200;頁面展示單元200,用於根據頁面導航單元100導航的信息,按照展示邏輯向用戶返回頁面響應。
本實施例中頁面導航單元100具體可採用實施例四~六中頁面導航裝置的結構。
以上對本發明實施例所提供的頁面導航方法和裝置及應用伺服器進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式
及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種頁面導航方法,包括步驟接收頁面請求;根據所述頁面請求進行規則匹配;按照匹配到的規則執行規則的結果,轉發頁面請求或導航到相應的伺服器頁面。
2.根據權利要求1所述的頁面導航方法,其特徵在於,所述根據頁面請求進行規則匹配包括解析所述頁面請求獲得請求信息;根據所述請求信息調用規則引擎進行規則匹配。
3.根據權利要求1所述的頁面導航方法,其特徵在於,所述根據頁面請求進行規則匹配包括解析所述頁面請求獲得請求信息,所述請求信息中包括被請求頁面的統一資源地址;根據所述統一資源地址在地址規則包中進行匹配,選擇相應的導航邏輯規則包;調用規則引擎在選定的導航邏輯規則包中根據所述請求信息進行規則匹配。
4.根據權利要求1所述的頁面導航方法,其特徵在於,所述根據頁面請求進行規則匹配包括解析所述頁面請求獲得請求信息;根據所述請求信息查找導航配置文件,選擇相應的通用導航命令;由選定的通用導航命令調用規則引擎根據所述請求信息進行規則匹配。
5.根據權利要求2~4任意一項所述的頁面導航方法,其特徵在於,所述規則匹配的過程包括加載規則包;生成規則工作上下文;根據所述請求信息的內容,通過規則的條件表達式進行匹配。
6.一種應用伺服器,其特徵在於,包括頁面導航單元和頁面展示單元;所述頁面導航單元,用於接收頁面請求;根據所述頁面請求進行規則匹配;按照匹配到的規則執行規則的結果,轉發頁面請求或導航到所述頁面展示單元;所述頁面展示單元,用於根據所述頁面導航單元導航的信息,按照展示邏輯向用戶返回頁面響應。
7.一種頁面導航裝置,其特徵在於,包括前端控制器和規則引擎;所述前端控制器,用於接收頁面請求;解析所述頁面請求獲得請求信息;所述規則引擎,用於根據所述前端控制器解析獲得的請求信息進行規則匹配;按照匹配到的規則執行規則的結果,轉發頁面請求或導航到相應的伺服器頁面。
8.一種頁面導航裝置,其特徵在於,包括前端控制器和規則引擎;所述前端控制器,用於接收頁面請求;解析所述頁面請求獲得請求信息,所述請求信息中包括被請求頁面的統一資源地址;根據所述統一資源地址在地址規則包中進行匹配,選擇相應的導航邏輯規則包;所述規則引擎,用於在所述前端控制器選定的導航邏輯規則包中根據所述請求信息進行規則匹配;按照匹配到的規則執行規則的結果,轉發頁面請求或導航到相應的伺服器頁面。
9.一種頁面導航裝置,其特徵在於,包括前端控制器、導航配置模塊、通用命令模塊和規則引擎;所述前端控制器,用於接收頁面請求;解析所述頁面請求獲得請求信息;根據所述請求信息向所述導航配置模塊查找導航配置文件;根據所述導航配置文件從所述通用命令模塊中選擇與所述請求信息相應的通用導航命令;所述導航配置模塊,用於提供導航配置文件;所述通用命令模塊,用於提供通用導航命令;根據所述前端控制器選擇的通用導航命令調用所述規則引擎;執行所述規則引擎返回的規則的結果,轉發頁面請求或導航到相應的伺服器頁面;所述規則引擎,用於根據所述通用命令模塊的調用進行規則匹配,將匹配到的規則的結果返回給所述通用命令模塊。
全文摘要
本發明公開了一種頁面導航方法,其基本內容是通過規則匹配來生成和執行導航邏輯。本發明還提供相應的頁面導航裝置和應用伺服器。本發明避免了直接將真實導航邏輯代碼化,基於規則配置形式的規範性,能夠提供可視化工具支持的能力,用戶可通過對規則配置的修改,方便地進行導航邏輯的運行期定製;同時,由於規則配置直接影響匹配得到的導航邏輯,因此用戶能夠對導航邏輯進行很好的維護。
文檔編號G06F17/30GK101030228SQ20071008881
公開日2007年9月5日 申請日期2007年3月28日 優先權日2007年3月28日
發明者邵俊雄 申請人:華為技術有限公司