CN115878660A - 多源异构数据处理方法和装置、电子设备和存储介质 - Google Patents
多源异构数据处理方法和装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115878660A CN115878660A CN202310120515.4A CN202310120515A CN115878660A CN 115878660 A CN115878660 A CN 115878660A CN 202310120515 A CN202310120515 A CN 202310120515A CN 115878660 A CN115878660 A CN 115878660A
- Authority
- CN
- China
- Prior art keywords
- script
- target code
- code segment
- data processing
- source heterogeneous
- 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
技术领域
本申请涉及数据处理技术领域,尤其涉及一种多源异构数据处理方法和装置、电子设备和存储介质。
背景技术
随着企业数据量的暴增以及数据结构的多样化,数据分析面临着更多复杂的问题。原始业务数据分散在多个异构数据库中存储,不同的数据应用场景对分析结果查询有不同的性能要求,多源、异构是大数据处理面临的主要难题。而目前流行的大数据处理平台在针对多源异构数据处理时通常采用分步走的方式,将多源异构数据处理脚本拆分为任务流程的多个执行节点,数据转化为同源数据后再进行数据处理和计算。
这种方案虽然也可以得到计算结果,但是每个节点在执行后都需要将结果固化到中间库中才能保障完整的流程执行和输出结果,而事实上用户并不需要中间数据,但这部分数据又往往比最终的计算结果占用了更大的存储资源。与此同时将脚本拆分为多个执行节点并编排成任务流程除了要求数据开发工程师熟悉各种数据组件的操作外还要求他们熟知各个业务数据的存储和平台资源的分配,这是对数据开发工程的更高要求。
因此,相关技术在对多源异构数据处理时存在占用较多存储资源以及技术实现时对技术人员的专业能力要求过高的问题。
发明内容
本申请提供了一种多源异构数据处理方法和装置、电子设备和存储介质,以至少解决相关技术在对多源异构数据处理时存在占用较多存储资源以及技术实现时对技术人员的专业能力要求过高的问题。
根据本申请实施例的一个方面,提供了一种多源异构数据处理方法,该方法包括:
获取待处理多源异构数据处理脚本,其中,待处理多源异构数据处理脚本中包含一种或多种数据库语言;
对所述待处理多源异构数据处理脚本进行切割,直到得到最小单元的目标代码段,其中,所述目标代码段能够被至少一种数据库执行;
获取所述目标代码段被任一数据库执行成功后返回的处理结果;
将所述处理结果写入至所述目标代码段在所述待处理多源异构数据处理脚本的原始位置,替换掉所述目标代码段,得到重组脚本;
对所述重组脚本重复执行切割以及对所述待处理多源异构数据处理脚本内所述目标代码段的替换,直到所述重组脚本不可切割,得到处理的目标结果。
根据本申请实施例的另一个方面,还提供了一种多源异构数据处理装置,该装置包括:
第一获取模块,用于获取待处理多源异构数据处理脚本,其中,待处理多源异构数据处理脚本中包含一种或多种数据库语言;
切割模块,用于对所述待处理多源异构数据处理脚本进行切割,直到得到最小单元的目标代码段,其中,所述目标代码段能够被至少一种数据库执行;
第二获取模块,用于获取所述目标代码段被任一数据库执行成功后返回的处理结果;
替换模块,用于将所述处理结果写入至所述目标代码段在所述待处理多源异构数据处理脚本的原始位置,替换掉所述目标代码段,得到重组脚本;
得到模块,用于对所述重组脚本重复执行切割以及对所述待处理多源异构数据处理脚本内所述目标代码段的替换,直到所述重组脚本不可切割,得到处理的目标结果。
可选地,切割模块包括:
识别单元,用于识别所述待处理多源异构数据处理脚本内的切割依据对象,其中,所述切割依据对象包含每种数据库语言关键字和符号;
切割单元,用于根据所述切割依据对象对所述待处理多源异构数据处理脚本进行切割。
可选地,该装置还包括:
存放模块,用于在所述直到得到最小单元的目标代码段之后,将所述目标代码段存放在代码存放区域;
执行模块,用于在所述目标代码段的个数大于1的情况下,将所述目标代码段依次在所有的数据库内执行。
可选的,该装置还包括:
缓存模块,用于在所述获取所述目标代码段被任一数据库执行成功后返回的处理结果之后,将当前执行成功后所返回的所述处理结果缓存在结果存放区内;
读取模块,用于从所述结果存放区中读取出所述处理结果,用于替换掉所述目标代码段进行脚本重组。
可选地,该装置还包括:
发送模块,用于在所述将所述目标代码段依次在所有的数据库内执行之后,在所有的所述目标代码段在所有的所述数据库内执行后,均接收到失败指示信息的情况下,结束所述多源异构数据的处理任务,并发出异常提示信息。
可选地,该装置还包括:
调度模块,用于在所述获取所述目标代码段被任一数据库执行成功后返回的处理结果之前,调度所述数据库的代码执行器;
执行模块,用于利用所述代码执行器执行所述目标代码段。
可选地,该装置还包括:
第一删除模块,用于将所述目标代码段删除,并将所述处理结果写入所述原始位置,得到所述重组脚本;
第二删除模块,用于删除所述目标代码段的所述处理结果。
根据本申请实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述任一实施例中的方法步骤。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。
在本申请实施例中,获取待处理多源异构数据处理脚本,其中,待处理多源异构数据处理脚本中包含一种或多种数据库语言;对待处理多源异构数据处理脚本进行切割,直到得到最小单元的目标代码段,其中,目标代码段能够被至少一种数据库执行;获取目标代码段被任一数据库执行成功后返回的处理结果;将处理结果写入至目标代码段在待处理多源异构数据处理脚本的原始位置,替换掉目标代码段,得到重组脚本;对重组脚本重复执行切割以及对待处理多源异构数据处理脚本内目标代码段的替换,直到重组脚本不可切割,得到处理的目标结果。由于本申请实施例对待处理多源异构数据处理脚本进行切割得到目标代码段后,将任一数据库对目标代码段执行成功后得到的处理结果替换掉目标代码段,进而重组脚本,然后使得重组脚本执行相同的重复操作,直到重复脚本不可分割,得到的目标结果是对目标代码段全部替换完成后的处理结果,本申请实施例在进行多源异构数据处理时,将数据当做同源数据进行脚本开发,由计算机自行匹配数据源进行数据整合计算,利用了计算机强大的计算能力和高性能代替了人为的任务编排和数据整合过程,减少了人工操作成本,且无需技术人员具备较高的专业技能即可得到多源异构数据处理结果,同时简化了数据处理的流程,降低了资源占用,进而解决了相关技术存在占用较多存储资源以及技术实现时对技术人员的专业能力要求过高的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种可选的多源异构数据处理方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的多源异构数据处理方法的流程示意图;
图3是根据本申请实施例的另一种可选的多源异构数据处理方法的流程示意图;
图4是根据本申请实施例的一种可选的多源异构数据处理装置的结构框图;
图5是根据本申请实施例的一种可选的电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种多源异构数据处理方法。可选地,在本实施例中,上述多源异构数据处理方法可以应用于如图1所示的硬件环境中。如图1所示,终端102中可以包含有存储器104、处理器106和显示器108(可选部件)。终端102可以通过网络110与服务器112进行通信连接,该服务器112可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器112上或独立于服务器112设置数据库114,用于为服务器112提供数据存储服务。此外,服务器112中可以运行有处理引擎116,该处理引擎116可以用于执行由服务器112所执行的步骤。
可选地,终端102可以但不限于为可以计算数据的终端,如移动终端(例如手机、平板电脑)、笔记本电脑、PC(PersonalComputer,个人计算机)机等终端上,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI(WirelessFidelity,无线保真)及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述服务器112可以包括但不限于任何可以进行计算的硬件设备。
此外,在本实施例中,上述多源异构数据处理方法还可以但不限于应用于处理能力较强大的独立的处理设备中,而无需进行数据交互。例如,该处理设备可以但不限于为处理能力较强大的终端设备,即,上述多源异构数据处理方法中的各个操作可以集成在一个独立的处理设备中。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,在本实施例中,上述多源异构数据处理方法可以由服务器112来执行,也可以由终端102来执行,还可以是由服务器112和终端102共同执行。其中,终端102执行本申请实施例的多源异构数据处理方法也可以是由安装在其上的客户端来执行。
以运行在服务器为例,图2是根据本申请实施例的一种可选的多源异构数据处理方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
步骤S201,获取待处理多源异构数据处理脚本,其中,待处理多源异构数据处理脚本中包含一种或多种数据库语言。
可选地,在本申请实施例中,首先获取一段多源异构数据处理脚本,其中,多源异构数据处理脚本为一段复杂的、包含多个数据库语言的待处理脚本,这些数据库可以包含有如图3所示的MYSQL、Oracle、Hive等。由于每种数据库支持的语法不同,所以可以将包含这些不同语法的数据库语言称为多源异构数据处理脚本。
步骤S202,对待处理多源异构数据处理脚本进行切割,直到得到最小单元的目标代码段,其中,目标代码段能够被至少一种数据库执行。
可选地,在获取到完整的待处理多源异构数据处理脚本后,对待处理多源异构数据处理脚本进行切割,多次循环直至代码段不能再切割为止。此时得到的代码段是最小粒度的,也即得到最小单元的目标代码段,另外,该目标代码段可以被至少一种数据库执行,也就是说,该目标代码段是可以在某一个数据源中可执行的脚本代码段。
步骤S203,获取目标代码段被任一数据库执行成功后返回的处理结果。
可选地,由于目标代码段是可以被执行的脚本代码段,所以可以获取到目标代码段被某一数据库执行成功后得到的处理结果的。
步骤S204,将处理结果写入至目标代码段在待处理多源异构数据处理脚本的原始位置,替换掉目标代码段,得到重组脚本。
可选地,由于目标代码段是待处理多源异构数据处理脚本中的一部分,这时需要获取到目标代码段在待处理多源异构数据处理脚本的原始位置,然后将上述的处理结果替换掉在原始位置处的目标代码段,然后得到一个替换掉目标代码段的新的脚本,然后将加入处理结果至原始位置后生成的脚本称为重组脚本。
步骤S205,对重组脚本重复执行切割以及对待处理多源异构数据处理脚本内目标代码段的替换,直到重组脚本不可切割,得到处理的目标结果。
可选地,将得到的重组脚本重复执行上述的切割以及处理结果对目标代码段的替换,直至脚本不能切割。最后执行的不可再切割的脚本得到的数据结果即是完整的多源异构数据脚本计算的目标结果。
在本申请实施例中,获取待处理多源异构数据处理脚本,其中,待处理多源异构数据处理脚本中包含一种或多种数据库语言;对待处理多源异构数据处理脚本进行切割,直到得到最小单元的目标代码段,其中,目标代码段能够被至少一种数据库执行;获取目标代码段被任一数据库执行成功后返回的处理结果;将处理结果写入至目标代码段在待处理多源异构数据处理脚本的原始位置,替换掉目标代码段,得到重组脚本;对重组脚本重复执行切割以及对待处理多源异构数据处理脚本内目标代码段的替换,直到重组脚本不可切割,得到处理的目标结果。由于本申请实施例对待处理多源异构数据处理脚本进行切割得到目标代码段后,将任一数据库对目标代码段执行成功后得到的处理结果替换掉目标代码段,进而重组脚本,然后使得重组脚本执行相同的重复操作,直到重复脚本不可分割,得到的目标结果是对目标代码段全部替换完成后的处理结果,本申请实施例在进行多源异构数据处理时,将数据当做同源数据进行脚本开发,由计算机自行匹配数据源进行数据整合计算,利用了计算机强大的计算能力和高性能代替了人为的任务编排和数据整合过程,减少了人工操作成本,且无需技术人员具备较高的专业技能即可得到多源异构数据处理结果,同时简化了数据处理的流程,降低了资源占用,进而解决了相关技术存在占用较多存储资源以及技术实现时对技术人员的专业能力要求过高的问题。
作为一种可选实施例,对待处理多源异构数据处理脚本进行切割,包括:
识别待处理多源异构数据处理脚本内的切割依据对象,其中,切割依据对象包含每种数据库语言关键字和符号;
根据切割依据对象对待处理多源异构数据处理脚本进行切割。
可选地,每种数据库都有自己的数据库语言,这时获取到能够表征每种数据库语言的关键字和符号,然后将这些关键字和符号作为切割依据对象,对待处理多源异构数据处理脚本进行切割。
在本申请实施例中,通过对待处理多源异构数据处理脚本进行切割,有利于完成对数据的整合,简化了数据处理的流程,降低了资源占用。
作为一种可选实施例,在直到得到最小单元的目标代码段之后,方法还包括:
将目标代码段存放在代码存放区域;
在目标代码段的个数大于1的情况下,将目标代码段依次在所有的数据库内执行。
可选地,如图3所示,在利用脚本分割器基于关键字和符号对待处理多源异构数据处理脚本进行分割后得到目标代码段,并将该目标代码段(如图3中的代码段N1,代码段N2等)存储在代码存放区。如果是一个目标代码段的话,那就让它在各个数据库内执行,得到执行结果;如果目标代码段的个数大于1的话,那就让存在存放区域的目标代码段依次在所有数据库内执行,得到执行结果。
作为一种可选实施例,在获取目标代码段被任一数据库执行成功后返回的处理结果之后,方法还包括:
将当前执行成功后所返回的处理结果缓存在结果存放区内;
从结果存放区中读取出处理结果,用于替换掉目标代码段进行脚本重组。
可选地,如图3所示,从异构数据源中输出处理结果,存放在结果存放区内。需要了解的是图3中的执行结果1指的是当前目标代码段执行成功后所得到的处理结果,存放在结果存放区;然后读取出该处理结果替换掉目标代码段,得到重组脚本。执行结果2对应的是基于上次得到的重组脚本进行再次进行目标代码段的脚本代码执行,将执行成功后所得到的处理结果存放在结果存放区。然后再读取和替换……如此循环,直到在结果存放区内得到完整结果。
在本申请实施例中,以缓存库替代了计算中间库的作用,减少了计算的中间结果数据占用资源。
作为一种可选实施例,在将目标代码段依次在所有的数据库内执行之后,方法还包括:
在所有的目标代码段在所有的数据库内执行后,均接收到失败指示信息的情况下,结束多源异构数据的处理任务,并发出异常提示信息。
可选地,将切割好的代码段分别在所有数据库中执行后,如果全部代码段在所有数据库中均执行失败,则也结束多源异构数据的处理任务并抛出异常提示信息。
作为一种可选实施例,在获取目标代码段被任一数据库执行成功后返回的处理结果之前,方法还包括:
调度数据库的代码执行器;
利用代码执行器执行目标代码段。
可选地,在进行脚本执行时,需要调用各个数据库内的代码执行器,调度该代码执行器处理该目标代码段,得到执行结果。
作为一种可选实施例,该方法还包括:
将目标代码段删除,并将处理结果写入原始位置,得到重组脚本;
删除目标代码段的处理结果。
可选地,本申请实施例中,在得到重组脚本时,需要先找到目标代码段在待处理多源异构数据处理脚本的原始位置,然后将目标代码段的处理结果写到原始位置处即可,进而得到新的重组脚本。得到重组脚本后目标代码段即可删除,节省空间。
这时,目标代码段的处理结果已替换目标代码段在待处理多源异构数据处理脚本的原始位置得到重组脚本,可以删除目标代码段的处理结果,减少无用数据存储,降低资源占用。需要说明的是,每次循环获取的目标代码段处理结果都是中间结果,用于获得重组脚本。在本申请实施例中,不需要把每次执行结果长期保存,节省空间。
基于上述各实施例的内容,本申请实施例利用上述各实施例提出的多源异构数据处理方法介绍一使用场景:
在电网系统中,业务运营涉及多个部门和组织协同,数据存储和使用场景复杂,在某省电网中存在以下情况:
省属单位:每季度要求各地市通过线下提供台账信息,省直属单位根据提供的数据进行评估和预测。数据在关系型数据库Gbase中存储,存储表equipment。省属单位有各个地市是数据库访问和查询权限。
地市A:设备台账数据根据生产实际情况实时更新,数据存储在关系同数据Mysql中,存储表dev_account。
地市B:设备台账数据根据生产实际情况实时更新,数据存储在关系同数据库达梦中equipment_account。
地市C:设备台账数据根据生产实际情况实时更新,数据存储在关系同数据库Oracle,存储表device_account。
现省属单位有数据分析需求如下:统计各地市的台账信息并与历年报备的数据对比,对漏报或错报的数据进行更改和说明。
使用多源异构数据跨库计算的适配器后,只需要创建一个多源异构数据处理任务即可,输入脚本,通过多源异构数据计算适配器切割后和脚本代码段执行后,得到以下结果:
第一次成功执行查询A市mysql数据库代码段,数据缓存在缓存库中。
第二次成功执行查询B市达梦数据库代码段,数据缓存在缓存库中。
第三次成功执行查询C市Oracle数据库代码段,数据缓存在缓存库中。
第四次成功执行查询缓存库全省实时台账信息代码段,数据缓存在缓存库中。
第五次成功执行查询Gbase全省历史台账信息代码段,数据缓存在缓存库中。
第六次成功执行缓存库全省实时数据与历史数据比对代码段,得到最终输出结果。
以上,开发人员在进行多源异构数据处理时,将数据当做同源数据进行脚本开发,由计算机自行匹配数据源进行数据整合计算,利用了计算机强大的计算能力和高性能代替了人为的任务编排和数据整合过程,减少了人工操作成本,简化了数据处理的流程,降低了资源占用。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-OnlyMemory,只读存储器)/RAM(RandomAccess Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述多源异构数据处理方法的多源异构数据处理装置。图4是根据本申请实施例的一种可选的多源异构数据处理装置的结构框图,如图4所示,该装置可以包括:
第一获取模块401,用于获取待处理多源异构数据处理脚本,其中,待处理多源异构数据处理脚本中包含一种或多种数据库语言;
切割模块402,用于对待处理多源异构数据处理脚本进行切割,直到得到最小单元的目标代码段,其中,目标代码段能够被至少一种数据库执行;
第二获取模块403,用于获取目标代码段被任一数据库执行成功后返回的处理结果;
替换模块404,用于将处理结果写入至目标代码段在待处理多源异构数据处理脚本的原始位置,替换掉目标代码段,得到重组脚本;
得到模块405,用于对重组脚本重复执行切割以及对待处理多源异构数据处理脚本内目标代码段的替换,直到重组脚本不可切割,得到处理的目标结果。
需要说明的是,该实施例中的第一获取模块401可以用于执行上述步骤S201,该实施例中的切割模块402可以用于执行上述步骤S202,该实施例中的第二获取模块403可以用于执行上述步骤S203,该实施例中的替换模块404可以用于执行上述步骤S204,该实施例中的得到模块405可以用于执行上述步骤S205。
通过上述模块,对待处理多源异构数据处理脚本进行切割得到目标代码段后,将任一数据库对目标代码段执行成功后得到的处理结果替换掉目标代码段,进而重组脚本,然后使得重组脚本执行相同的重复操作,直到重复脚本不可分割,得到的目标结果是对目标代码段全部替换完成后的处理结果,本申请实施例在进行多源异构数据处理时,将数据当做同源数据进行脚本开发,由计算机自行匹配数据源进行数据整合计算,利用了计算机强大的计算能力和高性能代替了人为的任务编排和数据整合过程,减少了人工操作成本,且无需技术人员具备较高的专业技能即可得到多源异构数据处理结果,同时简化了数据处理的流程,降低了资源占用,进而解决了相关技术存在占用较多存储资源以及技术实现时对技术人员的专业能力要求过高的问题。
作为一种可选的实施例,切割模块包括:
识别单元,用于识别待处理多源异构数据处理脚本内的切割依据对象,其中,切割依据对象包含每种数据库语言关键字和符号;
切割单元,用于根据切割依据对象对待处理多源异构数据处理脚本进行切割。
可选地,该装置还包括:
存放模块,用于在直到得到最小单元的目标代码段之后,将目标代码段存放在代码存放区域;
执行模块,用于在目标代码段的个数大于1的情况下,将目标代码段依次在所有的数据库内执行。
可选的,该装置还包括:
缓存模块,用于在获取目标代码段被任一数据库执行成功后返回的处理结果之后,将当前执行成功后所返回的处理结果缓存在结果存放区内;
读取模块,用于从结果存放区中读取出处理结果,用于替换掉目标代码段进行脚本重组。
可选地,该装置还包括:
发送模块,用于在将目标代码段依次在所有的数据库内执行之后,在所有的目标代码段在所有的数据库内执行后,均接收到失败指示信息的情况下,结束多源异构数据的处理任务,并发出异常提示信息。
可选地,该装置还包括:
调度模块,用于在获取目标代码段被任一数据库执行成功后返回的处理结果之前,调度数据库的代码执行器;
执行模块,用于利用代码执行器执行目标代码段。
可选地,该装置还包括:
第一删除模块,用于将目标代码段删除,并将处理结果写入原始位置,得到重组脚本;
第二删除模块,用于删除目标代码段的处理结果。
根据本申请实施例的又一个方面,还提供了一种用于实施上述多源异构数据处理方法的电子设备,该电子设备可以是服务器、终端、或者其组合。
图5是根据本申请实施例的一种可选的电子设备的结构框图,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501、通信接口502和存储器503通过通信总线504完成相互间的通信,其中,
存储器503,用于存储计算机程序;
处理器501,用于执行存储器503上所存放的计算机程序时,实现如下步骤:
获取待处理多源异构数据处理脚本,其中,待处理多源异构数据处理脚本中包含一种或多种数据库语言;
对待处理多源异构数据处理脚本进行切割,直到得到最小单元的目标代码段,其中,目标代码段能够被至少一种数据库执行;
获取目标代码段被任一数据库执行成功后返回的处理结果;
将处理结果写入至目标代码段在待处理多源异构数据处理脚本的原始位置,替换掉目标代码段,得到重组脚本;
对重组脚本重复执行切割以及对待处理多源异构数据处理脚本内目标代码段的替换,直到重组脚本不可切割,得到处理的目标结果。
可选地,在本实施例中,上述的通信总线可以是PCI (PeripheralComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,如图5所示,上述存储器503中可以但不限于包括上述多源异构数据处理装置中的第一获取模块401、切割模块402、第二获取模块403、替换模块404以及得到模块405。此外,还可以包括但不限于上述多源异构数据处理装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU (Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP (DigitalSignalProcessing,数字信号处理器)、ASIC (Application SpecificIntegratedCircuit,专用集成电路)、FPGA(Field-ProgrammableGate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
此外,上述电子设备还包括:显示器,用于显示多源异构数据处理结果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图5所示的结构仅为示意,实施上述多源异构数据处理方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图5其并不对上述电子设备的结构造成限定。例如,终端设备还可包括比图5中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图5所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行多源异构数据处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取待处理多源异构数据处理脚本,其中,待处理多源异构数据处理脚本中包含一种或多种数据库语言;
对待处理多源异构数据处理脚本进行切割,直到得到最小单元的目标代码段,其中,目标代码段能够被至少一种数据库执行;
获取目标代码段被任一数据库执行成功后返回的处理结果;
将处理结果写入至目标代码段在待处理多源异构数据处理脚本的原始位置,替换掉目标代码段,得到重组脚本;
对重组脚本重复执行切割以及对待处理多源异构数据处理脚本内目标代码段的替换,直到重组脚本不可切割,得到处理的目标结果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本申请实施例的又一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一个实施例中的多源异构数据处理方法步骤。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例多源异构数据处理方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种多源异构数据处理方法,其特征在于,所述方法包括:
获取待处理多源异构数据处理脚本,其中,所述待处理多源异构数据处理脚本中包含一种或多种数据库语言;
对所述待处理多源异构数据处理脚本进行切割,直到得到最小单元的目标代码段,其中,所述目标代码段能够被至少一种数据库执行;
获取所述目标代码段被任一数据库执行成功后返回的处理结果;
将所述处理结果写入至所述目标代码段在所述待处理多源异构数据处理脚本的原始位置,替换掉所述目标代码段,得到重组脚本;
对所述重组脚本重复执行切割以及对所述待处理多源异构数据处理脚本内所述目标代码段的替换,直到所述重组脚本不可切割,得到处理的目标结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述待处理多源异构数据处理脚本进行切割,包括:
识别所述待处理多源异构数据处理脚本内的切割依据对象,其中,所述切割依据对象包含每种数据库语言关键字和符号;
根据所述切割依据对象对所述待处理多源异构数据处理脚本进行切割。
3.根据权利要求1所述的方法,其特征在于,在所述直到得到最小单元的目标代码段之后,所述方法还包括:
将所述目标代码段存放在代码存放区域;
在所述目标代码段的个数大于1的情况下,将所述目标代码段依次在所有的数据库内执行。
4.根据权利要求3所述的方法,其特征在于,在所述获取所述目标代码段被任一数据库执行成功后返回的处理结果之后,所述方法还包括:
将当前执行成功后所返回的所述处理结果缓存在结果存放区内;
从所述结果存放区中读取出所述处理结果,用于替换掉所述目标代码段进行脚本重组。
5.根据权利要求3所述的方法,其特征在于,在所述将所述目标代码段依次在所有的数据库内执行之后,所述方法还包括:
在所有的所述目标代码段在所有的所述数据库内执行后,均接收到失败指示信息的情况下,结束所述多源异构数据的处理任务,并发出异常提示信息。
6.根据权利要求1所述的方法,其特征在于,在所述获取所述目标代码段被任一数据库执行成功后返回的处理结果之前,所述方法还包括:
调度所述数据库的代码执行器;
利用所述代码执行器执行所述目标代码段。
7.根据权利要求1或4所述的方法,其特征在于,所述方法还包括:
将所述目标代码段删除,并将所述处理结果写入所述原始位置,得到所述重组脚本;
删除所述目标代码段的所述处理结果。
8.一种多源异构数据处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取待处理多源异构数据处理脚本,其中,所述待处理多源异构数据处理脚本中包含一种或多种数据库语言;
切割模块,用于对所述待处理多源异构数据处理脚本进行切割,直到得到最小单元的目标代码段,其中,所述目标代码段能够被至少一种数据库执行;
第二获取模块,用于获取所述目标代码段被任一数据库执行成功后返回的处理结果;
替换模块,用于将所述处理结果写入至所述目标代码段在所述待处理多源异构数据处理脚本的原始位置,替换掉所述目标代码段,得到重组脚本;
得到模块,用于对所述重组脚本重复执行切割以及对所述待处理多源异构数据处理脚本内所述目标代码段的替换,直到所述重组脚本不可切割,得到处理的目标结果。
9.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,其特征在于,
所述存储器,用于存储计算机程序;
所述处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行权利要求1至7中任一项所述的方法步骤。
10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至7中任一项中所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310120515.4A CN115878660A (zh) | 2023-02-16 | 2023-02-16 | 多源异构数据处理方法和装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310120515.4A CN115878660A (zh) | 2023-02-16 | 2023-02-16 | 多源异构数据处理方法和装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878660A true CN115878660A (zh) | 2023-03-31 |
Family
ID=85761213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310120515.4A Pending CN115878660A (zh) | 2023-02-16 | 2023-02-16 | 多源异构数据处理方法和装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115878660A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140068582A1 (en) * | 2012-08-30 | 2014-03-06 | International Business Machines Corporation | Optimized division of work among processors in a heterogeneous processing system |
US20160321039A1 (en) * | 2015-04-29 | 2016-11-03 | Wave Computing, Inc. | Technology mapping onto code fragments |
CN108009087A (zh) * | 2017-11-29 | 2018-05-08 | 广州品唯软件有限公司 | 数据库测试方法、装置及计算机可读存储介质 |
CN108491326A (zh) * | 2018-03-21 | 2018-09-04 | 重庆金融资产交易所有限责任公司 | 测试行为重组方法、装置及存储介质 |
CN112988778A (zh) * | 2019-12-13 | 2021-06-18 | 北京沃东天骏信息技术有限公司 | 一种处理数据库查询脚本的方法和装置 |
CN113934748A (zh) * | 2021-10-14 | 2022-01-14 | 工银科技有限公司 | 混合型sql脚本文件生成方法、执行方法及装置 |
-
2023
- 2023-02-16 CN CN202310120515.4A patent/CN115878660A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140068582A1 (en) * | 2012-08-30 | 2014-03-06 | International Business Machines Corporation | Optimized division of work among processors in a heterogeneous processing system |
US20160321039A1 (en) * | 2015-04-29 | 2016-11-03 | Wave Computing, Inc. | Technology mapping onto code fragments |
CN108009087A (zh) * | 2017-11-29 | 2018-05-08 | 广州品唯软件有限公司 | 数据库测试方法、装置及计算机可读存储介质 |
CN108491326A (zh) * | 2018-03-21 | 2018-09-04 | 重庆金融资产交易所有限责任公司 | 测试行为重组方法、装置及存储介质 |
CN112988778A (zh) * | 2019-12-13 | 2021-06-18 | 北京沃东天骏信息技术有限公司 | 一种处理数据库查询脚本的方法和装置 |
CN113934748A (zh) * | 2021-10-14 | 2022-01-14 | 工银科技有限公司 | 混合型sql脚本文件生成方法、执行方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
CN111597257A (zh) | 数据库的同步方法、装置、存储介质及终端 | |
CN111241182A (zh) | 数据处理方法和装置、存储介质和电子装置 | |
CN106557307B (zh) | 业务数据的处理方法及处理系统 | |
CN104767795A (zh) | 一种基于hadoop的lte mro数据统计方法及系统 | |
CN106886535A (zh) | 一种适配多种数据源的数据抽取方法和装置 | |
CN111400288A (zh) | 数据质量检查方法及系统 | |
CN111241177A (zh) | 数据采集方法、系统及网络设备 | |
CN110716739A (zh) | 一种代码变更信息统计方法、系统和可读存储介质 | |
CN110852559A (zh) | 资源的分配方法和装置、存储介质、电子装置 | |
CN110990350B (zh) | 日志的解析方法及装置 | |
CN113360581A (zh) | 数据处理方法、装置及存储介质 | |
CN113468196B (zh) | 用于处理数据的方法、装置、系统、服务器和介质 | |
CN115994085A (zh) | 代码覆盖率的测试处理方法、装置、设备及存储介质 | |
CN114489762A (zh) | 一种多版本应用的实现方法、系统及电子设备 | |
CN109558403B (zh) | 数据聚合方法及装置、计算机装置及计算机可读存储介质 | |
CN110888863A (zh) | 一种状态字段优化方法、装置、电子设备及存储介质 | |
CN116775599A (zh) | 数据迁移方法、装置、电子设备、存储介质 | |
CN115878660A (zh) | 多源异构数据处理方法和装置、电子设备和存储介质 | |
CN115048359A (zh) | 一种多类型接入数据源的通用数据处理架构设计方法 | |
CN116303427A (zh) | 数据处理方法及装置、电子设备和存储介质 | |
CN115357625A (zh) | 结构化数据比对方法、装置、电子设备及存储介质 | |
CN113093702B (zh) | 故障数据的预测方法和装置、电子设备和存储介质 | |
CN104317820A (zh) | 报表的统计方法和装置 | |
CN114238390A (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 |