《面向异构计算的终端设备软件自动化部署技术要求》_第1页
《面向异构计算的终端设备软件自动化部署技术要求》_第2页
《面向异构计算的终端设备软件自动化部署技术要求》_第3页
《面向异构计算的终端设备软件自动化部署技术要求》_第4页
《面向异构计算的终端设备软件自动化部署技术要求》_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICS35.240

CCSL70

团体标准

T/CESAXXXX-202X

面向异构计算的终端设备软件自动化部署

技术要求

Technicalrequirementsforautomateddeploymentofenddevicesoftware

forheterogeneouscomputing

征求意见稿

在提交反馈意见时,请将您知道的相关专利连同支持性文件一并附上。

已授权的专利证明材料为专利证书复印件或扉页,已公开但尚未授权的专利申请

证明材料为专利公开通知书复印件或扉页,未公开的专利申请的证明材料为专利申请

号和申请日期。

202X-XX-XX发布202X-XX-XX实施

中国电子工业标准化技术协会发布

T/CESAXXXX-202X

面向异构计算的终端设备软件自动化部署技术要求

1范围

本文件规定了面向异构计算的软件自动化部署技术要求。包括自动化部署系统要求、部署软件的编

译要求、部署软件的管理要求以及软件安全验证的功能要求。

本文件适用于异构终端设备数目较多场景下的软件自动化部署。

2规范性引用文件

本文件没有规范性引用文件。

3术语和定义

下列术语和定义适用于本文件。

3.1

异构计算heterogeneouscomputing

在一个计算系统中,同时使用多种不同体系结构或不同类型的处理器、加速器或协处理器来执行计

算任务的计算范式。

3.2

自动化部署automaticdeployment

软件部署的过程中所有的操作自动化,无需人工手工干预的一种部署方法。

3.3

软件编译softwarecompiling

将可读的高级程序设计语言代码转换为计算机可执行的机器码的过程。

3.4

交叉编译crosscompiling

在一种操作系统或体系结构上,使用编译器生成可在不同操作系统或体系结构上运行的目标代码的

过程。

3.5

静态链接staticlinking

在程序运行前,链接器通过对象文件中包含的重定位表,完成所有重定位操作,并最终形成一个在

运行时不需要再次进行依赖库的加载和重定位操作的链接方法。

3.6

1

T/CESAXXXX-202X

动态链接dynamiclinking

主程序对动态共享库或对象中符号的引用,是等到可执行文件装载时或运行时,由操作系统的装载

程序加载库的链接方法。

3.7

指令集编译instructionscompilation

将应用运行过程中产生的指令转化为异构指令集对应的可执行指令的过程。

3.8

编译系统compilersystem

对待部署的软件进行编译打包的计算机软件系统。

3.9

执行系统executivesystem

软件运行的包含多种异构硬件或异构指令集的终端设备的集合。

3.10

终端设备enddevice

计算和存储能力有限的移动设备或者物联网设备。

3.11

自动化运维管理软件automatedoperationsmanagementsoftware

一种提供软件自动化部署功能的软件工具。

3.12

软件打包softwarepackaging

将软件的依赖环境以及可执行程序文件进行封装的方法。

3.13

增量更新incrementalupdate

在软件的更新过程中,仅对软件中发生变化的部分进行更新的方法。

3.14

预处理pre-processing

把多个代码文件聚合,同时把宏的缩写形式转换为源语言的过程。

3.15

词法分析lexicalanalysis

通过扫描器将源代码的字符序列分割成一系列的记号的过程。

3.16

语法分析grammaranalysis

通过语法分析器将词法分析产生的记号转化为语法树的过程。

2

T/CESAXXXX-202X

3.17

源代码优化sourcecodeoptimization

将整个语法树转化为中间代码,编译器后端将中间代码转化为目标机器代码的过程。

3.18

漏洞扫描工具vulnerabilityscanningtools

一种自动检测远程或本地主机安全缺陷的程序。

3.19

模拟攻击试验simulatedattacktest

一组特殊的黑盒测试案例。

4缩略语

下列缩略语适用于本文件:

ARM:进阶精简指令集机器(AdvancedRISCMachines)

CPU:中央处理单元(CentralProcessingUnit)

GPU:图形处理单元(GraphicProcessingUnit)

ID:身份标识号(IdentityDocument)

IP:互联网协议(InternetProtocol)

MIPS:无内部互锁流水级的微处理器(Microprocessorwithoutinterlockedpipedstages)

RISC:精简指令集计算机(ReducedInstructionSetComputer)

