Targeted Application Silent Update Method and System Based on User Group Characteristics

By conducting multi-dimensional clustering analysis and silent updates of the user group, and formulating personalized strategies, the problems of inconsistent user experience and high resource utilization in traditional application update methods are solved, and efficient and personalized update process optimization is achieved.

CN120122973BActive Publication Date: 2025-08-05BOSHILIAN (SUZHOU) INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510625803.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-15
Publication Date
2025-08-05
Estimated Expiration
2045-05-15

AI Technical Summary

Technical Problem

The traditional application update method lacks personalization and does not consider the differences in user groups, resulting in inconsistent update experience, high resource usage, poor adaptability to the network environment, solidified update strategies, difficult to adapt to changes in user needs, and lack of effect evaluation.

Method used

By obtaining user group information, conducting multi-dimensional clustering analysis, formulating personalized update strategies, adopting silent updates and resource monitoring, dynamically adjusting update strategies, using incremental updates and automatic rollback mechanisms, and optimizing the update process.

Benefits of technology

It improves update efficiency and user experience, optimizes system resource utilization, realizes adaptive optimization of update strategies, and adapts to the changes in the needs of different user groups.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120122973B_ABST
    Figure CN120122973B_ABST
Patent Text Reader

Abstract

The present invention provides a method and system for silent updating of targeted applications based on user group characteristics, which relates to the field of application update technology. The method includes obtaining user group information, performing multi-dimensional clustering analysis to obtain user feature groups, formulating corresponding application update strategies and storing them in a policy database. After receiving an update request from a user device, the device is matched to a feature group, and a personalized update task is generated and sent to the device. The device silently performs the update operation in the background, monitors resource usage and automatically adjusts the update process. After the update is completed, the device sends result feedback, and the server dynamically adjusts the group division and update strategy accordingly to achieve self-optimization and iteration. This method realizes differentiated and intelligent application updates for different user groups.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to application update technology, and in particular to a method and system for silent updating of directional applications based on user group characteristics. Background Art

[0002] With the rapid development of mobile internet, smartphone apps have become an indispensable part of people's daily lives. To maintain the novelty, security, and stability of apps, developers need to frequently push app updates. However, traditional app update methods have many problems:

[0003] Single update method: Most apps use a unified update strategy that doesn't consider the characteristics and needs of different user groups, resulting in a mixed update experience. High user intervention: Traditional updates typically require manual user intervention, which not only interrupts the user experience but can also lead to fragmented app versions due to user delays or rejections, making maintenance more difficult.

[0004] Unreasonable resource usage: The update process can consume a large amount of system resources, affecting device performance and user experience, especially for lower-spec devices. Fixed update strategy: The lack of a mechanism to dynamically adjust the update strategy based on user feedback and update results makes it difficult to adapt to the changing needs of different user groups.

[0005] Poor network adaptability: Failure to fully account for differences in user network environments can lead to update failures or excessive data usage in poor network conditions. Lack of personalization: Failure to provide differentiated update content for different user groups makes it difficult to meet diverse user needs. Inadequate update effectiveness evaluation: The lack of a systematic update effectiveness evaluation mechanism makes it difficult to accurately measure the actual impact of updates on user experience and application performance.

[0006] Therefore, there is an urgent need for an intelligent, personalized, and low-intrusion silent update method for applications based on user group characteristics, so as to improve update efficiency, optimize user experience, and continuously optimize update strategies based on actual results. This invention proposes an innovative solution to the above problems. Summary of the Invention

[0007] The embodiments of the present invention provide a method and system for silent updating of targeted applications based on user group characteristics, which can solve the problems in the prior art.

[0008] According to a first aspect of the embodiments of the present invention,

[0009] Provides a targeted silent update method for applications based on user group characteristics, including:

[0010] Obtain user group information of the target application, perform multi-dimensional cluster analysis on the user group information to obtain multiple user feature groups; formulate corresponding application update policies based on the characteristics of each user feature group, and store the user feature groups and corresponding application update policies in a policy database;

[0011] receiving an application update request from a user device, matching the user device to a user profile group based on the user device identifier and current device status information; retrieving an application update policy corresponding to the user profile group from a policy database; generating a personalized update task for the user device based on the application update policy, and sending the personalized update task to the user device;

[0012] After the user device receives the personalized update task, it silently performs the update operation in the background, including downloading the update package within the specified time window, verifying the integrity of the update package, and performing incremental update installation; during the update process, it continuously monitors the device resource usage. When it detects that the resource usage exceeds the preset threshold, it automatically pauses the update process and releases resources. It automatically resumes the update after the resource usage decreases; after the update is completed, the user device sends update result feedback to the server. Based on the feedback results, the server dynamically adjusts the division of user feature groups and application update strategies to achieve self-optimization and iteration of the update strategy.

[0013] In an optional embodiment,

[0014] Multidimensional cluster analysis includes the following sub-steps:

[0015] Perform data preprocessing on user group information, including data cleaning, outlier detection, and feature standardization;

[0016] Clustering the preprocessed data using a hybrid clustering algorithm, wherein the hybrid clustering algorithm includes a combination of a K-means algorithm and a hierarchical clustering algorithm;

[0017] The silhouette coefficient and Davies-Bouldin index were used to evaluate the clustering effect, and the optimal number of clusters was determined through iterative optimization.

[0018] Based on the clustering results, the core features of each user feature group are extracted, and descriptive labels for the user feature groups are generated.

[0019] In an optional embodiment,

[0020] The process of developing an app update strategy includes:

[0021] Based on historical update data, a machine learning model is built to predict the optimal update time window and network resource usage limit for different user feature groups;

[0022] Based on the functional modules of the application, differentiated update content is customized for each user characteristic group, including core function updates, performance optimization and personalized functions;

[0023] Set up an update priority scoring system that takes into account user activity, device performance, and network conditions, and dynamically adjusts the update order of user feature groups;

[0024] Establish an update rollback mechanism. When it is detected that the update causes application performance to degrade or the crash rate to increase, the rollback operation is automatically triggered to restore to the previous stable version.

[0025] In an optional embodiment,

[0026] The process of generating a personalized update task includes:

[0027] Dynamically calculate the most suitable update package size and number of shards based on the hardware configuration and storage space of the user's device;

[0028] Based on the user's historical usage behavior, predict the user's inactive period and schedule the update time within this period;

[0029] Set multiple levels of resource usage limits, including CPU usage, memory usage, network bandwidth, and battery consumption, and dynamically adjust these limits based on the current state of the device;

[0030] Generates a unique identifier for the update task, which is used to track the update progress and record the update log.

[0031] In an optional embodiment,

[0032] The silent update execution process also includes:

[0033] Before downloading the update package, verify the network connection status and type of the user's device, give priority to using the Wi-Fi network, and ask the user whether to allow the update when using the mobile data network;

[0034] Use incremental update technology to download and install only the changed parts, reducing the update package size and installation time;

[0035] During the update installation process, a temporary backup of application data is created to facilitate quick recovery in case of update failure.

[0036] After the update is completed, automated testing is performed to verify the availability of key functions. If the test fails, the rollback mechanism is triggered.

[0037] In an optional embodiment,

[0038] Updated result feedback also includes:

[0039] Record detailed logs during the update process, including the start and end time of each update step, resource usage, and encountered exceptions;

[0040] Collect performance metrics when users use the app for the first time after an update, including startup time, memory usage, and responsiveness;

[0041] Collect users' subjective evaluations and feature suggestions for updated apps through lightweight user surveys;

[0042] Compare app crash rates and error logs before and after an update to assess the impact of the update on app stability.

[0043] In an optional embodiment,

[0044] The following steps are also included:

[0045] Based on user feedback and update results, we use reinforcement learning algorithms to continuously optimize update strategies, including adjusting update time windows, update content, and resource usage limits.

[0046] Establish a rapid response mechanism for user feedback. When a large amount of negative feedback is detected, update push for that user group will be automatically suspended and an emergency repair process will be initiated.

[0047] Build an update effect evaluation model that comprehensively considers update success rate, user satisfaction, and application performance improvement, and adjusts the score for each update strategy;

[0048] Run regular A / B tests to compare the effectiveness of different update strategies and roll out the best strategy to similar groups of users.

[0049] A second aspect of an embodiment of the present invention provides a system for silently updating targeted applications based on user group characteristics, including:

[0050] The first unit is configured to obtain user group information of a target application, perform multi-dimensional cluster analysis on the user group information to obtain multiple user feature groups; formulate a corresponding application update policy based on the characteristics of each user feature group, and store the user feature groups and corresponding application update policies in a policy database;

[0051] The second unit is configured to receive an application update request sent by a user device, match the user device to a user profile group based on the user device identifier and the device's current status information, retrieve an application update policy corresponding to the user profile group from a policy database, generate a personalized update task for the user device based on the application update policy, and send the personalized update task to the user device;

[0052] The third unit is used to silently perform update operations in the background after the user device receives the personalized update task, including downloading the update package within the specified time window, verifying the integrity of the update package, and performing incremental update installation; during the update process, it continuously monitors the device resource usage. When it detects that the resource usage exceeds the preset threshold, it automatically pauses the update process and releases resources, and automatically resumes the update after the resource usage is reduced; after the update is completed, the user device sends update result feedback to the server. The server dynamically adjusts the division of user feature groups and application update strategies based on the feedback results to achieve self-optimization and iteration of the update strategy.

[0053] According to a third aspect of an embodiment of the present invention, an electronic device is provided, including:

[0054] processor;

[0055] a memory for storing processor-executable instructions;

[0056] The processor is configured to call the instructions stored in the memory to execute the aforementioned method.

[0057] According to a fourth aspect of an embodiment of the present invention, a computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the method described above is implemented.

[0058] The beneficial effects of this application are as follows:

[0059] Improve update efficiency and user experience: By analyzing and clustering user group characteristics, we develop targeted update strategies to make the update process more consistent with user habits and device characteristics, thereby improving update success rates and user satisfaction.

[0060] Optimize system resource utilization: Adopt silent update and resource monitoring mechanism to complete updates without user awareness, and automatically adjust the update process according to device resource usage to avoid affecting users' normal use of the device.

[0061] Achieve adaptive optimization of update strategies: By collecting and analyzing update result feedback, dynamically adjust user feature group divisions and update strategies, so that the system can continuously learn and improve, adapt to the changing needs of different user groups, and improve long-term operational results. BRIEF DESCRIPTION OF THE DRAWINGS

[0062] Figure 1 This is a flow chart of a method for silently updating targeted applications based on user group characteristics according to an embodiment of the present invention;

[0063] Figure 2 This is a structural diagram of a system for silently updating targeted applications based on user group characteristics according to an embodiment of the present invention. DETAILED DESCRIPTION

[0064] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.

[0065] The following specific embodiments are used to describe the technical solution of the present invention in detail. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.

[0066] Figure 1 FIG is a flow chart of a method for silently updating a targeted application based on user group characteristics according to an embodiment of the present invention. Figure 1 As shown, the method includes:

[0067] Obtain user group information of the target application, perform multi-dimensional cluster analysis on the user group information to obtain multiple user feature groups; formulate corresponding application update policies based on the characteristics of each user feature group, and store the user feature groups and corresponding application update policies in a policy database;

[0068] receiving an application update request from a user device, matching the user device to a user profile group based on the user device identifier and current device status information; retrieving an application update policy corresponding to the user profile group from a policy database; generating a personalized update task for the user device based on the application update policy, and sending the personalized update task to the user device;

