掌桥专利:专业的专利平台
掌桥专利
首页

一种算力调度方法、装置及设备

文献发布时间:2024-04-18 20:01:55


一种算力调度方法、装置及设备

技术领域

本发明涉及通信技术领域,具体涉及一种算力调度方法、装置及设备。

背景技术

在计算发展大趋势下,算力资源通过一定的策略进行调度,实现在靠近用户的地方,遍布形成不同规模的算力资源。泛在计算环境中的算力资源呈现分布式、无序化特征。

基于REST(Representational State Transfer,表象化状态转换)形式实现的算力调度服务外部调用服务,在运行态对算力和应用进行部署时,限于REST形式实现的RESTful API(表象化状态转换的应用程序接口)具有如下缺陷:REST形式的RESTful API调用接口,无法灵活地满足各类用户算力需求的特征形式和数据结构载体,只能以大而全的方式,以默认值、占位符的形式让调用者提供算力调度请求信息;缺乏类型化定义信息,调用方在接收到动态化响应内容时,无法验证内容结构的合法有效状态,只能通过状态描述符号来粗略判断;无法从其自身定义方面来实现两个层面上的请求内容形式上的抽象定义;无法从调用端实现严格的提交数据类型和数据结构定义的检查,服务端验证会增加算力调度处理过程的负担,延迟响应时间;在描述此类定义的响应结构时,总会返回大量与调用方无需关注的数据信息,既不利于用户读取解析具体内容,也占用了更多的网络带宽来传输无效数据。

发明内容

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种算力调度方法、装置及设备,实现了按需动态的算力调度服务。

根据本发明实施例的一个方面,提供了一种算力调度方法,应用于算力调度服务模块,所述方法包括:

通过预设算力调度请求接口接收算力调度请求方发起的算力调度请求;

对所述算力调度请求进行验证,获得验证结果;

判断所述验证结果为验证通过,则根据算力调度策略模板,为所述算力调度请求调用算力调度,获得算力调度结果;

将所述算力调度结果返回给所述算力调度请求方。

可选的,对所述算力调度请求进行验证,获得验证结果,包括:

利用预设算力调度数据定义,验证所述算力调度请求中携带的数据结构和/或字段数据类型,得到所述算力调度请求的验证结果;所述验证包括验证所述数据结构和/或字段数据类型是否符合预设算力调度数据定义设置的查询语句规则或者变更语句规则。

可选的,所述算力调度请求包括:算力调度查询请求或者算力调度变更请求。

可选的,所述算力调度请求为算力调度查询请求时,根据算力调度策略模板,触发算力调度,获得算力调度结果,包括:

根据算力调度策略模板,调用查询调度组件,执行查询操作,获得算力调度结果;所述查询操作基于应用程序接口API的GraphQL的算力调度策略、算力调度作业和算力调度感应构建。

可选的,所述算力调度请求包括算力调度变更请求时,根据算力调度策略模板,触发算力调度,获得算力调度结果,包括:

根据所述算力调度变更请求中的算力调度变更的特征和操作参数,生成算力调度策略解析组件;

根据所述算力调度策略解析组件,获得算力调度结果。

可选的,根据所述算力调度策略解析组件,获得算力调度结果,包括:

基于所述算力调度策略解析组件执行更新操作,获得算力调度结果;所述更新操作基于GraphQL的算力调度策略、算力调度作业和算力调度感应构建。

可选的,将所述算力调度结果发送至所述算力调度请求方,包括:

将所述算力调度结果,验证满足算力调度数据定义模块定义的GraphQL查询语句后,生成算力调度响应;

将所述算力调度响应发送至所述算力调度请求方。

根据本发明实施例的另一方面,提供了一种算力调度装置,所述装置包括:

收发模块,用于通过预设算力调度请求接口接收算力调度请求方发起的算力调度请求;

处理模块,用于对所述算力调度请求进行验证,获得验证结果;判断所述验证结果为验证通过,则根据算力调度策略模板,为所述算力调度请求调用算力调度,获得算力调度结果;

所述收发模块还用于将所述算力调度结果返回给所述算力调度请求方。

根据本发明实施例的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述所述的算力调度方法对应的操作。

根据本发明实施例的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述所述的算力调度方法对应的操作。

根据本发明上述实施例提供的方案,通过预设算力调度请求接口接收算力调度请求方发起的算力调度请求;对所述算力调度请求进行验证,获得验证结果;判断所述验证结果为验证通过,则根据算力调度策略模板,为所述算力调度请求调用算力调度,获得算力调度结果;将所述算力调度结果返回给所述算力调度请求方。能够为用户按需提供动态的算力调度服务。

上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明实施例的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的算力调度方法流程图;

图2示出了本发明另一实施例提供的算力调度查询操作的交互流程图;

图3示出了本发明另一实施例提供的算力调度变更操作的交互流程图;

图4示出了本发明另一实施例提供的算力调度系统的架构示意图;

图5示出了本发明实施例提供的算力调度装置的结构示意图;

图6示出了本发明实施例提供的计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

图1示出了本发明实施例提供的一种算力调度方法,应用于算力调度服务,所述方法包括:

步骤11,通过预设算力调度请求接口接收算力调度请求方发起的算力调度请求;

步骤12,对所述算力调度请求进行验证,获得验证结果;

步骤13,判断所述验证结果为验证通过,则根据算力调度策略模板,为所述算力调度请求调用算力调度,获得算力调度结果;

步骤14,将所述算力调度结果返回给所述算力调度请求方。

其中,所述算力调度请求包括:算力调度查询请求或者算力调度变更请求。

需要说明的是,所述预设算力调度请求接口可以为API(Application ProgramInterface,应用程序接口);

算力调度服务通过统一的算力调度请求接口,接收算力调度查询、变更请求,可以减少算力调度请求方接口数量,简化算力调度请求方算力调度协作复杂度。提供一个算力调度请求接口,满足各种请求-响应处理过程。

本发明的该实施例中,所述算力调度方法能够基于GraphQL(基于图的查询语言),为用户按需提供动态的算力调度查询服务和算力调度变更服务。GraphQL是一种API形式的开源数据查询和操作语言,可以在运行时利用数据定义(schema)进行请求解析,并按照数据定义结构返回期望的结果。

本发明一可选的实施例中,步骤12,可以包括:

步骤121,利用预设算力调度数据定义,验证所述算力调度请求中携带的数据结构和/或字段数据类型,得到所述算力调度请求的验证结果;所述验证包括验证所述数据结构和/或字段数据类型是否符合预设算力调度数据定义设置的查询语句规则或者变更语句规则。

本实施例中,由于算力调度服务接收和处理基于GraphQL查询语句的算力调度请求,因此需要通过算力调度数据定义对算力调度查询请求或算力调度变更请求的数据结构和/或字段数据类型是否符合预设算力调度数据定义设置的查询语句规则或者变更语句规则,这样可以按照数据定义(schema)保持请求-响应处理一致性。

本发明又一可选的实施例中,所述算力调度请求为算力调度查询请求时,步骤13,可以包括:

步骤131,根据算力调度策略模板,调用查询调度组件,执行查询操作,获得算力调度结果;所述查询操作基于应用程序接口API的GraphQL的算力调度策略、算力调度作业和算力调度感应构建。

其中,所述算力调度作业可以包括算力调度的各操作形成的过程;所述算力调度感应可以指算力调度所针对的数据的形式;查询调度组件可以针对算力调度查询请求所需求的算力,向业务模块发起基于GraphQL算力调度状态查询操作,从而满足按需进行算力调度。

图2示出了所述算力调度请求为算力调度查询请求时,根据算力调度策略模板,为所述算力调度请求调用算力调度,获得算力调度结果的交互流程,具体可以包括:

步骤31:算力调度服务通过预设算力调度请求接口(API),接收算力调度请求方根据用户的算力需求,基于GraphQL语法发起的算力调度查询请求;

步骤32:算力调度服务通过算力调度数据定义,验证所述算力调度请求中携带的数据结构和/或字段数据类型,是否符合预设算力调度数据定义设置的查询语句规则,得到验证结果;

步骤33A:若所述验证结果为符合,算力调度服务模块则根据算力调度策略模板,调用查询调度组件;

步骤33B:执行基于应用程序接口API的GraphQL的算力调度策略、算力调度作业和算力调度感应的查询操作,获得算力调度查询结果;

步骤34:将所述算力调度查询结果,验证满足算力调度数据定义模块定义的GraphQL查询语句后,生成算力调度响应;

步骤35:将所述算力调度响应返回给所述算力调度请求方。

本发明又一可选的实施例中,所述算力调度请求包括算力调度变更请求时,步骤13,可以包括:

步骤132,根据所述算力调度变更请求中的算力调度变更的特征和操作参数,生成算力调度策略解析组件;

步骤133,根据所述算力调度策略解析组件,获得算力调度结果。

