掌桥专利:专业的专利平台
掌桥专利
首页

生产指令的部署方法及装置

文献发布时间:2024-04-18 19:58:26


生产指令的部署方法及装置

技术领域

本发明涉及服务器技术领域,尤其涉及一种生产指令的部署方法及装置。

背景技术

服务器的生产指令(Manufacture Order,MO)在服务器生产流程中扮演着重要的定位和作用。服务器的MO是一份详细的指导文件,用于指导服务器生产过程中的各个环节和步骤。它提供了明确的操作指引、技术规范和质量要求,确保服务器的制造和组装过程按照标准和规范进行。

现有的服务器的生产指令在进行编写时完成后,经人工审核通过后,才会正式下发至产线。运维人员通过邮件知悉指令已经审核通过,然后才根据生产指令执行部署操作。基于人工部署的方式需要基于指令的内容逐条进行手动部署,部署效率低。

发明内容

本发明提供一种生产指令的部署方法及装置,用以解决现有技术针对生产指令部署效率低的技术问题。

本发明提供一种生产指令的部署方法,包括:

获取目标服务器的多条生产指令;

基于各生产指令之间的依赖关系,以二叉树的规则化树状模型分层构建所述目标服务器的生产指令执行模型;

基于所述生产指令执行模型以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本,并在所述目标服务器中部署所述生产指令执行脚本。

根据本发明提供的一种生产指令的部署方法,基于所述生产指令执行模型以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本,包括:

从所述生产指令执行模型的顶层子节点开始,依次向各级下层子节点遍历,确定所述多条生产指令的执行优先级;

基于所述多条生产指令的执行优先级以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本。

根据本发明提供的一种生产指令的部署方法,获取目标服务器的多条生产指令,包括:

从数据库中获取所述各生产指令的指令信息表,所述指令信息表中包含生产指令的指令参数;

基于所述各生产指令的指令信息表以及所述各生产指令对应的生产指令生成模板,确定所述目标服务器的多条生产指令。

根据本发明提供的一种生产指令的部署方法,从数据库中获取所述各生产指令的指令信息表之前,还包括:

基于所述各生产指令的指令参数类型,构建所述各生产指令的界面化模板;

基于所述各生产指令的界面化模板,接收所述各生产指令的指令参数;

基于所述各生产指令的指令参数,构建所述各生产指令的指令信息表,并将所述各生产指令的指令信息表存储至所述数据库。

根据本发明提供的一种生产指令的部署方法,在所述目标服务器中部署所述生产指令执行脚本之后,还包括:

在所述目标服务器执行完成所述生产指令执行脚本的情况下,获取所述目标服务器中各固件的版本号;

将所述各固件的版本号与所述各固件的预期版本号进行比对,确定所述目标服务器完成固件部署工作。

根据本发明提供的一种生产指令的部署方法,还包括:

接收所述目标服务器的生产指令变更信息,并基于所述指令变更信息,更新所述依赖关系;

基于更新后的依赖关系,以二叉树的规则化树状模型分层构建所述目标服务器的更新后的生产指令执行模型。

根据本发明提供的一种生产指令的部署方法,确定所述目标服务器的生产指令执行脚本之后,还包括:

将所述生产指令执行脚本发送至所述目标服务器的运维人员,以使所述运维人员对所述生产指令执行脚本进行审核,并确定所述生产指令执行脚本审核通过。

本发明还提供一种生产指令的部署装置,包括:

指令获取模块,用于获取目标服务器的多条生产指令;

模型构建模块,用于基于各生产指令之间的依赖关系,以二叉树的规则化树状模型分层构建所述目标服务器的生产指令执行模型;

部署模块,用于基于所述生产指令执行模型以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本,并在所述目标服务器中部署所述生产指令执行脚本。

本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种生产指令的部署方法。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种生产指令的部署方法。

