CN115510103A - 搜索流程的处理方法、装置、设备、介质及产品 - Google Patents

搜索流程的处理方法、装置、设备、介质及产品 Download PDF

Info

Publication number
CN115510103A
CN115510103A CN202211165767.0A CN202211165767A CN115510103A CN 115510103 A CN115510103 A CN 115510103A CN 202211165767 A CN202211165767 A CN 202211165767A CN 115510103 A CN115510103 A CN 115510103A
Authority
CN
China
Prior art keywords
node
flow
executed
determining
target
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
CN202211165767.0A
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202211165767.0A priority Critical patent/CN115510103A/zh
Publication of CN115510103A publication Critical patent/CN115510103A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • 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/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了搜索流程的处理方法、装置、设备、介质及产品,涉及数据处理领域,尤其涉及云技术领域。具体实现方案为:获取目标搜索场景的第一待执行流程,并根据所述目标搜索场景从候选节点中确定待增加节点;根据所述待增加节点与所述第一待执行流程中已有节点的匹配关系确定所述待增加节点在所述第一待执行流程中的位置,并根据所述位置生成第二待执行流程。本公开的方案提高了搜索流程的处理效率,实现对业务需求的高效迭代。

Description

搜索流程的处理方法、装置、设备、介质及产品
技术领域
本公开涉及数据处理领域,尤其涉及云技术领域,具体涉及一种搜索流程的处理方法、装置、设备、介质及产品。
背景技术
在搜索等复杂的在线场景中处理一个实时请求所涉及到的逻辑和功能多且复杂,因此在面对搜索场景中业务功能不断增加的情况下,在已有复杂的逻辑和功能模块中添加新的逻辑和功能模块存在效率低、开发困难的问题。
发明内容
本公开提供了一种用于搜索流程的处理方法、装置、设备、介质及产品。
根据本公开的一方面,提供了搜索流程的处理方法,包括:
获取目标搜索场景的第一待执行流程,并根据所述目标搜索场景从候选节点中确定待增加节点;
根据所述待增加节点与所述第一待执行流程中已有节点的匹配关系确定所述待增加节点在所述第一待执行流程中的位置,并根据所述位置生成第二待执行流程。
根据本公开的另一方面,提供了一种搜索流程的处理装置,包括:
节点确定模块,用于获取目标搜索场景的第一待执行流程,并根据所述目标搜索场景从候选节点中确定待增加节点;
位置确定模块,用于根据所述待增加节点与所述第一待执行流程中已有节点的匹配关系确定所述待增加节点在所述第一待执行流程中的位置,并根据所述位置生成第二待执行流程。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开中任一实施例所述的搜索流程的处理方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开中任一实施例所述的搜索流程的处理方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开中任一实施例所述的搜索流程的处理方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的一种搜索流程的处理方法的示意图;
图2是根据本公开实施例的另一种搜索流程的处理方法的示意图;
图3是根据本公开实施例的又一种搜索流程的处理方法的示意图;
图4是根据本公开实施例的一种待执行流程的结构示意图;
图5是根据本公开实施例的一种搜索流程的处理装置的结构示意图;
图6是用来实现本公开实施例的搜索流程的处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开实施例的一种搜索流程的处理方法的示意图,本实施例可适用于对复杂的搜索流程的处理方式进行优化的情况,该方法可以通过搜索流程的处理装置执行,该装置可以通过软件和/或硬件的方式实现,并集成在电子设备中;本实施例中涉及到的电子设备可以为等本地服务器等具有通信和计算能力的设备。具体的,参考图1,该方法具体包括如下:
S110、获取目标搜索场景的第一待执行流程,并根据目标搜索场景从候选节点中确定待增加节点。
其中,目标搜索场景中包括当前在线处理场景下的搜索需求,例如,目标搜索场景中为在地图场景中搜索目标位置时显示附近餐饮场所位置。第一待执行流程是指对应于目标搜索场景的完整流程中的部分流程,例如,在上述示例中,第一待执行流程为在地图场景中搜索目标位置的对应流程,但是显示附近餐饮场所位置属于目标搜索场景中的新增业务功能,因此在第一待执行流程中没有该部分的流程。候选节点是指预先根据各候选业务功能进行模块化设计的功能模块,各候选业务功能可以根据搜索场景的实际需求进行预先确定。
具体的,确定目标搜索场景中所包括的所有业务功能,并确定目标搜索场景所对应的当前待执行流程,确定当前待执行流程中所包括的当前业务功能,并确定在当前业务功能中未包括的目标搜索场景中的待增加业务功能,根据该待增加业务功能从候选节点中确定与待增加业务功能对应的待增加节点。可选的,对候选节点的部分接口参数进行固化处理,以提高候选节点与所连接节点之间的依赖关系的清晰度,避免出现节点间依赖关系丢失造成待执行流程逻辑判断困难的问题。对候选节点的部分接口参数进行抽象化处理,以提高候选节点的复用度,在候选节点与待增加业务功能不完全相同时,可以通过对候选节点进行简单修改实现对候选节点的复用,形成待增加节点。
示例性的,在本公开中支持对搜索流程的边开发边设计,即在对在地图场景中搜索目标位置时显示附近餐饮场所位置这一目标搜索场景进行开发时,确定当前对应的第一待执行流程中未涉及的业务功能,根据该业务功能从候选节点中确定待增加节点,通过将待增加节点添加到当前第一待执行流程中以形成完整的流程。若候选节点中没有完全和待增加业务功能完全相同的节点,则可以根据待增加业务功能选择最相似的候选节点,并根据待增加业务功能对候选节点进行修改以形成最后的待增加节点。在该过程中,对待增加业务功能与已有的第一待执行流程之间的逻辑顺序并不限定,只需要对缺少的业务功能进行补充即可,提高了对目标搜索场景搜索流程的处理效率。
S120、根据待增加节点与第一待执行流程中已有节点的匹配关系确定待增加节点在第一待执行流程中的位置,并根据位置生成第二待执行流程。
其中,匹配关系用于对待增加节点的业务功能与第一待执行流程中已有节点的业务功能的逻辑关系进行确定,示例性的,逻辑关系体现在输出输入参考的逻辑关系以及语义逻辑关系上。具体的,在确定目标搜索场景下的当前第一待执行流程中的缺少节点后,通过对缺少节点与已有节点的业务功能的逻辑关系进行分析,确定待增加节点与已有节点之间的位置关系,位置关系包括上下游关系以及执行条件关系等。
示例性的,根据待增加节点对应的待增加业务功能与已有节点对应的已有业务功能之间的执行先后关系,或者输入输出参数匹配关系等,确定待增加节点于第一待执行路程中已有节点的上下游关系,并根据业务功能之间的逻辑关系确定待增加节点的执行条件关系等,根据最后的上下游关系和执行条件关系确定最终的第二待执行流程,在第二待执行流程中包括了目标搜索场景下所有的业务功能。例如,在后续使用过程中,目标搜索场景中出现了新的业务功能需求,则在当前第二待执行流程的基础上,确定新的业务功能需求,该新的业务功能需求和已有业务功能需求的逻辑关系并不限定,通过自定义逻辑添加,提高了后续搜索流程的处理效率,使得各业务功能模块满足后续的需求迭代,在有新的业务功能需求时不需要频繁修改当前主体流程,只需要在当前主体流程的基础上进行修改即可。
在本实施例的另一个可选实现方式中,待增加节点为其他搜索场景对应的执行流程。
在一个执行流程中包括至少两个节点,当目标搜索场景中的待增加业务功能对应其他搜索场景的业务功能时,可以直接将该其他搜索场景对应的执行流程作为待增加节点添加到第一待执行流程中。同样的,目标搜索场景的第一待执行流程和第二待执行流程也可以作为其他搜索场景中的任一节点。示例性的,在上述示例的基础上,目标搜索场景为在地图场景中搜索目标位置时显示附近餐饮场所位置,其实显示附近餐饮场所位置为待增加业务功能,而在其他搜索场景对应的执行流程中包括该待增加业务功能,则可以直接进行复用即可。由此可知,可以根据不同搜索场景中的业务功能将对应的执行流程作为候选节点以待其他搜索场景进行复用。
将流程作为节点进行复用提高了搜索场景流程确定的效率,避免重复开发。
可选的,本公开还支持对第一待执行流程中的节点进行局部修改和删除,以提高第一待执行流程的复用度和流程的灵活性。
本实施例的方案,通过对目标搜索场景中的缺失业务功能进行自定义添加,在目标搜索场景中有新的业务功能需求时,不需要频繁修改当前主体流程,只需要在当前主体流程的基础上进行修改即可,提高了搜索流程的处理效率,方便、快速在待执行流程的任意位置添加和修改节点,实现对业务需求的高效迭代。
图2是根据本公开实施例的另一种搜索流程的处理方法的示意图,本实施例是对上述技术方案的进一步细化,匹配关系包括参数类型匹配关系,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图2所示,搜索流程的处理方法包括如下:
S210、获取目标搜索场景的第一待执行流程,并根据目标搜索场景从候选节点中确定待增加节点。
S220、确定待增加节点的目标输入参数类型和目标输出参数类型,以及第一待执行流程中已有节点的已有输入参数类型和已有输出参数类型。
其中,参数类型是指节点接口传输的数据类型,例如,参数类型包括数组、指针、interface等类型。目标输入参数类型是指待增加节点的输入接口支持传输的输入数据类型,目标输出参数类型是指待增加节点的输出接口支持传输的输入数据类型;同样,已有输入参数类型和已有输出参数类型分别指已有节点的输入接口和输出接口支持传输的数据类型。
具体的,在对各节点进行开发设计时,预先定义各节点参数接口的输入参数类型和输出参数类型,以根据接口的参数类型确定节点间连接关系,实现节点间参数的定向传输。可选的,各节点可以包括至少两个参数接口,以实现至少两种输入参数类型和输出参数类型的传输,进而提高节点的复用度。
S230、根据目标输入参数类型和已有输出参数类型,以及目标输出参数类型和已有输入参数类型的匹配关系确定待增加节点与已有节点的位置关系。
在确定待增加节点与已有节点的位置关系时,根据节点的接口参数类型的匹配关系进行确定。具体的,第一已有节点和第二已有节点顺次连接,第一已有节点的第一已有输出参数类型和目标输入参数类型一致,且第二已有节点的第二已有输入参数类型与目标输出参数类型一致,则确定待增加节点与已有节点的位置关系为在第一已有节点和第二已有节点之间。
通过参数类型匹配关系确定待增加节点的位置可以实现待执行流程中节点间参数的差异化传输,避免无关参数的传递造成流程处理效率降低。在现有技术中,流程中各节点通过共享Context来交互数据,即所有节点将需要传输的数据写在共享Context,各节点通过共享该文件实现对数据的获取,但是,该方式会导致节点间的依赖关系变成隐性的,对流程进行添加拼接时导致无法获取节点间的相互关系,而在在复杂在线场景下,将所有节点间的交互设计为一个共享Context容易造成节点间逻辑耦合和并发安全性问题。
在本公开中,节点间根据参数类型确定位置关系使得通过交互数据的参数类型即可确定节点间的依赖关系,有利于提高节点间的逻辑耦合和并发安全性;并且节点间根据参数类型进行传递数据使得节点只需要接收自身需要的数据,避免无关数据的获取,有利于提高节点处理数据的效率,进而提高流程处理效率。
S240、根据位置关系生成第二待执行流程。
在本实施例的另一个可选实现方式中,S240之后,还包括:
根据目标搜索场景下的搜索请求确定第二待执行流程中上游节点的输出参数;
根据输出参数的数据类型从上游节点的候选下游节点中确定目标下游节点;
将输出参数传递至目标下游节点。
响应于用户在目标搜索场景下发起的搜索请求,基于该搜索请求对第二待执行流程进行处理,第二待执行流程中上游节点根据搜索请求进行处理,并确定输出参数。根据输出参数的数据类型从候选下游节点中确定类型匹配的下游节点作为目标下游节点,并将该输出参数传递给目标下游节点,以供目标下游节点根据该输出参数进行处理,继续执行这一参数差异化传输的过程。
根据输出参数的数据类型进行差异化传输有利于提高节点处理数据的效率,并且可以提高节点间的逻辑耦合性。
在本实施例的另一个可选实现方式中,目标下游节点包括至少两个;
将输出参数传递至目标下游节点之前,还包括:
根据目标下游节点的数量确定输出参数的复制数量。
在上游节点需要将输出参数传递给至少两个目标下游节点时,即存在至少两个目标下游节点的输入参数类型与上游节点的输出参数的数据类型一致,为了提高下游节点处理数据的并发安全性,对上游节点的输出参数进行复制,将复制的输出数据分别发送至各目标下游节点,以保证下游节点对上游节点输出数据处理时的并发安全性。示例性的,当目标下游节点有三个时,则确定输出参数的复制数量为2,将复制的两个输出参数和原输出参数一对一的发送至三个目标下游节点,以供目标下游节点对输出参数进行处理。可选的,接收用户的复制禁止指令,当目标下游节点包括至少两个时,依次对上游节点的输出参数进行处理,避免出现并发安全性问题。示例性的,用户判断目标上游节点与其匹配的目标下游节点间存在并发安全性问题,则向该目标上游节点发送复制禁止指令,取消对目标上游节点的输出参数进行复制的操作。
通过对输出参数进行复制处理有利于提高下游节点处理数据的并发安全性。
在本实施例的另一个可选实现方式中,S240之后,还包括:
根据目标搜索场景下的搜索请求确定共享数据,共享数据用于供第二待执行流程中的节点获取并处理。
其中,共享数据是指通用性数据,即所有节点或者大部分节点均需要获取的数据,示例性的,共享数据包括用户信息,例如用户发起搜索请求的IP地址等。目标搜索场景对应的待执行流程中的任意节点均可以根据自身处理需求获取到共享数据,以推进流程的处理进程。
通过共享数据的设置有利于提高节点进行数据传输的效率,避免大量数据重复传输;并且共享数据的获取也有利于保证节点间数据差异化传输的实现。
本实施例的方案,根据参数类型确定节点间位置关系实现通过交互数据的参数类型即可确定节点间的依赖关系,有利于提高节点间的逻辑耦合和并发安全性;并且节点间根据参数类型进行传递数据使得节点只需要接收自身需要的数据,避免无关数据的获取,有利于提高节点处理数据的效率,进而提高流程处理效率。
图3是根据本公开实施例的又一种搜索流程的处理方法的示意图,本实施例是对上述技术方案的进一步细化,匹配关系包括语义匹配关系,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图3所示,搜索流程的处理方法包括如下:
S310、获取目标搜索场景的第一待执行流程,并根据目标搜索场景从候选节点中确定待增加节点。
S320、确定待增加节点的目标语义信息,以及第一待执行流程中已有节点的已有语义信息。
其中,语义信息用于对节点所执行的业务功能进行表示,示例性的,语义信息可以通过节点预先定义的标签进行确定,或者根据节点中的执行代码进行确定,在本公开中对节点的语义信息的获取方式并不限制。
S330、根据目标语义信息和已有语义信息的匹配关系确定待增加节点与已有节点的位置关系。
由于目标搜索场景中对于业务功能的执行顺序以及执行条件均会有一定限制,因此需要根据节点间的语义信息的匹配情况确定待增加节点的位置。具体的,确定目标语义信息与已有语义信息的关联程度,根据关联程度确定关联已有节点,则根据关联已有节点确定待增加节点的位置。
示例性的,在上述示例的基础上,已有节点中的已有语义信息包括目标位置搜索节点,位置展示节点,待增加节点的目标语义信息为餐饮位置搜索节点,则根据语义信息确定位置展示节点与待增加节点的关联程度最大,再根据语义信息先进行位置搜索才能进行位置展示,则将待增加节点确定为位置展示节点的上游节点。根据语义信息的匹配关系确定的待增加节点的位置可以位于第一待执行流程中的任一位置,以实现搜索流程的灵活配置。
在本实施例的另一个可选实现方式中,S330之后,还包括:
根据位置关系确定待增加节点的匹配下游节点,并在待增加节点与匹配下游节点之间添加适配器,以通过适配器根据匹配下游节点的输入参数接口类型对待增加节点的输出参数进行类型转换。
由于待增加节点的位置是根据目标语义信息进行确定,因此会出现待增加节点的输出参数类型与匹配下游节点的输入参数类型不相同,需要通过适配器进行输出参数的类型转换。同理,也会出现待增加节点的输入参数类型与匹配上游节点的输出参数类型不相同,为了保证上游节点输出参数的顺利传递,需要在节点间通过适配器进行输出参数的类型转换。根据位置关系确定待增加节点的匹配上游节点,并在待增加节点与匹配上游节点之间添加适配器,以通过适配器根据待增加节点的输入参数接口类型对匹配上游节点的输出参数进行类型转换。
通过适配器实现输出参数的类型转换,保证上游节点输出参数的顺利传递,最大限度上保证节点复用的灵活性,便于进行流程拼接;同时保证了节点间参数的差异化传输效果。
S340、根据位置关系生成第二待执行流程。
在本实施例的另一个可选实现方式中,S340之后,还包括:
响应于目标搜索场景下的搜索请求,确定第二待执行流程中的节点的执行反馈结果;其中,节点中包括条件节点或可选节点;
根据执行反馈结果确定第二待执行流程的实际运行DAG图。
其中,执行反馈结果包括该节点的执行状态信息,例如是否执行的结果。条件节点是指携带执行条件的节点,可选节点是指该节点不是流程必须要执行的节点,例如在可选分支中有三个可选节点,当两个可选节点反馈信息后就可以继续执行后续下游节点。条件节点和可选节点均属于第二待执行流程中可能会跳过执行的节点,这些节点的存在会影响整个流程的正常运行和结束。
具体的,第二待执行流程在对目标搜索场景下的搜索请求进行响应执行时,获取执行的每个节点反馈的执行反馈结果,并根据该执行反馈结果确定实际运行时第二待执行流程的实际运行DAG图。示例性的,由于第二待执行流程中有条件边以及可选边等动态节点,所以在对第二待执行流程的编译期的DAG图和实际运行期的DAG图不完全一样,因此将当前第二待执行流程里所有节点的运行期状态全部保存,根据保持的节点状态信息确定实际运行DAG图。
通过对实际运行DAG图的确定,有利于对第二待执行流程中动态节点关系的确定,提高对执行流程控制的准确度,实现在搜索流程中支持复杂分支,如条件分支或可选分支。
在本实施例的另一个可选实现方式中,执行反馈结果包括执行失败反馈结果;
根据执行反馈结果确定第二待执行流程的实际运行DAG图之前,还包括:
生成末位节点执行指令;其中,末位节点用于进行执行结果反馈;
根据末位节点执行指令对第二待执行流程中的末位节点进行执行。
其中,执行失败反馈结果该节点执行失败的状态信息以及失败原因的反馈信息。末位节点是指第二待执行流程中的最后一个待执行节点。
具体的,根据节点的执行反馈结果确定第二待执行流程中任一节点出现执行失败,则直接跳转至第二待执行流程中的末位节点进行执行,以保证第二待执行流程的执行完整性,避免出现第二待执行流程执行一半后某节点出错造成整个流程停止执行,进而造成信息丢失。示例性的,末位节点可以进行兜底处理,例如进行执行结果反馈,如给上游传递错误包等。
通过设置在第二待执行流程中任意节点发生错误都需要跳转到末位节点进行执行,便于用户在末位节点中进行异常控制处理操作,提高流程执行的完整度。
在本实施例的另一个可选实现方式中,S340之后,还包括:
确定第二待执行流程的流程超时时间,和第二待执行流程中节点的节点超时时间;
响应于目标搜索场景下的搜索请求,对第二待执行流程进行执行过程中,根据流程超时时间和节点超时时间确定执行超时反馈结果。
具体的,用户可以自定义第二待执行流程中的流程超时时间以及各节点的节点超时时间,或者只设置流程超时时间即可,根据流程超时时间对节点进行超时控制。
示例性的,确定第二待执行流程的流程超时时间为10s,在第二待执行流程中有两个节点,每个节点的节点超时时间为5s,在实际执行过程中,第一个节点的耗时为7s,则根据流程超时时间确定剩余时间和节点超时时间的比较结果确定最后一个节点的实际节点超时时间为3s,以实现对流程的整体控制。同样,在实际执行过程中,第一个节点的耗时为3s,则根据流程超时时间确定剩余时间和节点超时时间的比较结果确定最后一个节点的实际节点超时时间为5s。
超时控制支持流程粒度和算子粒度,并从两个粒度综合确定节点的执行超时反馈结果,提高对节点超时控制的准确度,进而提高流程执行的效率。
图4为根据本公开实施例的一种待执行流程的结构示意图。参考图4,flow相当于目标搜索场景下的第二待执行流程,Op(n)为第二待执行流程中第n个节点,flow对应一个完整的流程,内部由多个Op互相串联形成一个DAG,Op对应流程内一个节点,完成某一个具体的业务功能。flow也可以作为另一个flow中的Op。在流程执行时,提供触发执行的用户接口,即通过将Op绑定到flow的开始节点上,即可以实现控制flow从该Op开始执行。设置在flow上的超时时间会对该flow内部的所有Op生效。也可以通过flow获取到一个生命周期的的Context作为公共数据共享,并且支持对每个Op的执行状态进行保存。
本实施例的方案,通过语义信息的匹配关系进行待增加节点位置的确定,实现了待增加节点的灵活配置,最大限度上保证了搜索流程确定的灵活性,便于进行流程拼接,适用于搜索业务等复杂场景的流程处理。
图5是根据本公开实施例的一种搜索流程的处理装置的结构示意图,该装置可以执行本公开任一实施例中涉及到的搜索流程的处理方法;参考图5,搜索流程的处理装置500,包括:节点确定模块510和位置确定模块520。
节点确定模块510,用于获取目标搜索场景的第一待执行流程,并根据所述目标搜索场景从候选节点中确定待增加节点;
位置确定模块520,用于根据所述待增加节点与所述第一待执行流程中已有节点的匹配关系确定所述待增加节点在所述第一待执行流程中的位置,并根据所述位置生成第二待执行流程。
本实施例的方案,通过对目标搜索场景中的缺失业务功能进行自定义添加,在目标搜索场景中有新的业务功能需求时,不需要频繁修改当前主体流程,只需要在当前主体流程的基础上进行修改即可,提高了搜索流程的处理效率,方便、快速在待执行流程的任意位置添加和修改节点,实现对业务需求的高效迭代。
在本实施例的一个可选实现方式中,所述匹配关系包括参数类型匹配关系;
所述位置确定模块,包括:
参数类型确定单元,用于确定所述待增加节点的目标输入参数类型和目标输出参数类型,以及所述第一待执行流程中已有节点的已有输入参数类型和已有输出参数类型;
第一位置关系确定单元,用于根据所述目标输入参数类型和所述已有输出参数类型,以及所述目标输出参数类型和所述已有输入参数类型的匹配关系确定所述待增加节点与所述已有节点的位置关系。
在本实施例的一个可选实现方式中,所述装置还包括参数传递模块,用于在所述根据所述位置生成第二待执行流程之后,包括:
输出参数确定单元,用于根据目标搜索场景下的搜索请求确定所述第二待执行流程中上游节点的输出参数;
下游节点确定单元,用于根据所述输出参数的数据类型从所述上游节点的候选下游节点中确定目标下游节点;
输出参数传递单元,用于将所述输出参数传递至所述目标下游节点。
在本实施例的一个可选实现方式中,所述匹配关系包括语义匹配关系;
所述位置确定模块,包括:
语义信息确定单元,用于确定所述待增加节点的目标语义信息,以及所述第一待执行流程中已有节点的已有语义信息;
第二位置关系确定单元,用于根据所述目标语义信息和所述已有语义信息的匹配关系确定待增加节点与所述已有节点的位置关系。
在本实施例的一个可选实现方式中,所述装置还包括参数类型转换模块,用于在根据所述目标语义信息和所述已有语义信息的匹配关系确定待增加节点与所述已有节点的位置关系之后,
根据所述位置关系确定所述待增加节点的匹配下游节点,并在所述待增加节点与所述匹配下游节点之间添加适配器,以通过所述适配器根据所述匹配下游节点的输入参数接口类型对所述待增加节点的输出参数进行类型转换。
在本实施例的一个可选实现方式中,所述装置还包括执行反馈模块,用于所述根据所述位置生成第二待执行流程之后,包括:
反馈结果确定单元,用于响应于目标搜索场景下的搜索请求,确定所述第二待执行流程中的节点的执行反馈结果;其中,所述节点中包括条件节点或可选节点;
DAG图确定单元,用于根据所述执行反馈结果确定所述第二待执行流程的实际运行DAG图。
在本实施例的一个可选实现方式中,所述执行反馈结果包括执行失败反馈结果;所述装置还包括执行失败模块,用于所述根据所述执行反馈结果确定所述第二待执行流程的实际运行DAG图之前,生成末位节点执行指令;其中,所述末位节点用于进行执行结果反馈;根据所述末位节点执行指令对所述第二待执行流程中的末位节点进行执行。
在本实施例的一个可选实现方式中,所述装置还包括超时反馈模块,用于所述根据所述位置生成第二待执行流程之后,
确定所述第二待执行流程的流程超时时间,和所述第二待执行流程中节点的节点超时时间;
响应于目标搜索场景下的搜索请求,对所述第二待执行流程进行执行过程中,根据所述流程超时时间和所述节点超时时间确定执行超时反馈结果。
在本实施例的一个可选实现方式中,所述装置还包括共享数据确定模块,用于所述根据所述位置生成第二待执行流程之后,
根据目标搜索场景下的搜索请求确定共享数据,所述共享数据用于供所述第二待执行流程中的节点获取并处理。
在本实施例的一个可选实现方式中,所述目标下游节点包括至少两个;所述装置还包括输出参数复制模块,用于所述将所述输出参数传递至所述目标下游节点之前,根据所述目标下游节点的数量确定所述输出参数的复制数量。
在本实施例的一个可选实现方式中,所述待增加节点为其他搜索场景对应的执行流程。
上述搜索流程的处理装置可执行本公开任意实施例所提供的搜索流程的处理方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本公开任意实施例提供的搜索流程的处理方法。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如搜索流程的处理方法。例如,在一些实施例中,搜索流程的处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的搜索流程的处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法搜索流程的处理。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (25)

