CN116028433A - 数据迁移方法和电子设备 - Google Patents
数据迁移方法和电子设备 Download PDFInfo
- Publication number
- CN116028433A CN116028433A CN202210820533.9A CN202210820533A CN116028433A CN 116028433 A CN116028433 A CN 116028433A CN 202210820533 A CN202210820533 A CN 202210820533A CN 116028433 A CN116028433 A CN 116028433A
- Authority
- CN
- China
- Prior art keywords
- data
- electronic device
- migrated
- storage
- storage unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种数据迁移方法和电子设备,该方法由第一电子设备执行,包括:在检测到用户输入的第一指令的情况下,向第二电子设备发送第一请求,第一请求请求迁移第二电子设备中的待迁移数据,第一请求携带待迁移数据的标识;根据待迁移数据在第二电子设备上的存储路径,确定待迁移数据被迁移至第一电子设备中对应的目标存储路径,并且将目标数据根据目标存储路径进行存储,目标数据是第二电子设备根据第一请求返回的待迁移数据。该方法可以自动确定待迁移数据的目标存储路径,以提高数据迁移效率。
Description
本申请要求于2022年05月16日提交国家知识产权局、申请号为202210528330.2、申请名称为“数据克隆方法和电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及电子技术领域,具体涉及一种数据迁移方法和电子设备。
背景技术
当前,电子设备迭代更新的速度越来越快,用户使用一个电子设备一段时间后,可能会更换新电子设备,若用户仍要使用旧电子设备上的一些数据,就需要将旧电子设备上的这些数据迁移或克隆到新电子设备上。
通常,用户可以使用换机克隆功能进行数据迁移,通过在新电子设备上选择要迁移的数据的目标存储路径,以将旧电子设备上的数据迁移到新电子设备上。
但是,因旧电子设备上的数据量通常较大,由用户来选择目标存储路径比较耗时耗力。
发明内容
本申请提供了一种数据迁移方法和电子设备,可以自动确定待迁移数据的目标存储路径,以提高数据迁移效率。
第一方面,本申请提供一种数据迁移方法,上述方法由第一电子设备执行,包括:在检测到用户输入的第一指令的情况下,向第二电子设备发送第一请求,第一请求请求迁移第二电子设备中的待迁移数据,第一请求携带待迁移数据的标识;根据待迁移数据在第二电子设备上的存储路径,确定待迁移数据被迁移至第一电子设备中对应的目标存储路径,并且将目标数据根据目标存储路径进行存储,目标数据是第二电子设备根据第一请求返回的待迁移数据。
其中,第一电子设备可以为新电子设备,第二电子设备可以为旧电子设备。用户所输入的第一指令可以为在第一电子设备的界面上输入的“开始迁移”等操作,也可以为用户输入的语音指令。新电子设备接收到第一指令后,可以向旧电子设备发送迁移待迁移数据的请求,同时,新电子设备还可以确定待迁移数据在本设备上存储时的目标存储路径,以在接收到待迁移数据后(接收后可以称为目标数据)对其进行存储。
需要说明的是,在检测到用户输入的第一指令时,新电子设备“向第二电子设备发送第一请求”和“确定目标存储路径”的步骤可以同时进行,也可以前后执行,本申请对此执行顺序不做限制。
在一个实现方式中,用户所输入的第一指令中还可以携带待迁移数据的标识,以指示新电子设备只向旧电子设备请求迁移用户选择的待迁移数据。例如,新电子设备上可以显示第一界面,第一界面上包括旧电子设备发送的所搜集的全部数据的信息(包括数据标识、名称、大小等信息),用户可以在该界面上选择自己所需要的数据。那么新电子设备接收到用户的选择操作后,可以仅根据用户选择的数据的标识生成第一请求。
上述实现方式中,旧电子设备在向新电子设备迁移数据时,新电子设备可以根据待迁移数据在旧电子设备上的存储路径,确定迁移至新电子设备上时的目标存储路径,减少了用户的选择操作,提高了数据迁移效率。
结合第一方面,在第一方面的有些实现方式中,上述根据待迁移数据在第二电子设备上的存储路径,确定待迁移数据被迁移至第一电子设备中对应的目标存储路径,包括:在第一电子设备的存储空间未被划分的情况下,根据待迁移数据在第二电子设备上的存储路径,确定待迁移数据被迁移至第一电子设备中对应的目标存储路径;在第一电子设备的存储空间被划分为至少两个存储单元的情况下,根据存储空间的剩余存储空间大小、待迁移数据在第二电子设备上的存储路径以及待迁移数据的数据大小,确定待迁移数据被迁移至第一电子设备中对应的目标存储路径。
考虑到新电子设备中的存储空间存在被划分和未被划分的情况,例如,在存储空间为本地磁盘的情况下,存储空间被划分即本地磁盘被分盘(如有C、D、E等多个盘),存储空间未被划分即本地磁盘没有被分盘(只有一个C盘)。那么,针对存储空间未被分盘和被分盘的不同情况,本申请对应有不同的方式来确定目标存储路径。
在一个实现方式中,在第一电子设备的存储空间未被划分的情况下,第一电子设备的存储空间为第一电子设备的第一存储单元;若待迁移数据存储于第二电子设备的第一存储单元,待迁移数据被迁移至第一电子设备中对应的目标存储路径与待迁移数据在第二电子设备上的存储路径相同;若待迁移数据未存储于第二电子设备的第一存储单元,待迁移数据被迁移至第一电子设备中对应的目标存储路径包括第一电子设备的第一存储单元的标识和待迁移数据在第二电子设备上的存储路径信息。
其中,在存储空间为本地磁盘的情况下,若存储空间未被划分,即新电子设备只有一个C盘,也即是说,第一存储单元即为C盘。那么此时需要判断待迁移数据在旧电子设备上是否也存储于C盘。
若待迁移数据在旧电子设备上存储于C盘,则待迁移数据在新电子设备上的目标存储路径与在旧电子设备上的存储路径相同,例如可以都为C:\测试\A.txt。若待迁移数据在旧电子设备不是存储于C盘,因待迁移数据在新电子设备上只能存储于C盘,则可以在目标存储路径上加上待迁移数据在旧电子设备上的存储路径,例如待迁移数据在旧电子设备上的存储路径为D:\测试\A.txt,则其在新电子设备上的目标存储路径为C:\old_D\测试\A.txt。
在一个实现方式中,在第一电子设备的存储空间被划分为至少两个存储单元的情况下,新电子设备确定目标存储路径的过程可以包括:确定至少两个存储单元中是否包括第二存储单元,第二存储单元的标识与待迁移数据在第二电子设备上存储对应的存储单元的标识相同;在至少两个存储单元中不包括第二存储单元的情况下,从至少两个存储单元中确定第三存储单元,第三存储单元的剩余存储空间大小大于或者等于待迁移数据的数据大小;确定第一路径为待迁移数据被迁移至第一电子设备中对应的目标存储路径,第一路径包括第三存储单元的标识和待迁移数据在第二电子设备上的存储路径信息;在至少两个存储单元中包括第二存储单元的情况下,根据第二存储单元的剩余存储空间大小、待迁移数据在第二电子设备上的存储路径以及待迁移数据的数据大小,确定待迁移数据被迁移至第一电子设备中对应的目标存储路径。
在一个实现方式中,从至少两个存储单元中确定第三存储单元的过程可以包括:从至少两个存储单元中除第一存储单元之外的存储单元开始查找,确定是否存在剩余存储空间大小大于或者等于待迁移数据的数据大小的存储单元;若存在,确定剩余存储空间大小大于或者等于待迁移数据的数据大小的存储单元为第三存储单元;若不存在,确定第一存储单元为第三存储单元。
在一个实现方式中,在至少两个存储单元中包括第二存储单元的情况下,若第二存储单元的剩余存储空间大小大于或者等于待迁移数据的数据大小,待迁移数据被迁移至第一电子设备中对应的目标存储路径与待迁移数据在第二电子设备上的存储路径相同;若第二存储单元的剩余存储空间大小小于待迁移数据的数据大小,待迁移数据被迁移至第一电子设备中对应的目标存储路径包括第四存储单元的标识和待迁移数据在第二电子设备上的存储路径信息,第四存储单元为至少两个存储单元中除第二存储单元之外,剩余存储空间大小大于或者等于待迁移数据的数据大小的存储单元。
在一个实现方式中,上述确定上述第四存储单元的过程可以为:从至少两个存储单元中第二存储单元之后的存储单元开始查找,确定是否存在剩余存储空间大小大于或者等于待迁移数据的数据大小的存储单元;若存在,确定剩余存储空间大小大于或者等于待迁移数据的数据大小的存储单元为第四存储单元;若不存在,从至少两个存储单元中第二存储单元之前的存储单元开始查找,确定剩余存储空间大小大于或者等于待迁移数据的数据大小的存储单元为第四存储单元。
其中,在存储空间为本地磁盘的情况下,若存储空间被划分,即新电子设备上至少有两个存储单元,即至少有两个磁盘,磁盘的盘符可以为存储单元的标识。那么,新电子设备需要判断该至少两个磁盘中是否包括待迁移数据在旧电子设备上存储时对应的磁盘。例如,新电子设备上具有C、D、E三个磁盘,待迁移数据在旧电子设备存储于D盘,即新电子设备上包括待迁移数据在旧电子设备上存储时对应的磁盘(也即新电子设备上的D盘为第二存储单元)。
可以理解,新电子设备中的至少两个磁盘可能包括待迁移数据在旧电子设备上存储时对应的磁盘,也可能不包括待迁移数据在旧电子设备上存储时对应的磁盘,则此时可再分情况来确定待迁移数据对应的目标存储路径。
在至少两个磁盘中不包括待迁移数据在旧电子设备上存储时对应的磁盘的情况下,则需要从至少两个磁盘中确定一个能够存储下待迁移数据的磁盘(第三存储单元),即剩余存储空间大小大于或者等于待迁移数据的数据大小的磁盘,并在目标存储路径中加上待迁移数据在旧电子设备上的存储路径。例如新电子设备上具有C、D、E三个磁盘,待迁移数据在旧电子设备存储于F盘,待迁移数据在旧电子设备上的存储路径为F:\测试\A.txt,新电子设备上的D盘可以存储下待迁移数据,则其在新电子设备上的目标存储路径为D:\old_F\测试\A.txt。
可以理解,在确定能够存储下待迁移数据的磁盘的过程中,新电子设备可以先从数据盘开始查找,若所有的数据盘都存储不下该待迁移数据,再将其存储至系统盘(C盘)。
在至少两个磁盘中包括待迁移数据在旧电子设备上存储时对应的磁盘的情况下,则还需要判断该对应的磁盘是否能够存储下待迁移数据。若所对应的磁盘能够存储下待迁移数据,则待迁移数据在新电子设备上的目标存储路径与其在旧电子设备上的存储路径相同。例如,新电子设备上具有C、D、E三个磁盘,待迁移数据在旧电子设备存储于D盘,待迁移数据在旧电子设备上的存储路径为D:\测试\A.txt,新电子设备上的D盘可以存储下待迁移数据,则其在新电子设备上的目标存储路径为D:\测试\A.txt。
若所对应的磁盘不能够存储下待迁移数据,则新电子设备可以从上述至少两个磁盘的其他磁盘中查找一个能够存储下待迁移数据的磁盘(即第四存储单元),且在目标存储路径中加上待迁移数据在旧电子设备上的存储路径。例如新电子设备上具有C、D、E三个磁盘,待迁移数据在旧电子设备存储于D盘,待迁移数据在旧电子设备上的存储路径为D:\测试\A.txt,新电子设备上的D盘存储不下待迁移数据,查找到E盘可以存储下待迁移数据,则其在新电子设备上的目标存储路径为E:\old_D\测试\A.txt。
可以理解,在确定能够存储下待迁移数据的磁盘的过程中,新电子设备可以先从上述D盘之后的数据盘开始查找,若查找不到能够存储下待迁移数据的磁盘,再从D盘之前的数据盘开始查找。如果数据盘都存储不下待迁移数据,则将其存储在系统盘(C盘)。
根据上述实现方式,新电子设备可以根据待迁移数据在旧电子设备上的存储路径,确定迁移至新电子设备上的目标存储路径,由此可以针对不同磁盘下的待迁移数据,自动智能的确定目标存储路径,以减少用户的操作过程。
结合第一方面,在第一方面的有些实现方式中,上述第一指令可以为用户在第一界面上输入的,该第一界面上所显示的第一信息可以为第二电子设备与第一电子设备建立连接之后,第二电子设备搜集的本设备上的文件数据的信息。除第一界面之外,第一电子设备和第二电子设备上还可以呈现其他关于数据迁移的界面,详见下述实施例的描述,在此不再赘述。
第二方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第三方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面的技术方案中任意一种方法。
第四方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选地,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选地,芯片还包括通信接口。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面的技术方案中任意一种方法。
第六方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面的技术方案中任意一种方法。
附图说明
图1是本申请实施例提供的一例电子设备的结构示意图;
图2是本申请实施例提供的一例电子设备的软件结构框图;
图3是本申请实施例提供的一例数据迁移方法的应用场景图;
图4是本申请实施例提供的一例打开换机克隆业务的过程示意图;
图5是本申请实施例提供的换机克隆业务的一个界面示意图;
图6是本申请实施例提供的换机克隆业务的另一个界面示意图;
图7是本申请实施例提供的换机克隆业务的又一个界面示意图;
图8是本申请实施例提供的换机克隆业务的又一个界面示意图;
图9是本申请实施例提供的换机克隆业务的又一个界面示意图;
图10是本申请实施例提供的另一例打开换机克隆业务的过程示意图;
图11是本申请实施例提供的换机克隆业务的又一个界面示意图;
图12是本申请实施例提供的换机克隆业务的又一个界面示意图;
图13是本申请实施例提供的换机克隆业务的又一个界面示意图;
图14是本申请实施例提供的换机克隆业务的又一个界面示意图;
图15是本申请实施例提供的换机克隆业务的又一个界面示意图;
图16是本申请实施例提供的换机克隆业务的又一个界面示意图;
图17是本申请实施例提供的换机克隆业务的又一个界面示意图;
图18是本申请实施例提供的换机克隆业务的又一个界面示意图;
图19是本申请实施例提供的一例确定目标存储路径的流程示意图;
图20是本申请实施例提供的一例数据迁移方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本申请说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
当前,电子设备迭代更新的速度越来越快,当用户更换使用新电子设备时,通常会需要将旧电子设备上的一些数据迁移至新电子设备上。早期,用户迁移旧电子设备上的数据时,通常是使用一些移动存储介质(如U盘、移动硬盘、软盘、光盘、存储卡等),先将旧电子设备上的数据拷贝至该移动存储介质,再将该移动存储介质的数据拷贝至新电子设备上。然而,这种数据迁移的过程比较繁琐。
有鉴于此,换机克隆业务应运而生,其不需要借助移动存储介质即可完成数据迁移的过程,然而,因旧电子设备上的数据量通常较大,那么就需要为要迁移的数据确定其在新电子设备上的目标存储路径,以进行存储。传统技术中,可以由用户在新电子设备上为要迁移的数据选择目标存储路径,然而这种方法比较耗时耗力,数据迁移的效率较低。本申请实施例提供的数据迁移方法可以应用于笔记本电脑、个人计算机(personal computer,PC)、超级移动个人计算机(ultra-mobile personal computer,UMPC)等可以安装应用程序(application,APP)的电子设备上,该应用程序可以实现数据克隆的功能,该数据迁移方法可以有效提高数据迁移过程的效率。需要说明的是,本申请实施例对电子设备的具体类型不作任何限制。
示例性地,图1为本申请实施例提供的电子设备100的结构示意图。如图1所示,电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,无线通信模块150,显示屏160等。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括I2C接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulsecodemodulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或USB接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏160,和无线通信模块150等供电。在一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
无线通信模块150可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。例如,本申请实施例中,电子设备100可以通过无线通信模块150与终端设备(如无线耳机100)建立蓝牙连接。
无线通信模块150可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块150经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
电子设备100通过GPU,显示屏160,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏160和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏160用于显示图像,视频等。该显示屏160包括显示面板。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。
上述电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Windows系统为例,示例性说明电子设备100的软件结构。
示例性地,图2为本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Windows系统分为用户态和内核态。其中,用户态包括应用层以及子系统动态链接库。内核态自下而上分为硬件层、固件层、硬件抽象层(hardware abstraction layer,HAL)、内核和驱动层及执行体。
如图2所示,应用层包括音乐、视频、游戏、办公、社交、PC管家等应用程序。其中,图中仅示出部分应用程序,应用层还可以包括其他应用程序,例如购物应用、浏览器等,本申请不做限定。
子系统动态链接库包括API模块,该API模块包括Windows API,Windows原生API等。其中,Windows API,Windows原生API均可以为应用程序提供系统调用入口及内部函数支持,区别在于Windows原生API为Windows系统原生的API。例如,Windows API可包括user.dll、kernel.dll,Windows原生API可包括ntdll.dll。其中,user.dll是Windows用户界面接口,可用于执行创建窗口、发送消息等操作。kernel.dll用于为应用程序提供访问内核的接口。ntdll.dll是重要的Windows NT内核级文件,描述了windows本地NTAPI的接口。当Windows启动时,ntdll.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。
执行体包括进程管理器、虚拟内存管理器、安全引用监视器、I/O管理器、Windows管理规范(windows management instrumentation,WMI)、电源管理器等。
进程管理器用于创建及中止进程和线程。
虚拟内存管理器实现“虚拟内存”。虚拟内存管理器也为高速缓存管理器提供基本的支持。
安全引用监视器可在本地计算机上执行安全策略,它保护了操作系统资源,执行运行时对象的保护和监视。
I/O管理器执行独立于设备的输入/输出,并进一步处理调用适当的设备驱动程序。
电源管理器可管理所有支持电源状态更改的设备的电源状态更改。
内核和驱动层包括内核以及设备驱动程序。
内核是对处理器体系结构的抽象,将执行体与处理器体系结构的差异相隔离,保证系统的可移植性。内核可以进行线程安排和调度、陷阱处理和异常调度、中断处理和调度等。
设备驱动程序运行在内核模式下,为I/O系统和相关硬件之间的接口。设备驱动程序可包括显卡驱动、Intel DTT驱动、鼠标驱动、音视频驱动、摄像头驱动、键盘驱动等。例如,显卡驱动可以驱动GPU运行,Intel DTT驱动可以驱动CPU运行。
HAL是一个核心态模块,可以隐藏各种与硬件有关的细节,例如I/O接口、中断控制器以及多处理器通信机制等,为运行Windows的不同硬件平台提供统一的服务接口,实现多种硬件平台上的可移植性。需要说明的是,为了维护Windows的可移植性,Windows内部组件和用户编写的设备驱动程序并不直接访问硬件,而是通过调用HAL中的例程。
固件层可以包括基本输入输出系统(basic input output system,BIOS),BIOS是一组固化到计算机主板上一个只读存储器(read only memory,ROM)芯片内的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。例如,IntelDTT驱动可以通过BIOS向CPU发送指令的。可选地,固件层还可以包括嵌入式控制器(embedded controller,EC),其可以接收硬件层传递的参数,并进行相应处理后发送至BIOS,由BIOS再向上层传递。
硬件层可以包括GPU、CPU、鼠标、麦克风、摄像头、键盘等硬件结构。
需要说明的是,本申请实施例仅以Windows系统举例来说明,在其他操作系统中(例如安卓系统,IOS系统等),只要各个功能模块实现的功能和本申请的实施例类似也能实现本申请的方案。
为了便于理解,本申请以下实施例将结合附图和应用场景,对本申请实施例提供的数据迁移方法进行具体阐述。
旧电子设备向新电子设备进行数据迁移的场景可以如图3所示,本申请实施例中,数据迁移是指将一个电子设备中的数据复制或转移至另一个电子设备中的过程,在一些场景下,数据迁移也可称为数据克隆、换机克隆等,其表征的含义类似,本申请实施例对此不作具体限制。
通常,在使用换机克隆业务将旧电子设备的数据迁移至新电子设备之前,需先在旧电子设备和新电子设备上分别安装能够支持换机克隆业务的应用程序,例如PC管家应用程序,或者换机克隆应用程序。
在旧电子设备和新电子设备上分别安装能够支持换机克隆业务的应用程序之后,若要进行数据迁移过程,还需对旧电子设备和新电子设备建立通信连接。可以理解,此处的通信连接可以为有线连接,也可以为无线连接。
在一个实施例中,在旧电子设备和新电子设备之间采用无线连接方式进行连接时,可以通过电子设备内安装的应用程序来完成连接过程。
作为一种可实现的方式,在旧电子设备和新电子设备都支持安装PC管家应用程序的情况下,可以通过PC管家应用程序中的换机克隆功能来完成上述连接过程。示例性地,以旧电子设备为例,从PC管家应用程序开启换机克隆业务的路径可参见图4。如图4所示,用户可以点击PC管家应用程序的图标,运行PC管家应用程序,然后在PC管家应用程序的首页界面的常用功能选项中点击“换机克隆”控件,进入换机克隆界面。
从该换机克隆界面上可以看出,其可供用户选择当前使用的设备是新设备还是旧设备,因当前是以旧电子设备为例,则此处用户可以点击“这是旧设备”控件,也即该设备是需要发送数据的设备。
当用户点击了“这是旧设备”控件后,旧电子设备的显示界面可以从图4所示的界面切换为图5所示的界面。在图5所示的界面上,给予用户提示当前需要迁移本机数据至新设备,则需要用户在新设备上也启动换机克隆功能,并在新设备上选择“这是新设备”。也即是说,旧电子设备已做好了迁移数据的准备,正在等待被新电子设备发现,以与新电子设备建立连接。
此时,用户同样可在新电子设备上运行PC管家应用程序并进入换机克隆界面,新电子设备进入换机克隆界面的过程也可参见上述图4,不同的是,用户在新电子设备上需要点击的是“这是新设备”控件,也即该设备是需要接收数据的设备。
当用户点击了“这是新设备”控件后,新电子设备的显示界面可以从图4所示的界面切换为图6所示的界面。在图6所示的界面上,显示有新电子设备可搜索到的全部设备的设备信息(例如设备名称),以当前搜索到了设备1和设备2两个设备为例,其中设备1即为上述旧电子设备。那么用户可以在该界面上选择一个设备作为旧电子设备,也即选择设备1作为旧电子设备,并点击“继续”控件,以向旧电子设备发送连接请求。可选地,新电子设备在从图4所示的界面切换为图6所示的界面的过程中,在还未搜索到设备的时候可以显示出“正在搜索设备”的提示信息(图中未示出),以此过渡切换为显示图6的界面。
需要说明的是,旧电子设备在等待被新电子设备发现时,可以广播蓝牙信号,那么新电子设备接收到该蓝牙信号后,便可获取到旧电子设备的设备信息,并展示在上述图6的界面上。或者,旧电子设备可以作为一个连接热点(例如模拟热点(soft acce point,SoftAP)),当新电子设备搜索到该热点信号后,可获取到旧电子设备的设备信息,以展示在上述图6的界面上。或者,旧电子设备和新电子设备处于同一局域网(WLAN),则新电子设备可以搜索到旧电子设备,并获取旧电子设备的设备信息。可以理解,若旧电子设备没有被新电子设备所搜索发现,则可以显示出“未被发现”的提示信息(图中未示出),提示用户重新操作设备搜索过程。
可选地,在旧电子设备被新电子设备搜索发现后,新电子设备还可以与旧电子设备之间建立一个通信通道,用于后续传输连接码等验证信息。
可以理解,鉴于目前电子设备的多样性,有些电子设备只能作为旧设备,有些电子设备只能作为新设备,有些电子设备既可以作为旧设备又可以作为新设备,实际使用时可根据电子设备的类型进行选择。
在用户在新电子设备上点击了“继续”控件之后,新电子设备可以生成并显示一个本机连接码,例如图7所示,并提示用户确认在旧电子设备上是否也显示出了该连接码。可选地,该连接码为新电子设备随机生成的验证码。然后,新电子设备可以将该连接码通过上述通信通道发送至旧电子设备,那么旧电子设备便也可将该连接码显示在屏幕上,例如图8所示,并提示用户确认该连接码是否与新电子设备上显示的连接码相同。通过对比,用户确认了两个电子设备上所显示的连接码相同,则可进行继续操作(或连接操作)。例如在旧电子设备的图8所示的界面上选择“继续”控件,在新电子设备的图7所示的界面上选择“连接”控件。在用户点击了“继续”控件或“连接”控件之后,新电子设备和旧电子设备上都可以显示出“正在连接中”的提示信息,例如图9所示。由此,便建立了新电子设备和旧电子设备之间的通信连接,旧电子设备可在该通信连接对应的数据通道上传输文件信息或文件数据等。可选地,若新电子设备与旧电子设备建立连接过程出现异常,则可以在图9中显示“连接出现异常”等提示(图中未示出),以提示用户重新操作连接过程。
作为另一种可实现的方式,在旧电子设备或者新电子设备不支持安装PC管家应用程序的情况下,可以安装换机克隆应用程序,通过换机克隆应用程序中的换机克隆功能来完成上述连接过程。示例性地,仍以旧电子设备为例,从换机克隆应用程序开启换机克隆功能的路径可参见图10;如图10所示,用户可以点击换机克隆应用程序的图标,进入换机克隆界面。在换机克隆界面之后的操作过程可以参见上述实施例的描述,在此不再赘述。
在另一个实施例中,在旧电子设备和新电子设备之间采用有线连接方式进行连接时,旧电子设备和新电子设备可以通过连接线(例如USB连接线)进行连接。在该场景下,先将USB连接线一端插入旧电子设备的USB接口,另一端插入新电子设备的USB接口,然后分别在旧电子设备和新电子设备上运行PC管家应用程序,在旧电子设备的上述图4界面上选择“这是旧设备”,在新电子设备的上述图4界面上选择“这是新设备”,即建立了新电子设备和旧电子设备之间的通信连接。
接下来,旧电子设备便可以向新电子设备进行数据迁移。然而,因旧电子设备中的数据量较大,有些文件数据并不是用户所需要的数据,例如系统文件、隐藏文件、以及一些安装目录下的文件等,因此,旧电子设备在向新电子设备传输文件数据之前,可以先自动过滤掉不需要迁移的文件。
在一个实施例中,旧电子设备可以先搜索本设备上的文件目录信息,以对旧电子设备上的文件数据进行过滤,例如过滤掉一些系统文件、隐藏文件、以及一些安装目录下的文件,比如“C:\Program Files”和“C:\Windows”目录下的文件以及链接文件(.link)。然后,旧电子设备可搜集除过滤掉的文件之外的文件的信息,包括但不限于文件ID、文件名、文件大小、文件类型、存储路径(绝对路径)等信息。示例性地,旧电子设备所搜集的文件信息可参见如下表1所示,以表1中的第一条记录为例,其文件ID(FileId)为0ED6DB78,文件名(FileName)为test1,文件大小(FileSize)为10KB,文件类型(FileType)为1(其中可用数字1表示图片、数字2表示视频、数字3表示文档等等),存储路径(FilePath)为D:\Users\abc\。
表1
FileId | FileName | FileSize(KB) | FileType | FilePath | FileDestPath |
0ED6DB78 | test1 | 10 | 1 | D:\Users\abc\ | |
72D72990 | test2 | 10240 | 2 | D:\Users\abc\ | |
C1D8C93A | test3 | 25 | 3 | D:\Users\abc\ | |
…… | …… | …… | …… | …… | …… |
可选地,表1所示的文件信息中还可以包括目标存储路径(FileDestPath),即数据迁移至新电子设备后在新电子设备中的存储路径(其中,确认目标存储路径的过程详见下述图19所示实施例的描述),但因此时还确定到在新电子设备中的存储路径,因此当前该目标存储路径的值可以为空值。可以理解,表1所示的文件信息中也可以不包括上述目标存储路径,待新电子设备确定了目标存储路径后再将该信息补充至表1。
需要说明的是,表1仅示出了部分文件信息,在实际场景中,表1可以包含比上述更多的文件信息,本申请实施例对此不做具体限制。
待旧电子设备将要迁移的文件的文件信息都搜集完成之后,可将搜集的文件信息(即上述表1的内容)通过上述通信连接对应的数据通道发送至新电子设备,此时,旧电子设备的界面上可以显示“正在传输信息”的信息,例如图11所示。在该界面上,展示了旧电子设备向新电子设备传输文件信息的过程,例如以一个进度条方式显示传输文件信息的进度。可以理解,若在传输文件信息的过程中出现传输异常等情况,还可以在图11的界面上显示“设备连接出现异常”等提示信息(图中未示出),以提示用户当前连接异常,可重新进行连接操作。可选地,考虑到所搜集的文件信息的数据量可能会较大的因素,旧电子设备向新电子设备发送该文件信息之前,还可以先将所搜集的文件信息进行压缩,再将压缩后的文件信息发送至新电子设备,以缩小传输的数据量大小,提高传输效率。
当旧电子设备将要迁移的文件的文件信息都已发送至新电子设备,则新电子设备可以将要迁移的文件信息显示在界面上供用户选择。可选地,旧电子设备在向新电子设备发送文件信息时,可以在所有文件信息的末尾加上一个结束标识,例如采用-1表示文件信息结束;那么,当新电子设备接收到该结束标识时,可确定已接收到所有的文件信息,便可以显示出迁移的文件信息。可选地,在旧电子设备向新电子设备发送的是压缩后的文件信息的情况下,新电子设备在接收到该文件信息后,可先对文件信息进行解压缩;其中,压缩过程和解压缩过程可参见现有的相关技术,在此不再赘述。
示例性地,新电子设备显示要迁移的文件信息的界面可以参见图12,如图12所示,其是按要迁移的文件在旧电子设备上的存储路径来显示的文件信息,该存储路径可以包括不同盘(包括系统盘和数据盘)下的目录。例如,图12中,旧电子设备的本地磁盘D中,共要迁移10.25GB大小的文件,该本地磁盘D中包括“我的文件”文件夹,共10.25GB大小,“我的文件”文件夹下包括index等文件,index文件占用2.25GB,以此类推。
又示例性地,新电子设备显示要迁移的文件信息的界面还可以参见图13,如图13所示,其是按要迁移的文件在旧电子设备上存储是的类型来显示的文件信息。例如图13中的文档类型、照片类型、视频类型、音乐类型以及其他类型等。当点击图13中的类型图标后,新电子设备上还可显示出该类型中的详细文件信息;例如点击了图13中的文档类型图标后,跳转至图14所示的界面,图14中显示出所有文档类型的文件信息,包括但不限于文档名称、路径、修改日期及文件大小等信息,以及还可以显示出属于文档类型的文件数量和总大小。可选地,在图14所示的界面上,用户还可以对这些文档进行排序,例如按照文档名称进行升序排序等。
通过图12或图13的界面,用户可以选择要迁移的文件,例如通过选中文件旁边的复选框来对该文件进行选择,由此,用户可以自由选择要迁移的文件数据,即可以再次过滤掉一些不需要迁移的文件数据。进一步地,由图12或图13的界面还可以看出,该界面上除了显示要迁移的文件的文件信息之外,还显示了新电子设备上已使用的内存空间大小以及已使用的内存空间占比。当用户在图12或图13的界面上选择要迁移的文件之后,该界面上还可以显示出选择文件总数量以及预计迁移时长。可以理解,若用户选择的要迁移的文件所占的内存空间大小大于新电子设备上剩余的内存空间大小,则可以提示用户当前的内存空间不足的提示,提示界面可参见图15;例如,用户选择了要迁移的文件后,加上新电子设备上已使用的内存空间大小,共504GB,但新电子设备的总存储空间只有500GB,即所选文件已超出设备可用空间,则可以给予用户提示,那么此时无法进行迁移,该界面上的“开始迁移”控件被置灰,即不能响应用户操作。
用户在图12或图13的界面上选择好要迁移的文件之后,可点击界面上的“开始迁移”控件。此时,新电子设备接收到用户对“开始迁移”控件的触发操作,则可以响应于该操作,根据存盘规则确定要迁移的文件数据的目标存储路径(该确定过程详见下述图19所示实施例的描述),并将已选择的文件数据的文件信息(如文件ID)以及其目标存储路径通过上述通信连接对应的数据通道发送至旧电子设备,即告知旧电子设备最终需要迁移哪些文件数据。此过程中,可选地,在上述表1所示的文件信息包括目标存储路径的情况下,因新电子设备已接收到旧电子设备发送的该表1的内容,因此,新电子设备可以将用户已选择的文件数据进行标记,并将这些文件数据对应的目标存储路径填入表1中对应的位置,然后再将更新后的表1的内容返回至旧电子设备。
在另一种实现方式中,在新电子设备接收到用户对“开始迁移”控件的触发操作时,新电子设备可以响应于该操作,向旧电子设备发送已选择的文件数据的文件信息(如文件ID),并根据存盘规则确定要迁移的文件数据的目标存储路径。后续在接收到旧电子设备发送的文件数据后,直接根据该文件数据对应的目标存储路径进行存储即可,即不需要再向旧电子设备发送上述确定的目标存储路径,以减少传输数据量。
在旧电子设备接收到新电子设备返回的要迁移的文件的文件信息后,可根据该文件信息确定对应文件的存储路径,并根据存储路径获取到对应的文件数据。在新电子设备返回的要迁移的文件的文件信息包括文件ID的情况下,旧电子设备可以根据该文件ID从上述表1中查找到对应的存储路径。在新电子设备返回的文件信息即为更新后的表1的内容的情况下,旧电子设备可以查找标记的文件数据(即要迁移的文件),并获取对应的存储路径。
旧电子设备获取到要迁移的文件数据后,可以将该文件数据通过上述通信连接对应的数据通道将这些文件数据依次发送至新电子设备。可选地,旧电子设备可以按照这些文件数据的文件类型依次进行发送,例如先发送文档数据、再发送视频数据、再发送照片数据等等;或者,旧电子设备可以按照这些文件的文件大小依次进行发送,例如按照文件大小以从大到小的顺序依次进行发送。可选地,考虑到所发送的文件数据的数据量可能会较大的因素,旧电子设备向新电子设备发送该文件数据之前,也可以先将文件数据进行压缩,例如采用将每个文件数据逐个进行压缩,或者将相同类型的文件数据统一进行压缩等压缩方式,然后再将压缩后的文件数据发送至新电子设备,以缩小传输的数据量大小,提高传输效率。
在旧电子设备向新电子设备发送文件数据的过程中,旧电子设备和新电子设备上都可显示出数据传输中的界面(旧电子设备的显示界面和新电子设备的显示界面可以相同)。示例性地,如图16所示,该界面展示了旧电子设备向新电子设备传输文件数据的过程,例如以一个进度条方式显示传输文件数据的进度,以及显示当前正在传输的文件的文件名称、已发送文件的文件大小、传输速率、剩余传输时间等。可以理解,若在传输文件数据的过程中出现传输异常等情况,还可以在图16的界面上显示“迁移出现异常”等提示信息(图中未示出),以提示用户当前传输过程异常,可重新进行连接并传输操作。
待全部文件数据都迁移完成时,旧电子设备和新电子设备还可显示迁移已完成的界面,例如图17所示。在该界面上,可选地,还显示有迁移用时、传输文件大小和传输文件个数等信息。在一种场景中,若所迁移的文件数据中有未迁移成功的文件数据,则新电子设备和旧电子设备还可显示出迁移失败文件列表,例如图18所示,在此界面上,显示有传输成功率、迁移失败文件个数以及迁移失败文件。若用户还需要继续迁移这些文件,或者需要迁移其中的部分文件,则可以选中要继续迁移的文件,并点击“重新迁移”控件,以将未迁移成功的文件数据进行再次迁移。
对于其他场景,例如在文件数据迁移的过程中,若出现电子设备的电量不足、用户取消迁移、连接通道异常断开等情况,新电子设备和旧电子设备上还可显示出相应的提示信息(本申请实施例不再以图例示出),以使用户采取相应的解决措施。
在另一个实施例中,当旧电子设备将文件数据进行过滤之后,可以不向新电子设备发送过滤后的文件的文件信息,而是将这些文件信息展示在旧电子设备上,展示界面也可以参见上述图12或图13。然后用户可以在该界面上选择需要迁移哪些文件,待用户选择完成之后,旧电子设备可以将用户所选择的文件的文件信息发送至新电子设备。
新电子设备接收到要迁移的文件的文件信息,再根据存盘规则确定要迁移的文件数据的目标存储路径。此处,在新电子设备确定了全部文件的目标存储路径后,可以向旧电子设备发送一个指示信息,以指示旧电子设备开始向新电子设备发送要迁移的文件,那么新电子设备在接收到旧电子设备发送的文件数据时,便可以根据已确定的目标存储路径对该文件数据进行存储。也即是说,此实施例中用户选择要迁移哪些文件数据是在旧电子设备上选择的,并不是在新电子设备上选择的,以减少旧电子设备与新电子设备之间传输数据的数据量。
经过上述过程,便完成了旧电子设备向新电子设备进行数据迁移的过程。
对于上述根据存盘规则确定要迁移的文件数据的目标存储路径的过程,下面将以具体实施例进行详细介绍,该过程由新电子设备所执行。
其中,要迁移的文件数据即用户在上述图12或图13的界面上所选择的文件,新电子设备接收到用户输入的“开始迁移”操作后,首先会判断新电子设备上剩余的内存空间大小是否大于或者等于要迁移的文件数据所占的内存空间大小,如果新电子设备上剩余的内存空间大小是小于要迁移的文件数据所占的内存空间大小,则显示上述图15的提示界面。
如果新电子设备上剩余的内存空间大小大于或者等于要迁移的文件数据所占的内存空间大小,则新电子设备开始依次确定要迁移的文件数据的目标存储路径(FileDestPath),如图19所示,具体过程可以包括:
S1,获取新电子设备的本地磁盘信息。
其中,这里的本地磁盘信息可以为本地磁盘的数量、盘符以及每个磁盘的剩余存储空间等信息。例如获取到新电子设备的本地磁盘只有1个C盘,或者获取到新电子设备的本地磁盘有C、D、E、F等多个盘。
S2,根据获取的本地磁盘信息,判断新电子设备的本地磁盘是否被分盘,若否执行S3,若是执行S6。
本步骤中新电子设备可以通过上述获取的本地磁盘信息来判断本地磁盘是否被分盘。可选地,可以根据本地磁盘的数量来进行判断,例如,若新电子设备的本地磁盘有一个,即只有1个C盘,则说明没有被分盘,执行下述S3;如果新电子设备的本地磁盘有多个(比如有C、D、E、F等多个磁盘),则说明有被分盘,执行下述S6。
S3,判断要迁移的文件数据(以下简称为待迁移数据)在旧电子设备上是否存储在C盘,若是,则执行S4,若否,则执行S5。
因本步骤是新电子设备在没有分盘的情况下执行的,也即只有一个C盘,那么新电子设备可以判断待迁移数据在旧电子设备上是否存储在C盘,其中,新电子设备可以根据上述接收到的文件信息进行判断,该文件信息中包括待迁移数据在旧电子设备中的存储路径,则可以根据该存储路径确定待迁移数据所存储的盘符。
S4,将待迁移数据在旧电子设备上的存储路径确定为在新电子设备上的目标存储路径。
也即是说,当待迁移数据在旧电子设备上存储于C盘时,因新电子设备上只有C盘,则新电子设备可以将该待迁移数据存储于相同的路径下。
示例性地,以待迁移数据为文件数据A为例,文件数据A在旧电子设备上的存储路径为C:\测试\A.txt,则其在新电子设备上的目标存储路径也为C:\测试\A.txt。
S5,根据新电子设备的本地磁盘的标识符、以及待迁移数据在旧电子设备上的存储路径,确定待迁移数据在新电子设备上的目标存储路径。
也即是说,当待迁移数据在旧电子设备上不是存储于C盘时,而新电子设备上只有C盘,只能存储于C盘,那么为了体现出待迁移数据之前的存储路径,则新电子设备在存储待迁移数据时,可以在目标存储路径上加上待迁移数据在旧电子设备上的存储路径。可选地,新电子设备的本地磁盘的标识符可以为本次磁盘的盘符。
示例性地,若文件数据A在旧电子设备上的存盘不是C盘,则其在新电子设备上的目标存储路径=新电子设备的本地磁盘的盘符+old_旧电子设备盘符+路径,例如文件数据A在旧电子设备上的存储路径为D:\测试\A.txt,则其在新电子设备上的目标存储路径为C:\old_D\测试\A.txt,从此路径上可以看出文件数据A在旧电子设备上是存储于D盘的。
S6,判断新电子设备上的多个本地磁盘中是否包括待迁移数据在旧电子设备上存储时对应的磁盘,若是执行S7,若否执行S11。
因本步骤是新电子设备在有分盘的情况下执行的,即新电子设备上有多个本地磁盘,那么可以判断该多个本地磁盘中是否包括待迁移数据在旧电子设备中对应的存储磁盘。如果有可以将该本地磁盘记为目标磁盘,并则执行S7,如果没有则执行S11。
S7,判断目标磁盘是否能存储下待迁移数据,若是执行S8,若否执行S9。
S8,将待迁移数据在旧电子设备上的存储路径确定为在新电子设备上的目标存储路径。
其中,若要存储待迁移数据,需确保目标磁盘的剩余存储空间能够存储下待迁移数据,如果能存储下,则可以直接向待迁移数据存储至该目标磁盘,如果不能存储下,则需要更换存储磁盘,执行下述S9。可选地,本步骤中判断目标磁盘是否能存储下待迁移数据,可以通过判断目标磁盘的剩余存储空间大小是否大于或等于待迁移数据所占的内存空间大小来实现。
示例性地,假设新电子设备的本地磁盘有C、D、E三个盘,文件数据A在旧电子设备上的存盘为D盘,即新电子设备上的本地磁盘中包括文件数据A在旧电子设备上存储时对应的磁盘,则再根据文件数据A所占的内存空间大小判断新电子设备的D盘(即目标磁盘)能否存储下文件数据A。若可以放下,则文件数据A在旧电子设备上的存储路径即是其目标存储路径。例如文件数据A在旧电子设备上的存储路径为D:\测试\A.txt,则其在新电子设备上的目标存储路径也为D:\测试\A.txt。
S9,在除目标磁盘之外的多个本地磁盘中,确定能够存储待迁移数据的新的目标磁盘。
S10,根据新的目标磁盘的标识符、以及待迁移数据在旧电子设备上的存储路径,确定待迁移数据在新电子设备上的目标存储路径。
也即是说,当上述目标磁盘存储不下待迁移数据时,需要从剩余的本地磁盘中查找一个能够存储下待迁移数据的磁盘,作为新的目标磁盘来存储待迁移数据。
可选地,从剩余的本地磁盘中查找一个能够存储下待迁移数据的磁盘的过程可以为:在剩余的本地磁盘中,从上述目标磁盘的下一个磁盘开始查找是否有能放下待迁移数据的磁盘,如果查找到,则将该磁盘作为新的目标磁盘,并根据该新的目标磁盘的标识符和待迁移数据在旧电子设备上的存储路径,确定目标存储路径。如果没有查找到,则新电子设备再以相同的方法从上述目标磁盘的上一个磁盘开始查找是否有能放下待迁移数据的磁盘,如果查找到,则将该磁盘作为新的目标磁盘。
可选地,待迁移数据在新电子设备上的目标存储路径=新的目标磁盘的盘符+old_旧电子设备盘符+路径。
示例性地,假设新电子设备的本地磁盘有C、D、E、F、G五个盘,文件数据A在旧电子设备上的存盘为E盘,即新电子设备上的本地磁盘中包括文件数据A在旧电子设备上存储时对应的磁盘E盘,但新电子设备的E盘中存放不下文件数据A,则新电子设备查找E盘的下一个磁盘F盘是否能放下文件数据A,若可以放下,则其在新电子设备上的目标存储路径为F:\old_E\测试\A.txt。若F盘仍放不下文件数据A,则再查找F盘的下一个磁盘G盘是否能放下文件数据A。如果F盘和G盘都放不下文件数据A,则查找E盘的上一个盘D盘是否能放下文件数据A,如果可以放下,则其在新电子设备上的目标存储路径为D:\old_E\测试\A.txt。
这里需要说明的是,在为文件数据A查找存放磁盘时,为避免被存放于系统磁盘C盘,新电子设备并不对C盘进行判断或者最后再对C盘进行判断。那么,当新电子设备对所有磁盘都查找过,都存放不下文件数据A时,则该文件数据A没有对应的目标存储路径,后续可能迁移不成功。
可以理解,若新电子设备的E盘中存放不下文件数据A,也可以先查找E盘的上一个磁盘D盘,再查找E盘的下一个磁盘F盘和G盘,本申请实施例对此顺序并不做限制。
S11,从多个本地磁盘中的第一个磁盘开始查找,确定能够存储待迁移数据的目标磁盘。
S12,根据目标磁盘的标识符、以及待迁移数据在旧电子设备上的存储路径,确定待迁移数据在新电子设备上的目标存储路径。
也即是说,在新电子设备的多个本地磁盘中不包括待迁移数据在旧电子设备中对应的存储磁盘时,新电子设备需要查找一个能够存储下待迁移数据的目标磁盘。
可选地,在从多个本地磁盘中进行查找时,可以先从除C盘之外的其他磁盘进行查找,如果有可以存储下待迁移数据的磁盘,则将其作为目标磁盘,待迁移数据在新电子设备上的目标存储路径=目标磁盘的盘符+old_旧电子设备盘符+路径。如果没有可以存储下待迁移数据的磁盘,则再将其存储于C盘。
示例性地,假设新电子设备的本地磁盘有C、D、E三个盘,文件数据A在旧电子设备上的存盘为G盘,即新电子设备上的本地磁盘中不包括文件数据A在旧电子设备上存储时对应的磁盘G盘,则新电子设备从第一个磁盘(D盘)开始判断该磁盘能否存储下文件数据A,若可以放下,则文件数据A在新电子设备上的目标存储路径为D:\old_G\测试\A.txt。若D盘不可以放下,则继续寻找下一个磁盘(E盘),如果D盘和E盘都存放不下文件数据A,则最后再判断系统磁盘C盘是否可以存下,直至确定文件数据A的目标存储路径。
通过以上过程,新电子设备便可以为每个待迁移数据确定其对应的目标存储路径,并且是根据待迁移数据在旧电子设备中的存储路径进行确定的,由此可以使待迁移数据在新电子设备和旧电子设备上的存储路径具有一定的对应关系,在后续数据迁移的过程中,新电子设备便可以根据每个待迁移数据的目标存储路径将其对应存储,以高效的完成数据迁移过程。
需要说明的是,结合上述图2所示的电子设备的软件结构图,上述数据迁移方法的整体过程都可由PC管家来执行。
还需说明的是,因新电子设备上的本地磁盘信息通常是固定的,所以上述获取新电子设备的本地磁盘信息以及判断新电子设备的本地磁盘是否被分盘的步骤只需在对第一个待迁移数据确定目标存储路径时执行即可,对后续的待迁移数据确定目标存储路径时可不再执行,以进一步提高数据迁移过程的效率。
对于上述数据迁移过程,从旧电子设备和新电子设备两个执行主体的数据交互流程来看,该过程还可由以下实施例实现,如图20所示,该过程可以包括:
S20,旧电子设备搜索本设备上的文件信息,该文件信息包括文件数据的标识、文件数据在旧电子设备上的存储路径、文件数据的数据大小等信息。
S21,旧电子设备向新电子设备发送文件信息。
S22,新电子设备根据存盘规则确定待迁移数据的目标存储路径,待迁移数据为用户从上述文件数据中所选择的要迁移的文件数据。
S23,新电子设备向旧电子设备发送待迁移数据的标识和目标存储路径。
S24,旧电子设备根据待迁移数据的标识获取待迁移数据。
S25,旧电子设备向新电子设备发送待迁移数据。
其中,本实施例中各步骤的实现过程可以参见上述实施例,其实现原理和技术效果类似,在此不再赘述。
上文详细介绍了本申请实施例提供的数据迁移方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述数据迁移方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图1所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的数据迁移方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的数据迁移方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的数据迁移方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据迁移方法,其特征在于,所述方法由第一电子设备执行,包括:
在检测到用户输入的第一指令的情况下,向第二电子设备发送第一请求,所述第一请求请求迁移所述第二电子设备中的待迁移数据,所述第一请求携带所述待迁移数据的标识;
根据所述待迁移数据在所述第二电子设备上的存储路径,确定所述待迁移数据被迁移至所述第一电子设备中对应的目标存储路径,并且将目标数据根据所述目标存储路径进行存储,所述目标数据是所述第二电子设备根据所述第一请求返回的所述待迁移数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待迁移数据在所述第二电子设备上的存储路径,确定所述待迁移数据被迁移至所述第一电子设备中对应的目标存储路径,包括:
在所述第一电子设备的存储空间未被划分的情况下,根据所述待迁移数据在所述第二电子设备上的存储路径,确定所述待迁移数据被迁移至所述第一电子设备中对应的目标存储路径;
在所述第一电子设备的存储空间被划分为至少两个存储单元的情况下,根据所述存储空间的剩余存储空间大小、所述待迁移数据在所述第二电子设备上的存储路径以及所述待迁移数据的数据大小,确定所述待迁移数据被迁移至所述第一电子设备中对应的目标存储路径。
3.根据权利要求2所述的方法,其特征在于,在所述第一电子设备的存储空间未被划分的情况下,所述第一电子设备的存储空间为所述第一电子设备的第一存储单元;
若所述待迁移数据存储于所述第二电子设备的第一存储单元,所述待迁移数据被迁移至所述第一电子设备中对应的目标存储路径与所述待迁移数据在所述第二电子设备上的存储路径相同;
若所述待迁移数据未存储于所述第二电子设备的第一存储单元,所述待迁移数据被迁移至所述第一电子设备中对应的目标存储路径包括所述第一电子设备的第一存储单元的标识和所述待迁移数据在所述第二电子设备上的存储路径信息。
4.根据权利要求2所述的方法,其特征在于,在所述第一电子设备的存储空间被划分为至少两个存储单元的情况下,根据所述存储空间的剩余存储空间大小、所述待迁移数据在所述第二电子设备上的存储路径以及所述待迁移数据的数据大小,确定所述待迁移数据被迁移至所述第一电子设备中对应的目标存储路径,包括:
确定所述至少两个存储单元中是否包括第二存储单元,所述第二存储单元的标识与所述待迁移数据在所述第二电子设备上存储对应的存储单元的标识相同;
在所述至少两个存储单元中不包括所述第二存储单元的情况下,从所述至少两个存储单元中确定第三存储单元,所述第三存储单元的剩余存储空间大小大于或者等于所述待迁移数据的数据大小;
确定第一路径为所述待迁移数据被迁移至所述第一电子设备中对应的目标存储路径,所述第一路径包括所述第三存储单元的标识和所述待迁移数据在第二电子设备上的存储路径信息;
在所述至少两个存储单元中包括所述第二存储单元的情况下,根据所述第二存储单元的剩余存储空间大小、所述待迁移数据在所述第二电子设备上的存储路径以及所述待迁移数据的数据大小,确定所述待迁移数据被迁移至所述第一电子设备中对应的目标存储路径。
5.根据权利要求4所述的方法,其特征在于,在所述至少两个存储单元中包括所述第二存储单元的情况下,若所述第二存储单元的剩余存储空间大小大于或者等于所述待迁移数据的数据大小,所述待迁移数据被迁移至所述第一电子设备中对应的目标存储路径与所述待迁移数据在所述第二电子设备上的存储路径相同;
若所述第二存储单元的剩余存储空间大小小于所述待迁移数据的数据大小,所述待迁移数据被迁移至所述第一电子设备中对应的目标存储路径包括第四存储单元的标识和所述待迁移数据在所述第二电子设备上的存储路径信息,所述第四存储单元为所述至少两个存储单元中除所述第二存储单元之外,剩余存储空间大小大于或者等于所述待迁移数据的数据大小的存储单元。
6.根据权利要求5所述的方法,其特征在于,若所述第二存储单元的剩余存储空间大小小于所述待迁移数据的数据大小,所述方法还包括:
从所述至少两个存储单元中所述第二存储单元之后的存储单元开始查找,确定是否存在剩余存储空间大小大于或者等于所述待迁移数据的数据大小的存储单元;
若存在,确定剩余存储空间大小大于或者等于所述待迁移数据的数据大小的存储单元为所述第四存储单元;
若不存在,从所述至少两个存储单元中所述第二存储单元之前的存储单元开始查找,确定剩余存储空间大小大于或者等于所述待迁移数据的数据大小的存储单元为所述第四存储单元。
7.根据权利要求4所述的方法,其特征在于,所述在所述至少两个存储单元中不包括所述第二存储单元的情况下,从所述至少两个存储单元中确定第三存储单元,包括:
从所述至少两个存储单元中除第一存储单元之外的存储单元开始查找,确定是否存在剩余存储空间大小大于或者等于所述待迁移数据的数据大小的存储单元;
若存在,确定剩余存储空间大小大于或者等于所述待迁移数据的数据大小的存储单元为所述第三存储单元;
若不存在,确定所述第一存储单元为所述第三存储单元。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一指令为所述用户在第一界面上输入的,所述方法还包括:
接收所述第二电子设备发送的第一信息,所述第一信息包括所述待迁移数据的标识、所述待迁移数据在所述第二电子设备上的存储路径和所述待迁移数据的数据大小中的至少一项;
根据所述第一信息显示所述第一界面。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
所述存储器存储有一个或多个程序,当所述一个或多个程序被所述处理器执行时,使得所述电子设备执行如权利要求1至8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至8中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2022105283302 | 2022-05-16 | ||
CN202210528330 | 2022-05-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116028433A true CN116028433A (zh) | 2023-04-28 |
CN116028433B CN116028433B (zh) | 2023-10-20 |
Family
ID=86069509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210820533.9A Active CN116028433B (zh) | 2022-05-16 | 2022-07-13 | 数据迁移方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028433B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105491113A (zh) * | 2015-11-25 | 2016-04-13 | 小米科技有限责任公司 | 迁移方法、装置及终端 |
CN106527979A (zh) * | 2016-10-19 | 2017-03-22 | 广东欧珀移动通信有限公司 | 数据迁移方法及装置 |
CN109308164A (zh) * | 2017-07-27 | 2019-02-05 | 武汉海康存储技术有限公司 | 一种系统迁移的方法和装置 |
CN111273872A (zh) * | 2020-02-14 | 2020-06-12 | 北京百度网讯科技有限公司 | 一种数据迁移方法、装置、设备和介质 |
CN112363678A (zh) * | 2021-01-13 | 2021-02-12 | 北京东方通软件有限公司 | 一种基于消息中间件的数据迁移方法及系统 |
JP2022066959A (ja) * | 2020-10-19 | 2022-05-02 | 日産自動車株式会社 | 通信システムおよび電子制御装置 |
-
2022
- 2022-07-13 CN CN202210820533.9A patent/CN116028433B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105491113A (zh) * | 2015-11-25 | 2016-04-13 | 小米科技有限责任公司 | 迁移方法、装置及终端 |
CN106527979A (zh) * | 2016-10-19 | 2017-03-22 | 广东欧珀移动通信有限公司 | 数据迁移方法及装置 |
CN109308164A (zh) * | 2017-07-27 | 2019-02-05 | 武汉海康存储技术有限公司 | 一种系统迁移的方法和装置 |
CN111273872A (zh) * | 2020-02-14 | 2020-06-12 | 北京百度网讯科技有限公司 | 一种数据迁移方法、装置、设备和介质 |
JP2022066959A (ja) * | 2020-10-19 | 2022-05-02 | 日産自動車株式会社 | 通信システムおよび電子制御装置 |
CN112363678A (zh) * | 2021-01-13 | 2021-02-12 | 北京东方通软件有限公司 | 一种基于消息中间件的数据迁移方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116028433B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10437631B2 (en) | Operating system hot-switching method and apparatus and mobile terminal | |
US20210389973A1 (en) | Electronic device and method for operating the same | |
RU2456662C2 (ru) | Согласование загрузки между несколькими способными к загрузке устройствами | |
US10599336B2 (en) | Method of displaying content and electronic device adapted to the same | |
US11080143B2 (en) | Systems and processes for data backup and recovery | |
CN112055424B (zh) | 电子装置以及切换电子装置的方法 | |
EP1983432A1 (en) | Booting system, boot program, and method therefor | |
KR102107132B1 (ko) | 전자 장치의 억세스 포인트 접속 방법 및 그 전자 장치 | |
US10999501B2 (en) | Electronic device and method for controlling display of panorama image | |
US9380463B2 (en) | Method for displaying lock screen and electronic device thereof | |
US10209915B2 (en) | Electronic device and file read and write method thereof | |
US10516699B2 (en) | Electronic device and method for suggesting response manual in occurrence of denial | |
EP4195870B1 (en) | Data transmission method and terminal | |
US20170078269A1 (en) | Method for managing application and electronic device supporting the same | |
US10284614B2 (en) | Method for downloading contents of electronic device and electronic device thereof | |
CN108762983B (zh) | 多媒体数据恢复方法及装置 | |
CN110399168A (zh) | 多数据盘存储服务器的系统启动方法、装置及设备 | |
US20170046279A1 (en) | Content security processing method and electronic device supporting the same | |
US20210011736A1 (en) | Method and apparatus for managing application | |
EP3073406B1 (en) | Method for connecting local communication and electronic device supporting the same | |
CN116028433B (zh) | 数据迁移方法和电子设备 | |
KR20180110896A (ko) | 전자 장치 및 전자 장치에서 복수의 무선 인터페이스를 이용한 통신 방법 | |
US20210026807A1 (en) | Method for managing data associated with application and electronic device therefor | |
US10031734B2 (en) | Device and method for generating application package | |
CN108804258B (zh) | 数据恢复方法、装置、移动终端和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |