一种基于多租户服务的业务分组方法和装置与流程

文档序号:20081085发布日期:2020-03-10 10:39阅读:145来源:国知局
一种基于多租户服务的业务分组方法和装置与流程

本申请涉及计算机技术领域,尤其涉及一种基于多租户服务的业务分组方法和装置。



背景技术:

多租户是一种架构技术,可以实现在多用户环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。其中,每个用户可以被称为租户。随着多租户技术的发展,出现了越来越多的可以面向多租户的服务,例如分布式数据库、云计算平台等。

通常,针对多租户的服务而言,其可以向不同场景的业务提供服务。然而,在实际应用中,由于不同业务的业务需求不同,例如,不同业务对延时、用户访问错误率以及吞吐量等有不同需求,业务间的峰值峰谷时间也各不相同,导致不同业务之间会产生干扰,从而影响对业务的服务质量。



技术实现要素:

本申请实施例提供一种基于多租户服务的业务分组方法和装置,用于解决多租户的服务在向不同场景的业务提供服务时,由于不同业务的业务需求不同,导致不同业务之间会产生干扰,从而影响对业务的服务质量的问题。

为解决上述技术问题,本申请实施例是这样实现的:

第一方面,提出一种基于多租户服务的业务分组方法,包括:

确定第一业务的访问特征信息,所述第一业务属于一个租户;

根据所述访问特征信息,确定与所述第一业务匹配的第一分组,所述第一分组对应第一资源;

将所述第一业务分配到所述第一分组中,其中,包含所述第一业务在内的所述第一分组的访问指标以及资源利用率满足预设条件,所述预设条件用于表征所述第一分组对应的所述第一资源满足所述第一业务的业务需求。

第二方面,提出一种基于多租户服务的业务分组装置,包括:

第一确定单元,确定第一业务的访问特征信息,所述第一业务属于一个租户;

第二确定单元,根据所述访问特征信息,确定与所述第一业务匹配的第一分组,所述第一分组对应第一资源;

分配单元,将所述第一业务分配到所述第一分组中,其中,包含所述第一业务在内的所述第一分组的访问指标以及资源利用率满足预设条件,所述预设条件用于表征所述第一分组对应的所述第一资源满足所述第一业务的业务需求。

第三方面,提出一种电子设备,该电子设备包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:

确定第一业务的访问特征信息,所述第一业务属于一个租户;

根据所述访问特征信息,确定与所述第一业务匹配的第一分组,所述第一分组对应第一资源;

将所述第一业务分配到所述第一分组中,其中,包含所述第一业务在内的所述第一分组的访问指标以及资源利用率满足预设条件,所述预设条件用于表征所述第一分组对应的所述第一资源满足所述第一业务的业务需求。

第四方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:

确定第一业务的访问特征信息,所述第一业务属于一个租户;

根据所述访问特征信息,确定与所述第一业务匹配的第一分组,所述第一分组对应第一资源;

将所述第一业务分配到所述第一分组中,其中,包含所述第一业务在内的所述第一分组的访问指标以及资源利用率满足预设条件,所述预设条件用于表征所述第一分组对应的所述第一资源满足所述第一业务的业务需求。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

本申请实施例提供的技术方案,在为业务提供服务时,通过确定业务的访问特征信息,可以智能地将业务分配到匹配的分组中,进而由匹配的分组对应的资源为业务提供服务。这样,通过将业务进行智能分组,可以避免不同分组之间业务的干扰;在同一分组内,由于分组的访问指标和资源利用率可以满足业务的业务需求,因此,可以保证为业务提供稳定的服务,从而提升对业务的服务质量。本申请实施例的整个过程自动化,可以保证对业务进行分组的高效性和实时性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请的一个实施例基于多租户服务的业务分组方法的流程示意图;

图2是本申请的一个实施例基于多租户服务的业务分组方法的流程示意图;

图3是本申请的一个实施例电子设备的结构示意图;

图4是本申请的一个实施例基于多租户服务的业务分组装置的结构示意图。

具体实施方式

现有的多租户服务中,sla(service-levelagreement,服务等级协议)定义了业务的访问错误率、延时等指标,可以用来衡量对业务的服务质量。多租户服务在向不同场景的业务提供服务时,需要保证业务具有稳定的sla。

然而,在实际应用中,由于不同业务的业务需求不同,导致不同业务之间会产生干扰,从而影响sla,降低对业务的服务质量。例如,在某一时间段内,同一资源可能会为两个或多个业务同时提供服务,这样,由于不同业务之间同时使用相同的资源,因此,不同业务之间会产生干扰,从而影响业务的sla,降低对业务的服务质量。

为了避免不同业务之间的干扰,现有技术中通常可以将每个业务单独隔离或对多个业务进行人工分组。其中:

