国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一次場監(jiān)融匯系統(tǒng)數(shù)據(jù)庫同步異常的分析研究

2020-09-27 23:18:21李建松
數(shù)碼設(shè)計 2020年10期

摘要:某地在用的場面監(jiān)視融匯系統(tǒng)無法正常使用錄像回放功能,經(jīng)過排查,確定功能異常的直接原因為備用數(shù)據(jù)庫的權(quán)限數(shù)據(jù)異常,并通過進一步的技術(shù)分析,發(fā)現(xiàn)權(quán)限數(shù)據(jù)異常則源自主從數(shù)據(jù)庫同步功能失效,文中對整個分析過程做了說明,并就此類情況給出了改進措施建議。

關(guān)鍵詞:場監(jiān)融匯系統(tǒng);數(shù)據(jù)庫同步;主鍵沖突;配置優(yōu)化

中圖分類號:TP311.13?文獻標(biāo)識碼:A?文章編號:1672-9129(2020)10-0035-01

1?引言

場監(jiān)融匯系統(tǒng)是空中交通管理部門在管制工作中用到的一套重要系統(tǒng),可以實現(xiàn)監(jiān)視、控制和路徑規(guī)劃功能[1],通過對監(jiān)視源數(shù)據(jù)的融匯和處理,為管制單位提供更加完整及時的機場場面運行態(tài)勢,提高機場交通運行效率。

2020年7月,某地在用場面監(jiān)視融匯系統(tǒng)無法使用錄像回放功能,按鈕被置為灰色無法選中,在此之前功能使用正常。從監(jiān)控系統(tǒng)初步確認各進程狀態(tài)正常,系統(tǒng)無告警信息。

通過對系統(tǒng)數(shù)據(jù)庫運行狀態(tài)的排查,找到了回放功能異常的直接原因為權(quán)限數(shù)據(jù)不正確,并結(jié)合MySQL數(shù)據(jù)庫主從同步的機制原理,進一步分析出權(quán)限數(shù)據(jù)的不正確源于數(shù)據(jù)庫主從同步未能成功執(zhí)行,并在最后給出了相應(yīng)的改進措施。

2?技術(shù)分析過程

2.1故障初步定位。根據(jù)進一步測試,系統(tǒng)其他各功能使用正常,但數(shù)據(jù)庫進行過自動切換。因錄像回放功能的異常不是出現(xiàn)在回放執(zhí)行過程中,而是功能無法選擇,故進一步將問題定位在MySQL數(shù)據(jù)庫中涉及用戶權(quán)限的部分數(shù)據(jù)異常。

場監(jiān)融匯系統(tǒng)由多個服務(wù)器來實現(xiàn)各方面的功能,包括監(jiān)視數(shù)據(jù)前端處理器(SDFP)、監(jiān)視數(shù)據(jù)處理器(MSDP)、告警處理和路徑規(guī)劃服務(wù)器(ALM)、飛行數(shù)據(jù)處理器(FDP)、數(shù)據(jù)記錄和回放(DRP)、數(shù)據(jù)通信服務(wù)器(DIO)等[2]。其中MySQL數(shù)據(jù)庫就包含在飛行數(shù)據(jù)處理器(FDP)中。所以,對MySQL數(shù)據(jù)庫的進一步檢查就定位到了FDP的服務(wù)器中。

2.2 MySQL主從數(shù)據(jù)庫同步機制介紹。MySQL數(shù)據(jù)庫配置為主從數(shù)據(jù)庫后,可以分為兩個角色,一臺服務(wù)器作為Master主服務(wù)器,接收實際的數(shù)據(jù)信息來源。Slave從服務(wù)器則由另外一臺服務(wù)器負責(zé),保持與主服務(wù)器的通信,并復(fù)制主服務(wù)器上的數(shù)據(jù)執(zhí)行動作[3]。一個完整的同步過程如下所述:

(1)從服務(wù)器向主服務(wù)器發(fā)送讀寫線程(IO線程)連接請求,并包含需要的文件內(nèi)容名稱和相應(yīng)的位置信息。

(2)主服務(wù)器收到來自從服務(wù)器的讀寫線程請求后,按照請求給從服務(wù)器發(fā)送相應(yīng)內(nèi)容(在此例中為mysql_log.*)。

(3)當(dāng)從服務(wù)器的讀寫線程收到主服務(wù)器發(fā)送的文件內(nèi)容后,會將數(shù)據(jù)寫入自身的中繼日志文件中(在此例中為FDP2-relay-bin.xxxxxx)。

(4)從服務(wù)器端的數(shù)據(jù)庫線程(SQL線程)會持續(xù)的檢測本地對應(yīng)日志文件是否發(fā)生變化,如果有新增加的內(nèi)容,則在從服務(wù)器上按照SQL規(guī)則執(zhí)行語句。

上述四個步驟完畢,就可以將主服務(wù)器端執(zhí)行過的SQL語句在從服務(wù)器上再次執(zhí)行,以此達到了主從數(shù)據(jù)庫的數(shù)據(jù)同步功能。

2.3場監(jiān)融匯系統(tǒng)主從數(shù)據(jù)庫同步情況。

(1)系統(tǒng)同步機制介紹。在正常情況下,場監(jiān)融匯系統(tǒng)的FDP1服務(wù)器中的MySQL數(shù)據(jù)庫作為主用,F(xiàn)DP2服務(wù)器中的MySQL數(shù)據(jù)庫作為備用,且FDP2的數(shù)據(jù)庫通過主從數(shù)據(jù)庫IO線程將FDP1的數(shù)據(jù)庫SQL語句執(zhí)行記錄日志mysql_log.*復(fù)制到自己的本地FDP2-relay-bin.*文件中,并通過同步線程執(zhí)行FDP2-relay-bin.*中的SQL語句,將FDP1對數(shù)據(jù)庫的所有操作在FDP2本地的數(shù)據(jù)庫中也同樣執(zhí)行一遍,這樣既可以實現(xiàn)與FDP1數(shù)據(jù)庫的同步效果。

(2)備用數(shù)據(jù)庫日志文件跟蹤。通過對FDP2服務(wù)器中分區(qū)的存儲文件排查,發(fā)現(xiàn)目錄下有多個中繼日志文件FDP2-relay-bin.*,排查到此,可以確定FDP2服務(wù)器未成功執(zhí)行中繼日志文件,并持續(xù)積壓在服務(wù)器中。

(3)關(guān)鍵進程狀態(tài)分析。FDP2服務(wù)器的數(shù)據(jù)庫中有兩個關(guān)鍵的進程,一個是Slave_SQL_Runnin進程,一個是Slave_IO_Running進程,一個負責(zé)與主機的IO通信,一個負責(zé)FDP2自己的mysql進程,有一個不正常都會導(dǎo)致數(shù)據(jù)同步異常。

進一步查看FDP2服務(wù)器中MySQL數(shù)據(jù)庫的同步狀態(tài)(如圖1所示)發(fā)現(xiàn),Slave_IO_Running和Slave_SQL_Running兩個關(guān)鍵進程的狀態(tài)都為No(正常狀態(tài)為Yes),Last _Error顯示錯誤代碼為“1062”,查詢MySQL錯誤代碼集發(fā)現(xiàn),此異常是指同步線程在做SQL語句插入數(shù)據(jù)庫操作的時候,重復(fù)執(zhí)行了相同的SQL語句引起主鍵沖突,導(dǎo)致同步線程卡住且不會繼續(xù)對后面的日志進行同步。

未被執(zhí)行同步操作的日志屬于未過期的日志,MySQL數(shù)據(jù)庫不會對其進行清除,所以同步日志一直堆積。之后因本地分區(qū)沒有足夠容量,同步IO線程無法正常將FDP1的MySQL日志信息復(fù)制到FDP2服務(wù)器的數(shù)據(jù)庫中,從而引起Slave_IO_Running狀態(tài)異常。

