计算设备的更新方法、计算设备及计算机存储介质与流程

文档序号:32412874发布日期:2022-12-02 21:44阅读:40来源:国知局
计算设备的更新方法、计算设备及计算机存储介质与流程

1.本发明实施例涉及计算机技术领域,尤其涉及一种计算设备的更新方法、计算设备及计算机存储介质。


背景技术:

2.在日常使用计算设备(例如,服务器)时,通常需要周期性地或在有需要的情况下对服务器上的一些硬件进行更新,例如,对硬件的固件进行升级。
3.相关技术中,对计算设备的更新通常利用基本输入输出系统(basic input output system,bios)来实现。bios为计算设备的引导程序,通常配置于e2prom/eprom/flash(电可改写存储器/可编程只读存储器/闪存)等存储介质中,是计算设备启动后首先运行的程序,主要作用为引导计算设备的启动。具体而言,在需要对计算设备进行更新时,将更新后的配置数据写入存储介质,之后重启计算设备,从而在计算设备重新上电后,bios首先启动,读取存储设备,并将读取到的配置数据写入寄存器中,以实现寄存器的更新,然后将计算设备的控制权交给计算设备的操作系统,完成计算设备的启动过程。
4.由于利用bios实现计算设备更新的方法需要计算设备重启,然而,计算设备重启时,一方面,系统的当前操作无法保存,另一方面,需要计算设备停止对外提供服务,并在重启完成后,再重新接入服务。


技术实现要素:

5.本发明实施例提供一种计算设备的更新方法、计算设备及计算机存储介质。
6.第一方面,本发明实施例中提供了一种计算设备的更新方法,包括:
7.获取针对所述计算设备的待更新模块的更新配置数据;
8.将所述更新配置数据写入存储介质中与所述待更新模块对应的目标配置区;
9.从所述存储介质的源配置区获取与所述待更新模块对应的可执行指令;
10.向驱动程序发送调用请求,所述调用请求用于指示所述驱动程序按照所述可执行指令从所述目标配置区中获取所述更新配置数据,并将所述更新配置数据写入所述计算设备的寄存器。
11.第二方面,本发明实施例中提供了一种计算设备的更新方法,包括:
12.接收计算设备的操作系统的调用请求,所述调用请求为所述操作系统在获取针对所述计算设备的待更新模块的更新配置数据,将所述更新配置数据写入存储介质中与所述待更新模块对应的目标配置区,从所述存储介质的源配置区获取与所述待更新模块对应的可执行指令的情况下发出的;
13.响应于所述调用请求,基于所述可执行指令从所述目标配置区中获取所述更新配置数据,并将所述更新配置数据写入所述计算设备的寄存器,以实现对所述计算设备的更新。
14.第三方面,本发明实施例中提供了一种计算设备的更新装置,包括:
15.数据获取模块,用于获取针对所述计算设备的待更新模块的更新配置数据;
16.数据写入模块,用于将所述更新配置数据写入存储介质中与所述待更新模块对应的目标配置区;
17.指令获取模块,用于从所述存储介质的源配置区获取与所述待更新模块对应的可执行指令;
18.程序调用模块,用于向驱动程序发送调用请求,所述调用请求用于指示所述驱动程序按照所述可执行指令从所述目标配置区中获取所述更新配置数据,并将所述更新配置数据写入所述计算设备的寄存器。
19.第四方面,本发明另一实施例中提供了一种计算设备的更新装置,包括:
20.请求接收模块,用于接收计算设备的操作系统的调用请求,所述调用请求为所述操作系统在获取针对所述计算设备的待更新模块的更新配置数据,将所述更新配置数据写入存储介质中与所述待更新模块对应的目标配置区,从所述存储介质的源配置区获取与所述待更新模块对应的可执行指令的情况下发出的;
21.请求响应模块,用于响应于所述调用请求,基于所述可执行指令从所述目标配置区中获取所述更新配置数据,并将所述更新配置数据写入所述计算设备的寄存器,以实现对所述计算设备的更新。
22.第五方面,本发明实施例提供了一种算设备,包括处理组件以及存储组件;
23.所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行,实现本发明实施例提供的计算设备的更新方法。
24.第六方面,本发明实施例提供了一种计算机存储介质,存储有计算机程序,所述计算程序被计算机执行时,实现本发明实施例提供的计算设备的更新方法。
25.在本发明的实施例中,通过采用获取针对所述计算设备的待更新模块的更新配置数据,将所述更新配置数据写入存储介质中与所述待更新模块对应的目标配置区,从所述存储介质的源配置区获取与所述待更新模块对应的可执行指令,向驱动程序发送调用请求,所述调用请求用于指示所述驱动程序按照所述可执行指令从所述目标配置区中获取所述更新配置数据,并将所述更新配置数据写入所述计算设备的寄存器的技术方案,可以在无需重启计算设备的情况下,实现计算设备的更新。
26.本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1示意性示出了本发明一个实施例提供的计算设备的示意图;
29.图2示意性示出了本发明一个实施例提供的一种计算设备的更新方法的流程图;
30.图3示意性示出了本发明实施例提供的存储介质的示意图;
31.图4示意性示出了本发明另一实施例提供的一种计算设备的更新方法的流程图;
32.图5示意性示出本发明一个实施例提供的一种计算设备的更新装置的框图;
33.图6示意性示出本发明另一实施例提供的一种计算设备的更新装置的框图;
34.图7示意性示出本发明另一实施例提供的一种计算设备的框图。
具体实施方式
35.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
36.在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
37.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
38.图1示意性示出了本发明一个实施例提供的计算设备的示意图。
39.如图1所示,计算设备100上可以运行有操作系统用于管理自身的硬件设备以及为其他应用程序提供服务,该计算设备100上还可以运行各种应用程序以实现所需的各种功能,包括双向通信、接收计算服务请求、分配计算任务、返回计算结果、更新任务管理等。例如,计算设备100可以包括,更新任务管理单元101、计算任务管理单元102、用户态驱动单元(umd)104、内核态驱动单元(kmd)106和多个计算单元107,其中,每个计算单元107均可以为待更新模块。例如,更新任务管理单元101、计算任务管理单元102、用户态驱动单元(umd)104、内核态驱动单元(kmd)106可以通过软件、硬件、固件或它们的任意组合实现。本发明的实施例对于操作系统的具体形式(例如,windows、unix、linux等)不作限制。
40.例如,更新任务管理单元101可以用于负责接收关于计算单元的更新请求或者根据设置定期检查计算单元是否需要更新,根据需要还可以管理更新策略和流程以及监控更新任务状态等。在本发明的实施例中,“更新”例如可以包括对于计算单元自身的固件或硬件的更改、升级或降级等,也可以包括将整个计算单元的更换(例如,拔出某个插槽中的硬件卡,然后插入新的硬件卡)等。
41.如图1所示,更新任务管理单元101可以包括,例如,更新任务端口111以及任务监控和控制单元112。更新任务端口111可以用于负责接收更新请求或者根据设置定期检查计算单元是否需要更新,例如,更新请求是由与计算设备100通信的更新服务端(例如,更新服务器等)提供,或者由计算设备100的操作人员运行计算设备100上已经安装的更新程序而人工产生,该更新请求例如可以包括更新对象、更新内容(例如,固件版本等)、更新时间等;又例如,更新任务端口111可以根据设置定期向与计算设备100通信的更新服务端查询计算单元是否需要更新,获知当前有新的固件版本可用,则例如自行产生更新任务。任务监控和控制单元112可以用于负责管理更新策略和流程以及监控更新任务状态等。
42.计算任务管理单元102可以用于接收计算任务并负责计算任务(例如,推理任务)
的调度与管理,例如,将计算任务按照分配规则分配至各个计算单元107,例如,实现计算任务均匀调配,使得各个计算单元107能尽量并行工作,由此提升工作效率,减少计算单元107的空闲时间。在对计算单元进行更新的场景中,计算任务管理单元102还可以配合更新任务管理单元101使所指定的计算单元107上无执行任务,例如,更新任务管理单元101可以将待更新的目标计算单元的标识信息发送至计算任务管理单元102,计算任务管理单元102停止向该目标计算单元分配计算任务,保证在更新目标计算单元之前,目标计算单元中没有尚未完成的计算任务。
43.用户态驱动单元104可以是上层应用(例如,更新任务管理单元101、计算任务管理单元102等)与内核态驱动单元(例如,内核态驱动单元106)之间的交互接口。在一些实施例中,用户态驱动单元104可以提供设备抽象或者提供正确设备参数以调用内核态驱动单元106接口完成请求转发。
44.内核态驱动单元106可以用于负责这些计算单元107的驱动、管理与使用逻辑、监控计算单元107的工作状态等。例如,内核态驱动单元106接收由计算任务管理单元102分配的计算任务,将对应的线程和数据提供至对应的计算单元107,从而计算单元107可以根据对应的线程和数据执行被分配的计算任务。在一些实施例中,内核态驱动单元106可以负责计算单元107中固件的更新和固件状态检测、热重启计算单元107等。例如,内核态驱动单元106可以监控目标计算单元的更新情况,并将更新结果通过用户态驱动单元104反馈至更新任务管理单元101。
45.例如,如图1所示,在一些示例中,计算任务管理单元102可以直接连接至各个计算单元107,以向各个计算单元107分配计算任务。在另一些示例中,计算任务管理单元102也可以连接至用户态驱动单元104,以通过用户态驱动单元104和内核态驱动单元106将计算任务分配至各个计算单元107。
46.例如,用于对计算单元进行更新的固件程序可以通过远程提供或本地提供。如图1所示,可选地,在至少一个示例中,计算设备100还可以包括本地固件仓库103。一般地,固件仓库103可以是用于集中存放及管理固件的仓库(例如数据库)。固件仓库103可以用于,例如,持久化固件与固件元信息(例如,版本)、提供固件与固件元信息的查询、存储和获取固件等。例如,这些固件包括但不限于用于更新计算单元的固件,也可以包括用于计算设备100的其他部件的固件等。在至少另一个示例中,计算设备100可以有更新请求产生的时候,通过通信网络与远程的固件仓库(例如数据库)通信,下载需要的固件程序及相关信息,然后永久或临时保存在本地。
47.如图1所示,可选地,在至少一个示例中,计算设备100还可以包括系统文件系统(sysfs)105。系统文件系统105可以是类unix操作系统提供的用于将内核对象提供给用户态的机制。具体地,系统文件系统105可以是伪文件系统,其通过虚拟文件将关于各种内核子系统、硬件设备和相关设备驱动程序的信息从内核的设备模型导出到用户空间。在一些实施例中,系统文件系统105可以将与内核态驱动单元106相关的信息提供到更新任务管理单元101。在另一些实施例中,系统文件系统105还可以将来自更新任务管理单元101的更新请求直接(即不经过用户态驱动单元104)提供到内核态驱动单元106。
48.关于上述各个单元的具体实现形式,本发明的实施例对此不作限制。
49.图2示意性示出了本发明一个实施例提供的一种计算设备的更新方法的流程图,
该计算设备的更新方法可以由计算设备的操作系统执行,可以包括以下步骤:
50.201,获取针对计算设备的待更新模块的更新配置数据。
51.202,将更新配置数据写入存储介质中与待更新模块对应的目标配置区。
52.203,从存储介质的源配置区获取与待更新模块对应的可执行指令。
53.204,向驱动程序发送调用请求,调用请求用于指示驱动程序按照可执行指令从目标配置区中获取更新配置数据,并将更新配置数据写入计算设备的寄存器。
54.根据本发明的实施例,待更新模块可以包括计算设备中多个硬件模块中的至少一个或多个硬件模块,该至少一个或多个硬件模块为计算设备在本次更新的更新对象。
55.根据本发明的实施例,更新配置数据可以为计算设备的更新任务管理单元在检测到待更新模块需要更新的情况下,向更新服务器发送更新数据获取请求而获取的,数据获取请求可以携带有待更新模块的模块标识,以便更新服务器在接收到数据获取请求后,利用模块标识确定计算设备中待更新的模块,从而返回与待更新的模块相对应的更新配置数据。但不限于此,更新配置数据还可以包括计算设备的运维人员在检测到待更新模块需要进行更新的情况下提供的。
56.根据本发明的实施例,获取到更新配置数据后,可以将更新配置数据写入到存储介质中,存储介质例如可以包括e2prom(电可改写存储器)、flash(闪存)等。
57.根据本发明的实施例,存储介质中可以配置有目标配置区以及源配置区,其中,目标配置区用于存储配置数据,源配置区用于存储可执行指令。并且,目标配置区以及源配置区均可以有多个分区,其中每个分区均对应于计算设备的一个硬件模块。
58.根据本发明的实施例,在获取到更新配置数据后,可以将更新配置数据存储到目标配置区的多个分区中,与待更新模块对应的目标分区,并且从源配置区的多个分区中,与待更新模块对应的目标分区中获取与待更新模块对应的可执行指令。
59.根据本发明的另一实施例,在获取到更新配置数据后,还可以将更新配置数据存储至存储介质中的一固定位置,从而,在调用驱动程序后,驱动程序可以直接到该固定位置处获取更新配置数据。
60.根据本发明的实施例,可执行指令包括源地址信息、待获取数据信息以及目的地址信息,从而,可执行指令可以用于指示从何处获取何种配置数据,并将配置数据写入哪里。
61.根据本发明的实施例,驱动程序可以包括由bios管理,并在bios停止运行后,驻留在系统后台的驱动程序,其在计算设备中具有较高的安全权限,具备寄存器的访问权限。
62.根据本发明的实施例,调用驱动程序后,驱动程序可以基于源地址信息访问存储介质,基于待获取数据信息从存储介质中获取更新配置数据,并按照目的地址信息将更新配置数据写入寄存器中,以实现对计算设备的更新。
63.在本发明的实施例中,通过采用获取针对计算设备的待更新模块的更新配置数据,将更新配置数据写入存储介质中与待更新模块对应的目标配置区,从存储介质的源配置区获取与待更新模块对应的可执行指令,向驱动程序发送调用请求,调用请求用于指示驱动程序按照可执行指令从目标配置区中获取更新配置数据,并将更新配置数据写入计算设备的寄存器的技术方案,可以在无需重启计算设备的情况下,实现计算设备的更新。
64.根据本发明的实施例,计算设备的更新方法还包括:
65.查找存储介质中与待更新模块对应的源配置区;
66.从源配置区获取源配置数据,将源配置数据迁移至存储介质中区别于源配置区的目标配置区。
67.根据本发明的实施例,源配置区中包括源代码段。
68.根据本发明的实施例,从源配置区获取源配置数据具体可以实现为:解析源代码段,以确定源代码段包含的可执行指令以及源配置数据。
69.根据本发明的实施例,相关技术中,可执行指令以及配置数据通常以代码段的形式存储在存储介质中的同一配置区中,这种存储方式,使得配置数据以及可执行指令具有较高的耦合性,代码段的执行灵活性较差。
70.根据本发明的实施例,可以从存储介质中获取代码段,并对代码段进行解析,以确定代码段中的可执行指令以及源配置数据,从而可以将源配置数据迁移至存储介质中的迁移配置区,将可执行指令仍然保存在源配置区,使得代码段中的可执行指令以及源配置数据解偶,提高代码段执行的灵活性。
71.根据本发明的实施例,可执行指令通常可以为利用预设编程语言编写的,从而,在获取到代码段后,可以对代码段进行识别,以利用该编程语言的语法特点以及书写特点等特征,识别出代码段中的可执行指令,并将代码段中可执行指令以外的部分确定为源配置数据。
72.根据本发明的其它实施例,写入寄存器中的配置数据通常为二进制编码,从而,也可以对代码段进行编码识别,以确定出代码段中的二进制编码,并将二进制编码确定为源配置数据,并将除二进制编码的其它部分确定为可执行指令。
73.根据本发明的实施例,目标配置区中包括用于存储历史配置数据的第一区域。
74.根据本发明的实施例,将更新配置数据写入存储介质中与待更新模块对应的目标配置区具体可以实现为:
75.利用更新配置数据替换历史配置数据,以将更新配置数据写入目标配置区。
76.根据本发明的实施例,在获取到更新配置数据后,可以直接利用更新配置数据覆盖存储介质中的历史配置数据,以实现更新配置数据的写入。
77.将更新配置数据写入目标配置区中,区别于第一区域的第二区域;
78.将存储于第一区域的历史配置数据配置为不可见状态。
79.根据本发明的另一实施例,通过将更新配置数据写入区别于第一区域的第二区域,可以在写入更新配置数据的情况下,保留历史配置数据,从而在本次更新失败的情况下,可以利用历史配置数据对本次更新进行回滚,提高了计算设备更新的安全性。
80.根据本发明的实施例,计算设备的更新方法还包括:
81.获取源配置区中,可执行指令的第一存储标志位;
82.将第一存储标志位写入存储介质的标志位存储区。
83.根据本发明的实施例,将更新配置数据写入存储介质中与待更新模块对应的目标配置区后,计算设备的更新方法还包括:
84.获取目标配置区中,更新配置数据的第二存储标志位;
85.将第二存储标志位写入存储介质的标志位存储区;
86.调用具备寄存器访问权限的驱动程序,以按照可执行指令从目标配置区中获取更
新配置数据,并将更新配置数据写入计算设备的寄存器包括:
87.调用具备寄存器访问权限的驱动程序,以访问标志位存储区获取第二标志位,并基于第二标志位访问目标配置区,以获取更新配置数据。
88.图3示意性示出了本发明实施例提供的存储介质的示意图。
89.如图3所示,存储介质300被配置为包括标志位存储区301、目标配置区302以及源配置区303。
90.其中,目标配置区302中存储有配置数据;第二存储标志位可以包括对目标配置区进行采集而确定的配置数据在目标配置区中存储的起始位置以及终止位置,但不限于此,第二存储标志位可以包括配置数据在目标配置区中存储的起始位置以及存储长度。
91.源配置区303中存储有可执行指令。第一存储标志位可以包括对源配置区进行采集而确定的可执行指令在源配置区中存储的起始位置以及终止位置,但不限于此,第一存储标志位还可以包括可执行指令在源配置区中存储的起始位置以及存储长度。
92.在采集获取第一存储标志位以及第二存储标志位后,可以分别将第一存储标志位以及第二存储标志位存储至标志位存储区301中。
93.在无需对计算设备进行更新的情况下,目标配置区302中存储的配置数据可以为历史配置数据。
94.在计算设备的操作系统接收到待更新模块的更新配置数据的情况下,操作系统可以首先访问标志位存储区301,并根据从标志位存储区301中查询得到第二存储标志位确定与待更新模块对应的历史配置数据的存储位置,从而,可以在该存储位置上,利用更新配置数据对历史配置数据进行替换,实现更新配置数据的写入。
95.从存储介质的源配置区获取与待更新模块对应的可执行指令包括:
96.查找标志位存储区,以获取第一存储标志位;
97.基于第一存储标志位,访问存储介质,以获取可执行指令。
98.在操作系统接收到更新配置数据,并将更新配置数据写入存储介质中的目标配置区302后,可以再次访问标志位存储区301,并根据从标志位存储区301中查询得到的第一存储标志位确定与待更新模块对应的可执行指令的存储位置,从而,可以根据本发明的实施例该存储位置,获取与待更新模块对应的可执行指令。
99.在本发明的另一实施例中,在操作系统将更新配置数据写入目标配置区后,还可以基于编写指令,编写与待更新模块对应的可执行指令。具体而言,可以预先为操作系统配置多个候选编写指令,以及与各个候选编写指令相对应的可执行指令模版,从而,在操作系统接收到编写指令后,可以从预设的多个候选编写指令中确定与接收到的编写指令相对应的目标编写指令,从而按照与目标编写指令对应的可执行指令模版进行可执行指令的编写。但不限于此,编写指令还可以包括更新意图,从而,可以对更新意图进行识别,并根据识别结果进行可执行指令的编写。例如,更新意图可以包括对待更新模块a的b功能进行何种更新,从而,在对更新意图进行识别后,可以基于“待更新模块a”以及“b功能”确定可执行指令中的源地址信息以及目的地址信息,并基于“何种更新”确定可执行指令中的待获取数据信息。对更新意图的识别可以利用预先训练完成的意图识别模型实现,意图识别模型可以是利用由样本更新意图以及更新意图标签构成的样本训练急训练生成的,其中,样本更新意图可以为意图识别的训练样本,更新意图标签可以为与样本更新意图对应的意图识别结
果。
100.根据本发明的实施例,向驱动程序发送调用请求具体可以实现为:
101.响应于软件中断指令,启动驱动程序;
102.基于可执行指令生成调用请求,并将调用请求发送至驱动程序,以便驱动程序基于预先设定的解析方式对调用请求进行解析,以获取可执行指令。
103.根据本发明的实施例,驱动程序可以包括由bios管理,并在bios停止运行后,驻留在系统后台的驱动程序,其在计算设备中具有较高的安全权限,可以对寄存器发起访问。具体而言,该驱动程序可以包括atf(arm trusted firmware,arm可信固件)。
104.根据本发明的实施例,bios停止运行后,驱动程序可以在后台被挂起,并在接收到软件中断指令后启动。
105.根据本发明的实施例,软件中断指令可以包括异常事件,该异常事件包括需要打断cpu当前执行的事件,从而,响应于该异常事件,cpu挂起当前执行的程序,并启动驱动程序。
106.根据本发明的实施例,通过响应于软件中断指令使得cpu挂起当前执行的程序,可以在无需关停计算设备当前执行的计算任务的情况下,进行计算设备的更新过程。
107.根据本发明的实施例,调用请求可以包括与待更新模块对应的可执行指令的存储地址,从而,驱动程序在接收到存储地址后,可以按照该存储地址访问存储介质中的源配置区,以获取可执行指令;或者调用请求还可以包括待更新模块的模块标识,从而,驱动程序可以首先访问存储介质的标志位存储区,并基于模块标识从标志位存储区中获取与待更新模块对应的第一标志位,并基于第一标志位访问存储介质中的源配置区,以获取可执行指令。
108.驱动程序在获取到可执行指令后,则可以按照可执行指令的指示,从目标配置区中读取更新配置数据,并将配置数据写入到寄存器中,以实现计算设备的更新。
109.根据本发明的另一实施例,某一驱动程序可能不具有寄存器的所有存储区大的访问权限,从而,在驱动程序接收到调用请求并解析获得可执行指令后,可以首先判断其是否具有可执行指令所指示的寄存器中的目的地址的访问权限,若其具有目的地址的访问权限,则可以执行后续操作,若其不具有目的地址的访问权限,则可以将该可执行指令转发至具有该目的地址访问权限的第一驱动程序,以使第一驱动程序对驱动程序无权访问的目的地址的配置数据进行更新。
110.图4示意性示出了本发明另一实施例提供的一种计算设备的更新方法的流程图,该计算设备的更新方法可以由驱动程序执行,包括以下步骤:
111.401,接收计算设备的操作系统的调用请求,调用请求为操作系统在获取针对计算设备的待更新模块的更新配置数据,将更新配置数据写入存储介质中与待更新模块对应的目标配置区,从存储介质的源配置区获取与待更新模块对应的可执行指令的情况下发出的;
112.402响应于调用请求,基于可执行指令从目标配置区中获取更新配置数据,并将更新配置数据写入计算设备的寄存器,以实现对计算设备的更新。
113.根据本发明的实施例,基于可执行指令从目标配置区中获取更新配置数据,并将更新配置数据写入计算设备的寄存器具体可以实现为:
114.访问存储介质的标志位存储区,标志位存储区中写有目标配置区的第二标志位;
115.从标志位存储区中获取目标配置区的第二标志位;
116.基于第二标志位,访问目标配置区,以获取更新配置数据。
117.根据本发明的实施例,可执行指令包括源地址信息、待获取数据信息以及目的地址信息。
118.根据本发明的实施例,基于可执行指令从目标配置区中获取更新配置数据,并将更新配置数据写入计算设备的寄存器具体可以实现为:
119.基于源地址信息访问存储介质;
120.基于待获取数据信息从存储介质中获取更新配置数据;
121.按照目的地址信息将更新配置数据写入寄存器中。
122.需要说明的是,图4示出的计算设备的更新方法与图2示出的计算设备的更新方法相对应,具体实现方式可参照图2示出的计算设备的更新方法,在此不再赘述。
123.图5示意性示出本发明一个实施例提供的一种计算设备的更新装置的框图,该计算设备的更新装置500包括数据获取模块501、数据写入模块502、指令获取模块503以及程序调用模块504。
124.数据获取模块501,用于获取针对计算设备的待更新模块的更新配置数据。
125.数据写入模块502,用于将更新配置数据写入存储介质中与待更新模块对应的目标配置区。
126.指令获取模块503,用于从存储介质的源配置区获取与待更新模块对应的可执行指令。
127.程序调用模块504,用于向驱动程序发送调用请求,调用请求用于指示驱动程序按照可执行指令从目标配置区中获取更新配置数据,并将更新配置数据写入计算设备的寄存器。
128.根据本发明的实施例,计算设备的更新装置500还包括:
129.查找模块,用于查找存储介质中与待更新模块对应的源配置区;
130.解析模块,从源配置区获取源配置数据;
131.迁移模块,用于将源配置数据迁移至存储介质中区别于源配置区的目标配置区。
132.根据本发明的实施例,目标配置区中包括用于存储历史配置数据的第一区域。
133.根据本发明的实施例,数据写入模块502包括:
134.第一写入单元,用于利用更新配置数据替换历史配置数据,以将更新配置数据写入目标配置区;
135.或者,
136.第二写入单元,用于将更新配置数据写入目标配置区中,区别于第一区域的第二区域;
137.配置单元,用于将存储于第一区域的历史配置数据配置为不可见状态。
138.根据本发明的实施例,计算设备更新装置500还包括:
139.第一标志位获取模块,用于获取源配置区中,可执行指令的第一存储标志位;
140.第一标志位写入模块,用于将第一存储标志位写入存储介质的标志位存储区;
141.指令获取模块503包括:
142.第一标志位查找模块,用于查找标志位存储区,以获取第一存储标志位;
143.访问模块,用于基于第一存储标志位,访问存储介质,以获取可执行指令。
144.根据本发明的实施例,程序调用模块504包括:
145.程序启动模块,用于响应于软件中断指令,启动驱动程序;
146.请求生成模块,用于基于可执行指令生成调用请求,并将调用请求发送至驱动程序,以便驱动程序基于预先设定的解析方式对调用请求进行解析,以获取可执行指令。
147.根据本发明的实施例,计算设备更新装置500还包括:
148.第二标志位获取模块,用于获取目标配置区中,更新配置数据的第二存储标志位;
149.第二标志位写入模块,用于将第二存储标志位写入存储介质的标志位存储区。
150.程序调用模块504包括:
151.调用单元,用于调用具备寄存器访问权限的驱动程序,以访问标志位存储区获取第二标志位,并基于第二标志位访问目标配置区,以获取更新配置数据。图5的计算设备的更新装置可以执行图2所示实施例的计算设备的更新方法,其实现原理和技术效果不再赘述。对于上述实施例中的计算设备的更新装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
152.图6示意性示出本发明一个实施例提供的一种驱动程序的框图,该驱动程序600可以包括请求接收模块601以及请求响应模块602。
153.请求接收模块601,用于接收计算设备的操作系统的调用请求,调用请求为操作系统在获取针对计算设备的待更新模块的更新配置数据,将更新配置数据写入存储介质中与待更新模块对应的目标配置区,从存储介质的源配置区获取与待更新模块对应的可执行指令的情况下发出的。
154.请求响应模块602,用于响应于调用请求,基于可执行指令从目标配置区中获取更新配置数据,并将更新配置数据写入计算设备的寄存器,以实现对计算设备的更新。
155.根据本发明的实施例,请求响应模块602包括:
156.第一访问单元,用于访问存储介质的标志位存储区,标志位存储区中写有目标配置区的第二标志位;
157.标志位获取单元,用于从标志位存储区中获取目标配置区的第二标志位;
158.第二访问单元,用于基于第二标志位,访问目标配置区,以获取更新配置数据。
159.根据本发明的实施例,可执行指令包括源地址信息、待获取数据信息以及目的地址信息。
160.根据本发明的实施例,请求响应模块602包括:
161.第三访问单元,用于基于源地址信息访问存储介质;
162.数据获取单元,用于基于待获取数据信息从存储介质中获取更新配置数据;
163.数据写入单元,用于按照目的地址信息将更新配置数据写入寄存器中。
164.图6的计算设备的更新装置可以执行图4所示实施例的计算设备的更新方法,其实现原理和技术效果不再赘述。对于上述实施例中的计算设备的更新装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
165.在一个可能的设计中,本发明实施例提供的计算设备的更新装置可以实现为计算
设备,如图7所示,该计算设备可以包括存储组件701以及处理组件702;
166.存储组件701存储一条或多条计算机指令,其中,一条或多条计算机指令供处理组件702调用执行,用以实现本发明实施例提供的计算设备的更新方法。
167.当然,计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
168.其中,该计算设备可以为物理设备或者云计算平台提供的弹性计算主机等,此时计算设备即可以是指云服务器,上述处理组件、存储组件等可以是从云计算平台租用或购买的基础服务器资源。
169.当计算设备为物理设备时,可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。
170.实际应用中,该计算设备可以具体部署消息队列系统中的节点,实现为消息队列系统中的生产者、消费者、中转服务端或命名服务端等。
171.本发明实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被计算机执行时可以实现本发明实施例提供的计算设备的更新方法。
172.本发明实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被计算机执行时可以实现本发明实施例提供的计算设备的更新方法。
173.其中,前文相应实施例中的处理组件可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
174.存储组件被配置为存储各种类型的数据以支持在设备中操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
175.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
176.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
177.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施
例或者实施例的某些部分的方法。
178.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1