时序数据库的分区调整方法、装置、设备及可读存储介质制造方法及图纸

技术编号:36329709 阅读:54 留言:0更新日期:2023-01-14 17:39
本申请公开了时序数据库的分区调整方法、装置、设备及可读存储介质,属于数据处理技术领域。方法包括:首先,获取至少一个用户针对时序数据库的数据表的访问请求的特征信息,特征信息用于反映至少一个用户针对数据表的访问习惯。其中,数据表按照预定规则分成多个区组,每个区组又能分成多个区。各个区组分别设置在不同时间段中,各个区分别设置在不同节点中。之后,根据特征信息调整预定规则,根据调整后的规则产生与访问习惯匹配的新的区组和/或新的区。本申请能够根据特征信息及时进行分区规则的更新,避免了由于分区规则不恰当而导致异常情况的发生,使得区组和/或区与用户的访问习惯相匹配,保证了节点的读写性能。保证了节点的读写性能。保证了节点的读写性能。

【技术实现步骤摘要】
时序数据库的分区调整方法、装置、设备及可读存储介质
[0001]本申请要求于2021年07月08日提交的申请号为202110770891.9、专利技术名称为“一种数据库的处理方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请涉及数据处理
,特别涉及时序数据库的分区调整方法、装置、设备及可读存储介质。

技术介绍

[0003]在时序数据库中,数据以数据表的形式存储。由于数据量的不断增长,时序数据库需要将数据表分散至多个节点(node)进行存储。因此,需要对数据表进行分区(sharding),形成多个区(shard),从而将各个区分别设置在不同节点中。
[0004]相关技术中,首先按照时间段对数据表进行划分,得到多个区组(shard group),每个区组分别设置在不同时间段中。在一个区组中,按照一定的规则继续进行划分,得到多个区,每个区分别设置在不同节点中。其中,用于划分得到多个区的规则是在创建数据库或创建数据表时选定的规则。
[0005]然而,随着用户业务的变化,用户针对数据表的访问习惯可能发生改变,从而使得在创建数据库或创建数据表时选定的规则与访问习惯不匹配。如果仍使用选定的规则进行分区,则可能会导致节点之间负载不均衡等异常情况的发生,从而影响了节点的读写性能。

技术实现思路

[0006]本申请提供了一种时序数据的分区调整方法、装置、设备及可读存储介质,以解决相关技术存在的问题,技术方案如下:
[0007]第一方面,提供了一种时序数据库的分区调整方法,首先,获取至少一个用户针对时序数据库的数据表的访问请求的特征信息,特征信息用于反映至少一个用户针对数据表的访问习惯。其中,数据表按照预定规则分成多个区组,每个区组又能分成多个区。各个区组分别设置在不同时间段中,各个区分别设置在不同节点中。之后,根据特征信息调整预定规则,根据调整后的规则产生与访问习惯匹配的新的区组和/或新的区。
[0008]本申请获取用于反映用户针对数据表的访问习惯的特征信息,基于该特征信息调整预定规则,从而根据调整后的预定规则产生与访问习惯匹配的新的区组和/或新的区。本申请能够实现对分区规则的及时更新,避免了由于分区规则不恰当而导致异常情况的发生,使得区组和/或区与用户的访问习惯相匹配,保证了节点的读写性能。
[0009]在一种可能的实现方式中,根据调整后的规则产生与访问习惯匹配的新的区组和/或新的区,包括:产生新的区组,在新的区组中根据调整后的规则产生与访问习惯匹配的新的区。
[0010]在一种可能的实现方式中,方法还包括:在预定区组中确定参考时刻,预定区组为
特征信息的获取时刻所在的区组,参考时刻为特征信息的获取时刻之前数据表中有数据写入的最大时刻。基于参考时刻与预定区组的结束时刻之间的时间间隔,确定新的区组的起始时刻。在该实现方式中,参考时刻为数据表中有数据写入的最大时刻。本实现方式将该参考时刻作为能够调整预定规则的最早时刻,从而避免对已写入数据表中的数据重新进行迁移,进而避免了数据迁移过程占用处理资源。正是由于该参考时刻是能够调整预定规则的最早时刻,因而本实现方式基于该参考时刻确定新的区组的起始时刻。
[0011]在一种可能的实现方式中,基于参考时刻与预定区组的结束时刻之间的时间间隔,确定新的区组的起始时刻,包括:响应于时间间隔不小于时间阈值,将参考时刻确定为新的区组的起始时刻。方法还包括:更新预定区组,更新后的区组的起始时刻为预定区组的起始时刻,更新后的区组的结束时刻为参考时刻。其中,各个区组是依次生成的,一个区组结束之后则产生下一个区组,响应于该时间间隔大于时间阈值,则说明参考时刻与产生下一个区组的时刻之间的时间间隔较长,如果等待至预定区组结束之后再对预定规则进行调整,则还要使用预定规则较长时间,可能造成异常情况。因此,需要尽快对预定规则进行更新。基于此种原因,该实现方式将能够对预定规则进行更新的最早时刻,即参考时刻,确定为新的区组的起始时刻,以便于在新的区组中使用调整后的规则。该实现方式使得确定新的区组的起始时刻的过程较为灵活。
[0012]在一种可能的实现方式中,新的区组的结束时刻为预定区组的结束时刻。在该实现方式中,将预定区组的结束时刻作为新的区组的结束时刻。也就是说,以参考时刻为分界点,将预定区组划分为两个不同的区组。其中一个区组为更新后的区组,另一个区组为新的区组。
[0013]在一种可能的实现方式中,基于参考时刻与预定区组的结束时刻之间的时间间隔,确定新的区组的起始时刻,包括:响应于时间间隔小于时间阈值,将预定区组的结束时刻确定为新的区组的起始时刻。其中,各个区组是依次生成的,一个区组结束之后则生成下一个区组,响应于该时间间隔小于时间阈值,则说明参考时刻与生成下一个区组的时刻之间的时间间隔较短,因而本实现方式可等待至预定区组结束之后,在产生下一个区组时一并调整预定规则,也即是将预定区组的结束时刻确定为新的区组的起始时刻。该实现方式使得确定新的区组的起始时刻的过程较为灵活。
[0014]在一种可能的实现方式中,特征信息包括查询扇出度,查询扇出度用于指示处理访问请求所需要访问的节点的数量。
[0015]在一种可能的实现方式中,根据特征信息调整预定规则,包括:响应于查询扇出度指示的节点的数量大于数量阈值,基于解析访问请求得到的访问条件的使用频率确定分区键,基于分区键调整预定规则,得到调整后的规则。基于分区键获得调整后的规则,能够减小访问过程中的查询扇出度。
[0016]在一种可能的实现方式中,获取至少一个用户针对时序数据库的数据表的访问请求的特征信息,包括:解析访问请求得到访问条件,基于访问条件确定处理访问请求所需要访问的节点,将需要访问的节点的数量确定为查询扇出度。
[0017]在一种可能的实现方式中,特征信息包括负载不均衡度,负载不均衡度用于指示不同节点的负载的不均衡程度。
[0018]在一种可能的实现方式中,根据特征信息调整预定规则,包括:响应于负载不均衡
度指示的不均衡程度大于参考阈值,基于不同节点的负载确定区边界值,基于区边界值调整预定规则,得到调整后的规则。基于区边界值获得调整后的规则,能够改善各个节点之间负载不均衡的情况。
[0019]在一种可能的实现方式中,获取至少一个用户针对时序数据库的数据表的访问请求的特征信息,包括:基于不同节点的数据量、时间线数量和时间线的访问频率中的至少一种,确定不同节点的负载;基于不同节点的负载确定负载不均衡度。
[0020]在一种可能的实现方式中,特征信息包括用户位置与节点位置的对应关系,用户位置为至少一个用户的位置,节点位置为处理访问请求所需要访问的节点的位置。
[0021]在一种可能的实现方式中,根据特征信息调整预定规则,包括:响应于用户位置与节点位置的对应关系中用户位置与节点位置之间的距离大于距离阈值,确定与用户位置之间的距离不大于距离阈值的更新后的节点,基于更新后的节点调整预定规则,得到调整后的规则本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种时序数据库的分区调整方法,其特征在于,所述方法包括:获取至少一个用户针对所述时序数据库的数据表的访问请求的特征信息,其中,所述数据表按照预定规则分成多个区组,每个区组分成多个区,每个区组分别设置在不同时间段中,每个区分别设置在不同节点中,所述特征信息用于反映所述至少一个用户针对所述数据表的访问习惯;根据所述特征信息调整所述预定规则,根据调整后的规则产生与所述访问习惯匹配的新的区组和/或新的区。2.根据权利要求1所述的方法,其特征在于,所述根据调整后的规则产生与所述访问习惯匹配的新的区组和/或新的区,包括:产生新的区组,在所述新的区组中根据所述调整后的规则产生与所述访问习惯匹配的新的区。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在预定区组中确定参考时刻,所述预定区组为所述特征信息的获取时刻所在的区组,所述参考时刻为所述特征信息的获取时刻之前所述数据表中有数据写入的最大时刻;基于所述参考时刻与所述预定区组的结束时刻之间的时间间隔,确定所述新的区组的起始时刻。4.根据权利要求3所述的方法,其特征在于,所述基于所述参考时刻与所述预定区组的结束时刻之间的时间间隔,确定所述新的区组的起始时刻,包括:响应于所述时间间隔不小于时间阈值,将所述参考时刻确定为新的区组的起始时刻;所述方法还包括:更新所述预定区组,更新后的区组的起始时刻为所述预定区组的起始时刻,所述更新后的区组的结束时刻为所述参考时刻。5.根据权利要求4所述的方法,其特征在于,所述新的区组的结束时刻为所述预定区组的结束时刻。6.根据权利要求3所述的方法,其特征在于,所述基于所述参考时刻与所述预定区组的结束时刻之间的时间间隔,确定所述新的区组的起始时刻,包括:响应于所述时间间隔小于时间阈值,将所述预定区组的结束时刻确定为所述新的区组的起始时刻。7.根据权利要求1

6任一所述的方法,其特征在于,所述特征信息包括查询扇出度,所述查询扇出度用于指示处理所述访问请求所需要访问的节点的数量。8.根据权利要求7所述的方法,其特征在于,所述根据所述特征信息调整所述预定规则,包括:响应于所述查询扇出度指示的节点的数量大于数量阈值,基于解析所述访问请求得到的访问条件的使用频率确定分区键,基于所述分区键调整所述预定规则,得到所述调整后的规则。9.根据权利要求7或8所述的方法,其特征在于,所述获取至少一个用户针对所述时序数据库的数据表的访问请求的特征信息,包括:解析所述访问请求得到访问条件,基于所述访问条件确定处理所述访问请求所需要访问的节点,将所述需要访问的节点的数量确定为所述查询扇出度。
10.根据权利要求1

6任一所述的方法,其特征在于,所述特征信息包括负载不均衡度,所述负载不均衡度用于指示所述不同节点的负载的不均衡程度。11.根据权利要求10所述的方法,其特征在于,所述根据所述特征信息调整所述预定规则,包括:响应于所述负载不均衡度指示的不均衡程度大于参考阈值,基于所述不同节点的负载确定区边界值,基于所述区边界值调整所述预定规则,得到所述调整后的规则。12.根据权利要求10或11所述的方法,其特征在于,所述获取至少一个用户针对所述时序数据库的数据表的访问请求的特征信息,包括:基于所述不同节点的数据量、时间线数量和时间线的访问频率中的至少一种,确定所述不同节点的负载;基于所述不同节点的负载确定所述负载不均衡度。13.根据权利要求1

6任一所述的方法,其特征在于,所述特征信息包括用户位置与节点位置的对应关系,所述用户位置为所述至少一个用户的位置,所述节点位置为处理所述访问请求所需要访问的节点的位置。14.根据权利要求13所述的方法,其特征在于,所述根据所述特征信息调整所述预定规则,包括:响应于所述用户位置与节点位置的对应关系中所述用户位置与所述节点位置之间的距离大于距离阈值,确定与所述用户位置之间的距离不大于所述距离阈值的更新后的节点,基于所述更新后的节点调整所述预定规则,得到所述调整后的规则。15.根据权利要求13或14所述的方法,其特征在于,所述获取至少一个用户针对所述时序数据库的数据表的访问请求的特征信息,包括:解析所述访问请求得到访问条件,基于所述访问条件确定处理所述访问请求所需要访问的节点,基于所述需要访问的节点的位置和所述至少一个用户的位置确定所述用户位置与节点位置的对应关系。16.根据权利要求1

15任一所述的方法,其特征在于,所述特征信息包括查询扇出度、负载不均衡度以及用户位置与节点位置的对应关系中的至少一种信息。17.一种时序数据库的分区调整装置,其特征在于,所述装置包括:获取模块,用于获取至少一个用户针对所述时序数据库的数据表的访问请求的特征信息,其中,所述数据表按...

【专利技术属性】
技术研发人员:毛靖琦徐然张宗全
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1