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

数据写镜像系统、方法、装置、电子设备及存储介质与流程

2022-02-22 08:25:10 来源:中国专利 TAG:


1.本发明涉及数据处理领域,尤其涉及一种数据写镜像系统、方法、装置、电子设备及存储介质。


背景技术:

2.由于存储产品对数据可靠性要求非常高,同时又要兼顾存储性能,因此,在数据写入硬盘之前,需要先在内存中缓存,系统空闲或者缓存数据达到一定水位,再通过cpu单独的线程将缓存数据写入硬盘。但是,缓存中的数据是不安全的,当系统掉电或者控制器突然故障,必须有能力将缓存中的数据刷写到硬盘中,系统掉电时,可以采用bbu电池给系统供电保障缓存数据安全的写到硬盘,但是当控制器突然故障时,在目前的存储系统中,通常采用双写技术来保障控制器缓存数据不丢失,即本控的写数据除了在本地缓存中保留一份副本,还需要同时在其它单控或多控中备份,以保证本控出现故障使,其它控制器可以将本控未落盘的数据写入到硬盘中。
3.然而,传统基于本地内存的存储架构写镜像存在很多不足,以单框四控(即一个机箱包含四个控制器)为例如图1所示,每个控制器有自己的本地内存,控制器之间通过pcie/cxl总线互联,本控的写数据在本地保留一份副本,同时通过pcie/cxl互联总线同步给其它单控或多控备份。备份的方式有多种,其中比较典型的有两副本循环镜像和四副本全镜像,首先两副本循环镜像如图2所示,其原理是:控制器1缓存中除了本控的副本,同时还有控制器2的副本,控制器2缓存中除了本控的副本,同时还有控制器3的副本,控制器3缓存中除了本控的副本,同时还有控制器4的副本,控制器4缓存中除了本控的副本,同时还有控制器1的副本。这样每个控制器数据都在其它控制器保留了一份副本,当某个控制器故障了,可以将它另一个副本写到硬盘,但是,这样的两副本循环镜像最大的缺陷就是同一时间只能允许一个控制器故障,如果是两个或两个以上控制器故障,将会导致数据丢失。
4.另一种四副本全镜像如果3所示,每个控制器的缓存中除了本控副本,同时还有其它三个控制器的副本。四副本全镜像方式虽然解决了控制器同时坏1/2/3个的问题,但是全镜像要将相同副本同时保存四份,需占用较大的内存空间和总线带宽。因此,如何实现写缓存数据稳定性的同时节约内存空间资源成为亟待解决的问题。


技术实现要素:

5.鉴于此,为解决上述技术问题或部分技术问题,本发明提供一种数据写镜像系统、方法、装置、电子设备及存储介质。
6.第一方面,本发明提供一种数据写镜像系统,包括:至少两个内存扩展卡、多个控制器、多个控制器cpu,其中,所述内存扩展卡设置于io槽位;每个控制器上设置有一个控制器cpu,所述控制器的数量与所述控制器cpu的数量相同;
所述多个控制器分别与所述至少两个内存扩展卡连接;将每个内存扩展卡的内存空间按照控制器数量划分,为每个控制器划分对应的内存空间。
7.可选的,所述控制器用于将目标数据同时写入多个内存扩展卡的对应内存空间中;在所述内存扩展卡中任一内存空间占用量达到占用量阈值时,该内存空间对应的控制器将内存空间中的数据存储到目标硬盘。
8.可选的,所述控制器cpu用于访问对应控制器的内存空间和对应内存扩展卡中对应的内存区域。
9.第二方面,本发明提供一种数据写镜像方法,包括:获取目标数据,其中,所述目标数据携带有目标存储控制器的标识信息;基于所述标识信息,将所述目标数据存储到全部内存扩展卡中所述目标存储控制器对应的内存空间。
10.在一个可能的实施方式中,所述方法还包括:若第一控制器出现故障,则向第二控制器发送故障消息,以使所述第二控制器访问内存扩展卡中所述第一控制器对应的内存空间中的目标数据,将所述目标数据存储到目标硬盘中。
11.在一个可能的实施方式中,所述方法还包括:在所述内存空间占用量达到占用量阈值时,将所述内存空间中的全部数据存储到目标硬盘。
12.第三方面,本发明提供一种数据写镜像装置,其特征在于,包括:获取模块,用于获取目标数据,其中,所述目标数据携带有目标存储控制器的标识信息;存储模块,用于基于所述标识信息,将所述目标数据存储到全部内存扩展卡中所述目标存储控制器对应的内存空间。
13.在一个可能的实施方式中,所述装置还包括:故障处理模块,用于若第一控制器出现故障,则向第二控制器发送故障消息,以使所述第二控制器访问内存扩展卡中所述第一控制器对应的内存空间中的目标数据,将所述目标数据存储到目标硬盘中。
14.第四方面,本发明提供一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的数据写镜像程序,以实现上述第二方面中所述的数据写镜像方法。
15.第五方面,本发明提供一种存储介质,包括:所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第二方面中所述的数据写镜像方法。
16.本发明提供的数据写镜像系统,包括至少两个内存扩展卡、多个控制器、多个控制器cpu,其中,所述内存扩展卡设置于io槽位;每个控制器上设置有一个控制器cpu,所述控制器的数量与所述控制器cpu的数量相同;所述多个控制器分别与所述至少两个内存扩展卡连接;将每个内存扩展卡的内存空间按照控制器数量划分,为每个控制器划分对应的内存空间,相比于现有技术中的两副本循环镜像系统同一时间只能允许一个控制器故障,如果是两个或两个以上控制器故障,将会导致数据丢失的情况和四副本全镜像要将相同副本
同时保存四份占用较大的内存空间和总线带宽的情况,由本系统,可以实现写缓存数据稳定性的同时节约内存空间资源。
17.本发明提供的数据写镜像方案,通过获取目标数据,其中,所述目标数据携带有目标存储控制器的标识信息;基于所述标识信息,将所述目标数据存储到全部内存扩展卡中所述目标存储控制器对应的内存空间;若第一控制器出现故障,则向第二控制器发送故障消息,以使所述第二控制器访问内存扩展卡中所述第一控制器对应的内存空间中的目标数据,将所述目标数据存储到目标硬盘中;相比于现有技术中的两副本循环镜像系统同一时间只能允许一个控制器故障,如果是两个或两个以上控制器故障,将会导致数据丢失的情况和四副本全镜像要将相同副本同时保存四份占用较大的内存空间和总线带宽的情况,由本方案,可以实现写缓存数据稳定性的同时节约内存空间资源。
附图说明
18.图1为单框四控镜像架构示意图;图2为两副本循环镜像示意图;图3为四副本全镜像示意图;图4为本发明的数据写镜像系统架构示意图;图5为本发明的至少两张内存扩展卡区域划分示意图;图6为本发明的一种数据写镜像方法的流程示意图;图7为本发明的一种数据写镜像装置的结构示意图;图8为本发明的一种电子设备的结构示意图;图9为不同控制器同时故障场景示意图。
具体实施方式
19.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
21.图4为本发明的数据写镜像系统架构示意图,如图4所示,本发明的数据写镜像系统包括:至少两个内存扩展卡、多个控制器、多个控制器cpu;图中以两个内存扩展卡、四个控制器、四个控制器cpu为例,利用cxl2.0协议技术,将内存扩展卡独立出cpu的本地内存槽位,放置于io槽位上,由于每个内存扩展卡上面的存储单元支持cxl2.0接口协议,并通过cxl2.0的switch交换机可以与四个控制器同时连接,实现四个控制器对两张内存扩展卡均可以访问,本实施例中,将两张内存扩展卡的内存空间平均分为四个区域,分别分配给四个控制器,四个控制器将该内存区域与本地内存区域统一编址。
22.进一步的,每个控制器上设置有一个控制器cpu,控制器的数量与控制器cpu的数量相同;使每个控制器cpu既可以访问dimm槽位上的内存空间,又可以访问io槽位上内存扩展卡对应的内存区域,实现了全局内存空间。
23.进一步的,每个控制器的写镜像数据同时写到两张内存扩展卡的对应区域中,如图5所示,其中,写镜像数据包括元数据和用户数据等。在内存扩展卡中任一内存空间占用量达到占用量阈值(例如,80%)时,该内存空间对应的控制器将内存空间中的数据存储到目标硬盘,确保内存区域不会溢出。
24.本发明实施例提供的数据写镜像系统,包括至少两个内存扩展卡、多个控制器、多个控制器cpu,其中,所述内存扩展卡设置于io槽位;每个控制器上设置有一个控制器cpu,所述控制器的数量与所述控制器cpu的数量相同;所述多个控制器分别与所述至少两个内存扩展卡连接;将每个内存扩展卡的内存空间按照控制器数量划分,为每个控制器划分对应的内存空间,相比于现有技术中的两副本循环镜像系统同一时间只能允许一个控制器故障,如果是两个或两个以上控制器故障,将会导致数据丢失的情况和四副本全镜像要将相同副本同时保存四份占用较大的内存空间和总线带宽的情况,由本系统,可以实现写缓存数据稳定性的同时节约内存空间资源。
25.图6为本发明的一种数据写镜像方法的流程示意图,如图6所示,该方法具体包括:s61、获取目标数据,其中,所述目标数据携带有目标存储控制器的标识信息。
26.s62、基于所述标识信息,将所述目标数据存储到全部内存扩展卡中所述目标存储控制器对应的内存空间。
27.以下对s61~s62进行统一说明:数据写镜像系统中的一个或多个控制器获取目标数据,其中,目标数据携带有目标存储控制器的标识信息,标识信息可以是控制器的名称、编号等信息,控制器基于标识信息确定目标存储控制器对应的两张内存扩展卡的对应内存空间,将目标数据同时写到两张内存扩展卡的对应内存空间中。
28.s63、若第一控制器出现故障,则向第二控制器发送故障消息,以使所述第二控制器访问内存扩展卡中所述第一控制器对应的内存空间中的目标数据,将所述目标数据存储到目标硬盘中。
29.本实施例中,本发明的数据写镜像系统支持控制器四坏三,包括三控同时故障的场景,可靠性更高,如图9所示,当控制器1故障,对应内存区域由控制器2接管并把内存数据安全刷写到硬盘中;当控制器1和2同时故障,对应内存区域由控制器3接管并把内存数据安全刷写到硬盘中;当控制器1、2和3同时故障,对应内存区域由控制器4接管并把内存数据安全刷写到硬盘中。同理,控制器4故障,对应内存区域由控制器1接管并把内存数据安全刷写到硬盘中,依此类推,前面控制器故障,由后面紧挨着的控制器接管对应内存区域,最极限的场景可以保障控制器同时故障四个而不丢数据,极大提升系统可靠性。
30.本发明还可以有效节约内存空间,以一框四控为例,假如每控所需缓存空间大小相同,下表1呈现两副本循环镜像、四副本全镜像和基于全局内存的写镜像对内存空间的占用情况。镜像方案内存空间占用两副本循环镜像8四副本全镜像16基于全局内存的写镜像8
31.表1
从表1中可以看出,四副本全镜像在相同情况下需要16个内存区域,两副本循环镜像和基于全局内存的写镜像最优,只需要个8内存区域,因此,基于全局内存的写镜像系统不仅有效提升数据可靠性,系统稳定性,同时还节约内存空间资源。
32.s64、在所述内存空间占用量达到占用量阈值时,将所述内存空间中的全部数据存储到目标硬盘。
33.本发明实施例中,在控制器将目标数据同时写到两张内存扩展卡的对应内存空间中时,若内存卡中对应的内存空间的占用量达到占用量阈值(例如,80%)时,将内存空间的全部数据存储到目标硬盘,确保内存区域不会溢出。
34.本发明实施例提供的数据写镜像方法,通过获取目标数据,其中,所述目标数据携带有目标存储控制器的标识信息;基于所述标识信息,将所述目标数据存储到全部内存扩展卡中所述目标存储控制器对应的内存空间;若第一控制器出现故障,则向第二控制器发送故障消息,以使所述第二控制器访问内存扩展卡中所述第一控制器对应的内存空间中的目标数据,将所述目标数据存储到目标硬盘中;相比于现有技术中的两副本循环镜像系统同一时间只能允许一个控制器故障,如果是两个或两个以上控制器故障,将会导致数据丢失的情况和四副本全镜像要将相同副本同时保存四份占用较大的内存空间和总线带宽的情况,由本方法,可以实现写缓存数据稳定性的同时节约内存空间资源。
35.图7为本发明的一种数据写镜像装置的结构示意图,具体包括:获取模块701,用于获取目标数据,其中,所述目标数据携带有目标存储控制器的标识信息;存储模块702,用于基于所述标识信息,将所述目标数据存储到全部内存扩展卡中所述目标存储控制器对应的内存空间。
36.故障处理模块703,用于若第一控制器出现故障,则向第二控制器发送故障消息,以使所述第二控制器访问内存扩展卡中所述第一控制器对应的内存空间中的目标数据,将所述目标数据存储到目标硬盘中。
37.在一个可能的实施方式中,所述存储模块702,具体用于在所述内存空间占用量达到占用量阈值时,将所述内存空间中的全部数据存储到目标硬盘。
38.本实施例提供的数据写镜像装置可以是如图7中所示的数据写镜像装置,可执行如图6中数据写镜像方法的所有步骤,进而实现图6所示数据写镜像方法的技术效果,具体请参照图6相关描述,为简洁描述,在此不作赘述。
39.图8为本发明实施例提供的一种电子设备的结构示意图,图8所示的电子设备800包括:至少一个处理器801、存储器802、至少一个网络接口804和其他用户接口803。电子设备800中的各个组件通过总线系统805耦合在一起。可理解,总线系统805用于实现这些组件之间的连接通信。总线系统805除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统805。
40.其中,用户接口803可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
41.可以理解,本发明实施例中的存储器802可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器 (programmable rom,prom)、可擦除可编程只读存
specific integrated circuits,asic)、数字信号处理器(digital signal processing,dsp)、数字信号处理设备(dspdevice,dspd)、可编程逻辑设备(programmable logic device,pld)、现场可编程门阵列(field-programmable gate array,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本技术所述功能的其它电子单元或其组合中。
49.对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
50.本实施例提供的电子设备可以是如图8中所示的电子设备,可执行如图6中数据写镜像方法的所有步骤,进而实现图6所示数据写镜像方法的技术效果,具体请参照图6相关描述,为简洁描述,在此不作赘述。
51.本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
52.当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在电子设备侧执行的数据写镜像方法。
53.所述处理器用于执行存储器中存储的数据写镜像程序,以实现以下在电子设备侧执行的数据写镜像方法的步骤:获取目标数据;基于所述标识信息,将所述目标数据存储到全部内存扩展卡中所述目标存储控制器对应的内存空间。
54.在一个可能的实施方式中,若第一控制器出现故障,则向第二控制器发送故障消息,以使所述第二控制器访问内存扩展卡中所述第一控制器对应的内存空间中的目标数据,将所述目标数据存储到目标硬盘中。
55.在一个可能的实施方式中,在所述内存空间占用量达到占用量阈值时,将所述内存空间中的全部数据存储到目标硬盘。
56.专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
57.结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
58.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献