掌桥专利:专业的专利平台
掌桥专利
首页

一种数据迁移方法、装置、设备及可读存储介质

文献发布时间:2023-06-19 12:07:15


一种数据迁移方法、装置、设备及可读存储介质

技术领域

本公开涉及物联网技术领域,特别涉及一种数据迁移方法、装置、设备及可读存储介质。

背景技术

在物联网场景中,不同的设备对应的系统版本不同。在对应不同版本的不同设备中,需要通过数据迁移的方法,实现二者的数据同步。

相关技术中,通常通过非托管的数据迁移方案进行数据迁移。非托管方案为通过脚本或开源工具进行数据迁移。

然而,由于数据迁移过程对于数据量大小以及迁移条件的要求较高,通过现有技术进行数据迁移的成功率较低。

发明内容

本公开关于一种数据迁移的方法、装置、设备及可读存储介质,能够降低数据迁移的失败风险。该技术方案如下:

一方面,提供了一种数据迁移方法,该方法包括:

获取待迁移的数据对应的数据信息,数据用于从配置有第一系统版本的第一物联网设备中迁移至配置有第二系统版本的第二物联网设备中;

基于数据信息确定与数据对应的迁移需求;

基于千亿需求确定分组规则,分组规则用于将数据划分为至少两组子数据;

控制第一物联网设备根据分组规则将子数据迁移至第二物联网设备中。

另一方面,提供了一种数据迁移装置,该装置包括:

获取模块,用于获取待迁移的数据对应的数据信息,数据用于从配置有第一系统版本的第一物联网设备中迁移至配置有第二系统版本的第二物联网设备中;

确定模块,用于基于数据信息确定与数据对应的迁移需求;

确定模块,还用于基于迁移需求确定分组规则,分组规则用于将数据划分为至少两组子数据;

控制模块,用于控制第一物联网设备根据分组规则将子数据迁移至第二物联网设备中。

另一方面,提供了一种计算机设备,计算机设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述本公开实施例中提供的数据迁移方法。

另一方面,提供了一种计算机可读存储介质,可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述本公开实施例中提供的数据迁移方法。

另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的数据迁移方法。

本公开提供的技术方案带来的有益效果至少包括:

通过确定作为数据迁移的源设备的第一物联网设备、数据迁移的目标设备的第二物联网设备以及需要迁移的数据对应的数据信息,并基于数据信息进行迁移需求以及分组规则的确定,以使第一物联网设备按照该数据的分组规则,向第二物联网设备进行数据迁移。在迁移的过程中,数据被根据其自身的信息划分成为多组子数据,通过以子数据的形式进行数据的迁移,使每次迁移的数据量较小,且每个子数据的迁移过程相互独立,提高了数据迁移的成功率。

附图说明

为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本申请一个示例性实施例提供的一种物联网场景的示意图;

图2示出了本申请一个示例性实施例提供的一种数据迁移方法的流程图;

图3示出了本申请一个示例性实施例提供的一种对于迁移结果进行确定的流程图;

图4示出了本申请一个示例性实施例提供的一种服务器中存储的迁移列表的示意图;

图5示出了本申请另一个示例性实施例提供的一种数据迁移方法的流程图;

图6示出了对应在线迁移方案时第一物联网设备与第二物联网设备的结构示意图;

图7示出了对应离线迁移方案时第一物联网设备与第二物联网设备的结构示意图;

图8示出了本申请一个示例性实施例提供的一种数据迁移的过程示意图;

图9示出了本申请一个示例性实施例提供的一种数据迁移装置的示意图;

图10示出了本申请另一个示例性实施例提供的一种数据迁移装置的示意图;

图11示出了本公开一个示意性实施例提供的服务器的结构图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。

首先,对本公开实施例中涉及的名词进行简单的介绍:

物联网(Internet of Things,IoT),指的是将各种信息传感设备,如射频识别设备、红外感应器、全球定位系统、激光扫描器等种种装置与互联网结合起来形成的一个巨大网络,其目的是让所有的物品都与网络连接在一起,方便用户或其他系统进行识别与管理。

