本發(fā)明涉及電子設(shè)備的應(yīng)用程序管理
技術(shù)領(lǐng)域:
,特別涉及一種應(yīng)用版本動態(tài)切換方法及裝置。
背景技術(shù):
:銀行系統(tǒng)中包含很多應(yīng)用(應(yīng)用程序,比如開戶程序、取款程序、存款程序等等),各應(yīng)用獨自完成一部分處理任務(wù),各應(yīng)用之間通過數(shù)據(jù)接口交換數(shù)據(jù),各應(yīng)用之間是關(guān)聯(lián)的,且關(guān)聯(lián)比較復(fù)雜。在某一應(yīng)用版本更新時,需要前后關(guān)聯(lián)的應(yīng)用同時更新才能滿足數(shù)據(jù)接口匹配,否則數(shù)據(jù)接口不一致會導(dǎo)致錯誤發(fā)生。但是在現(xiàn)有技術(shù)中,在應(yīng)用版本更新時,往往無法滿足前后關(guān)聯(lián)的應(yīng)用同時更新版本,因此,需要銀行停業(yè)(停機)一段時間來保證各應(yīng)用都已更新到新版本;且需要等各應(yīng)用都已更新到新版本之后才會重新進行交易。技術(shù)實現(xiàn)要素:本發(fā)明實施例提供了一種應(yīng)用版本動態(tài)切換方法,通過新應(yīng)用版本和舊應(yīng)用版本之間的切換使用,可以實現(xiàn)不停機的實時應(yīng)用版本更新,同時無需等到各應(yīng)用都已更新到新版本之后才會重新進行交易。該方法包括:接收外圍設(shè)備發(fā)送的交易請求,所述交易請求包括交易特征碼;根據(jù)交易請求確定交易執(zhí)行時間,所述交易執(zhí)行時間為接收到外圍設(shè)備發(fā)送的交易請求時的系統(tǒng)時間;根據(jù)交易特征碼查找版本切換表中相應(yīng)交易特征碼對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間;所述版本切換表包括交易特征碼、與交易特征碼相對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間;將交易執(zhí)行時間與新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間進行比較;當交易執(zhí)行時間早于新舊應(yīng)用版本切換時間時,切換使用舊應(yīng)用版本運行代碼庫;當交易執(zhí)行時間晚于新應(yīng)用版本啟用時間時,切換使用新應(yīng)用版本運行代碼庫;當交易執(zhí)行時間在新舊應(yīng)用版本切換時間與新應(yīng)用版本啟用時間之間時,對交易不作處理。在一個實施例中,所述交易特征碼包括交易碼和銀行號的組合、交易碼或接口版本號。在一個實施例中,所述交易請求還包括交易數(shù)據(jù);在切換使用舊應(yīng)用版本運行代碼庫之后,還包括:從舊應(yīng)用版本運行代碼庫中獲取舊應(yīng)用版本運行代碼;根據(jù)舊應(yīng)用版本運行代碼對交易數(shù)據(jù)進行處理;或,在切換使用新應(yīng)用版本運行代碼庫之后,還包括:從新應(yīng)用版本運行代碼庫中獲取新應(yīng)用版本運行代碼;根據(jù)新應(yīng)用版本運行代碼對交易數(shù)據(jù)進行處理。在一個實施例中,還包括:當根據(jù)交易特征碼未在版本切換表中查找到相應(yīng)的交易特征碼時,切換使用新應(yīng)用版本運行代碼庫。在一個實施例中,還包括:根據(jù)所述版本切換表中全部交易特征碼對應(yīng)的新舊應(yīng)用版本切換時間,確定最早切換時間;根據(jù)交易請求中全部交易特征碼確定全部交易執(zhí)行時間;將全部交易執(zhí)行時間與最早切換時間進行比較;當全部交易執(zhí)行時間都早于最早切換時間時,切換使用舊應(yīng)用版本運行代碼庫。在一個實施例中,還包括:當全部交易執(zhí)行時間都早于最早切換時間,且全部交易都執(zhí)行完成后,釋放舊應(yīng)用版本運行代碼庫。在一個實施例中,還包括:根據(jù)所述版本切換表中全部交易特征碼對應(yīng)的新應(yīng)用版本啟用時間,確定最晚啟用時間;將全部交易執(zhí)行時間與最晚啟用時間進行比較;當全部交易執(zhí)行時間都晚于最晚啟用時間時,切換使用新應(yīng)用版本運行代碼庫。在一個實施例中,還包括:當全部交易執(zhí)行時間都晚于最晚啟用時間時,釋放舊應(yīng)用版本運行代碼庫。在一個實施例中,還包括:對外圍設(shè)備發(fā)送的交易請求進行解析,獲得交易特征碼和交易數(shù)據(jù)。本發(fā)明實施例提供了一種應(yīng)用版本動態(tài)切換裝置,通過新應(yīng)用版本和舊應(yīng)用版本之間的切換使用,可以實現(xiàn)不停機的實時應(yīng)用版本更新,同時無需等到各應(yīng)用都已更新到新版本之后才會重新進行交易。該裝置包括:接收模塊,用于接收外圍設(shè)備發(fā)送的交易請求,所述交易請求包括交易特征碼;時間確定模塊,用于根據(jù)交易請求確定交易執(zhí)行時間,所述交易執(zhí)行時間為接收到外圍設(shè)備發(fā)送的交易請求時的系統(tǒng)時間;查找模塊,用于根據(jù)交易特征碼查找版本切換表中相應(yīng)交易特征碼對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間;所述版本切換表包括交易特征碼、與交易特征碼相對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間;比較模塊,用于將交易執(zhí)行時間與新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間進行比較;交易處理模塊,用于當交易執(zhí)行時間早于新舊應(yīng)用版本切換時間時,切換使用舊應(yīng)用版本運行代碼庫;當交易執(zhí)行時間晚于新應(yīng)用版本啟用時間時,切換使用新應(yīng)用版本運行代碼庫;當交易執(zhí)行時間在新舊應(yīng)用版本切換時間與新應(yīng)用版本啟用時間之間時,對交易不作處理。在一個實施例中,所述交易特征碼包括交易碼和銀行號的組合、交易碼或接口版本號。在一個實施例中,所述交易請求還包括交易數(shù)據(jù);所述交易處理模塊還用于在切換使用舊應(yīng)用版本運行代碼庫之后,從舊應(yīng)用版本運行代碼庫中獲取舊應(yīng)用版本運行代碼;根據(jù)舊應(yīng)用版本運行代碼對交易數(shù)據(jù)進行處理;或,在切換使用新應(yīng)用版本運行代碼庫之后,從新應(yīng)用版本運行代碼庫中獲取新應(yīng)用版本運行代碼;根據(jù)新應(yīng)用版本運行代碼對交易數(shù)據(jù)進行處理。在一個實施例中,所述交易處理模塊還用于:當根據(jù)交易特征碼未在版本切換表中查找到相應(yīng)的交易特征碼時,切換使用新應(yīng)用版本運行代碼庫。在一個實施例中,所述時間確定模塊還用于:根據(jù)所述版本切換表中全部交易特征碼對應(yīng)的新舊應(yīng)用版本切換時間,確定最早切換時間;根據(jù)交易請求中全部交易特征碼確定全部交易執(zhí)行時間;所述比較模塊,還用于將全部交易執(zhí)行時間與最早切換時間進行比較;所述交易處理模塊,還用于當全部交易執(zhí)行時間都早于最早切換時間時,切換使用舊應(yīng)用版本運行代碼庫。在一個實施例中,還包括:釋放模塊,用于當全部交易執(zhí)行時間都早于最早切換時間,且全部交易都執(zhí)行完成后,釋放舊應(yīng)用版本運行代碼庫。在一個實施例中,所述時間確定模塊還用于:根據(jù)所述版本切換表中全部交易特征碼對應(yīng)的新應(yīng)用版本啟用時間,確定最晚啟用時間;所述比較模塊,還用于將全部交易執(zhí)行時間與最晚啟用時間進行比較;所述交易處理模塊,還用于當全部交易執(zhí)行時間都晚于最晚啟用時間時,切換使用新應(yīng)用版本運行代碼庫。在一個實施例中,所述釋放模塊還用于:當全部交易執(zhí)行時間都晚于最晚啟用時間時,釋放舊應(yīng)用版本運行代碼庫。在一個實施例中,還包括:解析模塊,用于對外圍設(shè)備發(fā)送的交易請求進行解析,獲得交易特征碼和交易數(shù)據(jù)。在本發(fā)明實施例中,在應(yīng)用更新時,新應(yīng)用版本和舊應(yīng)用版本同時存在,銀行系統(tǒng)在接收外圍設(shè)備發(fā)送的交易請求(交易特征碼)時,會根據(jù)交易特征碼確定交易執(zhí)行時間,和查找版本切換表中相應(yīng)交易特征碼對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間,當交易執(zhí)行時間早于新舊應(yīng)用版本切換時間時(應(yīng)用更新前),切換使用舊應(yīng)用版本運行代碼庫;當交易執(zhí)行時間晚于新應(yīng)用版本啟用時間(應(yīng)用更新后),切換使用新應(yīng)用版本運行代碼庫;當交易執(zhí)行時間在新舊應(yīng)用版本切換時間與新應(yīng)用版本啟用時間之間時,此時處在應(yīng)用更新階段,對交易不作處理。通過新應(yīng)用版本和舊應(yīng)用版本之間的切換使用,可以實現(xiàn)不停機的實時應(yīng)用版本更新,同時無需等到各應(yīng)用都已更新到新版本之后才會重新進行交易。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例提供的一種應(yīng)用版本動態(tài)切換方法流程圖;圖2是本發(fā)明實施例提供的一種更新前運行代碼空間示意圖;圖3是本發(fā)明實施例提供的一種更新后運行代碼空間示意圖;圖4是本發(fā)明實施例提供的一種再次更新后運行代碼空間示意圖;圖5是本發(fā)明實施例提供的一種應(yīng)用版本動態(tài)切換裝置結(jié)構(gòu)示意圖。具體實施方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。現(xiàn)有的銀行應(yīng)用程序更新時,需要銀行停業(yè)(停機)一段時間來保證各應(yīng)用都已更新到新版本;且需要等各應(yīng)用都已更新到新版本之后才會重新進行交易。本發(fā)明提出一種應(yīng)用版本動態(tài)切換方法及裝置,可以在版本更新時同時運行新舊兩套版本并根據(jù)相關(guān)參數(shù)實時動態(tài)更新切換,無需銀行停業(yè)(停機)。圖1是本發(fā)明實施例提供的一種應(yīng)用版本動態(tài)切換方法流程圖,如圖1所示,該方法包括:步驟101:接收外圍設(shè)備發(fā)送的交易請求,所述交易請求包括交易特征碼;步驟102:根據(jù)交易請求確定交易執(zhí)行時間,其中,交易執(zhí)行時間為接收到外圍設(shè)備發(fā)送的交易請求時的系統(tǒng)時間;步驟103:根據(jù)交易特征碼查找版本切換表中相應(yīng)交易特征碼對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間;所述版本切換表包括交易特征碼、與交易特征碼相對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間;步驟104:將交易執(zhí)行時間與新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間進行比較;步驟105:當交易執(zhí)行時間早于新舊應(yīng)用版本切換時間時,切換使用舊應(yīng)用版本運行代碼庫;步驟106:當交易執(zhí)行時間晚于新應(yīng)用版本啟用時間時,切換使用新應(yīng)用版本運行代碼庫;步驟107:當交易執(zhí)行時間在新舊應(yīng)用版本切換時間與新應(yīng)用版本啟用時間之間時,對交易不作處理。具體實施時,在應(yīng)用版本更新之前,銀行系統(tǒng)中只有一個應(yīng)用版本(舊版本),可以加載應(yīng)用版本(舊版本)代碼到運行代碼空間的運行代碼庫1,并指定新運行代碼庫入口到運行代碼庫1,此時在執(zhí)行時所有交易都通過新運行代碼庫入口使用運行代碼庫1,如圖2所示。當應(yīng)用版本更新時,銀行系統(tǒng)中存在兩個應(yīng)用版本(舊版本和新版本),把新應(yīng)用版本代碼加載到運行代碼空間的運行代碼庫2,并修改舊運行代碼庫入口為運行代碼庫1,新運行代碼庫入口為運行代碼庫2,如圖3所示。具體實施時,當應(yīng)用版本更新時,需要定義版本切換表。版本切換表是根據(jù)交易特征碼進行定義的,其中交易特征碼可以是交易碼和銀行號的組合、交易碼或接口版本號,還可以是其他數(shù)據(jù)字段。比如,當需要更新的只是某一地區(qū)或者某一國家的銀行中的前后關(guān)聯(lián)的應(yīng)用時,此時交易特征碼只包括交易碼,在版本切換表中只需要定義交易碼、新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間即可。其中,新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間是根據(jù)交易碼設(shè)定的,即交易碼與新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間之間有一個對應(yīng)關(guān)系。此時,外圍設(shè)備發(fā)送交易請求時,交易請求中的交易特征碼只需要包括交易碼和交易數(shù)據(jù)即可。根據(jù)交易碼查找版本切換表,查找到與交易碼相對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間。比如,對于全球一體化的系統(tǒng),如果關(guān)聯(lián)應(yīng)用處在不同時區(qū),則版本切換時間會不同,此時交易特征碼是交易碼和銀行號的組合,因此還需要在版本切換表中定義銀行號,根據(jù)交易碼+銀行號,設(shè)定新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間。此時,外圍設(shè)備在發(fā)送交易請求時,交易請求中的交易特征碼還需要包括銀行號,根據(jù)交易碼+銀行號查找版本切換表,查找到與交易碼+銀行號相對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間。另外,還可以設(shè)置交易特征碼是接口版本號等其他數(shù)據(jù)字段,在版本切換表中定義接口版本號等其他數(shù)據(jù)字段,以及與接口版本號等其他數(shù)據(jù)字段相對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間。此時,外圍設(shè)備發(fā)送的交易請求中的交易特征碼為接口版本號等其他數(shù)據(jù)字段,根據(jù)接口版本號等其他數(shù)據(jù)字段查找版本切換表,查找到與接口版本號等其他數(shù)據(jù)字段相對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間。具體的版本切換表的定義形式如表1所示:表1交易碼銀行號新舊應(yīng)用版本切換時間新應(yīng)用版本啟用時間A001000012017年4月5日23點00分00秒2017年4月6日02點00分00秒A001000022017年4月6日10點00分00秒2017年4月6日12點00分00秒A0022017年4月5日24點00分00秒2017年4月6日01點00分00秒以上的版本切換表中,00001指國內(nèi)核心銀行系統(tǒng),00002指美洲核心銀行系統(tǒng)。具體實施時,當交易發(fā)起時,外圍設(shè)備發(fā)送交易請求,其中,交易請求包括交易特征碼(步驟101),還可以包括交易數(shù)據(jù);然后核心銀行系統(tǒng)對外圍設(shè)備發(fā)送的交易請求進行解析,獲得交易特征碼和交易數(shù)據(jù);再然后根據(jù)根據(jù)交易請求確定交易執(zhí)行時間(步驟102),其中,交易執(zhí)行時間為接收到外圍設(shè)備發(fā)送的交易請求時的系統(tǒng)時間(當前時間),一個交易請求對應(yīng)一個交易執(zhí)行時間,也可以說一個交易特征碼對應(yīng)一個交易執(zhí)行時間;再根據(jù)交易特征碼查找版本切換表中相應(yīng)交易特征碼對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間(步驟103),再然后將交易執(zhí)行時間與新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間進行比較(步驟104),確定交易執(zhí)行時間與新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間之間的早晚關(guān)系:當交易執(zhí)行時間早于新舊應(yīng)用版本切換時間時(即交易發(fā)起時前后關(guān)聯(lián)的應(yīng)用版本還未更新),切換使用舊應(yīng)用版本運行代碼庫(步驟105);當交易執(zhí)行時間晚于新應(yīng)用版本啟用時間時(即交易發(fā)起時前后關(guān)聯(lián)的應(yīng)用版本已更新完畢),切換使用新應(yīng)用版本運行代碼庫(步驟106);當交易執(zhí)行時間在新舊應(yīng)用版本切換時間與新應(yīng)用版本啟用時間之間時(即交易發(fā)起時前后關(guān)聯(lián)的應(yīng)用版本正處在更新階段),則交易處于靜默期,對交易不作處理(步驟107)。在確定了使用舊應(yīng)用版本運行代碼庫或者新應(yīng)用版本運行代碼庫后,通過對應(yīng)的運行代碼庫入口從舊應(yīng)用版本運行代碼庫中獲取舊應(yīng)用版本運行代碼,或者從新應(yīng)用版本運行代碼庫中獲取新應(yīng)用版本運行代碼,根據(jù)舊應(yīng)用版本運行代碼或新應(yīng)用版本運行代碼對交易數(shù)據(jù)進行處理。具體實施時,當交易發(fā)起時,如果交易版本切換表中無數(shù)據(jù),所有交易使用新版本運行代碼庫。無數(shù)據(jù)指的是交易版本切換表中沒有記錄,即所有交易都未定義版本切換表,此種方式主要是用于小版本更新,對前后關(guān)聯(lián)應(yīng)用無影響的情況,可以實現(xiàn)版本更新后立即使用新版本。具體實施時,當在所有前后關(guān)聯(lián)的應(yīng)用更新的過程中,如果當前交易獲取的交易特征碼在版本切換表中無記錄,交易使用新版本運行代碼庫;“無記錄”指版本切換表中未定義當前交易特征碼的記錄,即代表著本次版本更新對當前交易無影響。也可以說,當根據(jù)交易特征碼未在版本切換表中查找到相應(yīng)的交易特征碼時,切換使用新應(yīng)用版本運行代碼庫。具體實施時,當交易發(fā)起時,還可以確定版本切換表中全部交易特征碼對應(yīng)的新舊應(yīng)用版本切換時間中的最早切換時間(最早一個前后關(guān)聯(lián)的應(yīng)用更新開始的時間),和全部交易特征碼對應(yīng)的新應(yīng)用版本啟用時間中的最晚啟用時間(最后一個前后關(guān)聯(lián)的應(yīng)用更新完畢的時間),然后根據(jù)外圍設(shè)備發(fā)送的交易請求中全部交易特征碼確定全部交易執(zhí)行時間,將全部交易執(zhí)行時間與最早切換時間、最晚啟用時間進行比較,當全部交易執(zhí)行時間都早于最早切換時間時,切換使用舊應(yīng)用版本運行代碼庫;當全部交易執(zhí)行時間都晚于最晚啟用時間時,切換使用新應(yīng)用版本運行代碼庫。由于版本切換表中的記錄比較多,而且主要僅在更新過程中的一段時間需要針對交易進行新舊應(yīng)用版本切換,為降低檢索版本切換表的成本,通過獲取所有記錄的最早切換時間和最晚啟用時間,如果交易發(fā)起的時間早于最早切換時間或者晚于最晚啟用時間不需要檢索版本切換表,直接使用舊應(yīng)用版本運行代碼庫或新應(yīng)用版本運行代碼庫即可。具體實施時,當應(yīng)用版本再次更新時,把再次更新后的新應(yīng)用版本代碼加載到運行代碼空間的運行代碼庫3,并修改舊運行代碼庫入口為原先的新運行代碼庫即運行代碼庫2,新運行代碼庫入口為運行代碼庫3。為保證實時完成版本更新,版本更新時并不立刻釋放原舊運行代碼庫(即運行代碼庫1),只是加載了新運行代碼庫,并更新了運行代碼庫入口,版本更新后就不會有交易會使用到原舊代碼運行庫了,如圖4所示。如圖4所示,原舊運行代碼庫(即運行代碼庫1)會被釋放,但是何時釋放是有限制條件的。該限制條件是:當發(fā)起的全部交易的交易執(zhí)行時間都早于最早切換時間,且全部交易都執(zhí)行完成后,或者,當全部交易執(zhí)行時間都晚于最晚啟用時間時,才會釋放舊應(yīng)用版本運行代碼庫。當發(fā)起的全部交易的交易執(zhí)行時間都早于最早切換時間,此時在版本更新開始后可能還有交易未完成,因此不能在版本開始后就釋放舊應(yīng)用版本運行代碼庫,需要等到版本更新前的所有交易都執(zhí)行完畢后才能釋放運行代碼空間中的原舊運行代碼庫。舉例說明本發(fā)明方法。根據(jù)表1所示的版本切換表記錄依據(jù),版本更新后最早切換時間為2017年4月5日23點整,最晚啟用時間為2017年4月6日12點整。(1)當交易發(fā)起時獲取的交易執(zhí)行時間早于2017年4月5日23點,使用舊版本;(2)當交易發(fā)起時獲取的交易執(zhí)行時間晚于2017年4月6日12點,使用新版本;(3)在2017年4月5日23點和2017年4月6日12點之間執(zhí)行的交易需要檢索交易版本切換表:如果是00001銀行號的A001交易,早于2017年4月5日23點執(zhí)行的使用舊版本,晚于2017年4月6日02點執(zhí)行的使用新版本,在這兩個時間之間的為關(guān)聯(lián)銀行應(yīng)用版本更新時的交易靜默期,交易被拒絕。如果是00002銀行號的A001交易,早于2017年4月6日10點執(zhí)行的使用舊版本,晚于2017年4月6日12點執(zhí)行的使用新版本,在這兩個時間之間的為關(guān)聯(lián)銀行系統(tǒng)版本更新時的交易靜默期,交易被拒絕。如果是A002交易,不區(qū)分銀行號,早于2017年4月5日24點執(zhí)行的使用舊版本,晚于2017年4月6日01點執(zhí)行的使用新版本,在這兩個時間之間的為關(guān)聯(lián)銀行系統(tǒng)版本更新時的交易靜默期,交易被拒絕。(4)其他所有交易未在版本切換表中定義,全部使用新版本。基于同一發(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種應(yīng)用版本動態(tài)切換裝置,如下面的實施例所述。由于應(yīng)用版本動態(tài)切換裝置解決問題的原理與應(yīng)用版本動態(tài)切換方法相似,因此應(yīng)用版本動態(tài)切換裝置的實施可以參見應(yīng)用版本動態(tài)切換方法的實施,重復(fù)之處不再贅述。以下所使用的,術(shù)語“單元”或者“模塊”可以實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。圖5是本發(fā)明實施例提供的一種應(yīng)用版本動態(tài)切換裝置結(jié)構(gòu)示意圖,如圖5所示,該裝置包括:接收模塊501,用于接收外圍設(shè)備發(fā)送的交易請求,交易請求包括交易特征碼;時間確定模塊502,用于根據(jù)交易請求確定交易執(zhí)行時間,所述交易執(zhí)行時間為接收到外圍設(shè)備發(fā)送的交易請求時的系統(tǒng)時間;查找模塊503,用于根據(jù)交易特征碼查找版本切換表中相應(yīng)交易特征碼對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間;所述版本切換表包括交易特征碼、與交易特征碼相對應(yīng)的新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間;比較模塊504,用于將交易執(zhí)行時間與新舊應(yīng)用版本切換時間和新應(yīng)用版本啟用時間進行比較;交易處理模塊505,用于當交易執(zhí)行時間早于新舊應(yīng)用版本切換時間時,切換使用舊應(yīng)用版本運行代碼庫;當交易執(zhí)行時間晚于新應(yīng)用版本啟用時間時,切換使用新應(yīng)用版本運行代碼庫;當交易執(zhí)行時間在新舊應(yīng)用版本切換時間與新應(yīng)用版本啟用時間之間時,對交易不作處理。下面對該結(jié)構(gòu)進行說明。具體實施時,交易特征碼包括交易碼和銀行號的組合、交易碼或接口版本號。具體實施時,交易請求還包括交易數(shù)據(jù);交易處理模塊505還用于在切換使用舊應(yīng)用版本運行代碼庫之后,從舊應(yīng)用版本運行代碼庫中獲取舊應(yīng)用版本運行代碼;根據(jù)舊應(yīng)用版本運行代碼對交易數(shù)據(jù)進行處理;或,在切換使用新應(yīng)用版本運行代碼庫之后,從新應(yīng)用版本運行代碼庫中獲取新應(yīng)用版本運行代碼;根據(jù)新應(yīng)用版本運行代碼對交易數(shù)據(jù)進行處理。具體實施時,交易處理模塊505還用于:當根據(jù)交易特征碼未在版本切換表中查找到相應(yīng)的交易特征碼時,切換使用新應(yīng)用版本運行代碼庫。具體實施時,時間確定模塊502還用于:根據(jù)版本切換表中全部交易特征碼對應(yīng)的新舊應(yīng)用版本切換時間,確定最早切換時間;根據(jù)交易請求中全部交易特征碼確定全部交易執(zhí)行時間;比較模塊504,還用于將全部交易執(zhí)行時間與最早切換時間進行比較;交易處理模塊505,還用于當全部交易執(zhí)行時間都早于最早切換時間時,切換使用舊應(yīng)用版本運行代碼庫。具體實施時,該裝置還包括:釋放模塊506,用于當全部交易執(zhí)行時間都早于最早切換時間,且全部交易都執(zhí)行完成后,釋放舊應(yīng)用版本運行代碼庫。具體實施時,時間確定模塊502還用于:根據(jù)版本切換表中全部交易特征碼對應(yīng)的新應(yīng)用版本啟用時間,確定最晚啟用時間;比較模塊504,還用于將全部交易執(zhí)行時間與最晚啟用時間進行比較;交易處理模塊505,還用于當全部交易執(zhí)行時間都晚于最晚啟用時間時,切換使用新應(yīng)用版本運行代碼庫。具體實施時,釋放模塊506還用于:當全部交易執(zhí)行時間都晚于最晚啟用時間時,釋放舊應(yīng)用版本運行代碼庫。具體實施時,該裝置還包括:解析模塊507,用于對外圍設(shè)備發(fā)送的交易請求進行解析,獲得交易特征碼和交易數(shù)據(jù)。綜上所述,采用本發(fā)明方法及裝置可以實現(xiàn)銀行不停機更新應(yīng)用版本;支持在一個系統(tǒng)中同時運行新舊兩套應(yīng)用版本,并根據(jù)交易特征碼、交易執(zhí)行時間和版本切換表選擇交易所要使用的運行版本,無需等到各應(yīng)用都已更新到新版本之后才會重新進行交易。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明實施例可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。當前第1頁1 2 3