一种数据仓库数据同步方法和系统的制作方法

文档序号:6486614阅读:226来源:国知局
一种数据仓库数据同步方法和系统的制作方法
【专利摘要】本申请提供了一种数据仓库数据同步方法和系统,涉及计算机【技术领域】。所述方法包括:接收从源系统发送的,针对所述源系统的数据修改请求;解析所述数据修改请求;读取关联影响分类处理对应表;在所述关联影响分类处理对应表中匹配查找所述请求所属类型的处理方式,并判断是否需要分析所述源表信息的关联范围;当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息;根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改。本申请减少了人工审核影响范围的昂贵人力成本和时间成本,避免了由于人工因素可能造成的遗漏,提高了数据仓库与源系统进行数据同步修改的效率。
【专利说明】一种数据仓库数据同步方法和系统
【技术领域】
[0001]本申请涉及计算机【技术领域】,特别是涉及一种数据仓库数据同步方法和系统。
【背景技术】
[0002]数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库在企业管理和决策中面向主题的、集成的(Integrated)、相对稳定的、反映历史变化的数据集合。也就是说,对所有的应用系统,例如客户关系管理系统、财务系统等,按主题集成,并记录整个历史变化情况。随着企业信息化程度的不断提高,企业内部积累了大量的业务数据,数据仓库用于对这些相互独立、分散的数据进行统一处理,以满足企业高层决策与分析需要。
[0003]参照图1,其为数据仓库系统的体系结构框图。整个数据仓库系统是一个包含四个层次的体系结构,包括源系统101、数据仓库102、联机分析处理系统103及前端工具104,其中:
[0004]源系统101,是数据仓库系统的基础,是数据仓库数据的来源。
[0005]数据仓库102,从源系统抽取数据,然后转换装载至数据仓库,在数据仓库中是以数据表的结构存储所述源系统101的数据,每个数据表对应一个数据对象,一个源系统可以对应多个数据对象。
[0006]联机分析处理系统103,用于对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。
[0007]前端工具104,主要包括各种工具报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库的应用开发工具,实现对数据仓库102的访问。其中,数据分析工具主要针对联机分析处理系统服务器,报表工具、数据挖掘工具主要针对数据仓库。
[0008]在上述系统中,当源系统101数据组织形式变化,例如数据内容变更,数据粒度,存储周期变化等,如果未能及时有效通知到下游数据仓库102,可能会引发数据仓库相关的联机分析处理系统103和前端工具104的数据使用故障,比如数据仓库从源系统抽取数据不成功,或者说前端工具进行数据处理时出错等。因此当需要改变源系统的数据时,需要预先解析当前变更的(对102,103,104的影响)范围,以便数据仓库后续的数据同步处理,t匕如与变更的源系统数据关联的表的修改等处理。
[0009]现有技术中,当源系统数据变更时,而需要数据仓库同步变更相关数据时,需要预先分析其关联影响范围,然后在根据关联影响范围对数据进行同步。在现有技术中,当需要改变源系统的变更时,一般是在jira平台(基于Java架构的管理系统)进行变更登记,然后通过邮件通知到数据仓库,而数据仓库由于系统无法识别源系统的变更,需要由数据仓库的相关技术人员人工分析该源系统数据变更的影响范围,即该源系统数据变更的具体影响范围包括哪些数据表,然后进行同步处理。但是对于表繁多的数据仓库系统,人工审核判断所述影响范围工作量庞大,人力成本和时间成本高昂,并且还可能造成遗漏,并且因为现有状况是当处理人获取源系统变更通知时,没有必要可供决策参考的信息,需要花费时间去查询相关的元数据信息,才能框定实际的影响范围,因此人工分析的方式无法快速直观的获取受到影响的内容,从而也无法快速的将数据仓库中与源系统变更数据相关的数据进行同步修改。

【发明内容】

