[go: up one dir, main page]

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 PDF

Info

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
Application number
TW098118829A
Other languages
English (en)
Inventor
Maxim Avery Moldenhauer
Erinn Elizabeth Koonce
Todd Eric Kaplinger
Rohit Dilip Kelapure
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of TW201001176A publication Critical patent/TW201001176A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-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)

  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
TW098118829A 2008-06-10 2009-06-05 Method for server side aggregation of asynchronous, context-sensitive request operations in an application server environment TW201001176A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI491207B (zh) * 2010-02-11 2015-07-01

Families Citing this family (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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