CN111638903B - 不同软件版本的差异信息生成方法及装置 - Google Patents
不同软件版本的差异信息生成方法及装置 Download PDFInfo
- Publication number
- CN111638903B CN111638903B CN202010383272.XA CN202010383272A CN111638903B CN 111638903 B CN111638903 B CN 111638903B CN 202010383272 A CN202010383272 A CN 202010383272A CN 111638903 B CN111638903 B CN 111638903B
- Authority
- CN
- China
- Prior art keywords
- software version
- video file
- updated software
- interface
- updated
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal 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
本公开关于一种不同软件版本的差异信息生成方法及装置,涉及互联网领域,包括:运行更新后的软件版本的安装包,得到更新后的软件版本;遍历更新后的软件版本在运行过程中的界面图像,得到带有与界面图像一一对应的时间戳的第一视频文件;根据目标功能实现方法被调用的时间及第一视频文件的时间戳剪辑第一视频文件,得到第二视频文件,从而减少人为总结更新内容过程中的遗漏或误差。其中,第二视频文件由更新后的软件版本中不同于更新前的软件版本的功能对应的至少一个界面图像构成,目标功能实现方法用于实现更新后的软件版本中不同于更新前的软件版本的功能。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及不同软件版本的差异信息生成方法及装置。
背景技术
通常情况下,软件版本会不定期地进行更新,用户在更新软件版本前可以通过文字、图片等方式了解更新内容。相关技术中,软件工程师等会根据软件版本的更新计划以及该更新计划的完成情况等,来对软件版本的更新内容进行人为总结,并将更新内容以图片或文字的方式进行展示。但是,对软件版本的更新内容进行人为总结,可能会出现遗漏或者存在误差的情况。
发明内容
本公开提供一种不同软件版本的差异信息生成方法及装置,以至少解决相关技术中对软件版本的更新内容进行人为总结,导致部分更新内容被遗漏或者存在误差的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种不同软件版本的差异信息生成方法,包括:
运行更新后的软件版本的安装包,以得到安装在终端设备上的更新后的软件版本;
遍历所述更新后的软件版本在运行过程中的界面图像,得到第一视频文件;所述第一视频文件带有时间戳,所述时间戳与所述界面图像一一对应;
根据目标功能实现方法被调用的时间以及所述第一视频文件的时间戳,剪辑所述第一视频文件,得到第二视频文件;所述第二视频文件由所述更新后的软件版本中不同于更新前的软件版本的功能对应的至少一个界面图像构成,所述目标功能实现方法用于实现所述更新后的软件版本中不同于更新前的软件版本的功能。
可选的,在所述根据目标功能实现方法被调用的时间以及所述第一视频文件的时间戳,剪辑所述第一视频文件,得到第二视频文件之前,所述方法还包括:
确定所述更新后的软件版本相对于所述更新前的软件版本的区别数据包;
解析所述区别数据包,得到目标功能实现方法。
可选的,所述安装包具有监控功能;所述监控功能用于记录所述更新后的软件版本在运行过程中调用的堆栈信息,并解析所述堆栈信息对应的功能实现方法,所述功能实现方法用于实现更新后的软件版本中的功能。
可选的,所述遍历所述更新后的软件版本在运行过程中的界面图像,得到第一视频文件,包括:
根据自动化脚本,以树状图结构记录所述更新后的软件版本在运行过程中的界面图像,以及所述界面图像的显示时间;
以所述界面图像的显示时间作为时间戳,根据所述界面图像生成所述第一视频文件。
可选的,所述根据目标功能实现方法被调用的时间以及所述第一视频文件的时间戳,剪辑所述第一视频文件,得到第二视频文件,包括:
解析所述更新后的软件版本的运行过程中调用的堆栈信息,确定所述目标功能实现方法被调用的开始时间和结束时间;
根据所述第一视频文件的时间戳,删除所述第一视频文件在第一时间段外的图像界面,所述第一时间段为所述目标功能实现方法被调用的开始时间和结束时间之间的时间段;
确定所述第一视频文件在第一时间段内的图像界面构成的视频文件为所述第二视频文件。
可选的,控制所述监控功能开启或关闭。
根据本公开实施例的第二方面,提供一种不同软件版本的差异信息生成装置,包括:
安装单元,被配置为执行运行更新后的软件版本的安装包,得到安装在终端设备上的更新后的软件版本;
处理单元,被配置为执行遍历所述更新后的软件版本在运行过程中的界面图像,得到第一视频文件;所述第一视频文件带有时间戳,所述时间戳与所述界面图像一一对应;
处理单元,被配置为执行根据目标功能实现方法被调用的时间以及所述第一视频文件的时间戳,剪辑所述第一视频文件,得到第二视频文件;所述第二视频文件由更新后的软件版本中不同于更新前的软件版本的功能对应的至少一个界面图像构成,所述目标功能实现方法用于实现所述更新后的软件版本中不同于更新前的软件版本的功能。
可选的,在处理单元,被配置为执行根据目标功能实现方法被调用的时间以及所述第一视频文件的时间戳,剪辑所述第一视频文件,得到第二视频文件之前,所述装置还包括:
处理单元,被配置为执行将所述更新后的软件版本相对于所述更新前的软件版本的区别数据包;
处理单元,被配置为执行解析所述区别数据包,以得到目标功能实现方法。
可选的,所述安装包具有监控功能;所述监控功能用于记录所述更新后的软件版本在运行过程中调用的堆栈信息,并解析所述堆栈信息对应的功能实现方法,所述功能实现方法用于实现更新后的软件版本中的功能。
可选的,所述处理单元,被配置为执行根据自动化脚本,以树状图结构记录所述更新后的软件版本在运行过程中的界面图像,以及所述界面图像的显示时间;
所述处理单元,被配置为执行以所述界面图像的显示时间作为时间戳,根据所述界面图像生成所述第一视频文件。
可选的,所述处理单元,还被配置为执行解析所述更新后的软件版本的运行过程中调用的堆栈信息,确定所述目标功能实现方法被调用的开始时间和结束时间;
所述处理单元,还被配置为执行根据所述第一视频文件的时间戳,删除所述第一视频文件在第一时间段外的图像界面,所述第一时间段为所述目标功能实现方法被调用的开始时间和结束时间之间的时间段;
所述处理单元,还被配置为执行确定所述第一视频文件在第一时间段内的图像界面构成的视频文件为所述第二视频文件。
可选的,所述不同软件版本的差异信息生成装置还包括:控制单元,被配置为执行控制所述监控功能开启或关闭。
根据本公开实施例的第三方面,提供一种不同软件版本的差异信息生成装置,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述第一方面中任一种可选的不同软件版本的差异信息生成方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述计算机可读存储介质中的指令由不同软件版本的差异信息生成装置的处理器执行时,使得所述不同软件版本的差异信息生成装置能够执行上述第一方面中任一种可选的不同软件版本的差异信息生成方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包含指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面中任一种可选的不同软件版本的差异信息生成方法。
本公开的实施例提供的技术方案至少带来以下有益效果:运行更新后的软件版本的安装包,以得到安装在终端设备上的更新后的软件版本。然后遍历所述更新后的软件版本在运行过程中的界面图像,得到带有与界面图像一一对应的时间戳的第一视频文件。最后,根据目标功能实现方法被调用的时间以及第一视频文件的时间戳,剪辑该第一视频文件,得到第二视频文件。其中,第二视频文件由更新后的软件版本中不同于更新前的软件版本的功能对应的至少一个界面图像构成,目标功能实现方法用于实现更新后的软件版本中不同于更新前的软件版本的功能。综上,根据目标功能实现方法被调用的时间以及第一视频文件的时间戳,剪辑通过遍历更新后的软件版本在运行过程中的界面图像得到的第一视频文件,从而得到由目标功能实现方法对应的界面图像构成的第二视频文件,实现软件版本的更新内容的自动化总结,减少人为总结更新内容时出现的遗漏和误差。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种应用场景地的示意图。
图2是根据一示例性实施例示出的一种不同软件版本的差异信息生成方法的流程图一。
图3的(a)是根据一示例性实施例示出的以树状图结构对更新后的软件版本在运行过程中的界面图像进行遍历的示意图。
图3的(b)是根据一示例性实施例示出的第一视频文件的时间轴的示意图。
图4是根据一示例性实施例示出的第一视频文件的时间轴的示意图。
图5是根据一示例性实施例示出的一种不同软件版本的差异信息生成方法的流程图二。
图6是根据一示例性实施例示出的一种不同软件版本的差异信息生成装置的框图。
图7是根据一示例性实施例示出的一种装置的框图(终端设备的一般结构)。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先,对本公开所提供的技术方案的应用场景进行介绍:
参照图1,其示出本公开实施例提供的一种不同软件版本的差异信息生成方法所涉及的实施环境示意图。如图1所示,该实施环境中可以包括服务器101和终端设备102,终端设备与服务器之间可以通过有线网络或者无线网络连接。可选的,该服务器101的数量为一个或多个。可选的,终端设备102的数量为一个或多个。
示例性的,本公开实施例中的终端设备可以是手机、平板电脑、桌面型或膝上型或手持型计算机、笔记本电脑、超级移动计算机(ultre-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等可以安装各种软件,并使用软件的设备,本公开实施例对终端设备的具体形态不做特殊限制。
终端设备102用于编译更新后的软件版本的代码,以得到更新后的软件版本的安装包,并运行该安装包,以安装该更新后的软件版本。终端设备102还用于遍历其安装的更新后的软件版本在运行过程中的界面图像,生成第一视频文件,并根据第一视频文件的时间戳和目标功能实现方法被调用的时间,剪辑第一视频文件,得到用于展示更新内容的第二视频文件。可选的,终端设备102用于存储第二视频文件或将第二视频文件存储至服务器101。可选的,终端设备102用于存储目标功能实现方法或将目标功能实现方法存储至服务器101。
示例性的,本公开中的服务器101可以为云端服务器。可选的,服务器101用于存储第二视频文件以及目标功能实现方法。
需要说明的是,上述本公开实施例提供的一种不同软件版本的差异信息生成方法所涉及的实施环境为非正式环境,即非用户可见的开发环境。在正式环境中,终端设备(包括上述提到的终端设备102以及其他的终端设备)接收到软件版本更新的消息,从服务器101获取第二视频文件,以使得持有该终端设备的用户在完成软件版本的更新之前,可通过第二视频文件,来了解软件版本的更新内容。
图2是根据一示例性实施例示出的一种不同软件版本的差异信息生成方法的流程图,可以实现软件版本的更新内容的自动化总结,减少人为对软件版本的更新内容进行总结可能会出现误差或遗漏的情况。该方法的执行主体为终端设备,或终端设备上的处理器。如图2所示,该不同软件版本的差异信息生成方法包括以下步骤:
S201、编译更新后的软件版本的代码,得到更新后的软件版本的安装包。
可选的,获取到更新后的软件版本的代码后,对该更新后的软件版本的代码进行编译,并在编译的过程中,修改该更新后的软件版本的代码中的字节码,即该更新后的软件版本的代码中的预设部分的代码形成的程序,从而在编译完成后,得到具备监控功能的更新后的软件版本的安装包。其中,该监控功能用于记录更新后的软件版本在运行过程中调用的堆栈信息,并解析该堆栈信息对应的功能实现方法,该功能实现方法所实现的功能即该更新后的软件版本中的功能,该功能包括更新后的软件版本与更新前的软件版本相同的功能,也包括更新后的软件版本与更新前的软件版本不同的功能。
示例性的,在对更新后的软件版本的代码进行编译的过程中,可通过工具instrument组件动态修改该更新后的软件版本的代码中的字节码的方式,来得到具备监控功能的更新后的软件版本的安装包,以实时记录更新后的软件版本在运行过程中调用的堆栈信息,并解析该堆栈信息对应的功能实现方法,进而可以确定该功能实现方法实现的功能。
在一种可能的实现方式中,终端设备获取通过git工具向代码库提交的代码,即更新后的软件版本的代码。
由于软件版本的更新实质上是软件的底层代码发生了变化,通过上述过程,本公开可以直接根据更新后的软件版本的底层代码进行编译得到的安装包,获取到更新后的软件版本,从而在经过下述步骤S202-S204后,进一步提高对软件版本的更新内容进行总结的准确性,减少人为总结更新内容可能会出现遗漏或误差的情况。
S202、运行更新后的软件版本的安装包,以得到安装在终端设备上的更新后的软件版本。
可选的,运行具有监控功能的更新后的软件版本的安装包,则可以得到安装在终端设备上的更新后的软件版本,该更新后的软件版本具有监控功能。
S203、遍历更新后的软件版本在运行过程中的界面图像,得到第一视频文件。
其中,第一视频文件带有时间戳,该时间戳与界面图像一一对应。
可选的,根据自动化脚本,按照树状图结构对更新后的软件版本在运行过程中的界面图像进行遍历,并记录每一界面图像的显示时间。然后,以每一界面图像的显示时间作为时间戳,根据每一界面图像生成带有时间戳的第一视频文件。
示例性的,以更新后的软件版本的界面上的每一按键对应一种功能为例,如图3的(a)所示,在更新后的软件版本的界面A上设置有2个按键,即a1和a2,界面A的显示时间为11:00。点击a1,更新后的软件版本的界面切换为界面B,界面B上设置有2个按键,即b1和b2,界面B的显示时间为11:01。点击b1,则更新后的软件版本的界面切换为界面C,界面C的显示时间为11:02。从界面C重新切换为界面B(显示时间11:03)并点击b2,则更新后的软件版本的界面切换为界面D,界面D的显示时间为11:04。从界面D重新切换为界面B(显示时间11:05),再切换为界面A(显示时间11:06)并点击a2,则更新后的软件版本的界面切换为界面E,界面E的显示时间为11:07。如图3的(b)所示,在第一视频文件的时间轴上分布有8个时间戳,分别为上述显示时间11:00~11:07,分别对应界面A、界面B、界面C、界面B、界面D、界面B、界面A、界面E,每一界面对应一个界面图像。
在一种可能的实现方式中,根据自动化脚本,按照树状图结构遍历更新后的软件版本在运行过程中的界面图像,并利用该更新后的软件版本的监控功能记录每一界面图像的显示时间。最后,以每一界面图像的显示时间为时间戳,根据每一界面图像来生成第一视频文件。
在一种可能的实现方式中,根据自动化脚本,通过调用更新后的软件版本所在终端设备的***录屏接口,按照树状图结构记录该更新后的软件版本在运行过程中的界面图像以及界面图像的显示时间,从而得到第一视频文件,并将每一界面图像的显示时间作为该第一视频文件的时间戳。
在一种可能的实现方式中,用于遍历更新后的软件版本在运行过程中的界面图像的自动化脚本可以时根据instrument框架编写的。
在一种可能的实现方式中,在第一视频文件中,可以对更新后的软件版本的界面切换所对应的功能进行简要的文字介绍,每一界面图像所对应的显示时间也可以添加在该界面图像上显示。
S204、根据目标功能实现方法被调用的时间以及第一视频文件的时间戳,剪辑第一视频文件,得到第二视频文件。
其中,第二视频文件由更新后的软件版本中不同于更新前的软件版本的功能对应的至少一个界面图像构成,目标功能实现方法用于实现更新后的软件版本中不同于更新前的软件版本的功能。
可选的,获取目标功能实现方法。然后终端设备利用更新后的软件版本的监控功能,对其运行过程中调用的堆栈信息进行监控,并解析其运行过程中调用的堆栈信息对应的功能实现方法,记录每一堆栈信息对应的功能实现方法被调用的起始时间和结束时间。终端设备根据目标功能实现方法和被调用的堆栈信息对应的功能实现方法,对堆栈信息进行筛选,即保留目功能实现方法对应的堆栈信息,删除其他功能实现方法对应的堆栈信息,从而确定每一目标功能实现方法被调用的起始时间和结束时间。进而确定每一目标功能实现方法被调用的起始时间和结束时间之间的时间段为第一时间段,并根据第一视频文件的时间戳,删除第一视频文件中在第一时间段外的图像界面。最后,确定第一视频文件在第一时间段内的图像界面构成的视频文件为第二视频文件,即仅包含更新后的软件版本中的新增功能对应的图像界面给构成的视频文件。
在一种可能的实现方式中,安装有更新后的软件版本的终端设备可以通过web服务来获取目标功能实现方法。
在一种可能的实现方式中,根据第一时间段,通过FFmpe技术对第一视频文件进行剪辑,得到第二视频文件。
在一种可能的实现方式中,第二视频文件可以沿用第一视频文件中的时间戳,或者重新对其涉及到的界面图像按顺序重新设置时间戳。
示例性的,以图3的(b)中的界面D和界面E对应更新后的软件版本中的目标功能实现方法实现的功能为例,如图4所示,第二视频文件中包含界面D和界面E,界面D和界面E的时间戳可以沿用其在第一视频文件中的时间戳。例如,以界面D和界面E在第一视频文件中首次出现时所对应的时间戳,作为其在第二视频文件中的时间戳,即界面D和界面E在第二视频文件中的时间戳分别为11:04和11:07。或者重新设置第二视频文件中的时间戳,例如界面D和界面E的时间戳分别为图4中括号内所示的1和2。
在一种可能的实现方式中,在第二视频文件中,可以其每一界面图像所对应的功能进行简要的文字介绍,每一界面图像所对应的显示时间也可以添加在该界面图像上显示。
在本公开中,终端设备可以利用堆栈信息对应的目标功能实现方法被调用的时间,并结合对更新后的软件版本的界面图像进行遍历得到的带有时间戳的第一视频文件,来剪辑第一视频文件,从而得到只包含更新后的软件版本的更新内容的第二视频文件,实现软件版本的更新内容的自动化总结,减少人为对软件版本的更新内容进行总结可能会出现误差或遗漏的情况,节省人力,并提升确定软件版本的更新内容的效率。
可选的,在步骤S204之后,该方法还包括:终端设备存储第二视频文件或终端设备将第二视频文件存储于云端服务器,以便于用户所持有的终端设备在接收到软件版本存在更新的消息时,从存储有该第二视频文件的终端设备或云端服务器获取该第二视频文件,以在用户所持有的终端设备对该软件版本进行更新前,预览该软件版本的更新内容并使得持有该终端设备的用户或该终端设备确定是否更新该软件版本。
可选的,在本公开中,为了提高更新后的软件版本的监控功能的使用效率,可以控制监控功能开启或关闭。也就是说,在一种可能的实现方式中,更新后的软件版本的代码中预留有开关接口,该开关接口用于开启或关闭监控功能。
在一种可能的实现方式中,开发者通过控制该开关接口,打开更新后的软件版本的监控功能后,利用该监控功能对该更新后的软件版本在运行过程中调用的堆栈信息进行监控并解析堆栈信息中的功能实现方法。或者,该监控功能还可以用于对更新后的软件版本在运行过程中的界面图像进行实时记录。
在一种可能的实现方式中,该监控功能的开关接口可以支持云端控制,例如通过远程服务器的web服务控制该开关接口是否打开。
在一种可能的实现方式中,打开更新后的软件版本的动作,与开始遍历更新后的软件版本在运行过程中的界面图像的动作是联动的。也就是说,打开该更新后的软件版本的同时,开始遍历该更新后的软件版本在运行过程中的界面图像。然后,终端设备根据该更新后的软件版本的当前运行状态,即该更新后的软件版本是否已打开,获取目标功能实现方法。若该更新后的软件版本已打开,即开始对该更新后的软件版本的运行过程中的界面图像进行遍历,则通过用于控制监控功能的开关接口,打开该更新后的软件版本的监控功能,对该更新后的软件版本在运行过程中调用的堆栈信息,并解析堆栈信息对应的功能实现方法。
在一种可能的实现方式中,开始遍历更新后的软件版本在运行过程中的界面图像的动作,与通过开关接口打开该更新后的软件版本的监控功能的动作是联动的。也就是说,通过开关接口打开更新后的软件版本的监控功能的同时,开始遍历更新后的软件版本在运行过程中的界面图像。
可选的,在本公开中,在不设置监控功能的开关的情况下,为了提高监控功能的使用效率,可以将更新后的软件版本的监控功能的开关与该更新后的软件版本是否开始运行设置为联动的。也就是说,更新后的软件版本开始运行,即更新后的软件版本打开,则该更新后的软件版本的监控功能打开。
在一种可能的实现方式中,在不设置监控功能的开关的情况下,为了提高监控功能的使用效率,将开始遍历更新后的软件版本在运行过程中的界面图像的动作、打开该更新后的软件版本的监控功能的动作、以及打开该更新后的软件版本的动作设置为联动的。也就是说,在打开更新后的软件版本的同时,打开该更新后的软件版本的监控功能,并开始遍历更新后的软件版本在运行过程中的界面图像。
可选的,在步骤S204之前,本公开所提供的不同软件版本的差异信息生成方法还包括步骤S205-S207,如图5所示:
S205、获取更新后的软件版本的代码。
在一种可能的实现方式中,终端设备获取通过git工具向代码库提交的代码,即更新后的软件版本的代码。其中,git是一个开源的分布式版本控制***,可以高速有效的进行各种大小的不同软件的软件版本的管理。
需要说明的是,该步骤S205在步骤S201之前执行。
S206、确定更新后的软件版本相对于更新前的软件版本的区别数据包。
其中,区别数据包可以为一个或多个。
在一种可能的实现方式中,区别数据包以文件的形式进行存储,得到区别文件。区别文件的数量为一个或多个,区别文件中所存储的区别数据包对应更新后的软件版本中的更新内容。
在一种可能的实现方式中,终端设备通过git工具确定更新后的软件版本的代码中相对于更新前的软件版本的代码的区别数据,并将该区别数据存储为一个或多个预设文件类型的区别文件。其中,区别文件的文件类型可以为预设文件类型,例如diff文件。
S207、解析区别数据包,得到目标功能实现方法。
在一种可能的实现方式中,终端设备对存储有区别数据包的一个或多个区别文件进行解析,每一区别文件可解析得到一个或多个目标功能实现方法。关于目标功能实现方法的介绍可以参见上述内容,在此不再赘述。其中,终端设备可以以列表的形式存储目标功能实现方法,或者终端设备可以将目标功能实现方法以列表的形式存储在云端服务器中。
示例性的,上述提到的功能实现方法可以是代码方法code method,代码方法是软件代码(即指项目代码)中一组具有特定功能实现的代码块,可以实现某一特定功能。其中,终端设备可以以code method列表的形式存储目标code method,或者终端设备可以将目标code method以code method列表的形式存储在云端服务器中。
在经过步骤S207之后,上述步骤S204中所获取到的目标功能实现方法可以是从云端,例如云端服务器中获取到的,也可以是从存储有该目标功能实现方法的终端设备中获取的。在一种可能的实现方式中,安装有更新后的软件版本的终端设备可以通过web服务,从云端服务器获取目标功能实现方法。
由于软件版本的更新实质上是软件的底层代码发生了变化,通过上述过程,本公开可以直接根据更新后的软件版本的底层代码,来对更新后的软件版本中的目标功能实现方法,可以更准确地对软件版本的更新内容进行总结,减少人为总结更新内容可能会出现遗漏或误差的情况。
图6是根据一示例性实施例示出的一种不同软件版本的差异信息生成装置框图。参照图6,该装置包括安装单元601,处理单元602和控制单元603。
该安装单元601,被配置为执行运行更新后的软件版本的安装包,得到安装在终端设备上的更新后的软件版本。
在一种可能的实现方式中,安装包具有监控功能。其中,监控功能用于记录更新后的软件版本在运行过程中调用的堆栈信息,并解析堆栈信息对应的功能实现方法,功能实现方法用于实现更新后的软件版本中的功能。
该处理单元602,被配置为执行遍历更新后的软件版本在运行过程中的界面图像,得到第一视频文件。其中,第一视频文件带有时间戳,时间戳与界面图像一一对应。
可选的,处理单元602,被配置为根据自动化脚本,以树状图结构记录更新后的软件版本在运行过程中的界面图像,以及界面图像的显示时间。然后处理单元602,还被配置为执行以界面图像的显示时间作为时间戳,根据界面图像生成所述第一视频文件。
该处理单元602,还被配置为执行根据目标功能实现方法被调用的时间以及第一视频文件的时间戳,剪辑该第一视频文件,得到第二视频文件。其中,第二视频文件由更新后的软件版本中不同于更新前的软件版本的功能对应的至少一个界面图像构成,目标功能实现方法用于实现更新后的软件版本中不同于更新前的软件版本的功能。
可选的,处理单元602,被配置为执行解析更新后的软件版本的运行过程中调用的堆栈信息,确定目标功能实现方法被调用的开始时间和结束时间。处理单元602,还被配置为执行根据第一视频文件的时间戳,删除第一视频文件在第一时间段外的图像界面。其中,第一时间段为目标功能实现方法被调用的开始时间和结束时间之间的时间段。处理单元602,还被配置为执行确定第一视频文件在第一时间段内的图像界面构成的视频文件为所述第二视频文件。
可选的,在处理单元602,被配置为执行根据目标功能实现方法被调用的时间以及所述第一视频文件的时间戳,剪辑所述第一视频文件,得到第二视频文件之前,该装置还包括:处理单元602,被配置为确定更新后的软件版本相对于更新前的软件版本的区别数据包。处理单元602,还被配置为解析区别数据包,以得到目标功能实现方法。
可选的,该装置还包括:控制单元603,被配置为执行开启或关闭监控功能。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种终端设备的结构框图,该终端可以是不同软件版本的差异信息生成装置,该装置可以是:智能手机、平板电脑、笔记本电脑、台式电脑或者服务器等。
不同软件版本的差异信息生成装置可以包括至少一个处理器71,通信总线72,存储器73以及至少一个通信接口74。
处理器71可以是一个处理器(central processing units,CPU),微处理单元,特定用途集成电路(application specific integrated circuit,ASIC),或一个或多个用于控制本公开方案程序执行的集成电路。
通信总线72可包括一通路,在上述组件之间传送信息。
通信接口74,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如服务器、以太网,无线接入网(radio access network,RAN),无线局域网(wireless localarea networks,WLAN)等。
存储器73可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
其中,存储器73用于存储执行本公开方案的应用程序代码,并由处理器71来控制执行。处理器71用于执行存储器73中存储的应用程序代码,从而实现本公开方法中的功能。
在具体实现中,作为一种实施例,处理器71可以包括一个或多个CPU,例如图7中的CPU0和CPU1。
在具体实现中,作为一种实施例,不同软件版本的差异信息生成装置可以包括多个处理器,例如图7中的处理器71和处理器75。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,不同软件版本的差异信息生成装置还可以包括输入设备76和输出设备77。输入设备76和处理器71通信,可以以多种方式接受用户的输入。例如,输入设备76是鼠标、键盘、触摸屏设备或传感设备等。输出设备77和处理器71通信,可以以多种方式来显示信息。例如,输出设备77可以是液晶显示器(liquid crystaldisplay,LCD),发光二级管(light emitting diode,LED)显示设备等。
本领域技术人员可以理解,图7中示出的结构并不构成对终端设备的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器73,上述指令可由不同软件版本的差异信息生成装置的处理器71执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本公开还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机设备执行上述所示实施例提供的不同软件版本的差异信息生成方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (12)
1.一种不同软件版本的差异信息生成方法,其特征在于,包括:
运行更新后的软件版本的安装包,以得到安装在终端设备上的更新后的软件版本;
遍历所述更新后的软件版本在运行过程中的界面图像,得到第一视频文件;所述第一视频文件带有时间戳,所述时间戳与所述界面图像一一对应;
解析所述更新后的软件版本的运行过程中调用的堆栈信息,确定目标功能实现方法被调用的开始时间和结束时间;所述目标功能实现方法用于实现所述更新后的软件版本中不同于更新前的软件版本的功能;
根据所述第一视频文件的时间戳,删除所述第一视频文件在第一时间段外的图像界面,所述第一时间段为所述目标功能实现方法被调用的开始时间和结束时间之间的时间段;
确定所述第一视频文件在第一时间段内的图像界面构成的视频文件为第二视频文件;所述第二视频文件由所述更新后的软件版本中不同于更新前的软件版本的功能对应的至少一个界面图像构成。
2.根据权利要求1所述的不同软件版本的差异信息生成方法,其特征在于,在所述根据目标功能实现方法被调用的时间以及所述第一视频文件的时间戳,剪辑所述第一视频文件,得到第二视频文件之前,所述方法还包括:
确定所述更新后的软件版本相对于所述更新前的软件版本的区别数据包;
解析所述区别数据包,得到目标功能实现方法。
3.根据权利要求1所述的不同软件版本的差异信息生成方法,其特征在于,所述安装包具有监控功能;所述监控功能用于记录所述更新后的软件版本在运行过程中调用的堆栈信息,并解析所述堆栈信息对应的功能实现方法,所述功能实现方法用于实现更新后的软件版本中的功能。
4.根据权利要求1-3任一项所述的不同软件版本的差异信息生成方法,其特征在于,所述遍历所述更新后的软件版本在运行过程中的界面图像,得到第一视频文件,包括:
根据自动化脚本,以树状图结构记录所述更新后的软件版本在运行过程中的界面图像,以及所述界面图像的显示时间;
以所述界面图像的显示时间作为时间戳,根据所述界面图像生成所述第一视频文件。
5.根据权利要求3所述的不同软件版本的差异信息生成方法,其特征在于,所述方法还包括:
控制所述监控功能开启或关闭。
6.一种不同软件版本的差异信息生成装置,其特征在于,包括:
安装单元,被配置为执行运行更新后的软件版本的安装包,得到安装在终端设备上的更新后的软件版本;
处理单元,被配置为执行遍历所述更新后的软件版本在运行过程中的界面图像,得到第一视频文件;所述第一视频文件带有时间戳,所述时间戳与所述界面图像一一对应;
所述处理单元,被配置为执行解析所述更新后的软件版本的运行过程中调用的堆栈信息,确定目标功能实现方法被调用的开始时间和结束时间;所述目标功能实现方法用于实现所述更新后的软件版本中不同于更新前的软件版本的功能;
所述处理单元,被配置为执行根据所述第一视频文件的时间戳,删除所述第一视频文件在第一时间段外的图像界面,所述第一时间段为所述目标功能实现方法被调用的开始时间和结束时间之间的时间段;
所述处理单元,被配置为执行确定所述第一视频文件在第一时间段内的图像界面构成的视频文件为第二视频文件;所述第二视频文件由更新后的软件版本中不同于更新前的软件版本的功能对应的至少一个界面图像构成。
7.根据权利要求6所述的不同软件版本的差异信息生成装置,其特征在于,所述装置还包括:
所述处理单元,被配置为执行确定所述更新后的软件版本相对于所述更新前的软件版本区别数据包;
所述处理单元,被配置为执行解析所述区别数据包,以得到目标功能实现方法。
8.根据权利要求6所述的不同软件版本的差异信息生成装置,其特征在于,所述安装包具有监控功能;所述监控功能用于记录所述更新后的软件版本在运行过程中调用的堆栈信息,并解析所述堆栈信息对应的功能实现方法,所述功能实现方法用于实现更新后的软件版本中的功能。
9.根据权利要求6-8任一项所述的不同软件版本的差异信息生成装置,其特征在于,所述处理单元,被配置为执行遍历所述更新后的软件版本在运行过程中的界面图像,得到第一视频文件,包括:
所述处理单元,被配置为执行根据自动化脚本,以树状图结构记录所述更新后的软件版本在运行过程中的界面图像,以及所述界面图像的显示时间;
所述处理单元,被配置为执行以所述界面图像的显示时间作为时间戳,根据所述界面图像生成所述第一视频文件。
10.根据权利要求8所述的不同软件版本的差异信息生成装置,其特征在于,所述装置还包括:
控制单元,被配置为执行控制所述监控功能开启或关闭。
11.一种不同软件版本的差异信息生成装置,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至5中任一项所述的不同软件版本的差异信息生成方法。
12.一种存储介质,当所述存储介质中的指令由不同软件版本的差异信息生成装置的处理器执行时,使得不同软件版本的差异信息生成装置能够执行如权利要求1至5中任一项所述的不同软件版本的差异信息生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010383272.XA CN111638903B (zh) | 2020-05-08 | 2020-05-08 | 不同软件版本的差异信息生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010383272.XA CN111638903B (zh) | 2020-05-08 | 2020-05-08 | 不同软件版本的差异信息生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111638903A CN111638903A (zh) | 2020-09-08 |
CN111638903B true CN111638903B (zh) | 2023-05-30 |
Family
ID=72330033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010383272.XA Active CN111638903B (zh) | 2020-05-08 | 2020-05-08 | 不同软件版本的差异信息生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111638903B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536467A (zh) * | 2018-04-08 | 2018-09-14 | 中国联合网络通信集团有限公司 | 代码的定位处理方法、装置、终端设备及存储介质 |
CN108762799A (zh) * | 2018-04-03 | 2018-11-06 | 维沃移动通信有限公司 | 一种更新应用的方法及终端 |
CN109086071A (zh) * | 2018-08-22 | 2018-12-25 | 平安普惠企业管理有限公司 | 一种管理软件版本信息的方法及服务器 |
CN109408102A (zh) * | 2018-09-04 | 2019-03-01 | 珠海格力电器股份有限公司 | 一种版本比对方法和装置、家电设备、网络设备 |
CN110427215A (zh) * | 2019-07-30 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 一种应用于前端开发的程序版本差异展示方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060130047A1 (en) * | 2004-11-30 | 2006-06-15 | Microsoft Corporation | System and apparatus for software versioning |
-
2020
- 2020-05-08 CN CN202010383272.XA patent/CN111638903B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762799A (zh) * | 2018-04-03 | 2018-11-06 | 维沃移动通信有限公司 | 一种更新应用的方法及终端 |
CN108536467A (zh) * | 2018-04-08 | 2018-09-14 | 中国联合网络通信集团有限公司 | 代码的定位处理方法、装置、终端设备及存储介质 |
CN109086071A (zh) * | 2018-08-22 | 2018-12-25 | 平安普惠企业管理有限公司 | 一种管理软件版本信息的方法及服务器 |
CN109408102A (zh) * | 2018-09-04 | 2019-03-01 | 珠海格力电器股份有限公司 | 一种版本比对方法和装置、家电设备、网络设备 |
CN110427215A (zh) * | 2019-07-30 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 一种应用于前端开发的程序版本差异展示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111638903A (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018095306A1 (zh) | 应用程序页面处理方法、装置及存储介质 | |
US20150331882A1 (en) | Redundant file deletion method, apparatus and storage medium | |
CN110806868B (zh) | 一种单页面搭建及加载方法 | |
CN109684573B (zh) | 目标图片显示方法及装置、存储介质、电子设备 | |
US20180159724A1 (en) | Automatic task tracking | |
US11741002B2 (en) | Test automation systems and methods using logical identifiers | |
CN111667199A (zh) | 工作流构建方法、装置、计算机设备和存储介质 | |
CN110659210A (zh) | 一种信息获取方法、装置、电子设备及存储介质 | |
US20230259358A1 (en) | Documentation enforcement during compilation | |
CN115982491A (zh) | 页面更新方法及装置、电子设备和计算机可读存储介质 | |
CN112507259A (zh) | 网页加载方法及装置、电子设备、存储介质 | |
CN115543440A (zh) | 安卓项目迁移到类安卓***的方法、电子设备和存储介质 | |
CN111414308B (zh) | 应用程序包的处理方法和应用程序的运行方法、装置 | |
US20210349738A1 (en) | Application library analytics tool | |
CN111638903B (zh) | 不同软件版本的差异信息生成方法及装置 | |
CN111158777A (zh) | 组件调用方法、装置及计算机可读存储介质 | |
CN114817803A (zh) | 一种页面跳转方法、装置和电子设备 | |
CN115080114A (zh) | 应用程序的移植处理方法、装置和介质 | |
CN114115855A (zh) | 代码复用方法及装置、计算机可读存储介质、电子设备 | |
CN113110846A (zh) | 一种环境变量的获取方法及装置 | |
CN113377376A (zh) | 数据包生成方法、数据包生成装置、电子设备及存储介质 | |
CN113760317A (zh) | 一种页面显示方法、装置、设备及存储介质 | |
CN112367295A (zh) | 插件展示方法及装置、存储介质及电子设备 | |
CN111209225B (zh) | 获取实际地址的方法、装置、介质和电子设备 | |
CN116185412B (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 |