[0010]本申请所要解决的技术问题是提供一种数据仓库数据同步方法和系统,解决现有技术中无法自动对源系统数据变更请求自动分类解析影响范围,无法快速的将数据仓库中与源系统变更数据相关的数据进行同步的缺点。
[0011]为了解决上述问题,本申请公开了一种数据仓库数据同步方法,包括:
[0012]接收从源系统发送的,针对所述源系统的数据修改请求;
[0013]解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型;
[0014]读取关联影响分类处理对应表;所述关联影响分类处理对应表包括修改类型与处理方式的对应关系;
[0015]在所述关联影响分类处理对应表中匹配查找所述数据修改请求的所属类型的处理方式,并根据所述处理方式判断是否需要分析所述源表信息的关联范围;
[0016]当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息;
[0017]根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改。
[0018]优选的,当所述处理方式允许修改所述源表信息时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息包括:
[0019]以源表信息为根节点,在数据仓库各程序文件中递归搜索与源表关联的各文件信
肩、O
[0020]优选的,以源表信息为根节点,在数据仓库各程序文件中递归搜索与源表信息关联的各文件信息包括:
[0021 ] 步骤Al,将源表信息作为变更对象;
[0022]步骤A2,在数据仓库各程序文件中搜索包括变更对象的各程序文件;
[0023]步骤A3,将搜索得到的各程序文件复制一份,并将各程序文件代码调整为标准书写格式;
[0024]步骤A4,解析所述标准书写格式,获取各程序文件的程序文件名、程序文件路径与源表信息对应的目标表信息,并结合变更对象写入结果信息进行输出;
[0025]步骤A5,将所述目标表信息作为变更对象,转入步骤A2。
[0026]优选的,对所述结果信息进行输出时包括:
[0027]根据所述变更对象对应节点层级对结果信息进行标识。
[0028]优选的,所述根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改包括:
[0029]根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并将所述修改语句与源表关联的各文件信息发送至可行性确认模块;
[0030]在可行性确认模块,基于所述关联的各文件信息对所述修改语句进行可行性确认;
[0031]接收可行性确认模块发送的可行确认信息,调用修改接口执行所述修改语句,对数据库对象进行修改。
[0032]优选的,所述根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改包括:
[0033]判断是否对与源表信息关联的各文件信息对应的数据库对象进行自动化修改;
[0034]如果是,则根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并自动调用修改接口执行所述修改语句,对数据库对象进行修改。
[0035]优选的,判断是否对与源表信息关联的各文件信息对应的数据库对象进行自动化修改时包括:
[0036]当所述修改请求为对增加非主键字段类,和/或字段的长度、精度的变更类时,则根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并自动调用修改接口对数据库对象进行修改。
[0037]优选的,根据所述处理方式判断是不允许修改所述源系统的数据时,直接退回数据修改请求至源系统。
[0038]优选的,当所述修改请求属于字段的类型转换类型、或增加主键字段且为新独立功能的开发类型、或为数据生成规则中的有时间戳字段但未修改类型时,并根据其类型返回变更建议方案至源系统。
[0039]相应的,本申请还公开了一种数据仓库数据同步系统,包括:
[0040]修改请求接收模块,用于接收从源系统发送的,针对所述源系统的数据修改请求;
[0041]解析模块,用于解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型;
[0042]分类处理表读取模块,用于读取关联影响分类处理对应表;
[0043]判断模块,用于在所述关联影响分类处理对应表中匹配查找所述数据修改请求的所属类型的处理方式,并根据所述处理方式判断是否需要分析所述源表信息的关联范围;
[0044]搜索分析模块,用于当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息;
[0045]同步修改模块,用于根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改。
[0046]与现有技术相比,本申请包括以下优点:
[0047]本申请通过对数据修改的方式进行分类,并针对每一分类的处理特性设置其处理方式,形成修改请求分类与处理方式的对应关系;那么对于源系统发送的源系统数据修改请求,本申请根据修改请求的类型查询相应的处理方式,如果是可以修改的类型,则搜索数据仓库中与请求中源表信息相关联的各种文件信息,然后将这些信息根据源数据的变更进行同步修改。在上述过程中,由于对数据修改方式进行了分类,本申请可自动对请求进行分类,并且对于可修改的请求,可由系统自动分析修改内容的影响范围,不用人工审核,相对于数据仓库庞大的数据(表)量,减少了人工审核影响范围造成的昂贵的人力成本和时间成本,并且避免了由于人工因素而可能造成的遗漏,从而提高了数据仓库与源系统进行数据同步修改的效率。
【专利附图】