1.一种搜索流程的处理方法,包括:
获取目标搜索场景的第一待执行流程,并根据所述目标搜索场景从候选节点中确定待增加节点;
根据所述待增加节点与所述第一待执行流程中已有节点的匹配关系确定所述待增加节点在所述第一待执行流程中的位置,并根据所述位置生成第二待执行流程。
2.根据权利要求1所述的方法,其中,所述匹配关系包括参数类型匹配关系;
根据所述待增加节点与所述第一待执行流程中已有节点的匹配关系确定所述待增加节点在所述第一待执行流程中的位置,包括:
确定所述待增加节点的目标输入参数类型和目标输出参数类型,以及所述第一待执行流程中已有节点的已有输入参数类型和已有输出参数类型;
根据所述目标输入参数类型和所述已有输出参数类型,以及所述目标输出参数类型和所述已有输入参数类型的匹配关系确定所述待增加节点与所述已有节点的位置关系。
3.根据权利要求2所述的方法,所述根据所述位置生成第二待执行流程之后,还包括:
根据目标搜索场景下的搜索请求确定所述第二待执行流程中上游节点的输出参数;
根据所述输出参数的数据类型从所述上游节点的候选下游节点中确定目标下游节点;
将所述输出参数传递至所述目标下游节点。
4.根据权利要求1所述的方法,其中,所述匹配关系包括语义匹配关系;
根据所述待增加节点与所述第一待执行流程中已有节点的匹配关系确定所述待增加节点在所述第一待执行流程中的位置,包括:
确定所述待增加节点的目标语义信息,以及所述第一待执行流程中已有节点的已有语义信息;
根据所述目标语义信息和所述已有语义信息的匹配关系确定待增加节点与所述已有节点的位置关系。
5.根据权利要求4所述的方法,其中,根据所述目标语义信息和所述已有语义信息的匹配关系确定待增加节点与所述已有节点的位置关系之后,还包括:
根据所述位置关系确定所述待增加节点的匹配下游节点,并在所述待增加节点与所述匹配下游节点之间添加适配器,以通过所述适配器根据所述匹配下游节点的输入参数接口类型对所述待增加节点的输出参数进行类型转换。
6.根据权利要求1所述的方法,其中,所述根据所述位置生成第二待执行流程之后,还包括:
响应于目标搜索场景下的搜索请求,确定所述第二待执行流程中的节点的执行反馈结果;其中,所述节点中包括条件节点或可选节点;
根据所述执行反馈结果确定所述第二待执行流程的实际运行DAG图。
7.根据权利要求6所述的方法,其中,所述执行反馈结果包括执行失败反馈结果;
所述根据所述执行反馈结果确定所述第二待执行流程的实际运行DAG图之前,还包括:
生成末位节点执行指令;其中,所述末位节点用于进行执行结果反馈;
根据所述末位节点执行指令对所述第二待执行流程中的末位节点进行执行。
8.根据权利要求1所述的方法,其中,所述根据所述位置生成第二待执行流程之后,还包括:
确定所述第二待执行流程的流程超时时间,和所述第二待执行流程中节点的节点超时时间;
响应于目标搜索场景下的搜索请求,对所述第二待执行流程进行执行过程中,根据所述流程超时时间和所述节点超时时间确定执行超时反馈结果。
9.根据权利要求1所述的方法,其中,所述根据所述位置生成第二待执行流程之后,还包括:
根据目标搜索场景下的搜索请求确定共享数据,所述共享数据用于供所述第二待执行流程中的节点获取并处理。
10.根据权利要求3所述的方法,其中,所述目标下游节点包括至少两个;
所述将所述输出参数传递至所述目标下游节点之前,还包括:
根据所述目标下游节点的数量确定所述输出参数的复制数量。
11.根据权利要求1所述的方法,其中,所述待增加节点为其他搜索场景对应的执行流程。
12.一种搜索流程的处理装置,包括:
节点确定模块,用于获取目标搜索场景的第一待执行流程,并根据所述目标搜索场景从候选节点中确定待增加节点;
位置确定模块,用于根据所述待增加节点与所述第一待执行流程中已有节点的匹配关系确定所述待增加节点在所述第一待执行流程中的位置,并根据所述位置生成第二待执行流程。
13.根据权利要求12所述的装置,其中,所述匹配关系包括参数类型匹配关系;
所述位置确定模块,包括:
参数类型确定单元,用于确定所述待增加节点的目标输入参数类型和目标输出参数类型,以及所述第一待执行流程中已有节点的已有输入参数类型和已有输出参数类型;
第一位置关系确定单元,用于根据所述目标输入参数类型和所述已有输出参数类型,以及所述目标输出参数类型和所述已有输入参数类型的匹配关系确定所述待增加节点与所述已有节点的位置关系。
14.根据权利要求13所述的装置,其中,所述装置还包括参数传递模块,用于在所述根据所述位置生成第二待执行流程之后,包括:
输出参数确定单元,用于根据目标搜索场景下的搜索请求确定所述第二待执行流程中上游节点的输出参数;
下游节点确定单元,用于根据所述输出参数的数据类型从所述上游节点的候选下游节点中确定目标下游节点;
输出参数传递单元,用于将所述输出参数传递至所述目标下游节点。
15.根据权利要求12所述的装置,其中,所述匹配关系包括语义匹配关系;
所述位置确定模块,包括:
语义信息确定单元,用于确定所述待增加节点的目标语义信息,以及所述第一待执行流程中已有节点的已有语义信息;
第二位置关系确定单元,用于根据所述目标语义信息和所述已有语义信息的匹配关系确定待增加节点与所述已有节点的位置关系。
16.根据权利要求15所述的装置,其中,所述装置还包括参数类型转换模块,用于在根据所述目标语义信息和所述已有语义信息的匹配关系确定待增加节点与所述已有节点的位置关系之后,
根据所述位置关系确定所述待增加节点的匹配下游节点,并在所述待增加节点与所述匹配下游节点之间添加适配器,以通过所述适配器根据所述匹配下游节点的输入参数接口类型对所述待增加节点的输出参数进行类型转换。
17.根据权利要求12所述的装置,其中,所述装置还包括执行反馈模块,用于所述根据所述位置生成第二待执行流程之后,包括:
反馈结果确定单元,用于响应于目标搜索场景下的搜索请求,确定所述第二待执行流程中的节点的执行反馈结果;其中,所述节点中包括条件节点或可选节点;
DAG图确定单元,用于根据所述执行反馈结果确定所述第二待执行流程的实际运行DAG图。
18.根据权利要求17所述的装置,其中,所述执行反馈结果包括执行失败反馈结果;所述装置还包括执行失败模块,用于所述根据所述执行反馈结果确定所述第二待执行流程的实际运行DAG图之前,生成末位节点执行指令;其中,所述末位节点用于进行执行结果反馈;根据所述末位节点执行指令对所述第二待执行流程中的末位节点进行执行。
19.根据权利要求12所述的装置,其中,所述装置还包括超时反馈模块,用于所述根据所述位置生成第二待执行流程之后,
确定所述第二待执行流程的流程超时时间,和所述第二待执行流程中节点的节点超时时间;
响应于目标搜索场景下的搜索请求,对所述第二待执行流程进行执行过程中,根据所述流程超时时间和所述节点超时时间确定执行超时反馈结果。
20.根据权利要求12所述的装置,其中,所述装置还包括共享数据确定模块,用于所述根据所述位置生成第二待执行流程之后,
根据目标搜索场景下的搜索请求确定共享数据,所述共享数据用于供所述第二待执行流程中的节点获取并处理。
21.根据权利要求14所述的装置,其中,所述目标下游节点包括至少两个;所述装置还包括输出参数复制模块,用于所述将所述输出参数传递至所述目标下游节点之前,根据所述目标下游节点的数量确定所述输出参数的复制数量。
22.根据权利要求12所述的装置,其中,所述待增加节点为其他搜索场景对应的执行流程。
23.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-11中任一项所述的方法。
25.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现根据权利要求1-11中任一项所述方法的步骤。
CN202211165767.0A 2022-09-23 2022-09-23 搜索流程的处理方法、装置、设备、介质及产品 Pending CN115510103A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211165767.0A CN115510103A (zh) 2022-09-23 2022-09-23 搜索流程的处理方法、装置、设备、介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211165767.0A CN115510103A (zh) 2022-09-23 2022-09-23 搜索流程的处理方法、装置、设备、介质及产品

