一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多控制器的数据备份方法及相关装置与流程

2023-01-16 12:13:45 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别涉及一种多控制器的数据备份方法、存储控制系统、数据备份装置、终端设备以及计算机可读存储介质。


背景技术:

2.随着信息技术的不断发展,对存储阵列可靠性提出更高要求,尤其对存储系统数据备份的稳定可靠性;当前的存储系统架构设计中,通过ntb(non-transparent bridging,非透明桥)芯片来实现双控制器之间的两两数据备份,确保当前数据同时存至两台控制器的内存上时,数据备份过程结束。
3.相关技术中,数据备份过程是在控制器之间两两进行的数据交互,这个过程需要单独的ntb芯片进行硬件上级联,对于多控制器存储、服务器等设备来说,这种数据备份方式会需要大量的ntb桥芯片,增加了系统成本的消耗,且双控制器之间相互备份数据,当一个控制器出现异常时,数据备份过程便会中止。因此,这种传统的数据备份过程即会带来设计成本的增加,也会在异常时刻无法备份数据,导致存储设备工作可靠性的降低,影响了用户使用。
4.因此,如何在多控制器存储和服务器设备的数据备份过程中提高应用ntb芯片的效果,提高备份的效率是本领域技术人员关注的重点问题。


技术实现要素:

5.本技术的目的是提供一种多控制器的数据备份方法、存储控制系统、数据备份装置、终端设备以及计算机可读存储介质,以在双ntb芯片的应用下提高备份效率,降低硬件成本。
6.为解决上述技术问题,本技术提供一种多控制器的数据备份方法,包括:获取主机端的处理器工作状态;基于所述处理器工作状态对每个存储控制器的进行任务量评估计算,得到每个所述存储控制器的任务量;其中,所有所述存储控制器的数量大于两个,所有所述控制器之间连接有两个单向传输的公共ntb通道芯片;基于每个存储控制器的任务量和每个存储控制器的处理数据的任务量确定对应的备份数据的任务量;通过所述公共ntb通道芯片和每个存储控制器的备份数据的任务量对对应的控制器执行备份任务。
7.可选的,基于所述处理器工作状态对每个存储控制器的进行任务量评估计算,得到每个所述存储控制器的任务量,包括:基于所述处理器工作状态对每个所述存储控制器进行加权均衡计算,得到每个所述存储控制器的任务量。
8.可选的,基于所述处理器工作状态对每个所述存储控制器进行加权均衡计算,得
到每个所述存储控制器的任务量,包括:基于所述处理器工作状态确定下一时间节点处理数据的参数;其中,参数包括数据量、数据类型、数据用途以及保存地址;将所述数据类型、所述数据用途以及所述保存地址作为权重,将所述数据量作为每个所述权重的参数,并加权计算,得到每个所述存储控制器的任务量。
9.可选的,还包括:当得到每个存储控制器的任务量,分别对所述公共ntb通道芯片左右两端的存储控制器的任务量进行排序。
10.可选的,基于每个存储控制器的任务量和每个存储控制器的处理数据的任务量确定对应的备份数据的任务量,包括:控制公共ntb通道芯片的左端的任务量最大的控制器,向公共ntb通道芯片的右端的任务量最小的控制器下发备份数据的任务,并依次类推;控制公共ntb通道芯片的左端的任务量最小的控制器,向公共ntb通道芯片的右端的任务量最大的控制器下发备份数据的任务,并依次类推。
11.可选的,还包括:执行处理数据的任务和备份数据的任务时,对处理数据的任务和备份数据的任务的服务器进行记录,得到并保存日志数据。
12.可选的,其中,所有所述存储控制器分为左半区存储控制器和右半区存储控制器,所述两个单向传输的公共ntb通道芯片包括上公共ntb通道芯片和下公共ntb通道芯片;可选的,所述左半区存储控制器上的pcie发送通道与上公共ntb通道芯片相连,用于发送数据,右半区存储控制器上的pcie接收通道与上公共ntb通道芯片相连,用于接收数据;其中,左半区存储控制器上的pcie接收通道与下公共ntb通道芯片相连,用于接收数据,右半区存储控制器上的pcie发送通道与下公共ntb通道芯片相连,用于发送数据。
13.可选的,通过所述公共ntb通道芯片和每个存储控制器的备份数据的任务量对对应的控制器执行备份任务,包括:可选的,还包括:当一路存储控制器或多路存储控制器出现异常时,进行故障分析,得到待分配数据处理任务和待分配数据备份任务;将所述待分配数据处理任务和所述待分配数据备份任务分配至其他存储控制器。
14.可选的,当一路存储控制器或多路存储控制器出现异常时,进行故障分析,得到待分配数据处理任务和待分配数据备份任务,包括:当一路存储控制器或多路存储控制器出现异常时,进行数据特征提取,得到数据特征;基于所述数据特征进行故障分析,得到所述待分配数据处理任务和所述待分配数据备份任务。
15.可选的,将所述待分配数据处理任务和所述待分配数据备份任务分配至其他存储控制器,包括:对每个所述待分配数据处理任务和每个所述待分配数据备份任务进行优先级分析,得到每个任务的优先级;
基于每个任务的优先级将所述待分配数据处理任务和所述待分配数据备份任务分配至其他存储控制器。
16.可选的,还包括:以日志的方式记录故障信息和任务分配情况信息。
17.本技术还提供一种存储控制系统,包括:多个存储控制器、两个公共ntb通道芯片以及硬盘;其中,每个所述公共ntb通道芯片分别于每个所述存储控制器的数据通道连接,每个所述控制器于所述硬盘连接;所述公共ntb通道芯片用于和每个存储控制器的备份数据的任务量对对应的存储控制器执行备份任务。
18.可选的,所述存储控制器的数量为双数,所述多个存储控制器包括左半区存储控制器和右半区存储控制器。
19.可选的,所述两个单向传输的公共ntb通道芯片包括上公共ntb通道芯片和下公共ntb通道芯片。
20.可选的,所述左半区存储控制器上的pcie发送通道与上公共ntb通道芯片相连,用于发送数据,右半区存储控制器上的pcie接收通道与上公共ntb通道芯片相连,用于接收数据;其中,左半区存储控制器上的pcie接收通道与下公共ntb通道芯片相连,用于接收数据,右半区存储控制器上的pcie发送通道与下公共ntb通道芯片相连,用于发送数据。
21.可选的,所述上公共ntb通道芯片对所述左半区存储控制器和所述右半区存储控制器执行备份任务;所述下公共ntb通道芯片对所述左半区存储控制器和所述右半区存储控制器执行备份任务。
22.本技术还提供一种多控制器的数据备份装置,包括:工作状态获取模块,用于获取主机端的处理器工作状态;任务量评估模块,用于基于所述处理器工作状态对每个存储控制器的进行任务量评估计算,得到每个所述存储控制器的任务量;其中,所有所述存储控制器的数量大于两个,所有所述控制器之间连接有两个单向传输的公共ntb通道芯片;任务量均衡模块,用于基于每个存储控制器的任务量和每个存储控制器的处理数据的任务量确定对应的备份数据的任务量;备份任务执行模块,用于通过所述公共ntb通道芯片和每个存储控制器的备份数据的任务量对对应的控制器执行备份任务。
23.本技术还提供一种终端设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上所述的数据备份方法的步骤。
24.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据备份方法的步骤。
25.本技术所提供的一种多控制器的数据备份方法,包括:获取主机端的处理器工作状态;基于所述处理器工作状态对每个存储控制器的进行任务量评估计算,得到每个所述存储控制器的任务量;其中,所有所述存储控制器的数量大于两个,所有所述控制器之间连
接有两个单向传输的公共ntb通道芯片;基于每个存储控制器的任务量和每个存储控制器的处理数据的任务量确定对应的备份数据的任务量;通过所述公共ntb通道芯片和每个存储控制器的备份数据的任务量对对应的控制器执行备份任务。
26.通过先获取主机端的处理器工作状态,然后基于处理器工作状态确定每个存储控制器可以运行的任务量,并基于任务量确定对应的备份数据的任务量,最后按照确定的备份数据的任务量执行备份任务,实现了在两个ntb通道芯片的情况下,均衡每个存储控制器的任务量,实现数据备份,降低了硬件成本的同时,提高了数据备份的效率。
27.本技术还提供一种存储控制系统、多控制器的数据备份装置、终端设备以及计算机可读存储介质,具有以上有益效果,在此不作赘述。
附图说明
28.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
29.图1为本技术实施例所提供的一种多控制器的数据备份方法的流程图;图2为本技术实施例还提供的一种多控制器的数据备份方法的结构示意图;图3为本技术实施例所提供的一种数据备份算法流程图;图4为本技术实施例所提供的一种多控制器的数据备份方法的异常处理流程图;图5为本技术实施例所提供的一种多控制器的数据备份装置的结构示意图;图6本技术实施例所提供的一种终端设备的结构示意图。
具体实施方式
30.本技术的核心是提供一种多控制器的数据备份方法、存储控制系统、数据备份装置、终端设备以及计算机可读存储介质,以在双ntb芯片的应用下提高备份效率,降低硬件成本。
31.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.相关技术中,数据备份过程是在控制器之间两两进行的数据交互,这个过程需要单独的ntb芯片进行硬件上级联,对于多控制器存储、服务器等设备来说,这种数据备份方式会需要大量的ntb桥芯片,增加了系统成本的消耗,且双控制器之间相互备份数据,当一个控制器出现异常时,数据备份过程便会中止。因此,这种传统的数据备份过程即会带来设计成本的增加,也会在异常时刻无法备份数据,导致存储设备工作可靠性的降低,影响了用户使用。
33.因此,本技术提供一种多控制器的数据备份方法,通过先获取主机端的处理器工作状态,然后基于处理器工作状态确定每个存储控制器可以运行的任务量,并基于任务量确定对应的备份数据的任务量,最后按照确定的备份数据的任务量执行备份任务,实现了
在两个ntb通道芯片的情况下,均衡每个存储控制器的任务量,实现数据备份,降低了硬件成本的同时,提高了数据备份的效率。
34.以下通过一个实施例,对本技术提供的一种多控制器的数据备份方法进行说明。
35.请参考图1,图1为本技术实施例所提供的一种多控制器的数据备份方法的流程图。
36.本实施例中,该方法可以包括:s101,获取主机端的处理器工作状态;本步骤旨在确定到主机端的处理器工作状态,以便通过处理器工作状态确定可以处理的任务量。
37.进一步的,本实施例中对应的硬件结构中仅仅使用了两个ntb芯片,以便降低硬件成本。因此,所有存储控制器分为左半区存储控制器和右半区存储控制器,两个单向传输的公共ntb通道芯片包括上公共ntb通道芯片和下公共ntb通道芯片;其中,左半区存储控制器上的pcie发送通道与上公共ntb通道芯片相连,用于发送数据,右半区存储控制器上的pcie接收通道与上公共ntb通道芯片相连,用于接收数据;其中,左半区存储控制器上的pcie接收通道与下公共ntb通道芯片相连,用于接收数据,右半区存储控制器上的pcie发送通道与下公共ntb通道芯片相连,用于发送数据。
38.s102,基于处理器工作状态对每个存储控制器的进行任务量评估计算,得到每个存储控制器的任务量;其中,所有存储控制器的数量大于两个,所有控制器之间连接有两个单向传输的公共ntb通道芯片;在s101的基础上,本步骤旨在基于处理器工作状态对每个存储控制器的进行任务量评估计算,得到每个存储控制器的任务量;其中,所有存储控制器的数量大于两个,所有控制器之间连接有两个单向传输的公共ntb通道芯片。
39.进一步的,本步骤可以包括:基于处理器工作状态对每个存储控制器进行加权均衡计算,得到每个存储控制器的任务量。
40.可见,本可选方案主要是说明如何确定任务量。本可选方案中,基于处理器工作状态对每个存储控制器进行加权均衡计算,得到每个存储控制器的任务量。
41.进一步的,上一可选方案可以包括:步骤1,基于处理器工作状态确定下一时间节点处理数据的参数;其中,参数包括数据量、数据类型、数据用途以及保存地址;步骤2,将数据类型、数据用途以及保存地址作为权重,将数据量作为每个权重的参数,并加权计算,得到每个存储控制器的任务量。
42.可见,本可选方案中主要是说明如何确定对应的任务量。本可选方案中,基于处理器工作状态确定下一时间节点处理数据的参数;其中,参数包括数据量、数据类型、数据用途以及保存地址;将数据类型、数据用途以及保存地址作为权重,将数据量作为每个权重的参数,并加权计算,得到每个存储控制器的任务量。
43.此外,上一可选方案还可以包括:当得到每个存储控制器的任务量,分别对公共ntb通道芯片左右两端的存储控制器的任务量进行排序。
44.s103,基于每个存储控制器的任务量和每个存储控制器的处理数据的任务量确定对应的备份数据的任务量;在s102的基础上,本步骤旨在基于每个存储控制器的任务量和每个存储控制器的处理数据的任务量确定对应的备份数据的任务量。
45.进一步的,本步骤可以包括:步骤1,控制公共ntb通道芯片的左端的任务量最大的控制器,向公共ntb通道芯片的右端的任务量最小的控制器下发备份数据的任务,并依次类推;步骤2,控制公共ntb通道芯片的左端的任务量最小的控制器,向公共ntb通道芯片的右端的任务量最大的控制器下发备份数据的任务,并依次类推。
46.可见,本可选方案中主要是说明如何对存储控制器分配不同的任务量。本可选方案中,控制公共ntb通道芯片的左端的任务量最大的控制器,向公共ntb通道芯片的右端的任务量最小的控制器下发备份数据的任务,并依次类推;控制公共ntb通道芯片的左端的任务量最小的控制器,向公共ntb通道芯片的右端的任务量最大的控制器下发备份数据的任务,并依次类推。
47.此外,本实施例还可以包括:执行处理数据的任务和备份数据的任务时,对处理数据的任务和备份数据的任务的服务器进行记录,得到并保存日志数据。
48.s104,通过公共ntb通道芯片和每个存储控制器的备份数据的任务量对对应的控制器执行备份任务。
49.在s103的基础上,本步骤旨在通过公共ntb通道芯片和每个存储控制器的备份数据的任务量对对应的控制器执行备份任务。
50.进一步的,本步骤可以包括:通过上公共ntb通道芯片和下公共ntb通道芯片分别对左半区存储控制器和右半区存储控制器执行备份任务。
51.此外,本实施例还可以包括:步骤1,当一路存储控制器或多路存储控制器出现异常时,进行故障分析,得到待分配数据处理任务和待分配数据备份任务;步骤2,将待分配数据处理任务和待分配数据备份任务分配至其他存储控制器。
52.可见,本可选方案中主要是说明出现异常时如何进行处理。本可选方案中,当一路存储控制器或多路存储控制器出现异常时,进行故障分析,得到待分配数据处理任务和待分配数据备份任务,将待分配数据处理任务和待分配数据备份任务分配至其他存储控制器。
53.进一步的,上一可选方案中的步骤1可以包括:步骤1.1,当一路存储控制器或多路存储控制器出现异常时,进行数据特征提取,得到数据特征;步骤1.2,基于数据特征进行故障分析,得到待分配数据处理任务和待分配数据备份任务。
54.可见,本可选方案中主要是说明如何在出现异常进行任务分配。本可选方案中,当一路存储控制器或多路存储控制器出现异常时,进行数据特征提取,得到数据特征;基于数
据特征进行故障分析,得到待分配数据处理任务和待分配数据备份任务。
55.进一步的,上一可选方案中的步骤2可以包括:步骤2.1,对每个待分配数据处理任务和每个待分配数据备份任务进行优先级分析,得到每个任务的优先级;步骤2.2,基于每个任务的优先级将待分配数据处理任务和待分配数据备份任务分配至其他存储控制器。
56.可见,本可选方案中主要是说明如何提高任务分配的效果。本可选方案中,对每个待分配数据处理任务和每个待分配数据备份任务进行优先级分析,得到每个任务的优先级,基于每个任务的优先级将待分配数据处理任务和待分配数据备份任务分配至其他存储控制器。
57.进一步的,上一可选方案还可以包括:以日志的方式记录故障信息和任务分配情况信息。
58.综上,本实施例通过先获取主机端的处理器工作状态,然后基于处理器工作状态确定每个存储控制器可以运行的任务量,并基于任务量确定对应的备份数据的任务量,最后按照确定的备份数据的任务量执行备份任务,实现了在两个ntb通道芯片的情况下,均衡每个存储控制器的任务量,实现数据备份,降低了硬件成本的同时,提高了数据备份的效率。
59.以下通过另一具体的实施例,对本技术提供的一种多控制器的数据备份方法。
60.请参考图2,图2为本技术实施例还提供的一种多控制器的数据备份方法的结构示意图。
61.本实施例中,提供的对应系统结构拓扑如图2所示,拓扑中的核心设备为上下两个公共ntb通道芯片,两个公共ntb通道芯片将多控制器分为左右两个半区,我们存储设备由于要数据备份,一般控制器数量均为双数,两个半区的控制器数量相同并可以进行相互备份数据。左边控制器上的pcie(peripheral component interconnect express,高速串行计算机扩展总线标准)发送tx(transport,发送)通道与上公共ntb通道芯片相连,用于发送数据,右边控制器上的pcie接收rx(receive,接收)通道与上公共ntb通道芯片相连,用于接收数据;同样的,左边控制器上的pcie接收rx通道与下公共ntb通道芯片相连,用于接收数据,右边控制器上的pcie发送tx通道与上公共ntb通道芯片相连,用于发送数据。控制器中包含了内存条,控制器处理数据过程中,首先将数据存储在内存中,并将备份数据同样存储至相应控制器的内存中,控制器后端与硬盘相连,在数据完成处理与备份操作后,将数据传输至硬盘中。
62.本实施例中以八控制器的存储设备为例,采用ntb芯片pex8733,该芯片包含42路输入与输出通道,八控制器存储设备在ntb通道两端一边四控制器,四控制器平分42路通道每一控制器分10路通道。因此,上公共ntb给左边四控各分10路通道作为tx发送数据pcie通道,给右边四控各分10路通道作为接受数据pcie通道;下公共ntb给左边四控各分10路通道作为rx接受数据pcie通道,给右边四控各分10路通道作为发送数据pcie通道。固件层面上利用pex8733 ntb芯片的直接地址转换方式,将ntb芯片的ntx(多发送通道)口配置为映射到多个目标设备的方式,多个目标设备即为ntb另一侧的多控制器,这样配置保证ntb桥一侧控制器处理的数据包,可以通过ntb转换到多台已配置好设备地址的另一侧控制器上,保
证了数据向多台控制器备份的可实现性。
63.请参考图3,图3为本技术实施例所提供的一种数据备份算法流程图。
64.本实施例在算法上提供了与拓扑结构相配套的双公共ntb存储数据管理流程算法,系统正常工作时的算法流程图如图3所示:当存储设备正常工作时,存储控制器主板上的cpu作为多核处理器,可以同时并行处理分析服务器host端传输的多路数据,而统一时刻多控制器cpu中处理的数据量、数据类型、数据用途、保存地址等都是大相径庭的,因此我们通过公共ntb通路可以实现多路控制器之间的数据共享,而这种传输数据共享的基础是各路控制器间的状态共享。
65.因此,该算法流程可以包括:第一步,获取当前host端传输数据任务下,cpu的工作状态。
66.第二步,根据此时cpu的工作状态,考虑多路控制器自身数据处理的任务量后,量化的表示出各控制器的任务量大小,是算法流程的核心。考虑到数据处理过程中,所处理的从host端传输到存储设备的数据参数各不相同,因此在规划数据处理备份状态时,我们用加权均衡算法来实现规划后的处理器工作量稳定。加权过程的对象是处理器在下一时间节点所要传输处理的数据,加权过程中的每一加权项为所处理数据的参数,参数包含数据量、数据类型、数据用途、保存地址这四项,我们把数据量当作统计的基础单元记为q,数据类型、数据用途、保存地址这三个参数分别进行量化为相应的权重值。量化过程首先要列举出以上三个权重参数的具体情况,其中保存地址为数据存储到相应ssd盘的地址,对于这个数据要求的存盘地址我们分为近、中、远三类地址,临近该控制器的ssd盘记为近端地址其权重记为1,中端地址与远端地址所占权重均高于1,具体根据实际应用情况增加,记为a1;数据类型包括最基础的普通文本数据txt、图形数据gif、文件tar等,各类数据按照服务器处理能力的复杂度来赋予权重,其中普通文本数据权重为1,其余高于1,记为a2;服务器中的数据按用途分为元数据、系统数据、参照数据、事务数据四大类,同样将元数据的权重记为1,其余几类数据的权重根据实际情况进行分配,记为a3。通过这种方式,表示出三个权重参数的权重分别为a1、a2、a3,与权重相对应假设一台控制器上所需处理上述三种权重参数的数据量为q,基于上述举例分析,本专利给出存储控制器的工作量g衡量公式如下:其中,该公式表示了三种权重参数与各自对应的数据量乘积之和,其中权重参数分别为a1、a2、a3,公式中的每一部分不只是简单相乘,以a1乘q为例,q为当前阶段所处理的数据总量,该数据量中的不同部分可能包含不同地址的数据,因此a1乘q含义为q中的每一部分数据量与该部分数据量对应地址的权重乘积之和,同理,a2乘q含义为q中的每一部分数据量与该部分数据量对应数据类型的权重乘积之和,a3乘q含义为q中的每一部分数据量与该部分数据量对应数据用途的权重乘积之和。按照该公式计算出各存储控制器工作量g之后,分别对ntb桥左右两端的g进行排序,排序得到左右两端控制器的工作量排名。
67.第三步,对控制器的工作量衡量完成后,进行数据备份任务的分配,数据备份所需的工作量与处理当前数据所需的工作量一致,因此在备份过程中,ntb桥左端数据处理量任务最重的控制器,数据备份到ntb桥右端数据处理量任务最轻的控制器,并依次类推,ntb桥左端数据处理任务量最轻的控制器,数据备份到ntb桥右端数据处理量任务最重的控制器。通过这种备份方式,可以保证每台控制器上“数据处理 数据备份”任务量之和达到平衡状
态,这使得控制器处理数据更高效,各控制器处理数据时间也跟接近,在相近的时间内,各控制器同时高效的完成数据处理与备份任务。此外,在控制器处理数据并备份的过程中,需要对当前阶段的数据处理与备份的服务器进行记录,并以日志的方式进行保存,确保后面的数据下盘过程不会出现混乱。
68.请参考图4,图4为本技术实施例所提供的一种多控制器的数据备份方法的异常处理流程图。
69.系统中的一路或多路控制器出现异常时,算法流程图如图4所示:首先对异常状况进行分析,分析出当前时刻下该控制器故障(其所承担的数据处理、备份任务瘫痪)对整个系统的影响,分析出该路控制器中的处理数据与备份数据情况,需要将该控制器处理数据、备份数据的任务分配给其他处理器。分析过程包括了对数据特征的提取分析,将该控制器处理的数据分为高、中、低三个重要等级,数据重要等级决定了处理与备份过程的先后顺序;在分析完成后,对数据处理任务进行再分配规划,同样是基于均衡算法的思路,保证异常控制器所承担的任务可以有效分配给其余正常工作的控制器,该再分配规划分为初始再分配与优化再分配两部,目的是为了通过快速的初始再分配保证短时间内数据传输任务顺利进行,不会出现耽搁而影响系统正常运行,初始分配将分析到的高重要级数据进行相邻备份,服务器前端将该控制器中所处理的数据、所需备份的数据交给相邻的两个控制器进行紧急的处理,保证重要数据不会丢失;而优化再分配是在初始分配基础上进行运行中的二次分配,保证了控制器上不会出现数据处理任务分配不均而带来的cpu工作过载等问题,再分配依据之前给出的的工作量衡量方法,将控制器的工作量任务再次进行排序(此时异常控制器相邻的两路控制器工作量会相对增加),排序完成后将中、低重要级数据分配给工作量最少的两台控制器进行处理,并以日志方式记录问题与再分配情况。
70.可见,本实施例的一种基于双公共ntb的多控制器存储设备优化方法与拓扑结构,该拓扑过程可以充分地利用了公共ntb桥的传输数据功能,在多控制器间提供了公共的数据传输通道,一方面可以减少ntb桥片数量,摒弃了以往研究中多控制器间两两相互采用ntb桥的传统涉及思路,极大程度上减小了设计成本,另一方面通过公共ntb将多控制器互联可以保证数据传输、备份的可靠性,当一台或多台控制器出现异常情况时,可以利用其他控制器分担该控制器的数据处理任务,从而提高了数据备份可靠性,降低了数据丢包的风险。此外,本发明提供的相配合的数据管理算法可以提高控制器之间数据传输、备份的效率,保证了各控制器间的工作均衡,使ntb桥数据传输功能发挥到最大,异常时刻的数据再分配算法也可有效保证出现异常时数据备份的不中断,异常控制器上的数据可以被正常控制器备份,保证了存储设备的安全可靠性,保证用户数据不会再异常时刻丢失而带来的成本损失。
71.本实施例通过先获取主机端的处理器工作状态,然后基于处理器工作状态确定每个存储控制器可以运行的任务量,并基于任务量确定对应的备份数据的任务量,最后按照确定的备份数据的任务量执行备份任务,实现了在两个ntb通道芯片的情况下,均衡每个存储控制器的任务量,实现数据备份,降低了硬件成本的同时,提高了数据备份的效率。
72.下面对本技术实施例提供的多控制器的数据备份装置进行介绍,下文描述的多控制器的数据备份装置与上文描述的多控制器的数据备份方法可相互对应参照。
73.请参考图5,图5为本技术实施例所提供的一种多控制器的数据备份装置的结构示
意图。
74.本实施例中,该装置可以包括:工作状态获取模块100,用于获取主机端的处理器工作状态;任务量评估模块200,用于基于处理器工作状态对每个存储控制器的进行任务量评估计算,得到每个存储控制器的任务量;其中,所有存储控制器的数量大于两个,所有控制器之间连接有两个单向传输的公共ntb通道芯片;任务量均衡模块300,用于基于每个存储控制器的任务量和每个存储控制器的处理数据的任务量确定对应的备份数据的任务量;备份任务执行模块400,用于通过公共ntb通道芯片和每个存储控制器的备份数据的任务量对对应的控制器执行备份任务。
75.可选的,该任务量评估模块200,具体用于基于处理器工作状态对每个存储控制器进行加权均衡计算,得到每个存储控制器的任务量。
76.可选的,该任务量评估模块200,具体用于基于处理器工作状态确定下一时间节点处理数据的参数;其中,参数包括数据量、数据类型、数据用途以及保存地址;将数据类型、数据用途以及保存地址作为权重,将数据量作为每个权重的参数,并加权计算,得到每个存储控制器的任务量。
77.可选的,该任务量均衡模块300,具体用于控制公共ntb通道芯片的左端的任务量最大的控制器,向公共ntb通道芯片的右端的任务量最小的控制器下发备份数据的任务,并依次类推;控制公共ntb通道芯片的左端的任务量最小的控制器,向公共ntb通道芯片的右端的任务量最大的控制器下发备份数据的任务,并依次类推。
78.可选的,该备份任务执行模块400,具体用于通过上公共ntb通道芯片和下公共ntb通道芯片分别对左半区存储控制器和右半区存储控制器执行备份任务。
79.可选的,该装置还可以包括:异常处理模块,用于当一路存储控制器或多路存储控制器出现异常时,进行故障分析,得到待分配数据处理任务和待分配数据备份任务;将待分配数据处理任务和待分配数据备份任务分配至其他存储控制器。
80.本技术还提供了一种终端设备,请参考图6,图6本技术实施例所提供的一种终端设备的结构示意图,该终端设备可包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时可实现如上述任意一种多控制器的数据备份方法的步骤。
81.如图6所示,为终端设备的组成结构示意图,终端设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
82.在本技术实施例中,处理器10可以为中央处理器(central processing unit,cpu)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
83.处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行异常ip识别方法的实施例中的操作。
84.存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码
包括计算机操作指令,在本技术实施例中,存储器11中至少存储有用于实现以下功能的程序:获取主机端的处理器工作状态;基于处理器工作状态对每个存储控制器的进行任务量评估计算,得到每个存储控制器的任务量;其中,所有存储控制器的数量大于两个,所有控制器之间连接有两个单向传输的公共ntb通道芯片;基于每个存储控制器的任务量和每个存储控制器的处理数据的任务量确定对应的备份数据的任务量;通过公共ntb通道芯片和每个存储控制器的备份数据的任务量对对应的控制器执行备份任务。
85.在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
86.此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
87.通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
88.当然,需要说明的是,图6所示的结构并不构成对本技术实施例中终端设备的限定,在实际应用中终端设备可以包括比图6所示的更多或更少的部件,或者组合某些部件。
89.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种多控制器的数据备份方法的步骤。
90.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
91.对于本技术提供的计算机可读存储介质的介绍请参照上述方法实施例,本技术在此不做赘述。
92.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
93.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
94.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术
领域内所公知的任意其它形式的存储介质中。
95.以上对本技术所提供的一种多控制器的数据备份方法、数据备份装置、终端设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献