一种固件配置方法、系统、设备以及介质转让专利

申请号 : CN202110602859.X

文献号 : CN113419775B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王帅

申请人 : 济南浪潮数据技术有限公司

摘要 :

本发明公开了一种固件配置方法,包括以下步骤:创建AOP切面并在所述AOP切面中定义第一切入点;响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点;响应于触发所述第一切入点,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件;根据每一个设备对应的配置文件进行固件配置。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明提出的方案基于AOP切面,不会破坏原来程序逻辑,可以很好的对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,免去了研发人员在固件配置开发时随着机型的增加不断增加机型兼容的代码。

权利要求 :

1.一种固件配置方法,其特征在于,包括以下步骤:创建AOP切面并在所述AOP切面中定义第一切入点;

响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点;

响应于触发所述第一切入点,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件;

根据每一个设备对应的配置文件进行固件配置;

响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点,进一步包括:获取每一个设备的路由文件;

根据所述路由文件确定每一个设备的厂商、系列以及机型并进一步确定相应的种类;

响应于厂商、系列和/或机型的种类达到阈值,触发所述第一切入点。

2.如权利要求1所述的方法,其特征在于,方法还包括:响应于厂商、系列和/或机型的种类未超过阈值,直接利用配置文件对固件进行配置。

3.如权利要求2所述的方法,其特征在于,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件,进一步包括:根据所述每一个设备的机型判断是否存在与相应的配置文件的对应关系;

响应于存在所述对应关系,根据所述对应关系获取相应的配置文件。

4.如权利要求3所述的方法,其特征在于,还包括:响应于不存在与机型对应的配置文件,获取通用配置文件。

5.如权利要求4所述的方法,其特征在于,还包括:判断所述通用配置文件是否与设备兼容;

响应于不兼容,对所述通用配置文件修改后再对所述固件进行配置;

保存修改后的通用配置文件并在所述切面中增加修改后的通用配置文件与机型的对应关系。

6.如权利要求1所述的方法,其特征在于,还包括:在所述AOP切面中定义第二切入点;

响应于根据每一个设备对应的配置文件进行固件配置,执行所述AOP切面中与所述第二切入点对应的日志流程。

7.一种固件配置系统,其特征在于,包括:创建模块,配置为创建AOP切面并在所述AOP切面中定义第一切入点;

判断模块,配置为响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点;

确定模块,配置为响应于触发所述第一切入点,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件;

配置模块,配置为根据每一个设备对应的配置文件进行固件配置;

判断模块,还配置为:

获取每一个设备的路由文件;

根据所述路由文件确定每一个设备的厂商、系列以及机型并进一步确定相应的种类;

响应于厂商、系列和/或机型的种类达到阈值,触发所述第一切入点。

8.一种计算机设备,包括:

至少一个处理器;以及

存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1‑6任意一项所述的方法的步骤。

9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1‑6任意一项所述的方法的步骤。

说明书 :

一种固件配置方法、系统、设备以及介质

技术领域

[0001] 本发明涉及固件配置领域,具体涉及一种固件配置方法、系统、设备以及存储介质。

背景技术

[0002] 当前信息技术高速发展和普及,出现越来越多的网站、业务系统和手机APP,这些背后都需要数量庞大的服务器支撑,不同的服务提供商在机房里部署了大量的不同的服务器,为了对这些设备进行维护和更新,通常需要上线很多的硬件带内带外管理软件。因为机房内通常存在着不同厂商,不同型号,不同版本的服务器,当对其做固件配置时操作比较复杂。

发明内容

