小程序处理方法、小程序处理装置、设备、介质和产品与流程

文档序号:25543055发布日期:2021-06-18 20:39阅读:130来源:国知局
小程序处理方法、小程序处理装置、设备、介质和产品与流程

本公开涉及计算机技术领域,并且更具体地,涉及小程序处理方法、小程序处理装置、电子设备、计算机可读存储介质和计算机程序产品,可以用于小程序识别领域和小程序分发领域等领域中。



背景技术:

小程序是可以从服务器向宿主应用分发,并且无需用户进行安装即可通过宿主应用在安装宿主应用的用户设备内执行的应用。近年来小程序发展迅猛,开发者希望能够向更多的宿主应用分发小程序,从而使得不仅能够给自身带来流量相关的利益,也能够给用户带来便捷使用小程序的用户体验。

在宿主应用上集成有软件开发工具包(softwaredevelopkit,sdk),软件开发工具包能够提供各种功能以用于支持小程序的运行。然而,由于不同的宿主应用所集成的软件开发工具包的版本可能存在不同,并且宿主应用对某个版本的软件开发工具包的集成可能并不完整,因此导致有可能宿主应用所具有的功能并不足以支持所分发的小程序的正常运行,从而影响用户使用小程序的体验以及对宿主应用的评价。

然而,传统的用于选择向宿主应用分发的小程序的技术局限性很大,在效率和效果两个方面都存在一定的问题。



技术实现要素:

根据本公开的实施例,提供了一种小程序处理方法、小程序处理装置、电子设备、计算机可读存储介质和计算机程序产品。

在本公开的第一方面中,提供了一种小程序处理方法,包括:确定运行待分发小程序所需要使用的运行功能集合;从要在其上分发待分发小程序的宿主应用所提供的宿主功能集合中,确定由宿主应用上的已分发小程序使用运行功能集合中的功能的运行功能使用记录;以及基于运行功能使用记录,确定待分发小程序是否在宿主应用上分发。

在本公开的第二方面中,提供了一种小程序处理装置,包括:运动功能集合确定模块,被配置为确定运行待分发小程序所需要使用的运行功能集合;第一运行功能使用记录确定模块,被配置为从要在其上分发待分发小程序的宿主应用所提供的宿主功能集合中,确定由宿主应用上的已分发小程序使用运行功能集合中的功能的第一运行功能使用记录;以及第一分发确定模块,被配置为基于运行功能使用记录,确定待分发小程序是否在宿主应用上分发。

在本公开的第三方面中,提供了一种电子设备,包括至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够实现根据本公开的第一方面的方法。

在本公开的第四方面中,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机实现根据本公开的第一方面的方法。

在本公开的第五方面中,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时,执行根据本公开的第一方面的方法。

利用根据本申请的技术,提供了一种通过分析小程序所需要使用的功能以及确定宿主应用中对这些功能的使用记录的形式来确定是否分发小程序的方法,从而使得可以避免由于分发的小程序无法正常运行而影响用户使用小程序的体验以及对宿主应用的评价,因此能够提高宿主应用和小程序的使用效率以及提升用户体验。

应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。

附图说明

通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中在本公开示例性实施例中,相同的参考标号通常代表相同部件。应当理解,附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1示出了可以在其中实现本公开的某些实施例中的小程序处理方法的小程序处理环境100的示意性框图;

图2示出了根据本公开实施例的小程序处理方法200的流程图;

图3示出了根据本公开实施例的小程序处理方法300的流程图;

图4示出了根据本公开实施例的小程序处理方法400的流程图;

图5示出了根据本公开实施例的小程序处理方法500的流程图;

图6示出了根据本公开的实施例的小程序处理装置600的示意性框图;以及

图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。

在各个附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

如以上在背景技术中所描述的,传统的用于选择向宿主应用分发的小程序的技术局限性很大,在效率和效果两个方面都存在一定的问题。

具体而言,在传统方案中,分发小程序主要包括由宿主应用的管理员人工挑选特定小程序以用于下发以及由宿主应用的管理员人工鉴别能够分发的小程序,或者包括完全扫描宿主应用可以支持的所有功能。然而,传统的用于选择向宿主应用分发的小程序的技术存在许多不足。一方面,人工挑选小程序的效果较差,并且可持续性较差,从而导致宿主应用无法提前鉴别所分发的小程序打开后出现白屏等影响用户使用的情况,直接影响宿主应用分发小程序的质量以及对宿主应用的用户体验。另一方面,完全扫描宿主应用可以支持的所有功能需要耗费较多时间,从而导致实际应用时效率较低。

为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个问题,本公开的实施例提出了一种通过分析小程序所需要使用的功能以及确定宿主应用中对这些功能的使用记录的形式来确定是否分发小程序的方法,从而可以避免由于分发的小程序无法正常运行而影响用户使用小程序的体验以及对宿主应用的评价,因此能够提高宿主应用和小程序的使用效率以及提升用户体验。

图1示出了可以在其中实现本公开的某些实施例中的小程序处理方法的小程序处理环境100的示意性框图。根据本公开的一个或多个实施例,小程序处理环境100可以是云环境。

如图1中所示,小程序处理环境100包括计算设备110。在小程序处理环境100中,例如可以包括待分发小程序120的源代码的待分发小程序120作为计算设备110的输入被提供给计算设备110。根据本公开的实施例,待分发小程序120可以包括例如小程序的提供方希望能够发送到宿主应用、以用于在宿主应用上运行的小程序本身,并且还可以包括关于通过宿主应用运行待分发小程序120所需要使用的、由宿主应用所提供的运行功能集合的信息。

计算设备110可以与宿主应用130进行交互。根据本公开的一个或多个实施例,宿主应用130可以是服务器程序、例如被安装在用户设备上的操作系统和例如被安装在用户设备上的应用中的至少一种,并且服务器程序例如可以是包括处理硬件、操作系统及应用等不同层级、用于软件管理及升级、系统资源管理、性能维护和监控配置的程序。因此,将待分发小程序120分发到宿主应用130可以包括通过服务器程序、操作系统和应用中的至少一种来提供分发小程序120,以使得用户可以通过服务器程序、操作系统和应用中的至少一种来使用或者决定通过服务器程序、操作系统和应用中的至少一种来使用例如小程序的提供方希望能够发送到宿主应用以用于在宿主应用上运行的小程序。例如,计算设备110可以将待分发小程序120中的至少一部分提供给宿主应用130,从宿主应用130接收由宿主应用130上的已分发小程序使用运行功能集合中的功能的运行功能使用记录,以及向宿主应用130发出关于待分发小程序120是否在宿主应用130上分发的指示。

根据本公开的一个或多个实施例,计算设备110可以在向宿主应用130发出关于待分发小程序120在宿主应用130上分发的指示时向宿主应用130提供待分发小程序120,并且如果确定待分发小程序120不在宿主应用130上分发,则可以不向宿主应用130提供待分发小程序120。

根据本公开的一个或多个实施例,宿主应用130可以包括宿主应用130的服务器,并且计算设备110可以通过与宿主应用130的服务器交互来确定是否向被安装在各种用户的用户设备上的宿主应用130分发待分发小程序120。

在图1所示的小程序处理环境100中,向计算设备110输入待分发小程序120以及计算设备110与宿主应用130之间的交互可以通过网络来进行。此外,在本公开的实施例中,以计算设备110为例进行说明,并且计算设备110可以包括任何实体或者虚拟的中央处理单元、专用处理单元以及专有加速器等。然而,本公开的保护范围并不限于此,而是可以适用于能够提供输入输出处理能力的各种计算元件、单元、模块或者系统等。

应当理解,示例环境100仅仅是示例性而不是限制性的,并且其是可扩展或者可限缩的。例如,示例环境100中可以包括更多的计算设备110,并且可以向计算设备110提供更多的待分发小程序120作为输入,计算设备110也可以与更多的宿主应用130进行交互,从而使得可以满足更多用户同时利用更多的计算设备110,同时或者非同时地向宿主应用130分发更多的待分发小程序120的需求。

以下以图1中所包括的计算设备110,待分发小程序120以及宿主应用130为例来说明图2至图5中所示出的小程序处理方法200、小程序处理方法300、小程序处理方法400和小程序处理方法500。

图2示出了根据本公开的实施例的小程序处理方法200的流程图。具体而言,小程序处理方法200可以由图1中所示的小程序处理环境100中的计算设备110来执行。应当理解的是,小程序处理方法200还可以包括未示出的附加操作和/或可以省略所示出的操作,本公开的范围在此方面不受限制。

