一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

服务器集群数据迁移方法、装置、电子设备及存储介质与流程

2022-05-06 05:39:07 来源:中国专利 TAG:


1.本发明涉及数据搜索技术领域,尤其涉及服务器集群数据迁移方法、装置、电子设备及存储介质。


背景技术:

2.在现有技术中,当对大量数据的搜索系统升级时,在迁移过程中由于搜索升级后的搜索系统有数据冷热概念,所以当升级前的搜索系统在数据迁移过程中由于线程的不确定性出现同一片数据分配在不同表上,即每条数据经过迁移后可能表现在不同地方,导致升级后的搜索系统在一张表的数据时间跨度非常大。当进行数据搜索时,难以在一个集中的位置进行完整的数据搜索,且迁移后的数据表现在不同地方会导致数据时会有数据丢失、不完整的情况,后续进行数据搜索时数据不完整会影响搜索结果的准确度。可见,现有技术中,存在数据迁移分配不合理、搜索结果准确率低的问题。


技术实现要素:

3.本发明实施例提供一种服务器集群数据迁移方法,能够根据有序分配迁移的数据,保证数据完整有序进行迁移,提高数据搜索的准确率。
4.第一方面,本发明实施例提供一种服务器集群数据迁移方法,所述方法包括以下步骤:
5.通过读取线程读取原始搜索服务中同一数据表内的待迁移数据,所述读取线程的读取线程标识与所述待迁移数据的数据标识存在对应关系;
6.将所述读取线程读取到的同一数据表内的待迁移数据加载到缓存中心暂存;
7.若检测到推送线程获取到发送权限,则根据所述推送线程的推送线程标识与所述读取进程的读取线程标识对应关系,有序从所述缓存中心中拉取与所述数据标识对应的待迁移数据以发送到升级搜索服务中。
8.第二方面,本发明实施例还提供一种服务器集群数据迁移装置,包括:
9.读取模块,用于通过读取线程读取原始搜索服务中同一数据表内的待迁移数据,所述读取线程的读取线程标识与所述待迁移数据的数据标识存在对应关系;
10.存储模块,用于将所述读取线程读取到的同一数据表内的待迁移数据加载到缓存中心暂存;
11.推送模块,用于若检测到推送线程获取到发送权限,则根据所述推送线程的推送线程标识与所述读取进程的读取线程标识对应关系,有序从所述缓存中心中拉取与所述数据标识对应的待迁移数据以发送到升级搜索服务中。
12.第三方面,本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述实施例提供的服务器集群数据迁移方法中的步骤。
13.第四方面,一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机
程序,所述计算机程序被处理器执行时实现所述实施例提供的服务器集群数据迁移方法中的步骤。
14.在本发明实施例中,由于在读取原始搜索服务中的待迁移数据时,建立了读取线程的读取线程标识与待迁移数据的数据标识之间的对应关系,并且是通过读取线程读取同一数据表,这样可以让读取线程根据对应关系按顺序读取待迁移数据以加载到缓存中心中,避免读取线程竞争导致刷入到缓存中心中的数据不均的情况。且推送线程从缓存中心中拉取待迁移数据时,是在获取到发送权限后根据推送线程的推送线程标识与所述读取进程的读取线程标识对应关系进行拉取,读取线程标识与数据表示之间也存在对应关系,所以读取线程拉取缓存中心中的待迁移数据时,可以按照顺序拉取待迁移数据以发送到升级搜索服务中,且每条读取线程获取到发送权限才可以发送待迁移数据,能够保证待迁移数据在每条推送线程中的合理分配,使得待迁移数据在迁移过程中的完整有序,迁移到升级搜索服务中能够更加集中的体现,有利于数据搜索时获取到更完整的数据,以提高数据搜索准确率。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1是本发明实施例提供的一种服务器集群数据迁移方法的流程图;
17.图2是本发明实施例提供的另一种服务器集群数据迁移方法的流程图;
18.图3是本发明实施例提供的另一种服务器集群数据迁移方法的流程图;
19.图4是本发明实施例提供的一种服务器集群数据迁移装置的结构示意图;
20.图5是本发明实施例提供的另一种服务器集群数据迁移装置的结构示意图;
21.图6是本发明实施例提供的另一种服务器集群数据迁移装置的结构示意图;
22.图7是本发明实施例提供的另一种服务器集群数据迁移装置的结构示意图;
23.图8是本发明实施例提供的另一种服务器集群数据迁移装置的结构示意图;
24.图9是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
25.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.本技术的说明书和权利要求书及附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥
的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
27.如图1所示,图1是本发明实施例提供的一种服务器集群数据迁移方法的流程图,该服务器集群数据迁移方法包括以下步骤:
28.s101、通过读取线程读取原始搜索服务中同一数据表内的待迁移数据,读取线程的读取线程标识与待迁移数据的数据标识存在对应关系。
29.在本实施例中,服务器集群数据迁移方法运用的场景包括但不限于数据搜索系统,且上述服务器集群数据迁移方法运行于其上的电子设备可以通过有线连接方式或者无线连接方式获取原始搜索服务内数据表的待迁移数据。上述无线连接方式可以包括但不限于3g/4g连接、wifi(wireless-fidelity)连接、蓝牙连接、wimax(worldwide interoperability formicrowaveaccess)连接、zigbee(低功耗局域网协议,又称紫峰协议)连接、uwb(ultrawideband)连接、以及其他现在已知或将来开发的无线连接方式。
30.上述的读取线程可以是用于读取待迁移数据的线程,读取线程可以有多条,且在读取同一数据表的待迁移数据时,可以多条线程同时读取,例如:20条读取线程同时读取数据表a中的待迁移数据。在原始搜索服务中存在多个数据表,在同一数据表中存储的待迁移数据可以是人脸数据、行为数据、人体数据、商场人员流动数据等等。且待迁移数据的数据量可以有上万条。存储在数据表中的待迁移数据可以是已经分类排列的数据。上述的读取线程标识以及数据表示都是唯一的,每个读取线程都有各自对应的读取线程标识,每个待迁移数据也都有对应的数据标识。读取线程标识可以是指读取线程的线程号,例如:读取线程id(读取线程1、读取线程2、读取线程3,

,读取线程n)。上述的数据标识可以指待迁移数据的编号,例如:数据id(待迁移数据1、待迁移数据2、待迁移数据3,

,待迁移数据m)。
31.具体的,上述读取线程的读取线程标识与待迁移数据的数据标识存在对应关系可以表示将读取线程标识与数据标识根据预设的方法进行计算,以得到每条读取线程所读取的对应的待迁移数据,例如:读取线程有20条,待迁移数据有100个,则待迁移数据1分配给读取线程1,待迁移数据2分配给读取线程2,待迁移数据3分配给读取线程3,

