環境 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 ...