国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

鐵路客票系統(tǒng)中基于Paxos算法的數(shù)據(jù)一致性模型研究

2012-08-06 09:37王紅愛(ài)祝紅光賈新茹
關(guān)鍵詞:客票一致性服務(wù)器

王紅愛(ài),祝紅光,賈新茹

(中國(guó)鐵道科學(xué)研究院電子計(jì)算技術(shù)研究所,100081)

鐵路客票發(fā)送和預(yù)定系統(tǒng)(簡(jiǎn)稱客票系統(tǒng))自1996年應(yīng)用以來(lái),已經(jīng)建成了鐵道部、地區(qū)中心、車站三級(jí)分布式結(jié)構(gòu)。系統(tǒng)擁有以市場(chǎng)需求為導(dǎo)向的客票銷售體系,滿足旅客的不同需求。本系統(tǒng)每日與海量數(shù)據(jù)進(jìn)行交互,這些數(shù)據(jù)是客票系統(tǒng)發(fā)展的基礎(chǔ),從應(yīng)用的角度來(lái)說(shuō),分為基礎(chǔ)數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)?;A(chǔ)數(shù)據(jù)一般包括站名字典、線路字典、票價(jià)基礎(chǔ)價(jià)率等相對(duì)穩(wěn)定的數(shù)據(jù),由鐵道部全表復(fù)制到各中心和各車站,而業(yè)務(wù)數(shù)據(jù)一般包括存根、席位、財(cái)收等動(dòng)態(tài)數(shù)據(jù),根據(jù)統(tǒng)計(jì)的要求由車站級(jí)或中心級(jí)向上級(jí)單位逐級(jí)傳輸?;A(chǔ)數(shù)據(jù)的一致性要求非常強(qiáng),需要嚴(yán)格一致,關(guān)鍵數(shù)據(jù)的丟失會(huì)影響售票業(yè)務(wù)的正常進(jìn)行。而業(yè)務(wù)數(shù)據(jù)的丟失會(huì)造成鐵路局、鐵道部報(bào)表的統(tǒng)計(jì)數(shù)據(jù)不完整,對(duì)分析運(yùn)營(yíng)結(jié)果和制定運(yùn)營(yíng)策略產(chǎn)生不利影響。云計(jì)算的Paxos算法可以解決分布式系統(tǒng)中的一致性問(wèn)題。本文分析了客票系統(tǒng)的數(shù)據(jù)架構(gòu),介紹了目前客票系統(tǒng)保證數(shù)據(jù)一致性的技術(shù),建立了基于Paxos算法的數(shù)據(jù)一致性模型,可以有效解決客票系統(tǒng)數(shù)據(jù)的一致性和完整性問(wèn)題。

1 Paxos算法介紹

Paxos算法[1~2]是由Leslie Lamport最先提出的一種基于消息傳遞(Messages Passing)的一致性算法。用來(lái)解決一個(gè)分布式系統(tǒng)如何就某個(gè)值(決議)達(dá)成一致的問(wèn)題。

一個(gè)典型的場(chǎng)景是,在一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng)中,如果各節(jié)點(diǎn)的初始狀態(tài)一致,每個(gè)節(jié)點(diǎn)都執(zhí)行相同的操作序列,那么他們最后能得到一個(gè)一致的狀態(tài)。在該算法中規(guī)定了3種角色(proposers,acceptors,和 learners)和2個(gè)階段(accept和learn)。其中proposers 提出決議,acceptors批準(zhǔn)決議,learners獲取并使用已經(jīng)通過(guò)的決議。在這種情況下,滿足以下3個(gè)條件[3]就可以保證數(shù)據(jù)的一致性:

(1)決議只有在被 proposers 提出以后才能批準(zhǔn)。

(2)每次只批準(zhǔn)一個(gè)決議。

(3)只有決議確定被批準(zhǔn)后learners才能獲取這個(gè)決議。

圖1為Paxos算法的模型簡(jiǎn)圖。

圖1 Paxos算法的模型簡(jiǎn)圖

Paxos算法實(shí)現(xiàn)時(shí)proposer向acceptors組發(fā)起請(qǐng)求告知需批準(zhǔn)的編號(hào)n,獲取acceptors多數(shù)派最新一次批準(zhǔn)的最大編號(hào)m,如果此次提案編號(hào)n大于m,則acceptors根據(jù)收到的請(qǐng)求承諾不再批復(fù)編號(hào)小于n的提案,在收到該提案時(shí)即批準(zhǔn)該請(qǐng)求,此時(shí)learner才能獲取該提案。

2 數(shù)據(jù)復(fù)制與傳輸管理

