CN111198783A - 数据存取方法、装置、系统、设备及存储介质 - Google Patents
数据存取方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN111198783A CN111198783A CN201811365352.1A CN201811365352A CN111198783A CN 111198783 A CN111198783 A CN 111198783A CN 201811365352 A CN201811365352 A CN 201811365352A CN 111198783 A CN111198783 A CN 111198783A
- Authority
- CN
- China
- Prior art keywords
- data storage
- storage service
- data
- state
- service
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据存取方法、装置、系统、设备及存储介质。第一数据存储服务和第二数据存储服务属于不同存储机制,分别存储至少部分相同数据,并用于为多个应用提供数据存取服务,应用响应于写请求,针对第二数据存储服务执行与写请求对应的写操作,并在写操作执行成功的情况下,删除第一数据存储服务中与写请求对应的原数据;在应用针对第一数据存储服务不可写的情况下,记录应用对第一数据存储服务未能执行删除操作的原数据的待删除数据信息,并将多个应用设置为针对第一数据存储服务不可读;在应用针对第一数据存储服务恢复可写的情况下,根据待删除数据信息对第一数据存储服务执行删除操作。由此,可以提高数据存取的稳定性和可靠性。
Description
技术领域
本发明涉及数据灾备领域,特别是涉及一种数据存取方法、装置、系统、设备及存储介质。
背景技术
连接网络(例如连接广域网)所需要的数据主要是运行过程中需要使用的数据,例如节点路由表(RouteMap)、节点信息(Node)和网关配置(GatewayConfig)等。如果提供这些数据的数据存储服务出现故障,就会导致核心链路中断。为了解决这个问题,需要进行数据灾备,以提高系统的可靠性和稳定性。
现有的数据灾备技术往往局限于存储服务自身所提供的主从复制或者副本集,一旦故障后需恢复数据,数据同步步骤繁琐且慢。如果运维存储服务失误(误删数据、网络隔离)就会导致数据完全不可用,给系统带来灾难性的后果。
因此,在进行数据灾备,尤其是对连接网络所需要的数据进行灾备时,如何提高数据灾备系统的可靠性和稳定性,是目前亟需解决的一个问题。
发明内容
本发明的一个目的在于提供一种能够提高数据灾备系统的可靠性和稳定性的数据存取方案。
根据本发明的第一个方面,提供了一种数据存取方法,第一数据存储服务和第二数据存储服务分别存储至少部分相同数据,并用于为一个或多个应用提供数据存取服务,其中,第一数据存储服务与第二数据存储服务属于不同存储机制的数据存储服务,该方法包括:应用响应于写请求,针对第二数据存储服务执行与写请求对应的写操作,并在写操作执行成功的情况下,删除第一数据存储服务中与写请求对应的原数据;在应用针对第一数据存储服务不可写的情况下,记录应用对第一数据存储服务未能执行删除操作的原数据的待删除数据信息,并将多个应用设置为针对第一数据存储服务不可读;以及在应用针对第一数据存储服务恢复可写的情况下,根据待删除数据信息对第一数据存储服务执行删除操作。
可选地,该方法还包括:在应用完成待删除数据信息对应的所有删除操作,且所有应用针对第一数据存储服务均可写的情况下,将多个应用设置为针对第一数据存储服务可读。
可选地,该方法还包括:应用响应于读请求,访问第一数据存储服务;在无法从第一数据存储服务获取读请求所对应的数据的情况下,访问第二数据存储服务。
可选地,应用响应于读请求访问第一数据存储服务的步骤包括:应用响应于读请求,判断是否能够访问第一数据存储服务;在判定能够访问第一数据存储服务的情况下,访问第一数据存储服务。
可选地,在判定不能访问第一数据存储服务的情况下,访问第二数据存储服务。
可选地,该方法还包括:将从第二数据存储服务获取的数据写入到第一数据存储服务。
可选地,将从第二数据存储服务获取的数据写入到第一数据存储服务的步骤包括:判断第一数据存储服务是否允许写入;在判定第一数据存储服务允许写入的情况下,将从第二数据存储服务获取的数据写入到第一数据存储服务。
可选地,针对第二数据存储服务执行与写请求对应的写操作的步骤包括:响应于写请求,判断第二数据存储服务是否允许写入;在判定第二数据存储服务允许写入的情况下,针对第二数据存储服务执行与写请求对应的写操作。
可选地,该方法还包括:响应于针对第一数据存储服务或第二数据存储服务的请求的失败次数超过第一预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第一状态,在第一状态下,仅允许部分请求调用第一数据存储服务或第二数据存储服务;以及响应于针对第一数据存储服务或第二数据存储服务的请求的失败次数超过第二预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第二状态,其中,第一预定阈值小于第二预定阈值,在第二状态下,不允许调用第一数据存储服务或第二数据存储服务。
可选地,该方法还包括:根据针对第一数据存储服务的状态,判断第一数据存储服务是否能够访问,并且/或者,判断第一数据存储服务是否允许写入;以及/或者根据针对第二数据存储服务的状态,判断第二数据存储服务是否能够访问,并且/或者,判断第二数据存储服务是否允许写入。
可选地,该方法还包括:响应于设置第二状态后超过预定时长,将针对第一数据存储服务或第二数据存储服务的状态切换为第一状态。
可选地,该方法还包括:响应于针对第一数据存储服务或第二数据存储服务的调用成功次数超过第三预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第三状态,在第三状态下,允许所有请求调用第一数据存储服务或第二数据存储服务。
可选地,第一数据存储服务和第二数据存储服务用于存储连接网络所需的数据。
可选地,数据包括以下至少一项:路由表;节点信息;网关配置信息。
可选地,对于第一类型数据,基于第一数据存储机制的数据存储服务为第一数据存储服务,基于第二数据存储机制的数据存储服务为第二数据存储服务,对于第二类型数据,基于第一数据存储机制的数据存储服务为第二数据存储服务,基于第二数据存储机制的数据存储服务为第一数据从服务。
根据本发明的第二个方面,还提供了一种数据存取方法,包括:响应于读请求,访问第一数据存储服务;在无法从第一数据存储服务获取读请求所对应的数据的情况下,访问第二数据存储服务,其中,第一数据存储服务与第二数据存储服务属于不同存储机制的数据存储服务;响应于写请求,针对第二数据存储服务执行与写请求对应的写操作,并在写操作执行成功的情况下,删除第一数据存储服务中与写请求对应的原数据。
可选地,该方法还包括:将从第二数据存储服务获取的数据写入到第一数据存储服务。
根据本发明的第三个方面,还提供了一种数据存取方法,包括:响应于读请求,访问第一数据存储服务;在无法从第一数据存储服务获取读请求所对应的数据的情况下,访问第二数据存储服务,其中,第一数据存储服务与第二数据存储服务属于不同存储机制的数据存储服务。
根据本发明的第四个方面,还提供了一种数据存取方法,包括:响应于写请求,针对第二数据存储服务执行与写请求对应的写操作;在写操作执行成功的情况下,删除第一数据存储服务中与写请求对应的原数据,其中,第一数据存储服务与第二数据存储服务属于不同存储机制的数据存储服务。
可选地,该方法还包括:在第一数据存储服务不可写的情况下,记录对第一数据存储服务未能执行删除操作的原数据的待删除数据信息;在第一数据存储服务恢复可写的情况下,根据待删除数据信息对第一数据存储服务执行删除操作。
根据本发明的第五个方面,还提供了一种数据存取方法,包括:响应于针对数据存储服务的请求的失败次数超过第一预定阈值,将针对数据存储服务的状态设置为第一状态,在第一状态下,仅允许部分请求调用数据存储服务;以及响应于针对数据存储服务的请求的失败次数超过第二预定阈值,将针对数据存储服务的状态设置为第二状态,其中,第一预定阈值小于第二预定阈值,在第二状态下,不允许调用数据存储服务。
可选地,该方法还包括:响应于设置第二状态后超过预定时长,将针对数据存储服务的状态切换为第一状态。
可选地,该方法还包括:响应于针对数据存储服务的请求的成功次数超过第三预定阈值,将针对数据存储服务的状态设置为第三状态,在第三状态下,允许所有请求调用数据存储服务。
根据本发明的第六个方面,还提供了一种数据存取系统,包括:第一数据存储服务、第二数据存储服务以及一个或多个应用,其中,第一数据存储服务和第二数据存储服务分别存储至少部分相同数据,并用于为一个或多个应用提供数据存取服务,第一数据存储服务与第二数据存储服务属于不同存储机制的数据存储服务,应用响应于写请求,针对第二数据存储服务执行与写请求对应的写操作,并在写操作执行成功的情况下,删除第一数据存储服务中与写请求对应的原数据,应用在针对第一数据存储服务不可写的情况下,记录应用对第一数据存储服务未能执行删除操作的原数据的待删除数据信息,并由第二数据存储服务将多个应用设置为针对第一数据存储服务不可读,应用在针对第一数据存储服务恢复可写的情况下,根据待删除数据信息对第一数据存储服务执行删除操作。
根据本发明的第七个方面,还提供了一种数据存取装置,包括:写操作执行模块,用于响应于写请求,针对第二数据存储服务执行与写请求对应的写操作;删除模块,用于在写操作执行成功的情况下,删除第一数据存储服务中与写请求对应的原数据,其中,第一数据存储服务与第二数据存储服务属于不同存储机制的数据存储服务;以及记录模块,用于在针对第一数据存储服务不可写的情况下,记录对第一数据存储服务未能执行删除操作的原数据的待删除数据信息,其中,删除模块还用于在针对第一数据存储服务恢复可写的情况下,根据待删除数据信息对第一数据存储服务执行删除操作。
根据本发明的第八个方面,还提供了一种数据存取装置,包括:第一访问模块,用于响应于读请求,访问第一数据存储服务;第二访问模块,用于在无法从第一数据存储服务获取读请求所对应的数据的情况下,访问第二数据存储服务,其中,第一数据存储服务与第二数据存储服务属于不同存储机制的数据存储服务;写操作执行模块,用于响应于写请求,针对第二数据存储服务执行与写请求对应的写操作;删除模块,用于在写操作执行成功的情况下,删除第一数据存储服务中与写请求对应的原数据。
根据本发明的第九个方面,还提供了一种数据存取装置,包括:第一访问模块,用于响应于读请求,访问第一数据存储服务;第二访问模块,用于在无法从第一数据存储服务获取读请求所对应的数据的情况下,访问第二数据存储服务,其中,第一数据存储服务与第二数据存储服务属于不同存储机制的数据存储服务。
根据本发明的第十个方面,还提供了一种数据存取装置,包括:写操作执行模块,用于响应于写请求,针对第二数据存储服务执行与写请求对应的写操作;删除模块,用于在写操作执行成功的情况下,删除第一数据存储服务中与写请求对应的原数据,其中,第一数据存储服务与第二数据存储服务属于不同存储机制的数据存储服务。
根据本发明的第十一个方面,还提供了一种数据存取装置,包括:第一状态设置模块,用于响应于针对数据存储服务的请求的失败次数超过第一预定阈值,将针对数据存储服务的状态设置为第一状态,在第一状态下,仅允许部分请求调用数据存储服务;以及第二状态设置模块,用于响应于针对数据存储服务的请求的失败次数超过第二预定阈值,将针对数据存储服务的状态设置为第二状态,其中,第一预定阈值小于第二预定阈值,在第二状态下,不允许调用数据存储服务。
根据本发明的第十二个方面,还提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如本发明第一个方面至第五个方面中任何一个方面述及的方法。
根据本发明的第十三个方面,还提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如本发明第一个方面至第五个方面中任何一个方面述及的方法。
本发明通过使用非同源的数据存储服务进行数据灾备,使得在任意一个数据存储服务出现问题时,可以通过其他的数据存储服务来获取数据,从而可以保证系统主链路不受影响,提高数据灾备系统的稳定性和可靠性。
附图说明
通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了根据本发明一实施例的断路保护方法的示意性流程图。
图2示出了根据本发明一实施例的数据读取方法的示意性流程图。
图3示出了根据本发明一实施例的数据读取流程示意图。
图4示出了根据本发明一实施例的数据写入方法的示意性流程图。
图5示出了根据本发明一实施例的数据写入流程示意图。
图6示出了根据本发明一实施例的数据存取系统的基础架构示意图。
图7A至图7C示出了应用针对第一数据存储服务的故障发生和恢复流程。
图8是示出了根据本发明一实施例的数据存取装置的结构的示意性方框图。
图9是示出了根据本发明另一实施例的数据存取装置的结构的示意性方框图。
图10是示出了根据本发明另一实施例的数据存取装置的结构的示意性方框图。
图11是示出了根据本发明另一实施例的数据存取装置的结构的示意性方框图。
图12是示出了根据本发明另一实施例的数据存取装置的结构的示意性方框图。
图13是示出了根据本发明一实施例的计算设备的结构的示意性方框图。
具体实施方式
下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
【术语解释】
数据灾备:当发生硬件故障或者网络隔离等其他问题时,导致系统无法访问某一数据存储服务,可以自动将请求切换到另一个数据存储服务。
断路器(CircuitBreaker):当下游服务不可用或者不稳定时,在高并发的情况下,会将错误扩散到所有的上游服务,形成系统雪崩。断路器在频繁失败的情况下,能够自动切断对下游服务的访问,随着下游服务恢复又能自动恢复请求。
双写一致性:数据写入两个或更多个数据存储服务后,能达到数据一致的状态。
Redis:一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
NoSQL:泛指非关系型的数据库。
【方案概述】
为了提高数据灾备系统的可靠性和稳定性,本发明提出,在进行数据灾备时,可以使用非同源的数据存储服务来做双份数据容灾。非同源的数据存储服务是指基于不同数据存储机制的数据存储服务,此处述及的不同数据存储机制可以是指实现数据存储的原理不同,也可以是指提供数据存储服务的产品不同,例如Redis和NoSQL就可以视为非同源的数据存储服务。由此,当其中一个数据存储服务由于异常不可用时,可以调用另一个数据存储服务,从而可以提高数据灾备系统的可靠性和稳定性。
以本发明用于对连接网络(如Link WAN)所需的数据进行灾备为例,需要灾备的数据都是运行时数据,如可以包括节点路由表(RouteMap)、节点信息(Node)和网关配置信息(GatewayConfig)等等。在本发明中,可以基于第一数据存储机制的数据存储服务(例如NoSQL)来提供节点路由表这类数据,可以基于第二数据存储机制的数据存储服务(例如Redis)来提供节点信息和网关配置这类数据。并且,利用非同源的数据存储服务的特性,对于节点路由表这类数据,可以使用基于第二数据存储机制的数据存储服务(例如Redis)来进行数据灾备,此时,基于第一数据存储机制的数据存储服务(例如NoSQL)可以视为主数据存储服务,基于第二数据存储机制的数据存储服务(例如Redis)可以视为从数据存储服务。同样地,对于节点信息和网关配置这类数据,可以使用基于第一数据存储机制的数据存储服务(例如NoSQL)来进行数据灾备,此时,基于第二数据存储机制的数据存储服务(例如Redis)可以视为主数据存储服务,基于第一数据存储机制的数据存储服务(例如NoSQL)可以视为从数据存储服务。
由于在进行数据灾备时使用了非同源的数据存储服务,使得在任意一个数据存储服务出现问题时,可以通过其他的数据存储服务来获取数据,从而可以保证系统主链路不受影响。
在本发明中,非同源的数据存储服务(第一数据存储服务和第二数据存储服务)也可以不区分主从,都作为主存储服务。如此即使任意一个数据存储服务不可用,都可以通过增量数据的日志的方式来恢复,从而可以使得整个灾备系统具有更高的可靠性,但是对于写操作可能带来更高的延时(需要做到双写一致)。
下面主要以区分主数据存储服务和从数据存储服务为例,就本发明涉及的各方面做进一步说明。
【数据读写原理】
对于基于不同数据存储机制实现的数据存储服务,可以根据实际业务区分第一数据存储服务(从数据存储服务)和第二数据存储服务(主数据存储服务)。例如,对于第一类型数据,可以将基于第一数据存储机制的数据存储服务作为第一数据存储服务,将基于第二数据存储机制的数据存储服务作为第二数据存储服务。对于第二类型数据,则可以将基于第一数据存储机制的数据存储服务作为第二数据存储服务,将基于第二数据存储机制的数据存储服务作为第一数据从服务。其中,第一类型数据可以是比较适于第二数据存储机制存储的数据,第二类型数据可以是比较适于第一数据存储机制存储的数据。例如,以第一数据存储机制的数据存储服务是NoSQL,第二数据存储机制的数据存储服务是Redis,本发明用于对连接网络所需的数据进行存储为例,第一类型数据可以是节点信息(Node)和网关配置信息(GatewayConfig),第二类型数据可以是节点路由表(RouteMap)。
第一数据存储服务和第二数据存储服务可以分别存储至少部分相同数据,并用于为一个或多个应用提供数据存取服务。其中,这一个或多个应用可以是位于不同设备上的应用服务(Application Server),也可以是位于同一设备上的应用服务。
对于读请求,先访问第一数据存储服务。如果第一数据存储服务不可访问或者从第一数据存储服务访问不到读请求对应的数据,再去访问第二数据存储服务,如此能够有效降低第二数据存储服务的读压力。并且,从第二数据存储服务获取的数据可以反过来写入第一数据存储服务,如此在后续访问该数据时,可以直接从第一数据存储服务读取,进一步降低第二数据存储服务的读压力。
对于写请求,先操作第二数据存储服务。在针对第二数据存储服务执行的与写请求对应的写操作执行成功后,再去操作第一数据存储服务,删除第一数据存储服务中与写请求对应的原数据。由此可以及时删除第一数据存储服务中的脏数据,避免产生脏读。
关于具体的读过程、写过程可以参见下文描述,此处暂不展开描述。
【断路保护】
本发明提及的数据存储服务(第一数据存储服务和/或第二数据存储服务)可以为一个或多个应用(或应用服务)提供数据存取服务,其中,不同的应用可以位于同一应用,也可以属于不同的应用。为了防止任意一个应用的数据存储服务(特别是下游的数据存储服务)不可用,而造成整个系统的雪崩,本发明提出了一种断路保护方案。
图1示出了根据本发明一实施例的断路保护方法的示意性流程图。其中,图1所示的方法可以由用于访问数据存储服务(第一数据存储服务和/或第二数据存储服务)的应用执行。并且本发明对图1所示的步骤S110和步骤S120之间的执行顺序不做要求,即可以先执行步骤S110,也可以先执行步骤S120,并且步骤S110和步骤S120之间并没有必然的因果关系,即可以根据实际情况仅执行其中一个步骤。
参见图1,在步骤S110,响应于针对数据存储服务的请求的失败次数超过第一预定阈值,将针对数据存储服务的状态设置为第一状态。
在第一状态下,仅允许部分请求(可以是读请求,也可以是写请求)调用数据存储服务。其中,数据存储服务可以是指上文述及的第一数据存储服务,也可以是指上文述及的第二数据存储服务。
步骤S110是根据针对数据存储服务的请求的失败次数来设定第一状态的,另外,也可以根据针对数据存储服务的请求的失败率来设定第一状态。例如,可以响应于针对数据存储服务的请求的失败率超过第一预定阈值,将针对数据存储服务的状态设置为第一状态。其中,第一预定阈值可以根据实际情况设定,此处不再赘述。
在步骤S120,响应于针对数据存储服务的请求的失败次数超过第二预定阈值,将针对数据存储服务的状态设置为第二状态。
第一预定阈值小于第二预定阈值,第一预定阈值和第二预定阈值的具体数值可以根据实际情况设定,此处不再赘述。在第二状态下,不允许调用数据存储服务。作为示例,响应于设置第二状态后超过预定时长,可以将针对数据存储服务的状态切换为第一状态。
步骤S120是根据针对数据存储服务的请求的失败次数来设定第二状态的,另外,也可以根据针对数据存储服务的请求的失败率来设定第二状态。例如,可以响应于针对数据存储服务的请求的失败率超过第二预定阈值,将针对数据存储服务的状态设置为第二状态。
作为示例,响应于针对数据存储服务的请求的成功次数超过第三预定阈值,还可以将针对数据存储服务的状态设置为第三状态,在第三状态下,允许所有请求调用数据存储服务。可选地,还可以根据针对数据存储服务的请求的成功率,将针对数据存储服务的状态设置为第三状态。例如,可以响应于针对数据存储服务的请求的成功率超过第三预定阈值,将针对数据存储服务的状态设置为第三状态。
由此,在应用需要访问数据存储服务时,可以根据针对数据存储服务(第一数据存储服务和/或第二数据存储服务)设置的状态,判断是否能够访问第一数据存储服务。并且/或者,在需要对数据存储服务进行写操作时,可以根据针对数据存储服务(第一数据存储服务和/或第二数据存储服务)设置的状态,判断数据存储服务是否允许写入。
图1所示的方法可以由用于调用数据存储服务的应用执行。在本发明的一个实施例中,可以为调用数据存储服务的应用设置一个断路器,作为通用组件,可以通过断路器执行图1所示的方法。
具体地说,正常情况下,断路器关闭,应用正常调用数据存储服务,即针对数据存储服务的状态为第三状态。当请求失败的次数超过第一预定阈值(如可以是断路器的半开阈值)的情况下,断路器半开,此时仅允许部分请求调用数据存储服务,即将针对数据存储服务的状态设置为第一状态。当请求失败的次数超过第二预定阈值(断路器的全开阈值)的情况下,断路器全开,此时拒绝调用数据存储服务,即将针对数据存储服务的状态设置为第二状态。并且,当数据存储服务可用时,如针对数据存储服务的请求的成功率大于断路器的半开阈值时,可以关闭断路器,正常调用数据存储服务,即针对数据存储服务的状态恢复第三状态。
【数据读过程】
图2是示出了根据本发明另一实施例的数据存取方法的示意性流程图。图2所示的方法可以由能够调用数据存储服务的应用执行。
参见图2,在步骤S210,响应于读请求,访问第一数据存储服务。
在步骤S220,在无法从第一数据存储服务获取读请求所对应的数据的情况下,访问第二数据存储服务。
关于第一数据存储服务和第二数据存储服务,可以参见上文相关描述,此处不再赘述。
响应于读请求,可以首先访问第一数据存储服务(也即从数据存储服务)。在访问第一数据存储服务之前,可以判断是否能够访问第一数据存储服务。如上文结合图1的描述,可以为应用的数据存储服务设置一定的状态(如第一状态、第二状态、第三状态),因此这里可以根据所设置的状态,判断是否能够访问第一数据存储服务。在判定能够访问第一数据存储服务的情况下,可以访问第一数据存储服务。在判定不能访问第一数据存储服务的情况下,可以访问第二数据存储服务。
另外,在访问第一数据存储服务时,如果无法从第一数据存储服务获取读请求所对应的数据,如第一数据存储服务中没有与读请求对应的数据,可以再访问第二数据存储服务。如此,可以减轻第二数据存储服务的读压力。
在从第二数据存储服务获取了与读请求对应的数据的情况下,还可以将获取的数据写入到第一数据存储服务,以使得下次读取时,可以直接从第一数据存储服务获取数据。
在将从第二数据存储服务获取的数据写入到第一数据存储服务时,可以首先判断第一数据存储服务是否允许写入,在判定第一数据存储服务允许写入的情况下,可以直接将从第二数据存储服务获取的数据写入到第一数据存储服务。在第一数据存储服务不允许写入或写入失败的情况下,也不影响读操作。
图3示出了根据本发明一实施例的数据读取流程示意图。
参见图3,响应于读请求,可以首先执行步骤S310,通过断路器判断是否允许访问第一数据存储服务。这里,可以根据断路器的开关状态来判断是否允许访问第一数据存储服务。关于断路器及判断原理可以参见上文结合图1的描述,此处不再赘述。
如果不允许访问第一数据存储服务,将通过访问第二数据存储服务来获取数据。如图3所示,在步骤S320,如果允许访问第一数据存储服务,会尝试访问第一数据存储服务,以判断第一数据存储服务是否可用(也即是否可读)。此处述及的判断步骤与步骤S310不同,步骤S310是基于断路器设定的状态进行判断的,步骤S320则可以通过向第一数据存储服务发出访问请求,根据请求结果来判断第一数据存储服务是否可用。
如果第一数据存储服务不可用,将通过访问第二数据存储服务来获取数据。如果第一数据存储服务可用,执行步骤S330,查找第一数据存储服务中是否存储与读请求对应的数据。如果与读请求对应的数据不存在,将通过访问第二数据存储服务来获取数据。如果存在与读请求对应的数据,可以直接读取,针对读请求的读取流程结束。
在需要访问第二数据存储服务以获取与读请求对应的数据的情况下,可以首先执行步骤340,通过断路器判断第二数据存储服务是否允许访问。这里,可以根据断路器的开关状态来判断是否允许访问第二数据存储服务。关于断路器及判断原理可以参见上文结合图1的描述,此处不再赘述。
如果针对第二数据存储服务的访问不被允许,可以抛出异常,并结束针对读请求的读取流程。如果针对第二数据存储服务的访问被允许,可以尝试访问第二数据存储服务,这里可以执行步骤S350,判断第二数据存储服务是否可用(也即是否可读)。此处述及的判断步骤与步骤S340不同,步骤S340是基于断路器设定的状态进行判断的,步骤S350则可以通过向第二数据存储服务发出访问请求,根据请求结果来判断第二数据存储服务是否可用。
在判定第二数据存储服务可用的情况下,可以从第二数据存储服务获取与读请求对应的数据。并且在从第二数据存储服务获取与读请求对应的数据后,可以将获取的数据尝试写入第一数据存储服务。在对第一数据存储服务执行写操作之前,可以执行步骤S360,判断第一数据存储服务是否允许写入。在判定第一数据存储服务允许写入的情况下,可以将数据写入第一数据存储服务。由此,下次读取该数据时,就可以直接从第二数据存储服务获取,从而可以降低第一数据存储服务的读压力。
【数据写过程】
图4示出了根据本发明一实施例的数据写入方法的示意性流程图。图4所示的方法可以由能够调用数据存储服务的应用执行。
参见图4,在步骤S410,响应于写请求,针对第二数据存储服务执行与写请求对应的写操作。
在步骤S420,在写操作执行成功的情况下,删除第一数据存储服务中与写请求对应的原数据。
如上文所述,第一数据存储服务可以视为从数据存储服务,第二数据存储服务可以视为主数据存储服务。响应于写请求,可以首先针对第二数据存储服务(也即主数据存储服务)执行与写请求对应的写操作,在写操作执行成功的情况下,再删除第一数据存储服务(也即从数据存储服务)中与写请求对应的原数据。其中,此处述及的写请求可以是对已有数据的操作请求,如可以是旧数据的删除或修改请求,关于写请求的具体内容,本发明不做限定。
由此,在每次对第二数据存储服务执行写操作成功后,都删除第一数据存储服务中与写请求对应的原数据(也即脏数据),使得第一数据存储服务中不会出现脏数据,从而可以保证下一次从第一数据存储服务读取数据时可以避免产生脏读。
在针对第二数据存储服务执行与写请求对应的写操作之前,可以首先判断第二数据存储服务是否允许写入,在判定第二数据存储服务允许写入的情况下,可以针对第二数据存储服务执行与写请求对应的写操作。
在写操作执行成功的情况下,可以首先判断第一数据存储服务是否允许写入。在判定第一数据存储服务不允许写入的情况下,可以记录对第一数据存储服务未能执行删除操作的原数据的待删除数据信息,在第一数据存储服务恢复可写的情况下,再根据待删除数据信息对第一数据存储服务执行删除操作。其中,待删除数据信息可以用于指示第一数据存储服务中未能执行删除操作的原数据,以第一数据存储服务通过为键值对(key-value)的方式存储服务为例,待删除数据信息可以是第一数据存储服务中未能执行删除操作的原数据所对应的键(key),如此根据待删除数据信息就可以确定第一数据存储服务中需要删除的原数据。
在未完成待删除数据信息对应的所有删除操作时,可以将针对第一数据存储服务设置为不可读,在完成待删除数据信息对应的所有删除操作后,才将第一数据存储服务恢复为可读状态。由此,可以避免针对第一数据存储服务执行删除操作过程中产生脏读。
图5示出了根据本发明一实施例的数据写入流程示意图。
参见图5,响应于写请求,可以首先执行步骤S510,通过断路器判断是否允许写入第二数据存储服务。这里,可以根据断路器的开关状态来判断是否允许写入第二数据存储服务。关于断路器及判断原理可以参见上文结合图1的描述,此处不再赘述。
如果不允许写入第二数据存储服务,可以抛出异常,并结束针对写请求的写流程。如果允许写入第二数据存储服务,可以尝试对第二数据存储服务执行写操作。这里可以执行步骤S520,判断第二数据存储服务是否可用(也即是否可写)。此处述及的判断步骤与步骤S510不同,步骤S510是基于断路器设定的状态进行判断的,步骤S520则可以通过向第二数据存储服务发出写请求,根据请求结果来判断第二数据存储服务是否可用。
如果第二数据存储服务不可用,可以抛出异常,并结束针对写请求的写流程。如果第二数据存储服务可用,可以针对第二数据存储服务执行与写请求对应的写操作(即上文述及的写操作)。在针对第二数据存储服务执行的写操作执行完毕后,可以执行步骤S530,通过断路器判断是否允许写入第一数据存储服务。这里,可以根据断路器的开关状态来判断是否允许写入第一数据存储服务。关于断路器及判断原理可以参见上文结合图1的描述,此处不再赘述。
如果针对第一数据存储服务不可写,可以执行步骤S550,记录对第一数据存储服务未能执行删除操作的原数据的待删除数据信息,并在第一数据存储服务可写的情况下,再根据待删除数据信息对第一数据存储服务执行删除操作。
如果允许写入第一数据存储服务,可以尝试对第一数据存储服务执行删除操作。这里可以执行步骤S540,判断第一数据存储服务是否可用(也即是否可写)。此处述及的判断步骤与步骤S530不同,步骤S530是基于断路器设定的状态进行判断的,步骤S540则可以通过向第一数据存储服务发出删除操作,根据返回结果来判断第一数据存储服务是否可用。
如果第一数据存储服务不可用,则可以执行步骤S550,记录对第一数据存储服务未能执行删除操作的原数据的待删除数据信息,并在第一数据存储服务可写的情况下,再根据待删除数据信息对第一数据存储服务执行删除操作。
如果第一数据存储服务可用,则可以针对第一数据存储服务执行删除操作,删除第一数据存储服务中与写请求对应的原数据。
【数据存取系统】
图6示出了根据本发明一实施例的数据存取系统的基础架构示意图。如图6所示,数据存取系统包括第一数据存储服务、第二数据存储服务以及一个或多个应用。其中,第一数据存储服务和第二数据存储服务分别存储至少部分相同数据,关于第一数据存储服务和第二数据存储服务,可以参见上文相关描述,此处不再赘述。
第一数据存储服务和第二数据存储服务用于为一个或多个应用提供数据存取服务。其中,这一个或多个应用可以是一个集群内的应用服务器(Application Server),不同的应用服务器可以具有不同的IP地址。例如,应用1对应的IP地址可以是198.160.10.10,应用2对应的IP地址可以是198.160.10.1,应用3对应的IP地址可以是198160.10.12。
响应于读请求、写请求,应用针对第一数据存储服务和第二数据存储服务的执行过程,可以参见上文相关说明,此处不再赘述。
在应用针对第一数据存储服务不可写的情况下,可以记录应用对第一数据存储服务未能执行删除操作的原数据的待删除数据信息,并将多个应用设置为针对第一数据存储服务不可读。可选地,可以由应用在本地记录对第一数据存储服务未能执行删除操作的原数据的待删除数据信息。关于待删除数据信息可以参见上文描述,此处不再赘述。
作为示例,可以由第二数据存储服务将多个应用设置为针对第一数据存储服务不可读。例如,第二数据存储服务可以包括一个状态管理器,可以由状态管理器来收集各个应用针对第一数据存储服务的状态(是否可写)。其中,各个应用可以通过广播的方式周期性地向状态管理器发送其针对第一数据存储服务的写状态。响应于其中一个应用针对第一数据存储服务端的不可写,可以将所有应用设置为针对第一数据存储服务不可读,例如可以通过广播的方式通知所有应用禁止读第一数据存储服务。
在应用针对第一数据存储服务恢复可写的情况下,可以根据记录的待删除数据信息对第一数据存储服务执行删除操作。可以在应用完成待删除数据信息对应的所有删除操作,且所有应用针对所述第一数据存储服务均可写的情况下,将多个应用设置为针对第一数据存储服务可读。
图7A至图7C示出了应用针对第一数据存储服务的故障发生和恢复流程。
参见图7A至图7C,每个应用服务器可以通过同步器向状态管理器发送自身针对第一数据存储服务的写状态。其中,状态管理器可以设置在第二数据存储服务中。如图7A所示,初始情况下,所有的应用服务器均可用,此时,响应于读请求或写请求,各个应用服务器均可以按照现有的数据读、写流程针对第一数据存储服务和第二数据存储服务执行读、写操作。具体处理流程可以参见上文相关说明,此处不再赘述。
如图7B所示,在应用服务器198.160.10.10针对第一数据存储服务不可写或频繁写失败的情况下,可以通过同步器向状态管理器广播其针对第一数据存储服务不可写。在存在针对第一数据存储服务不可写的应用服务器的情况下,状态管理器可以向各个应用服务器广播禁止读第一数据存储服务的通知,以避免产生脏读。
应用服务器198.160.10.10响应于写请求,可以针对第二数据存储服务执行与所述写请求对应的写操作,并在本地记录应用对第一数据存储服务未能执行删除操作的原数据的待删除数据信息,例如可以记录原数据对应的键(即key)。
如图7C所示,当应用服务器198.160.10.10与第一数据存储服务成功建立连接的情况下,可以从本地记录中加载所记录的应用对第一数据存储服务未能执行删除操作的原数据的待删除数据信息,并根据待删除数据信息,对第一数据存储服务执行删除操作,以删除第一数据存储服务中的脏数据。
在应用服务器198.160.10.10完成待删除数据信息对应的所有删除操作后,可以通过同步器将针对第一数据存储服务可写的状态广播给状态管理器。在所有应用服务器针对第一数据存储服务均可写的情况下,状态管理器可以向各个应用服务器广播允许读第一数据存储服务的通知。
【数据存取装置】
图8是示出了根据本发明一实施例的数据存取装置的结构的示意性方框图。其中,数据存取装置的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图7所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面就数据存取装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文结合图1至图7C的描述,这里不再赘述。
参见图8,数据存取装置800包括写操作执行模块810、删除模块820以及记录模块830。
写操作执行模块810用于响应于写请求,针对第二数据存储服务执行与写请求对应的写操作。删除模块820用于在写操作执行成功的情况下,删除第一数据存储服务中与写请求对应的原数据,其中,第一数据存储服务与第二数据存储服务属于不同存储机制的数据存储服务。记录模块830用于在针对第一数据存储服务不可写的情况下,记录对第一数据存储服务未能执行删除操作的原数据的待删除数据信息。其中,删除模块820还用于在数据存取装置800针对第一数据存储服务恢复可写的情况下,根据待删除数据信息对第一数据存储服务执行删除操作。
可选地,数据存取装置800还可以包括广播模块,用于广播数据存取装置800针对第一数据存储服务的写状态,并可以用于接收针对第一数据存储服务是否可读的通知。例如,广播模块可以向第二数据存储服务上报数据存取装置800是否针对第一数据存储服务可写的状态。第二数据存储服务可以在数据存取装置800完成待删除数据信息对应的所有删除操作,且所有数据存取装置800针对第一数据存储服务均可写的情况下,向各个数据存取装置800中的广播模块下发针对第一数据存储服务可读的通知。
作为本发明的一个示例,数据存取装置800还可以包括访问模块。响应于读请求,访问模块可以首先访问第一数据存储服务,在无法从第一数据存储服务获取读请求所对应的数据的情况下,再访问第二数据存储服务。
可选地,数据存取装置800还可以包括判断模块。响应于写请求,判断模块可以判断第二数据存储服务是否允许写入,在判定第二数据存储服务允许写入的情况下,写操作执行模块810针对第二数据存储服务执行与写请求对应的写操作。响应于读请求,判断模块可以判断是否能够访问第一数据存储服务,在判定能够访问第一数据存储服务的情况下,访问模块再访问第一数据存储服务。在判定不能访问第一数据存储服务的情况下,访问模块可以访问第二数据存储服务。
可选地,写操作执行模块810还可以将将从第二数据存储服务获取的数据写入到第一数据存储服务。其中,可以首先由判断模块判断第一数据存储服务是否允许写入,在判定第一数据存储服务允许写入的情况下,写操作执行模块810再将从第二数据存储服务获取的数据写入到第一数据存储服务。
作为本发明的一个示例,数据存取装置800还可以包括第一状态设置模块和第二状态设置模块。第一状态设置模块用于响应于针对第一数据存储服务或第二数据存储服务的请求的失败次数超过第一预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第一状态,在第一状态下,仅允许部分请求调用第一数据存储服务或第二数据存储服务。第二状态设置模块用于响应于针对第一数据存储服务或第二数据存储服务的请求的失败次数超过第二预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第二状态,其中,第一预定阈值小于第二预定阈值,在第二状态下,不允许调用第一数据存储服务或第二数据存储服务。
可选地,数据存取装置800中的判断模块可以根据针对第一数据存储服务的状态,判断第一数据存储服务是否能够访问,并且/或者,判断第一数据存储服务是否允许写入;以及/或者,数据存取装置800中的判断模块可以根据针对第二数据存储服务的状态,判断第二数据存储服务是否能够访问,并且/或者,判断第二数据存储服务是否允许写入。
可选地,数据存取装置800还可以包括切换模块,用于响应于设置第二状态后超过预定时长,将针对第一数据存储服务或第二数据存储服务的状态切换为第一状态。
可选地,数据存取装置800还可以包括第三状态设置模块,用于响应于针对第一数据存储服务或第二数据存储服务的调用成功次数超过第三预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第三状态,在第三状态下,允许所有请求调用第一数据存储服务或第二数据存储服务。
图9是示出了根据本发明另一实施例的数据存取装置的结构的示意性方框图。其中,数据存取装置的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图7所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面就数据存取装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文结合图1至图7C的描述,这里不再赘述。
参见图9,数据存取装置900包括第一访问模块910、第二访问模块920、写操作执行模块930以及删除模块940。
第一访问模块910用于响应于读请求,访问第一数据存储服务。第二访问模块920用于在无法从第一数据存储服务获取读请求所对应的数据的情况下,访问第二数据存储服务,其中,第一数据存储服务与第二数据存储服务属于不同存储机制的数据存储服务。写操作执行模块930用于响应于写请求,针对第二数据存储服务执行与写请求对应的写操作。删除模块940用于在写操作执行成功的情况下,删除第一数据存储服务中与写请求对应的原数据。
作为本发明的一个示例,数据存取装置900还可以包括判断模块。
响应于读请求,判断模块可以判断是否能够访问所述第一数据存储服务;在判定能够访问所述第一数据存储服务的情况下,第一访问模块910访问所述第一数据存储服务。在判定不能访问所述第一数据存储服务的情况下,第二访问模块910访问所述第二数据存储服务。
可选地,写操作执行模块930还可以将从所述第二数据存储服务获取的数据写入到所述第一数据存储服务。其中,可以由判断模块判断所述第一数据存储服务是否允许写入,在判定所述第一数据存储服务允许写入的情况下,由写操作执行模块930将从所述第二数据存储服务获取的数据写入到所述第一数据存储服务。
可选地,响应于写请求,可以由判断模块判断所述第二数据存储服务是否允许写入,在判定所述第二数据存储服务允许写入的情况下,写操作执行模块930针对第二数据存储服务执行与所述写请求对应的写操作。
作为本发明的一个示例,数据存取装置900还可以包括第一状态设置模块和第二状态设置模块。第一状态设置模块用于响应于针对第一数据存储服务或第二数据存储服务的请求的失败次数超过第一预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第一状态,在第一状态下,仅允许部分请求调用第一数据存储服务或第二数据存储服务。第二状态设置模块用于响应于针对第一数据存储服务或第二数据存储服务的请求的失败次数超过第二预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第二状态,其中,第一预定阈值小于第二预定阈值,在第二状态下,不允许调用第一数据存储服务或第二数据存储服务。
可选地,数据存取装置900中的判断模块可以根据针对第一数据存储服务的状态,判断第一数据存储服务是否能够访问,并且/或者,判断第一数据存储服务是否允许写入;以及/或者,数据存取装置900中的判断模块可以根据针对第二数据存储服务的状态,判断第二数据存储服务是否能够访问,并且/或者,判断第二数据存储服务是否允许写入。
可选地,数据存取装置900还可以包括切换模块,用于响应于设置第二状态后超过预定时长,将针对第一数据存储服务或第二数据存储服务的状态切换为第一状态。
可选地,数据存取装置900还可以包括第三状态设置模块,用于响应于针对第一数据存储服务或第二数据存储服务的调用成功次数超过第三预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第三状态,在第三状态下,允许所有请求调用第一数据存储服务或第二数据存储服务。
图10是示出了根据本发明另一实施例的数据存取装置的结构的示意性方框图。其中,数据存取装置的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图7所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面就数据存取装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文结合图1至图7C的描述,这里不再赘述。
参见图10,数据存取装置1000包括第一访问模块1010和第二访问模块1020。第一访问模块1010用于响应于读请求,访问第一数据存储服务。第二访问模块1020用于在无法从第一数据存储服务获取读请求所对应的数据的情况下,访问第二数据存储服务,其中,第一数据存储服务与第二数据存储服务属于不同存储机制的数据存储服务。
作为本发明的一个示例,数据存取装置1000还可以包括判断模块。
响应于读请求,判断模块可以判断是否能够访问所述第一数据存储服务;在判定能够访问所述第一数据存储服务的情况下,第一访问模块1010访问所述第一数据存储服务。在判定不能访问所述第一数据存储服务的情况下,第二访问模块1020访问第二数据存储服务。
作为本发明的另一个示例,数据存取装置1000还可以包括写操作执行模块和删除模块。写操作执行模块用于响应于写请求,针对第二数据存储服务执行与所述写请求对应的写操作。删除模块用于在所述写操作执行成功的情况下,删除第一数据存储服务中与所述写请求对应的原数据,其中,所述第一数据存储服务与所述第二数据存储服务属于不同存储机制的数据存储服务。
作为本发明的一个示例,数据存取装置1000还可以包括第一状态设置模块和第二状态设置模块。第一状态设置模块用于响应于针对第一数据存储服务或第二数据存储服务的请求的失败次数超过第一预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第一状态,在第一状态下,仅允许部分请求调用第一数据存储服务或第二数据存储服务。第二状态设置模块用于响应于针对第一数据存储服务或第二数据存储服务的请求的失败次数超过第二预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第二状态,其中,第一预定阈值小于第二预定阈值,在第二状态下,不允许调用第一数据存储服务或第二数据存储服务。
可选地,数据存取装置1000中的判断模块可以根据针对第一数据存储服务的状态,判断第一数据存储服务是否能够访问,并且/或者,判断第一数据存储服务是否允许写入;以及/或者,数据存取装置1000中的判断模块可以根据针对第二数据存储服务的状态,判断第二数据存储服务是否能够访问,并且/或者,判断第二数据存储服务是否允许写入。
可选地,数据存取装置1000还可以包括切换模块,用于响应于设置第二状态后超过预定时长,将针对第一数据存储服务或第二数据存储服务的状态切换为第一状态。
可选地,数据存取装置1000还可以包括第三状态设置模块,用于响应于针对第一数据存储服务或第二数据存储服务的调用成功次数超过第三预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第三状态,在第三状态下,允许所有请求调用第一数据存储服务或第二数据存储服务。
图11是示出了根据本发明另一实施例的数据存取装置的结构的示意性方框图。其中,数据存取装置的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图7所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面就数据存取装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文结合图1至图7C的描述,这里不再赘述。
参见图11,数据存取装置1100包括写操作执行模块1110和删除模块1120。
写操作执行模块1110用于响应于写请求,针对第二数据存储服务执行与所述写请求对应的写操作。
删除模块1120用于在所述写操作执行成功的情况下,删除第一数据存储服务中与所述写请求对应的原数据,其中,所述第一数据存储服务与所述第二数据存储服务属于不同存储机制的数据存储服务。
作为本发明的一个示例,数据存取装置1100还可以包括判断模块。响应于写请求,可以由判断模块判断所述第二数据存储服务是否允许写入,在判定所述第二数据存储服务允许写入的情况下,写操作执行模块930针对第二数据存储服务执行与所述写请求对应的写操作。
作为本发明的一个示例,数据存取装置1100还可以包括第一状态设置模块和第二状态设置模块。第一状态设置模块用于响应于针对第一数据存储服务或第二数据存储服务的请求的失败次数超过第一预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第一状态,在第一状态下,仅允许部分请求调用第一数据存储服务或第二数据存储服务。第二状态设置模块用于响应于针对第一数据存储服务或第二数据存储服务的请求的失败次数超过第二预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第二状态,其中,第一预定阈值小于第二预定阈值,在第二状态下,不允许调用第一数据存储服务或第二数据存储服务。
可选地,数据存取装置1100中的判断模块可以根据针对第一数据存储服务的状态,判断第一数据存储服务是否能够访问,并且/或者,判断第一数据存储服务是否允许写入;以及/或者,数据存取装置1100中的判断模块可以根据针对第二数据存储服务的状态,判断第二数据存储服务是否能够访问,并且/或者,判断第二数据存储服务是否允许写入。
可选地,数据存取装置1100还可以包括切换模块,用于响应于设置第二状态后超过预定时长,将针对第一数据存储服务或第二数据存储服务的状态切换为第一状态。
可选地,数据存取装置1100还可以包括第三状态设置模块,用于响应于针对第一数据存储服务或第二数据存储服务的调用成功次数超过第三预定阈值,将针对第一数据存储服务或第二数据存储服务的状态设置为第三状态,在第三状态下,允许所有请求调用第一数据存储服务或第二数据存储服务。
图12是示出了根据本发明另一实施例的数据存取装置的结构的示意性方框图。其中,数据存取装置的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图9所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面就数据存取装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文结合图1的描述,这里不再赘述。
参见图12,数据存取装置1200包括第一状态设置模块1210和第二状态设置模块1220。
第一状态设置模块1210用于响应于针对数据存储服务的请求的失败次数超过第一预定阈值,将针对所述数据存储服务的状态设置为第一状态,在所述第一状态下,仅允许部分请求调用所述数据存储服务。
第二状态设置模块1220用于响应于针对所述数据存储服务的请求的失败次数超过第二预定阈值,将针对所述数据存储服务的状态设置为第二状态,其中,所述第一预定阈值小于所述第二预定阈值,在所述第二状态下,不允许调用所述数据存储服务。
作为本发明的一个示例,数据存取装置1200还可以包括切换模块,用于响应于设置第二状态后超过预定时长,将针对数据存储服务的状态切换为第一状态。
作为本发明的领一个示例,数据存取装置1200还可以包括第三状态设置模块,用于响应于针对数据存储服务的请求的成功次数超过第三预定阈值,将针对数据存储服务的状态设置为第三状态,在第三状态下,允许所有请求调用数据存储服务。
【计算设备】
图13示出了根据本发明一实施例可用于实现上述数据存取方法的计算设备的结构示意图。
参见图13,计算设备1300包括存储器1310和处理器1320。
处理器1320可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器1320可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器1320可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
存储器1310可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器1320或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1310可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1310可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器1310上存储有可执行代码,当可执行代码被处理器1320处理时,可以使处理器1320执行上文述及的数据存取方法。
上文中已经参考附图详细描述了根据本发明的数据存取方法、装置、系统及计算设备。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。
Claims (31)
1.一种数据存取方法,其特征在于,第一数据存储服务和第二数据存储服务分别存储至少部分相同数据,并用于为一个或多个应用提供数据存取服务,其中,所述第一数据存储服务与所述第二数据存储服务属于不同存储机制的数据存储服务,该方法包括:
所述应用响应于写请求,针对所述第二数据存储服务执行与所述写请求对应的写操作,并在所述写操作执行成功的情况下,删除所述第一数据存储服务中与所述写请求对应的原数据;
在所述应用针对所述第一数据存储服务不可写的情况下,记录所述应用对所述第一数据存储服务未能执行删除操作的原数据的待删除数据信息,并将所述一个或多个应用设置为针对所述第一数据存储服务不可读;以及
在所述应用针对所述第一数据存储服务恢复可写的情况下,根据所述待删除数据信息对所述第一数据存储服务执行删除操作。
2.根据权利要求1所述的数据存取方法,其特征在于,还包括:
在所述应用完成所述待删除数据信息对应的所有删除操作,且所有应用针对所述第一数据存储服务均可写的情况下,将所述一个或多个应用设置为针对所述第一数据存储服务可读。
3.根据权利要求1所述的数据存取方法,其特征在于,还包括:
所述应用响应于读请求,访问所述第一数据存储服务;
在无法从所述第一数据存储服务获取所述读请求所对应的数据的情况下,访问所述第二数据存储服务。
4.根据权利要求3所述的数据存取方法,其特征在于,所述应用响应于读请求访问第一数据存储服务的步骤包括:
所述应用响应于读请求,判断是否能够访问所述第一数据存储服务;
在判定能够访问所述第一数据存储服务的情况下,访问所述第一数据存储服务。
5.根据权利要求4所述的数据存取方法,其特征在于,
在判定不能访问所述第一数据存储服务的情况下,访问所述第二数据存储服务。
6.根据权利要求3所述的数据存取方法,其特征在于,还包括:
将从所述第二数据存储服务获取的数据写入到所述第一数据存储服务。
7.根据权利要求6所述的数据存取方法,其特征在于,所述将从第二数据存储服务获取的数据写入到所述第一数据存储服务的步骤包括:
判断所述第一数据存储服务是否允许写入;
在判定所述第一数据存储服务允许写入的情况下,将从所述第二数据存储服务获取的数据写入到所述第一数据存储服务。
8.根据权利要求1所述的数据存取方法,其特征在于,所述针对第二数据存储服务执行与所述写请求对应的写操作的步骤包括:
响应于写请求,判断所述第二数据存储服务是否允许写入;
在判定所述第二数据存储服务允许写入的情况下,针对第二数据存储服务执行与所述写请求对应的写操作。
9.根据权利要求1所述的数据存取方法,其特征在于,还包括:
响应于针对所述第一数据存储服务或所述第二数据存储服务的请求的失败次数超过第一预定阈值,将针对所述第一数据存储服务或所述第二数据存储服务的状态设置为第一状态,在所述第一状态下,仅允许部分请求调用所述第一数据存储服务或所述第二数据存储服务;以及
响应于针对所述第一数据存储服务或所述第二数据存储服务的请求的失败次数超过第二预定阈值,将针对所述第一数据存储服务或所述第二数据存储服务的状态设置为第二状态,其中,所述第一预定阈值小于所述第二预定阈值,在所述第二状态下,不允许调用所述第一数据存储服务或所述第二数据存储服务。
10.根据权利要求9所述的数据存取方法,其特征在于,还包括:
根据针对所述第一数据存储服务的状态,判断所述第一数据存储服务是否能够访问,并且/或者,判断所述第一数据存储服务是否允许写入;以及/或者
根据针对所述第二数据存储服务的状态,判断所述第二数据存储服务是否能够访问,并且/或者,判断所述第二数据存储服务是否允许写入。
11.根据权利要求9所述的数据存取方法,其特征在于,还包括:
响应于设置所述第二状态后超过预定时长,将针对所述第一数据存储服务或所述第二数据存储服务的状态切换为所述第一状态。
12.根据权利要求9所述的数据存取方法,其特征在于,还包括:
响应于针对所述第一数据存储服务或所述第二数据存储服务的调用成功次数超过第三预定阈值,将针对所述第一数据存储服务或所述第二数据存储服务的状态设置为第三状态,在所述第三状态下,允许所有请求调用所述第一数据存储服务或所述第二数据存储服务。
13.根据权利要求1至12中任何一项所述的数据存取方法,其特征在于,所述第一数据存储服务和所述第二数据存储服务用于存储连接网络所需的数据。
14.根据权利要求13所述的数据存取方法,其特征在于,所述数据包括以下至少一项:
路由表;
节点信息;
网关配置信息。
15.根据权利要求13所述的数据存取方法,其特征在于,
对于第一类型数据,基于第一数据存储机制的数据存储服务为所述第一数据存储服务,基于第二数据存储机制的数据存储服务为所述第二数据存储服务,
对于第二类型数据,基于第一数据存储机制的数据存储服务为所述第二数据存储服务,基于第二数据存储机制的数据存储服务为所述第一数据从服务。
16.一种数据存取方法,其特征在于,包括:
响应于读请求,访问第一数据存储服务;
在无法从所述第一数据存储服务获取所述读请求所对应的数据的情况下,访问第二数据存储服务,其中,所述第一数据存储服务与所述第二数据存储服务属于不同存储机制的数据存储服务;
响应于写请求,针对所述第二数据存储服务执行与所述写请求对应的写操作,并在所述写操作执行成功的情况下,删除所述第一数据存储服务中与所述写请求对应的原数据。
17.根据权利要求16所述的数据存取方法,其特征在于,还包括:
将从所述第二数据存储服务获取的数据写入到所述第一数据存储服务。
18.一种数据存取方法,其特征在于,包括:
响应于读请求,访问第一数据存储服务;
在无法从所述第一数据存储服务获取所述读请求所对应的数据的情况下,访问第二数据存储服务,其中,所述第一数据存储服务与所述第二数据存储服务属于不同存储机制的数据存储服务。
19.一种数据存取方法,其特征在于,包括:
响应于写请求,针对第二数据存储服务执行与所述写请求对应的写操作;
在所述写操作执行成功的情况下,删除第一数据存储服务中与所述写请求对应的原数据,其中,所述第一数据存储服务与所述第二数据存储服务属于不同存储机制的数据存储服务。
20.根据权利要求19所述的数据存取方法,其特征在于,还包括:
在所述第一数据存储服务不可写的情况下,记录对所述第一数据存储服务未能执行删除操作的原数据的待删除数据信息;
在所述第一数据存储服务恢复可写的情况下,根据所述待删除数据信息对所述第一数据存储服务执行删除操作。
21.一种数据存取方法,其特征在于,包括:
响应于针对数据存储服务的请求的失败次数超过第一预定阈值,将针对所述数据存储服务的状态设置为第一状态,在所述第一状态下,仅允许部分请求调用所述数据存储服务;以及
响应于针对所述数据存储服务的请求的失败次数超过第二预定阈值,将针对所述数据存储服务的状态设置为第二状态,其中,所述第一预定阈值小于所述第二预定阈值,在所述第二状态下,不允许调用所述数据存储服务。
22.根据权利要求21所述的数据存取方法,其特征在于,还包括:
响应于设置所述第二状态后超过预定时长,将针对所述数据存储服务的状态切换为所述第一状态。
23.根据权利要求21所述的数据存取方法,其特征在于,还包括:
响应于针对所述数据存储服务的请求的成功次数超过第三预定阈值,将针对所述数据存储服务的状态设置为第三状态,在所述第三状态下,允许所有请求调用所述数据存储服务。
24.一种数据存取系统,其特征在于,包括:第一数据存储服务、第二数据存储服务以及一个或多个应用,其中,所述第一数据存储服务和所述第二数据存储服务分别存储至少部分相同数据,并用于为所述一个或多个应用提供数据存取服务,所述第一数据存储服务与所述第二数据存储服务属于不同存储机制的数据存储服务,
所述应用响应于写请求,针对所述第二数据存储服务执行与所述写请求对应的写操作,并在所述写操作执行成功的情况下,删除所述第一数据存储服务中与所述写请求对应的原数据,
所述应用在针对所述第一数据存储服务不可写的情况下,记录所述应用对所述第一数据存储服务未能执行删除操作的原数据的待删除数据信息,并由所述第二数据存储服务将所述多个应用设置为针对所述第一数据存储服务不可读,
所述应用在针对所述第一数据存储服务恢复可写的情况下,根据所述待删除数据信息对所述第一数据存储服务执行删除操作。
25.一种数据存取装置,其特征在于,包括:
写操作执行模块,用于响应于写请求,针对第二数据存储服务执行与所述写请求对应的写操作;
删除模块,用于在所述写操作执行成功的情况下,删除第一数据存储服务中与所述写请求对应的原数据,其中,所述第一数据存储服务与所述第二数据存储服务属于不同存储机制的数据存储服务;以及
记录模块,用于在针对所述第一数据存储服务不可写的情况下,记录对所述第一数据存储服务未能执行删除操作的原数据的待删除数据信息,其中,所述删除模块还用于在针对所述第一数据存储服务恢复可写的情况下,根据所述待删除数据信息对所述第一数据存储服务执行删除操作。
26.一种数据存取装置,其特征在于,包括:
第一访问模块,用于响应于读请求,访问第一数据存储服务;
第二访问模块,用于在无法从所述第一数据存储服务获取所述读请求所对应的数据的情况下,访问第二数据存储服务,其中,所述第一数据存储服务与所述第二数据存储服务属于不同存储机制的数据存储服务;
写操作执行模块,用于响应于写请求,针对所述第二数据存储服务执行与所述写请求对应的写操作;
删除模块,用于在所述写操作执行成功的情况下,删除所述第一数据存储服务中与所述写请求对应的原数据。
27.一种数据存取装置,其特征在于,包括:
第一访问模块,用于响应于读请求,访问第一数据存储服务;
第二访问模块,用于在无法从所述第一数据存储服务获取所述读请求所对应的数据的情况下,访问第二数据存储服务,其中,所述第一数据存储服务与所述第二数据存储服务属于不同存储机制的数据存储服务。
28.一种数据存取装置,其特征在于,包括:
写操作执行模块,用于响应于写请求,针对第二数据存储服务执行与所述写请求对应的写操作;
删除模块,用于在所述写操作执行成功的情况下,删除第一数据存储服务中与所述写请求对应的原数据,其中,所述第一数据存储服务与所述第二数据存储服务属于不同存储机制的数据存储服务。
29.一种数据存取装置,其特征在于,包括:
第一状态设置模块,用于响应于针对数据存储服务的请求的失败次数超过第一预定阈值,将针对所述数据存储服务的状态设置为第一状态,在所述第一状态下,仅允许部分请求调用所述数据存储服务;以及
第二状态设置模块,用于响应于针对所述数据存储服务的请求的失败次数超过第二预定阈值,将针对所述数据存储服务的状态设置为第二状态,其中,所述第一预定阈值小于所述第二预定阈值,在所述第二状态下,不允许调用所述数据存储服务。
30.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至23中任何一项所述的方法。
31.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至23中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811365352.1A CN111198783B (zh) | 2018-11-16 | 2018-11-16 | 数据存取方法、装置、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811365352.1A CN111198783B (zh) | 2018-11-16 | 2018-11-16 | 数据存取方法、装置、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111198783A true CN111198783A (zh) | 2020-05-26 |
CN111198783B CN111198783B (zh) | 2023-04-07 |
Family
ID=70746073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811365352.1A Active CN111198783B (zh) | 2018-11-16 | 2018-11-16 | 数据存取方法、装置、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111198783B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097116A1 (en) * | 2003-11-03 | 2005-05-05 | Tran Anh Q. | Method and system for adapting memory-resident database in flexible service logic execution environment |
CN104281506A (zh) * | 2014-07-10 | 2015-01-14 | 中国科学院计算技术研究所 | 一种文件系统的数据维护方法及系统 |
CN105094761A (zh) * | 2014-04-30 | 2015-11-25 | 华为技术有限公司 | 一种数据存储方法和设备 |
CN106126374A (zh) * | 2016-06-22 | 2016-11-16 | 腾讯科技(深圳)有限公司 | 数据写入方法、数据读取方法及装置 |
CN106603692A (zh) * | 2016-12-27 | 2017-04-26 | 中国银联股份有限公司 | 一种分布式存储系统中的数据存储方法及装置 |
CN106657356A (zh) * | 2016-12-29 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种云存储系统的数据写入方法、装置及云存储系统 |
CN107729176A (zh) * | 2017-09-14 | 2018-02-23 | 北京京东尚科信息技术有限公司 | 一种配置文件管理系统的容灾方法及容灾系统 |
CN107807794A (zh) * | 2017-10-31 | 2018-03-16 | 新华三技术有限公司 | 一种数据存储方法和装置 |
CN108776670A (zh) * | 2018-05-11 | 2018-11-09 | 阿里巴巴集团控股有限公司 | 一种异地容灾方法、系统和电子设备 |
-
2018
- 2018-11-16 CN CN201811365352.1A patent/CN111198783B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097116A1 (en) * | 2003-11-03 | 2005-05-05 | Tran Anh Q. | Method and system for adapting memory-resident database in flexible service logic execution environment |
CN105094761A (zh) * | 2014-04-30 | 2015-11-25 | 华为技术有限公司 | 一种数据存储方法和设备 |
CN104281506A (zh) * | 2014-07-10 | 2015-01-14 | 中国科学院计算技术研究所 | 一种文件系统的数据维护方法及系统 |
CN106126374A (zh) * | 2016-06-22 | 2016-11-16 | 腾讯科技(深圳)有限公司 | 数据写入方法、数据读取方法及装置 |
CN106603692A (zh) * | 2016-12-27 | 2017-04-26 | 中国银联股份有限公司 | 一种分布式存储系统中的数据存储方法及装置 |
CN106657356A (zh) * | 2016-12-29 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种云存储系统的数据写入方法、装置及云存储系统 |
CN107729176A (zh) * | 2017-09-14 | 2018-02-23 | 北京京东尚科信息技术有限公司 | 一种配置文件管理系统的容灾方法及容灾系统 |
CN107807794A (zh) * | 2017-10-31 | 2018-03-16 | 新华三技术有限公司 | 一种数据存储方法和装置 |
CN108776670A (zh) * | 2018-05-11 | 2018-11-09 | 阿里巴巴集团控股有限公司 | 一种异地容灾方法、系统和电子设备 |
Non-Patent Citations (3)
Title |
---|
BO MAO: "SAR: SSD Assisted Restore Optimization for Deduplication-Based Storage Systems in the Cloud" * |
李强;孙震宇;孙功星;: "一种面向HDFS的数据随机访问方法" * |
钱益舟: "基于云技术的分布式实时数据库高性能数据存储检索机制的研究" * |
Also Published As
Publication number | Publication date |
---|---|
CN111198783B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776130B (zh) | 一种日志恢复方法、存储装置和存储节点 | |
CN106933843B (zh) | 数据库心跳检测方法以及装置 | |
CN104156361B (zh) | 一种实现数据同步的方法及系统 | |
JP5337916B1 (ja) | 情報処理システム | |
JP6039655B2 (ja) | 分散記憶環境における同期複製 | |
US9098439B2 (en) | Providing a fault tolerant system in a loosely-coupled cluster environment using application checkpoints and logs | |
US10609141B2 (en) | Methods and apparatuses for cluster switching | |
JP2005071119A (ja) | 系切替方法、レプリカ作成方法、及びディスク装置 | |
CN104216801A (zh) | 一种面向虚拟化环境的数据复制方法及系统 | |
WO2024148856A1 (zh) | 数据写入方法、系统、存储硬盘、电子设备及存储介质 | |
CN108595287B (zh) | 基于纠删码的数据截断方法及装置 | |
CN113806143B (zh) | 一种异地容灾方法、系统和电子设备 | |
CN106021030A (zh) | 一种数据库的系统、一种处理数据库故障的方法及装置 | |
CN115629901A (zh) | 日志回放方法及装置、数据恢复方法及装置、电子设备 | |
CN110895545B (zh) | 共享数据同步方法及装置 | |
WO2022033269A1 (zh) | 数据处理的方法、设备及系统 | |
CN108573049B (zh) | 数据处理方法和分布式存储装置 | |
CN111198783B (zh) | 数据存取方法、装置、系统、设备及存储介质 | |
CN107888430B (zh) | 虚拟机管理操作同步方法及装置 | |
CN113485872B (zh) | 故障处理方法、装置及分布式存储系统 | |
CN113596195B (zh) | 公共ip地址管理方法、装置、主节点及存储介质 | |
CN113157392B (zh) | 镜像仓库高可用方法及设备 | |
CN115827590A (zh) | 数据迁移、上云方法、计算设备及计算机存储介质 | |
CN114880150A (zh) | 故障隔离和现场保护方法和系统 | |
CN112765129A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030616 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |