CN112711426A - 嵌入式系统安装包生成方法、装置及服务器 - Google Patents

嵌入式系统安装包生成方法、装置及服务器 Download PDF

Info

Publication number
CN112711426A
CN112711426A CN201911017138.1A CN201911017138A CN112711426A CN 112711426 A CN112711426 A CN 112711426A CN 201911017138 A CN201911017138 A CN 201911017138A CN 112711426 A CN112711426 A CN 112711426A
Authority
CN
China
Prior art keywords
target
embedded system
package
information
code
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
Application number
CN201911017138.1A
Other languages
English (en)
Other versions
CN112711426B (zh
Inventor
冯高峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing CHJ Automobile Technology Co Ltd
Original Assignee
Beijing CHJ Automobile Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing CHJ Automobile Technology Co Ltd filed Critical Beijing CHJ Automobile Technology Co Ltd
Priority to CN201911017138.1A priority Critical patent/CN112711426B/zh
Publication of CN112711426A publication Critical patent/CN112711426A/zh
Application granted granted Critical
Publication of CN112711426B publication Critical patent/CN112711426B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开的实施例提供一种嵌入式系统安装包生成方法、装置及服务器。该方法包括:接收嵌入式系统安装包的生成请求;根据嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包;将目标嵌入式系统刷机包和目标应用软件包进行集成,以生成嵌入式系统安装包。本公开的实施例既能够生成用户所需的嵌入式系统安装包,又能够提高嵌入式系统安装包的生成效率。

Description

嵌入式系统安装包生成方法、装置及服务器
技术领域
本公开的实施例涉及通信技术领域,尤其涉及一种嵌入式系统安装包生成方法、装置及服务器。
背景技术
在通信技术领域中,许多情况下,需要进行嵌入式系统安装包的生成,例如进行安卓(Android)系统安装包的生成。现有技术中,为了实现嵌入式系统安装包的生成,需要执行大量的编译操作,编译过程需要花费非常长的时间,因此,嵌入式系统安装包的生成效率非常低。
发明内容
本公开的实施例提供一种嵌入式系统安装包生成方法、装置及服务器,以解决现有技术中,嵌入式系统安装包的生成效率低的问题。
第一方面,本公开的实施例提供一种嵌入式系统安装包生成方法,所述方法包括:
接收嵌入式系统安装包的生成请求;
根据所述嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包;
将所述目标嵌入式系统刷机包和所述目标应用软件包进行集成,以生成所述嵌入式系统安装包。
在一些实施例中,所述嵌入式系统安装包的生成请求中包括第一指示信息,所述第一指示信息用于指示所述目标应用软件包;
所述根据所述嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包,包括:
根据所述第一指示信息,确定目标代码提交标识;
获取所述经代码审核得到的目标应用软件包;其中,所述目标应用软件包与所述目标代码提交标识对应。
在一些实施例中,
所述第一指示信息包括第一功能的标识信息,所述第一功能为所述目标应用软件包所具有的功能;
所述目标代码提交标识对应的提交信息中包括:表征支持所述第一功能的信息;其中,所述目标代码提交标识对应的提交信息用于描述具有所述目标代码提交标识的代码提交事件的所提交代码的特征。
在一些实施例中,
所述第一指示信息包括第一漏洞的标识信息,所述第一漏洞为所述目标应用软件包所规避的漏洞;
所述目标代码提交标识对应的提交信息中包括:表征用于解决所述第一漏洞的信息;其中,所述目标代码提交标识对应的提交信息用于描述具有所述目标代码提交标识的代码提交事件的所提交代码的特征。
在一些实施例中,所述嵌入式系统安装包的生成请求中包括第二指示信息,所述第二指示信息用于指示所述目标嵌入式系统刷机包;
所述根据所述嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包,包括:
根据所述第二指示信息,确定目标描述信息;
获取经闲时构建得到的目标嵌入式系统刷机包;其中,所述目标嵌入式系统刷机包与所述目标描述信息对应。
在一些实施例中,
所述第二指示信息包括第二功能的标识信息,所述第二功能为所述目标嵌入式系统刷机包所具有的功能;
所述目标描述信息中包括:表征支持所述第二功能的信息。
在一些实施例中,
所述第二指示信息包括第二漏洞的标识信息,所述第二漏洞为所述目标嵌入式系统刷机包所规避的漏洞;
所述目标描述信息中包括:表征用于解决所述第二漏洞的信息。
第二方面,本公开的实施例提供一种嵌入式系统安装包生成装置,所述装置包括:
接收模块,用于接收嵌入式系统安装包的生成请求;
获取模块,用于根据所述嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包;
生成模块,用于将所述目标嵌入式系统刷机包和所述目标应用软件包进行集成,以生成所述嵌入式系统安装包。
在一些实施例中,所述嵌入式系统安装包的生成请求中包括第一指示信息,所述第一指示信息用于指示所述目标应用软件包;
所述获取模块,包括:
第一确定子模块,用于根据所述第一指示信息,确定目标代码提交标识;
第一获取子模块,用于获取所述经代码审核得到的目标应用软件包;其中,所述目标应用软件包与所述目标代码提交标识对应。
在一些实施例中,
所述第一指示信息包括第一功能的标识信息,所述第一功能为所述目标应用软件包所具有的功能;
所述目标代码提交标识对应的提交信息中包括:表征支持所述第一功能的信息;其中,所述目标代码提交标识对应的提交信息用于描述具有所述目标代码提交标识的代码提交事件的所提交代码的特征。
在一些实施例中,
所述第一指示信息包括第一漏洞的标识信息,所述第一漏洞为所述目标应用软件包所规避的漏洞;
所述目标代码提交标识对应的提交信息中包括:表征用于解决所述第一漏洞的信息;其中,所述目标代码提交标识对应的提交信息用于描述具有所述目标代码提交标识的代码提交事件的所提交代码的特征。
在一些实施例中,所述嵌入式系统安装包的生成请求中包括第二指示信息,所述第二指示信息用于指示所述目标嵌入式系统刷机包;
所述获取模块,包括:
第二确定子模块,用于根据所述第二指示信息,确定目标描述信息;
第二获取子模块,用于获取经闲时构建得到的目标嵌入式系统刷机包;其中,所述目标嵌入式系统刷机包与所述目标描述信息对应。
在一些实施例中,
所述第二指示信息包括第二功能的标识信息,所述第二功能为所述目标嵌入式系统刷机包所具有的功能;
所述目标描述信息中包括:表征支持所述第二功能的信息。
在一些实施例中,
所述第二指示信息包括第二漏洞的标识信息,所述第二漏洞为所述目标嵌入式系统刷机包所规避的漏洞;
所述目标描述信息中包括:表征用于解决所述第二漏洞的信息。
第三方面,本公开的实施例提供一种服务器,包括处理器,存储器,存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述嵌入式系统安装包生成方法的步骤。
第四方面,本公开的实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述嵌入式系统安装包生成方法的步骤。
本公开的实施例中,可以根据嵌入式系统安装包的生成请求,从经闲时构建得到的嵌入式系统刷机包中,获取相应的嵌入式系统刷机包作为目标嵌入式系统刷机包,以及根据嵌入式系统安装包的生成请求,从经代码审核得到的应用软件包中,获取相应的应用软件包作为目标应用软件包。之后,可以将目标嵌入式系统刷机包和目标应用软件包进行集成,以生成用户所需的嵌入式系统安装包。可见,本公开的实施例较好地利用了闲时构建的产物以及代码审核的产物,通过闲时构建的产物,可以定制嵌入式系统的底层,通过代码审核的产物,可以定制嵌入式系统的应用层,再结合集成操作,能够生成用户所需的嵌入式系统安装包。另外,由于闲时构建的产物本身就是进行大量编译得到的,本公开的实施例中,在生成嵌入式系统安装包时,与现有技术相比,需要进行的编译量能够得到减少。因此,本公开的实施例既能够生成用户所需的嵌入式系统安装包,又能够提高嵌入式系统安装包的生成效率。
附图说明
图1是本公开的实施例提供的安装包生成方法的流程图;
图2是本公开的实施例提供的安装包生成方法的又一流程图;
图3是本公开的实施例提供的安装包生成装置的结构框图;
图4是本公开的实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本公开保护的范围。
下面首先对本公开的实施例提供的嵌入式系统安装包生成方法进行说明。
参见图1,图中示出了本公开的实施例提供的嵌入式系统安装包生成方法的流程图。该方法可以应用于服务器,如图1所示,该方法包括如下步骤:
步骤101,接收嵌入式系统安装包的生成请求。
这里,在进行应用开发时,用户可以根据实际需求,通过计算机(Computer)、平板电脑(Tablet Personal Computer)等,向服务器发起嵌入式系统安装包的生成请求;其中,嵌入式系统安装包可以用于进行内部测试或者问题验证等。具体地,在应用开发为Android应用开发的情况下,嵌入式系统安装包可以为Android系统安装包。
步骤102,根据嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包。
这里,闲时构建可以为每日构建,每日构建也可以称为Daily build,这种情况下,可以在预设的每日构建时刻(该时刻为空闲时刻)均进行构建,例如在每日凌晨均进行构建。当然,闲时构建并不局限于每日构建,例如,可以在预设的每周构建时刻进行构建,或者在任何空闲的时刻均进行构建等,为了便于理解,本公开的实施例中均以闲时构建为每日构建的情况为例进行说明。另外,嵌入式系统刷机包也可以称为嵌入式系统镜像。
需要说明的是,可以设置专门的代码审核系统,每当有工程师发起代码提交请求,以启动代码提交事件时,代码审核系统都会对代码提交请求的所提交代码(其也可以认为是代码提交事件的所提交代码)进行代码审核;其中,代码提交请求的所提交代码针对的一般是应用层。具体地,代码审核系统可以对代码提交请求的所提交代码进行编译,在编译成功的情况下,可以得到编译产物,编译产物具体为应用软件包,例如安卓安装包(AndroidPackage,APK),该应用软件包可以被存储在应用仓库中,例如存储在APK仓库中。
另外,还可以设置专门的每日构建系统,每当设定的每日构建时刻到达时,每日构建系统可以从应用仓库中,获取与应用开发相关的所有应用软件包,并从与应用开发相关的其他代码仓库中,获取相应的代码(例如平台代码),并根据从应用仓库中获取的应用软件包,以及从其他代码仓库中获取的代码,进行完整编译,以获得相应版本的嵌入式系统刷机包,该嵌入式系统刷机包可以被存储在刷机包数据库中。具体地,在应用开发为Android应用开发的情况下,该嵌入式系统刷机包可以为Android只读内存镜像(Read-OnlyMemory,ROM)包。
在步骤102中,服务器可以根据所接收的嵌入式系统安装包的生成请求,从应用仓库中获取相应的应用软件包作为目标应用软件包,并从刷机包数据库中获取相应的嵌入式系统刷机包作为目标嵌入式系统刷机包,以便于执行后续的步骤103。
步骤103,将目标嵌入式系统刷机包和目标应用软件包进行集成,以生成嵌入式系统安装包。
这里,可以利用集成工具,将目标嵌入式系统刷机包和目标应用软件包进行集成,以将目标应用软件包涉及的应用及相关脚本打包进目标嵌入式系统刷机包,从而得到用户所需的嵌入式系统安装包。具体地,集成工具可以为Jenkins,以保证集成速度,且尽量避免对资源的占用;其中,Jenkins是基于Java开发的一种持续性集成工具,Java是一门面向对象编程语言。
本公开的实施例中,可以根据嵌入式系统安装包的生成请求,从经闲时构建得到的嵌入式系统刷机包中,获取相应的嵌入式系统刷机包作为目标嵌入式系统刷机包,以及根据嵌入式系统安装包的生成请求,从经代码审核得到的应用软件包中,获取相应的应用软件包作为目标应用软件包。之后,可以将目标嵌入式系统刷机包和目标应用软件包进行集成,以生成用户所需的嵌入式系统安装包。可见,本公开的实施例较好地利用了闲时构建的产物以及代码审核的产物,通过闲时构建的产物,可以定制嵌入式系统的底层,通过代码审核的产物,可以定制嵌入式系统的应用层,再结合集成操作,能够生成用户所需的嵌入式系统安装包。另外,由于闲时构建的产物本身就是进行大量编译得到的,本公开的实施例中,在生成嵌入式系统安装包时,与现有技术相比,需要进行的编译量能够得到减少。因此,本公开的实施例既能够生成用户所需的嵌入式系统安装包,又能够提高嵌入式系统安装包的生成效率。
在一些实施例中,嵌入式系统安装包的生成请求中包括第一指示信息,第一指示信息用于指示目标应用软件包;
根据嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包,包括:
根据第一指示信息,确定目标代码提交标识;
获取经代码审核得到的目标应用软件包;其中,目标应用软件包与目标代码提交标识对应。
这里,代码提交标识可以为安全散列算法1(Secure Hash Algorithm 1,SHA-1)号;其中,SHA-1是分布式版本控制系统(Git)用以计算校验和的机制。需要指出的是,本公开的实施例中,每个SHA-1号可以仅包括8至10个字符。当然,代码提交标识也可以通过其他形式进行表征,例如通过数字编号的形式进行表征,在此不再一一列举。
一般而言,工程师发起代码提交请求,以启动代码提交事件时,代码提交请求可以包括提交信息,提交信息可以用于描述代码提交请求的所提交代码(也可以认为是代码提交事件的所提交代码)的特征。具体地,提交信息可以包括提交时间戳(其用于表征代码提交事件的所提交代码的具体提交时间)、提交者信息(其用于表征代码提交事件的所提交代码的具体提交者)、功能点信息(其用于描述代码提交事件的所提交代码具有的功能,其可以包括若干个功能点编号)、已解决漏洞信息(其用于描述代码提交事件的所提交代码能够解决的漏洞,其可以包括若干个漏洞编号)或者其他自定义信息等。在对代码提交事件的所提交代码进行编译,且编译成功的情况下,可以得到一应用软件包,代码审核系统可以为该应用软件包分配一代码提交标识(该代码提交标识也可以认为是代码提交事件的代码提交标识),该应用软件包与该代码提交标识之间的对应关系可以进行存储(例如存储在第一数据集中),该代码提交标识与该提交信息之间的对应关系也可以进行存储(例如存储在第二数据集中)。
需要指出的是,根据第一指示信息,确定目标代码提交标识的具体实现形式多样,下面进行举例介绍。
在第一种实现形式中,
第一指示信息包括第一功能的标识信息,第一功能为目标应用软件包所具有的功能;
目标代码提交标识对应的提交信息中包括:表征支持第一功能的信息;其中,目标代码提交标识对应的提交信息用于描述具有目标代码提交标识的代码提交事件的所提交代码的特征。
这种实现形式中,可以在第二数据集中,查找与第一功能的标识信息对应的功能点信息,该功能点信息可以认为包括表征支持第一功能的信息。在查找到该功能点信息的情况下,可以将第二数据集中,该功能点信息所在的提交信息对应的代码提交标识作为目标代码提交标识。
具体地,假设第一指示信息中,第一功能的标识信息为“MDEV-2589”这个功能编号,那么,可以在第二数据集中,查找存在“MDEV-2589”的提交信息,并将“MDEV-2589”所在的提交信息对应的SHA-1号作为目标代码提交标识。
这种实现形式中,通过对目标应用软件包所具有的功能的指示,能够非常便捷地确定出目标代码提交标识。
在第二种实现形式中,
第一指示信息包括第一漏洞的标识信息,第一漏洞为目标应用软件包所规避的漏洞;
目标代码提交标识对应的提交信息中包括:表征用于解决第一漏洞的信息;其中,目标代码提交标识对应的提交信息用于描述具有目标代码提交标识的代码提交事件的所提交代码的特征。
这种实现形式中,可以在第二数据集中,查找与第一漏洞的标识信息对应的已解决漏洞信息,该已解决漏洞信息可以认为包括表征用于解决第一漏洞的信息。在查找到该已解决漏洞信息的情况下,可以将第二数据集中,该已解决漏洞信息所在的提交信息对应的代码提交标识作为目标代码提交标识。
具体地,假设第一指示信息中,第一漏洞的标识信息为“MHMI-14780”这个漏洞编号,那么,可以在第二数据集中,查找存在“MHMI-14780”的提交信息,并将“MHMI-14780”所在的提交信息对应的SHA-1号作为目标代码提交标识。
这种实现形式中,通过对目标应用软件包所规避的漏洞的指示,能够非常便捷地确定出目标代码提交标识。
无论采用上述何种实现形式,在确定目标代码提交标识之后,均可以根据第一数据集,确定目标代码提交标识对应的应用软件包,该应用软件包即为目标应用软件包。
当然,第一指示信息中也可以直接包括代码提交标识,例如包括具体的SHA-1号,服务器可以将第一指示信息中的SHA-1号确定为目标代码提交标识,这也是可行的。
可见,本公开的实施例中,通过第一指示信息的指示作用,能够非常便捷地获取到目标应用软件包。
在一些实施例中,每一嵌入式系统刷机包与一描述信息对应,每一描述信息用于描述对应嵌入式系统刷机包的特征,嵌入式系统安装包的生成请求中包括第二指示信息,第二指示信息用于指示目标嵌入式系统刷机包;
根据嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包,包括:
根据第二指示信息,确定目标描述信息;
获取经闲时构建得到的目标嵌入式系统刷机包;其中,目标嵌入式系统刷机包与目标描述信息对应。
需要说明的是,每日构建系统在每得到一嵌入式系统刷机包时,其可以对应存储该嵌入式系统刷机包的描述信息,该描述信息可以用于描述该嵌入式系统刷机包的特征,例如描述该嵌入式系统刷机包的生成时间、功能点信息(其用于表征该嵌入式系统刷机包具有的功能)、已解决漏洞信息(其用于表征该嵌入式系统刷机包能够解决的漏洞)或者其他自定义信息等。
在接收到嵌入式系统安装包的生成请求之后,服务器可以根据该请求中的第二指示信息,确定目标描述信息。需要说明的是,确定目标描述信息的具体实现形式多样,下面进行举例介绍。
在第一种实现形式中,
第二指示信息包括第二功能的标识信息,第二功能为目标嵌入式系统刷机包所具有的功能;
目标描述信息中包括:表征支持第二功能的信息。
这种实现形式中,可以在所有描述信息中,查找与第二指示信息中的,第二功能的标识信息对应的功能点信息,查找方式参照上述对目标应用软件包相关的查找过程中相应部分的说明即可,存在该功能点信息的描述信息即可作为目标描述信息。
这种实现形式中,通过对目标嵌入式系统刷机包所具有的功能的指示,能够非常便捷地确定出目标描述信息。
在第二种实现形式中,
第二指示信息包括第二漏洞的标识信息,第二漏洞为目标嵌入式系统刷机包所规避的漏洞;
目标描述信息中包括:表征用于解决第二漏洞的信息。
这种实现形式中,可以在所有描述信息中,查找与第二指示信息中的,第二漏洞的标识信息对应的已解决漏洞信息,查找方式参照上述对目标应用软件包相关的查找过程中相应部分的说明即可,存在该已解决漏洞信息的描述信息即可作为目标描述信息。
这种实现形式中,通过对目标嵌入式系统刷机包所解决的漏洞的指示,能够非常便捷地确定出目标描述信息。
无论采用上述何种实现形式,在确定出目标描述信息之后,均可以将其对应的嵌入式系统刷机包作为目标嵌入式系统刷机包。
当然,第二指示信息也可以直接包括刷机包版本,服务器可以将第二指示信息中的刷机包版本对应的嵌入式系统刷机包作为目标嵌入式系统刷机包,这也是可行的。
可见,本公开的实施例中,通过第二指示信息的指示作用,能够非常便捷地获取到目标嵌入式系统刷机包。
下面结合图2,以一个具体的例子,对本公开的实施例的具体实施过程进行详细说明。
为了实现对安卓应用的开发,可设置代码审核系统和每日构建系统;其中,代码审核系统用于进行代码审核,每日构建系统用于进行Daily build。
实际工作时,如果工程师发起代码提交请求,例如工程师进行APP代码提交,代码审核系统会对所提交代码进行编译,在编译成功的情况下,可以存储编译产物,该编译产物具体为APK,在编译失败的情况下,可返回提醒工程师重新进行APP代码提交。
另外,如果触发Daily build,每日构建系统可以从应用仓库中获取APK,并从与安卓应用开发相关的其他代码仓库中获取代码,并对获取的APK和代码进行编译,在编译成功的情况下,可以存储编译产物,该编译产物具体为Android ROM包,在编译失败的情况下,可重新触发Daily build。
假设需要使用集成了应用X的P3阶段的某个功能(假设为G1),应用Y的P2阶段的某个功能(假设为G2)的安卓系统安装包进行内部测试,用户可以向服务器发起安卓系统安装包的生成请求,该请求中可以包括G1对应的SHA-1,G2对应的SHA-1,以及一刷机包版本(假设为S1)。接下来,服务器可以获取与G1对应的SHA-1相对应的APK,与G2对应的SHA-1相对应的APK,以及S1对应的Android ROM包,并利用Jenkins这种集成工具,对三者进行集成,以得到所需的Android系统安装包。
需要指出的是,相较与应用层的修改,底层的修改较少,通过daily build,可以保证底层代码的持续集成,利用代码审核的编译输出物,可以实现应用层的灵活集成,这样可以在保证满足安装包生成需求的基础上,解决资源占用与集成频次之间的矛盾。可见,本公开的实施例中,通过创新性地在代码审查的流程中保存输出物用于Android版本集成,在生成Android系统安装包时避免了应用重复编译,这样能够快速获得包含任意应用版本的安卓系统版本。
下面对本公开的实施例提供的安装包生成装置进行说明。
参见图3,图中示出了本公开的实施例提供的嵌入式系统安装包生成装置300的结构框图。如图3所示,嵌入式系统安装包生成装置300包括:
接收模块301,用于接收嵌入式系统安装包的生成请求;
获取模块302,用于根据嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包;
生成模块303,用于将目标嵌入式系统刷机包和目标应用软件包进行集成,以生成嵌入式系统安装包。
在一些实施例中,嵌入式系统安装包的生成请求中包括第一指示信息,第一指示信息用于指示目标应用软件包;
获取模块302,包括:
第一确定子模块,用于根据第一指示信息,确定目标代码提交标识;
第一获取子模块,用于获取经代码审核得到的目标应用软件包;其中,目标应用软件包与目标代码提交标识对应。
在一些实施例中,
第一指示信息包括第一功能的标识信息,第一功能为目标应用软件包所具有的功能;
目标代码提交标识对应的提交信息中包括:表征支持第一功能的信息;其中,目标代码提交标识对应的提交信息用于描述具有目标代码提交标识的代码提交事件的所提交代码的特征。
在一些实施例中,
第一指示信息包括第一漏洞的标识信息,第一漏洞为目标应用软件包所规避的漏洞;
目标代码提交标识对应的提交信息中包括:表征用于解决第一漏洞的信息;其中,目标代码提交标识对应的提交信息用于描述具有目标代码提交标识的代码提交事件的所提交代码的特征。
在一些实施例中,每一嵌入式系统刷机包与一描述信息对应,每一描述信息用于描述对应嵌入式系统刷机包的特征,嵌入式系统安装包的生成请求中包括第二指示信息,第二指示信息用于指示目标嵌入式系统刷机包;
获取模块302,包括:
第二确定子模块,用于根据第二指示信息,确定目标描述信息;
第二获取子模块,用于获取经闲时构建得到的目标嵌入式系统刷机包;其中,目标嵌入式系统刷机包与目标描述信息对应。
在一些实施例中,
第二指示信息包括第二功能的标识信息,第二功能为目标嵌入式系统刷机包所具有的功能;
目标描述信息中包括:表征支持第二功能的信息。
在一些实施例中,
第二指示信息包括第二漏洞的标识信息,第二漏洞为目标嵌入式系统刷机包所规避的漏洞;
目标描述信息中包括:表征用于解决第二漏洞的信息。
本公开的实施例中,可以根据嵌入式系统安装包的生成请求,从经闲时构建得到的嵌入式系统刷机包中,获取相应的嵌入式系统刷机包作为目标嵌入式系统刷机包,以及根据嵌入式系统安装包的生成请求,从经代码审核得到的应用软件包中,获取相应的应用软件包作为目标应用软件包。之后,可以将目标嵌入式系统刷机包和目标应用软件包进行集成,以生成用户所需的嵌入式系统安装包。可见,本公开的实施例较好地利用了闲时构建的产物以及代码审核的产物,通过闲时构建的产物,可以定制嵌入式系统的底层,通过代码审核的产物,可以定制嵌入式系统的应用层,再结合集成操作,能够生成用户所需的嵌入式系统安装包。另外,由于闲时构建的产物本身就是进行大量编译得到的,本公开的实施例中,在生成嵌入式系统安装包时,与现有技术相比,需要进行的编译量能够得到减少。因此,本公开的实施例既能够生成用户所需的嵌入式系统安装包,又能够提高嵌入式系统安装包的生成效率。
下面对本公开的实施例提供的服务器进行说明。
参见图4,图中示出了本公开的实施例提供的服务器400的结构示意图。如图4所示,服务器400包括:处理器401、收发机402、存储器403、用户接口404和总线接口。
处理器401,用于读取存储器403中的程序,执行下列过程:
接收嵌入式系统安装包的生成请求;
根据所述嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包;
将所述目标嵌入式系统刷机包和所述目标应用软件包进行集成,以生成所述嵌入式系统安装包。
在图4中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器401代表的一个或多个处理器和存储器403代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机402可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口404还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器401负责管理总线架构和通常的处理,存储器403可以存储处理器401在执行操作时所使用的数据。
在一些实施例中,嵌入式系统安装包的生成请求中包括第一指示信息,第一指示信息用于指示目标应用软件包;
处理器401,具体用于:
根据第一指示信息,确定目标代码提交标识;
获取经代码审核得到的目标应用软件包;其中,目标应用软件包与目标代码提交标识对应。
在一些实施例中,
第一指示信息包括第一功能的标识信息,第一功能为目标应用软件包所具有的功能;
目标代码提交标识对应的提交信息中包括:表征支持第一功能的信息;其中,目标代码提交标识对应的提交信息用于描述具有目标代码提交标识的代码提交事件的所提交代码的特征。
在一些实施例中,
第一指示信息包括第一漏洞的标识信息,第一漏洞为目标应用软件包所规避的漏洞;
目标代码提交标识对应的提交信息中包括:表征用于解决第一漏洞的信息;其中,目标代码提交标识对应的提交信息用于描述具有目标代码提交标识的代码提交事件的所提交代码的特征。
在一些实施例中,每一嵌入式系统刷机包与一描述信息对应,每一描述信息用于描述对应嵌入式系统刷机包的特征,嵌入式系统安装包的生成请求中包括第二指示信息,第二指示信息用于指示目标嵌入式系统刷机包;
处理器401,具体用于:
根据第二指示信息,确定目标描述信息;
获取经闲时构建得到的目标嵌入式系统刷机包;其中,目标嵌入式系统刷机包与目标描述信息对应。
在一些实施例中,
第二指示信息包括第二功能的标识信息,第二功能为目标嵌入式系统刷机包所具有的功能;
目标描述信息中包括:表征支持第二功能的信息。
在一些实施例中,
第二指示信息包括第二漏洞的标识信息,第二漏洞为目标嵌入式系统刷机包所规避的漏洞;
目标描述信息中包括:表征用于解决第二漏洞的信息。
本公开的实施例中,可以根据嵌入式系统安装包的生成请求,从经闲时构建得到的嵌入式系统刷机包中,获取相应的嵌入式系统刷机包作为目标嵌入式系统刷机包,以及根据嵌入式系统安装包的生成请求,从经代码审核得到的应用软件包中,获取相应的应用软件包作为目标应用软件包。之后,可以将目标嵌入式系统刷机包和目标应用软件包进行集成,以生成用户所需的嵌入式系统安装包。可见,本公开的实施例较好地利用了闲时构建的产物以及代码审核的产物,通过闲时构建的产物,可以定制嵌入式系统的底层,通过代码审核的产物,可以定制嵌入式系统的应用层,再结合集成操作,能够生成用户所需的嵌入式系统安装包。另外,由于闲时构建的产物本身就是进行大量编译得到的,本公开的实施例中,在生成嵌入式系统安装包时,与现有技术相比,需要进行的编译量能够得到减少。因此,本公开的实施例既能够生成用户所需的嵌入式系统安装包,又能够提高嵌入式系统安装包的生成效率。
本公开的实施例还提供一种服务器,包括处理器401,存储器403,存储在存储器403上并可在所述处理器401上运行的计算机程序,该计算机程序被处理器401执行时实现上述嵌入式系统安装包生成方法实施例中的各个过程且能达到相同的技术效果,为避免重复,这里不再赘述。
本公开的实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器401执行时实现上述嵌入式系统安装包生成方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (16)

1.一种嵌入式系统安装包生成方法,其特征在于,所述方法包括:
接收嵌入式系统安装包的生成请求;
根据所述嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包;
将所述目标嵌入式系统刷机包和所述目标应用软件包进行集成,以生成所述嵌入式系统安装包。
2.根据权利要求1所述的方法,其特征在于,所述嵌入式系统安装包的生成请求中包括第一指示信息,所述第一指示信息用于指示所述目标应用软件包;
所述根据所述嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包,包括:
根据所述第一指示信息,确定目标代码提交标识;
获取所述经代码审核得到的目标应用软件包;其中,所述目标应用软件包与所述目标代码提交标识对应。
3.根据权利要求2所述的方法,其特征在于,
所述第一指示信息包括第一功能的标识信息,所述第一功能为所述目标应用软件包所具有的功能;
所述目标代码提交标识对应的提交信息中包括:表征支持所述第一功能的信息;其中,所述目标代码提交标识对应的提交信息用于描述具有所述目标代码提交标识的代码提交事件的所提交代码的特征。
4.根据权利要求2所述的方法,其特征在于,
所述第一指示信息包括第一漏洞的标识信息,所述第一漏洞为所述目标应用软件包所规避的漏洞;
所述目标代码提交标识对应的提交信息中包括:表征用于解决所述第一漏洞的信息;其中,所述目标代码提交标识对应的提交信息用于描述具有所述目标代码提交标识的代码提交事件的所提交代码的特征。
5.根据权利要求1所述的方法,其特征在于,所述嵌入式系统安装包的生成请求中包括第二指示信息,所述第二指示信息用于指示所述目标嵌入式系统刷机包;
所述根据所述嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包,包括:
根据所述第二指示信息,确定目标描述信息;
获取经闲时构建得到的目标嵌入式系统刷机包;其中,所述目标嵌入式系统刷机包与所述目标描述信息对应。
6.根据权利要求5所述的方法,其特征在于,
所述第二指示信息包括第二功能的标识信息,所述第二功能为所述目标嵌入式系统刷机包所具有的功能;
所述目标描述信息中包括:表征支持所述第二功能的信息。
7.根据权利要求5所述的方法,其特征在于,
所述第二指示信息包括第二漏洞的标识信息,所述第二漏洞为所述目标嵌入式系统刷机包所规避的漏洞;
所述目标描述信息中包括:表征用于解决所述第二漏洞的信息。
8.一种嵌入式系统安装包生成装置,其特征在于,所述装置包括:
接收模块,用于接收嵌入式系统安装包的生成请求;
获取模块,用于根据所述嵌入式系统安装包的生成请求,获取经闲时构建得到的目标嵌入式系统刷机包和经代码审核得到的目标应用软件包;
生成模块,用于将所述目标嵌入式系统刷机包和所述目标应用软件包进行集成,以生成所述嵌入式系统安装包。
9.根据权利要求8所述的装置,其特征在于,所述嵌入式系统安装包的生成请求中包括第一指示信息,所述第一指示信息用于指示所述目标应用软件包;
所述获取模块,包括:
第一确定子模块,用于根据所述第一指示信息,确定目标代码提交标识;
第一获取子模块,用于获取所述经代码审核得到的目标应用软件包;其中,所述目标应用软件包与所述目标代码提交标识对应。
10.根据权利要求9所述的装置,其特征在于,
所述第一指示信息包括第一功能的标识信息,所述第一功能为所述目标应用软件包所具有的功能;
所述目标代码提交标识对应的提交信息中包括:表征支持所述第一功能的信息;其中,所述目标代码提交标识对应的提交信息用于描述具有所述目标代码提交标识的代码提交事件的所提交代码的特征。
11.根据权利要求9所述的装置,其特征在于,
所述第一指示信息包括第一漏洞的标识信息,所述第一漏洞为所述目标应用软件包所规避的漏洞;
所述目标代码提交标识对应的提交信息中包括:表征用于解决所述第一漏洞的信息;其中,所述目标代码提交标识对应的提交信息用于描述具有所述目标代码提交标识的代码提交事件的所提交代码的特征。
12.根据权利要求8所述的装置,其特征在于,所述嵌入式系统安装包的生成请求中包括第二指示信息,所述第二指示信息用于指示所述目标嵌入式系统刷机包;
所述获取模块,包括:
第二确定子模块,用于根据所述第二指示信息,确定目标描述信息;
第二获取子模块,用于获取经闲时构建得到的目标嵌入式系统刷机包;其中,所述目标嵌入式系统刷机包与所述目标描述信息对应。
13.根据权利要求12所述的装置,其特征在于,
所述第二指示信息包括第二功能的标识信息,所述第二功能为所述目标嵌入式系统刷机包所具有的功能;
所述目标描述信息中包括:表征支持所述第二功能的信息。
14.根据权利要求12所述的装置,其特征在于,
所述第二指示信息包括第二漏洞的标识信息,所述第二漏洞为所述目标嵌入式系统刷机包所规避的漏洞;
所述目标描述信息中包括:表征用于解决所述第二漏洞的信息。
15.一种服务器,其特征在于,包括处理器,存储器,存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的嵌入式系统安装包生成方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的嵌入式系统安装包生成方法的步骤。
CN201911017138.1A 2019-10-24 2019-10-24 嵌入式系统安装包生成方法、装置及服务器 Active CN112711426B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911017138.1A CN112711426B (zh) 2019-10-24 2019-10-24 嵌入式系统安装包生成方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911017138.1A CN112711426B (zh) 2019-10-24 2019-10-24 嵌入式系统安装包生成方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN112711426A true CN112711426A (zh) 2021-04-27
CN112711426B CN112711426B (zh) 2023-12-26

Family

ID=75540167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911017138.1A Active CN112711426B (zh) 2019-10-24 2019-10-24 嵌入式系统安装包生成方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN112711426B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012814A (zh) * 2010-11-24 2011-04-13 中兴通讯股份有限公司 软件版本的构建方法和系统
CN105278983A (zh) * 2015-08-31 2016-01-27 小米科技有限责任公司 一种应用软件预装次数的控制方法及装置
WO2016206393A1 (zh) * 2015-06-26 2016-12-29 中兴通讯股份有限公司 管理应用的方法和装置、实现读写操作的方法和装置
US20170286081A1 (en) * 2016-03-29 2017-10-05 Airwatch Llc Silent Installation of Software with Dependencies
CN107239292A (zh) * 2017-06-28 2017-10-10 郑州云海信息技术有限公司 一种自动化构建软件版本的方法与装置
US20170344345A1 (en) * 2016-05-31 2017-11-30 International Business Machines Corporation Versioning of build environment information
CN109710262A (zh) * 2018-12-12 2019-05-03 深圳市多元世纪信息技术股份有限公司 软件发布方法和装置、计算机可读存储介质
CN109783129A (zh) * 2018-12-15 2019-05-21 深圳壹账通智能科技有限公司 应用程序处理方法、装置、计算机设备及存储介质
CN109857455A (zh) * 2018-12-29 2019-06-07 深圳Tcl新技术有限公司 安装包打包方法、系统、设备及存储介质
CN109981351A (zh) * 2019-03-06 2019-07-05 浪潮通用软件有限公司 一种私有云部署方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012814A (zh) * 2010-11-24 2011-04-13 中兴通讯股份有限公司 软件版本的构建方法和系统
WO2016206393A1 (zh) * 2015-06-26 2016-12-29 中兴通讯股份有限公司 管理应用的方法和装置、实现读写操作的方法和装置
CN105278983A (zh) * 2015-08-31 2016-01-27 小米科技有限责任公司 一种应用软件预装次数的控制方法及装置
US20170286081A1 (en) * 2016-03-29 2017-10-05 Airwatch Llc Silent Installation of Software with Dependencies
US20170344345A1 (en) * 2016-05-31 2017-11-30 International Business Machines Corporation Versioning of build environment information
CN107239292A (zh) * 2017-06-28 2017-10-10 郑州云海信息技术有限公司 一种自动化构建软件版本的方法与装置
CN109710262A (zh) * 2018-12-12 2019-05-03 深圳市多元世纪信息技术股份有限公司 软件发布方法和装置、计算机可读存储介质
CN109783129A (zh) * 2018-12-15 2019-05-21 深圳壹账通智能科技有限公司 应用程序处理方法、装置、计算机设备及存储介质
CN109857455A (zh) * 2018-12-29 2019-06-07 深圳Tcl新技术有限公司 安装包打包方法、系统、设备及存储介质
CN109981351A (zh) * 2019-03-06 2019-07-05 浪潮通用软件有限公司 一种私有云部署方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHINMUSAM: "C#程序打包安装部署之生成Windows安装程序", Retrieved from the Internet <URL:《https://blog.csdn.net/chinmusam/article/details/7780217》> *
KAROL KRUZELECKI 等: "The nightly build and test system for LCG AA and LHCb software", 《JOURNAL OF PHYSICS: CONFERENCE SERIES》, vol. 29, pages 1 - 4 *
谢聪: "面向移动Web应用的分布式构建平台的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 3, pages 138 - 2255 *
车书: "用InstallShield制作数据库软件安装包", 《电脑编程技巧与维护》, no. 2, pages 35 - 38 *

Also Published As

Publication number Publication date
CN112711426B (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
US20190087310A1 (en) Mobile application program testing method, server, terminal, and storage medium
CN106802814A (zh) 用于软件版本升级的方法及装置
US20070022411A1 (en) System and method for compiling program code ahead of time
CN111949314A (zh) 应用安装包的生成方法、装置、服务器和存储介质
CN111367531B (zh) 代码处理方法及装置
CN111949529A (zh) 系统调试方法、装置、计算机设备和存储介质
CN114461223A (zh) 一种代码生成方法、装置及终端设备
CN112711426A (zh) 嵌入式系统安装包生成方法、装置及服务器
CN110990833B (zh) 一种sdk安全检测方法及相关设备
CN115048082A (zh) 微前端系统构建方法、装置、服务器及可读存储介质
CN114489698A (zh) 应用程序安装方法和装置
CN111309551B (zh) 一种确定事件监控sdk集成正确的方法及装置
CN111061642B (zh) 一种基于用户数据的全自动竞赛数据处理系统以及方法
JP7367312B2 (ja) プログラム配信装置及びプログラム配信方法
CN111176653B (zh) 程序编译合包方法、装置、电子设备及存储介质
CN109726009B (zh) 大数据计算方法、装置、设备及计算机可读存储介质
CN106570143B (zh) 一种发送响应对象的方法和装置
CN117608634A (zh) 一种程序代码的处理方法、系统、电子设备及存储介质
CN111782183B (zh) 用于判断组件依赖关系的方法及设备、电子设备和介质
CN116974653B (zh) 类加载方法及系统
CN114625404A (zh) 一种应用程序升级方法及装置
KR20180060573A (ko) 소프트웨어 개발 품질 향상을 위한 회귀테스트 자동화 시스템
CN116266112A (zh) 一种文件处理方法、装置、设备及计算机可读存储介质
CN116662136A (zh) 数据采集方法及其装置
CN115292254A (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