CN114281895B - 支持远程拉取的多数据中心同步方法 - Google Patents

支持远程拉取的多数据中心同步方法 Download PDF

Info

Publication number
CN114281895B
CN114281895B CN202111596972.8A CN202111596972A CN114281895B CN 114281895 B CN114281895 B CN 114281895B CN 202111596972 A CN202111596972 A CN 202111596972A CN 114281895 B CN114281895 B CN 114281895B
Authority
CN
China
Prior art keywords
data
synchronization
layer
database
remote
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
CN202111596972.8A
Other languages
English (en)
Other versions
CN114281895A (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.)
Chengdu Sobey Digital Technology Co Ltd
Original Assignee
Chengdu Sobey Digital Technology 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 Chengdu Sobey Digital Technology Co Ltd filed Critical Chengdu Sobey Digital Technology Co Ltd
Priority to CN202111596972.8A priority Critical patent/CN114281895B/zh
Publication of CN114281895A publication Critical patent/CN114281895A/zh
Application granted granted Critical
Publication of CN114281895B publication Critical patent/CN114281895B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种支持远程拉取的多数据中心同步方法,属于时序数据库技术领域,包括步骤:在多数据中心之间进行数据同步时,依据用户SQL语句中所涉及的数据进行拉取,并以数据块为单位进行按需同步;并且,用户在进行降采样查询时,只同步相关统计信息,而不同步数据本身;在对数据进行压缩过程中,获取数据块时无需解码,传输至目标库后也无需再次编码。本发明尤其适合在带宽受限情况下的多数据中心同步,同步无需特殊的SQL语句,实现同步操作对用户无感,提升了同步效率。

Description

支持远程拉取的多数据中心同步方法
技术领域
本发明涉及时序数据库技术领域,更为具体的,涉及一种支持远程拉取的多数据中心同步方法。
背景技术
传统数据库如果希望从远端向本地同步数据,通常有两种方式:
(1)数据库集群:这种方式下集群中各数据库中数据需要保持实时同步,所以对网络带宽要求较高,在网络延迟较高的环境中,集群性能较低,容易出现大量的事务回滚。并且,同步方式不够灵活,即便本地用户只关心远端的少量数据,也必须同步整个数据库,造成存储资源浪费。
(2)远程查询+本地插入:这种方式是从远程表中查询数据,然后插入本地表。这种方式足够灵活,但是同步粒度又太细,结果集在传输过程中,面临组织和压缩的问题。不能充分发挥时序数据按照时间有序组织数据的优势。
发明内容
本发明的目的在于克服现有技术的不足,提供一种支持远程拉取的多数据中心同步方法,解决背景中提出的技术问题,尤其适合在带宽受限情况下的多数据中心同步,同步无需特殊的SQL语句,实现同步操作对用户无感,提升了同步效率等。
本发明的目的是通过以下方案实现的:
一种支持远程拉取的多数据中心同步方法,包括步骤:在多数据中心之间进行数据同步时,依据用户SQL语句中所涉及的数据进行拉取,并以数据块为单位进行按需同步;并且,用户在进行降采样查询时,只同步相关统计信息,而不同步数据本身;在对数据进行压缩过程中,获取数据块时无需解码,传输至目标库后也无需再次编码。
进一步地,包括子步骤:
S1,本地数据库接收同步SQL语句,分析语句,判断是否需要远程拉取数据,如需拉取数据,则将语句传至远程数据库,并对SQL语句进行再次判定后拉取相应数据;
S2,将所需同步的数据块,传输至本地数据库;
S3,重新构建数据块统计信息的上下级关系。
进一步地,在步骤S1中,包括子步骤:用户在本地数据库执行查询时,本地数据库会首先判断所查询的数据是否存在于本地数据库,如果存在则直接从本地数据库获取数据,如果不存在则以Data Page为单位向远程数据库发起数据同步并将对应层的数据块存放位置提前挪出。
进一步地,所述Data Page都组织成64K的数据块。
进一步地,在步骤S1中,所述需要拉取哪一层中的数据具体:如果语句为count(*),则只需拉取Houre-Chunck层对应数据即可,无需拉取下层数据。
进一步地,在步骤S3中,远程数据库在收到远程同步请求后,会搜集这些数据块,搜集数据库块的过程实际就是顺序读取的过程。
进一步地,在步骤S3中,搜集完毕后,数据库会采用列存方式打包数据,打包成块后,直接传输回用户的本地数据库。
进一步地,在步骤S3中,包括子步骤:本地数据库在收到数据块后执行插入操作,并重新构建统计信息上下级关系。
进一步地,所述对SQL语句进行再次判定后拉取相应数据具包括子步骤:如SQL语句是做降采样查询,且时间颗粒度为Second-Chunk层或Minute-Chuck层或Hour-Chunk层的整数倍,则只需拉取远程数据库中对应层及其上层的数据;如果SQL语句是查询具体源数据,则需以data-page为单位,拉取远程数据库中的数据,并在本地数据库中提前挪出位置。
进一步地,所述本地数据库和远程数据库均根据时序数据本身自带顺序的特点,保留顺序写;并且按时间颗粒度进行统计信息分层,每一层之间直接访问,无需返回根节点或上层节点,所述统计信息按统一的数据块来进行管理。
本发明的有益效果是:
本发明实施例提供了以数据块为单位的按需同步策略,实现数据的按需同步,解决了带宽受限情况下数据同步的延迟问题,尤其适合在带宽受限情况下的多数据中心同步,同步无需特殊的SQL语句,实现同步操作对用户无感。
本发明实施例,可以极大减少同步量,提升同步效率。同时,在数据压缩环节,获取数据块时无需解码,传输至目标库后也无需再次编码,精简了数据传输过程,确保有限带宽下数据传输的性能,能够进一步提升同步效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的架构示意图;
图2为本发明方法的步骤流程图。
Data-page:原始数据层;
Second-Chunk:秒级层;
Minute-Chuck:分钟层;
Hour-Chunk:小时层;
partition:数据库会按照维度字段分为多个Partition,每个Partition中包含相同维度的不同数据;
Chunk:一个Partition分为多个Chunk,每一个Chunk都会记录相应时间范围内所有数据字段的范围及统计信息;
Root:每一个Hour-Chunk Block对应一条Root记录,即Root层管理着Hour-Chunk;
Tags:维度字段,用户在创建表时可以指定哪些字段为维度字段。
具体实施方式
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
下面根据附图1~图2,对本发明要解决的技术问题、技术构思、工作原理、工作过程和有益效果作进一步详细说明。
如图1~图2所示,一种支持远程拉取的多数据中心同步方法,针对背景技术中存在的问题,基于时序数据库引擎,至少解决如下两个问题:(1)多数据中心按需数据库同步的问题;(2)带宽受限情况下数据同步的延迟问题。
本发明实施例的方案包括:1)按需同步策略:依据用户SQL语句中所涉及的数据进行拉取,尤其用户在进行降采样查询时,只同步相关统计信息,而不同步数据本身,从而极大减少同步量,提升同步效率。2)数据压缩设计:为了进一步提升同步效率,获取数据块时无需解码,传输至目标库后也无需再次编码,精简数据传输过程,确保有限带宽下数据传输的性能。
对于用户而言,只是执行一个常规查询语句,数据库会自动判断是否需要进行数据同步,以及同步多少数据。在具体应用时,包括步骤:
步骤1:本地DB接收同步SQL语句,分析语句,判断是否需要远程拉取数据,如需拉取数据,则将语句传至远程数据库,判定需拉取哪一层中的数据,然后将对应层及其上层数据拉取至本地(如语句为count(*)则只需拉取Houre-Chunck层对应数据即可,无需拉取下层数据);并且,将语句传至远程DB,获取对应数据块;
在该步骤1中,如图1所示:在三层中(Hour-Chunk层、Minute-Chuck层、Second-Chunk层),假设同步的数据只需要Minute-Chuck层,那上层的Hour-Chunk层也需要同步,但root层(图1中未画出)就不需要了,因为root层本身就是用来管理Hour-Chunk层的,会自动产生,partition层(图1中未画出)也不需要,因为在拉取数据的时候,也必须是去同一个partition层拉取。
步骤2:将所需同步的数据块,传输至本地DB;
步骤3:重新构建数据块统计信息的上下级关系。
本发明的方案架构如图1~图2所示,用户在本地数据库执行查询时,数据库会首先判断所查询的数据是否存在于本地数据库,如果存在则直接从本地数据库获取数据,如果不存在则以Data Page为单位向远程数据库发起数据同步并将对应层的数据块存放位置提前挪出。Data Page都组织成64K的数据块,由于时序数据都是顺序写入且不存在修改和删除,所以不用像传统数据库那样需要在块中预留空间以备可能发生的数据更新,数据块具有极高的有效载荷。远端数据库在收到远程同步请求后,会搜集这些数据块,由于时序数据库始终数据是按照时间先后存放,所以数据块也是按照时间先后存放,搜集数据库块的过程实际就是顺序读取的过程,顺序读取的性能会非常高。搜集完毕后,数据库会采用列存方式打包数据,打包成块后,直接传输回用户的本地数据库,从而降低通信开销,提升同步效率。其他节点收到数据块后执行插入操作,并重新构建统计信息上下级关系。
实施例1:一种支持远程拉取的多数据中心同步方法,包括步骤:在多数据中心之间进行数据同步时,依据用户SQL语句中所涉及的数据进行拉取,并以数据块为单位进行按需同步;并且,用户在进行降采样查询时,只同步相关统计信息,而不同步数据本身;在对数据进行压缩过程中,获取数据块时无需解码,传输至目标库后也无需再次编码。
实施例2:在实施例1的基础上,包括子步骤:
S1,本地数据库接收同步SQL语句,分析语句,判断是否需要远程拉取数据,如需拉取数据,则将语句传至远程数据库,并对SQL语句进行再次判定后拉取相应数据;
S2,将所需同步的数据块,传输至本地数据库;
S3,重新构建数据块统计信息的上下级关系。
实施例3:在实施例2的基础上,在步骤S1中,包括子步骤:用户在本地数据库执行查询时,本地数据库会首先判断所查询的数据是否存在于本地数据库,如果存在则直接从本地数据库获取数据,如果不存在则以Data Page为单位向远程数据库发起数据同步并将对应层的数据块存放位置提前挪出。
实施例4:在实施例3的基础上,所述Data Page都组织成64K的数据块。
实施例5:在实施例2的基础上,在步骤S1中,所述需要拉取哪一层中的数据具体:如果语句为count(*),则只需拉取Houre-Chunck层对应数据即可,无需拉取下层数据。
实施例6:在实施例2的基础上,在步骤S3中,远程数据库在收到远程同步请求后,会搜集这些数据块,搜集数据库块的过程实际就是顺序读取的过程。
实施例7:在实施例6的基础上,在步骤S3中,搜集完毕后,数据库会采用列存方式打包数据,打包成块后,直接传输回用户的本地数据库。
实施例8:在实施例1的基础上,在步骤S3中,包括子步骤:本地数据库在收到数据块后执行插入操作,并重新构建统计信息上下级关系。
实施例9:在实施例2的基础上,所述对SQL语句进行再次判定后拉取相应数据具包括子步骤:如SQL语句是做降采样查询,且时间颗粒度为Second-Chunk层或Minute-Chuck层或Hour-Chunk层的整数倍,则只需拉取远程数据库中对应层及其上层的数据;如果SQL语句是查询具体源数据,则需以data-page为单位,拉取远程数据库中的数据,并在本地数据库中提前挪出位置。
实施例10:在任一实施例2~9的基础上,所述本地数据库和远程数据库均根据时序数据本身自带顺序的特点,保留顺序写;并且按时间颗粒度进行统计信息分层,每一层之间直接访问,无需返回根节点或上层节点,所述统计信息按统一的数据块来进行管理。
本发明功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,在一台计算机设备(可以是个人计算机,服务器,或者网络设备等)以及相应的软件中执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、或者光盘等各种可以存储程序代码的介质,进行测试或者实际的数据在程序实现中存在于只读存储器(Random Access Memory,RAM)、随机存取存储器(Random Access Memory,RAM)等。

Claims (7)

1.一种支持远程拉取的多数据中心同步方法,其特征在于,包括步骤:
在多数据中心之间进行数据同步时,依据用户SQL语句中所涉及的数据进行拉取,并以数据块为单位进行按需同步;并且,用户在进行降采样查询时,只同步相关统计信息,而不同步数据本身;在对数据进行压缩过程中,获取数据块时无需解码,传输至目标库后也无需再次编码;包括子步骤:
S1,本地数据库接收同步SQL语句,分析语句,判断是否需要远程拉取数据,如需拉取数据,则将语句传至远程数据库,并对SQL语句进行再次判定后拉取相应数据;
S2,将所需同步的数据块,传输至本地数据库;
S3,重新构建数据块统计信息的上下级关系;
所述对SQL语句进行再次判定后拉取相应数据具包括子步骤:如SQL语句是做降采样查询,且时间颗粒度为Second-Chunk层或Minute-Chunk层或Hour-Chunk层的整数倍,则只需拉取远程数据库中对应层及其上层的数据;如果SQL语句是查询具体源数据,则需以data-page为单位,拉取远程数据库中的数据,并在本地数据库中提前挪出位置;
所述本地数据库和远程数据库均根据时序数据本身自带顺序的特点,保留顺序写;并且按时间颗粒度进行统计信息分层,每一层之间直接访问,无需返回根节点或上层节点,所述统计信息按统一的数据块来进行管理。
2.根据权利要求1所述的支持远程拉取的多数据中心同步方法,其特征在于,在步骤S1中,包括子步骤:用户在本地数据库执行查询时,本地数据库会首先判断所查询的数据是否存在于本地数据库,如果存在则直接从本地数据库获取数据,如果不存在则以data-page为单位向远程数据库发起数据同步并将对应层的数据块存放位置提前挪出。
3.根据权利要求2所述的支持远程拉取的多数据中心同步方法,其特征在于,所述data-page都组织成64K的数据块。
4.根据权利要求1所述的支持远程拉取的多数据中心同步方法,其特征在于,在步骤S1中,需要拉取哪一层中的数据,具体:如果语句为count(*),则只需拉取Hour-Chunk层对应数据即可,无需拉取下层数据。
5.根据权利要求1所述的支持远程拉取的多数据中心同步方法,其特征在于,在步骤S3中,远程数据库在收到远程同步请求后,会搜集这些数据块,搜集数据库块的过程实际就是顺序读取的过程。
6.根据权利要求5所述的支持远程拉取的多数据中心同步方法,其特征在于,在步骤S3中,搜集完毕后,数据库会采用列存方式打包数据,打包成块后,直接传输回用户的本地数据库。
7.根据权利要求1所述的支持远程拉取的多数据中心同步方法,其特征在于,在步骤S3中,包括子步骤:本地数据库在收到数据块后执行插入操作,并重新构建统计信息上下级关系。
CN202111596972.8A 2021-12-24 2021-12-24 支持远程拉取的多数据中心同步方法 Active CN114281895B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111596972.8A CN114281895B (zh) 2021-12-24 2021-12-24 支持远程拉取的多数据中心同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111596972.8A CN114281895B (zh) 2021-12-24 2021-12-24 支持远程拉取的多数据中心同步方法

Publications (2)

Publication Number Publication Date
CN114281895A CN114281895A (zh) 2022-04-05
CN114281895B true CN114281895B (zh) 2023-12-08

Family

ID=80874783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111596972.8A Active CN114281895B (zh) 2021-12-24 2021-12-24 支持远程拉取的多数据中心同步方法

Country Status (1)

Country Link
CN (1) CN114281895B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268589A (zh) * 2017-12-05 2018-07-10 北京百度网讯科技有限公司 时序数据的聚合查询方法、装置、计算机设备及可读介质
CN108460094A (zh) * 2018-01-30 2018-08-28 上海天旦网络科技发展有限公司 存储统计数据的方法和系统
CN109241175A (zh) * 2018-06-28 2019-01-18 东软集团股份有限公司 数据同步方法、装置、存储介质及电子设备
CN109766394A (zh) * 2018-12-19 2019-05-17 上海前隆信息科技有限公司 度量平台数据查询方法及装置、可读存储介质及终端
CN109783512A (zh) * 2018-12-13 2019-05-21 平安科技(深圳)有限公司 数据处理方法、装置、计算机设备及存储介质
EP3503385A1 (fr) * 2017-12-21 2019-06-26 Thales Synchronisation temporelle faible complexite dans une boucle de calcul de predistorsion numerique
CN110046183A (zh) * 2019-04-16 2019-07-23 北京易沃特科技有限公司 一种时序数据聚合检索方法、设备及介质
CN111930787A (zh) * 2020-08-24 2020-11-13 Oppo广东移动通信有限公司 同步方法及装置
CN112380225A (zh) * 2021-01-15 2021-02-19 长沙树根互联技术有限公司 时序数据同步方法、装置、设备及存储介质
CN113452770A (zh) * 2021-06-24 2021-09-28 未鲲(上海)科技服务有限公司 数据同步方法、装置、计算机设备及存储介质
CN113515545A (zh) * 2021-06-30 2021-10-19 北京百度网讯科技有限公司 数据查询方法、装置、系统、电子设备以及存储介质
CN113593351A (zh) * 2021-09-27 2021-11-02 华中师范大学 一种立体综合教学场系统及其工作方法
CN113761013A (zh) * 2020-06-05 2021-12-07 杭州海康威视数字技术股份有限公司 时序数据预统计方法、装置及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10380072B2 (en) * 2014-03-17 2019-08-13 Commvault Systems, Inc. Managing deletions from a deduplication database
CN113342284B (zh) * 2021-06-30 2023-02-28 招商局金融科技有限公司 时序数据存储方法、装置、计算机设备及存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268589A (zh) * 2017-12-05 2018-07-10 北京百度网讯科技有限公司 时序数据的聚合查询方法、装置、计算机设备及可读介质
EP3503385A1 (fr) * 2017-12-21 2019-06-26 Thales Synchronisation temporelle faible complexite dans une boucle de calcul de predistorsion numerique
CN108460094A (zh) * 2018-01-30 2018-08-28 上海天旦网络科技发展有限公司 存储统计数据的方法和系统
CN109241175A (zh) * 2018-06-28 2019-01-18 东软集团股份有限公司 数据同步方法、装置、存储介质及电子设备
CN109783512A (zh) * 2018-12-13 2019-05-21 平安科技(深圳)有限公司 数据处理方法、装置、计算机设备及存储介质
CN109766394A (zh) * 2018-12-19 2019-05-17 上海前隆信息科技有限公司 度量平台数据查询方法及装置、可读存储介质及终端
CN110046183A (zh) * 2019-04-16 2019-07-23 北京易沃特科技有限公司 一种时序数据聚合检索方法、设备及介质
CN113761013A (zh) * 2020-06-05 2021-12-07 杭州海康威视数字技术股份有限公司 时序数据预统计方法、装置及存储介质
CN111930787A (zh) * 2020-08-24 2020-11-13 Oppo广东移动通信有限公司 同步方法及装置
CN112380225A (zh) * 2021-01-15 2021-02-19 长沙树根互联技术有限公司 时序数据同步方法、装置、设备及存储介质
CN113452770A (zh) * 2021-06-24 2021-09-28 未鲲(上海)科技服务有限公司 数据同步方法、装置、计算机设备及存储介质
CN113515545A (zh) * 2021-06-30 2021-10-19 北京百度网讯科技有限公司 数据查询方法、装置、系统、电子设备以及存储介质
CN113593351A (zh) * 2021-09-27 2021-11-02 华中师范大学 一种立体综合教学场系统及其工作方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Efficient synchronization methods for LET-based applications on a Multi-Processor System on Chip;Gabriela Breaban等;《Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017》;第1721-1726页 *
一种面向键值对存储系统的高效数据迁移机制的设计与实现;孟嘉豪;《中国优秀硕士学位论文全文数据库信息科技辑》(第1期);第I137-155页 *

Also Published As

Publication number Publication date
CN114281895A (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
US11500821B2 (en) Synchronizing metadata in a data storage platform comprising multiple computer nodes
JP7271670B2 (ja) データレプリケーション方法、装置、コンピュータ機器及びコンピュータプログラム
CN105190623B (zh) 日志记录管理
US10013440B1 (en) Incremental out-of-place updates for index structures
US7716445B2 (en) Method and system for storing a sparse file using fill counts
US20080281784A1 (en) Query handling in databases with replicated data
CN103942342A (zh) 一种内存数据库oltp&olap并发查询优化方法
CN109783016A (zh) 一种分布式存储系统中的弹性多维度冗余方法
US20020029214A1 (en) Synchronizable transactional database method and system
CN109308329A (zh) 一种基于云平台的日志收集方法和装置
CN103595797B (zh) 一种分布式存储系统中的缓存方法
CN108491332A (zh) 一种基于Redis的实时缓存更新方法和系统
WO2013165532A1 (en) Method and system for managing power grid data
CN104750858A (zh) 一种基于网络的数据存储方法
CN104462224A (zh) 一种云盘文件在线编辑方法
CN111708894A (zh) 一种知识图谱创建方法
CN114398217A (zh) 一种fpga并行仿真的海量仿真波形数据切片方法
CN111427964A (zh) 一种面向运行时间戳的工业云数据存储模型
CN114281895B (zh) 支持远程拉取的多数据中心同步方法
CN116894041B (zh) 数据存储方法、装置、计算机设备及介质
CN110134690B (zh) Oracle数据库超大数据快速存储方法及系统
CN117171209A (zh) 一种缓存数据清理方法、装置、存储介质和电子设备
CN102169504B (zh) 一种用于卫星地面设备监控的数据库索引方法
WO2018099202A1 (zh) 一种数据存储维护方法及装置和计算机存储介质
CN111026764B (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