将每个业务单独隔离,即同一资源只服务于一个业务,可以避免同一资源同时为不同业务提供服务,业务之间的干扰可以降到最低。但是,这种方法相当于单租户模式,资源利用率较低,并且,当需要对业务的资源进行扩容时,扩容的过程比较复杂。

对多个业务进行人工分组,可以按照业务需求,将不同的业务分配到不同的分组,不同的分组对应不同的资源。人工分组的方法可以在一定程度上解决业务之间的干扰问题。但是,在实际应用中,人工分组的方法通常具有滞后性,且分组的灵活性较差,不能从根本上解决业务之间的干扰问题。

有鉴于此,本申请实施例提供一种基于多租户服务的业务分组方法和装置,该方法包括:确定第一业务的访问特征信息,所述第一业务属于一个租户;根据所述访问特征信息,确定与所述第一业务匹配的第一分组,所述第一分组对应第一资源;将所述第一业务分配到所述第一分组中,其中,包含所述第一业务在内的所述第一分组的访问指标以及资源利用率满足预设条件,所述预设条件用于表征所述第一分组对应的所述第一资源满足所述第一业务的业务需求。

本申请实施例提供的技术方案,至少能够达到以下有益效果:

(1)在为业务提供服务时,通过智能地将业务分配到匹配的分组,进而由该分组对应的资源为业务提供服务,可以避免不同分组之间业务的干扰;

(2)在同一分组内,由于分组的访问指标和资源利用率可以满足业务的业务需求,因此,可以保证为业务提供稳定的服务,从而提升对业务的服务质量;

(3)在将业务分配到匹配的分组后,还可以对分组内的资源使用率进行监控,当分组内的资源使用率较高时,可以对分组进行扩容或对业务重新分组,进而保证为业务提供稳定的服务;当分组内的资源使用率较低时,可以释放分组内的资源,进而保证分组内业务具有稳定的sla以及合理的资源使用率;

(4)可以对默认分组对应的资源的资源使用率进行监控,当资源使用率较高时,可以提前对默认分组的资源进行扩容,进而实现对多租户服务的扩容。这样,通过对多住服务进行扩容,可以便于为业务提供充足的资源,保证业务具有稳定的sla;

(5)多租户服务在确定业务的访问特征信息后,还可以向租户(即业务方)进行反馈,同时还可以提供对业务的改进建议等,以便用户可以对业务的需求进行调整,进而避免业务由于自身的热点导致sla受到影响;

(6)本申请实施例中,将业务分配到匹配的分组以及对分组内的资源使用率进行监控的整个过程是全自动的过程,具有实时分组以及对资源使用率的预见性,因此,相较于人工分组而言,更加高效实时,能够有效地解决业务之间的干扰问题。

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

本申请实施例中记载的多租户服务可以是分布式云服务,也可以是分布式数据库,其中,所述分布式数据库,具体可以是nosql(notonlysql(结构化查询语言,structuredquerylanguage))数据库,即非关系型数据库。为了便于理解,本申请实施例可以以多租户服务为分布式nosql数据库为例进行说明。

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

图1是本申请的一个实施例基于多租户服务的业务分组方法的流程示意图。本申请实施例以多租户服务为基于多租户的分布式数据库(以下简称数据库),并为一个第一业务进行分组为例说明,其中,所述第一业务属于一个租户(可以视为用户)。所述分组方法如下所述。

s102:确定第一业务的访问特征信息。

在s102中,数据库在确定用户的第一业务后,可以确定所述第一业务的访问特征信息。

所述访问特征信息可以表征所述第一业务的业务属性,所述访问特征信息可以用于确定与第一业务匹配的分组。

本申请实施例中,所述访问特征信息具体可以包括以下至少一种:所述第一业务的业务类型、所述第一业务所需的资源、查询率qps、延时、访问量、所述第一业务在各分区之间的访问性能是否稳定、峰值时间段;峰值持续时间;cpu使用率、内存使用率、磁盘使用率。

其中,所述第一业务的业务类型可以包括:离线业务,在线业务,离线和在线相结合的业务;所述第一业务所需的资源可以理解为能够为所述第一业务提供服务的最少资源;所述延时可以是所述第一业务在访问数据库时,单位时间内的延时,或设定时间段内的平均延时。

应理解,上述记载的访问特征信息仅仅是本申请实施例的优选实施例,在其他实现方式中,所述访问特征信息还可以包含其他信息,具体可以根据实际的第一业务确定,这里不再一一举例说明。

本申请实施例中,数据库在确定第一业务的访问特征信息时,可以通过以下至少一种方法确定得到:

第一种方法:利用默认分组对应的资源为所述第一业务提供服务;采集所述第一业务的访问数据,根据所述访问数据确定所述第一业务的访问特征信息。

