CN116166673A - 数据处理方法及装置、电子设备、计算机可读存储介质 - Google Patents
数据处理方法及装置、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN116166673A CN116166673A CN202210843047.9A CN202210843047A CN116166673A CN 116166673 A CN116166673 A CN 116166673A CN 202210843047 A CN202210843047 A CN 202210843047A CN 116166673 A CN116166673 A CN 116166673A
- Authority
- CN
- China
- Prior art keywords
- data processing
- data
- rule
- source data
- target
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 250
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012795 verification Methods 0.000 claims abstract description 28
- 230000008859 change Effects 0.000 claims description 44
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012508 change request Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000013516 source data verification Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- 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
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种数据处理方法及装置、电子设备、计算机可读介质,该方法包括:获取待处理的源数据;获取与源数据对应的目标数据处理规则,目标数据处理规则为用于校验源数据是否满足数据处理条件的实时规则,目标数据处理规则通过预先同步规则库中的对应数据处理规则得到,规则库用于存储不同业务对应的数据处理规则,并根据接收到的规则变更请求,更新存储的与该规则变更请求对应的数据处理规则;根据目标数据处理规则对源数据进行校验,并对校验通过的源数据进行数据处理,获得目标数据。根据本公开的实施例可以在不需要变更数据处理编码的情况下对源数据进行数据处理以实时、高效的得到高质量的目标数据。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种数据处理方法及装置、电子设备、计算机可读存储介质。
背景技术
随着互联网技术的不断发展,各种业务应用中实时产生的业务数据越来越多,面对多变且复杂的实时业务场景,如何对业务应用产生的业务数据进行数据处理,例如,对数据治理(Data Governance),以向用户提供实时且高质量的数据成为亟待解决的问题。
目前,针对业务应用产生的业务数据,通常是使用批处理的方式基于数据处理应用中预先编写的数据处理规则对批量得到的一段时间范围内的业务数据进行筛选以及处理,这可能存在处理延迟、不够实时以及可能无法及时适配频繁变化的业务场景的问题。
发明内容
本公开提供一种数据处理方法及装置、电子设备、计算机可读存储介质。
第一方面,本公开提供了一种数据处理方法,该方法包括:
获取待处理的源数据;以及,
获取与所述源数据对应的目标数据处理规则,其中,所述目标数据处理规则为用于校验所述源数据是否满足数据处理条件的规则,所述目标数据处理规则通过预先同步规则库中的对应数据处理规则得到,所述规则库用于存储不同业务对应的数据处理规则,并根据接收到的规则变更请求,更新存储的与所述规则变更请求对应的数据处理规则;
根据所述目标数据处理规则对所述源数据进行校验,并对校验通过的源数据进行数据处理,获得目标数据。
第二方面,本公开提供了一种数据处理装置,该装置包括:
源数据获取单元,用于实时获取待处理的源数据;
处理规则获取单元,用于获取与所述源数据对应的目标数据处理规则,其中,所述目标数据处理规则为用于校验所述源数据是否满足数据处理条件的规则,所述目标数据处理规则通过预先同步规则库中的对应数据处理规则得到,所述规则库用于存储不同业务对应的数据处理规则,并根据接收到的规则变更请求,更新存储的与所述规则变更请求对应的数据处理规则;
处理单元,用于根据所述目标数据处理规则对所述源数据进行校验,并对校验通过的源数据进行数据处理,以获得目标数据。
第三方面,本公开提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的数据处理方法。
第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述的数据处理方法。
本公开所提供的实施例,在获取到待处理的源数据之后,获取通过预先同步规则库中的对应数据处理规则得到的、与该源数据对应的目标数据处理规则,并基于该目标数据处理规则对源数据进行校验并对校验通过的源数据进行数据处理,由于目标数据处理规则通过预先同步规则库中的对应数据处理规则获得,且该规则库支持在接收到规则变更请求的情况下,更新与该规则变更请求对应的数据处理规则,因此,该方法使得电子设备在不需要变更数据处理编码的情况下,即可以实时、高效的对源数据进行校验和数据处理,以得到高质量的目标数据。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的一种数据处理方法的流程图;
图2为本公开实施例提供的获取源数据的流程图;
图3为本公开实施例提供的获取目标数据处理规则的流程图;
图4为本公开实施例提供的缓存数据处理规则的流程图;
图5为本公开实施例提供的数据处理方法的处理框架示意图;
图6为本公开实施例提供的一种数据处理装置的框图;
图7为本公开实施例提供的一种电子设备的框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
在本公开实施例中,需要说明的是,数据处理包括数据治理、数据的增删查改等内容;示例性地,在进行数据治理时,一般是由业务应用先将实时产生的业务数据存储在业务数据库中,之后,会在每天的固定时刻利用数据抽取工具从业务数据库中抽取前一天应用产生的业务数据到Hadoop分布式文件***(HDFS,Hadoop Distributed File System)中并通过使用数据仓库工具hive创建外表进行映射数据,以供数据治理应用根据预先编码实现的数据治理规则对抽取完成的业务数据进行校验以及治理,其中,数据抽取工具例如可以为开源工具Sqoop、DataX等工具。该种数据处理方法实际是以批处理的方式对业务应用产生的业务数据进行数据治理,因此,其通常存在较严重的数据延迟问题,并且,由于用于数据治理的数据治理规则为固定编码实现,所以还存在不够方便无法快速实现业务迭代和即时响应业务需求的问题。
为解决上述问题,本公开实施例提供一种数据处理方法,请参看图1,其为本公开实施例提供的一种数据处理方法的流程图。该方法可以应用于电子设备中,该电子设备可以为服务器,该服务器可以为物理服务器,或者也可以为虚拟服务器;当然,随着技术的不断进步,该电子设备也可以为终端设备,即,也可以将该方法单独应用于终端设备中,例如,可以应用于边缘计算场景下的边缘终端设备中,此处不做特殊限定。
如图1所示,本公开实施例提供的数据处理方法包括如下步骤S101-S103,以下予以详细说明。
步骤S101,获取待处理的源数据。
源数据,是指由业务应用产生的、待进行数据处理的业务数据。
例如,源数据可以为业务应用实时产生并存储在业务数据库,例如mysql数据库中的数据。
在本公开实施例中,用于产生业务数据的业务应用可以为任意应用场景中的至少一应用,即,该源数据可以为多个数据源中的数据。
例如,用于产生源数据的业务应用可以为图像处理应用、语音处理应用、文本处理应用、视频处理应用等应用中的至少一种;相对应的,该源数据可以为图像、语音、文本、视频中的至少一种。
在本公开实施例中,如无特殊说明,以该源数据为文本数据,例如,为金融消费类应用产生的业务数据为例进行说明,该金融消费应用例如可以为金融借贷应用,该金融借贷应用用于向用户提供“借款”、“还款”等业务。
步骤S102,获取与源数据对应的目标数据处理规则,其中,目标数据处理规则为用于校验源数据是否满足数据处理条件的规则,该目标数据处理规则通过预先同步规则库中的对应数据处理规则得到,规则库用于存储不同业务对应的数据处理规则,并根据接收到的规则变更请求,更新存储的与该规则变更请求对应的数据处理规则。
目标数据处理规则为在当前时刻之前,预先从支持数据更新的规则库中同步得到的、与源数据对应的数据处理规则。
在本公开实施例中,规则库可以为mysql数据库,或者,也可以为其他数据库,此处不做特殊限定。
由于数据处理规则是存储在规则库中,并且该规则库可以在接收到规则变更请求的请求下,更新存储的与该规则变更请求对应的数据处理规则,因此,在本公开实施例中,用于校验源数据是否满足数据处理条件的数据处理规则可以是动态变更的,并且,由于目标数据处理规则是通过预先同步规则库中的对应数据处理规则得到,因此,基于本公开实施例提供的数据处理方法对源数据进行数据处理时,可以在不需要变更数据处理编码的情况下,及时响应业务场景需求。
例如,可以通过向用户提供配置数据处理规则的前端应用界面,以使得用户可以根据实时业务场景需求,通过在前端应用界面中配置最新时刻的数据处理规则,并向规则库发送规则变更请求,以动态变更对应的数据处理规则。
在规则库中的数据处理规则发生变更的情况下,实施本公开实施例数据处理方法的电子设备可以在检测到规则库中数据处理规则发生变更的情况下,预先获取该变更的规则并将其同步至缓存中,以使得缓存中时刻存储与源数据对应的、实时的目标数据处理规则。
通常,在业务应用运行过程中,由于应用运行原因或者网络传输原因可能会产生一些脏数据,例如异常业务数据或者无效业务数据,或者,也会产生一些不满足用户查看需求的业务数据,因此,为了减少数据处理量以提升数据处理速度,在进行数据处理的过程中一般设置数据处理规则,并基于数据处理规则先对源数据进行校验。
需要说明的是,本公开实施例中的数据处理规则可以为基于sql函数或者正则表达式中的任意一项实现的规则。
例如,可以设置内容为“timestamp<=currTime()”的数据处理规则,以校验源数据的生成时间戳是否不大于当前时间。
又例如,可以设置内容为“name.contain(‘name1,’name2’)”的数据处理规则,以仅对名字中包含“name1”或“name2”的源数据进行数据处理。
再例如,可以直接设置内容为“(timestamp<=currTime())&&name.contain(‘name1’,’name2’)”的数据处理规则,以仅对名字中包含“name1”或“name2”且生成时间戳小于或等于当前时间的源数据进行数据处理。
根据以上说明可知,在本公开实施例中,通过设置可以基于sql函数或者正则表达式实现的数据处理规则,不仅可以方便用户配置同时还可以方便后端直接基于该数据处理规则对待处理的源数据进行校验,进而可以大幅提升数据处理速度。
步骤S103,根据目标数据处理规则对源数据进行校验,并对校验通过的源数据进行数据处理,获得目标数据。
在经过步骤S102获取到与源数据对应的目标数据处理规则之后,即可基于该目标数据处理规则对源数据进行校验,并在校验通过的情况下对该源数据进行数据处理,例如,进行对应的转换处理,以转化得到方便用户查看的目标数据。
需要说明的是,在本公开实施例中,所述对校验通过的源数据进行数据处理,可以为按照预设规则对源数据进行转换处理,以将源数据转换为方便用户查看的目标数据。
例如,业务应用在生成源数据时,出于降低存储空间占用、方便业务逻辑处理等原因,源数据的数据类型和/或数据格式虽然方便电子设备内部进行计算,但可视性较差,因此,在基于目标数据处理规则对该源数据进行校验,并校验通过的情况下,可以对该校验通过的源数据进行格式转换、数据类型转换等转换处理中的至少一种,以得到可视性较佳的目标数据。当然,以上仅为对校验通过的源数据进行数据处理的一种实施方式,此处不做特殊限定。
由此可知,本公开实施例提供的数据处理方法,在获取到待处理的源数据之后,获取通过预先同步规则库中的对应数据处理规则得到的、与该源数据对应的目标数据处理规则,并基于该目标数据处理规则对源数据进行校验并对校验通过的源数据进行数据处理,由于目标数据处理规则通过预先同步规则库中的对应数据处理规则获得,且该规则库支持在接收到规则变更请求的情况下,更新与该规则变更请求对应的数据处理规则,因此,该方法使得电子设备在不需要变更数据处理编码的情况下,即可以实时、高效的对源数据进行校验和数据处理,以得到高质量的目标数据。
请参看图2,其为本公开实施例提供的获取源数据的流程图。即,在本公开实施例中,在执行上述步骤S101的过程中,所述获取待处理的源数据,具体可以包括以下步骤S201-S204。
步骤S201,通过第二检测器检测目标数据库的数据变更信息,其中,目标数据库用于存储不同业务对应的数据,第二检测器通过检测目标数据库对应的第二预设日志文件的变更信息得到数据变更信息。
第二检测器,可以为基于flink-cdc组件实现的、用于检测目标数据库中的数据变更信息的工具。
目标数据库例如可以为mysql数据库或者其他关系型数据库,此处不做特殊限定。
flink-cdc组件,是用于检测并捕获数据库的变更信息,例如,数据或数据表的***、更新以及删除等信息,并将这些变更信息按照发生顺序进行记录的组件。
需要说明的是,在该实施例中,所述通过第二检测器检测目标数据库的数据变更信息,具体可以为:通过第二检测器检测目标数据库对应的第二预设日志文件的变更信息,以获得该数据变更信息。
目标数据库对应的第二预设日志文件,是用于记录目标数据库的数据变更信息的日志文件。例如,在目标数据库为mysql数据库的情况下,该第二预设日志文件可以为mysql数据库的binlog日志文件。
步骤S202,根据该数据变更信息,获得目标数据库中发生变更的数据记录。
步骤S203,将发生变更的数据记录写入至第二消息队列;
第二消息队列,用于缓存基于数据变更信息所获得的发生变更的数据记录,以使得电子设备可以以流式处理的方式消费该发生变更的数据记录,并逐条进行处理,其中,该第二消息队列例如可以为kafka消息队列。
步骤S204,根据第二消息队列中该发生变更的数据记录,获得该源数据。
即,针对相关技术中基于批处理方式获取待处理的源数据并进行数据处理时可能存在延迟的问题,在本公开实施例中,通过第二检测器检测目标数据库的数据变更信息,并通过将基于该数据变更信息获得的发生变更的数据记录预先同步缓存至第二消息队列以及实时逐条进行获取并处理的方式,可以实现以流式方式对业务应用程序实时产生的源数据进行实时处理的效果;同时,由于是将获取到的发生变更的数据记录先存储至第二消息队列再逐条进行获取并处理,因此,该种实施方式还可以降低整个数据处理***中的数据处理并发量,达到增加***健壮性和保障***高可用的效果。
请参看图3,其为本公开实施例提供的获取目标数据处理规则的流程图。即,在本公开实施例中,在执行上述步骤S102的过程中,所述获取与源数据对应的目标数据处理规则,具体可以包括:步骤S301,获取源数据对应的业务标识;以及步骤S302,从缓存的多个数据处理规则中,获取与该业务标识对应的数据处理规则作为目标数据处理规则。
业务标识,是用于标识源数据所对应的业务和/或业务场景的数据标识。例如,可以使用“大分类-小分类”的形式来表示源数据对应的业务和业务场景。
即,根据上述步骤S101中的说明可知,在本公开实施例中,源数据可以为对应不同业务应用的数据;同时,考虑到在同一业务应用中,也可能存在不同的业务场景,例如,在金融消费应用程序中,可能同时存在“借款”、“还款”、“提额”及“延期”等多个业务场景,因此,为了提升数据处理的高可用性,以使得数据处理***可以同时支持对不同业务及业务场景的业务数据进行数据处理,在本公开实施例中,获取到的源数据中可以对应包含该源数据对应的业务标识;相对应地,数据处理规则中也可以包括与业务及业务场景对应的业务标识;当然,在具体实施时,也可以设置通用类型的数据处理规则,以同时对不同业务和业务场景的业务数据进行校验,此处不做特殊限定。
请参看图4,其为本公开实施例提供的缓存数据处理规则的流程图。如图4所示,在本公开实施例中,所述缓存中的任一数据处理规则可以通过以下步骤S401-S404获得。
步骤S401,通过第一检测器检测规则库的规则变更信息。
第一检测器与第二检测器的实现原理相似,例如,也可以是基于flink-cdc组件实现的用于检测规则库中的规则变更信息的工具。
该规则变更信息用于记录规则库中的规则或者数据表的变更信息。
其中,所述通过第二检测器检测规则库的规则变更信息,可以为:通过第一检测器检测规则库对应的第一预设日志文件的变更信息,以获得该规则变更信息。在该实施例中,该第一预设日志文件例如可以为binlog日志文件。
步骤S402,根据规则变更信息,获得规则库中发生变更的数据处理规则;
步骤S403,将发生变更的数据处理规则写入至第一消息队列;
第一消息队列,用于缓存发生变更的数据记录,以使得电子设备可以以流式处理的方式消费该发生变更的数据处理规则,并逐条进行处理,其中,该第一消息队列例如也可以为kafka消息队列。
步骤S404,根据第一消息队列中该发生变更的数据处理规则,对缓存中的数据进行更新,获得该数据处理规则。
根据以上说明可知,在本公开实施例中,在进行数据处理的过程中,通过第一检测器检测获取规则库中发生变更的数据处理规则并以通过从第一消息队列中获取并处理以对缓存中缓存的规则进行同步更新的方式,可以使得数据处理应用能够在运行过程中,支持数据处理规则的动态变更和同步更新至缓存中进行使用,从而使得实施该方法的电子设备可以实现快速业务迭代和即时响应业务需求的效果。
在以上说明中,是分别说明可以通过第一检测器实时监测规则库以达到保障缓存中时刻同步缓存最新的数据处理规则以及通过第二检测器实现及时获取源数据的效果;需要说明的是,在具体实施时,也可以将上述实施方式结合使用,以进一步提升该方法的高可用性,此处不做特殊限定。
另外,需要说明的是,在本公开实施例中,待处理的源数据中可以包括至少一个数据项,与该源数据对应的目标数据处理规则中也可以包括至少一个数据处理规则;每一个数据处理规则至少与一个数据项对应;在该种实施方式中,所述根据目标数据处理规则对源数据进行校验,可以为:对每一个数据项中的数据与对应的数据处理规则进行校验;在每一个数据项中的数据均校验通过的情况下,确定该源数据校验通过。
即,一条源数据可以对应多条数据处理规则,而每一条数据处理规则可以至少与源数据中的一个数据项对应。例如,源数据可以包括5个数据项,数据处理规则1可以用于校验一条源数据的数据项1的内容,数据处理规则2可以用于校验该源数据的数据项2的内容,若数据项1的内容满足数据处理规则1并且数据项2的内容满足数据处理规则2,则确定该源数据校验通过;否则,则确定该源数据校验不通过。
在一些实施例中,在源数据校验未通过的情况下,也可以将该源数据存储至HDFS中,并通过消息推送的方式供用户确认以及进行相应处理,此处不做特殊限定。
在一些实施例中,在基于目标数据处理规则校验源数据通过的情况下,为了降低数据处理并发量,也可以将校验通过的源数据先存储至第三消息队列中,以供后续的处理模块根据处理能力进行处理。
即,在该种实施方式中,所述通过对校验通过的源数据进行数据处理,以获得目标数据,具体可以为:从该第三消息队列中获取校验通过的源数据;通过对该校验通过的源数据进行对应数据转换处理,以获得目标数据。
此外,在经过上述方法获得目标数据之后,为了便于用户查看,该方法还包括:展示该目标数据。
在该实施方式中,在该方法应用于服务器的情况下,可以由该服务器先将该目标数据提供给用户所使用的终端设备,再由该终端设备展示该目标数据;或者,在该方法应用于终端设备,例如边缘计算设备的情况下,则可以由终端设备在得到该目标数据之后直接展示该目标数据以供用户查看。
当然,无论该方法的执行主体是服务器还是终端设备,在获得该目标数据之后,也可以不进行展示而是由该执行主体先将该目标数据缓存至第四消息队列,以供下游应用进行消费使用,此处不做特殊限定。
需要说明的是,以上所述第一消息队列、第二消息队列和第三消息队列可以为不同消息队列也可以为同一消息队列,其中,在该三个消息队列为同一消息队列的情况下,可以在将发生变更的数据处理规则、发生变更的数据记录以及校验通过的源数据写入至该消息队列时,设置其对应的消息类型,以供数据处理应用根据该消息类型消费不同类型的数据。
请参看图5,其为本公开实施例提供的数据处理方法的处理框架示意图。以下结合图5,对本公开实施例提供的数据处理方法进行说明。
如图5所示,在本公开实施例中,可以设置用于存储业务数据的目标数据库作为源数据的数据源,以及同时设置规则库作为数据处理规则的数据源。
在数据处理应用运行过程中,规则库可以接收用户通过前端应用界面配置的数据处理规则,并对其存储的对应数据处理规则进行更新和存储;基于flink-cdc组件实现的第一检测器通过检测规则库中的规则变更信息,获取发生变更的数据处理规则,并将该发生变更的数据处理规则写入至第一消息队列,以使得数据处理应用可以通过获取该第一消息队列中发生变更的数据处理规则,对缓存中的数据进行同步更新,以使得数据处理应用的缓存中可以时刻保持最新的数据处理规则,需要说明的是,在一些实施例中,该实时数据处理规则可以以mapstat等状态类型进行缓存。
同时,在***运行过程中,基于flink-cdc组件实现的第二检测器可以通过检测目标数据库中的数据变更信息,获得发生变更的数据记录,并通过将该发生变更的数据记录写入至第二消息队列,以使得***可以通过获取第二消息队列中该发生变更的数据记录,获取待处理的源处理进行数据处理。
针对获取到的待处理的源数据,可以根据该源数据的业务标识,从缓存的多个数据处理规则中,获取目标数据处理规则,并基于目标数据处理规则对源数据进行校验;若校验通过,则将校验通过的源数据写入至第三消息队列,以进行数据处理获得目标数据;而针对校验未通过的源数据,则可以将其存储至HDFS中,以供用户确认。
需要说明的是,在本公开实施例中,该数据处理方法可以通过基于Apache Flink分布式处理框架开发流计算flink作业应用的方式实现,或者,也可以基于其他流式作业框架实现,此处不做特殊限定。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了数据处理装置、电子设备、计算机可读存储介质,上述均可用来实现本公开提供的任一种数据处理方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图6为本公开实施例提供的一种数据处理装置的框图。
参照图6,本公开实施例提供了一种数据处理装置,该数据处理装置包括:源数据获取单元601、处理规则获取单元602和处理单元603。
该源数据获取单元601,用于获取待处理的源数据。
该处理规则获取单元602,用于获取与源数据对应的目标数据处理规则,其中,目标数据处理规则为用于校验源数据是否满足数据处理条件的规则,目标数据处理规则通过预先同步规则库中的对应数据处理规则得到,规则库用于存储不同业务对应的数据处理规则,并根据接收到的规则变更请求,更新存储的与该规则变更请求对应的数据处理规则。
该处理单元603,用于根据目标数据处理规则对源数据进行校验,并对校验通过的源数据进行数据处理,以获得目标数据。
在一些实施例中,该源数据获取单元601在获取待处理的源数据时,可以用于:通过第二检测器检测目标数据库的数据变更信息,其中,目标数据库用于存储不同业务对应的数据,第二检测器通过检测目标数据库对应的第二预设日志文件的变更信息得到数据变更信息;根据数据变更信息,获得目标数据库中发生变更的数据记录;将发生变更的数据记录写入至第二消息队列;通过获取第二消息队列中发生变更的数据记录,获得源数据。
在一些实施例中,该处理规则获取单元602在获取与源数据对应的目标数据处理规则时,可以用于:获取源数据对应的业务标识;从缓存的多个数据处理规则中,获取与业务标识对应的数据处理规则作为目标数据处理规则。
在一些实施例中,该装置600还包括处理规则同步单元,用于:通过第一检测器检测规则库的规则变更信息;根据规则变更信息,获得规则库中发生变更的数据处理规则;将发生变更的数据处理规则写入至第一消息队列;获取第一消息队列中发生变更的数据处理规则,以通过对缓存中的数据进行更新,获得该数据处理规则。
在一些实施例中,该同步单元在通过第一检测器检测规则库的规则变更信息时,可以用于:通过第一检测器检测所述规则库对应的第一预设日志文件的变更信息,以获得该规则变更信息。
在一些实施例中,源数据中包括至少一个数据项,目标数据处理规则包括至少一条数据处理规则;每一个数据处理规则至少与一个数据项对应;该处理单元603在根据目标数据处理规则对源数据进行校验时,可以用于:对每一个数据项中的数据与对应的数据处理规则进行校验;在每一个数据项中的数据均校验通过的情况下,确定源数据校验通过。
图7为本公开实施例提供的一种电子设备的框图。
参照图7,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器701;至少一个存储器702,以及一个或多个I/O接口703,连接在处理器701与存储器702之间;其中,存储器702存储有可被至少一个处理器701执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器701执行,以使至少一个处理器701能够执行上述的数据处理方法。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述的数据处理方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述数据处理方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读程序指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM)、静态随机存取存储器(SRAM)、闪存或其他存储器技术、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读程序指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里所描述的计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
这里参照根据本公开实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取待处理的源数据;以及,
获取与所述源数据对应的目标数据处理规则,其中,所述目标数据处理规则为用于校验所述源数据是否满足数据处理条件的规则,所述目标数据处理规则通过预先同步规则库中的对应数据处理规则得到,所述规则库用于存储不同业务对应的数据处理规则,并根据接收到的规则变更请求,更新存储的与所述规则变更请求对应的数据处理规则;
根据所述目标数据处理规则对所述源数据进行校验,对校验通过的源数据进行数据处理,获得目标数据。
2.根据权利要求1所述的方法,其特征在于,所述获取与所述源数据对应的目标数据处理规则,包括:
获取所述源数据对应的业务标识;
从缓存的多个数据处理规则中,获取与所述业务标识对应的数据处理规则作为所述目标数据处理规则。
3.根据权利要求2所述的方法,其特征在于,所述缓存中的任一数据处理规则通过以下步骤获得:
通过第一检测器检测所述规则库的规则变更信息;
根据所述规则变更信息,获得所述规则库中发生变更的数据处理规则;
将所述发生变更的数据处理规则写入至第一消息队列;
根据所述第一消息队列中所述发生变更的数据处理规则,对缓存中的数据进行更新,获得所述数据处理规则。
4.根据权利要求3所述的方法,其特征在于,所述通过第一检测器检测所述规则库的规则变更信息,包括:
通过所述第一检测器检测所述规则库对应的第一预设日志文件的变更信息,获得所述规则变更信息。
5.根据权利要求1所述的方法,其特征在于,所述获取待处理的源数据,包括:
通过第二检测器检测目标数据库的数据变更信息,其中,所述目标数据库用于存储不同业务对应的数据,所述第二检测器通过检测所述目标数据库对应的第二预设日志文件的变更信息得到所述数据变更信息;
根据所述数据变更信息,获得所述目标数据库中发生变更的数据记录;
将所述发生变更的数据记录写入至第二消息队列;
根据所述第二消息队列中所述发生变更的数据记录,获得所述源数据。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述源数据中包括至少一个数据项,所述目标数据处理规则包括至少一条数据处理规则;每一个数据处理规则至少与一个数据项对应;
所述根据所述目标数据处理规则对所述源数据进行校验,包括:
对每一个数据项中的数据与对应的数据处理规则进行校验;
在每一个数据项中的数据均校验通过的情况下,确定所述源数据校验通过。
7.根据权利要求6所述的方法,其特征在于,在所述源数据校验通过之后,所述方法还包括:
将所述校验通过的源数据存储至第三消息队列中;
所述通过对校验通过的源数据进行数据处理,以获得目标数据,包括:
从所述第三消息队列中获取所述校验通过的源数据;
通过对所述校验通过的源数据进行对应数据转换处理,以获得所述目标数据。
8.一种数据处理装置,其特征在于,包括:
源数据获取单元,用于获取待处理的源数据;
处理规则获取单元,用于获取与所述源数据对应的目标数据处理规则,其中,所述目标数据处理规则为用于校验所述源数据是否满足数据处理条件的规则,所述目标数据处理规则通过预先同步规则库中的对应数据处理规则得到,所述规则库用于存储不同业务对应的数据处理规则,并根据接收到的规则变更请求,更新存储的与所述规则变更请求对应的数据处理规则;
处理单元,用于根据所述目标数据处理规则对所述源数据进行校验,并对校验通过的源数据进行数据处理,以获得目标数据。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-7中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-7中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210843047.9A CN116166673A (zh) | 2022-07-18 | 2022-07-18 | 数据处理方法及装置、电子设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210843047.9A CN116166673A (zh) | 2022-07-18 | 2022-07-18 | 数据处理方法及装置、电子设备、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116166673A true CN116166673A (zh) | 2023-05-26 |
Family
ID=86420682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210843047.9A Pending CN116166673A (zh) | 2022-07-18 | 2022-07-18 | 数据处理方法及装置、电子设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166673A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117746999A (zh) * | 2024-02-20 | 2024-03-22 | 之江实验室 | 一种数据处理的方法、装置、存储介质及电子设备 |
-
2022
- 2022-07-18 CN CN202210843047.9A patent/CN116166673A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117746999A (zh) * | 2024-02-20 | 2024-03-22 | 之江实验室 | 一种数据处理的方法、装置、存储介质及电子设备 |
CN117746999B (zh) * | 2024-02-20 | 2024-05-03 | 之江实验室 | 一种数据处理的方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10897500B2 (en) | Synchronizing a device using push notifications | |
US11188560B2 (en) | Synchronizing object in local object storage node | |
AU2020327970B2 (en) | Distributed queueing over a redis cluster | |
US10216586B2 (en) | Unified data layer backup system | |
US20140214956A1 (en) | Method and apparatus for managing sessions of different websites | |
CN107040576A (zh) | 信息推送方法及装置、通讯*** | |
CN116166673A (zh) | 数据处理方法及装置、电子设备、计算机可读存储介质 | |
CN113742518A (zh) | 存储和提供视频的方法、设备和计算机程序产品 | |
CN111338834A (zh) | 数据存储方法和装置 | |
CN108055594B (zh) | 边缘切片的实现方法、装置、计算机设备及存储介质 | |
US20230055968A1 (en) | Filtering group messages | |
US9798626B2 (en) | Implementing change data capture by interpreting published events as a database recovery log | |
US11277300B2 (en) | Method and apparatus for outputting information | |
US20120023074A1 (en) | Scalable rule-based data synchronization systems and methods | |
US20150248499A1 (en) | Optimized read/write access to a document object model | |
CN110633332A (zh) | 数据仓库、数据更新和调用方法、装置及设备 | |
US9430477B2 (en) | Predicting knowledge gaps of media consumers | |
US11202130B1 (en) | Offline video presentation | |
US11487631B2 (en) | Data refresh in a replication environment | |
US11487931B1 (en) | Replaying a webpage based on virtual document object model | |
CN117193670B (zh) | 一种清除缓存的方法、装置、存储介质以及电子设备 | |
US10831573B2 (en) | Message processing | |
US10901944B2 (en) | Statelessly populating data stream into successive files | |
CN117609381A (zh) | 数据同步方法及装置、电子设备、计算机可读存储介质 | |
CN116932347A (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 |