主頁 > 軟體設計 > 愿一切都那么簡單 頻分,時分,波分,碼分以及四個隨機訪問介質訪問控制協議【計網】

愿一切都那么簡單 頻分,時分,波分,碼分以及四個隨機訪問介質訪問控制協議【計網】

2022-01-03 08:14:32 軟體設計

👨?🎓 內容介紹:最近在學習計算機網路所以會時不時更新有關內容
📚學習資料:王道考研計算機網路
📝內容較多有問題,希望能夠不吝賜教
🎃 歡迎點贊 👍 收藏 ?留言 📝

在這里插入圖片描述

我是目錄📔

  • 信道劃分介質訪問控制
    • 靜態劃分信道訪問控制
    • 1.1 頻分多路復用 FDM
    • 1.2 時分多路復用 TDM
    • 1.3 改進的時分復用 統計時分復用 STDM
    • 1.4 波分多路復用 WDM
    • 1.5 碼分多路碼分多路復用 CDM
  • 隨機訪問介質訪問控制
    • 2.1ALOHA 協議
    • 2.1 時隙ALOHA 協議
    • 2.2 CSMA協議
    • 2.3 CSMA-CD協議
    • 2.4 CSMA-CA協議
  • CSMA/CD與CSMA/CA
  • 輪詢訪問介質訪問控制
    • 輪詢協議
    • 令牌傳遞協議 ( 重點 )


大家都知道在資料的傳輸程序中,通常使用兩種鏈路,分別是點對點鏈路,廣播式鏈路

(1)點對點鏈路:指兩個相鄰節點通過一個鏈路相連,沒有第三者,應用有PPP協議,常用于廣域網,
在這里插入圖片描述

(2)廣播式鏈路:指所有主機共享通信介質,類擬于公共的高速公路,應用有之前早期的總以太網、無線局域網、局域網,典型的拓撲結構:總線型、星型(邏輯總線型),

總線型:
在這里插入圖片描述
星型:
在這里插入圖片描述


信道劃分介質訪問控制

信道劃分介質訪問控制

信道劃分介質訪問控制:講使用介質的每個設備于來自同一信道上的其他設備的通信隔離開,把時域和頻域資源合理的分配給網路的設備
簡單來說就是是采取一定的措施,使得兩對節點之間的通信不會發生互相干擾的情況,

介質訪問控制可以分為靜態劃分信道和動態分配信通

在這里插入圖片描述

(1)靜態劃分信道:也叫信道劃分介質訪問控制,有四種控制的方法

  1. 頻分多路復用FDM;
  2. 時分多路復用TDM;
  3. 統計時分復用STDM
  4. 波分多路復用WDM;
  5. 碼分多路復用CDM,

(2)動態分配信通,可以分為

  1. 輪詢訪問控制 令牌傳遞協議
  2. 隨機訪問介質訪問控制(以下四種)
  • ALOHA協議
  • CSMA協議
  • CSMA/CD協議
  • CSMA/CA協議

靜態劃分信道訪問控制

靜態劃分信道訪問控制

在這里插入圖片描述

多路復用技術
是把多個低速信道組合成一個高速信道的技術,這種技術要用到兩個設備,其中,多路復用器在發送端根據某種約定的劃則把多個低帶寬的信號復合成一個高帶寬的信號;多路分配器在接收端根據同一規則把高帶寬信號分解成多個低帶寬信號,多路復用器和多路分配器統稱為多路器,
簡單來說 :
把多個信號組合在一條物理信道上進行傳輸,使得多個計算機或終端設備共享信道資源,提高信道利用率
把一條廣播信道,邏輯上分為幾條用于兩個節點之間通信的互不干擾的子信道,實際就是
廣播信道轉變為點對點信道
 
多路復用技術用到兩種設備:
(1)多路復用器(Mutiplexer),在發送端根據某種約定的規則把多個低帶寬的信號復合成一個高帶寬的信號;
(2)多路分配器(Demultiplexer),在接收端根據統一規則把高帶寬信號分解成多個低帶寬信號,


