亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

統(tǒng)一資源定位符url匹配的方法及裝置的制造方法

文檔序號(hào):9667423閱讀:547來(lái)源:國(guó)知局
統(tǒng)一資源定位符url匹配的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,具體地,涉及一種統(tǒng)一資源定位符URL匹配的方法及裝置。
【背景技術(shù)】
[0002]URL(統(tǒng)一資源定位符,Uniform Resource Locator)是互聯(lián)網(wǎng)上標(biāo)準(zhǔn)資源的地址?;ヂ?lián)網(wǎng)上的每個(gè)文件都有一個(gè)唯一的URL,它包含的信息指出文件的位置以及瀏覽器應(yīng)該怎么處理它。URL中包括Host(主機(jī)域名)和資源路徑(Path)以及參數(shù)三部分,其中參數(shù)為可選的。URL的Host可采用域名(Domain Name)或直接使用主機(jī)的IP地址表示,Path則表明資源在Host上存放的位置,結(jié)合這兩部分,URL實(shí)現(xiàn)全網(wǎng)唯一標(biāo)識(shí)資源。例如,如下URL “a.b.c/path/to/resource.suffix?paral = vall&para2 = val2” 中,“a.b.c” 為Host部分,“/path/to/resource.suffix?” 為path部分,“paral =vall&para2 = val2” 為參數(shù)部分。
[0003]Host域名中使用分隔符‘.’將其分成不同的塊(label),從最右邊向左的塊依次表示頂級(jí)域名、二級(jí)域名、三級(jí)域名等等。頂級(jí)域名有兩類(lèi):國(guó)際頂級(jí)域名(internat1nalTop-Level Domain names,簡(jiǎn)稱(chēng)iTLDs)和國(guó)家頂級(jí)域名(nat1nal Top-Level Domainnames,簡(jiǎn)稱(chēng)nTLDs)。國(guó)際頂級(jí)域名是使用最早也最廣泛的域名,表示域名注冊(cè)企業(yè)、注冊(cè)人的類(lèi)別,例如工商企業(yè)是com、非盈利組織org、網(wǎng)絡(luò)提供商net等。國(guó)家頂級(jí)域名采用IS03166國(guó)家、地區(qū)代碼表示不同的國(guó)家或地區(qū),例如,中國(guó)是cn、美國(guó)是us、香港是hk等。
[0004]對(duì)于不同的URL對(duì)應(yīng)有不同的處理規(guī)則,例如進(jìn)行屏蔽請(qǐng)求操作、統(tǒng)計(jì)信息操作、HTTP重定向等。如此,需要對(duì)URL進(jìn)行匹配,以確定出對(duì)應(yīng)的處理規(guī)則?,F(xiàn)有技術(shù)中的URL匹配方法包括:布隆過(guò)濾器(Bloom filter)方法,被用來(lái)檢測(cè)一個(gè)元素是否為集合中的一個(gè)成員。如果檢測(cè)結(jié)果為是,該元素不一定在集合中;但如果檢測(cè)結(jié)果為否,則該元素一定不在集合中。因?yàn)檫@些特性,使得布隆過(guò)濾器不能進(jìn)行精確過(guò)濾。

【發(fā)明內(nèi)容】