X86:微处理器执行的计算机语言指令集(TheX86architecture)

5软件自动化部署系统架构

软件自动化部署系统架构如图1所示,主要包括编译设备、自动化部署工具、执行设备三个部分。

软件自动化部署的流程如下:首先在编译设备中通过指令翻译软件将需要部署的软件编译为不同指令架

构的版本,然后将待部署的软件及其环境打包,并通过自动化部署工具根据需求将软件部署到终端设备

中,最后验证软件是否部署成功及检查其安全性。

3

T/CESAXXXX-202X

部署软件

编译设备

编译软件包编译软件包编译软件包

自动化部署工具

系统

终端设备

图1软件自动化部署系统架构

6软件自动化部署要求

6.1自动化部署系统要求

6.1.1部署环境要求

自动化部署主要是面向终端设备数目较多的场景,自动化部署环境应符合以下要求:

a)包含指令集异构设备3种及3种以上;

b)支持常见的X86,ARM,MIPS等指令集异构设备的软件自动化部署;

c)支持编译系统与执行设备之间的网络通信。

6.1.2编译功能要求

编译功能是自动化部署系统应包含的重要功能组成部分,应符合以下要求:

a)包含指令集编译软件或指令编译工具;

b)支持指令集转化功能,即将异构设备的指令编译为目标设备的指令;

c)支持多种不同指令集的编译;

d)做到指令集编译过程用户无感知;

e)支持将编译好的软件及相关依赖打包;

f)支持将编译打包好的软件部署到执行系统;

g)提供足够的内存或磁盘空间以支持软件编译过程。

6.1.3部署功能要求

软件自动化部署流程如附录A所示,自动化部署功能应符合以下要求:

4

T/CESAXXXX-202X

a)支持运行自动化运维管理软件,通过自动化运维管理软件实现部署过程的自动化;

b)支持自动化运维管理软件自动在编译系统下载所述待部署的软件,将待部署的软件自动部署至

执行设备;

c)支持在将执行设备纳入系统管理时,系统自动获知该设备的CPU及其他硬件架构,并自动为该节

点打上对应的标签;

d)支持在编译系统中接收指定执行设备的配置信息文件;

e)配置信息应包括下列所有信息:执行设备的IP地址或ID、操作系统版本信息、安装路径。

f)在将软件部署至执行设备中时,从编译系统中下载该软件的软件包;

g)支持在软件仓库的软件包中记载该软件支持的CPU及其他硬件架构等元数据信息;

h)支持根据软件支持的CPU架构和每个设备的CPU架构标签,筛选出应用的同构设备;

i)实现当存在处于可调度状态的同构设备时,优先将软件部署在同构设备上;

j)实现当所有同构节点均处于不可调度状态时,将应用部署在异构节点中,使应用在异构节点中

运行。

k)借助动态编译工具实现应用在异构节点中的正常运行。

6.1.4执行功能要求

执行功能是自动化部署系统应包含的重要功能组成部分,应符合以下要求:

a)支持检测应用支持的CPU架构与部署所述应用的节点的CPU架构是否相同;

b)支持运行待部署的软件,应包含软件运行所需的硬件,如GPU等;

c)支持编译打包好的软件的自动化部署;

d)支持软件部署结果验证功能,验证软件是否部署成功;

e)支持软件部署安全性验证功能,验证软件在部署过程中是否被攻击;

f)支持软件版本的自动检测,如果软件的版本不是最新版本,则对软件进行自动更新;

g)支持软件的自动更新;

h)支持自动化更新工具的运行;

i)支持通过网关实现异构设备之间的通信;

j)实现部署过程用户无感知。

6.2部署软件的编译要求

6.2.1软件编译流程

在部署软件时,需要将其二进制代码编译为硬件设备所能执行的指令。面向异构计算设备,在部署

软件之前,需要在编译系统中将软件编译为不同指令集架构的版本。软件编译流程如附录B所示,编译

流程如下:

a)将源程序预处理为相应的文本文件;

b)将文本文件编译为汇编程序文本文件;

c)将汇编程序文本文件汇编为可重定位目标程序;

d)将可重定位目标程序链接为可执行目标程序。

6.2.2软件编译要求

软件编译需要将高级程序设计语言书写的源程序编译成硬件设备可执行的机器语言,应符合以下要

求:

a)支持软件编译和异构指令集编译两种功能;

5

T/CESAXXXX-202X

b)支持将软件的源代码编译为能够在执行设备中直接运行的指令;

c)支持源程序的预处理;

