专利名称:历史数据存储方法及装置的制作方法
技术领域:
本发明涉及数据报表技术领域,尤其涉及一种历史数据存储方法及装置。
背景技术:
目前,对于简单业务的历史数据的存储没有统一的平台逻辑,均是将业务逻辑写在程序代码中,根据不同的业务各自完成业务的历史数据,如果用户要进行业务逻辑的调整,只能进行二次开发或程序调整;在进行数据表结构调整时,也没有统一的工具,而是由开发人员书写SQL语句进行相应的表结构调整;业务数据表和历史业务数据表的关系均是在代码中构建或者由程序员在程序中书写,没有统一的数据实体关系描述。基于上述问题,使得现有技术无法快速实现业务数据表和历史数据表的表结构实体的构建和调整,无法快速实现简单业务的历史数据的存储。
发明内容
本发明的主要目的在于提供一种历史数据存储方法及装置,旨在提高历史数据的处理速度。为了达到上述目的,本发明提出一种历史数据存储方法,包括构建数据字典平台,所述数据字典包括字段实体描述以及表实体描述;根据所述数据字典构建数据模型;根据所述数据字典以及数据模型同构历史数据平台;根据所述历史数据平台中的同构表、同构模型以及历史数据控制逻辑生成历史数据并存储。优选地,所述根据数据字典构建数据模型的步骤包括设置模型描述信息,所述模型描述信息包括模型ID、模型名称、模型描述、主表描述、顺序号;设置模型表,所述模型表包括新增、修改、删除、图形展示表;设置模型表关系,所述模型表关系包括模型ID、表ID、主从表设置、主从表关系设置、关系类型设置;优选地,所述根据数据字典以及数据模型同构历史数据平台的步骤包括构建同构表,所述同构表包括同构ID、源表ID、同构表ID、同构表描述;构建同构模型,所述同构模型包括同构ID、源模型ID、源表ID、同构模型ID、同构表ID、同构模型描述、同构表描述;构建历史数据控制逻辑,所述历史数据控制逻辑包括历史数据的存储控制逻辑和逻辑控制。优选地,所述根据历史数据平台中的同构表、同构模型以及历史数据控制逻辑生成历史数据并存储的步骤包括获取所述同构表以及同构模型,根据所述同构表以及同构模型的设置,确定需要进行历史数据存储的数据表;获取历史数据控制逻辑,根据所述历史数据控制逻辑,确定历史数据的存储控制和逻辑控制信息;根据所述历史数据的存储控制和逻辑控制信息生成相应的历史数据表和历史数据并存储。优选地,所述根据历史数据的存储控制和逻辑控制信息生成相应的历史数据表和历史数据并存储的步骤包括判断历史数据的存储控制模式为简单模式或迭代模式;当所述历史数据的存储控制模式为简单模式时,取得简单模式的时间频率;按照所述时间频率构建同构从表;回写数据字典、数据模型以及同构从表描述信息;转移同构主表原有数据,回写同构从表;新增或修改同构主表数据;对历史数据进行保存。优选地,所述判断历史数据的存储控制模式为简单模式或迭代模式的步骤之后还包括当所述历史数据的存储控制模式为迭代模式时,获取同构从表;复制主表原有数据,回写同构从表;新增或修改同构主表数据;对历史数据进行保存。本发明还提出一种历史数据存储装置,包括数据字典构建模块,用于构建数据字典平台,所述数据字典包括字段实体描述以及表实体描述;数据模型构建模块,用于根据所述数据字典构建数据模型;历史数据平台同构模块,用于根据所述数据字典以及数据模型同构历史数据平台;历史数据存储模块,用于根据所述历史数据平台中的同构表、同构模型以及历史数据控制逻辑生成历史数据并存储。优选地,所述数据模型构建模块包括描述信息设置单元,用于设置模型描述信息,所述模型描述信息包括模型ID、模型名称、模型描述、主表描述、顺序号;表设置单元,用于设置模型表,所述模型表包括新增、修改、删除、图形展示表;表关系设置单元,用于设置模型表关系,所述模型表关系包括模型ID、表ID、主从表设置、主从表关系设置、关系类型设置;优选地,所述历史数据平台同构模块包括同构表构建单元,用于构建同构表,所述同构表包括同构ID、源表ID、同构表ID、 同构表描述;同构模型构建单元,构建同构模型,所述同构模型包括同构ID、源模型ID、源表 ID、同构模型ID、同构表ID、同构模型描述、同构表描述;
控制逻辑构建单元,用于构建历史数据控制逻辑,所述历史数据控制逻辑包括历史数据的存储控制逻辑和逻辑控制。优选地,所述历史数据存储模块包括数据表获取单元,用于获取所述同构表以及同构模型,根据所述同构表以及同构模型的设置,确定需要进行历史数据存储的数据表;控制逻辑信息获取单元,用于获取历史数据控制逻辑,根据所述历史数据控制逻辑,确定历史数据的存储控制和逻辑控制信息;历史数据存储单元,用于根据所述历史数据的存储控制和逻辑控制信息生成相应的历史数据表和历史数据并存储。优选地,所述历史数据存储单元包括判断子单元,用于判断历史数据的存储控制模式为简单模式或迭代模式;历史数据存储子单元,用于当所述历史数据的存储控制模式为简单模式时,取得简单模式的时间频率;按照所述时间频率构建同构从表;回写数据字典、数据模型以及同构从表描述信息;转移同构主表原有数据,回写同构从表;新增或修改同构主表数据;对历史数据进行保存。优选地,所述历史数据存储子单元还用于当所述历史数据的存储控制模式为迭代模式时,获取同构从表;复制主表原有数据,回写同构从表;新增或修改同构主表数据;对历史数据进行保存。本发明提出的一种历史数据存储方法及装置,通过对数据结构的描述,构建一个数据库实体描述表,在数据库描述表的基础上,构建相应的数据模型,描述表实体间的关系,结合数据实体描述信息以及数据对象描述模型,抽象和实现数据模型的同构表,构建数据的历史数据的逻辑规则,在历史数据的存储过程中,根据历史数据平台中设置的历史数据存储规则,实现数据的历史数据存储,不需要专业开发人员,业务人员只需在数据字典、 数据模型、历史数据平台中进行相应调整,即可快速实现历史数据表的构建以及历史数据的存储与应用。
图1是本发明历史数据存储方法一实施例流程示意图;图2是本发明历史数据存储方法一实施例中根据数据字典构建数据模型的流程示意图;图3是本发明历史数据存储方法一实施例中根据数据字典以及数据模型同构历史数据平台的流程示意图;图4是本发明历史数据存储方法一实施例中根据历史数据平台中的同构表、同构模型以及历史数据控制逻辑生成历史数据并存储的流程示意图;图5是本发明历史数据存储方法一实施例中根据历史数据的存储控制和逻辑控制信息生成相应的历史数据表和历史数据并存储的流程示意图;图6是本发明历史数据存储装置一实施例结构示意图;图7是本发明历史数据存储装置一实施例中数据模型构建模的结构示意图;图8是本发明历史数据存储装置一实施例中历史数据平台同构模块的结构示意图;图9是本发明历史数据存储装置一实施例中历史数据存储模块的结构示意图;图10是本发明历史数据存储装置一实施例中历史数据存储单元的结构示意图。为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施例方式本发明实施例解决方案主要是通过对数据结构的描述,构建一个数据库实体描述表,在数据库描述表的基础上,构建相应的数据模型,描述表实体间的关系,结合数据实体描述信息以及数据对象描述模型,抽象和实现数据模型的同构表,构建数据的历史数据的逻辑规则,在数据的存储过程中,根据历史数据平台中设置的历史数据存储规则,实现数据的历史数据存储。下面具体实施例方式中以业务历史数据的实现方法及装置为例对本发明技术方案进行说明,但不限于数据为业务数据的情形。本发明实施例涉及的相关数据库术语包括数据字典、同构表、同构主表、同构从表以及业务模型。数据字典是一个数据库结构(表、字段)的描述平台,可以实现表和字段的新增、 修改、删除以及相关业务逻辑;同构表是指数据结构相同的一组数据库业务实体表;同构主表是指一组业务数据同构表中的业务数据表,一组同构表中只有一张同构主表,同构主表用于存储当前业务系统发生的业务数据信息;同构从表是指一组业务数据同构表中的历史数据表,一组同构表中可以有多张同构从表,同构从表主要用于存储历史业务数据;业务模型主要是从业务的层面去描述一个完整的业务功能的数据结构模型。本发明实施例涉及的数据库实体包括数据结构描述表、业务模型表以及业务历史数据描述表,其中数据结构描述表包括HRMS_Table 表信息描述,用于描述数据库实体表信息;HRMS_Fields 字段信息描述表,用于描述数据库表字段信息;上述两张表主要用于存储数据库实体,完成表和字段的信息描述,包括名称说明、 数据结构说明以及相关控制信息。业务模型表包括HR_Base_Model 业务实体表,用于描述构建的业务模型;HR_Base_Table 业务表,用于描述业务模型中包含多少数据库表实体;HR_Base_Reference 业务表关联信息,用于描述业务模型中业务表的关联关系;上述三张表,主要描述构建的业务模型以及业务模型中包含的表及表之间的关系,从业务的层面构建一个数据表集合的数据结构。业务历史数据描述表包括HR_Base_SameStruCtTable 同构表描述表,用于描述业务数据表和历史数据表, 构建同构主从表关系;
HR_Base_HistoryRule 历史数据表控制规则表,用于描述历史数据表的控制规则;上述两张表主要用于构建历史数据平台,描述业务数据表和历史数据表的同构主从关系及业务历史数据表的控制逻辑规则。如图1所示,本发明一实施例提出一种历史数据存储方法,包括步骤S101,构建数据字典平台;在本实施例中,数据字典包括字段实体描述以及表实体描述;字段实体描述包括字段信息描述和字段控制信息描述;字段信息描述包括字段名称、表名称、字段类别、 字段类型、字段长度、字段精度、是否允许为空,顺序号、默认值、是否锁定、是否内置;所述表实体描述信息包括表信息描述和表控制信息描述;所述表信息描述包括表名称,表物理名称、表类别、是否内置表、主键字段设置、表类型设置、是否允许新增字段、是否允许修改字段、是否为锁定表、是否为同构表。通过字段实体描述以及表实体描述信息的构建,完成了数据库实体(表结构)完整的描述信息和控制信息,生成真实的物理数据库实体描述表记录,上述这些描述信息主要记录在HRMS_Table、HRMS_Fields两张数据库表中,构成一个数据字典平台,可以实现表和字段的新增、修改、删除以及相关业务逻辑。步骤S102,根据数据字典构建数据模型;在本实施例中,数据模型具体为业务数据模型,如上所述,业务模型主要是从业务的层面去描述一个完整的业务功能的数据结构模型,其具有以下三个部分的功能1、业务模型描述包括业务模型ID、业务模型名称、业务模型描述、主表描述、顺序号;2、业务模型表设置设置业务模型中包含哪些表和字段;业务模型表包括新增、 修改、删除、图形展示表等。3、业务模型表关系设置设置业务模型包含表之间的关系;业务模型表关系包括业务模型ID、业务表ID、主从表设置、主从表关系设置、关系类型设置。步骤S103,根据数据字典以及数据模型同构历史数据平台;在本实施例中,数据模型具体为业务数据模型,同构历史数据平台包括构建同构业务表、同构业务模型以及历史数据控制逻辑,其中构建同构业务表是指构建一张表的同构表,同构业务表包括同构ID,源表ID、同构表ID,同构表描述;构建同构业务模型是指通过业务模型构建多张表的同构表,同构业务模型包括 同构ID,源业务模型ID,源表ID、同构业务模型ID,同构表ID,同构业务模型描述、同构表描述;构建历史数据控制逻辑是指设置历史数据的存储控制逻辑和业务逻辑控制,其中历史数据的存储控制模式包括简单模式和迭代模式。简单模式是指按时间跨度划分历史数据表,如下表1所示,对员工工资数据表按时间跨度划分历史数据表,其中时间频率可以为周、月、季度、半年、年,会计期间或自定义周期等。其特点是按时间维度划分,一定时间周期内的业务数据自动转移形成历史数据。
权利要求
1.一种历史数据存储方法,其特征在于,包括构建数据字典平台,所述数据字典包括字段实体描述以及表实体描述; 根据所述数据字典构建数据模型; 根据所述数据字典以及数据模型同构历史数据平台;根据所述历史数据平台中的同构表、同构模型以及历史数据控制逻辑生成历史数据并存储。
2.根据权利要求1所述的方法,其特征在于,所述根据数据字典构建数据模型的步骤包括设置模型描述信息,所述模型描述信息包括模型ID、模型名称、模型描述、主表描述、顺序号;设置模型表,所述模型表包括新增、修改、删除、图形展示表;设置模型表关系,所述模型表关系包括模型ID、表ID、主从表设置、主从表关系设置、 关系类型设置。
3.根据权利要求2所述的方法,其特征在于,所述根据数据字典以及数据模型同构历史数据平台的步骤包括构建同构表,所述同构表包括同构ID、源表ID、同构表ID、同构表描述; 构建同构模型,所述同构模型包括同构ID、源模型ID、源表ID、同构模型ID、同构表ID、 同构模型描述、同构表描述;构建历史数据控制逻辑,所述历史数据控制逻辑包括历史数据的存储控制逻辑和逻辑控制。
4.根据权利要求3所述的方法,其特征在于,所述根据历史数据平台中的同构表、同构模型以及历史数据控制逻辑生成历史数据并存储的步骤包括获取所述同构表以及同构模型,根据所述同构表以及同构模型的设置,确定需要进行历史数据存储的数据表;获取历史数据控制逻辑,根据所述历史数据控制逻辑,确定历史数据的存储控制和逻辑控制信息;根据所述历史数据的存储控制和逻辑控制信息生成相应的历史数据表和历史数据并存储。
5.根据权利要求4所述的方法,其特征在于,所述根据历史数据的存储控制和逻辑控制信息生成相应的历史数据表和历史数据并存储的步骤包括判断历史数据的存储控制模式为简单模式或迭代模式;当所述历史数据的存储控制模式为简单模式时,取得简单模式的时间频率;按照所述时间频率构建同构从表;回写数据字典、数据模型以及同构从表描述信息;转移同构主表原有数据,回写同构从表;新增或修改同构主表数据;对历史数据进行保存。
6.根据权利要求5所述的方法,其特征在于,所述判断历史数据的存储控制模式为简单模式或迭代模式的步骤之后还包括当所述历史数据的存储控制模式为迭代模式时,获取同构从表; 复制主表原有数据,回写同构从表; 新增或修改同构主表数据; 对历史数据进行保存。
7.一种历史数据存储装置,其特征在于,包括数据字典构建模块,用于构建数据字典平台,所述数据字典包括字段实体描述以及表实体描述;数据模型构建模块,用于根据所述数据字典构建数据模型; 历史数据平台同构模块,用于根据所述数据字典以及数据模型同构历史数据平台; 历史数据存储模块,用于根据所述历史数据平台中的同构表、同构模型以及历史数据控制逻辑生成历史数据并存储。
8.根据权利要求7所述的装置,其特征在于,所述数据模型构建模块包括描述信息设置单元,用于设置模型描述信息,所述模型描述信息包括模型ID、模型名称、模型描述、主表描述、顺序号;表设置单元,用于设置模型表,所述模型表包括新增、修改、删除、图形展示表; 表关系设置单元,用于设置模型表关系,所述模型表关系包括模型ID、表ID、主从表设置、主从表关系设置、关系类型设置。
9.根据权利要求8所述的装置,其特征在于,所述历史数据平台同构模块包括同构表构建单元,用于构建同构表,所述同构表包括同构ID、源表ID、同构表ID、同构表描述;同构模型构建单元,构建同构模型,所述同构模型包括同构ID、源模型ID、源表ID、同构模型ID、同构表ID、同构模型描述、同构表描述;控制逻辑构建单元,用于构建历史数据控制逻辑,所述历史数据控制逻辑包括历史数据的存储控制逻辑和逻辑控制。
10.根据权利要求9所述的装置,其特征在于,所述历史数据存储模块包括数据表获取单元,用于获取所述同构表以及同构模型,根据所述同构表以及同构模型的设置,确定需要进行历史数据存储的数据表;控制逻辑信息获取单元,用于获取历史数据控制逻辑,根据所述历史数据控制逻辑,确定历史数据的存储控制和逻辑控制信息;历史数据存储单元,用于根据所述历史数据的存储控制和逻辑控制信息生成相应的历史数据表和历史数据并存储。
11.根据权利要求10所述的装置,其特征在于,所述历史数据存储单元包括 判断子单元,用于判断历史数据的存储控制模式为简单模式或迭代模式;历史数据存储子单元,用于当所述历史数据的存储控制模式为简单模式时,取得简单模式的时间频率;按照所述时间频率构建同构从表;回写数据字典、数据模型以及同构从表描述信息;转移同构主表原有数据,回写同构从表;新增或修改同构主表数据;对历史数据进行保存。
12.根据权利要求11所述的装置,其特征在于,所述历史数据存储子单元还用于当所述历史数据的存储控制模式为迭代模式时,获取同构从表;复制主表原有数据,回写同构从表;新增或修改同构主表数据;对历史数据进行保存。
全文摘要
本发明涉及一种历史数据存储方法及装置,其中方法包括构建数据字典平台,数据字典包括字段实体描述以及表实体描述;根据数据字典构建数据模型;根据数据字典以及数据模型同构历史数据平台;根据历史数据平台中的同构表、同构模型以及历史数据控制逻辑生成历史数据并存储。本发明通过同构表和同构模型的构建以及同构主从表的关系,不需要专业开发人员,业务人员只需在数据字典、模型、历史数据平台中进行相应调整,即可快速实现历史数据表和历史数据表的表结构实体的构建与调整以及历史数据的存储与应用。
文档编号G06F17/30GK102467547SQ20101054637
公开日2012年5月23日 申请日期2010年11月16日 优先权日2010年11月16日
发明者邹俊 申请人:金蝶软件(中国)有限公司