CN112650478B - 一种嵌入式软件开发平台动态构建方法、系统及设备 - Google Patents

一种嵌入式软件开发平台动态构建方法、系统及设备 Download PDF

Info

Publication number
CN112650478B
CN112650478B CN202110001883.8A CN202110001883A CN112650478B CN 112650478 B CN112650478 B CN 112650478B CN 202110001883 A CN202110001883 A CN 202110001883A CN 112650478 B CN112650478 B CN 112650478B
Authority
CN
China
Prior art keywords
mirror image
container mirror
target container
resource
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.)
Active
Application number
CN202110001883.8A
Other languages
English (en)
Other versions
CN112650478A (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.)
CRRC Qingdao Sifang Rolling Stock Research Institute Co Ltd
Original Assignee
CRRC Qingdao Sifang Rolling Stock Research Institute 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 CRRC Qingdao Sifang Rolling Stock Research Institute Co Ltd filed Critical CRRC Qingdao Sifang Rolling Stock Research Institute Co Ltd
Priority to CN202110001883.8A priority Critical patent/CN112650478B/zh
Publication of CN112650478A publication Critical patent/CN112650478A/zh
Application granted granted Critical
Publication of CN112650478B publication Critical patent/CN112650478B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了嵌入式软件开发平台动态构建方法、系统及设备,方法包括:创建开发环境所需的基础资源池,基于预设配置文件和所述基础资源池,生成并存储与所述开发环境相对应的容器镜像,基于所述容器镜像,获取用户配置信息,根据所述用户配置信息和所述预设配置文件,确定目标容器镜像,基于所述目标容器镜像,查询和统计云资源库的资源状态,根据所述资源状态,调度所述云资源库确定与所述目标容器镜像相对应的硬件资源,将所述目标容器镜像在所述硬件资源上运行,实现开发平台的动态构建。该方法简化了嵌入式开发平台的搭建步骤,降低了人力成本,节省了硬件资源成本,提高了研发效率和扩展性。

Description

