用于處理web頁面的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明的實(shí)施方式涉及對計(jì)算機(jī)應(yīng)用進(jìn)行處理的領(lǐng)域,更具體地,涉及一種用于 處理web頁面的方法和裝置。
【背景技術(shù)】
[0002] 隨著網(wǎng)絡(luò)和計(jì)算機(jī)應(yīng)用技術(shù)的快速發(fā)展,基于web的應(yīng)用變得基于計(jì)算機(jī)的應(yīng)用 的主要形式。在web頁面中,通常通過web模板來呈現(xiàn)數(shù)據(jù)。舉例而言,web模板系統(tǒng)使用 模板處理器來組合web模板W形成完成的web頁面。模板處理器被設(shè)計(jì)成將模板與數(shù)據(jù)模 型組合W產(chǎn)生完成的web頁面。模板語言是模板被編寫的語言。由于各種要求和快速擴(kuò)展 的web技術(shù),涌現(xiàn)出許多模板系統(tǒng),例如Django、JSP和Struts。另一方面,web頁面中的數(shù) 據(jù)則通過數(shù)據(jù)模式值ata Schema)來存放,由此方便構(gòu)造數(shù)據(jù)之間的內(nèi)在聯(lián)系。
[0003] 由于web頁面、尤其是動(dòng)態(tài)web頁面的技術(shù)更新很快,因此經(jīng)常要對web頁面進(jìn)行 更新和升級,其既可能包括有關(guān)web頁面模板語言的更新,也可能包括有關(guān)數(shù)據(jù)模式的更 新。在傳統(tǒng)的升級方法中,由于無法建立源web頁面中模板/數(shù)據(jù)模式和目標(biāo)模板/數(shù)據(jù) 模式的相應(yīng)聯(lián)系,送樣的更新和升級只能手動(dòng)進(jìn)行,既耗時(shí)又耗力,效率很低。
【發(fā)明內(nèi)容】
[0004] 為了解決現(xiàn)有技術(shù)中存在的上述問題,本說明書提出如下方案。
[0005] 根據(jù)本發(fā)明的第一方面,提供一種用于處理web頁面的方法,包括:標(biāo)識所述web 頁面的多個(gè)源數(shù)據(jù)模式元素;基于數(shù)據(jù)模式元素的屬性,確定所多個(gè)源數(shù)據(jù)模式元素中的 一個(gè)源數(shù)據(jù)模式元素與多個(gè)目標(biāo)數(shù)據(jù)模式元素中的一個(gè)目標(biāo)數(shù)據(jù)模式元素之間的屬性相 似度;W響應(yīng)于所述屬性相似度高于預(yù)定闊值,將所述源數(shù)據(jù)模式元素映射到所述目標(biāo)數(shù) 據(jù)模式元素,W生成目標(biāo)web頁面。
[0006] 根據(jù)本發(fā)明的第二方面,提供一種用于處理web頁面的裝置,包括:第一標(biāo)識單 元,被配置為標(biāo)識所述web頁面的多個(gè)源數(shù)據(jù)模式元素;屬性相似度確定單元,被配置為基 于數(shù)據(jù)模式元素的屬性,確定所述多個(gè)源數(shù)據(jù)模式元素中的一個(gè)源數(shù)據(jù)模式元素與多個(gè)目 標(biāo)數(shù)據(jù)模式元素中的一個(gè)目標(biāo)數(shù)據(jù)模式元素之間的屬性相似度;W及第一映射單元,被配 置為響應(yīng)于所述屬性相似度高于預(yù)定闊值,將所述源數(shù)據(jù)模式元素映射到所述目標(biāo)數(shù)據(jù)模 式元素,W生成目標(biāo)web頁面。
[0007] 根據(jù)本發(fā)明的實(shí)施方式,可W高效便捷地對web頁面中的數(shù)據(jù)模式元素或模板語 言元素進(jìn)行變換,由此可W對web頁面進(jìn)行變換,提高了變換的效率。
【附圖說明】
[0008] 通過結(jié)合附圖對本公開示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開的上述W及其 它目的、特征和優(yōu)勢將變得更加明顯,其中,在本公開示例性實(shí)施方式中,相同的參考標(biāo)號 通常代表相同部件。
[0009] 圖1示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框 圖。
[0010] 圖2示出了根據(jù)本發(fā)明示例性實(shí)施方式的用于處理web頁面的方法200的流程 圖。
[0011] 圖3示出了一個(gè)用于進(jìn)行產(chǎn)品比較服務(wù)的示例性web頁面。
[0012] 圖4示出了根據(jù)本發(fā)明示例性實(shí)施方式將圖3所示出的web頁面解析成的D0M樹。
[0013] 圖5示出了在圖3中所示出的web頁面中獲得某一數(shù)據(jù)模式元素的上下文信息的 示意性步驟。
[0014] 圖6和圖7示出了根據(jù)本發(fā)明示例性實(shí)施方式的源數(shù)據(jù)模式元素的樹形結(jié)構(gòu)和目 標(biāo)數(shù)據(jù)模式元素的樹形結(jié)構(gòu)及其關(guān)系的示意圖。
[0015] 圖8示出了根據(jù)本發(fā)明實(shí)施方式的對web頁面進(jìn)行更新的方法的流程圖800。
[0016] 圖9示出了根據(jù)本發(fā)明示例性實(shí)施方式的用于處理web頁面的裝置900的示意性 框圖。
【具體實(shí)施方式】
[0017] 下面將參照附圖更詳細(xì)地描述本公開的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開 的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可W W各種形式實(shí)現(xiàn)本公開而不應(yīng)被送里闡述的實(shí)施方 式所限制。相反,提供送些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的 范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0018] 圖1示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框 圖。圖1顯示的計(jì)算機(jī)系統(tǒng)/服務(wù)器12僅僅是一個(gè)示例,不應(yīng)對本發(fā)明實(shí)施例的功能和使 用范圍帶來任何限制。
[0019] 如圖1所示,計(jì)算機(jī)系統(tǒng)/服務(wù)器12 W通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)系統(tǒng) /服務(wù)器12的組件可W包括但不限于;一個(gè)或者多個(gè)處理器或者處理單元16,系統(tǒng)存儲(chǔ)器 28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲(chǔ)器28和處理單元16)的總線18。
[0020] 總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線或者存儲(chǔ)器控制器, 外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉 例來說,送些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線,微通道體系結(jié)構(gòu)(MAC) 總線,增強(qiáng)型ISA總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局域總線W及外圍組件互連(PCI)總線。
[0021] 計(jì)算機(jī)系統(tǒng)/服務(wù)器12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。送些介質(zhì)可W是 任何能夠被計(jì)算機(jī)系統(tǒng)/服務(wù)器12訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動(dòng) 的和不可移動(dòng)的介質(zhì)。
[0022] 系統(tǒng)存儲(chǔ)器28可W包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存 取存儲(chǔ)器(RAM) 30和/或高速緩存存儲(chǔ)器32。計(jì)算機(jī)系統(tǒng)/服務(wù)器12可W進(jìn)一步包括其 它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系統(tǒng)34 可W用于讀寫不可移動(dòng)的、非易失性磁介質(zhì)(圖1未顯示,通常稱為"硬盤驅(qū)動(dòng)器")。盡管 圖1中未示出,可W提供用于對可移動(dòng)非易失性磁盤(例如"軟盤")讀寫的磁盤驅(qū)動(dòng)器, W及對可移動(dòng)非易失性光盤(例如CD-ROM, DVD-ROM或者其它光介質(zhì))讀寫的光盤驅(qū)動(dòng)器。 在送些情況下,每個(gè)驅(qū)動(dòng)器可W通過一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線18相連。存儲(chǔ)器28 可w包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,送些程序模 塊被配置W執(zhí)行本發(fā)明各實(shí)施例的功能。
[0023] 具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,可W存儲(chǔ)在例如存儲(chǔ)器 28中,送樣的程序模塊42包括一但不限于一操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它 程序模塊W及程序數(shù)據(jù),送些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程 序模塊42通常執(zhí)行本發(fā)明所描述的實(shí)施例中的功能和/或方法。
[0024] 計(jì)算機(jī)系統(tǒng)/服務(wù)器12也可W與一個(gè)或多個(gè)外部設(shè)備14 (例如鍵盤、指向設(shè)備、 顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該計(jì)算機(jī)系統(tǒng)/服務(wù)器12交互的 設(shè)備通信,和/或與使得該計(jì)算機(jī)系統(tǒng)/服務(wù)器12能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信 的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。送種通信可W通過輸入/輸出(I/O)接 口 22進(jìn)行。并且,計(jì)算機(jī)系統(tǒng)/服務(wù)器12還可W通過網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò) (例如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適 配器20通過總線18與計(jì)算機(jī)系統(tǒng)/服務(wù)器12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示 出,可W結(jié)合計(jì)算機(jī)系統(tǒng)/服務(wù)器12使用其它硬件和/或軟件模塊,包括但不限于;微代 碼、設(shè)備驅(qū)動(dòng)器、兀余處理單元、外部磁盤驅(qū)動(dòng)陣列、RAID系統(tǒng)、磁帶驅(qū)動(dòng)器W及數(shù)據(jù)備份存 儲(chǔ)系統(tǒng)等。
[00巧]現(xiàn)在參看圖2,圖2示出了根據(jù)本發(fā)明示例性實(shí)施方式用于處理web頁面的方法 200的流程圖。根據(jù)方法200,在步驟S201中,首先標(biāo)識web頁面的多個(gè)源數(shù)據(jù)模式元素。 繼而,在步驟S202中,基于數(shù)據(jù)模式元素的屬性,確定所述多個(gè)源數(shù)據(jù)模式元素中的一個(gè) 源數(shù)據(jù)模式元素與多個(gè)目標(biāo)數(shù)據(jù)模式元素中的一個(gè)目標(biāo)數(shù)據(jù)模式元素之間的屬性相似度。 接下來,在步驟S203中,響應(yīng)于屬性相似度高于第一預(yù)定闊值,將源數(shù)據(jù)模式元素映射到 目標(biāo)數(shù)據(jù)模式元素。
[0026] 如前所述,web頁面(尤其是動(dòng)態(tài)HTML頁面)通常包括用于呈現(xiàn)數(shù)據(jù)的模板語言 (與之關(guān)聯(lián)的數(shù)據(jù)元素在本上下文中被稱為"模板語言元素")和與數(shù)據(jù)本身有關(guān)的數(shù)據(jù)模 式(與之關(guān)聯(lián)的數(shù)據(jù)元素在本上下文中被稱為"數(shù)據(jù)模式元素")。對web頁面的變換(如 更新、升級等)既可W包括對其中的數(shù)據(jù)模式元素的變換,也可W包括對其中的模板語言 元素的變換,或者對其二者的變換。圖3示出了一個(gè)用于進(jìn)行產(chǎn)品比較服務(wù)的示例性web頁 面(W JSP作為模板語言)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,雖然在圖3中示出的是JSP web頁 面,但其他類型的web頁面也在本發(fā)明的構(gòu)思之內(nèi),本發(fā)明在此不受限制。另外需要注意的 是,圖3的上部示出的是該產(chǎn)品比較服務(wù)的用戶界面,下部示出的是對應(yīng)的底層源代碼。如 無其他指示,在本文中所稱的web頁面指代其源代碼。由于模板語言具有一定的語言規(guī)范, 因此很容易在web頁面中找到它們。例如,如圖3所示,在30U302和305中W"<bean:" 開頭的若干元素是模板語言元素;303和304中W "〈logic:"開頭的若干元素是模板語言 元素。另外,303 中 "products"和 305 中 "products"的各屬性"id"、"name"、"priceA"、 "priceB"和"priceC"等則是數(shù)據(jù)模式元素。<