CN112925675B - 用于小程序的恢复方法和装置 - Google Patents
用于小程序的恢复方法和装置 Download PDFInfo
- Publication number
- CN112925675B CN112925675B CN202110222723.6A CN202110222723A CN112925675B CN 112925675 B CN112925675 B CN 112925675B CN 202110222723 A CN202110222723 A CN 202110222723A CN 112925675 B CN112925675 B CN 112925675B
- Authority
- CN
- China
- Prior art keywords
- applet
- recovery
- stored information
- question
- policy set
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本公开公开了用于小程序的恢复方法,涉及计算机领域,尤其涉及小程序技术领域。具体实现方案为:响应于出现与小程序关联的异常问题,确定异常问题所属的问题级别;基于问题级别,确定对应的小程序恢复策略;以及基于小程序恢复策略,对小程序执行恢复操作。
Description
技术领域
本公开涉及计算机领域,尤其涉及小程序技术领域,具体地涉及一种用于小程序的恢复方法、一种用于小程序的恢复装置、一种电子设备、一种存储有计算机指令的非瞬时计算机可读存储介质和一种计算机程序产品。
背景技术
小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户通过扫一扫或者搜一搜即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可以用,但又无需安装卸载。
发明内容
本公开提供了一种用于小程序的恢复方法、装置、设备、存储介质以及计算机程序产品。
根据本公开的一方面,提供了一种用于小程序的恢复方法,包括:响应于出现与小程序关联的异常问题,确定所述异常问题所属的问题级别;基于所述问题级别,确定对应的小程序恢复策略;以及基于所述小程序恢复策略,对所述小程序执行恢复操作。
根据本公开的另一方面,提供了一种用于小程序的恢复装置,包括:第一确定模块,用于响应于出现与小程序关联的异常问题,确定所述异常问题所属的问题级别;第二确定模块,用于基于所述问题级别,确定对应的小程序恢复策略;以及恢复操作执行模块,用于基于所述小程序恢复策略,对所述小程序执行恢复操作。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开实施例所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开实施例所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图l示例性示出了适于本申请实施例的用于小程序的恢复方法和装置的系统架构;
图2示例性示出了根据本申请实施例的用于小程序的恢复方法的流程图;
图3示例性示出了根据本申请实施例的小程序恢复机制的示意图;
图4示例性示出了根据本申请实施例的用于小程序的恢复装置的框图;以及
图5示例性示出了用来实现本申请实施例的用于小程序的恢复方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在实现本公开发明构思的过程中,发明人发现:磁盘存储环境异常容易导致小程序加载失败或者加载不完整,进而导致小程序不可用;小程序运行过程中产生的脏数据(比如包括存储格式不准确或者存储不完整的业务数据)也可能导致小程序不可用。
一旦小程序不可用,则需要执行小程序恢复操作。相关技术中提供的小程序恢复方案包括如下几种。
方案1,一键清除宿主App的所有数据或者对宿主App进行卸载、重新安装方可恢复小程序。具体地,可以在手机“设置-应用管理页面”一键清除宿主App的所有数据,使得宿主App恢复到初始安装状态。但是,这种小程序恢复操作需要用户主动触发。并且,这种小程序恢复操作针对的是宿主App,无法只针对宿主App中的某个或者某几个小程序,因而容易影响整个宿主App的功能。
方案2,通过热修复技术下发Patch命令用于修复小程序文件,即,替换小程序中的某个或者某几个代码行。但是,该方案的使用场景极为有限,比如仅对有限的类、方法、资源等有效。当小程序涉及大范围的逻辑改动时,该方案显得力不从心。并且这种小程序恢复操作仅支持部分平台(如安卓平台)。
方案3,通过小程序自身的白屏监控、框架异常识别等监控手段引导用户进行自恢复。但是,该方案的使用场景极为有限,比如只能针对由已知原因导致的小程序问题进行恢复,无法针对由未知原因导致的小程序问题进行恢复。例如,在小程序框架或小程序本体异常的情况下,可以引导用户进行自恢复。其中,小程序框架或小程序本体异常可以包括:下载程序包出错、运行/加载启动小程序代码出错、运行小程序时页面渲染出错,等等。
可见,相关技术中提供的上述小程序恢复方案存在如下问题:
不支持脱离宿主App,只针对小程序环境进行一键恢复。
需要不断地进行版本迭代。
及时性不高,无法应对紧急小程序问题。比如,对由未知原因导致的小程序问题无法进行恢复,只能对由已知原因导致的小程序问题进行恢复。
通用性不强,如无法解决磁盘存储异常以及运脏数据污染等。
以下将结合附图和具体实施例详细阐述本申请。
适于本申请实施例的用于小程序的恢复方法和装置的系统架构介绍如下。
图1示例性示出了适于本申请实施例的用于小程序的恢复方法和装置的系统架构。需要注意的是,图1所示仅为可以应用本申请实施例的系统架构的示例,以帮助本领域技术人员理解本申请的技术内容,但并不意味着本申请实施例不可以用于其他环境或场景。
如图1所示,系统架构100可以包括小程序101(如小程序1~小程序N)、存储区域102(如包括与小程序关联的键值对存储单元1021、与小程序关联的沙箱文件1022、与小程序关联的文件系统1023、与小程序关联的数据库1024、与小程序关联的云存储单元1025和与小程序关联的缓存单元1026)。
针对任一宿主App,对于其中涉及的所有小程序而言,在使用过程中可能会出现各种各样的问题。可以将这些问题划分为不同的级别,然后针对不同级别的问题,还可以设置不同的小程序恢复策略。使用不同的小程序恢复策略,可以收集存储区域102中与之关联的位置处的存储信息并清除之,从而实现不同级别的小程序恢复。
应该理解,图1中一个宿主App可以涉及的小程序的数目和每个小程序涉及的存储单元的数目仅仅是示意性的。根据实现需要,一个宿主App可以涉及任意数目的小程序,每个小程序也可以涉及任意数目的存储单元。
适于本申请实施例的用于小程序的恢复方法和装置的应用场景介绍如下。
在本公开实施例中,不需要对小程序进行版本迭代,可以用于针对宿主App进行一键恢复的场景,也可以脱离宿主App,用于只针对宿主App中涉及的一个或者多个小程序进行一键恢复的场景。
此外,在本公开实施例中,可以用于对由未知原因导致的小程序问题进行恢复的场景,也可以用于对由已知原因导致的小程序问题进行恢复的场景。
根据本申请的实施例,本申请提供了一种用于小程序的恢复方法。
图2示例性示出了根据本申请实施例的用于小程序的恢复方法的流程图。
如图2所示,该方法200可以包括操作S210~S230。
在操作S210,响应于出现与小程序关联的异常问题,确定异常问题所属的问题级别。
在操作S220,基于问题级别,确定对应的小程序恢复策略。
在操作S230,基于小程序恢复策略,对小程序执行恢复操作。
应该理解,小程序异常可能导致小程序不可用,因而需要对出现异常的小程序执行恢复操作,以确保小程序可用。小程序异常可以包括但不限于:小程序本体异常、被小程序引用的第三方异常、小程序框架异常、小程序所在的宿主App异常等。其中,小程序本体是指小程序代码实现的小程序部分。
小程序的一部分功能可以通过小程序本体提供的插件实现,另一部分功能可以通过第三方提供的API实现。因此,小程序本体出现问题,或者其引用的第三方出现问题都可能导致小程序异常。在本公开实施例中,小程序引用的第三方可以包括但不限于:插件、动态库等。
应该理解,一旦第三方出现问题,所有引用第三方的小程序都有可能出现问题。而单个小程序本体出现问题,通常只会引起小程序本体异常,不会引起其他小程序异常。因而,示例性的,可以定义小程序本体出现的问题为第一问题(初级问题),定义被小程序引用的第三方出现的问题为第二问题。其中第二问题的级别高于第一问题的级别。
示例性的,针对上述的第一问题,可以设置关联的小程序恢复策略如下:清除与小程序本体有关的所有存储信息。例如,响应于小程序1本体出现问题,仅清除与小程序1本体有关的所有存储信息即可。示例性的,针对上述的第二问题,可以设置关联的小程序恢复策略如下:清除与小程序引用的第三方有关的所有公共存储信息。例如,第三方提供的动态库出现了问题,小程序1因引用该动态库也出现了问题,此种情况下,可以清除与该动态库有关的所有公共存储信息。此外,在本公开实施例中,除了清除公共存储信息之外,还可以进一步确定所有引用该动态库的小程序并清除与这些小程序本体有关所有存储信息。
小程序框架用于为小程序提供运行环境,因而小程序框架出现问题可能导致小程序异常。
应该理解,一旦小程序框架出现问题,所有通过该小程序框架提供运行环境的小程序都有可能出现问题。因而,示例性的,可以定义小程序框架出现的问题为第三问题。第三问题的级别高于第二问题的级别。示例性的,针对上述的第三问题,可以设置关联的小程序恢复策略如下:清除与小程序框架有关的所有存储信息。例如,响应于小程序框架1出现问题,仅清除与小程序框架1有关的所有存储信息即可。
除了上述的第一~第三问题之外,还可以包括其他小程序异常问题。示例性的,可以定义其他小程序异常问题为第四问题(高级问题)。第四问题的级别高于第三问题的级别。示例性的,针对上述的第四问题,可以设置关联的小程序恢复策略如下:将小程序的宿主App恢复至初始安装状态。例如,可以一键清除宿主App的所有数据或者对宿主App进行卸载、重新安装以恢复小程序,进而保障小程序的稳定性。
通过本公开实施例,针对不同性质的小程序异常,可以采取不同级别的小程序恢复策略,以解决现有技术中无法脱离宿主App直接对某个或者某几个小程序进行一键恢复的问题。换言之,通过本公开实施例,针对不同级别的异常问题,可以采用不同的恢复策略,因而不一定非要对宿主App进行一键恢复,即可以脱离宿主App对小程序进行恢复。
并且,采用本公开实施例提供的小程序恢复方案,不需要修改小程序代码,因而不存在版本迭代的问题,生效更快、成本更低、也更安全。
并且,本公开实施例可以支持不同级别的小程序恢复,可以有效提升小程序内容生态的稳定性,使小程序平台对开发者更加健壮。
作为一种可选的实施例,小程序异常问题可以包括:小程序本体出现的问题。示例性的,小程序本体出现的问题可以定义为第一问题。针对第一问题设置的小程序恢复策略可以包括:清除与小程序本体有关的存储信息。
在一个实施例中,响应于任意一个小程序出现第一问题,按照针对第一问题预先设置的小程序恢复策略的规定,收集与小程序本体有关的所有存储信息并清除之。
或者,在另一个实施例中,响应于多个小程序同时出现第一问题,则按照针对第一问题预先设置的小程序恢复策略的规定,收集与该多个小程序中的每个小程序本体有关的所有存储信息并清除之。
应该理解,在本公开实施例中,与小程序本体有关的存储信息可以包括以键值对存储的业务数据。比如订单场景中的联系人、联系人电话、联系人地址等信息。此外,与小程序本体有关的存储信息还可以包括:系统目录(即设备存储目录,如手机存储目录)和键值对存储目录(即小程序存储目录)中涉及小程序本体的信息。
此外,小程序的沙箱文件被小程序独立拥有,不同小程序的沙箱文件也不同。小程序的沙箱文件主要包含Swan JS、小程序业务包、描述表、域名白名单、插件、动态库等核心文件。其中,Swan JS用于实现小程序框架。描述表用于描述小程序可以实现的功能。域名白名单用于指示可以访问小程序的域名。插件、动态库可以被与沙箱文件对应的小程序引用,以实现第三方提供的小程序功能。因此,与小程序本体有关的存储信息还可以包括:小程序的沙箱文件中包含的小程序业务包、描述表等。
此外,小程序的文件系统主要包括运行过程中产生的中间文件。该中间文件主要包括小程序的临时文件和持久化文件等。应该理解,小程序的文件系统中也可以包含与小程序本体有关的存储信息。
此外,与小程序本体有关的存储信息还包括:数据库中存储的与小程序本体有关的信息。该信息主要包含小程序的历史信息、小程序的收藏信息、小程序的PMS(PackageManagement System,包管理系统)包信息(与小程序包下载有关的信息,如下载平台)、小程序的Cookie(网络请求中用于识别用户身份)、小程序的开源打点数据(如点击量等打点数据)等。
通过本公开实施例,在小程序本体出现问题的情况下,可以仅对小程序本体进行一键恢复,无需针对整个宿主App进行一键恢复。即,可以脱离宿主App直接对小程序进行一键恢复。应该理解,一键恢复后,小程序可以恢复到小程序没有安装或者没有打开过的状态。并且,针对小程序的一键恢复仅影响小程序业务,对宿主App来说是无感知,不会影响宿主App的业务。
此外,通过恢复小程序环境,还可以在一定程度解决磁盘存储异常问题。比如解决磁盘IO不稳定导致的文件丢失,清除小程序运行时产生脏数据等。
作为一种可选的实施例,小程序异常问题可以包括:被小程序引用的第三方(如插件和动态库等)出现的问题。示例性的,第三方出现的问题可以定义为第二问题。针对第二问题设置的小程序恢复策略可以包括如下内容。清除与该第三方有关的公共存储信息。或者,清除与该第三方有关的公共存储信息,且清除与至少一个小程序中的每个小程序本体有关的存储信息。其中,该至少一个小程序可以包括:所有对该第三方有引用关系的小程序。
在一个实施例中,响应于任意一个小程序出现第二问题,按照针对第二问题预先设置的小程序恢复策略的规定,收集与被小程序引用的且出现问题的第三方有关的所有公共存储信息(如插件、动态库)并清除之。
或者,在另一个实施例中,响应于任意一个小程序出现第二问题,按照针对第二问题预先设置的小程序恢复策略的规定,收集与被小程序引用的且出现问题的第三方有关的所有公共存储信息(如插件、动态库)并清除之。同时确定所有与该第三方有引用关系的小程序,并收集与这些小程序本体有关的所有存储信息并清除之。
通过本公开实施例,在第三方出现问题的情况下,可以仅对第三方进行一键恢复;或者还可以同时对第三方和所有引用第三方的小程序进行一键恢复。
作为一种可选的实施例,小程序异常问题可以包括:小程序框架出现的问题。其中,小程序框架用于为小程序提供运行环境。一个小程序框架可以同时为一个或者多个小程序提供运行环境。示例性的,小程序框架出现的问题可以定义为第三问题。示例性的,针对第三问题设置的小程序恢复策略可以包括:清除与小程序框架有关的存储信息。
示例性的,小程序的沙箱文件包括Swan JS。Swan JS可以用于实现小程序框架。因此,在本公开实施例中,响应于小程序出现上述的第三问题,可以一键恢复Swan JS,即清理所有remote Swan JS,重新解压预置Swan JS逻辑,使得Swan JS恢复到初始的小程序框架环境。
通过本公开实施例,小程序框架出现问题,可以仅对小程序框架进行一键恢复,无需针对整个宿主App进行一键恢复。即,可以脱离宿主App直接对小程序框架进行一键恢复。应该理解,一键恢复后,小程序框架可以恢复到小程序没有安装或者没有打开过的状态。并且,针对小程序框架的一键恢复仅影响小程序业务,对宿主App来说是无感知,不会影响宿主App的业务。
作为一种可选的实施例,小程序异常问题可以包括:第四问题。示例性的,第四问题可以定义为包括除第一问题、第二问题、第三问题之外的异常问题。示例性的,针对上述的第四问题设置的小程序恢复策略可以包括:将小程序的宿主App涉及的至少一个小程序恢复至初始状态。该至少一个小程序包括该宿主App涉及的所有小程序。
示例性的,小程序文件丢失等导致的小程序异常问题可以定义为第四问题,由未知原因导致的小程序异常问题也可以定义为第四问题。第四问题属于比较高级的、比较严重的小程序异常问题,此种情况下,可以对宿主App进行一键恢复,以解决小程序异常问题。一键恢复宿主App后,该宿主App涉及的所有小程序可以恢复到小程序初始状态,如小程序未被打开过的状态。具体地,一键恢复宿主App可以清理所有与小程序框架关联的存储信息、以及与宿主App所涉及的所有小程序的本体关联的存储信息、以及与宿主App所涉及的所有小游戏关联的存储信息。
在本公开实施例中,针对第一~第三问题设置的小程序恢复策略解决不了的场景,可以仅清除涉及小程序框架的所有存储信息以及涉及小程序的所有存储信息,即将宿主APP恢复至初始安装状态。通过本公开实施例,在小程序出现异常问题时,可以及时恢复小程序,尤其面对原因不明的异常问题的情况下,也可以及时恢复小程序。因而,本公开实施例提供的小程序恢复方案,可以只考虑问题的性质,不考虑导致问题的原因,通用性更强,适用的场景也更多。
此外,在本公开实施例中,用户可以通过界面触发小程序恢复流程,或者也可以通过云控触发小程序恢复流程,或者也可以在框架检测到异常问题时触发小程序恢复流程,本公开实施例在此不做限定。
作为一种可选的实施例,不同的问题级别对应于不同的小程序恢复策略。问题级别越高,则问题越严重,小程序恢复策略需要涉及的存储信息清理范围就越广。
作为一种可选的实施例,基于小程序恢复策略,对小程序执行恢复操作,可以包括如下操作。
确定小程序恢复策略涉及的需要清理的存储信息。
从指定的存储区域收集需要清理的存储信息。
清理收集到的存储信息。
示例性的,如图3所示,在小程序恢复指令指示一键清理指定小程序的情况下,表征该指定的小程序本体出了问题,因而可以清理RAM缓存(即缓存单元)中涉及该指定的小程序的缓存数据,同时需要销毁该指定的小程序,同时还需要收集沙箱文件中涉及该指定的小程序的存储信息、以及与小程序关联的键值对存储单元中涉及该指定的小程序的存储信息、以及文件系统中涉及该指定的小程序的存储信息、以及数据库中涉及该指定的小程序的存储信息、以及云存储单元中涉及该指定的小程序的存储信息,并清除所收集的信息。
示例性的,如图3所示,在小程序恢复指令指示一键清理所有小程序的情况下,表征被这些小程序引用的第三方出了问题,因而可以清理RAM缓存中涉及该第三方的缓存数据,同时需要销毁这些小程序,同时还需要收集沙箱文件中涉及这些小程序的存储信息和涉及该第三方的公共存储信息、以及与这些小程序关联的键值对存储单元中涉及的存储信息和涉及该第三方的公共存储信息、以及文件系统中涉及这些小程序的存储信息和涉及该第三方的公共存储信息、以及数据库中涉及这些小程序的存储信息和涉及该第三方的公共存储信息、以及云存储单元中涉及这些小程序的存储信息和涉及该第三方的公共存储信息,并清除所收集的信息。
示例性的,如图3所示,在小程序恢复指令指示一键恢复小程序框架的情况下,表征该小程序框架出了问题,因而可以清理RAM缓存中涉及该小程序框架的缓存数据,同时需要销毁以该小程序框架为运行环境的所有小程序,同时还需要收集沙箱文件中涉及这些小程序的存储信息和涉及该小程序框架的公共存储信息、以及与这些小程序关联的键值对存储单元中涉及的存储信息和涉及该小程序框架的公共存储信息、以及文件系统中涉及这些小程序的存储信息和涉及该小程序框架的公共存储信息、以及数据库中涉及这些小程序的存储信息和涉及该小程序框架的公共存储信息、以及云存储单元中涉及这些小程序的存储信息和涉及该小程序框架的公共存储信息,并清除所收集的信息。
示例性的,如图3所示,在小程序恢复指令指示一键恢复宿主App的情况下,可以清理RAM缓存中涉及该宿主App中涉及的所有小程序的缓存数据,同时需要销毁该宿主App中涉及的所有小程序,同时还需要收集沙箱文件中涉及这些小程序的存储信息和涉及该宿主App的公共存储信息、以及与这些小程序关联的键值对存储单元中涉及的存储信息和涉及该宿主App的公共存储信息、以及文件系统中涉及这些小程序的存储信息和涉及该宿主App的公共存储信息、以及数据库中涉及这些小程序的存储信息和涉及该宿主App的公共存储信息、以及云存储单元中涉及这些小程序的存储信息和涉及该宿主App的公共存储信息,并清除所收集的信息。
应该理解,在本公开实施例中,云存储单元中存储的云端数据可以包括:授权信息(如授权可以使用的小程序功能)、云控配置信息等。
作为一种可选的实施例,存储区域可以包括以下中的至少之一:与小程序关联的键值对存储单元;与小程序关联的沙箱文件;与小程序关联的文件系统;与小程序关联的数据库;与小程序关联的云存储单元;与小程序关联的缓存单元。
根据本申请的实施例,本申请还提供了一种用于小程序的恢复装置。
图4示例性示出了根据本申请实施例的用于小程序的恢复装置的框图。
如图4所示,装置400可以包括:第一确定模块401、第二确定模块402和恢复操作执行模块403。
第一确定模块401,用于响应于出现与小程序关联的异常问题,确定该异常问题所属的问题级别。
第二确定模块402,用于基于该问题级别,确定对应的小程序恢复策略。
恢复操作执行模块403,用于基于该小程序恢复策略,对该小程序执行恢复操作。
作为一种可选的实施例,小程序异常问题包括:小程序本体出现的问题。小程序本体出现的问题为第一问题。针对第一问题设置的小程序恢复策略可以包括:清除与小程序本体有关的存储信息。
作为一种可选的实施例,小程序异常问题包括:被小程序引用的第三方出现的问题。第三方出现的问题为第二问题。针对第二问题设置的小程序恢复策略包括:清除与该第三方有关的公共存储信息;或者清除与该第三方有关的公共存储信息,且清除与至少一个小程序中的每个小程序本体有关的存储信息;其中,该至少一个小程序包括:对该第三方有引用关系的小程序。
作为一种可选的实施例,小程序异常问题包括:小程序框架出现的问题,其中,该小程序框架用于为该小程序提供运行环境;该小程序框架出现的问题为第三问题;以及针对该第三问题设置的小程序恢复策略包括:清除与该小程序框架本体有关的存储信息。
作为一种可选的实施例,小程序异常问题包括:第四问题;该第四问题包括除第一问题、第二问题、第三问题之外的异常问题;以及针对该第四问题设置的小程序恢复策略包括:将该小程序的宿主App涉及的至少一个小程序恢复至初始状态。
作为一种可选的实施例,不同的问题级别对应于不同的小程序恢复策略;以及问题级别越高,小程序恢复策略涉及的存储信息清理范围越广。
作为一种可选的实施例,基于该小程序恢复策略,对该小程序执行恢复操作,包括:确定该小程序恢复策略涉及的需要清理的存储信息;从指定的存储区域收集该需要清理的存储信息;以及清理所收集到的存储信息。
作为一种可选的实施例,该存储区域包括以下中的至少之一:与该小程序关联的键值对存储单元;与该小程序关联的沙箱文件;与该小程序关联的文件系统;与该小程序关联的数据库;与该小程序关联的云存储单元;与该小程序关联的缓存单元。
应该理解,本公开装置部分的实施例与本公开方法部分的实施例对应相同或类似,本公开实施例在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储电子设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
电子设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如用于小程序的恢复方法。例如,在一些实施例中,用于小程序的恢复方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的用于小程序的恢复方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行用于小程序的恢复方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (7)
1.一种用于小程序的恢复方法,包括:
响应于出现与小程序关联的异常问题,确定所述异常问题所属的问题级别,其中,所述异常问题包括第一问题、第二问题、第三问题以及第四问题中的至少一个,所述第一问题为小程序本体出现的问题,所述第二问题为被所述小程序引用的第三方出现的问题,所述第三问题为小程序框架出现的问题,所述第四问题为除第一问题、第二问题、第三问题之外的异常问题,所述小程序框架用于为所述小程序提供运行环境;
基于所述问题级别,确定对应的小程序恢复策略;以及
基于所述小程序恢复策略,对所述小程序执行恢复操作;
其中,所述小程序恢复策略包括以下至少之一:针对所述第一问题设置的小程序恢复策略、针对所述第二问题设置的小程序恢复策略、针对所述第三问题设置的小程序恢复策略以及针对所述第四问题设置的小程序恢复策略;
其中,所述针对所述第一问题设置的小程序恢复策略包括:清除与所述小程序本体有关的存储信息;
其中,所述针对所述第二问题设置的小程序恢复策略包括:
清除与所述第三方有关的公共存储信息;或者
清除与所述第三方有关的公共存储信息,且清除与至少一个小程序中的每个小程序本体有关的存储信息;
其中,所述至少一个小程序包括:对所述第三方有引用关系的小程序;
其中,所述针对所述第三问题设置的小程序恢复策略包括:清除与所述小程序框架有关的存储信息;
其中,所述针对所述第四问题设置的小程序恢复策略包括:将所述小程序的宿主App涉及的至少一个小程序恢复至初始状态。
2. 根据权利要求1所述的方法,其中:
不同的问题级别对应于不同的小程序恢复策略;以及
问题级别越高,小程序恢复策略涉及的存储信息清理范围越广。
3.根据权利要求1所述的方法,其中,基于所述小程序恢复策略,对所述小程序执行恢复操作,包括:
确定所述小程序恢复策略涉及的需要清理的存储信息;
从指定的存储区域收集所述需要清理的存储信息;以及
清理所收集到的存储信息。
4.根据权利要求1所述的方法,其中,存储区域包括以下中的至少之一:
与所述小程序关联的键值对存储单元;
与所述小程序关联的沙箱文件;
与所述小程序关联的文件系统;
与所述小程序关联的数据库;
与所述小程序关联的云存储单元;
与所述小程序关联的缓存单元。
5.一种用于小程序的恢复装置,包括:
第一确定模块,用于响应于出现与小程序关联的异常问题,确定所述异常问题所属的问题级别,其中,所述异常问题包括第一问题、第二问题、第三问题以及第四问题中的至少一个,所述第一问题为小程序本体出现的问题,所述第二问题为被所述小程序引用的第三方出现的问题,所述第三问题为小程序框架出现的问题,所述第四问题为除第一问题、第二问题、第三问题之外的异常问题,所述小程序框架用于为所述小程序提供运行环境;
第二确定模块,用于基于所述问题级别,确定对应的小程序恢复策略;以及
恢复操作执行模块,用于基于所述小程序恢复策略,对所述小程序执行恢复操作;
其中,所述小程序恢复策略包括以下至少之一:针对所述第一问题设置的小程序恢复策略、针对所述第二问题设置的小程序恢复策略、针对所述第三问题设置的小程序恢复策略以及针对所述第四问题设置的小程序恢复策略;
其中,所述针对所述第一问题设置的小程序恢复策略包括:清除与所述小程序本体有关的存储信息;
其中,所述针对所述第二问题设置的小程序恢复策略包括:
清除与所述第三方有关的公共存储信息;或者
清除与所述第三方有关的公共存储信息,且清除与至少一个小程序中的每个小程序本体有关的存储信息;
其中,所述至少一个小程序包括:对所述第三方有引用关系的小程序;
其中,所述针对所述第三问题设置的小程序恢复策略包括:清除与所述小程序框架有关的存储信息;
其中,所述针对所述第四问题设置的小程序恢复策略包括:将所述小程序的宿主App涉及的至少一个小程序恢复至初始状态。
6. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
7.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110222723.6A CN112925675B (zh) | 2021-02-26 | 2021-02-26 | 用于小程序的恢复方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110222723.6A CN112925675B (zh) | 2021-02-26 | 2021-02-26 | 用于小程序的恢复方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112925675A CN112925675A (zh) | 2021-06-08 |
CN112925675B true CN112925675B (zh) | 2023-08-01 |
Family
ID=76172600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110222723.6A Active CN112925675B (zh) | 2021-02-26 | 2021-02-26 | 用于小程序的恢复方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112925675B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703946B (zh) * | 2021-08-31 | 2023-07-14 | 中国联合网络通信集团有限公司 | 应用恢复方法及其装置、电子设备、计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301115A (zh) * | 2017-06-26 | 2017-10-27 | 中国铁道科学研究院电子计算技术研究所 | 应用程序异常监控和恢复方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10303573B2 (en) * | 2017-06-19 | 2019-05-28 | International Business Machines Corporation | Scaling out a hybrid cloud storage service |
-
2021
- 2021-02-26 CN CN202110222723.6A patent/CN112925675B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301115A (zh) * | 2017-06-26 | 2017-10-27 | 中国铁道科学研究院电子计算技术研究所 | 应用程序异常监控和恢复方法及设备 |
Non-Patent Citations (2)
Title |
---|
K Menaka ; S Karpagavalli.Mammogram classification using Extreme Learning Machine and Genetic Programming.IEEE.2014,全文. * |
一种改良安全机制的嵌入式远程升级系统的研究;邓力;周新志;;电子测量技术(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112925675A (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10810088B1 (en) | System and method of dynamic backup policy generation | |
US10592237B2 (en) | Efficient detection of architecture related bugs during the porting process | |
US20220066860A1 (en) | System for resolution of technical issues using computing system-specific contextual data | |
CN107644075B (zh) | 收集页面信息的方法和装置 | |
CN105045708A (zh) | 软件运行错误处理方法及系统 | |
CN112925675B (zh) | 用于小程序的恢复方法和装置 | |
CN109508249B (zh) | 崩溃处理方法、装置及电子设备 | |
CN112835639B (zh) | 一种Hook实现方法、装置、设备、介质及产品 | |
US9734191B2 (en) | Asynchronous image repository functionality | |
CN114679295B (zh) | 防火墙安全配置方法及装置 | |
CN112379973B (zh) | 重载方法和装置 | |
CN111694608B (zh) | 终端设备的系统升级方法和装置、电子设备和终端设备 | |
US20140237598A1 (en) | Reducing the Spread of Viruses and Errors in Social Networks and Affinity Groups | |
CN111338937B (zh) | 一种对小程序干预下线的方法、装置、设备和介质 | |
CN113051122B (zh) | 性能数据获取方法、装置、电子设备和介质 | |
CN114265605A (zh) | 一种业务系统功能组件的版本回退方法和装置 | |
CN108459940B (zh) | 应用性能管理系统的配置信息修改方法、装置及电子设备 | |
US9191267B2 (en) | Device management for determining the effects of management actions | |
US20150046414A1 (en) | Computer product, managing apparatus, and managing method | |
CN112000354A (zh) | 版本信息更新方法、装置、设备及存储介质 | |
CN110837433A (zh) | 性能优化方法、装置及电子设备 | |
CN111258954B (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN116954998A (zh) | 一种异地容灾恢复方法、装置和系统 | |
CN113448767A (zh) | 分布式事务数据库恢复方法、装置、设备及存储介质 | |
CN116341663A (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 |