CN114661483A - 子程序同步处理方法及装置 - Google Patents
子程序同步处理方法及装置 Download PDFInfo
- Publication number
- CN114661483A CN114661483A CN202210287184.9A CN202210287184A CN114661483A CN 114661483 A CN114661483 A CN 114661483A CN 202210287184 A CN202210287184 A CN 202210287184A CN 114661483 A CN114661483 A CN 114661483A
- Authority
- CN
- China
- Prior art keywords
- subprogram
- local
- page
- event
- trigger event
- 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
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 124
- 238000003672 processing method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 85
- 230000009471 action Effects 0.000 claims abstract description 72
- 230000004044 response Effects 0.000 claims abstract description 61
- 230000002452 interceptive effect Effects 0.000 claims abstract description 57
- 238000001514 detection method Methods 0.000 claims description 55
- 230000003993 interaction Effects 0.000 claims description 54
- 238000009877 rendering Methods 0.000 claims description 29
- 238000004458 analytical method Methods 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 claims description 7
- 238000000034 method Methods 0.000 description 69
- 230000008569 process Effects 0.000 description 38
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 230000006872 improvement Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 239000000047 product Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本说明书实施例提供了子程序同步处理方法及装置,其中,一种子程序同步处理方法包括:获取终端设备的本地子程序的触发事件;检测所述本地子程序与程序容器内对应的远程子程序的协同状态;所述程序容器安装于所述远程服务器部署的虚拟机;若所述协同状态为交互同步状态,对所述触发事件进行解析获得所述触发事件的事件类型;基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
Description
技术领域
本文件涉及数据处理技术领域,尤其涉及一种子程序同步处理方法及装置。
背景技术
端云小程序是一种在云端进行小程序渲染,在终端设备上展示小程序页面的应用模式,包括云端小程序和本地小程序,让小程序不再受限于终端设备的硬件配置,为用户提供更好的性能体验。但是这种模式也将小程序的工作过程分成了本地和云端两个部分,分别运行在本地终端设备和云端虚拟系统内。
发明内容
本说明书一个或多个实施例提供了一种子程序同步处理方法,应用于远程服务器,包括:获取终端设备的本地子程序的触发事件。检测所述本地子程序与程序容器内对应的远程子程序的协同状态;所述程序容器安装于所述远程服务器部署的虚拟机。若所述协同状态为交互同步状态,对所述触发事件进行解析获得所述触发事件的事件类型。基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
本说明书一个或多个实施例提供了另一种子程序同步处理方法,应用于终端设备,包括:检测本地子程序的触发事件,并将所述触发事件向远程服务器上传。接收所述远程服务器同步的子程序页面;所述子程序页面在基于程序容器执行所述触发事件的事件类型对应的事件响应动作后获得。根据所述子程序页面执行针对所述本地子程序的页面更新处理;其中,所述程序容器安装于所述远程服务器部署的虚拟机。
本说明书一个或多个实施例提供了一种子程序同步处理装置,运行于远程服务器,包括:触发事件获取模块,被配置为获取终端设备的本地子程序的触发事件。协同状态检测模块,被配置为检测所述本地子程序与程序容器内对应的远程子程序的协同状态;所述程序容器安装于所述远程服务器部署的虚拟机。若所述协同状态为交互同步状态,运行事件类型解析模块,所述事件类型解析模块,被配置为对所述触发事件进行解析获得所述触发事件的事件类型。事件响应动作执行模块,被配置为基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
本说明书一个或多个实施例提供了另一种子程序同步处理装置,运行于终端设备,包括:触发事件检测模块,被配置为检测本地子程序的触发事件,并将所述触发事件向远程服务器上传。子程序页面接收模块,被配置为接收所述远程服务器同步的子程序页面;所述子程序页面在基于程序容器执行所述触发事件的事件类型对应的事件响应动作后获得。页面更新处理模块,被配置为根据所述子程序页面执行针对所述本地子程序的页面更新处理;其中,所述程序容器安装于所述远程服务器部署的虚拟机。
本说明书一个或多个实施例提供了一种子程序同步处理设备,包括:处理器;以及,被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器:获取终端设备的本地子程序的触发事件。检测所述本地子程序与程序容器内对应的远程子程序的协同状态;所述程序容器安装于远程服务器部署的虚拟机。若所述协同状态为交互同步状态,对所述触发事件进行解析获得所述触发事件的事件类型。基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
本说明书一个或多个实施例提供了另一种子程序同步处理设备,包括:处理器;以及,被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器:检测本地子程序的触发事件,并将所述触发事件向远程服务器上传。接收所述远程服务器同步的子程序页面;所述子程序页面在基于程序容器执行所述触发事件的事件类型对应的事件响应动作后获得。根据所述子程序页面执行针对所述本地子程序的页面更新处理;其中,所述程序容器安装于所述远程服务器部署的虚拟机。
本说明书一个或多个实施例提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:获取终端设备的本地子程序的触发事件。检测所述本地子程序与程序容器内对应的远程子程序的协同状态;所述程序容器安装于远程服务器部署的虚拟机。若所述协同状态为交互同步状态,对所述触发事件进行解析获得所述触发事件的事件类型。基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
本说明书一个或多个实施例提供了另一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:检测本地子程序的触发事件,并将所述触发事件向远程服务器上传。接收所述远程服务器同步的子程序页面;所述子程序页面在基于程序容器执行所述触发事件的事件类型对应的事件响应动作后获得。根据所述子程序页面执行针对所述本地子程序的页面更新处理;其中,所述程序容器安装于所述远程服务器部署的虚拟机。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图;
图1为本说明书一个或多个实施例提供的一种子程序同步处理方法处理流程图;
图2为本说明书一个或多个实施例提供的一种远程子程序与本地子程序系统框图的示意图;
图3为本说明书一个或多个实施例提供的一种应用于交互同步场景的子程序同步处理方法处理时序图;
图4为本说明书一个或多个实施例提供的一种应用于启动同步场景的子程序同步处理方法处理时序图;
图5为本说明书一个或多个实施例提供的一种应用于本地退出场景的子程序同步处理方法处理流程图;
图6为本说明书一个或多个实施例提供的另一种子程序同步处理方法处理流程图;
图7为本说明书一个或多个实施例提供的一种子程序同步处理装置示意图;
图8为本说明书一个或多个实施例提供的另一种子程序同步处理装置示意图;
图9为本说明书一个或多个实施例提供的一种子程序同步处理设备的结构示意图;
图10为本说明书一个或多个实施例提供的另一种子程序同步处理设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
本说明书提供的一种子程序同步处理方法实施例:
参照图1,本实施例提供的子程序同步处理方法,应用于远程服务器,具体包括步骤S102至步骤S108。
步骤S102,获取终端设备的本地子程序的触发事件。
实际应用中,端云小程序在云端进行小程序页面渲染,在终端设备展示小程序页面的应用模式,将小程序的工作过程分成了本地和云端两个部分,分别运行在终端设备和云端虚拟系统内,若端云小程序未建立页面同步机制,则可能导致本地小程序和云端小程序的页面不同步的问题,降低用户体验。
针对于此,本实施例提供的子程序同步处理方法,通过与终端设备进行配合,建立远程子程序与本地子程序之间的页面同步机制,具体的,获取终端设备的本地子程序的触发事件,并检测本地子程序与程序容器内对应的远程子程序的协同状态,若协同状态为交互同步状态,根据对触发事件进行解析获得的触发事件的事件类型,确定并执行对应的事件响应动作,将动作执行后获得的子程序页面向终端设备进行同步,引入本地子程序与远程子程序的页面同步机制,保证本地子程序的显示页面与远程子程序的显示页面同步,提升用户的使用体验。
本实施例所述子程序,是指搭载于终端设备或者远程服务器的程序功能模块或者应用组件,或者,由终端设备或者远程服务器加载安装的程序功能模块或者应用组件,比如小程序。从服务的角度来讲,所述子程序具有独立提供自闭环服务的能力,比如具备服务预订、预订消息推送的自闭环能力的子程序。
所述本地子程序,是指搭载于终端设备的程序功能模块或者应用组件,或者,由终端设备加载安装的程序功能模块或者应用组件,比如本地小程序。所述远程服务器包括云端服务器。所述终端设备,配置有显示屏幕,包括不限于下述至少一项:用户终端、车辆安装的车机终端,车辆外接的IoT(Internet of Things)设备,智能音箱,无人售卖机,互动广告屏,POS(Point of sale)设备,以及智能电视、智能冰箱等智能家电产品,以及智能穿戴产品。
所述触发事件,包括下述至少一项:启动请求事件、交互事件、退出事件;可选的,所述触发事件包括所述终端设备拦截并上传的交互事件;所述终端设备在检测到用户触发所述本地子程序配置的交互接口提交的所述交互事件后,对所述交互事件进行拦截。
具体的,所述启动请求事件,是指终端设备针对本地子程序的启动以及访问页面的展示向远程服务器提交的事件;所述交互事件,是指用户触发本地子程序内的某个控件提交的事件,比如用户通过本地子程序的当前访问页面配置的交互接口输入信息后生成的交互事件或者用户触发本地子程序的当前访问页面配置的交互接口后生成的页面跳转事件;所述退出事件,包括本地子程序的异常退出事件,比如本地子程序的闪退事件。
本实施例中,远程服务器与终端设备配合实现子程序同步处理,子程序分为本地子程序与远程子程序,采用在远程子程序内进行页面渲染,在本地子程序内进行渲染后的页面的展示,本地子程序运行于终端设备的操作系统,本地子程序的页面访问通过操作系统配置的访问接口进行,比如IoT终端的操作系统配置的访问接口,此外,本地子程序的页面访问也可通过远程与本地交互的访问接口进行,本地子程序的页面访问还可通过搭载本地子程序的应用程序内的访问接口或者该本地子应用程序内的访问接口进行;远程服务器部署有众多虚拟机(虚拟系统),程序容器运行于远程服务器的虚拟机,程序容器具有检测服务,检测服务用于检测本地子程序与远程子程序的退出与运行状态,以在本地子程序与远程子程序的退出状态不一致时,进行本地子程序与远程子程序的退出状态同步,程序容器内可运行多个子程序,也可仅运行1个子程序。
如图2所示,远程服务器为云端服务器,云端服务器与终端设备之间采用自定义的传输控制协议进行事件或者数据通信,本地子程序运行于终端设备的操作系统,云端服务器部署有众多虚拟系统,数量不定,程序容器运行于远程服务器的虚拟系统,程序容器具有检测服务,检测服务用于检测本地子程序与远程子程序的退出与运行状态,程序容器内可运行多个子程序,也可仅运行1个子程序。
具体实施时,获取终端设备的本地子程序的触发事件,在此之前,终端设备检测本地子程序的触发事件,并将触发事件向远程服务器上传。在终端设备检测本地子程序的触发事件,并将触发事件向远程服务器上传的具体执行过程中,获取用户触发本地子程序配置的交互接口提交的交互事件;将交互事件进行拦截,并向远程服务器上传。
步骤S104,检测所述本地子程序与程序容器内对应的远程子程序的协同状态。
其中,所述程序容器安装于所述远程服务器部署的虚拟机;需要说明的是,此处的虚拟机包括远程服务器部署的单个虚拟机或者远程服务器部署的虚拟机群。
本实施例所述程序容器,是指面向远程服务器提供的运行框架或者运行引擎,通过在远程服务器部署的虚拟机上安装该程序容器,能够在该程序容器内运行远程子程序。本实施例所述远程子程序搭载于所述远程服务器的虚拟机运行的所述程序容器。所述远程子程序,是指搭载于远程服务器的程序功能模块或者应用组件,或者,由远程服务器加载安装的程序功能模块或者应用组件,比如云端小程序。
所述协同状态,是指本地子程序与远程子程序配合进行页面渲染的状态。比如,终端设备将触发事件上传远程服务器,根据交互事件在远程子程序内渲染访问页面,以同步终端设备在本地子程序内进行展示的状态。所述协同状态,包括交互同步状态、启动同步状态和本地退出状态。其中,交互同步状态为本地子程序的交互事件对应的协同状态,启动同步状态为本地子程序的启动请求事件对应的协同状态,本地退出状态为本地子程序的退出事件对应的协同状态。
上述获取终端设备的本地子程序的触发事件,在此基础上,本步骤检测本地子程序与程序容器内对应的远程子程序的协同状态,以根据协同状态对本地子程序的触发事件进行响应。
如上所述,检测到的本地子程序与远程子程序的协同状态包括3种,分别为交互同步状态、启动同步状态、本地退出状态,下述分别针对这3种协同状态下的触发事件的响应过程进行具体说明。
具体的,交互同步状态下的触发事件的响应过程的具体说明参见步骤S106和S108,启动同步状态和本地退出状态下的触发事件的响应过程的具体说明参见步骤S108。
步骤S106,若所述协同状态为交互同步状态,对所述触发事件进行解析获得所述触发事件的事件类型。
上述检测本地子程序与程序容器内对应的远程子程序的协同状态,在检测出的协同状态为交互协同状态的情况下,对触发事件进行解析获得触发事件的事件类型,以确定事件类型对应的事件响应动作并执行。
如上所述,检测到的本地子程序与远程子程序的协同状态包括3种,分别为交互同步状态、启动同步状态、本地退出状态,若协同状态为交互同步状态,对触发事件进行解析获得触发事件的事件类型,具体可以运用事件解析模型,将触发事件输入事件解析模型进行事件类型解析,获得事件解析模型输出的该触发事件对应的事件类型。
本实施例解析获得的事件类型,包括交互事件类型、回退事件类型和/或退出事件类型;例如,交互事件为用户触发本地子程序配置的某个交互控件输入交互信息或者用户触发本地子程序中的某项服务请求跳转到该服务的服务页面或者用户触发本地子程序配置的某个交互控件请求显示弹框信息,回退事件为用户触发回退控件,退出事件为用户触发退出控件。
步骤S108,基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
本实施例所述事件响应动作,是指针对触发事件进行响应时所要执行的动作。
上述在协同状态为交互同步状态的情况下,对触发事件进行解析获得所述触发事件的事件类型,在此基础上,本步骤借助程序容器执行解析获得的事件类型对应的事件响应动作,并将动作执行获得的子程序页面向终端设备同步,以在终端设备的本地子程序进行子程序页面的展示,以此来确保本地子程序与远程子程序的页面同步,借助远程服务器庞大的数据支持,渲染远程子程序的子程序页面并向终端设备同步,以提升本地子程序的性能以及美观度,进一步提升用户的使用体验。
具体实施时,上述对触发事件进行解析获得触发事件的事件类型,针对不同的事件类型存在不同的解决方案,以针对性地执行事件响应动作,本实施例提供的一种可选实施方式中,通过如下方式执行事件类型对应的事件响应动作:
若所述事件类型为交互事件类型,根据所述触发事件在所述远程子程序内渲染访问页面;将渲染后的访问页面同步至终端设备;
若所述事件类型为回退事件类型,判断所述触发事件对应的本地子程序的访问页面是否存在上级页面;
若存在,根据所述触发事件在所述远程子程序内渲染所述上级页面;将渲染后的上级页面向终端设备同步。
需要补充的是,若触发事件对应的本地子程序的访问页面不存在上级页面,向程序容器的检测服务同步针对本地子程序的退出通知,以记录本地子程序的退出状态,并判断页面栈数据是否为空;
若不为空,根据页面栈数据中记录的程序访问顺序,查询并读取本地子程序的前一本地子程序的访问页面;将读取的访问页面向终端设备同步;
若为空,向所述终端设备下发针对所述本地子程序的退出指令,并针对运行所述程序容器的目标虚拟机进行资源释放。
相应的,若事件类型为交互事件类型,终端设备接收远程服务器同步的渲染后的访问页面,在本地子程序内展示访问页面,此处的访问页面,是指根据触发事件生成的页面,比如用户触发本地子程序内的某项服务,跳转到该项服务的访问页面。
若事件类型为回退事件类型,且触发事件对应的本地子程序的访问页面存在上级页面,终端设备接收远程服务器同步的在远程子程序内渲染的本地子程序的访问页面的上级页面,根据上级页面更新本地子程序的访问页面,即根据上级页面更新本地子程序原本展示的页面。
若事件类型为回退事件类型,且触发事件对应的本地子程序的访问页面不存在上级页面,且页面栈数据不为空,终端设备接收远程服务器同步的本地子程序的前一本地子程序的访问页面;根据前一本地子程序的访问页面更新本地子程序的访问页面。
若事件类型为回退事件类型,且触发事件对应的本地子程序的访问页面不存在上级页面,且页面栈数据为空,终端设备接收远程服务器下发的针对本地子程序的退出指令,退出本地子程序的运行。
另外,若事件类型为交互事件类型,根据触发事件在远程子程序内渲染访问页面;若事件类型为回退事件类型,判断触发事件对应的本地子程序的访问页面是否存在上级页面;
若存在,根据触发事件在远程子程序内渲染上级页面;若不存在,判断页面栈数据是否为空;
若不为空,根据页面栈数据中记录的程序访问顺序,查询并读取本地子程序的前一本地子程序的访问页面;若为空,向终端设备下发针对本地子程序的退出指令,并针对运行程序容器的目标虚拟机进行资源释放。
在此基础上,除上述提供的触发事件为交互事件类型与回退事件类型的情况下,执行对应的事件响应动作的具体实现过程之外,针对事件类型为退出事件类型的情况,本实施例提供的一种可选实施方式中,通过如下方式执行事件类型对应的事件响应动作:
若所述事件类型为退出事件类型,向所述程序容器的检测服务同步针对所述本地子程序的退出通知,以记录所述本地子程序的退出状态,并判断页面栈数据是否为空;
若不为空,根据所述页面栈数据中记录的程序访问顺序,查询并读取所述本地子程序的前一本地子程序的访问页面。
此外,还可通过如下方式执行事件类型对应的事件响应动作:若所述事件类型为退出事件类型,判断页面栈数据是否为空;若不为空,根据所述页面栈数据中记录的程序访问顺序,查询并读取所述本地子程序的前一本地子程序的访问页面。
进一步,在提供执行针对3种事件类型对应的事件响应动作的具体实现过程的基础上,若上述页面栈数据为空,代表退出当前本地子程序且当前本地子程序之前不存在其他被访问的本地子程序,本实施例提供的一种可选实施方式中,若所述页面栈数据为空,向所述终端设备下发针对所述本地子程序的退出指令,并针对运行所述程序容器的目标虚拟机进行资源释放。
再进一步,在提供执行针对3种事件类型对应的事件响应动作的具体实现过程,以及针对页面栈数据为空的情况,向终端设备下发针对本地子程序的退出指令的基础上,可选的,若检测到所述本地子程序从第一访问页面跳转至第二访问页面,并从所述第二访问页面回跳至所述第一访问页面,在所述页面栈数据中删除所述第二访问页面的页面记录。
例如,本地子程序从A访问页面跳转至B访问页面,再从B访问页面回到A访问页面,在记录的页面栈数据中删除B访问页面的页面记录,以防止页面数据无效占用存储资源,提升存储资源利用率。
此外,若本地子程序与远程子程序的协同状态为启动同步状态,可向终端设备分配相应的虚拟机,并在此基础上运行程序容器以及在程序容器内运行远程子程序,并在远程子程序内进行访问页面的页面渲染,具体的,本实施例提供的一种可选实施方式中,还执行如下操作:
若所述协同状态为启动同步状态,在虚拟机池中向所述终端设备分配对应的目标虚拟机并进行绑定处理;
在绑定完成后启动所述目标虚拟机,并基于所述目标虚拟机启动所述程序容器;
在所述程序容器内运行所述远程子程序,基于所述程序容器针对所述远程子程序进行页面渲染获得访问页面;
向所述终端设备同步所述访问页面,以在所述本地子程序内进行展示。
在此之前,终端设备检测到用户触发本地子程序的访问控件提交的本地子程序的启动请求事件,将启动请求事件进行拦截向远程服务器上传,此时本地子程序显示启动画面,启动画面中可包含启动动画,相应的,远程服务器获取终端的本地子程序的启动请求事件,通过启动请求事件请求远程服务器分配相应的目标虚拟机;检测本地子程序与程序容器内对应的远程子程序的协同状态的过程中,程序容器内对应的远程子程序为空,即未启动,在此情况下的协同状态为启动协同状态。
在上述进行绑定处理的过程中,可选的,将所述终端设备的设备标识与所述目标虚拟机的虚拟机标识进行绑定;此外,也可将本地子程序的账户标识和终端设备的设备标识和目标虚拟机的虚拟机标识进行绑定;还可在本地子程序搭载运行在终端设备的宿主应用的情况下,将宿主应用的账户标识和/或终端设备的设备标识和目标虚拟机的虚拟机标识进行绑定。
需要说明的是,远程服务器部署有一定数量的虚拟机,其中,虚拟机池,是指由未与终端设备的设备标识绑定的虚拟机标识对应的虚拟机组成的虚拟机池,即闲置未工作的虚拟机群,在虚拟机的虚拟机标识与终端设备的设备标识绑定的过程中,该虚拟机标识对应的虚拟机仅为该设备标识对应的终端设备提供服务;所述虚拟机,包括虚拟系统;所述访问页面,是指启动本地子程序后展示的第一个页面。
再此外,除上述协同状态为交互同步状态以及启动同步状态之外,协同状态也可为本地退出状态,即检测到本地子程序出现退出状况,本实施例提供的一种可选实施方式中,还执行如下操作:
若所述协同状态为本地退出状态,在所述程序容器内退出所述远程子程序的运行,并针对运行所述程序容器的目标虚拟机进行资源释放;
其中,所述程序容器的检测服务按照预设时间周期向所述终端设备下发检测消息,并在检测到所述本地子程序未响应的检测消息的数目超出预设数目,确定所述协同状态为本地退出状态。
具体的,为了保证本地子程序与远程子程序的退出状态同步,在本地子程序退出的情况下,及时释放远程服务器的虚拟机资源,提高远程服务器的资源利用率,程序容器的检测服务按照预设时间周期(比如1ms)向终端设备下发检测消息,以通过本地子程序针对检测消息是否响应来确定本地子程序是否退出运行,在检测到本地子程序未响应的检测消息的数目超出预设数目时,确定协同状态为本地退出状态。
若协同状态为本地退出状态,即代表本地子程序已经退出运行,相应的,为了避免本地子程序退出的情况下,远程服务器的虚拟机资源未释放造成资源浪费,甚至其他用户无法请求远程服务器分配虚拟机资源,在程序容器内退出远程子程序的运行,并针对运行该程序容器的目标虚拟机进行资源释放,提升资源的利用率。
另外,实际应用中,用户通过手势退出的方式输入退出事件,远程子程序退出,本地子程序可能未退出,本地子程序显示黑屏,或者远程子程序异常退出(比如闪退)的情况下,无法向本地子程序同步退出消息,本地子程序显示黑屏,降低了用户体验,针对于此,本实施例提供的一种可选实施方式,程序容器的检测服务检测远程子程序的退出事件,及时向终端设备同步针对本地子程序的退出指令,具体的实现过程为:
基于所述程序容器的检测服务检测所述远程子程序的退出事件;
若所述退出事件为异常退出事件,向所述终端设备同步针对所述本地子程序的退出指令以退出所述本地子程序的运行;
关闭所述程序容器,并针对向所述终端设备分配的目标虚拟机进行资源释放。
具体的,程序容器的检测服务检测远程子程序的退出事件,代表远程子程序退出运行,若退出事件为正常退出事件,说明在本地子程序退出的情况下,远程子程序也退出运行,远程子程序的退出事件属于正常退出事件,此时不作处理即可;若退出事件为异常退出事件,代表远程子程序在本地子程序未退出的情况下已经退出运行,属于异常退出,此时向终端设备同步针对本地子程序的退出指令,相应的,终端设备退出本地子程序的运行,实现本地子程序与远程子程序的退出状态同步,并关闭程序容器,并及时释放目标虚拟机资源,提高云端服务器针对虚拟机的资源利用率。
综上所述,本实施例提供的子程序同步处理方法,首先获取终端设备的本地子程序的触发事件,检测本地子程序与程序容器内对应的远程子程序的协同状态,
其次若协同状态为交互同步状态,对触发事件进行解析获得触发事件的事件类型;
若事件类型为交互事件类型,根据触发事件在远程子程序内渲染访问页面;将渲染后的访问页面向终端设备同步;
若事件类型为回退事件类型,判断触发事件对应的本地子程序的访问页面是否存在上级页面;若存在,根据触发事件在远程子程序内渲染上级页面,将渲染后的上级页面向终端设备同步,若不存在,向程序容器的检测服务同步针对本地子程序的退出通知,以记录本地子程序的退出状态,并判断页面栈数据是否为空;若不为空,根据页面栈数据中记录的程序访问顺序,查询并读取本地子程序的前一本地子程序的访问页面,并将读取的前一本地子程序的访问页面向终端设备同步,若为空,向终端设备下发针对本地子程序的退出指令,并针对运行程序容器的目标虚拟机进行资源释放;
若事件类型为退出事件类型,向程序容器的检测服务同步针对本地子程序的退出通知,以记录本地子程序的退出状态,并判断页面栈数据是否为空;若不为空,根据页面栈数据中记录的程序访问顺序,查询并读取本地子程序的前一本地子程序的访问页面,并将读取的前一本地子程序的访问页面向终端设备同步,若为空,向终端设备下发针对本地子程序的退出指令,并针对运行程序容器的目标虚拟机进行资源释放;
再次,若协同状态为启动同步状态,在虚拟机池中向终端设备分配对应的目标虚拟机并进行绑定处理;在绑定完成后启动目标虚拟机,并基于目标虚拟机启动程序容器;在程序容器内运行远程子程序,基于程序容器针对远程子程序进行页面渲染获得访问页面;向终端设备同步访问页面,以在本地子程序内进行展示;
若协同状态为本地退出状态,在程序容器内退出远程子程序的运行,并针对运行程序容器的目标虚拟机进行资源释放;其中,程序容器的检测服务按照预设时间周期向终端设备下发检测消息,并在检测到本地子程序未响应的检测消息的数目超出预设数目,确定协同状态为本地退出状态。
此外,基于程序容器的检测服务检测远程子程序的退出事件;若退出事件为异常退出事件,向终端设备同步针对本地子程序的退出指令以退出本地子程序的运行;关闭程序容器,并针对向终端设备分配的目标虚拟机进行资源释放。
通过引入本地子程序与远程子程序的页面同步机制,保证本地子程序的显示页面与远程子程序的显示页面同步,提升用户的使用体验。
下述以本实施例提供的一种子程序同步处理方法在交互同步场景的应用为例,对本实施例提供的子程序同步处理方法进行进一步说明,参见图3,应用于交互同步场景的子程序同步处理方法,具体包括如下步骤。
步骤S304,检测本地子程序与程序容器内对应的云端子程序的协同状态。
其中,程序容器安装于云端服务器部署的虚拟机。
步骤S306,若协同状态为交互同步状态,对交互事件进行解析获得交互事件的事件类型。
步骤S308,若事件类型为回退事件类型,基于程序容器判断交互事件对应的本地子程序的访问页面是否存在上级页面;
若存在,基于程序容器并根据交互事件在云端子程序内渲染上级页面,并将渲染后的上级页面向终端设备同步;
若不存在,执行步骤S310至步骤S312。
此外,若事件类型为退出事件类型,向程序容器的检测服务同步针对本地子程序的退出通知,以记录本地子程序的退出状态,并判断页面栈数据是否为空;
若不为空,根据页面栈数据中记录的程序访问顺序,查询并读取本地子程序的前一本地子程序的访问页面;
若为空,向终端设备下发针对本地子程序的退出指令,并针对运行程序容器的目标虚拟机进行资源释放。
若事件类型为交互事件类型,根据交互事件在远程子程序内渲染访问页面。
步骤S310,向程序容器的检测服务同步针对本地子程序的退出通知,以记录本地子程序的退出状态。
步骤S312,判断页面栈数据是否为空;
若不为空,执行步骤S314至步骤S316;
若为空,执行步骤S322。
步骤S314,根据页面栈数据中记录的程序访问顺序,查询并读取本地子程序的前一本地子程序的访问页面。
步骤S316,向终端设备同步读取到的本地子程序的前一本地子程序的访问页面。
步骤S322,向终端设备下发针对本地子程序的退出指令,并针对运行程序容器的目标虚拟机进行资源释放。
下述以本实施例提供的一种子程序同步处理方法在启动同步场景的应用为例,对本实施例提供的子程序同步处理方法进行进一步说明,参见图4,应用于启动同步场景的子程序同步处理方法,具体包括如下步骤。
步骤S404,检测本地子程序与程序容器内对应的云端子程序的协同状态。
其中,程序容器安装于云端服务器部署的虚拟机。
步骤S406,在虚拟机池中向终端设备分配对应的目标虚拟机并进行绑定处理。
步骤S408,在绑定完成后启动目标虚拟机,并基于目标虚拟机启动程序容器。
步骤S410,在程序容器内运行云端子程序,基于程序容器针对云端子程序进行页面渲染获得访问页面。
步骤S412,向终端设备同步访问页面,以在本地子程序内进行展示。
下述以本实施例提供的一种子程序同步处理方法在本地退出场景的应用为例,对本实施例提供的子程序同步处理方法进行进一步说明,参见图5,应用于本地退出场景的子程序同步处理方法,具体包括如下步骤。
步骤S502,基于程序容器的检测服务按照预设时间周期向终端设备下发检测消息。
步骤S504,在检测到本地子程序未响应的检测消息的数目超出预设数目,确定协同状态为本地退出状态。
步骤S506,在程序容器内退出云端子程序的运行。
步骤S508,针对运行程序容器的目标虚拟机进行资源释放。
上述提供的交互同步场景与启动同步场景的子程序同步处理方法的实现过程,由远程服务器执行,下述方法实施例提供的应用于交互同步场景与启动同步场景的子程序同步处理方法的实现过程,由终端设备执行,二者在执行过程中相互配合,因此,阅读上述实现过程请参照下述方法实施例的对应内容。
本说明书提供的另一种子程序同步处理方法实施例:
在上述的实施例中,提供了一种子程序同步处理方法,应用于远程服务器,与之相配合的,本实施例还提供了一种子程序同步处理方法,应用于终端设备,下面结合附图进行说明。
参照图6,本实施例提供的子程序同步处理方法,应用于终端设备,具体包括步骤S602至步骤S606。
步骤S602,检测本地子程序的触发事件,并将所述触发事件向远程服务器上传。
本实施例提供的子程序同步处理方法,通过与远程服务器进行配合,检测本地子程序的触发事件,并将检测到的触发事件向远程服务器上传,以在远程服务器进行页面渲染,并展示接收的远程服务器同步的子程序页面,引入本地子程序与远程子程序的页面同步机制,保证本地子程序显示的访问页面与远程子程序显示的访问页面同步,提升用户的使用体验。
本实施例所述子程序,是指搭载于终端设备或者远程服务器的程序功能模块或者应用组件,或者,由终端设备或者远程服务器加载安装的程序功能模块或者应用组件,比如小程序。从服务的角度来讲,所述子程序具有独立提供自闭环服务的能力,比如具备服务预订、预订消息推送的自闭环能力的子程序。
所述本地子程序,是指搭载于终端设备的程序功能模块或者应用组件,或者,由终端设备加载安装的程序功能模块或者应用组件,比如本地小程序。所述远程服务器包括云端服务器。所述终端设备,配置有显示屏幕,包括不限于下述至少一项:用户终端、车辆安装的车机终端,车辆外接的IoT(Internet of Things)设备,智能音箱,无人售卖机,互动广告屏,POS(Point of sale)设备,以及智能电视、智能冰箱等智能家电产品,以及智能穿戴产品。
所述触发事件,包括下述至少一项:启动请求事件、交互事件、退出事件;具体的,所述触发事件包括终端设备拦截并上传的交互事件;终端设备在检测到用户触发本地子程序配置的交互接口提交的交互事件后,对交互事件进行拦截。
具体的,所述启动请求事件,是指终端设备针对本地子程序的启动以及访问页面的展示向远程服务器提交的事件;所述交互事件,是指用户触发本地子程序内的某个控件提交的事件,比如用户通过本地子程序的当前访问页面配置的交互接口输入信息后生成的交互事件或者用户触发本地子程序的当前访问页面配置的交互接口后生成的页面跳转事件;所述退出事件,包括本地子程序的异常退出事件,比如本地子程序的闪退事件。
本实施例中,远程服务器与终端设备配合实现子程序同步处理,子程序分为本地子程序与远程子程序,采用在远程子程序内进行页面渲染,在本地子程序内进行渲染后的页面的展示,本地子程序运行于终端设备的操作系统,本地子程序的页面访问通过操作系统配置的访问接口进行,比如IoT终端的操作系统配置的访问接口,此外,本地子程序的页面访问也可通过远程与本地交互的访问接口进行,本地子程序的页面访问还可通过搭载本地子程序的应用程序内的访问接口或者该本地子应用程序内的访问接口进行;远程服务器部署有众多虚拟机(虚拟系统),程序容器运行于远程服务器的虚拟机,程序容器具有检测服务,检测服务用于检测本地子程序与远程子程序的退出与运行状态,以在本地子程序与远程子程序的退出状态不一致时,进行本地子程序与远程子程序的退出状态同步,程序容器内可运行多个子程序,也可仅运行1个子程序。
其中,所述程序容器安装于远程服务器部署的虚拟机;需要说明的是,此处的虚拟机包括远程服务器部署的单虚拟机或者远程服务器部署的虚拟机群。
所述程序容器,是指面向远程服务器提供的运行框架或者运行引擎,通过在远程服务器部署的虚拟机上安装该程序容器,能够在该程序容器内运行远程子程序。本实施例所述远程子程序搭载于所述远程服务器的虚拟机运行的所述程序容器。所述远程子程序,是指搭载于远程服务器的程序功能模块或者应用组件,或者,由远程服务器加载安装的程序功能模块或者应用组件,比如云端小程序。
如图2所示,远程服务器为云端服务器,云端服务器与终端设备之间采用自定义的传输控制协议进行事件或者数据通信,本地子程序运行于终端设备的操作系统,云端服务器部署有众多虚拟系统,数量不定,程序容器运行于远程服务器的虚拟系统,程序容器具有检测服务,检测服务用于检测本地子程序与远程子程序的退出与运行状态,程序容器内可运行多个子程序,也可仅运行1个子程序。
具体实施时,检测本地子程序的触发事件,将检测到的触发事件向远程服务器上传,以在远程服务器进行事件响应,相应的,远程服务器获取终端设备的本地子程序的触发事件。
实际应用中,用户可通过本地子程序配置的接口输入交互事件,在此情况下,本地子程序对该交互事件不作响应,而是拦截该交互事件并上传远程服务器,以在远程服务器进行该交互事件的响应。本实施例提供的一种可选实施方式中,检测本地子程序的触发事件,并将触发事件向远程服务器的具体实现过程如下所述:
获取用户触发所述本地子程序配置的交互接口提交的交互事件;
将所述交互事件进行拦截,并向所述远程服务器上传。
在远程服务器获取本地子程序的触发事件之后,远程服务器检测本地子程序与程序容器内对应的远程子程序的协同状态;所述协同状态,是指本地子程序与远程子程序配合进行页面渲染的状态。比如,终端设备将触发事件上传远程服务器,根据交互事件在远程子程序内渲染访问页面,以同步终端设备在本地子程序进行展示的状态。所述协同状态,包括交互同步状态、启动同步状态和本地退出状态。其中,交互同步状态为本地子程序的交互事件对应的协同状态,启动同步状态为本地子程序的启动请求事件对应的协同状态,本地退出状态为本地子程序的退出事件对应的协同状态。
如上所述,检测到的本地子程序与远程子程序的协同状态包括3种,分别为交互同步状态、启动同步状态、本地退出状态,下述分别针对这3种协同状态下的触发事件的响应过程进行具体说明。
(1)协同状态为交互同步状态
若协同状态为交互同步状态,对触发事件进行解析获得触发事件的事件类型,基于程序容器执行事件类型对应的事件响应动作,具体可以运用事件解析模型,将触发事件输入事件解析模型进行事件类型解析,获得事件解析模型输出的该触发事件对应的事件类型。
其中,所述事件类型,包括交互事件类型、回退事件类型和/或退出事件类型;例如,交互事件为用户触发本地子程序配置的某个交互控件输入交互信息或者用户触发本地子程序中的某项服务请求跳转到该服务的服务页面或者用户触发本地子程序配置的某个交互控件请求显示弹框信息,回退事件为用户触发回退控件,退出事件为用户触发退出控件。
具体实施时,在对触发事件进行解析获得触发事件的事件类型的基础上,远程服务器基于程序容器执行事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向终端设备同步,以在终端设备的本地子程序进行子程序页面的展示,以此来确保本地子程序与远程子程序的页面同步,借助远程服务器庞大的数据支持,渲染远程子程序的子程序页面并向终端设备同步,以提升本地子程序的性能以及美观度,进一步提升用户的使用体验。
具体实施时,上述对触发事件进行解析获得触发事件的事件类型,针对不同的事件类型存在不同的解决方案,以针对性地执行事件响应动作,本实施例提供的一种可选实施方式中,远程服务器通过如下方式执行事件类型对应的事件响应动作:
若所述事件类型为交互事件类型,根据所述触发事件在所述远程子程序内渲染访问页面;将渲染后的访问页面同步至终端设备;
若所述事件类型为回退事件类型,判断所述触发事件对应的本地子程序的访问页面是否存在上级页面;
若存在,根据所述触发事件在所述远程子程序内渲染所述上级页面;将渲染后的上级页面向终端设备同步。
需要补充的是,若触发事件对应的本地子程序的访问页面不存在上级页面,远程服务器向程序容器的检测服务同步针对本地子程序的退出通知,以记录本地子程序的退出状态,并判断页面栈数据是否为空;
若不为空,根据页面栈数据中记录的程序访问顺序,查询并读取本地子程序的前一本地子程序的访问页面;将读取的访问页面向终端设备同步;
若为空,向所述终端设备下发针对所述本地子程序的退出指令,并针对运行所述程序容器的目标虚拟机进行资源释放。
另外,若事件类型为交互事件类型,远程服务器基于程序容器根据触发事件在远程子程序内渲染访问页面;若事件类型为回退事件类型,判断触发事件对应的本地子程序的访问页面是否存在上级页面;
若存在,根据触发事件在远程子程序内渲染上级页面;若不存在,判断页面栈数据是否为空;
若不为空,根据页面栈数据中记录的程序访问顺序,查询并读取本地子程序的前一本地子程序的访问页面;若为空,向终端设备下发针对本地子程序的退出指令,并针对运行程序容器的目标虚拟机进行资源释放。
在此基础上,除上述提供的触发事件为交互事件类型与回退事件类型的情况下,执行对应的事件响应动作的具体实现过程之外,针对事件类型为退出事件类型的情况,远程服务器通过如下方式执行事件类型对应的事件响应动作:
若所述事件类型为退出事件类型,向所述程序容器的检测服务同步针对所述本地子程序的退出通知,以记录所述本地子程序的退出状态,并判断页面栈数据是否为空;
若不为空,根据所述页面栈数据中记录的程序访问顺序,查询并读取所述本地子程序的前一本地子程序的访问页面。
此外,远程服务器还可通过如下方式执行事件类型对应的事件响应动作:若事件类型为退出事件类型,判断页面栈数据是否为空;若不为空,根据页面栈数据中记录的程序访问顺序,查询并读取本地子程序的前一本地子程序的访问页面。
进一步,在提供执行针对3个事件类型对应的事件响应动作的具体实现过程的基础上,若上述页面栈数据为空,代表退出当前本地子程序且当前本地子程序之前不存在其他访问的本地子程序,具体的,远程服务器执行如下操作:若所述页面栈数据为空,向所述终端设备下发针对所述本地子程序的退出指令,并针对运行所述程序容器的目标虚拟机进行资源释放。
再进一步,远程服务器在提供执行针对3个事件类型对应的事件响应动作的具体实现过程,以及针对页面栈数据为空的情况,向终端设备下发针对本地子程序的退出指令的基础上,具体的,若检测到本地子程序从第一访问页面跳转至第二访问页面,并从第二访问页面回跳至第一访问页面,在页面栈数据中删除第二访问页面的页面记录。
例如,本地子程序从A访问页面跳转至B访问页面,再从B访问页面回到A访问页面,在记录的页面栈数据中删除B访问页面的页面记录,以防止页面数据无效占用存储资源,提升存储资源利用率。
(2)协同状态为启动同步状态
远程服务器向终端设备分配相应的虚拟机,并在此基础上运行程序容器以及在程序容器内运行远程子程序,并在远程子程序内进行访问页面的页面渲染,具体的,本实施例提供的一种可选实施方式中,远程服务器还执行如下操作:
若协同状态为启动同步状态,在虚拟机池中向终端设备分配对应的目标虚拟机并进行绑定处理;
在绑定完成后启动所述目标虚拟机,并基于目标虚拟机启动程序容器;
在程序容器内运行远程子程序,基于程序容器针对远程子程序进行页面渲染获得访问页面;
向终端设备同步访问页面,以在本地子程序内进行展示。
在此之前,终端设备检测到用户触发本地子程序的访问控件提交的本地子程序的启动请求事件,将启动请求事件进行拦截向远程服务器上传,此时本地子程序显示启动画面,启动画面中可包含启动动画,相应的,远程服务器获取终端的本地子程序的启动请求事件,通过启动请求事件请求远程服务器分配相应的目标虚拟机;检测本地子程序与程序容器内对应的远程子程序的协同状态的过程中,程序容器内对应的远程子程序为空,即未启动,在此情况下的协同状态为启动协同状态。
在上述进行绑定处理的过程中,远程服务器将终端设备的设备标识与目标虚拟机的虚拟机标识进行绑定;此外,也可将本地子程序的账户标识和终端设备的设备标识和目标虚拟机的虚拟机标识进行绑定;还可在本地子程序搭载运行在终端设备的宿主应用的情况下,将宿主应用的账户标识和/或终端设备的设备标识和目标虚拟机的虚拟机标识进行绑定。
需要说明的是,远程服务器部署有一定数量的虚拟机,其中,虚拟机池,是指由未与终端设备的设备标识绑定的虚拟机标识对应的虚拟机组成的虚拟机池,即闲置未工作的虚拟机群,在虚拟机的虚拟机标识与终端设备的设备标识绑定的过程中,该虚拟机标识对应的虚拟机仅为该设备标识对应的终端设备提供服务;所述虚拟机,包括虚拟系统;所述访问页面,是指启动本地子程序后展示的第一个页面。
(3)协同状态为启动同步状态
此外,除上述协同状态为启动同步状态之外,协同状态也可为本地退出状态,即检测到本地子程序出现退出状况,远程服务器还执行如下操作:
若协同状态为本地退出状态,在程序容器内退出远程子程序的运行,并针对运行程序容器的目标虚拟机进行资源释放;
其中,程序容器的检测服务按照预设时间周期向终端设备下发检测消息,并在检测到本地子程序未响应的检测消息的数目超出预设数目,确定协同状态为本地退出状态。
具体的,为了保证本地子程序与远程子程序的退出状态同步,在本地子程序退出的情况下,远程服务器及时释放虚拟机资源,提高远程服务器的资源利用率,远程服务器基于程序容器的检测服务按照预设时间周期(比如1ms)向终端设备下发检测消息,以通过本地子程序针对检测消息是否响应来确定本地子程序是否退出运行,在检测到本地子程序未响应的检测消息的数目超出预设数目时,确定协同状态为本地退出状态。
若协同状态为本地退出状态,即代表本地子程序已经退出运行,相应的,为了避免本地子程序退出的情况下,远程服务器的虚拟机资源未释放造成资源浪费,甚至其他用户无法请求远程服务器分配虚拟机资源,远程服务器在程序容器内退出远程子程序的运行,并针对运行该程序容器的目标虚拟机进行资源释放,提升资源的利用率。
另外,实际应用中,用户通过手势退出的方式输入退出事件,远程子程序退出,本地子程序可能未退出,本地子程序显示黑屏,或者远程子程序异常退出(比如闪退)的情况下,无法向本地子程序同步退出消息,本地子程序显示黑屏,降低了用户体验,针对于此,远程服务器基于程序容器的检测服务检测远程子程序的退出事件,及时向终端设备同步针对本地子程序的退出指令,具体的实现过程为:
基于程序容器的检测服务检测远程子程序的退出事件;
若退出事件为异常退出事件,向终端设备同步针对本地子程序的退出指令以退出本地子程序的运行;
关闭程序容器,并针对向终端设备分配的目标虚拟机进行资源释放。
具体的,程序容器的检测服务检测远程子程序的退出事件,代表远程子程序退出运行,若退出事件为正常退出事件,说明在本地子程序退出的情况下,远程子程序也退出运行,远程子程序的退出事件属于正常退出事件,此时不作处理即可;若退出事件为异常退出事件,代表远程子程序在本地子程序未退出的情况下已经退出运行,属于异常退出,此时向终端设备同步针对本地子程序的退出指令,相应的,终端设备退出本地子程序的运行,实现本地子程序与远程子程序的退出状态同步,并关闭程序容器,并及时释放目标虚拟机资源,提高云端服务器针对虚拟机的资源利用率。
步骤S604,接收所述远程服务器同步的子程序页面。
其中,所述子程序页面在基于程序容器执行所述触发事件的事件类型对应的事件响应动作后获得;所述程序容器安装于所述远程服务器部署的虚拟机。
上述检测本地子程序的触发事件,并将触发事件向远程服务器上传,相应的,远程服务器基于程序容器执行触发事件的事件类型对应的事件响应动作后获得子程序页面,在此基础上,本步骤接收远程服务器同步的子程序页面。
如上所述,远程服务器分别执行触发事件的3个事件类型对应的事件响应动作,若事件类型为交互事件类型,远程服务器根据触发事件在远程子程序内渲染访问页面;将渲染后的访问页面同步至终端设备;相应的,终端设备接收远程服务器同步的渲染后的访问页面,此处的访问页面,是指根据触发事件生成的页面,比如用户触发本地子程序内的某项服务,跳转到该项服务的访问页面。
若事件类型为回退事件类型,且触发事件对应的本地子程序的访问页面存在上级页面,远程服务器根据触发事件在远程子程序内渲染上级页面;将渲染后的上级页面向终端设备同步,相应的,终端设备接收远程服务器同步的渲染后的上级页面。
若事件类型为回退事件类型,且触发事件对应的本地子程序的访问页面不存在上级页面,且页面栈数据为空,远程服务器向终端设备下发针对本地子程序的退出指令,并针对运行程序容器的目标虚拟机进行资源释放,相应的,终端设备接收远程服务器下发的针对本地子程序的退出指令,基于退出指令退出本地子程序的运行。
若事件类型为回退事件类型,且触发事件对应的本地子程序的访问页面不存在上级页面,且页面栈数据不为空,远程服务器根据页面栈数据中记录的程序访问顺序,查询并读取本地子程序的前一本地子程序的访问页面;将读取的访问页面向终端设备同步;相应的,终端设备接收远程服务器同步的查询并读取的本地子程序的前一本地子程序的访问页面。
步骤S606,根据所述子程序页面执行针对所述本地子程序的页面更新处理。
在上述接收远程服务器同步的子程序页面的基础上,本步骤根据子程序页面执行针对本地子程序的页面更新处理;需要说明的是,此处本地子程序的页面可以被更新为本地子程序内的其他页面或者本地子程序的前一本地子程序的访问页面,或者其他页面。
具体实施时,针对上述终端设备接收远程服务器同步的渲染后的上级页面,本实施例提供的一种可选实施方式中,终端设备在根据子程序页面执行针对本地子程序的页面更新处理的过程中,执行如下操作:
根据所述远程服务器同步的所述本地子程序的访问页面的上级页面更新所述本地子程序的访问页面。
此处的访问页面即根据上级页面更新本地子程序原本展示的页面。
针对上述终端设备接收远程服务器同步的查询并读取的本地子程序的前一本地子程序的访问页面,本实施例提供的一种可选实施方式中,终端设备在根据子程序页面执行针对本地子程序的页面更新处理的过程中,执行如下操作:
根据所述远程服务器同步的所述本地子程序的前一本地子程序的访问页面更新所述本地子程序的访问页面。
综上所述,本实施例提供的子程序同步处理方法,首先检测本地子程序的触发事件,并将触发事件向远程服务器上传,其次接收远程服务器同步的子程序页面,最后根据子程序页面执行针对本地子程序的页面更新处理,通过引入本地子程序与远程子程序的页面同步机制,保证本地子程序的显示页面与远程子程序的显示页面同步,提升用户的使用体验。
下述以本实施例提供的一种子程序同步处理方法在交互同步场景的应用为例,对本实施例提供的子程序同步处理方法进行进一步说明,参见图3,应用于交互同步场景的子程序同步处理方法,具体包括如下步骤。
步骤S302,检测本地子程序的交互事件,拦截交互事件并向云端服务器上传。
步骤S318,接收云端服务器同步的本地子程序的前一本地子程序的访问页面。
步骤S320,根据前一本地子程序的访问页面更新本地子程序的访问页面。
步骤S324,接收云端服务器同步的针对本地子程序的退出指令,并退出本地子程序的运行。
下述以本实施例提供的一种子程序同步处理方法在启动同步场景的应用为例,对本实施例提供的子程序同步处理方法进行进一步说明,参见图4,应用于启动同步场景的子程序同步处理方法,具体包括如下步骤。
步骤S402,检测本地子程序的启动请求事件,并将启动请求事件向云端服务器上传。
步骤S414,接收云端服务器同步的渲染获得的访问页面,在本地子程序内进行展示。
综上所述,本实施例提供的子程序同步处理方法,
本说明书提供的一种子程序同步处理装置实施例如下:
在上述的实施例中,提供了一种应用于远程服务器的子程序同步处理方法,与之相对应的,还提供了一种运行于远程服务器的子程序同步处理装置,下面结合附图进行说明。
参照图7,其示出了本实施例提供的一种子程序同步处理装置示意图。
由于装置实施例对应于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例提供一种子程序同步处理装置,运行于远程服务器,包括:
触发事件获取模块702,被配置为获取终端设备的本地子程序的触发事件;
协同状态检测模块704,被配置为检测所述本地子程序与程序容器内对应的远程子程序的协同状态;所述程序容器安装于所述远程服务器部署的虚拟机;
若所述协同状态为交互同步状态,运行事件类型解析模块706,所述事件类型解析模块706,被配置为对所述触发事件进行解析获得所述触发事件的事件类型;
事件响应动作执行模块708,被配置为基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
本说明书提供的另一种子程序同步处理装置实施例如下:
在上述的实施例中,提供了一种应用于终端设备的子程序同步处理方法,与之相对应的,还提供了一种运行于终端设备的子程序同步处理装置,下面结合附图进行说明。
参照图8,其示出了本实施例提供的一种子程序同步处理装置示意图。
由于装置实施例对应于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例提供一种子程序同步处理装置,运行于终端设备,包括:
触发事件检测模块802,被配置为检测本地子程序的触发事件,并将所述触发事件向远程服务器上传;
子程序页面接收模块804,被配置为接收所述远程服务器同步的子程序页面;所述子程序页面在基于程序容器执行所述触发事件的事件类型对应的事件响应动作后获得;
页面更新处理模块806,被配置为根据所述子程序页面执行针对所述本地子程序的页面更新处理;其中,所述程序容器安装于所述远程服务器部署的虚拟机。
本说明书提供的一种子程序同步处理设备实施例如下:
对应上述描述的一种应用于远程服务器的子程序同步处理方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种子程序同步处理设备,该子程序同步处理设备用于执行上述提供的子程序同步处理方法,图9为本说明书一个或多个实施例提供的一种子程序同步处理设备的结构示意图。
本实施例提供的一种子程序同步处理设备,包括:
如图9所示,子程序同步处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器901和存储器902,存储器902中可以存储有一个或一个以上存储应用程序或数据。其中,存储器902可以是短暂存储或持久存储。存储在存储器902的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括子程序同步处理设备中的一系列计算机可执行指令。更进一步地,处理器901可以设置为与存储器902通信,在子程序同步处理设备上执行存储器902中的一系列计算机可执行指令。子程序同步处理设备还可以包括一个或一个以上电源903,一个或一个以上有线或无线网络接口904,一个或一个以上输入/输出接口905,一个或一个以上键盘906等。
在一个具体的实施例中,子程序同步处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对子程序同步处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取终端设备的本地子程序的触发事件;
检测所述本地子程序与程序容器内对应的远程子程序的协同状态;所述程序容器安装于远程服务器部署的虚拟机;
若所述协同状态为交互同步状态,对所述触发事件进行解析获得所述触发事件的事件类型;
基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
本说明书提供的另一种子程序同步处理设备实施例如下:
对应上述描述的一种应用于终端设备的子程序同步处理方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种子程序同步处理设备,该子程序同步处理设备用于执行上述提供的子程序同步处理方法,图10为本说明书一个或多个实施例提供的一种子程序同步处理设备的结构示意图。
本实施例提供的一种子程序同步处理设备,包括:
如图10所示,子程序同步处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1001和存储器1002,存储器1002中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1002可以是短暂存储或持久存储。存储在存储器1002的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括子程序同步处理设备中的一系列计算机可执行指令。更进一步地,处理器1001可以设置为与存储器1002通信,在子程序同步处理设备上执行存储器1002中的一系列计算机可执行指令。子程序同步处理设备还可以包括一个或一个以上电源1003,一个或一个以上有线或无线网络接口1004,一个或一个以上输入/输出接口1005,一个或一个以上键盘1006等。
在一个具体的实施例中,子程序同步处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对子程序同步处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
检测本地子程序的触发事件,并将所述触发事件向远程服务器上传;
接收所述远程服务器同步的子程序页面;所述子程序页面在基于程序容器执行所述触发事件的事件类型对应的事件响应动作后获得;
根据所述子程序页面执行针对所述本地子程序的页面更新处理;
其中,所述程序容器安装于所述远程服务器部署的虚拟机。
本说明书提供的一种存储介质实施例如下:
对应上述描述的一种应用于远程服务器的子程序同步处理方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种存储介质。
本实施例提供的存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:
获取终端设备的本地子程序的触发事件;
检测所述本地子程序与程序容器内对应的远程子程序的协同状态;所述程序容器安装于远程服务器部署的虚拟机;
若所述协同状态为交互同步状态,对所述触发事件进行解析获得所述触发事件的事件类型;
基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
需要说明的是,本说明书中关于存储介质的实施例与本说明书中关于子程序同步处理方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应方法的实施,重复之处不再赘述。
本说明书提供的另一种存储介质实施例如下:
对应上述描述的一种应用于终端设备的子程序同步处理方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种存储介质。
本实施例提供的存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:
检测本地子程序的触发事件,并将所述触发事件向远程服务器上传;
接收所述远程服务器同步的子程序页面;所述子程序页面在基于程序容器执行所述触发事件的事件类型对应的事件响应动作后获得;
根据所述子程序页面执行针对所述本地子程序的页面更新处理;
其中,所述程序容器安装于所述远程服务器部署的虚拟机。
需要说明的是,本说明书中关于存储介质的实施例与本说明书中关于子程序同步处理方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应方法的实施,重复之处不再赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪30年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本文件的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本文件可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。
Claims (23)
1.一种子程序同步处理方法,应用于远程服务器,包括:
获取终端设备的本地子程序的触发事件;
检测所述本地子程序与程序容器内对应的远程子程序的协同状态;所述程序容器安装于所述远程服务器部署的虚拟机;
若所述协同状态为交互同步状态,对所述触发事件进行解析获得所述触发事件的事件类型;
基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
2.根据权利要求1所述的子程序同步处理方法,所述执行所述事件类型对应的事件响应动作,包括:
若所述事件类型为交互事件类型,根据所述触发事件在所述远程子程序内渲染访问页面;
若所述事件类型为回退事件类型,判断所述触发事件对应的本地子程序的访问页面是否存在上级页面;
若存在,根据所述触发事件在所述远程子程序内渲染所述上级页面。
3.根据权利要求2所述的子程序同步处理方法,所述执行所述事件类型对应的事件响应动作,还包括:
若所述事件类型为退出事件类型,向所述程序容器的检测服务同步针对所述本地子程序的退出通知,以记录所述本地子程序的退出状态,并判断页面栈数据是否为空;
若不为空,根据所述页面栈数据中记录的程序访问顺序,查询并读取所述本地子程序的前一本地子程序的访问页面。
4.根据权利要求3所述的子程序同步处理方法,还包括:
若所述页面栈数据为空,向所述终端设备下发针对所述本地子程序的退出指令,并针对运行所述程序容器的目标虚拟机进行资源释放。
5.根据权利要求4所述的子程序同步处理方法,还包括:
若检测到所述本地子程序从第一访问页面跳转至第二访问页面,并从所述第二访问页面回跳至所述第一访问页面,在所述页面栈数据中删除所述第二访问页面的页面记录。
6.根据权利要求1所述的子程序同步处理方法,还包括:
若所述协同状态为启动同步状态,在虚拟机池中向所述终端设备分配对应的目标虚拟机并进行绑定处理;
在绑定完成后启动所述目标虚拟机,并基于所述目标虚拟机启动所述程序容器;
在所述程序容器内运行所述远程子程序,基于所述程序容器针对所述远程子程序进行页面渲染获得访问页面;
向所述终端设备同步所述访问页面,以在所述本地子程序内进行展示。
7.根据权利要求6所述的子程序同步处理方法,所述进行绑定处理,包括:
将所述终端设备的设备标识与所述目标虚拟机的虚拟机标识进行绑定。
8.根据权利要求1所述的子程序同步处理方法,还包括:
若所述协同状态为本地退出状态,在所述程序容器内退出所述远程子程序的运行,并针对运行所述程序容器的目标虚拟机进行资源释放;
其中,所述程序容器的检测服务按照预设时间周期向所述终端设备下发检测消息,并在检测到所述本地子程序未响应的检测消息的数目超出预设数目,确定所述协同状态为本地退出状态。
9.根据权利要求1所述的子程序同步处理方法,所述触发事件包括所述终端设备拦截并上传的交互事件;所述终端设备在检测到用户触发所述本地子程序配置的交互接口提交的所述交互事件后,对所述交互事件进行拦截。
10.根据权利要求1所述的子程序同步处理方法,还包括:
基于所述程序容器的检测服务检测所述远程子程序的退出事件;
若所述退出事件为异常退出事件,向所述终端设备同步针对所述本地子程序的退出指令以退出所述本地子程序的运行;
关闭所述程序容器,并针对向所述终端设备分配的目标虚拟机进行资源释放。
11.一种子程序同步处理方法,应用于终端设备,包括:
检测本地子程序的触发事件,并将所述触发事件向远程服务器上传;
接收所述远程服务器同步的子程序页面;所述子程序页面在基于程序容器执行所述触发事件的事件类型对应的事件响应动作后获得;
根据所述子程序页面执行针对所述本地子程序的页面更新处理;
其中,所述程序容器安装于所述远程服务器部署的虚拟机。
12.根据权利要求11所述的子程序同步处理方法,所述执行所述触发事件的事件类型对应的事件响应动作,包括:
若所述事件类型为交互事件类型,根据所述触发事件在远程子程序内渲染访问页面;
若所述事件类型为回退事件类型,判断所述触发事件对应的本地子程序的访问页面是否存在上级页面;
若存在,根据所述触发事件在所述远程子程序内渲染所述上级页面。
13.根据权利要求12所述的子程序同步处理方法,所述执行所述触发事件的事件类型对应的事件响应动作,还包括:
若所述事件类型为退出事件类型,向所述程序容器的检测服务同步针对所述本地子程序的退出通知,以记录所述本地子程序的退出状态,并判断页面栈数据是否为空;
若不为空,根据所述页面栈数据中记录的程序访问顺序,查询并读取所述本地子程序的前一本地子程序的访问页面。
14.根据权利要求11所述的子程序同步处理方法,所述根据所述子程序页面执行针对所述本地子程序的页面更新处理,包括:
根据所述远程服务器同步的所述本地子程序的访问页面的上级页面更新所述本地子程序的访问页面。
15.根据权利要求11所述的子程序同步处理方法,所述根据所述子程序页面执行针对所述本地子程序的页面更新处理,包括:
根据所述远程服务器同步的所述本地子程序的前一本地子程序的访问页面更新所述本地子程序的访问页面。
16.根据权利要求13所述的子程序同步处理方法,还包括:
若所述页面栈数据为空,接收所述远程服务器下发的针对所述本地子程序的退出指令,并基于所述退出指令退出所述本地子程序的运行。
17.根据权利要求11所述的子程序同步处理方法,所述检测本地子程序的触发事件,并将所述触发事件向远程服务器上传,包括:
获取用户触发所述本地子程序配置的交互接口提交的交互事件;
将所述交互事件进行拦截,并向所述远程服务器上传。
18.一种子程序同步处理装置,运行于远程服务器,包括:
触发事件获取模块,被配置为获取终端设备的本地子程序的触发事件;
协同状态检测模块,被配置为检测所述本地子程序与程序容器内对应的远程子程序的协同状态;所述程序容器安装于所述远程服务器部署的虚拟机;
若所述协同状态为交互同步状态,运行事件类型解析模块,所述事件类型解析模块,被配置为对所述触发事件进行解析获得所述触发事件的事件类型;
事件响应动作执行模块,被配置为基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
19.一种子程序同步处理装置,运行于终端设备,包括:
触发事件检测模块,被配置为检测本地子程序的触发事件,并将所述触发事件向远程服务器上传;
子程序页面接收模块,被配置为接收所述远程服务器同步的子程序页面;所述子程序页面在基于程序容器执行所述触发事件的事件类型对应的事件响应动作后获得;
页面更新处理模块,被配置为根据所述子程序页面执行针对所述本地子程序的页面更新处理;其中,所述程序容器安装于所述远程服务器部署的虚拟机。
20.一种子程序同步处理设备,包括:
处理器;以及,
被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器:
获取终端设备的本地子程序的触发事件;
检测所述本地子程序与程序容器内对应的远程子程序的协同状态;所述程序容器安装于远程服务器部署的虚拟机;
若所述协同状态为交互同步状态,对所述触发事件进行解析获得所述触发事件的事件类型;
基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
21.一种子程序同步处理设备,包括:
处理器;以及,
被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器:
检测本地子程序的触发事件,并将所述触发事件向远程服务器上传;
接收所述远程服务器同步的子程序页面;所述子程序页面在基于程序容器执行所述触发事件的事件类型对应的事件响应动作后获得;
根据所述子程序页面执行针对所述本地子程序的页面更新处理;
其中,所述程序容器安装于所述远程服务器部署的虚拟机。
22.一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:
获取终端设备的本地子程序的触发事件;
检测所述本地子程序与程序容器内对应的远程子程序的协同状态;所述程序容器安装于远程服务器部署的虚拟机;
若所述协同状态为交互同步状态,对所述触发事件进行解析获得所述触发事件的事件类型;
基于所述程序容器执行所述事件类型对应的事件响应动作,并将动作执行后获得的子程序页面向所述终端设备同步。
23.一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:
检测本地子程序的触发事件,并将所述触发事件向远程服务器上传;
接收所述远程服务器同步的子程序页面;所述子程序页面在基于程序容器执行所述触发事件的事件类型对应的事件响应动作后获得;
根据所述子程序页面执行针对所述本地子程序的页面更新处理;
其中,所述程序容器安装于所述远程服务器部署的虚拟机。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210287184.9A CN114661483A (zh) | 2022-03-23 | 2022-03-23 | 子程序同步处理方法及装置 |
PCT/CN2023/071370 WO2023179183A1 (zh) | 2022-03-23 | 2023-01-09 | 子程序同步处理 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210287184.9A CN114661483A (zh) | 2022-03-23 | 2022-03-23 | 子程序同步处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114661483A true CN114661483A (zh) | 2022-06-24 |
Family
ID=82030974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210287184.9A Pending CN114661483A (zh) | 2022-03-23 | 2022-03-23 | 子程序同步处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114661483A (zh) |
WO (1) | WO2023179183A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023179183A1 (zh) * | 2022-03-23 | 2023-09-28 | 支付宝(杭州)信息技术有限公司 | 子程序同步处理 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090031293A1 (en) * | 2007-07-27 | 2009-01-29 | Paul Marsala | Contained command invocation middleware framework |
US20120240166A1 (en) * | 2009-11-11 | 2012-09-20 | Zte Corporation | Method and system for managing program in word service of video program |
CN110928706A (zh) * | 2019-10-30 | 2020-03-27 | 北京奇艺世纪科技有限公司 | 小程序交互方法、装置、电子设备及存储介质 |
CN111610978A (zh) * | 2020-05-19 | 2020-09-01 | 中国建设银行股份有限公司 | 一种小程序转换方法、装置、设备及存储介质 |
CN111796819A (zh) * | 2020-05-19 | 2020-10-20 | 北京三快在线科技有限公司 | 小程序界面生成方法、装置、电子设备及可读存储介质 |
CN112882709A (zh) * | 2021-03-10 | 2021-06-01 | 百度在线网络技术(北京)有限公司 | 基于容器引擎系统的渲染方法、装置、设备以及存储介质 |
WO2021238996A1 (zh) * | 2020-05-27 | 2021-12-02 | 支付宝(杭州)信息技术有限公司 | 一种资源处理方法、装置及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2526152A (en) * | 2014-05-16 | 2015-11-18 | Vodafone Ip Licensing Ltd | Controlling a server |
CN105827683B (zh) * | 2015-09-29 | 2019-01-11 | 维沃移动通信有限公司 | 一种数据同步的方法、服务器及电子设备 |
CN109857486B (zh) * | 2019-02-02 | 2022-09-09 | 北京字节跳动网络技术有限公司 | 一种程序页面数据的处理方法、装置、设备和介质 |
CN113971251A (zh) * | 2021-10-28 | 2022-01-25 | 深圳市倍思奇创新科技有限公司 | 网页输出方法、系统及计算机可读存储介质 |
CN114661483A (zh) * | 2022-03-23 | 2022-06-24 | 支付宝(杭州)信息技术有限公司 | 子程序同步处理方法及装置 |
-
2022
- 2022-03-23 CN CN202210287184.9A patent/CN114661483A/zh active Pending
-
2023
- 2023-01-09 WO PCT/CN2023/071370 patent/WO2023179183A1/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090031293A1 (en) * | 2007-07-27 | 2009-01-29 | Paul Marsala | Contained command invocation middleware framework |
US20120240166A1 (en) * | 2009-11-11 | 2012-09-20 | Zte Corporation | Method and system for managing program in word service of video program |
CN110928706A (zh) * | 2019-10-30 | 2020-03-27 | 北京奇艺世纪科技有限公司 | 小程序交互方法、装置、电子设备及存储介质 |
CN111610978A (zh) * | 2020-05-19 | 2020-09-01 | 中国建设银行股份有限公司 | 一种小程序转换方法、装置、设备及存储介质 |
CN111796819A (zh) * | 2020-05-19 | 2020-10-20 | 北京三快在线科技有限公司 | 小程序界面生成方法、装置、电子设备及可读存储介质 |
WO2021238996A1 (zh) * | 2020-05-27 | 2021-12-02 | 支付宝(杭州)信息技术有限公司 | 一种资源处理方法、装置及设备 |
CN112882709A (zh) * | 2021-03-10 | 2021-06-01 | 百度在线网络技术(北京)有限公司 | 基于容器引擎系统的渲染方法、装置、设备以及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023179183A1 (zh) * | 2022-03-23 | 2023-09-28 | 支付宝(杭州)信息技术有限公司 | 子程序同步处理 |
Also Published As
Publication number | Publication date |
---|---|
WO2023179183A1 (zh) | 2023-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3567476B1 (en) | Application data processing method and apparatus, and storage medium | |
US20150333971A1 (en) | Method and device for managing processes of application program | |
TW201814510A (zh) | 介面移動方法、裝置、智慧型終端機、伺服器和操作系統 | |
CN110990075B (zh) | 快应用的启动方法、装置、设备及存储介质 | |
WO2019227994A1 (en) | Method and apparatus for updating application prediction model, storage medium, and terminal | |
CN112416613B (zh) | 一种应用数据处理方法、装置、设备以及介质 | |
CN104281478B (zh) | 更新应用程序的方法及装置 | |
CN109656445B (zh) | 内容处理方法、装置、终端及存储介质 | |
CN110019464B (zh) | 页面处理方法及装置 | |
US11455075B2 (en) | Display method when application is exited and terminal | |
CN104516885A (zh) | 浏览程序双内核组件的实现方法及装置 | |
CN113157464A (zh) | 一种将Linux端输入事件共享给Android的方法 | |
CN113268212A (zh) | 投屏方法、装置、存储介质及电子设备 | |
US20210216177A1 (en) | Navigation bar controlling method and terminal | |
WO2023179183A1 (zh) | 子程序同步处理 | |
CN111324398B (zh) | 最近内容的处理方法、装置、终端及存储介质 | |
CN110262749B (zh) | 一种网页操作方法、装置、容器、设备及介质 | |
CN114721761A (zh) | 一种终端设备、应用图标管理方法和存储介质 | |
CN111142997A (zh) | 一种应用显示方法、车机及计算机存储介质 | |
US11194598B2 (en) | Information display method, terminal and storage medium | |
CN112114804A (zh) | 应用程序的生成方法、装置及系统 | |
CN116088716B (zh) | 窗口管理方法和终端设备 | |
CN107301089B (zh) | 一种app部署及调用方法和终端 | |
CN114518894A (zh) | 程序更新处理方法及装置 | |
CN114356520A (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 |