CN117493333A - 数据归档方法、装置、电子设备及存储介质 - Google Patents
数据归档方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117493333A CN117493333A CN202310594168.9A CN202310594168A CN117493333A CN 117493333 A CN117493333 A CN 117493333A CN 202310594168 A CN202310594168 A CN 202310594168A CN 117493333 A CN117493333 A CN 117493333A
- Authority
- CN
- China
- Prior art keywords
- data
- data record
- record
- archiving
- characteristic value
- 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
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000005192 partition Methods 0.000 claims abstract description 191
- 238000012545 processing Methods 0.000 claims abstract description 56
- 230000006870 function Effects 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 19
- 239000003550 marker Substances 0.000 claims description 15
- 238000012986 modification Methods 0.000 claims description 15
- 230000004048 modification Effects 0.000 claims description 15
- 238000012217 deletion Methods 0.000 claims description 14
- 230000037430 deletion Effects 0.000 claims description 14
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 238000011161 development Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 5
- 239000002699 waste material Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
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
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
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)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据归档方法、装置、电子设备及存储介质,该方法包括:获取与数据对象对应的归档配置规则,至少包括归档基准分区和归档间隔周期;分别获取归档基准分区和待归档分区中对应于数据对象的多条第一数据记录和第二数据记录并生成与之对应的第一特征值和第二特征值;根据多条第一数据记录和第二数据记录中包含的标识字段对二者执行关联匹配处理,得到多个关联记录组并生成对应的标记数据记录;在标记数据记录中包括的第一特征值和第二特征值不同的情况下,生成差异数据记录并据此执行数据归档处理。该方法只对产生更新的差异数据进行数据归档,节省存储空间资源,且提供统一的数据归档方法,提升数据归档的效率和灵活性。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种数据归档方法、装置、电子设备及存储介质。
背景技术
数据归档(data archiving)是将不再经常使用的数据移到一个单独的存储设备来进行长期保存的过程。数据归档由旧的数据组成,但它是以后参考所必需且很重要的数据,其数据必须遵从规则来保存。数据归档具有索引和搜索功能,这样文件可以很容易地找到。
在实际应用场景的数据仓库系统中,通常通过全量拉取和增量拉取两种方式对业务数据进行存储并以数据表的形式呈现。其中,由于全量拉取需要定期获取全部业务数据记录,数据量较为庞大,因此在全量拉取产生的历史数据表较少被使用时,需要对该部分历史数据表进行数据归档处理。
在相关技术中,根据不同用户的不同需求单独开发满足用户需求的数据归档任务,再通过执行该数据归档任务对全量拉取得到的历史数据表进行数据归档。基于上述对于全量拉取得到的历史数据表进行数据归档的方式,没有统一的数据归档方法,针对不同的用户需求需要开发新的数据归档任务,会产生大量重复且可能存在雷同的开发任务,极大地增加了开发难度;并且在用户的归档需求发生变化时需要重新开发新的数据归档任务,灵活性较差;另外,该方法对历史数据表中的数据进行全量数据归档,浪费存储空间。
发明内容
本申请提供一种数据归档方法、装置、电子设备及存储介质,用以减少数据归档任务的开发难度,以及节省数据归档的存储空间资源。
第一方面,本申请提供了一种数据归档方法,包括:
获取与数据对象相对应的归档配置规则,归档配置规则中至少包括:归档基准分区以及归档间隔周期,归档基准分区为包含用于作为比对基准的全量数据记录的数据表;
获取归档基准分区中对应于数据对象的多条第一数据记录,以及待归档分区中对应于数据对象的多条第二数据记录;其中,待归档分区为根据归档基准分区和归档间隔周期确定的包含待归档的全量数据记录的数据表,第一数据记录以及第二数据记录通过标识字段进行标识;
生成与每条第一数据记录相对应的第一特征值,并且,生成与每条第二数据记录相对应的第二特征值;根据多条第一数据记录以及多条第二数据记录中包含的标识字段,对多条第一数据记录以及多条第二数据记录执行关联匹配处理,得到多个关联记录组,生成与每个关联记录组相对应的标记数据记录;其中,每个关联记录组中的第一数据记录和第二数据记录的标识字段具有相同的字段值,每条标记数据记录包括:标识字段、第一特征值以及第二特征值;
针对每条标记数据记录,在标记数据记录中包括的第一特征值以及第二特征值不同的情况下,生成差异数据记录,并根据差异数据记录执行数据归档处理;其中,差异数据记录用于表征第二数据记录相对于第一数据记录的更新方式。
第二方面,本申请提供了一种数据归档装置,包括:
规则获取模块,用于获取与数据对象相对应的归档配置规则,归档配置规则中至少包括:归档基准分区以及归档间隔周期,归档基准分区为包含用于作为比对基准的全量数据记录的数据表;
数据获取模块,用于获取归档基准分区中对应于数据对象的多条第一数据记录,以及待归档分区中对应于数据对象的多条第二数据记录;其中,待归档分区为根据归档基准分区和归档间隔周期确定的包含待归档的全量数据记录的数据表,第一数据记录以及第二数据记录通过标识字段进行标识;
数据关联模块,用于生成与每条第一数据记录相对应的第一特征值,并且,生成与每条第二数据记录相对应的第二特征值;根据多条第一数据记录以及多条第二数据记录中包含的标识字段,对多条第一数据记录以及多条第二数据记录执行关联匹配处理,得到多个关联记录组,生成与每个关联记录组相对应的标记数据记录;其中,每个关联记录组中的第一数据记录和第二数据记录的标识字段具有相同的字段值,每条标记数据记录包括:标识字段、第一特征值以及第二特征值;
数据归档模块,用于针对每条标记数据记录,在标记数据记录中包括的第一特征值以及第二特征值不同的情况下,生成差异数据记录,并根据差异数据记录执行数据归档处理;其中,差异数据记录用于表征第二数据记录相对于第一数据记录的更新方式。
第三方面,本申请提供了一种电子设备,该电子设备包括:至少一个处理器;至少一个存储器;以及一个或多个I/O接口,连接在处理器与存储器之间;其中,存储器存储有可被至少一个处理器执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器执行,以使至少一个处理器能够执行上述数据归档方法。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,其中,计算机程序在被处理器/处理核执行时实现上述数据归档方法。
根据本申请提供的一种数据归档方法,首先,获取与数据对象相对应的归档配置规则,归档配置规则中至少包括:归档基准分区以及归档间隔周期,归档基准分区为包含用于作为比对基准的全量数据记录的数据表;其次,获取归档基准分区中对应于数据对象的多条第一数据记录,以及待归档分区中对应于数据对象的多条第二数据记录;其中,待归档分区为根据归档基准分区和归档间隔周期确定的包含待归档的全量数据记录的数据表,第一数据记录以及第二数据记录通过标识字段进行标识;再次,生成与每条第一数据记录相对应的第一特征值,并且,生成与每条第二数据记录相对应的第二特征值;根据多条第一数据记录以及多条第二数据记录中包含的标识字段,对多条第一数据记录以及多条第二数据记录执行关联匹配处理,得到多个关联记录组,生成与每个关联记录组相对应的标记数据记录;其中,每个关联记录组中的第一数据记录和第二数据记录的标识字段具有相同的字段值,每条标记数据记录包括:标识字段、第一特征值以及第二特征值;最后,针对每条标记数据记录,在标记数据记录中包括的第一特征值以及第二特征值不同的情况下,生成差异数据记录,并根据差异数据记录执行数据归档处理;其中,差异数据记录用于表征第二数据记录相对于第一数据记录的更新方式。该方法基于用户需求获取归档配置规则,从而按照指定归档间隔周期对特定数据分区进行数据归档处理;具体地,通过比较分别根据归档基准分区和待归档分区中数据的特征字段生成的特征值,筛选出全量数据表中产生更新的差异数据;一方面,该方法只对待归档分区中产生更新的差异数据进行数据归档处理,而非对待归档分区进行全量归档,节省了数据归档占用的存储空间资源;另一方面,提供了统一的数据归档方法,当用户提出新的数据归档需求或原有的数据归档需求产生变化时,只需改变归档配置规则的内容即可,而不必再针对新的用户需求重新开发新的数据归档任务,在减少数据归档任务开发难度的同时提升了数据归档的效率和灵活性。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请,并不构成对本申请的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本申请实施例提供的一种数据归档方法的流程图;
图2为本申请又一实施例提供的一种数据归档方法的流程图;
图3为与本申请实施例对应的具体示例提供的一种数据归档方法的流程图;
图4为本申请实施例提供的一种数据归档装置的框图;
图5为本申请实施例提供的一种电子设备的框图。
具体实施方式
为使本领域的技术人员更好地理解本申请的技术方案,以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本申请各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本申请。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本申请的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
根据本申请实施例的数据归档方法可以由终端设备或服务器等电子设备执行,终端设备可以为车载设备、用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等;所述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。所述方法具体可以是通过处理器调用存储器中存储的计算机程序的方式来实现。
在相关技术中,根据不同用户的不同需求单独开发满足用户需求的数据归档任务,再通过执行该数据归档任务对全量拉取得到的历史数据表进行数据归档,没有统一的数据归档方法,针对不同的用户需求需要开发新的数据归档任务,会产生大量重复且可能存在雷同的开发任务,极大地增加了开发难度;并且在用户的归档需求发生变化时需要重新开发新的数据归档任务,灵活性较差;另外,该方法对历史数据表中的数据进行全量数据归档,浪费存储空间。为了解决上述问题,本申请提供了一种数据归档方法,该方法基于用户需求获取归档配置规则,从而按照指定归档间隔周期对特定数据分区进行数据归档处理;具体地,通过比较分别根据归档基准分区和待归档分区中数据的特征字段生成的特征值,筛选出全量数据表中产生更新的差异数据;一方面,该方法只对待归档分区中产生更新的差异数据进行数据归档处理,而非对待归档分区进行全量归档,节省了数据归档占用的存储空间资源;另一方面,提供了统一的数据归档方法,当用户提出新的数据归档需求或原有的数据归档需求产生变化时,只需改变归档配置规则的内容即可,而不必再针对新的用户需求重新开发新的数据归档任务,在减少数据归档任务开发难度的同时提升了数据归档的效率和灵活性。
图1为本申请实施例提供的一种数据归档方法的流程图。参照图1,该方法包括:
步骤S110:获取与数据对象相对应的归档配置规则,归档配置规则中至少包括:归档基准分区以及归档间隔周期,归档基准分区为包含用于作为比对基准的全量数据记录的数据表。
数据仓库(Data Warehouse)是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、质量以及控制。在实际应用场景的数据仓库系统中,通常通过全量拉取和增量拉取两种方式对业务数据进行存储并以数据表的形式呈现。其中,由于全量拉取需要定期获取全部业务数据记录,数据量较为庞大,因此在全量拉取产生的历史数据表较少被使用时,需要对该部分历史数据表进行数据归档处理;则在进行数据归档处理的过程中,数据仓库中的多个数据表对应于多个不同的数据分区,其中,每个数据分区中分别包含同一业务场景中在不同时间点下进行全量拉取得到的数据记录,每个数据分区中的数据记录中包含的特征字段相同。
其中,数据对象是用户群体在数据仓库系统中的映射,则对应于不同用户群体对于数据仓库中数据表的不同数据归档需求,不同数据对象也对应于不同的归档配置规则,即归档配置规则用于表征用户的数据归档需求。具体的,归档配置规则中至少包括:归档基准分区以及归档间隔周期;其中,归档基准分区中包含该时间点下对业务数据进行全量拉取得到的数据记录,该全量数据记录用于作为对比基准,则根据归档基准分区和归档间隔周期可确定出待归档分区,待归档分区中包含与归档基准分区中数据被拉取的时间点间隔N个归档间隔周期的时间点下对业务数据进行全量拉取得到的数据记录。
步骤S120:获取归档基准分区中对应于数据对象的多条第一数据记录,以及待归档分区中对应于数据对象的多条第二数据记录;其中,待归档分区为根据归档基准分区和归档间隔周期确定的包含待归档的全量数据记录的数据表,第一数据记录以及第二数据记录通过标识字段进行标识。
其中,待归档分区根据归档基准分区和归档间隔周期确定,具体确定方法已在步骤S110中说明,则待归档分区的数量可以为一个或多个,每个待归档分区中包含待归档的全量数据记录;若待归档分区的数量为多个,则分别对每个待归档分区进行数据归档处理。
其中,每条数据记录中包含用于唯一标识该条数据记录的标识字段,则第一数据记录以及第二数据记录通过标识字段进行标识。
步骤S130:生成与每条第一数据记录相对应的第一特征值,并且,生成与每条第二数据记录相对应的第二特征值;根据多条第一数据记录以及多条第二数据记录中包含的标识字段,对多条第一数据记录以及多条第二数据记录执行关联匹配处理,得到多个关联记录组,生成与每个关联记录组相对应的标记数据记录;其中,每个关联记录组中的第一数据记录和第二数据记录的标识字段具有相同的字段值,每条标记数据记录包括:标识字段、第一特征值以及第二特征值。
其中,数据记录的特征值是通过对该条数据记录选定字段的字段值进行运算生成的数值,用于将数据记录中包括的字符类型的选定字段转换为数值类型,便于通过比较数值确定数据记录的状态是否发生变化。由于每条数据记录的特征值基于该数据记录中包含的多个字段对应的字段值生成,因此每条数据记录的特征值对应于唯一的数值,可以用于唯一标识该条数据记录中包含的选定字段。因此,在本实施例中,第一特征值是通过对第一数据记录选定字段的字段值进行运算生成的、用于唯一标识该条第一数据记录中包含的选定字段的数值,第二特征值是通过对第二数据记录选定字段的字段值进行运算生成的、用于唯一标识该条第二数据记录中包含的选定字段的数值。
其中,第一数据记录以及第二数据记录通过标识字段进行标识,则关联记录组用于将标识字段相同的第一数据记录和第二数据记录进行关联匹配,每个关联记录组中的第一数据记录和第二数据记录的标识字段具有相同的字段值。因此,针对每个关联数据组,可以根据该关联数据组中包含的与第一数据记录对应的第一特征值、与第二数据记录对应的第二特征值、以及第一数据记录和第二数据记录中包含的相同的标识字段,生成标记数据记录;即每条标记数据记录包括:标识字段、第一特征值以及第二特征值。进而,通过将第一数据记录对应的第一特征值和第二数据记录对应的第二特征值进行比对,判断对于标识字段相同的数据记录,待归档分区中数据记录中包含的选定字段相对于归档基准分区中数据记录中包含的选定字段的字段值是否发生变化。
步骤S140:针对每条标记数据记录,在标记数据记录中包括的第一特征值以及第二特征值不同的情况下,生成差异数据记录,并根据差异数据记录执行数据归档处理;其中,差异数据记录用于表征第二数据记录相对于第一数据记录的更新方式。
其中,每条标记数据记录包括:标识字段、第一特征值以及第二特征值,第一特征值是通过对第一数据记录的选定字段进行运算生成的、用于唯一标识该条第一数据记录中包含的选定字段的数值,第二特征值是通过对第二数据记录的选定字段进行运算生成的、用于唯一标识该条第二数据记录中包含的选定字段的数值。因此,针对每条标记数据记录,通过比对第一特征值和第二特征值是否相等,可以判断对于标识字段相同的数据记录,待归档分区中数据记录中包含的选定字段相对于归档基准分区中数据记录中包含的选定字段的字段值是否发生变化。
其中,差异数据记录用于表征第二数据记录相对于第一数据记录的更新方式,则针对每条标记数据记录,其对应的差异数据记录中包含第二数据记录的选定字段相对于第一数据记录的选定字段更新的内容。其中,更新方式可以包括:删除、修改、新增等。
综上所述,根据本申请实施例提供的一种数据归档方法,首先,获取与数据对象相对应的归档配置规则,归档配置规则中至少包括:归档基准分区以及归档间隔周期,归档基准分区为包含用于作为比对基准的全量数据记录的数据表;其次,获取归档基准分区中对应于数据对象的多条第一数据记录,以及待归档分区中对应于数据对象的多条第二数据记录;其中,待归档分区为根据归档基准分区和归档间隔周期确定的包含待归档的全量数据记录的数据表,第一数据记录以及第二数据记录通过标识字段进行标识;再次,生成与每条第一数据记录相对应的第一特征值,并且,生成与每条第二数据记录相对应的第二特征值;根据多条第一数据记录以及多条第二数据记录中包含的标识字段,对多条第一数据记录以及多条第二数据记录执行关联匹配处理,得到多个关联记录组,生成与每个关联记录组相对应的标记数据记录;其中,每个关联记录组中的第一数据记录和第二数据记录的标识字段具有相同的字段值,每条标记数据记录包括:标识字段、第一特征值以及第二特征值;最后,针对每条标记数据记录,在标记数据记录中包括的第一特征值以及第二特征值不同的情况下,生成差异数据记录,并根据差异数据记录执行数据归档处理;其中,差异数据记录用于表征第二数据记录相对于第一数据记录的更新方式。该方法基于用户需求获取归档配置规则,从而按照指定归档间隔周期对特定数据分区进行数据归档处理;具体地,通过比较分别根据归档基准分区和待归档分区中数据的特征字段生成的特征值,筛选出全量数据表中产生更新的差异数据;一方面,该方法只对待归档分区中产生更新的差异数据进行数据归档处理,而非对待归档分区进行全量归档,节省了数据归档占用的存储空间资源;另一方面,提供了统一的数据归档方法,当用户提出新的数据归档需求或原有的数据归档需求产生变化时,只需改变归档配置规则的内容即可,而不必再针对新的用户需求重新开发新的数据归档任务,在减少数据归档任务开发难度的同时提升了数据归档的效率和灵活性。
图2为本申请又一实施例提供的一种数据归档方法的流程图。参照图2,该方法包括:
步骤S210:获取与数据对象相对应的归档配置规则,归档配置规则中至少包括:归档基准分区以及归档间隔周期,归档基准分区为包含用于作为比对基准的全量数据记录的数据表。
数据仓库(Data Warehouse)是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、质量以及控制。在实际应用场景的数据仓库系统中,通常通过全量拉取和增量拉取两种方式对业务数据进行存储并以数据表的形式呈现。其中,由于全量拉取需要定期获取全部业务数据记录,数据量较为庞大,因此在全量拉取产生的历史数据表较少被使用时,需要对该部分历史数据表进行数据归档处理;则在进行数据归档处理的过程中,数据仓库中的多个数据表对应于多个不同的数据分区,其中,每个数据分区中分别包含同一业务场景中在不同时间点下进行全量拉取得到的数据记录,每个数据分区中的数据记录中包含的特征字段相同。
其中,数据对象是用户群体在数据仓库系统中的映射,则对应于不同用户群体对于数据仓库中数据表的不同数据归档需求,不同数据对象也对应于不同的归档配置规则,即归档配置规则用于表征用户的数据归档需求。具体的,归档配置规则中至少包括:归档基准分区以及归档间隔周期;其中,归档基准分区中包含该时间点下对业务数据进行全量拉取得到的数据记录,该全量数据记录用于作为对比基准,则根据归档基准分区和归档间隔周期可确定出待归档分区,待归档分区中包含与归档基准分区中数据被拉取的时间点间隔N个归档间隔周期的时间点下对业务数据进行全量拉取得到的数据记录。例如,若用户的数据归档需求为从每月1号开始,每隔8天对当天的业务数据进行一次数据归档,归档间隔周期采用数字N表示步长,则根据与用户归档需求相对应的归档配置规则,归档基准分区为每月1号进行全量拉取得到的数据表,归档间隔周期为8,从而可以计算得出待归档分区为每月9号、17号、26号进行全量拉取得到的数据表。进而,根据归档配置规则中包含的其他规则对待归档分区中的数据记录执行后续操作步骤,以完成对与用户需求相对应的待归档分区中数据记录的数据归档处理。
步骤S220:获取归档基准分区中对应于数据对象的多条第一数据记录,以及待归档分区中对应于数据对象的多条第二数据记录。
其中,待归档分区为根据归档基准分区和归档间隔周期确定的包含待归档的全量数据记录的数据表,具体确定方法已在步骤S210中说明,则待归档分区的数量可以为一个或多个;若待归档分区的数量为多个,则分别对每个待归档分区进行数据归档处理。
其中,每条第一数据记录和每条第二数据记录中都存在一个或多个特征字段,每个特征字段用于表征该条数据记录的其中一个数据特征;则归档基准分区中的每条第一数据记录中都存在相同的特征字段,待归档分区中的每条第二数据记录在都存在相同的特征字段,并且第一数据记录和第二数据记录中也都存在相同的特征字段。
其中,数据记录的标识字段是可以用于标识该条数据记录的特征字段,标识字段所表征的数据特征可以使该条数据记录区别于其他数据记录,则上述第一数据记录以及第二数据记录通过标识字段进行标识。例如,在电商业务场景下,某条数据记录中存在的特征字段包括:订单编号、订单商品、订单状态、是否退货等,则其中的“订单编号”和“订单商品”两个特征字段共同构成用于标识该条数据记录的标识字段,即该业务场景下的每条数据记录用于表示某一订单中的某件商品的订购状态。
在一种可选的实现方式中,为了进一步减少内存占用,可以通过将差异归档集的进行叠加、使单个归档数据集更小来实现,归档配置规则中还包括用于表征是否动态调整归档基准分区的基准调整标识,则归档基准分区和待归档分区通过以下方式确定:
若不进行动态调整归档基准分区,则归档基准分区固定,将与归档基准分区相隔N个归档间隔周期的数据分区依次确定为待归档分区;其中,N为大于等于1的自然数;
若动态调整归档基准分区,则将与归档基准分区相隔一个归档间隔周期的数据分区确定为待归档分区,在完成对待归档分区的数据归档后,将待归档分区确定为新的归档基准分区,将在新的归档基准分区数据之后且相隔一个归档间隔周期的数据分区确定为新的待归档分区。
步骤S230:生成与每条第一数据记录相对应的第一特征值,并且,生成与每条第二数据记录相对应的第二特征值;根据多条第一数据记录以及多条第二数据记录中包含的标识字段,对多条第一数据记录以及多条第二数据记录执行关联匹配处理,得到多个关联记录组,生成与每个关联记录组相对应的标记数据记录。
在一种可选的实现方式中,归档配置规则还包括:特征函数以及特征字段;其中,特征值是通过特征函数对特征字段值进行运算得到的数值,用于将数据记录中包括的字符类型的特征字段转换为数值类型,便于通过比较数值确定数据记录的状态是否发生变化。由于每条数据记录的特征值基于该数据记录中选定的特征字段对应的特征字段值生成,因此每条数据记录的特征值对应于唯一的数值,可以用于唯一标识该条数据记录中选定的特征字段。因此,对应于归档配置规则中要求的特征字段,通过特征函数对每条第一数据记录中包含的相应特征字段值进行运算得到第一特征值,并且通过特征函数对每条第二数据记录中包含的相应特征字段值进行运算得到第二特征值。
其中,特征函数用于对特征字段值进行运算以得到特征值,可以是系统函数或UDF函数(User Define Function,用户自定义函数);其中,若特征函数是UDF函数,则在对特征字段值进行运算之前,先在系统中对用户自定义的UDF函数进行加载注册。特征函数的选取由本领域技术人员在实现该方法时视场景需求具体决定,在此不作限制。在一种可选的实现方式中,特征函数输入参数的数据类型为字符串类型,则为了对应于归档配置规则中要求的特征字段,将每条数据记录中对应的一个或多个特征字段转换为统一的特征值,每条数据记录对应的特征值具体通过以下方式生成:
获取数据记录中对应于特征字段的特征字段值,将特征字段值转换为特征字符串;
通过特征函数对特征字符串进行运算,得到数据记录对应的特征值;其中,将特征字符串作为输入参数输入特征函数中进行运算,将函数的输出结果作为该条数据记录对应的特征值;其中,特征值用于作为新增字段增加到数据记录中,则经过特征值运算后的数据记录中新增了特征值字段,该特征值由该条数据记录中与归档配置规则中的特征字段相对应的特征字段值经过特征函数的运算得到;
其中,在特征字段为多个的情况下,对应于特征字段的特征字段值通过对多个特征字段的特征字段值进行排序处理及合并处理得到。
其中,第一数据记录以及第二数据记录通过标识字段进行标识,则关联记录组用于将标识字段相同的第一数据记录和第二数据记录进行关联匹配,每个关联记录组中的第一数据记录和第二数据记录的标识字段具有相同的字段值。因此,针对每个关联数据组,可以根据该关联数据组中包含的与第一数据记录对应的第一特征值、与第二数据记录对应的第二特征值、以及第一数据记录和第二数据记录中包含的相同的标识字段,生成标记数据记录;即每条标记数据记录包括:标识字段、第一特征值以及第二特征值。进而,通过将第一数据记录对应的第一特征值和第二数据记录对应的第二特征值进行比对,判断对于标识字段相同的数据记录,待归档分区中数据记录中包含的选定特征字段相对于归档基准分区中数据记录中包含的选定特征字段的特征字段值是否发生变化。
在一种可选的实现方式中,由于实际应用场景中的归档基准分区和待归档分区中分别存在大量第一数据记录和第二数据记录,为了提升第一数据记录和第二数据记录进行关联匹配的效率,先分别对归档基准分区中第一数据记录和待归档分区中的第二数据记录进行排序,则步骤S230中的根据多条第一数据记录以及多条第二数据记录中包含的标识字段,对多条第一数据记录以及多条第二数据记录执行关联匹配处理,得到多个关联记录组,具体通过以下步骤实现:
步骤一:获取每条第一数据记录中包含的标识字段的字段值,按照第一数据记录中包含的标识字段的字段值对多条第一数据记录执行排序处理,得到排序后的多条第一数据记录;
步骤二:获取每条第二数据记录中包含的标识字段的字段值,按照第二数据记录中包含的标识字段的字段值对多条第二数据记录执行排序处理,得到排序后的多条第二数据记录;
步骤三:根据排序后的多条第一数据记录以及排序后的多条第二数据记录,将标识字段的字段值相同的第一数据记录和第二数据记录确定为关联记录组;其中,若不存在与某条第一数据记录的标识字段对应的字段值相同的第二数据记录,则将该条第一数据记录单独确定为关联记录组,该关联记录组中第二数据记录的特征字段和第二特征值为空;相应的,若不存在与某条第二数据记录的标识字段对应的字段值相同的第一数据记录,则将该条第二数据记录单独确定为关联记录组,该关联记录组中第一数据记录的特征字段和第一特征值为空;
步骤四:根据每个关联记录组对应的标识字段、第一数据记录的特征字段和第一特征值、以及第二数据记录的特征字段和第二特征值,生成与每个关联记录组相对应的标记数据记录;即每个关联记录组中的数据包括:标识字段、第一数据记录的特征字段和第一特征值、以及第二数据记录的特征字段和第二特征值。
在一种可选的实现方式中,为了通过统一的归档方案流程满足不同用户的不同归档需求,上述方法还包括:预先根据用户属性信息和/或业务属性信息,在归档配置库中生成与归档用户标识相对应的归档配置规则;其中,每个归档配置规则中包括的特征函数、特征字段以及归档间隔周期根据业务属性信息和/或用户属性信息确定;其中,归档用户标识用于唯一标识用户的身份;其中,用户属性信息包括:用户角色(用于表征用户身份,如管理员用户)、用户类型(用于表征用户权限等级,不同权限等级的用户被分配的权限范围不同,如一级权限用户拥有最高权限);业务属性信息包括:业务类型、业务状态、和/或业务执行周期。
因此,上述步骤S210中获取与数据对象相对应的归档配置规则具体包括:确定待归档的数据对象对应的归档用户标识;从归档配置库中查询与归档用户标识相对应的归档配置规则。
在一种可选的实现方式中,若同一归档用户标识对应于多个归档配置规则,则从归档配置库中查询与归档用户标识相对应的归档配置规则具体包括以下两种方式:
方式一:针对每个归档配置规则执行数据归档处理。具体地,获取与归档用户标识相对应的每个归档配置规则,以针对获取到的每个归档配置规则执行获取归档基准分区中对应于数据对象的多条第一数据记录,以及待归档分区中对应于数据对象的多条第二数据记录的步骤及其后续步骤。
方式二:根据当前业务状态,从多个归档配置规则中选择与当前业务状态匹配的归档配置规则;其中,业务状态可根据负载量、用户在线数量、系统性能等确定。
步骤S240:针对每条标记数据记录,在标记数据记录中包括的第一特征值以及第二特征值不同的情况下,生成差异数据记录,并根据差异数据记录执行数据归档处理。
其中,每条标记数据记录包括:标识字段、第一特征值以及第二特征值,第一特征值是通过对第一数据记录中包含的相应特征字段值进行运算生成的、用于该条第一数据记录中选定的特征字段的数值,第二特征值是通过对第二数据记录中包含的相应特征字段值进行运算生成的、用于唯一标识该条第二数据记录中选定的特征字段的数值。因此,针对每条标记数据记录,通过比对第一特征值和第二特征值是否相等,可以判断对于标识字段相同的数据记录,待归档分区中数据记录中包含的选定特征字段相对于归档基准分区中数据记录中包含的选定特征字段的特征字段值是否发生变化。
在一种可选的实现方式中,为了确定标记数据记录中包括的第一特征值和第二特征值是否相同,以便于根据对比结果划分数据记录类型,并对不同类型的数据记录进行不同方式的数据归档处理,在标记数据记录中包括的第一特征值以及第二特征值不同的情况下,生成差异数据记录之前,还包括:
将标记数据记录中包括的第一特征值以及第二特征值进行对比,根据对比结果确定标记数据记录的记录类型;其中,若第一特征值与第二特征值相同,则确定标记数据记录的记录类型为保留类型;若第一特征值与第二特征值不同,则确定标记数据记录的记录类型为更新类型。
因此,基于上述根据对比结果确定的标记数据记录的记录类型,步骤S240中的生成差异数据记录,根据差异数据记录执行数据归档处理具体包括:
针对更新类型的标记数据记录,根据更新类型的标记数据记录中包括的标识字段和第二数据记录的特征字段,生成更新类型的标记数据记录相对应的差异数据记录,并且,将差异数据记录写入指定的归档库中。
其中,差异数据记录用于表征第二数据记录相对于第一数据记录的更新方式,则针对每条标记数据记录,其对应的差异数据记录中包含第二数据记录的选定特征字段相对于第一数据记录的选定特征字段更新的内容。
在一种可选的实现方式中,更新类型包括删除类型、修改类型、新增类型,则将标记数据记录中包括的第一特征值以及第二特征值进行对比,根据对比结果确定标记数据记录的记录类型具体包括:
若第一特征值不为空,并且第二特征值为空,则确定标记数据记录的记录类型为删除类型;即在归档基准分区中存在与该标识字段对应的第一数据记录,而在待归档分区中不存在与该标识字段对应的第二数据记录;
若第一特征值和第二特征值均不为空,并且第一特征值和第二特征值数值不等,则确定标记数据记录的记录类型为修改类型;即在归档基准分区中存在与该标识字段对应的第一数据记录,在待归档分区中也存在与该标识字段对应的第二数据记录,但该第一数据记录和第二数据记录的特征字段的字段值不同;
若第一特征值为空,并且第二特征值不为空,则确定标记数据记录的记录类型为新增类型;即在归档基准分区中不存在与该标识字段对应的第一数据记录,而在待归档分区中存在与该标识字段对应的第二数据记录;
若第一特征值和第二特征值均不为空,并且第一特征值和第二特征值数值相等,则确定标记数据记录的记录类型为保留类型;即在归档基准分区中存在与该标识字段对应的第一数据记录,在待归档分区中也存在与该标识字段对应的第二数据记录,并且该第一数据记录和第二数据记录的特征字段的字段值也相同。
在一种可选的实现方式中,基于上述四种类型的标记数据记录,步骤S240中的生成差异数据记录,根据差异数据记录执行数据归档处理具体包括:
针对删除类型的标记数据记录,标记数据记录中包括的第二数据记录的特征字段为空,根据标记数据记录中包括的标识字段生成对应的删除类型差异数据记录,将包含标识字段的删除类型差异数据记录写入指定的归档库中;
针对修改类型的标记数据记录,根据标记数据记录中包括的标识字段和第二数据记录的特征字段生成对应的修改类型差异数据记录,将包含标识字段和第二数据记录的特征字段的修改类型差异数据记录写入指定的归档库中;
针对新增类型的标记数据记录,根据标记数据记录中包括的标识字段和第二数据记录的特征字段生成对应的新增类型差异数据记录,将包含标识字段和第二数据记录的特征字段的新增类型差异数据记录写入指定的归档库中;
并且,为了减少不必要存储资源的浪费,提升数据归档过程的效率,针对保留类型的标记数据记录,不执行数据归档处理。
在一种可选的实现方式中,为了进一步减少存储空间资源的占用,在经过步骤S240中将根据待归档分区中的第二数据记录生产的差异数据记录全部存入归档库中之后,删除该待归档分区以及其中包括的第二数据记录。
步骤S250:在接收到数据查询请求的情况下,将数据查询请求中包含的标识信息与归档库中的差异数据记录进行匹配,并返回与数据查询请求相对应的查询结果。
其中,基于上述步骤S210-S240可以得出,为了减少对存储空间资源的占用,针对待归档分区中的数据记录,只将产生更新的差异数据记录存至归档库中,未产生更新的保留数据记录不存入归档库;然而差异数据记录仅仅表征了待归档分区中的该条数据记录相对于与其标识字段对应的字段值相同的归档基准分区中相应的数据记录之间的更新,因此为了在接收到数据查询请求时获得完整的数据记录,除了将待归档分区中产生更新的差异数据记录存至归档库中之外,还需要将归档基准分区中的数据记录全量存入归档库中;则步骤S250中的将数据查询请求中包含的标识信息与归档库中的差异数据记录进行匹配,并返回与数据查询请求相对应的查询结果具体包括:
若匹配成功,根据归档库中匹配成功的差异数据记录返回查询结果;具体地,结合归档库中匹配成功的差异数据记录以及与其标识字段对应的字段值相同的归档基准分区中相应的第一数据记录共同返回查询结果;
若匹配失败,根据归档基准分区中对应于标识信息的第一数据记录返回查询结果。
综上所述,根据本申请实施例提供的一种数据归档方法,首先,获取与数据对象相对应的归档配置规则,归档配置规则中至少包括:归档基准分区以及归档间隔周期,归档基准分区为包含用于作为比对基准的全量数据记录的数据表;其次,获取归档基准分区中对应于数据对象的多条第一数据记录,以及待归档分区中对应于数据对象的多条第二数据记录;再次,生成与每条第一数据记录相对应的第一特征值,并且,生成与每条第二数据记录相对应的第二特征值;根据多条第一数据记录以及多条第二数据记录中包含的标识字段,对多条第一数据记录以及多条第二数据记录执行关联匹配处理,得到多个关联记录组,生成与每个关联记录组相对应的标记数据记录;最后,针对每条标记数据记录,在标记数据记录中包括的第一特征值以及第二特征值不同的情况下,生成差异数据记录,并根据差异数据记录执行数据归档处理;并且,在完成上述数据归档任务后接收到来自用户的数据查询请求,则在接收到数据查询请求的情况下,将数据查询请求中包含的标识信息与归档库中的差异数据记录进行匹配,并返回与数据查询请求相对应的查询结果。该方法基于用户需求获取归档配置规则,从而按照指定归档间隔周期对特定数据分区进行数据归档处理;具体地,通过比较分别根据归档基准分区和待归档分区中数据的特征字段生成的特征值,筛选出全量数据表中产生更新的差异数据;一方面,该方法只对待归档分区中产生更新的差异数据进行数据归档处理,而非对待归档分区进行全量归档,节省了数据归档占用的存储空间资源;另一方面,提供了统一的数据归档方法,当用户提出新的数据归档需求或原有的数据归档需求产生变化时,只需改变归档配置规则的内容即可,而不必再针对新的用户需求重新开发新的数据归档任务,在减少数据归档任务开发难度的同时提升了数据归档的效率和灵活性。
为了便于理解,下面以一个具体示例为例,详细介绍上述实施例中的具体实现细节。
在数据仓库中,大量业务数据一般以数据表的形式存在,分析语言是SQL。数据分区内容的获取方式有两种:全量拉取和增量拉取;其中,全量拉取获取得到的数据的状态会变化,需要每天快照一份当日最新数据情况。当全量表的历史分区较少使用时,往往需要进行归档处理。相关技术中,通过建立归档库,完整拷贝冷分区进行归档。该方案简单的同时却带来了存储的浪费,也没有基于用户的需求进行归档考虑。
在另一种相关技术中,通过以下方式实现满足用户需求的数据归档:
(1)收集用户需求:当数据仓库系统中存在一个全量表,需要对其历史分区进行数据归档时,不同用户群体对该表的数据记录存在不同的归档需求。例如,集市A对字段1和字段2感兴趣,归档分区需要每个月10号用于结算:用户B对字段3和字段4感兴趣,归档分区是每个工作日用户日常监控。而用户的需求表征了其再次访问历史数据的诉求。
(2)编写归档任务:归档工程师根据收集的用户需求,开发满足集市A需求的数据归档任务和集市B需求的数据归档任务。
(3)执行归档:归档工程师上线数据归档任务,配置CRON定时任务周期执行脚本,完成全量表的归档:包括集市A和集市B的数据归档。
上述方法存在以下问题:重复性开发,针对每个表、每个集市的不同需求,单独开发归档任务,长期的重复带来过大的工作量,任务多且雷同;归档机制不确定,开发人员开发的归档任务,没有统一的归档技术方案,并且开发人员采用每日分区全量归档,严重浪费存储,对业务数据处理引入复杂性,难以维护,浪费存储空间;无灵活性,每个集市的数据归档需求如果发生变化,需要重新开发新的归档任务进行处理。
图3为与本申请实施例对应的具体示例提供的一种数据归档方法的流程图。参照图3,该方法包括:
步骤一:解析配置参数;
处理与用户对应的归档配置规则,归档配置规则定义了每个用户的归档期望,包括:规则ID、用户ID、表名称、归档基准分区、归档间隔周期、基准分区是否动态调整、归档库、归档集名称、特征函数、特征字段列表、表的唯一键等。
步骤二:读取两组数据;
基于配置解析结果,读取归档基准分区及根据归档间隔周期计算出来的待归档分区;其中,归档间隔周期采用数字N表达步长,具体可根据业务需要自行定义具体表达式。
步骤三:生成特征值;
基于配置解析结果,获取特征函数及特征字段列表。如果特征函数是UDF函数,则需要预先加载注册;如果特征函数是系统函数,则不用预先加载注册,可以直接进行特征值计算。针对两组分区数据,分别生成每行数据的特征值,具体包括:
(1)循环读取每个分区中的数据记录;
(2)提取特征字段及其对应的字段值,构造字符串参数;例如text={一级品类="电子产品类",二级品类="手机类"};
(3)将字符串参数输入特征函数,执行UDF计算特征值;例如,feature_1=get_feature(text);
(4)返回带特征值的数据记录;例如,(订单号="1000",订单商品="XX牌手机",一级品类="电子产品类",二级品类="手机类",feature_1="76061e704d0fc90b99f9483008f378e9");特征值用于对两组分区数据记录匹配的比较,是用于判断数据变更的重要依据。
步骤四:表1和表2关联;
对归档基准分区的数据记录和待归档分区的数据记录,进行数据关联配对,通过数据记录的标识字段进行匹配,具体包括:
(1)将分区1中包含的数据记录按照标识字段排序;
(2)将分区2中包含的数据记录按照标识字段排序;
(3)读取排序后的分区1和分区2,按照标识字段进行关联;
(4)输出每条关联数据组中包括分区1和分区2的特征字段、标识字段、特征值的标记数据集。
步骤五:标记差异数据;
针对两组数据匹配的结果,根据特征值对数据记录的变更方式进行分类,包括以下四种类型:删除数据,新增数据,修改数据,保留数据;具体包括:
循环读取上一步返回的标记数据集,逐行进行标记:
(1)data_type=删除数据:满足feature_1不为空且feature_2为空,逻辑形式where feature_1is not null and feature_2is null;
(2)data_type=修改数据:满足feature_1不等于feature_2,逻辑形式:wherefeature_1is not null and feature_2is not null and feature_1<>feature_2;
(3)data_type=新增数据:满足feature_1为空且feature_2不为空,逻辑形式:where feature_1is null and feature_2is not null;
(4)data_type=保留数据:满足feature_1=feature_2,逻辑形式:wherefeature_1is not null and feature_2is not null and feature_1=feature_2。
步骤六:归档差异数据;
针对删除类型、修改类型和新增类型的标记数据,输出本次操作差异归档集明细;根据配置获取归档库名称及差异归档集名称表达式,写入差异归档集数据。
步骤七:删除已归档分区;
在所有规则的差异数据成功归档后,删除待归档分区。
综上所述,根据本申请实施例对应的具体示例中提供的数据归档的方法,提供了统一的归档机制,只需要一套软件实现,无需重复开发;该机制允许用户自定义特征字段及特征函数,自定义归档间隔(生成需要归档分区),满足不同用户的归档需求;用户可定义多条规则,对相同的表进行不同的归档,灵活性好;根据用户定义的特征字段进行归档处理,避免了字段较多表的无价值字段的存储,减少不必要的浪费。
可以理解,本申请提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本申请不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
图4为本申请实施例提供的一种数据归档装置的框图。参照图4,该数据归档装置40包括:
规则获取模块41,用于获取与数据对象相对应的归档配置规则,归档配置规则中至少包括:归档基准分区以及归档间隔周期,归档基准分区为包含用于作为比对基准的全量数据记录的数据表;
数据获取模块42,用于获取归档基准分区中对应于数据对象的多条第一数据记录,以及待归档分区中对应于数据对象的多条第二数据记录;其中,待归档分区为根据归档基准分区和归档间隔周期确定的包含待归档的全量数据记录的数据表,第一数据记录以及第二数据记录通过标识字段进行标识;
数据关联模块43,用于生成与每条第一数据记录相对应的第一特征值,并且,生成与每条第二数据记录相对应的第二特征值;根据多条第一数据记录以及多条第二数据记录中包含的标识字段,对多条第一数据记录以及多条第二数据记录执行关联匹配处理,得到多个关联记录组,生成与每个关联记录组相对应的标记数据记录;其中,每个关联记录组中的第一数据记录和第二数据记录的标识字段具有相同的字段值,每条标记数据记录包括:标识字段、第一特征值以及第二特征值;
数据归档模块44,用于针对每条标记数据记录,在标记数据记录中包括的第一特征值以及第二特征值不同的情况下,生成差异数据记录,并根据差异数据记录执行数据归档处理;其中,差异数据记录用于表征第二数据记录相对于第一数据记录的更新方式。
可选地,归档配置规则还包括:特征函数以及特征字段;则数据关联模块43具体用于,通过以下方式生成每条数据记录对应的特征值:
获取数据记录中对应于特征字段的特征字段值,将特征字段值转换为特征字符串;
通过特征函数对特征字符串进行运算,得到数据记录对应的特征值;其中,特征值用于作为新增字段增加到数据记录中;
其中,在特征字段为多个的情况下,对应于特征字段的特征字段值通过对多个特征字段的特征字段值进行排序处理及合并处理得到。
可选地,规则获取模块41还用于:
预先根据用户属性信息和/或业务属性信息,在归档配置库中生成与归档用户标识相对应的归档配置规则;其中,用户属性信息包括:用户角色、用户类型;业务属性信息包括:业务类型、业务状态、和/或业务执行周期;
则获取与数据对象相对应的归档配置规则包括:确定待归档的数据对象对应的归档用户标识;从归档配置库中查询与归档用户标识相对应的归档配置规则;
若同一归档用户标识对应于多个归档配置规则,则从归档配置库中查询与归档用户标识相对应的归档配置规则具体包括:
获取与归档用户标识相对应的每个归档配置规则,以针对获取到的每个归档配置规则执行获取归档基准分区中对应于数据对象的多条第一数据记录,以及待归档分区中对应于数据对象的多条第二数据记录的步骤及其后续步骤;或者,
根据当前业务状态,从多个归档配置规则中选择与当前业务状态匹配的归档配置规则。
可选地,数据归档模块44还用于:
将标记数据记录中包括的第一特征值以及第二特征值进行对比,根据对比结果确定标记数据记录的记录类型;其中,若第一特征值与第二特征值相同,则确定标记数据记录的记录类型为保留类型;若第一特征值与第二特征值不同,则确定标记数据记录的记录类型为更新类型;
则数据归档模块44具体用于:
针对更新类型的标记数据记录,根据更新类型的标记数据记录中包括的标识字段和第二数据记录的特征字段,生成更新类型的标记数据记录相对应的差异数据记录,并且,将差异数据记录写入指定的归档库中。
可选地,更新类型包括删除类型、修改类型、新增类型,则数据归档模块44具体用于:
若第一特征值不为空,并且第二特征值为空,则确定标记数据记录的记录类型为删除类型;
若第一特征值和第二特征值均不为空,并且第一特征值和第二特征值数值不等,则确定标记数据记录的记录类型为修改类型;
若第一特征值为空,并且第二特征值不为空,则确定标记数据记录的记录类型为新增类型;
若第一特征值和第二特征值均不为空,并且第一特征值和第二特征值数值相等,则确定标记数据记录的记录类型为保留类型。
可选地,数据归档模块44具体用于:
针对删除类型的标记数据记录,根据标记数据记录中包括的标识字段生成对应的删除类型差异数据记录,将包含标识字段的删除类型差异数据记录写入指定的归档库中;
针对修改类型的标记数据记录,根据标记数据记录中包括的标识字段和第二数据记录的特征字段生成对应的修改类型差异数据记录,将包含标识字段和第二数据记录的特征字段的修改类型差异数据记录写入指定的归档库中;
针对新增类型的标记数据记录,根据标记数据记录中包括的标识字段和第二数据记录的特征字段生成对应的新增类型差异数据记录,将包含标识字段和第二数据记录的特征字段的新增类型差异数据记录写入指定的归档库中;
并且,针对保留类型的标记数据记录,不执行数据归档处理。
可选地,数据关联模块43具体用于:
获取每条第一数据记录中包含的标识字段的字段值,按照第一数据记录中包含的标识字段的字段值对多条第一数据记录执行排序处理,得到排序后的多条第一数据记录;
获取每条第二数据记录中包含的标识字段的字段值,按照第二数据记录中包含的标识字段的字段值对多条第二数据记录执行排序处理,得到排序后的多条第二数据记录;
根据排序后的多条第一数据记录以及排序后的多条第二数据记录,将标识字段的字段值相同的第一数据记录和第二数据记录确定为关联记录组;
根据每个关联记录组对应的标识字段、第一数据记录的特征字段和第一特征值、以及第二数据记录的特征字段和第二特征值,生成与每个关联记录组相对应的标记数据记录。
可选地,数据归档装置40还包括数据查询模块45,用于:
在接收到数据查询请求的情况下,将数据查询请求中包含的标识信息与归档库中的差异数据记录进行匹配;
若匹配成功,根据归档库中匹配成功的差异数据记录返回查询结果;
若匹配失败,根据归档基准分区中对应于标识信息的第一数据记录返回查询结果。
上述各个模块的具体结构和工作原理可参照方法实施例相应部分的描述,此处不再赘述。
图5为本申请实施例提供的一种电子设备的框图。参照图5,该电子设备50包括:至少一个处理器501;至少一个存储器502;以及一个或多个I/O接口503,连接在处理器501与存储器502之间;其中,存储器502存储有可被至少一个处理器501执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器501执行,以使至少一个处理器501能够执行上述数据归档方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,计算机程序在被处理器/处理核执行时实现上述数据归档方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本申请实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当计算机可读代码在电子设备的处理器中运行时,电子设备中的处理器执行上述数据归档方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读程序指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM)、静态随机存取存储器(SRAM)、闪存或其他存储器技术、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读程序指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里所描述的计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本申请的范围的情况下,可进行各种形式和细节上的改变。
Claims (11)
1.一种数据归档方法,其特征在于,包括:
获取与数据对象相对应的归档配置规则,所述归档配置规则中至少包括:归档基准分区以及归档间隔周期,所述归档基准分区为包含作为比对基准的全量数据记录的数据表;
获取所述归档基准分区中对应于所述数据对象的多条第一数据记录,以及待归档分区中对应于所述数据对象的多条第二数据记录;其中,所述待归档分区为根据所述归档基准分区和所述归档间隔周期确定的包含待归档的全量数据记录的数据表,所述第一数据记录以及所述第二数据记录通过标识字段进行标识;
生成与每条第一数据记录相对应的第一特征值,并且,生成与每条第二数据记录相对应的第二特征值;根据所述多条第一数据记录以及所述多条第二数据记录中包含的标识字段,对所述多条第一数据记录以及所述多条第二数据记录执行关联匹配处理,得到多个关联记录组,生成与每个关联记录组相对应的标记数据记录;其中,每个关联记录组中的第一数据记录和第二数据记录的标识字段具有相同的字段值,每条标记数据记录包括:标识字段、第一特征值以及第二特征值;
针对所述每条标记数据记录,在所述标记数据记录中包括的第一特征值以及第二特征值不同的情况下,生成差异数据记录,并根据所述差异数据记录执行数据归档处理;其中,所述差异数据记录用于表征第二数据记录相对于第一数据记录的更新方式。
2.根据权利要求1所述的方法,其特征在于,所述归档配置规则还包括:特征函数以及特征字段;则每条数据记录对应的特征值通过以下方式生成:
获取所述数据记录中对应于所述特征字段的特征字段值,将所述特征字段值转换为特征字符串;
通过所述特征函数对所述特征字符串进行运算,得到所述数据记录对应的特征值;其中,所述特征值用于作为新增字段增加到所述数据记录中;
其中,在特征字段为多个的情况下,所述对应于所述特征字段的特征字段值通过对多个特征字段的特征字段值进行排序处理及合并处理得到。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:预先根据用户属性信息和/或业务属性信息,在归档配置库中生成与归档用户标识相对应的归档配置规则;其中,所述用户属性信息包括:用户角色、用户类型;所述业务属性信息包括:业务类型、业务状态、和/或业务执行周期;
则所述获取与数据对象相对应的归档配置规则包括:确定待归档的数据对象对应的归档用户标识;从归档配置库中查询与所述归档用户标识相对应的归档配置规则;
若同一归档用户标识对应于多个归档配置规则,则所述从归档配置库中查询与所述归档用户标识相对应的归档配置规则具体包括:
获取与所述归档用户标识相对应的每个归档配置规则,以针对获取到的每个归档配置规则执行所述获取所述归档基准分区中对应于所述数据对象的多条第一数据记录,以及待归档分区中对应于所述数据对象的多条第二数据记录的步骤及其后续步骤;或者,
根据当前业务状态,从多个归档配置规则中选择与所述当前业务状态匹配的归档配置规则。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述在所述标记数据记录中包括的第一特征值以及第二特征值不同的情况下,生成差异数据记录之前,还包括:
将所述标记数据记录中包括的第一特征值以及第二特征值进行对比,根据对比结果确定所述标记数据记录的记录类型;其中,若所述第一特征值与所述第二特征值相同,则确定所述标记数据记录的记录类型为保留类型;若所述第一特征值与所述第二特征值不同,则确定所述标记数据记录的记录类型为更新类型;
则所述生成差异数据记录,根据所述差异数据记录执行数据归档处理包括:
针对更新类型的标记数据记录,根据所述更新类型的标记数据记录中包括的标识字段和第二数据记录的特征字段,生成更新类型的标记数据记录相对应的差异数据记录,并且,将所述差异数据记录写入指定的归档库中。
5.根据权利要求4所述的方法,其特征在于,所述更新类型包括删除类型、修改类型、新增类型,则所述将所述标记数据记录中包括的第一特征值以及第二特征值进行对比,根据对比结果确定所述标记数据记录的记录类型包括:
若所述第一特征值不为空,并且所述第二特征值为空,则确定所述标记数据记录的记录类型为删除类型;
若所述第一特征值和所述第二特征值均不为空,并且所述第一特征值和所述第二特征值数值不等,则确定所述标记数据记录的记录类型为修改类型;
若所述第一特征值为空,并且所述第二特征值不为空,则确定所述标记数据记录的记录类型为新增类型;
若所述第一特征值和所述第二特征值均不为空,并且所述第一特征值和所述第二特征值数值相等,则确定所述标记数据记录的记录类型为保留类型。
6.根据权利要求5所述的方法,其特征在于,所述生成差异数据记录,根据所述差异数据记录执行数据归档处理包括:
针对删除类型的标记数据记录,根据所述标记数据记录中包括的标识字段生成对应的删除类型差异数据记录,将包含标识字段的所述删除类型差异数据记录写入所述指定的归档库中;
针对修改类型的标记数据记录,根据所述标记数据记录中包括的标识字段和第二数据记录的特征字段生成对应的修改类型差异数据记录,将包含标识字段和第二数据记录的特征字段的所述修改类型差异数据记录写入指定的归档库中;
针对新增类型的标记数据记录,根据所述标记数据记录中包括的标识字段和第二数据记录的特征字段生成对应的新增类型差异数据记录,将包含标识字段和第二数据记录的特征字段的所述新增类型差异数据记录写入指定的归档库中;
并且,针对保留类型的标记数据记录,不执行数据归档处理。
7.根据权利要求1所述的方法,其特征在于,所述根据所述多条第一数据记录以及所述多条第二数据记录中包含的标识字段,对所述多条第一数据记录以及所述多条第二数据记录执行关联匹配处理,得到多个关联记录组包括:
获取每条第一数据记录中包含的标识字段的字段值,按照所述第一数据记录中包含的标识字段的字段值对多条第一数据记录执行排序处理,得到排序后的多条第一数据记录;
获取每条第二数据记录中包含的标识字段的字段值,按照所述第二数据记录中包含的标识字段的字段值对多条第二数据记录执行排序处理,得到排序后的多条第二数据记录;
根据所述排序后的多条第一数据记录以及所述排序后的多条第二数据记录,将标识字段的字段值相同的第一数据记录和第二数据记录确定为关联记录组;
根据每个关联记录组对应的标识字段、第一数据记录的特征字段和第一特征值、以及第二数据记录的特征字段和第二特征值,生成与每个关联记录组相对应的标记数据记录。
8.根据权利要求5所述的方法,其特征在于,所述根据所述差异数据记录执行数据归档处理之后,还包括:
在接收到数据查询请求的情况下,将所述数据查询请求中包含的标识信息与所述归档库中的差异数据记录进行匹配;
若匹配成功,根据所述归档库中匹配成功的差异数据记录返回查询结果;
若匹配失败,根据所述归档基准分区中对应于所述标识信息的第一数据记录返回查询结果。
9.一种数据归档装置,其特征在于,包括:
规则获取模块,用于获取与数据对象相对应的归档配置规则,所述归档配置规则中至少包括:归档基准分区以及归档间隔周期,所述归档基准分区为包含用于作为比对基准的全量数据记录的数据表;
数据获取模块,用于获取所述归档基准分区中对应于所述数据对象的多条第一数据记录,以及待归档分区中对应于所述数据对象的多条第二数据记录;其中,所述待归档分区为根据所述归档基准分区和所述归档间隔周期确定的包含待归档的全量数据记录的数据表,所述第一数据记录以及所述第二数据记录通过标识字段进行标识;
数据关联模块,用于生成与每条第一数据记录相对应的第一特征值,并且,生成与每条第二数据记录相对应的第二特征值;根据所述多条第一数据记录以及所述多条第二数据记录中包含的标识字段,对所述多条第一数据记录以及所述多条第二数据记录执行关联匹配处理,得到多个关联记录组,生成与每个关联记录组相对应的标记数据记录;其中,每个关联记录组中的第一数据记录和第二数据记录的标识字段具有相同的字段值,每条标记数据记录包括:标识字段、第一特征值以及第二特征值;
针对所述每条标记数据记录,数据归档模块,用于在所述标记数据记录中包括的第一特征值以及第二特征值不同的情况下,生成差异数据记录,并根据所述差异数据记录执行数据归档处理;其中,所述差异数据记录用于表征第二数据记录相对于第一数据记录的更新方式。
10.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储器;以及
一个或多个I/O接口,连接在所述处理器与所述存储器之间;其中,
所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任一项所述的数据归档方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-8中任一项所述的数据归档方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310594168.9A CN117493333A (zh) | 2023-05-24 | 2023-05-24 | 数据归档方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310594168.9A CN117493333A (zh) | 2023-05-24 | 2023-05-24 | 数据归档方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117493333A true CN117493333A (zh) | 2024-02-02 |
Family
ID=89669620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310594168.9A Pending CN117493333A (zh) | 2023-05-24 | 2023-05-24 | 数据归档方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117493333A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971839A (zh) * | 2024-03-29 | 2024-05-03 | 平凯星辰(北京)科技有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
-
2023
- 2023-05-24 CN CN202310594168.9A patent/CN117493333A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971839A (zh) * | 2024-03-29 | 2024-05-03 | 平凯星辰(北京)科技有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782965B (zh) | 意图推荐方法、装置、设备及存储介质 | |
US7353227B2 (en) | Conflict resolution engine | |
CN111008521B (zh) | 生成宽表的方法、装置及计算机存储介质 | |
CN108052618B (zh) | 数据管理方法及装置 | |
US9229971B2 (en) | Matching data based on numeric difference | |
US11520733B2 (en) | Source data assignment based on metadata | |
US11868328B2 (en) | Multi-record index structure for key-value stores | |
CN112672370B (zh) | 网元指标数据的自动检测方法及系统、设备和存储介质 | |
CN117493333A (zh) | 数据归档方法、装置、电子设备及存储介质 | |
CN114860727A (zh) | 拉链表更新方法及装置 | |
CN116501375B (zh) | 数据字典版本管理方法、装置、计算机设备及存储介质 | |
CN112164433A (zh) | 一种医院后台数据的处理方法及系统 | |
CN111611230A (zh) | 主数据系统的建立方法、装置、计算机设备及存储介质 | |
CN116127154A (zh) | 知识标签推荐方法、装置、电子设备及存储介质 | |
US9542457B1 (en) | Methods for displaying object history information | |
CN111666278A (zh) | 数据存储、检索方法、电子设备及存储介质 | |
CN115878864A (zh) | 一种数据检索方法、装置、设备及可读存储介质 | |
CN117743408A (zh) | 数据处理方法及装置、电子设备、计算机可读存储介质 | |
CN112685557B (zh) | 可视化信息资源管理方法及装置 | |
CN112084753B (zh) | 一种文档辅助编辑的方法和系统 | |
CN115295166A (zh) | 一种指标数据处理方法和装置 | |
CN114648010A (zh) | 数据表标准化方法、装置、设备及计算机存储介质 | |
CN113485693B (zh) | 接口配置方法、装置、设备及存储介质 | |
CN115061982B (zh) | 基于案件自定义的关系图构建方法、系统、终端及介质 | |
CN117632876B (zh) | 基于gpfs文件系统的文件和目录统计分析方法及装置 |
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 |