数据库实例的运行方法、装置、系统及计算机可读存储介质与流程

文档序号:14555057阅读:146来源:国知局
数据库实例的运行方法、装置、系统及计算机可读存储介质与流程

本申请实施例涉及数据库管理领域,特别涉及一种数据库实例的运行方法、装置、系统及计算机可读存储介质。



背景技术:

云数据库是一种部署在虚拟计算环境中的数据库,可以实现按需付费、按需扩展、高可用性以及存储整合等优势。

相关技术中,云数据库中包括多个数据库实例,用户可以按照不同的资源占用参数对数据库实例进行按需购买。在购买数据库实例时,用户需要指定数据库实例所占用的计算资源和存储资源。比如,数据库实例占用2个处理器核心和10gb的存储空间。然后,云数据库将用户指定的计算资源和存储资源分配给该数据库实例。

但是用户在使用数据库实例时,会有业务高峰期和业务低谷期。当业务低谷期时,数据库实例并未完全占用预设的处理器核数和内存空间。因此,导致云数据库上存在较多闲置的计算资源和存储资源被浪费。



技术实现要素:

本申请提供了一种数据库实例的运行方法、装置、系统及计算机可读存储介质,可以解决相关技术中通过将指定的计算资源和存储资源分配给数据库实例所带来的在业务低谷期时导致的计算资源和存储资源浪费的问题。所述技术方案如下:

一方面,提供了一种数据库实例的运行方法,所述方法包括:

采集数据库实例在运行过程中的资源占用信息;

根据所述资源占用信息确定所述数据库实例的资源占用类型,所述资源占用类型用于表示所述数据库实例在历史时间段内的资源占用规律;

根据所述资源占用类型,调度所述数据库实例迁移至n个物理机中的第一目标物理机上运行,n为正整数。

一方面,提供了一种数据库实例的运行装置,所述装置包括:

访问模型单元,用于采集数据库实例在运行过程中的资源占用信息;根据所述资源占用信息确定所述数据库实例的资源占用类型,所述资源占用类型用于表示所述数据库实例在历史时间段内的资源占用规律;

调度单元,用于根据所述资源占用类型,调度所述数据库实例迁移至n个物理机中的第一目标物理机上运行,n为正整数。

一方面,提供了一种数据库实例的运行系统,所述系统包括访问模型服务器和调度模块服务器;

所述访问模型服务器,用于采集数据库实例在运行过程中的资源占用信息;根据所述资源占用信息确定所述数据库实例的资源占用类型,所述资源占用类型用于表示所述数据库实例在历史时间段内的资源占用规律;

所述调度模块服务器,用于根据所述资源占用类型,调度所述数据库实例迁移至n个物理机中的第一目标物理机上运行,n为正整数。

一方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述的数据库实例的运行方法。

本申请实施例提供的技术方案带来的有益效果至少是:

通过根据数据库实例的资源占用类型调度数据库实例迁移至目标物理机运行,由于每个物理机中运行的数据库实例是按照对应的资源占用类型分配的,解决了相关技术中通过将指定的计算资源和存储资源分配给数据库实例所带来的在业务低谷期时导致的计算资源和存储资源浪费的问题,提高了计算资源和存储资源的利用率。

附图说明

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

图1是本申请一个示例性实施例提供的云数据库系统的结构框图;

图2是本申请一个示例性实施例提供的数据库实例的运行方法的流程图;

图3是本申请一个示例性实施例提供的数据库实例的运行方法的流程图;

图4是本申请一个示例性实施例提供的数据库实例的运行方法的流程图;

图5是本申请一个示例性实施例提供的数据库实例的运行方法的流程图;

图6是本申请一个示例性实施例提供的数据库实例的运行方法的流程图;

图7是本申请一个示例性实施例提供的数据库实例的运行方法的流程图;

图8是本申请一个示例性实施例提供的数据库实例的运行方法的流程图;

图9是本申请一个示例性实施例提供的数据库实例的运行方法的流程图;

图10是本申请一个示例性实施例提供的数据库实例的运行方法的流程图;

图11是本申请一个示例性实施例提供的数据库实例的运行方法的流程图;

图12是本申请一个示例性实施例提供的数据库实例的运行装置的结构框图;

图13是本申请一个示例性实施例提供的计算机设备的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

首先对本申请涉及的几个名词进行介绍和解释:

云数据库:是一种部署在虚拟计算环境中的数据库。云数据库包括多个数据库实例,每个用户可以拥有一个或多个数据库实例,不同的数据库实例可以属于不同的用户。

数据库:是储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是一定的数据模型组织。

数据库实例:数据库实例是运行在数据库中进程。用户通过客户端运行数据库实例读取和写入数据库中的数据。

参考图1,其示出了本申请一个示例性实施例提供的云数据库系统100的结构框图。该系统100包括:客户端120、接入网关140、调度模块152、访问模型模块154、物理机160、评估区物理机161、存储服务器180和读写分离元数据192。其中,接入网关140分别和客户端120、物理机160和评估区物理机161通信连接,调度模块152分别和访问模型模块154、物理机160和评估区物理机161通信连接,访问模型模块154分别和物理机160和评估区物理机161电性连接,物理机160、评估区物理机161分别和计算存储分离元192通信连接,计算存储分离元192和存储服务器180通信连接。

客户端120,用于访问数据库实例的程序。通常情况下,客户端120是运行在用户使用的服务器后台的程序,例如,用户是一个网络游戏公司,客户端120可以是该网络游戏公司的后台服务器上的程序;又例如,用户是一个银行,客户端120可以是该银行的后台服务器上的程序。当然,客户端120也可以是一台电脑、一个平板或一个手机上的程序,还可以是一个浏览器,本申请对此不加以限定。

接入网关140,用于连接客户端120与数据库实例的网关设备,向运行数据库实例的物理机提供一个对外的互联网协议(intemetprotocol,ip)地址。

调度模块152,用于调度数据库实例迁移的设备。调度模块152可以是一台或多台服务器,也可以是一个或多个虚拟机,还可以是一个程序或程序部分构成的逻辑实体,本申请不加以限定。例如,调度模块152预判运行在一个物理机上的一个数据库实例将要发生访问量增加,则调度该数据库实例迁移至其他物理机。

访问模型模块154,用于采集数据库实例的资源占用信息,根据资源占用信息确定数据库实例的资源占用类型,根据资源占用类型指示调度模块152对数据库实例进行迁移。访问模型模块154可以是一台或多台服务器,也可以是一个或多个虚拟机,还可以是一个程序或程序部分构成的逻辑实体,本申请不加以限定。

物理机160,运行数据库实例的计算机,云数据库系统200中包含至少两个物理机160,比如80台或100台物理机。可选地,各个物理机160具有相同或相似的硬件配置、硬件参数和硬件性能。

评估区物理机161,用于运行待调度迁移的数据库实例的物理机,比如,在一个数据库实例刚开始运行后,尚不能确定该数据库实例的资源占用类型,此时可以先将该数据库实例运行在评估区物理机161中,等待访问模型模块154确定该数据库实例的资源占用类型后,再将该数据库实例迁移至某一个物理机160中。通常评估区物理机161和物理机160具有相同或相似的硬件配置、硬件参数和硬件性能,云数据库系统200中包含至少一个评估区物理机161。可选的,评估区cpu使用率控制在50%以下。同时,评估区物理机161也承载压力测试实例,用于确认物理机160最大能承载的访问量。

存储服务器180,用于存储各个数据库实例对应的数据。由于对数据库实例采用计算和存储分离的设计,通常云数据库系统100中每个数据库实例对应的数据都集中存储在存储服务器180中。每个数据库实例的数据在存储服务器180中可以占据不同的存储位置。在一个可选的实施例中,存储服务器180又称为云数据块存储(cloudblockstroage,cbs)。

计算存储分离元数据192,用于引导数据库实例在存储服务器180上读取和写入对应的数据,其存储有每个数据库实例的数据在存储服务器180上的存储位置,该存储位置可以采用访问地址、端口和路径中的至少一种参数进行表示。可选地,计算存储分离元数据192还存储有每个数据库实例的数据中每个文件的起始位置和长度。在一个可选的实施例中,计算存储分离元数据192还可称为数据库实例的索引数据、数据库实例对应数据的索引数据等其它名称。

参考图2,其示出了本申请一个示例性实施例提供的数据库实例的运行方法的流程图。该运行方法可以用于图1所示的云数据库系统100中,该方法包括:

步骤201,采集数据库实例在运行过程中的资源占用信息。

访问模型模块采集运行在评估区物理机中的每个数据库实例在运行过程中的资源占用信息。

例如,访问模型模块监控运行在评估区物理机中的每个数据库实例在运行过程中的cpu使用率。

步骤202,根据资源占用信息确定数据库实例的资源占用类型,该资源占用类型用于表示数据库实例在历史时间段内的资源占用规律。

访问模型模块根据资源占用信息确定数据库实例的资源占用类型,该资源占用类型用于表示数据库实例在历史时间段内的资源占用规律。

例如,访问模型模块监控到某个数据库实例在近一周时间内的资源占用规律为:上午时间段的cpu使用率较高,下午时间段的cpu使用率较低,根据该数据库实例的资源占用规律确定该数据库实例的资源占用类型。

步骤203,根据资源占用类型,调度数据库实例迁移至n个物理机中的第一目标物理机上运行。

访问模型模块在获取了每个数据库实例的资源占用类型后,向调度模块发送每个数据库实例对应的资源占用类型,调度模块根据资源占用类型调度数据库实例迁移至n个物理机中的第一目标物理机上运行,n为正整数。

综上所述,本实施例提供的方法,通过根据数据库实例的资源占用类型调度数据库实例迁移至目标物理机运行,由于每个物理机中运行的数据库实例是按照对应的资源占用类型分配的,解决了相关技术中通过将指定的计算资源和存储资源分配给数据库实例所带来的在业务低谷期时导致的计算资源和存储资源浪费的问题,提高了计算资源和存储资源的利用率。

参考图3,其示出了本申请一个示例性实施例提供的数据库实例的运行方法的流程图。该运行方法可以用于图1所示的云数据库系统100中,该方法包括:

步骤301,访问模型模块采集数据库实例在运行过程中的资源占用信息。

访问模型模块采集运行在评估区物理机中的每个数据库实例在运行过程中的资源占用信息。

可选的,访问模型模块按照每隔第一时间间隔确定的采样时刻,采集数据库实例的资源占用信息,得到数据库实例的采样点数据序列,其中,采样点数据序列包括按序排列的多个采样点数据,每个采样点数据对应所述数据库实例在一个采样时刻时的资源占用率。

示例性的,以cpu使用率为参考指标,对数据库实例的cpu使用率进行划分:访问模型模块以5分钟为时间间隔获取一个采样点数据,得到每天288个采样点数据,则每年一个数据库实例拥有105120个采样点数据,每个数据库实例最多取一年的数据,不足一年的按实际获取,小于3个月的采样点数据放弃。其中,cpu百分比,为物理机整机的百分比,即,一个数据库实例最大的百分比为100%,该数据仅用于调度,不用于展示。

对于一个实数据库实例in有如下描述信息:

in={1509783680|50%,20%,20%,……}

其中,1509783680表示统计开始的时间戳,集合后面有n个点,n小于105120。

步骤302,访问模型模块根据资源占用信息确定数据库实例的资源占用类型。

访问模型模块采集运行在评估区物理机中的每个数据库实例在运行过程中的资源占用信息。

步骤303,访问模型模块向调度模块发送资源占用类型。

访问模型模块在获取了每个数据库实例的资源占用类型后,向调度模块发送每个数据库实例对应的资源占用类型。

步骤304,调度模块根据资源占用类型,优先将具有相同的资源占用类型的数据库实例调度至不同的物理机。

调度模块根据每个数据库实例对应的资源占用类型,优先将具有相同的资源占用类型的数据库实例调度至不同的物理机。

资源占用类型相同的多个数据库实例具有相同的资源占用高峰时段和资源占用低谷时段,在业务高峰期在同一物理机上运行该多个数据库实例会导致物理机资源占用率突然增大,在业务低谷期在同一物理机上运行该多个数据库实例会导致物理机的资源利用率不足,基于上述理由,调度模块被设置为优先将具有相同的资源占用类型的数据库实例调度至不同的物理机。

步骤305,调度模块根据资源占用类型,优先将具有互补的资源占用类型的数据库实例调度至同一个物理机。

调度模块根据每个数据库实例对应的资源占用类型,优先将具有互补的资源占用类型的数据库实例调度至同一个物理机。

资源类型互补的数据库实例具有互补的资源占用时段,例如,当第一个数据库实例的资源占用高峰时段是第二个数据库实例的资源占用低谷时段,可以认为第一个数据库实例和第二个数据库实例各自对应的资源占用类型为互补的。因此,当第一数据库实例和第二数据库实例在同一物理机上运行时,在第一数据库实例的业务高峰时段,第一数据库实例的资源占用率高,而此时第二数据库实例的资源占用率低,因此该物理机的资源占用率不会因为两个数据库实例的资源占用率同时增加而突然增大,也不会因为两个数据库实例的资源占用率同时处于业务低谷而导致物理机的资源利用率不足,基于上述理由,调度模块被设置为优先将具有互补的资源占用类型的数据库实例调度至同一个物理机。

调度模块单独执行步骤304或步骤305,也可以先执行步骤304再执行步骤305,或,先执行步骤305再执行步骤304。

综上所述,本实施例提供的方法,根据数据库实例的资源占用类型调度数据库实例迁移至目标物理机运行,由于每个物理机中运行的数据库实例是按照对应的资源占用类型分配的,解决了相关技术中通过将指定的计算资源和存储资源分配给数据库实例所带来的在业务低谷期时导致的计算资源和存储资源浪费的问题,提高了计算资源和存储资源的利用率。

进一步的,本实施例提供的方法,通过优先将具有相同的资源占用类型的数据库实例调度至不同的物理机,避免了同一物理机上运行的数据库实例具有相同的资源占用类型所导致的在相同的业务高峰期物理机的资源占用率过高,在相同的业务低谷期物理机资源利用率过低的问题,提高了物理机的资源利用率。

进一步的,本实施例提供的方法,通过优先将具有互补的资源占用类型的数据库实例调度至同一个物理机,由于互补的资源占用类型的数据库实例具有不同的业务高峰期和业务低谷期,因此避免了在相同的业务高峰期物理机的资源占用率过高,在相同的业务低谷期物理机资源利用率过低的问题,提高了物理机的资源利用率。

参考图4,其示出了本申请一个示例性实施例提供的数据库实例的运行方法的流程图。该运行方法可以用于图1所示的云数据库系统100中,该方法为图2实施例中步骤202的可选实施例,该方法包括:

步骤202a,计算数据库实例与参考数据库实例之间的采样点数据序列差值。

访问模型模块计算数据库实例与参考数据库实例之间的采样点数据序列差值。访问模型模块可根据采样点数据序列差值、信息熵距离和参考数据库实例的参考资源占用类型,确定出数据库实例的资源占用类型。

访问模型模块获取的资源占用信息包括述数据库实例在历史时间段上的采样点数据序列,例如,资源占用率以物理机的cpu使用率为参考指标,对数据库实例的cpu使用率进行划分;根据访问模型模块采集到的资源占用率信息,每隔一个预设的采样时刻和采样时间间隔获取采样点,获取历史时间段上的m个采样点数据构成采样点数据序列。

可选的,访问模型模块获取数据库实例的第一采样点数据序列{xi,xi+1,…,xi+n},i为预设的采样时刻;获取参考数据库实例的第二采样点数据序列{yi,yi+1,…,yi+n};根据第一采样点数据序列和第二采样点数据序列,计算得到采样点数据序列差值g=si+si+1+…+si+n,其中,si=xi-yi。

当两个采样点数据序列完全相同时,g为最小值0;当两个采样点数据序列完全相反时,g为最大值m。示例性的,若采样点数据的间隔时间为5分钟,则m=288。

在计算得到采样点数据序列差值后,访问模型模块进入步骤202b、202c或202d。

步骤202b,当采样点数据序列差值小于第一阈值时,确定数据库实例的资源占用类型是参考资源占用类型的相同类型。

当采样点数据序列差值小于第一阈值时,访问模型模块确定该数据库实例的资源占用类型是参考资源占用类型的相同类型,其中,第一阈值是一个较小的值。

步骤202c,当采样点数据序列差值大于第二阈值时,确定数据库实例的资源占用类型是参考资源占用类型的互补类型。

当采样点数据序列差值大于第二阈值时,确定该数据库实例的资源占用类型是参考资源占用类型的互补类型,其中,第二阈值是一个较大的值。

步骤202d,当采样点数据序列差值大于第一阈值且小于第二阈值时,访问模型模块计算数据库实例与参考数据库实例之间的信息熵距离。

当采样点数据序列差值大于第一阈值且小于第二阈值时,访问模型模块计算数据库实例与参考数据库实例之间的信息熵距离。

可选的,访问模型模块根据如下公式计算信息熵距离:

其中,定义

其中,e(i)为数据库实例和参考数据库实例的信息熵距离,k为预设的常数,m为采样点数据的个数,si为第一采样点数据序列中第i个采样点xi和第二采样点数据序列中第i个采样点yi的差值,pi为第i个差值与所有差值之和的比值。

步骤202f,当信息熵距离大于第三阈值时,确定数据库实例的资源占用类型是参考资源占用类型的相似类型。

当信息熵距离大于第三阈值时,访问模型模块确定数据库实例的资源占用类型是参考资源占用类型的相似类型,其中,第三阈值是介于第一阈值和第二阈值之间的值。

综上所述,本实施例提供的方法,通过计算数据库实例与参考数据库实例之间的采样点数据序列差值,根据采样点数据序列差值、信息熵距离和参考数据库实例的参考资源占用类型,确定出数据库实例的资源占用类型,进而能够使调度模块根据资源占用类型对数据库实例进行迁移,提高了数据库实例迁移的准确度。

现实中,不同行业数据库的访问规律并不一样,例如,金融、保险业通常会有不规律的时间的大事务,导致其数据库的在不规律的时间段访问量增加的情况;网络游戏通常是在游戏逻辑中完成事务,其数据库的访问量具有一定的规律;电子商务行业的每家公司会在店庆的时候其数据库的访问量增加,每个公司的店庆时间不一样,但是许多电子商务公司在每年都具有相同的促销日期。当一个新的数据库实例模型刚建立,或该数据库的访问量较少,难以确定数据库实例的资源占用类型时,上述基本信息可以判断该新的数据库实例的资源占用类型,从而对该数据库实例进行调度。

例如,云数据库系统已经预设了行业属性,在获得一个新的数据库实例后,需要在云数据库系统中标注该数据库实例归属的行业,包括但不限制于电子商务、手机游戏、保险、银行、证券等。

数据库实例的分类,可以用数字和字母来标注,例如,一个数据库实例的代号为i001-gz-a0001,其中,i001为行业分类号,gz表示数据库实例的大区地域为广州,a表示大区中的可用区域为1区。

按照计算资源消耗的时间特点,对数据库实例进行分类,得到聚合类型,例如,type-a01表示该类数据库实例为每一天的上午资源占用率较高,而下午资源占用率较低;type-a02表示该数据库实例每天的在凌晨时段的资源占用率较高。

得到一系列数据库实例的集合为:

type-a01={i001-gz-a0001,i001-gz-a0028,i002-sz-a0001……},type-a02={i001-gz-a0001,i011-gz-a0028,i004-sz-a0001……},……,其中,type-a01、type-a02分别指代不同的数据库实例的集合。

一个集合的数据库实例中,可能存在不同的行业,例如i001、i002,其可能是相似的行业,例如手机游戏和网页游戏。

通过图4实施例中的方法,获得了每个数据库实例的资源占用类型后,将相同类型的数据库实例归为同一集合,例如,该集合可以标注为t1;将与集合t1中互补的数据库实例构成的集合为集合t1的互补集合,例如,集合t2v1表示该集合为集合t1的互补集合;将与集合t1相似的数据库实例构成的集合为集合t1的相似集合,例如,集合t3l1表示集合t1的相似集合。

参考图5,其示出了本申请一个示例性实施例提供的数据库实例的运行方法的流程图。该运行方法可以用于图1所示的云数据库系统100中,该方法为图2实施例中步骤203的可选实施例,该方法包括:

步骤501,访问模型模块获取第i个物理机已运行的数据库实例的资源占用类型。

访问模型模块采集n个物理机中第i个物理机已运行的数据库实例的资源占用信息,根据该资源占用信息计算第i个物理机已运行的数据库实例的资源占用类型,1≤i≤n。

可选的,访问模型模块根据图4实施例中的方法计算第i个物理机已运行的数据库实例的资源占用类型。

步骤502,访问模型模块向调度模块发送第i个物理机已运行的数据库实例的资源占用类型。

计算得到第i个物理机已运行的数据库实例的资源占用类型后,访问模型模块向调度模块发送第i个物理机已运行的数据库实例的资源占用类型。

步骤503,调度模块检测第i个物理机已运行的数据库实例是否具有第一资源占用类型。

对于具有第一资源占用类型的数据库实例,调度模块检测第i个物理机已运行的数据库实例的资源占用类型是否与第一资源占用类型相同,若相同,则进入步骤505b;若不同,则进入步骤504。

可选的,调度模块通过图4实施例中的方法检测第i个物理机已运行的数据库实例的资源占用类型是否与第一资源占用类型相同。

步骤504,调度模块检测第i个物理机已运行的数据库例是否具有与第一资源占用类型的相似类型。

对于具有第一资源占用类型的数据库实例,调度模块检测第i个物理机已运行的数据库实例的资源占用类型是否与第一资源占用类型相似,若相似,则进入步骤505b;若不相似,则进入步骤505a。

可选的,调度模块通过图4实施例中的方法检测第i个物理机已运行的数据库实例的资源占用类型是否与第一资源占用类型相似。

调度模块可先执行步骤503,再执行步骤504;或,先执行步骤504,在执行步骤503。在先执行步骤504时,若相似,则进入步骤505b,若不相似,则进入步骤503。

步骤505a,调度模块将第i个物理机确定为该数据库实例的第一目标物理机。

若第i个物理机已运行的数据库实例的资源占用类型既不与第一资源占用类型相同,又不与第一资源占用类型相似,调度模块则将第i个物理机确定为该数据库实例的第一目标物理机。

根据图3实施例所述,由于在同一物理机上运行资源占用类型相同的数据库实例在业务高峰期在同一物理机上运行该多个数据库实例会导致物理机资源占用率突然增大,在业务低谷期在同一物理机上运行该多个数据库实例会导致物理机的资源利用率不足,基于该理由,调度模块被设置为将具有相同的资源占用类型的数据库实例调度至不同的物理机。

通常具有相似类型的数据库实例会随着访问量的增大成长为相同的数据库实例,为了避免具有相似类型的数据库实例运行在同一物理机上,调度模块被设置为将具有相似的资源占用类型的数据库实例调度至不同的物理机。

步骤505b,调度模块不将第i个物理机作为目标物理机。

若第i个物理机已运行的数据库实例的资源占用类型既与第一资源占用类型相同,或,与第一资源占用类型相似,调度模块则不将第i个物理机作为目标物理机。

步骤506,调度模块将该数据库实例迁移至第一目标物理机上运行。

调度模块将该数据库实例迁移至第一目标物理机上运行。

综上所述,本实施例提供的方法,通过将具有相同的资源占用类型的数据库实例调度至不同的物理机,避免了同一物理机上运行的数据库实例具有相同的资源占用类型所导致的在相同的业务高峰期物理机的资源占用率过高,在相同的业务低谷期物理机资源利用率过低的问题,提高了物理机的资源利用率。

进一步的,本实施例提供的方法,通过将具有相似的资源占用类型的数据库实例调度至不同的物理机,避免了同一物理机上运行的数据库实例具有相似的资源占用类型成长为相同的资源占用类型,从而导致的在相同的业务高峰期物理机的资源占用率过高,在相同的业务低谷期物理机资源利用率过低的问题,提高了物理机的资源利用率。

参考图6,其示出了本申请一个示例性实施例提供的数据库实例的运行方法的流程图。该运行方法可以用于图1所示的云数据库系统100中,该方法为图2实施例中步骤203的可选实施例,该方法包括:

步骤601,访问模型模块获取第j个物理机已运行的数据库实例的资源占用类型。

