專利名稱:請求處理和請求的分析的并發執行的制作方法
技術領域:
本發明通常涉及促進計算環境內的處理,并且尤其涉及促進計算環境內諸如交易之類的請求的處理。
背景技術:
目前,當在服務器處接收到交易時,在針對該交易執行任何其他處理之前對該交易進行驗證和/或授權。如果驗證或者授權處理失敗,則在針對該交易不執行任何其他處理的情況下,結束該交易。然而,如果授權和/或驗證成功,則執行針對該交易的分析處理。這例如包括對交易數據執行數學計算或者分析。在某些環境中,在同一系統中通過ー個處理來執行授權/驗證并且通過另ー處理 來執行分析。因而,當且僅當授權/驗證成功吋,從交易中提取數據并且將數據從ー個處理轉發到另ー處理以執行分析。在執行分析之后,繼而向執行授權/驗證的那個處理提供結果。系統然后向交易的請求方提供消息。在傳統的交易處理步驟之后分析的這種串行化限制了性能。此外,如果使用這樣的串行化處理語義,則諸如流處理之類的工作負荷很可能受到延遲的嚴重影響。專利US 7681015 B2 (Busck, A 等人“ speculative throughput computing”)公開了用于預測性呑吐量計算的系統、方法和裝置。預測性呑吐量計算用于并行執行程序分段。預測性呑吐量計算也能夠用于減少程序分段的并行執行期間的多個錯誤預測。預測性呑吐量計算也能夠用于解釋程序以在多個處理器、處理器核或者線程上執行。因此,在本領域中需要解決前述問題。
發明內容
根據本發明的優選實施例,并發執行對請求(例如交易)的請求處理(例如授權和/或驗證)以及對該請求的分析處理。即,在請求處理的成功或者失敗的指示之前,開始對請求的分析處理。有利的是,通過提供用于促進計算環境內的請求處理的計算機程序產品,克服了現有技術的缺點并且提供了附加優點。計算機程序產品包括可由處理電路讀取并且存儲供該處理電路執行以執行ー種方法的指令的存儲介質。該方法例如包括通過計算環境的至少ー個計算單元來獲得要被執行的請求的數據;以及在對該請求的請求處理的成功或者失敗的指示之前,通過該至少ー個計算單元至少啟動關于該請求的數據的分析處理,其中請求處理的至少一部分將要與分析處理的至少一部分基本上并發地執行。這里也描述和請求保護了涉及本發明的ー個或者多個方面的方法和系統。進而,這里也描述并且可以請求保護涉及本發明的ー個或者多個方面的服務。通過本發明的技術實現附加的特征和優點。這里詳細描述本發明的其他實施例和方面并且其被認為是請求保護的本發明的一部分。從另一方面考慮,本發明提供ー種用于促進計算環境內的請求處理的計算機程序產品,該計算機程序產品包括可由處理電路讀取并且存儲供該處理電路執行以執行ー種方法從而執行本發明的步驟的指令的計算機可讀存儲介質。從另一方面考慮,本發明提供一種被存儲在計算機可讀存儲介質上并且可被加載到數字計算機的內部存儲器中的計算機程序,該計算機程序包括軟件代碼部分,當所述程序在計算機上運行時,軟件代碼部分用于執行本發明的步驟。
現在將參照在下面的圖中說明的優選實施例、僅作為示例的方式來描述本發明
圖I描繪了結合并且使用本發明的ー個或者多個方面的計算環境的示例;圖2描繪了根據本發明的優選實施例在接收到請求時通過交換機執行的邏輯的一個實施例;圖3A-圖3B描繪了根據本發明的優選實施例由執行請求的服務器所執行的邏輯的一個實施例;圖4描繪了根據本發明的優選實施例執行對請求的分析處理的邏輯的一個實施例;以及圖5描繪了結合本發明的ー個或者多個方面的計算機程序產品的一個實施例。
具體實施例方式根據本發明的優選實施例,在對請求的請求處理的成功或者失敗的指示之前,啟動對該請求的分析處理。請求處理是這樣的處理如果成功則授權和或/驗證請求。其例如包括授權處理,例如,在自動取款機(ATM)請求中,確認賬戶號碼并且檢查足夠資金;和/或在成功驗證請求時的執行操作,例如借入賬戶并且同時貸入另一賬戶。請求處理可以包括授權處理、驗證處理(例如執行操作)或者二者。例如,在上面的示例中,要被借入和貸入的賬戶可以首先被授權,然后執行上述借入和貸入操作。作為另ー示例,已經執行了預授權或者不需要授權,因此,僅執行執行操作。再而,僅執行授權并且不執行執行操作。其他示例也是可能的。如果授權和/或驗證處理(取決于執行哪些處理)成功,則請求處理成功。相反,如果授權或者驗證處理的至少ー個(再次取決于執行哪些處理)失敗,則請求處理失敗。如果對請求的授權處理失敗或者還沒有執行,則該請求未被授權,假設已經計劃了其處理;以及如果驗證處理(例如執行操作)失敗或者還沒有執行,則該請求無效,假設已經計劃了其處理。傳統上,在能夠開始分析處理之前發生請求處理(即,預分析處理)。其控制是否將執行分析處理。如果響應處理成功,則執行分析處理;否則,不執行分析處理。然而,根據本發明的優選實施例,可以在請求處理之前或者與請求處理并發地發生分析處理。在確定請求處理的成功或者失敗之前執行以提供更高的性能和效率。當這樣的預測性分析處理能夠在沒有額外加重服務器負擔的情況下(已經處理了對請求的授權/驗證操作)在分離的貨品分析集群上執行時,其尤其具有成本效益。使用預測性協議來并行化對請求的請求處理以及對同一請求的分析處理。這允許在不提交任何狀態的情況下對未授權或者無效的請求(即其中還沒有指示成功或者失敗的請求處理)進行分析。請求處理和分析處理能夠在混合系統上執行,其中每ー個系統具有完整的能力并且系統緊密地結合。存在能夠根據本發明優選實施例進行處理的許多類型的請求。在這里描述的示例中,請求是交易。交易的示例是從ー個賬戶借入并且貸入若干賬戶,其中借入和貸入要被聯合處理。然而,這僅是交易的ー個示例,并且交易僅是請求的一個示例。圖I中描繪了結合并且使用本發明的一個或者多個優選實施例的計算環境的一個實施例。在該示例中,服務器100耦合到分析集群110。服務器100例如包括一個或者多個處理器102、存儲器104以及經由一個或者多個總線108彼此耦合的一個或者多個輸入/輸出(I/O)設備或者接ロ 106。作為示例,服務器100是IBM System p 、IBM System x 或者IBM System z 服務器。
在另ー實施例中,服務器包括ー個或者多個分區或者區域。例如,服務器是基于IBM z/Architecture 的邏輯分區的IBM System z服務器。在2009年2月的IBM文獻號為 No. SA22-7832-07、標題為 “z/Architecture Principles of Operation” 的 IBM 文獻中描述了 IBM z/Architecture (架構)。在一個示例中,分析集群110包括一個或者多個計算單元112。在一個示例中,計算單元是硬件加速器,例如刀片中心中的刀片或者機架。示例加速器包括IBM Cell BE刀片;IBM DataPower 單兀;nVidia GPU ;和 / 或由 International Business MachinesCorporation(國際商業機器公司)提供的System p或者System x刀片。在另ー示例中,計算單元是服務器,例如System x、System p或者System z服務器。許多其他示例也是可能的。集群可以包括不同計算單元的混合。IBM、System p、System x、System z、z/Architecture和DataPower是國際商業機器公司在世界范圍內的許多轄區中注冊 的商標。這里使用的其他名稱可以是國際商業機器公司或者其他公司的注冊商標、商標或者產品名稱。在一個示例中,服務器100例如經由諸如PCI Express、InfiniBand(無限帶寬)、以太網等等的網絡與分析集群110通信。進而,服務器100和分析集群110例如經由Infiniband或者以太網網絡耦合到至少ー個交換機(或者其他操縱單元)120。交換機120例如是諸如由Cisco Systems, Inc.(思科系統公司)或者國際商業機器公司提供的SystemX、System p或者System z服務器或者交換設備之類的服務器。如這里描述的,交換機從請求方接收請求并且將這些請求轉發到服務器和分析集群。參照圖2詳細描述了通過交換機接收請求并且將其轉發的邏輯的一個實施例。初始,交換機從請求方接收交易(例如在交換機的輸入端ロ處),步驟200。請求方是個人,例如在銷售點(POS)終端處的個人或者其他個人;或者例如是機器。響應于接收到交易,交換機對該交易進行鏡像,步驟202。例如,其制作該交易或者交易的至少相關部分的拷貝。然后其向在該交易的目的地地址中標識的服務器發送所接收的交易。這使得服務器能夠執行該交易,包括執行請求處理,步驟204。進而,其在交易的拷貝中修改目的地地址以指示分析集群的計算單元(分析集群對于多個計算単元可以供應多個地址),以及向所指定的計算單元發送所修改的交易,步驟206。作為示例,交換機能夠使用交換機上的端ロ鏡像邏輯以將交易轉發到分析集群,或者其能夠使用協議隧道,其中在沒有占用主中央處理單元(CPU)的情況下,服務器上的1/0硬件邏輯向計算單元用隧道傳輸分組。所修改的交易拷貝可以僅包括分析集群所需要的信息,例如交易的輸入數據。響應于在服務器處接收到交易,服務器啟動對交易的請求處理。作為這里描述的ー個特定示例,請求處理包括授權處理;然而,在其他示例中,請求處理可以包括授權處理和/或其他類型的處理(例如,經由執行操作的驗證處理),這些其他類型的處理提供分析處理將最終取決于其的成功/失敗的指示(例如指示分析處理是否繼續和/或其結果是否將被使用)。在該示例中,分析處理在接收到交易被授權的指示之前發生。再次,這僅是一個示例。類似地,響應于在分析集群處接收到交易,一個或多個計算單元在不知道請求處理是否成功完成的情況下開始對該交易的分析處理(例如復雜的計算,隨著時間的計算或者分析,等等)。參照圖3A-圖3B描述通過服務器執行的邏輯的一個實施例;并且參照圖4描述通過分析集群執行的邏輯的一個實施例。 首先參照圖3A,服務器等待交易,步驟300。作為初始化的一部分,服務器設置變量compare_result(比較結果)為零,步驟302。在時間上的某一點處,服務器接收到交易,步驟304,并且其開始其授權處理,步驟306。用于授權的步驟可以隨交易而變化,但是在信用卡交易的一個示例中,其將包括驗證還沒有超出信用限度。確定服務器是否已接收到與該交易相關聯的分析處理的結果,詢問308。如果已接收到結果,則計算品質因數,步驟310。在一個示例中,這包括取一組輸入以及推導可以在比較中使用的數字值。作為ー個特定示例,假設分析處理用于確定信用卡是否是欺詐性的。由分析集群執行ー組計算并且每ー個計算產生數字值。這些值被返回到服務器,服務器執行數學計算(例如求和、加權平均、回歸等等)以獲得結果,這就是品質因數。然后將品質因數的結果與閾值進行比較。作為示例,閾值是系統或者設計者定義的,并且在工作負荷的操作期間能夠改變。在該特定示例中,如果比較是小于或者等于閾值,則設置compare_result等于in_range (范圍內);然而,如果比較是大于閾值,則compare_result等于out_of_range (范圍外),步驟312。許多其他示例是可能的。之后,或者如果服務器還沒有接收到分析處理的結果,則服務器完成授權(或者在其他示例中的其他請求處理),步驟314。處理然后繼續確定compare_result是否等于零,詢問316 (圖3B)。如果compare_result不等于零,其指示分析處理已經完成,貝U進ー步確定交易授權是否失敗,詢問318。如果交易授權失敗,則失敗的消息被發送回到請求方(例如客戶),即使該分析已經完成,步驟320。處理然后繼續到步驟300 (圖3A),其中服務器等待另一交易。返回到詢問318 (圖3B),如果交易授權成功,則確定compare_result是否等于in_range,詢問322。如果compare_result是out_of_range,則即使授權成功,失敗的消息也被發送回到請求方,步驟320,并且處理繼續到步驟300 (圖3A)。返回到詢問322(圖3B),如果compare_result等于in_range,則授權的消息被發送回到請求方,步驟324。這指示授權和分析二者都成功。處理然后繼續到步驟300 (圖3A),其中服務器等待另ー交易。返回到詢問316 (圖3B),如果compare_result是零,其指示分析集群還沒有完成分析處理,則確定交易授權是否失敗,詢問326。如果已經失敗,則失敗的消息被發送到分析集群以使得集群能夠取消分析處理,步驟328。此外,失敗的消息被發送回到請求方并且處理繼續到步驟300 (圖3A)。然而,如果交易授權 成功,詢問326 (圖3B),則確定是否已接收到分析處理的結果,詢問330。如果尚未接收到,則處理繼續到等待分析處理完成。然而,當已經接收到分析處理的結果時,計算品質因數,步驟332,并且將該計算的結果與閾值進行比較。結果存儲在compare_result 中,步驟 334。然后確定compare_result是否等于in_range,詢問322。如果是,貝U發送授權的消息,步驟324,因為授權和分析處理二者均成功。然而,如果compare_result等于out_of_range,則發送失敗的消息,步驟320。這完成了服務器邏輯的處理。與服務器處理并發地,分析集群正在處理正被處理(例如授權)的交易的分析。參照圖4描述了該處理的ー個示例。初始,分析集群的一個或者多個計算単元等待嵌入在要被接收的交易中的計算或者分析請求,步驟400。響應于接收到該交易,從該交易提取計算輸入,步驟402,以及開始計算和/或分析,步驟404。該處理取決于特定的請求。作為示例,其可以例如包括確定ATM交易是否是欺騙性的,其中執行ー組計算,對于每ー個計算設置ー個值,并且那些值用于確定反映欺騙的可能性的品質因數;其可以包括計算特定的計算,類似從ATM終端到銀行儲蓄賬戶的總貸入數目;或者確定來自與其他ATM相關的特定ATM的毎月交易的總數。存在許多其他可能性。確定是否已經從服務器接收到指示授權失敗的消息,詢問406。如果是,則分析處理提前結束并且丟棄任何中間結果和狀態,步驟408。向服務器發送回指示其結束了處理的確認,步驟410。然后處理在步驟400處繼續,其中分析集群等待另ー交易。返回到詢問406,如果還沒有接收到失敗的消息,則確定分析處理是否已完成,詢問420。如果完成,則結果被發送回到服務器,步驟422,并且處理繼續到步驟400,其中分析集群等待另一交易。然而,如果分析處理沒有完成,詢問420,則分析集群從服務器接受用于處理的輸入數據消息,如果存在輸入數據的話,詢問424。處理繼續到詢問420,直到分析處理完成。這結束了分析處理。上面詳細描述的是請求處理能力,其中使用預測性協議,其中在沒有實際得知請求被授權或者成功的情況下,原始請求被直接鏡像到分析處理器。這允許分析集群處的分析處理與服務器處的請求處理并發地執行。如果進入的請求是有效的/被授權,則并發的請求處理和分析處理確保了驗證/授權和分析極有可能在同時或者幾乎同時完成。如果進入的請求不是有效的/未被授權,則分析領先一歩,這增加了增強性能的機會。沒有這種配備的話,分析僅能夠在請求處理之后開始,這導致降低的性能。如果進入的請求不成功,則服務器能夠取消已經在分析處理器上進行的分析處理以最小化任何資源浪費。根據本發明的一個或者多個優選實施例,使用預測性協議并行化請求處理和與請求處理相關的分析。分析可以是長運行或者短運行,其在未授權或者非執行的請求上開始。請求處理和分析處理能夠在混合系統上基本上并發運行。(在另ー示例中,它們能夠在同一系統上運行。)在某些情況下,請求授權/驗證的結果可能要求返回給請求方,而不需要來自分析計算的任何結果。在這種情況下服務器將簡單地保存分析計算的結果以用于進一歩分析。本領域的普通技術人員將意識到,本發明的各個方面可以實施為系統、方法或者計算機程序產品。因此,本發明的各個方面可以采取以下形式完全硬件實施例、完全軟件實施例(包括固件、駐留軟件、微代碼等等)或者包含軟件和硬件方面的實施例,本文一般稱為“電路”、“模塊”或“系統”。而且,本發明的各個方面可以實現為在ー個或多個計算機可讀介質中的計算機程序產品的形式,該計算機可讀介質中包含計算機可讀的程序代碼。可以利用一個或者多個計算機可讀介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀信號介質可以包括例如在基帶中或者作為載波的一部分其中實現有計算機可讀程序代碼的傳播的數據信號。這樣傳播的信號可以采取各種形式中的任意ー種,包括但不局限于電磁、光學或者其任何合適的組合。計算機可讀信號介質可以是不是計算機可讀存儲介質并且能夠傳送、傳播或者傳輸用于由指令執行系統、裝置或者設備使用或者結合指令執行系統、裝置或者設備使用的程序的任何計算機可讀介質。計算機可讀存儲介質可以例如是但不局限于電、磁、光、電磁、紅外或者半導體系統、裝置或者設備或者前述的任何適合組合。計算機可讀存儲介質的更加特定的示例(非窮舉列表)包括如下具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機存取 存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執行系統、裝置或者器件使用或者與其結合使用。現在參照圖5,在一個示例中,計算機程序產品500例如包括一個或者多個計算機可讀存儲媒介502以在其上存儲計算機可讀程序代碼裝置或者邏輯504以提供并且促進本發明的ー個或者多個方面。計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括但不限于無線、電線、光纜、RF等等,或者上述的任意合適的組合。可以以ー種或多種程序設計語言或其組合來編寫用于執行本發明操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言,諸如Java、Smalltalk、C++,等等,還包括常規的過程式程序設計語言,諸如”C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為ー個獨立的軟件包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或服務器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡——包括局域網(LAN)或廣域網(WAN) —連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。這里參照根據本發明實施例的方法、裝置(系統)和計算機程序產品的流程圖說明和/或方框圖來描述本發明的各個方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現。這些計算機程序指令可以提供給通用計算機、專用計算機或其他可編程數據處理裝置的處理器,從而生產出ー種機器,這些計算機程序指令通過計算機或其他可編程數據處理裝置執行,產生了實現流程圖和/或框圖中的方框中規定的功能/操作的裝置。也可以把這些計算機程序指令存儲在能使得計算機或其它可編程數據處理裝置或其他設備以特定方式工作的計算機可讀介質中,這樣,存儲在計算機可讀介質中的指令就產生出ー個包括實現流程圖和/或框圖中的方框中規定的功能/操作的指令裝置(instruction means)的制造品(manufacture)。也可以把計算機程序指令加載到計算機、其它可編程數據處理裝置、或其它設備上,使得在計算機、其它可編程數據處理裝置或其它設備上執行一系列操作步驟,以產生計算機實現的過程,從而使得在計算機或其它可編程裝置上執行的指令能夠提供實現流程圖和/或框圖中的方框中規定的功能/操作的過程。附圖中的流程圖和框圖顯示了根據本發明的多個實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含ー個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個連續的方框實際上可以 基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。除此之外,可以通過提供客戶環境管理的服務供應商來提供、供應、部署、管理、月艮務等等本發明的ー個或者多個方面。例如,服務供應商能夠創建、維持、支持等等針對ー個或者多個客戶執行本發明的ー個或者多個方面的計算機代碼和/或計算機基礎設施。反過來,服務供應商可以例如在訂閱和/或費用協定的情況下從客戶接收支付。此外或者可選地,服務供應商可以基于向ー個或者多個第三方廣告內容的銷售來接收支付。在本發明的ー個方面,可以部署應用以用于執行本發明的ー個或者多個方面。作為ー個示例,應用的部署包括提供可操作以執行本發明的ー個或者多個方面的計算機基礎設施。作為本發明的進ー步方面,可以部署計算基礎設施,包括將計算機可讀代碼整合到計算系統中,其中該代碼結合計算系統能夠執行本發明的ー個或者多個方面。作為本發明的進ー步方面,可以提供用于整合計算基礎設施的過程,包括將計算機可讀代碼整合到計算機系統中。計算機系統包括計算機可讀介質,其中計算機介質包括本發明的ー個或者多個方面。代碼結合計算機系統能夠執行本發明的ー個或者多個方面。盡管上面描述了各種實施例,但是這些僅是示例。例如,其他架構的計算環境能夠結合和使用本發明的ー個或者多個方面,和/或可以使用不同類型的服務器、計算單元和/或交換機。此外,可以不同地執行鏡像,和/或可以執行不同的分析。進而,可以不同地計算品質因數,和/或閾值可以是可選的。在不偏離本發明的范圍的情況下可以進行許多改變。進而,其他類型的計算環境能夠得益于本發明的ー個或者多個方面。作為示例,環境可以包括仿真器(例如軟件或者其他仿真機制),其中具體的架構(例如包括指令執行、諸如地址解釋的架構功能以及架構寄存器)或者其子集可以被仿真(例如在具有處理器和存儲器的本地計算機系統上)。在這樣的環境中,仿真器的一個或者多個仿真功能能夠實現本發明的ー個或者多個方面,盡管執行仿真器的計算機可以具有與所仿真的能力不同的架構。作為ー個示例,在仿真模式中,被仿真的特定指令或者操作被解碼,并且構建合適的仿真功能以實現単獨的指令或者操作。在仿真環境中,主機計算機例如包括存儲器以存儲指令和數據;指令獲取單元以從存儲器獲取指令并且可選地對于所獲取的指令提供本地緩沖;指令解碼單元以接收所獲取的指令并且確定所獲取的指令的類型;以及指令執行單元以執行指令。執行可以包括將數據從存儲器加載到寄存器;將數據從寄存器存儲回到存儲器;或者執行某些類型的算木或者邏輯操作,如通過解碼單元所確定的。在一個示例中,每ー個單元在軟件中實現。例如,通過這些單元執行的操作被實現為仿真器軟件內的一個或者多個子例程。進而,可以使用包括直接或者通過系統總線間接耦合到存儲器元件的至少ー個處理器的適合于存儲和/或執行程序代碼的數據處理系統。存儲器元件例如包括在程序代碼的實際執行期間所采用的本地存儲器、塊存儲、以及提供至少ー些程序代碼的臨時存儲以降低代碼在執行期間必須從塊存儲獲取的次數的高速緩存存儲器。
輸入/輸出或者I/O設備(包括但不局限于鍵盤、顯示器、指點設備、直接訪問存儲設備(DASD)、磁帶、壓縮盤(⑶)、數字視頻盤(DVD)、拇指驅動和其他存儲器介質等等)可以或者直接或者經過介于其間的輸入/輸出(I/O)控制器耦合到系統。網絡適配器也可以耦合到系統以使得數據處理系統能夠變為經過介于其間的私人或者公共網絡而耦合到其他數據處理系統或者遠程打印機或者存儲設備。調制解調器、電纜調制解調器以及以太網卡僅是一些可獲得的網絡適配器類型。這里使用的術語僅出于描述特定實施例的目的并且并不g在限制本發明。如這里所使用的,単數形式的“一”、“ー個”和“所述” g在也包括復數形式,除非上下文中清楚地以其他方式表明。將進一歩理解,在該說明書中使用的術語“包括”和/或“包括著”指定所表述的特征、整數、步驟、操作、元件和/或部件的存在,但是不排除ー個或者多個其他特征、整數、步驟、操作、元件、部件和/或其組的存在或者添加。在下面的權利要求中,全部裝置或者步驟加功能元件的相對應的結構、材料、動作及其等同物,如果存在,g在包括用于結合如具體請求保護的其他請求保護的元件來執行其功能的任何結構、材料或者動作。出于說明和描述的目的提供了本發明的描述,但是其并不旨在是排他性的或者局限于所公開的本發明的形式。在不偏離本發明的范圍的情況下,許多變型和變化對于本領域的普通技術人員來說將變得明顯。選擇和描述這些實施例以最佳地解釋本發明的原理和實踐應用,并且對于具有適合所設計的具體用途的各種變型的各種實施例,使得本領域的普通技術人員能夠理解本發明。
權利要求
1.ー種用于促進計算環境內的請求處理的方法,所述方法包括步驟 通過所述計算環境的至少ー個計算單元來獲得要被執行的請求的數據;以及在對所述請求的請求處理的成功或者失敗的指示之前,通過所述至少ー個計算單元至少啟動對所述請求的所述數據的分析處理,其中所述請求處理的至少一部分與分析處理的至少一部分基本上并發地執行。
2.如權利要求I的方法,其中所述方法進ー步包括在耦合到所述至少一個計算単元的處理器上執行所述請求處理的步驟,其中所述處理器不同于所述至少ー個計算單元。
3.如權利要求I或者2的方法,其中所述獲得的步驟包括從耦合到所述至少ー個計算單元的交換機接收所述請求的所述數據的步驟。
4.如權利要求3的方法,其中所述方法進ー步包括步驟 通過所述交換機獲得要被執行的所述請求; 向所述至少一個計算単元轉發所述請求的所述數據的拷貝,其中所述至少ー個計算單元要對所述數據執行分析處理;以及 向耦合到所述交換機和所述至少一個計算単元的處理器轉發所述請求,所述處理器要執行對所述請求的所述請求處理。
5.如權利要求I到4中的任意ー項的方法,其中所述方法進ー步包括步驟 執行對所述請求的請求處理; 確定對所述請求的分析處理是否完成;以及 響應于確定分析處理未完成并且已經指示所述請求處理已失敗,取消對所述請求的分析處理。
6.如權利要求5的方法,其中所述方法進ー步包括響應于確定所述請求處理已失敗而選擇不使用所述分析處理的結果的步驟。
7.如權利要求6的方法,進ー步包括響應于所述分析處理的成功完成而選擇不使用所述結果的步驟。
8.如權利要求I到7中的任意ー項的計算機程序產品,其中所述方法進ー步包括步驟 執行對所述請求的請求處理; 獲得對所述請求的分析處理的結果; 確定所述結果是否有效;以及 響應于所述結果有效并且所述請求處理成功,向所述請求的請求方提供指示成功的消o
9.如權利要求8的方法,其中所述方法進ー步包括響應于無效的結果或者請求處理的失敗,向所述請求方提供失敗的消息的步驟。
10.如權利要求8或者9的方法,其中所述執行、獲得、確定和提供的步驟由耦合到所述至少ー個計算單元的處理器執行,并且其中所述至少一個計算單元是分析集群的一部分,所述分析集群和處理器耦合到從所述請求方接收所述請求并且向所述處理器提供所述請求的至少第一部分以及向所述至少一個計算単元提供所述請求的至少第二部分的交換機。
11.ー種用于促進計算環境內的請求處理的計算機系統,所述計算機系統包括 存儲器;以及與所述存儲器通信的處理器,其中所述計算機系統包括 用于通過至少ー個計算單元獲得要被執行的請求的數據的裝置;以及用于在對所述請求的請求處理的成功或者失敗的指示之前,通過所述至少ー個計算單元至少啟動對所述請求的所述數據的分析處理的裝置,其中所述請求處理的至少一部分與分析處理的至少一部分基本上并發地執行。
12.如權利要求11的計算機系統,其中所述系統進ー步包括用于在耦合到所述至少一個計算単元的處理器上執行所述請求處理的裝置,其中所述處理器不同于所述至少ー個計算單元。
13.如權利要求11或者12的計算機系統,其中所述用于獲得的裝置包括用于從耦合到所述至少一個計算単元的交換機接收所述請求的所述數據的裝置,并且其中所述系統進ー步包括 用于通過所述交換機獲得要被執行的所述請求的裝置; 用于向所述至少一個計算単元轉發所述請求的所述數據的拷貝的裝置,其中所述至少一個計算単元要對所述數據執行分析處理;以及 用于向耦合到所述交換機和所述至少一個計算単元的處理器轉發所述請求的裝置,所述處理器要執行對所述請求的所述請求處理。
14.如權利要求11到13的任意ー項的計算機系統,其中所述系統進ー步包括 用于執行對所述請求的請求處理的裝置; 用于確定對所述請求的分析處理是否完成的裝置; 用于響應于確定分析處理未完成并且已經指示所述請求處理已失敗而取消對所述請求的分析處理的裝置;以及 用于響應于確定請求處理已失敗而選擇不使用所述分析處理的結果的裝置。
15.如權利要求14的計算機系統,進一歩包括用于響應于所述分析處理的成功完成而選擇不使用結果的裝置。
16.如權利要求11到15的任意ー項的計算機系統,其中所述系統進ー步包括 用于執行對所述請求的請求處理的裝置; 用于獲得對所述請求的分析處理的結果的裝置; 用于確定所述結果是否有效的裝置;以及 用于響應于所述結果有效并且所述請求處理成功而向所述請求的請求方提供指示成功的消息的裝置。
17.如權利要求16的計算機系統,其中所述用于執行、獲得、確定和提供的裝置包括耦合到所述至少一個計算単元的處理器,并且其中所述至少一個計算單元是分析集群的一部分,所述分析集群和處理器耦合到從所述請求方接收所述請求并且向所述處理器提供所述請求的至少第一部分以及向所述至少一個計算単元提供所述請求的至少第二部分的交換機。
18.ー種用于促進計算環境內的請求處理的計算機程序產品,所述計算機程序產品包括 由處理電路可讀并且存儲供所述處理電路執行以執行根據權利要求I到10的任意一項的方法的指令的計算機可讀存儲介質。
19.一種被存儲在計算機可讀介質上并且可被加載到數字計算機的內部存儲器的計算機程序,包括軟件代碼部分,當所述程序在計算機上運行時,所述軟件代碼部分用于執行根據權利要求I到10的任意ー項的方法
全文摘要
促進計算環境內的請求處理。對請求的請求處理和分析處理基本上并發地執行以改善請求執行的效率。在接收到請求處理的成功或者失敗的指示之前,分析處理至少啟動,并且可以完成。如果請求處理失敗,若分析處理還沒有完成,則分析處理停止,并且不使用分析處理的結果。
文檔編號G06F9/46GK102656560SQ201080056913
公開日2012年9月5日 申請日期2010年11月18日 優先權日2009年12月15日
發明者C·E·伯伊斯, C·J·帕里斯, R·克里施納穆爾西, 劉龍國 申請人:國際商業機器公司