一种嵌入式软件开发平台动态构建方法、系统及设备
技术领域
本发明涉及计算机技术领域,特别涉及一种嵌入式软件开发平台动态构建方法、系统及设备。
背景技术
随着轨道交通技术的在我国的快速发展,出现了越来越多适合轨道交通行业的嵌入式软件开发平台。同时,软件作为轨道交通平台建设的核心,也受到越来越多的关注。
目前,就现有技术而言,轨道交通行业主要以嵌入式软件为主,嵌入式软件的运行系统、开发平台及开发语言多种多样,在实际使用时需要开发人员手工进行运行系统的调试,开发工具及其依赖的安装,环境变量的配置等,人力成本浪费严重;需要分配给每一个开发人员一台甚至更多符合其开发需求的计算机资源,硬件资源浪费严重,并且切换开发环境时操作复杂,兼容性错误频发;多人协作开发时开发环境不能保持一致,导致在本地开发环境可正常编译运行,但是在测试环境及生产环境出现异常时,将会严重降低研发效率;现有的开发平台系统部署在个人计算机终端,可扩展性较差,阻碍自动化测试的发展。
发明内容
为解决现有技术中传统的嵌入式软件开发平台动态构建方法人力成本高、硬件资源成本高、研发效率低及可扩展性差的问题,本发明提供了一种嵌入式软件开发平台动态构建方法,简化了嵌入式开发平台的构建步骤,降低了人力成本,通过调度云资源库,实现了嵌入式开发平台运行所需硬件资源实时最优调度,节省了硬件资源成本,并且开发人员可基于同一开发平台进行协同开发,降低了开发环境不一致所导致严重问题的概率,提高了研发效率和扩展性。
本发明提供了嵌入式软件开发平台动态构建方法,包括如下步骤:
容器镜像生成步骤,创建开发环境所需的基础资源池,基于预设配置文件和所述基础资源池,生成并存储与所述开发环境相对应的容器镜像;
目标容器镜像确定步骤,基于所述容器镜像,获取用户配置信息,根据所述用户配置信息和所述预设配置文件,确定目标容器镜像;
资源调度步骤,基于所述目标容器镜像,查询和统计云资源库的资源状态,根据所述资源状态,调度所述云资源库确定与所述目标容器镜像相对应的硬件资源;
平台动态构建步骤,将所述目标容器镜像在所述硬件资源上运行,实现开发平台的动态构建。
上述的嵌入式软件开发平台动态构建方法,其中,所述目标容器镜像确定步骤中用户配置信息包括:目标容器镜像选择信息和项目人员信息。
上述的嵌入式软件开发平台动态构建方法,其中,所述目标容器镜像确定步骤中还包括:
容器镜像更新步骤,根据所述目标容器镜像选择信息,确定与目标容器镜像相对应的目标预设配置文件,并判断所述目标预设配置文件中容器更新时间和目标容器镜像生成时间的大小;
若所述容器更新时间大于所述目标容器镜像生成时间,则基于所述目标预设配置文件,更新所述目标容器镜像,以更新后的所述目标容器镜像作为所确定的所述目标容器镜像;否则,以原有所述目标容器镜像作为所确定的所述目标容器镜像。
上述的嵌入式软件开发平台动态构建方法,其中,所述资源调度步骤中调度所述云资源库确定与所述目标容器镜像相对应的硬件资源,具体包括:
查询和统计云资源库的资源状态,根据所述云资源库的资源空闲情况、所述目标容器镜像的运行资源需求及所述项目人员信息,调度所述云资源库确定与所述目标容器镜像相对应的硬件资源。
上述的嵌入式软件开发平台动态构建方法,其中,所述平台动态构建步骤中具体包括:
将所述目标容器镜像在所述硬件资源上运行,生成与所述目标容器镜像相对应的共享URL访问地址及不同角色的登录信息,根据所述登录信息对不同角色的权限进行动态配置管理,实现开发平台的动态构建。
上述的嵌入式软件开发平台动态构建方法,其中,所述嵌入式软件开发平台动态构建方法,还包括:
资源更新步骤,当更新所述项目人员信息时,重新查询和统计所述云资源库的资源状态,根据所述资源状态,重新调度所述云资源库,并更新与所述目标容器镜像相对应的硬件资源。
上述的嵌入式软件开发平台动态构建方法,其中,所述嵌入式软件开发平台动态构建方法,还包括:
资源释放步骤,当无需所述目标容器镜像时,冻结所述目标容器镜像,在预设时间后触发自动销毁程序,销毁所述目标容器镜像,并释放与所述目标开发容器镜像相对应的硬件资源。
本发明还提供一种嵌入式软件开发平台动态构建系统,包括:
容器镜像生成模块,用于创建开发环境所需的基础资源池,基于预设配置文件和所述基础资源池,生成并存储与所述开发环境相对应的容器镜像;
目标容器镜像确定模块,用于基于所述容器镜像,获取用户配置信息,根据所述用户配置信息和所述预设配置文件,确定目标容器镜像,所述用户配置信息包括:目标容器镜像选择信息和项目人员信息;
资源调度模块,用于基于所述目标容器镜像,查询和统计云资源库的资源状态,根据所述资源状态,调度所述云资源库确定与所述目标容器镜像相对应的硬件资源;
平台动态构建模块,用于将所述目标容器镜像在所述硬件资源上运行,实现开发平台的动态构建。
上述的嵌入式软件持续集成自动化创建系统,其中,所述嵌入式软件持续集成自动化创建系统,还包括:
模板更新模块,用于当所述嵌入式软件测试流程更新,和/或所述测试工具更新后,基于更新后的所述嵌入式软件测试流程,和/或所述测试工具,更新所述持续集成系统的基础配置模板。
上述的嵌入式软件开发平台动态构建系统,其中,所述目标容器镜像确定模块中还包括:
容器镜像更新单元,用于根据所述目标容器镜像选择信息,确定与目标容器镜像相对应的目标预设配置文件,并判断所述目标预设配置文件中容器更新时间和目标容器镜像生成时间的大小;
若所述容器更新时间大于所述目标容器镜像生成时间,则基于所述目标预设配置文件,更新所述目标容器镜像,以更新后的所述目标容器镜像作为所确定的所述目标容器镜像;否则,以原有所述目标容器镜像作为所确定的所述目标容器镜像。
上述的嵌入式软件开发平台动态构建系统,其中,所述嵌入式软件开发平台动态构建系统,还包括:
资源更新模块,用于当更新所述项目人员信息时,重新查询和统计所述云资源库的资源状态,根据所述资源状态,重新调度所述云资源库,并更新与所述目标容器镜像相对应的硬件资源。
上述的嵌入式软件开发平台动态构建系统,其中,所述嵌入式软件开发平台动态构建系统,还包括:
资源释放模块,用于当无需所述目标容器镜像时,冻结所述目标容器镜像,在预设时间后触发自动销毁程序,销毁所述目标容器镜像,并释放与所述目标开发容器镜像相对应的硬件资源。
本发明还提供一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的嵌入式软件开发平台动态构建方法。
本发明的技术效果或优点:
本发明提供的一种嵌入式软件开发平台动态构建方法,创建开发环境所需的基础资源池,基于预设配置文件和基础资源池,生成并存储与开发环境相对应的容器镜像,基于容器镜像,获取用户配置信息,根据用户配置信息和预设配置文件,确定目标容器镜像,基于目标容器镜像,查询和统计云资源库的资源状态,根据资源状态,调度云资源库确定与目标容器镜像相对应的硬件资源,将目标容器镜像在硬件资源上运行,实现开发平台的动态构建。通过上述方式,本发明采用预设配置文件,简化了嵌入式开发平台的搭建步骤,降低了人力成本,通过调度云资源,实现了嵌入式开发平台运行所需硬件资源实时最优调度,节省了硬件资源成本,并且开发人员可基于web服务访问同一开发平台进行协同开发,降低了开发环境不一致所导致严重问题的概率,提高了研发效率和扩展性。
附图说明
图1为本发明实施例提供的一个嵌入式软件开发平台动态构建方法的流程图;
图2为本发明实施例提供的一个嵌入式软件开发平台动态构建系统的结构示意图;
图3为本发明实施例提供的一个电子设备的框架图;
以上图中:
10、总线;11、处理器;12、存储器;13、通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。
本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
下面结合具体实施例及说明书附图,对本发明的技术方案作详细说明。
本实施例提供一种嵌入式软件开发平台动态构建方法,包括如下步骤:
容器镜像生成步骤,创建开发环境所需的基础资源池,基于预设配置文件和所述基础资源池,生成并存储与所述开发环境相对应的容器镜像;
目标容器镜像确定步骤,基于所述容器镜像,获取用户配置信息,根据所述用户配置信息和所述预设配置文件,确定目标容器镜像;
资源调度步骤,基于所述目标容器镜像,查询和统计云资源库的资源状态,根据所述资源状态,调度所述云资源库确定与所述目标容器镜像相对应的硬件资源;
平台动态构建步骤,将所述目标容器镜像在所述硬件资源上运行,实现开发平台的动态构建。
本实施例提供的一种嵌入式软件开发平台动态构建方法,采用预设配置文件,简化了嵌入式开发平台的搭建步骤,降低了人力成本,通过调度云资源,实现了嵌入式开发平台运行所需硬件资源实时最优调度,节省了硬件资源成本,并且开发人员可基于web服务访问同一开发平台进行协同开发,降低了开发环境不一致所导致严重问题的概率,提高了研发效率和扩展性。
具体地,参考图1,图1为本发明实施例提供的一个嵌入式软件开发平台动态构建方法的流程图。本发明实施例中提供了一种嵌入式软件开发平台动态构建方法,其中,本实施例中提供的嵌入式软件开发平台动态构建方法基于web服务器实现,方法包括如下步骤:
容器镜像生成步骤S1,创建开发环境所需的基础资源池,基于预设配置文件和所述基础资源池,生成并存储与所述开发环境相对应的容器镜像。
在本实施例中,容器镜像生成步骤S1中的基础资源池包括但不限于支撑开发环境运行的系统、安装包、开发环境信息及文件等。
在具体应用中,创建基础资源池中的资源会被打上相应的标签,以供后期使用。其中,开发环境为多个,基础资源池包括创建多个开发环境所需的资源。
在本实施例中,容器镜像生成步骤S1中的预设配置文件包括但不限于创建开发环境的基础信息及创建开发环境的步骤信息。
在具体应用中,预设配置文件中的创建开发环境的基础信息包括但不限于容器更新时间和容器镜像生成时间。在本实施例中,预设配置文件为多个,分别与对应的开发环境对应设置。当需创建一个开发环境时,基于与此开发环境相关的预设配置文件,根据资源标签从基础资源池中选取与开发环境的资源并进行资源配置,当配置文件执行完毕,从而也就生成了与此开发环境相对应的容器镜像,其中基于容器生成容器镜像,容器镜像可移植或下载到不同终端环境运行。
目标容器镜像确定步骤S2,基于所述容器镜像,获取用户配置信息,根据所述用户配置信息和所述预设配置文件,确定目标容器镜像。
在本实施例中,所述目标容器镜像确定步骤S2中用户配置信息包括:目标容器镜像选择信息和项目人员信息。其中,项目人员信息具体指同一开发平台开发人员参与的人数。
在本实施例中,所述目标容器镜像确定步骤S2中还包括:
容器镜像更新步骤S20,根据所述目标容器镜像选择信息,确定与目标容器镜像相对应的目标预设配置文件,并判断所述目标预设配置文件中容器更新时间和目标容器镜像生成时间的大小;
若所述容器更新时间大于所述目标容器镜像生成时间,则基于所述目标预设配置文件,更新所述目标容器镜像,以更新后的所述目标容器镜像作为所确定的所述目标容器镜像;否则,以原有所述目标容器镜像作为所确定的所述目标容器镜像。
在具体应用中,基于容器镜像生成步骤中生成的容器镜像,通过web服务器用户界面,获取用户目标容器镜像选择信息和项目人员信息。当接收到用户目标容器镜像选择信息和项目人员信息后,执行容器镜像更新步骤,在当容器更新时间大于目标容器镜像生成时间时,运行与目标容器镜像相对应的目标预设配置文件,基于容器,重新生成与目标开发环境相对应的目标容器镜像,并将重新生成的目标容器镜像作为用户选择的目标容器镜像,保证用户所选择的目标容器镜像的准确性。
资源调度步骤S3,基于所述目标容器镜像,查询和统计云资源库的资源状态,根据所述资源状态,调度所述云资源库确定与所述目标容器镜像相对应的硬件资源。
在本实施例中,所述资源调度步骤S3中调度所述云资源库确定与所述目标容器镜像相对应的硬件资源,具体包括:
查询和统计云资源库的资源状态,根据所述云资源库的资源空闲情况、所述目标容器镜像的运行资源需求及所述项目人员信息,调度所述云资源库确定与所述目标容器镜像相对应的硬件资源。其中,云资源库包括运行容器镜像的所有硬件资源。
本实施例中,基于云资源库,动态调度云资源库,实现嵌入式开发平台所需硬件资源的最优调度,节省了硬件资源,提高了资源的利用效率。
在本实施例中,在资源调度步骤S3之后,嵌入式软件开发平台动态构建方法还包括:
资源更新步骤S30,当更新所述项目人员信息时,重新查询和统计所述云资源库的资源状态,根据所述资源状态,重新调度所述云资源库,并更新与所述目标容器镜像相对应的硬件资源。
在本实施例中,实现了嵌入式开发平台所需硬件资源的实时最优调度,保证了开发环境的最优运行策略。
平台动态构建步骤S4,将所述目标容器镜像在所述硬件资源上运行,实现开发平台的动态构建。
在本实施例中,所述平台动态构建步骤S4中具体包括:
将所述目标容器镜像在所述硬件资源上运行,生成与所述目标容器镜像相对应的共享URL访问地址及不同角色的登录信息,根据所述登录信息对不同角色的权限进行动态配置管理,实现开发平台的动态构建。
在本实施例中,嵌入式开发平台不受本地计算机资源硬件的影响,开发人员可通过web服务访问同一开发平台进行协同开发,降低了开发环境不一致所导致严重问题的概率,提高了研发效率和扩展性。
在本实施例中,为减少资源的占用,在平台动态构建步骤S4之后,还包括:
资源释放步骤S40,当无需所述目标容器镜像时,冻结所述目标容器镜像,在预设时间后触发自动销毁程序,销毁所述目标容器镜像,并释放与所述目标开发容器镜像相对应的硬件资源。
在本实施例中,通过销毁不需要的目标容器镜像,可释放占用的云硬件资源,节省了硬件资源。
本实施例提供了一种嵌入式软件开发平台动态构建方法,采用预设配置文件,简化了嵌入式开发平台的搭建步骤,降低了人力成本,通过调度云资源,实现了嵌入式开发平台运行所需硬件资源实时最优调度,节省了硬件资源成本,并且开发人员可基于web服务访问同一开发平台进行协同开发,降低了开发环境不一致所导致严重问题的概率,提高了研发效率和扩展性。
参考图2,本发明实施例还提供一种嵌入式软件开发平台动态构建系统,其中,系统包括:
容器镜像生成模块,用于创建开发环境所需的基础资源池,基于预设配置文件和所述基础资源池,生成并存储与所述开发环境相对应的容器镜像;
目标容器镜像确定模块,用于基于所述容器镜像,获取用户配置信息,根据所述用户配置信息和所述预设配置文件,确定目标容器镜像,所述用户配置信息包括:目标容器镜像选择信息和项目人员信息;
资源调度模块,用于基于所述目标容器镜像,查询和统计云资源库的资源状态,根据所述资源状态,调度所述云资源库确定与所述目标容器镜像相对应的硬件资源;
平台动态构建模块,用于将所述目标容器镜像在所述硬件资源上运行,实现开发平台的动态构建。
在本实施例中,所述目标容器镜像确定模块中还包括:
容器镜像更新单元,用于根据所述目标容器镜像选择信息,确定与目标容器镜像相对应的目标预设配置文件,并判断所述目标预设配置文件中容器更新时间和目标容器镜像生成时间的大小;
若所述容器更新时间大于所述目标容器镜像生成时间,则基于所述目标预设配置文件,更新所述目标容器镜像,以更新后的所述目标容器镜像作为所确定的所述目标容器镜像;否则,以原有所述目标容器镜像作为所确定的所述目标容器镜像。
在本实施例中,所述嵌入式软件开发平台动态构建系统,还包括:
资源更新模块,用于当更新所述项目人员信息时,重新查询和统计所述云资源库的资源状态,根据所述资源状态,重新调度所述云资源库,并更新与所述目标容器镜像相对应的硬件资源。
在本实施例中,所述嵌入式软件开发平台动态构建系统,还包括:
资源释放模块,用于当无需所述目标容器镜像时,冻结所述目标容器镜像,在预设时间后触发自动销毁程序,销毁所述目标容器镜像,并释放与所述目标开发容器镜像相对应的硬件资源。
本实施例提供了一种嵌入式软件开发平台动态构建系统,采用预设配置文件,简化了嵌入式开发平台的搭建步骤,降低了人力成本,通过调度云资源,实现了嵌入式开发平台运行所需硬件资源实时最优调度,节省了硬件资源成本,并且开发人员可基于web服务访问同一开发平台进行协同开发,降低了开发环境不一致所导致严重问题的概率,提高了研发效率和扩展性。
参考图3,本实施例还提供一种计算机设备,包括存储器12、处理器11以及存储在所述存储器12上并可在所述处理器11上运行的计算机程序,所述处理器11执行所述计算机程序时实现如上所述的嵌入式软件开发平台动态构建方法。
设备可以包括处理器11以及存储有计算机程序指令的存储器12。具体地,上述处理器11可以包括中央处理器(CPU),或者特定集成电路(Application SpecificIntegrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器12可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器12可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器12可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器12可在数据处理装置的内部或外部。在特定实施例中,存储器12是非易失性(Non-Volatile)存储器。在特定实施例中,存储器12包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器12可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器11所执行的可能的计算机程序指令。
处理器11通过读取并执行存储器12中存储的计算机程序指令,以实现上述实施例中的任意一种嵌入式软件开发平台动态构建方法。
在其中一些实施例中,计算机设备还可包括通信接口13和总线10。其中,参考图3,处理器11、存储器12、通信接口13通过总线10连接并完成相互间的通信。通信接口13用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口13还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线10包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。总线10包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(ControlBus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线10可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(FrontSide Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线10可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (7)

1.一种嵌入式软件开发平台动态构建方法,其特征在于,包括如下步骤:
容器镜像生成步骤,创建开发环境所需的基础资源池,基于预设配置文件和所述基础资源池,生成并存储与所述开发环境相对应的容器镜像;
目标容器镜像确定步骤,基于所述容器镜像,获取目标容器镜像选择信息和项目人员信息,根据所述目标容器镜像选择信息、所述项目人员信息以及所述预设配置文件,确定目标容器镜像;所述目标容器镜像确定步骤中还包括容器镜像更新步骤,根据所述目标容器镜像选择信息,确定与目标容器镜像相对应的目标预设配置文件,并判断所述目标预设配置文件中容器更新时间和目标容器镜像生成时间的大小;若所述容器更新时间大于所述目标容器镜像生成时间,则基于所述目标预设配置文件,更新所述目标容器镜像,以更新后的所述目标容器镜像作为所确定的所述目标容器镜像;否则,以原有所述目标容器镜像作为所确定的所述目标容器镜像;
资源调度步骤,基于所述目标容器镜像,查询和统计云资源库的资源状态,根据所述云资源库的资源空闲情况、所述目标容器镜像的运行资源需求及所述项目人员信息,调度所述云资源库确定与所述目标容器镜像相对应的硬件资源;
平台动态构建步骤,将所述目标容器镜像在所述硬件资源上运行,生成与所述目标容器镜像相对应的共享URL访问地址及不同角色的登录信息,根据所述登录信息对不同角色的权限进行动态配置管理,实现开发平台的动态构建。
2.根据权利要求1所述的嵌入式软件开发平台动态构建方法,其特征在于,所述嵌入式软件开发平台动态构建方法,还包括:资源更新步骤,当更新所述项目人员信息时,重新查询和统计所述云资源库的资源状态,根据所述资源状态,重新调度所述云资源库,并更新与所述目标容器镜像相对应的硬件资源。
3.根据权利要求1所述的嵌入式软件开发平台动态构建方法,其特征在于,所述嵌入式软件开发平台动态构建方法,还包括:资源释放步骤,当无需所述目标容器镜像时,冻结所述目标容器镜像,在预设时间后触发自动销毁程序,销毁所述目标容器镜像,并释放与所述目标开发容器镜像相对应的硬件资源。
4.一种嵌入式软件开发平台动态构建系统,其特征在于,包括:容器镜像生成模块,用于创建开发环境所需的基础资源池,基于预设配置文件和所述基础资源池,生成并存储与所述开发环境相对应的容器镜像;目标容器镜像确定模块,用于基于所述容器镜像,获取目标容器镜像选择信息和项目人员信息,根据所述目标容器镜像选择信息、所述项目人员信息以及所述预设配置文件,确定目标容器镜像;所述目标容器镜像确定模块中还包括容器镜像更新单元,用于根据所述目标容器镜像选择信息,确定与目标容器镜像相对应的目标预设配置文件,并判断所述目标预设配置文件中容器更新时间和目标容器镜像生成时间的大小;若所述容器更新时间大于所述目标容器镜像生成时间,则基于所述目标预设配置文件,更新所述目标容器镜像,以更新后的所述目标容器镜像作为所确定的所述目标容器镜像;否则,以原有所述目标容器镜像作为所确定的所述目标容器镜像;资源调度模块,用于基于所述目标容器镜像,查询和统计云资源库的资源状态,根据所述云资源库的资源空闲情况、所述目标容器镜像的运行资源需求及所述项目人员信息,调度所述云资源库确定与所述目标容器镜像相对应的硬件资源;平台动态构建模块,用于将所述目标容器镜像在所述硬件资源上运行,生成与所述目标容器镜像相对应的共享URL访问地址及不同角色的登录信息,根据所述登录信息对不同角色的权限进行动态配置管理,实现开发平台的动态构建。
5.根据权利要求4所述的嵌入式软件开发平台动态构建系统,其特征在于,所述嵌入式软件开发平台动态构建系统,还包括:资源更新模块,用于当更新所述项目人员信息时,重新查询和统计所述云资源库的资源状态,根据所述资源状态,重新调度所述云资源库,并更新与所述目标容器镜像相对应的硬件资源。
6.根据权利要求4所述的嵌入式软件开发平台动态构建系统,其特征在于,所述嵌入式软件开发平台动态构建系统,还包括:资源释放模块,用于当无需所述目标容器镜像时,冻结所述目标容器镜像,在预设时间后触发自动销毁程序,销毁所述目标容器镜像,并释放与所述目标开发容器镜像相对应的硬件资源。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述的嵌入式软件开发平台动态构建方法。
CN202110001883.8A 2021-01-04 2021-01-04 一种嵌入式软件开发平台动态构建方法、系统及设备 Active CN112650478B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110001883.8A CN112650478B (zh) 2021-01-04 2021-01-04 一种嵌入式软件开发平台动态构建方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110001883.8A CN112650478B (zh) 2021-01-04 2021-01-04 一种嵌入式软件开发平台动态构建方法、系统及设备

Publications (2)

Publication Number Publication Date
CN112650478A CN112650478A (zh) 2021-04-13
CN112650478B true CN112650478B (zh) 2024-03-26

Family

ID=75367207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110001883.8A Active CN112650478B (zh) 2021-01-04 2021-01-04 一种嵌入式软件开发平台动态构建方法、系统及设备

Country Status (1)

Country Link
CN (1) CN112650478B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113645300B (zh) * 2021-08-10 2023-11-28 上海道客网络科技有限公司 一种基于Kubernetes集群的节点智能调度方法和系统
CN115827045B (zh) * 2022-10-31 2023-07-14 北京凯思昊鹏软件工程技术有限公司 嵌入式系统中容器的接口配置系统和方法
CN115665172B (zh) * 2022-10-31 2023-04-28 北京凯思昊鹏软件工程技术有限公司 一种嵌入式终端设备的管理系统
CN117762390A (zh) * 2024-02-22 2024-03-26 北方健康医疗大数据科技有限公司 基于私有云开发环境的程序开发方法、系统、终端及介质
CN117950646B (zh) * 2024-03-26 2024-06-07 苏州元脑智能科技有限公司 软件开发方法、装置、计算机设备、存储介质及程序产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582377B1 (en) * 2015-03-19 2017-02-28 Amazon Technologies, Inc. Dynamic sizing of storage capacity for a remirror buffer
WO2017129106A1 (zh) * 2016-01-29 2017-08-03 腾讯科技(深圳)有限公司 数据请求处理的方法、服务器及系统
CN107220100A (zh) * 2016-03-22 2017-09-29 中国移动(深圳)有限公司 一种开发运维方法、装置及云计算PaaS平台
CN108984268A (zh) * 2018-07-13 2018-12-11 郑州云海信息技术有限公司 Docker系统中容器管理的方法和装置
CN109240662A (zh) * 2018-08-09 2019-01-18 赛尔网络有限公司 一种基于云平台的软件开发方法、云平台、设备及介质
CN111090456A (zh) * 2019-12-06 2020-05-01 浪潮(北京)电子信息产业有限公司 一种深度学习开发环境的构建方法、装置、设备及介质
WO2020207264A1 (zh) * 2019-04-08 2020-10-15 阿里巴巴集团控股有限公司 网络系统、服务提供与资源调度方法、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582377B1 (en) * 2015-03-19 2017-02-28 Amazon Technologies, Inc. Dynamic sizing of storage capacity for a remirror buffer
WO2017129106A1 (zh) * 2016-01-29 2017-08-03 腾讯科技(深圳)有限公司 数据请求处理的方法、服务器及系统
CN107220100A (zh) * 2016-03-22 2017-09-29 中国移动(深圳)有限公司 一种开发运维方法、装置及云计算PaaS平台
CN108984268A (zh) * 2018-07-13 2018-12-11 郑州云海信息技术有限公司 Docker系统中容器管理的方法和装置
CN109240662A (zh) * 2018-08-09 2019-01-18 赛尔网络有限公司 一种基于云平台的软件开发方法、云平台、设备及介质
WO2020207264A1 (zh) * 2019-04-08 2020-10-15 阿里巴巴集团控股有限公司 网络系统、服务提供与资源调度方法、设备及存储介质
CN111090456A (zh) * 2019-12-06 2020-05-01 浪潮(北京)电子信息产业有限公司 一种深度学习开发环境的构建方法、装置、设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于Docker的电网轻量级PaaS平台构建方案;张羿;胡永华;黄丁;;信息与电脑(理论版)(11);全文 *
省级气象云资源管理平台设计与应用;陈鹏;唐红昇;裴向杰;沈菲菲;吉曹翔;鲍婷婷;马彬;;气象科技(05);全文 *

Also Published As

Publication number Publication date
CN112650478A (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
CN112650478B (zh) 一种嵌入式软件开发平台动态构建方法、系统及设备
WO2016197768A1 (zh) 芯片验证方法、装置及系统
US20150347305A1 (en) Method and apparatus for outputting log information
EP2081116A1 (en) Performance evaluation simulation
CN110399227B (zh) 一种数据访问方法、装置和存储介质
CN112765023A (zh) 测试用例生成方法、装置
CN113190282A (zh) 安卓运行环境构建的方法及装置
CN112699041B (zh) 一种嵌入式软件自动部署方法、系统及设备
EP3754489A1 (en) Method for evaluating application deployment, apparatus, computer program product, and readable medium
CN113204425A (zh) 供进程管理内部线程的方法、装置、电子设备及存储介质
CN115599268A (zh) 一种屏幕截图方法、计算设备和存储介质
CN114637969A (zh) 目标对象的鉴权方法及装置
CN111625326B (zh) 任务管线执行方法、装置及电子设备
CN114064505A (zh) 用于译码单元的测试方法、系统、设备以及存储介质
US20170090820A1 (en) Method and device for operating a many-core system
CN107957878B (zh) 一种基于存储资源再分配的嵌入式设备软件在线升级方法
CN106649720B (zh) 一种数据处理方法及服务器
CN116842763B (zh) 仿真测试方法、装置、电子设备和存储介质
CN117170822B (zh) 使用分布式网络中间件的系统模型和代码联合仿真系统
CN116070565B (zh) 一种模拟多核处理器的方法及装置、电子设备和存储介质
CN112650690B (zh) 一种嵌入式软件持续集成自动化创建方法、系统及设备
CN115543420A (zh) Ai开发系统、方法、电子设备及存储介质
CN110213314B (zh) 确定存储节点的方法、装置、服务器
CN115935877A (zh) 一种芯片存储需求的部署方法、装置、设备及存储介质
CN116431201A (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