專利名稱::在客戶機-服務(wù)器通信中處理增量數(shù)據(jù)的方法和計算機系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明一般地涉及電子數(shù)據(jù)處理,具體涉及用于客戶機-服務(wù)器通信的方法、計算機程序產(chǎn)品和系統(tǒng)。
背景技術(shù):
:使用諸如微軟的InternetExplorer之類的傳統(tǒng)萬維網(wǎng)瀏覽器用戶可以訪問一些軟件應(yīng)用。通常,這樣的應(yīng)用提供了多個頁面。一個頁面包括圖形用戶界面(GUI)的相關(guān)信息,通過所述GUI,用戶可以與所述應(yīng)用交互。所述頁面可以包括多個組件。所述頁面通常在服務(wù)器上被產(chǎn)生,然后被發(fā)送到客戶機。在客戶機,所述頁面由瀏覽器向用戶顯現(xiàn)。當(dāng)用戶經(jīng)由GUI與客戶機交互以刷新頁面時,重復(fù)整個處理。用于上述流程的一般可接受的程序設(shè)計模式被稱為MVC(模型-視圖-控制器)設(shè)計模式。封裝了用于查看和操縱的應(yīng)用數(shù)據(jù)的模型被所述控制器操縱,并且被呈現(xiàn)為視圖。所述視圖對應(yīng)于包括與瀏覽器兼容的內(nèi)容的頁面。每個模型可以有多個視圖和控制器。例如,一個視圖可以用于顯現(xiàn)作為表格的模型數(shù)據(jù),而另一個視圖可以用于顯現(xiàn)作為餅圖的同一數(shù)據(jù)。所有這些都是在服務(wù)器上進行的,并且完整的視圖被隨后發(fā)送到客戶機。因此,MVC設(shè)計模式需要使能在客戶機和服務(wù)器之間的通信的計算機網(wǎng)絡(luò)的高帶寬和多個CPU周期,因為在服務(wù)器上再生整個頁面(布局信息和數(shù)據(jù)),并且通過網(wǎng)絡(luò)從服務(wù)器向客戶機重新發(fā)送結(jié)果產(chǎn)生的視圖。而且,使得用戶面對諸如等待時間和屏幕閃爍之類的不期望的效果,直到刷新的頁面被最后提供在客戶機上。諸如微軟的InternetExplorerIE6.0之類的傳統(tǒng)瀏覽器包括無閃爍呈現(xiàn)的特征。當(dāng)客戶機接收到修改的頁面時,瀏覽器識別所述頁面的修改部分,并且例如通過向頁面的文件對象模型(DOM)中進行動態(tài)HTML插入來僅僅替換這些部分而不是整個頁面。這導(dǎo)致為用戶減少屏幕閃爍,但是仍然為頁面產(chǎn)生而消耗了CPU時間(CPU周期),并且還需要從服務(wù)器向客戶機發(fā)送所述整個頁面的帶寬。而且,每個用戶與客戶機的交互要求一個服務(wù)器往返行程,因此由于頁面產(chǎn)生和發(fā)送而引起高服務(wù)器負荷。越來越需要減少在客戶機-服務(wù)器通信中的CPU時間消耗和帶寬需要,并且同時減少用戶的不期望效果。
發(fā)明內(nèi)容因此,本發(fā)明的目的是提供用于當(dāng)刷新頁面時降低在客戶機-服務(wù)器通信中的帶寬需要的方法、計算機程序產(chǎn)品和計算機系統(tǒng)。為了實現(xiàn)這個目的,在本發(fā)明的一個實施例中,按照權(quán)利要求1的用于處理增量數(shù)據(jù)的計算機系統(tǒng)提供了下述特征a)在服務(wù)器上的服務(wù)器控制器接收客戶的修改請求,并且響應(yīng)于所述修改請求而將在服務(wù)器上存儲的應(yīng)用組件的原始模型修改為所述應(yīng)用組件的修改模型;b)服務(wù)器呈現(xiàn)器產(chǎn)生對應(yīng)于在原始模型和修改模型之間的差別的至少一個瀏覽器增量;c)客戶機組合器從服務(wù)器接收至少一個瀏覽器增量,并且使用所述至少一個瀏覽器增量來在客戶機更新原始DOM組件。原始DOM組件對應(yīng)于原始模型,并且所述更新導(dǎo)致對應(yīng)于修改模型的修改DOM組件;d)通過客戶機控制器來產(chǎn)生修改請求。本發(fā)明的其他實施例是按照權(quán)利要求10的服務(wù)器、按照權(quán)利要求11的客戶機、按照權(quán)利要求15的服務(wù)器端方法、按照權(quán)利要求16的客戶機端方法、按照權(quán)利要求20的服務(wù)器端計算機程序產(chǎn)品和按照權(quán)利要求21的客戶機端計算機程序產(chǎn)品。當(dāng)與現(xiàn)有技術(shù)的MVC模式比較時,當(dāng)通過服務(wù)器來存儲和處理模型、視圖和控制器時,本發(fā)明使用這樣的模式,其中視圖和控制器被劃分為服務(wù)器端部分和客戶機端部分。視圖的服務(wù)器端部分是服務(wù)器呈現(xiàn)器。視圖的客戶機端部分是客戶機組合器??刂破鞯姆?wù)器端部分是服務(wù)器控制器,控制器的客戶機端部分是客戶機控制器。本發(fā)明的一個效果是當(dāng)取代瀏覽器增量而在服務(wù)器和客戶機之間交換整個頁面時,與現(xiàn)有技術(shù)系統(tǒng)相比較,網(wǎng)絡(luò)通信的所需帶寬較低。經(jīng)常地,僅僅頁面的較小部分被修改。在這種情況下,瀏覽器增量發(fā)送需要比整個頁面發(fā)送小得多的帶寬。本發(fā)明的另一個效果是與客戶機交互的用戶經(jīng)歷了悅目的效果,因為使用瀏覽器增量對瀏覽器組件的DOM組件的更新導(dǎo)致圖形用戶界面的無閃爍改變。本發(fā)明的另一個效果是服務(wù)器不必保存應(yīng)用的狀態(tài),因為服務(wù)器從客戶機接收它需要的狀態(tài)信息。通過在所附的權(quán)利要求中具體指出的元素和組合將實現(xiàn)和獲得本發(fā)明的多個方面。而且,本發(fā)明的特征的所述組合不被理解為限定,可以在不脫離本發(fā)明的精神的情況下在其他合成體中組合所有特征。應(yīng)當(dāng)明白,上述一般說明和下述的詳細說明僅僅是例證和說明性的,而不是對于所述的本發(fā)明的限定。圖1圖解了實現(xiàn)本發(fā)明的實施例的示例計算機系統(tǒng)的簡化方框圖;圖2A-2D圖解了按照本發(fā)明的一個實施例的圖形用戶界面的實現(xiàn)方式;圖3圖解了按照本發(fā)明的一個實施例的、客戶機與工作的服務(wù)器的交互;圖4A、4B圖解了在本發(fā)明的一個實施例中的瀏覽器增量的客戶機端處理的細節(jié);圖5圖解了可以用于本發(fā)明的一個實施例中的兩個互補計算機程序產(chǎn)品和它們的主要功能塊;圖6圖解了按照本發(fā)明的用于處理增量數(shù)據(jù)的服務(wù)器端方法的簡化流程圖;圖7A、7B圖解了按照本發(fā)明的用于處理增量數(shù)據(jù)的客戶機端方法的簡化流程圖。具體實施例方式每當(dāng)可能時,在全部附圖中使用相同的附圖標(biāo)號來表示相同或類似的部件。以下使用的術(shù)語的定義客尸機客戶機是被配置來訪問例如由軟件應(yīng)用提供的服務(wù)的計算機裝置。通常,用于訪問萬維網(wǎng)應(yīng)用的客戶機運行萬維網(wǎng)瀏覽器,諸如運行在個人計算機上的NetscapeNavigator、運行在個人數(shù)字助理上的PocketInternetExplorer或運行在蜂窩電話上的WAP瀏覽器。服務(wù)器服務(wù)器是運行由客戶機訪問的應(yīng)用的計算機裝置。頁面頁面包括用于定義萬維網(wǎng)應(yīng)用的圖形用戶界面的內(nèi)容(布局和數(shù)據(jù))(見下面的定義)。頁面通常在服務(wù)器上被呈現(xiàn)為瀏覽器兼容格式,諸如HTML或WML。組件一個組件是頁面的基本構(gòu)件。組件總是存在于頁面內(nèi)。組件可以包括其他的組件。在這種情況下,組件被稱為“父組件”,所述其他的組件被稱為“子組件”。在頁面內(nèi)沒有父組件的頁面的組件被稱為根組件。按照本發(fā)明,具有服務(wù)器端部分的組件也稱為“應(yīng)用組件”。所述應(yīng)用組件在產(chǎn)生組件描述符和瀏覽器增量期間存在。這允許具有無狀態(tài)服務(wù)器,因為所述應(yīng)用組件可以存在僅僅有限的時間間隔,并且從客戶機接收必要的狀態(tài)信息。也具有客戶機端部分的組件被稱為瀏覽器組件。所述瀏覽器組件保存相應(yīng)組件的狀態(tài)。組件描述符當(dāng)一個頁面被呈現(xiàn)為瀏覽器兼容格式時,頁面的每個應(yīng)用組件被呈現(xiàn)為所述瀏覽器兼容格式。被呈現(xiàn)的應(yīng)用組件被稱為“組件描述符”。組件描述符可以被實現(xiàn)為名字-數(shù)值對。萬維網(wǎng)應(yīng)用以下使用的萬維網(wǎng)應(yīng)用包括一組頁面。萬維網(wǎng)應(yīng)用的一個特定特征是它在服務(wù)器不保存狀態(tài)。換句話說,對于服務(wù)器接收的每個請求,它從零做起建立所訪問的萬維網(wǎng)應(yīng)用的狀態(tài)。在萬維網(wǎng)應(yīng)用已經(jīng)產(chǎn)生輸出后,通常丟棄所述狀態(tài)。文件對象模型按照對應(yīng)的W3C定義,頁面的文件對象模型(DOM)提供了一種機制來訪問和操縱被語法分析的HTML和XML內(nèi)容。類名組件的類名指定用于實現(xiàn)所述組件的應(yīng)用組件的服務(wù)器端組件的類的名稱(例如Java類、Java服務(wù)器頁面類、小服務(wù)程序類、Pascal類、C類、C++類或商業(yè)服務(wù)器頁面類)。所述應(yīng)用組件是組件類的一個實例,所述組件類包括對應(yīng)的模型、服務(wù)器控制器和服務(wù)器呈現(xiàn)器。腳本類名稱組件的腳本類名稱指定了用于實現(xiàn)對應(yīng)于應(yīng)用組件的瀏覽器組件的客戶端組件腳本類(例如,JavaScript類,JavaApplets類或VisualBasic腳本類)。所述組件腳本類和組件類可以具有相同的分層。所述瀏覽器組件是組件腳本類的一個實例,并且可以包括當(dāng)前頁面的對應(yīng)客戶端-控制器、客戶端組合器和DOM組件。DOM組件可以包括由瀏覽器使用來可視化對應(yīng)的組件的一個或多個DOM節(jié)點。圖1是用于實現(xiàn)本發(fā)明的實施例的示例計算機系統(tǒng)的簡化方框圖。計算機系統(tǒng)999包括計算機900,并且具有多個附加的計算機901、902(或90q,q=0...Q-1,Q為任何數(shù))。計算機900可以通過計算機網(wǎng)絡(luò)990與附加的計算機901、902通信。計算機900具有處理器910、存儲器920、總線930,并且選用地具有輸入裝置940和輸出裝置950(輸入/輸出裝置,用戶界面960)。如圖所示,本發(fā)明被計算機程序產(chǎn)品100(CPP)、程序載體970或程序信號980實現(xiàn)。對于計算機900,計算機901/902有時被稱為“遠程計算機”,計算機901/902例如是服務(wù)器、對等裝置或其他公共的網(wǎng)絡(luò)節(jié)點,并且通常具有許多或所有的與計算機900相關(guān)聯(lián)地描述的元件。計算機900例如是傳統(tǒng)的個人計算機(PC)、臺式或手持裝置、多處理器計算機、筆輸入計算機、基于微處理器或可編程的消費電子器件、小型計算機、大型計算機、個人移動計算裝置、移動電話、便攜或固定個人計算機、掌上型計算機等。處理器910例如是中央處理單元(CPU)、微控制器單元(MCU)或數(shù)字信號處理器(DSP)等。存儲器920表示暫時或永久存儲數(shù)據(jù)和指令的元件。雖然存儲器920被圖解為計算機900的一部分,但是存儲器功能也可以被實現(xiàn)在網(wǎng)絡(luò)990、計算機901/902和處理器910本身(例如高速緩沖存儲器、寄存器)中或其他位置。存儲器920可以是只讀存儲器(ROM)、隨機存取存儲器(RAM)或具有其他訪問的選項的存儲器。存儲器920由計算機可讀媒體或被任何其他計算機可讀存儲媒體物理地實現(xiàn),所述計算機可讀媒體諸如磁存儲媒體、光存儲媒體、半導(dǎo)體存儲媒體。存儲器920可以存儲支持模塊,諸如基本輸入輸出系統(tǒng)(BIOS)、操作系統(tǒng)(OS)、程序庫、編譯器、解釋器或文本處理工具。CPP100實現(xiàn)程序指令和——選用地——使得處理器910執(zhí)行本發(fā)明的方法步驟的數(shù)據(jù)。換句話說,CPP100可以控制計算機900的操作,以便它按照本發(fā)明操作。例如并且不限定本發(fā)明,CPP100可以被獲得為以任何編程語言的源代碼和以編譯形式的對象代碼(“二進制代碼”)。雖然CPP100被圖解為被存儲在存儲器920中,CPP100可以位于其他位置。CPP100也可以被包含在載體970中。載體970被圖解在計算機900之外。為了向計算機900傳送CPP100,載體970被方便地插入輸入裝置940。載體970被實現(xiàn)為任何計算機可讀介質(zhì),諸如上面主要描述的介質(zhì)(與存儲器920相比較)。一般。載體970是包含計算機可讀介質(zhì)的制造物品,所述計算機可讀介質(zhì)具有計算機可讀的程序代碼,它可以用于使得計算機執(zhí)行本發(fā)明的方法。而且,程序信號980也可以包含CPP100。輸入裝置940提供數(shù)據(jù)和指令以由計算機900處理。裝置940可以例如是鍵盤、指示裝置(例如鼠標(biāo)、跟蹤球、光標(biāo)方向鍵)、麥克風(fēng)、操縱桿、游戲板、掃描器或盤驅(qū)動器。雖然所述示例是具有人交互的裝置,但是裝置940也可以沒有人交互而操作,諸如無線接收機(例如具有圓盤式衛(wèi)星電視天線或地面天線)、傳感器(例如溫度計)、計數(shù)器(例如在工廠中的貨物計數(shù)器)。輸入裝置940可以用于讀取載體970。輸出裝置950提供已經(jīng)被處理的指令和數(shù)據(jù)。例如,這可以是監(jiān)控器或顯示器,諸如陰極射線管(CRT)或平板顯示器或液晶顯示器(LCD)、揚聲器、打印機、繪圖機或振動報警裝置。與上述類似,輸出裝置950可以與用戶通信,但是它也可以與另外的計算機通信。輸入裝置940和輸出裝置950可以被組合為單個裝置。任何裝置940和950可以被選用地提供??偩€930和網(wǎng)絡(luò)990通過傳送指令和數(shù)據(jù)信號來提供邏輯和物理連接。雖然在計算機900內(nèi)的連接被方便地稱為“總線930”,但是在計算機900-902之間的連接被稱為“網(wǎng)絡(luò)990”。選用地,網(wǎng)絡(luò)990包括網(wǎng)關(guān),它們是專用于數(shù)據(jù)傳輸和協(xié)議轉(zhuǎn)換的計算機。裝置940和950通過總線930(如圖所示)或通過網(wǎng)絡(luò)990(選用)而耦合到計算機900。網(wǎng)絡(luò)(像網(wǎng)絡(luò)990那樣)是在辦公室、企業(yè)范圍的計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中的普遍現(xiàn)象。網(wǎng)絡(luò)990可以是有線或無線網(wǎng)絡(luò)。網(wǎng)絡(luò)實現(xiàn)方式的示例可以是局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、公共電話交換網(wǎng)(PSTN)和綜合服務(wù)數(shù)字網(wǎng)(ISDN)。網(wǎng)絡(luò)實現(xiàn)方式的其他示例是本領(lǐng)域內(nèi)公知的。多種傳輸協(xié)議和數(shù)據(jù)格式是公知的,例如傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)、超文本傳送協(xié)議(HTTP)、安全HTTP(HTTPS)或無線應(yīng)用協(xié)議(WAP)。在元件之間耦合的接口也是在本領(lǐng)域內(nèi)公知的。為了簡潔,接口未示出。接口可以是例如串行端口接口、并行端口接口、游戲端口、通用串行總線(USB)接口、內(nèi)部或外部調(diào)制解調(diào)器、視頻適配器或聲卡。計算機和程序緊密相關(guān)聯(lián)。以下使用的諸如“計算機提供”和“程序提供”的短語是用于表達由程序控制的計算機的行為的方便簡寫。圖2A-2D圖解了在四個連續(xù)時間點T1、T2、T3和T4的按照本發(fā)明的一個實施例的圖形用戶界面955的一種實現(xiàn)方式。下面的用戶與圖形用戶界面955的交互的示例在整個說明書中用于進一步解釋本發(fā)明。但是,可以按照本發(fā)明實現(xiàn)任何圖形用戶界面。例如,GUI955被提供到在客戶計算機900(比較圖1)的輸出裝置950(比較圖1)上的用戶,并且用戶使用輸入裝置940來與GUI955交互。GUI955是使得用戶可以與被樹955-1的節(jié)點可視化的分層數(shù)據(jù)進行交互的圖形用戶界面。例如,所述分層數(shù)據(jù)被存儲在服務(wù)器計算機901上(比較圖1)。但是,所述數(shù)據(jù)可以被存儲在計算機系統(tǒng)999的任何存儲器上(比較圖1)。用戶也可以通過使用復(fù)位(按鍵)955-2來復(fù)位樹955-1。樹955-1的每個節(jié)點的狀態(tài)被相減符號(-)或相加符號(+)指示。相減符號指示節(jié)點的狀態(tài)被展開。相加符號指示節(jié)點的狀態(tài)折疊。例如,通過在節(jié)點上單擊,用戶可以將節(jié)點的狀態(tài)從折疊(+)向展開(-)改變,或反之亦然。在圖2A中,在T1,用戶使用樹955-1被提示,其中各種節(jié)點的狀態(tài)是根節(jié)點R1展開(-);子節(jié)點FL1、FL2;第一級節(jié)點FL1展開(-);子節(jié)點SL1、SL2;第一級節(jié)點FL2折疊;第二級節(jié)點SL1、SL2折疊(+)。例如,用戶選擇第二級節(jié)點SL2以展開(例如通過在節(jié)點上單擊)。在已經(jīng)接收到用戶的選擇后,由此改變樹955-1。在圖2B中,在T2,第二級節(jié)點SL2的狀態(tài)已經(jīng)改變到展開(-);子節(jié)點TL1。第三層節(jié)點TL1被加到樹955-1來作為第二層節(jié)點SL2的子節(jié)點。然后,例如,用戶再次選擇第二級節(jié)點SL2以折疊(例如通過在節(jié)點上單擊)。在已經(jīng)接收到用戶的選擇后,客戶機900由此改變樹955-1。在圖2C中,在T3,第二級節(jié)點SL2的狀態(tài)已經(jīng)改變到折疊(+)。第三層節(jié)點TL1被隱藏在樹955-1中,并且不能作為第二層節(jié)點SL2的子節(jié)點而被看見。例如,用戶然后單擊復(fù)位按鍵955-2以將樹955-1復(fù)位到其初始狀態(tài)。在已經(jīng)接收到復(fù)位請求后,客戶機900由此改變樹955-1。圖2D在T4示出了樹955-1的初始狀態(tài)的示例。根節(jié)點R1具有折疊的狀態(tài)(+),并且其子節(jié)點都不可視。樹955-1的替代初始狀態(tài)是根節(jié)點R1展開(-);子節(jié)點FL1、FL2折疊(+)。另一個替代初始狀態(tài)是所有節(jié)點展開(+)。在下面的說明中,本發(fā)明的實施例被公開,用于實現(xiàn)在圖2A-2D下所述的GUI行為,它具有低網(wǎng)絡(luò)帶寬需要和當(dāng)GUI955的外觀在時間點T1到T4時刻、之前或之后改變時降低的對于用戶的屏幕閃爍。圖3圖解了按照本發(fā)明的一個實施例的客戶機900與當(dāng)操作時的服務(wù)器901的交互。如圖1所述,客戶機900通過網(wǎng)絡(luò)990與服務(wù)器901通信。服務(wù)器901包括一個應(yīng)用組件,它具有服務(wù)器控制器101-1、服務(wù)器-呈現(xiàn)器101-2。在所述示例中,應(yīng)用組件的一個實例還包括原始模型200-T1。例如,應(yīng)用組件的一個實例還包括原始模型200-T1。例如,服務(wù)器控制器101-1和服務(wù)器呈現(xiàn)器101-2是在服務(wù)器901的存儲器921中存儲的CPP101(比較圖1)的部分。服務(wù)器控制器101-1接收410客戶機900的修改請求。在接收到所述修改請求時,服務(wù)器控制器101-1將原始模型200-T1修改10為修改的模型200-T2。在多個應(yīng)用組件的情況下,對應(yīng)的服務(wù)器控制器使得應(yīng)用組件彼此影響。換句話說,例如,服務(wù)器控制器101-1可以引發(fā)使得另一個服務(wù)器控制器修改另一個模型的事件。應(yīng)用組件的原始模型200-T1和修改的模型200-T2被以同一圓周符號圖解。向回參見圖2A的示例,原始模型200-T1在T1被可視化為樹955-1。所述修改請求對應(yīng)于用戶用于展開第二級節(jié)點SL2的交互。修改的模型200-T2在T2被可視化為樹955-1。本發(fā)明的一個實施例使用具有繼承的、面向?qū)ο蟮慕M件架構(gòu)框架(以下也稱為框架)。所述框架具有服務(wù)器端部分和客戶機端部分。所述框架可以被實現(xiàn)為功能池,諸如一個或多個類的一組方法。例如,組件實現(xiàn)在諸如GUI955的圖形用戶界面中的標(biāo)準(zhǔn)圖形用戶界面元素,諸如按鍵(例如復(fù)位955-2)、樹(例如樹955-1)、表格、標(biāo)簽條或任何其他界面元件。而且,一個組件可以具有屬性,并且提供服務(wù),諸如來自圖形用戶界面描述文件的圖形用戶界面建立、拖放交互處理和組件管理。所述框架支持在運行時間的組件建立和刪除以及在運行時間的對于組件的所有屬性的訪問。另外,所述框架可以提供一般服務(wù),諸如廣播事件機制、圖形用戶界面的修改和沒有頁面替換的服務(wù)器訪問。可以沒有類似于由小服務(wù)程序引擎——諸如Tomcat——使用的程序的特殊注冊程序而安裝組件。換句話說,安裝組件自動使得框架可以獲得組件。例如,組件的應(yīng)用組件被組件類定義,所述組件類諸如Java類、Java服務(wù)器頁面類、小服務(wù)程序類、Pascal類、C類、C++類或商業(yè)服務(wù)器頁面類。組件類運行在服務(wù)器901上。例如,組件類實現(xiàn)所述模型(例如模型200-T1)以及組件的服務(wù)器呈現(xiàn)器(例如服務(wù)器呈現(xiàn)器101-2)和服務(wù)器控制器(例如服務(wù)器控制器101-1)。為了可視化原始模型200-T1,服務(wù)器呈現(xiàn)器101-2產(chǎn)生瀏覽器兼容的代碼,諸如HTML、XHTML或WML。初始地,服務(wù)器呈現(xiàn)器101-2從原始模型200-T1產(chǎn)生組件描述符,并且向客戶機900發(fā)送組件描述符。組件描述符對應(yīng)于在圖2A的示例(在T1)中的樹955-1的瀏覽器兼容說明。本領(lǐng)域內(nèi)的技術(shù)人員知道如何在例如Java頁面、Java服務(wù)器頁面或原始模型200-T1的替代的服務(wù)器端描述的基礎(chǔ)上產(chǎn)生組件描述符。例如,諸如JavaScript類、JavaApplets類或VisualBasicScript類的組件腳本類根據(jù)原始模型200-T1的對應(yīng)的組件描述符而產(chǎn)生原始的瀏覽器組件300-T1。在一個實施例中,組件包括作為一組名字-數(shù)值對的屬性,其中,所述屬性是對應(yīng)的組件描述符的一部分。組件的標(biāo)準(zhǔn)屬性是標(biāo)識符、類名、腳本類名和父組件名。所述標(biāo)識符在包括所述組件的頁面上是唯一的。所述類名和腳本類名指定所述組件的組件類和組件腳本類的名稱。父組件名是所述組件的父組件的標(biāo)識符。例如,可以從類名得到腳本類名。腳本類可以用于建立對應(yīng)于所述組件的應(yīng)用組件的瀏覽器組件。當(dāng)在服務(wù)器901上初始產(chǎn)生一個頁面時,所述頁面的每個應(yīng)用組件的組件類通過利用所述應(yīng)用組件的對應(yīng)屬性而被調(diào)用。所述屬性包括關(guān)于在服務(wù)器901上知道的應(yīng)用組件的所有信息。所述組件類通過使用例如組件類的接口的一個或幾個函數(shù)來向頁面寫入應(yīng)用組件的組件描述符。這些函數(shù)的示例是·prolog(...)·base(...)·epilog(...)在所述示例中,所有三個函數(shù)具有一組參數(shù)。例如,參數(shù)“properties”是用于描述應(yīng)用組件的一組名字-數(shù)值對。另一個參數(shù)“output”用于向頁面內(nèi)寫入數(shù)據(jù),其中,所述數(shù)據(jù)被發(fā)送到在輸出流中的客戶機。向被發(fā)送到在輸出流中的客戶機的頁面寫入數(shù)據(jù)也被稱為向輸出流寫入或呈現(xiàn)數(shù)據(jù)。函數(shù)prolog(...)向輸出流寫入組件描述符首標(biāo)。組件描述符首標(biāo)是用于描述應(yīng)用組件的名字-數(shù)值對的瀏覽器兼容描述。函數(shù)base(...)向輸出流提供組件的基本內(nèi)容。所述基本內(nèi)容被定義為被提供到用戶的組件的初始內(nèi)容??蚣苣軌蚪M合在頁面內(nèi)的多個組件的基本內(nèi)容。這導(dǎo)致GUI955的描述。例如,組件的基本內(nèi)容包括另外的名字-數(shù)值對,諸如作為組件的初始內(nèi)容的瀏覽器兼容說明或被提供到用戶的初始內(nèi)容的參考的內(nèi)容名字-數(shù)值對。一種類型規(guī)范名字-數(shù)值對可以描述對于初始內(nèi)容的參考類型。例如,如果所述類型規(guī)范名字-數(shù)值對包括“HTML”,則對應(yīng)的內(nèi)容名字-數(shù)值對包括作為HTML串的初始內(nèi)容。其他參考類型的示例是“DOM”、“WML”和“鏈接”(到另一個頁面的鏈接)。如果所述類型規(guī)范名字-數(shù)值對包括參考類型“DOM”,則內(nèi)容名字-數(shù)值對包括頁面的對應(yīng)DOM節(jié)點的唯一標(biāo)識符。例如,在頁面產(chǎn)生時間,服務(wù)器901可以向頁面內(nèi)產(chǎn)生HTML代碼,其中,HTML代碼具有ID屬性,其包括作為ID屬性的值的DOM節(jié)點的唯一標(biāo)識符。這適用于其他的參考類型。函數(shù)epilog(...)向輸出流寫入客戶機端腳本以向框架登記組件。組件類的超類可以處理向輸出流寫入組件描述符的一些函數(shù)。換句話說,超類可以向輸出流寫入對于多個組件相同的屬性(例如類屬性)。作為超類的之類的組件類可以向?qū)?yīng)的輸出流加上特定組件的屬性。下面的編碼塊是樹組件的組件描述符的簡化HTML代碼示例<tableid=′node′><tr><td>id</td><td>node</td></tr><tr><td>parent</td><td>parentContainer</td></tr><tr><td>class</td><td>SPNode</td></tr><tr><td>positionX</td><td>0</td></tr><tr><td>positionY</td><td>0</td></tr><tr><td>Width</td><td>82</td></tr><tr><td>Height</td><td>25</td></tr>…<tr><td>contentType</td><td>HTML</td></tr><tr><td>content</td><td><HTML-stringofnodebasecontent></td></tr>…</table><scriptlanguage=′JavaScript′>SPFramework.registerComponent(′node′,′SPNode′)</script>編碼塊的表格部分包括通過例如函數(shù)prolog()產(chǎn)生的組件描述符首標(biāo)(例如identifier、parent、class、positionX、positionY、Width、Height),并且還包括由例如函數(shù)base()產(chǎn)生的組件的基本內(nèi)容(例如,contentType、content)。向回參見圖2A的示例,組件描述符對應(yīng)于在T1的樹955-1的描述。編碼塊的JavaScript部分可以被函數(shù)epilog()產(chǎn)生。當(dāng)客戶機控制器101-1將原始模型200-T1修改為修改的模型200-T2時,服務(wù)器呈現(xiàn)器101-2以瀏覽器兼容格式產(chǎn)生420至少瀏覽器增量300-I。依賴于修改10,可以由服務(wù)器呈現(xiàn)器101-2產(chǎn)生多個瀏覽器增量。在所述示例中,瀏覽器增量300-I對應(yīng)于在原始模型200-T1和修改的模型200-T2之間的差。向回參見圖2B的示例,瀏覽器增量300-I對應(yīng)于第三級節(jié)點TL1。服務(wù)器901然后向客戶機900發(fā)送430至少瀏覽器增量300-I。例如,組件類的接口具有另一個函數(shù)increment(...)。函數(shù)increment(...)可以具有參數(shù)“properties”和“output”,它們可以與用于先前說明的接口的函數(shù)相同。它可以具有另一個參數(shù)“parameters”,它是類似于參數(shù)“properties”的另一組名字-數(shù)值對。當(dāng)影響應(yīng)用組件的模型(例如原始模型200-T1)的用戶交互(例如當(dāng)用戶指示展開第二級節(jié)點SL2時)需要在對應(yīng)的瀏覽器組件的至少一部分中的改變以獲得其可視化的時候,可以調(diào)用函數(shù)increment()。函數(shù)increment()具有用于產(chǎn)生420對應(yīng)的瀏覽器增量(例如瀏覽器增量300-I)和將其向輸出流寫入的任務(wù)。被提供有參數(shù)“parameters”的名字-數(shù)值對指定要產(chǎn)生的瀏覽器增量的精確格式。向回參見圖2B的示例,瀏覽器增量300-I的HTML示例可以包括下列聲明<divid=′/R1/FL1/SL2/TL1′>nodelabel</div>。標(biāo)識符′/R1/FL1/SL2/TL1′描述了對應(yīng)于在T2的第三級節(jié)點TL1的瀏覽器增量的路徑。節(jié)點標(biāo)簽可以是圖標(biāo)(例如在圓圈中的“+”),用于可視化節(jié)點或文本或任何其他圖示。在一個替代實施例中,單個函數(shù)(例如函數(shù)all_in_one(...))或任何其他數(shù)量的函數(shù)可以用于執(zhí)行向輸出流寫入對應(yīng)的數(shù)據(jù)所需要的前述任務(wù)??傊诒景l(fā)明的一個實施例中,服務(wù)器端組件類具有兩個任務(wù)a)在請求時,向輸出流寫入組件描述符,其中,所述組件描述符列出了所有的組件屬性。而且,產(chǎn)生組件基本內(nèi)容,并且將其寫入到輸出流。而且,向輸出流寫入代碼,用于向框架登記組件。b)在請求時,產(chǎn)生由所述參數(shù)描述的瀏覽器增量。向輸出流寫入瀏覽器增量??蛻魴C900包括瀏覽器組件,它對應(yīng)于應(yīng)用組件并且具有對應(yīng)的客戶機組合器100-1和客戶機控制器100-2。例如,客戶機控制器100-2和客戶機組合器100-1是被存儲在客戶機900的存儲器920中的CPP100(比較圖1)的部分。瀏覽器組件(例如JavaScript對象)的一個實例是從對應(yīng)的組件腳本類說明的。例如,框架的客戶機端部分使用構(gòu)造器,用于接收對于組件描述符的指針。瀏覽器組件從組件描述符提取屬性和對應(yīng)的屬性值,并且向瀏覽器組件的實例加上它們。瀏覽器組件的實例包括原始DOM組件300-T1。在已經(jīng)修改了原始模型200-T1后,客戶機組合器100-1接收520瀏覽器增量300-I,并且使用至少瀏覽器增量300-I來更新530原始DOM組件300-T1(對應(yīng)于原始模型200-T1)。這導(dǎo)致修改的DOM組件300-T2,它對應(yīng)于修改的模型200-T2。通過同一橢圓來圖解修改的DOM組件300-T2和原始DOM組件300-T1。例如,修改的DOM組件300-T2和原始DOM組件300-T1是對應(yīng)的組件腳本類的實例(例如,JavaScript對象)。在本發(fā)明的一個實施例中,對應(yīng)于組件的組件類的組件腳本類在客戶端900上運行,并且實現(xiàn)例如客戶機組合器100-1和客戶機控制器100-2。例如,客戶機組合器100-1的接口包括函數(shù)handleResponse(...)。在本發(fā)明的一個實施例中,當(dāng)客戶機組合器100-1從組件類的函數(shù)increment()接收到520瀏覽器增量300-I時,調(diào)用函數(shù)handleResponse()。例如,所述框架將函數(shù)increment()的參數(shù)“output”傳送到handleResponse()的參數(shù)“response”。而且,函數(shù)handleResponse()的參數(shù)“target”是在接收410步驟中被傳送到服務(wù)器901的值。當(dāng)在已經(jīng)接收到520瀏覽器增量300-I時調(diào)用函數(shù)handleResponse()時,參數(shù)“target”向客戶指示瀏覽器增量300-I的接收者(瀏覽器組件)。所述接收者可以與原始請求者相同,但是也可以與原始請求者不同。從服務(wù)器901檢索瀏覽器增量300-I的第一實例是通過使用腳本標(biāo)簽。第二實例是通過使用隱藏的HTMLiFrame元素。為了使用腳本標(biāo)簽(例如JavaScript)來檢索瀏覽器增量,框架的客戶端部分執(zhí)行下述步驟。首先,產(chǎn)生對應(yīng)的請求URL。例如,框架的客戶端部分從自服務(wù)器接收的頁面檢索服務(wù)器產(chǎn)生的基本請求URL,并且附加請求具體參數(shù)。然后,產(chǎn)生具有SCR屬性的腳本標(biāo)簽(例如stag)。為此,例如,可以使用JavaScript聲明,諸如varstag=createNode(“script”)然后,向腳本標(biāo)簽的SRC屬性分配請求URL(stag.SRC=請求URL)。然后,腳本標(biāo)簽被加到頁面的DOM。例如,這可以通過使用JavaScript聲明document.body.appendChild(stag)來完成。一旦向DOM增加腳本標(biāo)簽,則客戶機向服務(wù)器發(fā)送對于服務(wù)器的請求。服務(wù)器產(chǎn)生包括對于所述請求的響應(yīng)的腳本聲明。例如,服務(wù)器可以建立對于框架的客戶端部分的調(diào)用,將服務(wù)器請求的結(jié)果作為下述參數(shù)傳送Framework.handleResponse(result)函數(shù)handleResponse(...)在客戶機解釋所述結(jié)果,并且向?qū)?yīng)的組件傳送每個組件的結(jié)果。諸如VBScript的其他腳本語言可以等同地被用于使用腳本標(biāo)簽來實現(xiàn)瀏覽器增量檢索。第二實例取代腳本標(biāo)簽而使用iFrames來用于瀏覽器增量檢索。在這個實例中,從服務(wù)器接收的頁面包括隱藏的iFrame,它通過所述框架的服務(wù)器端部分被產(chǎn)生到頁面中。所述框架的客戶機端部分然后產(chǎn)生如在第一示例中所述的對應(yīng)請求URL。然后,請求URL被分配到隱藏的iFrame的SRC屬性。一旦向SRC屬性分配了請求URL,則客戶機向服務(wù)器發(fā)送對應(yīng)的請求。服務(wù)器可以產(chǎn)生如在第一示例中所述的腳本,或者它可以產(chǎn)生在客戶機需要什么行為的描述。在后一種情況下,客戶機端框架解釋所述說明,并且由此行動。當(dāng)客戶機組合器100-1注意到請求了瀏覽器組件的更新(例如通過用戶交互)的時候,客戶機控制器100-2產(chǎn)生被發(fā)送510到服務(wù)器901的修改請求。在圖4A、4B和圖5中解釋了客戶機控制器100-2的另一些函數(shù)。當(dāng)從服務(wù)器901向客戶機900發(fā)送取代整個修改的瀏覽器組件的僅僅瀏覽器增量300-I時,對于通過網(wǎng)絡(luò)990的客戶機-服務(wù)器通信需要較少的帶寬,并且用于產(chǎn)生瀏覽器增量300-I比用于再生全部頁面消耗更少的服務(wù)器的CPU時間。當(dāng)通過客戶機組合器100-1用瀏覽器增量300-I來更新原始的DOM組件300-T1時,減少了當(dāng)替換全頁面時經(jīng)常發(fā)生的屏幕閃爍。圖4A、4B進一步圖解了在本發(fā)明的一個實施例中瀏覽器增量300-I的客戶機端處理的細節(jié)。優(yōu)選的是,在已經(jīng)接收到520瀏覽器增量300-I時,客戶機控制器100-2在客戶機900的高速緩沖存儲器920-C內(nèi)存儲瀏覽器增量300-I。圖4A圖解了在接收到去活請求DAR時的瀏覽器增量300-I的去活。去活請求DAR可以如圖2A、2B所述被與客戶機900交互的用戶產(chǎn)生,或者它可以在計算機系統(tǒng)999中的另一個計算機產(chǎn)生。例如,通過客戶機控制器100-2來接收去活請求DAR。然后,客戶機控制器100-2指令610客戶機組合器100-1去活550在修改的DOM組件300-T2中的瀏覽器增量300-I而產(chǎn)生去活的DOM組件300-T3。例如,可以通過設(shè)置對應(yīng)的去活標(biāo)記來去活瀏覽器增量300-I。在去活的DOM組件300-T3中,瀏覽器增量300-I被抑制(例如通過刪除或設(shè)置去活標(biāo)記;如通過打叉來圖示)。修改的DOM組件300-T2和去活的DOM組件300-T3被以同一橢圓圖解。向回參見圖2B、2C的示例,修改的DOM組件300-T2對應(yīng)于在T2的樹955-1,其中第二級節(jié)點SL2被展開,并且第三級節(jié)點SL2被包括。去活的DOM組件300-T3對應(yīng)于在T3的樹955-1,其中,第三級節(jié)點TL1被抑制,并且第二級節(jié)點SL2折疊。雖然樹955-1在T1的可視化與其在T3的可視化相同,但是在T1的客戶機900的狀態(tài)與在T3的狀態(tài)不同,因為瀏覽器增量300-I在T3在高速緩沖存儲器920-C內(nèi)可以獲得,而不是在T1。這在參照圖4B所述的重新激活請求的情況下影響了客戶機900的行為。例如,瀏覽器組件可以在客戶機900交互而不聯(lián)系服務(wù)器901。向回參見圖2D的示例,在T4,用戶已經(jīng)使用了復(fù)位按鍵955-2,用于對根節(jié)點R1產(chǎn)生對于折疊樹955-1的復(fù)位請求。對應(yīng)地,在客戶機900,對應(yīng)于在服務(wù)器901的復(fù)位應(yīng)用組件(未示出)的復(fù)位瀏覽器組件(未示出)與可視化樹955-1的瀏覽器組件交互,以便在對應(yīng)的DOM組件內(nèi)去活瀏覽器組件的所有其他的瀏覽器增量(未示出),除了對應(yīng)于根節(jié)點R1的瀏覽器增量之外。圖4B圖解了在客戶機控制器100-2接收到重新激活請求RAR時瀏覽器增量300-I的重新激活。客戶機控制器100-2從高速緩沖存儲器920-C檢索瀏覽器增量300-I,并且指令620客戶機組合器100-1重新激活在去活的DOM組件300-T3內(nèi)的瀏覽器增量300-I。所述重新激活導(dǎo)致重新激活的DOM組件300-T3′。向回參見圖2A的示例,用戶以與在T1的相同方式與客戶機900交互。但是,不是從服務(wù)器901請求瀏覽器增量300-I以達到與在T2的樹955-1的可視化相對應(yīng)的修改的DOM組件300-T2,客戶機900僅僅從其自己的高速緩沖存儲器902-C檢索瀏覽器增量300-I,并且重新激活570在去活的DOM組件300-T3中的瀏覽器增量300-I。結(jié)果產(chǎn)生的重新激活的DOM組件300-T3′與修改的DOM組件300-T2相同。通過在客戶機900高速緩沖存儲瀏覽器增量并且使能在客戶機900的瀏覽器組件的交互,因為減少了向服務(wù)器的請求的數(shù)量,服務(wù)器901的負荷被減少,這是因為客戶機900可以本身處理具體的事件而不用聯(lián)系服務(wù)器901。圖5圖解了可以在本發(fā)明的一個實施例中使用的兩個互補計算機程序產(chǎn)品CPP101(服務(wù)器程序)、CPP100(客戶機程序)和它們的主要功能塊。例如,CPP100可以是瀏覽器。所述框架在服務(wù)器端部分101-10內(nèi)被實現(xiàn)為CPP101的一部分,并且在客戶機端部分100-10內(nèi)被實現(xiàn)為CPP100的一部分。如上所述,所述框架提供可以被應(yīng)用到多個組件的一般功能。DOM100-9用于向用戶提供應(yīng)用的圖形用戶界面。在示例中,DOM100-9表示包括樹組件955-1(比較圖2A)和復(fù)位組件955-2(比較圖2A)的頁面。當(dāng)用戶與CPP100交互(例如通過指示應(yīng)當(dāng)展開特定的樹節(jié)點)以便將影響在服務(wù)器901的模型200-Tn(n=1,2,...,N)的時候,對應(yīng)的客戶機控制器100-2被通知701關(guān)于用戶的交互,并且向在服務(wù)器901上運行的CPU101發(fā)送702對應(yīng)的請求。例如,客戶機控制器100-2可以預(yù)訂特定的瀏覽器組件,并且當(dāng)通過用戶交互產(chǎn)生對應(yīng)的瀏覽器組件時被通知。在可以通過客戶機控制器100-2處理用戶交互而不接觸服務(wù)器901的情況下,客戶機控制器100-2可以指令702′對應(yīng)的客戶機組合器100-1更新803當(dāng)前被瀏覽器可視化的頁面的DOM100-9,以按照用戶交互調(diào)整DOM100-9的可視化。在用戶交互需要涉及服務(wù)器901的情況下,CPP100向CPP101發(fā)送702對應(yīng)的請求。所述請求使得客戶機組合器100-1由此修改703對應(yīng)的模型200-Tn。服務(wù)器呈現(xiàn)器101-2呈現(xiàn)/產(chǎn)生801已經(jīng)被修改703的模型200-Tn。呈現(xiàn)801的結(jié)果是可以用于其可視化的模型的描述。這個描述然后被發(fā)送到客戶機900。在本發(fā)明的一個實施例中,所述描述被從服務(wù)器呈現(xiàn)器101-2發(fā)送到802客戶機組合器100-1??蛻魴C組合器使用所述描述來通過改變DOM100-9的對應(yīng)節(jié)點來由此更新803DOM100-9。在本發(fā)明的另一個實施例中,所述描述可以從服務(wù)器控制器101-1發(fā)送到702客戶機控制器100-2,客戶機控制器100-2然后指令702′客戶機組合器100-1由此更新803DOM100-9。在本發(fā)明的另一個實施例中,所述描述被從服務(wù)器端框架101-10發(fā)送到客戶機端框架100-10,在此,它被分派到對應(yīng)的客戶機控制器100-2。圖6通過可以由本發(fā)明的一個實施例執(zhí)行的服務(wù)器端方法400的簡化流程圖而總結(jié)了本發(fā)明的服務(wù)器端方面。例如,可以通過具有下述指令的計算機程序產(chǎn)品101來執(zhí)行用于處理在計算機系統(tǒng)999中的服務(wù)器901上的增量數(shù)據(jù)的方法400所述指令當(dāng)被安裝到服務(wù)器901的存儲器921中時使得服務(wù)器901的至少一個處理器911執(zhí)行方法400。方法400包括接收410、產(chǎn)生420和發(fā)送430步驟。在接收步驟410,服務(wù)器控制器101-1從客戶機控制器100-2接收修改請求??蛻魴C控制器100-2運行在計算機系統(tǒng)999的客戶機900上。所述修改請求使得服務(wù)器901將原始模型200-T1修改為修改的模型200-T2,它們兩個都例如被存儲在服務(wù)器901的存儲器921中。在產(chǎn)生步驟420,服務(wù)器呈現(xiàn)器101-2產(chǎn)生對應(yīng)于在原始模型200-T1和修改的模型200-T2之間的差的至少一個瀏覽器增量300-I。在發(fā)送步驟430,服務(wù)器901向客戶機900的客戶機組合器100-1發(fā)送至少一個瀏覽器增量300-I??蛻魴C900使用至少一個瀏覽器增量300-I來更新原始DOM組件300-T1。所述更新導(dǎo)致修改的DOM組件300-T2對應(yīng)于修改的模型200-T2,而原始DOM組件300-T1對應(yīng)于原始模型200-T2。圖7A通過可以由本發(fā)明的一個實施例執(zhí)行的客戶機端方法500的簡化流程圖而總結(jié)了本發(fā)明的客戶機端方面。例如,可以由具有以下指令的計算機程序產(chǎn)品100執(zhí)行用于處理在計算機系統(tǒng)999中客戶機900上的增量數(shù)據(jù)的方法500,所述指令當(dāng)被裝載到客戶機900的存儲器920中式,使得至少客戶機900的一個處理器910執(zhí)行方法500。方法500包括發(fā)送510、接收520和更新530步驟。在發(fā)送步驟510,客戶機控制器100-2向服務(wù)器控制器101-1發(fā)送修改請求。服務(wù)器控制器101-1在計算機系統(tǒng)999的服務(wù)器901上執(zhí)行。在接收步驟520,客戶機組合器100-1作為對于修改請求的響應(yīng)從服務(wù)器901接收至少一個瀏覽器增量300-I。在更新步驟530,客戶機組合器100-1使用至少一個瀏覽器增量300-I來更新原始的DOM組件300-T1,以產(chǎn)生修改的DOM組件300-T2。原始的DOM組件300-T1對應(yīng)于原始的模型200-T1,修改的DOM組件300-T2對應(yīng)于修改的模型200-T2。圖7B繼續(xù)圖7A的簡化流程圖。在本發(fā)明的各個實施例中,方法500執(zhí)行由虛線方框圖解的步驟。所述步驟不必然要求之前執(zhí)行步驟510-530。在使用用于處理增量數(shù)據(jù)的替代基本機制的情況下,圖7B中圖解的步驟可以仍然用于客戶機端事件處理。在一個去活示例中,方法500包括另外的存儲540和去活550步驟。在存儲步驟540中,客戶機900在其高速緩沖存儲器920-C中存儲至少一個瀏覽器增量300-I。在去活步驟550中,客戶機控制器100-2已經(jīng)接收到去活請求DAR,并且作為結(jié)果,客戶機組合器100-1去活在對應(yīng)的DOM組件中的瀏覽器增量300-I。在本發(fā)明的一個重新激活示例中,方法500包括另外的步驟檢索560和重新激活570。然而,它并不要求之前執(zhí)行去活步驟550。在檢索步驟560,客戶機900從高速緩沖存儲器920-C檢索至少一個瀏覽器增量300-I,在此,它使用存儲步驟540被存儲。例如,這可以通過由客戶機控制器100-2接收的重新激活請求RAR來被啟動。然后,在重新激活步驟570中,客戶機組合器100-1重新激活在對應(yīng)的DOM組件中的瀏覽器增量300-I。權(quán)利要求1.一種計算機系統(tǒng)(999),用于處理增量數(shù)據(jù),包括服務(wù)器控制器(101-1),用于從客戶機(900)接收修改請求,以將在服務(wù)器(901)上存儲的應(yīng)用組件的原始模型(200-T1)修改為所述應(yīng)用組件的修改模型(200-T2);服務(wù)器呈現(xiàn)器(101-2),用于產(chǎn)生對應(yīng)于在原始模型(200-T1)和修改的模型(200-T2)之間的差的至少一個瀏覽器增量(300-I);客戶機組合器(100-1),用于從服務(wù)器(901)接收所述至少一個瀏覽器增量(300-I),并且使用所述至少一個瀏覽器增量(300-I)來在客戶機(900)更新瀏覽器組件的原始的DOM組件(300-T1),結(jié)果產(chǎn)生與修改的模型(200-T2)對應(yīng)的修改的文件對象模型(DOM)組件(300-T2),其中,原始DOM組件(300-T1)對應(yīng)于原始模型(200-T1);以及客戶機控制器(100-2),用于產(chǎn)生修改請求。2.按照權(quán)利要求1的計算機系統(tǒng)(999),其中,客戶機控制器(100-2)在客戶機(900)的高速緩沖存儲器(920-C)內(nèi)存儲至少一個瀏覽器增量(300-I),并且指令客戶機組合器(100-1)來在接收到去活請求(DAR)時去活至少一個瀏覽器增量(300-I)。3.按照權(quán)利要求2的計算機系統(tǒng)(999),其中,客戶機控制器(100-2)從高速緩沖存儲器(920-C)去活至少一個瀏覽器增量(300-I),并且指令客戶機組合器(100-1)來在接收到重新激活請求(RAR)時重新激活所述至少一個瀏覽器增量(300-I)。4.按照權(quán)利要求1-3的任何一個的計算機系統(tǒng)(999),其中,客戶機控制器(100-2)指令客戶機組合器(100-1)來在接收到復(fù)位請求時復(fù)位原始或修改的DOM組件(300-T1,300-T2)。5.按照權(quán)利要求1-4的任何一個的計算機系統(tǒng)(999),其中,通過從Java類、Java服務(wù)器頁面類、小服務(wù)程序類、Pascal類、C類、C++類和商業(yè)服務(wù)器頁面類的組中選擇的組件類來定義原始模型(200-T1)和修改的模型(200-T2)。6.按照權(quán)利要求1-5的任何一個的計算機系統(tǒng)(999),其中,通過從JavaScript類、JavaApplets類和VisualBasic腳本類的組中選擇的組件腳本類來定義瀏覽器組件。7.按照權(quán)利要求5的計算機系統(tǒng)(999),其中,所述組件類實現(xiàn)服務(wù)器控制器(101-1)和服務(wù)器呈現(xiàn)器(101-2)的至少一部分。8.按照權(quán)利要求6的計算機系統(tǒng)(999),其中,所述組件腳本類實現(xiàn)客戶機控制器(100-2)和客戶機組合器(100-1)的至少一部分。9.按照權(quán)利要求6的計算機系統(tǒng)(999),其中,所述組件腳本類和所述組件類具有相同的分層。10.一種在用于處理增量數(shù)據(jù)的計算機系統(tǒng)(999)內(nèi)的服務(wù)器(900),包括服務(wù)器控制器(101-1),用于從在計算機系統(tǒng)(999)中的客戶機(900)的客戶機控制器(100-2)接收修改請求,以將存儲在服務(wù)器(901)上的應(yīng)用組件的原始模型(200-T1)修改為所述應(yīng)用組件的修改的模型(200-T2);以及服務(wù)器呈現(xiàn)器(101-2),用于產(chǎn)生對應(yīng)于在原始模型(200-T1)和修改的模型(200-T2)之間的差的至少一個瀏覽器增量(300-I);所述至少一個瀏覽器增量(300-I)被使得發(fā)送到客戶機(900)的客戶機組合器(100-1),用于使用所述至少一個瀏覽器增量(300-I)來更新對應(yīng)于原始模型(200-T1)的原始DOM組件(300-T1),以產(chǎn)生對應(yīng)于修改的模型(200-T2)的修改的DOM組件(300-T2)。11.一種在用于處理增量數(shù)據(jù)的計算機系統(tǒng)(999)中的客戶機(900),包括客戶機控制器(100-2),用于向在計算機系統(tǒng)(999)中的服務(wù)器(901)的服務(wù)器控制器(101-1)發(fā)送修改請求;以及客戶機組合器(100-1),用于從服務(wù)器(901)接收至少一個瀏覽器增量(300-I),并且使用所述至少一個瀏覽器增量(300-I)來更新對應(yīng)于應(yīng)用組件的原始模型(200-T1)的原始DOM組件(300-T1),以產(chǎn)生與所述應(yīng)用組件的修改模型(200-T2)對應(yīng)的修改的DOM組件(300-T2),其中,服務(wù)器控制器(101-1)將在服務(wù)器(901)上存儲的原始模型(200-T1)改為修改的模型(200-T2);并且服務(wù)器(901)的服務(wù)器呈現(xiàn)器(101-2)產(chǎn)生與在原始模型(200-T1)和修改的模型(200-T2)間的差對應(yīng)的至少一個瀏覽器增量(300-I)。12.按照權(quán)利要求11的客戶機(900),其中,客戶機控制器(100-2)在客戶機(900)的高速緩沖存儲器(920-C)內(nèi)存儲至少一個瀏覽器增量(300-I),并且指令客戶機組合器(100-1)在接收到去活請求(DAR)時去活瀏覽器增量(300-I)。13.按照權(quán)利要求12的客戶機(900),其中,客戶機控制器(100-2)從高速緩沖存儲器(920-C)檢索所述至少一個瀏覽器增量(300-I),并且指令客戶機組合器(100-1)在接收到重新激活請求(RAR)時重新激活所述至少一個瀏覽器增量(300-I)。14.按照權(quán)利要求11-13的任何一個的客戶機(900),其中,客戶機控制器(100-2)指令客戶機組合器(100-1)在接收到復(fù)位請求時復(fù)位原始的DOM組件(300-T1)。15.一種用于在計算機系統(tǒng)(999)的服務(wù)器(901)上處理增量數(shù)據(jù)的方法,包括步驟通過服務(wù)器控制器(101-1)從屬于計算機系統(tǒng)(999)的客戶機(900)的客戶機控制器(100-2)接收(410)修改請求,以將存儲在服務(wù)器(901)上的應(yīng)用組件的原始模型(200-T1)修改為所述應(yīng)用組件的修改的模型(200-T2);通過服務(wù)器呈現(xiàn)器(101-2)來產(chǎn)生(420)對應(yīng)于在原始模型(200-T1)和修改的模型(200-T2)之間的差的至少一個瀏覽器增量(300-I);向客戶機(900)的客戶機組合器(100-1)發(fā)送所述至少一個瀏覽器增量(300-I),用于使用所述至少一個瀏覽器增量(300-I)來在客戶機(900)上更新對應(yīng)于原始模型(200-T1)的原始DOM組件(300-T1),以產(chǎn)生對應(yīng)于修改的模型(200-T2)的修改的DOM組件(300-T2)。16.一種用于處理在計算機系統(tǒng)(999)上的客戶機(900)上的增量數(shù)據(jù)的方法(500),包括步驟從客戶機控制器(100-2)向在計算機系統(tǒng)(999)中的服務(wù)器(901)的服務(wù)器控制器(101-1)發(fā)送(510)修改請求;通過客戶機組合器(100-1)從服務(wù)器(901)接收(520)至少一個瀏覽器增量(300-I)來作為對于修改請求的響應(yīng);使用所述至少一個瀏覽器增量(300-I)來更新對應(yīng)于應(yīng)用組件的原始模型(200-T1)的原始DOM組件(300-T1),以產(chǎn)生與所述應(yīng)用組件的修改模型(200-T2)對應(yīng)的修改的DOM組件(300-T2),其中,服務(wù)器控制器(101-1)將在服務(wù)器(901)上存儲的原始模型(200-T1)改為修改的模型(200-T2);并且服務(wù)器(901)的服務(wù)器呈現(xiàn)器(101-2)產(chǎn)生與在原始模型(200-T1)和修改的模型(200-T2)間的差對應(yīng)的至少一個瀏覽器增量(300-I)。17.按照權(quán)利要求16的方法(500),包括進一步的步驟在客戶機(900)的高速緩沖存儲器(920-C)內(nèi)存儲至少一個瀏覽器增量(300-I)。18.按照權(quán)利要求17的方法(500),包括進一步的步驟通過客戶機組合器(100-1)在客戶機控制器(100-2)已經(jīng)接收到去活請求(DAR)時去活(550)瀏覽器增量(300-I)。19.按照權(quán)利要求18的方法(500),包括進一步的步驟從高速緩沖存儲器(920-C)檢索(560)所述至少一個瀏覽器增量(300-I);通過客戶機組合器(100-1)在客戶機控制器(100-2)已經(jīng)接收到重新激活請求(RAR)時重新激活瀏覽器增量(300-I)。20.一種計算機程序產(chǎn)品(101),包括這樣的指令,所述指令當(dāng)被安裝到服務(wù)器(901)的存儲器(921)中時使得服務(wù)器(901)的至少一個處理器(911)執(zhí)行權(quán)利要求15的步驟。21.一種計算機程序產(chǎn)品(100),包括這樣的指令,所述指令當(dāng)被安裝到客戶機(900)的存儲器(920)中時使得服務(wù)器(900)的至少一個處理器(910)執(zhí)行權(quán)利要求16-19的任何一個的步驟。22.一種用于處理增量數(shù)據(jù)的計算機系統(tǒng)(999),包括客戶機控制器(100-2),用于產(chǎn)生修改請求;服務(wù)器控制器(101-1),用于作為修改請求的響應(yīng)而修改(703)在服務(wù)器(901)上的應(yīng)用組件的模型(200-Tn);服務(wù)器呈現(xiàn)器(101-2),用于在已經(jīng)修改(703)了模型(200-Tn)后產(chǎn)生至少一個瀏覽器增量(300-I);以及客戶機組合器(100-1),用于從服務(wù)器(901)接收所述至少一個瀏覽器增量(300-I),并且使用所述至少一個瀏覽器增量(300-I)來更新瀏覽器組件的一個實例,其中,所述瀏覽器組件對應(yīng)于所述應(yīng)用組件。全文摘要在服務(wù)器(901)上的服務(wù)器控制器(101-1)接收由客戶機(900)的客戶機控制器(100-2)產(chǎn)生的修改請求,以將存儲在服務(wù)器(901)上的應(yīng)用組件的原始模型(200-T1)修改為修改的模型(200-T2)。服務(wù)器呈現(xiàn)器(101-2)產(chǎn)生對應(yīng)于在原始模型(200-T1)和修改的模型(200-T2)之間的差的至少一個瀏覽器增量(300-I)??蛻魴C組合器(100-1)從服務(wù)器(901)接收所述至少一個瀏覽器增量(300-I),并且使用所述至少一個瀏覽器增量(300-I)來在客戶機(900)更新與原始模型(200-T1)對應(yīng)的原始的DOM組件(300-T1),結(jié)果產(chǎn)生與修改的模型(200-T2)對應(yīng)的修改的文件對象模型(DOM)組件(300-T2)。文檔編號G06F15/00GK1682183SQ03822156公開日2005年10月12日申請日期2003年7月30日優(yōu)先權(quán)日2002年8月2日發(fā)明者馬丁·莫澤申請人:Sap股份公司