1.一種Git中央倉庫管理系統(tǒng),其包括:
多個倉庫中心,所述多個倉庫中心中的每個倉庫中心分別具有一個或多個后端;
同步模塊,在所述多個倉庫中心中的一個倉庫中心的后端被更新時,所述同步模塊同步更新所述多個倉庫中心中的其他倉庫中心的后端。
2.根據(jù)權(quán)利要求1所述的Git中央倉庫管理系統(tǒng),其中,所述多個倉庫中心中的每個倉庫中心包括前端,所述前端用于向用戶提供訪問接口并可以訪問所述后端以進(jìn)行讀和/或?qū)懖僮鳌?/p>
3.根據(jù)權(quán)利要求2所述的Git中央倉庫管理系統(tǒng),其中,在所述多個倉庫中心中的所述一個倉庫中心的后端被更新時,所述一個倉庫中心的前端調(diào)用所述同步模塊以更新同步所述其他倉庫中心的后端。
4.根據(jù)權(quán)利要求1-3中任一項所述的Git中央倉庫管理系統(tǒng),其中,所述多個倉庫中心中的一個或多個還包括路由模塊,所述路由模塊由所述前端調(diào)用,用于根據(jù)路由規(guī)則定位存儲有用戶所需代碼的后端。
5.根據(jù)權(quán)利要求1-4中任一項所述的Git中央倉庫管理系統(tǒng),其中,所述每個倉庫中心都具有所述同步模塊,倉庫中心的同步模塊之間采用標(biāo)準(zhǔn)Git協(xié)議通訊。
6.根據(jù)權(quán)利要求1-5中任一項所述的Git中央倉庫管理系統(tǒng),其中,所述多個倉庫中心中的一個倉庫中心的前端可以訪問所述多個倉庫中心中的其他倉庫中心的后端。
7.根據(jù)權(quán)利要求1-6中任一項所述的Git中央倉庫管理系統(tǒng),其中,所述每個倉庫中心具有同步狀態(tài)標(biāo)記以反映該倉庫中心的更新狀態(tài)。
8.根據(jù)權(quán)利要求7所述的Git中央倉庫管理系統(tǒng),其中,當(dāng)所述一個倉庫中心的后端被更新時,所述一個倉庫中心的同步模塊將所述其他倉庫中心的同步狀態(tài)標(biāo)記置為“未更新”。
9.根據(jù)權(quán)利要求8所述的Git中央倉庫管理系統(tǒng),其中,當(dāng)所述其他倉庫中心的后端被更新后,所述其他倉庫中心的同步狀態(tài)標(biāo)記被置為“已更新”。
10.根據(jù)權(quán)利要求1-6中任一項所述的Git中央倉庫管理系統(tǒng),其中,當(dāng)對所述一個倉庫中心執(zhí)行寫操作時,所述一個倉庫中心的前端產(chǎn)生所述寫操作的同步操作并將所述同步操作發(fā)送到所述一個倉庫中心的同步模塊,所述一個倉庫中心的所述同步模塊對所述其他倉庫中心的后端上的倉庫執(zhí)行所述同步操作,使得所述其他倉庫中心的后端上的倉庫與該倉庫同步。
11.根據(jù)權(quán)利要求1-10中任一項所述的Git中央倉庫管理系統(tǒng),其中,所述前端采用dRuby遠(yuǎn)程調(diào)用協(xié)議。
12.根據(jù)權(quán)利要求2-11中任一項所述的Git中央倉庫管理系統(tǒng),其中,所述前端對用戶訪問進(jìn)行權(quán)限檢查。
13.一種用于Git中央倉庫的控制方法,所述Git中央倉庫包括多個倉庫中心,所述方法包括:
接收來自用戶的對所述多個倉庫中心中的一個倉庫中心執(zhí)行更新的指令;
更新所述一個倉庫中心;
對所述多個倉庫中心中的其他倉庫中心執(zhí)行同步操作,使得所述其他倉庫中心與所述一個倉庫中心同步。
14.根據(jù)權(quán)利要求13所述的方法,還包括:對所述多個倉庫中心中的所述其他倉庫中心執(zhí)行同步操作之前,將所述其他倉庫中心的同步狀態(tài)標(biāo)記設(shè)置為“未同步”,并且在對所述多個倉庫中心中的所述其他倉庫中心執(zhí)行同步操作之后,將所述其他倉庫中心的同步狀態(tài)標(biāo)記設(shè)置為“已同步”。。
15.根據(jù)權(quán)利要求13-14中任一項所述的方法,其中,使用標(biāo)準(zhǔn)Git協(xié)議來執(zhí)行所述同步操作。
16.根據(jù)權(quán)利要求13-15中任一項所述的方法,還包括:當(dāng)接收到用戶對所述多個倉庫中心中的一個倉庫中心執(zhí)行讀取的指令時,若所述一個倉庫中心的同步狀態(tài)標(biāo)記為“未同步”,則讀取同步狀態(tài)標(biāo)記為“已同步”的倉庫中心的數(shù)據(jù)。