用于服务器的数据迁移方法和装置与流程

文档序号:13804950阅读:122来源:国知局
用于服务器的数据迁移方法和装置与流程

本申请实施例涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及用于服务器的数据迁移方法和装置。



背景技术:

随着互联网技术的发展,特别是在当今大数据时代,每天都有海量的数据产生,为了有效地存储和利用这些海量数据,现有技术提供了基于索引(例如,elasticsearch索引)的支持多用户的云服务(例如,存储服务、检索服务等)。

现有技术的基于索引的支持多用户的云服务主要有两种,一种是每个用户独享一个索引,而另一种是所有用户共用一个索引。当用户的数据量达到当前索引的数据量上限时,迁移到更大的索引中。



技术实现要素:

本申请实施例提出了用于服务器的数据迁移方法和装置。

第一方面,本申请实施例提供了一种用于服务器的数据迁移方法,服务器与服务器集群通信连接,服务器集群部署有时序数据库实例和不同级别的至少两个索引,同一级别的索引具有相同的存储记录条数阈值,每个索引包括至少两个分片,每个时序数据库实例与一个索引对应,时序数据库实例的时序数据存储在对应索引的分片中,该方法包括:接收针对目标时序数据库实例的数据迁移请求,数据迁移请求包括目标时序数据库实例的存储记录条数预估值;响应于目标时序数据库实例的存储记录条数预估值大于目标时序数据库实例对应的索引的存储记录条数阈值,从具有比存储记录条数预估值大的存储记录条数阈值的索引中确定具有最小存储记录条数阈值的索引;将目标时序数据库实例的时序数据迁移到所确定的索引。

在一些实施例中,该方法还包括:对于至少两个索引中的每个索引,响应于该索引的可用容量小于第一容量阈值并且该索引对应于至少两个时序数据库实例,确定占用容量最多的时序数据库实例为第一待迁移时序数据库实例,并创建与该索引级别相同的索引,将第一待迁移时序数据库实例的时序数据迁移到创建的索引。

在一些实施例中,该方法还包括:对于至少两个索引中的每个索引,响应于该索引的可用容量小于第一容量阈值并且该索引对应于一个时序数据库实例,确定该索引对应的时序数据库实例为第二待迁移时序数据库实例,并创建分片数量比该索引多的同一级别的索引,将第二待迁移时序数据库实例的时序数据迁移到创建的索引。

在一些实施例中,时序数据库实例与索引的对应关系通过如下步骤确定:响应于存在至少两个级别的索引的存储记录条数阈值大于等于待建立对应关系的时序数据库实例的存储记录条数预估值,从至少两个级别的索引中的具有最小存储记录条数阈值的索引中确定可用容量大于第二容量阈值的索引,并使待建立对应关系的时序数据库实例与所确定的索引对应,第二容量阈值大于第一容量阈值。

在一些实施例中,该方法还包括:响应于至少两个级别的索引中的具有最小存储记录条数阈值的索引中不存在可用容量大于第二容量阈值的索引,在至少两个级别的索引中创建具有最小存储记录条数阈值的索引,并使待建立对应关系的时序数据库实例与创建的索引对应。

在一些实施例中,该方法还包括:响应于存在一个级别的索引的存储记录条数阈值大于等于待建立对应关系的时序数据库实例的存储记录条数预估值,创建具有最大的存储记录条数阈值的索引,并使待建立对应关系的时序数据库实例与创建的索引对应。

在一些实施例中,将目标时序数据库实例的时序数据迁移到所确定的索引,包括:将目标时序数据库实例设置为迁移状态,设置迁移状态之后写入到目标时序数据库实例的时序数据同步写入到目标时序数据库实例对应的索引和所确定的索引;将设置迁移状态之前写入的目标时序数据库实例的时序数据从目标时序数据库实例对应的索引迁移到所确定的索引;将目标时序数据库实例设置为非迁移状态,并使目标时序数据库实例与所确定的索引对应。

第二方面,本申请实施例提供了一种用于服务器的数据迁移装置,服务器与服务器集群通信连接,服务器集群部署有时序数据库实例和不同级别的至少两个索引,同一级别的索引具有相同的存储记录条数阈值,每个索引包括至少两个分片,每个时序数据库实例与一个索引对应,时序数据库实例的时序数据存储在对应索引的分片中,装置包括:接收单元,配置用于接收针对目标时序数据库实例的数据迁移请求,数据迁移请求包括目标时序数据库实例的存储记录条数预估值;确定单元,配置用于响应于目标时序数据库实例的存储记录条数预估值大于目标时序数据库实例对应的索引的存储记录条数阈值,从具有比存储记录条数预估值大的存储记录条数阈值的索引中确定具有最小存储记录条数阈值的索引;迁移单元,配置用于将目标时序数据库实例的时序数据迁移到所确定的索引。

在一些实施例中,迁移单元进一步配置用于:对于至少两个索引中的每个索引,响应于该索引的可用容量小于第一容量阈值并且该索引对应于至少两个时序数据库实例,确定占用容量最多的时序数据库实例为第一待迁移时序数据库实例,并创建与该索引级别相同的索引,将第一待迁移时序数据库实例的时序数据迁移到创建的索引。

在一些实施例中,迁移单元进一步配置用于:对于至少两个索引中的每个索引,响应于该索引的可用容量小于第一容量阈值并且该索引对应于一个时序数据库实例,确定该索引对应的时序数据库实例为第二待迁移时序数据库实例,并创建分片数量比该索引多的同一级别的索引,将第二待迁移时序数据库实例的时序数据迁移到创建的索引。

在一些实施例中,装置还包括路由单元,路由单元配置用于:响应于存在至少两个级别的索引的存储记录条数阈值大于等于待建立对应关系的时序数据库实例的存储记录条数预估值,从至少两个级别的索引中的具有最小存储记录条数阈值的索引中确定可用容量大于第二容量阈值的索引,并使待建立对应关系的时序数据库实例与所确定的索引对应,第二容量阈值大于第一容量阈值。

在一些实施例中,路由单元进一步配置用于:响应于至少两个级别的索引中的具有最小存储记录条数阈值的索引中不存在可用容量大于第二容量阈值的索引,在至少两个级别的索引中创建具有最小存储记录条数阈值的索引,并使待建立对应关系的时序数据库实例与创建的索引对应。

在一些实施例中,路由单元进一步配置用于:响应于存在一个级别的索引的存储记录条数阈值大于等于待建立对应关系的时序数据库实例的存储记录条数预估值,创建具有最大的存储记录条数阈值的索引,并使待建立对应关系的时序数据库实例与创建的索引对应。

在一些实施例中,迁移单元包括:同步模块,配置用于将目标时序数据库实例设置为迁移状态,设置迁移状态之后写入到目标时序数据库实例的时序数据同步写入到目标时序数据库实例对应的索引和所确定的索引;迁移模块,配置用于将设置迁移状态之前写入的目标时序数据库实例的时序数据从目标时序数据库实例对应的索引迁移到所确定的索引;路由模块,配置用于将目标时序数据库实例设置为非迁移状态,并使目标时序数据库实例与所确定的索引对应。

本申请实施例提供的用于服务器的数据迁移方法和装置,通过将时序数据库实例与相应级别的索引相对应,并在目标时序数据库实例的存储记录条数预估值大于目标时序数据库实例对应的索引的存储记录条数阈值时确定存储记录条数阈值更大的索引,而后将目标时序数据库实例的时序数据迁移到所确定的索引,从而降低了数据迁移的成本。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的用于服务器的数据迁移方法的一个实施例的流程图;

图3是根据本申请的用于服务器的数据迁移方法的又一个实施例的流程图;

图4是根据本申请的用于服务器的数据迁移装置的一个实施例的结构示意图;

图5是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的用于服务器的数据迁移方法或用于服务器的数据迁移装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备1011、1012、1013,服务器103,网络102、104和服务器集群105,其中,服务器集群105可以包括至少两个服务器节点,例如,服务器节点1051、1052、1053、1054等。网络102用以在终端设备1011、1012、1013和服务器103之间提供通信链路的介质,网络104用以在服务器103和服务器集群105之间提供通信链路的介质。网络102、104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备1011、1012、1013通过网络102与服务器103交互,以接收或发送消息等。例如,用户可使用终端设备1011、1012、1013向服务器103发送针对目标数序数据库的数据迁移请求。终端设备1011、1012、1013上可以安装有各种通讯客户端应用,例如时序数据库应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备1011、1012、1013可以是具有显示屏并且支持时序数据库的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务器103可以通过网络104与服务器集群105交互,以接收和发送消息。例如,服务器103可以将目标时序数据库实例的时序数据从一个索引迁移到另一个索引。

服务器集群105可以部署有时序数据库实例和不同级别的至少两个索引,用以将时序数据库实例的数序数据存储到对应索引的分片中。

需要说明的是,本申请实施例所提供的用于服务器的数据迁移方法一般由服务器103执行,相应地,用于服务器的数据迁移装置一般设置于服务器103中。

应该理解,图1中的终端设备、网络、服务器和服务器集群的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络服务器和服务器集群。

继续参考图2,示出了根据本申请的用于服务器的数据迁移方法的一个实施例的流程200。该用于服务器的数据迁移方法,包括以下步骤:

步骤201,接收针对目标时序数据库实例的数据迁移请求,数据迁移请求包括目标时序数据库实例的存储记录条数预估值。

在本实施例中,用于服务器的数据迁移方法运行于其上的服务器(例如图1所示的服务器)与服务器集群通信连接,服务器集群部署有时序数据库实例和不同级别的至少两个索引,同一级别的索引具有相同的存储记录条数阈值,每个索引包括至少两个分片,每个时序数据库实例与一个索引对应,时序数据库实例的时序数据存储在对应索引的分片中。

这里,时序数据是指带有时间标签的数据,通常是由实时监测、检查、分析设备采集产生的数据,具有产生频率快(例如,每秒产生多条数据)、依赖于采集时间(每条数据对应唯一的采集时间)、数据量大的特点。时序数据库是用于处理时序数据的数据库,时序数据库实例是时序数据库的实例化表示,可以由用户通过移动终端创建(例如,通过时序数据库应用租用一个或多个时序数据库实例)。

索引用于存储时序数据,并且索引可以被划分成多份,每份即为一个分片,分片可以位于任意服务器节点,因此,索引可以存储超过单个服务器节点硬件限制的时序数据,例如,单个服务器节点的磁盘空间为1t,而索引的存储空间可以为2t、10t或更大。

其中,每个时序数据库实例可对应于一个索引,而每个索引可以对应于多个时序数据库实例。

时序数据库实例创建后,该方法运行于其上的服务器会根据创建参数(例如,租期、数据产生频率等)预估创建的时序数据库实例的存储记录条数得到存储记录条数预估值,以便将创建的时序数据库实例与相应级别的索引对应。例如,可以为租期短、数据产生频率低的时序数据库实例分配存储记录条数阈值小的索引,为租期长、数据产生频率高的时序数据库实例分配存储记录条数阈值大的索引,从而提高索引的利用率。

方法运行于其上的服务器可以接收针对目标时序数据库实例的数据迁移请求,其中数据迁移请求包括目标时序数据库实例的存储记录条数预估值,然后将目标时序数据库实例的存储记录条数预估值与其对应的索引的存储记录条数阈值进行比较。如果目标时序数据库实例的存储记录条数预估值小于等于其对应的索引的存储记录条数阈值则不进行数据迁移,如果目标时序数据库实例的存储记录条数预估值大于其对应的索引的存储记录条数阈值,则进行步骤202。这里,目标时序数据库实例是指存储记录条数预估值(或租期、硬件配置等参数)发生变化的时序数据库实例。

应当理解,数据迁移请求的发送可以是在目标时序数据库实例的参数发生改变(例如,用户续租、硬件配置升级等)时触发的,数据迁移请求可以来自用户终端,也可以来自服务器集群,本申请对此不做限定。

步骤202,响应于目标时序数据库实例的存储记录条数预估值大于目标时序数据库实例对应的索引的存储记录条数阈值,从具有比存储记录条数预估值大的存储记录条数阈值的索引中确定具有最小存储记录条数阈值的索引。

在本实施例中,基于步骤201的比较结果,目标时序数据库实例的存储记录条数预估值大于其对应的索引的存储记录条数阈值,上述服务器(例如图1所示的服务器)可以确定具有比目标时序数据库实例的存储记录条数预估值大的存储记录条数阈值的索引,并从中确定具有最小存储记录条数阈值的索引。

例如,服务器集群中部署有存储记录条数阈值分别为10亿、100亿和1000亿三个级别的索引,目标时序数据库实例的存储记录条数预估值为20亿,则存储记录条数阈值为100亿的索引即为要确定的索引。

步骤203,将目标时序数据库实例的时序数据迁移到所确定的索引。

在本实施例中,用于服务器的数据迁移方法运行于其上的服务器可以将目标时序数据库实例的时序数据从当前对应的索引迁移到步骤202确定的索引中。

本申请的上述实施例提供的方法通过将时序数据库实例与相应级别的索引相对应,并在目标时序数据库实例的存储记录条数预估值大于目标时序数据库实例对应的索引的存储记录条数阈值时确定存储记录条数阈值更大的索引,而后将目标时序数据库实例的时序数据迁移到所确定的索引,从而降低了数据迁移的成本。

进一步参考图3,其示出了用于服务器的数据迁移方法的又一个实施例的流程300。该用于服务器的数据迁移方法的流程300,包括以下步骤:

步骤301,接收针对目标时序数据库实例的数据迁移请求,数据迁移请求包括目标时序数据库实例的存储记录条数预估值。

步骤302,响应于目标时序数据库实例的存储记录条数预估值大于目标时序数据库实例对应的索引的存储记录条数阈值,从具有比存储记录条数预估值大的存储记录条数阈值的索引中确定具有最小存储记录条数阈值的索引。

步骤303,将目标时序数据库实例的时序数据迁移到所确定的索引。

在本实施例中,步骤301~步骤303的描述与图2所示的实施例中步骤201~步骤203的描述类似,因此,步骤301~步骤303的详细描述可以参考图2中关于步骤201~步骤204的描述,在此不作赘述。

步骤304,对于至少两个索引中的每个索引,响应于该索引的可用容量小于第一容量阈值并且该索引对应于至少两个时序数据库实例,确定占用容量最多的时序数据库实例为第一待迁移时序数据库实例,并创建与该索引级别相同的索引,将第一待迁移时序数据库实例的时序数据迁移到创建的索引。

在本实施例中,用于服务器的数据迁移方法运行于其上的服务器可以监测部署在服务器集群上的各个索引,对于任一索引,当监测到该索引的可用容量小于第一阈值(例如,该索引总容量的50%)并且该索引对应于至少两个时序数据库实例时,将占用容量最多的时序数据库实例确定为第一待迁移时序数据库实例,并创建与该索引级别相同的索引(分片数可以相同,也可以不同),然后将第一待迁移时序数据库实例的时序数据迁移到创建的索引。

这样,可以确保每个索引的可用容量均大于第一阈值,使得每个索引上的数据量不会太大,并且各个索引之间的数据量相对均衡,从而能均衡服务器集群的负载,持续提供快速地存取服务。

应当理解,第一阈值可以是相对数值,例如,索引总容量的50%,也可以是绝对数值,例如1t。本领域的技术人员可以根据实际应用场景的需要进行设置。

此外,在步骤304中,当将第一待迁移时序数据库实例的时序数据迁移到创建的索引并释放所占用的原索引的容量之后,如果原索引的可用容量仍大于第一阈值并且原索引仍对应于至少两个时序数据库实例时,可继续创建同级别的索引并将原索引的剩余的时序数据库实例中占用容量最多的时序数据库实例迁移到创建的索引中,依此类推。

在本实施例的一些可选的实现方式中,该方法还包括:

步骤305,对于至少两个索引中的每个索引,响应于该索引的可用容量小于第一容量阈值并且该索引对应于一个时序数据库实例,确定该索引对应的时序数据库实例为第二待迁移时序数据库实例,并创建分片数量比该索引多的同一级别的索引,将第二待迁移时序数据库实例的时序数据迁移到创建的索引。

在本实施例中,用于服务器的数据迁移方法运行于其上的服务器可以监测部署在服务器集群上的各个索引,对于任一索引,当监测到该索引的可用容量小于第一阈值(例如,该索引总容量的50%)并且该索引对应于一个时序数据库实例时,将该时序数据库实例确定为第二待迁移时序数据库实例,并创建分片数量比该索引多的同级别的索引(例如,当前索引包括5个分片,则创建的索引可以包括10个分片,即增加了索引的数据容量),然后将第一待迁移时序数据库实例的时序数据迁移到创建的索引。通过将超过第一容量阈值的时序数据库实例的时序数据迁移到分片数量更多的同级索引,而不是迁移到具有更大存储记录条数阈值的高级别索引,提高了同级别索引的利用率,降低了更高级别的索引的系统开销。

从上述描述可知,由于每条时序数据的数据量可能不同,因此,在索引中的时序数据库实例的实际存储记录条数(即,已写入数据条数)未达到索引的存储记录条数阈值的情况下,可能出现由于索引的可用容量超过第一阈值而导致的性能下降(例如,数据处理速度变慢、请求响应时间延长等等)。

而本实施例中,通过监控索引的可用容量,合理地为时序数据库实例分配索引,不仅可以提升索引的性能,还能够降低成本(与创建分片数量更多的同级别索引相比,创建更大存储记录条数阈值的索引需要更高的系统开销和硬件成本)。

从图3中可以看出,与图2对应的实施例相比,本实施例中的用于服务器的数据迁移方法的流程300突出了通过监控索引的状态对时序数据库实例进行数据迁移的步骤。由此,本实施例描述的方案可以从存储记录条数阈值和可用容量两个维度对索引和时序数据库实例进行管理,从而实现成本低并且效率高的数据迁移。

需要说明的是,尽管图3示出了步骤301-步骤305的执行步骤,但这仅仅是示意性的。可以理解,步骤301-步骤305可以以不同于幅图中所标注的顺序发生,例如,步骤304和步骤305可以在步骤301之前执行。

在本申请实施例的一些可选的实现方式中,时序数据库实例与索引的对应关系通过如下步骤确定:响应于存在至少两个级别的索引的存储记录条数阈值大于等于待建立对应关系的时序数据库实例的存储记录条数预估值,从至少两个级别的索引中的具有最小存储记录条数阈值的索引中确定可用容量大于第二容量阈值的索引,并使待建立对应关系的时序数据库实例与所确定的索引对应,第二容量阈值大于第一容量阈值。

在本申请实施例的一些可选的实现方式中,该方法还包括:响应于至少两个级别的索引中的具有最小存储记录条数阈值的索引中不存在可用容量大于第二容量阈值的索引,在至少两个级别的索引中创建具有最小存储记录条数阈值的索引,并使待建立对应关系的时序数据库实例与创建的索引对应。

例如,对于任一待建立对应关系的时序数据库实例(如,新创建的时序数据库实例),用于服务器的数据迁移方法运行于其上的服务器可以首先确定是否存在至少两个级别的索引的存储记录条数阈值大于等于该待建立对应关系的时序数据库实例的存储记录条数预估值,如果存在满足上述条件的至少两个级别的索引,则从该至少两个级别的索引中确定可用容量大于第二阈值(例如,索引总容量的90%)的索引,并将该待建立对应关系的时序数据库实例与确定的索引对应。如果该至少两个级别的索引中不存在可用容量大于第二阈值的索引,则在该至少两个级别的索引中创建具有最小存储记录条数阈值的索引,并将该待建立对应关系的时序数据库实例与确定的索引对应。这里,第二阈值大于第一阈值。

将待建立对应关系的时序数据库实例分配到可用容量大于第二阈值的索引中,首先,可以实现多个时序数据库实例共享一个索引,以提高索引的利用率,降低成本;其次,随着时间的增长,时序数据库实例的数据量很大,数据迁移的成本也非常高,而将第二阈值设置为大于第一阈值,可以保证将待建立对应关系的时序数据库实例分配到具有足够可用容量的索引中,减少了时序数据库实例的数据迁移的次数。例如,如果将待建立对应关系的时序数据库实例分配到可用容量小于第二阈值的索引中,则很容易(例如,经过较短的时间)出现该索引的可用容量小于第一阈值,从而导致需要对该索引中占用容量最大的时序数据库实例进行数据迁移,不利于后期的运营维护。

在本申请实施例的一些可选的实现方式中,该方法还包括:响应于存在一个级别的索引的存储记录条数阈值大于等于所述待建立对应关系的时序数据库实例的存储记录条数预估值,创建具有最大的存储记录条数阈值的索引,并使所述待建立对应关系的时序数据库实例与创建的索引对应。

仍以前述示例为例,如果不存在存储记录条数阈值大于等于待建立对应关系的时序数据库实例的存储记录条数预估值的至少两个级别的索引,则创建具有最高存储记录条数阈值的索引,并将该待建立对应关系的时序数据库实例与创建的索引对应。

在本申请实施例的一些可选的实现方式中,与具有最高存储记录条数阈值的索引对应的时序数据库实例可以独享索引。具有最高存储记录条数阈值的索引对应的时序数据库实例通常具有更高的数据处理要求,例如,数据产生频率更快、采集点更多、数据量更大等。通过根据数据处理需求差别化地分配索引,一方面可以避免超大时序数据库实例的数据迁移给运营维护带来的巨大压力,另一方面也可以使对数据处理需求高的时序数据库实例获得更好地性能。

在本申请实施例的一些可选的实现方式中,将目标时序数据库实例的时序数据迁移到所确定的索引,包括:将目标时序数据库实例设置为迁移状态,设置迁移状态之后写入到目标时序数据库实例的时序数据同步写入到目标时序数据库实例对应的索引和所确定的索引;将设置迁移状态之前写入的目标时序数据库实例的时序数据从目标时序数据库实例对应的索引迁移到所确定的索引;将目标时序数据库实例设置为非迁移状态,并使目标时序数据库实例与所确定的索引对应。

通过同步写入新、旧数据库的方式进行数据迁移是目前广泛研究和应用的公知技术,在此不再赘述。

进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种用于服务器的数据迁移装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于服务器中,服务器与服务器集群通信连接,服务器集群部署有时序数据库实例和不同级别的至少两个索引,同一级别的索引具有相同的存储记录条数阈值,每个索引包括至少两个分片,每个时序数据库实例与一个索引对应,时序数据库实例的时序数据存储在对应索引的分片中。

如图4所示,本实施例的用于服务器的数据迁移装置400包括:接收单元401、确定单元402和迁移单元403。其中,接收单元401配置用于接收针对目标时序数据库实例的数据迁移请求,数据迁移请求包括目标时序数据库实例的存储记录条数预估值;确定单元402配置用于响应于目标时序数据库实例的存储记录条数预估值大于目标时序数据库实例对应的索引的存储记录条数阈值,从具有比存储记录条数预估值大的存储记录条数阈值的索引中确定具有最小存储记录条数阈值的索引;而迁移单元403配置用于将目标时序数据库实例的时序数据迁移到所确定的索引。

在本实施例中,用于服务器的数据迁移装置400的接收单元401可以接收针对目标时序数据库实例的数据迁移请求,数据迁移请求包括目标时序数据库实例的存储记录条数预估值,然后将目标时序数据库实例的存储记录条数预估值与其对应的索引的存储记录条数阈值进行比较。

在本实施例中,基于接收单元401的比较结果,目标时序数据库实例的存储记录条数预估值大于其对应的索引的存储记录条数阈值,上述确定单元402可以确定具有比目标时序数据库实例的存储记录条数预估值大的存储记录条数阈值的索引,并从中确定具有最小存储记录条数阈值的索引。

然后,迁移单元403可以将目标时序数据库实例的时序数据从当前对应的索引迁移到确定单元402确定的索引中。

在本实施例的一些可选的实现方式中,迁移单元403进一步配置用于:对于至少两个索引中的每个索引,响应于该索引的可用容量小于第一容量阈值并且该索引对应于至少两个时序数据库实例,确定占用容量最多的时序数据库实例为第一待迁移时序数据库实例,并创建与该索引级别相同的索引,将第一待迁移时序数据库实例的时序数据迁移到创建的索引。

在本实施例的一些可选的实现方式中,迁移单元403进一步配置用于:对于至少两个索引中的每个索引,响应于该索引的可用容量小于第一容量阈值并且该索引对应于一个时序数据库实例,确定该索引对应的时序数据库实例为第二待迁移时序数据库实例,并创建分片数量比该索引多的同一级别的索引,将第二待迁移时序数据库实例的时序数据迁移到创建的索引。

在本实施例的一些可选的实现方式中,装置400还包括路由单元,路由单元配置用于:响应于存在至少两个级别的索引的存储记录条数阈值大于等于待建立对应关系的时序数据库实例的存储记录条数预估值,从至少两个级别的索引中的具有最小存储记录条数阈值的索引中确定可用容量大于第二容量阈值的索引,并使待建立对应关系的时序数据库实例与所确定的索引对应,第二容量阈值大于第一容量阈值。

在本实施例的一些可选的实现方式中,路由单元进一步配置用于:响应于至少两个级别的索引中的具有最小存储记录条数阈值的索引中不存在可用容量大于第二容量阈值的索引,在至少两个级别的索引中创建具有最小存储记录条数阈值的索引,并使待建立对应关系的时序数据库实例与创建的索引对应。

在本实施例的一些可选的实现方式中,路由单元进一步配置用于:响应于存在一个级别的索引的存储记录条数阈值大于等于待建立对应关系的时序数据库实例的存储记录条数预估值,创建具有最大的存储记录条数阈值的索引,并使待建立对应关系的时序数据库实例与创建的索引对应。

在本实施例的一些可选的实现方式中,迁移单元403包括同步模块、迁移模块和路由模块。其中,同步模块配置用于将目标时序数据库实例设置为迁移状态,设置迁移状态之后写入到目标时序数据库实例的时序数据同步写入到目标时序数据库实例对应的索引和所确定的索引;迁移模块配置用于将设置迁移状态之前写入的目标时序数据库实例的时序数据从目标时序数据库实例对应的索引迁移到所确定的索引;路由模块配置用于将目标时序数据库实例设置为非迁移状态,并使目标时序数据库实例与所确定的索引对应。

本申请实施例提供的用于服务器的数据迁移装置400,通过将时序数据库实例与相应级别的索引相对应,并在目标时序数据库实例的存储记录条数预估值大于目标时序数据库实例对应的索引的存储记录条数阈值时确定存储记录条数阈值更大的索引,而后将目标时序数据库实例的时序数据迁移到所确定的索引,从而降低了数据迁移的成本。

下面参考图5,其示出了适于用来实现本申请实施例的服务器的计算机系统500的结构示意图。图5示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图5所示,计算机系统500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有系统500操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、确定单元和迁移单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收针对目标时序数据库实例的数据迁移请求的单元”。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:接收针对目标时序数据库实例的数据迁移请求,数据迁移请求包括目标时序数据库实例的存储记录条数预估值;响应于目标时序数据库实例的存储记录条数预估值大于目标时序数据库实例对应的索引的存储记录条数阈值,从具有比存储记录条数预估值大的存储记录条数阈值的索引中确定具有最小存储记录条数阈值的索引;将目标时序数据库实例的时序数据迁移到所确定的索引。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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