專利名稱:基于時間期限的分布式事務(wù)處理方法及其系統(tǒng)的制作方法
基于時間期限的分布式事務(wù)處理方法及其系統(tǒng)技術(shù)領(lǐng)域
本發(fā)明屬于Web服務(wù)技術(shù)下分布式事務(wù)技術(shù)領(lǐng)域,具體涉及一種Web服務(wù)環(huán)境中基于時間期限的分布式事務(wù)處理方法,該方法基于用戶提交的期望事務(wù)最遲完成時間期限,對提交事務(wù)進(jìn)行子事務(wù)分析,選取出最有可能滿足用戶期限需求的Web服務(wù)提供者,達(dá)到提高Web服務(wù)環(huán)境下事務(wù)的可靠性與系統(tǒng)的并發(fā)事務(wù)吞吐性能的目的。
背景技術(shù):
隨著現(xiàn)代互聯(lián)網(wǎng)的飛速發(fā)展,Web服務(wù)技術(shù)在目前的IT領(lǐng)域中成為了一個非常熱門的話題。Web服務(wù)本身是模塊化的、自包含且自描述的、基于網(wǎng)絡(luò)的應(yīng)用程序,它使得運行在不同機器上的不同應(yīng)用無須借助附加的、專門的第三方軟件或硬件,就能實現(xiàn)數(shù)據(jù)交互及功能集成。由于Web服務(wù)技術(shù)基于一些已有的標(biāo)準(zhǔn)化的協(xié)議與技術(shù),如HTTP (超文本傳輸協(xié)議)和XML (可擴(kuò)展標(biāo)記語言),因此開發(fā)與部署的難度相對傳統(tǒng)的分布式技術(shù)要低很^^ ο
在實際的分布式業(yè)務(wù)中,Web服務(wù)往往采用復(fù)合服務(wù)結(jié)構(gòu),涉及多個Web服務(wù)的聚合,這些Web服務(wù)可以來自于多個不同的Web服務(wù)提供方。為了保障復(fù)合服務(wù)中多個Web 服務(wù)程序?qū)?shù)據(jù)資源訪問的一致性和可靠性,解決分布式應(yīng)用組合在執(zhí)行過程中出現(xiàn)的各類異常情況,需要事務(wù)機制與技術(shù)的支持。傳統(tǒng)事務(wù)機制來源于經(jīng)典的關(guān)系型數(shù)據(jù)庫理論, 它的特點是以數(shù)據(jù)為中心,強調(diào)事務(wù)執(zhí)行過程中的ACID(原子性、一致性、隔離性、持久性) 特性。Web服務(wù)應(yīng)用的松散耦合結(jié)構(gòu)決定了 Web服務(wù)環(huán)境需要更為松散的事務(wù)形式,不能嚴(yán)格遵循ACID特性。為此,Web服務(wù)事務(wù)管理標(biāo)準(zhǔn)WS-Transaction提出了一種新的事務(wù)類型WS-BusinessActivity,該標(biāo)準(zhǔn)聲明事務(wù)可以盡早提交,如果事務(wù)執(zhí)行失敗,會以一種稱為補償事務(wù)的機制撤銷該事務(wù)造成的影響。這里解決了 ACID特性中資源鎖定對性能的造成的不利影響,但由此帶來了一個問題,即補償事務(wù)的設(shè)計在某些復(fù)雜業(yè)務(wù)情況下要保證其準(zhǔn)確性是很困難的,因為這涉及到域間數(shù)據(jù)的一致性問題,這比單一域內(nèi)的數(shù)據(jù)一致性更難保障,如果補償事務(wù)設(shè)計得不是很完美,在數(shù)據(jù)恢復(fù)時往往需要人工干預(yù),增加了系統(tǒng)維護(hù)的復(fù)雜度。而目前應(yīng)用在Web服務(wù)環(huán)境下的分布式事務(wù)管理協(xié)議或框架在進(jìn)行事務(wù)協(xié)調(diào)與調(diào)度時沒有考慮用戶對于自己提交事務(wù)的最遲完成時間的要求,事務(wù)即使最終順利提交完成,卻會因為超過了用戶所能忍受的完成時間而失敗,從而導(dǎo)致補償事務(wù)的產(chǎn)生。
在圖1中,首先可以看到傳統(tǒng)2PC協(xié)議的簡單事務(wù)處理流程。2PC協(xié)議下的事務(wù)執(zhí)行過程如下
(1)事務(wù)發(fā)起方給所有的服務(wù)方發(fā)送準(zhǔn)備信息,聲明自己想要占用的資源。
(2)各服務(wù)方查看自己的資源占用情況,如果當(dāng)前無法為事務(wù)發(fā)起方提供資源占用,則發(fā)送失敗消息,否則發(fā)送已準(zhǔn)備消息。
(3)事務(wù)發(fā)起方收集起所有服務(wù)方的反饋消息。當(dāng)收到所有服務(wù)方的已準(zhǔn)備消息時,發(fā)送提交消息給各個資源提供者,請求事務(wù)提交;否則只要收到1個失敗消息,則發(fā)送中止消息給所有資源提供者,放棄所有資源的占用。
在資源獨占期間,其他全局事務(wù)的資源請求將被拒絕,而對整個系統(tǒng)的并發(fā)吞吐能力產(chǎn)生不利影響。
針對2PC協(xié)議的這一缺陷,THP協(xié)議在此基礎(chǔ)上增加了一個資源預(yù)定階段,這樣可以有很多并發(fā)的全局事務(wù)對資源進(jìn)行預(yù)定,只有在確定準(zhǔn)備提交時才會獨占資源,這樣可以從一定程度上緩沖了 “獨占排他”帶來的不利影響。THP協(xié)議的簡單流程如圖2所示。
THP協(xié)議下的事務(wù)執(zhí)行過程如下
(1)事務(wù)發(fā)起方給所有的服務(wù)方發(fā)送資源預(yù)訂信息。
(2)每一個服務(wù)方確定自己的最大預(yù)訂限額,如果沒有超過最大預(yù)訂限額,則最大預(yù)訂限額值加1,并接受資源預(yù)訂。否則拒絕預(yù)訂。
(3)事務(wù)發(fā)起方收到任何1個拒絕預(yù)訂時將取消其他已成功的資源預(yù)定,確認(rèn)事務(wù)失敗。否則進(jìn)入第(4)步。
(4)事務(wù)發(fā)起方給服務(wù)方發(fā)送確認(rèn)信息,服務(wù)方向事務(wù)發(fā)起方發(fā)送已確認(rèn)信息,并主動取消其他事務(wù)發(fā)起方相應(yīng)的資源預(yù)定。
(5)事務(wù)發(fā)起方向服務(wù)方提交事務(wù)。
(6)服務(wù)方將事務(wù)提交結(jié)果返回事務(wù)發(fā)起方。
但THP協(xié)議在最后的事務(wù)提交階段采用的是FIFO (先到先服務(wù))策略,而實際情況往往是客戶對于不同事務(wù)的最遲提交時間是不同的,如果只是采用先到先服務(wù)策略,很多時間更為緊迫的事務(wù)最終是會失敗的,從而引發(fā)補償事務(wù)的產(chǎn)生。在這種情況下,所有的資源提供者必須考慮到已預(yù)訂資源的事務(wù)的時間期限,并以此為依據(jù)進(jìn)行資源分配。發(fā)明內(nèi)容
基于以上現(xiàn)狀中出現(xiàn)的問題,本發(fā)明提出一種Web服務(wù)環(huán)境中基于時間期限的分布式事務(wù)處理方法及系統(tǒng);本發(fā)明采用分時調(diào)度策略,避免了先到先服務(wù)策略中某些緊急事務(wù)不能在時間期限內(nèi)完成而導(dǎo)致的事務(wù)失敗的情況頻繁出現(xiàn)或補償事務(wù)的產(chǎn)生;通過對分布式事務(wù)進(jìn)行預(yù)調(diào)度,可以在事務(wù)執(zhí)行前計算出此事務(wù)是否能夠在用戶期望的時間之前完成,可以有效減少在時間上不可能完成事務(wù)的數(shù)量。
本發(fā)明提供的一種Web服務(wù)環(huán)境中基于時間期限的分布式事務(wù)處理方法,其步驟包括
(1)服務(wù)器接收用戶通過瀏覽器提交的事務(wù)請求,事務(wù)請求包括事務(wù)標(biāo)識以及時間期限信息;
(2)服務(wù)器生成事務(wù)協(xié)調(diào)器,并將該事務(wù)請求轉(zhuǎn)交給事務(wù)協(xié)調(diào)器處理;
(3)事務(wù)協(xié)調(diào)器根據(jù)該事務(wù)請求中的事務(wù)標(biāo)識查找出該事務(wù)的子事務(wù)列表,以及每個子事務(wù)、的Web服務(wù)提供者組成的列表,其中,子事務(wù)列表記為、、t2、……、tn,i表示子事務(wù)的序號,1 ^ i ^ n, Web服務(wù)提供者列表記為Pil、pi2、……、pim,每個Web服務(wù)提供者Pu為子事務(wù)、維護(hù)一個時間序列表;m表示子事務(wù)、的Web服務(wù)提供者的個數(shù);
(4)事務(wù)協(xié)調(diào)器向所有相關(guān)的Web服務(wù)提供者發(fā)送預(yù)調(diào)度請求;所有收到事務(wù)請求的提供者將更新本節(jié)點中該事務(wù)的時間序列表,并返回基本信息元組{ATij; HTij, URIijI 信息給事務(wù)協(xié)調(diào)器,其中,ATu表示資源鎖時間,HTu表示在本節(jié)點執(zhí)行事務(wù)時占有資源鎖的期望時間,URIij表示該Web服務(wù)的調(diào)用地址;
(5)事務(wù)協(xié)調(diào)器根據(jù)提供者返回的基本信息元組,為每個子事務(wù)選擇出一個Web 服務(wù)提供者;
(6)事務(wù)協(xié)調(diào)器向選擇出的Web服務(wù)提供者發(fā)送事務(wù)提交請求;
(7)各個參與事務(wù)的Web服務(wù)提供者接收到事務(wù)提交請求后,執(zhí)行事務(wù),并將事務(wù)執(zhí)行的結(jié)果發(fā)送到事務(wù)協(xié)調(diào)器;
(8)事務(wù)協(xié)調(diào)器將各個子事務(wù)的執(zhí)行結(jié)果返回給用戶;
(9)結(jié)束。
本發(fā)明還提供了一種Web服務(wù)環(huán)境中基于時間期限的分布式事務(wù)處理系統(tǒng),其特征在于它包括服務(wù)器、事務(wù)協(xié)調(diào)器和多個Web服務(wù)提供者;
服務(wù)器用于接收用戶通過瀏覽器提交的事務(wù)請求,事務(wù)請求包括事務(wù)標(biāo)識以及時間期限信息;并服務(wù)器生成事務(wù)協(xié)調(diào)器,并將該事務(wù)請求轉(zhuǎn)交給事務(wù)協(xié)調(diào)器處理;
事務(wù)協(xié)調(diào)器根據(jù)該事務(wù)請求中的事務(wù)標(biāo)識查找出該事務(wù)的子事務(wù)列表,以及每個子事務(wù)、的Web服務(wù)提供者組成的列表,其中,子事務(wù)列表記為、、t2、……、tn,i表示子事務(wù)的序號,1 ^ i ^ n, Web服務(wù)提供者列表記為Pil、pi2、……、pim,每個Web服務(wù)提供者 Pij為子事務(wù)、維護(hù)一個時間序列表;m表示子事務(wù)、的Web服務(wù)提供者的個數(shù);
事務(wù)協(xié)調(diào)器向所有相關(guān)的Web服務(wù)提供者發(fā)送預(yù)調(diào)度請求;所有收到事務(wù)請求的提供者將更新本節(jié)點中該事務(wù)的時間序列表,并返回基本信息元組{ATij; HTij, URIijI信息給事務(wù)協(xié)調(diào)器,其中,ATu表示資源鎖時間,HTu表示在本節(jié)點執(zhí)行事務(wù)時占有資源鎖的期望時間,URIij表示該Web服務(wù)的調(diào)用地址;
事務(wù)協(xié)調(diào)器根據(jù)提供者返回的基本信息元組,為每個子事務(wù)選擇出一個Web服務(wù)提供者;
事務(wù)協(xié)調(diào)器向選擇出的Web服務(wù)提供者發(fā)送事務(wù)提交請求;
各個參與事務(wù)的Web服務(wù)提供者接收到事務(wù)提交請求后,執(zhí)行事務(wù),并將事務(wù)執(zhí)行的結(jié)果發(fā)送到事務(wù)協(xié)調(diào)器;
事務(wù)協(xié)調(diào)器將各個子事務(wù)的執(zhí)行結(jié)果返回給用戶。
本發(fā)明為Web服務(wù)環(huán)境下的分布式并發(fā)事務(wù)提供有效的協(xié)調(diào)與管理服務(wù)。本發(fā)明的工作原理是在整個Web服務(wù)分布式事務(wù)環(huán)境中,同種類型的Web服務(wù)可以由多個提供者提供,打個比方,多家旅店都可以提供網(wǎng)上預(yù)訂住宿這一種服務(wù)。每個Web節(jié)點上發(fā)起的全局事務(wù)由一個主協(xié)調(diào)器在整個事務(wù)的執(zhí)行過程中與各個節(jié)點上的Web服務(wù)提供者之間進(jìn)行通信,協(xié)調(diào)各節(jié)點上的子事務(wù)執(zhí)行,從而完成整個分布式事務(wù)的執(zhí)行過程。不同于傳統(tǒng)的框架或協(xié)議,這里的事務(wù)協(xié)調(diào)引入了時間期限即事務(wù)最遲提交時間的概念,用戶在提交事務(wù)請求時,同時提交自己希望的事務(wù)最遲完成時間,事務(wù)發(fā)起方在客戶提交初始時刻通過對各Web服務(wù)提供者的服務(wù)時間進(jìn)行期限預(yù)測,選取合適的服務(wù)提供方并提交事務(wù)請求。
本發(fā)明綜合考慮了用戶對事務(wù)提交的時間期限以及Web服務(wù)提供者的空閑時間, 從Web服務(wù)提供者中選取合適的候選者進(jìn)行事務(wù)的提交,降低了補償事務(wù)的發(fā)生幾率。并且本發(fā)明采用分時機制,避免了傳統(tǒng)Web服務(wù)分布式事務(wù)處理方法中存在的資源鎖沖突, 從而有效地提高了系統(tǒng)的整體并發(fā)性能。
圖1是傳統(tǒng)的基于排他鎖機制的2PC協(xié)議的流程圖2是針對2PC協(xié)議改進(jìn)的基于預(yù)訂策略的THP協(xié)議的流程圖3為本發(fā)明的基礎(chǔ)架構(gòu)圖4為本發(fā)明的事務(wù)協(xié)調(diào)流程圖5為本發(fā)明的Web服務(wù)提供者選取流程圖。
具體實施方式
本發(fā)明依賴于以下事實
設(shè)全局事務(wù)T由η個子事務(wù)、、t2、……、tn組成,每個子事務(wù)、有!11個可用的 Web服務(wù)提供者pn、pi2、……、pim。為確保同時發(fā)生的事務(wù)對數(shù)據(jù)的更新保持一致,采用鎖機制進(jìn)行數(shù)據(jù)訪問控制,防止數(shù)據(jù)訪問時的沖突,保證數(shù)據(jù)一致性。出現(xiàn)對同一數(shù)據(jù)有競爭關(guān)系的多個并發(fā)子事務(wù)時,先獲取鎖的子事務(wù)可以對數(shù)據(jù)進(jìn)行修改,之后釋放鎖,接下來先獲取鎖的子事務(wù)可以繼續(xù)對數(shù)據(jù)進(jìn)行修改。每個Web服務(wù)提供者為^維護(hù)一個時間序列表,該時間序列表由多個時間點組成,各個時間點之間的時間間隔為HTU,每個時間點包含2個屬性,時間值T與占用標(biāo)識0CC。其中HTu表示在本節(jié)點執(zhí)行、時占有鎖的期望時間,這個期望時間可以由本節(jié)點根據(jù)本節(jié)點上該子事務(wù)資源鎖占用歷史記錄時間取期望值得到。由此時間序列表,事務(wù)請求方能夠得到下次可獲取鎖的時間,記做ATU。這里將用戶定義的事務(wù)時間期限記為DL。
本發(fā)明方法以用戶提交的事務(wù)T以及事務(wù)時間期限D(zhuǎn)L為基礎(chǔ),將此時間期限D(zhuǎn)L 作為事務(wù)T的最遲提交時間,在分布式環(huán)境中的眾多節(jié)點中選擇出能夠滿足時間期限要求的節(jié)點集,確保包含在這個節(jié)點集中的節(jié)點能夠在時間期限到來之前完成整個事務(wù)的提交(如果找不出合適的節(jié)點集,表示無法再用戶指定的時間期限內(nèi)完成事務(wù)T,則向用戶反饋無法按時完成的信息)。
下面結(jié)合附圖和實例對本發(fā)明進(jìn)行詳細(xì)說明。
如圖3所示,本發(fā)明會在全局事務(wù)各子事務(wù)分發(fā)到各服務(wù)方之前進(jìn)行預(yù)調(diào)度,獲取所有相關(guān)Web服務(wù)提供者的基本信息元組{ATij; HTij, URIijI,URIij表示該Web服務(wù)的調(diào)用地址。Web服務(wù)提供者在預(yù)調(diào)度時會更新本節(jié)點中該事務(wù)的時間序列表中此時間點的占用標(biāo)識為已占用,從而在調(diào)度階段就消除整個系統(tǒng)上并發(fā)事務(wù)之間的沖突,從而降低事務(wù)補償發(fā)生的概率。
本發(fā)明方法包括下述步驟
(1)服務(wù)器接收用戶通過瀏覽器提交的事務(wù)請求,事務(wù)請求包括事務(wù)標(biāo)識以及時間期限信息。
(2)服務(wù)器生成事務(wù)協(xié)調(diào)器,并將該事務(wù)請求轉(zhuǎn)交給事務(wù)協(xié)調(diào)器處理。
(3)事務(wù)協(xié)調(diào)器根據(jù)該事務(wù)請求中的事務(wù)標(biāo)識查找出該事務(wù)的子事務(wù)列表(由 、、t2、……、tn組成)與每個子事務(wù)、(1 ^n)的m個Web服務(wù)提供者組成的列表(由 Pii、Pi2、......、Pim 組成)。
(4)事務(wù)協(xié)調(diào)器向所有相關(guān)的Web服務(wù)提供者發(fā)送預(yù)調(diào)度請求。所有收到事務(wù)請求的提供者將更新本節(jié)點中該事務(wù)的時間序列表中此時間點的占用標(biāo)識為已占用,并返回基本信息元組{ATij; HTij, URIijI信息給事務(wù)協(xié)調(diào)器,其中,ATij表示資源鎖時間,HTij表示在本節(jié)點執(zhí)行事務(wù)時占有資源鎖的期望時間,URIij表示該Web服務(wù)的調(diào)用地址。
(5)事務(wù)協(xié)調(diào)器根據(jù)提供者返回的基本信息元組,為每個子事務(wù)選擇出一個Web 服務(wù)提供者。
如圖5所示,選擇過程如下
a生成一個空的調(diào)度選擇表{}。
b遍歷子事務(wù)列表,如果存在子事務(wù)、在調(diào)度選擇表中沒有其提供者,則執(zhí)行步驟C。否則執(zhí)行步驟d。
c查詢、的提供者列表。如果、的提供者列表中有可用的Web服務(wù)提供者,則從中選擇第一個存入調(diào)度選擇表中,并從提供者列表中刪除這個被選擇的提供者,然后執(zhí)行步驟b ;否則返回?zé)o可用提供者錯誤,并執(zhí)行步驟(9)。
d計算調(diào)度選擇表中最大的AT值,記做ATmax。如果ATmax彡DL,則返回超時錯誤, 并執(zhí)行步驟(9),否則進(jìn)入步驟e。
e如果存在RTij ( ATffla,則從調(diào)度選擇表中淘汰掉該提供者,向該提供者發(fā)送更新消息,提供者將更新本節(jié)點中該事務(wù)的時間序列表中此時間點的占用標(biāo)識為未占用,返回執(zhí)行步驟b,否則直接進(jìn)入步驟f。
f至本步,調(diào)度選擇表中包含所有子事務(wù)的備選提供者,選擇過程結(jié)束。
(6)事務(wù)協(xié)調(diào)器向選擇出的Web服務(wù)提供者發(fā)送事務(wù)提交請求。
(7)各個參與事務(wù)的Web服務(wù)提供者接收到事務(wù)提交請求后,執(zhí)行事務(wù),并將事務(wù)執(zhí)行的結(jié)果(成功或失敗)發(fā)送到事務(wù)協(xié)調(diào)器。
(8)事務(wù)協(xié)調(diào)器將各個子事務(wù)的執(zhí)行結(jié)果(成功或失敗)返回給用戶。
(9)至本步,事務(wù)處理過程結(jié)束。
以上所述,僅為本發(fā)明的一種具體實現(xiàn)方式,本發(fā)明的實現(xiàn)方法并不局限于此,任何在本發(fā)明領(lǐng)域內(nèi)不脫離本發(fā)明精神下的改變,都應(yīng)涵蓋在本發(fā)明范圍內(nèi)。
權(quán)利要求
1.一種Web服務(wù)環(huán)境中基于時間期限的分布式事務(wù)處理方法,其步驟包括(1)服務(wù)器接收用戶通過瀏覽器提交的事務(wù)請求,事務(wù)請求包括事務(wù)標(biāo)識以及時間期限信息;(2)服務(wù)器生成事務(wù)協(xié)調(diào)器,并將該事務(wù)請求轉(zhuǎn)交給事務(wù)協(xié)調(diào)器處理;(3)事務(wù)協(xié)調(diào)器根據(jù)該事務(wù)請求中的事務(wù)標(biāo)識查找出該事務(wù)的子事務(wù)列表,以及每個子事務(wù)、的Web服務(wù)提供者組成的列表,其中,子事務(wù)列表記為、、t2、……、tn,i表示子事務(wù)的序號,1 ^ i ^ n, Web服務(wù)提供者列表記為Pil、pi2、……、pim,每個Web服務(wù)提供者 Pij為子事務(wù)、維護(hù)一個時間序列表;m表示子事務(wù)、的Web服務(wù)提供者的個數(shù);(4)事務(wù)協(xié)調(diào)器向所有相關(guān)的Web服務(wù)提供者發(fā)送預(yù)調(diào)度請求;所有收到事務(wù)請求的提供者將更新本節(jié)點中該事務(wù)的時間序列表,并返回基本信息元組{ATij; HTij, URIijI信息給事務(wù)協(xié)調(diào)器,其中,ATu表示資源鎖時間,HTu表示在本節(jié)點執(zhí)行事務(wù)時占有資源鎖的期望時間,URIij表示該Web服務(wù)的調(diào)用地址;(5)事務(wù)協(xié)調(diào)器根據(jù)提供者返回的基本信息元組,為每個子事務(wù)選擇出一個Web服務(wù)提供者;(6)事務(wù)協(xié)調(diào)器向選擇出的Web服務(wù)提供者發(fā)送事務(wù)提交請求;(7)各個參與事務(wù)的Web服務(wù)提供者接收到事務(wù)提交請求后,執(zhí)行事務(wù),并將事務(wù)執(zhí)行的結(jié)果發(fā)送到事務(wù)協(xié)調(diào)器;(8)事務(wù)協(xié)調(diào)器將各個子事務(wù)的執(zhí)行結(jié)果返回給用戶;(9)結(jié)束。
2.根據(jù)權(quán)利要求1所述的Web服務(wù)環(huán)境中基于時間期限的分布式事務(wù)處理方法,其特征在于,步驟(5)中,按照下述過程為每個子事務(wù)選擇出一個Web服務(wù)提供者(5. 1)生成一個空的調(diào)度選擇表{};(5. 2)遍歷子事務(wù)列表,如果存在子事務(wù)、在調(diào)度選擇表中沒有其提供者,則執(zhí)行步驟 (5.3);否則執(zhí)行步驟(5.4);(5. 3)查詢、的提供者列表;如果、的提供者列表中有可用的Web服務(wù)提供者,則從中選擇第一個存入調(diào)度選擇表中,并從提供者列表中刪除這個被選擇的提供者,然后執(zhí)行步驟(5.2);否則返回?zé)o可用提供者錯誤,并執(zhí)行步驟(9);(5. 4)計算調(diào)度選擇表中最大的資源鎖時間,記做ATmax ;如果ATmax彡DL,則返回超時錯誤,并執(zhí)行步驟(9),否則進(jìn)入步驟(5.5);(5. 5)如果存在RTu ^ ATmax,則從調(diào)度選擇表中淘汰掉該提供者,向該提供者發(fā)送更新消息,提供者將更新本節(jié)點中該事務(wù)的時間序列表中此時間點的占用標(biāo)識為未占用,返回執(zhí)行步驟(5. 2),否則直接進(jìn)入步驟(5. 6);(5.6)結(jié)束。
3.—種Web服務(wù)環(huán)境中基于時間期限的分布式事務(wù)處理系統(tǒng),其特征在于它包括服務(wù)器、事務(wù)協(xié)調(diào)器和多個Web服務(wù)提供者;服務(wù)器用于接收用戶通過瀏覽器提交的事務(wù)請求,事務(wù)請求包括事務(wù)標(biāo)識以及時間期限信息;并服務(wù)器生成事務(wù)協(xié)調(diào)器,并將該事務(wù)請求轉(zhuǎn)交給事務(wù)協(xié)調(diào)器處理;事務(wù)協(xié)調(diào)器根據(jù)該事務(wù)請求中的事務(wù)標(biāo)識查找出該事務(wù)的子事務(wù)列表,以及每個子事務(wù)、的Web服務(wù)提供者組成的列表,其中,子事務(wù)列表記為、、t2、……、tn,i表示子事務(wù)的序號,1≤i≤n, Web服務(wù)提供者列表記為pn、pi2、……、pim,每個Web服務(wù)提供者Pij為子事務(wù)、維護(hù)一個時間序列表;m表示子事務(wù)、的Web服務(wù)提供者的個數(shù);事務(wù)協(xié)調(diào)器向所有相關(guān)的Web服務(wù)提供者發(fā)送預(yù)調(diào)度請求;所有收到事務(wù)請求的提供者將更新本節(jié)點中該事務(wù)的時間序列表,并返回基本信息元組{ATij; HTij, URIijI信息給事務(wù)協(xié)調(diào)器,其中,ATu表示資源鎖時間,HTu表示在本節(jié)點執(zhí)行事務(wù)時占有資源鎖的期望時間,URIij表示該Web服務(wù)的調(diào)用地址;事務(wù)協(xié)調(diào)器根據(jù)提供者返回的基本信息元組,為每個子事務(wù)選擇出一個Web服務(wù)提供者;事務(wù)協(xié)調(diào)器向選擇出的Web服務(wù)提供者發(fā)送事務(wù)提交請求;各個參與事務(wù)的Web服務(wù)提供者接收到事務(wù)提交請求后,執(zhí)行事務(wù),并將事務(wù)執(zhí)行的結(jié)果發(fā)送到事務(wù)協(xié)調(diào)器;事務(wù)協(xié)調(diào)器將各個子事務(wù)的執(zhí)行結(jié)果返回給用戶。
全文摘要
本發(fā)明屬于Web服務(wù)技術(shù)下分布式事務(wù)技術(shù)領(lǐng)域,為一種Web服務(wù)環(huán)境中基于時間期限的分布式事務(wù)處理方法及系統(tǒng)。該方法基于用戶提交的期望事務(wù)最遲完成時間期限,對提交事務(wù)進(jìn)行子事務(wù)分析,選取出最有可能滿足用戶期限需求的Web服務(wù)提供者,達(dá)到提高Web服務(wù)環(huán)境下事務(wù)的可靠性與系統(tǒng)的并發(fā)事務(wù)吞吐性能的目的。目前Web服務(wù)下分布式事務(wù)處理方法未能考慮到實際環(huán)境中用戶對事務(wù)提交時間期限的需求,使得事務(wù)在并發(fā)執(zhí)行時由于超出客戶對最遲時間的需求而導(dǎo)致補償事務(wù)的發(fā)生幾率大大增加,而補償事務(wù)的代價往往是很大的。本發(fā)明對事務(wù)執(zhí)行節(jié)點進(jìn)行選擇與調(diào)度。能夠有效利用到整個Web服務(wù)環(huán)境中各節(jié)點的可用資源,更好地為Web服務(wù)環(huán)境下的分布式事務(wù)提供可靠性保證。
文檔編號G06F9/46GK102546752SQ20111039944
公開日2012年7月4日 申請日期2011年12月6日 優(yōu)先權(quán)日2011年12月6日
發(fā)明者岑文峰, 曹文治, 曹杰, 柯西江, 王希斌, 謝夏, 趙璐, 金海 申請人:華中科技大學(xué)