Computing power scheduling method and device, medium and electronic equipment
By obtaining information about the receiving server and pending tasks in areas with low energy and high computing power demand, filtering out appropriate receiving servers for task scheduling, solving the problems of inefficiency and mismatch in the existing technology, and realizing automation Task allocation and efficient computing resource utilization.
Patent Information
- Application Number
- CN202411371756.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2044-09-29
AI Technical Summary
In areas where energy shortage and computing power demand is highly concentrated, it is difficult to efficiently schedule data processing tasks, resulting in inefficiency and mismatch in permission settings.
By obtaining the reception information of the reception server in the second geographical area and the target data type list of the pending tasks, the first key server is filtered out using the preset matching method, and determining the target reception server with sufficient idle computing unit to make the pending process Tasks are automatically scheduled to the server for processing.
It realizes the automatic and reasonable allocation of pending tasks, saves manpower, improves the efficiency of receiving server selection, and avoids the problem of mismatching permission settings and data type requirements.
Smart Images

Figure CN119420756A_ABST
Abstract
Description
Background Art
[0002] For areas with energy shortages and highly concentrated computing power requirements, part of the data to be processed can be intelligently migrated to areas with abundant energy and relatively loose computing power requirements. However, given the complexity of data types and the different permissions of the receiving servers, traditional practices often rely on manual allocation of servers for the transferred data. This process is not only inefficient, but also easily leads to a mismatch between the permission settings and the data type requirements, thereby hindering the smooth progress of the data processing process. Therefore, there is an urgent need for an efficient and accurate computing power scheduling method to optimize data center construction and alleviate the data processing pressure in areas with energy shortages and intensive computing power requirements. Summary of the invention
[0003] In response to the above technical problems, the present application provides a computing power scheduling method, device, medium and electronic device, which at least partially solve the problems existing in the prior art.
[0004] In a first aspect of the present application, a computing power scheduling method is provided for scheduling tasks to be processed generated in a first geographical area to be processed in a second geographical area, the method comprising the following steps:
[0005] S100, at each preset time point, obtaining the receiving information of each receiving server in the second geographical area to obtain a receiving server information list JF=(JF1, JF2, . . . , JF p , …, J.F. q ); p = 1, 2, ..., q; wherein q is the number of receiving servers in the second geographical area; JF p is the receiving information of the pth receiving server in the second geographical area; JF p =(JFQ p , JFY p ); JFQ p is the authority level of the pth receiving server in the second geographical area; JFY p The number of idle computing units is preset for the p-th receiving server in the second geographical area; each authority level has a corresponding processable data type.
[0006] S200, in response to a target sending server in a first geographical area generating a current task to be processed, obtaining a target data type list DL corresponding to the current task to be processed = (DL1, DL2, ..., DL j ,…,DL m ); j = 1, 2, ..., m; m ≤ n, wherein m is the number of target data types included in the current pending tasks of the target sending server in the first geographical area; DL jis the type identifier of the jth target data type included in the current task to be processed by the target sending server in the first geographical area; n is the number of data types that can be processed by the target sending server in the first geographical area; each target data type of the current task to be processed has corresponding proportion information; the proportion information indicates the proportion of the data volume corresponding to the target data type in the current task to be processed to the total data volume.
[0007] S300, according to JF, DL and the preset matching method, obtain the first key server list YF corresponding to the current task to be processed = (YF1, YF2, ..., YF x , …, YF y ); x = 1, 2, ..., y; where y is the number of the first key servers corresponding to the current task to be processed; YF x It is the device identifier of the xth first key server corresponding to the current task to be processed; the first key server is a receiving server whose corresponding authority level in JF can process data of each target data type corresponding to the current task to be processed.
[0008] S400, if YF is not empty, determine the first target receiving server according to YF and a preset first determination method; the number of currently idle computing units corresponding to the first target receiving server is equal to or greater than the number of computing units required for the current task to be processed.
[0009] S500, sending the current task to be processed to the first target receiving server, and controlling the first target receiving server to process data of the current task to be processed.
[0010] In a second aspect of the present application, a computing power scheduling device is provided for scheduling tasks to be processed generated in a first geographical area to be processed in a second geographical area, the device comprising:
[0011] The receiving information acquisition unit is used to acquire the receiving information of each receiving server in the second geographical area at each preset time point to obtain a receiving server information list JF=(JF1, JF2, ..., JF p , …, J.F. q ); p = 1, 2, ..., q; wherein q is the number of receiving servers in the second geographical area; JF p is the receiving information of the pth receiving server in the second geographical area; JF p =(JFQ p , JFY p ); JFQ p is the authority level of the pth receiving server in the second geographical area; JFY pThe number of idle computing units is preset for the p-th receiving server in the second geographical area; each authority level has a corresponding processable data type.
[0012] The target type acquisition unit is used to generate a current pending task in response to a target sending server in the first geographical area, and acquire a target data type list DL corresponding to the current pending task = (DL1, DL2, ..., DL j ,…,DL m ); j = 1, 2, ..., m; m ≤ n, wherein m is the number of target data types included in the current pending tasks of the target sending server in the first geographical area; DL j is the type identifier of the jth target data type included in the current task to be processed by the target sending server in the first geographical area; n is the number of data types that can be processed by the target sending server in the first geographical area; each target data type of the current task to be processed has corresponding proportion information; the proportion information indicates the proportion of the data volume corresponding to the target data type in the current task to be processed to the total data volume.
[0013] The key list acquisition unit is used to obtain the first key server list YF corresponding to the current task to be processed according to JF, DL and a preset matching method, which is YF=(YF1, YF2, ..., YF x , …, YF y ); x = 1, 2, ..., y; where y is the number of the first key servers corresponding to the current task to be processed; YF x It is the device identifier of the xth first key server corresponding to the current task to be processed; the first key server is a receiving server whose corresponding authority level in JF can process data of each target data type corresponding to the current task to be processed.
[0014] A determination unit is used to determine a first target receiving server according to YF and a preset first determination method if YF is not empty; the number of currently idle computing units corresponding to the first target receiving server is equal to or greater than the number of computing units required for the current task to be processed.
[0015] The sending unit is used to send the current task to be processed to the first target receiving server, and control the first target receiving server to perform data processing on the current task to be processed.
[0016] In a third aspect of the present application, a non-transitory computer-readable storage medium is provided, in which at least one instruction or at least one program is stored, and the at least one instruction or at least one program is loaded and executed by a processor to implement the aforementioned computing power scheduling method.
[0017] In a fourth aspect of the present application, an electronic device is provided, comprising a processor and the above-mentioned non-transitory computer-readable storage medium.
[0018] This application has at least the following beneficial effects:
[0019] The computing power scheduling method provided by the present application is that for the receiving area (second geographical area) of the task to be processed, every time the preset time point is reached, the preset number of free units of each receiving server is updated according to the actual use of computing power in the second geographical area. Then, when the target sending server in the first geographical area generates the current task to be processed, each target data type corresponding to the current task to be processed is obtained; since each receiving server belongs to a different department, its corresponding authority level is different, and different authority levels can process different types of data. The higher the authority level, the more data types can be processed. Therefore, according to the receiving server information list and the target data type list corresponding to the current task to be processed, the first key server (the receiving server that can process each target data type corresponding to the current task to be processed) list is obtained; however, there may be some first key servers in the list whose current number of free units is insufficient, and the task to be processed cannot be processed. Therefore, the number of current free computing units of the first target receiving server obtained is equal to or greater than the number of computing units required for the current task to be processed. Finally, the current task to be processed is sent to the first target receiving server, and the first target receiving server is controlled to process the data of the current task to be processed. The present application first obtains the authority level information of each receiving server and the number of preset idle computing units, and then selects a number of first key servers according to each target data type corresponding to the current task to be processed, and determines the first target receiving server from the first key servers. The present application does not require manual allocation of receiving servers, and selects a suitable first target receiving server for data processing for the data to be processed according to the corresponding relationship between the target data corresponding to the task to be processed and each receiving server. The automatic and reasonable allocation of tasks to be processed is realized. Manpower is saved and the efficiency of receiving server selection is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0021] Figure 1 A flow chart of a computing power scheduling method provided in an embodiment of the present application;
[0022] Figure 2A structural block diagram of the computing power scheduling device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0023] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.
[0024] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or server that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0025] It should be noted that various aspects of the embodiments within the scope of the appended claims are described below. It should be apparent that the aspects described herein may be embodied in a wide variety of forms, and any specific structure and / or function described herein is merely illustrative. Based on the present application, it should be understood by those skilled in the art that an aspect described herein may be implemented independently of any other aspect, and two or more of these aspects may be combined in various ways. For example, any number of aspects described herein may be used to implement the device and / or practice the method. In addition, other structures and / or functionalities other than one or more of the aspects described herein may be used to implement this device and / or practice this method.
[0026] Please refer to Figure 1 As shown, an embodiment of the present application provides a computing power scheduling method for scheduling tasks to be processed generated in a first geographical area to be processed in a second geographical area, and the method includes the following steps:
[0027] S100, at each preset time point, obtaining the receiving information of each receiving server in the second geographical area to obtain a receiving server information list JF=(JF1, JF2, . . . , JF p , …, J.F. q); p = 1, 2, ..., q; wherein q is the number of receiving servers in the second geographical area; JF p is the receiving information of the pth receiving server in the second geographical area; JF p =(JFQ p , JFY p ); JFQ p is the authority level of the pth receiving server in the second geographical area; JFY p The number of idle computing units is preset for the p-th receiving server in the second geographical area; each authority level has a corresponding processable data type.
[0028] Specifically, for the receiving area (second geographical area) of the task to be processed, each time a preset time point is reached, the receiving information of each receiving server in the second geographical area is obtained to obtain a receiving server information list. As an example: the preset time point may be seven o'clock every morning. Here, the number of preset idle units of each receiving server may be updated according to the actual use of computing power in the second geographical area between the last preset time point and the current preset time point. The preset idle unit here is the computing unit reserved by the receiving server for receiving the task to be processed.
[0029] It should be noted that each receiving server may belong to a different server cluster (maybe a department in a certain region), and the levels of the receiving servers in each server cluster may be the same or different. The levels of the receiving servers in different server clusters may be the same or different. And each permission level has a corresponding data type that can be processed. The higher the permission level, the more data types can be processed. Conversely, the lower the permission level, the fewer data types can be processed.
[0030] S200, in response to a target sending server in a first geographical area generating a current task to be processed, obtaining a target data type list DL corresponding to the current task to be processed = (DL1, DL2, ..., DL j ,…,DL m ); j = 1, 2, ..., m; m ≤ n, wherein m is the number of target data types included in the current pending tasks of the target sending server in the first geographical area; DL j is the type identifier of the jth target data type included in the current task to be processed by the target sending server in the first geographical area; n is the number of data types that can be processed by the target sending server in the first geographical area; each target data type of the current task to be processed has corresponding proportion information; the proportion information indicates the proportion of the data volume corresponding to the target data type in the current task to be processed to the total data volume.
[0031] Specifically, the target sending server can process n data types, and the current task to be processed generated by the target sending server includes at least one data type. This embodiment obtains each target data type included in the current task to be processed to obtain a target data type list.
[0032] It is understandable that each target data type of the current task to be processed has corresponding ratio information, which indicates the ratio of the data volume corresponding to the target data type to the total data volume in the current task to be processed.
[0033] S300, according to JF, DL and the preset matching method, obtain the first key server list YF corresponding to the current task to be processed = (YF1, YF2, ..., YF x , …, YF y ); x = 1, 2, ..., y; where y is the number of the first key servers corresponding to the current task to be processed; YF x It is the device identifier of the xth first key server corresponding to the current task to be processed; the first key server is a receiving server whose corresponding authority level in JF can process data of each target data type corresponding to the current task to be processed.
[0034] Specifically, the preset matching methods include:
[0035] S310, obtaining a first receiving server list set SF corresponding to a target sending server in a first geographical area = (SF1, SF2, ..., SF i ,…,SF n ), i = 1, 2, ..., n, where SF i A list of device identifiers of receiving servers corresponding to the i-th data type that can be processed by the target sending server in the first geographical area; SF i =(SF i,1 , S.F. i,2 ,…,SF i,a ,…,SF i,f(i) ); f(i) is the number of receiving servers in JF that can process the i-th data type with the corresponding permission level; SF i,a The device identifier of the receiving server that can process the ith data type with the ath corresponding permission level in JF.
[0036] Here, according to the correspondence between each data type that can be processed by the target sending server and the authority level of each receiving server and the data type, the receiving server that can receive each data type of the target sending server is obtained.
[0037] It can be understood that, since in this embodiment, the number of receiving servers that can receive each data type corresponding to the target sending server may be different, in this embodiment, f(i) does not refer to a specific function or function result value, but refers to a possible value that varies with the specific value of i. For example, when i=1, f(i)=5; when i=2, f(i)=8; when i=3, f(i)=8.
[0038] S320, traverse SF according to DL, obtain the receiving server list corresponding to each target data type, to obtain a second receiving server list set DF = (DF1, DF2, ..., DF j , …, DF m ), where DF j The device identification list of the receiving server corresponding to the jth target data type in JF corresponding to the current task to be processed; DF j =(DF j,1 , DF j,2 , …, DF j,b , …, DF j,f(j) );DF j,b is the device identifier of the bth receiving server that can process the jth target data type with the corresponding permission level in JF; f(j) is the number of receiving servers that can process the jth target data type with the corresponding permission level in JF.
[0039] Here, DF is obtained from SF according to each target data type corresponding to the current task to be processed.
[0040] It can be understood that, since in this embodiment, the number of receiving servers that can receive each target data type of the current task to be processed may be different, in this embodiment, f(j) does not refer to a specific function or function result value, but refers to a possible value that varies with the specific value of j. For example, when j=1, f(j)=5; when j=2, f(j)=8; when j=3, f(j)=8.
[0041] S330, traverse DF, and obtain YF=(YF1, YF2, ..., YF x , …, YF y ).
[0042] Here, DF is traversed again, and receiving servers with corresponding authority levels that can process data of each target data type corresponding to the current task to be processed are filtered out from DF to obtain YF.
[0043] S400, if YF is not empty, determine the first target receiving server according to YF and a preset first determination method; the number of currently idle computing units corresponding to the first target receiving server is equal to or greater than the number of computing units required for the current task to be processed.
[0044] Specifically, if YF is not empty, it means that there is at least one receiving server (first key server) with a corresponding authority level that can process data of each target data type corresponding to the current task to be processed. A first target receiving server is determined from at least one first key server, specifically, by the following steps:
[0045] S410, according to YF, obtain the corresponding intermediate server list KF = (KF1, KF2, ..., KF g , …, KF h ), g = 1, 2, ..., h, where h is the number of intermediate servers; KF g is the device identifier corresponding to the g-th intermediate server; the intermediate server is a receiving server whose number of preset idle computing units in YF is equal to or greater than the number of computing units required for the current task to be processed.
[0046] Here, although the first key server has the authority to process each target data type, the number of preset idle computing units corresponding to its current preset time is less than the number of computing units required for the current task to be processed (there is not enough preset computing power to process the current task to be processed); then such first key server will be deleted from YF to obtain KF.
[0047] S420, if KF is not empty, then according to KF, obtain the intermediate server access priority list KP = (KP1, KP2, ..., KP g , …, KP h ), where KP g KP is the access priority corresponding to the g-th intermediate server; g =α*KPY g +β*KPQ g ; α is the preset computing power weight; β is the preset authority weight; KPY g is the computing power score determined according to the number of preset idle computing units corresponding to the g-th intermediate server, and the number of preset idle computing units is positively correlated with the size of the computing power score; KPQ g The permission score is determined according to the number of data types that can be processed by the permission level corresponding to the g-th intermediate server, and the number of data types that can be processed by the corresponding permission level is inversely correlated with the size of the permission score.
[0048] Here, if KF is not empty, it means that there is a receiving server in YF whose number of preset idle computing units is equal to or greater than the number of computing units required for the current task to be processed. However, even if there is a receiving server whose corresponding number of preset idle computing units is equal to or greater than the number of computing units required for the current task to be processed (there is enough preset computing power to process the current task to be processed), it may have received other tasks to be processed before the current task to be processed, occupying a certain amount of computing power resources (using a certain number of preset idle computing units), which may cause the remaining preset idle computing units to be less than the number of computing units required for the current task to be processed (there is not enough preset computing power to process the current task to be processed). In this embodiment, the access priority corresponding to each intermediate server is obtained, where α is the preset computing power weight; β is the preset authority weight, which can be set and adjusted according to actual conditions. The number of preset idle computing units is positively correlated with the size of the computing power score. Here, if a certain intermediate server has more preset idle computing units, that is, the intermediate server has a greater possibility of being able to process the current pending task due to the large number of preset idle computing units, so its computing power score is higher; and the more data types that can be processed by the corresponding authority level, the greater the possibility that other tasks have been processed before the current pending task, and the fewer idle computing units are left for the current pending task. Therefore, the smaller the authority score is at this time, the greater the authority score is. The higher the access priority of each intermediate server, the greater the possibility that the intermediate service can process the current pending task.
[0049] S430, traverse the KP in descending order according to the access priority corresponding to each intermediate server in the KP, until the number of currently idle computing units corresponding to any intermediate server is equal to or greater than the number of computing units required for the current task to be processed, then determine the intermediate server as the first target receiving server and stop traversal.
[0050] Here, KP is traversed in descending order according to the access priority corresponding to each intermediate server in KP, that is, it is traversed from large to small according to the possibility of being able to process the current task to be processed, until an intermediate server is encountered whose corresponding number of currently idle computing units is equal to or greater than the number of computing units required for the current task to be processed, then the intermediate server is determined as the first target receiving server and the traversal is stopped.
[0051] S500, sending the current task to be processed to the first target receiving server, and controlling the first target receiving server to process data of the current task to be processed.
[0052] Specifically, the current task to be processed is sent to the first target receiving server, and the first target receiving server is controlled to process the data of the current task to be processed. After obtaining the processing result, the corresponding processing result is sent to the target issuing server that issued the current task to be processed.
[0053] In an exemplary embodiment of the present application, after step S300, the method further includes:
[0054] S600, if YF is empty, then according to JF and DL, obtain the second key server information list set EF corresponding to the current task to be processed = (EF1, EF2, ..., EF c , …, EF d ); c = 1, 2, ..., d; d is the number of the second key servers corresponding to the current task to be processed; EF c is the device identifier of the cth second key server corresponding to the current pending task; the second key server is a receiving server with a corresponding authority level in JF that can process data of at least one target data type corresponding to the current pending task; EF c =(EF c,1 , E.F. c,2 , …, EF c,e , …, EF c,f(c) ); e = 1, 2, ..., f(c); f(c) is the number of target data types that can be processed by the cth second key server corresponding to the current task to be processed; EF c,e It is the type identifier of the e-th target data type that can be processed by the c-th second key server corresponding to the current task to be processed.
[0055] Specifically, if YF is empty, it means that for the current pending task, no receiving server corresponding to the authority level can process all target data types of the current pending task. At this time, a receiving server that can process data of at least one target data type corresponding to the current pending task is obtained to obtain the second key server information list set EF.
[0056] It can be understood that since in this embodiment, the number of second key receiving servers corresponding to each target data type of the current task to be processed may be different, in this embodiment, f(c) does not refer to a specific function or function result value, but refers to a possible value that varies with the specific value of c. For example, when c=1, f(c)=5; when c=2, f(c)=8; when c=3, f(c)=8.
[0057] S700, according to EF, obtain a second key server type list set LF = (LF1, LF2, ..., LF c ,…,LF d), where LF c The cth second key server type list corresponding to the current task to be processed; LF c =(LF c,1 , LF c,2 ,…,LF c,e ,…,LF c,r(c) ); r(c) is the number of target data types that cannot be processed by the cth second key server corresponding to the current task to be processed; LF c,e It is the type identifier of the e-th target data type that cannot be processed by the c-th second key server corresponding to the current task to be processed.
[0058] Specifically, each unprocessable target data type corresponding to each second key server is obtained to obtain LF.
[0059] It can be understood that, since in this embodiment, the number of target data types that cannot be processed by the second key receiving server corresponding to each target data type of the current task to be processed may be different, in this embodiment, r(c) does not refer to a specific function or function result value, but refers to a possible value that varies with the specific value of c. For example, when c=1, r(c)=3; when c=2, r(c)=6; when c=3, r(c)=10.
[0060] S800: Determine a second target receiving server according to the LF and a preset second determination method.
[0061] Specifically, step S800 includes:
[0062] S810, according to the ratio information corresponding to LF and each target data type, obtain the second key server ratio list BF=(BF1, BF2, ..., BF c , ..., BF d ), where BF c is the sum of the data proportion that cannot be processed by the cth second key server; BF c =Σ r(c) c=1 LFA c,e ;LFA c,e LF c,e The corresponding data volume accounts for the ratio of the total data volume of the current task to be processed.
[0063] S820, determining the second key server corresponding to MIN(BF) as the second target receiving server; MIN() is a preset minimum value determination function.
[0064] Here, when selecting the second key server, since the authority level corresponding to each second key server cannot process the data corresponding to all target data types of the current task to be processed, for the current task to be processed, there will be at least one target data type corresponding to the data that cannot be processed by the selected second key server, and this data needs to be processed by the target sending server. In order to minimize the processing volume of the target sending server and save the computing resources of the target sending server, it is necessary to make the amount of data corresponding to the target data type that cannot be processed by the selected second key server the smallest compared with other second key servers. Therefore, in this embodiment, the second key server corresponding to MIN(BF), that is, the second key server with the smallest proportion of the sum of the data corresponding to the unprocessable target data type to the total data volume of the current task to be processed, is determined as the second target receiving server.
[0065] S900, pre-processing the current task to be processed according to the homomorphic encryption algorithm to obtain an encrypted current task to be processed.
[0066] Specifically, step S900 includes:
[0067] S910, perform homomorphic encryption on the data corresponding to all unprocessable target data types corresponding to MIN(BF) according to the homomorphic encryption algorithm to obtain the encrypted current task to be processed.
[0068] Wherein, the homomorphic encryption algorithm is a fully homomorphic encryption algorithm. The target sending server performs fully homomorphic encryption on the data corresponding to all unprocessable target data types corresponding to MIN(BF) according to the fully homomorphic encryption algorithm, and sends the fully homomorphically encrypted data to the second target receiving server.
[0069] It should be noted that homomorphic encryption algorithms refer to encryption algorithms that satisfy the homomorphic operation property of ciphertext, that is, after the data is homomorphically encrypted, a specific calculation is performed on the ciphertext, and the ciphertext calculation result obtained after the corresponding homomorphic decryption is equivalent to the same calculation performed directly on the plaintext data, achieving the "calculated but invisible" data. Fully homomorphic encryption algorithms support any form of calculation on ciphertext.
[0070] S1000, sending the encrypted current task to be processed to a second target receiving server, and controlling the second target receiving server to perform data processing on the encrypted current task to be processed.
[0071] In this embodiment, the target issuing server performs fully homomorphic encryption on the data corresponding to all unprocessable target data types corresponding to MIN(BF) and then sends it to the second target receiving server. The corresponding operation is performed on the data corresponding to the partial target data types of the pending tasks processed by the second target receiving server itself. Due to the characteristics of the fully homomorphic encryption algorithm, the data sent to the second target receiving server after being fully homomorphically encrypted is operated on the partial target data types of the pending tasks processed by the second target receiving server itself, and finally the data processing result is returned to the target issuing server for decryption.
[0072] In this embodiment, on the one hand, the second key server with the smallest proportion of data that cannot be processed by the server is selected as the second target receiving server, which reduces the processing volume of the target issuing server and saves the computing resources of the target issuing server. On the other hand, the target issuing server performs homomorphic encryption on the data that the second target receiving server cannot process before sending it to the second target issuing server. The data that is sent to the second target receiving server after full homomorphic encryption is operated with part of the target data type of the task to be processed that has been processed by the second target receiving server itself, and finally the data processing result is returned to the target issuing server for decryption. This not only ensures data security, but also allows all data to be operated normally.
[0073] Please refer to Figure 2 As shown, an embodiment of the present application provides a computing power scheduling device 100, the device comprising:
[0074] The receiving information obtaining unit 110 is used to obtain the receiving information of each receiving server in the second geographical area at each preset time point to obtain a receiving server information list JF=(JF1, JF2, ..., JF p , …, J.F. q ); p = 1, 2, ..., q; wherein q is the number of receiving servers in the second geographical area; JF p is the receiving information of the pth receiving server in the second geographical area; JF p =(JFQ p , JFY p ); JFQ p is the authority level of the pth receiving server in the second geographical area; JFY p The number of idle computing units is preset for the p-th receiving server in the second geographical area; each authority level has a corresponding processable data type.
[0075] The target type acquisition unit 120 is used to generate a current pending task in response to a target sending server in the first geographical area, and acquire a target data type list DL corresponding to the current pending task = (DL1, DL2, ..., DL j ,…,DL m ); j = 1, 2, ..., m; m ≤ n, wherein m is the number of target data types included in the current pending tasks of the target sending server in the first geographical area; DL j is the type identifier of the jth target data type included in the current task to be processed by the target sending server in the first geographical area; n is the number of data types that can be processed by the target sending server in the first geographical area; each target data type of the current task to be processed has corresponding proportion information; the proportion information indicates the proportion of the data volume corresponding to the target data type in the current task to be processed to the total data volume.
[0076] The key list acquisition unit 130 is used to obtain the first key server list YF corresponding to the current task to be processed according to JF, DL and a preset matching method, which is YF=(YF1, YF2, ..., YF x , …, YF y ); x = 1, 2, ..., y; where y is the number of the first key servers corresponding to the current task to be processed; YF x It is the device identifier of the xth first key server corresponding to the current task to be processed; the first key server is a receiving server whose corresponding authority level in JF can process data of each target data type corresponding to the current task to be processed.
[0077] The determination unit 140 is used to determine the first target receiving server according to YF and a preset first determination method if YF is not empty; the number of currently idle computing units corresponding to the first target receiving server is equal to or greater than the number of computing units required for the current task to be processed.
[0078] The sending unit 150 is used to send the current task to be processed to the first target receiving server, and control the first target receiving server to perform data processing on the current task to be processed.
[0079] An embodiment of the present application further provides a computer program product, which includes program code. When the program product is run on an electronic device, the program code is used to enable the electronic device to execute the steps of the method according to various exemplary embodiments of the present application described above in this specification.
[0080] In addition, although the steps of the method in the present application are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.
[0081] Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the implementation methods of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the implementation methods of the present application.
[0082] In an exemplary embodiment of the present application, an electronic device capable of implementing the above method is also provided.
[0083] Those skilled in the art will appreciate that various aspects of the present application may be implemented as a system, method or program product. Therefore, various aspects of the present application may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to as "circuit", "module" or "system" herein.
[0084] The electronic device according to this embodiment of the present application is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0085] The electronic device is presented in the form of a general-purpose computing device. The components of the electronic device may include, but are not limited to: the at least one processor mentioned above, the at least one storage device mentioned above, and a bus connecting different system components (including storage devices and processors).
[0086] The storage stores program codes, which can be executed by the processor, so that the processor executes the steps described in the above “Exemplary Method” section of this specification according to various exemplary embodiments of the present application.
[0087] The memory may include readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory, and may further include read only memory (ROM).
[0088] The storage may also include a program / utility having a set (at least one) of program modules, such program modules including but not limited to: an operating system, one or more application programs, other program modules and program data, each of which or some combination may include the implementation of a network environment.
[0089] The bus may represent one or more of several types of bus structures including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures.
[0090] The electronic device can also communicate with one or more external devices (such as keyboards, pointing devices, Bluetooth devices, etc.), and can also communicate with one or more devices that enable users to interact with the electronic device, and / or communicate with any device (such as routers, modems, etc.) that enables the electronic device to communicate with one or more other computing devices. This communication can be carried out through an input / output (I / O) interface. In addition, the electronic device can also communicate with one or more networks (such as local area networks (LANs), wide area networks (WANs) and / or public networks, such as the Internet) through a network adapter. As shown in the figure, the network adapter communicates with other modules of the electronic device through a bus. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with the electronic device, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0091] Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the implementation methods of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation methods of the present application.
[0092] In an exemplary embodiment of the present application, a computer-readable storage medium is also provided, on which a program product capable of implementing the above method of the present specification is stored. In some possible implementations, various aspects of the present application can also be implemented in the form of a program product, which includes a program code. When the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps according to various exemplary implementations of the present application described in the above "Exemplary Method" section of the present specification.
[0093] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0094] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0095] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
[0096] Program code for performing the operations of the present application may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0097] In addition, the above-mentioned figures are only schematic illustrations of the processes included in the method according to the exemplary embodiments of the present application, and are not intended to be limiting. It is easy to understand that the processes shown in the above-mentioned figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.
[0098] It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.
[0099] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.
Claims
1. A computing power scheduling method, characterized in that: The method is used to dispatch tasks to be processed generated in a first geographical area to be processed in a second geographical area, the method comprising: S100, at each preset time point, obtaining the receiving information of each receiving server in the second geographical area to obtain a receiving server information list JF=(JF1, JF2, . . . , JF p , …, J.F. q ); p = 1, 2, ..., q; wherein q is the number of receiving servers in the second geographical area; JF p is the receiving information of the pth receiving server in the second geographical area; JF p =(JFQ p , JFY p ); JFQ p is the authority level of the pth receiving server in the second geographical area; JFY p Preset the number of idle computing units for the pth receiving server in the second geographical area; each permission level has a corresponding data type that can be processed; S200, in response to a target sending server in a first geographical area generating a current task to be processed, obtaining a target data type list DL corresponding to the current task to be processed = (DL1, DL2, ..., DL j ,…,DL m ); j = 1, 2, ..., m; m ≤ n, wherein m is the number of target data types included in the current pending tasks of the target sending server in the first geographical area; DL j is the type identifier of the jth target data type included in the current pending task of the target sending server in the first geographical area; n is the number of data types that can be processed by the target sending server in the first geographical area; each target data type of the current pending task has corresponding proportion information; the proportion information indicates the proportion of the data volume corresponding to the target data type in the current pending task to the total data volume; S300, according to JF, DL and the preset matching method, obtain the first key server list YF corresponding to the current task to be processed = (YF1, YF2, ..., YF x , …, YF y ); x = 1, 2, ..., y; where y is the number of the first key servers corresponding to the current task to be processed; YF x is the device identifier of the xth first key server corresponding to the current task to be processed; the first key server is a receiving server with a corresponding authority level in JF that can process data of each target data type corresponding to the current task to be processed; S400, if YF is not empty, determining a first target receiving server according to YF and a preset first determination method; the number of currently idle computing units corresponding to the first target receiving server is equal to or greater than the number of computing units required for the current task to be processed; S500, sending the current task to be processed to the first target receiving server, and controlling the first target receiving server to process data of the current task to be processed.
2. The computing power scheduling method according to claim 1, characterized in that: The preset matching methods include: S310, obtaining a first receiving server list set SF corresponding to a target sending server in a first geographical area = (SF1, SF2, ..., SF i ,…,SF n ), i = 1, 2, ..., n, where SF i A list of device identifiers of receiving servers corresponding to the i-th data type that can be processed by the target sending server in the first geographical area; SF i =(SF i,1 , S.F. i,2 ,…,SF i,a ,…,SF i,f(i) ); f(i) is the number of receiving servers in JF that can process the i-th data type with the corresponding permission level; SF i,a is the device identifier of the receiving server corresponding to the ath permission level in JF that can process the ith data type; S320, traverse SF according to DL, obtain the receiving server list corresponding to each target data type, to obtain a second receiving server list set DF = (DF1, DF2, ..., DF j , …, DF m ), where DF j The device identification list of the receiving server corresponding to the jth target data type in JF corresponding to the current task to be processed; DF j =(DF j,1 , DF j,2 , …, DF j,b , …, DF j,f(j) );DF j,b is the device identifier of the bth receiving server that can process the jth target data type with the corresponding permission level in JF; f(j) is the number of receiving servers that can process the jth target data type with the corresponding permission level in JF; S330, traverse DF, and obtain YF=(YF1, YF2, ..., YF x , …, YF y ).
3. The computing power scheduling method according to claim 1, characterized in that: The preset first determination method comprises the following steps: S410, according to YF, obtain the corresponding intermediate server list KF = (KF1, KF2, ..., KF g , …, KF h ), g = 1, 2, ..., h, where h is the number of intermediate servers; KF g is the device identifier corresponding to the g-th intermediate server; the intermediate server is a receiving server whose number of preset idle computing units in YF is equal to or greater than the number of computing units required for the current task to be processed; S420, if KF is not empty, then according to KF, obtain the intermediate server access priority list KP = (KP1, KP2, ..., KP g , …, KP h ), where KP g KP is the access priority corresponding to the g-th intermediate server; g =α*KPY g +β*KPQ g ; α is the preset computing power weight; β is the preset authority weight; KPY g is the computing power score determined according to the number of preset idle computing units corresponding to the g-th intermediate server, and the number of preset idle computing units is positively correlated with the size of the computing power score; KPQ g is a permission score determined according to the number of data types that can be processed by the permission level corresponding to the g-th intermediate server, and the number of data types that can be processed by the corresponding permission level is inversely correlated with the size of the permission score; S430, traverse the KP in descending order according to the access priority corresponding to each intermediate server in the KP, until the number of currently idle computing units corresponding to any intermediate server is equal to or greater than the number of computing units required for the current task to be processed, then determine the intermediate server as the first target receiving server and stop traversal.
4. The computing power scheduling method according to claim 1, characterized in that: After step S300, the method further includes: S600, if YF is empty, then according to JF and DL, obtain the second key server information list set EF corresponding to the current task to be processed = (EF1, EF2, ..., EF c , …, EF d ); c = 1, 2, ..., d; d is the number of the second key servers corresponding to the current task to be processed; EF c is the device identifier of the cth second key server corresponding to the current pending task; the second key server is a receiving server with a corresponding authority level in JF that can process data of at least one target data type corresponding to the current pending task; EF c =(EF c,1 , E.F. c,2 , …, EF c,e , …, EF c,f(c) ); e = 1, 2, ..., f(c); f(c) is the number of target data types that can be processed by the cth second key server corresponding to the current task to be processed; EF c,e is the type identifier of the e-th target data type that can be processed by the c-th second key server corresponding to the current task to be processed; S700, according to EF, obtain a second key server type list set LF = (LF1, LF2, ..., LF c ,…,LF d ), where LF c The cth second key server type list corresponding to the current task to be processed; LF c =(LF c,1 , LF c,2 ,…,LF c,e ,…,LF c,r(c) ); r(c) is the number of target data types that cannot be processed by the cth second key server corresponding to the current task to be processed; LF c,e The type identifier of the e-th target data type that cannot be processed by the c-th second key server corresponding to the current task to be processed; S800, determining a second target receiving server according to the LF and a preset second determination method; S900, performing preset processing on the current task to be processed according to the homomorphic encryption algorithm to obtain an encrypted current task to be processed; S1000, sending the encrypted current task to be processed to a second target receiving server, and controlling the second target receiving server to perform data processing on the encrypted current task to be processed.
5. The computing power scheduling method according to claim 4, characterized in that: The preset second determination method includes: S810, according to the ratio information corresponding to LF and each target data type, obtain the second key server ratio list BF=(BF1, BF2, ..., BF c , ..., BF d ), where BF c is the sum of the data proportion that cannot be processed by the cth second key server; BF c =Σ r(c) c=1 LFA c,e ;LFA c,e LF c,e The proportion of the corresponding data volume to the total data volume of the current task to be processed; S820, determining the second key server corresponding to MIN(BF) as the second target receiving server; MIN() is a preset minimum value determination function.
6. The computing power scheduling method according to claim 5, characterized in that: The step S900 includes: S910, perform homomorphic encryption on the data corresponding to all unprocessable target data types corresponding to MIN(BF) according to the homomorphic encryption algorithm to obtain the encrypted current task to be processed.
7. The computing power scheduling method according to claim 6, characterized in that: The homomorphic encryption algorithm is a fully homomorphic encryption algorithm.
8. A computing power scheduling device, characterized in that: The device is used to dispatch tasks to be processed generated in a first geographical area to be processed in a second geographical area, the device comprising: The receiving information acquisition unit is used to acquire the receiving information of each receiving server in the second geographical area at each preset time point to obtain a receiving server information list JF=(JF1, JF2, ..., JF p , …, J.F. q ); p = 1, 2, ..., q; wherein q is the number of receiving servers in the second geographical area; JF p is the receiving information of the pth receiving server in the second geographical area; JF p =(JFQ p , JFY p ); JFQ p is the authority level of the pth receiving server in the second geographical area; JFY p Preset the number of idle computing units for the pth receiving server in the second geographical area; each permission level has a corresponding data type that can be processed; The target type acquisition unit is used to generate a current pending task in response to a target sending server in the first geographical area, and acquire a target data type list DL corresponding to the current pending task = (DL1, DL2, ..., DL j ,…,DL m ); j = 1, 2, ..., m; m ≤ n, wherein m is the number of target data types included in the current pending tasks of the target sending server in the first geographical area; DL j is the type identifier of the jth target data type included in the current pending task of the target sending server in the first geographical area; n is the number of data types that can be processed by the target sending server in the first geographical area; each target data type of the current pending task has corresponding proportion information; the proportion information indicates the proportion of the data volume corresponding to the target data type in the current pending task to the total data volume; The key list acquisition unit is used to obtain the first key server list YF corresponding to the current task to be processed according to JF, DL and a preset matching method, which is YF=(YF1, YF2, ..., YF x , …, YF y ); x = 1, 2, ..., y; where y is the number of the first key servers corresponding to the current task to be processed; YF x is the device identifier of the xth first key server corresponding to the current task to be processed; the first key server is a receiving server with a corresponding authority level in JF that can process data of each target data type corresponding to the current task to be processed; A determination unit, configured to determine a first target receiving server according to YF and a preset first determination method if YF is not empty; the number of currently idle computing units corresponding to the first target receiving server is equal to or greater than the number of computing units required for the current task to be processed; The sending unit is used to send the current task to be processed to the first target receiving server, and control the first target receiving server to perform data processing on the current task to be processed.
9. A non-transitory computer-readable storage medium, characterized in that: The storage medium stores at least one instruction or at least one program, and the at least one instruction or the at least one program is loaded and executed by the processor to implement the method as claimed in any one of claims 1 to 7.
10. An electronic device, characterized in that: The invention comprises a processor and the non-transitory computer-readable storage medium as claimed in claim 9.
Citation Information
Patent Citations
Computing power network node distribution method and device, electronic equipment and storage medium
CN115801896A
Distributed computing power scheduling method and device, electronic equipment and storage medium
CN116069498A
Resource scheduling method and device, storage medium and equipment
CN117785456A
Computing power scheduling method and apparatus, related device, and storage medium
WO2024160054A1