專利名稱:實(shí)現(xiàn)多實(shí)例線程序列化事務(wù)處理的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及操作系統(tǒng)、并行處理、業(yè)務(wù)支撐領(lǐng)域,并且更特別地,涉及一種SMP ( Symmetric Multiprocessor,對(duì)稱多處理才幾)體 系架構(gòu)下實(shí)現(xiàn)多實(shí)例線程序列化事務(wù)處理的方法。
背景技術(shù):
在SMP體系架構(gòu)中,為了能充分利用多核并行處理的優(yōu)勢(shì), 往往需要盡量將處理負(fù)荷較重的關(guān)鍵業(yè)務(wù)流程多實(shí)例化。但線程多 實(shí)例化后,又會(huì)引發(fā)許多問題,這需要——去解決,其中,在線程 多實(shí)例后序列化事務(wù)處理如何實(shí)現(xiàn)就是一個(gè)亟待解決的問題。在軟件系統(tǒng)中,通常有些線程(例如線程A)向別的線程(例 如線程B)發(fā)送消息,以觸發(fā)B完成某些功能。如附圖1所示,某 些業(yè)務(wù)可能包含了 一系列處理,并且這些處理應(yīng)該要保持序列化, 不能亂序,否則就會(huì)導(dǎo)致業(yè)務(wù)失敗。在單核體系中, 一種業(yè)務(wù)一般 都是由一個(gè)線程完成,因此,線程A可以連續(xù)向線程B發(fā)送一系列 消息,而線程B可以4呆證串4亍有序地處理這些消息,從而完成這個(gè) 業(yè)務(wù),因此序列化事務(wù)處理在單核體系中一般不存在問題。如果是 多才幾系統(tǒng),如在網(wǎng)絡(luò)上多個(gè)節(jié)點(diǎn)協(xié)同處理業(yè)務(wù),由于可能出現(xiàn)多徑 傳播消息,或者中間通訊節(jié)點(diǎn)處理消息的失序,因此就需要端到端 的加入應(yīng)答機(jī)制、序列號(hào)加緩存等技術(shù),以保證序列化事務(wù)的有序 處理。而在多核體系中,如附圖2所示,某些業(yè)務(wù)會(huì)由多實(shí)例線禾呈來(lái) 處理。假設(shè)線程B被多實(shí)例化了,則稱之為多實(shí)例線程族B。這時(shí) 線程A發(fā)起一個(gè)業(yè)務(wù),其后續(xù)處理需要線程B完成。因此線程A 向多實(shí)例線程族B發(fā)送了 一系列消息,這些消息被分發(fā)到線程族B 的多個(gè)實(shí)例上Bl...Bn,而這些線程實(shí)例可能會(huì)被操作系統(tǒng)調(diào)度到 不同的CPU上并行運(yùn)行,因此也就可能出現(xiàn)消息處理的失序,導(dǎo) 致業(yè)務(wù)的失敗。如果要在多核體系上采用應(yīng)答機(jī)制,則效率很低, 采用傳統(tǒng)的序列號(hào)加緩存技術(shù)則實(shí)際上無(wú)法應(yīng)用多實(shí)例線程并行 運(yùn)行的優(yōu)勢(shì),反而讓很多失序的多實(shí)例線程空轉(zhuǎn),造成操作系統(tǒng)的 調(diào)度'浪費(fèi)。因此,目前采用的技術(shù)方案中存在消息處理失序?qū)е碌臉I(yè)務(wù)失 敗的問題,另外,還存在操作系統(tǒng)調(diào)度浪費(fèi)的問題。發(fā)明內(nèi)容本發(fā)明的主要目的在于提供一種SMP體系架構(gòu)下實(shí)現(xiàn)多實(shí)例 線程序列化事務(wù)處理的才幾制。為了實(shí)現(xiàn)上述目的,4艮據(jù)本發(fā)明的實(shí)施例,4是供了一種實(shí)現(xiàn)多 實(shí)例線程序列化事務(wù)處理的方法。該方法包^r以下步驟第一步驟,業(yè)務(wù)線^E向多實(shí)例業(yè)務(wù)線程 族發(fā)起序列化事務(wù),其中,序列化事務(wù)包括有序的多個(gè)消息;第二 步驟,業(yè)務(wù)線程在多個(gè)消息上設(shè)置序列化事務(wù)ID號(hào)和序列化事務(wù) 狀態(tài)標(biāo)志;以及第三步驟,多實(shí)例業(yè)務(wù)線程族的代理函數(shù)檢測(cè)序列 化事務(wù)狀態(tài)標(biāo)志,并且根據(jù)所檢測(cè)的序列化事務(wù)狀態(tài)標(biāo)志來(lái)進(jìn)行序 列化事務(wù)映射表的相關(guān)操作。其中,序列化事務(wù)狀態(tài)標(biāo)志的取值包括開始、繼續(xù)、結(jié)束、 無(wú)效;第三步驟中,序列化事務(wù)映射表的相關(guān)操作包括創(chuàng)建序列化事務(wù)映射表、查找序列化事務(wù)映射表、刪除序列化事務(wù)映射記 錄。具體而言,在第二步驟中,業(yè)務(wù)線程在發(fā)送多個(gè)消息中的第一個(gè)消息時(shí),將序列化事務(wù)狀態(tài)標(biāo)志設(shè)置為開始;在發(fā)送多個(gè)消息中 的末尾消息時(shí),將序列化事務(wù)狀態(tài)標(biāo)志設(shè)置為結(jié)束;在發(fā)送多個(gè)消 息中的其他消息時(shí),將序列化事務(wù)狀態(tài)標(biāo)志設(shè)置為繼續(xù)。相應(yīng)地,在第三步驟中,當(dāng)多實(shí)例線程族的代理函數(shù)接收到第 一消息時(shí),檢測(cè)到序列化事務(wù)狀態(tài)標(biāo)志為開始,根據(jù)負(fù)載均衡算法, 分配給某個(gè)多實(shí)例線程來(lái)處理,并將第一消息發(fā)送給該多實(shí)例線 禾呈,同時(shí)才艮才居序列4匕事務(wù)ID號(hào)、業(yè)務(wù)線禾呈的編號(hào)、處理多實(shí)例線 程編號(hào)在序列化事務(wù)映射表中建立一條映射記錄。在多實(shí)例線程族 的代理函數(shù)接收到其他消息時(shí),檢測(cè)到序列化事務(wù)狀態(tài)標(biāo)志為繼 續(xù),根據(jù)序列化事務(wù)ID號(hào)和業(yè)務(wù)線程的編號(hào)來(lái)查找序列化事務(wù)映 射表,查找到上次處理的多實(shí)例線程編號(hào),并將其他消息發(fā)送給該 多實(shí)例線程。在多實(shí)例線程族的代理函數(shù)接收到末尾消息時(shí),檢測(cè) 到序列化事務(wù)狀態(tài)標(biāo)志為結(jié)束,查找序列化事務(wù)映射表,查找到多 實(shí)例線程,并將該消息發(fā)送給查詢到的多實(shí)例線程,然后從序列化 事務(wù)映射表中刪除該條序列4匕事務(wù)的映射i己錄。此外,該方法可以進(jìn)一步包4舌以下步驟第四步艱《,驅(qū)動(dòng)線程 向多實(shí)例線程族發(fā)起非序列化事務(wù),其中,非序列化事務(wù)包括無(wú)序 的多個(gè)消息;第五步驟,驅(qū)動(dòng)線程將多個(gè)消息的序列化事務(wù)ID號(hào) ,i殳置為缺省值,并將序列化事務(wù)狀態(tài)標(biāo)志i殳置為無(wú)效;第六步驟, 多實(shí)例線程族的代理函數(shù)檢測(cè)序列化事務(wù)狀態(tài)標(biāo)志,并根據(jù)負(fù)載均 衡算法來(lái)分配多個(gè)消息中的每個(gè)消息的處理線程。通過上述沖支術(shù)方案,本發(fā)明實(shí)現(xiàn)了以下有益效果應(yīng)用了多實(shí) 例線程并行運(yùn)行的優(yōu)勢(shì),提高了操作系統(tǒng)的調(diào)度利用率,并且不會(huì) 出現(xiàn)序列化事務(wù)的亂序處理,從而保證了業(yè)務(wù)的正確實(shí)現(xiàn)。
此處所i兌明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申 請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其"i兌明用于解釋本發(fā)明,并 不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1是傳統(tǒng)單核體系中,業(yè)務(wù)線程A向業(yè)務(wù)線程B發(fā)起一個(gè) 序列化事務(wù)處理的示意圖;圖2是多核體系中,未應(yīng)用本發(fā)明方法時(shí),業(yè)務(wù)線程A向多實(shí) 例線程族B發(fā)起一個(gè)序列化事務(wù)處理發(fā)生失序的情況的示意圖;圖3是示出根據(jù)本發(fā)明第一實(shí)施例的實(shí)現(xiàn)多實(shí)例線程序列化事 務(wù)處理的方法的流程圖;圖4是多核體系中,應(yīng)用本發(fā)明方法時(shí),業(yè)務(wù)線程A、業(yè)務(wù)線 程B向多實(shí)例線程族C發(fā)送序列化事務(wù)消息,同時(shí)業(yè)務(wù)線程H向 多實(shí)例線程族C發(fā)送了非序列化事務(wù)消息的示意圖;以及圖5是示出根據(jù)本發(fā)明的序列化事務(wù)映射表的示意圖。
具體實(shí)施方式
首先,簡(jiǎn)要說(shuō)明本發(fā)明的原理。本發(fā)明利用多實(shí)例線程族(即, 被多實(shí)例化了的線程)概念,采用多實(shí)例線程族主線程或者代理函 數(shù)的方式來(lái)隔離多實(shí)例化具體實(shí)現(xiàn),其他線程需要該多實(shí)例線程族 來(lái)完成序列4匕事務(wù)處理時(shí),在發(fā)送消息中帶上序列4匕事務(wù)ID編號(hào)以及序列化事務(wù)狀態(tài)標(biāo)志,而多實(shí)例線程族主線程或者代理函數(shù)將為該序列化事務(wù)ID建立一個(gè)序列化事務(wù)映射表記錄,保證后續(xù)序 列化事務(wù)消息都發(fā)送到同一個(gè)多實(shí)例線程來(lái)處理,以此來(lái)實(shí)現(xiàn)序列 化事務(wù)處理。多實(shí)例線程族可以通過多實(shí)例線程族主線程或者代理函數(shù)兩 種方式來(lái)實(shí)現(xiàn),由于主線程方式會(huì)帶來(lái)更多的調(diào)度開銷以及可能成 為新的串行瓶頸,因此本發(fā)明實(shí)施例主要4吏用代理函數(shù)實(shí)現(xiàn),為了 便于說(shuō)明,下文中提供的實(shí)施例中均以代理函數(shù)來(lái)描述。本發(fā)明實(shí)施例中主要涉及通訊函數(shù)和多實(shí)例線程族代理函數(shù)。 其中,通訊函H需要增加序列化事務(wù)ID編號(hào)和序列化事務(wù)狀態(tài) 標(biāo)志;多實(shí)例線程族代理函數(shù)在其處理流程中增加序列化事務(wù)標(biāo) 志識(shí)別以及序列化事務(wù)映射表的操作,并且改進(jìn)多實(shí)例處理線程的 分配方法。以下將參照附圖來(lái)詳細(xì)描述本發(fā)明的優(yōu)選實(shí)施例。 第一實(shí)施例在本實(shí)施例中,提供了一種實(shí)現(xiàn)多實(shí)例線程序列化事務(wù)處理的 方法。如圖3所示,該方法包4舌以下步驟步驟S302,業(yè)務(wù)線程向 多實(shí)例業(yè)務(wù)線程族發(fā)起序列化事務(wù),其中,序列化事務(wù)包括有序的 多個(gè)消息;步驟S304,業(yè)務(wù)線程在多個(gè)消息上設(shè)置序列化事務(wù)ID 號(hào)和序列化事務(wù)狀態(tài)標(biāo)志;步驟S306,多實(shí)例業(yè)務(wù)線程族的代理函 數(shù)檢測(cè)序列化事務(wù)狀態(tài)標(biāo)志,并且根據(jù)所檢測(cè)的序列化事務(wù)狀態(tài)標(biāo) 志來(lái)進(jìn)行序列化事務(wù)映射表的相關(guān)操作。其中,在步驟S304中,序列化事務(wù)ID號(hào)可以是整個(gè)系統(tǒng)全局 編號(hào),也可以由每個(gè)進(jìn)考呈或者線考呈獨(dú)立編號(hào),每個(gè)包含一系列有時(shí)序要求的處理的事務(wù)擁有一個(gè)序列4t事務(wù)ID。序列〗b事務(wù)狀態(tài)標(biāo)志 取^i范圍為開始、繼續(xù)、結(jié)束、無(wú)效。另夕卜,在步驟S306中,序列化事務(wù)映射表的相關(guān)操作包括 創(chuàng)建序列化事務(wù)映射表、查找序列化事務(wù)映射表、刪除序列化事務(wù) 映射記錄。。在步驟S304中,業(yè)務(wù)線程在發(fā)送多個(gè)消息中的第一個(gè)消息時(shí), 將序列化事務(wù)狀態(tài)標(biāo)志設(shè)置為開始(即,表示通知多實(shí)例線程族代 理函數(shù), 一個(gè)序列化事務(wù)開始了);在發(fā)送多個(gè)消息中的末尾消息 時(shí),將序列化事務(wù)狀態(tài)標(biāo)志設(shè)置為結(jié)束;在發(fā)送多個(gè)消息中的其他 消息時(shí),將序列化事務(wù)狀態(tài)標(biāo)志設(shè)置為繼續(xù)。相應(yīng)地,在步驟S306中,當(dāng)多實(shí)例線程族的代理函數(shù)接收到 第一消息時(shí),檢測(cè)到序列化事務(wù)狀態(tài)標(biāo)志為開始,根據(jù)負(fù)栽均衡算 法,分配給多實(shí)例線程來(lái)處理,并將第一消息發(fā)送給該多實(shí)例線程, 同時(shí)根據(jù)序列化事務(wù)ID號(hào)、業(yè)務(wù)線程的編號(hào)、處理多實(shí)例線程編 號(hào)在序列化事務(wù)映射表中建立一條映射記錄。此外,多實(shí)例線程族 創(chuàng)建序列化事務(wù)映射表,其中,序列化事務(wù)映射表包括序列化事 務(wù)ID號(hào)、業(yè)務(wù)線程的編號(hào)、以及多實(shí)例線程的編號(hào)。其中,圖5 示出了上述序列化事務(wù)映射表。另外,在步驟S306中,當(dāng)多實(shí)例線程族的代理函數(shù)接收到其 他消息時(shí),檢測(cè)到序列化事務(wù)狀態(tài)標(biāo)志為繼續(xù),根據(jù)序列化事務(wù)ID 號(hào)和業(yè)務(wù)線程的編號(hào)來(lái)查找序列化事務(wù)映射表,查找到上次處理的 多實(shí)例線程編號(hào),并將其他消息發(fā)送給該多實(shí)例線程;當(dāng)多實(shí)例線 程族的代理函數(shù)接收到末尾消息時(shí),檢測(cè)到序列化事務(wù)狀態(tài)標(biāo)志為 結(jié)束,查找序列化事務(wù)映射表,查找到多實(shí)例線程,并將該消息發(fā) 送給查找到的多實(shí)例線程,然后從序列化事務(wù)映射表中刪除該條序 列化事務(wù)的映射記錄。另外,當(dāng)有業(yè)務(wù)線程向多實(shí)例線程族發(fā)送非序列化事務(wù)消息時(shí),該方法進(jìn)一步包4舌以下步驟步驟S308,驅(qū)動(dòng)線程向多實(shí)例線程族發(fā)起非序列化事務(wù),其中, 非序列化事務(wù)包括無(wú)序的多個(gè)消息;步驟S310,驅(qū)動(dòng)線程將多個(gè)消 息的序列化事務(wù)ID號(hào)設(shè)置為缺省值,并將序列化事務(wù)狀態(tài)標(biāo)志設(shè) 置為無(wú)效;步驟S312,多實(shí)例線程族的代理函數(shù)檢測(cè)序列化事務(wù)狀 態(tài)標(biāo)志,并根據(jù)負(fù)栽均衡算法來(lái)分配多個(gè)消息中的每個(gè)消息的處理 線程。值得注意的是,上述的步驟僅僅是示例性的,目的僅僅是便于 i兌明和提供對(duì)本發(fā)明的透徹理解,本發(fā)明的處理方式不限于此,而 是可以根據(jù)實(shí)踐的需要進(jìn)行各種改變。以下將結(jié)合具體實(shí)例來(lái)描述本實(shí)施例中才是供的方法。如圖4所示,首先,業(yè)務(wù)線程A向多實(shí)例業(yè)務(wù)線程族C發(fā)起 一個(gè)序列化事務(wù),包括有序的A、 B、 C、 D消息。業(yè)務(wù)線程A為 該序列化事務(wù)分配一個(gè)ID: 101,在發(fā)送第一個(gè)消息A時(shí),將序列 化事務(wù)狀態(tài)標(biāo)志置為開始。在發(fā)送B、 C消息時(shí),將序列化事務(wù)狀 態(tài)標(biāo)志置為繼續(xù),在發(fā)送D消息時(shí),將序列化事務(wù)狀態(tài)標(biāo)志置為結(jié) 束。這些消息都發(fā)送給多實(shí)例線程族C。多實(shí)例線程族C的代理函數(shù)將檢測(cè)消息中的序列化事務(wù)狀態(tài) 標(biāo)志當(dāng)收到消息A時(shí),其標(biāo)志值為開始,則根據(jù)負(fù)載均衡算法, 分配一個(gè)多實(shí)例線程C1來(lái)處理,將該消息發(fā)送給這個(gè)分配的線程 Cl,同時(shí)4吏用本次序列化事務(wù)ID號(hào)101、發(fā)送消息線程號(hào)A、接 收消息多實(shí)例線程號(hào)Cl,創(chuàng)建一個(gè)映射記錄(如圖5所示);多實(shí) 例線程族C的代理函數(shù)收到消息B時(shí),檢測(cè)其標(biāo)志值為繼續(xù),則不 再才艮據(jù)負(fù)載均衡算法來(lái)分配多實(shí)例線程,而是沖艮據(jù)發(fā)送線程號(hào)A、序列化事務(wù)ID號(hào)101去查找序列化事務(wù)映射表,找到以前分配的 多實(shí)例處理線程Cl,將本次消息發(fā)送給同一線程C1來(lái)處理;多實(shí) 例線程族C的代理函H收到消息C時(shí),處理方式同上;多實(shí)例線程 族C的代理函數(shù)收到消息D時(shí),檢測(cè)其標(biāo)志值為結(jié)束,則繼續(xù)查找 映射表,將本次消息發(fā)送給同一線程Cl來(lái)處理,然后從序列化事 務(wù)映射表中刪除該條記錄。業(yè)務(wù)線程B發(fā)送給業(yè)務(wù)線程C的序列化事務(wù)消息處理方式同上。驅(qū)動(dòng)線程H發(fā)送給多實(shí)例線程族C的非序列化事務(wù)消息0、P、 Q、 R,將不會(huì)分配序列化事務(wù)ID,缺省值為0,序列化事務(wù)狀態(tài) 標(biāo)志為無(wú)效。多實(shí)例線程族C的代理函數(shù)檢測(cè)到此標(biāo)志后,將根據(jù) 負(fù)載均4軒算法來(lái)分配每個(gè)消息的處理線程,這些消息將得到并行處 理。以上所述4義為本發(fā)明的伊二選實(shí)施例而已,并不用于限制本發(fā) 明,對(duì)于本領(lǐng)域的4支術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。 凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn) 等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1. 一種實(shí)現(xiàn)多實(shí)例線程序列化事務(wù)處理的方法,其特征在于,包括以下步驟第一步驟,業(yè)務(wù)線程向多實(shí)例業(yè)務(wù)線程族發(fā)起序列化事務(wù),其中,所述序列化事務(wù)包括有序的多個(gè)消息;第二步驟,所述業(yè)務(wù)線程在所述多個(gè)消息上設(shè)置序列化事務(wù)ID號(hào)和序列化事務(wù)狀態(tài)標(biāo)志;以及第三步驟,所述多實(shí)例業(yè)務(wù)線程族的代理函數(shù)檢測(cè)所述序列化事務(wù)狀態(tài)標(biāo)志,并且根據(jù)所檢測(cè)的序列化事務(wù)狀態(tài)標(biāo)志來(lái)進(jìn)行序列化事務(wù)映射表的相關(guān)操作。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述序列化事務(wù)狀 態(tài)標(biāo)志的取值包括開始、繼續(xù)、結(jié)束、無(wú)效。
3. 根據(jù)權(quán)利要求2所述方法,其特征在于,在所述第三步驟中, 所述序列化事務(wù)映射表的相關(guān)操作包括創(chuàng)建序列化事務(wù)映射 表、查找序列化事務(wù)映射表、刪除序列化事務(wù)映射表記錄。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述第二步驟中, 所述業(yè)務(wù)線程在發(fā)送所述多個(gè)消息中的第一個(gè)消息時(shí),將所述 序列化事務(wù)狀態(tài)標(biāo)志設(shè)置為開始;在發(fā)送所述多個(gè)消息中的末 尾消息時(shí),將所述序列化事務(wù)狀態(tài)標(biāo)志設(shè)置為結(jié)束;在發(fā)送所 述多個(gè)消息中的其他消息時(shí),將所述序列化事務(wù)狀態(tài)標(biāo)志設(shè)置 為繼續(xù)。
5. 才艮據(jù)權(quán)利要求4所述的方法,其特征在于,在所述第三步驟中, 當(dāng)所述多實(shí)例線程族的所述代理函數(shù)接收到所述第一消息時(shí),沖企測(cè)到所述序列ib事務(wù)狀態(tài)標(biāo)志為開始,沖艮才居負(fù)載均4軒算法, 分配多實(shí)例線程,并將所述第一消息發(fā)送給所述多實(shí)例線程。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述多實(shí)例線程族 創(chuàng)建序列化事務(wù)映射表,其中,所述序列化事務(wù)映射表包括 所述序列化事務(wù)ID號(hào)、所述業(yè)務(wù)線程的編號(hào)、以及所述多實(shí) 例線^E的編號(hào)。
7. 根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述多實(shí)例線程 族的代理函數(shù)接收到所述其他消息時(shí),檢測(cè)到所述序列化事務(wù) 狀態(tài)標(biāo)志為繼續(xù),才艮據(jù)所述序列化事務(wù)ID號(hào)和所述業(yè)務(wù)線程 的編號(hào)來(lái)查找所述序列化事務(wù)映射表,查找到所述多實(shí)例線 程,并將所述其他消息發(fā)送給所述多實(shí)例線程。
8. 根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述多實(shí)例線程 族的代理函數(shù)接收到所述末尾消息時(shí),檢測(cè)到所述序列化事務(wù) 狀態(tài)標(biāo)志為結(jié)束,查找所述序列化事務(wù)映射表,查找到所述多 實(shí)例線程,并將所述其他消息發(fā)送給所述多實(shí)例線程,然后從 所述序列化事務(wù)映射表中刪除所述序列化事務(wù)的映射記錄。
9. 根據(jù)權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括以下步 驟第四步驟,驅(qū)動(dòng)線程向多實(shí)例線程族發(fā)起非序列化事務(wù), 其中,所述非序列化事務(wù)包括無(wú)序的多個(gè)消息;第五步驟,所述驅(qū)動(dòng)線程將所述多個(gè)消息的序列化事務(wù) ID號(hào)設(shè)置為缺省值,并將序列化事務(wù)狀態(tài)標(biāo)志設(shè)置為無(wú)效;第六步驟,所述多實(shí)例線程族的代理函數(shù);險(xiǎn)測(cè)所述序列化事務(wù)狀態(tài)標(biāo)志,并根據(jù)負(fù)栽均衡算法來(lái)分配所述多個(gè)消息中 的每個(gè)消息的處理線程。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)多實(shí)例線程序列化事務(wù)處理的方法,包括以下步驟步驟S302,業(yè)務(wù)線程向多實(shí)例業(yè)務(wù)線程族發(fā)起序列化事務(wù),其中,序列化事務(wù)包括有序的多個(gè)消息;步驟S304,業(yè)務(wù)線程在多個(gè)消息上設(shè)置序列化事務(wù)ID號(hào)和序列化事務(wù)狀態(tài)標(biāo)志;步驟S306,多實(shí)例業(yè)務(wù)線程族的代理函數(shù)檢測(cè)序列化事務(wù)狀態(tài)標(biāo)志,并且根據(jù)所檢測(cè)的序列化事務(wù)狀態(tài)標(biāo)志來(lái)進(jìn)行序列化事務(wù)映射表的相關(guān)操作。通過本發(fā)明的技術(shù)方法,實(shí)現(xiàn)了以下有益效果應(yīng)用了多實(shí)例線程并行運(yùn)行的優(yōu)勢(shì),提高了操作系統(tǒng)的調(diào)度利用率,并且不會(huì)出現(xiàn)序列化事務(wù)的亂序處理,從而保證了業(yè)務(wù)的正確實(shí)現(xiàn)。
文檔編號(hào)G06F9/46GK101216779SQ20071000050
公開日2008年7月9日 申請(qǐng)日期2007年1月5日 優(yōu)先權(quán)日2007年1月5日
發(fā)明者朱佐亮, 翌 李, 蔣鯤鵬, 謝世波, 鐘衛(wèi)東 申請(qǐng)人:中興通訊股份有限公司