CN110113407B - 小程序状态同步方法、设备和计算机存储介质 - Google Patents
小程序状态同步方法、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN110113407B CN110113407B CN201910358612.0A CN201910358612A CN110113407B CN 110113407 B CN110113407 B CN 110113407B CN 201910358612 A CN201910358612 A CN 201910358612A CN 110113407 B CN110113407 B CN 110113407B
- Authority
- CN
- China
- Prior art keywords
- terminal device
- server
- applet
- data
- running state
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种小程序状态同步方法、设备和计算机存储介质,其中方法包括:第一终端设备将正在运行的小程序的运行状态数据上传至服务器,以便所述服务器将所述运行状态数据同步至使用同一账户在第二终端设备上运行的同一小程序。通过本发明实现了小程序的跨设备状态同步。
Description
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种小程序状态同步方法、设备和计算机存储介质。
【背景技术】
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就被认为是现有技术。
小程序(Mini Program)是一种不需要下载安装即可使用的应用,其运行于宿主应用提供的环境下。其因随时可用但又无需安装卸载而得到了越来越广泛的应用。现在很多用户拥有多台终端设备,常常使用同一账号在不同终端设备登录小程序,但目前小程序在同一账户不同终端设备上打开时,仅仅具有本地的运行状态,例如用户使用账户a在手机上玩游戏小程序1之后,使用账户b在平板电脑上打开同一游戏小程序1,仅仅能够获取上一次用户在平板电脑上使用该游戏小程序1的状态,而无法获得用户刚才在手机上玩游戏小程序1的状态,这给用户的使用往往带来不便。
【发明内容】
有鉴于此,本发明提供了一种小程序状态同步方法、设备和计算机存储介质,以实现小程序的跨设备状态同步。
具体技术方案如下:
第一方面,本发明提供了一种小程序状态同步方法,该方法包括:
第一终端设备将正在运行的小程序的运行状态数据上传至服务器,以便所述服务器将所述运行状态数据同步至使用同一账户在第二终端设备上运行的同一小程序。
根据本发明一优选实施方式,所述运行状态数据包括:所述小程序的内存栈数据或运行状态缓存数据;
其中所述运行状态缓存包括:cookie或本地存储localstorage。
根据本发明一优选实施方式,第一终端设备将正在运行的小程序的运行状态数据上传至服务器之前,还包括:
所述第一终端设备判断所述小程序是否被设置为允许状态同步的小程序,如果是,继续执行所述将正在运行的小程序的运行状态数据上传至服务器;否则,不执行所述将正在运行的小程序的运行状态数据上传至服务器。
根据本发明一优选实施方式,所述上传包括:实时上传或周期性上传发生变化的所述小程序的运行状态数据。
第二方面,本申请还提供了一种小程序状态同步方法,该方法包括:
服务器接收并维护第一终端设备上传的正在运行的小程序的运行状态数据;
将所述运行状态数据同步至使用同一账户在第二终端设备上运行的同一小程序。
根据本发明一优选实施方式,所述运行状态数据包括:所述小程序的内存栈数据或运行状态缓存数据;
其中所述运行状态缓存包括:cookie或本地存储localstorage。
根据本发明一优选实施方式,所述服务器维护终端设备标识、账户标识、小程序标识和运行状态数据之间的对应关系,所述运行状态数据包括时间信息。
根据本发明一优选实施方式,将所述运行状态数据同步至使用同一账户在第二终端设备上运行的同一小程序包括:
所述服务器接收到所述第二终端设备的同步请求后,依据所述对应关系,将使用同一账户的同一小程序对应的最新运行状态数据同步至所述第二终端设备;或者,
依据所述对应关系,主动将使用同一账户的同一小程序对应的最新运行状态数据同步至所述第二终端设备。
根据本发明一优选实施方式,若所述第一终端设备和所述第二终端设备预先建立投屏映射关系,则所述服务器依据所述对应关系,主动将使用同一账户的同一小程序对应的最新运行状态数据同步至所述第二终端设备。
根据本发明一优选实施方式,该方法还包括:
所述服务器利用所述运行状态数据更新所述服务器维护的第二终端设备的运行状态数据。
第三方面,本发明还提供了一种小程序状态同步方法,该方法包括:
第二终端设备接收服务器发送的运行状态数据,所述运行状态数据是第一终端设备将正在运行的小程序的运行状态数据上传至服务器的;
利用所述运行状态数据同步使用同一账户在第二终端设备上运行的同一小程序。
根据本发明一优选实施方式,所述运行状态数据包括:所述小程序的内存栈数据或运行状态缓存数据;
其中所述运行状态缓存包括:cookie或本地存储localstorage。
根据本发明一优选实施方式,所述第二终端设备接收服务器发送的运行状态数据之前,还包括:
所述第二终端设备上使用所述同一账户的同一小程序被打开时,向所述服务器发送同步请求;或者,
所述第二终端设备上所述同一小程序使用所述同一账户登录时,向所述服务器发送同步请求。
根据本发明一优选实施方式,在向所述服务器发送同步请求之前,还包括:
所述第二终端设备判断所述小程序是否被设置为允许状态同步的小程序,如果是,继续执行向所述服务器发送同步请求;否则,不执行向所述服务器发送同步请求。
第四方面,本申请提供了一种设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。
第五方面,本申请提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行上述的方法。
由以上技术方案可以看出,本发明中第一终端上传正在运行的小程序的运行状态数据给服务器,由服务器进行维护并将运行状态数据同步至使用同一账户在第二终端设备上运行的同一小程序,从而实现了小程序的跨设备状态同步。
【附图说明】
图1为本发明实施例提供的系统架构示意图;
图2为本发明实施例提供的主要方法流程图;
图3为本发明实施例提供的配置界面示意图;
图4为本发明实施例一提供的同步流程示意图;
图5为本发明实施例二提供的同步流程示意图;
图6为本发明实施例三提供的同步流程示意图;
图7示出了适于用来实现本发明实施方式的示例性计算机系统/服务器的框图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
为了方便本发明的理解,对本发明所提供的系统架构进行简单描述。如图1中所示,该系统主要包括:第一终端设备、服务器和第二终端设备。其中,用户使用同一账户在第一终端设备和第二终端设备上登录并运行同一小程序。服务器为所述小程序对应的服务端设备。
小程序依托宿主应用在第一终端设备和第二终端设备上运行,小程序运行所在的环境是宿主应用提供的。本发明对宿主应用并未进行功能上的变更和影响。上述小程序可以依托相同的宿主应用在第一终端设备和第二终端设备上运行,也可以依托不同的宿主应用在第一终端设备和第二终端设备上运行,本发明对此并不加以限制。
本发明实施例中涉及的第一终端设备和第二终端设备可以包括但不限于诸如:智能移动终端、智能家居设备、网络设备、可穿戴式设备、智能医疗设备、PC(个人计算机)等。其中智能移动设备可以包括诸如手机、平板电脑、笔记本电脑、PDA(个人数字助理)、互联网汽车等。智能家居设备可以包括智能家电设备,诸如智能电视、智能音箱等。网络设备可以包括诸如交换机、无线AP、服务器等。可穿戴式设备可以包括诸如智能手表、智能眼镜、智能手环、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等。
另外需要说明的是,本发明所适用的场景并不限于第一终端设备和第二终端设备两个终端设备,用户可以采用同一账户在两个以上终端设备上运行同一小程序,本发明仅以两个终端设备为例进行描述。对于其他终端设备上的同步采用相同的方式。
图2为本发明实施例提供的主要方法流程图,如图2中所示,该方法主要包括以下步骤:
在201中,第一终端设备将正在运行的小程序的运行状态数据上传至服务器。
在本发明实施例中,上述运行状态数据可以包括但不限于:小程序的内存栈数据或运行状态缓存数据。
其中诸如互动娱乐类的小程序,由内存栈记录其运行状态。第一终端设备可以确定该小程序所占用的内存栈,将内存栈数据进行上传。
诸如资讯类等使用webview方式的小程序,由诸如cookie或localstorage(本地存储)等运行状态缓存来记录其运行状态。
本步骤中涉及的上传可以是实时上传或周期性上传。所谓实时上传指的是一旦运行状态数据发生变化就立即上传,所谓周期性上传指的是每隔固定时长进行上传。
在进行上传时,可以将小程序的内存栈数据或运行状态缓存数据整体上传,这种方式对于终端的性能和带宽都存在一定的浪费。因此,优选另外一种方式,即仅上传发生变化的运行状态数据。以内存栈为例,可以采用“切片式”上传的方式,即确定小程序对应的内存栈中发生变化的内存栈区域,将该部分区域中的数据上传至服务器。类似于将内存进行了区域切割,将切割出的“一片”区域上传。
其中在确定小程序对应的内存栈中发生变化的内存栈区域时,可以采用如下方式:将该小程序的内存栈按照时间进行快照,例如将每次上传时的内存栈进行快照,当到达新的上传周期时,再次对该小程序的内存栈进行快照,比对本次快照和上一次快照之间的差别,将有差别的内存栈地址导出并上传。其中,快照指的是将内存栈的内容生成特征值。
在202中,服务器接收并维护第一终端设备上传的运行状态数据。
在服务器端维护有终端设备标识、账户标识、小程序标识和运行状态数据之间的对应关系。其中运行状态数据包括时间信息,该时间信息可以是终端设备上传该运行状态数据时的时间,通过该时间信息,服务器能够获知同一账户的同一小程序的最新运行状态数据。
在203中,服务器将上述运行状态数据发送至使用同一账户的第二终端设备上运行的同一小程序。
服务器同步运行状态数据的方式可以是主动推送的方式,也可以是响应请求的方式。
即服务器可以依据维护的上述对应关系,主动将使用同一账户的同一小程序对应的最新运行状态数据同步至第二终端设备。
也可以在接收到第二终端设备的同步请求后,依据维护的上述对应关系,将使用同一账户的同一小程序对应的最新运行状态数据同步至第二终端设备。
后续将针对上述两种情况进行举例说明。
触发上述同步请求的发送事件可以包括:第二终端设备上使用上述同一账户的同一小程序被打开时,向服务器发送同步请求。例如,用户在第二终端设备上打开该小程序,该小程序已采用同一账户进行登陆,该打开小程序的事件触发第二终端设备向服务器发送同步请求,该同步请求中至少包含第二终端设备的标识、小程序标识和账户标识。服务器接收到该同步请求后,发现同一账户标识且同一小程序标识对应有第一终端设备的运行状态数据记录。若服务器端尚未维护第二终端设备的标识、小程序标识和账户标识对应的运行状态数据,或者维护的第一终端设备标识、上述小程序标识和上述账户标识对应的运行状态数据为最新,则向第二终端设备同步最新的运行状态数据。
触发上述同步请求的发送事件还可以包括:第二终端设备上上述同一小程序使用上述同一账户登录时,向服务器发送同步请求。例如第二终端设备上用户打开上述同一小程序后,使用过程中使用上述同一账户的登录,则触发向服务器发送同步请求。同步请求的内容与上述相同,不做赘述。
在204中,第二终端设备利用上述运行状态数据同步使用同一账户在第二终端设备上运行的同一小程序。
相应地,第二终端设备利用上述运行状态数据更新本地同一小程序对应的内存栈或运行状态缓存。
完成上述运行状态数据的同步后,服务器利用所述运行状态数据更新服务器维护的第二终端设备的运行状态数据。更新后,服务器端维护的第二终端设备的标识、上述小程序标识和账户标识对应的运行状态数据也为最新的运行状态数据,其时间信息与使用同一账户同一小程序的第一终端设备对应的运行状态数据的时间信息相同。
另外,对于第一终端设备或第二终端设备而言,对于哪些小程序进行状态同步可以由开发人员预先配置好,也可以由第一终端设备或第二终端设备的用户进行配置。例如,可以向用户提供一个配置界面,如图3中所示。由用户在该配置界面上选择需要进行状态同步的小程序。该配置界面可以由小程序的宿主应用统一提供。
上述方法中各设备所执行操作的执行主体可以是各设备中的应用程序,或者还可以为位于本地终端的应用程序中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元。例如,执行上述第一终端设备和第二终端设备操作的可以是第一终端设备和第二终端设备中小程序中的插件,执行上述服务器操作的可以是服务器中的应用程序。
下面结合三个具体的实施例对上述方法进行举例描述。
实施例一、
假设用户在终端设备A上通过账户a登录游戏小程序1,之后用户又在终端设备B上打开游戏小程序1,该游戏小程序1同样采用账户a登录。图4为本发明实施例一提供的在上述过程中的同步流程,如图4所示,该同步流程可以包括以下步骤:
在401中,终端设备A在使用账户a所登录游戏小程序1的运行过程中,周期性地上传该游戏小程序1对应的内存栈数据至服务器。
具体地,在终端设备A的游戏小程序1的运行过程中,每个周期均可以采用切片式的上传方式,即确定当前周期相比较上一周期而言发生变化的内存栈区域,将这部分内存栈区域的数据上传至服务器。上传至服务器的除了内存栈数据之外,还包括终端设备A的标识、账户a的标识、游戏小程序1的标识以及上传内存栈数据的时间信息。
在402中,服务器接收终端设备A上传的内存栈数据,并维护终端设备A的标识、账户a的标识、游戏小程序1的标识以及内存栈数据的对应关系,其中内存栈数据包括上传的时间信息。
假设当前服务器维护的对应关系包括:
终端设备A—账户a—游戏小程序1—内存栈数据190312_10:05:00
终端设备B—账户a—游戏小程序1—内存栈数据190311_20:07:00
即用户使用账户a曾经在两台终端设备A和B上登录使用过游戏小程序1。目前最新的内存栈数据为时间信息190312_10:05:00所标识的终端设备A的内存栈数据。
在403中,终端设备B上使用账户a的游戏小程序1被打开时,向服务器发送同步请求。
上述同步请求中包含终端设备B的标识、账户a的标识和游戏小程序1的标识。
在404中,服务器接收到同步请求后,将账户a、游戏小程序1对应的最新的内存栈数据发送至终端设备B。
接续上例,服务器依据维护的对应关系,确认账户a、游戏小程序1对应的最新的内存栈数据为终端设备A上传的内存栈数据190312_10:05:00,因此将其发送至终端设备B。
在405中,终端设备B利用上述最新的内存栈数据同步账户a、游戏小程序1对应的内存栈。
完成上述运行状态数据的同步后,例如服务器可以在同步上述最新的运行状态数据给终端设备B后,更新本地维护的终端设备B的运行状态数据。或者终端设备B也可以在同步完成后向服务器返回更新成功响应,服务器接收到该更新成功响应后,更新本地维护的终端设备B的运行状态数据。更新后,服务器端维护的数据包括:
终端设备A—账户a—游戏小程序1—内存栈数据190312_10:05:00
终端设备B—账户a—游戏小程序1—内存栈数据190312_10:05:00
当然,在上述过程中,如果服务器端接收到终端设备B的同步请求后,依据本地维护的对应关系,确定终端设备B上使用账户a的游戏小程序1已经是最新的内存栈数据,则无需进行后续同步流程。
另外,如果在终端设备A上用户设置游戏小程序1不进行同步,则不会上传内存栈数据至服务器。同样,如果在终端设备B上用户设置游戏小程序1不进行同步,则不会向服务器发送同步请求。
实施例二、
假设用户在终端设备A上通过账户a登录游戏小程序1,同时用户采用投屏的方式将终端设备A上的内容投屏至终端设备B上,使得在终端设备B上也产生了账户a登录游戏小程序1。例如,终端设备A可以为手机,终端设备B可以为电视。图5为本发明实施例二提供的在上述过程中的同步流程。如图5所示,该同步流程可以包括以下步骤:
在501中,终端设备A在使用账户a所登录游戏小程序1的运行过程中,实时上传该游戏小程序1对应的内存栈数据至服务器。
与实施例一种类似地,上传至服务器的除了内存栈数据之外,还包括终端设备A的标识、账户a的标识、游戏小程序1的标识以及上传内存栈数据的时间信息。
在502中,服务器接收终端设备A上传的内存栈数据,并维护终端设备A的标识、账户a的标识、游戏小程序1的标识以及内存栈数据的对应关系,其中内存栈数据包括上传的时间信息。
在503中,服务器依据预先建立的终端设备A和终端设备B之间的投屏映射关系,主动将终端设备A上传的内存栈数据同步至终端设备B。
用户在建立终端设备A和终端设备B之间的投屏时,该投屏映射关系会在服务器端建立和维护。当服务器接收到终端设备A上传的内存栈数据后,除了维护终端设备A的标识、账户a的标识、游戏小程序1的标识以及内存栈数据的对应关系之外,依据投屏映射关系,确定需要将该最新的内存栈数据同步至使用同一账户和同一小程序的终端设备B。
在504中,终端设备B利用上述最新的内存栈数据同步账户a、游戏小程序1对应的内存栈。
同样,完成上述运行状态数据的同步后,服务器更新本地维护的终端设备B的内存栈数据。
实施例三、
假设用户在终端设备A上通过账户a登录资讯类小程序2,之后用户又在终端设备B上打开资讯类小程序2,该资讯类小程序同样采用账户a登录。图6为本发明实施例三提供的在上述过程中的同步流程,如图6所示,该同步流程可以包括以下步骤:
在601中,终端设备A在使用账户a所登录资讯类小程序2的运行过程中,周期性地上传该资讯类小程序2对应的cookie数据至服务器。
通常,资讯类小程序采用webview架构,其运行状态数据通常缓存于cookie或localstorage中,本实施例中以cookie为例。
终端设备A在资讯类小程序2的运行过程中,每个周期上传一次cookie数据。由于cookie数据的数据量较小,可以采用整体上传的方式,也可以仅上传当前周期相比较上一周期发生变化的cookie数据。
在602中,服务器接收终端设备A上传的cookie数据,并维护终端设备A的标识、账户a的标识、资讯类小程序2的标识以及cookie数据的对应关系,其中cookie数据包括上传的时间信息。
假设当前服务器维护的对应关系包括:
终端设备A—账户a—资讯类小程序2—cookie数据190312_10:05:00
终端设备B—账户a—资讯类小程序2—cookie数据190311_20:07:00
即用户使用账户a曾经在两台终端设备A和B上登录使用过资讯类小程序2。目前最新的cookie数据为时间信息190312_10:05:00所标识的终端设备A的cookie数据。
在603中,终端设备B上使用账户a的资讯类小程序2被打开时,向服务器发送同步请求。
上述同步请求中包含终端设备B的标识、账户a的标识和资讯类小程序2的标识。
在604中,服务器接收到同步请求后,将账户a、资讯类小程序2对应的最新的cookie数据同步至终端设备B。
接续上例,服务器依据维护的对应关系,确认账户a、资讯类小程序2对应的最新的cookie数据为终端设备A上传的cookie数据190312_10:05:00,因此将其发送至终端设备B。
在605中,终端设备B利用上述最新的cookie数据同步账户a、资讯类小程序2对应的cookie。
完成上述运行状态数据的同步后,例如服务器可以在同步上述最新的运行状态数据给终端设备B后,更新本地维护的终端设备B的运行状态数据。或者终端设备B也可以在同步完成后向服务器返回更新成功响应,服务器接收到该更新成功响应后,更新本地维护的终端设备B的运行状态数据。更新后,服务器端维护的数据包括:
终端设备A—账户a—资讯类小程序2—cookie数据190312_10:05:00
终端设备B—账户a—资讯类小程序2—cookie数据190312_10:05:00
当然,在上述过程中,如果服务器端接收到终端设备B的同步请求后,依据本地维护的对应关系,确定终端设备B上使用账户a的资讯类小程序2已经是最新的内存栈数据,则无需进行后续同步流程。
另外,如果在终端设备A上用户设置资讯类小程序2不进行同步,则不会上传cookie数据至服务器。同样,如果在终端设备B上用户设置资讯类小程序2不进行同步,则不会向服务器发送同步请求。
图7示出了适于用来实现本发明实施方式的示例性计算机系统/服务器012的框图。图7显示的计算机系统/服务器012仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统/服务器012以通用计算设备的形式表现。计算机系统/服务器012的组件可以包括但不限于:一个或者多个处理器或者处理单元016,系统存储器028,连接不同系统组件(包括系统存储器028和处理单元016)的总线018。
总线018表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器012典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器012访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器028可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)030和/或高速缓存存储器032。计算机系统/服务器012可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统034可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如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的其它模块通信。应当明白,尽管图7中未示出,可以结合计算机系统/服务器012使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元016通过运行存储在系统存储器028中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的方法流程。
上述的计算机程序可以设置于计算机存储介质中,即该计算机存储介质被编码有计算机程序,该程序在被一个或多个计算机执行时,使得一个或多个计算机执行本发明上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器执行本发明实施例所提供的方法流程。
随着时间、技术的发展,介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
由以上描述可以看出,本发明实施例提供的方法、设备和计算机存储介质可以具备以下优点:
1)本发明实现了小程序运行状态的跨设备同步。
2)针对不同类型的小程序,提供了内存栈数据、cookie数据、localstorage数据等多种运行状态数据的同步方式。
3)除了小程序开发者能够指定打开状态同步功能的小程序之外,也可以由用户通过设置界面自行指定。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种小程序状态同步方法,其特征在于,该方法包括:
第一终端设备将正在运行的小程序的运行状态数据上传至服务器,以便所述服务器将所述运行状态数据同步至使用同一账户在第二终端设备上运行的同一小程序;
其中所述运行状态数据包括:所述小程序的内存栈数据或运行状态缓存数据,小程序依托宿主应用在所述第一终端设备和第二终端设备上运行,小程序运行所在的环境是宿主应用提供的。
2.根据权利要求1所述的方法,其特征在于,所述运行状态缓存包括:cookie或本地存储localstorage。
3.根据权利要求2所述的方法,其特征在于,第一终端设备将正在运行的小程序的运行状态数据上传至服务器之前,还包括:
所述第一终端设备判断所述小程序是否被设置为允许状态同步的小程序,如果是,继续执行所述将正在运行的小程序的运行状态数据上传至服务器;否则,不执行所述将正在运行的小程序的运行状态数据上传至服务器。
4.根据权利要求1所述的方法,其特征在于,所述上传包括:实时上传或周期性上传发生变化的所述小程序的运行状态数据。
5.一种小程序状态同步方法,其特征在于,该方法包括:
服务器接收并维护第一终端设备上传的正在运行的小程序的运行状态数据;
将所述运行状态数据同步至使用同一账户在第二终端设备上运行的同一小程序;
其中所述运行状态数据包括:所述小程序的内存栈数据或运行状态缓存数据,小程序依托宿主应用在所述第一终端设备和第二终端设备上运行,小程序运行所在的环境是宿主应用提供的。
6.根据权利要求5所述的方法,其特征在于,所述运行状态缓存包括:cookie或本地存储localstorage。
7.根据权利要求5所述的方法,其特征在于,所述服务器维护终端设备标识、账户标识、小程序标识和运行状态数据之间的对应关系,所述运行状态数据包括时间信息。
8.根据权利要求7所述的方法,其特征在于,将所述运行状态数据同步至使用同一账户在第二终端设备上运行的同一小程序包括:
所述服务器接收到所述第二终端设备的同步请求后,依据所述对应关系,将使用同一账户的同一小程序对应的最新运行状态数据同步至所述第二终端设备;或者,
依据所述对应关系,主动将使用同一账户的同一小程序对应的最新运行状态数据同步至所述第二终端设备。
9.根据权利要求8所述的方法,其特征在于,若所述第一终端设备和所述第二终端设备预先建立投屏映射关系,则所述服务器依据所述对应关系,主动将使用同一账户的同一小程序对应的最新运行状态数据同步至所述第二终端设备。
10.根据权利要求8所述的方法,其特征在于,该方法还包括:
所述服务器利用所述运行状态数据更新所述服务器维护的第二终端设备的运行状态数据。
11.一种小程序状态同步方法,其特征在于,该方法包括:
第二终端设备接收服务器发送的运行状态数据,所述运行状态数据是第一终端设备将正在运行的小程序的运行状态数据上传至服务器的;
利用所述运行状态数据同步使用同一账户在第二终端设备上运行的同一小程序;
其中所述运行状态数据包括:所述小程序的内存栈数据或运行状态缓存数据,小程序依托宿主应用在所述第一终端设备和第二终端设备上运行,小程序运行所在的环境是宿主应用提供的。
12.根据权利要求11所述的方法,其特征在于,所述运行状态缓存包括:cookie或本地存储localstorage。
13.根据权利要求11所述的方法,其特征在于,所述第二终端设备接收服务器发送的运行状态数据之前,还包括:
所述第二终端设备上使用所述同一账户的同一小程序被打开时,向所述服务器发送同步请求;或者,
所述第二终端设备上所述同一小程序使用所述同一账户登录时,向所述服务器发送同步请求。
14.根据权利要求13所述的方法,其特征在于,在向所述服务器发送同步请求之前,还包括:
所述第二终端设备判断所述小程序是否被设置为允许状态同步的小程序,如果是,继续执行向所述服务器发送同步请求;否则,不执行向所述服务器发送同步请求。
15.一种小程序状态同步设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-14中任一所述的方法。
16.一种存储有计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-14中任一所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910358612.0A CN110113407B (zh) | 2019-04-30 | 2019-04-30 | 小程序状态同步方法、设备和计算机存储介质 |
PCT/CN2020/087145 WO2020221190A1 (zh) | 2019-04-30 | 2020-04-27 | 小程序状态同步方法、设备和计算机存储介质 |
US17/453,092 US20220053068A1 (en) | 2019-04-30 | 2021-11-01 | Methods, apparatuses and computer storage media for applet state synchronization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910358612.0A CN110113407B (zh) | 2019-04-30 | 2019-04-30 | 小程序状态同步方法、设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110113407A CN110113407A (zh) | 2019-08-09 |
CN110113407B true CN110113407B (zh) | 2021-08-17 |
Family
ID=67487631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910358612.0A Active CN110113407B (zh) | 2019-04-30 | 2019-04-30 | 小程序状态同步方法、设备和计算机存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220053068A1 (zh) |
CN (1) | CN110113407B (zh) |
WO (1) | WO2020221190A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058902B (zh) * | 2019-04-29 | 2022-04-12 | 上海连尚网络科技有限公司 | 信息处理方法、电子设备和计算机可读介质 |
CN110113407B (zh) * | 2019-04-30 | 2021-08-17 | 上海连尚网络科技有限公司 | 小程序状态同步方法、设备和计算机存储介质 |
CN110633432A (zh) * | 2019-08-19 | 2019-12-31 | 深圳汇商通盈科技有限公司 | 一种获取数据的方法、装置、终端设备及介质 |
CN112311840A (zh) * | 2019-08-30 | 2021-02-02 | 北京字节跳动网络技术有限公司 | 一种多终端数据同步方法、装置、设备及介质 |
CN112734453B (zh) * | 2019-10-28 | 2024-02-02 | 腾讯科技(深圳)有限公司 | 电子券领取方法、发放方法、装置、设备和存储介质 |
CN111459571A (zh) * | 2020-03-31 | 2020-07-28 | 联想(北京)有限公司 | 一种配置方法、处理方法及装置 |
CN112527515A (zh) * | 2020-12-02 | 2021-03-19 | 厦门亿联网络技术股份有限公司 | 状态同步方法、装置、设备及存储介质 |
CN112528268B (zh) * | 2020-12-04 | 2023-09-19 | 平安科技(深圳)有限公司 | 跨渠道的小程序登录管理方法、装置及相关设备 |
CN112565466B (zh) * | 2021-02-20 | 2021-04-27 | 支付宝(杭州)信息技术有限公司 | 跨应用关联用户的方法及装置 |
CN113268210A (zh) * | 2021-05-10 | 2021-08-17 | 深圳Tcl新技术有限公司 | 投屏方法、设备及存储介质 |
CN113852843B (zh) * | 2021-08-26 | 2024-03-22 | 北京乐我无限科技有限责任公司 | 内容同步方法、装置、电子设备及存储介质 |
CN113791988B (zh) * | 2021-11-17 | 2022-02-18 | 畅捷通信息技术股份有限公司 | 一种降低小程序包体积的渲染方法、装置及存储介质 |
CN114567631A (zh) * | 2022-02-10 | 2022-05-31 | 北京乐驾科技有限公司 | 一种分布式应用方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617218A (zh) * | 2013-11-21 | 2014-03-05 | 北京奇虎科技有限公司 | 创建轻应用的方法及客户端 |
CN108966033A (zh) * | 2018-06-21 | 2018-12-07 | 康佳集团股份有限公司 | 基于微信小程序的电视社交处理方法、终端及介质 |
CN109032768A (zh) * | 2018-08-10 | 2018-12-18 | 北京智能管家科技有限公司 | 应用会话的迁移方法、装置、终端、服务器及存储介质 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275863B1 (en) * | 1999-01-25 | 2001-08-14 | International Business Machines Corp. | System and method for programming and executing long running transactions |
US20010007098A1 (en) * | 1999-12-30 | 2001-07-05 | Hinrichs Susan E. | Gift certificate award and exchange program and method |
US7363388B2 (en) * | 2001-03-28 | 2008-04-22 | Siebel Systems, Inc. | Method and system for direct server synchronization with a computing device |
US6829655B1 (en) * | 2001-03-28 | 2004-12-07 | Siebel Systems, Inc. | Method and system for server synchronization with a computing device via a companion device |
US7181531B2 (en) * | 2002-04-30 | 2007-02-20 | Microsoft Corporation | Method to synchronize and upload an offloaded network stack connection with a network stack |
US7788314B2 (en) * | 2004-04-23 | 2010-08-31 | Waratek Pty Ltd. | Multi-computer distributed processing with replicated local memory exclusive read and write and network value update propagation |
US8019863B2 (en) * | 2008-03-28 | 2011-09-13 | Ianywhere Solutions, Inc. | Synchronizing events between mobile devices and servers |
US8503484B2 (en) * | 2009-01-19 | 2013-08-06 | Honeywell International Inc. | System and method for a cross channel data link |
CN102739843B (zh) * | 2011-04-11 | 2014-04-09 | 中兴通讯股份有限公司 | 一种无线数据终端管理方法及系统 |
CN103327037B (zh) * | 2012-03-20 | 2017-09-29 | 中兴通讯股份有限公司 | 数据同步方法及装置 |
KR101438102B1 (ko) * | 2012-07-18 | 2014-09-11 | 안지윤 | 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템 |
US8635373B1 (en) * | 2012-09-22 | 2014-01-21 | Nest Labs, Inc. | Subscription-Notification mechanisms for synchronization of distributed states |
US9077759B2 (en) * | 2013-01-18 | 2015-07-07 | Apple Inc. | Conflict resolution for keychain syncing |
KR102020358B1 (ko) * | 2013-03-14 | 2019-11-05 | 삼성전자 주식회사 | 단말 및 그 단말에서 애플리케이션 동기화 방법 |
US8954611B2 (en) * | 2013-03-21 | 2015-02-10 | Nextbit Systems Inc. | Mechanism for sharing states of applications and devices across different user profiles |
US10237118B2 (en) * | 2016-11-18 | 2019-03-19 | Sap Se | Efficient application build/deployment for distributed container cloud platform |
CN108319483B (zh) * | 2018-01-30 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 网页处理方法、装置、终端及存储介质 |
CN108777683B (zh) * | 2018-05-30 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、终端、应用服务器及存储介质 |
CN109408476A (zh) * | 2018-09-19 | 2019-03-01 | 腾讯科技(深圳)有限公司 | 一种文件共享管理方法、设备及存储介质 |
CN110113407B (zh) * | 2019-04-30 | 2021-08-17 | 上海连尚网络科技有限公司 | 小程序状态同步方法、设备和计算机存储介质 |
-
2019
- 2019-04-30 CN CN201910358612.0A patent/CN110113407B/zh active Active
-
2020
- 2020-04-27 WO PCT/CN2020/087145 patent/WO2020221190A1/zh active Application Filing
-
2021
- 2021-11-01 US US17/453,092 patent/US20220053068A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617218A (zh) * | 2013-11-21 | 2014-03-05 | 北京奇虎科技有限公司 | 创建轻应用的方法及客户端 |
CN108966033A (zh) * | 2018-06-21 | 2018-12-07 | 康佳集团股份有限公司 | 基于微信小程序的电视社交处理方法、终端及介质 |
CN109032768A (zh) * | 2018-08-10 | 2018-12-18 | 北京智能管家科技有限公司 | 应用会话的迁移方法、装置、终端、服务器及存储介质 |
Non-Patent Citations (1)
Title |
---|
"iPad上也可以使用微信小程序了";界面新闻;《https://baijiahao.baidu.com/s?id=1611382298361012584&wfr=spider&for=pc》;20180912;第1页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110113407A (zh) | 2019-08-09 |
WO2020221190A1 (zh) | 2020-11-05 |
US20220053068A1 (en) | 2022-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113407B (zh) | 小程序状态同步方法、设备和计算机存储介质 | |
US9536261B2 (en) | Resolving conflicts within saved state data | |
CN110389936B (zh) | 一种启动小程序的方法、设备和计算机存储介质 | |
CN109933442B (zh) | 小程序平台间的通讯方法、设备和计算机存储介质 | |
CN111240896B (zh) | 一种终端数据同步方法、装置、服务器及存储介质 | |
CN110377369B (zh) | 一种运行小程序的方法、设备和计算机存储介质 | |
CN110177300B (zh) | 程序运行状态的监控方法、装置、电子设备和存储介质 | |
CN111324441A (zh) | 运行环境的切换方法、装置、计算机设备和存储介质 | |
CN109241128B (zh) | 一种过期事件自动触发方法及系统 | |
CN109218393B (zh) | 一种推送的实现方法、装置、设备和计算机存储介质 | |
CN115517009B (zh) | 集群管理方法、集群管理装置、存储介质与电子设备 | |
CN115687106A (zh) | 一种基于回注硬件的在环自动化测试方法及装置 | |
CN109697034B (zh) | 一种数据写入方法、装置、电子设备及存储介质 | |
CN110769316B (zh) | 一种首帧时间的计算方法、装置、设备和存储介质 | |
JP2023169287A (ja) | コンピューティングデバイス上でアプリケーションを更新するための、メモリ効率のよいソフトウェアパッチング | |
CN116032867A (zh) | 会话处理方法、装置、电子设备及存储介质 | |
CN107168648B (zh) | 文件存储方法、装置及终端 | |
CN112291602B (zh) | 视频播放方法、电子设备及存储介质 | |
CN116166673A (zh) | 数据处理方法及装置、电子设备、计算机可读存储介质 | |
CN114595080A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN112040149A (zh) | 投屏器的输入源切换方法、装置、投屏器和存储介质 | |
CN114390300B (zh) | 一种直播控制方法、装置、电子设备及计算机存储介质 | |
CN116938961B (zh) | 用于数据同步的系统、方法及数据读取方法 | |
CN104620563B (zh) | 一种用于减少计算设备的网络使用的方法和系统 | |
CN112019919B (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 |