[0005]為解決上述問(wèn)題,至少部分的解決上述問(wèn)題,本發(fā)明提供了一種統(tǒng)一資源定位符URL匹配的方法及裝置。
[0006]根據(jù)本發(fā)明的一方面,提供一種統(tǒng)一資源定位符URL匹配的方法,該方法包括:接收待匹配的URL;根據(jù)主機(jī)域名Host匹配規(guī)則對(duì)接收的URL的Host進(jìn)行匹配,查找到對(duì)應(yīng)的資源路徑Path匹配規(guī)則;根據(jù)查找到的Path匹配規(guī)則對(duì)URL的Path進(jìn)行匹配,查找到對(duì)應(yīng)的處理規(guī)則;將查找到的處理規(guī)則作為所述URL對(duì)應(yīng)的處理規(guī)則進(jìn)行輸出。
[0007]優(yōu)選地,所述Host匹配規(guī)則表示為節(jié)點(diǎn)中包括特征匹配字符串的Host二叉樹(shù),所述根據(jù)主機(jī)域名Host匹配規(guī)則對(duì)接收的URL的Host進(jìn)行匹配包括:根據(jù)第一分隔符對(duì)接收的URL的Host進(jìn)行分割獲得Host的子字符串,按照在Host中從右到左的順序?qū)ost的子字符串排序;在Host 二叉樹(shù)中,根據(jù)分割所得Host的子字符串和子字符串的排序進(jìn)行匹配查找;將Host在Host 二叉樹(shù)中最后匹配的節(jié)點(diǎn)所攜帶的信息確定為URL對(duì)應(yīng)的Path匹配規(guī)則。
[0008]優(yōu)選地,所述Host二叉樹(shù)的節(jié)點(diǎn)還包括位置序號(hào);所述按照在Host中從右到左的順序?qū)ost的子字符串排序包括:按照在Host中從右到左的順序?qū)ost的子字符串編號(hào)使得子字符串具有對(duì)應(yīng)的序號(hào);所述在Host 二叉樹(shù)中,根據(jù)分割所得Host的子字符串和子字符串的排序進(jìn)行匹配查找包括:當(dāng)Host的子字符串和序號(hào)與Host二叉樹(shù)中當(dāng)前節(jié)點(diǎn)的特征匹配字符串和位置序號(hào)都匹配時(shí),確定Host的子字符串和當(dāng)前節(jié)點(diǎn)匹配;當(dāng)Host的子字符串與當(dāng)前節(jié)點(diǎn)匹配時(shí),選擇當(dāng)前節(jié)點(diǎn)的孩子節(jié)點(diǎn)進(jìn)行匹配,當(dāng)Host的子字符串與當(dāng)前節(jié)點(diǎn)不匹配時(shí),選擇當(dāng)前節(jié)點(diǎn)的兄弟節(jié)點(diǎn)進(jìn)行匹配。
[0009]優(yōu)選地,所述在Host二叉樹(shù)中,根據(jù)分割所得Host的子字符串和子字符串的排序進(jìn)行匹配查找還包括:當(dāng)Host的子字符串匹配的當(dāng)前節(jié)點(diǎn)的孩子節(jié)點(diǎn)為空時(shí),判斷當(dāng)前節(jié)點(diǎn)是否具有攜帶的信息,如果具有攜帶的信息,則將當(dāng)前節(jié)點(diǎn)作為Host在Host二叉樹(shù)中最后匹配的節(jié)點(diǎn);如果不具有攜帶的信息,則將最后匹配的具有攜帶的信息的節(jié)點(diǎn)作為Host在Host二叉樹(shù)中最后匹配的節(jié)點(diǎn);當(dāng)Host的子字符串不匹配的當(dāng)前節(jié)點(diǎn)的兄弟節(jié)點(diǎn)為空時(shí),將最后匹配的具有攜帶的信息的節(jié)點(diǎn)作為Host在Host 二叉樹(shù)中最后匹配的節(jié)點(diǎn)。
[0010]優(yōu)選地,所述Host二叉樹(shù)的根節(jié)點(diǎn)的孩子節(jié)點(diǎn)和/或根節(jié)點(diǎn)的兄弟節(jié)點(diǎn)的孩子節(jié)點(diǎn)中以哈希Hash散列表的形式存儲(chǔ)多個(gè)特征匹配字符串;所述根據(jù)分割所得Host的子字符串和子字符串的排序進(jìn)行匹配查找包括:當(dāng)當(dāng)前的節(jié)點(diǎn)為根節(jié)點(diǎn)的孩子節(jié)點(diǎn)和/或根節(jié)點(diǎn)的兄弟節(jié)點(diǎn)的孩子節(jié)點(diǎn)時(shí),在Hash散列表中進(jìn)行Hash散列查找。
[0011 ]優(yōu)選地,所述根據(jù)第一分隔符對(duì)接收的URL的Host進(jìn)行分割獲得Host的子字符串包括:判斷Host是否滿(mǎn)足頂級(jí)域名為國(guó)家頂級(jí)域名且二級(jí)域名為類(lèi)別符號(hào);如果是,則將頂級(jí)域名和二級(jí)域名合并為一個(gè)子字符串,將二級(jí)域名之后部分從第一分隔符處進(jìn)行分割得到子字符串;否則,將Host從第一分隔符處進(jìn)行分割得到子字符串。
[0012]優(yōu)選地,所述Path匹配規(guī)則表示為節(jié)點(diǎn)中包括特征匹配字符串的Path 二叉樹(shù),所述根據(jù)查找到的Path匹配規(guī)則對(duì)URL的Path進(jìn)行匹配包括:根據(jù)第二分隔符對(duì)接收的URL的Path進(jìn)行分割獲得Path的子字符串,按照在Path中從左到右的順序?qū)ath的子字符串排序;在Path 二叉樹(shù)中,根據(jù)分割所得Path的子字符串和子字符串的排序進(jìn)行匹配查找;將Path在Path 二叉樹(shù)中最后匹配的節(jié)點(diǎn)所攜帶的信息確定為URL對(duì)應(yīng)的處理規(guī)則。
[0013]優(yōu)選地,所述Path二叉樹(shù)的節(jié)點(diǎn)還包括位置序號(hào);所述按照在Path中從左到右的順序?qū)ath的子字符串排序包括:按照在Path中從左到右的順序?qū)ath的子字符串編號(hào)使得子字符串具有對(duì)應(yīng)的序號(hào);所述在Path 二叉樹(shù)中,根據(jù)分割所得Path的子字符串和子字符串的排序進(jìn)行匹配查找包括:當(dāng)Path的子字符串和序號(hào)與Path二叉樹(shù)中當(dāng)前節(jié)點(diǎn)的特征匹配字符串和位置序號(hào)都匹配時(shí),確定Path的子字符串和當(dāng)前節(jié)點(diǎn)匹配;當(dāng)Path的子字符串與當(dāng)前節(jié)點(diǎn)匹配時(shí),選擇當(dāng)前節(jié)點(diǎn)的孩子節(jié)點(diǎn)進(jìn)行匹配,當(dāng)Path的子字符串與當(dāng)前節(jié)點(diǎn)不匹配時(shí),選擇當(dāng)前節(jié)點(diǎn)的兄弟節(jié)點(diǎn)進(jìn)行匹配。
[00M]優(yōu)選地,所述在Path二叉樹(shù)中,根據(jù)分割所得Path的子字符串和子字符串的排序進(jìn)行匹配查找還包括:當(dāng)Path的子字符串匹配的當(dāng)前節(jié)點(diǎn)的孩子節(jié)點(diǎn)為空時(shí),判斷當(dāng)前節(jié)點(diǎn)是否具有攜帶的信息,如果具有攜帶的信息,則將當(dāng)前節(jié)點(diǎn)作為Path在Path二叉樹(shù)中最后匹配的節(jié)點(diǎn);如果不具有攜帶的信息,則將最后匹配的具有攜帶的信息的節(jié)點(diǎn)作為Path在Path二叉樹(shù)中最后匹配的節(jié)點(diǎn);當(dāng)Path的子字符串不匹配的當(dāng)前節(jié)點(diǎn)的兄弟節(jié)點(diǎn)為空時(shí),將最后匹配的具有攜帶的信息的節(jié)點(diǎn)作為Path在Path 二叉樹(shù)中最后匹配的節(jié)點(diǎn)。
[0015]根據(jù)本發(fā)明的另一方面,提供了一種統(tǒng)一資源定位符URL匹配的裝置,該裝置包括:接收模塊,用于接收待匹配的URL;Host匹配模塊,用于根據(jù)主機(jī)域名Host匹配規(guī)則對(duì)接收的URL的Host進(jìn)行匹配,查找到對(duì)應(yīng)的資源路徑Path匹配規(guī)則;Path匹配模塊,用于根據(jù)查找到的Path匹配規(guī)則對(duì)URL的Path進(jìn)行匹配,查找到對(duì)應(yīng)的處理規(guī)則;輸出模塊,用于將查找到的處理規(guī)則作為所述URL對(duì)應(yīng)的處理規(guī)則進(jìn)行輸出。
[0016]優(yōu)選地,所述Host匹配規(guī)則表示為節(jié)點(diǎn)中包括特征匹配字符串的Host 二叉樹(shù),所述Host匹配模塊包括:第一分割子模塊,用于根據(jù)第一分隔符對(duì)接收的URL的Host進(jìn)行分割獲得Host的子字符串,按照在Host中從右到左的順序?qū)ost的子字符串排序;
[00Π]第一查找子模塊,用于在Host二叉樹(shù)中,根據(jù)分割所得Host的子字符串和子字符串的排序進(jìn)行匹配查找;第一確定子模塊,用于將Host在Host 二叉樹(shù)中最后匹配的節(jié)點(diǎn)所攜帶的信息確定為URL對(duì)應(yīng)的Path匹配規(guī)則。
[0018]優(yōu)選地,所述Host二叉樹(shù)的節(jié)點(diǎn)還包括位置序號(hào);所述第一分割子模塊用于按照在Host中從右到左的順序?qū)ost的子字符串編號(hào)使得子字符串具有對(duì)應(yīng)的序號(hào);所述第一查找子模塊用于當(dāng)Host的子字符串和序號(hào)與Host 二叉樹(shù)中當(dāng)前節(jié)點(diǎn)的特征匹配字符串和位置序號(hào)都匹配時(shí),確定Host的子字符串和當(dāng)前節(jié)點(diǎn)匹配;當(dāng)Host的子字符串與當(dāng)前節(jié)點(diǎn)匹配時(shí),選擇當(dāng)前節(jié)點(diǎn)的孩子節(jié)點(diǎn)進(jìn)行匹配,當(dāng)Host的子字符串與當(dāng)前節(jié)點(diǎn)不匹配時(shí),選擇當(dāng)前節(jié)點(diǎn)的兄弟節(jié)點(diǎn)進(jìn)行匹配。
[0019]優(yōu)選地,所述第一查找子模塊還用于當(dāng)Host的子字符串匹配的當(dāng)前節(jié)點(diǎn)的孩子節(jié)點(diǎn)為空時(shí),判斷當(dāng)前節(jié)點(diǎn)是否具有攜帶的信息,如果具有攜帶的信息,則將當(dāng)前節(jié)點(diǎn)作為Host在Host二叉樹(shù)中最后匹配的節(jié)點(diǎn);如果不具有攜帶的信息,則將最后匹配的具有攜帶的信息的節(jié)點(diǎn)作為Host在Host二叉樹(shù)中最后匹配的節(jié)點(diǎn);當(dāng)Host的子字符串不匹配的當(dāng)前節(jié)點(diǎn)的兄弟節(jié)點(diǎn)為空時(shí),將最后匹配的具有攜帶的信息的節(jié)點(diǎn)作為Host在Host 二叉樹(shù)中最后匹配的節(jié)點(diǎn)。
[0020]優(yōu)選地,所述Host二叉樹(shù)的根節(jié)點(diǎn)的孩子節(jié)點(diǎn)和/或根節(jié)點(diǎn)的兄弟節(jié)點(diǎn)的孩子節(jié)點(diǎn)中以哈希Hash散列表的形式存儲(chǔ)多個(gè)特征匹配字符串;所述第一查找子模塊用于當(dāng)當(dāng)前的節(jié)點(diǎn)為根節(jié)點(diǎn)的孩子節(jié)點(diǎn)和/或根節(jié)點(diǎn)的兄弟節(jié)點(diǎn)的孩子節(jié)點(diǎn)時(shí),在Hash散列表中進(jìn)行Hash散列查找。
[0021]優(yōu)選地,所述第一分割子模塊用于判斷Host是否滿(mǎn)足頂級(jí)域名為國(guó)家頂級(jí)域名且二級(jí)域名為類(lèi)別符號(hào);如果是,則將頂級(jí)域名和二級(jí)域名合并為一個(gè)子字符串,將二級(jí)域名之后部分從第一分隔符處進(jìn)行分割得到子字符串;否則,將Host從第一分隔符處進(jìn)行分割得到子字符串。
[0022]優(yōu)選地,所述Path匹配規(guī)則表示為節(jié)點(diǎn)中包括特征匹配字符串的Path 二叉樹(shù),所述Path匹配模塊包括:第二分割子模塊,用于根據(jù)第二分隔符對(duì)接收的URL的Path進(jìn)行分割獲得Path的子字符串,按照在Path中從左到右的順序?qū)ath的子字符串排序;
[0023]第二查找子模塊,用于在Path二叉樹(shù)中,根據(jù)分割所得Path的子字符串和子字符串的排序進(jìn)行匹配查找;第二確定子模塊,用于將Path在Path 二叉樹(shù)中最后匹配的節(jié)點(diǎn)所攜帶的信息確定為URL對(duì)應(yīng)的處理規(guī)則。
[0024]優(yōu)選地,所述Path二叉樹(shù)的節(jié)點(diǎn)還包括位置序號(hào);所述第二分割子模塊用于按照在Path中從左到右的順序?qū)ath的子字符串編號(hào)使得子字符串具有對(duì)應(yīng)的序號(hào);所述第二查找子模塊用于當(dāng)Path的子字符串和序號(hào)與Path 二叉樹(shù)中當(dāng)前節(jié)點(diǎn)的特征匹配字符串和位置序號(hào)都匹配時(shí),確定Path的子字符串和當(dāng)前節(jié)點(diǎn)匹配;當(dāng)Path的子字符串與當(dāng)前節(jié)點(diǎn)匹配時(shí),選擇當(dāng)前節(jié)點(diǎn)的孩子節(jié)點(diǎn)進(jìn)行匹配,當(dāng)Path的子字符串與當(dāng)前節(jié)點(diǎn)不匹配時(shí),選擇當(dāng)前節(jié)點(diǎn)的兄弟節(jié)點(diǎn)進(jìn)行匹配。
[0025]優(yōu)選地,所述第二查找子模塊還用于當(dāng)Path的子字符串匹配的當(dāng)前節(jié)點(diǎn)的孩子節(jié)點(diǎn)為空時(shí),判斷當(dāng)前節(jié)點(diǎn)是否具有攜帶的信息,如果具有攜帶的信息,則將當(dāng)前節(jié)點(diǎn)作為Path在Path二叉樹(shù)中最后匹配的節(jié)點(diǎn);如果不具有攜帶的信息,則將最后匹配的具有攜帶的信息的節(jié)點(diǎn)作為Path在Path二叉樹(shù)中最后匹配的節(jié)點(diǎn);當(dāng)Path的子字符串不匹配的當(dāng)前節(jié)點(diǎn)的兄弟節(jié)點(diǎn)為空時(shí),將最后匹配的具有攜帶的信息的節(jié)點(diǎn)作為Path
當(dāng)前第1頁(yè)1 2 3 4 5 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1