访问模型模块采集n个物理机中第j个物理机已运行的数据库实例的资源占用信息,根据该资源占用信息计算第j个物理机已运行的数据库实例的资源占用类型,1≤j≤n。

可选的,访问模型模块根据图4实施例中的方法计算第j个物理机已运行的数据库实例的资源占用类型。

步骤602,访问模型模块发送第j个物理机已运行的数据库实例的资源占用类型。

计算得到第j个物理机已运行的数据库实例的资源占用类型后,访问模型模块向调度模块发送第j个物理机已运行的数据库实例的资源占用类型。

步骤603,调度模块检测第j个物理机已运行的数据库实例是否具有第二资源占用类型的互补类型。

对于具有第二资源占用类型的数据库实例,调度模块检测第j个物理机已运行的数据库实例是否具有第二资源占用类型的互补类型,若具有第二资源占用类型的互补类型,则进入步骤604a;若不具有第二资源占用类型的互补类型,则停止。

步骤604,调度模块将第j个物理机确定为数据库实例的第一目标物理机。

若第j个物理机已运行的数据库实例的资源占用类型与第一资源占用类型互补,调度模块则将第i个物理机确定为该数据库实例的第一目标物理机。

根据图3实施例所述,资源类型互补的数据库实例具有互补的资源占用时段,因此该物理机的资源占用率不会因为两个数据库实例的资源占用率同时增加而突然增大,也不会因为两个数据库实例的资源占用率同时处于业务低谷而导致物理机的资源利用率不足,基于上述理由,调度模块被设置为将具有互补的资源占用类型的数据库实例调度至同一个物理机。

步骤605,调度模块将数据库实例迁移至第一目标物理机上运行。

调度模块将数据库实例迁移至第一目标物理机上运行。

综上所述,本实施例提供的方法,通过将具有互补的资源占用类型的数据库实例调度至同一个物理机,由于互补的资源占用类型的数据库实例具有不同的业务高峰期和业务低谷期,因此避免了在相同的业务高峰期物理机的资源占用率过高,在相同的业务低谷期物理机资源利用率过低的问题,提高了物理机的资源利用率。

参考图7,其示出了本申请一个示例性实施例提供的数据库实例的运行方法的流程图。该运行方法可以用于图1所示的云数据库系统100中,该方法为图2实施例中步骤203的可选实施例,该方法包括:

步骤701,访问模型模块获取n个物理机中每个物理中已运行的数据库实例的资源占用类型。

访问模型模块采集n个物理机的每个物理机中已运行的数据库实例的资源占用信息,根据该资源占用信息计算n个物理机的每个物理机中已运行的数据库实例的资源占用类型。

可选的,访问模型模块根据图4实施例中的方法计算n个物理机的每个物理机中已运行的数据库实例的资源占用类型。

步骤702,访问模型模块发送n个物理机的每个物理机中已运行的数据库实例的资源占用类型。

计算得到n个物理机的每个物理机中已运行的数据库实例的资源占用类型后,访问模型模块向调度模块发送n个物理机的每个物理机中已运行的数据库实例的资源占用类型。

步骤703,调度模块根据n个物理机的每个物理机中已运行的数据库实例与第三资源占用类型的关系以及每个物理机的总资源占用率,计算每个物理机的调度分数。

对于具有第三资源占用类型的数据库实例,调度模块根据n个物理机的每个物理机中已运行的数据库实例与第三资源占用类型的关系以及每个物理机的总资源占用率,计算每个物理机的调度分数。

可选的,调度模块按照如下公式计算每个物理机的调度分数:

si=r*第一权重+ta*第二权重+tb*第三权重;

其中,si为第i个物理机的调度分数,r为第i个物理机的总资源占用率,ta为具有与所述第三资源占用类型的相同或相似类型的数据库实例的个数,tb为具有与所述第三资源占用类型的互补类型的数据库实例的个数,1≤i≤n。

步骤704,调度模块将具有最高调度分数的第k个物理机确定为该数据库实例的第一目标物理机。

若第k个物理机具有最高调度分数,调度模块则将第k个物理机确定为该数据库实例的第一目标物理机,1≤k≤n。

步骤705,调度模块将数据库实例迁移至第一目标物理机上运行。

调度模块将数据库实例迁移至第一目标物理机上运行。

综上所述,本实施例提供的方法,通过将数据库实例迁移至调度分数最高的物理机,解决了当n个物理的每个物理机中已运行的数据库实例都具有与该数据库实例相同和/或相似的资源占用类型时,调度模块无法调度迁移数据库实例的问题,进而提高了物理机的资源利用率。

当n个物理机中存在空闲物理机时,调度模块将空闲物理机确定为数据库实例的第一目标物理机;将数据库实例迁移至第一目标物理机上运行。

对于调度模块,上述获取第一目标物理机的实施例方法可以单独执行也可以先后进行。

参考图8,其示出了本申请一个示例性实施例提供的数据库实例的运行方法的流程图。该运行方法可以用于图1所示的云数据库系统100中,该方法为图5实施例中步骤506、图6实施例中步骤605、图7实施例中步骤705的可选实施例,该方法包括:

步骤801,将目标数据库实例对应的计算存储分离单元数据同步到第一目标物理机。

可选地,在初始状态下,目标数据库实例运行在评估区物理机上。

调度模块根据目标数据库实例的id,将与该id对应的计算存储分离单元数据同步到第一目标物理机的空位置中,其中,目标数据库实例是将要迁移的数据库实例。

步骤802,将目标数据库实例对应的必要数据存储到第一目标物理机。

调度模块将目标数据库实例对应的必要数据,例如包含该目标数据库实例在存储服务器的ip地址、端口、存储偏移量等数据存储到第一目标物理机。

步骤803,将目标数据库实例对应的临时变量以及全局变量同步到第一目标物理机。

调度模块将目标数据库实例对应的临时变量(sql中以@开头的变量,该变量通常是临时定义的变量,或者某些sql定义的中间变量)以及mysql全局变量同步到第一目标物理机,其中,sql为结构化查询语言(structuredquerylanguage),mysql是甲骨文(oracle)公司的一种关系型数据库管理系统。

经过步骤801至步骤803,目标数据库实例已经同步到第一目标物理机。