在框202,计算设备110确定在宿主应用130上运行待分发小程序120所需要使用的、将由宿主应用130提供的运行功能集合。根据本公开的一个或多个实施例,运行功能集合例如可以包括用于支持小程序的运行的应用编程接口api,这些应用编程接口api例如可以包括用于基础功能的api、用于路由功能的api、用于网络功能的api、用于界面功能的api、用于数据存储功能的api、用于人工智能功能的api、用于媒体功能的api、用于位置功能的api、用于画布功能的api、用于文件功能的api、用于设备功能的api、用于第三方平台功能的api、用于开放接口功能的api、用于用户接口功能的api、用于服务端功能的api以及用于广告功能的api等api。

根据本公开的一些实施例,计算设备110可以通过扫描待分发小程序120的源代码来确定运行功能集合。根据本公开的另一些实施例,分发小程序120可以包括指示运行功能集合的信息,并且计算设备110可以通过这一信息来确定运行功能集合。

在框204,计算设备110从要在其上分发待分发小程序120的宿主应用130所提供的宿主功能集合中,确定由宿主应用130上的已分发小程序使用运行功能集合中的功能的运行功能使用记录。根据本公开的一个或多个实施例,宿主功能集合可以包括由宿主应用130提供的、能够用于支持各种小程序运行的功能的集合,并且可以与在宿主应用130上集成或者安装的软件开发工具包的版本相关联。

根据本公开的一个或多个实施例,已分发小程序是指已经在宿主应用130上分发的小程序。当已分发小程序使用由宿主应用130所提供的宿主功能集合中的功能时,宿主应用130会记录对于这些功能的使用记录,而使用记录可以指示这些功能的使用时间、使用次数以及使用成功比例或者使用失败比例。

因此,由于计算设备110已经获知了运行功能集合中所包括的功能,因此计算设备110可以确定由宿主应用130上的已分发小程序使用的、与运行功能集合中所包括的功能对应的功能的使用记录。根据本公开的一个或多个实施例,当运行功能集合中所包括的某个功能没有由宿主应用130上的任何已分发小程序使用过时,运行功能使用记录中将不包括与这一功能相关联的使用记录。

根据本公开的一个或多个实施例,计算设备110可以首先从宿主功能集合中,确定由于运行已分发小程序而被使用过的功能的宿主功能使用记录。而后,计算设备110可以基于运行功能集合和宿主功能使用记录,确定运行功能使用记录。

如前所述,当已分发小程序使用由宿主应用130所提供的宿主功能集合中的功能时,宿主应用130会记录对于这些功能的使用记录,而使用记录可以指示这些功能的使用次数以及使用成功比例或者使用失败比例。因此,宿主功能使用记录可以包括关于由于运行所有已经被分发在宿主应用130上的已分发小程序而被使用过的功能的使用记录。宿主功能使用记录可以包括由宿主应用130上的所有已分发小程序使用过的功能的使用记录,并且可以指示这些功能的使用次数以及使用成功比例或者使用失败比例。因此,计算设备110可以在宿主功能使用记录中查找与运行功能集合中的功能对应的功能的使用记录,这些使用记录的集合可以形成运行功能使用记录。

在框206,计算设备110基于在框204确定的运行功能使用记录,确定待分发小程序120是否在宿主应用上130分发。根据本公开的一个或多个实施例,计算设备110可以使用各种预定策略,基于运行功能使用记录来确定待分发小程序120是否在宿主应用上130分发。这些预定策略例如可以包括由运行功能使用记录所指示的、运动功能集合中的功能在宿主应用130上的使用情况。根据本公开的一些实施例,如果运行功能使用记录指示运动功能集合中的某个功能在宿主应用130上从未被使用过,则计算设备110可以确定待分发小程序120不在宿主应用上130分发。根据本公开的另一些实施例,如果运行功能使用记录指示运行功能集合中的某个功能在宿主应用130上的使用失败比例大于等于预定比例阈值,则计算设备110可以确定待分发小程序120不在宿主应用上130分发。根据本公开的又一些实施例,如果运行功能使用记录指示运行功能集合中的曾经在宿主应用130上出现使用失败情况的功能的数目大于等于预定数目阈值,则计算设备110可以确定待分发小程序120不在宿主应用上130分发。

