欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于mysql的結(jié)構(gòu)差異處理方法及系統(tǒng)的制作方法

文檔序號(hào):8905265閱讀:300來源:國(guó)知局
一種基于mysql的結(jié)構(gòu)差異處理方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,尤其涉及一種基于MYSQL的結(jié)構(gòu)差異處理方法及系統(tǒng)。
【背景技術(shù)】
[0002]數(shù)據(jù)庫(kù)作為系統(tǒng)的根基,其變化可以說是無時(shí)不刻的,在研發(fā)過程中增加了新的功能需求,修改了原有的需求,生產(chǎn)環(huán)境中對(duì)系統(tǒng)進(jìn)行了實(shí)時(shí)的優(yōu)化調(diào)整,這些都將引發(fā)了數(shù)據(jù)庫(kù)的變更。
[0003]不同的操作人員,比如不同的開發(fā)人員,不同的維護(hù)人員,對(duì)部署在不同環(huán)境中的一套系統(tǒng)進(jìn)行操作,特別是如今進(jìn)入互聯(lián)網(wǎng)時(shí)代,敏捷開發(fā)的流行,會(huì)導(dǎo)致變化頻繁,因此需要去記錄這些變化,并編寫升級(jí)和處理方案。
[0004]目前的開發(fā)實(shí)踐中,每個(gè)涉及的數(shù)據(jù)庫(kù)開發(fā)人員都需要自己記錄自己對(duì)數(shù)據(jù)庫(kù)的修改,并編寫變更處理腳本,然后統(tǒng)一匯總編寫數(shù)據(jù)庫(kù)的升級(jí)文件,進(jìn)而進(jìn)行版本發(fā)布。運(yùn)維人員也需要記錄自己的調(diào)整,并確保及時(shí)反饋和應(yīng)用到其他服務(wù)器,防止不同環(huán)境運(yùn)行了不一樣的數(shù)據(jù)庫(kù)。所以,現(xiàn)有的操作方式,開發(fā)人員需要去編寫腳本,投入大量時(shí)間,也容易打斷思維慣性,實(shí)踐中也常出現(xiàn)人為因素忘記記錄導(dǎo)致缺失升級(jí)模塊的事情。在實(shí)際運(yùn)營(yíng)中也經(jīng)常出現(xiàn)變更只生效到了部分服務(wù)器,并且難以排查。
[0005]因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。

【發(fā)明內(nèi)容】

[0006]鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種基于MYSQL的結(jié)構(gòu)差異處理方法及系統(tǒng),旨在解決現(xiàn)有的數(shù)據(jù)庫(kù)結(jié)構(gòu)差異解處理方法花費(fèi)時(shí)間多、效率低、易出錯(cuò)等冋題。
[0007]本發(fā)明的技術(shù)方案如下:
一種基于MYSQL的結(jié)構(gòu)差異處理方法,其中,包括步驟:
讀取標(biāo)準(zhǔn)服務(wù)器與目標(biāo)服務(wù)器的結(jié)構(gòu)信息,根據(jù)所述結(jié)構(gòu)信息比較標(biāo)準(zhǔn)服務(wù)器與目標(biāo)服務(wù)器之間的結(jié)構(gòu)差異,輸出可重復(fù)執(zhí)行的差異同步腳本;
根據(jù)所述差異同步腳本對(duì)目標(biāo)服務(wù)器執(zhí)行同步操作,使目標(biāo)服務(wù)器與標(biāo)準(zhǔn)服務(wù)器保持結(jié)構(gòu)一致。
[0008]所述的基于MYSQL的結(jié)構(gòu)差異處理方法,其中,在讀取結(jié)構(gòu)信息之前還包括:
預(yù)先設(shè)置目標(biāo)服務(wù)器的賬號(hào)密碼以及標(biāo)準(zhǔn)服務(wù)器的賬號(hào)密碼;
設(shè)置需要比較的數(shù)據(jù)庫(kù)的名稱;
以及差異同步腳本的生成路徑。
[0009]所述的基于MYSQL的結(jié)構(gòu)差異處理方法,其中,結(jié)構(gòu)差異的比較過程具體包括: 自動(dòng)將目標(biāo)服務(wù)器與標(biāo)準(zhǔn)服務(wù)器進(jìn)行連接;
循環(huán)選擇目標(biāo)服務(wù)器與標(biāo)準(zhǔn)服務(wù)器中的數(shù)據(jù)庫(kù),獲取相應(yīng)結(jié)構(gòu)信息并解析; 根據(jù)解析的結(jié)構(gòu)信息比較標(biāo)準(zhǔn)服務(wù)器與目標(biāo)服務(wù)器之間的結(jié)構(gòu)差異。
[0010]所述的基于MYSQL的結(jié)構(gòu)差異處理方法,其中,輸出可重復(fù)執(zhí)行的差異同步腳本的過程包括:
當(dāng)目標(biāo)服務(wù)器有結(jié)構(gòu)信息缺失時(shí),則增加生成容錯(cuò)判重的新建SQL語(yǔ)句;
當(dāng)目標(biāo)服務(wù)器有結(jié)構(gòu)信息變更時(shí),則增加生成容錯(cuò)判重的修改SQL語(yǔ)句;
當(dāng)目標(biāo)服務(wù)器有結(jié)構(gòu)信息多余時(shí),則增加生成容錯(cuò)判重的刪除SQL語(yǔ)句。
[0011]所述的基于MYSQL的結(jié)構(gòu)差異處理方法,其中,定時(shí)進(jìn)行標(biāo)準(zhǔn)服務(wù)器與目標(biāo)服務(wù)器之間結(jié)構(gòu)差異的比較,并輸出差異腳本文件。
[0012]一種基于MYSQL的結(jié)構(gòu)差異處理系統(tǒng),其中,包括:
輸出模塊,用于讀取標(biāo)準(zhǔn)服務(wù)器與目標(biāo)服務(wù)器的結(jié)構(gòu)信息,根據(jù)所述結(jié)構(gòu)信息比較標(biāo)準(zhǔn)服務(wù)器與目標(biāo)服務(wù)器之間的結(jié)構(gòu)差異,輸出可重復(fù)執(zhí)行的差異同步腳本;
同步模塊,用于根據(jù)所述差異同步腳本對(duì)目標(biāo)服務(wù)器執(zhí)行同步操作,使目標(biāo)服務(wù)器與標(biāo)準(zhǔn)服務(wù)器保持結(jié)構(gòu)一致。
[0013]所述的基于MYSQL的結(jié)構(gòu)差異處理系統(tǒng),其中,還包括:
預(yù)設(shè)模塊,用于預(yù)先設(shè)置目標(biāo)服務(wù)器的賬號(hào)密碼以及標(biāo)準(zhǔn)服務(wù)器的賬號(hào)密碼;設(shè)置需要比較的數(shù)據(jù)庫(kù)的名稱;以及差異同步腳本的生成路徑。
[0014]所述的基于MYSQL的結(jié)構(gòu)差異處理系統(tǒng),其中,所述輸出模塊具體包括:
連接單元,用于自動(dòng)將目標(biāo)服務(wù)器與標(biāo)準(zhǔn)服務(wù)器進(jìn)行連接;
解析單元,用于循環(huán)選擇目標(biāo)服務(wù)器與標(biāo)準(zhǔn)服務(wù)器中的數(shù)據(jù)庫(kù),獲取相應(yīng)結(jié)構(gòu)信息并解析;
比較單元,用于根據(jù)解析的結(jié)構(gòu)信息比較標(biāo)準(zhǔn)服務(wù)器與目標(biāo)服務(wù)器之間的結(jié)構(gòu)差異。
[0015]所述的基于MYSQL的結(jié)構(gòu)差異處理系統(tǒng),其中,所述輸出模塊還包括:
增加單元,用于當(dāng)目標(biāo)服務(wù)器有結(jié)構(gòu)信息缺失時(shí),則增加生成容錯(cuò)判重的新建SQL語(yǔ)句;
變更單元,用于當(dāng)目標(biāo)服務(wù)器有結(jié)構(gòu)信息變更時(shí),則增加生成容錯(cuò)判重的修改SQL語(yǔ)句;
刪除單元,用于當(dāng)目標(biāo)服務(wù)器有結(jié)構(gòu)信息多余時(shí),則增加生成容錯(cuò)判重的刪除SQL語(yǔ)句。
[0016]所述的基于MYSQL的結(jié)構(gòu)差異處理系統(tǒng),其中,所述輸出模塊中,定時(shí)進(jìn)行標(biāo)準(zhǔn)服務(wù)器與目標(biāo)服務(wù)器之間結(jié)構(gòu)差異的比較,并輸出差異腳本文件。
[0017]有益效果:本發(fā)明可自動(dòng)檢測(cè)不同數(shù)據(jù)庫(kù)結(jié)構(gòu)中存在的差異,并自動(dòng)編碼生成出處理差異的可執(zhí)行方案(差異同步腳本),簡(jiǎn)化了版本升級(jí)的流程,增加升級(jí)的準(zhǔn)確性,確保生產(chǎn)環(huán)境的正確性,節(jié)省了人力消耗,同時(shí)大大降低人為的失誤因數(shù)。并且這種腳本是容錯(cuò)的,可重復(fù)執(zhí)行。
【附圖說明】
[0018]圖1為本發(fā)明一種基于MYSQL的結(jié)構(gòu)差異處理方法較佳實(shí)施例的流程圖;
圖2為本發(fā)明中MYSQL系統(tǒng)信息庫(kù)的截圖;
圖3為圖1所示方法中步驟SlOl讀取結(jié)構(gòu)信息之前的具體流程圖; 圖4為圖1所示方法中步驟SlOl中結(jié)構(gòu)差異比較過程的具體流程圖;
圖5為圖1所示方法中步驟SlOl中生成可重復(fù)執(zhí)行的差異同步腳本的具體流程圖; 圖6為本發(fā)明一種基于MYSQL的結(jié)構(gòu)差異處理系統(tǒng)較佳實(shí)施例的結(jié)構(gòu)框圖;
圖7為圖6所示系統(tǒng)中輸出模塊的一具體結(jié)構(gòu)框圖;
圖8為圖6所示系統(tǒng)中輸出模塊的另一具體結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0019]本發(fā)明提供一種基于MYSQL的結(jié)構(gòu)差異處理方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0020]請(qǐng)參閱圖1,圖1為本發(fā)明一種基于MYSQL的結(jié)構(gòu)差異處理方法較佳實(shí)施例的流程圖,如圖所示,其包括步驟:
5101、讀取標(biāo)準(zhǔn)服務(wù)器與目標(biāo)服務(wù)器的結(jié)構(gòu)信息,根據(jù)所述結(jié)構(gòu)信息比較標(biāo)準(zhǔn)服務(wù)器與目標(biāo)服務(wù)器之間的結(jié)構(gòu)差異,輸出可重復(fù)執(zhí)行的差異同步腳本;
5102、根據(jù)所述差異同步腳本對(duì)目標(biāo)服務(wù)器執(zhí)行同步操作,使目標(biāo)服務(wù)器與標(biāo)準(zhǔn)服務(wù)器保持結(jié)構(gòu)一致。
[0021]本發(fā)明利用MYSQL數(shù)據(jù)庫(kù)的內(nèi)核結(jié)構(gòu)信息,對(duì)標(biāo)準(zhǔn)服務(wù)器與目標(biāo)服務(wù)器的數(shù)據(jù)庫(kù)的結(jié)構(gòu)進(jìn)行解析,對(duì)比解析結(jié)果得出有差異的結(jié)構(gòu)信息,再根據(jù)這些結(jié)構(gòu)信息來生成處理差異的差異同步腳本,按照該差異同步腳本進(jìn)行同步操作,從而將之前需要人工執(zhí)行的操作全部自動(dòng)化完成,大大降低了成本和風(fēng)險(xiǎn)。本發(fā)明可自動(dòng)檢測(cè)不同數(shù)據(jù)庫(kù)結(jié)構(gòu)中存在的差異,并自動(dòng)編碼生成出處理差異的可執(zhí)行方案(差異同步腳本),簡(jiǎn)化了版本升級(jí)的流程,增加升級(jí)的準(zhǔn)確性,確保生產(chǎn)環(huán)境的正確性,節(jié)省了人力消耗,同時(shí)大大降低人為的失誤因數(shù)。并且這種腳本是容錯(cuò)的,可重復(fù)執(zhí)行。
[0022]在一個(gè)產(chǎn)品項(xiàng)目中,通常會(huì)使用數(shù)據(jù)庫(kù)中的這些結(jié)構(gòu):
SCHEMA 數(shù)據(jù)庫(kù)(即 DATABASE)
TABLE 表 CLOLMN 字段 INDEX 索引 VIEW視圖
PROCEDURE 存儲(chǔ)過程 FUNCT1N 函數(shù) TRIGGER 觸發(fā)器 EVENTS 時(shí)間
這些結(jié)構(gòu)組成了一個(gè)數(shù)據(jù)存儲(chǔ)的體系。
[0023]在MYSQL數(shù)據(jù)庫(kù)的系統(tǒng)中,存在一個(gè)系統(tǒng)的shecma:1nformat1n_schema。如圖2所示:MYSQL把數(shù)據(jù)庫(kù)的各種信息顯示到這里,提供給開發(fā)人員使用,其中也包含了所增加的業(yè)務(wù)數(shù)據(jù)的結(jié)構(gòu)信息。
[0024]例如:當(dāng)新增了一個(gè)表,這個(gè)庫(kù)里面的TABLES表,就會(huì)增加一條記錄,來記錄新建表的相關(guān)信息。
[0025]圖2 中,informat1n_schema 為系統(tǒng)信息庫(kù)下屬的COLUMNS表,記錄了插入表的字段信息。
[0026]下屬的EVENTS表,記錄了插入的事件信息。
[0027]下屬的ROUTINES表,記錄了插入的存儲(chǔ)過程和函數(shù)信息。
[0028]其他的結(jié)構(gòu)也都可以找出對(duì)應(yīng)的信息記錄。
[0029]所以本發(fā)明可對(duì)比目標(biāo)數(shù)據(jù)庫(kù)和標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)中相對(duì)應(yīng)的結(jié)構(gòu)信息,尋找差異,并生成處理差異的可執(zhí)行文件(差異同步腳本)。
[0030]如圖3所示,在讀取結(jié)構(gòu)信息之前還包括:
S201、預(yù)先設(shè)置目標(biāo)服務(wù)器的賬號(hào)密碼以及標(biāo)準(zhǔn)服務(wù)器的賬號(hào)密碼;包括設(shè)置好目標(biāo)服務(wù)器和標(biāo)準(zhǔn)服務(wù)器的IP地址。
[0031]S202、設(shè)置需要比較的數(shù)據(jù)庫(kù)的名稱,即設(shè)置好需要比對(duì)哪些數(shù)據(jù)庫(kù),以冒號(hào)分隔的方式成對(duì)設(shè)置;以及差異同步腳本的生成路徑。
[0032]以開發(fā)環(huán)境下的應(yīng)用為例,將開發(fā)服務(wù)器的IP地址設(shè)置為標(biāo)準(zhǔn)服務(wù)器IP,設(shè)置好賬號(hào)密碼;并將測(cè)試服務(wù)器的IP地址設(shè)置為目標(biāo)服務(wù)器IP,設(shè)置好賬號(hào)密碼;設(shè)置需要比對(duì)哪些數(shù)據(jù)庫(kù),以冒號(hào)分隔方式成對(duì)設(shè)置,設(shè)置好差異同步腳本的生成路徑。
[0033]如圖4所示,結(jié)構(gòu)差異的比較過程具體包括:
5301、自動(dòng)將目標(biāo)服務(wù)器與標(biāo)準(zhǔn)服務(wù)器進(jìn)行連接;
5302、循環(huán)選擇目標(biāo)服務(wù)器與標(biāo)準(zhǔn)服務(wù)器中的數(shù)據(jù)庫(kù),獲取相應(yīng)結(jié)構(gòu)信息并解析;
5303、根據(jù)解析的結(jié)構(gòu)信息比較標(biāo)準(zhǔn)服務(wù)器與目標(biāo)服務(wù)器之間的結(jié)構(gòu)差異。
[0034]具體來說,分別從兩個(gè)服務(wù)器獲取數(shù)據(jù)庫(kù)的結(jié)構(gòu)信息進(jìn)行解析,包含表,視圖,存儲(chǔ)過程,函數(shù),觸發(fā)器,事件等結(jié)構(gòu),比較它們之間的差異。
[0035]如圖5所示,輸出可重復(fù)執(zhí)行的差異同步腳本的過程具體包括:
5401、目標(biāo)服務(wù)器有結(jié)構(gòu)信息缺失時(shí),則增加生成容錯(cuò)判重的新建SQL語(yǔ)句;
5402、當(dāng)目標(biāo)服務(wù)器有結(jié)構(gòu)信息變更時(shí),則增加生成容錯(cuò)判重的修改SQL語(yǔ)句;
5403、當(dāng)目標(biāo)服務(wù)器有結(jié)構(gòu)信息多余時(shí),則增加生成容錯(cuò)判重的刪除SQL
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
合水县| 丹江口市| 兰考县| 剑河县| 鹤岗市| 深泽县| 赤峰市| 邻水| 越西县| 工布江达县| 巴林左旗| 宁津县| 大邑县| 昌都县| 唐海县| 永平县| 江口县| 来安县| 海原县| 兴化市| 金湖县| 织金县| 清远市| 迁安市| 泌阳县| 香格里拉县| 胶南市| 张家界市| 杭锦旗| 从江县| 临邑县| 稷山县| 化德县| 英德市| 志丹县| 聊城市| 东阳市| 阜新市| 泰宁县| 蓬莱市| 台中市|