專(zhuān)利名稱(chēng):根據(jù)移動(dòng)終端的ua匹配資源的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及終端資源匹配技術(shù)領(lǐng)域,更為具體地,涉及一種根據(jù)移動(dòng)終端的UA匹 配資源的方法和裝置。
背景技術(shù):
隨著社會(huì)的進(jìn)步和技術(shù)的發(fā)展,人們?cè)絹?lái)越多地使用接入終端以無(wú)線(xiàn)的方式接入 因特網(wǎng)來(lái)獲取各種各樣的信息,包括信息瀏覽和文件下載等。但是,由于手機(jī)的品牌和各品 牌的手機(jī)的型號(hào)多種多樣,使得每個(gè)型號(hào)的手機(jī)必須匹配的資源都不盡相同。而目前的匹 配算法多使用遍歷思想,在海量的手機(jī)資源配置中查找與目標(biāo)手機(jī)匹配的資源,效率十分 低下。比如,有兩部手機(jī)nokia N72和nokia E63,兩個(gè)手機(jī)的屏幕是不同的,最適合它 們屏幕顯示的圖片分辨率必然也不相同,如果采用常規(guī)的匹配方法,假設(shè)在SP(增值服務(wù) 提供商)的服務(wù)器上有10000個(gè)適應(yīng)不同類(lèi)型手機(jī)的圖片,那么,這兩部手機(jī)要求下載圖片 的話(huà),最壞的情況是,前面的9998個(gè)圖片與目標(biāo)手機(jī)都不匹配,只有最后兩個(gè)圖片才匹配 到并且下發(fā)到目標(biāo)手機(jī),這樣服務(wù)器的效率就很低了。因此,需要一種能夠有效提高手機(jī)資源匹配效率的解決方案。
發(fā)明內(nèi)容
鑒于上述問(wèn)題,本發(fā)明的目的是提供一種根據(jù)移動(dòng)終端的UA匹配資源的方法和 裝置,其能夠在海量的匹配資源中快速地為目標(biāo)移動(dòng)終端匹配到資源,并且由于匹配的速 度快,在相同的負(fù)荷下也增加了資源匹配服務(wù)器的處理能力。根據(jù)本發(fā)明的一個(gè)方面,提供了一種根據(jù)移動(dòng)終端的UA匹配資源的方法,包括根據(jù)移動(dòng)終端的UA展開(kāi)移動(dòng)終端的資源;以所述移動(dòng)終端的UA為索引建立散列桶;改進(jìn)所述散列桶,將所述散列桶內(nèi)的所有配置項(xiàng)置于一條鏈表上;以及在所述散列桶中進(jìn)行資源和移動(dòng)終端的匹配。另一方面,本發(fā)明還提供一種根據(jù)移動(dòng)終端的UA匹配資源的裝置,包括資源展開(kāi)單元,用于根據(jù)移動(dòng)終端的UA展開(kāi)移動(dòng)終端的資源;散列桶建立單元,用于以所述移動(dòng)終端的UA為索引建立散列桶;散列桶改進(jìn)單元,用于改進(jìn)所述散列桶,將所述散列桶內(nèi)的所有配置項(xiàng)置于一條 鏈表上;以及資源匹配單元,用于在所述散列桶中進(jìn)行資源和移動(dòng)終端的匹配。采用上述技術(shù)方案后,能夠快速地為目標(biāo)移動(dòng)終端匹配到合適的資源,并且由于 匹配的速度快,在相同的負(fù)荷下也增加了資源匹配服務(wù)器的處理能力,從而提高了移動(dòng)終 端資源匹配的效率。為了實(shí)現(xiàn)上述以及相關(guān)目的,本發(fā)明的一個(gè)或多個(gè)方面包括后面將詳細(xì)說(shuō)明并在
3權(quán)利要求中特別指出的特征。下面的說(shuō)明以及附圖詳細(xì)說(shuō)明了本發(fā)明的某些示例性方面。 然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的一些方式。此外,本發(fā)明 旨在包括所有這些方面以及它們的等同物。
通過(guò)下面結(jié)合附圖對(duì)其實(shí)施例進(jìn)行描述,本發(fā)明的上述特征和技術(shù)優(yōu)點(diǎn)將會(huì)變得 更加清楚和容易理解。圖1表示本發(fā)明根據(jù)移動(dòng)終端的UA匹配資源的方法的流程示意圖;圖2表示本發(fā)明根據(jù)移動(dòng)終端的UA匹配資源的裝置的邏輯結(jié)構(gòu)示意圖;圖3是表示本發(fā)明在具體應(yīng)用環(huán)境中的匹配流程示意圖。在所有附圖中相同的標(biāo)號(hào)指示相似或相應(yīng)的特征或功能。
具體實(shí)施例方式以下將結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)的描述。本發(fā)明根據(jù)移動(dòng)終端的UA(User Agent,用戶(hù)代理)來(lái)實(shí)現(xiàn)資源的快速匹配。由 于UA是SIP (Session Initiation Protocol,會(huì)話(huà)發(fā)起協(xié)議)中的一個(gè)邏輯實(shí)體,其物理 實(shí)體可以是SIP終端(如SIP軟、硬件電話(huà)終端,SIP多媒體終端)、基于SIP的接入網(wǎng)元、 IAD以及SIP網(wǎng)絡(luò)中的其它網(wǎng)元等設(shè)備。以手機(jī)為例,UA就是指用戶(hù)的手機(jī)信息,通過(guò)UA, 可以知曉用戶(hù)的手機(jī)類(lèi)型,是Moto的還是索愛(ài)的,是Moto的哪一款等等信息。因此,根據(jù) UA,可以向移動(dòng)終端提供與其相匹配的相關(guān)服務(wù),如分辨率大小合適的圖片、格式準(zhǔn)確的鈴 聲等。圖1表示本發(fā)明根據(jù)移動(dòng)終端的UA匹配資源的方法的流程示意圖。如圖1所示,在移動(dòng)終端的資源匹配服務(wù)器向終端用戶(hù)提供匹配資源或者終端用 戶(hù)向資源匹配服務(wù)器請(qǐng)求匹配資源時(shí),移動(dòng)終端的資源匹配服務(wù)器會(huì)根據(jù)以下步驟進(jìn)行資 源匹配,由于資源匹配服務(wù)器在初始化階段就建立了關(guān)于移動(dòng)終端UA和匹配資源的配置 項(xiàng)集合(相當(dāng)于整個(gè)系統(tǒng)運(yùn)行的基礎(chǔ)),因此,在步驟SllO中,需要首先根據(jù)移動(dòng)終端的UA 展開(kāi)移動(dòng)終端的資源,展開(kāi)包括移動(dòng)終端的UA、匹配資源在內(nèi)的配置項(xiàng)集合;然后,在步驟 S120中,以上述移動(dòng)終端的UA為索引建立散列(Hash)桶,在Hash桶中,配置項(xiàng)的key為 UA,其它包含的內(nèi)容可以應(yīng)具體應(yīng)用環(huán)境的需要而不同,可以是圖片,也可以是軟件型號(hào), 只要能根據(jù)UA快速匹配到相應(yīng)的資源即可;在步驟S130中,改進(jìn)上述散列桶,將散列桶內(nèi) 的所有配置項(xiàng)置于一條鏈表上;在步驟S140中,在上述散列桶中通過(guò)散列查找進(jìn)行資源和 移動(dòng)終端的匹配。其中,在散列桶改進(jìn)之前,散列桶里的配置項(xiàng)之間沒(méi)有任何聯(lián)系,但是經(jīng)過(guò)步驟 S130的散列桶改進(jìn),散列桶里的所有配置項(xiàng)都處于一條鏈表上,便于在步驟S140中通過(guò)散 列查找無(wú)法進(jìn)行資源和目標(biāo)移動(dòng)終端的精確匹配時(shí),通過(guò)遍歷的手段進(jìn)行資源和目標(biāo)移動(dòng) 終端的模糊匹配。由于Hash桶本身就是一個(gè)散列矩陣,因此可以通過(guò)雙向鏈表的方式將Hash桶里 所有的配置項(xiàng)置于同一條鏈表上。另外,由于移動(dòng)終端軟、硬件提供商所提供的終端產(chǎn)品 的多樣性,經(jīng)常會(huì)出現(xiàn)一些UA不同但匹配資源相同的情形,比如像手機(jī)UA中的nokia5300和nokia5300pluS這樣的情況,由于UA不同,如果資源匹配服務(wù)器中僅存在nokia5300的 UA及其匹配資源,那么即使與nokia5300plUS匹配的資源也存在于資源匹配服務(wù)器中(即 nokia5300的匹配資源),通過(guò)上述Hash查找仍然不能Hash到精確匹配的資源,因此本發(fā) 明通過(guò)這種以鏈表為Hash桶里的配置項(xiàng)建立聯(lián)系的方式實(shí)現(xiàn)資源和目標(biāo)移動(dòng)終端的模糊 匹配。在本發(fā)明的一個(gè)優(yōu)選實(shí)施方式中,如果在散列桶中通過(guò)散列不到與移動(dòng)終端匹配 的資源,則資源匹配服務(wù)器在鏈表上遍歷查找匹配的資源進(jìn)行模糊匹配。具體來(lái)說(shuō),在遍歷 查找的過(guò)程中,如果資源匹配的UA是A,目標(biāo)移動(dòng)終端的UA是B,則在遍歷時(shí),B被A包含 或者B = A的情形都認(rèn)為資源和目標(biāo)移動(dòng)終端是匹配的。圖2表示本發(fā)明根據(jù)移動(dòng)終端的UA匹配資源的裝置的邏輯結(jié)構(gòu)示意圖。如圖2所示,與上述根據(jù)移動(dòng)終端的UA匹配資源的方法相對(duì)應(yīng),本發(fā)明還提供一 種根據(jù)移動(dòng)終端的UA匹配資源的裝置,也就是上述根據(jù)移動(dòng)終端的UA匹配資源的方法中 提及的資源匹配服務(wù)器,包括資源展開(kāi)單元210、散列桶建立單元220、散列桶改進(jìn)單元230 以及資源匹配單元240。其中,資源展開(kāi)單元210用于根據(jù)移動(dòng)終端的UA展開(kāi)資源匹配服務(wù)器重的移動(dòng)終 端的資源;散列桶建立單元220用于在資源匹配服務(wù)器中以移動(dòng)終端的UA為索引建立散列 桶;散列桶改進(jìn)單元230用于改進(jìn)所述散列桶,將所述散列桶內(nèi)的所有配置項(xiàng)置于一條鏈 表上;資源匹配單元240用于在所述散列桶中通過(guò)散列查找進(jìn)行資源和移動(dòng)終端的匹配。另外,資源匹配單元還包括精確匹配單元242和模糊匹配單元244,其中,精確匹 配單元242用于在散列桶中通過(guò)散列查找進(jìn)行資源和移動(dòng)終端的匹配;當(dāng)在散列桶中通過(guò) 散列查找不到與移動(dòng)終端匹配的資源時(shí),模糊匹配單元244則在鏈表上遍歷查找匹配的資 源進(jìn)行模糊匹配。本發(fā)明在具體的應(yīng)用過(guò)程中采用客戶(hù)端_服務(wù)器的模式,圖3是本發(fā)明在具體應(yīng) 用環(huán)境中的匹配流程示意圖。如圖3所示,以作為常用移動(dòng)終端的手機(jī)為例,本發(fā)明在應(yīng)用過(guò)程中,資源匹配服 務(wù)器通過(guò)接收手機(jī)的上行數(shù)據(jù)獲得手機(jī)的UA,此處UA = A,然后在資源匹配服務(wù)器中進(jìn)行 Hash計(jì)算,查找與UA為A的手機(jī)相匹配的資源;如果Hash命中,則組織相應(yīng)的匹配資源給 手機(jī),如果Hash沒(méi)有命中,則在資源匹配服務(wù)器改進(jìn)的Hash桶中遍歷UA資源查找與UA = A的手機(jī)匹配的資源。假設(shè)資源匹配服務(wù)器中的單個(gè)UA配置項(xiàng)(即用一個(gè)字符串來(lái)表示的 配置中的UA)為B,則當(dāng)A = B以及A包含B時(shí),認(rèn)為為UA = A的手機(jī)匹配到了相應(yīng)的資 源,則組織相應(yīng)的匹配資源給手機(jī);否則,將無(wú)資源匹配的消息返回手機(jī)。下面的例子能夠更直觀(guān)地說(shuō)明本發(fā)明的有益效果。理想情況下,假定SP的后臺(tái)有 M種不同UA的手機(jī)資源,如果采用普通的匹配算法,那么,理論上,平均每個(gè)用戶(hù)在訪(fǎng)問(wèn)時(shí) 的匹配時(shí)間復(fù)雜度是M/2(最壞情況為背景技術(shù)中描述的情形),而采用了 hash算法后,其 時(shí)間復(fù)雜度為1,并且不會(huì)因?yàn)镸的增長(zhǎng)而增長(zhǎng)。如果單純采用標(biāo)準(zhǔn)的hash算法,會(huì)出現(xiàn)一 種情況,比如,某個(gè)用戶(hù)手機(jī)UA是nokia6100E,而服務(wù)器資源配置只有nokia6100的條目, 這種情況下是匹配不到的,而采用本發(fā)明提供的改進(jìn)的hash算法,在無(wú)法精確匹配的情況 下,將會(huì)再?lài)L試一次遍歷做模糊匹配。相對(duì)于傳統(tǒng)的匹配算法,本發(fā)明所提供的此種快速匹配方法具有不可比擬的優(yōu)勢(shì)在最好情況下,時(shí)間復(fù)雜度為1,遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)匹配的時(shí)間復(fù)雜度M/2 ;在最壞情況下, 時(shí)間復(fù)雜度為1+M/2,也非常接近于傳統(tǒng)匹配的時(shí)間復(fù)雜度M/2。因此,可以確定本發(fā)明所 提供的快速匹配方法遠(yuǎn)優(yōu)于傳統(tǒng)的循環(huán)匹配算法。 在本發(fā)明的上述教導(dǎo)下,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,對(duì)于上述本發(fā)明所提出的根 據(jù)移動(dòng)終端的UA匹配資源的方法及裝置,本領(lǐng)域技術(shù)人員可以在上述實(shí)施例的基礎(chǔ)上進(jìn) 行各種改進(jìn)和變形,而這些改進(jìn)和變形,都落在本發(fā)明的保護(hù)范圍內(nèi),本領(lǐng)域技術(shù)人員應(yīng)該 明白,上述的具體描述只是更好的解釋本發(fā)明的目的,本發(fā)明的保護(hù)范圍由權(quán)利要求及其 等同物限定。
權(quán)利要求
一種根據(jù)移動(dòng)終端的UA匹配資源的方法,包括根據(jù)移動(dòng)終端的UA展開(kāi)移動(dòng)終端的資源;以所述移動(dòng)終端的UA為索引建立散列桶;改進(jìn)所述散列桶,將所述散列桶內(nèi)的所有配置項(xiàng)置于一條鏈表上;以及在所述散列桶中進(jìn)行資源和移動(dòng)終端的匹配。
2.如權(quán)利要求1所述的根據(jù)移動(dòng)終端的UA匹配資源的方法,在所述散列桶中進(jìn)行資源 和移動(dòng)終端的匹配的過(guò)程中,首先在散列桶中通過(guò)散列查找進(jìn)行資源和移動(dòng)終端的匹配; 如果找到與移動(dòng)終端匹配的資源,則將所述資源提供給移動(dòng)終端;否則, 資源匹配服務(wù)器在鏈表上遍歷查找匹配的資源進(jìn)行模糊匹配。
3.如權(quán)利要求2所述的根據(jù)移動(dòng)終端的UA匹配資源的方法,其中,在遍歷查找匹配的 資源進(jìn)行模糊匹配的過(guò)程中,如果資源匹配的UA是A,目標(biāo)移動(dòng)終端的UA是B,則在遍歷時(shí),B被A包含或者B = A 的情形都認(rèn)為資源和目標(biāo)移動(dòng)終端是匹配的。
4.如權(quán)利要求2所述的根據(jù)移動(dòng)終端的UA匹配資源的方法,其中,在所述根據(jù)移動(dòng)終 端的UA展開(kāi)移動(dòng)終端的資源的步驟之前,還包括建立關(guān)于移動(dòng)終端UA和匹配資源的配置項(xiàng)集合的步驟。
5.如權(quán)利要求1所述的根據(jù)移動(dòng)終端的UA匹配資源的方法,在將所述散列桶內(nèi)的所有 配置項(xiàng)置于一條鏈表上的過(guò)程中,通過(guò)雙向鏈表的方式將散列桶里所有的配置項(xiàng)置于同一條鏈表上。
6.一種根據(jù)移動(dòng)終端的UA匹配資源的裝置,包括資源展開(kāi)單元,用于根據(jù)移動(dòng)終端的UA展開(kāi)移動(dòng)終端的資源; 散列桶建立單元,用于以所述移動(dòng)終端的UA為索引建立散列桶; 散列桶改進(jìn)單元,用于改進(jìn)所述散列桶,將所述散列桶內(nèi)的所有配置項(xiàng)置于一條鏈表 上;以及資源匹配單元,用于在所述散列桶中進(jìn)行資源和移動(dòng)終端的匹配。
7.如權(quán)利要求7所述的根據(jù)移動(dòng)終端的UA匹配資源的裝置,其中,所述資源匹配單元 還包括精確匹配單元,用于在散列桶中通過(guò)散列查找進(jìn)行資源和移動(dòng)終端的匹配; 模糊匹配單元,用于在散列桶中通過(guò)散列查找不到與移動(dòng)終端匹配的資源時(shí),在鏈表 上遍歷查找匹配的資源進(jìn)行模糊匹配。
全文摘要
本發(fā)明提供一種根據(jù)移動(dòng)終端的UA匹配資源的方法,包括根據(jù)移動(dòng)終端的UA展開(kāi)移動(dòng)終端的資源;以所述移動(dòng)終端的UA為索引建立散列桶;改進(jìn)所述散列桶,將所述散列桶內(nèi)的所有配置項(xiàng)置于一條鏈表上;以及在所述散列桶中進(jìn)行資源和移動(dòng)終端的匹配。通過(guò)本發(fā)明,不僅能夠在海量的匹配資源中快速地為目標(biāo)移動(dòng)終端匹配到資源,并且由于匹配的速度快,在相同的負(fù)荷下也增加了資源匹配服務(wù)器的處理能力。
文檔編號(hào)H04W8/18GK101951591SQ20101025615
公開(kāi)日2011年1月19日 申請(qǐng)日期2010年8月17日 優(yōu)先權(quán)日2010年8月17日
發(fā)明者梁捷, 王堯佳 申請(qǐng)人:優(yōu)視科技有限公司