CN112860285A - 金融自助设备的sp升级包生成方法、装置及计算机设备 - Google Patents
金融自助设备的sp升级包生成方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN112860285A CN112860285A CN201911099294.7A CN201911099294A CN112860285A CN 112860285 A CN112860285 A CN 112860285A CN 201911099294 A CN201911099294 A CN 201911099294A CN 112860285 A CN112860285 A CN 112860285A
- Authority
- CN
- China
- Prior art keywords
- financial self
- party
- latest version
- source code
- library
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004590 computer program Methods 0.000 claims description 19
- 238000013515 script Methods 0.000 claims description 14
- 230000015556 catabolic process Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000012423 maintenance Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000008439 repair process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- JWDFQMWEFLOOED-UHFFFAOYSA-N (2,5-dioxopyrrolidin-1-yl) 3-(pyridin-2-yldisulfanyl)propanoate Chemical compound O=C1CCC(=O)N1OC(=O)CCSSC1=CC=CC=N1 JWDFQMWEFLOOED-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请适用于金融自助设备技术领域,提供了金融自助设备的SP升级包生成方法,包括:获取目标金融自助设备的最新版本的系统源代码;重编译所述最新版本的系统源代码,确定所述最新版本的自编译库;将所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库进行比较,确定存在更新的第三方库;将所述最新版本的自编译库和所述存在更新的第三方库进行压缩处理,生成所述目标金融自助设备的SP升级包。
Description
技术领域
本申请属于金融自助设备技术领域,尤其涉及金融自助设备的SP升级包生成方法、装置及计算机设备。
背景技术
随着金融自助设备的功能升级,其上系统、软件的版本也需要不断地迭代更新,目前,为了减少对传输带宽的依赖,大多金融自助设备的升级通过SP(Service Pack)增量升级包或升级补丁完成,这些SP增量升级包由于仅包含本次升级的差分内容,数据量小,减少了远程升级时的网络压力。然而,这些SP增量升级包由于不具有中间版本的SP源代码,当升级时出现系统崩溃等问题时,往往难以分析出系统崩溃的原因,大大增加了后续系统维护和修复的风险和难度。
发明内容
本申请实施例提供了金融自助设备的SP升级包生成方法及装置,可以解决SP增量升级包升级时出现系统崩溃后难以分析出系统崩溃原因的问题。
第一方面,本申请实施例提供了一种金融自助设备的SP升级包生成方法,包括:
获取目标金融自助设备的最新版本的系统源代码;
重编译所述最新版本的系统源代码,确定所述最新版本的自编译库;
将所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库进行比较,确定存在更新的第三方库;
将所述最新版本的自编译库和所述存在更新的第三方库进行压缩处理,生成所述目标金融自助设备的SP升级包。
可见,本申请提供的金融自助设备的SP升级包生成方法生成得到的SP升级包中同时包含了最新版本的自编译库以及存在更新的第三方库,一方面,由于该最新版本的自编译库包含有全量的源代码,当升级时出现系统崩溃等问题时,可以快速分析、定位系统崩溃的原因,减少后续系统维护和修复的风险、难度;另一方面,该SP升级包中仅压缩进存在更新的第三方库,在保证第三方库为最新版本的同时尽量减少了第三方库的数据量,一定程度上减轻了使用该SP升级包远程升级时的网络压力。
优选地,所述将所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库进行比较,确定存在更新的第三方库包括:
通过Ant脚本调用Luntbuild比较所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库,计算各个第三方库的MD5值;
将MD5值发生变化的第三方库确定为存在更新的第三方库。
通过Ant脚本调用Luntbuild来实现第三方库的比较,不仅效率更高,且能快速计算各个第三方库的MD5值,可以更准确地确定发生更新的第三方库。
优选地,在生成所述目标金融自助设备的SP升级包之后,还包括:
校验所述SP升级包;
若所述SP升级包校验无误,则将所述SP升级包外发至所述目标金融自助设备;
根据所述SP升级包对所述目标金融自助设备进行升级。
在生成SP升级包之后,先校验该SP升级包,无误后再发送给目标金融自助设备完成升级,能够减少升级过程中出现崩溃等异常问题,提高SP升级的稳定性。
优选地,在生成所述目标金融自助设备的SP升级包之后,还包括:
将所述最新版本的系统源代码和所述SP升级包存储,并记录各自的存储路径。
通过存储所述最新版本的系统源代码和所述SP升级包,可以方便下次调用所述最新版本的系统源代码和所述SP升级包,尤其是当发生升级过程中崩溃的问题时,可以在修复目标金融自助设备时快速调取所述最新版本的系统源代码对系统进行修复,或者调取所述SP升级包再次对所述目标金融自助设备进行升级。
优选地,在生成所述目标金融自助设备的SP升级包之后,还包括:
若在外发所述SP升级包至所述目标金融自助设备进行升级后,所述目标金融自助设备在升级时发生崩溃,则调取所述目标金融自助设备上的崩溃存储文件;
根据所述崩溃存储文件分析所述目标金融自助设备的崩溃原因;
将分析得到的崩溃原因记录至升级崩溃报告中,并输出所述升级崩溃报告。
通过调取崩溃存储文件,可以据此分析出目标金融自助设备的崩溃原因,并将该崩溃原因记录至升级崩溃报告并输出,可以有助于维护人员通过查阅该升级崩溃报告快速定位目标金融自助设备的崩溃源头,提高目标金融自助设备发生崩溃问题时的维护效率。
第二方面,本申请实施例提供了一种金融自助设备的SP升级包生成装置,包括:
最新源代码获取模块,用于获取目标金融自助设备的最新版本的系统源代码;
重编译模块,用于重编译所述最新版本的系统源代码,确定所述最新版本的自编译库;
第三方库确定模块,用于将所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库进行比较,确定存在更新的第三方库;
升级包生成模块,用于将所述最新版本的自编译库和所述存在更新的第三方库进行压缩处理,生成所述目标金融自助设备的SP升级包。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的金融自助设备的SP升级包生成方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的金融自助设备的SP升级包生成方法。
可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例中金融自助设备的SP升级包生成方法的一应用环境示意图;
图2是本申请一实施例中金融自助设备的SP升级包生成方法的一流程图;
图3是本申请一实施例中金融自助设备的SP升级包生成方法步骤103在一个应用场景下的流程示意图;
图4是本申请一实施例中金融自助设备的SP升级包生成方法在一个应用场景下校验SP升级包的流程示意图;
图5是本申请一实施例中金融自助设备的SP升级包生成方法在一个应用场景下分析崩溃原因的流程示意图;
图6是本申请一实施例中金融自助设备的SP升级包生成装置的结构示意图;
图7是本申请一实施例中计算机设备的一示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请提供的金融自助设备的SP升级包生成方法,可应用在如图1的应用环境中,其中,客户端可以通过网络与服务器进行通信。其中,该客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种金融自助设备的SP升级包生成方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
101、获取目标金融自助设备的最新版本的系统源代码;
本实施例中,首先,服务器需要获取目标金融自助设备的最新版本的系统源代码,该系统源代码由程序人员编写并存放。可知,不同型号的金融自助设备各自对应不同的系统源代码,服务器可以在确定目标金融自助设备的设备型号后,根据设备型号检索出与之对应的最新版本的系统源代码。具体地,在一个应用场景下,服务器可以先确定目标金融自助设备的设备型号;然后,根据所述设备型号从源代码库中检索出所述目标金融自助设备对应的最新版本的系统源代码,其中,所述源代码库用于存储各种设备型号的金融自助设备的系统源代码。
具体地,可以在Luntbuild项目中设置最新版本的系统源代码的svn路径,通过该SVN路径可以下载最新版本的系统源代码至本地,还可以下载老版本的第三方库文件。在一应用场景下,服务器可以通过Ant脚本自动从svn路径中下载系统源代码到本地。
举例说明,某金融自助设备SP生产上安装过的老版本为:V5.2.0.1_B142、V5.2.0.1_B242,最新版本为:V5.2.0.1_B270,服务器可以下载V5.2.0.1_B270对应的所有源代码(用于编译最新版本的自编译库),以及可以下载V5.2.0.1_B142、V5.2.0.1_B242对应的第三方库文件(每个版本的第三方库文件全部放入bin目录下),其中,下载到本地的目录可以分为V5.2.0.1_B270、V5.2.0.1_B242、V5.2.0.1_B142,其中V5.2.0.1_B270目录包含源代码及第三方库文件(bin目录下文件),V5.2.0.1_B242、V5.2.0.1_B142目录只包含第三方库文件(bin目录下文件)。
可以理解的是,为了提高执行效率,服务器上可以设置Ant脚本自动执行上述步骤,其中该Ant脚本(Build_ATM.xml)示例(“----”后面解释为脚本字段含义):
<?xml version="1.0"?>
<project name="SP"default="FULL"basedir=".">
<description>SP Build</description>
<!--task and type extension-->
<taskdefresource="cpptasks.tasks"/>
<typedefresource="cpptasks.types"/>
<taskdefresource="net/sf/antcontrib/antcontrib.properties"/>
<!--Properties-->
<propertyregex property="appVer"input="${buildVersion}"regexp="(.*)V(.*)_(.*)"
select="\1"/>----下载老版本第三方库文件
<propertyregex property="appVer"input="${buildVersion}"regexp="(.*)V(.*)_(.*)"
select="\2"/>----下载老版本第三方库文件
<propertyregex property="appBuild"input="${buildVersion}"regexp="(.*)V(.*)_(.*)"
select="\3"/>----下载新版本源代码及第三方库文件
<target name="FULL">
<exec executable="RebuildNew_ATM.bat"failonerror="true">-----------重编译新版本源代码,
获得最新版本自编译库
</exec>
<exec executable="../Output/Release/YHSpCompare.exe"failonerror="true">---调用比较工具获
得md5变化的第三方库文件
<arg line="/Bin"/>
</exec>
<replace file="setupThin_ATM.iss"token="{#APP_VER}"value="${appVer}"/>
<replace file="setupThin_ATM.iss"token="{#APP_BUILD}"value="${appBuild}"/>
<exec executable="iscc.exe"failonerror="true">
<arg line="/o'${artifactsDir}'/f'${buildVersion}”setupThin_ATM.iss'"/>------调用iss脚本生成
以最新版本命令的升级包
</exec>
</target>
</project>
102、重编译所述最新版本的系统源代码,确定所述最新版本的自编译库;
在获取到该最新版本的系统源代码之后,服务器可以重编译所述最新版本的系统源代码,确定所述最新版本的自编译库。
承接上述举例,运行最新版本的系统源代码V5.2.0.1_B270时,运行最新版本目录下(V5.2.0.1_B270)RebuildNew_ATM.bat脚本,脚本内容如下(此脚本为调用vs2008自动编译源码生成最新的库,“----”后面解释为脚本字段含义):
@echo config compilation environment
call"C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"----用于加载vc环境
@echo compile project[RebuildNew_ATM]----显示要重新编译源码
devenv"..\STDP\Support.sln"/Rebuild Release----重新编译Support.sln项目,下面编译不同项目
devenv"..\STDP2\STDP2.sln"/Rebuild Release
devenv"..\Driver\YHDr_ATM.sln"/Rebuild Release
devenv"..\AdpDriver\YHDrAdaptor.sln"/Rebuild Release
devenv"..\SPDP\YHSPDP.sln"/Rebuild Release
devenv"..\SP\YHSp_ATM.sln"/Rebuild Release
devenv"..\VDA\YHVDA.sln"/Rebuild Release
devenv"..\TV\YHTvApp.sln"/Rebuild Release
devenv"..\Setup\Setup.sln"/Rebuild Release
devenv"SetupUpdate.sln"/Rebuild Release
devenv"..\AP\EppExport\EppExport.sln"/Rebuild Release
103、将所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库进行比较,确定存在更新的第三方库;
可以理解的是,在确定出所述最新版本的自编译库之后,由于金融自助设备的系统需要大量的第三方库的支持,因此,服务器还需要将所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库进行比较,确定存在更新的第三方库。
具体地,如图3所示,上述步骤103可以包括:
201、通过Ant脚本调用Luntbuild比较所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库,计算各个第三方库的MD5值;
202、将MD5值发生变化的第三方库确定为存在更新的第三方库。
对于上述步骤201-202,可以理解的是,服务器可以通过Ant脚本调用Luntbuild上的YHSpCompare.exe比较工具,通过该比较工具比较所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库,计算出每个第三方库新旧版本之间的MD5值,通过判断MD5值是否发生了变化,来确定这些第三方库是否存在更新。可知,若某个第三方库的MD5值有变化,说明该第三方库存在更新,服务器可以将其确定为存在更新的第三方库。
其中,YHSpCompare.exe工具为VC开发文件比较工具,主要功能为:比较新版本第三方库文件(bin目录下文件),与所有老版本第三方库文件进行md5值比较,如果md5发生变化将新版本库文件拷贝到binUpdate目录下。第三方库文件已通过Luntbuild全部从svn下载到pc机本地。
具体地,步骤202可以包括:首先,对比所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库内的同名第三方库文件的MD5值,确定出MD5值对比不一致的各个同名第三方库文件;然后,将确定出的所述各个同名第三方库文件所在的第三方库确定为存在更新的第三方库。
承接上述举例,如果sp老版本有V5.2.0.1_B142、V5.2.0.1_B242,最新版本V5.2.0.1_B270,YHSpCompare.exe工具会自动比较V5.2.0.1_B270版本的bin目录下每个库文件与V5.2.0.1_B142、V5.2.0.1_B242版本下bin目录下相同名第三方库文件,md5值是否变化,如果变化则拷贝到binUpdate目录下。
104、将所述最新版本的自编译库和所述存在更新的第三方库进行压缩处理,生成所述目标金融自助设备的SP升级包。
在获取到所述最新版本的自编译库和所述存在更新的第三方库之后,服务器可以将所述最新版本的自编译库和所述存在更新的第三方库进行压缩处理,从而生成所述目标金融自助设备的SP升级包。
承接上述举例,具体地,可以使用iss脚本压缩所述最新版本的自编译库(RebuildRelease目录重新编译的库)和MD5值有变化的第三方库(binUpdate目录下第三方库),制作成SP升级包。比如,最新版本为V5.2.0.1_B270,则会生成V5.2.0.1_B270的SP升级包。
为了减少升级过程中出现崩溃等异常问题,提高SP升级的稳定性,进一步地,如图4所示,在生成所述目标金融自助设备的SP升级包之后,还包括:
301、校验所述SP升级包;
302、若所述SP升级包校验无误,则将所述SP升级包外发至所述目标金融自助设备;
303、根据所述SP升级包对所述目标金融自助设备进行升级。
对于步骤301-303,服务器可以先对该SP升级包进行校验,若校验无误,说明该SP升级包数据无异常,可以将其外发至所述目标金融自助设备,以便根据所述SP升级包对所述目标金融自助设备进行升级;反之,若校验结果为所述SP升级包有误,说明该SP升级包数据存在异常,此时,服务器可以报警并记录下该SP升级包的异常情况或异常数据。
本实施例中,进一步地,服务器在生成所述目标金融自助设备的SP升级包之后,还包括:将所述最新版本的系统源代码和所述SP升级包存储,并记录各自的存储路径。通过存储所述最新版本的系统源代码和所述SP升级包,可以方便下次调用所述最新版本的系统源代码和所述SP升级包,尤其是当发生升级过程中崩溃的问题时,可以在修复目标金融自助设备时快速调取所述最新版本的系统源代码对系统进行修复,或者调取所述SP升级包再次对所述目标金融自助设备进行升级。
考虑到金融自助设备采用SP升级包升级的过程中,可能会发生崩溃的情况,为了尽快解决升级时的崩溃问题,进一步地,如图5所示,在生成所述目标金融自助设备的SP升级包之后,本方法还包括:
401、若在外发所述SP升级包至所述目标金融自助设备进行升级后,所述目标金融自助设备在升级时发生崩溃,则调取所述目标金融自助设备上的崩溃存储文件;
402、根据所述崩溃存储文件分析所述目标金融自助设备的崩溃原因;
403、将分析得到的崩溃原因记录至升级崩溃报告中,并输出所述升级崩溃报告。
可以理解的是,服务器可以通过调取崩溃存储文件,可以据此分析出目标金融自助设备的崩溃原因,并将该崩溃原因记录至升级崩溃报告并输出,可以有助于维护人员通过查阅该升级崩溃报告快速定位目标金融自助设备的崩溃源头,提高目标金融自助设备发生崩溃问题时的维护效率。
本申请实施例中,首先,获取目标金融自助设备的最新版本的系统源代码;然后,重编译所述最新版本的系统源代码,确定所述最新版本的自编译库;接着,将所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库进行比较,确定存在更新的第三方库;最后,将所述最新版本的自编译库和所述存在更新的第三方库进行压缩处理,生成所述目标金融自助设备的SP升级包。可见,本申请提供的金融自助设备的SP升级包生成方法生成得到的SP升级包中同时包含了最新版本的自编译库以及存在更新的第三方库,一方面,由于该最新版本的自编译库包含有全量的源代码,当升级时出现系统崩溃等问题时,可以快速分析、定位系统崩溃的原因,减少后续系统维护和修复的风险、难度;另一方面,该SP升级包中仅压缩进存在更新的第三方库,在保证第三方库为最新版本的同时尽量减少了第三方库的数据量,一定程度上减轻了使用该SP升级包远程升级时的网络压力。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在一实施例中,提供一种金融自助设备的SP升级包生成装置,该金融自助设备的SP升级包生成装置与上述实施例中金融自助设备的SP升级包生成方法一一对应。如图6所示,该金融自助设备的SP升级包生成装置包括最新源代码获取模块501、重编译模块502、第三方库确定模块503和升级包生成模块504。各功能模块详细说明如下:
最新源代码获取模块501,用于获取目标金融自助设备的最新版本的系统源代码;
重编译模块502,用于重编译所述最新版本的系统源代码,确定所述最新版本的自编译库;
第三方库确定模块503,用于将所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库进行比较,确定存在更新的第三方库;
升级包生成模块504,用于将所述最新版本的自编译库和所述存在更新的第三方库进行压缩处理,生成所述目标金融自助设备的SP升级包。
进一步地,所述第三方库确定模块可以包括:
MD5计算单元,用于通过Ant脚本调用Luntbuild比较所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库,计算各个第三方库的MD5值;
确定单元,用于将MD5值发生变化的第三方库确定为存在更新的第三方库。
进一步地,所述金融自助设备的SP升级包生成装置还可以包括:
校验模块,用于校验所述SP升级包;
外发模块,用于若所述SP升级包校验无误,则将所述SP升级包外发至所述目标金融自助设备;
升级模块,用于根据所述SP升级包对所述目标金融自助设备进行升级。
进一步地,所述金融自助设备的SP升级包生成装置还可以包括:
存储模块,用于将所述最新版本的系统源代码和所述SP升级包存储,并记录各自的存储路径。
进一步地,所述金融自助设备的SP升级包生成装置还可以包括:
崩溃存储文件调取模块,用于若在外发所述SP升级包至所述目标金融自助设备进行升级后,所述目标金融自助设备在升级时发生崩溃,则调取所述目标金融自助设备上的崩溃存储文件;
崩溃原因分析模块,用于根据所述崩溃存储文件分析所述目标金融自助设备的崩溃原因;
崩溃报告输出模块,用于将分析得到的崩溃原因记录至升级崩溃报告中,并输出所述升级崩溃报告。
关于金融自助设备的SP升级包生成装置的具体限定可以参见上文中对于金融自助设备的SP升级包生成方法的限定,在此不再赘述。上述金融自助设备的SP升级包生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,如图7所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中金融自助设备的SP升级包生成方法的步骤,例如图2所示的步骤101至步骤104。或者,处理器执行计算机程序时实现上述实施例中金融自助设备的SP升级包生成装置的各模块/单元的功能,例如图6所示模块501至模块504的功能。为避免重复,这里不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中金融自助设备的SP升级包生成方法的步骤,例如图2所示的步骤101至步骤104。或者,计算机程序被处理器执行时实现上述实施例中金融自助设备的SP升级包生成装置的各模块/单元的功能,例如图6所示模块501至模块504的功能。为避免重复,这里不再赘述。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种金融自助设备的SP升级包生成方法,其特征在于,包括:
获取目标金融自助设备的最新版本的系统源代码;
重编译所述最新版本的系统源代码,确定所述最新版本的自编译库;
将所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库进行比较,确定存在更新的第三方库;
将所述最新版本的自编译库和所述存在更新的第三方库进行压缩处理,生成所述目标金融自助设备的SP升级包。
2.如权利要求1所述的金融自助设备的SP升级包生成方法,其特征在于,所述将所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库进行比较,确定存在更新的第三方库包括:
通过Ant脚本调用Luntbuild比较所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库,计算各个第三方库的MD5值;
将MD5值发生变化的第三方库确定为存在更新的第三方库。
3.如权利要求2所述的金融自助设备的SP升级包生成方法,其特征在于,所述将MD5值发生变化的第三方库确定为存在更新的第三方库包括:
对比所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库内的同名第三方库文件的MD5值,确定出MD5值对比不一致的各个同名第三方库文件;
将确定出的所述各个同名第三方库文件所在的第三方库确定为存在更新的第三方库。
4.如权利要求1所述的金融自助设备的SP升级包生成方法,其特征在于,在生成所述目标金融自助设备的SP升级包之后,还包括:
校验所述SP升级包;
若所述SP升级包校验无误,则将所述SP升级包外发至所述目标金融自助设备;
根据所述SP升级包对所述目标金融自助设备进行升级。
5.如权利要求1所述的金融自助设备的SP升级包生成方法,其特征在于,在生成所述目标金融自助设备的SP升级包之后,还包括:
将所述最新版本的系统源代码和所述SP升级包存储,并记录各自的存储路径。
6.如权利要求1所述的金融自助设备的SP升级包生成方法,其特征在于,所述获取目标金融自助设备的最新版本的系统源代码包括:
确定目标金融自助设备的设备型号;
根据所述设备型号从源代码库中检索出所述目标金融自助设备对应的最新版本的系统源代码,所述源代码库用于存储各种设备型号的金融自助设备的系统源代码。
7.如权利要求1至6中任一项所述的金融自助设备的SP升级包生成方法,其特征在于,在生成所述目标金融自助设备的SP升级包之后,还包括:
若在外发所述SP升级包至所述目标金融自助设备进行升级后,所述目标金融自助设备在升级时发生崩溃,则调取所述目标金融自助设备上的崩溃存储文件;
根据所述崩溃存储文件分析所述目标金融自助设备的崩溃原因;
将分析得到的崩溃原因记录至升级崩溃报告中,并输出所述升级崩溃报告。
8.一种金融自助设备的SP升级包生成装置,其特征在于,包括:
最新源代码获取模块,用于获取目标金融自助设备的最新版本的系统源代码;
重编译模块,用于重编译所述最新版本的系统源代码,确定所述最新版本的自编译库;
第三方库确定模块,用于将所述最新版本的系统源代码所需的所有第三方库与历史版本的第三方库进行比较,确定存在更新的第三方库;
升级包生成模块,用于将所述最新版本的自编译库和所述存在更新的第三方库进行压缩处理,生成所述目标金融自助设备的SP升级包。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的金融自助设备的SP升级包生成方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的金融自助设备的SP升级包生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911099294.7A CN112860285B (zh) | 2019-11-12 | 2019-11-12 | 金融自助设备的sp升级包生成方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911099294.7A CN112860285B (zh) | 2019-11-12 | 2019-11-12 | 金融自助设备的sp升级包生成方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860285A true CN112860285A (zh) | 2021-05-28 |
CN112860285B CN112860285B (zh) | 2024-05-10 |
Family
ID=75984272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911099294.7A Active CN112860285B (zh) | 2019-11-12 | 2019-11-12 | 金融自助设备的sp升级包生成方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860285B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127712B1 (en) * | 2001-02-14 | 2006-10-24 | Oracle International Corporation | System and method for providing a java code release infrastructure with granular code patching |
CN101800842A (zh) * | 2010-04-16 | 2010-08-11 | 四川长虹电器股份有限公司 | 机顶盒软件升级方法 |
US20160188301A1 (en) * | 2014-12-29 | 2016-06-30 | Yan Zang | Source code editor |
CN105871600A (zh) * | 2016-03-28 | 2016-08-17 | 努比亚技术有限公司 | 应用程序的升级包检测方法和服务器、升级方法和系统 |
CN106775730A (zh) * | 2016-12-21 | 2017-05-31 | 深圳Tcl数字技术有限公司 | 程序发布方法及系统 |
US9965618B1 (en) * | 2015-08-27 | 2018-05-08 | Amazon Technologies, Inc. | Reducing privileges for imported software packages |
CN108037927A (zh) * | 2017-12-29 | 2018-05-15 | 有米科技股份有限公司 | 开发包打包方法、系统、可读存储介质和计算机设备 |
CN109756570A (zh) * | 2018-12-29 | 2019-05-14 | 深圳点猫科技有限公司 | 一种实现定制pypi镜像服务器的方法及电子设备 |
CN109857405A (zh) * | 2019-02-02 | 2019-06-07 | Oppo广东移动通信有限公司 | 应用程序安装包的编译方法、装置、存储介质及终端 |
-
2019
- 2019-11-12 CN CN201911099294.7A patent/CN112860285B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127712B1 (en) * | 2001-02-14 | 2006-10-24 | Oracle International Corporation | System and method for providing a java code release infrastructure with granular code patching |
CN101800842A (zh) * | 2010-04-16 | 2010-08-11 | 四川长虹电器股份有限公司 | 机顶盒软件升级方法 |
US20160188301A1 (en) * | 2014-12-29 | 2016-06-30 | Yan Zang | Source code editor |
US9965618B1 (en) * | 2015-08-27 | 2018-05-08 | Amazon Technologies, Inc. | Reducing privileges for imported software packages |
CN105871600A (zh) * | 2016-03-28 | 2016-08-17 | 努比亚技术有限公司 | 应用程序的升级包检测方法和服务器、升级方法和系统 |
CN106775730A (zh) * | 2016-12-21 | 2017-05-31 | 深圳Tcl数字技术有限公司 | 程序发布方法及系统 |
CN108037927A (zh) * | 2017-12-29 | 2018-05-15 | 有米科技股份有限公司 | 开发包打包方法、系统、可读存储介质和计算机设备 |
CN109756570A (zh) * | 2018-12-29 | 2019-05-14 | 深圳点猫科技有限公司 | 一种实现定制pypi镜像服务器的方法及电子设备 |
CN109857405A (zh) * | 2019-02-02 | 2019-06-07 | Oppo广东移动通信有限公司 | 应用程序安装包的编译方法、装置、存储介质及终端 |
Non-Patent Citations (5)
Title |
---|
PASQUALE SALZA等: "Third-party libraries in mobile apps:When, how, and why developers update them", EMPIRICAL SOFTWARE ENGINEERING, vol. 25, 24 August 2019 (2019-08-24), pages 2341 - 2377 * |
SHWETA BHANDARI等: "Android inter-app communication threats and detection techniques", COMPUTERS & SECURITY, vol. 70, 25 July 2017 (2017-07-25), pages 392 - 421, XP085176531, DOI: 10.1016/j.cose.2017.07.002 * |
周莹 等: "基于Jenkins的持续集成自动部署研究", 计算机与数字工程, vol. 44, no. 02, pages 267 - 270 * |
沈科 等: "基于API调用分析的Android应用行为意图推测", 清华大学学报(自然科学版), vol. 57, no. 11, 15 November 2017 (2017-11-15), pages 1139 - 1144 * |
王英杰: "持续集成在某公司云平台系统开发中的研究和应用", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 8, 15 August 2016 (2016-08-15), pages 138 - 222 * |
Also Published As
Publication number | Publication date |
---|---|
CN112860285B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10019256B2 (en) | Systems and methods for incremental software development | |
US9940225B2 (en) | Automated error checking system for a software application and method therefor | |
US9971672B2 (en) | Using emulation to disassociate verification from stimulus in functional test | |
CN113568839A (zh) | 软件测试和统计测试覆盖率的方法、装置、设备及介质 | |
CN110554965A (zh) | 自动化模糊测试方法及相关设备、计算机可读存储介质 | |
WO2007143012A2 (en) | Systems, methods, and media for testing software patches | |
CN111782526A (zh) | 一种接口测试方法、装置、电子设备及存储介质 | |
CN105677394A (zh) | 一种终端设备的应用程序升级方法和装置 | |
CN114895935A (zh) | 刷写车辆ecu的方法、装置、电子设备及存储介质 | |
CN110889116A (zh) | 一种广告拦截方法、装置及电子设备 | |
CN111953475B (zh) | 一种代码漏洞的修复方法及设备 | |
CN112860285B (zh) | 金融自助设备的sp升级包生成方法、装置及计算机设备 | |
CN112860284B (zh) | 设备远程升级的sp升级包生成方法、装置及计算机设备 | |
CN113220586A (zh) | 一种自动化的接口压力测试执行方法、装置和系统 | |
CN115437903A (zh) | 接口测试方法、装置、设备、存储介质及程序 | |
KR101506656B1 (ko) | 애플리케이션 품질 관리를 위한 시스템 및 그 방법 | |
CN118466970B (zh) | 一种安卓应用线上问题实时修复方法、装置、设备及介质 | |
CN117130945B (zh) | 一种测试方法和装置 | |
CN114756871B (zh) | 漏洞检测方法、装置、电子设备及存储介质 | |
CN112000581B (zh) | 一种用于Cocos2D框架软件的测试方法和工具 | |
CN116974910A (zh) | 区块链sdk的持续交付方法、装置、存储介质以及电子设备 | |
CN114924762A (zh) | 一种组件升级适配检测方法及装置 | |
CN118057335A (zh) | 业务代码的管理方法、装置、服务器及存储介质 | |
CN114816407A (zh) | 组件打包方法、装置、电子设备及存储介质 | |
CN116257282A (zh) | 应用程序的更新方法及装置、存储介质、计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |