CN115794130A - 基于Yarn的Daemon服务部署方法、装置、介质及设备 - Google Patents
基于Yarn的Daemon服务部署方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN115794130A CN115794130A CN202211616441.5A CN202211616441A CN115794130A CN 115794130 A CN115794130 A CN 115794130A CN 202211616441 A CN202211616441 A CN 202211616441A CN 115794130 A CN115794130 A CN 115794130A
- Authority
- CN
- China
- Prior art keywords
- service
- target
- node
- daemon
- target service
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本公开涉及一种基于Yarn的Daemon服务部署方法、装置、介质及设备,所述方法包括:响应于接收到服务部署指令,服务部署指令中携带有待部署的目标服务的服务类型,用于请求在Yarn集群中部署目标服务,根据服务部署指令确定目标服务的服务类型;若目标服务的服务类型为服务守护进程Daemon类型,则创建目标服务对应的目标应用,并设置由服务守护进程控制器管理目标应用;通过服务守护进程控制器遍历Yarn集群中每个节点,确定为Yarn集群中每个节点分配用于运行目标应用的目标服务容器;通过服务守护进程控制器启动目标服务容器,并将目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点。
Description
技术领域
本公开涉及计算机技术领域,具体地,涉及一种基于Yarn的Daemon服务部署方法、装置、介质及设备。
背景技术
当前Yarn集群的物理机节点上,通常会启动很多第三方服务。而这些第三方服务中包含Daemon服务,该部分服务因为脱离Yarn集群的控制,难以保证Yarn集群中的各节点均部署该第三方服务,对Yarn集群的运行稳定性产生比较大的影响。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种基于Yarn的Daemon服务部署方法,所述方法包括:
响应于接收到服务部署指令,所述服务部署指令中携带有待部署的目标服务的服务类型,用于请求在Yarn集群中部署目标服务,根据所述服务部署指令确定所述目标服务的服务类型;
若所述目标服务的服务类型为服务守护进程Daemon类型,则创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用;
通过所述服务守护进程控制器遍历Yarn集群中每个节点,确定为所述Yarn集群中每个节点分配用于运行所述目标应用的目标服务容器;
通过所述服务守护进程控制器启动所述目标服务容器,并将所述目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点。
第二方面,本公开提供一种基于Yarn的Daemon服务部署装置,所述装置包括:
确定模块,用于响应于接收到服务部署指令,所述服务部署指令中携带有待部署的目标服务的服务类型,用于请求在Yarn集群中部署目标服务,根据所述服务部署指令确定所述目标服务的服务类型;
创建模块,用于若所述目标服务的服务类型为服务守护进程Daemon类型,则创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用;
分配模块,用于通过所述服务守护进程控制器遍历Yarn集群中每个节点,确定为所述Yarn集群中每个节点分配用于运行所述目标应用的目标服务容器;
启动模块,用于通过所述服务守护进程控制器启动所述目标服务容器,并将所述目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点。
第三方面,本公开一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面所述方法的步骤。
第四方面,本公开一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面所述方法的步骤。
由此,通过上述技术方案,针对在Yarn集群中部署的Daemon服务,可以通过创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用,从而可以服务守护进程控制器确定为Yarn集群中的每一节点分配并启动目标服务容器,以在每一节点中部署该Daemon服务。由此,可以通过上述技术方案,通过设置由服务守护进程控制器管理Daemon服务的目标应用的方式,将Daemon服务纳入Yarn集群内部,实现与Yarn集群内部的服务之间的统一管理,一方面可以有效提升Yarn集群中服务部署的统一,另一方面可以保证在Yarn集群中的每一节点中真实地部署该Daemon服务,避免Daemon服务脱离Yarn集群的管控对Yarn集群中的节点运行的影响,有效提高Yarn集群生态运行的稳定性,提高服务部署的便利性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是根据本公开的一种实施方法提供的基于Yarn的Daemon服务部署方法的流程图。
图2是为基于本公开的一种实施方式提供的Yarn集群的示意图。
图3是根据本公开的一种实施方法提供的基于Yarn的Daemon服务部署装置的框图。
图4示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
同时,可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
图1所示,为根据本公开的一种实施方法提供的基于Yarn的Daemon服务部署方法的流程图,如图1所示,所述方法可以包括:
在步骤11中,响应于接收到服务部署指令,根据服务部署指令确定目标服务的服务类型,其中,服务部署指令中携带有待部署的目标服务的服务类型,用于请求在Yarn集群中部署目标服务。
在该实施例中,可以基于Yarn集群下的服务部署指令触发服务部署,该目标服务的服务类型可以在触发该服务部署指令进行配置,从而在触发服务部署指令后该服务类型可以包含在该服务部署指令中,以确定目标服务的类型。
在步骤12中,若目标服务的服务类型为服务守护进程Daemon类型,则创建目标服务对应的目标应用,并设置由服务守护进程控制器管理目标应用。
示例地,所述目标服务的类型为服务守护进程Daemon类型,如shuffle service,metrics agent等。Yarn集群的节点中的节点需要依赖于该Daemon类型的服务运行。需要进行说明的是,以下将Daemon类型的服务简称为Daemon服务。针对Daemon服务,其在Yarn集群中进行部署则对应的是创建一个Application,即目标应用,其对应的应用类型Application Type即为Daemon。其中,Daemon类型下的Application用于表示一个作业,如shuffle、ufs、databus等,与Yarn集群中其他类型的Application的不同在于计算框架的类别不同。创建Application的方式可以基于Yarn集群下的创建方式,在此不再赘述。
在本公开实施例中,可以在Yarn集群中通过服务守护进程控制器DaemonController管理目标应用,以对Daemon服务对应的目标应用进行单独管理。
在步骤13中,通过服务守护进程控制器遍历Yarn集群中每个节点,确定为Yarn集群中每个节点分配用于运行目标应用的目标服务容器。
示例地,该目标服务容器可以为Daemon container,用于第三方服务对应的container,其可以复用Yarn集群下的container的结构,并可以通过标识进行区分。在该步骤中,可以通过服务守护进程控制器为每一节点分配该目标服务容器,以保证能够在每一节点中都能够真实分配到该目标服务容器。
在步骤14中,通过服务守护进程控制器启动目标服务容器,并将目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点。
之后通过服务守护进程控制器启动目标服务容器,如可以直接基于启动指令NMClient#startContainer进行启动。进一步地,基于该目标服务容器运行目标应用,以在该节点中实现目标服务的部署,并且能够保证该目标服务真实的部署至目标节点中,以针对Yarn集群中的每一节点部署该目标服务。
由此,通过上述技术方案,针对在Yarn集群中部署的Daemon服务,可以通过创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用,从而可以服务守护进程控制器确定为Yarn集群中的每一节点分配并启动目标服务容器,以在每一节点中部署该Daemon服务。由此,可以通过上述技术方案,通过设置由服务守护进程控制器管理Daemon服务的目标应用的方式,将Daemon服务纳入Yarn集群内部,实现与Yarn集群内部的服务之间的统一管理,一方面可以有效提升Yarn集群中服务部署的统一,另一方面可以保证在Yarn集群中的每一节点中真实地部署该Daemon服务,避免Daemon服务脱离Yarn集群的管控对Yarn集群中的节点运行的影响,有效提高Yarn集群生态运行的稳定性,提高服务部署的便利性。
如图2所示,为基于本公开的一种实施方式提供的Yarn集群的示意图,其中,ResourceManager资源管理器C1和NodeManager节点管理器C2可以是Yarn集群中的已有管理器。Controller Manager控制器管理,用于实现对DaemonController、StorageController等的服务控制器的管理。服务控制器A1用于表示DaemonController,即Daemon服务控制器(服务守护进程控制器),实现对所有Daemon类型的应用Application的管理,如shuffle service、databus agent等Daemon服务的应用,服务控制器A2用于表示StorageController,即存储服务控制器,其中alluxio为用于存储的Daemon服务,由此可以基于存储服务控制器进行管理,在StorageController和DaemonController的为针对于不同场景下的Daemon服务的部署控制,其对应的处理流程相同。DaemonContainer用于Daemon服务对应的container,其可以复用Yarn集群下的container的结构,并可以通过标识进行区分,以便确定出其中的DaemonContainer。App1、App2、App3可以分别用于表示DaemonApp,即用于表示一个作业,如Daemon类型的应用Application,示例地,App1可以用于表示shuffle service,App2可以用于表示databus agent,App3可以用于表示alluxio。在Daemon服务部署的过程中可以通过预先指定的统一调度器进行调度。其中Yarn集群的每一节点具有一节点管理器,以用于对该节点中的服务容器进行监测,如图2所示,则可以在每一节点中的创建与部署的服务分别对应的服务容器,如图2所示,每一节点中可以分别运行与App1、App2、App3分别对应的DaemonContainer,实现各个服务在该节点的部署。示例地,该本公开方法可以应用于上述控制器管理中。
在一种可能的实施例中,在步骤13中通过服务守护进程控制器遍历Yarn集群中每个节点,确定为Yarn集群中每个节点分配用于运行目标应用的目标服务容器的示例性实现方式,可以包括:
通过所述服务守护进程控制器获取所述Yarn集群对应的待调度列表,其中,所述待调度列表中包含未启动所述目标服务容器的各个节点。
作为示例,Yarn集群中的节点管理器(NodeManager,NM)向资源管理器(ResourceManager,RM)注册时,可以同时上报该节点下的服务容器的状态,从而可以确定出该待调度列表,进而通过所述服务守护进程控制器获取该待调度列表。
其中,所述待调度列表通过以下方式确定:
接收所述Yarn集群中的每一所述节点上报的各服务容器的状态信息。
其中,每一节点中的各服务容器的状态可以是由该NM向RM注册时上报的,也可以是NM每间隔预设时长向RM上报其各服务容器的状态,服务控制器也能够获得该状态信息,该实施例中该服务控制器可以为服务守护进程控制器,之后对每一节点中是否运行该目标服务容器进行判定。该预设时长可以基于实际应用场景进行设置,本公开对此不作限定。作为示例,该状态信息中可以包含该节点中的各个服务容器以及每一服务容器的状态。
若根据所述状态信息确定所述节点中的服务容器中未包含所述目标服务容器,或者根据所述状态信息确定所述节点中的服务容器中包含所述目标服务容器且所述目标服务容器的状态为未启动状态,则将所述节点添加至所述待调度列表。
其中,记目标服务容器为Daemoncontainer1,若节点的状态信息中未包含该Daemoncontainer1,则认为该Daemoncontainer1未在节点中运行,此时认为该节点为不可调度状态,则将节点添加至所述待调度列表,以便后续针对该节点进行Daemoncontainer1的分配和启动。类似地,若根据状态信息确定所述节点中的服务容器中包含所述目标服务容器且所述目标服务容器的状态为未启动状态,该情况下同样可以认为该Daemoncontainer1未在节点中运行,此时节点为不可调度状态,则将节点添加至所述待调度列表。
针对所述待调度列表中的每一节点,若所述节点中的服务容器中包含的所述目标服务容器的状态为启动状态,则将所述节点从所述待调度列表中移除。
示例地,若后续部署过程中针对待调度列表中的节点成功运行了目标服务容器Daemoncontainer1,则认为该节点中已经运行了Daemoncontainer1容器,即该节点中已经成功部署目标服务,可以实现目标服务的调用,可以将节点的状态标记为可调度状态,并将该节点从待调度列表中移除,以避免后续再次对其进行目标服务容器的分配和启动。
由此,通过上述技术方案,可以通过待调度列表对Yarn集群中各个节点对目标服务容器的分配和运行情况进行标记,以使得通过所述服务守护进程控制器遍历Yarn集群中每个节点,以确定在Yarn集群中每一节点中真实部署了目标服务,并且能够在确定节点部署目标服务成功后确定该节点为可调度状态,保证Yarn集群中后续作业调度的准确性和稳定性。
进一步地,确定所述目标服务容器对应的资源申请信息,并将所述待调度列表中的每一节点作为待调度节点,基于目标调度器根据所述资源申请信息为所述待调度节点分配所述目标服务容器。
其中,针对服务容器Daemoncontainer,可以对其进行预先设置,确定运行过程中所需的cpu资源和存储memory资源等,可以通过配置信息进行预先制定,则该实施例中,可以通过该配置信息获得目标服务容器对应的资源申请信息,即该目标服务容器对其所需资源的描述信息。
作为示例,将所述待调度列表中的每一节点作为待调度节点,可以是从所述待调度列表中随机选择一点作为待调度节点以分别进行目标服务容器的分配,也可以是将待调度节点中对应的资源使用率最小的节点作为该待调度节点,依次进行目标服务容器的分配,以便保证该目标服务容器的有效分配。
其中,可以通过NODE_LOCALITY属性指定确定出的该待调度节点,并通过HOST_UNIQUE约束节点中有且仅有一个该目标服务对应的目标服务容器。
示例地,目标调度器可以是由工作人员预先指定的,如其可以是BatchScheduler,如可以设置为同步模式以尽快地为该节点分配目标服务容器,以便该节点尽快能够被调度。
由此,通过上述技术方案,可以通过所述服务守护进程控制器为Yarn集群中的每一节点分配对应的目标服务容器,实现Daemon服务部署在Yarn集群中的部署监控,使得Daemon服务可以真实在Yarn集群中的每一节点运行,保证基于Yarn的Daemon服务部署的准确性和有效性。
在一种可能的实施例中,所述基于目标调度器根据所述资源申请信息为所述待调度节点分配所述目标服务容器,包括:
根据所述待调度节点的资源使用信息,确定所述待调度节点是否满足所述资源申请信息对应的申请资源。
其中,各个待调度节点的资源使用信息用于记录该待调度节点中的已分配资源数量,如包括CPU的已分配数量、memory的已分配数量等。所述资源申请信息对应的申请资源用于表示待调度节点中分配目标服务容器所需的资源,则针对每一类型的申请资源,若待调度节点的剩余使用量大于或等于该申请资源的申请量,则确定该类型下待调度节点满足资源申请信息对应的申请资源,若待调度节点的剩余使用量小于该申请资源的申请量,则确定该类型下待调度节点不满足资源申请信息对应的申请资源。其中,待调度节点的剩余使用量为该类型下该待调度节点对应的资源最大量减去其对应的已分配数量。若待调度节点能够各个类型下满足资源申请信息对应的申请资源,则可以认为该待调度节点满足所述资源申请信息对应的申请资源。
若所述待调度节点未满足所述资源申请信息对应的申请资源,对所述待调度节点中的非Daemon类型的服务容器进行资源释放。
如上文所述,若待调度节点在至少一个类型下未满足资源申请信息对应的申请资源,则可以认为该待调度节点未满足所述资源申请信息对应的申请资源。此时可以触发抢占机制,即对待调度节点中非Daemon类型的服务容器的资源进行释放,其中可以通过服务容器的标识确定出服务容器的类型,进而进行资源释放,以便能够在节点中分配该目标服务容器。其中,可以通过Yarn集群下的资源释放指令进行资源释放,在此不再赘述。
在进行资源释放后的所述待调度节点满足所述资源申请信息对应的申请资源的情况下,基于目标调度器根据所述资源申请信息为所述待调度节点分配所述目标服务容器。
其中,待调度节点中非Daemon类型的服务容器中运行的应用通常需要依赖该Daemon服务,则该实施例中在进行服务容器分配时,能够触发资源抢占机制以保证在Yarn集群中的各个节点中优先分配目标服务容器,保证Daemon服务的部署的有效性,同时能够在一定程度上提高Yarn集群的运行稳定性。
在实际应用场景中,在Yarn集群中部署的目标服务通常后续需要进行升级,以shuffle service的升级为例,相关技术中通常是将新的shuffle jar包放入yarn_deploy仓库,提CR并合并到hadoop-dev代码仓库,重启全量的NM,以使代码生效,基于新提交的jar包运行该服务。然而上述过程中,用户Daemon的版本与yarn_deploy的版本耦合,出问题时很难结合版本快速定位具体的改动,且Daemon上线与yarn_deploy的上线耦合,yarn_deploy的上线周期较长,难以与Daemon上线周期匹配。基于此,本公开提供以下实施例。
可选地,所述方法还可以包括:
响应于接收到所述目标服务的服务升级指令,所述服务升级指令中携带有所述目标服务对应的升级服务的版本信息,通过所述服务守护进程控制器将所述目标服务对应的目标应用进行下线处理;
将所述版本信息对应的服务作为新的目标服务,并返回所述创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用的步骤。
在该实施例中,在Yarn集群中能够实现对Daemon服务的统一管理,每一Daemon服务在每一节点中都创建了一个应用,则可以通过目标应用对应的目标服务容器的重启升级实现更新。目标服务的服务升级指令可以在生成新的版本信息时,触发生成,即要对新的版本信息的目标服务进行部署时,可以根据该目标服务的服务名称确定Yarn集群中已经部署的服务,以通过所述服务守护进程控制器将所述目标服务对应的目标应用进行下线处理,如可以通过Yarn#killApplication的指令下线该目标服务已经部署的各个目标应用,服务守护进程控制器DaemonController会做相应的适配工作,比如从应用管理列表里移除该App,并将所述目标服务对应的目标服务容器删除等。
进一步地,将该版本信息对应的目标服务确定为新的目标服务,即将目标服务对应的升级版本作为新的目标服务,重新进行上文所述的操作,以将该新的目标服务部署至该Yarn集群中,实现目标服务的服务升级,该部署流程已在上文进行详述,在此不再赘述。
由此,通过上述技术方案,可以将目标服务的升级转换成目标服务的新版本服务的重新部署,由此可以避免相关技术中用户Daemon的版本与yarn_deploy的版本耦合,难以定位的问题,另一方面也可以有效缩短Daemon上线周期,提高目标服务更新的效率。
在一种可能的实施例中,所述通过服务守护进程控制器启动目标服务容器,并将目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点,包括:
通过所述服务守护进程控制器向针对每一所述节点发送启动指令,以基于所述启动指令启动所述节点对应的目标服务容器。示例地,可以服务守护进程控制器向节点发送启动指令NMClient#startContainer,以对目标服务容器进行启动。
响应于接收到所述目标服务容器对应的心跳信息,将所述心跳信息中指示所述目标服务容器启动成功的节点作为所述目标节点。
之后,每一节点对应的NM会通过心跳信息汇报其目标服务容器的启动状态,从而可以基于该心跳信息确定该节点中是否成功启动目标服务容器。由此,通过上述技术方案,可以通过NM上报的心跳信息通过反馈的方式确定在启动目标服务容器后,该目标服务容器是否真实被启动成功,从而实现在Yarn集群中的节点一定部署了目标服务,保证Yarn集群的运行稳定性。
在一种可能的实施例中,所述方法还可以包括:
响应于接收到所述目标服务的服务下线指令,通过所述服务守护进程控制器将所述目标服务对应的目标应用进行下线处理。
其中,如上文所述,该目标服务在Yarn集群中的部署是通过创建一目标应用实现的,则可以将目标服务的下线转换至目标应用的下线,则可以通过Yarn#killApplication的指令下线该目标表服务已经部署的目标应用,如通过所述服务守护进程控制器从应用管理列表里移除该目标应用,并对其管理的该目标服务在各个节点中对应的目标服务容器删除。由此,可以快速且简便的实现目标服务的下线,便于用户操作,实现Yarn集群中对部署的服务的统一管理。
在一种可能的而实施例中,工作人员可以用过RM实现对目标服务容器的ping指令,以确定该目标服务容器是否在运行中,以便实现对目标服务容器运行状态的监测。
本公开还提供一种基于Yarn的Daemon服务部署装置,如图3所示,所述装置10包括:
确定模块100,用于响应于接收到服务部署指令,所述服务部署指令中携带有待部署的目标服务的服务类型,用于请求在Yarn集群中部署目标服务,根据所述服务部署指令确定所述目标服务的服务类型;
创建模块200,用于若所述目标服务的服务类型为服务守护进程Daemon类型,则创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用;
分配模块300,用于通过所述服务守护进程控制器遍历Yarn集群中每个节点,确定为所述Yarn集群中每个节点分配用于运行所述目标应用的目标服务容器;
启动模块400,用于通过所述服务守护进程控制器启动所述目标服务容器,并将所述目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点。
可选地,所述分配模块包括:
获取子模块,用于通过所述服务守护进程控制器获取所述Yarn集群对应的待调度列表,其中,所述待调度列表中包含未启动所述目标服务容器的各个节点;
第一分配子模块,用于确定所述目标服务容器对应的资源申请信息,并将所述待调度列表中的每一节点作为待调度节点,基于目标调度器根据所述资源申请信息为所述待调度节点分配所述目标服务容器。
可选地,所述待调度列表通过以下方式确定:
接收所述Yarn集群中的每一所述节点上报的各服务容器的状态信息;
若根据所述状态信息确定所述节点中的服务容器中未包含所述目标服务容器,或者根据所述状态信息确定所述节点中的服务容器中包含所述目标服务容器且所述目标服务容器的状态为未启动状态,则将所述节点添加至所述待调度列表;
针对所述待调度列表中的每一节点,若所述节点中的服务容器中包含的所述目标服务容器的状态为启动状态,则将所述节点从所述待调度列表中移除。
可选地,所述第一分配子模块包括:
第一确定子模块,用于根据所述待调度节点的资源使用信息,确定所述待调度节点是否满足所述资源申请信息对应的申请资源;
释放子模块,用于若所述待调度节点未满足所述资源申请信息对应的申请资源,对所述待调度节点中的非Daemon类型的服务容器进行资源释放;
第二分配子模块,用于在进行资源释放后的所述待调度节点满足所述资源申请信息对应的申请资源的情况下,基于目标调度器根据所述资源申请信息为所述待调度节点分配所述目标服务容器。
可选地,所述装置还包括:
升级处理模块,用于响应于接收到所述目标服务的服务升级指令,所述服务升级指令中携带有所述目标服务对应的升级服务的版本信息,通过所述服务守护进程控制器将所述目标服务对应的目标应用进行下线处理;将所述版本信息对应的目标服务作为新的目标服务,并触发所述创建模块创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用。
可选地,所述启动模块包括:
发送子模块,用于通过所述服务守护进程控制器向每一所述节点发送启动指令,以基于所述启动指令启动所述节点对应的目标服务容器;
第二确定子模块,用于响应于接收到所述目标服务容器对应的心跳信息,将所述心跳信息中指示所述目标服务容器启动成功的节点作为所述目标节点。
可选地,所述装置还包括:
下线处理模块,用于响应于接收到所述目标服务的服务下线指令,通过所述服务守护进程控制器将所述目标服务对应的目标应用进行下线处理。
下面参考图4,其示出了适于用来实现本公开实施例的电子设备600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于接收到服务部署指令,所述服务部署指令中携带有待部署的目标服务的服务类型,用于请求在Yarn集群中部署目标服务,根据所述服务部署指令确定所述目标服务的服务类型;若所述目标服务的服务类型为服务守护进程Daemon类型,则创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用;通过所述服务守护进程控制器遍历Yarn集群中每个节点,确定为所述Yarn集群中每个节点分配用于运行所述目标应用的目标服务容器;通过所述服务守护进程控制器启动所述目标服务容器,并将所述目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,确定模块还可以被描述为“响应于接收到服务部署指令,所述服务部署指令中携带有待部署的目标服务的服务类型,用于请求在Yarn集群中部署目标服务,根据所述服务部署指令确定所述目标服务的服务类型的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种基于Yarn的Daemon服务部署方法,其中,所述方法包括:
响应于接收到服务部署指令,所述服务部署指令中携带有待部署的目标服务的服务类型,用于请求在Yarn集群中部署目标服务,根据所述服务部署指令确定所述目标服务的服务类型;
若所述目标服务的服务类型为服务守护进程Daemon类型,则创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用;
通过所述服务守护进程控制器遍历Yarn集群中每个节点,确定为所述Yarn集群中每个节点分配用于运行所述目标应用的目标服务容器;
通过所述服务守护进程控制器启动所述目标服务容器,并将所述目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点。
根据本公开的一个或多个实施例,示例2提供了示例1的方法,其中,所述通过所述服务守护进程控制器遍历Yarn集群中每个节点,确定为所述Yarn集群中每个节点分配用于运行所述目标应用的目标服务容器,包括:
通过所述服务守护进程控制器获取所述Yarn集群对应的待调度列表,其中,所述待调度列表中包含未启动所述目标服务容器的各个节点;
确定所述目标服务容器对应的资源申请信息,并将所述待调度列表中的每一节点作为待调度节点,基于目标调度器根据所述资源申请信息为所述待调度节点分配所述目标服务容器。
根据本公开的一个或多个实施例,示例3提供了示例2的方法,其中,所述待调度列表通过以下方式确定:
接收所述Yarn集群中的每一所述节点上报的各服务容器的状态信息;
若根据所述状态信息确定所述节点中的服务容器中未包含所述目标服务容器,或者根据所述状态信息确定所述节点中的服务容器中包含所述目标服务容器且所述目标服务容器的状态为未启动状态,则将所述节点添加至所述待调度列表;
针对所述待调度列表中的每一节点,若所述节点中的服务容器中包含的所述目标服务容器的状态为启动状态,则将所述节点从所述待调度列表中移除。
根据本公开的一个或多个实施例,示例4提供了示例2的方法,其中,所述基于目标调度器根据所述资源申请信息为所述待调度节点分配所述目标服务容器,包括:
根据所述待调度节点的资源使用信息,确定所述待调度节点是否满足所述资源申请信息对应的申请资源;
若所述待调度节点未满足所述资源申请信息对应的申请资源,对所述待调度节点中的非Daemon类型的服务容器进行资源释放;
在进行资源释放后的所述待调度节点满足所述资源申请信息对应的申请资源的情况下,基于目标调度器根据所述资源申请信息为所述待调度节点分配所述目标服务容器。
根据本公开的一个或多个实施例,示例5提供了示例1的方法,其中,所述方法还包括:
响应于接收到所述目标服务的服务升级指令,所述服务升级指令中携带有所述目标服务对应的升级服务的版本信息,通过所述服务守护进程控制器将所述目标服务对应的目标应用进行下线处理;
将所述版本信息对应的目标服务作为新的目标服务,并返回所述创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用的步骤。
根据本公开的一个或多个实施例,示例6提供了示例1的方法,其中,所述通过所述服务守护进程控制器启动所述目标服务容器,并将所述目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点,包括:
通过所述服务守护进程控制器向每一所述节点发送启动指令,以基于所述启动指令启动所述节点对应的目标服务容器;
响应于接收到所述目标服务容器对应的心跳信息,将所述心跳信息中指示所述目标服务容器启动成功的节点作为所述目标节点。
根据本公开的一个或多个实施例,示例7提供了示例1的方法,其中,所述方法还包括:
响应于接收到所述目标服务的服务下线指令,通过所述服务守护进程控制器将所述目标服务对应的目标应用进行下线处理。
根据本公开的一个或多个实施例,示例8提供了一种基于Yarn的Daemon服务部署装置,所述装置包括:
确定模块,用于响应于接收到服务部署指令,所述服务部署指令中携带有待部署的目标服务的服务类型,用于请求在Yarn集群中部署目标服务,根据所述服务部署指令确定所述目标服务的服务类型;
创建模块,用于若所述目标服务的服务类型为服务守护进程Daemon类型,则创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用;
分配模块,用于通过所述服务守护进程控制器遍历Yarn集群中每个节点,确定为所述Yarn集群中每个节点分配用于运行所述目标应用的目标服务容器;
启动模块,用于通过所述服务守护进程控制器启动所述目标服务容器,并将所述目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点。
根据本公开的一个或多个实施例,示例9提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1-7中任一项所述方法的步骤。
根据本公开的一个或多个实施例,示例10提供了一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1-7中任一项所述方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
Claims (10)
1.一种基于Yarn的Daemon服务部署方法,其特征在于,所述方法包括:
响应于接收到服务部署指令,所述服务部署指令中携带有待部署的目标服务的服务类型,用于请求在Yarn集群中部署目标服务,根据所述服务部署指令确定所述目标服务的服务类型;
若所述目标服务的服务类型为服务守护进程Daemon类型,则创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用;
通过所述服务守护进程控制器遍历Yarn集群中每个节点,确定为所述Yarn集群中每个节点分配用于运行所述目标应用的目标服务容器;
通过所述服务守护进程控制器启动所述目标服务容器,并将所述目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点。
2.根据权利要求1所述的方法,其特征在于,所述通过所述服务守护进程控制器遍历Yarn集群中每个节点,确定为所述Yarn集群中每个节点分配用于运行所述目标应用的目标服务容器,包括:
通过所述服务守护进程控制器获取所述Yarn集群对应的待调度列表,其中,所述待调度列表中包含未启动所述目标服务容器的各个节点;
确定所述目标服务容器对应的资源申请信息,并将所述待调度列表中的每一节点作为待调度节点,基于目标调度器根据所述资源申请信息为所述待调度节点分配所述目标服务容器。
3.根据权利要求2所述的方法,其特征在于,所述待调度列表通过以下方式确定:
接收所述Yarn集群中的每一所述节点上报的各服务容器的状态信息;
若根据所述状态信息确定所述节点中的服务容器中未包含所述目标服务容器,或者根据所述状态信息确定所述节点中的服务容器中包含所述目标服务容器且所述目标服务容器的状态为未启动状态,则将所述节点添加至所述待调度列表;
针对所述待调度列表中的每一节点,若所述节点中的服务容器中包含的所述目标服务容器的状态为启动状态,则将所述节点从所述待调度列表中移除。
4.根据权利要求2所述的方法,其特征在于,所述基于目标调度器根据所述资源申请信息为所述待调度节点分配所述目标服务容器,包括:
根据所述待调度节点的资源使用信息,确定所述待调度节点是否满足所述资源申请信息对应的申请资源;
若所述待调度节点未满足所述资源申请信息对应的申请资源,对所述待调度节点中的非Daemon类型的服务容器进行资源释放;
在进行资源释放后的所述待调度节点满足所述资源申请信息对应的申请资源的情况下,基于目标调度器根据所述资源申请信息为所述待调度节点分配所述目标服务容器。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到所述目标服务的服务升级指令,所述服务升级指令中携带有所述目标服务对应的升级服务的版本信息,通过所述服务守护进程控制器将所述目标服务对应的目标应用进行下线处理;
将所述版本信息对应的目标服务作为新的目标服务,并返回所述创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用的步骤。
6.根据权利要求1所述的方法,其特征在于,所述通过所述服务守护进程控制器启动所述目标服务容器,并将所述目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点,包括:
通过所述服务守护进程控制器向每一所述节点发送启动指令,以基于所述启动指令启动所述节点对应的目标服务容器;
响应于接收到所述目标服务容器对应的心跳信息,将所述心跳信息中指示所述目标服务容器启动成功的节点作为所述目标节点。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到所述目标服务的服务下线指令,通过所述服务守护进程控制器将所述目标服务对应的目标应用进行下线处理。
8.一种基于Yarn的Daemon服务部署装置,其特征在于,所述装置包括:
确定模块,用于响应于接收到服务部署指令,所述服务部署指令中携带有待部署的目标服务的服务类型,用于请求在Yarn集群中部署目标服务,根据所述服务部署指令确定所述目标服务的服务类型;
创建模块,用于若所述目标服务的服务类型为服务守护进程Daemon类型,则创建所述目标服务对应的目标应用,并设置由服务守护进程控制器管理所述目标应用;
分配模块,用于通过所述服务守护进程控制器遍历Yarn集群中每个节点,确定为所述Yarn集群中每个节点分配用于运行所述目标应用的目标服务容器;
启动模块,用于通过所述服务守护进程控制器启动所述目标服务容器,并将所述目标服务容器启动成功的节点作为Yarn集群的服务部署的目标节点。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211616441.5A CN115794130A (zh) | 2022-12-15 | 2022-12-15 | 基于Yarn的Daemon服务部署方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211616441.5A CN115794130A (zh) | 2022-12-15 | 2022-12-15 | 基于Yarn的Daemon服务部署方法、装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794130A true CN115794130A (zh) | 2023-03-14 |
Family
ID=85425866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211616441.5A Pending CN115794130A (zh) | 2022-12-15 | 2022-12-15 | 基于Yarn的Daemon服务部署方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794130A (zh) |
-
2022
- 2022-12-15 CN CN202211616441.5A patent/CN115794130A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737270B (zh) | 一种服务器集群的资源管理方法和装置 | |
US10740112B2 (en) | Leveraging microservice containers to provide tenant isolation in a multi-tenant API gateway | |
US10521242B2 (en) | Application containers with updatable application programming interface layers | |
US8910138B2 (en) | Hot pluggable extensions for access management system | |
CN108733461B (zh) | 分布式任务调度方法和装置 | |
CN110381042B (zh) | 一种平滑重启服务的方法、装置、介质和电子设备 | |
CN112153167B (zh) | 网际互连协议管理方法、装置、电子设备及存储介质 | |
US20170033980A1 (en) | Agent manager for distributed transaction monitoring system | |
CN112346926A (zh) | 资源状态监控方法、装置及电子设备 | |
CN110659104B (zh) | 一种业务监控方法及相关设备 | |
CN109828830B (zh) | 用于管理容器的方法和装置 | |
CN114489954A (zh) | 基于虚拟化平台的租户创建方法、租户访问方法及设备 | |
CN114328097A (zh) | 一种文件监控方法、装置、电子设备和存储介质 | |
CN111240998A (zh) | 测试用例处理方法和装置 | |
CN115794130A (zh) | 基于Yarn的Daemon服务部署方法、装置、介质及设备 | |
CN115167874A (zh) | 自动驾驶软件镜像部署方法、装置、电子设备和可读介质 | |
CN114528140A (zh) | 一种业务降级的方法和装置 | |
CN115686813A (zh) | 一种资源调度方法、装置、电子设备和存储介质 | |
GB2607871A (en) | Improvements in and relating to multi-access edge computing (MEC) | |
CN113760481A (zh) | 一种分布式定时任务调度系统和方法 | |
US11768704B2 (en) | Increase assignment effectiveness of kubernetes pods by reducing repetitive pod mis-scheduling | |
CN116866412A (zh) | 集群自动服务发现方法、装置、电子设备及可读存储介质 | |
CN114489929A (zh) | 一种容器组的启动方法、装置、电子设备及存储介质 | |
CN114745261A (zh) | 基于Agent的智能化管理方法、装置、设备及存储介质 | |
CN114020310A (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 |