CN112506870A - 数据仓库增量更新方法、装置及计算机设备 - Google Patents

数据仓库增量更新方法、装置及计算机设备 Download PDF

Info

Publication number
CN112506870A
CN112506870A CN202011507664.9A CN202011507664A CN112506870A CN 112506870 A CN112506870 A CN 112506870A CN 202011507664 A CN202011507664 A CN 202011507664A CN 112506870 A CN112506870 A CN 112506870A
Authority
CN
China
Prior art keywords
data
file
warehouse
newly added
storage layer
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
Application number
CN202011507664.9A
Other languages
English (en)
Other versions
CN112506870B (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202011507664.9A priority Critical patent/CN112506870B/zh
Publication of CN112506870A publication Critical patent/CN112506870A/zh
Application granted granted Critical
Publication of CN112506870B publication Critical patent/CN112506870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据仓库增量更新方法、装置及计算机设备,该方法包括:监测操作型数据存储层中是否产生新增数据文件;若产生新增数据文件,以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据;根据预设的数据清洗规则对所述目标数据进行分类,得到对应的分类数据,所述分类数据至少包括一个类型数据;将每一类型数据的分类数数据分别存储到数据仓库中对应的类型数据的仓库分层。本申请还提供一种计算机可读存储介质。本申请通过流数据读取方式将操作型数据存储层的数据实时读取到数据仓库,实现了数据仓库增量更新,提升了数据仓库数据更新的灵活性和数据更新效率。

Description

数据仓库增量更新方法、装置及计算机设备
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据仓库增量更新方法、装置及计算机设备。
背景技术
数据传输链路一般由数据源、网关、数据缓冲层、数据分发层和数据存储层构成。当数据源产生新数据时,该新数据会最终落地到数据存储层。数据存储层包括操作型数据存储(ODS,Operational Data Store)层、数据仓库(DW,Data Warehouse)层和应用数据存储(ADS,Application Data Store)层等。其中,数据源产生的新数据,也就是源数据,通常是先保存到操作型数据存储层;操作型数据存储层的源数据经由清洗和分类后写入到数据仓库层;根据用户的需要对数据仓库层的数据计算出对应的性能参数,则会存储到应用数据存储层。比如,先采集用户对于网站的访问数据存储到操作型数据存储层,接着对操作型数据存储层中的访问数据进行清洗,获得有效访问数据存储到数据仓库层,最后根据业务需要对数据仓库层的有效访问数据执行逻辑计算,得到网站的流量参数并存储到应用数据存储层中。
在现有技术中,一般通过Spark技术,比如Apache Spark,将操作型数据存储层的源数据经由清洗和分类后写入到数据仓库层。然而,Spark技术仅能实现对于批量数据的周期性更新,而且,设置的周期太短会导致操作型数据存储层数据的频繁操作,增加操作型数据存储层的负担,导致操作型数据存储层不稳定。也就是说,现有技术中数据仓库并不支持增量更新或者增量更新效率太低。
发明内容
本申请提出一种数据仓库增量更新方法、装置及计算机设备,能够解决上述的数据仓库并不支持增量更新或者增量更新效率太低的问题。
首先,为实现上述目的,本申请提供一种数据仓库增量更新方法,所述方法包括:
监测操作型数据存储层中是否产生新增数据文件;若产生新增数据文件,以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据;根据预设的数据清洗规则对所述目标数据进行分类,得到对应的分类数据,所述分类数据至少包括一个类型数据;将每一类型数据的分类数数据分别存储到数据仓库中对应的类型数据的仓库分层。
在一个例子中,所述监测操作型数据存储层中是否产生新增数据文件包括:读取所述操作型数据存储层的当前文件目录信息;当所述当前文件目录信息与历史文件目录信息不同时,获取所述当前文件目录信息相对于历史文件目录信息的新增文件目录;查找出所述新增文件目录对应的所述新增数据文件,将所述当前文件目录信息替代所述历史文件目录信息。
在一个例子中,所述以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据包括:从所述操作型数据存储层中获取所述新增数据文件的文件名;根据所述文件名从所述操作型数据存储层查找出所述新增数据文件对应的目标数据,并以流数据方式从所述操作型数据存储层拉取所述目标数据。
在一个例子中,所述以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据包括:在读取成功/失败时,获取所述目标数据在所述新增数据文件中的排序位置;将所述排序位置记录到预设的状态器。
在一个例子中,所述获取所述目标数据在所述新增数据文件中的排序位置包括:抓取所述目标数据的快照信息;根据所述快照信息中所述目标数据的时间戳在所述新增数据文件中的时间区段确定所述目标数据在所述新增数据文件中的排序位置。
在一个例子中,所述方法还包括:当读取到所述新增数据文件中的分区结束消息时,结束流数据读取进程;其中,所述分区结束消息是所述新增数据文件成功存储到所述操作型数据存储层时添加到所述新增数据文件的末尾数据。
在一个例子中,所述结束流数据读取进程包括:以读取到所述分区结束消息的时间生成一条时间水印;将所述时间水印记录为所述数据仓库的数据更新时间。
此外,为实现上述目的,本申请还提供一种数据仓库增量更新装置,所述装置包括:
监测模块,用于监测操作型数据存储层中是否产生新增数据文件;读取模块,用于在监测到产生新增数据文件时,以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据;分类模块,用于根据预设的数据清洗规则对所述目标数据进行分类,得到对应的分类数据,所述分类数据至少包括一个类型数据;存储模块,用于将每一类型数据的分类数数据分别存储到数据仓库中对应的类型数据的仓库分层。
进一步地,本申请还提出一种计算机设备,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的数据仓库增量更新方法的步骤。
进一步地,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的数据仓库增量更新方法的步骤。
相较于现有技术,本申请所提出的数据仓库增量更新方法、装置、计算机设备及计算机可读存储介质,能够监测操作型数据存储层中是否产生新增数据文件;若产生新增数据文件,以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据;根据预设的数据清洗规则对所述目标数据进行分类,得到对应的分类数据,所述分类数据至少包括一个类型数据;将每一类型数据的分类数数据分别存储到数据仓库中对应的类型数据的仓库分层。通过流数据读取方式将操作型数据存储层的数据实时读取到数据仓库,实现了数据仓库增量更新,提升了数据仓库数据更新的灵活性和数据更新效率。
附图说明
图1是本申请一实施例的应用环境示意图;
图2是本申请数据仓库增量更新方法一具体实施例的流程示意图;
图3是本发明一示例性例子中新数据从操作型数据存储层入仓到数据仓库的流程效果图;
图4是本发明另一示例性例子中新数据从操作型数据存储层入仓到数据仓库的流程效果图;
图5是本发明一示例性例子的读取操作型数据存储层的新数据的流程效果图;
图6是本发明另一示例性例子的读取操作型数据存储层的新数据的流程效果图;
图7是本申请数据仓库增量更新装置一实施例的程序模块示意图;
图8是本申请计算机设备一可选的硬件架构的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
图1是本申请一实施例的应用环境示意图。参阅图1所示,所述计算机设备1分别与操作型数据存储库以及数据仓库连接。当所述操作型数据存储库中新添加了源数据时,可以将所述源数据对应的源数据文件增量更新到所述数据仓库。具体包括:监测操作型数据存储层中是否产生新增数据文件;若产生新增数据文件,以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据;根据预设的数据清洗规则对所述目标数据进行分类,得到对应的分类数据,所述分类数据至少包括一个类型数据;将每一类型数据的分类数数据分别存储到数据仓库中对应的类型数据的仓库分层。通过流数据读取方式将操作型数据存储层的数据实时读取到数据仓库,实现了数据仓库增量更新,提升了数据仓库数据更新的灵活性和数据更新效率。
在本实施例中,所述计算机设备1可作为手机、平板、便携设备、PC机、服务器或者其他电子设备;所述操作型数据存储库和所述数据仓库可以是同一个数据库中的不同存储单元,也可以是两个不同的数据库。当然,在其他实施例中,所述计算机设备1可以与所述操作型数据存储库及所述数据仓库合并为同一个电子设备,或者所述计算机设备1也可以作为独立的功能模块附加到所述操作型数据存储库或者所述数据仓库对应的设备上以实现对于所述数据仓库执行增量更新的功能。
实施例一
图2是本申请数据仓库增量更新方法一实施例的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备1为执行主体进行示例性描述。
如图2所示,所述数据仓库增量更新方法可以包括步骤S200~S206。
步骤S200,监测操作型数据存储层中是否产生新增数据文件。
步骤S202,若产生新增数据文件,以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据。
具体的,所述计算机设备1用于执行将操作型数据存储层的数据传输到数据仓库,因此,为了实现实时地将操作型数据存储层中的数据更新到数据仓库,所述计算机设备1则预先设置有对所述操作型数据存储层的监测功能。
在一具体实施例中,所述计算机设备1监测操作型数据存储层中是否产生新增数据文件包括:读取所述操作型数据存储层的当前文件目录信息;当所述当前文件目录信息与历史文件目录信息不同时,获取所述当前文件目录信息相对于历史文件目录信息的新增文件目录;查找出所述新增文件目录对应的所述新增数据文件,将所述当前文件目录信息替代所述历史文件目录信息。
所述计算机设备1通过预先设定读取周期,然后根据所述读取周期实现“实时”监测所述操作型数据存储层的文件目录;并在所述操作型数据存储层的文件目录发送变更时,获取到文件目录的变更部分,从而监测出所述操作型数据存储层的新增数据文件。
接着,所述计算机设备1以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据。其中,流数据读取方式,也叫做流式数据读取方式。由于将对实时数据的传输和对数据库中数据的传输均配置为流式传输,可以保障成本大致相同的前提下,消除了实时数据和离线数据之间的传输差异,保障了离线数据从所述操作型数据存储层入仓到数据仓库的同步时效性和稳定性。因此,所述计算机设备1通过流数据读取方式对所述操作型数据存储层的所述新增数据文件的读取,可以保证数据仓库的增量数据更新的实时性。
在本实施例中,所述计算机设备1以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据包括:从所述操作型数据存储层中获取所述新增数据文件的文件名;根据所述文件名从所述操作型数据存储层查找出所述新增数据文件对应的目标数据,并以流数据方式从所述操作型数据存储层拉取所述目标数据。其中,对于大部分的数据存储来说,都是基于目录和分区实现的,因此,所述计算机设备1在根据变更目录监测到所述操作型数据存储层有新增数据文件后,则可以直接从目录信息中获取到所述新增数据文件的文件名,然后进一步根据所述文件名从所述操作型数据存储层中查找出所述新增数据文件对应的数据。
当然,所述计算机设备1在读取所述操作型数据存储层中的所述目标数据的过程中,还包括:在读取成功/失败时,获取所述目标数据在所述新增数据文件中的排序位置;将所述排序位置记录到预设的状态器。
其中,由于所述计算机设备1对于所述新增数据文件的读取过程可能会出现一些异常情况,比如断网,数据波动以及内存占用等情况,因此,所述计算机设备1在读取所述操作型数据存储层中的所述目标数据是,不论是读取成功还是读取失败,都会记录读取的所述目标数据在所述新增数据文件中的排序位置,并记录到预设的状态器。这样,可以在读取失败的情况下,根据所述状态器中获取的排序位置继续读取所述新增数据文件;或者在读取成功的情况下,可以查看到当前数据读取的进度信息。
在一示例性例子中,所述计算机设备1获取所述目标数据在所述新增数据文件中的排序位置包括:抓取所述目标数据的快照信息;根据所述快照信息中所述目标数据的时间戳在所述新增数据文件中的时间区段确定所述目标数据在所述新增数据文件中的排序位置。
另外,所述计算机设备1在读取所述操作型数据存储层的所述新增数据文件的过程中,还包括:当读取到所述新增数据文件中的分区结束消息时,结束流数据读取进程;其中,所述分区结束消息是所述新增数据文件成功存储到所述操作型数据存储层时添加到所述新增数据文件的末尾数据。在本实施例中,新数据在入仓到所述操作型数据存储层之后,会产生一个对于该新数据的分区结束消息,并存储到预设的状态器中。所述状态器中的所述新增数据文件的分区结束信息还会根据预先设定的规则,在所述新增数据文件被读取到最后时自动添加到所述新增数据文件的末尾。因此,所述计算机设备1在读取所述操作型数据存储层的所述新增数据文件的过程中,读取到文件的最后一部分数据时,则可以读取到所述新增数据文件对应的分区结束消息,表示所述新增数据文件已读取完毕。
所述计算机设备1在读取到所述新增数据文件对应的分区结束消息时,还包括:以读取到所述分区结束消息的时间生成一条时间水印;将所述时间水印记录为所述数据仓库的数据更新时间。在本实施例中,所述计算机设备1在读取到所述新增数据文件对应的分区结束消息时,则进一步将所述分区结束消息的读取时间记录为时间水印,用于表示所述新增数据文件入仓到所述数据仓库的时间。
步骤S204,根据预设的数据清洗规则对所述目标数据进行分类,得到对应的分类数据,所述分类数据至少包括一个类型数据。
步骤S206,将每一类型数据的分类数数据分别存储到数据仓库中对应的类型数据的仓库分层。
具体的,所述计算机设备1在读取到目标数据之后,则会进一步根据预设的数据清洗规则对所述目标数据进行分类,得到对应的分类数据。在本实施例中,所述计算机设备1可以通过接收用户输入的清洗规则,或者通过调用预先存储的数据清洗规则,对读取到的所述目标数据执行清洗,包括分类,汇总,删除无效数据,以及根据预先定义的数据类型,比如直播数据,房间数据,产品数据,视频观看数据,用户数据等等类型进行数据分类;最后得到所述目标数据的分类数据。
接着,所述计算机设备1根据预先定义的存储规则将所述目标数据对应的每一个类型数据的分类数据分别存储到所所述数据仓库预先划分不同的仓库分层。其中,数据仓库的仓库分层是数据仓库的数据分层,传统的数仓会在数据从入仓开始即分层,以便于数据模型化,使得不同场景的数据可以提供给不同的人群。而数据仓库的仓库分层则是数据清洗后的数据分层,使得提供给用户的数据更加清晰,避免将异常数据与无效数据提供给用户。例如,可以按照业务,如直播、主站等对数据进行清洗后得到对应类型数据的数据,并分别存储到所述数据仓库的对应的仓库分层,使得提供给用户的数据更有针对性。在本实施例中,经过了数据清洗之后的不同类型数据的数据分别存储在数据仓库的不同的仓库分层,然后后续可以利用不同的仓库分层的数据快速生成带有数据主题域的数据,比如,以直播为例,房间、房间数、活动等直播特点的数据,存储到应用数据存储层,从而实现了快速地将新数据落地到数据存储层的各个分层。
如图3所示,图3是本发明一示例性例子中新数据从操作型数据存储层入仓到数据仓库的流程效果图。其中,新数据从操作型数据存储层入仓到数据仓库可以包括源数据接口部分,清洗分类部分和数据输出接口部分。源数据接口部分包括以操作型数据存储层的数据为源数据,然后通过读取器对源数据进行读取;清洗部分则是根据预设的清洗规则对于读取器读取到的数据进行清洗分类;数据输出接口部分则是将清洗分类后的数据经由数据节点输出,并有数据提交器提交到数据仓库的对应的仓库分层。
如图4所示,图4是本发明另一示例性例子中新数据从操作型数据存储层入仓到数据仓库的流程效果图。其中,以操作型数据存储层为HDFS文件系统为例,所述计算机设备1可以作为一个FinkCluster集群,因此,所述计算机设备1可以通过DAG任务管理器实现将新数据入仓到数据仓库的过程,包括:通过读取器从操作型数据存储层读取HDFS源数据,然后再经过预设的SQL过滤器对于读取到的HDFS源数据进行数据清洗和分类;最后在经由输出节点汇总清洗后的数据,并由数据提交器提交到数据仓库的仓库分层。其中,在执行所述新数据读取的过程中,当读取器读取到HDFS源数据末尾处的分区结束消息之后,还会根据分区结束消息生成时间水印;以及将所述时间水印广播到SQL过滤器、输出节点和数据提交器。最后所述计算机设备1将读取数据完成的结果数据,也就是当前读取到的新数据的分区消息发送到预设的状态器保存,比如HiveMetastore。
参阅图5所示,图5是本发明一示例性例子的读取操作型数据存储层的新数据的流程效果图。在本实施例中,所述计算机设备1通过建立文件资源监视器查询和获取操作型数据存储层的新数据,然后将新数据对应的文件路径发送至文件读取节点的文件队列;所述文件读取节点中包括的读取器则根据所述文件队列中的文件路径从操作型数据存储层读取对应的新数据。其中,所述读取器读取新数据的过程中还会将数据读取过程的状态数据发送至监控告警模块,用于在读取过程中发生异常时能够进行告警;当读取到新数据后,则会将该新数据发送至数据清洗流程,同时,所述读取器在开始读取新数据,以及完成读取新数据的状态,向任务管理器发生对应的状态,比如空闲状态和读取状态。最后,所述文件资源监视器在查询到读取的新数据末尾包括分区结束消息时,根据分区消息的读取时间生成时间水印,发送至文件读取节点,保存在时间水印队列,并有文件读取节点将实际水印广播到数据清洗流程。
请进一步参阅图6所示,图6是本发明另一示例性例子的读取操作型数据存储层的新数据的流程效果图。在本实施例中,所述计算机设备1通过文件资源监视器遍历扫描基于HDFS的操作型数据存储层的新数据,比如遍历目录扫描配置后缀文件,从而查找出新数据;接着,再通过任务管理器查找出文件读取节点中空闲的读取器,然后所述文件资源监视器中的调度中心根据所述任务管理器反馈的空闲读取器,将新数据文件经分发至所述空闲读取器,以读取操作HDFS中的新数据。其中,所述文件资源监视器中还会收集新数据读取过程中的状态数据,并发送至监控告警模块,用于在读取过程中发生异常时能够进行告警;以及所述文件资源监视器还会根据调度中心对于新数据的读取过程的调度,产生最大修改时间,即读取过程的已读取数据的最后读取时间,以及待处理目录,即还未读取的数据。并在待处理目录为空时根据所述最大修改时间生成时间水印,并反馈给文件读取节点,以及存储到预设的状态器。
综上所述,本实施例所提出的数据仓库增量更新方法能够监测操作型数据存储层中是否产生新增数据文件;若产生新增数据文件,以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据;根据预设的数据清洗规则对所述目标数据进行分类,得到对应的分类数据,所述分类数据至少包括一个类型数据;将每一类型数据的分类数数据分别存储到数据仓库中对应的类型数据的仓库分层。通过流数据读取方式将操作型数据存储层的数据实时读取到数据仓库,实现了数据仓库增量更新,提升了数据仓库数据更新的灵活性和数据更新效率。
实施例二
图7示意性示出了根据本申请实施例二的数据仓库增量更新装置的框图,该数据仓库增量更新装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图7所示,该数据仓库增量更新装置400可以包括监测模块410、读取模块420、分类模块430和存储模块440,其中:
监测模块410,用于监测操作型数据存储层中是否产生新增数据文件.
读取模块420,用于在监测到产生新增数据文件时,以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据。
分类模块430,用于根据预设的数据清洗规则对所述目标数据进行分类,得到对应的分类数据,所述分类数据至少包括一个类型数据。
存储模块440,用于将每一类型数据的分类数数据分别存储到数据仓库中对应的类型数据的仓库分层。
在示例性的实施例中,监测模块410,还用于:读取所述操作型数据存储层的当前文件目录信息;当所述当前文件目录信息与历史文件目录信息不同时,获取所述当前文件目录信息相对于历史文件目录信息的新增文件目录;查找出所述新增文件目录对应的所述新增数据文件,将所述当前文件目录信息替代所述历史文件目录信息。
在示例性的实施例中,读取模块420,还用于:从所述操作型数据存储层中获取所述新增数据文件的文件名;根据所述文件名从所述操作型数据存储层查找出所述新增数据文件对应的目标数据,并以流数据方式从所述操作型数据存储层拉取所述目标数据。以及,在读取成功/失败时,获取所述目标数据在所述新增数据文件中的排序位置;将所述排序位置记录到预设的状态器。其中,所述获取所述目标数据在所述新增数据文件中的排序位置包括:抓取所述目标数据的快照信息;根据所述快照信息中所述目标数据的时间戳在所述新增数据文件中的时间区段确定所述目标数据在所述新增数据文件中的排序位置。
在示例性的实施例中,读取模块420,还用于:当读取到所述新增数据文件中的分区结束消息时,结束流数据读取进程;其中,所述分区结束消息是所述新增数据文件成功存储到所述操作型数据存储层时添加到所述新增数据文件的末尾数据。以及,以读取到所述分区结束消息的时间生成一条时间水印;将所述时间水印记录为所述数据仓库的数据更新时间。
实施例三
图8示意性示出了根据本申请实施例三的适于实现数据仓库增量更新方法的计算机设备1的硬件架构示意图。本实施例中,计算机设备1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是具有网关功能的机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图8所示,计算机设备1至少包括但不限于:可通过系统总线相互通信链接存储器510、处理器520、网络接口530。其中:
存储器510至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器510可以是计算机设备1的内部存储模块,例如该计算机设备1的硬盘或内存。在另一些实施例中,存储器510也可以是计算机设备1的外部存储设备,例如该计算机设备1上配备的插接式硬盘,智能存储卡(SmartMedia Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器510还可以既包括计算机设备1的内部存储模块也包括其外部存储设备。本实施例中,存储器510通常用于存储安装于计算机设备1的操作系统和各类应用软件,例如数据仓库增量更新方法的程序代码等。此外,存储器510还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器520在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器520通常用于控制计算机设备1的总体操作,例如执行与计算机设备1进行数据交互或者通信相关的控制和处理等。本实施例中,处理器520用于运行存储器510中存储的程序代码或者处理数据。
网络接口530可包括无线网络接口或有线网络接口,该网络接口530通常用于在计算机设备1与其他计算机设备之间建立通信链接。例如,网络接口530用于通过网络将计算机设备1与外部终端相连,在计算机设备1与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件510-530的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器510中的数据仓库增量更新方法的程序代码还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器520)所执行,以完成本申请实施例。
实施例四
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
监测操作型数据存储层中是否产生新增数据文件;若产生新增数据文件,以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据;根据预设的数据清洗规则对所述目标数据进行分类,得到对应的分类数据,所述分类数据至少包括一个类型数据;将每一类型数据的分类数数据分别存储到数据仓库中对应的类型数据的仓库分层。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中数据仓库增量更新方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。

Claims (10)

1.一种数据仓库增量更新方法,其特征在于,所述方法包括:
监测操作型数据存储层中是否产生新增数据文件;
若产生新增数据文件,以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据;
根据预设的数据清洗规则对所述目标数据进行分类,得到对应的分类数据,所述分类数据至少包括一个类型数据;
将每一类型数据的分类数数据分别存储到数据仓库中对应的类型数据的仓库分层。
2.如权利要求1所述的数据仓库增量更新方法,其特征在于,所述监测操作型数据存储层中是否产生新增数据文件包括:
读取所述操作型数据存储层的当前文件目录信息;
当所述当前文件目录信息与历史文件目录信息不同时,获取所述当前文件目录信息相对于历史文件目录信息的新增文件目录;
查找出所述新增文件目录对应的所述新增数据文件,将所述当前文件目录信息替代所述历史文件目录信息。
3.如权利要求1所述的数据仓库增量更新方法,其特征在于,所述以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据包括:
从所述操作型数据存储层中获取所述新增数据文件的文件名;
根据所述文件名从所述操作型数据存储层查找出所述新增数据文件对应的目标数据,并以流数据方式从所述操作型数据存储层拉取所述目标数据。
4.如权利要求1~3中任一项所述的数据仓库增量更新方法,其特征在于,所述以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据包括:
在读取成功/失败时,获取所述目标数据在所述新增数据文件中的排序位置;
将所述排序位置记录到预设的状态器。
5.如权利要求4所述的数据仓库增量更新方法,其特征在于,所述获取所述目标数据在所述新增数据文件中的排序位置包括:
抓取所述目标数据的快照信息;
根据所述快照信息中所述目标数据的时间戳在所述新增数据文件中的时间区段确定所述目标数据在所述新增数据文件中的排序位置。
6.如权利要求1所述的数据仓库增量更新方法,其特征在于,所述方法还包括:
当读取到所述新增数据文件中的分区结束消息时,结束流数据读取进程;其中,所述分区结束消息是所述新增数据文件成功存储到所述操作型数据存储层时添加到所述新增数据文件的末尾数据。
7.如权利要求6所述的数据仓库增量更新方法,其特征在于,所述结束流数据读取进程包括:
以读取到所述分区结束消息的时间生成一条时间水印;
将所述时间水印记录为所述数据仓库的数据更新时间。
8.一种数据仓库增量更新装置,其特征在于,所述装置包括:
监测模块,用于监测操作型数据存储层中是否产生新增数据文件;
读取模块,用于在监测到产生新增数据文件时,以流数据读取方式读取所述操作型数据存储层中新增数据文件对应的目标数据;
分类模块,用于根据预设的数据清洗规则对所述目标数据进行分类,得到对应的分类数据,所述分类数据至少包括一个类型数据;
存储模块,用于将每一类型数据的分类数数据分别存储到数据仓库中对应的类型数据的仓库分层。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1~7中任一项所述的数据仓库增量更新方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1~7中任一项所述的数据仓库增量更新方法的步骤。
CN202011507664.9A 2020-12-18 2020-12-18 数据仓库增量更新方法、装置及计算机设备 Active CN112506870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011507664.9A CN112506870B (zh) 2020-12-18 2020-12-18 数据仓库增量更新方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011507664.9A CN112506870B (zh) 2020-12-18 2020-12-18 数据仓库增量更新方法、装置及计算机设备

Publications (2)

Publication Number Publication Date
CN112506870A true CN112506870A (zh) 2021-03-16
CN112506870B CN112506870B (zh) 2023-03-24

Family

ID=74922622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011507664.9A Active CN112506870B (zh) 2020-12-18 2020-12-18 数据仓库增量更新方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN112506870B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984728A (zh) * 2020-08-14 2020-11-24 北京人大金仓信息技术股份有限公司 异构数据库数据同步方法、装置、介质和电子设备
CN113656370A (zh) * 2021-08-16 2021-11-16 南方电网数字电网研究院有限公司 电力量测系统数据处理方法、装置和计算机设备
CN113779092A (zh) * 2021-09-17 2021-12-10 平安科技(深圳)有限公司 基于数据仓库的实时数据展示方法、装置、设备及介质
CN114925087A (zh) * 2022-05-26 2022-08-19 国汽智图(北京)科技有限公司 数据获取方法、装置、计算机设备和存储介质
CN114925145A (zh) * 2022-05-25 2022-08-19 盐城金堤科技有限公司 数据存储方法、装置以及存储介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760236A (zh) * 2016-05-13 2016-07-13 中国工商银行股份有限公司 一种分布式计算机集群下的数据采集方法及系统
CN110990390A (zh) * 2019-12-02 2020-04-10 东莞中国科学院云计算产业技术创新与育成中心 数据协同处理方法、装置、计算机设备和存储介质
US20200201813A1 (en) * 2018-12-21 2020-06-25 Dropbox, Inc. Scaling hdfs for hive
CN111680017A (zh) * 2020-06-30 2020-09-18 深圳前海微众银行股份有限公司 一种数据同步的方法及装置
CN111930768A (zh) * 2020-09-10 2020-11-13 腾讯科技(深圳)有限公司 增量数据获取方法、发送方法、装置及其计算机存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760236A (zh) * 2016-05-13 2016-07-13 中国工商银行股份有限公司 一种分布式计算机集群下的数据采集方法及系统
US20200201813A1 (en) * 2018-12-21 2020-06-25 Dropbox, Inc. Scaling hdfs for hive
CN110990390A (zh) * 2019-12-02 2020-04-10 东莞中国科学院云计算产业技术创新与育成中心 数据协同处理方法、装置、计算机设备和存储介质
CN111680017A (zh) * 2020-06-30 2020-09-18 深圳前海微众银行股份有限公司 一种数据同步的方法及装置
CN111930768A (zh) * 2020-09-10 2020-11-13 腾讯科技(深圳)有限公司 增量数据获取方法、发送方法、装置及其计算机存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王德文等: "基于Hive的电力设备状态信息数据仓库", 《电力系统保护与控制》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984728A (zh) * 2020-08-14 2020-11-24 北京人大金仓信息技术股份有限公司 异构数据库数据同步方法、装置、介质和电子设备
CN113656370A (zh) * 2021-08-16 2021-11-16 南方电网数字电网研究院有限公司 电力量测系统数据处理方法、装置和计算机设备
CN113656370B (zh) * 2021-08-16 2024-04-30 南方电网数字电网集团有限公司 电力量测系统数据处理方法、装置和计算机设备
CN113779092A (zh) * 2021-09-17 2021-12-10 平安科技(深圳)有限公司 基于数据仓库的实时数据展示方法、装置、设备及介质
CN113779092B (zh) * 2021-09-17 2024-03-01 平安科技(深圳)有限公司 基于数据仓库的实时数据展示方法、装置、设备及介质
CN114925145A (zh) * 2022-05-25 2022-08-19 盐城金堤科技有限公司 数据存储方法、装置以及存储介质和电子设备
CN114925145B (zh) * 2022-05-25 2024-05-14 盐城天眼察微科技有限公司 数据存储方法、装置以及存储介质和电子设备
CN114925087A (zh) * 2022-05-26 2022-08-19 国汽智图(北京)科技有限公司 数据获取方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN112506870B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
CN112506870B (zh) 数据仓库增量更新方法、装置及计算机设备
US11422853B2 (en) Dynamic tree determination for data processing
US9996593B1 (en) Parallel processing framework
CN111177081B (zh) 游戏日志内容查询方法、装置、计算机设备和存储介质
CN111324606B (zh) 数据分片的方法及装置
CN111930706B (zh) 基于远程调用的分布式网络文件存储系统和方法
CN111859132A (zh) 一种数据处理方法、装置及智能设备、存储介质
CN110532493B (zh) 数据的处理方法及装置、存储介质和电子装置
CN103716384A (zh) 跨数据中心实现云存储数据同步的方法和装置
CN106815223B (zh) 一种海量图片管理方法和装置
CN112199200B (zh) 资源调度方法、装置、计算机设备和存储介质
CN114020368A (zh) 基于状态机的信息处理方法、装置和存储介质
CN110716938A (zh) 数据的汇聚方法及装置、存储介质和电子装置
CN113965538B (zh) 设备状态消息处理方法、装置及存储介质
CN113448747B (zh) 数据传输方法、装置、计算机设备和存储介质
CN115914404A (zh) 集群流量管理方法、装置、计算机设备和存储介质
CN115203260A (zh) 一种异常数据确定方法、装置、电子设备及存储介质
CN114490865A (zh) 数据库同步方法、装置、设备及计算机存储介质
CN113609161A (zh) 数据查询系统、方法、装置、电子设备和可读存储介质
US10228958B1 (en) Systems and methods for archiving time-series data during high-demand intervals
CN110493326B (zh) 基于zookeeper管理集群配置文件的系统和方法
CN113612832A (zh) 流式数据分发方法与系统
CN103279575A (zh) 文件信息处理方法及装置
CN111274316A (zh) 多级数据流转任务的执行方法及装置、电子设备、存储介质
CN112988806A (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