[0069] After the user device receives the personalized update task, it silently performs the update operation in the background, including downloading the update package within the specified time window, verifying the integrity of the update package, and performing incremental update installation; during the update process, it continuously monitors the device resource usage. When it detects that the resource usage exceeds the preset threshold, it automatically pauses the update process and releases resources. It automatically resumes the update after the resource usage decreases; after the update is completed, the user device sends update result feedback to the server. Based on the feedback results, the server dynamically adjusts the division of user feature groups and application update strategies to achieve self-optimization and iteration of the update strategy.

[0070] The specific implementation of the method for silent updating of targeted applications based on user group characteristics is as follows:

[0071] First, obtain the target application's user group information. This step can be achieved in the following ways:

[0072] 1) Extract basic information such as user device model and operating system version from the user database of the application server.

[0073] 2) Use in-app tracking to measure user usage frequency and usage time. For example, count the number of times a user opens the app in a week and the time periods of daily usage.

[0074] 3) Use IP address positioning or GPS positioning to obtain the user's geographic location information.

[0075] 4) Obtain the user's network environment information through network detection, such as network type (Wi-Fi / 4G / 5G, etc.), network speed, etc.

[0076] For example, the following user information can be obtained:

[0077] User A: {Device: iPhone 13, System: iOS 15.0, Network: 5G, Usage frequency: 3 times a day, Usage time: 20:00-22:00, Location: Beijing};

[0078] User B: {Device: Huawei Mate 40, System: Android 11, Network: 4G, Usage frequency: once a day, Usage time: 12:00-13:00, Location: Shanghai};

[0079] Next, perform multi-dimensional cluster analysis on the acquired user group information to identify multiple user feature groups. A K-means clustering algorithm can be used to group users based on similarity. Clustering dimensions include device model, system version, network environment, usage frequency, usage time, and geographic location.

[0080] After clustering, the following user groups can be formed:

[0081] Group 1: high-end iOS devices, 5G networks, frequent nighttime use, first-tier cities;

[0082] Group 2: Mid-range Android devices, 4G network, low-frequency lunchtime usage, second- and third-tier cities.

[0083] Then, based on the characteristics of each user group, a corresponding application update strategy is formulated. The update strategy includes:

[0084] 1) Update Time Window: Based on the group's usage characteristics, select a time period when users are inactive. For example, for Group 1, choose 2:00 AM to 6:00 AM; for Group 2, choose 8:00 PM to 8:00 AM the next day.

[0085] 2) Update priority: Frequent user groups are updated first, for example, group 1 has a higher priority than group 2.

[0086] 3) Differentiated update content: Differentiated update packages are provided for different devices and system versions. For example, iOS and Android versions are updated separately, and functions are differentiated for high-end and low-end devices.

[0087] 4) Network resource usage limit: Set different resource limits based on the network environment. For example, 5G networks can occupy 50% of the bandwidth, while 4G networks are limited to 30%.

[0088] The formulated policies are stored in the policy database, forming a mapping relationship between user groups and update policies.

[0089] When receiving an application update request from a user device, the user device identifier and current status information contained in the request are first parsed, and then the user device is matched to the most similar feature group based on this information.

[0090] Then, the application update policy corresponding to the group is retrieved from the policy database, and a targeted personalized update task is generated based on the policy. The update task includes:

[0091] 1) Update package download address: Provide the download link of the corresponding version according to the device type

[0092] 2) Installation schedule: Set the installation time to be executed within the time window specified by the policy

[0093] 3) Resource usage restrictions: CPU usage should not exceed 30%, memory usage should not exceed 100MB, etc.

[0094] After the generated personalized update task is sent to the user's device, the device will silently perform the update operation in the background. The specific steps are as follows:

[0095] 1) Start downloading the update package within the specified time window. During the download process, network resource usage will be monitored to ensure that the limit is not exceeded.

[0096] 2) After the download is complete, verify the integrity and signature of the update package.

[0097] 3) Perform incremental update installations, updating only the changed parts to save time and resources.

[0098] 4) Continuously monitor resource usage, such as CPU and memory, during the update process. If it detects that resource usage exceeds a preset threshold, the update is automatically paused to free up resources. The update is automatically resumed when resource usage decreases.

[0099] 5) After the update is completed, feedback is sent to the server, including whether the update is successful, time consumption, resource usage, etc.

[0100] Finally, the server dynamically adjusts the user feature grouping and application update strategies based on the feedback from the user device. For example:

[0101] - If a group's update success rate is low, adjust the group's time window or resource limits

[0102] - If a certain type of device takes a long time to update, a more detailed update strategy can be developed for it separately

[0103] - Optimize the update priority of each group based on user feedback experience ratings

[0104] In this way, the update strategy can be self-optimized and iterated, continuously improving the efficiency of silent updates and user experience.

[0105] In an optional embodiment, the multidimensional cluster analysis includes the following sub-steps:

[0106] Perform data preprocessing on user group information, including data cleaning, outlier detection, and feature standardization;

[0107] Clustering the preprocessed data using a hybrid clustering algorithm, wherein the hybrid clustering algorithm includes a combination of a K-means algorithm and a hierarchical clustering algorithm;

[0108] The silhouette coefficient and Davies-Bouldin index were used to evaluate the clustering effect, and the optimal number of clusters was determined through iterative optimization.

[0109] Based on the clustering results, the core features of each user feature group are extracted, and descriptive labels for the user feature groups are generated.

[0110] In a specific embodiment, the multidimensional cluster analysis includes the following detailed steps:

[0111] First, data preprocessing is performed on user group information. This step includes data cleaning, outlier detection, and feature standardization. Data cleaning primarily addresses missing and duplicate values. For missing values, methods such as mean filling, median filling, or filling based on similar users can be used. For example, for the age feature, if a user's age information is missing, the average age of the user's city can be used to fill it. Duplicate values should be removed based on unique identifiers such as user IDs. Outlier detection can use the 3σ principle, which considers data outside the range of plus or minus three standard deviations from the mean as outliers. For example, if a user's monthly spending exceeds 100,000 yuan, significantly above the average, this may be an outlier. Detected outliers can be deleted or replaced with the maximum / minimum value within the normal range. Feature standardization aims to eliminate the influence of different dimensions between features. Common methods include Z-score standardization and Min-Max standardization. Z-score standardization subtracts the mean from the feature value and divides it by the standard deviation. Min-Max standardization maps the feature value to the interval [0, 1]. For example, for the two features of user age and monthly income, Min-Max normalization can be used to make the value range of these two features between 0 and 1, which is convenient for subsequent cluster analysis.

[0112] Next, a hybrid clustering algorithm is used to cluster the preprocessed data. This hybrid clustering algorithm combines the advantages of the K-means algorithm and the hierarchical clustering algorithm. First, a preliminary clustering is performed using the K-means algorithm to obtain K cluster centers. The K-means algorithm involves: randomly selecting K initial cluster centers; assigning each sample point to the cluster center with the closest distance; recalculating the center of each cluster; and repeating these two steps until the cluster centers no longer change significantly. For example, assuming we initially select K=5, performing K-means clustering on user characteristics such as age, monthly income, and spending habits may result in five preliminary user groups. Then, a hierarchical clustering algorithm is applied to these K cluster centers to further optimize the clustering results. The hierarchical clustering algorithm involves: treating each cluster center as an independent cluster; calculating the distance between clusters; merging the two closest clusters; and repeating these two steps until the preset number of clusters is reached. In this way, a hierarchical clustering structure is obtained, which retains the efficiency of the K-means algorithm while leveraging the hierarchical clustering algorithm's ability to discover the inherent structure of the data.

[0113] To evaluate clustering effectiveness and determine the optimal number of clusters, two evaluation metrics are used: the silhouette coefficient and the Davies-Bouldin index. The silhouette coefficient measures the difference between the similarity of a sample to its own cluster and the similarity to other clusters. The silhouette coefficient ranges from -1 to 1, with larger values indicating better clustering. The Davies-Bouldin index measures the ratio of intra-cluster similarity to inter-cluster similarity, with smaller values indicating better clustering. In practice, you can try different numbers of clusters (for example, from 2 to 10), calculate these two metrics for each clustering result, and then select the number of clusters that achieves the best overall performance. For example, if the silhouette coefficient reaches a maximum of 0.68 and the Davies-Bouldin index reaches a minimum of 1.25 when the number of clusters is 4, then 4 is considered the optimal number of clusters. Furthermore, clustering effectiveness can be further improved through iterative optimization. For example, you can run the K-means algorithm multiple times, each time using different initial cluster centers, and select the result with the highest silhouette coefficient as the final clustering result.

[0114] Finally, based on the clustering results, the core features of each user profile group are extracted, and descriptive labels for the user profile group are generated. Core features can be extracted by calculating statistics such as the mean, median, and mode for each feature within the group. For example, if the average age of a cluster group is 25, the average monthly income is 8,000 yuan, and the primary consumer categories are digital products and clothing, these characteristics can be considered the core features of the group. When generating descriptive labels, these core features can be combined with business knowledge. For example, the group can be labeled "young white-collar group." To make labels more precise and meaningful, additional analytical methods, such as feature importance analysis, can be used. By calculating the contribution of each feature to the grouping, the most representative features can be identified, resulting in a more accurate descriptive label. For example, if the consumer category feature is found to contribute most to the grouping, the label can be refined to "digital trendy young white-collar group."

[0115] Through the above steps, multi-dimensional clustering analysis of user groups can be achieved, and user groups with clear characteristics and labels can be obtained, providing data support for subsequent precision marketing and personalized services.

[0116] In an optional implementation, the process of formulating an application update policy includes:

[0117] Based on historical update data, a machine learning model is built to predict the optimal update time window and network resource usage limit for different user feature groups;

[0118] Based on the functional modules of the application, differentiated update content is customized for each user characteristic group, including core function updates, performance optimization and personalized functions;

[0119] Set up an update priority scoring system that takes into account user activity, device performance, and network conditions, and dynamically adjusts the update order of user feature groups;

[0120] Establish an update rollback mechanism. When it is detected that the update causes application performance to degrade or the crash rate to increase, the rollback operation is automatically triggered to restore to the previous stable version.

[0121] When developing an application update strategy, we first build a machine learning model based on historical update data to predict the optimal update time window and network resource usage limits for different user profile groups. In practice, we collect user profile data including device type, operating system version, network environment, and usage frequency, as well as information such as the time, content, and success rate of historical updates. This data is used to train a random forest model, which, based on the input user profile, outputs a predicted optimal update time window (e.g., 8:00-10:00 PM on weekends) and a recommended upper limit for network resource usage (e.g., no more than 50MB / s).

[0122] Next, we customize updates for each user group based on the app's functional modules. For example, for users of high-end devices, we might push graphics engine updates containing high-resolution textures and complex rendering effects; for users of low-end devices, we prioritize performance optimization updates. Furthermore, we customize feature updates for different groups based on user habits, such as prioritizing new features in the social module for users who frequently use social functions.

[0123] An update priority scoring system is set up in the update policy, taking into account user activity, device performance, and network conditions, and dynamically adjusting the update order of user feature groups. A weighted scoring method can be used, for example: user activity weight 0.4, device performance weight 0.3, and network condition weight 0.3. For each user, the activity score (0-100 points) is calculated based on their average daily usage time in the past 7 days, the performance score (0-100 points) is calculated based on hardware parameters such as the device CPU and memory, and the network condition score (0-100 points) is calculated based on network bandwidth and stability. These three scores are added together according to the weight to obtain the final priority score. The higher the score, the higher the priority the update push will be.

[0124] Finally, develop an update rollback mechanism. When it is detected that the update has caused a decrease in application performance or an increase in the crash rate, a rollback operation is automatically triggered to restore to the previous stable version. In specific implementation, the performance indicators of the updated application, such as page load time, CPU usage, memory usage, etc., can be monitored in real time on the server side. The application crash rate is also monitored. When it is detected that these indicators have deteriorated by more than the preset threshold compared to before the update (such as a 20% decrease in performance or a 5% increase in crash rate), the rollback process is automatically triggered. When rolling back, first suspend the push of the new version, and then push a rollback patch to the updated users, restoring their application version to the previous stable version.

[0125] In actual application, the execution process of this update strategy is as follows:

[0126] First, we use the machine learning model to predict update times and resource limits for the target user group. For example, for a group of users using mid-range Android devices who primarily access apps over mobile networks, the model might predict that their optimal update time is during their weekday lunch break (12:00-1:00 PM), with a recommended network resource limit of 30 MB / s.

[0127] Then, we tailored differentiated updates based on the characteristics of this user group. For example, we prepared a performance update package optimized for the Android system, including code refactoring to reduce memory usage and optimizing network request strategies. Furthermore, based on the fact that this group of users frequently used the app's news reading function, we incorporated a newly developed personalized news recommendation algorithm into the update.

[0128] Next, we use a priority scoring system to assess the update priority for this group of users. Assume that this group's average activity score is 80 (approximately 2 hours of daily usage), their device performance score is 60 (mid-range devices), and their network condition score is 70 (primarily 4G networks). Based on the weights set previously, the final priority score is calculated as: 80*0.4 + 60*0.3 + 70*0.3 = 71. This score will determine their update order within all user groups.

[0129] Finally, while pushing updates, continuously monitor application performance and stability. Suppose, after the update, the average page load time for a group of users increases from 2 seconds to 2.8 seconds, exceeding the preset 20% deterioration threshold. The system automatically triggers a rollback mechanism, pushing a rollback patch to these users, restoring their app version to the pre-update stable version, and simultaneously suspending push of the problematic update to other users.

[0130] Through this set of strategies, precise and personalized application updates can be achieved for different user groups, improving the success rate of updates and user satisfaction. At the same time, it can respond quickly when problems arise, minimizing the negative impact on user experience.

[0131] In an optional implementation, the process of generating a personalized update task includes:

[0132] Dynamically calculate the most suitable update package size and number of shards based on the hardware configuration and storage space of the user's device;

[0133] Based on the user's historical usage behavior, predict the user's inactive period and schedule the update time within this period;

[0134] Set multiple levels of resource usage limits, including CPU usage, memory usage, network bandwidth, and battery consumption, and dynamically adjust these limits based on the current state of the device;

[0135] Generates a unique identifier for the update task, which is used to track the update progress and record the update log.

[0136] To generate personalized software update tasks, we first need to obtain the user's device hardware configuration information and available storage space. This can be achieved by calling system APIs, such as obtaining parameters such as CPU model, memory size, and storage capacity. Based on this information, the system dynamically calculates the update package size and number of shards that are most suitable for the current device. For example, for devices with limited memory, the update package can be split into more small shards to reduce memory usage; for devices with ample storage space, larger shard sizes can be selected to reduce the number of shards and improve update efficiency.

[0137] Next, the system analyzes the user's historical usage data, including app usage duration, frequency, and time of day. This data can be used to predict inactive periods, such as late at night or during work hours. The system prioritizes updates during these times to minimize disruption to the user's daily routine. Specifically, the system calculates the average user activity in each hourly period over the past 30 days and selects the consecutive periods with the lowest activity as the update schedule.

[0138] The system then sets multiple levels of resource usage limits, including CPU usage, memory usage, network bandwidth, and battery consumption. These limits are dynamically adjusted based on the device's current state. For example, if the device is detected to be charging, the battery consumption limit can be appropriately relaxed; if the user is detected to be using the device, the CPU and memory usage limits are lowered to ensure that the user experience is not affected. Specific limit values can be set based on the device's performance level, such as a CPU usage limit of 20% for entry-level devices and 40% for high-end devices.

[0139] To accurately track update progress and log files, the system generates a unique identifier for each update task. This identifier can be composed of a timestamp, device ID, update version number, and other information to ensure uniqueness. For example, a format like "Device ID_Update Version Number_Timestamp" can be used, such as "DEVICE001_V2.0_20230515120000". The system uses this identifier to associate all related update operations and log records.

[0140] When executing an update, the system first downloads the update package according to a pre-calculated sharding scheme. During the download process, network bandwidth usage is monitored in real time. If it detects a user engaging in a high-traffic operation (such as video playback), the download speed will be automatically reduced or paused. Once the download is complete, the system gradually installs the update shards in the background, strictly controlling CPU and memory usage to ensure that they do not exceed set limits.

[0141] During the update installation process, the system will periodically check the device status. If the device battery level is below 20% and the device is not connected to a charger, the update will be automatically paused until the device is fully charged before continuing. The system will also monitor storage space changes and, if available space is insufficient, will attempt to clear the cache or prompt the user to free up space.

[0142] Throughout the update process, the system will record various metrics in real time, including download speed, installation progress, resource usage, etc., and use the previously generated unique identifier to link these logs. This data will be used for subsequent update optimization and problem diagnosis.

[0143] After the update is complete, the system will perform a self-check to verify that the update has been successfully installed and is functioning properly. If any issues are found, the system will automatically roll back to the previous version and report the error to the server. If the update is successful, the user will be non-intrusively notified of the update's completion and a brief description of the new version's key improvements will be displayed the next time the user uses the system.

[0144] Through this personalized update solution, we can effectively balance update efficiency and user experience, ensuring that the software is always up to date while minimizing the impact on users' daily use.

[0145] In an optional implementation, the silent update execution process further includes:

[0146] Before downloading the update package, verify the network connection status and type of the user's device, give priority to using the Wi-Fi network, and ask the user whether to allow the update when using the mobile data network;

[0147] Use incremental update technology to download and install only the changed parts, reducing the update package size and installation time;

[0148] During the update installation process, a temporary backup of application data is created to facilitate quick recovery in case of update failure.

[0149] After the update is completed, automated testing is performed to verify the availability of key functions. If the test fails, the rollback mechanism is triggered.

[0150] During the silent update process, the user's device's network connection status and type must be verified. The system will detect the current network environment and prioritize Wi-Fi networks for updates. If the device is detected to be using a mobile data network, a prompt will appear asking the user to allow the update to proceed over the mobile network. This helps avoid unexpected data charges.

[0151] After confirming the network environment, the system uses incremental update technology to download and install the update package. This involves comparing the new version with the current version and downloading only the changed parts. For example, if an app is updated from version 1.0 to 1.1, which may only involve a small amount of code changes, the incremental update package might be only a few hundred KB in size, rather than the tens of MB required for the full installation package. This approach significantly reduces the size of the update package, shortening download and installation time and improving update efficiency.

[0152] Before installing an update, the system creates a temporary backup of your app's data. This includes critical information like the app's configuration files and user data. The backup is stored in the device's secure partition. If an unexpected interruption or failure occurs during the update process, the system can use this backup to quickly restore the app to its pre-update state, preventing data loss.

[0153] After the update is installed, the system automatically executes a series of automated tests to verify the correct functioning of the application's key functions. Test cases may include launching the application, logging in to an account, accessing key interfaces, and performing basic operations. If a test fails, such as the application failing to launch properly, the system immediately triggers a rollback mechanism. The rollback process uses a previously created backup to restore the application to its pre-update version and state.

[0154] To ensure the stability and reliability of the update process, the system implements multiple protection mechanisms. For example, an MD5 checksum is performed when downloading update packages to ensure the integrity of the downloaded files. During the installation process, the system monitors CPU usage and memory usage, pausing and retrying if any anomalies are detected. Furthermore, the entire update process has a timeout protection mechanism; if a step takes too long to execute, the system automatically aborts the update and rolls it back.

[0155] After the update is complete, the system collects relevant logs and statistics, including update duration, success rate, and failure reasons. This data is encrypted and uploaded to the server for subsequent analysis and optimization. The development team can use this data to improve the update algorithm, increase the success rate, and optimize the user experience.

[0156] Through the above series of carefully designed steps and mechanisms, silent updates can efficiently complete application upgrades while ensuring security and stability, minimize disruption to users, and provide a smooth user experience.

[0157] In an optional implementation, the update result feedback further includes:

[0158] Record detailed logs during the update process, including the start and end time of each update step, resource usage, and encountered exceptions;

[0159] Collect performance metrics when users use the app for the first time after an update, including startup time, memory usage, and responsiveness;

[0160] Collect users' subjective evaluations and feature suggestions for updated apps through lightweight user surveys;

[0161] Compare app crash rates and error logs before and after an update to assess the impact of the update on app stability.

[0162] In a specific implementation, the detailed steps of updating the result feedback are as follows:

[0163] First, the system records detailed log information in real time during the update process. This log includes the start and end times of each update step, recorded with millisecond precision. For example, the start time for "Step 1: Download Update Package" is "2023-05-01 10:00:00.123" and the end time is "2023-05-01 10:00:05.456." Resource information such as CPU usage and memory usage is also recorded, such as "CPU usage: 25%, memory usage: 100MB." Any exceptions are recorded, along with the type and details, such as "Network connection failed, error code: 404." This log information is saved locally for later analysis.

[0164] Secondly, the system automatically collects a series of performance metrics when the user completes the update and opens the app for the first time. This includes the app's cold start time, which is the time from clicking the icon to the app being fully available, usually measured in milliseconds. For example, the startup time was 2000ms before the update and 1800ms after the update. The memory usage of the app during runtime is also recorded, such as an average of 200MB before the update and 180MB after the update. In addition, the responsiveness of the user interface is measured, such as the time interval from clicking a button to a response, which was an average of 100ms before the update and dropped to 80ms after the update. These data are sent to the server for analysis.

[0165] Next, after the user has used the updated app for a period of time (e.g., three days), the system will initiate a brief user survey via an in-app pop-up window. The survey will include the user's overall satisfaction with the updated app (on a scale of 1-5), whether they have noticed performance improvements, and their evaluation of new features. An open-ended question will also be provided, allowing users to provide suggestions for improvement, such as "What other areas do you think need improvement?" This feedback will be compiled and sent to the development team.

[0166] Finally, the system compares the app's crash rate and error logs within a week before and after the update. The crash rate is calculated as (number of crashes / number of launches). For example, if it was 0.5% before the update, it would drop to 0.3% after the update. Error logs are categorized by type, such as "network errors" and "data parsing errors," to analyze changes in the frequency of each type of error. For example, before the update, "network errors" accounted for 30% of total errors, but after the update, they dropped to 20%. This data will be used to assess the impact of the update on app stability.

[0167] Through the above steps, the system can comprehensively collect and analyze update results, including objective technical data and subjective user experiences. This information will provide a critical basis for subsequent optimization, helping the development team continuously improve app quality and user experience. Furthermore, this continuous monitoring and feedback mechanism can promptly identify potential issues and ensure app stability and reliability.

[0168] In an optional embodiment, the method further comprises the following steps:

[0169] Based on user feedback and update results, we use reinforcement learning algorithms to continuously optimize update strategies, including adjusting update time windows, update content, and resource usage limits.

[0170] Establish a rapid response mechanism for user feedback. When a large amount of negative feedback is detected, update push for that user group will be automatically suspended and an emergency repair process will be initiated.

[0171] Build an update effect evaluation model that comprehensively considers update success rate, user satisfaction, and application performance improvement, and adjusts the score for each update strategy;

[0172] Run regular A / B tests to compare the effectiveness of different update strategies and roll out the best strategy to similar groups of users.

[0173] To optimize application update strategies and improve user satisfaction, this embodiment provides a continuous optimization method based on user feedback and update results. The method includes the following steps:

[0174] First, we build an initial update policy model based on historical update data and user feedback. This model includes key parameters such as the update window, update content, and resource usage limits. For example, we might set the update window to 10:00 PM to 6:00 AM daily, with updates including security patches and new features, and resource usage limited to no more than 50% of network bandwidth.

[0175] Then, reinforcement learning algorithms are used to continuously optimize the update strategy. Specifically, each update is considered an "action," and user feedback and update performance are used as "rewards." Through multiple iterations, the strategy parameters are adjusted. For example, if it is detected that a nighttime update causes user experience lag the next day, the update schedule might be adjusted to a weekend. Alternatively, if a new feature update leads to increased negative feedback, the frequency of new feature updates might be reduced, while the proportion of security patches might be increased.

[0176] Next, a quick response mechanism for user feedback will be established. The system monitors user feedback in real time. When it detects that the negative feedback from a user group exceeds a threshold in a short period of time (such as more than 100 in 30 minutes), it automatically suspends the update push for that group. At the same time, an emergency repair process is initiated, including rolling back to the previous stable version, analyzing the cause of the failure, and fixing bugs. For example, if a large number of crash feedback is detected in an Android 11 user group, updates for that group will be immediately suspended, and a fixed version will be pushed to them first.

[0177] To comprehensively evaluate the effectiveness of updates, an update effectiveness evaluation model was constructed. This model comprehensively considers multiple dimensions, including update success rate, user satisfaction, and app performance improvement. The update success rate can be measured by the percentage of users who successfully install the app; user satisfaction can be quantified through changes in App Store ratings and sentiment analysis of user feedback; and app performance improvement can be assessed by the degree of improvement in metrics such as startup time and memory usage. These metrics are weighted and summed to produce a comprehensive score for each update. For example, an update with a 98% success rate, a 2% increase in user satisfaction, and a 5% performance improvement might receive an overall score of 8.5 out of 10.

[0178] Finally, conduct regular A / B testing to compare the effectiveness of different update strategies. For example, you could randomly divide users into two groups: one using the currently optimal strategy and the other using a new, unproven strategy. By comparing the update performance scores of the two groups over a period of time (e.g., two weeks), you can determine the superior strategy. If the new strategy scores significantly higher than the current strategy (e.g., by more than 10%), roll out the new strategy to all similar user groups.

[0179] By following these steps, you can continuously optimize your update strategy, improving user satisfaction and minimizing negative impacts. This approach dynamically adjusts strategies based on actual performance, rapidly responds to user feedback, comprehensively evaluates update effectiveness, and validates strategy improvements through rigorous A / B testing. This not only improves app stability and user experience, but also reduces operating costs and enhances product competitiveness.

[0180] Figure 2 FIG. 1 is a structural diagram of a system for silently updating directional applications based on user group characteristics according to an embodiment of the present invention. Figure 2 As shown, the system includes:

[0181] The first unit is configured to obtain user group information of a target application, perform multi-dimensional cluster analysis on the user group information to obtain multiple user feature groups; formulate a corresponding application update policy based on the characteristics of each user feature group, and store the user feature groups and corresponding application update policies in a policy database;

[0182] The second unit is configured to receive an application update request sent by a user device, match the user device to a user profile group based on the user device identifier and the device's current status information, retrieve an application update policy corresponding to the user profile group from a policy database, generate a personalized update task for the user device based on the application update policy, and send the personalized update task to the user device;

[0183] The third unit is used to silently perform update operations in the background after the user device receives the personalized update task, including downloading the update package within the specified time window, verifying the integrity of the update package, and performing incremental update installation; during the update process, it continuously monitors the device resource usage. When it detects that the resource usage exceeds the preset threshold, it automatically pauses the update process and releases resources, and automatically resumes the update after the resource usage is reduced; after the update is completed, the user device sends update result feedback to the server. The server dynamically adjusts the division of user feature groups and application update strategies based on the feedback results to achieve self-optimization and iteration of the update strategy.

[0184] According to a third aspect of an embodiment of the present invention, an electronic device is provided, including:

[0185] processor;

[0186] a memory for storing processor-executable instructions;

[0187] The processor is configured to call the instructions stored in the memory to execute the aforementioned method.

[0188] According to a fourth aspect of an embodiment of the present invention, a computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the method described above is implemented.

[0189] The present invention may be a method, an apparatus, a system and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for executing various aspects of the present invention.

