CN115994132A - 数据清洗方法、装置、电子设备及介质 - Google Patents
数据清洗方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN115994132A CN115994132A CN202211546489.3A CN202211546489A CN115994132A CN 115994132 A CN115994132 A CN 115994132A CN 202211546489 A CN202211546489 A CN 202211546489A CN 115994132 A CN115994132 A CN 115994132A
- Authority
- CN
- China
- Prior art keywords
- rule
- rule configuration
- configuration file
- changed
- data
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据清洗方法、装置、电子设备及介质,涉及计算机技术领域。该方法包括:接收规则配置信息,并基于所述规则配置信息,生成规则配置文件;监听所述规则配置文件,以确定所述规则配置文件是否发生变更;在确定所述规则配置文件发生变更的情况下,基于变更的所述规则配置文件,更新本地规则池中的可执行规则;根据所述本地规则池中的可执行规则进行数据清洗,以执行数据清洗任务。该实施方式实现了动态监听数据清洗规则的变更,实现了在不重启数据清洗任务的情况下更新数据清洗任务,即实现了零延迟动态更新实时任务的目的,保证了实时任务的安全性、可靠性和实时性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据清洗方法、装置、电子设备及介质。
背景技术
Apache Flink是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。Flink通常被用来处理流式数据,有着众多的应用场景,例如时延敏感的实时监控报警、实时风控等业务场景。这些场景通常会涉及到实时任务的更新,若在任务启动初始化后更新任务,则需要停止任务、改变启动参数(即变更代码)、重启任务以让任务能够读取到修改后的配置。然而,实时任务重启会造成数据积压,数据积压会导致数据延迟,在数据实时性要求高的场景下影响重大。例如,在实时监控报警、实时风控等业务场景下,短暂的停止会造成监控报警不及时、风险感知延迟等重大问题,因此,在不重启实时任务的前提下实现更新显得尤为重要。
发明内容
为解决上述技术问题或至少部分地解决上述技术问题,本发明实施例提供一种数据清洗方法、装置、电子设备及介质。
第一方面,本发明实施例提供了一种数据清洗方法,包括:
接收规则配置信息,并基于所述规则配置信息,生成规则配置文件;
监听所述规则配置文件,以确定所述规则配置文件是否发生变更;
在确定所述规则配置文件发生变更的情况下,基于变更的所述规则配置文件,更新本地规则池中的可执行规则;
根据所述本地规则池中的可执行规则进行数据清洗,以执行数据清洗任务。
在可选的实施例中,所述规则配置信息包括以下一种或多种:数据过滤条件、数据输出主题和规则标识,其中,所述数据输出主题用于指示基于所述数据过滤条件过滤出的数据的存放位置。
在可选的实施例中,所述接收规则配置信息,包括:响应于任务选择操作,确定待更新的数据清洗任务;接收针对于所述待更新的数据清洗任务的规则配置信息。
在可选的实施例中,所述方法还包括:将所述规则配置文件下发至zookeeper规则配置中心;
所述监听所述规则配置文件,以确定所述规则配置文件是否发生变更,包括:监听所述zookeeper规则配置中心,以确定所述zookeeper规则配置中心内的规则配置文件是否发生变更。
在可选的实施例中,所述监听所述zookeeper规则配置中心,包括:通过curator监听的方式监听所述zookeeper规则配置中心。
在可选的实施例中,所述在确定所述规则配置文件发生变更的情况下,基于变更的所述规则配置文件,更新本地规则池中的可执行规则,包括:在确定所述规则配置文件发生变更的情况下,将变更的所述规则配置文件与所述本地规则池中的可执行规则进行比对,确定所述本地规则池中的待变更规则;基于变更的所述规则配置文件,对所述待变更规则进行更新。
第二方面,本发明实施例提供了一种数据清洗装置,包括:
规则管理模块,用于接收规则配置信息,并基于所述规则配置信息,生成规则配置文件;
监听模块,用于监听所述规则配置文件,以确定所述规则配置文件是否发生变更;
更新模块,用于在确定所述规则配置文件发生变更的情况下,基于变更的所述规则配置文件,更新本地规则池中的可执行规则;
数据清洗模块,用于根据所述本地规则池中的可执行规则进行数据清洗,以执行数据清洗任务。
在可选的实施例中,所述规则管理模块还用于:响应于任务选择操作,确定待更新的数据清洗任务;接收针对于所述待更新的数据清洗任务的规则配置信息。
在可选的实施例中,所述规则管理模块还用于:将所述规则配置文件下发至zookeeper规则配置中心;
所述监听模块还用于:监听所述zookeeper规则配置中心,以确定所述zookeeper规则配置中心内的规则配置文件是否发生变更。
在可选的实施例中,所述监听模块还用于通过curator监听的方式监听所述zookeeper规则配置中心。
在可选的实施例中,所述更新模块还用于:在确定所述规则配置文件发生变更的情况下,将变更的所述规则配置文件与所述本地规则池中的可执行规则进行比对,确定所述本地规则池中的待变更规则;基于变更的所述规则配置文件,对所述待变更规则进行更新。
第三方面,本发明实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的数据清洗方法。
第四方面,本发明实施例还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的数据清洗方法。
上述发明中的一个实施例具有如下优点或有益效果:
本发明实施例的数据清洗方法,通过接收规则配置信息,并基于规则配置信息,生成规则配置文件;在监听到规则配置文件发生变更的情况下,基于变更的规则配置文件,更新本地规则池中的可执行规则;根据本地规则池中的可执行规则,进行数据清洗,以执行数据清洗任务的方式,即通过将数据清洗规则配置化,在需要变更数据清洗规则时只需要变更该规则对应的配置信息即可,不需要暂停、重启数据清洗任务,实现动态监听数据清洗规则的变更,在确定数据清洗规则变更的情况下及时更新本地的数据清洗规则,从而基于更新后的本地的数据清洗规则进行数据清洗,实现了在不重启数据清洗任务的情况下更新数据清洗任务,即零延迟动态更新实时任务的目的,保证了实时任务的安全性、可靠性和实时性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1示出了本发明实施例的数据清洗方法的主要流程的示意图;
图2示出了本发明另一实施例的数据清洗方法的流程示意图;
图3示出了本发明实施例的数据清洗方法的子流程的示意图;
图4示出了本发明实施例的数据清洗方法的另一子流程的示意图;
图5示出了本发明实施例的数据清洗装置的结构示意图;
图6示出了本发明电子设备的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
图1示出了本发明实施例的数据清洗方法的流程示意图,如图1所示,该方法包括:
步骤S101:接收规则配置信息,并基于所述规则配置信息,生成规则配置文件。
其中,可以通过可视化交互界面接收来自用户的规则配置信息。该规则配置信息用于生成清洗数据的逻辑规则。在可选的实施例中,该规则配置信息可以包括以下一种或多种:数据过滤条件、数据输出主题和规则标识。数
据过滤条件用于清洗源数据中不需要的数据,过滤出满足条件的数据。数据5输出主题用于指示基于数据过滤条件过滤出的数据的存放位置。规则标识用
于唯一指示数据清洗规则,该规则标识可以是数据清洗规则的ID。作为具体的示例,若需要将消费金额小于50且用户标识大于500的用户的客户端日志筛选出来并写入指定的位置,则需要配置的数据过滤条件可以是:
dataSource.getAmount<50&&dataSource.getId>500。其中,getAmount是0指消费金额,dataSource是指用户标识。数据输出标题(topic)可以是amount_smaller_50_and_id_bigger_500。规则标识可以是用户指定的名称例如aaa,也可以是系统自动生成的ID,本发明在此不做限制。基于上述数据过滤条件、数据输出主题和规则标识,生成的规则配置文件可以如下所示:
"aaa":{
5"condition":"dataSource.getAmount<50&&dataSource.getId>
500",
"targetTopic":"amount_smaller_50_and_id_bigger_500"
}
步骤S102:监听所述规则配置文件,以确定所述规则配置文件是否发0生变更。
在本步骤中,规则配置文件发生变更可以包括以下情况:新增规则配置文件、修改规则配置文件或删除规则配置文件。在确定规则配置文件是否发生变更时,可以通过规则配置文件的修改时间以及数量来判断规则配置文件
是否发生变更,若规则配置文件的修改时间发生变更,则确定修改了规则配5置文件,若规则配置文件的数量发生变更,则确定新增了规则配置文件或删
除了规则配置文件。
步骤S103:在确定所述规则配置文件发生变更的情况下,基于变更的所述规则配置文件,更新本地规则池中的可执行规则。
其中,本地规则池用于存储本地的数据清洗规则。本地规则池中的数据清洗规则是对规则配置文件编译后代码可执行的规则。当确定存储在线上的规则配置文件发生变更的情况下,基于变更的规则配置文件更新本地规则池中的可执行规则,使得本地的数据清洗规则与线上的数据清洗规则保持一致,保证本地的数据清洗规则是最新的。规则配置文件的变更包括增加、修改、删除,相应地,可执行规则的变更同样包括增加、修改、删除。例如,规则配置文件的变更为增加,则基于变更的规则配置文件,可以在本地规则池中增加相应的可执行规则;规则配置文件的变更为修改,则基于变更的规则配置文件,可以在本地规则池中修改相应的可执行规则;规则配置文件的变更为删除,则基于变更的规则配置文件,可以在本地规则池中删除相应的可执行规则。
步骤S104:根据所述本地规则池中的可执行规则进行数据清洗,以执行数据清洗任务。
在基于变更的规则配置文件,更新本地规则池中的可执行规则时,可以先阻塞数据清洗任务。在本地规则池中的可执行规则更新完成后,针对每一条源数据,遍历本地规则池中的可执行规则,并按照可执行规则进行数据清洗,以完成数据清洗任务。
本发明实施例的数据清洗方法,通过接收规则配置信息,并基于规则配置信息,生成规则配置文件;在监听到规则配置文件发生变更的情况下,基于变更的规则配置文件,更新本地规则池中的可执行规则;根据本地规则池中的可执行规则,进行数据清洗,以执行数据清洗任务的方式,实现了动态监听数据清洗规则的变更,实现了在不重启数据清洗任务的情况下更新数据清洗任务,即实现了零延迟动态更新实时任务的目的,保证了实时任务的安全性、可靠性和实时性。
图2示出了本发明另一实施例的数据清洗方法的流程示意图,如图2所示,该数据清洗方法包括:
步骤S201:通过规则管理平台接收规则配置信息,并基于所述规则配置信息,生成规则配置文件。
在本实施例中,规则管理平台可以用于对数据清洗规则进行配置和管理,用户可以在规则管理平台数据清洗规则进行配置,生成规则配置信息。规则管理平台基于该规则配置信息规则配置文件。通过规则管理平台配置、管理数据清洗规则,可以使得数据清洗规则的配合流程化、简易化。
图3示出了通过规则管理平台配置数据清洗规则的流程示意图。如图3所示,该过程包括:
步骤S301:响应于用户的登录操作,登录规则管理平台,以通过规则管理平台展示规则配置界面。
步骤S302:响应于用户在该规则配置界面上的任务选择操作,确定待更新的数据清洗任务。
步骤S303:接收规则配置信息,该规则配置信息包括数据过滤条件、数据输出主题和规则标识,数据输出主题用于指示基于数据过滤条件过滤出的数据的存放位置。
在本实施例中,用户在规则管理平台的登录界面输入登录信息(例如登录名和密码),登录规则管理平台。该规则管理平台可以展示规则配置界面(也可以称为规则管理界面)。在规则配置界面,用户可以输入配置信息,如数据过滤条件、数据输出主题和规则标识等,也可以查看、修改、删除已配置的规则配置信息。在规则配置界面上,还可以将数据清洗任务与规则配置信息绑定,以便于查看各个数据清洗任务对应的规则配置信息。当需要变更某个数据清洗任务对应的规则配置信息时,用户可以在规则配置界面上选中待变更的数据清洗任务,响应于用户的任务选择操作,将用户选中的数据清洗任务作为待变更的数据清洗任务,展示该待变更的数据清洗任务对应的规则配置信息。在展示出待更新的规则配置信息后,用户根据需求可以增加新的规则配置信息,也可以修改或删除已有的规则配置信息。规则管理平台响应于用户的增加操作或修改操作,接收用户输入的规则配置信息。
本实施例中可以通过规则管理平台配置、更新不同的规则配置信息,以实现配置、更新数据清洗规则。
步骤S202:将所述规则配置文件下发至zookeeper规则配置中心。
在本实施例中,数据清洗任务可以是flink实时任务,由于flink实时任务是分布式的,存在多个任务节点同时执行任务。为保证多个任务节点监听到的规则配置文件是一致的,则可以将规则管理平台内的所有规则配置文件下发到zookeeper规则配置中心。
步骤S203:监听所述zookeeper规则配置中心,以确定所述zookeeper规则配置中心内的规则配置文件是否发生变更。
在可选的实施例中,可以通过轮询的方式监听zookeeper规则配置中心,例如每隔1分钟读取一次zookeeper规则配置中心的数据清洗规则,判断本次读取的数据清洗规则的修改时间以及数量是否与前一次读取的数据清洗规则的修改时间以及数量是否一致,若不一致,则确定zookeeper规则配置中心内的规则配置文件发生了变更。
在其他可选的实施例中,也可以通过curator监听的方式监控zookeeper规则配置中心。通过curator监听的方式监控zookeeper规则配置中心的主要过程可以包括:将curator与zookeeper规则配置中心进行连接;配置监听节点;注册监听;开启监听。其中,curator是Netflix公司开源的一套zookeeper客户端框架,解决了很多zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和Node Exists Exception异常等等。
步骤S204:在确定所述规则配置文件发生变更的情况下,基于变更的所述规则配置文件,更新本地规则池中的可执行规则。
步骤S205:根据所述本地规则池中的可执行规则行数据清洗,以执行数据清洗任务。
在确定zookeeper规则配置中心内的规则配置文件发生变更的情况下,对数据清洗任务进行阻塞,同时拉取zookeeper规则配置中心内变更的规则配置文件,与本地规则池中的可执行规则进行比对,确定本地规则池中的待变更可执行规则,然后基于zookeeper规则配置中心内变更的规则配置文件,变更本地规则池中的待变更可执行规则。
其中,本实施例中zookeeper规则配置中心内的规则配置文件变更包括:新增规则配置文件,修改规则配置文件,删除规则配置文件。当zookeeper规则配置中心内新增规则配置文件时,将新增的规则配置文件添加至本地规则池。当zookeeper规则配置中心内修改规则配置文件时,基于修改的规则配置文件变更本地规则池内的可执行规则。具体的,在将zookeeper规则配置中心内变更的规则配置文件与本地规则池中的可执行规则进行比对时,可以根据规则标识,确定本地规则池中与变更的规则配置文件对应的待变更可执行规则。在确定待变更可执行规则后,解析该待变更可执行规则,确定该待变更可执行规则的数据过滤条件和数据输出主题,将该待变更可执行规则的数据过滤条件与变更的规则配置文件的数据过滤条件进行比对,将该待变更可执行规则的数据输出主题与变更的规则配置文件的数据输出主题进行比对,若不一致,则修改待变更可执行规则的数据过滤条件和/或数据输出主题,以对该待变更可执行规则进行变更。在修改待变更可执行规则的数据过滤条件和/或数据输出主题完成后,对变更后的数据过滤条件和/或数据过滤条件进行编译,将其编译成可执行规则(如类class可执行规则)。当zookeeper规则配置中心内删除某条规则配置文件时,将本地规则池内对应的可执行规则删除。
在可选的实施例中,也可以在本地存储本地规则池内的可执行规则的规则配置文件,在监测到zookeeper规则配置中心内的规则配置文件发生变更后,将zookeeper规则配置中心内变更的规则配置文件与本地存储的规则配置文件进行比对,从而对本地存储的规则配置文件进行变更。在对本地存储的规则配置文件进行变更后,对变更的规则配置文件进行编译,生成可执行规则,并替换本地规则池内对应的可执行规则。
对规则配置文件进行编译时,可以利用但不限于以下编译引擎:Groovy、jython、mvel2、freemarker、janino。
作为具体的示例,如图4所示,对规则配置文件编译生成可执行规则,并调用可执行规则进行数据清洗的过程可以包括如下步骤:
步骤S401:定义数据清洗接口;
步骤S402:加载规则配置文件,解析规则配置文件,获得数据过滤条件和数据输出主题;
步骤S403:通过编译引擎对数据过滤条件和数据输出主题进行编译,获得可执行规则;
步骤S404:通过反射机制加载编译完成的可执行规则;其中,反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。这种动态获取的信息以及动态调用对象的方法的功能称为反射机制。
步骤S405:调用可执行规则进行数据清洗,以完成数据清洗任务。
在本地规则池内的可执行规则变更完成后,针对每一条源数据,遍历本地规则池中的可执行规则,并按照可执行规则进行数据清洗,以完成数据清洗任务。
本发明实施例的数据清洗方法,通过接收规则配置信息,并基于规则配置信息,生成规则配置文件;在监听到规则配置文件发生变更的情况下,基于变更的规则配置文件,更新本地规则池中的可执行规则;根据本地规则池中的可执行规则,进行数据清洗,以执行数据清洗任务的方式,即通过将数据清洗规则配置化,在需要变更数据清洗规则时只需要变更该规则对应的配置信息即可,不需要暂停、重启数据清洗任务,实现动态监听数据清洗规则的变更,在确定数据清洗规则变更的情况下及时更新本地的数据清洗规则,从而基于更新后的本地的数据清洗规则进行数据清洗,实现了在不重启数据清洗任务的情况下更新数据清洗任务,即零延迟动态更新实时任务的目的,保证了实时任务的安全性、可靠性和实时性。
为便于理解本发明实施例的数据清洗方法,以基于flink构造的实时的数据清洗任务为例进行说明。
(1)基于规则管理平台接收用户输入的规则配置信息,基于该规则配置信息,生成规则配置文件。该规则配置信息可以用于增加数据清洗规则。该规则配置信息可以包括数据过滤规则、数据输出主题(topic)和数据标识。
例如,数据清洗规则为将消费金额小于50,并且id>500的用户的客户端日志写入名称为:amount_smaller_50_and_id_bigger_500的主题中。针对该数据清洗规则,用户需要在规则配置平台配置以下三项内容:
数据过滤条件:即上游每一条数据过来之后检验这条数据是否满足过滤条件:dataSource.getAmount<50&&dataSource.getId>500
数据输出主题,即上述数据过滤条件过滤出的数据要写入的topic(主题)的名称,上述示例的数据输出主题为amount_smaller_50_and_id_bigger_500。
规则标识:用于唯一指示一条数据清洗规则,该规则标识可以是系统生成的ID,也可以是按照标识生成策略生成的唯一标识。上述示例的规则标识例如可以是1123。
基于上述规则配置信息,生成的规则配置文件如下:
"1123":{
"condition":"dataSource.getAmount<50&&dataSource.getId>500",
"targetTopic":"amount_smaller_50_and_id_bigger_500"
}
在本步骤中通过规则管理平台可以对数据清洗规则的配置流程化、简易化,同时方便对清洗规则进行管理。
(2)将规则配置文件下发到zookeeper规则配置中心。
由于基于flink构造的数据清洗任务是分布式的,会有多个任务节点同时执行任务,因此保证多个任务节点监听到的规则配置文件一致尤为重要。zookeeper是一个为分布式应用提供一致性服务的软件,规则管理平台将规则配置文件加载到zookeeper中,能够保证数据清洗任务各个节点监听到的规则配置文件相同。
(3)实时监听zookeeper规则中心。
在监控zookeeprer规则中心时有两种方式:
方式一:通过轮询的方式去读取zookeeper规则中心内的数据清洗规则,比如每5分钟去读取一次。
方式二:通过curator监听的方式监控zookeeper规则中心内的数据清洗规则。
相对于方式一,方式二在规则配置文件发生变更时能够立即监听到,实时性较高,能够保证在数据清洗规则发生变化时,零延迟更新数据清洗规则。
(4)在监听到zookeeper规则中心内的规则配置文件发生变更的情况下,拉取zookeeper规则中心内的规则配置文件,将zookeeper规则中心内的规则配置文件与本地规则池内的可执行规则进行比对,确定本地规则池内需要变更的可执行规则。当监听到的zookeeper规则中心内的数据清洗规则变更为增加,则在本地规则池中增加相应的可执行规则。当监听到的zookeeper规则中心内的数据清洗规则变更为修改,则在本地规则池中修改相应的可执行规则。当监听到的zookeeper规则中心内的数据清洗规则变更为删除,则在本地规则池中删除相应的可执行规则。
在变更本地规则池内的可执行规则期间,需要阻塞数据清洗任务,直至本地规则池内的可执行规则变更完成。
(5)在本地规则池内的可执行规则变更完成后,针对每一条源数据,遍历本地规则池中的可执行规则,并按照可执行规则进行数据清洗,以完成数据清洗任务。
本发明实施例的数据清洗方法,通过动态监听数据清洗规则的变更,取代了传统的任务停止、任务更新、任务启动的上线流程,实现了在不停止flink实时任务的情况下实现任务的更新,实现了实时任务永不停止,保证了实时任务的安全性、可靠性和实时性。
图5示出了本发明实施例的数据清洗装置500的结构示意图,如图5所示,该装置500包括:
规则管理模块501,用于接收规则配置信息,并基于所述规则配置信息,生成规则配置文件;
监听模块502,用于监听所述规则配置文件,以确定所述规则配置文件是否发生变更;
更新模块503,用于在确定所述规则配置文件发生变更的情况下,基于变更的所述规则配置文件,更新本地规则池中的可执行规则;
数据清洗模块504,用于根据所述本地规则池中的可执行规则进行数据清洗,以执行数据清洗任务。
本发明实施例的数据清洗装置,通过接收规则配置信息,并基于规则配置信息,生成规则配置文件;在监听到规则配置文件发生变更的情况下,基于变更的规则配置文件,更新本地规则池中的可执行规则;根据本地规则池中的可执行规则,进行数据清洗,以执行数据清洗任务的方式,即通过将数据清洗规则配置化,在需要变更数据清洗规则时只需要变更该规则对应的配置信息即可,不需要暂停、重启数据清洗任务,实现动态监听数据清洗规则的变更,在确定数据清洗规则变更的情况下及时更新本地的数据清洗规则,从而基于更新后的本地的数据清洗规则进行数据清洗,实现了在不重启数据清洗任务的情况下更新数据清洗任务,即零延迟动态更新实时任务的目的,保证了实时任务的安全性、可靠性和实时性。
在可选的实施例中,所述规则管理模块还用于:响应于任务选择操作,5确定待更新的数据清洗任务;接收针对于所述待更新的数据清洗任务的规则
配置信息。
在可选的实施例中,所述规则管理模块还用于:响应于任务选择操作,确定待更新的数据清洗任务;接收针对于所述待更新的数据清洗任务的规则配置信息。
0在可选的实施例中,所述规则管理模块还用于:将所述规则配置文件下
发至zookeeper规则配置中心;
所述监听模块还用于:监听所述zookeeper规则配置中心,以确定所述zookeeper规则配置中心内的规则配置文件是否发生变更。
在可选的实施例中,所述监听模块还用于通过curator监听的方式监听5所述zookeeper规则配置中心。
在可选的实施例中,所述更新模块还用于:在确定所述规则配置文件发生变更的情况下,将变更的所述规则配置文件与所述本地规则池中的可执行规则进行比对,确定所述本地规则池中的待变更规则;基于变更的所述规则配置文件,对所述待变更规则进行更新。
0上述装置可执行本发明实施例所提供的方法,具备执行方法相应的功能
模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口5 602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
接收规则配置信息,并基于所述规则配置信息,生成规则配置文件;
监听所述规则配置文件,以确定所述规则配置文件是否发生变更;
在确定所述规则配置文件发生变更的情况下,基于变更的所述规则配置文件,更新本地规则池中的可执行规则;
根据所述本地规则池中的可执行规则进行数据清洗,以执行数据清洗任务。
上述终端提到的通信总线604可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线604可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口602用于上述终端与其他设备之间的通信。
存储器603可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器601的存储装置。
上述的处理器601可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读介质,该计算机可读介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据清洗方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据清洗方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据清洗方法,其特征在于,包括:
接收规则配置信息,并基于所述规则配置信息,生成规则配置文件;
监听所述规则配置文件,以确定所述规则配置文件是否发生变更;
在确定所述规则配置文件发生变更的情况下,基于变更的所述规则配置文件,更新本地规则池中的可执行规则;
根据所述本地规则池中的可执行规则进行数据清洗,以执行数据清洗任务。
2.根据权利要求1所述的方法,其特征在于,所述规则配置信息包括以下一种或多种:数据过滤条件、数据输出主题和规则标识,其中,所述数据输出主题用于指示基于所述数据过滤条件过滤出的数据的存放位置。
3.根据权利要求1所述的方法,其特征在于,所述接收规则配置信息,包括:
响应于任务选择操作,确定待更新的数据清洗任务;
接收针对于所述待更新的数据清洗任务的规则配置信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述规则配置文件下发至zookeeper规则配置中心;
所述监听所述规则配置文件,以确定所述规则配置文件是否发生变更,包括:
监听所述zookeeper规则配置中心,以确定所述zookeeper规则配置中心内的规则配置文件是否发生变更。
5.根据权利要求4所述的方法,其特征在于,所述监听所述zookeeper规则配置中心,包括:
通过curator监听的方式监听所述zookeeper规则配置中心。
6.根据权利要求1或3所述的方法,其特征在于,所述在确定所述规则配置文件发生变更的情况下,基于变更的所述规则配置文件,更新本地规则池中的可执行规则,包括:
在确定所述规则配置文件发生变更的情况下,将变更的所述规则配置文件与所述本地规则池中的可执行规则进行比对,确定所述本地规则池中的待变更规则;
基于变更的所述规则配置文件,对所述待变更规则进行更新。
7.一种数据清洗装置,其特征在于,包括:
规则管理模块,用于接收规则配置信息,并基于所述规则配置信息,生成规则配置文件;
监听模块,用于监听所述规则配置文件,以确定所述规则配置文件是否发生变更;
更新模块,用于在确定所述规则配置文件发生变更的情况下,基于变更的所述规则配置文件,更新本地规则池中的可执行规则;
数据清洗模块,用于根据所述本地规则池中的可执行规则进行数据清洗,以执行数据清洗任务。
8.根据权利要求7所述的装置,其特征在于,所述规则管理模块还用于:
响应于任务选择操作,确定待更新的数据清洗任务;
接收针对于所述待更新的数据清洗任务的规则配置信息。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211546489.3A CN115994132A (zh) | 2022-12-02 | 2022-12-02 | 数据清洗方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211546489.3A CN115994132A (zh) | 2022-12-02 | 2022-12-02 | 数据清洗方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115994132A true CN115994132A (zh) | 2023-04-21 |
Family
ID=85994633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211546489.3A Pending CN115994132A (zh) | 2022-12-02 | 2022-12-02 | 数据清洗方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115994132A (zh) |
-
2022
- 2022-12-02 CN CN202211546489.3A patent/CN115994132A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11533231B2 (en) | Configuration and management of scalable global private networks | |
US10430735B2 (en) | Designer tool for managing cloud computing services | |
US9811443B2 (en) | Dynamic trace level control | |
CN108416449B (zh) | 一种运维方法和装置 | |
US20210168056A1 (en) | Configuration and management of scalable global private networks | |
WO2015058216A1 (en) | Event-driven data processing system | |
CN112905323B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US20210168036A1 (en) | Configuration and management of scalable global private networks | |
CN115422063A (zh) | 一种低代码接口自动化系统、电子设备及存储介质 | |
CN111831567B (zh) | 应用的测试环境配置方法、装置、系统和介质 | |
CN113792008A (zh) | 网络拓扑结构的获取方法、装置、电子设备及存储介质 | |
EP3489776A1 (en) | Control device, control method, and program | |
CN113760677A (zh) | 异常链路分析方法、装置、设备及存储介质 | |
CN107577527B (zh) | 任务生成、调度方法及装置 | |
CN114531373A (zh) | 节点状态检测方法、节点状态检测装置、设备及介质 | |
US20130204921A1 (en) | Diagnostics agents for managed computing solutions hosted in adaptive environments | |
US10999169B1 (en) | Configuration and management of scalable global private networks | |
CN111078418B (zh) | 操作同步方法、装置、电子设备及计算机可读存储介质 | |
US10922145B2 (en) | Scheduling software jobs having dependencies | |
CN115994132A (zh) | 数据清洗方法、装置、电子设备及介质 | |
CN114090268B (zh) | 容器管理方法及容器管理系统 | |
CN112418796B (zh) | 子流程任务节点激活方法、装置、电子设备及存储介质 | |
CN112099879B (zh) | 配置信息管理方法、装置、计算机设备及存储介质 | |
CN112783757B (zh) | 测试系统、方法、计算机系统和计算机可读存储介质 | |
CN112732415B (zh) | 基于资源交换代理系统的事务处理方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |