CN115454997B - 位图管理方法、装置、计算机设备和存储介质 - Google Patents
位图管理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115454997B CN115454997B CN202210980359.4A CN202210980359A CN115454997B CN 115454997 B CN115454997 B CN 115454997B CN 202210980359 A CN202210980359 A CN 202210980359A CN 115454997 B CN115454997 B CN 115454997B
- Authority
- CN
- China
- Prior art keywords
- bitmap
- storage node
- primary
- space
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000013507 mapping Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 25
- 238000001514 detection method Methods 0.000 claims description 14
- 230000008521 reorganization Effects 0.000 claims description 13
- 238000011084 recovery Methods 0.000 claims description 7
- 230000010354 integration Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种位图管理方法、装置、计算机设备和存储介质。所述方法包括:将待存储数据进行拆分,得到至少一个数据域;将数据域进行整合,得到整体位图;配置级联位图,其中,级联位图包括一级位图和二级位图,一级位图用于表示数据状态,二级位图用于存储实际数据;将整体位图进行拆分并分别分配至相应的存储节点,得到分配后的二级位图;根据分配后的二级位图对一级位图进行映射,获得映射后的一级位图,以使映射后的一级位图表示分配后的二级位图的数据状态。采用本方法能够使位图空间灵活利用以提高位图空间的利用率。
Description
技术领域
本申请涉及存储技术领域,特别是涉及一种位图管理方法、装置、计算机设备和存储介质。
背景技术
在存储技术领域中,尤其是数据库技术方面,涉及到双向镜像、循环镜像等技术,其中,循环镜像指的是在面对多个数据库时,对其中任一数据库的修改都会将相关数据同步镜像到其它数据库中。
目前,在面对大规模数据时,可以采用位图来表示数据存在或不存在的状态,但是现有的方案为,用于存储数据的节点会平均分配整个存储卷的位图,进而导致节点中实际有效位图只占整个位图的较少部分,造成节点中位图空间的浪费,使得位图空间利用率低下。
发明内容
基于此,提供一种位图管理方法、装置、计算机设备和存储介质,以改善现有技术中因位图空间浪费造成位图空间使用率低下的问题。
一方面,提供一种位图管理方法,所述方法包括:
将待存储数据进行拆分,得到至少一个数据域;
将所述数据域进行整合,得到整体位图;
配置级联位图,其中,所述级联位图包括一级位图和二级位图,所述一级位图用于表示数据状态,所述二级位图用于存储实际数据;
将所述整体位图进行拆分并分别分配至相应的存储节点,得到分配后的所述二级位图;
根据分配后的所述二级位图对所述一级位图进行映射,获得映射后的一级位图,以使所述映射后的一级位图表示所述分配后的二级位图的数据状态。
在其中一个实施例中,还包括:对所述存储节点中的位图空间进行位图扩充,获得扩充后的存储节点的位图空间,其中,所述扩充后的存储节点的位图空间用于存储所述二级位图;
根据所述二级位图对相应的所述一级位图进行更新,以获得更新后的一级位图。
在其中一个实施例中,还包括:获取第一存储节点,其中,所述第一存储节点为未分配二级位图的存储节点;
从第二存储节点中获取二级位图并分配至所述第一存储节点,其中,所述第二存储节点为已分配二级位图的存储节点,以释放所述第二存储节点的位图空间;
根据所述第一存储节点中的二级位图,对所述第一存储节点中的一级位图进行更新。
在其中一个实施例中,还包括:对各个所述存储节点进行故障检测,判断所述存储节点是否发生故障;
若所述存储节点发生故障,则对各个所述存储节点进行故障重组,其中,所述故障重组包括对所述未发生故障的存储节点的所述位图空间进行位图扩充,以使所述未发生故障的存储节点接收所述发生故障的存储节点的所述二级位图;
将接收后的所述二级位图进行位图同步,并对相应的所述一级位图进行更新。
在其中一个实施例中,还包括:对所述发生故障的存储节点进行恢复检测;
若所述发生故障的存储节点恢复正常,对各个所述存储节点进行恢复重组,其中,所述恢复重组包括对恢复后的存储节点分配所述位图空间,根据所述未发生故障的存储节点中的二级位图进行位图同步,并将对应的所述一级位图进行更新;
释放所述未发生故障的存储节点中对应的所述位图空间。
在其中一个实施例中,还包括:对所述存储节点的位图空间设置预警阈值,获取所述位图空间的使用率,当所述使用率超过所述预警阈值时,则进行警告,以保留用于当所述存储节点发生故障时进行位图扩充的备用位图空间。
在其中一个实施例中,还包括:获取所述存储节点的所述位图空间的使用量和剩余量,根据所述使用量和所述剩余量计算所述使用率,当所述使用率超过所述预警阈值时,则进行警告;
获取所述位图空间分配时的需求量,将所述需求量和所述剩余量进行对比,以选择所述剩余量大于所述需求量的所述存储节点作为用于存储所述二级位图的目标存储节点。
另一方面,提供了一种位图管理装置,所述装置包括:
拆分模块,用于将待存储数据进行拆分,得到至少一个数据域;
整合模块,用于将所述数据域进行整合,得到整体位图;
配置模块,用于配置级联位图,其中,所述级联位图包括一级位图和二级位图,所述一级位图用于表示数据状态,所述二级位图用于存储实际数据;
分配模块,用于将所述整体位图进行拆分并分别分配至相应的存储节点,得到分配后的所述二级位图;
映射模块,用于根据分配后的所述二级位图对所述一级位图进行映射,获得映射后的一级位图,以使所述映射后的一级位图表示所述分配后的二级位图的数据状态。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
将待存储数据进行拆分,得到至少一个数据域;
将所述数据域进行整合,得到整体位图;
配置级联位图,其中,所述级联位图包括一级位图和二级位图,所述一级位图用于表示数据状态,所述二级位图用于存储实际数据;
将所述整体位图进行拆分并分别分配至相应的存储节点,得到分配后的所述二级位图;
根据分配后的所述二级位图对所述一级位图进行映射,获得映射后的一级位图,以使所述映射后的一级位图表示所述分配后的二级位图的数据状态。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
将待存储数据进行拆分,得到至少一个数据域;
将所述数据域进行整合,得到整体位图;
配置级联位图,其中,所述级联位图包括一级位图和二级位图,所述一级位图用于表示数据状态,所述二级位图用于存储实际数据;
将所述整体位图进行拆分并分别分配至相应的存储节点,得到分配后的所述二级位图;
根据分配后的所述二级位图对所述一级位图进行映射,获得映射后的一级位图,以使所述映射后的一级位图表示所述分配后的二级位图的数据状态。
上述位图管理方法、装置、计算机设备和存储介质,通过将待存储数据进行拆分,得到至少一个数据域;再将所述数据域进行整合,得到整体位图,使待存储的数据按照位图结构进行存储;配置级联位图,将所述整体位图进行拆分并分别分配至相应的存储节点,得到分配后的所述二级位图,以使各个存储节点将二级位图进行分别存储;再根据分配后的所述二级位图对所述一级位图进行映射,获得映射后的一级位图,以使所述映射后的一级位图表示所述分配后的二级位图的数据状态。通过上述位图管理方法,在分配位图空间来存储二级位图时,使得位图空间紧凑以减少位图空间的浪费,并通过一级位图反映二级位图的数据状态,以根据数据状态对位图空间进行灵活利用,提高位图空间的利用率。
附图说明
图1为一个实施例中位图管理方法的流程示意图;
图2为一个实施例中数据域获取过程的示意图;
图3为一个实施例中整体位图获取过程的示意图;
图4为一个实施例中位图分配过程的示意图;
图5为一个实施例中存储节点发生故障时的处理过程示意图;
图6为一个实施例中位图管理装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,附图中所示的流程图仅为示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
下面对本申请实施例所提供的位图管理方法进行说明。
在一个示例性的实施例中,如图1所示,提供了一种位图管理方法,该位图管理方法可以由计算机设备具体执行,该计算机设备与存储节点可以为同一设备,也可以为不同设备。应理解的是,该方法也可以由其它设备具体执行,本实施例不对该方法所适用的执行主体进行限制。
以该方法结合循环镜像的场景为例进行说明,包括以下步骤:
步骤101,将待存储数据进行拆分,得到至少一个数据域。
其中,数据域(domain)用于存储数据元素,可以是一组具有相同数据类型的值的集合。
具体地,将存储卷中的待存储数据按照数据块的形式进行拆分,得到至少一个数据块,再将数据块分配到对应的数据域中进行存储,得到至少一个数据域。
示例性地,以四控循环镜像为例,可参考图2,为数据域的获取过程示意图,待存储数据可以为虚拟磁盘中的数据,将虚拟磁盘vdisk1中的数据按照数据块的格式进行拆分,并分配到四个数据域(domain)中,得到四个数据域domain0、domain1、domain2、domain3。
步骤102,将所述数据域进行整合,得到整体位图。
具体地,可参考图3,为整体位图的获取过程示意图,其中,可以通过数组的格式来整合数据域以得到对应的整体位图。
步骤103,配置级联位图,其中,所述级联位图包括一级位图和二级位图,所述一级位图用于表示数据状态,所述二级位图用于存储实际数据。
需要说明的是,配置级联位图的方法,可以是先创建空位图,并将数据存储至空位图,也可以是先获取到相关数据,根据相关数据对应地创建位图,并未对配置级联位图的实施过程的顺序做出限定。
其中,一级位图可以是布尔型(bool)数组,即数组中的每一位数据取值只能为0或1,其中,0表示对应的位图空间中的数据为无效状态,无效状态指的可以是无效数据或其它数据,还可以是空数据;1表示对应的位图空间中的数据为有效状态。二级位图则是用于存储具体的实际数据,其位图大小是根据运行环境自适应调整的。
进一步地说明,通过一级位图和二级位图的级联映射关系,即可实现用一级位图表示二级位图中所存储数据的数据状态,进而反映位图空间的状况。
步骤104,将所述整体位图进行拆分并分别分配至相应的存储节点,得到分配后的所述二级位图。
示例性地,以四控循环镜像为例,可参考图4,为位图分配过程的示意图。
需要说明的是,基于循环镜像技术,对于多个数据库而言,对其中任一个数据库的修改,都要同时镜像到其它的数据库里。即在位图空间分配数据(如二级位图)的过程中,每个存储节点中的部分数据都会在除其本身外的另一个或多个存储节点中存在数据备份,即镜像,因此,该两个存储节点也可认为是存在镜像关系。
例如,第N个存储节点与第N+1个存储节点存在镜像关系,其中,N为大于等于1的整数,将整体位图拆分后的其中一部分数据按照指针地址分配至第N个存储节点时,则会在第N+1个存储节点中存储这一部分数据的镜像数据,即在正常情况下,第N+1个存储节点中会存在与第N个存储节点中的二级位图相对应的镜像二级位图。通过这种方式,对第N个存储节点的操作不会影响到第N+1个存储节点,既能实现节点间的隔离,还能实现节点的灾备。
需说明的是,若第N+1个节点为最后一个节点,则第N+1个节点的镜像数据应当存储于第1个节点中,以形成循环管理。
具体地,将domain0中的S1、S5、S9、S13对应的分配存储至node0中的p1至p4中,同时其相应的数据备份(即镜像数据)会被存于node1节点中的p1至p4中;此外domain1中的S2、S6、S10、S14也会被分配存储至node1的p5至p8;并且,node2与node3关于位图数据分配的过程也按照上述方法同理可得。
但还需说明的是,在四控循环镜像中,本实施例中的node3已是最后一个存储节点,所以对于node3存储的实际数据S4、S8、S12、S16(对应的地址为p13至p16),其镜像数据应当备份存储于node0中,即图4所示的node1中的p13至p16的位置中。
步骤105,根据分配后的所述二级位图对所述一级位图进行映射,获得映射后的一级位图,以使所述映射后的一级位图表示所述分配后的二级位图的数据状态。
具体地,若位图空间中的二级位图存储的有效数据,则对应的一级位图中的数据应当以“1”表示,若位图空间中的数据为无效数据,则对应的一级位图中的数据应当以“0”表示。
示例性地,以图4中的node0为例进行说明,node0中p1至p4为有效数据,p5至p8为无效数据,p9至p12为无效数据,p13至p16为有效数据,则在将二级位图的数据状态映射到一级位图后,与node0中二级位图所对应的一级位图应该表示为bitmap0[4]={1,0,0,1}。
需要说明的是,在进行映射前,可以对一级位图进行初始化,即映射前的bitmap1[4]={0,0,0,0}。
同理可得,图4中与node1的二级位图所述对应的一级位图bitmap1可表示为bitmap1={1,1,0,0}。
上述位图管理方法中,通过将待存储数据进行拆分,得到至少一个数据域;再将所述数据域进行整合,得到整体位图,使待存储的数据按照位图结构进行存储;配置级联位图,将所述整体位图进行拆分并分别分配至相应的存储节点,得到分配后的所述二级位图,以使各个存储节点将二级位图进行分别存储;再根据分配后的所述二级位图对所述一级位图进行映射,获得映射后的一级位图,以使所述映射后的一级位图表示所述分配后的二级位图的数据状态。通过上述位图管理方法,在分配位图空间来存储二级位图时,使得位图空间紧凑以减少位图空间的浪费,并通过一级位图反映二级位图的数据状态,以根据数据状态对位图空间进行灵活利用,提高位图空间的利用率。
在其中一个实施例中,还包括:
对所述存储节点中的位图空间进行位图扩充,获得扩充后的存储节点的位图空间,其中,所述扩充后的存储节点的位图空间用于存储所述二级位图;
根据所述二级位图对相应的所述一级位图进行更新,以获得更新后的一级位图。
具体地,可以根据存储节点的一级位图所反映的数据状态对该存储节点的位图空间进行扩充,以存储更多的二级位图在该存储节点的位图空间中。
在其中一个实施例中,还包括:
获取第一存储节点,其中,所述第一存储节点为未分配二级位图的存储节点;
从第二存储节点中获取二级位图并分配至所述第一存储节点,其中,所述第二存储节点为已分配二级位图的存储节点,以释放所述第二存储节点的位图空间;
根据所述第一存储节点中的二级位图,对所述第一存储节点中的一级位图进行更新。
其中,第一存储节点可以是新建的、未分配二级位图的存储节点,还可以是以前创建的、未分配二级位图的存储节点。
具体地,对第一存储节点分配位图空间,将第二存储节点中的部分或全部数据(如二级位图)同步分配至第一存储节点的位图空间中,释放第二存储节点中对应的位图空间,并对应更新第一存储节点和第二存储节点的一级位图。
在其中一个实施例中,还包括:
对各个所述存储节点进行故障检测,判断所述存储节点是否发生故障;
若所述存储节点发生故障,则对各个所述存储节点进行故障重组,其中,所述故障重组包括对所述未发生故障的存储节点的所述位图空间进行位图扩充,以使所述未发生故障的存储节点接收所述发生故障的存储节点的所述二级位图;
将接收后的所述二级位图进行位图同步,并对相应的所述一级位图进行更新。
示例性地说明,以四控循环镜像为例,可参考图5,为存储节点发生故障时的处理过程示意图,其中包含四个存储节点node0、node1、node2以及node3。
具体地,对各个存储节点进行检测,当检测到存储节点node3发生故障时,将node1和node2的位图空间进行扩充,以使原本node0中备份的node3的二级位图(p13至p16)能够存储到node2中所扩充的位图空间中;将node2中所存储的实际数据(p9至p12)备份到node1中所扩充的位图空间中,以应对因node3发生故障而造成的node2的镜像二级位图丢失的情况。
在其中一个实施例中,还包括:
对所述发生故障的存储节点进行恢复检测;
若所述发生故障的存储节点恢复正常,对各个所述存储节点进行恢复重组,其中,所述恢复重组包括对恢复后的存储节点分配所述位图空间,根据所述未发生故障的存储节点中的二级位图进行位图同步,并将对应的所述一级位图进行更新;
释放所述未发生故障的存储节点中对应的所述位图空间。
为便于说明,关于存储节点发生故障的处理方式及处理结果可参照上述实施例,在此不再赘述。
当检测到发生故障的node3存储节点恢复正常时,则对恢复后的node3分配位图空间,再根据node1和node2进行位图同步,将node3发生故障时所重组的其它存储节点中的二级位图进行分配至恢复后的node3,在完成同步后将各个存储节点对应的一级位图进行更新,并将node1和node2分出数据后的位图空间进行释放,以使释放后的空间可用于其它用途。
在其中一个实施例中,还包括:
对所述存储节点的位图空间设置预警阈值,获取所述位图空间的使用率,当所述使用率超过所述预警阈值时,则进行警告,以保留用于当所述存储节点发生故障时进行位图扩充的备用位图空间。
示例性地,可以将预警阈值设为90%,当任一存储节点的位图空间使用率超过90%时,则发起警告,以预防在存储节点发生故障时,未留有足够的备用位图空间来扩充并接收故障节点的数据。
在其中一个实施例中,还包括:
获取所述存储节点的所述位图空间的使用量和剩余量,根据所述使用量和所述剩余量计算所述使用率,当所述使用率超过所述预警阈值时,则进行警告;
获取所述位图空间分配时的需求量,将所述需求量和所述剩余量进行对比,以选择所述剩余量大于所述需求量的所述存储节点作为用于存储所述二级位图的目标存储节点。
需要说明的是,在分配位图空间和/或扩充位图空间时,需要对位图空间的需求量和剩余量进行对比,以防止接收数据的存储节点的位图空间出现空间不足的情况,所以应当选择剩余量大于需求量的存储节点作为目标存储节点。
应该理解的是,虽然以上流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种位图管理装置,包括:拆分模块、整合模块、配置模块、分配模块以及映射模块,其中:
拆分模块,用于将待存储数据进行拆分,得到至少一个数据域;
整合模块,用于将所述数据域进行整合,得到整体位图;
配置模块,用于配置级联位图,其中,所述级联位图包括一级位图和二级位图,所述一级位图用于表示数据状态,所述二级位图用于存储实际数据;
分配模块,用于将所述整体位图进行拆分并分别分配至相应的存储节点,得到分配后的所述二级位图;
映射模块,用于根据分配后的所述二级位图对所述一级位图进行映射,获得映射后的一级位图,以使所述映射后的一级位图表示所述分配后的二级位图的数据状态。
在其中一个实施例中,还包括:
扩充模块,用于对所述存储节点中的位图空间进行位图扩充,获得扩充后的存储节点的位图空间,其中,所述扩充后的存储节点的位图空间用于存储所述二级位图;
根据所述二级位图对相应的所述一级位图进行更新,以获得更新后的一级位图。
在其中一个实施例中,还包括:
获取模块,用于获取第一存储节点,其中,所述第一存储节点为未分配二级位图的存储节点;
所述分配模块,还用于从第二存储节点中获取二级位图并分配至所述第一存储节点,其中,所述第二存储节点为已分配二级位图的存储节点,以释放所述第二存储节点的位图空间;
根据所述第一存储节点中的二级位图,对所述第一存储节点中的一级位图进行更新。
在其中一个实施例中,还包括:
检测模块,用于对各个所述存储节点进行故障检测,判断所述存储节点是否发生故障;
重组模块,用于若所述存储节点发生故障,则对各个所述存储节点进行故障重组,其中,所述故障重组包括对所述未发生故障的存储节点的所述位图空间进行位图扩充,以使所述未发生故障的存储节点接收所述发生故障的存储节点的所述二级位图;
将接收后的所述二级位图进行位图同步,并对相应的所述一级位图进行更新。
在其中一个实施例中,还包括:
所述检测模块,还用于对所述发生故障的存储节点进行恢复检测;
所述重组模块,还用于若所述发生故障的存储节点恢复正常,对各个所述存储节点进行恢复重组,其中,所述恢复重组包括对恢复后的存储节点分配所述位图空间,根据所述未发生故障的存储节点中的二级位图进行位图同步,并将对应的所述一级位图进行更新;
释放所述未发生故障的存储节点中对应的所述位图空间。
在其中一个实施例中,还包括:
预警模块,用于对所述存储节点的位图空间设置预警阈值,获取所述位图空间的使用率,当所述使用率超过所述预警阈值时,则进行警告,以保留用于当所述存储节点发生故障时进行位图扩充的备用位图空间。
在其中一个实施例中,还包括:
所述预警模块,还用于获取所述存储节点的所述位图空间的使用量和剩余量,根据所述使用量和所述剩余量计算所述使用率,当所述使用率超过所述预警阈值时,则进行警告;
所述分配模块,还用于获取所述位图空间分配时的需求量,将所述需求量和所述剩余量进行对比,以选择所述剩余量大于所述需求量的所述存储节点作为用于存储所述二级位图的目标存储节点。
关于位图管理装置的具体限定可以参见上文中对于位图管理方法的限定,在此不再赘述。上述位图管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储位图管理过程的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种位图管理方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
将待存储数据进行拆分,得到至少一个数据域;
将所述数据域进行整合,得到整体位图;
配置级联位图,其中,所述级联位图包括一级位图和二级位图,所述一级位图用于表示数据状态,所述二级位图用于存储实际数据;
将所述整体位图进行拆分并分别分配至相应的存储节点,得到分配后的所述二级位图;
根据分配后的所述二级位图对所述一级位图进行映射,获得映射后的一级位图,以使所述映射后的一级位图表示所述分配后的二级位图的数据状态。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对所述存储节点中的位图空间进行位图扩充,获得扩充后的存储节点的位图空间,其中,所述扩充后的存储节点的位图空间用于存储所述二级位图;
根据所述二级位图对相应的所述一级位图进行更新,以获得更新后的一级位图。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取第一存储节点,其中,所述第一存储节点为未分配二级位图的存储节点;
从第二存储节点中获取二级位图并分配至所述第一存储节点,其中,所述第二存储节点为已分配二级位图的存储节点,以释放所述第二存储节点的位图空间;
根据所述第一存储节点中的二级位图,对所述第一存储节点中的一级位图进行更新。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对各个所述存储节点进行故障检测,判断所述存储节点是否发生故障;
若所述存储节点发生故障,则对各个所述存储节点进行故障重组,其中,所述故障重组包括对所述未发生故障的存储节点的所述位图空间进行位图扩充,以使所述未发生故障的存储节点接收所述发生故障的存储节点的所述二级位图;
将接收后的所述二级位图进行位图同步,并对相应的所述一级位图进行更新。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对所述发生故障的存储节点进行恢复检测;
若所述发生故障的存储节点恢复正常,对各个所述存储节点进行恢复重组,其中,所述恢复重组包括对恢复后的存储节点分配所述位图空间,根据所述未发生故障的存储节点中的二级位图进行位图同步,并将对应的所述一级位图进行更新;
释放所述未发生故障的存储节点中对应的所述位图空间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对所述存储节点的位图空间设置预警阈值,获取所述位图空间的使用率,当所述使用率超过所述预警阈值时,则进行警告,以保留用于当所述存储节点发生故障时进行位图扩充的备用位图空间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取所述存储节点的所述位图空间的使用量和剩余量,根据所述使用量和所述剩余量计算所述使用率,当所述使用率超过所述预警阈值时,则进行警告;
获取所述位图空间分配时的需求量,将所述需求量和所述剩余量进行对比,以选择所述剩余量大于所述需求量的所述存储节点作为用于存储所述二级位图的目标存储节点。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
将待存储数据进行拆分,得到至少一个数据域;
将所述数据域进行整合,得到整体位图;
配置级联位图,其中,所述级联位图包括一级位图和二级位图,所述一级位图用于表示数据状态,所述二级位图用于存储实际数据;
将所述整体位图进行拆分并分别分配至相应的存储节点,得到分配后的所述二级位图;
根据分配后的所述二级位图对所述一级位图进行映射,获得映射后的一级位图,以使所述映射后的一级位图表示所述分配后的二级位图的数据状态。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对所述存储节点中的位图空间进行位图扩充,获得扩充后的存储节点的位图空间,其中,所述扩充后的存储节点的位图空间用于存储所述二级位图;
根据所述二级位图对相应的所述一级位图进行更新,以获得更新后的一级位图。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取第一存储节点,其中,所述第一存储节点为未分配二级位图的存储节点;
从第二存储节点中获取二级位图并分配至所述第一存储节点,其中,所述第二存储节点为已分配二级位图的存储节点,以释放所述第二存储节点的位图空间;
根据所述第一存储节点中的二级位图,对所述第一存储节点中的一级位图进行更新。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对各个所述存储节点进行故障检测,判断所述存储节点是否发生故障;
若所述存储节点发生故障,则对各个所述存储节点进行故障重组,其中,所述故障重组包括对所述未发生故障的存储节点的所述位图空间进行位图扩充,以使所述未发生故障的存储节点接收所述发生故障的存储节点的所述二级位图;
将接收后的所述二级位图进行位图同步,并对相应的所述一级位图进行更新。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对所述发生故障的存储节点进行恢复检测;
若所述发生故障的存储节点恢复正常,对各个所述存储节点进行恢复重组,其中,所述恢复重组包括对恢复后的存储节点分配所述位图空间,根据所述未发生故障的存储节点中的二级位图进行位图同步,并将对应的所述一级位图进行更新;
释放所述未发生故障的存储节点中对应的所述位图空间。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对所述存储节点的位图空间设置预警阈值,获取所述位图空间的使用率,当所述使用率超过所述预警阈值时,则进行警告,以保留用于当所述存储节点发生故障时进行位图扩充的备用位图空间。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取所述存储节点的所述位图空间的使用量和剩余量,根据所述使用量和所述剩余量计算所述使用率,当所述使用率超过所述预警阈值时,则进行警告;
获取所述位图空间分配时的需求量,将所述需求量和所述剩余量进行对比,以选择所述剩余量大于所述需求量的所述存储节点作为用于存储所述二级位图的目标存储节点。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种位图管理方法,其特征在于,所述方法包括:
将待存储数据进行拆分,得到至少一个数据域;
将所述数据域进行整合,得到整体位图;
配置级联位图,其中,所述级联位图包括一级位图和二级位图,所述一级位图用于表示数据状态,所述二级位图用于存储实际数据;
将所述整体位图进行拆分并分别分配至相应的存储节点,得到分配后的所述二级位图;
根据分配后的所述二级位图对所述一级位图进行映射,获得映射后的一级位图,以使所述映射后的一级位图表示所述分配后的二级位图的数据状态;
对所述存储节点的位图空间设置预警阈值,获取所述存储节点的所述位图空间的使用量和剩余量,根据所述使用量和所述剩余量计算使用率,当所述使用率超过所述预警阈值时,则进行警告,以保留用于当所述存储节点发生故障时进行位图扩充的备用位图空间;
获取所述位图空间分配时的需求量,将所述需求量和所述剩余量进行对比,以选择所述剩余量大于所述需求量的所述存储节点作为用于存储所述二级位图的目标存储节点;
根据存储节点的一级位图所反映的数据状态对该存储节点的位图空间进行位图扩充,获得扩充后的存储节点的位图空间,其中,所述扩充后的存储节点的位图空间用于存储所述二级位图;根据扩充后的二级位图对相应的所述一级位图进行更新,以获得更新后的一级位图。
2.根据权利要求1所述的位图管理方法,其特征在于,还包括:
获取第一存储节点,其中,所述第一存储节点为未分配二级位图的存储节点;
从第二存储节点中获取所述二级位图并分配至所述第一存储节点,其中,所述第二存储节点为已分配二级位图的存储节点,以释放所述第二存储节点的位图空间;
根据所述第一存储节点中的二级位图,对所述第一存储节点中的一级位图进行更新。
3.根据权利要求1所述的位图管理方法,其特征在于,还包括:
对各个所述存储节点进行故障检测,判断所述存储节点是否发生故障;
若所述存储节点发生故障,则对各个所述存储节点进行故障重组,其中,所述故障重组包括对未发生故障的存储节点的所述位图空间进行位图扩充,以使所述未发生故障的存储节点接收所述发生故障的存储节点的所述二级位图;
将接收后的所述二级位图进行位图同步,并对相应的所述一级位图进行更新。
4.根据权利要求3所述的位图管理方法,其特征在于,还包括:
对所述发生故障的存储节点进行恢复检测;
若所述发生故障的存储节点恢复正常,对各个所述存储节点进行恢复重组,其中,所述恢复重组包括对恢复后的存储节点分配所述位图空间,根据所述未发生故障的存储节点中的二级位图进行位图同步,并将对应的所述一级位图进行更新;
释放所述未发生故障的存储节点中对应的所述位图空间。
5.一种位图管理装置,其特征在于,所述装置包括:
拆分模块,用于将待存储数据进行拆分,得到至少一个数据域;
整合模块,用于将所述数据域进行整合,得到整体位图;
配置模块,用于配置级联位图,其中,所述级联位图包括一级位图和二级位图,所述一级位图用于表示数据状态,所述二级位图用于存储实际数据;
分配模块,用于将所述整体位图进行拆分并分别分配至相应的存储节点,得到分配后的所述二级位图;
映射模块,用于根据分配后的所述二级位图对所述一级位图进行映射,获得映射后的一级位图,以使所述映射后的一级位图表示所述分配后的二级位图的数据状态;
预警模块,用于对所述存储节点的位图空间设置预警阈值,获取所述存储节点的所述位图空间的使用量和剩余量,根据所述使用量和所述剩余量计算使用率,当所述使用率超过所述预警阈值时,则进行警告,以保留用于当所述存储节点发生故障时进行位图扩充的备用位图空间;
所述分配模块,还用于获取所述位图空间分配时的需求量,将所述需求量和所述剩余量进行对比,以选择所述剩余量大于所述需求量的所述存储节点作为用于存储所述二级位图的目标存储节点;
扩充模块,用于根据存储节点的一级位图所反映的数据状态对该存储节点的位图空间进行位图扩充,获得扩充后的存储节点的位图空间,其中,所述扩充后的存储节点的位图空间用于存储所述二级位图;根据扩充后的二级位图对相应的所述一级位图进行更新,以获得更新后的一级位图。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的位图管理方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的位图管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210980359.4A CN115454997B (zh) | 2022-08-16 | 2022-08-16 | 位图管理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210980359.4A CN115454997B (zh) | 2022-08-16 | 2022-08-16 | 位图管理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115454997A CN115454997A (zh) | 2022-12-09 |
CN115454997B true CN115454997B (zh) | 2024-02-02 |
Family
ID=84297820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210980359.4A Active CN115454997B (zh) | 2022-08-16 | 2022-08-16 | 位图管理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115454997B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133970A (zh) * | 2014-08-06 | 2014-11-05 | 浪潮(北京)电子信息产业有限公司 | 一种数据空间管理方法及装置 |
CN108093003A (zh) * | 2016-11-21 | 2018-05-29 | 深圳市优朋普乐传媒发展有限公司 | 一种基于位图的数据交互方法、装置及系统 |
CN110879764A (zh) * | 2019-11-14 | 2020-03-13 | 浪潮(北京)电子信息产业有限公司 | 一种位图设置方法、装置、设备及可读存储介质 |
CN112463046A (zh) * | 2020-11-24 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种动态调整位图空间的方法、系统、终端及存储介质 |
CN114546978A (zh) * | 2022-02-18 | 2022-05-27 | 苏州浪潮智能科技有限公司 | 一种存储集群的位图管理方法、系统、设备以及介质 |
-
2022
- 2022-08-16 CN CN202210980359.4A patent/CN115454997B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133970A (zh) * | 2014-08-06 | 2014-11-05 | 浪潮(北京)电子信息产业有限公司 | 一种数据空间管理方法及装置 |
CN108093003A (zh) * | 2016-11-21 | 2018-05-29 | 深圳市优朋普乐传媒发展有限公司 | 一种基于位图的数据交互方法、装置及系统 |
CN110879764A (zh) * | 2019-11-14 | 2020-03-13 | 浪潮(北京)电子信息产业有限公司 | 一种位图设置方法、装置、设备及可读存储介质 |
CN112463046A (zh) * | 2020-11-24 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种动态调整位图空间的方法、系统、终端及存储介质 |
CN114546978A (zh) * | 2022-02-18 | 2022-05-27 | 苏州浪潮智能科技有限公司 | 一种存储集群的位图管理方法、系统、设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115454997A (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101539873B (zh) | 数据恢复的方法、数据节点及分布式文件系统 | |
CN106776130B (zh) | 一种日志恢复方法、存储装置和存储节点 | |
CN112463448B (zh) | 分布式集群数据库同步方法、装置、设备及存储介质 | |
CN108345617B (zh) | 一种数据同步方法、装置以及电子设备 | |
CN108322533A (zh) | 基于操作日志的分布式集群节点间配置同步方法 | |
CN110213326B (zh) | 元数据节点集群的扩容方法、系统、设备和存储介质 | |
CN110018783B (zh) | 一种数据存储方法、装置及系统 | |
CN114900532B (zh) | 电力数据容灾方法、系统、装置、计算机设备和存储介质 | |
CN114706661A (zh) | 虚拟机的容灾备份方法、系统、计算机设备及存储介质 | |
CN111880956A (zh) | 一种数据同步方法和装置 | |
CN108920301B (zh) | 数据备份方法以及系统、数据恢复方法以及系统 | |
CN114443223B (zh) | 一种裸机磁盘管理方法、装置及介质 | |
CN115826876A (zh) | 数据写入方法、系统、存储硬盘、电子设备及存储介质 | |
CN114138549A (zh) | 基于kubernetes系统的数据备份和恢复方法 | |
CN109344004A (zh) | 一种内存数据库备份管理方法、装置、终端及存储介质 | |
CN115658390A (zh) | 容器容灾方法、系统、装置、设备及计算机可读存储介质 | |
CN115454997B (zh) | 位图管理方法、装置、计算机设备和存储介质 | |
CN111125060A (zh) | 一种数据库管理方法、系统、设备及存储介质 | |
CN113312309B (zh) | 快照链的管理方法、装置和存储介质 | |
CN110716828A (zh) | 一种数据库实时备份方法 | |
CN116467120A (zh) | 主主架构的数据库部署方法、数据库访问方法及装置 | |
CN114564153B (zh) | 一种卷映射解除方法、装置、设备和存储介质 | |
CN116389233A (zh) | 容器云管理平台主备切换系统、方法、装置和计算机设备 | |
CN116048878A (zh) | 业务服务恢复方法、装置、计算机设备 | |
CN111176886A (zh) | 一种数据库模式的切换方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |