自助终端软件远程升级方法和系统,及升级包制作方法

文档序号:6637277阅读:662来源:国知局
自助终端软件远程升级方法和系统,及升级包制作方法
【专利摘要】本发明实施例公开了自助终端软件远程升级方法和系统,及升级包制作方法,用于解决现有技术无法从内容上真正保证软件新版本安装包的正确性以及无法确认新版本软件是否满足该自助终端机型、在运行版本的要求的技术问题。本发明实施例方法包括:S3:判断所述机型是否符合所述升级要求中关于机型的规定,若否,则停止升级;S5:判断所述在运行版本号是否符合所述升级要求中关于版本号的规定,以及查询所述升级正确性验证文件中是否存在所述特征值,若是,则使用所述新版本软件包对所述自助终端进行软件升级。
【专利说明】自助终端软件远程升级方法和系统,及升级包制作方法

【技术领域】
[0001]本发明涉及自助终端【技术领域】,尤其涉及自助终端软件远程升级方法和系统,及升级包制作方法。

【背景技术】
[0002]自助终端软件远程升级技术,由升级服务器将升级包发送给各个要升级自助终端,或者各个自助终端根据自身的升级需要从升级服务器下载升级包,确保升级包完整性和得到升级授权后,将升级包自解压缩到要升级的软件的运行目录,更改原来软件的版本号重启该软件成功即可。
[0003]现有技术的自助终端软件升级,其升级成功的判断标志是利用升级包覆盖原软件的运行目录后是否能够顺利重启软件运行。由于目前技术并不判断利用升级包覆盖之后的软件运行目录中内容的正确性,只把软件版本文件中的版本号作为能否升级唯一比对的依据,而该版本号是人为设置的,并且可以随意更改的,所以并不能确保重启之后该软件运行逻辑是否正确。如果自助终端软件版本号或标注错误、或被误删除、或被误修改,或被非法修改,如果不对自助终端的软件升级后的新安装包进行正确性判断,由于远程升级操作人员,无法了解自助终端现场升级状况,将很有可能带来灾难性后果。远程升级操作人员每次进行升级操作,由于没有从技术上保证升级包与自助终端在运行软件复合而成的新版本软件的正确性,升级操作的技术风险大,银行客户也无法放心使用远程升级,这阻碍了自助终端远程升级技术的普遍应用。
[0004]因此,现有技术存在以下缺点:
[0005]现有技术在进行软件升级时,将升级包文件覆盖软件旧版本的安装包文件后,所得软件新版本安装包,现有技术只是根据其中的版本文件中的版本号进行比对,这无法从内容上真正保证软件新版本安装包的正确性,使得自助终端的软件升级存在极大安全风险。
[0006]现有技术中自助终端软件升级过程中,软件升级包和在运行的老版本软件备份叠加后构成的新版本软件,存在是否和软件升级开发测试得到的新版本完全一致,以及叠加后构成的新版本软件是否满足该自助终端机型的要求等问题。
[0007]因而,采取一种技术验证升级包覆盖旧版本软件所得到的新版本软件的正确性以及与自助终端运行环境的符合性,显得十分必要。


【发明内容】

[0008]本发明实施例提供了自助终端软件远程升级方法和系统,及升级包制作方法,能够解决现有技术无法从内容上真正保证软件新版本安装包的正确性以及无法确认新版本软件是否满足该自助终端机型、在运行版本的要求的技术问题。
[0009]本发明实施例提供的一种自助终端软件远程升级方法,包括:
[0010]S1:从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件;
[0011]S2:获取自助终端的机型;
[0012]S3:判断所述机型是否符合所述升级要求中关于机型的规定,若否,则停止升级;
[0013]S4:获取所述自助终端上所述升级包对应的软件的在运行版本号;
[0014]S5:判断所述在运行版本号是否符合所述升级要求中关于版本号的规定,若是,则执行步骤S6 ;
[0015]S6:将解压缩后的所述升级包与所述自助终端的在运行软件的旧版本内容,进行叠加合成为新版本软件包;
[0016]S7:计算所述新版本软件包的特征值;
[0017]S8:查询所述升级正确性验证文件中是否存在所述特征值,若是,则执行步骤S9 ;
[0018]S9:使用所述新版本软件包对所述自助终端进行软件升级。
[0019]可选地,步骤S8具体包括:
[0020]S81:查询所述升级正确性验证文件中是否存在所述特征值;
[0021]S82:判断所述特征值对应的软件的旧版本号与所述自助终端的在运行版本号是否一致;
[0022]S83:判断所述特征值对应的软件的新版本号与所述新版本软件包的版本号是否一致;
[0023]若步骤S81、S82和S83的结果均为是,则执行步骤S9。
[0024]可选地,在步骤S5之后步骤S6之前还包括:
[0025]判断所述在运行软件的旧版本内容是否存在备份内容,若是,则将解压缩后的所述升级包覆盖所述备份内容得到新版本软件包,若否,则执行步骤S6。
[0026]可选地,在将解压缩后的所述升级包覆盖所述备份内容得到新版本软件包之前,或在执行步骤S6之前还包括:
[0027]备份所述在运行软件的旧版本内容。
[0028]可选地,在步骤SI之后还包括:
[0029]对所述升级包、所述升级要求和所述升级正确性验证文件进行完整性校验,若所述完整性校验失败,则重新获取所述升级包、所述升级要求和所述升级正确性验证文件。
[0030]本发明实施例提供的一种自助终端软件远程升级系统,包括:
[0031]远程获取模块,用于从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件;
[0032]机型获取模块,用于获取自助终端的机型;
[0033]机型判断模块,用于判断所述机型是否符合所述升级要求中关于机型的规定,若否,则停止升级;
[0034]版本号获取模块,用于获取所述自助终端上所述升级包对应的软件的在运行版本号;
[0035]版本号判断模块,用于判断所述在运行版本号是否符合所述升级要求中关于版本号的规定;
[0036]合成新软件包模块,用于当所述版本号判断模块的判断结果为是时,将解压缩后的所述升级包与所述自助终端的在运行软件的旧版本内容,进行叠加合成为新版本软件包;
[0037]特征值计算模块,用于计算所述新版本软件包的特征值;
[0038]特征值查询模块,用于查询所述升级正确性验证文件中是否存在所述特征值;
[0039]软件升级模块,用于当所述特征值查询模块的结果为是时,使用所述新版本软件包对所述自助终端进行软件升级。
[0040]可选地,所述特征值查询模块具体包括:
[0041]第一判断模块,用于查询所述升级正确性验证文件中是否存在所述特征值;
[0042]第二判断模块,用于判断所述特征值对应的软件的旧版本号与所述自助终端的在运行版本号是否一致;
[0043]第三判断模块,用于判断所述特征值对应的软件的新版本号与所述新版本软件包的版本号是否一致;
[0044]确定模块,用于若所述第一判断模块、第二判断模块和第三判断模块的结果均为是,则确定所述特征值查询模块的结果为是。
[0045]可选地,所述系统还包括:
[0046]完整性校验模块,用于对所述远程获取模块获取到的所述升级包、所述升级要求和所述升级正确性验证文件进行完整性校验;
[0047]重新获取模块,用于若所述完整性校验模块的校验失败,则重新获取所述升级包、所述升级要求和所述升级正确性验证文件。
[0048]本发明实施例提供的一种升级包制作方法,包括:
[0049]制作新版本安装包;
[0050]通过比对所述新版本安装包与旧版本安装包,计算获得基于所述旧版本安装包的对应升级文件;
[0051]压缩所述升级文件,得到升级包;
[0052]计算所述升级包的特征值;
[0053]根据所述特征值生成所述升级包对应的升级正确性验证文件。
[0054]可选地,所述方法还包括:
[0055]制作所述升级包对应的升级要求,所述升级要求包含所述升级包适用的自助终端的机型和对应的待升级软件的版本号。
[0056]从以上技术方案可以看出,本发明实施例具有以下优点:
[0057]本发明实施例中,一种自助终端软件远程升级方法包括以下执行步骤:S1:从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件;S2:获取自助终端的机型;S3:判断所述机型是否符合所述升级要求中关于机型的规定,若否,则停止升级;S4:获取所述自助终端上所述升级包对应的软件的在运行版本号;S5:判断所述在运行版本号是否符合所述升级要求中关于版本号的规定,若是,则执行步骤S6 ;S6:将解压缩后的所述升级包与所述自助终端的在运行软件的旧版本内容,进行叠加合成为新版本软件包;S7:计算所述新版本软件包的特征值;S8:查询所述升级正确性验证文件中是否存在所述特征值,若是,则执行步骤S9 ;S9:使用所述新版本软件包对所述自助终端进行软件升级。在本发明实施例中,在进行软件升级前,通过升级包对应的升级要求和升级正确性验证文件对自助终端的机型和要升级的软件的版本号,以及新版本软件包进行对比验证,从而确保升级包覆盖旧版本软件所得到的新版本软件的正确性以及与自助终端运行环境的符合性,保证了自助终端的软件升级后运行的安全。

【专利附图】

【附图说明】
[0058]图1为本发明实施例中自助终端软件远程升级方法一个实施例流程图;
[0059]图2为本发明实施例中自助终端软件远程升级方法另一个实施例流程图;
[0060]图3为本发明实施例中自助终端软件远程升级系统一个实施例结构图;
[0061]图4为本发明实施例中自助终端软件远程升级系统另一个实施例结构图;
[0062]图5为本发明实施例中升级包制作方法一个实施例流程图;
[0063]图6为升级包制作的韦恩图。

【具体实施方式】
[0064]本发明实施例提供了自助终端软件远程升级方法和系统,及升级包制作方法,用于解决现有技术无法从内容上真正保证软件新版本安装包的正确性以及无法确认新版本软件是否满足该自助终端机型、在运行版本的要求的技术问题。
[0065]为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0066]请参阅图1,本发明实施例中一种自助终端软件远程升级方法一个实施例包括:
[0067]S1:从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件;
[0068]在进行软件升级之前,需要从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件。
[0069]S2:获取自助终端的机型;
[0070]可以获取自助终端的机型。需要说明的是,可以先获取该自助终端各部件的设备信息,然后根据各部件的设备信息,得到该自助终端的机型。
[0071]上述的自助终端各部件,可以是指自助终端的机芯、读卡器、加密键盘、出钞门、凭条打印机、流水打印机、后台终端、扫描仪、指纹采集设备等。
[0072]上述的设备信息,可以是通过调用硬件指令获取设备的序列号信息,或设备类别信息,或硬件版本信息等用于鉴别机型的硬件设备信息,如循环一体机机型,与其他机型的区别在于其机芯设备类型为循环一体机。如某最新款机型,要求其出钞机芯为某厂商出钞设备地VI代等,则需要调用硬件指令获取该出钞设备的硬件版本信息。
[0073]上述的机型,是指由各种部件的设备组合而成的自助终端的类型。如某自助设备厂商生产的H22N机型,其硬件配置要求为:工控机CPU某某级别以上,内存多少G以上、出钞机芯为某厂商生产的某代及以上的出钞机芯,读卡器为某厂商的某代及以上的产品。
[0074]S3:判断该机型是否符合该升级要求中关于机型的规定,若否,则停止升级;
[0075]在获取自助终端的机型之后,可以判断该机型是否符合该升级要求中关于机型的规定,若否,则停止升级。
[0076]S4:获取该自助终端上该升级包对应的软件的在运行版本号;
[0077]在获取到该升级包之后,可以获取该自助终端上该升级包对应的软件的在运行版本号。
[0078]S5:判断该在运行版本号是否符合该升级要求中关于版本号的规定,若是,则执行步骤S6 ;
[0079]在获取到该在运行版本号之后,可以判断该在运行版本号是否符合该升级要求中关于版本号的规定,若是,则执行步骤S6。
[0080]S6:将解压缩后的该升级包与该自助终端的在运行软件的旧版本内容,进行叠加合成为新版本软件包;
[0081]得知该在运行版本号符合该升级要求中关于版本号的规定之后,可以将解压缩后的该升级包与该自助终端的在运行软件的旧版本内容,进行叠加合成为新版本软件包。
[0082]S7:计算该新版本软件包的特征值;
[0083]然后,计算该新版本软件包的特征值。
[0084]S8:查询该升级正确性验证文件中是否存在该特征值,若是,则执行步骤S9 ;
[0085]在计算得出该新版本软件包的特征值之后,可以查询该升级正确性验证文件中是否存在该特征值,若是,则执行步骤S9
[0086]S9:使用该新版本软件包对该自助终端进行软件升级。
[0087]若该升级正确性验证文件中存在该特征值,则可以使用该新版本软件包对该自助终端进行软件升级。
[0088]在本实施例中,在进行软件升级前,通过升级包对应的升级要求和升级正确性验证文件对自助终端的机型和要升级的软件的版本号,以及新版本软件包进行对比验证,从而确保升级包覆盖旧版本软件所得到的新版本软件的正确性以及与自助终端运行环境的符合性,保证了自助终端的软件升级后运行的安全。
[0089]为便于理解,下面对本发明实施例中的自助终端软件远程升级方法进行详细描述,请参阅图2,本发明实施例中自助终端软件远程升级方法另一个实施例包括:
[0090]201、从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件;
[0091]在进行软件升级之前,需要从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件。
[0092]上述的升级要求,规定了何时何种自助终端的机型的哪个软件及其版本需要进行升级。
[0093]上述的升级正确性验证文件,其内容规定了该软件升级包适用于何时何种自助终端机型的哪个软件及版本号需要进行升级,以及升级后该软件可以达到哪些版本号,及该软件运行总目录要达到何种特征。其内容至少包含有一个或多个应用软件的新版本正确性验证特征值,对应各个特征值的一个或多个自助终端机型。
[0094]需要说明的是,该升级要求可以是独立文件的形式,也可以包含在该升级正确性验证文件中。
[0095]上述的版本正确性验证特征值,用于表征该软件的运行目录或安装目录的特征,如果某目录中的任何文件或者任何下一级目录的内容发生变化,则该目录的特征值也会产生变化。一个目录的特征值是把该目录下所有文件及其文件夹的特征值通过计算得到一个标识该目录内容的特征值,如以下是一种计算特征值的方法:通过对文件的内容进行md5计算得到该文件的md5值,通过对某文件夹下的所有文件或文件夹的md5值,按照名称排序后连接而成的md5值字符串,进行md5值运算,得到该文件夹的md5,而软件新版本的特征值实质就是一个文件夹的特征值。
[0096]上述的某目录正确性验证特征值,可以是该目录中部分或者全部文件或文件夹的特征值,如MD5值,进行运算(如各个文件的MD5值进行异或运算,或者所有MD5值相连接得到另一 MD5值)后得到的结果。
[0097]另外,上述的升级正确性验证文件,其内容还可以包含有一个或多个软件的旧版本号,升级要达到的一个或多个新版本号,以及自助终端软硬件环境的其他参数。
[0098]202、对该升级包、该升级要求和该升级正确性验证文件进行完整性校验,若该完整性校验失败,则执行步骤203 ;
[0099]在从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件之后,可以对该升级包、该升级要求和该升级正确性验证文件进行完整性校验,若该完整性校验失败,则执行步骤203,若该完整性校验成功,则继续升级流程。
[0100]上述的完整性验证,用于确保软件升级包及其升级正确性验证文件在网络传输和升级分发过程中,内容不发生变化或窜改,可采用MD5技术实现。
[0101]203、重新获取该升级包、该升级要求和该升级正确性验证文件;
[0102]若该升级包、该升级要求和该升级正确性验证文件进行完整性校验失败,则说明这些文件的内容不正确或不完整,需要重新获取该升级包、该升级要求和该升级正确性验证文件。在重新获取完成后,可以再次返回步骤202进行完整性验证。
[0103]204、获取自助终端的机型;
[0104]可以获取自助终端的机型。需要说明的是,可以先获取该自助终端各部件的设备信息,然后根据各部件的设备信息,得到该自助终端的机型。
[0105]上述的自助终端各部件,可以是指自助终端的机芯、读卡器、加密键盘、出钞门、凭条打印机、流水打印机、后台终端、扫描仪、指纹采集设备等。
[0106]上述的设备信息,可以是通过调用硬件指令获取设备的序列号信息,或设备类别信息,或硬件版本信息等用于鉴别机型的硬件设备信息,如循环一体机机型,与其他机型的区别在于其机芯设备类型为循环一体机。如某最新款机型,要求其出钞机芯为某厂商出钞设备地VI代等,则需要调用硬件指令获取该出钞设备的硬件版本信息。
[0107]上述的机型,是指由各种部件的设备组合而成的自助终端的类型。如某自助设备厂商生产的H22N机型,其硬件配置要求为:工控机CPU某某级别以上,内存多少G以上、出钞机芯为某厂商生产的某代及以上的出钞机芯,读卡器为某厂商的某代及以上的产品。
[0108]205、判断该机型是否符合该升级要求中关于机型的规定,若否,则停止升级;
[0109]在获取自助终端的机型之后,可以判断该机型是否符合该升级要求中关于机型的规定,若是,则继续升级流程,若否,则停止升级。
[0110]206、获取该自助终端上该升级包对应的软件的在运行版本号;
[0111]在获取到该升级包之后,可以获取该自助终端上该升级包对应的软件的在运行版本号。该在运行版本号指的就是该升级包对应的软件的当前版本号。
[0112]207、判断该在运行版本号是否符合该升级要求中关于版本号的规定,若是,则执行步骤208 ;
[0113]在获取到该在运行版本号之后,可以判断该在运行版本号是否符合该升级要求中关于版本号的规定,若是,则执行步骤208,若否,则停止升级。
[0114]208、判断该在运行软件的旧版本内容是否存在备份内容,若是,则执行步骤210,若否,则执行步骤211 ;
[0115]在得知该在运行版本号符合该升级要求中关于版本号的规定之后,可以判断该在运行软件的旧版本内容是否存在备份内容,若是,则执行步骤210,若否,则执行步骤211。
[0116]209、备份该在运行软件的旧版本内容;
[0117]在执行步骤210或211之前,可以备份该在运行软件的旧版本内容,以便升级失败后可以滚回恢复现场。
[0118]210、将解压缩后的该升级包覆盖该备份内容得到新版本软件包;
[0119]如果存在在运行软件的备份,可以将解压缩后的该升级包覆盖该备份内容得到新版本软件包。
[0120]211、将解压缩后的该升级包与该自助终端的在运行软件的丨日版本内容,进行叠加合成为新版本软件包;
[0121]得知该在运行版本号符合该升级要求中关于版本号的规定之后,可以将解压缩后的该升级包与该自助终端的在运行软件的旧版本内容,进行叠加合成为新版本软件包。
[0122]212、计算该新版本软件包的特征值;
[0123]然后,计算该新版本软件包的特征值。
[0124]上述的(新版本)软件包的特征值,可以是该软件包中部分或者全部文件或文件夹的特征值,如MD5值,进行运算(如各个文件的MD5值进行异或运算,或者所有MD5值相连接得到另一 MD5值)后得到的结果。
[0125]213、查询该升级正确性验证文件中是否存在该特征值,判断该特征值对应的软件的旧版本号与该自助终端的在运行版本号是否一致,以及判断该特征值对应的软件的新版本号与该新版本软件包的版本号是否一致;
[0126]在计算得出该新版本软件包的特征值之后,可以查询该升级正确性验证文件中是否存在该特征值,判断该特征值对应的软件的旧版本号与该自助终端的在运行版本号是否一致,以及判断该特征值对应的软件的新版本号与该新版本软件包的版本号是否一致,只有结果均为是,才认为该特征值是“正常”的,该新版本软件包符合要求,然后执行步骤214。只要存在一个结果为否,则认为该特征值是“不正常”的,该新版本软件版不符合要求,则停止升级。
[0127]上述的叠加后形成的软件的新版本号,是指通过升级包叠加生成的新版本软件包中的版本信息文件中的版本号。
[0128]214、使用该新版本软件包对该自助终端进行软件升级。
[0129]若步骤213的结果均为是,则可以使用该新版本软件包对该自助终端进行软件升级。
[0130]另外,本实施例中的升级正确性验证文件,其内容至少规定了该升级包可以用于哪些自助终端机型,可以升级这些自助终端机型的应用软件到哪些新版本。该升级正确性验证文件可以与升级包同时制作和同时使用,在制作升级包的同时,就测试出该升级包在该应用软件的不同老版本的基础上,可以升级到哪些新版本,这些新版本可以在哪些机型上运行。如某自助终端应用软件S可以在A、B、C三种自助终端机型上运行,目前A机型在运行版本有V1.1和V1.2 ;B机型在运行版本有V1.1和V1.3 ;C机型在运行版本有V1.3和V1.4.
[0131]现有某升级包M具有以下属性:
[0132]V1.1+M = V2.0,V2.0 的特征值(如 MD5 值)为 P。
[0133]V1.2+M = V2.0
[0134]V1.3+M = V2.1, V2.1 的特征值(如 MD5 值)为 Q0
[0135]V1.4+M = V2.1
[0136]其中V2.0可运行于A机型和B机型,不可运行于C机型。
[0137]其中V2.1可运行于C机型,不可运行于A机型或B机型。
[0138]升级服务器上有该升级包以及该升级包对应的升级正确性验证文件,其中升级正确性验证文件的内容:该升级包可用于升级该应用程序哪些老版本,如本例中升级包可升级该应用程序V1.UVl.2、V1.3和V1.4版本,以及这些老版本升级后得到的新版本,如本例中V2.0和V2.1,可用于哪些机型。
[0139]升级正确性验证文件下载后,用于验证自助终端升级包和备份的老版本进行叠加生成的升级包的特征值是否等于该自助终端机型允许运行的某一新版本的特征值。
[0140]本实施例中的自助终端软件远程升级方法,可以跨机型,跨版本,不必区分自助终端的软件版本,就可以方便的进行自助终端软件的升级,大大降低了升级操作人员的技术门槛,升级操作人员可以透明的进行自助终端软件的升级,不再需要区分机型或区分自助终端的在运行软件版本,就可以进行升级操作,技术上自助终端自动进行升级包正确性验证,提高了升级正确率,保证了终端升级操作的正确性,提升了自助终端软件远程升级的可操作性。达到了一键操作,各机型各版本一次升级的效果。
[0141]上面主要对自助终端软件远程升级方法进行描述,下面将对自助终端软件远程升级系统进行详细的描述,请参阅图3,本发明实施例中自助终端软件远程升级系统一个实施例包括:
[0142]远程获取模块301,用于从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件;
[0143]机型获取模块302,用于获取自助终端的机型;
[0144]机型判断模块303,用于判断该机型是否符合该升级要求中关于机型的规定,若否,则停止升级;
[0145]版本号获取模块304,用于获取该自助终端上该升级包对应的软件的在运行版本号;
[0146]版本号判断模块305,用于判断该在运行版本号是否符合该升级要求中关于版本号的规定;
[0147]合成新软件包模块306,用于当该版本号判断模块305的判断结果为是时,将解压缩后的该升级包与该自助终端的在运行软件的旧版本内容,进行叠加合成为新版本软件包;
[0148]特征值计算模块307,用于计算该新版本软件包的特征值;
[0149]特征值查询模块308,用于查询该升级正确性验证文件中是否存在该特征值;
[0150]软件升级模块309,用于当该特征值查询模块308的结果为是时,使用该新版本软件包对该自助终端进行软件升级。
[0151]本实施例中,首先,远程获取模块301从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件,机型获取模块302获取自助终端的机型。然后,机型判断模块303判断该机型是否符合该升级要求中关于机型的规定,若否,则停止升级。而版本号获取模块304获取该自助终端上该升级包对应的软件的在运行版本号,然后版本号判断模块305判断该在运行版本号是否符合该升级要求中关于版本号的规定,当该版本号判断模块305的判断结果为是时,合成新软件包模块306将解压缩后的该升级包与该自助终端的在运行软件的旧版本内容,进行叠加合成为新版本软件包。接着,特征值计算模块307计算该新版本软件包的特征值,最后,特征值查询模块308查询该升级正确性验证文件中是否存在该特征值,当该特征值查询模块308的结果为是时,软件升级模块309使用该新版本软件包对该自助终端进行软件升级。
[0152]在本实施例中,在进行软件升级前,通过升级包对应的升级要求和升级正确性验证文件对自助终端的机型和要升级的软件的版本号,以及新版本软件包进行对比验证,从而确保升级包覆盖旧版本软件所得到的新版本软件的正确性以及与自助终端运行环境的符合性,保证了自助终端的软件升级后运行的安全。
[0153]为便于理解,下面对本发明实施例中的自助终端软件远程升级系统进行详细描述,请参阅图4,本发明实施例中自助终端软件远程升级系统另一个实施例包括:
[0154]远程获取模块401,用于从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件;
[0155]机型获取模块402,用于获取自助终端的机型;
[0156]机型判断模块403,用于判断该机型是否符合该升级要求中关于机型的规定,若否,则停止升级;
[0157]版本号获取模块404,用于获取该自助终端上该升级包对应的软件的在运行版本号;
[0158]版本号判断模块405,用于判断该在运行版本号是否符合该升级要求中关于版本号的规定;
[0159]合成新软件包模块406,用于当该版本号判断模块405的判断结果为是时,将解压缩后的该升级包与该自助终端的在运行软件的旧版本内容,进行叠加合成为新版本软件包;
[0160]特征值计算模块407,用于计算该新版本软件包的特征值;
[0161]特征值查询模块408,用于查询该升级正确性验证文件中是否存在该特征值;
[0162]软件升级模块409,用于当该特征值查询模块408的结果为是时,使用该新版本软件包对该自助终端进行软件升级。
[0163]本实施例中该特征值查询模块408具体可以包括:
[0164]第一判断模块4081,用于查询该升级正确性验证文件中是否存在该特征值;
[0165]第二判断模块4082,用于判断该特征值对应的软件的旧版本号与该自助终端的在运行版本号是否一致;
[0166]第三判断模块4083,用于判断该特征值对应的软件的新版本号与该新版本软件包的版本号是否一致;
[0167]确定模块4084,用于若该第一判断模块4081、第二判断模块4082和第三判断模块4083的结果均为是,则确定该特征值查询模块408的结果为是。
[0168]本实施例中该系统还可以包括:
[0169]完整性校验模块410,用于对该远程获取模块获取到的该升级包、该升级要求和该升级正确性验证文件进行完整性校验;
[0170]重新获取模块411,用于若该完整性校验模块410的校验失败,则重新获取该升级包、该升级要求和该升级正确性验证文件。
[0171]上面主要对自助终端软件远程升级系统进行描述,下面将对一种升级包制作方法进行详细的描述,请参阅图5,本发明实施例中一种升级包制作方法一个实施例包括:
[0172]501、制作新版本安装包;
[0173]在软件开发人员完成自助终端应用软件新版本的开发后,将所有运行参数和个性化元素进行默认设置或通用置值,可以制作新版本安装包。
[0174]502、通过比对该新版本安装包与旧版本安装包,计算获得基于该旧版本安装包的对应升级文件;
[0175]在制作好该新版本安装包之后,可以通过比对该新版本安装包与旧版本安装包,计算获得基于该旧版本安装包的对应升级文件。
[0176]下面对其具体计算方法进行举例说明:
[0177]假设新版本的通用安装包的文件集合为A,老版本的通用安装包的文件集合为B,则升级包的文件集合P = A一A Π B,如图6所示,用圆表示Α,椭圆表示B,则P为所示阴影部分。
[0178]503、压缩该升级文件,得到升级包;
[0179]在获得该对应升级文件之后,可以压缩该升级文件,得到升级包。还可以对该升级包在各个不同老版本的平台上进行升级测试。
[0180]504、计算该升级包的特征值;
[0181]在得到升级包之后,可以计算该升级包的特征值。其特征值计算方法可以但不限于是以下方法:获取该升级包中所有文件或者部分关键文件,对每一个文件根据其内容计算MD5值,对所得各个MD5值进行排序后得到的字符串再进行MD5值计算,所得的MD5可作为该升级的特征值。
[0182]需要说明的是,如果某两个老版本的通用安装包的文件集合为BI和Β2,计算所得Pl = A-Bl = Ρ2 = A—Β2成立,则表示该升级包可以让不同的老版本升级到相同的新版本。
[0183]505、根据该特征值生成该升级包对应的升级正确性验证文件。
[0184]在计算得到该升级包的特征值之后,可以根据该特征值生成该升级包对应的升级正确性验证文件。该升级正确性验证文件规定了该升级包适用于哪些机型的应用软件可以升级到哪些新版本,并对升级正确性验证文件采取防篡改技术措施,至此升级包和升级包正确性验证文件制作结束。
[0185]进一步地,本实施例一种升级包制作方法还可以包括:
[0186]506、制作该升级包对应的升级要求。
[0187]在制作升级包和升级正确性验证文件以外,还可以制作该升级包对应的升级要求。该升级要求包含该升级包适用的自助终端的机型和对应的待升级软件的版本号。
[0188]在本实施例中,通过在升级包的制作和测试过程中,生成该升级包的升级正确性验证文件,作为该升级包在自助终端上升级对机型和软件版本验证的标准,提高了升级操作的正确性和可靠性,技术上对软件升级增加了一重保险,让银行客户更加放心,为远程升级的推广应用提供了有力的技术支持和技术保证。
[0189]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0190]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0191]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0192]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0193]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0194]以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种自助终端软件远程升级方法,其特征在于,包括: S1:从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件; 52:获取自助终端的机型;53:判断所述机型是否符合所述升级要求中关于机型的规定,若否,则停止升级; 54:获取所述自助终端上所述升级包对应的软件的在运行版本号; S5:判断所述在运行版本号是否符合所述升级要求中关于版本号的规定,若是,则执行步骤S6 ; 56:将解压缩后的所述升级包与所述自助终端的在运行软件的旧版本内容,进行叠加合成为新版本软件包; 57:计算所述新版本软件包的特征值;58:查询所述升级正确性验证文件中是否存在所述特征值,若是,则执行步骤S9 ; 59:使用所述新版本软件包对所述自助终端进行软件升级。
2.根据权利要求1所述的方法,其特征在于,步骤S8具体包括: S81:查询所述升级正确性验证文件中是否存在所述特征值; S82:判断所述特征值对应的软件的旧版本号与所述自助终端的在运行版本号是否一致; S83:判断所述特征值对应的软件的新版本号与所述新版本软件包的版本号是否一致; 若步骤S81、S82和S83的结果均为是,则执行步骤S9。
3.根据权利要求1所述的方法,其特征在于,在步骤S5之后步骤S6之前还包括: 判断所述在运行软件的旧版本内容是否存在备份内容,若是,则将解压缩后的所述升级包覆盖所述备份内容得到新版本软件包,若否,则执行步骤S6。
4.根据权利要求3所述的方法,其特征在于,在将解压缩后的所述升级包覆盖所述备份内容得到新版本软件包之前,或在执行步骤S6之前还包括: 备份所述在运行软件的旧版本内容。
5.根据权利要求1所述的方法,其特征在于,在步骤SI之后还包括: 对所述升级包、所述升级要求和所述升级正确性验证文件进行完整性校验,若所述完整性校验失败,则重新获取所述升级包、所述升级要求和所述升级正确性验证文件。
6.一种自助终端软件远程升级系统,其特征在于,包括: 远程获取模块,用于从升级服务器远程获取升级包、对应的升级要求以及对应的升级正确性验证文件; 机型获取模块,用于获取自助终端的机型; 机型判断模块,用于判断所述机型是否符合所述升级要求中关于机型的规定,若否,则停止升级; 版本号获取模块,用于获取所述自助终端上所述升级包对应的软件的在运行版本号;版本号判断模块,用于判断所述在运行版本号是否符合所述升级要求中关于版本号的规定; 合成新软件包模块,用于当所述版本号判断模块的判断结果为是时,将解压缩后的所述升级包与所述自助终端的在运行软件的旧版本内容,进行叠加合成为新版本软件包; 特征值计算模块,用于计算所述新版本软件包的特征值;特征值查询模块,用于查询所述升级正确性验证文件中是否存在所述特征值; 软件升级模块,用于当所述特征值查询模块的结果为是时,使用所述新版本软件包对所述自助终端进行软件升级。
7.根据权利要求6所述的系统,其特征在于,所述特征值查询模块具体包括:第一判断模块,用于查询所述升级正确性验证文件中是否存在所述特征值; 第二判断模块,用于判断所述特征值对应的软件的旧版本号与所述自助终端的在运行版本号是否一致; 第三判断模块,用于判断所述特征值对应的软件的新版本号与所述新版本软件包的版本号是否一致; 确定模块,用于若所述第一判断模块、第二判断模块和第三判断模块的结果均为是,则确定所述特征值查询模块的结果为是。
8.根据权利要求6所述的系统,其特征在于,所述系统还包括: 完整性校验模块,用于对所述远程获取模块获取到的所述升级包、所述升级要求和所述升级正确性验证文件进行完整性校验; 重新获取模块,用于若所述完整性校验模块的校验失败,则重新获取所述升级包、所述升级要求和所述升级正确性验证文件。
9.一种升级包制作方法,其特征在于,包括: 制作新版本安装包; 通过比对所述新版本安装包与旧版本安装包,计算获得基于所述旧版本安装包的对应升级文件; 压缩所述升级文件,得到升级包; 计算所述升级包的特征值; 根据所述特征值生成所述升级包对应的升级正确性验证文件。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括: 制作所述升级包对应的升级要求,所述升级要求包含所述升级包适用的自助终端的机型和对应的待升级软件的版本号。
【文档编号】G06F9/445GK104375870SQ201410728451
【公开日】2015年2月25日 申请日期:2014年12月3日 优先权日:2014年12月3日
【发明者】董学文, 王庆华, 王兴华, 雍容 申请人:广州广电运通金融电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1