Computer control method
The computer control method addresses user interruptions and inefficiencies in software updates by analyzing user interaction logs to determine optimal update times and executing incremental updates during inactive periods, enhancing security and user satisfaction.
Patent Information
- Application Number
- CN202411251438.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-07
- Publication Date
- 2024-12-13
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing software update mechanisms interrupt users during critical moments, lack personalization, and require manual intervention, leading to inefficiency, security risks, and user resistance due to frequent updates.
A computer control method that collects user interaction logs to determine software updates, analyzes update time windows, performs binary differential analysis, and executes incremental updates during inactive periods, optimizing network resource utilization and personalizing the update process.
The method reduces user interruptions, enhances security, improves update efficiency, and increases user satisfaction by automating updates during inactive times, ensuring timely and intelligent software updates.
Smart Images

Figure CN119127273A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a computer control method. Background Art
[0002] In modern computer use, software updates are an inevitable process, which is essential to ensure the security, functionality and compatibility of software. However, the existing software update mechanism often prompts users to update through pop-up windows when users need to use the software the most, which not only interrupts the user's normal work flow, but also seriously affects the user experience.
[0003] In current software update practices, users often encounter update prompts at critical moments. This design flaw forces users to choose between continuing to use the old version of the software and waiting for the update to complete. This update mechanism lacks flexibility because it does not take into account the user's actual usage scenarios and urgency, causing unnecessary interruptions when users need to work continuously. In addition, the software update process usually requires manual intervention from users, including steps such as downloading, installing, and restarting. These steps are not only time-consuming, but also difficult for non-technical users to operate. In some cases, users choose to postpone updates because they are not familiar with the update process, which not only affects the timely update of the software, but also exposes the computer system to security risks. Another problem with software updates is the frequency of updates. As software functions continue to increase and improve, updates become more and more frequent, which requires users to continuously invest time and energy to deal with updates. Such frequent updates not only increase the burden on users, but also cause users to resist updates, thereby ignoring the importance of updates.
[0004] Finally, existing software update mechanisms often lack personalization and intelligence. Update prompts are usually one-size-fits-all, without considering the specific needs and usage habits of different users. This lack of personalized update strategy not only reduces the efficiency of updates, but also causes users to be forced to interrupt their work when they do not need to update, thereby reducing overall user satisfaction. Summary of the invention
[0005] Based on this, it is necessary for the present invention to provide a computer control method to solve at least one of the above technical problems.
[0006] To achieve the above object, a computer control method comprises the following steps:
[0007] Step S1: collecting the user software interaction behavior log of the computer to obtain the user software interaction behavior log; determining the software to be updated on the computer according to the user software interaction behavior log to obtain a list of software to be updated;
[0008] Step S2: performing update time window analysis on the list of software to be updated based on the user software interaction behavior log to obtain a software update time window list;
[0009] Step S3: Download the target version software package from the list of software to be updated to obtain a target update software package resource pool;
[0010] Step S4: collecting metadata of the current version of the software package on the list of software to be updated to obtain a current software package version data set; performing binary differential analysis on the list of software to be updated based on the target update software package resource pool and the current software package version data set to obtain a software incremental update file difference set;
[0011] Step S5: performing incremental update execution on the list of software to be updated based on the software incremental update file difference set and the software update time window list to obtain a software update completion status report.
[0012] The present invention significantly improves the user experience through intelligent software update strategy, automatically performs updates during the user's inactive time period, avoids disturbing the user at critical or busy moments, and thus ensures the continuity and comfort of the user when using the computer. In addition, the present invention enables users to focus more on the task at hand by reducing interruptions in the workflow. The automated update process simplifies the previous cumbersome manual operations, reduces the difficulty of use for non-technical users, and also enhances the security of the system, ensures the timely update of the software, and reduces security risks. Through binary differential analysis, the method only downloads and installs the changed parts in the software update, effectively improves the update efficiency and reduces the consumption of network bandwidth and storage space. The personalized update strategy and optimized network resource utilization further reflect the intelligence of the method, and reduce the pressure on the network bandwidth by determining the best update time and order according to the user's software interaction behavior and usage habits. Finally, by updating during the user's inactive time period, the present invention improves the stability of the system and improves the user's satisfaction with the software update process, and realizes an efficient, intelligent and user-friendly software update experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Other features, objects and advantages of the present invention will become more apparent from the detailed description of non-limiting embodiments thereof made with reference to the following drawings:
[0014] Figure 1 A schematic flow chart of the steps of a computer control method according to an embodiment is shown.
[0015] Figure 2 A detailed flow chart of step S2 of an embodiment is shown.
[0016] Figure 3A detailed flow chart of step S26 of an embodiment is shown. DETAILED DESCRIPTION
[0017] The technical method of the present invention is described clearly and completely below in conjunction with the accompanying drawings. Obviously, the described embodiments are 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 technicians in this field without creative work are within the scope of protection of the present invention.
[0018] In addition, the accompanying drawings are only schematic illustrations of the present invention and are not necessarily drawn to scale. The same reference numerals in the figures represent the same or similar parts, and their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities and do not necessarily correspond to physically or logically independent entities. The functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different network and / or processor methods and / or microcontroller methods.
[0019] It should be understood that, although the terms "first", "second", etc. may be used herein to describe various units, these units should not be limited by these terms. These terms are used only to distinguish one unit from another unit. For example, without departing from the scope of the exemplary embodiments, the first unit may be referred to as the second unit, and similarly the second unit may be referred to as the first unit. The term "and / or" used herein includes any and all combinations of one or more of the listed associated items.
[0020] To achieve this, please refer to Figures 1 to 3 The present invention provides a computer control method, comprising the following steps:
[0021] Step S1: collecting the user software interaction behavior log of the computer to obtain the user software interaction behavior log; determining the software to be updated on the computer according to the user software interaction behavior log to obtain a list of software to be updated;
[0022] Step S2: performing update time window analysis on the list of software to be updated based on the user software interaction behavior log to obtain a software update time window list;
[0023] Step S3: Download the target version software package from the list of software to be updated to obtain a target update software package resource pool;
[0024] Step S4: collecting metadata of the current version of the software package on the list of software to be updated to obtain a current software package version data set; performing binary differential analysis on the list of software to be updated based on the target update software package resource pool and the current software package version data set to obtain a software incremental update file difference set;
[0025] Step S5: performing incremental update execution on the list of software to be updated based on the software incremental update file difference set and the software update time window list to obtain a software update completion status report.
[0026] The present invention significantly improves the user experience through intelligent software update strategy, automatically performs updates during the user's inactive time period, avoids disturbing the user at critical or busy moments, and thus ensures the continuity and comfort of the user when using the computer. In addition, the present invention enables users to focus more on the task at hand by reducing interruptions in the workflow. The automated update process simplifies the previous cumbersome manual operations, reduces the difficulty of use for non-technical users, and also enhances the security of the system, ensures the timely update of the software, and reduces security risks. Through binary differential analysis, the method only downloads and installs the changed parts in the software update, effectively improves the update efficiency and reduces the consumption of network bandwidth and storage space. The personalized update strategy and optimized network resource utilization further reflect the intelligence of the method, and reduce the pressure on the network bandwidth by determining the best update time and order according to the user's software interaction behavior and usage habits. Finally, by updating during the user's inactive time period, the present invention improves the stability of the system and improves the user's satisfaction with the software update process, and realizes an efficient, intelligent and user-friendly software update experience.
[0027] In this embodiment, first, a log collection tool (such as Logstash or a custom script) is used to collect user software interaction behavior logs on the computer. These tools can monitor and record every interaction between the user and the software, including events such as startup, use of specific functions and shutdown, so as to obtain a user software interaction behavior log. Next, a data analysis software (such as a Python script with a Pandas library) is used to analyze the user software interaction behavior log to determine which software needs to be updated. By setting specific rules (for example, the software version lags behind the latest version by a certain time or version number), the software to be updated can be identified and a list of software to be updated can be generated. Then, a time series analysis tool (such as the Statsmodels library of R language or Python) is used to perform an update time window analysis on the list of software to be updated based on the user software interaction behavior log. This step involves a statistical analysis of user usage patterns to determine the least active time period for the user, so as to obtain a list of software update time windows. Subsequently, a software package management tool (such as APT for Linux or Windows UpdateClient) is used to download the target version software package for the list of software to be updated. These tools can automatically access the software update server, download the latest software package, and store the downloaded software package in the target update software package resource pool. At the same time, metadata extraction tools (such as custom scripts or built-in functions of the package manager) are used to collect the metadata of the current version of the software list to be updated to obtain the current software package version data set. These metadata include the current version number of the software, file list and other important information. Next, binary difference tools (such as BSDiff or XDelta) are used to perform binary difference analysis on the software list to be updated based on the target update software package resource pool and the current software package version data set. This step generates an incremental update file difference set containing only the changed parts by comparing the binary files of the new and old software packages to reduce the amount of data required for the update. Finally, an automated update execution tool (such as Ansible or Puppet) is used to perform incremental update execution jobs on the software list to be updated based on the software incremental update file difference set and the software update time window list. These tools can automatically apply the incremental update file difference set to the user's computer within the predetermined time window to complete the software update. After the update is completed, these tools will generate a software update completion status report, recording the update results of each software, including the successfully updated software and any problems encountered.
[0028] Preferably, step S1 comprises the following steps:
[0029] Step S11: Collect the software directory of the computer to obtain a computer software directory list;
[0030] Specifically, this can be done by querying the operating system's registry (for Windows systems) or using specific command line tools (such as using the dpkg or rpm command in Linux systems). System administrators or software can run a script to automate this query process, which lists all installed software packages and their version information. This list includes the software's name, version number, release date, and developer information. After the script is executed, a detailed computer software directory list will be generated.
[0031] Step S12: collecting the user software interaction behavior log of the computer according to the computer software directory list to obtain the user software interaction behavior log;
[0032] Specifically, based on the computer software catalog list, we can start collecting logs of users' interaction with these software. This can be done by installing a logging agent or service in the operating system, which monitors the user's various operations on the software, such as starting, shutting down, using specific functions, etc. The logging agent sets a series of event triggers, and when the user interacts with the software, these triggers will generate log entries containing timestamps, user IDs, software names, and interaction types. These log entries will be collected and stored in a central log database, and finally the user software interaction behavior log will be obtained.
[0033] Step S13: constructing a software version usage trajectory for the computer software directory list according to the user software interaction behavior log to obtain a software version usage trajectory data set, wherein the software version usage trajectory data set includes a plurality of software version usage trajectory data;
[0034] Specifically, the entries in the database where the user software interaction behavior log is located can be read, and the data can be classified according to the software name and version number. For each software version, the program will track its usage pattern, including the most frequently used functions, usage frequency, duration of each use, etc. This information will be integrated into a software version usage trajectory dataset, where each data point represents the usage of a specific software version by a user or a group of users.
[0035] Step S14: collecting software update package download addresses from the computer software directory list to obtain a software update package address set;
[0036] Specifically, the official website or configured update server of each software in the computer software directory list can be accessed to query the download link of the latest update package corresponding to the version in the software directory list. The script uses HTTP requests to obtain the update information page of the software, and then parses these pages to find the download link. In addition, the script can also check the version information files of the software (such as Appcasts, RSS feeds, or version check files in a specific format), which contain the download link of the latest version. Once these links are found, the script will associate them with the corresponding software entries and store them in the software update package address set.
[0037] Step S15: collecting the latest software version numbers of the computer software directory list based on the software update package address set to obtain the latest software version number set, wherein the latest software version number set includes a plurality of latest software version numbers;
[0038] Specifically, you can write a version checker to collect the latest software version number. The checker will traverse each download address in the software update package address set and download the corresponding update metadata. Metadata usually contains the latest version number of the software and other related information, such as release notes, file size, and update date. The version checker will parse these metadata, extract the latest version number, and match it with the corresponding software entry in the software directory list. After a successful match, the system will update the version information in the software directory list, or create a new latest software version number set that contains the latest version numbers of all software.
[0039] Step S16: Based on the computer software directory list and the software version usage trajectory data set and the latest software version number set, the software to be updated is determined for the computer to obtain a list of software to be updated.
[0040] Specifically, please refer to the sub-steps of step S16 for the detailed implementation process of this embodiment.
[0041] The present invention realizes comprehensive identification of software update requirements by comprehensively collecting computer software catalogs and user interaction behavior logs, ensuring that the update process is not missed. By accurately constructing the software usage trajectory, detailed data support is provided for update decisions, making updates more accurate and efficient. At the same time, by automatically collecting the update package download address and the latest version number, not only the efficiency of resource acquisition is improved, but also by intelligently analyzing software usage and version information, the update decision is optimized, user intervention is reduced, and the success rate of the update is improved. In addition, the present invention enhances the stability of the system by reducing unnecessary updates, and improves user satisfaction by reducing interference with users. More importantly, the present invention supports the customization of personalized update strategies according to user behavior, meets the specific needs of different users, and makes software updates more humane and intelligent.
[0042] Preferably, step S16 comprises the following steps:
[0043] Step S161: performing version number bounce detection on the software version usage trajectory dataset to obtain a version number bounce detection dataset, wherein the version number bounce detection dataset includes a plurality of version number bounce detection data;
[0044] Specifically, the software version usage trajectory dataset can be analyzed to detect whether there is a version number bounce. Version number bounce refers to a situation where a user rolls back from using a newer version of the software to an older version. To do this, the system runs a special detection algorithm that identifies all events that show a version number drop. For example, if a user first used version 2.3, and then the log shows that they used version 2.2, this would be marked as a bounce event. The system records all these bounce events and generates a version number bounce detection dataset, which contains detailed information about each bounce, such as the name of the software involved, the original version number, the version number to which it bounced back, and the time when the bounce occurred. This
[0045] Step S162: If the version number bounce detection data indicates that there is a version bounce in the software usage, then the corresponding software version usage trajectory data is subjected to bounce version number statistics to obtain bounce version number distribution data, and the final bounce version number is extracted from the bounce version number distribution data to obtain the final bounce version number;
[0046] Specifically, once a version number bounce is detected, these events are further analyzed. Specifically, all bounced version numbers of each software are counted to determine which old versions are frequently rolled back to. This can be achieved by querying the version number bounce detection dataset and counting each bounced version number of each software. After the statistics are completed, the data is analyzed to identify the version number that is most frequently rolled back to, that is, the final bounced version number.
[0047] Step S163: extracting the current software version number from the corresponding software version usage trajectory data according to the version number bounce detection data to obtain the current software version number;
[0048] Specifically, based on the version number bounce detection data, the corresponding software version usage trajectory data is analyzed to extract the current software version number. This involves reviewing the log entries of each software to determine the version number that the user finally stably uses after the bounce event occurs. For example, if the user rolls back from version 2.3 to version 2.2 and has been using 2.2 since then, 2.2 will be considered the current version number in use. The system will record this information and update the software version usage trajectory dataset to reflect the version that the user is actually currently using.
[0049] Step S164: If the final bounce version number is the same as the currently used version number or the currently used version number is the same as the corresponding latest software version number, extract the software name from the version number bounce detection data to obtain the first software name data, and mark the first software name data as not requiring an update to obtain the software name data not requiring an update;
[0050] Specifically, check whether the final bounce version number is the same as the currently used version number, or whether the currently used version number is the same as the latest version of the software. If it is found that the final bounce version number is the same as the currently used version number, or the user is currently using the latest version, it is considered that the software does not need to be updated. Next, the names of these software are extracted from the version number bounce detection data set to generate the first software name data. These name data will then be marked as "no need to update status" to create software name data that does not need to be updated. This marking process can be achieved by updating the software record in the database, where the "update status" field is set to "no need to update".
[0051] Step S165: if the version number bounce detection data indicates that there is no version bounce in the software usage, extract the software name from the version number bounce detection data to obtain second software name data, and mark the second software name data as requiring an update to obtain software name data requiring an update;
[0052] Specifically, the version number bounce detection data can be analyzed to determine which software has not experienced version bounce. This can be done by checking the records in the software usage trajectory data set to find those software that do not show a version number drop. For these software, their names are extracted from the version number bounce detection data set to generate second software name data. Then, these name data will be marked as "need to be updated" to create software name data that need to be updated. This marking can be achieved by adding a special mark to the records of these software in the database or updating the "update status field to" need to be updated.
[0053] Step S166: Classify the software update status of the computer software directory list according to the software name data that does not need to be updated and the software name data that needs to be updated to obtain a software list to be updated.
[0054] Specifically, the computer software catalog list can be classified according to the name data of the software that does not need to be updated and the name data of the software that needs to be updated. This process involves matching the name of each software with its update status and updating their "update status" accordingly in the software catalog list. For example, two sublists can be created: one contains all the software marked as "do not need to be updated", and the other contains all the software marked as "need to be updated". These sublists will constitute the list of software to be updated, which will be used to guide the subsequent software update process.
[0055] The present invention significantly improves the accuracy and efficiency of software updates through detailed version number bounce detection and intelligent software update status classification, thereby optimizing resource allocation, ensuring that resources can be concentrated on software that really needs to be updated, reducing unnecessary update operations, and thus reducing the frequency and complexity of updates. This method enhances users' trust in the intelligent management of software updates, reduces users' doubts and resistance, and improves the stability and reliability of the system because unnecessary updates to software that is running stably are avoided. User intervention is reduced through automated version detection and status classification processes, allowing users to focus more on their work without having to worry about the timing and necessity of updates. In addition, the speed of update decision-making and execution is accelerated through accurate update status classification, supporting effective update management in a complex use environment with multiple software and multiple versions. By reducing unnecessary updates and ensuring the timeliness of updates, users enjoy a smoother and worry-free software use experience, improving user satisfaction.
[0056] Preferably, step S2 comprises the following steps:
[0057] Step S21: Screening the target software logs from the user software interaction behavior logs according to the list of software to be updated to obtain the software interaction logs to be updated;
[0058] Specifically, the software names or identifiers can be extracted from the list of software to be updated. Then, this information is used to filter the entries in the user software interaction behavior log related to these software to be updated. This can be achieved by querying the log database, where the system performs a search operation to retrieve all log entries that mention the software to be updated. The search results will include detailed records of the user's interaction with these software, such as operation type, timestamp, and duration. These filtered log entries will be organized into the interaction logs of the software to be updated.
[0059] Step S22: performing software usage time distribution statistics on the interaction log of the software to be updated to obtain a software usage time distribution data set;
[0060] Specifically, the interaction logs of the software to be updated can be analyzed to count the usage time distribution of each software. This involves timestamp analysis of each entry in the log to determine the time period of the day when the software is used. Divide a day into several time periods (such as morning, afternoon, and evening), and then calculate the usage frequency of each software in each time period. These statistical data will be organized into a software usage time distribution dataset, which contains the usage of each software to be updated in different time periods.
[0061] Step S23: calculating the average software usage time of the list of software to be updated based on the software usage time distribution data set to obtain a software average usage time data set;
[0062] Specifically, the average usage time of each software to be updated can be calculated based on the software usage time distribution dataset. This can be achieved by summing the duration of all usage sessions of each software and then dividing it by the number of sessions. A usage time list is maintained for each software, and this list is updated in real time to reflect the latest usage data. The calculated average usage time will be recorded in the software average usage time dataset. This dataset will contain the average usage time of each software to be updated.
[0063] Step S24: performing usage density evaluation on the list of software to be updated according to the software usage time distribution data set and the software average usage duration data set to obtain a software usage density evaluation data set;
[0064] Specifically, the usage intensity of each software to be updated can be evaluated in combination with the software usage time distribution dataset and the software average usage time dataset. First, analyze the usage frequency of the software in different time periods and the average duration of each use to determine the user's usage pattern of each software. For example, calculate the usage frequency of each software during peak usage hours (such as daytime on weekdays) and compare it with the usage frequency during non-peak hours (such as night or weekends). Based on these analyses, assign a usage intensity score to each software, which reflects the importance and frequency of use of the software in the user's daily work. The usage intensity scores of all software will be aggregated into a software usage intensity evaluation dataset, which will be used to guide the subsequent selection of update time windows.
[0065] Step S25: extracting the non-intensive use time period from the list of software to be updated according to the software use density evaluation data set, to obtain a software non-intensive use time period data set;
[0066] Specifically, the software usage intensity assessment dataset can be used to identify the non-intensive usage time period for each software to be updated. Look for time periods with low usage frequency and short average usage time. These time periods are considered to be better times for software updates because they have the least impact on users. For example, if the usage frequency of a software between 9 pm and 7 am is significantly lower than that during the day, then this time period will be marked as a non-intensive usage time period. Identify such time periods for each software and aggregate the information of these time periods into a software non-intensive usage time period dataset. This dataset will contain the non-intensive usage time periods for each software.
[0067] Step S26: performing update time window analysis on the list of software to be updated based on the user software interaction behavior log and the software non-intensive use time period data set to obtain a software update time window list.
[0068] Specifically, please refer to the sub-steps of step S26 for the detailed implementation process of this embodiment.
[0069] The present invention provides a solid data foundation for time window analysis by accurately screening the interaction logs of the software to be updated, thereby comprehensively counting the usage time distribution of the software, accurately calculating the average usage time, and deeply evaluating the usage intensity of the software. This method not only intelligently extracts non-intensive usage time periods and optimizes the update time window analysis, but also ensures that the update operation is performed during the user's inactive period, minimizing interference with the user's work. In addition, the present invention improves the timeliness and success rate of updates, enhances user experience, improves system stability, supports large-scale software management, and provides an efficient and intelligent software update strategy, which significantly reduces the burden of management work.
[0070] Preferably, step S26 comprises the following steps:
[0071] Step S261: Calculate the software usage frequency of the user software interaction behavior log to obtain a software usage frequency data set, and cluster the software usage time period of the user software interaction behavior log to obtain a software usage time period clustering data set;
[0072] Specifically, the user software interaction behavior log can be analyzed to calculate the usage frequency of each software. This can be done by counting the number of times each software is started or interacted within a specific time period (such as a day, a week, or a month). Use database queries or data analysis scripts to process the log data and record the number of times each software is used. Next, the data is clustered into time periods, that is, the user's interaction behavior is grouped in chronological order to identify the typical time period when the user uses the software. For example, it is found that a certain software is used more frequently between 9 am and 5 pm on weekdays, and is used less frequently in the evening and on weekends. This information will be organized into two data sets: a software usage frequency data set and a software usage time period clustering data set.
[0073] Step S262: performing a non-intensive use time period matching operation on the software use frequency dataset, the software use time period clustering dataset, and the software non-intensive use time period dataset to obtain a software use sparse interval matching dataset;
[0074] Specifically, the software usage frequency dataset, the software usage time period clustering dataset, and the software non-intensive usage time period dataset can be combined to identify the intervals where the software is sparsely used. The usage pattern of each software is analyzed and compared with the known non-intensive usage time period to find the time period with lower usage frequency. For example, if a software is less frequently used at night, and this time period has been marked as a non-intensive usage time period, then this time period is considered suitable for updating. A series of matching operations are performed to match the software usage pattern with the non-intensive usage time period, thereby generating a software usage sparse interval matching dataset. This dataset will contain the non-intensive usage time period for each software, providing a basis for determining potential update time windows.
[0075] Step S263: Preliminary screening of potential update time windows of the list of software to be updated is performed based on the software usage sparse interval matching data set to obtain a preliminary update time window data set;
[0076] Specifically, the software usage sparse interval matching dataset can be used to preliminarily screen out time windows suitable for updates. The non-intensive usage time period of each software is analyzed, and other factors such as the software update size, expected update time, and user usage habits are considered to determine the best update time window. For example, choose to update during the time period when users do not use a large software to reduce the impact on users. Generate a preliminary update time window dataset for each software to be updated, which contains the recommended update time period.
[0077] Step S264: performing software usage conflict detection on the preliminary update time window data set according to the user software interaction behavior log to obtain a software update time conflict detection data set;
[0078] Specifically, user-software interaction behavior logs can be used to detect potential conflicts in the preliminary update time window dataset. This process involves analyzing the user's interaction behavior with the software to ensure that the selected update time window does not overlap with the time period when the user is highly active. Each software usage event recorded in the log is checked and compared with the preliminary determined update time window. If user interaction behavior is detected during the scheduled update time, this indicates that there is a conflict because the user is currently using the software and updating at this time will interrupt their workflow. These potential conflicts are recorded and a software update time conflict detection dataset is generated, which contains all detected conflict events and related information.
[0079] Step S265: removing conflicting time periods from the preliminary update time window data set according to the software update time conflict detection data set to obtain an optimized update time window data set;
[0080] Specifically, the software update time conflict detection dataset can be used to optimize the preliminary update time window. The conflict detection dataset is reviewed and all time periods that conflict with user interaction behaviors are identified. These conflicting time periods are then removed from the preliminary update time window dataset to avoid updating when users are active. This process involves adjusting the update window to move it to time periods with less user interaction. After optimization, an update time window dataset is generated that only contains time periods without conflicts.
[0081] Step S266: Prioritize the optimized update time window data set according to the software usage frequency data set to obtain a final sorted update time window data set, and determine the final update time window for the software list to be updated based on the final sorted update time window data set to obtain a software update time window list.
[0082] Specifically, the optimized update time window dataset can be prioritized according to the software usage frequency dataset. The usage frequency of each software is analyzed to determine which software is used more frequently by users. Based on this information, a priority is assigned to the update time window of each software, and software with higher priority will be scheduled in an earlier update time window. A final sorted update time window dataset is generated, which contains update time windows sorted by priority. Finally, the final update time window of each software to be updated is determined based on this final sorted update time window dataset, and this information is summarized into a software update time window list. This list will guide the actual software update process to ensure that the update operation is performed at a time that has the least impact on users.
[0083] The present invention significantly improves the accuracy of determining the best update time and optimizes the software usage experience by accurately calculating the software usage frequency and time period cluster analysis. By matching the sparse software usage interval, it is ensured that the update is carried out during the period when the user's usage frequency is low, thereby reducing the interference with the user's daily operations. Through the software usage conflict detection, it is effectively avoided to update during the user's active period, thereby reducing the update conflict. By preliminarily screening and optimizing the potential update time window, the conflicting time period is eliminated, and the update efficiency is improved. Through intelligent priority sorting, it is ensured that the update requirements of high-priority software are responded to in a timely manner. Updating during the user's inactive time period enhances the system stability, and the refined time window management improves the utilization efficiency of network and computing resources. The present invention also supports large-scale software updates, is suitable for update management in complex environments, improves user satisfaction, and ensures the timely update of software through precise time window management and optimized update process, thereby improving the security and functionality of the software.
[0084] Preferably, step S3 comprises the following steps:
[0085] Step S31: performing connectivity verification on the software update package address set to obtain a valid software update package address set;
[0086] Specifically, the connectivity of the software update package address set can be verified to ensure that each provided download address is valid and the update package can be successfully downloaded. This can be achieved through an automated script that attempts to initiate an HTTP HEAD or GET request for each update package address to check the server's response. If the status code returned by the server indicates that the address is valid (such as 200OK), the address is considered to be connected. The script records all addresses that respond successfully and excludes those that are inaccessible or take too long to respond. After completing this process, a valid software update package address set containing only valid addresses will be obtained.
[0087] Step S32: collecting the target update software installation package capacity of the to-be-updated software list based on the valid software update package address set to obtain a software installation package capacity data set;
[0088] Specifically, based on the valid software update package address set, the target update software installation capacity of each software in the list of software to be updated can be collected. This can be done by accessing each valid address and analyzing the Content-Length attribute in the HTTP response header or by other means (such as checking the file size information on the web page) to determine the size of each update package. The capacity of each update package is recorded, and a software installation package capacity data set containing the software to be updated and its corresponding update capacity is generated.
[0089] Step S33: sorting the software installation package capacity data set in ascending order of installation package capacity to obtain a software installation package capacity sequence;
[0090] Specifically, the software installation package capacity data set can be processed to determine the download priority. The entries in the data set are sorted in ascending order according to the size of the installation package to generate a software installation package capacity sequence. This sequence will help the system decide which smaller update packages should be downloaded first. Usually, smaller update packages take less time to download and can be updated faster, while larger update packages take more time to download and are therefore scheduled for download during periods of low network usage.
[0091] Step S34: obtaining a software usage time period clustering data set, and determining the downloadable time period for the software list to be updated according to the software usage time period clustering data set to obtain a downloadable time period data set, and allocating download priorities for the software list to be updated according to the software installation package capacity sequence and the downloadable time period data set to obtain software package download scheduling plan data;
[0092] Specifically, a clustering dataset of software usage time periods can be obtained, and the downloadable time period of each software can be determined in combination with the software installation package capacity sequence. The user's usage pattern for each software is analyzed to identify the time periods with low user usage frequency, which are considered to be downloadable time periods. Then, download priority is assigned to each software in the list of software to be updated based on the size and estimated download time of the software, as well as the user's usage habits. This process involves considering the usage of network bandwidth and avoiding downloading during the period when the user is actively using the software. A software package download scheduling plan dataset is generated, which contains the recommended download time and priority of each software. This dataset will be used to guide the actual download operation.
[0093] Step S35: downloading the target version software package from the list of software to be updated based on the valid software update package address set and the software package download scheduling plan data, to obtain a download process monitoring data set;
[0094] Specifically, the target version software package download in the list of software to be updated can be executed according to the valid software update package address set and the software package download scheduling plan data. This process is executed by an automated download manager, which starts the download task according to the order and time specified in the scheduling plan. The download manager extracts the download address of each software package from the valid software update package address set and starts downloading them sequentially or in parallel. During the download process, the start time, end time, download speed and any error information encountered for each download task are recorded, and this information will constitute the download process monitoring data set.
[0095] Step S36: Real-time monitoring of the download progress and abnormality detection of the download process monitoring data set are performed. When a download failure or abnormal task is detected, the corresponding software is automatically re-downloaded until all installation packages in the list of software to be updated are downloaded, and the target version software package set is obtained;
[0096] Specifically, the download process monitoring data set can be analyzed in real time to monitor the progress and status of each download task. Check whether each download task is completed within the expected time, and verify the integrity of the downloaded data. If a download failure or anomaly is detected, such as a task failure due to network problems or unresponsive server, the re-download mechanism will be automatically triggered. This involves re-adding the download task to the front of the download queue, or retrying the download at a different time or network condition. These retry tasks will be continuously monitored until all installation packages of the software to be updated are successfully downloaded. After all download tasks are completed, the system will collect these installation packages to form the target version software package set.
[0097] Step S37: Perform integrity check on the target version software package set to obtain a target update software package resource pool.
[0098] Specifically, the target version package set can be integrity checked. This step is critical to ensure that all downloaded packages are complete and uncorrupted so that they can be successfully installed. Integrity verification can be performed in a variety of ways. For example, the hash values (such as MD5 or SHA-256) of each package can be checked and compared with the hash values provided by the publisher. If the hash values match, the package is considered complete; if the hash values do not match, the package needs to be downloaded again. In addition, the digital signature of the package can also be checked to verify its source and authenticity. After the integrity check is completed, a target update package resource pool will be created, which only contains packages that have passed the check and are ready for distribution and installation.
[0099] The present invention ensures the reliability and availability of update resources through connectivity verification, and optimizes the use of network resources and download efficiency by collecting and sorting the capacity of software installation packages. By reasonably arranging the download plan, the impact on user use is reduced, and the download success rate is improved through real-time monitoring and automatic retry mechanisms. The integrity check ensures the integrity of the software package and avoids the risk of update failure. In addition, the present invention downloads during periods when users are not active, improves system stability, and enhances user experience. By optimizing the download scheduling plan, resource utilization efficiency is improved, especially during periods when network bandwidth is limited or peak hours. The present invention also supports large-scale software update deployment, ensures timely updates of software packages, maintains the latest status and security of the software, and thus provides users with an efficient, stable and satisfactory software update experience.
[0100] Preferably, step S4 comprises the following steps:
[0101] Step S41: extracting the current version identifier from the list of software to be updated to obtain a current version identifier data set;
[0102] Specifically, each software entry in the list of software to be updated can be processed to extract the version identification they are currently using. The software installation directory can be accessed, the version information file can be read, or a specific command can be executed to obtain the version number. For example, in a Windows system, the software version can be obtained by querying the relevant information in the registry, while in a Linux system, it can be obtained by reading the database of the package manager. The current version identification of each software is recorded, including the version number and other version-related information, such as the release date and the build number. This information will be organized into a currently used version identification data set.
[0103] Step S42: collecting basic metadata of the software list to be updated according to the currently used version identification data set to obtain the current version metadata basic data set;
[0104] Specifically, based on the currently used version identification dataset, basic metadata can be collected for each software in the list of updated software. This includes obtaining the software's release notes, developer information, dependencies, and other related metadata from the software's official website, configuration server, or online database. Automated scripts, such as API calls or web crawlers, can be used to collect this information. The collected metadata will be stored in the current version metadata basic data set.
[0105] Step S43: performing metadata analysis and information aggregation on the current version metadata basic data set to obtain the current software package version data set;
[0106] Specifically, the current version metadata basic data set can be parsed and information summarized. This involves extracting key information, such as the latest version number of the software, update content, security fixes, and performance improvements. Text parsing tools or regular expressions can be used to extract this information from the raw data and store it in a structured manner. For example, create a database table containing fields such as software name, current version, latest version, update description, and release date. In this way, the system is able to generate a detailed current software package version data set.
[0107] Step S44: collecting update package metadata from the target update package resource pool to obtain a target version software package metadata set;
[0108] Specifically, metadata can be collected for each package in the target update package resource pool. This process involves reading metadata files inside the package, such as version information, update logs, digital signatures, etc. in the installer. Specialized package management tools or custom scripts can be used to parse these metadata files and extract key information, such as the version number, size, dependencies, and other release details of the update package. This information will be organized into a target version package metadata set, which will be used to compare with the current package version data set to determine what needs to be updated.
[0109] Step S45: Establishing a binary structure mapping relationship between the current software package version data set and the target version software package metadata set to obtain a software package binary structure mapping table;
[0110] Specifically, a comparative analysis can be performed on the current package version data set and the target version package metadata set to establish a binary structure mapping relationship. This process involves using specialized differential tools or algorithms to identify the differences between the two versions, including newly added files, modified files, and deleted files. These differences are recorded and a package binary structure mapping table is created, which details the structural changes between the old and new versions. This mapping table includes not only file-level changes, but also byte-level differences within the files. This mapping table is the key to achieving efficient incremental updates because it allows the system to download and install only the changed parts, rather than the entire software package.
[0111] Step S46: performing a binary difference operation on the current software package version data set and the target version software package metadata set according to the software package binary structure mapping table to obtain a software incremental update file difference set.
[0112] Specifically, please refer to the sub-steps of step S46 for the detailed implementation process of this embodiment.
[0113] The present invention significantly improves the accuracy of updates and the efficiency of data management by accurately extracting the identifier of the current software version and systematically managing metadata. By establishing a binary structure mapping relationship, data redundancy is effectively reduced, and network bandwidth consumption and storage costs during the update process are reduced. The difference set generation method for incremental updates speeds up the update speed and shortens the update time, thereby reducing the burden on system performance and improving the overall performance of the system. Users can therefore receive updates faster, and interference in the update process is minimized, greatly enhancing the user experience. At the same time, precise metadata management and differential operations reduce data errors and security risks, and improve data security. The present invention also supports the processing of complex update scenarios, including multi-version and multi-platform software updates, providing software developers with an efficient update mechanism, facilitating the rapid deployment of new features and fixes, and promoting continuous improvement and optimization of software.
[0114] Preferably, step S46 includes the following steps:
[0115] Step S461: aligning and marking the current software package version data set and the target version software package metadata set in blocks based on the software package binary structure mapping table to obtain an initial binary alignment block set;
[0116] Specifically, the package binary structure mapping table can be used to align and mark the current package version metadata set with the target version package metadata set. This process involves splitting the content of the package into multiple blocks and comparing the differences between these blocks between the current version and the target version. Specialized binary comparison tools can be used to perform this task. These tools can identify the differences between the two versions and mark these differences in the initial binary alignment block set. For example, the tool will mark which blocks are newly added, which are modified, and which are deleted.
[0117] Step S462: collecting the system resource utilization of the computer to obtain a system resource utilization rate data set;
[0118] Specifically, the system resource utilization of the computer can be collected to obtain a system resource utilization data set. This process involves monitoring key indicators such as CPU usage, memory usage, disk I / O performance, and network bandwidth. This data can be collected by querying the performance counters of the operating system, using system monitoring tools, or deploying agent programs. The collected information will be used to evaluate the resource usage of the system at a specific point in time so that update operations can be performed when resource usage is low, thereby reducing the impact on the normal work of users. The system resource utilization data set will contain historical records and real-time data of these monitoring data.
[0119] Step S463: performing resource-aware optimization sorting on the initial binary alignment block set according to the system resource utilization data set to obtain an optimized sorted alignment block set;
[0120] Specifically, the initial binary aligned block set can be sorted for resource-aware optimization based on the system resource utilization data set. This process involves analyzing the system resource usage and adjusting the processing order of the binary aligned block set based on the availability of resources. For example, if the system detects that the current network bandwidth is low, it will prioritize those update blocks that are smaller or have less impact on system performance, while deferring larger or more complex update blocks until the network conditions are better. Generate an optimized sorted aligned block set, which contains the processing order of update blocks optimized according to resource usage. This optimized sorted aligned block set will guide the actual incremental update execution job, ensuring that the update operation is carried out efficiently when system resources allow.
[0121] Step S464: performing binary difference calculation on the optimized sorted alignment block set to obtain a difference calculation intermediate result set;
[0122] Specifically, a binary difference calculation can be performed on the optimized sorted aligned block set. This process involves comparing the differences between the current software package version and the target version and determining which specific bytes or data blocks have changed. A specialized difference algorithm, such as the Rsync algorithm or other binary comparison tools, can be used to identify the differences between the two versions. The difference information will be recorded in the difference operation intermediate result set, which contains detailed information on all data blocks that need to be updated, such as the location, size, and difference content of the data blocks.
[0123] Step S465: performing differential data conflict detection and correction on the differential operation intermediate result set to obtain a corrected differential operation data set;
[0124] Specifically, the differential data conflict detection and correction can be performed on the differential operation intermediate result set. This process involves verifying the integrity and consistency of the differential results to ensure that the update operation does not introduce new errors or conflicts. Check whether the differential results match the expected changes and ensure that the updated software package can run correctly. If any anomalies or inconsistencies are detected during the differential calculation process, the system will make necessary corrections, such as recalculating the difference or adjusting the update block. The corrected differential data will be collected in the corrected differential operation data set, which will be used to guide the actual software update operation.
[0125] Step S466: performing an update operation on the current software package version data set according to the modified differential operation data set to obtain a software incremental update file difference set.
[0126] Specifically, the current software package version data set can be updated based on the modified differential operation data set. This process involves applying the differential results to the current software package to generate a new software version. Use a dedicated update tool or script to update the corresponding data blocks in the software package based on the information in the differential data set. This includes replacing, adding or deleting specific files and data. After the update operation is completed, a software incremental update file difference set will be generated, which contains all updated files and data blocks, as well as the differences between them and the original version. This difference set will be used to record the details of the update and for subsequent version control, rollback operations or other management tasks.
[0127] The present invention improves the accuracy of updates and reduces errors through block alignment and marking technology, and optimizes the sorting of binary alignment blocks by collecting system resource utilization data, so that the update process uses system resources more efficiently. Resource-aware optimization sorting effectively reduces unnecessary calculations and shortens the time of binary differential calculations. At the same time, only updating the changed parts reduces the demand for network transmission and storage and reduces the system load. The data consistency is ensured by the differential data conflict detection and correction mechanism, and the stability of the update is improved. In addition, the fast and stable update process reduces the user waiting time and enhances the user experience. The present invention can dynamically adjust the update strategy according to the resource status of the current system, adapt to different system environments and requirements, and reduce the risk of system failure caused by improper updates. The generation of incremental update file difference sets supports the rapid maintenance and iteration of software, accelerates the software release cycle, promotes the continuous improvement and optimization of software, and enables software developers to launch improvements and repairs more frequently.
[0128] Preferably, step S5 comprises the following steps:
[0129] Step S51: performing incremental update task allocation on the software incremental update file difference set according to the software update time window list to obtain an incremental update task allocation scheme;
[0130] Specifically, incremental update tasks can be assigned to the software incremental update file difference set according to the software update time window list. In this process, the software update time window list is first consulted. This list contains the recommended update time for each software. These times are based on the analysis of user interaction behavior logs and are designed to minimize the impact on users. According to this list, an incremental update task is assigned to each software, and the execution time of each task is determined. These tasks will be organized into an incremental update task allocation plan, which details the update order and time of each software.
[0131] Step S52: performing update job resource scheduling on the software list to be updated according to the incremental update task allocation plan to obtain a software update resource scheduling plan;
[0132] Specifically, the update job resource scheduling can be performed on the software list to be updated according to the incremental update task allocation scheme. This process involves considering the server load, network bandwidth, user usage patterns, and other resource constraints to ensure that the update process does not have a negative impact on system performance. Use resource scheduling algorithms, such as polling, priority scheduling, or weight scheduling, to decide which software update task should be executed first and how to allocate the necessary system resources. After completing the resource scheduling, a software update resource scheduling scheme will be generated, which will be used for the actual update execution job.
[0133] Step S53: performing an update execution operation on the incremental update task allocation scheme according to the software update resource scheduling scheme to obtain an update process monitoring data set;
[0134] Specifically, the incremental update task allocation scheme can be updated and executed according to the software update resource scheduling scheme. This process involves actually applying the incremental update file difference set to the software to be updated to complete the update process. Use automated scripts or specialized update tools to perform these jobs, monitor the progress of the update, and ensure that the update is carried out according to the predetermined resource scheduling scheme. During the update execution process, the status of each update task is recorded, including the start time, end time, update results, and any errors or exceptions encountered. This information will be collected in the update process monitoring data set.
[0135] Step S54: performing update task status analysis on the update process monitoring data set to obtain an update task status report;
[0136] Specifically, please refer to the sub-steps of step S54 for the detailed implementation process of this embodiment.
[0137] Step S55: rescheduling the abnormal task for the update execution job based on the update task status report to obtain the abnormal task repair plan, and re-updating the abnormal task according to the abnormal task repair plan to obtain a software update completion status report.
[0138] Specifically, abnormal tasks that occur during the update execution process can be identified and handled based on the update task status report. The update task status report is a detailed record that contains the execution results of each update task, including success, failure, or need for additional attention. First, this report is analyzed to identify all tasks marked as failed or abnormal. Once the abnormal tasks are identified, the abnormal task rescheduling process will be initiated. This involves generating an abnormal task repair plan that details how each abnormal task will be handled. For example, the system decides to re-download the failed update package during a period with higher network bandwidth, or allocate more system resources to a task that failed due to insufficient resources. According to the abnormal task repair plan, the system will reschedule these tasks to arrange them to be executed again at a more appropriate time or under more appropriate conditions. During the rescheduling process, the system will adjust the priority of the update to ensure that critical tasks are handled first. The system will also monitor the execution of the re-update job to ensure that the abnormal tasks can be successfully completed. Finally, once all abnormal tasks have been handled, the system will generate a software update completion status report. This report summarizes the results of the entire update process, including all software that was successfully updated and software that succeeded after retry after failure.
[0139] The present invention significantly improves the automation level of software updates through automated task allocation and resource scheduling, reduces manual intervention, optimizes resource usage, and ensures efficient resource utilization. Accurate task allocation and resource scheduling ensure that the software can be updated in a timely manner within a predetermined time window, thereby enhancing the reliability of the update. By monitoring the update process and analyzing the task status, abnormal tasks are discovered and repaired in a timely manner, further improving the success rate of the update. During the update process, resource scheduling and exception handling mechanisms reduce the impact on the normal operation of the system and improve the stability of the system. The automated update process reduces user intervention, allowing users to focus more on their work, while improving update efficiency and user experience. The present invention also supports large-scale software updates, is suitable for handling the update requirements of numerous software, improves the feasibility and efficiency of large-scale updates, and ultimately promotes continuous improvement and optimization of software.
[0140] Preferably, step S54 includes the following steps:
[0141] Step S541: performing event detection on the update process monitoring data set to obtain a task event identification data set;
[0142] Specifically, the update process monitoring dataset can be analyzed to identify and record all key events that occurred during the update process. This includes events such as update started, update completed, update paused, update resumed, error encountered, etc. Using log analysis tools or custom scripts, scan the update log files and extract information related to these events, such as event type, timestamp, involved software packages, and any related error codes. This information will be organized into a task event identification dataset.
[0143] Step S542: performing task status classification on the task event recognition data set to obtain a task status classification data set;
[0144] Specifically, each event in the task event recognition dataset can be classified to determine the current status of each update task. This involves classifying events into different categories, such as "success", "failure", "in progress", "waiting", etc. These events can be automatically classified using predefined rules or machine learning models. For example, if the log of an update task shows an "update completed" event, then the task is classified as a "successful" state. All classification results will be aggregated into a task status classification dataset.
[0145] Step S543: performing abnormal state recognition on the task state classification data set to obtain a task abnormal state recognition data set;
[0146] Specifically, the task status classification dataset can be analyzed to identify any tasks in abnormal status. Abnormal status includes "failed", "timeout", "insufficient resources", etc., which indicate that the update task is not completed as expected. Thresholds can be set or anomaly detection algorithms can be used to identify these statuses. For example, if a task does not report an "update completed" event within a predetermined time, it will be marked as "timeout". All tasks identified as abnormal status will be recorded in the task abnormal status identification dataset.
[0147] Step S544: summarize the task status classification data set and the task abnormal status identification data set to obtain an updated task status report.
[0148] Specifically, the task status classification dataset and the task abnormal status identification dataset can be aggregated to generate a comprehensive update task status report. This report will include the final status of each update task, whether it is successful, failed, or abnormal. These datasets are integrated into a report template to generate a formatted document that lists the status of each task in detail and provides detailed diagnostic information for abnormal tasks.
[0149] The present invention significantly enhances the monitoring capability of the software update process through real-time event detection and detailed task status classification, ensuring the transparency and traceability of the update task. By introducing the abnormal state identification mechanism, problems in the update process can be discovered and responded to quickly in a timely manner, thereby optimizing the efficiency of problem handling. This method not only improves the success rate of updates and reduces the risk of system interruptions, but also enhances the user's confidence in the update process and reduces the user's anxiety. In addition, through the data support provided by the status summary, the decision-making process is more accurate, which helps to continuously improve the update process, improve the efficiency of resource utilization, and ensure the continuous optimization of the software update strategy and the efficient execution of the update process.
[0150] Therefore, the embodiments should be regarded as illustrative and non-restrictive from all points, and the scope of the present invention is limited by the appended claims rather than the above description, and it is intended that all changes falling within the meaning and range of equivalent elements of the application documents are included in the present invention.
[0151] The above description is only a specific embodiment of the present invention, so that those skilled in the art can understand or implement the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but should conform to the widest scope consistent with the principles and novel features invented herein.
Claims
1. A computer control method, characterized in that: The following steps are involved: Step S1: collecting the user software interaction behavior log of the computer to obtain the user software interaction behavior log; determining the software to be updated on the computer according to the user software interaction behavior log to obtain a list of software to be updated; Step S2: performing update time window analysis on the list of software to be updated based on the user software interaction behavior log to obtain a software update time window list; Step S3: Download the target version software package from the list of software to be updated to obtain a target update software package resource pool; Step S4: collecting metadata of the current version of the software package on the list of software to be updated to obtain a current software package version data set; performing binary differential analysis on the list of software to be updated based on the target update software package resource pool and the current software package version data set to obtain a software incremental update file difference set; Step S5: performing incremental update execution on the list of software to be updated based on the software incremental update file difference set and the software update time window list to obtain a software update completion status report.
2. The computer control method according to claim 1, characterized in that: Step S1 includes the following steps: Step S11: Collect the software directory of the computer to obtain a computer software directory list; Step S12: collecting the user software interaction behavior log of the computer according to the computer software directory list to obtain the user software interaction behavior log; Step S13: constructing a software version usage trajectory for the computer software directory list according to the user software interaction behavior log to obtain a software version usage trajectory data set, wherein the software version usage trajectory data set includes a plurality of software version usage trajectory data; Step S14: collecting software update package download addresses from the computer software directory list to obtain a software update package address set; Step S15: collecting the latest software version numbers of the computer software directory list based on the software update package address set to obtain the latest software version number set, wherein the latest software version number set includes a plurality of latest software version numbers; Step S16: Based on the computer software directory list and the software version usage trajectory data set and the latest software version number set, the software to be updated is determined for the computer to obtain a list of software to be updated.
3. The computer control method according to claim 2, characterized in that: Step S16 includes the following steps: Step S161: performing version number bounce detection on the software version usage trajectory dataset to obtain a version number bounce detection dataset, wherein the version number bounce detection dataset includes a plurality of version number bounce detection data; Step S162: If the version number bounce detection data indicates that there is a version bounce in the software usage, then the corresponding software version usage trajectory data is subjected to bounce version number statistics to obtain bounce version number distribution data, and the final bounce version number is extracted from the bounce version number distribution data to obtain the final bounce version number; Step S163: extracting the current software version number from the corresponding software version usage trajectory data according to the version number bounce detection data to obtain the current software version number; Step S164: If the final bounce version number is the same as the currently used version number or the currently used version number is the same as the corresponding latest software version number, extract the software name from the version number bounce detection data to obtain the first software name data, and mark the first software name data as not requiring an update to obtain the software name data not requiring an update; Step S165: if the version number bounce detection data indicates that there is no version bounce in the software usage, extract the software name from the version number bounce detection data to obtain second software name data, and mark the second software name data as requiring an update to obtain software name data requiring an update; Step S166: Classify the software update status of the computer software directory list according to the software name data that does not need to be updated and the software name data that needs to be updated to obtain a software list to be updated.
4. The computer control method according to claim 1, characterized in that: Step S2 includes the following steps: Step S21: Screening the target software logs from the user software interaction behavior logs according to the list of software to be updated to obtain the software interaction logs to be updated; Step S22: performing software usage time distribution statistics on the interaction log of the software to be updated to obtain a software usage time distribution data set; Step S23: calculating the average software usage time of the list of software to be updated based on the software usage time distribution data set to obtain a software average usage time data set; Step S24: performing usage density evaluation on the list of software to be updated according to the software usage time distribution data set and the software average usage duration data set to obtain a software usage density evaluation data set; Step S25: extracting the non-intensive use time period from the list of software to be updated according to the software use density evaluation data set, to obtain a software non-intensive use time period data set; Step S26: performing update time window analysis on the list of software to be updated based on the user software interaction behavior log and the software non-intensive use time period data set to obtain a software update time window list.
5. The computer control method according to claim 4, characterized in that: Step S26 includes the following steps: Step S261: Calculate the software usage frequency of the user software interaction behavior log to obtain a software usage frequency data set, and cluster the software usage time period of the user software interaction behavior log to obtain a software usage time period clustering data set; Step S262: performing a non-intensive use time period matching operation on the software use frequency dataset, the software use time period clustering dataset, and the software non-intensive use time period dataset to obtain a software use sparse interval matching dataset; Step S263: Preliminary screening of potential update time windows of the list of software to be updated is performed based on the software usage sparse interval matching data set to obtain a preliminary update time window data set; Step S264: performing software usage conflict detection on the preliminary update time window data set according to the user software interaction behavior log to obtain a software update time conflict detection data set; Step S265: removing conflicting time periods from the preliminary update time window data set according to the software update time conflict detection data set to obtain an optimized update time window data set; Step S266: Prioritize the optimized update time window data set according to the software usage frequency data set to obtain a final sorted update time window data set, and determine the final update time window for the software list to be updated based on the final sorted update time window data set to obtain a software update time window list.
6. The computer control method according to claim 1, characterized in that: Step S3 includes the following steps: Step S31: verifying the connectivity of the software update package address set to obtain a valid software update package address set; Step S32: collecting the target update software installation package capacity of the to-be-updated software list based on the valid software update package address set to obtain a software installation package capacity data set; Step S33: sorting the software installation package capacity data set in ascending order of installation package capacity to obtain a software installation package capacity sequence; Step S34: obtaining a software usage time period clustering data set, and determining the downloadable time period for the software list to be updated according to the software usage time period clustering data set to obtain a downloadable time period data set, and allocating download priorities for the software list to be updated according to the software installation package capacity sequence and the downloadable time period data set to obtain software package download scheduling plan data; Step S35: downloading the target version software package from the list of software to be updated based on the valid software update package address set and the software package download scheduling plan data, to obtain a download process monitoring data set; Step S36: Real-time monitoring of the download progress and abnormality detection of the download process monitoring data set are performed. When a download failure or abnormal task is detected, the corresponding software is automatically re-downloaded until all installation packages in the list of software to be updated are downloaded, and the target version software package set is obtained; Step S37: Perform integrity check on the target version software package set to obtain a target update software package resource pool.
7. The computer control method according to claim 1, characterized in that: Step S4 includes the following steps: Step S41: extracting the current version identifier from the list of software to be updated to obtain a current version identifier data set; Step S42: collecting basic metadata of the software list to be updated according to the currently used version identification data set to obtain the current version metadata basic data set; Step S43: performing metadata analysis and information aggregation on the current version metadata basic data set to obtain the current software package version data set; Step S44: collecting update package metadata from the target update package resource pool to obtain a target version software package metadata set; Step S45: Establishing a binary structure mapping relationship between the current software package version data set and the target version software package metadata set to obtain a software package binary structure mapping table; Step S46: performing a binary difference operation on the current software package version data set and the target version software package metadata set according to the software package binary structure mapping table to obtain a software incremental update file difference set.
8. The computer control method according to claim 7, characterized in that: Step S46 includes the following steps: Step S461: aligning and marking the current software package version data set and the target version software package metadata set in blocks based on the software package binary structure mapping table to obtain an initial binary alignment block set; Step S462: collecting the system resource utilization of the computer to obtain a system resource utilization rate data set; Step S463: performing resource-aware optimization sorting on the initial binary alignment block set according to the system resource utilization data set to obtain an optimized sorted alignment block set; Step S464: performing binary difference calculation on the optimized sorted alignment block set to obtain a difference calculation intermediate result set; Step S465: performing differential data conflict detection and correction on the differential operation intermediate result set to obtain a corrected differential operation data set; Step S466: performing an update operation on the current software package version data set according to the modified differential operation data set to obtain a software incremental update file difference set.
9. The computer control method according to claim 1, characterized in that: Step S5 includes the following steps: Step S51: performing incremental update task allocation on the software incremental update file difference set according to the software update time window list to obtain an incremental update task allocation scheme; Step S52: performing update job resource scheduling on the software list to be updated according to the incremental update task allocation plan to obtain a software update resource scheduling plan; Step S53: performing an update execution operation on the incremental update task allocation scheme according to the software update resource scheduling scheme to obtain an update process monitoring data set; Step S54: performing update task status analysis on the update process monitoring data set to obtain an update task status report; Step S55: rescheduling the abnormal task for the update execution job based on the update task status report to obtain the abnormal task repair plan, and re-updating the abnormal task according to the abnormal task repair plan to obtain a software update completion status report.
10. The computer control method according to claim 9, characterized in that: Step S54 includes the following steps: Step S541: performing event detection on the update process monitoring data set to obtain a task event identification data set; Step S542: performing task status classification on the task event recognition data set to obtain a task status classification data set; Step S543: performing abnormal state recognition on the task state classification data set to obtain a task abnormal state recognition data set; Step S544: summarize the task status classification data set and the task abnormal status identification data set to obtain an updated task status report.
Citation Information
Patent Citations
Method and apparatus for installing and updating software
US20140173578A1
Data Surveillance for Privileged Assets based on Threat Streams
US20200204574A1
Device, computing platform and method of analyzing log files of an industrial plant
US20230376795A1
Data update method, apparatus, and system and storage medium
WO2015074467A1
Cited By
Protection method and system for version fallback attack
CN119996036A
Incremental updating method for Kouming software package under Linux
CN121541914A