1.1 頻分多路復用 FDM

1.1 頻分多路復用 FDM

頻分多路復用FDM主要用于模擬信號,多路復用器接受來自多個源的模擬信號,每個信號有自己獨立的帶寬,信號在通信的程序中自始自終都占用這個頻帶,在同樣的時間占用不同的帶寬頻率,信號被組合成一個具有更大帶寬的信號,信號通過媒體傳送到目的地,目的地有另一個多路復用器完成信號分解作業,把各信號單元分離開來
在這里插入圖片描述
用戶在分配到一定的頻率后,通信程序中至始至終都占用這個頻帶,頻分復用的所有用戶在相同的時間都占用這個頻帶,頻分復用的所有用戶在相同的時間占用不同的帶寬(頻率帶寬)資源
在這里插入圖片描述

頻分復用:從分利用傳輸介質寬帶,系統效率較高;由于技術比較成熟,實作也比較容易

頻分多路復用例子:

1)頻分多路復用用于無線電廣播、有線電視中,一根CATV電纜的帶寬約是500MHz,可傳送80個頻道的電視節目,每個頻道6MHz用于聲音、視頻、及彩色等子信號,每個頻道留有一定的警戒頻帶,防止相互串擾,

提示:
頻分復用實作了多用戶資料的同時傳輸,但在同一時間,不同用戶占用不同的信道帶寬頻率,那就會造成不同用戶使用的信道頻率有高有低,各用戶間的寬帶使用體驗也是不同的,高頻段用戶使用的速度更快,低頻段用戶使用的速度會慢一些,不是一個平衡的狀態,


1.2 時分多路復用 TDM

1.2 時分多路復用 TDM

將時間劃分為一段段等長的時分復用幀(TMD幀),每一個時分復用的用戶在每一個TMD幀中占用固定序列號的時隙,所有的用戶輪流占用信道
在這里插入圖片描述

TMD幀是物理層傳送的位元流所劃分的幀,標志一個周期
 
 時分多路復用TDM,信道分割的方法是信號占用的時間,將使用復用的各路信號在時間上互不重疊,在傳輸時把時間分成小的時隙,每一時隙由復用的一個信號占用,如圖所示的情況,4個用戶A,B,C,D進行時分復用時,4個時隙構成一個時分復用幀,每一個時分復用的用戶在一個TDM幀中占用固定序號的時隙,每個用戶占用的時隙周期性的出現,時分復用的所有用戶在不同的時間占用相同的頻帶頻率,
提示:
  在進行通信時,復用器和分用器總是成對地使用,在復用器和分用器之間是用戶共享的高速信道,分用器的作用正好和復用器相反,它將高速線路傳送過來的資料進行分組,分別送到相應的用戶處,當使用時多路分復用技術傳送計算機資料時,由于計算機資料的突發性,一個用戶對分配到的信道的利用率一般不高,因某用戶在某一段時間暫無資料傳輸時,就會使分配到的信道時隙空閑,而其他有資料的用戶也無法使用這個空閑的時隙資源傳送資料(按時間分配時隙)


1.3 改進的時分復用 統計時分復用 STDM

1.3 改進的時分復用 統計時分復用 STDM

在這里插入圖片描述

由上圖可以看到:
資料的發送頻率比較低

統計時分復用STDM是一種改進的時分復用技術,它可以提高信道的利用率,集中器使用這個方法
在這里插入圖片描述
資料會放到集中器的快取,誰先來的,先放到幀上,籌夠了STMD幀了就走

統計時分復用技術使用STDM幀來傳送復用資料,但每一個STDM幀中的時隙數小于或等于連接在集中器上的用戶數,如圖所示,按#1,#2, #3 的順序依次分配時隙,各用戶有了資料就隨時發往集中器的輸入快取,然后集中器按順序依次掃描輸入快取,將快取中的資料存入STDM幀中,當一個幀的資料放滿了,就發送出去,因此STDM幀不是固定分配時隙,而是按需動態分配時隙,

提示:
由于用戶占用的時隙并不是周期性地被使用,所以在每個時隙中還必須有用戶的地址資訊,這是統計時分x…復用必須要有的不可避免的開銷,


1.4 波分多路復用 WDM

1.4 波分多路復用 WDM

波分復用就是光的頻分多路復用,在一根光纖中傳輸多種不同波長(頻率)的光信號,由于波長(頻率)不同,所以各路光信號互不干擾,最后再被波長分解復用器將各路波長分解出來,
在這里插入圖片描述
簡單來說:

波分多路復用WDM是光的頻分復用,使用一根光纖來同時傳輸多個光載波信號,

例子:
用戶端的分用器為設備ONU(光貓)


1.5 碼分多路碼分多路復用 CDM

1.5 碼分多路碼分多路復用 CDM

碼分多路復用CDM又稱碼分多址i個位元分為多個碼片/芯片,每個站點被指定一個為題的m位的芯片序列,發送1時站點發送芯片序列,發送0時發送芯片序列反碼(通常把0寫成-1)

CDM與FDM(頻分多路復用)和TDM(時分多路復用)不同,它既共享信道的頻率,也共享時間,是一種真正的動態復用技術,其原理是每位元時間被分成m個更短的時間槽,稱為碼片(Chip),通常情況下每位元有64或128個碼片,每個站點(通道)被指定一個唯一的m位的代碼或碼片序列,當發送1時站點就發送碼片序列,發送0時就發送碼片序列的反碼,當兩個或多個站點同時發送時,各路資料在信道中被線形相加,為了從信道中分離出各路信號,要求各個站點的碼片序列是相互正交的,

碼分多路復用也是一種共享信道的方法,每個用戶可在同一時間使用同樣的頻帶進行通信,但使用的是基于碼型的分割信道的方法,即每個用戶分配一個地址碼,各個碼型互不重疊,通信各方之間不會相互干擾,且抗干攏能力強,

碼分多路復用技術主要用于無線通信系統,特別是移動通信系統,它不僅可以提高通信的話音質量和資料傳輸的可靠性以及減少干擾對通信的影響,而且增大了通信系統的容量,


隨機訪問介質訪問控制

2.1ALOHA 協議

2.1ALOHA 協議

純ALOHA協議:想發就發

思想:不監聽信道,不按時間槽發送,隨機重發,
在這里插入圖片描述
圖可以看出ALOHA協議是非常隨機的,每一個站點或者主機,它們可以在任何時間發送資料幀,上面4個站點發送的資料幀沒有規律,想發就發,
T0:規定資料幀的長度(幀長度通常由位元衡量),T0指這個幀的發送時間(傳輸時間+傳播時間),一個幀從剛開始發送到發送成功的時間,

假設:每一個站點發送的資料幀T0都相同
站1:第一時間發送1號幀,,經過T0之后并沒有別的資料幀與它發生沖突,這個時間段只有它一個資料幀發送資料,它是發送成功的,
站2:過了一段時間發送2號幀,前半段時間順利,后半段時間,站N-1也開始發送資料幀;此時信道上有兩個站點在同時發送資料,就一定會造成沖突,

沖突如何檢測?
如果發生沖突,接收方在就會檢測出差錯,然后不予確認,發送方在一定時間內收不到就判斷發生沖突,

從圖中可以看出發生沖突,但對于站點來說,它們自身并不知道發生沖突(并沒有在發送資料的時候進行監聽),
如何檢測:等站點資料幀發送完畢之后,接受方會收到一個錯誤的資料幀,接收方會回傳NAK否定確認幀(或者直接不回傳確認幀);發送方經過超時一個時間還未收到確認幀,就會知道幀在信道上發生沖突,因此就會重發

沖突如何解決?
超時后等一個隨機時間再重傳,

