專利名稱:兼容移動(dòng)訪問(wèn)的多媒體網(wǎng)頁(yè)快速適配技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明應(yīng)用于互聯(lián)網(wǎng)WEB環(huán)境,是一種WEB數(shù)據(jù)的處理方法。該方法在服務(wù)器(或代理服務(wù)器)需要對(duì)不同類型的終端和用戶特征進(jìn)行自動(dòng)適配的情況下,使用一定的措施使得針對(duì)用戶個(gè)性化訪問(wèn)的的實(shí)時(shí)適配處理效率得到很大的提高。
背景技術(shù):
目前Internet正得到飛速的發(fā)展,同時(shí)用戶接入Internet的設(shè)備類型也是層出不窮,從最初的單一的個(gè)人計(jì)算機(jī),慢慢發(fā)展為包括手機(jī)、掌上電腦等移動(dòng)設(shè)備在內(nèi)的各種終端類型。同時(shí)針對(duì)移動(dòng)設(shè)備開發(fā)的WEB應(yīng)用也正在逐漸增多?;ヂ?lián)網(wǎng)和移動(dòng)網(wǎng)絡(luò)正在融合,在移動(dòng)環(huán)境中能夠提供因特網(wǎng)接入和多媒體業(yè)務(wù)。從承載層面上看,第2.5/3代移動(dòng)網(wǎng)絡(luò)都可以支持IP協(xié)議,其核心網(wǎng)是寬帶IP網(wǎng)絡(luò)。從應(yīng)用層面上看,WAP(Wireless Application Protocol,無(wú)線應(yīng)用協(xié)議)也正在和固定WEB融合,最近發(fā)布的最新版本W(wǎng)AP 2.0,可以支持TCP/IP和HTTP/1.1,使移動(dòng)終端可以直接訪問(wèn)普通互聯(lián)網(wǎng)web服務(wù)器,這增加了服務(wù)來(lái)源,實(shí)現(xiàn)同一內(nèi)容重復(fù)使用,減少為不同終端開發(fā)應(yīng)用內(nèi)容所需要的時(shí)間。
但是要在統(tǒng)一平臺(tái)內(nèi)為各種終端服務(wù),必須解決終端、網(wǎng)絡(luò)、服務(wù)質(zhì)量等多方面的異構(gòu)性問(wèn)題。手機(jī)、個(gè)人數(shù)字助理、掌上電腦、筆記本、PC機(jī)等具有不同的能力和要求,移動(dòng)設(shè)備的處理、顯示等能力受到的限制較大。各類移動(dòng)網(wǎng)絡(luò)所提供的服務(wù)質(zhì)量相差很大,帶寬從幾Kbps到數(shù)Mbps,遲延從幾毫秒到數(shù)秒,誤碼率也相差幾個(gè)數(shù)量級(jí)。
通信終端、網(wǎng)絡(luò)、服務(wù)質(zhì)量等多方面的的異構(gòu)性需要由各種形式的軟件適配來(lái)處理,用適合的數(shù)據(jù)格式或編碼通過(guò)各種不同的網(wǎng)絡(luò)向移動(dòng)終端發(fā)送信息內(nèi)容。我們需要充分地考慮無(wú)線移動(dòng)設(shè)備的特點(diǎn),并針對(duì)于這些特點(diǎn)制定相應(yīng)的處理措施。為了適應(yīng)多種類型終端用戶的性能特征,需要根據(jù)從客戶端獲得的終端性能參數(shù),對(duì)服務(wù)器端的數(shù)據(jù)進(jìn)行相應(yīng)的過(guò)濾、轉(zhuǎn)換、組合等各種操作,實(shí)現(xiàn)各種頁(yè)面語(yǔ)言之間以及不同的圖像、視頻編碼之間的轉(zhuǎn)換。但這些轉(zhuǎn)換使得轉(zhuǎn)換結(jié)點(diǎn)(服務(wù)器或代理服務(wù)器)的處理負(fù)載急劇增加,導(dǎo)致服務(wù)性能下降。
我們采用構(gòu)造的方法進(jìn)行信息的適配。對(duì)網(wǎng)頁(yè)中不能適應(yīng)終端特性的內(nèi)容,我們不是簡(jiǎn)單地濾除,而是根據(jù)到訪的終端的具體特性來(lái)產(chǎn)生新的頁(yè)面,而這些頁(yè)面的內(nèi)容屬性是預(yù)先由服務(wù)商定義好的,但是其表現(xiàn)形式卻是完全針對(duì)具體終端的特性而制定的。構(gòu)造型方法是對(duì)原始的文件進(jìn)行處理而形成新的頁(yè)面文件,這就要求對(duì)原始文件中的內(nèi)容必須進(jìn)行嚴(yán)格的格式化,才能夠?qū)崿F(xiàn)有針對(duì)性的內(nèi)容選擇。
常見(jiàn)的頁(yè)面標(biāo)記語(yǔ)言有XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語(yǔ)言),HTML(HyperText Markup Language,超文本標(biāo)記語(yǔ)言),WML(無(wú)線標(biāo)記語(yǔ)言)等。XML是最為合適的服務(wù)器端原始數(shù)據(jù)存儲(chǔ)格式。當(dāng)用戶訪問(wèn)某個(gè)頁(yè)面時(shí),適配服務(wù)器對(duì)此頁(yè)面所對(duì)應(yīng)的XML源文件進(jìn)行分析,并根據(jù)相關(guān)參數(shù)提取所需要的內(nèi)容,并對(duì)這些內(nèi)容進(jìn)行進(jìn)一步的轉(zhuǎn)換或組合,最終形成一份適應(yīng)終端性能的文件,盡可能地使用戶獲得最優(yōu)的瀏覽效果。但是采用XML作為源文件存儲(chǔ)格式,在每次讀取XML源文件時(shí)都必須對(duì)XML進(jìn)行解析,而XML解析所耗費(fèi)的時(shí)間是比較大的,使得適配服務(wù)器的處理效率比直接讀取HTML頁(yè)面成倍下降。
至于客戶端設(shè)備性能和用戶偏好參數(shù)的存儲(chǔ)和傳輸格式,根據(jù)W3C的建議,應(yīng)該使用CC/PP(綜合能力和用戶偏好描述)作為這類信息的表示方式。CC/PP內(nèi)容需使用CC/PP解析器進(jìn)行分析?,F(xiàn)在已有的CC/PP解析器大多是用RDF(資源描述輪廓)解析器解析出RDF結(jié)構(gòu),然后查詢生成的RDF模型,建立CC/PP結(jié)構(gòu)。目前RDF解析器的構(gòu)造方法比較多,可以使用專門的語(yǔ)法詞法分析工具,如javacc,jflex+cup,也有使用XML的SAX分析器進(jìn)行解析的。總體說(shuō)來(lái)解析速度很大程度上由工具決定,有的RDF解析器本身做了很多工作,如子類subclass、子屬性subproperty是否存在環(huán)路的檢查,以及外面資源是否可達(dá)的檢查等。這些都導(dǎo)致了解析速度的降低。
對(duì)于CC/PP的存儲(chǔ)結(jié)構(gòu),一般的做法是在解析的過(guò)程中把屬性分別輸出,或分開來(lái)存到數(shù)據(jù)庫(kù)中去。這樣就不具備對(duì)象化結(jié)構(gòu),也無(wú)法把CC/PP作為一個(gè)對(duì)象存儲(chǔ)。更無(wú)法序列化之后在網(wǎng)絡(luò)上直接傳遞解析出來(lái)的結(jié)構(gòu)。
目前還沒(méi)有對(duì)CC/PP的具體的詞匯做出統(tǒng)一的規(guī)范,現(xiàn)有的CC/PP的schema并不曾對(duì)值的范圍、取值做出約束,造成有時(shí)取值不規(guī)范、不合理的情況。而且由于CC/PP需要HTTP-Extension(或WHTTP)的支持,因此目前還沒(méi)有瀏覽器將CC/PP作為HTTP請(qǐng)求的一部分而加入到HTTP的Header中。尤其是當(dāng)適配服務(wù)器面臨從客戶端傳來(lái)的參數(shù)名稱不斷變化這樣一種情況時(shí),如果在適配服務(wù)器的內(nèi)部程序中已經(jīng)使用了某種CC/PP的參數(shù)詞匯,那么將要面臨的就是對(duì)整個(gè)內(nèi)部程序的大規(guī)模的修改,這種修改將造成大量的人力、物力和時(shí)間的浪費(fèi)。
本發(fā)明可以同多媒體對(duì)象變體緩存管理等方法配合使用,能極大提高用戶服務(wù)質(zhì)量和系統(tǒng)性能。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決上述影響適配服務(wù)器12處理效率和可伸縮性的問(wèn)題。
1.關(guān)于XML解析耗費(fèi)時(shí)間過(guò)長(zhǎng)的問(wèn)題。我們的解決方案是,將XML解析操作由實(shí)時(shí)操作轉(zhuǎn)換為非實(shí)時(shí)操作,稱為XML預(yù)解析21。對(duì)于一個(gè)新的XML源文件23,使用我們所開發(fā)的相應(yīng)的解析工具24對(duì)此XML文件進(jìn)行解析,并將解析的結(jié)果以事先定義好的格式存儲(chǔ)于硬盤25之上。當(dāng)用戶訪問(wèn)此XML文件時(shí),適配服務(wù)器的實(shí)時(shí)處理部分22則直接從硬盤上讀取已經(jīng)解析的XML文件內(nèi)容25,讀入后文件構(gòu)造模塊27可以直接對(duì)其進(jìn)行內(nèi)容篩選、轉(zhuǎn)換、組合等操作。在讀取文件時(shí)主要使用導(dǎo)入內(nèi)存的方式將相關(guān)XML文件信息導(dǎo)入到實(shí)時(shí)處理的程序內(nèi)部。由于預(yù)解析的結(jié)果格式與實(shí)時(shí)處理程序內(nèi)部變量格式是事先約定好的相同的格式,所以將文件內(nèi)容導(dǎo)入內(nèi)存后,實(shí)時(shí)處理程序內(nèi)部的相應(yīng)變量的值便可以直接獲得。
2.關(guān)于使用RDF解析器導(dǎo)致CC/PP解析31效率不高的問(wèn)題。我們的解決方案是拋開CC/PP的中間格式RDF,直接用SAX解析器構(gòu)造CC/PP解析器35,不生成RDF模型,在解析過(guò)程中完成XML的一些保證格式正確的條件,定義CC/PP結(jié)構(gòu)的狀態(tài)轉(zhuǎn)化點(diǎn),在狀態(tài)圖中簡(jiǎn)捷高效地完成CC/PP結(jié)構(gòu)驗(yàn)證和一些必要的RDF格式有效性驗(yàn)證36??梢杂肵MLschema 34配合SAX解析器進(jìn)行更精確的驗(yàn)證。本方法對(duì)CC/PP描述文件33處理的速度將比通過(guò)RDF解析器提高大約5-7倍3.關(guān)于CC/PP存儲(chǔ)結(jié)構(gòu)32。定義了CC/PP的面向?qū)ο蠓謱咏Y(jié)構(gòu)37,并能對(duì)該結(jié)構(gòu)進(jìn)行操作。該結(jié)構(gòu)跟CC/PP規(guī)范定義的結(jié)構(gòu)一致,一個(gè)CC/PP Profile文檔對(duì)應(yīng)一個(gè)對(duì)象37,可以方便的獲得一個(gè)CC/PP profile的所有component,以及一個(gè)component的所有property,并且定義了對(duì)profile進(jìn)行元素添加、減少、查詢的函數(shù),復(fù)雜屬性的覆蓋、添加、替換操作,和兩個(gè)profile的合并操作。
該結(jié)構(gòu)與面向?qū)ο髷?shù)據(jù)庫(kù)43中的對(duì)象可以方便地互換,使用CC/PP模型可以直接向面向?qū)ο髷?shù)據(jù)庫(kù)的結(jié)構(gòu)映射41。通過(guò)通用數(shù)據(jù)庫(kù)訪問(wèn)工具,可以直接存取該結(jié)構(gòu)41。這種對(duì)象也可作為大對(duì)象序列化后存入數(shù)據(jù)庫(kù),可以直接讀出并進(jìn)行操作。對(duì)象存入數(shù)據(jù)庫(kù)后,可以使用數(shù)據(jù)庫(kù)中該對(duì)象的方法。利用數(shù)據(jù)庫(kù)的觸發(fā)器42對(duì)值的條件進(jìn)行約束、判斷,用戶可以設(shè)定某些值的范圍、替換規(guī)則?,F(xiàn)有的CC/PP詞匯集對(duì)值的取值范圍未做出約束,所造成不規(guī)范、不合理的值的問(wèn)題,可以得到糾正。
4.針對(duì)CC/PP詞匯沒(méi)有統(tǒng)一標(biāo)準(zhǔn)這一問(wèn)題,我們?cè)谶m配服務(wù)器增加了一個(gè)參數(shù)轉(zhuǎn)換的步驟38,將從客戶端傳來(lái)的參數(shù)37轉(zhuǎn)換成服務(wù)器內(nèi)部的參數(shù)。其中內(nèi)部的參數(shù)采用預(yù)先定義的格式,使用相應(yīng)的編碼來(lái)表示,可以在一定程度上提高內(nèi)部處理的速度。服務(wù)器內(nèi)部參數(shù)與外部參數(shù)的連接通過(guò)參數(shù)映射表40實(shí)現(xiàn)。這樣當(dāng)外部參數(shù)詞匯改變時(shí),服務(wù)器內(nèi)部的參數(shù)名稱不需要進(jìn)行改動(dòng),只需要修改相關(guān)的參數(shù)映射表即可。除了系統(tǒng)升級(jí)等情況之外,系統(tǒng)的內(nèi)部參數(shù)一旦設(shè)定就不再發(fā)生變化。
圖1整個(gè)網(wǎng)絡(luò)系統(tǒng)的結(jié)構(gòu)2適配程序中實(shí)時(shí)處理部分與預(yù)處理部分關(guān)系示意3CC/PP解析及編碼轉(zhuǎn)換過(guò)程示意圖具體實(shí)施方式
圖1給出了本發(fā)明的網(wǎng)絡(luò)實(shí)現(xiàn)環(huán)境。內(nèi)容服務(wù)器11可以是數(shù)據(jù)庫(kù)、文件系統(tǒng)或其他的WEB站點(diǎn),采用XML作為內(nèi)容存儲(chǔ)格式,并編制內(nèi)容屬性文檔。適配服務(wù)器12可以是WEB服務(wù)器,也可以是代理服務(wù)器。適配處理程序可以采用JAVA、PHP等通用語(yǔ)言編程實(shí)現(xiàn),并作為擴(kuò)展模塊耦和到HTTP處理引擎(如Apache、IIS)中。用戶終端13可以是PC機(jī)、掌上電腦或手機(jī),通過(guò)各種接入網(wǎng)絡(luò)(有線、無(wú)線)連到互聯(lián)網(wǎng)。
內(nèi)容提供者預(yù)先使用適配服務(wù)器12對(duì)其內(nèi)容服務(wù)器11中的內(nèi)容進(jìn)行解析,預(yù)解析結(jié)果存于適配服務(wù)器12的硬盤上。當(dāng)用戶終端13向適配服務(wù)器12發(fā)出訪問(wèn)某個(gè)網(wǎng)頁(yè)的請(qǐng)求時(shí),適配服務(wù)器從本機(jī)硬盤上獲取該網(wǎng)頁(yè)的預(yù)解析內(nèi)容,經(jīng)過(guò)適配處理后以合適格式發(fā)給用戶終端13。
權(quán)利要求
1.一種根據(jù)終端和用戶特征對(duì)XML網(wǎng)頁(yè)進(jìn)行實(shí)時(shí)適配處理的方法。其特征在于,適配操作分為預(yù)處理(21)和實(shí)時(shí)處理(22)兩個(gè)部分;預(yù)處理部分包括預(yù)解析處理器(24)、已解析的XML文件(25),實(shí)時(shí)處理部分包括CC/PP解析映射(26)、文件構(gòu)造模塊(27)。
2.如權(quán)利要求1所述的預(yù)處理(21),其特征在于,當(dāng)新建或更新XML文件(23)時(shí),對(duì)XML文件進(jìn)行解析操作,而以后用戶進(jìn)行訪問(wèn)時(shí)不再進(jìn)行解析,這樣就使XML實(shí)時(shí)解析變?yōu)轭A(yù)解析(24),可以成倍減少實(shí)時(shí)處理時(shí)間,提高系統(tǒng)處理效率。
3.如權(quán)利要求1所述的XML實(shí)時(shí)處理(22),其特征在于,當(dāng)用戶訪問(wèn)某XML文件時(shí),實(shí)時(shí)處理部分(22)直接從硬盤上讀取已經(jīng)解析的XML文件內(nèi)容(25),讀入后可以直接對(duì)其進(jìn)行內(nèi)容篩選、轉(zhuǎn)換、組合等操作。
4.如權(quán)利3中所描述的讀取已經(jīng)解析的XML文件內(nèi)容,其特征在于,讀入文件時(shí)采用的是導(dǎo)入內(nèi)存的方法,即將XML解析結(jié)果文件內(nèi)容(25)直接導(dǎo)入到實(shí)時(shí)處理程序(27)的內(nèi)部變量中去。
5.如權(quán)利要求1所述的CC/PP解析映射(26),其特征在于,包括CC/PP解析(31)和存儲(chǔ)映射(32)兩個(gè)部分;CC/PP解析(31)部分采用直接理解CC/PP結(jié)構(gòu)的解析法;CC/PP解析結(jié)果采用對(duì)象結(jié)構(gòu)存儲(chǔ);CC/PP解析結(jié)果經(jīng)過(guò)內(nèi)部轉(zhuǎn)換處理(38),可以映射為編碼后的參數(shù)列表(39)。
6.如權(quán)利要求5所述直接理解CC/PP結(jié)構(gòu)的解析法,其特征在于,不使用RDF解析器,也不做RDF結(jié)構(gòu)分析,不從RDF結(jié)構(gòu)模型中取得CC/PP信息;而是直接用SAX解析器進(jìn)行CC/PP解析(35),在解析的過(guò)程中定義CC/PP結(jié)構(gòu)的狀態(tài)轉(zhuǎn)化點(diǎn),簡(jiǎn)捷高效地完成CC/PP結(jié)構(gòu)驗(yàn)證和一些必要的RDF格式有效性驗(yàn)證,并直接生成CC/PP結(jié)構(gòu)(37);對(duì)CC/PP處理的效率將比通過(guò)RDF解析器處理提高幾倍。
7.如權(quán)利5所描述的對(duì)象結(jié)構(gòu),是指具有CC/PP結(jié)構(gòu)的對(duì)象,是一個(gè)層次關(guān)系的對(duì)象。其特征在于,可以以對(duì)象方式,直接在數(shù)據(jù)庫(kù)(43)中存取,應(yīng)用程序可以直接使用對(duì)象結(jié)構(gòu)(41),而無(wú)需再次解析獲得對(duì)象;通過(guò)數(shù)據(jù)庫(kù)的觸發(fā)器等功能可以簡(jiǎn)捷的實(shí)現(xiàn)該對(duì)象的方法,用該對(duì)象的方法可以對(duì)CC/PP屬性的值進(jìn)行校驗(yàn)。
8.如權(quán)利5所描述的CC/PP參數(shù)內(nèi)部轉(zhuǎn)換處理(38),其特征在于,將從用戶終端(13)傳來(lái)的用戶終端特征參數(shù)轉(zhuǎn)換成適配服務(wù)器(12)內(nèi)部的參數(shù)編碼(39),使得當(dāng)外部CC/PP參數(shù)詞匯改變時(shí),適配服務(wù)器內(nèi)部的參數(shù)名稱和程序不需要進(jìn)行改動(dòng),只需要修改相關(guān)的參數(shù)映射表(40)即可。
9.權(quán)利要求8中所述的內(nèi)部參數(shù)(39),其特征在于,采用預(yù)先定義的格式,使用相應(yīng)的編碼來(lái)表示,便于在程序中使用,可以在一定程度上提高處理的速度;服務(wù)器內(nèi)部參數(shù)與外部參數(shù)的連接通過(guò)參數(shù)映射表(40)實(shí)現(xiàn),它在建立系統(tǒng)時(shí)定義,并且一旦定義,除系統(tǒng)升級(jí)等情況外,不輕易地改變。
全文摘要
本發(fā)明“兼容移動(dòng)訪問(wèn)的多媒體網(wǎng)頁(yè)快速適配技術(shù)”屬于互聯(lián)網(wǎng)信息服務(wù)領(lǐng)域,解決了網(wǎng)頁(yè)針對(duì)移動(dòng)終端快速適配的問(wèn)題。將通常實(shí)時(shí)進(jìn)行的XML解析,改為非實(shí)時(shí)預(yù)解析,預(yù)解析結(jié)果以定義好的格式存儲(chǔ)于硬盤。當(dāng)用戶訪問(wèn)此XML文件時(shí),對(duì)包含用戶個(gè)性化特征的CC/PP信息進(jìn)行實(shí)時(shí)解析,簡(jiǎn)捷地完成CC/PP結(jié)構(gòu)和必要的RDF格式有效性的驗(yàn)證,并直接向內(nèi)部編碼映射;同時(shí)直接從硬盤上讀取已經(jīng)解析的XML文件內(nèi)容,讀入后根據(jù)CC/PP內(nèi)部編碼直接對(duì)其進(jìn)行內(nèi)容篩選、轉(zhuǎn)換、組合等操作。在讀取已解析文件時(shí)主要使用導(dǎo)入內(nèi)存的方式導(dǎo)入到程序內(nèi)部,相應(yīng)變量的值可以直接獲得。本發(fā)明可以增加移動(dòng)互聯(lián)網(wǎng)服務(wù)來(lái)源、提高服務(wù)質(zhì)量。
文檔編號(hào)G06F9/45GK1604069SQ03158389
公開日2005年4月6日 申請(qǐng)日期2003年9月29日 優(yōu)先權(quán)日2003年9月29日
發(fā)明者沈慶國(guó), 汪莉, 朱江, 李永強(qiáng) 申請(qǐng)人:中國(guó)人民解放軍理工大學(xué)通信工程學(xué)院