一种应用版本动态切换方法及装置与流程

文档序号:12362885阅读:157来源:国知局
一种应用版本动态切换方法及装置与流程
本发明涉及电子设备的应用程序管理
技术领域
,特别涉及一种应用版本动态切换方法及装置。
背景技术
:银行系统中包含很多应用(应用程序,比如开户程序、取款程序、存款程序等等),各应用独自完成一部分处理任务,各应用之间通过数据接口交换数据,各应用之间是关联的,且关联比较复杂。在某一应用版本更新时,需要前后关联的应用同时更新才能满足数据接口匹配,否则数据接口不一致会导致错误发生。但是在现有技术中,在应用版本更新时,往往无法满足前后关联的应用同时更新版本,因此,需要银行停业(停机)一段时间来保证各应用都已更新到新版本;且需要等各应用都已更新到新版本之后才会重新进行交易。技术实现要素:本发明实施例提供了一种应用版本动态切换方法,通过新应用版本和旧应用版本之间的切换使用,可以实现不停机的实时应用版本更新,同时无需等到各应用都已更新到新版本之后才会重新进行交易。该方法包括:接收外围设备发送的交易请求,所述交易请求包括交易特征码;根据交易请求确定交易执行时间,所述交易执行时间为接收到外围设备发送的交易请求时的系统时间;根据交易特征码查找版本切换表中相应交易特征码对应的新旧应用版本切换时间和新应用版本启用时间;所述版本切换表包括交易特征码、与交易特征码相对应的新旧应用版本切换时间和新应用版本启用时间;将交易执行时间与新旧应用版本切换时间和新应用版本启用时间进行比较;当交易执行时间早于新旧应用版本切换时间时,切换使用旧应用版本运行代码库;当交易执行时间晚于新应用版本启用时间时,切换使用新应用版本运行代码库;当交易执行时间在新旧应用版本切换时间与新应用版本启用时间之间时,对交易不作处理。在一个实施例中,所述交易特征码包括交易码和银行号的组合、交易码或接口版本号。在一个实施例中,所述交易请求还包括交易数据;在切换使用旧应用版本运行代码库之后,还包括:从旧应用版本运行代码库中获取旧应用版本运行代码;根据旧应用版本运行代码对交易数据进行处理;或,在切换使用新应用版本运行代码库之后,还包括:从新应用版本运行代码库中获取新应用版本运行代码;根据新应用版本运行代码对交易数据进行处理。在一个实施例中,还包括:当根据交易特征码未在版本切换表中查找到相应的交易特征码时,切换使用新应用版本运行代码库。在一个实施例中,还包括:根据所述版本切换表中全部交易特征码对应的新旧应用版本切换时间,确定最早切换时间;根据交易请求中全部交易特征码确定全部交易执行时间;将全部交易执行时间与最早切换时间进行比较;当全部交易执行时间都早于最早切换时间时,切换使用旧应用版本运行代码库。在一个实施例中,还包括:当全部交易执行时间都早于最早切换时间,且全部交易都执行完成后,释放旧应用版本运行代码库。在一个实施例中,还包括:根据所述版本切换表中全部交易特征码对应的新应用版本启用时间,确定最晚启用时间;将全部交易执行时间与最晚启用时间进行比较;当全部交易执行时间都晚于最晚启用时间时,切换使用新应用版本运行代码库。在一个实施例中,还包括:当全部交易执行时间都晚于最晚启用时间时,释放旧应用版本运行代码库。在一个实施例中,还包括:对外围设备发送的交易请求进行解析,获得交易特征码和交易数据。本发明实施例提供了一种应用版本动态切换装置,通过新应用版本和旧应用版本之间的切换使用,可以实现不停机的实时应用版本更新,同时无需等到各应用都已更新到新版本之后才会重新进行交易。该装置包括:接收模块,用于接收外围设备发送的交易请求,所述交易请求包括交易特征码;时间确定模块,用于根据交易请求确定交易执行时间,所述交易执行时间为接收到外围设备发送的交易请求时的系统时间;查找模块,用于根据交易特征码查找版本切换表中相应交易特征码对应的新旧应用版本切换时间和新应用版本启用时间;所述版本切换表包括交易特征码、与交易特征码相对应的新旧应用版本切换时间和新应用版本启用时间;比较模块,用于将交易执行时间与新旧应用版本切换时间和新应用版本启用时间进行比较;交易处理模块,用于当交易执行时间早于新旧应用版本切换时间时,切换使用旧应用版本运行代码库;当交易执行时间晚于新应用版本启用时间时,切换使用新应用版本运行代码库;当交易执行时间在新旧应用版本切换时间与新应用版本启用时间之间时,对交易不作处理。在一个实施例中,所述交易特征码包括交易码和银行号的组合、交易码或接口版本号。在一个实施例中,所述交易请求还包括交易数据;所述交易处理模块还用于在切换使用旧应用版本运行代码库之后,从旧应用版本运行代码库中获取旧应用版本运行代码;根据旧应用版本运行代码对交易数据进行处理;或,在切换使用新应用版本运行代码库之后,从新应用版本运行代码库中获取新应用版本运行代码;根据新应用版本运行代码对交易数据进行处理。在一个实施例中,所述交易处理模块还用于:当根据交易特征码未在版本切换表中查找到相应的交易特征码时,切换使用新应用版本运行代码库。在一个实施例中,所述时间确定模块还用于:根据所述版本切换表中全部交易特征码对应的新旧应用版本切换时间,确定最早切换时间;根据交易请求中全部交易特征码确定全部交易执行时间;所述比较模块,还用于将全部交易执行时间与最早切换时间进行比较;所述交易处理模块,还用于当全部交易执行时间都早于最早切换时间时,切换使用旧应用版本运行代码库。在一个实施例中,还包括:释放模块,用于当全部交易执行时间都早于最早切换时间,且全部交易都执行完成后,释放旧应用版本运行代码库。在一个实施例中,所述时间确定模块还用于:根据所述版本切换表中全部交易特征码对应的新应用版本启用时间,确定最晚启用时间;所述比较模块,还用于将全部交易执行时间与最晚启用时间进行比较;所述交易处理模块,还用于当全部交易执行时间都晚于最晚启用时间时,切换使用新应用版本运行代码库。在一个实施例中,所述释放模块还用于:当全部交易执行时间都晚于最晚启用时间时,释放旧应用版本运行代码库。在一个实施例中,还包括:解析模块,用于对外围设备发送的交易请求进行解析,获得交易特征码和交易数据。在本发明实施例中,在应用更新时,新应用版本和旧应用版本同时存在,银行系统在接收外围设备发送的交易请求(交易特征码)时,会根据交易特征码确定交易执行时间,和查找版本切换表中相应交易特征码对应的新旧应用版本切换时间和新应用版本启用时间,当交易执行时间早于新旧应用版本切换时间时(应用更新前),切换使用旧应用版本运行代码库;当交易执行时间晚于新应用版本启用时间(应用更新后),切换使用新应用版本运行代码库;当交易执行时间在新旧应用版本切换时间与新应用版本启用时间之间时,此时处在应用更新阶段,对交易不作处理。通过新应用版本和旧应用版本之间的切换使用,可以实现不停机的实时应用版本更新,同时无需等到各应用都已更新到新版本之后才会重新进行交易。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种应用版本动态切换方法流程图;图2是本发明实施例提供的一种更新前运行代码空间示意图;图3是本发明实施例提供的一种更新后运行代码空间示意图;图4是本发明实施例提供的一种再次更新后运行代码空间示意图;图5是本发明实施例提供的一种应用版本动态切换装置结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。现有的银行应用程序更新时,需要银行停业(停机)一段时间来保证各应用都已更新到新版本;且需要等各应用都已更新到新版本之后才会重新进行交易。本发明提出一种应用版本动态切换方法及装置,可以在版本更新时同时运行新旧两套版本并根据相关参数实时动态更新切换,无需银行停业(停机)。图1是本发明实施例提供的一种应用版本动态切换方法流程图,如图1所示,该方法包括:步骤101:接收外围设备发送的交易请求,所述交易请求包括交易特征码;步骤102:根据交易请求确定交易执行时间,其中,交易执行时间为接收到外围设备发送的交易请求时的系统时间;步骤103:根据交易特征码查找版本切换表中相应交易特征码对应的新旧应用版本切换时间和新应用版本启用时间;所述版本切换表包括交易特征码、与交易特征码相对应的新旧应用版本切换时间和新应用版本启用时间;步骤104:将交易执行时间与新旧应用版本切换时间和新应用版本启用时间进行比较;步骤105:当交易执行时间早于新旧应用版本切换时间时,切换使用旧应用版本运行代码库;步骤106:当交易执行时间晚于新应用版本启用时间时,切换使用新应用版本运行代码库;步骤107:当交易执行时间在新旧应用版本切换时间与新应用版本启用时间之间时,对交易不作处理。具体实施时,在应用版本更新之前,银行系统中只有一个应用版本(旧版本),可以加载应用版本(旧版本)代码到运行代码空间的运行代码库1,并指定新运行代码库入口到运行代码库1,此时在执行时所有交易都通过新运行代码库入口使用运行代码库1,如图2所示。当应用版本更新时,银行系统中存在两个应用版本(旧版本和新版本),把新应用版本代码加载到运行代码空间的运行代码库2,并修改旧运行代码库入口为运行代码库1,新运行代码库入口为运行代码库2,如图3所示。具体实施时,当应用版本更新时,需要定义版本切换表。版本切换表是根据交易特征码进行定义的,其中交易特征码可以是交易码和银行号的组合、交易码或接口版本号,还可以是其他数据字段。比如,当需要更新的只是某一地区或者某一国家的银行中的前后关联的应用时,此时交易特征码只包括交易码,在版本切换表中只需要定义交易码、新旧应用版本切换时间和新应用版本启用时间即可。其中,新旧应用版本切换时间和新应用版本启用时间是根据交易码设定的,即交易码与新旧应用版本切换时间和新应用版本启用时间之间有一个对应关系。此时,外围设备发送交易请求时,交易请求中的交易特征码只需要包括交易码和交易数据即可。根据交易码查找版本切换表,查找到与交易码相对应的新旧应用版本切换时间和新应用版本启用时间。比如,对于全球一体化的系统,如果关联应用处在不同时区,则版本切换时间会不同,此时交易特征码是交易码和银行号的组合,因此还需要在版本切换表中定义银行号,根据交易码+银行号,设定新旧应用版本切换时间和新应用版本启用时间。此时,外围设备在发送交易请求时,交易请求中的交易特征码还需要包括银行号,根据交易码+银行号查找版本切换表,查找到与交易码+银行号相对应的新旧应用版本切换时间和新应用版本启用时间。另外,还可以设置交易特征码是接口版本号等其他数据字段,在版本切换表中定义接口版本号等其他数据字段,以及与接口版本号等其他数据字段相对应的新旧应用版本切换时间和新应用版本启用时间。此时,外围设备发送的交易请求中的交易特征码为接口版本号等其他数据字段,根据接口版本号等其他数据字段查找版本切换表,查找到与接口版本号等其他数据字段相对应的新旧应用版本切换时间和新应用版本启用时间。具体的版本切换表的定义形式如表1所示:表1交易码银行号新旧应用版本切换时间新应用版本启用时间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指国内核心银行系统,00002指美洲核心银行系统。具体实施时,当交易发起时,外围设备发送交易请求,其中,交易请求包括交易特征码(步骤101),还可以包括交易数据;然后核心银行系统对外围设备发送的交易请求进行解析,获得交易特征码和交易数据;再然后根据根据交易请求确定交易执行时间(步骤102),其中,交易执行时间为接收到外围设备发送的交易请求时的系统时间(当前时间),一个交易请求对应一个交易执行时间,也可以说一个交易特征码对应一个交易执行时间;再根据交易特征码查找版本切换表中相应交易特征码对应的新旧应用版本切换时间和新应用版本启用时间(步骤103),再然后将交易执行时间与新旧应用版本切换时间和新应用版本启用时间进行比较(步骤104),确定交易执行时间与新旧应用版本切换时间和新应用版本启用时间之间的早晚关系:当交易执行时间早于新旧应用版本切换时间时(即交易发起时前后关联的应用版本还未更新),切换使用旧应用版本运行代码库(步骤105);当交易执行时间晚于新应用版本启用时间时(即交易发起时前后关联的应用版本已更新完毕),切换使用新应用版本运行代码库(步骤106);当交易执行时间在新旧应用版本切换时间与新应用版本启用时间之间时(即交易发起时前后关联的应用版本正处在更新阶段),则交易处于静默期,对交易不作处理(步骤107)。在确定了使用旧应用版本运行代码库或者新应用版本运行代码库后,通过对应的运行代码库入口从旧应用版本运行代码库中获取旧应用版本运行代码,或者从新应用版本运行代码库中获取新应用版本运行代码,根据旧应用版本运行代码或新应用版本运行代码对交易数据进行处理。具体实施时,当交易发起时,如果交易版本切换表中无数据,所有交易使用新版本运行代码库。无数据指的是交易版本切换表中没有记录,即所有交易都未定义版本切换表,此种方式主要是用于小版本更新,对前后关联应用无影响的情况,可以实现版本更新后立即使用新版本。具体实施时,当在所有前后关联的应用更新的过程中,如果当前交易获取的交易特征码在版本切换表中无记录,交易使用新版本运行代码库;“无记录”指版本切换表中未定义当前交易特征码的记录,即代表着本次版本更新对当前交易无影响。也可以说,当根据交易特征码未在版本切换表中查找到相应的交易特征码时,切换使用新应用版本运行代码库。具体实施时,当交易发起时,还可以确定版本切换表中全部交易特征码对应的新旧应用版本切换时间中的最早切换时间(最早一个前后关联的应用更新开始的时间),和全部交易特征码对应的新应用版本启用时间中的最晚启用时间(最后一个前后关联的应用更新完毕的时间),然后根据外围设备发送的交易请求中全部交易特征码确定全部交易执行时间,将全部交易执行时间与最早切换时间、最晚启用时间进行比较,当全部交易执行时间都早于最早切换时间时,切换使用旧应用版本运行代码库;当全部交易执行时间都晚于最晚启用时间时,切换使用新应用版本运行代码库。由于版本切换表中的记录比较多,而且主要仅在更新过程中的一段时间需要针对交易进行新旧应用版本切换,为降低检索版本切换表的成本,通过获取所有记录的最早切换时间和最晚启用时间,如果交易发起的时间早于最早切换时间或者晚于最晚启用时间不需要检索版本切换表,直接使用旧应用版本运行代码库或新应用版本运行代码库即可。具体实施时,当应用版本再次更新时,把再次更新后的新应用版本代码加载到运行代码空间的运行代码库3,并修改旧运行代码库入口为原先的新运行代码库即运行代码库2,新运行代码库入口为运行代码库3。为保证实时完成版本更新,版本更新时并不立刻释放原旧运行代码库(即运行代码库1),只是加载了新运行代码库,并更新了运行代码库入口,版本更新后就不会有交易会使用到原旧代码运行库了,如图4所示。如图4所示,原旧运行代码库(即运行代码库1)会被释放,但是何时释放是有限制条件的。该限制条件是:当发起的全部交易的交易执行时间都早于最早切换时间,且全部交易都执行完成后,或者,当全部交易执行时间都晚于最晚启用时间时,才会释放旧应用版本运行代码库。当发起的全部交易的交易执行时间都早于最早切换时间,此时在版本更新开始后可能还有交易未完成,因此不能在版本开始后就释放旧应用版本运行代码库,需要等到版本更新前的所有交易都执行完毕后才能释放运行代码空间中的原旧运行代码库。举例说明本发明方法。根据表1所示的版本切换表记录依据,版本更新后最早切换时间为2017年4月5日23点整,最晚启用时间为2017年4月6日12点整。(1)当交易发起时获取的交易执行时间早于2017年4月5日23点,使用旧版本;(2)当交易发起时获取的交易执行时间晚于2017年4月6日12点,使用新版本;(3)在2017年4月5日23点和2017年4月6日12点之间执行的交易需要检索交易版本切换表:如果是00001银行号的A001交易,早于2017年4月5日23点执行的使用旧版本,晚于2017年4月6日02点执行的使用新版本,在这两个时间之间的为关联银行应用版本更新时的交易静默期,交易被拒绝。如果是00002银行号的A001交易,早于2017年4月6日10点执行的使用旧版本,晚于2017年4月6日12点执行的使用新版本,在这两个时间之间的为关联银行系统版本更新时的交易静默期,交易被拒绝。如果是A002交易,不区分银行号,早于2017年4月5日24点执行的使用旧版本,晚于2017年4月6日01点执行的使用新版本,在这两个时间之间的为关联银行系统版本更新时的交易静默期,交易被拒绝。(4)其他所有交易未在版本切换表中定义,全部使用新版本。基于同一发明构思,本发明实施例中还提供了一种应用版本动态切换装置,如下面的实施例所述。由于应用版本动态切换装置解决问题的原理与应用版本动态切换方法相似,因此应用版本动态切换装置的实施可以参见应用版本动态切换方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图5是本发明实施例提供的一种应用版本动态切换装置结构示意图,如图5所示,该装置包括:接收模块501,用于接收外围设备发送的交易请求,交易请求包括交易特征码;时间确定模块502,用于根据交易请求确定交易执行时间,所述交易执行时间为接收到外围设备发送的交易请求时的系统时间;查找模块503,用于根据交易特征码查找版本切换表中相应交易特征码对应的新旧应用版本切换时间和新应用版本启用时间;所述版本切换表包括交易特征码、与交易特征码相对应的新旧应用版本切换时间和新应用版本启用时间;比较模块504,用于将交易执行时间与新旧应用版本切换时间和新应用版本启用时间进行比较;交易处理模块505,用于当交易执行时间早于新旧应用版本切换时间时,切换使用旧应用版本运行代码库;当交易执行时间晚于新应用版本启用时间时,切换使用新应用版本运行代码库;当交易执行时间在新旧应用版本切换时间与新应用版本启用时间之间时,对交易不作处理。下面对该结构进行说明。具体实施时,交易特征码包括交易码和银行号的组合、交易码或接口版本号。具体实施时,交易请求还包括交易数据;交易处理模块505还用于在切换使用旧应用版本运行代码库之后,从旧应用版本运行代码库中获取旧应用版本运行代码;根据旧应用版本运行代码对交易数据进行处理;或,在切换使用新应用版本运行代码库之后,从新应用版本运行代码库中获取新应用版本运行代码;根据新应用版本运行代码对交易数据进行处理。具体实施时,交易处理模块505还用于:当根据交易特征码未在版本切换表中查找到相应的交易特征码时,切换使用新应用版本运行代码库。具体实施时,时间确定模块502还用于:根据版本切换表中全部交易特征码对应的新旧应用版本切换时间,确定最早切换时间;根据交易请求中全部交易特征码确定全部交易执行时间;比较模块504,还用于将全部交易执行时间与最早切换时间进行比较;交易处理模块505,还用于当全部交易执行时间都早于最早切换时间时,切换使用旧应用版本运行代码库。具体实施时,该装置还包括:释放模块506,用于当全部交易执行时间都早于最早切换时间,且全部交易都执行完成后,释放旧应用版本运行代码库。具体实施时,时间确定模块502还用于:根据版本切换表中全部交易特征码对应的新应用版本启用时间,确定最晚启用时间;比较模块504,还用于将全部交易执行时间与最晚启用时间进行比较;交易处理模块505,还用于当全部交易执行时间都晚于最晚启用时间时,切换使用新应用版本运行代码库。具体实施时,释放模块506还用于:当全部交易执行时间都晚于最晚启用时间时,释放旧应用版本运行代码库。具体实施时,该装置还包括:解析模块507,用于对外围设备发送的交易请求进行解析,获得交易特征码和交易数据。综上所述,采用本发明方法及装置可以实现银行不停机更新应用版本;支持在一个系统中同时运行新旧两套应用版本,并根据交易特征码、交易执行时间和版本切换表选择交易所要使用的运行版本,无需等到各应用都已更新到新版本之后才会重新进行交易。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1