數(shù)據(jù)復(fù)制(replication)和傳輸管理(DBCS)是客票分布式數(shù)據(jù)系統(tǒng)的2種技術(shù)手段。客票系統(tǒng)利用Sybase的復(fù)制服務(wù)器將數(shù)據(jù)從主站點(diǎn)復(fù)制到其他站點(diǎn),通過(guò)在主點(diǎn)建立數(shù)據(jù)復(fù)制定義,在復(fù)制點(diǎn)建立復(fù)制約定,自動(dòng)地把對(duì)主點(diǎn)數(shù)據(jù)的操作通過(guò)復(fù)制機(jī)制作用到復(fù)制點(diǎn)數(shù)據(jù)上。數(shù)據(jù)傳輸管理主要完成分布式數(shù)據(jù)庫(kù)之間數(shù)據(jù)的相互透明傳送,從而在分布式數(shù)據(jù)庫(kù)之間實(shí)現(xiàn)數(shù)據(jù)的一致性和完整性,屬于松散一致性的數(shù)據(jù)耦合機(jī)制。

2.1 數(shù)據(jù)復(fù)制

客票系統(tǒng)利用的復(fù)制服務(wù)器來(lái)完成復(fù)制功能。復(fù)制數(shù)據(jù)會(huì)在整個(gè)系統(tǒng)中有多份數(shù)據(jù)影像,分為緊密一致性和松散一致性兩種方式,緊密一致性需要相關(guān)的復(fù)制節(jié)點(diǎn)都做好了提交準(zhǔn)備才去提交,而松散一致性對(duì)于事物的執(zhí)行主點(diǎn)和復(fù)制點(diǎn)總是會(huì)有延遲。數(shù)據(jù)復(fù)制具有以下優(yōu)點(diǎn):

(1)高可用性

如果有一個(gè)節(jié)點(diǎn)出錯(cuò),其他節(jié)點(diǎn)可以接管它的工作,不會(huì)使整個(gè)系統(tǒng)停止工作。

(2)提高系統(tǒng)的擴(kuò)展能力

通過(guò)把負(fù)載分布到多個(gè)節(jié)點(diǎn)上,或者增加節(jié)點(diǎn)來(lái)提高系統(tǒng)的擴(kuò)展能力。

(3)高性能

復(fù)制服務(wù)器提供一種機(jī)制,復(fù)制系統(tǒng)是獨(dú)立的,不會(huì)給各節(jié)點(diǎn)服務(wù)器造成負(fù)擔(dān)。同時(shí)客戶端可以訪問(wèn)就近的節(jié)點(diǎn),提高了用戶訪問(wèn)速度。

2.2 數(shù)據(jù)傳輸

客票系統(tǒng)擁有自主開(kāi)發(fā)的傳輸中間件(DBCS),主要根據(jù)用戶定制,從源節(jié)點(diǎn)數(shù)據(jù)庫(kù)按照一定的規(guī)則導(dǎo)出數(shù)據(jù),傳輸?shù)侥康墓?jié)點(diǎn)服務(wù)器,再按照導(dǎo)入定義將文件導(dǎo)入到相應(yīng)的數(shù)據(jù)庫(kù)中,完成日常數(shù)據(jù)在各節(jié)點(diǎn)之間的傳送。包括原始業(yè)務(wù)數(shù)據(jù)向上級(jí)節(jié)點(diǎn)傳輸,同級(jí)節(jié)點(diǎn)之間的傳輸,消息類數(shù)據(jù)向下級(jí)節(jié)點(diǎn)傳輸?shù)葓?chǎng)景。

3 客票系統(tǒng)客戶端與服務(wù)端架構(gòu)

圖2 客票系統(tǒng)客戶端與服務(wù)器端的結(jié)構(gòu)圖

如圖2,以售票為例,當(dāng)客戶端要完成售票業(yè)務(wù),需要分別向車站、鐵路局、鐵道部各級(jí)不同數(shù)據(jù)庫(kù)發(fā)出指令,由于網(wǎng)絡(luò)等原因,如果各服務(wù)器基礎(chǔ)數(shù)據(jù)或者業(yè)務(wù)類數(shù)據(jù)不一致,可能會(huì)造成業(yè)務(wù)停滯,或者產(chǎn)生錯(cuò)誤的結(jié)果,比如改點(diǎn)調(diào)令沒(méi)有復(fù)制到車站,會(huì)造成票面開(kāi)車時(shí)間不正確,導(dǎo)致旅客漏乘列車。為了使全路客票發(fā)售系統(tǒng)能夠正常運(yùn)營(yíng),數(shù)據(jù)的一致性尤顯重要。在分布式系統(tǒng)中Paxos算法最大的用途就是保持多個(gè)節(jié)點(diǎn)數(shù)據(jù)的一致性。

