客戶/服務(wù)器媒件將一個源碼客戶應(yīng)用程序進行處理以便當(dāng)應(yīng)用程序表明事務(wù)的開始時,為可復(fù)原客戶自動地在本地建立事務(wù)和為不可復(fù)原客戶遠程地建立事務(wù)。因此可不考慮事務(wù)是在本地還是遠程地建立而編寫源碼客戶應(yīng)用程序,該媒件負責(zé)此功能。(*該技術(shù)在2018年保護過期,可自由使用*)
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及客戶/服務(wù)器(也稱為“分布式”)計算領(lǐng)域,其中一個計算設(shè)備(“客戶”)要求另一個計算設(shè)備(“服務(wù)器”)完成客戶的一部分工作。客戶和服務(wù)器可以兩者都位于同一物理計算設(shè)備內(nèi)。客戶/服務(wù)器計算近幾年來在信息技術(shù)世界中變得愈來愈重要。這種分布式計算允許一個計算機委托另一個計算機完成后者更適合做的一部分工作。例如,服務(wù)器可以是一個功能強的計算機,其中運行著管理存儲的大量數(shù)據(jù)的數(shù)據(jù)庫程序,而客戶只是一個簡單的桌上個人計算機(PC),它向數(shù)據(jù)庫請求信息以便在它的一個本地程序中使用這些信息。由于使用了眾所周知的稱為面向?qū)ο缶幊?OOP)的計算機編程技術(shù),客戶/服務(wù)器計算的優(yōu)點進一步加強了,該OOP允許客戶和服務(wù)器分別位于不同(異構(gòu)的)“平臺”上。一個平臺是計算機用來進行工作的特定硬件/軟件/操作系統(tǒng)/通信協(xié)議的組合。OOP允許客戶應(yīng)用程序和服務(wù)器應(yīng)用程序各在它們自己的平臺上運行而不必顧慮客戶應(yīng)用程序的工作請求如可發(fā)送和被服務(wù)器應(yīng)用程序接收。類似地,服務(wù)器應(yīng)用程序不必顧慮OOP系統(tǒng)如何接收和翻譯服務(wù)器應(yīng)用程序的處理結(jié)果及如何將此結(jié)果送回至發(fā)出請求的客戶應(yīng)用程序。美國專利5,440,744和歐洲專利刊登申請EP 0677,943 A2中解釋了OOP技術(shù)如何與異構(gòu)客戶/服務(wù)器系統(tǒng)結(jié)合為整體的細節(jié)。此兩份刊登物在此處引為參考資料。然而下面將給出一個基本體系例子供對本專利技術(shù)環(huán)境上下文理解之用。如附圖說明圖1中所示,客戶計算機10(例如它可為具有裝于其上的IBMOS/2操作系統(tǒng)的個人計算機)具有一個在其操作系統(tǒng)上運行的應(yīng)用程序40(“IBM”和“OS/2”是國際商業(yè)機器公司的注冊商標)。應(yīng)用程序40周期性地要求在服務(wù)器計算機20上完成工作及/或?qū)?shù)據(jù)自服務(wù)器20退回來以供應(yīng)用程序40隨后使用。例如服務(wù)器計算機20可為一個在IBM的MVS操作系統(tǒng)上運行的功能強的主體計算機(“MVS”也是IBM公司的注冊商標)。對于本專利技術(shù)的目的而言,不論對由服務(wù)器執(zhí)行通信服務(wù)的請求是由用戶與第一應(yīng)用程序40交互作用而提出的,還是應(yīng)用程序40獨立于用戶交互作用之外運行并在程序運行中自動提出的,都不重要。當(dāng)客戶計算機10希望向服務(wù)器計算機20的服務(wù)提出請求時,第一應(yīng)用程序40將請求的服務(wù)通知第一邏輯裝置50。作為例子,可以向第一邏輯裝置發(fā)送遠過程名字及一列輸入和輸出參數(shù)。然后第一邏輯裝置50參照存放于存儲設(shè)備60中的可用通信服務(wù)的定義來完成建立與第二計算機20的必要通信的工作。所有可能的服務(wù)都被定義為對象類70的內(nèi)聚框架,這些類自單個對象類中派生出來。以此方式定義服務(wù)可在性能和重可用性方面具有很多優(yōu)點。為建立與服務(wù)器20的必要通信,第一邏輯裝置50確定需使用框架中哪些對象類,然后在服務(wù)器處建立該對象的實例,向該對象發(fā)送一個消息以促使該對象啟用它的方法中的一個。這進而通過連結(jié)裝置80建立起與服務(wù)器計算機20的連接,并隨后向第二邏輯裝置90發(fā)送一個請求。第二邏輯裝置90然后將此請求傳給在服務(wù)器計算機20上運行的第二應(yīng)用程序100(此后稱為服務(wù)應(yīng)用程序)以使服務(wù)應(yīng)用程序100能完成該請求所要求的具體任務(wù),例如運行一個數(shù)據(jù)檢索過程。一旦完成此任務(wù),服務(wù)應(yīng)用程序可能需要將結(jié)果發(fā)送回至第一計算機10。在完成所請求的任務(wù)期間和當(dāng)要將結(jié)果送回至第一計算機10時,服務(wù)應(yīng)用程序100與第二邏輯裝置90交互作用。第二邏輯裝置90建立起對象的實例并啟用這些對象的合適方法,及當(dāng)服務(wù)應(yīng)用程序100要求時,對象實例自存放于存儲設(shè)備110中的對象類內(nèi)聚框架中建立起來。使用以上技術(shù)時,客戶應(yīng)用程序40不向通信體系暴露。此外,服務(wù)應(yīng)用程序100是通過其環(huán)境的標準進程啟用的;它不知道它是被遠程地啟用的。對象管理組(OMG)是一個國際組織聯(lián)合會,致力于在具有如圖1中所示分布式對象的異構(gòu)平臺上的客戶/服務(wù)器計算的不同方面。OMG提出已出版的標準,客戶計算機(例如10)根據(jù)此標準與服務(wù)器計算機(例如20)通信(用OOP形式)。作為這些標準的一部分,定義了對象請求代理器(稱為CORBA-公共對象請求代理體系),它在客戶與服務(wù)計算機之間提供面向?qū)ο蟮臉蛄骸RB使客戶和服務(wù)應(yīng)用程序與面向?qū)ο蟮膶嵤┘毠?jié)相脫離,完成第一和第二邏輯裝置50和90還有連結(jié)裝置80的至少一部分工作。OMG提出與“事務(wù)”有關(guān)的標準,作為CORBA軟件結(jié)構(gòu)的一部分,這些標準稱為OTS或?qū)ο笫聞?wù)服務(wù)。由計算機實施的事務(wù)處理系統(tǒng)在不少工業(yè)中用于重要業(yè)務(wù)工作。一個事務(wù)決定一個必須或者全部完成或者不操作而全部清涂的單個工作單元。例如在銀行的自動取款機中,當(dāng)用戶希望提取現(xiàn)鈔時,發(fā)放現(xiàn)鈔的操作,將取款機中可用現(xiàn)鈔存額減少的操作和將用戶銀行帳號金額減少的操作必須或者全部執(zhí)行或者一個都不執(zhí)行。附屬操作中的一項失誤時將會導(dǎo)致記錄和實際操作間的不一致。分布式事務(wù)處理牽涉到會影響不止一個物理或邏輯地址上的資源的一個事務(wù)。在上述例子中,一個事務(wù)影響到在本地自動取款設(shè)備中管理的資源,也影響到由銀行主計算機管理的銀行結(jié)算。這類事務(wù)涉及一個具體客戶計算機(例如10)在由服務(wù)器處理的一系列客戶請求問題上與一個具體服務(wù)器計算機(例如20)的通信。OMG的OTS負責(zé)協(xié)調(diào)這些分布式事務(wù)。通常,在客戶過程上運行的應(yīng)用程序所啟動的事務(wù)可能牽涉到調(diào)用眾多不同服務(wù)器,每一個服務(wù)器將啟動一個服務(wù)過程以便根據(jù)包含于事務(wù)中的指令改變其本地數(shù)據(jù)庫。事務(wù)結(jié)束時或者執(zhí)行了事務(wù)(因此所有服務(wù)器都完成了對它們本地數(shù)據(jù)庫的改變)或者將事務(wù)流產(chǎn)(因此所有服務(wù)器都“回滾”或忽略它們本地數(shù)據(jù)庫的改變)。為在事務(wù)處理期間與服務(wù)器通信(例如通知它們或者執(zhí)行或者流產(chǎn)它們在事務(wù)中的那部分),所涉及的過程中的一個必須為事務(wù)保持狀態(tài)數(shù)據(jù)。這通常涉及用于建立一系列對象的過程,其中之一是協(xié)調(diào)對象,用于針對不同服務(wù)器協(xié)調(diào)事務(wù)。由于總是存在著出錯的可能性,所以該過程必需為事務(wù)存儲狀態(tài)數(shù)據(jù),以便當(dāng)計算機或保持狀態(tài)數(shù)據(jù)的過程出錯時,此狀態(tài)數(shù)據(jù)是可復(fù)原的。也即,當(dāng)系統(tǒng)剛開始出錯時,此狀態(tài)數(shù)據(jù)可在計算機或保持狀態(tài)數(shù)據(jù)的過程的本地外部存儲器中作為記錄文件存儲起來。當(dāng)造成出錯的問題被找出并糾正后,系統(tǒng)被復(fù)原及狀態(tài)數(shù)據(jù)被重裝以使正在進行中的事務(wù)得以完成。當(dāng)客戶應(yīng)用程序啟動事務(wù)時,有兩個可能的體系供選用以選擇事務(wù)狀態(tài)數(shù)據(jù)的所在位置。第一體系是所謂“可復(fù)原客戶”,其中狀態(tài)數(shù)據(jù)就地存放于客戶過程中。在此情況下,客戶必須在它自身內(nèi)包括足夠功能以便能當(dāng)作服務(wù)器使用,因為它必須能夠接收對于作為事務(wù)狀態(tài)數(shù)據(jù)一部分而建立的對象的遠程方法調(diào)用。例如,每個與事務(wù)有關(guān)的服務(wù)器必須將它本身向客戶登記。現(xiàn)代趨向是取消為客戶附加功能,而相反地具有“純凈”或“單薄”的不能用作服務(wù)器的客戶。例如,日益廣受歡迎的網(wǎng)絡(luò)計算范例的主要動向是給予客戶愈來愈少功能以便對服務(wù)器功能作主要改變而不對每個客戶功能作相同改變。另外,可顯著地減低客戶計算機價格,因為這類計算機不需要任何存儲器(所有存儲器都位于遠程服務(wù)器處)。因此,選擇事務(wù)狀態(tài)數(shù)據(jù)的所在位置的第二體系是“不可復(fù)原客戶”,其中事務(wù)狀態(tài)數(shù)據(jù)離開(遠離)客戶過程而存放著(例如存放于一個服務(wù)器中)。這兩種體系選擇各有它們相對的優(yōu)缺點。因此根據(jù)環(huán)境支持兩個體系中任何一個體系的能力是非常有利的。然本文檔來自技高網(wǎng)...
【技術(shù)保護點】
一種編寫在客戶/服務(wù)器計算系統(tǒng)中的客戶上執(zhí)行的源碼計算機程序的方法,所述計算機程序包括其中包括訪問服務(wù)器上資源的命令的事務(wù),所述方法包括以下步驟: 使用開始命令表明事務(wù)的開始; 使用訪問命令表明事務(wù)的中間部分;以及 使用執(zhí)行命令或回滾命令表明事務(wù)的結(jié)束; 其特征在于所述表明事務(wù)開始的步驟是在不依賴于所述客戶是否可復(fù)原的情況下完成的。
【技術(shù)特征摘要】
...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:小羅伯特霍華德海伊,西蒙霍爾茲沃思,馬丁馬爾霍蘭,凱思林薩拉沃爾,
申請(專利權(quán))人:國際商業(yè)機器公司,
類型:發(fā)明
國別省市:US[美國]
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。