CN112699041A - 一种嵌入式软件自动部署方法、系统及设备 - Google Patents

一种嵌入式软件自动部署方法、系统及设备 Download PDF

Info

Publication number
CN112699041A
CN112699041A CN202110001898.4A CN202110001898A CN112699041A CN 112699041 A CN112699041 A CN 112699041A CN 202110001898 A CN202110001898 A CN 202110001898A CN 112699041 A CN112699041 A CN 112699041A
Authority
CN
China
Prior art keywords
embedded software
test
test environment
environment
container mirror
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
CN202110001898.4A
Other languages
English (en)
Other versions
CN112699041B (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 CN202110001898.4A priority Critical patent/CN112699041B/zh
Publication of CN112699041A publication Critical patent/CN112699041A/zh
Application granted granted Critical
Publication of CN112699041B publication Critical patent/CN112699041B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了嵌入式软件自动部署方法、系统及设备,方法包括:基于嵌入式软件测试需求,创建与所述嵌入式软件测试需求相对应的测试环境;将所述测试环境进行封装后,生成与所述测试环境相对应的容器镜像,并将所述容器镜像发布至Web Server进行存储;基于所述容器镜像,获取用户配置需求,根据所述用户配置需求确定相应的目标容器镜像,组合所确定的所述目标容器镜像确定目标测试环境;将目标源代码自动部署至所述目标测试环境中,实现嵌入式软件的自动化测试。该方法实现了嵌入式软件的自动化部署和自动化测试,减少了人力成本,提高了研发效率和自动化程度,并且,加大了硬件运行环境的复用,减少了硬件运行环境的损坏,保证了项目进度。

Description

一种嵌入式软件自动部署方法、系统及设备
技术领域
本发明涉及计算机技术领域,特别涉及一种嵌入式软件自动部署方法、系统及设备。
背景技术
随着轨道交通产业在我国的快速发展,轨道交通装备软件在轨道交通领域的发展过程中发挥着越来越大的作用。
目前轨道交通装备软件以嵌入式软件为主,在开发、部署和测试过程中需要依赖于真实的运行环境。首先根据项目开发需求,研制出与项目开发需求相关的硬件运行环境,当研发人员编写完成软件代码后,研发人员手动将软件代码下载和编译到硬件运行环境中,从而实现软件代码的部署和测试。
但现有技术中通过手动部署软件代码还存在以下问题:
第一,硬件运行环境的研发到试制成功需要耗费大量的时间,导致研发人员无法得到充分的时间去部署和调试,降低了研发效率;
第二,硬件运行环境的试制面临着巨大的成本,常常只能生成少量的硬件运行环境进行整个生命周期的工作,导致研发人员、测试人员及验证人员等共用一套真实环境,硬件运行环境资源的使用率过高,资源协调困难,并面临着硬件板卡损坏的问题,对项目进度产生影响;
第三,研发人员往往需要手动将程序下载和编译到硬件运行环境中,自动化程度低,不利于软件版本的快速迭代,增加了人力和物力成本;
第四,软件代码无法实现自动化部署到硬件运行环境中,进而无法自动化完成白盒、黑盒等测试内容,阻碍轨道交通嵌入式软件自动化测试的发展。
发明内容
为解决现有技术中传统的嵌入式软件部署方法人力成本高、硬件运行环境损坏程度过高、研发效率低及自动化程度低的问题,本发明提供了一种嵌入式软件自动部署方法,实现了嵌入式软件的自动化部署和自动化测试,减少了人力成本,提高了研发效率和自动化程度,并且,加大了硬件运行环境的复用,减少了硬件运行环境的损坏,保证了项目进度。
本发明提供了嵌入式软件自动部署方法,包括如下步骤:
测试环境创建步骤,基于嵌入式软件测试需求,创建与所述嵌入式软件测试需求相对应的测试环境;
容器镜像生成步骤,将所述测试环境进行封装后,生成与所述测试环境相对应的容器镜像,并存储所述容器镜像;
目标测试环境组合步骤,基于所述容器镜像,获取用户配置需求,根据所述用户配置需求确定相应的目标容器镜像,组合所确定的所述目标容器镜像确定目标测试环境;
自动部署步骤,将目标源代码自动部署至所述目标测试环境中,实现嵌入式软件的自动化测试。
上述的嵌入式软件自动部署方法,其中,所述测试环境创建步骤中所述嵌入式软件测试需求具体包括:
嵌入式软件的硬件运行环境需求、嵌入式软硬件通信接口需求及嵌入式软件程序下载接口需求。
上述的嵌入式软件自动部署方法,其中,所述测试环境创建步骤中具体包括:
基于所述硬件运行环境需求,虚拟化硬件运行环境资源,并仿真虚拟化的所述硬件运行环境资源,以获得与所述硬件运行环境资源相对应的外部接口;
基于所述嵌入式软硬件通信接口需求,虚拟化嵌入式软硬件通信接口;
基于所述嵌入式软件程序下载接口需求,虚拟化嵌入式软件程序下载接口;
根据虚拟化的所述硬件运行环境资源、所述嵌入式软硬件通信接口及所述嵌入式软件程序下载接口,创建与所述嵌入式软件测试需求相对应的测试环境。
上述的嵌入式软件自动部署方法,其中,所述嵌入式软硬件通信接口包括但不限于CAN通信接口、MVB通信接口、以太网通信接口、RS422通信接口、RS232通信接口及RS485通信接口。
上述的嵌入式软件自动部署方法,其中,所述程序下载接口包括但不限于SPI程序下载接口、RS232程序下载接口及RS485程序下载接口。
上述的嵌入式软件自动部署方法,其中,所述容器镜像生成步骤中具体包括:
将所述测试环境步骤创建的所述测试环境在开发云上进行发布调试;
将调试后的所述测试环境通过Docker容器进行封装,生成与所述测试环境相对应的容器镜像,并将所述容器镜像存储于所述开发云上。
上述的嵌入式软件自动部署方法,其中,所述目标测试环境获取步骤中还包括:
将所确定的目标测试环境部署至测试云中。
上述的嵌入式软件自动部署方法,其中,所述嵌入式软件自动部署方法还包括:
资源释放步骤,当自动化测试结束后,输出自动化测试结果,并释放所述目标测试环境。
本发明还提供一种实现如上所述的嵌入式软件自动部署方法的系统,包括:
测试环境创建模块,用于基于嵌入式软件测试需求,创建与所述嵌入式软件测试需求相对应的测试环境;
容器镜像生成模块,用于将所述测试环境进行封装后,生成与所述测试环境相对应的容器镜像,并将所述容器镜像发布至Web Server进行存储;
目标测试环境获取模块,用于基于所述容器镜像,获取用户配置需求,根据所述用户配置需求确定相应的目标容器镜像,组合所确定的所述目标容器镜像确定目标测试环境;
自动部署模块,用于将目标源代码自动部署至所述目标测试环境中,实现嵌入式软件的自动化测试。
本发明还提供一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的嵌入式软件自动部署方法。
本发明的技术效果或优点:
本发明提供的一种嵌入式软件自动部署方法,基于嵌入式软件测试需求,创建与嵌入式软件测试需求相关的测试环境,封装测试环境后,生成并存储与测试环境相对应的容器镜像,基于容器镜像,获取用户配置需求,根据用户配置需求确定相应的目标容器镜像,组合所确定的目标容器镜像后确定目标测试环境,将目标源代码自动部署至目标测试环境中,实现嵌入式软件的自动化测试。通过上述方式,本发明实现了嵌入式软件的自动化部署和自动化测试,减少了人力成本,提高了研发效率和自动化程度,并且,加大了硬件运行环境的复用,减少了硬件运行环境的损坏,保证了项目进度。
附图说明
图1为本发明实施例提供的一个嵌入式软件自动部署方法的流程图;
图2为本发明实施例提供的一个实现嵌入式软件自动部署方法的系统的结构示意图;
图3为本发明实施例提供的一个电子设备的框架图;
以上图中:
10、总线;11、处理器;12、存储器;13、通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。
本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
下面结合具体实施例及说明书附图,对本发明的技术方案作详细说明。
本实施例提供一种嵌入式软件自动部署方法,包括如下步骤:
测试环境创建步骤,基于嵌入式软件测试需求,创建与所述嵌入式软件测试需求相对应的测试环境;
容器镜像生成步骤,将所述测试环境进行封装后,生成与所述测试环境相对应的容器镜像,并将所述容器镜像发布至Web Server进行存储;
目标测试环境组合步骤,基于所述容器镜像,获取用户配置需求,根据所述用户配置需求确定相应的目标容器镜像,组合所确定的所述目标容器镜像确定目标测试环境;
自动部署步骤,将目标源代码自动部署至所述目标测试环境中,实现嵌入式软件的自动化测试。
本实施例提供的一种嵌入式软件自动部署方法,实现了嵌入式软件的自动化部署和自动化测试,减少了人力成本,提高了研发效率和自动化程度,并且,加大了硬件运行环境的复用,减少了硬件运行环境的损坏,保证了项目进度。
具体地,参考图1,图1为本发明实施例提供的一个嵌入式软件自动部署方法的流程图。本发明实施例中提供了一种嵌入式软件自动部署方法,其中,本实施例中提供的嵌入式软件自动部署方法基于Web Server服务器管理系统实现,方法包括如下步骤:
测试环境创建步骤S1,基于嵌入式软件测试需求,创建与所述嵌入式软件测试需求相对应的测试环境。
在本实施例中,所述测试环境创建步骤S1中所述嵌入式软件测试需求具体包括:
嵌入式软件的硬件运行环境需求、嵌入式软硬件通信接口需求及嵌入式软件程序下载接口需求。
在本实施例中,所述测试环境创建步骤S1中具体包括:
基于所述硬件运行环境需求,虚拟化硬件运行环境资源,并仿真虚拟化的所述硬件运行环境资源,以获得与所述硬件运行环境资源相对应的外部接口;
基于所述嵌入式软硬件通信接口需求,虚拟化嵌入式软硬件通信接口;
基于所述嵌入式软件程序下载接口需求,虚拟化嵌入式软件程序下载接口;
根据虚拟化的所述硬件运行环境资源、所述嵌入式软硬件通信接口及所述嵌入式软件程序下载接口,创建与所述嵌入式软件测试需求相对应的测试环境。
其中,所述嵌入式软硬件通信接口包括但不限于CAN通信接口、MVB通信接口、以太网通信接口、RS422通信接口、RS232通信接口及RS485通信接口。
其中,所述程序下载接口包括但不限于SPI程序下载接口、RS232程序下载接口及RS485程序下载接口。
在具体应用中,硬件运行环境具体指运行嵌入式软件的芯片,其中,芯片为多个,可为STM32系列芯片也可以为飞思卡尔系列芯片,具体可根据实际设计需求进行选择。通过现有仿真工具可对硬件运行环境资源进行虚拟化,并仿真虚拟化的硬件运行环境资源,即可得到与虚拟化的硬件运行环境资源相对应的外部接口。为实现嵌入式软硬件通信接口的通用性,根据目前轨道交通嵌入式软硬件通信接口需求,通过现有的仿真工具,虚拟化常用的软硬件通信接口,其中软硬件通信接口为多个,具体可根据实际设计需求进行选择,实现了通信端口、通信协议及波特率的可动态配置。同样的,为实现嵌入式软件程序下载接口的通用性,根据目标轨道交通嵌入式软件程序下载接口需求,通过现有仿真工具,虚拟化用于软件程序下载接口,其中程序下载接口为多个,具体可根据实际设计需求进行选择,通过多种不同的软件程序下载接口的组合,可适用于不同硬件运行环境的程序下载、编译和部署。
容器镜像生成步骤S2,将所述测试环境进行封装后,生成与所述测试环境相对应的容器镜像,并将所述容器镜像发布至Web Server进行存储。
在本实施例中,所述容器镜像生成步骤S2中具体包括:
将所述测试环境步骤创建的所述测试环境在开发云上进行发布调试;
将调试后的所述测试环境通过Docker容器进行封装,生成与所述测试环境相对应的容器镜像,并将所述容器镜像存储于所述开发云上。
在具体应用中,开发云以Web Server形式进行展示。将测试环境在开发云上进行发布调试,具体指将虚拟化的硬件运行环境资源及其外部接口、虚拟化的嵌入式软硬件通信接口和虚拟化的嵌入式软件程序下载接口在开发云上进行发布调试,使用充分的接口测试用例确保能够正常通信、调度和运行,调试结束后,通过Docker容器封装的形式生成相应的容器镜像,具体地说,可生成硬件运行环境容器镜像、软硬件通信接口容器镜像和软件程序下载接口镜像,将生成的所有容器镜像在开发云上进行存储,并在Web Server服务器管理系统上进行发布。
目标测试环境获取步骤S3,基于所述容器镜像,获取用户配置需求,根据所述用户配置需求确定相应的目标容器镜像,组合所确定的所述目标容器镜像确定目标测试环境。
在本实施例中,所述目标测试环境获取步骤S3中还包括:
将所确定的目标测试环境部署至测试云中。
在具体应用中,测试云以Web Server形式进行展示。用户通过登录Web Server服务器管理系统,基于生成的容器镜像和项目需求,进行相关配置,从而获取用户配置需求,其中,用户配置需求具体指硬件运行环境容器镜像的选择、软硬件通信接口容器镜像的选择及软件程序下载接口容器镜像的选择,将所选择的硬件运行环境容器镜像、软硬件通信接口容器镜像及软件程序下载接口容器镜像进行组合,即可确定目标测试环境,并将所确定的目标测试环境发布至测试云中。
自动部署步骤S4,将目标源代码自动部署至所述目标测试环境中,实现嵌入式软件的自动化测试。
在具体应用中,将本地目标源代码自动部署至测试云中的目标测试环境中,测试云中的目标测试环境会先进行复制备份,再将用户发布的目标源代码自动部署至目标测试环境中,进行自动化测试,从而实现了嵌入式软件的自动化测试。
资源释放步骤S5,当自动化测试结束后,输出自动化测试结果,并释放所述目标测试环境。
在具体应用中,当自动化测试结束后,输出相关测试结果,并释放目标测试环境,避免了资源的占用。
本实施例提供了一种嵌入式软件自动部署方法,实现了嵌入式软件的自动化部署和自动化测试,减少了人力成本,提高了研发效率和自动化程度,并且,加大了硬件运行环境的复用,减少了硬件运行环境的损坏,保证了项目进度。
参考图2,本发明实施例还提供一种实现嵌入式软件自动部署方法的系统,其中,其中,本实施例中提供的实现嵌入式软件自动部署方法的系统基于Web Server服务器管理系统实现,系统包括:
测试环境创建模块,用于基于嵌入式软件测试需求,创建与所述嵌入式软件测试需求相对应的测试环境;
容器镜像生成模块,用于将所述测试环境进行封装后,生成与所述测试环境相对应的容器镜像,并将所述容器镜像发布至Web Server进行存储;
目标测试环境组合模块,用于基于所述容器镜像,获取用户配置需求,根据所述用户配置需求确定相应的目标容器镜像,组合所确定的所述目标容器镜像确定目标测试环境;
自动部署模块,用于将目标源代码自动部署至所述目标测试环境中,实现嵌入式软件的自动化测试。
在本实施例中,为避免资源的占用,系统还包括:
资源释放模块,用于当自动化测试结束后,输出自动化测试结果,并释放所述目标测试环境。
本实施例提供了一种实现嵌入式软件自动部署方法的系统,实现了嵌入式软件的自动化部署和自动化测试,减少了人力成本,提高了研发效率和自动化程度,并且,加大了硬件运行环境的复用,减少了硬件运行环境的损坏,保证了项目进度。
参考图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 (10)

1.一种嵌入式软件自动部署方法,其特征在于,包括如下步骤:
测试环境创建步骤,基于嵌入式软件测试需求,创建与所述嵌入式软件测试需求相对应的测试环境;
容器镜像生成步骤,将所述测试环境进行封装后,生成与所述测试环境相对应的容器镜像,并将所述容器镜像发布至Web Server进行存储;
目标测试环境组合步骤,基于所述容器镜像,获取用户配置需求,根据所述用户配置需求确定相应的目标容器镜像,组合所确定的所述目标容器镜像确定目标测试环境;
自动部署步骤,将目标源代码自动部署至所述目标测试环境中,实现嵌入式软件的自动化测试。
2.根据权利要求1所述的嵌入式软件自动部署方法,其特征在于,所述测试环境创建步骤中所述嵌入式软件测试需求具体包括:
嵌入式软件的硬件运行环境需求、嵌入式软硬件通信接口需求及嵌入式软件程序下载接口需求。
3.根据权利要求2所述的嵌入式软件自动部署方法,其特征在于,所述测试环境创建步骤中具体包括:
基于所述硬件运行环境需求,虚拟化硬件运行环境资源,并仿真虚拟化的所述硬件运行环境资源,以获得与所述硬件运行环境资源相对应的外部接口;
基于所述嵌入式软硬件通信接口需求,虚拟化嵌入式软硬件通信接口;
基于所述嵌入式软件程序下载接口需求,虚拟化嵌入式软件程序下载接口;
根据虚拟化的所述硬件运行环境资源、所述嵌入式软硬件通信接口及所述嵌入式软件程序下载接口,创建与所述嵌入式软件测试需求相对应的测试环境。
4.根据权利要求3所述的嵌入式软件自动部署方法,其特征在于,所述嵌入式软硬件通信接口包括但不限于CAN通信接口、MVB通信接口、以太网通信接口、RS422通信接口、RS232通信接口及RS485通信接口。
5.根据权利要求3所述的嵌入式软件自动部署方法,其特征在于,所述程序下载接口包括但不限于SPI程序下载接口、RS232程序下载接口及RS485程序下载接口。
6.根据权利要求1所述的嵌入式软件自动部署方法,其特征在于,所述容器镜像生成步骤中具体包括:
将所述测试环境步骤创建的所述测试环境在开发云上进行发布调试;
将调试后的所述测试环境通过Docker容器进行封装,生成与所述测试环境相对应的容器镜像,并将所述容器镜像存储于所述开发云上。
7.根据权利要求1所述的嵌入式软件自动部署方法,其特征在于,所述目标测试环境获取步骤中还包括:
将所确定的目标测试环境部署至测试云中。
8.根据权利要求1所述嵌入式软件自动部署方法,其特征在于,所述嵌入式软件自动部署方法还包括:
资源释放步骤,当自动化测试结束后,输出自动化测试结果,并释放所述目标测试环境。
9.一种实现如权利1~8任一项所述的嵌入式软件自动部署方法的系统,其特征在于,包括:
测试环境创建模块,用于基于嵌入式软件测试需求,创建与所述嵌入式软件测试需求相对应的测试环境;
容器镜像生成模块,用于将所述测试环境进行封装后,生成与所述测试环境相对应的容器镜像,并将所述容器镜像发布至Web Server进行存储;
目标测试环境组合模块,用于基于所述容器镜像,获取用户配置需求,根据所述用户配置需求确定相应的目标容器镜像,组合所确定的所述目标容器镜像确定目标测试环境;
自动部署模块,用于将目标源代码自动部署至所述目标测试环境中,实现嵌入式软件的自动化测试。
10.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8中任一项所述的嵌入式软件自动部署方法。
CN202110001898.4A 2021-01-04 2021-01-04 一种嵌入式软件自动部署方法、系统及设备 Active CN112699041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110001898.4A CN112699041B (zh) 2021-01-04 2021-01-04 一种嵌入式软件自动部署方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110001898.4A CN112699041B (zh) 2021-01-04 2021-01-04 一种嵌入式软件自动部署方法、系统及设备

Publications (2)

Publication Number Publication Date
CN112699041A true CN112699041A (zh) 2021-04-23
CN112699041B CN112699041B (zh) 2024-03-26

Family

ID=75514389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110001898.4A Active CN112699041B (zh) 2021-01-04 2021-01-04 一种嵌入式软件自动部署方法、系统及设备

Country Status (1)

Country Link
CN (1) CN112699041B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867736A (zh) * 2021-09-03 2021-12-31 中国人民解放军军事科学院战争研究院 部署方案生成方法及装置
CN114741123A (zh) * 2022-02-11 2022-07-12 华东师范大学 一种机载软件形式化验证系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100192220A1 (en) * 2008-09-08 2010-07-29 Robin Heizmann Apparatuses, methods and systems for providing a virtual development and deployment environment including real and synthetic data
US20130318397A1 (en) * 2012-05-23 2013-11-28 Shawn Jamison Automated Build, Deploy, and Testing Environment for Firmware
WO2014088398A1 (en) * 2012-12-06 2014-06-12 Mimos Berhad Automated test environment deployment with metric recommender for performance testing on iaas cloud
WO2017020770A1 (zh) * 2015-07-31 2017-02-09 中兴通讯股份有限公司 基于lxc的持续集成方法及装置
WO2019018316A1 (en) * 2017-07-21 2019-01-24 CYBRIC Inc. AUTOMATIC CYBERSECURITY REMEDY AT AN ENTERPRISE LEVEL
CN109358858A (zh) * 2018-09-19 2019-02-19 网易(杭州)网络有限公司 自动化部署方法、装置、介质及电子设备
CN112100060A (zh) * 2020-08-21 2020-12-18 杭州安恒信息安全技术有限公司 运行环境自适应方法、装置和计算机可读存储介质
CN112148269A (zh) * 2020-10-22 2020-12-29 深圳市思迅软件股份有限公司 研发持续集成方法、装置、计算机设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100192220A1 (en) * 2008-09-08 2010-07-29 Robin Heizmann Apparatuses, methods and systems for providing a virtual development and deployment environment including real and synthetic data
US20130318397A1 (en) * 2012-05-23 2013-11-28 Shawn Jamison Automated Build, Deploy, and Testing Environment for Firmware
WO2014088398A1 (en) * 2012-12-06 2014-06-12 Mimos Berhad Automated test environment deployment with metric recommender for performance testing on iaas cloud
WO2017020770A1 (zh) * 2015-07-31 2017-02-09 中兴通讯股份有限公司 基于lxc的持续集成方法及装置
WO2019018316A1 (en) * 2017-07-21 2019-01-24 CYBRIC Inc. AUTOMATIC CYBERSECURITY REMEDY AT AN ENTERPRISE LEVEL
CN109358858A (zh) * 2018-09-19 2019-02-19 网易(杭州)网络有限公司 自动化部署方法、装置、介质及电子设备
CN112100060A (zh) * 2020-08-21 2020-12-18 杭州安恒信息安全技术有限公司 运行环境自适应方法、装置和计算机可读存储介质
CN112148269A (zh) * 2020-10-22 2020-12-29 深圳市思迅软件股份有限公司 研发持续集成方法、装置、计算机设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李耀;周亚明;罗辉;黎毅辉;: "基于Docker的嵌入式软件测试研究", 电子技术与软件工程, no. 12 *
芦彩林;丁刚毅;: "嵌入式软件全数字仿真测试环境设计", 计算机仿真, no. 01 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867736A (zh) * 2021-09-03 2021-12-31 中国人民解放军军事科学院战争研究院 部署方案生成方法及装置
CN114741123A (zh) * 2022-02-11 2022-07-12 华东师范大学 一种机载软件形式化验证系统

Also Published As

Publication number Publication date
CN112699041B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
US20170337309A1 (en) Target Capture And Replay In Emulation
US8930912B2 (en) Method and system for performing software verification
CN112580295A (zh) 多核SoC芯片的自动化验证方法、系统及装置
CN100476837C (zh) 一种支持随机指令测试的微处理器fpga验证装置
CN108121654B (zh) 一种基于Docker的软件大规模测试方法
CN111414172A (zh) 应用软件自动部署发布系统及方法
JP6045134B2 (ja) アプリケーション性能試験のための並列作業負荷シミュレーション
CN112699041A (zh) 一种嵌入式软件自动部署方法、系统及设备
US20230153158A1 (en) Method, apparatus, system, and storage medium for performing eda task
CN112506785A (zh) Html5游戏页面登录的自动化测试方法、装置、设备和介质
CN110941934A (zh) 一种fpga原型验证开发板分割仿真系统、方法、介质及终端
CN110532182A (zh) 一种虚拟化平台的自动化测试方法及装置
CN115146582A (zh) 仿真方法及仿真装置、电子设备和计算机可读存储介质
US20070150249A1 (en) Verification Operation Supporting System and Method of the Same
US9946823B2 (en) Dynamic control of design clock generation in emulation
CN103440133A (zh) 一种芯片测试软件的开发方法和系统
CN112764981A (zh) 一种协同测试系统及方法
CN112486863A (zh) 软件虚拟仿真方法、装置和电子设备
US7162403B2 (en) System and method for efficiently tracing simulation data in hardware acceleration simulation systems
US6536020B2 (en) Efficient generation of optimum test data
CN113139359B (zh) 基于fpga内嵌处理器的虚拟仿真测试方法
CN117667655A (zh) 验证系统、验证方法、电子设备以及存储介质
CN113792522A (zh) 仿真验证方法、装置及计算设备
CN103136060B (zh) 运行控制方法和运行控制装置
CN112131806A (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