[0190] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for silent updating of targeted applications based on user group characteristics, characterized in that: include: Obtaining user group information of the target application, performing multi-dimensional cluster analysis on the user group information, and obtaining multiple user feature groups; Formulate a corresponding application update policy based on the characteristics of each user feature group, and store the user feature group and the corresponding application update policy in a policy database; receiving an application update request sent by a user device, and matching the user device to a user feature group based on the user device identifier and the device's current state information; Retrieving an application update policy corresponding to the user feature group from a policy database; generating a personalized update task for the user device according to the application update policy, and sending the personalized update task to the user device; After receiving a personalized update task, the user device silently executes the update operation in the background, including downloading the update package within a specified time window, verifying the integrity of the update package, and performing incremental update installation. During the update process, the device resource usage is continuously monitored. When resource usage exceeds a preset threshold, the update process is automatically paused and resources are released. The update is automatically resumed when resource usage decreases. After the update is complete, the user device sends update result feedback to the server. Based on the feedback, the server dynamically adjusts the division of user feature groups and the application update strategy, achieving self-optimization and iteration of the update strategy. The process of generating a personalized update task includes: Dynamically calculate the most suitable update package size and number of shards based on the user's device hardware configuration and storage space; predict the user's inactive periods based on historical usage behavior and schedule updates within those periods; set multi-level resource usage limits, including CPU usage, memory usage, network bandwidth, and battery consumption, and dynamically adjust these limits based on the device's current state; and generate a unique identifier for the update task to track update progress and record update logs. The following steps are also included: Based on user feedback and update effects, we use reinforcement learning algorithms to continuously optimize update strategies, including adjusting update time windows, update content, and resource usage limits. We establish a rapid response mechanism for user feedback. When a large amount of negative feedback is detected, we automatically suspend update push for that user group and initiate an emergency repair process. We build an update effect evaluation model that comprehensively considers update success rate, user satisfaction, and application performance improvement to adjust the score for each update strategy. We conduct regular A / B tests to compare the effects of different update strategies and promote the best strategy to similar user groups.

2. The method according to claim 1, characterized in that Multidimensional cluster analysis includes the following sub-steps: Perform data preprocessing on user group information, including data cleaning, outlier detection, and feature standardization; Clustering the preprocessed data using a hybrid clustering algorithm, wherein the hybrid clustering algorithm includes a combination of a K-means algorithm and a hierarchical clustering algorithm; The silhouette coefficient and Davies-Bouldin index were used to evaluate the clustering effect, and the optimal number of clusters was determined through iterative optimization. Based on the clustering results, the core features of each user feature group are extracted, and descriptive labels for the user feature groups are generated.

3. The method according to claim 1, characterized in that The process of developing an app update strategy includes: Based on historical update data, a machine learning model is built to predict the optimal update time window and network resource usage limit for different user feature groups; Based on the functional modules of the application, differentiated update content is customized for each user characteristic group, including core function updates, performance optimization and personalized functions; Set up an update priority scoring system that takes into account user activity, device performance, and network conditions, and dynamically adjusts the update order of user feature groups; Establish an update rollback mechanism. When it is detected that the update causes application performance to degrade or the crash rate to increase, the rollback operation is automatically triggered to restore to the previous stable version.

4. The method according to claim 1, wherein The silent update execution process also includes: Before downloading the update package, verify the network connection status and type of the user's device, give priority to using the Wi-Fi network, and ask the user whether to allow the update when using the mobile data network; Use incremental update technology to download and install only the changed parts, reducing the update package size and installation time; During the update installation process, a temporary backup of application data is created to facilitate quick recovery in case of update failure. After the update is completed, automated testing is performed to verify the availability of key functions. If the test fails, the rollback mechanism is triggered.

5. The method according to claim 1, characterized in that Updated result feedback also includes: Record detailed logs during the update process, including the start and end time of each update step, resource usage, and encountered exceptions; Collect performance metrics when users use the app for the first time after an update, including startup time, memory usage, and responsiveness; Collect users' subjective evaluations and feature suggestions for updated apps through lightweight user surveys; Compare app crash rates and error logs before and after an update to assess the impact of the update on app stability.

6. A directional application silent update system based on user group characteristics, used to implement the method according to any one of claims 1 to 5, characterized in that: include: The first unit is configured to obtain user group information of a target application, perform multi-dimensional cluster analysis on the user group information, and obtain multiple user feature groups; Formulate a corresponding application update policy based on the characteristics of each user feature group, and store the user feature group and the corresponding application update policy in a policy database; The second unit is configured to receive an application update request sent by a user device, and match the user device to a user feature group based on the user device identifier and the device current state information; Retrieving an application update policy corresponding to the user feature group from a policy database; generating a personalized update task for the user device according to the application update policy, and sending the personalized update task to the user device; The third unit is used to silently execute the update operation in the background after the user device receives the personalized update task, including downloading the update package within a specified time window, verifying the integrity of the update package, and performing incremental update installation. During the update process, the device resource usage is continuously monitored. When it detects that the resource usage exceeds a preset threshold, the update process is automatically paused and resources are released. The update is automatically resumed when the resource usage decreases. After the update is completed, the user device sends update result feedback to the server. Based on the feedback, the server dynamically adjusts the division of user feature groups and the application update strategy to achieve self-optimization and iteration of the update strategy. The process of generating a personalized update task includes: Dynamically calculate the most suitable update package size and number of shards based on the user's device hardware configuration and storage space; predict the user's inactive periods based on historical usage behavior and schedule updates within those periods; set multi-level resource usage limits, including CPU usage, memory usage, network bandwidth, and battery consumption, and dynamically adjust these limits based on the device's current state; and generate a unique identifier for the update task to track update progress and record update logs. The system further comprises: Based on user feedback and update effects, we use reinforcement learning algorithms to continuously optimize update strategies, including adjusting update time windows, update content, and resource usage limits. We establish a rapid response mechanism for user feedback. When a large amount of negative feedback is detected, we automatically suspend update push for that user group and initiate an emergency repair process. We build an update effect evaluation model that comprehensively considers update success rate, user satisfaction, and application performance improvement to adjust the score for each update strategy. We conduct regular A / B tests to compare the effects of different update strategies and promote the best strategy to similar user groups.

7. An electronic device, characterized in that: include: processor; a memory for storing processor-executable instructions; The processor is configured to call the instructions stored in the memory to execute the method according to any one of claims 1 to 5.

8. A computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the method according to any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Power customer portrait generation management method and system

    CN116226293A

  • Internet of Things equipment updating method and device, electronic equipment and storage medium

    CN119676080A