本实施例中,算力调度服务,结合算力调度请求方根据用户算力需求发送的算力调度变更请求的特征和操作参数,通过具备共性的GraphQL算力调度策略模板,生成具体的解析组件,解析组件可以针对算力调度更新请求所需求的算力,向业务模块发起基于GraphQL算力调度更新操作,这样能够根据用户的实际需求,为用户提供对应的算力调度变更服务。

本发明又一可选的实施例中,步骤133,可以包括:

步骤1331,基于所述算力调度策略解析组件执行更新操作,获得算力调度结果;所述更新操作基于GraphQL的算力调度策略、算力调度作业和算力调度感应构建。

其中,所述更新操作包括:创建新的业务、删除已有的业务或者修改当前的业务。

本实施例中,可以将所述算力调度策略解析组件动态嵌入到当前算力调度服务的更新操作过程,并对GraphQL的算力调度策略、算力调度作业和算力调度感应执行更新操作,这样可以根据用户具体的算力需求,为用户提供具体、精确而有针对性的算力调度变更服务。

图3示出了所述算力调度请求为算力调度变更请求时,根据算力调度策略模板,为所述算力调度请求调用算力调度,获得算力调度结果的交互流程,具体可以包括:

步骤41:算力调度服务通过预设算力调度请求接口,接收算力调度请求方根据用户的算力需求,基于GraphQL语法发起的算力调度变更请求;

步骤42:算力调度服务通过算力调度数据定义,验证所述算力调度请求中携带的数据结构和/或字段数据类型,是否符合预设算力调度数据定义设置的变更语句规则,得到验证结果;

步骤43:若所述验证结果为符合,算力调度服务则根据算力调度变更请求中的算力调度变更的特征和操作参数,生成算力调度策略解析组件;

步骤44A:基于所述算力调度策略解析组件执行更新操作;

步骤44B:发起基于GraphQL的算力调度策略、算力调度作业和算力调度感应的更新操作,获得算力调度变更结果;

步骤45:将所述算力调度变更结果,验证满足算力调度数据定义模块定义的GraphQL查询语句后,生成算力调度响应;

步骤46:将所述算力调度响应返回给所述算力调度请求方。

本发明又一可选的实施例中,步骤14,可以包括:

步骤141,将所述算力调度结果,验证满足算力调度数据定义模块定义的GraphQL查询语句后,生成算力调度响应;

步骤142,将所述算力调度响应发送至所述算力调度请求方;

其中,所述算力调度结果包括:算力调度查询结果或者算力调度变更结果。

本实施例中,算力调度服务模块将算力调度查询结果或者算力调度变更结果,通过算力调度数据定义模块的验证后,生成算力调度查询结果对应的算力调度响应或者算力调度变更结果对应的算力调度响应,并将所述算力调度响应返回给所述算力调度请求方。

图4示出了本发明的上述实施例所应用的算力调度系统,所述系统可以包括以下模块:算力调度服务模块、算力调度数据定义模块(Schema)以及算力调度策略模板模块(Fragment-Resolver);

其中,所述算力调度策略模板模块可以包括但不限于:组件、容器、实例、语言、规则等;

基于所述算力调度服务模块、所述算力调度数据定义模块和所述算力调度策略模板模块可以实现基于GraphQL(Graph Query Language,针对图状数据进行查询的查询语言)强类型化的算力调度查询操作,以及基于可订制、可复用的算力调度策略模板GraphQL的变更操作。

所述算力调度服务模块的功能可以包括:定义统一的调用请求接口(API),接收算力调度请求方发送的算力调度查询请求和算力调度变更请求,通过结合所述算力调度数据定义模块和所述算力调度策略模板模块,实现对算力调度的查询和变更操作;

所述算力调度数据定义模块的功能可以包括:能够对算力调度查询请求或算力调度变更请求中携带的数据结构和/或字段数据类型,是否符合预设算力调度数据定义设置的查询语句规则或者变更语句规则进行验证;

当所述算力调度请求为算力调度查询请求时,通过所述算力调度数据定义模块,验证所述算力调度查询请求中携带的数据结构和/或字段数据类型,是否符合算力调度数据定义模块设置的查询语句规则,若符合,所述算力调度服务模块则根据所述算力调度策略模板,调用查询调度组件,执行基于应用程序接口API的GraphQL的算力调度策略、算力调度作业和算力调度感应的查询操作,获得算力调度查询结果,验证满足算力调度数据定义模块定义的GraphQL查询语句后,生成算力调度响应,并将所述算力调度响应返回给所述算力调度请求方;

当所述算力调度请求为算力调度变更请求时,通过所述算力调度数据定义模块,验证所述算力调度变更请求中携带的数据结构和/或字段数据类型,是否符合预设算力调度数据定义模块设置的变更语句规则,若符合,所述算力调度服务模块则根据所述算力调度变更请求中的算力调度变更的特征和操作参数,生成算力调度策略解析组件,基于所述算力调度策略解析组件执行更新操作,执行基于GraphQL的算力调度策略、算力调度作业和算力调度感应的更新操作,获得算力调度变更结果,验证满足算力调度数据定义模块定义的GraphQL查询语句后,生成算力调度响应,并将所述算力调度响应返回给所述算力调度请求方。

本发明的上述实施例中,所述算力调度方法能够基于GraphQL查询语言,根据用户的实际查询或变更需求,为用户提供相应的查询或变更服务;

使用统一的算力查询调度接口,可以减少算力调度请求方接口数量,简化算力调用请求方调度协作复杂度;

通过算力调用数据定义模块对算力调度查询请求或算力调度变更请求的数据结构和/或字段数据类型是否符合算力调度数据定义设置的查询语句规则或者变更语句规则进行验证,能够有效提供算力调度的成功率;

通过具备共性的算力调度策略模板,生成具体的解析组件,将所述解析组件动态嵌入到当前算力调度服务的更新操作过程,实现可订制、可复用的调度修改策略,执行算力调度的修改(Mutation)操作,实现算力调度任务。基于GraphQL版本策略,支持算力需求方调度对应版本的算力资源和配置;基于GraphQL返回内容,支持按照实际算力调度的内容和状态返回完整的关系图。

图5示出了本发明实施例提供的一种算力调度装置50,应用于算力调度服务模块,所述装置50包括:

收发模块51,用于通过预设算力调度请求接口接收算力调度请求方发起的算力调度请求;

处理模块52,用于对所述算力调度请求进行验证,获得验证结果;判断所述验证结果为验证通过,则根据算力调度策略模板,为所述算力调度请求调用算力调度,获得算力调度结果;

所述收发模块52还用于将所述算力调度结果返回给所述算力调度请求方。

可选的,对所述算力调度请求进行验证,获得验证结果,包括:

利用预设算力调度数据定义,验证所述算力调度请求中携带的数据结构和/或字段数据类型,得到所述算力调度请求的验证结果;所述验证包括验证所述数据结构和/或字段数据类型是否符合预设算力调度数据定义设置的查询语句规则或者变更语句规则。

可选的,所述算力调度请求包括:算力调度查询请求或者算力调度变更请求。

可选的,所述算力调度请求为算力调度查询请求时,根据算力调度策略模板,触发算力调度,获得算力调度结果,包括:

根据算力调度策略模板,调用查询调度组件,执行查询操作,获得算力调度结果;所述查询操作基于应用程序接口API的GraphQL的算力调度策略、算力调度作业和算力调度感应构建。

可选的,所述算力调度请求包括算力调度变更请求时,根据算力调度策略模板,触发算力调度,获得算力调度结果,包括:

根据所述算力调度变更请求中的算力调度变更的特征和操作参数,生成算力调度策略解析组件;

根据所述算力调度策略解析组件,获得算力调度结果。

可选的,根据所述算力调度策略解析组件,获得算力调度结果,包括:

基于所述算力调度策略解析组件执行更新操作,获得算力调度结果;所述更新操作基于GraphQL的算力调度策略、算力调度作业和算力调度感应构建。

可选的,将所述算力调度结果发送至所述算力调度请求方,包括:

将所述算力调度结果,验证满足算力调度数据定义模块定义的GraphQL查询语句后,生成算力调度响应;

将所述算力调度响应发送至所述算力调度请求方。

需要说明的是,该实施例中,该装置是与上述方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。

本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的算力调度方法。

图6示出了本发明实施例提供的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。

如图6所示,该计算设备可以包括:处理器(processor)、通信接口(Communications Interface)、存储器(memory)、以及通信总线。

其中:处理器、通信接口、以及存储器通过通信总线完成相互间的通信。通信接口,用于与其它设备比如客户端或其它服务器等的网元通信。处理器,用于执行程序,具体可以执行上述用于计算设备的算力调度方法实施例中的相关步骤。

具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。

处理器可能是中央处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。

存储器,用于存放程序。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

程序具体可以用于使得处理器执行上述任意方法实施例中的算力调度方法。程序中各步骤的具体实现可以参见上述算力调度方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。

在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明实施例的内容,并且上面对特定语言所做的描述是为了披露本发明实施例的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明实施例并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明实施例进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

技术分类

06120116571149