一种资源调度方法、设备、系统及存储介质与流程

文档序号:20163304发布日期:2020-03-24 21:14阅读:105来源:国知局
一种资源调度方法、设备、系统及存储介质与流程

本申请涉及数据处理技术领域,尤其涉及一种资源调度方法、设备、系统及存储介质。



背景技术:

在一些业务场景中可能涉及用户的隐私数据,有必要保证用户数据的安全性。基于用户数据的隐私性,相关数据服务的提供商需要为用户的数据服务请求提供独立的资源,这导致针每个用户的数据服务都需要资源独占,而数据服务通常需要损耗大量资源,这影响了数据服务提供商的资源利用率。



技术实现要素:

本申请的多个方面提供一种资源调度方法、设备、系统及存储介质,用以解决现有的数据服务需要资源独占的技术问题。

本申请实施例提供一种资源调度系统,包括:管控平台和容器调度中心;

所述管控平台,用于接收用户的服务请求,为所述服务请求生成资源调度命令并发送给所述容器调度中心,所述资源调度命令包括所述服务请求对应的资源需求;

所述容器调度中心,用于接收所述资源调度命令,并基于当前可调配的资源为所述服务请求动态获取满足所述资源需求的目标容器,以利用部署于所述目标容器中的服务引擎为所述服务请求提供数据服务。

本申请实施例还提供一种资源调度方法,包括:

接收用户的服务请求,为所述服务请求生成资源调度命令;

将所述资源调度命令发送至容器调度中心,以供所述容器调度中心基于当前可调配的资源为所述服务请求动态获取满足所述资源需求的目标容器,以利用部署于所述目标容器中的服务引擎为所述服务请求提供数据服务;

其中,所述资源调度命令包括所述服务请求对应的资源需求。

本申请实施例还提供一种资源调度方法,包括:

接收管控平台发送的资源调度命令,所述资源调度命令包括用户的服务请求对应的资源需求;

基于当前可调配的资源为所述服务请求动态获取满足所述资源需求的目标容器,以利用部署于所述目标容器中的服务引擎为所述服务请求提供数据服务。

本申请实施例还提供一种资源调度方法,包括:

记录容器调度中心分配给用户的服务请求的目标容器的规格信息;

监控资源使用情况,并在可调配资源满足预设要求时,根据所记录的分配给所述服务请求的目标容器的规格信息,重新为所述服务请求获取满足所述资源需求的目标容器,以利用部署于所述目标容器中的服务引擎重启所述服务请求对应的数据服务。

本申请实施例还提供一种管控设备,包括存储器、处理器和通信组件;

所述存储器,用于存储一条或多条计算机指令;

所述处理器,与所述存储器和所述通信组件耦接,用于执行一条或多条计算机指令,以用于:

通过所述通信组件接收用户的服务请求,为所述服务请求生成资源调度命令;

通过所述通信组件将所述资源调度命令发送至容器调度中心,以供所述容器调度中心基于当前可调配的资源为所述服务请求动态获取满足所述资源需求的目标容器,以利用部署于所述目标容器中的服务引擎为所述服务请求提供数据服务;

其中,所述资源调度命令包括所述服务请求对应的资源需求。

本申请实施例还提供一种容器调度设备,包括存储器、处理器和通信组件;

所述存储器,用于存储一条或多条计算机指令;

所述处理器,与所述存储器和所述通信组件耦接,用于执行一条或多条计算机指令,以用于:

通过所述通信组件接收管控平台发送的资源调度命令,所述资源调度命令包括用户的服务请求对应的资源需求;

基于当前可调配的资源为所述服务请求动态获取满足所述资源需求的目标容器,以利用部署于所述目标容器中的服务引擎为所述服务请求提供数据服务。

本申请实施例还提供一种容器管理服务器,包括存储器、处理器和通信组件;

所述存储器,用于存储一条或多条计算机指令;

所述处理器,与所述存储器和所述通信组件耦接,用于执行一条或多条计算机指令,以用于:

记录容器调度中心分配给用户的服务请求的目标容器的规格信息;

监控资源使用情况,并在可调配资源满足预设要求时,根据所记录的分配给所述服务请求的目标容器的规格信息,重新为所述服务请求获取满足所述资源需求的目标容器,以利用部署于所述目标容器中的服务引擎重启所述服务请求对应的数据服务。

本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行前述由管控设备执行的资源调度方法。

本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行由前述的容器调度设备执行的资源调度方法。

本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行由前述的容器管理服务器执行的资源调度方法。

在本申请实施例中,以容器的方式管理用于提供数据服务的资源。针对用户的服务请求,容器调度中心可根据所述服务请求对应的资源需求,基于当前可调配的资源为所述服务请求动态获取满足所述资源需求的目标容器,因此,可实现根据服务请求的资源需求的变化而动态调配用于提供数据服务的资源,避免了资源独占。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请一实施例提供的一种资源调度系统的结构示意图;

图2为本申请一实施例提供的另一种资源调度系统的结构示意图;

图3为本申请另一实施例提供的一种资源调度方法的流程示意图;

图4为本申请又一实施例提供的一种资源调度方法的流程示意图;

图5为本申请又一实施例提供的一种资源调度方法的流程示意图;

图6为本申请又一实施例提供的一种管控设备的结构示意图;

图7为本申请又一实施例提供的一种容器调度设备的结构示意图;

图8为本申请又一实施例提供的一种容器管理服务器的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

现有技术中,基于用户数据的隐私性,相关数据服务的提供商需要为用户的数据服务请求提供独立的资源,这导致针每个用户的数据服务都需要资源独占,而数据服务通常需要损耗大量资源,这影响了数据服务提供商的资源利用率。针对现有技术存在的问题,在本申请的一些实施例中:以容器的方式管理用于提供数据服务的资源。针对用户的服务请求,容器调度中心可根据所述服务请求对应的资源需求,基于当前可调配的资源为所述服务请求动态获取满足所述资源需求的目标容器,因此,可实现根据服务请求的资源需求的变化而动态调配用于提供数据服务的资源,避免了资源独占。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本申请一示例性实施例提供的一种资源调度系统的结构示意图。如图1所示,该资源调度系统包括:管控平台10和容器调度中心20。

管控平台10,用于接收用户的服务请求,为服务请求生成资源调度命令并发送给容器调度中心20,资源调度命令包括服务请求对应的资源需求;

容器调度中心20,用于接收资源调度命令,并基于当前可调配的资源为服务请求动态获取满足资源需求的目标容器60,以利用部署于目标容器60中的服务引擎50为服务请求提供数据服务。

本实施例提供的资源调度系统,适应于各种数据服务场景,例如,数据发现场景、数据一致性检测场景等等,本实施例对此不作限定。本实施例尤其适应于资源使用量大和/或资源独占时间长的数据服务场景,可有效改善资源独占问题,并提高资源利用率。

本实施例提供的资源调度系统,可应用于各种业务架构中,例如oss平台、odps平台或rds平台等。用户的用户数据可存储在oss平台、odps平台或rds平台中,本实施例中,可通过动态获取的目标容器中的服务引擎为存储在各种平台中的用户数据提供数据服务。

其中,本实施例中的用户是指数据服务的使用方,也即是向数据服务的提供商请求数据服务的公司或个人等。本实施例中,用户可向数据服务的提供商提交数据服务开通申请,在数据服务的提供商为用户配置数据服务使用权限后,用户可向管控平台10发送服务请求。用户的服务请求中可携带用户的身份标识、所请求的服务类型等信息,以供管控平台10识别用户的请求意图。

管控平台10可在接收到用户的服务请求后,确定该服务请求对应的资源需求,并根据资源需求为该服务请求生成资源调度命令。其中,本实施例中的资源是指cpu资源、网络资源等支持数据服务的资源,对应地,资源需求是指处理该服务请求所需的cpu使用量、网络带宽量等等资源规格。管控平台10在生成资源调度命令之后,可将该资源调度命令下发至容器调度中心20。

对容器调度中心20来说,当接收到资源调度命令时,可解析出该资源调度命令中携带到服务请求对应的资源需求。容器调度中心20以容器的方式对资源进行管理,基于此,容器调度中心20可根据资源需求,基于当前可调配的资源为该服务请求动态获取满足资源需求的目标容器60。其中,根据资源需求的不同,以及容器规格的不同,目标容器60可以是一个或多个。例如,当用户的用户数据的数据量比较大时,其对应的资源需求也较大,容器调度中心20可为该用户的服务请求调配多个目标容器60,以满足该服务请求的资源需求。

本实施例中,当用户的资源需求发生变化时,容器调度中心20可动态调配其所管理的资源。例如,当用户的用户数据减少时,容器调度中心20可动态减少该用户的服务请求对应的容器的个数,被腾出的容器所对应的资源将不再处理该用户的服务请求,也即不再被该用户独占。又例如,当用户的服务请求暂停时,容器调度中心20可释放该服务请求对应的所有容器60,这些容器对应的资源可作为可调配的资源而被用于其它数据服务。

其中,当前可调配的资源是指当前未被占用的资源,当前可调配的资源可以是未被圈定在任意容器中的资源,也可以是被圈定在容器中但其所在的容器未被占用的资源,本实施例对此不做限定。

