亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

第五天-《企業(yè)應用架構(gòu)模式》-并發(fā)

linkFly / 2198人閱讀

摘要:離線并發(fā)多個數(shù)據(jù)庫事務中支持多線程的各種應用服務器并發(fā)問題丟失更新同時編輯文件,相繼保存,最終丟失先保存者更新的內(nèi)容不一致性讀取期間,數(shù)據(jù)有更新執(zhí)行語境從與外界交互角度看的個語境請求對應于軟件工作的外部環(huán)境發(fā)出的單個調(diào)用,處理請求的軟件會決

離線并發(fā):多個數(shù)據(jù)庫事務中支持多線程的各種應用服務器

1. 并發(fā)問題: 1)丟失更新(同時編輯文件,相繼保存,最終丟失先保存者更新的內(nèi)容) 2)不一致性(讀取期間,數(shù)據(jù)有更新) 2. 執(zhí)行語境: 1)從與外界交互角度看的2個語境:

請求:

對應于軟件工作的外部環(huán)境發(fā)出的單個調(diào)用,處理請求的軟件會決定是否返回一個應答(過程大部分是在服務器端進行,而客戶端則假設(shè)為在等待應答)

會話:

客戶端和服務器端之間一次長時間的交互

2)操作系統(tǒng)的2個語境: 進程:

重量級的執(zhí)行語境,將其正在處理的內(nèi)部數(shù)據(jù)域外部隔離開(有效隔離,減少沖突,但需要消耗很多資源)

線程:

輕量級的執(zhí)行語境,一個多帶帶的進程里可以存在多個線程(可以充分利用資源,但易導致并發(fā)問題)

3. 隔離與不變性:

企業(yè)應用2個解決方案:

1)隔離: 方案1:

劃分數(shù)據(jù),使得每一個片數(shù)據(jù)都只能被一個執(zhí)行單元訪問(操作系統(tǒng)為每個進程多帶帶分配一片內(nèi)存,并且只有這個進程可以對這片內(nèi)存進行讀寫操作)

方案2:

文件鎖,一個人打開文件,其他人再無法打開或者只打開該文件只讀拷貝并且不能修改(好的并發(fā)設(shè)計應該是:找到各種創(chuàng)建隔離區(qū)的辦法,并且保證在每個隔離區(qū)里能夠完成盡可能多的任務)

2)不變性: 方案1:

識別哪些是不變的數(shù)據(jù)(只有在共享數(shù)據(jù)可以修改的情況下,并發(fā)問題才會出現(xiàn)),不用考慮這些數(shù)據(jù)的并發(fā)問題二廣泛地共享它們

方案2:

把那些只讀取數(shù)據(jù)的程序分開,讓他們只是用拷貝的數(shù)據(jù)源

4. 樂觀并發(fā)控制盒悲觀并發(fā)控制: 1)2種鎖: 樂觀鎖:

關(guān)于沖突檢測的(僅當提交更新時才檢查沖突)

優(yōu)點:并發(fā)性高,限制較少,使用起來比較自由

缺點:業(yè)務數(shù)據(jù)比較復雜,難以自動合并,并且使用者難以發(fā)現(xiàn)差別時,只能丟棄原有數(shù)據(jù),從頭開始更新

悲觀鎖:

關(guān)于沖突避免的(只要有人已是用當前數(shù)據(jù)或者文件,拒絕其他人使用當前數(shù)據(jù)或文件)

優(yōu)點:減少并發(fā)程度

缺點:用戶體驗差

兩種策略選擇標準:沖突的頻率與嚴重性(沖突少或者沖突后果不嚴重時,選擇樂觀鎖;否則選擇悲觀鎖)

2)避免不一致性: a. 檢測不一致讀:
悲觀策略:

通過讀加鎖(read lock,共享鎖)和寫加鎖(write lock,排他鎖),可以一次多個人對同一份數(shù)據(jù)加只讀鎖,但只要有人得到一個只讀鎖,其他人就都無法得到寫鎖;一旦有人得到一個寫鎖,其他人都不能得到兩種所中任意一種

樂觀策略:

基于數(shù)據(jù)的某種版本標識(時間戳或者順序計數(shù)器),核對將要更新數(shù)據(jù)的版本標識和共享數(shù)據(jù)的版本標識,如果兩者一樣,系統(tǒng)允許更新數(shù)據(jù)并更新共享數(shù)據(jù)的版本標識

b. 時序讀:

每次讀取數(shù)據(jù)時都是用某種時間戳或其他不變的標簽作為約束條件,數(shù)據(jù)庫根據(jù)時間或者標簽返回數(shù)據(jù)(源代碼控軟件可以用,但數(shù)據(jù)庫比較困難并且代價昂貴)

3)死鎖:

處理死鎖的方法:

a. 用軟件來檢測死鎖的發(fā)生,選擇一個犧牲者,放棄他的工作和他所加的鎖;

b. 給每個鎖都加上時間限制,一旦達到時間限制,所加的鎖就會失效,工作就會丟失;

防止死鎖的方法:

強制人們在開始工作時就獲得所有可能需要的鎖,在此之后就不再允許得到更多的鎖;

可以硬性規(guī)定每個人獲得鎖的順序(如按姓名字母順序)

5. 事務: 1)ACID:

原子性、一致性、隔離性、持久性

2)事務資源:

定義:可以進行事務處理的任何事物

事務控制方法:

保證事務盡可能短(盡可能不讓事務跨越多個請求,跨越多個請求的事務稱為長事務);

盡可能晚打開事務

3)減少事務隔離以提高靈活性: SQL的4種隔離級別:

可串行化的、可重復讀、讀已提交、讀未提交

不必給所有的事務設(shè)置相同的隔離級別,而應該仔細觀察每個事務并根據(jù)每個事務具體情況來決定如何權(quán)衡靈活性與正確性

4)業(yè)務事務和系統(tǒng)事務: 系統(tǒng)事務:

由關(guān)系數(shù)據(jù)庫系統(tǒng)和事務監(jiān)視器所支持的事務 (一般不用干預)

業(yè)務事務:

簡單辦法:在單個系統(tǒng)事務中執(zhí)行完整的業(yè)務事務(產(chǎn)生長系統(tǒng)事務);

復雜的,采用離線并發(fā)(通過工作單元來保存更新數(shù)據(jù))

6. 離線并發(fā)控制的模式:

樂觀離線鎖、悲觀離線鎖

7. 應用服務器并發(fā):

每會話一線程 VS 每會話一進程:線程節(jié)省資源,但創(chuàng)建和進入隔離區(qū)很重要

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/30044.html

相關(guān)文章

  • 五天-企業(yè)應用架構(gòu)模式-分布模式

    摘要:遠程外觀運行機制使用時機數(shù)據(jù)傳輸對象運行機制使用時機進一步閱讀 1.遠程外觀 (Remote Facade) 1.1運行機制 1.2使用時機 2.數(shù)據(jù)傳輸對象 (Data Transfer Object) 2.1 運行機制 2.2 使用時機 2.3 進一步閱讀

    iamyoung001 評論0 收藏0
  • HTML

    摘要:目前,中關(guān)村黑馬程序員訓練營已成長為行業(yè)學員質(zhì)量好課程內(nèi)容深企業(yè)滿意的移動開發(fā)高端訓練基地,并被評為中關(guān)村軟件園重點扶持人才企業(yè)。黑馬程序員的學員篩選制度,遠比現(xiàn)在以上的企業(yè)招聘流程更為嚴格。系統(tǒng)的學習可以參考w3c的教程 web概念概述 * JavaWeb: * 使用Java語言開發(fā)基于互聯(lián)網(wǎng)的項目 * 軟件架構(gòu): 1. C/S: Client/Server 客戶端/服務...

    Snailclimb 評論0 收藏0
  • 五天 JavaScript單線程詳解

    摘要:若以多線程的方式操作這些,則可能出現(xiàn)操作的沖突。另外,因為是單線程的,在某一時刻內(nèi)只能執(zhí)行特定的一個任務,并且會阻塞其它任務執(zhí)行。瀏覽器事件觸發(fā)線程事件觸發(fā)線程,當一個事件被觸發(fā)時該線程會把事件添加到任務隊列的隊尾,等待引擎的處理。 首先,說下為什么 JavaScript 是單線程? 總所周知,JavaScript是以單線程的方式運行的。說到線程就自然聯(lián)想到進程。那它們有什么聯(lián)系呢? ...

    caiyongji 評論0 收藏0
  • 十一天-《企業(yè)應用架構(gòu)模式》-對象-關(guān)系行為模式

    摘要:工作單元用于維護受業(yè)務事務影響的對象列表,并協(xié)調(diào)變化的寫入和并發(fā)問題的解決。工作單元控制器工作單元控制所有數(shù)據(jù)庫的讀操作,一旦對象被讀取,將將它注冊為干凈的對象。 1. 工作單元 用于維護受業(yè)務事務影響的對象列表,并協(xié)調(diào)變化的寫入和并發(fā)問題的解決。如下: showImg(https://segmentfault.com/img/remote/1460000018095222?w=162...

    KavenFan 評論0 收藏0
  • 從小白程序員一路晉升為大廠高級技術(shù)專家我看過哪些書籍?(建議收藏)

    摘要:大家好,我是冰河有句話叫做投資啥都不如投資自己的回報率高。馬上就十一國慶假期了,給小伙伴們分享下,從小白程序員到大廠高級技術(shù)專家我看過哪些技術(shù)類書籍。 大家好,我是...

    sf_wangchong 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<