File backup method and device, equipment, medium and program product

By breaking down backup tasks into subtasks and executing them within a time window, combined with automated scheduling and policy verification, the problems of long backup times and resource conflicts for massive small file backups are solved, achieving efficient and controllable backup operations and rapid recovery.

CN121833346APending Publication Date: 2026-04-10INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-22
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Existing technologies, when used for backing up large numbers of small files, result in time-consuming backup tasks that easily overlap with daytime business operations, impacting business operations. Furthermore, the lack of fine-grained control and resource monitoring leads to low backup efficiency.

Method used

The main backup task is broken down into multiple subtasks, and each subtask is restricted to execution within a preset backup time window. Combined with automated scheduling and policy verification, the task granularity and time window are dynamically adjusted to optimize efficiency, and a breakpoint recovery mechanism is introduced.

Benefits of technology

It improves the controllability and resource utilization of backup tasks, ensures that backup operations do not affect production operations, and enables rapid and accurate recovery and resource optimization of massive backups.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121833346A_ABST
    Figure CN121833346A_ABST
Patent Text Reader

Abstract

The invention provides a file backup method which can be applied to the technical field of big data. The file backup method comprises the steps that a backup main task is created according to a to-be-backed-up directory corresponding to a target internet protocol address, a to-be-backed-up file is stored in the to-be-backed-up directory, and the backup main task is configured to backup the to-be-backed-up file to a target storage address; splitting the backup main task into at least one subtask according to a preset file number; according to a pre-configured backup strategy, if the file is currently in the backup time window of the backup main task, file backup software is called to execute file backup operation according to one subtask, and the backup strategy comprises the backup time window of the backup main task; the execution duration of the subtasks is smaller than the total duration of the backup time window. The invention further provides a file backup device and equipment, a storage medium and a program product.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of big data technology, and more specifically to a file backup method, apparatus, device, medium, and program product. Background Technology

[0002] In the information age, data is a core asset, and its security and recoverability are crucial to the stable operation of an organization. File backup is a key means of ensuring data security. The industry generally adopts centralized backup software, which uses preset strategies to define parameters such as backup frequency and retention period, driving tasks to perform data migration and storage. This model is widely applicable to backup scenarios with regular data volumes.

[0003] However, business expansion has created a massive demand for small file backups, and the drawbacks of related technologies have become increasingly apparent: First, backup tasks are generally lengthy, and the backup of massive small files takes a very long time, which is likely to overlap with daytime business and interfere with business operations; Second, if a single task is interrupted, the entire task needs to be restarted, which further prolongs the time and wastes resources; Third, the backup time window management is crude, which cannot ensure execution during off-peak periods, and there is a lack of resource monitoring and optimization, making it difficult to meet actual needs. Summary of the Invention

[0004] In view of the above problems, this application provides file backup methods, apparatus, devices, media and program products to improve file backup efficiency.

[0005] According to a first aspect of this application, a file backup method is provided, comprising: creating a backup master task based on a directory to be backed up corresponding to a target Internet Protocol address, wherein the directory to be backed up stores files to be backed up, and the backup master task is configured to back up the files to be backed up to the target storage address; splitting the backup master task into at least one subtask according to a preset number of files; and, according to a pre-configured backup strategy, if the current time is within the backup time window of the backup master task, invoking file backup software to perform a file backup operation based on a subtask, wherein the backup strategy includes the backup time window of the backup master task; and the execution time of the subtask is less than the total duration of the backup time window.

[0006] According to an embodiment of this application, in response to the completion of a file backup operation for a subtask, the next subtask is extracted from the backup master task; if the current time is within the backup time window of the backup master task, the file backup software is invoked to perform a file backup operation based on the next subtask.

[0007] According to an embodiment of this application, the backup software is checked to see if a backup policy exists. The backup policy includes at least one of the following: backup policy name, target Internet Protocol address, backup directory, backup policy start time, backup time window, or backup retention period. If the backup software does not have a backup policy, the backup software's interface is called to write the backup policy into the backup software. The backup software is then configured to complete the backup operation according to the file list of subtasks passed in through the interface.

[0008] According to an embodiment of this application, calling file backup software to perform a file backup operation based on a subtask includes: obtaining a file list of the subtask and calling the interface of the file backup software to execute the backup task; after the backup task of the subtask is completed, recording the completion time and status of the subtask to a policy temporary split task list, which is generated based on the backup main task and is used to record the execution status of each subtask.

[0009] According to an embodiment of this application, the execution duration of a subtask and / or the transmission rate of the file to be backed up are obtained based on the start and end times of the subtask. The strategy temporarily splits the task list and also records the data size of the subtask. If the execution duration of a subtask and / or the transmission rate of the file to be backed up are lower than expected, the backup time window and / or the preset number of files are adjusted so that the execution duration of the subtask and / or the transmission rate of the file to be backed up meet expectations.

[0010] According to an embodiment of this application, in response to the completion of all subtasks of the main backup task, the backup time of the main backup task is recorded in the backup task master table; based on the backup date in the backup task master table and the backup index directory of the backup software, specified files under the directory to be backed up for the target Internet Protocol address can be restored.

[0011] According to the embodiments of this application, the average file transfer rate of completed subtasks and the execution time of a single batch of subtasks are statistically analyzed; after the current subtask is completed, the number of subtask batches that can be completed in the remaining time is calculated based on the average file transfer rate, the remaining backup window duration, and the total number of unbacked-up files; if the number of subtask batches that can be completed in the remaining time is less than 1, the main backup task is stopped.

[0012] According to an embodiment of this application, at the end of the backup time window, the execution of the current subtask is paused and the breakpoint is recorded; in the backup window of the next backup cycle, the backup is resumed from the breakpoint first.

[0013] A second aspect of this application provides a file backup apparatus, comprising: a backup master task creation module, configured to create a backup master task based on a directory to be backed up corresponding to a target Internet Protocol address, wherein the directory to be backed up stores files to be backed up, and the backup master task is configured to back up the files to be backed up to the target storage address; a subtask creation module, configured to split the backup master task into at least one subtask according to a preset number of files; and a file backup operation module, configured to, according to a pre-configured backup strategy, if currently within the backup time window of the backup master task, invoke file backup software to perform a file backup operation based on a subtask, wherein the backup strategy includes the backup time window of the backup master task; and the execution time of the subtask is less than the total duration of the backup time window.

[0014] A third aspect of this application provides an electronic device comprising: one or more processors; and a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the method described above.

[0015] A fourth aspect of this application also provides a computer-readable storage medium having a computer program or instructions stored thereon, which, when executed by a processor, implement the steps of the above-described method.

[0016] The fifth aspect of this application also provides a computer program product, including a computer program or instructions that, when executed by a processor, implement the steps of the above-described method.

[0017] The above one or more embodiments have the following beneficial effects: by splitting the main backup task into multiple subtasks and restricting each subtask to be executed only within a preset backup time window, the problems of long backup time and easy conflict with business are effectively solved; through automated scheduling and compliance verification, it is ensured that backup operations do not affect production business; through the recording of task lists, real-time monitoring and rapid location of the backup process are realized; based on historical performance data, bottlenecks are dynamically analyzed, and the window duration or task granularity is adaptively adjusted to optimize efficiency; by introducing the remaining time prediction and breakpoint task recovery mechanism, invalid operations and duplicate data transmission are avoided, improving resource utilization and task continuity; finally, by associating task records with backup indexes, rapid and accurate recovery of specific files in massive backups is realized. Attached Figure Description

[0018] The above-mentioned contents, other objects, features and advantages of this application will become clearer from the following description of embodiments with reference to the accompanying drawings, in which:

[0019] Figure 1 The illustrations depict application scenarios of file backup methods, apparatus, devices, media, and program products according to embodiments of this application.

[0020] Figure 2 A flowchart illustrating a file backup method according to an embodiment of this application is shown schematically;

[0021] Figure 3 A flowchart illustrating a subtask execution method according to an embodiment of this application is shown schematically.

[0022] Figure 4 An interactive schematic diagram of a file backup method according to an embodiment of this application is shown;

[0023] Figure 5 This schematically illustrates a structural block diagram of a file backup apparatus according to an embodiment of this application; and

[0024] Figure 6 A block diagram schematically illustrates an electronic device suitable for implementing a file backup method according to an embodiment of this application. Detailed Implementation

[0025] The embodiments of this application will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of this application. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of this application for ease of explanation. However, it will be apparent that one or more embodiments may be implemented without these specific details. Furthermore, descriptions of well-known structures and technologies are omitted in the following description to avoid unnecessarily obscuring the concepts of this application.

[0026] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of this application. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0027] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.

[0028] When using expressions such as "at least one of A, B and C", they should generally be interpreted in accordance with the meaning that is commonly understood by those skilled in the art (e.g., "a system having at least one of A, B and C" should include, but is not limited to, a system having A alone, a system having B alone, a system having C alone, a system having A and B, a system having A and C, a system having B and C, and / or a system having A, B and C, etc.).

[0029] In the technical solution of this application, the user information (including but not limited to user personal information, user image information, user device information, such as location information) and data (including but not limited to data used for analysis, stored data, and displayed data) involved are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, storage, use, processing, transmission, provision, disclosure, and application of related data all comply with relevant laws, regulations, and standards, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entry points for users to choose to authorize or refuse.

[0030] In scenarios where personal information is used for automated decision-making, the methods, devices, and systems provided in this application all provide users with corresponding operation entry points for users to choose to agree to or reject the automated decision results; if the user chooses to reject, the process enters the expert decision-making process.

[0031] To facilitate a better understanding of the concepts of the embodiments of this application, as well as one or more specific implementation details, the terminology involved in some embodiments of this application is first explained as follows.

[0032] Centralized / file backup software: Deployed on a central node, this software system is capable of unified backup management of data distributed across multiple servers or clients via a network, and has functions such as policy management, task scheduling, monitoring, and recovery.

[0033] Backup strategy: A pre-configured set of rules and parameters that guide the execution of automated backup tasks, including: backup strategy name; target Internet Protocol address; data content to be backed up, such as files, directories, databases, etc.; execution frequency and trigger time of backup tasks; data retention duration or period; and target location for backup data storage, such as a specific storage medium or path.

[0034] Backup window / backup time window: The time period during which backup operations are allowed to be performed. It is usually selected during periods when the business system load is low, data changes are few, or applications are idle. The purpose is to ensure that the performance impact of backup tasks on the production system is minimized and to avoid resource conflicts with core business activities.

[0035] In related technologies, centralized backup software achieves automatic data backup through preset backup strategies. However, when faced with backup tasks consisting of a massive number of small files, this method has the following problems.

[0036] Backup tasks are typically initiated as a whole, on an entire directory or policy basis. The metadata operations and frequent input / output required to handle a large number of small files can significantly extend the execution time of a single task, often exceeding the preset backup time window and overlapping with daytime business hours, thus competing for system resources. In addition, if such tasks are interrupted during long-term operation, they usually need to be re-executed as a whole, affecting backup efficiency and reliability.

[0037] Existing backup scheduling mechanisms struggle to provide finer-grained task division and control during execution, and lack continuous monitoring and analysis capabilities for execution efficiency. This results in backup cycles and resource allocation relying primarily on static configuration and manual experience, making it difficult to dynamically adapt to ever-growing and changing data environments. Therefore, how to coordinate backup task execution with business operations in scenarios involving massive amounts of small files, and how to improve the reliability and manageability of the backup process, are pressing issues that need to be addressed in this field.

[0038] To address the aforementioned issues, embodiments of this application provide a file backup method, comprising: creating a backup master task based on a directory to be backed up corresponding to a target Internet Protocol address, wherein the directory to be backed up stores files to be backed up, and the backup master task is configured to back up the files to be backed up to a target storage address; splitting the backup master task into at least one subtask according to a preset number of files; and, according to a pre-configured backup strategy, if the current period is within the backup time window of the backup master task, invoking file backup software to perform a file backup operation based on a subtask, wherein the backup strategy includes the backup time window of the backup master task; and the execution time of the subtask is less than the total duration of the backup time window.

