【技术实现步骤摘要】
从分布式系统中读数据记录的方法和装置
本申请涉及信息
,并且更具体地,涉及从分布式系统中读数据记录的方法和装置。
技术介绍
在分布式系统中,通常通过数据表的形式存储数据记录,例如,Hadoop分布式系统中的Hbase表。为了提高查询效率,数据表又可以被划分为多个分区(region),而多个分区被划分给多个分区服务器,每个分区服务器对各自的分区进行管理。在多个分区服务器中有的分区服务器处理访问请求(读请求或写请求)的频率较高,有的分区服务器处理访问请求的频率较低。这样,就会导致多个分区服务器之间负载不均衡的情况。业界通常是通过对分区进行拆分来均衡各分区服务器的负载。例如,分布式系统中负载较高的分区服务器为目标分区服务器,且目标分区服务器管理的分区中目标分区被访问的频率较高,那么,可以将目标分区作为待拆分的分区(即,父分区),再将父分区拆分为多个子分区,并将多个子分区中的部分子分区分散到分布式系统中负载较低的分区服务器上,以减轻目标分区服务器的负载。在分区拆分的过程中,需要修改父分区的分区元数据,以及父分区的分区范围检查器,以应用于新的子分区。然而,若在拆分父分区的过程中,接收到请求从父分区中读取第一数据记录的第一读请求后,且读第一数据记录的完成时间晚于父分区的拆分完成时间,此时,父分区的分区服务器已被修改,若使用修改后的分区服务器检查第一数据记录的分区范围,使得第一数据记录的不再是从父分区中读取的,而是从新生成的子分区中读取的,导致第一数据记录的准确性降低。
技术实现思路
本申 ...
【技术保护点】
1.一种从分布式系统中读数据记录的方法,其特征在于,所述分布式系统包括分区服务器和客户端,所述分区服务器用于管理数据表中的父分区,所述分区服务器存储有第一分区范围检查器,所述第一分区范围检查器的分区范围为所述父分区的分区范围,/n所述方法包括:/n所述分区服务器在拆分所述父分区的过程中,接收所述客户端发送的第一读请求,所述第一读请求用于请求从所述父分区中读取第一数据记录;/n所述分区服务器根据所述第一读请求从所述父分区中读取所述第一数据记录,读取所述第一数据记录的完成时刻晚于所述父分区的拆分完成时刻;/n所述分区服务器使用所述第一分区范围检查器检查所述第一数据记录的行键值所属的分区的分区范围。/n
【技术特征摘要】
1.一种从分布式系统中读数据记录的方法,其特征在于,所述分布式系统包括分区服务器和客户端,所述分区服务器用于管理数据表中的父分区,所述分区服务器存储有第一分区范围检查器,所述第一分区范围检查器的分区范围为所述父分区的分区范围,
所述方法包括:
所述分区服务器在拆分所述父分区的过程中,接收所述客户端发送的第一读请求,所述第一读请求用于请求从所述父分区中读取第一数据记录;
所述分区服务器根据所述第一读请求从所述父分区中读取所述第一数据记录,读取所述第一数据记录的完成时刻晚于所述父分区的拆分完成时刻;
所述分区服务器使用所述第一分区范围检查器检查所述第一数据记录的行键值所属的分区的分区范围。
2.如权利要求1所述的方法,其特征在于,所述分区服务器存储有第二分区范围检查器,所述第二分区检查器的分区范围为第一目标子分区的分区范围,所述第一目标子分区为对所述父分区进行拆分得到的子分区,
所述方法还包括:
在所述父分区拆分完成后,所述分区服务器接收第二读请求,所述第二读请求用于请求从所述第一目标子分区中读取第二数据记录;
所述分区服务器从所述第一目标子分区中读取所述第二数据记录;
所述分区服务器使用所述第二分区范围检查器检查所述第二数据记录的行键值所属的分区的分区范围。
3.如权利要求1所述的方法,其特征在于,在拆分所述父分区的过程中,所述父分区对应的时间戳的值为最大值,在所述父分区拆分完成后,所述父分区对应的时间戳的值为所述父分区的拆分完成时刻。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
所述分区服务器获取所述第一读请求携带的时间戳;
若所述第一读请求携带的时间戳小于所述父分区对应的时间戳,所述分区服务器选择所述第一分区范围检查器检查所述第一数据记录的行键值所属的分区的分区范围。
5.如权利要求3或4所述的方法,其特征在于,所述分区服务器存储有第三分区范围检查器,所述第三分区范围检查器的分区范围为第二目标子分区的分区范围,所述第二目标子分区为对所述父分区进行拆分得到的子分区,
所述方法还包括:
所述分区服务器接收第三读请求,所述第三读请求用于请求从所述第二目标子分区中读取第三数据记录,所述第二目标子分区为对所述父分区进行拆分得到的子分区;
所述分区服务器获取所述第三读请求携带的时间戳;
若所述第三读请求携带的时间戳大于所述父分区对应的时间戳,所述分区服务器使用所述第三分区范围检查器检查所述第三数据记录的行键值所属的分区的分区范围。
6.如权利要求1-5中任一项所述的方法,其特征在于,所述分区服务器存储有所述父分区的分区元数据记录的多个副本,所述方法还包括:
在将所述父分区拆分为所述多个子分区之后,所述分区服务器将所述多个副本修改为所述多个子分区的分区元数据记录。
7.一种从分布式系统中读数据记录的分区服务器,其特征在于,所述分布式系统包括所述分区服务器和客户端,所述分区服务器用于管理数据表中的父分区,所述分区服务器存储有第一分区范围检查器...
【专利技术属性】
技术研发人员:向宇,黄飞腾,徐然,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。