專利名稱:用于在網(wǎng)絡(luò)中傳送動(dòng)態(tài)信息的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于在網(wǎng)絡(luò)中傳送動(dòng)態(tài)信息的方法和系統(tǒng)。
背景技術(shù):
計(jì)算機(jī)網(wǎng)絡(luò)通常用來實(shí)現(xiàn)分布式數(shù)據(jù)處理系統(tǒng)。特別是因特網(wǎng)在最近幾年得到廣泛的普及。因特網(wǎng)是以分散設(shè)計(jì)連接數(shù)百萬臺(tái)計(jì)算機(jī)的網(wǎng)絡(luò)之網(wǎng)。因特網(wǎng)具有客戶端/服務(wù)器架構(gòu),其中,網(wǎng)絡(luò)的服務(wù)器計(jì)算機(jī)支持共享資源,客戶端計(jì)算機(jī)通過網(wǎng)絡(luò)訪問共享資源。
因特網(wǎng)還允許各個(gè)客戶端計(jì)算機(jī)與服務(wù)器計(jì)算機(jī)動(dòng)態(tài)交互,從而下載和顯示每次由服務(wù)器計(jì)算機(jī)提供時(shí)其內(nèi)容發(fā)生變化的信息。該功能典型地用于處理生成和分發(fā)由服務(wù)器計(jì)算機(jī)的數(shù)據(jù)庫(kù)上的查詢產(chǎn)生的報(bào)表。
一種本技術(shù)領(lǐng)域內(nèi)公知的用于在因特網(wǎng)中傳送動(dòng)態(tài)信息的解決方案是通過例如符合ActiveX腳本(ASP)規(guī)范的相應(yīng)程序來定義報(bào)表。每當(dāng)從網(wǎng)絡(luò)的客戶端計(jì)算機(jī)接收到動(dòng)態(tài)信息請(qǐng)求時(shí),服務(wù)器計(jì)算機(jī)調(diào)用執(zhí)行相應(yīng)ASP程序。ASP程序通過在服務(wù)器計(jì)算機(jī)的數(shù)據(jù)庫(kù)上運(yùn)行動(dòng)態(tài)查詢來生成報(bào)表。
上述解決方案的一個(gè)缺點(diǎn)是生成報(bào)表的程序相當(dāng)復(fù)雜,而且,由這些程序運(yùn)行的動(dòng)態(tài)查詢較慢。這樣,服務(wù)器計(jì)算機(jī)的性能受到嚴(yán)重影響。
上述缺點(diǎn)在要求以極高速率分發(fā)復(fù)雜報(bào)表的高可用性(high-availability)服務(wù)器計(jì)算機(jī)中尤其尖銳。在這種情況下,服務(wù)器計(jì)算機(jī)的吞吐量可能不足以滿足所請(qǐng)求分發(fā)速率。本技術(shù)領(lǐng)域內(nèi)公知的該解決方案因而導(dǎo)致降慢整個(gè)網(wǎng)絡(luò)的操作。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是提高網(wǎng)絡(luò)的性能。
本發(fā)明的另一個(gè)目的是提高服務(wù)器計(jì)算機(jī)的吞吐量。
本發(fā)明的另一個(gè)目的是允許服務(wù)器計(jì)算機(jī)以高速率分發(fā)動(dòng)態(tài)信息。
這些和其他相關(guān)目的通過一種在網(wǎng)絡(luò)中傳送動(dòng)態(tài)信息的方法來實(shí)現(xiàn),該方法在網(wǎng)絡(luò)的服務(wù)器計(jì)算機(jī)的控制下包括以下步驟存儲(chǔ)多個(gè)視圖模板,其中每個(gè)視圖模板用于一個(gè)信息塊,并且存儲(chǔ)多個(gè)由至少一個(gè)程序組成的程序集,其中每個(gè)程序集用于提取一個(gè)信息塊;檢索與所選信息塊相對(duì)應(yīng)的視圖模板;通過運(yùn)行對(duì)應(yīng)的由至少一個(gè)程序組成的程序集來提取所選信息塊;通過組合所選信息塊與對(duì)應(yīng)視圖模板來生成視圖結(jié)構(gòu);以及將視圖結(jié)構(gòu)發(fā)送到網(wǎng)絡(luò)的至少一個(gè)客戶端計(jì)算機(jī),以使視圖結(jié)構(gòu)顯示在至少一個(gè)客戶端計(jì)算機(jī)上。
本發(fā)明還提供一種可直接裝載到網(wǎng)絡(luò)的服務(wù)器計(jì)算機(jī)的工作存儲(chǔ)器中的計(jì)算機(jī)程序應(yīng)用,用于當(dāng)該應(yīng)用在服務(wù)器計(jì)算機(jī)上運(yùn)行時(shí),執(zhí)行在網(wǎng)絡(luò)中傳送動(dòng)態(tài)信息的方法,服務(wù)器計(jì)算機(jī)存儲(chǔ)多個(gè)視圖模板,其中每個(gè)視圖模板用于一個(gè)信息塊,并且存儲(chǔ)多個(gè)由至少一個(gè)程序組成的程序集,其中每個(gè)程序集用于提取一個(gè)信息塊,其中,該方法包括以下步驟檢索與所選信息塊相對(duì)應(yīng)的視圖模板;通過運(yùn)行對(duì)應(yīng)的由至少一個(gè)程序組成的程序集,提取所選信息塊;通過組合所選信息塊與對(duì)應(yīng)視圖模板來生成視圖結(jié)構(gòu);以及將視圖結(jié)構(gòu)發(fā)送到網(wǎng)絡(luò)的至少一個(gè)客戶端計(jì)算機(jī),以使視圖結(jié)構(gòu)顯示在至少一個(gè)客戶端計(jì)算機(jī)上。
而且,本發(fā)明提供一種用于在網(wǎng)絡(luò)中傳送動(dòng)態(tài)信息的相應(yīng)系統(tǒng)。
被認(rèn)為是本發(fā)明特征的新穎特性在所附權(quán)利要求中得到闡述。然而,通過參照下面結(jié)合附圖閱讀的詳細(xì)描述,本發(fā)明本身及其上述和其他相關(guān)目的和優(yōu)點(diǎn)將會(huì)得到更好的理解。
圖1是其中可以使用本發(fā)明方法的數(shù)據(jù)處理系統(tǒng)的示意表示;圖2示出系統(tǒng)的服務(wù)器計(jì)算機(jī)的工作存儲(chǔ)器的部分內(nèi)容;圖3示出描述用于傳送動(dòng)態(tài)信息的方法的邏輯的流程圖。
具體實(shí)施例方式
具體參照?qǐng)D1,該圖示出了數(shù)據(jù)處理系統(tǒng)100。系統(tǒng)100包括網(wǎng)絡(luò)105,具體地說它是因特網(wǎng)。因特網(wǎng)105由通過電信結(jié)構(gòu)相互連接的數(shù)百萬計(jì)算機(jī)形成。客戶端計(jì)算機(jī)110c通過因特網(wǎng)服務(wù)提供商或ISP(圖中未示出)訪問因特網(wǎng)105。訪問因特網(wǎng)105允許客戶端計(jì)算機(jī)110c的用戶交換信息、發(fā)送和接收電子郵件以及查看文檔。具體地說,服務(wù)器計(jì)算機(jī)110s的系統(tǒng)(萬維網(wǎng))管理稱作網(wǎng)頁的超文本文檔。每個(gè)網(wǎng)頁采用HTML來格式化,其中,HTML是一種支持到其他文檔的鏈接以及圖形、音頻和視頻文件的語言。萬維網(wǎng)(web)使用HTTP協(xié)議,該協(xié)議定義如何格式化和發(fā)送消息,以及響應(yīng)不同命令客戶端計(jì)算機(jī)110c和服務(wù)器計(jì)算機(jī)110s應(yīng)采取什么行動(dòng)。因特網(wǎng)105的一般性服務(wù)器計(jì)算機(jī)110s通過局域網(wǎng)(LAN)112連接(couple)到一個(gè)或多個(gè)數(shù)據(jù)收集計(jì)算機(jī)110d。
例如由微型計(jì)算機(jī)組成的各服務(wù)器計(jì)算機(jī)110s由并行連接到通信總線115的若干單元形成。詳細(xì)地說,多個(gè)微處理器(mP)120控制服務(wù)器計(jì)算機(jī)110s的操作。典型地為DRAM(動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)的工作存儲(chǔ)器125由微處理器120直接使用,并且只讀存儲(chǔ)器(ROM)130存儲(chǔ)用于引導(dǎo)服務(wù)器計(jì)算機(jī)110s的基本程序。另外,若干外圍單元(通過各自接口)也連接到總線115。具體地說,可以是磁性硬盤135的大容量存儲(chǔ)器以及用于讀取CD-ROM 145的驅(qū)動(dòng)器140。而且,服務(wù)器計(jì)算機(jī)110s包括輸入單元(IN)150(例如,由鍵盤和鼠標(biāo)組成)以及輸出單元(OUT)155(例如,由監(jiān)視器和打印機(jī)組成)。調(diào)制解調(diào)器160用來將服務(wù)器計(jì)算機(jī)110s連接到因特網(wǎng)105,而網(wǎng)絡(luò)接口卡(NIC)165用來將服務(wù)器計(jì)算機(jī)110s插入到LAN 112中。
如果采用不同網(wǎng)絡(luò)(如內(nèi)部網(wǎng)),如果服務(wù)器計(jì)算機(jī)具有不同結(jié)構(gòu)或包括不同單元(如網(wǎng)絡(luò)攝像頭(web cam)),如果服務(wù)器計(jì)算機(jī)以不同方式連接到數(shù)據(jù)收集計(jì)算機(jī)(例如通過點(diǎn)到點(diǎn)連接),如果服務(wù)器計(jì)算機(jī)和數(shù)據(jù)收集計(jì)算機(jī)由單個(gè)系統(tǒng)的不同邏輯分區(qū)組成等等,類似的考慮都同樣適用。
現(xiàn)在考慮圖2,該圖示出工作中的服務(wù)器計(jì)算機(jī)的工作存儲(chǔ)器125的部分內(nèi)容,信息(程序和數(shù)據(jù))典型地存儲(chǔ)在硬盤上,并且當(dāng)程序正在運(yùn)行時(shí)與操作系統(tǒng)和其他應(yīng)用程序(圖中未示出)一起(至少部分)裝載到工作存儲(chǔ)器中。這些程序最初從CD-ROM安裝到硬盤上。
工作存儲(chǔ)器125包括web服務(wù)器模塊205,它執(zhí)行由各客戶端計(jì)算機(jī)提交的命令,并且傳送相應(yīng)網(wǎng)頁。web服務(wù)器模塊205訪問靜態(tài)網(wǎng)頁的倉(cāng)庫(kù)(repository)210。每個(gè)靜態(tài)網(wǎng)頁均由在請(qǐng)求時(shí)由web服務(wù)器模塊205提取的HTML文檔構(gòu)成。web服務(wù)器模塊205與產(chǎn)生動(dòng)態(tài)網(wǎng)頁的格式化模塊210通過接口直接連接。動(dòng)態(tài)網(wǎng)頁存儲(chǔ)到用作web服務(wù)器205的高速緩沖存儲(chǔ)器(cache memory)的輸出緩沖區(qū)215中。
程序編輯器215用來在源代碼形式(例如,用C語言編寫)的程序220的倉(cāng)庫(kù)上輸入、更新、查看和執(zhí)行其他管理功能。每個(gè)源程序220內(nèi)嵌一個(gè)或多個(gè)查詢(例如,采用SQL語言),這些查詢?cè)O(shè)計(jì)成在服務(wù)器計(jì)算機(jī)的數(shù)據(jù)庫(kù)225上運(yùn)行。源程序220輸入到編譯器230,編譯器230生成鏈接并綁定到對(duì)數(shù)據(jù)庫(kù)225的訪問計(jì)劃的目標(biāo)碼形式的相應(yīng)程序235。內(nèi)嵌在編譯后的程序235中的查詢的結(jié)果由信息塊組成,這些信息塊分別由一系列記錄(或字段)形成,并且存儲(chǔ)到由格式化模塊210訪問的共享存儲(chǔ)器結(jié)構(gòu)237中。
模板編輯器240同樣用來管理用于查詢結(jié)果的(源代碼)視圖模板245的另一個(gè)倉(cāng)庫(kù)。具體地說,每個(gè)源模板245包括帶有一系列置標(biāo)標(biāo)記的HTML文檔,這些置標(biāo)標(biāo)記定義包括各自查詢結(jié)果的動(dòng)態(tài)網(wǎng)頁的布局。源模板245還包括非HTML標(biāo)記(數(shù)據(jù)標(biāo)記),這些標(biāo)記指示在何處以及如何將查詢結(jié)果的每個(gè)記錄包括到動(dòng)態(tài)網(wǎng)頁中,而且,使用一個(gè)或多個(gè)特定非HTML標(biāo)記(程序標(biāo)記)來指定由多個(gè)內(nèi)嵌與動(dòng)態(tài)網(wǎng)頁相關(guān)聯(lián)的查詢的經(jīng)編譯程序235組成的程序集的名稱。因此,每個(gè)源模板245是定義用于在客戶端計(jì)算機(jī)上顯示查詢結(jié)果的模式模型的純文本文件。
源模板245輸入到另一個(gè)編譯器250。編譯器230生成對(duì)應(yīng)視圖模板255,其中,非HTML標(biāo)記變換成目標(biāo)代碼形式的指令。每個(gè)編譯后的模板255因而是由格式化模塊210直接執(zhí)行的程序。編譯后的模板255的指令使得數(shù)據(jù)標(biāo)記替換成存儲(chǔ)在共享存儲(chǔ)器結(jié)構(gòu)237中的對(duì)應(yīng)記錄。這將導(dǎo)致生成通過組合存儲(chǔ)在共享存儲(chǔ)器結(jié)構(gòu)237中的查詢結(jié)果與由源模板245的置標(biāo)標(biāo)記定義的布局而獲得的相應(yīng)動(dòng)態(tài)網(wǎng)頁。動(dòng)態(tài)網(wǎng)頁的構(gòu)建因而分成兩個(gè)不同且連貫的步驟。在第一步驟,從數(shù)據(jù)庫(kù)中提取動(dòng)態(tài)信息,并且將其存儲(chǔ)到共享存儲(chǔ)器結(jié)構(gòu)中。在第二步驟,將信息插入到對(duì)應(yīng)視圖模板中。
更新模塊260從數(shù)據(jù)收集計(jì)算機(jī)接收要插入到數(shù)據(jù)庫(kù)225中的新數(shù)據(jù),模塊260相應(yīng)地控制數(shù)據(jù)庫(kù)225的更新。還向更新模塊260提供受到更新數(shù)據(jù)影響的動(dòng)態(tài)網(wǎng)頁列表,該列表發(fā)送到格式化模塊210。
例如,服務(wù)器計(jì)算機(jī)可以存儲(chǔ)記錄有關(guān)體育事件如奧運(yùn)會(huì)的信息,具體地說,數(shù)據(jù)庫(kù)225因而可以包括有關(guān)運(yùn)動(dòng)員和官員、競(jìng)賽日程、上場(chǎng)名單(startlist)、記錄、獎(jiǎng)牌以及已完成競(jìng)賽的結(jié)果的數(shù)據(jù)。數(shù)據(jù)收集計(jì)算機(jī)在競(jìng)賽期間捕獲每個(gè)賽場(chǎng)中的所有相關(guān)計(jì)分、計(jì)時(shí)和統(tǒng)計(jì)信息。執(zhí)行計(jì)算以產(chǎn)生有關(guān)運(yùn)動(dòng)員或團(tuán)體名次和記錄的信息,然后將該信息發(fā)送到服務(wù)器計(jì)算機(jī)。使用數(shù)據(jù)庫(kù)225上的查詢來生成可用于其他系統(tǒng)如奧運(yùn)會(huì)內(nèi)部網(wǎng)或新聞出版社的綜合信息。
如果程序和數(shù)據(jù)以不同方式構(gòu)造,如果提供不同模塊或功能,如果數(shù)據(jù)庫(kù)、程序和/或視圖模板存儲(chǔ)在別處,如果數(shù)據(jù)庫(kù)包括不同信息,如果程序和查詢用不同語言編寫,如果每個(gè)視圖模板與由不同數(shù)目的具有不同數(shù)目的查詢的程序組成的程序集相關(guān)聯(lián),如果數(shù)據(jù)標(biāo)記替換成等效指令,如果將不同標(biāo)識(shí)符插入到視圖模板中以指示相關(guān)經(jīng)編譯程序等等,類似的考慮可以適用。
參照?qǐng)D3,服務(wù)器計(jì)算機(jī)的操作涉及方法300的執(zhí)行。應(yīng)該注意,為了簡(jiǎn)單起見,方法300是采用流程圖來描述的,但是它典型地包括并行執(zhí)行不同操作的若干并發(fā)處理。方法300開始于塊305,然后傳到測(cè)驗(yàn)(test)塊310。該方法執(zhí)行與所發(fā)生的事件相對(duì)應(yīng)的操作。具體地說,如果調(diào)用管理功能,則執(zhí)行塊315-325,如果從數(shù)據(jù)收集計(jì)算機(jī)接收到更新數(shù)據(jù)以部署(deploy)到不同客戶端計(jì)算機(jī),則執(zhí)行塊330-380,而如果從客戶端計(jì)算機(jī)接收到請(qǐng)求,則執(zhí)行塊385-393,相反,如果關(guān)閉了服務(wù)器計(jì)算機(jī),則該方法結(jié)束于最終塊395。
現(xiàn)在考慮塊315(管理功能),網(wǎng)絡(luò)管理員可以插入、更新或刪除帶有數(shù)據(jù)庫(kù)查詢的源程序。繼續(xù)至塊320,網(wǎng)絡(luò)管理員同樣被允許編輯源模板。該方法下傳到塊325,其中,網(wǎng)絡(luò)管理員可以選擇編譯源程序和/或源模板。然后,該方法返回到塊310以等待新事件。
參照塊330(部署功能),從數(shù)據(jù)收集計(jì)算機(jī)接收更新數(shù)據(jù)。相應(yīng)地,在塊335更新數(shù)據(jù)庫(kù)?,F(xiàn)在傳到塊340,將受到更新數(shù)據(jù)(同樣從數(shù)據(jù)收集計(jì)算機(jī)接收)影響的動(dòng)態(tài)網(wǎng)頁列表發(fā)送到格式化模塊。
該方法繼續(xù)至塊345,其中,格式化模塊檢索與在列表中標(biāo)識(shí)的第一動(dòng)態(tài)網(wǎng)頁相對(duì)應(yīng)的經(jīng)編譯模板。移到塊350,從該經(jīng)編譯模板中提取內(nèi)嵌要在數(shù)據(jù)庫(kù)上運(yùn)行的查詢的第一相關(guān)經(jīng)編譯程序的名稱。然后,在塊355運(yùn)行該經(jīng)編譯程序。該方法下傳到塊360,其中,將查詢結(jié)果存儲(chǔ)到服務(wù)器計(jì)算機(jī)的共享存儲(chǔ)器結(jié)構(gòu)中。該方法在塊362檢查最后一個(gè)經(jīng)編譯程序是否已被處理。如果否,則方法返回到塊350,以對(duì)下一個(gè)經(jīng)編譯程序重復(fù)上述操作(其名稱是從經(jīng)編譯模板中提取的)。相反,在塊365,通過執(zhí)行經(jīng)編譯模板的指令來構(gòu)建相應(yīng)動(dòng)態(tài)網(wǎng)頁,這使得數(shù)據(jù)標(biāo)記替換成存儲(chǔ)在共享存儲(chǔ)器結(jié)構(gòu)中的相關(guān)記錄。進(jìn)入塊370,將所得到的動(dòng)態(tài)網(wǎng)頁插入到web服務(wù)器模塊的高速緩沖存儲(chǔ)器中。然后,在塊375將網(wǎng)頁分發(fā)到預(yù)設(shè)數(shù)目的客戶端計(jì)算機(jī)(例如,相關(guān)內(nèi)部網(wǎng)的所有客戶端計(jì)算機(jī))。該方法在塊380檢查列表的最后一個(gè)動(dòng)態(tài)網(wǎng)頁是否已被處理。如果否,該方法返回到塊345,以對(duì)與下一個(gè)動(dòng)態(tài)網(wǎng)頁相關(guān)聯(lián)的視圖模板重復(fù)上述操作,相反,該方法返回到塊310以等待新事件。
現(xiàn)在考慮塊385(客戶端請(qǐng)求功能),從網(wǎng)絡(luò)的客戶端計(jì)算機(jī)將動(dòng)態(tài)網(wǎng)頁請(qǐng)求提交到服務(wù)器計(jì)算機(jī)。web服務(wù)器在塊390驗(yàn)證是否在高速緩沖存儲(chǔ)器中可以獲得動(dòng)態(tài)網(wǎng)頁(也就是,動(dòng)態(tài)網(wǎng)頁是否存儲(chǔ)在未標(biāo)志為無效的高速緩沖存儲(chǔ)器條目中)。如果否,在塊393直接將動(dòng)態(tài)網(wǎng)頁發(fā)送到客戶端計(jì)算機(jī),并且該方法返回到塊310以等待新事件。相反,該方法傳到塊345,以如上所述構(gòu)建和傳送動(dòng)態(tài)網(wǎng)頁。
如果執(zhí)行例如帶有錯(cuò)誤例程或統(tǒng)計(jì)功能的等效方法,如果提供另外功能等,類似的考慮都同樣適用。
更一般地說,本發(fā)明提供一種在網(wǎng)絡(luò)中傳送動(dòng)態(tài)信息的方法。該方法包括在網(wǎng)絡(luò)的服務(wù)器計(jì)算機(jī)的控制下執(zhí)行的一系列步驟。首先,存儲(chǔ)多個(gè)視圖模板(其中每個(gè)視圖模板用于一個(gè)信息塊)和多個(gè)由一個(gè)或程序組成的程序集(其中每個(gè)程序集用于提取一個(gè)信息塊)。服務(wù)器計(jì)算機(jī)檢索與所選信息塊相對(duì)應(yīng)的視圖模板,通過運(yùn)行相應(yīng)程序集來提取所選信息塊。服務(wù)器計(jì)算機(jī)通過組合所選信息塊與對(duì)應(yīng)視圖模板來生成視圖結(jié)構(gòu)。然后,將視圖結(jié)構(gòu)發(fā)送到網(wǎng)絡(luò)的一個(gè)或多個(gè)客戶端計(jì)算機(jī),從而使視圖結(jié)構(gòu)顯示在客戶端計(jì)算機(jī)上。
所設(shè)計(jì)的解決方案簡(jiǎn)化了用于在網(wǎng)絡(luò)中分發(fā)動(dòng)態(tài)信息的在服務(wù)器計(jì)算機(jī)上執(zhí)行的過程。而且,動(dòng)態(tài)信息的提取非???,因?yàn)橄鄳?yīng)程序可以針對(duì)它們的特定任務(wù)來優(yōu)化。這就大大改善了服務(wù)器計(jì)算機(jī)的吞吐量,因而提高了網(wǎng)絡(luò)的整體性能。
本發(fā)明所提出的解決方案尤其有利于高可用性服務(wù)器計(jì)算機(jī),因而允許該服務(wù)器計(jì)算機(jī)以非常高的速率分發(fā)復(fù)雜報(bào)表。
上述本發(fā)明的優(yōu)選實(shí)施例還提供其他優(yōu)點(diǎn)。例如,每個(gè)視圖模板包括由一個(gè)或多個(gè)相應(yīng)程序標(biāo)識(shí)符組成的集合。這樣,用于提取動(dòng)態(tài)信息的程序以非常簡(jiǎn)單的方式與對(duì)應(yīng)視圖模板相關(guān)聯(lián)。
最好,每個(gè)程序內(nèi)嵌一個(gè)或多個(gè)要在數(shù)據(jù)庫(kù)上運(yùn)行的查詢,而且,將查詢結(jié)果存儲(chǔ)到服務(wù)器計(jì)算機(jī)的共享存儲(chǔ)器結(jié)構(gòu)中。
所提出的特性使得將(從數(shù)據(jù)庫(kù)提取的)動(dòng)態(tài)信息提供給格式化模塊以使其與對(duì)應(yīng)視圖模板相組合的過程非常高效。
然而,即使是以不同方式(例如,采用特定表)將每個(gè)程序集與對(duì)應(yīng)視圖模板相關(guān)聯(lián)或者將查詢結(jié)果存儲(chǔ)在別處,也可以實(shí)現(xiàn)本發(fā)明的解決方案。
在本發(fā)明的一個(gè)特定實(shí)施例中,每個(gè)視圖模板包括用于將對(duì)應(yīng)的查詢結(jié)果記錄插入到視圖模板中的指令。
該特性使本發(fā)明的方法相當(dāng)通用。而且,組合動(dòng)態(tài)信息與對(duì)應(yīng)視圖模板簡(jiǎn)單地要求執(zhí)行內(nèi)嵌在視圖模板中的指令。
最好,視圖模板和程序經(jīng)過編譯。
該解決方案加速提取動(dòng)態(tài)信息和構(gòu)建對(duì)應(yīng)視圖結(jié)構(gòu)的過程,因而,進(jìn)一步提高服務(wù)器計(jì)算機(jī)的性能。
可選地,以不同方式組合動(dòng)態(tài)信息與對(duì)應(yīng)視圖模板,或者不預(yù)先編譯視圖模板和/或程序。
而且,通過接收存儲(chǔ)在服務(wù)器計(jì)算機(jī)上的信息的更新數(shù)據(jù)以及受到新數(shù)據(jù)影響的視圖模板的指示來觸發(fā)分發(fā)動(dòng)態(tài)信息的過程。這樣,可以以非常高的速率部署最新綜合信息。
最好,通過組合查詢結(jié)果與對(duì)應(yīng)視圖模板而獲得的視圖結(jié)構(gòu)定義網(wǎng)頁。
然而,即使當(dāng)動(dòng)態(tài)信息直接被網(wǎng)絡(luò)的客戶端計(jì)算機(jī)請(qǐng)求時(shí),或者當(dāng)網(wǎng)絡(luò)利用要顯示在客戶端計(jì)算機(jī)上的不同結(jié)構(gòu)時(shí),也適合采用本發(fā)明的解決方案。
最好,本發(fā)明的解決方案采用可以在CD-ROM上提供的計(jì)算機(jī)程序來實(shí)現(xiàn)。
可選地,程序可以在軟盤上分發(fā),預(yù)先裝載到硬盤上,或者存儲(chǔ)在任何其他計(jì)算機(jī)可讀介質(zhì)上,通過因特網(wǎng)、廣播發(fā)送到服務(wù)器計(jì)算機(jī),或者更一般地以可裝載到服務(wù)器計(jì)算機(jī)的工作存儲(chǔ)器中的任何其他形式提供。然而,即使采用例如集成在半導(dǎo)體材料的芯片中的硬件結(jié)構(gòu),也可以實(shí)現(xiàn)本發(fā)明的方法。
自然地,為了滿足局部和特定要求,本領(lǐng)域的技術(shù)人員一旦閱讀本文之后就可以應(yīng)用上述解決方案,然而,很多修改和變更也包括在由所附權(quán)利要求限定的本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種在網(wǎng)絡(luò)的服務(wù)器計(jì)算機(jī)的控制下在網(wǎng)絡(luò)中傳送動(dòng)態(tài)信息的方法,包括步驟存儲(chǔ)多個(gè)視圖模板,其中每個(gè)視圖模板用于一個(gè)信息塊,并且存儲(chǔ)多個(gè)由至少一個(gè)程序組成的程序集,其中每個(gè)程序集用于提取一個(gè)信息塊;檢索與所選信息塊相對(duì)應(yīng)的視圖模板;通過運(yùn)行對(duì)應(yīng)的由至少一個(gè)程序組成的程序集來提取所選信息塊;通過組合所選信息塊與對(duì)應(yīng)視圖模板來生成視圖結(jié)構(gòu);以及將視圖結(jié)構(gòu)發(fā)送到網(wǎng)絡(luò)的至少一個(gè)客戶端計(jì)算機(jī),以使視圖結(jié)構(gòu)顯示在至少一個(gè)客戶端計(jì)算機(jī)上。
2.如權(quán)利要求1所述的方法,其中,每個(gè)視圖模板包括對(duì)應(yīng)至少一個(gè)程序的至少一個(gè)標(biāo)識(shí)符;并且提取所選信息塊的步驟還包括從對(duì)應(yīng)視圖模板中提取每個(gè)標(biāo)識(shí)符并且運(yùn)行與該標(biāo)識(shí)符相關(guān)聯(lián)的程序的步驟。
3.如權(quán)利要求1所述的方法,其中,由至少一個(gè)程序組成的程序集包括用于從存儲(chǔ)在服務(wù)器計(jì)算機(jī)上的數(shù)據(jù)庫(kù)中提取對(duì)應(yīng)信息塊的至少一個(gè)查詢;并且提取所選信息塊的步驟還包括運(yùn)行對(duì)應(yīng)至少一個(gè)查詢并且將由至少一個(gè)查詢產(chǎn)生的記錄存儲(chǔ)到服務(wù)器計(jì)算機(jī)的共享存儲(chǔ)器結(jié)構(gòu)中。
4.如權(quán)利要求3所述的方法,其中,每個(gè)視圖模板包括用于將對(duì)應(yīng)記錄插入到視圖模板的多條指令;以及生成視圖結(jié)構(gòu)的步驟還包括執(zhí)行對(duì)應(yīng)視圖模板的指令的步驟。
5.如權(quán)利要求4所述的方法,還包括編譯視圖模板和程序的步驟。
6.如權(quán)利要求1所述的方法,還包括以下步驟接收更新數(shù)據(jù)和與更新數(shù)據(jù)相關(guān)聯(lián)的視圖模板指示;根據(jù)更新數(shù)據(jù)來更新存儲(chǔ)在服務(wù)器計(jì)算機(jī)上的信息;生成對(duì)應(yīng)于與更新數(shù)據(jù)相關(guān)聯(lián)的視圖模板的視圖結(jié)構(gòu);以及將視圖結(jié)構(gòu)發(fā)送到至少一個(gè)客戶端計(jì)算機(jī)。
7.如權(quán)利要求1所述的方法,其中,視圖結(jié)構(gòu)定義網(wǎng)頁。
8.一種可直接裝載到網(wǎng)絡(luò)的服務(wù)器計(jì)算機(jī)的工作存儲(chǔ)器中的計(jì)算機(jī)程序應(yīng)用,用于當(dāng)該應(yīng)用在服務(wù)器計(jì)算機(jī)上運(yùn)行時(shí),執(zhí)行在網(wǎng)絡(luò)中傳送動(dòng)態(tài)信息的方法,服務(wù)器計(jì)算機(jī)存儲(chǔ)多個(gè)視圖模板,其中每個(gè)視圖模板用于一個(gè)信息塊,并且存儲(chǔ)多個(gè)由至少一個(gè)程序組成的程序集,其中每個(gè)程序集用于提取一個(gè)信息塊,其中,該方法包括以下步驟檢索與所選信息塊相對(duì)應(yīng)的視圖模板;通過運(yùn)行對(duì)應(yīng)的由至少一個(gè)程序組成的程序集,提取所選信息塊;通過組合所選信息塊與對(duì)應(yīng)視圖模板來生成視圖結(jié)構(gòu);以及將視圖結(jié)構(gòu)發(fā)送到網(wǎng)絡(luò)的至少一個(gè)客戶端計(jì)算機(jī),以使視圖結(jié)構(gòu)顯示在至少一個(gè)客戶端計(jì)算機(jī)上。
9.一種程序產(chǎn)品,包括在其上存儲(chǔ)了如權(quán)利要求8所述的程序應(yīng)用的計(jì)算機(jī)可讀介質(zhì)。
10.一種用于在網(wǎng)絡(luò)中傳送動(dòng)態(tài)信息的系統(tǒng),包括具有以下裝置的服務(wù)器計(jì)算機(jī)用于存儲(chǔ)多個(gè)視圖模板和多個(gè)由至少一個(gè)程序組成的程序集的裝置,其中,每個(gè)視圖模板用于一個(gè)信息塊,并且每個(gè)程序集用于提取一個(gè)信息塊;用于檢索與所選信息塊相對(duì)應(yīng)的視圖模板的裝置;用于通過運(yùn)行對(duì)應(yīng)的由至少一個(gè)程序組成的程序集來提取所選信息塊的裝置;用于通過組合所選信息塊與對(duì)應(yīng)視圖模板來生成視圖結(jié)構(gòu)的裝置;以及用于將視圖結(jié)構(gòu)發(fā)送到網(wǎng)絡(luò)的至少一個(gè)客戶端計(jì)算機(jī)以使視圖結(jié)構(gòu)顯示在至少一個(gè)客戶端計(jì)算機(jī)上的裝置。
11.一種用于在網(wǎng)絡(luò)中傳送動(dòng)態(tài)信息的系統(tǒng),包括具有以下各項(xiàng)的服務(wù)器計(jì)算機(jī)用于存儲(chǔ)多個(gè)視圖模板和多個(gè)由至少一個(gè)程序組成的程序集的存儲(chǔ)器,其中,每個(gè)視圖模板用于一個(gè)信息塊,并且每個(gè)程序集用于提取一個(gè)信息塊;用于檢索與所選信息塊相對(duì)應(yīng)的視圖模板的軟件模塊;用于通過運(yùn)行對(duì)應(yīng)的由至少一個(gè)程序組成的程序集來提取所選信息塊的軟件模塊;用于通過組合所選信息塊與對(duì)應(yīng)視圖模板來生成視圖結(jié)構(gòu)的軟件模塊;以及用于將視圖結(jié)構(gòu)發(fā)送到網(wǎng)絡(luò)的至少一個(gè)客戶端計(jì)算機(jī)以使視圖結(jié)構(gòu)顯示在至少一個(gè)客戶端計(jì)算機(jī)上的軟件模塊。
12.一種用于在網(wǎng)絡(luò)中傳送動(dòng)態(tài)信息的系統(tǒng),包括具有以下各項(xiàng)的服務(wù)器計(jì)算機(jī)存儲(chǔ)器,用于存儲(chǔ)多個(gè)視圖模板和多個(gè)由至少一個(gè)程序組成的程序集,其中,每個(gè)視圖模板用于一個(gè)信息塊,并且每個(gè)程序集用于提取一個(gè)信息塊;格式化模塊,用于檢索與所選信息塊相對(duì)應(yīng)的視圖模板,通過運(yùn)行對(duì)應(yīng)的由至少一個(gè)程序組成的程序集來提取所選信息塊,并且通過組合所選信息塊與對(duì)應(yīng)視圖模板來生成動(dòng)態(tài)網(wǎng)頁;以及web服務(wù)器模塊,用于將動(dòng)態(tài)網(wǎng)頁發(fā)送到網(wǎng)絡(luò)的至少一個(gè)客戶端計(jì)算機(jī)以使動(dòng)態(tài)網(wǎng)頁顯示在至少一個(gè)客戶端計(jì)算機(jī)上。
全文摘要
一種用于在因特網(wǎng)中傳送動(dòng)態(tài)網(wǎng)頁的方法和系統(tǒng)。將靜態(tài)查詢內(nèi)嵌到數(shù)據(jù)庫(kù)的、經(jīng)編譯程序存儲(chǔ)在服務(wù)器計(jì)算機(jī)上,帶有HTML標(biāo)記和數(shù)據(jù)標(biāo)記的視圖模板也存儲(chǔ)在服務(wù)器計(jì)算機(jī)上,其中,HTML標(biāo)記定義相應(yīng)動(dòng)態(tài)網(wǎng)頁的布局,并且數(shù)據(jù)標(biāo)記指示在何處和如何將各個(gè)查詢結(jié)果記錄包括到各自的動(dòng)態(tài)網(wǎng)頁中。當(dāng)必須分發(fā)動(dòng)態(tài)網(wǎng)頁時(shí),運(yùn)行相應(yīng)程序,并且將查詢結(jié)果存儲(chǔ)到共享存儲(chǔ)器結(jié)構(gòu)中。通過將數(shù)據(jù)標(biāo)記替換成共享存儲(chǔ)器結(jié)構(gòu)中的相關(guān)記錄,組合查詢結(jié)果與對(duì)應(yīng)視圖模板。然后,將所得到的網(wǎng)頁分發(fā)到網(wǎng)絡(luò)的客戶端計(jì)算機(jī)。
文檔編號(hào)G06F17/30GK1555533SQ02817982
公開日2004年12月15日 申請(qǐng)日期2002年8月13日 優(yōu)先權(quán)日2001年9月13日
發(fā)明者卡爾沃·加西亞, 安東尼奧·E·馬蒂尼茲馬蒂尼茲, 康查·圖恩伊茲奎爾多, 卡爾沃 加西亞, 圖恩伊茲奎爾多, 奧 E 馬蒂尼茲馬蒂尼茲 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司