在物联网场景中,通常包括至少两个物联网设备,以及实现场景中所有物联网设备的数据交互的至少一个服务器。图1示出了本申请一个示例性实施例提供的一种物联网场景的示意图。在该物联网场景100中,包括了第一物联网设备110,第二物联网设备120以及服务器130。其中,第一物联网设备110对应有第一系统版本,第二物联网设备120对应有第二系统版本,服务器130用于实现第一物联网设备110和第二物联网设备120之间的数据交互。在一个示例中,第一物联网设备110和第二物联网设备120在工作过程中,均将生成的数据发送至服务器130中进行存储,其中,服务器130存储有第一物联网设备110对应的第一系统版本的第一系统版本标识,以及第二物联网设备120对应的第二系统版本的第二系统版本标识。

在本申请实施例中,物联网设备可以实现为终端、服务器或云端服务器的至少一种,本申请实施例对于物联网设备的具体形式不做限制。

数据迁移,是一种应用在多个物联网设备之间的,将正在提供线上服务的数据,从一个物联网设备中迁移至另一个物联网设备中的过程。按照迁移过程中的网络连接状态,数据迁移的方式包括离线迁移方式与在线迁移方式;按照迁移过程中的人工参与状态,数据迁移的方式包括非托管方式、半托管方式以及全托管方式。

图2示出了本申请一个示例性实施例提供的一种数据迁移方法的流程图,以该方法应用于物联网场景下的服务器中为例进行说明,该方法包括:

步骤201,获取待迁移的数据对应的数据信息,数据用于从配置有第一系统版本的第一物联网设备中迁移至配置有第二系统版本的第二物联网设备中。

在本申请实施例中,服务器即为物联网场景下的服务器。在一个示例中,服务器实现为与第一物联网设备以及第二物联网设备均建立有网络连接关系的实体服务器;在另一个示例中,服务器可以实现为与第一物联网设备和第二物联网设备均建立有通信网络连接的云端服务器。

相应地,第一物联网设备以及第二物联网设备为与服务器建立有通信连接的设备。在本申请实施例中,通信连接可以实现为基于长距离网络通信技术的通信连接,也可以实现为基于短距离网络通信技术的通信连接。在一个示例中,第一物联网设备和第二物联网设备实现为两个智能家居设备,服务器实现为与两个智能家居设备通过蓝牙网络连接的智能家居中控设备;在另一个示例中,第一物联网设备和第二物联网设备实现为两个电表。服务器实现为云端服务器。第一物联网设备和第二物联网设备通过窄带物联网技术与云端服务器之间建立有通信连接,并可以通过该云端服务器,进行数据的交互。

在本申请实施例中,第一物联网设备对应有第一系统版本,第二物联网设备对应有第二系统版本。可选地,第一系统版本与第二系统版本不相同。在一个示例中,第一物联网设备和第二物联网设备通过窄带物联网技术建立有通信连接,而在当服务器进行系统版本的更新的过程中,第一物联网设备被唤醒,并响应于接收到新的系统版本,进行系统版本的更新。第二物联网设备未被唤醒,即不进行系统版本的更新。此时,第一物联网设备与第二物联网设备之间即存在系统版本的差异。在另一个示例中,第一物联网设备实现为一个水表,第二物联网设备实现为一个智能家居设备,此时,第一物联网设备与第二物联网设备配置有不同系列的系统版本。在另一个示例中,第一物联网设备与第二物联网设备的系统版本相同。本申请实施例对于第一物联网设备的系统版本与第二物联网设备的系统版本之间的关系不做限定。

在本申请实施例中,需要将数据从第一物联网设备迁移至第二物联网设备中,数据为第一物联网设备中存储的数据。在进行迁移的过程中,第一物联网设备仍可以对数据进行使用。

步骤202,基于数据信息确定与数据对应的迁移需求。

在本申请实施例中,迁移需求即为基于数据信息确定的,在数据迁移过程中,第一物联网设备以及第二物联网设备对于迁移过程中的要求。可选地,该迁移需求可以有数据信息确定。在一个示例中,数据信息指示数据的大小为100G,则迁移需求中即包括迁移设备需要具有100G内存的需求。

步骤203,基于数据信息确定分组规则,分组规则用于将数据划分为至少两组子数据。

在本申请实施例中,数据对应有数据信息。该数据对应的数据信息用于对数据的特征进行表征。在一个示例中,数据信息指示了数据的大小,且服务器中存储有数据大小对应表。服务器通过数据的大小从数据大小对应表中确定分组规则;在另一个示例中,数据信息中即包括数据的分组要求,服务器根据数据的分组要求,对于数据进行分组规则的确定。

在本申请中,根据分组规则,存储数据的设备将数据划分为至少两组子数据。在一个示例中,数据的总大小为1000G,且分组规则指示每组子数据的大小为10G,则最终即可获得100组子数据,且每组自数据的大小为10G。

可选地,每组子数据中的内容互不重复。

可选地,当第一系统版本与第二系统版本不同时,在对于进行数据进行分组的同时,还需要将数据适应第一系统版本与第二系统版本之间的差异,进行格式转化。

步骤204,控制第一物联网设备根据分组规则将子数据迁移至第二物联网设备中。

在本申请实施例中,由于数据迁移为自第二第一物联网设备向第二物联网设备进行数据的迁移,故服务器无法直接将数据迁移至第二物联网设备中,而需指示第一物联网设备将数据以子数据的形式迁移至第二物联网设备中。

在一个示例中,子数据的数量为100组,服务器指示第一物联网设备将100组子数据同时迁移至第二物联网设备中;在另一个示例中,子数据的数量为100组,服务器指示第一物联网设备将100组子数据依次迁移至第二物联网设备中;在另一个示例中,子数据的数量为100组,服务器指示第一物联网设备将100组子数据分10次迁移至第二物联网设备中,且一次迁移10组;在另一个示例中,子数据的数量为100组,服务器指示第一物联网设备将100组子数据分10次迁移至第二物联网设备中,且每次迁移的子数据组数量不确定。在本申请实施例中,对于第一物联网设备对子数据进行分组发送的过程和方法不作限制。

综上所述,本实施例提供的方法,通过确定作为数据迁移的源设备的第一物联网设备、数据迁移的目标设备的第二物联网设备以及需要迁移的数据对应的数据信息,并基于数据信息进行迁移需求以及分组规则的确定,以使第一物联网设备按照该数据的分组规则,向第二物联网设备进行数据迁移。在迁移的过程中,数据被根据其自身的信息划分成为多组子数据,通过以子数据的形式进行数据的迁移,使每次迁移的数据量较小,且每个子数据的迁移过程相互独立,提高了数据迁移的成功率。

在数据迁移完成之后,服务器可以通过对于第二物联网设备的数据读取,进行对于数据迁移的成功性验证,并在迁移失败时执行对应的弥补步骤。图3示出了本申请一个示例性实施例提供的一种对于迁移结果进行确定的流程图,以该方法应用于物联网场景下的服务器中为例进行说明,该方法包括:

步骤301,响应于子数据从第一物联网设备迁移至第二物联网设备中,确定子数据的迁移结果,迁移结果包括迁移成功结果和迁移失败结果。

在本申请实施例中,当子数据从第一物联网设备迁移至第二物联网设备中后,第二物联网设备将会向服务器发送迁移完成提示,该迁移完成提示用于提醒服务器数据迁移过程已完成,并指示服务器进行子数据的迁移结果的验证。

本申请实施例中,子数据对应有子数据标识,该子数据标识可以指示子数据在原始的数据当中的位置。在一个示例中,子数据的个数为100个,则根据子数据组在原数据当中的位置,为子数据进行1至100的标号,作为子数据组标识。

在一个示例中,服务器对于数据的完整性进行检测,当数据的完整性检测指示数据完整时,即确定迁移成功。当确定迁移成功后,服务器即可以指示数据迁移完成。

在另一个示例中,服务器对于数据的完整性进行检测,当数据的完整性检测指示数据不完整时,即确定迁移未完全成功,此时,服务器需要对迁移失败的子数据进行确定。以进一步确定迁移未成功的子数据的在数据中的位置。可选地,该位置可以由与子数据对应的子数据标识决定。

在本申请实施例中,第一物联网设备对应有第一系统版本,第二物联网设备对应有第二系统版本,第一系统版本与第二系统版本不相同。

步骤302,响应于迁移结果为迁移成功结果,在迁移成功列表中记录子数据标识,迁移成功列表中包括迁移成功的子数据对应的子数据标识。

在本申请实施例中,迁移结果指示与每组子数据对应的迁移结果。迁移结果包括迁移成功结果和迁移失败结果,迁移成功结果即指示该子数据完整地从第一物联网设备中被迁移到了第二物联网设备中;迁移失败结果即指示该子数据未完整地从第一物联网设备中被迁移到第二物联网设备中。

响应于迁移结果为迁移成功结果,服务器即可确定该子数据已经被完整且准确地从第一物联网设备中迁移至了第二物联网设备中。

步骤303,响应于迁移结果为迁移失败结果,在迁移失败列表中记录子数据标识,迁移失败列表中包括迁移失败的子数据对应的子数据标识。

可选地,该迁移失败列表与步骤302中的迁移成功列表可以合并为同一张列表。图4示出了本申请一个示例性实施例提供的一种服务器中存储的迁移列表的示意图。该迁移列表400中包括迁移成功列表410和迁移失败列表420。服务器根据获取的数据信息,按照子数据标识所对应的顺序对于子数据的完整性进行检查,并判断该子数据的迁移结果。如图4所示,子数据标识为3、58的子数据组的迁移结果为迁移失败结果,其他子数据组的迁移结果为迁移成功结果。此时即指示子数据标识为3和子数据标识为58的子数据迁移失败。

步骤304,确定与迁移失败列表中的子数据标识对应的子数据。

在本申请中,当子数据迁移失败后,服务器即根据子数据标识对与其对应的子数据进行确定。在一个示例中,服务器根据数据的数据信息,从第一物联网设备中确定子数据的存储位置,进而确定与子数据标识对应的子数据。

步骤305,将子数据从第一物联网设备中重新迁移至第二物联网设备中。

在确定子数据之后,服务器即指示第一物联网设备将子数据重新迁移至第二物联网设备中。

可选地,在将子数据重新迁移至第二物联网设备中后,服务器重复执行对于子数据完整性的检测过程。当重新迁移至第二物联网设备的子数据指示的迁移结果更新为迁移成功结果后,确定迁移成功;当重新迁移至第二物联网设备的子数据指示迁移结果未更新,仍是迁移失败结果后,确定迁移未成功,并再次指示第一物联网设备将迁移未成功的子数据迁移至第二物联网设备。

直至对应每一个子数据的迁移结果均为迁移成功结果后,服务器确定第一物联网设备成功将数据迁移至第二物联网设备中。

综上所述,本实施例提供的方法,通过对于每组子数据均进行迁移结果的检测,在数据迁移未完全成功时,可以迅速对于迁移未完全成功的原因进行确定,并提供相应的解决方法,提高了数据迁移的效率。

在对迁移未完全成功的原因进行确定之后,只需将迁移未成功的子数据进行再次迁移,而无需将全部数据进行再次迁移,进一步提高了数据迁移的效率。

图5示出了本申请一个示例性实施例提供的一种数据迁移方法的流程图,请参考图5,以该方法应用于物联网场景下的服务器中进行说明,该方法包括:

步骤501,获取待迁移的数据对应的数据信息。

在本申请实施例中,数据信息为对应待迁移的数据的信息。在一个示例中,数据信息可以包括数据的大小、数据的内容摘要以及数据的格式;在另一个示例中,数据信息还包括对于数据迁移的要求,包括对于数据迁移的时长要求、对于数据迁移的环境要求以及对于数据迁移的成本要求中的至少一种。

在本申请实施例中,第一物联网设备对应有第一系统版本,第二物联网设备对应有第二系统版本,第一系统版本与第二系统版本不相同。

步骤502,确定与数据对应的迁移需求。

在本申请实施例中,部分迁移需求可以从数据信息当中直接获得。在一个示例中,数据信息中包括对于数据迁移的时长要求,则该时长可以直接作为迁移需求中的时长数据。本申请对于迁移需求获取方式不作限制。本申请实施例中,迁移需求包括时长需求、成本需求、工具需求中的至少一种。时长需求指示对数据进行迁移时长预估,得到的预计时长;成本需求指示对数据进行迁移成本预估,得到的迁移成本;工具需求指示对数据进行迁移工具预估,得到的迁移工具种类。

步骤503,基于迁移需求确定分组规则。

在本申请中,根据分组规则,存储数据的设备将数据划分为至少两组子数据。在一个示例中,数据的总大小为1000G,且分组规则指示每组子数据的大小为10G,则最终即可获得100组子数据,且每组自数据的大小为10G。

在本申请实施例的一个示例中,服务器中存储有预设候选分组规则,并从预设候选分组规则中基于迁移需求选取分组规则;在另一个示例中,服务器基于迁移需求创建新的分组规则。

可选地,每组子数据中的内容互不重复。

步骤504,基于迁移需求以及分组规则确定迁移方案。

在本申请实施例中,迁移方案包括在线迁移方案和离线迁移方案。其中,在线迁移方案为通过第一物联网设备与第二物联网设备之间的通信连接,实现数据迁移的方案。离线迁移方案为将数据首先从第一物联网设备写入至其他存储设备,再通过其他存储设备量向第二物联网设备的挂载以及数据写入,实现数据迁移的方案。

在一个示例中,迁移需求为:设备数1000个,单设备测点数50个,测点频率为秒级,迁移时间90天,单测点数据30字节,网络带宽20MB。则数据量为100*50*86400*90*30/1024/1024/1024=10862G,所需的迁移时间为10862G/20MB=6.3天。

在本申请实施例中,响应于迁移方案为在线迁移方案,执行步骤505至步骤506;响应于迁移方案为离线迁移方案,执行步骤507至步骤508。

步骤505,响应于迁移方案为在线迁移方案,基于迁移需求配置通信网络。

当迁移方案为在线迁移方案时,服务器即根据迁移需求配置第一物联网设备与第二物联网设备之间建立的通信网络。在一个示例中,迁移需求中指示总迁移时长为20小时,则服务器配置该通信网络的开启时长为21小时。在另一个示例中,迁移需求指示通过蜂窝移动数据进行通信网络的配置,则服务器根据该指示,配置蜂窝移动网络作为通信网络。

步骤506,控制第一物联网设备通过通信网络,按照分组规则将子数据从第一物联网设备中发送第二物联网设备中。

在服务器建立第一通信网络与第二通信网络之间的网络连接后,服务器即指示第一物联网设备通过通信网络向第二物联网设备进行数据的发送。

在本申请实施例中,数据是以数据组的形式发送至第二物联网设备中的,故服务器可以指示第一物联网设备以不同形式进行子数据的发送。在一个示例中,服务器指示第一物联网设备同时向第二物联网设备发送所有子数据;在另一个示例中,服务器指示第一物联网设备一次向第二物联网设备发送子数据,且在先的子数据发送完成后,间隔30秒,再发送在后的子数据。

请参考图6,对应在线迁移方案,第一物联网设备610中具有源数据库611以及迁移工具612,迁移工具612中包括参数配置模块613,用于根据数据需要迁移的数据进行参数配置;任务拆分模块614,用于将数据拆分为子数据;代理模块615,用于调配各个模块之间的工作;进度记录模块616,用于对数据打包以及发送的进度进行记录;文件数据库617,用于存储数据;消息发送模块618,用于进行数据的发送。在经过服务器配置的公网620后,数据被发送至第二物联网设备630。第二物联网设备630中包括消息队列模块631,用于整理接收到的子数据;写入服务模块632,用于将接收到的子数据进行在第二物联网设备对应的第二版本系统中的写入;目标数据库633,用于接收数据;依赖模块634,用于检查数据与环境之间的依赖关系。

步骤507,响应于迁移方案为离线迁移方案,确定迁移工具的设备状态。

当迁移方案为离线迁移方案时,服务器即根据迁移需求确定迁移工具的设备状态。可选地,服务器根据迁移需求确定的迁移工具种类,对进行迁移的工具进行选择。

步骤508,响应于设备状态指示可以进行迁移,指示第一物联网设备按照分组规则将子数据接入迁移工具中。

请参考图7,对应离线迁移方案,第一物联网设备710中包括数据库711以及迁移工具712,迁移工具712中包括参数配置模块713,用于根据数据需要迁移的数据进行参数配置;任务拆分模块714,用于将数据拆分为子数据;代理模块715,用于调配各个模块之间的工作。在将数据打包至迁移设备720中后,迁移设备720通过物理运输的方式,将数据迁移至第二物联网设备730中,第二物联网设备730中包括消息队列模块731,用于整理接收到的子数据;写入服务模块732,用于将接收到的子数据进行在第二物联网设备对应的第二版本系统中的写入;目标数据库733,用于接收数据;依赖模块734,用于检查数据与环境之间的依赖关系。

在执行如步骤505至步骤506的在线迁移方案,或执行如步骤507至步骤508的离线迁移方案后,服务器执行步骤509。

步骤509,读取第二物联网设备中的子数据。

在本步骤中,服务器对于第二物联网设备中的子数据进行读取,以确定迁移至第二物联网设备的数据的完整性。

可选地,服务器通过获取第二物联网设备中的数据信息的方式,确定第二物联网设备当中的子数据。

步骤510,验证第二物联网设备中的子数据的完整性。

在本申请实施例中,服务器首先确定与子数据对应的子数据标识,再根据子数据标识一次进行子数据的完整性验证。

可选地,服务器根据子数据的完整性的验证结果,确定子数据的迁移结果,并写入迁移结果列表中。

步骤511,响应于子数据完整,确定子数据迁移成功。

响应于子数据不完整,服务器根据子数据标识对于子数据进行确定,并在确定子数据标识后,指示第一物联网设备重新将子数据发送至第二物联网设备。

综上所述,本实施例提供的方法,通过确定作为数据迁移的源设备的第一物联网设备、数据迁移的目标设备的第二物联网设备以及需要迁移的数据对应的数据信息,并基于数据信息进行迁移需求以及分组规则的确定,以使第一物联网设备按照该数据的分组规则,向第二物联网设备进行数据迁移。在迁移的过程中,数据被根据其自身的信息划分成为多组子数据,通过以子数据的形式进行数据的迁移,使每次迁移的数据量较小,且每个子数据的迁移过程相互独立,提高了数据迁移的成功率。

通过根据对应数据、第一物联网设备和第二物联网设备的设备状态进行迁移环境确定的方式,以及通过对应迁移需求的迁移条件的设置,确定数据迁移的环境以及数据迁移的方式,进一步提高了数据迁移的成功率。

图8示出了本申请一个示例性实施例提供的一种数据迁移的过程示意图。该过程应用于物联网环境中,该过程包括:

步骤801,迁移工具功能与性能测试。

本申请实施例的实施环境中包括服务器、第一物联网设备以及第二物联网设备。

可选地,该过程即为对于离线迁移过程中个所需使用的迁移工具进行测试的过程。通过该测试过程,可以得到迁移需求中的工具数据。可选地,该过程由服务器指示迁移工具进行,并获取功能与性能测试结果。

步骤802,环境依赖检查。

该过程即为依赖性检查过程,是对于迁移数据过程中,数据与第二物联网设备所对应的第二系统版本的适应程度的检查。可选地,该过程由服务器指示第二物联网设备进行,并获取环境以来检查结果。

步骤803,获取迁移参数,生成配置文件。

该过程即为服务器对于数据信息的获取,并基于数据信息生成分组规则的过程。在该过程中,配置文件即为服务器发送至第一物联网设备的,指示分组规则的文件。

步骤804,评估迁移时长与迁移成本。

该过程即为根据分组规则以及数据信息,进行迁移需求的确定的过程。在本申请实施例中,迁移需求包括迁移时长以及迁移成本。

步骤805,根据评估结果确定迁移方案。

在本申请实施例中,迁移方案包括在线迁移方案以及离线迁移方案。其中,离线迁移方案需要使用迁移工具。

响应于迁移方案为在线迁移方案,执行步骤806至步骤807。

步骤806,网络安全与代理配置。

该过程即为服务器响应于迁移方案为在线迁移方案,对于通信网络进行配置的过程。经过该代理配置,第一物联网设备与第二物联网设备之间即建立有通信网络连接。

步骤807,在源端执行迁移工具查询数据,通过网络写入目标环境。

该过程即为将数据以子数据的形式从第一物联网设备中发送至第二物联网设备中的过程。

响应于迁移方案为离线迁移方案,执行步骤808至步骤810。

步骤808,在源端查询数据,写入本地存储设备。

该过程即为确定迁移工具的过程,可选地,第一物联网设备中存储有与迁移工具对应的数据,通过对于该数据的查询,即可确定迁移工具。

可选地,第一物联网设备与迁移工具之间建立有连接关系。

步骤809,将本地存储设备挂载到目标环境。

在本申请实施例中,第一物联网设备将数据迁移至迁移工具中,或,第一物联网设备将数据进行镜像,并发送至迁移工具中。随后,解除第一物联网设备与迁移工具之间的连接,并建立迁移工具与第二物联网设备之间的连接。

步骤810,执行迁移工具,将数据写入目标数据库。

该过程即为迁移工具将数据写入第二物联网设备中的数据库的过程,在写入后,第二物联网设备即接收到了数据。

步骤811,验证数据完整性。

该过程即为子数据迁移完成后,按照子数据标识数据的完整性进行验证的过程。

综上所述,本实施例提供的方法,通过确定作为数据迁移的源设备的第一物联网设备、数据迁移的目标设备的第二物联网设备以及需要迁移的数据对应的数据信息,并已于数据信息进行迁移需求以及分组规则的确定,以使第一物联网设备按照该数据的分组规则,向第二物联网设备进行数据迁移。在迁移的过程中,数据被根据其自身的信息划分成为多组子数据,通过以子数据的形式进行数据的迁移,使每次迁移的数据量较小,且每个子数据的迁移过程相互独立,提高了数据迁移的成功率。

图9示出了本申请一个示例性实施例提供的一种数据迁移装置的示意图,请参考图9,该装置包括:

获取模块901,用于获取待迁移的数据对应的数据信息,数据用于从配置有第一系统版本的第一物联网设备中迁移至配置有第二系统版本的第二物联网设备中;

确定模块902,用于基于数据信息确定与数据对应的迁移需求;

确定模块902,还用于基于迁移需求确定分组规则,分组规则用于将数据划分为至少两组子数据;

控制模块903,用于控制第一物联网设备根据分组规则将子数据迁移至第二物联网设备中。

在一个可选的实施例中,子数据对应有子数据标识;

确定模块902,还用于响应于子数据从第一物联网设备迁移至第二物联网设备中,确定子数据的迁移结果,迁移结果包括迁移成功结果和迁移失败结果;

该装置,还包括记录模块904,用于响应于迁移结果为迁移成功结果,在迁移成功列表中记录子数据标识,迁移成功列表中包括迁移成功的子数据对应的子数据标识。

在一个可选的实施例中,记录模块904,还用于在迁移失败列表中记录子数据标识,迁移失败列表中包括迁移失败的子数据对应的子数据标识。

在一个可选的实施例中,确定模块902,还用于确定与迁移失败列表中的子数据标识对应的子数据;

控制模块903,用于控制第一物联网设备将子数据重新迁移至第二物联网设备中。

在一个可选的实施例中,迁移需求包括时长需求、成本需求、工具需求中的至少一种;

时长需求指示对数据进行迁移时长预估,得到的预计时长;

成本需求指示对数据进行迁移成本预估,得到的迁移成本;

工具需求指示对数据进行迁移工具预估,得到的迁移工具种类。

在一个可选的实施例中,控制第一物联网设备根据分组规则将子数据迁移至第二物联网设备中之前,确定模块902,还用于基于迁移需求以及分组规则确定迁移方案,迁移方案包括在线迁移方案和离线迁移方案。

在一个可选的实施例中,该装置,还包括配置模块905,用于基于迁移需求配置通信网络;

控制模块903,还用于控制第一物联网设备通过通信网络,按照分组规则将子数据从第一物联网设备中发送第二物联网设备中;

该装置,还包括读取模块906,用于读取第二物联网设备中的子数据;

该装置,还包括验证模块907,用于验证第二物联网设备中的子数据的完整性;

确定模块902,还用于响应于子数据完整,确定子数据迁移成功。

在一个可选的实施例中,确定模块902,还用于确定迁移工具的设备状态,迁移工具为进行在离线迁移方案下将数据从第一物联网设备中迁移至第二物联网设备中所使用的电子设备;

该装置,还包括指示模块908,用于响应于设备状态指示迁移工具具有进行数据迁移的能力,指示第一物联网设备按照分组规则将子数据写入迁移工具中;

读取模块906,用于读取第二物联网设备中的子数据;

确定模块902,用于响应于子数据完整,确定子数据迁移成功。

在一个可选的实施例中,该装置,还包括选取模块909从预设候选分组规则中基于迁移需求选取分组规则;

或,

该装置,还包括创建模块910,用于基于迁移需求创建新的分组规则。

综上所述,本申请实施例提供的装置,通过确定作为数据迁移的源设备的第一物联网设备、数据迁移的目标设备的第二物联网设备以及需要迁移的数据对应的数据信息,并根据数据信息进行分组规则的确定,以使第一物联网设备按照该数据的分组规则,向第二物联网设备进行数据迁移。在迁移的过程中,数据被根据其自身的信息划分成为多组子数据,通过以子数据的形式进行数据的迁移,使每次迁移的数据量较小,且每个子数据的迁移过程相互独立,提高了数据迁移的成功率。

需要说明的是:上述实施例提供的数据迁移装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

本公开还提供了一种服务器,该服务器包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的数据迁移方法。需要说明的是,该服务器可以是如下图11所提供的服务器。

请参考图11,其示出了本公开一个示例性实施例提供的服务器的结构示意图。具体来讲:服务器1100包括中央处理单元(Central Processing Unit,CPU)1101、包括随机存取存储器(Random Access Memory,RAM)1102和只读存储器(Read-Only Memory,ROM)1103的系统存储器1104,以及连接系统存储器104和中央处理单元1101的系统总线1105。服务器1100还包括帮助计算机内的各个器件之间传输信息的基本输入/输出(Input OutputSystem,I/O)系统106,和用于存储操作系统1111、应用程序1114和其他程序模块1115的大容量存储设备1107。

基本输入/输出系统1106包括有用于显示信息的显示器1108和用于用户输入信息的诸如鼠标、键盘之类的输入设备1109。其中显示器1108和输入设备1109都通过连接到系统总线1105的输入输出控制器1110连接到中央处理单元1101。基本输入/输出系统1106还可以包括输入输出控制器1110以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1110还提供输出到显示屏、打印机或其他类型的输出设备。

大容量存储设备1107通过连接到系统总线1105的大容量存储控制器(未示出)连接到中央处理单元1101。大容量存储设备1107及其相关联的计算机可读介质为服务器1100提供非易失性存储。也就是说,大容量存储设备1107可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。

不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、带电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字多功能光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1104和大容量存储设备1107可以统称为存储器。

存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1101执行,一个或多个程序包含用于实现上述数据迁移方法的指令,中央处理单元1101执行该一个或多个程序实现上述各个方法实施例提供的数据迁移方法。

根据本申请的各种实施例,服务器1100还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1100可以通过连接在系统总线1105上的网络接口单元1113连接到网络1112,或者说,也可以使用网络接口单元1111来连接到其他类型的网络或远程计算机系统(未示出)。

存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,一个或者一个以上程序包含用于进行本申请实施例提供的数据迁移方法中由服务器所执行的步骤。

本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述数据迁移方法。

本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的数据迁移方法。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述数据迁移方法。

可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

上述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

相关技术
  • 数据迁移方法、数据迁移装置和可读存储介质
  • 一种数据迁移方法、装置、电子设备及可读存储介质
技术分类

06120113178095