專利名稱:一種統一資源定位符的匹配方法
技術領域:
本發明涉及數據匹配技術,尤指一種統一資源定位符的匹配方法。
背景技術:
互聯網和移動通信技術的發展推動著無線數據業務的進一步發展,各種無線數據業務應運而生,包括短消息系統服務(SMS),多媒體短消息服務(MMS),采用無線應用協議(WAP)的數據業務,通用分組無線業務(GPRS),以及移動定位服務等等。
目前,無線數據業務作為高增值性業務受到運營商的極大關注。但是,當前對無線數據業務的計費模式較為簡單,或根據數據流量計算,或根據數據傳輸的時長計算,這些計費模式都無法適應無線數據業務的飛速發展。為了整合無線數據業務的運營方案,謀求更大的業務利潤,運營商需要發展更為合理的計費模式。在這點上,內容計費(CBB)能夠更好地滿足運營商的計費需求。CBB的含義是計費系統根據用戶所進行的不同數據業務執行不同的收費標準。實現CBB的關鍵步驟是系統需要判斷網絡上傳輸的用戶數據包屬于何種業務類型。這意味著,傳輸用戶數據包的網絡上需要有能判斷數據業務類型的網絡設備,由該網絡設備通過解析用戶的上下行數據包分辨出用戶數據包的業務類型。對用戶數據包的解析涉及網絡通信七層協議中的層三、層四以及層七這三個協議層的內容。其中,層三是網絡層,完成的是對用戶數據包的IP地址解析;層四是傳輸層,完成的是對用戶數據包的端口解析;層七是應用層,完成的是對用戶數據包的統一資源定位符(URL)的解析。其中,URL由字符組成。根據協議規定,URL具有特定的格式,不同的URL格式段用分隔符隔開表示不同的內容,本申請中將URL的每個格式段稱為不同的URL子項。比如在“http://www.sina.com.cn”中,“http”是該URL的schema子項,“www.sina.com.cn”是該URL的host子項。由于協議用格式的形式給URL賦予了不同的內容含義,故不能將URL看成簡單的字符串。
為實現上述層七解析,即對用戶數據包URL進行解析,需要在用于解析URL的網絡設備上預先設置URL過濾條件,每個URL過濾條件對應一種數據業務類型;當用戶數據包傳到該網絡設備時,網絡設備根據用戶數據包URL與URL過濾條件的匹配情況判斷該用戶數據包的業務類型。這里,所述用戶數據包URL是指網絡設備獲取的用戶數據包所攜帶的URL。
上述用于判斷用戶數據包URL和URL過濾條件是否匹配的網絡設備可以是GPRS網關支持節點(GGSN),也可以是WAP網關,或者是網絡數據傳輸過程中的任何一個網絡設備。
現有技術中,判斷用戶數據包URL與URL過濾條件是否匹配的方法如下假設網絡設備預先設置的URL過濾條件分別為A1和A2;該網絡設備接收到用戶數據包后,將該用戶數據包URL和A1、A2分別進行字符串比較,如果用戶數據包URL和A1完全相等,則該網絡設備判定該用戶數據包URL和A1匹配,即該用戶數據包屬于A1對應的業務類型;如果用戶數據包URL和A2相等,則該網絡設備判定該用戶數據包URL和A2匹配,即該用戶數據包屬于A2對應的業務類型;最后,該網絡設備將匹配結果,即用戶數據包的業務類型,上報給計費系統,計費系統上設置有對不同業務類型的計費標準,最終完成基于內容的計費。
但是,現有技術中采用的URL匹配方法將URL處理成簡單的字符串,采用字符串完全匹配的方法對URL進行解析,這種URL匹配方法沒有很好的利用URL項被賦予的內容含義,所以無法滿足CBB的靈活計費需求。
發明內容
有鑒于此,本發明的主要目的在于提供一種統一資源定位符的匹配方法,根據網絡基于內容的計費需求靈活設置匹配條件,使匹配結果與URL內容更加相關,提高內容計費的精細度,且該方法完成的匹配符合協議規定。
為達到上述目的,本發明的技術方案具體是這樣實現的一種統一資源定位符的匹配方法,其特征在于,網絡設備設置URL過濾條件,該方法包括以下步驟a.網絡設備接收經過自身傳輸的用戶數據包URL;b.所述網絡設備根據協議規定的格式拆分用戶數據包URL和URL過濾條件,獲得用戶數據包URL以及URL過濾條件的URL子項;c.網絡設備比較URL過濾條件和用戶數據包URL的相同類型子項,得出匹配結果。
進一步地,步驟b中對URL過濾條件和用戶數據包URL這兩組URL進行一一對應的子項拆分。
較佳地,步驟b中所述的子項拆分為網絡設備在設置URL過濾條件時就完成對URL過濾條件的子項拆分,或者網絡設備獲取用戶數據包URL后對用戶數據包URL和URL過濾條件同時進行拆分。
較佳地,該方法進一步包括網絡設備設置URL子項的比較先后順序。
較佳地,該方法進一步包括網絡設備設置URL子項的比較模糊度。
進一步地,所述比較模糊度為比較URL子項時是否區分大小寫,或是否支持通配符,或是否支持包含關系,或是否支持域名和IP地址對應關系。
較佳地,該方法進一步包括網絡設備將匹配結果上報計費系統。
所述網絡設備為GPRS網關支持節點或無線應用協議網關。
進一步地,所述網絡設備上設置有用于拆分和匹配URL的URL匹配模塊。
由上述技術方案可見,本發明的這種統一資源定位符的匹配方法對用戶數據包URL和URL過濾條件進行拆分,利用拆分獲得的URL子項進行子項匹配,最終獲得匹配結果。該方法對URL進行的拆分符合協議規定,從而使拆分獲得的URL子項格式清晰,便于在URL匹配中更好地體現URL內容。在對URL子項匹配時,網絡設備根據計費需要設置匹配條件。比如網絡設備設置不同類型URL子項的重要程度,對于重要程度高的URL子項,網絡設備先進行匹配判斷;對于重要程度低的URL子項,網絡設備后進行匹配判斷或者不進行匹配判斷。本發明這種對URL先進行拆分然后匹配的方法簡單易行,計費系統也容易根據網絡設備上報的匹配結果獲得細微的數據內容信息,提高內容計費的精細度,使整個網絡更好地實現基于內容的計費。該方法能夠方便地應用于網絡設備,從而為運營商創造更多的額外價值。
圖1為本發明一個較佳實施例的URL匹配流程圖。
具體實施例方式
本發明的核心思想是網絡設備設置URL過濾條件并獲取用戶數據包URL;然后,網絡設備根據協議規定分別拆分所設置的URL過濾條件和所獲取的用戶數據包URL,分別獲得兩組URL的子項;最后,網絡設備將URL過濾條件和用戶數據包URL這兩組URL的相同類型子項進行比較,得出匹配結果。
這里,所述用戶數據包URL是指傳送到網絡設備的用戶數據包所攜帶的URL。所述兩組URL的相同類型子項是指兩組URL中屬于相同URL格式段的URL子項。
為使本發明的目的、技術方案及優點更加清楚明白,以下舉實施例,對本發明進一步詳細說明。
本發明中,為了實現對網絡傳輸的數據基于內容計費,可以在用于判斷用戶數據包URL和URL過濾條件是否匹配的網絡設備上設置URL匹配模塊,從而使該網絡設備得出的匹配結果與現有技術相比更好地體現基于內容匹配的特點,最終使計費系統能利用該匹配結果更好實現基于內容計費。
上述設置URL匹配模塊的網絡設備可以是GPRS網關支持節點(GGSN),或者WAP網關等網絡數據傳輸過程中的網絡設備。
如圖1所示,網絡設備上設置的URL匹配模塊的工作過程如下步驟101URL匹配模塊設置URL過濾條件。
由于網絡數據內容多樣,URL匹配模塊可以根據需要靈活設置URL過濾條件。比如URL匹配模塊設置“http://www.sina.com.cn”,“http://www.google.com”,“http://www.263.net”,“http://www.yahoo.com”,“http://www.baidu.com”,“http://www.tom.com”為URL過濾條件。也就是說,URL匹配模塊可以根據需要設置任意不同的過濾條件,并根據不同的URL過濾條件對用戶數據包的業務類型分別進行判斷,再依據判斷結果計費。
步驟102當網絡上的某一用戶數據包傳輸至包含URL匹配模塊的網絡設備時,URL匹配模塊獲取該用戶數據包URL。
步驟103URL匹配模塊根據標準協議規定拆分URL過濾條件和用戶數據包URL,分別獲得兩組URL的子項。
下面以RFC1738協議為例對根據協議拆分URL進行詳細說明。RFC1738協議對URL格式的定義是<schema>:<schema-specific-part>,其中<schema-specific-part>的格式可以進一步定義為//<user>:<password>@<host>:<port>/<url-path>。對于具有完整<schema>://<user>:<password>@<host>:<port>/<url-path>格式的URL,可以拆分出schema子項、user子項、password子項、host子項、port子項,以及path子項。RFC1738協議包括HTTP協議類型,FTP協議類型等。協議規定,HTTP協議類型的URL沒有user子項和password子項。
進一步以HTTP協議類型的URL“http://www.263.net/path/page.html”為例,說明子項拆分的具體步驟。該URL可以是URL過濾條件,也可以是用戶數據包URL。
首先,查找URL中的分隔符“://”,“://”之前的字符串就是URL的schema子項。本例中schema子項是“http”。如果沒有分隔符“://”,則schema子項默認是“http”。
其次,查找分隔符“://”和分隔符“/”之間的內容,得到字符串“www.263.net”。分隔符“://”和分隔符“/”之間的內容包括host子項和port子項,URL匹配模塊在分隔符“://”和分隔符“/”之間查找分隔符“:”,分隔符“:”之前的內容是host子項,分隔符“:”之后的內容是port子項。本例中沒有分隔符“:”,所以該URL只有host子項“www.263.net”,本例中port子項采用http協議的默認端口。
最后,查找分隔符“/”之后的內容,該部分內容就是path子項。本例中path子項是“path/page.html”。
經過上述子項拆分的過程,http://www.263.net/path/page.html拆分成三個子項,分別是schema子項“http”,host子項“www.263.net”,以及path子項“path/page.html”。
對于其它協議類型,比如FTP協議,URL匹配模塊也是根據相關協議規定進行子項拆分,拆分方法與HTTP協議的URL拆分方法類似,此處不贅述。
在實際應用中,由于URL匹配模塊需要對URL過濾條件和用戶數據包URL拆分獲得的子項進行匹配操作,所以對URL的拆分不僅要根據協議規定,還要使URL過濾條件和用戶數據包URL拆分獲得的子項能夠一一對應。假設URL過濾條件為“http://www.huawei.com.cn/news/index.shtml”,用戶數據包URL為“http://www.huawei.com.cn/about/index.shtml”。URL過濾條件拆分得到schema子項“http”,host子項“www.huawei.com.cn”,以及path子項“news/index.shtml”,則用戶數據包URL也拆分獲得schema子項“http”、host子項“www.huawei.com.cn”,以及path子項“about/index.shtml”,即兩個URL拆分獲得的子項一一對應。如果用戶數據包URL為“www.huawei.com.cn/about/index.shtml”,則拆分獲得host子項“www.huawei.com.cn”和path子項“about/index.shtml”,而schema子項設置為默認值“http”。
在子項拆分時,URL匹配模塊可以設置不同類型URL子項的重要程度,重要程度較低的URL子項可以不進行子項拆分。
對于URL過濾條件的拆分,URL匹配模塊可以在設置URL過濾條件時就對相應的URL進行子項拆分,也可以在需要用URL過濾條件對用戶數據包URL進行匹配時,才對URL過濾條件進行子項拆分。
步驟104URL匹配模塊將URL過濾條件和用戶數據包URL拆分所獲得的兩組URL的相同類型子項進行比較,得出匹配結果。
所述兩組URL的相同類型子項是指兩組URL中屬于相同URL格式段的URL子項。
URL匹配模塊可以設置子項比較的策略,子項比較的策略包括但不限于以下方式首先,如步驟103所述,URL匹配模塊可以為URL子項設置重要程度。URL匹配模塊可以在子項拆分前設置URL子項的重要程度,對于重要程度低的URL子項類型可以不進行子項拆分;URL匹配模塊也可以在子項拆分后設置URL子項的重要程度。URL匹配模塊還可以根據URL子項的重要程度決定子項比較的先后順序。
其次,在對某個URL子項進行比較時,URL匹配模塊可以設置比較模糊度。比較模糊度包括但不限于以下幾種方式(1)子項比較時是否區分大小寫;(2)子項比較時是否支持通配符;(3)子項比較時是否支持包含關系;(4)子項比較時是否支持域名和IP地址對應關系。
下面結合步驟103中使用過的例子說明URL匹配模塊如何通過設置重要程度對URL子項進行比較。
本例中,URL過濾條件為“http://www.huawei.com.cn/news/index.shtml”,用戶數據包URL為“http://www.huawei.com.cn/about/index.shtml”。
對于URL匹配模塊在子項拆分后設置URL子項重要程度的方式,本例中根據步驟103獲得的子項拆分結果如下URL過濾條件拆分得到schema子項“http”,host子項“www.huawei.com.cn”,以及path子項“news/index.shtml”;用戶數據包URL拆分得到schema子項“http”,host子項“www.huawei.com.cn”,以及path子項“about/index.shtml”。然后,URL匹配模塊設置schema子項的重要程度最高,host子項的重要程度其次,path子項的重要程度最低。根據設置的重要程度,URL匹配模塊先比較schema子項,然后比較host子項,最后比較path子項。
對于URL匹配模塊在子項拆分前設置URL子項重要程度的方式,重要程度低的子項在步驟103中可以不進行子項拆分。本例中,URL匹配模塊設置schema子項的重要程度最高,host子項的重要程度其次,path子項的重要程度最低。URL匹配模塊只比較兩個URL的schema子項,得出匹配結果。本例中兩個URL的schema子項相同,所以URL匹配模塊判定本例中用戶數據包URL屬于該URL過濾條件對應的業務類型,計費系統根據該URL過濾條件的收費標準對該用戶數據包URL進行費用結算。此時,URL匹配模塊可以不拆分兩個URL對應的host子項和path子項。
在對某個URL子項進行比較時,URL匹配模塊根據所設置的比較模糊度得出匹配結果。
(1)URL匹配模塊可以設置子項比較時區分大小寫或不區分大小寫。比如兩個URL的path子項分別是“path/page.html”和“Path/page.html”,對于區分大小寫的情況,URL匹配模塊判定這兩個URL子項不匹配;對于不區分大小寫的情況,URL匹配模塊則判定這兩個URL子項匹配。
(2)URL匹配模塊可以設置子項比較時支持通配符或不支持通配符。通配符提供的是用一個名稱指定字符的便捷方式,最常用的通配符是“*”和“?”。比如兩個URL子項分別是“path/page.html”和“path/*.*”,對于支持通配符的情況,URL匹配模塊判定這兩個URL子項匹配,對于不支持通配符的情況,URL匹配模塊則判定這兩個URL子項不匹配。
(3)URL匹配模塊可以設置子項比較時支持包含關系或不支持包含關系。比如對于支持包含關系的情況,如果用戶數據包URL的某個子項包含URL過濾條件的對應子項,URL匹配模塊判定這兩個URL子項匹配。
(4)URL匹配模塊可以設置子項比較時支持域名和IP地址對應關系或不支持域名和IP地址對應關系。比如對于支持域名和IP地址對應關系的情況,假設具有對應關系的域名和IP地址分別是“www.sina.com.cn”和“202.11.232.112”,則URL匹配模塊判定這兩個URL子項匹配。
上述幾種比較模糊度還可以疊加使用,比如比較模糊度可以是區分大小寫且支持通配符,或者不支持通配符但支持包含關系等。
URL匹配模塊還可以對不同類型的URL子項采用不同的比較模糊度,比如對path子項采用支持通配符的比較模糊度,對schema子項采用不支持通配符的比較模糊度。再比如對host子項,URL匹配模塊可以設置子項比較時支持域名和IP地址對應關系。如果兩個host子項具有對應關系,URL匹配模塊判定這兩個host子項匹配。假設URL過濾條件的host子項為“www.sina.com.cn”,用戶數據包URL的host子項為“202.11.232.112”,如果URL匹配模塊設置“www.sina.com.cn”和“202.11.232.112”具有對應關系,則這兩個host子項匹配。
采用本發明所述的URL匹配方法獲得匹配結果后,URL匹配模塊可以確定用戶數據包URL的業務類型,并將用戶數據包URL的業務類型上報計費系統,從而實現CBB的靈活計費。
本發明所述的方法還可以應用于防火墻中對第七層協議的訪問控制技術中。
由上述的實施例可見,本發明的這種URL匹配方法根據協議規定對用戶數據包URL和URL過濾條件進行子項拆分,使拆分獲得的URL子項結構清晰,便于在URL匹配中更好地體現URL內容,適用于計費系統中基于內容進行計費,且這種子項拆分和匹配的方法簡單易行,便于在網絡設備上實現。
權利要求
1.一種統一資源定位符的匹配方法,其特征在于,網絡設備設置URL過濾條件,該方法包括以下步驟a.網絡設備接收經過自身傳輸的用戶數據包URL;b.所述網絡設備根據協議規定的格式拆分用戶數據包URL和URL過濾條件,獲得用戶數據包URL以及URL過濾條件的URL子項;c.網絡設備比較URL過濾條件和用戶數據包URL的相同類型子項,得出匹配結果。
2.根據權利要求1所述的方法,其特征在于,步驟b中對URL過濾條件和用戶數據包URL這兩組URL進行一一對應的子項拆分。
3.根據權利要求1所述的方法,其特征在于,步驟b中所述的子項拆分為網絡設備在設置URL過濾條件時就完成對URL過濾條件的子項拆分,或者網絡設備獲取用戶數據包URL后對用戶數據包URL和URL過濾條件同時進行拆分。
4.根據權利要求1所述的方法,其特征在于,該方法進一步包括網絡設備設置URL子項的比較先后順序。
5.根據權利要求1或4所述的方法,其特征在于,該方法進一步包括網絡設備設置URL子項的比較模糊度。
6.根據權利要求5所述的方法,其特征在于,所述比較模糊度為比較URL子項時是否區分大小寫,或是否支持通配符,或是否支持包含關系,或是否支持域名和IP地址對應關系。
7.根據權利要求1所述的方法,其特征在于,該方法進一步包括網絡設備將匹配結果上報計費系統。
8.根據權利要求1、2、3、4或7所述的方法,其特征在于,所述網絡設備為GPRS網關支持節點或無線應用協議網關。
9.根據權利要求8所述的方法,其特征在于,所述網絡設備上設置有用于拆分和匹配URL的URL匹配模塊。
全文摘要
本發明公開了一種統一資源定位符的匹配方法。該方法的過程包括網絡設備設置URL過濾條件,并獲取用戶數據包URL;網絡設備根據協議規定的格式拆分用戶數據包URL和URL過濾條件,獲得用戶數據包URL以及URL過濾條件的URL子項;網絡設備比較URL過濾條件和用戶數據包URL的相同類型子項,得出匹配結果。本發明這種對URL先進行拆分然后匹配的方法簡單易行,計費系統也容易根據網絡設備上報的匹配結果獲得細微的數據內容信息,提高內容計費的精細度,使整個網絡更好地實現基于內容的計費。該方法能夠方便地應用于網絡設備,從而為運營商創造更多的額外價值。
文檔編號H04L29/06GK1798147SQ200410103468
公開日2006年7月5日 申請日期2004年12月28日 優先權日2004年12月28日
發明者羅鵬, 田會霞 申請人:華為技術有限公司