第二种方法:确定由租户提供的所述第一业务的访问特征信息。

针对上述第一种方法:

数据库在接收到用户的第一业务后,在为第一业务提供服务时,可以利用数据库中默认分组对应的资源为第一业务提供服务。其中,所述默认分组可以理解为数据库中资源的初始分组,在没有业务被分组隔离前,数据库中的所有资源都可以属于默认分组,在业务被分组隔离后,数据库的资源中除去被分组隔离的资源外,其他资源都可以属于默认分组。在实际应用中,每一个基于多租户的数据库中均可以包含默认分组。

在使用默认分组对应的资源为第一业务提供服务的过程中,可以观测并采集第一业务的访问数据,所述访问数据可以理解为第一业务的详细访问信息,所述访问数据可以用于确定得到所述访问特征信息。

在采集第一业务的访问数据时,可以设定采集周期,所述采集周期可以是一天,也可以是一个星期等,具体可以根据实际情况确定,这里不做具体限定。所述访问数据可以是一个采集周期内的访问数据,也可以是多个采集周期对应的平均访问数据。

在采集得到访问数据后,可以对所述访问数据进行汇总分析等处理,最终可以确定得到所述访问特征信息。

本申请实施例中,根据访问数据确定得到的访问特征信息可以包括:第一业务的业务类型、第一业务所需的资源、查询率qps、延时、访问量、第一业务在各分区之间的访问性能是否稳定、峰值时间段、峰值持续时间、cpu使用率、内存使用率以及磁盘使用率中的至少一种。

针对上述第二种方法:

数据库可以提供用于与不同用户(即租户)进行交互的平台,该平台可以视为控制台。本申请实施例中,用户可以在控制台中创建第一业务的实例,在创建实例时,用户可以根据已知的第一业务的业务需求,通过控制台提供第一业务的访问特征信息。

本申请实施例中,用户提供的访问特征信息可以包括:第一业务的业务类型、第一业务所需的资源、访问量、峰值时间段以及峰值持续时间中的至少一种。

在实际应用中,可以基于上述任一种或两种方法确定得到所述访问特征信息,具体可以根据实际情况确定选择哪种方法,这里不做具体限定。

优选地,考虑到实际应用中,用户提供的访问特征信息有可能不准确,根据访问数据确定得到的访问特征信息也有可能不全面,因此,可以使用上述两种方法确定得到所述访问特征信息,即将根据访问数据确定得到的访问特征信息与用户提供的访问特征信息相结合得到最终的访问特征信息。这样,访问特征信息的准确度较高,在后续根据访问特征信息确定与第一业务匹配的分组时,可以提高匹配得到的分组的准确性。

在本申请的一个实施例中,如果通过上述记载的第一种方法确定第一业务的访问特征信息,那么,在确定访问特征信息后,还可以将访问特征信息通过上述记载的控制台反馈给用户,以便用户可以对第一业务的业务需求进行调整。

优选地,在向用户反馈访问特征信息之前,可以首先确定用户提供的访问特征信息是否与根据第一业务的访问数据确定得到的访问特征信息一致(因为用户提供的访问特征信息有可能是错误的)。

如果不一致,则可以向用户反馈访问特征信息,同时,还可以向用户反馈一些改进的建议等,以便用户可以根据反馈的访问特征信息以及改进建议对第一业务的业务需求进行调整。如果一致,则可以选择向用户反馈访问特征信息,也可以选择不向用户反馈访问特征信息。

例如,在根据第一业务的访问数据确定得到访问特征信息后,若根据访问特征信息发现第一业务存在访问热点,且热点的持续时间较长,与用户提供的访问特征信息不同,则可以向用户反馈根据访问数据确定得到的访问特征信息以及对第一业务的业务需求进行调整的建议,这样,用户可以基于反馈的建议对第一业务的业务需求进行调整,从而避免第一业务由于自身的热点影响业务的sla。

在s102中,在确定第一业务的访问特征信息后,可以执行s104。

s104:根据所述访问特征信息,确定与所述第一业务匹配的第一分组。

在s104中,在确定第一业务的访问特征信息后,可以确定与所述第一业务匹配的第一分组,所述第一分组可以对应数据库中的第一资源。其中,所述第一分组中的“第一”以及所述第一资源中的“第一”仅用于与其他分组和资源进行区分,没有其他特殊含义。

本申请实施例中,在确定与所述第一业务匹配的第一分组时,如果数据库中的资源没有被分组隔离(即初始状态的数据库,不包含被隔离的分组,数据库中的所有资源都属于默认分组),则确定与所述第一业务匹配的第一分组可以是,根据所述访问特征信息为所述第一业务创建一个分组,该分组可以对应数据库中的第一资源,所述第一资源可以为所述第一业务提供服务,该分组即为所述第一分组。

