国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于批處理請(qǐng)求的MicrosoftSQLServer數(shù)據(jù)庫(kù)集群的制作方法

      文檔序號(hào):6429960閱讀:205來源:國(guó)知局
      專利名稱:基于批處理請(qǐng)求的Microsoft SQL Server數(shù)據(jù)庫(kù)集群的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及的是數(shù)據(jù)庫(kù)集群領(lǐng)域,具體涉及的是一種基于客戶端批處理請(qǐng)求,具有容錯(cuò)、負(fù)載均衡和自動(dòng)優(yōu)化三大功能的Microsoft SQL krver數(shù)據(jù)庫(kù)集群的方法。
      背景技術(shù)
      數(shù)據(jù)庫(kù)系統(tǒng)是信息系統(tǒng)的核心,在數(shù)據(jù)庫(kù)集群領(lǐng)域,當(dāng)前市場(chǎng)上存在這么幾種解決方案異步復(fù)制、故障轉(zhuǎn)移集群和Oracle的應(yīng)用級(jí)集群(RAC),但是這些方案無(wú)法在數(shù)據(jù)可靠性、系統(tǒng)性能和系統(tǒng)可用性等三方面取得同步進(jìn)展。異步數(shù)據(jù)復(fù)制有事務(wù)復(fù)制、鏡像、快照以及第三方的數(shù)據(jù)復(fù)制技術(shù),這些技術(shù)縮短了數(shù)據(jù)更新的時(shí)間間隔,但是在可靠性方面存在一定缺陷,不具備負(fù)載均衡特征,對(duì)系統(tǒng)整體性能的提升沒有絲毫的幫助,反而會(huì)給系統(tǒng)帶來一定的性能開銷。微軟SQL krver數(shù)據(jù)庫(kù)自帶的故障轉(zhuǎn)移集群,它是建立在Windows系統(tǒng)的故障轉(zhuǎn)移集群基礎(chǔ)上,功能與市場(chǎng)上很多第三方的數(shù)據(jù)庫(kù)雙機(jī)容錯(cuò)方案類似,只提供系統(tǒng)可用性,對(duì)提高系統(tǒng)性能和可靠性沒有幫助,同時(shí)還會(huì)帶來硬件資源的浪費(fèi)。Oracle的應(yīng)用級(jí)集群(RAC)雖然提高了系統(tǒng)性能,但是也存在配置、維護(hù)復(fù)雜, 單點(diǎn)故障源,以及1/0瓶頸等問題。那么能否實(shí)現(xiàn)一種真正意義上的數(shù)據(jù)庫(kù)集群方案,使得在系統(tǒng)可靠性、性能和可用性方面同時(shí)得到提升?由于微軟Windows平臺(tái)和SQL krver數(shù)據(jù)庫(kù)的廣泛普及,因此本發(fā)明首先是在微軟的SQL krver數(shù)據(jù)庫(kù)上實(shí)現(xiàn)的。

      發(fā)明內(nèi)容
      本發(fā)明內(nèi)容提供一種實(shí)現(xiàn)基于客戶端批處理請(qǐng)求,具有容錯(cuò)、負(fù)載均衡和自動(dòng)優(yōu)化三大功能的Microsoft SQL krver數(shù)據(jù)庫(kù)集群的方法,具體實(shí)現(xiàn)內(nèi)容是集群有兩部分組成,前端是網(wǎng)關(guān)及其備份,后端是兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)服務(wù)器節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)上安裝了 SQL Server實(shí)例和集群代理,無(wú)共享磁盤結(jié)構(gòu),各節(jié)點(diǎn)具有獨(dú)立且一致的數(shù)據(jù)集,集群中有且只有一臺(tái)主機(jī),網(wǎng)關(guān)負(fù)責(zé)管理整個(gè)集群,在主網(wǎng)關(guān)失效時(shí)集群會(huì)自動(dòng)啟動(dòng)備份網(wǎng)關(guān),對(duì)于每個(gè)客戶端連接,網(wǎng)關(guān)會(huì)同時(shí)打開對(duì)應(yīng)的與每個(gè)節(jié)點(diǎn)的數(shù)據(jù)庫(kù)連接,此后網(wǎng)關(guān)接收并分析、優(yōu)化所有來自客戶端的訪問,客戶請(qǐng)求被分成兩類只讀查詢和數(shù)據(jù)更新,對(duì)于只讀查詢,網(wǎng)關(guān)按設(shè)定的負(fù)載均衡算法將該請(qǐng)求發(fā)送到任一節(jié)點(diǎn)上執(zhí)行,從而實(shí)現(xiàn)真正的數(shù)據(jù)庫(kù)訪問負(fù)載均衡,對(duì)于更新請(qǐng)求,則被發(fā)送到集群的主機(jī)執(zhí)行,由主機(jī)上的集群代理負(fù)責(zé)同步數(shù)據(jù)到其它節(jié)點(diǎn),從而保持各節(jié)點(diǎn)數(shù)據(jù)集實(shí)時(shí)一致,消除單點(diǎn)故障源,實(shí)現(xiàn)系統(tǒng)容錯(cuò),具體操作步驟如下
      當(dāng)客戶端發(fā)起數(shù)據(jù)庫(kù)登錄請(qǐng)求時(shí),網(wǎng)關(guān)會(huì)同時(shí)登錄到集群中的每個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn),針對(duì)此后每個(gè)批處理請(qǐng)求,網(wǎng)關(guān)會(huì)自動(dòng)進(jìn)行語(yǔ)法分析和優(yōu)化,判斷出此請(qǐng)求是只讀查詢還是更新(插入、修改和刪除)請(qǐng)求,如果是只讀查詢請(qǐng)求,網(wǎng)關(guān)會(huì)根據(jù)一定的算法,挑選其中一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行這個(gè)請(qǐng)求,如果是更新(插入、修改和刪除)請(qǐng)求,則將此請(qǐng)求發(fā)送到
      4主機(jī),主機(jī)在完成數(shù)據(jù)更新的同時(shí)由主機(jī)上的集群代理實(shí)時(shí)同步數(shù)據(jù)或SQL操作到各個(gè)從機(jī),從而保持主從節(jié)點(diǎn)上各數(shù)據(jù)集實(shí)時(shí)一致,集群運(yùn)行過程中始終有且只有一臺(tái)主機(jī),在主機(jī)失效的情況下,集群網(wǎng)關(guān)會(huì)在剩下的節(jié)點(diǎn)中挑選出另外一臺(tái)機(jī)器重新作為主機(jī)。批處理請(qǐng)求是指來自數(shù)據(jù)庫(kù)客戶端的一次請(qǐng)求,該請(qǐng)求可能是普通的SQL批處理,也可能是二進(jìn)制形式的,也可能是二進(jìn)制形式的多個(gè)批處理請(qǐng)求的復(fù)合。網(wǎng)關(guān)是指一種獨(dú)立的程序軟件,是整個(gè)集群的核心部件,它負(fù)責(zé)管理整個(gè)集群,并且對(duì)每個(gè)客戶端的請(qǐng)求進(jìn)行分析并作出負(fù)載均衡或同步更新決定,同時(shí)網(wǎng)關(guān)還具有自動(dòng)檢測(cè)、分析并優(yōu)化客戶SQL語(yǔ)句的功能。各個(gè)節(jié)點(diǎn)具有獨(dú)立且一致的數(shù)據(jù)集,是指各數(shù)據(jù)庫(kù)成員的數(shù)據(jù)存放在本地存儲(chǔ)設(shè)備上,彼此的數(shù)據(jù)是不共享的,即使在共享物理磁盤架構(gòu)下也有同樣的要求,并且各用戶數(shù)據(jù)庫(kù)的目錄路徑要求一致,從而真正實(shí)現(xiàn)了冗余。集群運(yùn)行中始終有且只有一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器作為主機(jī),主機(jī)負(fù)責(zé)同步數(shù)據(jù)到各個(gè)從機(jī),從而實(shí)時(shí)保持各數(shù)據(jù)庫(kù)成員的數(shù)據(jù)集一致,是指主機(jī)上的代理程序,它運(yùn)行在SQL Server進(jìn)程空間內(nèi),分析和處理插入,修改和刪除操作,將該操作或者變化了的數(shù)據(jù)實(shí)時(shí)同步到各個(gè)從機(jī),從而保證集群節(jié)點(diǎn)上的每個(gè)數(shù)據(jù)集在任意時(shí)間點(diǎn)是完全一樣的。對(duì)于每個(gè)客戶端的登錄請(qǐng)求,網(wǎng)關(guān)都是同時(shí)打開與各個(gè)數(shù)據(jù)庫(kù)的連接并且登錄數(shù)據(jù)庫(kù),為接下來的基于批處理請(qǐng)求的負(fù)載均衡作好連接準(zhǔn)備。網(wǎng)關(guān)會(huì)自動(dòng)進(jìn)行語(yǔ)法分析和優(yōu)化,是指對(duì)客戶請(qǐng)求進(jìn)行檢查,并優(yōu)化,以提高單個(gè)請(qǐng)求的執(zhí)行效率,同時(shí)也通過負(fù)載均衡來提高整個(gè)系統(tǒng)的運(yùn)行性能,負(fù)載均衡算法是指順序輪流算法或者綜合各集群節(jié)點(diǎn)的網(wǎng)絡(luò)響應(yīng)時(shí)間和CPU利用率等參數(shù)的動(dòng)態(tài)負(fù)載算法。


      附圖為本發(fā)明集群工作原理示意圖。
      具體實(shí)施例方式參照附圖對(duì)本發(fā)明的方法做如下詳細(xì)說明。集群中始終存在唯一的主機(jī),每個(gè)集群節(jié)點(diǎn)都有自己獨(dú)立但彼此一致的數(shù)據(jù)集, 代理宿主在SQL Server進(jìn)程空間內(nèi),對(duì)于每個(gè)客戶端連接,網(wǎng)關(guān)相應(yīng)打開與每個(gè)節(jié)點(diǎn)的數(shù)據(jù)庫(kù)連接,此后網(wǎng)關(guān)開始接收所有的客戶端請(qǐng)求,在對(duì)請(qǐng)求分析優(yōu)化后,請(qǐng)求被分成兩類 一類是只讀查詢請(qǐng)求,另一類是數(shù)據(jù)更新(插入、修改、刪除)請(qǐng)求。對(duì)于只讀查詢請(qǐng)求,網(wǎng)關(guān)根據(jù)一定的負(fù)載均衡算法,將該請(qǐng)求發(fā)送到其中一個(gè)節(jié)點(diǎn)上執(zhí)行,對(duì)于更新請(qǐng)求,網(wǎng)關(guān)將該請(qǐng)求發(fā)送到主機(jī)執(zhí)行,主機(jī)在執(zhí)行數(shù)據(jù)更新的同時(shí),由主機(jī)上的代理程序?qū)炎兓糠值臄?shù)據(jù)同步到各個(gè)從機(jī)上,由于客戶端的數(shù)據(jù)庫(kù)更新事務(wù)和代理的同步事務(wù)同處一個(gè)分布式事務(wù),借助微軟分布式事務(wù)處理協(xié)調(diào)器的控制,這兩個(gè)事務(wù)被綁定成為一個(gè)原子操作,從而保證每個(gè)節(jié)點(diǎn)的數(shù)據(jù)集在任意時(shí)刻都是一致的,從而為負(fù)載均衡奠定前提條件。具體實(shí)施步驟如下
      1)在包括主數(shù)據(jù)庫(kù)和從數(shù)據(jù)庫(kù)的所有節(jié)點(diǎn)上安裝相同版本和相同補(bǔ)丁包的Windows 操作系統(tǒng)和SQL krver數(shù)據(jù)庫(kù),并安裝本發(fā)明的集群代理,并且初始化每個(gè)節(jié)點(diǎn)。2)在獨(dú)立的機(jī)器上安裝集群網(wǎng)關(guān)(也可以安裝在集群的數(shù)據(jù)庫(kù)節(jié)點(diǎn)上,這樣可以節(jié)省硬件資源,具體依實(shí)際情況而定),并且配置好集群成員的IP地址,端口號(hào)等必要信肩、ο3)配置好集群各節(jié)點(diǎn)的微軟分布式事務(wù)處理協(xié)調(diào)器,同時(shí)把各集群節(jié)點(diǎn)的數(shù)據(jù)庫(kù)證書導(dǎo)入到網(wǎng)關(guān)機(jī)器。4)啟動(dòng)網(wǎng)關(guān),客戶端通過網(wǎng)關(guān)訪問集群,驗(yàn)證對(duì)客戶端無(wú)縫、透明連接,也就是二進(jìn)制兼容。5)驗(yàn)證數(shù)據(jù)同步和負(fù)載均衡功能。
      權(quán)利要求
      1.一種基于批處理請(qǐng)求的Microsoft SQL krver數(shù)據(jù)庫(kù)集群,其特征在于,集群有兩部分組成,前端是網(wǎng)關(guān)及其備份,后端是兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)服務(wù)器節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)上安裝了 SQL Server實(shí)例和集群代理,無(wú)共享磁盤結(jié)構(gòu),各節(jié)點(diǎn)具有獨(dú)立且一致的數(shù)據(jù)集,集群中有且只有一臺(tái)主機(jī),網(wǎng)關(guān)負(fù)責(zé)管理整個(gè)集群,在主網(wǎng)關(guān)失效時(shí)集群會(huì)自動(dòng)啟動(dòng)備份網(wǎng)關(guān),對(duì)于每個(gè)客戶端連接,網(wǎng)關(guān)會(huì)同時(shí)打開對(duì)應(yīng)的與每個(gè)節(jié)點(diǎn)的數(shù)據(jù)庫(kù)連接,此后網(wǎng)關(guān)接收并分析、 優(yōu)化所有來自客戶端的訪問,客戶請(qǐng)求被分成兩類只讀查詢和數(shù)據(jù)更新,對(duì)于只讀查詢, 網(wǎng)關(guān)按設(shè)定的負(fù)載均衡算法將該請(qǐng)求發(fā)送到任一節(jié)點(diǎn)上執(zhí)行,從而實(shí)現(xiàn)真正的數(shù)據(jù)庫(kù)訪問負(fù)載均衡,對(duì)于更新請(qǐng)求,則被發(fā)送到集群的主機(jī)執(zhí)行,由主機(jī)上的集群代理負(fù)責(zé)同步數(shù)據(jù)到其它節(jié)點(diǎn),從而保持各節(jié)點(diǎn)數(shù)據(jù)集實(shí)時(shí)一致,消除單點(diǎn)故障源,實(shí)現(xiàn)系統(tǒng)容錯(cuò),具體操作步驟如下當(dāng)客戶端發(fā)起數(shù)據(jù)庫(kù)登錄請(qǐng)求時(shí),網(wǎng)關(guān)會(huì)同時(shí)登錄到集群中的每個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn),針對(duì)此后每個(gè)批處理請(qǐng)求,網(wǎng)關(guān)會(huì)自動(dòng)進(jìn)行語(yǔ)法分析和優(yōu)化,判斷出此請(qǐng)求是只讀查詢還是更新(插入、修改和刪除)請(qǐng)求,如果是只讀查詢請(qǐng)求,網(wǎng)關(guān)會(huì)根據(jù)一定的算法,挑選其中一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行這個(gè)請(qǐng)求,如果是更新(插入、修改和刪除)請(qǐng)求,則將此請(qǐng)求發(fā)送到主機(jī),主機(jī)在完成數(shù)據(jù)更新的同時(shí)由主機(jī)上的集群代理實(shí)時(shí)同步數(shù)據(jù)或SQL操作到各個(gè)從機(jī),從而保持主從節(jié)點(diǎn)上各數(shù)據(jù)集實(shí)時(shí)一致,集群運(yùn)行過程中始終有且只有一臺(tái)主機(jī),在主機(jī)失效的情況下,集群網(wǎng)關(guān)會(huì)在剩下的節(jié)點(diǎn)中挑選出另外一臺(tái)機(jī)器重新作為主機(jī)。
      2.根據(jù)權(quán)利要求1所述方法,其特征在于,一種基于批處理請(qǐng)求的MicrosoftSQL Server數(shù)據(jù)庫(kù)集群,這里的批處理指的是來自數(shù)據(jù)庫(kù)客戶端的一次請(qǐng)求,該請(qǐng)求可能是普通的SQL批處理,也可能是二進(jìn)制形式的,也可能是二進(jìn)制形式的多個(gè)批處理請(qǐng)求的復(fù)合。
      3.根據(jù)權(quán)利要求1所述方法,其特征在于,前端是網(wǎng)關(guān)及其備份,網(wǎng)關(guān)是指一種獨(dú)立的程序軟件,是整個(gè)集群的核心部件,它負(fù)責(zé)管理整個(gè)集群,并且對(duì)每個(gè)客戶端的請(qǐng)求進(jìn)行分析并作出負(fù)載均衡或同步更新決定,同時(shí)網(wǎng)關(guān)還具有自動(dòng)檢測(cè)、分析并優(yōu)化客戶SQL語(yǔ)句的功能,在主網(wǎng)關(guān)失效時(shí)集群會(huì)自動(dòng)啟動(dòng)備份網(wǎng)關(guān),以達(dá)到網(wǎng)關(guān)自身的高可用性。
      4.根據(jù)權(quán)利要求1所述方法,其特征在于,后端是兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)服務(wù)器節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)上安裝了 SQL krver實(shí)例和集群代理,集群代理是一種程序軟件,它運(yùn)行在SQL Server進(jìn)程空間內(nèi)的,負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)插入、修改和刪除操作進(jìn)行分析,并且將這種操作和數(shù)據(jù)同步到各個(gè)從機(jī)節(jié)點(diǎn)。
      5.根據(jù)權(quán)利要求1所述方法,其特征在于,無(wú)共享磁盤結(jié)構(gòu),各節(jié)點(diǎn)具有獨(dú)立且一致的數(shù)據(jù)集,是指各節(jié)點(diǎn)上的數(shù)據(jù)存放在本地存儲(chǔ)設(shè)備上,彼此的數(shù)據(jù)不共享,從而真正實(shí)現(xiàn)了冗余。
      6.根據(jù)權(quán)利要求1所述方法,其特征在于,集群運(yùn)行過程中有且只有一臺(tái)主機(jī),是指只有主機(jī)上的集群代理是活動(dòng)的,通過分析數(shù)據(jù)更新操作,將該操作或數(shù)據(jù)實(shí)時(shí)同步到各個(gè)從機(jī),等所有從機(jī)都完成之后,主機(jī)才給客戶端返回結(jié)果,從而保證集群各節(jié)點(diǎn)上的數(shù)據(jù)集在任意時(shí)間點(diǎn)是完全一致的,實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)的容錯(cuò),提高系統(tǒng)的可用性。
      7.根據(jù)權(quán)利要求1所述方法,其特征在于,對(duì)于每個(gè)客戶端的登錄請(qǐng)求,網(wǎng)關(guān)同時(shí)打開與各個(gè)數(shù)據(jù)庫(kù)的連接并且登錄數(shù)據(jù)庫(kù),為接下來的基于批處理請(qǐng)求的負(fù)載均衡作好連接和執(zhí)行環(huán)境的準(zhǔn)備。
      8.根據(jù)權(quán)利要求1所述方法,其特征在于,此后網(wǎng)關(guān)接收并分析、優(yōu)化所有來自客戶端的訪問,是指對(duì)客戶請(qǐng)求進(jìn)行檢查、分析和優(yōu)化,以提高單個(gè)請(qǐng)求的執(zhí)行效率,并最后判斷出此請(qǐng)求是可以負(fù)載均衡執(zhí)行的只讀查詢請(qǐng)求還是需要到主機(jī)執(zhí)行的數(shù)據(jù)更新請(qǐng)求。
      9.根據(jù)權(quán)利要求1所述方法,其特征在于,對(duì)于只讀查詢,網(wǎng)關(guān)按設(shè)定的負(fù)載均衡算法,是指順序輪流算法或者綜合了各集群節(jié)點(diǎn)的網(wǎng)絡(luò)響應(yīng)時(shí)間和CPU利用率等參數(shù)的動(dòng)態(tài)負(fù)載算法。
      全文摘要
      本發(fā)明實(shí)現(xiàn)一種基于批處理請(qǐng)求的Microsoft SQL Server數(shù)據(jù)庫(kù)集群。集群有兩部分組成,前端是網(wǎng)關(guān)及其備份,后端是兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)服務(wù)器節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)上安裝了SQL Server實(shí)例和集群代理,無(wú)共享磁盤結(jié)構(gòu),各節(jié)點(diǎn)具有獨(dú)立且一致的數(shù)據(jù)集,集群中有且只有一臺(tái)主機(jī)。網(wǎng)關(guān)負(fù)責(zé)管理整個(gè)集群,對(duì)于每個(gè)客戶端連接,網(wǎng)關(guān)會(huì)同時(shí)打開與每個(gè)節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)庫(kù)連接,此后網(wǎng)關(guān)接收并分析、優(yōu)化所有客戶請(qǐng)求,客戶請(qǐng)求被分成兩類只讀查詢和數(shù)據(jù)更新,對(duì)于只讀查詢,網(wǎng)關(guān)按設(shè)定的負(fù)載均衡算法將該請(qǐng)求發(fā)送到任一節(jié)點(diǎn)上執(zhí)行,從而實(shí)現(xiàn)真正的數(shù)據(jù)庫(kù)訪問負(fù)載均衡,提高系統(tǒng)性能;對(duì)于更新請(qǐng)求,則被發(fā)送到集群的主機(jī)執(zhí)行,由主機(jī)負(fù)責(zé)同步數(shù)據(jù)到其它節(jié)點(diǎn),從而保持各節(jié)點(diǎn)數(shù)據(jù)集實(shí)時(shí)一致,消除單點(diǎn)故障源,實(shí)現(xiàn)系統(tǒng)容錯(cuò)。整個(gè)集群能顯著提高系統(tǒng)性能、可用性和可靠性,解決數(shù)據(jù)庫(kù)領(lǐng)域一直存在的性能、單點(diǎn)故障、零數(shù)據(jù)丟失等多種棘手問題,是一個(gè)綜合的數(shù)據(jù)庫(kù)集群方案。
      文檔編號(hào)G06F17/30GK102254031SQ20111022067
      公開日2011年11月23日 申請(qǐng)日期2011年8月3日 優(yōu)先權(quán)日2011年8月3日
      發(fā)明者沈新國(guó) 申請(qǐng)人:無(wú)錫浙潮科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1