步骤804,设置目标数据库实例对存储服务器的访问权限为只读,设置迁移后的数据库实例对存储服务器的方位权限为读写。

调度模块设置位于评估区物理机上的目标数据库实例对存储服务器的访问权限为只读,该位于评估区物理机上的目标数据库实例可以认为是迁移前的目标数据库实例;同时,调度模块还设置位于第一目标物理机上的数据库实例对存储服务器的访问权限为读写,该位于第一目标物理机上的数据库实例可以认为是迁移后的目标数据库实例。

步骤805,将接入网关的转发指向迁移后的数据库实例在第一目标物理机上对应的ip地址和端口。

调度模块将接入网关的转发指向迁移后的数据库实例在第一目标物理机上对应的ip地址和端口。此时接入网关在收到客户端对目标数据库实例的访问请求时,会将该访问请求发送至第一目标物理机进行处理。

可选地,接入网关对位于评估区物理机上的目标数据库实例的指向不会断开,直到位于评估区物理机上的目标数据库实例没有返回数据后才断开。此后,调度模块可以将位于评估区物理机上的目标数据库实例进行回收或撤销,从而完成目标数据库实例从评估区物理机到第一目标物理机上的迁移。

需要说明的是,上述实施例以目标数据库实例从评估区物理机到第一目标物理机上的迁移来举例说明,但目标数据库实例从一个物理机迁移到另一个物理机上的过程均可参考上述描述。此外,受限于具体的数据库类型和物理机类型的不同,上述迁移过程可以略有不同,本申请对该迁移过程的具体实现方式不加以限定。

访问模型模块会不断更新数据库实例的资源占用类型。通常数据库实例的资源占用类型会随着业务的变化而变化。例如,原先是每天的上午为业务高峰期,当业务调整后,每天的下午成为业务高峰期。此时运行在同一物理机的互补类型的数据库实例可能会变成相似类型或相同类型,在相同的业务高峰时段,cpu使用率的叠加会使得第一目标物理机的cpu使用率陡然增加,从而触发调度模块对数据库实例重新迁移。

参考图9,其示出了本申请一个示例性实施例提供的数据库实例的运行方法的流程图。该运行方法可以用于图1所示的云数据库系统100中,该方法为图2实施例中步骤203之后的步骤,该方法包括:

步骤901,访问模型模块每隔第二时间间隔重新获取数据库实例的资源占用信息。

在将数据库实例迁移到目标物理机后,访问模型模块每隔第二时间间隔重新采集运行在各个物理机上的数据库实例的资源占用信息。

步骤902,访问模型模块根据重新采集的资源占用信息重新确定数据库实例的资源占用类型。

访问模型模块根据重新采集的资源占用信息重新确定数据库实例的资源占用类型。

可选的,访问模型模块根据图4实施例中的方法重新计算数据库实例的资源占用类型。

步骤903,访问模型模块向调度模块发送重新确定的资源占用类型。

访问模型模块向调度模块发送重新确定的资源占用类型。

步骤904,调度模块根据重新确定的资源占用类型调度数据库实例迁移至第二目标物理机。

调度模块根据重新确定的资源占用类型调度数据库实例迁移至第二目标物理机。

可选的,调度模块根据图3、图5、图6以及图7实施例中的方法,根据重新确定的资源占用类型调度数据库实例迁移至第二目标物理机。

综上所述,本实施例提供的方法,通过在将数据库实例迁移至目标物理机后,重新确定数据库实例的资源占用类型,根据重新确定的数据库实例的资源占用类型对数据库实例进行迁移,解决了在对数据库实例迁移至目标物理机后,由于数据库实例的资源占用类型发生变化导致目标物理机的利用率降低的问题,提高了目标物理机的利用率。

参考图10,其示出了本申请一个示例性实施例提供的数据库实例的运行方法的流程图。该运行方法可以用于图1所示的云数据库系统100中,该方法为图2实施例中步骤203之后的步骤,该方法包括:

步骤1001,访问模型模块获取第一目标物理机的总资源占用率。

访问模型模块采集运行在第一目标物理机上的数据库实例的资源占用信息,根据采集的资源占用信息确定第一目标物理机的总资源占用率。

步骤1002,访问模型模块向调度模块发送第一目标物理机的总资源占用率。

在获取了第一目标物理机的总资源占用率后,访问模型模块向调度模块发送第一目标物理机的总资源占用率。

步骤1003,当第一目标物理机上的总资源占用率超过第一占用率时,调度模块在第一目标物理机上已运行的数据库实例中确定出第一目标数据库实例。

当第一目标物理机上的总资源占用率超过第一占用率时,在第一目标物理机上已运行的数据库实例中确定出第一目标数据库实例,其中,第一目标数据库实例是第一目标物理机中资源占用稳定性差于预设条件的数据库实例,第一占用率是预设的一个较大的占用率值。

当第一目标物理机行的总资源占用率超过第一占用率时,说明第一目标物理机处于超负荷运行的状态,因此需要将第一目标物理机中的至少一个数据库实例进行迁移,以释放第一目标物理机的运行压力。

示例性的,以phm_i表示物理机得到集合:

phm_1={i001-gz-a0001(m1),i002-gz-a0003(m12),i003-gz-a0005…},phm_2={i001-gz-a0002,i002-gz-a0004(m11),i003-gz-a0006…},……

此时得到两个不同维度的集合,一个以资源占用类型划分的集合,一个以物理机划分的phm_i,phm_i以物理机的角度上报每个物理机cpu使用率,记为phm_cpu,当phm_cpu>80%时,向调度模块上报触发数据库实例迁移。

可选的,云数据库系统通过以下方式确定第一目标数据库实例:

调度模块获取第一目标物理机上已运行的每个数据库实例在最近时间段内的采样点数据序列,最近时间段是从当前时刻向前第一时长的时间段。

访问模型模块采集第一目标物理机上已运行的每个数据库实例在最近时间段内的采样点数据序列,将该采样点数据序列发送至调度模块,调度模块接收该采样点数据序列。

调度模块计算每个采样点数据序列的方差,将方差最大的数据库实例确定为第一目标数据库实例。

例如,第一目标物理机有20个数据库实例,in1-in20,选择数据库实例的采样点数据一天最大值的12个点,取其平均值,并计算最近一周的平均值,得到in1-max-avg={x1,x2,x3,x4,x5,x6,x7},in2-max-avg={y1,y2,y3,y4,y5,y6,y7},……,一直计算到ln20,将该20个数据库实例对应的一周的平均值的方差最大的数据库实例迁移,通常该数据库实例为最近数据增长比较快的数据库实例。

步骤1004,调度模块调度第一目标数据库实例迁移至第二目标物理机。

调度模块调度第一目标数据库实例迁移至第二目标物理机。

综上所述,本实施例提供的方法,通过当第一目标物理机的总资源占用率超过第一占用率时,将资源占用稳定性差于预设条件的数据库实例迁移至第二目标物理机,释放了第一目标物理机的资源占用压力。

参考图11,其示出了本申请一个示例性实施例提供的数据库实例的运行方法的流程图。该运行方法可以用于图1所示的云数据库系统100中,该方法为图2实施例中步骤203之后的步骤,该方法包括:

步骤1101,访问模型模块获取第一目标物理机的总资源占用率。

访问模型模块采集运行在第一目标物理机上的数据库实例的资源占用信息,根据采集的资源占用信息确定第一目标物理机的总资源占用率。

步骤1102,访问模型模块发送第一目标物理机的总资源占用率

在获取了第一目标物理机的总资源占用率后,访问模型模块向调度模块发送第一目标物理机的总资源占用率。

步骤1103,当第一目标物理机上的总资源占用率达到第二占用率且持续时长超过第二时长时,调度模块在第一目标物理机上已运行的数据库实例中确定出第二目标数据库实例。

当第一目标物理机上的总资源占用率达到第二占有率且持续时长超过第二时长时,调度模块在第一目标物理机上已运行的数据库实例中确定出第二目标数据库实例,其中,第二目标数据库实例是第一目标物理机中资源占用增长最快的数据库实例,第二占有率是预设的一个较大的占有率值。

例如,当phm_cpu>100%,并持续30秒时,可能有一个或多个数据库实例的cpu使用率远超过昨天同一时间。

可选的,云数据库系统通过以下方式确定第二目标数据库实例:

调度模块获取第一目标物理机上已运行的每个数据库实例在相邻的第一时间段和第二时间段内的采样点数据序列,其中,第二时间段位于所述第一时间段之后。

访问模型模块采集第一目标物理机上已运行的每个数据库实例在相邻的第一时间段和第二时间段内的采样点数据序列,将该采样点数据序列发送至调度模块,调度模块接收该采样点数据序列。

调度模块根据第一时间段和第二时间段内的采样点数据序列,计算每个数据库实例的资源占用增长值,将资源占用增长值最大的数据库实例确定为第二目标数据库实例。

例如,第一目标物理机中已运行的数据库实例的当天的资源占用率为c1(t,i),前一天的资源占用率为c2(t,i),其中,t表示时间点,i表示数据库实例的编号。

那么有其中,△i表示第i个数据库实例的近x天的增长值,x代表天数的取值,调度模块将增长值最大的数据库实例确定为第二目标数据库实例。

步骤1104,调度模块调度第二目标数据库实例迁移至第二目标物理机。

调度模块调度第二目标数据库实例迁移至第二目标物理机。

综上所述,本实施例提供的方法,通过当第一目标物理机行的总资源占用率达到第二占有率且持续时长超过第二时长时,将将资源占用增长值最大数据库实例迁移至第二目标物理机,释放了第一物理机的资源占用压力。

对于一些数据库实例的运营或开发商可以预知的访问量增加的情况,可以人工指定对该数据库实例进行迁移,此时云数据库系统会断开该数据库实例的当前连接进行调度迁移,将该数据库实例迁移到cpu使用率最低的物理机上。

参考图12,其示出了本申请一个示例性实施例提供的数据库实例的运行装置的框图。该装置可以用于图1所示的云数据库系统100中,该装置包括访问模型单元1210和调度单元1220,其中,访问模型单元1210是设置于访问模型模块中的虚拟装置,调度单元1220是设置于调度模块中的虚拟装置:

访问模型单元1210,用于采集数据库实例在运行过程中的资源占用信息;根据资源占用信息确定数据库实例的资源占用类型,资源占用类型用于表示数据库实例在历史时间段内的资源占用规律。

调度单元1220,用于根据资源占用类型,调度数据库实例迁移至n个物理机中的第一目标物理机上运行,n为正整数。

在一个可选的实施例中,

调度单元1220,还用于按照预设调度策略将数据库实例迁移至n个物理机中的第一目标物理机上运行,预设调度策略包括:优先将具有相同的资源占用类型的数据库实例调度至不同的物理机;和/或,优先将具有互补的资源占用类型的数据库实例调度至同一个物理机。

在一个可选的实施例中,

调度单元1220,还用于对于具有第一资源占用类型的数据库实例,确定n个物理机中的第i个物理机是否符合第一条件,第一条件是已运行的数据库实例不具有第一资源占用类型和/或不具有与第一资源占用类型的相似类型,1≤i≤n;当第i个物理机符合第一条件时,将第i个物理机确定为数据库实例的第一目标物理机;将数据库实例迁移至第一目标物理机上运行;其中,相似类型是与第一资源占用类型的资源占用规律相似度高于第一阈值的类型。

在一个可选的实施例中,

调度单元1220,还用于对于具有第二资源占用类型的数据库实例,确定n个物理机中的第j个物理机是否符合第二条件,第二条件是已运行的数据库实例具有与第二资源占用类型的互补类型,互补类型是与第二资源占用类型的资源占用规律相似度低于阈值的类型,1≤j≤n;当第j个物理机符合第二条件时,将第j个物理机确定为数据库实例的第一目标物理机;将数据库实例迁移至第一物理机上运行;其中,互补类型是与第二资源占用类型的资源占用规律相似度低于阈值的类型。

在一个可选的实施例中,

调度单元1220,还用于对于具有第三资源占用类型的数据库实例,根据n个物理机的每个物理机中已运行的数据库实例与第三资源占用类型的关系以及每个物理机的总资源占用率,计算每个物理机的调度分数,1≤j≤n;将具有最高调度分数的第k个物理机确定为数据库实例的第一目标物理机,1≤k≤n;将数据库实例迁移至第一目标物理机上运行。

在一个可选的实施例中,

调度单元1220,还用于按照如下公式计算每个物理机的调度分数:

si=r*第一权重+ta*第二权重+tb*第三权重;

其中,si为第i个物理机的调度分数,r为第i个物理机的总资源占用率,ta为具有与第三资源占用类型的相同或相似类型的数据库实例的个数,tb为具有与第三资源占用类型的互补类型的数据库实例的个数。

在一个可选的实施例中,

访问模型单元1210,还用于计算数据库实例与参考数据库实例之间的采样点数据序列差值;根据采样点数据序列差值、信息熵距离和参考数据库实例的参考资源占用类型,确定出数据库实例的资源占用类型。

在一个可选的实施例中,

访问模型单元1210,还用于当采样点数据序列差值小于第一阈值时,确定数据库实例的资源占用类型是参考资源占用类型的相同类型;当采样点数据序列差值大于第二阈值时,确定数据库实例的资源占用类型是参考资源占用类型的互补类型。

在一个可选的实施例中,

访问模型单元1210,还用于当采样点数据序列差值大于第一阈值且小于第二阈值时,计算数据库实例与参考数据库实例之间的信息熵距离;当信息熵距离大于第三阈值时,确定数据库实例的资源占用类型是参考资源占用类型的相似类型。

在一个可选的实施例中,

访问模型单元1210,还用于按照每隔第一时间间隔确定的采样时刻,采集数据库实例的资源占用信息,得到数据库实例的采样点数据序列;其中,采样点数据序列包括按序排列的多个采样点数据,每个采样点数据对应数据库实例在一个采样时刻时的资源占用率。

在一个可选的实施例中,

调度单元1220,还用于每隔第二时间间隔重新确定数据库实例的资源占用类型;根据重新确定的资源占用类型,调度数据库实例迁移至n个物理机中的第二目标物理机。

在一个可选的实施例中,

访问模型单元1210,还用于获取第一目标物理机的总资源占用率。

调度单元1220,还用于当第一目标物理机上的总资源占用率超过第一占用率时,在第一目标物理机上已运行的数据库实例中确定出第一目标数据库实例,第一目标数据库实例是第一目标物理机中资源占用稳定性差于预设条件的数据库实例;将第一目标数据库实例迁移至n个物理机中的第二目标物理机上运行。

在一个可选的实施例中,

调度单元1220,还用于获取第一目标物理机上已运行的每个数据库实例在最近时间段内的采样点数据序列,最近时间段是从当前时刻向前第一时长的时间段;计算每个采样点数据序列的方差,将方差最大的数据库实例确定为第一目标数据库实例。

在一个可选的实施例中,

访问模型单元1210,用于获取第一目标物理机的总资源占用率。

调度单元1220,还用于当第一目标物理机上的总资源占用率达到第二占用率且持续时长超过第二时长时,在第一目标物理机上已运行的数据库实例中确定出第二目标数据库实例,目标数据库实例是第一目标物理机中资源占用增长最快的数据库实例;将目标数据库实例迁移至n个物理机中的第三目标物理机上运行。

在一个可选的实施例中,

访问模型单元1210,还用于获取第一目标物理机上已运行的每个数据库实例在相邻的第一时间段和第二时间段内的采样点数据序列,第二时间段位于第一时间段之后。

调度单元1220,还用于根据第一时间段和第二时间段内的采样点数据序列,计算每个数据库实例的资源占用增长值,将资源占用增长值最大的数据库实例确定为第二目标数据库实例。

请参考图13,其示出了一个示例性实施例提供的计算机设备的结构框图。该计算机用于实施上述实施例中提供的服务器侧的数据库实例的运行方法,该计算机设备可以是上述实施例中运行客户端的设备、接入网关、调度模块、访问模型模块、物理机和评估区物理机中的至少一种。具体来讲:

计算机设备1300包括中央处理单元(cpu)1301、包括随机存取存储器(ram)1302和只读存储器(rom)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。计算机设备1300还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。

基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。

大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。大容量存储设备1307及其相关联的计算机可读介质为计算机设备1300提供非易失性存储。也就是说,大容量存储设备1307可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。

根据本发明的各种实施例,计算机设备1300还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1300可以通过连接在系统总线1305上的网络接口单元1311连接到网络1312,或者说,也可以使用网络接口单元1311来连接到其他类型的网络或远程计算机系统(未示出)。

存储器1304还包括一个或者一个以上的程序,上述一个或者一个以上程序存储于存储器1304中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于进行上述实施例中提供的计算机设备侧的数据库实例的运行方法的指令。

相关技术中,用户在购买数据库实例的时候,用户需要指定数据库实例所占用的计算资源和存储资源,然后根据指定的计算资源和存储资源预先支付费用,即便是购买后实际的计算资源和存储资源的使用并没有达到购买时的指定量,但是已经支付了未使用的这部分费用。本申请实施例中,用户可通过以下方式对数据库实例进行支付:

(1)购买数据库实例,用户指定计算资源的上限值(用于防止恶意访问带来的资金消耗),用户也可以不指定,数据库实例提供方默认计算资源的上限值为最大值;

(2)数据库实例提供方根据用户购买的数据库实例发货;

(3)计算用户使用数据库实例的的存储资源,例如,用户购买数据库实例使用了一个月,写入数据10gb;

(4)监控数据库实例的资源占用率,例如,访问模型模块监控到该数据库实例的cpu使用率为消耗的核数,例如,在10点20分,数据库实例的cpu使用率为2核cpu。

(5)根据数据库实例占用的计算资源和存储资源计费:例如,采用峰值计费,即,每天选取288个采样点数据,去掉最高值的5个采样点数据,选取次高值的5个采样点数据的平均数,作为每天计算资源的峰值计价指标x,若数据库实例的cpu消耗核数的单价为y元/天,存储资源的单价为单价为z元/天,则一天的消费为x*y+10gb*z,按照实际占用的资源付费;假设用户第二天放假,几乎没有使用计算资源,则x很小,例如仅有0.01,则第二天费用以存储资源的费用为主。

本申请提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述各个方法实施例提供的计算机实例的运行方法。

本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的数据库实例的运行方法。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

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

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