客票系統(tǒng)是一個(gè)龐大的信息系統(tǒng),根據(jù)業(yè)務(wù)的不同,有些需要采用分布式提交,提交意味著所有的操作均已完成。放棄意味著存在無(wú)法順利完成的操作,需要放棄,那些已執(zhí)行的操作也將撤銷,系統(tǒng)回滾到本次提交之前的狀態(tài),即必須保證提交的原子性,這是保證數(shù)據(jù)一致性的重要前提。

4 基于Paxos算法的數(shù)據(jù)一致性模型

數(shù)據(jù)一致性模型從根本上來(lái)說(shuō)是對(duì)任務(wù)和數(shù)據(jù)存儲(chǔ)之間的控制。正常情況下,執(zhí)行讀操作時(shí),它期待該操作返回的是該數(shù)據(jù)在其最后一次寫(xiě)操作之后的結(jié)果。為了保證業(yè)務(wù)正常、正確地進(jìn)行,需使所有服務(wù)器端的基礎(chǔ)數(shù)據(jù)最終一致。對(duì)于基礎(chǔ)數(shù)據(jù),由鐵道部向下級(jí)服務(wù)器逐級(jí)復(fù)制;對(duì)于業(yè)務(wù)數(shù)據(jù),由車站向上級(jí)服務(wù)器逐級(jí)傳輸。本文基于Paxos算法提出了加強(qiáng)數(shù)據(jù)一致性的方案。

圖3為基于Paxos算法的數(shù)據(jù)一致性模型,處理流程如下:

(1)基礎(chǔ)數(shù)據(jù)按照由上向下的復(fù)制機(jī)制,業(yè)務(wù)數(shù)據(jù)按照由下向上或同級(jí)間的傳輸機(jī)制。

(2)業(yè)務(wù)維護(hù)時(shí),會(huì)在同步控制器存儲(chǔ)本次更新的記錄(編碼n,更新值newvalue),其中value值可以是表名加索引值,也可以是在業(yè)務(wù)維護(hù)時(shí)的校驗(yàn)值等。

(3)鐵道部、鐵路局、車站各級(jí)數(shù)據(jù)庫(kù)服務(wù)器作為節(jié)點(diǎn)集,通過(guò)Paxos算法推選出主節(jié)點(diǎn)。

(4)同步控制器(客戶端或工作流進(jìn)程)將本次更新的記錄(編碼n,更新值newvalue)向主節(jié)點(diǎn)發(fā)起更新申請(qǐng)。

(5)主節(jié)點(diǎn)比較最新一次更新的記錄(編碼m,更新值value),以下情況的更新是成功的:

value = newvalue,且m

value < > newvalue

(6)如果更新成功,說(shuō)明新數(shù)據(jù)在某些節(jié)點(diǎn)不一致,發(fā)送消息給管理端,啟動(dòng)快照機(jī)制或者重新復(fù)制等手段保證最終數(shù)據(jù)的一致性。

圖3 基于paxos算法的數(shù)據(jù)一致性模型

5 結(jié)束語(yǔ)

鐵路客票系統(tǒng)的業(yè)務(wù)在不斷擴(kuò)展,為給旅客提供方便快捷的服務(wù),客票系統(tǒng)對(duì)業(yè)務(wù)連續(xù)性提出了更高要求,因此數(shù)據(jù)的一致性和完整性尤顯重要。在云計(jì)算飛速發(fā)展的今天,其中的關(guān)鍵技術(shù)也被各個(gè)行業(yè)吸納,本文首先對(duì)其中的Paxos算法進(jìn)行了研究,建立了基于Paxos算法的數(shù)據(jù)一致性模型,該模型可以解決鐵路客票系統(tǒng)中數(shù)據(jù)的一致性和完整性問(wèn)題,進(jìn)一步提高客票系統(tǒng)的業(yè)務(wù)質(zhì)量。

[1] LAMPORT, L. Paxos made simple[J] . ACM SIGACT News 32, 4 (2001): 18-25.

[2] LAMPORT, L. The part-time parliament[J] . ACM TOCS 16, 2 (1998): 133-169.

[3] 趙黎斌. 面向云存儲(chǔ)的分布式文件系統(tǒng)關(guān)鍵技術(shù)研究[D] .西安:西安電子科技大學(xué), 2011.

猜你喜歡
客票一致性服務(wù)器
關(guān)注減污降碳協(xié)同的一致性和整體性
注重教、學(xué)、評(píng)一致性 提高一輪復(fù)習(xí)效率
IOl-master 700和Pentacam測(cè)量Kappa角一致性分析
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
中國(guó)鐵路客票在跨境客運(yùn)中的互通方案
PowerTCP Server Tool
得形忘意的服務(wù)器標(biāo)準(zhǔn)
計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
航空公司客票直銷的現(xiàn)狀與分析
基于事件觸發(fā)的多智能體輸入飽和一致性控制