本發(fā)明涉及移動網(wǎng)絡技術領域,尤其涉及一種鏈接請求的處理方法和裝置。
背景技術:
隨著科技的不斷進步,智能手機已成為人們生活中不可或缺的部分。人們可以用智能手機實現(xiàn)諸如聽歌、上網(wǎng)、看視頻等功能。當人們通過瀏覽器瀏覽網(wǎng)頁時,可點擊想要閱讀的題目,通過題目對應的鏈接從而跳轉到對應的頁面。
目前,主要采用硬編碼的方式進行鏈接處理,通過硬編碼的方式將一些字段寫入到鏈接中,并根據(jù)這些字段將鏈接請求引入至相關的業(yè)務模塊,從而打開對應的頁面。具體而言,現(xiàn)有技術中處理鏈接請求的過程如下:s101、鏈接分發(fā)模塊接收待處理的鏈接請求;s102、鏈接分發(fā)模塊查詢預設的耦合文件,根據(jù)鏈接請求中的硬編碼內容和耦合文件確定該鏈接請求對應的業(yè)務模塊,并獲取該業(yè)務模塊對應的頭文件;s103、鏈接分發(fā)模塊根據(jù)該業(yè)務模塊的頭文件創(chuàng)建對應的鏈接處理器;s104、鏈接分發(fā)模塊調用該鏈接處理器處理該鏈接。舉例來說,假設接收到一個新聞應用打開新聞詳情頁的鏈接請求,其中,鏈接格式規(guī)定為newsapp://newsapp/?page=newsdetail&newsid=news1,新聞詳情頁對應的頁面展示模塊為newsdetail,在newsdetail.h中定義,則需要鏈接處理模塊判斷page的值為newsdetail時使用業(yè)務模塊newsdetail來處理該鏈接。
但是,采用硬編碼的方式進行鏈接處理存在以下技術問題:1、鏈接分發(fā)模塊需要查詢預設的耦合文件才能夠確定對應的業(yè)務模塊,并且需要讀取業(yè)務模塊的頭文件才能夠創(chuàng)建對應的鏈接處理器,因此處理過程非常復雜;2、由于硬編碼的方式固定了解析邏輯,對于新增的業(yè)務要重新調整耦合文件,因此不能自動適應新增的業(yè)務。
技術實現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關技術中的技術問題之一。為此,本發(fā)明的一個目的在于提出一種鏈接請求的處理方法,該方法能夠解決硬編碼方式處理鏈接請求過程復雜的問題,并且無需針對新增業(yè)務重新調整耦合文件,簡單便捷。
本發(fā)明的第二個目的在于提出一種鏈接請求的處理裝置。
本發(fā)明的第三個目的在于提出一種鏈接的生成方法。
本發(fā)明的第四個目的在于提出一種鏈接的生成裝置。
為了實現(xiàn)上述目的,本發(fā)明第一方面實施例提出了一種鏈接請求的處理方法,包括:接收鏈接請求,其中,所述鏈接請求包括業(yè)務模塊參數(shù)和行為參數(shù);根據(jù)所述業(yè)務模塊參數(shù)創(chuàng)建對應的鏈接處理器;以及控制所述鏈接處理器根據(jù)所述行為參數(shù)進行頁面跳轉以跳轉至目標頁面。
本發(fā)明實施例的鏈接請求的處理方法,通過接收鏈接請求,并根據(jù)鏈接請求中的業(yè)務模塊參數(shù)創(chuàng)建對應的鏈接處理器,以及控制鏈接處理器根據(jù)行為參數(shù)進行頁面跳轉以跳轉至目標頁面,解決了硬編碼方式處理鏈接請求過程復雜的問題,并且無需針對新增業(yè)務重新調整耦合文件,簡單便捷。
本發(fā)明第二方面實施例提出了一種鏈接請求的處理裝置,包括:鏈接請求接收模塊,用于接收鏈接請求,其中,所述鏈接請求包括業(yè)務模塊參數(shù)和行為參數(shù);創(chuàng)建模塊,用于根據(jù)所述業(yè)務模塊參數(shù)創(chuàng)建對應的鏈接處理器;以及執(zhí)行模塊,用于控制所述鏈接處理器根據(jù)所述行為參數(shù)進行頁面跳轉以跳轉至目標頁面。
本發(fā)明實施例的鏈接請求的處理裝置,通過接收鏈接請求,并根據(jù)鏈接請求中的業(yè)務模塊參數(shù)創(chuàng)建對應的鏈接處理器,以及控制鏈接處理器根據(jù)行為參數(shù)進行頁面跳轉以跳轉至目標頁面,解決了硬編碼方式處理鏈接請求過程復雜的問題,并且無需針對新增業(yè)務重新調整耦合文件,簡單便捷。
本發(fā)明第三方面實施例提出了一種鏈接的生成方法,包括:獲取目標頁面所屬的業(yè)務模塊的業(yè)務模塊名和所述目標頁面對應的行為參數(shù);以及根據(jù)所述業(yè)務模塊名和所述行為參數(shù)生成所述目標頁面對應的鏈接。
本發(fā)明實施例的鏈接的生成方法,通過獲取目標頁面所屬的業(yè)務模塊的業(yè)務模塊名和目標頁面對應的行為參數(shù),并根據(jù)業(yè)務模塊名和行為參數(shù)生成目標頁面對應的鏈接,可自動為目標頁面生成對應的鏈接,方便簡單。
本發(fā)明第四方面實施例提出了一種鏈接的生成裝置,包括:獲取模塊,用于獲取目標頁面所屬的業(yè)務模塊的業(yè)務模塊名和所述目標頁面對應的行為參數(shù);以及生成模塊,用于根據(jù)所述業(yè)務模塊名和所述行為參數(shù)生成所述目標頁面對應的鏈接。
本發(fā)明實施例的鏈接的生成裝置,通過獲取目標頁面所屬的業(yè)務模塊的業(yè)務模塊名和目標頁面對應的行為參數(shù),并根據(jù)業(yè)務模塊名和行為參數(shù)生成目標頁面對應的鏈接,可自動為目標頁面生成對應的鏈接,方便簡單。
附圖說明
圖1是根據(jù)本發(fā)明一個實施例的鏈接請求的處理方法的流程圖。
圖2是根據(jù)本發(fā)明一個實施例的鏈接請求的處理裝置的結構示意圖。
圖3是根據(jù)本發(fā)明一個實施例的鏈接的生成方法的流程圖。
圖4是根據(jù)本發(fā)明一個實施例的鏈接的生成裝置的結構示意圖。
具體實施方式
下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
下面參考附圖描述本發(fā)明實施例的鏈接請求的處理方法和裝置。
圖1是根據(jù)本發(fā)明一個實施例的鏈接請求的處理方法的流程圖。
如圖1所示,鏈接請求的處理方法可包括:
s1、接收鏈接請求。
其中,鏈接請求可包括業(yè)務模塊參數(shù)和行為參數(shù)。
在本發(fā)明的一個實施例中,鏈接請求可通過外部app如瀏覽器、內部業(yè)務模塊、推送信息等產(chǎn)生。
s2、根據(jù)業(yè)務模塊參數(shù)創(chuàng)建對應的鏈接處理器。
具體地,可根據(jù)業(yè)務模塊參數(shù)調用客戶端提供的反射接口以生成鏈接處理器。舉例來說,鏈接為scheme://domain/model=modulela&action=action1,則可根據(jù)業(yè)務模塊參數(shù)modulela生成對應的鏈接處理器modulealinkhandler。
另外,還可以根據(jù)業(yè)務模塊參數(shù)查詢預設的配置文件或配置表以確定對應的鏈接處理器。其中,預設的配置文件或配置包中保存有業(yè)務模塊參數(shù)。舉例來說,json格式的配置文件linkrule.json,其中一條內容可為{modulea:modulealinkhandler}。當接收的鏈接請求中的業(yè)務模塊參數(shù)為modulela時,可查詢該配置文件linkrule.json,從而確定對應的鏈接處理器為modulealinkhandler。
s3、控制鏈接處理器根據(jù)行為參數(shù)進行頁面跳轉以跳轉至目標頁面。
具體地,可根據(jù)業(yè)務模塊參數(shù)和行為參數(shù)調用客戶端提供的反射接口以獲取目標頁面,并控制鏈接處理器的頁面跳轉至目標頁面。舉例來說,在根據(jù)業(yè)務模塊參數(shù)modulela生成對應的鏈接處理器modulealinkhandler之后,可根據(jù)行為參數(shù)action1控制鏈接處理器modulealinkhandler的頁面跳轉至目標頁面,即scheme://domain/model=modulela&action=action1對應的頁面。上述通過反射的方式,對鏈接進行解析,從而確定modulela對應的鏈接處理器modulealinkhandler,并由鏈接處理器modulealinkhandler根據(jù)行為參數(shù)action1處理相應的鏈接請求的過程,即鏈接路由算法。
本發(fā)明實施例通過鏈接路由算法結合頁面命名規(guī)范,無需引入相關業(yè)務模塊,即可消除耦合。
另外,新增的業(yè)務也能自動分配相應的鏈接,只需根據(jù)上述方式即可確定對應的鏈接處理器,并跳轉至對應的頁面。
應當理解的是,鏈接處理器為一段程序編碼,用于處理頁面跳轉。當然,鏈接處理器也可以通過硬件方式實現(xiàn)。
另外,還可根據(jù)業(yè)務模塊參數(shù)和行為參數(shù)查詢預設的配置文件或配置表以獲取目標頁面,并控制鏈接處理器的頁面跳轉至目標頁面。舉例來說,在查詢配置文件linkrule.json,確定對應的鏈接處理器為modulealinkhandler之后,可進一步查詢配置文件如{action1:modelaaction1viewcontroller},然后根據(jù)行為參數(shù)action1控制鏈接處理器的頁面跳轉至目標頁面。
本發(fā)明實施例的鏈接請求的處理方法,通過接收鏈接請求,并根據(jù)鏈接請求中的業(yè)務模塊參數(shù)創(chuàng)建對應的鏈接處理器,以及控制鏈接處理器根據(jù)行為參數(shù)進行頁面跳轉以跳轉至目標頁面,解決了硬編碼方式處理鏈接請求過程復雜的問題,并且無需針對新增業(yè)務重新調整耦合文件,簡單便捷。
為實現(xiàn)上述目的,本發(fā)明還提出一種鏈接請求的處理裝置。
圖2是根據(jù)本發(fā)明一個實施例的鏈接請求的處理裝置的結構示意圖。
如圖2所示,鏈接請求的處理裝置可包括:鏈接請求接收模塊110、創(chuàng)建模塊120和執(zhí)行模塊130。
具體地,鏈接請求接收模塊110可用于接收鏈接請求。
其中,鏈接請求可包括業(yè)務模塊參數(shù)和行為參數(shù)。
在本發(fā)明的一個實施例中,鏈接請求可通過外部app如瀏覽器、內部業(yè)務模塊、推送信息等產(chǎn)生。
創(chuàng)建模塊120可用于根據(jù)業(yè)務模塊參數(shù)創(chuàng)建對應的鏈接處理器。
具體地,創(chuàng)建模塊120可根據(jù)業(yè)務模塊參數(shù)調用客戶端提供的反射接口以生成鏈接處理器。舉例來說,鏈接為scheme://domain/model=modulela&action=action1,則可根據(jù)業(yè)務模塊參數(shù)modulela生成對應的鏈接處理器modulealinkhandler。
另外,創(chuàng)建模塊120還可以根據(jù)業(yè)務模塊參數(shù)查詢預設的配置文件或配置表以確定對應的鏈接處理器。其中,預設的配置文件或配置包中保存有業(yè)務模塊參數(shù)。舉例來說,json格式的配置文件linkrule.json,其中一條內容可為{modulea:modulealinkhandler}。當接收的鏈接請求中的業(yè)務模塊參數(shù)為modulela時,可查詢該配置文件linkrule.json,從而確 定對應的鏈接處理器為modulealinkhandler。
執(zhí)行模塊130可用于控制鏈接處理器根據(jù)行為參數(shù)進行頁面跳轉以跳轉至目標頁面。
具體地,執(zhí)行模塊130可根據(jù)業(yè)務模塊參數(shù)和行為參數(shù)調用客戶端提供的反射接口以獲取目標頁面,并控制鏈接處理器的頁面跳轉至目標頁面。舉例來說,在根據(jù)業(yè)務模塊參數(shù)modulela生成對應的鏈接處理器modulealinkhandler之后,可根據(jù)行為參數(shù)action1控制鏈接處理器modulealinkhandler的頁面跳轉至目標頁面,即scheme://domain/model=modulela&action=action1對應的頁面。上述通過反射的方式,對鏈接進行解析,從而確定modulela對應的鏈接處理器modulealinkhandler,并由鏈接處理器modulealinkhandler根據(jù)行為參數(shù)action1處理相應的鏈接請求的過程,即鏈接路由算法。
本發(fā)明實施例通過鏈接路由算法結合頁面命名規(guī)范,無需引入相關業(yè)務模塊,即可消除耦合。
另外,新增的業(yè)務也能自動分配相應的鏈接,只需根據(jù)上述方式即可確定對應的鏈接處理器,并跳轉至對應的頁面。
應當理解的是,鏈接處理器為一段程序編碼,用于處理頁面跳轉。當然,鏈接處理器也可以通過硬件方式實現(xiàn)。
另外,執(zhí)行模塊130還可根據(jù)業(yè)務模塊參數(shù)和行為參數(shù)查詢預設的配置文件或配置表以獲取目標頁面,并控制鏈接處理器的頁面跳轉至目標頁面。舉例來說,在查詢配置文件linkrule.json,確定對應的鏈接處理器為modulealinkhandler之后,可進一步查詢配置文件如{action1:modelaaction1viewcontroller},然后根據(jù)行為參數(shù)action1控制鏈接處理器的頁面跳轉至目標頁面。
本發(fā)明實施例的鏈接請求的處理裝置,通過接收鏈接請求,并根據(jù)鏈接請求中的業(yè)務模塊參數(shù)創(chuàng)建對應的鏈接處理器,以及控制鏈接處理器根據(jù)行為參數(shù)進行頁面跳轉以跳轉至目標頁面,解決了硬編碼方式處理鏈接請求過程復雜的問題,并且無需針對新增業(yè)務重新調整耦合文件,簡單便捷。
為實現(xiàn)上述目的,本發(fā)明還提出一種鏈接的生成方法。
圖3是根據(jù)本發(fā)明一個實施例的鏈接的生成方法的流程圖。
如圖3所示,鏈接的生成方法可包括:
s301、獲取目標頁面所屬的業(yè)務模塊的業(yè)務模塊名和目標頁面對應的行為參數(shù)。
其中,不同的業(yè)務模塊具有不同的業(yè)務模塊名。
s302、根據(jù)業(yè)務模塊名和行為參數(shù)生成目標頁面對應的鏈接。
舉例來說,生成目標頁面對應的鏈接的預設格式為 scheme://domain/?module={modulename}&action={actiontype}。其中,業(yè)務模塊名為module={modulename},行為參數(shù)為action={actiontype}。可將目標頁面所屬的業(yè)務模塊的業(yè)務模塊名modulea和目標頁面對應的行為參數(shù)action1代入到預設格式中,則目標頁面對應的鏈接為scheme://domain/?module=modulea&action=action1。
本發(fā)明實施例的鏈接的生成方法,通過獲取目標頁面所屬的業(yè)務模塊的業(yè)務模塊名和目標頁面對應的行為參數(shù),并根據(jù)業(yè)務模塊名和行為參數(shù)生成目標頁面對應的鏈接,可自動為目標頁面生成對應的鏈接,方便簡單。
為實現(xiàn)上述目的,本發(fā)明還提出一種鏈接的生成裝置。
圖4是根據(jù)本發(fā)明一個實施例的鏈接的生成裝置的結構示意圖。
如圖4所示,鏈接的生成裝置可包括:獲取模塊210和生成模塊220。
獲取模塊210可用于獲取目標頁面所屬的業(yè)務模塊的業(yè)務模塊名和目標頁面對應的行為參數(shù)。
其中,不同的業(yè)務模塊具有不同的業(yè)務模塊名。
生成模塊220可用于根據(jù)業(yè)務模塊名和行為參數(shù)生成目標頁面對應的鏈接。
舉例來說,生成目標頁面對應的鏈接的預設格式為scheme://domain/?module={modulename}&action={actiontype}。其中,業(yè)務模塊名為module={modulename},行為參數(shù)為action={actiontype}。生成模塊220可將目標頁面所屬的業(yè)務模塊的業(yè)務模塊名modulea和目標頁面對應的行為參數(shù)action1代入到預設格式中,則目標頁面對應的鏈接為scheme://domain/?module=modulea&action=action1。
本發(fā)明實施例的鏈接的生成裝置,通過獲取目標頁面所屬的業(yè)務模塊的業(yè)務模塊名和目標頁面對應的行為參數(shù),并根據(jù)業(yè)務模塊名和行為參數(shù)生成目標頁面對應的鏈接,可自動為目標頁面生成對應的鏈接,方便簡單。
在本發(fā)明的描述中,需要理解的是,術語“中心”、“縱向”、“橫向”、“長度”、“寬度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”“內”、“外”、“順時針”、“逆時針”、“軸向”、“徑向”、“周向”等指示的方位或位置關系為基于附圖所示的方位或位置關系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構造和操作,因此不能理解為對本發(fā)明的限制。
此外,術語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以 明示或者隱含地包括至少一個該特征。在本發(fā)明的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
在本發(fā)明中,除非另有明確的規(guī)定和限定,術語“安裝”、“相連”、“連接”、“固定”等術語應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或成一體;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內部的連通或兩個元件的相互作用關系,除非另有明確的限定。對于本領域的普通技術人員而言,可以根據(jù)具體情況理解上述術語在本發(fā)明中的具體含義。
在本發(fā)明中,除非另有明確的規(guī)定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接觸,或第一和第二特征通過中間媒介間接接觸。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或僅僅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或僅僅表示第一特征水平高度小于第二特征。
在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結合。此外,在不相互矛盾的情況下,本領域的技術人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結合和組合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領域的普通技術人員在本發(fā)明的范圍內可以對上述實施例進行變化、修改、替換和變型。