上述異常導(dǎo)致FDP2的數(shù)據(jù)庫內(nèi)容未與FDP1的數(shù)據(jù)庫內(nèi)容完全同步,其中涉及用戶權(quán)限部分的數(shù)據(jù)不一致導(dǎo)致系統(tǒng)自動切換到備用數(shù)據(jù)庫后,用戶沒有錄像回放的權(quán)限。

3.?后續(xù)改進措施

3.1同步執(zhí)行方面。MySQL數(shù)據(jù)庫在做主從數(shù)據(jù)庫復(fù)制時,由于多種可能的原因,可能會遇到SQL語句執(zhí)行不成功的情況,此時服務(wù)器不會再繼續(xù)同步 [4]。但部分錯誤是用戶可以忽略的,為了不影響后續(xù)語句的正常執(zhí)行,數(shù)據(jù)庫提供了slave-skip-errors配置選項,用來跳過已知的可忽略的錯誤情況,然后繼續(xù)執(zhí)行后續(xù)動作。

根據(jù)上述的分析,異常原因為“主鍵沖突”, MySQL錯誤代碼“1062”即對應(yīng)“主鍵沖突”錯誤,隨后在/usr目錄下的my.cnf配置文件中增加slave-skip-errors=1062配置項,防止重復(fù)插入數(shù)據(jù)造成SQL數(shù)據(jù)主鍵沖突,防止再次因同樣的原因出現(xiàn)數(shù)據(jù)庫同步進程卡死的問題。

3.2數(shù)據(jù)保存方面。即使我們進行了數(shù)據(jù)庫配置優(yōu)化等操作,避免了目前已知問題導(dǎo)致的數(shù)據(jù)庫同步問題,但數(shù)據(jù)庫的同步可能遇到的異常情況種類很多,除了上述的配置優(yōu)化以外,我們還需要在工作中根據(jù)維護工作開展情況,對數(shù)據(jù)庫備份工作進行動態(tài)調(diào)整,特別是針對一些重大的參數(shù)更新等場景,應(yīng)該有針對性的對數(shù)據(jù)庫進行備份,最大程度減少數(shù)據(jù)異常帶來的不正常情況。

參考文獻:

[1]高級場面活動引導(dǎo)與控制自動化系統(tǒng)技術(shù)要求.中華人民共和國民用航空行業(yè)標(biāo)準. MH/T 4042-2014.

[2] A-SMGCS維護手冊.

[3]何小川. MySQL數(shù)據(jù)庫主從復(fù)制的實現(xiàn)[J].廣東通信技術(shù),2017,37(10):54-56.

[4]周起如,陳宇收.MySQL數(shù)據(jù)庫數(shù)據(jù)復(fù)制方案研究[J].電腦編程技巧與維護術(shù),2018,11):84-85.

作者簡介:李建松;出生年月日:1986年8月13日 ;性別:男;民族:漢族;籍貫:云南永勝 ; 現(xiàn)任單位:中國民用航空西南地區(qū)空中交通管理局云南分局 ; 學(xué)歷:碩士研究生

嵩明县| 怀来县| 兴安县| 拉孜县| 崇阳县| 福鼎市| 乐亭县| 怀宁县| 平利县| 洮南市| 阳春市| 民勤县| 汝阳县| 富源县| 千阳县| 深水埗区| 龙江县| 南安市| 东丰县| 鞍山市| 阿拉善盟| 顺义区| 永善县| 栖霞市| 章丘市| 射阳县| 子洲县| 襄樊市| 突泉县| 察雅县| 昌图县| 呼和浩特市| 乌拉特前旗| 陕西省| 灯塔市| 铜梁县| 墨脱县| 安宁市| 年辖:市辖区| 澳门| 黑山县|