WO2021013247A1 - 一种运行小程序的方法、设备和计算机存储介质 - Google Patents

一种运行小程序的方法、设备和计算机存储介质 Download PDF

Info

Publication number
WO2021013247A1
WO2021013247A1 PCT/CN2020/104488 CN2020104488W WO2021013247A1 WO 2021013247 A1 WO2021013247 A1 WO 2021013247A1 CN 2020104488 W CN2020104488 W CN 2020104488W WO 2021013247 A1 WO2021013247 A1 WO 2021013247A1
Authority
WO
WIPO (PCT)
Prior art keywords
applet
host application
host
memory
terminal device
Prior art date
Application number
PCT/CN2020/104488
Other languages
English (en)
French (fr)
Inventor
苗景磊
Original Assignee
上海连尚网络科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 上海连尚网络科技有限公司 filed Critical 上海连尚网络科技有限公司
Publication of WO2021013247A1 publication Critical patent/WO2021013247A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Definitions

  • Mini Program is an application that can be used without installation, and it runs in the environment provided by the host application. It is more and more widely used because it is available at any time without installation and uninstallation. At present, each host application needs to load and run small programs separately, resulting in low operating efficiency of the small programs and a waste of resources.
  • the present invention provides a method, a device and a computer storage medium for running a small program to improve the operating efficiency of the small program and save resources.
  • the present invention provides a method for running an applet, which is executed by a host application of a terminal device, and the method includes:
  • the method further includes:
  • the process of the small program existing in the memory of the host application is used to run the small program.
  • confirming whether the process of the applet already exists in the memory of other host applications in the terminal device includes: confirming that each host application in the terminal device belongs to the same host alliance as the host application , Determining whether the process of the applet already exists in the determined memory of each host application;
  • each host application in the same host alliance adopts the same applet standard.
  • the method further includes:
  • the host application queries the private database of the host application to perform the step of confirming whether the process of the applet already exists in the memory of other host applications in the terminal device.
  • the method further includes:
  • the method further includes:
  • the Binder mechanism is used to execute the step of invoking the process of the existing applet.
  • the present invention provides a device, which includes:
  • FIG. 1 is a schematic diagram of a system architecture involved in an embodiment of the present invention
  • Figure 5 shows a block diagram of an exemplary computer system suitable for implementing embodiments of the present invention.
  • the same terminal device may contain multiple host applications.
  • host application 1 and host application 2 are taken as an example.
  • a host application may also run multiple applets, and different host applications may run different applets or the same applet.
  • the host application 1 runs the applet a and the applet b
  • the host application 2 runs the applet b and the applet c.
  • the present invention is not limited to the types of events that trigger the running of the applet in the host application.
  • the user can click the icon of the applet in the host application to trigger the applet to run, or the user can click on a link in the host application to trigger the corresponding applet Run, etc.
  • the host application 1 When the host application 1 is started, it can send a synchronization request of the host alliance to the corresponding server, and the corresponding server returns to the host application 1 the information of each host application of the host alliance, such as the package name. Then the host application 1 can determine the host application information of the host alliance that the terminal device has installed.
  • the host application 1 uses the Binder mechanism to call the process of the small program c that already exists in the memory of other host applications to run the small program c and end the startup process.
  • the host application 1 can directly call the process of the applet c that already exists in the memory of the host application 2 to start the applet c.
  • each other host application After receiving the broadcast message, each other host application records the information of the small program c process in the memory of the host application 1 in the private database of the host application.
  • the process of the applet c is ended in the memory of the subsequent host application 1, the information about the process of the host application 1 ending the applet c can also be notified to other host applications of the same host alliance through a broadcast message, so that other host applications can be timely Update their own private databases. Through this mechanism, it can be ensured that each host application of the same host alliance in the terminal device can learn the latest applet process status.
  • FIG. 4 is a flow chart of the method provided in Embodiment 2 of the present invention.
  • the above-mentioned second implementation manner is described.
  • the method executed by the host application 1 may include the following processes:
  • a shared database is set in the terminal device, and the shared database has read and write permissions for each host application in the host alliance.
  • the host applications in the host alliance record the status of the applet process running in the host application's memory in the shared database for sharing within the host alliance.
  • the host application 1 uses the Binder mechanism to call the process of the applet c that already exists in the memory of other host applications to run the applet c and end the startup process.
  • the host application 1 records the information of starting the applet c process in its own memory in the shared database.
  • FIG. 5 shows a block diagram of an exemplary computer system 012 suitable for implementing embodiments of the present invention.
  • the computer system 012 shown in FIG. 5 is only an example, and should not bring any limitation to the function and application scope of the embodiments of the present invention.
  • the computer system 012 can also communicate with one or more external devices 014 (such as keyboards, pointing devices, displays 024, etc.).
  • the computer system 012 communicates with external radar devices, and can also communicate with one or more users Communication with a device that can interact with the computer system 012, and/or with any device (such as a network card, modem, etc.) that enables the computer system 012 to communicate with one or more other computing devices. This communication can be performed through an input/output (I/O) interface 022.
  • the computer system 012 can also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through the network adapter 020.
  • networks such as a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet
  • the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium.
  • the computer-readable storage medium may be, for example, but not limited to, an electric, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above.
  • the computer program code used to perform the operations of the present invention can be written in one or more programming languages or a combination thereof.
  • the programming languages include object-oriented programming languages-such as Java, Smalltalk, C++, and also conventional Procedural programming language-such as "C" language or similar programming language.
  • the program code can be executed entirely on the user's computer, partly on the user's computer, executed as an independent software package, partly on the user's computer and partly executed on a remote computer, or entirely executed on the remote computer or server.
  • the remote computer can be connected to the user's computer through any kind of network-including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (for example, using an Internet service provider to connect to the user's computer) connection).
  • LAN local area network
  • WAN wide area network

Abstract

一种运行小程序的方法、设备和计算机存储介质,其中方法包括:获取到触发小程序运行的事件(201);若本宿主应用的内存中不存在该小程序的进程,则确认终端设备中其他宿主应用的内存中是否已经存在该小程序的进程(202);如果是,调用已经存在的该小程序的进程以运行该小程序(203);如果否,在本宿主应用的内存中启动小程序的进程以运行该小程序(204)。上述方法实现多个宿主应用不用重复启动小程序进程就能够运行小程序的功能,提高了小程序的运行效率,节约资源。

Description

一种运行小程序的方法、设备和计算机存储介质 【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种运行小程序的方法、设备和计算机存储介质。
【背景技术】
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就被认为是现有技术。
小程序(Mini Program)是一种不需要安装即可使用的应用,其运行于宿主应用提供的环境下。其因随时可用但又无需安装卸载而得到了越来越广泛的应用。目前各宿主应用均需要单独加载运行小程序,导致小程序运行效率低下,且造成资源的浪费。
【发明内容】
有鉴于此,本发明提供了一种运行小程序的方法、设备和计算机存储介质,以提高小程序运行效率,节约资源。
具体技术方案如下:
第一方面,本发明提供了一种运行小程序的方法,由终端设备的宿主应用执行,该方法包括:
获取到触发小程序运行的事件;
若本宿主应用的内存中不存在所述小程序的进程,则确认所述终端设备中其他宿主应用的内存中是否已经存在所述小程序的进程;
如果是,则调用已经存在的所述小程序的进程以运行所述小程序。
根据本发明一优选实施方式,该方法还包括:
若确认所述终端设备中其他宿主应用的内存中均不存在所述小程序的进程,则在本宿主应用的内存中启动小程序的进程以运行所述小程序。
根据本发明一优选实施方式,该方法还包括:
若本宿主应用的内存中存在所述小程序的进程,则利用本宿主应用的内存 中存在的所述小程序的进程运行所述小程序。
根据本发明一优选实施方式,确认所述终端设备中其他宿主应用的内存中是否已经存在所述小程序的进程,包括:确认所述终端设备中与本宿主应用属于同一宿主联盟的各宿主应用,判断确定出的所述各宿主应用的内存中是否已经存在所述小程序的进程;
其中,同一宿主联盟中各宿主应用采用相同的小程序标准。
根据本发明一优选实施方式,该方法还包括:
从服务器端同步与本宿主应用属于同一宿主联盟的各宿主应用的信息,并确定所述终端设备已经安装的所述宿主联盟的宿主应用信息。
根据本发明一优选实施方式,所述在本宿主应用的内存中启动小程序的进程以运行所述小程序之后,该方法还包括:将启动所述小程序的进程信息广播给所述终端设备中的各宿主应用,以便各宿主应用记录于本宿主应用的私有数据库;
宿主应用查询本宿主应用的私有数据库以执行确认所述终端设备中其他宿主应用的内存中是否已经存在所述小程序的进程的步骤。
根据本发明一优选实施方式,该方法还包括:
在结束所述小程序的进程之后,将结束所述小程序的进程信息广播给所述终端设备中的各宿主应用,以便各宿主应用更新本宿主应用的私有数据库。
根据本发明一优选实施方式,在所述在本宿主应用的内存中启动小程序的进程以运行所述小程序之后,该方法还包括:将启动所述小程序的进程信息记录于所述终端设备的共享数据库;
查询所述共享数据库以执行确认所述终端设备中其他宿主应用的内存中是否已经存在所述小程序的进程的步骤。
根据本发明一优选实施方式,该方法还包括:
在结束所述小程序的进程之后,依据结束所述小程序的进程信息更新所述共享数据库。
根据本发明一优选实施方式,采用Binder机制执行所述调用已经存在的所述小程序的进程的步骤。
第二方面,本发明提供了一种设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上任一所述的方法。
第三方面,本发明提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上任一所述的方法。
由以上技术方案可以看出,在本发明中同一终端设备中各宿主应用共享内存中已经存在的小程序进程,从而实现多个宿主应用不用重复启动小程序进程就能够运行小程序的功能,提高了小程序的运行效率,节约资源。
【附图说明】
图1为本发明实施例涉及的系统架构示意图;
图2为本发明实施例提供的主要方法流程图;
图3为本发明实施例一提供的宿主应用1执行的方法流程图;
图4为本发明实施例二提供的宿主应用1执行的方法流程图;
图5示出了适于用来实现本发明实施方式的示例性计算机系统的框图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
为了方便对本发明的理解,首先对本发明所涉及的系统架构以及主要概念进行描述。如图1中所示,该系统架构主要包括宿主应用和宿主应用对应的服务器端。
小程序依托宿主应用在终端设备上运行,小程序运行所在的环境是宿主应用提供的。其中终端设备可以包括但不限于诸如:智能移动终端、智能家居设备、网络设备、可穿戴式设备、智能医疗设备、PC(个人计算机)等。其中智能移动设备可以包括诸如手机、平板电脑、笔记本电脑、PDA(个人数字助理)、互联网汽车等。智能家居设备可以包括智能家电设备,诸如智能电视、智能音箱等。网络设备可以包括诸如交换机、无线AP、服务器等。可穿戴式设备可以包括诸如智能手表、智能眼镜、智能手环、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等。
同一终端设备上可能包含多个宿主应用,图1中以包含宿主应用1和宿主应用2为例。一个宿主应用中也可能运行多个小程序,且不同宿主应用可能运行不同的小程序,也可能运行相同的小程序。如图1中所示,宿主应用1中运行小程序a和小程序b,宿主应用2中运行小程序b和小程序c。
每个宿主应用都存在对应的服务器端,如图1中所示,宿主应用1对应服务器端1,宿主应用2对应服务器端2。每个宿主应用均可以与其对应的服务器端进行交互。
各服务器端可以是单一服务器,也可以是多个服务器构成的服务器群组。应该理解,图1中的终端设备、宿主应用、小程序、服务器端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、宿主应用、小程序、服务器端。
本发明的核心思想在于,同一终端设备中各宿主应用共享内存中已经存在的小程序进程,从而实现多个宿主应用不用重复启动小程序进程就能够运行小程序的功能,提高了小程序的运行效率,节约资源。图2为本发明实施例提供的主要方法流程图,该方法由终端设备的宿主应用执行,执行装置可以是位于终端设备宿主应用的插件或软件开发工具包(Software Development Kit,SDK)等功能单元。如图2所示,该方法主要包括以下步骤:
在201中,获取触发小程序运行的事件。
本发明并不限于在宿主应用中触发小程序运行的事件类型,例如可以是用户在宿主应用中点击小程序图标以触发小程序运行,也可以是用户在宿主应用中点击某链接触发对应小程序运行,等等。
在202中,若本宿主应用的内存中不存在该小程序的进程,则确认终端设备中其他宿主应用的内存中是否已经存在该小程序的进程,如果是,执行203;否则,执行204。
本步骤中可以首先判断本宿主应用的内存中是否存在该小程序的进程,如果是,直接利用该已经存在的小程序进程启动小程序。
在203中,调用已经存在的该小程序的进程以运行该小程序,结束流程。
如果在终端设备中已经有其他宿主应用存在该小程序的进程,则无需重复启动进程,直接调用该已经存在的小程序的进程以运行该小程序即可。
由于已经存在的该小程序的进程是其他宿主应用内存中的,本发明实施例中可以采用进程间通信机制调用该已经存在的小程序进程。例如采用共享内存、套接字(socket)、Binder机制等等。因Binder机制的安全性优选Binder机制。
在204中,在本宿主应用的内存中启动小程序的进程以运行该小程序。
若终端设备中没有任何宿主应用的内存中存在该小程序的进程,则在本宿主应用的内存中新启动一个该小程序的进程来运行该小程序。
在本发明实施例中采用同一终端设备中宿主应用的内存共享小程序的进程的方式。而对于宿主应用如何获知其他宿主应用的内存进程状况可以采用但不限于以下几种:
第一种方式:宿主应用在本宿主应用的内存中启动小程序进程后,通过广播机制将启动小程序进程的信息广播给终端设备中的其他宿主应用。
第二种方式:在终端设备中维护一个共享数据库,各宿主应用对该共享数据库具有读写权限。在本宿主应用的内存中启动小程序进程后,将本宿主应用启动小程序进程的信息记录于该共享数据库中,以供其他宿主应用查看。
下面将结合具体实施例对上述两种方式分别进行详细描述。另外,需要说明的是,一种理想的情况是,所有宿主应用均采用相同的小程序标准。但往往在实际情况中,一些宿主应用是采用相同的小程序标准的,但另一些宿主应用则采用其他小程序标准。那么可以将采用相同小程序标准的宿主应用称为一个宿主联盟。针对属于同一宿主联盟的各宿主应用采用本发明实施例所提供的共享小程序进程的方式。关于哪些宿主应用属于同一宿主联盟则可以在服务器端统一配置,然后各宿主应用从服务器端获取。在下面的实施例中均以同一宿主联盟的各宿主应用共享小程序进程的方式为例进行描述。另外,对于宿主联盟的所有宿主应用而言,所有小程序进程均采用统一的命名机制,以便通过小程序进程名就能够获知其对应的小程序。
实施例一、
图3为本发明实施例一提供的方法流程图,本实施例中对上述第一种实现方式进行描述。假设用户欲在宿主应用1中运行小程序c,如图3所示,由宿主应用1执行的方法可以包括以下过程:
在301中,宿主应用1启动时,从服务器端同步宿主联盟的信息并存储于 宿主应用1本地的数据库。
宿主应用1在启动时,可以向对应服务器端发送宿主联盟的同步请求,对应服务器端向该宿主应用1返回宿主联盟的各宿主应用的信息,例如包名。然后宿主应用1可以确定本终端设备已经安装的宿主联盟的宿主应用信息。
当宿主应用1启动时,可以对所在终端设备本地已安装的应用程序进行扫描,再进一步利用从服务器端同步到的宿主联盟的信息,就能够确定出本终端设备已经安装的宿主联盟的宿主应用信息,可以将这些宿主应用的信息以列表形式存储于本宿主应用的数据库中。
举个例子,假设服务器端下发的宿主联盟的信息包括:宿主应用1、宿主应用2、宿主应用3、宿主应用4……。宿主应用1扫描本终端设备后发现本终端设备安装有宿主应用1和宿主应用2,那么宿主应用1就可以将宿主应用1和宿主应用2的信息存储于宿主应用1本地的数据库中。
在302中,获取到宿主应用1中小程序c运行的事件。
在303中,判断宿主应用1的内存中是否已经存在小程序c的进程,如果是,执行304;否则执行305。
在304中,利用宿主应用1内存中已经存在的小程序c进程运行小程序c,结束本流程。
若宿主应用1自己的内存中已经存在小程序c的进程,则直接调起该进程以运行小程序c即可。
在305中,查询宿主应用1的私有数据库以确定同一宿主联盟的其他宿主应用的内存中是否已经存在小程序c的进程,如果是,执行306;否则,执行307。
在本实施例中,各宿主应用在本地均维护有各自的私有数据库,该私有数据库中维护有终端设备中同一宿主联盟各宿主应用内存中存在的各小程序进程,其他宿主应用内存中存在的各小程序进程信息是通过广播机制获取来的。该过程将在后续步骤中涉及。
在306中,宿主应用1通过Binder机制调用其他宿主应用内存中已经存在的小程序c的进程,用以运行小程序c,结束本启动流程。
例如经查询若宿主应用2的内存中已经存在小程序c的进程,则宿主应用 1可以直接调用宿主应用2的内存中已经存在的小程序c的进程来启动小程序c。
在307中,宿主应用1在自己内存中启动小程序c的进程以运行小程序c。
在308中,宿主应用1将在自己内存中启动小程序c进程的信息通过广播机制告知同一宿主联盟的其他各宿主应用。
其他各宿主应用接收到广播消息后,将宿主应用1的内存中已经存在小程序c进程的信息记录于本宿主应用的私有数据库。
若后续宿主应用1的内存中结束了小程序c的进程,则也可以将宿主应用1结束小程序c的进程的信息通过广播消息告知同一宿主联盟的其他各宿主应用,以便其他各宿主应用及时更新各自的私有数据库。通过这一机制,能够保证终端设备中同一宿主联盟的各宿主应用能够获知最新的小程序进程的状况。
实施例二、
图4为本发明实施例二提供的方法流程图,本实施例中对上述第二种实现方式进行描述。假设用户欲在宿主应用1中启动小程序c,如图4所示,由宿主应用1执行的方法可以包括以下过程:
在401中,获取到宿主应用1中小程序c运行的事件。
在402中,判断宿主应用1的内存中是否已经存在小程序c的进程,如果是,执行403;否则执行404。
在403中,利用宿主应用1内存中已经存在的小程序c进程运行小程序c,结束本流程。
在404中,宿主应用1查询终端设备的共享数据库,以确定同一宿主联盟的其他宿主应用的内存中是否已经存在小程序c的进程,如果是,执行405;否则,执行406。
在本实施例中,在终端设备中设置共享数据库,该共享数据库对宿主联盟中各宿主应用开放读写权限。宿主联盟中的宿主应用均将本宿主应用内存中运行小程序进程的状况记录于该共享数据库以在宿主联盟范围内进行共享。
在405中,宿主应用1通过Binder机制调用其他宿主应用内存中已经存在的小程序c的进程,用以运行小程序c,结束本启动流程。
在406中,宿主应用1在自己内存中启动小程序c的进程以运行小程序c。
在407中,宿主应用1将在自己内存中启动小程序c进程的信息记录于共享数据库。
若后续宿主应用1的内存中结束了小程序c的进程,则也可以依据宿主应用1结束小程序c的进程的信息更新共享数据库。通过这一机制,能够保证终端设备中同一宿主联盟的各宿主应用能够获知最新的小程序进程的状况。
图5示出了适于用来实现本发明实施方式的示例性计算机系统012的框图。图5显示的计算机系统012仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统012以通用计算设备的形式表现。计算机系统012的组件可以包括但不限于:一个或者多个处理器或者处理单元016,系统存储器028,连接不同系统组件(包括系统存储器028和处理单元016)的总线018。
总线018表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统012典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统012访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器028可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)030和/或高速缓存存储器032。计算机系统012可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统034可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线018相连。存储器028可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块042的程序/实用工具040,可以存储在例如存储器028中,这样的程序模块042包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块042通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统012也可以与一个或多个外部设备014(例如键盘、指向设备、显示器024等)通信,在本发明中,计算机系统012与外部雷达设备进行通信,还可与一个或者多个使得用户能与该计算机系统012交互的设备通信,和/或与使得该计算机系统012能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口022进行。并且,计算机系统012还可以通过网络适配器020与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器020通过总线018与计算机系统012的其它模块通信。应当明白,尽管图5中未示出,可以结合计算机系统012使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元016通过运行存储在系统存储器028中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的方法流程。
上述的计算机程序可以设置于计算机存储介质中,即该计算机存储介质被编码有计算机程序,该程序在被一个或多个计算机执行时,使得一个或多个计算机执行本发明上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器执行本发明实施例所提供的方法流程。
随着时间、技术的发展,介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、 可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (12)

  1. 一种运行小程序的方法,由终端设备的宿主应用执行,其特征在于,该方法包括:
    获取到触发小程序运行的事件;
    若本宿主应用的内存中不存在所述小程序的进程,则确认所述终端设备中其他宿主应用的内存中是否已经存在所述小程序的进程;
    如果是,则调用已经存在的所述小程序的进程以运行所述小程序。
  2. 根据权利要求1所述的方法,其特征在于,该方法还包括:
    若确认所述终端设备中其他宿主应用的内存中均不存在所述小程序的进程,则在本宿主应用的内存中启动小程序的进程以运行所述小程序。
  3. 根据权利要求1所述的方法,其特征在于,该方法还包括:
    若本宿主应用的内存中存在所述小程序的进程,则利用本宿主应用的内存中存在的所述小程序的进程运行所述小程序。
  4. 根据权利要求1所述的方法,其特征在于,确认所述终端设备中其他宿主应用的内存中是否已经存在所述小程序的进程,包括:确认所述终端设备中与本宿主应用属于同一宿主联盟的各宿主应用,判断确定出的所述各宿主应用的内存中是否已经存在所述小程序的进程;
    其中,同一宿主联盟中各宿主应用采用相同的小程序标准。
  5. 根据权利要求4所述的方法,其特征在于,该方法还包括:
    从服务器端同步与本宿主应用属于同一宿主联盟的各宿主应用的信息,并确定所述终端设备已经安装的所述宿主联盟的宿主应用信息。
  6. 根据权利要求2所述的方法,其特征在于,所述在本宿主应用的内存中启动小程序的进程以运行所述小程序之后,该方法还包括:将启动所述小程序的进程信息广播给所述终端设备中的各宿主应用,以便各宿主应用记录于本宿主应用的私有数据库;
    宿主应用查询本宿主应用的私有数据库以执行确认所述终端设备中其他宿主应用的内存中是否已经存在所述小程序的进程的步骤。
  7. 根据权利要求6所述的方法,其特征在于,该方法还包括:
    在结束所述小程序的进程之后,将结束所述小程序的进程信息广播给所述终端设备中的各宿主应用,以便各宿主应用更新本宿主应用的私有数据库。
  8. 根据权利要求2所述的方法,其特征在于,在所述在本宿主应用的内存中启动小程序的进程以运行所述小程序之后,该方法还包括:将启动所述小程序的进程信息记录于所述终端设备的共享数据库;
    查询所述共享数据库以执行确认所述终端设备中其他宿主应用的内存中是否已经存在所述小程序的进程的步骤。
  9. 根据权利要求8所述的方法,其特征在于,该方法还包括:
    在结束所述小程序的进程之后,依据结束所述小程序的进程信息更新所述共享数据库。
  10. 根据权利要求1所述的方法,其特征在于,采用Binder机制执行所述调用已经存在的所述小程序的进程的步骤。
  11. 一种设备,其特征在于,所述设备包括:
    一个或多个处理器;
    存储装置,用于存储一个或多个程序,
    当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
  12. 一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-10中任一所述的方法。
PCT/CN2020/104488 2019-07-25 2020-07-24 一种运行小程序的方法、设备和计算机存储介质 WO2021013247A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910676643.0 2019-07-25
CN201910676643.0A CN110377369B (zh) 2019-07-25 2019-07-25 一种运行小程序的方法、设备和计算机存储介质

Publications (1)

Publication Number Publication Date
WO2021013247A1 true WO2021013247A1 (zh) 2021-01-28

Family

ID=68255855

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/104488 WO2021013247A1 (zh) 2019-07-25 2020-07-24 一种运行小程序的方法、设备和计算机存储介质

Country Status (2)

Country Link
CN (1) CN110377369B (zh)
WO (1) WO2021013247A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110377369B (zh) * 2019-07-25 2021-02-19 上海连尚网络科技有限公司 一种运行小程序的方法、设备和计算机存储介质
CN112835632B (zh) * 2019-11-06 2022-05-27 上海连尚网络科技有限公司 一种端能力的调用方法、设备和计算机存储介质
CN112241473A (zh) * 2020-09-07 2021-01-19 上海连尚网络科技有限公司 一种用于为应用配置数据的方法与设备
CN112148332B (zh) * 2020-09-30 2023-09-05 亮风台(上海)信息科技有限公司 工具化系统及其更新方法、终端设备、存储介质
CN116263718A (zh) * 2021-12-13 2023-06-16 北京有竹居网络技术有限公司 进程管理方法、装置、存储介质以及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172710A1 (en) * 2007-12-28 2009-07-02 Arman Toorians Method and system for enabling a mini program on a computing device to access an auxiliary system
CN109710332A (zh) * 2018-12-28 2019-05-03 上海掌门科技有限公司 寄宿应用的处理方法、设备及计算机可读存储介质
CN109710333A (zh) * 2018-12-28 2019-05-03 上海掌门科技有限公司 寄宿应用的处理方法、设备及计算机可读存储介质
CN109960541A (zh) * 2019-03-15 2019-07-02 上海连尚网络科技有限公司 启动小程序的方法、设备和计算机存储介质
CN109976619A (zh) * 2019-03-27 2019-07-05 携程计算机技术(上海)有限公司 微信小程序运行环境的切换系统及方法
CN110377369A (zh) * 2019-07-25 2019-10-25 上海连尚网络科技有限公司 一种运行小程序的方法、设备和计算机存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595220B (zh) * 2018-04-25 2021-04-16 上海掌门科技有限公司 应用组件的处理方法、设备及计算机可读存储介质
CN109614207A (zh) * 2018-10-12 2019-04-12 上海掌门科技有限公司 寄宿应用的处理方法、设备及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172710A1 (en) * 2007-12-28 2009-07-02 Arman Toorians Method and system for enabling a mini program on a computing device to access an auxiliary system
CN109710332A (zh) * 2018-12-28 2019-05-03 上海掌门科技有限公司 寄宿应用的处理方法、设备及计算机可读存储介质
CN109710333A (zh) * 2018-12-28 2019-05-03 上海掌门科技有限公司 寄宿应用的处理方法、设备及计算机可读存储介质
CN109960541A (zh) * 2019-03-15 2019-07-02 上海连尚网络科技有限公司 启动小程序的方法、设备和计算机存储介质
CN109976619A (zh) * 2019-03-27 2019-07-05 携程计算机技术(上海)有限公司 微信小程序运行环境的切换系统及方法
CN110377369A (zh) * 2019-07-25 2019-10-25 上海连尚网络科技有限公司 一种运行小程序的方法、设备和计算机存储介质

Also Published As

Publication number Publication date
CN110377369B (zh) 2021-02-19
CN110377369A (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
WO2021013247A1 (zh) 一种运行小程序的方法、设备和计算机存储介质
WO2021013243A1 (zh) 一种启动小程序的方法、设备和计算机存储介质
WO2021013242A1 (zh) 一种启动小程序的方法、设备和计算机存储介质
US20220053068A1 (en) Methods, apparatuses and computer storage media for applet state synchronization
US10193971B2 (en) Method, server and system for application synchronization
WO2021088671A1 (zh) 一种端能力的调用方法、设备和计算机存储介质
US7877091B2 (en) Method and system for executing a container managed application on a processing device
WO2020177698A1 (zh) 小程序平台间的通讯方法、设备和计算机存储介质
US20100269120A1 (en) Method, apparatus and computer program product for sharing resources via an interprocess communication
JP2000289583A (ja) 車両診断実行方法および車両診断実行システム
CN110489440B (zh) 数据查询方法和装置
WO2020135245A1 (zh) 寄宿应用的处理方法、设备及计算机可读存储介质
CN107256188B (zh) 安卓设备的控制方法、装置、终端及存储介质
CN114385091B (zh) 网盘盘符的实现方法、装置、网盘及存储介质
WO2020177697A1 (zh) 小程序平台间的发现方法、设备和计算机存储介质
CN111259022A (zh) 一种信息同步方法、同步系统、计算机设备和介质
CN114296646B (zh) 基于io业务的缓存方法、装置、服务器和存储介质
WO2021012795A1 (zh) 网络节点的调度方法、装置、电子设备和存储介质
WO2022062634A1 (zh) 在业务中集成地图服务的方法、装置、设备和存储介质
CN114201317A (zh) 数据传输方法、装置、存储介质及电子设备
CN111475230B (zh) 应用的功能配置方法、装置和电子设备
CN111596864A (zh) 一种数据延时删除的方法、装置、服务器及存储介质
CN109614089B (zh) 数据访问代码的自动生成方法、装置、设备及存储介质
WO2023051315A1 (zh) 应用控制方法、装置、电子设备及存储介质
WO2020224295A1 (zh) 用于管理信息的方法、装置和系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20844432

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20844432

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20844432

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 08.09.2022)