TW201001176A - Method for server side aggregation of asynchronous, context-sensitive request operations in an application server environment - Google Patents
Method for server side aggregation of asynchronous, context-sensitive request operations in an application server environment Download PDFInfo
- Publication number
- TW201001176A TW201001176A TW098118829A TW98118829A TW201001176A TW 201001176 A TW201001176 A TW 201001176A TW 098118829 A TW098118829 A TW 098118829A TW 98118829 A TW98118829 A TW 98118829A TW 201001176 A TW201001176 A TW 201001176A
- Authority
- TW
- Taiwan
- Prior art keywords
- content
- response
- request
- program
- computer
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
201001176 六、發明說明: 【發明所屬之技術領域】 本發明大體上係關於一種應用程式飼服器環境,且更具 體言之,係關於應用程式伺服器處之請求之處理。 /、 【先前技術】 ° 應用程式㈣器為在分散式網路中在電腦上執行之饲服 器程式,其提供用於應用程式之商業邏輯。用戶端傳统上 2於最終使用者系統處以用於與應用程式飼服器互動。通 常,用戶端為諸如(但$限於)網頁割覽器、基於^之^ 式或任何其他網頁賊能程式設計應用程式的介面。" 用戶端可向應用程式伺服器請求某資訊。此等請求可恭 要多個非同步操作之處理。庫 式㈣11接著可執行此 寺非同步#作以產生對應於此等操作之内容。 、用戶端可彙總由應用程式伺服器所產生之内容。然而, 為了使用戶端彙總内容,用戶端必須具有對如同 J_script及㈣器物件模型(B〇M)等等之技術的存取。因
用戶端不具有對此等技術之可存取性的狀況下,在 飼服處囊输肉突 L L 卜,在應用程式伺服器處接收請求 斤在之主要請求處理執 器完成對應於彼請求Jit寻待,直至應用程式飼服 甘丄 明求之所有非同步操作為止。又,在一此 其他狀況下,請求甚 二 同步操作。 τ而要與多個非同步操作一起執行 主要4书步解决方案揭不處理非同步操作之概念,其允許 處理執行緒退出'然而’此等解決方案未揭示當 140494.doc 201001176 需要在應用程式伺服器處彙總内容時同作地處理多個非同 步操作。又,所提議解決方案中無一者解決處置同步操^ 與非同步操作兩者。 、 ,據前述内容’存在針對—解決方案之需要,該解決方 案提供需要多個非同步操作與同步操作兩者之處理之,长 的處置,其中内容被彙總於應用裎式伺服器處。 明〆 【發明内容】 切明提供-種用於處理應用程式飼服器處之請求之· 細貫施程序。程序包括回應於由應用程式飼服器所接收之 請求而起始-或多個非同步操作。程序進—步包括產生包 =置多:預留位置―叫之回應内 =位置“對應於一或多個非同步操作中之每一者之内 I收位置。程序進—步包括藉由將自已完成非同步操作所 容填充於相應預留位置中來囊總内容。程序進-乂匕括發送具有直至第一未 回應内容。 I兄預留位置之内容之部分
本發明亦提供—種用I 可m壯$ 、爽理應用私式飼服器處之請求之 了転式化衣置。裝置包括連 裝置進一牛°己隐體之可程式化硬體。 V。括儲存於記憶體中之程 化硬體執行θ廡Μ ; γ , 枉式知V可%式 -或多個a: )用戶端針對資訊之請求而起始 步驟,回庫内容勺扛 對應於“之回應内容的 置標記對應於-或多個非同步摔料多個預留位 置。程式進—步於道 ’、乍令之母一者之内容的位 IS可程式化硬體執行藉由將自已完成非 140494.doc 201001176 同步操作所接收之内容填充於相庫 ^ ^ @ 〜預召位置中來彙總内容 的乂騄。程式進一步指導可程式 ^ , 八化硬體執行發送具有直至 弟一未經填充預留位置之内容之 ρ刀回應内容的步驟。 本發明亦提供一種用於使雷职卢 + 電細處理應用程式伺服器處之 β月未之电腦程式產品。電腦程 . ^ + 飞度°σ包括電腦可讀儲存媒 體。電腦程式產品進一步包括儲 省仔媒 之經h… 括儲存於電腦可讀儲存媒體中 回庚:、广如此組悲之電腦可讀儲存媒體使電腦執行 一:二二起始一或多個非同步操作的步驟。電腦經進 y、,且心以執仃產生對應於請求 rV, ‘如内谷的步驟’回鹿 内谷匕括一或多個預留位置。— ^ 於-或多個非同步操作中之每 己對應 之内谷的位置。雷船破 進一步組態以執行藉由將白 尾月每,.,工 容填充70成非同步操作所接收之内 -填充於相應預留位置中來囊總 步組態以執行發送具有直至第 2 W經進一 弟 未經填充預留位詈之肉六 之部分回應内容的步驟。 置之内谷 【實施方式】 現在將參看附圖來解釋本 φ , -p; B| . 除非上下文另有明石萑需 要,否則遍及實施方式及申性 巧隹而 T明專利範圍,詞*五「4人 在與獨佔式或竭幸々立蓋4 1 αο包含」將 亦即,在「包括Μη 之G括式思義上進行解釋; 之詞語亦分別自衽+ h」之心義上。使用單數或複數 兀刀別包括妓數或單數。 中」、「在下文中」、「上 「 在本文 體上指代本申,」、下文」及類似意思之詞語總 關於兩個或兩個以 了特疋。h。當 、之岣早而使用詞語「或」時,彼 140494.doc 201001176 詞語涵蓋該詞語之所有以下解釋:清單中之項目中之任一 者、清單中之所有項目,及清單中之項目之任何組合。 圖1說明根據本發明之各種實施例的應用程式伺服器環 境⑽。應、用程式伺服器環境100經展示為包含用戶端層 1 〇 2、應用程式飼服器i 〇 4及内容提供者丨〇 6之三層式系 統:用戶端層1〇2表示最終使用者系統處之與應用程式伺 服器104互動之介面。通常,介面為(但不限於)網頁劉覽 器 ' 基於1_之程式或任何其他網頁賦能程式設計應用程 式。可存在多個最終使用者且每—最終使用者可具有_用 戶端,因此’圖1所示之用戶端層1〇2表示一或多個用戶端 l〇h、102匕及102〇,其與應用程式伺服器1〇4互動以用於 其請求之處理。應用程式伺服器1〇4代管一應用程式集合 以支援來自用戶端層1G2之請求。應用程式祠服以〇4與内 容提供者106通信以用於提取由(例如)用戶端1〇2&所需要之 對應於由用戶端l〇2a所發送之請求(在下文中可互換地被 稱為主要請求)的各種資訊。對於熟習此項技術者而言將 為顯而易見的係,在不限制本發明之範疇的情況下,任何 應用程式伺服器及用戶端皆可用於本發明之上下文内。内 容提供者106包括資料庫及交易伺服器以用於提供對應於 6月求之内容。應用程式伺服器1〇4經由用於對應於由用戶 端1〇2a所發送之請求之各種操作之處理的請求處理器108 而與内容提供者106互動。 請求處理器1〇8為在應用程式伺服器104上執行商業邏輯 之程式。在本發明之一實施例中,請求處理器ι〇8為 140494.doc 201001176 動%地產:求處理☆ ’8可自(例如)用戶端1〇23接收請长. 動態地產生對請求之回應;且❹將^
或XML文件之形+路、、,s m u J如)HTML 形式發达至用戶端l〇2a。在本發 例中,請求可兔円丰p乃之—貫施 … 步#作與—或多個非同步操作…。 u此 求係由請求處理器⑺8之主要枝 求處理執行緒處置。+ i 要D月 … 主要Μ求處理執行緒產生回應内衮日 寫入初始内容。隨後,主要咬 , 且 任何額外内容以用於回庫之/心查疋否需要 步操作與非同步操作之组合。主要請求處理執;=同 步操作且在需要時繁衍用於 者之新執行緒。在本發明 _ ' ,.^ , 貫&例中,所繁衍執行緒中 =母一者與㈣提供者⑽互動以料處理非同步操作。 ㈣步#作之處理完成’每—所繁衍執行緒便進行至 菜〜回呼函式(aggregation callback f,m t·、 duoack function)以用於囊油由 已完成非同步操作所產生之 菜〜由 今且將„卩分回應内容發 用戶端102a。參看太申铁安—门 ^ 圖3來詳細地描述彙總 函式。 丁 圖2為描、纟會根據本發明之一音f / t m 巧之貫施例用於請求之處理之程 序的流程圖。在本發明之—實 貝知例中,應用程式伺服哭 1 04自用戶端1 〇2a接收諳屯。咬 °° 月求 明求初始化應用程式伺服器 104處之請求處理器108。在 ^ ^ ( ± ° 4货月之一貝把例申,請求可 包含若干同步操作及非同步趟七 井N步知作。在步驟(2〇2)處,請求處 理器1 0 8之主要請求處理執杆块如仏咖产 執仃、,者起始對應於由用戶端1 〇2a 所發送之請求的一或多個非同牛 非丨』步知作。為了起始一或多個 140494.doc 201001176 非同V操作,主要4求處理執行緒繁衍對應於每—非同步 操作之執行緒。藉由繁衍對應於每一非同步操作之執行 緒,釋放主要請求處理執行緒以處置來自用戶端之更多請 求產生對應於每一所繁衍執行緒之非同步操作之内容且 字-儲存於所繁知執行緒緩衝器中。隨後,在步驟⑽4) 處,回應於由用戶端1()2a所發送之請求而產生回應内容。 回應内谷包括一或多個預留位置以用於呈現對應於一或多 CI非同步#作中之每—者之内容。非同步操作本身驅動其 回應内容及先前預留位置(若彼等完成)之任何其他内容之 彙、' 且彼為釋放主要請求處理執行緒之原因。在本發明 只化例中’、要—或多個非同步操作完成,便在步驟 (2〇6)處’藉由將自已完成非同步操作所接收之内容填充於 相應預留位置中來量她肉女 T木窠〜内谷。換言之,將每一所繁衍執行 緒緩衝器之内容填充於回應内容中之其各別預留位置中。 在步驟(2G6)處之彙總為事件驅動的;且只要各種非同步操 作完^便囊總對應於各種非同步操作之内容。在本發明 之實知例中’當步驟(2〇6)之彙總係在進行中時,主要請 求處理執行緒可進行至步驟⑽),其巾將直至第-未經^ 充預留位置之部分回應内容發送至用戶端iG2p換言之, 發送至用戶端心之部分回應内容將包括直至等待經填充 之下-預留位置的所有内容(亦gp,相應非同步操作仍繼 續)因此’用戶端1〇2a不必執行任何内容彙總;且以對 用戶端102a透通之方式而在應用程式伺服器⑽處發生内 容彙總。在發送部分回應内容之後,主要請求處理執行緒 340494.doc 201001176 可退出。或者,主要請求處理執行緒可返回以處置來自用 戶端層102之額外請求。 圖3為描緣根據本發明之另一實施例用於請求之處理之 程序的流程圖。在步驟⑽)處,應用程式飼服器刚接收 ^用戶端咖所進行之請求。在本發明之—例示性實施例 田凊求可讀對網頁之HTTP請求之形式。請求初始化 應用程式伺服器104處之請求處理器刚。請求可包括 求處理器108所處理之同步操作與非同步操作之組合。 在v驟(304)處,主要請求處理執行緒將初始内容 =内容中。在本發明之一實施例中,初始内容可為網 ,頭及/或與網頁相關聯之任何靜態内 :::::程式編,且係回應於由用戶二 執行= 隨後,在步驟(3G6)處,主要請求處理 内容=Γ應内容中是否需要額外内纟。若需要額外 步驟()處,主要請求處理執行緒檢查額 要非同步操作。在需要非同步操作之狀況下,則 要明求處理執行緒起始非同步操#之執行。 =進-步描繪非同步操作之執行。在步驟⑽)處,主 ==執行緒繁衍用於處理非同步操作之執行緒。另 留位置Γ内容中標記對應於非同步操作之預留位置。預 二為對應於非同步操作之内容之網頁中的位置。主要 二;:里=亦將對應於非同步操作之上下文資訊傳播 始非同步操作之處理。在非同步摔作):成:繁何執-緒開 ^棕作凡成後,所繁衍執行 140494.doc -10. 201001176 緒便進行至彙總回呼函式。 在本發明之-料性實施财,存在三種μ非同步操 ^ ’在下文中被稱為非同步操作i、非同步操作2及非同步 操作3。熟習此項技術者可理解,此實例僅係出於解釋目 的而被採用且不限制與任何此請求相關聯之非同步操作之 數目。在本發明之-例示性實施例中,針對每一非同步操 作而執行步驟⑽)及(312)。在起始非同步操作!之後,主 要請求處理執行緒❹驟⑽)處再次檢查在㈣内容中是 否需要額外内容。此後,主要請求處理執行緒在步驟(3〇8) 處檢查額相容是以要另—非同步操作。隨後,若下一 操作亦為非同步操作(比如,非同步操作2),則再次執行步 驟(3 10)及步驟(312)以起始非同步操作2。以類似於所解釋 方式的方式,亦起始非同步操作3。只要起始非同步操 乍便在回應内奋中標記對應於經起始非同步操作之 位置。 圖3進-步描績本發明之—實施例,其中步驟(3〇8)之回 應指不額外内容需要同步操作。隨後,在步驟(314)處,主 要凊求處理執行绪執行同步操作。主要請求處理執行緒將 由同步操作所產峰$ 同乂内各寫入於回應内容中。在寫入 同步内容之後’主要請求處理執行緒在步驟(306)處再次檢 查回^内容是否需要額外内容。在本發明之-實施例中, 可在清求内存在許多同步操作,其係由主要請求處理執行 緒以類似於上文所解釋之方式的方式而執行。 圖3進-步描綠本發明之—實施例,其中步驟(3〇6)之回 140494.doc 201001176 應指示回應内容不需要任何額外内容為。此後,在步驟 (316)處’主要請求處理執行緒將結束内容寫人於回應内容 中在本發明之—實施例中,結束内容為網頁之注腳。 ,圖3進-步描#會根據本發明之—實施例的彙總回呼函 式。在下文中所描述之彙總回呼函式係由主要處理執行緒 或所%何執灯緒中之任一者在一旦其完成其操作時今叫。 為了描述彙總回呼函式,使用術語「呼叫執行緒」以指代 二二回:乎函式之任何執行緒(主要請求處理執行緒或所 。订仃緒中之任—者)。根據下文所描述之程序,彙總 回呼函式彙總非同步内容, , 谷1將直至第一未經填充預留位 ^之h回應内容發送至用戶端⑽。在步驟(318)處,呼 執仃緒檢查請求是^具有任何非时操作。 :驟㈣處,,叫執行緒檢查是否接收下一預留位置之: 各。若在步驟⑽)處確定不接收下一預留位置之内容 呼叫執行緒退出。然而,在 、 退出之前將部分回庫内_^貫_中’呼叫執行緒在 石 ==留位置之所有同步内容。另—方面,若步驟(32〇) 父接::-預留位置之内容’則呼叫執行緒在 二隨後,在步驟(324)處,,叫執行緒將 2回應内容發送至心端1G2a,部分回應内容包括下一 口座 在,呼叫執行緒在步驟⑽)處檢杳在 回應内容中是否存在任何未經寫入内容。若 仃緒在步驟(32〇)處再次檢查 疋' 之内容。甚日目m 接收對應於下-預留位置 力疋,則呼叫執行緒再次執行步驟⑽)、(324) 14〇494.d〇c 201001176 ::::。,二?,=處接收内容, ^ φ . 右在力驟(326)處確定在回應内 送田玖子庙、經寫入内容,則呼叫執行緒在步驟(328)處發 ::=:Γ且關閉連接。換言之,若所有非同步操作 發、…故仃、、者之處理之完成之前已完成,則呼叫執行緒 發廷取終回應内容。 = 見在係用以說明在呼叫執行緒為所繁衍執行 例的幫助下本發明之_每 、 r Λ轭例之工作。在步驟(3 1 8)處,呼 ^行緒檢查在請求Μ否存在任何非❹操作。隨後, 驟(32〇)處,呼叫執行緒檢查是否接收下-預留位置之 ::以用於囊總。若所接收内容對應於下-預留位置: /驟(322)處,呼叫執行緒在應用程式祠服器 所接收内容。在本發明之此實施例中,預留位置係以㈣ 始其相應^同步操作之序列相同的序列進行填充。在本發 月之另#把例中,應用程式飼服器1〇4可組態此序列或 以非—同步操作完成之次序而發生。舉例而言,若非同步操 作2完成’但非同步操作1仍擱置(Pending),則呼叫執行緒 不彙總對應於非同步操作2之内容,但在應用程式飼服哭 HH處將内容儲存於吟叫執行緒緩衝器中(對應於已完成非 同步操作2)。稍後,當非同步操们完成時,呼叫執行緒 將對應於非同步操作!之内容彙總於回應内容中。另外, 在步驟(324)處’已完成非同步操作丨之呼叫執行緒將直至 非同步操作i之彙總内容之部分回應内容發出至用戶端 I 02a。此後,呼叫執行緒在步驟(326)處檢查是否留下待寫 H0494.doc -13 - 201001176 入於回應内容中之任何内容。 (,處再次檢查是否接收對應二,:呼留叫執行姆 疋,則呼叫執行緒在步驟(322)處藉由填 〜右 彙總内容。現在,如上文所、 #留位置來 非同牛,現在彙總對應於已完成 ”乍2之内容’其已經儲存於呼叫執行緒緩 缓衝器)中。此後,在步驟(324)處,對應 端r〇2a^作2之呼叫執行緒將部分回應内容發送至用戶 :進一步描綠當在步驟(326)處未留下待寫入於回靡内 :=内容時本發明之_實施例。此後,在步 =驟⑽)處所發送之回應可被視為具有對 :成非同步操作之内容之最終回應内容時_連接。在本 發明之-實施财,在步驟(328)處,將 衝器傳送至回應内容,且對應於最後已完成非 作(比如,㈣步操作3)之呼叫執行緒將最終回應内容發送 至用戶端102a。 、 圖4為根據本發明之-實施例用於請求之處理之裝置的 方塊圖。圖4所描繪之裝置為電腦系統4〇〇 系統匯流排彻而連接之處理器術、主記憶體_白= 讀存介面406及網路介面彻。熟習此項技術者將瞭解, 此系統包含所有類型之電腦系統:個人電腦、中型電腦、 大型電腦’等等。應注意,在本發明之範嘴内,可對此電 腦系統400進行許多添加、修改及冊m。可*添加之實例 包括.顯不盗、鍵盤、快取記憶體及周邊設備(諸如,印 U0494.doc -14 - 201001176 表機)。 圖4進-步描繪可由-或多個微處理器及/或積體電路構 造之處理器402。處理器4〇2執行儲存於主記憶⑽4中之 程式指令。主記憶體404儲存電腦系統彻可存取之 資料。 式及 在本發明之一實施例中,主記憶體4G4儲存執行如姓八 圖2及圖3所解釋之—或多個程序步驟的程式指令。另外, 可程式化硬體執行此等程式指令。可程式化硬體可包括 (但不限於)執行基於軟體之程式指令之硬體,諸如,處理 器術。可程式化硬體亦可包括諸如場可程式化閑陣列 (FPGA)、特殊應用積體電路(asic)或其任何組合之硬體, 其中程式指令被體現於硬體本身中。 圖4進-步描緣主記憶體404,其包括—或多個應、用程式 412、貝料414及作業系統416。當電腦系統4〇〇啟動時,處 理器術最初執行構成作業系統416之程式指令。作業系統 416為複雜程式,其管理電腦系統彻之資源,例如,處理 器402、主記憶體404、大容量儲存介面4〇6、網路介面彻 及系統匯流排4 1 0。 在本發明之一實施例中,處理器402在作業系統416之控 制下執行應用程式4 12。應' 用程式412可在程式資料414作 為輸入之情況下被執行。應用程式412亦可將其結果輸出 為主記憶體404中之程式資料414。 圖4進-步描緣大容量儲存介面傷,其允許電腦系統 4〇〇擷取及儲存來自諸如磁碟(硬碟、磁片)及光碟(cd_ 140494.doc -15- 201001176 R〇M)之輔助料設備的資料。此等大容量儲存設備通常 被稱為直接存取儲存設備(DASD)418,且充當資訊之永久 儲存器。一適當類型之DASD 418為軟碟驅動機,其自軟 碟420讀取資料及將資料寫入至軟碟420。來自DASD之資 訊可:許多形式。普通形式為應用程式及程式資料。經由 大容量儲存介面4〇6而擷取之資料通常置放於主記憶體4〇4 中,其中處理器4〇2可處理該資料。 雖然主記憶體404與DASD 418通常為單獨儲存設備,但 電細系4 4GG使用熟知虛擬^址機構,其允許電腦系統彻 之程式平穩地執行’猶如具有對大單一儲存實體之存取, 而非對夕個較小儲存實體(例如,主記憶體及DASD 41 8)之存取。因此’雖然某些元件經展示成常駐於主記憶 體404中但熟習此項技術者將認識到,此等未必同時皆 兀玉1 3於主5己憶體4〇4中。應注意,術語「記憶體」在 本文中係用以—般地指代電腦系統4〇〇之整個虛擬記憶 體。另外’根據本發明之裝置包括硬體及軟體之任何可能 組態,其含有本發明之元件’而不管裝置為單一電腦系统 或包含協同操作之多個電腦系統。 、圖4進一步描繪網路介面彻,其允許電腦系統侧將資 料《k至連接至電腦系統4〇〇之任何網路及自連接至電腦 糸統400之任何網路接收資料。此網路可為區域網路 (LAN)、廣域網路_ )’或更,、體言之’為網際網路 ,連接至、周路之適當方法包括已知類比及/或數位技 術’以及在未來所開發之網路連接機構。可使用許多不同 140494.doc 201001176 網路龄來實施-網路4㈣定為允許電腦跨越網路而 通信之專門電腦程式。用以跨越網際網路而通信之 TCP/IP(傳輸控制協定/網際網路協定)為適當網路協定之一 實例。 圖4進m會系統匯流排41〇,其允許在電腦系統彻 之各㈣件之巾傳送資料。料電㈣統彻經展示成僅 3有單i處理器及單一系統匯流排,但熟習此項技術者 將瞭解’本發明可使用具有多個處理器及/或多個匯流排 之電腦系統進行實踐。jg冰 m 仃灵奴另外,用於本發明之較佳實施例中 I可。括用以自處理器402卸載計算密集處理之單獨 完全程式化微處理器’或可包括用以執行類似功 配接器。 J肌窃&接收如同針對網 _TTP請求之請切,請求處理n可藉*主要請求, 理執打緒來構建整個布局 ♦ -Λ^^ ^ 芏要印求處理執行緒藉由 一或多個非同步操作中之每-者的預留 於靖求之同牛:作此外’主要請求處理執行緒亦執行對應 Α在口“ 同步内容寫入於回應内容中。又, 田在回應内各中標記對應 留位置時’主要請求處理執行:;:=操:之所有預 留位置之部分回應内容發送帛—未經填充預 能多且儘可能快地查看,且又,主=此允許用戶端儘可 額外用戶端請求。 要執行緒可退出以處置 對應於已完成 另外,當非同步操作令之任—者完成時 140494.doc 201001176 非同步操作之所繁衍執行 ^丁,.者將本身回呼主 上下文中。若已完成非至主要❻求之㉔求 則所mm處 不對應於第一預留位置, 门丰’、仃 …用程式伺服器處儲 同步操作之内容。否則 f應於已兀成非 ^ , 繁何執订绪彙總直至下一未經 填充預留位置之部分回應 ’ 合且將其發送至用戶端σ此銘 牙、主要請求處理執行緒等待 ,,Λ 母叔作元成之需要,且因 匕,主要請求處理執行緒能 #夕咬+、 刘目由處置來自其他用戶端之 〜求’而非等待非同步操作之彙總完成。 =發明可採用完全硬體實施例、完全軟體實施例或含有 硬體疋件與軟體元件兩者 一 卞町有之Κ鉍例的形式。根據本發明之 7 Α細例’本發明係以包括(但不限於)韌體 '常駐軟體、 微碼等等之軟體進行實施。 此外,本發明可採用電腦程式產品之形式,電腦程式產 品可自提供用於由電腦或任何指令執行錢使用或與其結 合而使用之程式碼的電腦可用媒、體或電腦可讀女某體存取。 為了達成此描述之目的,電腦可用媒體或電腦可讀媒體可 為可έ有、儲存、傳達、傳播或輸送用於由指令執行系 統、裝置或設備使用或與其結合而使用之程式的任何裝 置。 上述媒體可為電子、磁性、光學、電磁、紅外線或半導 體系統(或裝置或設備)或傳播媒體。電腦可讀媒體之實例 包括半導體或固態記憶體、磁帶、抽取式電腦磁片、隨機 存取記憶體(RAM)、唯讀記憶體(ROM)、硬質磁碟及光 碟。光碟之當前實例包括緊密光碟-唯讀記憶體 140494.doc -18· 201001176 (CDR〇M)、緊密光碟-讀取/寫入(CD-R/W)及DVD。 在上述插述中,已參看附圖及圖式藉由實例而描述本發 明之特疋貫施例。一般熟習此項技術者將瞭解,在不脫離 二下文中睛專利範圍中所陳述之本發明之範田壽的情況下, 可對貝奴例進行各種修改及改變。因此,將在說明性而非 限制〖生思義上看待本說明書及諸圖,且所有此等修改皆意 欲包括於本發明之範疇内。 【圖式簡單說明】
圖1。兒明根據本發明之一實施例的應用程式伺服器環 境; 圖2為描繪根據本發明之一實施例用於請求之處理之程 序的流程圖; 圖3為描繪根據本發明之另一實施例用於請求之處理之 程序的流程圖;及 圖4為根據本發明之一實施例用於請求之處理之裝置的 方塊圖。 【主要元件符號說明】 100 應用程式伺服器環境 102 用戶端層 l〇2a 用户端 102b 用戶端 102c 用戶端 104 應用程式伺服器 106 内容提供者 140494.doc -19- 201001176 108 請求處理器 400 電腦糸統 402 處理器 404 主記憶體 406 大容量儲存介面 408 網路介面 410 糸統匯流排 412 應用程式 414 程式資料 416 作業系統 418 直接存取儲存設備(DASD) 420 軟碟 422 網際網路 140494.doc -20-
Claims (1)
- 201001176 七、申請專利範圍: 應用程式伺服器處 1 · 一種用於處理一 程序,其包含: 之一請求之電腦h 使用電腦’其執行以下系列之步驟·· 回應於該請求而起始一或多個非同步操作; 内容 容之 ^生對應於該請求之—回應内容,丨中該回應 匕3用於呈現對應於該-或多個非同步操作之内 —或多個預留位置;及之内谷填充於 之内谷之—部 #由將自已完成非同步操作所接收 Μ #留位置中來彙總該内容;及 毛送具有直至第一未經填充預留位置 分回應内容。 ^求項1之電腦貫施程序,其中發送該部分回應内容 :、真充所有该等預留位置之前被執行至少一次。 3.如°月求項1之電腦實施程序,其中該請求係由一主要許 求處理執行緒處理。 月 人长頁1之電腦實施程序’其中產生該回應内容包 3將—初始内容寫入於該回應内容中。 月求項1之電腦實施程序,其中該彙總該内容包含: 將。玄等預留位置填充於該回應内容中。 、3求項1之電腦實施程序,其中該回應内容中之該一 或夕個預留位置係以—序列進行i真Α。 .士明求項1之電腦實施程序,其進一步包含: 檢查該回應内容是否需要一額外内容; 140494.doc 201001176 在《亥額外内谷需要一同步操作時執行該同步操作:及 將對應於該同步操作之一同步内容寫入於該回應内容 中。 用於處j里應、用程式飼月艮器處之一請求之電腦實施 程序,其包含: 使用一電腦’其執行以下系列之步驟: 回應於該請求而產生具有一初始内容之一回應内 容; 双直牡域回應内容中是否需要一額外内容; 在"亥額外内谷需要—或多個非同步操作時起始該— 或多個非同步操作; 在該回應内容中標記對應於該—或多個非同步操作 中之每-者的—或多個預留位置;及 回=該-或多個非同步操作中之每一者的完成: 之内容.及 处果…對應於該非同步操作 發送具有直至第—未經 部分回應内容。 、充預适位置之内容之- 9·如請求項8之電腦實施程序, 檢查進一步包含: /、中針對該額外内容之該 在該額外内玄_ + 只I π合兩要一同步 將對應於該同步摔 τ執仃該同步操作;及 中。 作之—同步内容寫入於該回應内容 1 〇· 一種用於處理— 知式伺服器處之-請求之可程式化 140494.doc 201001176 裝置’其包含: 一可程式化硬體,其連接至一記憶體; 一程式’其儲存於該記憶體中; 其中該程式指導該可程式化硬體執行以下系列之步 驟·回應於該請求而起始一 產生對應於該請求之一 包含用於呈現對應於該一 一或多個預留位置;及 或多個非同步操作; 回應内容,由丄 /、Τ s亥回應内容 或多個非同步操作之内容之 之内容填充於 藉由將自一已完成非同步操作所接收 相應預留位置中來彙總該内容;及 發送具有直至第 分回應内容。 一未經填充預留位置之内容之一部 U. 一種用於使—電腦處理-應用程式祠服器處之一請求之 電腦程式產品,其包含: 月A心 一電腦可讀儲存媒體; —程式’其儲存於該電腦可讀储存媒體中; 其中由該程式如此組態續 〜、之忒電知可讀儲存媒體使一電 月®執行以下系列之步驟: 回應於該請求而起始—或多個非同步操作; ^生對應於該請求之—回應内容,其中該回應内容 包含用於呈現對岸於 應於5亥一或多個非同步操作之内容之 一或多個預留位置;及 藉由將自一-0 ι> ,. 凡成非同步操作所接收之内容填充於 140494.doc 201001176 相應預留位置中來彙總該内容;及 發送具有直至第一未經填充預留位置之内容之一部 分回應内容。 12. 13. 14. 15. 如請求項11之電腦程式產品,其中該請求係由一主要請 求處理執行緒處理。 ^請求項丨丨之電腦程式產品,其中產生該回應内容包 3 將初始内容寫入於該回應内容中。 如請求項11之電腦程式產品,其 /、甲及回應内容中之該 或夕個預留位置係以一序列進行填充。 ασ,其進—步包含: 要—額外内容; 如請求項11之電腦程式產 檢查該回應内容是否需 在该額外内容需要一同 將對應於該同步操作之 中。 140494.doc
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/136,185 US20090307304A1 (en) | 2008-06-10 | 2008-06-10 | Method for Server Side Aggregation of Asynchronous, Context - Sensitive Request Operations in an Application Server Environment |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW201001176A true TW201001176A (en) | 2010-01-01 |
Family
ID=41401278
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW098118829A TW201001176A (en) | 2008-06-10 | 2009-06-05 | Method for server side aggregation of asynchronous, context-sensitive request operations in an application server environment |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20090307304A1 (zh) |
| TW (1) | TW201001176A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI491207B (zh) * | 2010-02-11 | 2015-07-01 |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7725535B2 (en) * | 2008-05-27 | 2010-05-25 | International Business Machines Corporation | Client-side storage and distribution of asynchronous includes in an application server environment |
| US9264481B2 (en) * | 2012-03-30 | 2016-02-16 | Qualcomm Incorporated | Responding to hypertext transfer protocol (HTTP) requests |
| CN103747097B (zh) * | 2014-01-22 | 2016-08-24 | 电子科技大学 | 移动终端http请求聚合压缩的系统及方法 |
| CN110365720B (zh) * | 2018-03-26 | 2021-02-12 | 华为技术有限公司 | 一种资源请求处理的方法、装置及系统 |
| CN112445852A (zh) * | 2019-09-03 | 2021-03-05 | 顺丰科技有限公司 | 跨系统多线程数据交互方法及系统 |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2520543B2 (ja) * | 1991-09-06 | 1996-07-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | プログラムの実行を管理する方法及びシステム |
| US5659604A (en) * | 1995-09-29 | 1997-08-19 | Mci Communications Corp. | System and method for tracing a call through a telecommunications network |
| US6078948A (en) * | 1998-02-03 | 2000-06-20 | Syracuse University | Platform-independent collaboration backbone and framework for forming virtual communities having virtual rooms with collaborative sessions |
| GB9806843D0 (en) * | 1998-03-24 | 1998-05-27 | Kal | Software application development system |
| US6505229B1 (en) * | 1998-09-25 | 2003-01-07 | Intelect Communications, Inc. | Method for allowing multiple processing threads and tasks to execute on one or more processor units for embedded real-time processor systems |
| US6269378B1 (en) * | 1998-12-23 | 2001-07-31 | Nortel Networks Limited | Method and apparatus for providing a name service with an apparently synchronous interface |
| US6742051B1 (en) * | 1999-08-31 | 2004-05-25 | Intel Corporation | Kernel interface |
| US6539464B1 (en) * | 2000-04-08 | 2003-03-25 | Radoslav Nenkov Getov | Memory allocator for multithread environment |
| US7448024B2 (en) * | 2002-12-12 | 2008-11-04 | Bea Systems, Inc. | System and method for software application development in a portal environment |
| US7788674B1 (en) * | 2004-02-19 | 2010-08-31 | Michael Siegenfeld | Computer software framework for developing secure, scalable, and distributed applications and methods and applications thereof |
| US20060031778A1 (en) * | 2004-07-01 | 2006-02-09 | Microsoft Corporation | Computing platform for loading resources both synchronously and asynchronously |
| US8239447B2 (en) * | 2004-12-28 | 2012-08-07 | Sap Ag | Retrieving data using an asynchronous buffer |
| US7849090B2 (en) * | 2005-03-30 | 2010-12-07 | Primal Fusion Inc. | System, method and computer program for faceted classification synthesis |
| EP1934782A4 (en) * | 2005-09-15 | 2009-01-07 | Invixa Llc | APPARATUS, METHOD AND SYSTEM FOR CONSTRUCTING SOFTWARE BY THE COMPOSITION |
| US20070113188A1 (en) * | 2005-11-17 | 2007-05-17 | Bales Christopher E | System and method for providing dynamic content in a communities framework |
| US20070112856A1 (en) * | 2005-11-17 | 2007-05-17 | Aaron Schram | System and method for providing analytics for a communities framework |
| US7730082B2 (en) * | 2005-12-12 | 2010-06-01 | Google Inc. | Remote module incorporation into a container document |
| US7831586B2 (en) * | 2006-06-09 | 2010-11-09 | Ebay Inc. | System and method for application programming interfaces for keyword extraction and contextual advertisement generation |
| US20080086369A1 (en) * | 2006-10-05 | 2008-04-10 | L2 Solutions, Inc. | Method and apparatus for message campaigns |
| US20080091800A1 (en) * | 2006-10-13 | 2008-04-17 | Xerox Corporation | Local user interface support of remote services |
| US20080133722A1 (en) * | 2006-12-04 | 2008-06-05 | Infosys Technologies Ltd. | Parallel dynamic web page section processing |
| US20080195936A1 (en) * | 2007-02-09 | 2008-08-14 | Fortent Limited | Presenting content to a browser |
| US20080215966A1 (en) * | 2007-03-01 | 2008-09-04 | Microsoft Corporation | Adaptive server-based layout of web documents |
| US20080275951A1 (en) * | 2007-05-04 | 2008-11-06 | International Business Machines Corporation | Integrated logging for remote script execution |
| US8924845B2 (en) * | 2008-02-20 | 2014-12-30 | Lsi Corporation | Web application code decoupling and user interaction performance |
| US20090259934A1 (en) * | 2008-04-11 | 2009-10-15 | Go Hazel Llc | System and method for rendering dynamic web pages with automatic ajax capabilities |
-
2008
- 2008-06-10 US US12/136,185 patent/US20090307304A1/en not_active Abandoned
-
2009
- 2009-06-05 TW TW098118829A patent/TW201001176A/zh unknown
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI491207B (zh) * | 2010-02-11 | 2015-07-01 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20090307304A1 (en) | 2009-12-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW201001176A (en) | Method for server side aggregation of asynchronous, context-sensitive request operations in an application server environment | |
| TW451150B (en) | A method for coordinating actions among a group of servers | |
| CN104010031B (zh) | 一种改善Web浏览器应用效率的分布式协同方法 | |
| CN109254854A (zh) | 异步调用方法、计算机装置及存储介质 | |
| US10200460B2 (en) | Server-processor hybrid system for processing data | |
| US9787521B1 (en) | Concurrent loading of session-based information | |
| CN103020191A (zh) | 一种用于显示文件的装置及方法 | |
| JP2010517174A (ja) | ストリーミング可能な対話的レンダリング非依存のページレイアウト | |
| CN103577251A (zh) | 基于事件的互联网计算处理系统及方法 | |
| CN103559097A (zh) | 一种浏览器中进程间通信的方法、装置和浏览器 | |
| TW200841675A (en) | Dispatching client requests to appropriate server-side methods | |
| CN111708962A (zh) | 骨架屏的渲染方法、装置、设备及存储介质 | |
| CN113965628B (zh) | 消息调度方法、服务器和存储介质 | |
| CN114416330A (zh) | 视频重定向方法、虚拟机、终端、设备及存储介质 | |
| US8938522B2 (en) | Tiered XML services in a content management system | |
| CN104980464A (zh) | 一种网络请求处理方法、网络服务器和网络系统 | |
| TW200939047A (en) | Processor-server hybrid system for processing data | |
| WO2018094871A1 (zh) | 体感控制数据的生成、输出控制方法及装置 | |
| CN110290182A (zh) | 分布式Web应用存储系统、服务系统和访问方法 | |
| CN103019818A (zh) | 页面交互方法与装置 | |
| CN104216927A (zh) | 文档展示方法及装置 | |
| CN109885391A (zh) | 一种资源打包方法、装置、电子设备及介质 | |
| CN103701910B (zh) | 支持内容中心网络的资源请求处理方法及Web浏览器 | |
| CN114386152A (zh) | 一种基于WebSocket的轻量化BIM模型联动标注系统 | |
| TWI295019B (en) | Data transfer system and method |