数据归档方法与装置与流程

文档序号:11155184阅读:276来源:国知局
数据归档方法与装置与制造工艺
本公开涉及数据归档领域,具体地,涉及一种数据归档方法与装置。
背景技术
:目前,对数据进行归档一般有两种方法。第一种方法是将要被归档的数据压缩成二进制文件。该方法的缺陷是,归档后的数据是非结构化数据,因此无法对归档后的数据进行结构化查询,而且需要特定算法来恢复被归档的数据。第二种方法是按照相同模型一对一地映射归档。该方法的缺陷是归档后的数据占用大量的磁盘空间,备份性能低下。技术实现要素:本公开实施例的目的是提供一种数据归档方法与装置,其能够使归档后的数据被结构化查询,减少归档后数据的磁盘占用量,提高归档性能。为了实现上述目的,本公开实施例提供一种数据归档方法,该方法包括:获取待被归档的两个实例对象,所述实例对象包括对象类型、对象标识数据项和至少一个信息数据项;依据第一预设映射关系分别将两个所述实例对象的对象类型、对象标识数据项和至少一个信息数据项的数据值归档到备份模型中;以及依据第二预设映射关系将所述备份模型中的标识数据项和类型数据项的数据值归档到索引模型中。可选地,所述备份模型包括对应于所述两个实例对象的备份标识数据项、类型数据项和值数据项;所述依据第一预设映射关系分别将两个所述实例对象的对象类型、对象标识数据项和至少一个信息数据项的数据值归档到备份模型中,包括:将所述实例对象的对象标识数据项的数据值作为所述备份标识数据项的数据值;将所述实例对象的对象类型作为所述类型数据项的数据值;将所述实例对象的各个信息数据项的数据值作为所述值数据项的数据值。可选地,所述索引模型包括主键数据项、外键数据项和外联对象类型数据项,所述依据第二预设映射关系将所述备份模型中的标识数据项和类型数据项的数据值归档到索引模型中,包括:将一个实例对象的标识数据项的数据值作为所述主键数据项的数据值;将另一个实例对象的标识数据项的数据值作为所述外键数据项的数据值;将标识数据项的数据值被归档到所述外键数据项的实例对象的对象类型作为所述外联对象类型数据项的数据值。可选地,该方法还包括:在所述获取待被归档的实例对象之后,清理所述实例对象的各个信息数据项的数据值中无需被归档的数据值,所述无需被归档的数据值至少包括空值;以及将空值属性存储到所述备份模型的空值属性数据项中,其中,所述空值属性用于标识所述实例对象的各个信息数据项的数据值是空值或非空值。可选地,该方法还包括:在所述获取待被归档的实例对象之前,预先构建所述备份模型和所述索引模型。本公开实施例还提供一种数据归档装置,该装置包括:第一获取模块,用于获取待被归档的两个实例对象,所述实例对象包括对象类型、对象标识数据项和至少一个信息数据项;第一归档模块,用于依据第一预设映射关系分别将两个所述实例对象的对象类型、对象标识数据项和至少一个信息数据项的数据值归档到备份模型中;以及第二归档模块,用于依据第二预设映射关系将所述备份模型中的标识数据项和类型数据项的数据值归档到索引模型中。可选地,该装置还包括:第一清理模块,用于在所述第一获取模块获取到待被归档的实例对象之后,清理所述实例对象的各个信息数据项的数据值中无需被归档的数据值,所述无需被归档的数据值至少包括空值;以及空值属性存储模块,用于将空值属性存储到所述备份模型的空值属性数据项中,其中,所述空值属性用于标识所述实例对象的各个信息数据项的数据值是空值或非空值。可选地,所述备份模型包括对应于所述两个实例对象的备份标识数据项、类型数据项和值数据项;所述第一归档模块还用于:将所述实例对象的对象标识数据项的数据值作为所述备份标识数据项的数据值;将所述实例对象的对象类型作为所述类型数据项的数据值;将所述实例对象的各个信息数据项的数据值作为所述值数据项的数据值。可选地,所述索引模型包括主键数据项、外键数据项和外联对象类型数据项,所述第二归档模块还用于:将一个实例对象的标识数据项的数据值作为所述主键数据项的数据值;将另一个实例对象的标识数据项的数据值作为所述外键数据项的数据值;将标识数据项的数据值被归档到所述外键数据项的实例对象的对象类型作为所述外联对象类型数据项的数据值。可选地,该装置还包括:构建模块,用于预先构建所述备份模型和所述索引模型。通过上述技术方案,由于本公开实施例能够在进行数据归档时依据预设映射关系将待归档实例对象的相应数据项的数据值归档到备份模型和索引模型的相应数据项中,因此其能够使归档后的数据被结构化查询,减少归档后数据的磁盘占用量,提高归档性能。本公开实施例的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开实施例,但并不构成对本公开实施例的限制。在附图中:图1是根据本公开一种实施例的数据归档方法的流程图;图2是根据本公开又一实施例的数据归档方法的流程图;图3是根据本公开又一实施例的数据归档方法的流程图;图4是根据本公开再一实施例的数据归档方法的流程图;图5是根据本公开一种实施例的数据归档装置的示意框图;以及图6是根据本公开又一实施例的数据归档装置的示意框图。具体实施方式以下结合附图对本公开实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开实施例,并不用于限制本公开实施例。本公开实施例提供一种数据归档方法,如图1所示,该方法可以包括步骤S101至步骤S103。在步骤S101中,获取待被归档的两个实例对象,所述实例对象包括对象类型、对象标识数据项和至少一个信息数据项。以下以工作流数据为例对待被归档的实例对象进行简单说明。工作流数据库会包含多种数据模型,例如流程实例模型、节点实例模型、工作项模型、流程变量模型、超时数据模型等等,采用这些模型来记录数据也就得到了相应的实例对象。例如,通过流程实例模型记录数据就得到了流程实例对象。本领域技术人员应当理解的是,虽然这里以工作流数据为例进行说明,但是本公开实施例并不局限于工作流数据,也即,本公开实施例能够适用于各种数据的归档,例如组织机构数据、项目管理数据、房产信息数据等。例如,以下示出了一种示例性的房产信息数据,该数据包括两个待被归档的实例对象,也即表1中所示的身份信息实例对象和表2中所示的房产信息实例对象。在对该房产信息数据进行归档时,需要在步骤S101中获取身份信息实例对象和房产信息实例对象。身份信息实例对象的对象类型是“身份信息”,对象标识数据项是“身份证号”,该对象标识数据项的数据值是“37082921”;信息数据项包括“姓名”、“年龄”、“婚否”和“住址”,姓名和婚否数据项的数据值分别是“张三”和“未婚”,年龄和住址数据项的数据值为空值。房产信息实例对象的对象类型是“房产信息”,对象标识数据项是“房产标识”,其数据值是“00001”;信息数据项包括“房产面积”、“位置”和“所属人”,其中房产面积和所属人数据项的数据值分别是“100”和“37082921”,位置数据项的数据值是空值。身份证号姓名年龄婚否住址37082921张三未婚表1身份信息房产标识房产面积位置所属人0000110037082921表2房产信息在步骤S102中,依据第一预设映射关系分别将两个所述实例对象的对象类型、对象标识数据项和至少一个信息数据项的数据值归档到备份模型中。具体地,备份模型包括备份标识数据项、类型数据项和值数据项,对应地,将实例对象的对象标识数据项的数据值作为所述备份模型的备份标识数据项的数据值,将所述实例对象的对象类型作为所述备份模型的类型数据项的数据值,将所述实例对象的各个信息数据项的数据值作为所述备份模型的值数据项的数据值。还是以上面结合表1和表2描述的所获取的房产信息实例对象和身份信息实例对象为例,最终被存储到备份模型中的数据如下面的表3所示。其中,值数据项中的“null”表示待归档实例对象的相应信息数据项的值为空值。本领域技术人员应当理解的是,“null”仅是示例,实际上可以用任何其他形式来表示空值。标识类型值37082921身份信息张三,null,未婚,null00001房产信息100,null,3708291表3在步骤S103中,依据第二预设映射关系将备份模型中的标识数据项和类型数据项的数据值归档到索引模型中。具体地,索引模型包括主键数据项、外键数据项和外联对象类型数据项。对应地,将一个实例对象的标识数据项的数据值作为主键数据项的数据值;将另一个实例对象的标识数据项的数据值作为外键数据项的数据值,并将标识数据项的数据值被归档到外键数据项的实例对象的对象类型作为外联对象类型数据项的数据值,这样就便于归档后数据的结构化查询。主键、外键和外联对象类型的概念是本领域技术人员熟知的,此处不再赘述。还是以上面结合表1和表2描述的所获取的房产信息实例对象和身份信息实例对象为例,主键是37082921,外键是00001,外联对象类型是房产信息。因此,最终被存储到索引模型中的数据如下面的表4所示。主键外键外联对象类型3708292100001房产信息表4通过上述技术方案,由于本公开实施例能够在进行数据归档时依据预设映射关系将待归档实例对象的相应数据项的数据值归档到备份模型和索引模型的相应数据项中,因此其能够使归档后的数据被结构化查询,减少归档后数据的磁盘占用量,提高归档性能。在根据本公开实施例的数据归档方法的一个可能实施方式中,如图2所示,在在步骤S101中获取待被归档的实例对象之后,该方法还可以包括:在步骤S201中,清理所述实例对象的各个信息数据项的数据值中无需被归档的数据值,所述无需被归档的数据值至少包括空值;以及在步骤S202中,将空值属性存储到所述备份模型的空值属性数据项中,其中,所述空值属性用于标识所述实例对象的各个信息数据项的数据值是空值或非空值。由于在待归档实例对象的信息数据项的数据值是空值的情况下,对该空值进行归档不仅没有实际意义,而且还会占用大量的磁盘空间,因此对空值进行清理是有必要的,只需要在清理之后用空值属性数据项来标识待归档实例对象的各个信息数据项的数据值是空值还是非空值就能够实现被归档数据的恢复。因此,通过采用步骤S201和S202,能够减小归档数据的磁盘占用量。可选地,所述无需被归档的数据值还可以包括状态值。由于状态值通常用于表示该条实例对象是完成状态还是未完成状态,而要被归档的实例对象一般都是已完成的实例对象,因此在进行归档时,状态值是无需被保存的,这也能够有效地减小归档数据的磁盘占用量。还是以上面结合表1和表2描述的所获取的房产信息实例对象和身份信息实例对象为例。在清理了实例对象中的空值并在备份模型中添加了空值属性数据项之后,最终被存储到备份模型中的数据如下面的表5所示。其中,对于身份信息实例对象而言,用二进制数值表示的空值属性数据项的数据值是11010,也即说明身份证号、姓名、婚否等数据项的数据值是非空值,年龄和住址等数据项的数据值是空值。对于房产信息实例对象而言,用二进制数值表示的空值属性是1101,也即说明房产标识、房产面积和所属人等数据项的数据值是非空值,位置数据项的数据值是空值。另外,除了使用二进制数值表示空值属性之外,还可以使用十进制数值、八进制数值、十六进制数值等来表示空值属性。例如,如果用十进制数值表示空值属性,则身份信息实例对象的空值属性为26,房产信息实例对象的空值属性为13。标识类型值空值属性37082921身份信息张三,未婚1101000001房产信息100,37082911101表5在根据本公开实施例的数据归档方法的又一可能实施方式中,如图3所示,在步骤S101中获取到待被归档的实例对象之后,该方法还可以包括:步骤S301、按照所述实例对象的对象类型对所获取的实例对象进行分类。这样就能够按照对象类型对待归档实例对象进行归档。可选地,如图3所示,在步骤S301之后,该方法还可以包括:步骤S302、清理所获取的实例对象中无需被归档类型的实例对象。这样,就能够进一步减小归档后数据的磁盘占用量。以工作流数据库为例,在源数据库中会存储一些超时数据实例对象,而且对这些超时数据实例对象进行归档的意义不大,因此就可以考虑在对所获取的实例对象进行分类之后,按照对象类型来删除这些归档意义不大的实例对象,以减小归档后数据的磁盘占用量。在根据本公开实施例的数据归档方法的又一可能实施方式中,如图4所示,在在步骤S101中获取待被归档的实例对象之前,该方法还可以包括:步骤S101-1,预先构建所述备份模型和所述索引模型。备份模型和索引模型构建好之后,在每次进行数据归档时不必每次都重新构建,而是可以重复使用或进行适应性修改。本公开实施例还提供一种数据归档装置,如图5所示,该装置可以包括:第一获取模块301,用于获取待被归档的两个实例对象,所述实例对象包括对象类型、对象标识数据项和至少一个信息数据项;第一归档模块302,用于依据第一预设映射关系分别将两个所述实例对象的对象类型、对象标识数据项和至少一个信息数据项的数据值归档到备份模型中;以及第二归档模块303,用于依据第二预设映射关系将所述备份模型中的标识数据项和类型数据项的数据值归档到索引模型中。通过上述技术方案,由于本公开实施例能够在进行数据归档时依据预设映射关系将待归档实例对象的相应数据项的数据值归档到备份模型和索引模型的相应数据项中,因此其能够使归档后的数据被结构化查询,减少归档后数据的磁盘占用量,提高归档性能。可选地,如图6所示,该数据归档装置还可以包括:第一清理模块304,用于在所述第一获取模块301获取到待被归档的实例对象之后,清理所述实例对象的各个信息数据项的数据值中无需被归档的数据值,所述无需被归档的数据值至少包括空值;以及空值属性存储模块305,用于将空值属性存储到所述备份模型的空值属性数据项中,其中,所述空值属性用于标识所述实例对象的各个信息数据项的数据值是空值或非空值。可选地,所述备份模型可以包括对应于所述两个实例对象的备份标识数据项、类型数据项和值数据项;所述第一归档模块302还可以用于:将所述实例对象的对象标识数据项的数据值作为所述备份标识数据项的数据值;将所述实例对象的对象类型作为所述类型数据项的数据值;将所述实例对象的各个信息数据项的数据值作为所述值数据项的数据值。可选地,所述索引模型可以包括主键数据项、外键数据项和外联对象类型数据项,所述第二归档模块303还可以用于:将一个实例对象的标识数据项的数据值作为所述主键数据项的数据值;将另一个实例对象的标识数据项的数据值作为所述外键数据项的数据值;将标识数据项的数据值被归档到所述外键数据项的实例对象的对象类型作为所述外联对象类型数据项的数据值。可选地,如图6所示,该数据归档装置还可以包括:分类模块306,用于在所述第一获取模块301获取到待被归档的实例对象之后,按照所述实例对象的对象类型对所获取的实例对象进行分类。可选地,如图6所示,该数据归档装置还可以包括:第二清理模块307,用于在所述分类模块306分类之后清理所获取的实例对象中无需被归档类型的实例对象。可选地,如图6所示,该数据归档装置还可以包括:构建模块308,用于预先构建所述备份模型和所述索引模型。在构建模块308预先构建了备份模型和索引模型之后,空值属性存储模块305、第一归档模块302和第二归档模块303就能够执行相应的归档操作。根据本公开实施例的数据归档装置中的各个模块所执行的操作的具体实现方式已经在根据本公开实施例的数据归档方法中进行了详细描述,此处不再赘述。以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1