Task scheduling method, scheduling system, client and computing device cluster
By converting global computing tasks to a unified time zone for scheduling and verification, the problem of complex management of computing tasks in different time zones is solved, and efficient unified computing and management are achieved.
Patent Information
- Application Number
- CN202411146918.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2026-03-03
AI Technical Summary
Global companies face high complexity and are prone to errors in managing computing tasks across different time zones, and existing technologies struggle to effectively unify scheduling and computation.
By converting computing tasks from different time zones to a unified time zone scheduling system, the scheduling system can automatically determine the execution time and perform check verification, thereby reducing management difficulty and improving computing efficiency.
It enables centralized scheduling and unified computing of global computing tasks, reducing management complexity, improving overall computing efficiency, and saving computing time.
Smart Images

Figure CN121597350A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing technology, and in particular to a task scheduling method, scheduling system, client, and computing device cluster. Background Technology
[0002] In the context of globalization, many international companies face the need to operate in various countries and regions around the world, which involves global personnel management and payroll calculation, resulting in a large number of global calculation tasks. These calculation tasks can be combined and divided according to one or more dimensions such as time zone (e.g., UTC+8, UTC+5, UTC+5), pay type (e.g., salary, bonus, individual income tax, social security, etc.), and personnel type (e.g., local, expatriate, etc.), thus resulting in many different task types.
[0003] Currently, different types of computing tasks are managed and computed separately, but the large number of task types leads to excessive management complexity and makes it easy to make mistakes. Summary of the Invention
[0004] This application provides a task scheduling method, scheduling system, client, and computing device cluster, which can reduce the management complexity of computing tasks.
[0005] Firstly, this application provides a task scheduling method applied to a scheduling system. The method includes: acquiring information about a first computational task, the information including a first execution time of the first computational task, the first execution time being a time in a first time system; then, determining a first time period corresponding to the first computational task from multiple time periods based on the first execution time; and scheduling the first computational task when the current time falls within the first time period. The multiple time periods are different time periods under a second time system, where the second time system and the first time system are different timekeeping systems; the first execution time corresponds to a second execution time under the second time system, and the second execution time falls within the first time period.
[0006] In the above scheme, the first execution time of the first computation task corresponds to the first time system. The second time system is a timing system used by the scheduling system when scheduling tasks, but it differs from the first time system. To schedule the first computation task according to the second time system, the scheduling system needs to first determine the execution time corresponding to the first execution time under the second time system, i.e., the second execution time. Then, it determines the first time period to which the second execution time belongs as the time period corresponding to the first computation task. The correspondence between the first computation task and the first time period instructs the scheduling system to execute the first computation task within the first time period. Therefore, when the current time arrives at the first time period, the scheduling system can schedule and execute the first computation task, thereby obtaining the computation result of the first computation task.
[0007] Because this scheme can convert computing tasks under different time formats into scheduling under the same time format, it can reduce the management difficulty of computing tasks and improve the overall computing efficiency.
[0008] Based on the first aspect, in possible implementation schemes, the first time system is the timekeeping system of the first time zone, and the second time system is the timekeeping system of the second time zone. The first time zone and the second time zone are different time zones.
[0009] In other words, the scheduling system uses the second time zone's timekeeping system (zone time) for task scheduling. This solution converts computational tasks from other time zones (such as the first time zone) to the second time zone's timekeeping system (determining which time period under the second time system the computational task corresponds to). This is equivalent to converting computational tasks from different time zones into computational tasks from the same time zone. This allows for centralized scheduling and unified computation of computational tasks from multiple time zones globally, thereby reducing the management complexity of globalized computational tasks and improving overall computational efficiency while saving overall computational time.
[0010] Based on the first aspect, in a possible implementation, the scheduling system can obtain the first execution time of the first computing task in the following way: obtain the time point corresponding to the first task type configured by the user, and obtain the time zone information of the first computing task, wherein the first computing task belongs to the first task type, the time zone information is used to indicate the first time zone, and then determine the first execution time based on the time zone information and the time point.
[0011] In other words, users do not need to configure the execution time for each type of computing task in each time zone. They only need to configure the corresponding time point (excluding time zone information) for each task type. Then, the scheduling system can automatically determine the execution time of the computing task based on the time point corresponding to the task type and the time zone information of the computing task.
[0012] Based on the first aspect, in a possible implementation, the information of the first computing task also includes the check results of N check items corresponding to the first computing task, the check results indicating whether the N check items have passed. The scheduling system can schedule the first computing task to obtain the first computing result of the first computing task if the current time is within a first time period and the check results indicate that some or all of the N check items have passed.
[0013] In other words, before scheduling the first computing task, the scheduling system needs to check N check items corresponding to the first computing task. Only when some or all of the N check items pass, and the current time is within the first time period, can the first computing task be scheduled. Controlling whether to schedule the first computing task by checking the results of the check items helps reduce the management difficulty of computing tasks.
[0014] Based on the first aspect, in a possible implementation, the scheduling system stores a first value, which represents the check result, and the first value satisfies one of the following conditions 1 and 2:
[0015] Condition 1: The first value has M digits, and the N check items correspond to the M digits. The digits corresponding to different check items are different. The digits in the digits corresponding to each check item are used to indicate whether the corresponding check item passes or fails.
[0016] Condition 2: The first value is a value in the first number system, and the first value corresponds to the second value in the second number system. The first number system and the second number system are different counting systems, and the second value has M digits.
[0017] When condition 1 is met, it means that the digits of each place value in the first numerical value are used to indicate whether the corresponding check item of the first calculation task has passed. There is a correspondence between N check items and M place values; here, one check item can correspond to one place value, or one check item can correspond to multiple place values. It should be understood that compared to using different fields to represent the check results of different check items, using the first numerical value to represent the check results of N check items saves storage space in the scheduling system.
[0018] When condition 2 is met, it means that the digits of the second value are used to indicate whether the corresponding check item of the first calculation task has passed or failed. There is a correspondence between N check items and M digits; here, one check item can correspond to one digit, or one check item can correspond to multiple digits. Then, the second value in the second number system is converted to the first value in the first number system, and the scheduling system only stores the first value. For example, the second value can be a binary number, where different binary bits correspond to different check items. A digit of 0 in a binary bit indicates that the corresponding check item has failed, and a digit of 1 in a binary bit indicates that the corresponding check item has passed. Then, the second value is converted to the first value in decimal. Compared to directly storing the second value, storing the first value saves storage space, especially when the second value has many digits; converting the second value to the first value with fewer digits occupies less storage space.
[0019] Based on the first aspect, in a possible implementation, after the scheduling system obtains the first calculation result of the first calculation task, it can send the first calculation result to the client. Then, upon receiving a request from the client to view details of the first calculation result, it determines the check result based on the stored first value and then sends the check result to the client.
[0020] In the above scheme, the details request indicates that the client needs to view the detailed data of when the scheduling system executed the first computation task to obtain the first computation result. The detailed data includes the check results of these N check items when the scheduling system executed the first computation task. Previously, to save storage resources, the scheduling system only stored a first value to represent the check results of the N check items corresponding to the first computation task. Therefore, when the scheduling system receives the details request, it can reverse-engineer the check results of these N check items at that time through the stored first value and the correspondence between each digit of the first value and the check items, and then send these check results to the client.
[0021] Based on the first aspect, in a possible implementation, the first computational task is used to calculate salary. Of course, in addition to computational tasks in the salary calculation scenario, this application can also be applied to other computational scenarios, and this application does not specifically limit the task type of the computational task.
[0022] Secondly, this application also provides a task scheduling method for a client. The method includes: sending a time point corresponding to a first task type to a scheduling system; sending time zone information of a first computational task to the scheduling system, wherein the time zone information indicates a first time zone, the first time zone and the time point are used to determine a first execution time for the first computational task for the scheduling system, the first execution time is used to determine a first time period corresponding to the first computational task from multiple time periods, the multiple time periods are different time periods under a second time zone's timing system, the second time zone and the first time zone are different time zones, the first execution time corresponds to a second execution time under the second time system, and the second execution time is located within the first time period; then, receiving a first computation result of the first computational task sent by the scheduling system, wherein the first computation result is obtained by the scheduling system scheduling the first computational task when the current time is within the first time period.
[0023] Based on the second aspect, in a possible implementation, after the client receives the first calculation result of the first calculation task sent by the scheduling system, the client can send a request to the scheduling system to view the details of the first calculation result, and then receive the first check result fed back by the scheduling system in response to the request to view the details. The first check result is the check result of N check items corresponding to the calculation task, and the first check result is used to indicate whether the N check items have passed.
[0024] Based on the second aspect, in a possible implementation, the first calculation task is used to calculate compensation.
[0025] Thirdly, this application also provides a scheduling system, including an interface module, a determination module, and a scheduling module. The interface module is used to acquire information about a first computing task, wherein the information includes a first execution time of the first computing task, which is a time in a first time system. The determination module is used to determine a first time period corresponding to the first computing task from multiple time periods based on the first execution time, wherein the multiple time periods are different time periods in a second time system, and the second time system and the first time system are different timekeeping systems. The first execution time corresponds to a second execution time in the second time system, and the second execution time is located within the first time period. The scheduling module is used to schedule the first computing task when the current time is within the first time period.
[0026] The aforementioned scheduling system may also include more or fewer units / modules, without specific limitations here. The scheduling system in the third aspect is specifically used to execute the methods of any of the implementation schemes in the first aspect, as described above, and will not be repeated here.
[0027] Fourthly, this application also provides a client, including a sending module and a receiving module. The sending module is used to send the time point corresponding to the first task type to the scheduling system. The sending module is also used to send the time zone information of the first computing task to the scheduling system, wherein the time zone information is used to indicate the first time zone, the first time zone and the time point are used to determine the first execution time of the first computing task for the scheduling system, the first execution time is used to determine the first time period corresponding to the first computing task from multiple time periods, the multiple time periods are different time periods under the time system of a second time zone, the second time zone and the first time zone are different time zones, the first execution time corresponds to the second execution time under the second time system, and the second execution time is located in the first time period. The receiving module is used to receive the first calculation result of the first computing task sent by the scheduling system, wherein the first calculation result is obtained by the scheduling system scheduling the first computing task when the current time is in the first time period.
[0028] The aforementioned client may also include more or fewer units / modules, without specific limitations here. The client in the fourth aspect is specifically used to execute the method of any implementation scheme in the second aspect, as described above, and will not be repeated here.
[0029] Fifthly, this application also provides a scheduling system including a processor and a memory, the processor being configured to execute instructions stored in the memory to cause the scheduling system to perform a method as described in any embodiment of the first aspect.
[0030] In a sixth aspect, this application also provides a client including a processor and a memory, the processor being configured to execute instructions stored in the memory to cause the client to perform a method as described in any embodiment of the second aspect.
[0031] In a seventh aspect, this application also provides a chip system including a processor and a power supply circuit for supplying power to the processor, which is used to perform a method as described in any of the embodiments of the first or second aspect.
[0032] Eighthly, this application also provides a computing device cluster including at least one computing device, each computing device including a processor and a memory. The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster performs a method as described in any embodiment of the first or second aspect.
[0033] Ninthly, this application also provides a computer program product containing instructions. When the aforementioned instructions are executed by a cluster of computing devices (including at least one computing device), the cluster of computing devices causes the cluster of computing devices to perform the method as described in either the first or second aspect.
[0034] In a tenth aspect, this application also provides a computer-readable storage medium including computer program instructions that, when executed by a cluster of computing devices (including at least one computing device), perform a method as described in either the first or second aspect.
[0035] Based on the implementation schemes provided in the above aspects, this application can be further combined to provide more implementation schemes. Attached Figure Description
[0036] To clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments are briefly introduced below.
[0037] Figure 1 This is a system architecture diagram provided in an embodiment of this application;
[0038] Figure 2 This is a flowchart illustrating a task scheduling method provided in an embodiment of this application;
[0039] Figure 3 This is a schematic diagram of a scheduling time loop provided in an embodiment of this application;
[0040] Figure 4 This is a schematic diagram of the structure of a scheduling system provided in an embodiment of this application;
[0041] Figure 5 This is a schematic diagram of the structure of a client provided in an embodiment of this application;
[0042] Figure 6 This is a schematic diagram of the structure of a computing device provided in an embodiment of this application;
[0043] Figure 7 This is a schematic diagram of a computing device cluster provided in an embodiment of this application;
[0044] Figure 8 This is a schematic diagram illustrating the connection of two computing devices via a network according to an embodiment of this application. Detailed Implementation
[0045] To facilitate understanding of the technical solution of this application, a system architecture involved in this application will be introduced below.
[0046] Please see Figure 1 , Figure 1 This is a system architecture diagram provided in an embodiment of the present application, including a client 100 and a scheduling system 200. The client 100 and the scheduling system 200 have a communication connection, which can be a wired connection or a wireless connection. The number of clients 100 that establish a communication connection with the scheduling system 200 can be one or more. Figure 1 (This application only takes one client, 100, as an example and does not make any specific limitations on this.)
[0047] The client 100 is used to implement human-computer interaction. For example, users can operate on the client 100 to send information about the computing tasks to be executed to the scheduling system 200. The client 100 can be deployed on terminal devices or computing devices. The terminal devices can be smartphones, wearable devices, personal computers (PCs), in-vehicle devices, or smart conferencing devices, etc., and the computing devices can be servers, edge computing devices, etc. This application does not limit the scope of these devices.
[0048] In some possible implementations, client 100 can be an application (APP) client / mobile client running on a mobile terminal such as a smartphone or wearable device, or software or application running on a computing device (such as a PC client or desktop APP), or a web application accessed through a web browser, or a front-end console of a cloud platform. This application does not specifically limit it in this regard.
[0049] The scheduling system 200 is used to schedule computing tasks. Scheduling refers to allocating resources to computing tasks for execution, thereby obtaining the corresponding computing results. The scheduling system 200 can be deployed on a single computing device, a cluster of multiple computing devices, or a terminal device. The aforementioned computing devices can be physical computing devices, such as bare metal servers (BMS) or edge computing devices, or virtual computing devices, such as virtual machines or containers. BMS refers to a general-purpose physical server, such as an ARM server or an x86 server. A virtual machine refers to a complete computer system simulated by software, possessing full hardware system functionality and running in a completely isolated environment. Any task that can be performed on a physical computer can be performed in a virtual machine. When creating a virtual machine on a computing device, a portion of the physical machine's hard drive and memory capacity is used as the virtual machine's hard drive and memory capacity. Each virtual machine has an independent basic input / output system (CMOS), hard drive, and operating system, and can be operated like a physical machine. A container is a portable software unit that can combine an application and all its dependencies into a single software package. This package is not limited by the underlying host operating system, thus eliminating the need to build complex environments and simplifying the application development and deployment process. Edge computing devices refer to devices that are closer to the data source and end users, featuring low latency and high bandwidth, such as smart routers and edge servers. End devices are described above and will not be repeated here.
[0050] Optionally, client 100 and scheduling system 200 can be deployed on the same terminal device or computing device; or, client 100 can be deployed on a terminal device, and scheduling system 200 can be deployed on a single computing device or a cluster of computing devices. It should be understood that the above examples are for illustrative purposes only, and the specific deployment of client 100 and scheduling system 200 can be determined according to the actual application scenario.
[0051] In some possible implementations, such as Figure 1 As shown, the scheduling system 200 includes a scheduler 210, a database 220, and multiple computing nodes 230. The scheduler 210 and computing nodes 230 can be computing devices such as physical servers, virtual machines, or containers, and this application does not limit them.
[0052] Database 220 can be used to store basic information about computing tasks, including the definition of the computing task (task content), the execution time of the computing task, etc. This information can be uploaded to the scheduling system 200 by the user through client 100, or it can be obtained by the scheduling system 200 from other systems or modules; this application does not limit this. In addition to the basic information about computing tasks, database 220 can also be used to store input data / business data required to execute the computing task, the execution status of the computing task, the calculation results of the computing task, etc.; this application does not specifically limit this. It should be understood that... Figure 1 This application takes database 220 as an example only. In actual application scenarios, multiple databases can be used to store the above content in database 220. This application does not make any specific limitations.
[0053] Scheduler 210 is a node in scheduling system 200 responsible for managing and allocating computing tasks. It is used to distribute computing tasks to appropriate computing nodes 230 for execution. Scheduler 210 can also instruct computing nodes 230 how much resource to allocate to computing tasks (i.e., specify the amount of resource allocation).
[0054] Computing node 230 is the node in the scheduling system 200 that actually executes the computing tasks. It is responsible for executing the computing tasks according to the resource allocation specified by the scheduler 210, thereby obtaining the computing results. The computing results can be stored in the database 220, or sent to the client 100, other systems, or modules; this application does not limit this. Different computing nodes 230 can execute their assigned computing tasks in parallel, thereby saving overall computing time. It should be noted that this application does not specifically limit the number of computing nodes 230; the number of computing nodes 230 can be increased or decreased according to usage requirements to adjust the amount of computing resources and computing speed.
[0055] based on Figure 1 The system architecture is described below, and specific embodiments of the task scheduling method provided in this application are introduced.
[0056] Please see Figure 2 , Figure 2 This is a flowchart illustrating a task scheduling method provided in an embodiment of this application, including the following steps S201 to S203.
[0057] S201. Obtain information about the first computing task, wherein the information about the first computing task includes the first execution time of the first computing task, and the first execution time is the time under the first time system.
[0058] The aforementioned first computational task is a computational task that needs to be executed, and it can be a scheduled task. This application does not specifically limit the task type or computational content of the first computational task.
[0059] For example, in payroll calculation scenarios, calculation tasks can be categorized based on the type of payroll to be calculated, including tasks such as salary calculation, bonus calculation, individual income tax calculation, social security calculation, and termination settlement. Suppose calculation task 1 requires calculating employee A's salary, and calculation task 2 requires calculating employee B's bonus; then calculation task 1 is a salary calculation task, and calculation task 2 is a bonus calculation task.
[0060] For example, computing tasks can be classified according to their corresponding time zones, including computing tasks in the East 8 time zone, computing tasks in the West 5 time zone, and computing tasks in the West 5 time zone.
[0061] It should be noted that the two examples above classify computing tasks from a single dimension (such as salary type / time zone, etc.). In practical application scenarios, computing tasks can also be combined and divided from multiple dimensions, which is not limited in this application.
[0062] For example, suppose we categorize computational tasks based on three dimensions: salary type, time zone, and employee type. Salary types include wages, bonuses, individual income tax, and social security contributions. Time zones encompass 24 time zones globally. Employee types are categorized as local and expatriate. Combining these three dimensions, we can classify a total of 4 × 24 × 2 = 192 task types.
[0063] The information regarding the first computational task mentioned above includes the execution time of the first computational task. This application does not specifically limit the method of obtaining this information; for example, it may be obtained from... Figure 1 It can be obtained from database 220, client 100, or other systems or modules other than scheduling system 200.
[0064] The aforementioned first execution time is the time under the first time system. The first time system is a certain timekeeping system (abbreviated as time system). The time system refers to the system and regulations of time.
[0065] For example, to overcome time confusion, an international longitude conference held in Washington, D.C. in 1884 stipulated that the world be divided into 24 regions, called time zones, including the Central Time Zone (UTC+0), East 1-12 zones, and West 1-12 zones. Each time zone spans 15 degrees of longitude. Specifically, the last two zones, East and West 12, each span 7.5 degrees of longitude, with the 180°E and 180°W longitude as the boundary. Each time zone has its own timekeeping system (zone time): the time on the central meridian of each time zone is the unified time adopted within that zone, called zone time. The time difference (time offset) between two adjacent time zones is 1 hour, while the time difference between non-adjacent time zones is an integer number of hours. The time offset of each time zone relative to the zero time zone is an integer number of hours (on the hour). For example, the time in the East 8 zone is UTC+8, and its time offset relative to the zero time zone is 8 hours.
[0066] Besides the standard 24-hour time zone system, some regions use special time zones. Under these special time zones, the time offset from the zero time zone (UTC+0) is not necessarily on the hour. For example, Indian Standard Time (IST) is UTC+5:30, which is five hours and thirty minutes added to the zero time zone time. Nepali Standard Time (NPT) is UTC+5:45, which is five hours and forty-five minutes added to the zero time zone time. The two special time zones listed above are just examples; in real-world scenarios, other special time zones may exist.
[0067] Optionally, the first time system can be the timekeeping system adopted by one of the 24 time zones mentioned above, or it can be a special timekeeping system. This application does not make any specific limitations.
[0068] It should be understood that due to the large number of time zones and task types, configuring execution times separately for each type of computing task in each time zone would be time-consuming, laborious, and inconvenient to manage. For example, if there are 24 time zones and 4 task types, configuring execution times separately for each type of computing task in each time zone would require 24 × 4 = 96 configurations. Furthermore, changing the execution time for a particular task type would require 24 modifications (corresponding to all 24 time zones).
[0069] To reduce management complexity, in some possible implementations, users can configure corresponding time points for various task types. Then, based on the time point corresponding to the task type and the time zone information of the calculation task, the execution time of the calculation task can be automatically determined.
[0070] Specifically, the first execution time of the first computation task can be obtained as follows: the scheduling system 200 obtains the time point corresponding to the first task type configured by the user, and obtains the time zone information of the first computation task. Then, the scheduling system 200 can determine the first execution time of the first computation task based on the time zone information and the time point. Here, the first computation task belongs to the first task type, and the time zone information is used to indicate the first time zone (a specific time zone).
[0071] For example, suppose a user configures the time points for three task types—salary calculation, bonus calculation, and individual income tax calculation—to the scheduling system 200 via client 100, specifically 5:30, 8:00, and 0:00 respectively. It should be understood that these time points do not include time zone information. Subsequently, the user submits a calculation task to the scheduling system 200 via client 100. This calculation task belongs to the salary calculation task type, and its time zone information indicates UTC-8 (Western Time Zone 5). Based on this time zone information and the corresponding time point 5:30 for the salary calculation task type, the scheduling system 200 can determine that the execution time of this calculation task is 5:30 AM UTC-8.
[0072] Optionally, in addition to the first execution time of the first computation task, the information of the first computation task may also include the check results of N check items corresponding to the first computation task. The check results are used to indicate whether the N check items have passed, and the scheduling system 200 will schedule the first computation task based on the check results of the N check items.
[0073] In some possible implementations, if K out of N checks fail, the first computation task is not allowed to be scheduled for execution. Only if all K out of N checks pass will the scheduling system 200 allow the first computation task to be scheduled for execution. Here, N and K are both integers, with N greater than or equal to K. This application does not limit the values of N and K, nor does it limit the specific content of each check item.
[0074] It should be understood that the aforementioned K check items can be some or all of the N check items: if the K check items are all check items, it means that the first calculation task is allowed to be executed only when all check items pass; if the K check items are some check items, the K check items can be specific / fixed K items from the N check items, and the first calculation task is allowed to be executed only when all K items pass. Both the N check items and the K check items can be specified according to actual usage requirements, and this application does not impose any restrictions; or, if the K check items are some check items, the K check items can be any K items from the N check items, that is, as long as any K items from the N check items pass (the number of passed check items is greater than or equal to K), the first calculation task is allowed to be executed. The value of K can be set according to actual usage requirements, and this application does not impose any restrictions.
[0075] For example, Table 1 provides three calculation tasks in the salary calculation scenario, with their task identifiers (IDs) being X001, X002, and X003, and also provides the check results for the corresponding check items of each calculation task.
[0076] Table 1 - Check Items for Calculation Tasks in Salary Calculation Scenarios
[0077] Task ID staff Salary calculation cycle Calculation list Attendance data X001 A yes yes no X002 B yes yes yes X003 C no yes yes
[0078] The inspection items in Table 1 include the payroll calculation cycle, the calculation list, and attendance data.
[0079] The payroll calculation cycle refers to the period during which employee salaries are calculated. The payroll calculation cycle may differ depending on the region, country, or employee (type). For example, the payroll calculation cycle for employees in a subsidiary of an international company might be the 15th of each month, while for employees in another subsidiary of the same international company, it might be the 1st of each month. As another example, the payroll calculation cycle for a company's local employees (one type of employee) might be the 10th of each month, while the payroll calculation cycle for the company's expatriate employees (another type of employee) might be the 25th of each month.
[0080] The result of the payroll calculation cycle check indicates whether the current step is within the payroll calculation cycle of the employee associated with the calculation task. If yes, it means that the current step is within the employee's payroll calculation cycle, and therefore the check passes; if no, it means that the current step is within the employee's payroll calculation cycle, and therefore the check fails, thus the corresponding calculation task is not allowed to be executed.
[0081] The result of the calculation list check is used to indicate whether the employee associated with the calculation task is on the calculation list. This calculation list can be specified according to actual usage needs, and this application does not impose any restrictions. If the employee is on the calculation list, the check passes; if the employee is not on the calculation list, the check fails, and therefore the corresponding calculation task is not allowed to be executed.
[0082] Attendance data can be used as input data for calculation tasks. The result of the attendance data check indicates whether the attendance data of the employees associated with the calculation task has been prepared (missing attendance data or incomplete data). If yes, it means that the employee's attendance data has been prepared, and the check passes; if no, it means that the employee's attendance data has not been prepared, and the check fails, and the corresponding calculation task is not allowed to be executed.
[0083] It should be noted that the various check items listed in the examples above are merely illustrative and do not constitute a limitation. In practical applications, more or fewer check items can be set as needed (such as checking whether leave data, performance data, or subsidy data are accurately completed). If some or all check items pass, the corresponding calculation task can be executed. The format of the task IDs mentioned above is also merely illustrative and does not constitute a limitation. In practical applications, other formats (such as using one or more of the following: number, task name, task type, employee information, etc.) can be used to identify calculation tasks.
[0084] This application does not specify the method for obtaining the inspection results of the above N inspection items. For example, it can be obtained from... Figure 1 The database 220 retrieves the corresponding data for each inspection item, such as the basic information of employees associated with the calculation task (including employee type), salary calculation cycle information for various types of employees, calculation list, employee attendance data, etc., and then determines the inspection results of each inspection item.
[0085] This application does not impose any restrictions on the time for obtaining the inspection results of the aforementioned N inspection items, as long as the inspection results of these N inspection items are obtained before the formal execution of the first computation task. For example, the inspection results of the N inspection items corresponding to the first computation task can be determined in advance. When it is necessary to schedule the execution of the first computation task, the system can determine whether the execution of the first computation task is allowed based on the inspection results. If execution is allowed, the scheduling system 200 can schedule the execution of the first computation task.
[0086] S202. Determine the first time period corresponding to the first calculation task from multiple time periods based on the first execution time. The multiple time periods are different time periods under the second time system. The second time system and the first time system are different time systems. The first execution time corresponds to the second execution time under the second time system. The second execution time is located in the first time period.
[0087] Specifically, the scheduling cycle of the scheduling system 200 can be divided into multiple time periods, each corresponding to a second time format. The first execution time of the first computational task is converted to the second time format to obtain the second execution time. Then, it is determined which of the multiple time periods the second execution time belongs to. Here, it is assumed that the second execution time belongs to the first time period, which is a specific point in time among the multiple time periods; this application does not make any specific limitations. Since the second execution time belongs to the first time period, it can be determined that the first computational task corresponds to the first time period. The correspondence between the first computational task and the first time period is used to indicate the scheduling and execution of the first computational task within the first time period; that is, the first computational task is the task that needs to be executed within the first time period.
[0088] The aforementioned second time system is a timekeeping system (hereinafter referred to as a time system) that differs from the first time system, and this application does not specifically limit it. For details regarding time systems, please refer to the relevant description in step S201, which will not be repeated here. Optionally, the first time system can be the timekeeping system of the first time zone, and the second time system can be the timekeeping system of the second time zone. The first time zone and the second time zone are different time zones, and this application does not specifically limit them.
[0089] The aforementioned scheduling cycle refers to the cycle during which the scheduling system 200 schedules tasks. The length of the scheduling cycle can be set according to usage requirements, and this application does not impose any limitations on it.
[0090] The aforementioned time periods are different time periods under the second time system. This application does not limit the number and length of these time periods; they can be set and adjusted according to usage needs. The lengths of the multiple time periods can be the same or different, and this application does not limit this as well.
[0091] For example, see Figure 3 Assuming the second time system is the timekeeping system used in East Eight Zone (UTC+8), the scheduling cycle of the scheduling system is 200 (corresponding to...). Figure 3 The scheduling time cycle is 24 hours a day, and the length of each time period is 1 hour. Therefore, the scheduling cycle can be divided into 24 time periods, which are referred to as time period 0 to time period 23 for ease of description.
[0092] For each computational task that needs to be executed, obtain the execution time of the computational task, convert the execution time into time in the second time format, then determine the time period corresponding to the time in the second time format, and then determine the time period corresponding to the computational task, that is, determine that the computational task needs to be executed within the time period.
[0093] Refer to Tables 2 to 4. Table 2 provides some salary calculation tasks in the salary calculation scenario, Table 3 provides some bonus calculation tasks in the salary calculation scenario, and Table 4 provides some resignation settlement tasks in the salary calculation scenario.
[0094] Table 2 – Salary Calculation Task Sheet
[0095]
[0096] Table 3 – Bonus Calculation Task Table
[0097]
[0098] Table 4 – Settlement Task Sheet for Resignation
[0099]
[0100] Taking task X001 in Table 2 as an example, task X001 is associated with employee A, indicating that this task requires calculating employee A's salary. The scheduling system 200 obtains the execution time of task X001 as 05:00, and the time zone corresponding to this execution time is UTC-12, meaning the execution time of task X001 is 5:00 AM in UTC-12. Since the scheduling system 200 performs task scheduling based on UTC-8 (i.e., the second time system), it needs to convert 5:00 AM in UTC-12 to 01:00 AM in UTC-8. Then, it determines the time period corresponding to 01:00 among the 24 time periods mentioned above, namely time period 1, and records the correspondence between the first calculation task and time period 1. This correspondence is used to instruct the scheduling system 200 to schedule and execute task X001 during time period 1.
[0101] Taking task Y002 in Table 3 as an example, task Y002 is associated with employee E, indicating that this task requires calculating employee E's bonus. The scheduling system 200 obtains the execution time of task Y002 as 08:30, and the corresponding time zone is UTC-5 (Western Time Zone 5), meaning the execution time of task Y002 is 8:30 AM in UTC-5. Since the scheduling system 200 executes task scheduling based on Eastern Time Zone 8 (i.e., the second time system), it needs to convert 8:30 AM in UTC-5 to 9:30 PM in Eastern Time Zone 8, and then determine the time period corresponding to 9:30 PM among the 24 time periods mentioned above, namely time period 21. The correspondence between the first calculation task and time period 21 is then recorded. This correspondence is used to instruct the scheduling system 200 to schedule and execute task Y002 during time period 21.
[0102] Following the method described above, the time periods corresponding to each computing task can be determined, and these correspondences can be recorded in a list. For example... Figure 3 As shown, similar to the mechanism of a clock in real life, the pointer of the scheduling time ring will jump from one time period to the next time period at regular intervals (i.e., the length of the time period). The scheduling system 200 will retrieve the computing tasks corresponding to the current time period for centralized scheduling.
[0103] It should be understood that since the time period here is 1 hour, the scheduling system 200 schedules tasks once per hour, retrieving a batch of computing tasks corresponding to the current time period for scheduling each time period, thus allowing these computing tasks to be executed in parallel. Moreover, the batch of computing tasks corresponding to each time period may contain computing tasks under different time formats. The scheduling system 200 schedules these computing tasks corresponding to the same time period uniformly (in the same scheduling), thereby achieving the goal of "unified computing" for global computing tasks.
[0104] S203. If the current time is within the first time period, schedule the first computing task.
[0105] Specifically, as introduced above, the first execution time of the first computing task is the time under the first time system, and the time corresponding to the first execution time under the second time system is the second execution time. The second execution time belongs to the first time period among multiple time periods under the second time system. Therefore, the first computing task corresponds to the first time period.
[0106] When the current time arrives at the first time period, based on the previously determined correspondence between the first computing task and the first time period, it can be determined that the first computing task needs to be executed. Then, the scheduling system 200 schedules the first computing task, that is, the scheduler 210 in the scheduling system 200 assigns the first computing task to a suitable computing node 230 for execution, thereby obtaining the computing result of the first computing task.
[0107] It should be understood that there may be one or more computing tasks corresponding to the first time period (including the first computing task). Therefore, when the current time is the first time period, the scheduling system 200 can centrally schedule all computing tasks corresponding to the first time period. Different computing tasks can be assigned to multiple computing nodes 230 for execution. Different computing nodes 230 can execute the corresponding computing tasks in parallel, thereby improving computing efficiency and saving overall computing time.
[0108] As described in step S201, the first computation task can correspond to N check items. The results of these N check items indicate whether each check item has passed. The first computation task is allowed to execute only if K out of the N check items pass; otherwise, it is not allowed. Therefore, in some possible implementations, the scheduling system 200 will only schedule and execute the first computation task, and obtain its computation result, if the current time is within the first time period and the check results indicate that all K check items have passed.
[0109] In one possible implementation, the results of the above N checks can be represented by different fields (table entries), as detailed in the previous introduction to Table 1, which will not be repeated here. Therefore, the scheduling system 200 needs to store information from multiple fields for the first computation task (e.g., stored in...). Figure 1 (In database 220).
[0110] In another possible implementation, a first numerical value can be used to represent the results of these checks. Therefore, the scheduling system 200 only needs to store this first numerical value for the first computational task (e.g., stored in [the database]). Figure 1This can be done in database 220, thus saving storage space. The following explanation uses method one and method two as examples.
[0111] Method 1: The first value is used to represent the inspection result of N inspection items. The first value has M digits. There is a correspondence between the N inspection items and the M digits. The digits corresponding to different inspection items are different. The digits in the digits corresponding to each inspection item are used to indicate whether the corresponding inspection item has passed.
[0112] This application does not limit the number system (i.e., digit system) used for the first value and the value of the digit M. For example, the first value can be a binary, octal, decimal, or hexadecimal number system, which can be set according to actual usage requirements.
[0113] Optionally, each inspection item and its digit can have a one-to-one relationship, meaning the result of each inspection item is represented by only one digit. Alternatively, each inspection item and its digit can have a one-to-many relationship, meaning the result of each inspection item can be represented by multiple digits, and the number of digits corresponding to different inspection items can be the same or different.
[0114] For example, suppose we use a 3-digit binary number to represent the inspection results of 3 inspection items. Each digit corresponds to one inspection item. The inspection items, in ascending order of digits, are the payroll calculation cycle, the calculation list, and the attendance data. The digits on each digit are used to indicate whether the corresponding inspection item passes or fails.
[0115] According to the above rules, task X001 in Table 1 can be represented by the binary number 011. The first digit (1) indicates that the check for the pay calculation cycle of task X001 is passed; the second digit (1) indicates that the check for the calculation list of task X001 is passed; and the third digit (0) indicates that the check for the attendance data of task X001 is failed. In other words, each digit is represented by a 1 for a passed check and a 0 for a failed check.
[0116] Similarly, task X002 in Table 1 can be represented by the binary number 111. The first digit (1) indicates that the check for the pay calculation cycle of task X002 has passed; the second digit (1) indicates that the check for the calculation list of task X002 has passed; and the third digit (1) indicates that the check for the attendance data of task X002 has passed.
[0117] Besides binary, the first numerical value can also use other number systems. Different check items correspond to different digits of the first numerical value, and the digits corresponding to different check items may have different values, representing pass and fail respectively. This application does not impose any restrictions on this. For example, assuming the first numerical value is in decimal, each digit of the first numerical value corresponds to a check item. A digit of 0 indicates that the corresponding check item fails, and a digit of 2 indicates that the corresponding check item passes. Here, the digits 2 and 0 are used to represent pass and fail. In practical applications, other digits can also be used to represent pass and fail, and this application does not impose any restrictions.
[0118] Method 2: Use the first value under the first number system to represent the inspection results of N inspection items. The first value corresponds to the second value under the second number system. The first number system and the second number system are different counting systems. The second value has M digits. The N inspection items correspond to the M digits. The digits corresponding to different inspection items are different. The digits in the digits corresponding to each inspection item are used to indicate whether the corresponding inspection item has passed.
[0119] For example, assuming the first number system is decimal and the second number system is binary, a 3-bit binary number is used to represent the inspection results of 3 inspection items. Each digit corresponds to one inspection item, and the inspection items corresponding to the digits from low to high are the payroll calculation cycle, the calculation list, and the attendance data. The number on each digit is used to indicate whether the corresponding inspection item passes or fails (the number 1 indicates pass, and the number 0 indicates fail).
[0120] According to the above rules, task X001 in Table 1 can be represented by the binary number 011. The first digit (1) indicates that the check for the pay calculation cycle of task X001 is passed; the second digit (1) indicates that the check for the calculation list of task X001 is passed; and the third digit (0) indicates that the check for the attendance data of task X001 is failed. In other words, each digit is represented by a 1 for a passed check and a 0 for a failed check.
[0121] Then, the binary number 011 (corresponding to the second value) is converted to a decimal number, resulting in the decimal number 3 (corresponding to the first value), which is then used to represent the check results of the three check items of task X001.
[0122] Optionally, after executing the first calculation task and obtaining the calculation result (i.e., the first calculation result), the scheduling system 200 can send the first calculation result to the client 100. Subsequently, the client 100 can send a detailed viewing request for the first calculation result to the scheduling system 200 as needed. When receiving the detailed viewing request from the client 100, the scheduling system 200 can determine the check results of the N check items of the first calculation task based on the previously stored first value, and then send the check results to the client 100.
[0123] In other words, the scheduling system 200 only needs to store the first value to represent the check results of the corresponding check items of the first calculation task. When the client 100 needs to view the check results of these check items, the scheduling system 200 can deduce the check results of each check item based on the first value and the aforementioned rules, and then send the check results of each check item to the client 100 so that the user can view the check results of these check items on the client 100, thereby assisting the user in analyzing the first calculation result.
[0124] In summary, the task scheduling method provided in this application embodiment reduces the management difficulty of computing tasks and improves overall computing efficiency by converting computing tasks under different time formats to the same time format for scheduling. Furthermore, this method can use different digits in a numerical value to represent the check results of the corresponding check items for the computing task, thereby saving storage space.
[0125] Please see Figure 4 , Figure 4 This is a schematic diagram of the structure of a scheduling system 200 provided in an embodiment of this application, including an interface module 410, a determination module 420 and a scheduling module 430.
[0126] The interface module 410 is used to obtain information about the first computing task, wherein the information about the first computing task includes the first execution time of the first computing task, and the first execution time is the time under the first time system.
[0127] The determining module 420 is used to determine the first time period corresponding to the first computing task from multiple time periods based on the first execution time. The multiple time periods are different time periods under the second time system. The second time system and the first time system are different time systems. The first execution time corresponds to the second execution time under the second time system. The second execution time is located in the first time period.
[0128] The scheduling module 430 is used to schedule the first computing task when the current time is in the first time period.
[0129] Optionally, the first time system is the timekeeping system of the first time zone, and the second time system is the timekeeping system of the second time zone. The first time zone and the second time zone are different time zones.
[0130] Optionally, the first computing task belongs to the first task type. The interface module 410 is specifically used to: obtain the time point corresponding to the first task type configured by the user, and obtain the time zone information of the first computing task. The time zone information is used to indicate the first time zone. The determination module 420 is also used to: determine the first execution time based on the time zone information and the time point.
[0131] Optionally, the information of the first calculation task also includes the check results of the N check items corresponding to the first calculation task. The check results are used to indicate whether the N check items have passed. The scheduling module 430 is specifically used to: schedule the first calculation task and obtain the first calculation result of the first calculation task when the current time is in the first time period and the check results indicate that some or all of the N check items have passed.
[0132] Optionally, the scheduling system 200 further includes a storage module 440, which stores a first value representing the check result. The first value satisfies one of the following conditions:
[0133] Condition 1: The first value has M digits, and the N check items correspond to the M digits. The digits corresponding to different check items are different. The digits in the digits corresponding to each check item are used to indicate whether the corresponding check item passes or fails.
[0134] Condition 2: The first value is a value in the first number system, and the first value corresponds to the second value in the second number system. The first number system and the second number system are different counting systems, and the second value has M digits.
[0135] Optionally, the interface module 410 is further configured to: send a first calculation result to the client 100 and receive a request from the client 100 to view details of the first calculation result; the determination module 420 is further configured to: when the interface module 410 receives a request from the client 100 to view details of the first calculation result, determine the check result based on the first value stored in the storage module 440; the interface module 410 is further configured to: send the check result to the client 100.
[0136] Optionally, the first calculation task is used to calculate the salary.
[0137] It should be noted that, Figure 4 The scheduling system 200 can correspond to Figure 1 The scheduling system 200 in the middle, among which, Figure 4 The interface module 410, the determination module 420, and the scheduling module 430 can be deployed in Figure 1 In scheduler 210, Figure 4 The storage module 440 can be deployed in Figure 1 In database 220. Figure 4 The scheduling system 200 can be used to execute Figure 2 The steps / actions involved in the task scheduling method of the scheduling system 200 can be found in the previous text and will not be repeated here.
[0138] It should also be noted that, Figure 4 Based solely on function, the scheduling system 200 is exemplarily divided into an interface module 410, a determination module 420, a scheduling module 430, and a storage module 440. In practice... Figure 4 The scheduling system 200 can also contain more or fewer modules. For example, a module can be split into multiple functional modules, or two or more modules can be merged into one functional module. Figure 4 Other functional modules can be added to the scheduling system 200, but this application does not limit this. The interface module 410, the determination module 420, the scheduling module 430, and the storage module 440 can all be implemented by software and / or hardware, and this application does not limit this either.
[0139] Please see Figure 5 , Figure 5 This is a schematic diagram of the structure of a client 100 provided in an embodiment of this application, including a sending module 510 and a receiving module 520.
[0140] The sending module 510 is used to send the time point corresponding to the first task type to the scheduling system 200.
[0141] The sending module 510 is further configured to: send time zone information of the first computing task to the scheduling system 200, wherein the time zone information is used to indicate the first time zone, the first time zone and the time point are used to determine the first execution time of the first computing task for the scheduling system 200, the first execution time is used to determine the first time period corresponding to the first computing task from multiple time periods, the multiple time periods are different time periods under the time system of the second time zone, the second time zone and the first time zone are different time zones, the first execution time corresponds to the second execution time under the second time system, and the second execution time is located in the first time period. It should be noted that the order of sending the time point corresponding to the first task type and sending the time zone information of the first computing task is not limited in this application.
[0142] The receiving module 520 is used to receive the first calculation result of the first calculation task sent by the scheduling system 200, wherein the first calculation result is obtained by the scheduling system 200 scheduling the first calculation task when the current time is in the first time period.
[0143] Optionally, the sending module 510 is further configured to: send a request to the scheduling system 200 to view details of the first calculation result; the receiving module 520 is further configured to: receive the first check result fed back by the scheduling system 200 in response to the request to view details, wherein the first check result is the check result of N check items corresponding to the calculation task, and the first check result is used to indicate whether the N check items have passed.
[0144] Optionally, the first calculation task is used to calculate the salary.
[0145] It should be noted that, Figure 5 Client 100 can correspond to Figure 1 Client 100 in the middle, Figure 5 Client 100 can be used to execute Figure 2 The steps / actions involved in the task scheduling method for client 100 can be found in the previous text and will not be repeated here.
[0146] It should also be noted that, Figure 5 For example, client 100 is divided into a sending module 510 and a receiving module 520 based solely on functionality. In practice, Figure 5 The client 100 can also contain more or fewer modules. For example, a module can be split into multiple functional modules, or two or more modules can be merged into one functional module. Figure 5 This application does not limit the addition of other functional modules to the client 100. Both the sending module 510 and the receiving module 520 can be implemented through software and / or hardware, and this application also does not limit their implementation.
[0147] Please see Figure 6 , Figure 6 This is a schematic diagram of the structure of a computing device 600 provided in an embodiment of this application, including a bus 602, a processor 604, a memory 606, and a communication interface 608. The processor 604, the memory 606, and the communication interface 608 communicate with each other via the bus 602. The computing device 600 may be a server, a laptop computer, a tablet computer, a desktop computer, an edge device, etc., and this application does not specifically limit it, nor does it limit the number of processors and memories in the computing device 600.
[0148] Bus 602 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be divided into address buses, data buses, control buses, etc. For ease of representation, Figure 6The bus 602 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 602 may include a path for transmitting information between various components of the computing device 600 (e.g., memory 606, processor 604, communication interface 608).
[0149] Processor 604 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0150] Memory 606 may include volatile memory, such as random access memory (RAM). Processor 604 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0151] The memory 606 stores executable program code. The processor 604 executes the executable program code to implement... Figure 4 The interface module 410, determination module 420, scheduling module 430, and storage module 440 in the middle implement the functions of this application. Figure 2 The task scheduling method involves the operational steps of the scheduling system 200. Alternatively, the processor 604 executes the executable program code to implement the following respectively. Figure 5 The functions of the transmitting module 510 and the receiving module 520 in the present application are realized. Figure 2 The actions involved in the task scheduling method of client 100.
[0152] The communication interface 608 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 600 and other devices or communication networks.
[0153] As one possible implementation, the computing device 600 may also include a chip system, which includes a processor and a power supply circuit. The power supply circuit provides power to the processor, and the processor performs execution... Figure 2The operational steps in the revenue forecasting method are omitted here for brevity. The processor can be a CPU, or it can be a computing device or AI chip such as a GPU, DPU, NPU, XPU, SoC, offload card, or accelerator card.
[0154] As one possible implementation, the computing device 600 may include multiple types of processors 604, meaning the computing device 600 is a heterogeneous device. For example, the computing device 600 may include a CPU and a GPU, and execution can be performed by at least one of the processors 604. Figure 2 The operational steps in the task scheduling method are omitted here for brevity.
[0155] like Figure 7 As shown, this application also provides a computing device cluster, which includes at least one computing device 600. The memory 606 of one or more computing devices 600 in the computing device cluster may store the same memory for implementing… Figure 2 The instructions for the method.
[0156] In some possible implementations, the memory 606 of one or more computing devices 600 in the computing device cluster may also store information for implementing the aforementioned... Figure 2 The method's partial instructions. In other words, a combination of one or more computing devices 600 can jointly execute instructions for implementing... Figure 2 The instructions for the method.
[0157] It should be noted that the memory 606 in different computing devices 600 within the computing device cluster can store different instructions, each for execution. Figure 4 The scheduling system 200 performs some of the functions of the system. Specifically, the instructions stored in the memory 606 of different computing devices 600 can implement the functions of one or more modules among the interface module 410, determination module 420, scheduling module 430, and storage module 440. Alternatively, the memory 606 of different computing devices 600 in the computing device cluster can store different instructions, each used for execution. Figure 5 The client 100 has some of the functions. That is, the instructions stored in the memory 606 in different computing devices 600 can implement the functions of one or more modules in the sending module 510 and the receiving module 520.
[0158] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 8 One possible implementation is shown. For example... Figure 8As shown, two computing devices 600A and 600B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this possible implementation, the memory 606 in computing device 600A stores instructions for performing the functions of interface module 410, determination module 420, and scheduling module 430. Simultaneously, the memory 606 in computing device 600B stores instructions for performing the functions of storage module 440.
[0159] It should be understood that Figure 8 The functions of computing device 600A shown can also be performed by multiple computing devices 600. Similarly, the functions of computing device 600B can also be performed by multiple computing devices 600.
[0160] This application also provides another type of computing device cluster. The interconnection relationships between the computing devices in this computing device cluster can be similarly referenced. Figure 8 The connection method of the computing device cluster. The difference is that the memory 606 in one or more computing devices 600 within this computing device cluster can store the same information used to implement the aforementioned... Figure 2 The instructions for the method.
[0161] In some possible implementations, the memory 606 of one or more computing devices 600 in the computing device cluster may also store information for implementing... Figure 2 The method's partial instructions. In other words, a combination of one or more computing devices 600 can jointly execute instructions for implementing... Figure 2 The instructions for the method.
[0162] This application also provides a chip system, including a processor and a power supply circuit. The power supply circuit supplies power to the processor, which is used to execute... Figure 2 The actions / steps involved in the task scheduling method of the scheduling system 200 or client 100.
[0163] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of being stored by a computing device, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute... Figure 2 The actions / steps involved in the task scheduling method of the scheduling system 200 or client 100.
[0164] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to perform... Figure 2 The actions / steps involved in the task scheduling method of the scheduling system 200 or client 100.
[0165] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this application.
Claims
1. A task scheduling method, characterized in that, The method is applied to a scheduling system, and the method includes: Obtain information about a first computing task, wherein the information about the first computing task includes the first execution time of the first computing task, and the first execution time is the time in a first time format; The first time period corresponding to the first computing task is determined from multiple time periods based on the first execution time, wherein the multiple time periods are different time periods under a second time system, and the second time system and the first time system are different time systems. The first execution time corresponds to the second execution time under the second time system, and the second execution time is located in the first time period. When the current time falls within the first time period, schedule the first computing task.
2. The method according to claim 1, characterized in that, The first time system is the timekeeping system of the first time zone, and the second time system is the timekeeping system of the second time zone. The first time zone and the second time zone are different time zones.
3. The method according to claim 2, characterized in that, The first computing task belongs to a first task type, and obtaining the information of the first computing task includes: Obtain the time point corresponding to the first task type configured by the user; Obtain the time zone information of the first computing task, wherein the time zone information is used to indicate the first time zone; The first execution time is determined based on the time zone information and the time point.
4. The method according to any one of claims 1 to 3, characterized in that, The information for the first computing task also includes the check results of N check items corresponding to the first computing task, the check results being used to indicate whether the N check items have passed, and scheduling the first computing task when the current time is within the first time period includes: If the current time is within the first time period and the inspection result indicates that some or all of the N inspection items have passed, the first calculation task is scheduled to obtain the first calculation result of the first calculation task.
5. The method according to claim 4, characterized in that, The scheduling system stores a first value, which represents the inspection result, and the first value satisfies one of the following conditions: The first value has M digits, and the N check items correspond to the M digits. Different check items have different digits, and the digits in the digits corresponding to each check item are used to indicate whether the corresponding check item has passed. Alternatively, the first value is a value in a first number system, the first value corresponds to a second value in a second number system, the first number system and the second number system are different counting systems, and the second value has the M digits.
6. The method according to claim 5, characterized in that, After obtaining the first calculation result of the first calculation task, the method further includes: Send the first calculation result to the client; Upon receiving a request from the client to view details of the first calculation result, the inspection result is determined based on the stored first value; The inspection results are sent to the client.
7. The method according to any one of claims 1 to 6, characterized in that, The first calculation task is used to calculate salary.
8. A task scheduling method, characterized in that, The method is applied to a client, and the method includes: Send the time point corresponding to the first task type to the scheduling system; The time zone information of the first computing task is sent to the scheduling system, wherein the time zone information is used to indicate the first time zone, the first time zone and the time point are used to determine the first execution time of the first computing task for the scheduling system, the first execution time is used to determine the first time period corresponding to the first computing task from multiple time periods, the multiple time periods are different time periods under the time system of the second time zone, the second time zone and the first time zone are different time zones, the first execution time corresponds to the second execution time under the second time system, and the second execution time is located in the first time period; The system receives a first calculation result of the first calculation task sent by the scheduling system, wherein the first calculation result is obtained by the scheduling system scheduling the first calculation task when the current time is within the first time period.
9. The method according to claim 8, characterized in that, After receiving the first calculation result of the first calculation task sent by the scheduling system, the method further includes: Send a request to the scheduling system to view details of the first calculation result; The system receives a first check result in response to the request to view details, wherein the first check result is the check result of N check items corresponding to the computing task, and the first check result is used to indicate whether the N check items have passed.
10. The method according to claim 8 or 9, characterized in that, The first calculation task is used to calculate salary.
11. A scheduling system, characterized in that, include: An interface module is used to obtain information about a first computing task, wherein the information about the first computing task includes the first execution time of the first computing task, and the first execution time is the time in a first time format; The determining module is used to determine the first time period corresponding to the first computing task from multiple time periods based on the first execution time, wherein the multiple time periods are different time periods under a second time system, the second time system and the first time system are different time systems, the first execution time corresponds to the second execution time under the second time system, and the second execution time is located in the first time period; The scheduling module is used to schedule the first computing task when the current time is within the first time period.
12. The scheduling system according to claim 11, characterized in that, The first time system is the timekeeping system of the first time zone, and the second time system is the timekeeping system of the second time zone. The first time zone and the second time zone are different time zones.
13. The scheduling system according to claim 12, characterized in that, The first computing task belongs to the first task type, and the interface module is specifically used to: obtain the time point corresponding to the first task type configured by the user, and obtain the time zone information of the first computing task, wherein the time zone information is used to indicate the first time zone; The determining module is further configured to: determine the first execution time based on the time zone information and the time point.
14. The scheduling system according to any one of claims 11 to 13, characterized in that, The information of the first computing task also includes the check results of N check items corresponding to the first computing task. The check results are used to indicate whether the N check items have passed. The scheduling module is specifically used for: If the current time is within the first time period and the inspection result indicates that some or all of the N inspection items have passed, the first calculation task is scheduled to obtain the first calculation result of the first calculation task.
15. The scheduling system according to claim 14, characterized in that, The scheduling system further includes a storage module for storing a first value, which represents the check result and satisfies one of the following conditions: The first value has M digits, and the N check items correspond to the M digits. Different check items have different digits, and the digits in the digits corresponding to each check item are used to indicate whether the corresponding check item has passed. Alternatively, the first value is a value in a first number system, the first value corresponds to a second value in a second number system, the first number system and the second number system are different counting systems, and the second value has the M digits.
16. The scheduling system according to claim 15, characterized in that, The interface module is also used to: send the first calculation result to the client, and receive a request from the client to view details of the first calculation result; The determining module is further configured to: when the interface module receives a details viewing request for the first calculation result sent by the client, determine the inspection result based on the first value stored in the storage module; The interface module is also used to send the inspection results to the client.
17. The scheduling system according to any one of claims 11 to 16, characterized in that, The first calculation task is used to calculate salary.
18. A client application, characterized in that, include: The sending module is used to send the time point corresponding to the first task type to the scheduling system; The sending module is further configured to: send time zone information of the first computing task to the scheduling system, wherein the time zone information is used to indicate a first time zone, the first time zone and the time point are used to determine a first execution time of the first computing task for the scheduling system, the first execution time is used to determine a first time period corresponding to the first computing task from multiple time periods for the scheduling system, the multiple time periods are different time periods under the time system of a second time zone, the second time zone and the first time zone are different time zones, the first execution time corresponds to a second execution time under the second time system, and the second execution time is located in the first time period; The receiving module is used to receive the first calculation result of the first calculation task sent by the scheduling system, wherein the first calculation result is obtained by the scheduling system scheduling the first calculation task when the current time is within the first time period.
19. The client according to claim 18, characterized in that, The sending module is further configured to: send a request to the scheduling system to view details of the first calculation result; The receiving module is further configured to: receive a first check result from the scheduling system in response to the details viewing request, wherein the first check result is the check result of N check items corresponding to the computing task, and the first check result is used to indicate whether the N check items have passed.
20. The client according to claim 18 or 19, characterized in that, The first calculation task is used to calculate salary.
21. A scheduling system, characterized in that, It includes a processor and a memory, the processor being configured to execute instructions stored in the memory, causing the scheduling system to perform the method as described in any one of claims 1-7.
22. A client, characterized in that, It includes a processor and a memory, the processor being configured to execute instructions stored in the memory, causing the client to perform the method as described in any one of claims 8-10.
23. A chip system, characterized in that, The chip system includes a processor and a power supply circuit, the power supply circuit being used to supply power to the processor, the processor being used to perform the method as described in any one of claims 1-7 or 8-10.
24. A computing device cluster, characterized in that, It includes at least one computing device, each computing device including a processor and memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the method as described in any one of claims 1-7 or 8-10.
25. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device cluster, the computing device cluster causes the computing device cluster to perform the method as described in any one of claims 1-7 or 8-10.
26. A computer-readable storage medium, characterized in that, Includes computer program instructions, which, when executed by a cluster of computing devices, perform the method as described in any one of claims 1-7 or 8-10.