CN111104158A - 一种软件打包的方法、装置、计算机设备及存储介质 - Google Patents
一种软件打包的方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111104158A CN111104158A CN201911342525.2A CN201911342525A CN111104158A CN 111104158 A CN111104158 A CN 111104158A CN 201911342525 A CN201911342525 A CN 201911342525A CN 111104158 A CN111104158 A CN 111104158A
- Authority
- CN
- China
- Prior art keywords
- information
- data
- installation package
- packaging
- target
- 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.)
- Withdrawn
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
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为本发明实施例中的软件打包的方法的流程图;
图4为本发明实施例中的软件打包的装置的结构框图;
图5为本发明实施例中的计算机设备的又一结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
如前所述,现有技术中,当需要针对不同硬件、不同的功能需求软件安装包时,一般都是由开发人员先大致确定需要的组件以及配置组件,然后手动的根据实际需求将组件进行重新编译组装,进而打包成软件安装包。可见,现有技术中窜在软件安装包打包效率较低且准确性较低的问题。
鉴于此,本发明提出了一种软件打包的方法,通过该方法可以确定待打包的软件安装包的版本信息和对应的硬件架构的请求信息,然后自动根据该请求信息从预先配置的数据库中确定数据包,再根据功能需求和性能需求的请求信息从数据包中确定目标数据,然后再对目标数据进行相应处理,从而可以实现软件安装包自动化的打包,极大的提高的软件安装包打包的效率。
在介绍完本发明实施例的设计思想之后,下面对本发明实施例中的软件打包技术方案适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本发明实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本发明实施例提供的技术方案。
在本发明实施例,请参见图1,计算机设备可以接收输入的待打包的软件安装包的需求信息,其中,该需求信息可以是硬件架构信息,功能需求信息等等,然后对需求信息进行处理,从而可以获得与需求信息对应的配置文件和测试用例,然后将测试用例和配置文件发送给测试设备,从而在测试设备根据测试用例完成对配置文件的测试之后,将测试结果信息反馈给计算机设备,然后计算机设备可以根据反馈的信息,确定可以根据配置文件获得软件安装包。在具体实施过程中,计算机设备可以与多个测试设备进行交互,图1中仅以三个测试设备为例(即测试设备1、测试设备2以及测试设备3)进行示出。
需要说明的是,计算机设备接收的待打包的软件安装包的需求信息,可以是通过用户在安装有软件打包系统平台的计算机设备上对应的显示区域,勾选或输入需求的信息,还可以是接收其他设备发送的信息,本发明实施例中不做限制。图1中以根据用户在安装有软件打包系统平台的计算机设备上对应的显示区域,勾选或输入需求的信息作为计算机设备接收的信息为例进行示出。
在具体的实施过程中,用户可以在安装有软件打包系统平台的计算机设备上对应的显示区域,勾选或输入需求的信息,例如硬件架构信息,功能指标信息等,从而软件打包系统平台可以根据预设的对应规则,确定出与选择的信息对应的数据的地址信息,从而可以根据地址信息获取在组件仓库即数据库中存储的组件信息,然后根据组件信息生成组件文件,进而生成配置文件和自动化测试用例。进一步地,可以将配置文件和自动化测试用例发送给相应的测试设备,当测试设备测试合格后可以向计算机设备发送校验合格对应的反馈信息,从而计算机设备可以在接收到反馈信息之后,根据配置文件可以生成软件安装包。
在本发明实施例中,任一用户均可以进行相应的操作,从而安装有软件打包系统的计算机设备可以自动的根据操作对应的信息生成软件安装包,而无需专业技术较高的技术人员经过多个步骤操作生成,即在减少用户操作步骤提升软件打包速率的基础上,还降低了对操作人员的要求,进而提升用户的使用体验。进一步地,本发明实施例中,在生成相应的配置文件之后,还可以自动的对配置文件进行校验,从而提升打包的软件安装包的准确性,可以准确的满足用户的需求。需要说明的是,在本发明实施例中,为了便于描述,可以将软件数据打包成软件安装包称为软件打包。
在具体的实施过程中,可以建立配置数据库,具体的,可以将组件、软件安装包配置项、功能指标数据、性能容量指标数据以及测试用例数据等数据录入配置数据库中。功能指标数据和性能容量指标数据可以按照预定的级别存储在数据库对应的组件仓库中。例如,可以将开发完成的组件都编译打包成.deb格式的压缩文件,并将其放入组件货架(组件仓库)中,即最终获得的数据为编译好的数据信息。
其中,组件(Component)可以理解为对数据和方法的简单封装,软件配置项可以理解为软件生存周期各个阶段活动的产物经审批后的东西,具体的,软件配置项可以包括:与合同、过程、计划和产品有关的文档和资料;源代码、目标代码和可执行代码;相关产品,包括软件工具、库内的可重用软件、外购软件及顾客提供的软件等。测试用例可以理解为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
在本发明实施例中,还可以根据预设规则建立功能指标数据与组件数据、配置项数据、测试用例的第一关系,以及,建立性能容量指标与组件、配置项、测试用例的第二关系,其中,第一关系和第二关系属于对应关系组,然后可以根据对应关系组,确定与功能指标数据和/或性能容量指标数据对应的其他数据。
在本发明实施例中,请参见图2,安装有软件打包系统的计算机设备至少包括WEB交互模块、数据调用模块、配置文件以及自动化测试用例集生成模块、打包模块以及软件安装包校验模块。
具体的,WEB交互模块用于提供操作界面,用户可以在操作界面进行选择操作或输入操作,从而计算机设备可以获得输入的信息,然后将输入的信息发送给数据调用模块,从而可以确定与该输入的信息对应的数据信息,进而可以确定该数据信息对应的组件仓库的存储地址。进一步地,还可以根据组件仓库的存储地址从对应的服务器中获取数据,然后将数据发送给配置文件以及自动化测试用例集生成模块,从而可以获得配置文件以及自动化测试用例,进而可以通过软件安装包校验模块进行校验,若校验合格,则打包模块可以打包相应的软件安装包。
以下结合图3所示的方法流程图对本发明实施例中软件打包的方法进行说明,图3所示的各步骤可以由前述图1或图2中的计算机设备执行。在具体实施过程中,该计算机设备可以是服务器,例如是个人计算机、大中型计算机、计算机集群,等等。
步骤301:确定第一打包请求信息,第一打包请求信息包括基线版本信息和硬件架构信息,其中,基线版本信息用于表征软件安装包对应的基准迭代版本信息,硬件架构信息用于表征软件安装包所应用的硬件环境的对应信息。
步骤302:根据基线版本信息和硬件架构信息,自动触发从配置数据库中获取与基线版本信息和硬件架构信息对应的第一数据包。
在本发明实施例中,用户可以在显示区域中选择基线版本以及硬件架构信息,具体的,用户可以在显示区域中勾选相应的基线版本和硬件架构信息,也可以是用户直接在显示区域中输入基线版本以及硬件架构信息,从而计算机设备可以根据输入的信息确定第一打包请求信息。
在具体的实施过程中,考虑到软件新版本可能是基于某个基线版本进行迭代开发的需求,因此用户可以先选择基线版本信息,其中,基线版本信息用于表征软件安装包对应的基准迭代版本信息;进一步地,还可以选择设备支持的硬件架构信息,硬件架构信息用于表征软件安装包所应用的硬件环境的对应信息,这样的方式,可以使得最后生成的软件安装包符合实际需求,且可以得到设备支持。
进一步地,当计算机设备获得基线版本信息和硬件架构信息之后,可以根据基线版本信息和硬件架构信息,自动触发从预先建立的配置数据库中,获取与基线版本信息和硬件架构信息对应的第一数据包。其中,第一数据包中包括与所述基线版本信息和所述硬件架构信息对应的多个软件安装包配置项数据、多个测试用例数据以及多个关联组件数据。即可以确定出该基线版本和硬件架构信息对应的所有的组件数据、软件安装包配置项数据以及测试用例数据。
在本发明实施例中,根据基线版本信息和硬件架构信息,从预先确定的配置数据库中确定符合基线版本信息和硬件架构信息的数据;获取符合基线版本信息和硬件架构信息的数据,在配置数据库中对应的组件单元的URL路径信息,并根据URL路径信息获得第一数据包。
步骤303:确定第二打包请求信息,并根据第二打包请求信息从第一数据包中,确定与第二打包请求信息对应的目标数据信息,其中,第二打包请求信息包括目标功能指标和/或目标性能容量指标。
步骤304:根据目标数据信息,生成打包所需的组件文件以及根据组件文件生成配置文件,以根据配置文件获得软件安装包。
在本发明实施例中,可以接收输入的待打包的软件安装包的功能需求信息和/或待打包的软件安装包的性能需求信息,然后可以根据前述信息确定第二打包请求信息。具体的,输入信息的获得方式和前述获得第一打包请求信息的方式相同,这里不再赘述。
在本发明实施例中,在获得第二打包请求信息之后,可以确定目标功能指标和/或目标性能容量指标的对应关系组,其中,对应关系组中包括目标功能指标与软件安装包配置项数据、测试用例数据、关联组件数据对应的第一关系和目标性能容量指标与软件安装包配置项数据、测试用例数据、关联组件数据对应的第二关系;然后可以根据对应关系组和目标功能指标和/或目标性能容量指标,从第一数据包中,确定与第二打包请求信息对应的目标数据信息。
在一种可能的方式中,若第二打包请求信息包括目标功能指标和目标性能容量指标,则可以根据目标功能指标和第一关系,从第一数据包中,确定与目标功能指标对应的第一目标数据信息,然后再根据目标性能容量指标和第二关系,从第一目标数据信息中,确定与目标性能容量指标对应的目标数据信息。
在具体的实施过程中,当确定的第二打包请求信息包括目标功能指标和目标性能指标时,可以确定出目标功能指标对应的第一目标数据信息,然后再从与目标功能指标信息对应的第一目标数据信息中,确定出满足目标性能容量指标的信息,这样的方式,可以准确的确定出满足目标功能指标和目标性能容量指标的组件数据、软件安装包配置项数据以及测试用例数据。
在一种可能的实施方式中,若第二打包请求信息为目标功能指标,则可以根据目标功能指标和第一关系,从第一数据包中,确定与目标功能指标对应的第一目标数据信息,然后可以按照预设规则,从第一目标数据信息中确定目标数据信息。
在具体的实施过程中,若第二打包请求信息为目标功能指标,则可以根据目标功能指标和第一关系,从第一数据包中,确定与目标功能指标对应的第一目标数据信息,然后可以从第一数据信息中确定性能容量指标为预设等级(例如第二等级)的常规性能指标的数据,从而可以获得目标数据信息。
例如,当目标功能指标为IPv6 Ping时,则可以根据第一关系,从第一数据包中确定出对应的关联组件为ipv6-kernel,软件安装包配置项为CAP_IPV6,以及测试用例为IPV6-XX-XX-0001,即确定出的第一目标数据信息包括ipv6-kernel、CAP_IPV6以及IPV6-XX-XX-0001对应的多个性能容量指标的数据。然后可以从多个性能指标的数据中,确定出第二等级的性能指标对应的关联组件数据、软件安装包配置项数据以及测试用例数据。
在一种可能的实施方式中,若第二打包请求信息为目标性能容量指标,则可以根据目标性能容量指标和第二关系,从第一数据包中,确定与目标功能指标对应的第二目标数据信息,然后可以按照预设规则,从第二目标数据信息中确定目标数据信息。
在具体的实施过程中,当第二打包请求信息为目标性能容量指标,则可以根据目标性能容量指标和第二关系,从第一数据包中,确定与目标功能指标对应的第二目标数据信息,然后从目标性能容量指标对应的第二目标数据信息中确定预定等级数据从而可以确定目标数据信息。
例如,当确定目标性能容量指标为Layer 2Features时,则可以根据第二关系,从第一数据包中,确定出软件包安装配置项为MAC address,关联组件为静态MAC地址个数,以及测试用例为XX_XXMAC_NUM,即可以确定出第二目标数据信息,然后可以根据预设规则,从第二目标数据信息中确定第三等级数据,即可以确定出目标性能容量值为1000,即最大的MAC地址个数为1000,从而可以获得目标数据信息。
在本发明实施例中,在获得配置文件之后,还可以对配置文件进行校验,具体的校验方式为:根据配置文件,生成自动化测试用例,然后可以根据自动化测试用例对配置文件对应的功能进行测试,并根据自动化测试用例执行结果,判断所述配置文件对应的功能是否正确运行,从而可以确定是否生成软件安装包。具体的,配置文件为按照预定格式编译成的压缩文件。
在具体的实施过程中,可以从第一数据包中,确定与配置文件对应的匹配测试用例,然后将自动化测试用例执行结果与匹配测试用例的执行结果进行比对,若比对结果属于预设比对集,则确定配置文件对应的功能可正确运行,则可以生成软件安装包。
在本发明实施例中,可以根据打包请求信息确定软件安装包对应的产品所需的功能指标(如是否支持IPv6)及容量性能参数(如支持ARP容量的最大数目),从而可以确定产品版本所需的组件文件及配置文件,进而将配置文件提交软件打包系统,软件打包系统根据配置文件组装成软件安装包,最后根据对应的自动化用例对软件安装包进行自动校验,即本发明实施例提供的技术方案可以大大缩小人为选取组件、定制产品容量指标、产品软件版本校验的工作量,提高软件安装包的打包效率,进而可以提高产品发布效率。
基于同一发明构思,本发明实施例提供了一种软件打包的装置,该软件打包的装置能够实现前述的软件打包的方法对应的功能。该软件打包的装置可以是硬件结构、软件模块、或硬件结构加软件模块。该软件打包的装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图4所示,该软件打包的装置包括第一确定单元401、处理单元402、第二确定单元403以及打包单元404。其中:
第一确定单元401,用于确定第一打包请求信息,所述第一打包请求信息包括基线版本信息和硬件架构信息,其中,所述基线版本信息用于表征软件安装包对应的基准迭代版本信息,所述硬件架构信息用于表征软件安装包所应用的硬件环境的对应信息;
处理单元402,用于根据所述基线版本信息和所述硬件架构信息,自动触发从配置数据库中获取与所述基线版本信息和所述硬件架构信息对应的第一数据包,其中,所述第一数据包至少包括多个软件安装包配置项数据、多个测试用例数据以及多个关联组件数据;
第二确定单元403,用于确定第二打包请求信息,并根据所述第二打包请求信息从所述第一数据包中,确定与所述第二打包请求信息对应的目标数据信息,其中,所述第二打包请求信息包括目标功能指标和/或目标性能容量指标,所述目标功能指标用于表征待打包的软件安装包的功能需求信息,所述目标性能容量指标用于表征待打包的软件安装包的性能需求信息;
打包单元404,用于根据所述目标数据信息,生成打包所需的组件文件以及根据所述组件文件生成配置文件,并根据所述配置文件获得软件安装包。
在一种可能的实施方式中,所述第二确定单元403,用于:
确定所述目标功能指标和/或目标性能容量指标的对应关系组,其中,所述对应关系组中包括目标功能指标与软件安装包配置项数据、测试用例数据、关联组件数据对应的第一关系和目标性能容量指标与软件安装包配置项数据、测试用例数据、关联组件数据对应的第二关系;
根据所述对应关系组和所述目标功能指标和/或目标性能容量指标,从所述第一数据包中,确定与所述第二打包请求信息对应的目标数据信息。
在一种可能的实施方式中,所述装置还包括校验单元,用于:
根据所述配置文件,生成自动化测试用例;
根据所述自动化测试用例对所述配置文件对应的功能进行测试,并根据所述自动化测试用例执行结果,判断所述配置文件对应的功能是否正确运行,以确定是否生成软件安装包。
在一种可能的实施方式中,所述校验单元,用于:
从所述第一数据包中,确定与所述配置文件对应的匹配测试用例;
将所述自动化测试用例执行结果与所述匹配测试用例的执行结果进行比对;
若所述比对结果属于预设比对集,则确定所述配置文件对应的功能正确运行,以生成软件安装包。
在一种可能的实施方式中,所述配置文件为按照预定格式编译成的压缩文件。
前述的软件打包的方法的实施例涉及的各步骤的所有相关内容均可以援引到本发明实施例中的软件打包的装置所对应的功能模块的功能描述,在此不再赘述。
本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本发明各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
基于同一发明构思,本发明实施例提供一种计算机设备,请参见图5所示,该计算机设备包括至少一个处理器501,以及与至少一个处理器连接的存储器502,本发明实施例中不限定处理器501与存储器502之间的具体连接介质,图5中是以处理器501和存储器502之间通过总线500连接为例,总线500在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线500可以分为地址总线、数据总线、控制总线等,为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本发明实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前述的软件打包的方法中所包括的步骤。
其中,处理器501是计算机设备的控制中心,可以利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。
可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器501进行设计编程,可以将前述实施例中介绍的软件打包的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的软件打包的方法的步骤,如何对处理器501进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本发明实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如前述的软件打包的方法的步骤。
在一些可能的实施方式中,本发明提供的软件打包的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在软件打包的设备上运行时,所述程序代码用于使该软件打包的设备执行本说明书上述描述的根据本发明各种示例性实施方式的软件打包的方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种软件打包的方法,其特征在于,所述方法包括:
确定第一打包请求信息,所述第一打包请求信息包括基线版本信息和硬件架构信息,其中,所述基线版本信息用于表征软件安装包对应的基准迭代版本信息,所述硬件架构信息用于表征软件安装包所应用的硬件环境的对应信息;
根据所述基线版本信息和所述硬件架构信息,自动触发从配置数据库中获取与所述基线版本信息和所述硬件架构信息对应的第一数据包,其中,所述第一数据包至少包括多个软件安装包配置项数据、多个测试用例数据以及多个关联组件数据;
确定第二打包请求信息,并根据所述第二打包请求信息从所述第一数据包中,确定与所述第二打包请求信息对应的目标数据信息,其中,所述第二打包请求信息包括目标功能指标和/或目标性能容量指标,所述目标功能指标用于表征待打包的软件安装包的功能需求信息,所述目标性能容量指标用于表征待打包的软件安装包的性能需求信息;
根据所述目标数据信息,生成打包所需的组件文件以及根据所述组件文件生成配置文件,并根据所述配置文件获得软件安装包。
2.如权利要求1所述的方法,其特征在于,根据所述第二打包请求信息从所述第一数据包中,确定与所述第二打包请求信息对应的目标数据信息,包括:
确定所述目标功能指标和/或目标性能容量指标的对应关系组,其中,所述对应关系组中包括目标功能指标与软件安装包配置项数据、测试用例数据、关联组件数据对应的第一关系和目标性能容量指标与软件安装包配置项数据、测试用例数据、关联组件数据对应的第二关系;
根据所述对应关系组和所述目标功能指标和/或目标性能容量指标,从所述第一数据包中,确定与所述第二打包请求信息对应的目标数据信息。
3.如权利要求1所述的方法,其特征在于,在获得所述配置文件之后,所述方法还包括:
根据所述配置文件,生成自动化测试用例;
根据所述自动化测试用例对所述配置文件对应的功能进行测试,并根据所述自动化测试用例执行结果,判断所述配置文件对应的功能是否正确运行,以确定是否生成软件安装包。
4.如权利要求3所述的方法,其特征在于,根据所述自动化测试用例执行结果,判断所述配置文件对应的功能是否正确运行,以确定是否生成软件安装包,包括:
从所述第一数据包中,确定与所述配置文件对应的匹配测试用例;
将所述自动化测试用例执行结果与所述匹配测试用例的执行结果进行比对;
若所述比对结果属于预设比对集,则确定所述配置文件对应的功能正确运行,以生成软件安装包。
5.如权利要求4所述的方法,其特征在于,所述配置文件为按照预定格式编译成的压缩文件。
6.一种软件打包的装置,其特征在于,所述装置包括:
第一确定单元,用于确定第一打包请求信息,所述第一打包请求信息包括基线版本信息和硬件架构信息,其中,所述基线版本信息用于表征软件安装包对应的基准迭代版本信息,所述硬件架构信息用于表征软件安装包所应用的硬件环境的对应信息;
处理单元,用于根据所述基线版本信息和所述硬件架构信息,自动触发从配置数据库中获取与所述基线版本信息和所述硬件架构信息对应的第一数据包,其中,所述第一数据包至少包括多个软件安装包配置项数据、多个测试用例数据以及多个关联组件数据;
第二确定单元,用于确定第二打包请求信息,并根据所述第二打包请求信息从所述第一数据包中,确定与所述第二打包请求信息对应的目标数据信息,其中,所述第二打包请求信息包括目标功能指标和/或目标性能容量指标,所述目标功能指标用于表征待打包的软件安装包的功能需求信息,所述目标性能容量指标用于表征待打包的软件安装包的性能需求信息;
打包单元,用于根据所述目标数据信息,生成打包所需的组件文件以及根据所述组件文件生成配置文件,并根据所述配置文件获得软件安装包。
7.如权利要求6所述的装置,其特征在于,所述第二确定单元,用于:
确定所述目标功能指标和/或目标性能容量指标的对应关系组,其中,所述对应关系组中包括目标功能指标与软件安装包配置项数据、测试用例数据、关联组件数据对应的第一关系和目标性能容量指标与软件安装包配置项数据、测试用例数据、关联组件数据对应的第二关系;
根据所述对应关系组和所述目标功能指标和/或目标性能容量指标,从所述第一数据包中,确定与所述第二打包请求信息对应的目标数据信息。
8.如权利要求6所述的装置,其特征在于,所述装置还包括校验单元,用于:
根据所述配置文件,生成自动化测试用例;
根据所述自动化测试用例对所述配置文件对应的功能进行测试,并根据所述自动化测试用例执行结果,判断所述配置文件对应的功能是否正确运行,以确定是否生成软件安装包。
9.一种计算机设备,其特征在于,所述计算机设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-5任一所述的方法包括的步骤。
10.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1-5任一所述的方法包括的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911342525.2A CN111104158A (zh) | 2019-12-23 | 2019-12-23 | 一种软件打包的方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911342525.2A CN111104158A (zh) | 2019-12-23 | 2019-12-23 | 一种软件打包的方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111104158A true CN111104158A (zh) | 2020-05-05 |
Family
ID=70423994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911342525.2A Withdrawn CN111104158A (zh) | 2019-12-23 | 2019-12-23 | 一种软件打包的方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104158A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817850A (zh) * | 2021-01-28 | 2021-05-18 | 北京达佳互联信息技术有限公司 | 信息处理方法、装置、系统、电子设备及存储介质 |
CN113467825A (zh) * | 2021-06-30 | 2021-10-01 | 完美世界(北京)软件科技发展有限公司 | Ipa数据展示系统及其方法、装置、设备及计算机可读介质 |
CN113504936A (zh) * | 2021-06-02 | 2021-10-15 | 深圳市广和通无线股份有限公司 | 软件版本发布方法、计算机设备及存储介质 |
CN113741952A (zh) * | 2020-05-29 | 2021-12-03 | 华为技术有限公司 | 一种软件包管理方法、装置、设备及介质 |
CN113900703A (zh) * | 2021-09-30 | 2022-01-07 | 苏州浪潮智能科技有限公司 | 一种安装包的生成方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050229159A1 (en) * | 2004-04-12 | 2005-10-13 | Microsoft Corporation | Version aware test management system and method |
US20130298116A1 (en) * | 2010-11-19 | 2013-11-07 | Beijing Qihoo Technology Company Limited | Method and System for Intelligent Installation/Upgrading of Software |
CN105100191A (zh) * | 2015-05-22 | 2015-11-25 | 华为技术有限公司 | 一种云编译实现Java应用安装的方法、装置及系统 |
WO2017148057A1 (zh) * | 2016-03-03 | 2017-09-08 | 中兴通讯股份有限公司 | 一种软件版本生成方法及装置 |
CN109426516A (zh) * | 2017-06-21 | 2019-03-05 | 北京信威通信技术股份有限公司 | 软件版本管理方法及装置 |
-
2019
- 2019-12-23 CN CN201911342525.2A patent/CN111104158A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050229159A1 (en) * | 2004-04-12 | 2005-10-13 | Microsoft Corporation | Version aware test management system and method |
US20130298116A1 (en) * | 2010-11-19 | 2013-11-07 | Beijing Qihoo Technology Company Limited | Method and System for Intelligent Installation/Upgrading of Software |
CN105100191A (zh) * | 2015-05-22 | 2015-11-25 | 华为技术有限公司 | 一种云编译实现Java应用安装的方法、装置及系统 |
WO2017148057A1 (zh) * | 2016-03-03 | 2017-09-08 | 中兴通讯股份有限公司 | 一种软件版本生成方法及装置 |
CN109426516A (zh) * | 2017-06-21 | 2019-03-05 | 北京信威通信技术股份有限公司 | 软件版本管理方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113741952A (zh) * | 2020-05-29 | 2021-12-03 | 华为技术有限公司 | 一种软件包管理方法、装置、设备及介质 |
CN112817850A (zh) * | 2021-01-28 | 2021-05-18 | 北京达佳互联信息技术有限公司 | 信息处理方法、装置、系统、电子设备及存储介质 |
CN113504936A (zh) * | 2021-06-02 | 2021-10-15 | 深圳市广和通无线股份有限公司 | 软件版本发布方法、计算机设备及存储介质 |
CN113504936B (zh) * | 2021-06-02 | 2024-01-05 | 深圳市广和通无线股份有限公司 | 软件版本发布方法、计算机设备及存储介质 |
CN113467825A (zh) * | 2021-06-30 | 2021-10-01 | 完美世界(北京)软件科技发展有限公司 | Ipa数据展示系统及其方法、装置、设备及计算机可读介质 |
WO2023273116A1 (zh) * | 2021-06-30 | 2023-01-05 | 完美世界(北京)软件科技发展有限公司 | Ipa数据展示系统及其方法、装置、设备及计算机可读介质 |
CN113900703A (zh) * | 2021-09-30 | 2022-01-07 | 苏州浪潮智能科技有限公司 | 一种安装包的生成方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104158A (zh) | 一种软件打包的方法、装置、计算机设备及存储介质 | |
CN108958714B (zh) | 业务组件式开发方法、装置、计算机设备及存储介质 | |
CN108595157B (zh) | 区块链数据的处理方法、装置、设备和存储介质 | |
US10972567B2 (en) | Multi-dimensional tagging namespace for cloud resource management | |
CN110231994B (zh) | 内存分析方法、装置和计算机可读存储介质 | |
US12032461B2 (en) | Software upgrade stability recommendations | |
CN111897539A (zh) | 一种根据服务角色的进行应用部署的方法及装置 | |
CN104267978A (zh) | 一种生成差分包的方法及装置 | |
CN109032631A (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
US8661414B2 (en) | Method and system for testing an order management system | |
CN110995825A (zh) | 一种智能合约的发布方法、智能节点设备及存储介质 | |
US20170192800A1 (en) | Configurable code fingerprint | |
CN111124871A (zh) | 接口测试方法及装置 | |
CN111615688A (zh) | 一种断言验证代码绑定方法及装置 | |
CN114895935A (zh) | 刷写车辆ecu的方法、装置、电子设备及存储介质 | |
CN110334031B (zh) | 内存分配代码检测方法、装置、计算机设备及存储介质 | |
CN111352631A (zh) | 一种接口兼容性检测方法及装置 | |
CN115757172A (zh) | 测试执行方法、装置、存储介质及计算机设备 | |
WO2016142381A1 (en) | A method for generating an embedded system derivable into a plurality of personalized embedded systems | |
CN114860204A (zh) | 程序处理、运行方法、装置、终端、智能卡及存储介质 | |
CN106778270B (zh) | 一种恶意应用程序的检测方法及系统 | |
CN112631949B (zh) | 一种调试方法、装置、计算机设备及存储介质 | |
CN114895916A (zh) | 代码部署方法、装置、存储介质以及电子设备 | |
CN113986744A (zh) | 一种分库分表组件的测试方法、装置及存储介质 | |
CN112965842A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200505 |