應(yīng)用程序及數(shù)據(jù)庫(kù)的熱部署方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及熱部署技術(shù)領(lǐng)域,尤其涉及應(yīng)用程序及數(shù)據(jù)庫(kù)的熱部署方法及裝置。
【背景技術(shù)】
[0002]通常情況下,應(yīng)用程序自為用戶(hù)提供服務(wù)之后,需要不斷完善和改進(jìn)。故此,應(yīng)用程序會(huì)隨著時(shí)間的推移需要不斷進(jìn)行升級(jí)。
[0003]相關(guān)技術(shù)中,對(duì)應(yīng)用程序進(jìn)行升級(jí)時(shí),往往需要使應(yīng)用程序暫停服務(wù),然后離線進(jìn)行升級(jí),并在升級(jí)完成后,需要重啟應(yīng)用程序才能使用于使用升級(jí)后的應(yīng)用程序。這樣,應(yīng)用程序的升級(jí)都必須停止當(dāng)前運(yùn)行的服務(wù)后才能生效,影響用戶(hù)使用,故此如何實(shí)現(xiàn)應(yīng)用程序的熱部署是迫切需要解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供了應(yīng)用程序及數(shù)據(jù)庫(kù)的熱部署方法及裝置,用以解決目前存在的由于應(yīng)用程序升級(jí)后需要重啟,無(wú)法實(shí)現(xiàn)應(yīng)用程序的熱部署的問(wèn)題。
[0005]本發(fā)明實(shí)施例提供了一種應(yīng)用程序的熱部署方法,包括:
[0006]前端應(yīng)用程序接收用戶(hù)訪問(wèn)請(qǐng)求,并將用戶(hù)訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)給第一后端應(yīng)用程序處理;其中,所述應(yīng)用程序包括前端應(yīng)用程序和第一后端應(yīng)用程序兩部分,其中,前端應(yīng)用程序?yàn)樯?jí)時(shí)不需要重啟的部分應(yīng)用程序;第一后端應(yīng)用程序?yàn)樯?jí)時(shí)需要重啟的部分應(yīng)用程序;
[0007]當(dāng)接收到作為第一后端應(yīng)用程序的備份的第二后端應(yīng)用程序已升級(jí)完成的指令時(shí),將后續(xù)接收到的用戶(hù)訪問(wèn)請(qǐng)求以及第一后端應(yīng)用程序未處理完的用戶(hù)訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)給第二后端應(yīng)用程序處理,并將第二后端應(yīng)用程序視為第一后端應(yīng)用程序。
[0008]另一方面,本發(fā)明還提供一種應(yīng)用程序的數(shù)據(jù)庫(kù)的熱部署方法,所述方法包括:
[0009]第一數(shù)據(jù)庫(kù)在第二后端應(yīng)用程序升級(jí)前,執(zhí)行新增表結(jié)構(gòu)的升級(jí);其中,所述應(yīng)用程序包括前端應(yīng)用程序和第一后端應(yīng)用程序兩部分,其中,前端應(yīng)用程序?yàn)樯?jí)時(shí)不需要重啟的部分應(yīng)用程序;第一后端應(yīng)用程序?yàn)樯?jí)時(shí)需要重啟的部分應(yīng)用程序;第二后端應(yīng)用程序?yàn)榈谝缓蠖藨?yīng)用程序的備份,并用于升級(jí)后接替第一后端應(yīng)用程序接收并處理前端應(yīng)用程序轉(zhuǎn)發(fā)的后續(xù)接收到的用戶(hù)訪問(wèn)請(qǐng)求以及第一前端應(yīng)用程序未處理完的用戶(hù)訪問(wèn)請(qǐng)求;
[0010]第一數(shù)據(jù)庫(kù)在前端應(yīng)用程序?qū)⒂脩?hù)訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)給第二后端應(yīng)用程序處理之后,進(jìn)行數(shù)據(jù)庫(kù)表結(jié)構(gòu)的刪除和/或修改操作。
[0011]另一方面,本發(fā)明還提供一種應(yīng)用程序的數(shù)據(jù)庫(kù)的熱部署方法,所述方法包括:
[0012]第三數(shù)據(jù)庫(kù)在第一后端應(yīng)用程序接收并處理前端應(yīng)用程序轉(zhuǎn)發(fā)的用戶(hù)訪問(wèn)請(qǐng)求時(shí),對(duì)與第一后端應(yīng)用程序連接的第二數(shù)據(jù)庫(kù)進(jìn)行熱備份;其中,所述應(yīng)用程序包括前端應(yīng)用程序和第一后端應(yīng)用程序兩部分,其中,前端應(yīng)用程序?yàn)樯?jí)時(shí)不需要重啟的部分應(yīng)用程序;第一后端應(yīng)用程序?yàn)樯?jí)時(shí)需要重啟的部分應(yīng)用程序;第二后端應(yīng)用程序?yàn)榈谝缓蠖藨?yīng)用程序的備份,并用于升級(jí)后接替第一后端應(yīng)用程序接收并處理前端應(yīng)用程序轉(zhuǎn)發(fā)的后續(xù)接收到的用戶(hù)訪問(wèn)請(qǐng)求以及第一前端應(yīng)用程序未處理完的用戶(hù)訪問(wèn)請(qǐng)求;其中,第三數(shù)據(jù)庫(kù)與第二后端應(yīng)用程序連接;
[0013]第三數(shù)據(jù)庫(kù)在升級(jí)完成后,并在第二后端應(yīng)用程序接收并處理前端應(yīng)用程序轉(zhuǎn)發(fā)的后續(xù)接收到的用戶(hù)訪問(wèn)請(qǐng)求以及第一前端應(yīng)用程序未處理完的用戶(hù)訪問(wèn)請(qǐng)求時(shí),將對(duì)用戶(hù)訪問(wèn)請(qǐng)求的處理結(jié)果同步至第四數(shù)據(jù)庫(kù),以使第四數(shù)據(jù)庫(kù)對(duì)第三數(shù)據(jù)庫(kù)進(jìn)行熱備份,并將第三數(shù)據(jù)庫(kù)視為第二數(shù)據(jù)庫(kù),第四數(shù)據(jù)庫(kù)視為第三數(shù)據(jù)庫(kù)。
[0014]另一方面,本發(fā)明還提供一種應(yīng)用程序的熱部署裝置,所述裝置包括:
[0015]請(qǐng)求接收模塊,用于前端應(yīng)用程序接收用戶(hù)訪問(wèn)請(qǐng)求,并將用戶(hù)訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)給第一后端應(yīng)用程序處理;其中,所述應(yīng)用程序包括前端應(yīng)用程序和第一后端應(yīng)用程序兩部分,其中,前端應(yīng)用程序?yàn)樯?jí)時(shí)不需要重啟的部分應(yīng)用程序;第一后端應(yīng)用程序?yàn)樯?jí)時(shí)需要重啟的部分應(yīng)用程序;
[0016]轉(zhuǎn)發(fā)模塊,用于當(dāng)接收到作為第一后端應(yīng)用程序的備份的第二后端應(yīng)用程序已升級(jí)完成的指令時(shí),將后續(xù)接收到的用戶(hù)訪問(wèn)請(qǐng)求以及第一后端應(yīng)用程序未處理完的用戶(hù)訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)給第二后端應(yīng)用程序處理,并在后續(xù)進(jìn)行應(yīng)用程序升級(jí)時(shí),將第二后端應(yīng)用程序視為第一后端應(yīng)用程序。
[0017]另一方面,本發(fā)明還提供一種應(yīng)用程序的數(shù)據(jù)庫(kù)的熱部署裝置,所述裝置包括:
[0018]新增表模塊,用于第一數(shù)據(jù)庫(kù)在第二后端應(yīng)用程序升級(jí)前,執(zhí)行新增表結(jié)構(gòu)的升級(jí);其中,所述應(yīng)用程序包括前端應(yīng)用程序和第一后端應(yīng)用程序兩部分,其中,前端應(yīng)用程序?yàn)樯?jí)時(shí)不需要重啟的部分應(yīng)用程序;第一后端應(yīng)用程序?yàn)樯?jí)時(shí)需要重啟的部分應(yīng)用程序;第二后端應(yīng)用程序?yàn)榈谝缓蠖藨?yīng)用程序的備份,并用于升級(jí)后接替第一后端應(yīng)用程序接收并處理前端應(yīng)用程序轉(zhuǎn)發(fā)的后續(xù)接收到的用戶(hù)訪問(wèn)請(qǐng)求以及第一前端應(yīng)用程序未處理完的用戶(hù)訪問(wèn)請(qǐng)求;
[0019]更新表模塊,用于第一數(shù)據(jù)庫(kù)在前端應(yīng)用程序?qū)⒂脩?hù)訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)給第二后端應(yīng)用程序處理之后,進(jìn)行數(shù)據(jù)庫(kù)表結(jié)構(gòu)的刪除和/或修改操作。
[0020]另一方面,本發(fā)明還提供一種應(yīng)用程序的數(shù)據(jù)庫(kù)的熱部署裝置,所述裝置包括:
[0021]熱備份模塊,用于第三數(shù)據(jù)庫(kù)在第一后端應(yīng)用程序接收并處理前端應(yīng)用程序轉(zhuǎn)發(fā)的用戶(hù)訪問(wèn)請(qǐng)求時(shí),對(duì)與第一后端應(yīng)用程序連接的第二數(shù)據(jù)庫(kù)進(jìn)行熱備份;其中,所述應(yīng)用程序包括前端應(yīng)用程序和第一后端應(yīng)用程序兩部分,其中,前端應(yīng)用程序?yàn)樯?jí)時(shí)不需要重啟的部分應(yīng)用程序;第一后端應(yīng)用程序?yàn)樯?jí)時(shí)需要重啟的部分應(yīng)用程序;第二后端應(yīng)用程序?yàn)榈谝缓蠖藨?yīng)用程序的備份,并用于升級(jí)后接替第一后端應(yīng)用程序接收并處理前端應(yīng)用程序轉(zhuǎn)發(fā)的后續(xù)接收到的用戶(hù)訪問(wèn)請(qǐng)求以及第一前端應(yīng)用程序未處理完的用戶(hù)訪問(wèn)請(qǐng)求;其中,第三數(shù)據(jù)庫(kù)與第二后端應(yīng)用程序連接;
[0022]請(qǐng)求處理模塊,用于第三數(shù)據(jù)庫(kù)在升級(jí)完成后,并在第二后端應(yīng)用程序接收并處理前端應(yīng)用程序轉(zhuǎn)發(fā)的后續(xù)接收到的用戶(hù)訪問(wèn)請(qǐng)求以及第一前端應(yīng)用程序未處理完的用戶(hù)訪問(wèn)請(qǐng)求時(shí),將對(duì)用戶(hù)訪問(wèn)請(qǐng)求的處理結(jié)果同步至第四數(shù)據(jù)庫(kù),以使第四數(shù)據(jù)庫(kù)對(duì)第三數(shù)據(jù)庫(kù)進(jìn)行熱備份,并將第三數(shù)據(jù)庫(kù)視為第二數(shù)據(jù)庫(kù),第四數(shù)據(jù)庫(kù)視為第三數(shù)據(jù)庫(kù)。
[0023]本發(fā)明有益效果如下:在本發(fā)明實(shí)施例所述技術(shù)方案中,由于將應(yīng)用程序劃分為前端應(yīng)用程序和第一后端應(yīng)用程序,其中,前端應(yīng)用程序?yàn)閼?yīng)用程序中升級(jí)時(shí)不需要重啟的部分應(yīng)用程序;第一后端應(yīng)用程序?yàn)閼?yīng)用程序中升級(jí)時(shí)需要重啟的部分應(yīng)用程序;由于前端應(yīng)用程序升級(jí)時(shí)無(wú)需重啟,所以升級(jí)前端應(yīng)用程序時(shí)無(wú)需暫停服務(wù)。而第一后端應(yīng)用程序在升級(jí)時(shí)具有備份,該備份稱(chēng)為第二后端應(yīng)用程序,當(dāng)進(jìn)行后端應(yīng)用程序升級(jí)時(shí),可以由第一后端應(yīng)用程序處理用戶(hù)訪問(wèn)請(qǐng)求,同時(shí)升級(jí)第二后端應(yīng)用程序,待第升級(jí)成功后,則由前端應(yīng)用程序?qū)⒑罄m(xù)接收到的用戶(hù)訪問(wèn)請(qǐng)求以及第一后端應(yīng)用程序未處理完的用戶(hù)訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)給第二后端應(yīng)用程序處理。則可以實(shí)現(xiàn)無(wú)需暫停服務(wù)便實(shí)現(xiàn)對(duì)應(yīng)用的升級(jí),從而實(shí)現(xiàn)對(duì)應(yīng)用程序的熱部署。
【附圖說(shuō)明】
[0024]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)要介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0025]圖1所示為本發(fā)明實(shí)施例一中所述應(yīng)用程序的熱部署方法的流程示意圖;
[0026]圖2所示為本發(fā)明實(shí)施例二中所述應(yīng)用程序的數(shù)據(jù)庫(kù)的熱部署方法的流程示意圖;
[0027]圖3所示為本發(fā)明實(shí)施例三中所述應(yīng)用程序的數(shù)據(jù)庫(kù)的熱部署方法的流程示意圖;
[0028]圖4所示為本發(fā)明實(shí)施例四中所述應(yīng)用程序的熱部署裝置的結(jié)構(gòu)示意圖;
[0029]圖5所示為本發(fā)明實(shí)施例五中所述應(yīng)用程序的數(shù)據(jù)庫(kù)的熱部署裝置的結(jié)構(gòu)示意圖;
[0030]圖6所示為本發(fā)明實(shí)施例六中所述應(yīng)用程序的數(shù)據(jù)庫(kù)的熱部署裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0031]本發(fā)明實(shí)施例提供了一種應(yīng)用程序及數(shù)據(jù)庫(kù)的熱部署方法,適用于web (網(wǎng)絡(luò))應(yīng)用程序在本發(fā)明實(shí)施例所述技術(shù)方案中,由于將應(yīng)用程序劃分為前端應(yīng)用程序和第一后端應(yīng)用程序,其中,前端應(yīng)用程序?yàn)閼?yīng)用程序中升級(jí)時(shí)不需要重啟的部分應(yīng)用程序;第一后端應(yīng)用程序?yàn)閼?yīng)用程序中升級(jí)時(shí)需要重啟的部分應(yīng)用程序;由于前端應(yīng)用程序升級(jí)時(shí)無(wú)需重啟,所以升級(jí)前端應(yīng)用程序時(shí)無(wú)需暫停服務(wù)