CN114564249B - 推荐调度引擎、推荐调度方法及计算机可读存储介质 - Google Patents

推荐调度引擎、推荐调度方法及计算机可读存储介质 Download PDF

Info

Publication number
CN114564249B
CN114564249B CN202210177647.6A CN202210177647A CN114564249B CN 114564249 B CN114564249 B CN 114564249B CN 202210177647 A CN202210177647 A CN 202210177647A CN 114564249 B CN114564249 B CN 114564249B
Authority
CN
China
Prior art keywords
component
layer
service
scheduler
scheduling
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.)
Active
Application number
CN202210177647.6A
Other languages
English (en)
Other versions
CN114564249A (zh
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 CN202210177647.6A priority Critical patent/CN114564249B/zh
Publication of CN114564249A publication Critical patent/CN114564249A/zh
Application granted granted Critical
Publication of CN114564249B publication Critical patent/CN114564249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供了一种推荐调度引擎、推荐调度方法及计算机可读存储介质,涉及计算机技术领域,尤其涉及推荐调度等技术领域。具体实现方案为:推荐调度引擎包括:业务组件层,框架调度层,组件调度器层;业务组件层包括多个功能组件,组件调度器层包括多个组件调度器;框架调度层确定待推荐调度业务的业务场景;按照业务场景与组件调度器执行逻辑的第一对应关系,确定业务场景所对应的目标组件调度器执行逻辑;按照目标组件调度器执行逻辑调度组件调度器层中的组件调度器;组件调度器层按照组件调度器与功能组件执行逻辑的第二对应关系,利用组件调度器调度业务组件层中的功能组件;业务组件层利用功能组件执行待推荐调度业务,实现了推荐调度引擎。

Description

推荐调度引擎、推荐调度方法及计算机可读存储介质
技术领域
本公开涉及计算机技术领域,进一步涉及推荐调度等技术领域,尤其涉及一种推荐调度引擎、推荐调度方法及计算机可读存储介质。
背景技术
随着业务的不断发展,业务范围越来越广,在推荐业务调度过程中业务需求变更愈加频繁,使得推荐调度业务的灵活性以及可复用性尤为重要。
发明内容
本公开提供了一种推荐调度引擎、推荐调度方法及计算机可读存储介质。
根据本公开的一方面,提供了一种推荐调度引擎,包括:业务组件层,框架调度层,组件调度器层;所述业务组件层包括多个功能组件,所述功能组件用于实现预设业务功能;所述组件调度器层包括多个组件调度器;
所述框架调度层,用于获取待推荐调度业务,确定所述待推荐调度业务的业务场景;按照预先配置的业务场景与组件调度器执行逻辑的第一对应关系,确定所述待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑;按照所述目标组件调度器执行逻辑,调度所述组件调度器层中相应的组件调度器;
所述组件调度器层,用于响应于所述框架调度层的调度,按照预先配置的组件调度器与功能组件执行逻辑的第二对应关系,利用所述相应的组件调度器调度所述业务组件层中相应的功能组件;
所述业务组件层,用于响应于所述组件调度器的调度,利用所述相应的功能组件执行所述待推荐调度业务。
根据本公开的另一方面,提供了一种推荐调度方法,应用于推荐调度引擎,所述推荐调度引擎包括:业务组件层,框架调度层,组件调度器层;所述业务组件层包括多个功能组件,所述功能组件用于实现预设业务功能;所述组件调度器层包括多个组件调度器;
所述框架调度层获取待推荐调度业务,确定所述待推荐调度业务的业务场景;按照预先配置的业务场景与组件调度器执行逻辑的第一对应关系,确定所述待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑;按照所述目标组件调度器执行逻辑,调度所述组件调度器层中相应的组件调度器;
所述组件调度器层响应于所述框架调度层的调度,按照预先配置的组件调度器与功能组件执行逻辑的第二对应关系,利用所述相应的组件调度器调度所述业务组件层中相应的功能组件;
所述业务组件层响应于所述组件调度器的调度,利用所述相应的功能组件执行所述待推荐调度业务。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开中任一项所述的推荐调度方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开中任一项所述的推荐调度方法。
本公开实施例,实现了一种推荐调度引擎。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开推荐调度引擎的一种示意图;
图2是根据本公开推荐调度引擎的另一种示意图;
图3是根据本公开推荐调度引擎的再一种示意图;
图4是根据本公开推荐调度方法的一种示意图;
图5是用来实现本公开实施例的推荐调度方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
随着业务的不断发展,在推荐业务调度过程中业务需求变更愈加频繁,推荐业务调度的需求多种多样,如何实现满足不同业务需求的推荐业务调度成为了亟待解决的问题之一。相关技术中,在调度引擎中约定了业务调度的流程,比如先获取用户画像数据,然后进行小流量调度,再进行数据的召回、排序,进而采用全局推荐策略(Global_Recommend,GR)策略得到所需的业务数据。因约定了业务调度的流程,每次调度都会执行这个顺序,在对调度引擎开发时,只需开发固定的模块实现用户画像数据的获取,数据的召回等,使得调度引擎开发完成之后内部模块固定,模块拓展不灵活,如果需要拓展模块则需要修改调度引擎的框架,实现较为复杂,且因内部模块固定,在进行业务逻辑复用时,需要修改模块的参数等较为复杂,从而影响调度引擎的灵活性和可复用性。
本公开实施例提供的推荐调度引擎包括:业务组件层,框架调度层,组件调度器层;业务组件层包括多个功能组件,功能组件用于实现预设业务功能;组件调度器层包括多个组件调度器;其中,框架调度层,用于获取待推荐调度业务,确定待推荐调度业务的业务场景;按照预先配置的业务场景与组件调度器执行逻辑的第一对应关系,确定待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑;按照目标组件调度器执行逻辑,调度组件调度器层中相应的组件调度器;组件调度器层,用于响应于框架调度层的调度,按照预先配置的组件调度器与功能组件执行逻辑的第二对应关系,利用相应的组件调度器调度业务组件层中相应的功能组件;业务组件层,用于响应于组件调度器的调度,利用相应的功能组件执行待推荐调度业务。
本公开实施例中,推荐调度引擎的业务组件层包括多个功能组件,该功能组件用于实现预设业务功能,进而可以将推荐调度引擎的业务细分为多个功能来实现,针对每项功能开发一个功能组件,若干个功能组件组合起来来实现业务。框架调度层按照预先配置的业务场景与组件调度器执行逻辑的第一对应关系,确定待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑,按照目标组件调度器执行逻辑,调度组件调度器层中相应的组件调度器,组件调度器层按照预先配置的组件调度器与功能组件执行逻辑的第二对应关系,利用相应的组件调度器调度业务组件层中相应的功能组件,使得待推荐调度业务中各功能组件可以自由组合,各功能组件的执行顺序、执行次数等可以自由设置,从而实现了推荐调度引擎业务的解耦,增加推荐调度引擎的灵活性,并且功能组件可以在不同的推荐调度引擎中复用,能够缩短推荐调度引擎的开发周期。
本公开的一实施例中提供了一种推荐调度引擎,参见图1,推荐调度引擎100包括:框架调度层110,组件调度器层120,业务组件层130,其中,业务组件层130包括多个功能组件131,每一功能组件用于实现预设业务功能,组件调度器层120包括多个组件调度器121。
一个例子中,上述预设业务功能可以是返回查询字段以及需要查询的数据库,或者返回与客户端等交互获取的数据,或者发送访问客户端资源的业务请求等等。
上述框架调度层110,可以用于获取待推荐调度业务,确定待推荐调度业务的业务场景;按照预先配置的业务场景与组件调度器执行逻辑的第一对应关系,确定待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑;按照目标组件调度器执行逻辑,调度组件调度器层120中相应的组件调度器121。
待推荐调度业务例如可以是音视频、文件或其他内容等的召回、排序业务等调度业务。
在一种可能的实施方式中,框架调度层110具体用于:获取待推荐调度业务;对待推荐调度业务进行解析,得到待推荐调度业务中包含的业务场景标识;按照待推荐调度业务中的业务场景标识,确定待推荐调度业务的业务场景。
框架调度层110可以获取待推荐调度业务的服务请求,对该服务请求中携带的参数进行解析,该参数例如可以包含业务参数,业务场景标识参数等,进而得到待推荐调度业务中包含的业务场景标识,该业务场景标识与业务场景可以是一一对应的关系,进一步,可以按照待推荐调度业务中的业务场景标识,确定待推荐调度业务的业务场景。
本公开实施例中,业务场景标识与业务场景一一对应,使用根据解析得到的业务场景标识能够快速准确的确定待推荐调度业务的业务场景。
在一种可能的实施方式中,业务场景与组件调度器执行逻辑的第一对应关系的配置过程可以是:框架调度层110获取针对指定业务场景的组件调度器执行逻辑配置消息,其中,组件调度器执行逻辑配置消息表示指定业务场景的组件调度器执行逻辑;根据组件调度器执行逻辑配置消息,配置第一对应关系。
框架调度层110可以从预先存储的配置消息文件中,获取针对指定业务场景的组件调度器执行逻辑配置消息,进一步,根据该组件调度器执行逻辑配置消息,配置第一对应关系,得到业务场景与组件调度器执行逻辑的第一对应关系。一个例子中,配置消息文件中可以存储不同业务场景的组件调度器执行逻辑。
一个例子中,一个组件调度器可以实现一组功能,该组件调度器可以是一组功能的抽象得到的一个流程或工作流等,例如获取用户画像数据,小流量分流,召回或者排序等。
在确定待推荐调度业务的业务场景之后,可以按照业务场景与组件调度器执行逻辑的第一对应关系,确定待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑。进一步的,按照目标组件调度器执行逻辑,调度组件调度器层中相应的组件调度器。
示例性的,确定的待推荐调度业务的业务场景中可以包含组件调度器1和组件调度器2,在确定待推荐调度业务的业务场景之后,按照业务场景与组件调度器执行逻辑的第一对应关系,确定待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑,即组件调度器1和组件调度器2之间的执行逻辑。
在一种可能的实施方式中,目标组件调度器执行逻辑可以包括以下至少一项:执行顺序的控制,串行或并行的控制,执行失败容忍度的控制,兜底逻辑的控制。
框架调度层110可以配置组件调度器执行逻辑,其中,组件调度器执行逻辑中执行顺序的控制例如可以是先获取用户画像数据,再进行小流量分流,或者是先进行小流量分流,再获取用户画像数据等;串行或并行的控制表示组件调度器之间的执行逻辑为串行或并行;执行失败容忍度的控制例如可以是当存在多路召回时,有一路召回超时,定义是否认为召回失败等;兜底逻辑的控制例如可以是当召回结果为空时,即没有召回数据,可以认为是正常情况,不运行兜底逻辑等。
示例性的,业务场景中包含组件调度器1和组件调度器2,目标组件调度器执行逻辑为串行,表示先执行调度组件调度器1,再执行调度组件调度器2,相应的,框架调度层110先调度组件调度器层120中的组件调度器1,再调度组件调度器层120中的组件调度器2。
本公开实施例中,框架调度层110可以配置组件调度器执行逻辑,即可以控制组件调度器之间的调度顺序,不再强制要求执行顺序,增加了推进调度引擎的灵活性。
上述组件调度器层120,可以用于响应于框架调度层110的调度,按照预先配置的组件调度器与功能组件执行逻辑的第二对应关系,利用相应的组件调度器调度业务组件层中相应的功能组件。
组件调度器层120可以包括多个组件调度器,在框架调度层110确定待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑后,可以按照目标组件调度器执行逻辑,调度组件调度器层120中相应的组件调度器,组件调度器层120响应于框架调度层110的调度,按照预先配置的组件调度器与功能组件执行逻辑的第二对应关系,利用相应的组件调度器调度业务组件层130中相应的功能组件。
在一种可能的实施方式中,组件调度器与功能组件执行逻辑的第二对应关系的配置过程可以是:组件调度器层120获取针对指定组件调度器的功能组件执行逻辑配置消息,其中,功能组件执行逻辑配置消息表示指定组件调度器的功能组件执行逻辑;根据功能组件执行逻辑配置消息,配置第二对应关系。
组件调度器层120可以从预先存储的配置消息文件中,获取针对指定组件调度器的功能组件执行逻辑配置消息,进一步,根据该功能组件执行逻辑配置消息,配置第二对应关系,得到组件调度器与功能组件执行逻辑的第二对应关系。一个例子中,配置消息文件中可以存储不同组件调度器与功能组件执行逻辑。
本公开实施例中,框架调度层110能够根据组件调度器执行逻辑配置消息,配置业务场景与组件调度器执行逻辑的第一对应关系,组件调度器层120能够根据功能组件执行逻辑配置消息,配置组件调度器与功能组件执行逻辑的第二对应关系,使得待推荐调度业务中各功能组件可以自由组合,各功能组件的执行顺序、执行次数等可以自由设置,从而实现了推荐调度引擎业务的解耦,增加推荐调度引擎的灵活性,并且功能组件可以在不同的推荐调度引擎中复用,能够缩短推荐调度引擎的开发周期。
在一种可能的实施方式中,上述功能组件执行逻辑可以包括以下至少一项:超时控制,运行条件控制,流量控制。
组件调度器层120可以配置功能组件执行逻辑,其中,功能组件执行逻辑中的超时控制例如可以是对各功能组件运行超时时间的配置等,运行条件控制例如可以是对各功能组件是否可以运行的条件配置等,流量控制例如可以是在指定情况下对是否进行小流量运行的配置等。
示例性的,目标组件调度器执行逻辑表示组件调度器1和组件调度器2之间的执行逻辑,组件调度器1和组件调度器2中分别可以包含至少一个功能组件,在确定组件调度器1和组件调度器2之后,可以根据组件调度器与功能组件执行逻辑的第二对应关系,确定组件调度器1和组件调度器2中各功能组件的执行逻辑,进而,组件调度器层120响应于框架调度层110的调度,利用相应的组件调度器调度业务组件层130中相应的功能组件。
本公开实施例中,功能组件执行逻辑包括以下至少一项:超时控制,运行条件控制,流量控制,能够实现组件调度器层120对业务组件层130中相应功能组件的准确调度,使得功能组件能够快速的响应。
在一种可能的实施方式中,组件调度器层120还用于:获取针对指定组件调度器中的指定功能组件的配置参数;按照配置参数对指定功能组件进行参数配置。
组件调度器层120还可以从配置文件中获取针对指定组件调度器中的指定功能组件的配置参数,实现对指定功能组件的参数配置。该配置参数例如可以是功能组件实现业务功能的参数,比如,设置功能组件返回字段类型、返回数据格式、请求数据格式等等。
本公开实施例中,组件调度器层120可以实现对功能组件的参数配置,使得组件调度器层120能够实现对功能组件的动态调度。
上述业务组件层130,用于响应于组件调度器的调度,利用相应的功能组件执行待推荐调度业务。
业务组件层130包括多个功能组件,每一功能组件用于实现预设业务功能。示例性的,功能组件为本地代码(LOCAL)组件,能够实现数据的请求、查询等功能,功能组件为数据库(Database,DB)组件,能够实现数据的获取等功能,功能组件为资源访问层(ResourceAccess Layer,RAL)组件,能够实现资源的请求等功能。
本公开实施例中,推荐调度引擎的业务组件层包括多个功能组件,该功能组件用于实现预设业务功能,进而可以将推荐调度引擎的业务细分为多个功能来实现,针对每项功能开发一个功能组件,若干个功能组件组合起来来实现业务。框架调度层按照预先配置的业务场景与组件调度器执行逻辑的第一对应关系,确定待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑,按照目标组件调度器执行逻辑,调度组件调度器层中相应的组件调度器,组件调度器层按照预先配置的组件调度器与功能组件执行逻辑的第二对应关系,利用相应的组件调度器调度业务组件层中相应的功能组件,使得待推荐调度业务中各功能组件可以自由组合,各功能组件的执行顺序、执行次数等可以自由设置,从而实现了推荐调度引擎业务的解耦,增加推荐调度引擎的灵活性,并且功能组件可以在不同的推荐调度引擎中复用,能够缩短推荐调度引擎的开发周期。
在一种可能的实施方式中,组件调度器层120还可以包括数据中心,业务组件层130还可以包括不同类型的组件运行器,组件运行器用于运行对应类型的功能组件;多个功能组件可以包括:本地代码组件,数据库组件以及资源访问层组件;其中,本地代码组件用于实现目标功能业务逻辑,构建存储到数据中心的数据的数据结构,数据库组件用于实现与数据库交互的业务逻辑,资源访问层组件用于发送资源访问请求。
数据中心可以用于与组件调度器、数据库或客户端等进行数据交互,对推荐业务调度的中间结果数据、最终结果数据等进行存储,还可以对指定情况下功能组件的运行条件等数据进行存储。
本地代码组件能够实现目标功能业务逻辑,例如在实现一次数据查询的过程中,可以返回需要查询的字段以及需要查询的数据库等,还可以构建存储到数据中心的数据的数据结构。
数据库组件用于实现与数据库交互的业务逻辑,示例性的,可以与数据库交互,获取业务所需的数据等,该数据库也可以是数据中心等,还可以用于记录用户的访问历史日志,比如,通过Redis集群等访问用户的历史队列,并将本次访问记录存储至该历史队列中,并对该历史队列进行剪枝等操作。
资源访问层组件可以是高度集成化的一个组件,用于发送资源访问请求等。
相应于多个功能组件本地代码组件,数据库组件以及资源访问层组件,组件运行器包括:本地代码组件运行器,数据库组件运行器以及资源访问层组件运行器,组件运行器用于运行对应类型的功能组件。
相应于多个功能组件包括:本地代码组件,数据库组件以及资源访问层组件,上述组件调度器层120针对数据库组件,可以支持后端的异步调度等,针对资源访问层组件,可以支持动态设置调度该组件过程中使用的协议头等,还可以定义不同类型功能组件的接口开发规范。
本公开实施例中,定义多种不同类型的功能组件,可以利用不同类型的功能组件相互协作完成业务的调度过程,提高推荐调度引擎的拓展性。
在一种可能的实施方式中,与目标组件调度器具有第二对应关系的功能组件包含业务组件层中的本地代码组件和数据库组件,目标组件调度器执行逻辑为串行控制,目标组件调度器包括工作组件运行器以及数据组件运行器。
相应的,上述组件调度器层120具体可以用于:利用目标组件调度器运行工作组件运行器,调度业务组件层130中的本地代码组件,得到查询信息;将查询信息作为输入信息,运行数据组件运行器,调度业务组件层130中的数据库组件,得到查询结果信息,并将查询结果信息存储至数据中心。
上述业务组件层130,具体可以用于:响应于目标组件调度器的调度,从本地代码组件运行器中获取本地代码组件并执行相应的业务逻辑,以及从数据库组件运行器中获取数据库组件并执行相应的业务逻辑。
上述框架调度层110,还可以用于从数据中心获取查询结果信息,得到待推荐调度业务对应的业务数据。
示例性的,目标组件调度器实现一次数据召回业务,目标组件调度器为组件调度器1,该组件调度器1中包含业务组件层130中的本地代码组件和数据库组件,目标组件调度器执行逻辑为串行控制,目标组件调度器包括工作组件运行器以及数据组件运行器,工作组件运行器用于调度业务组件层130中的本地代码组件,数据组件运行器用于调度业务组件层130中的本地代码组件、数据库组件以及资源访问层组件。
组件调度器层120响应于框架调度层110的调度,利用组件调度器1运行工作组件运行器,调度业务组件层130中的本地代码组件,得到查询信息;将查询信息作为输入信息,运行数据组件运行器,调度业务组件层130中的数据库组件,得到查询结果信息,并将查询结果信息存储至数据中心。进一步,业务组件层130响应于组件调度器1的调度,从本地代码组件运行器中获取本地代码组件并执行相应的业务逻辑,以及从数据库组件运行器中获取数据库组件并执行相应的业务逻辑。框架调度层110从数据中心获取查询结果信息,得到待推荐调度业务对应的业务数据。示例性的,查询信息可以是需要查询的字段以及需要查询的数据库等,查询结果信息可以是从数据库中获取的请求数据等,该请求数据例如可以是召回结果数据。
本公开实施例中,组件调度器层120响应于框架调度层110的调度,利用组件调度器运行组件运行器,调度业务组件层130中功能组件,实现了推荐调度引擎的灵活调度。
在一种可能的实施方式中,上述目标组件调度器,具体用于:将查询信息作为输入信息,运行数据组件运行器,调度业务组件层中的数据库组件从数据中心获取目标客户端,通过目标客户端与数据中心的交互,得到查询结果信息。
为避免数据获取过程中推荐调度引擎内部出现数据获取异常,比如,获取数据过程中功能组件与数据库之间建立连接而未关闭连接造成的数据获取异常等,本公开实施例中将数据获取过程中与数据库之间建立和断开连接的权限赋予数据中心,目标组件调度器将查询信息作为输入信息,运行数据组件运行器,调度业务组件层130中的数据库组件从数据中心获取目标客户端,通过目标客户端向数据中心发送数据获取请求,得到数据中心反馈的查询结果信息。
本公开实施例中,目标组件调度器调度数据库组件从数据中心获取目标客户端,通过目标客户端与数据中心的交互,得到查询结果信息,避免了数据获取过程中推荐调度引擎内部出现数据获取异常。
在一种可能的实施方式中,与目标组件调度器具有第二对应关系的功能组件包含业务组件层130中的本地代码组件和资源访问层组件,目标组件调度器执行逻辑为串行控制,目标组件调度器包括工作组件运行器以及数据组件运行器。
相应的,上述组件调度器层120具体可以用于:利用目标组件调度器运行工作组件运行器,调度业务组件层130中的本地代码组件,得到查询信息;将查询信息作为输入信息,运行数据组件运行器,调度业务组件层130中的资源访问层组件,得到查询结果信息,并将查询结果信息存储至数据中心。
上述业务组件层130,具体可以用于:响应于目标组件调度器的调度,从本地代码组件运行器中获取本地代码组件并执行相应的业务逻辑,以及从资源访问层组件运行器中获取资源访问层组件并执行相应的业务逻辑。
上述框架调度层110,还可以用于从数据中心获取查询结果信息,得到待推荐调度业务对应的业务数据。
示例性的,目标组件调度器基于上述召回业务实现一次数据排序业务,目标组件调度器为组件调度器2,该组件调度器2中包含业务组件层130中的本地代码组件和资源访问层组件,目标组件调度器执行逻辑为串行控制,目标组件调度器包括工作组件运行器以及数据组件运行器,工作组件运行器用于调度业务组件层130中的本地代码组件,数据组件运行器用于调度业务组件层130中的本地代码组件、数据库组件以及资源访问层组件。
基于上述召回业务,组件调度器层120响应于框架调度层110的调度,利用组件调度器2运行工作组件运行器,调度业务组件层130中的本地代码组件,得到查询信息;该查询信息可以是上述存储至数据中心的召回结果信息生成的查询语句,该查询语句可以是需要返回的字段以及需要返回的数据结构等。将查询信息作为输入信息,运行数据组件运行器,调度业务组件层130中的资源访问层组件,得到查询结果信息,并将查询结果信息存储至数据中心。进一步,业务组件层130响应于组件调度器2的调度,从本地代码组件运行器中获取本地代码组件并执行相应的业务逻辑,以及从资源访问层组件运行器中获取资源访问层组件并执行相应的业务逻辑。框架调度层110从数据中心获取查询结果信息,得到待推荐调度业务对应的业务数据。示例性的,查询结果信息可以是从目标服务中获取的请求数据等,该请求数据例如可以是排序结果数据。
本公开实施例中,组件调度器层120响应于框架调度层110的调度,利用组件调度器运行组件运行器,调度业务组件层130中功能组件,实现了推荐调度引擎的灵活调度。
在一种可能的实施方式中,上述目标组件调度器,具体用于:将查询信息作为输入信息,运行数据组件运行器,控制业务组件层中的资源访问层组件访问目标服务,得到查询结果信息。
基于上述召回业务,目标组件调度器将查询信息作为输入信息,运行数据组件运行器,控制业务组件层130中的资源访问层组件访问目标服务,该目标服务例如可以是排序服务等,得到查询结果信息,该查询结果信息可以是从目标服务中获取的排序结果数据。
本公开实施例中,目标组件调度器运行组件运行器,调度功能组件,实现了推荐调度引擎的灵活调度。
示例性的,如图2所示,图2为本公开实施例推荐调度引擎的另一种示意图。该推荐调度引擎包括框架调度层,组件调度器层以及业务组件层,其中,框架调度层能够实现以下功能:流程拓展,并行与串行调度,超时控制以及数据处理等。该流程即上述组件调度器,能够实现一组功能,组件调度器可以运行一个逻辑组件,该逻辑组件可以由一个或两个功能组件构成,例如上述的召回业务逻辑,组件调度器包含本地代码组件和数据库组件,又例如在粗排序业务逻辑中,组件调度器包含本地代码组件等。并行与串行调度即组件调度器执行逻辑为串行或并行,超时控制表示可以设置组件调度器或功能组件的运行超时时间等,数据处理可以表示上述兜底逻辑。
组件调度器层包括组件调度器以及数据中心,组件调度器包括工作组件运行器以及数据组件运行器,还可以包括小流量组件运行器,该小流量组件运行器可以运行小流量逻辑。数据中心包括中间结果数据中心,数据库连接中心以及组件分支条件,其中,中间结果数据中心用于存储中间结果,数据库连接中心用于与数据库(或客户端等)交互,组件分支条件用于存储功能组件运行条件等。
业务组件层包括不同类型的组件运行器以及不同类型的功能组件,组件运行器用于运行对应类型的功能组件。
框架调度层,组件调度器层以及业务组件层的功能以及交互的实现过程可参见上文阐述,本公开实施例在此不再赘述。
示例性的,如图3所示,图3为本公开实施例推荐调度引擎的另一种示意图。业务场景1表示一次召回一次排序的业务,框架调度层能够获取待推荐调度业务,确定待推荐调度业务的业务场景1,该业务场景1中包含组件调度器1和组件调度器2,框架调度层可以按照业务场景与组件调度器执行逻辑的第一对应关系,确定业务场景1所对应的目标组件调度器执行逻辑(即组件调度器1和组件调度器2之间的执行逻辑),按照组件调度器1和组件调度器2之间的执行逻辑,调度组件调度器层中相应的组件调度器。组件调度器1实现一次召回,组件调度器2实现一次排序。
组件调度层响应于框架调度层的调度,执行组件调度器1,组件调度器1包含本地代码组件1和数据库组件1,按照组件调度器与功能组件执行逻辑的第二对应关系,利用组件调度器1调度业务组件层中的本地代码组件1和数据库组件1;以及执行组件调度器2,组件调度器2包含本地代码组件2和资源访问层组件1,按照组件调度器与功能组件执行逻辑的第二对应关系,利用组件调度器2调度业务组件层中的本地代码组件2和资源访问层组件1,得到结果信息,并将结果信息存储至数据中心。
业务组件层响应于组件调度器1的调度,从本地代码组件运行器中获取本地代码组件1并执行相应的业务逻辑,以及从数据库组件运行器中获取数据库组件1并执行相应的业务逻辑;响应于组件调度器2的调度,从本地代码组件运行器中获取本地代码组件2并执行相应的业务逻辑,以及从资源访问层组件运行器中获取资源访问层组件1并执行相应的业务逻辑。
框架调度层从数据中心获取结果信息,得到待推荐调度业务对应的业务数据。
具体的,框架调度层,组件调度器层以及业务组件层之间的详细交互过程可参见上文阐述,本公开实施例在此不再赘述。
本公开实施例还提供了一种推荐调度方法,可以应用于上述推荐调度引擎,具体的,上述推荐调度引擎包括:业务组件层,框架调度层,组件调度器层;业务组件层包括多个功能组件,功能组件用于实现预设业务功能;组件调度器层包括多个组件调度器;参见图4,该方法包括:
S401,框架调度层获取待推荐调度业务,确定待推荐调度业务的业务场景;按照预先配置的业务场景与组件调度器执行逻辑的第一对应关系,确定待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑;按照目标组件调度器执行逻辑,调度组件调度器层中相应的组件调度器;
S402,组件调度器层响应于框架调度层的调度,按照预先配置的组件调度器与功能组件执行逻辑的第二对应关系,利用相应的组件调度器调度业务组件层中相应的功能组件;
S403,业务组件层响应于组件调度器的调度,利用相应的功能组件执行待推荐调度业务。
本公开实施例中,推荐调度引擎的业务组件层包括多个功能组件,该功能组件用于实现预设业务功能,进而可以将推荐调度引擎的业务细分为多个功能来实现,针对每项功能开发一个功能组件,若干个功能组件组合起来来实现业务。框架调度层按照预先配置的业务场景与组件调度器执行逻辑的第一对应关系,确定待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑,按照目标组件调度器执行逻辑,调度组件调度器层中相应的组件调度器,组件调度器层按照预先配置的组件调度器与功能组件执行逻辑的第二对应关系,利用相应的组件调度器调度业务组件层中相应的功能组件,使得待推荐调度业务中各功能组件可以自由组合,各功能组件的执行顺序、执行次数等可以自由设置,从而实现了推荐调度引擎业务的解耦,增加推荐调度引擎的灵活性,并且功能组件可以在不同的推荐调度引擎中复用,能够缩短推荐调度引擎的开发周期。
在一种可能的实施方式中,上述方法还包括:
框架调度层获取针对指定业务场景的组件调度器执行逻辑配置消息,其中,组件调度器执行逻辑配置消息表示指定业务场景的组件调度器执行逻辑;根据组件调度器执行逻辑配置消息,配置第一对应关系;
组件调度器层获取针对指定组件调度器的功能组件执行逻辑配置消息,其中,功能组件执行逻辑配置消息表示指定组件调度器的功能组件执行逻辑;根据功能组件执行逻辑配置消息,配置第二对应关系。
在一种可能的实施方式中,上述方法还包括:
组件调度器层获取针对指定组件调度器中的指定功能组件的配置参数;按照配置参数对指定功能组件进行参数配置。
在一种可能的实施方式中,上述框架调度层获取待推荐调度业务,确定待推荐调度业务的业务场景,包括:
框架调度层获取待推荐调度业务;对待推荐调度业务进行解析,得到待推荐调度业务中包含的业务场景标识;按照待推荐调度业务中的业务场景标识,确定待推荐调度业务的业务场景。
在一种可能的实施方式中,上述组件调度器层还包括数据中心,业务组件层还包括不同类型的组件运行器,组件运行器用于运行对应类型的功能组件;多个功能组件包括:本地代码组件,数据库组件以及资源访问层组件;其中,本地代码组件用于实现目标功能业务逻辑,构建存储到数据中心的数据的数据结构,数据库组件用于实现与数据库交互的业务逻辑,资源访问层组件用于发送资源访问请求。
在一种可能的实施方式中,上述目标组件调度器执行逻辑包括以下至少一项:执行顺序的控制,串行或并行的控制,执行失败容忍度的控制,兜底逻辑的控制。
在一种可能的实施方式中,与目标组件调度器具有第二对应关系的功能组件包含业务组件层中的本地代码组件和数据库组件,目标组件调度器执行逻辑为串行控制,目标组件调度器包括工作组件运行器以及数据组件运行器,
上述组件调度器层利用相应的组件调度器调度业务组件层中相应的功能组件,包括:利用目标组件调度器运行工作组件运行器,调度业务组件层中的本地代码组件,得到查询信息;将查询信息作为输入信息,运行数据组件运行器,调度业务组件层中的数据库组件,得到查询结果信息,并将查询结果信息存储至数据中心;
上述业务组件层响应于组件调度器的调度,利用相应的功能组件执行待推荐调度业务,包括:响应于目标组件调度器的调度,从本地代码组件运行器中获取本地代码组件并执行相应的业务逻辑,以及从数据库组件运行器中获取数据库组件并执行相应的业务逻辑;
上述方法还包括:
上述框架调度层从数据中心获取查询结果信息,得到待推荐调度业务对应的业务数据。
在一种可能的实施方式中,与目标组件调度器具有第二对应关系的功能组件包含业务组件层中的本地代码组件和资源访问层组件,目标组件调度器执行逻辑为串行控制,目标组件调度器包括工作组件运行器以及数据组件运行器,
上述组件调度器层利用相应的组件调度器调度业务组件层中相应的功能组件,包括:利用目标组件调度器运行工作组件运行器,调度业务组件层中的本地代码组件,得到查询信息;将查询信息作为输入信息,运行数据组件运行器,调度业务组件层中的资源访问层组件,得到查询结果信息,并将查询结果信息存储至数据中心;
上述业务组件层响应于组件调度器的调度,利用相应的功能组件执行待推荐调度业务,包括:响应于目标组件调度器的调度,从本地代码组件运行器中获取本地代码组件并执行相应的业务逻辑,以及从资源访问层组件运行器中获取资源访问层组件并执行相应的业务逻辑;
上述方法还包括:
上述框架调度层从数据中心获取查询结果信息,得到待推荐调度业务对应的业务数据。
在一种可能的实施方式中,上述组件调度器层利用目标组件调度器将查询信息作为输入信息,运行数据组件运行器,调度业务组件层中的数据库组件,得到查询结果信息,包括:将查询信息作为输入信息,运行数据组件运行器,调度业务组件层中的数据库组件从数据中心获取目标客户端,通过目标客户端与数据中心的交互,得到查询结果信息。
在一种可能的实施方式中,上述组件调度器层利用目标组件调度器将查询信息作为输入信息,运行数据组件运行器,调度业务组件层中的资源访问层组件,得到查询结果信息,包括:将查询信息作为输入信息,运行数据组件运行器,控制业务组件层中的资源访问组件访问目标服务,得到查询结果信息。
在一种可能的实施方式中,上述功能组件执行逻辑包括以下至少一项:超时控制,运行条件控制,流量控制。
本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开中任一项的方法。
本公开还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开中任一项的方法。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。需要说明的是,本实施例中的人头模型并不是针对某一特定用户的人头模型,并不能反映出某一特定用户的个人信息。需要说明的是,本实施例中的二维人脸图像来自于公开数据集。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,设备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 (19)

1.一种推荐调度引擎,包括:业务组件层,框架调度层,组件调度器层;所述业务组件层包括多个功能组件,所述功能组件用于实现预设业务功能;所述组件调度器层包括多个组件调度器;
所述框架调度层,用于获取待推荐调度业务,确定所述待推荐调度业务的业务场景;按照预先配置的业务场景与组件调度器执行逻辑的第一对应关系,确定所述待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑;按照所述目标组件调度器执行逻辑,调度所述组件调度器层中相应的组件调度器;
所述组件调度器层,用于响应于所述框架调度层的调度,按照预先配置的组件调度器与功能组件执行逻辑的第二对应关系,利用所述相应的组件调度器调度所述业务组件层中相应的功能组件;
所述业务组件层,用于响应于所述组件调度器的调度,利用所述相应的功能组件执行所述待推荐调度业务。
2.根据权利要求1所述的推荐调度引擎,所述框架调度层还用于:获取针对指定业务场景的组件调度器执行逻辑配置消息,其中,所述组件调度器执行逻辑配置消息表示所述指定业务场景的组件调度器执行逻辑;根据所述组件调度器执行逻辑配置消息,配置所述第一对应关系;
所述组件调度器层还用于:获取针对指定组件调度器的功能组件执行逻辑配置消息,其中,所述功能组件执行逻辑配置消息表示所述指定组件调度器的功能组件执行逻辑;根据所述功能组件执行逻辑配置消息,配置所述第二对应关系。
3.根据权利要求2所述的推荐调度引擎,所述组件调度器层还用于:获取针对所述指定组件调度器中的指定功能组件的配置参数;按照所述配置参数对所述指定功能组件进行参数配置。
4.根据权利要求1所述的推荐调度引擎,其中,所述框架调度层具体用于:获取待推荐调度业务;对所述待推荐调度业务进行解析,得到所述待推荐调度业务中包含的业务场景标识;按照所述待推荐调度业务中的业务场景标识,确定所述待推荐调度业务的业务场景。
5.根据权利要求1所述的推荐调度引擎,所述组件调度器层还包括数据中心,所述业务组件层还包括不同类型的组件运行器,所述组件运行器用于运行对应类型的功能组件;所述多个功能组件包括:本地代码组件,数据库组件以及资源访问层组件;其中,所述本地代码组件用于实现目标功能业务逻辑,构建存储到数据中心的数据的数据结构,所述数据库组件用于实现与数据库交互的业务逻辑,所述资源访问层组件用于发送资源访问请求。
6.根据权利要求1所述的推荐调度引擎,其中,所述目标组件调度器执行逻辑包括以下至少一项:执行顺序的控制,串行或并行的控制,执行失败容忍度的控制,兜底逻辑的控制。
7.根据权利要求5所述的推荐调度引擎,与所述目标组件调度器具有第二对应关系的功能组件包含所述业务组件层中的本地代码组件和数据库组件,所述目标组件调度器执行逻辑为串行控制,所述目标组件调度器包括工作组件运行器以及数据组件运行器,
所述组件调度器层,具体用于:利用所述目标组件调度器运行工作组件运行器,调度所述业务组件层中的本地代码组件,得到查询信息;将所述查询信息作为输入信息,运行数据组件运行器,调度所述业务组件层中的数据库组件,得到查询结果信息,并将所述查询结果信息存储至所述数据中心;
所述业务组件层,具体用于:响应于所述目标组件调度器的调度,从本地代码组件运行器中获取本地代码组件并执行相应的业务逻辑,以及从数据库组件运行器中获取数据库组件并执行相应的业务逻辑;
所述框架调度层,还用于从所述数据中心获取所述查询结果信息,得到所述待推荐调度业务对应的业务数据。
8.根据权利要求5所述的推荐调度引擎,与所述目标组件调度器具有第二对应关系的功能组件包含所述业务组件层中的本地代码组件和资源访问层组件,所述目标组件调度器执行逻辑为串行控制,所述目标组件调度器包括工作组件运行器以及数据组件运行器,
所述组件调度器层,具体用于:利用所述目标组件调度器运行工作组件运行器,调度所述业务组件层中的本地代码组件,得到查询信息;将所述查询信息作为输入信息,运行数据组件运行器,调度所述业务组件层中的资源访问层组件,得到查询结果信息,并将所述查询结果信息存储至所述数据中心;
所述业务组件层,具体用于:响应于所述目标组件调度器的调度,从本地代码组件运行器中获取本地代码组件并执行相应的业务逻辑,以及从资源访问层组件运行器中获取资源访问层组件并执行相应的业务逻辑;
所述框架调度层,还用于从所述数据中心获取所述查询结果信息,得到所述待推荐调度业务对应的业务数据。
9.根据权利要求7所述的推荐调度引擎,其中,所述目标组件调度器,具体用于:将所述查询信息作为输入信息,运行数据组件运行器,调度所述业务组件层中的数据库组件从所述数据中心获取目标客户端,通过所述目标客户端与所述数据中心的交互,得到查询结果信息。
10.根据权利要求8所述的推荐调度引擎,其中,所述目标组件调度器,具体用于:将所述查询信息作为输入信息,运行数据组件运行器,控制所述业务组件层中的资源访问层组件访问目标服务,得到查询结果信息。
11.根据权利要求1所述的推荐调度引擎,其中,所述功能组件执行逻辑包括以下至少一项:超时控制,运行条件控制,流量控制。
12.一种推荐调度方法,应用于推荐调度引擎,所述推荐调度引擎包括:业务组件层,框架调度层,组件调度器层;所述业务组件层包括多个功能组件,所述功能组件用于实现预设业务功能;所述组件调度器层包括多个组件调度器;
所述框架调度层获取待推荐调度业务,确定所述待推荐调度业务的业务场景;按照预先配置的业务场景与组件调度器执行逻辑的第一对应关系,确定所述待推荐调度业务的业务场景所对应的目标组件调度器执行逻辑;按照所述目标组件调度器执行逻辑,调度所述组件调度器层中相应的组件调度器;
所述组件调度器层响应于所述框架调度层的调度,按照预先配置的组件调度器与功能组件执行逻辑的第二对应关系,利用所述相应的组件调度器调度所述业务组件层中相应的功能组件;
所述业务组件层响应于所述组件调度器的调度,利用所述相应的功能组件执行所述待推荐调度业务。
13.根据权利要求12所述的方法,还包括:
所述框架调度层获取针对指定业务场景的组件调度器执行逻辑配置消息,其中,所述组件调度器执行逻辑配置消息表示所述指定业务场景的组件调度器执行逻辑;根据所述组件调度器执行逻辑配置消息,配置所述第一对应关系;
所述组件调度器层获取针对指定组件调度器的功能组件执行逻辑配置消息,其中,所述功能组件执行逻辑配置消息表示所述指定组件调度器的功能组件执行逻辑;根据所述功能组件执行逻辑配置消息,配置所述第二对应关系。
14.根据权利要求13所述的方法,还包括:
所述组件调度器层获取针对所述指定组件调度器中的指定功能组件的配置参数;按照所述配置参数对所述指定功能组件进行参数配置。
15.根据权利要求12所述的方法,所述组件调度器层还包括数据中心,所述业务组件层还包括不同类型的组件运行器,所述组件运行器用于运行对应类型的功能组件;所述多个功能组件包括:本地代码组件,数据库组件以及资源访问层组件;其中,所述本地代码组件用于实现目标功能业务逻辑,构建存储到数据中心的数据的数据结构,所述数据库组件用于实现与数据库交互的业务逻辑,所述资源访问层组件用于发送资源访问请求。
16.根据权利要求12所述的方法,其中,所述目标组件调度器执行逻辑包括以下至少一项:执行顺序的控制,串行或并行的控制,执行失败容忍度的控制,兜底逻辑的控制。
17.根据权利要求15所述的方法,与所述目标组件调度器具有第二对应关系的功能组件包含所述业务组件层中的本地代码组件和数据库组件,所述目标组件调度器执行逻辑为串行控制,所述目标组件调度器包括工作组件运行器以及数据组件运行器,
所述组件调度器层利用所述相应的组件调度器调度所述业务组件层中相应的功能组件,包括:利用所述目标组件调度器运行工作组件运行器,调度所述业务组件层中的本地代码组件,得到查询信息;将所述查询信息作为输入信息,运行数据组件运行器,调度所述业务组件层中的数据库组件,得到查询结果信息,并将所述查询结果信息存储至所述数据中心;
所述业务组件层响应于所述组件调度器的调度,利用所述相应的功能组件执行所述待推荐调度业务,包括:响应于所述目标组件调度器的调度,从本地代码组件运行器中获取本地代码组件并执行相应的业务逻辑,以及从数据库组件运行器中获取数据库组件并执行相应的业务逻辑;
所述方法还包括:
所述框架调度层从所述数据中心获取所述查询结果信息,得到所述待推荐调度业务对应的业务数据。
18.根据权利要求15所述的方法,与所述目标组件调度器具有第二对应关系的功能组件包含所述业务组件层中的本地代码组件和资源访问层组件,所述目标组件调度器执行逻辑为串行控制,所述目标组件调度器包括工作组件运行器以及数据组件运行器,
所述组件调度器层利用所述相应的组件调度器调度所述业务组件层中相应的功能组件,包括:利用所述目标组件调度器运行工作组件运行器,调度所述业务组件层中的本地代码组件,得到查询信息;将所述查询信息作为输入信息,运行数据组件运行器,调度所述业务组件层中的资源访问层组件,得到查询结果信息,并将所述查询结果信息存储至所述数据中心;
所述业务组件层响应于所述组件调度器的调度,利用所述相应的功能组件执行所述待推荐调度业务,包括:响应于所述目标组件调度器的调度,从本地代码组件运行器中获取本地代码组件并执行相应的业务逻辑,以及从资源访问层组件运行器中获取资源访问层组件并执行相应的业务逻辑;
所述方法还包括:
所述框架调度层从所述数据中心获取所述查询结果信息,得到所述待推荐调度业务对应的业务数据。
19.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求12-18中任一项所述的方法。
CN202210177647.6A 2022-02-24 2022-02-24 推荐调度引擎、推荐调度方法及计算机可读存储介质 Active CN114564249B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210177647.6A CN114564249B (zh) 2022-02-24 2022-02-24 推荐调度引擎、推荐调度方法及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210177647.6A CN114564249B (zh) 2022-02-24 2022-02-24 推荐调度引擎、推荐调度方法及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN114564249A CN114564249A (zh) 2022-05-31
CN114564249B true CN114564249B (zh) 2023-07-25

Family

ID=81715031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210177647.6A Active CN114564249B (zh) 2022-02-24 2022-02-24 推荐调度引擎、推荐调度方法及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114564249B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117093205B (zh) * 2023-08-24 2024-02-20 武汉人云智物科技有限公司 一种软件开发全流程低代码工程构建方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102769566A (zh) * 2012-07-13 2012-11-07 中兴通讯股份有限公司 一种多级调度系统配置、变更方法和装置
US8549472B1 (en) * 2007-06-12 2013-10-01 Fair Isaac Corporation System and method for web design
CN110704749A (zh) * 2019-10-16 2020-01-17 网易(杭州)网络有限公司 推荐引擎定制系统、推荐方法及推荐系统、电子设备
CN111338774A (zh) * 2020-02-21 2020-06-26 华云数据有限公司 分布式定时任务调度系统及计算装置
CN112712339A (zh) * 2020-12-31 2021-04-27 京东数字科技控股股份有限公司 业务流程的执行方法、装置、电子设备和计算机可读介质
CN113485820A (zh) * 2021-08-03 2021-10-08 北京百度网讯科技有限公司 任务调度系统及其实现方法、设备和介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549472B1 (en) * 2007-06-12 2013-10-01 Fair Isaac Corporation System and method for web design
CN102769566A (zh) * 2012-07-13 2012-11-07 中兴通讯股份有限公司 一种多级调度系统配置、变更方法和装置
CN110704749A (zh) * 2019-10-16 2020-01-17 网易(杭州)网络有限公司 推荐引擎定制系统、推荐方法及推荐系统、电子设备
CN111338774A (zh) * 2020-02-21 2020-06-26 华云数据有限公司 分布式定时任务调度系统及计算装置
CN112712339A (zh) * 2020-12-31 2021-04-27 京东数字科技控股股份有限公司 业务流程的执行方法、装置、电子设备和计算机可读介质
CN113485820A (zh) * 2021-08-03 2021-10-08 北京百度网讯科技有限公司 任务调度系统及其实现方法、设备和介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EV Charging Recommendation Concerning Preemptive Service and Charging Urgency Policy;Shuohan Liu等;《2020 IEEE 92nd Vehicular Technology Conference (VTC2020-Fall)》;摘要 *
多租户高可用并行任务调度框架;刘一田;刘士进;;计算机系统应用(12);全文 *

Also Published As

Publication number Publication date
CN114564249A (zh) 2022-05-31

Similar Documents

Publication Publication Date Title
CN107733708B (zh) 设备参数配置方法、装置、计算机设备和存储介质
CN107729139B (zh) 一种并发获取资源的方法和装置
CN111950988B (zh) 分布式工作流调度方法、装置、存储介质及电子设备
CN109408205B (zh) 基于hadoop集群的任务调度方法和装置
US11818152B2 (en) Modeling topic-based message-oriented middleware within a security system
CN111831191A (zh) 工作流配置方法、装置、计算机设备和存储介质
CN113867600A (zh) 处理流式数据的开发方法、装置和计算机设备
CN115604144B (zh) 测试方法及装置、电子设备和存储介质
CN114564294A (zh) 智能服务编排方法、装置、计算机设备及存储介质
CN114564249B (zh) 推荐调度引擎、推荐调度方法及计算机可读存储介质
CN115550354A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN113590433B (zh) 数据管理方法、数据管理系统和计算机可读存储介质
CN109828830B (zh) 用于管理容器的方法和装置
CN114168297A (zh) 一种归集任务调度方法、装置、设备及介质
CN110825537A (zh) 基于c/s架构的远程应用的调用方法、装置和设备
WO2020185514A1 (en) Usecase specification and runtime execution to serve on-demand queries and dynamically scale resources
CN111767126A (zh) 分布式批量处理的系统和方法
CN116126719A (zh) 接口测试方法、装置、电子设备及存储介质
CN113467892B (zh) 分布式集群资源配置方法及其相应的装置、设备、介质
CN114090201A (zh) 资源调度方法、装置、设备及存储介质
CN109725994B (zh) 数据抽取任务执行方法、装置、终端及可读存储介质
CN113722141A (zh) 数据任务的延迟原因确定方法、装置、电子设备及介质
CN114584605B (zh) 一种业务分发方法、装置、电子设备及存储介质
CN113835733B (zh) 云应用更新方法、装置、电子设备以及存储介质
CN111741097B (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
GR01 Patent grant
GR01 Patent grant