本实施例中,每个容器60中部署一服务引擎50,服务引擎50用于提供数据服务。当容器调度中心20确定出用户的服务请求对应的目标容器60时,目标容器60中的服务引擎50将为该服务请求提供数据服务。

本实施例中,为保证用户数据的安全性,容器调度中心20在进行容器调度时,将单个用户的服务请求调度至整数个容器60上,也即是,不同用户的服务请求不会被同一容器60处理,这实现了不同用户之间的用户数据隔离,可有效保证用户数据的安全性和隐私性。

本实施例中,以容器的方式管理用于提供数据服务的资源。针对用户的服务请求,容器调度中心可根据服务请求对应的资源需求,基于当前可调配的资源为服务请求动态获取满足资源需求的目标容器,因此,可实现根据服务请求的资源需求的变化而动态调配用于提供数据服务的资源,避免了资源独占。

在上述或下述实施例中,容器调度中心20可对其管理的资源执行容器创建、容器释放、容器调配等操作。容器调度中心20至少可采用以下两种实现方式实现目标容器60的动态获取。

在一种实现方式中,容器调度中心20可从已在当前可调配的资源上创建出的容器60中,为服务请求选择满足资源需求的目标容器60。

本实现方式中,容器调度中心20可基于其管理的资源预先创建若干容器60,在接收到资源调度命令时,容器调度中心20可从若干容器60中当前未被占用的一类容器60中选择满足资源需求的目标容器60。例如,容器调度中心20可基于其管理的资源预先创建100个容器,在接收到资源调度命令时,当前已有30个容器被占用,容器调度中心20可从剩余的70个容器中为当前用户的服务请求选择目标容器60。根据资源调度命令中携带的资源需求,容器调度中心20可从剩余的70个容器中选中3个目标容器60,3个目标容器60中部署的服务引擎50可为该服务请求提供数据服务。

在另一种实现方式中,容器调度中心20可在当前可调配的资源上为服务请求创建满足资源需求的目标容器60,并在所创建的目标容器60中部署服务引擎50。

本实现方式中,容器调度中心20可在接收到资源调度命令时,根据资源调度命令中携带的资源需求,创建至少一个目标容器60,并在各目标容器60中分别部署服务引擎50。容器调度中心20可根据当前用户的服务请求对应的资源需求,确定当前服务请求所需的目标容器60的规格信息,并根据目标容器60的规格信息,创建目标容器60。例如,当前用户的服务请求所请求处理的用户数据量为2t,容器调度中心20可根据这些用户数据的资源需求,确定出当前的服务请求需要的目标容器60个数为2个,每个目标容器60需要具备能够处理1t数据量的规格,据此,容器调度中心20可为当前的服务请求创建2个能够分别处理1t数据量的目标容器60。

本实施例中,容器调度中心20所管理的多个容器60的规格可不完全相同,也即是,各容器60的规格可弹性配置。据此,当用户的服务请求对应的目标容器60为多个时,多个目标容器60的规格可不完全相同。这有效提高了容器管理的灵活性,使得容器调度中心20可按照服务请求的实际资源需求进行资源调配,避免资源闲置。

图2为本申请一实施例提供的另一种资源调度系统的结构示意图。如图2所示,资源调度系统中的容器调度中心20的数量可以是多个,每个容器调度中心20以容器60的方式对一个地理区域中的资源进行管理。例如,图2中的最左侧的容器调度中心20用于管理a城市的整体资源,容器调度中心20可针对a城市中的资源进行容器60的创建、释放、调度等操作。

考虑到用户数据的分布地理区域众多,本实施例中,提出了按照地理区域为用户数据就近提供资源以实现数据服务的优化方案。管控平台10可根据服务请求确定用户数据的分布地理区域,将资源调度命令分别发送给与用户数据的分布地理区域对应的容器调度中心20。

其中,用户数据可能的分布地理区域可以有多个,例如,用户a的一部分用户数据存储在a城市的oss存储空间中,还有一部分用户数据存储在b城市的oss存储空间中,还有一部分用户数据存储在广州地区的oss存储空间中。这样,管控平台10可针对不同分布地理区域的用户数据,将资源调度命令下发到就近的容器调度中心20。例如,针对用户的存储在a城市的用户数据,管控平台10可将资源调度命令下发至用于管理a城市的资源的容器调度中心20。据此,用于管理a城市的资源的容器调度中心20可将a城市的资源就近调度给该用户的服务请求,以使用a城市的资源对用户存储在a城市的用户数据提供数据服务,以实现就近处理用户的服务请求。

本实施例中,为了获取用户数据的分布地理区域,管控平台10可根据用户的服务请求,向数据授权中心发送针对用户数据的访问请求;在获取到授权密钥后,读取用户数据对应的属性信息;从用户数据对应的属性信息中,获取用户数据的分布地理区域。

