基于用户行为的资源动态调整方法及设备与流程

文档序号:11410982阅读:233来源:国知局
基于用户行为的资源动态调整方法及设备与流程
本申请涉及计算机领域,尤其涉及一种基于用户行为的资源动态调整方法及设备。
背景技术
:在云产业中,用户通常根据自己和业务场景的需要购买所需要的资源规格,包括存储空间、虚拟机、计算能力等。目前,在云产业市场中,云产品资源的规格购买是固定的。后期,用户根据自己的需求增加、或者减缩资源规格,后台技术人员再根据用户提交的扩容、缩容需求更新其云产品服务的资源规格。在绝大部分时间里,用户对其云产品服务的资源使用是低于购买的资源规格的,只在特殊期间才能用尽其服务资源,甚至超出规格上限。此外,绝大部分用户都不知晓自己的服务使用情况,只有当服务资源用满或者许久不用服务时才会提出扩容或缩容需求。现有技术中提出了一种在线动态扩容的方法,通过实时采集系统负载状态和应用运行状况,由人工神经网络作为判断资源伸缩触发的机制,在不中断服务的情况下动态扩展虚拟机算资源。但是,该方案关注于资源本身的实时负载状况,当资源使用达到高峰时,实时扩容资源规格,不具有提前预测性。申请内容本申请的一个目的是提供一种基于用户行为的资源动态调整方法及设备,用以解决现有技术中仅能根据实时负载的状况进行资源规格的调整,不具有提前预测性的问题。为实现上述目的,本申请提供了一种基于用户行为的资源动态调整方法,该方法包括:获取用户的特征行为指标数据;在触发检测时刻,检测所述用户在第一时间段的特征行为指标数据与行为模式基线是否匹配,其中所述第一时间段为所述触发检测时刻之前的预设时长的时间段;若匹配,则根据与所述行为模式基线对应的资源需求基线更变所述用户的资源规格。基于本申请的另一方面,还提供了一种基于用户行为的资源动态调整设备,该设备包括:用户行为监控装置,用于获取用户的特征行为指标数据;检测装置,用于在触发检测时刻,检测所述用户在第一时间段的特征行为指标数据与行为模式基线是否匹配,其中所述第一时间段为所述触发检测时刻之前的预设时长的时间段;更变装置,用于在匹配时,根据与所述行为模式基线对应的资源需求基线更变所述用户的资源规格。此外,本申请还提供了一种基于用户行为的资源动态调整设备,该设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取用户的特征行为指标数据;在触发检测时刻,检测所述用户在第一时间段的特征行为指标数据与行为模式基线是否匹配,其中所述第一时间段为所述触发检测时刻之前的预设时长的时间段;以及在匹配时,根据与所述行为模式基线对应的资源需求基线更变所述用户的资源规格。与现有技术相比,本申请的技术方案实时获取用户的特征行为指标数据,在触发检测时刻与离线演算获得的行为模式基线进行匹配,由此提前预测资源使用的高峰期或者低谷期,从而提前根据用户的行为模式来对用户所需要使用的资源规格进行动态调整,来达到满足用户使用资源的需求,避免用户在高峰时资源不足或者在低谷时资源浪费,具有较好的提前预测性。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本申请实施例提供的一种基于用户行为的资源动态调整方法的流程图;图2(a)为本申请实施例中某用户的行为模式基线示意图;图2(b)为本申请实施例中某用户在第一时间段内的行为聚合值的分布示意图;图2(c)为本申请实施例中某用户的行为模式基线所对应的资源需求基线示意图;图3为本申请实施例中生成用户的行为模式基线的方法的流程图;图4为本申请实施例中确定行为模式基线的处理流程图;图5为本申请实施例提供的一种基于用户行为的资源动态调整设备的结构示意图;图6为本申请实施例提供的一种优选的基于用户行为的资源动态调整设备的结构示意图;图7为所述优选的基于用户行为的资源动态调整设备中离线演算装置的结构示意图;图8为基于本申请技术方案实现的云产品弹性升降级系统的结构示意图;附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本申请作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。图1示出了一种基于用户行为的资源动态调整方法的流程图,具体包括以下步骤:步骤s101,获取用户的特征行为指标数据。在此,所述特征行为指标数据是指能够有效表征用户资源使用的行为数据,例如以云产品服务的资源使用为例,可以将cpu使用率、内存使用率、磁盘使用率、qps(querypersecond,每秒查询次数)、活跃连接数、访问延迟等作为特性行为指标数据。在获取用户的特征行为指标数据时,可以收集尽可能多的用户行为数据,然后抽取有效数据作为特征行为指标数据。例如,可以通过实时监控的方式,实时获取用户的所有行为数据,然后再由用户的所有线上行为数据中抽取其中的特征行为指标数据进行缓存,以用于后续的处理。在实际应用中,特征行为指标数据的类型在一段时间内保持相对稳定,但是可以随时间发生一定变化,例如在第一季度,用户的行为特征指标可以包含访问延迟,但是在第二季度时,可能随着网络条件升级该数据已经无法有效表征用户资源使用的情况,可以取消将访问延迟作为特征行为指标数据。步骤s102,在触发检测时刻,检测所述用户在第一时间段的特征行为指标数据与行为模式基线是否匹配。在此,所述触发检测时刻是指根据当前的用户特征行为指标数据与行为模式基线进行匹配的时刻,一般可以设置为在用户行为发生显著变化,并需要改变资源规格以适应变化的用户行为的时刻。例如每天的8:00左右为某个云产品的使用高峰,在此时cpu使用率、内存使用率等特征行为指标数据会明显增加,有可能会使得现有的资源发生不足。因此,可以设置8:00为触发检测时刻。进一步地,可以预定义一提前量,使得进行检测并变更规格的时间略早于实际的资源需求变化。仍以前述场景为例,可以设置10分钟的提前量,将触发检测时刻设置为7:50。所述第一时间段为所述触发检测时刻之前的预设时长的时间段,在实际检测时将该第一时间段内的特征行为指标数据作为匹配处理的样本数据。第一时间段具体设置的时长可以根据实际需求确定,例如本实施例中可以设置为15分钟,即将7:35-7:50之间的特征行为指标数据作为与行为模式基线进行匹配的样本。所述行为模式基线可以以一段时间内累积的特征行为指标数据为样本进行离线演算获得,用于表示用户的某个周期内对于云产品服务资源的使用趋势。通过将实时获得特征行为指标数据与其进行匹配,可以确定用户的当前行为是否符合预测的使用趋势,从而实现对用户的资源使用行为的预测。具体地,本实施例中,在检测所述用户在第一时间段的特征行为指标数据与行为模式基线是否匹配时,首先根据所述用户在第一时间段的特征行为指标数据及预设的权重,获取所述用户在第一时间段的行为聚合值,若所述用户在第一时间段的行为聚合值处于所述行为模式基线的置信区间内,则确定所述用户在第一时间段的特征行为指标数据与行为模式基线匹配。对于各类特征行为指标数据,其权重的设置主要考虑到该类特征行为指标数据对于用户资源使用行为的影响程度,例如对于上例中提及的几类特征行为指标数据,其对应的权重可以设置为:cpu使用率(15%权重)、内存使用率(20%权重)、磁盘使用率(10%权重)、qps(40%权重)、活跃连接数(10%权重)、访问延迟(5%权重)。所述行为模式基线通过设置一定的置信区间,只要保证用户在第一时间段的行为聚合值处于所述行为模式基线的置信区间内即可判定为两者匹配。图2(a)示出了某用户的行为模式基线示意图,图中2a所示的部分即为置信区间,若仍以上述场景为例,其第一时间段为15分钟,假设将特征行为指标数据的统计粒度设置为每分钟,由此可以计算得到相应的15个行为聚合值,其分布如图2(b)所示,均处于行为模式基线的置信区间内。为了提高匹配结果的合理性,可以预先定义显著性水平α,只要所有行为聚合值中未处于行为模式基线的置信区间内的比例低于α,仍可以判定用户在第一时间段的特征行为指标数据与行为模式基线匹配。步骤s103,若匹配,则根据与所述行为模式基线对应的资源需求基线更变所述用户的资源规格。所述资源需求基线用于表示用户在特定的时刻需要分配的资源规格,例如高峰时需要分配较多的资源,而低估时则仅需要分配较少的资源,从而实现合理的资源分配,以某一云产品为例,其相应的资源可能包括但不限于存储空间、内存、服务器实例数等等。对于每个用户来说,其资源需求基线与其行为模式基线一一对应,在最优情况下资源需求基线能够保证用户在符合行为模式基线时能够在行为周期内的任意时刻获得最合理的资源规格。在实际应用中,由于过于频繁的变更资源规格可能会影响到的业务的正常处理,因此只要当用户的资源使用行为发生显著改变时(一般为预设的触发检测时刻),才会对用户的资源规格进行变更。由此,资源需求基线一般呈折线的形式,如图2(c)所示。以内存资源为例,用户在高峰期时需要1000mb的内存,在高峰期之前仅需要600mb即可,若在该次高峰期对应的触发检测时刻确定用户的行为与行为模式基线匹配,则会将该用户的资源规格变更为1000mb的内存,以满足用户在该次高峰期的资源使用需求。此外,若匹配检测的结果为:所述用户在第一时间段的特征行为指标数据与行为模式基线不匹配,则表示用户当前的资源使用行为不符合用户在该周期内用户常规的行为趋势,此时,不进行资源规格变更,等待一下的触发检测时刻重新进行匹配检测。本申请的技术方案实时获取用户的特征行为指标数据,在触发检测时刻与离线演算获得的行为模式基线进行匹配,由此提前预测资源使用的高峰期或者低谷期,从而提前根据用户的行为模式来对用户所需要使用的资源规格进行动态调整,来达到满足用户使用资源的需求,避免用户在高峰时资源不足或者在低谷时资源浪费,具有较好的提前预测性。前述方法主要用于线上实时处理,以实现资源规格的动态调整。为了保证前述线上实时处理的部分能够准确的执行,该方法还包括了离线处理的部分,以获得用于进行匹配、变更的行为模式基线以及资源需求基线。因此,本申请实施例还提供了一种优选的基于用户行为的资源动态调整方法,在前述方法的基础上,进一步包括:生成所述用户的行为模式基线,并根据所述行为模式基线生成对应的资源需求基线。其中,生成所述用户的行为模式基线的具体方法,包括图3所示的几个步骤:步骤s301,获取所述用户在第二时间段内行为特征指标数据。其中,所述第二时间段为用于采集生成所述行为模式基线的行为特征指标数据样本的时间段。在实际应用中,由于可以根据实际经验对行为模式的周期类型进行一个初步的判断,将n个周期的时长作为第二时间段,例如某一用户的行为模式以每日为周期,那么可以获取所述用户在最近十日内的行为特征指标数据,作为生成行为模式基线的依据。当然,对于无法根据实际经验进行初步判断的情况,也可以设置一个较长的时间段作为第二时间段,以保证能够获得准确的行为模式基线。与线上实时处理的部分类似,在获取用户的特征行为指标数据时,同样可以收集尽可能多的用户行为数据,然后抽取有效数据作为特征行为指标数据。步骤s302,根据所述行为特征指标数据及预设的权重,获取所述第二时间段内每个时刻的行为聚合值。具体地,每个时刻的行为聚合值可以根据如下公式计算得到:其中,所述bt表示在时刻t的行为聚合值,ai表示在时刻t的行为特征指标数据,pi表示在ai对应的权重。步骤s303,根据所述第二时间段内每个时刻的行为聚合值确定所述用户在第二时间段内的行为聚合值是否有周期性。由于步骤s302中能够得到第二时间段内每个时刻的行为聚合值,由此可以获得时间—行为聚合值的集合数据,在进行周期类型匹配时,可以根据预设的几个常用周期类型的集合,与该时间—行为聚合值的集合数据进行匹配,由此确定是否有周期性以及具体的周期类型。本实施例中,为了获取最精确的周期类型,会按照周期类型的时间粒度由小至大的顺序,将所述用户在第二时间段内的行为聚合值与预设的周期类型进行匹配,若与任一周期类型匹配,则确定有周期性。例如,按依次照每小时、每天、每周的顺序进行匹配,当时间—行为聚合值的集合数据能够匹配上每天的周期类型匹配时,则无需继续与每周的周期类型进行匹配,可以确定用户在第二时间段内的行为聚合值具有周期性,且周期类型为每天。具体地,进行周期类型匹配时,首先将所述用户在第二时间段内的行为聚合值根据预设的某一周期类型划分为多个周期,若所述多个周期内的行为聚合值的拟合线的相关系数超过阈值,则确定所述用户在第二时间段内的行为聚合值与所述周期类型匹配。在本实施例中,假设第二时间段为最近的十日,若首先按照每小时的周期类型进行匹配,则将该十日内的行为聚合值按照每小时进行划分,若所述多个周期内的行为聚合值的拟合线的相关系数较低,未超过预设的阈值,则确定所述用户在第二时间段内的行为聚合值与每小时的周期类型不匹配。然后,继续按照每天的周期类型进行匹配,则将该十日内的行为聚合值按照每天进行划分,由此划分为十组行为聚合值数据,作为计算的样本数据。若计算得到该十组行为聚合值数据的拟合线的相关系数超过了阈值,则可以确定所述用户在第二时间段内的行为聚合值与每小时的周期类型匹配。在实际应用中,所述相关系数可以为pearson相关系数,该相关系数是介于[-1,1]的数值,1表示比较的两者成正相关,-1表示两者成负相关,即当相似系数的绝对值越接近于1,表示两者相关性越大,反之,表示两者相关性越小。本实施例中一般大于0.75以上,可以认为两者的相关性达到要求,具备相似性。对于十组样本数据,可以根据精度的需求选择任意数量的组合进行相关性的判定,例如抽取其中四组或者五组进行两两计算,根据计算得到的多个相关系数与阈值比较的结果,确定是否该周期类型是否匹配。在对任意两组样本数据进行相关性判定时,可以先根据每组样本数据生成拟合线,在计算拟合线之间的pearson相关系数,由此进行判定。此外,也可以根据每组样本数据生成每个时刻的斜率,再根据对应时刻的斜率计算两者的相关性。此外,若遍历所有预设的周期类型之后,与所述用户在第二时间段内的行为聚合值与任一周期类型均不匹配,则可以认为不具有周期性。对于没有周期性的情况,可以直接生产一个空的行为模式基线,并且不生成相应的资源需求基线。步骤s304,若有周期性,则根据所述用户在第二时间段内的行为聚合值确定行为模式基线。具体地,确定行为模式基线的处理流程如图4所示,包括以下步骤:步骤s3041,由所述第二时间段内的行为聚合值中选取若干个周期的行为聚合值。在已经确定周期类型的情况下,从第二时间段内的所有周期中,选取几个周期的行为聚合值数据,用于后续的处理。在此过程中,具体选取的周期数量可以根据对计算精度的需求任意选取,例如本实施例中第二时间段内一共包括十天(即10个周期),此时可以选取其中任意5天的行为聚合值,用于后续的处理。步骤s3042,根据所述若干个周期中每一时刻的遗忘滑动窗口的行为聚合值,获取所述若干个周期中每一时刻的行为校正值。其中,所述遗忘滑动窗口可以根据周期类型、行为聚合值的统计粒度等因素设置为不同的窗口长度,例如本实施例中的周期类型为每天,对于行为聚合值的统计粒度为每分钟,则可以设置所述遗忘滑动窗口为10分钟,即以8:00这一时刻为例,将根据7:55至8:05之间的所有行为聚合值计算8:00的行为校正值。在计算行为校正值时,可以根据与基准时刻(8:00)的远近,确定遗忘滑动窗口其它时刻的行为聚合值的权重,例如与基准时刻越接近,则其权重越大,本实施例中遗忘滑动窗口中各个时刻的行为聚合值的权重如下表所示:时刻7:557:567:577:587:598:008:018:028:038:048:05权重3%5%7%10%15%40%15%10%7%5%3%由此,可以根据如下公式计算选取的所有周期内某一时刻的行为校正值:所述ct表示在时刻t的行为校正值,bj表示在时刻t的遗忘滑动窗口中各个时刻的行为聚合值,pj表示在bj对应的权重。步骤s3043,获取所述若干个周期中每一时刻的行为校正值的均值,作为所述用户在周期内的每个时刻的聚合校正值。在本实施例中,由于选取的周期数量为5个,对于某一时刻,根据上述公式将会计算出5个分别对应各个周期的行为校正值,取其算术平均数即为所述用户在周期内的该时刻的聚合校正值,遍历周期内的所有时刻,即可得到所述用户在周期内的每个时刻的聚合校正值。该聚合校正值所组成的曲线即为行为模式基准线。步骤s3044,获取周期内的每个时刻的聚合校正值的置信区间,并根据所述置信区间确定所述用户的行为模式基线。实际应用中,其置信区间可以根据如下方式确定,获取所述若干个周期中每个时刻的行为校正值的均值和方差d(x),将所述均值和方差的和作为置信区间的上限值,将所述均值和方差的差作为置信区间的下限值,即由此,可以得到如图2(a)所示的行为模式基线。对于所述置信区间可以进一步定义显著性水平α,使得通过行为模式基线进行用户行为匹配时,能够得到更加合理的结果。在获取到行为模式基线的之后,可以根据资源规格和行为模式之间的映射关系,获得用户随时间变化的资源需求基线。由于过于频繁的变更资源规格可能会影响到的业务的正常处理,因此只要当用户的资源使用行为发生显著改变时,才会对用户的资源规格进行变更。由此,资源需求基线一般呈折线的形式,如图2(c)所示。基于本申请的另一方面,还提供了基于用户行为的资源动态调整设备,该设备的结构如图5所示,包括用户行为监控装置510、检测装置520和更变装置530。具体地,所述用户行为监控装置510用于获取用户的特征行为指标数据。在此,所述特征行为指标数据是指能够有效表征用户资源使用的行为数据,例如以云产品服务的资源使用为例,可以将cpu使用率、内存使用率、磁盘使用率、qps、活跃连接数、访问延迟等作为特性行为指标数据。在获取用户的特征行为指标数据时,可以收集尽可能多的用户行为数据,然后抽取有效数据作为特征行为指标数据。例如,可以通过实时监控的方式,实时获取用户的所有行为数据,然后再由用户的所有线上行为数据中抽取其中的特征行为指标数据进行缓存,以用于后续的处理。在实际应用中,特征行为指标数据的类型在一段时间内保持相对稳定,但是可以随时间发生一定变化,例如在第一季度,用户的行为特征指标可以包含访问延迟,但是在第二季度时,可能随着网络条件升级该数据已经无法有效表征用户资源使用的情况,可以取消将访问延迟作为特征行为指标数据。所述检测装置520用于在触发检测时刻检测所述用户在第一时间段的特征行为指标数据与行为模式基线是否匹配,其中所述第一时间段为所述触发检测时刻之前的预设时长的时间段;在此,所述触发检测时刻是指根据当前的用户特征行为指标数据与行为模式基线进行匹配的时刻,一般可以设置为在用户行为发生显著变化,并需要改变资源规格以适应变化的用户行为的时刻。例如每天的8:00左右为某个云产品的使用高峰,在此时cpu使用率、内存使用率等特征行为指标数据会明显增加,有可能会使得现有的资源发生不足。因此,可以设置8:00为触发检测时刻。进一步地,可以预定义一提前量,使得进行检测并变更规格的时间略早于实际的资源需求变化。仍以前述场景为例,可以设置10分钟的提前量,将触发检测时刻设置为7:50。所述第一时间段为所述触发检测时刻之前的预设时长的时间段,在实际检测时将该第一时间段内的特征行为指标数据作为匹配处理的样本数据。第一时间段具体设置的时长可以根据实际需求确定,例如本实施例中可以设置为15分钟,即将7:35-7:50之间的特征行为指标数据作为与行为模式基线进行匹配的样本。所述行为模式基线可以以一段时间内累积的特征行为指标数据为样本进行离线演算获得,用于表示用户的某个周期内对于云产品服务资源的使用趋势。通过将实时获得特征行为指标数据与其进行匹配,可以确定用户的当前行为是否符合预测的使用趋势,从而实现对用户的资源使用行为的预测。具体地,本实施例中,所述检测装置520用于在触发检测时刻,根据所述用户在第一时间段的特征行为指标数据及预设的权重,获取所述用户在第一时间段的行为聚合值,以及在所述用户在第一时间段的行为聚合值处于所述行为模式基线的置信区间内时,确定所述用户在第一时间段的特征行为指标数据与行为模式基线匹配。对于各类特征行为指标数据,其权重的设置主要考虑到该类特征行为指标数据对于用户资源使用行为的影响程度,例如对于上例中提及的几类特征行为指标数据,其对应的权重可以设置为:cpu使用率(15%权重)、内存使用率(20%权重)、磁盘使用率(10%权重)、qps(40%权重)、活跃连接数(10%权重)、访问延迟(5%权重)。所述行为模式基线通过设置一定的置信区间,只要保证用户在第一时间段的行为聚合值处于所述行为模式基线的置信区间内即可判定为两者匹配。图2(a)示出了某用户的行为模式基线示意图,图中2a所示的部分即为置信区间,若仍以上述场景为例,其第一时间段为15分钟,假设将特征行为指标数据的统计粒度设置为每分钟,由此可以计算得到相应的15个行为聚合值,其分布如图2(b)所示,均处于行为模式基线的置信区间内。为了提高匹配结果的合理性,可以预先定义显著性水平α,只要所有行为聚合值中未处于行为模式基线的置信区间内的比例低于α,仍可以判定用户在第一时间段的特征行为指标数据与行为模式基线匹配。所述更变装置530用于在匹配时根据与所述行为模式基线对应的资源需求基线更变所述用户的资源规格。所述资源需求基线用于表示用户在特定的时刻需要分配的资源规格,例如高峰时需要分配较多的资源,而低估时则仅需要分配较少的资源,从而实现合理的资源分配,以某一云产品为例,其相应的资源可能包括但不限于存储空间、内存、服务器实例数等等。对于每个用户来说,其资源需求基线与其行为模式基线一一对应,在最优情况下资源需求基线能够保证用户在符合行为模式基线时能够在行为周期内的任意时刻获得最合理的资源规格。在实际应用中,由于过于频繁的变更资源规格可能会影响到的业务的正常处理,因此只要当用户的资源使用行为发生显著改变时(一般为预设的触发检测时刻),才会对用户的资源规格进行变更。由此,资源需求基线一般呈折线的形式,如图2(c)所示。以内存资源为例,用户在高峰期时需要1000mb的内存,在高峰期之前仅需要600mb即可,若在该次高峰期对应的触发检测时刻确定用户的行为与行为模式基线匹配,则会将该用户的资源规格变更为1000mb的内存,以满足用户在该次高峰期的资源使用需求。此外,若匹配检测的结果为:所述用户在第一时间段的特征行为指标数据与行为模式基线不匹配,则表示用户当前的资源使用行为不符合用户在该周期内用户常规的行为趋势,此时,不进行资源规格变更,等待一下的触发检测时刻重新进行匹配检测。本申请的技术方案实时获取用户的特征行为指标数据,在触发检测时刻与离线演算获得的行为模式基线进行匹配,由此提前预测资源使用的高峰期或者低谷期,从而提前根据用户的行为模式来对用户所需要使用的资源规格进行动态调整,来达到满足用户使用资源的需求,避免用户在高峰时资源不足或者在低谷时资源浪费,具有较好的提前预测性。在此,,本领域技术人员应当理解,所述资源动态调整设备可以包括但不限于用户设备、网络设备或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于个人计算机、触控终端等实现;所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(cloudcomputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。前述资源动态调整设备主要用于线上实时处理,以实现资源规格的动态调整。为了保证前述线上实时处理的部分能够准确的执行,该资源动态调整设备还包括了离线处理的部分,以获得用于进行匹配、变更的行为模式基线以及资源需求基线。因此,本申请实施例还提供了一种优选的基于用户行为的资源动态调整设备,其结构如图6所示,除图5所示的用户行为监控装置510、检测装置520和更变装置530之外,还包括离线演算装置540。该离线演算装置540用于生成所述用户的行为模式基线,并根据所述行为模式基线生成对应的资源需求基线。具体地,所述离线演算装置540的具体结构如图7所示,包括离线采集模块541、行为统计模块542、周期匹配模块543和行为模式分析模块544。其中,离线采集模块541用于获取所述用户在第二时间段内行为特征指标数据。所述第二时间段为用于采集生成所述行为模式基线的行为特征指标数据样本的时间段。在实际应用中,由于可以根据实际经验对行为模式的周期类型进行一个初步的判断,将n个周期的时长作为第二时间段,例如某一用户的行为模式以每日为周期,那么可以获取所述用户在最近十日内的行为特征指标数据,作为生成行为模式基线的依据。当然,对于无法根据实际经验进行初步判断的情况,也可以设置一个较长的时间段作为第二时间段,以保证能够获得准确的行为模式基线。与线上实时处理的部分类似,在获取用户的特征行为指标数据时,同样可以收集尽可能多的用户行为数据,然后抽取有效数据作为特征行为指标数据。行为统计模块542用于根据所述行为特征指标数据及预设的权重,获取所述第二时间段内每个时刻的行为聚合值。具体地,每个时刻的行为聚合值可以根据如下公式计算得到:其中,所述bt表示在时刻t的行为聚合值,ai表示在时刻t的行为特征指标数据,pi表示在ai对应的权重。周期匹配模块543用于根据所述第二时间段内每个时刻的行为聚合值确定所述用户在第二时间段内的行为聚合值是否有周期性。由于行为统计模块542能够得到第二时间段内每个时刻的行为聚合值,由此可以获得时间—行为聚合值的集合数据,在进行周期类型匹配时,可以根据预设的几个常用周期类型的集合,与该时间—行为聚合值的集合数据进行匹配,由此确定是否有周期性以及具体的周期类型。本实施例中,为了获取最精确的周期类型,会按照周期类型的时间粒度由小至大的顺序,将所述用户在第二时间段内的行为聚合值与预设的周期类型进行匹配,若与任一周期类型匹配,则确定有周期性。例如,按依次照每小时、每天、每周的顺序进行匹配,当时间—行为聚合值的集合数据能够匹配上每天的周期类型匹配时,则无需继续与每周的周期类型进行匹配,可以确定用户在第二时间段内的行为聚合值具有周期性,且周期类型为每天。具体地,周期匹配模块543在进行周期类型匹配时,首先将所述用户在第二时间段内的行为聚合值根据预设的某一周期类型划分为多个周期,若所述多个周期内的行为聚合值的拟合线的相关系数超过阈值,则确定所述用户在第二时间段内的行为聚合值与所述周期类型匹配。在本实施例中,假设第二时间段为最近的十日,若首先按照每小时的周期类型进行匹配,则将该十日内的行为聚合值按照每小时进行划分,若所述多个周期内的行为聚合值的拟合线的相关系数较低,未超过预设的阈值,则确定所述用户在第二时间段内的行为聚合值与每小时的周期类型不匹配。然后,继续按照每天的周期类型进行匹配,则将该十日内的行为聚合值按照每天进行划分,由此划分为十组行为聚合值数据,作为计算的样本数据。若计算得到该十组行为聚合值数据的拟合线的相关系数超过了阈值,则可以确定所述用户在第二时间段内的行为聚合值与每小时的周期类型匹配。在实际应用中,所述相关系数可以为pearson相关系数,该相关系数是介于[-1,1]的数值,1表示比较的两者成正相关,-1表示两者成负相关,即当相似系数的绝对值越接近于1,表示两者相关性越大,反之,表示两者相关性越小。本实施例中一般大于0.75以上,可以认为两者的相关性达到要求,具备相似性。对于十组样本数据,可以根据精度的需求选择任意数量的组合进行相关性的判定,例如抽取其中四组或者五组进行两两计算,根据计算得到的多个相关系数与阈值比较的结果,确定是否该周期类型是否匹配。在对任意两组样本数据进行相关性判定时,可以先根据每组样本数据生成拟合线,在计算拟合线之间的pearson相关系数,由此进行判定。此外,也可以根据每组样本数据生成每个时刻的斜率,再根据对应时刻的斜率计算两者的相关性。此外,若遍历所有预设的周期类型之后,与所述用户在第二时间段内的行为聚合值与任一周期类型均不匹配,则可以认为不具有周期性。对于没有周期性的情况,可以直接生产一个空的行为模式基线,并且不生成相应的资源需求基线。行为模式分析模块544用于在有周期性时根据所述用户在第二时间段内的行为聚合值确定行为模式基线。在具体处理过程中,行为模式分析模块544所实现的功能包括:1、由所述第二时间段内的行为聚合值中选取若干个周期的行为聚合值。在已经确定周期类型的情况下,从第二时间段内的所有周期中,选取几个周期的行为聚合值数据,用于后续的处理。在此过程中,具体选取的周期数量可以根据对计算精度的需求任意选取,例如本实施例中第二时间段内一共包括十天(即10个周期),此时可以选取其中任意5天的行为聚合值,用于后续的处理。2、根据所述若干个周期中每一时刻的遗忘滑动窗口的行为聚合值,获取所述若干个周期中每一时刻的行为校正值。其中,所述遗忘滑动窗口可以根据周期类型、行为聚合值的统计粒度等因素设置为不同的窗口长度,例如本实施例中的周期类型为每天,对于行为聚合值的统计粒度为每分钟,则可以设置所述遗忘滑动窗口为10分钟,即以8:00这一时刻为例,将根据7:55至8:05之间的所有行为聚合值计算8:00的行为校正值。在计算行为校正值时,可以根据与基准时刻(8:00)的远近,确定遗忘滑动窗口其它时刻的行为聚合值的权重,例如与基准时刻越接近,则其权重越大,本实施例中遗忘滑动窗口中各个时刻的行为聚合值的权重如下表所示:时刻7:557:567:577:587:598:008:018:028:038:048:05权重3%5%7%10%15%40%15%10%7%5%3%由此,可以根据如下公式计算选取的所有周期内某一时刻的行为校正值:所述ct表示在时刻t的行为校正值,bj表示在时刻t的遗忘滑动窗口中各个时刻的行为聚合值,pj表示在bj对应的权重。3、获取所述若干个周期中每一时刻的行为校正值的均值,作为所述用户在周期内的每个时刻的聚合校正值。在本实施例中,由于选取的周期数量为5个,对于某一时刻,根据上述公式将会计算出5个分别对应各个周期的行为校正值,取其算术平均数即为所述用户在周期内的该时刻的聚合校正值,遍历周期内的所有时刻,即可得到所述用户在周期内的每个时刻的聚合校正值。该聚合校正值所组成的曲线即为行为模式基准线。4、获取周期内的每个时刻的聚合校正值的置信区间,并根据所述置信区间确定所述用户的行为模式基线。实际应用中,其置信区间可以根据如下方式确定,获取所述若干个周期中每个时刻的行为校正值的均值和方差d(x),将所述均值和方差的和作为置信区间的上限值,将所述均值和方差的差作为置信区间的下限值,即由此,可以得到如图2(a)所示的行为模式基线。对于所述置信区间可以进一步定义显著性水平α,使得通过行为模式基线进行用户行为匹配时,能够得到更加合理的结果。在获取到行为模式基线的之后,可以根据资源规格和行为模式之间的映射关系,获得用户随时间变化的资源需求基线。由于过于频繁的变更资源规格可能会影响到的业务的正常处理,因此只要当用户的资源使用行为发生显著改变时,才会对用户的资源规格进行变更。由此,资源需求基线一般呈折线的形式,如图2(c)所示。此外,本申请实施例还提供了一种基于用户行为的资源动态调整设备,该设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取用户的特征行为指标数据;在触发检测时刻,检测所述用户在第一时间段的特征行为指标数据与行为模式基线是否匹配,其中所述第一时间段为所述触发检测时刻之前的预设时长的时间段;以及在匹配时,根据与所述行为模式基线对应的资源需求基线更变所述用户的资源规格。图8示出了基于本申请技术方案实现的云产品弹性升降级系统,该系统包括离线部分和实时部分,共计5个功能模块、1个触发器(定时触发器)以及1个数据库(模式库)。其中,离线部分包括:1、用户行为数据收集模块810用于收集用户基于云产品的时间—行为数据,例如云产品的cpu使用、内存使用、磁盘消耗、连接数消耗、数据库访问次数等。2、用户行为模式分析模块820根据时间—行为数据,提取用户的特征行为指标数据并分析,得到用户时间行为模式,即在一定周期内,对该云产品的使用趋势(行为模式)。3、行为云产品规格适配模块830根据用户时间行为模式,聚合匹配出周期内每个时间段所对应的云产品规格(即资源规格)。4、定时触发器840用于唤醒离线演算任务的运行。将离线部分从休眠状态唤醒至运行状态,启动用户行为数据收集模块、用户行为模式分析模块以及行为云产品规格适配模块进行相应的处理,得到用户的行为模式以及相应的资源规格。当任务完成时,离线部分进入休眠状态。实时部分包括:1、行为监控模块850实时监控用户在云产品上的操作行为,并与用户行为模式进行匹配,在当前用户操作行为符合行为模式,并且行为模式对应的资源规格将变更时,触发云产品扩容/缩容调度模块。2、云产品扩容/缩容调度模块860根据即将变更的资源规格,对用户的云产品进行规格扩容或者缩容。模式库870用于存放离线部分计算出的用户的行为模式,以及对应匹配出的云产品规格,以供实时部分进行监控、效验。综上所述,本申请的技术方案实时获取用户的特征行为指标数据,在触发检测时刻与离线演算获得的行为模式基线进行匹配,由此提前预测资源使用的高峰期或者低谷期,从而提前根据用户的行为模式来对用户所需要使用的资源规格进行动态调整,来达到满足用户使用资源的需求,避免用户在高峰时资源不足或者在低谷时资源浪费,具有较好的提前预测性。需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1