[0003] 有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种固件配置方法,包括以下步骤:
[0004] 创建AOP切面并在所述AOP切面中定义第一切入点;
[0005] 响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点;
[0006] 响应于触发所述第一切入点,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件;
[0007] 根据每一个设备对应的配置文件进行固件配置。
[0008] 在一些实施例中,响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点,进一步包括:
[0009] 获取每一个设备的路由文件;
[0010] 根据所述路由文件确定每一个设备的厂商、系列以及机型并进一步确定相应的种类;
[0011] 响应于厂商、系列和/或机型的种类达到阈值,触发所述第一切入点。
[0012] 在一些实施例中,方法还包括:
[0013] 响应于厂商、系列和/或机型的种类未超过阈值,直接利用配置文件对固件进行配置。
[0014] 在一些实施例中,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件,进一步包括:
[0015] 根据所述每一个设备的机型判断是否存在与相应的配置文件的对应关系;
[0016] 响应于存在所述对应关系,根据所述对应关系获取相应的配置文件。
[0017] 在一些实施例中,还包括:
[0018] 响应于不存在与机型对应的配置文件,获取通用配置文件。
[0019] 在一些实施例中,还包括:
[0020] 判断所述通用配置文件是否与设备兼容;
[0021] 响应于不兼容,对所述通用配置文件修改后再对所述固件进行配置;
[0022] 保存修改后的通用配置文件并在所述切面中增加修改后的通用配置文件与机型的对应关系。
[0023] 在一些实施例中,还包括:
[0024] 在所述AOP切面中定义第二切入点;
[0025] 响应于根据每一个设备对应的配置文件进行固件配置,执行所述AOP切面中与所述第二切入点对应的日志流程。
[0026] 基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种固件配置系统,包括:
[0027] 创建模块,配置为创建AOP切面并在所述AOP切面中定义第一切入点;
[0028] 判断模块,配置为响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点;
[0029] 确定模块,配置为响应于触发所述第一切入点,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件;
[0030] 配置模块,配置为根据每一个设备对应的配置文件进行固件配置。
[0031] 基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
[0032] 至少一个处理器;以及
[0033] 存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种固件配置方法的步骤。
[0034] 基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种固件配置方法的步骤。
[0035] 本发明具有以下有益技术效果之一:本发明提出的方案基于AOP切面,不会破坏原来程序逻辑,可以很好的对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率,免去了研发人员在固件配置开发时随着机型的增加不断增加机型兼容的代码。

附图说明

[0036] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0037] 图1为本发明的实施例提供的固件配置方法的流程示意图;
[0038] 图2为本发明的实施例提供的设备分类方法示意图;
[0039] 图3为本发明的实施例提供的固件配置系统的结构示意图;
[0040] 图4为本发明的实施例提供的计算机设备的结构示意图;
[0041] 图5为本发明的实施例提供的计算机可读存储介质的结构示意图。

具体实施方式

