内容搜索方法、装置、电子设备和计算机可读存储介质与流程
未命名
09-13
阅读:84
评论:0

1.本发明涉及通信技术领域,具体涉及一种内容搜索方法、装置、电子设备和计算机可读存储介质。
背景技术:
2.近年来,随着互联网技术的飞速发展,网络上的各种内容也越来越丰富。为了在海量的内容中搜索出需要的内容,往往可以通过多个垂类业务进行搜索,从而精确的搜索出目标内容。在垂类业务进行搜索时,一旦单个垂类业务请求超时,就会导致整个内容搜索超时,为了避免内容搜索超时,现有的内容搜索方法将请求处理分为多个阶段从而对每个阶段做并发调用处理,或者,在特殊情况下对特定业务逻辑做减枝处理。
3.在对现有技术的研究和实践过程中,本发明的发明人发现人为划分的多个阶段,每个阶段的超时合理值很难确定,而改变业务流程的处理方式会使得业务逻辑耦合严重,会使内容搜索的搜索效率变低。
技术实现要素:
4.本发明实施例提供一种内容搜索方法、装置、电子设备和计算机可读存储介质,可以提高内容搜索的搜索效率。
5.一种内容搜索方法,包括:
6.接收内容搜索请求,并基于所述内容搜索请求确定内容搜索的至少一个业务流程;
7.将所述业务流程作为业务节点构建业务执行图,并生成所述业务执行图对应的超时控制节点,所述超时控制节点用于在超时唤醒后执行控制动作;
8.执行所述业务执行图中每一业务节点对应的搜索业务,并获取所述搜索业务的执行时间;
9.根据所述执行时间和超时控制节点,在所述搜索业务中筛选出目标搜索业务;
10.将所述目标搜索业务的执行结果进行融合,得到所述内容搜索请求对应的目标内容。
11.相应的,本发明实施例提供一种内容搜索装置,包括:
12.接收单元,用于接收内容搜索请求,并基于所述内容搜索请求确定内容搜索的至少一个业务流程;
13.构建单元,用于将所述业务流程作为业务节点构建业务执行图,并生成所述业务执行图对应的超时控制节点,所述超时控制节点用于在超时唤醒后执行控制动作;
14.执行单元,用于执行所述业务执行图中每一业务节点对应的搜索业务,并获取所述搜索业务的执行时间;
15.筛选单元,用于根据所述执行时间和超时控制节点,在所述搜索业务中筛选出目标搜索业务;
16.融合单元,用于将所述目标搜索业务的执行结果进行融合,得到所述内容搜索请求对应的目标内容。
17.可选的,在一些实施例中,所述筛选单元,具体可以用于当所述执行时间超过预设时间阈值时,唤醒所述超时控制节点,并基于所述超时控制节点,在所述搜索业务中筛选出目标搜索业务;当所述执行时间未超过预设时间阈值,且所述业务执行图对应的搜索业务执行完成时,取消唤醒所述超时控制节点,并将所述搜索业务作为目标搜索业务。
18.可选的,在一些实施例中,所述筛选单元,具体可以用于基于所述超时控制节点,获取所述搜索业务的当前执行信息;在所述当前执行信息中识别出所述搜索业务的执行状态;在所述搜索业务中筛选出执行状态为执行完成的搜索业务,得到目标搜索业务。
19.可选的,在一些实施例中,所述筛选单元,具体可以用于根据所述搜索业务的执行状态,对所述业务执行图的执行状态进行更新;在所述搜索业务中筛选出执行状态为未执行完成的搜索业务,得到待处理搜索业务;在更新后业务执行图中识别出所述待处理搜索业务对应的目标业务节点,并停止处理所述目标业务节点。
20.可选的,在一些实施例中,所述执行单元,具体可以用于对所述业务执行图中的业务节点进行拓扑排序,得到所述业务节点的排序信息;基于所述排序信息,确定所述业务节点对应的搜索业务的执行顺序;根据所述执行顺序执行所述业务节点对应的搜索业务。
21.可选的,在一些实施例中,所述执行单元,具体可以用于根据所述执行顺序,在所述搜索业务中查询每一业务节点对应的搜索业务的前置搜索业务;当不存在所述前置搜索业务时,调用执行组件,并通过所述执行组件执行所述业务节点对应的搜索业务;当存在所述前置搜索业务时,基于所述前置搜索业务的业务数量和执行状态,通过所述执行组件执行所述业务节点对应的搜索业务。
22.可选的,在一些实施例中,所述执行单元,具体可以用于当所述前置搜索业务的业务数量为多个时,获取所述前置搜索业务的执行等级,并基于所述执行等级和执行状态,通过执行组件执行所述业务节点对应的搜索业务;当所述前置搜索业务的业务数量为一个时,根据所述前置搜索业务的执行状态,通过所述执行组件执行所述业务节点对应的搜索业务。
23.可选的,在一些实施例中,所述执行单元,具体可以用于根据所述执行等级,在所述前置搜索业务中筛选出目标前置搜索业务;当检测到所述目标前置搜索业务的执行状态为执行完成时,通过所述执行组件执行所述业务节点对应的搜索业务。
24.可选的,在一些实施例中,所述执行单元,具体可以用于将所述业务节点对应的搜索业务添加至所述共享队列,并在所述共享队列中识别出所述业务节点对应的搜索业务的业务类型;当所述业务类型为第一业务类型时,在所述线程池中筛选目标工作线程,并通过所述目标工作线程执行所述业务节点对应的搜索业务;当所述业务类型为第二业务类型时,通过所述协程池中的调度协程调度所述业务节点对应的搜索业务至工作协程,并通过所述工作协程执行所述业务节点对应的搜索业务。
25.可选的,在一些实施例中,所述执行单元,具体可以用于在所述前置搜索业务中筛选出除所述目标前置搜索业务以外的前置搜索业务,得到未完成的前置搜索业务;在所述业务执行图中识别出所述未完成的前置搜索业务对应的业务节点;通过所述执行组件对所述未完成的前置搜索业务对应的业务节点执行取消操作,以停止执行所述未完成的前置搜
索业务。
26.可选的,在一些实施例中,所述融合单元,具体可以用于获取所述目标搜索业务的执行结果;在所述执行结果中提取出至少一个类型的搜索内容和所述搜索内容的展示信息;根据所述展示信息,将所述搜索内容进行组包,得到所述内容搜索请求对应的目标内容。
27.此外,本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本发明实施例提供的内容搜索方法。
28.此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种内容搜索方法中的步骤。
29.本发明实施例在接收内容搜索请求,并基于内容搜索请求确定内容搜索的至少一个业务流程后,将业务流程作为业务节点构建业务执行图,并生成业务执行图对应的超时控制节点,然后,执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间,根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务,将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容;由于该方案在构建业务执行图的基础上,生成超时控制节点,当业务节点对应的搜索业务存在超时时,便通过超时控制节点筛选已执行完的搜索业务的执行结果并进行组包,得到目标内容,从而可以避免搜索请求返回超时,因此,可以提升内容搜索的搜索效率。
附图说明
30.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1是本发明实施例提供的内容搜索方法的场景示意图;
32.图2是本发明实施例提供的内容搜索方法的流程示意图;
33.图3是本发明实施例提供的提前执行策略的实现方案的示意图;
34.图4是本发明实施例提供的展示的目标内容的页面示意图;
35.图5是本发明实施例提供的整图执行超时策略的实现方案的示意图;
36.图6是本发明实施例提供的内容搜索方法的另一流程示意图;
37.图7是本发明实施例提供的内容搜索装置的结构示意图;
38.图8是本发明实施例提供的电子设备的结构示意图。
具体实施方式
39.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.本发明实施例提供一种内容搜索方法、装置、电子设备和计算机可读存储介质。其中,该内容搜索装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
41.其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
42.例如,参见图1,以内容搜索装置集成在电子设备中为例,电子设备在接收内容搜索请求,并基于内容搜索请求确定内容搜索的至少一个业务流程后,将业务流程作为业务节点构建业务执行图,并生成业务执行图对应的超时控制节点,然后,执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间,根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务,将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容,进而提升内容搜索的搜索效率。
43.以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
44.本实施例将从内容搜索装置的角度进行描述,该内容搜索装置具体可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备;其中,该终端可以包括平板电脑、笔记本电脑、以及个人计算机(pc,personal computer)、可穿戴设备、虚拟现实设备或其他可以进行内容搜索的智能设备等设备。
45.一种内容搜索方法,包括:
46.接收内容搜索请求,并基于内容搜索请求确定内容搜索的至少一个业务流程,将业务流程作为业务节点构建业务执行图,并生成业务执行图对应的超时控制节点,超时控制节点用于在超时唤醒后执行控制动作,执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间,根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务,将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容。
47.如图2所示,该内容搜索方法的具体流程如下:
48.101、接收内容搜索请求,并基于内容搜索请求确定内容搜索的至少一个业务流程。
49.其中,内容搜索请求可以为用于进行搜索目标内容的请求,该内容搜索请求中可以携带搜索信息,该搜索信息可以包括待搜索内容、搜索对象和搜索属性信息等。
50.其中,业务流程可以理解为在搜索内容的过程需要进行的流程,在搜索内容中可以存在一个或多个业务流程,业务流程的类型也可以有多种,比如,以文本搜索为例,业务流程就可以包括对检索词和上下文信息等进行切词、实体识别和意图识别等,还可以包括根据意图调用不同垂搜获取垂搜结果、根据垂搜结果进行排序、调用关系链等补充信息进行展示等流程。
51.其中,接收内容搜索请求的方式可以有多种,具体可以如下:
52.例如,可以直接接收终端发送的内容搜索请求,或者,当内容搜索请求中携带的搜
索信息内存较大或者数量较多时,还可以直接接收终端发送的内容搜索请求,该内容搜索请求中携带搜索信息的存储地址,基于该存储地址获取搜索信息。
53.当接收到内容搜索请求之后,便可以基于该内容搜索请求确定内容搜索的至少一个业务流程,确定业务流程的方式可以有多种,比如,根据搜索信息,确定该内容搜索请求的搜索类型,在业务流程数据库中筛选出该搜索类型对应的至少一个业务流程,得到内容搜索的业务流程。
54.其中,搜索类型可以理解为用于搜索的内容的类型,比如,可以为基于文本内容进行搜索文本或者其他类型的内容,或者,还可以为基于视频内容搜索视频内容或者其他类型的内容;还可以理解为搜索出的内容的类型,比如,可以为网址信息搜索、小程序搜索、文本搜索和音视频搜索等等。
55.102、将业务流程作为业务节点构建业务执行图,并生成业务执行图对应的超时控制节点。
56.其中,业务执行图可以为用于执行内容搜索的搜索业务的图网络,该图网络中可以包括多个业务节点,每一个业务节点可以为一个内容搜索中的业务流程,每一个业务节点对应一个搜索业务,该搜索业务之间相对独立。
57.其中,超时控制节点可以为业务执行图之外独立的控制节点,该超时控制节点用于在超时唤醒后执行控制动作。
58.其中,将业务流程作为业务节点构建业务执行图的方式可以有多种,具体可以如下:
59.例如,可以在线程池中筛选出工作线程,基于该工作线程识别出业务流程之间的业务关系,基于该业务关系,将工作流程作为业务节点生成图网络,并将该图网络作为业务执行图。
60.在构建业务执行图之后,便可以生成业务执行图对应的超时控制节点,生成超时控制节点的方式可以有多种,比如,可以通过节点框架生成一个独立的基础超时控制节点,对基础超时控制节点的超时时间和回调动作进行配置,得到超时控制节点。
61.其中,超时时间可以理解为用于超时唤醒的预设时间阈值,当某一个业务节点对应的搜索业务的执行时间超过该超时时间时,就可以唤醒该超时控制节点。
62.其中,回调动作可以理解为超时控制节点在唤醒后所执行的控制动作,该回调动作的设置主要通过设置回调函数来实现。
63.103、执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间。
64.其中,搜索业务可以理解为业务节点对应的业务流程的业务,比如,以业务流程为意图识别为例,搜索业务就可以为意图识别对应的业务。
65.其中,执行时间可以为执行搜索业务所花费的时间,当搜索业务执行完成时就可以停止计时。
66.其中,执行业务执行图中每一业务节点对应的搜索业务的方式可以有多种,具体可以如下:
67.例如,对业务执行图中的业务节点进行拓扑排序,得到所述业务节点的排序信息,基于排序信息,确定该业务节点对应的搜索业务的执行顺序,根据执行顺序执行业务节点
对应的搜索业务。
68.其中,根据执行顺序执行业务节点对应的搜索业务的方式可以有多种,比如,根据执行顺序,在搜索业务中查询每一业务节点对应的搜索业务的前置搜索业务,当不存在该前置搜索业务时,调用执行组件,并通过执行组件执行业务节点对应的搜索业务,当存在前置搜索业务,基于前置搜索业务的业务数量和执行状态,通过执行组件执行业务节点对应的搜索业务。
69.其中,前置搜索业务可以理解为在执行业务节点对应的搜索业务之前需要执行的搜索业务。当不存在前置搜索业务时,就可以说明该业务节点对应的搜索业务为第一个执行的搜索业务,无需等待其他的搜索业务执行完成。当存在前置搜索业务时,就可以说明该业务节点对应的搜索业务需要在前置搜索业务执行完成之后才可以执行。当存在前置搜索业务时,基于前置搜索业务的业务数量和执行状态,通过执行组件执行业务节点对应的搜索业务的方式可以有多种,比如,当前置搜索业务的业务数量为多个时,获取前置搜索业务的执行等级,并基于执行等级和执行状态,通过执行组件执行业务节点对应的搜索业务,当前置搜索业务的业务数量为一个时,根据前置搜索业务的执行状态,通过执行组件执行业务节点对应的搜索业务。
70.其中,执行等级可以理解为执行该前置搜索业务的优先级,通过执行等级就可以达到提前执行的目的,即在高优先级的前置搜索业务完成之后,忽略低优先级的前置搜索业务的执行状态,从而可以直接执行当前的业务节点对应的搜索业务,根据执行等级和执行状态,通过执行组件执行业务节点对应的搜索业务的方式可以有多种,比如,根据执行等级,在前置搜索业务中筛选出目标前置搜索业务,当检测到目标前置搜索业务的执行状态为执行完成时,通过执行组件执行业务节点对应的搜索业务。
71.其中,根据执行等级,在前置搜索业务中筛选出目标前置搜索业务就可以理解为在前置搜索业务中筛选出高优先级的前置搜索业务作为目标前置搜索业务,筛选目标前置搜索业务的方式可以有多种,比如,在前置搜索业务中筛选出执行等级最高的前置搜索业务作为目标前置搜索业务,或者,还可以在前置搜索业务中筛选出执行等级超过预设等级阈值的前置搜索业务作为目标前置搜索业务。需要说明的是,目标前置搜索业务的数量可以为一个,也可以为多个。当检测到高优先级的目标前置搜索业务执行完成时,就可以直接通过执行组件执行业务节点对应的搜索业务,无需等待其他的前置搜索业务执行完成再来执行业务节点对应的搜索业务,进而减少业务节点对应的搜索业务的等待时间。
72.其中,执行组件包括线程池、协程池和共享队列,通过执行组件执行业务节点对应的搜索业务的方式可以有多种,比如,将业务节点对应的搜索业务添加至共享队列,并在共享队列中识别出业务节点对应的搜索业务的业务类型,当业务类型为第一业务类型时,在线程池中筛选出目标工作线程,并通过目标工作线程执行业务节点对应的搜索业务,当业务类型为第二业务类型时,通过协程池中的调度协程调度业务节点对应的搜索业务至工作协程,并通过工作协程执行业务节点对应的搜索业务。
73.其中,多个线程之间共享一个相同的共享队列,共享队列使用无锁实现,从而保证了线程之间竞争时的高效性。协程池中的协程可以包括调度协程和工作协程,调度协程负责搜索业务的管理和分发,工作协程和工作线程都是负责搜索业务的执行。
74.其中,业务类型可以理解为搜索业务的类型,该业务类型可以包括多种,比如,可
以包括cpu计算类型和i/o计算类型等,不同业务类型可以采用不同的组件进行执行。第一业务类型可以为cpu计算类型,第二业务类型可以为i/o计算类型。当业务类型为cpu计算类型时,就可以在线程池中筛选出目标工作线程,采用目标工作线程执行业务节点对应的搜索业务,当业务类型为i/o计算类型时,就可以在协程池中筛选出调用协程,并通过调度协程将业务节点对应的搜索业务调度至工作协程,然后,通过工作协程执行业务节点对应的搜索业务。
75.可选的,当前置搜索业务的业务数量为一个时,就无须考虑前置搜索业务的优先级,当检测到前置搜索业务的执行状态为执行完成时,就可以通过执行组件执行业务节点对应的搜索业务,通过执行组件执行业务节点对应的搜索业务的过程可以参见上文,在此就不再一一赘述。
76.其中,当检测到目标前置搜索业务的执行状态为执行完成时,在通过执行组件执行业务节点对应的搜索业务之前,还可以取消低优先级的前置搜索业务的执行,比如,在前置搜索业务中筛选出除目标前置搜索业务以外的前置搜索业务,得到未完成的前置搜索业务,在业务执行图中识别出未完成的前置搜索业务对应的业务节点,通过执行组件对未完成的前置搜索业务对应的业务节点执行取消操作,以停止执行未完成的前置搜索业务。
77.其中,需要说明的是,在对业务节点对应的搜索业务进行执行的过程中采用执行等级来提升执行效率的方案可以理解为提前执行策略,提前执行策略的实现方案可以如图3所示,以a业务节点依赖前置业务节点1(rsp1)、前置业务节点2(rsp2)和前置业务节点3(rsp3),也就是说a业务节点的搜索业务的前置搜索业务可以为前置业务节点1对应的前置搜索业务1、前置业务节点2对应的前置搜索业务2和前置业务节点3对应的前置搜索业务3,并且前置搜索业务1-3的优先级依次降低为例,则在生成业务执行图时,会在三个前置业务节点执行逻辑之后插入检查操作。在对前置业务节点对应的前置搜索业务1-3的执行过程中检查该前置搜索业务的优先级,当检查到高优先级的目标前置搜索业务执行完成之后,使用通知触发的方式或者其他逻辑方案通知a业务节点直接开始执行a业务节点对应的搜索业务,从而可以保证a业务节点对应的搜索业务直接开始执行,不用等待所有的前置搜索业务执行完成。一般情况下拓扑图节点只有在入度为0时才会被执行,如果直接连接rsp1、rsp2、rsp3,则需要等待所有三个节点执行完才能被执行,达不到提前执行的目标。另外,在高优任务执行完成后,还可以进一步发送通知给所有低优先级任务节点执行取消操作,从而减少无效计算资源的使用。
78.在执行业务节点对应的搜索业务时,还可以获取搜索业务的执行时间,执行时间可以理解为单个搜索业务执行的时间,获取搜索业务的执行时间的方式可以有多种,比如,当检测到搜索业务开始执行时,对该搜索业务的执行过程进行计时,当搜索业务的执行状态为执行完成时,停止计时,从而获取搜索业务的执行时间。
79.104、根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务。
80.其中,目标搜索业务可以为当前执行完成的搜索业务。
81.其中,根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务的方式可以有多种,具体可以如下:
82.例如,当执行时间超过预设时间阈值时,唤醒超时控制节点,并基于超时控制节点,在搜索业务中筛选出目标搜索业务,当执行时间未超过预设时间阈值,且业务执行图对
应的搜索业务执行完成时,取消唤醒超时控制节点,并将搜索业务作为目标搜索义务。
83.其中,预设时间阈值可以理解为设定的单个搜索业务在执行时的超时时间,当搜索业务的执行时间超过预设时间阈值时,就可以判定该搜索业务的执行超时。当搜索业务执行超时时,就可以唤醒超时控制节点,唤醒该超时控制节点的方式可以有多种,比如,超时控制节点在休眠状态下可以自动接收搜索业务的执行时间,当检测到执行超过预设时间阈值时,就可以自动唤醒超时控制节点,或者,还可以使用通知触发的方式唤醒超时控制节点。
84.在唤醒超时控制节点之后,便可以基于超时控制节点在搜索业务中筛选出目标搜索业务,筛选目标搜索业务的方式可以有多种,比如,基于超时控制节点,获取搜索业务的当前执行信息,在当前执行信息中识别出搜索业务的执行状态,在搜索业务中筛选出执行状态为执行完成的搜索业务,得到目标搜索业务。
85.其中,当存在搜索业务执行超时时,就可以发现目标搜索业务为执行超时这个时刻已经执行完成的搜索业务,此时,搜索业务中还存在该时刻下未执行完成的搜索业务,因此,还可以停止执行未完成的搜索业务,停止执行未完成的搜索业务的方式可以有多种,比如,根据搜索业务的执行状态,对业务执行图的执行状态进行更新,在搜索业务中筛选出执行状态为未执行完成的搜索业务,得到待处理搜索业务,在更新后业务执行图中识别出待处理搜索业务对应的目标业务节点,并停止处理目标业务节点,此时,目标业务节点对应的搜索业务进行不会被处理,防止计算资源的浪费。
86.其中,当执行时间未超过预设时间阈值时,就需要等到业务执行图中全部的业务节点对应的搜索业务执行完成,当业务执行图对应的搜索业务执行完成时,取消唤醒超时控制节点,防止超时控制节点唤醒后执行回调操作,并将搜索业务作为目标搜索业务,此时的目标搜索业务就可以为业务执行图中全部业务节点对应的搜索业务。
87.105、将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容。
88.其中,执行结果可以执行目标搜索业务后得到业务结果,该业务结果中可以包括垂搜出的垂搜结果,还可以包括对垂搜结果的排序信息或者展示信息等等。
89.其中,将目标搜索业务的执行结果进行融合,得到目标搜索请求对应的目标内容的方式可以有多种,具体可以如下:
90.例如,获取目标搜索业务的执行结果,在执行结果中提取出至少一个类型的搜索内容和该搜索内容的展示信息,根据展示信息,将搜索内容进行组包,得到内容搜索请求对应的目标内容。
91.其中,由于内容搜索系统通常可以搜索多个业务垂类数据,从而可以搜索出不同类型的内容,因此,搜索内容可以包括多个类型,比如,可以包括公众号、小程序、视频号等账号信息、公众号等资讯内容、服务内容、影音视频内容、文本内容等等。在执行结果中提取出至少一个类型的搜索内容和搜索内容的展示信息的方式可以有多种,比如,在执行结果中筛选出垂类搜索业务对应的垂类执行结果和针对垂类执行结果的服务执行结果,在垂类执行结果中提取出该垂类搜索业务对应的搜索内容,在服务执行结果中提取出针对该搜索内容的展示信息。
92.其中,垂类执行结果可以为垂类搜索业务对应的搜索结果,该搜索结果可以包括在该垂类搜索业务中搜索出的该垂类的内容。服务执行结果可以为针对垂类执行结果进行
服务的结果,比如,可以为针对垂类搜索业务搜索出的搜索内容的排序信息和补充信息等的执行结果。所谓补充信息可以理解为针对搜索内容做补充说明的信息,比如,可以包括搜索内容的关系链信息、搜索内容中的搜索对象的头像信息等等。
93.其中,展示信息可以理解为对搜索内容进行展示的信息,比如,可以包括展示过程中的搜索内容的排序信息、补充信息等等。根据展示信息,将搜索内容进行组包的方式可以有多种,比如,可以按照排序信息,将搜索内容进行排序,并在排序后的搜索内容中添加补充信息,得到目标搜索内容,将目标搜索内容进行融合,得到目标内容。
94.可选的,在得到目标内容之后,还可以通知工作线程完成最后的应答操作,并将目标内容返回给调用端或者终端,终端可以基于展示信息,对目标内容进行展示,展示的目标内容可以如图4。
95.其中,需要说明的是通过超时控制节点筛选目标搜索业务,并对目标搜索业务的执行结果进行组包的方式可以看作是整图执行超时策略,具体可以如图5所示,内容搜索装置接收到一个内容搜索请求,分配给一个工作线程,工作线程根据预定义的流程生成业务执行图,生成业务执行图之后,框架便可以生成一个独立的超时控制节点,设置为等待服务接口超时时间后自动唤醒。超时控制节点可以设置回调函数用于在超时唤醒后执行的动作。业务执行图与超时控制节点一起组成执行图交给执行器执行。执行器收到执行图之后,把整个执行图按拓扑排序的方法进行执行。如果超时控制节点未唤醒情况下,业务执行图执行完成,则会通知超时控制节点做取消操作,防止唤醒后执行回调操作。并且同时通知业务线程返回调用端结果。如果业务执行图由于个别业务执行时间长,超时控制节点已唤醒,则会执行回调操作(回调操作一般情况下是使用已有的结果进行结果组包),然后通知工作线程完成最后的应答操作,返回结果给调用端。在超时控制节点执行完成后,会更新业务执行图的状态,后续未执行图节点将不会被处理,防止计算资源的浪费。
96.其中,需要说明的是本方案在基于有向无环图的方式处理请求的基础上,增加了整图超时控制策略和提前执行策略,能够有效的控制服务端的超时请求数量,从而提高有效输出,而且整图超时策略和提前执行策略为较通用的图执行策略,丰富了图执行的策略模式,可以满足多样化的业务逻辑需求。另外,整图超时策略和提前执行策略都可以结合信号量通知的方式,减少非必要图节点的执行,从而充分利用机器资源,减少消耗,提高系统资源利用率,技术优势明显。
97.由以上可知,本技术实施例在接收内容搜索请求,并基于内容搜索请求确定内容搜索的至少一个业务流程后,将业务流程作为业务节点构建业务执行图,并生成业务执行图对应的超时控制节点,然后,执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间,根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务,将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容;由于该方案在构建业务执行图的基础上,生成超时控制节点,当业务节点对应的搜索业务存在超时时,便通过超时控制节点筛选已执行完的搜索业务的执行结果并进行组包,得到目标内容,从而可以避免搜索请求返回超时,因此,可以提升内容搜索的搜索效率。
98.根据上面实施例所描述的方法,以下将举例作进一步详细说明。
99.在本实施例中,将以该内容搜索装置具体集成在电子设备,电子设备为服务器为例进行说明。
100.如图6所示,一种内容搜索方法,具体流程如下:
101.201、服务器接收内容搜索请求。
102.例如,服务器可以直接接收终端发送的内容搜索请求,或者,当内容搜索请求中携带的搜索信息内存较大或者数量较多时,还可以直接接收终端发送的内容搜索请求,该内容搜索请求中携带搜索信息的存储地址,基于该存储地址获取搜索信息。
103.202、服务器基于内容搜索请求确定内容搜索的至少一个业务流程。
104.例如,服务器根据搜索信息,确定该内容搜索请求的搜索类型,在业务流程数据库中筛选出该搜索类型对应的至少一个业务流程,得到内容搜索的业务流程。
105.203、服务器将业务流程作为业务节点构建业务执行图。
106.例如,服务器可以在线程池中筛选出工作线程,基于该工作线程识别出业务流程之间的业务关系,基于该业务关系,将工作流程作为业务节点生成图网络,并将该图网络作为业务执行图。
107.204、服务器生成业务执行图对应的超时控制节点。
108.例如,服务器可以通过节点框架生成一个独立的基础超时控制节点,对基础超时控制节点的超时时间和回调动作进行配置,得到超时控制节点。
109.205、服务器执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间。
110.例如,服务器对业务执行图中的业务节点进行拓扑排序,得到所述业务节点的排序信息,基于排序信息,确定该业务节点对应的搜索业务的执行顺序。根据执行顺序,在搜索业务中查询每一业务节点对应的搜索业务的前置搜索业务,当存在前置搜索业务,获取前置搜索业务的业务数量。
111.当前置搜索业务的业务数量为多个时,服务器获取前置搜索业务的执行等级,在前置搜索业务中筛选出高优先级的前置搜索业务作为目标前置搜索业务。当检测到高优先级的目标前置搜索业务执行完成时,将业务节点对应的搜索业务添加至共享队列,并在共享队列中识别出业务节点对应的搜索业务的业务类型,当业务类型为cpu计算类型时,就可以在线程池中筛选出目标工作线程,采用目标工作线程执行业务节点对应的搜索业务,当业务类型为i/o计算类型时,就可以在协程池中筛选出调用协程,并通过调度协程将业务节点对应的搜索业务调度至工作协程,然后,通过工作协程执行业务节点对应的搜索业务。
112.当前置搜索业务的业务数量为一个时,服务器当检测到前置搜索业务的执行状态为执行完成时,就可以通过执行组件执行业务节点对应的搜索业务,通过执行组件执行业务节点对应的搜索业务的过程可以参见上文,在此就不再一一赘述。
113.当不存在该前置搜索业务时,服务器调用执行组件,并通过执行组件执行业务节点对应的搜索业务,通过执行组件执行业务节点对应的搜索业务的过程可以参见上文,在此就不再一一赘述。
114.可选的,当检测到目标前置搜索业务的执行状态为执行完成时,服务器在通过执行组件执行业务节点对应的搜索业务之前,在前置搜索业务中筛选出除目标前置搜索业务以外的前置搜索业务,得到未完成的前置搜索业务,在业务执行图中识别出未完成的前置搜索业务对应的业务节点,通过执行组件对未完成的前置搜索业务对应的业务节点执行取消操作,以停止执行未完成的前置搜索业务。
115.当检测到搜索业务开始执行时,服务器对该搜索业务的执行过程进行计时,当搜索业务的执行状态为执行完成时,停止计时,从而获取搜索业务的执行时间。
116.206、服务器根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务。
117.例如,当执行时间超过预设时间阈值时,服务器设置超时控制节点在休眠状态下可以自动接收搜索业务的执行时间,当检测到执行超过预设时间阈值时,就可以自动唤醒超时控制节点,或者,还可以使用通知触发的方式唤醒超时控制节点。基于超时控制节点,获取搜索业务的当前执行信息,在当前执行信息中识别出搜索业务的执行状态,在搜索业务中筛选出执行状态为执行完成的搜索业务,得到目标搜索业务。
118.可选的,当执行时间超过预设时间阈值时,服务器还可以根据搜索业务的执行状态,对业务执行图的执行状态进行更新,在搜索业务中筛选出执行状态为未执行完成的搜索业务,得到待处理搜索业务,在更新后业务执行图中识别出待处理搜索业务对应的目标业务节点,并停止处理目标业务节点,此时,目标业务节点对应的搜索业务进行不会被处理,防止计算资源的浪费。
119.当执行时间未超过预设时间阈值时,就需要等到业务执行图中全部的业务节点对应的搜索业务执行完成,当业务执行图对应的搜索业务执行完成时,取消唤醒超时控制节点,防止超时控制节点唤醒后执行回调操作,并将搜索业务作为目标搜索业务,此时的目标搜索业务就可以为业务执行图中全部业务节点对应的搜索业务。
120.207、服务器将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容。
121.例如,服务器获取目标搜索业务的执行结果,在执行结果中筛选出垂类搜索业务对应的垂类执行结果和针对垂类执行结果的服务执行结果,在垂类执行结果中提取出该垂类搜索业务对应的搜索内容,在服务执行结果中提取出针对该搜索内容的展示信息。按照排序信息,将搜索内容进行排序,并在排序后的搜索内容中添加补充信息,得到目标搜索内容,将目标搜索内容进行融合,得到目标内容。
122.可选的,服务器在得到目标内容之后,还可以通知工作线程完成最后的应答操作,并将目标内容返回给调用端或者终端,终端可以基于展示信息,对目标内容进行展示
123.由以上可知,本实施例在服务器接收内容搜索请求,并基于内容搜索请求确定内容搜索的至少一个业务流程后,将业务流程作为业务节点构建业务执行图,并生成业务执行图对应的超时控制节点,然后,执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间,根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务,将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容;由于该方案在构建业务执行图的基础上,生成超时控制节点,当业务节点对应的搜索业务存在超时时,便通过超时控制节点筛选已执行完的搜索业务的执行结果并进行组包,得到目标内容,从而可以避免搜索请求返回超时,因此,可以提升内容搜索的搜索效率。
124.为了更好地实施以上方法,本发明实施例还提供一种内容搜索装置,该内容搜索装置可以集成在电子设备,比如服务器或终端等设备中,该终端可以包括平板电脑、笔记本电脑和/或个人计算机等。
125.例如,如图7所示,该内容搜索装置可以包括接收单元301、构建单元302、执行单元303、筛选单元304和融合单元305,如下:
126.(1)接收单元301;
127.接收单元301,用于接收内容搜索请求,并基于内容搜索请求确定内容搜索的至少一个业务流程。
128.例如,接收单元301,具体可以用于接收终端发送的内容搜索请求,或者,当内容搜索请求中携带的搜索信息内存较大或者数量较多时,还可以直接接收终端发送的内容搜索请求,该内容搜索请求中携带搜索信息的存储地址,基于该存储地址获取搜索信息。根据搜索信息,确定该内容搜索请求的搜索类型,在业务流程数据库中筛选出该搜索类型对应的至少一个业务流程,得到内容搜索的业务流程。
129.(2)构建单元302;
130.构建单元302,用于将业务流程作为业务节点构建业务执行图,并生成业务执行图对应的超时控制节点,该超时控制节点用于在超时唤醒后执行控制动作。
131.例如,构建单元302,具体可以用于在线程池中筛选出工作线程,基于该工作线程识别出业务流程之间的业务关系,基于该业务关系,将工作流程作为业务节点生成图网络,并将该图网络作为业务执行图。通过节点框架生成一个独立的基础超时控制节点,对基础超时控制节点的超时时间和回调动作进行配置,得到超时控制节点。
132.(3)执行单元303;
133.执行单元303,用于执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间。
134.例如,执行单元303,具体可以用于对业务执行图中的业务节点进行拓扑排序,得到所述业务节点的排序信息,基于排序信息,确定该业务节点对应的搜索业务的执行顺序,根据执行顺序执行业务节点对应的搜索业务。当检测到搜索业务开始执行时,对该搜索业务的执行过程进行计时,当搜索业务的执行状态为执行完成时,停止计时,从而获取搜索业务的执行时间。
135.(4)筛选单元304;
136.筛选单元304,用于根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务。
137.例如,筛选单元304,具体可以用于当执行时间超过预设时间阈值时,唤醒超时控制节点,并基于超时控制节点,在搜索业务中筛选出目标搜索业务,当执行时间未超过预设时间阈值,且业务执行图对应的搜索业务执行完成时,取消唤醒超时控制节点,并将搜索业务作为目标搜索义务。
138.(5)融合单元305;
139.融合单元305,用于将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容。
140.例如,融合单元305,具体可以用于获取目标搜索业务的执行结果,在执行结果中提取出至少一个类型的搜索内容和该搜索内容的展示信息,根据展示信息,将搜索内容进行组包,得到内容搜索请求对应的目标内容。
141.具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
142.由以上可知,本实施例在接收单元301接收内容搜索请求,并基于内容搜索请求确定内容搜索的至少一个业务流程后,构建单元302将业务流程作为业务节点构建业务执行图,并生成业务执行图对应的超时控制节点,然后,执行单元303执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间,筛选单元304根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务,融合单元305将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容;由于该方案在构建业务执行图的基础上,生成超时控制节点,当业务节点对应的搜索业务存在超时时,便通过超时控制节点筛选已执行完的搜索业务的执行结果并进行组包,得到目标内容,从而可以避免搜索请求返回超时,因此,可以提升内容搜索的搜索效率。
143.本发明实施例还提供一种电子设备,如图8所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
144.该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
145.处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
146.存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
147.电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
148.该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
149.尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
150.接收内容搜索请求,并基于内容搜索请求确定内容搜索的至少一个业务流程,将业务流程作为业务节点构建业务执行图,并生成业务执行图对应的超时控制节点,超时控制节点用于在超时唤醒后执行控制动作,执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间,根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务,将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容。
151.例如,电子设备接收终端发送的内容搜索请求,或者,当内容搜索请求中携带的搜索信息内存较大或者数量较多时,还可以直接接收终端发送的内容搜索请求,该内容搜索请求中携带搜索信息的存储地址,基于该存储地址获取搜索信息。根据搜索信息,确定该内容搜索请求的搜索类型,在业务流程数据库中筛选出该搜索类型对应的至少一个业务流程,得到内容搜索的业务流程。在线程池中筛选出工作线程,基于该工作线程识别出业务流程之间的业务关系,基于该业务关系,将工作流程作为业务节点生成图网络,并将该图网络作为业务执行图。通过节点框架生成一个独立的基础超时控制节点,对基础超时控制节点的超时时间和回调动作进行配置,得到超时控制节点。对业务执行图中的业务节点进行拓扑排序,得到所述业务节点的排序信息,基于排序信息,确定该业务节点对应的搜索业务的执行顺序,根据执行顺序执行业务节点对应的搜索业务。当检测到搜索业务开始执行时,对该搜索业务的执行过程进行计时,当搜索业务的执行状态为执行完成时,停止计时,从而获取搜索业务的执行时间。当执行时间超过预设时间阈值时,唤醒超时控制节点,并基于超时控制节点,在搜索业务中筛选出目标搜索业务,当执行时间未超过预设时间阈值,且业务执行图对应的搜索业务执行完成时,取消唤醒超时控制节点,并将搜索业务作为目标搜索义务。获取目标搜索业务的执行结果,在执行结果中提取出至少一个类型的搜索内容和该搜索内容的展示信息,根据展示信息,将搜索内容进行组包,得到内容搜索请求对应的目标内容。
152.以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
153.由以上可知,本发明实施例在接收内容搜索请求,并基于内容搜索请求确定内容搜索的至少一个业务流程后,将业务流程作为业务节点构建业务执行图,并生成业务执行图对应的超时控制节点,然后,执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间,根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务,将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容;由于该方案在构建业务执行图的基础上,生成超时控制节点,当业务节点对应的搜索业务存在超时时,便通过超时控制节点筛选已执行完的搜索业务的执行结果并进行组包,得到目标内容,从而可以避免搜索请求返回超时,因此,可以提升内容搜索的搜索效率。
154.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
155.为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种内容搜索方法中的步骤。例如,该指令可以执行如下步骤:
156.接收内容搜索请求,并基于内容搜索请求确定内容搜索的至少一个业务流程,将业务流程作为业务节点构建业务执行图,并生成业务执行图对应的超时控制节点,超时控
制节点用于在超时唤醒后执行控制动作,执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间,根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务,将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容。
157.例如,接收终端发送的内容搜索请求,或者,当内容搜索请求中携带的搜索信息内存较大或者数量较多时,还可以直接接收终端发送的内容搜索请求,该内容搜索请求中携带搜索信息的存储地址,基于该存储地址获取搜索信息。根据搜索信息,确定该内容搜索请求的搜索类型,在业务流程数据库中筛选出该搜索类型对应的至少一个业务流程,得到内容搜索的业务流程。在线程池中筛选出工作线程,基于该工作线程识别出业务流程之间的业务关系,基于该业务关系,将工作流程作为业务节点生成图网络,并将该图网络作为业务执行图。通过节点框架生成一个独立的基础超时控制节点,对基础超时控制节点的超时时间和回调动作进行配置,得到超时控制节点。对业务执行图中的业务节点进行拓扑排序,得到所述业务节点的排序信息,基于排序信息,确定该业务节点对应的搜索业务的执行顺序,根据执行顺序执行业务节点对应的搜索业务。当检测到搜索业务开始执行时,对该搜索业务的执行过程进行计时,当搜索业务的执行状态为执行完成时,停止计时,从而获取搜索业务的执行时间。当执行时间超过预设时间阈值时,唤醒超时控制节点,并基于超时控制节点,在搜索业务中筛选出目标搜索业务,当执行时间未超过预设时间阈值,且业务执行图对应的搜索业务执行完成时,取消唤醒超时控制节点,并将搜索业务作为目标搜索义务。获取目标搜索业务的执行结果,在执行结果中提取出至少一个类型的搜索内容和该搜索内容的展示信息,根据展示信息,将搜索内容进行组包,得到内容搜索请求对应的目标内容。
158.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
159.其中,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
160.由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种内容搜索方法中的步骤,因此,可以实现本发明实施例所提供的任一种内容搜索方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
161.其中,根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述内容搜索方面或者内容垂类搜索方面的各种可选实现方式中提供的方法。
162.以上对本发明实施例所提供的一种内容搜索方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
技术特征:
1.一种内容搜索方法,其特征在于,包括:接收内容搜索请求,并基于所述内容搜索请求确定内容搜索的至少一个业务流程;将所述业务流程作为业务节点构建业务执行图,并生成所述业务执行图对应的超时控制节点,所述超时控制节点用于在超时唤醒后执行控制动作;执行所述业务执行图中每一业务节点对应的搜索业务,并获取所述搜索业务的执行时间;根据所述执行时间和超时控制节点,在所述搜索业务中筛选出目标搜索业务;将所述目标搜索业务的执行结果进行融合,得到所述内容搜索请求对应的目标内容。2.根据权利要求1所述的内容搜索方法,其特征在于,所述根据所述执行时间和超时控制节点,在所述搜索业务中筛选出目标搜索业务,包括:当所述执行时间超过预设时间阈值时,唤醒所述超时控制节点,并基于所述超时控制节点,在所述搜索业务中筛选出目标搜索业务;当所述执行时间未超过预设时间阈值,且所述业务执行图对应的搜索业务执行完成时,取消唤醒所述超时控制节点,并将所述搜索业务作为目标搜索业务。3.根据权利要求2所述的内容搜索方法,其特征在于,所述基于所述超时控制节点,在所述搜索业务中筛选出目标搜索业务,包括:基于所述超时控制节点,获取所述搜索业务的当前执行信息;在所述当前执行信息中识别出所述搜索业务的执行状态;在所述搜索业务中筛选出执行状态为执行完成的搜索业务,得到目标搜索业务。4.根据权利要求3所述的内容搜索方法,其特征在于,所述在所述搜索业务中筛选出执行状态为执行完成的搜索业务,得到目标搜索业务之后,还包括:根据所述搜索业务的执行状态,对所述业务执行图的执行状态进行更新;在所述搜索业务中筛选出执行状态为未执行完成的搜索业务,得到待处理搜索业务;在更新后业务执行图中识别出所述待处理搜索业务对应的目标业务节点,并停止处理所述目标业务节点。5.根据权利要求1至4任一项所述的内容搜索方法,其特征在于,所述执行所述业务执行图中每一业务节点对应的搜索业务,包括:对所述业务执行图中的业务节点进行拓扑排序,得到所述业务节点的排序信息;基于所述排序信息,确定所述业务节点对应的搜索业务的执行顺序;根据所述执行顺序执行所述业务节点对应的搜索业务。6.根据权利要求5所述的内容搜索方法,其特征在于,所述根据所述执行顺序执行所述业务节点对应的搜索业务,包括:根据所述执行顺序,在所述搜索业务中查询每一业务节点对应的搜索业务的前置搜索业务;当不存在所述前置搜索业务时,调用执行组件,并通过所述执行组件执行所述业务节点对应的搜索业务;当存在所述前置搜索业务时,基于所述前置搜索业务的业务数量和执行状态,通过所述执行组件执行所述业务节点对应的搜索业务。7.根据权利要求6所述的内容搜索方法,其特征在于,所述基于所述前置搜索业务的业
务数量和执行状态,通过所述执行组件执行所述业务节点对应的搜索业务,包括:当所述前置搜索业务的业务数量为多个时,获取所述前置搜索业务的执行等级,并基于所述执行等级和执行状态,通过执行组件执行所述业务节点对应的搜索业务;当所述前置搜索业务的业务数量为一个时,根据所述前置搜索业务的执行状态,通过所述执行组件执行所述业务节点对应的搜索业务。8.根据权利要求7所述的内容搜索方法,其特征在于,所述基于所述执行等级和执行状态,通过执行组件执行所述业务节点对应的搜索业务,包括:根据所述执行等级,在所述前置搜索业务中筛选出目标前置搜索业务;当检测到所述目标前置搜索业务的执行状态为执行完成时,通过所述执行组件执行所述业务节点对应的搜索业务。9.根据权利要求8所述的内容搜索方法,其特征在于,所述执行组件包括线程池、协程池和共享队列,所述通过所述执行组件执行所述业务节点对应的搜索业务,包括:将所述业务节点对应的搜索业务添加至所述共享队列,并在所述共享队列中识别出所述业务节点对应的搜索业务的业务类型;当所述业务类型为第一业务类型时,在所述线程池中筛选目标工作线程,并通过所述目标工作线程执行所述业务节点对应的搜索业务;当所述业务类型为第二业务类型时,通过所述协程池中的调度协程调度所述业务节点对应的搜索业务至工作协程,并通过所述工作协程执行所述业务节点对应的搜索业务。10.根据权利要求8所述的内容搜索方法,其特征在于,所述通过所述执行组件执行所述业务节点对应的搜索业务之前,还包括:在所述前置搜索业务中筛选出除所述目标前置搜索业务以外的前置搜索业务,得到未完成的前置搜索业务;在所述业务执行图中识别出所述未完成的前置搜索业务对应的业务节点;通过所述执行组件对所述未完成的前置搜索业务对应的业务节点执行取消操作,以停止执行所述未完成的前置搜索业务。11.根据权利要求1至4任一项所述的内容搜索方法,其特征在于,所述将所述目标搜索业务的执行结果进行融合,得到所述内容搜索请求对应的目标内容,包括:获取所述目标搜索业务的执行结果;在所述执行结果中提取出至少一个类型的搜索内容和所述搜索内容的展示信息;根据所述展示信息,将所述搜索内容进行组包,得到所述内容搜索请求对应的目标内容。12.一种内容搜索装置,其特征在于,包括:接收单元,用于接收内容搜索请求,并基于所述内容搜索请求确定内容搜索的至少一个业务流程;构建单元,用于将所述业务流程作为业务节点构建业务执行图,并生成所述业务执行图对应的超时控制节点,所述超时控制节点用于在超时唤醒后执行控制动作;执行单元,用于执行所述业务执行图中每一业务节点对应的搜索业务,并获取所述搜索业务的执行时间;筛选单元,用于根据所述执行时间和超时控制节点,在所述搜索业务中筛选出目标搜
索业务;融合单元,用于将所述目标搜索业务的执行结果进行融合,得到所述内容搜索请求对应的目标内容。13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至11任一项所述的内容搜索方法中的步骤。14.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至11任一项所述内容搜索方法中的步骤。15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至11任一项所述的内容搜索方法中的步骤。
技术总结
本发明实施例公开了一种内容搜索方法、装置、电子设备和计算机可读存储介质;本发明实施例在接收内容搜索请求,并基于内容搜索请求确定内容搜索的至少一个业务流程后,将业务流程作为业务节点构建业务执行图,并生成业务执行图对应的超时控制节点,然后,执行业务执行图中每一业务节点对应的搜索业务,并获取搜索业务的执行时间,根据执行时间和超时控制节点,在搜索业务中筛选出目标搜索业务,将目标搜索业务的执行结果进行融合,得到内容搜索请求对应的目标内容;该方案可以提升内容搜索的搜索效率。搜索效率。搜索效率。
技术研发人员:李鹏飞 姚创沐 赵航 房翊翔
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2022.03.03
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/