[0039] Figure 1 The diagram illustrates an application scenario of the file backup method according to an embodiment of this application.

[0040] like Figure 1 As shown, application scenario 100 according to this embodiment may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104, and a server 105. The network 104 serves as a medium for providing a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 105. The network 104 may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc.

[0041] Users can use the first terminal device 101, the second terminal device 102, and the third terminal device 103 to interact with the server 105 via the network 104 to receive or send messages, etc. Various communication client applications can be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social media platform software, etc. (for example only).

[0042] The first terminal device 101, the second terminal device 102, and the third terminal device 103 can be various electronic devices with displays and support web browsing, including but not limited to smartphones, tablets, laptops, and desktop computers.

[0043] Server 105 can be a server that provides various services, such as a backend management server that supports websites browsed by users using the first terminal device 101, the second terminal device 102, and the third terminal device 103 (this is just an example). The backend management server can analyze and process data such as received user requests, and feed back the processing results (such as web pages, information, or data obtained or generated according to user requests) to the terminal devices.

[0044] It should be noted that the file backup method provided in this application embodiment can generally be executed by server 105. Correspondingly, the file backup device provided in this application embodiment can generally be located in server 105. The file backup method provided in this application embodiment can also be executed by a server or server cluster that is different from server 105 and capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and / or server 105. Correspondingly, the file backup device provided in this application embodiment can also be located in a server or server cluster that is different from server 105 and capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and / or server 105.

[0045] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.

[0046] The following will be based on Figure 1 The described scene, through Figures 2-4 The file backup method according to the embodiments of this application will be described in detail.

[0047] Figure 2 A flowchart illustrating a file backup method according to an embodiment of this application is shown.

[0048] like Figure 2 As shown, the file backup method of this embodiment includes operations S210 to S230, and the file backup method can be executed in the following manner.

[0049] When operating S210, a backup master task is created based on the directory to be backed up corresponding to the target Internet Protocol address.

[0050] In the embodiments of this application, the target Internet Protocol address (IPA) is a unique identifier for the server or client storing the data to be backed up on the network. The directory to be backed up specifies the specific file system path to be backed up under the target IPA. A backup master task is created based on the target IPA and the directory.

[0051] The main task of backup is to transfer all files to be backed up in the corresponding directory on the specified target Internet Protocol address to a centralized target storage address, such as a backup server or tape library.

[0052] In some preferred embodiments of this application, information about the main backup task, such as the target Internet Protocol address, backup directory, and scheduled task identifier, is recorded in a backup task master table for subsequent tracking of the overall task progress.

[0053] In embodiments of this application, the backup task may involve the user's personal information. The user's consent or authorization can be obtained before acquiring the user's information. For example, a request to acquire the user's information can be sent to the user before operation S210. Operation S210 is performed if the user consents or authorizes the acquisition of the user's information.

[0054] In the embodiments of this application, a corresponding operation entry point can be provided to the user, allowing the user to choose to agree to or reject the automated decision result. That is, before processing / making a decision on the user information in S210, the user can provide their consent or rejection instruction through the corresponding operation entry point. If the user agrees to the processing / decision, then processing / making a decision on the user information in S210 is performed, i.e., step S210 is executed. If the user refuses to process / make a decision, then the expert decision-making process is initiated.

[0055] In operation S220, the main backup task is split into at least one subtask based on the preset number of files.

[0056] In this embodiment, the main backup task is broken down into one or more subtasks to achieve fine-grained control over the main task. The main backup task typically includes a large number of files to be backed up and requires a continuous, lengthy period of time to execute. Dividing the main backup task into one or more batches of subtasks according to a preset number of files creates one or more smaller task execution units. This makes the processing time of each subtask relatively short and predictable, facilitating its embedding within a fixed backup time window and reducing the impact of single points of failure.

[0057] Specifically, after creating the master backup task, a remote access login is made to the server corresponding to the target Internet Protocol address. On this server, a file search command is used to traverse the directory to be backed up, listing all files to be backed up and generating a complete master task file list. Subsequently, this master task file list is sequentially divided according to a preset file count threshold. Each division constitutes a subtask, containing no more than the threshold number of files. After splitting, the original master backup task is transformed into a series of sequentially executed subtask queues, and a unique subtask identifier is generated for each subtask.

[0058] The preset file count is a configurable value used to determine the maximum number of files included in each subtask. The preset file count can be configured based on several factors.

[0059] For example, the number of preset files can be configured based on the length of the backup time window. The backup time window determines the available time for task execution, and it must be ensured that the estimated time of the subtask is less than the window length.

[0060] For example, the number of files can be preset based on the data characteristics of the files to be backed up. The file sizes, types, and directory structure complexity determine the actual workload and time consumption of a single batch task.

[0061] In addition, the preset number of files can be set to an initial value and then dynamically adjusted based on actual performance indicators during operation, such as subtask execution time and transfer rate, thereby improving backup efficiency and backup task reliability while meeting the constraints of the backup time window.

[0062] For example, if the directory to be backed up contains 100,000 files, and the default number of files is 10,000, then the list containing 100,000 files will be divided into 10 subtasks.

[0063] When operating the S230, according to the pre-configured backup strategy, if the current backup time window is within the main backup task, the file backup software is invoked to perform a file backup operation based on a subtask.

[0064] Before executing each subtask, a backup time window verification must be performed. The backup policy contains the allowed backup time window for the main backup task, such as 0:00 to 6:00 AM daily. The current time is obtained and compared with this backup time window.

[0065] If the current time falls within the backup time window, a backup operation is prepared. The first subtask to be executed is retrieved sequentially from the subtask queue, and its corresponding file list is obtained. Then, a backup job request is submitted to the backup software via the application programming interface provided by the centralized backup software. This request includes information such as the target Internet Protocol address, the list of files to be backed up, and the target storage address. Upon receiving the request, the backup software immediately initiates a backup data transfer process, backing up the files in the subtask list from the source server to the target storage address, thus executing one subtask's file backup operation.

[0066] The file backup method in this application breaks down large backup tasks into multiple short-term subtasks and limits the subtasks to be executed only within the backup time window. This prevents backup operations from occupying resources during peak business hours, reduces system resource consumption, improves the controllability of backup tasks, and enhances the efficiency of operation and maintenance management.

[0067] According to an embodiment of this application, in response to the completion of a file backup operation for a subtask, the next subtask is extracted from the backup master task; if the current time is within the backup time window of the backup master task, the file backup software is invoked to perform a file backup operation based on the next subtask.

[0068] Once all file backup operations for the current subtask are completed by invoking the file backup software, a task completion signal is received from the backup software or confirmed via a status query. The status record for the completed subtask is then updated; for example, its status can be marked as "completed" and the end time recorded.

[0069] Subsequently, the next subtask is extracted from the subtask list of the backup master task in a predetermined order, which may be the order generated during the splitting process. This process is automatically triggered by the scheduler and requires no manual selection or intervention.

[0070] After obtaining the next subtask to be executed, the time window is re-verified, that is, the current system time is obtained again and compared with the backup time window defined for the main backup task in the backup strategy.

[0071] If the verification passes, meaning the current time is still within a valid backup time window, the file backup software interface is called to submit the file list corresponding to the next subtask and start the file backup operation of the next subtask. The process is the same as executing the first subtask in operation S230.

