计算流图优化方法、数据库访问方法及装置制造方法及图纸

技术编号:24331091 阅读:67 留言:0更新日期:2020-05-29 19:37
本发明专利技术提供了一种计算流图优化方法、数据库访问方法及装置,其中,该计算流图优化方法包括:获取初始计算流图;基于节点本身的操作、节点所接收的输入内容、及节点的所有入度信息确认所述初始计算流图中第一节点和第二节点的执行效果相同;将所述第一节点和所述第二节点合并为一个节点;根据合并节点后的初始计算流图得到优化后的计算流图。上述方案通过优化计算流图中的节点能够加快计算流图的运算效率。

Optimization method of computational flow graph, database access method and device

【技术实现步骤摘要】
计算流图优化方法、数据库访问方法及装置
本专利技术涉及计算机
,尤其涉及一种计算流图优化方法、数据库访问方法及装置。
技术介绍
数据库本质上是一个与应用程序彼此独立的数据集合。利用SQL语言(StructuredQueryLanguage,结构化查询语言)能够对数据库执行各种操作,例如,存取数据、查询、更新及管理关系数据库。然而,对数据库执行操作的过程中会涉及重复的运算操作,例如,不同运算操作均需从数据库的数据表中取某些数据。重复执行这些运算操作会降低数据库的执行效率。
技术实现思路
本专利技术提供了一种计算流图优化方法、数据库访问方法及装置,以加快计算流图的运算效率。为了达到上述目的,本专利技术采用以下方案实现:根据本专利技术实施例的一个方面,提供了一种计算流图优化方法,包括:获取初始计算流图;基于节点本身的操作、节点所接收的输入内容、及节点的所有入度信息确认所述初始计算流图中第一节点和第二节点的执行效果相同;将所述第一节点和所述第二节点合并为一个节点;根据合并节点后的初始计算流图得到优化后的计算流图。在一些实施例中,所述节点所接收的输入内容包括:节点所接收的参数值,和/或节点所接收的嵌套操作及嵌套操作的参数值。在一些实施例中,基于节点本身的操作、节点所接收的输入内容、及节点的所有入度信息确认所述初始计算流图中第一节点和第二节点的执行效果相同,包括:根据所述初始计算流图中第一节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第一节点添加第一标识,并根据所述初始计算流图中第二节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第二节点添加第二标识;若确认所述第一标识和所述第二标识相同,则确认所述第一节点和所述第二节点的执行效果相同。在一些实施例中,根据所述初始计算流图中第一节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第一节点添加第一标识,并根据所述初始计算流图中第二节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第二节点添加第二标识,包括:从所述初始计算流图中尚未添加标识的所有节点中选择执行顺序最靠前的第一节点,并根据所述第一节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第一节点添加第一标识;从所述初始计算流图中尚未添加标识的所有节点中选择执行顺序最靠前且执行顺序位于所述第一节点之后的第二节点,并根据所述第二节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第二节点添加第二标识。在一些实施例中,将所述第一节点和所述第二节点合并为一个节点之后,且根据合并节点后的初始计算流图得到优化后的计算流图之前,所述方法还包括:从所述初始计算流图中尚未添加标识的所有节点中选择执行顺序最靠前且执行顺序位于所述第二节点之后的第三节点,并根据所述第三节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第三节点添加第三标识;若确认所述第三标识和所述初始计算流图中第四节点的第四标识相同,则确认所述第三节点和所述第四节点的执行效果相同;将所述第三节点和所述第四节点合并为一个节点;其中,所述第四标识是根据所述第四节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息,在添加所述第一标识之前、添加所述第一标识和所述第二标识之间、或添加所述第二标识和所述第三标识之前为所述第四节点添加的,相应地,所述第三节点在所述初始计算流图中的执行顺序位于所述第一节点之前、位于所述第一节点和所述第二节点之间、或位于所述第二节点和所述第三节点之间。在一些实施例中,将所述第一节点和所述第二节点合并为一个节点,包括:将所述第一节点指向所述第二节点的输出节点,将所述第二节点的输入节点指向所述第一节点,删除所述第二节点的输入拓扑关系和输出拓扑关系,并对所述第二节点做放弃执行处理。在一些实施例中,对所述第二节点做放弃执行处理,包括:为所述第二节点添加失能标识。在一些实施例中,根据合并节点后的初始计算流图得到优化后的计算流图,包括:将所有执行效果相同的不同节点均完成节点合并的初始计算流图作为优化后的计算流图,并输出优化后的计算流图。根据本专利技术实施例的另一个方面,提供了一种基于数据库访问的计算流图的优化方法,包括:利用上述任一实施例所述的计算流图优化方法对基于数据库访问的初始计算流图进行优化。根据本专利技术实施例的又一个方面,提供了一种数据库访问方法,包括:接收并解析SQL语句,根据解析后的SQL语句生成语法树;基于所述语法树构建所述SQL语句的初始计算流图;利用上述任一实施例所述的基于数据库访问的计算流图的优化方法对所述初始计算流图进行优化;基于优化后的初始计算流图执行访问数据库的操作并返回执行结果。根据本专利技术实施例的再一个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述方法的步骤。根据本专利技术实施例的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法的步骤。本专利技术实施例的计算流图优化方法、基于数据库访问的计算流图的优化方法、数据库访问方法、电子设备及计算机可读存储介质,通过对于节点本身操作,节点接收的变量信息以及节点的入度信息作为一个集合进行统一考虑,若两个节点的集合在进行比较之后发现完全相同,则可以确认两个节点的执行效果完全相同,可以将两个节点合并为一个节点,这样就节省了执行节点的总个数,所以通过优化节点执行关系以及复用节点的方式,加快了计算流图的运算效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1是本专利技术一实施例的计算流图优化方法的流程示意图;图2是本专利技术一实施例的数据库访问方法的流程示意图;图3是本专利技术一具体实施例的计算流图优化方法的流程示意图;图4是本专利技术一具体实施例的基于数据库访问的计算流图的优化方法的代码示例;图5是本专利技术一具体实施例中获取的初始计算流图的示意图;图6是本专利技术一具体实施例中修改执行效果相同的节点的拓扑关系的示意图;图7是本专利技术一具体实施例中将节点标记为失能的示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。需要预先说明的是,下述实施例或示例的描述或其中所提及的特征可以以相同或类似的方式,与其他实施例或示例中的特征组合,或替换其他实施例或示例中的特征,以形成可能的实施方式。另外,本文档来自技高网...

【技术保护点】
1.一种计算流图优化方法,其特征在于,包括:/n获取初始计算流图;/n基于节点本身的操作、节点所接收的输入内容、及节点的所有入度信息确认所述初始计算流图中第一节点和第二节点的执行效果相同;/n将所述第一节点和所述第二节点合并为一个节点;/n根据合并节点后的初始计算流图得到优化后的计算流图。/n

【技术特征摘要】
1.一种计算流图优化方法,其特征在于,包括:
获取初始计算流图;
基于节点本身的操作、节点所接收的输入内容、及节点的所有入度信息确认所述初始计算流图中第一节点和第二节点的执行效果相同;
将所述第一节点和所述第二节点合并为一个节点;
根据合并节点后的初始计算流图得到优化后的计算流图。


2.如权利要求1所述的计算流图优化方法,其特征在于,所述节点所接收的输入内容包括:节点所接收的参数值,和/或节点所接收的嵌套操作及嵌套操作的参数值。


3.如权利要求1所述的计算流图优化方法,其特征在于,基于节点本身的操作、节点所接收的输入内容、及节点的所有入度信息确认所述初始计算流图中第一节点和第二节点的执行效果相同,包括:
根据所述初始计算流图中第一节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第一节点添加第一标识,并根据所述初始计算流图中第二节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第二节点添加第二标识;
若确认所述第一标识和所述第二标识相同,则确认所述第一节点和所述第二节点的执行效果相同。


4.如权利要求3所述的计算流图优化方法,其特征在于,根据所述初始计算流图中第一节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第一节点添加第一标识,并根据所述初始计算流图中第二节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第二节点添加第二标识,包括:
从所述初始计算流图中尚未添加标识的所有节点中选择执行顺序最靠前的第一节点,并根据所述第一节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第一节点添加第一标识;
从所述初始计算流图中尚未添加标识的所有节点中选择执行顺序最靠前且执行顺序位于所述第一节点之后的第二节点,并根据所述第二节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所述第二节点添加第二标识。


5.如权利要求4所述的计算流图优化方法,其特征在于,将所述第一节点和所述第二节点合并为一个节点之后,且根据合并节点后的初始计算流图得到优化后的计算流图之前,所述方法还包括:
从所述初始计算流图中尚未添加标识的所有节点中选择执行顺序最靠前且执行顺序位于所述第二节点之后的第三节点,并根据所述第三节点的节点本身的操作、节点所接收的输入内容、及节点的所有入度信息为所...

【专利技术属性】
技术研发人员:鄢贵海王毅豪龚施俊
申请(专利权)人:中科驭数北京科技有限公司
类型:发明
国别省市:北京;11

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

1