数据处理方法、装置、电子设备、存储介质及程序产品制造方法及图纸

技术编号:37578903 阅读:9 留言:0更新日期:2023-05-15 07:54
本申请实施例提供了一种数据处理方法、装置、电子设备、存储介质及程序产品,涉及数据处理技术领域。该方法包括:根据多个待获取的目标数据之间的依赖关系,构建对应的有向无环图;从有向无环图的至少一个起始节点到结束节点,依次获取每一个节点对应的目标数据;其中,任意两个不包含依赖关系的节点分别采用对应的协程获取目标数据;将结束节点所获取的目标数据作为目标结果。本申请提供的数据处理方法根据依赖关系设置有向无环图并进行数据的获取,无依赖关系的节点使用协程独立地获取各自的目标数据,能够避免获取数据时产生阻塞,能够减少耗时,提高系统性能。提高系统性能。提高系统性能。

【技术实现步骤摘要】
数据处理方法、装置、电子设备、存储介质及程序产品


[0001]本申请涉及数据处理
,具体而言,本申请涉及一种数据处理方法、装置、电子设备、存储介质及计算机程序产品。

技术介绍

[0002]随着信息技术的发展,各个应用程序的页面场景由结构化数据组成,而组成结构化数据的是若干个部分的数据,这些数据来源于不同的上游业务,各个部分的数据也存在一定的依赖关系,如何获取这些来源不同的数据是一个需要解决的问题。
[0003]现存的方案中,是通过使用多线程并行获取不同的数据源,每个线程处理一个数据,使用代码的先后顺序体现不同数据之间的依赖关系,但不恰当的代码顺序让不同数据源的数据的依赖关系不够清晰容易阻塞,使得耗时较长,降低了系统性能。

技术实现思路

[0004]本申请实施例旨在解决多个数据源依赖关系不明确在获取数据时容易阻塞,耗时较长效率低的问题。所述技术方案如下:第一方面,本申请提供了一种数据处理方法,其特征在于,包括:根据多个待获取的目标数据之间的依赖关系,构建对应的有向无环图;从所述有向无环图的至少一个起始节点到结束节点,依次获取每一个节点对应的目标数据;其中,任意两个不包含依赖关系的节点分别采用对应的协程获取目标数据;将结束节点所获取的目标数据作为目标结果。
[0005]在第一方面的可选实施例中,所述根据多个待获取的目标数据之间的依赖关系,构建对应的有向无环图,包括:确定所述多个目标数据之间有直接依赖关系的数据对;将所述有直接依赖关系的数据对通过边连接;基于各个所述数据对对应的两个目标数据之间的依赖关系确定所述边的方向,生成所述有向无环图。
[0006]在第一方面的可选实施例中,所述从所述有向无环图的至少一个起始节点到结束节点,依次获取每一个节点对应的目标数据之前,还包括:确定不依赖其他目标数据的第一数据,将所述第一数据的节点作为所述起始节点;确定不被其他目标数据依赖的第二数据,将所述第二数据作为所述结束节点。
[0007]在第一方面的可选实施例中,所述依次获取每一个节点对应的目标数据,包括:针对于每一个节点,从所述目标数据中确定所述节点的传递信息;基于所述传递信息获取相邻后向节点的传递数据;所述相邻后向节点对应的目标数据直接依赖于所述节点的传递数据。
[0008]在第一方面的可选实施例中,所述有向无环图中的边为连接有依赖关系的两个节
点的通信通道;所述方法还包括:将所述传递数据通过所述通信通道发送至所述相邻后向节点,以使所述相邻后向节点基于所述传递数据获取目标数据。
[0009]在第一方面的可选实施例中,在所述将所述传递数据通过所述通信通道发送至所述相邻后向节点之前,还包括:针对任意有依赖关系的两个节点,基于各节点对应的协程之间的通信功能创建所述两个节点之间的通信通道。
[0010]在第一方面的可选实施例中,所述方法还包括:接收针对更新数据的处理请求;响应于所述处理请求,从所述有向无环图中确定与所述更新数据具有直接依赖关系的至少两个关联节点;基于所确定的至少两个关联节点创建与所述更新数据对应的更新节点,生成更新后的有向无环图;基于所述更新后的有向无环图获取所述目标数据。
[0011]第二方面,本申请提供了一种数据处理装置,其特征在于,包括:构建模块,用于根据多个待获取的目标数据之间的依赖关系,构建对应的有向无环图;执行模块,用于从所述有向无环图的至少一个起始节点到结束节点,依次获取每一个节点对应的目标数据;其中,任意两个不包含依赖关系的节点分别采用对应的协程获取目标数据;获取模块,用于将结束节点获取的目标数据作为目标结果。
[0012]第三方面,本申请提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现上述数据处理方法的步骤。
[0013]第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据处理方法的步骤。
[0014]第五方面,本申请提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述数据处理方法的步骤。
[0015]本申请实施例提供的技术方案带来的有益效果是:本申请提供的数据处理方法,通过多个待获取的目标数据之间的依赖关系,以多个目标数据为节点,以节点之间的依赖关系为边,构建对应的有向无环图;从有向无环图的至少一个起始节点到结束节点依次获取每个节点对应的目标数据,将结束节点获取的目标数据作为目标结果;将数据之间的依赖关系生成有向无环图,能够使数据之间的依赖关系更加清晰,根据有向无环图进行数据的获取,无依赖关系的节点独立地获取各自的目标数据,能够避免获取数据时产生阻塞,能够减少耗时,提高系统性能;另外,当有新的数据需要更新在已有的待获取数据中,只需要确定与更新数据有依赖关系的数据对应的节点,生成新的有向无环图,这样就不需要影响与更新数据不存在关系的数据,能够尽量减少影响数据的范围,进行小范围的更新,能够增大系统的稳定性。
附图说明
[0016]为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
[0017]图1为本申请实施例提供的一种数据处理方法的应用场景示意图;图2为本申请实施例提供的一种数据处理方法的流程示意图;图3为本申请实施例提供的一种数据处理方法中处理更新数据的流程示意图;图4为本申请实施例提供的一种数据处理方法的一种示例的流程示意图;图5为本申请实施例提供的一种数据处理装置的结构示意图;图6为本申请实施例提供的一种数据处理方法适用的电子设备的结构示意图。
具体实施方式
[0018]下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
[0019]本
技术人员可以理解,除非特意声明,这里使用的单数形式
ꢀ“
一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作和组件,但不排除实现为本
所支持其他特征、信息、数据、步骤、操作、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。
[0020]为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0021]首先对本申请涉及的几个名词进行介绍和解释:有向无环图(DAG,Directed Acyclic Graph):如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图。
[0022]协程(coroutine):协程运行在线本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:根据多个待获取的目标数据之间的依赖关系,构建对应的有向无环图;从所述有向无环图的至少一个起始节点到结束节点,依次获取每一个节点对应的目标数据;其中,任意两个不包含依赖关系的节点分别采用对应的协程获取目标数据;将结束节点所获取的目标数据作为目标结果。2.根据权利要求1所述的数据处理方法,其特征在于,所述根据多个待获取的目标数据之间的依赖关系,构建对应的有向无环图,包括:确定所述多个目标数据之间有直接依赖关系的数据对;将所述有直接依赖关系的数据对通过边连接;基于各个所述数据对对应的两个目标数据之间的依赖关系确定所述边的方向,生成所述有向无环图。3.根据权利要求1所述的数据处理方法,其特征在于,所述从所述有向无环图的至少一个起始节点到结束节点,依次获取每一个节点对应的目标数据之前,还包括:确定不依赖其他目标数据的第一数据,将所述第一数据的节点作为所述起始节点;确定不被其他目标数据依赖的第二数据,将所述第二数据作为所述结束节点。4.根据权利要求1所述的数据处理方法,其特征在于,所述依次获取每一个节点对应的目标数据,包括:针对于每一个节点,从所述目标数据中确定所述节点的传递信息;基于所述传递信息获取相邻后向节点的传递数据;所述相邻后向节点对应的目标数据直接依赖于所述节点的传递数据。5.根据权利要求4所述的数据处理方法,其特征在于,所述有向无环图中的边为连接有依赖关系的两个节点的通信通道;所述方法还包括:将所述传递数据通过所述通信通道发送至所述相邻后向节点,以使所述相邻后向节点基于所...

【专利技术属性】
技术研发人员:姚城徐鹏程
申请(专利权)人:北京淘友天下技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1