自动识别表的原数据变化的方法及装置与流程

文档序号:19015825发布日期:2019-11-01 19:45阅读:174来源:国知局
自动识别表的原数据变化的方法及装置与流程

本发明涉及数据库领域,具体而言,涉及一种自动识别表的原数据变化的方法及装置。



背景技术:

在数据治理过程中,大量的跑数据任务都是无人值守,自动启动,自动执行。而很多情况下,由于源端的表原数据(schema)变化后,而已经配置好的源端与目标端的映射关系并不会随之变化,就会造成跑数时按照配置的源端的原数据抽取数据时报错,导致任务报错,最终导致任务失败,影响正常的业务和系统。并且,等到任务再通过报警方式提醒运维人员,最佳解决时间已过,可能会影响用户的重要时间节点,从而降低了用户体验。



技术实现要素:

本发明实施例提供了一种自动识别表原数据变化的方法及装置,以至少解决相关技术中由于源端的表的原数据变化所导致的跑数据任务失败的问题。

根据本发明的一个实施例,提供了一种自动识别表的原数据变化的方法,包括:配置数据源的连接信息并启动定时程序,根据目标表映射的原始表去扫描原数据库中的原始表的原数据,并获取所述原数据库中的原始表的原数据信息;将获取的所述原始表的原数据信息和与目标表映射的原始表的原数据进行比较,如果它们之间不能完全匹配,则将变化后的原数据库中的原始表的原数据进行版本记录后存储;推送消息至运维人员告知原数据库中的原始表的原数据变化情况。

可选地,推送消息至运维人员告知原数据库中的原始表的原数据变化情况之后,还包括:启动一个新的定时程序,扫描原数据库中已变化的原始表的原数据,并将扫描结果与映射的原始表的原数据做比较,若有变化,并且与上次版本记录的的原数据一致时,不记录,若发生新的变化,则记录新的版本并推送消息至运维人员并告警。

可选地,该方法还包括:当再次扫描原数据库中的原始表的原数据时,发现其已经与映射关系的原始表的原数据保持一致,则取消告警并停止此项定时程序。

可选地,在推送消息至运维人员的同时,并在系统页面弹出告警信息。

根据本发明的另一个实施例,提供了一种自动识别表原数据变化的装置,包括:获取模块,用于配置数据源的连接信息并启动定时程序,根据目标表映射的原始表去扫描原数据库中的原始表的原数据,并获取所述原数据库中的原始表的原数据信息;第一比较模块,用于将获取的所述原始表的原数据信息和与目标表映射的原始表的原数据进行比较,如果它们之间不能完全匹配,则将变化后的原数据库中的原始表的原数据进行版本记录后存储;告警模块,用于推送消息至运维人员告知原数据库中的原始表的原数据变化情况。

可选地,该装置还包括:第二比较模块,用于启动一个新的定时程序,扫描原数据库中已变化的原始表的原数据,并将扫描结果与映射的原始表的原数据做比较,若有变化,并且与上次版本记录的原数据一致时,不记录,若发生新的变化,则记录新的版本并推送消息至运维人员并告警。

可选地,该装置还包括:停止模块,用于当再次扫描原数据库中的原始表的原数据时,发现其已经与映射关系的原始表的原数据保持一致,则取消告警并停止此项定时程序。

可选地,所述告警模块还用于,在推送消息至运维人员的同时,在系统页面弹出告警信息。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

在本发明上述实施例中,通过自动识别原始表的原数据变化,并通知相关运维系统运维人员,从而确保业务和系统的正常运行,以达到无人值守的任务运行环境。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据相关技术的目标表与原始表的映射关系示意图;

图2是根据本发明实施例的自动识别表原数据变化的方法流程图;

图3是根据本发明实施例的自动识别表原数据变化的方法流程图;

图4是根据本发明实施例自动识别表原数据变化的装置结构示意图;

图5是根据本发明可选实施例的自动识别表原数据变化的装置结构示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

如前文所描述的,在跑数据任务时,常常由于源端的表的原数据变化后,而已经配置好的源端与目标端的映射关系并不会随之变化,因而导致任务失败。例如,图1所示,假设有原始表y1,字段分别有y11、y12,目标表m1,字段有m11,m12。表映射配置为:y1映射到m1。字段映射配置为:y11映射到m11,y12映射到m12。当客户方的原始表y1删除一个字段y11后,而目标表m1的字段m11是取自y11字段,此时就会取不到y11,任务报错。

为此,在本实施例中提供了一种自动识别表原数据变化的方法,图2是根据本发明实施例的方法流程图,如图2所示,该流程包括如下步骤:

步骤s202,配置数据源的连接信息并启动定时程序,根据目标表映射的原始表去扫描原数据库中的原始表的原数据,并获取所述原数据库中的原始表的原数据信息;

步骤s204,将获取的所述原始表的原数据信息和与目标表映射的原始表的原数据进行比较,如果它们之间不能完全匹配,则将变化后的原数据库中的原始表的原数据进行版本记录后存储;

步骤s206,推送消息至运维人员告知原数据库中的原始表的原数据变化情况。

在本实施例的步骤s206之后,还可以包括:启动一个新的定时程序,扫描原数据库中已变化的原始表的原数据,并将扫描结果与映射的原始表的原数据做比较,若有变化,并且与上次版本记录的原数据一致时,不记录,若发生新的变化,则记录新的版本并推送消息至运维人员并告警。

在本实施例中,还可以包括:当再次扫描原数据库中的原始表的原数据时,发现其已经与映射关系的原始表的原数据保持一致,则取消告警并停止此项定时程序。

在本实施例中,在推送消息至运维人员的同时,还可以在系统首页弹出告警信息。

为了便于本发明的技术方案的理解,下面提供一个具体的实施例进行详细的描述。

在本实施例中,详细描述了通过定时扫描原始表,以自动识别原始表的原数据的变化,从而进行告警。如图3所示,本实施例包括如下步骤:

步骤s301,首先配置数据源的连接信息;

步骤s302,启动定时程序,根据目标表映射的原始表去扫描原始库中的相对应的原始表的原数据(schema),获得原始表的原数据信息;

步骤s303,将获取的原数据信息与目标表已经存在映射关系的原始表的原数据进行比较,如发现未变化,则执行步骤s311;若发现有变化,则执行步骤s304,

步骤s304,将变化后的原数据标记为第一个版本后进行存储;

步骤s305,推送消息至运维人员,告知变化的情况。例如:原始表增加了一个字段,并可在系统首页弹出告警信息;

步骤s306,后台启动一个新的定时程序(可设置较短时间),扫描原数据库中已变化的原始表的原数据;

步骤s307,将扫描结果与映射的原始表做比较,若发生变化,则执行步骤s308,如果当再次扫描发现,已经与映射关系的原数据保持一致,则执行步骤s309;

步骤s308,进一步与步骤s304中标记的版本进行比较,如果与上次记录版本的原数据一致时,则不记录,直接执行步骤s304,如果不一致,则执行步骤s310;

步骤s310,记录新的版本后,执行步骤s304。

步骤s309,取消告警;

步骤s311,停止此项定时程序。

在本发明的上述实施例中,通过自动识别的功能提前预知原始库表的原数据变化情况,减少数据治理跑数任务报错,真正实现无人值守的数据治理任务运行环境。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种自动识别表的原数据变化的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4是根据本发明实施例的自动识别表的原数据变化的装置的结构框图,如图4所示,该装置包括获取模块10、第一比较模块20和告警模块30。

获取模块10,用于配置数据源的连接信息并启动定时程序,根据目标表映射的原始表去扫描原数据库中的原始表的原数据,并获取所述原数据库中的原始表的原数据信息。

第一比较模块20,用于将获取的所述原始表的原数据信息和与目标表映射的原始表的原数据进行比较,如果它们之间不能完全匹配,则将变化后的原数据库中的原始表的原数据进行版本记录后存储。

告警模块30,用于推送消息至运维人员告知原数据库中的原始表的原数据变化情况。

图5是根据本发明实施例的自动识别表的原数据变化的装置的结构框图,如图5所示,该装置除包括图4所示的所有模块外,还包括第二比较模块40和停止模块50。

第二比较模块40,用于启动一个新的定时程序,扫描原数据库中已变化的原始表的原数据,并将扫描结果与映射的原始表的原数据做比较,若有变化,并且与上次版本记录的原数据一致时,不记录,若发生新的变化,则记录新的版本并推送消息至运维人员并告警。

停止模块50,用于当再次扫描原数据库中的原始表的原数据时,发现其已经与映射关系的原始表的原数据保持一致,则取消告警并停止此项定时程序。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1