[0072] If the verification fails, meaning the current time has exceeded the backup time window (e.g., the window's end time has been reached), the scheduling process will be paused, and no new subtasks will be started. The next subtask extracted will remain in a pending state, waiting for the next compliant backup time window to be scheduled.

[0073] This embodiment executes subtasks sequentially, enabling automatic progress of the backup process without manual intervention. Before executing each subtask, it ensures that the process is within the backup window, preventing subtasks from being executed across windows, thus guaranteeing backup efficiency. Furthermore, it strictly adheres to business window restrictions, improving the compliance and automation level of backup tasks.

[0074] According to an embodiment of this application, the backup software is checked to see if a backup policy exists. The backup policy includes at least one of the following: backup policy name, target Internet Protocol address, backup directory, backup policy start time, backup time window, or backup retention period. If the backup software does not have a backup policy, the backup software's interface is called to write the backup policy into the backup software. The backup software is then configured to complete the backup operation according to the file list of subtasks passed in through the interface.

[0075] A backup policy can be a set of predefined rules. In addition to the backup time window used to drive subtask scheduling, it may include at least one of the following parameters: backup policy name, target Internet Protocol address, backup directory, backup policy start time, and backup retention period. These parameters collectively define important parameters such as the target, time, and method of the backup task.

[0076] Before creating the main backup task and executing subtasks, the backup policy must be queried and created. Specifically, it is necessary to confirm whether the corresponding backup execution rules have been configured in the backup software. The query method can be to use one or more key identifiers in the backup policy (such as the backup policy name) as query conditions, and verify them by calling the management interface provided by the backup software. The results returned by the interface are then compared with the locally configured backup policy information to determine whether the policy already exists in the backup software.

[0077] If the above checks reveal that no backup policy matches the current primary backup task within the backup software, it needs to be created within the backup software. This is done by calling the policy creation interface provided by the backup software, taking the parameters of the aforementioned backup policy as input, and sending a request to the backup software to create a new policy.

[0078] In some preferred embodiments of this application, the backup strategy mode to be created can be configured as a manual task mode. In this mode, the strategy itself does not automatically trigger a full backup at a scheduled time, but waits for external instructions. The backup software is configured such that when a file list of a specific subtask is passed in through the task execution interface, the backup software can identify and associate it with the strategy, and strictly follow the file range specified in the list, as well as the target address, directory path, and other rules defined in the strategy to start the file backup and transfer operation.

[0079] This embodiment verifies and writes the backup policy in advance, allowing the backup software to clearly define important rules such as the backup target address, directory, and window, thus preventing the backup software from executing incorrect policies. By storing the backup policy uniformly in the backup software, the rules of the management system and the backup software are synchronized, ensuring that the software accurately executes the sub-task list passed in through the interface, thereby improving the consistency of cross-system collaboration and the accuracy of backups.

[0080] According to an embodiment of this application, calling file backup software to perform a file backup operation based on a subtask includes: obtaining a file list of the subtask and calling the interface of the file backup software to execute the backup task; after the backup task of the subtask is completed, recording the completion time and status of the subtask to a policy temporary split task list, which is generated based on the backup main task and is used to record the execution status of each subtask.

[0081] When it is determined that the current time is within the backup time window and a subtask is ready to be executed, the corresponding file list is first retrieved from the storage location or data structure preset for that subtask. This list is a list containing the specific paths of all files that the subtask needs to back up; for example, it is a subset containing a certain number of file paths that are sequentially divided from the main file list.

[0082] Next, a request conforming to the backup software interface specification is constructed. This request must contain at least the following key information: the identifier of the target backup policy, the target Internet Protocol address, and a list of files to be transferred in this subtask. This request is then submitted to the backup software by invoking the task execution interface provided by the backup software.

[0083] After receiving the request, the backup software finds the corresponding backup configuration, such as the target storage address, based on the policy identifier in the request. Then, based on the precise file list provided, it starts the data reading and transmission process, backing up all the files listed in the list from the source server to the target.

[0084] After initiating a task via the backup software interface, the execution status of the subtask is continuously monitored. This can be achieved, for example, by periodically polling the query interface. When the interface confirms that the backup job corresponding to the subtask has successfully completed or failed, a status record is made. The final status of this subtask execution, such as completion / failure and completion time, is updated and recorded in a temporary policy-split task list specifically maintained for the main backup task. The temporary policy-split task list is generated after the main backup task is created. Each record corresponds to a subtask, and its fields may include: backup policy name, main task number, backup content, subtask number, start time, end time, or task status.

[0085] In this embodiment, obtaining the subtask file list enables the backup software to accurately locate the files to be backed up, avoiding errors and omissions during the backup execution process; recording the subtask execution information to the policy temporary split task list allows for real-time monitoring and analysis of the execution status of each subtask, facilitating maintenance personnel to monitor backup progress and quickly locate fault nodes, significantly improving the refined management capabilities and operational efficiency of backup tasks.

[0086] According to an embodiment of this application, the execution duration of a subtask and / or the transmission rate of the file to be backed up are obtained based on the start and end times of the subtask. The strategy temporarily splits the task list and also records the data size of the subtask. If the execution duration of a subtask and / or the transmission rate of the file to be backed up are lower than expected, the backup time window and / or the preset number of files are adjusted so that the execution duration of the subtask and / or the transmission rate of the file to be backed up meet expectations.

[0087] In the aforementioned strategy-based temporary task splitting list, in addition to recording the start time, end time, and status of the subtask, the size of the data successfully backed up by the subtask is also recorded. The recorded data size can be in megabytes or gigabytes.

[0088] Based on the records in the list, the following calculations can be performed:

[0089] Execution duration: Calculated by subtracting the start time from the end time of the subtask.

[0090] Transmission rate: Calculated by dividing the size of the data backed up by this subtask by its execution time.

[0091] For example, after a subtask is completed, the records in the task list are temporarily split according to the strategy. The start time is 02:00, the end time is 02:50, and the data size is 18 gigabytes. The execution time of the subtask is calculated to be (02:50) - (02:00) = 50 minutes, and the transmission rate is (18 × 1000) ÷ (50 × 60) = 6 megabytes per second.

[0092] Pre-set one or more performance thresholds as expected values. For example: set the expected transfer rate to 5 megabytes per second and / or set the expected execution duration to 80% of the total backup time window.

[0093] Compare the calculated actual transmission rate with the expected transmission rate, and / or compare the actual execution time with the expected execution time.

[0094] If the actual execution results do not meet expectations—for example, if the average transfer rate consistently falls below 5 megabytes per second, or if the execution time frequently occupies an excessively large proportion of the window duration—then parameter adjustment logic is triggered. The purpose of this adjustment is to ensure that the estimated execution time and transfer rate of subsequent subtasks meet the expected values. Specific adjustments may include the following methods.

[0095] Adjust the backup time window to extend the total duration of the backup time window configured for the main backup task. For example, increase the original window from 6 hours to 8 hours to provide more execution time for each subtask.

[0096] Adjust the preset file count to reduce the maximum number of files per subtask. For example, reduce the split dimension from 10,000 files to 5,000 files, thereby reducing the data volume and expected execution time of a single subtask. The adjusted parameters will also be used for task splitting and scheduling decisions in subsequent execution cycles of this backup master task.

[0097] This embodiment quantifies the actual performance of subtasks into specific metrics and compares them with preset targets. When performance falls short of expectations, the control parameters affecting task execution time are automatically and adaptively adjusted. This allows the backup process parameter configuration to adapt to different data environments and system loads, avoiding backup timeouts caused by fixed parameters, improving the flexibility and adaptability of the backup strategy, and also increasing the execution efficiency and success rate of subsequent tasks.

[0098] According to an embodiment of this application, in response to the completion of all subtasks of the main backup task, the backup time of the main backup task is recorded in the backup task master table; based on the backup date in the backup task master table and the backup index directory of the backup software, specified files under the directory to be backed up for the target Internet Protocol address can be restored.

[0099] Once the status of the last subtask corresponding to the main backup task is marked as completed, the main task is considered to have finished executing. Subsequently, the completion time of this backup job is extracted and used as the backup time of the main task.

[0100] The backup time and other identifying information of the primary backup task, such as the primary task number, target internet protocol address, and backup directory, are written as a record or updated in the master backup task table. The master backup task table stores task information for all completed primary backup tasks, facilitating subsequent data recovery.

[0101] When it is necessary to restore one or more files from a specific directory under a target Internet Protocol address from a backup, the historical point in time to which the files need to be restored is first determined, i.e., the backup date. Based on this date, a query is performed in the backup task master table to locate the master backup task record that was completed on or closest to that backup date, as well as the master backup task record that was successfully executed for the same target address and directory, thereby determining the source backup batch to be used for restoration.

[0102] After each backup task is executed, the file backup software generates its own backup index directory. This directory records the source data of the files included in each backup task, as well as their physical location information on the backup storage medium.

[0103] Based on the backup batch corresponding to the backup date determined from the master backup task list, a detailed list of all files in that specific batch can be found in the backup software's index directory. By searching this list for the path and name of the file to be restored, the precise location of that file in the backup storage can be obtained. Finally, by calling the recovery interface or function provided by the backup software, passing in the file identifier and the target recovery location, the recovery operation for the specified file is initiated and completed.

[0104] This embodiment establishes a master backup task table to record the macro-level time points of task completion, and combines it with the backup software's own index directory to provide a location path for data recovery requests. From massive backup records, the corresponding backup set can be quickly identified by backup date, and then single or partial files can be quickly recovered using the backup software's index, improving the accuracy and efficiency of data recovery operations.

[0105] According to the embodiments of this application, the average file transfer rate of completed subtasks and the execution time of a single batch of subtasks are statistically analyzed; after the current subtask is completed, the number of subtask batches that can be completed in the remaining time is calculated based on the average file transfer rate, the remaining backup window duration, and the total number of unbacked-up files; if the number of subtask batches that can be completed in the remaining time is less than 1, the main backup task is stopped.

[0106] Based on the strategy of temporarily splitting the task list, all subtask records with a completed status can be calculated as follows.

[0107] The average file transfer rate is calculated by taking the arithmetic mean of the transfer rates of all completed subtasks.

[0108] The execution time of a single batch of subtasks is estimated by calculating the average execution time of all completed subtasks, or by taking the average execution time of the most recent multiple completed subtasks.

[0109] After confirming the completion of the current subtask, obtain the current time and calculate the remaining backup window duration from the current time to the end of the backup time window based on the backup strategy. Count the total number of unbacked-up files in the queue of unfinished subtasks or the total file list. This total number can be obtained by summing the number of files contained in all unexecuted subtasks.

[0110] Based on the above parameters, a preliminary estimate can be made using one of the following methods:

[0111] For example, the estimated total amount of remaining data can be divided by the average file transfer rate to calculate the number of subtask batches that can be completed in the remaining time.

[0112] For example, using the execution time of a single batch subtask as a benchmark, calculate how many of the standard batch tasks can be completed within the remaining backup window.

[0113] The calculated result represents the number of subtasks that are expected to be completed within the remaining window, measured at the current task granularity.

[0114] The calculation results are evaluated. If the result is less than 1, indicating that the next complete subtask is not expected to be completed, the next subtask will not be started. The backup process pauses here, and the current main backup task will be marked as partially completed or paused. Unexecuted subtasks will be reserved for the next backup cycle. If the calculation result is greater than or equal to 1, the process continues, and the operations for retrieving and executing the next subtask are performed.

[0115] This embodiment continuously evaluates the matching relationship between the remaining task volume and the remaining time within the backup time window. When it is predicted that there is insufficient time to complete the next smallest task unit, it actively stops the backup task, avoiding the forced interruption of the backup task at the end of the window due to forced startup. This reduces invalid backup operations and the resulting task breakpoints, improves the utilization efficiency of backup resources and the rationality of task management, and simplifies the task management and continuation logic across backup cycles.

[0116] Figure 3 A flowchart illustrating a subtask execution method according to an embodiment of this application is shown schematically. Figure 3 As shown, the subtask execution method includes operations S301 to S310.

[0117] In operation S301, the main backup task is divided into n subtasks: subtask 1, subtask 2, ..., subtask n. In this operation, based on a preset file quantity threshold, the main backup task created for the target Internet Protocol address and directory is divided into multiple sequentially executed subtask units.

[0118] In operation S302, check if the current time falls within the backup window. If yes, proceed to operation S303; otherwise, proceed to operation S304. In this operation, determine if the current system time falls within the time period preset for the main backup task to allow backup execution, to ensure that normal business operations are not interfered with.

[0119] In operation S303, calculate whether the number of subtask batches that can be completed in the remaining time of the current window is greater than 1. If yes, proceed to operation S305; otherwise, proceed to operation S304. In this operation, based on the average execution rate of historical subtasks and the remaining window duration, estimate whether at least one complete subtask can be completed before the window ends.

[0120] In operation S304, the startup subtask is stopped, and the process waits for the next window. During this operation, if the current window is not in a backup window or there is insufficient time remaining to complete a subtask, the scheduling process is paused, and execution continues only after the next backup cycle.

[0121] In operation S305, subtask 1 is extracted and executed. In this operation, the first subtask to be executed is retrieved from the subtask queue, the backup software interface is invoked, and the backup operation is started according to its file list.

[0122] In operation S306, subtask 1 is completed. During this operation, the backup software completes the transfer of all files for this subtask and then returns a status indicating that subtask 1 is complete.

[0123] In operation S307, subtask 2 is retrieved. In this operation, after the previous subtask is completed, the next subtask to be executed is automatically retrieved from the queue.

[0124] In operation S308, check if the current time is within the backup window. If yes, proceed to operation S309; ​​otherwise, return to operation S304. In this operation, time window compliance is re-verified before executing each subtask to ensure that all operations are within the allowed time period.

[0125] In operation S309, calculate whether the number of subtask batches that can be completed in the remaining time of the current window is greater than 1. If yes, proceed to operation S310; otherwise, return to operation S304. In this operation, before preparing to execute the next subtask, reassess the remaining window time and the remaining number of tasks to determine whether to continue with the next subtask.

[0126] In operation S310, subtask 2 is executed. In this operation, if both the time window and remaining time conditions are met, the backup operation for the next subtask is initiated. For the execution of all subtasks within this main backup task, operations S306 to S310 are repeated until all subtasks are completed.

[0127] According to an embodiment of this application, at the end of the backup time window, the execution of the current subtask is paused and the breakpoint is recorded; in the backup window of the next backup cycle, the backup is resumed from the breakpoint first.

[0128] During the backup operation of a subtask, the current time is continuously monitored. When the current time is detected to have reached or exceeded the end time of the backup time window, regardless of the backup progress of the subtask, an interrupt or pause command is immediately sent to the file backup software to pause the backup operation of the current subtask.

[0129] After pausing a subtask, record the breakpoint information for this pause. This breakpoint information includes at least: the current subtask identifier, and the exact location or index of the last file in the subtask's file list that has been successfully backed up. This breakpoint information is then stored, for example, by updating the subtask's record in the policy's temporary split task list, or by storing it in a separate breakpoint information file.

[0130] When entering the next execution cycle of the main backup task, and confirming that the current time is within the new backup time window, first check if there are any main backup tasks that were previously paused due to the end of the window and have not yet been completed. This can be done by querying the backup task master table or the list of tasks temporarily split by the policy, for records with a status of paused or partially completed. If such tasks exist, then further read their associated breakpoint information.

[0131] If a subtask with a breakpoint is identified, its next subtask will not be executed from the beginning. Instead, based on the recorded breakpoint information, the suspended subtask will be resumed first.

[0132] Specifically, based on the breakpoint information, the paused subtask and its file list are located. From this file list, files successfully backed up before the breakpoint are removed, generating a new sublist of files to be backed up, starting with the first unbacked-up file after the breakpoint. The file backup software's interface is then invoked, using this new file sublist as input, to continue the backup operation from the breakpoint until the subtask is completed.

[0133] Once the backup of the subtask is restored from the breakpoint and the entire backup process is complete, its status is updated to "complete". Afterward, the backup process will revert to normal sequential scheduling, continuing to extract and execute the next subtask to be executed from the main backup task.

[0134] This embodiment forcibly pauses and records task breakpoints at the end of the backup time window, ensuring strict adherence to business time constraints during backup operations and avoiding interference with core business. By performing differentiated task recovery based on breakpoint information in subsequent cycles, duplicate backups of transmitted data are avoided, reducing the ineffective consumption of network bandwidth and storage resources, improving resource utilization, and ensuring the integrity, continuity, and economy of long-cycle backup task execution.

[0135] Figure 4 An interactive schematic diagram of a file backup method according to an embodiment of this application is shown. For example... Figure 4 As shown, the interaction includes the following process.

[0136] Before performing a backup task, check if the file backup software has a backup policy. If the backup software does not have a backup policy, call the backup software's interface to write the backup policy into the backup software's policy backup library, ensuring that the backup software has consistent backup rules and providing a policy basis for subsequent execution.

[0137] After the main backup task starts, a temporary task list is generated according to the main backup task generation strategy. This list is used to track and record the execution status of each subtask. The generation of this list is based on the task objectives and splitting rules defined in the backup strategy.

[0138] The system retrieves a list of files for each subtask and calls the file backup software's interface to execute the backup task. The subtask information in the list drives the backup software's execution module to initiate the specific backup and transfer operations.

[0139] After the backup task of the subtask is completed, the completion time and status of the subtask are recorded in the policy temporary split task list.

[0140] In response to the completion of all subtasks of the main backup task, the backup time of the main backup task is recorded in the backup task master table. Once all subtasks in the list are marked as completed, their information, including the backup date, is summarized and archived in the backup task master table as an index for recovery operations.

[0141] When restoring files, the system restores specified files in the directory to be backed up at the target Internet Protocol address based on the backup date in the master backup task table and the backup index directory of the backup software. The backup date in the master table serves as a key query condition, used to locate the specific backup file storage location in the backup software's index directory.

[0142] Based on the above file backup method, this application also provides a file backup device. The following will be combined with... Figure 5 The device is described in detail.

[0143] Figure 5A schematic block diagram of a file backup device according to an embodiment of this application is shown.

[0144] like Figure 5 As shown, the file backup device 500 of this embodiment includes a backup master task creation module 510, a subtask creation module 520, and a file backup operation module 530.

[0145] The main task creation module 510 is used to create a backup main task based on the directory to be backed up corresponding to the target Internet Protocol address. The directory to be backed up stores files to be backed up, and the backup main task is configured to back up the files to be backed up to the target storage address. In one embodiment, the main task creation module 510 can be used to perform the operation S210 described above, which will not be repeated here.

[0146] The subtask creation module 520 is used to split the main backup task into at least one subtask according to a preset number of files. In one embodiment, the subtask creation module 520 can be used to perform the operation S220 described above, which will not be repeated here.

[0147] The file backup operation module 530 is used to, according to a pre-configured backup strategy, if currently within the backup time window of the main backup task, invoke the file backup software to perform a file backup operation based on a subtask. The backup strategy includes the backup time window of the main backup task; the execution duration of the subtask is less than the total duration of the backup time window. In one embodiment, the file backup operation module 530 can be used to execute the operation S230 described above, which will not be repeated here.

[0148] According to an embodiment of this application, the file backup operation module 530 is further configured to, in response to completing a file backup operation of a subtask, extract the next subtask from the backup master task; if currently in the backup time window of the backup master task, invoke the file backup software to perform a file backup operation according to the next subtask.

[0149] According to an embodiment of this application, the file backup device 500 further includes a backup strategy configuration module, used to check whether there is a backup strategy in the backup software. The backup strategy includes at least one of the following: backup strategy name, target Internet Protocol address, backup directory, backup strategy start time, backup time window, or backup retention period. If there is no backup strategy in the backup software, the backup software interface is called to write the backup strategy into the backup software. The backup software is configured to complete the backup operation according to the file list of subtasks passed in by the interface.

[0150] According to an embodiment of this application, the file backup operation module 530 is further configured to: obtain a file list of subtasks and call the interface of the file backup software to execute backup tasks; after the backup task of a subtask is completed, record the completion time and status of the subtask to a policy temporary split task list, which is generated based on the backup main task and is used to record the execution status of each subtask.

[0151] According to an embodiment of this application, the file backup operation module 530 is further configured to obtain the execution duration of the subtask and / or the transmission rate of the file to be backed up based on the start and end times of the subtask, wherein the strategy temporary split task list also records the data size of the subtask; if the execution duration of the subtask and / or the transmission rate of the file to be backed up are lower than expected, the backup time window and / or the preset number of files are adjusted so that the execution duration of the subtask and / or the transmission rate of the file to be backed up meet expectations.

[0152] According to an embodiment of this application, the file backup operation module 530 is further configured to, in response to completing all subtasks of the backup main task, record the backup time of the backup main task in the backup task master table; and, based on the backup date in the backup task master table and the backup index directory of the backup software, restore specified files in the directory to be backed up for the target Internet Protocol address.

[0153] According to an embodiment of this application, the file backup operation module 530 is further configured to: count the average file transfer rate of completed subtasks and the execution time of a single batch of subtasks; after completing the current subtask, calculate the number of subtask batches that can be completed in the remaining time based on the average file transfer rate, the remaining backup window duration, and the total number of unbacked-up files; if the number of subtask batches that can be completed in the remaining time is less than 1, stop executing the main backup task.

[0154] According to an embodiment of this application, the file backup operation module 530 is further configured to, at the end of the backup time window, pause the execution of the current subtask and record the breakpoint; and resume the backup from the breakpoint in the backup window of the next backup cycle.

[0155] According to embodiments of this application, any multiple modules among the backup master task creation module 510, subtask creation module 520, and file backup operation module 530 can be merged into one module, or any one of these modules can be split into multiple modules. Alternatively, at least some of the functions of one or more of these modules can be combined with at least some of the functions of other modules and implemented in one module. According to embodiments of this application, at least one of the backup master task creation module 510, subtask creation module 520, and file backup operation module 530 can be at least partially implemented as hardware circuitry, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system-on-a-chip, a system-on-a-substrate, a system-on-package, an application-specific integrated circuit (ASIC), or any other reasonable means of integrating or packaging circuitry, or implemented in software, hardware, or firmware, or in any suitable combination of any of these three implementation methods. Alternatively, at least one of the backup main task creation module 510, the subtask creation module 520, and the file backup operation module 530 can be implemented at least partially as a computer program module, which can perform corresponding functions when the computer program module is run.

[0156] Figure 6 A block diagram schematically illustrates an electronic device suitable for implementing a file backup method according to an embodiment of this application.

[0157] like Figure 6 As shown, an electronic device 600 according to an embodiment of this application includes a processor 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage portion 608 into a random access memory (RAM) 603. The processor 601 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 601 may also include onboard memory for caching purposes. The processor 601 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of this application.

[0158] RAM 603 stores various programs and data required for the operation of electronic device 600. Processor 601, ROM 602, and RAM 603 are interconnected via bus 604. Processor 601 executes various operations of the method flow according to embodiments of this application by executing programs in ROM 602 and / or RAM 603. It should be noted that the programs may also be stored in one or more memories other than ROM 602 and RAM 603. Processor 601 may also execute various operations of the method flow according to embodiments of this application by executing programs stored in said one or more memories.

[0159] According to embodiments of this application, the electronic device 600 may further include an input / output (I / O) interface 605, which is also connected to a bus 604. The electronic device 600 may also include one or more of the following components connected to the input / output (I / O) interface 605: an input section 606 including a keyboard, mouse, etc.; an output section 607 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the input / output (I / O) interface 605 as needed. A removable medium 611, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 610 as needed so that computer programs read from it can be installed into the storage section 608 as needed.

[0160] This application also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs, which, when executed, implement the method according to the embodiments of this application.

[0161] According to embodiments of this application, the computer-readable storage medium can be a non-volatile computer-readable storage medium, such as including but not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this application, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of this application, the computer-readable storage medium may include ROM 602 and / or RAM 603 and / or one or more memories other than ROM 602 and RAM 603 described above.

[0162] Embodiments of this application also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowchart. When the computer program product is run on a computer system, the program code enables the computer system to implement the file backup method provided in the embodiments of this application.

[0163] When the computer program is executed by the processor 601, it performs the functions defined in the system / apparatus of this application embodiment. According to the embodiments of this application, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.

[0164] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and may be downloaded and installed via the communication section 609, and / or installed from a removable medium 611. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.

[0165] In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 609, and / or installed from the removable medium 611. When the computer program is executed by the processor 601, it performs the functions defined in the system of this application embodiment. According to the embodiments of this application, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.

[0166] According to embodiments of this application, program code for executing the computer programs provided in the embodiments of this application can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages ​​include, but are not limited to, languages ​​such as Java, C++, Python, "C", or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0167] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0168] Those skilled in the art will understand that the features described in the various embodiments of this application can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in this application. In particular, the features described in the various embodiments of this application can be combined and / or combined in various ways without departing from the spirit and teachings of this application. All such combinations and / or combinations fall within the scope of this application.

Claims

1. A file backup method, characterized in that, include: A backup master task is created based on the directory to be backed up corresponding to the target Internet Protocol address. The directory to be backed up stores files to be backed up. The backup master task is configured to back up the files to be backed up to the target storage address. The backup master task is split into at least one sub-task based on a preset number of files; According to the pre-configured backup strategy, if the current time is within the backup time window of the main backup task, the file backup software is invoked to perform a file backup operation based on one of the subtasks. The backup strategy includes the backup time window of the main backup task. The execution time of the subtask is less than the total duration of the backup time window.

2. The method according to claim 1, characterized in that, The method further includes: In response to the completion of a file backup operation for one of the subtasks, the next subtask is extracted from the main backup task; If the current backup time window is within the main backup task, the file backup software is invoked to perform a file backup operation according to the next subtask.

3. The method according to claim 1, characterized in that, Also includes: Check if the backup policy exists in the backup software. The backup policy also includes at least one of the following: backup policy name, target Internet Protocol address, backup directory, backup policy start time, backup time window, or backup retention period. If the backup software does not have the backup strategy, the backup software's interface is invoked to write the backup strategy into the backup software, and the backup software is configured to complete the backup operation according to the file list of the subtask passed in through the interface.

4. The method according to claim 1, characterized in that, The process of calling the file backup software to perform a file backup operation based on one of the subtasks includes: Obtain the file list of the subtask and call the interface of the file backup software to execute the backup task; After the backup task of the subtask is completed, the completion time and status of the subtask are recorded in the policy temporary split task list. The policy temporary split task list is generated according to the backup main task and is used to record the execution status of each subtask.

5. The method according to claim 4, characterized in that, Also includes: Based on the start and end times of the subtasks, the execution duration of the subtasks and / or the transmission rate of the files to be backed up are obtained, wherein the strategy of temporarily splitting the task list also records the data size of the subtasks; If the execution time of the subtask and / or the transmission rate of the file to be backed up are lower than expected, the backup time window and / or the preset number of files shall be adjusted so that the execution time of the subtask and / or the transmission rate of the file to be backed up meet expectations.

6. The method according to claim 2, characterized in that, Also includes: In response to the completion of all subtasks of the main backup task, the backup time of the main backup task is recorded in the backup task master table; Based on the backup date in the backup task master table and the backup index directory of the backup software, specified files in the directory to be backed up for the target Internet Protocol address can be restored.

7. The method according to claim 2, characterized in that, Also includes: Statistical analysis of the average file transfer rate of completed subtasks and the execution time of a single batch of subtasks; After completing the current subtask, the number of subtask batches that can be completed in the remaining time is calculated based on the average file transfer rate, the remaining backup window duration, and the total number of unbacked-up files. If the number of subtask batches that can be completed within the remaining time is less than 1, stop executing the backup main task.

8. The method according to claim 2, characterized in that, Also includes: At the end of the backup time window, pause the execution of the current subtask and record the breakpoint; In the backup window of the next backup cycle, the backup will resume from the point where the breakpoint was previously set.

9. A file backup device, characterized in that, The device includes: The backup master task creation module is used to create a backup master task based on the directory to be backed up corresponding to the target Internet Protocol address. The directory to be backed up stores files to be backed up, and the backup master task is configured to back up the files to be backed up to the target storage address. A subtask creation module is used to split the main backup task into at least one subtask based on a preset number of files; and The file backup operation module is used to, according to a pre-configured backup strategy, if the current location is within the backup time window of the main backup task, invoke the file backup software to perform a file backup operation based on a subtask. The backup strategy includes the backup time window of the main backup task; the execution time of the subtask is less than the total duration of the backup time window.

10. An electronic device, comprising: One or more processors; Memory, used to store one or more computer programs. The characteristic feature is that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 8.

11. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 8.

12. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 8.