亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Cap理論的系統(tǒng)設(shè)計(jì)

        2018-01-08 02:34:48于海水
        中國(guó)科技縱橫 2018年23期
        關(guān)鍵詞:系統(tǒng)設(shè)計(jì)模型

        于海水

        摘 要:本文,首先分析Cap理論概述,其次闡明Cap理論的內(nèi)涵與需求,再次探討基于Cap理論的系統(tǒng)設(shè)計(jì)定理與系統(tǒng)設(shè)計(jì)模型,旨在進(jìn)一步優(yōu)化系統(tǒng)設(shè)計(jì)水平,滿(mǎn)足聯(lián)網(wǎng)的計(jì)算機(jī)信息傳遞需求。

        關(guān)鍵詞:Cap理論;系統(tǒng)設(shè)計(jì);模型

        中圖分類(lèi)號(hào):TP393.08 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2018)23-0027-02

        Cap原則又稱(chēng)Cap定理,是指在同一個(gè)分布式系統(tǒng)中,一致性、可用性、分區(qū)容錯(cuò)性三者不可兼得。如今,隨著互聯(lián)網(wǎng)公司的全球化發(fā)展,Google、Amzon等開(kāi)始嘗試建立全球數(shù)據(jù)中心,部署服務(wù)。而為滿(mǎn)足可用性,Dynamo、PNUTS等系統(tǒng)都采用了復(fù)制技術(shù),這一技術(shù)的應(yīng)用引發(fā)了數(shù)據(jù)一致性問(wèn)題,且違背了Cap理論,現(xiàn)應(yīng)基于Cap理論進(jìn)行系統(tǒng)設(shè)計(jì),有效解決全球化數(shù)據(jù)中心服務(wù)問(wèn)題。

        1 Cap理論概述

        1.1 內(nèi)涵

        Cap理論內(nèi)涵是在網(wǎng)絡(luò)數(shù)據(jù)共享系統(tǒng)環(huán)境下其數(shù)據(jù)一致性、可用性、分區(qū)容忍性三要素不可兼得,只能同時(shí)滿(mǎn)足三要素中其中兩個(gè)。在Cap理論興起的十幾年里,很多研究者開(kāi)始嘗試以Cap理論為基礎(chǔ)探究分布式系統(tǒng)的設(shè)計(jì)問(wèn)題,甚至NoSQL運(yùn)動(dòng)在研究過(guò)程中也將Cap理論作為基礎(chǔ),用于探究對(duì)抗傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的設(shè)計(jì)問(wèn)題。

        Cap理論主張的觀點(diǎn)非常明確,詳細(xì)界定了同一個(gè)網(wǎng)絡(luò)數(shù)據(jù)共享系統(tǒng)不可兼得一致性、可用性、分區(qū)容錯(cuò)性,即最多能夠滿(mǎn)足下述條件中兩個(gè)。

        (1)數(shù)據(jù)一致性(C),可做到提供一份最新的數(shù)據(jù)副本,允許所有節(jié)點(diǎn)訪問(wèn)這一數(shù)據(jù)副本,使用數(shù)據(jù)副本;(2)可用性(A),能夠做到及時(shí)更新網(wǎng)絡(luò)數(shù)據(jù)共享系統(tǒng)中數(shù)據(jù),且當(dāng)某一部分節(jié)點(diǎn)發(fā)生故障問(wèn)題以后,系統(tǒng)集群仍可正常響應(yīng)客戶(hù)端讀寫(xiě)要求;(3)分區(qū)容錯(cuò)性(P),允許網(wǎng)絡(luò)分區(qū)。

        Cap理論的出現(xiàn)給設(shè)計(jì)師提供了很好的設(shè)計(jì)思路,很多設(shè)計(jì)師開(kāi)始以Cap理論為依據(jù),參照取舍方案,設(shè)計(jì)各種各樣的新系統(tǒng)。

        1.2 需求

        在分布式環(huán)境下,系統(tǒng)設(shè)計(jì)中的一致性、可用性、分區(qū)容錯(cuò)性三要素又可稱(chēng)為Cap需求。其中,Cap的一致性需求,是指當(dāng)分布式系統(tǒng)接收到某一數(shù)據(jù)操作指令時(shí),其系統(tǒng)中多個(gè)副本數(shù)據(jù)會(huì)保持一致,進(jìn)而成功完成多個(gè)副本中數(shù)據(jù)的增、減、刪操作指令。當(dāng)某一個(gè)副本的操作顯示失敗,那么將回到一致性操作前狀態(tài),重新展開(kāi)多個(gè)副本數(shù)據(jù)的增、減、改操作。在分布系統(tǒng)中,當(dāng)多個(gè)副本數(shù)據(jù)達(dá)到一致性以后,客戶(hù)在訪問(wèn)副本數(shù)據(jù)過(guò)程中將從中獲取到最新的數(shù)據(jù),不會(huì)呈現(xiàn)出不同客戶(hù)端讀取到不同數(shù)據(jù)的情況。例如,假設(shè)分布式環(huán)境下有N1、N2兩個(gè)節(jié)點(diǎn),數(shù)據(jù)V是N1和N2的共享數(shù)據(jù),其初始值是V0。其中,N1節(jié)點(diǎn)所采用的數(shù)據(jù)算法是A,N2節(jié)點(diǎn)所采用的數(shù)據(jù)算法是B,算法A和算法B非常相似。前者,可將新值寫(xiě)入共享數(shù)據(jù)V,后者可讀取V的值。

        在存儲(chǔ)系統(tǒng)保持一致性的基礎(chǔ)上,當(dāng)新的V值通過(guò)算法A寫(xiě)入到共享數(shù)據(jù)V以后,將變成數(shù)據(jù)V1,數(shù)據(jù)V1將通過(guò)節(jié)點(diǎn)N1被發(fā)送至N2,N2將及時(shí)更新新的V值。如此,B讀取到的N1節(jié)點(diǎn)、N2節(jié)點(diǎn)V值將是一致的,都是V1。在網(wǎng)絡(luò)斷開(kāi)環(huán)境下,N1節(jié)點(diǎn)通過(guò)算法A計(jì)算出的新的V值,即V1無(wú)法及時(shí)發(fā)送到N2節(jié)點(diǎn),N2節(jié)點(diǎn)的V值仍然是初始值V0,那么B讀取的N1、N2節(jié)點(diǎn)V值將出現(xiàn)不一致的情況。Cap的可用性需求,是指在分布式環(huán)境下,允許客戶(hù)端訪問(wèn)數(shù)據(jù)。但是,系統(tǒng)上所有節(jié)點(diǎn)響應(yīng)的數(shù)據(jù)并不代表是一致的。例如,系統(tǒng)上有N1和N2兩個(gè)節(jié)點(diǎn),客戶(hù)端要通過(guò)系統(tǒng)節(jié)點(diǎn)獲取文章評(píng)論,那么假設(shè)N1節(jié)點(diǎn)上數(shù)據(jù)是最新的,當(dāng)客戶(hù)端通過(guò)N2獲取數(shù)據(jù)時(shí),其返回的數(shù)據(jù)將缺少最新的一條。在這樣一種情況下,系統(tǒng)仍然被認(rèn)為是可用的,只有當(dāng)數(shù)據(jù)響應(yīng)時(shí)間超過(guò)所設(shè)定好的響應(yīng)時(shí)間服務(wù),才可認(rèn)定系統(tǒng)不可用,無(wú)法及時(shí)反饋所要瀏覽的數(shù)據(jù)。Cap的分區(qū)容錯(cuò)性需求,是指在分布系統(tǒng)中將統(tǒng)一數(shù)據(jù)副本存儲(chǔ)于不同地點(diǎn),當(dāng)系統(tǒng)中某些子集合節(jié)點(diǎn)出現(xiàn)故障問(wèn)題時(shí),分布系統(tǒng)容錯(cuò)性將支撐整個(gè)系統(tǒng)仍然進(jìn)行正確響應(yīng),由此可提高系統(tǒng)的性能。但是,在對(duì)系統(tǒng)進(jìn)行分區(qū)時(shí),要切斷各個(gè)分區(qū)之間的網(wǎng)線(xiàn),保證每個(gè)網(wǎng)絡(luò)分區(qū)都是孤立的。

        由上述論述內(nèi)容可知,核心系統(tǒng)有一致性、可用性、分區(qū)容錯(cuò)性三個(gè)Cap需求,在基于Cap理論進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),要把握好Cap需求。

        2 基于Cap理論的系統(tǒng)設(shè)計(jì)定理

        2.1 異步網(wǎng)絡(luò)模型

        在系統(tǒng)活動(dòng)增加和吞吐量逐漸上升背景下,Cap定理將顯得尤為重要,基于Cap理論的系統(tǒng)設(shè)計(jì)異步網(wǎng)絡(luò)模型,無(wú)統(tǒng)一時(shí)鐘,不能同時(shí)滿(mǎn)足消息可丟失或不丟失的對(duì)等運(yùn)算一致性、可用性、分區(qū)容錯(cuò)性Cap需求[1]。同時(shí),在異步網(wǎng)絡(luò)模型時(shí),當(dāng)遇到消息被延遲的問(wèn)題,任何一個(gè)算法都無(wú)法準(zhǔn)確判斷出消息延遲原因。因?yàn)?,丟失可造成消息延遲,傳輸通道受阻也可造成消息延遲。

        2.2 同步網(wǎng)絡(luò)模型

        在同步網(wǎng)絡(luò)模型中,所有節(jié)點(diǎn)上時(shí)鐘功能主要是計(jì)時(shí)器作用,每一個(gè)節(jié)點(diǎn)上時(shí)鐘時(shí)間顯示值可能不同,但可用于確定調(diào)度某事件后經(jīng)過(guò)多長(zhǎng)時(shí)間間隔進(jìn)行另一項(xiàng)操作,在給定時(shí)間內(nèi)接收到消息。此外,同步網(wǎng)絡(luò)模型與異步網(wǎng)絡(luò)模型不同,只是不能同時(shí)滿(mǎn)足消息可丟失的對(duì)等運(yùn)算可用性、一致性、分區(qū)容錯(cuò)性Cap需求。在Cap理論指導(dǎo)下Google開(kāi)始嘗試使用PC機(jī)搭建計(jì)算和存儲(chǔ)平臺(tái),PC機(jī)的使用讓分布式系統(tǒng)同時(shí)滿(mǎn)足了可用性、分區(qū)容錯(cuò)性?xún)蓚€(gè)Cap需求。另外,在系統(tǒng)未出現(xiàn)故障情況下,分布式系統(tǒng)還能夠提供一致性讀寫(xiě)服務(wù)。

        總之,基于Cap理論的系統(tǒng)設(shè)計(jì)要真正了解系統(tǒng)需求,在把握好系統(tǒng)需求前提下,合適使用Cap理論,處理好3個(gè)核心系統(tǒng)需求強(qiáng)調(diào)點(diǎn)。

        3 基于Cap理論的系統(tǒng)設(shè)計(jì)模型

        基于Cap理論的系統(tǒng)設(shè)計(jì)模型有ACID和BASE兩種。在ACID模型設(shè)計(jì)中,重點(diǎn)是依據(jù)Cap理論完成現(xiàn)代關(guān)系型數(shù)據(jù)庫(kù)的設(shè)計(jì),現(xiàn)代關(guān)系型數(shù)據(jù)庫(kù)事務(wù)正確執(zhí)行依賴(lài)于原子性、一致性、隔離性、持久性四個(gè)基本元素。其中,原子性是指在包含多個(gè)操作的某一事務(wù)執(zhí)行時(shí),一旦開(kāi)始執(zhí)行這一事務(wù),必須保證完成所有操作,如若某一操作沒(méi)有完成,要回到事務(wù)開(kāi)始狀態(tài),重新完成操作的正確執(zhí)行。以A給B轉(zhuǎn)賬100元為案例,當(dāng)開(kāi)啟事務(wù)之后,要么事務(wù)中的操作都發(fā)生,要么事務(wù)中的操作都不發(fā)生。如下所示:

        Begin transaction

        Update account set money=money-100where name=‘A;

        Update account set money=money+100where name=‘B;

        If Error then

        Rollback

        Else

        Commit

        在上述案例中,扣款和加款兩條語(yǔ)句,要么都執(zhí)行,要么都不執(zhí)行。

        一致性,是指數(shù)據(jù)庫(kù)事物執(zhí)行時(shí)系統(tǒng)開(kāi)始狀態(tài)、結(jié)束狀態(tài)、給定并發(fā)數(shù)等等,都是不變的、一致的[2]。以銀行轉(zhuǎn)賬事務(wù)為例,在銀行轉(zhuǎn)賬事務(wù)執(zhí)行過(guò)程中,無(wú)論是事務(wù)執(zhí)行成功,還是事務(wù)執(zhí)行失敗,事務(wù)結(jié)束以后ACCOUNT表中aaa和bbb的存款總額應(yīng)是2000元,業(yè)務(wù)邏輯要保持一致性。而為了更好的實(shí)現(xiàn)一致性,在ACID模型具體設(shè)計(jì)過(guò)程中,要建立起一個(gè)數(shù)據(jù)庫(kù)機(jī)制,用于約束事務(wù)執(zhí)行中的數(shù)據(jù)庫(kù)層面,保證其符合Check約束、唯一約束等。還有,ACID模型開(kāi)發(fā)人員應(yīng)處理好業(yè)務(wù)一致性問(wèn)題。隔離性,是指關(guān)系型數(shù)據(jù)庫(kù)中兩個(gè)相同的事務(wù)會(huì)被隔離開(kāi)來(lái),事務(wù)之間不會(huì)相互影響,由此在隔離狀態(tài)下提高數(shù)據(jù)庫(kù)事務(wù)正確執(zhí)行效率。持久性,是指當(dāng)事務(wù)執(zhí)行操作完成以后,事務(wù)執(zhí)行結(jié)果會(huì)保存到數(shù)據(jù)庫(kù)?;谏鲜鏊膫€(gè)基本元素基礎(chǔ)上,ACID模型設(shè)計(jì)實(shí)現(xiàn)方式要依附于WAL和shadow paging兩種形式,這兩種技術(shù)相比較,后者更加簡(jiǎn)單,且能夠在沒(méi)有redo和undo的支持下提高寫(xiě)日志記錄的開(kāi)銷(xiāo)恢復(fù)速度。shadow paging與WAL技術(shù)相比,缺點(diǎn)也比較明顯,要以“塊”為單位完成事務(wù)提交輸出操作,無(wú)法滿(mǎn)足多個(gè)事務(wù)并發(fā)執(zhí)行需求。WAL技術(shù),是在修改已經(jīng)記錄日志后對(duì)數(shù)據(jù)文件進(jìn)行修改,即當(dāng)日志記錄沖刷到永久存儲(chǔ)器后可通過(guò)日志恢復(fù)數(shù)據(jù)庫(kù)方式,完成事務(wù)提交操作。整個(gè)過(guò)程中,如若發(fā)現(xiàn)尚未附加到數(shù)據(jù)頁(yè)記錄的情況,要以向前滾動(dòng)恢復(fù)(REDO)方式在日志記錄中重做,保證事務(wù)執(zhí)行效果。

        基于Cap理論的BASE模型設(shè)計(jì),是反ACID模型,它在模型具體設(shè)計(jì)過(guò)程中不再?gòu)?qiáng)調(diào)一直性,而是重點(diǎn)考慮數(shù)據(jù)庫(kù)可用性。BASE模型,基本可以支持分區(qū)失敗,狀態(tài)可以在一段時(shí)間不同步,只要保證數(shù)據(jù)最終一致即可。所以說(shuō),BASE模型是反ACID模型,做了可用性與一致性之間的一個(gè)取舍。BASE模型的設(shè)計(jì)要依附于按功能劃分?jǐn)?shù)據(jù)庫(kù)與sharding碎片兩種實(shí)現(xiàn)方式,其中,在利用sharding基本原理進(jìn)行BASE模型設(shè)計(jì)時(shí),要先根據(jù)數(shù)據(jù)庫(kù)實(shí)際情況,把數(shù)據(jù)庫(kù)分為多個(gè)部分。待數(shù)據(jù)庫(kù)切分完畢之后,將切分好的各個(gè)部分放置于不同數(shù)據(jù)庫(kù)上,有效提高單一數(shù)據(jù)庫(kù)整體性能[3]。但是,在海量數(shù)據(jù)的數(shù)據(jù)庫(kù)處理時(shí),要根據(jù)這一種類(lèi)型數(shù)據(jù)庫(kù)表多、數(shù)據(jù)多的特點(diǎn),以垂直切分法為主將一個(gè)數(shù)據(jù)庫(kù)切分成多個(gè)部分。然后,再將各個(gè)部分方在sever上,由此達(dá)到最佳的BASE模型設(shè)計(jì)狀態(tài)。

        總之,BASE模型設(shè)計(jì)中心思想是強(qiáng)調(diào)可用性,在滿(mǎn)足基本的可用性基礎(chǔ)上,可犧牲容忍性和一致性?,F(xiàn)階段,BASE模型設(shè)計(jì)性能方面的潛能還是有待挖掘的,在基于Cap理論的BASE模型具體設(shè)計(jì)中,NOSQL運(yùn)動(dòng)豐富了BASE模型設(shè)計(jì)方案。其一,可在BASE模型設(shè)計(jì)中參照Amaze Dynamo等人提出的Key-Value存儲(chǔ)思想,靈活選擇Cap三原則,設(shè)計(jì)多樣化數(shù)據(jù)庫(kù)產(chǎn)品。其二,可根據(jù)自己項(xiàng)目需求,通過(guò)靈活選擇Cap三原則,設(shè)計(jì)領(lǐng)域模型+分布式緩存+存儲(chǔ)的BASE模型,這種BASE模型設(shè)計(jì)形式與前者相比,難度更高。但不管是Key-Value存儲(chǔ)模型設(shè)計(jì)還是領(lǐng)域模型+分布式緩存+存儲(chǔ)的BASE模型設(shè)計(jì),其存儲(chǔ)都可以是同步,也可以是異步。從二者不同點(diǎn)角度來(lái)看,第一種模型設(shè)計(jì)方式更加適用于非Java工作環(huán)境下,可用性更高。而第二種模型設(shè)計(jì)中更加靈活,但它只是一種架構(gòu)解決方案,不能拿來(lái)就用。

        4 結(jié)語(yǔ)

        綜上可知,在系統(tǒng)設(shè)計(jì)中,復(fù)制技術(shù)的運(yùn)用引發(fā)了一致性問(wèn)題。在一致性問(wèn)題解決過(guò)程中使用Cap理論加以指導(dǎo)十分重要,基于Cap理論指導(dǎo)的系統(tǒng)設(shè)計(jì)要遵從異步網(wǎng)絡(luò)模型和同步網(wǎng)絡(luò)模型設(shè)計(jì)定理,并通過(guò)優(yōu)化系統(tǒng)設(shè)計(jì)模型徹底解決原有系統(tǒng)設(shè)計(jì)中的一致性問(wèn)題,創(chuàng)造一個(gè)良好的互聯(lián)網(wǎng)數(shù)據(jù)中心運(yùn)行環(huán)境。

        參考文獻(xiàn)

        [1]黃瑜.大型數(shù)據(jù)庫(kù)的關(guān)聯(lián)挖掘算法設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2018,30(20):45-48.

        [2]張青,任宏.智能人機(jī)交互通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2018,22(20):175-178.

        [3]侯荷潔.大數(shù)據(jù)環(huán)境下的軍事期刊數(shù)據(jù)庫(kù)建設(shè)芻議[J].國(guó)防,2018,11(09):68-71.

        猜你喜歡
        系統(tǒng)設(shè)計(jì)模型
        一半模型
        p150Glued在帕金森病模型中的表達(dá)及分布
        重要模型『一線(xiàn)三等角』
        重尾非線(xiàn)性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        一種基于SATA硬盤(pán)陣列的數(shù)據(jù)存儲(chǔ)與控制系統(tǒng)設(shè)計(jì)研究
        3D打印中的模型分割與打包
        工業(yè)熱電偶計(jì)量檢定系統(tǒng)設(shè)計(jì)
        基于物聯(lián)網(wǎng)的煤礦智能倉(cāng)儲(chǔ)與物流運(yùn)輸管理系統(tǒng)設(shè)計(jì)與應(yīng)用
        目標(biāo)特性測(cè)量雷達(dá)平臺(tái)建設(shè)構(gòu)想
        科技視界(2016年22期)2016-10-18 14:34:34
        星級(jí)酒店建筑電氣及弱電智能系統(tǒng)設(shè)計(jì)分析
        免费观看日本一区二区三区| 免费人成在线观看| 久久精品国产亚洲av无码娇色 | 在线观看视频播放| 日本一区午夜艳熟免费| 亚洲色欲色欲大片WWW无码| 精品国产亚洲av高清日韩专区| 欧美牲交a欧美牲交aⅴ免费下载| 东北妇女肥胖bbwbbwbbw| 国产91网| 久久天堂av综合合色| 五月激情综合婷婷六月久久| 99久久婷婷国产综合精品电影| 亚洲欧美日韩专区一| 日本一区二区三区在线视频观看 | 免费av一区二区三区无码| 国产精品麻豆成人av电影艾秋 | 精品少妇后入一区二区三区| 亚洲熟女一区二区三区不卡| 国产一级一级内射视频| 性色av无码中文av有码vr| 热久久久久久久| 日本高清一区二区三区色| 国产精品久久久天天影视| 品色永久免费| 97色综合| 在线观看一区二区三区在线观看| 精品亚洲成a人无码成a在线观看| 久久韩国漫画无删减漫画歪歪漫画 | 欧美熟妇性xxx交潮喷| 精品欧美乱子伦一区二区三区| 五月天亚洲av优女天堂| 好大好爽我要高潮在线观看| 日本公妇在线观看中文版 | 精品亚亚洲成av人片在线观看| 国产精品18久久久白浆| 日本道精品一区二区三区| 日日爽日日操| 中文字幕国产精品专区| 久久久久久夜精品精品免费啦| 三级4级全黄60分钟|