一种系统数据保存方法、装置、设备及存储介质与流程

文档序号:31696687发布日期:2022-10-01 05:45阅读:46来源:国知局
一种系统数据保存方法、装置、设备及存储介质与流程

1.本发明涉及服务器技术领域,特别是涉及一种系统数据保存方法、一种系统数据保存装置、一种系统数据保存设备以及一种计算机可读存储介质。


背景技术:

2.服务器在系统运行期间可能会遇到断电、突发导致业务中断、机器宕机等场景,此时需要对当前系统关键进程上下文数据以及io流缓存数据进行紧急数据保存。
3.当前服务器\存储服务器正常运行期间发生上述故障场景,会触发数据保护机制,紧急保存当前io栈中的用户数据,但是由于硬盘性能、cpu单核性能、物理硬盘数量以及内部总线传输速率的限制以及使用的bbu(battery backup unit,电池备份单元)的储能限制导致能够保存下来的关键数据有限。所以如何提供一种高效的在服务器遇到异常时紧急对数据进行保存的方法是本领域技术人员急需解决的问题。


技术实现要素:

4.本发明的目的是提供一种系统数据保存方法,在系统遇到突发情况时可以快速保存数据;本发明的另一目的在于提供一种系统数据保存装置、一种系统数据保存设备以及一种计算机可读存储介质,在系统遇到突发情况时可以快速保存数据。
5.为解决上述技术问题,本发明提供一种系统数据保存方法,包括:
6.获取紧急保存指令;
7.根据所述紧急保存指令,通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,读取对应存储子空间内的数据;所述cpu核与所述数据保存线程对应,共调用多个所述数据保存线程;存储空间预先根据所述cpu核的核数划分有多个存储子空间,所述存储子空间与所述cpu核对应;
8.通过所述数据保存线程保存对应存储子空间内的数据。
9.可选的,所述根据所述紧急保存指令,通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,读取对应存储子空间内的数据包括:
10.根据所述紧急保存指令创建多个数据保存线程;
11.通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,读取对应存储子空间内的数据。
12.可选的,所述通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,读取对应存储子空间内的数据包括:
13.通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,根据所述存储空间中页描述表所记载的对应cpu核的标识信息,确定对应的存储子空间;
14.调用所述数据保存线程,根据对应存储子空间内块描述表中记载的标记标识,读取所述标记标识对应数据块的数据;所述标记标识为在向所述数据块写入数据时,在所述块描述表中添加的标记标识。
15.可选的,所述通过所述数据保存线程保存对应存储子空间内的数据包括:
16.通过所述数据保存线程根据所述数据的索引信息生成文件头,写入预设保存数据的文件;
17.通过所述数据保存线程将所述数据压缩,并将压缩后的数据写入所述文件。
18.可选的,所述通过所述数据保存线程根据所述数据的索引信息生成文件头,写入预设保存数据的文件包括:
19.通过所述数据保存线程根据所述数据对应的cpu核号、预定的文件头信息、页描述表信息,生成文件头写入预设保存数据的文件。
20.可选的,在所述通过所述数据保存线程保存对应存储子空间内的数据之后,还包括:
21.获取恢复指令;
22.根据所述恢复指令调用数据恢复线程,将保存的所述数据恢复预设位置。
23.可选的,保存的所述数据中包括对应所述数据的校验位;
24.在所述根据所述恢复指令调用数据恢复线程,将保存的所述数据恢复预设位置之后,还包括:
25.根据所述校验位对所述数据进行校验。
26.本发明还提供了一种系统数据保存装置,包括:
27.保存指令模块,用于获取紧急保存指令;
28.数据读取模块,用于根据所述紧急保存指令,通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,读取对应存储子空间内的数据;所述cpu核与所述数据保存线程对应,共调用多个所述数据保存线程;存储空间预先根据所述cpu核的核数划分有多个存储子空间,所述存储子空间与所述cpu核对应;
29.数据保存模块,用于通过所述数据保存线程保存对应存储子空间内的数据。
30.本发明还提供了一种系统数据保存设备,包括:
31.存储器,用于存储计算机程序;
32.处理器,用于执行所述计算机程序以实现如上述任一项所述系统数据保存方法的步骤。
33.本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行以实现如上述任一项所述系统数据保存方法的步骤。
34.本发明所提供的一种系统数据保存方法,包括:获取紧急保存指令;根据紧急保存指令,通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,读取对应存储子空间内的数据;cpu核与数据保存线程对应,共调用多个数据保存线程;存储空间预先根据cpu核的核数划分有多个存储子空间,存储子空间与cpu核对应;通过数据保存线程保存对应存储子空间内的数据。
35.通过预先将存储空间中对应预规范的用于紧急数据保存的cpu核建立存储子空间,当发生突发情况产生紧急保存指令时,通过cpu核控制数据保存线程将对应存储子空间数据保存,通过多个数据保存线程并行的保存对应存储子空间的数据,可以极大的加快在需要紧急保存数据时数据的处理速度,实现在系统遇到突发情况时快速的保存数据。
36.本发明还提供了一种系统数据保存装置、一种系统数据保存设备以及一种计算机可读存储介质,同样具有上述有益效果,在此不再进行赘述。
附图说明
37.为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1为本发明实施例所提供的一种系统数据保存方法的流程图;
39.图2为本发明实施例所提供的一种具体的系统数据保存方法的流程图;
40.图3为本发明实施例所提供的一种系统数据保存装置的结构框图;
41.图4为本发明实施例所提供的一种系统数据保存设备结构框图。
具体实施方式
42.本发明的核心是提供一种系统数据保存方法。在现有技术中,遇到突发情况能够保存下来的关键数据有限。
43.而本发明所提供的一种系统数据保存方法,包括:获取紧急保存指令;根据紧急保存指令,通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,读取对应存储子空间内的数据;cpu核与数据保存线程对应,共调用多个数据保存线程;存储空间预先根据cpu核的核数划分有多个存储子空间,存储子空间与cpu核对应;通过数据保存线程保存对应存储子空间内的数据。
44.通过预先将存储空间中对应预规范的用于紧急数据保存的cpu核建立存储子空间,当发生突发情况产生紧急保存指令时,通过cpu核控制数据保存线程将对应存储子空间数据保存,通过多个数据保存线程并行的保存对应存储子空间的数据,可以极大的加快在需要紧急保存数据时数据的处理速度,实现在系统遇到突发情况时快速的保存数据。
45.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.请参考图1,图1为本发明实施例所提供的一种系统数据保存方法的流程图。
47.参见图1,在本发明实施例中,系统数据保存方法包括:
48.s101:获取紧急保存指令。
49.当系统遇到如断电、突发导致业务中断、机器宕机等场景时,首先会触发紧急保存指令。而在本步骤中会获取该紧急保存指令,以便后续步骤的进行。有关紧急保存指令的具体内容可以根据实际情况自行设定,在此不做具体限定。
50.s102:根据紧急保存指令,通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,读取对应存储子空间内的数据。
51.在本发明实施例中,所述cpu核与所述数据保存线程对应,共调用多个所述数据保存线程;存储空间预先根据所述cpu核的核数划分有多个存储子空间,所述存储子空间与所
述cpu核对应。在本步骤之前,通常是在系统初始化过程中,需要先对存储空间进行划分。具体的,需要先确定预规范的用于紧急数据保存的cpu核,之后根据该预规范的cpu核的核数确定需要划分出来的存储子空间,通常情况下划分出来的存储子空间的数量需要与预规范的cpu核的核数相同,上述存储子空间需要与预规范的cpu核一一对应。当然,在本发明实施例中只需要保证存储子空间与cpu核之间存在对应关系即可。
52.在本步骤中,当收到紧急保存指令后,首先会中断当前的业务,启用上述预规范的用于紧急数据保存的cpu核,通过该cpu核调用对应的数据保存线程,共调用多个数据保存线程。在本发明实施例中数据保存线程与预规范的cpu核具有对应关系,此时该数据保存线程通过cpu核则产生了与存储子空间的对应关系。在本步骤中,通过数据保存线程具体会读取对应存储子空间内的数据。由于不同的数据保存线程可以通过不同的cpu核区调用,因此不同的数据保存线程具体用于并行的处理数据,从而实现存储空间中多个区域存储数据的并行读取。
53.具体的,本步骤可以具体包括:根据所述紧急保存指令创建多个数据保存线程;通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,读取对应存储子空间内的数据。
54.即在获取紧急保存指令之后,首先会创建多个数据保存线程,具体会依据预规范的用于紧急数据保存的cpu核数进行数据保存线程的创建,并将创建好的数据保存线程与对应的cpu核进行绑定。之后,会通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,读取对应存储子空间内的数据。其具体内容已在上述发明实施例中做详细介绍,在此不再进行赘述。
55.s103:通过数据保存线程保存对应存储子空间内的数据。
56.在本步骤中,具体会通过数据保存线程紧急保存对应存储子空间内的数据,从而实现对存储空间中数据并行的快速保存,以应对突发情况。有关对数据紧急保存的具体流程将在下述发明实施例中做详细介绍,在此不再进行赘述。
57.本发明实施例所提供的一种系统数据保存方法,通过预先将存储空间中对应预规范的用于紧急数据保存的cpu核建立存储子空间,当发生突发情况产生紧急保存指令时,通过cpu核控制数据保存线程将对应存储子空间数据保存,通过多个数据保存线程并行的保存对应存储子空间的数据,可以极大的加快在需要紧急保存数据时数据的处理速度,实现在系统遇到突发情况时快速的保存数据。
58.有关本发明所提供的一种系统数据保存方法的具体内容将在下述发明实施例中做详细介绍。
59.请参考图2,图2为本发明实施例所提供的一种具体的系统数据保存方法的流程图。
60.参见图2,在本发明实施例中,系统数据保存方法包括:
61.s201:获取紧急保存指令。
62.在系统中,通常需要设置健康监管模块,用于监管当前操作系统运行情况,当发生会造成用户数据丢失、业务停止、机器宕机的故障场景,触发紧急数据保存机制,即触发紧急保存指令。当设备恢复正常后,发起恢复紧急保存的数据流程,即触发后续的恢复指令。
63.本步骤与上述s101基本一致,详细内容请参考上述发明实施例,在此不再进行赘
述。
64.s202:根据紧急保存指令,通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,根据存储空间中页描述表所记载的对应cpu核的标识信息,确定对应的存储子空间。
65.在本步骤之前,通常在系统初始化的过程中,需要通过内存管理模块根据当前设备cpu、物理内存规格算出当前操作系统为内核、用户、用户空间各个业务模块进程需要占用的内存大小、内存管理模块等内存空间大小,确认当前cpu核数。之后,该内存管理模块会根据预规范的用于紧急数据保存的cpu核数,将当前用户空间内存划分区间,在对应内存区间的每一个页的页描述表上标记对应cpu核的索引号的标识。即在本发明实施例中,具体可以通过在页描述表上标记对应cpu核的索引号的方式将cpu核与存储子空间相对应。
66.在本步骤中,需要根据紧急保存指令,通过预规范的cpu核调用对应的数据保存线程,首先根据存储空间中页描述表所记载的对应cpu核的标识信息,确定该数据保存线程对应的存储子空间。上述cpu核的标识信息可以为cpu核的索引号。
67.s203:调用数据保存线程,根据对应存储子空间内块描述表中记载的标记标识,读取标记标识对应数据块的数据。
68.在本发明实施例中,所述标记标识为在向所述数据块写入数据时,在所述块描述表中添加的标记标识。即在本步骤之前,当目标线程向存储空间中的数据块写入数据时,通常可以向该数据块对应的块描述表中,添加对应该数据块的标记标识,用于标记该数据块内写有数据。例如,当数据块内写有数据时,其标记标识可以置为1;当数据块内未写有数据时,其标记标识可以置为0。
69.在实际情况中,在创建线程的时候,会根据区分后不同线程的作用,在给某些业务线程分配内存空间的时候,对应的内存区间需要在描述表上标记标识,而有些业务线程的数据不需要保存,也就不需要标记。即在本发明实施例中会根据线程的作用确定上述目标线程,之后对目标线程存储的数据添加上述标记标识,作为紧急保存的数据。
70.而在本步骤中,在数据保存线程确定其对应的存储子空间之后,数据保存线程会根据其对应存储子空间内块描述表中记载的标记标识,读取标记标识对应数据块的数据,即从数据块中读取数据。
71.具体的,在读取数据时,可以针对读取的数据生成对应的校验位,具体可以针对每一页数据生成一个对应的数据校验值,并将该数据校验值写入页描述表,以便后续根据该数据校验值对恢复的数据进行校验。
72.s204:通过数据保存线程根据数据的索引信息生成文件头,写入预设保存数据的文件。
73.在对通过数据保存线程对数据进行保存时,首先需要根据读取数据的索引信息生成文件头,并将该文件头写入预设保存数据的文件。具体的,本步骤可以具体为:通过所述数据保存线程根据所述数据对应的cpu核号、预定的文件头信息、页描述表信息,生成文件头写入预设保存数据的文件。即上述索引信息可以包括对应的cpu核号、预定的文件头信息、页描述表信息等,有关其索引信息的具体内容在此不做具体限定,其预定的文件头信息等可以根据实际情况自行设定。
74.s205:通过数据保存线程将数据压缩,并将压缩后的数据写入文件。
75.在本步骤中,会通过所述数据保存线程将读取的数据进行压缩,并将压缩后的数据写入所述文件,从而实现数据的紧急保存。有关数据压缩的具体内容可以参考现有技术,在此不再进行赘述。在压缩时,可以按照用户空间的内存、缓存、页描述表和块描述表内存的顺序依次对数据进行压缩。
76.s206:获取恢复指令。
77.当系统从紧急状态恢复时,会触发恢复指令。而在本步骤中会获取该恢复指令,以便后续数据恢复步骤的进行。有关恢复指令的具体内容可以根据实际情况自行设定,在此不做具体限定。
78.s207:根据恢复指令调用数据恢复线程,将保存的数据恢复预设位置。
79.在本步骤中,首选可以生成数据恢复线程,之后通过该数据回复线程将上述保存的数据恢复预设位置,通常可以将数据恢复至原先的位置。
80.具体的,本步骤创建的数据恢复线程可以先绑定对应的预规定的cpu核,之后每个数据恢复线程将保存的数据根据保存的索引信息,即上述文件头中的各个描述表,将数据从文件按照顺序依次解析,将对应数据恢复给对应业务模块以及缓存中。在恢复数据过程中,可以根据用过预规定的cpu核所建立起的数据恢复线程与数据之间的对应关系,并行的恢复对应的数据,从而实现数据的快速恢复。
81.在本发明实施例中上述保存的所述数据中可以包括对应所述数据的校验位,即上述保存数据的文件中具有数据校验值。而在本步骤之后,还可以包括:根据所述校验位对所述数据进行校验。有关具体的校验过程可以参考现有技术。当校验失败时说明该校验位对应的数据失真,通常需要报出相应告警。
82.本发明实施例所提供的一种系统数据保存方法,通过预先将存储空间中对应预规范的用于紧急数据保存的cpu核建立存储子空间,当发生突发情况产生紧急保存指令时,通过cpu核控制数据保存线程将对应存储子空间数据保存,通过多个数据保存线程并行的保存对应存储子空间的数据,可以极大的加快在需要紧急保存数据时数据的处理速度,实现在系统遇到突发情况时快速的保存数据。
83.下面对本发明实施例所提供的一种系统数据保存装置进行介绍,下文描述的系统数据保存装置与上文描述的系统数据保存方法可相互对应参照。
84.请参考图3,图3为本发明实施例所提供的一种系统数据保存装置的结构框图。
85.参见图3,在本发明实施例中,系统数据保存装置可以包括:
86.保存指令模块100,用于获取紧急保存指令;
87.数据读取模块200,用于根据所述紧急保存指令,通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,读取对应存储子空间内的数据;所述cpu核与所述数据保存线程对应,共调用多个所述数据保存线程;存储空间预先根据所述cpu核的核数划分有多个存储子空间,所述存储子空间与所述cpu核对应;
88.数据保存模块300,用于通过所述数据保存线程保存对应存储子空间内的数据。
89.作为优选的,在本发明实施例中,所述数据读取模块200包括:
90.保存线程建立单元,用于根据所述紧急保存指令创建多个数据保存线程。
91.数据读取单元,用于通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,读取对应存储子空间内的数据。
92.作为优选的,在本发明实施例中,所述数据读取模块200包括:
93.存储子空间确定单元,用于通过预规范的用于紧急数据保存的cpu核调用对应的数据保存线程,根据所述存储空间中页描述表所记载的对应cpu核的标识信息,确定对应的存储子空间;
94.数据块读取单元,用于调用所述数据保存线程,根据对应存储子空间内块描述表中记载的标记标识,读取所述标记标识对应数据块的数据;所述标记标识为在向所述数据块写入数据时,在所述块描述表中添加的标记标识。
95.作为优选的,在本发明实施例中,数据保存模块300包括:
96.文件头保存单元,用于通过所述数据保存线程根据所述数据的索引信息生成文件头,写入预设保存数据的文件。
97.数据压缩单元,用于通过所述数据保存线程将所述数据压缩,并将压缩后的数据写入所述文件。
98.作为优选的,在本发明实施例中,文件头保存单元用于:
99.通过所述数据保存线程根据所述数据对应的cpu核号、预定的文件头信息、页描述表信息,生成文件头写入预设保存数据的文件。
100.作为优选的,在本发明实施例中,还包括:
101.恢复指令模块,用于获取恢复指令;
102.数据恢复模块,用于根据所述恢复指令调用数据恢复线程,将保存的所述数据恢复预设位置。
103.作为优选的,在本发明实施例中,保存的所述数据中包括对应所述数据的校验位;
104.还包括:
105.校验模块,用于根据所述校验位对所述数据进行校验。
106.本实施例的系统数据保存装置用于实现前述的系统数据保存方法,因此系统数据保存装置中的具体实施方式可见前文中系统数据保存方法的实施例部分,例如,保存指令模块100,数据读取模块200,数据保存模块300分别用于实现上述系统数据保存方法中步骤s101至s103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
107.下面对本发明实施例提供的一种系统数据保存设备进行介绍,下文描述的系统数据保存设备与上文描述的系统数据保存方法以及系统数据保存装置可相互对应参照。
108.请参考图4,图4为本发明实施例所提供的一种系统数据保存设备结构框图。
109.参照图4,该系统数据保存设备可以包括处理器11和存储器12。
110.所述存储器12用于存储计算机程序;所述处理器11用于执行所述计算机程序时实现上述发明实施例中所述的系统数据保存方法。
111.本实施例的系统数据保存设备中处理器11用于安装上述发明实施例中所述的系统数据保存装置,同时处理器11与存储器12相结合可以实现上述任一发明实施例中所述的系统数据保存方法。因此系统数据保存设备中的具体实施方式可见前文中的系统数据保存方法的实施例部分,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
112.本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计
算机程序,所述计算机程序被处理器执行时实现上述任一发明实施例中所介绍的一种系统数据保存方法。其余内容可以参照现有技术,在此不再进行展开描述。
113.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
114.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
115.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
116.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
117.以上对本发明所提供的一种系统数据保存方法、一种系统数据保存装置、一种系统数据保存设备以及一种计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1