白明宇
(遼寧交通高等專(zhuān)科學(xué)校,遼寧 沈陽(yáng) 110122)
移動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)一致性維護(hù)策略探究
白明宇
(遼寧交通高等專(zhuān)科學(xué)校,遼寧 沈陽(yáng) 110122)
移動(dòng)數(shù)據(jù)庫(kù)是架設(shè)在移動(dòng)計(jì)算環(huán)境下的一種數(shù)據(jù)庫(kù)類(lèi)型,在移動(dòng)計(jì)算環(huán)境的支持下,人們可以通過(guò)各種移動(dòng)應(yīng)用,隨時(shí)隨地訪(fǎng)問(wèn)移動(dòng)數(shù)據(jù)庫(kù)中的各種數(shù)據(jù),以實(shí)現(xiàn)不同環(huán)境下的數(shù)據(jù)需求。而移動(dòng)數(shù)據(jù)庫(kù)的維護(hù)工作中,對(duì)數(shù)據(jù)對(duì)象的一致性維護(hù),是最重要的移動(dòng)事務(wù)之一。文章從對(duì)移動(dòng)數(shù)據(jù)庫(kù)的分析入手,探究如何通過(guò)移動(dòng)事務(wù)處理技術(shù)來(lái)維護(hù)移動(dòng)數(shù)據(jù)庫(kù)中數(shù)據(jù)對(duì)象的一致性。
數(shù)據(jù);移動(dòng)數(shù)據(jù)庫(kù);移動(dòng)計(jì)算環(huán)境;移動(dòng)事務(wù)
在數(shù)據(jù)庫(kù)研究領(lǐng)域,一般將移動(dòng)數(shù)據(jù)庫(kù)看作是分布式數(shù)據(jù)庫(kù)的衍生產(chǎn)品,是在分布式數(shù)據(jù)庫(kù)的基礎(chǔ)上發(fā)展而來(lái)的。移動(dòng)數(shù)據(jù)庫(kù)和分布式數(shù)據(jù)庫(kù)在特點(diǎn)上有很多相似的地方,移動(dòng)數(shù)據(jù)庫(kù)的發(fā)展,是對(duì)分布式數(shù)據(jù)庫(kù)的一種推廣應(yīng)用,而分布式數(shù)據(jù)庫(kù),則是一種特殊的移動(dòng)數(shù)據(jù)庫(kù)。與分布式計(jì)算環(huán)境不同的是,移動(dòng)計(jì)算環(huán)境中,不再假設(shè)各個(gè)計(jì)算節(jié)點(diǎn)之間通過(guò)固定的網(wǎng)絡(luò)進(jìn)行連接,不再需要保持網(wǎng)絡(luò)的持續(xù)連續(xù)性。移動(dòng)計(jì)算系統(tǒng)的特點(diǎn)是,摒棄了固定的網(wǎng)絡(luò)連接,用戶(hù)不再需要停留在固定的計(jì)算節(jié)點(diǎn)上,整個(gè)計(jì)算系統(tǒng)是由多個(gè)固定節(jié)點(diǎn)和移動(dòng)節(jié)點(diǎn)組成,用戶(hù)計(jì)算機(jī)可以出現(xiàn)在任何需要的地方,并隨時(shí)處在移動(dòng)中,用戶(hù)計(jì)算機(jī)通過(guò)通信網(wǎng)絡(luò)保持和固定節(jié)點(diǎn)或者其他移動(dòng)節(jié)點(diǎn)之間的連接,這可以讓用戶(hù)在任何需要的地點(diǎn)和時(shí)間訪(fǎng)問(wèn)移動(dòng)數(shù)據(jù)庫(kù)。
在移動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)中,固定網(wǎng)絡(luò)同兩種節(jié)點(diǎn)之間建立連接,一種是傳統(tǒng)的固定節(jié)點(diǎn)(FH),而另一種節(jié)點(diǎn),則加裝了無(wú)限通訊接口,它是移動(dòng)數(shù)據(jù)系統(tǒng)實(shí)現(xiàn)的根本,也就是支持無(wú)線(xiàn)網(wǎng)絡(luò)單元的移動(dòng)節(jié)點(diǎn)(MSS)。MSS和FH之間通過(guò)固定的高速網(wǎng)絡(luò)實(shí)現(xiàn)連接,保證了通訊的流暢,而MSS支持的每一個(gè)無(wú)線(xiàn)單元中,同時(shí)保有多個(gè)移動(dòng)計(jì)算機(jī),移動(dòng)計(jì)算機(jī)通過(guò)和MSS之間的連接,連接到FH上,最終實(shí)現(xiàn)和固定高速網(wǎng)絡(luò)的連接。移動(dòng)計(jì)算機(jī)在移動(dòng)情況下仍能夠?qū)崿F(xiàn)數(shù)據(jù)連接的基礎(chǔ),就是通過(guò)任意MSS都可以連接到固定高速網(wǎng)絡(luò),而且在無(wú)線(xiàn)單元之中進(jìn)行移動(dòng),或者是無(wú)線(xiàn)單元之間進(jìn)行切換時(shí),數(shù)據(jù)連接不會(huì)被切斷。
數(shù)據(jù)庫(kù)實(shí)現(xiàn)訪(fǎng)問(wèn)功能的根本,就是事務(wù)處理技術(shù),而事務(wù)處理技術(shù)的基本功能,就是維護(hù)數(shù)據(jù)的一致性,在多個(gè)用戶(hù)同時(shí)訪(fǎng)問(wèn)的情況下,用戶(hù)仍然能夠及時(shí)準(zhǔn)確地獲取到所需要的信息。在移動(dòng)計(jì)算環(huán)境下,移動(dòng)計(jì)算機(jī)發(fā)起的數(shù)據(jù)訪(fǎng)問(wèn)被稱(chēng)作為移動(dòng)事務(wù),移動(dòng)事務(wù)具備分布事務(wù)的處理特點(diǎn),一部分計(jì)算工作在移動(dòng)計(jì)算機(jī)內(nèi)完成,而另外一部分,則需要傳輸?shù)焦潭ü?jié)點(diǎn)后,再進(jìn)行計(jì)算。每一個(gè)移動(dòng)事務(wù)都可以分解成多個(gè)子事務(wù),而每一個(gè)子事務(wù),也都是一個(gè)獨(dú)立存在的移動(dòng)事務(wù),這些子事務(wù)都可以進(jìn)行獨(dú)立計(jì)算,并完成一些讀寫(xiě)操作,但是每個(gè)子事務(wù)之間存在著偏序關(guān)系,對(duì)同一組數(shù)據(jù)進(jìn)行操作時(shí),必須遵循嚴(yán)格的先后關(guān)系。由于移動(dòng)計(jì)算機(jī)在移動(dòng)中需要在不同的無(wú)線(xiàn)單元之間進(jìn)行切換,所以移動(dòng)計(jì)算機(jī)正在操作的移動(dòng)事務(wù),也會(huì)隨之轉(zhuǎn)移到新的無(wú)線(xiàn)單元中,正在操作的事務(wù)狀態(tài),各個(gè)數(shù)據(jù)運(yùn)算的結(jié)果和情況,以及移動(dòng)計(jì)算機(jī)的位置信息,都會(huì)跟隨轉(zhuǎn)移,同時(shí)在新的無(wú)線(xiàn)單元還要完成沒(méi)有完成的計(jì)算,這就要求必須保證數(shù)據(jù)的一致性,計(jì)算結(jié)果才能保證準(zhǔn)確。移動(dòng)事務(wù)的移動(dòng)屬性注定它要比一般事務(wù)更加復(fù)雜,這種移動(dòng)屬性就決定了移動(dòng)事務(wù)有各種被中斷的可能,所以必須采取相應(yīng)的措施,針對(duì)這個(gè)問(wèn)題,有兩種不同的處理方案:一種是針對(duì)不需要再和用戶(hù)計(jì)算機(jī)進(jìn)行交互的事務(wù),這樣可以將事務(wù)上傳到固定節(jié)點(diǎn),或者其他非移動(dòng)計(jì)算機(jī)上進(jìn)行處理,處理完成后再將結(jié)果返回給用戶(hù)。另一種是針對(duì)仍需要和用戶(hù)進(jìn)行交互的事務(wù),處理方案是,將需要用到的數(shù)據(jù),在斷開(kāi)連接之前下載到用戶(hù)達(dá)的移動(dòng)計(jì)算機(jī)上,在用戶(hù)的移動(dòng)計(jì)算機(jī)上完成處理,在移動(dòng)計(jì)算機(jī)斷開(kāi)連接之前,比如到達(dá)無(wú)線(xiàn)單元的邊緣之前,向移動(dòng)數(shù)據(jù)庫(kù)發(fā)送終止數(shù)據(jù)協(xié)議,來(lái)告知數(shù)據(jù)庫(kù)移動(dòng)計(jì)算機(jī)的正常退出,這樣,數(shù)據(jù)庫(kù)就可以免于處理因移動(dòng)計(jì)算機(jī)斷開(kāi)連接而引發(fā)的故障。
移動(dòng)數(shù)據(jù)庫(kù)的運(yùn)作,必須要有移動(dòng)事務(wù)處理技術(shù)的支持,因此,非常有必要建立對(duì)應(yīng)的移動(dòng)數(shù)據(jù)處理模型,來(lái)維護(hù)數(shù)據(jù)的一致性,根據(jù)數(shù)據(jù)一致性的不同類(lèi)型,移動(dòng)事務(wù)處理模型又可以分為三種:嚴(yán)格一致性事務(wù)處理模型、弱一致性事務(wù)處理模型和可變一致性事務(wù)處理模型。目前的移動(dòng)計(jì)算系統(tǒng)中,為了維持?jǐn)?shù)據(jù)較高的處理效率,并且可用多個(gè)用戶(hù)同時(shí)、重復(fù)使用,雖采用的大多是弱一致性處理模型??勺円恢滦允聞?wù)處理模型目前的應(yīng)用較少,這需要事務(wù)自身的是影響較強(qiáng),容錯(cuò)范圍較大,但是可變一致性事務(wù)處理模型,可以在最大程度上保證數(shù)據(jù)的可用性,并且提高事務(wù)處理的效率。
前文已經(jīng)提到,研究移動(dòng)事務(wù)處理技術(shù)的根本,就是為了維護(hù)移動(dòng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)一致性。移動(dòng)數(shù)據(jù)庫(kù)建設(shè)的核心,就是滿(mǎn)足移動(dòng)計(jì)算機(jī)用戶(hù)隨時(shí)隨地訪(fǎng)問(wèn)數(shù)據(jù)的需求,如果訪(fǎng)問(wèn)的數(shù)據(jù)不準(zhǔn)確、不一致,那訪(fǎng)問(wèn)也是沒(méi)有意義的。不同服務(wù)器之間數(shù)據(jù)的一致性,是實(shí)現(xiàn)移動(dòng)數(shù)據(jù)操作的基礎(chǔ),維護(hù)數(shù)據(jù)的一致性,可以提高整個(gè)移動(dòng)數(shù)據(jù)系統(tǒng)的效率,是移動(dòng)計(jì)算機(jī)用戶(hù)在斷開(kāi)連接的情況下仍舊可以操作數(shù)據(jù)庫(kù)。為了滿(mǎn)足上述的這些使用需求,復(fù)制和緩存技術(shù)是必不可少的,這是很多數(shù)據(jù)庫(kù)的選擇,而且數(shù)據(jù)廣播技術(shù)的應(yīng)用,還大大提高了數(shù)據(jù)系統(tǒng)的并行度。復(fù)制技術(shù),指的是在不同的服務(wù)器之間進(jìn)行數(shù)據(jù)同步操作,將存在于某一臺(tái)服務(wù)器上的數(shù)據(jù)進(jìn)行復(fù)制,并且分發(fā)給各個(gè)數(shù)據(jù)庫(kù),這樣做的目的是保證每一個(gè)服務(wù)器上的數(shù)據(jù)一致,移動(dòng)計(jì)算機(jī)在訪(fǎng)問(wèn)每一個(gè)服務(wù)器時(shí),進(jìn)行計(jì)算的結(jié)果都是一樣的。復(fù)制技術(shù)的存在,減少了一些不必要的遠(yuǎn)程查詢(xún)和讀取工作,減少了網(wǎng)絡(luò)開(kāi)銷(xiāo),并且在一定程度上提高了數(shù)據(jù)庫(kù)的可用性。
復(fù)制技術(shù)是維護(hù)數(shù)據(jù)一致性的關(guān)鍵技術(shù)之一,同時(shí)也是支持移動(dòng)計(jì)算機(jī)能夠在不連接數(shù)據(jù)網(wǎng)絡(luò)的情況下操作數(shù)據(jù)庫(kù)的關(guān)鍵技術(shù)。但是,移動(dòng)計(jì)算系統(tǒng)中的服務(wù)器數(shù)量非常龐大,如果所有服務(wù)器都進(jìn)行復(fù)制操作,其成本是不可想象的,而且盲目的復(fù)制很可能導(dǎo)致數(shù)據(jù)的不一致,解決這一問(wèn)題的關(guān)鍵,是兩級(jí)復(fù)制概念。在兩級(jí)復(fù)制中,第一級(jí)復(fù)制值得是服務(wù)器之間的數(shù)據(jù)復(fù)制,第二級(jí)復(fù)制指的是移動(dòng)節(jié)點(diǎn)上保存數(shù)據(jù)的復(fù)制。為了實(shí)現(xiàn)中斷數(shù)據(jù)連接后對(duì)數(shù)據(jù)庫(kù)的操作,Bayou系統(tǒng)采用了弱一致性復(fù)制原則,采用“讀取——所有——輸入——所有”的運(yùn)作方式和漸進(jìn)式的同步方法,使系統(tǒng)趨于一致,并且允許系統(tǒng)動(dòng)態(tài)地增加或者是減少?gòu)?fù)制節(jié)點(diǎn),同時(shí)優(yōu)化了不同復(fù)制服務(wù)器上新事務(wù)之間的沖突率。通過(guò)對(duì)復(fù)制機(jī)制的調(diào)整,減少服務(wù)器的開(kāi)銷(xiāo),同時(shí)保證移動(dòng)數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性。
建立在移動(dòng)計(jì)算環(huán)境下的移動(dòng)數(shù)據(jù)庫(kù),其宗旨就是為了滿(mǎn)足移動(dòng)用戶(hù)隨時(shí)隨地訪(fǎng)問(wèn)數(shù)據(jù),隨時(shí)隨地使用移動(dòng)應(yīng)用的需求,而移動(dòng)事務(wù)處理技術(shù),則是保障數(shù)據(jù)一致性的根本。所以,要保證移動(dòng)數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性,就要提高移動(dòng)事務(wù)的處理效率,通過(guò)復(fù)制和緩存技術(shù)的應(yīng)用,結(jié)合廣播技術(shù)將數(shù)據(jù)在各個(gè)服務(wù)器之間同步,保證用戶(hù)的有效讀取。
[1]林承軍,李石君.移動(dòng)數(shù)據(jù)庫(kù)中數(shù)據(jù)廣播與數(shù)據(jù)更新并發(fā)執(zhí)行的數(shù)據(jù)一致性維護(hù)[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(4):182-184.
Research on Data Consistency M aintenance Strategy in M obile Database System
BAI M ing-yu
(Liaoning Communication College,Shenyang,Liaoning 110122,China)
Mobile database is a kind of database type which is set up under the mobile computing environment.With the support of mobile computing environment,people can access various data in mobile database anytime and anywhere through various mobile applications to realize data requirements in different kinds of environment.In the maintenance of mobile databases,the maintenance of the consistency of data objects is one of the most important mobile transactions.This paper explores how to maintain the consistency of data objects in mobile databases by moving transaction processing from the analysis of mobile databases.
data;mobile database;mobile computing environment;mobile transaction
TP311.13
A
2095-980X(2017)06-0103-02
2017-05-17
白明宇(1985-),男,遼寧沈陽(yáng)人,碩士,圖書(shū)館員,主要研究方向:情報(bào)科學(xué)。