一种面向多租户的缓冲区管理方法及服务器技术

技术编号:15956191 阅读:25 留言:0更新日期:2017-08-08 09:55
本发明专利技术公开了一种面向多租户的缓冲区管理方法及服务器,该方法包括:根据预设历史时间段内多租户中目标租户的历史缓冲区命中率,按照预设规则预测目标租户的未来缓冲区命中率;比较未来缓冲区命中率与目标租户的期望缓冲区命中率的大小;若未来缓冲区命中率大于期望缓冲区命中率,则根据未来缓冲区命中率与第一预设缓冲区命中率的差值,按照第一预设算法计算出第一容量,并按照第一容量从目标租户的目标缓冲区中释放数据页;若未来缓冲区命中率小于期望缓冲区命中率,则根据第二预设缓冲区命中率与未来缓冲区命中率的差值,按照第二预设算法计算出第二容量,并按照第二容量为目标缓冲区添加数据页。本发明专利技术可动态调整目标租户的缓冲区容量。

【技术实现步骤摘要】
一种面向多租户的缓冲区管理方法及服务器
本专利技术涉及数据库
,尤其涉及一种面向多租户的缓冲区管理方法及服务器。
技术介绍
在数据库(Database,DB)领域,租户表示一个数据库的“用户”,他“租用”了数据库的部分资源。多租户(Multi-Tenancy/Tenant)是指多个租户共享一个数据库实例。随着云计算技术的兴起和蓬勃发展,越来越多的云服务提供商将多租户应用部署在云上,多个租户共用云上相同的系统或程序组件,共享云上的资源(例如硬件资源、计算资源、内存资源等),并且可确保租户间数据的隔离性。例如,多个企业通过某服务网站开启企业邮箱,每个企业在登录网站时使用同样的界面填写企业ID、密码等认证信息,接受网站同样的服务流程,但网站为每个企业保留的信息是隔离的。一个企业无法看到其它企业的信息。这里,每个企业就是一个租户,一个租户中包含管理员和普通员工的多个个人账户。多个租户在对云上存储的数据进行访问时,传统的缓冲区资源管理方案存在着明显的不足:每个租户在云上创建时,云服务系统按需为其分配固定大小的缓冲区,由于系统在运行过程中每个租户的缓冲区使用大小具有不确定性,往往因为初始设置的缓冲区容量过大而造成缓冲区的资源浪费,也会因为初始设置的缓冲区容量过小而导致不能满足租户的需求。
技术实现思路
本专利技术实施例提供了一种面向多租户的缓冲区管理方法及服务器。第一方面,提供了一种面向多租户的缓冲区管理方法,应用于但不限于服务器,例如数据库服务器,可应用于大规模处理的数据库处理系统,所述数据库处理系统包括但不限于:分布式磁盘数据库系统、集群数据库系统和MPP(MassivelyParallelProcessing,大规模并行处理系统)数据库系统。且所述服务器可以为普通服务器,也可以为云服务器(又称云计算服务器或云主机)。所述方法包括:根据预设历史时间段内目标租户的历史缓冲区命中率,按照预设规则预测所述目标租户的未来缓冲区命中率,所述目标租户为所述多租户中的一个;比较所述未来缓冲区命中率与所述目标租户预设的期望缓冲区命中率的大小,所述期望缓冲区命中率为所述目标租户对缓冲区命中率的平均需求值,所述目标租户在服务器上申请注册时,可以对所述期望缓冲区命中率进行设置;若所述未来缓冲区命中率大于所述期望缓冲区命中率,则根据所述未来缓冲区命中率与所述目标租户预设的第一预设缓冲区命中率的差值,按照第一预设算法计算出第一容量,并按照所述第一容量从所述目标租户对应的目标缓冲区中释放数据页;其中所述第一预设缓冲区命中率小于所述未来缓冲区命中率;若所述未来缓冲区命中率小于所述期望缓冲区命中率,则根据所述目标租户预设的第二预设缓冲区命中率与所述未来缓冲区命中率的差值,按照第二预设算法计算出第二容量,并按照所述第二容量为所述目标缓冲区添加数据页;其中所述第二预设缓冲区命中率大于所述未来缓冲区命中率。通过实施第一方面所描述的方法,可以根据目标租户未来的缓冲区命中率需求以及所述目标租户预设的缓冲区命中率需求的大小关系,动态调整所述目标租户对应的目标缓冲区的容量。在一些实现方式中,所述根据所述未来缓冲区命中率与所述目标租户预设的第一预设缓冲区命中率的差值,按照第一预设算法计算出第一容量,包括:将所述期望缓冲区命中率作为所述目标租户预设的第一预设缓冲区命中率,并根据所述未来缓冲区命中率与所述期望缓冲区命中率的差值以及预设的缓冲区容量,按照第一预设算法计算出第一容量。通过执行上述步骤,可以在满足所述目标租户的期望缓冲区命中率需求的情况下,利用所述目标租户的未来缓冲区命中率与所述期望缓冲区命中率的差值进行计算,得到所述目标租户富余的数据页的容量,从而将所述目标租户富余的数据页进行释放,避免资源浪费。在一些实现方式中,所述根据所述目标租户预设的第二预设缓冲区命中率与所述未来缓冲区命中率的差值,按照第二预设算法计算出第二容量,包括:将所述期望缓冲区命中率作为所述目标租户预设的第二预设缓冲区命中率,并根据所述期望缓冲区命中率与所述未来缓冲区命中率的差值以及预设的缓冲区容量,按照第二预设算法计算出第二容量。通过执行上述步骤,为保障所述目标租户的期望缓冲区命中率需求,利用所述目标租户的期望缓冲区命中率与所述未来缓冲区命中率的差值进行计算,得到所述目标租户目前所需的数据页的容量,从而为所述目标租户添加数据页,保障所述目标租户的访问性能需求。在一些实现方式中,所述根据所述未来缓冲区命中率与所述目标租户预设的第一预设缓冲区命中率的差值,按照第一预设算法计算出第一容量,包括:判断所述未来缓冲区命中率是否大于所述目标租户预设的最大缓冲区命中率,所述最大缓冲区命中率大于所述期望缓冲区命中率,所述最大缓冲区命中率为所述目标租户对缓冲区命中率的最大需求值,所述目标租户在所述服务器上申请注册时,可以对所述最大缓冲区容量进行设置;若是,则将所述最大缓冲区命中率作为所述目标租户预设的第一预设缓冲区命中率,并根据所述未来缓冲区命中率与所述最大预设缓冲区命中率的差值以及预设的缓冲区容量,按照第一预设算法计算出第一容量。通过执行上述步骤,可以在满足所述目标租户的最大缓冲区命中率需求的前提下,利用所述未来缓冲区命中率与所述最大缓冲区命中率的差值进行计算,得到所述目标缓冲区富余的数据页的容量,从而将所述目标租户富余的数据页进行释放,避免资源浪费。在一些实现方式中,所述按照所述第一容量从所述目标租户对应的目标缓冲区中释放数据页,包括:按照所述第一容量从所述目标租户对应的目标缓冲区中释放数据页,并将释放出的所述第一容量的数据页添加到空闲缓冲区中,所述空闲缓冲区中的数据页用于供所述多租户中需要添加数据页的租户使用。通过执行上述步骤,可以将从所述目标租户的缓冲区中释放出的数据页添加到空闲缓冲区中,既可以保障所述目标租户的访问性能需求,又能够将所述目标租户富余的缓冲区资源释放出来,以供给所述多租户中其他需要增加缓冲区容量的租户(包括所述目标租户、所述多租户中的其他租户以及所述服务器新增加的租户)或者服务器中的其他业务使用,提高多租户的整体性能和缓冲区的资源利用率。在一些实现方式中,所述根据所述未来缓冲区命中率与所述目标租户预设的第一预设缓冲区命中率的差值,按照第一预设算法计算出第一容量,包括:判断所述未来缓冲区命中率是否大于所述目标租户预设的最大缓冲区命中率,所述最大缓冲区命中率大于所述期望缓冲区命中率;若否,则将所述期望缓冲区命中率作为所述目标租户预设的第一预设缓冲区命中率,并根据所述未来缓冲区命中率与所述期望缓冲区命中率的差值以及预设的缓冲区容量,按照第一预设算法计算出第一容量。通过执行上述步骤,可以在满足所述目标租户的期望缓冲区命中率需求的情况下,利用所述目标租户的未来缓冲区命中率与所述期望缓冲区命中率的差值进行计算,得到所述目标租户富余的数据页的容量,从而将所述目标租户富余的数据页进行释放,避免资源浪费。在一些实现方式中,所述按照所述第一容量从所述目标租户对应的目标缓冲区中释放数据页,包括:按照所述第一容量从所述目标租户对应的目标缓冲区中释放数据页,所述释放出的数据页用于供所述多租户中其他需要添加数据页的租户使用,所述第一容量小于或等于所述其他需要添加数据页的租本文档来自技高网...

【技术保护点】
一种面向多租户的缓冲区管理方法,其特征在于,包括:根据预设历史时间段内目标租户的历史缓冲区命中率,按照预设规则预测所述目标租户的未来缓冲区命中率,所述目标租户为所述多租户中的一个;比较所述未来缓冲区命中率与所述目标租户预设的期望缓冲区命中率的大小;若所述未来缓冲区命中率大于所述期望缓冲区命中率,则根据所述未来缓冲区命中率与所述目标租户预设的第一预设缓冲区命中率的差值,按照第一预设算法计算出第一容量,并按照所述第一容量从所述目标租户对应的目标缓冲区中释放数据页;其中所述第一预设缓冲区命中率小于所述未来缓冲区命中率;若所述未来缓冲区命中率小于所述期望缓冲区命中率,则根据所述目标租户预设的第二预设缓冲区命中率与所述未来缓冲区命中率的差值,按照第二预设算法计算出第二容量,并按照所述第二容量为所述目标缓冲区添加数据页;其中所述第二预设缓冲区命中率大于所述未来缓冲区命中率。

【技术特征摘要】
1.一种面向多租户的缓冲区管理方法,其特征在于,包括:根据预设历史时间段内目标租户的历史缓冲区命中率,按照预设规则预测所述目标租户的未来缓冲区命中率,所述目标租户为所述多租户中的一个;比较所述未来缓冲区命中率与所述目标租户预设的期望缓冲区命中率的大小;若所述未来缓冲区命中率大于所述期望缓冲区命中率,则根据所述未来缓冲区命中率与所述目标租户预设的第一预设缓冲区命中率的差值,按照第一预设算法计算出第一容量,并按照所述第一容量从所述目标租户对应的目标缓冲区中释放数据页;其中所述第一预设缓冲区命中率小于所述未来缓冲区命中率;若所述未来缓冲区命中率小于所述期望缓冲区命中率,则根据所述目标租户预设的第二预设缓冲区命中率与所述未来缓冲区命中率的差值,按照第二预设算法计算出第二容量,并按照所述第二容量为所述目标缓冲区添加数据页;其中所述第二预设缓冲区命中率大于所述未来缓冲区命中率。2.根据权利要求1所述的方法,其特征在于,所述根据所述未来缓冲区命中率与所述目标租户预设的第一预设缓冲区命中率的差值,按照第一预设算法计算出第一容量,包括:将所述期望缓冲区命中率作为所述目标租户预设的第一预设缓冲区命中率,并根据所述未来缓冲区命中率与所述期望缓冲区命中率的差值以及预设的缓冲区容量,按照第一预设算法计算出第一容量。3.根据权利要求1所述的方法,其特征在于,所述根据所述目标租户预设的第二预设缓冲区命中率与所述未来缓冲区命中率的差值,按照第二预设算法计算出第二容量,包括:将所述期望缓冲区命中率作为所述目标租户预设的第二预设缓冲区命中率,并根据所述期望缓冲区命中率与所述未来缓冲区命中率的差值以及预设的缓冲区容量,按照第二预设算法计算出第二容量。4.根据权利要求1所述的方法,其特征在于,所述根据所述未来缓冲区命中率与所述目标租户预设的第一预设缓冲区命中率的差值,按照第一预设算法计算出第一容量,包括:判断所述未来缓冲区命中率是否大于所述目标租户预设的最大缓冲区命中率,所述最大缓冲区命中率大于所述期望缓冲区命中率;若是,则将所述最大缓冲区命中率作为所述目标租户预设的第一预设缓冲区命中率,并根据所述未来缓冲区命中率与所述最大预设缓冲区命中率的差值以及预设的缓冲区容量,按照第一预设算法计算出第一容量。5.根据权利要求1、2或4所述的方法,其特征在于,所述按照所述第一容量从所述目标租户对应的目标缓冲区中释放数据页,包括:按照所述第一容量从所述目标租户对应的目标缓冲区中释放数据页,并将释放出的所述第一容量的数据页添加到空闲缓冲区中,所述空闲缓冲区中的数据页用于供所述多租户中需要添加数据页的租户使用。6.根据权利要求1所述的方法,其特征在于,所述根据所述未来缓冲区命中率与所述目标租户预设的第一预设缓冲区命中率的差值,按照第一预设算法计算出第一容量,包括:判断所述未来缓冲区命中率是否大于所述目标租户预设的最大缓冲区命中率,所述最大缓冲区命中率大于所述期望缓冲区命中率;若否,则将所述期望缓冲区命中率作为所述目标租户预设的第一预设缓冲区命中率,并根据所述未来缓冲区命中率与所述期望缓冲区命中率的差值以及预设的缓冲区容量,按照第一预设算法计算出第一容量。7.根据权利要求2或6所述的方法,其特征在于,所述按照所述第一容量从所述目标租户对应的目标缓冲区中释放数据页,包括:按照所述第一容量从所述目标租户对应的目标缓冲区中释放数据页,所述释放出的数据页用于供所述多租户中其他需要添加数据页的租户使用,所述第一容量小于或等于所述其他需要添加数据页的租户待添加的数据页容量。8.根据权利要求1所述的方法,其特征在于,所述根据所述目标租户预设的第二预设缓冲区命中率与所述未来缓冲区命中率的差值,按照第二预设算法计算出第二容量,包括:判断所述未来缓冲区命中率是否小于所述目标租户预设的最小缓冲区命中率,所述最小缓冲区命中率小于所述期望缓冲区命中率;若是,则将所述最小缓冲区命中率作为所述目标租户预设的第二预设缓冲区命中率,并根据所述最小缓冲区命中率与所述未来缓冲区命中率的差值以及预设的缓冲区容量,按照第二预设算法计算出第二容量。9.根据权利要求1所述的方法,其特征在于,所述根据所述目标租户预设的第二预设缓冲区命中率与所述未来缓冲区命中率的差值,按照第二预设算法计算出第二容量,包括:判断所述未来缓冲区命中率是否小于所述目标租户预设的最小缓冲区命中率,所述最小缓冲区命中率小于所述期望缓冲区命中率;若否,则将所述期望缓冲区命中率作为所述目标租户预设的第二预设缓冲区命中率,并根据所述期望缓冲区命中率与所述未来缓冲区命中率的差值以及预设的缓冲区容量,按照第二预设算法计算出第二容量。10.根据权利要求1、2、4、5或6所述的方法,其特征在于,所述第一预设算法为:C1=(A-B)*D,其中,C1为所述第一容量,A为所述未来缓冲区命中率,B为所述第一预设缓冲区命中率,D为所述预设的缓冲区容量。11.根据权利要求1、2、6或7所述的方法,其特征在于,所述第一预设算法为:C1=min((A-B)*D,E),其中,C1为所述第一容量,A为所述未来缓冲区命中率,B为所述第一预设缓冲区命中率,D为所述预设的缓冲区容量,E为所述多租户中其他租户待添加的数据页容量。12.根据权利要求1、3、8或9所述的方法,其特征在于,所述第二预设算法为:C2=min((F-A)*D,G),其中,C2为所述第二容量,F为所述第二预设缓冲区命中率,A为所述未来缓冲区命中率,D为所述预设的缓冲区容量,G为所述多租户中其他租户待释放的数据页容量和空闲缓冲区中的数据页容量之和。13.根据权利要求2-12任一项所述的方法,其特征在于,所述预设的缓冲区容量包括:所述目标租户预设的最小缓冲区容量、所述目标租户预设的期望缓冲区容量、所述目标租户预设的最大缓冲区容量和所述目标缓冲区当前的容量中的至少一种。14.一种服务器,其特征在于,包括:预测单元,用于根据预设历史时间段内目标租户的历史缓冲区命中率,按照预设规则预测所述目标租户的未来缓冲区命中率,所述目标租户为所述多租户中的一个;比较单元,用于比较所述预测单元预测得到的所述未来缓冲区命中率与所述目标租户预设的期望缓冲区命中率的大小;第一管理单元,用于若所述比较单元比较出所述未来缓冲区命中率大于所述期望缓冲区命...

【专利技术属性】
技术研发人员:文继军李健王伟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1