本發(fā)明涉及數(shù)據(jù)遷移領(lǐng)域,具體而言,涉及一種物理機(jī)數(shù)據(jù)遷移至云端的方法、裝置和系統(tǒng)。
背景技術(shù):
云計(jì)算作為基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動(dòng)態(tài)易拓展且經(jīng)常是虛擬化的資源。隨著云計(jì)算的不斷發(fā)展、云計(jì)算應(yīng)用的不斷深入,以及對大數(shù)據(jù)處理需求的不斷擴(kuò)大,越來越多的應(yīng)用被遷移到云上。
然而現(xiàn)有技術(shù)在進(jìn)行將應(yīng)用遷移至云上的過程中,需要停止應(yīng)用的全部功能或部分功能,以至于在遷移的過程中,用戶使用或不能正常使用應(yīng)用。對于一些在線應(yīng)用,比如電子商務(wù)的交易系統(tǒng)等,為了應(yīng)用遷移而停止應(yīng)用會帶來不好的用戶體驗(yàn),甚至造成交易量的下跌,且現(xiàn)有的上云方案大多依賴較多的中間件,特別是數(shù)據(jù)庫訪問等中間件(如淘寶的tddl)和應(yīng)用改造,成本較高。而且對于不同開發(fā)語言不具有通用性,因此不具有普適的可行性。
針對現(xiàn)有技術(shù)中將應(yīng)用遷移至云上的過程會導(dǎo)致客戶端停止使用的技術(shù)問題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種物理機(jī)數(shù)據(jù)遷移至云端的方法、裝置和系統(tǒng),以至少解決現(xiàn)有技術(shù)中將應(yīng)用遷移至云上的過程中會導(dǎo)致客戶端停止使用的技術(shù)問題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種物理機(jī)數(shù)據(jù)遷移至云端的方法,包括:將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,源數(shù)據(jù)庫服務(wù)器為物理機(jī),目標(biāo)數(shù)據(jù)庫服務(wù)器為部署在云端上的服務(wù)器;在源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成之后,將第一應(yīng)用服務(wù)器訪問的數(shù)據(jù)庫服務(wù)器由源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,第一應(yīng)用服務(wù)器為當(dāng)前客戶端用戶用于訪問源數(shù)據(jù)庫的物理機(jī);通過修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息,將客戶端用戶通過第一域名訪問的應(yīng)用服務(wù)器由第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器,其中,第二應(yīng)用服 務(wù)器為部署在云端上的應(yīng)用服務(wù)器;在成功建立第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路之后,客戶端用戶通過第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種物理機(jī)數(shù)據(jù)遷移至云端的裝置,包括:同步模塊,用于將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,源數(shù)據(jù)庫服務(wù)器為物理機(jī),目標(biāo)數(shù)據(jù)庫服務(wù)器為部署在云端上的服務(wù)器;切換模塊,用于在源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成之后,將第一應(yīng)用服務(wù)器訪問的數(shù)據(jù)庫服務(wù)器由源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,第一應(yīng)用服務(wù)器為當(dāng)前客戶端用戶用于訪問源數(shù)據(jù)庫的物理機(jī);更換模塊,用于通過修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息,將客戶端用戶通過第一域名訪問的應(yīng)用服務(wù)器由第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器,其中,第二應(yīng)用服務(wù)器為部署在云端上的應(yīng)用服務(wù)器;訪問模塊,用于在成功建立第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路之后,客戶端用戶通過第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫。
根據(jù)本發(fā)明實(shí)施例的再一方面,還提供了一種物理機(jī)數(shù)據(jù)遷移至云端的系統(tǒng),包括:源數(shù)據(jù)庫服務(wù)器,用于提供源數(shù)據(jù)庫,其中,源數(shù)據(jù)庫服務(wù)器為物理機(jī);目標(biāo)數(shù)據(jù)庫服務(wù)器,與源數(shù)據(jù)庫服務(wù)器建立通訊關(guān)系,用于接收源數(shù)據(jù)庫服務(wù)器同步的源數(shù)據(jù)庫,其中,目標(biāo)數(shù)據(jù)庫服務(wù)器為部署在云端上的服務(wù);第一應(yīng)用服務(wù)器,在源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成之后,與目標(biāo)數(shù)據(jù)庫服務(wù)器通信,用于將當(dāng)前訪問的數(shù)據(jù)庫服務(wù)器由源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,第一應(yīng)用服務(wù)器為當(dāng)前客戶端用戶用于訪問源數(shù)據(jù)庫的物理機(jī);dns服務(wù)器,與第一應(yīng)用服務(wù)器和第二應(yīng)用服務(wù)器通信,用于修改與第一域名將已經(jīng)綁定的地址信息;第二應(yīng)用服務(wù)器,與目標(biāo)數(shù)據(jù)庫建立訪問鏈路,用于客戶端用戶讀取dns服務(wù)器已經(jīng)修改后的通過第一域名訪問的第二應(yīng)用服務(wù)器,使得客戶端用戶通過第二應(yīng)用服務(wù)器訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫,其中,第二應(yīng)用服務(wù)器為部署在云端上的應(yīng)用服務(wù)器。
在本發(fā)明實(shí)施例中,采用將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器,在所述源數(shù)據(jù)庫服務(wù)器確認(rèn)所述源數(shù)據(jù)庫同步完成之后,將第一應(yīng)用服務(wù)器訪問的數(shù)據(jù)庫服務(wù)器由所述源數(shù)據(jù)庫服務(wù)器切換為所述目標(biāo)數(shù)據(jù)庫服務(wù)器的方式,通過修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息,達(dá)到了將所述客戶端用戶通過所述第一域名訪問的應(yīng)用服務(wù)器由所述第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器的目的,從而實(shí)現(xiàn)了將應(yīng)用遷移至云端時(shí)應(yīng)用能夠繼續(xù)被用戶使用的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)中將應(yīng)用遷移至云上的過程中會導(dǎo)致客戶端停止使用的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是本發(fā)明實(shí)施例的一種物理機(jī)數(shù)據(jù)遷移至云端的方法的計(jì)算機(jī)終端的硬件結(jié)構(gòu)框圖;
圖2是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的方法的流程圖;
圖3是根據(jù)本申請實(shí)施例的一種用戶通過第一應(yīng)用服務(wù)器訪問源數(shù)據(jù)庫服務(wù)器的示意圖;
圖4是根據(jù)本申請實(shí)施例的一種用戶通過第一應(yīng)用服務(wù)器訪問目標(biāo)數(shù)據(jù)庫服務(wù)器的示意圖;
圖5是根據(jù)本申請實(shí)施例的一種用戶通過第二應(yīng)用服務(wù)器訪問目標(biāo)數(shù)據(jù)庫服務(wù)器的示意圖;
圖6是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的方法的流程圖;
圖7是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的方法的交互圖;
圖8是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的裝置的結(jié)構(gòu)示意圖;
圖9是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的裝置的結(jié)構(gòu)示意圖;
圖10是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的裝置的結(jié)構(gòu)示意圖;
圖11是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的裝置的結(jié)構(gòu)示意圖;
圖12是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的裝置的結(jié)構(gòu)示意圖;
圖13是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的裝置的結(jié)構(gòu)示意圖;
圖14是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的裝置的結(jié)構(gòu)示 意圖;
圖15是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的裝置的結(jié)構(gòu)示意圖;
圖16是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的系統(tǒng)的結(jié)構(gòu)示意圖;以及
圖17是根據(jù)本申請實(shí)施例的一種計(jì)算機(jī)終端的結(jié)構(gòu)框圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
首先,在對本申請實(shí)施例進(jìn)行描述的過程中出現(xiàn)的部分名詞或術(shù)語適用于如下解釋:
dns服務(wù)器:由域名解析器和域名服務(wù)器組成,具有將域名轉(zhuǎn)換為ip地址的功能。
host文件:是一種沒有拓展名的系統(tǒng)文件,用于將一些常用的網(wǎng)站域名與其對應(yīng)的ip地址建立一個(gè)關(guān)聯(lián)的“數(shù)據(jù)庫”。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,還提供了一種物理機(jī)數(shù)據(jù)遷移至云端的方法實(shí)施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本申請實(shí)施例一所提供的方法實(shí)施例可以在移動(dòng)終端、計(jì)算機(jī)終端或者類似的運(yùn)算裝置中執(zhí)行。以運(yùn)行在計(jì)算機(jī)終端上為例,圖1是本發(fā)明實(shí)施例的一種物理機(jī)數(shù)據(jù)遷移至云端的方法的計(jì)算機(jī)終端的硬件結(jié)構(gòu)框圖。如圖1所示,計(jì)算機(jī)終端10可以包括一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器102(處理器102可以包括但不限于微處理器mcu或可編程邏輯器件fpga等的處理裝置)、用于存儲數(shù)據(jù)的存儲器104、以及用于通信功能的傳輸模塊106。本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,計(jì)算機(jī)終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。
存儲器104可用于存儲應(yīng)用軟件的軟件程序以及模塊,如本發(fā)明實(shí)施例中的物理機(jī)數(shù)據(jù)遷移至云端的方法對應(yīng)的程序指令/模塊,處理器102通過運(yùn)行存儲在存儲器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的物理機(jī)數(shù)據(jù)遷移至云端的方法。存儲器104可包括高速隨機(jī)存儲器,還可包括非易失性存儲器,如一個(gè)或者多個(gè)磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實(shí)例中,存儲器104可進(jìn)一步包括相對于處理器102遠(yuǎn)程設(shè)置的存儲器,這些遠(yuǎn)程存儲器可以通過網(wǎng)絡(luò)連接至計(jì)算機(jī)終端10。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
傳輸裝置106用于經(jīng)由一個(gè)網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實(shí)例可包括計(jì)算機(jī)終端10的通信供應(yīng)商提供的無線網(wǎng)絡(luò)。在一個(gè)實(shí)例中,傳輸裝置106包括一個(gè)網(wǎng)絡(luò)適配器(networkinterfacecontroller,nic),其可通過基站與其他網(wǎng)絡(luò)設(shè)備相連從而可與互聯(lián)網(wǎng)進(jìn)行通訊。在一個(gè)實(shí)例中,傳輸裝置106可以為射頻(radiofrequency,rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進(jìn)行通訊。
在上述運(yùn)行環(huán)境下,本申請?zhí)峁┝巳鐖D2所示的物理機(jī)數(shù)據(jù)遷移至云端的方法。圖2是根據(jù)本申請實(shí)施例的一種可選的物理機(jī)數(shù)據(jù)遷移至云端的方法的流程圖,如圖2所示,該方法包括:
步驟s23,將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,源數(shù)據(jù)庫服務(wù)器為物理機(jī),目標(biāo)數(shù)據(jù)庫服務(wù)器為部署在云端上的服務(wù)器。
具體的,在上述步驟中,源數(shù)據(jù)庫可以是用于存放在物理機(jī)上的用戶使用客戶端時(shí)產(chǎn)生的數(shù)據(jù)的數(shù)據(jù)庫,物理機(jī)是相對于虛擬機(jī)而言的實(shí)體計(jì)算機(jī)。
在一種可選的方案中,上述源數(shù)據(jù)庫可以是客戶端在物理機(jī)上的數(shù)據(jù)庫,上述步驟將處于物理機(jī)上的數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫,同步至云端上的服務(wù)器,使云端上的服務(wù)器中包含與源數(shù)據(jù)庫一致的數(shù)據(jù)庫。
此處需要說明的是,上述云端上的服務(wù)器為部署于網(wǎng)絡(luò)端的服務(wù)器,可以是部署在云端的虛擬服務(wù)器,但不限于此。
步驟s25,在源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成之后,將第一應(yīng)用服務(wù)器訪問的數(shù)據(jù)庫服務(wù)器由源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,第一應(yīng)用服務(wù)器為當(dāng)前客戶端用戶用于訪問源數(shù)據(jù)庫的物理機(jī)。
在一種可選的實(shí)施例中,上述當(dāng)前客戶端可以是電子商務(wù)交易系統(tǒng),上述源數(shù)據(jù)庫可以是電子商務(wù)交易系統(tǒng)在物理機(jī)上的數(shù)據(jù)庫,在將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的步驟完成之前,結(jié)合圖3所示,用戶在使用電子商務(wù)交易系統(tǒng)的過程中,通過負(fù)載均衡器訪問物理機(jī)中的源數(shù)據(jù)庫讀取或?qū)懭胂嚓P(guān)數(shù)據(jù),在將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的步驟完成之后,結(jié)合圖4所示,用戶在使用電子商務(wù)交易系統(tǒng)的過程中,通過訪問云端上的服務(wù)器中的源數(shù)據(jù)庫讀取或?qū)懭胂嚓P(guān)數(shù)據(jù)。
步驟s27,通過修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息,將客戶端用戶通過第一域名訪問的應(yīng)用服務(wù)器由第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器,其中,第二應(yīng)用服務(wù)器為部署在云端上的應(yīng)用服務(wù)器。
具體的,上述步驟中第一域名綁定的地址信息為與第一域名對應(yīng)的物理機(jī)中的ip地址信息。
在一種可選的實(shí)施例中,dns服務(wù)器中,第一域名與物理機(jī)中第一域名對應(yīng)的ip地址具有綁定關(guān)系,用戶通過輸入第一域名即可訪ip地址在dns服務(wù)器中與第一域名對應(yīng)的物理機(jī),通過將dns服務(wù)器中,與第一域名已經(jīng)綁定的地址信息修改為第一域名在云端服務(wù)器中對應(yīng)的地址信息,使得客戶端用戶在輸入第一域名時(shí),不再訪問ip地址在dns服務(wù)器中與第一域名對應(yīng)的物理機(jī),而是直接訪問ip地址在dns服務(wù)器中與第一域名對應(yīng)的云端上的應(yīng)用服務(wù)器。
步驟s29,在成功建立第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路之后,客戶端用戶通過第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫。
在一種可選的實(shí)施例中,上述第二應(yīng)用服務(wù)器可以是云端上的應(yīng)用服務(wù)器,目標(biāo)數(shù)據(jù)庫可以是部署在云端上的服務(wù)器中的數(shù)據(jù)庫。在上述云端上的應(yīng)用服務(wù)器與部署在云端上的服務(wù)器中的數(shù)據(jù)庫的訪問鏈路建立成功后,客戶端的用戶通過云端上的服務(wù)器訪問部署在云端上的服務(wù)器中的數(shù)據(jù)庫,即前部署在物理機(jī)中的源數(shù)據(jù)庫。
本申請上述實(shí)施例一公開的方案中,將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器;在源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成之后,將第一應(yīng)用服務(wù)器訪 問的數(shù)據(jù)庫服務(wù)器由源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器;通過修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息,將客戶端用戶通過第一域名訪問的應(yīng)用服務(wù)器由第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器;在成功建立第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路之后,客戶端用戶通過第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫。
需要說明的是,在將源數(shù)據(jù)庫中的源數(shù)據(jù)同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的過程中,客戶端的用戶在使用客戶端的過程中依舊讀取源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫,直至源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成后,客戶端的用戶才開始使用目標(biāo)數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)庫,即再將物理機(jī)中的數(shù)據(jù)庫同步至云端的數(shù)據(jù)庫服務(wù)器的過程中,客戶端的用戶仍然使用物理機(jī)中的源數(shù)據(jù)庫,直至物理機(jī)中的源數(shù)據(jù)庫已經(jīng)完全同步至云端上的服務(wù)器,客戶端的用戶才開始訪問云端上的服務(wù)器中的數(shù)據(jù)庫,因此在將源數(shù)據(jù)庫中的源數(shù)據(jù)同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的過程中,客戶端的用戶可以正常使用客戶端,即將源數(shù)據(jù)庫中的源數(shù)據(jù)同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的過程不會對用戶的使用產(chǎn)生影響。
需要進(jìn)一步說明的是,客戶端的用戶在輸入第一域名時(shí),在修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息之后,用戶得到的響應(yīng)是與修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息之前相同的響應(yīng)結(jié)果,因此修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息也不會對客戶端的用戶的使用產(chǎn)生影響。
由此,本申請?zhí)峁┑纳鲜鰧?shí)施例一的方案解決了現(xiàn)有技術(shù)中將應(yīng)用遷移至云上的過程中會導(dǎo)致客戶端停止使用的技術(shù)問題。
根據(jù)本申請上述實(shí)施例,步驟s23,在將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的過程中,包括:
步驟s231,使用切換腳本將第一應(yīng)用服務(wù)器中存儲的與數(shù)據(jù)庫域名綁定的第一ip地址修改為目標(biāo)數(shù)據(jù)庫服務(wù)器的ip地址,其中,第一ip地址為源數(shù)據(jù)庫服務(wù)器的ip地址。
需要說明的是,在用戶通過第一應(yīng)用服務(wù)器訪問源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫的情況下,第一應(yīng)用服務(wù)器中存儲的數(shù)據(jù)庫域名與源數(shù)據(jù)庫的第一ip地址具有對應(yīng)的關(guān)系。在通過切換腳本將第一應(yīng)用服務(wù)器中存儲的與數(shù)據(jù)庫域名綁定的第一ip地址修改為目標(biāo)數(shù)據(jù)庫服務(wù)器的ip地址后,用戶可以通過第一應(yīng)用服務(wù)器訪問目標(biāo)數(shù)據(jù)庫服務(wù)器中的目標(biāo)數(shù)據(jù)庫。
步驟s233,在切換腳本將源數(shù)據(jù)庫服務(wù)器的訪問權(quán)限設(shè)置為只讀之后,斷開訪問源數(shù)據(jù)庫服務(wù)器的所有訪問鏈路。
根據(jù)本申請上述實(shí)施例,同步的方式為:全量同步或增量同步,其中,通過如下任意一種方式確認(rèn)源數(shù)據(jù)庫同步完成:
方式一:第一應(yīng)用服務(wù)器實(shí)時(shí)或定時(shí)輪詢源數(shù)據(jù)庫服務(wù)器,如果檢測到源數(shù)據(jù)庫服務(wù)器產(chǎn)生的同步結(jié)束信息,則確定源數(shù)據(jù)庫同步完成。
在一種可選的實(shí)施例中,上述源數(shù)據(jù)庫服務(wù)器可以是物理機(jī),當(dāng)源數(shù)據(jù)庫從物理機(jī)同步至部署在云端的服務(wù)器結(jié)束時(shí),作為源數(shù)據(jù)庫服務(wù)器的物理機(jī)能夠產(chǎn)生上述同步步驟結(jié)束的信息,第一應(yīng)用服務(wù)器作為訪問源數(shù)據(jù)庫的物理機(jī),實(shí)時(shí)監(jiān)測源數(shù)據(jù)庫中是否出現(xiàn)源數(shù)據(jù)庫服務(wù)器產(chǎn)生的同步步驟結(jié)束的信息,當(dāng)?shù)谝粦?yīng)用服務(wù)器監(jiān)測得到源數(shù)據(jù)庫服務(wù)器產(chǎn)生的同步步驟結(jié)束的信息時(shí),確認(rèn)上述同步步驟完成。
在另一種可選的實(shí)施例中,上述源數(shù)據(jù)庫服務(wù)器仍可以是物理機(jī),當(dāng)源數(shù)據(jù)庫從物理機(jī)同步至部署在云端的服務(wù)器結(jié)束時(shí),作為源數(shù)據(jù)庫服務(wù)器的物理機(jī)能夠產(chǎn)生上述同步步驟結(jié)束的信息,第一應(yīng)用服務(wù)器作為訪問源數(shù)據(jù)庫的物理機(jī),定時(shí)輪詢源數(shù)據(jù)庫服務(wù)器,以檢測源數(shù)據(jù)庫中是否出現(xiàn)源數(shù)據(jù)庫服務(wù)器產(chǎn)生的同步步驟結(jié)束的信息,即第一應(yīng)用服務(wù)器以一定的周期在源數(shù)據(jù)庫服務(wù)器中查找同步結(jié)束的信息,當(dāng)?shù)谝粦?yīng)用服務(wù)器監(jiān)測得到源數(shù)據(jù)庫服務(wù)器產(chǎn)生的同步步驟結(jié)束的信息時(shí),確認(rèn)上述同步步驟完成。
方式二:源數(shù)據(jù)庫服務(wù)器按照預(yù)設(shè)的同步時(shí)長來執(zhí)行同步源數(shù)據(jù)庫,在第一應(yīng)用服務(wù)器檢測到同步時(shí)長到達(dá),或者檢測到同步時(shí)長的延遲時(shí)間達(dá)到的情況下,確定源數(shù)據(jù)庫同步完成。
在一種可選的是實(shí)例中,預(yù)設(shè)的同步時(shí)長可以是48小時(shí),同步時(shí)長的延長時(shí)間可以是12小時(shí)。在同步源數(shù)據(jù)庫的時(shí)長達(dá)到48小時(shí)的情況下,可以確認(rèn)同步源數(shù)據(jù)庫的步驟完成;或同步源數(shù)據(jù)庫的時(shí)長達(dá)到60小時(shí)的情況下,確認(rèn)同步源數(shù)據(jù)庫的步驟完成。
此處需要說明的是,預(yù)設(shè)的同步時(shí)長是根據(jù)源數(shù)據(jù)庫的數(shù)據(jù)量進(jìn)行預(yù)設(shè)的同步時(shí)間,源數(shù)據(jù)庫中的數(shù)據(jù)量越大,預(yù)設(shè)的同步時(shí)長越長,且能夠認(rèn)為預(yù)設(shè)的同步時(shí)長大于同步源數(shù)據(jù)庫需要的時(shí)長。
根據(jù)本申請上述實(shí)施例,步驟s25,在確認(rèn)源數(shù)據(jù)庫同步完成之后,方法還包括:
步驟s251,停止源數(shù)據(jù)庫同步,并將目標(biāo)數(shù)據(jù)庫服務(wù)器的訪問權(quán)限由已經(jīng)設(shè)置的只讀權(quán)限修改為允許寫入權(quán)限,使得允許任意一個(gè)應(yīng)用服務(wù)器訪問目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,在將源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的同時(shí)或之前,將目標(biāo)數(shù)據(jù)庫服務(wù)器的訪問權(quán)限設(shè)置為只讀。
在一種可選的實(shí)施例中,上述源數(shù)據(jù)庫可以是物理機(jī)中的源數(shù)據(jù)庫,將目標(biāo)數(shù)據(jù)庫服務(wù)器可以是云端上的數(shù)據(jù)庫服務(wù)器,將云端上的數(shù)據(jù)庫服務(wù)器的訪問權(quán)限是指為只讀模式后,開始將物理機(jī)中的源數(shù)據(jù)庫同步至云端的數(shù)據(jù)庫服務(wù)器,當(dāng)同步步驟結(jié)束后,停止源數(shù)據(jù)庫的同步,此時(shí),物理機(jī)中的源數(shù)據(jù)庫的訪問權(quán)限被修改為只讀,卻所有訪問源數(shù)據(jù)庫的鏈路被斷開,因此用戶通過第一應(yīng)用服務(wù)器訪問云端上的數(shù)據(jù)庫服務(wù)器中的目標(biāo)數(shù)據(jù)庫,在用戶通過第一應(yīng)用服務(wù)器訪問云端上的數(shù)據(jù)庫服務(wù)器中的目標(biāo)數(shù)據(jù)庫的情況下,需要對目標(biāo)數(shù)據(jù)庫進(jìn)行讀取和寫入的操作,故將云端上的數(shù)據(jù)庫服務(wù)器的訪問權(quán)限修改為允許寫入。
根據(jù)本申請上述實(shí)施例,步驟s27,在修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息之前,上述方法還包括:
步驟s271,云端啟動(dòng)第二應(yīng)用服務(wù)器來連接目標(biāo)數(shù)據(jù)庫服務(wù)器。
在一種可選的實(shí)施例中,第二應(yīng)用服務(wù)器可以是部署在云端上的服務(wù)器,目標(biāo)數(shù)據(jù)服務(wù)器也可以是部署在云端的服務(wù)器。啟動(dòng)第二應(yīng)用服務(wù)器來連接目標(biāo)數(shù)據(jù)庫服務(wù)器可以是啟動(dòng)部署在云端上的服務(wù)器連接另一包含同步得到的源數(shù)據(jù)庫的部署在云端上的服務(wù)器。
步驟s273,提取第二應(yīng)用服務(wù)器的host文件中存儲的與數(shù)據(jù)庫域名綁定的第二ip地址。
具體的,上述hosts文件為域名與其對應(yīng)的ip地址建立的關(guān)聯(lián)數(shù)據(jù)庫,可通過該關(guān)聯(lián)數(shù)據(jù)庫查找到與域名相對應(yīng)的ip地址。
在一種可選的實(shí)施例中,第二應(yīng)用服務(wù)器可以是部署在云端上的服務(wù)器,host文件作為域名與其對應(yīng)的ip地址的關(guān)聯(lián)數(shù)據(jù)庫,包含與數(shù)據(jù)庫域名對應(yīng)的ip地址,部署在云端上的第二應(yīng)用服務(wù)器中的host文件包含與數(shù)據(jù)庫域名對應(yīng)的用于連接目標(biāo)數(shù)據(jù)庫服務(wù)器的ip地址。
步驟s275,在第二應(yīng)用服務(wù)器中通過驗(yàn)證提取到的第二ip地址,來確定第二應(yīng)用服務(wù)器是否與目標(biāo)數(shù)據(jù)庫的連接成功。
在一種可選的實(shí)施例中,驗(yàn)證提取到的第二ip地址即為驗(yàn)證第二ip地址是否是與數(shù)據(jù)庫域名對應(yīng)的ip地址,在輸入第二ip地址的情況下,如果第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫服務(wù)器建立了連接關(guān)系,則可以認(rèn)為驗(yàn)證成功,提取得到的第二ip地址為數(shù)據(jù)庫域名對應(yīng)的ip地址,如果第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫服務(wù)器沒有建立連接關(guān)系,則驗(yàn)證失敗,提取的第二ip地址并非數(shù)據(jù)庫域名對應(yīng)的ip地址。
步驟s277,如果驗(yàn)證第二ip地址成功,則確定第二應(yīng)用服務(wù)器連接目標(biāo)數(shù)據(jù)庫成功。
在一種可選的實(shí)施例中,在第二ip地址驗(yàn)證成功的情況下,認(rèn)為該第二ip地址為數(shù)據(jù)庫域名對應(yīng)的ip地址,因此確定第二應(yīng)用服務(wù)器連接目標(biāo)數(shù)據(jù)庫成功,從而客戶端的用戶在使用客戶端訪問第二應(yīng)用服務(wù)器時(shí),第二應(yīng)用服務(wù)器可以與同步源數(shù)據(jù)庫得到的數(shù)據(jù)庫建立連接,即用戶可以通過訪問部署在云端的服務(wù)器訪問與源數(shù)據(jù)庫一致的存在于云端上的數(shù)據(jù)庫服務(wù)器中的目標(biāo)數(shù)據(jù)庫。
根據(jù)本申請上述實(shí)施例,步驟s275,在第二應(yīng)用服務(wù)器中通過驗(yàn)證提取到的第二ip地址,來確定第二應(yīng)用服務(wù)器是否與目標(biāo)數(shù)據(jù)庫的連接成功,包括:
步驟s2751,在第二應(yīng)用服務(wù)器的訪問界面中輸入提取到的第二ip地址。
在一種可選的實(shí)施例中,第二應(yīng)用服務(wù)器的訪問界面包括輸入網(wǎng)址和/或ip地址的輸入欄,其位置可以在第二應(yīng)用服務(wù)器的訪問界面的頂端,在該輸入欄輸入提取到的ip地址后,可以選擇確認(rèn)進(jìn)入此ip地址對應(yīng)的數(shù)據(jù)庫頁面。
步驟s2753,在輸入第二ip地址之后,如果成功打開目標(biāo)數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫頁面,則第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路成功建立。
在一種可選的是實(shí)例中,如果不能打開目標(biāo)數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)庫頁面,則第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路未建立連接,且提取得到的第二ip地址不為與目標(biāo)數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫域名對應(yīng)的ip地址。
根據(jù)本申請上述實(shí)施例,步驟s29,在客戶端用戶通過第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫之后,方法還包括:
步驟s291,在預(yù)定時(shí)間內(nèi)檢測源數(shù)據(jù)庫服務(wù)器是否產(chǎn)生流量。
具體的,當(dāng)仍有用戶訪問源數(shù)據(jù)庫服務(wù)器時(shí),源數(shù)據(jù)服務(wù)器產(chǎn)生相應(yīng)的訪問流量。
在一種可選的實(shí)施例中,在客戶端的用戶全部通過部署與云端的數(shù)據(jù)庫服務(wù)器訪問目標(biāo)數(shù)據(jù)庫的情況下,源數(shù)據(jù)庫服務(wù)器不會產(chǎn)生任何訪問流量。
步驟s293,如果源數(shù)據(jù)庫服務(wù)器在預(yù)定時(shí)間內(nèi)沒有產(chǎn)生任何流量,則停止源數(shù)據(jù)庫服務(wù)器后臺運(yùn)行的任務(wù)。
具體的,如果源數(shù)據(jù)庫服務(wù)器在預(yù)定時(shí)間內(nèi)沒有產(chǎn)生任何流量,則可以認(rèn)為在預(yù)定時(shí)間內(nèi),客戶端的用戶均通過訪問部署與云端的數(shù)據(jù)庫服務(wù)器來訪問數(shù)據(jù)庫,沒有用戶再通過源數(shù)據(jù)庫服務(wù)器訪問源數(shù)據(jù)庫,因此停止源數(shù)據(jù)庫服務(wù)器后臺運(yùn)行的任務(wù)。
此處需要說明的是,在停止源數(shù)據(jù)服務(wù)器后臺運(yùn)行的任務(wù)后,多有客戶端的用戶均通過部署與云端的數(shù)據(jù)庫服務(wù)器訪問目標(biāo)數(shù)據(jù)庫。
需要進(jìn)一步說明的是,在預(yù)設(shè)時(shí)間內(nèi)檢測到源數(shù)據(jù)服務(wù)器未產(chǎn)生任何流量,并停止了源數(shù)據(jù)服務(wù)器后臺運(yùn)行的任務(wù)的情況下,如果停止了源數(shù)據(jù)服務(wù)器后臺運(yùn)行的任務(wù)的瞬時(shí),存在用戶通過源數(shù)據(jù)庫服務(wù)器訪問源數(shù)據(jù)庫,則該用戶將出現(xiàn)不能訪問到源數(shù)據(jù)服務(wù)器中的源數(shù)據(jù)庫的情況,即該用戶訪問的頁面會出現(xiàn)訪問錯(cuò)誤的情況,因此該用戶不能正常使用客戶端,但由于用戶輸入的域名已和云端的應(yīng)用服務(wù)器建立了連接,且云端的應(yīng)用服務(wù)器已和部署于云端的目標(biāo)數(shù)據(jù)庫建立了連接,因此該用戶只需通過應(yīng)用重試,或?qū)υL問頁面進(jìn)行刷新,即可正常使用客戶端,且這一過程十分短暫,在實(shí)際操作中極大限度的減小了應(yīng)用上云對客戶端使用的影響。
根據(jù)本申請上述實(shí)施例,步驟s29,在客戶端用戶通過第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫之后,方法還包括:
步驟s295,如果云端上部署的服務(wù)器發(fā)生故障時(shí),采用步驟s23至步驟s29中的步驟將云端部署的第二應(yīng)用服務(wù)器和/或目標(biāo)數(shù)據(jù)庫服務(wù)器反向切換至對應(yīng)的物理機(jī)。
在一種可選的是實(shí)例中,在云端部署的目標(biāo)數(shù)據(jù)庫服務(wù)器發(fā)生故障的情況下,將云端部署的第二應(yīng)用服務(wù)器和/或目標(biāo)數(shù)據(jù)庫服務(wù)器反向切換至對應(yīng)的物理機(jī)的步驟包括:
a1.將源數(shù)據(jù)服務(wù)器的訪問權(quán)限設(shè)置為只讀,將目標(biāo)數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)庫同步至源數(shù)據(jù)庫服務(wù)器,并通過切換腳本將,將云端的服務(wù)器存儲的數(shù)據(jù)庫域名綁定的目標(biāo)數(shù)據(jù)庫服務(wù)器的第二ip地址修改為源數(shù)據(jù)庫服務(wù)器的第一ip地址,結(jié)合圖5所示,以將目標(biāo)數(shù)據(jù)庫服務(wù)器中的目標(biāo)數(shù)據(jù)庫同步至源數(shù)據(jù)庫服務(wù)器;
b1.在上述同步步驟完成后,將目標(biāo)數(shù)據(jù)庫服務(wù)器的訪問權(quán)限設(shè)置為只讀模式,并斷開所有目標(biāo)數(shù)據(jù)庫服務(wù)器的訪問鏈路,再將源數(shù)據(jù)庫服務(wù)器的訪問權(quán)限修改為允許寫入,以使第二應(yīng)用服務(wù)器訪問的數(shù)據(jù)庫服務(wù)器由目標(biāo)數(shù)據(jù)庫服務(wù)器切換至作為源數(shù)據(jù)庫服務(wù)器的物理機(jī)。
在另一種可選的實(shí)施例中,在云端部署的第二應(yīng)用服務(wù)器和目標(biāo)數(shù)據(jù)庫服務(wù)器均發(fā)生故障的情況下,將云端部署的第二應(yīng)用服務(wù)器和/或目標(biāo)數(shù)據(jù)庫服務(wù)器反向切換至對應(yīng)的物理機(jī)的步驟包括:
a2.將源數(shù)據(jù)服務(wù)器的訪問權(quán)限設(shè)置為只讀,將目標(biāo)數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)庫同步至源數(shù)據(jù)庫服務(wù)器,并通過切換腳本將,將云端的服務(wù)器存儲的數(shù)據(jù)庫域名綁定的目標(biāo)數(shù)據(jù)庫服務(wù)器的第二ip地址修改為源數(shù)據(jù)庫服務(wù)器的第一ip地址,以將目標(biāo)數(shù)據(jù) 庫服務(wù)器中的目標(biāo)數(shù)據(jù)庫同步至源數(shù)據(jù)庫服務(wù)器;
b1.在上述同步步驟完成后,將目標(biāo)數(shù)據(jù)庫服務(wù)器的訪問權(quán)限設(shè)置為只讀模式,并斷開所有目標(biāo)數(shù)據(jù)庫服務(wù)器的訪問鏈路,再將源數(shù)據(jù)庫服務(wù)器的訪問權(quán)限修改為允許寫入,以使第二應(yīng)用服務(wù)器訪問的數(shù)據(jù)庫服務(wù)器由目標(biāo)數(shù)據(jù)庫服務(wù)器切換至作為源數(shù)據(jù)庫服務(wù)器的物理機(jī);
c2,云端啟動(dòng)第一應(yīng)用服務(wù)器來連接源數(shù)據(jù)庫服務(wù)器,提取第一應(yīng)用服務(wù)器的host文件中存儲的與數(shù)據(jù)庫域名綁定的第一ip地址,并驗(yàn)證提取的第一ip地址來確認(rèn)第一應(yīng)用服務(wù)器是否與元數(shù)據(jù)庫服務(wù)器連接成功,以使得客戶端用戶通過第一域名訪問的應(yīng)用服務(wù)器由云端的第二應(yīng)用服務(wù)器切換至物理機(jī)上的第一應(yīng)用服務(wù)器。
d2.建立第一應(yīng)用服務(wù)器與源數(shù)據(jù)庫服務(wù)器的訪問鏈路,使得用戶能夠通過第一應(yīng)用服務(wù)器來訪問源數(shù)據(jù)庫服務(wù)器中同步得到的目標(biāo)數(shù)據(jù)庫。
需要說明的是,在第一應(yīng)用服務(wù)器中輸入提取到的第一ip地址,在成功打開源數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫的情況下,確認(rèn)第一應(yīng)用服務(wù)器與源數(shù)據(jù)庫服務(wù)器的訪問鏈路成功建立。
根據(jù)本申請上述實(shí)施例,在云下部署多臺第一應(yīng)用服務(wù)器,每臺第一應(yīng)用服務(wù)器均訪問源數(shù)據(jù)庫服務(wù)器,在云端部署多臺第二應(yīng)用服務(wù)器,第二應(yīng)用服務(wù)器均訪問目標(biāo)數(shù)據(jù)庫服務(wù)器。
需要說明的是,對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例的方法。
下面結(jié)合圖6詳細(xì)介紹本申請的一種優(yōu)選的實(shí)施例。
s61,將目標(biāo)數(shù)據(jù)庫的訪問權(quán)限設(shè)置為只讀。
可選的,在將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器之前或同時(shí),將目標(biāo)數(shù)據(jù)庫的訪問權(quán)限設(shè)置為只讀。
s62,將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器。
可選的,將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器可通過數(shù)據(jù)庫工具進(jìn)行,例如阿里云的數(shù)據(jù)傳輸(datatransmission)產(chǎn)品,能夠?qū)嵤┰谠磾?shù)據(jù)庫服務(wù)器到目標(biāo)數(shù)據(jù)庫服務(wù)器(例如:rds,relationaldatebaseservice,云數(shù)據(jù)庫)的全量數(shù)據(jù)同步和增量同步,(例如:dtsdigitaltheatresystem,數(shù)字化影院系統(tǒng))。
s63,將數(shù)據(jù)庫域名綁定的源數(shù)據(jù)庫服務(wù)器的ip地址修改為目標(biāo)數(shù)據(jù)服務(wù)器的ip地址。
s64,將源數(shù)據(jù)庫的訪問權(quán)限設(shè)置為只讀,并斷開所有源數(shù)據(jù)庫的訪問鏈路。
s65,在確認(rèn)源數(shù)據(jù)庫停止同步后,將目標(biāo)數(shù)據(jù)庫的訪問權(quán)限設(shè)置為允許寫入。
s66,云端啟動(dòng)第二應(yīng)用服務(wù)器來連接目標(biāo)數(shù)據(jù)庫服務(wù)器,并驗(yàn)證第二應(yīng)用服務(wù)器的host中的ip地址。
可選的,在第二應(yīng)用服務(wù)器的訪問界面中輸入提取到的第二ip地址,如果成功打開目標(biāo)數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫頁面,則第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路成功建立。
s67:驗(yàn)證成功后,客戶端用戶通過云端的第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫。
下面結(jié)合圖7詳細(xì)介紹本申請的一種優(yōu)選實(shí)施例。
如圖7所示,提供了一種可選的物理機(jī)數(shù)據(jù)遷移至云端的方法,該方法可以包括如下步驟s701至步驟s709:
s701,將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器。
可選的,在將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器之前或同時(shí),將目標(biāo)數(shù)據(jù)庫的訪問權(quán)限設(shè)置為只讀。
s703,將第一應(yīng)用服務(wù)器訪問的源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器。
可選的,在停止同步之后,將目標(biāo)數(shù)據(jù)服務(wù)器的訪問權(quán)限設(shè)置為允許寫入。
s705,將數(shù)據(jù)庫域名綁定的源數(shù)據(jù)庫服務(wù)器的ip地址修改為目標(biāo)數(shù)據(jù)服務(wù)器的ip地址。
s707,驗(yàn)證第二應(yīng)用服務(wù)器的host文件中存儲的與數(shù)據(jù)庫域名綁定的第二ip地址。
可選的,將第二ip地址輸入第二應(yīng)用服務(wù)器,如果成功打開數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫,則確認(rèn)第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫連接成功。
s709,將客戶端用戶通過第一域名訪問的應(yīng)用服務(wù)器由第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器。
可選的,在預(yù)定時(shí)間內(nèi)檢測源數(shù)據(jù)服務(wù)器是否產(chǎn)生流量,在預(yù)定時(shí)間內(nèi),源數(shù)據(jù)庫服務(wù)器沒有產(chǎn)生流量的情況下,停止源數(shù)據(jù)庫服務(wù)器在后臺的運(yùn)行任務(wù)。
實(shí)施例2
根據(jù)本發(fā)明實(shí)施例,還提供了一種物理機(jī)數(shù)據(jù)遷移至云端的裝置物理機(jī)數(shù)據(jù)遷移至云端的裝置,如圖8所示,該裝置包括:同步模塊80,切換模塊82,更換模塊84和訪問模塊86。
同步模塊80用于將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,源數(shù)據(jù)庫服務(wù)器為物理機(jī),目標(biāo)數(shù)據(jù)庫服務(wù)器為部署在云端上的服務(wù)器;切換模塊82用于在源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成之后,將第一應(yīng)用服務(wù)器訪問的數(shù)據(jù)庫服務(wù)器由源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,第一應(yīng)用服務(wù)器為當(dāng)前客戶端用戶用于訪問源數(shù)據(jù)庫的物理機(jī);更換模塊84用于通過修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息,將客戶端用戶通過第一域名訪問的應(yīng)用服務(wù)器由第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器,其中,第二應(yīng)用服務(wù)器為部署在云端上的應(yīng)用服務(wù)器;訪問模塊86用于在成功建立第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路之后,客戶端用戶通過第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫。
可選地,上述源數(shù)據(jù)庫可以是客戶端在物理機(jī)上的數(shù)據(jù)庫,上述物理機(jī)是相對于虛擬機(jī)而言的實(shí)體計(jì)算機(jī),第一應(yīng)用服務(wù)器可以是當(dāng)前用戶用于訪問源數(shù)據(jù)庫的物理機(jī),第二應(yīng)用服務(wù)器可以是云端上的應(yīng)用服務(wù)器。
此處需要說明的是,上述同步模塊80,切換模塊82,更換模塊84和訪問模塊86對應(yīng)于實(shí)施例一中的步驟s23至步驟s29,四個(gè)模塊與對應(yīng)的步驟所實(shí)現(xiàn)的實(shí)例和應(yīng)用場景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
本申請上述實(shí)施例二公開的方案中,將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器;在源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成之后,將第一應(yīng)用服務(wù)器訪 問的數(shù)據(jù)庫服務(wù)器由源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器;通過修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息,將客戶端用戶通過第一域名訪問的應(yīng)用服務(wù)器由第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器;在成功建立第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路之后,客戶端用戶通過第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫。
需要說明的是,在將源數(shù)據(jù)庫中的源數(shù)據(jù)同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的過程中,客戶端的用戶在使用客戶端的過程中依舊讀取源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫,直至源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成后,客戶端的用戶才開始使用目標(biāo)數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)庫,即再將物理機(jī)中的數(shù)據(jù)庫同步至云端的數(shù)據(jù)庫服務(wù)器的過程中,客戶端的用戶仍然使用物理機(jī)中的源數(shù)據(jù)庫,直至物理機(jī)中的源數(shù)據(jù)庫已經(jīng)完全同步至云端上的服務(wù)器,客戶端的用戶才開始訪問云端上的服務(wù)器中的數(shù)據(jù)庫,因此在將源數(shù)據(jù)庫中的源數(shù)據(jù)同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的過程中,客戶端的用戶可以正常使用客戶端,即將源數(shù)據(jù)庫中的源數(shù)據(jù)同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的過程不會對用戶的使用產(chǎn)生影響。
需要進(jìn)一步說明的是,客戶端的用戶在輸入第一域名時(shí),在修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息之后,用戶得到的響應(yīng)是與修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息之前相同的響應(yīng)結(jié)果,因此修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息也不會對客戶端用戶的使用產(chǎn)生影響。
由此,本申請?zhí)峁┑纳鲜鰧?shí)施例二的方案解決了現(xiàn)有技術(shù)中將應(yīng)用遷移至云上的過程中會導(dǎo)致客戶端停止使用的技術(shù)問題。
在一種可選的實(shí)施例中,如圖9所示,上述同步模塊80包括:修改模塊90和斷開模塊92。
修改模塊90用于使用切換腳本將第一應(yīng)用服務(wù)器中存儲的與數(shù)據(jù)庫域名綁定的第一ip地址修改為目標(biāo)數(shù)據(jù)庫服務(wù)器的ip地址,其中,第一ip地址為源數(shù)據(jù)庫服務(wù)器的ip地址;斷開模塊92用于在切換腳本將源數(shù)據(jù)庫服務(wù)器的訪問權(quán)限設(shè)置為只讀之后,斷開訪問源數(shù)據(jù)庫服務(wù)器的所有訪問鏈路。
此處需要說明的是,上述修改模塊90和斷開模塊92對應(yīng)于實(shí)施例一中的步驟s231至步驟s233,上述模塊與對應(yīng)的步驟所實(shí)現(xiàn)的實(shí)例和應(yīng)用場景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
在一種可選的實(shí)施例中,如圖10所示,上述同步的方式為:全量同步或增量同步,其中,上述裝置還可以包括:輪詢模塊100和第一檢測模塊102。
輪詢模塊100用于第一應(yīng)用服務(wù)器實(shí)時(shí)或定時(shí)輪詢源數(shù)據(jù)庫服務(wù)器,如果檢測到源數(shù)據(jù)庫服務(wù)器產(chǎn)生的同步結(jié)束信息,則確定源數(shù)據(jù)庫同步完成;第一檢測模塊102用于源數(shù)據(jù)庫服務(wù)器按照預(yù)設(shè)的同步時(shí)長來執(zhí)行同步源數(shù)據(jù)庫,在第一應(yīng)用服務(wù)器檢測到同步時(shí)長到達(dá),或者檢測到同步時(shí)長的延遲時(shí)間達(dá)到的情況下,確定源數(shù)據(jù)庫同步完成。
此處需要說明的是,上述輪詢模塊100和第一檢測模塊102對應(yīng)于實(shí)施例一中的方式一和方式二,兩個(gè)模塊與對應(yīng)的步驟所實(shí)現(xiàn)的實(shí)例和應(yīng)用場景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
在一種可選的實(shí)施例中,如圖11所示,上述裝置還可以包括:第一停止模塊110。
第一停止模塊110用于停止源數(shù)據(jù)庫同步,并將目標(biāo)數(shù)據(jù)庫服務(wù)器的訪問權(quán)限由已經(jīng)設(shè)置的只讀權(quán)限修改為允許寫入權(quán)限,使得允許任意一個(gè)應(yīng)用服務(wù)器訪問目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,在將源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的同時(shí)或之前,將目標(biāo)數(shù)據(jù)庫服務(wù)器的訪問權(quán)限設(shè)置為只讀。
此處需要說明的是,預(yù)設(shè)的同步時(shí)長是根據(jù)源數(shù)據(jù)庫的數(shù)據(jù)量進(jìn)行預(yù)設(shè)的同步時(shí)間,源數(shù)據(jù)庫中的數(shù)據(jù)量越大,預(yù)設(shè)的同步時(shí)長越長,且能夠認(rèn)為預(yù)設(shè)的同步時(shí)長大于同步源數(shù)據(jù)庫需要的時(shí)長。
此處需要說明的是,上述第一停止模塊110對應(yīng)于實(shí)施例一中的步驟s251,此模塊與對應(yīng)的步驟所實(shí)現(xiàn)的實(shí)例和應(yīng)用場景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
在一種可選的實(shí)施例中,如圖12所示,上述裝置還可以包括:啟動(dòng)模塊120、提取模塊122、第一確定模塊124和第二確定模塊126。
啟動(dòng)模塊120用于云端啟動(dòng)第二應(yīng)用服務(wù)器來連接目標(biāo)數(shù)據(jù)庫服務(wù)器;提取模塊122用于提取第二應(yīng)用服務(wù)器的host文件中存儲的與數(shù)據(jù)庫域名綁定的第二ip地址;第一確定模塊124用于在第二應(yīng)用服務(wù)器中通過驗(yàn)證提取到的第二ip地址,來確定第二應(yīng)用服務(wù)器是否與目標(biāo)數(shù)據(jù)庫的連接成功;第二確定模塊126用于如果驗(yàn)證第二ip地址成功,則確定第二應(yīng)用服務(wù)器連接目標(biāo)數(shù)據(jù)庫成功。
此處需要說明的是,上述啟動(dòng)模塊120、提取模塊122、第一確定模塊124和第二確定模塊126對應(yīng)于實(shí)施例一中的步驟s271至步驟s277,四個(gè)模塊與對應(yīng)的步驟所實(shí)現(xiàn)的實(shí)例和應(yīng)用場景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是, 上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
在一種可選的實(shí)施例中,如圖13所示,上述第一確定模塊124包括:輸入模塊130和建立模塊132。
輸入模塊130用于在第二應(yīng)用服務(wù)器的訪問界面中輸入提取到的第二ip地址;建立模塊132用于在輸入第二ip地址之后,如果成功打開目標(biāo)數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫頁面,則第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路成功建立。
此處需要說明的是,上述輸入模塊130和建立模塊132對應(yīng)于實(shí)施例一中的步驟s291至步驟s293,兩個(gè)模塊與對應(yīng)的步驟所實(shí)現(xiàn)的實(shí)例和應(yīng)用場景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
在一種可選的實(shí)施例中,如圖14所示,上述裝置還可以包括:第二檢測模塊140和第二停止模塊142。
第二檢測模塊140用于在預(yù)定時(shí)間內(nèi)檢測源數(shù)據(jù)庫服務(wù)器是否產(chǎn)生流量;第二停止模塊142用于如果源數(shù)據(jù)庫服務(wù)器在預(yù)定時(shí)間內(nèi)沒有產(chǎn)生任何流量,則停止源數(shù)據(jù)庫服務(wù)器后臺運(yùn)行的任務(wù)。
此處需要說明的是,在停止源數(shù)據(jù)服務(wù)器后臺運(yùn)行的任務(wù)后,多有客戶端的用戶均通過部署與云端的數(shù)據(jù)庫服務(wù)器訪問目標(biāo)數(shù)據(jù)庫。
需要進(jìn)一步說明的是,在預(yù)設(shè)時(shí)間內(nèi)檢測到源數(shù)據(jù)服務(wù)器未產(chǎn)生任何流量,并停止了源數(shù)據(jù)服務(wù)器后臺運(yùn)行的任務(wù)的情況下,如果停止了源數(shù)據(jù)服務(wù)器后臺運(yùn)行的任務(wù)的瞬時(shí),存在用戶通過源數(shù)據(jù)庫服務(wù)器訪問源數(shù)據(jù)庫,則該用戶將出現(xiàn)不能訪問到源數(shù)據(jù)服務(wù)器中的源數(shù)據(jù)庫的情況,即該用戶訪問的頁面會出現(xiàn)訪問錯(cuò)誤的情況,因此該用戶不能正常使用客戶端,但由于用戶輸入的域名已和云端的應(yīng)用服務(wù)器建立了連接,且云端的應(yīng)用服務(wù)器已和部署于云端的目標(biāo)數(shù)據(jù)庫建立了連接,因此該用戶只需通過應(yīng)用重試,或?qū)υL問頁面進(jìn)行刷新,即可正常使用客戶端,且這一過程十分短暫,在實(shí)際操作中極大限度的減小了應(yīng)用上云對客戶端使用的影響。
此處需要說明的是,上述第二檢測模塊140和第二停止模塊142對應(yīng)于實(shí)施例一中的步驟s291至步驟s293,兩個(gè)模塊與對應(yīng)的步驟所實(shí)現(xiàn)的實(shí)例和應(yīng)用場景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
在一種可選的實(shí)施例中,如圖15所示,上述裝置還可以包括:反向切換模塊150。
反向切換模塊150用于如果云端上部署的服務(wù)器發(fā)生故障時(shí),采用權(quán)利要求10中的裝置將云端部署的第二應(yīng)用服務(wù)器和/或目標(biāo)數(shù)據(jù)庫服務(wù)器反向切換至對應(yīng)的物理機(jī)。
此處需要說明的是,上述反向切換模塊150對應(yīng)于實(shí)施例一中的步驟s295,兩個(gè)模塊與對應(yīng)的步驟所實(shí)現(xiàn)的實(shí)例和應(yīng)用場景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
在一種可選的實(shí)施例中,在云下部署多臺第一應(yīng)用服務(wù)器,每臺第一應(yīng)用服務(wù)器均訪問源數(shù)據(jù)庫服務(wù)器,在云端部署多臺第二應(yīng)用服務(wù)器,第二應(yīng)用服務(wù)器均訪問目標(biāo)數(shù)據(jù)庫服務(wù)器。
實(shí)施例3
根據(jù)本發(fā)明實(shí)施例,還提供了一種物理機(jī)數(shù)據(jù)遷移至云端的系統(tǒng),如圖16所示,該系統(tǒng)包括:源數(shù)據(jù)庫服務(wù)器161、目標(biāo)數(shù)據(jù)庫服務(wù)器163、第一應(yīng)用服務(wù)器165、dns服務(wù)器167和第二應(yīng)用服務(wù)器169。
源數(shù)據(jù)庫服務(wù)器161,用于提供源數(shù)據(jù)庫,其中,源數(shù)據(jù)庫服務(wù)器為物理機(jī);
目標(biāo)數(shù)據(jù)庫服務(wù)器163,與源數(shù)據(jù)庫服務(wù)器建立通訊關(guān)系,用于接收源數(shù)據(jù)庫服務(wù)器同步的源數(shù)據(jù)庫,其中,目標(biāo)數(shù)據(jù)庫服務(wù)器為部署在云端上的服務(wù)器;
第一應(yīng)用服務(wù)器165,在源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成之后,與目標(biāo)數(shù)據(jù)庫服務(wù)器通訊,用于將當(dāng)前訪問的數(shù)據(jù)庫服務(wù)器由源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,第一應(yīng)用服務(wù)器為當(dāng)前客戶端用戶用于訪問源數(shù)據(jù)庫的物理機(jī);
dns服務(wù)器167,與第一應(yīng)用服務(wù)器和第二應(yīng)用服務(wù)器通信,用于修改與第一域名將已經(jīng)綁定的地址信息;
第二應(yīng)用服務(wù)器169,與目標(biāo)數(shù)據(jù)庫建立訪問鏈路,用于客戶端用戶讀取dns服務(wù)器已經(jīng)修改后的通過第一域名訪問的第二應(yīng)用服務(wù)器,使得客戶端用戶通過第二應(yīng)用服務(wù)器訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫,其中,第二應(yīng)用服務(wù)器為部署在云端上的應(yīng)用服務(wù)器。
本申請上述實(shí)施例三公開的方案中,將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器;在源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成之后,將第一應(yīng)用服務(wù)器訪 問的數(shù)據(jù)庫服務(wù)器由源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器;通過修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息,將客戶端用戶通過第一域名訪問的應(yīng)用服務(wù)器由第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器;在成功建立第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路之后,客戶端用戶通過第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫。
需要說明的是,在將源數(shù)據(jù)庫中的源數(shù)據(jù)同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的過程中,客戶端的用戶在使用客戶端的過程中依舊讀取源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫,直至源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成后,客戶端的用戶才開始使用目標(biāo)數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)庫,即再將物理機(jī)中的數(shù)據(jù)庫同步至云端的數(shù)據(jù)庫服務(wù)器的過程中,客戶端的用戶仍然使用物理機(jī)中的源數(shù)據(jù)庫,直至物理機(jī)中的源數(shù)據(jù)庫已經(jīng)完全同步至云端上的服務(wù)器,客戶端的用戶才開始訪問云端上的服務(wù)器中的數(shù)據(jù)庫,因此在將源數(shù)據(jù)庫中的源數(shù)據(jù)同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的過程中,客戶端的用戶可以正常使用客戶端,即將源數(shù)據(jù)庫中的源數(shù)據(jù)同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的過程不會對用戶的使用產(chǎn)生影響。
需要進(jìn)一步說明的是,客戶端的用戶在輸入第一域名時(shí),在修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息之后,用戶得到的響應(yīng)是與修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息之前相同的響應(yīng)結(jié)果,因此修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息也不會對客戶端的用戶的使用產(chǎn)生影響。
由此,本申請?zhí)峁┑纳鲜鰧?shí)施例三的方案解決了現(xiàn)有技術(shù)中將應(yīng)用遷移至云上的過程中會導(dǎo)致客戶端停止使用的技術(shù)問題。
實(shí)施例4
本發(fā)明的實(shí)施例可以提供一種計(jì)算機(jī)終端,該計(jì)算機(jī)終端可以是計(jì)算機(jī)終端群中的任意一個(gè)計(jì)算機(jī)終端設(shè)備??蛇x地,在本實(shí)施例中,上述計(jì)算機(jī)終端也可以替換為移動(dòng)終端等終端設(shè)備。
可選地,在本實(shí)施例中,上述計(jì)算機(jī)終端可以位于計(jì)算機(jī)網(wǎng)絡(luò)的多個(gè)網(wǎng)絡(luò)設(shè)備中的至少一個(gè)網(wǎng)絡(luò)設(shè)備。
在本實(shí)施例中,上述計(jì)算機(jī)終端可以執(zhí)行物理機(jī)數(shù)據(jù)遷移至云端的方法中以下步驟的程序代碼:將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,源數(shù)據(jù)庫服務(wù)器為物理機(jī),目標(biāo)數(shù)據(jù)庫服務(wù)器為部署在云端上的服務(wù)器;在源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成之后,將第一應(yīng)用服務(wù)器訪問的數(shù)據(jù)庫服務(wù)器由源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,第一應(yīng)用服務(wù)器為當(dāng)前客戶端用戶用于訪問 源數(shù)據(jù)庫的物理機(jī);通過修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息,將客戶端用戶通過第一域名訪問的應(yīng)用服務(wù)器由第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器,其中,第二應(yīng)用服務(wù)器為部署在云端上的應(yīng)用服務(wù)器;在成功建立第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路之后,客戶端用戶通過第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫。
可選地,圖17是根據(jù)本發(fā)明實(shí)施例的一種計(jì)算機(jī)終端的結(jié)構(gòu)框圖。如圖17所示,該計(jì)算機(jī)終端a可以包括:一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器171、存儲器173、傳輸裝置175以及服務(wù)器177。
其中,存儲器可用于存儲軟件程序以及模塊,如本發(fā)明實(shí)施例中的物理機(jī)數(shù)據(jù)遷移至云端的方法和裝置對應(yīng)的程序指令/模塊,處理器通過運(yùn)行存儲在存儲器內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的物理機(jī)數(shù)據(jù)遷移至云端的方法。存儲器可包括高速隨機(jī)存儲器,還可以包括非易失性存儲器,如一個(gè)或者多個(gè)磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實(shí)例中,存儲器可進(jìn)一步包括相對于處理器遠(yuǎn)程設(shè)置的存儲器,這些遠(yuǎn)程存儲器可以通過網(wǎng)絡(luò)連接至終端a。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
處理器可以通過傳輸裝置調(diào)用存儲器存儲的信息及應(yīng)用程序,以執(zhí)行下述步驟:將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,源數(shù)據(jù)庫服務(wù)器為物理機(jī),目標(biāo)數(shù)據(jù)庫服務(wù)器為部署在云端上的服務(wù)器;在源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成之后,將第一應(yīng)用服務(wù)器訪問的數(shù)據(jù)庫服務(wù)器由源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,第一應(yīng)用服務(wù)器為當(dāng)前客戶端用戶用于訪問源數(shù)據(jù)庫的物理機(jī);通過修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息,將客戶端用戶通過第一域名訪問的應(yīng)用服務(wù)器由第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器,其中,第二應(yīng)用服務(wù)器為部署在云端上的應(yīng)用服務(wù)器;在成功建立第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路之后,客戶端用戶通過第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:使用切換腳本將第一應(yīng)用服務(wù)器中存儲的與數(shù)據(jù)庫域名綁定的第一ip地址修改為目標(biāo)數(shù)據(jù)庫服務(wù)器的ip地址,其中,第一ip地址為源數(shù)據(jù)庫服務(wù)器的ip地址;在切換腳本將源數(shù)據(jù)庫服務(wù)器的訪問權(quán)限設(shè)置為只讀之后,斷開訪問源數(shù)據(jù)庫服務(wù)器的所有訪問鏈路。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:同步的方式為:全量同步或增量同步,其中,通過如下任意一種方式確認(rèn)源數(shù)據(jù)庫同步完成:方式一:第一應(yīng)用服務(wù)器實(shí)時(shí)或定時(shí)輪詢源數(shù)據(jù)庫服務(wù)器,如果檢測到源數(shù)據(jù)庫服務(wù)器產(chǎn)生的同步結(jié) 束信息,則確定源數(shù)據(jù)庫同步完成。方式二:源數(shù)據(jù)庫服務(wù)器按照預(yù)設(shè)的同步時(shí)長來執(zhí)行同步源數(shù)據(jù)庫,在第一應(yīng)用服務(wù)器檢測到同步時(shí)長到達(dá),或者檢測到同步時(shí)長的延遲時(shí)間達(dá)到的情況下,確定源數(shù)據(jù)庫同步完成。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:停止源數(shù)據(jù)庫同步,并將目標(biāo)數(shù)據(jù)庫服務(wù)器的訪問權(quán)限由已經(jīng)設(shè)置的只讀權(quán)限修改為允許寫入權(quán)限,使得允許任意一個(gè)應(yīng)用服務(wù)器訪問目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,在將源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的同時(shí)或之前,將目標(biāo)數(shù)據(jù)庫服務(wù)器的訪問權(quán)限設(shè)置為只讀。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:云端啟動(dòng)第二應(yīng)用服務(wù)器來連接目標(biāo)數(shù)據(jù)庫服務(wù)器;提取第二應(yīng)用服務(wù)器的host文件中存儲的與數(shù)據(jù)庫域名綁定的第二ip地址;在第二應(yīng)用服務(wù)器中通過驗(yàn)證提取到的第二ip地址,來確定第二應(yīng)用服務(wù)器是否與目標(biāo)數(shù)據(jù)庫的連接成功;如果驗(yàn)證第二ip地址成功,則確定第二應(yīng)用服務(wù)器連接目標(biāo)數(shù)據(jù)庫成功。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:在第二應(yīng)用服務(wù)器的訪問界面中輸入提取到的第二ip地址;在輸入第二ip地址之后,如果成功打開目標(biāo)數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫頁面,則第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路成功建立。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:在預(yù)定時(shí)間內(nèi)檢測源數(shù)據(jù)庫服務(wù)器是否產(chǎn)生流量;如果源數(shù)據(jù)庫服務(wù)器在預(yù)定時(shí)間內(nèi)沒有產(chǎn)生任何流量,則停止源數(shù)據(jù)庫服務(wù)器后臺運(yùn)行的任務(wù)。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:如果云端上部署的服務(wù)器發(fā)生故障時(shí),采用權(quán)利要求1中的步驟將云端部署的第二應(yīng)用服務(wù)器和/或目標(biāo)數(shù)據(jù)庫服務(wù)器反向切換至對應(yīng)的物理機(jī)。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:在云下部署多臺第一應(yīng)用服務(wù)器,每臺第一應(yīng)用服務(wù)器均訪問源數(shù)據(jù)庫服務(wù)器,在云端部署多臺第二應(yīng)用服務(wù)器,第二應(yīng)用服務(wù)器均訪問目標(biāo)數(shù)據(jù)庫服務(wù)器。
在本發(fā)明實(shí)施例中,采用將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器,在所述源數(shù)據(jù)庫服務(wù)器確認(rèn)所述源數(shù)據(jù)庫同步完成之后,將第一應(yīng)用服務(wù)器訪問的數(shù)據(jù)庫服務(wù)器由所述源數(shù)據(jù)庫服務(wù)器切換為所述目標(biāo)數(shù)據(jù)庫服務(wù)器的方式,通過修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息,達(dá)到了將所述客戶端用戶通過所述第一域名訪問的應(yīng)用服務(wù)器由所述第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器的目的,從而實(shí)現(xiàn)了將應(yīng)用遷移至云端時(shí)應(yīng)用能夠繼續(xù)被用戶使用的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)中將應(yīng)用遷移至云上的過程中會導(dǎo)致客戶端停止使用的技術(shù)問題。
本領(lǐng)域普通技術(shù)人員可以理解,圖17所示的結(jié)構(gòu)僅為示意,計(jì)算機(jī)終端也可以是智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備。圖17其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,計(jì)算機(jī)終端a還可包括比圖17中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖17所示不同的配置。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設(shè)備相關(guān)的硬件來完成,該程序可以存儲于一計(jì)算機(jī)可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(read-onlymemory,rom)、隨機(jī)存取器(randomaccessmemory,ram)、磁盤或光盤等。
實(shí)施例5
本發(fā)明的實(shí)施例還提供了一種存儲介質(zhì)??蛇x地,在本實(shí)施例中,上述存儲介質(zhì)可以用于保存上述實(shí)施例一所提供的物理機(jī)數(shù)據(jù)遷移至云端方法所執(zhí)行的程序代碼。
可選地,在本實(shí)施例中,上述存儲介質(zhì)可以位于計(jì)算機(jī)網(wǎng)絡(luò)中計(jì)算機(jī)終端群中的任意一個(gè)計(jì)算機(jī)終端中,或者位于移動(dòng)終端群中的任意一個(gè)移動(dòng)終端中。
可選地,在本實(shí)施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:將源數(shù)據(jù)庫服務(wù)器中的源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,源數(shù)據(jù)庫服務(wù)器為物理機(jī),目標(biāo)數(shù)據(jù)庫服務(wù)器為部署在云端上的服務(wù)器;在源數(shù)據(jù)庫服務(wù)器確認(rèn)源數(shù)據(jù)庫同步完成之后,將第一應(yīng)用服務(wù)器訪問的數(shù)據(jù)庫服務(wù)器由源數(shù)據(jù)庫服務(wù)器切換為目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,第一應(yīng)用服務(wù)器為當(dāng)前客戶端用戶用于訪問源數(shù)據(jù)庫的物理機(jī);通過修改dns服務(wù)器中與第一域名已經(jīng)綁定的地址信息,將客戶端用戶通過第一域名訪問的應(yīng)用服務(wù)器由第一應(yīng)用服務(wù)器更換為第二應(yīng)用服務(wù)器,其中,第二應(yīng)用服務(wù)器為部署在云端上的應(yīng)用服務(wù)器;在成功建立第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路之后,客戶端用戶通過第二應(yīng)用服務(wù)器來訪問目標(biāo)數(shù)據(jù)庫中同步得到的源數(shù)據(jù)庫。
可選的,上述存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:使用切換腳本將第一應(yīng)用服務(wù)器中存儲的與數(shù)據(jù)庫域名綁定的第一ip地址修改為目標(biāo)數(shù)據(jù)庫服務(wù)器的ip地址,其中,第一ip地址為源數(shù)據(jù)庫服務(wù)器的ip地址;在切換腳本將源數(shù)據(jù)庫服務(wù)器的訪問權(quán)限設(shè)置為只讀之后,斷開訪問源數(shù)據(jù)庫服務(wù)器的所有訪問鏈路。
可選的,上述存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:同步的方式為:全量同步或增量同步,其中,通過如下任意一種方式確認(rèn)源數(shù)據(jù)庫同步完成:方式一:第一應(yīng)用服務(wù)器實(shí)時(shí)或定時(shí)輪詢源數(shù)據(jù)庫服務(wù)器,如果檢測到源數(shù)據(jù)庫服務(wù)器產(chǎn)生的同步結(jié)束信息,則確定源數(shù)據(jù)庫同步完成。方式二:源數(shù)據(jù)庫服務(wù)器按照預(yù) 設(shè)的同步時(shí)長來執(zhí)行同步源數(shù)據(jù)庫,在第一應(yīng)用服務(wù)器檢測到同步時(shí)長到達(dá),或者檢測到同步時(shí)長的延遲時(shí)間達(dá)到的情況下,確定源數(shù)據(jù)庫同步完成。
可選的,上述存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:停止源數(shù)據(jù)庫同步,并將目標(biāo)數(shù)據(jù)庫服務(wù)器的訪問權(quán)限由已經(jīng)設(shè)置的只讀權(quán)限修改為允許寫入權(quán)限,使得允許任意一個(gè)應(yīng)用服務(wù)器訪問目標(biāo)數(shù)據(jù)庫服務(wù)器,其中,在將源數(shù)據(jù)庫同步至目標(biāo)數(shù)據(jù)庫服務(wù)器的同時(shí)或之前,將目標(biāo)數(shù)據(jù)庫服務(wù)器的訪問權(quán)限設(shè)置為只讀。
可選的,上述存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:云端啟動(dòng)第二應(yīng)用服務(wù)器來連接目標(biāo)數(shù)據(jù)庫服務(wù)器;提取第二應(yīng)用服務(wù)器的host文件中存儲的與數(shù)據(jù)庫域名綁定的第二ip地址;在第二應(yīng)用服務(wù)器中通過驗(yàn)證提取到的第二ip地址,來確定第二應(yīng)用服務(wù)器是否與目標(biāo)數(shù)據(jù)庫的連接成功;如果驗(yàn)證第二ip地址成功,則確定第二應(yīng)用服務(wù)器連接目標(biāo)數(shù)據(jù)庫成功。
可選的,上述存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在第二應(yīng)用服務(wù)器的訪問界面中輸入提取到的第二ip地址;在輸入第二ip地址之后,如果成功打開目標(biāo)數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫頁面,則第二應(yīng)用服務(wù)器與目標(biāo)數(shù)據(jù)庫的訪問鏈路成功建立。
可選的,上述存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在預(yù)定時(shí)間內(nèi)檢測源數(shù)據(jù)庫服務(wù)器是否產(chǎn)生流量;如果源數(shù)據(jù)庫服務(wù)器在預(yù)定時(shí)間內(nèi)沒有產(chǎn)生任何流量,則停止源數(shù)據(jù)庫服務(wù)器后臺運(yùn)行的任務(wù)。
可選的,上述存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:如果云端上部署的服務(wù)器發(fā)生故障時(shí),采用權(quán)利要求1中的步驟將云端部署的第二應(yīng)用服務(wù)器和/或目標(biāo)數(shù)據(jù)庫服務(wù)器反向切換至對應(yīng)的物理機(jī)。
可選的,上述存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在云下部署多臺第一應(yīng)用服務(wù)器,每臺第一應(yīng)用服務(wù)器均訪問源數(shù)據(jù)庫服務(wù)器,在云端部署多臺第二應(yīng)用服務(wù)器,第二應(yīng)用服務(wù)器均訪問目標(biāo)數(shù)據(jù)庫服務(wù)器。
上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可 以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、只讀存儲器(rom,read-onlymemory)、隨機(jī)存取存儲器(ram,randomaccessmemory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。