CN113268320A - 应用程序的迁移方法、装置、计算机设备和存储介质 - Google Patents
应用程序的迁移方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113268320A CN113268320A CN202110500571.1A CN202110500571A CN113268320A CN 113268320 A CN113268320 A CN 113268320A CN 202110500571 A CN202110500571 A CN 202110500571A CN 113268320 A CN113268320 A CN 113268320A
- Authority
- CN
- China
- Prior art keywords
- browser
- application program
- page information
- response
- starting
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种应用程序的迁移方法、装置、计算机设备和存储介质。所述方法接收浏览器发送的启动请求,并向浏览器返回启动请求所请求的目标应用程序的启动页面信息,再接收浏览器根据启动页面信息发送的响应请求,并向浏览器返回响应请求所请求的目标应用程序的响应页面信息,以使浏览器展示响应页面信息对应的响应页面。上述迁移方法实现了将目标应用程序迁移到浏览器上进行展示使用,且在迁移过程中并不需要完全修改目标应用程序,或者利用第三方软件协助进行目标程序的迁移,因此,本申请提出的应用程序的迁移方法迁移效率极高。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序的迁移方法、装置、计算机设备和存储介质。
背景技术
CS(Client/Server)架构为一种客户端到服务器的结构。CS架构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。BS(Browser/Server)架构为一种浏览器到服务器结构,是目前应用系统的发展方向。BS是伴随着Internet技术的兴起,对C/S架构的改进,为了区别于传统的CS模式,特意称为BS模式。在这种结构下,通过W3浏览器来进入工作界面,极少部分事务逻辑在前端浏览器上实现,主要事务逻辑在服务器端实现,形成三层(3-tier)结构。这样使得客户端电脑负荷大大简化,减轻了系统维护、升级的支出成本,降低了用户的总体成本(TCO)。
但是,现在大多数的应用程序均是部署在CS架构上实现,那么如何将应用程序高效率的部署在BS架构上成为了当下对于BS框架普及应用所亟待解决的技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现将应用程序高效率的部署在BS架构上的应用程序的迁移方法、装置、计算机设备和存储介质。
第一方面,一种应用程序的迁移方法,所述方法包括:
接收浏览器发送的启动请求;
向所述浏览器返回所述启动请求所请求的目标应用程序的启动页面信息;
接收所述浏览器根据所述启动页面信息发送的响应请求;
向所述浏览器返回所述响应请求所请求的目标应用程序的响应页面信息,以使所述浏览器展示所述响应页面信息对应的响应页面。
在其中一个实施例中,所述向所述浏览器返回所述启动请求所请求的目标应用程序的启动页面信息,包括:
根据所述启动请求建立与所述浏览器的通信连接:
启动所述目标应用程序,并采用拦截技术获取所述目标应用程序的启动页面信息;
将所述启动页面信息通过所述通信连接发送至所述浏览器。
在其中一个实施例中,所述采用拦截技术获取所述目标应用程序的启动页面信息,包括:
采用拦截技术获取所述目标应用程序的通知消息;
从所述通知消息中提取所述启动页面信息。
在其中一个实施例中,所述从所述通知消息中提取所述启动页面信息之后,所述方法还包括:
将所述启动页面信息转化为预设长度的字符串;
所述接收所述浏览器根据所述启动页面信息发送的响应请求,包括:
接收所述浏览器根据所述字符串发送的响应请求。
在其中一个实施例中,所述响应请求包括用户在所述浏览器显示的启动页面上触发的键盘和/或鼠标事件;所述启动页面为所述浏览器根据所述启动页面信息在显示界面上显示的所述目标应用程序的界面。
在其中一个实施例中,所述向所述浏览器返回所述响应请求所请求的目标应用程序的响应页面信息,包括:
将所述响应请求中的键盘和/或鼠标事件转换为通知消息;
采用拦截技术获取所述目标应用程序基于所述通知消息生成的响应页面信息;
将所述响应页面信息通过预先建立的通信连接发送至所述浏览器。
在其中一个实施例中,所述采用拦截技术获取所述目标应用程序基于所述通知消息生成的响应页面信息之后,所述方法还包括:
将所述响应页面信息转化为预设长度的字符串;
所述将所述响应页面信息通过预先建立的通信连接发送至所述浏览器,包括:
将所述字符串通过所述通信连接发送至所述浏览器。
第二方面,一种应用程序的迁移方法,所述方法包括:
根据用户在浏览器上输入的地址信息生成启动目标应用程序的启动请求,并向服务器发送所述启动请求;
接收所述服务器根据所述启动请求返回的所述目标应用程序的启动页面信息,并根据所述启动页面信息在浏览器的显示界面上展示所述目标应用程序的启动页面;
根据所述用户在所述启动页面上触发的键盘和/或鼠标事件生成响应请求,并向所述服务器发送所述响应请求;
接收所述服务器根据所述响应请求返回的响应页面信息,并根据所述响应页面信息在所述显示界面上展示所述目标应用程序的响应页面。
第三方面,一种应用程序的迁移装置,所述装置包括:
第一接收模块,用于接收浏览器发送的启动请求;
第一返回模块,用于向所述浏览器返回所述启动请求所请求的目标应用程序的启动页面信息;
第二接收模块,用于接收所述浏览器根据所述启动页面信息发送的响应请求;
第二返回模块,用于向所述浏览器返回所述响应请求所请求的目标应用程序的响应页面信息,以使所述浏览器展示所述响应页面信息对应的响应页面。
第四方面,一种应用程序的迁移装置,所述装置包括:
生成模块,用于根据预设的地址信息生成启动目标应用程序的启动请求,并向服务器发送所述启动请求;
绘制模块,用于接收所述服务器根据所述启动请求返回的所述目标应用程序的启动页面信息,并根据所述启动页面信息在浏览器的显示界面上展示所述目标应用程序的启动页面;
发送模块,用于根据所述用户在所述启动页面上触发的键盘和/或鼠标事件生成响应请求,并向所述服务器发送所述响应请求;
展示模块,用于接收所述服务器根据所述响应请求返回的响应页面信息,并根据所述响应页面信息在所述显示界面上展示所述目标应用程序的响应页面。
第五方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
第六方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
上述应用程序的迁移方法、装置、计算机设备和存储介质,通过接收浏览器发送的启动请求,并向浏览器返回启动请求所请求的目标应用程序的启动页面信息,再接收浏览器根据启动页面信息发送的响应请求,并向浏览器返回响应请求所请求的目标应用程序的响应页面信息,以使浏览器展示响应页面信息对应的响应页面。上述迁移方法实现了将目标应用程序迁移到浏览器上进行展示使用,且在迁移过程中并不需要完全修改目标应用程序,或者利用第三方软件协助进行目标程序的迁移,因此,本申请提出的应用程序的迁移方法迁移效率极高。另外,当目标应用程序为CS架构的应用程序时,上述迁移方法实现了将CS架构的应用程序无需改动即可快速的迁移为BS架构的应用程序。
附图说明
图1为一个实施例中应用程序的迁移方法的应用环境图;
图2为一个实施例中应用程序的迁移方法的流程示意图;
图3为图2实施例中S102的一种实现方式的流程示意图;
图4为图3实施例中S202的一种实现方式的流程示意图;
图5为图3实施例中S202的另一种实现方式的流程示意图;
图6为图2实施例中S104的一种实现方式的流程示意图;
图7为图2实施例中S104的另一种实现方式的流程示意图;
图8为一个实施例中应用程序的迁移方法的流程示意图;
图9为一个实施例中应用程序的迁移方法的流程示意图;
图10为一个实施例中应用程序的迁移装置的结构框图;
图11为一个实施例中应用程序的迁移装置的结构框图;
图12为一个实施例中应用程序的迁移装置的结构框图;
图13为一个实施例中应用程序的迁移装置的结构框图;
图14为一个实施例中应用程序的迁移装置的结构框图;
图15为一个实施例中应用程序的迁移装置的结构框图;
图16为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的应用程序的迁移方法,可以应用于如图1所示的应用环境中。其中,浏览器102所在的终端通过网络与服务器104进行通信。浏览器102与服务器104组成了BS架构模式的应用系统,其中,浏览器102用于向服务器104发起启动请求,以从服务器104上获取CS架构的应用程序的启动页面信息,并根据启动页面信息在浏览器的显示界面上展示CS架构的应用程序的启动页面。服务器104用于根据启动请求获取CS架构的应用程序的启动页面信息,并向浏览器返回获取到的CS架构的应用程序的启动页面信息。浏览器102还用于向服务器104发起响应请求,以从服务器104上获取CS架构的应用程序的响应页面信息,并根据该响应页面信息在浏览器的显示界面上展示CS架构的应用程序的响应页面。服务器104用于根据响应请求获取CS架构的应用程序的响应页面信息,并向浏览器返回获取到的CS架构的应用程序的响应页面信息。其中,浏览器102可以是任何版本的浏览器,浏览器102所在终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的应用环境的限定,具体的应用环境可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,如图2所示,提供了一种应用程序的迁移方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S101,接收浏览器发送的启动请求。
其中,启动请求用于向服务器请求目标应用程序的启动页面信息,使浏览器可以基于启动页面信息在显示界面上显示目标应用程序的启动页面。启动页面为目标应用程序被开始使用时的初始页面。目标应用程序可以为CS架构的应用程序,具体可以为现有的CS架构的超声、CT、MR等应用程序。启动页面信息中包括目标应用程序在浏览器上显示时对应的初始显示页面所需的资源信息,例如,启动页面信息可以为UI变化的图像信息。
本实施例中,当用户操作打开浏览器,以及浏览器响应该操作时,可以自动向服务器发送启动请求,服务器接收到该启动请求后,可以获取目标应用程序的启动页面信息,比如,获取CS架构的CT应用程序的启动页面信息。
S102,向浏览器返回启动请求所请求的目标应用程序的启动页面信息。
本实施例中,服务器可以预先与浏览器建立通信连接,当服务器获取到目标应用程序的启动页面信息时,可以直接将目标应用程序的启动页面信息基于建立的通信连接发送至浏览器。
S103,接收浏览器根据启动页面信息发送的响应请求。
其中,响应请求包括用户在浏览器显示的启动页面上触发的键盘和/或鼠标事件,启动页面为浏览器根据启动页面信息在显示界面上显示的目标应用程序的初始界面。响应请求用于向服务器请求目标应用程序的响应页面信息,响应页面信息中包括目标应用程序响应用户资源访问操作时,用户访问的资源对应的显示页面所需的资源信息。例如,响应页面信息可以为响应用户操作时UI变化的图像信息。
本实施例中,当浏览器接收到服务器返回的目标应用程序的启动页面信息时,即可根据启动页面信息在浏览器的显示界面上绘制目标应用程序的初始界面,以生成目标应用程序的启动页面。当浏览器的显示界面上展示出目标应用程序的启动页面时,说明完成了打开目标应用程序在浏览器的操作。然后用户可以基于启动页面进行资源访问,当用户在启动页面上进行资源访问的操作时,浏览器可获取到用户的操作事件,并根据该操作事件生成响应请求,以及将生成的响应请求发送至服务器。
S104,向浏览器返回响应请求所请求的目标应用程序的响应页面信息,以使浏览器展示响应页面信息对应的响应页面。
本实施例中,当服务器接收到浏览器发送的响应请求时,可以进一步的获取目标应用程序的响应页面信息,比如,获取CS架构的CT应用程序的响应页面信息。当服务器获取到目标应用程序的响应页面信息时,可以直接将目标应用程序的响应页面信息基于之前建立好的通信连接返回至浏览器,浏览器在接收到响应页面信息后,即可根据响应页面信息在浏览器的显示界面上绘制并生成目标应用程序的响应页面,以便用户查看。
上述应用程序的迁移方法中,通过接收浏览器发送的启动请求,并向浏览器返回启动请求所请求的目标应用程序的启动页面信息,再接收浏览器根据启动页面信息发送的响应请求,并向浏览器返回响应请求所请求的目标应用程序的响应页面信息,以使浏览器展示响应页面信息对应的响应页面。上述迁移方法实现了将目标应用程序迁移到浏览器上进行展示使用,且在迁移过程中并不需要完全修改目标应用程序,或者利用第三方软件协助进行目标程序的迁移,因此,本申请提出的应用程序的迁移方法迁移效率极高。另外,当目标应用程序为CS架构的应用程序时,上述迁移方法实现了将CS架构的应用程序无需改动即可快速的迁移为BS架构的应用程序。
在一个实施例中,提供了上述S102的一种实现方式,如图3所示,上述S102“向浏览器返回启动请求所请求的目标应用程序的启动页面信息”,包括:
S201,根据启动请求建立与浏览器的通信连接。
本实施例中,当服务器接收到浏览器发送的启动请求时,即可建立与浏览器的通信连接。具体的,服务器可以将http协议转换成websocket协议,以与浏览器建立websocket通信连接,以便之后服务器基于websocket通信连接向浏览器反馈信息。需要说明的是,本实施例中的启动请求还用于请求web容器,即服务器接收到启动请求时,即可使用web容器将http协议转换成websocket协议,以建立web容器与浏览器之间的websocket通信连接。当启动请求还用于请求web容器时,用户可以在浏览器上输入地址信息,浏览器接收到用户输入的地址信息后即可生成携带地址信息的url类的启动请求,服务器即可根据启动请求中的地址信息确定使用的web容器。可以理解的是,上述地址信息即为web容器对应的地址信息。
S202,启动目标应用程序,并采用拦截技术获取目标应用程序的启动页面信息。
其中,拦截技术为windows消息的hook技术。本实施例中的服务器可以具体采用处理模块启动目标应用程序,且处理模块可以用于启动目标应用程序,以及用于采用拦截技术获取目标应用程序的启动页面信息。处理模块具体可以为windows系统中的ProcessServer模块。
本实施例中,当服务器接收到启动请求,并启动web容器后,还可以进一步的建立web容器与处理模块之间的通信连接,具体的,可以在web容器与处理模块之间建立socket通信连接,然后处理模块启动目标应用程序,并采用拦截技术获取目标应用程序的启动页面信息。
S203,将启动页面信息通过通信连接发送至浏览器。
本实施例中,当服务器中的处理模块获取到目标应用程序的启动页面信息时,即可将目标应用程序的启动页面信息基于之前建立的socket通信连接返回至web容器,然后web容器再基于之前建立的websocket通信连接将目标应用程序的启动页面信息返回至浏览器,浏览器在接收到目标应用程序的启动页面信息后,即可根据目标应用程序的启动页面信息在显示界面上绘制并显示目标应用程序的启动页面。上述实施例所述的方法采用拦截技术获取目标应用程序的启动页面信息,实现了无缝挂载目标应用程序,目标应用程序无需做改动即可在通过浏览器启动。
进一步的,还提供了上述S202的一种实现方式,如图4所示,上述S202中的“采用拦截技术获取目标应用程序的启动页面信息”,包括:
S301,采用拦截技术获取目标应用程序的通知消息。
其中,通知消息即为windows通知消息。
本实施例中,当服务器中的处理模块启动目标应用程序时,即可对目标应用程序的通知消息进行拦截,获取到目标应用程序的通知消息。例如,服务器中的处理模块启动CS架构的应用程序时,即可hook到CS架构的应用程序的windows通知消息。
S302,从通知消息中提取启动页面信息。
由于通知消息中可能还包括目标应用程序的其它信息,因此服务器中的处理模块在获取到目标应用程序的通知消息时,需要进一步的从通知消息中提取出目标应用程序的启动页面信息,以便之后返回至浏览器。例如,若目标应用程序为CS架构的应用程序,启动页面信息为UI变化的图像信息,则服务器中的处理模块在hook到CS架构的应用程序的windows通知消息后,即可从windows通知消息中提取出UI变化的图像信息。
在实际应用中,服务器中的处理模块在将启动页面信息发送至浏览器之前,还需要将启动页面信息进行格式转换处理或数据类型转换处理,以便服务器中的其它模块或者浏览器能够直接处理启动页面信息,因此,如图5所示,图4实施例所述的方法还包括:
S303,将启动页面信息转化为预设长度的字符串。
由于不同的web容器在处理信息时,若信息的格式不同,web容器的处理方式即不同,因此,当服务器中的处理模块获取到目标应用程序的启动页面信息并将启动页面信息返回至web容器进行处理时,为了统一不同web容器的处理方式,当服务器的处理模块在执行上述S302的步骤之后,还需要将启动页面信息转化为不同的web容器能够统一识别的信息,具体的,处理模块可以将启动页面信息转化为预设长度的字符串,其中的预设长度可以具体为64位、32位等,例如,将UI变化的图像信息转换为base64字符串。预设长度可以预先根据服务器硬件设置或性能参数确定,此处不限定。
对应的,服务器在执行上述S103的步骤时,可以具体执行:接收浏览器根据字符串发送的响应请求。
接着上述S303的步骤,服务器中的处理模块在将启动页面信息转化为预设长度的字符串后,将转换后的字符串基于之前建立的socket通信连接返回至web容器,web容器接收到字符串后,即可将该字符串基于之前建立的websocket通信连接转发给浏览器,浏览器在接收到该字符串后,即可将该字符串转换为二进制数组,并采用canvas组件,根据转换后的二进制数组在显示界面上绘制并展示启动页面,以完成目标应用程序在浏览器上首次的打开操作。然后用户可以基于启动页面进行资源访问,当用户在启动页面上进行资源访问的操作时,浏览器可获取到用户的操作事件,并根据该操作事件生成响应请求,以及将生成的响应请求发送至服务器。
在一个实施例中,提供了上述S104的一种实现方式,如图6所示,上述S104中的“向浏览器返回响应请求所请求的目标应用程序的响应页面信息”,包括:
S401,将响应请求中的键盘和/或鼠标事件转换为通知消息。
其中,键盘事件包括用户操作键盘在浏览器显示的启动页面上进行资源访问的事件,例如,用户通过键盘在启动页面的搜索框中输入搜索对象的名称;鼠标事件包括用户操作鼠标在浏览器的启动页面上进行资源访问的事件,例如,用户在启动页面的相应控件上进行点击操作。
本实施例中,当服务器接收到浏览器发送的响应请求时,可以进一步的从响应请求中解析出键盘和/或鼠标事件,并将键盘和/或鼠标事件转换为通知消息。本实施例中的服务器可以具体采用处理模块解析响应请求中的键盘和/或鼠标事件,并将键盘和/或鼠标事件转换为通知消息。
S402,采用拦截技术获取目标应用程序基于通知消息生成的响应页面信息。
本实施例中,当服务器中的处理模块将键盘和/或鼠标事件转换为通知消息后,目标应用程序即可响应该键盘和/或鼠标事件,生成响应该键盘和/或鼠标事件的响应通知消息,然后处理模块即可采用拦截技术拦截该响应通知消息,并从该响应通知消息中提取出响应页面信息。例如,从响应通知消息中提取出响应用户操作时UI变化的图像信息。需要说明的是,上述响应通知消息也为一种windows消息。
S403,将响应页面信息通过预先建立的通信连接发送至浏览器。
本实施例中,当服务器中的处理模块获取到目标应用程序的响应页面信息时,即可将目标应用程序的响应页面信息基于之前建立的socket通信连接返回至web容器,然后web容器再基于之前建立的websocket通信连接将目标应用程序的响应页面信息返回至浏览器,浏览器在接收到目标应用程序的响应页面信息后,即可根据目标应用程序的响应页面信息在显示界面上绘制并显示目标应用程序的响应页面。上述实施例所述的方法采用拦截技术获取目标应用程序的响应页面信息,实现了无缝挂载目标应用程序,目标应用程序无需做改动即可在通过浏览器使用。
在实际应用中,服务器中的处理模块在将响应页面信息发送至浏览器之前,还需要将响应页面信息进行格式转换处理或数据类型转换处理,以便服务器中的其它模块或者浏览器能够直接处理响应页面信息,因此,如图7所示,图6实施例所述的方法还包括:
S404,将响应页面信息转化为预设长度的字符串。
当服务器中的处理模块获取到目标应用程序的响应页面信息并将响应页面信息返回至web容器进行处理时,为了统一不同web容器的处理方式,当服务器的处理模块在执行上述S402的步骤之后,还需要将响应页面信息转化为不同的web容器能够统一识别的信息,具体的,处理模块可以将响应页面信息转化为预设长度的字符串,其中的预设长度可以具体为64位、32位等,例如,将UI变化的图像信息转换为base64字符串。预设长度可以预先根据服务器硬件设置或性能参数确定,此处不限定。
对应的,服务器在执行上述S403的步骤时,可以具体执行:将字符串通过预先建立的通信连接发送至浏览器。
接着上述S404的步骤,服务器中的处理模块在将响应页面信息转化为预设长度的字符串后,将转换后的字符串基于之前建立的socket通信连接返回至web容器,web容器接收到字符串后,即可将该字符串基于之间建立的websocket通信连接转发给浏览器,浏览器在接收到该字符串后,即可将该字符串转换为二进制数组,并采用canvas组件,根据转换后的二进制数组在显示界面上绘制并展示响应页面,以完成目标应用程序在浏览器上使用操作。
上述图2-图7实施例为服务器侧的应用程序的迁移方法,下面实施例将介绍浏览器侧的应用程序的迁移方法。
在一个实施例中,如图8所示,提供了一种应用程序的迁移方法,以该方法应用于图1中的浏览器为例进行说明,包括以下步骤:
S501,根据预设的地址信息生成启动目标应用程序的启动请求,并向服务器发送启动请求。
其中,预设的地址信息可以是用户在浏览器上进行手动配置输入的地址信息,可选的,也可以是浏览器启动时自动默认配置的地址信息,地址信息具体可以为服务器上对应web容器的地址,且该web容器用于建立web容器与浏览器之间的websocket通信连接,还用于建立web容器与服务器中的处理模块之间的socket通信连接。
本实施例中,当用户操作打开浏览器,以及浏览器响应该操作时,可以自动根据默认配置的地址信息向服务器发起启动请求;可选的,当用户操作打开浏览器时,用户可以在打开的浏览器上手动配置输入地址信息,以使浏览器基于该地址信息向服务器发起启动请求。
S502,接收服务器根据启动请求返回的目标应用程序的启动页面信息,并根据启动页面信息在浏览器的显示界面上展示目标应用程序的启动页面。
本实施例中,服务器可以预先与浏览器建立通信连接,当服务器获取到目标应用程序的启动页面信息时,可以直接将目标应用程序的启动页面信息基于建立的通信连接发送至浏览器,在浏览器接收到服务器返回的启动页面信息时,可以进一步的调用相应的画图组件(比如,canvas组件)在画布上绘制UI的图像界面(UI的图像界面可由启动页面信息中包含的UI的图像信息得到),绘制完成的UI的图像界面即可展示在浏览器的显示界面上形成目标应用程序的启动页面。需要说明的是,若启动页面信息为字符串的数据,则浏览器在接收到启动页面信息时还需要将该字符串转换为二进制流数据,并调用画图组件根据二进制流数据绘制UI的图像界面。
S503,根据用户在启动页面上触发的键盘和/或鼠标事件生成响应请求,并向服务器发送响应请求。
本实施例中,当浏览器的显示界面上展示目标应用程序的启动页面后,用户即可开始使用该目标应用程序进行资源访问等操作,即用户可以通过操作键盘或鼠标在启动页面上触发键盘和/或鼠标事件。当浏览器获取到用户在启动页面上触发的键盘和/或鼠标事件时,即可生成携带触发键盘和/或鼠标事件的响应请求,再并向服务器发起该响应请求。需要说明的是,携带触发键盘和/或鼠标事件的响应请求可以是json格式,且浏览器可以通过预先建立的websocket发送响应请求,这里的websocket通信连接为之前浏览器在启动目标程序的启动页面的过程中建立的,详细介绍请参见前述说明,此处不赘述。
S504,接收服务器根据响应请求返回的响应页面信息,并根据响应页面信息在显示界面上展示目标应用程序的响应页面。
本实施例中,当服务器获取到目标应用程序的响应页面信息时,可以直接将目标应用程序的响应页面信息基于建立的通信连接发送至浏览器,在浏览器接收到服务器返回的响应页面信息时,可以进一步的调用相应的画图组件(比如,canvas组件)在画布上绘制UI的图像界面(UI的图像界面可由响应页面信息中包含的UI的图像信息得到),绘制完成的UI的图像界面即可展示在浏览器的显示界面上形成目标应用程序的响应页面。
上述应用程序的迁移方法中,根据预设的地址信息生成启动目标应用程序的启动请求,并向服务器发送启动请求,再接收服务器根据启动请求返回的目标应用程序的启动页面信息,并根据启动页面信息在浏览器的显示界面上绘制并展示目标应用程序的启动页面,然后根据用户在启动页面上触发的键盘和/或鼠标事件生成响应请求,并接收服务器根据响应请求返回的响应页面信息,并根据响应页面信息在显示界面上绘制并展示目标应用程序的响应页面。上述迁移方法实现了将目标应用程序迁移到浏览器上进行展示使用,且在迁移过程中并不需要完全修改目标应用程序,或者利用第三方软件协助进行目标程序的迁移,因此,本申请提出的应用程序的迁移方法迁移效率极高。另外,当目标应用程序为CS架构的应用程序时,上述迁移方法实现了将CS架构的应用程序无需改动即可快速的迁移到BS架构。
综合上述所有实施例,本申请还提供了一种应用程序的迁移方法,且该方法通过浏览器和服务器之间的交互实现将CS架构的应用程序迁移到BS架构的浏览器上进行展示并使用。其中服务器中包括web容器、ProcessServer处理模块,如图9所示,该方法包括:
S601,浏览器根据预设的地址信息生成启动CS架构的应用程序的url启动请求,并向web容器发送url启动请求。
S602,web容器接收到url启动请求时,将http协议转换为websocket协议,以建立与浏览器的websocket通信连接,以及建立与ProcessServer处理模块的socket通信连接,并基于socket通信连接将url启动请求传递至ProcessServer处理模块。
S603,ProcessServer处理模块接收到url启动请求后启动CS架构的应用程序,并拦截(hook)CS架构的应用程序的windows通知消息。
S604,ProcessServer处理模块从windows通知消息中获取UI变化的图像信息,并将UI变化的图像信息转换为base64字符串。
S605,ProcessServer处理模块将base64字符串基于socket通信连接返回至web容器。
S606,web容器将base64字符串基于websocket通信连接转发至浏览器。
S607,浏览器将base64字符串转换为二进制数组,并调动canvas组件根据二进制数组在画布上绘制UI变化的图像,生成CS架构的应用程序的启动页面,并在浏览器的显示界面上展示CS架构的应用程序的启动页面。
S608,根据用户在启动页面上触发的键盘和/或鼠标事件生成响应请求,并将该响应请求以json的形式通过websocket通信连接发送至web容器。
S609,web容器接收到响应请求时,通过socket通信连接将该响应请求转发至ProcessServer处理模块。
S610,ProcessServer处理模块接收到响应请求后,对响应请求进行解析,从中解析出键盘和/或鼠标事件,并将键盘和/或鼠标事件转换为windows通知消息。
S611,ProcessServer处理模块拦截(hook)CS架构的应用程序响应于键盘和/或鼠标事件的windows响应消息。
S612,ProcessServer处理模块从windows响应消息中获取UI变化的图像信息,并将UI变化的图像信息转换为base64字符串。
S613,ProcessServer处理模块将base64字符串基于socket通信连接返回至web容器。
S614,web容器将base64字符串基于websocket通信连接转发至浏览器。
S615,浏览器将base64字符串转换为二进制数组,并调动canvas组件根据二进制数组在画布上绘制UI变化的图像,生成CS架构的应用程序的响应页面,并在浏览器的显示界面上展示CS架构的应用程序的响应页面。
上述实施例所述的方法实现了应用windows消息hook技术无缝挂载CS架构的应用程序,CS架构的应用程序无需做改动。且实现了应用html5的websocket技术将hook到CS架构的应用程序的启动页面和响应页面通过canvas绘制到浏览器上的显示界面进行展示。同时,通过windows消息hook技术与html5的websocket技术结合将浏览器上的键盘和/或鼠标事件回填触发CS架构的应用程序的键盘和/或鼠标事件,从而实现浏览器上界面和用户交互。
总之,本申请提供的应用程序的迁移方法实现了CS架构的应用程序迁移为BS架构的应用程序,且迁移过程中并不需要改动CS架构的应用程序,也不需要借助第三方软件来完成BS架构的应用程序的迁移,迁移效率极高。另外,迁移后的BS架构的应用程序是崭新的应用程序,自由可控。
应该理解的是,虽然图2-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种应用程序的迁移装置,包括:
接收模块11,用于接收浏览器发送的启动请求;
返回模块12,用于向所述浏览器返回所述启动请求所请求的目标应用程序的启动页面信息;
接收模块13,用于接收所述浏览器根据所述启动页面信息发送的响应请求;
返回模块14,用于向所述浏览器返回所述响应请求所请求的目标应用程序的响应页面信息,以使所述浏览器展示所述响应页面信息对应的响应页面。
在一个实施例中,如图11所示,上述返回模块12,包括:
建立单元121,用于根据所述启动请求建立与所述浏览器的通信连接:
获取单元122,用于启动所述目标应用程序,并采用拦截技术获取所述目标应用程序的启动页面信息;
第一发送单元123,用于将所述启动页面信息通过所述通信连接发送至所述浏览器。
在一个实施例中,如图12所示,上述获取单元122,包括:
拦截子单元1221,用于采用拦截技术获取所述目标应用程序的通知消息;
提取子单元1222,用于从所述通知消息中提取所述启动页面信息。
在一个实施例中,如图13所示,图12所示的装置还包括:
转换子单元1223,用于将所述启动页面信息转化为预设长度的字符串。
对应的,上述接收模块13具体用于接收所述浏览器根据所述字符串发送的响应请求。
在一个实施例中,所述响应请求包括用户在所述浏览器显示的启动页面上触发的键盘和/或鼠标事件;所述启动页面为所述浏览器根据所述启动页面信息在显示界面上绘制的所述目标应用程序的初始界面。
在一个实施例中,如图14所示,上述返回模块14,包括:
第一转换单元141,用于将所述响应请求中的键盘和/或鼠标事件转换为通知消息;
拦截单元142,用于采用拦截技术获取所述目标应用程序基于所述通知消息生成的响应页面信息;
第二发送单元143,用于将所述响应页面信息通过预先建立的通信连接发送至所述浏览器。
在一个实施例中,如图15所示,图14所示的装置还包括:
第二转化单元144,用于将所述响应页面信息转化为预设长度的字符串。
对应的,上述第二发送单元143具体用于将所述字符串通过预先建立的通信连接发送至所述浏览器。
在一个实施例中,如图16所示,提供了一种应用程序的迁移装置,包括:
生成模块21,用于根据预设的地址信息生成启动目标应用程序的启动请求,并向服务器发送所述启动请求;
绘制模块22,用于接收所述服务器根据所述启动请求返回的所述目标应用程序的启动页面信息,并根据所述启动页面信息在浏览器的显示界面上展示所述目标应用程序的启动页面;
发送模块23,用于根据用户在所述启动页面上触发的键盘和/或鼠标事件生成响应请求,并向所述服务器发送所述响应请求;
展示模块24,用于接收所述服务器根据所述响应请求返回的响应页面信息,并根据所述响应页面信息在所述显示界面上展示所述目标应用程序的响应页面。
关于应用程序的迁移装置的具体限定可以参见上文中对于应用程序的迁移方法的限定,在此不再赘述。上述应用程序的迁移装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图16所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种应用程序的迁移方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收浏览器发送的启动请求;
向所述浏览器返回所述启动请求所请求的目标应用程序的启动页面信息;
接收所述浏览器根据所述启动页面信息发送的响应请求;
向所述浏览器返回所述响应请求所请求的目标应用程序的响应页面信息,以使所述浏览器展示所述响应页面信息对应的响应页面。
上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
根据预设的地址信息生成启动目标应用程序的启动请求,并向服务器发送所述启动请求;
接收所述服务器根据所述启动请求返回的所述目标应用程序的启动页面信息,并根据所述启动页面信息在浏览器的显示界面上绘制并展示所述目标应用程序的启动页面;
根据用户在所述启动页面上触发的键盘和/或鼠标事件生成响应请求,并向所述服务器发送所述响应请求;
接收所述服务器根据所述响应请求返回的响应页面信息,并根据所述响应页面信息在所述显示界面上绘制并展示所述目标应用程序的响应页面。
上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收浏览器发送的启动请求;
向所述浏览器返回所述启动请求所请求的目标应用程序的启动页面信息;
接收所述浏览器根据所述启动页面信息发送的响应请求;
向所述浏览器返回所述响应请求所请求的目标应用程序的响应页面信息,以使所述浏览器展示所述响应页面信息对应的响应页面。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据预设的地址信息生成启动目标应用程序的启动请求,并向服务器发送所述启动请求;
接收所述服务器根据所述启动请求返回的所述目标应用程序的启动页面信息,并根据所述启动页面信息在浏览器的显示界面上绘制并展示所述目标应用程序的启动页面;
根据用户在所述启动页面上触发的键盘和/或鼠标事件生成响应请求,并向所述服务器发送所述响应请求;
接收所述服务器根据所述响应请求返回的响应页面信息,并根据所述响应页面信息在所述显示界面上绘制并展示所述目标应用程序的响应页面。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用程序的迁移方法,其特征在于,所述方法包括:
接收浏览器发送的启动请求;
向所述浏览器返回所述启动请求所请求的目标应用程序的启动页面信息;
接收所述浏览器根据所述启动页面信息发送的响应请求;
向所述浏览器返回所述响应请求所请求的目标应用程序的响应页面信息,以使所述浏览器展示所述响应页面信息对应的响应页面。
2.根据权利要求1所述的方法,其特征在于,所述向所述浏览器返回所述启动请求所请求的目标应用程序的启动页面信息,包括:
根据所述启动请求建立与所述浏览器的通信连接;
启动所述目标应用程序,并采用拦截技术获取所述目标应用程序的启动页面信息;
将所述启动页面信息通过所述通信连接发送至所述浏览器。
3.根据权利要求2所述的方法,其特征在于,所述采用拦截技术获取所述目标应用程序的启动页面信息,包括:
采用拦截技术获取所述目标应用程序的通知消息;
从所述通知消息中提取所述启动页面信息。
4.根据权利要求3所述的方法,其特征在于,所述从所述通知消息中提取所述启动页面信息之后,所述方法还包括:
将所述启动页面信息转化为预设长度的字符串;
所述接收所述浏览器根据所述启动页面信息发送的响应请求,包括:
接收所述浏览器根据所述字符串发送的响应请求。
5.根据权利要求1所述的方法,其特征在于,所述响应请求包括用户在所述浏览器显示的启动页面上触发的键盘和/或鼠标事件;所述启动页面为所述浏览器根据所述启动页面信息在显示界面上显示的所述目标应用程序的初始界面。
6.根据权利要求5所述的方法,其特征在于,所述向所述浏览器返回所述响应请求所请求的目标应用程序的响应页面信息,包括:
将所述响应请求中的键盘和/或鼠标事件转换为通知消息;
采用拦截技术获取所述目标应用程序基于所述通知消息生成的响应页面信息;
将所述响应页面信息通过预先建立的通信连接发送至所述浏览器。
7.根据权利要求6所述的方法,其特征在于,所述采用拦截技术获取所述目标应用程序基于所述通知消息生成的响应页面信息之后,所述方法还包括:
将所述响应页面信息转化为预设长度的字符串;
所述将所述响应页面信息通过预先建立的通信连接发送至所述浏览器,包括:
将所述字符串通过预先建立的通信连接发送至所述浏览器。
8.一种应用程序的迁移方法,其特征在于,所述方法包括:
根据预设的地址信息生成启动目标应用程序的启动请求,并向服务器发送所述启动请求;
接收所述服务器根据所述启动请求返回的所述目标应用程序的启动页面信息,并根据所述启动页面信息在浏览器的显示界面上展示所述目标应用程序的启动页面;
根据用户在所述启动页面上触发的键盘和/或鼠标事件生成响应请求,并向所述服务器发送所述响应请求;
接收所述服务器根据所述响应请求返回的响应页面信息,并根据所述响应页面信息在所述显示界面上展示所述目标应用程序的响应页面。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110500571.1A CN113268320A (zh) | 2021-05-08 | 2021-05-08 | 应用程序的迁移方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110500571.1A CN113268320A (zh) | 2021-05-08 | 2021-05-08 | 应用程序的迁移方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113268320A true CN113268320A (zh) | 2021-08-17 |
Family
ID=77230145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110500571.1A Pending CN113268320A (zh) | 2021-05-08 | 2021-05-08 | 应用程序的迁移方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268320A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282978A1 (en) * | 2013-03-15 | 2014-09-18 | Sergio Demian LERNER | Method and apparatus for secure interaction with a computer service provider |
CN104123120A (zh) * | 2013-04-23 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 一种浏览器页面数据过滤方法、装置和系统 |
CN106055198A (zh) * | 2016-05-26 | 2016-10-26 | 维沃移动通信有限公司 | 一种基于内容显示通知的方法及移动终端 |
US20170111463A1 (en) * | 2014-06-12 | 2017-04-20 | Canon Kabushiki Kaisha | Improved adaptive persistent push |
CN112422508A (zh) * | 2020-10-19 | 2021-02-26 | 武汉烽火众智数字技术有限责任公司 | 一种在浏览器网页中播放视频的方法及系统 |
-
2021
- 2021-05-08 CN CN202110500571.1A patent/CN113268320A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282978A1 (en) * | 2013-03-15 | 2014-09-18 | Sergio Demian LERNER | Method and apparatus for secure interaction with a computer service provider |
CN104123120A (zh) * | 2013-04-23 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 一种浏览器页面数据过滤方法、装置和系统 |
US20170111463A1 (en) * | 2014-06-12 | 2017-04-20 | Canon Kabushiki Kaisha | Improved adaptive persistent push |
CN106055198A (zh) * | 2016-05-26 | 2016-10-26 | 维沃移动通信有限公司 | 一种基于内容显示通知的方法及移动终端 |
CN112422508A (zh) * | 2020-10-19 | 2021-02-26 | 武汉烽火众智数字技术有限责任公司 | 一种在浏览器网页中播放视频的方法及系统 |
Non-Patent Citations (1)
Title |
---|
伊人如梦月犹残: "Java sring-WebSocket json参数传递与接收", 《HTTPS://WWW.CNBLOG.COM/BCYDSL/P/10569887.HTML》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210133388A1 (en) | Webpage rendering method, device, electronic apparatus and storage medium | |
US11119812B2 (en) | Method and device for processing application program page according to a common interface container | |
KR102481065B1 (ko) | 애플리케이션 기능 구현 방법 및 전자 디바이스 | |
US9513979B2 (en) | Mobile communication device providing interconnectivity between apps based on storage scope | |
US9342329B2 (en) | Method and system for cross-operating systems execution of software applications | |
CN109542366B (zh) | 基于浏览器的打印方法、装置、设备和存储介质 | |
US10877825B2 (en) | System for offline object based storage and mocking of rest responses | |
JP2018508059A (ja) | ネットワークベース静的フォントサブセット管理 | |
CN113127361B (zh) | 应用程序的开发方法、装置、电子设备和存储介质 | |
CN112088362B (zh) | 针对已保存站点的通知更新 | |
US20170033980A1 (en) | Agent manager for distributed transaction monitoring system | |
WO2024011899A1 (zh) | 微件的加载方法、装置、设备以及存储介质 | |
EP3813326A1 (en) | Method and apparatus for processing webpage, device, and storage medium | |
US20140344447A1 (en) | Method and apparatus for executing application | |
CN113220273B (zh) | 微前端应用资源处理方法、装置、设备和介质 | |
GB2575703A (en) | Protocol to initiate session with partner site | |
CN112394907A (zh) | 基于容器的交付系统构建方法、应用交付方法和交付系统 | |
AU2018390863B2 (en) | Computer system and method for extracting dynamic content from websites | |
CN113268320A (zh) | 应用程序的迁移方法、装置、计算机设备和存储介质 | |
JP6261325B2 (ja) | Webフォント配信方法及びそのためのシステム | |
CN112667271B (zh) | 软件升级方法、装置、设备、系统和存储介质 | |
CN113778544A (zh) | 资源加载的优化方法、装置、系统、电子设备和存储介质 | |
CN111857782A (zh) | 界面更新方法、装置、计算机设备和存储介质 | |
Liu et al. | ACES-Application cloud for embedded systems | |
CN112559213B (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 |