CN117827534A - 一种数据克隆过程的管控方法、电子设备及存储介质 - Google Patents
一种数据克隆过程的管控方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117827534A CN117827534A CN202311602618.0A CN202311602618A CN117827534A CN 117827534 A CN117827534 A CN 117827534A CN 202311602618 A CN202311602618 A CN 202311602618A CN 117827534 A CN117827534 A CN 117827534A
- Authority
- CN
- China
- Prior art keywords
- application
- data
- request
- cloning
- 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.)
- Pending
Links
- 238000010367 cloning Methods 0.000 title claims abstract description 151
- 238000000034 method Methods 0.000 title claims abstract description 150
- 230000008569 process Effects 0.000 title claims abstract description 81
- 238000011084 recovery Methods 0.000 claims abstract description 58
- 238000004891 communication Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 17
- 230000000694 effects Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 3
- 230000008676 import Effects 0.000 abstract description 30
- 230000015556 catabolic process Effects 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 9
- 238000010295 mobile communication Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
-
- 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/1458—Management of the backup or restore process
-
- 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
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种数据克隆过程的管控方法、电子设备及存储介质,涉及数据克隆技术领域;该方法可以通过克隆状态参数确定数据克隆过程当前所在的阶段,在处于数据恢复阶段时,可以阻止特定应用程序的四大组件启动该特定应用程序。其中,特定应用程序包括当前正在进行数据导入的应用程序。即特定应用程序可以是电子设备中的全部应用程序,还可以是克隆的用户数据中的应用程序,还可以是当前正在进行数据导入的应用程序。通过阻止特定应用程序的四大组件启动该特定应用程序的方式,可以避免正在进行数据导入的应用程序再次启动进程,从而避免了正在进行数据导入的应用程序的进程崩溃,从而降低数据克隆中断或失败的情况。
Description
本申请是于2022年6月16日提交国家知识产权局、申请号为202210679948.9、申请名称为“一种数据克隆过程的管控方法、电子设备及存储介质”的中国专利申请的分案申请。
技术领域
本申请涉及数据克隆技术领域,尤其涉及一种数据克隆过程的管控方法、电子设备及存储介质。
背景技术
用户在使用电子设备的过程中,由于各种原因可能会更换该电子设备。作为示例,用户使用旧手机的过程中,由于旧手机损坏或更新换代的需求,可能会更换新手机使用。在更换新手机时,可以采用数据克隆技术,将旧手机中的用户数据克隆到新手机中。
目前,在将旧手机中的用户数据克隆到新手机的过程中,通常会在数据克隆界面提示用户不要离开当前页面,以避免克隆中断或克隆失败的现象。然而,在实际数据克隆过程中,仍然会存在数据克隆中断或克隆失败的现象。
发明内容
本申请提供一种数据克隆过程的管控方法、电子设备及存储介质,可以降低数据克隆中断或数据克隆失败的现象。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种数据克隆过程的管控方法,该方法包括:
接收克隆状态参数,所述克隆状态参数用于表示当前数据克隆过程所在的阶段;
接收到通过第一应用的组件启动所述第一应用的第一请求;
查询最新接收到的所述克隆状态参数;
若查询到最新接收到的所述克隆状态参数为第一值,拦截所述第一请求,所述第一值用于表示当前数据克隆过程处于数据恢复阶段。
本申请中,在数据恢复阶段,正在进行数据导入的应用,已经启动进程。通过拦截启动应用的请求,可以避免再次启动正在进行数据导入的应用的进程,避免了正在进行数据导入的应用的进程崩溃,从而降低数据克隆中断或失败的情况。
作为第一方面的一种实现方式,所述方法还包括:
接收当前正在进行数据恢复的应用的标识。
作为第一方面的一种实现方式,所述第一请求携带所述第一应用的标识;所述若查询到最新接收到的所述克隆状态参数为第一值,拦截所述第一请求,包括:
若查询到最新接收到的所述克隆状态参数为所述第一值,确定所述第一请求携带的所述第一应用的标识和最新接收到的当前正在进行数据恢复的应用的标识是否相同;
若所述第一请求携带的所述第一应用的标识和所述最新接收到的当前正在进行数据恢复的应用的标识相同,则拦截所述第一请求。
作为第一方面的一种实现方式,在确定所述第一请求携带的所述第一应用的标识和最新接收到的当前正在进行数据恢复的应用的标识是否相同之后,所述方法还包括:
若所述第一请求携带的所述第一应用的标识和所述最新接收到的当前正在进行数据恢复的应用的标识不相同,则基于所述第一请求启动所述第一应用。
本申请中,还可以接收到当前正在进行数据导入的应用的标识,可以仅拦截当前正在进行数据导入的应用的启动请求。不影响用户在数据恢复阶段使用其他应用程序。
作为第一方面的一种实现方式,所述第一请求携带所述第一应用的标识;所述若查询到最新接收到的所述克隆状态参数为第一值,拦截所述第一请求,包括:
若查询到最新接收到的所述克隆状态参数为所述第一值,确定接收到的正在进行数据恢复的应用的标识中是否包括所述第一请求携带的所述第一应用的标识;
若所述接收到的正在进行数据恢复的应用的标识中包括所述第一请求携带的所述第一应用的标识,则拦截所述第一请求。
作为第一方面的一种实现方式,在确定接收到的正在进行数据恢复的应用的标识中是否包括所述第一请求携带的所述第一应用的标识之后,所述方法还包括:
若所述接收到的正在进行数据恢复的应用的标识中不包括所述第一请求携带的所述第一应用的标识,则基于所述第一请求启动所述第一应用。
本申请中,可以拦截已经完成数据恢复和正在进行数据恢复的应用的启动请求,不影响用户在数据恢复阶段使用克隆的用户数据中的应用以外的其他应用。
作为第一方面的一种实现方式,所述第一应用的组件包括:activity、service、contentprovider、broadcast receiver。
作为第一方面的一种实现方式,所述方法还包括:
接收到为第二值的克隆状态参数,所述第二值用于表示当前数据克隆过程结束;
接收到通过第一应用的组件启动所述第一应用的第一请求;
通过所述第一应用的组件启动所述第一应用。
本申请中,在数据克隆结束之后,将恢复原生流程,基于接收到的启动请求启动相应的应用。
第二方面,提供一种电子设备,包括处理器,处理器用于运行存储器中存储的计算机程序,实现本申请第一方面任一项的方法。
第三方面,提供一种芯片系统,包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请第一方面任一项的方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被一个或多个处理器执行时实现本申请第一方面任一项的方法。
第五方面,本申请提供了一种计算机程序产品,当计算机程序产品在设备上运行时,使得设备执行本申请第一方面任一项的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备的硬件结构示意图;
图2为本申请实施例提供的数据克隆界面的示意图;
图3为本申请实施例提供的一种数据克隆过程中启动应用程序时的界面示意图;
图4为本申请实施例提供的一种数据克隆过程的管控方法的技术架构示意图;
图5为本申请实施例提供的一种数据克隆过程的管控方法的流程示意图;
图6为本申请实施例提供的另一种数据克隆过程的管控方法的流程示意图;
图7为本申请实施例提供的另一种数据克隆过程的管控方法的流程示意图;
图8为本申请实施例提供的数据备份过程和数据恢复过程的界面示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”、“第四”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的数据克隆过程的管控方法,可以适用于平板电脑、手机、上网本、个人数字助理(personal digital assistant,PDA)等电子设备。本申请实施例对电子设备的具体类型不作限定。
图1示出了一种电子设备的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,摄像头193,显示屏194,以及用户标识模块(subscriberidentificationmodule,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,触摸传感器180K等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)。
此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal areanetworks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信号转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了监听语音信息,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
摄像头193用于捕获静态图像或视频。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。
本申请实施例并未特别限定一种数据克隆过程的管控方法的执行主体的具体结构,只要可以通过运行记录有本申请实施例的数据克隆过程的管控方法的代码,以根据本申请实施例提供的数据克隆过程的管控方法进行处理即可。例如,本申请实施例提供的数据克隆过程的管控方法的执行主体可以是电子设备中能够调用程序并执行程序的功能模块,或者为应用于电子设备中的处理装置,例如,芯片。
电子设备(例如,设备A)在使用过程中,由于电子设备损坏或用户更新换代的需求,用户可能会对该电子设备进行更换,以更换另一电子设备(例如,设备B)。作为示例,用户使用的旧手机被淘汰,将更换新的手机,或者,用户使用的旧平板电脑被淘汰,将更换新的平板电脑。
用户在使用电子设备过程中,会产生很多用户数据,在用户使用的旧电子设备被更换时,可以采用数据克隆技术,将旧电子设备中的用户数据克隆到新电子设备中。
需要说明,本申请实施例对旧电子设备和新电子设备的情况不做限定,其中,“新”和“旧”并不表示电子设备本身的新旧程度,“旧电子设备”也不表示一定会被淘汰。“旧电子设备”为用户数据原来所在的电子设备,“新电子设备”为用户数据即将被克隆到的电子设备。
作为一个示例,用户原来使用设备A,后购买设备B使用,用户需要将设备A中的用户数据克隆到设备B中,则该克隆过程中,设备A为旧电子设备,设备B为新电子设备。在用户使用设备B一段时间之后,用户想要更换回原来的设备A,需要将设备B中的用户数据克隆到设备A中,则该克隆过程中,设备B为旧电子设备,设备A为新电子设备。
作为克隆的用户数据的一些示例,该克隆的用户数据可以包括:联系人、短信息、通话记录、日历日程、文档、图片、音频、视频和应用程序的数据等。其中,应用程序可以是第三方应用程序也可以是系统自带的应用程序,应用程序的数据包括应用程序在系统路径下的数据,例如,微信应用本身、微信应用中的聊天记录等,浏览器本身、浏览器应用中的书签等。
上述克隆的用户数据仅用于示例,实际应用中,还可以克隆上述列举的用户数据之外的其他数据,也可以仅克隆上述列举的用户数据中的部分数据。
将旧电子设备中的用户数据克隆到新电子设备中的过程包括数据备份阶段和数据恢复阶段。
其中,数据备份阶段,是用户数据从旧电子设备迁移到新电子设备中的过程。数据恢复阶段,是迁移到新电子设备中的用户数据在新电子设备中导入的过程。
作为示例,在数据备份阶段,旧电子设备中的用户数据可以以数据包的形式传输到新电子设备中。
然而,不同用户数据在新电子设备上的存储空间不同,因此,在数据恢复阶段,需要将这些用户数据导入到和旧电子设备相同的存储空间。还有些用户数据为应用程序的数据,在数据恢复阶段,需要基于应用程序的数据在新电子设备中安装该应用程序并导入该应用程序的一些记录(例如,聊天记录等)。
当然,实际应用中,也可以不克隆应用程序本身,而是克隆该应用程序的其他数据。
作为示例,新电子设备中存在微信应用,在将旧电子设备中的用户数据克隆至新电子设备中时,可以不克隆微信应用本身,而是克隆微信应用中的聊天记录等。
本申请实施例以在新电子设备中导入应用程序A为例描述应用程序的数据导入过程。
在数据恢复阶段,系统首先为应用程序A创建原生应用,该原生应用具有框架和初始组件等,这些初始组件并不是应用程序A真正的组件。在创建应用程序A的原生应用后,系统启动应用程序A的进程,系统将从旧电子设备迁移过来的应用程序A真正的组件替换该原生应用中的初始组件。在将旧电子设备迁移来的应用程序A的全部的真正的组件替换该原生应用中的初始组件之后,该新电子设备中成功导入应用程序A。在数据导入结束之后,可以杀死该应用程序A的进程。
当然,在从旧电子设备中迁移过来的用户数据包括应用程序A的其他数据(例如,聊天记录等)的情况下,还需要将该其他数据导入该应用程序A中,才能完成应用程序A的数据导入过程。
目前,在数据克隆过程中,新电子设备上的克隆界面会提示用户不要离开当前数据克隆界面。
参见图2,为本申请实施例提供的数据克隆界面的一种示例图。该数据克隆界面中,可以显示已接收的用户数据的数据量(例如,图2中的已接收7.43MB)、当前传输数据的速率(例如,图2中的7.1MB/秒)和剩余克隆时间(例如,图2中的少于1分钟)。在该数据克隆界面中,还显示有提示信息“请勿离开此页面”。该提示信息的一个目的是避免用户离开当前数据克隆界面后,使用电子设备中的应用程序,导致数据克隆中断或失败。
当然,图2所示的数据克隆界面仅用于示例,实际应用中,还可以显示其他信息。
通常,在数据备份阶段,系统有原生的保护措施,以降低数据克隆中断或失败的情况发生。在数据恢复阶段,通过图2所示的提示方式提示用户不要离开当前数据克隆界面,以降低数据克隆中断或失败的情况发生。
目前,在数据恢复阶段,导致数据克隆中断或失败的原因包括:
用户若离开当前数据克隆界面,可能会点击系统桌面上的图标以启动电子设备中的应用程序A,若用户启动的应用程序A当前正在进行数据导入过程,则系统会与该应用程序A的初始组件进行通信,以再次启动该应用程序A。然而,如前所述,新电子设备在导入应用程序A时,已经启动了该应用程序A的进程,若再次通过应用程序的初始组件启动应用程序A的进程,将会导致该应用程序A的进程崩溃,在该应用程序A的进程崩溃后,就会导致克隆中断或该应用程序A克隆失败。
基于上述原因,为了避免用户在完成数据克隆之前,用户启动应用程序导致的克隆中断或克隆失败,通常会采用图2所示的方法,提醒用户不要离开当前数据克隆界面。若不离开当前数据克隆界面,则用户不会使用新电子设备中的应用程序,从而降低数据克隆中断或失败的情况发生。
当然,在一些场景中,为了避免用户无视提示信息而离开数据克隆界面之后,在系统桌面上启动应用程序,可以限制用户打开数据克隆的用户数据中的应用或者限制用户打开正在进行数据备份或数据导入的应用程序。
作为该场景的一个示例,参见图3,为在数据克隆过程中,用户离开数据克隆界面回到系统桌面上点击应用图标以打开应用程序时,电子设备限制用户打开应用程序的一个界面示意图。
该界面示意图中,用户点击一个应用图标后,该界面显示提示信息“启动失败,正在备份中”。
然而,实际应用中,一个应用程序的启动并不完全是由用户的操作触发的。所以,即使通过图2所示的方式提示用户不要离开当前数据克隆界面或者通过图3所示的方式限制用户打开应用程序,依然会有数据克隆中断或失败的情况发生。
以系统中另一应用程序B通过应用程序A的任一组件启动该应用程序A的过程作为示例。
在数据恢复过程中,若当前在导入应用程序A的数据,系统中的另一应用程序B向应用程序A发送广播以启动应用程序A。若应用程序A已经导入完成,则应用程序A中的broadcastreceiver组件可以接收应用程序B的广播以启动应用程序A。若应用程序A还未导入完成,则应用程序A中的broadcast receiver组件接收到应用程序B的广播后再次为应用程序A创建进程已启动该应用程序A时,该应用程序A已经存在的进程将崩溃,这就会导致克隆中断或应用程序A的克隆失败。
通过该示例可以理解,在数据恢复过程中,用户可以根据提示不离开数据克隆页面,即用户不会通过操作触发应用程序A启动,然而,却不能阻止系统中的其他应用程序或模块通过与该应用程序A的四大组件通信的方式启动该应用程序A。因此,即使在数据克隆过程中,用户根据提示不离开克隆页面,也会存在克隆中断或克隆失败的现象。
为了解决该问题,本申请实施例可以在数据恢复阶段,通过阻止从旧电子设备克隆到新电子设备的应用程序启动,从而降低数据克隆或失败的情况发生。
参见图4,为本申请实施例提供的一种数据克隆方法的技术架构图。该技术架构中,设备A为旧电子设备,设备B为新电子设备。设备A中的用户数据被克隆到设备B中。
设备A中安装有应用程序A、应用程序B和应用程序C。设备B中安装有应用程序B和应用程序C。
在数据克隆过程中,克隆的用户数据包括应用程序A和应用程序A的相关数据。即在本次克隆过程中,需要将设备A中的应用程序A克隆到设备B中。
该技术架构图中旧电子设备中的应用程序仅用于示例,实际应用中,还可以包括比图示中更多的应用程序。同理,新电子设备中的应用程序也仅用于示例,实际应用中,也可以包括比图示中更多的应用程序。
设备B中还存在BMS(BackupManagerService)和AMS(ActivityManagerService)。
其中,BMS是系统中的一个备份服务,负责管理备份过程。BMS可以判断克隆过程处于哪个阶段,例如,当前处于数据备份阶段,还是当前处于数据恢复阶段。其中,BMS可以将当前数据克隆的阶段通过BACKUP_MODE_SKIP_ALL_COMPONENTS参数向其他服务传递。
作为示例,在数据备份阶段,BMS服务向AMS服务传递BACKUP_MODE_SKIP_ALL_COMPONENTS为1的参数,在数据恢复阶段,BMS服务向AMS服务传递BACKUP_MODE_SKIP_ALL_COMPONENTS为2的参数,在数据克隆结束,BMS向AMS传递BACKUP_MODE_SKIP_ALL_COMPONENTS为3的参数。
当然,实际应用中,“1”和“2”仅用于示例,说明BMS服务可以向AMS服务实时传递数据克隆过程当前所处于的阶段。
在数据恢复阶段,BMS还可以向AMS传递当前正在进行数据导入的应用程序的标识,该标识可以为应用程序的包名或UID。
作为示例,在数据恢复阶段,BMS在导入应用A时,BMS向AMS发送用于表示当前正在导入的应用A的包名;若数据克隆过程还需要导入应用B,则在BMS导入应用B时,BMS向AMS发送用于表示当前正在导入的应用B的包名……。
AMS是Android中的一个核心服务,主要负责系统中四大组件的启动、切换、调度及应用进程的管理和调度等工作。
通常,一个应用程序可以通过该应用程序的四大组件与外界通信。同样,系统或者系统中的应用也可以与该应用程序的四大组件进行通信以启动该应用程序。
四大组件包括Activity、service、content provider(内容提供器)和broadcastreceiver(广播接收器)。
Activity可以提供一个用户界面,是用户交互的入口,可以接收用户在该界面输入信息从而和用户交互。例如,该屏幕上可以显示一些控件,该控件可以监听并处理用户事件作出响应。所以,用户可能通过该组件启动该应用程序。
作为示例,用户可以点击系统桌面上应用A的图标,以通过启动应用A的Activity启动应用A。
Service,在后台执行计算任务。Service处于绑定状态时,其他应用或系统可以通过该组件与本应用通信。所以,系统或其他应用程序可能会和该应用程序的service进行通信,以启动该应用程序。
作为示例,当微信服务器发来微信消息时,系统可以通过启动微信的service以启动微信应用,从而在界面的顶部弹出微信消息。
content provider主要用于在不同的应用程序之间实现数据共享的功能,属于一种跨进程共享数据的方式,即一个应用程序可以通过content provider访问另一个应用程序的数据。
content provider的用法一般有两种:
第一种,使用其他应用程序的内容提供器来读取和操作其他应用程序中的数据;
第二种,创建自己的内容提供器给自己应用程序的数据提供外部访问接口,供其他应用程序访问。
若采用第二种,则一个应用程序通过内容提供器对其数据提供了外部访问接口,那么具有该权限的其他的应用程序都可以对这部分数据进行访问,例如,系统中的电话本、短信和图库等可以供其他应用程序进行访问。
所以,一个应用程序可以通过访问另一应用程序的content provider访问另一应用程序中的数据,在访问另一应用程序的数据时,可能会启动该另一应用程序。
broadcast receiver用于在不同组件或者不同应用之间传递消息,在接收广播信息后做出对应处理的组件,例如,常见的系统广播:通知时区改变、电量低、用户改变语言选项等,此外,广播消息还可以是:网络变化、SD卡状态、监听应用的安装、卸载和更新等。其中,动态广播需要应用启动才能注册并接收广播。
所以,其他应用程序可能会通过和该应用程序的broadcast receiver进行通信以启动该应用程序。
在实际应用中,一个应用程序被启动时,无论是基于用户的操作触发,还是其他应用程序的请求触发,均通过上述四大组件实现对一个应用程序的启动,而上述四大组件的管控由AMS负责。
所以,本申请实施例可在BMS服务传递给AMS的BACKUP_MODE_SKIP_ALL_COMPONENTS参数表示当前处于数据恢复阶段时,通过AMS阻止数据克隆的用户数据中的应用程序的四大组件启动对应的应用程序。即本申请实施例提供的数据克隆方法中包括对数据克隆过程中的数据恢复阶段进行管控。
在描述本申请实施例提供的数据克隆方法的技术架构图之后,描述基于该技术架构实现的数据克隆方法。该数据克隆方法是对数据克隆过程进行管控。
本申请实施例中,数据备份阶段由原生系统提供保护措施降低数据克隆中断的情况或备份失败的情况。数据恢复阶段则由本申请实施例提供的数据克隆方法降低数据克隆中断的情况或备份失败的情况。另外,本申请实施例提供的数据克隆方法重点对数据克隆过程中导入应用程序时提供保护措施,从而降低克隆中断的情况或克隆失败的情况。具体可参照图5所示的流程示意图。
步骤S101,在数据克隆过程中,BMS实时向AMS传输克隆状态参数。
本申请实施例中,该克隆状态参数可以为上述实施例中的BACKUP_MODE_SKIP_ALL_COMPONENTS。该参数不同的值表示不同的阶段。
上述参数仅用于示例,实际应用中,还可以为其他预先设置的参数。
步骤S102,AMS接收BMS实时传输的克隆状态参数,实时更新所述克隆状态参数。
本申请实施例中,AMS可以实时接收到BMS实时传输的克隆状态参数,AMS可以实时更新接收到的克隆状态参数。
作为示例,若上一次接收到克隆状态参数为1,本次接收到的克隆状态参数仍为1,则当前克隆状态参数为1。
若上一次接收到克隆状态参数为1,本次接收到的克隆状态参数为2,则当前克隆状态参数更新为2。
步骤S103,AMS接收到启动应用A的请求。
本申请实施例中,以应用程序B启动应用程序A为例,实际应用中,可以是系统中的任一应用程序启动应用程序A。该启动应用程序A的请求可以是通过应用程序A的任一组件启动应用A。
步骤S104,查询的克隆状态参数为第一值。
步骤S105,拦截该启动应用A的请求。
其中,在克隆状态参数为第一值时表示当前处于数据恢复阶段,可以拦截任一其他应用启动另一应用的请求。在拦截启动应用的请求后,则可以避免通过应用的四大组件启动应用。
需要说明,拦截启动应用A的请求的操作具体可以包括:
应用A的组件可以接收到其他应用发送的启动应用A的请求,应用A的组件也可以对该请求做出响应,例如,执行启动应用A。然而,应用A的组件启动应用A时,需要系统中的AMS的协助,AMS不协助应用A的组件启动应用A的过程,则应用A无法启动。因此,可以理解为AMS拦截了启动应用A的请求。
本申请实施例中,通过在数据恢复阶段拦截每个启动应用的请求,可以避免启动正在数据恢复的应用,从而降低克隆中断或失败的情况。当然,该启动应用的请求不限于为用户触发还是系统内部其他应用触发。
若用户离开数据克隆界面回到系统桌面后,用户点击应用A的图标,且应用A为正在进行数据导入的应用,则无法启动该应用程序A。在实际应用中,该情况还可以在系统桌面上,增加提示信息,例如,该提示信息可以为“该应用正在克隆中,稍后再试”。
当然,本申请实施例中,只要克隆状态参数为第一值,即使该启动请求请求启动的应用已经完成数据导入,则AMS也会拦截该请求。所以,若用户离开数据克隆界面回到系统桌面后,用户点击应用A的图标,且应用A已经完成数据导入,则也无法启动该应用程序A。在实际应用中,该情况也可以在系统桌面上,增加提示信息,例如,该提示信息可以为“该应用正在克隆中,稍后再试”。
另外,即使该启动请求请求启动的应用不再本次数据克隆的用户数据中,AMS也会拦截该请求。所以,若用户离开数据克隆界面回到系统桌面后,用户点击应用A的图标,且应用A不在本次数据克隆的用户数据中,则也无法启动该应用程序A。在实际应用中,该情况也可以在系统桌面上,增加提示信息,例如,该提示信息可以为“数据克隆中,稍后再试”。
另外,在数据克隆(数据恢复阶段)结束之后,需要恢复系统应用启动时的原生流程,不再根据克隆状态参数拦截应用的启动请求。
步骤S106,BMS向AMS发送表示克隆结束的信息。
在本申请实施例中,可以采用另一参数作为表示克隆结束的信息,也可以将BACKUP_MODE_SKIP_ALL_COMPONENTS参数为第二值时作为表示克隆结束的信息,作为示例,BACKUP_MODE_SKIP_ALL_COMPONENTS参数为3时,可以表示克隆结束。
步骤S107,AMS接收到表示克隆结束的消息后,恢复原生流程。
AMS在接收到该用于表示数据克隆过程结束的信息之后,将取消对应用的四大组件的保护,即AMS恢复原生流程启动应用程序的过程,不再查看克隆状态参数。具体可参照步骤S108至步骤S109。
步骤S108,应用程序B向AMS发送启动应用A的请求。
步骤S109,在AMS恢复原生流程后,接收到启动应用A的请求,启动应用A。
通过图5所示实施例,可以在数据恢复阶段,AMS对接收到的通过四大组件启动每个应用程序的请求均进行拦截。在全部数据恢复完成后,AMS取消该拦截,恢复原生流程。
通过该示例可以理解,在克隆状态参数为第一值时,采用本申请实施例提供的数据克隆方法,拦截启动应用程序的请求,在克隆状态参数为第二值,采用系统原生的流程,响应启动应用程序的请求。本申请实施例中,可以在首次接收到为第一值的克隆状态参数之后,启动本申请实施例提供的数据克隆方法中的拦截启动应用程序的请求。接收到为第二值的克隆状态参数之后,启动系统原生流程。
在后续实施例中,拦截的启动请求为特定应用程序的请求,具体可参照后续实施例的描述。
作为本申请另一实施例,为了不影响用户使用不在克隆的用户数据中的应用程序,还可以仅拦截对用户数据中的应用的启动请求。具体参见图6所示流程示意图。
步骤S201,在数据克隆过程中,BMS实时向AMS传输克隆状态参数。
步骤S202,AMS接收BMS实时传输的克隆状态参数,实时更新所述克隆状态参数。
步骤S203,在数据恢复阶段,BMS实时向AMS传输当前正在进行数据导入的应用程序的标识。
如前所述,该标识可以为应用的包名,还可以为应用的UID,其中,UID为由pid和appid确定。
步骤S204,AMS接收BMS实时向AMS传输的应用程序的标识,并记录。
步骤S205,AMS接收到应用程序B发送的启动应用程序A的请求。该请求中携带有应用A的标识。
步骤S206,AMS查询克隆状态参数为第一值(表示当前处于数据恢复阶段)。
步骤S207,在AMS查询到克隆状态参数为表示当前处于数据恢复阶段的参数的情况下,查询从BMS接收到并记录的应用程序的标识中包含应用A的标识。
步骤S208,拦截启动所述应用程序A的请求。
拦截该请求即应用程序B无法通过应用程序A的四大组件启动应用程序A。
当然,在本申请实施例中,若克隆结束,则AMS恢复系统原生流程后,接收到启动应用程序A的请求,则可以启动应用程序A,具体可参照上述实施例中的描述。
作为本申请另一实施例,若AMS接收到的应用的启动请求请求启动的为不属于本次克隆的用户数据中的应用程序,则AMS不拦截该请求,具体可参照步骤S209至步骤S212。
步骤S209,应用程序B向AMS发送启动应用程序D的请求,该请求携带应用程序D的标识。
步骤S210,AMS接收到该请求后,查询克隆状态参数为第一值。
克隆状态参数为第一值,表示当前处于数据恢复阶段。
步骤S211,AMS在查询克隆状态参数为第一值的情况下,继续查询应用D的标识不再记录的应用程序的标识中。
应用D的标识不再记录的应用程序的标识中,可能为以下情况:
(1)应用D属于本次克隆的用户数据中的应用程序、应用程序D本身属于新电子设备中在数据克隆之前已经存在的应用程序、并且当前还未对应用D进行数据导入过程,即使启动了应用程序D,也不会影响后续对应用D的数据导入过程。
(2)应用D不属于本次克隆的用户数据中的应用程序,则启动应用D不会影响数据克隆过程。
步骤S212,AMS启动应用程序D。
本申请实施例中,在数据导入阶段,可以阻止其他应用或系统通过四大组件启动数据克隆过程中已经完成数据导入或正在进行数据导入的应用。
该实施例中,若用户离开数据克隆界面回到系统桌面后,用户点击应用A的图标,且应用A为已经完成数据导入的应用或正在进行数据导入的应用,则无法启动该应用程序A。在实际应用中,该情况还可以在系统桌面上,增加提示信息,例如,该提示信息可以为“该应用正在克隆中,稍后再试”。
另外,若用户离开数据克隆界面回到系统桌面后,用户点击应用A的图标,且应用A不为本次克隆的用户数据中的应用程序或属于本次克隆的用户数据中的应用程序(但是还未开始数据导入),则可以启动该应用程序A。
作为本申请另一实施例,实际应用中,也可以仅阻止正在进行数据导入的应用程序的启动请求。具体可参照图7所示的流程示意图。
步骤S301,在数据克隆过程中,BMS实时向AMS传输克隆状态参数。
步骤S302,AMS接收BMS实时传输的克隆状态参数,实时更新所述克隆状态参数。
步骤S303,在数据恢复阶段,BMS实时向AMS传输当前正在进行数据导入的应用程序的标识。
步骤S304,AMS接收BMS实时向AMS传输的应用程序的标识,并更新。
本申请实施例中,若仅拦截当前正在进行数据导入的应用程序的启动请求,则可以仅存储从BMS最新接收到的应用程序的标识。
作为一个示例,当前存储的从BMS最新接收到的应用程序的标识为应用A的标识。
步骤S305,AMS接收到应用程序B发送的启动应用程序A的请求。该请求中携带有应用A的标识。
步骤S306,AMS查询克隆状态参数为第一值(表示当前处于数据恢复阶段)。
步骤S307,AMS查询从BMS接收到的最新的应用的标识和应用A的标识相同。
步骤S308,AMS确定应用A的标识和从BMS接收到的最新的应用的标识相同,则AMS拦截启动应用A的请求。
在应用程序A的数据导入完成之后,将继续导入应用D的数据。若在导入应用程序D的数据期间,接收到启动应用程序A的请求,则可以响应该请求启动应用程序A。
步骤S309,BMS实时向AMS传输当前正在进行数据导入的应用程序的标识。
步骤S310,AMS接收到BMS实时传输的应用程序的标识后,更新应用程序的标识。
本申请实施例中,该步骤更新后的应用程序的标识为应用程序D的标识。
步骤S311,应用程序B向AMS发送启动应用程序A的请求,该请求携带应用程序A的标识。
步骤S312,AMS接收到请求后,查询克隆状态参数为第一值。
步骤S313,AMS查询启动请求携带的应用A的标识和从BMS接收到的最新的应用程序的标识不相同。
步骤S314,在不相同的情况下,启动应用程序A。
通过本申请提供的上述任一实施例,在数据备份阶段,若系统中设置有原生的保护逻辑,则用户也可以离开数据克隆界面;在数据导入阶段,采用本申请实施例提供的技术方案,用户也可以离开数据克隆界面。
当然,用户离开数据克隆界面之后,可以在桌面上通过点击应用图标的方式启动应用程序。
若用户点击应用图标对应的应用为正在进行数据导入的应用,则无法启动该应用程序。在实际应用中,该情况还可以在系统桌面上,增加提示信息,例如,该提示信息可以为“该应用正在克隆中,稍后再试”。
若用户点击应用图标对应的应用为已经完成数据导入的应用,则可以启动该应用程序。
若用户点击应用图标对应的应用不为克隆的用户数据中的应用,则可以启动该应用程序。
本申请中,可以将应用程序A记为第一应用。启动第一应用的请求记为第一请求。
在一些系统中,可能在数据备份阶段,并没有系统原生的保护逻辑,则可以在数据备份阶段,提示用户不要离开当前克隆界面。在数据导入阶段,提示用户可以离开当前界面,或者在数据导入阶段,在数据克隆界面中增加控件(该控件在数据备份阶段可以为不可接收用户操作并响应的控件),用户可以通过点击该控件回到系统桌面。
具体可参照图8中的(a)所示的数据备份阶段,提示用户不要离开数据克隆页面(例如,请勿离开此页面)和图8中的(b)所示的数据恢复阶段,显示控件(例如,进入桌面控件),该控件可以接收用户的操作,电子设备通过该控件接收到用户的操作后,显示系统桌面。
本申请实施例中,可以在数据恢复阶段,拦截通过应用程序(与克隆过程相关的应用程序)的四大组件启动该应用程序的请求。而四大组件的启动、切换、调度等工作均由AMS管控。所以,可以通过AMS拦截上述启动应用程序的请求。
本申请实施例并不限于某种操作系统,例如,并不局限于安卓操作系统等;也可以应用在其他系统中,例如,可以应用在IOS操作系统,在IOS操作系统中,也需要拦截通过应用程序的组件启动该应用程序的请求。
在IOS系统中,用于启动应用程序的组件和安卓系统中用于启动应用程序的组件存在不同。作为示例,IOS系统中的UIControllerView相当于安卓系统汇总的Activity。IOS系统中的NSNotificationCenter相当于安卓系统中的Broadcast Receiver。
当然,由于不同操作系统中启动一个应用程序的机制可能存在不同,只要是在数据恢复阶段,拦截启动参与数据克隆过程中的应用(例如,正在进行输入导入的应用程序,克隆的用户数据中的应用程序,或克隆过程中新电子设备中存在的应用程序等)的请求均在本申请的保护范围内。当然,本申请实施例拦截的启动请求不限于用户的操作触发的启动请求,也不限于系统中的其他应用程序发出的启动请求。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备可实现上述各个方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到第一设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请实施例还提供了一种芯片系统,芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请任一方法实施例的步骤。芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (12)
1.一种数据克隆过程的管控方法,其特征在于,包括:
在非数据克隆过程中:
电子设备显示第一系统桌面;
所述电子设备接收第一应用的第一即时通讯消息,所述第一即时通讯消息由其他电子设备发送;
在接收到所述第一即时通讯消息后,所述电子设备在所述第一系统桌面上显示所述第一即时通讯消息的第一通知消息;
在数据克隆过程中:
所述电子设备显示第一界面,所述第一界面包括第一信息和第一控件,所述第一信息表示当前正在恢复所述第一应用,所述第一控件用于打开系统桌面;
所述电子设备接收作用在所述第一控件上的第一操作;
响应于所述第一操作,所述电子设备显示第二系统桌面;
所述电子设备接收所述第一应用的第二即时通讯消息,所述第二即时通讯消息由其他电子设备发送;
在接收到所述第二即时通讯消息后,所述电子设备不在所述第二系统桌面显示所述第二即时通讯消息的第二通知消息。
2.如权利要求1所述的方法,其特征在于,在数据克隆过程中,所述方法还包括:
所述电子设备显示第二界面,所述第二界面包括第二信息和第二控件,所述第二信息表示当前正在恢复第二应用,所述第二控件用于打开系统桌面;
所述电子设备接收作用在所述第二控件上的第二操作;
响应于所述第二操作,所述电子设备显示第三系统桌面;
所述电子设备接收所述第一应用的第三即时通讯消息,所述第三即时通讯消息由其他电子设备发送;
在接收到所述第三即时通讯消息后,所述电子设备在所述第三系统桌面显示所述第三即时通讯消息的第三通知消息。
3.如权利要求1或2所述的方法,其特征在于,在数据克隆过程中,所述方法还包括:
接收克隆状态参数,所述克隆状态参数用于表示当前数据克隆过程所在的阶段;
所述在接收到所述第一应用的即时通讯消息后,所述电子设备不显示所述第一应用的即时通讯消息,还包括:
在接收到所述第一应用的即时通讯消息后,接收到通过第一应用的组件启动所述第一应用的第一请求,所述第一请求用于启动所述第一应用后显示所述第一应用的即时通讯消息;
查询最新接收到的所述克隆状态参数;
若查询到最新接收到的所述克隆状态参数为第一值,拦截所述第一请求,所述第一值用于表示当前数据克隆过程处于数据恢复阶段。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
接收当前正在进行数据恢复的应用的标识。
5.如权利要求4所述的方法,其特征在于,所述第一请求携带所述第一应用的标识;所述若查询到最新接收到的所述克隆状态参数为第一值,拦截所述第一请求,包括:
若查询到最新接收到的所述克隆状态参数为所述第一值,确定所述第一请求携带的所述第一应用的标识和最新接收到的当前正在进行数据恢复的应用的标识是否相同;
若所述第一请求携带的所述第一应用的标识和所述最新接收到的当前正在进行数据恢复的应用的标识相同,则拦截所述第一请求。
6.如权利要求5所述的方法,其特征在于,在确定所述第一请求携带的所述第一应用的标识和最新接收到的当前正在进行数据恢复的应用的标识是否相同之后,所述方法还包括:
若所述第一请求携带的所述第一应用的标识和所述最新接收到的当前正在进行数据恢复的应用的标识不相同,则基于所述第一请求启动所述第一应用。
7.如权利要求4所述的方法,其特征在于,所述第一请求携带所述第一应用的标识;所述若查询到最新接收到的所述克隆状态参数为第一值,拦截所述第一请求,包括:
若查询到最新接收到的所述克隆状态参数为所述第一值,确定接收到的正在进行数据恢复的应用的标识中是否包括所述第一请求携带的所述第一应用的标识;
若所述接收到的正在进行数据恢复的应用的标识中包括所述第一请求携带的所述第一应用的标识,则拦截所述第一请求。
8.如权利要求7所述的方法,其特征在于,在确定接收到的正在进行数据恢复的应用的标识中是否包括所述第一请求携带的所述第一应用的标识之后,所述方法还包括:
若所述接收到的正在进行数据恢复的应用的标识中不包括所述第一请求携带的所述第一应用的标识,则基于所述第一请求启动所述第一应用。
9.如权利要求1至8任一项所述的方法,其特征在于,所述第一应用的组件包括:activity、service、content provider、broadcast receiver。
10.如权利要求3所述的方法,其特征在于,所述方法还包括:
接收到为第二值的克隆状态参数,所述第二值用于表示当前数据克隆过程结束;
接收到通过第一应用的组件启动所述第一应用的第一请求;
通过所述第一应用的组件启动所述第一应用。
11.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于运行存储器中存储的计算机程序,以使得所述电子设备实现如权利要求1至10任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储计算机程序,所述计算机程序在处理器上运行时实现如权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311602618.0A CN117827534A (zh) | 2022-06-16 | 2022-06-16 | 一种数据克隆过程的管控方法、电子设备及存储介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210679948.9A CN116048872B (zh) | 2022-06-16 | 2022-06-16 | 一种数据克隆过程的管控方法、电子设备及存储介质 |
CN202311602618.0A CN117827534A (zh) | 2022-06-16 | 2022-06-16 | 一种数据克隆过程的管控方法、电子设备及存储介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210679948.9A Division CN116048872B (zh) | 2022-06-16 | 2022-06-16 | 一种数据克隆过程的管控方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117827534A true CN117827534A (zh) | 2024-04-05 |
Family
ID=86126120
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311602618.0A Pending CN117827534A (zh) | 2022-06-16 | 2022-06-16 | 一种数据克隆过程的管控方法、电子设备及存储介质 |
CN202210679948.9A Active CN116048872B (zh) | 2022-06-16 | 2022-06-16 | 一种数据克隆过程的管控方法、电子设备及存储介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210679948.9A Active CN116048872B (zh) | 2022-06-16 | 2022-06-16 | 一种数据克隆过程的管控方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN117827534A (zh) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2412190B (en) * | 2004-03-17 | 2007-03-28 | Ibm | A recovery framework |
GB0410150D0 (en) * | 2004-05-07 | 2004-06-09 | Ibm | Methods,apparatus and computer programs for recovery from failures in a computing environment |
US8375244B2 (en) * | 2007-12-28 | 2013-02-12 | International Business Machines Corporation | Managing processing of a computing environment during failures of the environment |
US8332842B2 (en) * | 2008-11-14 | 2012-12-11 | International Business Machines Corporation | Application restore points |
CN102063350A (zh) * | 2011-02-15 | 2011-05-18 | 宇龙计算机通信科技(深圳)有限公司 | 备份与恢复的方法、装置和终端 |
US9465696B2 (en) * | 2011-06-03 | 2016-10-11 | Apple Inc. | Methods and apparatus for multi-phase multi-source backup |
WO2014089734A1 (zh) * | 2012-12-10 | 2014-06-19 | 东莞宇龙通信科技有限公司 | 终端和应用程序恢复方法 |
CN105955803A (zh) * | 2016-04-22 | 2016-09-21 | 上海斐讯数据通信技术有限公司 | 一种恢复应用程序状态的终端和方法 |
CN110083493A (zh) * | 2018-01-25 | 2019-08-02 | 厦门雅迅网络股份有限公司 | 一种嵌入式系统故障自恢复方法、终端设备及存储介质 |
US10802920B2 (en) * | 2018-04-18 | 2020-10-13 | Pivotal Software, Inc. | Backup and restore validation |
CN110362418B (zh) * | 2019-07-09 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 一种异常数据恢复方法、装置、服务器及存储介质 |
-
2022
- 2022-06-16 CN CN202311602618.0A patent/CN117827534A/zh active Pending
- 2022-06-16 CN CN202210679948.9A patent/CN116048872B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN116048872A (zh) | 2023-05-02 |
CN116048872B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402835B (zh) | 应用程序的异常处理方法、装置及存储介质和移动终端 | |
CN106406940B (zh) | 系统升级方法、装置及终端 | |
CN105763723A (zh) | 移动终端和系统升级方法 | |
US20120015642A1 (en) | Firmware update method for mobile terminal and mobile terminal using the same | |
CN107770759B (zh) | 蓝牙语音链路的建立方法、装置、存储介质及移动终端 | |
CN112055424A (zh) | 电子装置以及切换电子装置的方法 | |
EP4109864A1 (en) | Application display continuation method and device | |
CN108090345B (zh) | linux系统外部命令执行方法及装置 | |
CN107423064B (zh) | 消息处理方法、装置、终端设备及存储介质 | |
CN100541384C (zh) | 使用无线通信终端提供抗病毒程序的系统和方法 | |
EP4220366A1 (en) | Application starting method, electronic device, and readable storage medium | |
CN111399874A (zh) | 一种系统升级方法、装置、存储介质及智能穿戴设备 | |
CN112805988B (zh) | 通话控制方法和装置、计算机可读存储介质、电子设备 | |
CN105204891B (zh) | 移动终端关机时的下载方法、装置及移动终端 | |
EP3553650B1 (en) | Multimedia data playback method and terminal device | |
CN116048872B (zh) | 一种数据克隆过程的管控方法、电子设备及存储介质 | |
CN115858046B (zh) | 一种预加载内存页的方法、电子设备及芯片系统 | |
WO2020052354A1 (zh) | 游戏加载方法及相关产品 | |
CN105657691A (zh) | 移动终端及其双芯片系统的数据共享方法 | |
US20230274036A1 (en) | Data reading method, storage medium, and mobile terminal | |
US20090240842A1 (en) | Portable electronic apparatus | |
CN105681091A (zh) | 升级装置和升级方法 | |
CN115543470B (zh) | 应用启动方法、电子设备及可读存储介质 | |
EP4276622A1 (en) | Task scheduling method, electronic device, chip system, and storage medium | |
CN115562742B (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 |