本發(fā)明涉及配置文件同步,具體地說,涉及一種防火墻高可用配置文件同步方法、系統(tǒng)、設(shè)備及介質(zhì)。
背景技術(shù):
1、防火墻的高可用模式ha是一種保護(hù)網(wǎng)絡(luò)安全的重要機(jī)制。防火墻作為網(wǎng)絡(luò)安全的第一道防線,能夠監(jiān)控、過濾和控制進(jìn)出網(wǎng)絡(luò)的數(shù)據(jù)流。而高可用模式則是確保防火墻在面對故障或大量流量時(shí)仍能正常運(yùn)行的方式。
2、在過去,防火墻通常采用單機(jī)部署方式,這意味著所有網(wǎng)絡(luò)流量都經(jīng)過一臺防火墻設(shè)備。然而,這種單點(diǎn)故障的設(shè)計(jì)容易導(dǎo)致網(wǎng)絡(luò)斷連、延遲和停機(jī)時(shí)間增加,嚴(yán)重影響業(yè)務(wù)連續(xù)性和用戶體驗(yàn)。
3、為了解決這個(gè)問題,高可用模式被引入到防火墻架構(gòu)中。它的基本思想是通過將多個(gè)防火墻設(shè)備組成集群,實(shí)現(xiàn)負(fù)載均衡和冗余備份。這樣,在一臺設(shè)備故障或不可用時(shí),其他設(shè)備會(huì)接管流量處理,確保網(wǎng)絡(luò)流量的連續(xù)性和安全性。
4、高可用模式可以采用主備模式或主主模式。主備模式下,一臺設(shè)備作為主設(shè)備處理所有流量,而其他設(shè)備則處于備用狀態(tài)。當(dāng)主設(shè)備出現(xiàn)故障時(shí),備用設(shè)備會(huì)自動(dòng)接管。主模式下,所有設(shè)備都在工作狀態(tài),并共同處理流量,實(shí)現(xiàn)負(fù)載均衡。
5、高可用模式下,備機(jī)需要同步主機(jī)的文件配置,傳統(tǒng)的同步配置方法為手動(dòng)同步、scp協(xié)議傳輸、rcp協(xié)議復(fù)制、ftp文件傳輸、tftp文件傳輸?shù)取?/p>
6、手動(dòng)同步:管理員手動(dòng)將配置文件從主設(shè)備復(fù)制到備用設(shè)備。
7、scp,secure?copy:使用scp協(xié)議進(jìn)行文件復(fù)制和傳輸。管理員可以在主設(shè)備上將配置文件打包,然后使用scp在主備設(shè)備之間進(jìn)行文件傳輸。
8、rcp,remote?copy:使用rcp協(xié)議進(jìn)行文件復(fù)制。
9、ftp,file?transfer?protocol:使用ftp協(xié)議進(jìn)行文件傳輸。管理員可以將配置文件上傳到ftp服務(wù)器上,然后在備用設(shè)備上從ftp服務(wù)器下載文件。
10、tftp,trivial?file?transfer?protocol:使用tftp協(xié)議進(jìn)行文件傳輸。管理員可以在主設(shè)備上設(shè)置tftp服務(wù)器,備用設(shè)備從tftp服務(wù)器下載配置文件。
11、手動(dòng)同步:這需要管理員進(jìn)行協(xié)調(diào)和操作,可能會(huì)引入人為錯(cuò)誤和延遲,不夠高效。
12、scp,secure?copy:這種方法相對簡單,但需要手動(dòng)操作。
13、rcp,remote?copy:與scp類似,rcp也可以在主備設(shè)備之間進(jìn)行文件傳輸。然而,rcp在安全性方面相對較弱,因此可能需要額外的安全措施。
14、ftp,file?transfer?protocol:這種方法需要額外的ftp服務(wù)器和配置。
15、tftp,trivial?file?transfer?protocol:tftp是一種簡單的文件傳輸協(xié)議,適用于小文件傳輸。
16、這些傳統(tǒng)的配置文件同步方法基本上都需要管理員手動(dòng)操作或者使用第三方工具,存在一定的局限性和風(fēng)險(xiǎn)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明針對現(xiàn)有的配置文件同步方法需要管理員手動(dòng)操作或者使用第三方工具,存在一定的局限性和風(fēng)險(xiǎn)的問題,提出一種防火墻高可用配置文件同步方法、系統(tǒng)、設(shè)備及介質(zhì);首先根據(jù)心跳ip啟動(dòng)web文件服務(wù)器,調(diào)用高可用備機(jī)全量同步待同步配置文件;其次根據(jù)高可用主機(jī)的文件改變監(jiān)控例程,將一個(gè)監(jiān)控循環(huán)的改變文件寫入etcd數(shù)據(jù)庫;并調(diào)用make-mirror方法從etcd數(shù)據(jù)庫拉取待同步配置文件列表;然后調(diào)用高可用備機(jī)發(fā)布數(shù)據(jù)庫事務(wù),并根據(jù)所述數(shù)據(jù)庫事務(wù)的uc操作獲取map映射;最后監(jiān)控map映射,增量同步待同步配置文件;采用回調(diào)的方法實(shí)現(xiàn)了配置文件的增量同步,取消了crud函數(shù)與配置文件同步例程之間的例程同步,優(yōu)化了同步性能。
2、本發(fā)明具體實(shí)現(xiàn)內(nèi)容如下:
3、一種防火墻高可用配置文件同步方法,具體包括以下步驟:
4、步驟s1:根據(jù)獲取的心跳ip啟動(dòng)web文件服務(wù)器,調(diào)用高可用備機(jī)全量同步待同步配置文件;
5、步驟s2:根據(jù)高可用主機(jī)的文件改變監(jiān)控例程,將一個(gè)監(jiān)控循環(huán)的改變文件寫入至etcd數(shù)據(jù)庫;
6、步驟s3:調(diào)用make-mirror方法從所述etcd數(shù)據(jù)庫拉取待同步配置文件列表;
7、步驟s4:調(diào)用高可用備機(jī)發(fā)布數(shù)據(jù)庫事務(wù),并根據(jù)所述數(shù)據(jù)庫事務(wù)的uc操作獲取map映射;
8、步驟s5:調(diào)用高可用備機(jī)文件同步例程監(jiān)控map映射,增量同步待同步配置文件。
9、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述步驟s4具體包括以下步驟:
10、步驟s41:高可用備機(jī)發(fā)布數(shù)據(jù)庫事務(wù);
11、步驟s42:根據(jù)ligato?agent調(diào)用uc操作,根據(jù)所述uc操作獲取待同步配置文件對應(yīng)的map[string]int映射;其中string表示文件路徑+文件名,int=0表示配置文件未改變不需要同步,int>0表示配置文件改變需要同步。
12、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述步驟s5具體包括以下步驟:
13、步驟s51:獲取上一條用戶定義標(biāo)識符key的狀態(tài)編號lastrevision,并獲取當(dāng)前用戶定義標(biāo)識符key的狀態(tài)編號nextrevision;
14、步驟s52:比較狀態(tài)編號lastrevision和狀態(tài)編號nextrevision,若狀態(tài)編號nextrevision大于狀態(tài)編號lastrevision,則當(dāng)前用戶定義標(biāo)識符key下的value改變;
15、步驟s53:調(diào)用mirror?maker方法從所述etcd數(shù)據(jù)庫拉取高可用主機(jī)待同步配置文件列表,步驟s54:并調(diào)用高可用備機(jī)發(fā)布數(shù)據(jù)庫事務(wù),根據(jù)uc操作和所述待同步配置文件列表獲取待同步配置文件對應(yīng)的map[string]int映射;
16、步驟s55:根據(jù)所述map[string]int映射,同步例程監(jiān)控map[string]int映射,增量同步待同步配置文件。
17、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述步驟s53的具體操作為:發(fā)布etcd數(shù)據(jù)庫空事務(wù),根據(jù)所述etcd數(shù)據(jù)庫空事務(wù)檢查etcd數(shù)據(jù)庫事務(wù)的流程;若所述etcd數(shù)據(jù)庫的revision值不為0,則調(diào)用mirror?maker方法從所述etcd數(shù)據(jù)庫拉取高可用主機(jī)待同步配置文件列表。
18、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,在進(jìn)行所述步驟s1前包括:
19、將待同步配置文件按照路徑+名稱的形式根據(jù)字符串編入filesynclist.json文件。
20、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述數(shù)據(jù)庫事務(wù)包括update事務(wù)、create事務(wù)。
21、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述待同步配置文件的高可用模式的同步控制面為vpp-agent。
22、基于上述提出的防火墻高可用配置文件同步方法,為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,提出一種防火墻高可用配置文件同步系統(tǒng),包括全量同步單元、增量同步單元;
23、所述全量同步單元,用于啟動(dòng)web文件服務(wù)器,調(diào)用高可用備機(jī)全量同步待同步配置文件;
24、所述增量同步單元,用于首先根據(jù)高可用主機(jī)的文件改變監(jiān)控例程,將一個(gè)監(jiān)控循環(huán)的改變文件寫入至etcd數(shù)據(jù)庫;其次調(diào)用make-mirror方法從所述etcd數(shù)據(jù)庫拉取待同步配置文件列表;然后調(diào)用高可用備機(jī)發(fā)布數(shù)據(jù)庫事務(wù),并根據(jù)所述數(shù)據(jù)庫事務(wù)的uc操作獲取map映射;最后調(diào)用高可用備機(jī)文件同步例程監(jiān)控map映射,增量同步待同步配置文件。
25、基于上述提出的防火墻高可用配置文件同步方法,為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,提出一種電子設(shè)備,包括存儲器和處理器;所述存儲器用于存儲計(jì)算機(jī)程序;當(dāng)所述計(jì)算機(jī)程序在所述處理器上執(zhí)行時(shí),實(shí)現(xiàn)上述的防火墻高可用配置文件同步方法。
26、基于上述提出的防火墻高可用配置文件同步方法,為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,提出一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)上存儲有計(jì)算機(jī)指令;當(dāng)所述計(jì)算機(jī)指令在上述的電子設(shè)備上執(zhí)行時(shí),實(shí)現(xiàn)上述的防火墻高可用配置文件同步方法。
27、本發(fā)明具有以下有益效果:
28、(1)本發(fā)明根據(jù)etcd數(shù)據(jù)庫的鏡像方法,以及l(fā)igato框架對etcd鍵值監(jiān)控觸發(fā)的crud回調(diào)方法,實(shí)現(xiàn)了通知備機(jī)其主機(jī)的配置文件改變的目的,并且縮減了自建套接字作為網(wǎng)絡(luò)通信的開銷。
29、(2)本發(fā)明通過監(jiān)控主機(jī)配置文件的時(shí)間戳來判斷配置文件是否改變,沒有采用周期輪詢式的方法,而是采用回調(diào)的方法實(shí)現(xiàn)對應(yīng)配置文件的增量同步,取消了crud函數(shù)與配置文件同步例程之間的例程同步,達(dá)到了優(yōu)化同步性能的效果。