【附图说明】
[0048]图1是为数据仓库系统的体系结构框图;
[0049]图2是本申请一种数据仓库数据同步方法的流程示意图;
[0050]图3是本申请优选的一种关联影响文件搜索方法的流程示意图;
[0051]图4是本申请优选的一种数据仓库数据同步方法的流程示意图;
[0052]图5是本申请优选的一种同步修改的自动化处理方式的流程示意图;
[0053]图6是本申请一种数据仓库数据同步系统的结构示意图;
[0054]图7是本申请一种优选的数据仓库数据同步系统的结构示意图。
【具体实施方式】
[0055]为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本申请作进一步详细的说明。
[0056]本申请的核心思想之一在于,按对源系统关联影响的来源对修改方式进行分类,将针对源系统数据的修改以请求的方式发送至本申请数据仓库的关联影响分析系统中,然后由所述关联影响分析系统解析请求对应的修改类型,和源表信息;再结合关联影响分类处理对应判断源系统发出的请求是否需要分析在数据仓库中的关联影响范围,当需要时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息。通过上述方式,本申请的数据仓库可以完全自动化识别源系统发送的数据修改请求,并相应进行自动化分析,完全不需人工操作,,减少了人工审核造成的昂贵的人力成本和时间成本,并且避免了由于人工因素而可能造成的遗漏,可快速直观的获取受到影响的内容,从而提高了数据仓库与源系统进行数据同步修改的效率。
[0057]参照图2,示出了本申请一种数据仓库数据同步方法的流程示意图,具体可以包括:
[0058]步骤110,接收从源系统发送的,针对所述源系统的数据修改请求;
[0059]在本申请步骤110进行之前,可预先根据关联影响对数据修改请求进行分类。比如按关联影响来源分类:
[0060]1.数据库对象变更
[0061](I)表的增、删、rename0输入:原表名(其中,输入是指当源系统提交变更请求时,首先请求方会选择一种类型,对应不同的类型会有不同的必填信息,要输入的内容即为这些必填信息)
[0062](2)字段的增加。输入:表名,字段名,字段类型,是否主键字段
[0063](3)字段的删除。输入:表名,字段名
[0064](4)字段的rename。输入:表名,原字段名,新字段名
[0065](5)字段类型变更。输入:表名,原字段名,新字段名,是否字段长度、精度变更(变大、变小、其他类型转换)
[0066](6)外部接口的增加。输入:接口名(例如源系统的计薪程序,数据仓库可以直接调用,程序名称由A变成了 B,或者之前只需传入人员姓名即可查到当前薪酬,现在需要传入姓名和月份)
[0067](7)外部接口删除。输入:接口名
[0068](8)外部接口(函数和过程)的弃用。输入:接口名,是否业务停办,替代的接口名
[0069](9)外部接口的变更,包括输入输出参数的增删改。输入:接口名,新接口的输入输出
[0070]2.数据内容变更
[0071](I)字段的弃用。输入:表名,字段名,是否业务停办,替换的表名和字段名
[0072](2)表的弃用。输入:表名,是否业务停办,替代表的表名
[0073](3)字段写入内容变化。输入:表名,字段名,变更前字段枚举值,变更后字段枚举值
[0074](4)字段含义转变。输入:表名,字段名,字段值原含义,字段值新含义
[0075]3.数据生成规则变更
[0076](I)数据写入周期、时间变更。输入:表名,原写入周期和时间,变更后写入周期和时间
[0077](2)历史数据转存。输入:转存前的表名,转存后的表名,转存的数据范围
[0078](3)封装在一个事务中的内容发生变化。输入:原事务相关表,字段,新事务相关表,字段,事务变化内容
[0079](4)写入规则发生变化。输入:表名,原规则,新规则
[0080](5)手工修改数据。输入:表名,修改的数据内容,是否同步更新时间戳
[0081]基于上述分类方式,
[0082]在本申请针对源系统的修改请求可直接发送至数据仓库的关联影响分析系统,关联影响分析系统的请求接收模块接收从源系统发送的,针对所述源系统的数据修改请求。
[0083]优选的,在源系统发送请求时即设置请求类型选项,当源系统发送修改数据请求时,数据修改请求中带有标识修改类型的标识。比如源系统预计使一个表的字段变更,增加主键字段,且为旧功能的扩展;那么源系统在发送修改其某个表某个字段所述修改请求时,即选择类型为“增加主键字段,且为旧功能的扩展”的标识,比如为“增加主键字段,且为旧功能的扩展”的标识121。那么本步骤即接收带有标识121的针对一源系统的数据修改请求。
[0084]本申请还可直接将源系统的修改请求发送至本申请的关联影响分析系统,然后有本申请的关联影响分析系统进行解析其类型。
[0085]步骤120,解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型;
[0086]本申请优选的是在提交的修改请求里选择变更的类型,那么本步骤即可直接根据修改请求里选择的类型确定对源表信息的修改的所属类型。
[0087]当通过提交的修改脚本或业务系统发布代码来判断。如果是修改脚本,必有关键字,如alter, rename, add, modify等,通过sql的关键字匹配修改的类型及后面的修改对象,最终判断对源表信息的修改的所属类型。如果是业务系统发布代码,可以比较出被修改的代码内容,分析修改中有没有对写入表内容的更改,并判断对源表信息的修改的所属类型。
[0088]在本申请中,对于前述预置的各个最终分类,基于最终各分类的的处理特性,本申请对应每个分类可设置相应的处理方式,其处理方式可如下:
[0089]①直接退回,不允许源系统变更。
[0090]②退回,给出变更方案的建议,要求修改。例如新增字段代替变更字段,解决冲突。
[0091]③同意修改,通过程序解析出受影响的对象,返回影响范围供决策审核,如果审核通过,通过修改接口对后续对受影响数据库对象进行修改。
[0092]④自动化修改,由生成修改语句,同时自动调用修改接口修改数据库对象。
[0093]⑤无影响,不处理。
[0094]优选的,其处理方式可如下表一:
[0095]
【权利要求】
1.一种数据仓库数据同步方法,其特征在于,包括: 接收从源系统发送的,针对所述源系统的数据修改请求; 解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型; 读取关联影响分类处理对应表;所述关联影响分类处理对应表包括修改类型与处理方式的对应关系; 在所述关联影响分类处理对应表中匹配查找所述数据修改请求的所属类型的处理方式,并根据所述处理方式判断是否需要分析所述源表信息的关联范围; 当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息; 根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改。
2.根据权利要求1所述的方法,其特征在于,当所述处理方式允许修改所述源表信息时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息包括: 以源表信息为根节点,在数据仓库各程序文件中递归搜索与源表关联的各文件信息。
3.根据权利要求2所述的方法,其特征在于,以源表信息为根节点,在数据仓库各程序文件中递归搜索与源表信息关联的各文件信息包括: 步骤Al,将源表信息作为变更对象; 步骤A2,在数据仓库各程序`文件中搜索包括变更对象的各程序文件; 步骤A3,将搜索得到的各程序文件复制一份,并将各程序文件代码调整为标准书写格式; 步骤A4,解析所述标准书写格式,获取各程序文件的程序文件名、程序文件路径与源表信息对应的目标表信息,并结合变更对象写入结果信息进行输出; 步骤A5,将所述目标表信息作为变更对象,转入步骤A2。
4.根据权利要求3所述的方法,其特征在于,对所述结果信息进行输出时包括: 根据所述变更对象对应节点层级对结果信息进行标识。
5.根据权利要求1所述的方法,其特征在于,所述根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改包括: 根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并将所述修改语句与源表关联的各文件信息发送至可行性确认模块; 在可行性确认模块,基于所述关联的各文件信息对所述修改语句进行可行性确认;接收可行性确认模块发送的可行确认信息,调用修改接口执行所述修改语句,对数据库对象进行修改。
6.根据权利要求1所述的方法,其特征在于,所述根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改包括: 判断是否对与源表信息关联的各文件信息对应的数据库对象进行自动化修改; 如果是,则根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并自动调用修改接口执行所述修改语句,对数据库对象进行修改。
7.根据权利要求6所述的方法,其特征在于,判断是否对与源表信息关联的各文件信息对应的数据库对象进行自动化修改时包括: 当所述修改请求为对增加非主键字段类,和/或字段的长度、精度的变更类时,则根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并自动调用修改接口对数据库对象进行修改。
8.根据权利要求5所述的方法,其特征在于, 根据所述处理方式判断是不允许修改所述源系统的数据时,直接退回数据修改请求至源系统。
9.根据权利要求8所述的方法,其特征在于, 当所述修改请求属于字段的类型转换类型、或增加主键字段且为新独立功能的开发类型、或为数据生成规则中的有时间戳字段但未修改类型时,并根据其类型返回变更建议方案至源系统。
10.一种数据仓库数据同步系统,其特征在于,包括: 修改请求接收模块,用于接收从源系统发送的,针对所述源系统的数据修改请求; 解析模块,用于解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型; 分类处理表读取模块,用于读取关联影响分类处理对应表; 判断模块,用于在所述关联影响分类处理对应表中匹配查找所述数据修改请求的所属类型的处理方式,并根据所述处理方式判断是否需要分析所述源表信息的关联范围; 搜索分析模块,用于当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息; 同步修改模块,用于根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改 。
【文档编号】G06F17/30GK103514223SQ201210223633
【公开日】2014年1月15日 申请日期:2012年6月28日 优先权日:2012年6月28日
【发明者】纪丽娟 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1