CN103514223B - 一种数据仓库数据同步方法和系统 - Google Patents
一种数据仓库数据同步方法和系统 Download PDFInfo
- Publication number
- CN103514223B CN103514223B CN201210223633.XA CN201210223633A CN103514223B CN 103514223 B CN103514223 B CN 103514223B CN 201210223633 A CN201210223633 A CN 201210223633A CN 103514223 B CN103514223 B CN 103514223B
- Authority
- CN
- China
- Prior art keywords
- modification
- table information
- data
- source table
- source
- 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.)
- Active
Links
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据仓库数据同步方法和系统,涉及计算机技术领域。所述方法包括:接收从源系统发送的,针对所述源系统的数据修改请求;解析所述数据修改请求;读取关联影响分类处理对应表;在所述关联影响分类处理对应表中匹配查找所述请求所属类型的处理方式,并判断是否需要分析所述源表信息的关联范围;当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息;根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改。本申请减少了人工审核影响范围的昂贵人力成本和时间成本,避免了由于人工因素可能造成的遗漏,提高了数据仓库与源系统进行数据同步修改的效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据仓库数据同步方法和系统。
背景技术
数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库在企业管理和决策中面向主题的、集成的(Integrated)、相对稳定的、反映历史变化的数据集合。也就是说,对所有的应用系统,例如客户关系管理系统、财务系统等,按主题集成,并记录整个历史变化情况。随着企业信息化程度的不断提高,企业内部积累了大量的业务数据,数据仓库用于对这些相互独立、分散的数据进行统一处理,以满足企业高层决策与分析需要。
参照图1,其为数据仓库系统的体系结构框图。整个数据仓库系统是一个包含四个层次的体系结构,包括源系统101、数据仓库102、联机分析处理系统103及前端工具104,其中:
源系统101,是数据仓库系统的基础,是数据仓库数据的来源。
数据仓库102,从源系统抽取数据,然后转换装载至数据仓库,在数据仓库中是以数据表的结构存储所述源系统101的数据,每个数据表对应一个数据对象,一个源系统可以对应多个数据对象。
联机分析处理系统103,用于对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。
前端工具104,主要包括各种工具报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库的应用开发工具,实现对数据仓库102的访问。其中,数据分析工具主要针对联机分析处理系统服务器,报表工具、数据挖掘工具主要针对数据仓库。
在上述系统中,当源系统101数据组织形式变化,例如数据内容变更,数据粒度,存储周期变化等,如果未能及时有效通知到下游数据仓库102,可能会引发数据仓库相关的联机分析处理系统103和前端工具104的数据使用故障,比如数据仓库从源系统抽取数据不成功,或者说前端工具进行数据处理时出错等。因此当需要改变源系统的数据时,需要预先解析当前变更的(对102,103,104的影响)范围,以便数据仓库后续的数据同步处理,比如与变更的源系统数据关联的表的修改等处理。
现有技术中,当源系统数据变更时,而需要数据仓库同步变更相关数据时,需要预先分析其关联影响范围,然后在根据关联影响范围对数据进行同步。在现有技术中,当需要改变源系统的变更时,一般是在jira平台(基于Java架构的管理系统)进行变更登记,然后通过邮件通知到数据仓库,而数据仓库由于系统无法识别源系统的变更,需要由数据仓库的相关技术人员人工分析该源系统数据变更的影响范围,即该源系统数据变更的具体影响范围包括哪些数据表,然后进行同步处理。但是对于表繁多的数据仓库系统,人工审核判断所述影响范围工作量庞大,人力成本和时间成本高昂,并且还可能造成遗漏,并且因为现有状况是当处理人获取源系统变更通知时,没有必要可供决策参考的信息,需要花费时间去查询相关的元数据信息,才能框定实际的影响范围,因此人工分析的方式无法快速直观的获取受到影响的内容,从而也无法快速的将数据仓库中与源系统变更数据相关的数据进行同步修改。
发明内容
本申请所要解决的技术问题是提供一种数据仓库数据同步方法和系统,解决现有技术中无法自动对源系统数据变更请求自动分类解析影响范围,无法快速的将数据仓库中与源系统变更数据相关的数据进行同步的缺点。
为了解决上述问题,本申请公开了一种数据仓库数据同步方法,包括:
接收从源系统发送的,针对所述源系统的数据修改请求;
解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型;
读取关联影响分类处理对应表;所述关联影响分类处理对应表包括修改类型与处理方式的对应关系;
在所述关联影响分类处理对应表中匹配查找所述数据修改请求的所属类型的处理方式,并根据所述处理方式判断是否需要分析所述源表信息的关联范围;
当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息;
根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改。
优选的,当所述处理方式允许修改所述源表信息时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息包括:
以源表信息为根节点,在数据仓库各程序文件中递归搜索与源表关联的各文件信息。
优选的,以源表信息为根节点,在数据仓库各程序文件中递归搜索与源表信息关联的各文件信息包括:
步骤A1,将源表信息作为变更对象;
步骤A2,在数据仓库各程序文件中搜索包括变更对象的各程序文件;
步骤A3,将搜索得到的各程序文件复制一份,并将各程序文件代码调整为标准书写格式;
步骤A4,解析所述标准书写格式,获取各程序文件的程序文件名、程序文件路径与源表信息对应的目标表信息,并结合变更对象写入结果信息进行输出;
步骤A5,将所述目标表信息作为变更对象,转入步骤A2。
优选的,对所述结果信息进行输出时包括:
根据所述变更对象对应节点层级对结果信息进行标识。
优选的,所述根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改包括:
根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并将所述修改语句与源表关联的各文件信息发送至可行性确认模块;
在可行性确认模块,基于所述关联的各文件信息对所述修改语句进行可行性确认;
接收可行性确认模块发送的可行确认信息,调用修改接口执行所述修改语句,对数据库对象进行修改。
优选的,所述根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改包括:
判断是否对与源表信息关联的各文件信息对应的数据库对象进行自动化修改;
如果是,则根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并自动调用修改接口执行所述修改语句,对数据库对象进行修改。
优选的,判断是否对与源表信息关联的各文件信息对应的数据库对象进行自动化修改时包括:
当所述修改请求为对增加非主键字段类,和/或字段的长度、精度的变更类时,则根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并自动调用修改接口对数据库对象进行修改。
优选的,根据所述处理方式判断是不允许修改所述源系统的数据时,直接退回数据修改请求至源系统。
优选的,当所述修改请求属于字段的类型转换类型、或增加主键字段且为新独立功能的开发类型、或为数据生成规则中的有时间戳字段但未修改类型时,并根据其类型返回变更建议方案至源系统。
相应的,本申请还公开了一种数据仓库数据同步系统,包括:
修改请求接收模块,用于接收从源系统发送的,针对所述源系统的数据修改请求;
解析模块,用于解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型;
分类处理表读取模块,用于读取关联影响分类处理对应表;
判断模块,用于在所述关联影响分类处理对应表中匹配查找所述数据修改请求的所属类型的处理方式,并根据所述处理方式判断是否需要分析所述源表信息的关联范围;
搜索分析模块,用于当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息;
同步修改模块,用于根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改。
与现有技术相比,本申请包括以下优点:
本申请通过对数据修改的方式进行分类,并针对每一分类的处理特性设置其处理方式,形成修改请求分类与处理方式的对应关系;那么对于源系统发送的源系统数据修改请求,本申请根据修改请求的类型查询相应的处理方式,如果是可以修改的类型,则搜索数据仓库中与请求中源表信息相关联的各种文件信息,然后将这些信息根据源数据的变更进行同步修改。在上述过程中,由于对数据修改方式进行了分类,本申请可自动对请求进行分类,并且对于可修改的请求,可由系统自动分析修改内容的影响范围,不用人工审核,相对于数据仓库庞大的数据(表)量,减少了人工审核影响范围造成的昂贵的人力成本和时间成本,并且避免了由于人工因素而可能造成的遗漏,从而提高了数据仓库与源系统进行数据同步修改的效率。
附图说明
图1是为数据仓库系统的体系结构框图;
图2是本申请一种数据仓库数据同步方法的流程示意图;
图3是本申请优选的一种关联影响文件搜索方法的流程示意图;
图4是本申请优选的一种数据仓库数据同步方法的流程示意图;
图5是本申请优选的一种同步修改的自动化处理方式的流程示意图;
图6是本申请一种数据仓库数据同步系统的结构示意图;
图7是本申请一种优选的数据仓库数据同步系统的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请的核心思想之一在于,按对源系统关联影响的来源对修改方式进行分类,将针对源系统数据的修改以请求的方式发送至本申请数据仓库的关联影响分析系统中,然后由所述关联影响分析系统解析请求对应的修改类型,和源表信息;再结合关联影响分类处理对应判断源系统发出的请求是否需要分析在数据仓库中的关联影响范围,当需要时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息。通过上述方式,本申请的数据仓库可以完全自动化识别源系统发送的数据修改请求,并相应进行自动化分析,完全不需人工操作,,减少了人工审核造成的昂贵的人力成本和时间成本,并且避免了由于人工因素而可能造成的遗漏,可快速直观的获取受到影响的内容,从而提高了数据仓库与源系统进行数据同步修改的效率。
参照图2,示出了本申请一种数据仓库数据同步方法的流程示意图,具体可以包括:
步骤110,接收从源系统发送的,针对所述源系统的数据修改请求;
在本申请步骤110进行之前,可预先根据关联影响对数据修改请求进行分类。比如按关联影响来源分类:
1.数据库对象变更
(1)表的增、删、rename。输入:原表名(其中,输入是指当源系统提交变更请求时,首先请求方会选择一种类型,对应不同的类型会有不同的必填信息,要输入的内容即为这些必填信息)
(2)字段的增加。输入:表名,字段名,字段类型,是否主键字段
(3)字段的删除。输入:表名,字段名
(4)字段的rename。输入:表名,原字段名,新字段名
(5)字段类型变更。输入:表名,原字段名,新字段名,是否字段长度、精度变更(变大、变小、其他类型转换)
(6)外部接口的增加。输入:接口名(例如源系统的计薪程序,数据仓库可以直接调用,程序名称由A变成了B,或者之前只需传入人员姓名即可查到当前薪酬,现在需要传入姓名和月份)
(7)外部接口删除。输入:接口名
(8)外部接口(函数和过程)的弃用。输入:接口名,是否业务停办,替代的接口名
(9)外部接口的变更,包括输入输出参数的增删改。输入:接口名,新接口的输入输出
2.数据内容变更
(1)字段的弃用。输入:表名,字段名,是否业务停办,替换的表名和字段名
(2)表的弃用。输入:表名,是否业务停办,替代表的表名
(3)字段写入内容变化。输入:表名,字段名,变更前字段枚举值,变更后字段枚举值
(4)字段含义转变。输入:表名,字段名,字段值原含义,字段值新含义
3.数据生成规则变更
(1)数据写入周期、时间变更。输入:表名,原写入周期和时间,变更后写入周期和时间
(2)历史数据转存。输入:转存前的表名,转存后的表名,转存的数据范围
(3)封装在一个事务中的内容发生变化。输入:原事务相关表,字段,新事务相关表,字段,事务变化内容
(4)写入规则发生变化。输入:表名,原规则,新规则
(5)手工修改数据。输入:表名,修改的数据内容,是否同步更新时间戳
基于上述分类方式,
在本申请针对源系统的修改请求可直接发送至数据仓库的关联影响分析系统,关联影响分析系统的请求接收模块接收从源系统发送的,针对所述源系统的数据修改请求。
优选的,在源系统发送请求时即设置请求类型选项,当源系统发送修改数据请求时,数据修改请求中带有标识修改类型的标识。比如源系统预计使一个表的字段变更,增加主键字段,且为旧功能的扩展;那么源系统在发送修改其某个表某个字段所述修改请求时,即选择类型为“增加主键字段,且为旧功能的扩展”的标识,比如为“增加主键字段,且为旧功能的扩展”的标识121。那么本步骤即接收带有标识121的针对一源系统的数据修改请求。
本申请还可直接将源系统的修改请求发送至本申请的关联影响分析系统,然后有本申请的关联影响分析系统进行解析其类型。
步骤120,解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型;
本申请优选的是在提交的修改请求里选择变更的类型,那么本步骤即可直接根据修改请求里选择的类型确定对源表信息的修改的所属类型。
当通过提交的修改脚本或业务系统发布代码来判断。如果是修改脚本,必有关键字,如alter,rename,add,modify等,通过sql的关键字匹配修改的类型及后面的修改对象,最终判断对源表信息的修改的所属类型。如果是业务系统发布代码,可以比较出被修改的代码内容,分析修改中有没有对写入表内容的更改,并判断对源表信息的修改的所属类型。
在本申请中,对于前述预置的各个最终分类,基于最终各分类的的处理特性,本申请对应每个分类可设置相应的处理方式,其处理方式可如下:
①直接退回,不允许源系统变更。
②退回,给出变更方案的建议,要求修改。例如新增字段代替变更字段,解决冲突。
③同意修改,通过程序解析出受影响的对象,返回影响范围供决策审核,如果审核通过,通过修改接口对后续对受影响数据库对象进行修改。
④自动化修改,由生成修改语句,同时自动调用修改接口修改数据库对象。
⑤无影响,不处理。
优选的,其处理方式可如下表一:
表一
那么对于步骤110接收的请求,本步骤解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型。
对于前述的带有表示修改类型的标识的数据修改请求,本步骤可直接根据所述标识解析所述数据修改请求中对源表信息的修改的所属类型。比如前述带有标识121的数据修改请求,本步骤可直接根据标识121解析其类型为“增加主键字段,且为旧功能的扩展”。并且可解析所述数据修改请求中相应的源表信息。比如同解析源系统的变更类型,在解析变更类型的同时也可以解析出对哪个数据库对象,如表,做操作。
其中,所述源表信息为修改请求中修改源表数据时的相关信息,比如前述分类中的各种信息,比如字段的变更时,则源表信息包括待修改的表名和字段名。
步骤130,读取关联影响分类处理对应表;所述关联影响分类处理对应表包括修改类型与处理方式的对应关系;
比如前述表一,其即为一种优选的关联影响分类处理对应表。本步骤需要首先读取关联影响分类处理对应表,便于后续处理。
步骤140,在所述关联影响分类处理对应表中匹配查找所述数据修改请求的所属类型的处理方式,并根据所述处理方式判断是否需要分析所述源表信息的关联范围;
比如对于前述表一,读取了表一之后,根据解析得到的修改类型,在表中查找与其相对应的处理方式,根据处理方式判断是否需要分析所述源表信息的关联范围。比如前述③需要分析所述源表信息的关联范围,④也可分析所述源表信息的关联范围。而①、②、⑤则不需要分析源表信息的关联范围。
步骤150,当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息。
在本步骤中,还包括:基于所述源表信息和各文件信息生成结果信息。
本申请优选的,以表结构存储结果信息,表的结构为:源表名,源表字段,目标表名,目标字段,层级,目标文件名,目标文件路径。
优选的,当所述处理方式允许修改所述源表信息时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息包括:
步骤S 151,以源表信息为根节点,在数据仓库各程序文件中递归搜索与源表关联的各文件信息。
以源系统的一个对象变更为根节点,展开递归搜索,并可将搜索结果以树状结构写入表中。
优选的,参照图3,以源表信息为根节点,在数据仓库各程序文件中递归搜索与源表信息关联的各文件信息包括:
步骤A1,将源表信息作为变更对象;
步骤A2,在数据仓库各程序文件中搜索包括变更对象的各程序文件;
步骤A3,将搜索得到的各程序文件复制一份,并将各程序文件代码调整为标准书写格式;
步骤A4,解析所述标准书写格式,获取各程序文件的程序文件名、程序文件路径与源表信息对应的目标表信息,并结合变更对象写入结果信息进行输出;
步骤A5,将所述目标表信息作为变更对象,转入步骤A2。
其中,对所述结果信息进行输出时包括:根据所述变更对象对应节点层级对结果信息进行标识。
例如,源系统的一个字段发生变更,如A表的A1字段,解析过程为:
首先,在所有程序文件中搜索包含A表A1字段的文件;
然后,将检索到的文件复制一份,将代码补全为完整的书写格式,比如替换缩写,通配符(如表.*);
再次,解析所述标准书写格式,以获取目标表名、对应的目标字段、文件名、文件路径,连同源系统表名A和字段名A1一起写入结果中,将其设为层级为1。
再次,将层级为1的目标表名、目标字段作为源表和源字段,逐条重复第一步的查找过程,返回结果的层级为2。
如果上述返回结果为空,则表明源系统的该数据修改与数据仓库无关联影响。
第三步,以上每处理一步层级加1,直至查找时没有得到任何结果为止。
步骤160,根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改。
通过本步骤,即可将数据仓库中与所述源表信息关联的各文件信息进行同步修改,保证数据仓库与源系统的数据同步。
参照图4,其示出了本申请优选的一种数据仓库数据同步方法,包括:
步骤210,接收从源系统发送的,针对所述源系统的数据修改请求;
步骤220,解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型;
步骤230,读取关联影响分类处理对应表;所述关联影响分类处理对应表包括修改类型与处理方式的对应关系;
步骤240,在所述关联影响分类处理对应表中匹配查找所述数据修改请求的所属类型的处理方式,并根据所述处理方式判断是否需要分析所述源表信息的关联范围;
步骤250,当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息;
步骤260,判断是否对与源表信息关联的各文件信息对应的数据库对象进行自动化修改;
如果是,则根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并调用自动修改接口执行所述修改语句,对数据库对象进行修改。
如果不是,转入步骤270;
步骤270,根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并将所述修改语句与源表关联的各文件信息发送至可行性确认模块;
在可行性确认模块,基于所述关联的各文件信息对所述修改语句进行可行性确认;
接收可行性确认模块发送的可行确认信息,调用修改接口执行所述修改语句,对数据库对象进行修改。
如果可行性确认模块发送否定信息,则停止修改。即人工审核修改请求的影响范围不合适,则停止修改。
其中,步骤210至步骤250于图2所述基本类似,在此不再加以详述。
现有技术中,,由于无法提前预知上游系统变更后对下游系统会造成多大范围和多大程度的影响,因此对于那些可以自动处理的变更,实际处理时还是依靠人为因素去处理,而无法自动处理。本实施例可进一步利用监控系统,获取部分变更,通过自动化处理后,同时消除相应的监控报警好处:对于能自动化处理的源系统变更产生的监控报警,也可以达到不需要人工干预,节约人力。
步骤260至步骤270,是图2中步骤160的优选同步修改方式的组合,其为本申请最优的同步修改实施方式。
对于步骤260,判断是否对与源表信息关联的各文件信息对应的数据库对象进行自动化修改时包括:
当所述修改请求为对增加非主键字段类,和/或字段的长度、精度的变更类时,自动生成修改语句并调用修改接口对数据库对象进行修改。
即当增加非主键字段时,针对关联影响解析后的结果表中层级为1的目标文件进行修改,将修改后产生的修改代码文件放在指定或默认的目录中,并将修改的程序清单以及生成的修改代码文件信息以列表形式返回给用户,同时可以调用修改接口,对数据库对象直接进行修改。
其中,只修改层级1是因为这种类型,增加非主键字段,表明数据仓库对这个新增的字段之前是没有应用的,那么后面的程序不会受到直接的影响,修改第一层为了单纯的把新增内容引入到数据仓库,让大家通过数据仓库也知道源系统有新的业务了,并且能够方便后续应用的扩展,即后续应用可能会用到这个字段。
当字段长度、精度扩大时,需要针对关联影响解析后的结果表中所有目标文件进行修改,修改操作方式同上。
基于前述处理方式,根据所述处理方式判断是不允许修改所述源系统的数据时,直接退回数据修改请求至源系统。
其中则根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句时,可根据修改请求中的SQL关键字,和修改对象等,自动生成用于修改的SQL语句。
其中,当所述修改请求属于字段的类型转换类型、或增加主键字段且为新独立功能的开发类型、或为数据生成规则中的有时间戳字段但未修改类型时,根据其类型返回变更建议方案至源系统。
其自动化处理方式可参照图5,包括:
步骤B1,判断变更对象是否为增加非主键字段,如果是,则修改结果列表中层级为1的目标文件,返回修改语句列表,调用修改接口修改相应数据库对象。
步骤B2,判断变更对象是否为字段长度、或精度的增大,如果是,修改所有目标文件,返回修改语句列表,调用修改接口修改相应数据库对象。
如果既不是增加非主键字段,也不是字段长度、也不是精度的增大,那么就不能自动化处理,需人工修改。
对于步骤270,根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并将所述修改语句与源表关联的各文件信息发送至可行性确认模块;
在可行性确认模块,基于所述关联的各文件信息对所述修改语句进行可行性确认;
接收可行性确认模块发送的可行确认信息,调用修改接口执行所述修改语句,对数据库对象进行修改。
本步骤是为了人工审核是为了确定影响较大(即本申请的第三种修改类型)的修改没有问题。
基于前述方法,本申请有两方面的优点,第一个方面是不需要人工介入,系统会根据搜索到的影响自动完成修改并公布修改结果给数据仓库人员;第二个方面是需要人工审核(即可行性确认模块的功能)修改请求的范围是否有问题,但是不需要人工分析影响范围,开发人员根据解析好的影响范围和生成的修改脚本,确定是否完成修改,如此,本申请可大大减少了人工审核影响范围造成的昂贵的人力成本和时间成本,避免了由于人工因素而可能造成的遗漏,从而提高了数据仓库与源系统进行数据同步修改的效率。
参照图6,其示出了本申请一种数据仓库数据同步系统的结构示意图,包括:
修改请求接收模块410,用于接收从源系统发送的,针对所述源系统的数据修改请求;
解析模块420,用于解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型;
分类处理表读取模块430,用于读取关联影响分类处理对应表;
判断模块440,用于在所述关联影响分类处理对应表中匹配查找所述数据修改请求的所属类型的处理方式,并根据所述处理方式判断是否需要分析所述源表信息的关联范围;
搜索分析模块450,用于当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息;
同步修改模块460,用于根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改。
参照图7,其示出了本申请优选的一种数据仓库数据同步系统的结构示意图,包括:
修改请求接收模块510,用于接收从源系统发送的,针对所述源系统的数据修改请求;
解析模块520,用于解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型;
分类处理表读取模块530,用于读取关联影响分类处理对应表;
判断模块540,用于在所述关联影响分类处理对应表中匹配查找所述数据修改请求的所属类型的处理方式,并根据所述处理方式判断是否需要分析所述源表信息的关联范围;
搜索分析模块550,用于当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息;
自动修改判断模块560,用于判断是否对与源表信息关联的各文件信息对应的数据库对象进行自动化修改;
如果是,则根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并调用自动修改接口执行所述修改语句,对数据库对象进行修改。
如果不是,则转入可行性处理模块570,用于则根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并将所述修改语句与源表关联的各文件信息发送至可行性确认模块580;
接收可行性确认模块580发送的可行确认信息,调用修改接口执行所述修改语句,对数据库对象进行修改。
可行性确认模块580,基于所述关联的各文件信息对所述修改语句进行可行性确认。
接收源系统发送的可行确认信息,并根据所述数据修改请求中的修改内容对与源表信息关联的各文件信息对应的数据库对象进行修改;
如果不合法,则结束。
其中自动修改判断模块560和可行性处理模块570的组合为同步修改模块的最优实施方式。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
以上对本申请所提供的一种数据仓库数据同步方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据仓库数据同步方法,应用于数据仓库中,其特征在于,包括:
接收从源系统发送的,针对所述源系统的数据修改请求;
解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型;
读取关联影响分类处理对应表;所述关联影响分类处理对应表包括修改类型与处理方式的对应关系;
在所述关联影响分类处理对应表中匹配查找所述数据修改请求的所属类型的处理方式,并根据所述处理方式判断是否需要分析所述源表信息的关联范围;其中,需要分析所述源表信息的关联范围处理方式包括:同意修改,通过程序解析出受影响的对象,返回影响范围供决策审核,如果审核通过,通过修改接口对后续对受影响数据库对象进行修改;自动化修改,生成修改语句,同时自动调用修改接口修改数据库对象;
当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息;
根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改。
2.根据权利要求1所述的方法,其特征在于,当所述处理方式允许修改所述源表信息时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息包括:
以源表信息为根节点,在数据仓库各程序文件中递归搜索与源表关联的各文件信息。
3.根据权利要求2所述的方法,其特征在于,以源表信息为根节点,在数据仓库各程序文件中递归搜索与源表信息关联的各文件信息包括:
步骤A1,将源表信息作为变更对象;
步骤A2,在数据仓库各程序文件中搜索包括变更对象的各程序文件;
步骤A3,将搜索得到的各程序文件复制一份,并将各程序文件代码调整为标准书写格式;
步骤A4,解析所述标准书写格式,获取各程序文件的程序文件名、程序文件路径与源表信息对应的目标表信息,并结合变更对象写入结果信息进行输出;
步骤A5,将所述目标表信息作为变更对象,转入步骤A2。
4.根据权利要求3所述的方法,其特征在于,对所述结果信息进行输出时包括:
根据所述变更对象对应节点层级对结果信息进行标识。
5.根据权利要求1所述的方法,其特征在于,所述根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改包括:
根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并将所述修改语句与源表关联的各文件信息发送至可行性确认模块;
在可行性确认模块,基于所述关联的各文件信息对所述修改语句进行可行性确认;
接收可行性确认模块发送的可行确认信息,调用修改接口执行所述修改语句,对数据库对象进行修改。
6.根据权利要求1所述的方法,其特征在于,所述根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改包括:
判断是否对与源表信息关联的各文件信息对应的数据库对象进行自动化修改;
如果是,则根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并自动调用修改接口执行所述修改语句,对数据库对象进行修改。
7.根据权利要求6所述的方法,其特征在于,判断是否对与源表信息关联的各文件信息对应的数据库对象进行自动化修改时包括:
当所述修改请求为对增加非主键字段类,和/或字段的长度、精度的变更类时,则根据修改请求中对源表信息的修改信息,针对关联范围内的各文件信息生成修改语句,并自动调用修改接口对数据库对象进行修改。
8.根据权利要求5所述的方法,其特征在于,
根据所述处理方式判断是不允许修改所述源系统的数据时,直接退回数据修改请求至源系统。
9.根据权利要求8所述的方法,其特征在于,
当所述修改请求属于字段的类型转换类型、或增加主键字段且为新独立功能的开发类型、或为数据生成规则中的有时间戳字段但未修改类型时,并根据其类型返回变更建议方案至源系统。
10.一种数据仓库数据同步系统,应用于数据仓库中,其特征在于,包括:
修改请求接收模块,用于接收从源系统发送的,针对所述源系统的数据修改请求;
解析模块,用于解析所述数据修改请求中相应的源表信息,和所述数据修改请求中对源表信息的修改的所属类型;
分类处理表读取模块,用于读取关联影响分类处理对应表;
判断模块,用于在所述关联影响分类处理对应表中匹配查找所述数据修改请求的所属类型的处理方式,并根据所述处理方式判断是否需要分析所述源表信息的关联范围;其中,需要分析所述源表信息的关联范围处理方式包括:同意修改,通过程序解析出受影响的对象,返回影响范围供决策审核,如果审核通过,通过修改接口对后续对受影响数据库对象进行修改;自动化修改,生成修改语句,同时自动调用修改接口修改数据库对象;
搜索分析模块,用于当需要分析所述源表信息的关联范围时,在数据仓库的各文件中搜索在源表信息关联范围内的各文件信息;
同步修改模块,用于根据修改请求中对源表信息的修改信息,将所述源表信息关联范围内的各文件信息进行同步修改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210223633.XA CN103514223B (zh) | 2012-06-28 | 2012-06-28 | 一种数据仓库数据同步方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210223633.XA CN103514223B (zh) | 2012-06-28 | 2012-06-28 | 一种数据仓库数据同步方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103514223A CN103514223A (zh) | 2014-01-15 |
CN103514223B true CN103514223B (zh) | 2017-09-01 |
Family
ID=49896956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210223633.XA Active CN103514223B (zh) | 2012-06-28 | 2012-06-28 | 一种数据仓库数据同步方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514223B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9779128B2 (en) * | 2014-04-10 | 2017-10-03 | Futurewei Technologies, Inc. | System and method for massively parallel processing database |
CN105740248B (zh) * | 2014-12-09 | 2019-11-12 | 华为软件技术有限公司 | 一种数据同步方法、装置及系统 |
CN105812230B (zh) * | 2014-12-30 | 2019-05-07 | 杭州华为数字技术有限公司 | 一种关联信息的传输方法、装置及系统 |
CN106649056B (zh) * | 2015-07-16 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 一种数据检测方法和装置 |
CN106469158B (zh) * | 2015-08-17 | 2019-10-08 | 杭州海康威视系统技术有限公司 | 数据同步方法和装置 |
CN106294754B (zh) * | 2016-08-11 | 2020-04-14 | 武汉科优达科技有限公司 | 一种实现课程内容快捷录入的系统及方法 |
CN107145562B (zh) * | 2017-05-02 | 2020-07-28 | 北京奇艺世纪科技有限公司 | 一种数据同步方法、装置及系统 |
CN110232091B (zh) * | 2017-09-19 | 2021-10-15 | 北京京东尚科信息技术有限公司 | 用于同步数据的方法、系统和装置 |
CN107729106A (zh) * | 2017-10-09 | 2018-02-23 | 北京京东尚科信息技术有限公司 | 一种在应用程序组件间实现快速跳转的方法和装置 |
CN107678774A (zh) * | 2017-10-09 | 2018-02-09 | 用友网络科技股份有限公司 | 响应数据修改的方法、系统、计算机装置及可读存储介质 |
CN109739887A (zh) * | 2018-12-21 | 2019-05-10 | 平安科技(深圳)有限公司 | 同步任务搜索方法、系统、装置及可读存储介质 |
CN110362585B (zh) * | 2019-06-19 | 2021-11-26 | 东软集团股份有限公司 | 数据分析方法、装置,存储介质及电子设备 |
CN110442378B (zh) * | 2019-06-27 | 2024-01-05 | 平安科技(深圳)有限公司 | 接口文档的修改方法和系统 |
CN110457334A (zh) * | 2019-07-31 | 2019-11-15 | 北京三快在线科技有限公司 | 信息推送方法、装置、电子设备及可读存储介质 |
CN110532274B (zh) * | 2019-09-05 | 2022-02-08 | 恒生电子股份有限公司 | 配置联动方法及装置 |
CN110597821B (zh) * | 2019-09-20 | 2022-05-17 | 中国银行股份有限公司 | 数据仓库表结构变更方法及装置 |
CN110704398B (zh) * | 2019-09-30 | 2023-08-25 | 深圳前海环融联易信息科技服务有限公司 | 从MySQL到Oracle的数据库迁移方法、装置及计算机设备 |
CN111061740B (zh) * | 2019-12-17 | 2023-08-04 | 北京软通智慧科技有限公司 | 一种数据同步方法、设备和存储介质 |
CN113297157B (zh) * | 2020-02-24 | 2024-06-07 | 长鑫存储技术有限公司 | 机台文件处理方法及处理系统 |
CN113326242A (zh) * | 2020-02-28 | 2021-08-31 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
CN111967781B (zh) * | 2020-08-18 | 2024-04-16 | 中国银行股份有限公司 | 系统改造的影响评估方法及装置 |
CN112214473B (zh) * | 2020-09-23 | 2024-06-21 | 航天信息股份有限公司 | 一种数据库间的数据迁移方法及系统 |
CN112256672B (zh) * | 2020-10-22 | 2023-05-30 | 中国联合网络通信集团有限公司 | 数据库变更审批方法及装置 |
CN113836221B (zh) * | 2021-08-21 | 2024-07-26 | 济南浪潮数据技术有限公司 | 一种分布式存储系统的数据同步方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000619A (zh) * | 2006-12-25 | 2007-07-18 | 华为技术有限公司 | 基于sql的数据同步方法及装置 |
CN101005428A (zh) * | 2006-01-19 | 2007-07-25 | 华为技术有限公司 | 一种检测与解决数据同步冲突的实现方法 |
CN102098812A (zh) * | 2011-02-16 | 2011-06-15 | 中兴通讯股份有限公司 | 数据的同步方法及移动终端 |
-
2012
- 2012-06-28 CN CN201210223633.XA patent/CN103514223B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005428A (zh) * | 2006-01-19 | 2007-07-25 | 华为技术有限公司 | 一种检测与解决数据同步冲突的实现方法 |
CN101000619A (zh) * | 2006-12-25 | 2007-07-18 | 华为技术有限公司 | 基于sql的数据同步方法及装置 |
CN102098812A (zh) * | 2011-02-16 | 2011-06-15 | 中兴通讯股份有限公司 | 数据的同步方法及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN103514223A (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103514223B (zh) | 一种数据仓库数据同步方法和系统 | |
US10331706B1 (en) | Automatic discovery of new entities using graph reconciliation | |
US11544347B2 (en) | System for synchronization of changes in edited websites and interactive applications | |
US9633010B2 (en) | Converting data into natural language form | |
US8078582B2 (en) | Data change ordering in multi-log based replication | |
US20230195728A1 (en) | Column lineage and metadata propagation | |
JP5756386B2 (ja) | 動的なウェブ・アプリケーションの問題を修正するメタデータの生成・管理の支援方法、装置、およびプログラム | |
US8200702B2 (en) | Independently variably scoped content rule application in a content management system | |
US9165049B2 (en) | Translating business scenario definitions into corresponding database artifacts | |
US11615076B2 (en) | Monolith database to distributed database transformation | |
US9171051B2 (en) | Data definition language (DDL) expression annotation | |
US20080091742A1 (en) | System and method for detecting and updating geographical information dataset versions | |
US10621194B2 (en) | Automated harmonization of data | |
EP4006740A1 (en) | Method for indexing data in storage engines, and related device | |
US20130339787A1 (en) | Systematic failure remediation | |
US20160110471A1 (en) | Method and system of intelligent generation of structured data and object discovery from the web using text, images, video and other data | |
CN110083617B (zh) | 一种ddl语句的处理方法、装置、电子设备和介质 | |
US20210173844A1 (en) | Information processing apparatus and non-transitory computer readable medium storing program | |
CN117932074A (zh) | 一种基于数字化审计平台的审计知识图谱化系统 | |
US11954102B1 (en) | Structured query language query execution using natural language and related techniques | |
Jabeen et al. | Divided we stand out! Forging Cohorts fOr Numeric Outlier Detection in large scale knowledge graphs (CONOD) | |
Konstantinou et al. | An approach for the incremental export of relational databases into RDF graphs | |
CN118069701B (zh) | 反向查询链路的构建方法、装置、计算机设备及存储介质 | |
Fjällid | A comparative study of databases for storing sensor data | |
CN115840786B (zh) | 一种数据湖数据同步方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191209 Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands Patentee after: Innovative advanced technology Co., Ltd Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: Alibaba Group Holding Co., Ltd. |
|
TR01 | Transfer of patent right |