Applet processing method, applet processing device, equipment, medium and product
By analyzing the required functions of the mini-program and the usage records of the host application, it is determined whether to distribute the mini-program. This solves the problems of low distribution efficiency and poor user experience of the host application, and achieves efficient distribution and improved user experience.
Patent Information
- Application Number
- CN202110184530.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-02-08
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2041-02-08
AI Technical Summary
Existing technologies suffer from low efficiency and poor performance when distributing mini-programs to host applications, causing mini-programs to malfunction, affecting user experience and evaluation of the host application.
By analyzing the required functions of the mini-program and the usage records of the host application, it can be determined whether to distribute the mini-program, thus avoiding the impact on user experience due to the mini-program's inability to function properly, and improving distribution efficiency and user experience.
It improves the efficiency of using mini-programs and host applications, enhances the user experience, supports the rapid distribution of mini-programs across different host applications, achieves a win-win situation for the open-source ecosystem, and avoids the time consumption required for a complete scan of host applications.
Smart Images

Figure CN112988265B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of computer technology, and more particularly, to an applet processing method, an applet processing apparatus, an electronic device, a computer readable storage medium and a computer program product, which can be used in the field of applet identification and the field of applet distribution. BACKGROUND
[0002] An applet is an application that can be distributed from a server to a host application and executed in a user device on which the host application is installed without installation by the user. In recent years, applets have developed rapidly, and developers hope to distribute applets to more host applications, so as to not only bring traffic-related benefits to themselves, but also bring users a convenient user experience of using applets.
[0003] A software development kit (SDK) is integrated on the host application, and the software development kit can provide various functions for supporting the running of applets. However, because the versions of the software development kits integrated by different host applications can be different, and the integration of a host application to a version of the software development kit can not be complete, it can result in that the functions possessed by the host application are not sufficient to support the normal running of the distributed applets, thereby affecting the user experience of using the applets and the evaluation of the host application.
[0004] However, the traditional technology for selecting applets to be distributed to host applications has great limitations, and there are certain problems in both efficiency and effect. SUMMARY
[0005] According to an embodiment of the present disclosure, an applet processing method, an applet processing apparatus, an electronic device, a computer readable storage medium and a computer program product are provided.
[0006] In a first aspect of the present disclosure, an applet processing method is provided, comprising: determining a running function set required for running a to-be-distributed applet; determining, from a host function set provided by a host application on which the to-be-distributed applet is to be distributed, a running function usage record of using a function in the running function set by a distributed applet on the host application; and determining whether the to-be-distributed applet is distributed on the host application based on the running function usage record.
[0007] In a second aspect of the present disclosure, a small program processing apparatus is provided, comprising: a motion function set determination module configured to determine a set of running functions required to be used by a to-be-distributed small program; a first running function usage record determination module configured to determine, from a host function set provided by a host application on which the to-be-distributed small program is to be distributed, a first running function usage record of using functions in the set of running functions by a distributed small program on the host application; and a first distribution determination module configured to determine whether the to-be-distributed small program is distributed on the host application based on the running function usage record.
[0008] In a third aspect of the present disclosure, an electronic device is provided, comprising at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to implement the method according to the first aspect of the present disclosure.
[0009] In a fourth aspect of the present disclosure, a non-transitory computer readable storage medium storing computer instructions is provided, and the computer instructions are used to enable a computer to implement the method according to the first aspect of the present disclosure.
[0010] In a fifth aspect of the present disclosure, a computer program product is provided, comprising a computer program, and the computer program, when executed by a processor, performs the method according to the first aspect of the present disclosure.
[0011] With the technology according to the present application, a method for determining whether to distribute a small program by analyzing functions required to be used by the small program and determining the form of usage records of the functions in a host application is provided, so that it can be avoided that the experience of a user using the small program and the evaluation of the host application are affected due to the distributed small program failing to run normally, and thus the use efficiency of the host application and the small program and the user experience can be improved.
[0012] It should be understood that the content described in the summary section is not intended to limit the key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent through the following description. BRIEF DESCRIPTION OF DRAWINGS
[0013] The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout the several views, and wherein:
[0014] Figure 1A schematic block diagram of an applet processing environment 100 in which an applet processing method in certain embodiments of the present disclosure can be implemented is shown;
[0015] Figure 2 A flowchart of an applet processing method 200 according to an embodiment of the present disclosure is shown;
[0016] Figure 3 A flowchart of an applet processing method 300 according to an embodiment of the present disclosure is shown;
[0017] Figure 4 A flowchart of an applet processing method 400 according to an embodiment of the present disclosure is shown;
[0018] Figure 5 A flowchart of an applet processing method 500 according to an embodiment of the present disclosure is shown;
[0019] Figure 6 A schematic block diagram of an applet processing apparatus 600 according to an embodiment of the present disclosure is shown; and
[0020] Figure 7 A schematic block diagram of an example electronic device 700 that can be used to implement embodiments of the present disclosure is shown.
[0021] In the various drawings, like or corresponding elements are denoted by like or corresponding reference numerals. DETAILED DESCRIPTION
[0022] Preferred embodiments of the present disclosure will be described herein below with reference to the accompanying drawings. While preferred embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be embodied in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided so that the present disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art.
[0023] The term "comprising" and variations thereof as used herein are intended to mean "including but not limited to." The term "or" as used herein is intended to mean "and / or." The term "based on" means "based, at least in part, on." The term "one example embodiment" and "an embodiment" means "at least one example embodiment." The term "another embodiment" means "at least one additional embodiment." The terms "first," "second," and the like can refer to different or identical objects. Also, the terms "exemplary" and "example" as used herein mean "serving as an example, instance, or illustration," and not "preferred" or "advantageous over other examples." The terms "plurality" and "a plurality" as used herein mean "two or more than two." The term "another" used herein when used in conjunction with the term comprising refers to "at least one, and possibly more than one."
[0024] As described above in the BACKGROUND, conventional techniques for selecting applets to be distributed to host applications are greatly limited, and have certain problems in both efficiency and effectiveness.
[0025] Specifically, in the conventional scheme, the distribution of the applet mainly includes manually selecting a specific applet by an administrator of the host application for distribution and manually identifying an applet that can be distributed by the administrator of the host application, or includes completely scanning all functions that can be supported by the host application. However, the conventional technique for selecting an applet to be distributed to the host application has many deficiencies. On the one hand, the manual selection of the applet has poor effect and poor sustainability, resulting in that the host application cannot identify in advance that the distributed applet opens a white screen and other conditions that affect user use, directly affecting the quality of the applet distributed by the host application and the user experience of the host application. On the other hand, completely scanning all functions that can be supported by the host application requires a lot of time, resulting in low efficiency in actual application.
[0026] To at least partially solve one or more of the above problems and other potential problems, embodiments of the present disclosure propose a method of determining whether to distribute an applet by analyzing functions required to be used by the applet and determining a form of use record of the functions in the host application, so that the experience of the user using the applet and the evaluation of the host application due to the distributed applet being unable to run normally can be avoided, and thus the use efficiency of the host application and the applet and the user experience can be improved.
[0027] Figure 1 A schematic block diagram of an applet processing environment 100 in which an applet processing method in certain embodiments of the present disclosure can be implemented is shown. According to one or more embodiments of the present disclosure, the applet processing environment 100 can be a cloud environment.
[0028] As Figure 1 As shown in the middle, the applet processing environment 100 includes a computing device 110. In the applet processing environment 100, an applet to be distributed 120, for example, including source code of the applet to be distributed 120, is provided as an input of the computing device 110 to the computing device 110. According to embodiments of the present disclosure, the applet to be distributed 120 can include, for example, an applet itself that a provider of the applet wishes to be able to send to a host application, for running on the host application, and can also include information about a set of running functions provided by the host application that are required to be used by the host application to run the applet to be distributed 120.
[0029] The computing device 110 can interact with the host application 130. According to one or more embodiments of the present disclosure, the host application 130 can be at least one of a server program, an operating system installed on a user device, and an application installed on a user device, and the server program can be, for example, a program including different levels of processing hardware, operating systems, and applications, for software management and upgrade, system resource management, performance maintenance, and monitoring configuration. Accordingly, distributing the to-be-distributed applet 120 to the host application 130 can include providing the to-be-distributed applet 120 through at least one of the server program, the operating system, and the application, so that the user can use or decide to use, through at least one of the server program, the operating system, and the application, the applet that the provider of the applet wants to be able to send to the host application for running on the host application. For example, the computing device 110 can provide at least a part of the to-be-distributed applet 120 to the host application 130, receive, from the host application 130, a running function usage record of a function used by a distributed applet on the host application 130 using a function in a set of running functions, and issue an indication to the host application 130 about whether the to-be-distributed applet 120 is distributed on the host application 130.
[0030] According to one or more embodiments of the present disclosure, the computing device 110 can provide the to-be-distributed applet 120 to the host application 130 when issuing the indication to the host application 130 about the distribution of the to-be-distributed applet 120 on the host application 130, and can not provide the to-be-distributed applet 120 to the host application 130 if it is determined that the to-be-distributed applet 120 is not distributed on the host application 130.
[0031] According to one or more embodiments of the present disclosure, the host application 130 can include a server of the host application 130, and the computing device 110 can determine whether to distribute the to-be-distributed applet 120 to the host application 130 installed on user devices of various users by interacting with the server of the host application 130.
[0032] In Figure 1 In the applet processing environment 100 shown, inputting the to-be-distributed applet 120 to the computing device 110 and the interaction between the computing device 110 and the host application 130 can be performed through a network. In addition, in embodiments of the present disclosure, the computing device 110 is taken as an example for illustration, and the computing device 110 can include any entity or virtual central processing unit, special processing unit, and proprietary accelerator, etc. However, the scope of protection of the present disclosure is not limited thereto, but can be applicable to various computing elements, units, modules, or systems, etc. capable of providing input / output processing capabilities.
[0033] It should be understood that the example environment 100 is merely exemplary and not restrictive, and it is scalable or scalable. For example, the example environment 100 may include more computing devices 110, and more applets 120 to be distributed may be provided to the computing devices 110 as input. The computing devices 110 may also interact with more host applications 130, thereby enabling more users to utilize more computing devices 110 simultaneously, and distribute more applets 120 to be distributed to the host applications 130 simultaneously or not simultaneously, to meet the needs of more users to utilize more computing devices 110 simultaneously, and distribute more applets 120 to be distributed to the host applications 130 simultaneously.
[0034] The following is Figure 1 Taking the computing device 110, the mini-program to be distributed 120, and the host application 130 included in the above as examples, this will be used to illustrate the point. Figures 2 to 5 The mini-program processing methods shown are 200, 300, 400 and 500.
[0035] Figure 2 A flowchart of a mini-program processing method 200 according to an embodiment of the present disclosure is shown. Specifically, the mini-program processing method 200 can be... Figure 1 The applet processing method 200 is executed by the computing device 110 in the applet processing environment 100 shown. It should be understood that the applet processing method 200 may also include additional operations not shown and / or the operations shown may be omitted, and the scope of this disclosure is not limited in this respect.
[0036] In box 202, computing device 110 determines the set of runtime functions that will be provided by host application 130 needed to run the applet 120 to be distributed on host application 130. According to one or more embodiments of this disclosure, the set of runtime functions may include, for example, application programming interface (API) functions for supporting the operation of the applet. These APIs may include, for example, APIs for basic functions, APIs for routing functions, APIs for networking functions, APIs for interface functions, APIs for data storage functions, APIs for artificial intelligence functions, APIs for media functions, APIs for location functions, APIs for canvas functions, APIs for file functions, APIs for device functions, APIs for third-party platform functions, APIs for open interface functions, APIs for user interface functions, APIs for server-side functions, and APIs for advertising functions, etc.
[0037] According to some embodiments of this disclosure, computing device 110 can determine the set of functions to be executed by scanning the source code of applet 120 to be distributed. According to other embodiments of this disclosure, applet 120 may include information indicating the set of functions to be executed, and computing device 110 may use this information to determine the set of functions to be executed.
[0038] At block 204, the computing device 110 determines, from a host function set provided by the host application 130 on which the to-be-distributed applet 120 is to be distributed, a running function usage record of functions in the running function set used by the distributed applet on the host application 130. According to one or more embodiments of the present disclosure, the host function set can include a set of functions provided by the host application 130 that can be used to support various applet running, and can be associated with a version of a software development kit integrated or installed on the host application 130.
[0039] According to one or more embodiments of the present disclosure, a distributed applet refers to an applet that has been distributed on the host application 130. When the distributed applet uses functions in the host function set provided by the host application 130, the host application 130 records usage records for these functions, and the usage records can indicate usage time, usage times, and usage success ratio or usage failure ratio of the functions.
[0040] Therefore, since the computing device 110 has learned the functions included in the running function set, the computing device 110 can determine usage records of functions corresponding to the functions included in the running function set used by the distributed applet on the host application 130. According to one or more embodiments of the present disclosure, when a certain function included in the running function set is not used by any distributed applet on the host application 130, the running function usage record will not include a usage record associated with this function.
[0041] According to one or more embodiments of the present disclosure, the computing device 110 can first determine, from the host function set, host function usage records of functions used due to running of the distributed applet. Then, the computing device 110 can determine the running function usage record based on the running function set and the host function usage records.
[0042] As previously described, when the distributed applets have used functions from the set of host functions provided by the host application 130, the host application 130 records usage records for these functions, which can indicate the number of times these functions are used and the success or failure rate of usage. Thus, the host function usage records can include usage records for functions that have been used as a result of running all of the distributed applets that have been distributed on the host application 130. The host function usage records can include usage records for functions that have been used by all of the distributed applets on the host application 130, and can indicate the number of times these functions are used and the success or failure rate of usage. Thus, the computing device 110 can look up usage records for functions in the set of functions that correspond to running functions in the running function usage records, which can form a set of running function usage records.
[0043] At block 206, the computing device 110 determines whether to distribute the to-be-distributed applet 120 on the host application 130 based on the running function usage records determined at block 204. According to one or more embodiments of the present disclosure, the computing device 110 can use various predetermined policies to determine whether to distribute the to-be-distributed applet 120 on the host application 130 based on the running function usage records. These predetermined policies can include, for example, the usage of functions in the set of functions on the host application 130 as indicated by the running function usage records. According to some embodiments of the present disclosure, if the running function usage records indicate that a certain function in the set of functions has never been used on the host application 130, the computing device 110 can determine not to distribute the to-be-distributed applet 120 on the host application 130. According to other embodiments of the present disclosure, if the running function usage records indicate that the failure rate of usage of a certain function in the set of functions on the host application 130 is greater than or equal to a predetermined failure rate threshold, the computing device 110 can determine not to distribute the to-be-distributed applet 120 on the host application 130. According to still other embodiments of the present disclosure, if the running function usage records indicate that the number of functions in the set of functions that have experienced a failure of usage on the host application 130 is greater than or equal to a predetermined number threshold, the computing device 110 can determine not to distribute the to-be-distributed applet 120 on the host application 130.
[0044] Figure 3 A flowchart of an applet processing method 300 according to an embodiment of the present disclosure is shown. In particular, the applet processing method 300 can likewise be performed by the computing device 110 in the applet processing environment 100 shown in FIG. 1. It should be appreciated that the applet processing method 300 can also include additional operations not shown and / or can omit operations shown, without limitation in this regard. The applet processing method 300 is a specific implementation of the applet processing method 200. Figure 1 A flowchart of an applet processing method 300 according to an embodiment of the present disclosure is shown. In particular, the applet processing method 300 can likewise be performed by the computing device 110 in the applet processing environment 100 shown in FIG. 1. It should be appreciated that the applet processing method 300 can also include additional operations not shown and / or can omit operations shown, without limitation in this regard. The applet processing method 300 is a specific implementation of the applet processing method 200.
[0045] At block 302, the computing device 110 determines a set of runtime functions that will be provided by the host application 130 that are needed to be used by the to-be-distributed applet 120 to run on the host application 130. The specific content of the action involved in block 302 is the same as that involved in block 202, which will not be repeated here.
[0046] At block 304, the computing device 110 determines, from the set of host functions provided by the host application 130 on which the to-be-distributed applet 120 is to be distributed, a runtime function usage record of the functions in the set of runtime functions used by the already-distributed applets on the host application 130. The specific content of the action involved in block 304 is the same as that involved in block 204, which will not be repeated here.
[0047] At block 306, the computing device 110 determines whether the runtime function usage record does not include a usage record associated with at least one function in the set of runtime functions. When the computing device 110 determines that the runtime function usage record does not include a usage record associated with at least one function in the set of runtime functions, the method 300 proceeds to block 308, and when the computing device 110 determines that the runtime function usage record includes a usage record associated with all functions in the set of runtime functions, the method 300 proceeds to block 314, at which the computing device 110 can determine that the to-be-distributed applet 120 is distributed on the host application 130.
[0048] According to one or more embodiments of the present disclosure, when the computing device 110 determines that the runtime function usage record does not include a usage record associated with at least one function in the set of runtime functions, it indicates that the at least one function belongs to less frequently used functions, and further determination operations can be performed for the at least one function.
[0049] At block 308, the computing device 110 determines whether the host application 130 is unable to provide the at least one function. When the computing device 110 determines that the host application 130 is unable to provide the at least one function, the method 300 proceeds to block 310, and when the computing device 110 determines that the host application 130 is able to provide the at least one function, the method 300 proceeds to block 314, at which the computing device 110 can determine that the to-be-distributed applet 120 is distributed on the host application 130.
[0050] According to some embodiments of the present disclosure, the computing device 110 can determine whether the host application 130 is unable to provide the at least one function by checking all functions that the host application is able to provide. According to other embodiments of the present disclosure, the computing device 110 can determine whether the host application 130 is unable to provide the at least one function by looking up the at least one function in the functions provided by the host application 130 based on the name or other attributes of the at least one function.
[0051] It is noted that block 308 is an optional block in the method 300, and when block 308 is not selected in the method 300, the method 300 directly proceeds to block 310 when the computing device 110 determines that the running function usage record does not include a usage record associated with at least one function in the set of running functions.
[0052] At block 310, the computing device 110 determines that the to-be-distributed applet 120 is not to be distributed on the host application 130. According to one or more embodiments of the present disclosure, when the computing device 110 determines that the host application 130 is unable to provide the at least one function, distributing the to-be-distributed applet 120 on the host application 130 is likely to cause the to-be-distributed applet 120 to fail to run normally. At this time, in order to avoid the situation that the to-be-distributed applet 120 fails to run normally on the host application 130, the computing device 110 can determine that the to-be-distributed applet 120 is not to be distributed on the host application 130.
[0053] At block 312, the computing device 110 adjusts the functions provided by the host application 130 to enable the host application 130 to provide the at least one function. According to one or more embodiments of the present disclosure, the computing device 110 can adjust the functions provided by the host application 130 by one of the following: upgrading a software development kit installed on the host application 130; and reinstalling a software development kit installed on the host application 130. As described previously, the set of functions provided by the host application 130 that can be used to support the running of various applets can be associated with the version of the software development kit integrated or installed on the host application 130. Therefore, the computing device 110 can enable the host application 130 to provide a function that the host application 130 was previously unable to provide by upgrading the software development kit installed on the host application 130, or can enable the host application 130 to repair or supplement a function that was missing or incorrect in a previous version by reinstalling the software development kit installed on the host application 130.
[0054] According to one or more embodiments of the present disclosure, the computing device 110 can rank the functions used due to the running of the distributed applet based on the host function usage record. For example, the functions that are used more frequently or have a higher number or proportion of use failures can be ranked higher, so that when adjusting the functions provided by the host application 130, the functions that are ranked higher can be given priority for adjustment.
[0055] It is noted that block 312 is an optional block in the method 300, and therefore the method 300 can also not include block 312 and the subsequent block 314.
[0056] At block 314, the computing device 110 determines that the to-be-distributed applet 120 is to be distributed on the host application 130. It is noted that block 314 is an optional block in the method 300, and thus the method 300 can also not include block 314.
[0057] Figure 4 A flowchart of an applet processing method 400 according to an embodiment of the present disclosure is shown. Specifically, the applet processing method 400 can also be performed by the computing device 110 in the applet processing environment 100 shown in FIG. 1. It is understood that the applet processing method 400 can also include additional operations not shown and / or can omit operations shown, and the scope of the present disclosure is not limited in this respect. The applet processing method 400 is a specific implementation of the applet processing method 200. Figure 1
[0058] At block 402, the computing device 110 determines a set of running functions to be used by the to-be-distributed applet 120 to run on the host application 130, which are to be provided by the host application 130. The specific content of the actions involved in block 402 is the same as that of the actions involved in block 202, and thus is not repeated here.
[0059] At block 404, the computing device 110 determines, from the set of host functions provided by the host application 130 on which the to-be-distributed applet 120 is to be distributed, a running function usage record of usage of functions in the set of running functions by distributed applets on the host application 130. The specific content of the actions involved in block 404 is the same as that of the actions involved in block 204, and thus is not repeated here.
[0060] At block 406, the computing device 110 determines whether the running function usage record indicates that the usage failure rate of at least one function in the set of running functions is greater than or equal to a predetermined rate threshold. When the computing device 110 determines that the running function usage record indicates that the usage failure rate of at least one function in the set of running functions is greater than or equal to the predetermined rate threshold, the method 400 proceeds to block 408, and when the computing device 110 determines that the running function usage record indicates that the usage failure rate of none of the functions in the set of running functions is greater than or equal to the predetermined rate threshold, the method 400 proceeds to block 416, at which the computing device 110 can determine that the to-be-distributed applet 120 is to be distributed on the host application 130.
[0061] According to one or more embodiments of the present disclosure, the high usage failure rate of certain functions in the set of running functions can be due to poor compatibility of these functions with other functions provided by the host application 130, which can result in the usage of these functions being sometimes successful and sometimes failed.
[0062] At block 408, the computing device 110 determines that the to-be-distributed applet 120 is not to be distributed on the host application 130. According to one or more embodiments of the present disclosure, when the computing device 110 determines that the running function usage record indicates that the failure rate of usage of at least one function in the set of running functions is greater than or equal to a predetermined proportion threshold, it means that the failure possibility of usage of the at least one function is high, and thus the possibility that the to-be-distributed applet 120 cannot normally run after being distributed on the host application 130 is high. At this time, in order to avoid the situation that the to-be-distributed applet 120 has a high possibility of not being able to normally run on the host application 130, the computing device 110 can determine that the to-be-distributed applet 120 is not to be distributed on the host application 130.
[0063] At block 410, the computing device 110 adjusts the functions provided by the host application 130 to improve the compatibility of the at least one function with other functions provided by the host application 130. According to one or more embodiments of the present disclosure, the computing device 110 can detect the conflict situation existing between the functions provided by the host application 130 in usage by analyzing the running function usage record. For example, the computing device 110 can determine that a certain function will cause a failure in usage when it is used simultaneously with which other functions by analyzing the running function usage record. Then, the computing device 110 can reduce the conflictivity between these functions and thus improve the compatibility between these functions, for example, by adjusting the time interval of usage between these functions, adjusting the logical relationship existing between the calls of these functions, and adjusting the relationship between the underlying functions and codes specifically referenced by these functions.
[0064] It should be noted that block 410 is an optional block in the method 400, and thus the method 400 can also not include block 410 and the subsequent other blocks.
[0065] At block 412, the computing device 110 determines the host function usage record of the functions in the set of running functions used by the distributed applet on the host application 130 of the adjusted function within the adjusted predetermined time period. The specific content of the action of determining the host function usage record is similar to the action involved in block 204, and thus is not described here again. It should be noted that block 412 is an optional block in the method 400, and thus the method 400 can also not include block 412 and the subsequent other blocks.
[0066] At block 414, the computing device 110 determines whether the host function usage record indicates that the proportion of usage failures of the at least one function in the set of running functions is less than the predetermined proportion threshold. According to one or more embodiments of the present disclosure, when the computing device 110 determines that the host function usage record indicates that the proportion of usage failures of the at least one function in the set of running functions is less than the predetermined proportion threshold, it is equivalent to determining that the running function usage record indicates that the proportion of usage failures of none of the functions in the set of running functions is greater than or equal to the predetermined proportion threshold, at which point the method 400 proceeds to block 416, when the computing device 110 determines that the host function usage record indicates that the proportion of usage failures of the at least one function in the set of running functions is still greater than or equal to the predetermined proportion threshold, the computing device 110 can still maintain the determination that the to-be-distributed applet 120 is not to be distributed on the host application 130, without taking further operations. It is to be noted that block 414 is an optional block in the method 400, and thus the method 400 can also not include block 414 and the subsequent other blocks.
[0067] At block 416, the computing device 110 determines that the to-be-distributed applet 120 is to be distributed on the host application 130. According to one or more embodiments of the present disclosure, when it is determined at block 414 that the host function usage record indicates that the proportion of usage failures of the at least one function in the set of running functions is less than the predetermined proportion threshold, it is equivalent to determining that the running function usage record indicates that the proportion of usage failures of none of the functions in the set of running functions is greater than or equal to the predetermined proportion threshold, at which point the computing device 110 can determine that the proportion of the to-be-distributed applet 120 that fails to normally run after being distributed on the host application 130 is low, and thus can allow the to-be-distributed applet 120 to be distributed on the host application 130. It is to be noted that block 416 is an optional block in the method 400, and thus the method 400 can also not include block 416.
[0068] Figure 5 A flowchart of an applet processing method 500 according to an embodiment of the present disclosure is shown. Specifically, the applet processing method 500 can also be performed by the computing device 110 in the applet processing environment 100 shown in FIG. 2. It should be understood that the applet processing method 500 can also include additional operations not shown and / or can omit the operations shown, and the scope of the present disclosure is not limited in this respect. The applet processing method 500 is a specific implementation of the applet processing method 200. Figure 1
[0069] At block 502, the computing device 110 determines a set of running functions to be used by the host application 130 for running the to-be-distributed applet 120 on the host application 130. The specific content of the actions involved in block 502 is the same as that of the actions involved in block 202, and will not be repeated here.
[0070] At block 504, the computing device 110 determines, from the set of host functions provided by the host application 130 on which the to-be-distributed applet 120 is to be distributed, a run function usage record of functions in the set of run functions used by the distributed applets on the host application 130. The specific content of the action involved in block 504 is the same as that involved in block 204, which will not be repeated here.
[0071] At block 506, the computing device 110 determines whether the run function usage record indicates that the number of functions in the set of run functions that have ever failed to be used is greater than or equal to a predetermined number threshold. When the computing device 110 determines that the run function usage record indicates that the number of functions in the set of run functions that have ever failed to be used is greater than or equal to the predetermined number threshold, the method 500 proceeds to block 508, and when the computing device 110 determines that the number of functions in the set of run functions that have ever failed to be used is less than the number threshold, the method 500 proceeds to block 516, at which the computing device 110 can determine that the to-be-distributed applet 120 is to be distributed on the host application 130.
[0072] According to one or more embodiments of the present disclosure, the number of functions in the set of run functions that have ever failed to be used being greater than or equal to the predetermined number threshold can be due to poor compatibility between these functions or between these functions and other functions provided by the host application 130, thereby causing a high number of functions that sometimes succeed and sometimes fail to be used.
[0073] At block 508, the computing device 110 determines that the to-be-distributed applet 120 is not to be distributed on the host application 130. According to one or more embodiments of the present disclosure, when the computing device 110 determines that the run function usage record indicates that the number of functions in the set of run functions that have ever failed to be used is greater than or equal to the predetermined number threshold, it indicates that the to-be-distributed applet 120 needs to use a large number of functions that can fail to be used, thereby possibly causing a high probability that the to-be-distributed applet 120 cannot normally run after being distributed on the host application 130. At this time, in order to avoid the case where the to-be-distributed applet 120 has a high probability of not normally running on the host application 130, the computing device 110 can determine that the to-be-distributed applet 120 is not to be distributed on the host application 130.
[0074] At block 510, the computing device 110 adjusts the functionality provided by the host application 130 to improve the compatibility of the functionality that has failed to be used with other functionality provided by the host application 130. According to one or more embodiments of the present disclosure, the computing device 110 adjusts the compatibility between the functionality that has failed to be used and all functionality in the set of functionality that is constituted by the other functionality provided by the host application 130. In addition, the computing device 110 can also detect conflicts that exist between the functionality provided by the host application 130 when used by analyzing the running functionality usage records. For example, the computing device 110 can determine that a certain functionality will cause a use failure when used with which other functionality by analyzing the running functionality usage records. Then, the computing device 110 can reduce the conflicts between these functionalities and improve the compatibility between these functionalities by, for example, adjusting the time interval between the use of these functionalities, adjusting the logical relationship between the invocations of these functionalities, and adjusting the relationship between the underlying functions and codes specifically referenced by these functionalities.
[0075] It is noted that block 510 is optional in the method 500, and thus the method 500 can also not include block 510 and the following blocks.
[0076] At block 512, the computing device 110 determines a host functionality usage record of using the functionality in the set of running functionality by the distributed applet on the host application 130 with the adjusted functionality within a predetermined time period. The specific content of the act of determining the host functionality usage record is similar to the act involved in block 204, and thus is not repeated here. It is noted that block 512 is optional in the method 500, and thus the method 500 can also not include block 512 and the following blocks.
[0077] At block 514, the computing device 110 determines whether the host functionality usage record indicates that the number of functionality that has failed to be used is less than the predetermined number threshold. According to one or more embodiments of the present disclosure, when the computing device 110 determines that the host functionality usage record indicates that the number of functionality that has failed to be used is less than the predetermined number threshold, it means that the to-be-distributed applet 120 needs to use less functionality that is likely to fail to be used, and thus the to-be-distributed applet 120 is less likely to fail to run normally after being distributed on the host application 130, and thus the method 500 proceeds to block 516. When the computing device 110 determines that the host functionality usage record indicates that the number of functionality that has failed to be used is still greater than or equal to the predetermined number threshold, the computing device 110 can still maintain the determination that the to-be-distributed applet 120 is not distributed on the host application 130, and thus no further operation is needed. It is noted that block 514 is optional in the method 500, and thus the method 500 can also not include block 514 and the following blocks.
[0078] In box 516, computing device 110 determines that applet 120 to be distributed will be distributed on host application 130. According to one or more embodiments of this disclosure, when computing device 110 determines that the number of functions indicated by the host function usage record as having failed to be used is less than a predetermined threshold, it indicates that applet 120 needs to use fewer functions that are likely to fail, and that the probability of applet 120 failing to function properly after being distributed on host application 130 is low. Therefore, applet 120 can be allowed to be distributed on host application 130. It should be noted that box 516 is an optional box in method 500, therefore method 500 may also exclude box 516.
[0079] It should be understood that the mini-program processing methods 200, 300, 400, and 500 according to embodiments of this disclosure can be applied to multiple host applications simultaneously for multiple mini-programs. Using these methods, a list of mini-programs that can or cannot be distributed on a specific host application can be determined. Furthermore, the redistributable mini-programs can be ranked according to compatibility or other criteria based on data such as the white screen rate, first rendering time, and on-screen time of the distributed mini-programs. Simultaneously, using these methods, after data aggregation and analysis, multiple different host applications that can be used to distribute a specific mini-program can be determined. The host applications that can be used to distribute the mini-program can be ranked according to the compatibility of the mini-program with the functions provided by the host application or other criteria.
[0080] The above is for reference only. Figures 1 to 5 This document describes a mini-program processing environment 100 in which mini-program processing methods according to certain embodiments of this disclosure can be implemented, as well as mini-program processing methods 200, 300, 400, and 500 according to embodiments of this disclosure. It should be understood that the above description is intended to better illustrate the content described in this disclosure and is not intended to limit the scope of the disclosure in any way.
[0081] It should be understood that the number and size of various elements used in the above-described figures of this disclosure are merely examples and are not intended to limit the scope of protection of this disclosure. The aforementioned numbers and sizes can be arbitrarily set as needed without affecting the normal implementation of the embodiments of this disclosure.
[0082] The above has been referenced Figures 1 to 5Details of the applet processing environment 100, the applet processing method 200, the applet processing method 300, the applet processing method 400, and the applet processing method 500 according to embodiments of the present disclosure are described. In the following, reference will be made to Figure 6 Details of each module in the applet processing apparatus are described.
[0083] Figure 6 is a schematic block diagram of the applet processing apparatus 600 according to embodiments of the present disclosure. As shown, the applet processing apparatus 600 can include a motion function set determination module 610 configured to determine a set of running functions required to be used by a running applet to be distributed, a first running function usage record determination module 620 configured to determine, from a set of host functions provided by a host application on which the applet to be distributed is to be distributed, a first running function usage record of functions in the set of running functions used by distributed applets on the host application, and a first distribution determination module 630 configured to determine whether the applet to be distributed is distributed on the host application based on the running function usage record. Figure 6
[0084] In one or more embodiments, wherein the first running function usage record determination module 620 includes a first host function usage record determination module (not shown) configured to determine, from the set of host functions, a first host function usage record of functions that have been used due to running distributed applets, and a second running function usage record determination module (not shown) configured to determine the first running function usage record based on the set of running functions and the first host function usage record.
[0085] In one or more embodiments, wherein the first distribution determination module 630 includes a second distribution determination module (not shown) configured to determine that the applet to be distributed is not distributed on the host application if the first running function usage record does not include a usage record associated with at least one function in the set of running functions.
[0086] In one or more embodiments, wherein the second distribution determination module includes a function provision determination module (not shown) configured to determine that the host application is unable to provide the at least one function.
[0087] In one or more embodiments, the applet processing apparatus 600 further includes a first function adjustment module (not shown) configured to adjust the functions provided by the host application to enable the host application to provide the at least one function, and a third distribution determination module (not shown) configured to determine that the applet to be distributed is distributed on the host application.
[0088] In one or more embodiments, wherein adjusting the functionality provided by the host application comprises one of: upgrading a software development kit installed on the host application; and reinstalling the software development kit.
[0089] In one or more embodiments, wherein the first distribution determination module 630 comprises: a fourth distribution determination module (not shown) configured to determine that the applet to be distributed is not to be distributed on the host application if the first running functionality usage record indicates that a failure rate of usage of at least one functionality of the set of running functionalities is greater than or equal to a predetermined rate threshold.
[0090] In one or more embodiments, the applet processing apparatus 600 further comprises: a second functionality adjustment module (not shown) configured to adjust the functionality provided by the host application to improve compatibility of the at least one functionality with other functionalities provided by the host application; a second host functionality usage record determination module (not shown) configured to determine a second host functionality usage record of usage of the functionalities of the set of running functionalities by the distributed applet on the host application of the adjusted functionality within an adjusted predetermined time period; and a fifth distribution determination module (not shown) configured to determine that the applet to be distributed is to be distributed on the host application if the host functionality usage record indicates that a failure rate of usage of at least one functionality of the set of running functionalities is less than a predetermined rate threshold.
[0091] In one or more embodiments, wherein the first distribution determination module 630 comprises: a sixth distribution determination module (not shown) configured to determine that the applet to be distributed is not to be distributed on the host application if the running functionality usage record indicates that a number of functionalities of the set of running functionalities that have once failed to be used is greater than or equal to a predetermined number threshold.
[0092] In one or more embodiments, the applet processing apparatus 600 further comprises: a third functionality adjustment module (not shown) configured to adjust the functionality provided by the host application to improve compatibility of the once failed to be used functionality with other functionalities provided by the host application; a third host functionality usage record determination module (not shown) configured to determine a host functionality usage record of usage of the functionalities of the set of running functionalities by the distributed applet on the host application of the adjusted functionality within an adjusted predetermined time period; and a seventh distribution determination module (not shown) configured to determine that the applet to be distributed is to be distributed on the host application if the host functionality usage record indicates that the number of functionalities that have once failed to be used is less than a predetermined number threshold.
[0093] By the above reference to Figures 1 to 6According to the description of the embodiments of the present disclosure, the technical solutions of the embodiments of the present disclosure have many advantages over the conventional solutions. For example, the embodiments of the present disclosure provide a method of determining whether to distribute an applet by analyzing the functions required to be used by the applet and determining the form of the use records of the functions in the host application, so that the failure of the distributed applet can be avoided to affect the user experience and the evaluation of the host application. Specifically, by using the foregoing method, the applets that cannot be used or have a high failure rate can be automatically identified, so that the efficiency of applet distribution can be improved, and the user experience of using the applet and the host application can be improved, so that the evaluation of the host application can be improved. In addition, since the foregoing method can be easily applied to different host applications, different host applications can be quickly distributed various applets, so that the rapid migration of applets on different host applications can be realized, and the win-win of the open source ecological environment can be realized. Furthermore, by using the foregoing method, the problem that it takes a lot of time to completely scan all the functions that can be supported by the host application can be avoided.
[0094] According to the embodiments of the present disclosure, the present disclosure also provides an electronic device, a computer readable storage medium and a computer program product.
[0095] Figure 7 A schematic block diagram of an example electronic device 700 that can be used to implement embodiments of the present disclosure is shown. For example, the computing device 110 as shown in Figure 1 The applet processing apparatus 600 as shown in Figure 6 The electronic device 700 is intended to represent various forms of digital computers, such as laptops, desktops, tablets, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not intended to limit the implementations of the present disclosure described and / or claimed in this document.
[0096] As shown in Figure 7 The electronic device 700 includes a computing unit 701 that can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded into a random access memory (RAM) 703 from a storage unit 708. In the RAM 703, various programs and data required for the operation of the electronic device 700 can also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0097] A plurality of components in the electronic device 700 are connected to the I / O interface 705, including: an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, a speaker, etc.; a storage unit 708, such as a magnetic disk, an optical disk, etc.; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 709 allows the electronic device 700 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.
[0098] The computing unit 701 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 701 performs various methods and processes described above, such as the applet processing method 200, the applet processing method 300, the applet processing method 400, and the applet processing method 500. For example, in some embodiments, the applet processing method 200, the applet processing method 300, the applet processing method 400, and the applet processing method 500 can be implemented as a computer software program, which is tangibly embodied in a machine-readable medium, such as the storage unit 708. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded onto the RAM 703 and executed by the computing unit 701, one or more steps of the applet processing method 200, the applet processing method 300, the applet processing method 400, and the applet processing method 500 described above can be performed. Alternatively, in other embodiments, the computing unit 701 can be configured to perform the applet processing method 200, the applet processing method 300, the applet processing method 400, and the applet processing method 500 by any other appropriate means, such as by means of firmware.
[0099] The various embodiments of the systems and techniques described above can be implemented in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a load programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0100] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces the functions / operations specified in the flowcharts and / or the block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, or entirely on a remote machine or server.
[0101] In the context of the present disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium will include one or more lines of electrical connections, portable computer disks, hard disk drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), optical fibers, portable compact disc read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0102] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0103] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0104] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
[0105] It should be understood that various forms of flow shown above can be used, re-ordered, added to, or deleted from without departing from the spirit of the present disclosure. For example, the steps recited in the present disclosure can be executed in parallel, executed in sequence, or executed in a different order, as long as the desired results of the present disclosure are achieved, and the present disclosure is not limited herein.
[0106] The specific embodiments described above have been shown by way of example, and anyone skilled in the art should understand that various modifications, combinations, sub-combinations, and alternatives can be made to the specific embodiments without departing from the spirit and principles of the present disclosure. Any further modifications, equivalent substitutions, improvements, and the like, which are apparent to one skilled in the art, are intended to be encompassed within the scope of the present disclosure.
Claims
1. A method for applet processing, comprising: determining a set of runtime functions required for running an applet to be distributed; determining, from a set of host functions provided by a host application on which the applet to be distributed is to be distributed, a runtime function usage record of usage of functions in the set of runtime functions by distributed applets on the host application, wherein determining the runtime function usage record comprises: determining, from the set of host functions, a usage time, a usage frequency, and a usage success ratio or a usage failure ratio of a function that has been used due to running the distributed applets before the set of runtime functions is determined; and determining the runtime function usage record based on the set of runtime functions and the usage time, the usage frequency, and the usage success ratio or the usage failure ratio; determining whether the applet to be distributed is distributed on the host application based on the runtime function usage record, wherein determining whether the applet to be distributed is distributed on the host application comprises: determining that the applet to be distributed is not distributed on the host application if the runtime function usage record does not include a usage record associated with at least one function in the set of runtime functions; analyzing the runtime function usage record to determine that a first function causes a usage failure when used simultaneously with a second function; and based on determining that the first function causes a usage failure when used simultaneously with the second function, performing at least one of the following for the first function and the second function: adjusting a usage time interval between the first function and the second function; adjusting a logical relationship existing between invocations of the first function and the second function; and adjusting a relationship between underlying functions or codes referenced by the first function and the second function. 2.The method of claim 1, wherein determining that the applet to be distributed is not distributed on the host application further comprises: determining that the host application is unable to provide the at least one function. 3.The method of claim 2, further comprising: adjusting a function provided by the host application to enable the host application to provide the at least one function; and determining that the applet to be distributed is distributed on the host application. 4.The method of claim 3, wherein adjusting the function provided by the host application comprises one of the following: upgrading a software development kit installed on the host application; and reinstalling the software development kit. 5.The method of claim 1, wherein determining whether the applet to be distributed is distributed on the host application comprises: determining that the applet to be distributed is not distributed on the host application if the runtime function usage record indicates that a usage failure ratio of at least one function in the set of runtime functions is greater than or equal to a predetermined ratio threshold. 6.The method of claim 5, further comprising: adjusting a function provided by the host application to improve compatibility of the at least one function with other functions provided by the host application. determining, by the host application, a usage time, a usage frequency, and a usage success ratio or a usage failure ratio of the functions in the set of running functions used by the distributed applet on the host application within the predetermined time period after the adjustment of the functions provided by the host application; and if the usage time, the usage frequency, and the usage success ratio or the usage failure ratio indicate that the usage failure ratio of the at least one function in the set of running functions is less than the predetermined ratio threshold, determining that the to-be-distributed applet is distributed on the host application.
7. The method of claim 1, wherein determining whether the to-be-distributed applet is distributed on the host application comprises: if the record of running function usage indicates that the number of functions in the set of running functions that have ever failed to be used is greater than or equal to a predetermined number threshold, determining that the to-be-distributed applet is not distributed on the host application.
8. The method of claim 7, further comprising: adjusting the functions provided by the host application to improve the compatibility of the functions that have ever failed to be used with other functions provided by the host application; determining, by the host application, a usage time, a usage frequency, and a usage success ratio or a usage failure ratio of the functions in the set of running functions used by the distributed applet on the host application within the predetermined time period after the adjustment of the functions provided by the host application; and if the usage time, the usage frequency, and the usage success ratio or the usage failure ratio indicate that the number of functions that have ever failed to be used is less than the predetermined number threshold, determining that the to-be-distributed applet is distributed on the host application.
9. An applet processing apparatus, comprising: a set of running functions determination module configured to determine a set of running functions required to be used by a to-be-distributed applet to run; a first record of running function usage determination module configured to determine, from a set of host functions provided by a host application on which the to-be-distributed applet is to be distributed, a first record of running function usage of functions in the set of running functions used by a distributed applet on the host application, wherein the first record of running function usage determination module comprises: a first record of host function usage determination module configured to determine, from the set of host functions, a usage time, a usage frequency, and a usage success ratio or a usage failure ratio of functions that have ever been used due to running the distributed applet before the set of running functions is determined; a second record of running function usage determination module configured to determine the first record of running function usage based on the set of running functions and the usage time, the usage frequency, and the usage success ratio or the usage failure ratio; and a first distribution determination module configured to determine whether the to-be-distributed applet is distributed on the host application based on the record of running function usage, wherein the first distribution determination module comprises: a second distribution determination module configured to determine that the to-be-distributed applet is not distributed on the host application if the first record of running function usage does not include a record of usage associated with at least one function in the set of running functions. an analysis module configured to analyze the running function usage records to determine that a first function causes usage failure when used concurrently with a second function; and an adjustment module configured to perform at least one of the following for the first function and the second function based on the determination that the first function causes usage failure when used concurrently with the second function: adjusting a usage time interval between the first function and the second function; adjusting a logical relationship existing between invocations of the first function and the second function; and adjusting a relationship between underlying functions or codes invoked by the first function and the second function.
10. The apparatus of claim 9, wherein the second distribution determination module comprises: a function provision determination module configured to determine that the host application is unable to provide the at least one function.
11. The apparatus of claim 10, further comprising: a first function adjustment module configured to adjust functions provided by the host application to enable the host application to provide the at least one function; and a third distribution determination module configured to determine that the to-be-distributed applet is distributed on the host application.
12. The apparatus of claim 11, wherein adjusting the functions provided by the host application comprises one of the following: upgrading a software development kit installed on the host application; and reinstalling the software development kit.
13. The apparatus of claim 9, wherein the first distribution determination module comprises: a fourth distribution determination module configured to determine that the to-be-distributed applet is not distributed on the host application if the first running function usage records indicate that a usage failure rate of at least one function in the set of running functions is greater than or equal to a predetermined rate threshold.
14. The apparatus of claim 13, further comprising: a second function adjustment module configured to adjust functions provided by the host application to improve compatibility of the at least one function with other functions provided by the host application; a second host function usage record determination module configured to determine usage time, usage frequency, and usage success rate or usage failure rate of functions in the set of running functions used by distributed applets on the host application of the adjusted functions within a predetermined time period after the adjustment; and a fifth distribution determination module configured to determine that the to-be-distributed applet is distributed on the host application if the usage time, usage frequency, and usage success rate or usage failure rate indicate that the usage failure rate of the at least one function in the set of running functions is less than the predetermined rate threshold.
15. The apparatus of claim 9, wherein the first distribution determination module comprises: a sixth distribution determination module configured to determine that the to-be-distributed applet is not distributed on the host application if the running function usage records indicate that a number of functions in the set of running functions that have ever experienced usage failure is greater than or equal to a predetermined number threshold.
16. The apparatus of claim 15, further comprising: a third function adjustment module configured to adjust a function provided by the host application to improve compatibility of the once unsuccessfully used function with other functions provided by the host application; a third host function usage record determination module configured to determine a usage time, a usage frequency, and a usage success ratio or a usage failure ratio of a function in the set of running functions by the distributed applet on the host application with the adjusted function within the adjusted predetermined time period; and a seventh distribution determination module configured to determine distribution of the to-be-distributed applet on the host application if the usage time, the usage frequency, and the usage success ratio or the usage failure ratio indicate that the number of once unsuccessfully used functions is less than the predetermined number threshold.
17. An electronic device, comprising: comprise: at least one processor; and a memory connected in communication with the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-8.
18. A non-transitory computer-readable storage medium having stored thereon computer instructions, wherein, the computer instructions are for causing the computer to perform the method of any one of claims 1-8.
19. A computer program product comprising a computer program which, when executed by a processor, performs the method of any one of claims 1-8.
Citation Information
Patent Citations
Method and device for determining program adaptability
CN112069071A