本申請涉及無線通信技術(shù)領(lǐng)域,尤其涉及一種模型更新方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)信息技術(shù)的發(fā)展,互聯(lián)網(wǎng)技術(shù)所應(yīng)用的業(yè)務(wù)場景也逐漸增多?;ヂ?lián)網(wǎng)應(yīng)用在給用戶帶來便利的同時(shí),也帶來了一定的風(fēng)險(xiǎn)。為了降低業(yè)務(wù)處理風(fēng)險(xiǎn),提高互聯(lián)網(wǎng)應(yīng)用的安全可控性,服務(wù)器在實(shí)際的業(yè)務(wù)處理中,通常需要基于預(yù)設(shè)的模型對當(dāng)前的業(yè)務(wù)處理進(jìn)行風(fēng)險(xiǎn)識(shí)別。
由于互聯(lián)網(wǎng)應(yīng)用具有場景變化快、更新周期短等特點(diǎn),在進(jìn)行模型更新時(shí),不僅要求更新的模型的覆蓋率和準(zhǔn)確率較高,還要求模型更新效率較高。為了保證模型的覆蓋率和準(zhǔn)確率,就需要在模型上線前對模型進(jìn)行測試,只有在模型測試通過后,才會(huì)將模型上線。為了保證模型更新效率,就需要提高模型測試的效率。
目前,在進(jìn)行模型測試時(shí),一般是人為控制的,也即,模型訓(xùn)練人員在訓(xùn)練好模型后,通知模型測試人員進(jìn)行測試,模型測試人員在對模型測試成功后,將模型在生產(chǎn)環(huán)境服務(wù)器中上線。在這種方式下,模型測試人員不僅要考慮生產(chǎn)環(huán)境服務(wù)器對模型上線的時(shí)間要求,比如不能在業(yè)務(wù)繁忙時(shí)進(jìn)行上線,還要考慮自身工作時(shí)間安排,很容易導(dǎo)致模型不能及時(shí)被更新。
可見,在人為控制進(jìn)行模型更新的方式下,不僅會(huì)耗費(fèi)大量人力成本,而且很容易導(dǎo)致模型不能及時(shí)被更新。
技術(shù)實(shí)現(xiàn)要素:
本申請實(shí)施例提供一種模型更新方法及裝置,用以解決在人為控制進(jìn)行模 型更新的方式下,不僅會(huì)耗費(fèi)大量人力成本,而且很容易導(dǎo)致模型不能及時(shí)被更新的問題。
本申請實(shí)施例提供的一種模型更新方法,包括:
后臺(tái)管理服務(wù)器從遠(yuǎn)程服務(wù)器中獲取模型更新文件;
所述后臺(tái)管理服務(wù)器根據(jù)所述模型更新文件以及所述模型更新文件對應(yīng)的共享數(shù)據(jù)庫中更新前的模型,確定所述模型更新文件對應(yīng)的更新后的模型,并將所述更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中;
所述后臺(tái)管理服務(wù)器向測試環(huán)境服務(wù)器發(fā)送測試指示信息,用于指示測試環(huán)境服務(wù)器從所述共享數(shù)據(jù)庫中獲取所述更新后的模型,并對所述更新后的模型進(jìn)行測試;
所述后臺(tái)管理服務(wù)器在所述測試環(huán)境服務(wù)器對所述更新后的模型測試成功后,向執(zhí)行業(yè)務(wù)處理的生產(chǎn)環(huán)境服務(wù)器發(fā)送模型更新指示信息,用于指示所述生產(chǎn)環(huán)境服務(wù)器將正在使用的所述更新前的模型替換為所述更新后的模型。
可選地,所述后臺(tái)管理服務(wù)器將所述更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中之后,還包括:
所述后臺(tái)管理服務(wù)器向所述生產(chǎn)環(huán)境服務(wù)器發(fā)送流量調(diào)用指示信息,用于指示所述生產(chǎn)環(huán)境服務(wù)器將產(chǎn)生的業(yè)務(wù)數(shù)據(jù)發(fā)送給測試環(huán)境服務(wù)器,以使所述測試環(huán)境服務(wù)器基于所述生產(chǎn)環(huán)境服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)對獲取的所述更新后的模型進(jìn)行測試。
可選地,所述后臺(tái)管理服務(wù)器從遠(yuǎn)程服務(wù)器中獲取模型更新文件,包括:
所述后臺(tái)管理服務(wù)器在監(jiān)測到當(dāng)前到達(dá)預(yù)設(shè)的模型更新時(shí)間時(shí),從遠(yuǎn)程服務(wù)器中獲取所述模型更新文件。
可選地,所述后臺(tái)管理服務(wù)器將所述更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中,包括:
所述后臺(tái)管理服務(wù)器將更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中,并將共享數(shù)據(jù)庫中所述更新后的模型的執(zhí)行狀態(tài)置為測試執(zhí)行中狀態(tài),用于向所述測試環(huán)境 服務(wù)器指示所述更新后的模型為需要執(zhí)行測試的模型。
可選地,所述方法還包括:
所述后臺(tái)管理服務(wù)器在所述測試環(huán)境服務(wù)器對所述更新后的模型測試失敗后,刪除所述共享數(shù)據(jù)庫中的所述更新后的模型,并指示所述遠(yuǎn)程服務(wù)器刪除所述模型更新文件。
可選地,所述后臺(tái)管理服務(wù)器在所述測試環(huán)境服務(wù)器對所述更新后的模型測試成功后,向執(zhí)行業(yè)務(wù)處理的生產(chǎn)環(huán)境服務(wù)器發(fā)送模型更新指示信息之前,還包括:
所述后臺(tái)管理服務(wù)器將所述共享數(shù)據(jù)庫中所述更新后的模型的執(zhí)行狀態(tài)置為正式運(yùn)行狀態(tài),用于向所述生產(chǎn)環(huán)境服務(wù)器指示所述更新后的模型為測試成功后的模型。
本申請另一實(shí)施例提供的一種模型更新方法,包括:
生產(chǎn)環(huán)境服務(wù)器接收所述后臺(tái)管理服務(wù)器發(fā)送的模型更新指示信息;
所述生產(chǎn)環(huán)境服務(wù)器從共享數(shù)據(jù)庫中獲取測試成功的更新后的模型,并將所述更新后的模型對應(yīng)的當(dāng)前正在使用的更新前的模型替換為所述更新后的模型。
本申請又一實(shí)施例提供的一種模型更新方法,包括:
測試環(huán)境服務(wù)器在接收到后臺(tái)管理服務(wù)器發(fā)送的測試指示信息后,從共享數(shù)據(jù)庫中獲取待測試的更新后的模型;
所述測試環(huán)境服務(wù)器對所述更新后的模型進(jìn)行測試,并將測試結(jié)果指示給所述后臺(tái)管理服務(wù)器,以使所述后臺(tái)管理服務(wù)器在所述測試環(huán)境服務(wù)器對所述更新后的模型測試成功后,向所述生產(chǎn)環(huán)境服務(wù)器發(fā)送模型更新指示信息,用于指示所述生產(chǎn)環(huán)境服務(wù)器將所述更新后的模型對應(yīng)的當(dāng)前正在使用的更新前的模型替換為所述更新后的模型。
本申請實(shí)施例提供的一種模型更新系統(tǒng)包括:
后臺(tái)管理服務(wù)器,用于從遠(yuǎn)程服務(wù)器中獲取模型更新文件,根據(jù)所述模型 更新文件以及所述模型更新文件對應(yīng)的共享數(shù)據(jù)庫中更新前的模型,確定所述模型更新文件對應(yīng)的更新后的模型,并將所述更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中;向測試環(huán)境服務(wù)器發(fā)送測試指示信息,在測試環(huán)境服務(wù)器對所述更新后的模型模型測試成功后,向執(zhí)行業(yè)務(wù)處理的生產(chǎn)環(huán)境服務(wù)器發(fā)送模型更新指示信息;
遠(yuǎn)程服務(wù)器,用于存儲(chǔ)用戶上傳的模型更新文件;
測試環(huán)境服務(wù)器,用于在接收到后臺(tái)管理服務(wù)器發(fā)送的測試指示信息后,從共享數(shù)據(jù)庫中獲取待測試的更新后的模型,對所述更新后的模型進(jìn)行測試,并將測試結(jié)果指示給所述后臺(tái)管理服務(wù)器;
生產(chǎn)環(huán)境服務(wù)器,用于在接收到后臺(tái)管理服務(wù)器發(fā)送的模型更新指示信息后,從共享數(shù)據(jù)庫中獲取測試成功的更新后的模型,并將所述更新后的模型對應(yīng)的當(dāng)前正在使用的更新前的模型替換為所述更新后的模型。
本申請實(shí)施例提供的一種模型更新裝置,包括:
獲取模塊,用于從遠(yuǎn)程服務(wù)器中獲取模型更新文件;
確定模塊,用于根據(jù)所述模型更新文件以及所述模型更新文件對應(yīng)的共享數(shù)據(jù)庫中更新前的模型,確定所述模型更新文件對應(yīng)的更新后的模型,并將所述更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中;
第一發(fā)送模塊,用于向測試環(huán)境服務(wù)器發(fā)送測試指示信息,用于指示測試環(huán)境服務(wù)器從所述共享數(shù)據(jù)庫中獲取所述更新后的模型,并對所述更新后的模型進(jìn)行測試;
第二發(fā)送模塊,用于在所述測試環(huán)境服務(wù)器對所述更新后的模型測試成功后,向執(zhí)行業(yè)務(wù)處理的生產(chǎn)環(huán)境服務(wù)器發(fā)送模型更新指示信息,用于指示所述生產(chǎn)環(huán)境服務(wù)器將正在使用的所述更新前的模型替換為所述更新后的模型。
本申請另一實(shí)施例提供一種模型更新裝置,包括:
接收模塊,用于接收所述后臺(tái)管理服務(wù)器發(fā)送的模型更新指示信息;
獲取模塊,用于在所述接收模塊接收到所述模型更新指示信息后,從共享 數(shù)據(jù)庫中獲取測試成功的更新后的模型;
替換模塊,用于將所述獲取模塊獲取的所述更新后的模型對應(yīng)的當(dāng)前正在使用的更新前的模型替換為所述更新后的模型。
本申請又一實(shí)施例提供一種模型更新裝置,包括:
獲取模塊,用于在接收到后臺(tái)管理服務(wù)器發(fā)送的測試指示信息后,從共享數(shù)據(jù)庫中獲取待測試的更新后的模型;
測試模塊,用于對所述更新后的模型進(jìn)行測試,并將測試結(jié)果指示給所述后臺(tái)管理服務(wù)器,以使所述后臺(tái)管理服務(wù)器在所述測試環(huán)境服務(wù)器對所述更新后的模型測試成功后,向所述生產(chǎn)環(huán)境服務(wù)器發(fā)送模型更新指示信息,用于指示所述生產(chǎn)環(huán)境服務(wù)器將所述更新后的模型對應(yīng)的當(dāng)前正在使用的更新前的模型替換為所述更新后的模型。
采用上述方案,后臺(tái)管理服務(wù)器根據(jù)從遠(yuǎn)程服務(wù)器獲取的模型更新文件以及所述模型更新文件對應(yīng)的共享數(shù)據(jù)庫中更新前的模型,確定更新后的模型,并將所述更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中;測試環(huán)境服務(wù)器基于后臺(tái)管理服務(wù)器的指示,從共享數(shù)據(jù)庫中獲取所述更新后的模型,并對更新后的模型進(jìn)行測試;生產(chǎn)環(huán)境服務(wù)器根據(jù)后臺(tái)管理服務(wù)器的指示,將正在使用的所述更新前的模型替換為測試成功后的所述更新后的模型,從而可以實(shí)現(xiàn)模型的自動(dòng)測試更新。
附圖說明
圖1為本申請實(shí)施例提供的模型更新系統(tǒng)結(jié)構(gòu)示意圖;
圖2為本申請實(shí)施例一提供的模型更新方法流程圖;
圖3為本申請實(shí)施例二提供的模型更新方法流程圖;
圖4為本申請實(shí)施例三提供的模型更新裝置結(jié)構(gòu)示意圖;
圖5為本申請實(shí)施例四提供的模型更新裝置結(jié)構(gòu)示意圖;
圖6為本申請實(shí)施例五提供的模型更新裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
如圖1所示,為本申請實(shí)施例提供的模型更新系統(tǒng)10結(jié)構(gòu)示意圖,包括:
后臺(tái)管理服務(wù)器11,用于從遠(yuǎn)程服務(wù)器12中獲取模型更新文件,根據(jù)所述模型更新文件以及所述模型更新文件對應(yīng)的共享數(shù)據(jù)庫中更新前的模型,確定所述模型更新文件對應(yīng)的更新后的模型,并將所述更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中;向測試環(huán)境服務(wù)器13發(fā)送測試指示信息,在測試環(huán)境服務(wù)器13對所述更新后的模型模型測試成功后,向執(zhí)行業(yè)務(wù)處理的生產(chǎn)環(huán)境服務(wù)器14發(fā)送模型更新指示信息;
遠(yuǎn)程服務(wù)器12,用于存儲(chǔ)用戶上傳的模型更新文件;
測試環(huán)境服務(wù)器13,用于在接收到后臺(tái)管理服務(wù)器11發(fā)送的測試指示信息后,從共享數(shù)據(jù)庫中獲取待測試的更新后的模型,對所述更新后的模型進(jìn)行測試,并將測試結(jié)果指示給所述后臺(tái)管理服務(wù)器11;
生產(chǎn)環(huán)境服務(wù)器14,用于在接收到后臺(tái)管理服務(wù)器11發(fā)送的模型更新指示信息后,從共享數(shù)據(jù)庫中獲取測試成功的更新后的模型,并將所述更新后的模型對應(yīng)的當(dāng)前正在使用的更新前的模型替換為所述更新后的模型。
可見,本申請實(shí)施例可以實(shí)現(xiàn)模型的自動(dòng)測試更新,下面結(jié)合說明書附圖對本申請實(shí)施例作進(jìn)一步詳細(xì)描述。
在以下實(shí)施例中,所述模型是指模型訓(xùn)練人員通過一些數(shù)據(jù)挖掘手段,對各類用戶行為數(shù)據(jù)(比如支付方式、媒體接入控制(Media Access Control,MAC)地址、互聯(lián)網(wǎng)協(xié)議(Internet Protocol,IP)地址等)進(jìn)行特征數(shù)據(jù)抽取后,基于抽取的特征數(shù)據(jù),通過數(shù)據(jù)挖掘算法(比如決策樹、神經(jīng)分類、邏輯回歸等)進(jìn)行評分訓(xùn)練后得到的評分算法表述模型。所述生產(chǎn)環(huán)境是指真實(shí)業(yè)務(wù)運(yùn)行的環(huán)境。在將模型上線到生產(chǎn)環(huán)境正式運(yùn)行之前,需要先將其放入測試環(huán)境(Beta環(huán)境)中進(jìn)行測試,測試環(huán)境和生產(chǎn)環(huán)境隔離。本申請實(shí)施例中的共享數(shù)據(jù)庫(Database,DB)具體可以是MySQL數(shù)據(jù)庫。
實(shí)施例一
如圖2所示,為本申請實(shí)施例一提供的模型更新方法流程圖,包括以下步驟:
S201:后臺(tái)管理服務(wù)器從遠(yuǎn)程服務(wù)器中獲取模型更新文件。
在具體實(shí)施過程中,模型訓(xùn)練人員在訓(xùn)練好更新后的模型后,將更新后的模型的模型更新文件(模型更新文件中包含相比更新前的模型,增加或更新的數(shù)據(jù))壓縮后(比如壓縮為zip格式文件)存儲(chǔ)在遠(yuǎn)程服務(wù)器中指定目錄下。后臺(tái)管理服務(wù)器可以根據(jù)預(yù)設(shè)的模型更新時(shí)間,在監(jiān)測到當(dāng)前到達(dá)預(yù)設(shè)的模型更新時(shí)間時(shí),從遠(yuǎn)程服務(wù)器中獲取所述模型更新文件。比如,為了不影響生產(chǎn)環(huán)境服務(wù)器中業(yè)務(wù)的正常執(zhí)行,將模型更新時(shí)間設(shè)置為每天凌晨開始;后臺(tái)管理服務(wù)器根據(jù)當(dāng)前日期,自動(dòng)讀取前一天的模型更新文件即可。每一個(gè)模型包括基本配置文件和模型算法文件兩部分,模型算法如隨機(jī)森林、決策樹C5算法等,模型訓(xùn)練人員將基本配置信息文件和模型算法文件以不同的文件格式區(qū)分開,壓縮為zip文件包后上傳到遠(yuǎn)程服務(wù)器指定目錄下;后臺(tái)管理服務(wù)器讀取指定目錄的壓縮文件列表后解壓zip文件包。在實(shí)際實(shí)施中,后臺(tái)管理服務(wù)器可以從遠(yuǎn)程服務(wù)器中獲取一個(gè)或多個(gè)模型的模型更新文件,可以對一個(gè)或多個(gè)模型進(jìn)行同步更新。
S202:后臺(tái)管理服務(wù)器根據(jù)所述模型更新文件以及所述模型更新文件對應(yīng)的共享數(shù)據(jù)庫中更新前的模型,確定所述模型更新文件對應(yīng)的更新后的模型,并將所述更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中。
在具體實(shí)施過程中,后臺(tái)管理服務(wù)器可以首先對所述模型更新文件進(jìn)行合法性校驗(yàn),包括模型更新文件的有效性及完整性校驗(yàn),比如校驗(yàn)當(dāng)前是否有對應(yīng)該模型更新文件的正式運(yùn)行的模型(也即正式運(yùn)行的更新前的模型,這里,模型是在生產(chǎn)環(huán)境服務(wù)器中被正式運(yùn)行的)存在、模型更新文件的算法類型是否與正式運(yùn)行的模型一致等。
在對模型更新文件進(jìn)行合法性驗(yàn)證通過后,后臺(tái)管理服務(wù)器可以通過模型 名稱和執(zhí)行狀態(tài)(正式運(yùn)行狀態(tài))等查找到該模型更新文件對應(yīng)的正式運(yùn)行的更新前的模型,基于查找到的更新前的模型及所述模型更新文件,確定更新后的模型,并將更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中,具體過程為:
在共享數(shù)據(jù)庫(Database,DB)中新增一條執(zhí)行狀態(tài)為新建狀態(tài)的模型信息記錄,在該記錄中,將正式運(yùn)行的更新前的模型復(fù)制一個(gè)副本,并將其中需要更新的模型信息采用模型更新文件中的模型信息替換掉,將該模型的執(zhí)行狀態(tài)置為測試執(zhí)行中狀態(tài)??梢?,本申請實(shí)施例為了保證生產(chǎn)環(huán)境的正常運(yùn)行,并沒有直接將DB中更新前的模型刪除,而是進(jìn)行了保留。
S203:后臺(tái)管理服務(wù)器向測試環(huán)境服務(wù)器發(fā)送測試指示信息。
這里,后臺(tái)管理服務(wù)器在將模型提交為測試執(zhí)行中狀態(tài)后,向測試環(huán)境(如Beta環(huán)境)服務(wù)器推送測試指示信息,用于指示測試環(huán)境服務(wù)器對該更新后的模型進(jìn)行測試。
S204:測試環(huán)境服務(wù)器在接收到后臺(tái)管理服務(wù)器發(fā)送的測試指示信息后,從共享數(shù)據(jù)庫中獲取待測試的更新后的模型,對所述更新后的模型進(jìn)行測試,并將測試結(jié)果指示給所述后臺(tái)管理服務(wù)器。
在具體實(shí)施過程中,測試環(huán)境服務(wù)器可以在接收到后臺(tái)管理服務(wù)器發(fā)送的測試指示信息后,從共享數(shù)據(jù)庫中獲取處于測試執(zhí)行中狀態(tài)的模型,對處于測試執(zhí)行中狀態(tài)的模型進(jìn)行測試后,將測試結(jié)果存入共享的分布式緩存中。
S205:后臺(tái)管理服務(wù)器在所述測試環(huán)境服務(wù)器對所述更新后的模型測試成功后,向執(zhí)行業(yè)務(wù)處理的生產(chǎn)環(huán)境服務(wù)器發(fā)送模型更新指示信息。
該步驟中,后臺(tái)管理服務(wù)器在向測試環(huán)境服務(wù)器發(fā)送測試指示信息后,可以在等待設(shè)定的時(shí)間長度后,讀取分布式緩存中的測試結(jié)果,針對某個(gè)更新后的模型,基于該更新后的模型的測試結(jié)果及預(yù)設(shè)的判斷標(biāo)準(zhǔn)(比如模型執(zhí)行過程是否正確、打分區(qū)間是否正常等),判斷該更新后的模型是否通過測試,在確認(rèn)通過測試后,可以將DB中對應(yīng)該更新后的模型的執(zhí)行狀態(tài)修改為正式運(yùn)行狀態(tài),如果測試不通過則可以將該更新后的模型的執(zhí)行狀態(tài)修改為新建狀 態(tài),并刪除DB中對應(yīng)的數(shù)據(jù)。在測試完成后,后臺(tái)管理服務(wù)器刪除分布式緩存中的測試結(jié)果。
在具體實(shí)施中,后臺(tái)管理服務(wù)器可以在所有待測試的模型都測試完成后,統(tǒng)計(jì)是否存在測試通過的模型,如果存在,則向生產(chǎn)環(huán)境服務(wù)器推送模型更新指示信息。
S206:生產(chǎn)環(huán)境服務(wù)器在接收到所述后臺(tái)管理服務(wù)器發(fā)送的模型更新指示信息后,從共享數(shù)據(jù)庫中獲取測試成功的更新后的模型,并將所述更新后的模型對應(yīng)的當(dāng)前正在使用的更新前的模型替換為所述更新后的模型。
在具體實(shí)施過程中,生產(chǎn)環(huán)境服務(wù)器在接收到所述后臺(tái)管理服務(wù)器發(fā)送的模型更新指示信息后,從共享數(shù)據(jù)庫中獲取自最近一次更新模型的時(shí)間到當(dāng)前為止的、處于正式運(yùn)行狀態(tài)的模型,將獲取的模型加載到內(nèi)存中,替換對應(yīng)的需要更新的模型。
在實(shí)際實(shí)施中,測試環(huán)境服務(wù)器需要基于已有的業(yè)務(wù)數(shù)據(jù)對模型進(jìn)行測試,這些業(yè)務(wù)數(shù)據(jù)可以是預(yù)先存入測試環(huán)境服務(wù)器的,但為了提高測試準(zhǔn)確率,最好能模擬真實(shí)生產(chǎn)環(huán)境進(jìn)行測試,因此,在本申請優(yōu)選的實(shí)施方式中,采用了生產(chǎn)環(huán)境服務(wù)器向測試環(huán)境服務(wù)器實(shí)時(shí)傳輸業(yè)務(wù)數(shù)據(jù)的方式。
實(shí)施例二
如圖3所示,為本申請實(shí)施例二提供的模型更新方法流程圖,包括以下步驟:
S301:后臺(tái)管理服務(wù)器在監(jiān)測到當(dāng)前到達(dá)預(yù)設(shè)的模型更新時(shí)間時(shí),從遠(yuǎn)程服務(wù)器中獲取模型更新文件。
在該步驟中,后臺(tái)管理服務(wù)器獲取到模型訓(xùn)練人員預(yù)先存入遠(yuǎn)程服務(wù)器指定目錄下的模型更新文件后,對模型更新文件進(jìn)行合法性校驗(yàn),在合法性校驗(yàn)通過后,執(zhí)行S302。
S302:后臺(tái)管理服務(wù)器根據(jù)所述模型更新文件以及所述模型更新文件對應(yīng)的共享數(shù)據(jù)庫中更新前的模型,確定所述模型更新文件對應(yīng)的更新后的模型, 將更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中,將共享數(shù)據(jù)庫中所述更新后的模型的執(zhí)行狀態(tài)置為測試執(zhí)行中狀態(tài)。
該步驟中,后臺(tái)管理服務(wù)器在DB中新增一條執(zhí)行狀態(tài)為新建狀態(tài)的模型信息記錄,在該記錄中,將正式運(yùn)行的模型復(fù)制一個(gè)副本,并將其中需要更新的模型信息采用模型更新文件中的模型信息替換掉,將該模型的執(zhí)行狀態(tài)置為測試執(zhí)行中狀態(tài)。
S303:后臺(tái)管理服務(wù)器向生產(chǎn)環(huán)境服務(wù)器發(fā)送流量調(diào)用指示信息,向測試環(huán)境服務(wù)器發(fā)送測試指示信息。
S304:生產(chǎn)環(huán)境服務(wù)器在接收到所述流量調(diào)用指示信息后,將產(chǎn)生的業(yè)務(wù)數(shù)據(jù)發(fā)送給測試環(huán)境服務(wù)器,測試環(huán)境服務(wù)器基于所述生產(chǎn)環(huán)境服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)對所述更新后的模型進(jìn)行測試,并將測試結(jié)果指示給所述后臺(tái)管理服務(wù)器。
該步驟中,生產(chǎn)環(huán)境服務(wù)器開啟復(fù)制生產(chǎn)環(huán)境流量測試開關(guān),之后,生產(chǎn)環(huán)境服務(wù)器產(chǎn)生的真實(shí)業(yè)務(wù)數(shù)據(jù)被傳輸至測試環(huán)境服務(wù)器用以進(jìn)行模型測試。測試環(huán)境服務(wù)器從共享數(shù)據(jù)庫中獲取處于測試執(zhí)行中狀態(tài)的模型,基于生產(chǎn)環(huán)境服務(wù)器產(chǎn)生的真實(shí)業(yè)務(wù)數(shù)據(jù),對處于測試執(zhí)行中狀態(tài)的模型進(jìn)行測試后,將測試結(jié)果存入共享的分布式緩存中。
S305:后臺(tái)管理服務(wù)器在所述測試環(huán)境服務(wù)器對所述更新后的模型測試成功后,將所述共享數(shù)據(jù)庫中所述更新后的模型的執(zhí)行狀態(tài)置為正式運(yùn)行狀態(tài),并向執(zhí)行業(yè)務(wù)處理的生產(chǎn)環(huán)境服務(wù)器發(fā)送模型更新指示信息,轉(zhuǎn)而執(zhí)行S307。
該步驟中,后臺(tái)管理服務(wù)器在向測試環(huán)境服務(wù)器發(fā)送測試指示信息后,可以在等待設(shè)定的時(shí)間長度后,讀取分布式緩存中的測試結(jié)果,將DB中對應(yīng)測試通過的模型的執(zhí)行狀態(tài)修改為正式運(yùn)行狀態(tài),并將DB中該測試通過的模型所對應(yīng)的更新前的模型的執(zhí)行狀態(tài)修改為非正式運(yùn)行狀態(tài)。這里,為了防止后期模型正式運(yùn)行中出現(xiàn)問題,可以在DB中保存最近三個(gè)版本的模型。
S306:后臺(tái)管理服務(wù)器在所述測試環(huán)境服務(wù)器對所述更新后的模型測試失 敗后,刪除所述共享數(shù)據(jù)庫中的所述更新后的模型,并指示所述遠(yuǎn)程服務(wù)器刪除所述模型更新文件,不再執(zhí)行下述S307。
該步驟中,后臺(tái)管理服務(wù)器在確定對某個(gè)模型測試失敗后,將DB中該模型的執(zhí)行狀態(tài)修改為新建狀態(tài),刪除DB中該模型對應(yīng)的數(shù)據(jù),并刪除遠(yuǎn)程服務(wù)器中對應(yīng)的模型更新文件。
在測試完成后,后臺(tái)管理服務(wù)器刪除分布式緩存中的測試結(jié)果。
S307:生產(chǎn)環(huán)境服務(wù)器在接收到所述后臺(tái)管理服務(wù)器發(fā)送的模型更新指示信息后,根據(jù)最近一次進(jìn)行模型更新的時(shí)間,從共享數(shù)據(jù)庫中獲取更新時(shí)間在所述最近一次進(jìn)行模型更新的時(shí)間之后的、執(zhí)行狀態(tài)為正式運(yùn)行狀態(tài)的所述更新后的模型;從共享數(shù)據(jù)庫中獲取測試成功的所述更新后的模型,并將所述更新后的模型對應(yīng)的待更新的模型替換為所述更新后的模型。
該步驟中,生產(chǎn)環(huán)境服務(wù)器從DB中獲取自最近一次更新模型的時(shí)間到當(dāng)前為止的、處于正式運(yùn)行狀態(tài)的模型,將獲取的模型加載到內(nèi)存中,替換對應(yīng)的需要更新的模型。
可選地,所述方法還包括:
所述生產(chǎn)環(huán)境服務(wù)器在所述更新后的模型出現(xiàn)問題時(shí),從所述共享數(shù)據(jù)庫中獲取所述更新后的模型對應(yīng)的更新前的模型,并將正在使用的所述更新后的模型替換為所述更新前的模型。
為了保證生產(chǎn)環(huán)境的穩(wěn)定性,在生產(chǎn)環(huán)境服務(wù)器運(yùn)行更新后的模型出現(xiàn)問題后,可以采取“一鍵回滾”的方式,切換到更新前的模型。具體地,生產(chǎn)環(huán)境服務(wù)器向后臺(tái)管理服務(wù)器發(fā)送模型錯(cuò)誤信息,后臺(tái)管理服務(wù)器將DB中對應(yīng)出現(xiàn)問題的模型的前一個(gè)版本的模型重新置為正式運(yùn)行狀態(tài),并通知生產(chǎn)環(huán)境服務(wù)器,生產(chǎn)環(huán)境服務(wù)器從DB中重新讀取前一個(gè)版本的模型,加載到內(nèi)存中,替換當(dāng)前出現(xiàn)問題的模型。
基于同一發(fā)明構(gòu)思,本申請實(shí)施例中還提供了一種與模型更新方法對應(yīng)的模型更新裝置,由于該裝置解決問題的原理與本申請實(shí)施例模型更新方法相 似,因此該裝置的實(shí)施可以參見方法的實(shí)施,重復(fù)之處不再贅述。
實(shí)施例三
如圖4所示,為本申請實(shí)施例三提供的模型更新裝置結(jié)構(gòu)示意圖,該裝置可以部署在所述后臺(tái)管理服務(wù)器中,也可以為所述后臺(tái)管理服務(wù)器所控制的獨(dú)立裝置,包括:
獲取模塊41,用于從遠(yuǎn)程服務(wù)器中獲取模型更新文件;
確定模塊42,用于根據(jù)所述模型更新文件以及所述模型更新文件對應(yīng)的共享數(shù)據(jù)庫中更新前的模型,確定所述模型更新文件對應(yīng)的更新后的模型,并將所述更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中;
第一發(fā)送模塊43,用于向測試環(huán)境服務(wù)器發(fā)送測試指示信息,用于指示測試環(huán)境服務(wù)器從所述共享數(shù)據(jù)庫中獲取所述更新后的模型,并對所述更新后的模型進(jìn)行測試;
第二發(fā)送模塊44,用于在所述測試環(huán)境服務(wù)器對所述更新后的模型測試成功后,向執(zhí)行業(yè)務(wù)處理的生產(chǎn)環(huán)境服務(wù)器發(fā)送模型更新指示信息,用于指示所述生產(chǎn)環(huán)境服務(wù)器將正在使用的所述更新前的模型替換為所述更新后的模型。
可選地,所述裝置還包括:
第三發(fā)送模塊45,用于在所述確定模塊42將所述更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中之后,向所述生產(chǎn)環(huán)境服務(wù)器發(fā)送流量調(diào)用指示信息,用于指示所述生產(chǎn)環(huán)境服務(wù)器將產(chǎn)生的業(yè)務(wù)數(shù)據(jù)發(fā)送給測試環(huán)境服務(wù)器,以使所述測試環(huán)境服務(wù)器基于所述生產(chǎn)環(huán)境服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)對獲取的所述更新后的模型進(jìn)行測試。
可選地,所述獲取模塊41具體用于:
在監(jiān)測到當(dāng)前到達(dá)預(yù)設(shè)的模型更新時(shí)間時(shí),從遠(yuǎn)程服務(wù)器中獲取所述模型更新文件。
可選地,所述確定模塊42具體用于:
將更新后的模型存儲(chǔ)在共享數(shù)據(jù)庫中,并將共享數(shù)據(jù)庫中所述更新后的模 型的執(zhí)行狀態(tài)置為測試執(zhí)行中狀態(tài),用于向所述測試環(huán)境服務(wù)器指示所述更新后的模型為需要執(zhí)行測試的模型。
可選地,所述裝置還包括:
刪除模塊46,用于在所述測試環(huán)境服務(wù)器對所述更新后的模型測試失敗后,刪除所述共享數(shù)據(jù)庫中的所述更新后的模型,并指示所述遠(yuǎn)程服務(wù)器刪除所述模型更新文件。
可選地,所述確定模塊42還用于:
在所述測試環(huán)境服務(wù)器對所述更新后的模型測試成功后,在所述第二發(fā)送模塊向執(zhí)行業(yè)務(wù)處理的生產(chǎn)環(huán)境服務(wù)器發(fā)送模型更新指示信息之前,將所述共享數(shù)據(jù)庫中所述更新后的模型的執(zhí)行狀態(tài)置為正式運(yùn)行狀態(tài),用于向所述生產(chǎn)環(huán)境服務(wù)器指示所述更新后的模型為測試成功后的模型。
實(shí)施例四
如圖5所示,為本申請實(shí)施例四提供的模型更新裝置結(jié)構(gòu)示意圖,該裝置可以部署在所述生產(chǎn)環(huán)境服務(wù)器中,也可以為所述生產(chǎn)環(huán)境服務(wù)器所控制的獨(dú)立裝置,包括:
接收模塊51,用于接收所述后臺(tái)管理服務(wù)器發(fā)送的模型更新指示信息;
獲取模塊52,用于在所述接收模塊51接收到所述模型更新指示信息后,從共享數(shù)據(jù)庫中獲取測試成功的更新后的模型;
替換模塊53,用于將所述獲取模塊52獲取的所述更新后的模型對應(yīng)的當(dāng)前正在使用的更新前的模型替換為所述更新后的模型。
可選地,所述接收模塊51還用于:
在接收所述后臺(tái)管理服務(wù)器發(fā)送的模型更新指示信息之前,接收后臺(tái)管理服務(wù)器發(fā)送的流量調(diào)用指示信息;
所述裝置還包括:
發(fā)送模塊54,用于將產(chǎn)生的業(yè)務(wù)數(shù)據(jù)發(fā)送給測試環(huán)境服務(wù)器,用于所述測試環(huán)境服務(wù)器基于所述業(yè)務(wù)數(shù)據(jù)對獲取的所述更新后的模型進(jìn)行測試。
可選地,所述獲取模塊52具體用于:
根據(jù)最近一次進(jìn)行模型更新的時(shí)間,從共享數(shù)據(jù)庫中獲取更新時(shí)間在所述最近一次進(jìn)行模型更新的時(shí)間之后的、執(zhí)行狀態(tài)為正式運(yùn)行狀態(tài)的所述更新后的模型。
可選地,所述獲取模塊52還用于:
在所述更新后的模型出現(xiàn)問題時(shí),從所述共享數(shù)據(jù)庫中獲取所述更新后的模型對應(yīng)的更新前的模型,并將正在使用的所述更新后的模型替換為所述更新前的模型。
實(shí)施例五
如圖6所示,為本申請實(shí)施例五提供的模型更新裝置結(jié)構(gòu)示意圖,該裝置可以部署在所述測試環(huán)境服務(wù)器中,也可以為所述測試環(huán)境服務(wù)器所控制的獨(dú)立裝置,包括:
獲取模塊61,用于在接收到后臺(tái)管理服務(wù)器發(fā)送的測試指示信息后,從共享數(shù)據(jù)庫中獲取待測試的更新后的模型;
測試模塊62,用于對所述更新后的模型進(jìn)行測試,并將測試結(jié)果指示給所述后臺(tái)管理服務(wù)器,以使所述后臺(tái)管理服務(wù)器在所述測試環(huán)境服務(wù)器對所述更新后的模型測試成功后,向所述生產(chǎn)環(huán)境服務(wù)器發(fā)送模型更新指示信息,用于指示所述生產(chǎn)環(huán)境服務(wù)器將所述更新后的模型對應(yīng)的當(dāng)前正在使用的更新前的模型替換為所述更新后的模型。
可選地,所述測試模塊62具體用于:
基于所述生產(chǎn)環(huán)境服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)對所述更新后的模型進(jìn)行測試。
可選地,所述獲取模塊61具體用于:
從所述共享數(shù)據(jù)庫中獲取執(zhí)行狀態(tài)為測試執(zhí)行中狀態(tài)的所述更新后的模型。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié) 合軟件和硬件方面的實(shí)施例的形式。而且,本申請可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實(shí)施例的方法、裝置(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本申請的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對本申請進(jìn)行各種改動(dòng)和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動(dòng)和變型在內(nèi)。