綜上所述:發現ALOHA協議隨機性很強,導致發送成功率很低,


2.1 時隙ALOHA 協議

2.1 時隙ALOHA 協議(是ALOHA的補充)

時隙ALOHA 協議:控制想發就發的隨意性

思想:把時間分成若干個相同的時間片,所有用戶在時間片開始時刻同步接入網路信道,若發生沖突,則必須等待下一個時間片開始時刻再發送,
簡單舉例就好比有強迫癥,定的是十二點出發,現在十一點五十九了,依然不動,不能想走就走

時間片(時間槽)T0:規定資料幀的長度,
特點:每一個站點在發送資料幀的時候,只能在一個時間片的開始進行發送(如果此時想發送,并沒有到時間片開始) 就需要等到時間片開始再發送,

  1. 如果發送程序很成功,未發生沖突,
  2. 發送程序發送沖突,這個站點就會在時隙之后(經過一個T0之后)發送方發現出現沖突(因為接受方沒有回傳確認幀),發送方判定發送程序中出現沖突,

遇到沖突狀況,需要進行超時重傳,只能在一個時間片(時隙)的開始進行重傳,
綜上:純ALOHA協議比時隙ALOHA協議吞吐量更低,效率更低,


2.2 CSMA協議

2.2 CSMA協議

CSMA:載波監聽多路訪問協議

在采用CSMA協議的網路系統中,每個結點在發送資料之前,先監聽信道是否為空閑狀態,再根據監聽的結果決定如何動作,

CSMA主要分為四種協議:

CS:載波監聽/偵聽,每一個站在發送資料之前要檢測一下總線是否有其他計算機在發送資料
當幾個站同時在總線上發送資料時,總線的信號電壓擺動值將會增大(相互疊加),當一個站檢測到的信號電壓擺動值草果一定門限值時,就認為總線上至少有兩個站同時在發送資料,表明產生了碰撞,即發生
了沖突

MA:多點接入,表示許多計算機以多點接入的方式連接在一根總線上


協議思想
發送幀之前,監聽信道
在這里插入圖片描述

名稱描述優點缺點
1-堅持CSMA發送資訊時監聽信道,一空閑下來就立即傳輸,信道忙也一直監聽,如果發送時沖突就等待隨機時長之后再監聽立即發送,利用率高如果多臺設備同時監聽,那么會發生沖突
非堅持CSMA發送資訊時監聽信道,如果空閑就立即傳輸,信道忙就隨機等待一段時間后再監聽沖突發生的幾率減少因為需要等待,所以利用率不高
p-堅持CSMA發送資訊時監聽信道,空閑時以概率p進行傳輸,概率1-p不傳輸,信道忙就隨機等待一段時間后再監聽沖突減少的同時效率也比較高即使發生沖突也要堅持發送資料,資源被浪費

舉個例子:喝奶茶
在這里插入圖片描述
第一個圖對應的是堅持CSMA :
我是奶茶愛好者,不管隊伍有多長,我都會去排隊,到我了我就去買,沒到我就一直排隊(茶顏悅色,深有體會)
第二個圖對應的是非堅持CSMA :
我雖然喜歡喝奶茶,但是我不急著喝,隊伍很長,那我就玩一會再來看看,玩的時間不定,玩完了,發現沒人了 ,我就去喝,人多了,就先不喝
第三個圖對應的是p-堅持CSMA :
我也喝奶茶,但是沒有那么喜歡,我看到奶茶哪里沒人排隊,我有P的概率去買,但也有1-p的可能不去買,完全看心情,人如果多,我也去玩,玩的時間不定


2.3 CSMA-CD協議

2.3 CSMA-CD協議

CS:載波監聽/偵聽,每一個站在發送資料之前要檢測一下總線是否有其他計算機在發送資料
MA:多點接入,表示許多計算機以多點接入的方式連接在一根總線上

