CN109947504B - 一种在宿主程序中执行寄宿程序的方法与设备 - Google Patents
一种在宿主程序中执行寄宿程序的方法与设备 Download PDFInfo
- Publication number
- CN109947504B CN109947504B CN201910248402.6A CN201910248402A CN109947504B CN 109947504 B CN109947504 B CN 109947504B CN 201910248402 A CN201910248402 A CN 201910248402A CN 109947504 B CN109947504 B CN 109947504B
- Authority
- CN
- China
- Prior art keywords
- program
- hosted
- host
- hosted program
- execution
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请的目的是提供一种在宿主程序中执行寄宿程序的方法与设备,该方法包括:在宿主程序中启动执行第一寄宿程序;在所述宿主程序的后台启动执行第二寄宿程序,其中,所述第二寄宿程序与所述宿主程序中因执行所述第一寄宿程序而被中断的第二操作相对应。相比现有技术,本申请能够在宿主程序中启动执行第一寄宿程序时,在所述宿主程序的后台启动执行第二寄宿程序,以在第二寄宿程序中继续执行因执行所述第一寄宿程序而被中断的操作,从而避免了由于第一寄宿程序的启动执行而导致在宿主程序中重复执行操作,提高了宿主程序的执行效率。
Description
技术领域
本申请涉及通信领域,尤其涉及一种用于在宿主程序中执行寄宿程序的技术。
背景技术
寄宿程序是一种依托于宿主程序,不需要下载安装即可使用的程序,进一步扩充了宿主程序的功能,寄宿程序实现了程序“触手可及”的梦想,用户扫一扫或者搜一下即可打开程序,也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题,寄宿程序随时可用,无需安装卸载。随着时代的发展,出现越来越来的宿主程序,依托于宿主程序的寄宿程序也变得无所不在。
发明内容
本申请的一个目的是提供一种在宿主程序中执行寄宿程序的方法与设备。
根据本申请的一个方面,提供了一种在宿主程序中执行寄宿程序的方法,该方法包括:
在宿主程序中启动执行第一寄宿程序;
在所述宿主程序的后台启动执行第二寄宿程序,其中,所述第二寄宿程序与所述宿主程序中因执行所述第一寄宿程序而被中断的第二操作相对应。
根据本申请的一个方面,提供了一种在宿主程序中执行寄宿程序的设备,该设备包括。
一一模块,用于在宿主程序中启动执行第一寄宿程序;
一二模块,用于在所述宿主程序的后台启动执行第二寄宿程序,其中,所述第二寄宿程序与所述宿主程序中因执行所述第一寄宿程序而被中断的第二操作相对应。
根据本申请的一个方面,提供了一种在宿主程序中执行寄宿程序的设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如下操作:
在宿主程序中启动执行第一寄宿程序;
在所述宿主程序的后台启动执行第二寄宿程序,其中,所述第二寄宿程序与所述宿主程序中因执行所述第一寄宿程序而被中断的第二操作相对应。
根据本申请的一个方面,提供了一种存储指令的计算机可读介质,所述指令在被执行时使得系统进行如下操作:
在宿主程序中启动执行第一寄宿程序;
在所述宿主程序的后台启动执行第二寄宿程序,其中,所述第二寄宿程序与所述宿主程序中因执行所述第一寄宿程序而被中断的第二操作相对应。
与现有技术相比,本申请能够在宿主程序中启动执行第一寄宿程序时,在所述宿主程序的后台启动执行第二寄宿程序,以在第二寄宿程序中继续执行因执行所述第一寄宿程序而被中断的操作,从而避免了由于第一寄宿程序的启动执行而导致在宿主程序中重复执行操作,提高了宿主程序的执行效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个实施例的一种在宿主程序中执行寄宿程序的方法流程图;
图2示出根据本申请一个实施例的一种在宿主程序中执行寄宿程序的方法流程图;
图3示出根据本申请一个实施例的一种在宿主程序中执行寄宿程序的设备结构图;
图4示出可被用于实施本申请中所述各个实施例的示例性系统。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
图1示出了根据本申请一个实施例的一种在宿主程序中执行寄宿程序的方法流程图,该方法包括步骤S1和步骤S2。在步骤S1中,用户设备在宿主程序中启动执行第一寄宿程序;在步骤S2中,用户设备在所述宿主程序的后台启动执行第二寄宿程序,其中,所述第二寄宿程序与所述宿主程序中因执行所述第一寄宿程序而被中断的第二操作相对应。
在步骤S1中,用户设备在宿主程序中启动执行第一寄宿程序。其中,宿主程序是指能够在用户设备中独立运行并且能够为寄宿在其中的寄宿程序提供必要的框架、组件、接口和运行环境等支持的程序,寄宿程序是指不能够在用户设备中独立运行并且仅能够在为其提供必要的框架、组件、接口、运行环境等支持的宿主程序中运行的程序。例如,用户在宿主程序的页面上点击寄宿程序programA对应的快捷方式图标,以此启动执行寄宿程序programA。
在步骤S2中,用户设备在所述宿主程序的后台启动执行第二寄宿程序,其中,所述第二寄宿程序与所述宿主程序中因执行所述第一寄宿程序而被中断的第二操作相对应。其中,因执行所述第一寄宿程序而被中断的第二操作包括但不限于能支持在后台执行而无需在前台呈现给用户的操作,比如下载文件的操作、播放音频文件的操作等。例如,宿主程序正在执行下载文件“a.mp4”的操作,用户在宿主程序的页面上点击寄宿程序programA对应的快捷方式图标,以此启动执行寄宿程序programA,该下载文件“a.mp4”的操作被打断,用户设备在宿主程序的后台启动执行寄宿程序programB,该寄宿程序programB继续执行该被打断的下载文件“a.mp4”的操作。
根据本实施例的方案,能够在宿主程序中启动执行第一寄宿程序时,在所述宿主程序的后台启动执行第二寄宿程序,以在第二寄宿程序中继续执行因执行所述第一寄宿程序而被中断的操作,从而避免了由于第一寄宿程序的启动执行而导致在宿主程序中重复执行操作,提高了宿主程序的执行效率。
在一些实施例中,所述方法还包括步骤S3(未示出):在步骤S3中,用户设备检测所述宿主程序中是否存在因执行所述第一寄宿程序而被中断的第二操作;其中,所述步骤S2包括:若存在所述第二操作,用户设备在所述宿主程序的后台启动执行与所述第二操作相对应的第二寄宿程序。用户设备检测宿主程序在启动执行第一寄宿程序的时候,宿主程序是否有第二操作被打断,若宿主程序有能够支持在后台执行的第二操作被打断,则会在宿主程序的后台启动执行第二寄宿程序来继续执行被打断的第二操作,若宿主程序未有操作被打断,或者该被打断的操作不能够支持在后台执行(比如需要前台页面呈现的操作等),则不会在宿主程序的后台启动执行第二寄宿程序。例如,宿主程序启动执行寄宿程序programA,检测到宿主程序下载文件“a.mp4”的操作被打断,该下载操作支持在后台执行,宿主程序会在后台启动执行寄宿程序programB,该寄宿程序programB会继续执行该下载文件“a.mp4”的操作。又例如,宿主程序启动执行寄宿程序programA,检测到宿主程序未有任何操作被打断,宿主程序不会在后台启动执行其他寄宿程序。
在一些实施例中,所述步骤S2还包括步骤S21(未示出):在步骤S21中,用户设备将所述第二操作被中断时的操作执行状态信息提供至所述第二寄宿程序,并根据所述操作执行状态信息继续执行所述第二寄宿程序。其中,操作执行状态信息包括但不限于操作执行的输入信息、进度信息以及操作执行过程中产生的中间变量信息等。例如,宿主程序启动执行寄宿程序programA,宿主程序下载文件“a.mp4”的操作被打断,宿主程序会在后台启动执行寄宿程序programB,同时用户设备会将该被打断下载操作的下载路径“http://www.abc.com/a.mp4”、文件名“a.mp4”、保存路径“/sdcard/storage/download”、当前下载进度“60%”作为该被打断下载操作的状态信息提供给寄宿程序programB,以供寄宿程序programB继续在后台下载该“a.mp4”文件。
在一些实施例中,所述方法还包括步骤S4(未示出):在步骤S4中,用户设备检测是否满足切换至所述第二操作的触发条件;若是,在所述宿主程序中继续执行所述第二操作。例如,宿主程序启动执行寄宿程序programA,宿主程序下载文件“a.mp4”的操作被打断,宿主程序会在后台启动执行寄宿程序programB,该寄宿程序programB会继续执行该下载文件“a.mp4”的操作,用户设备检测是否满足切换至该下载操作的触发条件,若满足,则暂停或者终止寄宿程序programB中的该下载操作,切换至宿主程序中继续执行该下载操作。
在一些实施例中,所述触发条件满足并不限于:
1)所述第一寄宿程序已执行完毕
例如,宿主程序启动执行寄宿程序programA,宿主程序的第二操作被打断,在后台启动执行寄宿程序programB以继续执行该第二操作,当寄宿程序programA执行完毕时,用户设备可以切换至宿主程序以继续执行该第二操作。
2)所述第一寄宿程序被切换至后台
例如,宿主程序启动执行寄宿程序programA,宿主程序的第二操作被打断,在后台启动执行寄宿程序programB以继续执行该第二操作,当寄宿程序programA被切换至后台时,用户设备可以切换至宿主程序以继续执行该第二操作。
3)所述第二寄宿程序仍在执行中
例如,宿主程序启动执行寄宿程序programA,宿主程序的第二操作被打断,在后台启动执行寄宿程序programB以继续执行该第二操作,当寄宿程序programB仍在执行该第二操作时,而并未操作完成或者因错误或者意外操作退出时,用户设备可以切换至宿主程序以继续执行该第二操作。
4)以上条件的任意组合
例如,所述触发条件包括所述第一寄宿程序已执行完毕,且所述第二寄宿程序仍在执行中。
在一些实施例中,所述在所述宿主程序中继续执行所述第二操作,包括:用户设备停止所述第二寄宿程序在所述宿主程序的后台执行;用户设备将所述第二寄宿程序被停止时的程序执行状态信息提供至所述宿主程序,并根据所述程序执行状态信息在所述宿主程序中继续执行所述第二操作。当用户设备在宿主程序中继续执行该第二操作时,会停止该第二操作对应的寄宿程序在该宿主程序的后台执行,并且将该寄宿程序被停止时的第二操作的执行状态提供给该宿主程序,以供宿主程序根据该执行状态继续执行该第二操作。例如寄宿程序programB在宿主程序的后台执行下载文件“a.mp4”的操作,当前后台执行的下载操作的状态信息是下载路径“http://www.abc.com/a.mp4”、文件名“a.mp4”、保存路径“/sdcard/storage/download”、当前下载进度“80%”,当用户设备把寄宿程序programB切换到前台后,用户设备会停止该下载操作在宿主程序的后台执行,并且将该下载操作的状态信息提供给宿主程序,以供宿主程序继续执行该下载操作。
在一些实施例中,所述步骤S2包括:步骤S22(未示出),在步骤S22中,用户设备确定与所述宿主程序的第二操作相对应的第二寄宿程序,其中,所述第二操作因所述宿主程序执行所述第一寄宿程序而被中断;步骤S23(未示出),在步骤S23中,用户设备在所述宿主程序的后台启动执行所述第二寄宿程序。当第二操作因宿主程序启动执行第一寄宿程序而被中断时,用户设备确定与该被打断的第二操作相对应的第二寄宿程序,并在宿主程序的后台启动执行该第二寄宿程序。例如,宿主程序启动执行寄宿程序programA,宿主程序下载文件“a.mp4”的操作被打断,用户设备确定该下载操作对应的寄宿程序是寄宿程序programB,并在宿主程序的后台启动寄宿程序programB以继续执行该下载操作。
在一些实施例中,所述步骤S22包括:根据所述宿主程序的第二操作在操作程序映射关系表中查询确定与所述第二操作相对应的第二寄宿程序,其中,所述第二操作因所述宿主程序执行所述第一寄宿程序而被中断;或者,根据所述宿主程序的第二操作所实现的功能信息在寄宿程序库中查询确定与所述第二操作具有相同功能信息的第二寄宿程序,其中,所述第二操作因所述宿主程序执行所述第一寄宿程序而被中断。其中,该操作程序映射关系表的字段包括但不限于被打断的操作名称和寄宿程序名称,通过该映射关系表,可以查询得到与该第二操作相对应的第二寄宿程序。例如,宿主程序被打断的操作是下载文件的操作,通过该操作程序映射关系表,查询确定该下载文件的操作对应的第二寄宿程序是寄宿程序programB。或者,被打断的操作包括功能信息,寄宿程序也包括功能信息,该功能信息用于阐明该被打断的操作或者寄宿程序所对应的功效和作用的信息,该寄宿程序库包括所有该宿主程序中当前能够在后台运行的寄宿程序。例如,宿主程序被打断的操作是下载文件的操作,该下载文件的操作对应的功能信息是“下载”,用户设备在寄宿程序库中查询功能信息是“下载”的寄宿程序,查询结果确定该下载文件的操作对用的第二寄宿程序是寄宿程序。
在一些实施例中,所述在所述宿主程序的后台启动执行第二寄宿程序,包括:用户设备在所述宿主程序的后台启动用于执行寄宿程序的辅助运行栈,并将所述第二寄宿程序运行于所述辅助运行栈。寄宿程序不能单独运行,需要运行在宿主程序的运行栈上,宿主程序的运行栈一次只能运行一个寄宿程序,第二寄宿程序需要运行在额外的辅助运行栈上,当需要在后台启动第二寄宿程序时,宿主程序启动辅助运行栈,并将第二寄宿程序运行在该辅助运行栈上,当该第二寄宿程序运行完成或者退出时,宿主程序将该辅助运行栈销毁或者清空。例如,宿主程序的运行栈是stackA,宿主程序启动执行第一寄宿程序,第一寄宿程序运行在运行栈stackA上,宿主程序在后台启动执行第二寄宿程序,此时宿主程序会启动辅助运行栈stackB,第二寄宿程序运行在辅助运行栈stackB上,当第二寄宿程序运行完成或者退出时,宿主程序会将辅助运行栈stackB销毁或者清空。
图2示出根据本申请一个实施例的一种在宿主程序中执行寄宿程序的方法流程图;
如图2所示,宿主程序正在执行操作1,此时该宿主程序启动目标小程序,判断正在执行的操作1是否因目标小程序的启动被打断,若操作1没有被打断,则流程结束;若操作1被打断,则记录操作1被打断时的执行状态,然后该宿主程序在后台启动执行操作1对应的功能小程序,并将该执行状态传递给该功能小程序,该功能小程序根据该执行状态继续完成操作1,此时流程结束。
图3示出根据本申请一个实施例的一种在宿主程序中执行寄宿程序的用户设备。其中,该设备包括一一模块11和一二模块12。一一模块11,用于在宿主程序中启动执行第一寄宿程序;一二模块12,用于在所述宿主程序的后台启动执行第二寄宿程序,其中,所述第二寄宿程序与所述宿主程序中因执行所述第一寄宿程序而被中断的第二操作相对应。
一一模块11在宿主程序中启动执行第一寄宿程序。其中,宿主程序是指能够在用户设备中独立运行并且能够为寄宿在其中的寄宿程序提供必要的框架、组件、接口和运行环境等支持的程序,寄宿程序是指不能够在用户设备中独立运行并且仅能够在为其提供必要的框架、组件、接口、运行环境等支持的宿主程序中运行的程序。例如,用户在宿主程序的页面上点击寄宿程序programA对应的快捷方式图标,以此启动执行寄宿程序programA。
一二模块12在所述宿主程序的后台启动执行第二寄宿程序,其中,所述第二寄宿程序与所述宿主程序中因执行所述第一寄宿程序而被中断的第二操作相对应。其中,因执行所述第一寄宿程序而被中断的第二操作包括但不限于能支持在后台执行而无需在前台呈现给用户的操作,比如下载文件的操作、播放音频文件的操作等。例如,宿主程序正在执行下载文件“a.mp4”的操作,用户在宿主程序的页面上点击寄宿程序programA对应的快捷方式图标,以此启动执行寄宿程序programA,该下载文件“a.mp4”的操作被打断,用户设备在宿主程序的后台启动执行寄宿程序programB,该寄宿程序programB继续执行该被打断的下载文件“a.mp4”的操作。
根据本实施例的方案,能够在宿主程序中启动执行第一寄宿程序时,在所述宿主程序的后台启动执行第二寄宿程序,以在第二寄宿程序中继续执行因执行所述第一寄宿程序而被中断的操作,从而避免了由于第一寄宿程序的启动执行而导致在宿主程序中重复执行操作,提高了宿主程序的执行效率。
在一些实施例中,所述设备还包括一三模块13(未示出):一三模块13用于检测所述宿主程序中是否存在因执行所述第一寄宿程序而被中断的第二操作;其中,所述一二模块12用于:若存在所述第二操作,用户设备在所述宿主程序的后台启动执行与所述第二操作相对应的第二寄宿程序。用户设备检测宿主程序在启动执行第一寄宿程序的时候,宿主程序是否有第二操作被打断,若宿主程序有能够支持在后台执行的第二操作被打断,则会在宿主程序的后台启动执行第二寄宿程序来继续执行被打断的第二操作,若宿主程序未有操作被打断,或者该被打断的操作不能够支持在后台执行(比如需要前台页面呈现的操作等),则不会在宿主程序的后台启动执行第二寄宿程序。例如,宿主程序启动执行寄宿程序programA,检测到宿主程序下载文件“a.mp4”的操作被打断,该下载操作支持在后台执行,宿主程序会在后台启动执行寄宿程序programB,该寄宿程序programB会继续执行该下载文件“a.mp4”的操作。又例如,宿主程序启动执行寄宿程序programA,检测到宿主程序未有任何操作被打断,宿主程序不会在后台启动执行其他寄宿程序。
在一些实施例中,所述一二模块12还包括一二一模块121(未示出):一二一模块121用于将所述第二操作被中断时的操作执行状态信息提供至所述第二寄宿程序,并根据所述操作执行状态信息继续执行所述第二寄宿程序。其中,操作执行状态信息包括但不限于操作执行的输入信息、进度信息以及操作执行过程中产生的中间变量信息等。例如,宿主程序启动执行寄宿程序programA,宿主程序下载文件“a.mp4”的操作被打断,宿主程序会在后台启动执行寄宿程序programB,同时用户设备会将该被打断下载操作的下载路径“http://www.abc.com/a.mp4”、文件名“a.mp4”、保存路径“/sdcard/storage/download”、当前下载进度“60%”作为该被打断下载操作的状态信息提供给寄宿程序programB,以供寄宿程序programB继续在后台下载该“a.mp4”文件。
在一些实施例中,所述设备还包括一四模块14(未示出):一四模块14用于检测是否满足切换至所述第二操作的触发条件;若是,在所述宿主程序中继续执行所述第二操作。例如,宿主程序启动执行寄宿程序programA,宿主程序下载文件“a.mp4”的操作被打断,宿主程序会在后台启动执行寄宿程序programB,该寄宿程序programB会继续执行该下载文件“a.mp4”的操作,用户设备检测是否满足切换至该下载操作的触发条件,若满足,则暂停或者终止寄宿程序programB中的该下载操作,切换至宿主程序中继续执行该下载操作。
在一些实施例中,所述触发条件满足并不限于:
1)所述第一寄宿程序已执行完毕
例如,宿主程序启动执行寄宿程序programA,宿主程序的第二操作被打断,在后台启动执行寄宿程序programB以继续执行该第二操作,当寄宿程序programA执行完毕时,用户设备可以切换至宿主程序以继续执行该第二操作。
2)所述第一寄宿程序被切换至后台
例如,宿主程序启动执行寄宿程序programA,宿主程序的第二操作被打断,在后台启动执行寄宿程序programB以继续执行该第二操作,当寄宿程序programA被切换至后台时,用户设备可以切换至宿主程序以继续执行该第二操作。
3)所述第二寄宿程序仍在执行中
例如,宿主程序启动执行寄宿程序programA,宿主程序的第二操作被打断,在后台启动执行寄宿程序programB以继续执行该第二操作,当寄宿程序programB仍在执行该第二操作时,而并未操作完成或者因错误或者意外操作退出时,用户设备可以切换至宿主程序以继续执行该第二操作。
4)以上条件的任意组合
例如,所述触发条件包括所述第一寄宿程序已执行完毕,且所述第二寄宿程序仍在执行中。
在一些实施例中,所述在所述宿主程序中继续执行所述第二操作,包括:用户设备停止所述第二寄宿程序在所述宿主程序的后台执行;用户设备将所述第二寄宿程序被停止时的程序执行状态信息提供至所述宿主程序,并根据所述程序执行状态信息在所述宿主程序中继续执行所述第二操作。当用户设备在宿主程序中继续执行该第二操作时,会停止该第二操作对应的寄宿程序在该宿主程序的后台执行,并且将该寄宿程序被停止时的第二操作的执行状态提供给该宿主程序,以供宿主程序根据该执行状态继续执行该第二操作。例如寄宿程序programB在宿主程序的后台执行下载文件“a.mp4”的操作,当前后台执行的下载操作的状态信息是下载路径“http://www.abc.com/a.mp4”、文件名“a.mp4”、保存路径“/sdcard/storage/download”、当前下载进度“80%”,当用户设备把寄宿程序programB切换到前台后,用户设备会停止该下载操作在宿主程序的后台执行,并且将该下载操作的状态信息提供给宿主程序,以供宿主程序继续执行该下载操作。
在一些实施例中,所述一二模块12包括:一二二模块122(未示出),一二二模块122用于确定与所述宿主程序的第二操作相对应的第二寄宿程序,其中,所述第二操作因所述宿主程序执行所述第一寄宿程序而被中断;一二三模块123(未示出),一二三模块123用于在所述宿主程序的后台启动执行所述第二寄宿程序。当第二操作因宿主程序启动执行第一寄宿程序而被中断时,用户设备确定与该被打断的第二操作相对应的第二寄宿程序,并在宿主程序的后台启动执行该第二寄宿程序。例如,宿主程序启动执行寄宿程序programA,宿主程序下载文件“a.mp4”的操作被打断,用户设备确定该下载操作对应的寄宿程序是寄宿程序programB,并在宿主程序的后台启动寄宿程序programB以继续执行该下载操作。
在一些实施例中,所述一二二模块122用于:根据所述宿主程序的第二操作在操作程序映射关系表中查询确定与所述第二操作相对应的第二寄宿程序,其中,所述第二操作因所述宿主程序执行所述第一寄宿程序而被中断;或者,根据所述宿主程序的第二操作所实现的功能信息在寄宿程序库中查询确定与所述第二操作具有相同功能信息的第二寄宿程序,其中,所述第二操作因所述宿主程序执行所述第一寄宿程序而被中断。其中,该操作程序映射关系表的字段包括但不限于被打断的操作名称和寄宿程序名称,通过该映射关系表,可以查询得到与该第二操作相对应的第二寄宿程序。例如,宿主程序被打断的操作是下载文件的操作,通过该操作程序映射关系表,查询确定该下载文件的操作对应的第二寄宿程序是寄宿程序programB。或者,被打断的操作包括功能信息,寄宿程序也包括功能信息,该功能信息用于阐明该被打断的操作或者寄宿程序所对应的功效和作用的信息,该寄宿程序库包括所有该宿主程序中当前能够在后台运行的寄宿程序。例如,宿主程序被打断的操作是下载文件的操作,该下载文件的操作对应的功能信息是“下载”,用户设备在寄宿程序库中查询功能信息是“下载”的寄宿程序,查询结果确定该下载文件的操作对用的第二寄宿程序是寄宿程序。
在一些实施例中,所述在所述宿主程序的后台启动执行第二寄宿程序,包括:在所述宿主程序的后台启动用于执行寄宿程序的辅助运行栈,并将所述第二寄宿程序运行于所述辅助运行栈。寄宿程序不能单独运行,需要运行在宿主程序的运行栈上,宿主程序的运行栈一次只能运行一个寄宿程序,第二寄宿程序需要运行在额外的辅助运行栈上,当需要在后台启动第二寄宿程序时,宿主程序启动辅助运行栈,并将第二寄宿程序运行在该辅助运行栈上,当该第二寄宿程序运行完成或者退出时,宿主程序将该辅助运行栈销毁或者清空。例如,宿主程序的运行栈是stackA,宿主程序启动执行第一寄宿程序,第一寄宿程序运行在运行栈stackA上,宿主程序在后台启动执行第二寄宿程序,此时宿主程序会启动辅助运行栈stackB,第二寄宿程序运行在辅助运行栈stackB上,当第二寄宿程序运行完成或者退出时,宿主程序会将辅助运行栈stackB销毁或者清空。
图4示出了可被用于实施本申请中所述的各个实施例的示例性系统;
如图4所示在一些实施例中,系统300能够作为各所述实施例中的任意一个设备。在一些实施例中,系统300可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
对于一个实施例,系统控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与系统控制模块310通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块310可包括存储器控制器模块330,以向系统存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
系统存储器315可被用于例如为系统300加载和存储数据和/或指令。对于一个实施例,系统存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备320可包括在物理上作为系统300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
(一个或多个)通信接口325可为系统300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (9)
1.一种在宿主程序中执行寄宿程序的方法,其中,所述方法包括:
在宿主程序中启动执行第一寄宿程序;
根据所述宿主程序的第二操作在操作程序映射关系表中查询确定与所述第二操作相对应的第二寄宿程序,其中,所述第二操作因所述宿主程序执行所述第一寄宿程序而被中断;或者,根据所述宿主程序的第二操作所实现的功能信息在寄宿程序库中查询确定与所述第二操作具有相同功能信息的第二寄宿程序,其中,所述第二操作因所述宿主程序执行所述第一寄宿程序而被中断;
在所述宿主程序的后台启动执行所述第二寄宿程序。
2.根据权利要求1所述的方法,其中,所述方法还包括:
检测所述宿主程序中是否存在因执行所述第一寄宿程序而被中断的第二操作;
其中,所述在所述宿主程序的后台启动执行第二寄宿程序,其中,所述第二寄宿程序与所述宿主程序中因执行所述第一寄宿程序而被中断的第二操作相对应,包括:
若存在所述第二操作,在所述宿主程序的后台启动执行与所述第二操作相对应的第二寄宿程序。
3.根据权利要求2所述的方法,其中,所述在所述宿主程序的后台启动执行第二寄宿程序,其中,所述第二寄宿程序与所述宿主程序中因执行所述第一寄宿程序而被中断的第二操作相对应,还包括:
将所述第二操作被中断时的操作执行状态信息提供至所述第二寄宿程序,并根据所述操作执行状态信息继续执行所述第二寄宿程序。
4.根据权利要求1至3中任一项所述的方法,其中,所述方法还包括:
检测是否满足切换至所述第二操作的触发条件;
若是,在所述宿主程序中继续执行所述第二操作。
5.根据权利要求4所述的方法,其中,所述触发条件满足以下至少任一项:
所述第一寄宿程序已执行完毕;
所述第一寄宿程序被切换至后台;
所述第二寄宿程序仍在执行中。
6.根据权利要求4所述的方法,其中,所述在所述宿主程序中继续执行所述第二操作,包括:
停止所述第二寄宿程序在所述宿主程序的后台执行;
将所述第二寄宿程序被停止时的程序执行状态信息提供至所述宿主程序,并根据所述程序执行状态信息在所述宿主程序中继续执行所述第二操作。
7.根据权利要求1所述的方法,其中,所述在所述宿主程序的后台启动执行第二寄宿程序,包括:
在所述宿主程序的后台启动用于执行寄宿程序的辅助运行栈,并将所述第二寄宿程序运行于所述辅助运行栈。
8.一种在宿主程序中执行寄宿程序的设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1至7中任一项的方法。
9.一种存储指令的计算机可读介质,所述指令在被执行时使得系统进行如权利要求1至7中任一项的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910248402.6A CN109947504B (zh) | 2019-03-29 | 2019-03-29 | 一种在宿主程序中执行寄宿程序的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910248402.6A CN109947504B (zh) | 2019-03-29 | 2019-03-29 | 一种在宿主程序中执行寄宿程序的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947504A CN109947504A (zh) | 2019-06-28 |
CN109947504B true CN109947504B (zh) | 2020-12-18 |
Family
ID=67012954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910248402.6A Active CN109947504B (zh) | 2019-03-29 | 2019-03-29 | 一种在宿主程序中执行寄宿程序的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947504B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475142B (zh) * | 2020-04-03 | 2023-04-28 | 支付宝(杭州)信息技术有限公司 | 一种小程序文件包的生成方法、装置及设备 |
CN113395353B (zh) * | 2021-06-30 | 2022-08-02 | 北京字节跳动网络技术有限公司 | 文件下载方法、装置、存储介质及电子设备 |
CN113791988B (zh) * | 2021-11-17 | 2022-02-18 | 畅捷通信息技术股份有限公司 | 一种降低小程序包体积的渲染方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628673A (zh) * | 2018-05-07 | 2018-10-09 | 上海掌门科技有限公司 | 数据处理方法、电子设备和计算机可读介质 |
CN108717365A (zh) * | 2018-06-11 | 2018-10-30 | 广州酷狗计算机科技有限公司 | 在应用程序中执行功能的方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110307831A1 (en) * | 2010-06-10 | 2011-12-15 | Microsoft Corporation | User-Controlled Application Access to Resources |
CN102830964B (zh) * | 2012-07-24 | 2016-04-13 | 华为技术有限公司 | 一种显示多任务界面的方法及装置 |
CN106155741B (zh) * | 2016-06-30 | 2019-10-08 | 努比亚技术有限公司 | 一种避免应用程序无响应的处理装置及方法 |
CN108549510A (zh) * | 2018-03-29 | 2018-09-18 | 上海连尚网络科技有限公司 | 用于显示寄宿应用的图标的方法、设备和存储介质 |
CN108932147A (zh) * | 2018-06-27 | 2018-12-04 | 上海掌门科技有限公司 | 用于切换寄宿应用的方法和设备 |
-
2019
- 2019-03-29 CN CN201910248402.6A patent/CN109947504B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628673A (zh) * | 2018-05-07 | 2018-10-09 | 上海掌门科技有限公司 | 数据处理方法、电子设备和计算机可读介质 |
CN108717365A (zh) * | 2018-06-11 | 2018-10-30 | 广州酷狗计算机科技有限公司 | 在应用程序中执行功能的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109947504A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110333918B (zh) | 一种管理寄宿程序的方法与设备 | |
CN109947504B (zh) | 一种在宿主程序中执行寄宿程序的方法与设备 | |
CN110262810B (zh) | 一种安装应用的方法与设备 | |
CN110321189B (zh) | 一种在宿主程序中呈现寄宿程序的方法与设备 | |
CN110290557B (zh) | 一种加载应用内页面标签的方法与设备 | |
CN111212183B (zh) | 一种用于运行寄宿应用的方法、设备及计算机可读介质 | |
CN111125562B (zh) | 一种用于切换显示标签页的方法与设备 | |
CN110519250B (zh) | 一种提供信息流的方法与设备 | |
CN111325574B (zh) | 一种用于提供呈现信息的方法与设备 | |
WO2020192745A1 (zh) | 一种提供寄宿程序的方法与设备 | |
CN111523039B (zh) | 一种用于处理阅读应用中书籍催更请求的方法与设备 | |
CN110430253B (zh) | 一种提供小说更新通知信息的方法与设备 | |
CN111162990B (zh) | 一种呈现消息通知的方法与设备 | |
CN114666652A (zh) | 一种用于播放视频的方法、设备、介质及程序产品 | |
CN112822430B (zh) | 一种会议群组合并的方法与设备 | |
CN110780788B (zh) | 一种执行触控操作的方法与设备 | |
CN114153535B (zh) | 用于在开屏页跳转页面的方法、设备、介质及程序产品 | |
CN110321205B (zh) | 一种在宿主程序中管理寄宿程序的方法与设备 | |
CN110333914B (zh) | 一种用于执行目标操作的方法与设备 | |
CN112256991B (zh) | 一种融合多链接地址的信息流的原生渲染的方法与设备 | |
CN111079039B (zh) | 一种用于收藏书籍的方法与设备 | |
CN110460642B (zh) | 一种管理阅读模式的方法与设备 | |
CN110780787B (zh) | 一种执行任务调度的方法与设备 | |
CN110784596A (zh) | 一种处理事件信息的方法与设备 | |
CN111552906B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |