CN111522821A - 维度表数据存储方法、装置、计算机设备及存储介质 - Google Patents
维度表数据存储方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111522821A CN111522821A CN202010344145.9A CN202010344145A CN111522821A CN 111522821 A CN111522821 A CN 111522821A CN 202010344145 A CN202010344145 A CN 202010344145A CN 111522821 A CN111522821 A CN 111522821A
- Authority
- CN
- China
- Prior art keywords
- data
- dimension table
- full
- date
- target
- 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.)
- Pending
Links
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种维度表数据存储方法、装置、计算机设备及存储介质,涉及大数据技术领域。该维度表数据存储方法包括:对相邻两天的全量分区的维度表数据进行比对处理,得到增量数据;采用预设规则确定保留的全量分区,并将未在预设规则中确定保留的、且已得到增量数据的全量分区删除;在恢复目标日期的全量分区的维度表数据时,确定目标全量分区;根据目标全量分区的维度表数据,以及目标日期、目标全量分区对应的生成日期、该两日期间的增量数据执行合并与去重处理,得到目标日期的全量分区的维度表数据。采用该维度表数据存储方法能够在确保维度表数据可随时恢复的前提下,显著提高存储资源的利用合理性。
Description
【技术领域】
本发明涉及人工智能中的大数据技术领域,尤其涉及一种维度表数据存储方法、装置、计算机设备及存储介质。
【背景技术】
在信息爆炸的互联网时代,数据的重要性不言而喻。在各大互联网公司中,历史数据的追溯是必不可少的,但目前绝大部分的公司对于变化的维度表数据,采用的方式是每天存一份全量快照数据。
目前的问题是,当全量分区越来越多,全量分区的维度表数据的数据量会暴涨,对磁盘空间的占用很大,对设备存储能力的要求很高。
【发明内容】
有鉴于此,本发明实施例提供了一种维度表数据存储方法、装置、计算机设备及存储介质,用以解决目前维度表数据占用存储资源过大的问题,且本申请不仅仅属于人工智能领域,还涉及区块链相关技术。
第一方面,本发明实施例提供了一种维度表数据存储方法,包括:
对相邻两天的全量分区的维度表数据进行比对处理,得到增量数据;
采用预设规则确定保留的全量分区,并将未在预设规则中确定保留的、且已得到所述增量数据的全量分区删除;
在恢复目标日期的全量分区的维度表数据时,确定目标全量分区,其中,所述目标全量分区是指与所述目标日期时间相邻最近的全量分区;
根据所述目标全量分区的维度表数据,以及所述目标日期、所述目标全量分区对应的生成日期、所述目标日期和所述生成日期间的日期的增量数据执行合并与去重处理,得到所述目标日期的全量分区的维度表数据。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述增量数据包括删除数据、新增数据和更新数据,所述对相邻两天的全量分区的维度表数据进行比对处理,得到增量数据,包括:
分别计算所述相邻两天的全量分区的维度表数据的逻辑主键的信息摘要值;
将所述相邻两天的全量分区的维度表数据按所述逻辑主键进行维度表的全外连接;
对所述逻辑主键的信息摘要值进行比对,得到比对结果;
若所述比对结果为相邻两天中的后一天的所述信息摘要值为空,则得出所述删除数据为所述逻辑主键对应的维度表数据;
若所述比对结果为相邻两天中的前一天的所述信息摘要值为空,则得出所述新增数据为所述逻辑主键对应的维度表数据;
若所述比对结果为相邻两天的所述信息摘要值不相同,且不为空,则得出所述更新数据为所述逻辑主键对应的维度表数据;
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述增量数据包括删除数据、新增数据和更新数据,所述更新数据包括更新前的维度表数据和更新后的维度表数据,当所述生成日期在所述目标日期之前时,所述根据所述目标全量分区的维度表数据,以及所述目标日期、所述目标全量分区对应的生成日期、所述目标日期和所述生成日期间的日期的增量数据执行合并与去重处理,得到所述目标日期的全量分区的维度表数据,包括:
获取所述目标日期和所述生成日期间的日期的增量数据,及所述目标日期的增量数据;
去除所述目标日期和所述生成日期间的日期的增量数据、及所述目标日期的增量数据中更新前的维度表数据;
将所述目标全量分区的维度表数据和去除所述更新前的维度表数据的增量数据进行合并,并按逻辑主键去重,以保留日期最新的维度表数据;
去除所述日期最新的维度表数据中的删除数据,得到所述目标日期的全量分区的维度表数据。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述增量数据包括删除数据、新增数据和更新数据,所述更新数据包括更新前的维度表数据和更新后的维度表数据,当所述生成日期在所述目标日期之后时,所述根据所述目标全量分区的维度表数据,以及所述目标日期、所述目标全量分区对应的生成日期、所述目标日期和所述生成日期间的日期的增量数据执行合并与去重处理,得到所述目标日期的全量分区的维度表数据,包括:
获取所述目标日期和所述生成日期间的日期的增量数据、所述目标日期的增量数据,以及所述生成日期的增量数据;
去除所述目标日期的增量数据中更新前的维度表数据;
去除所述生成日期的增量数据中的新增数据和更新后的维度表数据;
去除在所述目标日期的增量数据、所述生成日期的增量数据之外的增量数据中更新后的维度表数据,得到已处理增量数据;
将所述目标全量分区的维度表数据和所述已处理增量数据进行合并,并按逻辑主键去重,以保留日期最旧的维度表数据;
在所述目标日期中的新增数据之外,去除所述日期最旧的维度表数据中的新增数据,得到所述目标日期的全量分区的维度表数据。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述根据所述目标全量分区的维度表数据,以及所述目标日期、所述目标全量分区对应的生成日期、所述目标日期和所述生成日期间的日期的增量数据执行合并与去重处理,得到所述目标日期的全量分区的维度表数据之后,所述方法还包括:
获取目标相邻两天的维度表数据,其中,所述目标相邻两天的维度表数据采用全量分区的方式存储,且用户的隐私信息存储于区块链中;
在所述目标相邻两天改变时,基于所述目标相邻两天的维度表数据,采用全量分区的方式存储改变后的目标相邻两天的维度表数据,对除采用所述预设规则确定保留的全量分区之外的全量分区,执行去除操作。
第二方面,本发明实施例提供了一种维度表数据存储装置,包括:
增量数据获取模块,用于对相邻两天的全量分区的维度表数据进行比对处理,得到增量数据;
删除模块,用于采用预设规则确定保留的全量分区,并将未在预设规则中确定保留的、且已得到所述增量数据的全量分区删除;
目标全量分区确定模块,用于在恢复目标日期的全量分区的维度表数据时,确定目标全量分区,其中,所述目标全量分区是指与所述目标日期时间相邻最近的全量分区;
目标日期数据获取模块,用于根据所述目标全量分区的维度表数据,以及所述目标日期、所述目标全量分区对应的生成日期、所述目标日期和所述生成日期间的日期的增量数据执行合并与去重处理,得到所述目标日期的全量分区的维度表数据。
第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述维度表数据存储方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,包括:计算机程序,所述计算机程序被处理器执行时实现上述维度表数据存储方法的步骤。
在本发明实施例中,通过将相邻两天的全量分区的维度表数据进行比对处理,得到增量数据,为实现全量分区的适当删除,维度表数据优化存储提供了实现前提;在得到增量数据后,可采用预设规则确定保留的全量分区,并将未在预设规则中确定保留的、且已得到增量数据的全量分区删除,从而清理出大量的存储空间;在需要恢复目标日期的全量分区的维度表数据时,可根据目标全量分区的维度表数据,以及目标日期、目标全量分区对应的生成日期、目标日期和生成日期中间的日期的增量数据执行合并与去重处理,实现任意一天维度表数据的快速恢复。在本发明实施例中,通过对维度表数据的优化存储,在确保维度表数据可随时恢复的前提下,能够显著提高存储资源的利用合理性。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明一实施例中维度表数据存储方法的一流程图;
图2是本发明一实施例中维度表数据存储装置的一示意图;
图3是本发明一实施例中计算机设备的一示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的相同的字段,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述预设范围等,但这些预设范围不应限于这些术语。这些术语仅用来将预设范围彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一预设范围也可以被称为第二预设范围,类似地,第二预设范围也可以被称为第一预设范围。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1示出本实施例中维度表数据存储方法的一流程图。该维度表数据存储方法可应用在计算机设备上,其中,该计算机设备是可与用户进行人机交互的设备,包括但不限于可穿戴式设备、电脑、智能手机和平板等设备。如图1所示,该维度表数据存储方法包括如下步骤:
S10:对相邻两天的全量分区的维度表数据进行比对处理,得到增量数据。
其中,相邻两天是指连续的两个自然日,如1月5号和1月6号,或者2月3号和2月4号等连续自然日均可称为相邻两天。
其中,设备每天存储的维度表数据可作为一个分区,当把一天所有的维度数据表都存储下来时,该分区可称为全量分区。
其中,维度表可以看作是用户来分析数据的窗口,维度表中包含事实表中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息,维度表包含帮助汇总数据的特性的层次结构。
进一步地,增量数据包括删除数据、新增数据和更新数据。其中,更新数据还可以包括更新前的数据和更新后的数据。具体地,增量数据可以采用标记的方式记录删除数据、新增数据和更新数据,在查找增量数据时,可根据预先设置的标记来确定删除数据、新增数据和更新数据。
在一实施例中,可对连续的两个自然日的全量分区的维度表数据进行数据比对,从两个自然日各自所在分区的维度表数据找出数据发生更改、新增或删除等数据发生改变的情况,从而得到增量数据。可以理解地,一个用于存储的分区在存储全量快照数据时,在相邻两天内的全量分区的维度表数据的差别相对于全量分区中存储的数据量是非常小的,可以理解为相邻两天内的全量分区的维度表数据只有部分发生了改变,因此,在本实施例中,将提取该发生改变的数据作为增量数据,为后续实现维度表数据优化存储提供实现的技术前提。
进一步地,在步骤S10中,对相邻两天的全量分区的维度表数据进行比对处理,得到增量数据,具体包括:
S11:分别计算相邻两天的全量分区的维度表数据的逻辑主键的信息摘要值。
其中,业务上某些字段组合起来的唯一键称为逻辑主键。
信息摘要是将任意长度的消息变成固定长度的短消息的数据处理方式。如将任意长度的明文变成固定长度的密文。该密文有固定的长度,而且,不同的明文通过信息摘要算法的处理摘要成密文,其结果总是不同的,而同样的明文其摘要需一致,在本实施例中,具体用于验证维度表数据的一致性。
在一实施例中,计算机设备将根据维度表数据的逻辑主键作为维度表数据比对的参照标准,采用信息摘要算法md5(Message-Digest Algorithm),计算相邻两天的全量分区的维度表数据的信息摘要值,以根据该信息摘要值确定维度表数据是否发生改变。
S12:将相邻两天的全量分区的维度表数据按逻辑主键进行维度表的全外连接。
其中,全外连接可以理解为将相邻两天的全量分区对应的维度表中的所有元组均列出(且各只出现一次)的数据处理操作。
可以理解地,将维度表进行全外连接,能够实现在同一个维度表中根据逻辑主键进行数据比对。
S13:对逻辑主键的信息摘要值进行比对,得到比对结果。
可以理解地,由于逻辑主键是字段组合起来的唯一键,因此相邻两天的全量分区的维度表数据是否发生了变化,实际上要以逻辑主键作为比对参照的标准。基于逻辑主键对信息摘要值进行比对,可根据信息摘要值的结果得到相应的比对结果。具体地,比对结果具体包括逻辑主键对应的维度表数据为删除数据、新增数据、更新数据或者是数据没有变化等结果。
S14:若比对结果为相邻两天中的后一天的信息摘要值为空,则得出删除数据为逻辑主键对应的维度表数据。
可以理解地,例如在1月1号和1月2号的全量分区的维度表数据中,通过计算确定1月2号的比对结果为信息摘要值为空,则表明在1月1号出现的维度表数据在1月2号中已经被清除,此时可确定逻辑主键对应的维度表数据为删除数据。
S15:若比对结果为相邻两天中的前一天的信息摘要值为空,则得出新增数据为逻辑主键对应的维度表数据。
可以理解地,例如在1月1号和1月2号的全量分区的维度表数据中,通过计算确定1月1号的比对结果为信息摘要值为空,则表明在1月2号出现的维度表数据在1月1号中并未出现,此时可确定逻辑主键对应的维度表数据为新增数据。
S16:若比对结果为相邻两天的信息摘要值不相同,且不为空,则得出更新数据为逻辑主键对应的维度表数据。
可以理解地,例如在1月1号和1月2号的全量分区的维度表数据中,通过计算确定1月1号的比对结果为信息摘要值不相同且不为空,则表明在1月1号、1月2号中并均有逻辑主键对应的维度表数据,但是信息摘要值不相同,也就表明逻辑主键对应的维度表数据发生了改变,此时可确定逻辑主键对应的维度表数据为更新数据。
S17:若比对结果为相邻两天的信息摘要值相同,则得出逻辑主键对应的维度表数据没有变化。
可以理解地,例如在1月1号和1月2号的全量分区的维度表数据中,通过计算确定1月1号的比对结果为信息摘要值为相同,则表明在1月1号、1月2号中逻辑主键对应的维度表数据有可能都是空值也有可能都是相同的非空值,但逻辑主键对应的维度表数据无论是哪种情况下均没有发生改变。
在一实施例中,如维数表具体为人员信息表,其中人员id(emp_id)、企业id(enterprise_id)组合起来为其逻辑主键,则取以下相邻两天的全量分区的维度表数据为例:
2020-01-05
emp_id enterprise_id
zhangsan E1
lisi E1
2020-01-06
emp_id enterprise_id
zhangsan E2
wangwu E1
具体地,通过对emp_id+enterprise_id进行取md5的操作,对比对应md5值,发现zhangsan+E2与zhangsan+E1对应md5值不同,故zhangsan+E2为更新数据,可标记为状态3;lisi+E1当天md5值为空,可标记为状态2;wangwu+E1对应前一天的md5值为空,可标记为状态1,进一步地,还可以将对应的增量数写入增量分区表中。
在步骤S11-S17中,提供了一种得到增量数据的具体实施例,以逻辑主键作为比对的参照标准,采用信息摘要值来确定相邻两天的全量分区的维度表数据是否发生改变,从而实现准确、具有目的性地获取增量数据。
S20:采用预设规则确定保留的全量分区,并将未在预设规则中确定保留的、且已得到增量数据的全量分区删除。
其中,预设规则具体可以是在每月的1号、15号和月底日,保留全量分区。也即是说,按预设规则只需每月保留3天数据量的全量分区,相比较于原本每天保留一个全量分区的做法,其占用的存储空间约为原本的十分之一,能够显著地提高存储空间的使用合理性。
S30:在恢复目标日期的全量分区的维度表数据时,确定目标全量分区,其中,目标全量分区是指与目标日期时间相邻最近的全量分区。
可以理解地,维度表数据优化存储的实现,需通过维度表数据的恢复体现出优化存储的价值。若只是在步骤S20中删除一部分的全量分区,却无法对任意一天的全量分区实现维度表数据的恢复,那么实际上还是丢失了非保留的全量分区中的部分维度表数据。而在本实施例中,还能够实现对任意一天的全量分区的维度表数据的恢复,从而实现效果更佳的维度表数据优化存储。
具体地,在恢复目标日期的全量分区的维度表数据时,需要先确定目标全量分区,该目标全量分区属于预设规则中确定保留的全量分区,离目标日期最近的,作为目标全量分区。例如,若用户想恢复18号(目标日期)的全量分区的维度表数据时,由于在预设规则中确定保留的全量分区中,离目标日期最近的是15号的全量分区,鉴于数据恢复上的简便,将该15号的全量分区作为目标全量分区,以根据该全量分区和增量数据实现18号全量分析的维度数据表恢复。
S40:根据目标全量分区的维度表数据,以及目标日期、目标全量分区对应的生成日期、目标日期和生成日期间的日期的增量数据执行合并与去重处理,得到目标日期的全量分区的维度表数据。
可以理解地,除了目标日期的增量数据,目标全量分区对应的生成日期、目标日期和生成日期中间的日期的增量数据也是实现全量分区的维度表数据恢复的关键。在目标日期和生成日期中间的日期中,其增量数据恰好是数据恢复的连接桥梁,通过合并和去重处理的操作,能够实现目标日期的全量分区的维度表数据的恢复。从而,用户可根据预设规则中确定保留的全量分区,随时恢复任意一天的全量分区的维度表数据。
进一步地,若生成日期在目标日期之前,即在步骤S40中,根据目标全量分区的维度表数据,以及目标日期、目标全量分区对应的生成日期、目标日期和生成日期间的日期的增量数据执行合并与去重处理,得到目标日期的全量分区的维度表数据,具体包括:
获取目标日期和生成日期间的日期的增量数据,及目标日期的增量数据;去除目标日期和生成日期间的日期的增量数据、及目标日期的增量数据中更新前的维度表数据;将目标全量分区的维度表数据和去除更新前的维度表数据的增量数据进行合并,并按逻辑主键去重,以保留日期最新的维度表数据;去除所述日期最新的维度表数据中的删除数据,得到目标日期的全量分区的维度表数据。
进一步地,若生成日期在目标日期之后,则在步骤S40中,根据目标全量分区的维度表数据,以及目标日期、目标全量分区对应的生成日期、目标日期和生成日期间的日期的增量数据执行合并与去重处理,得到目标日期的全量分区的维度表数据,具体包括:
获取目标日期和生成日期间的日期的增量数据、目标日期的增量数据,以及生成日期的增量数据;去除目标日期的增量数据中更新前的维度表数据;去除生成日期的增量数据中的新增数据和更新后的维度表数据;去除掉除了目标日期的增量数据、生成日期增量数据之外的增量数据中更新后的维度表数据,得到已处理增量数据;将目标全量分区的维度表数据和已处理增量数据进行合并,并按逻辑主键去重,以保留日期最旧的维度表数据;在(除了)所述目标日期中的新增数据之外,去除日期最旧的维度表数据中的新增数据,得到目标日期的全量分区的维度表数据。
可以理解地,生成日期在目标日期之前或之后是存在一定区别的,生成日期在目标日期之前的,实施例实现的策略上主要是以保留更新后的维度表数据来实现数据恢复,生成日期在目标日期之后的,实施例实现的策略上主要是以恢复删除数据来实现数据恢复。
进一步地,在步骤S40之后,即在根据目标全量分区的维度表数据,以及目标日期、目标全量分区对应的生成日期、目标日期和生成日期间的日期的增量数据执行合并与去重处理,得到目标日期的全量分区的维度表数据之后,具体还包括:
S41:获取目标相邻两天的维度表数据,其中,目标相邻两天的维度表数据采用全量分区的方式存储,且用户的隐私信息存储于区块链中。
可以理解地,相比较于S10中的相邻两天的全量分区的维度表数据,该实施例中的目标相邻两天的维度表数据是指在删除部分全量分区数据后获取的相邻两天的维度表数据,而S10中的相邻两天的全量分区的维度表数据可以是未删除部分全量分区数据后获取的相邻两天的全量分区的维度表数据,也可以是删除部分全量分区的维度表数据后获取,S10中表示的是一种一般情况。本实施例强调的是删除部分全量分区数据后获取的相邻两天的维度表数据。
在一实施例中,目标相邻两天的维度表数据具体可以是指当天和昨天的维度表数据。可以理解地,在每天计算增量数据时,由于全量区间仅按预设规则保留,数量较少,当设备在22号计算当天的增量数据时,需要按照实施例中的方法计算21号的全量区间的维度表数据,在与22号当天的维度表数据进行比对处理后才可得到增量数据,计算效率上比较低,鉴于增量数据是每天都需要计算的,可以在按预设规则保留的全量区间之外,额外再设置两个动态的全量区间,来实现增量数据的快速计算。
本申请中提到的区块链,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
S42:在目标相邻两天改变时,基于目标相邻两天的维度表数据,采用全量分区的方式存储改变后的目标相邻两天的维度表数据,对除采用预设规则确定保留的全量分区之外的全量分区,执行去除操作。
在一实施例中,除按预设规则保留的全量区间之外,设备保留当天和昨天全量分区的维度数据表。当目标相邻两天改变时,也即过去了一天时,需要将原本昨天的全量分区删除,保留原本今天的全量分区,以及刚到来的一天的维度表数据。可以理解地,当目标相邻两天和采用预设规则确定保留的天数重叠时,可不必重复存储全量分区的维度表数据。
在步骤S41-S42中,提供了一种每天快速计算增量数据的具体实施方式,通过保留目标相邻两天的全量分区的维度表数据,在存储空间占用不大的情况下,尽可能的提高数据处理效率。
在本发明实施例中,通过将相邻两天的全量分区的维度表数据进行比对处理,得到增量数据,为实现全量分区的适当删除,维度表数据优化存储提供了实现前提;在得到增量数据后,可采用预设规则确定保留的全量分区,并将未在预设规则中确定保留的、且已得到增量数据的全量分区删除,从而清理出大量的存储空间;在需要恢复目标日期的全量分区的维度表数据时,可根据目标全量分区的维度表数据,以及目标日期、目标全量分区对应的生成日期、目标日期和生成日期中间的日期的增量数据执行合并与去重处理,实现任意一天维度表数据的快速恢复。在本发明实施例中,通过对维度表数据的优化存储,在确保维度表数据可随时恢复的前提下,能够显著提高存储资源的利用合理性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
基于实施例中所提供的维度表数据存储方法,本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
图2示出与实施例中维度表数据存储方法一一对应的维度表数据存储装置的原理框图。如图2所示,该维度表数据存储装置包括增量数据获取模块10、删除模块20、目标全量分区确定模块30和目标日期数据获取模块40。其中,增量数据获取模块10、删除模块20、目标全量分区确定模块30和目标日期数据获取模块40的实现功能与实施例中维度表数据存储方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。
增量数据获取模块10,用于对相邻两天的全量分区的维度表数据进行比对处理,得到增量数据。
删除模块20,用于采用预设规则确定保留的全量分区,并将未在预设规则中确定保留的、且已得到增量数据的全量分区删除。
目标全量分区确定模块30,用于在恢复目标日期的全量分区的维度表数据时,确定目标全量分区,其中,目标全量分区是指与目标日期时间相邻最近的全量分区。
目标日期数据获取模块40,用于根据目标全量分区的维度表数据,以及目标日期、目标全量分区对应的生成日期、目标日期和生成日期间的日期的增量数据执行合并与去重处理,得到目标日期的全量分区的维度表数据。
可选地,增量数据包括删除数据、新增数据和更新数据,更新数据包括更新前的维度表数据和更新后的维度表数据。
可选地,增量数据获取模块,具体用于:
分别计算相邻两天的全量分区的维度表数据的逻辑主键的信息摘要值;
将相邻两天的全量分区的维度表数据按逻辑主键进行维度表的全外连接;
对逻辑主键的信息摘要值进行比对,得到比对结果;
若比对结果为相邻两天中的后一天的信息摘要值为空,则得出删除数据为逻辑主键对应的维度表数据;
若比对结果为相邻两天中的前一天的信息摘要值为空,则得出新增数据为逻辑主键对应的维度表数据;
若比对结果为相邻两天的信息摘要值不相同,且不为空,则得出更新数据为逻辑主键对应的维度表数据;
可选地,目标日期数据获取模块,具体用于:
获取目标日期和生成日期间的日期的增量数据,及目标日期的增量数据;
去除目标日期和生成日期间的日期的增量数据、及目标日期的增量数据中更新前的维度表数据;
将目标全量分区的维度表数据和去除更新前的维度表数据的增量数据进行合并,并按逻辑主键去重,以保留日期最新的维度表数据;
去除日期最新的维度表数据中的删除数据,得到目标日期的全量分区的维度表数据。
可选地,目标日期数据获取模块,还具体用于:
获取目标日期和生成日期间的日期的增量数据、目标日期的增量数据,以及生成日期的增量数据;
去除目标日期的增量数据中更新前的维度表数据;
去除生成日期的增量数据中的新增数据和更新后的维度表数据;
去除在目标日期的增量数据、生成日期的增量数据之外的增量数据中更新后的维度表数据,得到已处理增量数据;
将目标全量分区的维度表数据和已处理增量数据进行合并,并按逻辑主键去重,以保留日期最旧的维度表数据;
在目标日期中的新增数据之外,去除日期最旧的维度表数据中的新增数据,得到目标日期的全量分区的维度表数据。
可选地,维度表数据存储装置还具体用于:
获取目标相邻两天的维度表数据,其中,目标相邻两天的维度表数据采用全量分区的方式存储;
在目标相邻两天改变时,基于目标相邻两天的维度表数据,采用全量分区的方式存储改变后的目标相邻两天的维度表数据,对除采用预设规则确定保留的全量分区之外的全量分区,执行去除操作。
在本发明实施例中,通过将相邻两天的全量分区的维度表数据进行比对处理,得到增量数据,为实现全量分区的适当删除,维度表数据优化存储提供了实现前提;在得到增量数据后,可采用预设规则确定保留的全量分区,并将未在预设规则中确定保留的、且已得到增量数据的全量分区删除,从而清理出大量的存储空间;在需要恢复目标日期的全量分区的维度表数据时,可根据目标全量分区的维度表数据,以及目标日期、目标全量分区对应的生成日期、目标日期和生成日期中间的日期的增量数据执行合并与去重处理,实现任意一天维度表数据的快速恢复。在本发明实施例中,通过对维度表数据的优化存储,在确保维度表数据可随时恢复的前提下,能够显著提高存储资源的利用合理性。
本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现实施例中维度表数据存储方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器执行时实现实施例中维度表数据存储装置中各模块/单元的功能,为避免重复,此处不一一赘述。
图3是本发明一实施例提供的计算机设备的示意图。如图3所示,该实施例的计算机设备50包括:处理器51、存储器52以及存储在存储器52中并可在处理器51上运行的计算机程序53,该计算机程序53被处理器51执行时实现实施例中的维度表数据存储方法,为避免重复,此处不一一赘述。或者,该计算机程序53被处理器51执行时实现实施例中维度表数据存储装置中各模型/单元的功能,为避免重复,此处不一一赘述。
计算机设备50可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备50可包括,但不仅限于,处理器51、存储器52。本领域技术人员可以理解,图3仅仅是计算机设备50的示例,并不构成对计算机设备50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器51可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器52可以是计算机设备50的内部存储单元,例如计算机设备50的硬盘或内存。存储器52也可以是计算机设备50的外部存储设备,例如计算机设备50上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器52还可以既包括计算机设备50的内部存储单元也包括外部存储设备。存储器52用于存储计算机程序以及计算机设备所需的其他程序和维度表数据。存储器52还可以用于暂时地存储已经输出或者将要输出的维度表数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种维度表数据存储方法,其特征在于,所述方法包括:
对相邻两天的全量分区的维度表数据进行比对处理,得到增量数据;
采用预设规则确定保留的全量分区,并将未在预设规则中确定保留的、且已得到所述增量数据的全量分区删除;
在恢复目标日期的全量分区的维度表数据时,确定目标全量分区,其中,所述目标全量分区是指与所述目标日期时间相邻最近的全量分区;
根据所述目标全量分区的维度表数据,以及所述目标日期、所述目标全量分区对应的生成日期、所述目标日期和所述生成日期间的日期的增量数据执行合并与去重处理,得到所述目标日期的全量分区的维度表数据。
2.根据权利要求1所述的方法,其特征在于,所述增量数据包括删除数据、新增数据和更新数据,所述对相邻两天的全量分区的维度表数据进行比对处理,得到增量数据,包括:
分别计算所述相邻两天的全量分区的维度表数据的逻辑主键的信息摘要值;
将所述相邻两天的全量分区的维度表数据按所述逻辑主键进行维度表的全外连接;
对所述逻辑主键的信息摘要值进行比对,得到比对结果;
若所述比对结果为相邻两天中的后一天的所述信息摘要值为空,则得出所述删除数据为所述逻辑主键对应的维度表数据;
若所述比对结果为相邻两天中的前一天的所述信息摘要值为空,则得出所述新增数据为所述逻辑主键对应的维度表数据;
若所述比对结果为相邻两天的所述信息摘要值不相同,且不为空,则得出所述更新数据为所述逻辑主键对应的维度表数据。
3.根据权利要求1所述的方法,其特征在于,所述增量数据包括删除数据、新增数据和更新数据,所述更新数据包括更新前的维度表数据和更新后的维度表数据;
当所述生成日期在所述目标日期之前时,所述根据所述目标全量分区的维度表数据,以及所述目标日期、所述目标全量分区对应的生成日期、所述目标日期和所述生成日期间的日期的增量数据执行合并与去重处理,得到所述目标日期的全量分区的维度表数据,包括:
获取所述目标日期和所述生成日期间的日期的增量数据,及所述目标日期的增量数据;
去除所述目标日期和所述生成日期间的日期的增量数据、及所述目标日期的增量数据中更新前的维度表数据;
将所述目标全量分区的维度表数据和去除所述更新前的维度表数据的增量数据进行合并,并按逻辑主键去重,以保留日期最新的维度表数据;
去除所述日期最新的维度表数据中的删除数据,得到所述目标日期的全量分区的维度表数据。
4.根据权利要求1所述的方法,其特征在于,所述增量数据包括删除数据、新增数据和更新数据,所述更新数据包括更新前的维度表数据和更新后的维度表数据;
当所述生成日期在所述目标日期之后时,所述根据所述目标全量分区的维度表数据,以及所述目标日期、所述目标全量分区对应的生成日期、所述目标日期和所述生成日期间的日期的增量数据执行合并与去重处理,得到所述目标日期的全量分区的维度表数据,包括:
获取所述目标日期和所述生成日期间的日期的增量数据、所述目标日期的增量数据,以及所述生成日期的增量数据;
去除所述目标日期的增量数据中更新前的维度表数据;
去除所述生成日期的增量数据中的新增数据和更新后的维度表数据;
去除在所述目标日期的增量数据、所述生成日期的增量数据之外的增量数据中更新后的维度表数据,得到已处理增量数据;
将所述目标全量分区的维度表数据和所述已处理增量数据进行合并,并按逻辑主键去重,以保留日期最旧的维度表数据;
在所述目标日期中的新增数据之外,去除所述日期最旧的维度表数据中的新增数据,得到所述目标日期的全量分区的维度表数据。
5.根据权利要求1-4任一项所述的方法,其特征在于,在所述根据所述目标全量分区的维度表数据,以及所述目标日期、所述目标全量分区对应的生成日期、所述目标日期和所述生成日期间的日期的增量数据执行合并与去重处理,得到所述目标日期的全量分区的维度表数据之后,所述方法还包括:
获取目标相邻两天的维度表数据,其中,所述目标相邻两天的维度表数据采用全量分区的方式存储,且用户的隐私信息存储于区块链中;
在所述目标相邻两天改变时,基于所述目标相邻两天的维度表数据,采用全量分区的方式存储改变后的目标相邻两天的维度表数据,对除采用所述预设规则确定保留的全量分区之外的全量分区,执行去除操作。
6.一种维度表数据存储装置,其特征在于,所述装置包括:
增量数据获取模块,用于对相邻两天的全量分区的维度表数据进行比对处理,得到增量数据;
删除模块,用于采用预设规则确定保留的全量分区,并将未在预设规则中确定保留的、且已得到所述增量数据的全量分区删除;
目标全量分区确定模块,用于在恢复目标日期的全量分区的维度表数据时,确定目标全量分区,其中,所述目标全量分区是指与所述目标日期时间相邻最近的全量分区;
目标日期数据获取模块,用于根据所述目标全量分区的维度表数据,以及所述目标日期、所述目标全量分区对应的生成日期、所述目标日期和所述生成日期间的日期的增量数据执行合并与去重处理,得到所述目标日期的全量分区的维度表数据。
7.根据权利要求6所述的装置,其特征在于,所述增量数据包括删除数据、新增数据和更新数据,所述增量数据获取模块,具体用于:
分别计算所述相邻两天的全量分区的维度表数据的逻辑主键的信息摘要值;
将所述相邻两天的全量分区的维度表数据按所述逻辑主键进行维度表的全外连接;
对所述逻辑主键的信息摘要值进行比对,得到比对结果;
若所述比对结果为相邻两天中的后一天的所述信息摘要值为空,则得出所述删除数据为所述逻辑主键对应的维度表数据;
若所述比对结果为相邻两天中的前一天的所述信息摘要值为空,则得出所述新增数据为所述逻辑主键对应的维度表数据;
若所述比对结果为相邻两天的所述信息摘要值不相同,且不为空,则得出所述更新数据为逻辑主键对应的维度表数据。
8.根据权利要求6所述的装置,其特征在于,所述增量数据包括删除数据、新增数据和更新数据,所述更新数据包括更新前的维度表数据和更新后的维度表数据,所述目标日期数据获取模块,具体用于:
获取所述目标日期和所述生成日期间的日期的增量数据,及所述目标日期的增量数据;
去除所述目标日期和所述生成日期间的日期的增量数据、及所述目标日期的增量数据中更新前的维度表数据;
将所述目标全量分区的维度表数据和去除所述更新前的维度表数据的增量数据进行合并,并按逻辑主键去重,以保留日期最新的维度表数据;
去除所述日期最新的维度表数据中的删除数据,得到所述目标日期的全量分区的维度表数据。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述维度表数据存储方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述维度表数据存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010344145.9A CN111522821A (zh) | 2020-04-27 | 2020-04-27 | 维度表数据存储方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010344145.9A CN111522821A (zh) | 2020-04-27 | 2020-04-27 | 维度表数据存储方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111522821A true CN111522821A (zh) | 2020-08-11 |
Family
ID=71906220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010344145.9A Pending CN111522821A (zh) | 2020-04-27 | 2020-04-27 | 维度表数据存储方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522821A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182119A (zh) * | 2020-09-30 | 2021-01-05 | 中国平安财产保险股份有限公司 | 数据仓库维度表的校验方法及装置 |
CN112508712A (zh) * | 2020-11-30 | 2021-03-16 | 泰康保险集团股份有限公司 | 客户数据处理方法、装置、介质及电子设备 |
CN113127448A (zh) * | 2021-04-23 | 2021-07-16 | 深圳市酷开网络科技股份有限公司 | 一种地域维度表生成方法、装置、服务器及存储介质 |
CN113961577A (zh) * | 2021-10-26 | 2022-01-21 | 中国银行股份有限公司 | 一种更新数据的处理方法、装置、电子设备及存储介质 |
CN115048239A (zh) * | 2022-04-19 | 2022-09-13 | 中银金融科技有限公司 | 数据还原方法、装置、电子设备和存储介质 |
CN115080557A (zh) * | 2021-03-16 | 2022-09-20 | 京东方科技集团股份有限公司 | 数据处理方法、数据查询方法、服务器、设备及存储介质 |
-
2020
- 2020-04-27 CN CN202010344145.9A patent/CN111522821A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182119A (zh) * | 2020-09-30 | 2021-01-05 | 中国平安财产保险股份有限公司 | 数据仓库维度表的校验方法及装置 |
CN112508712A (zh) * | 2020-11-30 | 2021-03-16 | 泰康保险集团股份有限公司 | 客户数据处理方法、装置、介质及电子设备 |
CN115080557A (zh) * | 2021-03-16 | 2022-09-20 | 京东方科技集团股份有限公司 | 数据处理方法、数据查询方法、服务器、设备及存储介质 |
CN113127448A (zh) * | 2021-04-23 | 2021-07-16 | 深圳市酷开网络科技股份有限公司 | 一种地域维度表生成方法、装置、服务器及存储介质 |
CN113961577A (zh) * | 2021-10-26 | 2022-01-21 | 中国银行股份有限公司 | 一种更新数据的处理方法、装置、电子设备及存储介质 |
CN115048239A (zh) * | 2022-04-19 | 2022-09-13 | 中银金融科技有限公司 | 数据还原方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522821A (zh) | 维度表数据存储方法、装置、计算机设备及存储介质 | |
US10552373B2 (en) | Space accounting for storage system snapshots | |
US11074560B2 (en) | Tracking processed machine data | |
WO2022126974A1 (zh) | 基于Kafka的增量数据同步方法、装置、设备及介质 | |
US10169606B2 (en) | Verifiable data destruction in a database | |
US11487714B2 (en) | Data replication in a data analysis system | |
US11671262B2 (en) | Asynchronously determining relational data integrity using cryptographic data structures | |
DE112012005037T5 (de) | Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds | |
CN105303123A (zh) | 一种基于分块混淆的动态数据隐私保护系统及方法 | |
CN112182004B (zh) | 实时查看数据方法、装置、计算机设备及存储介质 | |
US9940066B2 (en) | Snapshot management in hierarchical storage infrastructure | |
CN110245514B (zh) | 一种基于区块链的分布式计算方法及系统 | |
WO2023011022A1 (zh) | 基于区块链的数据处理方法、设备及计算机可读存储介质 | |
US11625305B2 (en) | Method and system for indexing fragmented user data objects | |
CN116204540A (zh) | 操作日志记录方法、装置、设备及存储介质 | |
CN111143130A (zh) | 数据恢复方法、装置、计算机可读存储介质和计算机设备 | |
CN113114757B (zh) | 一种文件传输方法、装置和设备 | |
CN111309516B (zh) | 智能家居设备管理数据的恢复方法及终端设备 | |
US10691615B2 (en) | Client-side persistent caching framework | |
CN108614838B (zh) | 一种用户群索引处理方法、装置及系统 | |
CN111026763A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN114978678B (zh) | 防火墙策略变更方法、装置、计算机设备和存储介质 | |
US11593498B2 (en) | Distribution of user specific data elements in a replication environment | |
US11616859B2 (en) | Unified counting platform | |
US20210409204A1 (en) | Encryption of protected data for transmission over a web interface |
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 |