System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)屬于數(shù)據(jù)儲(chǔ)存,尤其是涉及一種數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng)及方法。
技術(shù)介紹
1、在主數(shù)據(jù)系統(tǒng)中會(huì)收集和管理大量甚至海量的數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)庫是這些數(shù)據(jù)的一種常見的存儲(chǔ)和使用方式,而數(shù)據(jù)庫中的數(shù)據(jù)在遷移、備份、還原時(shí)都涉及到數(shù)據(jù)庫的備份操作。傳統(tǒng)的數(shù)據(jù)庫備份模式,多是基于數(shù)據(jù)庫自身提供的備份工具,也有第三方提供的備份工具,使用這些工具執(zhí)行數(shù)據(jù)庫的備份工作時(shí),單次的備份工作均是在備份發(fā)起計(jì)算機(jī)的單機(jī)上執(zhí)行。當(dāng)數(shù)據(jù)庫內(nèi)數(shù)據(jù)量較大時(shí),例如,當(dāng)數(shù)據(jù)庫容量達(dá)數(shù)百g甚至容量以t計(jì)算時(shí),采用傳統(tǒng)的備份模式,一方面?zhèn)浞輹r(shí)間消耗較大,備份任務(wù)的執(zhí)行需要耗費(fèi)數(shù)個(gè)小時(shí)甚至更長(zhǎng)時(shí)間;另一方面對(duì)備份機(jī)器本身的資源要求也較高,例如長(zhǎng)時(shí)間占用cpu和內(nèi)存資源,造成備份中止甚至死機(jī)。在主數(shù)據(jù)管理系統(tǒng)中,難免會(huì)出現(xiàn)各種緊急情況。當(dāng)面對(duì)緊急情況,需要快速且可靠的備份大量數(shù)據(jù)時(shí),使用傳統(tǒng)的備份方式無法滿足緊急備份的需求,從而引發(fā)數(shù)據(jù)災(zāi)難。
技術(shù)實(shí)現(xiàn)思路
1、專利技術(shù)目的:本專利技術(shù)的目的旨在提供一種多節(jié)點(diǎn)多線程備份、備份速度快的數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng),本專利技術(shù)的另一目的旨在提供一種數(shù)據(jù)庫的多節(jié)點(diǎn)備份方法。
2、技術(shù)方案:本專利技術(shù)所述的一種數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng),包括主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫以及至少一個(gè)用于備份主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫內(nèi)存儲(chǔ)數(shù)據(jù)的備份節(jié)點(diǎn),備份節(jié)點(diǎn)包括系統(tǒng)資源統(tǒng)計(jì)模塊、節(jié)點(diǎn)通信管理模塊、數(shù)據(jù)庫連接模塊、數(shù)據(jù)庫信息統(tǒng)計(jì)模塊、備份任務(wù)切分模塊、備份任務(wù)執(zhí)行模塊以及備份結(jié)果回傳模塊;所述系統(tǒng)資源統(tǒng)計(jì)模塊用于統(tǒng)計(jì)
3、其中,所述系統(tǒng)資源統(tǒng)計(jì)模塊所統(tǒng)計(jì)的信息節(jié)點(diǎn)信息包括每個(gè)節(jié)點(diǎn)的備份區(qū)可用硬盤空間、網(wǎng)絡(luò)帶寬、處理速度、內(nèi)存大小。
4、其中,所述據(jù)庫信息統(tǒng)計(jì)模塊用于獲取主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫的基本信息,該基本信息包括數(shù)據(jù)庫的類型、當(dāng)前版本、數(shù)據(jù)表的數(shù)量、每張表的數(shù)據(jù)字典、每張表的記錄行數(shù)、數(shù)據(jù)表之間的依賴、視圖、函數(shù)、存儲(chǔ)過程。
5、其中,所述備份任務(wù)切分模塊在進(jìn)行任務(wù)的劃分時(shí)會(huì)先對(duì)有依賴關(guān)系的數(shù)據(jù)庫對(duì)象進(jìn)行統(tǒng)計(jì),將彼此有依賴關(guān)系的對(duì)象視作一個(gè)備份單位,統(tǒng)計(jì)該單位整體的數(shù)據(jù)量;對(duì)于無依賴關(guān)系的數(shù)據(jù)對(duì)象被各自視作一個(gè)備份單位;任務(wù)分配過程中,彼此有依賴關(guān)系的多個(gè)對(duì)象作為一個(gè)整體備份單位會(huì)獲得較高的備份排序優(yōu)先級(jí),置于備份隊(duì)列的前面部分,其余無依賴的數(shù)據(jù)對(duì)象會(huì)按照數(shù)據(jù)量的大小在隊(duì)列中進(jìn)行排序;任務(wù)分配時(shí),備份任務(wù)劃分策略模塊會(huì)先從排序隊(duì)列頭部取出備份單位,優(yōu)先分配到資源較充足的節(jié)點(diǎn)上,分配完畢后再到隊(duì)列中取下一單位繼續(xù)分配,直到完成;分配過程中,若遇到節(jié)點(diǎn)備份能力不足的情況,例如待備份單位的數(shù)據(jù)量超過備份節(jié)點(diǎn)的存儲(chǔ)空間,則會(huì)跳過對(duì)該節(jié)點(diǎn)的任務(wù)分配;任務(wù)劃分完畢后,發(fā)起節(jié)點(diǎn)將任務(wù)分配的結(jié)果,通過節(jié)點(diǎn)通信管理模塊發(fā)送至各個(gè)備份節(jié)點(diǎn)。
6、其中,所述備份任務(wù)執(zhí)行模塊在執(zhí)行分配任務(wù)時(shí)對(duì)于有依賴關(guān)系的對(duì)象,會(huì)按照依賴關(guān)系逐個(gè)備份,此時(shí)備份采用單線程的方式進(jìn)行,以確保備份結(jié)果的規(guī)范;對(duì)于沒有依賴關(guān)系的對(duì)象,按照備份節(jié)點(diǎn)的自身能力決定采用單線程或多線程的方式進(jìn)行備份執(zhí)行。
7、一種數(shù)據(jù)庫的多節(jié)點(diǎn)的備份方法,其特征在于,包括以下步驟:
8、步驟1、建立備份節(jié)點(diǎn)之間的通信連接獲取備份節(jié)點(diǎn)的資源信息;
9、步驟2、根據(jù)備份節(jié)點(diǎn)的資源信息和主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫的進(jìn)行任務(wù)劃分;
10、步驟3、備份節(jié)點(diǎn)接收到備份任務(wù)后執(zhí)行該任務(wù)并反饋備份結(jié)果。
11、其中,所述步驟1中建立備份節(jié)點(diǎn)之間的通信連接獲取備份節(jié)點(diǎn)的資源信息,包括以下步驟:
12、步驟11、指定任意一個(gè)備份節(jié)點(diǎn)為配置節(jié)點(diǎn),配置節(jié)點(diǎn)啟動(dòng)一個(gè)偵聽端口用于接收其它備份節(jié)點(diǎn)更新、獲取配置信息的請(qǐng)求,并開辟存儲(chǔ)用于接收和維護(hù)各個(gè)備份節(jié)點(diǎn)資源信息;
13、步驟12、各備份節(jié)點(diǎn)通過接收配置節(jié)點(diǎn)的廣播或手工指定的方式獲取配置節(jié)點(diǎn)的信息,完成信息獲取后由備份節(jié)點(diǎn)向配置節(jié)點(diǎn)發(fā)起連接;各備份節(jié)點(diǎn)將再啟動(dòng)一個(gè)偵聽端口,用于接收其它備份節(jié)點(diǎn)發(fā)送的任務(wù)請(qǐng)求;
14、步驟13、每個(gè)備份節(jié)點(diǎn)啟動(dòng)后通過系統(tǒng)資源統(tǒng)計(jì)模塊獲得本機(jī)資源,各節(jié)點(diǎn)會(huì)定時(shí)對(duì)本機(jī)資源進(jìn)行統(tǒng)計(jì),主要包括網(wǎng)絡(luò)帶寬、內(nèi)存大小、存儲(chǔ)位置的剩余空間、cpu數(shù)量信息;
15、步驟14、各節(jié)點(diǎn)定時(shí)將自身資源信息上報(bào)至配置節(jié)點(diǎn),配置節(jié)點(diǎn)將這些信息更新到自身的在線節(jié)點(diǎn)列表信息中,并定時(shí)將在線節(jié)點(diǎn)列表信息發(fā)送至各在線節(jié)點(diǎn),當(dāng)有新節(jié)點(diǎn)加入或者有在線節(jié)點(diǎn)退出時(shí),配置節(jié)點(diǎn)會(huì)及時(shí)向在線節(jié)點(diǎn)發(fā)送更新信息。
16、其中,所述步驟2中任務(wù)劃分,包括以下步驟:
17、步驟21、用戶在某個(gè)備份節(jié)點(diǎn)上的數(shù)據(jù)庫連接模塊中選擇待備份的主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫,并發(fā)起備份;
18、步驟22、備份發(fā)起節(jié)點(diǎn)會(huì)連接主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫,并通過數(shù)據(jù)庫信息統(tǒng)計(jì)模塊去查詢數(shù)據(jù)庫,獲得必要的數(shù)據(jù)信息,包括待備份數(shù)據(jù)庫的版本、數(shù)據(jù)表、視圖、函數(shù)等對(duì)象信息,以及對(duì)象間依賴情況;
19、步驟23、完成待備份數(shù)據(jù)庫信息統(tǒng)計(jì)后,對(duì)這些信息進(jìn)行整理,將有依賴關(guān)系的對(duì)象視作一個(gè)備份單位,統(tǒng)計(jì)該單位整體的數(shù)據(jù)量,備份時(shí)該單位不做割裂拆分,其余無依賴關(guān)系的數(shù)據(jù)對(duì)象會(huì)被各自視作一個(gè)備份單位;
20、步驟24、整理任務(wù)分配隊(duì)列,彼此有依賴關(guān)系的多個(gè)對(duì)象作為一個(gè)整體備份單位會(huì)獲得較高的備份排序優(yōu)先級(jí),置于備份隊(duì)列的前面,其余無依賴的數(shù)據(jù)對(duì)象會(huì)按照數(shù)據(jù)量的大小在隊(duì)列中進(jìn)行排序;
21、步驟25、各節(jié)點(diǎn)備份任務(wù)劃分,對(duì)照本節(jié)點(diǎn)接收到的備份節(jié)點(diǎn)表,開始劃分各節(jié)點(diǎn)備份任務(wù),任務(wù)分配時(shí),備份任務(wù)劃分策略模塊會(huì)先從排序隊(duì)列頭部取出備份單位,優(yōu)先分配到資源較充足的節(jié)點(diǎn)上,然后再從隊(duì)列中取下一單位繼續(xù)分配,直到完畢;分配過程中,若遇到節(jié)點(diǎn)備份能力不足的情況,跳過對(duì)該節(jié)點(diǎn)的任務(wù)分配;
22、步驟26、任務(wù)劃分完畢后,任務(wù)發(fā)起節(jié)點(diǎn)向各備份節(jié)點(diǎn)發(fā)起連接請(qǐng)求,所有連接建立完畢后,將分配好的任務(wù)打包發(fā)送至各備份節(jié)點(diǎn)。
23、其中,所述步驟3中備份節(jié)點(diǎn)執(zhí)行任務(wù)時(shí),包括以下步驟:
24、步驟31、備份節(jié)點(diǎn)接收到備份任務(wù)后,解析任務(wù)內(nèi)容,將任務(wù)單位內(nèi)容存于本節(jié)點(diǎn)的任務(wù)隊(duì)列中;
25、步驟32、從任務(wù)隊(duì)列中獲取任務(wù)單位,有依賴關(guān)系的備份單位會(huì)排在隊(duì)首,對(duì)于有依賴關(guān)系的單位,會(huì)采用單線程的方式進(jìn)行備份,按照依賴關(guān)系逐個(gè)備份數(shù)據(jù)對(duì)象;有依賴關(guān)系的對(duì)象備份完成后,對(duì)其它任務(wù)單位,將根據(jù)節(jié)點(diǎn)自身的資源情況,采用單線程或多線程的備份本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng),其特征在于,包括主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫以及至少一個(gè)用于備份主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫內(nèi)存儲(chǔ)數(shù)據(jù)的備份節(jié)點(diǎn),備份節(jié)點(diǎn)包括系統(tǒng)資源統(tǒng)計(jì)模塊、節(jié)點(diǎn)通信管理模塊、數(shù)據(jù)庫連接模塊、數(shù)據(jù)庫信息統(tǒng)計(jì)模塊、備份任務(wù)切分模塊、備份任務(wù)執(zhí)行模塊以及備份結(jié)果回傳模塊;所述系統(tǒng)資源統(tǒng)計(jì)模塊用于統(tǒng)計(jì)參與備份節(jié)點(diǎn)的資源與能力情況,所述節(jié)點(diǎn)通信管理模塊將備份任務(wù)分發(fā)給各備份節(jié)點(diǎn),在接收到所有節(jié)點(diǎn)備份成功消息通知后,該模塊進(jìn)行文件傳遞,獲取各個(gè)備份節(jié)點(diǎn)的備份結(jié)果;所述數(shù)據(jù)庫連接模塊用于管理備份節(jié)點(diǎn)與主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫之間的連接,保存兩者之間的連接配置;所述數(shù)據(jù)庫信息統(tǒng)計(jì)模塊用于對(duì)待備份主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫的基本信息進(jìn)行統(tǒng)計(jì);所述備份任務(wù)切分模塊用于備份任務(wù)的劃分;所述備份任務(wù)執(zhí)行模塊用于數(shù)據(jù)的備份,所述備份結(jié)果回傳模塊用于通知備份節(jié)點(diǎn)回傳備份結(jié)果文件。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng),其特征在于,所述系統(tǒng)資源統(tǒng)計(jì)模塊所統(tǒng)計(jì)的信息節(jié)點(diǎn)信息包括每個(gè)節(jié)點(diǎn)的備份區(qū)可用硬盤空間、網(wǎng)絡(luò)帶寬、處理速度、內(nèi)存大小。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng),其特征在于,所
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng),其特征在于,所述備份任務(wù)切分模塊在進(jìn)行任務(wù)的劃分時(shí)會(huì)先對(duì)有依賴關(guān)系的數(shù)據(jù)庫對(duì)象進(jìn)行統(tǒng)計(jì),將彼此有依賴關(guān)系的對(duì)象視作一個(gè)備份單位,統(tǒng)計(jì)該單位整體的數(shù)據(jù)量;對(duì)于無依賴關(guān)系的數(shù)據(jù)對(duì)象被各自視作一個(gè)備份單位;任務(wù)分配過程中,彼此有依賴關(guān)系的多個(gè)對(duì)象作為一個(gè)整體備份單位會(huì)獲得較高的備份排序優(yōu)先級(jí),置于備份隊(duì)列的前面部分,其余無依賴的數(shù)據(jù)對(duì)象會(huì)按照數(shù)據(jù)量的大小在隊(duì)列中進(jìn)行排序;任務(wù)分配時(shí),備份任務(wù)劃分策略模塊會(huì)先從排序隊(duì)列頭部取出備份單位,優(yōu)先分配到資源較充足的節(jié)點(diǎn)上,分配完畢后再到隊(duì)列中取下一單位繼續(xù)分配,直到完成;分配過程中,若遇到節(jié)點(diǎn)備份能力不足的情況,例如待備份單位的數(shù)據(jù)量超過備份節(jié)點(diǎn)的存儲(chǔ)空間,則會(huì)跳過對(duì)該節(jié)點(diǎn)的任務(wù)分配;任務(wù)劃分完畢后,發(fā)起節(jié)點(diǎn)將任務(wù)分配的結(jié)果,通過節(jié)點(diǎn)通信管理模塊發(fā)送至各個(gè)備份節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng),其特征在于,所述備份任務(wù)執(zhí)行模塊在執(zhí)行分配任務(wù)時(shí)對(duì)于有依賴關(guān)系的對(duì)象,會(huì)按照依賴關(guān)系逐個(gè)備份,此時(shí)備份采用單線程的方式進(jìn)行,以確保備份結(jié)果的規(guī)范;對(duì)于沒有依賴關(guān)系的對(duì)象,按照備份節(jié)點(diǎn)的自身能力決定采用單線程或多線程的方式進(jìn)行備份執(zhí)行。
6.一種應(yīng)用于權(quán)利要求1所述的數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng)的備份方法,其特征在于,包括以下步驟:
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫的多節(jié)點(diǎn)備份方法,其特征在于,所述步驟1中建立備份節(jié)點(diǎn)之間的通信連接獲取備份節(jié)點(diǎn)的資源信息,包括以下步驟:
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫的多節(jié)點(diǎn)備份方法,其特征在于,所述步驟2中任務(wù)劃分,包括以下步驟:
9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫的多節(jié)點(diǎn)備份方法,其特征在于,所述步驟3中備份節(jié)點(diǎn)執(zhí)行任務(wù)時(shí),包括以下步驟:
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)庫的多節(jié)點(diǎn)備份方法,其特征在于,所述步驟34中,若接收到的消息中有備份失敗的情況,則向原備份節(jié)點(diǎn)再次指派該備份任務(wù),若再次失敗,則更換備份節(jié)點(diǎn)執(zhí)行此備份任務(wù),失敗到達(dá)一定次數(shù)后,上報(bào)人工處理。
...【技術(shù)特征摘要】
1.一種數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng),其特征在于,包括主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫以及至少一個(gè)用于備份主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫內(nèi)存儲(chǔ)數(shù)據(jù)的備份節(jié)點(diǎn),備份節(jié)點(diǎn)包括系統(tǒng)資源統(tǒng)計(jì)模塊、節(jié)點(diǎn)通信管理模塊、數(shù)據(jù)庫連接模塊、數(shù)據(jù)庫信息統(tǒng)計(jì)模塊、備份任務(wù)切分模塊、備份任務(wù)執(zhí)行模塊以及備份結(jié)果回傳模塊;所述系統(tǒng)資源統(tǒng)計(jì)模塊用于統(tǒng)計(jì)參與備份節(jié)點(diǎn)的資源與能力情況,所述節(jié)點(diǎn)通信管理模塊將備份任務(wù)分發(fā)給各備份節(jié)點(diǎn),在接收到所有節(jié)點(diǎn)備份成功消息通知后,該模塊進(jìn)行文件傳遞,獲取各個(gè)備份節(jié)點(diǎn)的備份結(jié)果;所述數(shù)據(jù)庫連接模塊用于管理備份節(jié)點(diǎn)與主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫之間的連接,保存兩者之間的連接配置;所述數(shù)據(jù)庫信息統(tǒng)計(jì)模塊用于對(duì)待備份主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫的基本信息進(jìn)行統(tǒng)計(jì);所述備份任務(wù)切分模塊用于備份任務(wù)的劃分;所述備份任務(wù)執(zhí)行模塊用于數(shù)據(jù)的備份,所述備份結(jié)果回傳模塊用于通知備份節(jié)點(diǎn)回傳備份結(jié)果文件。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng),其特征在于,所述系統(tǒng)資源統(tǒng)計(jì)模塊所統(tǒng)計(jì)的信息節(jié)點(diǎn)信息包括每個(gè)節(jié)點(diǎn)的備份區(qū)可用硬盤空間、網(wǎng)絡(luò)帶寬、處理速度、內(nèi)存大小。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng),其特征在于,所述據(jù)庫信息統(tǒng)計(jì)模塊用于獲取主數(shù)據(jù)平臺(tái)數(shù)據(jù)庫的基本信息,該基本信息包括數(shù)據(jù)庫的類型、當(dāng)前版本、數(shù)據(jù)表的數(shù)量、每張表的數(shù)據(jù)字典、每張表的記錄行數(shù)、數(shù)據(jù)表之間的依賴、視圖、函數(shù)、存儲(chǔ)過程。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫的多節(jié)點(diǎn)備份系統(tǒng),其特征在于,所述備份任務(wù)切分模塊在進(jìn)行任務(wù)的劃分時(shí)會(huì)先對(duì)有依賴關(guān)系的數(shù)據(jù)庫對(duì)象進(jìn)行統(tǒng)計(jì),將彼此有依賴關(guān)系的對(duì)象視作一個(gè)備份單位,統(tǒng)計(jì)該單位整體的數(shù)據(jù)量;對(duì)于無依賴關(guān)系的數(shù)據(jù)對(duì)象被各自視作一個(gè)備份單位;任務(wù)分配過程中,彼此有依賴關(guān)系的多個(gè)對(duì)象作為...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:于百勇,楊旭,易危香,馬彬焱,呼雨欣,陳輝揚(yáng),
申請(qǐng)(專利權(quán))人:南京地鐵集團(tuán)有限公司,
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。