.,待迁移数据20分配给读取线程20,根据循环将待迁移数据21分配给读取线程1,后续的待迁移数据可以根据循环关系继续分配到读取线程1-20中。且所有的读取线程对同一数据表读取完成后才对下一个数据表进行数据读取。
32.s102、将读取线程读取到的同一数据表内的待迁移数据加载到缓存中心暂存。
33.其中,当多条读取线程分别读取到一批预设数据量的待迁移数据后,可以将这一批数据发送到缓存中心中进行暂存。在缓存中心可以保存有多个缓存队列用于存储读取线程发送来的待迁移数据,例如:在缓存中心保存有100个缓存队列。暂存在缓存队列中的待迁移数据可以是根据读取顺序加载到缓存队列中,且可以根据缓存队列的编号进行加载,例如:将读取线程1读取到的待迁移数据存储在缓存队列1中,将读取线程2读取到的待迁移数据存储到缓存队列2中,直到将所有的缓存队列存储满,会阻塞获取读取线程向缓存中心迁移待迁移数据。
34.s103、若检测到推送线程获取到发送权限,则根据推送线程的推送线程标识与读取进程的读取线程标识对应关系,有序从缓存中心中拉取与数据标识对应的待迁移数据以发送到升级搜索服务中。
35.其中,推送线程可以是用于从缓存中心拉取待迁移数据以迁移到升级搜索服务中的线程。推送线程可以有多条,在本发明实施例中,读取线程与推送线程都设为20条,但可以根据待迁移数据量等条件的改变进行线程数量的调整。在本发明实施例中保证读取线程与推送线程的数量一致,可以保证读取线程读取待迁移数据与推送线程拉取待迁移数据的一致,使得待迁移数据在迁移的过程中得到合理的分配。上述的发送权限可以是为了保证从缓存中心调取到的待迁移数据能够有序的发送到升级搜索服务中所设置的权限,只有当推送线程获取到了发送权限后才可以进行发送。而且发送权限具有传递性,上一个推送线程获取到发送权限,将待迁移数据发送到升级搜索服务后会将发送权限转移到下一相邻的推送线程中继续进行待迁移数据发送,并依次继续下去,直到最后一个推送线程完成发送后回到第一个推送线程继续循环发送。
36.上述每个推送线程都有唯一对应的推送线程标识,推送线程标识与读取线程标识之间建立有对应关系,即根据一个推进线程标识可以查找到具有对应关系的读取线程标识,例如:推进线程标识1

对应读取线程标识1,推进线程标识2

对应读取线程标识2,推进线程标识3

对应读取线程标识3等。又因为读取线程标识与数据表示之间也具有一一对应的关系,因此基于上述提供的两种对应关系,推送进程从缓存中心拉取待迁移数据时可以根据推送进程标识锁定唯一对应的数据标识,使得拉取时的顺序与读取时保持一致,例如:推进线程标识1

对应读取线程标识1,读取线程标识1对应待迁移数据a,推进线程标识2

对应读取线程标识2,读取线程标识2对应待迁移数据b;那么,推进线程标识1

将拉取待迁移数据a,推进线程标识2

将拉取待迁移数据b。避免了推送过程中使用了与读取过程连接性低的方法增加的复杂度,有利于将待迁移数据合理的分配到各个推送线程中并发送到升级搜索服务中。
37.在本发明实施例中,由于在读取原始搜索服务中的待迁移数据时,建立了读取线程的读取线程标识与待迁移数据的数据标识之间的对应关系,并且是通过读取线程读取同一数据表,这样可以让读取线程根据对应关系按顺序读取待迁移数据以加载到缓存中心中,避免读取线程竞争导致刷入到缓存中心中的数据不均的情况。且推送线程从缓存中心中拉取待迁移数据时,是在获取到发送权限后根据推送线程的推送线程标识与读取进程的读取线程标识对应关系进行拉取,读取线程标识与数据表示之间也存在对应关系,所以读取线程拉取缓存中心中的待迁移数据时,可以按照顺序拉取待迁移数据以发送到升级搜索服务中,且每条读取线程获取到发送权限才可以发送待迁移数据,能够保证待迁移数据在每条推送线程中的合理分配,使得待迁移数据在迁移过程中的完整有序,迁移到升级搜索服务中能够更加集中的体现,有利于数据搜索时获取到更完整的数据,以提高数据搜索准确率。
38.如图2所示,图2是本发明实施例提供的另一种方法流程图,具体包括以下步骤:
39.s201、获取读取线程的读取线程标识与待迁移数据的数据标识。
40.其中,每个读取线程都有唯一的读取线程标识,每个待迁移数据也有唯一对应的数据标识。可以先获取读取线程的读取线程标识与待迁移数据的数据标识,得到多个读取线程标识以及大量的待迁移数据的数据标识后可以进行对应的排序分配,使得各个数据标识对应各读取线程标识,便于读取线程能够根据有序对待迁移数据进行读取,保证读取数据的有序性。获取读取线程标识时,可以向读取线程管理平台发送线程数据读取请求,待得
到读取线程管理平台的许可后,读取线程管理平台会读取所有的读取线程一一对应的读取线程标识进行反馈。同样,读取待迁移数据的数据标识时,也可以先向原始搜索服务发送数据标识读取请求,待得到原始搜索服务的许可后,原始搜索服务中的数据调取模块可以去数据表中调取待迁移数据的数据标识进行返回。
41.s202、对读取线程的读取线程标识与待迁移数据的数据标识进行计算,根据计算结果建立读取线程标识与数据标识之间的对应关系。
42.其中,上述进行计算,可以是将数据标识与读取线程标识进行取余,根据取余后的计算结果可以得出数据标识对应的待迁移数据可以通过哪个读取线程进行读取,这样,便能够建立读取线程标识与数据标识之间的对应关系,例如:有20个读取线程,待迁移数据1-20分别依序通过读取线程1-20进行读取,待迁移数据21可以用21除以20,得到余为1,则通过读取线程1进行读取,待迁移数据为1001时,可以用1001除以20得到余为1,则通过读取线程1进行读取,其他的待迁移数据同样可以运用取余方法。
43.s203、根据读取线程标识与数据标识之间的对应关系,通过多个读取线程对原始搜索服务中同一数据表内的待迁移数据进行读取,直到同一数据表中的待迁移数据读取完成后再进行下一数据表读取。
44.其中,每条读取线程可以抓取1000条待迁移数据,而数据表中可以存储有上万个待迁移数据,所以,一个数据表中的所有待迁移数据可以/不能一次性通过20条读取线程读取完。若能同时读取完,待最后一个读取线程完成读取后则继续下一个数据表的数据读取;若无法一次读取完,则可以循环多次进行读取,且一张表读取完后,所有的读取线程会等待最后一条读取线程读取完成后,才进行下一数据表的读取。
45.s204、将读取线程读取到的同一数据表内的待迁移数据加载到缓存中心暂存。
46.s205、若检测到推送线程获取到发送权限,则根据推送线程的推送线程标识与读取进程的读取线程标识对应关系,有序从缓存中心中拉取与数据标识对应的待迁移数据以发送到升级搜索服务中。
47.可选的,上述步骤s204包括:
48.获取每条读取线程已读取待迁移数据的数据量。
49.其中,每条读取线程都有一定的空间,无法满足一次性加载超过容量的待迁移数据,同时为了保证读取的效率以及发送到缓存中心的效率,所以设置有预设数据量阈值,因此,在读取待迁移数据的过程中可以实时检测已读取到的待迁移数据的数据量。
50.判断已读取待迁移数据的数据量是否达到预设数据量阈值。
51.获取到已读取的待迁移数据的数据量后,可以将已经获取到的待迁移数据的数据量与预设数据量阈值进行比较以判断大小,根据比对结果进行下一步操作。
52.若已读取待迁移数据的数据量达到预设数据量阈值,则根据多个读取线程的读取顺序将待迁移数据加载到缓存中心。
53.其中,若每个线程已读取待迁移数据的数据量均达到预设数据量阈值,表示后续所有的读取线程暂时不用再获取待迁移数据,先让所有的读取线程都将已经获取到的待迁移数据加载到缓存中心后,再同步开启所有的读取线程进行下一次获取待迁移数据的过程。一般而言,预设数据量阈值设置为1000条,也即是每条读取线程读取到1000条待迁移数据后,便将所读取到的1000条数据根据读取线程标识与数据标识的顺序依次加载到缓存中
心,例如:加载顺序为读取线程1的待迁移数据a,读取线程2的待迁移数据b,读取线程3的待迁移数据c
……
,直到20条读取线程中的1000条待迁移数据都加载完成。
54.获取缓存中心中多个缓存队列的剩余缓存空间,并判断剩余缓存空间是否已满。
55.其中,缓存中心是一个有限空间的存储区域,缓存中心有多个缓存队列,在本发明实施例中,缓存队列有100个。当读取线程不停的读取待迁移数据加载到缓存中心后,缓存中心中的缓存队列的剩余存储空间会逐渐减少。通过向缓存中心发送剩余缓存空间获取请求,得到缓存空间许可后,缓存中心会将缓存队列的剩余缓存空间进行反馈,判断剩余缓存空间是否已填满,这里的已填满也可以包括无法再将下一批读取线程读取到的完整的待迁移数据进行加载。
56.若剩余缓存空间已满,则暂停将读取线程获取到的待迁移数据加载到缓存中心。
57.其中,剩余缓存空间已满,则暂停将读取线程获取到的待迁移数据加载到缓存中心,直到缓存队列中的待迁移数据被推送线程调取以发送到升级搜索服务中。当缓存中心的缓存队列中待迁移数据全部发送完成,此时缓存空间中没有任何待迁移数据,可以阻塞推送线程继续拉取待迁移数据,并开启将读取线程读取到的待迁移数据继续加载到缓存中心的过程。
58.在本发明实施例中,通过获取读取线程的读取线程标识与待迁移数据的数据标识,对数据标识与读取线程标识进行取余运算,将与数据标识对应待迁移数据合理的分配到各个读取线程,且是在等待最后一个线程读取完同一数据表之后,才开始读取下一个数据表中的数据,能够保证在读取下一张数据表时,所有的线程是同步进行,避免了出现线程竞争,导致从原始搜索服务中加载到缓存中心的待迁移数据出现分配不均的情况。且当缓存队列的剩余存储空间已满时,选择先暂停将读取线程读取到的待迁移数据继续加载到缓存队列中,防止了缓存中心数据拥挤溢出,存放混乱的情况。并且是根据推送线程的推送线程标识与读取进程的读取线程标识的对应关系,以及读取线程标识与数据标识之间的对应关系,查找与推送线程标识对应的数据标识,可以保证在读取线程读取待迁移数据的顺序与推送线程拉取待迁移数据的顺序的一致性,不会在过程中出现混乱,使得每个读取线程以及拉取线程能合理分配待迁移数据,保证待迁移数据在迁移过程中的完整有序,迁移到升级搜索服务中能够更加集中的体现,有利于数据搜索时获取到更完整的数据,以提高数据搜索准确率。
59.如图3所示,图3是本发明实施例提供的另一种方法流程图,包括以下步骤:
60.s301、通过读取线程读取原始搜索服务中同一数据表内的待迁移数据,读取线程的读取线程标识与待迁移数据的数据标识存在对应关系。
61.s302、将读取线程读取到的同一数据表内的待迁移数据加载到缓存中心暂存。
62.s303、检测推送数据线程池是否接收到发送权限,推送数据线程池包括多个推送线程。
63.其中,推送线程开启推送之前需要先获取发送权限,推送数据线程池可以主动向可以生成发送权限的权限模块发起发送权限获取请求,待权限模块接收到发送权限获取请求并许可之后,可以将发送权限返回推送数据线程池,此时表示推送数据线程池获取到了发送权限。在推送数据线程池中包括有多个推送线程,每个推送线程只有在获取到发送权限后才可以拉取缓存队列中的待迁移数据发送到升级搜索服务中。在本发明实施例中,推
送线程的数量与读取线程的数量一致,可以都设置为20条,这样有利于保证读取与拉取待迁移数据的一致性。
64.s304、若推送线程池接收到发送权限,则将发送权限发送至多个推送线程,且发送至多个推送线程为上一推送线程推送待迁移数据至升级搜索服务后,再将发送权限转移至下一推送线程。
65.其中,推送线程池接收到发送权限,可以将发送权限先发送至第一个推送线程,当第一个推送线程推送待迁移数据至升级搜索服务后,再将发送权限转移至第二个推送线程,当第二个推送线程推送待迁移数据至升级搜索服务后,再将发送权限转移至第三个推送线程,依次这样将发送权限有序的传递下去,直到20条推送线程完成第一轮推送,然后循环将发送权限发送到第一个推送线程进行第二轮的推送。
66.s305、推送线程根据推送线程的推送线程标识与读取进程的读取线程标识对应关系,有序从缓存中心中拉取与数据标识对应的待迁移数据以发送到升级搜索服务中。
67.可选的,上述步骤s305还包括:
68.获取多个推送线程的推送线程标识。
69.其中,每个推送线程都有唯一的推送线程标识,为了让每个推送线程都合理的分配到对应待迁移数据,可以先获取所有推送线程的推送线程标识。通过向推送数据线程池发送推送线程标识获取请求,待推送数据线程池同意并提取每个推送线程的推送线程标识后,可以进行反馈。
70.根据推送线程的推送线程标识与读取进程的读取线程标识的对应关系,以及读取线程标识与数据标识之间的对应关系,查找与推送线程标识对应的数据标识。
71.其中,获取到推送线程标识后,可以根据推送线程的推送线程标识与读取进程的读取线程标识的对应关系以及读取线程标识与数据标识之间的对应关系,锁定推送线程标识对应的数据标识,以确定每条推送线程需要读取的待迁移数据,例如:待迁移数据a对应读取线程标识1,读取进程标识1对应推送进程标识1

,则推送进程标识1

拉取待迁移数据a以发送到升级搜索服务中,且其余推送进程标识拉取待迁移数据也同样遵循上述方式。
72.基于预设传输地址,从缓存中心中将查找到的数据标识对应的待迁移数据有序传输到升级搜索服务中。
73.其中,上述预设传输地址可以是http。可以所有的推送线程可以通过http不断的从缓存中心中将查找到的数据标识对应的待迁移数据有序传输到升级搜索服务中。
74.在本发明实施例中,通过权限设置,在每一条推送线程获取到发送权限之后才可将拉取到的待迁移数据传输到升级搜索服务中,且上一推送线程推送待迁移数据至升级搜索服务后,再将发送权限转移至下一推送线程,这样,可以保证传输数据顺序的一致性。并且是根据推送线程的推送线程标识与读取进程的读取线程标识的对应关系,以及读取线程标识与数据标识之间的对应关系,查找与推送线程标识对应的数据标识,可以保证在读取线程读取待迁移数据的顺序与推送线程拉取待迁移数据的顺序的一致性,不会在过程中出现混乱,能够保证待迁移数据在每条推送线程中的合理分配,使得待迁移数据在迁移过程中的完整有序,迁移到升级搜索服务中能够更加集中的体现,有利于数据搜索时获取到更完整的数据,以提高数据搜索准确率。
75.如图4所示,图4是本发明实施例提供的一种服务器集群数据迁移装置的结构示意
图,服务器集群数据迁移装置400包括:
76.读取模块401,用于通过读取线程读取原始搜索服务中同一数据表内的待迁移数据,读取线程的读取线程标识与待迁移数据的数据标识存在对应关系;
77.存储模块402,用于将读取线程读取到的同一数据表内的待迁移数据加载到缓存中心暂存;
78.推送模块403,用于若检测到推送线程获取到发送权限,则根据推送线程的推送线程标识与读取进程的读取线程标识对应关系,有序从缓存中心中拉取与数据标识对应的待迁移数据以发送到升级搜索服务中。
79.可选的,如图5所示,图5是本发明实施例提供的另一种服务器集群数据迁移装置的结构示意图,读取模块401包括:
80.第一获取单元4011,用于获取读取线程的读取线程标识与待迁移数据的数据标识;
81.计算单元4012,用于对读取线程的读取线程标识与待迁移数据的数据标识进行计算,根据计算结果建立读取线程标识与数据标识之间的对应关系;
82.第二获取单元4013,用于根据读取线程标识与数据标识之间的对应关系,通过多个读取线程对原始搜索服务中同一数据表内的待迁移数据进行读取,直到同一数据表中的待迁移数据读取完成后再进行下一数据表读取。
83.可选的,如图6所示,图6是本发明实施例提供的另一种服务器集群数据迁移装置的结构示意图,存储模块402包括:
84.第一加载单元4021,用于获取每条读取线程已读取待迁移数据的数据量;
85.判断单元4022,用于判断已读取待迁移数据的数据量是否达到预设数据量阈值;
86.第二加载单元4023,用于若已读取待迁移数据的数据量达到预设数据量阈值,则根据多个读取线程的读取顺序将待迁移数据加载到缓存中心;
87.第三获取单元4024,用于获取缓存中心的剩余缓存空间,判断缓存中心的剩余缓存空间是否满足剩余待迁移数据的所需空间;
88.暂停单元4025,用于若缓存中心的剩余缓存空间不满足剩余待迁移数据的所需空间,则暂停将读取线程获取到的剩余待迁移数据加载到缓存中心。
89.可选的,如图7所示,图7是本发明实施例提供的另一种服务器集群数据迁移装置的结构示意图,推送模块403包括:
90.检测单元4031,用于检测推送数据线程池是否接收到发送权限,推送数据线程池包括多个推送线程;
91.发送单元4032,用于若推送线程池接收到发送权限,则将发送权限发送至多个推送线程,且发送至多个推送线程为上一推送线程推送待迁移数据至升级搜索服务后,再将发送权限转移至下一推送线程。
92.可选的,如图8所示,图8是本发明实施例提供的另一种服务器集群数据迁移装置的结构示意图,推送模块403还包括:
93.第四获取单元4033,用于获取多个推送线程的推送线程标识;
94.查找单元4034,用于根据推送线程的推送线程标识与读取进程的读取线程标识的对应关系,以及读取线程标识与数据标识之间的对应关系,查找与推送线程标识对应的数
据标识;
95.第三加载单元4035,用于基于预设传输地址,从缓存中心中将查找到的数据标识对应的待迁移数据有序传输到升级搜索服务中。
96.如图9所示,图9是本发明实施例提供的一种电子设备的结构示意图,该电子设备900包括:处理器901、存储器902、网络接口903及存储在存储器902上并可在处理器901上运行的计算机程序,处理器901执行计算机程序时实现实施例提供的服务器集群数据迁移方法中的步骤。
97.具体的,处理器901用于执行以下步骤:
98.通过读取线程读取原始搜索服务中同一数据表内的待迁移数据,读取线程的读取线程标识与待迁移数据的数据标识存在对应关系;
99.将读取线程读取到的同一数据表内的待迁移数据加载到缓存中心暂存;
100.若检测到推送线程获取到发送权限,则根据推送线程的推送线程标识与读取进程的读取线程标识对应关系,有序从缓存中心中拉取与数据标识对应的待迁移数据以发送到升级搜索服务中。
101.可选的,处理器901执行的通过读取线程同时读取原始搜索服务中同一数据表内的待迁移数据,读取线程的读取线程标识与待迁移数据的数据标识存在对应关系的步骤包括:
102.获取读取线程的读取线程标识与待迁移数据的数据标识;
103.对读取线程的读取线程标识与待迁移数据的数据标识进行计算,根据计算结果建立读取线程标识与数据标识之间的对应关系;
104.根据读取线程标识与数据标识之间的对应关系,通过多个读取线程对原始搜索服务中同一数据表内的待迁移数据进行读取,直到同一数据表中的待迁移数据读取完成后再进行下一数据表读取。
105.可选的,处理器901执行的将读取线程读取到的同一数据表内的待迁移数据加载到缓存中心暂存的步骤包括:
106.获取每条读取线程已读取待迁移数据的数据量;
107.判断已读取待迁移数据的数据量是否达到预设数据量阈值;
108.若已读取待迁移数据的数据量达到预设数据量阈值,则根据多个读取线程的读取顺序将待迁移数据加载到缓存中心;
109.获取缓存中心的剩余缓存空间,判断缓存中心的剩余缓存空间是否满足剩余待迁移数据的所需空间;
110.若缓存中心的剩余缓存空间不满足剩余待迁移数据的所需空间,则暂停将读取线程获取到的剩余待迁移数据加载到缓存中心。
111.可选的,处理器901执行的检测到推送线程获取到发送权限的步骤包括:
112.检测推送数据线程池是否接收到发送权限,推送数据线程池包括多个推送线程;
113.若推送线程池接收到发送权限,则将发送权限发送至多个推送线程,且发送至多个推送线程为上一推送线程推送待迁移数据至升级搜索服务后,再将发送权限转移至下一推送线程。
114.可选的,处理器901执行的推送线程根据推送线程的推送线程标识与读取进程的
读取线程标识对应关系,有序从缓存中心中拉取与数据标识对应的待迁移数据以发送到升级搜索服务中的步骤包括:
115.获取多个推送线程的推送线程标识;
116.根据推送线程的推送线程标识与读取进程的读取线程标识的对应关系,以及读取线程标识与数据标识之间的对应关系,查找与推送线程标识对应的数据标识;
117.基于预设传输地址,从缓存中心中将查找到的数据标识对应的待迁移数据有序传输到升级搜索服务中。
118.本发明实施例提供的电子设备900能够实现服务器集群数据迁移方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。
119.需要指出的是,图中仅示出了具有组件的901-903,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的电子设备900是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gatearray,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
120.电子设备900可以是桌上型计算机、笔记本及掌上电脑等计算设备。电子设备900可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
121.存储器902至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器902可以是电子设备900的内部存储单元,例如该电子设备900的硬盘或内存。在另一些实施例中,存储器902也可以是电子设备900的外部存储设备,例如该电子设备900上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器902还可以既包括电子设备900的内部存储单元也包括其外部存储设备。本实施例中,存储器902通常用于存储安装于电子设备900的操作系统和各类应用软件,例如服务器集群数据迁移方法的程序代码等。此外,存储器902还可以用于暂时地存储已经输出或者将要输出的各类数据。
122.处理器901在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器901通常用于控制电子设备900的总体操作。本实施例中,处理器901用于运行存储器902中存储的程序代码或者处理数据,例如运行服务器集群数据迁移方法的程序代码。
123.网络接口903可包括无线网络接口或有线网络接口,该网络接口903通常用于在电子设备900与其他电子设备之间建立通信连接。
124.本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器901执行时实现实施例提供的服务器集群数据迁移方法中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
125.本领域普通技术人员可以理解实现实施例服务器集群数据迁移方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可
读取存储介质中,该程序在执行时,可包括如各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存取存储器(randomaccess memory,简称ram)等。
126.在本发明实施例中提到的第一、第二等并不表示大小,只是为了便于表述。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献