其中,在为第一业务创建分组时,可以从默认分组的资源中选择一部分资源作为一个分组,其中,在选择资源时,需要保证选择的资源可以满足第一业务的业务需求,使得第一业务可以具有稳定的sla,此外,还需要保证这部分资源在为第一业务提供服务时,资源的资源使用率不能过高,以保证该分组具有合理的资源使用率。

如果数据库中包含被隔离的至少一个分组,那么,确定与所述第一业务匹配的第一分组,可以包括:

将所述访问特征信息与已有分组的分组特征信息进行匹配;

若匹配成功,则将与所述访问特征信息匹配的分组特征信息对应的分组确定为所述第一分组。

具体地,在对数据库中的资源进行隔离并得到一个或多个分组后,可以对每个分组的资源使用情况进行分析确定每个分组的分组特征信息,所述分组特征信息可以与第一业务的访问特征信息相同,具体可以参见上述s102中对访问特征信息的描述,这里不再重复说明。

在确定每个分组的分组特征信息后,即为每个分组确定了对应的标签(tag)后,可以建立分组特征信息与分组之间的映射关系。

这样,在确定与第一业务匹配的第一分组时,可以将第一业务的访问特征信息与所述映射关系中的分组特征信息进行匹配,若匹配成功,则可以确定与第一业务的访问特征信息匹配的分组特征信息对应的分组,并将该分组确定为与第一业务匹配的第一分组。

例如,在根据第一业务的访问特征信息确定第一业务为低延时、访问热点较少的在线业务时,如果已有分组中存在分组特征信息为低延时、访问热点较少的在线业务的分组,则该分组可以视为与第一业务匹配的第一分组。

在将第一业务的访问特征信息与所述映射关系中的分组特征信息进行匹配时,若未匹配成功,则,可以说明已有的分组中不包含与第一业务匹配的分组,那么:

在一种实现方式中,可以根据第一业务的访问特征信息,为第一业务创建一个新的分组,该分组可以视为所述第一分组。其中,为第一业务创建分组的方法可以参见上述记载的当数据库未对资源进行分组时,为第一业务创建分组的方法。这里不再重复描述。

例如,在根据访问特征信息确定第一业务为低延时、访问热点较少的离线业务时,如果已有的分组的分组特征信息均对应在线业务,则可以基于第一业务的低延时、访问热点较少且为离线业务的业务特征,为第一业务创建一个新的分组,该新的分组即为与第一业务匹配的第一分组。

再例如,如果第一业务所需的资源比较多,不能与其他业务共享一个分组,那么,也可以为第一业务创建一个新的分组,以便将第一业务与其他业务进行隔离。其中,为第一业务创建的分组即为第一分组。

在另一种实现方式中,若未匹配成功,则可以由默认分组对应的资源为第一业务提供服务,即将默认分组作为第一分组。

在使用默认分组对应的资源为第一业务提供服务的过程中,可以重新确定第一业务的访问特征信息,并基于重新确定的访问特征信息,重新确定与第一业务匹配的第一分组。

在s104中,在确定与第一业务匹配的第一分组后,可以执行s106。

s106:将所述第一业务分配到所述第一分组中。

在s106中,在确定与第一业务匹配的第一分组后,可以将第一业务分配到所述第一分组中。以下以第一分组为已有分组为例进行说明。

本申请实施例中,在将第一业务分配到第一分组后,包含所述第一业务在内的第一分组的访问指标以及资源利用率能够满足预设条件。其中,所述访问指标可以是sla,即访问错误率以及延时等指标,所述资源利用率可以是第一分组为包含第一业务在内的多个业务提供服务时,第一分组对应的资源的使用率,所述预设条件可以用于表征所述第一分组对应的第一资源可以满足第一业务的业务需求。

所述访问指标满足预设条件可以是所述访问指标不大于设定指标,所述第一分组的资源利用率满足预设条件可以是所述第一分组的资源利用率不大于设定阈值,所述设定指标以及所述设定阈值可以根据实际情况确定,这里不做具体限定。

在将第一业务分配到第一分组后,第一分组可以通过负载均衡的方式使得第一分组的访问指标和资源使用率满足所述预设条件,从而避免分组内不同业务之间的干扰,保证每个业务具有稳定的sla。

在本申请的一个实施例中,为了保证包含所述第一业务在内的所述第一分组的资源使用率满足所述预设条件,在将所述第一业务分配到所述第一分组中时,还可以在所述第一分组中添加资源,添加的资源可以是第一业务所需的资源。这样,由于将第一业务分配到第一分组的同时,在第一分组中添加了第一分组所需的资源,因此,可以保证将第一业务分配到第一分组后,第一分组的资源使用率能够满足所述预设条件。其中,在所述第一分组中添加的资源,可以来自于默认分组。

基于本申请实施例提供的技术方案,通过智能地为业务进行分组,可以实现将具有相匹配的访问特征信息的业务分配到一个分组中,这样,可以避免分组内业务之间的干扰,同时也可以避免不同分组间业务的干扰。

需要说明的是,由于在线业务以及离线业务的业务需求相差较大,因此,为了避免分组内业务之间的干扰,在对业务进行分组时,需要避免在线业务以及离线业务共享一个分组。

例如,可以将访问相对平稳、热点较少的在线业务分配到一个分组,将业务峰值明显错开的离线业务分配到一个分组,将经常出现访问热点的业务单独分配一个分组。每个分组可以对应不同的资源,这样,由于为不同分组内的业务提供服务的资源不同,因此,可以避免不同分组间业务的干扰。

还需要说明的是,在将第一业务分配到第一分组后,第一分组的分组特征信息将会发生变化,此时,可以确定变化后的分组特征信息,以便后续为新的业务分配分组时,可以根据变化后的分组特征信息以及新业务的访问特征信息,进而确定与新业务匹配的分组。

在本申请的一个实施例中,在将第一业务分配到与其匹配的第一分组中后,所述方法还包括:

对所述第一分组的第一资源使用率进行监控;

当所述第一资源使用率大于第一预设阈值时,生成第一提示信息,以便根据所述第一提示信息对所述第一分组进行扩容;

当所述第一资源使用率小于第二预设阈值时,根据所述第一资源使用率释放所述第一分组中的设定资源。

具体地,在将第一业务分配到第一分组中后,可以对第一分组的资源使用率进行实时监控,以便实时确定第一分组为第一业务的服务情况。为了便于与其他分组的资源使用率进行区分,这里可以由第一资源使用率作为第一分组的资源使用率。

在监控得到第一分组的第一资源使用率后,可以判断第一资源使用率是否过高。具体地,可以将第一资源使用率与第一预设阈值进行比较,判断第一资源使用率是否大于第一预设阈值,若是,则可以说明第一分组内的资源使用率过高;若否,则可以确定第一资源使用率较为合理。

所述第一预设阈值可以根据实际的业务类型确定,例如,如果第一分组内的业务为离线业务,那么,由于离线业务在非计算期间的访问量较少,同时对延时不是特别敏感,比较看重吞吐量,因此,第一预设阈值可以高一些,比如可以在40%-60%之间;如果第一分组内的业务为在线业务,那么,由于在线业务对延时敏感,因此,第一预设阈值可以低一些,比如可以在20%-40%之间。当然,具体大小可以根据实际情况确定,这里不做具体限定。

在本申请的一个实施例中,当第一资源使用率过高时,可以生成第一提示信息,以便于可以根据第一提示信息对第一分组进行扩容,从而降低第一分组的资源使用率。

所述第一提示信息的方式可以是语音提示,也可以是文本提示等方式,这里也不做具体限定。

在本申请的另一个实施例中,当第一资源使用率过高时,可以包括:

重新确定所述第一业务的访问特征信息;

根据重新确定的所述访问特征信息,确定与所述第一业务匹配的第二分组,所述第二分组对应第二资源;

将所述第一业务分配到所述第二分组中,其中,包含所述第一业务在内的所述第二分组的访问指标以及资源利用率满足所述预设条件。

具体地,当第一资源使用率过高时,可以说明第一业务不适合分配到第一分组内,此时,可以将第一业务移出第一分组,并由默认分组为第一业务提供共服务。

在由默认分组为第一业务提供服务时,可以根据第一业务的访问数据重新确定第一业务的访问特征信息。在重新确定第一业务的访问特征信息后,可以基于该访问特征信息,按照上述记载的方法重新确定与第一业务匹配的分组,这里由第二分组表示为第一业务重新确定的分组。

所述第二分组可以对应第二资源,在确定第二分组后,可以将第一业务分配到第二分组中,并由第二分组对应的第二资源为第一业务提供服务。其中,在将第一业务分配到第二分组后,包含第一业务在内的第二分组的访问指标以及资源利用率可以满足预设条件,所述预设条件可以用于表征第二分组对应的第二资源满足第一业务的业务需求。

由此可见,在将第一业务分配到第一分组后,可以通过监控第一分组的第一资源使用率的方法确定对第一业务的服务情况,如果第一资源使用率过高,则可以选择为第一分组扩容,也可以选择为第一业务重新确定分配分组。这样,可以保证第一分组内为不同业务提供服务的资源互不冲突,并实时地为第一业务提供稳定的服务。

