本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體而言,涉及一種DNS解析記錄的切換方法和一種DNS解析記錄的切換裝置。
背景技術(shù):
目前,雖然客戶端的DNS(Domain Name System,域名系統(tǒng))解析請(qǐng)求可以直接向DNS域名解析服務(wù)器(以下稱DNS解析服務(wù)器)發(fā)送。但通??蛻舳硕紩?huì)向本網(wǎng)絡(luò)內(nèi)的DNS Cache服務(wù)器(DNS緩存服務(wù)器)請(qǐng)求DNS域名解析,然后由DNS Cache服務(wù)器統(tǒng)一向DNS解析服務(wù)器發(fā)起解析請(qǐng)求,如圖1所示,DNS解析服務(wù)器、DNS Cache服務(wù)器與最終客戶端之間的關(guān)系,這樣可以有效的分流DNS解析服務(wù)器的壓力,并縮短解析延遲,其中,這里的本網(wǎng)絡(luò),一般情況下范圍為一個(gè)產(chǎn)業(yè)園區(qū),或者北京聯(lián)通,上海電信等這種級(jí)別。
DNS Cache服務(wù)器會(huì)緩存DNS解析記錄,而DNS解析記錄的緩存時(shí)間由DNS解析服務(wù)器指定,目前的DNS解析服務(wù)器向DNS Cache服務(wù)器返回DNS解析記錄的緩存時(shí)間均為固定值,而且,由于緩存影響,和其他的緩存系統(tǒng)一樣,在不同的緩存副本之間不可避免的存在不一致問題。比如,DNS解析服務(wù)器已經(jīng)將域名A的IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址從IP1修改為IP2,但DNS Cache服務(wù)器在一定時(shí)間內(nèi)并不會(huì)感知到這個(gè)修改,其緩存的DNS解析記錄中的解析地址仍然是IP1,那么,對(duì)于全網(wǎng)來說,在DNS解析記錄的有效時(shí)間(即DNS解析記錄的緩存時(shí)間)之內(nèi),域名A可能被解析為IP1,也可能被解析為IP2。
而且,由于DNS體系基本上隨互聯(lián)網(wǎng)一同建立,DNS Cache服務(wù)器緩存影響造成的DNS解析記錄切換不精準(zhǔn)的問題一直存在。
針對(duì)上述問題,大多數(shù)情況下,比如說某新聞網(wǎng)站,在其切換IP地址后,某些用戶看到的內(nèi)容較新,而另一些用戶看到了相對(duì)較舊的內(nèi)容,這種情況并不會(huì)對(duì)應(yīng)用有顯著傷害,所以大多數(shù)情況下選擇忽略了該問題。
還有另外一些應(yīng)用,比如網(wǎng)銀、支付系統(tǒng)等,通過通告停機(jī)時(shí)間的方式,暫停服務(wù)若干小時(shí),DNS解析記錄切換在這幾個(gè)小時(shí)之內(nèi)則可全部完成,雖然解決了上述DNS解析記錄切換不精準(zhǔn)的問題,且方案比較簡(jiǎn)單,但代價(jià)是需要中斷業(yè)務(wù),會(huì)給用戶帶來不好的體驗(yàn)。
此外,還可以在網(wǎng)站內(nèi)部的實(shí)現(xiàn)回避此問題,比如IP1與IP2都只是接入服務(wù)器,而它們會(huì)把數(shù)據(jù)傳遞到同一臺(tái)應(yīng)用服務(wù)器或者同一個(gè)數(shù)據(jù)服務(wù)器,如此,雖然在切換之后兩個(gè)IP都在工作,但數(shù)據(jù)本身并不會(huì)混亂。
對(duì)于一些更苛刻的情況,網(wǎng)站內(nèi)部的技術(shù)結(jié)構(gòu)進(jìn)行了升級(jí),比如后臺(tái)應(yīng)用服務(wù)器從Java(一門面向?qū)ο缶幊陶Z言)替換為ASPNET(一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù))、數(shù)據(jù)庫從MySQL(關(guān)系型數(shù)據(jù)庫管理系統(tǒng))替換為ES(Elastic Search,一種搜索服務(wù)器)。這些場(chǎng)景在多個(gè)IP作為接入前端時(shí),其后端應(yīng)用或者數(shù)據(jù)服務(wù)器并不統(tǒng)一。那么,當(dāng)兩個(gè)IP同時(shí)工作時(shí),顯然會(huì)造成數(shù)據(jù)混亂。目前的解決方案為將DNS解析記錄的時(shí)效(即有效時(shí)間或緩存時(shí)間)設(shè)置為0秒,這樣DNS Cache服務(wù)器每次都會(huì)去DNS解析服務(wù)器獲取最新記錄,即相當(dāng)于放棄了DNS Cache服務(wù)器,這顯然會(huì)對(duì)DNS解析服務(wù)器造成巨大的訪問壓力,而對(duì)應(yīng)用來說,每次DNS解析請(qǐng)求都是通過訪問公網(wǎng)的DNS解析服務(wù)器獲取DNS解析記錄的,則其DNS解析請(qǐng)求完成時(shí)間會(huì)受影響。
因此,如何在不影響DNS Cache服務(wù)器的工作原理與效率的情況下,提供精準(zhǔn)的DNS解析記錄,有效地縮短在全網(wǎng)范圍內(nèi)同時(shí)解析出舊IP地址與新IP地址的時(shí)間,即縮短全網(wǎng)范圍內(nèi)舊IP地址與新IP地址同時(shí)出現(xiàn)的混亂時(shí)間段,成為亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明正是基于上述問題,提出了一種新的技術(shù)方案,使DNS解析服務(wù)器在需要更新DNS解析記錄時(shí),采用一定的切換策略縮短或避免切換DNS解析記錄的停機(jī)時(shí)間,以在不影響DNS緩存服務(wù)器的工作原理與效率的情況下,能夠提供精準(zhǔn)的DNS解析記錄,有效地縮短在全網(wǎng)范圍內(nèi)同時(shí)解析出舊IP地址與新IP地址的時(shí)間,即縮短全網(wǎng)范圍內(nèi)舊IP地址與新IP地址同時(shí)出現(xiàn)的混亂時(shí)間段。
有鑒于此,根據(jù)本發(fā)明的第一方面,提出了一種DNS解析記錄的切換方法,包括:當(dāng)對(duì)原始DNS解析記錄進(jìn)行更新時(shí),設(shè)置切換準(zhǔn)備起始時(shí)間,其中,所述原始DNS解析記錄包括固定生存期和第一IP地址;在自所述切換準(zhǔn)備起始時(shí)間開始的所述固定生存期內(nèi),針對(duì)來自任一DNS緩存服務(wù)器的DNS解析請(qǐng)求反饋第一DNS解析記錄,其中,所述第一DNS解析記錄包括小于所述固定生存期的第一生存期和所述第一IP地址;在所述第一生存期結(jié)束后,針對(duì)來自所述任一DNS緩存服務(wù)器的DNS解析請(qǐng)求反饋第二DNS解析記錄,其中,所述第二DNS解析記錄包括第二生存期和第二IP地址,所述第二生存期為小于所述固定生存期的隨機(jī)數(shù),以供所述任一DNS緩存服務(wù)器將所述第二DNS解析記錄反饋至客戶端。
在該技術(shù)方案中,當(dāng)DNS解析服務(wù)器需要對(duì)任一域名的原始DNS解析記錄進(jìn)行更新時(shí),首先設(shè)置準(zhǔn)備進(jìn)行DNS解析記錄的切換準(zhǔn)備起始時(shí)間,繼而自該切換準(zhǔn)備起始時(shí)間開始的原始DNS解析記錄的一個(gè)固定生存期內(nèi),對(duì)于任一DNS緩存服務(wù)器針對(duì)該任一域名的DNS解析請(qǐng)求時(shí),向該任一DNS緩存服務(wù)器反饋與原始DNS解析記錄不同的第一DNS解析記錄,其包含的IP地址仍為原始DNS解析記錄的第一IP地址,而其第一生存期則比原始DNS解析記錄的固定生存期短,如此,當(dāng)?shù)竭_(dá)切換準(zhǔn)備起始時(shí)間開始后的一個(gè)固定生存期時(shí),所有訪問過DNS解析服務(wù)器的DNS緩存服務(wù)器均已收到過一次DNS解析記錄的生存期短于固定生存期的第一DNS解析記錄,且其失效時(shí)間為該第一生存期;然后當(dāng)達(dá)到該第一生存期后,任一DNS緩存服務(wù)器都將會(huì)向DNS解析服務(wù)器發(fā)送針對(duì)該任一域名的新的DNS解析請(qǐng)求,則此時(shí)DNS解析服務(wù)器向該任一DNS緩存服務(wù)器反饋第二DNS解析記錄,其含有將原始DNS解析記錄的第一IP地址進(jìn)行更新后的第二IP地址,然而此時(shí)DNS解析服務(wù)器向不同的DNS緩存服務(wù)器反饋的第二DNS解析記錄的第二生存期則為小于固定生成期的隨機(jī)數(shù),即為不固定的生存期,如此,即可有效地平滑分配各個(gè)DNS緩存服務(wù)器向DNS解析服務(wù)器發(fā)送新的DNS解析請(qǐng)求的壓力,即打亂了各個(gè)DNS緩存服務(wù)器向DNS解析服務(wù)器發(fā)送新的DNS解析請(qǐng)求的時(shí)間,并在不影響DNS Cache服務(wù)器的工作原理與效率的情況下,提供了精準(zhǔn)的DNS解析記錄。
在上述技術(shù)方案中,優(yōu)選地,當(dāng)自所述切換準(zhǔn)備起始時(shí)間后經(jīng)過預(yù)設(shè)時(shí)間后,針對(duì)來自所述任一DNS緩存服務(wù)器的DNS解析請(qǐng)求反饋第三DNS解析記錄,其中,所述預(yù)設(shè)時(shí)間大于所述固定生存期,以及所述第三DNS解析記錄包括所述固定生存期和所述第二IP地址,以供所述任一DNS緩存服務(wù)器將所述第三DNS解析記錄反饋至所述客戶端。
在該技術(shù)方案中,進(jìn)一步地,在切換準(zhǔn)備起始時(shí)間后的大于固定生存期的預(yù)設(shè)時(shí)間后,即在向DNS緩存服務(wù)器反饋了(預(yù)設(shè)時(shí)間-固定生存期)時(shí)間的第二DNS解析請(qǐng)求后,則可以針對(duì)任一DNS緩存服務(wù)器就上述任一域名的DNS解析請(qǐng)求反饋有效時(shí)間為固定生存期而IP地址為更新后的第二IP地址的第三DNS解析記錄,以有效地縮短在全網(wǎng)范圍內(nèi)同時(shí)解析出舊IP地址與新IP地址的時(shí)間,即縮短全網(wǎng)范圍內(nèi)舊IP地址與新IP地址同時(shí)出現(xiàn)的混亂時(shí)間段,從而提升用戶體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,所述預(yù)設(shè)時(shí)間為兩個(gè)所述固定生存期之和。
在該技術(shù)方案中,可以將預(yù)設(shè)時(shí)間設(shè)置為兩個(gè)固定生存期的時(shí)間長度,當(dāng)然也可以實(shí)際情況設(shè)定為其他大于固定生存期的時(shí)間。
在上述任一技術(shù)方案中,優(yōu)選地,所述第一生存期為所述固定生存期與流逝時(shí)間的差值,所述流逝時(shí)間為反饋所述第一DNS解析記錄的當(dāng)前時(shí)間與所述切換準(zhǔn)備起始時(shí)間的差值。
在該技術(shù)方案中,第一DNS解析記錄的小于固定生存期的第一生存期可以為該固定生存期與DNS解析服務(wù)器自設(shè)置的切換準(zhǔn)備起始時(shí)間至向DNS緩存服務(wù)器反饋該第一DNS記錄的當(dāng)前時(shí)間這一段流失時(shí)間的差值。
在上述任一技術(shù)方案中,優(yōu)選地,所述固定生存期的取值范圍為:10分鐘~120分鐘。
在該技術(shù)方案中,DNS解析服務(wù)器為向DNS緩存服務(wù)器反饋的DNS解析記錄的有效時(shí)間的固定值(即固定生存期)的取值范圍優(yōu)選地為10分鐘~120分鐘;當(dāng)然也可以根據(jù)實(shí)際需求設(shè)置其他固定值。
根據(jù)本發(fā)明的第二方面,提出了一種DNS解析記錄的切換裝置,包括:設(shè)置模塊,用于當(dāng)對(duì)原始DNS解析記錄進(jìn)行更新時(shí),設(shè)置切換準(zhǔn)備起始時(shí)間,其中,所述原始DNS解析記錄包括固定生存期和第一IP地址;第一解析反饋模塊,用于在自所述切換準(zhǔn)備起始時(shí)間開始的所述固定生存期內(nèi),針對(duì)來自任一DNS緩存服務(wù)器的DNS解析請(qǐng)求反饋第一DNS解析記錄,其中,所述第一DNS解析記錄包括小于所述固定生存期的第一生存期和所述第一IP地址;第二解析反饋模塊,用于在所述第一生存期結(jié)束后,針對(duì)來自所述任一DNS緩存服務(wù)器的DNS解析請(qǐng)求反饋第二DNS解析記錄,其中,所述第二DNS解析記錄包括第二生存期和第二IP地址,所述第二生存期為小于所述固定生存期的隨機(jī)數(shù),以供所述任一DNS緩存服務(wù)器將所述第二DNS解析記錄反饋至客戶端。
在該技術(shù)方案中,當(dāng)DNS解析服務(wù)器需要對(duì)任一域名的原始DNS解析記錄進(jìn)行更新時(shí),首先設(shè)置準(zhǔn)備進(jìn)行DNS解析記錄的切換準(zhǔn)備起始時(shí)間,繼而自該切換準(zhǔn)備起始時(shí)間開始的原始DNS解析記錄的一個(gè)固定生存期內(nèi),對(duì)于任一DNS緩存服務(wù)器針對(duì)該任一域名的DNS解析請(qǐng)求時(shí),向該任一DNS緩存服務(wù)器反饋與原始DNS解析記錄不同的第一DNS解析記錄,其包含的IP地址仍為原始DNS解析記錄的第一IP地址,而其第一生存期則比原始DNS解析記錄的固定生存期短,如此,當(dāng)?shù)竭_(dá)切換準(zhǔn)備起始時(shí)間開始后的一個(gè)固定生存期時(shí),所有訪問過DNS解析服務(wù)器的DNS緩存服務(wù)器均已收到過一次DNS解析記錄的生存期短于固定生存期的第一DNS解析記錄,且其失效時(shí)間為該第一生存期;然后當(dāng)達(dá)到該第一生存期后,任一DNS緩存服務(wù)器都將會(huì)向DNS解析服務(wù)器發(fā)送針對(duì)該任一域名的新的DNS解析請(qǐng)求,則此時(shí)DNS解析服務(wù)器向該任一DNS緩存服務(wù)器反饋第二DNS解析記錄,其含有將原始DNS解析記錄的第一IP地址進(jìn)行更新后的第二IP地址,然而此時(shí)DNS解析服務(wù)器向不同的DNS緩存服務(wù)器反饋的第二DNS解析記錄的第二生存期則為小于固定生成期的隨機(jī)數(shù),即為不固定的生存期,如此,即可有效地平滑分配各個(gè)DNS緩存服務(wù)器向DNS解析服務(wù)器發(fā)送新的DNS解析請(qǐng)求的壓力,即打亂了各個(gè)DNS緩存服務(wù)器向DNS解析服務(wù)器發(fā)送新的DNS解析請(qǐng)求的時(shí)間,并在不影響DNS Cache服務(wù)器的工作原理與效率的情況下,提供了精準(zhǔn)的DNS解析記錄。
在上述技術(shù)方案中,優(yōu)選地,還包括:第三解析反饋模塊,用于當(dāng)自所述切換準(zhǔn)備起始時(shí)間后經(jīng)過預(yù)設(shè)時(shí)間后,針對(duì)來自所述任一DNS緩存服務(wù)器的DNS解析請(qǐng)求反饋第三DNS解析記錄,其中,所述預(yù)設(shè)時(shí)間大于所述固定生存期,以及所述第三DNS解析記錄包括所述固定生存期和所述第二IP地址,以供所述任一DNS緩存服務(wù)器將所述第三DNS解析記錄反饋至所述客戶端。
在該技術(shù)方案中,進(jìn)一步地,在切換準(zhǔn)備起始時(shí)間后的大于固定生存期的預(yù)設(shè)時(shí)間后,即在向DNS緩存服務(wù)器反饋了(預(yù)設(shè)時(shí)間-固定生存期)時(shí)間的第二DNS解析請(qǐng)求后,則可以針對(duì)任一DNS緩存服務(wù)器就上述任一域名的DNS解析請(qǐng)求反饋有效時(shí)間為固定生存期而IP地址為更新后的第二IP地址的第三DNS解析記錄,以有效地縮短在全網(wǎng)范圍內(nèi)同時(shí)解析出舊IP地址與新IP地址的時(shí)間,即縮短全網(wǎng)范圍內(nèi)舊IP地址與新IP地址同時(shí)出現(xiàn)的混亂時(shí)間段,從而提升用戶體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,所述預(yù)設(shè)時(shí)間為兩個(gè)所述固定生存期之和。
在該技術(shù)方案中,可以將預(yù)設(shè)時(shí)間設(shè)置為兩個(gè)固定生存期的時(shí)間長度,當(dāng)然也可以實(shí)際情況設(shè)定為其他大于固定生存期的時(shí)間。
在上述任一技術(shù)方案中,優(yōu)選地,所述第一生存期為所述固定生存期與流逝時(shí)間的差值,所述流逝時(shí)間為反饋所述第一DNS解析記錄的當(dāng)前時(shí)間與所述切換準(zhǔn)備起始時(shí)間的差值。
在該技術(shù)方案中,第一DNS解析記錄的小于固定生存期的第一生存期可以為該固定生存期與DNS解析服務(wù)器自設(shè)置的切換準(zhǔn)備起始時(shí)間至向DNS緩存服務(wù)器反饋該第一DNS記錄的當(dāng)前時(shí)間這一段流失時(shí)間的差值。
在上述任一技術(shù)方案中,優(yōu)選地,所述固定生存期的取值范圍為:10分鐘~120分鐘。
在該技術(shù)方案中,DNS解析服務(wù)器為向DNS緩存服務(wù)器反饋的DNS解析記錄的有效時(shí)間的固定值(即固定生存期)的取值范圍優(yōu)選地為10分鐘~120分鐘;當(dāng)然也可以根據(jù)實(shí)際需求設(shè)置其他固定值。
通過本發(fā)明的技術(shù)方案,使DNS解析服務(wù)器在需要更新DNS解析記錄時(shí),采用一定的切換策略縮短或避免切換DNS解析記錄的停機(jī)時(shí)間,以在不影響DNS緩存服務(wù)器的工作原理與效率的情況下,能夠提供精準(zhǔn)的DNS解析記錄,有效地縮短在全網(wǎng)范圍內(nèi)同時(shí)解析出舊IP地址與新IP地址的時(shí)間,即縮短全網(wǎng)范圍內(nèi)舊IP地址與新IP地址同時(shí)出現(xiàn)的混亂時(shí)間段。
附圖說明
圖1示出了相關(guān)技術(shù)方案中的DNS解析服務(wù)器、DNS緩存服務(wù)器和客戶端之間的關(guān)系示意圖;
圖2示出了本發(fā)明的實(shí)施例的DNS解析記錄的切換方法的流程示意圖;
圖3示出了本發(fā)明的實(shí)施例的DNS解析記錄的切換裝置的示意框圖;
圖4示出了本發(fā)明的第一實(shí)施例的DNS解析服務(wù)器反饋DNS解析記錄的示意圖;
圖5示出了本發(fā)明的第二實(shí)施例的DNS解析服務(wù)器反饋DNS解析記錄的示意圖;
圖6示出了本發(fā)明的第三實(shí)施例的DNS解析服務(wù)器反饋DNS解析記錄的示意圖。
具體實(shí)施方式
為了可以更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
圖2示出了本發(fā)明的實(shí)施例的DNS解析記錄的切換方法的流程示意圖。
如圖2所示,根據(jù)本發(fā)明的實(shí)施例的DNS解析記錄的切換方法,包括以下流程步驟:
步驟202,當(dāng)對(duì)原始DNS解析記錄進(jìn)行更新時(shí),設(shè)置切換準(zhǔn)備起始時(shí)間,其中,所述原始DNS解析記錄包括固定生存期和第一IP地址。
步驟204,在自所述切換準(zhǔn)備起始時(shí)間開始的所述固定生存期內(nèi),針對(duì)來自任一DNS緩存服務(wù)器的DNS解析請(qǐng)求反饋第一DNS解析記錄,其中,所述第一DNS解析記錄包括小于所述固定生存期的第一生存期和所述第一IP地址。
步驟206,在所述第一生存期結(jié)束后,針對(duì)來自所述任一DNS緩存服務(wù)器的DNS解析請(qǐng)求反饋第二DNS解析記錄,其中,所述第二DNS解析記錄包括第二生存期和第二IP地址,所述第二生存期為小于所述固定生存期的隨機(jī)數(shù),以供所述任一DNS緩存服務(wù)器將所述第二DNS解析記錄反饋至客戶端。
在該技術(shù)方案中,當(dāng)DNS解析服務(wù)器需要對(duì)任一域名的原始DNS解析記錄進(jìn)行更新時(shí),首先設(shè)置準(zhǔn)備進(jìn)行DNS解析記錄的切換準(zhǔn)備起始時(shí)間,繼而自該切換準(zhǔn)備起始時(shí)間開始的原始DNS解析記錄的一個(gè)固定生存期內(nèi),對(duì)于任一DNS緩存服務(wù)器針對(duì)該任一域名的DNS解析請(qǐng)求時(shí),向該任一DNS緩存服務(wù)器反饋與原始DNS解析記錄不同的第一DNS解析記錄,其包含的IP地址仍為原始DNS解析記錄的第一IP地址,而其第一生存期則比原始DNS解析記錄的固定生存期短,如此,當(dāng)?shù)竭_(dá)切換準(zhǔn)備起始時(shí)間開始后的一個(gè)固定生存期時(shí),所有訪問過DNS解析服務(wù)器的DNS緩存服務(wù)器均已收到過一次DNS解析記錄的生存期短于固定生存期的第一DNS解析記錄,且其失效時(shí)間為該第一生存期;然后當(dāng)達(dá)到該第一生存期后,任一DNS緩存服務(wù)器都將會(huì)向DNS解析服務(wù)器發(fā)送針對(duì)該任一域名的新的DNS解析請(qǐng)求,則此時(shí)DNS解析服務(wù)器向該任一DNS緩存服務(wù)器反饋第二DNS解析記錄,其含有將原始DNS解析記錄的第一IP地址進(jìn)行更新后的第二IP地址,然而此時(shí)DNS解析服務(wù)器向不同的DNS緩存服務(wù)器反饋的第二DNS解析記錄的第二生存期則為小于固定生成期的隨機(jī)數(shù),即為不固定的生存期,如此,即可有效地平滑分配各個(gè)DNS緩存服務(wù)器向DNS解析服務(wù)器發(fā)送新的DNS解析請(qǐng)求的壓力,即打亂了各個(gè)DNS緩存服務(wù)器向DNS解析服務(wù)器發(fā)送新的DNS解析請(qǐng)求的時(shí)間,并在不影響DNS Cache服務(wù)器的工作原理與效率的情況下,提供了精準(zhǔn)的DNS解析記錄。
進(jìn)一步地,DNS解析服務(wù)器為向DNS緩存服務(wù)器反饋的DNS解析記錄的有效時(shí)間的固定值(即固定生存期)的取值范圍優(yōu)選地為10分鐘~120分鐘;當(dāng)然也可以根據(jù)實(shí)際需求設(shè)置其他固定值。
進(jìn)一步地,當(dāng)自所述切換準(zhǔn)備起始時(shí)間后經(jīng)過預(yù)設(shè)時(shí)間后,針對(duì)來自所述任一DNS緩存服務(wù)器的DNS解析請(qǐng)求反饋第三DNS解析記錄,其中,所述預(yù)設(shè)時(shí)間大于所述固定生存期,以及所述第三DNS解析記錄包括所述固定生存期和所述第二IP地址,以供所述任一DNS緩存服務(wù)器將所述第三DNS解析記錄反饋至所述客戶端。
在該技術(shù)方案中,進(jìn)一步地,在切換準(zhǔn)備起始時(shí)間后的大于固定生存期的預(yù)設(shè)時(shí)間后,即在向DNS緩存服務(wù)器反饋了(預(yù)設(shè)時(shí)間-固定生存期)時(shí)間的第二DNS解析請(qǐng)求后,則可以針對(duì)任一DNS緩存服務(wù)器就上述任一域名的DNS解析請(qǐng)求反饋有效時(shí)間為固定生存期而IP地址為更新后的第二IP地址的第三DNS解析記錄,以有效地縮短在全網(wǎng)范圍內(nèi)同時(shí)解析出舊IP地址與新IP地址的時(shí)間,即縮短全網(wǎng)范圍內(nèi)舊IP地址與新IP地址同時(shí)出現(xiàn)的混亂時(shí)間段,從而提升用戶體驗(yàn)。
進(jìn)一步地,可以將預(yù)設(shè)時(shí)間設(shè)置為兩個(gè)固定生存期的時(shí)間長度,當(dāng)然也可以實(shí)際情況設(shè)定為其他大于固定生存期的時(shí)間。
在上述任一技術(shù)方案中,進(jìn)一步地,所述第一生存期為所述固定生存期與流逝時(shí)間的差值,所述流逝時(shí)間為反饋所述第一DNS解析記錄的當(dāng)前時(shí)間與所述切換準(zhǔn)備起始時(shí)間的差值。
在該技術(shù)方案中,第一DNS解析記錄的小于固定生存期的第一生存期可以為該固定生存期與DNS解析服務(wù)器自設(shè)置的切換準(zhǔn)備起始時(shí)間至向DNS緩存服務(wù)器反饋該第一DNS記錄的當(dāng)前時(shí)間這一段流失時(shí)間的差值。
圖3示出了本發(fā)明的實(shí)施例的DNS解析記錄的切換裝置的示意框圖。
如圖3所示,根據(jù)本發(fā)明的實(shí)施例的DNS解析記錄的切換裝置300,包括:設(shè)置模塊302、第一解析反饋模塊304和第二解析反饋模塊306。
其中,設(shè)置模塊302,用于當(dāng)對(duì)原始DNS解析記錄進(jìn)行更新時(shí),設(shè)置切換準(zhǔn)備起始時(shí)間,其中,所述原始DNS解析記錄包括固定生存期和第一IP地址;第一解析反饋模塊304,用于在自所述切換準(zhǔn)備起始時(shí)間開始的所述固定生存期內(nèi),針對(duì)來自任一DNS緩存服務(wù)器的DNS解析請(qǐng)求反饋第一DNS解析記錄,其中,所述第一DNS解析記錄包括小于所述固定生存期的第一生存期和所述第一IP地址;第二解析反饋模塊306,用于在所述第一生存期結(jié)束后,針對(duì)來自所述任一DNS緩存服務(wù)器的DNS解析請(qǐng)求反饋第二DNS解析記錄,其中,所述第二DNS解析記錄包括第二生存期和第二IP地址,所述第二生存期為小于所述固定生存期的隨機(jī)數(shù),以供所述任一DNS緩存服務(wù)器將所述第二DNS解析記錄反饋至客戶端。
在該技術(shù)方案中,當(dāng)DNS解析服務(wù)器需要對(duì)任一域名的原始DNS解析記錄進(jìn)行更新時(shí),首先設(shè)置準(zhǔn)備進(jìn)行DNS解析記錄的切換準(zhǔn)備起始時(shí)間,繼而自該切換準(zhǔn)備起始時(shí)間開始的原始DNS解析記錄的一個(gè)固定生存期內(nèi),對(duì)于任一DNS緩存服務(wù)器針對(duì)該任一域名的DNS解析請(qǐng)求時(shí),向該任一DNS緩存服務(wù)器反饋與原始DNS解析記錄不同的第一DNS解析記錄,其包含的IP地址仍為原始DNS解析記錄的第一IP地址,而其第一生存期則比原始DNS解析記錄的固定生存期短,如此,當(dāng)?shù)竭_(dá)切換準(zhǔn)備起始時(shí)間開始后的一個(gè)固定生存期時(shí),所有訪問過DNS解析服務(wù)器的DNS緩存服務(wù)器均已收到過一次DNS解析記錄的生存期短于固定生存期的第一DNS解析記錄,且其失效時(shí)間為該第一生存期;然后當(dāng)達(dá)到該第一生存期后,任一DNS緩存服務(wù)器都將會(huì)向DNS解析服務(wù)器發(fā)送針對(duì)該任一域名的新的DNS解析請(qǐng)求,則此時(shí)DNS解析服務(wù)器向該任一DNS緩存服務(wù)器反饋第二DNS解析記錄,其含有將原始DNS解析記錄的第一IP地址進(jìn)行更新后的第二IP地址,然而此時(shí)DNS解析服務(wù)器向不同的DNS緩存服務(wù)器反饋的第二DNS解析記錄的第二生存期則為小于固定生成期的隨機(jī)數(shù),即為不固定的生存期,如此,即可有效地平滑分配各個(gè)DNS緩存服務(wù)器向DNS解析服務(wù)器發(fā)送新的DNS解析請(qǐng)求的壓力,即打亂了各個(gè)DNS緩存服務(wù)器向DNS解析服務(wù)器發(fā)送新的DNS解析請(qǐng)求的時(shí)間,并在不影響DNS Cache服務(wù)器的工作原理與效率的情況下,提供了精準(zhǔn)的DNS解析記錄。
進(jìn)一步地,DNS解析服務(wù)器為向DNS緩存服務(wù)器反饋的DNS解析記錄的有效時(shí)間的固定值(即固定生存期)的取值范圍優(yōu)選地為10分鐘~120分鐘;當(dāng)然也可以根據(jù)實(shí)際需求設(shè)置其他固定值。
進(jìn)一步地,所述DNS解析記錄的切換裝置300還包括:第三解析反饋模塊308,用于當(dāng)自所述切換準(zhǔn)備起始時(shí)間后經(jīng)過預(yù)設(shè)時(shí)間后,針對(duì)來自所述任一DNS緩存服務(wù)器的DNS解析請(qǐng)求反饋第三DNS解析記錄,其中,所述預(yù)設(shè)時(shí)間大于所述固定生存期,以及所述第三DNS解析記錄包括所述固定生存期和所述第二IP地址,以供所述任一DNS緩存服務(wù)器將所述第三DNS解析記錄反饋至所述客戶端。
在該技術(shù)方案中,進(jìn)一步地,在切換準(zhǔn)備起始時(shí)間后的大于固定生存期的預(yù)設(shè)時(shí)間后,即在向DNS緩存服務(wù)器反饋了(預(yù)設(shè)時(shí)間-固定生存期)時(shí)間的第二DNS解析請(qǐng)求后,則可以針對(duì)任一DNS緩存服務(wù)器就上述任一域名的DNS解析請(qǐng)求反饋有效時(shí)間為固定生存期而IP地址為更新后的第二IP地址的第三DNS解析記錄,以有效地縮短在全網(wǎng)范圍內(nèi)同時(shí)解析出舊IP地址與新IP地址的時(shí)間,即縮短全網(wǎng)范圍內(nèi)舊IP地址與新IP地址同時(shí)出現(xiàn)的混亂時(shí)間段,從而提升用戶體驗(yàn)。
進(jìn)一步地,可以將預(yù)設(shè)時(shí)間設(shè)置為兩個(gè)固定生存期的時(shí)間長度,當(dāng)然也可以實(shí)際情況設(shè)定為其他大于固定生存期的時(shí)間。
在上述任一技術(shù)方案中,進(jìn)一步地,所述第一生存期為所述固定生存期與流逝時(shí)間的差值,所述流逝時(shí)間為反饋所述第一DNS解析記錄的當(dāng)前時(shí)間與所述切換準(zhǔn)備起始時(shí)間的差值。
在該技術(shù)方案中,第一DNS解析記錄的小于固定生存期的第一生存期可以為該固定生存期與DNS解析服務(wù)器自設(shè)置的切換準(zhǔn)備起始時(shí)間至向DNS緩存服務(wù)器反饋該第一DNS記錄的當(dāng)前時(shí)間這一段流失時(shí)間的差值。
下面結(jié)合圖4至圖6對(duì)本發(fā)明的具體實(shí)施例進(jìn)行詳細(xì)說明,在該實(shí)施例中,DNS解析服務(wù)器包括三個(gè)工作狀態(tài):通常狀態(tài)、準(zhǔn)備切換狀態(tài)和切換第一次完成,其在該三個(gè)狀態(tài)之間進(jìn)行切換,以完成對(duì)DNS解析記錄的切換,進(jìn)而提供精準(zhǔn)的DNS解析記錄,避免應(yīng)用升級(jí)時(shí)雙系統(tǒng)同時(shí)工作造成的數(shù)據(jù)混亂等問題,并縮短或避免系統(tǒng)切換時(shí)的停機(jī)時(shí)間。具體地:
(一)通常狀態(tài)下
DNS解析服務(wù)器每次向DNS緩存服務(wù)器返回的DNS解析記錄包含的生存期是固定值(即固定生存期),如圖4所示,該固定值為10分鐘,即不同的DNS緩存服務(wù)器在不同的時(shí)間訪問DNS解析服務(wù)器,獲取到的DNS解析記錄的有效時(shí)間(即固定值)均相同。
(二)準(zhǔn)備切換狀態(tài)下
當(dāng)DNS解析服務(wù)器需要變更DNS解析記錄時(shí),DNS解析服務(wù)器進(jìn)入此狀態(tài)。在DNS解析記錄的缺省生存期(與上述固定值相等,即固定生存期)內(nèi),并不向DNS緩存服務(wù)器直接返回變更后的新IP地址(即第二IP地址),而是仍然返回舊IP地址(即第一IP地址),但DNS解析記錄的生存期為:生存期(即第一生存期)=缺省生存期-(當(dāng)前時(shí)間-準(zhǔn)備切換開始時(shí)間)(即流逝時(shí)間),其中,當(dāng)前時(shí)間為DNS解析服務(wù)器向DNS緩存服務(wù)器返回包括舊IP地址和新的生存期的DNS解析記錄的時(shí)間,準(zhǔn)備切換開始時(shí)間為DNS解析服務(wù)器設(shè)定的開始執(zhí)行DNS解析記錄的切換的時(shí)間,即在該狀態(tài)下,DNS解析服務(wù)器返回的DNS解析記錄的有效時(shí)間隨時(shí)間流逝變化,如圖5所示,不同的DNS緩存服務(wù)器在不同的時(shí)間訪問DNS解析服務(wù)器,所獲取到的DNS解析記錄的有效時(shí)間不相同,具體地為:10分鐘(即缺省生存期)-(訪問時(shí)間(即當(dāng)前時(shí)間)-11:00(即準(zhǔn)備切換開始時(shí)間))。
(三)切換第一次完成
當(dāng)(準(zhǔn)備切換開始時(shí)間+DNS解析記錄缺省生存期)這個(gè)時(shí)間到達(dá)時(shí),這時(shí)所有訪問過DNS解析服務(wù)器的DNS Cache服務(wù)器都已經(jīng)收到過一次生存期短于缺省條目生存期的DNS解析記錄,而且他們的失效時(shí)間會(huì)指向同一時(shí)間點(diǎn),在這個(gè)時(shí)間點(diǎn)之后,所有的DNS Cache服務(wù)器都會(huì)向DNS解析服務(wù)器發(fā)起新的DNS解析請(qǐng)求,而不會(huì)從自身Cache中獲取數(shù)據(jù),此時(shí)DNS解析服務(wù)器將發(fā)送新的IP地址。
需要補(bǔ)充說明,這時(shí)返回新IP地址的DNS解析記錄,其生存期為:0~DNS解析記錄缺省生存期之間的隨機(jī)數(shù)。而不是DNS解析記錄缺省生存期,以達(dá)到平滑分配DNS Cache服務(wù)器向DNS解析服務(wù)器發(fā)送DNS解析請(qǐng)求的壓力,切換第一次完成,DNS解析服務(wù)器返回的DNS解析記錄的有效時(shí)間(即第二生存期)為0到固定時(shí)間之間的隨機(jī)數(shù),如圖6所示,為0~10分鐘之間的隨機(jī)數(shù)。
當(dāng)(準(zhǔn)備切換開始時(shí)間+2×DNS解析記錄缺省生存期)這個(gè)時(shí)間到達(dá)時(shí),DNS解析服務(wù)器回歸到通常狀態(tài),IP地址切換完成。
以上結(jié)合附圖詳細(xì)說明了本發(fā)明的技術(shù)方案,通過本發(fā)明的技術(shù)方案,使DNS解析服務(wù)器在需要更新DNS解析記錄時(shí),采用一定的切換策略縮短或避免切換DNS解析記錄的停機(jī)時(shí)間,以在不影響DNS緩存服務(wù)器的工作原理與效率的情況下,能夠提供精準(zhǔn)的DNS解析記錄,有效地縮短在全網(wǎng)范圍內(nèi)同時(shí)解析出舊IP地址與新IP地址的時(shí)間,即縮短全網(wǎng)范圍內(nèi)舊IP地址與新IP地址同時(shí)出現(xiàn)的混亂時(shí)間段。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。