Dynamic updating method and device of application software, equipment and storage medium
By collecting user behavior data and using preference analysis model to generate configuration adjustment information, dynamically update the application software, the high labor cost and inefficiency problems caused by static configuration files are solved, and efficient application software updates are achieved.
Patent Information
- Application Number
- CN202510441692.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-09
- Publication Date
- 2025-08-01
AI Technical Summary
The existing application software packaging method relies on static configuration files, which requires a lot of labor costs and manual adjustments during the update process, making it difficult to flexibly meet the needs of users from different channels, and the update efficiency is low.
By collecting user behavior data, analyzing user preference information using a preset preference analysis model, generating current configuration adjustment information, dynamically update application software, and combining automated packaging to generate update files.
It improves the efficiency of application software updates, simplifies the complexity of multi-channel releases, can quickly respond to user and market demands, and improve user experience and market competitiveness.
Smart Images

Figure CN120406977A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of application software optimization, and particularly to a method, device, equipment and storage medium for dynamically updating application software. Background Art
[0002] The packaging of application software is an important link in the software development process. Through the packaging of application software, an application installation package that can be distributed to users can be generated, thereby realizing the update of application software. The existing application software packaging methods rely on static configuration files set in the initial stage of software development.
[0003] However, as the market environment changes more and more frequently, the release channels of application software have gradually increased. When updating application software based on the existing application software packaging methods, developers need to manually adjust the static configuration files maintained separately for each channel. This process not only consumes a large amount of labor costs, but also is affected by manual adjustment errors, making it difficult to flexibly meet the needs of users in different channels, resulting in a low update efficiency of application software. Summary of the Invention
[0004] The main purpose of this application is to provide a method, device, equipment and storage medium for dynamically updating application software, aiming to solve the technical problem that the process of updating application software based on the existing application software packaging methods requires a large amount of labor costs and is affected by manual adjustment errors, thereby resulting in a low update efficiency of application software.
[0005] To achieve the above object, this application proposes a method for dynamically updating application software. This method is applied to the user side and includes:
[0006] Collect user behavior data corresponding to the application software;
[0007] Analyze the user behavior data through a preset preference analysis model to obtain user usage preference information, and generate current configuration adjustment information according to the user usage preference information;
[0008] Update the application software according to the current configuration adjustment information;
[0009] Or, when receiving an update file corresponding to the application software, update the application software according to the update file, and the update file is packaged and generated based on the current configuration adjustment information.
[0010] In addition, to achieve the above object, this application also proposes a device for dynamically updating application software. This device includes:
[0011] A data collection module, configured to collect user behavior data corresponding to the application software;
[0012] A data analysis module, configured to analyze user behavior data through a preset preference analysis model to obtain user usage preference information, and generate current configuration adjustment information according to the user usage preference information;
[0013] A configuration update module, configured to update the application software according to the current configuration adjustment information;
[0014] A version update module, configured to update the application software according to an update file when receiving the update file corresponding to the application software, and the update file is generated by packing based on the current configuration adjustment information.
[0015] In addition, to achieve the above object, the present application further provides a dynamic update device for an application software, and the dynamic update device for the application software includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program is configured to implement the steps of the dynamic update method for the application software as described above.
[0016] In addition, to achieve the above object, the present application further provides a storage medium, and the storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium, and when the computer program is executed by a processor, the steps of the dynamic update method for the application software as described above are implemented.
[0017] In addition, to achieve the above object, the present application further provides a computer program product, and the computer program product includes a computer program, and when the computer program is executed by a processor, the steps of the dynamic update method for the application software as described above are implemented. Description of the Drawings
[0018] The drawings here are incorporated into the description and form a part of the description, showing embodiments consistent with the present application, and are used together with the description to explain the principles of the present application.
[0019] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, for those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0020] Figure 1 It is a schematic flowchart of the first embodiment of the dynamic update method for the application software of the present application;
[0021] Figure 2 It is a schematic flowchart of the second embodiment of the dynamic update method for the application software of the present application;
[0022] Figure 3 It is a system architecture diagram of the application software configuration update of the present application;
[0023] Figure 4 It is a schematic flowchart of the third embodiment of the dynamic update method for the application software of the present application;
[0024] Figure 5 It is a structural block diagram of the first embodiment of the dynamic update device for the application software of the present application;
[0025] Figure 6 It is a schematic structural diagram of the dynamic update device for the application software of the present application.
[0026] The realization of the purpose, functional features and advantages of the present application will be further described with reference to the embodiments and the accompanying drawings. Detailed implementation manners
[0027] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.
[0028] For a better understanding of the technical solutions of the present application, the following will be described in detail in conjunction with the accompanying drawings of the specification and specific implementation manners.
[0029] The main solution of the embodiments of the present application is: collecting user behavior data corresponding to the application software; analyzing the user behavior data through a preset preference analysis model to obtain user usage preference information, and generating current configuration adjustment information according to the user usage preference information; updating the application software according to the current configuration adjustment information; or, when receiving an update file corresponding to the application software, updating the application software according to the update file, and the update file is packaged and generated based on the current configuration adjustment information.
[0030] Currently, in the process of application software development and release, developers need to perform a customization and packaging process for different channels (such as application stores, regional markets, and device types, etc.). The traditional application software packaging method relies on static configuration files. When performing application updates, developers need to manually configure and adjust the static configuration files for each channel separately. This not only increases the workload of developers, but also may lead to inconsistent versions and configuration errors of the application software for each channel, affecting the update efficiency of the application software. In addition, due to the continuous changes in market trends and user requirements, the above traditional method lacks a real-time feedback mechanism for user behavior, and it is difficult for developers to timely understand the usage habits and preferences of users in different channels, thus unable to perform effective configuration optimization and affecting the market competitiveness of the application software.
[0031] The present application provides a method for dynamically updating an application software. By collecting user behavior data to identify the analysis results of the usage preferences of the application software, analyzing the user behavior data through a preset preference analysis model to obtain user usage preference information, and generating current configuration adjustment information according to the user usage preference information to perform dynamic configuration update on the application software. Thus, it can quickly respond to user needs and market changes, improve the user experience and the market competitiveness of the application software. In addition, packaging parameters can be generated according to the current configuration adjustment information to automatically trigger the packaging process, generate an update file to be sent to the user side for application software update, and simplify the complexity of multi-channel publishing. The present application combines the two application software update methods of directly performing configuration update on the application software according to the current configuration adjustment information and performing version update on the application software according to the update file generated according to the current configuration adjustment information, simplifies the application software update process, and improves the application software update efficiency.
[0032] Based on this, an embodiment of the present application proposes a method for dynamically updating an application software, referring to Figure 1 , Figure 1 which is a schematic flowchart of the first embodiment of the method for dynamically updating the application software of the present application. In this embodiment, the method for dynamically updating the application software includes steps S10 to S40:
[0033] Step S10: Collect user behavior data corresponding to the application software.
[0034] It should be noted that the execution subject of this embodiment can be a computing service device with functions of application software operation, network communication, and data processing, such as a smart TV, a smart home device, a tablet computer, a mobile phone, etc., or a dynamic update device of an application software that can implement the above functions as a user side. Hereinafter, taking a smart TV as the user side as an example, this embodiment and the following embodiments will be explained.
[0035] It can be understood that the application software is an application software generated through a packaging process and installed on the user side (smart TV). A user behavior data collection module, such as a lightweight Software Development Kit (SDK), can be embedded in the application software to monitor and record user behavior in real time and obtain user behavior data. Among them, the user behavior data may include: the usage frequency of the application software by the user, function preferences and interaction patterns, geographical location and device information, etc.
[0036] Step S20: Analyze the user behavior data through a preset preference analysis model to obtain user usage preference information, and generate current configuration adjustment information according to the user usage preference information.
[0037] Step S30: Update the application software according to the current configuration adjustment information.
[0038] It can be understood that the preset preference analysis model can be pre-deployed in an intelligent TV (user side) or a cloud server (development side). The preset preference analysis model can be a big data analysis tool (such as the data processing engine Apache Spark) or a neural network model obtained through training based on an open-source machine learning framework (such as the machine learning model TensorFlow).
[0039] It should be noted that the user usage preference information can be the personalized configuration content when the user uses the application software, such as the layout style of the main screen of the application software and the setting of the interface main body; it can also be the user's usage habits of the application software, such as whether to enable the regular sleep function, whether to use the language translation function, etc.
[0040] It should be understood that the current configuration adjustment information can be a configuration adjustment suggestion for adjusting the configuration file of the application program. The determination process of the current configuration adjustment information can include: a data analysis stage and a configuration management stage. Based on different hierarchical design architectures, the above two stages can be executed separately on the user side and the development side, and the development side can be a cloud server with cloud platform computing functions.
[0041] In one implementation, the user side can directly send the user behavior data to the development side. The big data analysis tool (such as the data processing engine Apache Spark) and the preference analysis model (such as the machine learning model TensorFlow) pre-deployed in the development side perform real-time analysis on the user behavior data to obtain the user usage preference information; a configuration management platform can also be deployed in the development side, which is used to generate a configuration adjustment suggestion, that is, the current configuration adjustment information, according to the user usage preference information. The configuration management platform can also manage the configuration file of the application software: communicate with the user side through the API interface, and send the current configuration adjustment information to the user side to implement the configuration update of the application software.
[0042] It should also be noted that the configuration management platform can store the configuration file of the application software based on blockchain technology, record the configuration file after each configuration update on the blockchain, and use version control software (Git) to manage the change history of the configuration file, so as to provide a transparent version history to ensure the security and immutability of the data in the configuration file, and facilitate subsequent traceability and rollback. In addition, the smart contract mechanism can be used to automatically execute the configuration update. Based on the smart contract mechanism, the configuration update can be automatically triggered according to the user behavior data, thus providing automated configuration management to ensure the accuracy and timeliness of the configuration adjustment.
[0043] In another embodiment, a lightweight machine learning model can be deployed in the client, so as to realize the preliminary analysis of user behavior data locally, identify simple user preference behaviors, and obtain local user usage preference information. Then, the client can generate configuration adjustment information according to the local user usage preference information and perform immediate configuration adjustments (such as interface layout and function enabling, etc.). Thereby, the dependence on the cloud server can be reduced, and the response speed of the configuration update of the application software can be improved.
[0044] In another implementation manner, the client and the development end can adopt a distributed data collection architecture to combine the advantages of the client as an edge device and the cloud server: the client can perform a preliminary analysis of user behavior data and then transmit the preliminary analysis result to the development end. An intelligent cooperation engine can be deployed in the development end, which is used to perform a further analysis of user behavior data and combine the preliminary analysis result to dynamically generate the optimal configuration adjustment suggestion, that is, the current configuration adjustment information, and send it to the client for the configuration update of the application software.
[0045] Further, after the configuration update of the application software is completed, in order to implement the closed-loop optimization driven by user feedback, the client can also allow the user to evaluate and give feedback on the application software after configuration update in the user interface to obtain feedback data. So as to optimize the generation process of the configuration adjustment suggestion based on the feedback information and form a closed-loop optimization process. For example, the feedback data can be sent to the development end based on a preset feedback period, so that the development end can optimize the preset preference behavior recognition model according to the feedback information. Thereby ensuring the continuous improvement of the application software, which is beneficial to providing a better user experience and market performance.
[0046] Step S40: When receiving the update file corresponding to the application software, update the application software according to the update file, and the update file is generated by packing based on the current configuration adjustment information.
[0047] It should be noted that although the process of directly performing configuration update on the application software through the current configuration adjustment information can realize the dynamic configuration adjustment of the application software on the client, in some scenarios (such as updating the underlying code of the application software, updating functions, resource trimming, etc.), it is still necessary to repack and generate an update file for the version update of the application software.
[0048] It should be understood that the generation process of the update file can be realized at the development end. The update file can be generated by packing according to the packing parameters corresponding to each channel, and each packing parameter is obtained by updating the initial channel configuration information corresponding to each channel by the current configuration information.
[0049] It should also be noted that when there is a version update requirement for a certain channel, the development side can obtain the version development file for the corresponding channel. This version development file can be a configuration file constructed by developers based on the version update requirement, which can provide packaging parameters for the automated packaging tool to guide the generation of the update file for this channel.
[0050] Specifically, the development side can initialize the packaging parameters according to the version development file, update the packaging parameters with the current registration adjustment information, and automatically trigger the packaging process when the final packaging parameters are obtained to ensure the version quality and stability of the update file corresponding to each channel.
[0051] In this embodiment, by introducing real-time analysis of user behavior data to determine the current configuration adjustment information, the dynamic configuration update of the application software is realized according to the current configuration adjustment information, ensuring that the configuration update can take effect without repackaging, which is beneficial to improving the user experience; and the packaging parameters can also be generated according to the current configuration adjustment information to automatically trigger the packaging process, generate the update file and send it to the user side for application software update, thus simplifying the complexity of multi-channel publishing. Combining the two update methods of application software configuration update and version update, this embodiment can quickly respond to user and market demands and improve the update efficiency of the application software.
[0052] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar content as in the above-mentioned embodiment 1 can be referred to the above introduction and will not be repeated hereinafter. On this basis, please refer to Figure 2 , Figure 2 which is the flowchart of the second embodiment of the dynamic update method of the application software of the present application.
[0053] In this embodiment, in order to specifically illustrate how to collect the behavior data of users, step S10 specifically includes: steps S101 to S104:
[0054] Step S101: In response to the interaction operation of the user on the application software, generate interaction event data through an event listener.
[0055] It should be noted that several behavior recording components are embedded in the application software to monitor and record the behavior of the user on the application software in real time. These behavior recording components can include: event listeners, usage frequency monitors, function usage trackers, location service interfaces, and device information collectors.
[0056] Event listener (EventListener): Used to capture the interaction events of the user (such as clicks, swipes, menu selections).
[0057] Usage Frequency Monitor: Used to record the startup and shutdown times of application software to calculate usage frequency and duration.
[0058] Feature Usage Tracker: Used to monitor the specific functional modules used by users in application software.
[0059] Location Service Interface: Obtain the geographical location information of the user (user authorization required).
[0060] Device Information Collector: Collect basic information of the user's device (such as device model, operating system version, screen resolution).
[0061] In a specific implementation, the user performs interactive operations on the application software, triggering an event listener to generate interactive event data.
[0062] Step S102: Process the interactive event data according to the Usage Frequency Monitor and the Feature Usage Tracker to obtain the processed interactive event data.
[0063] It should be understood that the event listener passes the generated interactive event data to the Usage Frequency Monitor and the Feature Usage Tracker. The Usage Frequency Monitor and the Feature Usage Tracker process the interactive event data to obtain the processed interactive event data and store it in the local database on the user side.
[0064] It should be noted that the local database (LocalDatabase) on the user side can temporarily store the collected data to batch transfer the user behavior data to the development side later, reducing the number of network requests. This local database can use a lightweight database (such as SQLite).
[0065] Step S103: Determine the device location data corresponding to the interactive event data through the Location Service Interface and the Device Information Collector.
[0066] In a specific implementation, the Location Service Interface and the Device Information Collector can determine the device location data corresponding to the generation of the interactive event data and bind it to the interactive event data for storage in the above local database.
[0067] Step S104: Determine the user behavior data according to the processed interactive event data and the device location data.
[0068] It should be noted that the client can extract the above-mentioned processed interaction event data and the corresponding device location data from the local database, and perform compression and encryption processing on them to obtain user behavior data.
[0069] Furthermore, reference can be made here Figure 3 to specifically describe the process of updating the application software configuration of this application. Figure 3 is the system architecture diagram for updating the application software configuration of this application.
[0070] In Figure 3 , it includes: a client installed with application software, a development end with cloud platform computing capabilities, and a connection between the client and the development end based on a communication network.
[0071] In the client, it includes a user behavior data collection module A, a user feedback and optimization module B, and a data cache module C.
[0072] The client realizes data transmission with the development end based on a data transmission module G.
[0073] In the development end, it includes a data analysis and machine learning module D, a dynamic configuration management module E, and a user feedback and optimization module B.
[0074] The user behavior data collection module A is embedded in the application software and is used to collect the user's behavior data in real time, including usage frequency, function preferences, and interaction patterns, etc. This module can be composed of a data collection SDK and a local buffer area. The data collection SDK integrates the data collection function in the application software, and the local buffer area is used to temporarily store data for batch storage.
[0075] The data cache module C is deployed on the client, and it can be a distributed database (such as a NoSQL database), which can be used to store a large amount of user behavior data.
[0076] The data transmission module G is distributed between the client and the development end, and can ensure the security of data during transmission based on the encryption transmission protocol (Transport Layer Security, TLS).
[0077] The data analysis and machine learning module D is deployed on the development end and can perform real-time analysis on user behavior data to identify user preferences and usage patterns. This module can be composed of a data processing engine (such as Apache Spark) and a machine learning model (such as TensorFlow). The data processing engine can be used for large-scale data processing, and the machine learning module can be used for pattern recognition and predictive analysis.
[0078] The dynamic configuration management module E, also deployed on the development side, generates configuration adjustment suggestions based on the preference analysis results. This module can be composed of a configuration management platform and an API interface. The configuration management platform can be used to manage and update the application software configuration files, and the API interface can be used to communicate with the user-side application software and synchronize configuration adjustment suggestions to the user side to achieve real-time configuration updates for the application software.
[0079] User Feedback and Optimization Module B, integrated between the user and development sides, collects user feedback on the adjusted application software to further optimize the generation of configuration adjustment suggestions in the dynamic configuration management module. On the user side, this module can be a feedback collection tool for collecting user feedback; on the development side, it can be a feedback analysis system for analyzing user feedback to optimize the generation of configuration adjustment suggestions.
[0080] In this embodiment, the user end integrates advanced data collection tools to collect user behavior data on the application software, and then sends the user behavior data to the development end for data analysis, identifies user preferences and usage patterns, and obtains current configuration adjustment information; thereby, developers can update the configuration of the user-end application software based on the development end, which is beneficial to the dynamic optimization and personalized service of the application software; and by establishing a user feedback mechanism, user feedback information on the application software after the configuration is updated is collected to further optimize the configuration adjustment strategy, form a closed-loop optimization process, and ensure that the application can be continuously improved.
[0081] Based on the first and second embodiments of the present application, in the third embodiment of the present application, the same or similar contents as those in the first and second embodiments can be referred to above and will not be described in detail. Figure 4 , Figure 4 This is a flow chart of the third embodiment of the dynamic update method of application software of the present application.
[0082] In this embodiment, in order to specifically explain how to generate the current configuration adjustment information, step S20 includes: steps S201 to S203:
[0083] Step S201: When the user behavior data meets the preset data volume condition, the user behavior data is encrypted and transmitted to the development end.
[0084] It should be noted that the preset data volume condition can be the total collected data volume threshold pre-set by the developer based on the total number of user terminals that have installed the application software, or it can be the data volume threshold set for each channel according to the installation volume of the application software under each channel, or it can be the data volume threshold set based on the number of times each user uses the application software.
[0085] In a specific implementation, when the user behavior data collected at the user side exceeds a pre-set data volume threshold, the collected user behavior data can be encrypted and sent to the development side using an encrypted transmission protocol.
[0086] Step S202: Analyze the user behavior data through a pre-set preference analysis model within the development side to obtain user usage preference information.
[0087] It should be noted that after receiving the encrypted and transmitted user behavior data, the development side can decrypt it based on the above encrypted transmission protocol, and then directly input the user behavior data into the pre-set preference analysis model deployed within the development side. This model conducts statistical analysis to obtain the usage preferences of users for the application software under different channels.
[0088] Step S203: Determine several configuration items to be adjusted in the application software according to the user usage preference information, and determine the current configuration adjustment information based on each configuration item to be adjusted.
[0089] It should be understood that since the usage preferences of users for the application software vary across different channels, and the original configuration information corresponding to each channel also varies, it is possible to compare the user preference configuration information with each original configuration information separately under different channels, so as to separately determine the differential adjustment content of the application software under each channel. Therefore, step S203 specifically includes: steps S2031 to S2032:
[0090] Step S2031: Extract the preference information of each channel according to the user preference information, and compare the preference information of each channel with the corresponding original configuration information of the channel respectively.
[0091] Step S2032: Determine several configuration items to be adjusted in the application software under each channel according to the comparison results, and integrate each configuration item to be adjusted to obtain the current configuration adjustment information.
[0092] It should be noted that the channel preference information is the user preference information under different channels, that is, the selection and configuration content of each configuration item in the application software by users under different channels; while the channel original configuration information is the original configuration content of each configuration item in the application software under different channels.
[0093] It can be understood that the above-mentioned configuration items in the application software can be provided for users to modify, and each configuration item can be classified according to its different subordination categories, such as the main screen layout item, the interface theme item, the function module adjustment item, the content recommendation adjustment item, the performance setting item, the privacy setting item, etc.
[0094] Exemplarily, if the iOS channel defines the layout style of the home screen as a grid and the interface theme as a dark mode in the channel preference information; the Android channel defines the layout style of the home screen as a grid and the interface theme as a light mode in the channel preference information. While the iOS channel defines the layout style of the home screen as a list and the interface theme as a dark mode in the channel original configuration information; the Android channel defines the layout style of the home screen as a grid and the interface theme as a dark mode in the channel original configuration information.
[0095] Then, the configuration item to be adjusted corresponding to the iOS channel is the home screen layout item, and the current configuration adjustment information may include: changing the layout style of the home screen to a grid and maintaining the original configuration for the interface theme; the configuration item to be adjusted corresponding to the Android channel is the interface theme item, and the current configuration adjustment information may include: maintaining the original configuration for the layout style of the home screen and changing the interface theme to a dark mode. It can be seen that the current configuration adjustment information corresponding to these two channels may be different.
[0096] Furthermore, considering the current configuration adjustment information generated after analyzing user behavior data, which is mainly for optimizing the functions, interfaces, or content during the application runtime, it can be sent from the development side to the user side to directly update the configuration of the application software, rather than being directly used in the packaging process. And configuration updates are difficult to meet the version update requirements such as adding more functions to the application software or modifying core code. Therefore, after step S2032, it further includes: steps S3001 to S3003:
[0097] Step S3001: In response to the version update requirements of each channel, obtain the corresponding version development file, and compare the version development file with the original version file of the application software to determine several configuration items to be updated for the application software under each channel.
[0098] It should be understood that the version development file can be the updated configuration content of each configuration item in the application software under different channels defined by developers, and the original version file includes the channel original configuration information corresponding to all channels, that is, the original configuration content of each configuration item in the application software under each channel.
[0099] In a specific implementation, perform a differential comparison between the updated configuration content and the original configuration content corresponding to each configuration item under each channel, and determine the configuration items with differences as the configuration items to be updated. The process of this differential comparison can refer to the selected configuration content and the original configuration content corresponding to each configuration item mentioned above, and will not be elaborated here.
[0100] Step S3002: Update the current configuration adjustment information according to each configuration item to be updated, and determine the packaging parameters based on the updated current configuration adjustment information.
[0101] It should be noted that since the previously determined current configuration adjustment information (configuration items to be adjusted) varies in different channels, the updated current configuration adjustment information can be determined based on the configuration items to be updated and each adjustment configuration item; then, the build tools corresponding to each channel are determined, and the packaging parameters for each build tool are generated based on the updated current configuration adjustment information.
[0102] It can be understood that the updated current configuration adjustment information can be represented in the form of a configuration file structure (JSON format), and an example is as follows:
[0103] 1. User Interface Layout (UILayout):
[0104] 1.1 Layout and Theme of the Main Screen (home_screen): Features to be highlighted on the main screen (highlighted_features), layout style (layout_style), such as grid, list; theme of the user interface (theme), such as dark mode.
[0105] 1.2 Navigation Settings (navigation): List of functions for quick access (quick_access), whether to enable gesture controls (gesture_controls)
[0106] 2. Feature Management:
[0107] Currently enabled feature modules (enabled_features) and currently disabled feature modules (disabled_features).
[0108] 3. Content Recommendation:
[0109] Whether to enable personalized recommendations (personalized_feed), type of recommendation algorithm used (recommendation_algorithm), frequency setting of notifications (notification_frequency).
[0110] 4. System Performance:
[0111] System resource allocation settings (resource_allocation), CPU usage priority (cpu_priority), memory usage limit (memory_limit), network optimization settings (network_optimization), whether to enable data compression (data_compression), whether to enable adaptive synchronization (adaptive_sync).
[0112] 5. Privacy Settings (PrivacySettings):
[0113] Data collection settings (data_collection), whether to enable location tracking (location_tracking), whether to collect usage statistics (usage_statistics), data sharing settings (data_sharing), whether to allow third-party access to data (third_party_access).
[0114] It should also be noted that in order to ensure the integrity of the update files of the application software generated by packaging, packaging parameters can also be generated in combination with the core configuration information of the application software. This core configuration information remains consistent across different channels, thus avoiding problems such as abnormal operation of the application software caused by inconsistent configurations. This core configuration information can be standard configuration content that users cannot customize. Exemplarily, this core configuration information can include the following content:
[0115] Channel name (name): Identifies the channel where the application software is released (such as Google Play, App Store, a certain TV manufacturer's channel, etc.).
[0116] Version number (version): Specifies the version number of the application software for this channel.
[0117] Build type (buildType): Such as debug version, release version, etc.
[0118] API interface address (apiEndpoint): Specifies the address of the backend service that the application software for this channel needs to connect to.
[0119] Resource path (resources): Specifies the specific resources required for this channel (such as pictures, language packs, etc.).
[0120] It should also be noted that packaging parameters refer to a series of settings and options passed to the build tool when building (packaging) an application. Packaging parameters are used to customize the packaging process and generate application versions that meet specific requirements. Exemplarily, through packaging parameters, it is possible to define how to set different layout styles, select different resource folders, and configure different API endpoints. Different build tools (such as Gradle, Maven, Xcode, etc.) may support different packaging parameters.
[0121] In a specific implementation, the updated current configuration adjustment information can be determined based on the configuration items to be updated and each configuration item to be adjusted, and packaging parameters suitable for different build tools can be generated in combination with the foregoing core configuration information. For example: In the Android channel, when the build tool selects Gradle, the command-line parameter:. / gradlew assembleRelease - LayoutStyle = Night - PapiEndpoint = https: / / api.example.com can be used to generate packaging parameters.
[0122] Step S2033: Trigger a packaging operation based on the packaging parameters to generate updated files corresponding to the application software under each channel.
[0123] It can be understood that the above packaging process can be integrated into the CI / CD pipeline to ensure that the packaging operation is automatically triggered each time new packaging parameters are generated. And the packaging steps can be defined in the configuration files of CI / CD tools (such as Jenkinsfile, gitlab-ci.yml) to pass packaging parameters in JSON format, thereby automating the build and packaging process.
[0124] It should also be noted that testing and verification steps can also be integrated into the above automated build process to ensure the quality and stability of the updated files for each channel version.
[0125] It should be understood that after the updated files for different channels are generated, the development side can release the updated files through the application stores of the channels. Users can manually download and install the updated files in the application store to implement the version update of the application software; or, the user side can be set to automatically obtain the updated files when it detects that there are updated files for the application software to implement the version update of the application software.
[0126] This embodiment supports the automated packaging and release of multi-channel application software. Specifically, based on JSON, the packaging process of the new version of the application software is divided into multiple nodes for configurable settings. Developers can use a unified JSON format to store the current configuration adjustment information without separately maintaining multiple current configuration adjustment information for each channel. At the same time, common CI / CD tools can be integrated within the development side. Thus, when parsing the current configuration adjustment information to generate new packaging parameters, the updated files corresponding to each channel are generated through an automated build process and sent to the user side, and developers do not need to manually adjust the build parameters. This ensures the quality and stability of the updated files for each channel and simplifies the complexity of multi-channel release.
[0127] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the method for dynamically updating the application software of this application. Based on this technical concept, more forms of simple transformations are within the protection scope of this application.
[0128] In addition, this application also provides a device for dynamically updating application software. Refer to Figure 5 , Figure 5 which is the structural block diagram of the first embodiment of the device for dynamically updating the application software of this application; as Figure 5 shown, the device includes:
[0129] A data acquisition module 501, configured to acquire user behavior data corresponding to the application software;
[0130] A data analysis module 502, configured to analyze the user behavior data through a preset preference analysis model to obtain user usage preference information, and generate current configuration adjustment information according to the user usage preference information;
[0131] A configuration update module 503, configured to update the application software according to the current configuration adjustment information;
[0132] A version update module 504, configured to update the application software according to the update file when receiving the update file corresponding to the application software, and the update file is packaged and generated based on the current configuration adjustment information.
[0133] In one embodiment, the data collection module 501 is further configured to generate interaction event data through an event listener in response to a user's interaction operation on the application software; process the interaction event data according to the usage frequency monitor and the function usage tracker to obtain the processed interaction event data; determine the device location data corresponding to the interaction event data through the location service interface and the device information collector; and determine the user behavior data according to the processed interaction event data and the device location data. Among them, several behavior recording components are built into the application software, and the behavior recording components include: an event listener, a usage frequency monitor, a function usage tracker, a location service interface, and a device information collector.
[0134] In one embodiment, the data analysis module 502 is further configured to encrypt and transmit the user behavior data to the development end when the user behavior data meets the preset data volume condition; analyze the user behavior data through a preset preference analysis model in the development end to obtain the user usage preference information; determine several configuration items to be adjusted in the application software according to the user usage preference information, and determine the current configuration adjustment information according to each configuration item to be adjusted.
[0135] In one embodiment, the data analysis module 502 is further configured to extract the channel preference information according to the user preference information, and compare each channel preference information with the corresponding original channel configuration information respectively; determine several configuration items to be adjusted for the application software under each channel according to the comparison result, and integrate each configuration item to be adjusted to obtain the current configuration adjustment information.
[0136] In one embodiment, the data analysis module 502 is further configured to, in response to the version update requirements of each channel, obtain the corresponding version development file, compare the version development file with the original version file of the application software, and determine several configuration items to be updated for the application software under each channel; update the current configuration adjustment information according to each configuration item to be updated, and determine the packaging parameters based on the updated current configuration adjustment information; trigger a packaging operation based on the packaging parameters to generate the updated files corresponding to the application software under each channel.
[0137] In one embodiment, the data analysis module 502 is further configured to determine the updated current configuration adjustment information according to the configuration items to be updated and each configuration item to be adjusted; determine the build tools corresponding to each channel, and generate the packaging parameters corresponding to each build tool according to the updated current configuration adjustment information
[0138] In one embodiment, the configuration update module 503 is further configured to obtain the feedback information of the user on the updated application software; encrypt and transmit the feedback information to the development end based on a preset feedback period.
[0139] In this embodiment, the current configuration adjustment information is determined by introducing real-time analysis of user behavior data, so as to realize the dynamic configuration update of the application software according to the current configuration adjustment information, ensuring that the configuration update can take effect without repackaging, which is beneficial to improving the user experience; and the packaging parameters can also be generated according to the current configuration adjustment information to automatically trigger the packaging process, generate the update file and send it to the user side for application software update, thus simplifying the complexity of multi-channel release. Combining the two update methods of application software configuration update and version update, this embodiment can quickly respond to user and market demands and improve the update efficiency of application software.
[0140] The present application also provides a dynamic update device for an application software. The dynamic update device for an application software includes: 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 execute the dynamic update method of the application software in the first embodiment above.
[0141] Next, refer to Figure 6 , Figure 6 , which is a schematic structural diagram of the dynamic update device for the application software of the present application. The dynamic update device for the application software in the embodiments of the present application may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions: tablet computers), PMPs (Portable Media Players), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 6 The shown dynamic update device for the application software is only an example and should not impose any limitations on the functions and usage scope of the embodiments of the present application.
[0142] Such as Figure 6As shown, the dynamic update device of the application software may include a processing device 1001 (such as a central processing unit, a graphics processing unit, etc.), which may perform various appropriate actions and processes according to the program stored in the read-only memory (ROM: Read Only Memory) 1002 or the program loaded from the storage device 1003 into the random access memory (RAM: Random Access Memory) 1004. In the RAM 1004, various programs and data required for the operation of the dynamic update device of the application software are also stored. The processing device 1001, the ROM 1002, and the RAM 1004 are connected to each other through a bus 1005. The input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems may be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 may allow the dynamic update device of the application software to communicate with other devices wirelessly or wiredly to exchange data. Although the figure shows a dynamic update device of the application software with various systems, it should be understood that it is not required to implement or have all the shown systems. Instead, more or fewer systems may be implemented or had.
[0143] In addition, the present application also provides a computer-readable storage medium having computer-readable program instructions (i.e., computer programs) stored thereon, and the computer-readable program instructions are used to execute the dynamic update method of the application software in the above embodiments.
[0144] The computer-readable storage medium provided by this application can be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or components, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM) or flash memory, optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In this embodiment, the computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, device, or component. The program code contained on the computer-readable storage medium can be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0145] In addition, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the dynamic update method of the application software as described above.
[0146] The computer program product provided by this application can solve the technical problem of how to improve the efficiency of dynamically updating application software in a system. Compared with the prior art, the beneficial effects of the computer program product provided by this application are the same as those of the dynamic update method of the application software provided in the above embodiment, and will not be elaborated here.
[0147] It should be noted that in this article, the term "including", "comprising", or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article, or system including a series of elements not only includes those elements, but also includes other elements not explicitly listed, or further includes elements inherent to such a process, method, article, or system. Without further limitations, an element defined by the statement "including one..." does not exclude the existence of additional elements in the process, method, article, or system that includes the element.
[0148] The serial numbers of the embodiments of the present invention above are only for description and do not represent the advantages or disadvantages of the embodiments. Moreover, they are only some embodiments of the present application and do not limit the patent scope of the present application. Any equivalent structural transformation made by using the content of the specification and drawings of the present application under the technical concept of the present application, or any direct / indirect application in other related technical fields is included in the patent protection scope of the present application.
Claims
1. A dynamic update method for an application software, characterized in that, The method includes: Collecting user behavior data corresponding to the application software; Analyzing the user behavior data through a preset preference analysis model to obtain user usage preference information, and generating current configuration adjustment information according to the user usage preference information; Updating the application software according to the current configuration adjustment information; Or, when receiving an update file corresponding to the application software, updating the application software according to the update file, where the update file is generated by packing based on the current configuration adjustment information.
2. The method according to claim 1, characterized in that, A number of behavior recording components are built into the application software, and the behavior recording components include: an event listener, a usage frequency monitor, a function usage tracker, a location service interface, and a device information collector; The step of collecting user behavior data corresponding to the application software includes: In response to a user's interaction operation on the application software, generating interaction event data through the event listener; Processing the interaction event data according to the usage frequency monitor and the function usage tracker to obtain processed interaction event data; Determining device location data corresponding to the interaction event data through the location service interface and the device information collector; Determining user behavior data according to the processed interaction event data and the device location data.
3. The method according to claim 1, wherein The step of analyzing the user behavior data through a preset preference analysis model to obtain user usage preference information, and generating current configuration adjustment information according to the user usage preference information includes: When the user behavior data meets a preset data volume condition, encrypting and transmitting the user behavior data to the development end; Analyzing the user behavior data through a preset preference analysis model in the development end to obtain user usage preference information; Determining a number of configuration items to be adjusted in the application software according to the user usage preference information, and determining current configuration adjustment information according to each of the configuration items to be adjusted.
4. The method according to claim 3, characterized in that, The step of determining a number of configuration items to be adjusted in the application software according to the user usage preference information, and determining current configuration adjustment information according to each of the configuration items to be adjusted includes: Extracting each channel preference information according to the user preference information, and comparing each of the channel preference information with the corresponding channel original configuration information; Determining a number of configuration items to be adjusted for the application software under each channel according to the comparison result, and integrating each of the configuration items to be adjusted to obtain current configuration adjustment information.
5. The method according to claim 4, characterized in that, After the step of obtaining the current configuration adjustment information, it further includes: In response to the version update requirements of each channel, obtaining the corresponding version development file, and comparing the version development file with the original version file of the application software to determine a number of configuration items to be updated for the application software under each channel; Updating the current configuration adjustment information according to each of the configuration items to be updated, and determining packaging parameters based on the updated current configuration adjustment information; Triggering a packaging operation based on the packaging parameters to generate an update file corresponding to the application software under each channel.
6. The method according to claim 5, characterized in that The step of updating the current configuration adjustment information according to each of the to-be-updated configuration items and generating packaging parameters based on the updated current configuration adjustment information includes: Determining the updated current configuration adjustment information according to the to-be-updated configuration items and each of the to-be-adjusted configuration items; Determining the build tools corresponding to each channel and generating packaging parameters corresponding to each of the build tools according to the updated current configuration adjustment information.
7. The method according to claim 3, characterized in that After the step of updating the application software according to the current configuration adjustment information, the following is further included: Obtaining feedback information of the user on the updated application software; Based on a preset feedback period, encrypting and transmitting the feedback information to the development end.
8. A dynamic update device for an application software, characterized in that The device includes: A data collection module, configured to collect user behavior data corresponding to the application software; A data analysis module, configured to analyze the user behavior data through a preset preference analysis model to obtain user usage preference information, and generate current configuration adjustment information according to the user usage preference information; A configuration update module, configured to update the application software according to the current configuration adjustment information; A version update module, configured to update the application software according to the update file when receiving the update file corresponding to the application software, and the update file is generated by packaging based on the current configuration adjustment information.
9. A dynamic update device for an application software, characterized in that The device includes: a memory, a processor, and a dynamic update program of the application software stored on the memory and executable on the processor, and the dynamic update program of the application software is configured to implement the steps of the dynamic update method of the application software according to any one of claims 1 to 8.
10. A storage medium, characterized in that, A dynamic update program of the application software is stored on the storage medium, and when the dynamic update program of the application software is executed by a processor, the steps of the dynamic update method of the application software according to any one of claims 1 to 8 are implemented.