例如,当根据访问数据确定第一业务在第一分组内的访问热点比较多,或者与其他业务之间的资源存在冲突导致资源使用率过高时,可以为第一分组进行扩容,也可以认为第一业务不适合分配到第一分组,并重新为第一业务分配合适的分组。

本申请实施例中,在监控得到所述第一资源使用率后,还可以判断第一资源使用率是否过低。具体地,可以将第一资源使用率与第二预设阈值进行比较,判断第一资源使用率是否小于第二预设阈值,若是,则可以说明第一资源使用率过低,若否,则可以说明第一资源使用率较为合理。所述第二预设阈值小于所述第一设定阈值,具体可以根据实际情况确定。

在确定第一资源使用率过低时,为了提高资源使用率,可以选择释放第一分组中的设定资源。所述设定资源可以根据第一资源使用率确定,这里不做具体限定。在释放设定资源时,可以将设定资源释放到默认分组中。

在本申请实施例中,针对数据库中已有的分组,都可以按照上述记载的方法进行资源使用率的监控,一旦发现资源使用率过高,可以对分组进行扩容或将分组内的某个业务移出分组并重新为移出的分组确定匹配的分组;一旦发现资源使用率过低,可以释放分组内的资源,以保证分组内的业务具有稳定的sla以及合理的资源使用率。

本申请实施例中,除了对数据库中已有分组的资源使用率进行监控之外,还可以对数据库的资源使用率进行监控。具体地,可以对数据库中默认分组的资源的资源使用率进行监控。为了便于与分组的资源使用率进行区分,可以由第二资源使用率作为默认分组的资源使用率。

在监控得到默认分组的第二资源使用率后,可以判断第二资源使用率是否过高,具体地,可以将第二资源使用率与第三预设阈值进行比较,判断第二资源使用率是否大于第三预设阈值,若是,则可以说明第二资源使用率过高,若否,则可以说明第二资源使用率较为合理。

在第二资源使用率过高时,可以生成第二提示信息,以便可以根据第二提示信息对默认分组的资源进行扩容,即对数据库进行扩容。这样,可以保证数据库可以为多个业务提供更稳定的服务,同时避免资源冲突。

所述第三预设阈值可以根据实际情况确定,所述第二提示信息的方式可以是语音提示,也可以是文本提示等方式,这里均不做具体限定。

本申请实施例中,默认分组可以对数据库起到资源缓冲的作用,具体地:当有新的业务需要被分配分组时,可以首先利用默认分组中的资源为业务提供服务,确定业务的访问特征信息,然后根据访问特征信息为业务创建分组。在创建分组时,分组内的资源来自于默认分组。

当需要创建其他分组时,其他分组的资源同样也来自于默认分组。默认分组在数据库将会一直存在。当其他分组的资源使用率过高时,可以利用默认分组中的资源为其他分组进行扩容,当其他分组的资源使用率过低时,可以将其他分组的部分资源释放到默认分组。

当默认分组的资源使用率过高时,可以通过对默认分组进行扩容实现对数据库的扩容。

需要说明的是,由于分组扩容可以在分钟级别内完成,数据库的扩容花费的时间较长,会涉及到采购和搬迁等,因此,对数据库的扩容需要提前预测,也就是说,可以根据默认分组的第二资源使用率预测是否需要对数据库进行扩容。

本申请实施例提供的技术方案,在为业务提供服务时,通过确定业务的访问特征信息,可以智能地将业务分配到匹配的分组中,进而由匹配的分组对应的资源为业务提供服务。这样,通过将业务进行智能分组,可以避免不同分组之间业务的干扰;在同一分组内,由于分组的访问指标和资源利用率可以满足业务的业务需求,因此,可以保证为业务提供稳定的服务,从而提升对业务的服务质量。本申请实施例的整个过程自动化,可以保证对业务进行分组的高效性和实时性。

此外,在将业务分配到匹配的分组后,还可以对分组内的资源使用率进行监控,当分组内的资源使用率较高时,可以对分组进行扩容或对分组内的某个业务重新分组,当分组内的资源使用率较高时,可以释放分组内的资源,进而保证分组内业务具有稳定的sla以及合理的资源使用率;也可以对默认分组的资源使用率进行监控,当默认分组的资源使用率较高时,可以提前对默认分组的资源进行扩容,以便于为业务提供充足的资源,保证业务具有稳定的sla。

本申请实施例中,将业务分配到匹配的分组以及对分组内的资源使用率进行监控的整个过程是全自动的过程,具有实时分组以及对资源使用率的预见性,因此,相较于人工分组而言,更加高效实时,能够有效地解决业务之间的干扰问题。

为了便于理解整个技术方案,可以参见图2。图2为本申请的一个实施例基于多租户服务的业务分组方法的流程示意图。图2以基于多租户的数据库为例进行说明。所述方法如下所述。

