掌桥专利:专业的专利平台
掌桥专利
首页

数据同步方法及相应的装置、系统、存储介质

文献发布时间:2023-06-19 10:43:23


数据同步方法及相应的装置、系统、存储介质

技术领域

本申请涉及数据分析技术领域,具体而言,本申请涉及一种数据同步方法及相应的装置、系统、存储介质。

背景技术

随着数据收集手段的不断丰富及完善,越来越多的行业数据被积累下来。数据规模已经增长到了传统软件行业无法承载的海量数据级别。在分析海量数据场景下,由于单台服务器的处理能力限制,数据读取、数据分析者通常采用分布式计算模式,在这种大数据环境下很容易发生数据误删或数据传错目录的情况。

发明内容

本申请针对现有方式的缺点,提出一种数据同步方法及相应的装置、系统、存储介质,用以解决现有技术存在大数据环境下数据容易发被数据误删或数据传错目录的技术问题。

第一方面,本申请实施例提供了一种数据同步方法,应用于分布式文件系统,包括:

向数据仓库工具Hive服务器发送贴源数据层数据;

接收Hive服务器基于贴源数据层数据生成并反馈的统一数仓层数据;

向数据中台系统发送贴源数据层数据和统一数仓层数据。

第二方面,本申请实施例提供了一种分布式文件系统,包括:

存储器;

处理器,与存储器电连接;

存储器存储有计算机程序,计算机程序由处理器执行以实现本申请实施例第一方面提供的数据同步方法。

第三方面,本申请实施例提供一种数据同步方法,应用于数据中台系统,包括:

接收分布式文件系统发送的贴源数据层数据和统一数仓层数据并存储;统一数仓层数据是由Hive服务器基于贴源数据层数据生成并反馈至分布式文件系统的。

第四方面,本申请实施例提供一种数据中台系统,包括:数据中台总服务器;

数据中台总服务器包括:电连接的存储器和处理器;

存储器存储有计算机程序,计算机程序由处理器执行以实现本申请实施例第三方面提供的数据同步方法。

第五方面,本申请实施例提供一种数据同步系统,其特征在于,包括:列式存储服务器、Hive服务器、本申请实施例第二方面的分布式文件系统以及本申请实施例第四方面的数据中台系统;

数据中台系统、Hive服务器均与分布式文件系统通信连接;

列式存储服务器用于:向Hive服务器发送列式存储数据库中的统一数仓层数据;

Hive服务器用于:接收分布式文件系统发送的贴源数据层数据;基于贴源数据层数据生成统一数仓层数据;向分布式文件系统发送统一数仓层数据。

第六方面,本申请实施例提供一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现:本申请实施例第一方面提供的数据同步方法或本申请实施例第三方面提供的数据同步方法。

本申请实施例提供的技术方案,至少具有如下有益效果:

本申请实施例可基于分布式文件系统中的贴源数据层数据生成统一数仓层数据,并将贴源数据层数据和统一数仓层数据同步到数据中台系统中,实现分布式文件系统中数据的安全备份,有效防止数据误删和数据传错目录的情况发生。从而在发生意外(如网络不稳定或网络不通)时,使用户(如企业用户)可正常读取数据来进行数据处理(如数据分析、数据清洗等)。

本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例提供的一种数据同步系统的结构框架示意图;

图2为本申请实施例提供的另一种数据同步系统的结构框架以及该系统与大数据平台的连接示意图;

图3为本申请实施例中数据传输和应用的数据流示意图;

图4为本申请实施例提供的一种电子设备的结构框架示意图;

图5为本申请实施例提供的一种数据同步方法的流程示意图;

图6为本申请实施例提供的另一种数据同步方法的部分流程示意图;

图7为本申请实施例提供的又一种数据同步方法的流程示意图;

图8为本申请实施例提供的一种数据同步装置的结构框架示意图;

图9为本申请实施例提供的另一种数据同步装置的结构框架示意图。

具体实施方式

下面详细描述本申请,本申请的实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的部件或具有相同或类似功能的部件。此外,如果已知技术的详细描述对于示出的本申请的特征是不必要的,则将其省略。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

首先对本申请涉及的几个名词进行介绍和解释:

数据资产:由企业拥有或控制的,能够为企业带来未来经济利益的,以物理或者电子的方式记录的数据资源,如文件资料、电子数据等。数据资产特征的特征可以包括:覆盖全域数据、层次结构清晰、数据准确一致、性能提升、降低成本、方便易用。数据资产是数据中台最核心的产物,把企业内各业务线上所有产品的数据打通,实现数据只需要处理一次,就可以实现数据复用、共享,摒弃原来的各业务各自的烟囱式开发和存储,降低开发成本和人力物力。

数据资产可包括ODS(Operational Data Store,贴源数据层)、DW(DataWarehouse,统一数仓层)、TDM(Tag Data Model,标签数据层)、ADS(Application DataStore,应用数据层)和DIM(DIM data,维度表)中的全部或部分的数据层和维度表中的数据。

ODS层:数据仓库源头系统的数据表通常会原封不动的存储一份,这称为ODS层,也称为准备区,是后续数据仓库层加工数据的来源。

DW层:包括DWD(Data Warehouse Detail,数据仓库明细层)和DWS(DataWarehouse Summary,数据仓库汇总层),是业务层与数据仓库的隔离层,是最接近数据源中数据的一层,数据源中的数据进过ETL(Extract-Transform-Load,抽取-转换-加载)后装入本层;这一层主要解决一些数据质量问题和数据的完整度问题;DW层的表通常包括两类,一类用于存储当前需要加载的数据,一类用于存储处理完后的历史数据。

Hive:在分布式系统基础架构Hadoop中用来处理结构化数据一个数据仓库基础工具,Hive架构在Hadoop之上,可使得查询和分析方便。

Hive提供简单的SQL查询功能,可以将SQL(Structured Query Language,结构化查询语言)语句转换为MapReduce(一种编程模型,用于大规模数据集的并行运算)任务进行运行。Hive构建在基于静态批处理的Hadoop之上,Hadoop通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销,因此,Hive并不能够在大规模数据集上实现低延迟快速的查询,例如,Hive在几百MB(兆字节)的数据集上执行查询一般有分钟级的时间延迟,因此,Hive并不适合那些需要低延迟的应用。

HDFS:Hadoop Distributed File System的缩写,表示Hadoop分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上,所以非常适合持久化存储超大数据集;HDFS也能提供高吞吐量的数据访问,非常适合大数据集上的应用。

SVN:subversion的缩写,一个开源的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

SVN无论文件是文本还是二进制类型,在内部都是以二进制差异比较算法来表示文件的更新部分,这表示所有的文件在文件库中都是以差异的形式储存;而且在网络上传输的,都是较小的文件差异部分,这也使创建分支、打标签、合并等操作可以非常快地完成,对目录的组织的管理更加方便。SVN不光对文件做版本跟踪,也会对目录做版本跟踪,因此可以根据项目的需要,对目录结构随时进行修改,可以把现有的目录移动到新的地方,保证提交操作的完整性。SVN对提交操作的处理方式类似数据库的事务处理,要么全部成功,要么全部无效,保证了原子性。

Kafka:消息引擎,其可以支持集群模式,可实现多份相同的备份共同提供冗余机制来保证系统高可用性;可持久化存储数据(一般设定是7天),意思是7天内传入Kafka中的数据不会被删除,落地存储在硬盘上;并且,Kafka核心架构是生产者发送消息给Kafka,消费者从Kafka服务器读取消息,其最常见的两种消息引擎范型:消息队列模型和发布/订阅模型,Kafka同时支持这两种消息引擎模型。

ClickHouse:是面向列的DBMS(Database Management System,数据库管理系统),即可以单独存储单独列的值,允许在运行时创建表和数据库,加载数据和运行查询,而无需重新配置和重新启动服务器;使用数据压缩提高性能;支持磁盘存储数据,可存储的数据量就提升了;支持实时数据更新,数据可以不断添加到表中,添加数据时无锁处理;最大的优点是查询速度快、体量大-PB级别,支持类SQL查询,也支持数据库异地复制部署,非常适合用于支持数据服务应用的数据源库。

数据中台:指通过数据技术,对海量数据进行采集、计算、存储、加工,同时统一数据标准和口径,同时还包括构建数据中台过程中的所需要模型服务、算法服务、建设数据中台的组织、流程、标准和规范及管理制度等。数据中台是把数据统一之后,会形成标准数据,再进行存储,形成数据资产,通过数据挖掘和分析工具实现数据服务能力,进而为企业和客户提供高效服务。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。

本申请实施例提供了一种数据同步系统,如图1所示,该数据同步系统100包括:Hive服务器110、分布式文件系统(HDFS,Hadoop Distributed File System)120以及数据中台系统130;数据中台系统130、HIVE服务器110均与分布式文件系统120通信连接。

Hive服务器110用于:接收分布式文件系统120发送的贴源数据层数据;基于贴源数据层数据生成统一数仓层数据;向分布式文件系统120发送统一数仓层数据。

在一个实施例中,Hive服务器110的数量可以为一个,Hive服务器110可将贴源数据层数据和统一数仓层数据存储于Hive数据库中,在将统一数仓层数据发送至分布式文件系统120后,创建该两层数据的外部表,将HDFS的存储路径作为该外部表的读写路径。

在另一个实施例中,Hive服务器110的数量可以为两个,一个Hive服务器110在接收到贴源数据层数据时可将该贴源数据层数据存储于本服务器的Hive数据库中,并建立该数据的外部表ODS_Hive,该外部表ODS_Hive的读写路径为HDFS的存储路径;该Hive服务器110在生成统一数仓层数据时可将该统一数仓层数据存储于另一个Hive服务器110的Hive数据库中,在将统一数仓层数据发送至分布式文件系统120后,建立该数据的外部表DW_Hive,该外部表DW_Hive的读写路径为HDFS的存储路径。

视数据量的大小,可根据实际需求设置更多的Hive服务器110用于存储数据并构建相应的外部表。

可选地,本申请实施例中的Hive服务器110还可基于统一数仓层数据生成标签数据层数据和应用数据层数据,并创建维度表DIM。

可选地,如图2所示,本申请实施例提供的数据同步系统100还包括:ClickHouse服务器140(存储有列式存储数据库ClickHouse的服务器)和后台服务器150。

ClickHouse服务器140和后台服务器150均与Hive服务器110通信连接,ClickHouse服务器140用于接收Hive服务器110发送的统一数仓层数据并存储于列式存储数据库ClickHouse中;后台服务器150用于接收Hive服务器110发送的数据资产的至少一层的数据作为数据资产的元数据进行存储。

数据资产的元数据包括硬件(如显示器、手机、电脑等终端设备)数据和软件数据。其中,如图3所示,硬件数据包括硬件埋点数据(实时数据)和预存的数据库数据(离线数据),具体可包括终端设备本身所具有的属性信息,例如所支持的分辨率以及设备尺寸等等;软件数据包括客户端数据和服务端数据,客户端数据和服务端数据均包括相应软件的软件埋点数据(实时数据)和预存的数据库软件数据(离线数据),具体可包括客户端和服务端的相应软件在使用过程中产生的记录数据和储存的文件。

参照图2和图3,硬件数据和软件数据通过通用型数据接口API(ApplicationProgramming Interface,应用程序接口)传输至大数据平台160,大数据平台160对接收到的硬件数据和软件数据进行数据清洗后,向HDFS发送清洗后的硬件数据和软件数据作为数据资产的元数据。通用型数据接口中所包括的属性信息可以包括数据来源(from system)、数据报告者(reporter)、数据版本号(version)、数据发送地点(location)、数据发生时间戳(event time)、数据事件类型(event type)以及数据详细信息(arguments)。

为了实现一个接口就可以复用收集各个来源的实时数据流,通用型数据接口可定义一个通用的标准数据格式,例如json格式或者xml格式,但并不局限于这两种格式。

大数据平台160包括HDFS和Spark(专为大规模数据处理而设计的快速通用的计算引擎),并安装有数据消费者(可采用消息引擎Kafka来实现);大数据平台160中的HDFS可接收并存储上述硬件数据和软件数据,Spark可实现对硬件数据和软件数据的数据清洗,Kafka可向本申请实施例提供的数据同步系统中的HDFS发送清洗后的该硬件数据和软件数据,数据同步系统中的HDFS可基于接收到的硬件数据和软件数据构建ODS层数据。

Kafka向数据同步系统中的HDFS发送的硬件数据和软件数据均可以包括数据来源、数据报告者、数据版本号、数据发送地点、数据发生时间戳、数据事件类型以及数据详细信息。

数据同步系统中的HDFS接收的硬件数据和软件数据来源于API接口,具有统一的数据格式,均包括数据来源、数据报告者、数据版本号、数据发送地点、数据发生时间戳、数据事件类型以及数据详细信息,便于后续的离线开发的编写,不论各业务初始数据格式是什么,统一数据格式后,就可以采用一个程序进行处理,减轻了工作量和避免了开发人员对业务数据元数据的了解。

本申请实施例提供了一种分布式文件系统120,包括:电连接的存储器和处理器。

存储器存储有计算机程序,计算机程序由处理器执行以实现数据同步方法,该数据同步方法的具体内容将在后文中详述。

参照图2,本申请实施例提供了一种数据中台系统130,包括:数据中台总服务器131。

数据中台总服务器131包括:电连接的存储器和处理器;存储器存储有计算机程序,该计算机程序由处理器执行以实现数据同步方法,该数据同步方法的具体内容将在后文中详述。

可选地,参照图2,本申请实施例提供的数据中台系统130还包括:多个数据中台子服务器132。

每个数据中台子服务器132均与数据中台总服务器131通信连接。数据中台总服务器131用于:响应数据中台子服务器132的第二数据调用请求,向数据中台子服务器132发送所请求的数据;数据中台子服务器132用于:接收数据中台总服务器131发送的数据并存储;响应于用户终端的第三数据调用请求,向用户终端发送所请求的数据。

本申请实施例中的数据中台子服务器132为本地服务器,第二数据调用请求可以是由对数据中台子服务器132的更新操作生成的,数据中台子服务器132在每次更新时均可向数据中台总服务器131发送第二数据调用请求,以获取数据中台总服务器131中更新的数据。

可选地,每个数据中台子服务器132均包括:电连接的存储器和处理器;存储器存储有计算机程序,该计算机程序由处理器执行以实现如下数据传输方法:接收数据中台总服务器131发送的数据并存储;响应于用户终端的第三数据调用请求,向用户终端发送所请求的数据。

开发人员可通过用户终端访问数据中台子服务器132,以读取所上传的数据进行数据的具体应用,如图3所示,例如数据的开发、运营、分析、查询和预测等数据服务。

本申请实施例中从硬件数据、软件数据到开发人员的数据应用,其数据流如图3所示。

可选地,数据中台总服务器131和数据中台子服务器132均为SVN服务器,即安装有SVN的服务器。

SVN是一种技术性更加安全的产品,实现了系统和控制两方面的结合,一方面可以将系统整体的安全功能有效地分布在分支系统中,进而保证分支系统能正常运行,从而使各分支系统能够互补,最终在系统整体性的安全性得以保障,通过均衡原则实现最终追求安全的目的。

本技术领域技术人员可以理解,本申请实施例提供的分布式文件系统120、数据中台总服务器131和数据中台子服务器132均可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中。

本申请在一个可选实施例中提供了一种电子设备,作为分布式文件系统120、数据中台总服务器131和数据中台子服务器132中的任意一种。如图4所示,该电子设备400包括:存储器401和处理器402,存储器401和处理器402电连接,如通过总线403连接。

存储器401可以是ROM(Read-Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,可以是RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead-Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

处理器402可以是CPU(Central Processing Unit,中央处理器)、通用处理器,DSP(Digital Signal Processor,数据信号处理器)、ASIC(Application SpecificIntegrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器402也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线403可包括一通路,在上述组件之间传送信息。总线可以是PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选地,电子设备400还可以包括收发器404。收发器404可用于信号的接收和发送。收发器404可以允许电子设备400与其他设备进行无线或有线通信以交换数据。需要说明的是,实际应用中收发器404不限于一个。

可选地,电子设备400还可以包括输入单元405。输入单元405可用于接收输入的数字、字符、图像和/或声音信息,或者产生与电子设备400的用户设置以及功能控制有关的键信号输入。输入单元405可以包括但不限于触摸屏、物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆、拍摄装置、拾音器等中的一种或多种。

可选地,电子设备400还可以包括输出单元406。输出单元406可用于输出或展示经过处理器402处理的信息。输出单元406可以包括但不限于显示装置、扬声器、振动装置等中的一种或多种。

虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

基于同一发明构思,本申请实施例提供了一种数据同步方法,可应用于前述的数据同步系统100,如图5所示,该数据同步方法包括:

S510,分布式文件系统120向Hive服务器110发送贴源数据层数据。

可选地,贴源数据层可通过以下方式构建:

接收消息引擎Kafka发送的硬件数据和软件数据;创建包括数据来源、数据报告者、数据版本号、数据发送地点、数据发生时间戳、数据事件类型以及数据详细信息的贴源数据表;根据硬件数据和软件数据的数据发生时间戳所对应的当前日期,将该硬件数据和软件数据写入贴源数据表中与所述当前日期对应的位置,得到所述原始数据层。

S520,Hive服务器110接收贴源数据层数据,基于贴源数据层数据生成统一数仓层数据,向分布式文件系统120发送统一数仓层数据。

可选地,统一数仓层可基于Kimball的维度建模理论来构建。

S530,分布式文件系统120接收Hive服务器110反馈的统一数仓层数据。

S540,分布式文件系统120向数据中台系统130发送贴源数据层数据和统一数仓层数据。

具体地,分布式文件系统120向数据中台总服务器131发送贴源数据层数据和统一数仓层数据。

S550,数据中台系统130接收分布式文件系统120发送的贴源数据层数据和统一数仓层数据并存储。

可选地,数据中台总服务器131接收分布式文件系统120发送的贴源数据层数据和统一数仓层数据并存储。

可选地,本申请实施例提供的数据同步方法还包括:

数据中台总服务器131响应于数据中台子服务器132的第二数据调用请求,向数据中台子服务器132发送所请求的数据;数据中台子服务器132接收数据中台总服务器131发送的数据并存储,响应于用户终端的第三数据调用请求,向用户终端发送所请求的数据。

可选地,如图6所示,分布式文件系统120在向数据中台系统130发送贴源数据层数据和统一数仓层数据时,具体执行如下步骤S541-S544:

S541,遍历本系统中的文件,获取遍历到的每个文件的信息摘要值。

信息摘要值可以是MD5(MD5 Message Digest Algorith,MD5信息摘要算法)值、MD4(MD4 Message Digest Algorithm,MD4信息摘要算法)值等任意一种。

可选地,可采用python(一种跨平台的计算机程序设计语言)脚本来遍历本系统中的文件。

可选地,在遍历本系统中的文件时,可采用递归遍历的方式,具体地,确定所遍历的当前文件是否为文件夹,若当前文件为文件夹,则遍历该文件夹中的文件,若当前文件不为文件夹,则继续遍历下一个文件。

可选地,遍历本系统中的文件包括以下两种方式的任意一种:一、遍历本系统也即分布式文件系统120中存储的文件本身;二、遍历Hive数据库外部表的数据目录。

S542,确定信息摘要值是否已存在于已存储的信息摘要列表中;若是,则执行步骤S543;若否,则执行S544。

S543,停止向数据中台系统130发送该信息摘要值所属文件的数据。

S544,向数据中台系统130发送该信息摘要值所属文件的数据,并将该信息摘要值添加至信息摘要列表中。

该遍历和发送数据的方法可实现去重,对于每个发送过的数据,其信息摘要值均添加至信息摘要列表,后续即可基于信息摘要列表中的信息摘要值判断待发送的数据是否为重复,仅在不重复时向数据中台系统130发送新数据,减少了无效的数据传输,提高了数据传输效率。

可选地,如图7所示,本申请实施例提供的数据同步方法,在上述步骤S510至S550的基础上,还包括如下步骤S560-S590:

S560,数据中台系统130遍历本系统中的文件,确定本系统相对于分布式文件系统120是否增加或减少了数据;若增加了数据,则执行步骤S570;若减少了数据,则执行步骤S580。

S570,数据中台系统130删除本系统中增加的数据。

S580,数据中台系统130基于减少的数据向分布式文件系统120发送第一数据调用请求。

第一数据调用请求可以是由对数据中台总服务器131的更新操作生成的,数据中台总服务器131在每次更新时均可向分布式文件系统120发送第一数据调用请求,以获取分布式文件系统120中更新的数据。

S590,分布式文件系统120响应于数据中台系统130发送的第一数据调用请求,向数据中台系统130发送所请求调用的数据。

增加的数据或减少的数据的名称可记录到一个文件里,后续可在该文件中查询需要删除的数据的名称或需要增加的数据的名称,进而删除或请求增加相应的数据,从而使数据中台系统130的数据与分布式文件系统120中的数据相同,实现数据中台系统130与分布式文件系统120的数据同步。

基于同一发明构思,本申请实施例提供了一种数据同步装置,可应用于分布式文件系统120,如图8所示,该数据同步装置800包括:第一数据发送模块801、数据接收模块802以及第二数据发送模块803。

第一数据发送模块801用于:向应用于数据仓库工具HIVE服务器110发送贴源数据层数据。

数据接收模块802用于:接收HIVE服务器110基于贴源数据层数据生成并反馈的统一数仓层数据。

第二数据发送模块803用于:向数据中台系统130发送贴源数据层数据和统一数仓层数据。

可选地,第二数据发送模块803具体用于:向所述数据中台系统中的数据中台总服务器发送所述贴源数据层数据和所述统一数仓层数据。

可选地,第二数据发送模块803具体用于:遍历分布式文件系统120中的文件,获取遍历到的每个文件的信息摘要值;确定信息摘要值是否已存在于已存储的信息摘要列表中;若信息摘要值已存在于已存储的信息摘要列表中,则停止向数据中台系统130发送该信息摘要值所属文件的数据;若信息摘要值未存在于已存储的信息摘要列表中,则向数据中台系统130发送该信息摘要值所属文件的数据,并将该信息摘要值添加至信息摘要列表中。

可选地,第二数据发送模块803还用于:响应于数据中台系统130遍历文件后发送的第一数据调用请求,向数据中台系统130发送所请求调用的数据。

基于同一发明构思,本申请实施例提供了另一种数据同步装置,可应用于数据中台系统130,如图9所示,该数据同步装置900包括:数据接收模块901。

该数据接收模块901用于:接收分布式文件系统120发送的贴源数据层数据和统一数仓层数据并存储;统一数仓层数据是由HIVE服务器110基于贴源数据层数据生成并反馈至分布式文件系统120的。

可选地,本申请实施例提供的应用于数据中台系统130的数据同步装置,还包括:文件遍历模块、数据删除模块和数据发送模块。

文件遍历模块用于:遍历数据中台系统130中的文件,确定数据中台系统130相对于分布式文件系统120是否增加或减少了数据;数据删除模块用于:在确定数据中台系统130相对于分布式文件系统120增加了数据时,删除数据中台系统130中增加的数据;数据发送模块用于:在确定数据中台系统130相对于分布式文件系统120减少了数据时,基于减少的数据向分布式文件系统120发送第一数据调用请求。

数据接收模块901还用于接收分布式文件系统120针对第一数据调用请求发送的数据。

本申请实施例的数据同步装置可执行本申请实施例提供的任意一种数据同步方法,其实现原理相类似,本实施例中未详细示出的内容可参照前面所述的各实施例,此处不再赘述。

基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例所提供的任意一种数据同步方法。

该计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM、RAM、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本申请实施例提供了一种计算机可读存储介质适用于上述任意一种数据同步方法,在此不再赘述。

应用本申请实施例的技术方案,至少能够实现如下有益效果:

1)本申请实施例可基于分布式文件系统中的贴源数据层数据生成统一数仓层数据,并将贴源数据层数据和统一数仓层数据同步到数据中台系统中,实现分布式文件系统中数据的安全备份,有效防止数据误删和数据传错目录的情况发生。从而在发生意外(如网络不稳定或网络不通)时,使用户(如企业用户)可正常读取数据来进行数据处理(如数据分析、数据清洗等)。

2)本申请实施例在进行数据中台系统的数据同步和备份时,可对分布式文件系统的文件进行遍历,获取各文件的信息摘要值,基于信息摘要值确定当前文件的数据是否已同步和备份到数据中台系统,仅将未同步和备份过的数据同步和备份到数据中台,以实现数据的去重,提高的数据同步和备份的效率。

3)本申请实施例在将贴源数据层数据生成统一数仓层数据同步和备份到数据中台系统之后,可对数据中台系统的文件和数据进行遍历,确定数据中台系统所备份的数据和分布式文件系统中所存储的数据的差异,通过删除数据中台系统中增加的数据或从分布式文件系统中调用减少的数据的方式,使数据中台系统中的备份的数据与分布式文件系统中存储的数据一致,从而进一步完善数据中台系统的数据同步与备份,进一步提高数据的安全性。

4)本申请实施例中的数据中台子服务器可用于与分布式文件系统通信,以备份分布式文件系统中的数据,本地的数据中台子服务器获取数据中台子服务器的备份数据并直接与用户终端通信,方便用户(如企业用户)通过用户终端直接访问该数据中台子服务器以读取所需的数据,从而在发生意外(如网络不稳定或网络不通)时,使用户可正常读取数据来进行数据处理(如数据分析、数据清洗等),避免出现无法访问数据或数据遗失的情况。

本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

技术分类

06120112657358