CD:碰撞檢測(沖突檢測),“邊發送邊監聽”,配接器邊發送資料邊檢測信道上信號電壓的變化情況,以便判斷自己在發送資料時其他站是否也在發送資料
在這里插入圖片描述
如果資料鏈路很長,我們資料在發送的程序中,突然有另外的資料要發送
在這里插入圖片描述

CSMA/CD,是對CSMA的改進,網路結點在發送資料時,邊發送邊監聽,一旦發現有沖突,立即停止發送,

這時候大家都不發送了,會產生一個爭用時隙, 沖突的各結點在停止發送后,等待一段時間再監聽信道,發現空閑信道則發送資料, 而當很多結點彼此都沖突時,則會產生一系列的爭用時隙,在經過幾輪競爭后,有一個結點發送資料成功,有資料要發送的結點將開始新一輪競爭,

可以看出,其實CSMA/CD的作業周期就是傳輸周期、爭用周期、空閑周期交替出現的一個程序,


2.4 CSMA-CA協議

2.4 CSMA-CA協議

為什么要有CSMA-CA協議?
我們之前學的CD就很全了,為什么還要CA那,這是因為使用的場景不一樣,CA是無線網路中的,而CD是總線是以太網的有線網路,不同介質,協議自然不同,我們如果在無線局域網使用CD,那么我們要360°,去檢測碰撞,這就很難實作了

在這里插入圖片描述當A給B發送資料時,C認為信道空閑也去給B發送資料,這樣就導致了,沖突,我們拿A來看,就好似C為屏蔽站,所以我們要解決隱蔽站的問題,我發送資料你就要懂點事,別干擾我們

A站點和C站點都想發送資料給B站點,但是A和C相距較遠,都認為到B的信道是空閑的,就都向B發送資料,兩個方向來的資料發生碰撞,那就有問題了,

在這里插入圖片描述
在發送資料的時候不光是先聽后發,還會停留一會時間,就好比開會的時候,我說完話的時候,會等到一下,沒人想要說話,我就會繼續說,所以在每次說話之前都會,等待一下,相當的禮貌

CSMA/CA協議作業原理
在這里插入圖片描述
之前我們說到,這是個有禮貌的,中規中矩的協議,在發送資料的時候先看是否信道有空閑,如果有空閑,就會發出RTS給接收端也就是我們的C,如果信道忙就等待,當我們的C收到A發給的RTS,那么我將回給你一個CTS,這樣當我們的B再來發送資料時,因為A和C以及建立了連接,C作為有禮貌的人,肯定不會跑去和B連接,所以當A收到資料幀的時候會預約通道,告訴B你等一下,我只要五分鐘就夠了,五分鐘后你來連接,C收到A的資料會進行判斷是否正確,沒問題C就會給A發送一個ACK幀,這樣A收到了ACK就會繼續發送下一個資料幀,如果A沒收到C的回應,就會繼續重新發送資料,當然次數是有限的,不能一直發送,那不就是死鎖了不是

CSMA/CD與CSMA/CA

相同點:
CSMA/CD與CSMA/CA機制都從屬于CSMA的思路,其核心是先聽再說,換言之,兩個在接入信道之前都須要進行監聽,當發現信道空閑后,才能進行接入,
不同點 :
1.傳輸介質不同:CSMA/CD用于總線式以太網【有線】,而CSMA/CA用于無線局域網【無線】,
⒉載波檢測方式不同:因傳輸介質不同,CSMA/CD與CSMA/CA的檢測方式也不同,CSMA/CD通過電纜中電壓的變化來檢測,當資料發生碰撞時,電纜中的電壓就會隨著發生變化;而CSMA/CA采用能量檢測(ED)、載波檢測(CS)和能量載波混合檢測三種檢測信道空閑的方式,
3.CSMA/CD檢測沖突,CSMA/CA避免沖突,二者出現沖突后都會進行有上限的重傳,


輪詢訪問介質訪問控制

輪詢訪問介質訪問控制

介質訪問控制 ( Multiple Access Control ) 協議 : 簡稱 MAC ;

① 信道劃分 MAC 協議 : 基于 多路復用 技識訓分資源 ;

  • 網路負載重時 , 信道利用率高 , 公平 ;
  • 網路負載輕時 , 信道利用率低 ;

② 隨機訪問 MAC 協議 : 用戶根據隨機意愿 發送資訊 , 發送資訊時 , 可以獨占信道帶寬 ;

  • 網路負載重時 , 產生沖突開銷 ;
  • 網路負載輕時 , 共享信道效率高 , 單個站點可使用全部信道帶寬 ;

③ 輪詢訪問 MAC 協議 : 既不產生沖突 , 又占用全部帶寬 ;

  • 輪詢協議
  • 令牌傳遞協議 ( 重點 )

對于前面的兩種我們都已經學過了,接下來看輪詢訪問

輪詢協議

輪詢協議

在這里插入圖片描述

輪詢協議 : 主節點 輪流 詢問 從屬節點是否發送資料 ;

優點 : 每一次只允許一臺主機發送資料 , 不會產生沖突 ;

缺點 : 輪詢開銷 , 等待延遲,單點故障

輪詢開銷每次詢問都會發送資料幀,從機多了,開銷就大了
等待延遲 靠后的主機要發送資料,但是主機還是會從第一個開始問,是否發送資料,后面的主機就會一直等就會有等待延遲
單點故障當我們的主機宕機了,我們的從機就無法發送資料,沒人問他們了


令牌傳遞協議 ( 重點 )

令牌傳遞協議 ( 重點 )

在這里插入圖片描述

令牌傳遞協議 :

令牌 : 特殊格式的 MAC 控制幀 , 沒有任何資訊 ;

令牌 作用 : 控制信道使用 , 確保 同一時刻 , 只有一個站點 獨占信道 ;

發送資料前提 : 每個節點 都可以在 令牌持有時間內 , 獲得發送資料的權利 , 該時間并不是無限持有的 , 有時間限制 ;

令牌傳遞協議特點 :

① 優點 : 令牌環網 沒有 資料碰撞沖突 ;
② 缺點 :令牌開銷 , 等待延遲,單點故障

令牌傳遞協議 應用場景 : 令牌傳遞協議 應用于 令牌環網 ;

物理上是 星型拓撲 結構
邏輯上是 環形拓撲 結構

令牌傳遞協議 , 常用于負載較重 , 通信量較大的網路 ;

舉個栗子
網路上有 4 臺主機 A , B , C , D ;

① 令牌傳遞 : 網路處于空閑狀態 , 令牌就會在網路上各個主機之間進行傳遞 ;
就好像是繞著一個圈移動

持有令牌發送資料 : 當主機 A 想要發送資料時 , 當令牌傳遞到 A 時 , 將令牌修改為 使用 狀態 , 在 令牌幀后 , 加上資料 , 然后將 令牌 + 資料幀 發送出去 ; 該資料目的是要發送給 D 主機 ;

非目的主機繼續傳遞令牌 : 當資料到達 B 主機時 , B 主機查看該資料是否是發給自己的 , 如果是 , 就將資料復制保存下來 , 如果不是 , 就繼續傳遞下去

目的主機接收資料 繼續傳遞令牌 : 當 令牌 + 資料幀 傳遞到 AD主機時 , 發現資料是發給自己的 , 將資料復制下來 , 然后校驗通過后 , 將該令牌設定成閑置狀態 , 然后再傳遞給下一個主機 ;

發送主機收到自己發送的資料:當令牌到A哪里,他會檢查資料是否出錯,如果出錯重新發送資料


------🎃 歡迎點贊 👍 收藏 ?留言 📝-----
<-----希望大家期末💋🎊🎊🎊🎊🎊----->

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/401610.html

標籤:其他

上一篇:DDD 領域驅動設計落地實踐系列:工程結構分層設計

下一篇:程式實作蒙特卡洛演算法計算PI值

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more