d)支持处理完的文本文件的词法分析、语法分析、语义分析和优化,并形成一个新的汇编语言程

序文本文件;

e)支持实现词法分析的扫描器;

f)支持实现语法分析的语法分析器;

g)支持实现源代码优化的源代码优化器;

h)支持通过汇编器将汇编语言程序文本文件翻译成机器语言指令,把这些指令打包成可重定位目

标程序的格式,并将结果保存在目标二进制文件中;

i)支持软件的静态链接和动态链接;

j)输出链接后的软件的可执行二进制文件。

6.2.3指令集编译要求

指令集编译是指当软件部署在指令集异构的设备上时,将其二进制代码编译为异构设备所能执行的

指令的过程,应符合以下要求:

a)建立不同架构CPU对应的指令集中各个二进制指令之间的映射关系;

b)在接收到应用运行过程中产生的指令后,通过查询映射关系,实现对二进制指令的转化;

c)支持使用虚拟操作系统模拟器,虚拟操作系统模拟器可以模拟待部署设备的CPU等底层硬件;

d)支持将软件运行过程中产生的指令转换为虚拟的同构CPU对应的指令集中的二进制指令;

e)支持由虚拟的同构CPU执行二进制指令,虚拟操作系统模拟器在模拟同构节点的底层硬件时也

在不断产生指令;

f)支持将虚拟操作系统模拟器的指令转换为真实的异构CPU对应的指令集中的二进制指令;

g)输出编译后的软件的可执行二进制文件。

6.3部署软件的管理要求

6.3.1软件打包要求

在软件部署前,需要在编译系统中将要部署的软件进行打包,应符合以下要求:

a)将软件的运行环境以及应用程序进行打包;

b)先编写用来构建软件包的文本文件,文本文件应包含逐条构建软件包所需的指令和说明;

c)包含应用所需要的运行环境,如操作系统文件和文件系统对象;

d)包含应用程序的程序文件,即软件编译输出的可执行文件;

e)启动文本文件生成软件包,软件包应包含程序文件、依赖环境、系统文件,进而执行软件部署。

6.3.2软件更新要求

软件更新的流程是首先在当软件发布新版本时,在编译系统中将需要更新的软件编译为不同指令架

构的版本。然后在执行系统中自动检测软件的版本是否需要更新,若需更新,在编译系统中编译软件的

增量更新包,并将待更新的软件的增量更新包部署至目标设备,将增量更新包与原来的软件包进行融合。

最后验证软件是否更新成功及检查其安全性。软件更新流程如附录C所示,软件更新应符合以下要求:

a)在编译系统中将需要更新的软件编译为不同指令架构的版本;

b)在部署终端通过自动化运维管理软件自动检测软件的版本是否需要更新;

c)基于自动化运维管理软件中的定时任务模块来设置定时任务来定时检查待部署软件的版本号;

d)支持执行设备实现流式加载模式;

6

T/CESAXXXX-202X

e)包括软件包管理的功能;

f)在检测到软件需要更新时在编译系统中以数据流形式将软件的增量更新包部署至目标设备;

g)在执行设备中将增量更新包与原来的软件包进行融合,实现软件的更新。

6.4软件安全验证的功能要求

为确保软件跨设备成功安装或更新以及部署过程中软件的安全性,在部署结束后应对软件的安全性

进行验证。安全验证应符合以下要求:

a)帮助自动化部署系统分析系统当前的安全运行状况,发现存在的安全性问题;

b)提供安全性改进方法,降低系统的安全性风险;

c)提供特定的漏洞扫描工具进行漏洞扫描;

d)测试权限管理、用户管理、加密、认证等安全功能模块,验证上述功能是否有效;

e)通过模拟攻击来验证软件的安全防护能力。

7

T/CESAXXXX-202X

附录A(资料性)

软件自动化部署流程

软件自动化部署流程如图A.1所示。

开始

在编译系统中通过指令翻译软件将需要部署的软件编译为

不同指令架构的版本

在编译系统中将要部署的软件及其环境打包

根据需求将软件部署到集群中的异构设备

验证软件是否部署成功及检查其安全性

结束

图A.1软件自动化部署流程图

8

T/CESAXXXX-202X

附录B(资料性)

软件编译流程

在软件部署之前需要先将软件的源代码编译为终端设备可执行的指令,软件编译流程如图B.1所示:

开始

源程序

预处理

预处理完的文本文件

编译

汇编程序文本文件

汇编

可重定位目标程序

链接

可执行目标程序

结束

图B.1软件编译流程图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论