s201:确定用户提供的第一业务的访问特征信息。

多租户的数据库可以提供控制台作为与用户(租户)之间的交互平台,用户可以在控制台中创建第一业务的实例,并提供第一业务的访问特征信息。

用户提供的访问特征信息可以包括以下至少一种:第一业务的业务类型;第一业务所需的资源;访问量;峰值时间段;峰值持续时间。

s202:将所述第一业务分配到默认分组。

所述默认分组可以理解为数据库中除去被分组隔离的资源外,其他资源构成的分组。将第一业务分配到默认分组的目的,是为了确定业务的访问特征信息,以便将第一业务分配到匹配的已有分组中。

s203:采集所述第一业务的访问数据,根据所述访问数据确定所述第一业务的访问特征信息。

在默认分组为第一业务提供服务时,可以观测并采集第一业务的访问数据,并根据访问数据确定第一业务的访问特征信息,这里的访问特征信息与s201中记载的访问特征信息相同。

s204:根据所述访问特征信息,确定与所述第一业务匹配的第一分组。

s204中的访问特征信息可以是s201中由用户提供的访问特征信息以及s203中通过采集到的访问数据确定的访问特征信息的综合。所述第一业务对应数据库中的第一资源。

在确定与第一业务匹配的第一分组时,具体实现方法可以参见上述图1所示实施例中记载的内容,这里不再重复说明。

s205:将所述第一业务分配到所述第一分组中。

其中,包含所述第一业务在内的所述第一分组的访问指标以及资源利用率满足预设条件,所述预设条件用于表征所述第一分组对应的第一资源满足第一业务的业务需求。

在将所述第一业务分配到所述第一分组时,还可以在所述第一分组中添加第一业务所需的资源,以保证第一分组的资源使用率可以满足所述预设条件。将所述第一业务分配到所述第一分组中后,可以由所述第一分组中的资源为第一业务提供服务。

s206:确定所述第一分组的第一资源使用率。

s207:判断所述第一资源使用率是否大于第一阈值。

所述第一阈值可以等于上述记载的所述第一预设阈值。若所述第一资源使用率大于所述第一阈值,则可以说明所述第一资源使用率过高,此时,可以执行s208;否则,可以执行s206,即继续对所述第一资源使用率进行监控。

s208:生成第一提示信息,以便根据所述第一提示信息对所述第一分组进行扩容。

s209:确定所述默认分组对应的资源的第二资源使用率。

s210:判断所述第二资源使用率是否大于第二阈值。

所述第二阈值可以等于上述记载的所述第三预设阈值。若所述第二资源使用率大于所述第二阈值,则可以说明所述第二资源使用率过高,此时,可以执行s211;否则,可以执行s209,即继续对所述第二资源使用率进行监控。

s211:生成第二提示信息,以便根据所述第二提示信息对所述默认分组进行扩容。

需要说明的是,上述s204中的访问特征信息也可以是s201中由用户提供的访问特征信息,即直接根据用户提供的访问特征信息对第一业务进行分组,或者,也可以是s203中通过采集到的访问数据确定的访问特征信息,即仅根据实际观测到的访问特征信息对第一业务进行分组。

上述s203中,在采集得到访问特征信息后,还可以向用户进行反馈,以便用户对第一业务的业务需求进行调整。

上述s206以及s209可以同时执行,即在监控第一分组的资源使用率的同时,也可以监控默认分组的资源使用率。

在s207中,若第一资源使用率大于第一阈值,则还可以将第一分组移出第一分组,并重新确定与第一分组匹配的分组,具体实现方式可以参见上述图1所示实施例记载的内容,这里不再重复描述。

此外,在确定第一资源使用率后,还可以判断第一资源使用率是否过低,如果第一资源使用率过低,那么,可以释放第一分组中的一部分资源到默认分组,以提升第一分组内资源的使用率。

图2所示的实施例中,在为业务提供服务时,通过将业务分配到匹配的分组,进而由分组对应的资源为业务提供服务,可以避免不同分组之间业务的干扰;在同一分组内,通过对分组内的资源使用率进行监控,可以避免同一分组内不同业务之间的干扰,保证为不同业务提供稳定的服务,从而提升对业务的服务质量。

此外,通过对第一分组的资源使用率以及默认分组的资源使用率进行监控,并在资源使用率较高时生成提示提示,以便对第一分组以及默认分组进行扩容,这样,可以保证业务具有稳定的sla以及合理的资源使用率。整个过程自动化,相较于人工分组更加高效实时。

上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图3是本申请的一个实施例电子设备的结构示意图。请参考图3,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。

处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。

处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成基于多租户服务的业务分组装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:

确定第一业务的访问特征信息,所述第一业务属于一个租户;

根据所述访问特征信息,确定与所述第一业务匹配的第一分组,所述第一分组对应第一资源;

将所述第一业务分配到所述第一分组中,其中,包含所述第一业务在内的所述第一分组的访问指标以及资源利用率满足预设条件,所述预设条件用于表征所述第一分组对应的所述第一资源满足所述第一业务的业务需求。

上述如本申请图3所示实施例揭示的基于多租户服务的业务分组装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

该电子设备还可执行图1的方法,并实现基于多租户服务的业务分组装置在图1所示实施例中的功能,本申请实施例在此不再赘述。

当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下操作:

确定第一业务的访问特征信息,所述第一业务属于一个租户;

根据所述访问特征信息,确定与所述第一业务匹配的第一分组,所述第一分组对应第一资源;

将所述第一业务分配到所述第一分组中,其中,包含所述第一业务在内的所述第一分组的访问指标以及资源利用率满足预设条件,所述预设条件用于表征所述第一分组对应的所述第一资源满足所述第一业务的业务需求。

图4是本申请的一个实施例基于多租户服务的业务分组装置40的结构示意图。请参考图4,在一种软件实施方式中,所述分组装置40可包括:第一确定单元41、第二确定单元42和分配单元43,其中:

第一确定单元41,确定第一业务的访问特征信息,所述第一业务属于一个租户;

第二确定单元42,根据所述访问特征信息,确定与所述第一业务匹配的第一分组,所述第一分组对应第一资源;

分配单元43,将所述第一业务分配到所述第一分组中,其中,包含所述第一业务在内的所述第一分组的访问指标以及资源利用率满足预设条件,所述预设条件用于表征所述第一分组对应的所述第一资源满足所述第一业务的业务需求。

可选地,所述第一确定单元41,确定第一业务的访问特征信息,包括以下至少一种:

使用默认分组对应的资源为所述第一业务提供服务;采集所述第一业务的访问数据,根据所述访问数据确定所述第一业务的访问特征信息;

确定由租户提供的所述第一业务的访问特征信息。

可选地,所述基于多租户服务的业务分组装置40还可以包括发送装置44,其中:

所述发送装置44,在所述第一确定单元41根据所述访问数据确定所述第一业务的访问特征信息后,将根据所述访问数据确定得到的所述访问特征信息反馈给所述租户。

可选地,所述访问特征信息包括以下至少一种:

所述第一业务的业务类型、所述第一业务所需的资源、查询率qps、延时、访问量、所述第一业务在各分区之间的访问性能是否稳定、峰值时间段、峰值持续时间、cpu使用率、内存使用率、磁盘使用率。

可选地,所述第二确定单元42,根据所述访问特征信息,确定与所述第一业务匹配的第一分组,包括:

将所述访问特征信息与已有分组的分组特征信息进行匹配;

若匹配成功,则将与所述访问特征信息匹配的分组特征信息对应的分组确定为所述第一分组。

可选地,所述第二确定单元42,在将所述访问特征信息与已有分组的分组特征信息进行匹配时,若未匹配成功,则:

根据所述访问特征信息,为所述第一业务创建所述第一分组;或,

将未被分组的资源构成的分组作为所述第一分组。

可选地,所述基于多租户服务的业务分组装置40还可以包括:监控装置45,其中:

所述监控单元45,在所述分配单元43将所述第一业务分配到所述第一分组中后,对所述第一分组的第一资源使用率进行监控;

当所述第一资源使用率大于第一预设阈值时,生成第一提示信息,以便根据所述第一提示信息对所述第一分组进行扩容;

当所述第一资源使用率小于第二预设阈值时,根据所述第一资源使用率释放所述第一分组中的设定资源。

可选地,所述监控单元45,还用于对默认分组对应的资源的第二资源使用率进行监控;

当所述第二资源使用率大于第三预设阈值时,生成第二提示信息,以便根据所述第二提示信息对所述未被分组的资源进行扩容。

可选地,所述监控单元45在确定所述第一资源使用率大于第一预设阈值时,所述第一确定单元41重新确定所述第一业务的访问特征信息;

所述第二确定单元42,根据重新确定的所述访问特征信息,确定与所述第一业务匹配的第二分组,所述第二分组对应第二资源;

所述分配单元43,将所述第一业务分配到所述第二分组中,其中,包含所述第一业务在内的所述第二分组的访问指标以及资源利用率满足所述预设条件。

可选地,所述分组装置40应用于分布式非关系型nosql数据库。

基于多租户服务的业务分组装置40还可执行图1的方法,并实现基于多租户服务的业务分组装置在图1所示实施例的功能,本申请实施例在此不再赘述。

总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

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

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

本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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