CN115221494A - 一种图校验方法及相关设备 - Google Patents

一种图校验方法及相关设备 Download PDF

Info

Publication number
CN115221494A
CN115221494A CN202110404484.6A CN202110404484A CN115221494A CN 115221494 A CN115221494 A CN 115221494A CN 202110404484 A CN202110404484 A CN 202110404484A CN 115221494 A CN115221494 A CN 115221494A
Authority
CN
China
Prior art keywords
data type
default
input data
type
computing node
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
Application number
CN202110404484.6A
Other languages
English (en)
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies 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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202110404484.6A priority Critical patent/CN115221494A/zh
Publication of CN115221494A publication Critical patent/CN115221494A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例公开了一种图校验的方法及相关设备,其特征在于,应用于图计算引擎,图计算引擎包括M个计算节点;M个计算节点中的每个计算节点对应默认输入数据类型和默认输出数据类型;M个计算节点包括第一计算节点和第二计算节点,第一计算节点的实际输出数据的目标节点为第二计算节点;该方法包括:判断第一计算节点对应的第一默认输出数据类型与第二计算节点对应的第二默认输入数据类型是否相同;若不同,判断第一默认输出数据类型是否为第二默认输入数据类型的后代类型;若第一默认输出数据类型是第二默认输入数据类型的后代类型,则将第二计算节点确定为合法节点。采用本发明实施例可以对计算节点间的连接进行校验,提升用户体验。

Description

