A computing service system with separation of underlying resources and services
By designing a computing service system that separates the underlying resources and services, and using the exclusive and coordinated allocation mechanism of the task allocation module, the problem of inefficient resource utilization caused by the binding of computing services and underlying resources in the existing technology is solved, and more efficient resource utilization and computing efficiency are achieved.
Patent Information
- Application Number
- CN202211264427.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-17
- Publication Date
- 2025-06-27
- Estimated Expiration
- 2042-10-17
AI Technical Summary
The existing third-party computing service system binds computing services with underlying resources, resulting in inefficient utilization of underlying resources.
Design a computing service system that separates the underlying resources and services, and realizes efficient utilization of the underlying resources through the calculation processing module, the computing service module, the calculation monitoring module, the task allocation module and the data transmission module. Specific measures include exclusive allocation of task allocation modules first, and then coordinated allocation, ensuring efficient utilization of the computing processor.
By separating the underlying resources from the computing services, the utilization efficiency of the underlying resources is improved, and the completed computing tasks can be used in the services of other users in a timely manner, improving the computing efficiency.
Smart Images

Figure CN115543627B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of electronic digital data processing, and particularly to a computing service system with separation of underlying resources and services. Background Art
[0002] When an enterprise operates normally, it needs to handle some computing tasks. When the enterprise processes computing tasks by itself, the cost is often high. Therefore, the enterprise will rely on third-party computing services to handle some computing tasks. However, existing third-party computing service systems often continue to bind the computing service to the underlying resources, making the underlying resources unavailable for processing the computing services of other users when completing the entire computing service, resulting in low utilization efficiency of the underlying resources. There is a need for a computing service system that separates the underlying resources from the services to improve resource utilization efficiency.
[0003] The foregoing discussion of the background art is only intended to facilitate an understanding of the present invention. This discussion does not recognize or admit that any of the materials mentioned is a part of common general knowledge.
[0004] Many authorization systems have now been developed. After a large amount of retrieval and reference by us, it is found that existing authorization systems are like the system disclosed in CN104899250B with the publication number. These systems generally include Step 1: Separating and migrating the graph structure information and data information; Step 2: Optimized allocation of locality sensitivity and load balancing. The present invention adopts the method of separating and migrating the graph structure and data information, as well as the mechanism of optimized allocation of locality sensitivity and load balancing to achieve the scaling of the graph computing system. However, this system only separates and migrates the data information, and the underlying resources are still bound to the computing service, and the utilization efficiency of the underlying resources needs to be improved. Summary of the Invention
[0005] The object of the present invention is to propose a computing service system with separation of underlying resources and services for the existing deficiencies.
[0006] The present invention adopts the following technical solutions:
[0007] A computing service system with separation of underlying resources and services includes a computing processing module, a computing service module, a computing monitoring module, a task allocation module, and a data transmission module. The computing service module is used to interface with users and manage computing service data. The computing processing module uses underlying resources to execute computing tasks. The computing monitoring module is used to detect the operation data of the underlying resources. The task allocation module generates computing tasks according to the computing service data of users and allocates the computing tasks to the underlying resources. The data transmission module is used to transmit data between the underlying resources and users.
[0008] The underlying resources are several computing processors, each of which is capable of executing exclusive computing tasks and general computing tasks, and the computing processors execute exclusive computing tasks with higher efficiency than general computing tasks;
[0009] When the task allocation module allocates tasks to the computing processors, it first performs exclusive allocation and then coordinated allocation. The exclusive allocation refers to allocating exclusive computing tasks to the computing processors, and the coordinated allocation refers to allocating general computing tasks to the computing processors;
[0010] The task allocation module calculates the exclusive execution index P(i, j) of the computing processor corresponding to the computing task for exclusive allocation:
[0011]
[0012] where A(i, j) represents the execution number of the j-th computing processor for exclusively processing the i-th computing task, n1(A(i, j)) is the historical exclusive execution times of the computing processor corresponding to A(i, j), and n2(A(i, j)) is the historical general execution times of the computing processor corresponding to A(i, j);
[0013] The task allocation module sorts the computing processors in descending order according to the exclusive execution index, and sequentially allocates the computing tasks to the first m(A(i)) computing processors in order, where A(i) represents the i-th computing task, and m(A(i)) is the number of A(i) computing tasks in the computing tasks generated for each user;
[0014] The task allocation module calculates the coordinated execution index Q(i, j) of the computing processor for coordinated allocation:
[0015]
[0016] where s(A(i)) is the remaining number of exclusive computing processors for the computing task A(i);
[0017] The task allocation module sorts the computing processors in descending order according to the coordinated execution index, and sequentially allocates the computing tasks to the first rz computing processors in order, where rz is the total number of computing tasks that need to be coordinated and allocated;
[0018] Further, the computing service module includes a user interface, a first service queue, and a second service queue. The user interface is used to identify the user identity and complete the docking. The first service queue is used to store the computing service applications received from the users, and the second service queue is used to store the progress data packets of the computing service applications;
[0019] Further, the task allocation module includes a service type data table and a computing task creation unit. The service type data table records the types of computing tasks required to complete each type of computing service and the corresponding quantities. The computing task creation unit generates corresponding computing tasks according to the type of computing service recorded in the application and the data in the service type data table;
[0020] Further, the data transmission module creates a data transfer unit according to the user information in the computing service application. The data transfer unit establishes a transmission channel with the corresponding computing processor according to the execution number of the computing processor allocated by the task allocation module. The user transmits data between the transfer unit and the computing processor through the transmission channel. When the computing processor completes the computing task, it releases the computing processor and destroys the corresponding transmission channel;
[0021] Further, the calculation formula for the total number rz of computing tasks that need to be coordinately allocated is as follows:
[0022]
[0023]
[0024] The beneficial effects achieved by the present invention are as follows:
[0025] This system separates the underlying resources from the computing services. When an independent underlying resource completes the corresponding computing task, it can be promptly disengaged from the original computing service and used in the computing services of other users, greatly improving the utilization efficiency of the underlying resources. This system analyzes a computing service through the task allocation module to obtain multiple computing tasks and matches an independent underlying resource for each computing task. When the task allocation module allocates tasks, it first performs exclusive allocation and then coordinated allocation. This allocation method can greatly improve the computing efficiency of the underlying resources.
[0026] To enable a further understanding of the features and technical content of the present invention, please refer to the following detailed description and drawings of the present invention. However, the provided drawings are only for reference and illustration and are not used to limit the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Figure 1 It is a schematic diagram of the overall structural framework of the present invention;
[0028] Figure 2 It is a schematic diagram of the composition of the computing service module of the present invention;
[0029] Figure 3 It is a schematic diagram of the task allocation framework of the task allocation module of the present invention;
[0030] Figure 4Schematic diagram of the framework of the data transmission module of the present invention;
[0031] Figure 5 Schematic diagram of the task allocation process of the present invention. Specific implementation manners
[0032] The following are specific embodiments to illustrate the implementation manners of the present invention. Those skilled in the art can understand the advantages and effects of the present invention from the content disclosed in this specification. The present invention can be implemented or applied through other different specific embodiments, and various details in this specification can also be modified and changed based on different viewpoints and applications without departing from the spirit of the present invention. Additionally, the drawings of the present invention are only simple schematic illustrations and are not depicted according to actual sizes, hereby stated in advance. The following implementation manners will further detail the related technical content of the present invention, but the disclosed content is not used to limit the protection scope of the present invention.
[0033] Embodiment 1.
[0034] This embodiment provides a computing service system with separation of underlying resources and services. Combining Figure 1 , it includes a computing processing module, a computing service module, a computing monitoring module, a task allocation module, and a data transmission module. The computing service module is used to interface with users and manage computing service data. The computing processing module uses underlying resources to execute computing tasks. The computing monitoring module is used to detect the operation data of the underlying resources. The task allocation module generates computing tasks based on the computing service data of users and allocates the computing tasks to the underlying resources. The data transmission module is used to transmit data between the underlying resources and users;
[0035] The underlying resources are several computing processors, and each computing processor can execute exclusive computing tasks and ordinary computing tasks. The computing processor has a higher efficiency in executing exclusive computing tasks than in executing ordinary computing tasks;
[0036] When the task allocation module allocates tasks to the computing processors, it first performs exclusive allocation and then performs coordinated allocation. The exclusive allocation refers to allocating exclusive computing tasks to the computing processors, and the coordinated allocation refers to allocating ordinary computing tasks to the computing processors;
[0037] The task allocation module calculates the exclusive execution index P(i, j) of the computing processor corresponding to the computing task for exclusive allocation:
[0038]
[0039] Among them, A(i, j) represents the execution number of the j-th computing processor dedicated to processing the i-th computing task, n1(A(i, j)) is the historical dedicated execution times of the computing processor corresponding to A(i, j), and n2(A(i, j)) is the historical general execution times of the computing processor corresponding to A(i, j);
[0040] The task allocation module sorts the computing processors in descending order according to the dedicated execution index, and sequentially allocates the computing tasks to the first m(A(i)) computing processors in order, where A(i) represents the i-th computing task, and m(A(i)) is the number of A(i) computing tasks in the computing tasks generated for each user;
[0041] The task allocation module calculates the coordination execution index Q(i, j) of the computing processors for coordinated allocation:
[0042]
[0043] Among them, s(A(i)) is the remaining number of dedicated computing processors for the computing task A(i);
[0044] The task allocation module sorts the computing processors in descending order according to the coordination execution index, and sequentially allocates the computing tasks to the first rz computing processors in order, where rz is the total number of computing tasks that need to be coordinated and allocated;
[0045] The computing service module includes a user interface, a first service queue, and a second service queue. The user interface is used to identify the user identity and complete the docking. The first service queue is used to store the computing service applications received from the users. The second service queue is used to store the progress data packets of the computing service applications;
[0046] The task allocation module includes a service type data table and a computing task creation unit. The service type data table records the types of computing tasks required to complete each type of computing service and the corresponding quantities. The computing task creation unit generates corresponding computing tasks according to the computing service type recorded in the application and the data in the service type data table;
[0047] The data transmission module creates a data transfer unit according to the user information in the computing service application. The data transfer unit establishes a transmission channel with the corresponding computing processor according to the execution number of the computing processor allocated by the task allocation module. The user transmits data between the transfer unit and the computing processor through the transmission channel. When the computing processor completes the computing task, the computing processor is released and the corresponding transmission channel is destroyed;
[0048] The calculation formula for the total number rz of computing tasks that need to be coordinated and allocated is as follows:
[0049]
[0050]
[0051] Example Two
[0052] This embodiment includes all the contents of Embodiment One and provides a computing service system with separation of underlying resources and services, including a computing processing module, a computing service module, a computing monitoring module, a task allocation module, and a data transmission module. The computing processing module includes a number of computing processors, each of which is used to process a single computing task. The computing monitoring module is used to monitor the running status of all computing processors. The computing service module is used to receive and manage users' computing service applications. The task allocation module generates multiple computing tasks according to the computing service applications and allocates each computing task to a computing processor according to the monitoring data of the computing monitoring module. The data transmission module builds a temporary transmission channel between the computing processor and the user according to the task allocation situation;
[0053] Combined with Figure 2 , the computing service module includes a user interface, a first service queue, and a second service queue. The user interface is used to identify the user's identity and complete the docking. After docking, it can transmit data with the user. The first service queue is used to store the computing service applications received from the user. The second service queue is used to store the progress data packets formed after the computing service applications are allocated;
[0054] Combined with Figure 3 , the task allocation module includes a service type data table and a computing task creation unit. The service type data table records the types of computing tasks required to complete each type of computing service and the corresponding quantities. The task allocation module obtains the computing service applications from the first service queue. The computing task creation unit generates corresponding computing tasks according to the computing service type recorded in the application and the data in the service type data table. Each computing task has an independent task number. The task allocation module obtains the running status of the corresponding type of computing processor from the computing monitoring module and then allocates the computing tasks to appropriate computing processors. The task allocation module matches the task number with the execution number of the computing processor to obtain a progress data packet and sends the progress data packet to the second service queue;
[0055] Combined with Figure 4, the task allocation module sends the execution number of the computing processor to which the computing task is allocated and the user information to the data transmission module. The data transmission module creates a data transfer unit according to the user information. The data transfer unit establishes a transmission channel with the corresponding computing processor according to the execution number. The data transfer unit obtains the corresponding data to be processed from the user interface according to the user information, and then sends the data to be processed to the corresponding computing processor according to the classification. The computing processor feeds back the processing result to the data transfer unit through the transmission channel. When the data transfer unit receives the processing results fed back by all connected computing processors, it sends the processing results to the user through the user interface;
[0056] After the computing processor finishes executing a computing task, the data transfer unit sends the corresponding task number and the execution number of the computing processor to the second service queue, and then cancels the transmission channel connected to the computing processor and releases the computing processor. The second service queue finds the corresponding progress data packet according to the task number and the execution number, and marks the corresponding computing task as the completed state in the progress data packet. The user can understand the progress of their computing service application according to the status of each computing task in the second service queue. When all computing tasks in a progress data packet are in the completed state, the second service queue sends a computing service completion message to the corresponding user and destroys the progress data packet;
[0057] When there is no transmission channel between the data transfer unit and the computing processor, the data transfer unit will be automatically destroyed;
[0058] Each computing processor corresponds to a specific computing task. The computing processor has the highest efficiency when processing the specific computing task, and has a general efficiency when processing ordinary computing tasks. The computing monitoring module counts the number of times each computing processor processes the specific computing task and ordinary computing tasks. The computing monitoring module counts the current state of each computing processor. The current state of the computing processor includes the running state and the idle state;
[0059] When the task allocation module processes the computing service application in the first service queue, the computing monitoring module sends the statistical data of the computing processors in the idle state to the task allocation module. The task allocation module allocates computing tasks according to the statistical data;
[0060] The statistical data sent by the computing monitoring module includes the number n(A(i)) of computing processors dedicated to each type of computing task, where A(i) represents the i-th type of computing task, the dedicated execution times n1(A(i,j)) and the normal execution times n2(A(i,j)) of each computing processor, and A(i,j) represents the execution number of the j-th computing processor dedicated to processing the i-th computing task;
[0061] The number of computing tasks generated when the task allocation module processes a computing service application is represented by m(A(i)). Specifically, when the generated computing tasks do not include the i-th type of computing task, m(A(i)) = 0;
[0062] Combined with Figure 5 , the process of the task allocation module allocating computing tasks includes the following steps:
[0063] S1. Determine whether each type of computing task has enough dedicated computing processors according to the following formula:
[0064] n(A(i)) ≥ m(A(i));
[0065] The task allocation module first performs dedicated allocation on the computing tasks, and then performs coordinated allocation on the computing tasks that do not satisfy the above inequality and have no dedicated computing processors;
[0066] S2. The task allocation module calculates the dedicated execution index P(i,j) of the computing processors corresponding to the computing tasks for dedicated allocation:
[0067]
[0068] S3. The task allocation module sorts the computing processors in descending order according to the dedicated execution index, and sequentially allocates the computing tasks to the first m(A(i)) computing processors in order;
[0069] S4. Calculate the remaining quantity r(A(i)) of each type of computing task:
[0070]
[0071] The total number of computing tasks that need to be coordinately allocated is rz:
[0072]
[0073] S5. Calculate the remaining quantity s(A(i)) of the dedicated computing processors for each type of computing task:
[0074]
[0075] S6. Calculate the coordination execution index Q(i, j) of the computing processors for coordinated allocation:
[0076]
[0077] It should be noted that s(A(i)) in the formula is a pure numerical value after removing the dimension;
[0078] S7. The task allocation module sorts the computing processors in descending order according to the coordination execution index, and sequentially allocates the computing tasks to the first rz computing processors in order.
[0079] The content disclosed above is only the preferred feasible embodiment of the present invention, and does not limit the protection scope of the present invention. Therefore, all equivalent technical changes made by using the content of the specification and drawings of the present invention are included in the protection scope of the present invention. In addition, the elements therein can be updated with the development of technology.
Claims
1. A computing service system with separation of underlying resources and services, characterized in that, It includes a computing processing module, a computing service module, a computing monitoring module, a task allocation module, and a data transmission module. The computing service module is used to interface with users and manage computing service data. The computing processing module utilizes underlying resources to execute computing tasks. The computing monitoring module is used to detect the operation data of the underlying resources. The task allocation module generates computing tasks based on the computing service data of users and allocates the computing tasks to the underlying resources. The data transmission module is used to transmit data between the underlying resources and users; The underlying resources are several computing processors, and each computing processor can execute exclusive computing tasks and ordinary computing tasks. The computing processor has a higher efficiency in executing exclusive computing tasks than in executing ordinary computing tasks; When the task allocation module allocates tasks to the computing processors, it first performs exclusive allocation and then performs coordinated allocation. The exclusive allocation refers to allocating exclusive computing tasks to the computing processors, and the coordinated allocation refers to allocating ordinary computing tasks to the computing processors; The task allocation module calculates the exclusive execution index P(i, j) of the computing processor corresponding to the computing task for exclusive allocation: where A(i, j) represents the execution number of the j-th computing processor for exclusively processing the i-th computing task, n1(A(i, j)) is the historical exclusive execution times of the computing processor corresponding to A(i, j), and n2(A(i, j)) is the historical ordinary execution times of the computing processor corresponding to A(i, j); The task allocation module sorts the computing processors in descending order according to the exclusive execution index, and sequentially allocates the computing tasks to the first m(A(i)) computing processors in order, where A(i) represents the i-th computing task, and m(A(i)) is the number of A(i) computing tasks in the computing tasks generated for each user; The task allocation module calculates the coordinated execution index Q(i, j) of the computing processor for coordinated allocation: where s(A(i)) is the remaining number of exclusive computing processors for the computing task A(i); The task allocation module sorts the computing processors in descending order according to the coordinated execution index, and sequentially allocates the computing tasks to the first rz computing processors in order, where rz is the total number of computing tasks that need to be coordinated and allocated.
2. The computing service system for separating underlying resources and services according to claim 1, wherein The computing service module includes a user interface, a first service queue, and a second service queue. The user interface is used to identify the user's identity and complete the docking. The first service queue is used to store the computing service applications received from users. The second service queue is used to store the progress data packets of the computing service applications.
3. The computing service system with separation of underlying resources and services according to claim 2, wherein The task allocation module includes a service type data table and a computing task creation unit. The service type data table records the types of computing tasks required to complete each type of computing service and the corresponding quantities. The computing task creation unit generates corresponding computing tasks according to the computing service type recorded in the application and the data in the service type data table.
4. The computing service system with separation of underlying resources and services as claimed in claim 3, wherein, The data transmission module creates a data transfer unit according to the user information in the computing service application. The data transfer unit establishes a transmission channel with the corresponding computing processor based on the execution number of the computing processor assigned by the task allocation module. The user transmits data between the transfer unit and the computing processor through the transmission channel. After the computing processor completes the computing task, the computing processor is released and the corresponding transmission channel is destroyed.
5. The computing service system with separation of underlying resources and services as claimed in claim 4, wherein The calculation formula for the total number rz of computing tasks that need to be coordinated and allocated is as follows:
Citation Information
Patent Citations
Graph Computing Scaling Method Based on Separation of Graph Structure and Data Information
CN104899250B
Task scheduling control system
CN109783214A
Developer independent resource based multithreading module
US10929181B1