Publications (1)

Publication Number Publication Date
CN115510103A true CN115510103A (zh) 2022-12-23

Family

ID=84505731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211165767.0A Pending CN115510103A (zh) 2022-09-23 2022-09-23 搜索流程的处理方法、装置、设备、介质及产品

Country Status (1)

Country Link
CN (1) CN115510103A (zh)

Similar Documents

Publication Publication Date Title
CN110750592B (zh) 数据同步的方法、装置和终端设备
CN107451062B (zh) 一种用户界面遍历测试方法、装置、服务器、存储介质
CN113934464A (zh) Linux系统中启动安卓应用的方法、装置和电子设备
CN109901985B (zh) 分布式测试装置及方法、存储介质和电子设备
CN110865889A (zh) 组件间传递事件的方法和装置
CN115509522A (zh) 面向低代码场景的接口编排方法、系统、电子设备
CN113282444B (zh) 用于业务流程调试的可视化方法和装置
CN111444077A (zh) 一种生成流程节点测试数据的方法和装置
CN113377665A (zh) 基于容器技术的测试方法、装置、电子设备及存储介质
CN113296796A (zh) 项目发布方法、装置、系统、存储介质、电子设备
CN111782502A (zh) 一种自动化测试的方法及装置
CN114389969A (zh) 客户端的测试方法、装置、电子设备和存储介质
CN112579569A (zh) 一种数据迁移方法和装置
CN113760638A (zh) 一种基于kubernetes集群的日志服务方法和装置
CN114756211B (zh) 模型训练方法、装置、电子设备和存储介质
CN116126719A (zh) 接口测试方法、装置、电子设备及存储介质
CN115510103A (zh) 搜索流程的处理方法、装置、设备、介质及产品
CN110806967A (zh) 一种单元测试方法和装置
CN115248735A (zh) 一种日志数据输出控制方法、装置、设备及存储介质
CN115329143A (zh) 有向无环图评估方法、装置、设备及存储介质
CN114218313A (zh) 数据管理方法、装置、电子设备、存储介质及产品
CN113220573A (zh) 用于微服务架构的测试方法、装置和电子设备
CN112799797A (zh) 一种任务管理的方法和装置
CN115827174B (zh) 一种基于多实例的任务处理方法及装置
CN108459914B (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