一種web集群代碼更新方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例公開了一種WEB集群代碼更新方法、裝置及系統(tǒng),前端代理服務(wù)器向WEB集群中的WEB容器發(fā)送檢查請(qǐng)求;根據(jù)WEB容器反饋回的檢查結(jié)果,判斷WEB容器是否處于代碼可更新狀態(tài);在WEB容器處于代碼可更新狀態(tài)、且沒有進(jìn)行代碼更新的情況下,對(duì)WEB容器更新代碼。應(yīng)用本發(fā)明實(shí)施例,由于不需要兩次人為地修改所有前端代理服務(wù)器配置,因此減少了WEB集群代碼更新的操作步驟,并且避免了在WEB集群代碼更新過程中,人為的修改前端代理服務(wù)器的配置操作不慎,可能引起的事故的發(fā)生。
【專利說明】—種WEB集群代碼更新方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別涉及一種WEB集群代碼更新方法、裝置及系統(tǒng)。【背景技術(shù)】
[0002]WEB集群是由多臺(tái)WEB服務(wù)器主機(jī)相互聯(lián)結(jié)而形成的一種服務(wù)器體系結(jié)構(gòu),每一臺(tái)WEB服務(wù)器主機(jī)中含有一個(gè)或多個(gè)WEB容器,WEB容器是一種服務(wù)調(diào)用規(guī)范框架,為WEB應(yīng)用程序組件提供一個(gè)運(yùn)行環(huán)境,代碼部署在WEB容器中。為了提高WEB集群中WEB服務(wù)器主機(jī)的安全性和WEB服務(wù)器主機(jī)的負(fù)載均衡,通常會(huì)在WEB集群中增加前端代理服務(wù)器,前端代理服務(wù)器用來接收Internet上的請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給WEB集群的WEB服務(wù)器中的WEB容器。
[0003]現(xiàn)有技術(shù)中WEB集群代碼更新的方法,通常是:人為的先修改所有前端代理服務(wù)器配置,以實(shí)現(xiàn)沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到需要進(jìn)行代碼更新的WEB容器,該WEB容器代碼更新完成后,再人為的修改所有前端代理服務(wù)器的配置,以實(shí)現(xiàn)Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中。
[0004]應(yīng)用上述的WEB集群代碼更新方法,每更新一部分WEB容器,都需要兩次人為地修改所有前端代理服務(wù)器配置,在前端代理服務(wù)器較多的情況下,操作步驟繁瑣,而且操作稍有不慎,容易進(jìn)行事故。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例的目的在于提供一種WEB集群代碼更新方法及系統(tǒng),減少WEB集群代碼更新的操作步驟,避免在WEB集群代碼更新過程中,事故的發(fā)生。
[0006]為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種WEB集群代碼更新方法,應(yīng)用于前端代理服務(wù)器,包括:
[0007]向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求;
[0008]根據(jù)目標(biāo)WEB容器反饋回的檢查結(jié)果,判斷目標(biāo)WEB容器是否處于代碼可更新狀態(tài),其中,WEB容器處于代碼可更新狀態(tài)表示沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中;
[0009]在目標(biāo)WEB容器處于代碼可更新狀態(tài)的情況下,檢測(cè)是否正在對(duì)目標(biāo)WEB容器進(jìn)行更新代碼,如果否,對(duì)目標(biāo)WEB容器進(jìn)行代碼更新,如果是,繼續(xù)對(duì)目標(biāo)WEB容器代碼進(jìn)行更新;
[0010]在目標(biāo)WEB容器處于代碼不可更新狀態(tài)的情況下,判斷目標(biāo)WEB容器代碼是否已更新,如果否,向目標(biāo)WEB容器發(fā)送狀態(tài)更新指令,指示目標(biāo)WEB容器將狀態(tài)更改為代碼可更新狀態(tài),繼續(xù)執(zhí)行判斷目標(biāo)WEB容器是否處于代碼可更新狀態(tài)的操作步驟。
[0011]較佳的,所述向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求,包括:
[0012]實(shí)時(shí)向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求;
[0013]或
[0014]根據(jù)預(yù)設(shè)的發(fā)送檢測(cè)請(qǐng)求間隔時(shí)間,向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求。[0015]為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種WEB集群代碼更新方法,應(yīng)用于WEB容器,包括:
[0016]接收前端代理服務(wù)器發(fā)送的檢查請(qǐng)求;
[0017]在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器當(dāng)前所處狀態(tài),其中,WEB容器當(dāng)前狀態(tài)包括:代碼可更新狀態(tài)和代碼不可更新狀態(tài),WEB容器處于代碼可更新狀態(tài)表示沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中;
[0018]檢查完成后,將自身WEB容器檢查結(jié)果反饋給前端代理服務(wù)器;
[0019]在前端代理服務(wù)器對(duì)所述WEB容器代碼更新完成后,將所述WEB容器的狀態(tài)設(shè)置為代碼不可更新狀態(tài)。
[0020]較佳的,所述方法還包括:
[0021]在所述WEB容器代碼沒有更新的情況下,接收前端代理服務(wù)器發(fā)送的狀態(tài)更新指令;
[0022]在接收到前端代理服務(wù)器發(fā)送的狀態(tài)更新指令之后,將自身WEB容器的狀態(tài)設(shè)置為代碼可更新狀態(tài);
[0023]設(shè)置完成后,將自身WEB容器當(dāng)前狀態(tài)的檢查結(jié)果反饋給前端代理服務(wù)器。
[0024]較佳的,所述在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器當(dāng)前所處狀態(tài),包括:
[0025]在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器所處WEB服務(wù)器中是否存在表示該WEB容器處于代碼可更新狀態(tài)的文件,如果存在,表示該WEB容器處于代碼可更新狀態(tài)。
[0026]較佳的,所述將自身WEB容器的狀態(tài)設(shè)置為代碼可更新狀態(tài),包括:
[0027]在自身WEB容器所處WEB服務(wù)器中創(chuàng)建表示該WEB容器處于代碼可更新狀態(tài)的文件;
[0028]所述將自身WEB容器的狀態(tài)設(shè)置為代碼不可更新狀態(tài),包括:
[0029]刪除自身WEB容器所處WEB服務(wù)器中表示該WEB容器處于代碼可更新狀態(tài)的文件。
[0030]為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種WEB集群代碼更新裝置,應(yīng)用于前端代理服務(wù)器,包括:檢查請(qǐng)求發(fā)送模塊、判斷模塊、代碼更新模塊和狀態(tài)更新指令發(fā)送模塊,[0031 ] 檢查請(qǐng)求發(fā)送模塊,用于向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求;
[0032]判斷模塊,用于根據(jù)目標(biāo)WEB容器反饋回的檢查結(jié)果,判斷目標(biāo)WEB容器是否處于代碼可更新狀態(tài),其中,WEB容器處于代碼可更新狀態(tài)表示沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中;
[0033]代碼更新模塊,用于在判斷模塊判斷結(jié)果為是的情況下,檢測(cè)是否正在對(duì)目標(biāo)WEB容器進(jìn)行更新代碼,如果否,對(duì)目標(biāo)WEB容器進(jìn)行代碼更新,如果是,繼續(xù)對(duì)所述目標(biāo)WEB容器代碼進(jìn)行更新;
[0034]狀態(tài)更新指令發(fā)送模塊,用于在判斷模塊判斷結(jié)果為否的情況下,判斷目標(biāo)WEB容器代碼是否已更新,如果否,向所述目標(biāo)WEB容器發(fā)送狀態(tài)更新指令,指示目標(biāo)WEB容器將狀態(tài)更改為代碼可更新狀態(tài),觸發(fā)判斷模塊。
[0035]較佳的,所述檢查請(qǐng)求發(fā)送模塊,具體用于:[0036]實(shí)時(shí)向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求;
[0037]或
[0038]根據(jù)預(yù)設(shè)的發(fā)送檢測(cè)請(qǐng)求間隔時(shí)間,向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求。
[0039]為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種WEB集群代碼更新系統(tǒng),包括:WEB容器以及上述的應(yīng)用于前端代理服務(wù)的WEB集群代碼更新裝置,
[0040]所述WEB容器包括:檢查請(qǐng)求接收模塊、狀態(tài)檢查模塊、第一檢查結(jié)果反饋模塊和第一狀態(tài)設(shè)置模塊,
[0041]檢查請(qǐng)求接收模塊,用于接收前端代理服務(wù)器發(fā)送的檢查請(qǐng)求;
[0042]狀態(tài)檢查模塊,用于在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器當(dāng)前所處狀態(tài),其中,WEB容器當(dāng)前狀態(tài)包括:代碼可更新狀態(tài)和代碼不可更新狀態(tài),WEB容器處于代碼可更新狀態(tài)表示沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中;
[0043]第一檢查結(jié)果反饋模塊,用于檢查完成后,將自身WEB容器檢查結(jié)果反饋給前端代理服務(wù)器;
[0044]第一狀態(tài)設(shè)置模塊,用于在前端代理服務(wù)器對(duì)所述WEB容器代碼更新完成后,將所述WEB容器的狀態(tài)設(shè)置為代碼不可更新狀態(tài)。
[0045]較佳的,所述WEB容器還包括:狀態(tài)更新指令接收模塊、第二狀態(tài)設(shè)置模塊和第二檢查結(jié)果反饋模塊,
[0046]狀態(tài)更新指令接收模塊,用于在所述WEB容器代碼沒有更新的情況下,接收前端代理服務(wù)器發(fā)送的狀態(tài)更新指令;
[0047]第二狀態(tài)設(shè)置模塊,用于在接收到前端代理服務(wù)器發(fā)送的狀態(tài)更新指令之后,將自身WEB容器的狀態(tài)設(shè)置為代碼可更新狀態(tài);
[0048]第二檢查結(jié)果反饋模塊,用于設(shè)置完成后,將自身WEB容器當(dāng)前狀態(tài)的檢查結(jié)果反饋給前端代理服務(wù)器。
[0049]較佳的,所述狀態(tài)檢查模塊,具體用于:
[0050]在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器所處WEB服務(wù)器中是否存在表示該WEB容器處于代碼可更新狀態(tài)的文件,如果存在,表示該WEB容器處于代碼可更新狀態(tài)。
[0051]較佳的,所述第二狀態(tài)設(shè)置模塊,具體用于:
[0052]在接收到前端代理服務(wù)器發(fā)送的狀態(tài)更新指令之后,在自身WEB容器所處WEB服務(wù)器中創(chuàng)建表示該WEB容器處于代碼可更新狀態(tài)的文件;
[0053]所述第一狀態(tài)設(shè)置模塊,具體用于:
[0054]在前端代理服務(wù)器對(duì)所述WEB容器代碼更新完成后,刪除自身WEB容器所處WEB服務(wù)器中表示該WEB容器處于代碼可更新狀態(tài)的文件。
[0055]由上述的技術(shù)方案可見,本發(fā)明實(shí)施例提供了一種WEB集群代碼更新方法、裝置及系統(tǒng),前端代理服務(wù)器向WEB集群中的WEB容器發(fā)送檢查請(qǐng)求;根據(jù)WEB容器反饋回的檢查結(jié)果,判斷WEB容器是否處于代碼可更新狀態(tài);在WEB容器處于代碼可更新狀態(tài)、且沒有進(jìn)行代碼更新的情況下,對(duì)WEB容器更新代碼。由于不需要兩次人為地修改所有前端代理服務(wù)器配置,因此減少了 WEB集群代碼更新的操作步驟,并且避免了在WEB集群代碼更新過程中,人為的修改前端代理服務(wù)器的配置操作不慎,可能引起的事故的發(fā)生?!緦@綀D】
【附圖說明】
[0056]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0057]圖1為本發(fā)明實(shí)施例提供的應(yīng)用于前端代理服務(wù)器的一種WEB集群代碼更新方法的流程示意圖;
[0058]圖2為本發(fā)明實(shí)施例提供的應(yīng)用于WEB容器的第一種WEB集群代碼更新方法的流程不意圖;
[0059]圖3為本發(fā)明實(shí)施例提供的應(yīng)用于WEB容器的第二種WEB集群代碼更新方法的流程不意圖;
[0060]圖4為本發(fā)明實(shí)施例提供的應(yīng)用于前端代理服務(wù)器的一種WEB集群代碼更新裝置的結(jié)構(gòu)不意圖;
[0061]圖5為本發(fā)明實(shí)施例提供的第一種WEB集群代碼更新系統(tǒng)的結(jié)構(gòu)示意圖;
[0062]圖6為本發(fā)明實(shí)施例提供的第二種WEB集群代碼更新系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0063]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0064]本發(fā)明實(shí)施例提供一種WEB集群代碼更新方法、裝置及系統(tǒng),該方案中,前端代理服務(wù)器向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求;根據(jù)目標(biāo)WEB容器反饋回的檢查結(jié)果,判斷目標(biāo)WEB容器是否處于代碼可更新狀態(tài);在目標(biāo)WEB容器處于代碼可更新狀態(tài)的情況下,檢測(cè)是否正在對(duì)目標(biāo)WEB容器進(jìn)行更新代碼,如果否,對(duì)目標(biāo)WEB容器進(jìn)行代碼更新,如果是,繼續(xù)對(duì)目標(biāo)WEB容器代碼進(jìn)行更新;在目標(biāo)WEB容器處于代碼不可更新狀態(tài)的情況下,判斷目標(biāo)WEB容器代碼是否已更新,如果否,向目標(biāo)WEB容器發(fā)送狀態(tài)更新指令,指示目標(biāo)WEB容器將狀態(tài)更改為代碼可更新狀態(tài)。
[0065]WEB容器接收前端代理服務(wù)器發(fā)送的檢查請(qǐng)求;在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器當(dāng)前所處狀態(tài);檢查完成后,將自身WEB容器檢查結(jié)果反饋給前端代理服務(wù)器;在前端代理服務(wù)器對(duì)所述WEB容器代碼更新完成后,將所述WEB容器的狀態(tài)設(shè)置為代碼不可更新狀態(tài)。
[0066]下面通過具體實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
[0067]圖1為本發(fā)明實(shí)施例提供的應(yīng)用于前端代理服務(wù)器的一種WEB集群代碼更新方法的流程示意圖,包括如下步驟:
[0068]SlOl:向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求;
[0069]本發(fā)明實(shí)施例中的前端代理服務(wù)器工作在網(wǎng)絡(luò)OSI模型中的應(yīng)用層。
[0070]在實(shí)際應(yīng)用中,前端代理服務(wù)器可以實(shí)時(shí)向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求。
[0071]在實(shí)際應(yīng)用中,前端代理服務(wù)器還可以根據(jù)預(yù)設(shè)的發(fā)送檢測(cè)請(qǐng)求間隔時(shí)間,向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求。
[0072]示例性的,假設(shè)預(yù)設(shè)的發(fā)送檢測(cè)請(qǐng)求間隔時(shí)間為10MS,則前端代理服務(wù)器每隔IOMS向所述目標(biāo)WEB容器發(fā)送一次檢查請(qǐng)求。
[0073]S102:根據(jù)目標(biāo)WEB容器反饋回的檢查結(jié)果,判斷目標(biāo)WEB容器是否處于代碼可更新狀態(tài),如果是,執(zhí)行S103,如果否,執(zhí)行S104 ;
[0074]其中,WEB容器處于代碼可更新狀態(tài)表示沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中。
[0075]S103:檢測(cè)是否正在對(duì)目標(biāo)WEB容器進(jìn)行更新代碼,如果是,執(zhí)行S105,如果否,執(zhí)行 S106 ;
[0076]S104:判斷目標(biāo)WEB容器代碼是否已更新,如果否,執(zhí)行S107和S102 ;
[0077]S105:繼續(xù)對(duì)目標(biāo)WEB容器代碼進(jìn)行更新;
[0078]S106:對(duì)目標(biāo)WEB容器進(jìn)行代碼更新;
[0079]S107:向目標(biāo)WEB容器發(fā)送狀態(tài)更新指令,指示目標(biāo)WEB容器將狀態(tài)更改為代碼可更新狀態(tài)。
[0080]示例性的,假設(shè)WEB集群中有一臺(tái)前端代理服務(wù)器和三個(gè)WEB容器,三個(gè)WEB容器分別為WEB容器a、WEB容器b和WEB容器C。
[0081]下面以更新WEB容器a的代碼對(duì)本發(fā)明進(jìn)行詳細(xì)的說明。
[0082]本發(fā)明實(shí)施例中的前端代理服務(wù)器工作在網(wǎng)絡(luò)OSI模型中的應(yīng)用層。
[0083]前端代理服務(wù)器向WEB容器a發(fā)送檢測(cè)請(qǐng)求。具體的,前端代理服務(wù)器可以實(shí)時(shí)向WEB容器a發(fā)送檢查請(qǐng)求,也可以根據(jù)預(yù)設(shè)的發(fā)送檢測(cè)請(qǐng)求間隔時(shí)間,向WEB容器a發(fā)送檢查請(qǐng)求,例如:預(yù)設(shè)的發(fā)送檢測(cè)請(qǐng)求間隔時(shí)間為10MS,則前端代理服務(wù)器每隔IOMS向WEB容器a發(fā)送一次檢查請(qǐng)求。
[0084]根據(jù)WEB容器a反饋回的檢查結(jié)果,判斷WEB容器a是否處于代碼可更新狀態(tài);
[0085]如果WEB容器a處于代碼可更新狀態(tài),則前端代理服務(wù)器不再將Internet請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)到WEB容器a中,判斷是否正在對(duì)WEB容器a進(jìn)行代碼更新,如果當(dāng)前正在對(duì)WEB容器a進(jìn)行代碼更新,則繼續(xù)WEB容器a代碼的更新,如果當(dāng)前沒有對(duì)WEB容器a進(jìn)行代碼更新,則對(duì)WEB容器a進(jìn)行代碼更新。
[0086]如果WEB容器a處于代碼不可更新狀態(tài),則判斷WEB容器a代碼是否已更新,如果沒有更新,則向WEB容器a發(fā)送狀態(tài)更新指令,指示W(wǎng)EB容器a將狀態(tài)更改為代碼可更新狀態(tài),同時(shí)繼續(xù)接收WEB容器a反饋回的檢查結(jié)果,根據(jù)WEB容器a反饋回的檢查結(jié)果,判斷WEB容器a是否處于代碼可更新狀態(tài)。
[0087]具體的,前端代理服務(wù)器可以為WEB集群中的每一個(gè)WEB容器設(shè)置一個(gè)狀態(tài)標(biāo)記,例如狀態(tài)標(biāo)記為O表示W(wǎng)EB容器處于可更新但沒更新狀態(tài),狀態(tài)標(biāo)記為I表示W(wǎng)EB容器處于可更新且正在更新狀態(tài),狀態(tài)標(biāo)記為2表示W(wǎng)EB容器處于不可更新且沒更新狀態(tài),狀態(tài)標(biāo)記為3表示W(wǎng)EB容器處于不可用更新且更新完成狀態(tài)。
[0088]當(dāng)前端代理服務(wù)器檢測(cè)到WEB容器a狀態(tài)標(biāo)記為O時(shí),開始對(duì)WEB容器a進(jìn)行代碼更新,同時(shí)將WEB容器a狀態(tài)標(biāo)記為I ;[0089]當(dāng)前端代理服務(wù)器檢測(cè)到WEB容器a狀態(tài)標(biāo)記為I時(shí),繼續(xù)對(duì)WEB容器a進(jìn)行代碼更新,當(dāng)代碼更新完成之后,將WEB容器a狀態(tài)標(biāo)記為3 ;
[0090]當(dāng)前端代理服務(wù)器檢測(cè)到WEB容器a狀態(tài)標(biāo)記為2時(shí),向WEB容器a發(fā)送狀態(tài)更新指令,當(dāng)WEB容器a狀態(tài)更新完成之后,可以檢測(cè)到WEB容器a處于代碼可更新狀態(tài),但代碼沒有更新,此時(shí)將WEB容器a狀態(tài)標(biāo)記為0,開始對(duì)WEB容器a進(jìn)行代碼更新,同時(shí)將WEB容器a狀態(tài)標(biāo)記為I。
[0091]應(yīng)用本發(fā)明圖1所示實(shí)施例,不需要兩次人為地修改所有前端代理服務(wù)器配置,減少了 WEB集群代碼更新的操作步驟,并且避免了在WEB集群代碼更新過程中,人為的修改前端代理服務(wù)器的配置操作不慎,可能引起的事故的發(fā)生。
[0092]圖2為本發(fā)明實(shí)施例提供的應(yīng)用于WEB容器的第一種WEB集群代碼更新方法的流程示意圖,包括如下步驟:
[0093]S201:接收前端代理服務(wù)器發(fā)送的檢查請(qǐng)求;
[0094]S202:在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器當(dāng)前所處狀態(tài);
[0095]其中,WEB容器當(dāng)前狀態(tài)包括:代碼可更新狀態(tài)和代碼不可更新狀態(tài),WEB容器處于代碼可更新狀態(tài)表示沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中。
[0096]S203:檢查完成后,將自身WEB容器檢查結(jié)果反饋給前端代理服務(wù)器;
[0097]S204:在前端代理服務(wù)器對(duì)所述WEB容器代碼更新完成后,將所述WEB容器的狀態(tài)設(shè)置為代碼不可更新狀態(tài)。
[0098]示例性的,WEB容器a在接收前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器當(dāng)前所處狀態(tài),具體的,可以檢查自身WEB容器所處WEB服務(wù)器中是否存在表示該WEB容器處于代碼可更新狀態(tài)的文件,如果存在,表示該WEB容器處于代碼可更新狀態(tài)。檢查完成后,將自身WEB容器檢查結(jié)果反饋給前端代理服務(wù)器。在前端代理服務(wù)器對(duì)所述WEB容器代碼更新完成后,將表示該WEB容器處于代碼可更新狀態(tài)的文件從該WEB容器所處的WEB服務(wù)器中刪除。
[0099]應(yīng)用本發(fā)明圖2所示實(shí)施例,不需要兩次人為地修改所有前端代理服務(wù)器配置,減少了 WEB集群代碼更新的操作步驟,并且避免了在WEB集群代碼更新過程中,人為的修改前端代理服務(wù)器的配置操作不慎,可能引起的事故的發(fā)生。
[0100]圖3為本發(fā)明實(shí)施例提供的應(yīng)用于WEB容器的第二種WEB集群代碼更新方法的流程示意圖,本發(fā)明圖3所示實(shí)施例在圖2所示實(shí)施例基礎(chǔ)上,增加以下三個(gè)步驟,
[0101]S205:在所述WEB容器代碼沒有更新的情況下,接收前端代理服務(wù)器發(fā)送的狀態(tài)更新指令;
[0102]S206:在接收到前端代理服務(wù)器發(fā)送的狀態(tài)更新指令之后,將自身WEB容器的狀態(tài)設(shè)置為代碼可更新狀態(tài);
[0103]S207:設(shè)置完成后,將自身WEB容器當(dāng)前狀態(tài)的檢查結(jié)果反饋給前端代理服務(wù)器。
[0104]示例性的,WEB容器a在接收前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器當(dāng)前所處狀態(tài),具體的,可以檢查自身WEB容器所處WEB服務(wù)器中是否存在表示該WEB容器處于代碼可更新狀態(tài)的文件,如果存在,表示該WEB容器處于代碼可更新狀態(tài)。檢查完成后,將自身WEB容器檢查結(jié)果反饋給前端代理服務(wù)器。此時(shí)WEB容器a可能代碼沒有更新,但是卻處于代碼不可更新狀態(tài),則接收前端代理服務(wù)器發(fā)送的狀態(tài)更新指令,在接收到前端代理服務(wù)器發(fā)送的狀態(tài)更新指令之后,將自身WEB容器的狀態(tài)設(shè)置為代碼可更新狀態(tài),具體的,可以在自身WEB容器所處WEB服務(wù)器中創(chuàng)建表示該WEB容器處于代碼可更新狀態(tài)的文件,文件創(chuàng)建完成之后,將自身WEB容器當(dāng)前狀態(tài)的檢查結(jié)果反饋給前端代理服務(wù)器,在前端代理服務(wù)器對(duì)所述WEB容器代碼更新完成后,將所述WEB容器的狀態(tài)設(shè)置為代碼不可更新狀態(tài),具體的可以將表示該WEB容器處于代碼可更新狀態(tài)的文件從該WEB容器所處的WEB服務(wù)器中刪除。
[0105]應(yīng)用本發(fā)明圖3所示實(shí)施例,避免了處于代碼不可更新狀態(tài)但代碼沒有更新的WEB容器沒有被進(jìn)行新代碼更新的情況。
[0106]圖4為本發(fā)明實(shí)施例提供的應(yīng)用于前端代理服務(wù)器的一種WEB集群代碼更新裝置的結(jié)構(gòu)示意圖,包括:檢查請(qǐng)求發(fā)送模塊301、判斷模塊302、代碼更新模塊303和狀態(tài)更新指令發(fā)送模塊304,
[0107]其中,檢查請(qǐng)求發(fā)送模塊301,用于向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求;
[0108]本實(shí)施例的檢查請(qǐng)求發(fā)送模塊301,具體可以用于:
[0109]實(shí)時(shí)向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求;
[0110]或
[0111]根據(jù)預(yù)設(shè)的發(fā)送檢測(cè)請(qǐng)求間隔時(shí)間,向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求。
[0112]判斷模塊302,用于根據(jù)目標(biāo)WEB容器反饋回的檢查結(jié)果,判斷目標(biāo)WEB容器是否處于代碼可更新狀態(tài);
[0113]其中,WEB容器處于代碼可更新狀態(tài)表示沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中;
[0114]代碼更新模塊303,用于在判斷模塊判斷結(jié)果為是的情況下,檢測(cè)是否正在對(duì)目標(biāo)WEB容器進(jìn)行更新代碼,如果否,對(duì)目標(biāo)WEB容器進(jìn)行代碼更新,如果是,繼續(xù)對(duì)所述目標(biāo)WEB容器代碼進(jìn)行更新;
[0115]狀態(tài)更新指令發(fā)送模塊304,用于在判斷模塊判斷結(jié)果為否的情況下,判斷目標(biāo)WEB容器代碼是否已更新,如果否,向所述目標(biāo)WEB容器發(fā)送狀態(tài)更新指令,指示目標(biāo)WEB容器將狀態(tài)更改為代碼可更新狀態(tài),觸發(fā)判斷模塊302。
[0116]應(yīng)用本發(fā)明圖4所示實(shí)施例,不需要兩次人為地修改所有前端代理服務(wù)器配置,減少了 WEB集群代碼更新的操作步驟,并且避免了在WEB集群代碼更新過程中,人為的修改前端代理服務(wù)器的配置操作不慎,可能引起的事故的發(fā)生。
[0117]圖5為本發(fā)明實(shí)施例提供的第一種WEB集群代碼更新系統(tǒng)的結(jié)構(gòu)示意圖,包括:WEB容器以及上述應(yīng)用于前端代理服務(wù)的WEB集群代碼更新裝置,WEB容器包括:檢查請(qǐng)求接收模塊401、狀態(tài)檢查模塊402、第一檢查結(jié)果反饋模塊403和第一狀態(tài)設(shè)置模塊404,
[0118]其中,檢查請(qǐng)求接收模塊401,用于接收前端代理服務(wù)器發(fā)送的檢查請(qǐng)求;
[0119]狀態(tài)檢查模塊402,用于在檢查請(qǐng)求接收模塊401接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器當(dāng)前所處狀態(tài),其中,WEB容器當(dāng)前狀態(tài)包括:代碼可更新狀態(tài)和代碼不可更新狀態(tài),WEB容器處于代碼可更新狀態(tài)表示沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中;
[0120]本實(shí)施例的狀態(tài)檢查模塊402,具體用于:在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器所處WEB服務(wù)器中是否存在表示該WEB容器處于代碼可更新狀態(tài)的文件,如果存在,表示該WEB容器處于代碼可更新狀態(tài)。
[0121]第一檢查結(jié)果反饋模塊403,用于狀態(tài)檢查模塊402檢查完成后,將自身WEB容器檢查結(jié)果反饋給前端代理服務(wù)器;
[0122]第一狀態(tài)設(shè)置模塊404,用于在前端代理服務(wù)器對(duì)所述WEB容器代碼更新完成后,將所述WEB容器的狀態(tài)設(shè)置為代碼不可更新狀態(tài)。
[0123]應(yīng)用本發(fā)明圖5所示實(shí)施例,不需要兩次人為地修改所有前端代理服務(wù)器配置,減少了 WEB集群代碼更新的操作步驟,并且避免了在WEB集群代碼更新過程中,人為的修改前端代理服務(wù)器的配置操作不慎,可能引起的事故的發(fā)生。
[0124]圖6為本發(fā)明實(shí)施例提供的第二種WEB集群代碼更新系統(tǒng)的結(jié)構(gòu)示意圖,本發(fā)明圖6所示實(shí)施例在圖5所示實(shí)施例基礎(chǔ)上,WEB容器還包括:狀態(tài)更新指令接收模塊405、第二狀態(tài)設(shè)置模塊406和第二檢查結(jié)果反饋模塊407,
[0125]其中,狀態(tài)更新指令接收模塊405,用于在所述WEB容器代碼沒有更新的情況下,接收前端代理服務(wù)器發(fā)送的狀態(tài)更新指令;
[0126]第二狀態(tài)設(shè)置模塊406,用于在接收到前端代理服務(wù)器發(fā)送的狀態(tài)更新指令之后,將自身WEB容器的狀態(tài)設(shè)置為代碼可更新狀態(tài);
[0127]第二檢查結(jié)果反饋模塊407,用于設(shè)置完成后,將自身WEB容器當(dāng)前狀態(tài)的檢查結(jié)果反饋給前端代理服務(wù)器。
[0128]本實(shí)施例的狀態(tài)檢查模塊402,具體用于:
[0129]在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器所處WEB服務(wù)器中是否存在表示該WEB容器處于代碼可更新狀態(tài)的文件,如果存在,表示該WEB容器處于代碼可更新狀態(tài)。
[0130]本實(shí)施例的第一狀態(tài)設(shè)置模塊404,具體用于:
[0131]在前端代理服務(wù)器對(duì)所述WEB容器代碼更新完成后,刪除自身WEB容器所處WEB服務(wù)器中表示該WEB容器處于代碼可更新狀態(tài)的文件。
[0132]本實(shí)施例的第二狀態(tài)設(shè)置模塊406,具體用于:
[0133]在接收到前端代理服務(wù)器發(fā)送的狀態(tài)更新指令之后,在自身WEB容器所處WEB服務(wù)器中創(chuàng)建表示該WEB容器處于代碼可更新狀態(tài)的文件。
[0134]應(yīng)用本發(fā)明圖6所示實(shí)施例,避免了處于代碼不可更新狀態(tài)但代碼沒有更新的WEB容器沒有被進(jìn)行新代碼更新的情況。
[0135]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0136]本說明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置和系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0137]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,這里所稱得的存儲(chǔ)介質(zhì),如:R0M/RAM、磁碟、光盤等。
[0138]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種WEB集群代碼更新方法,應(yīng)用于前端代理服務(wù)器,其特征在于,所述方法包括: 向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求; 根據(jù)目標(biāo)WEB容器反饋回的檢查結(jié)果,判斷目標(biāo)WEB容器是否處于代碼可更新狀態(tài),其中,WEB容器處于代碼可更新狀態(tài)表示沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中; 在目標(biāo)WEB容器處于代碼可更新狀態(tài)的情況下,檢測(cè)是否正在對(duì)目標(biāo)WEB容器進(jìn)行更新代碼,如果否,對(duì)目標(biāo)WEB容器進(jìn)行代碼更新,如果是,繼續(xù)對(duì)目標(biāo)WEB容器代碼進(jìn)行更新; 在目標(biāo)WEB容器處于代碼不可更新狀態(tài)的情況下,判斷目標(biāo)WEB容器代碼是否已更新,如果否,向目標(biāo)WEB容器發(fā)送狀態(tài)更新指令,指示目標(biāo)WEB容器將狀態(tài)更改為代碼可更新狀態(tài),繼續(xù)執(zhí)行判斷目標(biāo)WEB容器是否處于代碼可更新狀態(tài)的操作步驟。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求,包括: 實(shí)時(shí)向WEB集群中的目 標(biāo)WEB容器發(fā)送檢查請(qǐng)求; 或 根據(jù)預(yù)設(shè)的發(fā)送檢測(cè)請(qǐng)求間隔時(shí)間,向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求。
3.—種WEB集群代碼更新方法,應(yīng)用于WEB容器,其特征在于,所述方法包括: 接收前端代理服務(wù)器發(fā)送的檢查請(qǐng)求; 在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器當(dāng)前所處狀態(tài),其中,WEB容器當(dāng)前狀態(tài)包括:代碼可更新狀態(tài)和代碼不可更新狀態(tài),WEB容器處于代碼可更新狀態(tài)表示沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中; 檢查完成后,將自身WEB容器檢查結(jié)果反饋給前端代理服務(wù)器; 在前端代理服務(wù)器對(duì)所述WEB容器代碼更新完成后,將所述WEB容器的狀態(tài)設(shè)置為代碼不可更新狀態(tài)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括: 在所述WEB容器代碼沒有更新的情況下,接收前端代理服務(wù)器發(fā)送的狀態(tài)更新指令;在接收到前端代理服務(wù)器發(fā)送的狀態(tài)更新指令之后,將自身WEB容器的狀態(tài)設(shè)置為代碼可更新狀態(tài); 設(shè)置完成后,將自身WEB容器當(dāng)前狀態(tài)的檢查結(jié)果反饋給前端代理服務(wù)器。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器當(dāng)前所處狀態(tài),包括: 在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器所處WEB服務(wù)器中是否存在表示該WEB容器處于代碼可更新狀態(tài)的文件,如果存在,表示該WEB容器處于代碼可更新狀態(tài)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述將自身WEB容器的狀態(tài)設(shè)置為代碼可更新狀態(tài),包括: 在自身WEB容器所處WEB服務(wù)器中創(chuàng)建表示該WEB容器處于代碼可更新狀態(tài)的文件; 所述將自身WEB容器的狀態(tài)設(shè)置為代碼不可更新狀態(tài),包括: 刪除自身WEB容器所處WEB服務(wù)器中表示該WEB容器處于代碼可更新狀態(tài)的文件。
7.—種WEB集群代碼更新裝置,應(yīng)用于前端代理服務(wù)器,其特征在于,所述裝置包括:檢查請(qǐng)求發(fā)送模塊、判斷模塊、代碼更新模塊和狀態(tài)更新指令發(fā)送模塊, 檢查請(qǐng)求發(fā)送模塊,用于向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求; 判斷模塊,用于根據(jù)目標(biāo)WEB容器反饋回的檢查結(jié)果,判斷目標(biāo)WEB容器是否處于代碼可更新狀態(tài),其中,WEB容器處于代碼可更新狀態(tài)表示沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中; 代碼更新模塊,用于在判斷模塊判斷結(jié)果為是的情況下,檢測(cè)是否正在對(duì)目標(biāo)WEB容器進(jìn)行更新代碼,如果否,對(duì)目標(biāo)WEB容器進(jìn)行代碼更新,如果是,繼續(xù)對(duì)所述目標(biāo)WEB容器代碼進(jìn)行更新; 狀態(tài)更新指令發(fā)送模塊,用于在判斷模塊判斷結(jié)果為否的情況下,判斷目標(biāo)WEB容器代碼是否已更新,如果否,向所述目標(biāo)WEB容器發(fā)送狀態(tài)更新指令,指示目標(biāo)WEB容器將狀態(tài)更改為代碼可更新狀態(tài),觸發(fā)判斷模塊。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述檢查請(qǐng)求發(fā)送模塊,具體用于: 實(shí)時(shí)向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求; 或 根據(jù)預(yù)設(shè) 的發(fā)送檢測(cè)請(qǐng)求間隔時(shí)間,向WEB集群中的目標(biāo)WEB容器發(fā)送檢查請(qǐng)求。
9.一種WEB集群代碼更新系統(tǒng),其特征在于,所述系統(tǒng)包括:WEB容器以及權(quán)利要求7或8所述的WEB集群代碼更新裝置, 所述WEB容器包括:檢查請(qǐng)求接收模塊、狀態(tài)檢查模塊、第一檢查結(jié)果反饋模塊和第一狀態(tài)設(shè)置模塊, 檢查請(qǐng)求接收模塊,用于接收前端代理服務(wù)器發(fā)送的檢查請(qǐng)求; 狀態(tài)檢查模塊,用于在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器當(dāng)前所處狀態(tài),其中,WEB容器當(dāng)前狀態(tài)包括:代碼可更新狀態(tài)和代碼不可更新狀態(tài),WEB容器處于代碼可更新狀態(tài)表示沒有Internet請(qǐng)求數(shù)據(jù)進(jìn)入到該WEB容器中; 第一檢查結(jié)果反饋模塊,用于檢查完成后,將自身WEB容器檢查結(jié)果反饋給前端代理服務(wù)器; 第一狀態(tài)設(shè)置模塊,用于在前端代理服務(wù)器對(duì)所述WEB容器代碼更新完成后,將所述WEB容器的狀態(tài)設(shè)置為代碼不可更新狀態(tài)。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述WEB容器還包括:狀態(tài)更新指令接收模塊、第二狀態(tài)設(shè)置模塊和第二檢查結(jié)果反饋模塊, 狀態(tài)更新指令接收模塊,用于在所述WEB容器代碼沒有更新的情況下,接收前端代理服務(wù)器發(fā)送的狀態(tài)更新指令; 第二狀態(tài)設(shè)置模塊,用于在接收到前端代理服務(wù)器發(fā)送的狀態(tài)更新指令之后,將自身WEB容器的狀態(tài)設(shè)置為代碼可更新狀態(tài); 第二檢查結(jié)果反饋模塊,用于設(shè)置完成后,將自身WEB容器當(dāng)前狀態(tài)的檢查結(jié)果反饋給前端代理服務(wù)器。
11.根據(jù)權(quán)利要求9或10所述的系統(tǒng),其特征在于,所述狀態(tài)檢查模塊,具體用于: 在接收到前端代理服務(wù)器發(fā)送的檢查請(qǐng)求之后,檢查自身WEB容器所處WEB服務(wù)器中是否存在表示該WEB容器處于代碼可更新狀態(tài)的文件,如果存在,表示該WEB容器處于代碼可更新狀態(tài)。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述第二狀態(tài)設(shè)置模塊,具體用于:在接收到前端代理服務(wù)器發(fā)送的狀態(tài)更新指令之后,在自身WEB容器所處WEB服務(wù)器中創(chuàng)建表示該WEB容器處于代碼可更新狀態(tài)的文件; 所述第一狀態(tài)設(shè)置模塊,具體用于: 在前端代理服務(wù)器對(duì)所述WEB容器代碼更新完成后,刪除自身WEB容器所處WEB服務(wù)器中表示該WEB容器處于代碼可更新狀態(tài)的文件。
【文檔編號(hào)】H04L29/08GK104023086SQ201410291222
【公開日】2014年9月3日 申請(qǐng)日期:2014年6月25日 優(yōu)先權(quán)日:2014年6月25日
【發(fā)明者】尹非凡 申請(qǐng)人:北京奇藝世紀(jì)科技有限公司