CN115237573B - 数据处理方法、装置、电子设备和可读存储介质 - Google Patents

数据处理方法、装置、电子设备和可读存储介质 Download PDF

Info

Publication number
CN115237573B
CN115237573B CN202210943920.1A CN202210943920A CN115237573B CN 115237573 B CN115237573 B CN 115237573B CN 202210943920 A CN202210943920 A CN 202210943920A CN 115237573 B CN115237573 B CN 115237573B
Authority
CN
China
Prior art keywords
scheduling engine
sub
execution result
flow
data processing
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
Application number
CN202210943920.1A
Other languages
English (en)
Other versions
CN115237573A (zh
Inventor
张子浪
叶臻
郝慧俊
李小言
刘海滨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Tower Co Ltd
Original Assignee
China Tower Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Tower Co Ltd filed Critical China Tower Co Ltd
Priority to CN202210943920.1A priority Critical patent/CN115237573B/zh
Publication of CN115237573A publication Critical patent/CN115237573A/zh
Application granted granted Critical
Publication of CN115237573B publication Critical patent/CN115237573B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种数据处理方法、装置、电子设备和可读存储介质,其中,所述方法应用于大数据平台,所述大数据平台包括第一调度引擎和第二调度引擎,所述第一调度引擎内配置有第一流程和第一虚拟流程,所述第二调度引擎内配置有第二流程和第二虚拟流程,所述方法包括:接收数据处理请求;根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果。利用第一虚拟流程映射第二流程,第二虚拟流程映射第一流程的方式,来规避第一调度引擎和第二调度引擎之间可能存在的冲突,使得大数据平台能具备兼容不同调度引擎的能力,以此来提升大数据平台在流程迁移过程中所执行业务操作的可靠性。

Description

数据处理方法、装置、电子设备和可读存储介质
技术领域
本申请涉及计算机技术领域,具体涉及一种数据处理方法、装置、电子设备和可读存储介质。
背景技术
为挖掘数据价值,需对数据进行采集、加工、分析等处理。对于大数据平台来说,一般会通过配置调度引擎的方式,对大数据平台内的若干个数据处理流程进行协调,以确保各个流程的可靠执行。
实际应用中,由于程序改造升级等原因,使得大数据平台内的若干流程需从旧的调度引擎迁移至新的调度引擎中,相关技术一般会通过应用迁移工具或人工开发的方式来实现上述流程迁移操作,也即利用新的调度引擎对旧的调度引擎进行替换,但由于不同调度引擎之间的功能差异,使得上述流程迁移操作可能会出现不可预知的错误(如新的调度引擎无法支持旧的调度引擎具备的全部功能),这会给大数据平台的数据处理操作带来较大干扰。也就是说,相关技术在流程迁移过程中所执行业务操作的可靠性低。
发明内容
本申请实施例的目的在于提供一种数据处理方法、装置、电子设备和可读存储介质,用于解决相关技术在流程迁移过程中所执行业务操作的可靠性低的问题。
第一方面,本申请实施例提供一种数据处理方法,应用于大数据平台,所述大数据平台包括第一调度引擎和第二调度引擎,所述第一调度引擎内配置有第一流程和第一虚拟流程,所述第二调度引擎内配置有第二流程和第二虚拟流程;
所述数据处理方法包括:
接收数据处理请求;
根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果;
其中,所述第一虚拟流程用于将待所述第一调度引擎执行的第一子请求转发至所述第二调度引擎,所述第一子请求为所述数据处理请求中对应所述第二流程的子请求,所述第二虚拟流程用于将待所述第二调度引擎执行的第二子请求转发至所述第一调度引擎,所述第二子请求为所述数据处理请求中对应所述第一流程的子请求。
可选的,所述第二流程包括多个子流程;
所述根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果之后,所述方法还包括:
根据每一子流程对应的依赖信息,对所述多个子流程进行聚类,获得至少两个第一集合,其中,所述依赖信息用于表征其所对应子流程与其他子流程之间的关联;
在所述至少两个第一集合中确定第二集合,所述第二集合为所述至少两个第一集合中对应元素数目最多的第一集合;
将所述第二集合迁移至所述第一调度引擎内。
可选的,所述依赖信息包括如下至少一项:
有向无环图DAG信息;
表信息;
血缘信息,其中,所述血缘信息为其所对应的子流程经过元数据血缘分析获得的信息。
可选的,所述将所述第二集合迁移至所述第一调度引擎内之后,所述方法还包括:
获取第一数据和第二数据,所述第一数据为所述第一调度引擎执行目标子流程获得的数据,所述第二数据为所述第二调度引擎执行所述目标子流程获得的数据,所述目标子流程为所述第二集合中的任意一个子流程;
在所述第一数据和所述第二数据一致的情况下,在所述第二调度引擎内移除所述目标子流程。
可选的,所述根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果,包括:
获取所述第一调度引擎响应所述数据处理请求的第一执行结果、以及所述第二调度引擎响应数据处理请求的第二执行结果;
对所述第一执行结果和所述第二执行结果进行整合,获得目标执行结果。
可选的,所述对所述第一执行结果和所述第二执行结果进行整合,获得目标执行结果,包括如下至少一项:
将所述第二执行结果远程同步至包括有所述第一执行结果的第一数据库内,并从所述第一数据库中获得所述目标执行结果;
基于预设脚本将所述第一执行结果和所述第二执行结果拷贝至第三数据库内,并从所述第三数据库中获得所述目标执行结果;
基于应用程序对所述第一执行结果和所述第二执行结果进行整合,获得所述目标执行结果。
第二方面,本申请实施例还提供一种数据处理装置,应用于大数据平台,所述大数据平台包括第一调度引擎和第二调度引擎,所述第一调度引擎内配置有第一流程和第一虚拟流程,所述第二调度引擎内配置有第二流程和第二虚拟流程;
所述数据处理装置包括:
接收模块,用于接收数据处理请求;
响应模块,用于根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果;
其中,所述第一虚拟流程用于将待所述第一调度引擎执行的第一子请求转发至所述第二调度引擎,所述第一子请求为所述数据处理请求中对应所述第二流程的子请求,所述第二虚拟流程用于将待所述第二调度引擎执行的第二子请求转发至所述第一调度引擎,所述第二子请求为所述数据处理请求中对应所述第一流程的子请求。
可选的,所述第二流程包括多个子流程;
所述装置还包括流程迁移模块;
所述流程迁移模块用于:
根据每一子流程对应的依赖信息,对所述多个子流程进行聚类,获得至少两个第一集合,其中,所述依赖信息用于表征其所对应子流程与其他子流程之间的关联;
在所述至少两个第一集合中确定第二集合,所述第二集合为所述至少两个第一集合中对应元素数目最多的第一集合;
将所述第二集合迁移至所述第一调度引擎内。
第三方面,本申请实施例还提供一种电子设备,所述电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器,用于读取存储器中的程序实现如第一方面所述的数据处理方法中的步骤。
第四方面,本申请实施例还提供一种可读存储介质,所述可读存储介质用于存储程序,所述程序被处理器执行时实现如第一方面所述的数据处理方法中的步骤。
在本申请实施例中,通过在大数据平台上配置第一调度引擎和第二调度引擎,并利用第一虚拟流程映射第二流程,第二虚拟流程映射第一流程的方式,来规避第一调度引擎和第二调度引擎之间可能存在的冲突,使得大数据平台能具备兼容不同调度引擎的能力,以此来保障大数据平台的数据处理业务的顺利执行,降低大数据平台在流程迁移过程中的业务操作风险,提升大数据平台在流程迁移过程中所执行业务操作的可靠性。
附图说明
图1是本申请实施例提供的一种数据处理方法的流程示意图;
图2是本申请实施例提供的一种大数据平台的结构示意图;
图3是本申请实施例提供的一种确认待迁移流程的流程示意图;
图4是本申请实施例提供的一种获取目标执行结果的流程示意图;
图5是本申请实施例提供的另一种获取目标执行结果的流程示意图;
图6是本申请实施例提供的又一种获取目标执行结果的流程示意图;
图7是本申请实施例提供的一种数据处理装置的结构示意图;
图8是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,本申请中使用“和/或”表示所连接对象的至少其中之一,例如A和/或B和/或C,表示包含单独A,单独B,单独C,以及A和B都存在,B和C都存在,A和C都存在,以及A、B和C都存在的7种情况。
参见图1,图1是本申请实施例提供的一种数据处理方法的流程示意图,所述数据处理方法应用于大数据平台,所述大数据平台包括第一调度引擎和第二调度引擎,所述第一调度引擎内配置有第一流程和第一虚拟流程,所述第二调度引擎内配置有第二流程和第二虚拟流程;其中,所述第一虚拟流程用于将待所述第一调度引擎执行的第一子请求转发至所述第二调度引擎,所述第一子请求为所述数据处理请求中对应所述第二流程的子请求,所述第二虚拟流程用于将待所述第二调度引擎执行的第二子请求转发至所述第一调度引擎,所述第二子请求为所述数据处理请求中对应所述第一流程的子请求。
如图1所示,所述数据处理方法包括以下步骤:
步骤101、接收数据处理请求。
其中,所述数据处理请求可以为外部设备(如服务器、终端等)向大数据平台发起的请求(用于获取大数据分析结果并加以应用),也可以为大数据平台自身通过预先设置的程序或脚本主动发起的请求(用于获取大数据分析结果并加以展示)。
步骤102、根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果。
在本申请实施例中,第一调度引擎可以理解为大数据平台所应用的新的调度引擎,第二调度引擎可以理解为大数据平台所应用的旧的调度引擎;所述第一流程用于表征第一调度引擎内配置的若干个流程,所述第二流程用于表征第二调度引擎内配置的若干个流程,所述第一虚拟流程为所述第二流程在第一调度引擎内的映射,所述第二虚拟流程为所述第一流程在第二调度引擎内的映射。
如图2所示,大数据平台在接收到数据处理请求的情况下,会基于第一调度引擎和第二调度引擎协同处理数据处理请求,即第一调度引擎和第二调度引擎各自执行其内部真实配置的第一流程和第二流程,并相互反馈执行结果(指第一调度引擎将第一流程执行的结果反馈给第二调度引擎,以及第二调度引擎将第二流程执行的结果反馈给第一调度引擎),最后整合第一流程执行的结果和第二流程执行的结果,以生成用于响应数据处理请求的目标执行结果。
如上所述,通过在大数据平台上配置第一调度引擎和第二调度引擎,并利用第一虚拟流程映射第二流程,第二虚拟流程映射第一流程的方式,来规避第一调度引擎和第二调度引擎之间可能存在的冲突,使得大数据平台能具备兼容不同调度引擎的能力,以此来保障大数据平台的数据处理业务的顺利执行(通过协调不同调度引擎的措施,使得大数据平台在利用新的调度引擎逐步替换旧的调度引擎的过程中,仍能及时响应数据处理请求),降低大数据平台在流程迁移过程中的业务操作风险,提升大数据平台在流程迁移过程中所执行业务操作的可靠性。
需要说明的是,第一流程所表征的若干个流程之间的关联程度大于第二流程所表征的若干个流程之间的关联程度,其中,不同流程之间的关联程度可以理解为不同流程所分别对应的表信息的重叠度(例如,若流程1对应表1、表2和表3,流程2对应表1、表2和表4,流程3对应表1、表5、表6,流程4对应表1、表7和表8,则流程1和流程2之间的关联程度大于流程3和流程4之间的关联程度),其中,流程与表对应可理解为,该流程的执行会涉及对表内数据的操作。
示例性的,第一调度引擎和第二调度引擎相互反馈执行结果时,可以通过proxy-stub、web services、restful api以及thrift等方式进行通信,所述大数据平台可以使用zookeeper对第一调度引擎和第二调度引擎进行协调,在第一调度引擎和第二调度引擎共存的情况下,可以使用Yarn对大数据平台的底层资源进行统一管理、实现CPU以及内存资源的隔离及分配,避免第一调度引擎和第二调度引擎无序争抢资源。
可选的,所述第二流程包括多个子流程;
所述根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果之后,所述方法还包括:
根据每一子流程对应的依赖信息,对所述多个子流程进行聚类,获得至少两个第一集合,其中,所述依赖信息用于表征其所对应子流程与其他子流程之间的关联;
在所述至少两个第一集合中确定第二集合,所述第二集合为所述至少两个第一集合中对应元素数目最多的第一集合;
将所述第二集合迁移至所述第一调度引擎内。
如上所述,在流程迁移过程中,除了及时响应大数据平台接收到的数据处理请求外,还需要在旧的调度引擎(即第二调度引擎)中确定下一次迁移动作中需要进行迁移的若干流程,相较于逐一迁移各个流程的方式,通过批量迁移多个流程的方式,能提升流程迁移效率。
根据每一子流程对应的依赖信息,对多个子流程进行聚类,以获得至少两个第一集合,并将至少两个第一集合中对应元素数目最多的第一集合确定为第二集合,随即在下一次迁移动作中,将所确定第二集合迁移至第一调度引擎中。在确认当前的第二集合迁移成功的情况下,重复上述过程(指在第二调度引擎确定新的第二集合,并将新确定的第二集合迁移至第一调度引擎中),直至第二调度引擎内的流程被全部迁移至第一调度引擎内。
本申请基于各个子流程对应的依赖信息,对第二调度引擎内的多个子流程进行聚类,并将所获得类簇(即第一集合)中对应元素数目最多的类簇确定为目标类簇(即第二集合),最后通过迁移第二集合方式,以在单次流程迁移动作中,实现批量迁移多个流程的操作。
需要说明的是,大数据平台内的数据资产通常包括三层结构,依次为接口层、明细层以及集市层,其中接口层用于采集业务***原始数据表信息;明细层用于对接口层数据进行预处理,或可通过多个接口表关联形成宽表;集市层用于对宽表进行关联,形成面向主题的数据资产,以便报表统计。
基于三层结构的数据资产设计,使得前述多个子流程可以分为关联接口层的子流程、关联明细层的子流程、以及关联集市层的子流程三类,在此情况下,前述依赖信息可以理解为同层内的不同子流程之间的依赖关系(例如:关联集市层的子流程A和关联集市层的子流程B之间存在依赖),也可以理解为不同层内的不同子流程之间的依赖关系(例如:关联集市层的子流程C和关联明细层的子流程D存在依赖)。
如上所述,在进行流程迁移前,会对不同子流程(可以同层,也可以不同层)之间的依赖关系及数据依赖进行整理,并基于整理结果选择待迁移的至少一个子流程(也即前述确定第二集合,并将第二集合迁移至第一调度引擎的过程)。
而在流程迁移操作中,优选应用逐层迁移的方式(例如,先迁移关联集市层的多个子流程,再迁移关联明细层的多个子流程,最后迁移关联接口层的多个子流程),以确保第二调度引擎内的多个子流程得以有序迁移至第一调度引擎内。
在一示例中,所述第二集合可以理解为关联集市层的多个子流程形成的集合,在将所述第二集合迁移至所述第一调度引擎内之前,可以设置一个数量阈值,若第二集合对应的元素数目大于或等于该数量阈值,可以先对第二集合拆分为至少两个子集合,再按照依赖关系,对至少两个子集合进行逐一迁移,以避免迁移流程体量过大的问题。需要指出的是,每迁移完一个子集合后,需对该子集合进行验证,待验证通过后才进行下一个子集合的迁移操作,以此确保所进行流程迁移操作的可靠性。
举例来说,若上述数量阈值为10,第二集合对应的元素数目为25,则可以将第二集合拆分为第一子集合(对应元素数目为10)、第二子集合(对应元素数目为10),第三子集合(对应元素数目为5),再将第一子集合、第二子集合以及第三子集合逐一迁移至第一调度引擎。
需要说明的是,在一些实施方式中,流程迁移操作可以理解为:第二调度引擎内的所有流程被转移至第一调度引擎内;在另一些实施方式中,由于不同调度引擎之间的底层实现差异,存在新的调度引擎无法完全替换旧的调度引擎的情况,此时流程迁移操作完成应理解为,第二调度引擎内可以被第一调度引擎替代执行的流程会迁移至第一调度引擎内,第二调度引擎内无法被第一调度引擎替代执行的流程会保留在第二调度引擎内。
进一步的,所述依赖信息包括如下至少一项:
有向无环图DAG信息;
表信息;
血缘信息,其中,所述血缘信息为其所对应的子流程经过元数据血缘分析获得的信息。
在一些示例中,可以分析子流程配置时显式指定的有向无环图(DirectedAcyclic Graph,DAG),以完成多个子流程之间的聚类过程。
在一些示例中,也可以通过分析子流程中配置的数据加工任务,获取每个子流程对应的表信息(如表名、字段名等),随后基于每个子流程对应的表信息完成多个子流程之间的聚类过程。
在一些示例中,还可以应用元数据血缘分析的方式(如使用atlas),对每个子流程的血缘信息进行获取,再基于血缘信息完成多个子流程之间的聚类过程。
在一些示例中,可以先分析大数据平台内的表信息,将表数据存入表清单中,以及将字段数据存入字段清单中,再基于DAG图等信息获取每个子流程引用的表数据和字段数据,最后基于每个子流程的引用的表数据和字段数据完成多个子流程之间的聚类过程。其中,在获取子流程引用的表数据和字段数据时,可以采用正则表达式的方式实现,例如,设定表数据之前必须为空格、表数据之后可以为空格或“.字段数据”,字段数据之前可以为“.表数据”,字段数据之后必须空格。
需要说明的是,实际聚类过程中,可以选择上述示例中的任意一种方式实现,也可以结合上述示例所提供的多种方式进行实现(如图3所示),本申请实施例对此并不加以限定。
可选的,所述将所述第二集合迁移至所述第一调度引擎内之后,所述方法还包括:
获取第一数据和第二数据,所述第一数据为所述第一调度引擎执行目标子流程获得的数据,所述第二数据为所述第二调度引擎执行所述目标子流程获得的数据,所述目标子流程为所述第二集合中的任意一个子流程;
在所述第一数据和所述第二数据一致的情况下,在所述第二调度引擎内移除所述目标子流程。
通过上述流程设置,以在第二集合迁移至第一调度引擎后,比较目标子流程在第一调度引擎内的执行情况和目标子流程在第二调度引擎内的执行情况,以此来判别目标子流程是否顺利成功,避免人工判别带来的误差和低效问题,进一步提升流程迁移效率。
示例性的,针对目标子流程涉及的数据表以及字段,可以在目标子流程执行之前进行数据备份,记录为data1;再基于第二调度引擎执行目标子流程,并将执行结果(即第二数据)记录为data2;随后基于data1对数据库进行数据恢复,最后基于第一调度引擎执行目标子流程,并将执行结果(即第一数据)记录为data3。
对data2和data3进行比较,若两者一致,则说明目标子流程被正确迁移至第一调度引擎,此时可删除第二调度引擎内的目标子流程,至此完成目标子流程的迁移操作;若两者不一致,则说明目标子流程未被正确迁移至第一调度引擎,此时需要发出错误信息,以使相关人员基于该错误信息定位data2和data3之间的数据差异,并根据该数据差异解决目标子流程未被正确迁移至第一调度引擎的问题。
可选的,所述根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果,包括:
获取所述第一调度引擎响应所述数据处理请求的第一执行结果、以及所述第二调度引擎响应数据处理请求的第二执行结果;
对所述第一执行结果和所述第二执行结果进行整合,获得目标执行结果。
进一步的,所述对所述第一执行结果和所述第二执行结果进行整合,获得目标执行结果,包括如下至少一项:
将所述第二执行结果远程同步至包括有所述第一执行结果的第一数据库内,并从所述第一数据库中获得所述目标执行结果;
基于预设脚本将所述第一执行结果和所述第二执行结果拷贝至第三数据库内,并从所述第三数据库中获得所述目标执行结果;
基于应用程序对所述第一执行结果和所述第二执行结果进行整合,获得所述目标执行结果。
在一些实施方式中,可以通过应用远程表的方式(即远程同步的方式),形成第一调度引擎对应数据表和第二调度引擎对应数据表的视图(Oracle数据使用dblink工具,MySQL数据库使用federated工具),随后利用监控程序直接访问远程表(即访问第一数据库对应表信息),以获得目标执行结果。
在一些实施方式中,如图4所示,可以采用同步数据库(如利用预设脚本实现)的方式将第一执行结果和第二执行结果拷贝至第三数据库中,并利用前述监控程序访问第三数据库,以获得目标执行结果。其中,第三数据库可以第一数据库(对应第一调度引擎)或第二数据库(对应第二调度引擎),也可以为除第一数据库和第二数据库外的其他数据库。
在一些实施方式中,可以根据应用程序获取并整合第一执行结果和第二执行结果,以生成目标执行结果。其中,第一执行结果和第二执行结果可以通过调用第一调度引擎和第二调度引擎的API接口获得(如图5),也可以通过直接访问第一数据库和第二数据库获得(如图6)。
需要说明的是,在获取目标执行结果的过程中,可以选择上述三种实施方式中的任一实施方式实现,也可以结合上述三种实施方式中的两种或三种实施方式实现,本申请实施例对此并不加以限定。
参见图7,图7是本申请实施例提供的一种数据处理装置200的结构示意图,所述数据处理装置200应用于大数据平台,所述大数据平台包括第一调度引擎和第二调度引擎,所述第一调度引擎内配置有第一流程和第一虚拟流程,所述第二调度引擎内配置有第二流程和第二虚拟流程;其中,所述第一虚拟流程用于将待所述第一调度引擎执行的第一子请求转发至所述第二调度引擎,所述第一子请求为所述数据处理请求中对应所述第二流程的子请求,所述第二虚拟流程用于将待所述第二调度引擎执行的第二子请求转发至所述第一调度引擎,所述第二子请求为所述数据处理请求中对应所述第一流程的子请求。
如图7所示,所述数据处理装置200包括:
接收模块201用于接收数据处理请求;
响应模块202,用于根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果。
可选的,所述第二流程包括多个子流程;
所述装置200还包括流程迁移模块;
所述流程迁移模块用于:
根据每一子流程对应的依赖信息,对所述多个子流程进行聚类,获得至少两个第一集合,其中,所述依赖信息用于表征其所对应子流程与其他子流程之间的关联;
在所述至少两个第一集合中确定第二集合,所述第二集合为所述至少两个第一集合中对应元素数目最多的第一集合;
将所述第二集合迁移至所述第一调度引擎内。
可选的,所述依赖信息包括如下至少一项:
有向无环图DAG信息;
表信息;
血缘信息,其中,所述血缘信息为其所对应的子流程经过元数据血缘分析获得的信息。
可选的,所述装置200还包括验证模块;
所述验证模块用于:
获取第一数据和第二数据,所述第一数据为所述第一调度引擎执行目标子流程获得的数据,所述第二数据为所述第二调度引擎执行所述目标子流程获得的数据,所述目标子流程为所述第二集合中的任意一个子流程;
在所述第一数据和所述第二数据一致的情况下,在所述第二调度引擎内移除所述目标子流程。
可选的,所述响应模块202包括:
响应子模块,用于获取所述第一调度引擎响应所述数据处理请求的第一执行结果、以及所述第二调度引擎响应数据处理请求的第二执行结果;
整合子模块,用于对所述第一执行结果和所述第二执行结果进行整合,获得目标执行结果。
可选的,所述整合子模块包括如下至少一项:
第一整合单元,用于将所述第二执行结果远程同步至包括有所述第一执行结果的第一数据库内,并从所述第一数据库中获得所述目标执行结果;
第二整合单元,用于基于预设脚本将所述第一执行结果和所述第二执行结果拷贝至第三数据库内,并从所述第三数据库中获得所述目标执行结果;
第三整合单元,用于基于应用程序对所述第一执行结果和所述第二执行结果进行整合,获得所述目标执行结果。
所述数据处理装置200能够实现本申请实施例中图1方法实施例的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。
本申请实施例还提供一种电子设备。请参见图8,电子设备可以包括处理器301、存储器302及存储在存储器302上并可在处理器301上运行的程序3021。
程序3021被处理器301执行时可实现图1对应的方法实施例中的任意步骤及达到相同的有益效果,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法的全部或者部分步骤是可以通过程序指令相关的硬件来完成,所述的程序可以存储于一可读取介质中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时可实现上述图1对应的方法实施例中的任意步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述是本申请实施例的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (8)

1.一种数据处理方法,应用于大数据平台,其特征在于,所述大数据平台包括第一调度引擎和第二调度引擎,所述第一调度引擎内配置有第一流程和第一虚拟流程,所述第二调度引擎内配置有第二流程和第二虚拟流程;
所述数据处理方法包括:
接收数据处理请求;
根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果;
其中,所述第一虚拟流程用于将待所述第一调度引擎执行的第一子请求转发至所述第二调度引擎,所述第一子请求为所述数据处理请求中对应所述第二流程的子请求,所述第二虚拟流程用于将待所述第二调度引擎执行的第二子请求转发至所述第一调度引擎,所述第二子请求为所述数据处理请求中对应所述第一流程的子请求;
所述第二流程包括多个子流程;
所述根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果之后,所述方法还包括:
根据每一子流程对应的依赖信息,对所述多个子流程进行聚类,获得至少两个第一集合,其中,所述依赖信息用于表征其所对应子流程与其他子流程之间的关联;
在所述至少两个第一集合中确定第二集合,所述第二集合为所述至少两个第一集合中对应元素数目最多的第一集合;
将所述第二集合迁移至所述第一调度引擎内。
2.根据权利要求1所述的方法,其特征在于,所述依赖信息包括如下至少一项:
有向无环图DAG信息;
表信息;
血缘信息,其中,所述血缘信息为其所对应的子流程经过元数据血缘分析获得的信息。
3.根据权利要求1所述的方法,其特征在于,所述将所述第二集合迁移至所述第一调度引擎内之后,所述方法还包括:
获取第一数据和第二数据,所述第一数据为所述第一调度引擎执行目标子流程获得的数据,所述第二数据为所述第二调度引擎执行所述目标子流程获得的数据,所述目标子流程为所述第二集合中的任意一个子流程;
在所述第一数据和所述第二数据一致的情况下,在所述第二调度引擎内移除所述目标子流程。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果,包括:
获取所述第一调度引擎响应所述数据处理请求的第一执行结果、以及所述第二调度引擎响应数据处理请求的第二执行结果;
对所述第一执行结果和所述第二执行结果进行整合,获得目标执行结果。
5.根据权利要求4所述的方法,其特征在于,所述对所述第一执行结果和所述第二执行结果进行整合,获得目标执行结果,包括如下至少一项:
将所述第二执行结果远程同步至包括有所述第一执行结果的第一数据库内,并从所述第一数据库中获得所述目标执行结果;
基于预设脚本将所述第一执行结果和所述第二执行结果拷贝至第三数据库内,并从所述第三数据库中获得所述目标执行结果;
基于应用程序对所述第一执行结果和所述第二执行结果进行整合,获得所述目标执行结果。
6.一种数据处理装置,应用于大数据平台,其特征在于,所述大数据平台包括第一调度引擎和第二调度引擎,所述第一调度引擎内配置有第一流程和第一虚拟流程,所述第二调度引擎内配置有第二流程和第二虚拟流程;
所述数据处理装置包括:
接收模块,用于接收数据处理请求;
响应模块,用于根据所述第一调度引擎和所述第二调度引擎对所述数据处理请求进行响应,生成目标执行结果;
其中,所述第一虚拟流程用于将待所述第一调度引擎执行的第一子请求转发至所述第二调度引擎,所述第一子请求为所述数据处理请求中对应所述第二流程的子请求,所述第二虚拟流程用于将待所述第二调度引擎执行的第二子请求转发至所述第一调度引擎,所述第二子请求为所述数据处理请求中对应所述第一流程的子请求;
所述第二流程包括多个子流程;
所述装置还包括流程迁移模块;
所述流程迁移模块用于:
根据每一子流程对应的依赖信息,对所述多个子流程进行聚类,获得至少两个第一集合,其中,所述依赖信息用于表征其所对应子流程与其他子流程之间的关联;
在所述至少两个第一集合中确定第二集合,所述第二集合为所述至少两个第一集合中对应元素数目最多的第一集合;
将所述第二集合迁移至所述第一调度引擎内。
7.一种电子设备,其特征在于,所述电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器,用于读取存储器中的程序实现如权利要求1至5中任一项所述的数据处理方法中的步骤。
8.一种可读存储介质,其特征在于,所述可读存储介质用于存储程序,所述程序被处理器执行时实现如权利要求1至5中任一项所述的数据处理方法中的步骤。
CN202210943920.1A 2022-08-05 2022-08-05 数据处理方法、装置、电子设备和可读存储介质 Active CN115237573B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210943920.1A CN115237573B (zh) 2022-08-05 2022-08-05 数据处理方法、装置、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210943920.1A CN115237573B (zh) 2022-08-05 2022-08-05 数据处理方法、装置、电子设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN115237573A CN115237573A (zh) 2022-10-25
CN115237573B true CN115237573B (zh) 2023-08-18

Family

ID=83679045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210943920.1A Active CN115237573B (zh) 2022-08-05 2022-08-05 数据处理方法、装置、电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN115237573B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470635A (zh) * 2007-12-24 2009-07-01 联想(北京)有限公司 一种多虚拟处理器同步调度的方法及计算机
CN101719082A (zh) * 2009-12-24 2010-06-02 中国科学院计算技术研究所 虚拟化计算平台中应用请求调度的方法及其***
CN103444141A (zh) * 2011-04-05 2013-12-11 瑞典爱立信有限公司 分组调度方法和设备
CN109861850A (zh) * 2019-01-11 2019-06-07 中山大学 一种基于sla的无状态云工作流负载均衡调度的方法
CN111611221A (zh) * 2019-02-26 2020-09-01 北京京东尚科信息技术有限公司 混合计算***、数据处理方法及装置
CN114647491A (zh) * 2020-12-17 2022-06-21 中移(苏州)软件技术有限公司 一种任务调度方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470635A (zh) * 2007-12-24 2009-07-01 联想(北京)有限公司 一种多虚拟处理器同步调度的方法及计算机
CN101719082A (zh) * 2009-12-24 2010-06-02 中国科学院计算技术研究所 虚拟化计算平台中应用请求调度的方法及其***
CN103444141A (zh) * 2011-04-05 2013-12-11 瑞典爱立信有限公司 分组调度方法和设备
CN109861850A (zh) * 2019-01-11 2019-06-07 中山大学 一种基于sla的无状态云工作流负载均衡调度的方法
CN111611221A (zh) * 2019-02-26 2020-09-01 北京京东尚科信息技术有限公司 混合计算***、数据处理方法及装置
CN114647491A (zh) * 2020-12-17 2022-06-21 中移(苏州)软件技术有限公司 一种任务调度方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115237573A (zh) 2022-10-25

Similar Documents

Publication Publication Date Title
US10248671B2 (en) Dynamic migration script management
CN110222036B (zh) 用于自动数据库迁移的方法和***
CN110046149B (zh) 用于自动数据库迁移的方法、***和介质
US10042903B2 (en) Automating extract, transform, and load job testing
CN110275861B (zh) 数据存储方法及装置、存储介质、电子装置
US9892121B2 (en) Methods and systems to identify and use event patterns of application workflows for data management
CN111125444A (zh) 大数据任务调度管理方法、装置、设备及存储介质
US9892122B2 (en) Method and apparatus for determining a range of files to be migrated
CN105677465B (zh) 应用于银行跑批处理的数据处理方法及装置
CN111258881B (zh) 一种用于工作流程测试的智能测试***
CN112559525B (zh) 数据检查***、方法、装置和服务器
US9847941B2 (en) Selectively suppress or throttle migration of data across WAN connections
CN112860540B (zh) 软件版本升级测试管控***及方法
CN115237573B (zh) 数据处理方法、装置、电子设备和可读存储介质
CN111638920B (zh) 计算机程序同步任务处理方法、装置、电子设备和介质
CN115878386A (zh) 容灾方法、装置、电子设备及存储介质
CN105868957A (zh) 一种持续集成方法及装置
CN110928860B (zh) 数据迁移方法和装置
WO2019062087A1 (zh) 考勤数据测试方法、终端、设备以及计算机可读存储介质
US8321844B2 (en) Providing registration of a communication
CN104731697A (zh) 测试用例的运行控制方法、控制***和***
CN110019448A (zh) 一种数据交互方法及装置
JP3547691B2 (ja) ジョブ検査装置、ジョブ検査方法、及びジョブ検査プログラムを記録した記録媒体
CN114968748B (zh) 一种数据库测试方法、***及装置
US11762875B2 (en) Machine assisted data aggregation

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
GR01 Patent grant
GR01 Patent grant