CN113032338A - 一种跨数据中心的数据存储和查询方法与系统 - Google Patents
一种跨数据中心的数据存储和查询方法与系统 Download PDFInfo
- Publication number
- CN113032338A CN113032338A CN202110604500.6A CN202110604500A CN113032338A CN 113032338 A CN113032338 A CN 113032338A CN 202110604500 A CN202110604500 A CN 202110604500A CN 113032338 A CN113032338 A CN 113032338A
- Authority
- CN
- China
- Prior art keywords
- file
- task
- cache
- data center
- file system
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013500 data storage Methods 0.000 title claims abstract description 21
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
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/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种跨数据中心的数据存储和查询方法和系统,其中方法包括:接收文件查询请求,检查第二数据中心是否缓存了被查询的文件,所述文件存储在第一数据中心;针对第二数据中心缓存了所述文件的情况,校验第一数据中心的主文件系统与第二数据中心的缓存文件系统中存储的所述文件的一致性;如果一致性检查通过,则直接返回所述文件;如果未通过一致性检查或未查询到所述文件,则生成一个缓存任务,并向第二数据中心的任务队列提交该缓存任务;所述任务队列接收到所述缓存任务后,会根据队列中的排队情况安排运行所述缓存任务;所述缓存任务运行完成后,返回缓存文件系统中的所述文件。
Description
技术领域
本公开涉及数据存储、数据查询、读取技术领域,特别涉及一种跨数据中心的数据存储和查询方法、系统、电子设备及计算机可读存储介质。
背景技术
数据,是大数据时代最重要的财产,数据的存储和使用,也是各大公司所面临的最重要的问题。面对每日上 TB甚至上PB的数据的存储,各大公司拥有着自己的解决方案,如亚马逊的S3存储系统,谷歌的GFS,开源社区的HDFS以及各大云厂商的对象存储等。面对种类繁多的文件系统,无法做到以一种统一的方法去访问,用户必须针对不同的文件系统去学习其使用方式,学习成本颇高。在数据的使用时,往往存在着跨多个数据中心读取数据的情况,受限于专线带宽及网络稳定性,用户的体验往往及其糟糕。
因此,急需一种跨数据中心的数据存储和查询方法,可以对接多种文件系统,保证同一文件在所有数据中心的一致性,在用户层面,可以用一套代码适用所有的文件系统,在开发者层面,只需维护一套主文件系统,即可实现跨数据中心共享数据。
发明内容
有鉴于此,本公开实施例的目的在于提供一种跨数据中心的数据存储和查询方法,可以对接多种文件系统,保证同一文件在所有数据中心的一致性,避免用户跨多个数据中心读取数据的情况,也避免了受限于专线带宽及网络稳定性,用户的体验糟糕的情况。同时,对于开发者来说,由于设置了文件缓存层,开发者无需在多个数据中心搭建多套文件系统,而是只需维护一套主文件系统,即可实现跨数据中心共享数据。
根据本公开的第一方面,提供了一种跨数据中心的数据存储和查询方法,包括:
接收文件查询请求,检查第二数据中心是否缓存了被查询的文件,所述文件存储在第一数据中心;
针对第二数据中心缓存了所述文件的情况,校验第一数据中心的主文件系统与第二数据中心的缓存文件系统中存储的所述文件的一致性;
如果一致性检查通过,则直接返回所述文件;
如果未通过一致性检查或未查询到所述文件,则生成一个缓存任务,并向第二数据中心的任务队列提交该缓存任务;
所述任务队列接收到所述缓存任务后,会根据队列中的排队情况安排运行所述缓存任务;
在运行缓存任务期间,向任务队列轮询任务状态,若有异常则重新提交缓存任务;
所述缓存任务运行完成后,返回缓存文件系统中的所述文件。
在一个可能的实施例中,其中,所述文件查询请求来自一个或多个客户端,其中,第二数据中心的数据接口自动适配和兼容所述任一客户端发送的文件查询请求的代码。
在一个可能的实施例中,所述运行缓存任务的方法包括:通过数据中心之间的专线拷贝所述主文件系统的文件到所述缓存文件系统中;如果所述专线空闲,则会开启多线程拷贝所述主文件系统的文件到所述缓存文件系统中;如果所述专线繁忙,则会单线程拷贝所述主文件系统的文件到所述缓存文件系统中;如果专线爆满,则会等待直到专线空闲。
在一个可能的实施例中,其中,所述运行缓存任务只包括对文件内容的缓存,主文件系统与缓存文件系统中的对应文件的文件视图一致。
在一个可能的实施例中,所述一致性检查包括:文件大小、文件修改时间、文件摘要。
在一个可能的实施例中,与所述一个或多个客户端对接的数据中心包括是对象存储系统或HDFS文件系统。
在一个可能的实施例中,其中,所述数据接口的安全认证接口包括:HTTPS和BASICAUTH的认证方式,以及AWS签名算法和KERBEROS算法。
根据本公开的第二方面,提供了一种跨数据中心的数据存储和查询系统,包括:
文件请求单元,用于接收文件查询请求,检查第二数据中心是否缓存了被查询的文件,所述文件存储在第一数据中心;
一致性检查单元,用于针对第二数据中心缓存了所述文件的情况,校验第一数据中心的主文件系统与第二数据中心的缓存文件系统中存储的所述文件的一致性;如果一致性检查通过,则直接返回所述文件;如果未通过一致性检查或未查询到所述文件,则生成一个缓存任务,并向第二数据中心的任务队列提交该缓存任务;
缓存任务单元,用于所述任务队列接收到所述缓存任务后,会根据队列中的排队情况安排运行所述缓存任务;在运行缓存任务期间,向任务队列轮询任务状态,若有异常则重新提交缓存任务;
文件返回单元,用于所述缓存任务运行完成后,返回缓存文件系统中的所述文件。
根据本公开的第三方面,提供一种电子设备,包括:存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的方法。
根据本公开的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有可执行指令,该指令被处理器执行时使处理器执行如第一方面所述的方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了根据现有技术中的典型的数据存储和查询系统的示意图。
图2示出了根据本公开实施例的典型的跨数据中心的数据存储和查询方法的示意图。
图3示出了用于实现本公开实施例的标准对象存储接口协议的示意图。
图4示出了根据本公开实施例的典型的跨数据中心的数据存储和查询方法的执行流程的示意图
图5示出了根据本公开实施例的典型的跨数据中心的数据存储和查询系统的示意图。
图6示出了用于实现本公开实施例的电子设备的结构示意图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
数据,是大数据时代最重要的财产,数据的存储和使用,也是各大公司所面临的最重要的问题。面对每日上 TB甚至上PB的数据的存储,各大公司拥有着自己的解决方案,如亚马逊的S3存储系统,谷歌的GFS,开源社区的HDFS以及各大云厂商的对象存储等。面对种类繁多的文件系统,无法做到以一种统一的方法去访问,用户必须针对不同的文件系统去学习其使用方式,学习成本颇高。在数据的使用时,往往存在着跨多个数据中心读取数据的情况,受限于专线带宽及网络稳定性,用户的体验往往及其糟糕。
现有技术中,数据存储系统主要有两个缺陷,一方面,对于不同类型的文件系统,用户需要使用对应文件系统的客户端,编写多套代码,来适应不同的文件系统的使用方式。另一方面,在跨机房读取数据时,直接跨专线读取,或者是在每一个数据中心搭建一套文件系统,针对数据的使用场景,在生成的时候就分发到不同的数据中心的文件系统中。
有鉴于此,本公开实施例的目的在于提供一种跨数据中心的数据存储和查询方法,可以对接多种文件系统,保证同一文件在所有数据中心的一致性,在用户层面,可以用一套代码适用所有的文件系统,在开发者层面,只需维护一套主文件系统,即可实现跨数据中心共享数据。用户无需编写多套代码以适配不同的文件系统,降低业务开发成本。开发者也无需在多个数据中心搭建多套文件系统,消除每个文件系统的文件视图不一致,读取文件时还需要额外记住文件系统的地址的复杂情况,减少运维工程师与服务器,减少公司运营成本。
以下结合附图详细描述本公开。
图1示出了根据现有技术中的典型的数据存储和查询系统的示意图。
如图1所示,用户101需要各自建立一个客户端,分别是HDFS客户端102和对象存储客户端103,其中HDFS客户端102只能向HDFS存储文件系统104请求文件,而不能直接向对象存储105请求文件。同样的,对象存储客户端103也只能向对象存储文件系统107请求文件,而不能直接向HDFS存储文件系统106请求文件。因此,用户需要编写多套代码,来建立不同的客户端和文件系统的使用方式。数据生成模块108生成数据的时候,根据数据的不同使用场景,就分发到不同的数据中心的文件系统中。因此,在跨数据中心读取文件时,总是会面临着网络带宽不足,读取速度慢的问题。
图2示出了根据本公开实施例的典型的跨数据中心的数据存储和查询方法的示意图。
如图2所示的跨数据中心的数据存储和查询方法,包含:
步骤201:接收文件查询请求,检查第二数据中心是否缓存了被查询的文件,所述文件存储在第一数据中心。
在一个可能的实施例中,用户通过客户端与第二数据中心的数据接口连接,第二数据中心接收到来自客户端的文件查询请求,会马上检查第二数据中心是否缓存了被查询的文件,其中所述被查询的文件的初始版本存储在第一数据中心。
第一数据中心包括主文件系统,是存储所有数据的文件系统,其他文件系统的数据都是从主文件系统拷贝而来。所述文件查询请求来自HDFS客户端、S3客户端、GFS客户端的一个或多个,其中,第二数据中心的数据接口自动适配和兼容所述任一客户端发送的文件查询请求的代码。
HDFS客户端,对接Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。
S3客户端,对接亚马逊公司的对象存储系统。
GFS客户端,对接谷歌公司的可扩展的分布式文件系统。
上述三种文件存储系统均为现有技术中常用的文件存储系统,本公开不再赘述。
在一个可能的实施例中,本公开的技术方案设计了一套标准的对象存储接口,同时也兼容了现有技术中主流的HDFS存储系统、对象存储系统的接口,用户可直接使用这些客户端进行访问,同时无需修改代码。
参见图3,本公开设计的标准对象存储接口协议的操作类型包括:列出文件桶、列出文件、读取文件、分段读取、查看文件元数据。
在一个可能的实施例中,任一个客户端对接的数据中心包括是对象存储系统或HDFS文件系统。其中,所述数据接口的安全认证接口包括:HTTPS和BASIC AUTH的认证方式,以及AWS签名算法和KERBEROS算法。因此,用户无需维护多份用户认证信息,也可以选择自己最熟悉的用户认证方式接入。
步骤202:针对第二数据中心缓存了所述文件的情况,校验第一数据中心的主文件系统与第二数据中心的缓存文件系统中存储的所述文件的一致性。
在文件被缓存完成后,以后的每一次访问,当缓存命中时,都会去校验缓存文件系统内的文件与主文件系统文件的一致性,校验时,如果检测到文件不一致,则会重新缓存该文件。这是为了防止用户更改了主文件系统的文件,导致返回旧版本文件的情况。
在一个可能的实施例中,所述一致性检查可以包括:文件大小、文件最后修改时间、文件摘要(利用MD5信息摘要算法)。
本公开的技术方案中,由于文件视图都是由主文件系统提供,缓存文件系统只提供文件内容的缓存,因此可以保证一致的文件视图。这样用户在使用文件时,只需访问一个地址,而无需记住文件与多个文件系统地址之间的存储关系。
步骤203:如果一致性检查通过,则直接返回所述文件。
步骤204:如果未通过一致性检查或未查询到所述文件,则生成一个缓存任务,并向第二数据中心的任务队列提交该缓存任务。
步骤205:所述任务队列接收到所述缓存任务后,会根据队列中的排队情况安排运行所述缓存任务。
在一个可能的实施例中,任务队列接受到缓存任务后,所述被查询文件的缓存任务会进行排队,等待其他先提交的任务先完成再运行。
所述运行缓存任务的方法包括:通过数据中心之间的专线拷贝所述主文件系统的文件到所述缓存文件系统中;如果所述专线空闲,则会开启多线程拷贝所述主文件系统的文件到所述缓存文件系统中;如果所述专线繁忙,则会单线程拷贝所述主文件系统的文件到所述缓存文件系统中;如果专线爆满,则会等待直到专线空闲。
相比于传统跨专线直接读取数据,本公开利用缓存文件任务队列实现了精确的流量控制。只有在文件被第一次被访问时,才需要跨专线拷贝,后面重复访问同一个文件时,如果缓存命中,则直接从本数据中心的缓存文件系统读取。另外,当数据中心之间的专线比较空闲时,会多线程去加速缓存文件,缓存速度为单线程缓存的6倍以上;当数据中心之间的专线比较繁忙时,会控制同时缓存文件的数量,确保不会占用过多的带宽,影响其他跨专线服务。此外,针对1GB以下的小文件,会额外启动一个任务队列,确保小文件不会因为大文件的缓存时间过长而等待。
步骤206:在运行缓存任务期间,向任务队列轮询任务状态,若有异常则重新提交缓存任务。
在一个可能的实施例中,重新提交缓存任务连续三次失败时,返回失败结果至客户端。
在一个可能的实施例中,所述运行缓存任务只包括对文件内容的缓存,主文件系统与缓存文件系统中的对应文件的文件视图一致。
步骤207:所述缓存任务运行完成后,返回缓存文件系统中的所述文件。
通过本公开的技术方案,实现了同一个数据中心对接了多种文件系统,保证同一文件在所有数据中心的一致性,在用户层面,可以用一套代码适用所有的文件系统,在开发者层面,只需维护一套主文件系统,即可实现跨数据中心共享数据。用户无需编写多套代码以适配不同的文件系统,降低业务开发成本。开发者也无需在多个数据中心搭建多套文件系统,消除每个文件系统的文件视图不一致,读取文件时无需额外记住文件系统的地址的复杂情况,减少运维工程师与服务器,减少公司运营成本。在数据的使用时,不受限于专线带宽及网络稳定性,提高用户对速度和流畅性的体验。
图4示出了根据本公开实施例的典型的跨数据中心的数据存储和查询方法的执行流程的示意图。
主文件系统409位于第一数据中心,当位于第二数据中心的服务器402接收来自客户端401的请求文件指令时,客户端401可以是各种文件系统类型的客户端。首先检查第二数据中心的缓存文件系统408内是否缓存了该文件,如果检查到缓存文件系统408中存在该文件,则校验主文件系统409与缓存文件系统408中该文件的一致性,其中,这里一致性检查的方式用户可以自由选择,如果主文件系统和缓存文件系统为append-only类型的文件系统,则可以以文件大小和文件修改时间为准,而不需要计算文件摘要,节省计算所花费的时间。如果一致性检查通过,则直接向用户返回缓存文件系统408内的该文件。
如果没有在缓存文件系统查找到该文件,则会生成该文件的缓存任务407,或者该文件的一致性校验未通过,则会生成该文件的缓存任务406,并向任务队列403提交该缓存任务;任务队列403接收到缓存任务后,缓存任务会进行排队,等待其他先提交的任务先完成再运行;在任务提交至任务完成期间,定期轮询任务状态,任务运行成功后,向用户返回缓存文件系统408中的该文件。如果任务出现异常,则会重新提交任务,直到任务完成或者连续失败三次,返回用户任务失败的结果。
因此,通过本公开的技术方案,只需要维护一个必要的主文件系统即可,缓存文件系统可选择各大云厂商的对象存储,如阿里云的OSS、腾讯云的COS、百度云的BOS、金山云的KS3等。相比于在多机房自己搭建文件系统,使用云厂商的对象存储具有成本低,维护简单的特点。
图5示出了根据本公开实施例的典型的跨数据中心的数据存储和查询系统的示意图。
如图5所示的系统500,包括文件请求单元501、一致性检查单元502、缓存任务单元503、文件返回单元504。
文件请求单元501,用于接收文件查询请求,检查第二数据中心是否缓存了被查询的文件,所述文件存储在第一数据中心;
一致性检查单元502,用于针对第二数据中心缓存了所述文件的情况,校验第一数据中心的主文件系统与第二数据中心的缓存文件系统中存储的所述文件的一致性;如果一致性检查通过,则直接返回所述文件;如果未通过一致性检查或未查询到所述文件,则生成一个缓存任务,并向第二数据中心的任务队列提交该缓存任务;
缓存任务单元503,用于所述任务队列接收到所述缓存任务后,会根据队列中的排队情况安排运行所述缓存任务;在运行缓存任务期间,向任务队列轮询任务状态,若有异常则重新提交缓存任务;
文件返回单元504,用于所述缓存任务运行完成后,返回缓存文件系统中的所述文件。
图6示出了用于实现本公开的实施例的电子设备的结构示意图。如图6所示,电子设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有电子设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,包括承载指令的在计算机可读介质,在这样的实施例中,该指令可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该指令被中央处理单元(CPU)601执行时,执行本公开中描述的各个方法步骤。
尽管已经描述了示例实施例,但是对于本领域技术人员来说显而易见的是,在不脱离本公开构思的精神和范围的情况下,可以进行各种改变和修改。因此,应当理解,上述示例实施例不是限制性的,而是说明性的。
Claims (10)
1.一种跨数据中心的数据存储和查询方法,包括:
接收文件查询请求,检查第二数据中心是否缓存了被查询的文件,所述文件存储在第一数据中心;
针对第二数据中心缓存了所述文件的情况,校验第一数据中心的主文件系统与第二数据中心的缓存文件系统中存储的所述文件的一致性;
如果一致性检查通过,则直接返回所述文件;
如果未通过一致性检查或未查询到所述文件,则生成一个缓存任务,并向第二数据中心的任务队列提交该缓存任务;
所述任务队列接收到所述缓存任务后,会根据队列中的排队情况安排运行所述缓存任务;
在运行缓存任务期间,向任务队列轮询任务状态,若有异常则重新提交缓存任务;
所述缓存任务运行完成后,返回缓存文件系统中的所述文件。
2.如权利要求1所述的方法,其中,所述文件查询请求来自一个或多个客户端,其中,第二数据中心的数据接口自动适配和兼容任一个客户端发送的文件查询请求的代码。
3.如权利要求1所述的方法,所述运行缓存任务的方法包括:通过数据中心之间的专线拷贝所述主文件系统的文件到所述缓存文件系统中;如果所述专线空闲,则会开启多线程拷贝所述主文件系统的文件到所述缓存文件系统中;如果所述专线繁忙,则会单线程拷贝所述主文件系统的文件到所述缓存文件系统中;如果专线爆满,则会等待直到专线空闲。
4.如权利要求1所述的方法,其中,所述运行缓存任务只包括对文件内容的缓存,主文件系统与缓存文件系统中的对应文件的文件视图一致。
5.如权利要求4所述的方法,所述一致性检查包括:文件大小、文件修改时间、文件摘要。
6.如权利要求2所述的方法,与所述一个或多个客户端对接的数据中心包括对象存储系统或HDFS文件系统。
7.如权利要求6所述的方法,其中,所述数据接口的安全认证接口包括:HTTPS和BASICAUTH的认证方式,以及AWS签名算法和KERBEROS算法。
8.一种跨数据中心的数据存储和查询系统,包括:
文件请求单元,用于接收文件查询请求,检查第二数据中心是否缓存了被查询的文件,所述文件存储在第一数据中心;
一致性检查单元,用于针对第二数据中心缓存了所述文件的情况,校验第一数据中心的主文件系统与第二数据中心的缓存文件系统中存储的所述文件的一致性;如果一致性检查通过,则直接返回所述文件;如果未通过一致性检查或未查询到所述文件,则生成一个缓存任务,并向第二数据中心的任务队列提交该缓存任务;
缓存任务单元,用于所述任务队列接收到所述缓存任务后,会根据队列中的排队情况安排运行所述缓存任务;在运行缓存任务期间,向任务队列轮询任务状态,若有异常则重新提交缓存任务;
文件返回单元,用于所述缓存任务运行完成后,返回缓存文件系统中的所述文件。
9.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至7任一项所述方法。
10.一种计算机可读存储介质,其上存储有可执行指令,所述可执行指令被处理器执行时使处理器执行如权利要求1至7任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110604500.6A CN113032338B (zh) | 2021-05-31 | 2021-05-31 | 一种跨数据中心的数据存储和查询方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110604500.6A CN113032338B (zh) | 2021-05-31 | 2021-05-31 | 一种跨数据中心的数据存储和查询方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113032338A true CN113032338A (zh) | 2021-06-25 |
CN113032338B CN113032338B (zh) | 2021-09-07 |
Family
ID=76455922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110604500.6A Active CN113032338B (zh) | 2021-05-31 | 2021-05-31 | 一种跨数据中心的数据存储和查询方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032338B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828596A (zh) * | 2005-02-28 | 2006-09-06 | 微软公司 | 在数据库内部表示的文件系统 |
CN101937467A (zh) * | 2010-09-17 | 2011-01-05 | 北京开心人信息技术有限公司 | 一种服务器的高效缓存方法与系统 |
US20160011984A1 (en) * | 2014-07-08 | 2016-01-14 | Netapp, Inc. | Method to persistent invalidation to ensure cache durability |
CN110447021A (zh) * | 2017-03-13 | 2019-11-12 | Wan迪斯科公司 | 用于在数据中心之间维持元数据和数据的一致性的方法、装置和系统 |
CN111984606A (zh) * | 2020-07-16 | 2020-11-24 | 上海金仕达软件科技有限公司 | 数据查询方法、装置、终端设备和存储介质 |
-
2021
- 2021-05-31 CN CN202110604500.6A patent/CN113032338B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828596A (zh) * | 2005-02-28 | 2006-09-06 | 微软公司 | 在数据库内部表示的文件系统 |
CN101937467A (zh) * | 2010-09-17 | 2011-01-05 | 北京开心人信息技术有限公司 | 一种服务器的高效缓存方法与系统 |
US20160011984A1 (en) * | 2014-07-08 | 2016-01-14 | Netapp, Inc. | Method to persistent invalidation to ensure cache durability |
CN110447021A (zh) * | 2017-03-13 | 2019-11-12 | Wan迪斯科公司 | 用于在数据中心之间维持元数据和数据的一致性的方法、装置和系统 |
CN111984606A (zh) * | 2020-07-16 | 2020-11-24 | 上海金仕达软件科技有限公司 | 数据查询方法、装置、终端设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113032338B (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230273937A1 (en) | Conditional master election in distributed databases | |
CN112104723B (zh) | 一种多集群的数据处理系统及方法 | |
JP4876170B2 (ja) | グリッド・システムにおいてセキュリティ強制を追跡するシステムおよび方法 | |
US20120084355A1 (en) | Method and apparatus for maintaining operability with a cloud computing environment | |
US11048422B2 (en) | Method, device, and computer readable storage medium for allocating access rights to data among storage processors | |
US11461156B2 (en) | Block-storage service supporting multi-attach and health check failover mechanism | |
US11556407B2 (en) | Fast node death detection | |
US11546307B2 (en) | Method to implement multi-tenant/shared Redis cluster using envoy | |
US10721335B2 (en) | Remote procedure call using quorum state store | |
US10700869B2 (en) | Access control and security for synchronous input/output links | |
US7395337B2 (en) | Method, system, and program for establishing and requesting status on a computational resource | |
US9910808B2 (en) | Reflective memory bridge for external computing nodes | |
US10929041B1 (en) | Block-storage service supporting multi-attach | |
CN113032338B (zh) | 一种跨数据中心的数据存储和查询方法与系统 | |
CN117370046A (zh) | 进程间通信方法、系统、设备和存储介质 | |
KR102439351B1 (ko) | Esg를 위한 비채굴 블록체인 네트워크 시스템 및 그 시스템에 참여하는 서버 노드의 동작 방법 | |
EP4318206A2 (en) | Technologies for scaling user interface backend clusters for database-bound applications | |
US10015248B1 (en) | Syncronizing changes to stored data among multiple client devices | |
CN115150464A (zh) | 应用代理方法、装置、设备及介质 | |
US10067720B2 (en) | Synchronous input/output virtualization | |
US11726882B2 (en) | System control processor data mirroring system | |
CN113254151B (zh) | 超级计算机系统虚拟化方法和装置 | |
US11288004B1 (en) | Consensus-based authority selection in replicated network-accessible block storage devices | |
US10762011B2 (en) | Reflective memory bridge for external computing nodes | |
CN114124680A (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 |