分布式系統K 可靠演算法

2022-08-13 17:15:20 字數 1631 閱讀 3378

環境 vc6.0 控制台

**#include

<

stdio.h

>

#include

<

stdlib.h

>

#include 

<

memory.h

>

#define

size_node 100

#define

size_block 15

void

main()

fflush(stdin);

printf(

"請輸入檔案塊數(小於等於%d的正整數):

",size_block);

scanf("%u

", &m);

while

( m 

>

size_block )

printf(

"\n節點數:%d,檔案塊數:%d\n

",n,m);

/*動態分配二維陣列

*/bool

isformaterr 

=false

; //

判斷格式錯誤

intmax_antifactor =0

; //

最大反分布式係數

intdist_coefficient =0

; //

分布式係數

int*

antifactor_arrary =(

int*

)malloc(

sizeof

(int)*

m); 

//反分布式係數陣列

memset(antifactor_arrary, 

0, m

*sizeof

(antifactor_arrary));

//初始化陣列值為0

char

**node_array =(

char

**) malloc(

sizeof

(char*)

*n);

//節點陣列

for( 

inti =0

; i 

<

n; ++i)}

if( j 

==m )

isformaterr 

=false;}

} while

(isformaterr);

}printf(

"\n%d %d\n

",n,m);

for( i =0

; i 

<

n; ++

i)max_antifactor 

=antifactor_arrary[0];

for(

intj =1

; j 

<

m ; 

++j)

dist_coefficient =n 

-max_antifactor;

printf(

"分布式係數為:%d\n

",dist_coefficient);

free(antifactor_arrary);

free(node_array);

}

分布式系統 Raft演算法

什麼是拜占庭將軍問題?在很久很久以前,拜占庭是東羅馬帝國的首都。那個時候羅馬帝國國土遼闊,為了防禦目的,因此每個軍隊都分隔很遠,將軍與將軍之間只能靠信使傳遞訊息。在打仗的時候,拜占庭軍隊內所有將軍必需達成一致的共識,才能更好地贏得勝利。但是,在軍隊內有可能存有叛徒,擾亂將軍們的決定。這時候,在已知有...

分布式系統 Paxos演算法

paxos演算法解決的問題正是分布式一致性問題,即乙個分布式系統中的各個程序如何就某個值 決議 達成一致。paxos演算法執行在允許宕機故障的非同步系統中,不要求可靠的訊息傳遞,可容忍訊息丟失 延遲 亂序以及重複。它利用大多數 majority 機制保證了2f 1的容錯能力,即2f 1個節點的系統最...

redLock可靠的分布式鎖

本文是對 martin kleppmann 的文章 how to do distributed locking 部分內容的翻譯和總結,上次寫 redlock 的原因就是看到了 martin 的這篇文章,寫得很好,特此翻譯和總結。感興趣的同學可以翻看原文,相信會收穫良多。開篇作者認為現在 redis ...