本发明提供的生产指令的部署方法及装置,通过目标服务器中各生产指令之间的依赖关系,以二叉树的规则化树状模型分层构建目标服务器的生产指令执行模型,并基于生产指令执行模型以及各生产指令对应的执行逻辑,实现目标服务器中部署的生产指令执行脚本的确定。在目标服务器中部署生产指令执行脚本之后,可以基于部署的生产指令执行脚本自动执行目标服务器的多个生产指令,避免了需要基于运维人员进行手动逐条执行的情况,提升了生产指令执行的效率。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图简要地说明,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的生产指令的部署方法的流程示意图;

图2是本发明提供的数据库系统实体关系图;

图3是本发明提供的界面化模板示意图;

图4是应用本发明提供的生产指令的部署方法的装置结构示意图;

图5是本发明提供的生产指令的部署装置的结构示意图;

图6是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

服务器是一种专门用于存储、处理和传输数据的高性能计算设备。它在网络环境中扮演着重要的角色,为用户提供各种服务,如网站托管、数据存储、应用程序运行等。与此同时,服务器是一种强大的计算设备,通过提供高性能、可扩展性、可靠性和安全性等特点,支持各种网络服务和应用的运行和交互。

服务器的生产工艺是一个复杂而精密的过程,需要由多个步骤和环节来完成,包括不限于:早期设计与规划、采购零部件、板卡加工、固件开发、制造与组装、测试与调试、安装操作系统与配置、检验与包装等,涵盖了设计、采购、开发、制造、组装、测试和配置多个环节,每个环节都需要严格的质量控制和操作规程,以确保生产出高质量、可靠的设备。

服务器在产线组装完成后,需要加电开机,进入自动化系统诊断流程,该流程一般包括前测、老化和检验三个阶段。前测阶段主要是为服务器注册基本信息,根据生产指令的内容刷写现场可更换单元(Field Replace Unit,FRU)、桌面管理接口(DesktopManagement Interface,DMI)、固件、组磁盘阵列(Redundant Arrays of IndependentDisks,RAID)等;老化阶段主要是各个部件的性能测试和压力测试;检验阶段则是检验人员根据生产指令或工厂定制集成(Custom Factory Integration,CFI)加工要求核对服务器是否符合交付标准。

服务器生产指令在服务器生产流程中扮演着重要的定位和作用。服务器生产指令是一份详细的指导文件,用于指导服务器生产过程中的各个环节和步骤。它提供了明确的操作指引、技术规范和质量要求,确保服务器的制造和组装过程按照标准和规范进行。

相关方法中服务器的生产指令的编写与下发的方式是由供应制造代表通过产品生命周期管理(Product Lifecycle Management,PLM)系统在线编辑,然后输出一个生产指令文档下发给研发领域、制造领域的岗位人员进行审核。审核通过后通过PLM系统正式下发至产线,再由相关人员根据指令文档中的各个要求维护生产工艺。

相关方法中的生产指令的编写、下发审核、部署是割裂且独立的,每一部分都需要人工干预,并且存在前后依赖关系。指令编写时系统仅提供一些相对粗糙的功能区域,这些功能区域不能对自动化部署与生产做出规范指导,必须人工介入进行确认和维护。生产指令的审核人员一般包括项目经理、测试经理、其他供应制造代表和维护人员。指令编写完成后以邮件的形式通知各领域进行审核,各领域审核完成后再通知供应制造领域的相关人员进行复审和批准。在这之后生产指令才会正式下发至产线,运维人员通过邮件知悉指令已经审核通过,然后才根据生产指令维护生产工艺。在这个过程中由于审核完成的时间无法明确,有可能指令正式下发之时因为种种原因运维人员未能及时部署生产指令,从而导致产线上的生产任务已经开始但生产指令还未维护的情况时常发生,进而导致生产发生异常,需要重复操作。人工部署生产指令的环节也存在因为维护人员的不仔细而发生部署错误的情况,极大的浪费了产线的产能。并且,基于人工部署的方式需要基于指令的内容逐条进行手动部署,部署效率低

针对相关方法中的缺陷,本发明提出一种生产指令的部署方法,图1为本发明提供的生产指令的部署方法的流程示意图。参照图1,本发明提供的生产指令的部署方法可以包括:

步骤110,获取目标服务器的多条生产指令;

步骤120,基于各生产指令之间的依赖关系,以二叉树的规则化树状模型分层构建所述目标服务器的生产指令执行模型;

步骤130,基于所述生产指令执行模型以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本,并在所述目标服务器中部署所述生产指令执行脚本。

本发明提供的生产指令的部署方法的执行主体可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digitalassistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network AttachedStorage,NAS)或个人计算机(personal computer,PC)等,本发明不作具体限定。

下面以计算机执行本发明提供的生产指令的部署方法为例,详细说明本发明的技术方案。

在步骤110中,获取目标服务器的多条生产指令。

目标服务器为待进行生产指令部署的任意服务器。目标服务器的生产指令是一份详细的指导文件,用于指导目标服务器生产过程中的各个环节和步骤。它提供了明确的操作指引、技术规范和质量要求,确保服务器的制造和组装过程按照标准和规范进行。

生产指令包含了各种操作和配置,以确保软件应用程序能够在生产环境中正常运行。这些指令通常涉及以下方面:

硬件规格和配置:指定服务器所需的硬件组件,包括处理器、内存、存储设备、网络适配器等。这些规格将确定服务器的性能和容量。

操作系统:确定服务器将使用的操作系统类型和版本,例如Windows Server、Linux发行版等。

软件安装和配置:指定需要预装和配置的软件或应用程序,如数据库管理系统、Web服务器、应用程序框架等。

网络设置:包括IP地址、子网掩码、网关等网络参数的配置。

安全配置:指定要采取的安全措施,如防火墙设置、用户权限管理、加密方法等。

远程管理和监控:确定是否需要启用远程管理和监控功能,以便管理员可以通过远程连接对服务器进行管理和监视。

数据备份策略:制定服务器的数据备份策略,包括备份频率、存储位置、备份恢复过程等。

更新和维护计划:制定服务器的更新和维护计划,包括安全补丁的应用、软件版本的升级、定期检查和维护等。

在步骤120中,确定获取的目标服务器的多条生产指令之间的依赖关系,以二叉树的规则化树状模型分层构建目标服务器的生产指令执行模型。

可以理解的是,目标服务器的生产指令包含了硬件规格与配置、环境配置、软件安装和配置、网络设置、安全设置以及操作系统的配置等。在各部分的配置之间,存在配置的依赖关系。例如,在目标服务器的操作系统在安装之前,需要完成操作系统安装前的环境配置;在对目标服务器中的软件进行安装时,需要完成操作系统的安装。所以,对于目标服务器中的各生产指令之间存在依赖关系。

在确定目标服务器的各生产指令之间的依赖关系后,基于各生产指令之间的依赖关系,以二叉树的规则化树状模型分层构建目标服务器的生产指令执行模型。

具体的,可以将Root节点作为二叉树模型的根节点,将具体生产指令中的硬件规格与配置、环境配置、固件配置、软件安装和配置、网络设置、安全设置以及操作系统的配置等作为二叉树模型中根节点的子节点。对于二叉树模型中每个根节点的生产指令子节点下还包含多个子节点,例如将固件配置中又包含基板管理控制器固件、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)固件、基板管理控制器(BaseboardManagement Controller,BMC)固件、BIOS固件等作为二叉树模型中固件配置节点的子节点。而对于其中固件配置节点的子节点CPLD固件下一层又包含硬件监测CPLD以及电源控制CPLD等,在二叉树模型中将其作为CPLD固件节点的子节点。根据目标服务器的各生产指令之间的依赖关系,构建二叉树模型中各层节点以及子节点,以二叉树的规则化树状模型置顶向下不断细化模型,分层建立二叉树模型。

具体地,可以将多个生产指令中的每个生产指令看成是一个独立的节点,然后根据多个生产指令,递归读取各个节点,将读取到的节点信息使用孩子兄弟法的数据结构模型来构建一颗二叉树。根据多个生产指令的依赖关系使用递归方法和孩子兄弟法构建二叉树的流程。整体上而言,对多个生产指令中的节点递归式的读取,若当前节点存在子节点,那么第一个子节点作为左孩子插入到树节点中,第二个子节点作为右孩子插入到树节点中。如果当前节点还存在其他的子节点,那么当前的右孩子作为结点,将其他子节点插入到右孩子作为结点的右孩子处,依次进行。如果当前的子节点还存在子节点,继续执行上述节点插入过程,直到完成所有生产指令的插入过程,从而可以实现构建目标服务器的生产指令执行模型的快速构建。

在步骤130中,基于构建的生产指令执行模型以及各生产指令对应的执行逻辑,确定目标服务器的生产指令执行脚本,并在目标服务器中部署生产指令执行脚本。

在构建生产指令执行模型之后,生产指令执行模型中的树状结构包含了目标服务器的各生成执行的优先级,结合各生产指令对应的执行逻辑,可以确定目标服务器的生产指令执行脚本。

其中,服务器的生产指令执行逻辑可以包含了以下几个主要步骤:

解析和验证指令:在执行之前,服务器会对生产指令进行解析和验证,确保指令格式正确并符合规范。这可以包括检查指令的语法、参数和权限等方面。如果指令不合法或缺少必要的权限,则可能会中止执行。

准备执行环境:在执行指令之前,服务器会准备执行所需的环境。这可能包括加载相关的软件、配置系统参数、建立必要的网络连接等。

执行指令操作:根据生产指令的内容和要求,服务器执行相应的操作。这可能涉及到配置硬件设备、创建文件或目录、安装软件、调整系统设置等。具体执行的操作取决于生产指令的类型和目的。

处理异常情况:在执行过程中,服务器需要处理可能出现的异常情况。这可能包括错误处理、冲突处理、依赖关系处理等。服务器通常会记录异常情况并采取相应的措施,比如回滚操作、报警通知等。

完成执行并反馈结果:当生产指令执行完毕后,服务器会生成执行结果并反馈给相应的管理系统或用户。执行结果可能包括成功/失败状态、相关日志信息、生成的文件或数据等。

在确定各生产指令的执行逻辑后,结合各生产指令执行的优先级,可以编写多个生产指令进行自动执行的生产指令执行脚本。

可以理解的是,在目标服务器中部署生产指令执行脚本之后,基于目标服务器自动执行生产执行脚本,即可完成目标服务器的多个生产指令的自动执行,避免了需要基于运维人员进行手动逐条执行的情况,提升了生产指令执行的效率。

本发明实施例提供的生产指令的部署方法,通过目标服务器中各生产指令之间的依赖关系,以二叉树的规则化树状模型分层构建目标服务器的生产指令执行模型,并基于生产指令执行模型以及各生产指令对应的执行逻辑,实现目标服务器中部署的生产指令执行脚本的确定。在目标服务器中部署生产指令执行脚本之后,可以基于部署的生产指令执行脚本自动执行目标服务器的多个生产指令,避免了需要基于运维人员进行手动逐条执行的情况,提升了生产指令执行的效率。

在一个实施例中,基于所述生产指令执行模型以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本,包括:从所述生产指令执行模型的顶层子节点开始,依次向各级下层子节点遍历,确定所述多条生产指令的执行优先级;基于所述多条生产指令的执行优先级以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本。

可以理解的是,生产指令执行模型中包含树状结构的多个父节点与子节点,多个节点之间存在优先级的先后关系。

在确定目标服务区的多个生产指令的生产指令执行模型后,从生产指令执行模型的顶层子节点依次向各级下层子节点遍历,确定多条生产指令的执行优先级。

在确定各生产指令的执行逻辑后,结合各生产指令执行的优先级,可以编写多个生产指令进行自动执行的生产指令执行脚本。

本发明实施例提供的生产指令的部署方法,通过在确定目标服务区的多个生产指令的生产指令执行模型后,从生产指令执行模型的顶层子节点依次向各级下层子节点遍历,确定多条生产指令的执行优先级,在确定各生产指令的执行逻辑后,结合各生产指令执行的优先级,可以编写多个生产指令进行自动执行的生产指令执行脚本,实现了生产指令执行脚本的确定过程。

在一个实施例中,获取目标服务器的多条生产指令,包括:从数据库中获取所述各生产指令的指令信息表,所述指令信息表中包含生产指令的指令参数;基于所述各生产指令的指令信息表以及所述各生产指令对应的生产指令生成模板,确定所述目标服务器的多条生产指令。

预先在数据库中存储各生产指令的指令信息表,在需要获取目标服务器的多条生产指令时,从数据库中存储的指令信息表中获取目标服务器的多条生产指令。信息指令表中包含生产指令的指令参数。

具体的,可以预先设计一个配套的数据库模型,包括不限于以下数据表:指令信息表、FRU信息表、DMI信息表、固件信息表、定制脚本表、RAID信息表等。

具体的,指令信息表如表1所示:

表1指令信息表

FRU信息表如表2所示:

表2FRU信息表

DMI信息表如表3所示:

表3DMI信息表

固件信息表如表4所示:

表4固件信息表

定制脚本信息表如表5所示:

表5定制脚本信息表

RAID信息表如表6所示:

表6RAID信息表

可选的,在确定数据库中各生产指令信息表之后,可以基于目标服务器的各生产指令信息表中的主键进行相互关联。如图2本发明提供的数据库系统实体关系图所示,基于指令信息表的指令编号MOID字段、FRU信息表的指令编号MOId字段、DMI信息表的指令编号MOId字段、固件信息表的固件ID CQId字段、定制脚本表的脚本编号CQId字段以及RAID信息表的指令编号MOId字段进行关联,实现目标服务器的各生产指令信息表的关联,方便了后续从数据库中获取目标服务器相关的生产指令信息表的过程。

在从数据库中获取各生产指令的指令信息表之后,基于生产指令的生产指令信息表以及对应的生产指令生成模板,生成对应的生产指令。其中,生产指令生成模板中包含基于生产指令信息表中指令参数生成生产指令的执行逻辑。

本发明实施例提供的生产指令的部署方法,通过预先在数据库中存储各生产指令的指令信息表,在需要获取目标服务器的多条生产指令时,从数据库中存储的指令信息表中获取目标服务器的多条生产指令,基于生产指令的生产指令信息表以及对应的生产指令生成模板,实现了生产指令的生成过程。

在一个实施例中,从数据库中获取所述各生产指令的指令信息表之前,还包括:基于所述各生产指令的指令参数类型,构建所述各生产指令的界面化模板;基于所述各生产指令的界面化模板,接收所述各生产指令的指令参数;基于所述各生产指令的指令参数,构建所述各生产指令的指令信息表,并将所述各生产指令的指令信息表存储至所述数据库。

可以预先构建各生产指令的界面化模板,接收各生产指令的指令参数。构建的生产指令的界面化模板可以如图3本发明提供的界面化模板示意图所示。

完善可视化编写区域,提供用户友好的表单,引导生产指令编写人员填写指令的各项参数和内容。编写生产指令时,可以在“指令内容”章节中新增一个子功能区域,用于填写生产指令中的固件信息、定制化FRU和DMI、RAID阵列和定制化脚本,定制化脚本以附件的形式上传。在生产时,以上维护的定制内容在前测阶段就需要刷写入服务器中,因此还需要在界面中添加验证逻辑和提示信息,帮助用户正确填写和配置指令的各项内容。

在构建各生产指令的界面化模板后,基于界面化模板接收各生产指令的指令参数,并基于接收的各生产指令的指令参数,构建各生产指令的指令信息表。在完成各生产指令的指令信息表构建后,各生产指令的指令信息表存储至数据库中。

本发明实施例提供的生产指令的部署方法,通过基于界面化模板接收各生产指令的指令参数,并基于接收的各生产指令的指令参数,构建各生产指令的指令信息表,为后续生产指令的确定提供了基础。

在一个实施例中,在所述目标服务器中部署所述生产指令执行脚本之后,还包括:在所述目标服务器执行完成所述生产指令执行脚本的情况下,获取所述目标服务器中各固件的版本号;将所述各固件的版本号与所述各固件的预期版本号进行比对,确定所述目标服务器完成固件部署工作。

生产指令的执行过程中包含很重要的部分是目标服务器中的固件版本的写入。在目标服务器中部署并执行完成生产指令执行脚本后,可以对目标服务器中各固件的版本号进行查看,确定各固件的固件版本是否写入完成。

在目标服务器执行完成生产指令执行脚本的情况下,获取目标服务器中各固件的版本号。将各固件的版本号与各固件的预期版本号进行比对,根据比对结果,确定各固件的固件版本是否写入正确。可以理解的是,在确定各固件版本的版本号与预期版本号一致时,可以确定目标服务器中各固件的固件版本写入挣正确。

本发明实施例提供的生产指令的部署方法,通过在目标服务器执行完成生产指令执行脚本的情况下,获取目标服务器中各固件的版本号。将各固件的版本号与各固件的预期版本号进行比对,根据比对结果,实现目标服务器中各固件的固件版本是否写入正确的判断。

在一个实施例中,还包括:接收所述目标服务器的生产指令变更信息,并基于所述指令变更信息,更新所述依赖关系;基于更新后的依赖关系,以二叉树的规则化树状模型分层构建所述目标服务器的更新后的生产指令执行模型。

可以理解的是,在目标服务器中部署生产指令的过程中,可能存在生产指令发生变更的指令变更信息。其中,指令变更信息中包含了具体生产指令中变更的内容。例如,对于BMC固件版本的变更。

在确定目标服务器的生产指令变更信息后,基于指令变更信息,更新依赖关系。基于指令变更信息,更新目标服务器的多条生产指令之间的依赖关系,并基于更新后的依赖关系,以二叉树的规则化树状模型分层构建目标服务器的更新后的生产指令执行模型,实现对生产指令执行模型的更新过程。

本发明实施例提供的生产指令的部署方法,通过在确定目标服务器的生产指令变更信息后,基于指令变更信息,更新依赖关系。并基于更新后的依赖关系,更新生产指令执行模型,实现了对目标服务器的生产指令执行模型的自动更新过程。

在一个实施例中,确定所述目标服务器的生产指令执行脚本之后,还包括:将所述生产指令执行脚本发送至所述目标服务器的运维人员,以使所述运维人员对所述生产指令执行脚本进行审核,并确定所述生产指令执行脚本审核通过。

在目标服务器的生产指令执行脚本生成之后,将生产指令执行脚本发送至目标服务器的运维人员进行审核。可以理解的是,为了保障后续目标服务器基于生产指令执行脚本执行的准确性,需要对目标服务器的生产指令脚本进行审核。

运维人员对生产指令执行脚本进行审核,确定生产指令执行脚本审核通过后才部署至目标服务器中。

本发明实施例提供的生产指令的部署方法,通过在目标服务器的生产指令执行脚本生成之后,将生产指令执行脚本发送至目标服务器的运维人员进行审核。确定生产指令执行脚本审核通过后才部署至目标服务器中,保障了后续生产指令执行脚本执行的准确性。

下面以一应用本发明提供的生产指令的部署方法的装置结构示意图为例,说明本发明提供的技术方案,如图4所示,该装置包括:模板制定模块410、交互界面模块420、测试验证模块430、指令上传模块440以及自动化部署模块450。

模板制定模块410,用于改进当前的指令编写方式,制定统一的编写规范,使用特定的标题、章节和段落来组织生产指令。设计指令模板,包含必填字段和可选字段,以确保每份指令都具有一致的格式和内容。目前生产指令中固件版本、定制化FRU和DMI、组RAID规范、定制化脚本等内容是需要维护人员特别关注的,并且在服务器生产工艺中占据着至关重要的地位。在生产指令编写环节,这一部分往往是相对简单的文字描述,需要人工的介入才能识别与确认。在编写生产指令时,根据定制模板详细描述通过该生产指令指导的生产流程使用的固件(包括BMC、BIOS、主板CPLD、背板CPLD、管理板CPLD)版本号、固件名称、定制化FRU和DMI、定制化脚本;

交互界面模块420,用于基于当前的指令编写功能,完善可视化编写区域,提供用户友好的表单,引导生产指令编写人员填写指令的各项参数和内容。编写生产指令时,在“指令内容”章节中新增子功能区域,用于填写生产指令中的固件信息、定制化FRU和DMI、RAID阵列和定制化脚本,定制化脚本以附件的形式上传。在生产时,以上维护的定制内容在前测阶段就需要刷写入服务器中,因此还需要在界面中添加验证逻辑和提示信息,帮助用户正确填写和配置指令的各项内容;

测试验证模块430,用于在服务器生产老化环节,需要进行各个部件的性能测试和压力测试,这个测试过程需要在正确的固件版本中进行。如果BMC、BIOS或者CPLD没有正常刷写入服务器中,或者带有RAID卡的配置没有按指令要求组RAID,将会影响性能测试以及硬件的识别。而FRU或者DMI信息也是影响服务器交付的重要指标,因此在自动化部署生产指令时,还需要编写测试脚本,用于验证指令的正确性和逻辑,例如验证指令的格式、关键字段的完整性和正确性,在前测阶段刷写完成之后,验证生产指令中维护的内容是否被正确的执行。在前测结束之前,服务器从指定位置下载并执行该脚本,检查服务器中的固件信息(比如版本号、客户ID等内容)、FRU和DMI信息以及RAID是否符合生产指令的要求;

指令上传模块440,用于生产指令编写完成后,依照现有流程通过PLM系统上传并提交,在下发审核流程之外,再将指令内容以数据条目的形式上传至数据库中。在此基础上需要设计一个配套的数据库模型,包括不限于以下数据表:指令信息表、FRU信息表、DMI信息表、固件信息表、定制脚本表、RAID信息表等;

自动化部署模块450,用于生产指令初审完成并且批准后,通过PLM系统正式下发,将生产指令的内容输出到Word文档中,邮件通知给运维人员,以便于运维人员存档以及根据文档对自动化部署的内容进行复核。同时通过消息机制传递给自动化部署系统,自动化部署系统开始工作,根据指令编号从数据库中查询指令信息以及附加的定制化FRU和DMI信息、固件信息、定制化脚本信息和组RAID信息,写入指令管理系统,生成生产指令执行脚本,并对生成的生产指令执行脚本进行自动化部署。

图5为本发明提供的生产指令的部署装置的结构示意图,如图5所示,该装置包括指令获取模块510、模型构建模块520以及部署模块530。

指令获取模块510,用于获取目标服务器的多条生产指令;

模型构建模块520,用于基于各生产指令之间的依赖关系,以二叉树的规则化树状模型分层构建所述目标服务器的生产指令执行模型;

部署模块530,用于基于所述生产指令执行模型以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本,并在所述目标服务器中部署所述生产指令执行脚本。

本发明实施例提供的生产指令的部署装置,通过目标服务器中各生产指令之间的依赖关系,以二叉树的规则化树状模型分层构建目标服务器的生产指令执行模型,并基于生产指令执行模型以及各生产指令对应的执行逻辑,实现目标服务器中部署的生产指令执行脚本的确定。在目标服务器中部署生产指令执行脚本之后,可以基于部署的生产指令执行脚本自动执行目标服务器的多个生产指令,避免了需要基于运维人员进行手动逐条执行的情况,提升了生产指令执行的效率。

在一个实施例中,部署模块530具体用于:

基于所述生产指令执行模型以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本,包括:

从所述生产指令执行模型的顶层子节点开始,依次向各级下层子节点遍历,确定所述多条生产指令的执行优先级;

基于所述多条生产指令的执行优先级以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本。

在一个实施例中,指令获取模块510具体用于:

获取目标服务器的多条生产指令,包括:

从数据库中获取所述各生产指令的指令信息表,所述指令信息表中包含生产指令的指令参数;

基于所述各生产指令的指令信息表以及所述各生产指令对应的生产指令生成模板,确定所述目标服务器的多条生产指令。

在一个实施例中,指令获取模块510还具体用于:

从数据库中获取所述各生产指令的指令信息表之前,还包括:

基于所述各生产指令的指令参数类型,构建所述各生产指令的界面化模板;

基于所述各生产指令的界面化模板,接收所述各生产指令的指令参数;

基于所述各生产指令的指令参数,构建所述各生产指令的指令信息表,并将所述各生产指令的指令信息表存储至所述数据库。

在一个实施例中,部署模块530还具体用于:

在所述目标服务器中部署所述生产指令执行脚本之后,还包括:

在所述目标服务器执行完成所述生产指令执行脚本的情况下,获取所述目标服务器中各固件的版本号;

将所述各固件的版本号与所述各固件的预期版本号进行比对,确定所述目标服务器完成固件部署工作。

在一个实施例中,模型构建模块520具体用于:

接收所述目标服务器的生产指令变更信息,并基于所述指令变更信息,更新所述依赖关系;

基于更新后的依赖关系,以二叉树的规则化树状模型分层构建所述目标服务器的更新后的生产指令执行模型。

在一个实施例中,部署模块530还具体用于:

确定所述目标服务器的生产指令执行脚本之后,还包括:

将所述生产指令执行脚本发送至所述目标服务器的运维人员,以使所述运维人员对所述生产指令执行脚本进行审核,并确定所述生产指令执行脚本审核通过。

图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行生产指令的部署方法,该方法包括:

获取目标服务器的多条生产指令;

基于各生产指令之间的依赖关系,以二叉树的规则化树状模型分层构建所述目标服务器的生产指令执行模型;

基于所述生产指令执行模型以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本,并在所述目标服务器中部署所述生产指令执行脚本。

此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的生产指令的部署方法,该方法包括:

获取目标服务器的多条生产指令;

基于各生产指令之间的依赖关系,以二叉树的规则化树状模型分层构建所述目标服务器的生产指令执行模型;

基于所述生产指令执行模型以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本,并在所述目标服务器中部署所述生产指令执行脚本。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的生产指令的部署方法,该方法包括:

获取目标服务器的多条生产指令;

基于各生产指令之间的依赖关系,以二叉树的规则化树状模型分层构建所述目标服务器的生产指令执行模型;

基于所述生产指令执行模型以及所述各生产指令对应的执行逻辑,确定所述目标服务器的生产指令执行脚本,并在所述目标服务器中部署所述生产指令执行脚本。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 指令执行方法、指令执行装置及存储介质
  • 数据储存装置、存储器操作方法及操作指令执行方法
  • 位范围隔离指令、方法和装置
  • 流水线处理器调度指令的方法、装置及流水线处理器
  • 指令发送方法、装置及系统、自动驾驶车辆
  • 一种生产指令部署方法、装置、设备及介质
  • 服务器生产指令信息维护系统、方法、装置及存储介质
技术分类

06120116489556