CN114610384A - 一种应用迁移方法、装置、设备及存储介质 - Google Patents
一种应用迁移方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114610384A CN114610384A CN202011424096.6A CN202011424096A CN114610384A CN 114610384 A CN114610384 A CN 114610384A CN 202011424096 A CN202011424096 A CN 202011424096A CN 114610384 A CN114610384 A CN 114610384A
- Authority
- CN
- China
- Prior art keywords
- page
- application
- target
- migrated
- migration
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种应用迁移方法、装置及存储介质,涉及计算机技术领域,该方法包括:获取第一平台中目标应用的页面描述文档,所述页面描述文档为基于所述目标应用对应的待迁移元素生成的;确定所述目标应用的配置数据和资源数据;基于所述页面描述文档、所述配置数据和所述资源数据将所述目标应用迁移至所述第二平台。本公开能够实现目标应用的跨平台快速迁移,无需进行大量待迁移元素的代码重构,提高在不同平台上的应用开发效率,有效降低时间和人力成本。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种应用迁移方法、装置、设备及存储介质。
背景技术
随着互联网技术的更新迭代,出现了一种新型应用生态,这种新型应用生态无需用户下载安装,通过即点即用便能够享受原生应用的性能体验,备受用户和程序开发人员的青睐。当前有很多提供上述新型应用生态的运行平台,例如快应用平台和微信小程序平台等,这些平台提供了用于实现新型应用的宿主运行环境,为用户带来便利快捷的应用体验。然而,不同的平台通常具有不同的应用配置、开发语言或实现代码格式等,在不同的平台上进行同一款应用的开发时,开发人员需要编写不同平台各自的应用代码,即换一个平台就需要进行一次代码重构,无法实现应用的快速迁移和同步,耗费人力和时间成本。
因此,需要提供一种有效的应用迁移方案,以克服上述现有技术中的问题。
发明内容
本公开提供了一种应用迁移方法、装置、设备及存储介质,能够快速实现跨平台的应用迁移,有效降低时间和人力成本,缩短应用开发周期,以使应用在多平台上快速同步。
一方面,本公开提供了一种应用迁移方法,所述方法包括:
获取第一平台中目标应用的页面描述文档,所述页面描述文档为基于所述目标应用对应的待迁移元素生成的;
确定所述目标应用的配置数据和资源数据;
基于所述页面描述文档、所述配置数据和所述资源数据将所述目标应用迁移至所述第二平台。
另一方面提供了一种应用迁移装置,所述装置包括:
文档获取模块:用于获取第一平台中目标应用的页面描述文档,所述页面描述文档为基于所述目标应用对应的待迁移元素生成的;
信息确定模块:用于确定所述目标应用的配置数据和资源数据;
应用迁移模块:用于基于所述页面描述文档、所述配置数据和所述资源数据将所述目标应用迁移至所述第二平台。
另一方面提供了一种应用迁移设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的应用迁移方法。
另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的应用迁移方法。
另一方面提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的应用迁移方法。
本公开提供的应用迁移方法、装置、设备、终端及存储介质,具有如下技术效果:
本公开首先获取第一平台中目标应用的页面描述文档,以及确定目标应用的配置数据和资源数据,然后基于所述页面描述文档、所述配置数据和所述资源数据将所述目标应用迁移至所述第二平台,能够基于操作系统和/或第二平台的宿主运行环境的原生功能,通过生成的页面描述文档实现目标应用的跨平台快速迁移,无需进行大量待迁移元素的代码重构,提高在不同平台上的应用开发效率,降低时间和人力成本,实现目标应用在多个平台上的快速同步上线。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本公开实施例提供的一种应用环境的示意图;
图2是本公开实施例提供的一种应用迁移方法的流程示意图;
图3是本公开实施例提供的一种应用迁移方法的流程示意图;
图4是本公开一个实施例提供的目标应用的框架结构示意图;
图5是本公开实施例提供的一个实施例中提供的直播间视频展示页面示例图;
图6是本公开实施例提供的一个实施例中提供的直播间显示元素页面示例图;
图7是本公开实施例提供的一个实施例中提供的宿主元素显示页面示例图;
图8是本公开实施例提供的一种应用迁移装置的结构示意图;
图9是本公开实施例提供的一种执行应用迁移方法的设备的硬件结构框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本公开实施例提供的一种应用环境的示意图,如图1所示,该应用环境可以包括终端01和服务器02两个节点。在实际应用中,终端01以及服务器02可以通过有线或无线通信方式进行直接或间接地连接,以实现终端01与服务器02间的交互,本公开在此不做限制。
本公开实施例中,终端01可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。具体地,终端01可以包括实体设备,具体可以包括有网络通信单元、处理器和存储器等等,也可以包括运行在实体设备中的软体,具体可以包括有应用程序等。具体地,终端01可以基于应用迁移指令,获取目标应用的页面描述文档,以及确定目标应用的配置数据和资源数据,并根据页面描述文档、配置数据和资源数据将目标应用迁移至第二平台。其中,页面描述文档为基于目标应用对应的待迁移元素生成的,界面描述文档包括待迁移元素对应的属性标签、执行条件和展示状态信息等。
本公开实施例中,服务器02可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。具体地,服务器02可以包括实体设备,可以具体包括有网络通信单元、处理器和存储器等等,也可以包括运行于实体设备中的软体,可以具体包括有应用程序等。
本公开实施例中,服务器02可以运行第二平台,第二平台用于为迁移后的目标应用提供宿主运行环境。
本公开实施例中,用户可以通过在第二平台对应的显示界面上获取目标应用的访问入口,进而通过访问操作触发目标应用的运行。通过第二平台对应的显示界面,用户能够即时使用目标应用,而无需下载和安装单独的目标应用的应用程序(APP)。
需要说明的是,图1的仅仅是一种应用环境的示意图,在实际应用中,该应用环境可以包括更多或更少的节点,本公开在此不做限制。
以下介绍本公开的一种应用迁移方法,图2是本公开实施例提供的一种应用迁移方法的流程示意图,本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,方法可以包括:
S201:获取第一平台中目标应用的页面描述文档,页面描述文档为基于目标应用对应的待迁移元素生成的。
本公开实施例中,第一平台是当前为目标应用提供宿主运行环境的平台,用户可以通过在第一平台对应的显示界面上获取目标应用的访问入口,进而通过访问操作触发第一平台中目标应用的运行。
在实际应用中,页面描述文档可以包括待迁移元素对应的属性标签、执行条件和展示状态信息等。在一些实施例中,属性标签可以对应待迁移元素的界面数据,执行文件可以对应待迁移元素的执行代码段,展示状态信息可以对应待迁移元素的样式描述文件。
在一个实施例中,页面描述文档可以为HTML格式的文档,例如可以为HTML5文档。
在一些实施例中,获取第一平台中目标应用的页面描述文档可以包括:
S2011:获取页面描述文档的网络地址。
S2012:基于网络地址获取页面描述文档。
本公开实施例中,页面描述文档的网络地址用于定位页面描述文档的存储位置。具体地,页面描述文档可以存储于第二平台的服务器中,也可以存储在第二平台的服务器以外的其它服务器中,根据上述网络地址可以获取到存储页面描述文档的服务器的IP地址,从而从该服务器中获取页面描述文档。
S203:确定目标应用的配置数据和资源数据。
本公开实施例中,配置数据为用于构建宿主组件集合所需的数据,可以包括将目标应用迁移至第二平台时,所需要的操作系统和/或第二平台的宿主运行环境原生功能的组件配置数据和数据通讯配置数据等,例如需要调用的接口信息数据和需要利用的功能模块信息数据等。具体地,资源数据为用于构建资源展示页面所需的数据,可以包括用于构建目标应用的资源展示页面的资源组件数据等。
在实际应用中,在步骤S203之前,应用迁移方法还可以包括:接收目标应用的应用数据包,应用数据包中包括配置数据和资源数据。相应的,步骤S203可以为:从应用数据包中确定目标应用的配置数据和资源数据。应用数据包可以存储在第二平台的服务器的预设位置。
S205:基于页面描述文档、配置数据和资源数据将目标应用迁移至第二平台。
本公开实施例中,首先获取第一平台中目标应用的页面描述文档,以及确定目标应用的配置数据和资源数据,然后基于页面描述文档、配置数据和资源数据将目标应用迁移至第二平台,能够基于操作系统和/或第二平台的宿主运行环境的原生功能,通过生成的页面描述文档实现目标应用的跨平台快速迁移,无需进行大量待迁移元素的代码重构,提高在不同平台上的应用开发效率,降低时间和人力成本,实现目标应用在多个平台上的快速同步上线。
基于上述部分或全部实施方式,本公开实施例中,在步骤S203之后,应用迁移方法还可以包括:
S301:根据配置数据构建宿主组件集合。
在实际应用中,根据配置数据构建宿主组件集合可以具体为:利用预设引擎执行配置数据,以构建宿主组件集合,得到宿主基层。具体地,预设引擎为第二平台的宿主运行环境提供的执行引擎,例如可以为JavaScript引擎,用于解释和执行应用数据包中的指令。
S303:根据资源数据生成资源展示页面。
在实际应用中,根据资源数据生成资源展示页面可以具体为:利用预设引擎执行资源数据,以生成资源展示页面。
S305:加载页面描述文档,得到待迁移元素对应的属性标签、执行条件和展示状态信息。
S307:根据属性标签、执行条件和展示状态信息生成待迁移元素对应的迁移元素页面。
S309:基于宿主组件集合、资源展示页面和迁移元素页面在第二平台生成目标应用。
在实际应用中,可以通过页面网络视图控件加载页面描述文档,在加载后解析该页面描述文档。页面描述文档中包括待迁移元素对应的属性标签,属性标签对应的执行条件和展示状态信息。通过解析页面描述文档,可以获取到执行条件对应的指令,或者得到执行条件对应的执行文件,例如Javascript文件等,以及获取到展示状态信息对应的展示状态文件,例如css文件等。相应的,步骤S307可以具体为:通过页面网络视图控件解析和渲染属性标签、执行条件和展示状态信息,得到待迁移元素对应的迁移元素页面,进而根据宿主组件集合、资源展示页面和迁移元素页面生成目标应用。
基于上述部分或全部实施方式,本公开实施例中,在步骤S309之后,应用迁移方法还可以包括:
S311:展示资源展示页面和迁移元素页面。
S313:响应于基于迁移元素页面触发的目标指令,基于宿主组件集合执行与目标指令对应的目标操作。
在实际应用中,宿主组件集合可以用于承接资源展示页面和迁移元素页面的展示,可以通过预设引擎运行该宿主组件集合,进而实现资源展示页面和迁移元素页面的展示。
在实际应用中,宿主组件集合能够分别与资源展示页面和迁移元素页面进行数据通讯,以及监听基于迁移元素页面出发的目标指令,进而执行对应的操作。具体地,目标指令可以由用户与迁移元素页面的交互触发,进而宿主组件集合执行目标指令对应的目标操作。例如,用户在迁移元素页面上点击输入框或者点击播放键等,基于用户的点击操作触发相应的键盘展示指令或视频播放指令,宿主组件集合响应于键盘展示指令或视频播放指令,执行对应的键盘展示操作和视频播放操作。
基于本公开的上述方案,通过获取第一平台中目标应用的页面描述文档,以及确定目标应用的配置数据和资源数据,然后基于页面描述文档、配置数据和资源数据将目标应用迁移至第二平台,能够基于操作系统和/或第二平台的宿主运行环境的原生功能,通过生成的页面描述文档实现目标应用的跨平台快速迁移,无需进行大量待迁移元素的代码重构,提高在不同平台上的应用开发效率,降低时间和人力成本,实现目标应用在多平台上的快速同步上线。
需要说明的是,在一些情况下,第一平台中目标应用的待迁移元素在第二平台中实现时,可能出现不兼容或显示性能效果较差等情况,鉴于此,本公开还提供的另一种应用迁移方法,包括:
S401:获取第一平台中目标应用的页面描述文档,页面描述文档为基于目标应用对应的待迁移元素生成的。
S403:确定目标应用的配置数据和资源数据。
S405:根据配置数据构建宿主组件集合。
S407:根据资源数据生成资源展示页面。
S409:加载页面描述文档,得到待迁移元素对应的属性标签、执行条件和展示状态信息。
S411:根据属性标签、执行条件和展示状态信息生成待迁移元素对应的迁移元素页面。
S413:基于宿主组件集合、资源展示页面和迁移元素页面在第二平台生成目标应用。
在实际应用中,步骤S401和S403的实现方式与前述步骤S201和S203的实现方式相类似,步骤S405和S413的实现方式与前述步骤S301和S309的实现方式相类似,在此不再赘述。
在步骤S413之后,请参考图3,应用迁移方法还包括:
S415:确定待迁移元素在迁移元素页面上的显示性能结果。
在实际应用中,基于第一平台中目标应用的页面描述文档得到的迁移元素页面,以及基于宿主组件集合和资源展示页面在第二平台生成目标应用后,可以实现未更新的目标应用在第二平台上的运行,进而能够得到迁移元素页面上待迁移元素的显示性能结果,显示性能结果包括但不限于显示效果和操作性能结果等。
S417:根据显示性能结果确定待迁移元素中的目标待迁移元素。
在实际应用中,当待迁移元素的显示性能结果不满足预设条件时,即待迁移元素不满足目标应用在第二平台上实现时的性能需求时,将该待迁移元素作为目标待迁移元素。具体地,预设条件可以根据实际需求设定,例如键盘输入框元素需显示在迁移元素页面下方,且键盘输入框的边框需与迁移元素页面边框对齐。
S419:确定第二平台中目标待迁移元素对应的目标宿主元素。
在实际应用中,在第二平台中确定与目标待迁移元素功能一致的宿主元素,得到目标宿主元素。
S421:基于目标待迁移元素更新页面描述文档。
在一些实施例中,上述步骤S421可以包括:
S4211:删除或隐藏页面描述文档中的目标待迁移元素对应的属性标签,得到目标页面描述文档;
S4212:基于目标页面描述文档更新页面描述文档。
具体实施例中,在页面描述文档中删除或者隐藏目标待迁移元素对应的属性标签,以在迁移元素页面上不显示上述目标待迁移元素。
S423:基于目标宿主元素的属性标签生成宿主元素文档。
在实际应用中,宿主元素文档中可以包括目标宿主元素的属性标签,以及目标宿主元素的属性标签对应的执行条件和展示状态信息等。
S425:基于更新后的页面描述文档、宿主元素文档、配置数据和资源数据将目标应用迁移至第二平台。
在一些实施例中,在步骤S425之后,应用迁移方法还可以包括:
S427:根据更新后的页面描述文档生成对应的更新后的迁移元素页面。
在实际应用中,步骤S427的实现方式与上述步骤S305至步骤S307的实现方式相类似,在此不再赘述。
S429:根据宿主元素文档生成对应的宿主元素页面。
在实际应用中,根据宿主元素文档生成对应的宿主元素页面可以具体为:利用预设引擎加载宿主元素文档,并进一步对宿主元素文档进行解析和执行对应的渲染操作,得到宿主元素页面。
S431:基于宿主组件集合、资源展示页面、更新后的迁移元素页面和宿主元素页面在第二平台生成目标应用。
相应的,请参考图4,图4中示出了一个实施例提供的目标应用的框架结构的示意图,该目标应用的框架结构可以至少包括宿主组件集合对应的宿主基层1、资源展示页面对应的资源层2、迁移元素页面对应的可迁移层3。
其中,宿主基层1用于承接资源层2和可迁移层3对应的界面展示,监听实现可迁移层3的调用原生的能力,以及与资源层2和可迁移层3的数据通讯。举例来说,宿主基层1可以通过监听链接跳转中目标协议(如JsBridge格式协议)的调用,以实现可迁移层3期望调用的原生能力。
其中,资源层2用于展示资源数据,例如播放直播流、展示文本或图片等。在一个实施例中,当目标应用为直播应用时,该资源层2为直播流层,可以通过快应用平台的video标签来实现直播流层。
其中,可迁移层3用于加载可跨平台快速迁移至各端的可迁移元素,即通用元素;在一些情况下,可以通过Webview加载HTML5格式的页面描述文档实现的可迁移层3上的页面元素。
在一些实施例中,当可迁移层3中的可迁移元素在当前平台的宿主运行环境中显示性能效果不满足预设条件时,可以通过对应宿主元素进行替换。相应的,该目标应用的框架结构除上述三层外,还可包括宿主元素层4,请参考图4,宿主元素层4用于在目标应用跨平台的迁移过程中,替换不兼容或性能体验较差的可迁移层3中的可迁移元素。例如,当目标应用为直播应用时,可以通过快应用平台的input标签覆盖替换HTML5格式的页面描述文档中的聊天输入框标签,方便实现键盘的弹出和输入字符。再例如,通过全屏蒙层覆盖,监听未登录用户的点击,提示用户登录等。
本公开实施例中,在基于第一平台中目标应用的页面描述文档得到的迁移元素页面,以及基于宿主组件集合和资源展示页面在第二平台生成目标应用后,通过确定待迁移元素在迁移元素页面上的显示性能结果,以及基于性能结果确定不满足预设条件的目标待迁移元素,将页面描述文档中目标待迁移元素的属性标签隐藏和删除,实现迁移元素页面中目标待迁移元素的隐藏和删除。同时,基于目标待迁移元素对应的宿主元素生成宿主元素文档,以实现宿主元素对目标待迁移元素的替换,提高目标应用在第二平台的显示效果和性能,改善用户体验。
以下基于目标应用为直播应用介绍本公开的应用迁移方法,具体地,应用迁移方法可以具体包括:
1)获取第一平台中直播应用的页面描述文档,其中,页面描述文档为基于直播应用对应直播页面的待迁移元素生成的,待迁移元素为直播页面的页面显示元素,例如直播页面上的输入栏、信息发送键、文本展示框、功能栏、界面边框或弹幕展示框等显示元素。
2)确定直播应用的配置数据和直播资源数据;
3)根据配置数据构建宿主组件集合;
4)根据直播资源数据生成直播间视频展示页面;请参考图5,图5示出了一个实施例中提供的直播间视频展示页面示例图,该示例对应于主播视频直播场景;
5)加载页面描述文档,得到直播页面的页面显示元素对应的属性标签、执行条件和展示状态信息;
6)根据属性标签、执行条件和展示状态信息生成待迁移元素对应的直播间显示元素页面;请参考图6,图6示出了一个实施例中提供的直播间显示元素页面示例图,该页面对应于在平台宿主运行环境中实现的可迁移层。
7)基于宿主组件集合、直播间视频展示页面和直播间显示元素页面在第二平台生成直播应用。
进一步地,该应用迁移方法还可以包括:
8)确定直播页面的页面显示元素在直播间显示元素页面上的显示性能结果;
9)根据显示性能结果确定直播页面的页面显示元素中的目标页面显示元素;
10)确定第二平台中目标页面显示元素对应的目标宿主显示元素;请参考图7,图7示出了一个实施例中提供的宿主元素显示页面示例图,该页面对应于在平台宿主运行环境中实现的目标宿主显示元素所在的宿主元素层,如图7所示,通过宿主元素层中聊天输入框替换了可迁移层中的聊天输入框,以实现更好的性能体验;
11)基于目标页面显示元素更新页面描述文档,更新的页面描述文档为删除或隐藏了目标页面显示元素标签的页面描述文档;
12)基于目标宿主显示元素的属性标签生成宿主元素文档;
13)基于更新后的页面描述文档、宿主元素文档、配置数据和直播资源数据将直播应用迁移至第二平台。
在实际应用中,通过本公开的上述技术方案,在直播应用的跨平台迁移时,基于配置数据能够获取操作系统和/或不同平台的宿主运行环境的原生功能,基于直播资源数据能够重现直播视频流等相关页面,同时,基于页面描述文档能够快速实现直播应用页面上大量显示元素在不同平台间的迁移,无需进行大量的显示元素的代码重构,有效降低直播应用迁移的重新实现成本;并且,基于页面显示文档的简单删改和相应宿主元素文档的生成,便能够快速实现页面显示元素的替换,提高直播应用在不同平台的适配性和应用性能。综上,本公开的上述技术方案能够有效降低跨平台应用迁移的时间和人力成本,实现直播应用在多平台上的快速同步上线。
本公开实施例还提供了一种应用迁移装置,如图8所示,该装置包括:
文档获取模块10:用于获取第一平台中目标应用的页面描述文档,页面描述文档为基于目标应用对应的待迁移元素生成的;
信息确定模块20:用于确定目标应用的配置数据和资源数据;
应用迁移模块30:用于基于页面描述文档、配置数据和资源数据将目标应用迁移至第二平台。
在一些实施例中,装置还可以包括:
宿主组件构建模块:用于在确定目标应用的配置数据和资源数据之后,根据配置数据构建宿主组件;
资源展示页面生成模块:用于根据资源数据生成资源展示页面;
文档解析模块:用于加载页面描述文档,得到待迁移元素对应的属性标签、执行条件和展示状态信息;
迁移元素页面生成模块:用于根据属性标签、执行条件和展示状态信息生成待迁移元素对应的迁移元素页面;
目标应用生成模块:用于基于宿主组件集合、资源展示页面和迁移元素页面在第二平台生成目标应用。
在一些实施例中,装置还可以包括:
性能结果确定模块:用于在基于宿主组件集合、资源展示页面和迁移元素页面在第二平台生成目标应用之后,确定待迁移元素在迁移元素页面上的显示性能结果;
目标待迁移元素确定模块:用于根据显示性能结果确定待迁移元素中的目标待迁移元素;
目标宿主元素确定模块:用于确定第二平台中目标待迁移元素对应的目标宿主元素;
页面描述文档更新模块:用于基于目标待迁移元素更新页面描述文档;
宿主元素文档生成模块:用于基于目标宿主元素的属性标签生成宿主元素文档;
相应的,应用迁移模块30可以用于:基于更新后的页面描述文档、宿主元素文档、配置数据和资源数据将目标应用迁移至第二平台。
在一些实施例中,页面描述文档更新模可以包括:
目标页面描述文档获取单元:用于删除或隐藏页面描述文档中的目标待迁移元素对应的属性标签,得到目标页面描述文档;
文档更新单元:用于基于目标页面描述文档更新页面描述文档。
在一些实施例中,方法还包括:
页面展示模块:用于在基于宿主组件集合、资源展示页面和迁移元素页面在第二平台生成目标应用之后,展示资源展示页面和迁移元素页面;
目标操作执行模块:用于响应于基于迁移元素页面触发的目标指令,基于宿主组件集合执行与目标指令对应的目标操作。
在一些实施例中,文档获取模块10包括:
网络地址获取单元:用于获取页面描述文档的网络地址;
网络地址单元:用于基于网络地址获取页面描述文档。
在一些实施例中,当目标应用为直播应用时,页面描述文档为基于直播应用对应直播页面的待迁移元素生成的,待迁移元素为直播页面的页面显示元素。
本公开的装置实施例中的装置与方法实施例基于同样的申请构思。
本公开实施例提供了一种应用迁移设备,该应用迁移设备包括处理器和存储器,该存储器中存储有至少一条指令、或至少一段程序,该至少一条指令、或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的应用迁移方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本公开实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。图9是本申请实施例提供的一种实现应用迁移方法的设备的硬件结构框图。如图9所示,该设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)910(处理器910可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器930,一个或一个以上存储应用程序923或数据922的存储介质920(例如一个或一个以上海量存储设备)。其中,存储器930和存储介质920可以是短暂存储或持久存储。存储在存储介质920的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器910可以设置为与存储介质920通信,在设备900上执行存储介质920中的一系列指令操作。设备900还可以包括一个或一个以上电源960,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口940,和/或,一个或一个以上操作系统921,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口940可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括设备900的通信供应商提供的无线网络。在一个实例中,输入输出接口940包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口940可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备900还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
本公开的实施例还提供了一种计算机可读存储介质,存储介质可设置于设备之中以保存用于实现方法实施例中一种应用迁移方法相关的至少一条指令、或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的应用迁移方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
由上述本公开提供的应用迁移方法、装置、设备或存储介质的实施例可见,本公开首先获取第一平台中目标应用的页面描述文档,以及确定目标应用的配置数据和资源数据,然后基于所述页面描述文档、所述配置数据和所述资源数据将所述目标应用迁移至所述第二平台,能够基于操作系统和/或第二平台的宿主运行环境的原生功能,通过生成的页面描述文档实现目标应用的跨平台快速迁移,无需进行大量待迁移元素的代码重构,提高在不同平台上的应用开发效率,降低时间和人力成本,实现目标应用在多个平台上的快速同步上线。
需要说明的是:上述本公开实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、服务器和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种应用迁移方法,其特征在于,所述方法包括:
获取第一平台中目标应用的页面描述文档,所述页面描述文档为基于所述目标应用对应的待迁移元素生成的;
确定所述目标应用的配置数据和资源数据;
基于所述页面描述文档、所述配置数据和所述资源数据将所述目标应用迁移至所述第二平台。
2.根据权利要求1所述的方法,其特征在于,在所述确定所述目标应用的配置数据和资源数据之后,所述方法包括:
根据所述配置数据构建宿主组件集合;
根据所述资源数据生成资源展示页面;
加载所述页面描述文档,得到所述待迁移元素对应的属性标签、执行条件和展示状态信息;
根据所述属性标签、所述执行条件和所述展示状态信息生成所述待迁移元素对应的迁移元素页面;
基于所述宿主组件集合、所述资源展示页面和所述迁移元素页面在所述第二平台生成所述目标应用。
3.根据权利要求2所述的方法,其特征在于,在所述基于所述宿主组件集合、所述资源展示页面和所述迁移元素页面在所述第二平台生成所述目标应用之后,所述方法还包括:
确定所述待迁移元素在所述迁移元素页面上的显示性能结果;
根据所述显示性能结果确定所述待迁移元素中的目标待迁移元素;
确定所述第二平台中所述目标待迁移元素对应的目标宿主元素;
基于所述目标待迁移元素更新所述页面描述文档;
基于所述目标宿主元素的属性标签生成宿主元素文档;
相应的,所述基于所述页面描述文档、所述配置数据和所述资源数据将所述目标应用迁移至所述第二平台包括:
基于更新后的页面描述文档、所述宿主元素文档、所述配置数据和所述资源数据将所述目标应用迁移至所述第二平台。
4.根据权利要求3所述的方法,其特征在于,所述基于所述目标待迁移元素更新所述页面描述文档包括:
删除或隐藏所述页面描述文档中的所述目标待迁移元素对应的属性标签,得到目标页面描述文档;
基于所述目标页面描述文档更新所述页面描述文档。
5.根据权利要求2-4中任一所述的方法,其特征在于,在所述基于所述宿主组件集合、所述资源展示页面和所述迁移元素页面在所述第二平台生成所述目标应用之后,所述方法还包括:
展示所述资源展示页面和所述迁移元素页面;
响应于基于所述迁移元素页面触发的目标指令,基于所述宿主组件集合执行与所述目标指令对应的目标操作。
6.根据权利要求1所述的方法,其特征在于,所述获取第一平台中目标应用的页面描述文档包括:
获取所述页面描述文档的网络地址;
基于所述网络地址获取所述页面描述文档。
7.根据权利要求1-5和6中任一所述的方法,其特征在于,当所述目标应用为直播应用时,所述页面描述文档为基于所述直播应用对应直播页面的待迁移元素生成的,所述待迁移元素为直播页面的页面显示元素。
8.一种应用迁移装置,其特征在于,所述装置包括:
文档获取模块:用于获取第一平台中目标应用的页面描述文档,所述页面描述文档为基于所述目标应用对应的待迁移元素生成的;
信息确定模块:用于确定所述目标应用的配置数据和资源数据;
应用迁移模块:用于基于所述页面描述文档、所述配置数据和所述资源数据将所述目标应用迁移至所述第二平台。
9.一种应用迁移设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1至7中任一所述的应用迁移方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1至7中任一所述的应用迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011424096.6A CN114610384A (zh) | 2020-12-08 | 2020-12-08 | 一种应用迁移方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011424096.6A CN114610384A (zh) | 2020-12-08 | 2020-12-08 | 一种应用迁移方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114610384A true CN114610384A (zh) | 2022-06-10 |
Family
ID=81855822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011424096.6A Pending CN114610384A (zh) | 2020-12-08 | 2020-12-08 | 一种应用迁移方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610384A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117075960A (zh) * | 2023-10-17 | 2023-11-17 | 统信软件技术有限公司 | 程序重构方法、应用跨平台迁移方法、装置与计算设备 |
CN117271482A (zh) * | 2023-11-23 | 2023-12-22 | 成方金融信息技术服务有限公司 | 历史数据迁移方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-08 CN CN202011424096.6A patent/CN114610384A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117075960A (zh) * | 2023-10-17 | 2023-11-17 | 统信软件技术有限公司 | 程序重构方法、应用跨平台迁移方法、装置与计算设备 |
CN117075960B (zh) * | 2023-10-17 | 2024-01-23 | 统信软件技术有限公司 | 程序重构方法、应用跨平台迁移方法、装置与计算设备 |
CN117271482A (zh) * | 2023-11-23 | 2023-12-22 | 成方金融信息技术服务有限公司 | 历史数据迁移方法、装置、电子设备及存储介质 |
CN117271482B (zh) * | 2023-11-23 | 2024-02-27 | 成方金融信息技术服务有限公司 | 历史数据迁移方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3623942B1 (en) | Message processing method and apparatus, storage medium, and computer device | |
CN111433743B (zh) | 一种app远程控制方法及相关设备 | |
US8347287B2 (en) | System and method for localizing a server application using a client-side translator | |
CN111722885B (zh) | 程序运行方法、装置以及电子设备 | |
US10129310B1 (en) | In-application demonstration using video and data streams | |
CN110244984A (zh) | 应用程序处理方法、装置、存储介质和计算机设备 | |
CN110968395B (zh) | 一种在模拟器中处理渲染指令的方法及移动终端 | |
CN114610384A (zh) | 一种应用迁移方法、装置、设备及存储介质 | |
US20220038444A1 (en) | Cloud device, application processing method, electronic device and storage medium | |
CN102118650A (zh) | 一种电视机菜单显示方法、装置及电视机 | |
US11531526B1 (en) | Creating portable serverless applications | |
CN114612279A (zh) | 一种水印添加方法和装置 | |
CN108810132A (zh) | 动画显示方法、装置、终端、服务器及存储介质 | |
US10725797B2 (en) | Service-driven dynamic user interface technology | |
CN113204341A (zh) | 一种页面生成方法、装置及介质 | |
CN111625250B (zh) | 应用更新方法、装置、存储介质及电子设备 | |
CN112423024A (zh) | 一种视频转码方法、装置、计算机设备和存储介质 | |
US10042521B1 (en) | Emulation of control resources for use with converted content pages | |
CN114579128A (zh) | 一种可视化页面搭建方法及装置、存储介质、计算机设备 | |
CN115061751A (zh) | 插件加载方法、插件加载装置、电子设备及存储介质 | |
CN111666596B (zh) | 一种数据处理方法、设备及介质 | |
CN114675912A (zh) | 主题皮肤切换方法、装置、计算机设备及计算机存储介质 | |
CN115202673A (zh) | 基于云服务器的应用构建方法、装置和计算机设备 | |
CN113961279A (zh) | 页面渲染方法、装置、服务器和存储介质 | |
CN111309322A (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 |