CN114422538B - 多云存储系统、多云数据读写方法及电子设备 - Google Patents

多云存储系统、多云数据读写方法及电子设备 Download PDF

Info

Publication number
CN114422538B
CN114422538B CN202210309822.2A CN202210309822A CN114422538B CN 114422538 B CN114422538 B CN 114422538B CN 202210309822 A CN202210309822 A CN 202210309822A CN 114422538 B CN114422538 B CN 114422538B
Authority
CN
China
Prior art keywords
data
target user
user data
cloud platform
request
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
Application number
CN202210309822.2A
Other languages
English (en)
Other versions
CN114422538A (zh
Inventor
吴鹏飞
何思源
王鲲
陈飞
邹懋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vita Technology Beijing Co ltd
Original Assignee
Vita Technology Beijing Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vita Technology Beijing Co ltd filed Critical Vita Technology Beijing Co ltd
Priority to CN202210309822.2A priority Critical patent/CN114422538B/zh
Publication of CN114422538A publication Critical patent/CN114422538A/zh
Application granted granted Critical
Publication of CN114422538B publication Critical patent/CN114422538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种多云存储系统、多云数据读写方法及电子设备,以解决在复杂的多云场景下的跨云数据读写性能问题。所述系统包括第一云平台和至少一个第二云平台,其中,所述第一云平台设置有第一存储中间层,所述第二云平台设置有第二存储中间层,且所述第一云平台存储有针对多个用户的多个目标用户数据,所述目标用户数据是基于所述多个用户共享的原始数据的副本得到的。

Description

多云存储系统、多云数据读写方法及电子设备
技术领域
本公开涉及数据处理技术领域,具体地,涉及一种多云存储系统、多云数据读写方法及电子设备。
背景技术
多云是未来IT基础设施的主流发展方向,但是目前多云方案落地面临复杂的分布式数据同步与性能问题,而多云存储系统的跨云数据读写方法则是处理该问题的核心之一。
具体地,多云场景同时面临复杂的网络环境、复杂的数据存储环境和复杂的用户使用场景,对于多云方案的易实现性和多云数据读写性能要求较高。
发明内容
本公开的目的是提供一种多云存储系统、多云数据读写方法及电子设备,以解决在复杂的多云场景下的跨云数据读写性能问题。
为了实现上述目的,本公开的第一方面提供一种多云存储系统,所述系统包括第一云平台和至少一个第二云平台,其中,所述第一云平台设置有第一存储中间层,所述第二云平台设置有第二存储中间层,且所述第一云平台存储有针对多个用户的多个目标用户数据,所述目标用户数据是基于所述多个用户共享的原始数据的副本得到的;
所述第一云平台用于通过所述第一存储中间层接收用户端针对第一目标用户数据的数据操作请求,并执行如下操作:对所述第一目标用户数据加锁,在对所述第一目标用户数据加锁后,在所述数据操作请求为数据写入请求时,根据所述数据写入请求对所述第一目标用户数据进行异步写入操作,得到新的第一目标用户数据,并在所述第二云平台存储有第二目标用户数据时,向所述第二云平台发送针对所述第二目标用户数据的数据更新请求,所述第二目标用户数据与所述第一目标用户数据是基于同一原始数据的副本得到,所述数据更新请求用于基于所述新的第一目标用户数据,异步更新所述第二目标用户数据;
所述第二云平台用于通过所述第二存储中间层接收所述数据更新请求,并根据所述数据更新请求对所述第二目标用户数据进行异步更新操作,以使所述第二目标用户数据与所述第一目标用户数据一致。
可选地,所述第一云平台用于通过所述第一存储中间层在首次接收到所述用户端针对所述原始数据的数据操作请求时,基于所述用户端的用户信息创建所述原始数据的副本作为所述用户端对应用户的目标用户数据。
可选地,所述第一云平台用于通过所述第一存储中间层在根据所述数据写入请求对所述第一目标用户数据进行异步写入操作,得到新的第一目标用户数据后,存储所述新的第一目标用户数据的哈希指纹;
所述第一云平台还用于通过所述第一存储中间层在向所述第二云平台发送针对所述第二目标用户数据的数据更新请求之前,读取已存储的、所述新的第一目标用户数据的哈希指纹,并从所述第二云平台请求所述第二目标用户数据的哈希指纹,根据所述新的第一目标用户数据的哈希指纹和所述第二目标用户数据的哈希指纹,确定所述新的第一目标用户数据与所述第二目标用户数据的版本不一致。
可选地,所述第一云平台设置有拦截服务,所述拦截服务用于接收多个用户端针对所述第一目标用户数据的数据写入请求,并将多个所述数据写入请求存储在请求队列中,将所述请求队列中的数据写入请求按照预设顺序依次发送给所述第一存储中间层。
可选地,所述第一云平台还用于通过所述第一存储中间层在所述数据操作请求为数据读取请求时,根据所述数据读取请求对所述第一目标用户数据进行异步读取操作;和/或,
所述第一云平台还用于通过所述第一存储中间层在所述数据操作请求为数据同步请求时,根据所述数据同步请求对所述第一目标用户数据进行异步同步操作。
本公开的第二方面还提供一种多云数据读写方法,所述方法应用于多云存储系统,所述系统包括第一云平台和至少一个第二云平台,其中,所述第一云平台设置有第一存储中间层,所述第二云平台设置有第二存储中间层,且所述第一云平台存储有针对多个用户的多个目标用户数据,所述目标用户数据是基于所述多个用户共享的原始数据的副本得到的,所述方法包括:
所述第一云平台通过所述第一存储中间层接收用户端针对第一目标用户数据的数据操作请求,并执行如下操作:对所述第一目标用户数据加锁,在对所述第一目标用户数据加锁后,在所述数据操作请求为数据写入请求时,根据所述数据写入请求对所述第一目标用户数据进行异步写入操作,得到新的第一目标用户数据,并在所述第二云平台存储有第二目标用户数据时,向所述第二云平台发送针对所述第二目标用户数据的数据更新请求,所述第二目标用户数据与所述第一目标用户数据是基于同一原始数据的副本得到,所述数据更新请求用于基于所述新的第一目标用户数据,异步更新所述第二目标用户数据;
所述第二云平台通过所述第二存储中间层接收所述数据更新请求,并根据所述数据更新请求对所述第二目标用户数据进行异步更新操作,以使所述第二目标用户数据与所述第一目标用户数据一致。
可选地,所述方法还包括:
所述第一云平台通过所述第一存储中间层在首次接收到所述用户端针对所述原始数据的数据操作请求时,基于所述用户端的用户信息创建所述原始数据的副本作为所述用户端对应用户的目标用户数据。
可选地,所述方法还包括:
所述第一云平台通过所述第一存储中间层在根据所述数据写入请求对所述第一目标用户数据进行异步写入操作,得到新的第一目标用户数据后,存储所述新的第一目标用户数据的哈希指纹;
所述第一云平台通过所述第一存储中间层在向所述第二云平台发送针对所述第二目标用户数据的数据更新请求之前,读取已存储的、所述新的第一目标用户数据的哈希指纹,并从所述第二云平台请求所述第二目标用户数据的哈希指纹,根据所述新的第一目标用户数据的哈希指纹和所述第二目标用户数据的哈希指纹,确定所述新的第一目标用户数据与所述第二目标用户数据的版本不一致。
本公开的第三方面还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第二方面中所述第一云平台执行的步骤。
本公开的第四方面还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第二方面中所述第二云平台执行的步骤。
通过上述技术方案,首先通过第一云平台存储针对多个用户的多个目标用户数据,使得用户端进行数据操作时均操作的是对应用户的目标用户数据,不同用户端之间互不干扰,将复杂的多用户使用场景简化为单用户使用场景,这样即使在网络较差的环境下,多云数据的读写性能也能达到单云数据的读写性能,提高复杂的多云场景下的数据读写速度。并且通过对数据加锁异步操作并配合跨云平台更新的方式,在数据存储环境复杂的情况下也能保证数据操作的一致性,降低多云方案的实现难度。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开实施例提供的一种多云存储系统的框图;
图2是本公开实施例提供的一种多云数据读写方法的流程示意图;
图3是本公开实施例提供的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
需要说明的是,本公开中所有接收信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
多云是未来IT基础设施的主流发展方向,但是目前多云方案落地面临复杂的分布式数据同步与性能问题,而多云存储系统的跨云数据读写方法则是处理该问题的核心之一。
具体来说,多云存储系统需要进行跨云读写,在网络环境复杂的多云场景下,数据读写性能通常由性能最差的云决定。并且,由于多云存储系统的数据存储环境复杂,当多云数据面临多用户并发使用场景时,需要保持数据的一致性,提高了多云存储系统的实现难度。此外,多云场景下,数据会存储于不同云上,多个数据之间重复度与相似度较高,重复存储会占用存储空间,并且当数据进行跨云同步时,需要花费大量的时间和成本。
有鉴于此,本公开提供一种多云存储系统、多云数据读写方法及电子设备,以解决上述技术问题。
下面结合具体实施例对本公开进行说明。
图1是根据一示例性实施例提供的一种多云存储系统的框图,参照图1,该系统10包括第一云平台101和至少一个第二云平台102,其中,第一云平台101设置有第一存储中间层103,第二云平台102设置有第二存储中间层104,且第一云平台101存储有针对多个用户的多个目标用户数据,目标用户数据是基于多个用户共享的原始数据的副本得到的。
第一云平台用于通过第一存储中间层接收用户端针对第一目标用户数据的数据操作请求,并执行如下操作:对第一目标用户数据加锁,在对第一目标用户数据加锁后,在数据操作请求为数据写入请求时,根据数据写入请求对第一目标用户数据进行异步写入操作,得到新的第一目标用户数据,并在第二云平台存储有第二目标用户数据时,向第二云平台发送针对第二目标用户数据的数据更新请求,第二目标用户数据与第一目标用户数据是基于同一原始数据的副本得到,数据更新请求用于基于新的第一目标用户数据,异步更新所述第二目标用户数据。第二云平台用于通过第二存储中间层接收数据更新请求,并根据数据更新请求对第二目标用户数据进行异步更新操作,以使第二目标用户数据与第一目标用户数据一致。
需说明的是,在用户需要对某一数据进行数据操作时,不是对该数据的原始数据进行数据操作,而是将该原始数据的副本作为用户的目标用户数据进行数据操作。也就是说,第一目标用户数据只对数据所属的用户放开操作权限,而第二目标用户数据与第一目标用户数据属于同一用户,且第二目标用户数据与第一目标用户数据都是基于该用户的同一原始数据的副本得到的,当第一目标用户数据有写入操作时,才会需要对第二目标用户数据进行更新操作,以保障多云存储系统中相同用户的用户数据在不同云上保持数据一致性,降低多云方案的实现难度。其中,原始数据可以是音频数据、文本数据、图像数据等各种数据,存储于云平台的存储空间,第一目标用户数据和第二目标用户数据可以是同一原始数据的副本的不同数据块,也可以是针对同一原始数据的属于同一用户的不同副本,本公开对此不作限制。
采用上述多云存储系统,首先,通过第一云平台存储针对多个用户的多个目标用户数据,使得用户端进行数据操作时均操作的是对应用户的目标用户数据,不同用户端之间互不干扰,将复杂的多用户使用场景简化为单用户使用场景,这样即使在网络较差的环境下,多云数据的读写性能也能达到单云数据的读写性能,提高复杂的多云场景下的数据读写速度。并且通过对数据加锁异步操作并配合跨云平台更新的方式,在数据存储环境复杂的情况下也能保证数据操作的一致性,降低多云方案的实现难度。
在可能的方式中,第一云平台用于通过第一存储中间层在首次接收到用户端针对原始数据的数据操作请求时,基于用户端的用户信息创建原始数据的副本作为用户端对应用户的目标用户数据。
示例地,第一云平台通过第一存储中间层在接收到用户端针对原始数据的数据操作请求时,先查找第一云平台中是否存储有对应该用户端的用户信息的原始数据副本,若第一云平台中未存储有对应该用户端的用户信息的原始数据副本,则说明该用户端是首次向第一云平台发送针对原始数据的数据操作请求。进一步地,基于该用户端的用户信息创建原始数据的副本作为该用户端对应用户的目标用户数据。其中,用户信息可以是用户的登录账户、IP地址等能够唯一标识用户的信息。
也就是说,以多云存储系统的多个云平台中的第一云平台为例,在每一用户在首次通过用户端进行数据操作时,第一云平台均会生成针对该用户的目标用户数据。每一用户在通过用户端进行数据操作时,不论是进行读操作写操作还是同步操作,均操作的是对应用户的目标用户数据,不同用户端之间互不干扰。从而将复杂的多用户使用场景简化为单用户使用场景,这样即使在网络较差的环境下,多云数据的读写性能也能达到单云数据的读写性能,提高复杂的多云场景下的数据读写速度。
在可能的方式中,第一云平台用于通过第一存储中间层在根据数据写入请求对第一目标用户数据进行异步写入操作,得到新的第一目标用户数据后,存储新的第一目标用户数据的哈希指纹。第一云平台还用于通过第一存储中间层在向第二云平台发送针对第二目标用户数据的数据更新请求之前,读取已存储的、新的第一目标用户数据的哈希指纹,并从第二云平台请求第二目标用户数据的哈希指纹,根据新的第一目标用户数据的哈希指纹和第二目标用户数据的哈希指纹,确定新的第一目标用户数据与第二目标用户数据的版本不一致。
示例地,哈希指纹可以通过将数据输入哈希函数得到,即使是非常微小的数据差别,哈希函数的运算结果也会有非常巨大的差异。由于云平台会存储大量相似的目标用户数据,因此利用这一特性,可以很好的区分不同的目标用户数据。对于同一用户而言,可能会将同一目标用户数据的不同数据块存储在不同云平台,也有可能在对同一目标用户数据进行复制得到多个目标用户数据副本,存储于不同的云平台上。当用户需要对该目标用户数据进行写操作时,需要保证不同云平台上的数据的一致性,也就是说,需要对所有存储有该目标用户数据的云平台进行数据更新操作。
但是,为了避免重复地进行数据更新操作造成资源浪费,需要对比两个云平台是否有相同的目标用户数据。当第一云平台通过第一存储中间层在根据数据写入请求对第一目标用户数据进行异步写入操作,得到新的第一目标用户数据后,存储新的第一目标用户数据的哈希指纹。该哈希指纹可以存储于第一云平台的哈希指纹列表中,然后从第二云平台请求第二目标用户数据的哈希指纹,根据新的第一目标用户数据的哈希指纹和第二目标用户数据的哈希指纹,确定新的第一目标用户数据与第二目标用户数据的版本不一致。只有在新的第一目标用户数据与第二目标用户数据的版本不一致的情况下,才进行数据更新操作,通过减少跨云更新数据量,可以提高更新效率,节约更新成本,提高用户体验。
此外,该方式还可以在用户需要将目标用户数据从第一云平台同步到第二云平台时,通过比较哈希指纹,判断第二云平台是否存储有该目标用户数据。若第二云平台存储有该目标用户数据,则不进行数据同步,从而避免在同一云平台中存储重复数据,不仅可以减少跨云同步数据量,还可以节约云平台的存储空间。
在可能的方式中,针对AI场景下的数据标注、编辑这类轻量数据写操作,用户可以将所属的目标用户数据设置为公开或者共享模式,则所有用户均可以对该目标用户数据进行数据操作。针对这种情况,可以在第一云平台设置有拦截服务,拦截服务用于接收多个用户端针对第一目标用户数据的数据写入请求,并将多个数据写入请求存储在请求队列中,将请求队列中的数据写入请求按照预设顺序依次发送给第一存储中间层。
示例地,拦截服务可以在多个用户端对第一云平台的同一目标用户数据进行操作时启动,在单用户端进行操作时关闭。通过将多个数据写入请求存储在请求队列中,再将请求队列中的数据写入请求按照预设顺序依次发送给第一存储中间层,即将并发的数据写入请求转换为非并发的数据请求,从而满足多用户端对同一目标用户数据的数据写入操作。其中,该预设顺序可以是先进先出顺序,也可以是先进后出顺序,或者按照其他规则设定的预设顺序,本公开对此不作限定。
在可能的方式中,第一云平台还用于通过第一存储中间层在数据操作请求为数据读取请求时,根据数据读取请求对第一目标用户数据进行异步读取操作。和/或,第一云平台还用于通过第一存储中间层在数据操作请求为数据同步请求时,根据数据同步请求对第一目标用户数据进行异步同步操作。
示例地,第一云平台通过第一存储中间层接收用户端针对第一目标用户数据的数据操作请求后,首先对第一目标用户数据加锁,然后在对第一目标用户数据加锁后,在数据操作请求为数据读取请求时,根据数据读取请求对第一目标用户数据进行异步读取操作。在数据操作请求为数据同步请求时,根据数据同步请求对第一目标用户数据进行异步同步操作。在数据操作请求为数据写入请求时,根据数据同步请求对第一目标用户数据进行异步写入操作。通过对数据加锁异步操作的方式,在数据存储环境复杂的情况下也能保证数据操作的一致性,降低多云方案的实现难度,并提高数据操作的性能。
需说明的是,用户端在同时对目标用户数据进行数据读取操作和数据同步操作时,由于没有数据写入操作,目标用户数据不发生更改,因此可以按照异步方式执行数据读取操作和数据同步操作。同样的,用户端在需要将目标用户数据从第一云平台同步到多个第二云平台,即第一云平台需要执行多个数据同步操作,也可以按照异步方式执行多个数据同步操作。但是,由于数据写入操作会对数据进行更改,因此不允许存在同一用户端同时对同一目标用户数据进行数据写入操作和数据同步操作,这种情况可以通过用户端的操作界面进行控制。
在可能的方式中,第一存储中间层设置有上层接口、中间层接口和下层接口,上层接口用于接收多个用户端发送的数据操作请求,中间层接口用于与第二云平台进行数据交互,下层接口用于对接第一云平台的数据接口,以将数据操作请求转换为第一云平台能够识别的数据操作请求。
示例地,由于在多云存储系统中,不同云平台提供的数据访问接口不同,数据存储特性也不相同,用户端对不同云平台进行数据操作时,需要知道不同云平台的数据访问接口和数据存储特性才能发送数据操作请求,给用户端对不同云平台进行数据操作带来不便。因此,不同云平台可以通过对应的中间存储层面向用户端提供统一的上层接口,用户端无需关心不同云平台的数据访问接口和数据存储特性,仅通过统一的上层接口就可以对多个云平台发送数据操作请求。并且,在存储中间层上设置下层接口对接对应云平台的数据接口,通过下层接口将用户端发送的数据操作请求转换为对应云平台能够识别的数据操作请求。此外,在存储中间层上设置中间层接口,实现云平台之间的数据交互。通过在云平台上设置存储中间层,在面向用户端时,提供统一的数据访问接口和数据存储特性,方便用户端对不同云平台进行数据操作。
值得说明的是,上述多云存储系统中第一云平台所执行的操作均为示例性说明,在实际应用中,多云存储系统的任意一个云平台均可执行上述第一云平台所执行的操作。
基于同一发明构思,本公开还提供一种多云数据读写方法,所述方法应用于多云存储系统,该系统包括第一云平台和至少一个第二云平台,其中,第一云平台设置有第一存储中间层,第二云平台设置有第二存储中间层,且第一云平台存储有针对多个用户的多个目标用户数据,目标用户数据是基于多个用户共享的原始数据的副本得到的。参照图2,该方法包括:
S201、第一云平台通过第一存储中间层接收用户端针对第一目标用户数据的数据操作请求,并执行如下操作:对第一目标用户数据加锁,在对第一目标用户数据加锁后,在数据操作请求为数据写入请求时,根据数据写入请求对第一目标用户数据进行异步写入操作,得到新的第一目标用户数据,并在第二云平台存储有第二目标用户数据时,向第二云平台发送针对第二目标用户数据的数据更新请求。
其中,第二目标用户数据与第一目标用户数据是基于同一原始数据的副本得到,数据更新请求用于基于新的第一目标用户数据,异步更新第二目标用户数据。
S202、第二云平台通过第二存储中间层接收数据更新请求,并根据数据更新请求对第二目标用户数据进行异步更新操作,以使第二目标用户数据与第一目标用户数据一致。
采用上述方法,首先,通过第一云平台存储针对多个用户的多个目标用户数据,使得用户端进行数据操作时均操作的是对应用户的目标用户数据,不同用户端之间互不干扰,将复杂的多用户使用场景简化为单用户使用场景,这样即使在网络较差的环境下,多云数据的读写性能也能达到单云数据的读写性能,提高复杂多云场景下的数据读写速度。并且通过对数据加锁异步操作并配合跨云平台更新的方式,在数据存储环境复杂的情况下也能保证数据操作的一致性,降低多云方案的实现难度。
可选地,所述方法还包括:
所述第一云平台通过所述第一存储中间层在首次接收到所述用户端针对所述原始数据的数据操作请求时,基于所述用户端的用户信息创建所述原始数据的副本作为所述用户端对应用户的目标用户数据。
可选地,所述方法还包括:
所述第一云平台通过所述第一存储中间层在根据所述数据写入请求对所述第一目标用户数据进行异步写入操作,得到新的第一目标用户数据后,存储所述新的第一目标用户数据的哈希指纹;
所述第一云平台通过所述第一存储中间层在向所述第二云平台发送针对所述第二目标用户数据的数据更新请求之前,读取已存储的、所述新的第一目标用户数据的哈希指纹,并从所述第二云平台请求所述第二目标用户数据的哈希指纹,根据所述新的第一目标用户数据的哈希指纹和所述第二目标用户数据的哈希指纹,确定所述新的第一目标用户数据与所述第二目标用户数据的版本不一致。
可选地,所述第一云平台设置有拦截服务,所述方法还包括:所述拦截服务接收多个用户端针对所述第一目标用户数据的数据写入请求,并将多个所述数据写入请求存储在请求队列中,将所述请求队列中的数据写入请求按照预设顺序依次发送给所述第一存储中间层。
可选地,所述方法还包括:
所述第一云平台通过所述第一存储中间层在所述数据操作请求为数据读取请求时,根据所述数据读取请求对所述第一目标用户数据进行异步读取操作;和/或,
所述第一云平台通过所述第一存储中间层在所述数据操作请求为数据同步请求时,根据所述数据同步请求对所述第一目标用户数据进行异步同步操作。
可选地,所述第一存储中间层设置有上层接口、中间层接口和下层接口所述方法还包括:
通过所述上层接口接收多个用户端发送的数据操作请求,通过所述中间层接口与所述第二云平台进行数据交互,通过所述下层接口对接所述第一云平台的数据接口,以将所述数据操作请求转换为所述第一云平台能够识别的数据操作请求。
关于上述实施例中的多云数据读写方法,已经在该方法所应用的多云存储系统的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述实施例提供的第一云平台执行的步骤。
本公开实施例还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述实施例提供的第二云平台执行的步骤。
图3是根据一示例性实施例示出的一种电子设备300的框图。例如,电子设备300可以被提供为一服务器。参照图3,电子设备300包括处理器322,其数量可以为一个或多个,以及存储器332,用于存储可由处理器322执行的计算机程序。存储器332中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器322可以被配置为执行该计算机程序,以执行上述的第一云平台或第二云平台所执行的多云数据读写方法的步骤。
另外,电子设备300还可以包括电源组件326和通信组件350,该电源组件326可以被配置为执行电子设备300的电源管理,该通信组件350可以被配置为实现电子设备300的通信,例如,有线或无线通信。此外,该电子设备300还可以包括输入/输出(I/O)接口358。电子设备300可以操作基于存储在存储器332的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的第一云平台或第二云平台所执行的多云数据读写方法的步骤。例如,该非临时性计算机可读存储介质可以为上述包括程序指令的存储器332,上述程序指令可由电子设备300的处理器322执行以完成上述的第一云平台或第二云平台所执行的多云数据读写方法的步骤。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的第一云平台或第二云平台所执行的多云数据读写方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (10)

1.一种多云存储系统,其特征在于,所述系统包括第一云平台和至少一个第二云平台,其中,所述第一云平台设置有第一存储中间层,所述第二云平台设置有第二存储中间层,且所述第一云平台存储有针对多个用户的多个目标用户数据,每一用户进行数据操作时操作的数据为该用户对应的目标用户数据,所述目标用户数据是通过如下方式得到的:在所述第一云平台通过所述第一存储中间层在首次接收到用户端针对原始数据的数据操作请求时,基于所述用户端的用户信息创建所述原始数据的副本作为所述用户端对应用户的目标用户数据,所述原始数据被所述多个用户共享;所述第一存储中间层设置有第一上层接口、第一中间层接口和第一下层接口,所述第二存储中间层设置有第二上层接口、第二中间层接口和第二下层接口,所述第一上层接口与所述第二上层接口相同,所述第一上层接口用于接收用户端发送的数据操作请求,所述第一中间层接口用于与所述第二中间层接口进行数据交互,所述第一下层接口用于对接所述第一云平台的数据接口,以将所述用户端发送的数据操作请求转换为所述第一云平台能够识别的数据操作请求;
所述第一云平台用于通过所述第一存储中间层接收用户端针对第一目标用户数据的数据操作请求,并执行如下操作:对所述第一目标用户数据加锁,在对所述第一目标用户数据加锁后,在所述数据操作请求为数据写入请求时,根据所述数据写入请求对所述第一目标用户数据进行异步写入操作,得到新的第一目标用户数据,并在所述第二云平台存储有第二目标用户数据时,向所述第二云平台发送针对所述第二目标用户数据的数据更新请求,所述第二目标用户数据与所述第一目标用户数据是基于同一原始数据的副本得到,且所述第二目标用户数据与所述第一目标用户数据属于同一用户,所述数据更新请求用于基于所述新的第一目标用户数据,异步更新所述第二目标用户数据;
所述第二云平台用于通过所述第二存储中间层接收所述数据更新请求,并根据所述数据更新请求对所述第二目标用户数据进行异步更新操作,以使所述第二目标用户数据与所述第一目标用户数据一致。
2.根据权利要求1所述的系统,其特征在于,所述第一云平台用于通过所述第一存储中间层在根据所述数据写入请求对所述第一目标用户数据进行异步写入操作,得到新的第一目标用户数据后,存储所述新的第一目标用户数据的哈希指纹;
所述第一云平台还用于通过所述第一存储中间层在向所述第二云平台发送针对所述第二目标用户数据的数据更新请求之前,读取已存储的、所述新的第一目标用户数据的哈希指纹,并从所述第二云平台请求所述第二目标用户数据的哈希指纹,根据所述新的第一目标用户数据的哈希指纹和所述第二目标用户数据的哈希指纹,确定所述新的第一目标用户数据与所述第二目标用户数据的版本不一致。
3.根据权利要求1所述的系统,其特征在于,所述第一云平台设置有拦截服务,所述拦截服务用于接收多个用户端针对所述第一目标用户数据的数据写入请求,并将多个所述数据写入请求存储在请求队列中,将所述请求队列中的数据写入请求按照预设顺序依次发送给所述第一存储中间层。
4.根据权利要求1-3任一项所述的系统,其特征在于,所述第一云平台还用于通过所述第一存储中间层在所述数据操作请求为数据读取请求时,根据所述数据读取请求对所述第一目标用户数据进行异步读取操作;和/或,
所述第一云平台还用于通过所述第一存储中间层在所述数据操作请求为数据同步请求时,根据所述数据同步请求对所述第一目标用户数据进行异步同步操作。
5.一种多云数据读写方法,其特征在于,所述方法应用于多云存储系统,所述系统包括第一云平台和至少一个第二云平台,其中,所述第一云平台设置有第一存储中间层,所述第二云平台设置有第二存储中间层,且所述第一云平台存储有针对多个用户的多个目标用户数据,所述目标用户数据是通过如下方式得到的:在所述第一云平台通过所述第一存储中间层在首次接收到用户端针对原始数据的数据操作请求时,基于所述用户端的用户信息创建所述原始数据的副本作为所述用户端对应用户的目标用户数据,所述原始数据被所述多个用户共享;所述第一存储中间层设置有第一上层接口、第一中间层接口和第一下层接口,所述第二存储中间层设置有第二上层接口、第二中间层接口和第二下层接口,所述第一上层接口与所述第二上层接口相同,所述第一上层接口用于接收用户端发送的数据操作请求,所述第一中间层接口用于与所述第二中间层接口进行数据交互,所述第一下层接口用于对接所述第一云平台的数据接口,以将所述用户端发送的数据操作请求转换为所述第一云平台能够识别的数据操作请求,所述方法包括:
所述第一云平台通过所述第一存储中间层接收用户端针对第一目标用户数据的数据操作请求,并执行如下操作:对所述第一目标用户数据加锁,在对所述第一目标用户数据加锁后,在所述数据操作请求为数据写入请求时,根据所述数据写入请求对所述第一目标用户数据进行异步写入操作,得到新的第一目标用户数据,并在所述第二云平台存储有第二目标用户数据时,向所述第二云平台发送针对所述第二目标用户数据的数据更新请求,所述第二目标用户数据与所述第一目标用户数据是基于同一原始数据的副本得到,且所述第二目标用户数据与所述第一目标用户数据属于同一用户,所述数据更新请求用于基于所述新的第一目标用户数据,异步更新所述第二目标用户数据;
所述第二云平台通过所述第二存储中间层接收所述数据更新请求,并根据所述数据更新请求对所述第二目标用户数据进行异步更新操作,以使所述第二目标用户数据与所述第一目标用户数据一致。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一云平台通过所述第一存储中间层在根据所述数据写入请求对所述第一目标用户数据进行异步写入操作,得到新的第一目标用户数据后,存储所述新的第一目标用户数据的哈希指纹;
所述第一云平台通过所述第一存储中间层在向所述第二云平台发送针对所述第二目标用户数据的数据更新请求之前,读取已存储的、所述新的第一目标用户数据的哈希指纹,并从所述第二云平台请求所述第二目标用户数据的哈希指纹,根据所述新的第一目标用户数据的哈希指纹和所述第二目标用户数据的哈希指纹,确定所述新的第一目标用户数据与所述第二目标用户数据的版本不一致。
7.根据权利要求5所述的方法,其特征在于,所述第一云平台设置有拦截服务,所述方法还包括:
所述拦截服务接收多个用户端针对所述第一目标用户数据的数据写入请求,并将多个所述数据写入请求存储在请求队列中,将所述请求队列中的数据写入请求按照预设顺序依次发送给所述第一存储中间层。
8.根据权利要求5-7任一项所述的方法,其特征在于,所述方法还包括:
所述第一云平台通过所述第一存储中间层在所述数据操作请求为数据读取请求时,根据所述数据读取请求对所述第一目标用户数据进行异步读取操作;和/或,
所述第一云平台通过所述第一存储中间层在所述数据操作请求为数据同步请求时,根据所述数据同步请求对所述第一目标用户数据进行异步同步操作。
9.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求5-8中任一项所述第一云平台执行的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求5-8中任一项所述第二云平台执行的步骤。
CN202210309822.2A 2022-03-28 2022-03-28 多云存储系统、多云数据读写方法及电子设备 Active CN114422538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210309822.2A CN114422538B (zh) 2022-03-28 2022-03-28 多云存储系统、多云数据读写方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210309822.2A CN114422538B (zh) 2022-03-28 2022-03-28 多云存储系统、多云数据读写方法及电子设备

Publications (2)

Publication Number Publication Date
CN114422538A CN114422538A (zh) 2022-04-29
CN114422538B true CN114422538B (zh) 2022-07-12

Family

ID=81264414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210309822.2A Active CN114422538B (zh) 2022-03-28 2022-03-28 多云存储系统、多云数据读写方法及电子设备

Country Status (1)

Country Link
CN (1) CN114422538B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924203A (zh) * 2018-06-25 2018-11-30 深圳市金蝶天燕中间件股份有限公司 数据副本自适应分布方法、分布式计算系统及相关设备
CN109828868A (zh) * 2019-01-04 2019-05-31 新华三技术有限公司成都分公司 数据存储方法、装置、管理设备和双活数据存储系统
CN113596128A (zh) * 2021-07-21 2021-11-02 华云数据控股集团有限公司 一种多云平台的资源同步方法、系统及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477738B2 (en) * 2010-07-21 2016-10-25 International Business Machines Corporation Initialization protocol for a peer-to-peer replication environment
US9613048B2 (en) * 2014-09-10 2017-04-04 Panzura, Inc. Sending interim notifications to a client of a distributed filesystem
WO2016041998A1 (en) * 2014-09-15 2016-03-24 Foundation For Research And Technology - Hellas (Forth) Tiered heterogeneous fast layer shared storage substrate apparatuses, methods, and systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924203A (zh) * 2018-06-25 2018-11-30 深圳市金蝶天燕中间件股份有限公司 数据副本自适应分布方法、分布式计算系统及相关设备
CN109828868A (zh) * 2019-01-04 2019-05-31 新华三技术有限公司成都分公司 数据存储方法、装置、管理设备和双活数据存储系统
CN113596128A (zh) * 2021-07-21 2021-11-02 华云数据控股集团有限公司 一种多云平台的资源同步方法、系统及电子设备

Also Published As

Publication number Publication date
CN114422538A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
CN106250270B (zh) 一种云计算平台下的数据备份方法
CN106156359B (zh) 一种云计算平台下的数据同步更新方法
JP5727020B2 (ja) クラウドコンピューティングシステム及びそのデータ同期化方法
US8935560B2 (en) System and method of file locking in a network file system federated namespace
CN110413595B (zh) 一种应用于分布式数据库的数据迁移方法和相关装置
CN106294585A (zh) 一种云计算平台下的存储方法
CN103095843A (zh) 一种基于版本矢量的数据备份方法及客户端
US20170078383A1 (en) Hosted file sync with stateless sync nodes
CN109684414A (zh) 区块数据的同步方法、装置、设备及存储介质
WO2021143351A1 (zh) 分布式检索方法、装置、系统、计算机设备及存储介质
CN111274268A (zh) 物联网数据传输方法、装置、介质及电子设备
CN102255866A (zh) 一种数据下载方法及装置
KR20120044550A (ko) 가상 nas를 이용한 클라우드 스토리지 서버, 시스템 및 방법
KR20190110082A (ko) 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법
CN114637703B (zh) 数据访问装置、方法、可读介质和电子设备
CN115510163A (zh) 镜像文件的同步方法、装置、存储介质及电子设备
CN112866406B (zh) 一种数据存储方法、系统、装置、设备及存储介质
CN114422537B (zh) 多云存储系统、多云数据读写方法及电子设备
JP4247975B2 (ja) データ管理方法、データ管理システム、およびそのためのプログラムならびに記録媒体
CN107967265B (zh) 文件的访问方法、数据服务器和文件访问系统
WO2023207529A1 (zh) 数据处理方法、装置及设备、介质、产品
CN114422538B (zh) 多云存储系统、多云数据读写方法及电子设备
KR101419275B1 (ko) 클라우드 스토리지 기반의 데이터 동기화 및 서비스 제공 장치와 방법
JP6343983B2 (ja) 仮想記憶ゲート・システム
CN107526530B (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