[0042] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
[0043] 需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
[0044] 在本发明的实施例中,在面向切面编程(Aspect Oriented Programming,AOP)中,这些系统级的服务代码叫做切面(aspect),切面包含切入点(pointcut)和通知(advice)。其中,切入点(pointcut)是用于定义通知(advice)应该切入到应用程序的哪些连接点(jointpoint),例如方法调用、异常抛出或者字段修改,这种精准的匹配是由切入点的正则表达式来定义的;通知(advice)就是当连接点(jointpoint)到达时,通知应用程序去执行切面中定义的动作代码。这种AOP技术能够在不更改已部署的服务代码的同时改变原有程序的操作或者在原有程序的基础上增加额外操作,并且还能够通过修改连接点(jointpoint)或者切面(aspect)灵活地修改动作的执行条件和执行内容。在AOP模块中预先构建切面(aspect),包括定义其切入点(pointcut)条件和通知(advice)动作等内容,当符合AOP切入点条件时,自动执行通知中的动作,从而达到在不更改已部署的服务代码的前提下重新定义业务流程或者增加新的业务功能的技术效果。
[0045] 根据本发明的一个方面,本发明的实施例提出一种固件配置方法,如图1所示,其可以包括步骤:
[0046] S1,创建AOP切面并在所述AOP切面中定义第一切入点;
[0047] S2,响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点;
[0048] S3,响应于触发所述第一切入点,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件;
[0049] S4,根据每一个设备对应的配置文件进行固件配置。
[0050] 本发明提出的方案基于AOP切面,不会破坏原来程序逻辑,可以很好的对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率,免去了研发人员在固件配置开发时随着机型的增加不断增加机型兼容的代码。
[0051] 在一些实施例中,步骤S1,创建AOP切面并在所述AOP切面中定义第一切入点中,具体的,可以利用@Aspect注解定义AOP切面类,然后定义一个切入点定位到包:如@Pointcut("execution(*com.inspur.five..*Controller.*(..))"),匹配此规则的类将被连接切入。接着定义通知@before:在切入点开始前织入处理内容也就是进入切点方法之前读取请求数据即读取出HttpServletRequest中的参数数据。最后根据请求内容转换成标准数据:ip、url、http method、class method、args,并将标准数据进行存储。
[0052] 在一些实施例中,响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点,进一步包括:
[0053] 获取每一个设备的路由文件;
[0054] 根据所述路由文件确定每一个设备的厂商、系列以及机型并进一步确定相应的种类;
[0055] 响应于厂商、系列和/或机型的种类达到阈值,触发所述第一切入点。
[0056] 具体的,如图2所示,可以根据每一个设备中路由文件依次确定所属的厂商、系列以及机型,若当前需要进行固件配置的设备的厂商、系列和/或机型的种类较多,则需要触发第一切入点,执行切面中第一切入点对应的流程,即设备分类流程,以确定每一个设备对应的配置文件。
[0057] 在一些实施例中,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件,进一步包括:
[0058] 根据所述每一个设备的机型判断是否存在与相应的配置文件的对应关系;
[0059] 响应于存在所述对应关系,根据所述对应关系获取相应的配置文件。
[0060] 具体的,当注解定义切面类和切点方法后,可以通过切面装置拦截用户请求,获取机型的相关参数信息,转换为标准数据进行存储;将固件配置模板与机型的url按组划分,即机型1对应模板1,机型2对应模板2,机型N对应模板N,即可根据机型寻找到相应的固件配置模板;根据机型模板生成相应的配置页面,方便用户执行配置操作。
[0061] 在一些实施例中,方法还包括:
[0062] 响应于厂商、系列和/或机型的种类未超过阈值,直接利用配置文件对固件进行配置。
[0063] 具体的,当未触发第一切入点时,可以直接获取设备对应的配置文件,然后利用该配置文件进行固件配置。
[0064] 在一些实施例中,还包括:
[0065] 响应于不存在与机型对应的配置文件,获取通用配置文件。
[0066] 在一些实施例中,还包括:
[0067] 判断所述通用配置文件是否与设备兼容;
[0068] 响应于不兼容,对所述通用配置文件修改后再对所述固件进行配置;
[0069] 保存修改后的通用配置文件并在所述切面中增加修改后的通用配置文件与机型的对应关系。
[0070] 具体的,可以先将机型按厂商拆分,根据厂商分类后,再将机型按照系列分类,如M5系列和M6系列,国产系列等。每个系列里定义一个通用的配置文件模板;当新机型增加时,底层先做兼容性检查,如果固件配置(主要是BMC配置和BIOS配置)命令兼容且操作一致,那代码和配置文件均不用修改,如果不一致,则在系列的分类下添加新的机型配置文件。并在切面里维护机型和配置文件的对应关系。
[0071] 在一些实施例中,还包括:
[0072] 在所述AOP切面中定义第二切入点;
[0073] 响应于根据每一个设备对应的配置文件进行固件配置,执行所述AOP切面中与所述第二切入点对应的日志流程。
[0074] 具体的,在固件配置的方法调用完成后,可以定义第二切入点,触发监控方法,并生成标准日志数据输出。这样利用注解生成切面装置,在切点方法后拦截结果数据以转换为标准数据进行存储;原先每个方法中的日志及异常处理,统一的挪到了切面类中进行,这样极大的减少了代码量,使得在controller中的业务代码更加清晰。
[0075] 在本发明的实施例中,利用注解定义切面装置,然后预先将固件配置功能与机型url进行分组,这样切面装置拦截机型固件配置请求并将请求数据转换成标准数据存储,接着将机型标准数据按功能分组进行分析,找到对应的固件配置模板文件,以根据配置文件生成配置界面。而当切面装置检测到固件配置操作后,截取固件配置的日志信息,并将截取的日志信息转换成标准的日志数据后输出。
[0076] 这样,利用AOP切面不会破坏原来程序逻辑的特点,将机型分类与固件配置核心逻辑进行隔离,使用注解定义切面类和切入点,拦截切入点的请求生成标准的机型分类数据进行分析,在执行完固件配置过程后,得出这段时间内配置执行的日志数据,在使用切面后,原先每个方法中的日志及异常处理,统一的挪到了切面类中进行,并把他们按照统一的数据格式进行输出,以便运维人员查看运行结果和配置过程日志。
[0077] 基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种固件配置系统400,如图3所示,包括:
[0078] 创建模块401,配置为创建AOP切面并在所述AOP切面中定义第一切入点;
[0079] 判断模块402,配置为响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点;
[0080] 确定模块403,配置为响应于触发所述第一切入点,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件;
[0081] 配置模块404,配置为根据每一个设备对应的配置文件进行固件配置。
[0082] 本发明提出的方案基于AOP切面,不会破坏原来程序逻辑,可以很好的对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率,免去了研发人员在固件配置开发时随着机型的增加不断增加机型兼容的代码。
[0083] 在一些实施例中,创建AOP切面并在所述AOP切面中定义第一切入点中,具体的,可以利用@Aspect注解定义AOP切面类,然后定义一个切入点定位到包:如@Pointcut("execution(*com.inspur.five..*Controller.*(..))"),匹配此规则的类将被连接切入。接着定义通知@before:在切入点开始前织入处理内容也就是进入切点方法之前读取请求数据即读取出HttpServletRequest中的参数数据。最后根据请求内容转换成标准数据:ip、url、http method、class method、args,并将标准数据进行存储。
[0084] 在一些实施例中,判断模块402还配置为:
[0085] 获取每一个设备的路由文件;
[0086] 根据所述路由文件确定每一个设备的厂商、系列以及机型并进一步确定相应的种类;
[0087] 响应于厂商、系列和/或机型的种类达到阈值,触发所述第一切入点。
[0088] 具体的,如图2所示,可以根据每一个设备中路由文件依次确定所属的厂商、系列以及机型,若当前需要进行固件配置的设备的厂商、系列和/或机型的种类较多,则需要触发第一切入点,执行切面中第一切入点对应的流程,即设备分类流程,以确定每一个设备对应的配置文件。
[0089] 在一些实施例中,判断模块402还配置为:
[0090] 响应于厂商、系列和/或机型的种类未超过阈值,直接利用配置文件对固件进行配置。
[0091] 具体的,当未触发第一切入点时,可以直接获取设备对应的配置文件,然后利用该配置文件进行固件配置。
[0092] 在一些实施例中,确定模块403还配置为:
[0093] 根据所述每一个设备的机型判断是否存在与相应的配置文件的对应关系;
[0094] 响应于存在所述对应关系,根据所述对应关系获取相应的配置文件。
[0095] 具体的,当注解定义切面类和切点方法后,可以通过切面装置拦截用户请求,获取机型的相关参数信息,转换为标准数据进行存储;将固件配置模板与机型的url按组划分,即机型1对应模板1,机型2对应模板2,机型N对应模板N,即可根据机型寻找到相应的固件配置模板;根据机型模板生成相应的配置页面,方便用户执行配置操作。
[0096] 在一些实施例中,还包括:
[0097] 响应于不存在与机型对应的配置文件,获取通用配置文件。
[0098] 在一些实施例中,还包括:
[0099] 判断所述通用配置文件是否与设备兼容;
[0100] 响应于不兼容,对所述通用配置文件修改后再对所述固件进行配置;
[0101] 保存修改后的通用配置文件并在所述切面中增加修改后的通用配置文件与机型的对应关系。
[0102] 具体的,可以先将机型按厂商拆分,根据厂商分类后,再将机型按照系列分类,如M5系列和M6系列,国产系列等。每个系列里定义一个通用的配置文件模板;当新机型增加时,底层先做兼容性检查,如果固件配置(主要是BMC配置和BIOS配置)命令兼容且操作一致,那代码和配置文件均不用修改,如果不一致,则在系列的分类下添加新的机型配置文件。并在切面里维护机型和配置文件的对应关系。
[0103] 在一些实施例中,还包括:
[0104] 在所述AOP切面中定义第二切入点;
[0105] 响应于根据每一个设备对应的配置文件进行固件配置,执行所述AOP切面中与所述第二切入点对应的日志流程。
[0106] 具体的,在固件配置的方法调用完成后,可以定义第二切入点,触发监控方法,并生成标准日志数据输出。这样利用注解生成切面装置,在切点方法后拦截结果数据以转换为标准数据进行存储;原先每个方法中的日志及异常处理,统一的挪到了切面类中进行,这样极大的减少了代码量,使得在controller中的业务代码更加清晰。
[0107] 在本发明的实施例中,利用注解定义切面装置,然后预先将固件配置功能与机型url进行分组,这样切面装置拦截机型固件配置请求并将请求数据转换成标准数据存储,接着将机型标准数据按功能分组进行分析,找到对应的固件配置模板文件,以根据配置文件生成配置界面。而当切面装置检测到固件配置操作后,截取固件配置的日志信息,并将截取的日志信息转换成标准的日志数据后输出。
[0108] 这样,利用AOP切面不会破坏原来程序逻辑的特点,将机型分类与固件配置核心逻辑进行隔离,使用注解定义切面类和切入点,拦截切入点的请求生成标准的机型分类数据进行分析,在执行完固件配置过程后,得出这段时间内配置执行的日志数据,在使用切面后,原先每个方法中的日志及异常处理,统一的挪到了切面类中进行,并把他们按照统一的数据格式进行输出,以便运维人员查看运行结果和配置过程日志。
[0109] 基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种计算机设备501,包括:
[0110] 至少一个处理器520;以及
[0111] 存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行以下步骤:
[0112] S1,创建AOP切面并在所述AOP切面中定义第一切入点;
[0113] S2,响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点;
[0114] S3,响应于触发所述第一切入点,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件;
[0115] S4,根据每一个设备对应的配置文件进行固件配置。
[0116] 在一些实施例中,响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点,进一步包括:
[0117] 获取每一个设备的路由文件;
[0118] 根据所述路由文件确定每一个设备的厂商、系列以及机型并进一步确定相应的种类;
[0119] 响应于厂商、系列和/或机型的种类达到阈值,触发所述第一切入点。
[0120] 在一些实施例中,方法还包括:
[0121] 响应于厂商、系列和/或机型的种类未超过阈值,直接利用配置文件对固件进行配置。
[0122] 在一些实施例中,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件,进一步包括:
[0123] 根据所述每一个设备的机型判断是否存在与相应的配置文件的对应关系;
[0124] 响应于存在所述对应关系,根据所述对应关系获取相应的配置文件。
[0125] 在一些实施例中,还包括:
[0126] 响应于不存在与机型对应的配置文件,获取通用配置文件。
[0127] 在一些实施例中,还包括:
[0128] 判断所述通用配置文件是否与设备兼容;
[0129] 响应于不兼容,对所述通用配置文件修改后再对所述固件进行配置;
[0130] 保存修改后的通用配置文件并在所述切面中增加修改后的通用配置文件与机型的对应关系。
[0131] 在一些实施例中,还包括:
[0132] 在所述AOP切面中定义第二切入点;
[0133] 响应于根据每一个设备对应的配置文件进行固件配置,执行所述AOP切面中与所述第二切入点对应的日志流程。
[0134] 本发明提出的方案基于AOP切面,不会破坏原来程序逻辑,可以很好的对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率,免去了研发人员在固件配置开发时随着机型的增加不断增加机型兼容的代码。
[0135] 基于同一发明构思,根据本发明的另一个方面,如图5所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序指令610,计算机程序指令610被处理器执行时执行以下步骤:
[0136] S1,创建AOP切面并在所述AOP切面中定义第一切入点;
[0137] S2,响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点;
[0138] S3,响应于触发所述第一切入点,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件;
[0139] S4,根据每一个设备对应的配置文件进行固件配置。
[0140] 在一些实施例中,响应于接收到固件配置请求,根据待配置固件的设备分类判断是否触发所述第一切入点,进一步包括:
[0141] 获取每一个设备的路由文件;
[0142] 根据所述路由文件确定每一个设备的厂商、系列以及机型并进一步确定相应的种类;
[0143] 响应于厂商、系列和/或机型的种类达到阈值,触发所述第一切入点。
[0144] 在一些实施例中,方法还包括:
[0145] 响应于厂商、系列和/或机型的种类未超过阈值,直接利用配置文件对固件进行配置。
[0146] 在一些实施例中,执行所述AOP切面中与所述第一切入点对应的设备分类流程,以确定每一个设备对应的配置文件,进一步包括:
[0147] 根据所述每一个设备的机型判断是否存在与相应的配置文件的对应关系;
[0148] 响应于存在所述对应关系,根据所述对应关系获取相应的配置文件。
[0149] 在一些实施例中,还包括:
[0150] 响应于不存在与机型对应的配置文件,获取通用配置文件。
[0151] 在一些实施例中,还包括:
[0152] 判断所述通用配置文件是否与设备兼容;
[0153] 响应于不兼容,对所述通用配置文件修改后再对所述固件进行配置;
[0154] 保存修改后的通用配置文件并在所述切面中增加修改后的通用配置文件与机型的对应关系。
[0155] 在一些实施例中,还包括:
[0156] 在所述AOP切面中定义第二切入点;
[0157] 响应于根据每一个设备对应的配置文件进行固件配置,执行所述AOP切面中与所述第二切入点对应的日志流程。
[0158] 本发明提出的方案基于AOP切面,不会破坏原来程序逻辑,可以很好的对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率,免去了研发人员在固件配置开发时随着机型的增加不断增加机型兼容的代码。
[0159] 最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
[0160] 此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
[0161] 本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
[0162] 以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
[0163] 应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
[0164] 上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0165] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0166] 所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。