CN115017096A - 数据迁移方法、可读介质和电子设备 - Google Patents
数据迁移方法、可读介质和电子设备 Download PDFInfo
- Publication number
- CN115017096A CN115017096A CN202111655385.1A CN202111655385A CN115017096A CN 115017096 A CN115017096 A CN 115017096A CN 202111655385 A CN202111655385 A CN 202111655385A CN 115017096 A CN115017096 A CN 115017096A
- Authority
- CN
- China
- Prior art keywords
- file
- type
- subfile
- data
- electronic device
- 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
- 230000005012 migration Effects 0.000 title claims abstract description 188
- 238000013508 migration Methods 0.000 title claims abstract description 188
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000015654 memory Effects 0.000 claims description 29
- 230000004048 modification Effects 0.000 claims description 17
- 238000012986 modification Methods 0.000 claims description 17
- 238000011084 recovery Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 20
- 238000007726 management method Methods 0.000 description 18
- 239000010410 layer Substances 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 238000004806 packaging method and process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 5
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 239000012792 core layer Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Abstract
本申请涉及终端技术领域,公开了一种数据迁移方法、可读介质和电子设备。方法包括:第一电子设备接收第二电子设备发送的迁移数据;当迁移数据为预设数据类型时,第一电子设备解析迁移数据,得到迁移数据中的一个或多个子文件的文件类型;当第一子文件的文件类型为第一类型时,第一电子设备将第一子文件转换为第二类型的子文件,第一子文件为一个或多个子文件中的一个;第一电子设备能通过预设方式进行存储的文件类型;其中,第一类型为第一电子设备不能通过预设方式进行存储的文件类型,第二类型为第一电子设备能通过预设方式进行存储的文件类型。如此,第一电子设备可以对第一类型的子文件进行存储,提高了用户迁移数据的体验。
Description
技术领域
本申请涉及终端技术领域,特别涉及一种数据迁移方法、可读介质和电子设备。
背景技术
用户在更换新的电子设备时,通常通过电子设备中的应用程序将旧电子设备的数据迁移到新电子设备当中。但是,随着电子设备的系统软件的迭代升级,在旧的电子设备和新的电子设备进行数据迁移的应用程序/服务对迁移数据的处理方式,例如在对迁移数据进行压缩、传输的方式不同的情况下,可能会由于新的电子设备无法识别旧电子设备发送的迁移数据而导致数据迁移失败,影响用户体验。
发明内容
有鉴于此,本申请实施例提供了一种数据迁移方法、可读介质和电子设备。通过将旧电子设备发送的迁移数据中新电子设备无法识别的文件类型转换为新电子设备可以识别的文件类型,并通过预设的方式对转换后文件类型后的文件进行存储,提高了用户迁移数据的体验。
第一方面,本申请实施例提供了一种数据迁移方法,该方法包括:第一电子设备接收第二电子设备发送的迁移数据;当迁移数据为预设数据类型时,第一电子设备解析迁移数据,得到迁移数据中的一个或多个子文件的文件类型;当第一子文件的文件类型为第一类型时,第一电子设备将第一子文件转换为第二类型的子文件,第一子文件为一个或多个子文件中的一个;第一电子设备通过预设方式存储转换为第二类型的子文件;其中,第一类型为第一电子设备不能通过预设方式进行存储的文件类型,第二类型为第一电子设备能通过预设方式进行存储的文件类型。
在本申请实施例中,第一电子设备在迁移数据为预设数据类型(即第一电子设备能够解析的数据类型,例如tar格式文件)的情况下,对预设数据类型进行解析,得到迁移数据中的一个或多个子文件的文件类型,并在第一子文件的文件类型是第一类型,即第一电子设备不能通过预设方式进行存储的文件类型的情况下,将第一子文件转换为第二类型,即第一电子设备能够通过预设方式进行存储的文件类型,再对转换文件类型后的子文件进行存储。如此,第一电子设备可以对第一电子设备不能通过预设方式进行存储/恢复的文件类型的子文件(即是第一电子设备不支持的文件类型,例如下文BMS不支持的文件类型)进行存储/恢复,提高了用户迁移数据的体验。
在上述第一方面的一种可能实现中,上述方法还包括:第一电子设备在迁移数据不是预设数据类型时,将迁移数据转换为预设数据类型。
即是在本申请实施例中,第一电子设备在迁移数据不是预设数据类型的情况下,将迁移数据转换为预设数据类型。例如在迁移数据为下文所述大文件的情况下,将大文件打包为tar格式文件。如此,第一电子设备可以对预设数据类型以外的数据进行存储/恢复,提高了用户迁移数据的体验。
在上述第一方面的一种可能实现中,上述预设数据类型包括tar格式文件。
在上述第一方面的一种可能实现中,第一电子设备在迁移数据不是预设数据类型的情况下,将迁移数据转换为tar格式文件。
在上述第一方面的一种可能实现中,上述第一电子设备解析迁移数据,得到迁移数据中的一个或多个子文件的文件类型,包括:第一电子设备获取tar格式文件的头信息,根据头信息中typeflag字段的内容确定子文件的文件类型。
也即式说,tar格式文件中的头信息中的typgeflag字段的内容记录了tar格式文件中的子文件的文件类型,第一电子设备可以通过读取typeflag字段的内容来确定tar格式文件中的子文件的文件类型。
在上述第一方面的一种可能实现中,上述第一电子设备获取tar格式文件的头信息,根据头信息中typeflag字段的内容确定子文件的文件类型,包括:第一电子设备在头信息中typeflag字段的内容为L,且子文件的大小为0或小于预设大小的情况下,确定子文件的文件类型为长目录;第一电子设备在头信息中typeflag字段的内容为L,且子文件的大小不为0或大于预设大小的情况下,确定子文件的文件类型为长文件;第一电子设备在头信息中typeflag字段的内容为K的情况下,确定子文件的文件类型为长链接。
在上述第一方面的一种可能实现中,上述第一类型包括长目录、长文件、长链接;第二类型包括:文件、软链接、文件夹。
在上述第一方面的一种可能实现中,上述当第一子文件的文件类型为第一类型时,第一电子设备将第一子文件转换为第二类型的子文件,包括:第一电子设备在第一子文件的文件类型为长文件的情况下,将子文件转换为文件类型;第一电子设备在第一子文件的文件类型为长目录的情况下,将子文件转换为文件夹类型;第一电子设备在第一子文件的文件类型为长链接的情况下,将子文件转换为软链接类型。
在上述第一方面的一种可能实现中,上述第一电子设备通过预设方式存储转换为第二类型的子文件,包括:第一电子设备在第二类型的子文件的文件类型为文件时,以Stream流方式创建文件并写入数据;第一电子设备在第二类型的子文件的文件类型为文件夹时,在第二类型的子文件记录的路径建立文件夹;第一电子设备在第二类型的子文件的文件类型为软链接时,生成已对第二类型的子文件进行迁移的日志。
在上述第一方面的一种可能实现中,上述方法还包括:
第一电子设备在以Stream流方式创建文件并写入数据后,将写入的文件的访问权限和/或修改时间调整为与第一子文件在第二电子设备中的访问权限和/或修改时间相同;第一电子设备在第二类型的子文件记录的路径建立文件夹后,将建立的文件夹的访问权限和/或修改时间调整为与第一子文件在第二电子设备中的访问权限和/或修改时间相同。
在上述第一方面的一种可能实现中,上述在第二类型的子文件记录的路径建立文件夹,包括:第一电子设备在第二类型的子文件记录的路径为真实路径的情况下,在真实路径建立文件夹;第一电子设备在第二类型的子文件记录的路径为相对路径的情况下,将相对路径转换为真实路径,并在转换后的真实路径建立文件夹。
在上述第一方面的一种可能实现中,上述方法还包括:
第一电子设备在tar格式文件的头信息为全0字段的情况下,确定当前tar格式文件恢复完成。
在上述第一方面的一种可能实现中,上述第一电子设备包括备份管理服务;并且当迁移数据为预设数据类型时,由备份管理服务解析迁移数据,得到迁移数据中的一个或多个子文件的文件类型;当第一子文件的文件类型为第一类型时,由备份管理服务将第一子文件转换为第二类型的子文件;由备份管理服务通过预设方式存储转换为第二类型的子文件。
在上述第一方面的一种可能实现中,上述第一电子设备包括第一应用;并且由第一应用在迁移数据不是预设数据类型时,将迁移数据转换为预设数据类型。
在本申请实施例中,由第一电子设备中的第一应用,例如下文提及的换机克隆应用,在迁移数据不是预设数据类型的情况下,将迁移数据转换为预设数据类型,例如将大文件包为tar格式文件,并发送给备份管理服务。
第二方面,本申请实施例提供了一种可读介质,该可读介质上存储有指令,该指令在电子设备上执行时使电子设备实现上述第一方面及上述第一方面的各种可能实现提供的任意一种数据迁移方法。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令;以及处理器,是电子设备的处理器之一,用于执行指令使电子设备实现上述第一方面及上述第一方面的各种可能实现提供的任意一种数据迁移方法。
附图说明
图1根据本申请的一些实施例,示出了一种数据迁移的场景示意图;
图2A根据本申请的一些实施例,示出了一种手机10和手机20显示的换机克隆应用的界面的示意图;
图2B根据本申请的一些实施例,示出了一种手机10显示的扫描热点二维码界面和手机20显示的热点信息界面的示意图;
图2C根据本申请的一些实施例,示出了一种用户选择迁移数据过程中手机10显示的选择迁移数据的界面和手机20显示的界面的示意图;
图2D根据本申请的一些实施例,示出了一种数据迁移过程中,手机10显示发送迁移数据界面和手机20显示接收迁移数据的界面示意图;
图3根据本申请的一些实施例,示出了一种手机20对手机10发送的迁移数据进行解析并恢复的流程示意图;
图4根据本申请的一些实施例,示出了一种实现本申请实施例提供的数据迁移方法的软件架构示意图;
图5根据本申请的一些实施例,示出了一种tar格式文件的结构示意图;
图6根据本申请的一些实施例,示出了一种数据迁移方法的交互过程示意图;
图7A根据本申请的一些实施例,示出了一种手机10发送完迁移数据的提示界面示意图;
图7B根据本申请的一些实施例,示出了一种手机20完成数据迁移的提示界面示意图;
图8根据本申请的一些实施例,示出了BMS 22对数据解析并恢复过程的又一种实施方式的流程示意图;
图9根据本申请的一些实施例,示出了一种手机10的结构示意图。
具体实施方式
本申请的说明性实施例包括但不限于数据迁移方法、可读介质和电子设备。
下面结合附图介绍本申请实施例的技术方案。
图1根据本申请的一些实施例,示出了一种数据迁移的场景示意图。如图1所示,手机10为旧电子设备,手机20为新电子设备。用户可以通过手机10中安装的“换机克隆”应用程序11和手机20中安装的“换机克隆”应用程序21,将手机10中的数据迁移到手机20中。
具体地,图2A示出了一种手机10和手机20显示的换机克隆应用的界面的示意图;图2B示出了一种手机10显示的扫描热点二维码界面和手机20显示的热点信息界面的示意图;图2C示出了一种用户选择迁移数据过程中手机10显示的选择迁移数据的界面和手机20显示的界面的示意图;图2D示出了一种数据迁移过程中,手机10显示发送迁移数据界面和手机20显示接收迁移数据的界面示意图。
参考图2A,用户可以在手机10的“换机克隆”应用程序11中设置手机10为旧手机、在手机20的“换机克隆”应用程序21中设置手机20为新手机,从而进入图2B所示的设备连接界面,以建立手机10和手机20的通信连接。例如,可以通过手机10扫描手机20中的二维码建立手机10和手机20的通信连接。
参考图2C,在手机10和手机20通信连接建立后,用户可以在手机10中选择需要迁移到手机20中的数据,并在点击“下一步”控件21后开始数据迁移,手机10和手机20进行数据迁移时,手机10和手机20显示的界面如图2D所示。
如前所述,当手机10和手机20的应用程序/服务对数据迁移过程中迁移数据的处理方式不同时,可能会导致手机20无法识别到手机10发送给手机20的数据,从而导致数据迁移失败。
例如,手机10通过系统软件中的安装包管理服务(PackageManagerService,PMS)对迁移的数据进行打包和传送,而手机20是通过系统软件中的备份管理服务(BackupManagerService,BMS)对迁移数据进行解包和恢复。由于PMS对数据打包过程中定义了BMS不能识别的文件类型,例如“长文件/长目录”类型、“长链接”类型等,且PMS对于部分文件,例如文件大小大于6Mb的文件,PMS不进行打包而是由换机克隆应用程序11直接将数据传送给手机20;而BMS只能对经过打包过的文件中的预设文件类型的文件进行解析和恢复,从而在手机10将经PMS处理的迁移数据发送给手机20后,手机10将无法识别上述“长文件/长目录”类型、“长链接”类型和未经打包的文件,导致数据迁移失败。
可以理解的是,上述对迁移数据进行打包是指将迁移数据打包为统一格式的文件,例如tar格式的文件,以便于旧电子设备向新电子设备传送数据、新电子设备解析并恢复数据。迁移数据中可以包括至少一种统一格式的文件,例如迁移数据中既可以包括tar格式文件又可以包括大文件,一个统一格式的文件中可以包括至少一个子文件,例如一个tar格式文件中可以包括多个相同或不同文件类型的子文件。其中,tar格式的文件的具体结构将在下文进行详细介绍,在此不做赘述。
可以理解,在另一些实施例中,对迁移数据进行打包后得到的文件也可以是其他格式,例如zip格式文件、rar格式文件、gz格式文件等,在此不做限定。相应地,在zip格式文件、rar格式文件、gz格式文件中也可以包括至少一个子文件,并且手机20可以通过各格式文件的头信息获取各子文件的文件类型。
可以理解,前述对预设文件类型的文件进行解析是指:手机20通过对打包过的文件进行解析,得到打包过的文件中的各子文件的文件类型、文件的具体内容、文件在手机10中的存储路径等。前述对预设文件类型的文件进行恢复是指:将解析得到的各子文件存储到手机20中相对应的存储路径。例如,手机20解析打包过的文件后,得到文件类型的图片文件“风景.jpg”,该文件在手机10中存储的路径为“SD:\DCIM\camera\”,则手机20将图片文件“风景.jpg”文件存储在手机20的中相对应的路径“SD:\DCIM\camera\”中。
可以理解,手机20对打包后的文件中的不同类型的子文件的恢复方式可以不同,具体将在下文进行介绍,在此不做赘述。
可以理解,PMS是安卓TM系统提供的安装包管理服务,用于对安装安卓TM系统的电子设备中的应用程序进行管理。在一些实施例中,PMS可以用于将电子设备中需要迁移到其他电子设备的数据(可称为迁移数据)进行打包,例如将需要迁移的文件打包成tar格式的文件。由PMS对迁移数据进行打包得到的tar格式文件中的文件类型包括“文件”类型、“长文件/长目录”类型、“长链接”类型、“文件夹”类型、“长链接”类型、“软链接”类型等,其中文件夹类型的文件中记录的文件夹存放的真实路径。
此外,在一些实施例中,对于文件大小大于6Mb的文件(可称为大文件),PMS不打包成tar格式文件而是由旧电子设备中的应用程序,例如前述换机克隆应用程序11,直接向新电子设备发送大文件。
可以理解,在另一些实施例中,对大文件也可以是文件大小大于其他数值的文件,在此不做限定。
可以理解,BMS是安卓TM系统提供的备份管理服务,可以用于对安装安卓TM系统的数据进行打包(例如将需要迁移的文件打包成tar格式的文件)、对tar格式文件进行解析、对解析得到的文件进行恢复等。由BMS打包的tar格式文件的文件类型包括:“文件”类型、“文件夹”类型、“软链接”类型等(可称为预设文件类型),其中,文件夹类型的文件中记录的是文件夹记录的相对路径,从而BMS在恢复时需要根据预设的对应关系将相对路径转换为该文件夹的真实路径。此外,BMS在对迁移数据进行恢复时,只能识别打包后的数据中预设文件类型的文件。
有鉴于此,本申请实施例提供了一种数据迁移方法,手机20在接收到手机10发送的打包后的迁移数据后,通过BMS解析打包后的迁移数据,得到迁移数据中各文件的文件类型。在检测到BMS不支持的文件类型的文件的情况下,可将该文件转换为对应的BMS支持的文件类型,再对转换文件类型后的文件进行恢复,从而使得手机20可以对BMS不支持的文件类型的文件进行恢复,提高了用户迁移数据体验。
此外,在手机20接收到的迁移数据为未打包的迁移数据的情况下,手机20还可以先对未打包的数据进行打包,再将打包后的数据分发给BMS解析和恢复,从而使得手机20可以对未经打包的文件进行恢复,进一步提升用户迁移数据的体验。
具体地,图3根据本申请的一些实施例,示出了手机20对手机10发送的迁移数据进行解析并恢复的流程示意图。该流程的执行主体为手机20,如图3所示,该流程包括如下步骤:
S301:判断当前接收到的迁移数据是否为手机20支持的数据类型。
即是手机20在接收到手机10发送的迁移数据后,检测接收到的迁移数据是否为手机20支持的数据类型,如果是,说明手机20可以直接对该迁移数据进行解析,转至步骤S303;否则,说明手机20不可以直接对该迁移数据进行解析,转至步骤S304。
例如,当手机20通过BMS对接收到手机10发来的tar格式的迁移数据后,可判断该tar格式的迁移数据为自身支持的数据类型。而当手机20通过BMS对接收到手机10发来的未经打包的大文件时,可判断该文件为自身不支持的数据类型。
可以理解,手机20支持的数据类型(预设数据类型)是指,手机20中用于对迁移数据进行恢复应用程序/服务,例如BMS能够解析的数据类型,例如tar格式文件。
S302:将接收到的迁移数据转换为手机20支持的数据类型。
当手机20在接收到的迁移数据不是手机20支持的数据类型的情况下,将接收到的迁移数据转换为手机20所支持的数据类型。例如,将接收到的由手机10直接发送的大文件打包成tar格式的文件。
S303:解析接收到的迁移数据,得到迁移数据中子文件的文件类型。
当手机20在接收到的迁移数据是手机20支持的数据类型的情况下,手机20对接收到的迁移数据进行解析,逐个获取迁移数据中各子文件的文件类型。例如,手机20可以通过解析tar格式文件的头信息,来获取当前子文件的文件类型,具体将在下文进行介绍,在此不做赘述。
可以理解,当前子文件是指手机20当前解析迁移数据得到的子文件,例如,在迁移数据为tar格式文件的情况下,手机20获取的tar格式文件头信息对应的子文件即为当前子文件。
S304:判断当前子文件的文件类型是否为手机20支持的文件类型。
手机20判断当前子文件的文件类型是否为手机20支持的文件类型,如果是,说明可以直接通过预设的方法对当前子文件进行恢复,转至步骤S306;否则,说明不可以直接通过预设的方法对当前子文件进行恢复,转至步骤S305。
可以理解,手机20支持的文件类型(第二类型),是指迁移数据的子文件中,手机20中用于恢复迁移数据的应用程序/服务,例如BMS,能够通过预设的方式进行恢复的子文件的文件类型。例如,在一些实施例中,手机20支持的文件类型可以包括文件类型、“软链接”类型、文件夹类型的等文件类型,而“长文件/长目录”类型、“长链接”类型的文件是手机20不支持的文件类型。
S305:根据预设规则将当前子文件的文件类型转换为对应的手机20支持的文件类型。
手机20可根据预设规则将当前文件转换为对应的手机20支持的文件类型,以便于手机20可以根据预设的方法对当前文件进行恢复。具体将在下文进行介绍,在此不做赘述。
S306:根据预设的方式对当前子文件进行恢复。
可以理解,手机20中预设有针对手机20支持的各文件类型的恢复方式,手机20根据当前子文件的文件类型,通过该类型文件对应的预设的方式对当前文件进行恢复,具体将在下文进行介绍,在此不做赘述。
S307:判断是否恢复完所有子文件。
即是手机20在恢复完一个子文件后,判断是否已经完成当前迁移数据中所有子文件的恢复,若已经完成,则转至步骤S308,否则,转至步骤S303,解析迁移数据中的下一个子文件。
可以理解,在一些实施例中,手机20在获取到的tar格式文件头信息为全0数据的情况下,可以确定已恢复完该tar格式文件中的所有子文件。
S308:判断是否恢复完所有迁移数据。
即是手机20在恢复当前迁移数据后,判断是否恢复完所有的迁移数据,如果已经完成,则结束恢复过程;否则转至步骤S301,继续恢复迁移数据。
可以理解,上述步骤S301至步骤S307的执行顺序只是一种示例,在另一些实施例中,可以调整上述各步骤的执行顺序,也可以合并或拆分部分步骤,本申请实施例不做限定。
通过本申请实施例提供的数据迁移方法,手机20既可以对手机20不支持的数据类型的迁移数据恢复,也可以对手机20不支持的文件类型的文件进行恢复,提高了用户迁移数据体验。
进一步,图4根据本申请的一些实施例,示出了一种实现本申请实施例提供的数据迁移方法的软件架构示意图。
参考图4,手机10的软件架构可以包括应用程序层010、应用程序框架层011和内核层012等,其中:
应用程序层010可以包括换机克隆应用程序11,用于向PMS12或BMS13发起数据迁移请求,并将PMS12或BMS13处理后的迁移数据、大文件数据发送给其他电子设备,例如手机20。
可以理解,在另一些实施例中,换机克隆应用程序11也可以是其他具有相同或相似功能的应用程序,在此不做限定。
可以理解,在另一些实施例中,应用程序层010还可以包括更多的应用程序,在此不做限定。
应用程序框架层011可以包括PMS 12和/或BMS 13。如前所述,PMS可以对迁移数据进行处理。例如,将迁移数据中的非大文件进行打包,生成tar格式的文件,并将打包后的tar格式文件或大件文件发送给换机克隆应用程序11;BMS 13可以将迁移数据进行打包,生成tar格式的文件。
为便于理解,下面介绍tar格式文件的结构。
图5根据本申请的一些实施例,示出了一种tar格式文件的结构示意图。如图5所示tar文件内容以512字节为一个数据块(block)进行分割,最后一个数据块不足部分以0补齐。并且,在一个tar格式文件内容的结尾处设置有一个512字节的全0数据块,例如图5中的tar文件尾。
可以理解,一个tar格式文件中可以包括多个子文件,并且在存储各子文件时,先以一个数据块来存储该子文件的头信息,再依次以512字节大小的数据块来存储该子文件的具体内容。若该子文件的最后一个数据块不足512字节,则对不足的不分进行补0,然后再依次存储下一个子文件的头信息和具体内容。
可以理解,子文件的头信息中包括了该子文件的相关信息。例如,在一些实施例中,子文件的头信息所包括的内容可以参考图5中所示的结构体struct tar_header的内容。其中,图5所示的结构体struct tar_header中各字段的含义如表1所示:
表1
字段 | 含义 | 字段 | 含义 |
name | 文件名 | magic | 文件头标识 |
mode | 文件权限模式 | version | 版本 |
uid | 用户组id | uname | 文件所有者 |
gid | 用户id | gname | 文件所有组 |
size | 文件大小 | devmajor | 主设备号 |
mtime | 文件修改时间 | devminor | 从设备号 |
chksum | 文件校验和 | prefix | 文件前缀 |
typeflag | 文件类型 | padding | 补0 |
linkname | 链接名称 |
其中,typeflag字段(即子文件的类型)可以包括:
也即是说,在typeflag=0的情况下说明子文件的文件类型为“文件”、在typeflag=2的情况下说明子文件的文件类型为“软链接”、在typeflag=5的情况下说明子文件的文件类型为“文件夹”。并且,不同的应用程序/服务对生成的tar格式文件,还可以包括应用程序/服务自定义的文件类型,例如前述PMS生成的tar格式文件中的typeflag字段可以包括typeflag=L,(“长文件/长目录”类型)、typeflag=K(“长链接”类型);前述BMS生成的tar格式文件的typeflag字段可以包括typeflag=X(“PaxHeader”类型,即BMS可以可直接进行恢复文件)。
其中:
“软链接”类型的文件也称符号链接文件,该文件包含了另一个文件的路径名,可以是任意文件或目录,可以链接不同文件系统的文件。
“文件”类型的文件可以是手机10的系统软件及各应用程序支持任意类型的文件。例如“文件”类型的文件的真实文件类型可以是扩展名为“.jpg”、“.bmp”、“.png”等的图像文件,也可以是扩展名“.doc”、“.txt”、“.pdf”的文档文件,还可以是扩展名为“.mp3”、“.wav”、“flac”等的音频文件等。
“文件夹”类型(也称目录类型)的文件中存储了文件夹的名称和路径。特别的,由PMS打包的tar格式文件中记录的文件夹的名称和路径是真实的名称和路径,手机20R BMS22在进行恢复时可以直接在该文件中记录的路径中建立和该文件中记录的文件夹名称的文件夹;由BMS打包的tar格式文件中记录的文件夹的名称和路径是相对的名称和路径,手机20的BMS 22在进行恢复时可以需要先将相对的文件夹名称的路径转换为真实的文件夹名称和路径后再在真实的路径中建立真实文件夹名称的文件夹。
“长文件”类型是指文件的名称的长度大于预设字节数,例如大于8字节的文件类型的文件。
“长链接”类型是指文件的名称的长度大于预设字节数,例如大于8字节的“软链接”类型的文件。
“长目录”类型是指文件夹的名称的长度大于预设字节数,例如大于8字节的“文件夹”类型文件。
“PaxHeader”类型是由BMS对迁移数据进行打包得到的文件类型。也即是在一些实施例中,手机20在检测到tar格式文件中的有子文件的头信息typeflag=X,说明旧设备的迁移数据是由BMS打包得到,可以直接进行恢复。
可以理解,在一些实施例中,由tar格式文件定义的文件类型也可以称为常规类型,例如前述“文件”类型、“文件夹”类型、“软链接”类型等;由开发人员自定义的文件类型也可以称为扩展类型,例如前述typeflag=A,B,……,Z的文件类型。
可以理解,上述子文件的类型只是一种示例,在另一些实施例中,tar格式文件中还可以包括其他类型的子文件,在此不做限定。
在一些实施例中,“name”字段内容可以包括子文件的文件名称和路径,例如,在“name”字段的内容为“SD:\DCIM\camera\风景.jpg”的情况下,说明该子文件的文件名称为风景,扩展名为.jpg,存储路径为“SD:\DCIM\camera\”。
继续参考图4,手机10的内核层012可以包括WLAN(Wireless Local AreaNetwork,无线局域网)模块14,用于和其他电子设备,例如手机20建立WLAN连接,以便于手机10可以通过该WLAN连接将迁移数据发送给手机20。
可以理解,在另一些实施例中,内核层012也可以包括更多的模块,例如蓝牙等其他模块,本申请实施例不做限定。
可以理解,图4所示的手机10的软件架构只是一种示例,在另一些实施例中,手机10的软件架构可以包括更多的层,例如本地库等,上述各模块也可以位于其他的网络层中,本申请实施例不做限定。
继续参考图4,与手机10的软件架构类似的,手机20的软件架构包括应用程序层020、应用程序框架层021和内核层022。
应用程序层020可以包括换机克隆应用程序021,用于从手机10接收迁移数据,并将tar格式的迁移数据发送给BMS 22、将非tar格式的迁移数据(例如大文件)转换为tar格式文件后发送给BMS 22。
应用程序框架层021可以包括BMS 22,用于解析由换机克隆应用程序21发送的tar格式文件,并判断tar格式文件的子文件的文件类型,在子文件的文件类型为BMS 22不支持的文件类型的情况下,将子文件转换为BMS 22支持的文件类型;在子文件的文件类型为BMS22支持的文件类型的情况下,直接采用预设方式对子文件进行恢复。
内核层022可以包括WLAN模块23,用于和其他电子设备,例如手机10建立WLAN连接,以便于手机20可以接收手机10通过该WLAN连接传送的迁移数据。
可以理解,在另一些实施例中,内核层022也可以包括更多的模块,例如蓝牙等其他模块,本申请实施例不做限定。
可以理解,图4所示的手机20的软件架构只是一种示例,在另一些实施例中,手机20的软件架构可以包括更多的层,例如本地库等,上述各模块也可以位于其他的网络层中,本申请实施例不做限定。
为进一步说明本申请实施例的技术方案,下面结合图4所示手机10和手机20的软件架构,详细介绍本申请实施例提供的数据迁移方法的技术方案。
具体地,图6根据本申请的一些实施例,示出了一种数据迁移方法的交互过程示意图。如图6所示,该交互流程包括如下步骤:
S601:手机10通过换机克隆应用程序11与手机20的换机克隆应用程序21建立数据迁移连接。
例如,手机10和手机20可以通过图2A至图2D所示的实施例提供的过程,先建立手机10和手机20的通信连接。例如,通过WLAN模块14和WLAN模块23建立WLAN通信连接,再在换机克隆应用程序11中选择需要迁移的数据,实现数据迁移连接的建立。
可以理解,手机10和手机20在建立数据迁移连接后,换机克隆应用程序11即可将用户在换机克隆应用程序11中选择的需要迁移的迁移数据发送给PMS 12。
S602:换机克隆应用程序11判断迁移数据是否为大文件。如果是,说明不需要对当前文件进行打包,转至步骤S603;否则,说明需要对当前文件打包,转至步骤S604。
可以理解,在一些实施例中,换机克隆应用程序11也可以将迁移数据直接发送给PMS 12,由PMS 12确定迁移数据是否为大文件。
S603:换机克隆应用程序11向换机克隆应用程序21发送大文件。
可以理解,在换机克隆应用程序11确定迁移数据为大文件的情况下,可以由换机克隆应用程序11将大文件发送给换机克隆应用程序21,在此不做限定。
S604:换机克隆应用程序11向PMS 12发送迁移数据。
当迁移数据不是大文件的情况下,换机克隆应用程序12可将迁移数据发送给PMS12,以便PMS 12可以对迁移数据进行打包,例如打包成tar格式文件。
S605:PMS 12将迁移数据转换为tar格式文件并发送给换机克隆应用程序21。
也就是说,PMS可对迁移数据中的非大文件进行打包,生成tar格式文件并发送给换机克隆应用21。
可以理解,在一些实施例中,PMS 12也可以先将打包后得到的tar格式文件发送给换机克隆应用程序11,再由换机克隆应用程序11发送给换机克隆应用程序21,在此不做限定。
可以理解,在一些实施例中,PMS 12在向换机克隆应用程序21发送迁移数据的过程是实时和动态的。当所有迁移数据发送完成后,PMS 12还可以向换机克隆应用程序11发送迁移数据发送完成的通知,换机克隆应用程序11在接收到PMS 12发送的通知后可以显示图7A所示的界面,该界面中可显示对应的提示信息。例如,提示信息可为“发送完成,请暂时不要清理数据,以免数据遗漏无法找回”等。
可以理解,前述步骤S601至步骤S605介绍了手机10对迁移数据进行打包并发送给手机20的过程。也即是说,在一些实施例中,前述图3所示的实施例中,手机20接收到的迁移数据可以是由前述步骤S603换机克隆应用12发送的大文件数据,和/或步骤S605中PMS 12发送的tar格式文件
S606:换机克隆应用程序21判断接收到的迁移数据是否为tar格式文件。如果是,说明接收到的迁移数据可以直接由BMS 22进行解析,转至步骤S607;否则,说明接收到的迁移数据不能直接由BMS 22进行解析,转至步骤S608。
可以理解,换机克隆应用程序21从手机10接收迁移数据的远程是实时和动态的,换机克隆应用程序21可以逐个对接收到迁移数据中的文件(tar格式文件或大文件)进行判断,以下各步骤以一个文件的处理过程为例进行介绍。
S607:换机克隆应用程序21向BMS 22发送tar格式文件。
换机克隆应用程序21可在检测到接收到的迁移数据为tar格式文件的情况下,直接将tar格式文件发送给BMS 22。
S608:换机克隆应用程序21将接收到的迁移数据转换为tar格式文件并发送给BMS22。
换机克隆应用程序21在检测到接收到的迁移数据不是tar格式文件的情况下,例如为大文件的情况下,对接收到的迁移数据进行打包,生成tar格式文件,并将tar格式文件发送给BMS 22。
S609:BMS 22获取tar格式文件中子文件的文件类型。
例如,BMS 22可以通过获取tar格式文件中各子文件的头信息,读取头信息中的“typeflag”字段,从而获取子文件的文件类型。
S610:BMS 22判断当前的子文件是否为BMS 22支持的文件类型。
例如,BMS 22可以将步骤S609获取到的“typeflag”字段中的内容,与BMS 22支持的文件类型的typeflag进行比对,以确定当前的子文件是否为BMS 22支持的文件类型。
如果是,说明BMS 22可以直接通过预设的方法对当前子文件进行恢复,转至步骤S612;否则,说明BMS 22不可以直接通过预设的方法对当前子文件进行恢复,转至步骤S611。
如前所述,BMS 22支持的文件类型可以包括前述typeflag为0、2、5、X的文件。
可以理解,在一些实施例中,随着BMS 22功能的完善、版本的更新,BMS 22支持的文件类型也可以包括更多或更少类型的文件,在此不做限定。
如前所述,BMS 22不支持的文件类型可以包括前述由PMS在生成tar格式文件时定义的typeflag为L、K的文件。
可以理解,在另一些实施例中,在发送给手机20的tar格式文件是由其他应用程序/服务生成的情况下,BMS 22不支持的文件类型可以包括该应用程序/服务定义的其他文件类型,本申请实施例不做限定。
S611:BMS 22将当前子文件类型转换为BMS 22支持的文件类型。
BMS 22根据不同文件类型和BMS支持的文件类型的对应关系,将当前子文件类型转换为对应的BMS 22支持的文件类型。
例如,在当前子文件的typeflag=L的情况下,当前子文件可以为“长文件”类型或“长目录”类型。在当前子文件为“长文件”类型的情况下,BMS 22基于头信息中的文件大小(即size字段的内容),读取当前子文件的具体内容,并将当前子文件的文件类型转换为“文件”类型;在当前子文件为“长目录”类型的情况下,BMS 22基于头信息中的文件大小(即size字段的内容),读取当前子文件的具体内容,并将当前子文件的文件类型转换为“文件夹”类型。
又例如,在当前子文件的文件类型为“长链接”类型,即是文件名称大于预设字节数的“软链接”类型的文件时,BMS 22基于头信息中的文件大小(即size字段的内容),读取当前子文件的具体内容,并将当前子文件的文件类型转换为“软链接”类型。
可以理解,在另一些实施例中,BMS 22在检测到其他类型的不支持的文件类型的情况下,也可以采用相对应的方式转换为BMS 22支持的文件类型,在此不做限定。
S612:BMS 22根据预设的方式恢复文件。
BMS 22在当前子文件为BMS 22支持的文件类型的情况下,根据各文件类型对应的预设的方式恢复当前子文件。在当前子文件不是BMS 22支持的文件类型的情况下,对转换为BMS 22支持的文件类型后的文件采用对应的预设的方式恢复文件。不同文件类型对应的预设的方式可以参考下文步骤S805至步骤S807的相关描述,在此不做赘述。
S613:BMS 22判断是否恢复完所有文件。如果是,则说明数据迁移结束,转至步骤S614;否则,说明还有文件需要恢复,转至步骤S609。
例如,在一些实施例中,BMS 22可以在接收到PMS 12发送的迁移数据发送完成的通知标识后,确定已经恢复完所有文件。
S614:BMS 22向换机克隆应用程序21发送数据迁移完成的通知。
BMS 22可向换机克隆应用程序21发送数据迁移完成的通知。在一些实施例中,换机克隆应用程序21在接收到数据迁移完成的通知后,可以显示图7B所示的界面,提示用户数据迁移完成以及迁移完成的文件/项目的数量和大小。
通过本申请实施例提供的数据迁移方法,手机20既可以对未经打包的文件进行恢复,也可以对BMS 22不支持的文件类型的文件进行恢复,提高了用户迁移数据体验。
可以理解,上述步骤S601至步骤S613的执行顺序只是一种示例,在另一些实施例中,可以调整上述各步骤的执行顺序,也可以合并或拆分部分步骤,本申请实施例不做限定。
例如,图8根据本申请的一些实施例,示出了前述步骤S609至步骤S613的过程的另一种实现方式。该过程的执行主体可以为手机20的BMS 22,参考图8,该过程包括如下步骤:
S801:获取tar格式文件中子文件的头信息,确定当前子文件的扩展类型。
BMS 22在接收到前述步骤S607或步骤S608中由换机克隆应用程序21发送的tar格式文件后,获取tar格式文件中子文件的头信息,以确定当前子文件的扩展类型(即是前述tar格式文件中的自定义类型)。
在确定出当前子文件的扩展类型为“长文件/长目录”类型的情况下,转至步骤S802;在确定出当前子文件的扩展类型为“长链接”类型的情况下,转至步骤S803;在确定出当前子文件的扩展类型为“PaxHeader”类型的情况下,转至步骤S804。
可以理解,上述扩展类型可以包括前述由PMS定义的typeflag=L的“长文件/长目录”类型、typeflag=K的“长链接”类型和由BMS定义的typeflag=X的可由BMS直接恢复的类型。在另一些实施例中,上述扩展类型还可以包括更多由其他应用程序/服务定义的类型,在此不做限定。
可以理解,在一些实施例中,BMS 22在检测到tar格式文件中存在扩展类型为“PaxHeader”类型的情况下,即说明旧手机的迁移数据是上BMS打包,对于后续文件可以直接跳过步骤S801至步骤S803,直接转至步骤S804,以提高BMS 22恢复迁移数据的速度。
S802:读取当前子文件的相关内容,并将当前子文件转换为对应的常规类型。
如前所述,typeflag=L的文件可以是“长文件”类型,也可以是“长目录”类型。BMS22可以通过读取当前子文件的相关内容,例如文件大小,确定当前子文件为“长文件”类型还是“长目录”。例如,BMS 22可以在当前子文件的文件大小为0或小于预设值的情况下,确定当前子文件为“长目录”类型,否则确定当前子文件为“长文件”类型。BMS 22在确定出在当前子文件为长文件类型的情况下,将当前子文件的文件类型转换为“文件”类型;在确定出在当前子文件为“长目录”类型的情况下,将当前子文件的文件类型转换为“文件夹”类型。
可以理解,在一些实施例中,在BMS 22将当前子文件的文件类型转换为“文件”类型后,可以转至步骤S805通过预设的方式恢复当前子文件。
可以理解,在一些实施例中,在BMS 22将当前子文件的文件类型转换为“文件夹”类型后,可以转至步骤S806通过预设的方式恢复当前子文件。
S803:将当前子文件转换为“软链接”类型。
如前所述,“长链接”类型即是文件名称大于预设字节数的“软链接”类型的文件。BMS 22在当前子文件为“长链接”类型的情况下,将当前子文件的文件类型转换为“软链接”类型。
可以理解,在一些实施例中,在BMS 22将当前子文件的文件类型转换为“软链接”类型后,可以转至步骤S807通过预设的方式恢复当前子文件。
S804:确定当前子文件的常规类型。
例如,常规类型可以包括tar格式文件中规定的、非自定义的文件类型,例如前述“文件”类型、“文件夹”类型、“软链接”类型,也可以包括前述由BMS 22定义的“PaxHeader”类型。
可以理解,在另一些实施例中,常规类型也可以包括更多或更少的类型,在此不做限定。
示例性的,BMS 22在确定出当前子文件为“文件”类型的情况下,转至步骤S805,以“文件”类型的文件对应的预设的方式恢复文件;在确定出当前子文件为“文件夹”类型的情况下,转至步骤S806,以“文件夹”类型的文件对应的预设方式恢复文件;在确定出当前子文件为“软链接”类型的情况下,转至步骤S807,以“软链接”类型的文件对应的预设方式恢复文件;在确定出当前子文件为结束标志,即读取到的512字节的数据块为全0数据的情况下,说明当前子文件为tar文件尾,转至步骤S808。
S805:以Stream流方式创建文件并写入数据。
在当前子文件为“文件”类型的情况下,BMS 22可从头信息中获取该文件的存储路径和文件名,例如从“name”字段中获取该文件的存储路径和文件名。进而,BMS 22可在获取到的存储路径创建和文件名相同的文件,并以Stream流的方式在文件A中写入数据。
可以理解,在另一些实施例中,BMS 22也可以通过其他方式来创建文件并写入数据,本申请实施例不做限定。
S806:创建文件夹。
在当前子文件为PMS打包的“文件夹”类型的文件情况下,BMS 22可从头信息中获取该文件夹的存储路径和文件夹名,进而BMS 22可以在获取到存储路径创建和文件夹名称相同的文件夹。例如在头信息中“name”字段的内容为“SD:\DCIM\camera”的情况下,说明当前子文件的存储路径为“SD:\DCIM\”,文件夹名为“camera”,BMS 22可以在手机20的“SD:\DCIM\”目录下创建文件夹名为“camera”的文件夹。
在当前子文件是由BMS 22创建的“文件夹”类型的文件的情况下,获取头信息中存储的文件夹的相对名称和相对路径,通过预设的方法转换为该文件夹真实的名称和路径,并在真实的路径中创建和直接名称一致的文件夹。
可以理解,在另一些实施例中,在当前子文件由其他应用程序/服务打包的“文件夹”类型的文件的情况下,BMS 22也可以采用该应用程序/服务预设的方式在相应的路径创建相应名称的文件夹,本申请实施例不做限定。
S807:生成日志,暂不处理。
即是BMS 22在当前子文件是“软链接”类型的文件的情况下,生成已对该文件进行迁移的日志,但不以该文件进行实际的迁移操作,即跳过该文件。
可以理解,“软链接”类型的文件是指向另一个文件的链接,而并非是实际存在的文件,因此,在数据迁移中可以不对“软链接”类型的文件进行实际的迁移操作。
可以理解,BMS 22在生成“软链接”类型的文件的迁移日志后,即转到步骤S801,恢复下一个文件。
S808:恢复结束。
在读取的头文件信息为全0的数据块,即tar文件尾的情况下,BMS 22确定已完成对当前tar格式文件中所有子文件的恢复,结束数据迁移。
S809:恢复当前子文件的权限和修改时间。
在将当前子文件恢复到相应的路径后,BMS 22将恢复后的文件的访问权限调整到和手机10中一致,以使得手机20中的系统软件或应用程序可以对恢复后的文件进行访问。此外,由于恢复后的文件的修改时间是恢复该文件的时间,为便于手机20的系统软件或应用程序能获取到恢复后文件的实际修改时间,避免手机20的系统软件或应用程序由于恢复后文件的修改时间不合理出现异常,BMS 22还可以将恢复后的文件的修改时间调整为与手机10中一致。
可以理解,在一些实施例中,当前子文件的权限可以通过tar格式文件头信息中的“文件权限模式(mode)”字段确定,当前子文件的修改时间可以通过tar格式文件头信息中的“文件修改时间(mtime)”字段确定。
可以理解,BMS 22在完成当前子文件的权限和修改时间的恢复后,即转到步骤S801,恢复下一个文件。
前述步骤S801到步骤S809以一个tar格式文件的处理过程为例,介绍了BMS 22对tar格式文件恢复过程。可以理解,在一些实施例中,BMS 22接收tar格式文件可以是实时和动态的,BMS 22在恢复完一个tar格式文件后,可以通过重复前述步骤S801至步骤S809来恢复下一个tar格式文件。
可以理解,前述步骤S801至步骤S809的执行过程只是一种示例,在另一些实施例中上述各步骤也可以采用其他执行顺序,还可以合并或拆分部分步骤,在此不做限定。
通过本申请实施例提供的数据迁移方法,手机20既可以对未经打包的文件进行恢复,也可以对BMS 22不支持的文件类型的文件进行恢复,提高了用户迁移数据体验。
可以理解,本申请各实施例中各软件/硬件模块的功能只是一种示例,在另一些实施例中,可以合并或拆分部分软件/硬件模块的功能,也可以将部分软件/硬件模块的功能由其他软件/硬件模块来实现,本申请实施例不做限定。
进一步,图9根据本申请的一些实施例,示出了一种手机10(或手机20)的结构示意图。
如图9所示,以手机10举例,手机10可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identificationmodule,SIM)卡接口195等。
其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。在一些实施例中,处理器110可以调用并执行存储器中存储的本申请各实施例提供的数据迁移方法的执行指令,以实现本申请实施例所提供的数据迁移方法。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。
手机10的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。
移动通信模块150可以提供应用在手机10上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在手机10上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,手机10可以通过移动通信模块150,无线通信模块160和其他电子设备,例如手机20,建立移动通信连接/无线通信连接,以便于手机10通过建立的移动通信连接/无线通信连接将数据迁移到手机20中。
手机10通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Mini-LED,Micro-LED,Micro-OLED,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机10可以包括1个或N个显示屏194,N为大于1的正整数。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机10可以包括1个或N个摄像头193,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机10的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括程序存储区和数据存储区。其中,程序存储区可存储操作系统,至少一个功能所需的应用程序(比如实现前述Synergy服务12相关功能对应的应用程序能)等。数据存储区可存储手机10使用过程中所创建的数据,例如用于存放对迁移数据打包后得到的tar格式文件(等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,执行手机10的各种功能应用。
手机10可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
耳机接口170D用于连接有线耳机。
示例性的,手机10还可以包括按键190、马达191、指示器192、SIM卡接口195(或eSIM卡)等一项或多项。
可以理解,本申请实施例示出的手机10的结构并不构成对手机10的具体限定。在本申请另一些实施例中,手机10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
可以理解,手机20可以和手机10具有相同或相似的结构,也可以比手机10包括手机10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,本申请实施例不做限定。
可以理解,本申请各实施例以手机10/手机20为例进行介绍只是一种示例,本申请实施例的技术方案也适用于其他电子设备,包括但不限于,膝上型计算机、智能电视、智能音箱、平板计算机、服务器、可穿戴设备、头戴式显示器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备等,本申请实施例不做限定。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (16)
1.一种数据迁移方法,其特征在于,包括:
第一电子设备接收第二电子设备发送的迁移数据;
当所述迁移数据为预设数据类型时,所述第一电子设备解析所述迁移数据,得到所述迁移数据中的一个或多个子文件的文件类型;
当第一子文件的文件类型为第一类型时,所述第一电子设备将所述第一子文件转换为第二类型的子文件,所述第一子文件为所述一个或多个子文件中的一个;
所述第一电子设备通过预设方式存储转换为所述第二类型的子文件;
其中,所述第一类型为所述第一电子设备不能通过预设方式进行存储的文件类型,所述第二类型为所述第一电子设备能通过预设方式进行存储的文件类型。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述第一电子设备在所述迁移数据不是所述预设数据类型时,将所述迁移数据转换为所述预设数据类型。
3.根据权利要求2所述的方法,其特征在于,所述预设数据类型包括tar格式文件。
4.根据权利要求3所述的方法,其特征在于,所述第一电子设备在所述迁移数据不是所述预设数据类型的情况下,将所述迁移数据转换为tar格式文件。
5.根据权利要求4所述的方法,其特征在于,所述第一电子设备解析所述迁移数据,得到所述迁移数据中的一个或多个子文件的文件类型,包括:
所述第一电子设备获取所述tar格式文件的头信息,根据所述头信息中typeflag字段的内容确定所述子文件的文件类型。
6.根据权利要求5所述的方法,其特征在于,所述根据所述头信息中typeflag字段的内容确定子文件的文件类型,包括:
所述第一电子设备在所述头信息中typeflag字段的内容为L,且所述子文件的大小为0或小于预设大小的情况下,确定所述子文件的文件类型为长目录;
所述第一电子设备在所述头信息中typeflag字段的内容为L,且所述子文件的大小不为0或大于预设大小的情况下,确定所述子文件的文件类型为长文件;
所述第一电子设备在所述头信息中typeflag字段的内容为K的情况下,确定所述子文件的文件类型为长链接。
7.根据权利要求6所述的方法,其特征在于,所述第一类型包括长目录、长文件、长链接;所述第二类型包括:文件、软链接、文件夹。
8.根据权利要求7所述的方法,其特征在于,所述当第一子文件的文件类型为第一类型时,所述第一电子设备将所述第一子文件转换为第二类型的子文件,包括:
所述第一电子设备在所述第一子文件的文件类型为长文件的情况下,将所述子文件转换为文件类型;
所述第一电子设备在所述第一子文件的文件类型为长目录的情况下,将所述子文件转换为文件夹类型;
所述第一电子设备在所述第一子文件的文件类型为长链接的情况下,将所述子文件转换为软链接类型。
9.根据权利要求8所述的方法,其特征在于,所述第一电子设备通过预设方式存储转换为所述第二类型的子文件,包括:
所述第一电子设备在所述第二类型的子文件的文件类型为文件时,以Stream流方式创建文件并写入数据;
所述第一电子设备在所述第二类型的子文件的文件类型为文件夹时,在所述第二类型的子文件记录的路径建立文件夹;
所述第一电子设备在所述第二类型的子文件的文件类型为软链接时,生成已对所述第二类型的子文件进行迁移的日志。
10.根据权利要求9所述的方法,其特征在于,还包括:
所述第一电子设备在以Stream流方式创建文件并写入数据后,将写入的文件的访问权限和/或修改时间调整为与所述第一子文件在所述第二电子设备中的访问权限和/或修改时间相同;
所述第一电子设备在所述第二类型的子文件记录的路径建立文件夹后,将建立的文件夹的访问权限和/或修改时间调整为与所述第一子文件在所述第二电子设备中的访问权限和/或修改时间相同。
11.根据权利要求10所述的方法,其特征在于,所述在所述第二类型的子文件记录的路径建立文件夹,包括:
所述第一电子设备在所述第二类型的子文件记录的路径为真实路径的情况下,在所述真实路径建立文件夹;
所述第一电子设备在所述第二类型的子文件记录的路径为相对路径的情况下,将所述相对路径转换为真实路径,并在转换后的真实路径建立文件夹。
12.根据权利要求11所述的方法,其特征在于,还包括:
所述第一电子设备在所述tar格式文件的头信息为全0字段的情况下,确定当前tar格式文件恢复完成。
13.根据权利要求2至12中任一项所述的方法,其特征在于,所述第一电子设备包括备份管理服务;并且
当所述迁移数据为预设数据类型时,由所述备份管理服务解析所述迁移数据,得到所述迁移数据中的一个或多个子文件的文件类型;
当第一子文件的文件类型为第一类型时,由所述备份管理服务将所述第一子文件转换为第二类型的子文件;
由所述备份管理服务通过预设方式存储转换为所述第二类型的子文件。
14.根据权利要求13中任一项所述的方法,其特征在于,所述第一电子设备包括第一应用;并且
由所述第一应用在所述迁移数据不是所述预设数据类型时,将所述迁移数据转换为所述预设数据类型。
15.一种可读介质,其特征在于,所述可读介质上存储有指令,所述指令在所述电子设备上执行时使所述电子设备实现权利要求1至14中任一项所述的数据迁移方法。
16.一种电子设备,其特征在于,包括:
存储器,用于存储由电子设备的一个或多个处理器执行的指令;
以及处理器,是电子设备的处理器之一,用于执行所述指令使电子设备实现权利要求1至14中任一项所述的数据迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111655385.1A CN115017096B (zh) | 2021-12-30 | 2021-12-30 | 数据迁移方法、可读介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111655385.1A CN115017096B (zh) | 2021-12-30 | 2021-12-30 | 数据迁移方法、可读介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115017096A true CN115017096A (zh) | 2022-09-06 |
CN115017096B CN115017096B (zh) | 2023-10-31 |
Family
ID=83064861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111655385.1A Active CN115017096B (zh) | 2021-12-30 | 2021-12-30 | 数据迁移方法、可读介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115017096B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115309703A (zh) * | 2022-10-10 | 2022-11-08 | 联想凌拓科技有限公司 | 文件读取方法及装置、电子设备及存储介质 |
CN116662270A (zh) * | 2022-09-09 | 2023-08-29 | 荣耀终端有限公司 | 文件解析方法及相关装置 |
CN116841801A (zh) * | 2023-07-14 | 2023-10-03 | 广州数源畅联科技有限公司 | 一种基于云服务器的数据备份方法及系统 |
CN116662270B (zh) * | 2022-09-09 | 2024-05-10 | 荣耀终端有限公司 | 文件解析方法及相关装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1574014A (zh) * | 2003-06-03 | 2005-02-02 | 株式会社东芝 | 数据转换装置和数据转换系统 |
US20070143352A1 (en) * | 2005-12-21 | 2007-06-21 | International Business Machines Corporation | Method and system for implementing database migration using a staged approach |
CN101101592A (zh) * | 2006-07-04 | 2008-01-09 | 联想(北京)有限公司 | 一种文件格式自动转换方法及装置 |
CN105491113A (zh) * | 2015-11-25 | 2016-04-13 | 小米科技有限责任公司 | 迁移方法、装置及终端 |
CN106547486A (zh) * | 2016-10-20 | 2017-03-29 | 广东欧珀移动通信有限公司 | 一种数据迁移方法及装置 |
US20170277698A1 (en) * | 2016-03-25 | 2017-09-28 | Mckesson Financial Holdings | Method and apparatus for migration of data from a source enterprise application to a target enterprise application |
CN110674083A (zh) * | 2019-10-10 | 2020-01-10 | 深圳前海微众银行股份有限公司 | 工作流迁移方法、装置、设备及计算机可读存储介质 |
CN112650710A (zh) * | 2020-12-31 | 2021-04-13 | 青岛海尔科技有限公司 | 数据迁移的发送方法及装置、存储介质、电子装置 |
-
2021
- 2021-12-30 CN CN202111655385.1A patent/CN115017096B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1574014A (zh) * | 2003-06-03 | 2005-02-02 | 株式会社东芝 | 数据转换装置和数据转换系统 |
US20070143352A1 (en) * | 2005-12-21 | 2007-06-21 | International Business Machines Corporation | Method and system for implementing database migration using a staged approach |
CN101101592A (zh) * | 2006-07-04 | 2008-01-09 | 联想(北京)有限公司 | 一种文件格式自动转换方法及装置 |
CN105491113A (zh) * | 2015-11-25 | 2016-04-13 | 小米科技有限责任公司 | 迁移方法、装置及终端 |
US20170277698A1 (en) * | 2016-03-25 | 2017-09-28 | Mckesson Financial Holdings | Method and apparatus for migration of data from a source enterprise application to a target enterprise application |
CN106547486A (zh) * | 2016-10-20 | 2017-03-29 | 广东欧珀移动通信有限公司 | 一种数据迁移方法及装置 |
CN110674083A (zh) * | 2019-10-10 | 2020-01-10 | 深圳前海微众银行股份有限公司 | 工作流迁移方法、装置、设备及计算机可读存储介质 |
CN112650710A (zh) * | 2020-12-31 | 2021-04-13 | 青岛海尔科技有限公司 | 数据迁移的发送方法及装置、存储介质、电子装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662270A (zh) * | 2022-09-09 | 2023-08-29 | 荣耀终端有限公司 | 文件解析方法及相关装置 |
CN116662270B (zh) * | 2022-09-09 | 2024-05-10 | 荣耀终端有限公司 | 文件解析方法及相关装置 |
CN115309703A (zh) * | 2022-10-10 | 2022-11-08 | 联想凌拓科技有限公司 | 文件读取方法及装置、电子设备及存储介质 |
CN115309703B (zh) * | 2022-10-10 | 2023-01-03 | 联想凌拓科技有限公司 | 文件读取方法及装置、电子设备及存储介质 |
CN116841801A (zh) * | 2023-07-14 | 2023-10-03 | 广州数源畅联科技有限公司 | 一种基于云服务器的数据备份方法及系统 |
CN116841801B (zh) * | 2023-07-14 | 2024-03-26 | 广州数源畅联科技有限公司 | 一种基于云服务器的数据备份方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115017096B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220318195A1 (en) | Card Rendering Method and Electronic Device | |
WO2021027666A1 (zh) | 一种蓝牙回连的方法及相关装置 | |
JP7473100B2 (ja) | ユーザインタフェースレイアウト方法および電子デバイス | |
CN115017096B (zh) | 数据迁移方法、可读介质和电子设备 | |
CN108595226B (zh) | 动态加载方法、装置及计算机可读存储介质 | |
CN114125786B (zh) | 消息同步方法、可读介质和电子设备 | |
JP7369281B2 (ja) | デバイス能力スケジューリング方法および電子デバイス | |
CN110633090B (zh) | 补丁方法、相关装置及系统 | |
CN108804130B (zh) | 程序安装包生成方法及装置 | |
CN114553814B (zh) | 处理推送消息的方法和装置 | |
US20240095000A1 (en) | Plug-In Installation Method, Apparatus, and Storage Medium | |
CN112817634A (zh) | Cota包下载方法及装置 | |
CN110955452B (zh) | 一种非侵入式交互方法及电子设备 | |
US20070135045A1 (en) | Method for log management during bluetooth communication and mobile terminal device employing the same | |
US20210368231A1 (en) | System and method for streaming video data | |
CN114928898A (zh) | 建立基于WiFi直接连接的会话的方法和装置 | |
WO2021226961A1 (zh) | 应用程序安全检测方法、装置、存储介质及电子设备 | |
CN114116072A (zh) | 一种共享库的复用方法及电子设备 | |
KR20160015036A (ko) | 전자 장치간 트리거 동작 방법 및 장치 그리고, 이를 지원하는 잭 액세서리 | |
CN114895949B (zh) | 应用程序的更新方法、介质和终端设备 | |
CN113225268B (zh) | 数据传输方法、装置、电子设备以及存储介质 | |
CN114006969B (zh) | 一种窗口启动方法和电子设备 | |
CN113741925B (zh) | 一种软件升级方法和装置 | |
WO2023160216A1 (zh) | 流媒体特性架构、处理方法、电子设备及可读存储介质 | |
US11284150B2 (en) | Electronic device for reproducing data and operation method thereof |
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 |