图3示出了根据本公开的实施例的小程序处理方法300的流程图。具体而言,小程序处理方法300同样可以由图1中所示的小程序处理环境100中的计算设备110来执行。应当理解的是,小程序处理方法300还可以包括未示出的附加操作和/或可以省略所示出的操作,本公开的范围在此方面不受限制。小程序处理方法300是小程序处理方法200的具体实施方式。

在框302,计算设备110确定在宿主应用130上运行待分发小程序120所需要使用的、将由宿主应用130提供的运行功能集合。框302所涉及的动作的具体内容与框202中所涉及的动作相同,在此不再赘述。

在框304,计算设备110从要在其上分发待分发小程序120的宿主应用130所提供的宿主功能集合中,确定由宿主应用130上的已分发小程序使用运行功能集合中的功能的运行功能使用记录。框304所涉及的动作的具体内容与框204中所涉及的动作相同,在此不再赘述。

在框306,计算设备110确定运行功能使用记录中是否不包括与运行功能集合中的至少一个功能相关联的使用记录。当计算设备110确定运行功能使用记录中不包括与运行功能集合中的至少一个功能相关联的使用记录时,方法300前进到框308,当计算设备110确定运行功能使用记录中包括与运行功能集合中的所有功能相关联的使用记录时,方法300前进到框314,此时计算设备110可以确定待分发小程序120在宿主应用130上分发。

根据本公开的一个或多个实施例,当计算设备110确定运行功能使用记录中不包括与运行功能集合中的至少一个功能相关联的使用记录时,说明该至少一个功能属于较少被使用的功能,此时可以针对该至少一个功能进行进一步的确定操作。

在框308,计算设备110确定宿主应用130是否无法提供该至少一个功能。当计算设备110确定宿主应用130无法提供该至少一个功能时,方法300前进到框310,当计算设备110确定宿主应用130能够提供该至少一个功能时,方法300前进到框314,此时计算设备110可以确定待分发小程序120在宿主应用130上分发。

根据本公开的一些实施例,计算设备110可以通过检查宿主应用能够提供的所有功能来确定宿主应用130是否无法提供该至少一个功能。根据本公开的另一些实施例,计算设备110可以通过基于该至少一个功能的名称或者其他属性在宿主应用130所提供的功能中进行查找来确定宿主应用130是否无法提供该至少一个功能。

需要指出的是,框308是方法300中的可选框,当框308在方法300中未被选用时,当计算设备110确定运行功能使用记录中不包括与运行功能集合中的至少一个功能相关联的使用记录时,方法300直接前进到框310。

在框310,计算设备110确定待分发小程序120不在宿主应用130上分发。根据本公开的一个或多个实施例,当计算设备110确定宿主应用130无法提供该至少一个功能时,将待分发小程序120在宿主应用130上分发很可能会导致待分发小程序120无法正常运行。此时,为了避免出现待分发小程序120在宿主应用130无法正常运行的情况,计算设备110可以确定待分发小程序120不在宿主应用130上分发。

在框312,计算设备110调整由宿主应用130提供的功能,以使得宿主应用130能够提供该至少一个功能。根据本公开的一个或多个实施例,计算设备110可以通过以下之一来调整由宿主应用130提供的功能:升级被安装在宿主应用130上的软件开发工具包;以及重新安装被安装在宿主应用130上的软件开发工具包。如前所述,由宿主应用130提供的、能够用于支持各种小程序运行的功能的集合可以与在宿主应用130上集成或者安装的软件开发工具包的版本相关联。因此,计算设备110可以通过升级被安装在宿主应用130上的软件开发工具包来使得宿主应用130之前不能提供的功能,或者可以通过重新安装被安装在宿主应用130上的软件开发工具包来使得宿主应用130可以修复或者补充之前版本上缺失或者错误的功能。

根据本公开的一个或多个实施例,计算设备110可以基于宿主功能使用记录来对由于运行已分发小程序而被使用过的功能进行分级。例如,被使用次数更高的或者使用失败次数或比例更高的功能可以被分级更高,从而使得在调整由宿主应用130提供的功能时可以优先针对分级更高的功能进行调整。

需要指出的是,框312是方法300中的可选框,因此方法300也可以不包括框312以及后续的框314。

在框314,计算设备110确定待分发小程序110在宿主应用130上分发。需要指出的是,框314是方法300中的可选框,因此方法300也可以不包括框314。

图4示出了根据本公开的实施例的小程序处理方法400的流程图。具体而言,小程序处理方法400同样可以由图1中所示的小程序处理环境100中的计算设备110来执行。应当理解的是,小程序处理方法400还可以包括未示出的附加操作和/或可以省略所示出的操作,本公开的范围在此方面不受限制。小程序处理方法400是小程序处理方法200的具体实施方式。

在框402,计算设备110确定在宿主应用130上运行待分发小程序120所需要使用的、将由宿主应用130提供的运行功能集合。框402所涉及的动作的具体内容与框202中所涉及的动作相同,在此不再赘述。

在框404,计算设备110从要在其上分发待分发小程序120的宿主应用130所提供的宿主功能集合中,确定由宿主应用130上的已分发小程序使用运行功能集合中的功能的运行功能使用记录。框404所涉及的动作的具体内容与框204中所涉及的动作相同,在此不再赘述。

在框406,计算设备110确定运行功能使用记录是否指示运行功能集合中的至少一个功能的使用失败比例大于等于预定比例阈值。当计算设备110确定运行功能使用记录指示运行功能集合中的至少一个功能的使用失败比例大于等于预定比例阈值时,方法400前进到框408,当计算设备110确定运行功能使用记录指示运行功能集合中没有任何功能的使用失败比例大于等于预定比例阈值时,方法400前进到框416,此时计算设备110可以确定待分发小程序120在宿主应用130上分发。

根据本公开的一个或多个实施例,运行功能集合中的某些功能的使用失败比例较高可能是由于这些功能与宿主应用130提供的其他功能的兼容性较差,从而会导致出现这些功能的使用有时成功、有时失败的情况。

在框408,计算设备110确定待分发小程序120不在宿主应用130上分发。根据本公开的一个或多个实施例,当计算设备110确定运行功能使用记录指示运行功能集合中的至少一个功能的使用失败比例大于等于预定比例阈值时,说明该至少一个功能的使用失败可能性较高,从而可能导致待分发小程序120在宿主应用130上分发后无法正常运行的可能性较高。此时,为了避免出现待分发小程序120在宿主应用130无法正常运行可能性较高的情况,计算设备110可以确定待分发小程序120不在宿主应用130上分发。

在框410,计算设备110调整由宿主应用130提供的功能,以提高该至少一个功能与由宿主应用130提供的其他功能的兼容性。根据本公开的一个或多个实施例,计算设备110可以通过分析运行功能使用记录来检测由宿主应用130提供的功能之间在使用时存在的冲突情况。例如,计算设备110可以通过分析运行功能使用记录来确定某个功能在与哪些其他功能被同时使用时会导致使用失败。而后,计算设备110可以例如通过调整这些功能之间的使用时间间隔、调整这些功能的调用之间存在的逻辑关系以及调整这些功能所具体引用的底层函数、代码之间的关系等方式来减少这些功能之间的冲突性,从而提高这些功能之间的兼容性。

需要指出的是,框410是方法400中的可选框,因此方法400也可以不包括框410以及后续的其他框。

在框412,计算设备110确定由经调整功能的宿主应用130上的已分发小程序在调整后的预定时间段内使用运行功能集合中的功能的宿主功能使用记录。确定宿主功能使用记录这一动作的具体内容与框204中所涉及的动作类似,在此不再赘述。需要指出的是,框412是方法400中的可选框,因此方法400也可以不包括框412以及后续的其他框。

在框414,计算设备110确定宿主功能使用记录是否指示运行功能集合中的该至少一个功能的使用失败比例小于所述预定比例阈值。根据本公开的一个或多个实施例,当计算设备110确定宿主功能使用记录指示运行功能集合中的该至少一个功能的使用失败比例小于该预定比例阈值时,相当于确定运行功能使用记录指示运行功能集合中没有任何功能的使用失败比例大于等于预定比例阈值,此时方法400前进到框416,当计算设备110确定宿主功能使用记录指示运行功能集合中的该至少一个功能的使用失败比例仍然大于等于该预定比例阈值时,计算设备110可以仍然保持确定待分发小程序120不在宿主应用130上分发,从而无需采取进一步的操作。需要指出的是,框414是方法400中的可选框,因此方法400也可以不包括框414以及后续的其他框。

在框416,计算设备110确定待分发小程序120在宿主应用130上分发。根据本公开的一个或多个实施例,当在框414确定宿主功能使用记录指示运行功能集合中的该至少一个功能的使用失败比例小于该预定比例阈值,相当于确定运行功能使用记录指示运行功能集合中没有任何功能的使用失败比例大于等于预定比例阈值时,计算设备110可以确定此时待分发小程序120在宿主应用130上分发后无法正常运行的比例较低,因此可以允许待分发小程序120在宿主应用130上分发。需要指出的是,框416是方法400中的可选框,因此方法400也可以不包括框416。

图5示出了根据本公开的实施例的小程序处理方法500的流程图。具体而言,小程序处理方法500同样可以由图1中所示的小程序处理环境100中的计算设备110来执行。应当理解的是,小程序处理方法500还可以包括未示出的附加操作和/或可以省略所示出的操作,本公开的范围在此方面不受限制。小程序处理方法500是小程序处理方法200的具体实施方式。

在框502,计算设备110确定在宿主应用130上运行待分发小程序120所需要使用的、将由宿主应用130提供的运行功能集合。框502所涉及的动作的具体内容与框202中所涉及的动作相同,在此不再赘述。

在框504,计算设备110从要在其上分发待分发小程序120的宿主应用130所提供的宿主功能集合中,确定由宿主应用130上的已分发小程序使用运行功能集合中的功能的运行功能使用记录。框504所涉及的动作的具体内容与框204中所涉及的动作相同,在此不再赘述。

在框506,计算设备110确定运行功能使用记录是否指示运行功能集合中的曾经使用失败的功能的数目大于等于预定数目阈值。当计算设备110确定运行功能使用记录指示运行功能集合中的曾经使用失败的功能的数目大于等于预定数目阈值时,方法500前进到框508,当计算设备110确定运行功能集合中的曾经使用失败的功能的数目小于数目阈值时,方法500前进到框516,此时计算设备110可以确定待分发小程序120在宿主应用130上分发。

根据本公开的一个或多个实施例,运行功能集合中的曾经使用失败的功能的数目大于等于预定数目阈值可能是由于这些功能之间或者这些功能与宿主应用130提供的其他功能的兼容性较差,从而会导致出现使用有时成功、有时失败的功能的数目较高的情况。

在框508,计算设备110确定待分发小程序120不在宿主应用130上分发。根据本公开的一个或多个实施例,当计算设备110确定运行功能使用记录指示运行功能集合中的曾经使用失败的功能的数目大于等于预定数目阈值时,说明待分发小程序120需要使用较多可能使用失败的功能,从而可能导致待分发小程序120在宿主应用130上分发后无法正常运行的可能性较高。此时,为了避免出现待分发小程序120在宿主应用130无法正常运行可能性较高的情况,计算设备110可以确定待分发小程序120不在宿主应用130上分发。

在框510,计算设备110调整由宿主应用130提供的功能,以提高曾经使用失败的功能与由宿主应用130提供的其他功能的兼容性。根据本公开的一个或多个实施例,计算设备110调整的是使用失败的功能与由宿主应用130提供的其他功能所构成的功能集合中的所有功能之间的兼容性。此外,计算设备110同样可以通过分析运行功能使用记录来检测由宿主应用130提供的功能之间在使用时存在的冲突情况。例如,计算设备110可以通过分析运行功能使用记录来确定某个功能在与哪些其他功能被同时使用时会导致使用失败。而后,计算设备110可以例如通过调整这些功能之间的使用时间间隔、调整这些功能的调用之间存在的逻辑关系以及调整这些功能所具体引用的底层函数、代码之间的关系等方式来减少这些功能之间的冲突性,从而提高这些功能之间的兼容性。

需要指出的是,框510是方法500中的可选框,因此方法500也可以不包括框510以及后续的其他框。

在框512,计算设备110确定由经调整功能的宿主应用130上的已分发小程序在调整后的预定时间段内使用运行功能集合中的功能的宿主功能使用记录。确定宿主功能使用记录这一动作的具体内容与框204中所涉及的动作类似,在此不再赘述。需要指出的是,框512是方法500中的可选框,因此方法500也可以不包括框512以及后续的其他框。

在框514,计算设备110确定宿主功能使用记录是否指示曾经使用失败的功能的数目小于该预定数目阈值。根据本公开的一个或多个实施例,当计算设备110确定宿主功能使用记录指示曾经使用失败的功能的数目小于该预定数目阈值时,说明待分发小程序120需要使用较少可能使用失败的功能,因此待分发小程序120在宿主应用130上分发后无法正常运行的可能性较低,此时方法500前进到框516,当计算设备110确定宿主功能使用记录指示曾经使用失败的功能的数目仍然大于等于该预定数目阈值时,计算设备110可以仍然保持确定待分发小程序120不在宿主应用130上分发,从而无需采取进一步的操作。需要指出的是,框514是方法500中的可选框,因此方法500也可以不包括框514以及后续的其他框。

在框516,计算设备110确定待分发小程序120在宿主应用130上分发。根据本公开的一个或多个实施例,当计算设备110确定宿主功能使用记录指示曾经使用失败的功能的数目小于该预定数目阈值时,说明待分发小程序120需要使用较少可能使用失败的功能,并且待分发小程序120在宿主应用130上分发后无法正常运行的可能性较低,因此可以允许待分发小程序120在宿主应用130上分发。需要指出的是,框516是方法500中的可选框,因此方法500也可以不包括框516。

应当理解,根据本公开实施例的小程序处理方法200、根据本公开实施例的小程序处理方法300、根据本公开实施例的小程序处理方法400和根据本公开实施例的小程序处理方法500可以同时针对多个小程序被应用于多个宿主应用。利用上述方法,可以针对某个宿主应用确定可以在这一宿主应用上分发或者不可以在这一宿主应用上分发的小程序列表,并且可以进一步地基于已分发小程序的白屏率、第一次渲染时长、上屏时长等数据来按照兼容性或者其他标准来对可分发的小程序进行排名。同时,利用上述方法,在经过数据汇总分析后,也可以针对某个特定小程序,确定可以用于分发这一小程序的多个不同宿主应用,并且可以按照这一小程序与宿主应用所提供的功能的兼容性或者其他标准来对可用于分发这一小程序的宿主应用进行排名。

以上参考图1至图5描述了可以在其中实现本公开的某些实施例中的小程序处理方法的小程序处理环境100、根据本公开实施例的小程序处理方法200、根据本公开实施例的小程序处理方法300、根据本公开实施例的小程序处理方法400和根据本公开实施例的小程序处理方法500的相关内容。应当理解,上述描述是为了更好地展示本公开中所记载的内容,而不是以任何方式进行限制。

应当理解,本公开的上述各个附图中所采用的各种元件的数目和物理量的大小仅为举例,而并不是对本公开的保护范围的限制。上述数目和大小可以根据需要而被任意设置,而不会对本公开的实施例的正常实施产生影响。

上文已经参考图1至图5描述了根据本公开的实施例的小程序处理环境100、小程序处理方法200、小程序处理方法300、小程序处理方法400和小程序处理方法500的细节。在下文中,将参考图6描述小程序处理装置中的各个模块。

图6是根据本公开实施例的小程序处理装置600的示意性框图。如图6所示,小程序处理装置600可以包括:运动功能集合确定模块610,被配置为确定运行待分发小程序所需要使用的运行功能集合;第一运行功能使用记录确定模块620,被配置为从要在其上分发待分发小程序的宿主应用所提供的宿主功能集合中,确定由宿主应用上的已分发小程序使用运行功能集合中的功能的第一运行功能使用记录;以及第一分发确定模块630,被配置为基于运行功能使用记录,确定待分发小程序是否在宿主应用上分发。

在一个或多个实施例中,其中第一运行功能使用记录确定模块620包括:第一宿主功能使用记录确定模块(未示出),被配置为从宿主功能集合中,确定由于运行已分发小程序而被使用过的功能的第一宿主功能使用记录;以及第二运行功能使用记录确定模块(未示出),被配置为基于运行功能集合和第一宿主功能使用记录,确定第一运行功能使用记录。

在一个或多个实施例中,其中第一分发确定模块630包括:第二分发确定模块(未示出),被配置为如果第一运行功能使用记录中不包括与运行功能集合中的至少一个功能相关联的使用记录,则确定待分发小程序不在宿主应用上分发。

在一个或多个实施例中,其中第二分发确定模块包括:功能提供确定模块(未示出),被配置为确定宿主应用无法提供至少一个功能。

在一个或多个实施例中,小程序处理装置600还包括:第一功能调整模块(未示出),被配置为调整由宿主应用提供的功能,以使得宿主应用能够提供至少一个功能;以及第三分发确定模块(未示出),被配置为确定待分发小程序在宿主应用上分发。

在一个或多个实施例中,其中调整由宿主应用提供的功能包括以下之一:升级被安装在宿主应用上的软件开发工具包;以及重新安装软件开发工具包。

在一个或多个实施例中,其中第一分发确定模块630包括:第四分发确定模块(未示出),被配置为如果第一运行功能使用记录指示运行功能集合中的至少一个功能的使用失败比例大于等于预定比例阈值,则确定待分发小程序不在宿主应用上分发。

在一个或多个实施例中,小程序处理装置600还包括:第二功能调整模块(未示出),被配置为调整由宿主应用提供的功能,以提高至少一个功能与由宿主应用提供的其他功能的兼容性;第二宿主功能使用记录确定模块(未示出),被配置为确定由经调整功能的宿主应用上的已分发小程序在调整后的预定时间段内使用运行功能集合中的功能的第二宿主功能使用记录;以及第五分发确定模块(未示出),被配置为如果宿主功能使用记录指示运行功能集合中的至少一个功能的使用失败比例小于预定比例阈值,则确定待分发小程序在宿主应用上分发。

在一个或多个实施例中,其中第一分发确定模块630包括:第六分发确定模块(未示出),被配置为如果运行功能使用记录指示运行功能集合中的曾经使用失败的功能的数目大于等于预定数目阈值,则确定待分发小程序不在宿主应用上分发。

在一个或多个实施例中,小程序处理装置600还包括:第三功能调整模块(未示出),被配置为调整由宿主应用提供的功能,以提高曾经使用失败的功能与由宿主应用提供的其他功能的兼容性;第三宿主功能使用记录确定模块(未示出),被配置为确定由经调整功能的宿主应用上的已分发小程序在调整后的预定时间段内使用运行功能集合中的功能的宿主功能使用记录;以及第七分发确定模块(未示出),被配置为如果宿主功能使用记录指示曾经使用失败的功能的数目小于预定数目阈值,则确定待分发小程序在宿主应用上分发。

通过以上参考图1至图6的描述,根据本公开的实施例的技术方案相对于传统方案具有诸多优点。例如,本公开的实施例提供了一种通过分析小程序所需要使用的功能以及确定宿主应用中对这些功能的使用记录的形式来确定是否分发小程序的方法,从而可以避免分发的小程序出现故障而影响用户体验以及对宿主应用的评价。具体而言,采用前述方法,可以自动鉴别不可使用或者使用失败率较高的小程序,从而可以提高小程序分发效率,进而提高用户使用小程序以及宿主应用的用户体验,从而可以提高对宿主应用的评价。此外,由于前述方法可以容易地在应用于不同的宿主应用,因此可以支持不同宿主应用快速分发各种小程序,从而能够实现小程序在不同宿主应用上的快速迁移,实现开源生态共赢。再者,使用前述方法,也可以避免完全扫描宿主应用可以支持的所有功能需要耗费较多时间的问题。

根据本公开的实施例,本公开还提供了一种电子设备、一种计算机可读存储介质和一种计算机程序产品。

图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。例如,如图1所示的计算设备110和如图6所示的小程序处理装置600可以由电子设备700来实施。电子设备700旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图7所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram703中,还可存储电子设备700操作所需的各种程序和数据。计算单元701、rom702以及ram703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。

电子设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许电子设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如,小程序处理方法200、小程序处理方法300、小程序处理方法400和小程序处理方法500。例如,在一些实施例中,小程序处理方法200、小程序处理方法300、小程序处理方法400和小程序处理方法500可以被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom702和/或通信单元709而被载入和/或安装到电子设备700上。当计算机程序加载到ram703并由计算单元701执行时,可以执行上文描述的小程序处理方法200、小程序处理方法300、小程序处理方法400和小程序处理方法500的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行小程序处理方法200、小程序处理方法300、小程序处理方法400和小程序处理方法500。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1