一种图校验方法及相关设备
技术领域
本发明涉及数据处理技术领域,尤其涉及一种图校验方法及相关设备。
背景技术
随着大数据技术和人工智能技术的快速发展,各大公司,尤其是互联网企业,都在从各个角度采集数据、存储数据、处理数据、分享数据、检索数据、分析数据、展示数据和挖掘数据背后的商业价值。不同个体之间彼此交互而产生的数据以图的形式表现,在通信、互联网、电子商务、社交网络和物联网等领域都积累有大规模的图数据。通过图计算的方法可以对这些图数据进行处理,从而提高计算机对数据的处理能力和分析能力。
在图计算技术中,图计算引擎将一些计算功能封装成为一个个独立的计算节点,再将这些独立的计算节点连接起来构成描述业务的图(Graph),然后在图运行阶段基于该图对数据进行处理。这些计算节点中的每个计算节点的输入数据类型和输出数据类型是固定的,例如,一个解码计算节点的默认输入数据类型为图片类型,默认输出数据类型为字符类型,当该解码计算节点接收到图片类型数据后能对该数据进行处理输出字符类型数据。然而,在图运行过程中发现,当某个计算节点接收到一个与默认输入数据类型不同的数据时,在该计算节点处会发生未知错误,从而影响整个图计算过程。
因此如何在图运行前对计算节点间的连接进行校验,以提升用户体验是亟待解决的问题。
发明内容
本发明实施例提供了一种图校验方法及相关设备,能够在图运行前对计算节点间的连接进行校验,以提升用户体验。
第一方面,本发明实施例提供了一种图校验方法,其特征在于,应用于图计算引擎,所述图计算引擎包括M个计算节点;所述M个计算节点中的每个计算节点对应默认输入数据类型和默认输出数据类型;所述M个计算节点包括第一计算节点和第二计算节点,所述第一计算节点的实际输出数据的目标节点为所述第二计算节点;所述方法包括:判断所述第一计算节点对应的第一默认输出数据类型与所述第二计算节点对应的第二默认输入数据类型是否相同;若不同,判断所述第一默认输出数据类型是否为所述第二默认输入数据类型的后代类型;所述后代类型包括所述第二默认输入数据类型的子类型及其子类型的子类型;若所述第一默认输出数据类型是所述第二默认输入数据类型的后代类型,则将所述第二计算节点确定为合法节点。
在图计算场景中,现有技术中仅根据有关联关系的两个计算节点中的一个计算节点的默认输出数据类型与另一个计算节点(将其称为当前计算节点)的默认输入数据类型之间的关系,对图中的各计算节点之间的连接关系进行校验,当两种数据类型不一致时,判定当前计算节点为非法计算节点;在该情况下,若要将当前计算节点转换为合法节点,则需要在两个计算节点之间添加过渡计算节点对数据类型进行转换处理,才能达到转换的目的。而在本发明实施例中,图计算引擎在构图阶段对图中的各计算节点间的连接关系进行校验时,若上一计算节点的默认输出数据类型与当前计算节点的默认输入数据类型不同,但当前计算节点的默认输入数据类型能够兼容上一计算节点的默认输出数据类型时,也可以将当前计算节点定义为合法节点。一方面,在图计算中,避免了在图运行过程中才能确定图连接是否正确,导致出现未知错误并影响图计算结果的问题;另一方面,避免了在能够兼容数据类型的计算节点之间添加多余的过渡节点,导致图中计算节点数量增加和各计算节点之间的连接关系更加复杂的问题,能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性。
在一种可能的实现方式中,所述M个计算节点中包括一个或多个所述第一计算节点;所述M个计算节点中包括一个或多个所述第二计算节点。
在本发明实施例中,若图中存在M个计算节点,且M个计算节点之间存在多个计算节点与计算节点之间的连接关系,在图运行前对每个连接关系都进行图校验,能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性和用户体验。
在一种可能的实现方式中,所述判断所述第一默认输出数据类型是否为所述第二默认输入数据类型的后代类型,包括:确定所述第二默认输入数据类型在数据类型管理树中作为父节点时所对应的一个或多个后代节点的数据类型;所述后代节点包括所述父节点的子节点及其子节点的子节点;判断所述第一默认输出数据类型是否为所述一个或多个后代节点的数据类型中的其中一种。
在本发明实施例中,通过查找数据类型管理树中将当前计算节点的默认输入数据类型作为父节点时,其对应的后代节点的数据类型,然后将后代节点的数据类型与上一计算节点的默认输出数据类型进行比较,判断是否为后代类型中的一种,从而实现将数据类型兼容的计算节点确定为合法节点,能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性和用户体验。
在一种可能的实现方式中,若所述第一默认输出数据类型为所述一个或多个后代节点的数据类型中的其中一种,则所述第一默认输出数据类型是所述第二默认输入数据类型的后代类型;若所述第一默认输出数据类型不为所述一个或多个后代节点的数据类型中的其中一种,则所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型。
在本发明实施例中,若上一计算节点的默认输出数据类型为当前计算节点的默认输入数据类型在数据管理树中作为父节点时,其后代节点的数据类型中的一种,则当前计算节点能够兼容上一计算节点的默认输出数据类型;若上一计算节点的默认输出数据类型不是当前计算节点的默认输入数据类型在数据管理树中作为父节点时,其后代节点的数据类型中的一种,则当前计算节点不能够兼容上一计算节点的默认输出数据类型。能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性和用户体验。
在一种可能的实现方式中,所述数据类型管理树为所述M个计算节点的默认输入数据类型或默认输出数据类型之间的关系结构树。
在本发明实施例中,M个计算节点的默认输入数据类型或默认输出数据类型包括多种,如矩阵类型、图片类型、视频类型、音频类型等,根据不同的数据类型之间是否能够兼容构建多层的数据类型管理树,从而实现在图校验时能够快速确定当前计算节点的默认输入数据类型是否能够兼容上一计算节点的默认输出数据类型,进而能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性和用户体验。
在一种可能的实现方式中,所述方法还包括:若所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型,则查找预设表中是否存在第一预设数据转换方法;所述第一预设数据转换方法为将所述第一默认输出数据类型转换为所述第二默认输入数据类型的方法;若存在,则将所述第二计算节点确定为合法节点。
在本发明实施例中,若当前计算节点的默认输入数据类型与上一计算节点的默认输出数据类型不同且不兼容时,则可以从预设表中查找是否存在将上一计算节点的默认输出数据的数据类型转换为当前计算节点的默认输入数据的数据类型的方法,如果存在也将当前计算节点确定为合法计算节点,从而将两个本不能直接进行连接的计算节点连接了起来,能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性和用户体验。
在一种可能的实现方式中,所述方法还包括:将所述第一预设转换方法的转换逻辑添加至所述第二计算节点的数据输入接口上。
在本发明实施例中,若当前计算节点的默认输入数据类型与上一计算节点的默认输出数据类型不同且不兼容,但存在将上一计算节点的默认输出数据的数据类型转换为当前计算节点的默认输入数据的数据类型的方法,则在当前计算节点的数据输入接口上添加该转换方法的转换逻辑,便于在图运行阶段时对上一节点的输出数据进行转换,提供了更多的构图选择,提升了图的可用性和用户体验。
在一种可能的实现方式中,所述方法还包括:当所述第二计算节点为合法节点,且所述第一默认输出数据类型不为所述第二默认输入数据类型的后代类型的情况下,基于所述第一预设转换方法将所述第一实际输出数据的数据类型转换为所述第二默认输入数据类型,得到所述第二计算节点的第二实际输入数据。
在本发明实施例中,当图中的计算节点都为合法节点时,在图运行阶段,若当前计算节点的默认输入数据类型与上一计算节点的默认输出数据类型不同且不兼容,但可以进行转换,则基于转换方法将上一计算节点的实际输出数据的数据类型转换为当前计算节点的默认输入数据类型,确保后续当前计算节点能够正常对数据进行处理,提供了更多的构图选择,提升了图的可用性和用户体验。
在一种可能的实现方式中,所述方法还包括:判断所述第二实际输入数据是否满足所述第二默认输入数据类型的校准逻辑;若满足,则向所述第二计算节点发送所述第二实际输入数据。
在本发明实施例中,在图运行阶段,当上一计算节点的实际输出数据的数据类型转换为当前计算节点的默认输入数据类型后,为了避免数据出现非法数据,则在将数据输入到当前计算节点前,需要对数据进行校准,如果数据能够满足当前计算节点的默认输入数据类型的校准逻辑,则将数据输入到当前计算节点并进行处理,降低了数据发生错误的概率,提供了更多的构图选择,提升了图的可用性和用户体验。同时,在本发明实施例中是由图计算引擎对数据进行校准,用户无需针对每个计算节点设计相应的校准逻辑,减轻了开发计算节点人员的工作难度。
在一种可能的实现方式中,所述方法还包括:当所述第二计算节点为合法节点,且所述第一默认输出数据类型为所述第二默认输入数据类型的后代类型的情况下,将所述第一实际输出数据确定为所述第二计算节点的第二实际输入数据。
在本发明实施例中,当图中的计算节点都为合法节点时,在图运行阶段,若当前计算节点的默认输入数据类型与上一计算节点的默认输出数据类型不同,但当前计算节点的默认输入数据类型能够兼容上一计算节点的默认输出数据类型时,可将上一计算节点的实际输出数据作为当前计算节点的输入数据,提供了更多的构图选择,提升了图的可用性和用户体验。
在一种可能的实现方式中,所述方法还包括:判断所述第二实际输入数据是否满足所述第二默认输入数据类型的前代数据类型的校准逻辑;若所述第二实际输入数据满足所述第二默认输入数据类型的前代数据类型的校准逻辑,则判断所述第二实际输入数据是否满足所述第二默认输入数据类型的校准逻辑;若满足,则向所述第二计算节点发送所述第二实际输入数据。
在本发明实施例中,在图运行阶段,若当前计算节点的默认输入数据类型能够兼容上一计算节点的默认输出数据类型,在上一计算节点输出数据后,为了避免数据出现非法数据,则在数据输入到当前计算节点前,需要对数据进行校准。逐一从根数据类型开始确认数据是否满足相关链上的校准逻辑,直到满足当前计算节点的默认输入数据类型的校准逻辑,则将数据输入到当前计算节点并进行处理,降低了数据发生错误的概率,提供了更多的构图选择,提升了图的可用性和用户体验。同时,在本发明实施例中是由图计算引擎对数据进行校准,无需针对每个计算节点设计相应的校准逻辑,减轻了设计图中计算节点的工作难度。
第二方面,本申请提供了一种图校验设备,其特征在于,应用于图计算引擎,所述图计算引擎包括M个计算节点;所述M个计算节点中的每个计算节点对应默认输入数据类型和默认输出数据类型;所述M个计算节点包括第一计算节点和第二计算节点,所述第一计算节点的实际输出数据的目标节点为所述第二计算节点;所述设备包括:
第一处理单元,用于判断所述第一计算节点对应的第一默认输出数据类型与所述第二计算节点对应的第二默认输入数据类型是否相同;第二处理单元,用于若不同,判断所述第一默认输出数据类型是否为所述第二默认输入数据类型的后代类型;所述后代类型包括所述第二默认输入数据类型的子类型及其子类型的子类型;第三处理单元,用于若所述第一默认输出数据类型是所述第二默认输入数据类型的后代类型,则将所述第二计算节点确定为合法节点。
在一种可能的实现方式中,所述M个计算节点中包括一个或多个所述第一计算节点;所述M个计算节点中包括一个或多个所述第二计算节点。
在一种可能的实现方式中,所述第二处理单元具体用于:确定所述第二默认输入数据类型在数据类型管理树中作为父节点时所对应的一个或多个后代节点的数据类型;所述后代节点包括所述父节点的子节点及其子节点的子节点;判断所述第一默认输出数据类型是否为所述一个或多个后代节点的数据类型中的其中一种。
在一种可能的实现方式中,若所述第一默认输出数据类型为所述一个或多个后代节点的数据类型中的其中一种,则所述第一默认输出数据类型是所述第二默认输入数据类型的后代类型;若所述第一默认输出数据类型不为所述一个或多个后代节点的数据类型中的其中一种,则所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型。
在一种可能的实现方式中,所述数据类型管理树为所述M个计算节点的默认输入数据类型或默认输出数据类型之间的关系结构树。
在一种可能的实现方式中,所述设备还包括:第四处理单元,用于若所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型,则查找预设表中是否存在第一预设数据转换方法;所述第一预设数据转换方法为将所述第一默认输出数据类型转换为所述第二默认输入数据类型的方法;若存在,则将所述第二计算节点确定为合法节点。
在一种可能的实现方式中,所述设备还包括:第五处理单元,用于将所述第一预设转换方法的转换逻辑添加至所述第二计算节点的数据输入接口上。
在一种可能的实现方式中,所述设备还包括:第六处理单元,用于当所述第二计算节点为合法节点,且所述第一默认输出数据类型不为所述第二默认输入数据类型的后代类型的情况下,基于所述第一预设转换方法将所述第一实际输出数据的数据类型转换为所述第二默认输入数据类型,得到所述第二计算节点的第二实际输入数据。
在一种可能的实现方式中,所述设备还包括:第七处理单元,用于判断所述第二实际输入数据是否满足所述第二默认输入数据类型的校准逻辑;第一发送单元,用于若满足,则向所述第二计算节点发送所述第二实际输入数据。
在一种可能的实现方式中,所述设备还包括:第八处理单元,用于当所述第二计算节点为合法节点,且所述第一默认输出数据类型为所述第二默认输入数据类型的后代类型的情况下,将所述第一实际输出数据确定为所述第二计算节点的第二实际输入数据。
在一种可能的实现方式中,所述设备还包括:第九处理单元,用于判断所述第二实际输入数据是否满足所述第二默认输入数据类型的前代数据类型的校准逻辑;若所述第二实际输入数据满足所述第二默认输入数据类型的前代数据类型的校准逻辑,则判断所述第二实际输入数据是否满足所述第二默认输入数据类型的校准逻辑;第二发送单元,用于若满足,则向所述第二计算节点发送所述第二实际输入数据。
第三方面,本申请提供了一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面任意一项所述的方法。
第四方面,本发明实施例提供一种电子设备,该电子设备中包括处理器,处理器被配置为支持该电子设备实现第一方面提供的图校验的方法中相应的功能。该电子设备还可以包括存储器,存储器用于与处理器耦合,其保存该电子设备必要的程序指令和数据。该电子设备还可以包括通信接口,用于该电子设备与其他设备或通信网络通信。
第五方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持电子设备实现上述第一方面中所涉及的功能,例如,生成或处理上述图校验的方法中所涉及的信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存电子设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1为现有技术中的一种图计算的理论计算模型示意图。
图2A为本申请实施例中的一种图校验方法的流程示意图。
图2B为本发明实施例提供的一种应用于图像处理的图结构示意图。
图2C为本发明实施例提供的另一种应用于图像处理的图结构示意图。
图2D为本发明实施例提供的一种数据类型管理树示意图。
图2E为本发明实施例提供的一种预设表示意图。
图2F为本发明实施例提供的一种图连接阶段的校验方法流程图。
图2G为本发明实施例提供的一种图运行阶段校验方法流程图。
图3A为本发明实施例提供的一种图连接校验方法的示例图流程图。
图3B为本发明实施例提供的一种图运行阶段校验方法的示例性流程图。
图4为本发明实施例提供的本申请提供了一中图校验设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
下面结合附图对本申请的实施例进行描述。
图(Graph)是一种重要的数据结构,它能充分表达自然界中事物的联系和依赖属性,所以在计算机领域中广泛应用。很多问题能在图论支撑下借助图相关算法得到高效解决,例如图形着色、网络路由、网络流等。图计算,便是以图作为数据模型来表达问题并予以解决的过程。请参见图1,图1是现有技术中的一种图计算的理论计算模型示意图,图计算的实现过程,可以如下:
1、构图阶段:由于本申请中的图计算的理论计算模型可以抽象成N个全连接的计算节点,每个计算节点可对接收到的数据进行相应的处理,并将处理结果传给自己或其他计算节点。在构图阶段,图计算引擎中的每个计算节点配置一个或多个目标计算节点,假设N为4,则图中有0、1、2、3四个计算节点,图计算引擎按照业务需求读取连接指令,将这四个计算节点进行连接,例如,如图1所示,将0计算节点与1计算节点相连接,1计算节点与2计算节点相连接,2计算节点与3计算节点相连接,从而实现将0计算节点作为起始数据输入节点,进而将0计算节点的处理结果发送给1计算节点继续处理,再将1计算节点的处理结果发送给2计算节点,2计算节点的处理结果再发送给3计算节点继续处理,最终将3计算节点的处理结果作为图计算结果输出。需要说明的是,图中的计算节点和连接关系是按照业务需求进行设计的,计算节点的功能是多样的,例如,有解码计算节点、颜色转换计算节点、加法计算节点等。
2、图运行阶段:外部数据输入则启动数据流动。所有计算节点是并行运行。对于每个计算节点,如图1中的0、1、2、3计算节点,都存在其对应的默认输入数据类型和默认输出数据类型,只要其输入到达且输入数据类型为对应的默认输入数据类型,即可进行数据处理并将处理结果传给下个计算节点;输入没有到达就处于等待状态。运行持续到数据流达到结束计算节点。因为部分计算节点的输入数据是通过外部输入的,如0计算节点,即需要外部启动数据流;而另一部分计算节点则是需要从内部获得与其有连接关系的计算节点所输出的处理结果,则可以继续进行处理,如1、2、3计算节点,并将处理结果输入至与其关联的计算节点。
可以理解的是,上述图计算流程的只是一种示例性的实施方式,本发明实施例中的图计算流程包括但不仅限于以上实现过程。
下面对本发明实施例所基于的具体方法架构进行描述。参见图2A,图2A是本申请实施例中的一种图校验方法的流程示意图,下面将结合附图2A并基于上述图1中的图计算理论模型对本申请实施例中的图校验方法进行描述。需要说明的是,为了更详细的描述本申请实施例中的图校验方法,本申请在各个流程步骤中描述了相应的执行主体分别为图计算引擎,该图计算引擎包括M个计算节点;M个计算节点中的每个计算节点对应默认输入数据类型和默认输出数据类型;M个计算节点包括第一计算节点和第二计算节点,第一计算节点的目标节点为第二计算节点,但不代表本申请实施例只能通过所描述的执行主体进行对应的方法流程。在本发明实施例中,图校验方法可以包括两个阶段,分别为图连接阶段和图运行阶段。
以下为本发明实施例在图连接阶段的具体流程:
步骤S201:判断所述第一计算节点对应的第一默认输出数据类型与所述第二计算节点对应的第二默认输入数据类型是否相同。
具体地,第一计算节点和第二计算节点都可以理解为按照业务需求进行构图时所需要涉及到的M个计算节点中的计算节点,其中第二计算节点可以理解为未进行图连接校验的计算节点,第一计算节点的目标计算节点为第二计算节点,第一计算节点会将数据处理结果传输给第二计算节点。需要说明的是,每个计算节点的默认输入数据类型和默认输出数据类型是固定的,例如,一个解码计算节点的默认输入数据类型为图片类型,默认输出数据类型为字符类型,当该解码计算节点接收到图片类型数据后能对该数据进行处理输出字符类型数据。因此,第一默认输出数据类型可以理解为第一节点将数据进行处理后得到的数据类型,第二默认输入数据类型可以理解为第二计算节点能够接收并进行处理的数据类型。判断第一计算节点对应的第一默认输出数据类型与第二计算节点对应的第二默认输入数据类型是否相同,可以确定上述第一默认输出数据类型与第二默认输入数据类型相同的计算节点为合法节点。例如,如图2B所示,图2B为本发明实施例提供的一种应用于图像处理的图结构示意图,图中包括已建立连接关系的四个计算节点,解码计算节点Decoder是用来将JPEG格式的数据转换为PIC数据类型,其默认输入数据类型为JPEG,默认输出数据类型为PIC;调整大小计算节点Resize用来改变图片大小,其默认输入数据类型为PIC,默认输出数据类型为PIC;颜色转换计算节点Colour Transpose用来对图片中的颜色进行处理,其默认输入数据类型为PIC,默认输出数据类型为PIC;编码计算节点Encoder用来将PIC转成JPEG格式,其默认输入数据类型为PIC,默认输出数据类型为JPEG。所以当图中的Decoder接收到外部输入JPEG格式数据后,将JPEG格式数据进行处理得到PIC类型数据,发送给Resize继续进行处理并将处理结果继续发送给Colour Transpose进行处理,直到Encoder处理完数据并将JPEG数据输出。
在一种可能的实现方式中,所述M个计算节点中包括一个或多个所述第一计算节点;所述M个计算节点中包括一个或多个所述第二计算节点。具体地,M个计算节点可以理解为按照业务需求进行构图时所需要涉及到的计算节点,其中第二计算节点可以理解为未进行图连接校验计算节点,可包括一个或多个未校验的计算节点,由于第一计算节点的目标计算节点为第二计算节点,所以第一计算节点也可包括一个或多个计算节点。在本发明实施例中,若图中存在M个计算节点,且M个计算节点之间存在多个计算节点与计算节点之间的连接关系,在图运行前对每个连接关系都进行图校验,能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性和用户体验。
步骤S202:若不同,判断所述第一默认输出数据类型是否为所述第二默认输入数据类型的后代类型;所述后代类型包括所述第二默认输入数据类型的子类型及其子类型的子类型。
具体地,当上一计算节点(如第一计算节点)的默认输出数据类型与当前计算节点(如第二结算节点)的默认输入数据类型不同时,在现有技术中,就将当前计算节点确定为非法节点,但在本发明实施例中,还会判断当前计算节点的默认输入数据类型是否能够兼容上一计算节点的默认输出数据类型,也就是说上一计算节点的默认输出数据类型是否为当前计算节点的默认输入数据类型的后代类型,再确定当前计算节点是否为合法节点。例如,如图2C所示,图2C为本发明实施例提供的另一种应用于图像处理的图结构示意图,图中包括三个计算节点,解码计算节点Decoder是用来将JPEG格式的数据转换为PIC数据类型,其默认输入数据类型为JPEG,默认输出数据类型为PIC;调整大小计算节点Resize用来改变图片大小,其默认输入数据类型为PIC,默认输出数据类型为PIC;字符串拆分计算节点StringSplit用于将字符串进行拆分,其默认输入数据类型为字符串。从图中得知,Resize的默认输出数据类型与StringSplit的默认输入数据类型不同,因此在现有技术中直接将StringSplit确定为非法节点,但在本发明实施例中,会判断PIC是否为字符串的后代类型。
可选的,本发明实施例使用一种通用数据结构来存储数据,该数据结构包含数据内容,数据类型,数据元信息。数据内容就是数据真实存储的空间。数据类型是用来标识数据应该属于的类型,如图片,字符串或是矩阵。数据元信息是用来存储数据具有的一些属性,如图片就有长和宽的元信息,字符串有字符长度的元信息。数据校准逻辑主要根据数据类型对元信息进行校准,如图片检查长和宽元信息是否存在,由长宽推断出的存储空间使用的大小是否与实际空间大小一致等。
在一种可能的实现方式中,所述判断所述第一默认输出数据类型是否为所述第二默认输入数据类型的后代类型,包括:确定所述第二默认输入数据类型在数据类型管理树中作为父节点时所对应的一个或多个后代节点的数据类型;所述后代节点包括所述父节点的子节点及其子节点的子节点;判断所述第一默认输出数据类型是否为所述一个或多个后代节点的数据类型中的其中一种。具体地,数据类型管理树可以理解为多种数据类型之间的关系树,例如,如图2D所示,图2D为本发明实施例提供的一种数据类型管理树示意图,图中将原始数据作为根节点;矩阵数据类型、视频数据类型、音频数据类型、字符数据类型作为根节点的子节点;图片数据类型作为矩阵数据类型的子节点。因此可以理解的是,原始数据类型可以兼容矩阵数据类型、视频数据类型、音频数据类型、字符数据类型,其中矩阵数据类型又可以兼容图片数据类型。需要说明的是,数据类型管理树中的数据类型可以根据用户需求进行添加或删除。在本发明实施例中,在图连接阶段,先确定当前计算节点的默认输入数据类型作为数据类型管理树中的父节点时,其子节点的数据类型和其子节点的子节点的数据类型,然后在判断上一计算节点的默认输出数据类型是否为这些后代节点的数据类型中的一种从而实现将数据类型兼容的计算节点确定为合法节点,能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性和用户体验。
在一种可能的实现方式中,若所述第一默认输出数据类型为所述一个或多个后代节点的数据类型中的其中一种,则所述第一默认输出数据类型是所述第二默认输入数据类型的后代类型;若所述第一默认输出数据类型不为所述一个或多个后代节点的数据类型中的其中一种,则所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型。在本发明实施例中,若上一计算节点的默认输出数据类型为当前计算节点的默认输入数据类型在数据管理树中作为父节点时,其后代节点的数据类型中的一种,则当前计算节点能够兼容上一计算节点的默认输出数据类型;若上一计算节点的默认输出数据类型不是当前计算节点的默认输入数据类型在数据管理树中作为父节点时,其后代节点的数据类型中的一种,则当前计算节点不能够兼容上一计算节点的默认输出数据类型。能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性和用户体验。
在一种可能的实现方式中,所述数据类型管理树为所述M个计算节点的默认输入数据类型或默认输出数据类型之间的关系结构树。具体地,数据类型管理树可以理解为多种数据类型之间的关系树,例如,如图2D所示,图中将原始数据作为根节点;矩阵数据类型、视频数据类型、音频数据类型、字符数据类型作为根节点的子节点;图片数据类型作为矩阵数据类型的子节点。因此可以理解的是,原始数据类型可以兼容矩阵数据类型、视频数据类型、音频数据类型、字符数据类型,其中矩阵数据类型又可以兼容图片数据类型。需要说明的是,数据类型管理树中的数据类型可以根据用户需求进行添加或删除。在本发明实施例中,M个计算节点的默认输入数据类型或默认输出数据类型包括多种,如矩阵类型、图片类型、视频类型、音频类型等,根据不同的数据类型之间是否能够兼容构建多层的数据类型管理树,从而实现在图校验时能够快速确定当前计算节点的默认输入数据类型是否能够兼容上一计算节点的默认输出数据类型,进而能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性和用户体验。
步骤S203:若所述第一默认输出数据类型是所述第二默认输入数据类型的后代类型,则将所述第二计算节点确定为合法节点。
具体地,若上一计算节点(如第一计算节点)的默认输出数据类型与当前计算节点(如第二计算节点)的默认输入数据类型不同,但当前计算节点的默认输入数据类型能够兼容上一计算节点的默认输出数据类型时,在图连接阶段也将该当前计算节点确定为合法节点。
步骤S204:若所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型,判断所述第一默认输出数据类型是否能够转换为所述第二默认输入数据类型。
在一种可能的实现方式中,所述方法还包括:若所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型,则查找预设表中是否存在第一预设数据转换方法;所述第一预设数据转换方法为将所述第一默认输出数据类型转换为所述第二默认输入数据类型的方法;若存在,则将所述第二计算节点确定为合法节点。具体地,预设表可以理解为记录了一些数据类型转换方法的表,例如,如图2E所示,图2E为本发明实施例提供的一种预设表示意图,图中预设表中记录了字符数据类型转换成矩阵数据类型的转换方法。第一预设数据转换方法可以理解为将上一计算节点(如第一计算节点)的默认输出数据类型转换为当前计算节点(如第二计算节点)的默认输入数据类型的转换方法。在本发明实施例中,若当前计算节点的默认输入数据类型与上一计算节点的默认输出数据类型不同且不兼容时,则可以从预设表中查找是否存在将上一计算节点的默认输出数据的数据类型转换为当前计算节点的默认输入数据的数据类型的方法,如果存在也将当前计算节点确定为合法计算节点,从而将两个本不能直接进行连接的计算节点连接了起来,能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性和用户体验。
在一种可能的实现方式中,所述方法还包括:将所述第一预设转换方法的转换逻辑添加至所述第二计算节点的数据输入接口上。在本发明实施例中,若当前计算节点的默认输入数据类型与上一计算节点的默认输出数据类型不同且不兼容,但存在将上一计算节点的默认输出数据的数据类型转换为当前计算节点的默认输入数据的数据类型的方法,则在当前计算节点的数据输入接口上添加该转换方法的转换逻辑,便于在图运行阶段时对上一节点的输出数据进行转换,提供了更多的构图选择,提升了图的可用性和用户体验。
综上所述,在本发明实施例中,合法节点可以包括上一计算节点的默认输出数据类型与当前计算节点的默认输入数据类型相同的计算节点、当前计算节点的默认输入数据类型能够兼容上一计算节点的默认输出数据类型的计算节点,和上一计算节点的默认输出数据类型能够转换为当前计算节点的默认输入数据类型的计算节点中的一种或多种。
例如,如图2F所示,图2F为本发明实施例提供的一种图连接阶段的校验方法流程图,图中在图连接阶段,当第一计算节点的默认输出数据类型与第二计算节点的默认输入数据类型不一致时,再判断第一默认输出数据类型是否为第二默认输入数据的后代类型,若第一默认输出数据类型为第二默认输入数据的后代类型,则将第二计算节点确定为合法节点,若第一默认输出数据类型不为第二默认输入数据的后代类型,再在预设表中查找是否存在将第一默认输出数据类型转换为第二默认输入数据类型的转换方法,若存在则第一默认输出数据类型能够转换为第二默认输入数据类型,如果第一默认输出数据类型能够转换为第二默认输入数据类型,则将第二计算节点确定为合法节点。
以下为本发明实施例在图运行阶段的具体流程:
实施方式一:第二计算节点的默认输入数据类型不为第一计算节点的默认输出数据类型的后代类型,但第一计算节点的默认输出数据类型能够转换成第二计算节点的默认输入数据类型的情况:
在一种可能的实现方式中,所述方法还包括:当所述第二计算节点为合法节点,且所述第一默认输出数据类型不为所述第二默认输入数据类型的后代类型的情况下,基于所述第一预设转换方法将所述第一实际输出数据的数据类型转换为所述第二默认输入数据类型,得到所述第二计算节点的第二实际输入数据。具体地,当图中的计算节点为合法节点时,在图接收到启动计算的信息后,将根据图之间的连接关系进行图计算。若预设表中存在将上一计算节点的默认输出数据类型转换为当前计算节点能够处理的数据类型,则在图运行阶段,将上一节点输出的数据类型转换为当前计算节点能够处理的数据类型。第一实际输出数据可以理解为在图运行阶段中上一计算节点实际输出的数据;第二实际输入数据可以理解为在上一计算节点的默认输出数据类型不为当前计算节点的默认输入数据类型的后代类型情况下,将上一计算节点输出的数据类型转换成为当前计算节点能够处理的数据类型后的数据。在本发明实施例中,当图中的计算节点为合法节点时,在图运行阶段,若当前计算节点的默认输入数据类型与上一计算节点的默认输出数据类型不同且不兼容,但可以进行转换,则基于转换方法将上一计算节点的实际输出数据的数据类型转换为当前计算节点的默认输入数据类型,确保后续当前计算节点能够正常对数据进行处理,提供了更多的构图选择,提升了图的可用性和用户体验。
在一种可能的实现方式中,所述方法还包括:判断所述第二实际输入数据是否满足所述第二默认输入数据类型的校准逻辑;若满足,则向所述第二计算节点发送所述第二实际输入数据。具体地,在图运行阶段,当上一计算节点的实际输出数据的数据类型转换为当前计算节点的默认输入数据类型后,为了避免数据出现非法数据,则再将数据输入到当前计算节点前,需要对数据进行校准,如果数据能够满足当前计算节点的默认输入数据类型的校准逻辑,则将数据输入到当前计算节点并进行处理。校准逻辑可以理解为对于特定的数据类型,用于检验数据是否存在非法数据,例如,矩阵数据类型有矩阵校准逻辑,字符数据类型有字符校准逻辑,视频数据类型有视频校准逻辑等。
实施方式二:第二计算节点的默认输入数据类型为第一计算节点的默认输出数据类型的后代类型的情况下:
在一种可能的实现方式中,所述方法还包括:当所述第二计算节点为合法节点,且所述第一默认输出数据类型为所述第二默认输入数据类型的后代类型的情况下,将所述第一实际输出数据确定为所述第二计算节点的第二实际输入数据。具体地,当图中的计算节点为合法节点时,在图运行阶段,若当前计算节点的默认输入数据类型与上一计算节点的默认输出数据类型不同,但当前计算节点的默认输入数据类型能够兼容上一计算节点的默认输出数据类型时,可将上一计算节点的实际输出数据作为当前计算节点的输入数据,提高图计算效率,提升用户体验。
在一种可能的实现方式中,所述方法还包括:判断所述第二实际输入数据是否满足所述第二默认输入数据类型的前代数据类型的校准逻辑;若所述第二实际输入数据满足所述第二默认输入数据类型的前代数据类型的校准逻辑,则判断所述第二实际输入数据是否满足所述第二默认输入数据类型的校准逻辑;若满足,则向所述第二计算节点发送所述第二实际输入数据。具体地,在图运行阶段,若当前计算节点的默认输入数据类型能够兼容上一计算节点的默认输出数据类型,在上一计算节点输出数据后,为了避免数据出现非法数据,则在数据输入到当前计算节点前,需要对数据进行校准。逐一从根数据类型开始确认数据是否满足相关链上的校准逻辑,直到满足当前计算节点的默认输入数据类型的校准逻辑,例如,图2C所示,若上一计算节点输出的数据类型为图片,当前计算节点能够处理的数据类型为矩阵,图中可知图片为矩阵的后代类型,则在图运行阶段从上一计算节点输出的数据需要逐一从根数据类型开始确认数据是否满足相关链上的校准逻辑,直到满足矩阵校准逻辑后,就可以将数据输入当前计算节点进行处理。
例如,如图2G所示,图2G为本发明实施例提供的一种图运行阶段校验方法流程图,图中当处于图运行阶段时,结合上述实施方式一,当第一计算节点的默认输出数据类型能够转换为第二默认输入数据类型时,根据预设表中的转换方法将第一计算节点的实际输出数据的数据类型转换为第二默认输入数据类型,从而得到第二实际输入数据,然后判断第二实际输入数据是否满足第二默认输入数据类型的校准逻辑,若满足则将第二实际输入数据输入到第二计算节点。再结合上述实施方式二,当第一计算节点的默认输出数据类型为第二计算节点的默认输入数据类型的后代类型时,将第一实际输出数据确定为第二实际输入数据,然后逐一判断第二实际输入数据是否满足第二默认输入数据类型的前代类型的校准逻辑,直到第二实际输入数据满足第二默认输入数据类型的校准逻辑,则将第二实际输入数据输入到第二计算节点。
在本发明实施例中,图计算引擎在构图阶段对图中的各计算节点间的连接关系进行校验时,若上一计算节点的默认输出数据类型与当前计算节点的默认输入数据类型不同,但当前计算节点的默认输入数据类型能够兼容上一计算节点的默认输出数据类型或上一计算节点的默认输出数据类型能够转换为当前计算节点的默认输入数据类型,也可以将当前计算节点定义为合法节点。一方面,在图计算中,避免了在图运行过程中才能确定图连接是否正确,导致出现未知错误并影响图计算结果的问题;另一方面,避免了在能够兼容数据类型的计算节点之间添加多余的过渡节点,导致图中计算节点数量增加和各计算节点之间的连接关系更加复杂的问题,能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性。同时在图运行阶段,也会先对数据进行校准之后再输入到当前计算节点进行处理,从而避免计算节点接收到出现非法数据时,导致计算节点无法正常工作的问题。
为了更详细的描述本申请实施例中的图校验方法,下面结合图3A和图3B进行示例性描述,图3A为本发明实施例提供的一种图连接校验方法的示例图流程图,图3B为本发明实施例提供的一种图运行阶段校验方法的示例性流程图。其中,
(1)图计算引擎在图连接阶段流程可如下:
步骤1:在图连接阶段,用户输入连接好的图,图计算引擎扫描每一个节点。
步骤2:图计算引擎选取一个节点,如果该节点无输出则认为该节点检查合法,否则开始校准流程。
步骤3:获取该节点定义的输入类型,获取前节点的输出类型进行比较。如果输入类型和输出类型一致则认为该节点合法。如果不同,则迭代查找其父类型是否和输出类型是否一致,直到根类型,如果一致则认为该节点合法。如果还是不同则到数据类型转换库(如预设表)中查找是否存在输出类型转为输入类型的默认转换逻辑,存在则将该逻辑加入到该节点的业务逻辑前,并认为该节点合法。如果还是不一致则认为节点非法,图连接失败。
步骤4:如果节点检查合法,则根据输入类型迭代查找其父类型直到根类型,并将其中的校准按照倒序的方式加入到业务逻辑前。
步骤5:跳转到下一节点重复步骤2和步骤3流程,直到扫描完全部节点,如果无非法节点,则任务图连接成功。
(2)图计算引擎在图运行阶段流程可如下:
步骤1:在图运行阶段,节点在图连接阶段获取的转换逻辑和校准逻辑,可以由框架来拼接执行。并放置在业务逻辑执行之前。计算节点不需要关心转换逻辑和校准逻辑,只要完成自己的业务逻辑即可。
在本发明实施例中,图计算引擎在构图阶段对图中的各计算节点间的连接关系进行校验时,若上一计算节点的默认输出数据类型与当前计算节点的默认输入数据类型不同,但当前计算节点的默认输入数据类型能够兼容上一计算节点的默认输出数据类型或上一计算节点的默认输出数据类型能够转换为当前计算节点的默认输入数据类型,也可以将当前计算节点定义为合法节点。一方面,在图计算中,避免了在图运行过程中才能确定图连接是否正确,导致出现未知错误并影响图计算结果的问题;另一方面,避免了在能够兼容数据类型的计算节点之间添加多余的过渡节点,导致图中计算节点数量增加和各计算节点之间的连接关系更加复杂的问题,能够从一定程度上降低了图的复杂度,提供了更多的构图选择,提升了图的可用性。同时在图运行阶段,也会先对数据进行校准之后再输入到当前计算节点进行处理,从而避免计算节点接收到出现非法数据时,导致计算节点无法正常工作的问题。
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的相关设备。
请参见图4,图4是本发明实施例提供的本申请提供了一中图校验设备示意图,应用于图计算引擎,所述图计算引擎包括M个计算节点;所述M个计算节点中的每个计算节点对应默认输入数据类型和默认输出数据类型;所述M个计算节点包括第一计算节点和第二计算节点,所述第一计算节点的实际输出数据的目标节点为所述第二计算节点,该图校验设备40,可以包括第一处理单元401、第二处理单元402、第三处理单元403、第四处理单元404、第五处理单元405、第六处理单元406、第七处理单元407、第一发送单元408、第八处理单元409、第九处理单元410、第二发送单元411。其中,
第一处理单元401,用于判断所述第一计算节点对应的第一默认输出数据类型与所述第二计算节点对应的第二默认输入数据类型是否相同;
第二处理单元402,用于若不同,判断所述第一默认输出数据类型是否为所述第二默认输入数据类型的后代类型;所述后代类型包括所述第二默认输入数据类型的子类型及其子类型的子类型;
第三处理单元403,用于若所述第一默认输出数据类型是所述第二默认输入数据类型的后代类型,则将所述第二计算节点确定为合法节点。
在一种可能的实现方式中,所述M个计算节点中包括一个或多个所述第一计算节点;所述M个计算节点中包括一个或多个所述第二计算节点。
在一种可能的实现方式中,所述第二处理单元402具体用于:确定所述第二默认输入数据类型在数据类型管理树中作为父节点时所对应的一个或多个后代节点的数据类型;所述后代节点包括所述父节点的子节点及其子节点的子节点;判断所述第一默认输出数据类型是否为所述一个或多个后代节点的数据类型中的其中一种。
在一种可能的实现方式中,若所述第一默认输出数据类型为所述一个或多个后代节点的数据类型中的其中一种,则所述第一默认输出数据类型是所述第二默认输入数据类型的后代类型;若所述第一默认输出数据类型不为所述一个或多个后代节点的数据类型中的其中一种,则所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型。
在一种可能的实现方式中,所述数据类型管理树为所述M个计算节点的默认输入数据类型或默认输出数据类型之间的关系结构树。
在一种可能的实现方式中,所述设备还包括:第四处理单元404,用于若所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型,则查找预设表中是否存在第一预设数据转换方法;所述第一预设数据转换方法为将所述第一默认输出数据类型转换为所述第二默认输入数据类型的方法;若存在,则将所述第二计算节点确定为合法节点。
在一种可能的实现方式中,所述设备还包括:第五处理单元405,用于将所述第一预设转换方法的转换逻辑添加至所述第二计算节点的数据输入接口上。
在一种可能的实现方式中,所述设备还包括:第六处理单元406,用于当所述第二计算节点为合法节点,且所述第一默认输出数据类型不为所述第二默认输入数据类型的后代类型的情况下,基于所述第一预设转换方法将所述第一实际输出数据的数据类型转换为所述第二默认输入数据类型,得到所述第二计算节点的第二实际输入数据。
在一种可能的实现方式中,所述设备还包括:第七处理单元407,用于判断所述第二实际输入数据是否满足所述第二默认输入数据类型的校准逻辑;第一发送单元408,用于若满足,则向所述第二计算节点发送所述第二实际输入数据。
在一种可能的实现方式中,所述设备还包括:第八处理单元409,用于当所述第二计算节点为合法节点,且所述第一默认输出数据类型为所述第二默认输入数据类型的后代类型的情况下,将所述第一实际输出数据确定为所述第二计算节点的第二实际输入数据。
在一种可能的实现方式中,所述设备还包括:第九处理单元410,用于判断所述第二实际输入数据是否满足所述第二默认输入数据类型的前代数据类型的校准逻辑;若所述第二实际输入数据满足所述第二默认输入数据类型的前代数据类型的校准逻辑,则判断所述第二实际输入数据是否满足所述第二默认输入数据类型的校准逻辑;第二发送单元411,用于若满足,则向所述第二计算节点发送所述第二实际输入数据。
需要说明的是,本发明实施例中所描述的图校验设备40中各功能模块能参见上述图2A所述的方法实施例中步骤S201-步骤S204的相关描述,此处不再赘述。
本申请提供了一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述本发明实施例中任意一项所述的方法。
本发明实施例提供一种电子设备,该电子设备中包括处理器,处理器被配置为支持该电子设备实现本发明实施例提供的图校验的方法中相应的功能。该电子设备还可以包括存储器,存储器用于与处理器耦合,其保存该电子设备必要的程序指令和数据。该电子设备还可以包括通信接口,用于该电子设备与其他设备或通信网络通信。
本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持电子设备实现上述本发明实施例中所涉及的功能,例如,生成或处理上述图校验的方法中所涉及的信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存电子设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务端或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-OnlyMemory,缩写:ROM)或者随机存取存储器(RandomAccessMemory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (24)

1.一种图校验方法,其特征在于,应用于图计算引擎,所述图计算引擎包括M个计算节点;所述M个计算节点中的每个计算节点对应默认输入数据类型和默认输出数据类型;所述M个计算节点包括第一计算节点和第二计算节点,所述第一计算节点的实际输出数据的目标节点为所述第二计算节点;所述方法包括:
判断所述第一计算节点对应的第一默认输出数据类型与所述第二计算节点对应的第二默认输入数据类型是否相同;
若不同,判断所述第一默认输出数据类型是否为所述第二默认输入数据类型的后代类型;所述后代类型包括所述第二默认输入数据类型的子类型及其子类型的子类型;
若所述第一默认输出数据类型是所述第二默认输入数据类型的后代类型,则将所述第二计算节点确定为合法节点。
2.如权利要求1所述的方法,其特征在于,所述M个计算节点中包括一个或多个所述第一计算节点;所述M个计算节点中包括一个或多个所述第二计算节点。
3.如权利要求1或2所述的方法,其特征在于,所述判断所述第一默认输出数据类型是否为所述第二默认输入数据类型的后代类型,包括:
确定所述第二默认输入数据类型在数据类型管理树中作为父节点时所对应的一个或多个后代节点的数据类型;所述后代节点包括所述父节点的子节点及其子节点的子节点;
判断所述第一默认输出数据类型是否为所述一个或多个后代节点的数据类型中的其中一种。
4.如权利要求3所述的方法,其特征在于,若所述第一默认输出数据类型为所述一个或多个后代节点的数据类型中的其中一种,则所述第一默认输出数据类型是所述第二默认输入数据类型的后代类型;若所述第一默认输出数据类型不为所述一个或多个后代节点的数据类型中的其中一种,则所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型。
5.如权利要求3-4任意一项所述的方法,其特征在于,所述数据类型管理树为所述M个计算节点的默认输入数据类型或默认输出数据类型之间的关系结构树。
6.如权利要求1-5任意一项所述的方法,其特征在于,所述方法还包括:
若所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型,则查找预设表中是否存在第一预设数据转换方法;所述第一预设数据转换方法为将所述第一默认输出数据类型转换为所述第二默认输入数据类型的方法;
若存在,则将所述第二计算节点确定为合法节点。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
将所述第一预设转换方法的转换逻辑添加至所述第二计算节点的数据输入接口上。
8.如权利要求6或7所述的方法,其特征在于,所述方法还包括:
当所述第二计算节点为合法节点,且所述第一默认输出数据类型不为所述第二默认输入数据类型的后代类型的情况下,基于所述第一预设转换方法将所述第一实际输出数据的数据类型转换为所述第二默认输入数据类型,得到所述第二计算节点的第二实际输入数据。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
判断所述第二实际输入数据是否满足所述第二默认输入数据类型的校准逻辑;
若满足,则向所述第二计算节点发送所述第二实际输入数据。
10.如权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:
当所述第二计算节点为合法节点,且所述第一默认输出数据类型为所述第二默认输入数据类型的后代类型的情况下,将所述第一实际输出数据确定为所述第二计算节点的第二实际输入数据。
11.如权利要求10所述的方法,其特征在于,所述方法还包括:
判断所述第二实际输入数据是否满足所述第二默认输入数据类型的前代数据类型的校准逻辑;
若所述第二实际输入数据满足所述第二默认输入数据类型的前代数据类型的校准逻辑,则判断所述第二实际输入数据是否满足所述第二默认输入数据类型的校准逻辑;
若满足,则向所述第二计算节点发送所述第二实际输入数据。
12.一种图校验设备,其特征在于,应用于图计算引擎,所述图计算引擎包括M个计算节点;所述M个计算节点中的每个计算节点对应默认输入数据类型和默认输出数据类型;所述M个计算节点包括第一计算节点和第二计算节点,所述第一计算节点的实际输出数据的目标节点为所述第二计算节点;所述设备包括:
第一处理单元,用于判断所述第一计算节点对应的第一默认输出数据类型与所述第二计算节点对应的第二默认输入数据类型是否相同;
第二处理单元,用于若不同,判断所述第一默认输出数据类型是否为所述第二默认输入数据类型的后代类型;所述后代类型包括所述第二默认输入数据类型的子类型及其子类型的子类型;
第三处理单元,用于若所述第一默认输出数据类型是所述第二默认输入数据类型的后代类型,则将所述第二计算节点确定为合法节点。
13.如权利要求12所述的设备,其特征在于,所述M个计算节点中包括一个或多个所述第一计算节点;所述M个计算节点中包括一个或多个所述第二计算节点。
14.如权利要求12或13所述的设备,其特征在于,所述第二处理单元具体用于:
确定所述第二默认输入数据类型在数据类型管理树中作为父节点时所对应的一个或多个后代节点的数据类型;所述后代节点包括所述父节点的子节点及其子节点的子节点;
判断所述第一默认输出数据类型是否为所述一个或多个后代节点的数据类型中的其中一种。
15.如权利要求14所述的设备,其特征在于,若所述第一默认输出数据类型为所述一个或多个后代节点的数据类型中的其中一种,则所述第一默认输出数据类型是所述第二默认输入数据类型的后代类型;若所述第一默认输出数据类型不为所述一个或多个后代节点的数据类型中的其中一种,则所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型。
16.如权利要求14-15任意一项所述的设备,其特征在于,所述数据类型管理树为所述M个计算节点的默认输入数据类型或默认输出数据类型之间的关系结构树。
17.如权利要求12-16任意一项所述的设备,其特征在于,所述设备还包括:
第四处理单元,用于若所述第一默认输出数据类型不是所述第二默认输入数据类型的后代类型,则查找预设表中是否存在第一预设数据转换方法;所述第一预设数据转换方法为将所述第一默认输出数据类型转换为所述第二默认输入数据类型的方法;若存在,则将所述第二计算节点确定为合法节点。
18.如权利要求17所述的设备,其特征在于,所述设备还包括:
第五处理单元,用于将所述第一预设转换方法的转换逻辑添加至所述第二计算节点的数据输入接口上。
19.如权利要求17或18所述的设备,其特征在于,所述设备还包括:
第六处理单元,用于当所述第二计算节点为合法节点,且所述第一默认输出数据类型不为所述第二默认输入数据类型的后代类型的情况下,基于所述第一预设转换方法将所述第一实际输出数据的数据类型转换为所述第二默认输入数据类型,得到所述第二计算节点的第二实际输入数据。
20.如权利要求19所述的设备,其特征在于,所述设备还包括:
第七处理单元,用于判断所述第二实际输入数据是否满足所述第二默认输入数据类型的校准逻辑;
第一发送单元,用于若满足,则向所述第二计算节点发送所述第二实际输入数据。
21.如权利要求12-15任意一项所述的设备,其特征在于,所述设备还包括:
第八处理单元,用于当所述第二计算节点为合法节点,且所述第一默认输出数据类型为所述第二默认输入数据类型的后代类型的情况下,将所述第一实际输出数据确定为所述第二计算节点的第二实际输入数据。
22.如权利要求21所述的设备,其特征在于,所述设备还包括:
第九处理单元,用于判断所述第二实际输入数据是否满足所述第二默认输入数据类型的前代数据类型的校准逻辑;若所述第二实际输入数据满足所述第二默认输入数据类型的前代数据类型的校准逻辑,则判断所述第二实际输入数据是否满足所述第二默认输入数据类型的校准逻辑;
第二发送单元,用于若满足,则向所述第二计算节点发送所述第二实际输入数据。
23.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码使得所述电子设备执行如权利要求1-11中任意一项所述的方法。
24.一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被存储设备执行时,使得所述存储设备执行如权利要求1-11中任意一项所述的方法。
CN202110404484.6A 2021-04-14 2021-04-14 一种图校验方法及相关设备 Pending CN115221494A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110404484.6A CN115221494A (zh) 2021-04-14 2021-04-14 一种图校验方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110404484.6A CN115221494A (zh) 2021-04-14 2021-04-14 一种图校验方法及相关设备

Publications (1)

Publication Number Publication Date
CN115221494A true CN115221494A (zh) 2022-10-21

Family

ID=83604293

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110404484.6A Pending CN115221494A (zh) 2021-04-14 2021-04-14 一种图校验方法及相关设备

Country Status (1)

Country Link
CN (1) CN115221494A (zh)

Similar Documents

Publication Publication Date Title
US20160019102A1 (en) Application pattern discovery
JP5377818B2 (ja) コンパイル済みスキーマに順次アクセスする方法とシステム
CN110109681B (zh) 不同平台间代码的转换方法及系统
CN110875850A (zh) 一种固件升级方法、系统、可读存储介质及终端设备
CN112882844B (zh) 基于网络前后端的联调方法、装置及存储介质
US11107028B2 (en) Numerical graphical flow diagram conversion and comparison
CN112037061A (zh) 区块链中交易的处理方法、装置、电子设备及存储介质
CN111552792B (zh) 一种信息查询方法、装置、电子设备及存储介质
CN114116065A (zh) 获取拓扑图数据对象的方法、装置、及电子设备
JP5044943B2 (ja) データ文書の高速符号化方法及びシステム
CN111666100A (zh) 软件框架生成方法、装置、电子设备及存储介质
JP4776389B2 (ja) 符号化文書復号方法及びシステム
JP5789236B2 (ja) 構造化文書分析方法、構造化文書分析プログラム、および構造化文書分析システム
US10659321B2 (en) Electronic apparatus for recording debugging information and control method thereof
CN113778897A (zh) 接口的自动测试方法、装置、设备及存储介质
CN113391972A (zh) 一种接口测试方法及装置
CN110324629B (zh) 图片转码方法、装置及电子设备
US10606569B2 (en) Declarative configuration elements
CN115221494A (zh) 一种图校验方法及相关设备
JP2006277742A (ja) Udtに対するデータフォーマットについてストリーミングチェックを行うシステムおよび方法
CN115048913A (zh) 一种命令处理方法、装置和电子设备
CN112363699B (zh) 一种应用于多语言开发平台的交互方法及装置
CN111737504B (zh) 图像资源检测方法、装置、设备及存储介质
CN111367703B (zh) 故障排查方法及装置
CN114860566A (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