CN117544612A - 一种跨端迁移的方法及相关装置 - Google Patents
一种跨端迁移的方法及相关装置 Download PDFInfo
- Publication number
- CN117544612A CN117544612A CN202210922171.4A CN202210922171A CN117544612A CN 117544612 A CN117544612 A CN 117544612A CN 202210922171 A CN202210922171 A CN 202210922171A CN 117544612 A CN117544612 A CN 117544612A
- Authority
- CN
- China
- Prior art keywords
- data
- electronic device
- application
- page
- distributed object
- 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
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000005012 migration Effects 0.000 title claims abstract description 81
- 238000013508 migration Methods 0.000 title claims abstract description 81
- 238000004590 computer program Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 8
- 238000011161 development Methods 0.000 abstract description 19
- 230000008569 process Effects 0.000 abstract description 12
- 238000004806 packaging method and process Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 26
- 238000007726 management method Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 238000010295 mobile communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
提供了一种跨端迁移的方法及相关装置,涉及终端技术领域,应用于第一电子设备,该方法包括:获取应用页面的数据,该数据包括复杂数据类型的数据,该应用页面为在第一电子设备的前台打开的应用的页面,该应用支持跨端迁移;将应用页面的数据封装在分布式对象中;基于与第二电子设备之间用于跨端迁移的通道,向第二电子设备发送该分布式对象。由于将应用的页面数据封装到支持复杂数据类型的分布式对象中发送给第二电子设备,第一电子设备无需对复杂数据类型的数据拆分,在开发过程中,程序员也不需要编写大量的代码,可以提高开发效率,由于两端的电子设备在进行跨端迁移时也不需要运行大量的代码,因此还可以提高迁移效率。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种跨端迁移的方法及相关装置。
背景技术
随着终端技术的发展,分布式场景越来越受被重视,例如跨端迁移等功能可以为用户带来全新的交互体验。跨端迁移,也就是,将当前运行在电子设备A上的应用的页面的数据迁移到电子设备B上,并使得用户能够在电子设备B上接着进行之前的操作。
目前已知的一种跨端迁移的方法,如果电子设备A上的应用的页面的数据是复杂数据类型的数据,则电子设备A需要这些复杂数据类型的数据拆分为基本数据类型的数据,再将拆分成的基本数据类型的数据记录在字典中发送给电子设备B,电子设备B需要从字典中解析出被拆分为基本数据类型的数据,再将这些基本数据类型的数据重新组合成所需要的数据类型的数据,再基于重新组合后的数据将应用的页面恢复到与迁移前一致。上述跨端迁移的方法,在开发过程中,程序员需要编写大量的代码,开发效率比较低。
发明内容
本申请提供了一种跨端迁移的方法及相关装置,以期提高开发效率。
第一方面,本申请提供一种跨端迁移的方法,该方法可以由第一电子设备来执行,该第一电子设备可以是发起跨端迁移的设备,或者,该方法也可以由配置在第一电子设备中的部件(如芯片、芯片系统等)执行,或者,还可以由能够实现全部或部分第一电子设备功能的逻辑模块或软件实现,本申请对此不作限定。
示例性地,该方法包括:获取应用页面的数据,该数据包括复杂数据类型的数据,该应用页面为在第一电子设备的前台打开的应用的页面,应用支持跨端迁移;将该数据封装在分布式对象中;基于与第二电子设备之间用于跨端迁移的通道,向第二电子设备发送分布式对象。
基于上述方案,由于第一电子设备将应用的页面数据封装到支持复杂数据类型的分布式对象中发送给第二电子设备,无需对复杂数据类型的数据拆分。在开发过程中,程序员不需要编写大量的代码来对复杂数据类型的数据进行拆分,可以提高开发效率;由于第一电子设备在进行跨端迁移时也不需要运行大量的代码,因此还可以提高迁移效率。
结合第一方面,在某些可能的实现方式中,在向第二电子设备发送分布式对象之前,该方法还包括:与第二电子设备建立用于跨端迁移的通道;基于该通道,向第二电子设备发送页面栈和用于生成应用页面中的控件的数据。
也就是说,控件中的数据和/或内存对象可以独立于用于生成应用页面中的控件的数据和页面栈进行传输,从而可以避免页面栈、用于生成应用页面中的控件的数据、控件中的数据和/或内存对象的一起传输时,可能出现数据量超过单次最大传输阈值,造成的传输速度慢的问题。
第二方面,本申请提供一种跨端迁移的方法,该方法可以由第二电子设备来执行,该第一电子设备可以是应用页面的数据迁移到的设备,或者,该方法也可以由配置在第二电子设备中的部件(如芯片、芯片系统等)执行,或者,还可以由能够实现全部或部分第二电子设备功能的逻辑模块或软件实现,本申请对此不作限定。
示例性地,该方法包括:基于与第一电子设备之间用于跨端迁移的通道,接收来自第一电子设备的分布式对象,该分布式对象中封装有应用页面的数据,该应用页面的数据为在第一电子设备的前台打开的应用的数据,该数据包括复杂数据类型的数据,该应用支持跨端迁移;对该分布式对象解封装,得到该应用页面的数据;基于该应用页面的数据,显示该应用页面。
基于上述方案,由于第二电子设备从第一电子设备接收支持封装复杂数据类型的分布式对象,第二电子设备无需对被拆分成基本数据类型的数据再重新组合为所需要的复杂数据类型的数据。在开发过程中,程序员也不需要编写大量的代码来将那些被拆分成基本数据类型的数据重新组合成所需要的复杂数据类型的数据,可以提高开发效率;由此一来,第二电子设备在进行跨端迁移时也不需要运行大量的代码,还可以提高迁移效率。
结合第一方面,在某些可能的实现方式中,在接收来自第一电子设备的分布式对象之前,该方法还包括:与第一电子设备建立用于跨端迁移的通道;基于该通道,接收来自第一电子设备的页面栈和用于生成应用页面中的控件的数据。
也就是说,控件中的数据和/或内存对象可以独立于用于生成应用页面中的控件的数据和页面栈进行传输,从而可以避免页面栈、用于生成应用页面中的控件的数据、控件中的数据和/或内存对象的一起传输,数据量超过单次最大传输阈值时,借助云端传输造成的传输速度慢的问题。
结合第一方面和第二方面,在某些可能的实现方式中,该数据包括应用页面的控件中的数据和/或内存对象,控件中的数据和内存对象是响应于用户在应用页面的操作产生的。
结合第一方面和第二方面,在某些可能的实现方式中,用于封装控件中的数据的分布式对象和用于封装内存对象的分布式对象为同一个分布式对象,或不同的分布式对象。
第三方面,本申请提供了一种电子设备,该电子设备可以用于实现上述第一方面及第一方面任意一种可能实现方式中的方法,或者,可以用于实现上述第二方面及第二方面任意一种可能实现方式中的方法。该电子设备包括用于执行上述方法的相应的模块。该电子设备包括的模块可以通过软件和/或硬件方式实现。
第四方面,本申请提供一种电子设备,该电子设备至少包括一个处理器和至少一个通信接口。该处理器与通信接口耦合,可用于执行计算机程序,以实现第一方面以及第一方面中任一种可能实现方式中的跨端迁移的方法,或者,以实现第二方面以及第二方面中任一种可能实现方式中的跨端迁移的方法。
可选地,该电子设备还包括存储器,处理器与存储器耦合。
第五方面,本申请提供了一种芯片系统,该芯片系统包括至少一个处理器,用于支持实现上述第一方面以及第一方面任一种可能实现方式所涉及的功能,或者,用于支持实现上述第二方面以及第二方面任一种可能实现方式中所涉及的功能,例如,接收或处理上述方法中所涉及的数据和/或分布式对象等。
在一种可能的设计中,该芯片系统还包括存储器,存储器用于保存程序指令和数据,存储器位于处理器之内或处理器之外。
该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
第六方面,提供了一种计算机可读存储介质,所述计算机存储介质上存储有计算机程序(也可以称为代码,或指令),当所述计算机程序在被计算机运行时,使得上述第一方面以及第一方面中任一种可能实现方式中的方法被执行,或者,使得上述第二方面以及第二方面中任一种可能实现方式中的方法被执行。
第七方面,提供了一种计算机程序产品。所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得上述第一方面以及第一方面中任一种可能实现方式中的方法被执行,或者,使得上述第二方面以及第二方面中任一种可能实现方式中的方法被执行。
应当理解的是,本申请的第三方面至第七方面与本申请的第一方面和第二方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1是适用于本申请实施例提供的跨端迁移的方法的电子设备的结构示意图;
图2是本申请实施例提供的跨端迁移的方法的电子设备的软件的结构示意框图;
图3为适用于本申请实施例提供的跨端迁移的方法的一种场景示意图;
图4是本申请实施例提供的跨端迁移的方法的示意性流程图;
图5是本申请实施例提供的跨端迁移的方法的另一示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为便于清楚描述本申请实施例的技术方案,首先做出如下说明。
第一,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一电子设备和第二电子设备仅仅是为了区分不同的电子设备,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和位置进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
第二,在本申请实施例中,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列模组、模块或单元的装置、系统、产品或设备不必限于清楚地列出的那些模组、模块或单元,而是可包括没有清楚地列出的或对于这些装置、系统、产品或设备固有的其它模组、模块或单元。
本申请实施例提供的方法可以应用于手机、平板电脑、智能手表、可穿戴设备、车载设备、笔记本电脑、个人计算机(personal computer,PC)、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)、分布式设备等电子设备上。本申请实施例对电子设备的具体类型不作任何限定。
此外,本申请实施例中所述的方法可以支持Linux、安卓操作系统(Androidoperating system,Android OS)、鸿蒙操作系统(Harmony OS)、Mac、iOS、视窗操作系统(Windows OS)和轻量级操作系统(如LiteOS)等操作环境。本申请实施例对此不作任何限定。
示例性地,图1示出了电子设备100的结构示意图。如图1所示,该电子设备100可以包括处理器110、外部存储器接口120、内部存储器121、通用串行总线(universal serialbus,USB)接口130、充电管理模块140、电源管理模块141、电池142、天线1、天线2、移动通信模块150、无线通信模块160、音频模块170、扬声器170A、受话器170B、麦克风170C、耳机接口170D、传感器模块180、按键190、马达191、指示器192、摄像头193、显示屏194、以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A、陀螺仪传感器180B、气压传感器180C、磁传感器180D、加速度传感器180E、距离传感器180F、接近光传感器180G、指纹传感器180H、温度传感器180J、触摸传感器180K、环境光传感器180L和骨传导传感器180M等。
可以理解的是,本申请示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processingunit,GPU)、图像信号处理器(image signal processor,ISP)、控制器、存储器、视频编解码器、数字信号处理器(digital signal processor,DSP)、基带处理器及神经网络处理器(neural-network processing unit,NPU)等中的一个或多个。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,应用处理器通过音频模块170(如扬声器170A等)输出声音信号,或通过显示屏194显示图像或视频。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
处理器110可以通过执行指令,执行不同的操作,以实现不同的功能。该指令例如可以是设备出厂前预先保存在存储器中的指令,也可以是用户在使用过程中安装新的应用(application,APP)之后从APP中读取到的指令,本申请实施例对此不作任何限定。
在一些实施例中,处理器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)接口、SIM接口和/或USB接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。可以理解的是,本申请示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙,全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信(near field communication,NFC)技术,红外(infrared,IR)技术等无线通信的解决方案。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wide band code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),第五代(5th generation,5G)通信系统,BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(globalpositioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(BeiDou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite basedaugmentation systems,SBAS)。
电子设备100可以通过GPU、显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194,也可以称为屏幕,可用于显示图像、视频等。显示屏194可包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED)、柔性发光二极管(flexlight-emitting diode,FLED),迷你LED(Mini LED)、微Led(Micro LED)、微OLED(Micro-OLED)、量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括一个或多个显示屏194。
应理解,显示屏194还可以包括更多的组件。例如,背光板、驱动电路等。其中,背光板可用于提供光源,显示面板基于背光板提供的光源而发光。驱动电路可用于控制液晶层的液晶透光或不透光。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放、录音等。
可以理解的是,本申请示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
电子设备100的软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构。本申请以分层架构的Harmony OS为例,示例性说明电子设备100的软件结构。其中,本申请对电子设备的操作系统的类型不做限定。
图2是适用于本申请实施例提供的跨端迁移的方法的一种电子设备的软件的结构框图。
如图2所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Harmony OS分为四层,从上至下分别为应用层、框架层、系统服务层,以及内核层。
应用层可以包括一系列应用程序。如图2所示,应用程序层可以包括系统应用和第三方应用。系统应用可以理解为系统自带的一些应用,例如相机、图库、日历、通话、地图、蓝牙、视频和音乐等应用程序。第三方应用可以理解为非系统应用,可以从应用商店等下载安装的应用。
框架层可以包括用户界面(user interface,UI)框架、用户程序框架和能力(Ability)框架。框架层为Harmony OS的应用程序提供了Java语言、C语言、C++语言、JavaScript(JS)语言等多语言的用户程序框架和Ability框架,以及各种软硬件服务对外开放的多语言框架应用程序界面(application Program Interface,API);同时为采用Harmony OS的设备提供了C语言、C++语言、JS语言等多语言的UI框架,不同设备支持的API与系统的组件化裁剪程度相关。
系统服务层可以包括系统基本能力子系统集、基础软件服务子系统集、增强软件服务子系统集和硬件服务子系统集。系统服务层是Harmony OS的核心能力集合,通过框架层为应用程序提供服务。
其中,系统基本能力子系统集可以由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、人工智能(artificialintelligence,AI)等子系统组成,系统基本能力子系统集可以为分布式应用在Harmony OS多设备上的运行、调度、迁移等操作提供基础能力,例如,在本申请实施例中,分布式软总线和分布式数据管理可以为跨端迁移提供基础能力。
方舟运行时可以提供C语言、C++语言、JS语言多语言运行时和基础的系统类库,也为使用方舟编译器静态化的Java程序(即应用程序或框架层中使用Java语言开发的部分)提供运行时。
基础软件服务子系统集可以由事件通知、电话、多媒体等子系统组成,可以为Harmony OS提供公共的、通用的软件服务。
增强软件服务子系统集可以由智慧屏专有业务、穿戴专有业务、物联网(internetof things,IoT)专有业务等子系统组成,可以为Harmony OS提供针对不同设备的、差异化的能力增强型软件服务。
硬件服务子系统集可以由位置服务、生物特征识别、穿戴专有硬件服务、IoT专有硬件服务等子系统组成,可以为Harmony OS提供硬件服务。
需要说明的是,根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集和硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪。本申请实施例对此不作任何限定。
在本申请实施例中,如图2所示,应用基本能力子系统可以包括分布式软总线和分布式数据管理,以使得电子设备具有能实现本申请提供的跨端迁移的方法的能力。
内核层可以包括内核子系统和驱动子系统。Harmony OS采用多内核设计,基于内核子系统,Harmony OS支持针对不同资源受限设备选用适合的OS内核;内核抽象层(kernelabstract layer,KAL)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程管理/线程管理、内存管理、文件系统、网络管理和外设管理等。驱动子系统中的驱动框架是Harmony OS硬件生态开放的基础,可以提供统一外设访问能力和驱动开发、管理框架。
应理解,图1和图2仅为示例,不应对本申请实施例产生任何限定。
为了便于理解,首先对本申请中涉及到的术语作简单说明。
1、基本数据类型:包括整型、浮点型、逻辑型和字符型。整型例如包括字节“byte”、短整型“short”、默认整型“int”和长整型“long”;浮点型例如包括单精度浮点型“float”和双精度浮点型“double”;逻辑型例如包括布尔型“boolean”;字符型例如包括字符型“char”和字符串型“string”。
2、复杂数据类型:复杂数据类型通常是其他现有数据类型的组合。复杂数据类型例如包括结构体“struct”、数组、类“class”、以及自定义的数据类型。
3、页面栈:页面栈是以栈的形式维护页面与页面之间的关系。
4、内存对象:可以指应用的内存中的数据。
5、控件:还可以称为UI控件或组件。UI控件是指操作系统界面的单位元件。常见的UI控件可以包括提示类控件、加载类控件、网络异常类控件、引导类控件、导航类控件、空数据类控件和操作类控件等。
例如,文本标签控件“UILabel”的作用是显示一串固定的文字;按钮控件“UIButton”的作用是监听用户的点击事件,在用户点击后做出响应;分页控件“UIPageControl”的作用是能显示当前的页码;网页显示控件“UIWebView”一般用来显示网页,使用该控件就可以在手机上浏览网页;选项卡控件“UISegmentControl”的作用是在固定的几个选项之间进行选择;选择器控件“UIPickerView”的作用是在多行数据之间只选择一行;文本输入框控件“UITextField”的作用是可以弹出键盘,让用户输入文本内容;进度条控件“UIProgressView”作用是显示进度,比如显示文件的下载进度、程序的启动进度、视频或音频的播放进度等;滑块控件“UISlider”的作用是在两个数值之间滑动选择,比如调节音量大小、调节亮度大小、调节对比度大小等。
图3为适用于本申请实施例提供的跨端迁移的方法的一种场景示意图。如图3所示,起初用户在第一电子设备上的应用页面上操作,当用户想要在第二电子设备上继续当前的操作时,用户可以在第一电子设备上向第二电子设备发起跨端迁移,将当前运行在第一电子设备上的应用的页面的数据迁移到第二电子设备上,从而用户能够在第二电子设备上接着进行之前的操作。
如果第一电子设备上的应用的页面的数据是复杂数据类型的数据,目前已知的一种跨端迁移的方法是,第一电子设备将这些复杂数据类型的数据拆分为基本数据类型的数据,再将拆分成的基本数据类型的数据记录在字典中发送给第二电子设备,第二电子设备需要从字典中解析出被拆分为基本数据类型的数据,再将这些基本数据类型的数据重新组合成所需要的数据类型的数据,再基于重新组合后的数据将应用的页面恢复到与迁移前一致。上述跨端迁移的方法,实现方式复杂,在开发过程中,程序员需要编写大量的代码,开发效率比较低,两端的设备在进行跨端迁移时也需要运行大量的代码,导致迁移效率也比较低。
基于上述问题,本申请实施例提供一种跨端迁移的方法及相关装置,第一电子设备通过将应用的页面数据封装到支持复杂数据类型的分布式对象中发送给第二电子设备,无需对复杂数据类型的数据拆分,在开发过程中,程序员也不需要编写大量的代码,可以提高开发效率;由于两端的电子设备在进行跨端迁移时也不需要运行大量的代码,因此还可以提高迁移效率。
图4是本申请实施例提供的一种跨端迁移的方法的示意性流程图。
图4从第一电子设备和第二电子设备交互的角度示出了本申请提供的跨端迁移的方法。该第一电子设备可以是发起跨端迁移的设备,该第二电子设备可以是应用页面的数据迁移到的设备。或者,该方法也可以由配置在第一电子设备和第二电子设备中的部件(如芯片、芯片系统等)执行,或者,还可以由能够实现全部或部分第一电子设备和第二电子设备功能的逻辑模块或软件实现,本申请对此不作限定。如图4所示,该方法400可以包括步骤410至步骤450。下面对图4中的各步骤做详细说明。
在步骤410中,第一电子设备获取应用页面的数据。
其中,应用页面的数据包括复杂数据类型的数据,应用页面为在第一电子设备的前台打开的应用的页面,该应用支持跨端迁移。
以下以俄罗斯方块游戏作为上述应用的一例进行说明。用户在第一电子设备上玩俄罗斯方块游戏,也就是说,俄罗斯方块游戏的应用页面正在第一电子设备的前台显示,这时,用户在第一电子设备上发起了跨端迁移,则第一电子设备可以获取俄罗斯方块游戏当前正在显示的页面的数据。
需要说明的是,应用页面的数据还可以包括基本数据类型的数据,本申请实施例对此不作任何限定。
在一种可能的实现方式中,在向第二电子设备发送分布式对象之前,方法400还包括:与第二电子设备建立用于跨端迁移的通道;基于该用于跨端迁移的通道,向第二电子设备发送页面栈和用于生成应用页面中的控件的数据。相应地,第二电子设备可以与第一电子设备建立该通道;基于该通道,接收来自第一电子设备的页面栈和用于生成应用页面中的控件的数据。
作为示例而非限定,可以基于鸿蒙操作系统的分布式软总线,与第二电子设备建立用于跨端迁移的通道,进而再向第二电子设备发送页面栈和用于生成应用页面中的控件的数据。也可以基于蓝牙、近场通信(near field communication,NFC)、Wi-Fi直连等与第二电子设备建立用于跨端迁移的通道。本申请实施例对此不作任何限定。
在第一电子设备与第二电子设备之间建立了用于跨端迁移的通道后,第一电子设备和第二电子设备之间便可以进行数据传输,例如,第一电子设备可以基于该通道将页面栈和用于生成应用页面中的控件的数据发送给第二电子设备。
可以理解的是,基于页面栈可以知道页面之前的前后关系,也即基于页面栈可以从当前页面返回到前一个页面,也可以进入当前页面的下一个页面。
可选地,应用页面的数据包括应用页面的控件中的数据和/或内存对象,控件中的数据和内存对象是响应于用户在应用页面的操作产生的。
应用页面的数据可以包括应用页面的控件中的数据,或者,内存对象,或者,应用页面的控件中的数据和内存对象,本申请对此不作任何限定。需要说明的是,控件中的数据是指可以直接影响应用页面的显示的数据,而内存对象可以是中间状态的数据,可能不直接影响应用界面的显示。
可以理解的是,文本输入框控件“UITextField”中的数据可以是响应于用户的输入操作,生成的用户输入的数据;选项卡控件“UISegmentControl”中的数据可以是响应于用户的选择,确定出的用户选择的数据项;选择器控件“UIPickerView”中的数据可以是响应于用户在多行数据之间的选择,确定出的用户选择的一行数据。
以俄罗斯方块游戏作为上述应用的一例,内存对象可以是,响应于用户的操作而在当前的应用页面上呈现的俄罗斯方块的形状、颜色和位置。
在这种实现方式中,如图5所示,跨端迁移可以包括跨端启动和数据迁移。跨端启动就是第一电子设备启动第二电子设备上的应用,数据迁移也就是数据传输。用于生成应用页面中的控件的数据为基本数据类型的数据,这些数据和页面栈可以一起随着跨端启动,从第一电子设备传输到第二电子设备,而控件中的数据和内存对象这些包括复杂数据类型的数据,可以在跨端启动之后,发送给第二电子设备。也就是说,控件中的数据和/或内存对象可以独立于用于生成应用页面中的控件的数据和页面栈进行传输。由此一来,可以避免页面栈、用于生成应用页面中的控件的数据、控件中的数据和/或内存对象的一起传输,数据量超过单次最大传输阈值的问题。当数据量超过单次最大传输阈值时,需要借助云端传输,速度很慢。
在步骤420中,第一电子设备将数据封装在分布式对象中。
该分布式对象支持复杂数据类型,因此第一电子设备可以将包括复杂数据类型的数据封装在分布式对象中。
分布式对象本质上也就是JS对象型的封装。基于分布式数据库,可以为每个支持跨端迁移的应用的数据对象定义一个分布式内存数据库,通过对象标识(例如“ObjectID”)和应用签名标识来标识不同应用的分布式内存数据库。在分布式对象实例化的时候,遍历对象的所有属性,开发人员可以使用“Object.defineProperty”方法来定义对象的所有属性的“set”方法和“get”方法,“set”方法和“get”方法分别对应分布式内存数据库中对一条记录的“put”和“get”操作。也就是说,在开发人员对分布式对象进行“读取”时,就会相应地自动调用到“get”方法,并映射到对应的分布式内存数据库的操作;在开发人员对分布式对象进行“赋值”时,就会相应地自动调用到“set”方法,并映射到对应的分布式内存数据库的操作。
区别于目前已知的跨端迁移方法,第一电子设备不需要无需对复杂数据类型的数据进行拆分后,将拆分成基本数据类型的数据放到字典中,而是直接将复杂数据类型的数据封装到分布式对象中,由此一来,将复杂的实现过程简单化,在开发过程中,程序员也不需要编写大量的代码,两端的设备在进行跨端迁移时也不需要运行大量的代码,从而可以提高开发效率和迁移效率。
可以理解的是,用于封装控件中的数据的分布式对象和用于封装内存对象的分布式对象为同一个分布式对象,或不同的分布式对象。
可选地,用于封装控件中的数据的分布式对象和用于封装内存对象的分布式对象为同一个分布式对象。也就是说,第一电子设备可以将控件中的数据和内存对象封装在一个分布式对象中,这样一来,可以将控件中的数据和内存对象同时发送给第二电子设备。
可选地,用于封装控件中的数据的分布式对象和用于封装内存对象的分布式对象为同不同的分布式对象。也就是说,第一电子设备可以将控件中的数据封装在一个分布式对象中,将内存对象封装在另一个分布式对象中,这两个分布式对象不是同一个分布式对象,这样一来,可以将控件中的数据和内存对象同时发送给第二电子设备,也可以一前一后地将控件中的数据和内存对象发送给第二电子设备,例如,可以先将封装有控件中的数据的分布式对象发送出去,再将封装有内存对象的分布式对象发送出去;也可以先将封装有内存对象的分布式对象发送出去,再将封装有控件中的数据的分布式对象发送出去,本申请实施例对此不作任何限定。
在步骤430中,第一电子设备基于与第二电子设备之间用于跨端迁移的通道,向第二电子设备发送分布式对象。相应地,第二电子设备基于与第一电子设备之间用于跨端迁移的通道,接收来自第一电子设备的分布式对象。
如前文所述,第一电子设备可以基于鸿蒙操作系统的分布式软总线与第二电子设备建立用于跨端迁移的通道,也可以基于蓝牙、NFC、Wi-Fi直连等与第二电子设备建立用于跨端迁移的通道。第一电子设备可以利用该通道,向第二电子设备发送分布式对象,第二电子设备可以基于该通道,接收来自第一电子设备的分布式对象。
在步骤440中,第二电子设备对分布式对象解封装,得到应用页面的数据。
也就是说,第二电子设备在接收到来自第一电子设备的分布式对象后,第二电子设备可以对分布式对象进行解封装,从分布式对象中解析出应用页面的数据,也即,只需要对分布式对象解封装,便可以得到复杂数据类型的数据,而不需要对被拆分成基本数据列类型的数据重新进行组合,再得到需要的复杂数据类型的数据。
在步骤450中,第二电子设备基于应用页面的数据,显示应用页面。
在得到了应用页面的数据后,第二电子设备便可以基于这些数据,显示出与第一电子设备的前台打开的应用的页面一致的应用页面。
在这种情况下,第二电子设备可以基于接收到的页面栈、用于封装控件中的数据、控件中的数据和/或内存对象,以支持用户在第二电子设备上继续进行操作,来响应于用户的下一步操作或返回上一步的操作。
基于上述方案,由于第一电子设备将应用的页面数据封装到支持复杂数据类型的分布式对象中发送给第二电子设备,第一电子设备无需对复杂数据类型的数据拆分,第二电子设备也无需对被拆分成基本数据类型的数据再重新组合为所需要的复杂数据类型的数据。在开发过程中,程序员也不需要编写大量的代码来对复杂数据类型的数据进行拆分,也不需要编写大量的代码来将那些被拆分成基本数据类型的数据重新组合成所需要的复杂数据类型的数据,可以提高开发效率;由于两端的电子设备在进行跨端迁移时也不需要运行大量的代码,因此还可以提高迁移效率。另外,控件中的数据和/或内存对象可以独立于用于生成应用页面中的控件的数据和页面栈进行传输,从而可以避免页面栈、用于生成应用页面中的控件的数据、控件中的数据和/或内存对象的一起传输时,数据量超过单次最大传输阈值,造成的传输速度慢的问题。
可以理解的是,相对于已知的跨端迁移方案只支持基本数据类型的数据迁移的实现方式,其可适用的场景和应用较少。本申请实施例提供的跨端迁移的方法可以支持复杂数据类型的数据迁移,能够适用更多的场景和应用。
本申请实施例还提供了一种电子设备,该电子设备包括用于执行上述图4或图5中第一电子设备或第二电子设备所执行的步骤的相应的模块。该电子设备可以用于实现上述图4或图5中第一电子设备的功能,或者,可以用于实现上述图4或图5中第二电子设备的功能。该电子设备包括的模块可以通过软件和/或硬件方式实现。
本申请实施例还提供一种电子设备,该电子设备包括存储器和处理器,其中,存储器用于存储计算机程序,处理器用于调用并执行计算机程序,以使得该电子设备执行上述图4或图5中第一电子设备所执行的步骤,或者,以使得该电子设备执行上述图4或图5中第二电子设备所执行的步骤。
本申请还提供了一种芯片系统,所述芯片系统包括至少一个处理器,用于实现上述图4或图5所示实施例中第一电子设备或第二电子设备所执行的步骤中所涉及的功能。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存程序指令和数据,存储器位于处理器之内或处理器之外。
该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序被计算机执行时,使得该计算机执行上述图4或图5中第一电子设备所执行的步骤,和/或,以使得该计算机执行上述图4或图5中第二电子设备所执行的步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序,当该计算机程序被运行时,使得计算机执行上述图4或图5中第一电子设备所执行的步骤,和/或,以使得该计算机执行上述图4或图5中第二电子设备所执行的步骤。
应理解,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本说明书中使用的术语“单元”、“模块”等,可用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上单元集成在一个模块中。
在上述实施例中,各功能模块的功能可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令(程序)。在计算机上加载和执行所述计算机程序指令(程序)时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种跨端迁移的方法,其特征在于,应用于第一电子设备,所述方法包括:
获取应用页面的数据,所述数据包括复杂数据类型的数据,所述应用页面为在所述第一电子设备的前台打开的应用的页面,所述应用支持跨端迁移;
将所述数据封装在分布式对象中;
基于与第二电子设备之间用于跨端迁移的通道,向所述第二电子设备发送所述分布式对象。
2.如权利要求1所述的方法,其特征在于,所述数据包括所述应用页面的控件中的数据和/或内存对象,所述控件中的数据和所述内存对象是响应于用户在所述应用页面的操作产生的。
3.如权利要求2所述的方法,其特征在于,用于封装所述控件中的数据的分布式对象和用于封装所述内存对象的分布式对象为同一个分布式对象,或不同的分布式对象。
4.如权利要求1至3中任一项所述的方法,其特征在于,在所述向所述第二电子设备发送所述分布式对象之前,所述方法还包括:
与所述第二电子设备建立所述通道;
基于所述通道,向所述第二电子设备发送页面栈和用于生成所述应用页面中的控件的数据。
5.一种跨端迁移的方法,其特征在于,应用于第二电子设备,所述方法包括:
基于与第一电子设备之间用于跨端迁移的通道,接收来自所述第一电子设备的分布式对象,所述分布式对象中封装有应用页面的数据,所述应用页面的数据为在所述第一电子设备的前台打开的应用的数据,所述数据包括复杂数据类型的数据,所述应用支持跨端迁移;
对所述分布式对象解封装,得到所述应用页面的数据;
基于所述应用页面的数据,显示所述应用页面。
6.如权利要求5所述的方法,其特征在于,所述数据包括所述应用页面的控件中的数据和/或内存对象,所述控件中的数据和所述内存对象是响应于用户在所述应用页面的操作产生的。
7.如权利要求6所述的方法,其特征在于,用于封装所述控件中的数据的分布式对象和用于封装所述内存对象的分布式对象为同一个分布式对象,或不同的分布式对象。
8.如权利要求5至7中任一项所述的方法,其特征在于,在所述接收来自第一电子设备的分布式对象之前,所述方法还包括:
与所述第一电子设备建立所述通道;
基于所述通道,接收来自所述第一电子设备的页面栈和用于生成所述应用页面中的控件的数据。
9.一种电子设备,其特征在于,包括存储器和处理器;其中,
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述计算机程序,以使得所述电子设备执行权利要求1至4中任一项所述的方法,或者,以使得所述电子设备执行权利要求5至8中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机执行时,使得所述计算机执行如权利要求1至4中任一项所述的方法,或,使得所述计算机执行如权利要求5至8中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1至4中任一项所述的方法,或,使得计算机执行如权利要求5至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210922171.4A CN117544612A (zh) | 2022-08-02 | 2022-08-02 | 一种跨端迁移的方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210922171.4A CN117544612A (zh) | 2022-08-02 | 2022-08-02 | 一种跨端迁移的方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117544612A true CN117544612A (zh) | 2024-02-09 |
Family
ID=89794485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210922171.4A Pending CN117544612A (zh) | 2022-08-02 | 2022-08-02 | 一种跨端迁移的方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117544612A (zh) |
-
2022
- 2022-08-02 CN CN202210922171.4A patent/CN117544612A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4002108B1 (en) | Application start method and electronic device | |
WO2020108356A1 (zh) | 一种应用显示方法及电子设备 | |
WO2021027630A1 (zh) | 补丁方法、相关装置及系统 | |
CN117667277A (zh) | 一种用户界面显示方法及相关装置 | |
WO2022253158A1 (zh) | 一种用户隐私保护方法及装置 | |
CN115686659A (zh) | 快应用处理方法、电子设备与快应用系统 | |
CN116136826A (zh) | 内存访问方法、芯片、电子设备及计算机可读存储介质 | |
CN116483734B (zh) | 一种基于编译器的插桩方法、系统及相关电子设备 | |
CN117687708A (zh) | 开机方法及电子设备 | |
WO2022111664A1 (zh) | 打补丁的方法、相关设备及系统 | |
WO2022228035A1 (zh) | 应用程序的图标更新方法及相关装置 | |
CN117215446B (zh) | 一种显示方法及电子设备 | |
CN117544612A (zh) | 一种跨端迁移的方法及相关装置 | |
WO2021238376A1 (zh) | 功能包的加载方法、装置、服务器和电子设备 | |
CN113760192B (zh) | 数据读取方法、装置、存储介质和程序产品 | |
CN117707453B (zh) | 一种节点信息的读取方法、设备及存储介质 | |
WO2023051357A1 (zh) | 一种虚拟设备运行方法 | |
CN117009023B (zh) | 显示通知信息的方法及相关装置 | |
WO2023165413A1 (zh) | 一种应用开发系统、方法及设备 | |
CN118301581B (zh) | 蓝牙设备管理方法及电子设备 | |
CN117008773A (zh) | 应用压缩方法、解压缩方法及电子设备 | |
CN117991939A (zh) | 一种文件下载方法及相关装置 | |
CN118034823A (zh) | 显示方法、电子设备、存储介质及程序产品 | |
CN118210496A (zh) | 一种跨语言交互方法及相关装置 | |
CN118277120A (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 |