考虑到用户数据的安全性,管控平台10需要获取对用户数据的访问授权后进行用户数据的访问。在一个实际应用中,为了避免用户的用户身份信息的泄露,管控平台10可向数据授权中心申请临时访问权限,如果申请成功,管控平台10可获取到用于访问用户数据的临时id、临时密码和安全令牌等信息作为授权密钥,管控平台10通过授权密钥可临时访问用户数据,管控平台10可读取用户数据对应的属性信息,并从中获取到用户数据的分布地理位置。其中,用户数据对应的属性信息是指用于描述用户数据的属性的信息,通常存储在用户数据所在的存储空间中。例如,属性可包括用户数据的数据量、分布地理区域、所在的存储空间名称等等,本实施例对此不作限定。

本实施例中,根据用户数据的分布地理区域,将资源调度命令调配到就近的容器调度中心20,通过这种方式,从地理区域的维度进行了资源调配,为用户的服务请求提供就近的资源,从而可有效提高数据服务的速度。

在上述或下述实施例中,如图2所示,资源调配系统还可包括容器管理服务器30,每个容器管理服务器30部署在一地理区域中,用于管理其对应的地理区域中的若干资源服务器40,若干资源服务器40用于为数据服务提供资源。

本实施例中,考虑到数据服务的执行频率可能不是全时域的,提出了分时提供数据服务以及在数据服务暂停期间自动回收资源的优化方案。例如,对于数据发现服务,由于用户数据的变化频率较小,因此,可在一次数据发现服务完成后间隔一预设时长再执行下一次数据发现服务,而在两次数据发现服务的间隔期间,数据发现服务所占据的资源处于闲置状态。本实施例中,可通过资源分时使用实现闲置资源的重复利用。

管控平台10可根据不同场景下的服务需求,设定针对服务请求提供数据服务的分时间隔。管控平台10可按照预设的分时间隔,定时重启数据服务。管控平台10可将重启数据服务作为一新的服务请求,重新执行资源调度操作。管控平台10可为这一新的服务请求生成资源调度命令,并下发至容器调度中心20,容器调度中心20可根据资源调度命令为服务请求重新动态获取目标容器60。

多次重启数据服务导致了用户的服务请求的资源需求的变化,在服务请求暂停期间,服务请求的资源需求变为“无”,因此,容器调度中心20可在服务请求的暂停期间解除服务请求对目标容器60的占用,而将目标容器60对应的资源另作他用,这避免了资源闲置,可有效提高资源利用率。

由于数据服务具有持续性,因此,服务请求被重启的次数可能比较多,这可能增加管控平台10和容器调度中心20的工作压力。考虑到这一点,本实施例中,可通过容器管理服务器30记录所述容器调度中心分配给所述服务请求的目标容器的规格信息;监控其所在地理区域中的资源使用情况,并在其所在地理区域中的可调配资源满足预设要求时,根据所记录的分配给所述服务请求的目标容器的规格信息,重新为所述服务请求获取满足所述资源需求的目标容器,以利用部署于所述目标容器中的服务引擎重启所述服务请求对应的数据服务。

容器调度中心20分配给服务请求的目标容器的规格信息是根据其资源需求而确定的,因此,容器管理服务器30可根据服务请求所需的目标容器的规格信息的历史记录,为该服务请求重新获取满足其资源需求的目标容器60。其中,容器管理服务器30可获取其所在地理区域中的各容器60的规格信息,并在其所在地理区域中的可调配资源比较多时,重启针对服务请求的数据服务,并重新获取服务请求对应的目标容器60。

其中,容器管理服务器30至少可采用以下两种实现方式,重新为服务请求获取满足资源需求的目标容器60。

在一种实现方式中,容器管理服务器30可在地理区域的已有容器60中,根据所记录的目标容器60的规格信息重新选择相应规格的容器60。

本实现方式中,容器管理服务器30所在的地理区域中预先创建有若干容器60,这些容器60可以是由容器调度中心20预先创建的,这些容器60的规格可以相同,也可以不完全相同。当这些容器60的规格相同时,容器管理服务器30可记录其所在地理区域的服务请求所需的目标容器60的个数,并在服务请求重启时,根据记录的该服务请求所需的目标容器60的个数,重新选择相应数量的目标容器60来执行数据服务。当这些容器60的规格不完全相同时,容器管理服务器30可记录其所在地理区域的服务请求所需的目标容器60的总规格以及其所管理的各容器60各自的规格,并据此选择符合重启的服务请求的目标容器60的总规格要求的一个或多个容器60来执行数据服务。当然,容器管理服务器30还可采用其它方式选择目标容器60,例如,可以是随机或者是按照处理能力大小等顺序,本实施例对此不作限定。

在另一种实现方式中,容器管理服务器30可在地理区域中的可调配资源中,根据所记录的目标容器60的规格信息重新创建相应规格的容器60。

本实现方式中,容器管理服务器30可根据其所在地理区域中各服务请求所需的目标容器60的规格信息,创建至少一个目标容器60,并在各目标容器60中分别部署服务引擎50。例如,容器管理服务器30中记录有,当前重启的服务请求对应的目标容器60的规格信息为需要具备能够处理2t数据量的规格,据此,容器管理服务器30可为当前重启的服务请求创建2个能够分别处理1t数据量的目标容器60,当然,容器管理服务器30还可创建其它数量、其它规格的目标容器60,本实施例对此不作限定。

本实施例中,在通过管控平台10完成地理区域维度的资源调配,以及通过容器调度中心20完成地理区域内容器60维度的资源调配后,可由容器管理服务器30存储资源调配的配置记录。在数据服务重启时,无需重复管控平台10及容器调度中心20所执行的调度过程,容器管理服务器30可根据资源调配的历史记录,基于其管理的地理区域内的容器60,进行资源的灵活控制。有效缓解了管控平台10和容器管理中心的工作压力。

在上述或下述实施例中,容器调度中心20在进行容器60维度的资源调配时,若目标容器60为多个,则可根据每个目标容器60的规格,确定每个目标容器60所处理的最大数据量;并根据每个目标容器60所处理的最大数据量、用户数据包含的数据单元的个数及每个数据单元的数据量,确定每个目标容器60所服务的至少一个数据单元。

本实施例中,容器调度中心20在根据资源调配命令中携带的资源需求获取到目标容器60后,若目标容器60的数量为多个,则可确定每个目标容器60所处理的用户数据情况。其中,本实施例中,用户数据可包括至少一个数据单元,根据用户数据在不同类型存储空间中的存储形式,数据单元的单位可能有所不同。例如,在oss存储空间中,用户数据是以bucket(桶)为单位进行存储,则用户数据可包含至少一个bucket,而每个bucket的数据量可能不完全相同。

容器调度中心20可根据目标容器60的规格,确定目标容器60所能处理的最大数据量。例如,根据目标容器60a中的cpu资源及网络资源等的规格,可确定目标容器60a所能处理的最大数据量为2g。容器调度中心20还可根据目标容器60所处理的最大数据量、用户数据包含的数据单元的个数及每个数据单元的数据量,确定目标容器60所服务的至少一个数据单元。承接上例,当用户的用户数据总量为2t,其中8g的用户数据存储在a城市的oss存储空间中,8g数据包含三个bucket,第一个bucket的数据量为4g,第二个bucket的数据量为3g,第三个bucket的数据量为1g,则管理a城市资源的容器调度中心20为用户的这8g数据调配两个分别能处理4g数据量的容器60。而且,容器调度中心20可将第一个bucket调度至一个容器60中,将第二个和第三个bucket调度至另一个容器60中。

当然,这只是示例性的,容器调度中心20还可为用户数据调配两个分别能处理7g数据量和1g数据量的容器60,并将第一个和第二个bucket调配至能处理7g数据量的容器60中,将第三个bucket调配置能处理1g数据量的容器60中。本实施例对容器调度中心20的所调配的目标容器60的规格,目标容器60与数据单元配对方式等均不作限定。

值得说明的是,为保证数据的连续性,本实施例中,容器调度中心20在进行服务请求的分配时,每个目标容器60所处理的服务请求对应的数据单元的个数为整数个。

本实施例中,基于用户数据包含的各数据单元的数据量,容器调度中心20可将针对用户数据包含的各数据单元的服务请求分配至各目标容器60中,提高了目标容器60的满载率,在保证能够满足数据服务的资源需求前提下,进一步精简了每个用户所占用的资源,因此,可进一步提高资源利用率。

基于目标容器60所服务的至少一个数据单元,目标容器60中的服务引擎50可创建至少一个线程,并配置每个线程所处理的数据量;根据每个线程所处理的数据量,将目标容器60所服务的至少一个数据单元分配至各线程,以通过各线程为至少一个数据单元提供服务。

例如,目标容器60用于处理用户a的一个bucket,该bucket中包含3000个数据段,服务引擎50可在主线程中配置每个线程多处理的数据段的个数,如,每个线程处理1000个数据段,则服务引擎50可创建3个线程,每个线程用于处理该bucket中的1000个数据段。

本实施例中,在容器60内部,由服务引擎50对运行在容器60中的线程进行平行调配,实现了容器60内的线程维度的资源调配,进一步优化了容器60内的资源使用效率。

在上述或下述实施例中,为了保证用户数据的安全性,在完成资源调配后,目标容器60中的服务引擎50可基于用户的用户标识,向管控平台10发送针对用户的用户数据的访问请求;在接收管控平台10返回的授权密钥后,根据授权密钥访问用户数据。

本实施例中,管控平台10在接收到目标容器60中的服务引擎50发送的针对用户的用户数据的访问请求时,可向授权中心请求用户的授权密钥,并将授权密钥返回给服务引擎50。

在一个实际应用中,服务引擎50可根据用户的服务请求向管控平台10申请临时访问用户数据,管控平台10可向数据授权中心申请临时访问权限,如果申请成功,管控平台10可获取到用于访问用户数据的临时id、临时密码和安全令牌等信息作为授权密钥,并将授权密钥返回给服务引擎50。服务引擎50可以临时id、临时密码和安全令牌等信息作为授权密钥向用户数据的存储空间发起数据访问,从而成功执行数据服务。

本实施例中,通过临时授权的方式,为服务引擎50分配临时身份,避免了用户的真实身份信息的泄露,且服务引擎50在获得临时授权后才能成功访问用户数据,保证了用户数据的安全性。

在上述或下述实施例中,容器调度中心20可在目标容器60上的数据服务结束后,释放目标容器60,以在目标容器60释放出的资源上重新创建新的容器60。

本实施例中,目标容器60上的数据服务结束后,该目标容器60多对应的资源将处于闲置状态,容器调度中心20可释放该目标容器60,以回收该目标容器60释放出的资源,该目标容器60释放出的资源将作为可调配资源用于容器管理中心后续的资源调配,其中,该目标容器60释放出的资源可被用于创建新的容器60,这样,目标容器60释放出的资源可被回收,并可能被其它服务请求所使用。

据此,容器管理中心可实现对可服务资源的自动回收,有效避免资源闲置,节省资源占用,提高资源的利用率。

在上述或下述实施例中,还可通过容器调度中心20解决主备、容灾等稳定性问题。容器调度中心20可在其对应的地理区域的可调配资源无法满足分布在其对应的地理区域的用户数据的资源需求时,将资源调度命令转发至其它地理区域对应的容器调度中心20。

本实施例中,容器调度中心20在接收到资源调配命令后,可检查其所管理的地理区域中资源的可调配情况,当其管理的可调配资源无法满足服务请求的资源需求时,容器调度中心20可将针对该服务请求的资源调度命令转发至其它地理区域对应的容器调度中心20。例如,用户a的一部分用户数据存储在a城市的oss存储空间中,由于容灾问题,a城市的可调配资源已经无法满足用户a的服务请求,管理a城市资源的容器调度中心20可将资源调度命令转发至管理b城市资源的容器调度中心20,由该容器调度中心20从b城市的可调配资源中为用户a的服务请求调配资源。

因此,本实施例中,可通过资源调配命令的转发,解决主备、容灾等稳定性问题。

在上述或下述实施例中,容器60调配中心还可监控目标容器60的运行状态,当出现异常的容器60时,释放异常的容器60;创建一新的容器60替代异常的容器60。

本实施例中,容器60调配中心在为用户的服务请求获取目标容器60后,还可持续监控目标容器60的运行状态,当目标容器60发生容灾等异常情况时,容器调度中心20可释放异常的容器60,异常的容器60释放出的资源可另作他用。容器调度中心20还可创建新的容器60来替代异常的容器60,以保证数据服务的正常执行。

其中,本实施例并不限定上述释放异常的容器60和创建新的容器60的过程的先后顺序,实际应用中,这两个过程的速度很快,由于执行顺序导致的差异可忽略不计。

本实施例中,容器60调配中心可及时发现目标容器60的异常运行状态,并可及时创建新的容器60来替代异常的容器60,从而保证了数据服务的稳定性。

图3为本申请另一实施例提供的一种资源调度方法的流程示意图。如图3所示,该方法包括:

300、接收用户的服务请求,为服务请求生成资源调度命令;

301、将资源调度命令发送至容器调度中心,以供容器调度中心基于当前可调配的资源为服务请求动态获取满足资源需求的目标容器,以利用部署于目标容器中的服务引擎为服务请求提供数据服务;

其中,资源调度命令包括服务请求对应的资源需求。

本实施例提供的资源调度方法,适用于资源调度系统中的管控平台。

在本实施例中,以容器的方式管理用于提供数据服务的资源。针对用户的服务请求,容器调度中心可根据服务请求对应的资源需求,基于当前可调配的资源为服务请求动态获取满足资源需求的目标容器,因此,可实现根据服务请求的资源需求的变化而动态调配用于提供数据服务的资源,避免了资源独占。

在一可选实施例中,步骤301还包括:

根据服务请求确定用户数据的分布地理区域,将资源调度命令分别发送给与用户数据的分布地理区域对应的容器调度中心。

在一可选实施例中,步骤根据服务请求确定用户数据的分布地理区域,包括:

根据服务请求,向数据授权中心发送针对用户数据的访问请求;

在获取到授权密钥后,读取用户数据对应的属性信息;

从用户数据对应的属性信息中,获取用户数据的分布地理区域。

在一可选实施例中,该方法,还包括:

接收目标容器中的服务引擎发送的针对用户的用户数据的访问请求;

向授权中心请求用户的授权密钥,并将授权密钥返回给服务引擎。

图4为本申请又一实施例提供的一种资源调配方法的流程示意图。如图4所示,该方法包括:

400、接收管控平台发送的资源调度命令,资源调度命令包括用户的服务请求对应的资源需求;

401、基于当前可调配的资源为服务请求动态获取满足资源需求的目标容器,以利用部署于目标容器中的服务引擎为服务请求提供数据服务。

本实施例提供的资源调度方法,适用于资源调度系统中的容器调度中心。

在本实施例中,以容器的方式管理用于提供数据服务的资源。针对用户的服务请求,容器调度中心可根据服务请求对应的资源需求,基于当前可调配的资源为服务请求动态获取满足资源需求的目标容器,因此,可实现根据服务请求的资源需求的变化而动态调配用于提供数据服务的资源,避免了资源独占。

在一可选实施例中,容器调度中心的数量为多个,每个容器调度中心以容器的方式对一个地理区域中的资源进行管理。

在一可选实施例中,步骤401包括:

从已在当前可调配的资源上创建出的容器中,为服务请求选择满足资源需求的目标容器;或者

在当前可调配的资源上为服务请求创建满足资源需求的目标容器,并在所创建的目标容器中部署服务引擎。

在一可选实施例中,该方法还包括:

在数据服务结束后,释放目标容器,以在目标容器释放出的资源上重新创建新的容器。

在一可选实施例中,该方法还包括:

当当前地理区域的可调配资源无法满足分布用户数据的资源需求时,将资源调度命令转发至其它地理区域对应的容器调度中心。

在一可选实施例中,该方法还包括:

当目标容器为多个时,根据每个目标容器的规格,确定每个目标容器所处理的最大数据量;

根据每个目标容器所处理的最大数据量、用户数据包含的数据单元的个数及每个数据单元的数据量,确定每个目标容器所服务的至少一个数据单元。

在一可选实施例中,该方法还包括:

监控目标容器的运行状态,当出现异常的容器时,释放异常的容器;

创建一新的容器替代异常的容器。

图5为本申请又一实施例提供的一种资源调度方法的流程示意图。如图5所示,该方法包括:

500、记录容器调度中心分配给用户的服务请求的目标容器的规格信息;

501、监控资源使用情况,并在可调配资源满足预设要求时,根据所记录的分配给服务请求的目标容器的规格信息,重新为服务请求获取满足资源需求的目标容器,以利用部署于目标容器中的服务引擎重启服务请求对应的数据服务。

本实施例提供的资源调度方法适应于资源调度系统中的容器管理服务器。

在一可选实施例中,步骤501包括:

在已有容器中,根据所记录的目标容器的规格信息重新选择相应规格的容器;或者

在可调配资源中,根据所记录的目标容器的规格信息重新创建相应规格的容器。

图6为本申请又一实施例提供的一种管控设备的结构示意图。如图6所示,管控设备,包括存储器60、处理器61以及通信组件62。

处理器61,与存储器60耦合,用于执行存储器60中的计算机程序,以用于:

通过通信组件62接收用户的服务请求,为服务请求生成资源调度命令;

通过通信组件62将资源调度命令发送至容器调度中心,以供容器调度中心基于当前可调配的资源为服务请求动态获取满足资源需求的目标容器,以利用部署于目标容器中的服务引擎为服务请求提供数据服务;

其中,资源调度命令包括服务请求对应的资源需求。

在本实施例中,以容器的方式管理用于提供数据服务的资源。针对用户的服务请求,容器调度中心可根据服务请求对应的资源需求,基于当前可调配的资源为服务请求动态获取满足资源需求的目标容器,因此,可实现根据服务请求的资源需求的变化而动态调配用于提供数据服务的资源,避免了资源独占。

在一可选实施例中,处理器61在通过通信组件62将资源调度命令发送至容器调度中心时,用于:

根据服务请求确定用户数据的分布地理区域,将资源调度命令分别发送给与用户数据的分布地理区域对应的容器调度中心。

在一可选实施例中,处理器61在根据服务请求确定用户数据的分布地理区域,用于:

根据服务请求,向数据授权中心发送针对用户数据的访问请求;

在获取到授权密钥后,读取用户数据对应的属性信息;

从用户数据对应的属性信息中,获取用户数据的分布地理区域。

在一可选实施例中,处理器61还用于:

接收目标容器中的服务引擎发送的针对用户的用户数据的访问请求;

向授权中心请求用户的授权密钥,并将授权密钥返回给服务引擎。

进一步,如图6所示,该数据处理装置还可包括:显示器63、电源组件64、音频组件65等其它组件。图6中仅示意性给出部分组件,并不意味着管控设备只包括图6所示组件。

相应地,本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行前述由管控设备执行的资源调度方法。

图7为本申请又一实施例提供的一种容器调度设备的结构示意图。如图7所示,容器调度设备包括:存储器70、处理器71和通信组件72;

存储器70,用于存储一条或多条计算机指令;

处理器71,与存储器70和通信组件72耦接,用于执行一条或多条计算机指令,以用于:

通过通信组件72接收管控平台发送的资源调度命令,资源调度命令包括用户的服务请求对应的资源需求;

基于当前可调配的资源为服务请求动态获取满足资源需求的目标容器,以利用部署于目标容器中的服务引擎为服务请求提供数据服务。

在本实施例中,以容器的方式管理用于提供数据服务的资源。针对用户的服务请求,容器调度中心可根据服务请求对应的资源需求,基于当前可调配的资源为服务请求动态获取满足资源需求的目标容器,因此,可实现根据服务请求的资源需求的变化而动态调配用于提供数据服务的资源,避免了资源独占。

在一可选实施例中,容器调度中心的数量为多个,每个容器调度中心以容器的方式对一个地理区域中的资源进行管理。

在一可选实施例中,处理器71在基于当前可调配的资源为服务请求动态获取满足资源需求的目标容器时,用于:

从已在当前可调配的资源上创建出的容器中,为服务请求选择满足资源需求的目标容器;或者

在当前可调配的资源上为服务请求创建满足资源需求的目标容器,并在所创建的目标容器中部署服务引擎。

在一可选实施例中,处理器71还用于:

在数据服务结束后,释放目标容器,以在目标容器释放出的资源上重新创建新的容器。

在一可选实施例中,处理器71还用于:

当当前地理区域的可调配资源无法满足分布用户数据的资源需求时,将资源调度命令转发至其它地理区域对应的容器调度中心。

在一可选实施例中,处理器71还用于:

当目标容器为多个时,根据每个目标容器的规格,确定每个目标容器所处理的最大数据量;

根据每个目标容器所处理的最大数据量、用户数据包含的数据单元的个数及每个数据单元的数据量,确定每个目标容器所服务的至少一个数据单元。

在一可选实施例中,处理器71还用于:

监控目标容器的运行状态,当出现异常的容器时,释放异常的容器;

创建一新的容器替代异常的容器。

进一步,如图7所示,该数据处理装置还可包括:显示器73、电源组件74、音频组件75等其它组件。图7中仅示意性给出部分组件,并不意味着容器调度设备只包括图7所示组件。

相应地,本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行前述由容器调度设备执行的资源调度方法。

图8为本申请又一实施例提供的一种容器管理服务器的结构示意图。如图8所示,容器管理服务器包括:存储器80、处理器81和通信组件82;

存储器80,用于存储一条或多条计算机指令;

处理器81,与存储器80和通信组件82耦接,用于执行一条或多条计算机指令,以用于:

记录容器调度中心分配给用户的服务请求的目标容器的规格信息;

监控资源使用情况,并在可调配资源满足预设要求时,根据所记录的分配给服务请求的目标容器的规格信息,重新为服务请求获取满足资源需求的目标容器,以利用部署于目标容器中的服务引擎重启服务请求对应的数据服务。

在一可选实施例中,处理器81在根据所记录服务请求对应的目标容器的规格信息,重新为服务请求获取满足规格信息的目标容器时,用于:

在已有容器中,根据所记录的目标容器的规格信息重新选择相应规格的容器;或者

在可调配资源中,根据所记录的目标容器的规格信息重新创建相应规格的容器。

进一步,如图8所示,该数据处理装置还可包括:电源组件83等其它组件。图中仅示意性给出部分组件,并不意味着容器管理服务器只包括图8所示组件。

相应地,本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行前述由容器管理服务器执行的资源调度方法。

其中,图6、7、8中的存储器,用于存储计算机程序,并可被配置为存储其它各种数据以支持在主节点上的操作。这些数据的示例包括用于在主节点操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

其中,图6、7、8中的通信组件,可被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

其中,图6和图7中的显示器,包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。

其中,图6、7、8中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。

其中,图6和图7中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(mic),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1