WO2018170732A1 - Method and device for service deployment under edge cloud architecture - Google Patents

Method and device for service deployment under edge cloud architecture Download PDF

Info

Publication number
WO2018170732A1
WO2018170732A1 PCT/CN2017/077510 CN2017077510W WO2018170732A1 WO 2018170732 A1 WO2018170732 A1 WO 2018170732A1 CN 2017077510 W CN2017077510 W CN 2017077510W WO 2018170732 A1 WO2018170732 A1 WO 2018170732A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
target node
user
node
target
Prior art date
Application number
PCT/CN2017/077510
Other languages
French (fr)
Chinese (zh)
Inventor
徐琳
胡俊
于正元
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2017/077510 priority Critical patent/WO2018170732A1/en
Publication of WO2018170732A1 publication Critical patent/WO2018170732A1/en

Links

Images

Definitions

  • the embodiments of the present invention relate to the field of communications technologies, and in particular, to a method and apparatus for service deployment in an edge cloud architecture.
  • the edge cloud platform may include network element services that are sinked to the edge by the Evolved Packet Core (EPC) module. It includes services that are “upward” by the indoor baseband processing unit (BBU), such as Packet Data Convergence Protocol (PDCP), Radio Resource Control (RRC), etc., and even some Three-party application services.
  • BBU indoor baseband processing unit
  • PDCP Packet Data Convergence Protocol
  • RRC Radio Resource Control
  • the embodiments of the present application provide a method and apparatus for service deployment in an edge cloud architecture, which are used to improve resource utilization of the system.
  • the embodiment of the present application provides a service deployment method in an edge cloud architecture.
  • the service is performed for each of the K services to be deployed.
  • the information about the user's access to the service in each of the N regions is estimated; N is an integer greater than or equal to 1; for each of the M nodes, the service deployment is determined according to the access information.
  • the total communication delay required by the users in the N areas to access the service obtains M total communication delays; according to the M total communication delays, the first target to be deployed by the service is determined from the M nodes.
  • a node determining, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the number of resource instances that the first target node should allocate for the service; A resource instance corresponding to the number of resource instances on the first target node is allocated to the service, where K and M are integers greater than or equal to 1.
  • determining, according to the visitor information, a total communication delay required for a user of the N areas to access the service after the service is deployed on the node, and obtaining M total communication delays including : Performing each of the M nodes as the current node, respectively: performing: determining, according to the access information and the communication performance indicator of the current node, the basic communication when the user of the N areas accesses the service after the service is deployed on the current node If it is determined that the node currently deployed by the service is different from the current node, it is determined that the service is migrated from the currently deployed node to the current node.
  • the migration communication delay corresponding to the process; according to the basic communication delay and the migration communication delay, the total communication delay required for the users of the N areas to access the service is determined.
  • the current cycle needs to deploy K services on M nodes, but there may be cases where K services have been deployed, this time being redeployed.
  • the node currently deployed by the service is different from the current node, once the service is determined to be deployed on the current node, all data corresponding to the service needs to be migrated to the current node, and the process of migrating the service must take time. Therefore, in the embodiment of the present application, the basic communication delay after the service migration and the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node are considered, and the total communication can be obtained more accurately and completely. Delay. Optionally, the sum of the basic communication delay and the migration communication delay is taken as the total communication delay.
  • the first target node where the service should be deployed is determined from the M nodes, and optionally, the minimum total communication may be determined from the M total communication delays.
  • the delay determines the node corresponding to the smallest total communication delay as the first target node corresponding to the service.
  • determining, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the number of resource instances that the first target node should allocate for the service including Determining the consumption of the resource instance corresponding to the service according to the performance indicator of the service and the information of the user's access to the service in each of the N areas; the number of available resource instances corresponding to the first target node, and the resource corresponding to the service Instance consumption, determining the number of tasks that the first target node can concurrently process the service; determining the number of tasks according to the number of tasks of the first target node concurrently processing the service, and the user access information of the service in each of the N areas The number of resource instances that a target node should allocate for the service.
  • the number of resource instances allocated by the first target node for the service is determined according to the number of available resource instances corresponding to the first target node and the user access information of the service in each of the N regions. Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
  • determining, according to the number of tasks of the first target node concurrently processing the service, and the user access information of the service in each of the N areas determining the number of resource instances that the first target node should allocate for the service, including Determining the area of the N areas with the largest amount of access information of the service as the target area; determining the ideal access amount information of the user of the target area to the service when the service is deployed on the first target node;
  • the traffic information of the service, the number of tasks of the first target node concurrently processing the service, and the ideal traffic information of the user of the target area to the service determine the number of resource instances that the first target node should allocate for the service.
  • the number of available resource instances corresponding to the first target node may be determined, and the number of resource instances on each node of the M nodes is not infinite, and the corresponding total number of resource instances is used.
  • determining, if the service is deployed on the first target node, the ideal access information of the user of the target area to the service including: determining, if the service is deployed on the first target node, according to the target user access in the target area The traffic access information of the service obtains the ideal visitor information of the user in the target area; wherein, for each user in the target area, if the distance between the location of the user and the location of the first target node is preset Within the distance range, the user is determined to be the target user.
  • the ideal access information of the user in the target area is also considered, so that the consideration is more comprehensive, thereby further improving. Resource utilization.
  • the number of resource instances includes: determining the user's access information to the service in the target area, the number of tasks of the first target node concurrent processing service, and the minimum value of the user's ideal access information to the service in the target area as: The number of resource instances that a target node should allocate for the service.
  • the method further includes: if there is a constraint corresponding to the service, and the constraint includes: deploying the service to the M nodes A second target node, wherein the second target node is different from the first target node, and the service is deployed on the second target node.
  • the constraint further includes: allocating a target number of resource instances to the service on the second target node; and deploying the service on the second target node, including: if the number of available resource instances on the second target node is less than the target quantity, Executing: deleting the deployed service on the second target node and minimizing the number of allocated resource instances from the second target node until the number of available resource instances on the second target node is greater than the target number; The service is deployed on the node and a target number of resource instances are assigned to the service.
  • the method further includes: deploying K services to be deployed to the M nodes and then K services according to the number of resource instances allocated by the K services.
  • the corresponding user access information is used to obtain the system resource utilization rate corresponding to the K services; if it is determined that the system resource utilization is less than the preset resource utilization threshold, the K services are redeployed.
  • an embodiment of the present application provides a service deployment apparatus in an edge cloud architecture, where a service deployment apparatus in an edge cloud architecture includes a memory and a processor, where: the memory is used to store an instruction; and the processor is configured to perform storage according to the memory.
  • the instructions when the processor executes the instructions stored in the memory, the service deployment apparatus under the edge cloud architecture is configured to perform the method of any of the first aspect or the first aspect.
  • the embodiment of the present application provides a service deployment device in an edge cloud architecture, which is used to implement any one of the foregoing first aspect or the first aspect, including a corresponding functional module, which is respectively used to implement the foregoing method.
  • an embodiment of the present application provides a computer readable storage medium, where the computer readable storage medium stores instructions that, when run on a computer, cause the computer to perform the first aspect or any possible implementation of the first aspect. The method in the way.
  • an embodiment of the present application provides a computer program product comprising instructions, when executed on a computer, causing a computer to perform the method of the first aspect or any possible implementation of the first aspect.
  • the number of resource instances allocated by the first target node for the service is determined according to the number of available resource instances corresponding to the first target node and the user access information of the service in each of the N regions. . Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
  • the information about the access of the user to the service in each of the N areas is estimated, and then the information required by the user to access the service in the N areas after the service is deployed may be determined according to the access information.
  • the total communication delay is such that the communication delay of the user accessing the user in each of the N areas can be further reduced by selecting the first target node deployed by the service according to the M total communication delays.
  • FIG. 1 is a schematic diagram of a system of a micro cloud architecture according to an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a service deployment method in an edge cloud architecture according to an embodiment of the present disclosure
  • FIG. 3 is a schematic flowchart of a service access method according to an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a micro cloud architecture according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of another micro cloud architecture provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of another micro cloud architecture according to an embodiment of the present application.
  • FIG. 7 is a schematic flowchart of a service deployment method in an edge cloud architecture according to an embodiment of the present disclosure
  • FIG. 8 is a schematic flowchart of a service deployment method in an edge cloud architecture according to an embodiment of the present disclosure.
  • FIG. 1 is a schematic diagram showing a system of a micro cloud architecture to which the embodiment of the present application is applied.
  • the micro cloud architecture includes a data center 101 and a plurality of autonomous regions, which are an autonomous region 102, an autonomous region 103, and an autonomous region. 104.
  • Each autonomous region corresponds to at least one micro cloud node, for example, the autonomous region 102 includes a micro cloud node 105, a micro cloud node 106, and a micro cloud node 107; the autonomous region 103 includes a micro cloud node 108, a micro cloud node 109, and a micro cloud node 110;
  • the micro cloud node 111, the micro cloud node 112, and the micro cloud node 113 are included.
  • various services sink from the data center to the micro cloud node, and users in each area can access the services that sink to the micro cloud nodes, and the mobile terminal users are dispersed through the micro cloud architecture, and the number of users is reduced. Network congestion and reduced access latency.
  • the coverage of the micro cloud node includes many users, and the user can be geographically divided into different areas. For example, a province can be divided into one area.
  • the user shown in FIG. 1 includes users of two areas, namely the user of the area 121 and the user of the area 122. A user in one area can access services deployed on multiple nodes. At a physical distance, some users in area 121 may be closest to micro cloud node 109, and other users in the area may be closest to micro cloud node 110.
  • the user in the area 121 closest to the micro cloud node 109 can access the service deployed on the micro cloud node 109, and is closest to the micro cloud node 110.
  • the user can access the services deployed on the micro cloud node 110. It can be seen that the user can select the service on the micro cloud node closer to himself, thereby shortening the delay of accessing the service.
  • FIG. 2 exemplarily shows a schematic flowchart of a method for deploying services in an edge cloud architecture according to an embodiment of the present application.
  • the method is applicable to K to be deployed.
  • the application is deployed to the application scenarios of M nodes.
  • the application scenario in this embodiment may be further divided into two types.
  • the first type, the M nodes may refer to the M autonomous regions shown in FIG. 1, that is, the K services are deployed to the M autonomous regions, and the M is The number of available resource instances for each node in the node specifically refers to the number of available resource instances of the autonomous region indicated by the node.
  • the second type of M nodes may refer to the M micro cloud nodes in FIG.
  • K is an integer greater than or equal to 1
  • M is an integer greater than or equal to 1.
  • the service in the embodiment of the present application may include a functional unit of the service refers to an application, such as a Packet Data Convergence Protocol (PDCP) and a Radio Resource Control (Radio Resource) in a Radio Access Network (RAN) application. Control, RRC) are all services; resource instances may include virtual machines that provide computing services.
  • PDCP Packet Data Convergence Protocol
  • Radio Resource Radio Resource
  • RRC Radio Resource Control
  • the service deployment method of the edge cloud architecture provided by the embodiment of the present application may be performed by the service deployment apparatus.
  • the service deployment apparatus may periodically deploy K services.
  • K services can be deployed to M nodes periodically.
  • the nodes to be deployed may be re-determined, that is, each time K services are deployed, the nodes to be deployed corresponding to the K services may be different, partially different, or the same.
  • the method further includes: deploying the K services to be deployed to the M services according to the number of resource instances allocated by the K services. If the system resource utilization is less than the preset resource utilization threshold, the K services are redeployed.
  • the nodes to be deployed corresponding to the K services may be different, partially different, or the same.
  • the actual resource consumption corresponding to the K services may be determined, and then the resource instances allocated according to the K services are determined. The amount and actual resource consumption determine the system resource utilization.
  • the resource utilization threshold can be set according to the specific scenario and is an empirical value. In this embodiment, the solution can flexibly adjust the deployment of the service multiple times, thereby improving resource utilization of the deployed service.
  • the method for determining the actual resource consumption corresponding to the K services according to the user access amount information corresponding to the K services after the K services to be deployed are deployed to the M nodes may be implemented in multiple manners, for example, a regression method may be utilized. , predict resource consumption by user traffic.
  • An optional implementation manner is provided in the embodiment of the present application for predicting actual resource consumption corresponding to future K services.
  • the actual resource consumption corresponding to the K services is equal to a0, the product obtained by multiplying the user access information corresponding to the K services, and the product obtained by multiplying the service level agreement (SLA) constraint by a2.
  • SLA service level agreement
  • a0, a1, and a2 are coefficients that can be found by linear fitting.
  • the system resource utilization is determined according to the number of resource instances allocated by the K services and the actual resource consumption.
  • the embodiment of the present application provides an optional implementation manner for determining system resource utilization.
  • Rate specifically, the system resource utilization may include the resource utilization of the CPU, and the system resource utilization is equal to the total amount of used CPU resources on all virtual machines on the M micro cloud nodes and all virtual machine ratings on the M micro cloud nodes.
  • the product of the total amount of CPU resources, and the total amount of used CPU resources on all virtual machines on the M micro-cloud nodes can be determined by the actual resource consumption corresponding to the predicted future K services.
  • the resource utilization calculations of other dimensions are similar. No longer detailed.
  • the service deployment method in the embodiment of the present application may be performed by the service deployment apparatus. Specifically, the method includes: performing, for each service of the K services to be deployed, the following:
  • Step 201 The service deployment device estimates the access information of the user in each of the N areas according to the historical log information; N is an integer greater than or equal to 1;
  • Step 202 The service deployment device determines, for each of the M nodes, the total communication delay required for the users in the N areas to access the service after the service is deployed on the node, and obtains M total communications. Delay
  • Step 203 The service deployment device determines, according to the M total communication delays, the first target node that the service should be deployed from the M nodes.
  • Step 204 The service deployment device determines, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the resource instance that the first target node should allocate for the service. quantity;
  • Step 205 The service deployment device divides the determined resource instance corresponding to the number of resource instances on the first target node. Provision this service.
  • the historical access record is analyzed according to various analysis tools, so that the user's access information of the service to each service in each of the N regions can be obtained, and further, the historical tool-based access amount can be obtained through the analysis tool.
  • the information estimates the amount of access to the service by users in each of the N regions in the future, such as analysis by a time series analysis tool.
  • the traffic information of the user of each of the N regions may include an estimated traffic distribution of the future users, specifically, the amount of access to the service in each of the N regions in the future, or Say the amount of access to the service by users in the area at a certain moment in the future.
  • the traffic information may also include information such as future trends of the traffic, access time, and the like.
  • the communication model is also obtained in the embodiment of the present application, and the communication model may include a bandwidth description, a communication delay, and the like, and a communication performance indicator between each node of the M nodes, according to the communication performance.
  • the metric determines the basic communication delay for the user to access the service.
  • the node specification parameters of each node of the M nodes are also obtained, and the specification parameters of the node may include information such as a central processing unit (CPU), a memory, a hard disk, a number of network cards, and a network card bandwidth of the node. Based on the above information, the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node can be determined.
  • the total communication delay required for the users in the N areas to access the service after the service is deployed on the node is determined according to the access information, and the total communication delay is obtained.
  • the method includes: using each of the M nodes as the current node, performing: determining, according to the access information and the communication performance indicator of the current node, that the user of the N areas accesses the service after the service is deployed in the current node The basic communication delay; if it is determined that the node currently deployed by the service is different from the current node, the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node is determined; according to the basic communication Delay and migration communication delays determine the total communication delay required for users in N areas to access the service.
  • the current cycle needs to deploy K services on M nodes, but there may be cases where K services have been deployed, this time being redeployed.
  • the node currently deployed by the service is different from the current node, once the service is determined to be deployed on the current node, all data corresponding to the service needs to be migrated to the current node, and the process of migrating the service must take time. Therefore, in the embodiment of the present application, the basic communication delay after the service migration and the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node are considered, and the total communication can be obtained more accurately and completely. Delay. Optionally, the sum of the basic communication delay and the migration communication delay is taken as the total communication delay.
  • the first target node where the service should be deployed is determined from the M nodes, and optionally, the minimum total communication may be determined from the M total communication delays.
  • the delay determines the node corresponding to the smallest total communication delay as the first target node corresponding to the service.
  • the basic communication delay and the migration communication delay caused by the service migration are determined by using the user access amount information, and then the service station is determined according to the basic communication delay and the migration communication delay caused by the service migration.
  • the nodes that are deployed so that the total communication latency after the service is deployed is smaller.
  • the deployment of the service can be performed only considering the basic communication delay.
  • the service may be deployed on the node in multiple representation manners. For example, for each node on the M nodes, the service deployment may be represented by 1 on the node, and the service is not deployed in the node. 0 table available on the node Show.
  • the solution provided in the foregoing step 204 determines, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the resource that the first target node should allocate for the service.
  • the number of instances Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
  • determining the number of resource instances that the first target node should allocate for the service according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions includes: determining, according to the performance indicator of the service, and the user access information of the service in each of the N areas, the consumption of the resource instance corresponding to the service; according to the number of available resource instances corresponding to the first target node, And the resource instance consumption corresponding to the service, determining the number of tasks that the first target node can concurrently process the service; the number of tasks that process the service concurrently according to the first target node, and the users of each of the N regions
  • the traffic information of the service determines the number of resource instances that the first target node should allocate for the service.
  • determining that the number of tasks that the first target node can concurrently process the service has multiple implementation manners
  • the present application provides an alternative implementation manner. Assume that the amount of idle resources on a node is R, and the user model can be processed by the performance model function to obtain the number of user accesses (ie, the number of tasks) that the node can currently process. Since the resources are multi-dimensional, each dimension repeats the above operations, and finally obtains an estimated number of tasks that can be processed. Alternatively, the smallest one can be selected as the number of tasks that the node can currently process concurrently.
  • the resource instance consumption can be determined by using a certain analysis tool.
  • the test data of the service submitted by the user and the log information of the service during the running process can be analyzed by using the mining tool and the regression analysis tool.
  • the service performance model is specifically a mapping between the service performance indicator and the traffic information and the resource instance consumption.
  • the resource instance consumption can be obtained according to the service performance model, the service performance indicator and the traffic information.
  • the performance indicators of the service may include delay information, packet loss rate, and the like of the service.
  • the number of available resource instances corresponding to the first target node may be determined, and the number of resource instances on each node of the M nodes is not infinite, and the corresponding total number of resource instances is used.
  • the resource that the first target node should allocate for the service is determined.
  • the number of the instances includes: determining an area in the N areas that has the largest amount of access information for the service as the target area; determining an ideal amount of access to the service by the user of the target area if the service is deployed on the first target node Information; determining, according to the user's access information of the service in the target area, the number of tasks that the first target node concurrently processes the service, and the ideal visitor information of the user of the target area to the service, determining that the first target node should be the The number of resource instances allocated by the service.
  • determining, if the service is deployed on the first target node, the ideal access information of the user of the target area to the service including: determining, if the service is deployed on the first target node, according to the target user access in the target area The traffic access information of the service obtains the ideal visitor information of the user in the target area; wherein, for each user in the target area, if the distance between the location of the user and the location of the first target node is preset Within the distance range, the user is determined to be the target user.
  • the resources on each node of the M nodes are infinite, and K services are deployed on each node, and the number of resource instances allocated by each service is unlimited.
  • the K services when the user of each of the N areas accesses the service, for each user of each of the N areas, the user accesses the node closest to himself. Service.
  • the preset distance range can be set smaller.
  • the deployed service the user whose distance from the first target node exceeds the preset distance does not access the service deployed on the first target node.
  • the ideal access information of the user in the target area is also considered, so that the consideration is more comprehensive, thereby further improving resources. Utilization rate.
  • the first target node is determined according to the information about the access of the service by the user of the target area, the number of tasks of the first target node concurrently processing the service, and the ideal visitor information of the user of the target area to the service.
  • the number of resource instances allocated for the service includes: information on the amount of access of the user in the target area to the service, the number of tasks in which the first target node concurrently processes the service, and the ideal access amount information of the user in the target area to the service.
  • the minimum value is determined as the number of resource instances that the first target node should allocate for the service.
  • the method further includes: if the constraint corresponding to the service exists, and the constraint includes: deploying the service to the M A second target node in the node, wherein the second target node is different from the first target node, and the service is deployed on the second target node.
  • the constraint further includes: allocating a target number of resource instances to the service on the second target node; and deploying the service on the second target node, including: if the number of available resource instances on the second target node is smaller than the target
  • the quantity is executed by: deleting the service that has been deployed on the second target node and minimizing the number of allocated resource instances from the second target node until the number of available resource instances on the second target node is greater than the target quantity;
  • the service is deployed on the second target node and a target number of resource instances are assigned to the service.
  • service a is assigned to node 1, the constraint is to deploy service a to node 2, and service a is assigned 100 resource instances, and current node 2 deploys three services, namely service b and service. c and service d, service b allocates 120 resource instances, service c allocates 90 resource instances, service d allocates 60 resource instances, and node 2 has 20 remaining resource instances.
  • the service d and the service c on the node 2 are deleted, then the service a is deployed on the node 2, and 100 resource instances are allocated for the service a.
  • the service d and the service c can be reported to the data center, and arranged by the data center, for example, the next deployment and redeployment service d and service c, or the service d and the service cDeploy to a few nodes and so on.
  • FIG. 3 is a schematic flowchart diagram of a service access method provided by an embodiment of the present application. As shown in FIG. 3, the method includes:
  • step 301 the base station forwards the user's service access request (Request for transmitting) to the scheduling center (Scheduler) in the autonomous area head node, and then performs step 302.
  • Step 302 The scheduler queries the search resource deploy file, and then performs step 303 or step 305 according to the situation.
  • Step 303 If the scheduling center queries the service resource list to the micro-cloud node (Cloudlet) in which the service is deployed, the service access request of the user is forwarded to the corresponding micro-cloud node, and then step 304 is performed.
  • Cloudlet micro-cloud node
  • Step 304 After processing the user access request, the micro cloud node returns a result service response (Response for services) to the user, and ends.
  • a result service response Response for services
  • Step 305 If the scheduling center queries from the service resource list that there is no micro cloud node in the autonomous region where the service is deployed, the dispatch center sends the cross-autonomous region to the Autonomous Region Resource Manager (AZ RM). Request for services across AZ, and then step 306 is performed.
  • AZ RM Autonomous Region Resource Manager
  • Step 306 The micro cloud autonomous region resource manager sends a cross-autonomous service access request to the search engine (SearchEngine) of the data center, and then step 307 is performed.
  • SearchEngine search engine
  • Step 307 The search engine searches for an autonomous area (Search available AZ) in which the service is deployed, selects an optimal autonomous area, and sends a request for available cloudlet to the resource manager of the optimal autonomous area. Go to step 308.
  • Search available AZ an autonomous area
  • Step 307 The search engine searches for an autonomous area (Search available AZ) in which the service is deployed, selects an optimal autonomous area, and sends a request for available cloudlet to the resource manager of the optimal autonomous area. Go to step 308.
  • Step 308 the optimal autonomous region resource manager searches for the optimal micro cloud node (Search available Cloudlet) deployed with the service, and returns the information of the optimal micro cloud node to the search engine, and then performs step 309.
  • Search available Cloudlet the optimal autonomous region resource manager
  • Step 309 The search engine returns information of the optimal micro cloud node to the dispatch center that originally issued the service access request by using the micro cloud autonomous region resource manager, and then step 310 is performed.
  • Step 310 The scheduling center sends a user service access request to the optimal micro cloud node, and then step 311 is performed.
  • Step 311 The optimal micro cloud node returns the result service access response to the user after processing the user access request.
  • FIG. 4 is a schematic diagram showing a micro cloud architecture provided by an embodiment of the present application. As shown in FIG. 4, the data center and the micro cloud node are included. Under the micro cloud architecture, the service deployment device can be integrated in the autonomous region resource manager of the data center and the autonomous region head node.
  • the deployment center service 401 forwards the service to be deployed to the first resource management service 402 of the data center 400 (Resource Mgr Service). ).
  • the load analysis module 403 in the first resource management service 402 of the data center 400 models the performance of the service.
  • the first resource management service 402 will also query the resource usage of each autonomous region, execute a service deployment algorithm, obtain a service deployment and load distribution scheme, and notify the deployment center service 401 of the result.
  • the deployment center service 401 sends the service to the deployment agent service 407 of the corresponding micro cloud node for further deployment according to the deployment scenario.
  • the second resource management service 509 of the autonomous region head node in the micro cloud node 410 first queries the resource status of each node in the autonomous region through the resource proxy service 408, and executes the service deployment algorithm to obtain the service. Deploy and load distribution scenarios and inform the deployment center service 401 of the results.
  • the first resource management service 402 processes the data of the monitoring service 405 of the analysis monitoring system, and when the system resource utilization is found to be below a certain threshold, initiates a service deployment adjustment request.
  • the first resource management service 401 performs service deployment adjustment according to a clock set in advance.
  • the first resource management service 402 can obtain a user access request record from the log service 406, and predict the distribution of user access requests in the future period through the analysis module.
  • the first resource management service 402 derives service deployment and load through the deployment decision module 404 of the service deployment.
  • the plan is assigned and the results are communicated to the first resource management service 402 of the data center.
  • the load analysis module 403 can be respectively configured on the first resource management service 402 of the data center 400 and the second resource management service 409 of the micro cloud node 410, and the deployment decision module 404 can be respectively configured in the data center 400.
  • the service deployment device in the above may include the load analysis module 403 and the deployment decision module 404 in this example.
  • FIG. 5 is a schematic diagram showing a micro cloud architecture provided by an embodiment of the present application. As shown in FIG. 5, the data center and the micro cloud node are included. Under the micro cloud architecture, the service deployment appliance can be integrated into the Deploy Center Service in the data center.
  • the deployment center service 502 applies to the first resource management service 501 for the resource running service test case, and then performs performance analysis on the service through the load analysis module 503. mold.
  • the deployment center service 502 obtains the micro-cloud nodes through the first resource management service 501 of the data center 500, the second resource management service 509 of the autonomous region head node in the micro-cloud node 510, and the resource proxy service 508 of the micro-cloud node. Resource status.
  • the deployment center service 502 executes the deployment decision module 504 according to the predicted load distribution and the service performance model and the node resource status obtained in the first two steps, and obtains a solution for service deployment and load distribution.
  • the deployment center service 502 deploys the service deployment plan to the deployment agent service 507 of each node for deployment.
  • the data center and the autonomous region service deployment are dynamically adjusted, similar to the first example, and will not be described here.
  • the first resource management service 501 can process the data of the monitoring service 405 of the analysis monitoring system, and initiate a service deployment adjustment request when the system resource utilization is found to be below a certain threshold.
  • the first resource management service 501 performs service deployment adjustment according to a clock set in advance.
  • the first resource management service 501 can obtain a user access request record from the log service 406, and the analysis module predicts a user access request distribution for a future period of time.
  • FIG. 6 is a schematic diagram showing a structure of a Cloud Radio Access Network (CloudRAN) provided by an embodiment of the present application. As shown in FIG. 6, the data center and the micro cloud node are included. Under the Cloud Radio Access Network (CloudRAN) architecture, the service deployment device is in the centralized data center platform layer management node.
  • CloudRAN Cloud Radio Access Network
  • the user submits a service deployment request to the first deployment management and software management service 601.
  • the first deployment management and software management service 601 applies to the resource management service 602 for the resource running service test case, and performs performance analysis on the service through the load analysis module 613. mold.
  • the load analysis module 613 acquires the resource status of each micro cloud node through the resource management service 602. Combined with the predicted load distribution and service performance model, the deployment decision module 614 is executed to obtain a solution for service deployment and load distribution.
  • the first deployment management and software management service 601 sends the service deployment plan to the second deployment management and software management service 603 of each of the aggregation nodes 604 for deployment.
  • One algorithm can be called one-shot esds (enhanced service deployment solution), and the other can be called dynamic esds.
  • One-shot esds can only consider the basic communication cost.
  • the dynamic esds considers the cost of data transmission delay caused by basic communication delay and application service migration. From the perspective of delay, since the one-shot esds and dynamic esds algorithms consider the performance model of the services in the micro cloud nodes, the applications can be deployed as close as possible to the micro cloud nodes close to the users.
  • dynamic esds defaults to all nodes with unlimited resources, and only uses transmission delay as an optimization target, but in practice, due to limited node resources, task queuing is introduced, and additional waiting delay is introduced.
  • the one-shot esds takes into account the resource limitations of the nodes, performs reasonable optimization, reduces the waiting delay, and makes the overall delay low. From the perspective of resource utilization, one-shot esds and dynamic esds flexibly change according to load changes, improving resource utilization.
  • the method provided by the embodiment of the present application is not limited to the service type and the optimization indicator, and has certain versatility and scalability. Specifically, for different services or new resource types that need to be considered, we can add appropriate analysis tools and algorithms in the analysis module to reasonably model the service and obtain an effective performance model. In addition, when there are new optimization needs, such as reducing the packet loss rate, we can achieve the new optimization goal by modifying the description of the corresponding utility benefit U.
  • FIG. 7 is a schematic structural diagram of a service deployment apparatus in an edge cloud architecture provided by an embodiment of the present application.
  • the embodiment of the present application provides a service deployment apparatus in an edge cloud architecture, which is used to execute the foregoing method flow.
  • the service deployment device 700 includes a load analysis module 701 and a deployment decision module 702.
  • the load analysis module 701 can be the load analysis module 403 in FIG. 4, the load analysis module 503 in FIG. 5, or the above figure.
  • the deployment decision module 702 can be the deployment decision module 404 in FIG. 4, the deployment decision module 504 in FIG. 5, or the deployment decision module 614 in FIG. 6 above.
  • the service deployment device 700 in the edge cloud architecture is applicable to an application scenario in which K services to be deployed are deployed to M nodes; wherein K and M are integers greater than or equal to 1.
  • the load analysis module 701 is configured to estimate each of the N regions according to the historical log information for each of the K services to be deployed when the K services to be deployed are deployed to the M nodes.
  • User access information to the service N is an integer greater than or equal to 1; for each of the M nodes, the total communication required for the user to access the service in the N areas after the service is deployed is determined according to the access information Delay, get M total communication delays.
  • the deployment decision module 702 is configured to determine, according to the M total communication delays, the first target node that the service should be deployed from the M nodes; the number of available resource instances corresponding to the first target node, and each of the N regions
  • the user's access to the service information of the area determines the number of resource instances that the first target node should allocate for the service; and allocates the resource instance corresponding to the determined number of resource instances on the first target node to the service.
  • the number of resource instances allocated by the first target node for the service is determined according to the number of available resource instances corresponding to the first target node and the user access information of the service in each of the N regions. . Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
  • the information about the access of the user to the service in each of the N areas is estimated, and then the information required by the user to access the service in the N areas after the service is deployed may be determined according to the access information.
  • the total communication delay is such that the communication delay of the user accessing the user in each of the N areas can be further reduced by selecting the first target node deployed by the service according to the M total communication delays.
  • the load analysis module 701 determines, for each of the M nodes, the total communication delay required for the users in the N areas to access the service after the service is deployed on the node, and obtains M totals.
  • the communication time delay is specifically used to: each node of the M nodes is respectively used as the current node, and is executed according to the access amount information and the current section.
  • the communication performance indicator of the point determines the basic communication delay of the user accessing the service in the N areas after the service is deployed in the current node; if it is determined that the node currently deployed by the service is different from the current node, it is determined that the service is from the current.
  • the migration communication delay corresponding to the process in which the deployed node migrates to the current node; according to the basic communication delay and the migration communication delay, the total communication delay required for the users of the N areas to access the service is determined.
  • the current cycle needs to deploy K services on M nodes, but there may be cases where K services have been deployed, this time being redeployed.
  • the node currently deployed by the service is different from the current node, once the service is determined to be deployed on the current node, all data corresponding to the service needs to be migrated to the current node, and the process of migrating the service must take time. Therefore, in the embodiment of the present application, the basic communication delay after the service migration and the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node are considered, and the total communication can be obtained more accurately and completely. Delay. Optionally, the sum of the basic communication delay and the migration communication delay is taken as the total communication delay.
  • the first target node where the service should be deployed is determined from the M nodes, and optionally, the minimum total communication may be determined from the M total communication delays.
  • the delay determines the node corresponding to the smallest total communication delay as the first target node corresponding to the service.
  • the deployment decision module 702 determines, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the resource that the first target node should allocate for the service.
  • the number of the instances is specifically used to: determine the consumption of the resource instance corresponding to the service according to the performance indicator of the service and the access information of the user in each of the N areas; and the available resources corresponding to the first target node
  • the number of instances, and the resource instance consumption corresponding to the service determine the number of tasks that the first target node can concurrently process the service; the number of tasks that concurrently process the service according to the first target node, and the user-to-service for each of the N regions
  • the traffic information determines the number of resource instances that the first target node should allocate for the service.
  • the number of resource instances allocated by the first target node for the service is determined according to the number of available resource instances corresponding to the first target node and the user access information of the service in each of the N regions. Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
  • the deployment decision module 702 determines, according to the number of tasks of the first target node concurrently processing the service, and the user access information of the service in each of the N areas, the resource that the first target node should allocate for the service.
  • the number of the instances is specifically used to: determine the area of the N areas with the largest amount of access information of the service as the target area; and determine the ideal amount of the user's access to the service when the service is deployed on the first target node.
  • Information determining, according to the user's access information of the service in the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access information of the user of the target area to the service, determining the resource that the first target node should allocate for the service The number of instances.
  • the ideal access information of the user in the target area is also considered, so that the consideration is more comprehensive, thereby further improving resources. Utilization rate.
  • the deployment decision module 702 is specifically configured to: determine, if the service is deployed on the first target node, when the service is deployed on the first target node, when the service is deployed on the first target node, Obtaining ideal visitor information of the user in the target area according to the visitor information of the target user accessing the service in the target area; wherein, for each user in the target area, if the location of the user is located with the first target node If the distance between the locations is within a preset distance, it is determined that the user is the target user.
  • the deployment decision module 702 determines the first information according to the user's access to the service information of the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access information of the user of the target area to the service.
  • the target node should be the number of resource instances allocated to the service, it is specifically used to: the user's access information to the service in the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access amount of the user in the target area to the service.
  • the minimum value in the information is determined as the number of resource instances that the first target node should allocate for the service.
  • the deployment decision module 702 is further configured to: if there is a constraint corresponding to the service, and the constraint includes: deploying the service to A second target node among the M nodes, wherein the second target node is different from the first target node, and the service is deployed on the second target node.
  • the constraint further includes: allocating a target number of resource instances to the service on the second target node; and when the deployment decision module 702 deploys the service on the second target node, specifically: if the second target node is available If the number of resource instances is less than the target number, execute: deleting the deployed service on the second target node and minimizing the number of allocated resource instances from the second target node until the number of available resource instances on the second target node is greater than the target Up to the number; deploy the service on the second target node and assign a target number of resource instances to the service.
  • the deployment decision module 702 deploys the K services to be deployed to the M nodes, and is further configured to: deploy the K services to be deployed to the M services according to the number of resource instances allocated by the K services. If the system resource utilization is less than the preset resource utilization threshold, the K services are redeployed.
  • the load analysis module 701 and the deployment decision module 702 may be implemented by a processor.
  • the service deployment device 800 can include a processor 801 and a memory 803.
  • the memory 803 can be used to store the code when the processor 801 executes the solution, and the code can be a program/code pre-installed by the service deployment device 800 at the factory.
  • FIG. 8 is a schematic structural diagram of a service deployment apparatus in an edge cloud architecture provided by an embodiment of the present application.
  • the embodiment of the present application provides a service deployment apparatus in an edge cloud architecture, which is used to execute the foregoing method flow.
  • the service deployment apparatus 800 includes a processor 801, a memory 803, and a communication interface 803; wherein the processor 801, the memory 803, and the communication interface 804 are connected to each other through a bus 802.
  • the bus 802 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus or the like.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 8, but it does not mean that there is only one bus or one type of bus.
  • the memory 803 may include a volatile memory such as a random-access memory (RAM); the memory may also include a non-volatile memory such as a flash memory.
  • RAM random-access memory
  • the memory may also include a non-volatile memory such as a flash memory.
  • HDD hard disk drive
  • SSD solid-state drive
  • the communication interface 804 can be a wired communication access port, a wireless communication interface, or a combination thereof, wherein the wired communication interface can be, for example, an Ethernet interface.
  • the Ethernet interface can be an optical interface, an electrical interface, or a combination thereof.
  • the wireless communication interface can be a WLAN interface.
  • the processor 801 can be a central processing unit (CPU), a network processor (NP), or a combination of a CPU and an NP.
  • the processor 801 may further include a hardware chip.
  • the above hardware chip may be an application-specific integrated circuit (ASIC), programmable logic Programmable logic device (PLD) or a combination thereof.
  • the PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof.
  • the service deployment device 800 is applicable to an application scenario in which K services to be deployed are deployed to M nodes.
  • K and M are integers greater than or equal to 1.
  • the memory 803 can also be used to store computer program program instructions, and the processor 801 calls the computer program program instructions stored in the memory 803 to perform one or more steps in the embodiment shown in FIG. 2 and FIG. Or an optional embodiment thereof, such that the service deployment device 800 implements the functions of the service deployment device in the above method.
  • the processor 801 is configured to: according to the computer program instructions for executing the memory storage, when the processor 801 executes the computer program instructions stored in the memory, the service deployment apparatus is configured to: perform, for each service of the K services to be deployed, according to history
  • the log information is used to estimate the access information of the user to the service in each of the N areas; N is an integer greater than or equal to 1; for each of the M nodes, the service is deployed on the node according to the access information.
  • the total communication delay required by the users in the N areas to access the service obtains M total communication delays; and based on the M total communication delays, the first target nodes to which the service should be deployed are determined from the M nodes; Determining, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the number of resource instances that the first target node should allocate for the service; A resource instance corresponding to the number of resource instances on the target node is assigned to the service.
  • the number of resource instances allocated by the first target node for the service is determined according to the number of available resource instances corresponding to the first target node and the user access information of the service in each of the N regions. . Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
  • the information about the access of the user to the service in each of the N areas is estimated, and then the information required by the user to access the service in the N areas after the service is deployed may be determined according to the access information.
  • the total communication delay is such that the communication delay of the user accessing the user in each of the N areas can be further reduced by selecting the first target node deployed by the service according to the M total communication delays.
  • the processor 801 determines, for each of the M nodes, the total communication delay required for the users in the N areas to access the service after the service is deployed on the node, according to the access information, and obtains M total communications.
  • Time delay specifically for: using each of the M nodes as the current node, performing: determining, according to the traffic information and the communication performance indicator of the current node, that the N service is deployed after the current node is deployed.
  • the basic communication delay of the user accessing the service if it is determined that the node currently deployed by the service is different from the current node, the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node is determined;
  • the basic communication delay and the migration communication delay determine the total communication delay required for users in N areas to access the service.
  • the current cycle needs to deploy K services on M nodes, but there may be cases where K services have been deployed, this time being redeployed.
  • the node currently deployed by the service is different from the current node, once the service is determined to be deployed on the current node, all data corresponding to the service needs to be migrated to the current node, and the process of migrating the service must take time. Therefore, in the embodiment of the present application, the basic communication delay after the service migration and the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node are considered, and the total communication can be obtained more accurately and completely. Delay. Optionally, the sum of the basic communication delay and the migration communication delay is taken as the total communication delay.
  • the first node that the service should be deployed is determined from the M nodes.
  • the target node may optionally determine a minimum total communication delay from the M total communication delays, and determine the node corresponding to the smallest total communication delay as the first target node corresponding to the service.
  • the processor 801 determines, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the resource instance that the first target node should allocate for the service.
  • the quantity is specifically used to: determine the consumption of the resource instance corresponding to the service according to the performance indicator of the service and the information of the user's access to the service in each of the N areas; and the available resource instance corresponding to the first target node
  • the quantity, and the resource instance consumption corresponding to the service determine the number of tasks that the first target node can concurrently process the service; the number of tasks that concurrently process the service according to the first target node, and the user-to-service of each of the N areas
  • the traffic information determines the number of resource instances that the first target node should allocate for the service.
  • the number of resource instances allocated by the first target node for the service is determined according to the number of available resource instances corresponding to the first target node and the user access information of the service in each of the N regions. Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
  • the processor 801 determines, according to the number of tasks of the first target node concurrently processing the service, and the user access information of the service in each of the N areas, the resource instance that the first target node should allocate for the service.
  • the quantity is specifically used to: determine the area of the N areas with the largest amount of access information of the service as the target area; and determine the ideal visitor information of the user of the target area to the service when the service is deployed on the first target node. Determining a resource instance that the first target node should allocate for the service according to the user's access information to the service in the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access information of the user in the target area to the service quantity.
  • the number of available resource instances corresponding to the first target node may be determined, and the number of resource instances on each node of the M nodes is not infinite, and the corresponding total number of resource instances is used.
  • the determining, by the processor 801, when the service is deployed on the first target node, when the user of the target area has the ideal access information of the service the method is specifically configured to: determine, if the service is deployed on the first target node, according to The target user accesses the service access information in the target area to obtain the ideal visitor information of the user in the target area; wherein, for each user in the target area, if the user is located and the location of the first target node The distance between the preset distances determines that the user is the target user.
  • the ideal access information of the user in the target area is also considered, so that the consideration is more comprehensive, thereby further improving resources. Utilization rate.
  • the processor 801 determines the first target node according to the user's access information to the service according to the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access information of the user of the target area to the service.
  • the number of resource instances to be allocated for the service is specifically used, the user's access information to the service in the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access information of the user in the target area to the service are The minimum value is determined as the number of resource instances that the first target node should allocate for the service.
  • the processor 801 is further configured to: if there is a constraint corresponding to the service, and the constraint includes: deploying the service to the M A second target node among the nodes, wherein the second target node is different from the first target node, and the service is deployed on the second target node.
  • the constraint further includes: allocating a target number of resource instances to the service on the second target node; and when the processor 801 deploys the service on the second target node, specifically: if the available resources on the second target node If the number of instances is smaller than the target quantity, execute: deleting the deployed service on the second target node and minimizing the number of allocated resource instances from the second target node until the number of available resource instances on the second target node is greater than the target number So far; deploy the service on the second target node and assign a target number of resource instances to the service.
  • the processor 801 is further configured to: deploy the K services to be deployed to the M nodes according to the number of resource instances allocated by the K services. Then, the user access amount information corresponding to the K services is used to obtain the system resource utilization rate corresponding to the K services; if it is determined that the system resource utilization is less than the preset resource utilization threshold, the K services are redeployed.
  • embodiments of the present application can be provided as a method, system, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
  • These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
  • the instructions executed above provide steps for implementing the functions specified in one or more blocks of the flowchart or in a block or blocks of the flowchart.

Abstract

A method and a device for service deployment under edge cloud architecture, for improving the resource utilization rate of a system. In an embodiment of the present application, according to the number of available resource instances corresponding to a first target node and information concerning the access amount of a service by users in each area among N areas, the number of resource instances that should be allocated to the service by the first target node is determined. Therefore, the number of resource instances allocated to the service can be more reasonably determined on the basis of a supply and demand relationship, thereby efficiently improving the resource utilization rate. Further, information concerning the access amount of a service by users in each area among the N areas is predicted, and the total communication delays required for users in the N areas to access the service after the service has been deployed on the node can be determined according to the information concerning the amount of access. Therefore, the solution of choosing, according to M total communication delays, the first target node on which the service is deployed can further reduce the communication delay of a user of each area among the N areas accessing the service.

Description

一种边缘云架构下服务部署的方法和装置Method and device for service deployment under edge cloud architecture 技术领域Technical field
本申请实施例涉及通信技术领域,尤其涉及一种边缘云架构下服务部署的方法和装置。The embodiments of the present invention relate to the field of communications technologies, and in particular, to a method and apparatus for service deployment in an edge cloud architecture.
背景技术Background technique
随着5G时代的来临,移动通信网络增加了诸如海量连接、超低访问时延等新的需求,传统集中式数据中心架构面临挑战,运营商的利益将不可避免地受到波及。为了减少服务响应时延,满足海量连接需求,业界在传统云计算系统的基础上进行了拓展,提出了边缘云架构。With the advent of the 5G era, mobile communication networks have increased new demands such as massive connectivity and ultra-low access latency. The traditional centralized data center architecture is facing challenges, and the interests of operators will inevitably be affected. In order to reduce the service response delay and meet the massive connection requirements, the industry has expanded on the basis of traditional cloud computing systems and proposed an edge cloud architecture.
在微云架构中,各类服务从数据中心“下沉”到微云节点,从而分散了移动终端用户的访问流量,减少网络拥塞,缩短访问时延。而在边缘云无线接入网(Cloud Radio Access Network,Cloud RAN)架构中,边缘云平台上除了可能包含由演进分组交换中心(Evolved Packet Core,EPC)模块下沉到边缘的网元服务,还包含由室内基带处理单元(BaseBand control Unit,BBU)“上移”的服务,如分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)、无线资源控制(Radio Resource Control,RRC)等,甚至包含一些第三方的应用服务。然而无论在哪种形式的边缘云架构下,单个节点中计算、存储和带宽等资源有限,无法同时部署所有服务。因此,如何合理安排服务在各个节点上的放置和资源实例分配,成为重中之重。In the micro cloud architecture, various services are “sinked” from the data center to the micro cloud nodes, thereby dispersing the access traffic of mobile terminal users, reducing network congestion and shortening the access delay. In the Cloud Radio Access Network (Cloud RAN) architecture, the edge cloud platform may include network element services that are sinked to the edge by the Evolved Packet Core (EPC) module. It includes services that are “upward” by the indoor baseband processing unit (BBU), such as Packet Data Convergence Protocol (PDCP), Radio Resource Control (RRC), etc., and even some Three-party application services. However, no matter which form of edge cloud architecture, resources such as computing, storage, and bandwidth are limited in a single node, and all services cannot be deployed at the same time. Therefore, how to reasonably arrange the placement of services on each node and the allocation of resource instances becomes a top priority.
目前业界还未出现在边缘云架构下的服务部署解决方案。现有的主流的云平台系统可提供自定义的资源配置。具体来说,用户在运行云服务的资源实例之前,自行为服务申请资源实例的数量。该方案中用户为了保障自己的服务质量,往往过多地申请预留的资源实例的数量,造成了资源浪费。Currently, the service deployment solution under the edge cloud architecture has not appeared in the industry. Existing mainstream cloud platform systems provide custom resource configurations. Specifically, the user requests the number of resource instances for the service before running the resource instance of the cloud service. In order to protect the quality of their services, users in this solution often apply for the number of reserved resource instances too much, resulting in waste of resources.
发明内容Summary of the invention
本申请实施例提供一种边缘云架构下服务部署的方法和装置,用于提高系统的资源利用率。The embodiments of the present application provide a method and apparatus for service deployment in an edge cloud architecture, which are used to improve resource utilization of the system.
第一方面,本申请实施例提供一种边缘云架构下服务部署的方法,在将待部署的K个服务部署至M个节点时,针对待部署的K个服务中的每个服务,执行:根据历史日志信息,预估出N个区域中每个区域的用户对服务的访问量信息;N为大于等于1的整数;针对M个节点中的每个节点,根据访问量信息确定出服务部署在节点后,N个区域的用户访问服务所需的总通信时延,得到M个总通信时延;根据M个总通信时延,从M个节点中确定出服务应部署在的第一目标节点;根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量;将确定的第一目标节点上资源实例的数量对应的资源实例分配给服务,其中,K和M为大于等于1的整数。In a first aspect, the embodiment of the present application provides a service deployment method in an edge cloud architecture. When the K services to be deployed are deployed to the M nodes, the service is performed for each of the K services to be deployed. According to the historical log information, the information about the user's access to the service in each of the N regions is estimated; N is an integer greater than or equal to 1; for each of the M nodes, the service deployment is determined according to the access information. After the node, the total communication delay required by the users in the N areas to access the service obtains M total communication delays; according to the M total communication delays, the first target to be deployed by the service is determined from the M nodes. a node; determining, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the number of resource instances that the first target node should allocate for the service; A resource instance corresponding to the number of resource instances on the first target node is allocated to the service, where K and M are integers greater than or equal to 1.
可选地,针对M个节点中的每个节点,根据访问量信息确定出服务部署在节点后,N个区域的用户访问服务所需的总通信时延,得到M个总通信时延,包括:将M个节点中的每个节点分别作为当前节点,执行:根据访问量信息和当前节点的通信性能指标,确定出若服务部署在当前节点后,N个区域的用户访问服务的基本通信时延;若确定服务当前所部署在的节点与当前节点不同,则确定出将服务从当前所部署在的节点迁移至当前节点 的过程所对应的迁移通信时延;根据基本通信时延和迁移通信时延,确定出N个区域的用户访问服务所需的总通信时延。Optionally, for each of the M nodes, determining, according to the visitor information, a total communication delay required for a user of the N areas to access the service after the service is deployed on the node, and obtaining M total communication delays, including : Performing each of the M nodes as the current node, respectively: performing: determining, according to the access information and the communication performance indicator of the current node, the basic communication when the user of the N areas accesses the service after the service is deployed on the current node If it is determined that the node currently deployed by the service is different from the current node, it is determined that the service is migrated from the currently deployed node to the current node. The migration communication delay corresponding to the process; according to the basic communication delay and the migration communication delay, the total communication delay required for the users of the N areas to access the service is determined.
具体来说,当前周期需要将K个服务部署在M个节点上,但是可能存在的情况是,K个服务已经部署过了,此次是重新部署。此时若该服务当前所部署在的节点与当前节点不同,则一旦确定该服务要部署在当前节点,则需要将该服务对应的所有数据迁移至该当前节点,迁移服务的过程一定会占用时间,因此本申请实施例中考虑到服务迁移后的基本通信时延以及将服务从当前所部署在的节点迁移至当前节点的过程所对应的迁移通信时延,可以更准确更完善的得到总通信时延。可选地,将基本通信时延和迁移通信时延的和作为总通信时延,Specifically, the current cycle needs to deploy K services on M nodes, but there may be cases where K services have been deployed, this time being redeployed. At this time, if the node currently deployed by the service is different from the current node, once the service is determined to be deployed on the current node, all data corresponding to the service needs to be migrated to the current node, and the process of migrating the service must take time. Therefore, in the embodiment of the present application, the basic communication delay after the service migration and the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node are considered, and the total communication can be obtained more accurately and completely. Delay. Optionally, the sum of the basic communication delay and the migration communication delay is taken as the total communication delay.
本申请实施例中,根据M个总通信时延,从M个节点中确定出服务应部署在的第一目标节点,可选地,可以从M个总通信时延中确定出最小的总通信时延,将该最小的总通信时延对应的节点确定为该服务对应的第一目标节点。In the embodiment of the present application, according to the M total communication delays, the first target node where the service should be deployed is determined from the M nodes, and optionally, the minimum total communication may be determined from the M total communication delays. The delay determines the node corresponding to the smallest total communication delay as the first target node corresponding to the service.
可选地,根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量,包括:根据服务的性能指标以及N个区域中每个区域的用户对服务的访问量信息,确定出服务对应的资源实例消耗量;根据第一目标节点对应的可用资源实例数量,以及服务对应的资源实例消耗量,确定出第一目标节点能够并发处理服务的任务数量;根据第一目标节点并发处理服务的任务数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。Optionally, determining, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the number of resource instances that the first target node should allocate for the service, including Determining the consumption of the resource instance corresponding to the service according to the performance indicator of the service and the information of the user's access to the service in each of the N areas; the number of available resource instances corresponding to the first target node, and the resource corresponding to the service Instance consumption, determining the number of tasks that the first target node can concurrently process the service; determining the number of tasks according to the number of tasks of the first target node concurrently processing the service, and the user access information of the service in each of the N areas The number of resource instances that a target node should allocate for the service.
根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。因此可基于供求关系更加合理的确定出为服务分配的资源实例的数量,从而可有效提高了资源利用率。The number of resource instances allocated by the first target node for the service is determined according to the number of available resource instances corresponding to the first target node and the user access information of the service in each of the N regions. Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
可选地,根据第一目标节点并发处理服务的任务数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量,包括:将N个区域中对服务的访问量信息最大的区域确定为目标区域;确定若服务部署在第一目标节点上时,目标区域的用户对服务的理想访问量信息;根据目标区域的用户对服务的访问量信息、第一目标节点并发处理服务的任务数量,以及目标区域的用户对服务的理想访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。Optionally, determining, according to the number of tasks of the first target node concurrently processing the service, and the user access information of the service in each of the N areas, determining the number of resource instances that the first target node should allocate for the service, including Determining the area of the N areas with the largest amount of access information of the service as the target area; determining the ideal access amount information of the user of the target area to the service when the service is deployed on the first target node; The traffic information of the service, the number of tasks of the first target node concurrently processing the service, and the ideal traffic information of the user of the target area to the service determine the number of resource instances that the first target node should allocate for the service.
本申请实施例中可以确定出第一目标节点对应的可用资源实例数量,M个节点中每个节点上的资源实例的数量都不是无限多的,都对应的有资源实例的总量,用该资源实例的总量减去已经被占用的资源实例数量,即得到可用资源实例数量。可见,本申请实施例中考虑到用户访问流量与资源消耗量之间的关系,从而可更加合理的为该服务分配资源实例的数量。In the embodiment of the present application, the number of available resource instances corresponding to the first target node may be determined, and the number of resource instances on each node of the M nodes is not infinite, and the corresponding total number of resource instances is used. The total number of resource instances minus the number of resource instances that have been occupied, that is, the number of available resource instances. It can be seen that the relationship between the user access traffic and the resource consumption is considered in the embodiment of the present application, so that the number of resource instances can be allocated to the service more reasonably.
可选地,确定若服务部署在第一目标节点上时,目标区域的用户对服务的理想访问量信息,包括:确定若服务部署在第一目标节点上时,根据目标区域内的目标用户访问服务的访问量信息,得到目标区域的用户对服务的理想访问量信息;其中,针对目标区域中的每个用户,若该用户所在的位置与第一目标节点的位置之间的距离在预设距离范围内,则确定该用户为目标用户。Optionally, determining, if the service is deployed on the first target node, the ideal access information of the user of the target area to the service, including: determining, if the service is deployed on the first target node, according to the target user access in the target area The traffic access information of the service obtains the ideal visitor information of the user in the target area; wherein, for each user in the target area, if the distance between the location of the user and the location of the first target node is preset Within the distance range, the user is determined to be the target user.
可见,本申请实施例中确定第一目标节点应为该服务分配的资源实例的数量时还考虑了目标区域的用户对该服务的理想访问量信息,可见考虑的更加全面,从而可进一步提高 资源利用率。It can be seen that, in the embodiment of the present application, when determining the number of resource instances that the first target node should allocate for the service, the ideal access information of the user in the target area is also considered, so that the consideration is more comprehensive, thereby further improving. Resource utilization.
可选地,根据目标区域的用户对服务的访问量信息、第一目标节点并发处理服务的任务数量,以及目标区域的用户对服务的理想访问量信息,确定出第一目标节点应为服务分配的资源实例的数量,包括:将目标区域的用户对服务的访问量信息、第一目标节点并发处理服务的任务数量和目标区域的用户对服务的理想访问量信息中的最小值确定为:第一目标节点应为服务分配的资源实例的数量。Optionally, determining, according to the user's access information of the service in the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access information of the user of the target area to the service, determining that the first target node should be allocated for the service The number of resource instances includes: determining the user's access information to the service in the target area, the number of tasks of the first target node concurrent processing service, and the minimum value of the user's ideal access information to the service in the target area as: The number of resource instances that a target node should allocate for the service.
可选地,将确定的第一目标节点上资源实例的数量对应的资源实例分配给服务之后,还包括:若存在服务对应的约束条件,且约束条件包括:将服务部署至M个节点中的第二目标节点,其中,第二目标节点与第一目标节点不同,则在第二目标节点上部署服务。Optionally, after the determined resource instance corresponding to the number of resource instances on the first target node is allocated to the service, the method further includes: if there is a constraint corresponding to the service, and the constraint includes: deploying the service to the M nodes A second target node, wherein the second target node is different from the first target node, and the service is deployed on the second target node.
可选地,约束条件还包括:在第二目标节点上为服务分配目标数量的资源实例;在第二目标节点上部署服务,包括:若第二目标节点上的可用资源实例数量小于目标数量,则执行:将第二目标节点上已部署的、且分配资源实例的数量最少的服务从第二目标节点上删除,直至第二目标节点上的可用资源实例数量大于目标数量为止;在第二目标节点上部署服务,并为服务分配目标数量的资源实例。Optionally, the constraint further includes: allocating a target number of resource instances to the service on the second target node; and deploying the service on the second target node, including: if the number of available resource instances on the second target node is less than the target quantity, Executing: deleting the deployed service on the second target node and minimizing the number of allocated resource instances from the second target node until the number of available resource instances on the second target node is greater than the target number; The service is deployed on the node and a target number of resource instances are assigned to the service.
可选地,将待部署的K个服务部署至M个节点之后,还包括:根据K个服务所分配的资源实例的数量,以及将待部署的K个服务部署至M个节点之后K个服务对应的用户访问量信息,获取K个服务对应的系统资源利用率;若确定系统资源利用率小于预设的资源利用率阈值,则重新部署K个服务。Optionally, after the K services to be deployed are deployed to the M nodes, the method further includes: deploying K services to be deployed to the M nodes and then K services according to the number of resource instances allocated by the K services. The corresponding user access information is used to obtain the system resource utilization rate corresponding to the K services; if it is determined that the system resource utilization is less than the preset resource utilization threshold, the K services are redeployed.
第二方面,本申请实施例提供一种边缘云架构下的服务部署装置,边缘云架构下的服务部署装置包括存储器和处理器,其中:存储器用于存储指令;处理器用于根据执行存储器存储的指令,当处理器执行存储器存储的指令时,边缘云架构下的服务部署装置用于执行上述第一方面或第一方面中任一种方法。In a second aspect, an embodiment of the present application provides a service deployment apparatus in an edge cloud architecture, where a service deployment apparatus in an edge cloud architecture includes a memory and a processor, where: the memory is used to store an instruction; and the processor is configured to perform storage according to the memory. The instructions, when the processor executes the instructions stored in the memory, the service deployment apparatus under the edge cloud architecture is configured to perform the method of any of the first aspect or the first aspect.
第三方面,本申请实施例提供一种边缘云架构下的服务部署装置,用于实现上述第一方面或第一方面中的任意一种方法,包括相应的功能模块,分别用于实现以上方法中的步骤。In a third aspect, the embodiment of the present application provides a service deployment device in an edge cloud architecture, which is used to implement any one of the foregoing first aspect or the first aspect, including a corresponding functional module, which is respectively used to implement the foregoing method. The steps in .
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。In a fourth aspect, an embodiment of the present application provides a computer readable storage medium, where the computer readable storage medium stores instructions that, when run on a computer, cause the computer to perform the first aspect or any possible implementation of the first aspect. The method in the way.
第五方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。In a fifth aspect, an embodiment of the present application provides a computer program product comprising instructions, when executed on a computer, causing a computer to perform the method of the first aspect or any possible implementation of the first aspect.
本申请实施例中,根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。因此可基于供求关系更加合理的确定出为服务分配的资源实例的数量,从而可有效提高了资源利用率。In the embodiment of the present application, the number of resource instances allocated by the first target node for the service is determined according to the number of available resource instances corresponding to the first target node and the user access information of the service in each of the N regions. . Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
进一步,本申请实施例中预估出N个区域中每个区域的用户对服务的访问量信息,进而可根据访问量信息确定出获取服务部署在节点后N个区域的用户访问服务所需的总通信时延,因此可通过根据M个总通信时延选取服务所部署的第一目标节点的方案,进一步减小N个区域中每个区域的用户访问用户的通信时延。Further, in the embodiment of the present application, the information about the access of the user to the service in each of the N areas is estimated, and then the information required by the user to access the service in the N areas after the service is deployed may be determined according to the access information. The total communication delay is such that the communication delay of the user accessing the user in each of the N areas can be further reduced by selecting the first target node deployed by the service according to the M total communication delays.
附图说明 DRAWINGS
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings used in the description of the embodiments will be briefly described below.
图1为本申请实施例适用的一种微云架构的系统示意图;1 is a schematic diagram of a system of a micro cloud architecture according to an embodiment of the present application;
图2为本申请实施例提供的一种边缘云架构下服务部署方法的流程示意图;2 is a schematic flowchart of a service deployment method in an edge cloud architecture according to an embodiment of the present disclosure;
图3为本申请实施例提供的一种服务访问方法的流程示意图;FIG. 3 is a schematic flowchart of a service access method according to an embodiment of the present application;
图4为本申请实施例提供的一种微云架构示意图;FIG. 4 is a schematic diagram of a micro cloud architecture according to an embodiment of the present application;
图5为本申请实施例提供的另一种微云架构示意图;FIG. 5 is a schematic diagram of another micro cloud architecture provided by an embodiment of the present application;
图6为本申请实施例提供的另一种微云架构示意图;FIG. 6 is a schematic diagram of another micro cloud architecture according to an embodiment of the present application;
图7为本申请实施例提供的一种边缘云架构下服务部署方法的流程示意图;FIG. 7 is a schematic flowchart of a service deployment method in an edge cloud architecture according to an embodiment of the present disclosure;
图8为本申请实施例提供的一种边缘云架构下服务部署方法的流程示意图。FIG. 8 is a schematic flowchart of a service deployment method in an edge cloud architecture according to an embodiment of the present disclosure.
具体实施方式detailed description
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。In order to make the objects, technical solutions and beneficial effects of the present application more clear, the present application will be further described in detail below with reference to the accompanying drawings and embodiments.
图1示例性示出了本申请实施例适用的一种微云架构的系统示意图,如图1所示,微云架构包括数据中心101,以及多个自治区,分别为自治区102、自治区103和自治区104。每个自治区对应包括至少一个微云节点,比如自治区102包括微云节点105、微云节点106和微云节点107;自治区103包括微云节点108、微云节点109和微云节点110;自治区104包括微云节点111、微云节点112和微云节点113。FIG. 1 is a schematic diagram showing a system of a micro cloud architecture to which the embodiment of the present application is applied. As shown in FIG. 1 , the micro cloud architecture includes a data center 101 and a plurality of autonomous regions, which are an autonomous region 102, an autonomous region 103, and an autonomous region. 104. Each autonomous region corresponds to at least one micro cloud node, for example, the autonomous region 102 includes a micro cloud node 105, a micro cloud node 106, and a micro cloud node 107; the autonomous region 103 includes a micro cloud node 108, a micro cloud node 109, and a micro cloud node 110; The micro cloud node 111, the micro cloud node 112, and the micro cloud node 113 are included.
在微云架构中,各类服务从数据中心下沉到微云节点,各个区域的用户可访问下沉至微云节点上的服务,通过微云架构分散了移动终端用户的访问量,且减少网络拥塞,缩短访问时延。微云节点的覆盖范围内包括很多用户,可将用户在地理位置上分为不同的区域,比如一个省份可划分为一个区域。图1中所示的用户包括两个区域的用户,分别为区域121的用户和区域122的用户。一个区域的用户可以访问多个节点上部署的服务,在物理距离上,区域121中的部分用户可能距离微云节点109最近,该区域中的另外一些的用户可能距离微云节点110最近。假设用户需访问的服务在微云节点109和微云节点110上均部署,则区域121中距离微云节点109最近的用户可以访问微云节点109上部署的服务,而距离微云节点110最近的用户可以访问微云节点110上部署的服务。可见,用户可以选择距离自己更近的微云节点上的服务进行访问,从而缩短了访问服务的时延。In the micro cloud architecture, various services sink from the data center to the micro cloud node, and users in each area can access the services that sink to the micro cloud nodes, and the mobile terminal users are dispersed through the micro cloud architecture, and the number of users is reduced. Network congestion and reduced access latency. The coverage of the micro cloud node includes many users, and the user can be geographically divided into different areas. For example, a province can be divided into one area. The user shown in FIG. 1 includes users of two areas, namely the user of the area 121 and the user of the area 122. A user in one area can access services deployed on multiple nodes. At a physical distance, some users in area 121 may be closest to micro cloud node 109, and other users in the area may be closest to micro cloud node 110. Assuming that the service that the user needs to access is deployed on both the micro cloud node 109 and the micro cloud node 110, the user in the area 121 closest to the micro cloud node 109 can access the service deployed on the micro cloud node 109, and is closest to the micro cloud node 110. The user can access the services deployed on the micro cloud node 110. It can be seen that the user can select the service on the micro cloud node closer to himself, thereby shortening the delay of accessing the service.
基于图1所示的系统架构,图2示例性示出了本申请实施例提供的一种边缘云架构下服务部署方法的流程示意图,如图2所示,方法适用于将待部署的K个服务部署至M个节点的应用场景。本申请实施例中的应用场景还可分为两种,第一种,M个节点可指图1中所示的M个自治区,也就是说将K个服务部署至M个自治区,此时M个节点中每个节点的可用资源实例数量具体是指该节点所指示的自治区的可用资源实例的数量。第二种,M个节点可指图1中的M个微云节点,此时具体是指将K个服务部署至M个微云节点,此时M个节点中每个节点的可用资源实例数量具体是指该节点所指示的微云节点上的可用资源实例的数量。本申请实施例所提供的方案也可用于其它服务部署的应用场景。本申请实施例中K为大于等于1的整数;M为大于等于1的整数。本申请实施例中服务可包括服务指应用程序的功能单元,例如无线接入网(Radio Access Network,RAN)应用中的分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)和无线资源控制(Radio Resource  Control,RRC)都是服务;资源实例可包括提供计算服务的虚拟机。Based on the system architecture shown in FIG. 1 , FIG. 2 exemplarily shows a schematic flowchart of a method for deploying services in an edge cloud architecture according to an embodiment of the present application. As shown in FIG. 2 , the method is applicable to K to be deployed. The application is deployed to the application scenarios of M nodes. The application scenario in this embodiment may be further divided into two types. The first type, the M nodes may refer to the M autonomous regions shown in FIG. 1, that is, the K services are deployed to the M autonomous regions, and the M is The number of available resource instances for each node in the node specifically refers to the number of available resource instances of the autonomous region indicated by the node. The second type of M nodes may refer to the M micro cloud nodes in FIG. 1 , and specifically refers to deploying K services to M micro cloud nodes, and the number of available resource instances of each node in the M nodes at this time. Specifically, it refers to the number of available resource instances on the micro cloud node indicated by the node. The solution provided by the embodiment of the present application can also be applied to application scenarios of other service deployments. In the embodiment of the present application, K is an integer greater than or equal to 1; and M is an integer greater than or equal to 1. The service in the embodiment of the present application may include a functional unit of the service refers to an application, such as a Packet Data Convergence Protocol (PDCP) and a Radio Resource Control (Radio Resource) in a Radio Access Network (RAN) application. Control, RRC) are all services; resource instances may include virtual machines that provide computing services.
本申请实施例提供的边缘云架构下服务部署方法可由服务部署装置执行,可选地,服务部署装置可周期性部署K个服务。一种可选地实施方案为,可周期性将K个服务部署至M个节点。或者当每次部署K个服务时,可以重新确定的待部署节点,也就是说,每次部署K个服务时,K个服务对应的待部署节点可以不同,也可部分不同,也可相同。The service deployment method of the edge cloud architecture provided by the embodiment of the present application may be performed by the service deployment apparatus. Optionally, the service deployment apparatus may periodically deploy K services. An alternative implementation is that K services can be deployed to M nodes periodically. Or, each time K services are deployed, the nodes to be deployed may be re-determined, that is, each time K services are deployed, the nodes to be deployed corresponding to the K services may be different, partially different, or the same.
另一种可选地实施方案为,将待部署的K个服务部署至M个节点之后,还包括:根据K个服务所分配的资源实例的数量,以及将待部署的K个服务部署至M个节点之后K个服务对应的用户访问量信息,获取K个服务对应的系统资源利用率;若确定系统资源利用率小于预设的资源利用率阈值,则重新部署K个服务。可选地,每次部署K个服务时,K个服务对应的待部署节点可以不同,也可部分不同,也可相同。具体来说,根据将待部署的K个服务部署至M个节点之后K个服务对应的用户访问量信息可以确定出K个服务对应的实际资源消耗量,进而根据K个服务所分配的资源实例的数量和实际资源消耗量确定系统资源利用率。资源利用率阈值可以根据具体场景进行设定,为一个经验值。本申请实施例中通过该方案可以灵活的多次调整服务的部署,从而提高所部署的服务的资源利用率。Another optional implementation is that after the K services to be deployed are deployed to the M nodes, the method further includes: deploying the K services to be deployed to the M services according to the number of resource instances allocated by the K services. If the system resource utilization is less than the preset resource utilization threshold, the K services are redeployed. Optionally, each time the K services are deployed, the nodes to be deployed corresponding to the K services may be different, partially different, or the same. Specifically, according to the user access amount information corresponding to the K services after the K services to be deployed are deployed to the M nodes, the actual resource consumption corresponding to the K services may be determined, and then the resource instances allocated according to the K services are determined. The amount and actual resource consumption determine the system resource utilization. The resource utilization threshold can be set according to the specific scenario and is an empirical value. In this embodiment, the solution can flexibly adjust the deployment of the service multiple times, thereby improving resource utilization of the deployed service.
可选地,根据将待部署的K个服务部署至M个节点之后K个服务对应的用户访问量信息确定出K个服务对应的实际资源消耗量有多种实现方式,比如可利用回归的方法,通过用户访问量预测资源消耗量。本申请实施例中提供一种可选地实施方式用于预测未来K个服务对应的实际资源消耗量。可选地,K个服务对应的实际资源消耗量等于a0、a1乘以K个服务对应的用户访问量信息得到的乘积、a2乘以服务水平协议(Service Level Agreement,SLA)约束得到的乘积的三者之和。可选地,a0、a1和a2为系数,可通过线性拟合求出。Optionally, the method for determining the actual resource consumption corresponding to the K services according to the user access amount information corresponding to the K services after the K services to be deployed are deployed to the M nodes may be implemented in multiple manners, for example, a regression method may be utilized. , predict resource consumption by user traffic. An optional implementation manner is provided in the embodiment of the present application for predicting actual resource consumption corresponding to future K services. Optionally, the actual resource consumption corresponding to the K services is equal to a0, the product obtained by multiplying the user access information corresponding to the K services, and the product obtained by multiplying the service level agreement (SLA) constraint by a2. The sum of the three. Alternatively, a0, a1, and a2 are coefficients that can be found by linear fitting.
可选地,根据K个服务所分配的资源实例的数量和实际资源消耗量确定系统资源利用率有多种实现方式,本申请实施例中提供一种可选地实施方式用于确定系统资源利用率,具体来说,系统资源利用率可包括CPU的资源利用率,系统资源利用率等于M个微云节点上所有虚拟机上已用CPU资源总量与M个微云节点上所有虚拟机额定CPU资源总量的乘积,而M个微云节点上所有虚拟机上已用CPU资源总量可通过预测的未来K个服务对应的实际资源消耗量来确定,其他维度的资源利用率计算类似,不再详述。Optionally, the system resource utilization is determined according to the number of resource instances allocated by the K services and the actual resource consumption. The embodiment of the present application provides an optional implementation manner for determining system resource utilization. Rate, specifically, the system resource utilization may include the resource utilization of the CPU, and the system resource utilization is equal to the total amount of used CPU resources on all virtual machines on the M micro cloud nodes and all virtual machine ratings on the M micro cloud nodes. The product of the total amount of CPU resources, and the total amount of used CPU resources on all virtual machines on the M micro-cloud nodes can be determined by the actual resource consumption corresponding to the predicted future K services. The resource utilization calculations of other dimensions are similar. No longer detailed.
本申请实施例中服务部署方法可由服务部署装置执行,具体来说,该方法包括:针对待部署的K个服务中的每个服务,执行:The service deployment method in the embodiment of the present application may be performed by the service deployment apparatus. Specifically, the method includes: performing, for each service of the K services to be deployed, the following:
步骤201,服务部署装置根据历史日志信息,预估出N个区域中每个区域的用户对该服务的访问量信息;N为大于等于1的整数;Step 201: The service deployment device estimates the access information of the user in each of the N areas according to the historical log information; N is an integer greater than or equal to 1;
步骤202,服务部署装置针对M个节点中的每个节点,根据访问量信息确定出该服务部署在节点后,N个区域的用户访问该服务所需的总通信时延,得到M个总通信时延;Step 202: The service deployment device determines, for each of the M nodes, the total communication delay required for the users in the N areas to access the service after the service is deployed on the node, and obtains M total communications. Delay
步骤203,服务部署装置根据M个总通信时延,从M个节点中确定出该服务应部署在的第一目标节点;Step 203: The service deployment device determines, according to the M total communication delays, the first target node that the service should be deployed from the M nodes.
步骤204,服务部署装置根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对该服务的访问量信息,确定出第一目标节点应为该服务分配的资源实例的数量;Step 204: The service deployment device determines, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the resource instance that the first target node should allocate for the service. quantity;
步骤205,服务部署装置将确定的第一目标节点上资源实例的数量对应的资源实例分 配给该服务。Step 205: The service deployment device divides the determined resource instance corresponding to the number of resource instances on the first target node. Provision this service.
上述步骤201中,根据各种分析工具对历史访问记录进行分析,从而可得到N个区域中每个区域的用户对该服务的历史的访问量信息,进一步,可通过分析工具基于历史的访问量信息预估出未来N个区域中每个区域的用户对该服务的访问量信息,比如可通过时间序列分析工具进行分析。N个区域中每个区域的用户对该服务的访问量信息可包括预估的未来用户的访问量分布情况,具体来说,包括N个区域中每个区域在未来对服务的访问量,或者说未来某个时刻该区域的用户对该服务的访问量,访问量信息还可包括访问量未来变化趋势、访问时间等等信息。In the foregoing step 201, the historical access record is analyzed according to various analysis tools, so that the user's access information of the service to each service in each of the N regions can be obtained, and further, the historical tool-based access amount can be obtained through the analysis tool. The information estimates the amount of access to the service by users in each of the N regions in the future, such as analysis by a time series analysis tool. The traffic information of the user of each of the N regions may include an estimated traffic distribution of the future users, specifically, the amount of access to the service in each of the N regions in the future, or Say the amount of access to the service by users in the area at a certain moment in the future. The traffic information may also include information such as future trends of the traffic, access time, and the like.
上述步骤202中,可选地,本申请实施例中还获取了通信模型,通信模型来说可包括M个节点中各个节点之间的带宽描述、通信时延等等通信性能指标,根据通信性能指标可确定出用户访问该服务的基本通信时延。还获取了M个节点中每个节点的节点规格参数,节点的规格参数可包括该节点的中央处理器(Central Processing Unit,CPU)、内存、硬盘、网卡数量和网卡带宽等等信息。根据上述信息,可以确定出将服务从当前所部署在的节点迁移至当前节点的过程所对应的迁移通信时延。In the foregoing step 202, optionally, the communication model is also obtained in the embodiment of the present application, and the communication model may include a bandwidth description, a communication delay, and the like, and a communication performance indicator between each node of the M nodes, according to the communication performance. The metric determines the basic communication delay for the user to access the service. The node specification parameters of each node of the M nodes are also obtained, and the specification parameters of the node may include information such as a central processing unit (CPU), a memory, a hard disk, a number of network cards, and a network card bandwidth of the node. Based on the above information, the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node can be determined.
可选地,针对M个节点中的每个节点,根据访问量信息确定出该服务部署在节点后,N个区域的用户访问该服务所需的总通信时延,得到M个总通信时延,包括:将M个节点中的每个节点分别作为当前节点,执行:根据访问量信息和当前节点的通信性能指标,确定出若该服务部署在当前节点后,N个区域的用户访问该服务的基本通信时延;若确定该服务当前所部署在的节点与当前节点不同,则确定出将服务从当前所部署在的节点迁移至当前节点的过程所对应的迁移通信时延;根据基本通信时延和迁移通信时延,确定出N个区域的用户访问该服务所需的总通信时延。Optionally, for each of the M nodes, the total communication delay required for the users in the N areas to access the service after the service is deployed on the node is determined according to the access information, and the total communication delay is obtained. The method includes: using each of the M nodes as the current node, performing: determining, according to the access information and the communication performance indicator of the current node, that the user of the N areas accesses the service after the service is deployed in the current node The basic communication delay; if it is determined that the node currently deployed by the service is different from the current node, the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node is determined; according to the basic communication Delay and migration communication delays determine the total communication delay required for users in N areas to access the service.
具体来说,当前周期需要将K个服务部署在M个节点上,但是可能存在的情况是,K个服务已经部署过了,此次是重新部署。此时若该服务当前所部署在的节点与当前节点不同,则一旦确定该服务要部署在当前节点,则需要将该服务对应的所有数据迁移至该当前节点,迁移服务的过程一定会占用时间,因此本申请实施例中考虑到服务迁移后的基本通信时延以及将服务从当前所部署在的节点迁移至当前节点的过程所对应的迁移通信时延,可以更准确更完善的得到总通信时延。可选地,将基本通信时延和迁移通信时延的和作为总通信时延,Specifically, the current cycle needs to deploy K services on M nodes, but there may be cases where K services have been deployed, this time being redeployed. At this time, if the node currently deployed by the service is different from the current node, once the service is determined to be deployed on the current node, all data corresponding to the service needs to be migrated to the current node, and the process of migrating the service must take time. Therefore, in the embodiment of the present application, the basic communication delay after the service migration and the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node are considered, and the total communication can be obtained more accurately and completely. Delay. Optionally, the sum of the basic communication delay and the migration communication delay is taken as the total communication delay.
本申请实施例中,根据M个总通信时延,从M个节点中确定出服务应部署在的第一目标节点,可选地,可以从M个总通信时延中确定出最小的总通信时延,将该最小的总通信时延对应的节点确定为该服务对应的第一目标节点。In the embodiment of the present application, according to the M total communication delays, the first target node where the service should be deployed is determined from the M nodes, and optionally, the minimum total communication may be determined from the M total communication delays. The delay determines the node corresponding to the smallest total communication delay as the first target node corresponding to the service.
本申请实施例中,通过用户访问量信息确定出基本通信时延以及服务迁移所带来的迁移通信时延,进而根据基本通信时延以及服务迁移所带来的迁移通信时延确定出服务所部署的节点,从而可以使服务部署后总的通信时延更小。In the embodiment of the present application, the basic communication delay and the migration communication delay caused by the service migration are determined by using the user access amount information, and then the service station is determined according to the basic communication delay and the migration communication delay caused by the service migration. The nodes that are deployed so that the total communication latency after the service is deployed is smaller.
本申请实施例中,若确定该服务当前所部署在的节点与当前节点相同,或者该服务尚未部署,则根据基本通信时延,确定出N个区域的用户访问该服务所需的总通信时延。也就是说,当该服务当前所部署在的节点与当前节点相同,或者该服务尚未部署,则可仅考虑基本通信时延进行服务的部署。In the embodiment of the present application, if it is determined that the node currently deployed by the service is the same as the current node, or the service has not been deployed, determining the total communication required for the users of the N areas to access the service according to the basic communication delay Delay. That is to say, when the node currently deployed by the service is the same as the current node, or the service has not been deployed, the deployment of the service can be performed only considering the basic communication delay.
可选地,本申请实施例中将服务部署在节点上可以有多种表示方式,比如针对M个节点上的每个节点,该服务部署在该节点上可用1表示,该服务不部署在该节点上可用0表 示。Optionally, in the embodiment of the present application, the service may be deployed on the node in multiple representation manners. For example, for each node on the M nodes, the service deployment may be represented by 1 on the node, and the service is not deployed in the node. 0 table available on the node Show.
上述步骤204中所提供的方案,根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。因此可基于供求关系更加合理的确定出为服务分配的资源实例的数量,从而可有效提高了资源利用率。The solution provided in the foregoing step 204 determines, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the resource that the first target node should allocate for the service. The number of instances. Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
可选地,根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对该服务的访问量信息,确定出第一目标节点应为该服务分配的资源实例的数量,包括:根据该服务的性能指标以及N个区域中每个区域的用户对该服务的访问量信息,确定出该服务对应的资源实例消耗量;根据第一目标节点对应的可用资源实例数量,以及该服务对应的资源实例消耗量,确定出第一目标节点能够并发处理该服务的任务数量;根据第一目标节点并发处理该服务的任务数量,以及N个区域中每个区域的用户对该服务的访问量信息,确定出第一目标节点应为该服务分配的资源实例的数量。Optionally, determining the number of resource instances that the first target node should allocate for the service according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions. The method includes: determining, according to the performance indicator of the service, and the user access information of the service in each of the N areas, the consumption of the resource instance corresponding to the service; according to the number of available resource instances corresponding to the first target node, And the resource instance consumption corresponding to the service, determining the number of tasks that the first target node can concurrently process the service; the number of tasks that process the service concurrently according to the first target node, and the users of each of the N regions The traffic information of the service determines the number of resource instances that the first target node should allocate for the service.
可选地,本申请实施例中根据第一目标节点对应的可用资源实例数量,以及该服务对应的资源实例消耗量,确定出第一目标节点能够并发处理该服务的任务数量有多种实现方式,本申请提供一种可选地实现方式,假设某一节点上空闲资源量为R,通过性能模型函数求逆,可以得到该节点目前可以处理的用户访问量(即任务数量)。由于资源是多维的,每个维度都重复上述操作,最终得到一组可以处理的任务数量的估测值,可选地,可选取其中最小的一个作为该节点当前可以并发处理的任务数。Optionally, in the embodiment of the present application, according to the number of available resource instances corresponding to the first target node and the consumption of the resource instance corresponding to the service, determining that the number of tasks that the first target node can concurrently process the service has multiple implementation manners The present application provides an alternative implementation manner. Assume that the amount of idle resources on a node is R, and the user model can be processed by the performance model function to obtain the number of user accesses (ie, the number of tasks) that the node can currently process. Since the resources are multi-dimensional, each dimension repeats the above operations, and finally obtains an estimated number of tasks that can be processed. Alternatively, the smallest one can be selected as the number of tasks that the node can currently process concurrently.
可选地,可通过一定的分析工具确定出资源实例消耗量,比如可通过据挖掘工具和回归分析工具对用户提交的该服务的测试数据和该服务在运行过程中的日志信息进行分析,可得到服务性能模型。服务性能模型具体来说是服务的性能指标和访问量信息与资源实例消耗量之间的相互映射关系,比如可根据服务性能模型,以及服务的性能指标和访问量信息,得到资源实例消耗量。该服务的性能指标可以包括该服务的时延信息、丢包率等等。Optionally, the resource instance consumption can be determined by using a certain analysis tool. For example, the test data of the service submitted by the user and the log information of the service during the running process can be analyzed by using the mining tool and the regression analysis tool. Get the service performance model. The service performance model is specifically a mapping between the service performance indicator and the traffic information and the resource instance consumption. For example, the resource instance consumption can be obtained according to the service performance model, the service performance indicator and the traffic information. The performance indicators of the service may include delay information, packet loss rate, and the like of the service.
本申请实施例中可以确定出第一目标节点对应的可用资源实例数量,M个节点中每个节点上的资源实例的数量都不是无限多的,都对应的有资源实例的总量,用该资源实例的总量减去已经被占用的资源实例数量,即得到可用资源实例数量。可见,本申请实施例中考虑到用户访问流量与资源消耗量之间的关系,从而可更加合理的为该服务分配资源实例的数量。In the embodiment of the present application, the number of available resource instances corresponding to the first target node may be determined, and the number of resource instances on each node of the M nodes is not infinite, and the corresponding total number of resource instances is used. The total number of resource instances minus the number of resource instances that have been occupied, that is, the number of available resource instances. It can be seen that the relationship between the user access traffic and the resource consumption is considered in the embodiment of the present application, so that the number of resource instances can be allocated to the service more reasonably.
进一步,可选地,根据第一目标节点并发处理该服务的任务数量,以及N个区域中每个区域的用户对该服务的访问量信息,确定出第一目标节点应为该服务分配的资源实例的数量,包括:将N个区域中对该服务的访问量信息最大的区域确定为目标区域;确定若该服务部署在第一目标节点上时,目标区域的用户对该服务的理想访问量信息;根据目标区域的用户对该服务的访问量信息、第一目标节点并发处理该服务的任务数量,以及目标区域的用户对该服务的理想访问量信息,确定出第一目标节点应为该服务分配的资源实例的数量。Further, optionally, according to the number of tasks of the first target node concurrently processing the service, and the information about the access amount of the service of the user of each of the N areas, the resource that the first target node should allocate for the service is determined. The number of the instances includes: determining an area in the N areas that has the largest amount of access information for the service as the target area; determining an ideal amount of access to the service by the user of the target area if the service is deployed on the first target node Information; determining, according to the user's access information of the service in the target area, the number of tasks that the first target node concurrently processes the service, and the ideal visitor information of the user of the target area to the service, determining that the first target node should be the The number of resource instances allocated by the service.
可选地,确定若服务部署在第一目标节点上时,目标区域的用户对服务的理想访问量信息,包括:确定若服务部署在第一目标节点上时,根据目标区域内的目标用户访问服务的访问量信息,得到目标区域的用户对服务的理想访问量信息;其中,针对目标区域中的每个用户,若该用户所在的位置与第一目标节点的位置之间的距离在预设距离范围内,则确定该用户为目标用户。 Optionally, determining, if the service is deployed on the first target node, the ideal access information of the user of the target area to the service, including: determining, if the service is deployed on the first target node, according to the target user access in the target area The traffic access information of the service obtains the ideal visitor information of the user in the target area; wherein, for each user in the target area, if the distance between the location of the user and the location of the first target node is preset Within the distance range, the user is determined to be the target user.
举个例子说明,假设M个节点的每个节点上的资源都是无限的,另每个节点上都部署了K个服务,且每个服务所分配的资源实例的数量都是无限的,此时,针对K个服务中的每个服务,N个区域中每个区域的用户访问该服务时,针对N个区域中的每个区域的每个用户,该用户会访问距离自己最近的节点上的服务。预设距离范围可设置的较小,此时确定出该服务部署在第一目标节点上,与第一目标节点之间的距离在预设距离范围内的用户会访问该第一目标节点上所部署的该服务,与第一目标节点之间的距离超出预设距离范围内的用户不会访问该第一目标节点上所部署的该服务。As an example, assume that the resources on each node of the M nodes are infinite, and K services are deployed on each node, and the number of resource instances allocated by each service is unlimited. At the time, for each of the K services, when the user of each of the N areas accesses the service, for each user of each of the N areas, the user accesses the node closest to himself. Service. The preset distance range can be set smaller. At this time, it is determined that the service is deployed on the first target node, and the user who is within the preset distance from the first target node accesses the first target node. The deployed service, the user whose distance from the first target node exceeds the preset distance does not access the service deployed on the first target node.
可见,本申请实施例中确定第一目标节点应为该服务分配的资源实例的数量时还考虑了目标区域的用户对该服务的理想访问量信息,可见考虑的更加全面,从而可进一步提高资源利用率。It can be seen that, in the embodiment of the present application, when determining the number of resource instances that the first target node should allocate for the service, the ideal access information of the user in the target area is also considered, so that the consideration is more comprehensive, thereby further improving resources. Utilization rate.
可选地,根据目标区域的用户对该服务的访问量信息、第一目标节点并发处理该服务的任务数量,以及目标区域的用户对该服务的理想访问量信息,确定出第一目标节点应为该服务分配的资源实例的数量,包括:将目标区域的用户对该服务的访问量信息、第一目标节点并发处理该服务的任务数量和目标区域的用户对该服务的理想访问量信息中的最小值确定为:第一目标节点应为该服务分配的资源实例的数量。Optionally, the first target node is determined according to the information about the access of the service by the user of the target area, the number of tasks of the first target node concurrently processing the service, and the ideal visitor information of the user of the target area to the service. The number of resource instances allocated for the service includes: information on the amount of access of the user in the target area to the service, the number of tasks in which the first target node concurrently processes the service, and the ideal access amount information of the user in the target area to the service The minimum value is determined as the number of resource instances that the first target node should allocate for the service.
本申请实施例中将K个服务部署在M个节点之后,还可考虑一些约束条件,进而可根据约束条件,对K个服务的部署方案进行微调。可选地,将确定的第一目标节点上资源实例的数量对应的资源实例分配给该服务之后,还包括:若存在该服务对应的约束条件,且约束条件包括:将该服务部署至M个节点中的第二目标节点,其中,第二目标节点与第一目标节点不同,则在第二目标节点上部署该服务。After the K services are deployed in the M nodes in the embodiment of the present application, some constraints may be considered, and then the deployment schemes of the K services may be fine-tuned according to the constraint conditions. Optionally, after the determined resource instance corresponding to the number of the resource instances on the first target node is allocated to the service, the method further includes: if the constraint corresponding to the service exists, and the constraint includes: deploying the service to the M A second target node in the node, wherein the second target node is different from the first target node, and the service is deployed on the second target node.
可选地,约束条件还包括:在第二目标节点上为该服务分配目标数量的资源实例;在第二目标节点上部署该服务,包括:若第二目标节点上的可用资源实例数量小于目标数量,则执行:将第二目标节点上已部署的、且分配资源实例的数量最少的服务从第二目标节点上删除,直至第二目标节点上的可用资源实例数量大于目标数量为止;在第二目标节点上部署该服务,并为该服务分配目标数量的资源实例。Optionally, the constraint further includes: allocating a target number of resource instances to the service on the second target node; and deploying the service on the second target node, including: if the number of available resource instances on the second target node is smaller than the target The quantity is executed by: deleting the service that has been deployed on the second target node and minimizing the number of allocated resource instances from the second target node until the number of available resource instances on the second target node is greater than the target quantity; The service is deployed on the second target node and a target number of resource instances are assigned to the service.
举个例子,比如服务a分配至节点1上,约束条件为将服务a部署至节点2,且为服务a分配100个资源实例,当前节点2上部署了三个服务,分别为服务b、服务c和服务d,服务b分配了120个资源实例,服务c分配了90个资源实例,服务d分配了60个资源实例,节点2的可用的资源实例还剩20个。本申请实施例中会将节点2上的服务d和服务c删除,之后在节点2上部署服务a,并为服务a分配100个资源实例。可选地,将服务d和服务c删除后,可将服务d和服务c上报至数据中心,由数据中心安排进行处理,比如下一次部署再部署服务d和服务c,或者将服务d和服务c部署至某几个节点等等。For example, service a is assigned to node 1, the constraint is to deploy service a to node 2, and service a is assigned 100 resource instances, and current node 2 deploys three services, namely service b and service. c and service d, service b allocates 120 resource instances, service c allocates 90 resource instances, service d allocates 60 resource instances, and node 2 has 20 remaining resource instances. In the embodiment of the present application, the service d and the service c on the node 2 are deleted, then the service a is deployed on the node 2, and 100 resource instances are allocated for the service a. Optionally, after the service d and the service c are deleted, the service d and the service c can be reported to the data center, and arranged by the data center, for example, the next deployment and redeployment service d and service c, or the service d and the service cDeploy to a few nodes and so on.
图3示例性示出了本申请实施例提供的一种服务访问方法的流程示意图,如图3所示,该方法包括:FIG. 3 is a schematic flowchart diagram of a service access method provided by an embodiment of the present application. As shown in FIG. 3, the method includes:
步骤301,基站向自治区头节点中的调度中心(Scheduler)转发用户的服务访问请求(Request for transmitting),之后执行步骤302。In step 301, the base station forwards the user's service access request (Request for transmitting) to the scheduling center (Scheduler) in the autonomous area head node, and then performs step 302.
步骤302,调度中心(Scheduler)查询内部维护的服务资源列表(Search resource deploy file),之后根据情况分别执行步骤303或步骤305。Step 302: The scheduler queries the search resource deploy file, and then performs step 303 or step 305 according to the situation.
步骤303,若调度中心从服务资源列表中查询到本自治区内存在部署了该服务的微云节点(Cloudlet),则将用户的服务访问请求转发到相应的微云节点上,之后执行步骤304。 Step 303: If the scheduling center queries the service resource list to the micro-cloud node (Cloudlet) in which the service is deployed, the service access request of the user is forwarded to the corresponding micro-cloud node, and then step 304 is performed.
步骤304,微云节点处理完用户访问请求后将结果服务访问响应(Response for services)返回给用户,结束。Step 304: After processing the user access request, the micro cloud node returns a result service response (Response for services) to the user, and ends.
步骤305,若调度中心从服务资源列表中查询到本自治区内不存在部署了该服务的微云节点,则调度中心将向微云自治区资源管理器(Autonomous Zone Resource Manager,AZ RM)发送跨自治区服务访问请求(Request for services across AZ),之后执行步骤306。Step 305: If the scheduling center queries from the service resource list that there is no micro cloud node in the autonomous region where the service is deployed, the dispatch center sends the cross-autonomous region to the Autonomous Region Resource Manager (AZ RM). Request for services across AZ, and then step 306 is performed.
步骤306,微云自治区资源管理器向数据中心的搜索引擎(SearchEngine)发送跨自治区服务访问请求,之后执行步骤307。Step 306: The micro cloud autonomous region resource manager sends a cross-autonomous service access request to the search engine (SearchEngine) of the data center, and then step 307 is performed.
步骤307,搜索引擎搜索出部署有该服务的自治区(Search available AZ),选择最优的一个自治区,向该最优的自治区的资源管理器发送可用微云节点请求(Request for available Cloudlet),之后执行步骤308。Step 307: The search engine searches for an autonomous area (Search available AZ) in which the service is deployed, selects an optimal autonomous area, and sends a request for available cloudlet to the resource manager of the optimal autonomous area. Go to step 308.
步骤308,该最优的自治区资源管理器搜索出部署有该服务的最优的微云节点(Search available Cloudlet),向搜索引擎返回最优的微云节点的信息,之后执行步骤309。Step 308, the optimal autonomous region resource manager searches for the optimal micro cloud node (Search available Cloudlet) deployed with the service, and returns the information of the optimal micro cloud node to the search engine, and then performs step 309.
步骤309,搜索引擎经过微云自治区资源管理器向最初发出服务访问请求的调度中心返回最优的微云节点的信息,之后执行步骤310。Step 309: The search engine returns information of the optimal micro cloud node to the dispatch center that originally issued the service access request by using the micro cloud autonomous region resource manager, and then step 310 is performed.
步骤310,调度中心向最优的微云节点发送用户服务访问请求,之后执行步骤311。Step 310: The scheduling center sends a user service access request to the optimal micro cloud node, and then step 311 is performed.
步骤311,最优的微云节点处理完用户访问请求后将结果服务访问响应返回给用户。Step 311: The optimal micro cloud node returns the result service access response to the user after processing the user access request.
基于上述内容,本申请实施例中还提供了以下示例,用于介绍本申请。Based on the above, the following examples are also provided in the embodiments of the present application for introducing the present application.
示例一Example one
图4示例性示出了本申请实施例提供的一种微云架构示意图,如图4所示,包括数据中心、微云节点。在微云架构下,服务部署装置可集成在数据中心和自治区头节点的自治区资源管理器中。FIG. 4 is a schematic diagram showing a micro cloud architecture provided by an embodiment of the present application. As shown in FIG. 4, the data center and the micro cloud node are included. Under the micro cloud architecture, the service deployment device can be integrated in the autonomous region resource manager of the data center and the autonomous region head node.
初始部署时:At the time of initial deployment:
第一,用户将待部署的服务提交给数据中心400的部署中心服务401(Deploy Center)后,部署中心服务401将待部署的服务转发给数据中心400的第一资源管理服务402(Resource Mgr Service)。First, after the user submits the service to be deployed to the deployment center service 401 (Deploy Center) of the data center 400, the deployment center service 401 forwards the service to be deployed to the first resource management service 402 of the data center 400 (Resource Mgr Service). ).
第二,数据中心400的第一资源管理服务402中的负载分析模块403对服务进行性能建模。另外,第一资源管理服务402还将查询各自治区的资源使用情况,并执行服务部署算法,得到服务部署和负载分配方案,并将结果告知部署中心服务401。Second, the load analysis module 403 in the first resource management service 402 of the data center 400 models the performance of the service. In addition, the first resource management service 402 will also query the resource usage of each autonomous region, execute a service deployment algorithm, obtain a service deployment and load distribution scheme, and notify the deployment center service 401 of the result.
第三,部署中心服务401按照部署方案,将服务发送到相应的微云节点的部署代理服务407进行进一步部署。Third, the deployment center service 401 sends the service to the deployment agent service 407 of the corresponding micro cloud node for further deployment according to the deployment scenario.
第四,微云节点410中的自治区头结点的第二资源管理服务509收到服务部署请求后,先通过资源代理服务408查询自治区内各节点的资源状态,并执行服务部署算法,得到服务部署和负载分配方案,并将结果告知部署中心服务401。Fourth, after receiving the service deployment request, the second resource management service 509 of the autonomous region head node in the micro cloud node 410 first queries the resource status of each node in the autonomous region through the resource proxy service 408, and executes the service deployment algorithm to obtain the service. Deploy and load distribution scenarios and inform the deployment center service 401 of the results.
数据中心和自治区服务部署进行动态调整时:When data center and autonomous service deployments are dynamically adjusted:
第一,第一资源管理服务402处理分析监控系统的监控服务405的数据,当发现系统资源利用率低于某阈值时,发起服务部署调整请求。或者,第一资源管理服务401根据事先设定的时钟进行服务部署调整。First, the first resource management service 402 processes the data of the monitoring service 405 of the analysis monitoring system, and when the system resource utilization is found to be below a certain threshold, initiates a service deployment adjustment request. Alternatively, the first resource management service 401 performs service deployment adjustment according to a clock set in advance.
第二,第一资源管理服务402可从日志服务406处获取用户访问请求记录,通过分析模块预测出未来一段时间内的用户访问请求分布。Second, the first resource management service 402 can obtain a user access request record from the log service 406, and predict the distribution of user access requests in the future period through the analysis module.
第三,第一资源管理服务402通过服务部署的部署决策模块404得出服务部署和负载 分配方案,并将结果告知数据中心的第一资源管理服务402。Third, the first resource management service 402 derives service deployment and load through the deployment decision module 404 of the service deployment. The plan is assigned and the results are communicated to the first resource management service 402 of the data center.
上述示例中,负载分析模块403可分别配置于数据中心400的第一资源管理服务402上和微云节点410的第二资源管理服务409上,部署决策模块404可分别配置于数据中心400的第一资源管理服务402上和微云节点410的第二资源管理服务409上。上述内容中的服务部署装置可包括该示例中的负载分析模块403和部署决策模块404。In the above example, the load analysis module 403 can be respectively configured on the first resource management service 402 of the data center 400 and the second resource management service 409 of the micro cloud node 410, and the deployment decision module 404 can be respectively configured in the data center 400. A resource management service 402 and a second resource management service 409 of the micro cloud node 410. The service deployment device in the above may include the load analysis module 403 and the deployment decision module 404 in this example.
示例二Example two
图5示例性示出了本申请实施例提供的一种微云架构示意图,如图5所示,包括数据中心、微云节点。在微云架构下,服务部署装置可集成在数据中心的Deploy Center Service中。FIG. 5 is a schematic diagram showing a micro cloud architecture provided by an embodiment of the present application. As shown in FIG. 5, the data center and the micro cloud node are included. Under the micro cloud architecture, the service deployment appliance can be integrated into the Deploy Center Service in the data center.
初始部署时:At the time of initial deployment:
第一,用户将待部署的服务提交给数据中心500的部署中心服务502后,部署中心服务502向第一资源管理服务501申请资源运行服务测试用例,然后通过负载分析模块503对服务进行性能建模。First, after the user submits the service to be deployed to the deployment center service 502 of the data center 500, the deployment center service 502 applies to the first resource management service 501 for the resource running service test case, and then performs performance analysis on the service through the load analysis module 503. mold.
第二,部署中心服务502通过数据中心500的第一资源管理服务501,微云节点510中自治区头结点的第二资源管理服务509和微云节点的资源代理服务508获取各微云节点的资源状态。Second, the deployment center service 502 obtains the micro-cloud nodes through the first resource management service 501 of the data center 500, the second resource management service 509 of the autonomous region head node in the micro-cloud node 510, and the resource proxy service 508 of the micro-cloud node. Resource status.
第三,部署中心服务502根据预测的负载分布和前两步得到的服务性能模型及节点资源状态,执行部署决策模块504,得到服务部署和负载分配的方案。Third, the deployment center service 502 executes the deployment decision module 504 according to the predicted load distribution and the service performance model and the node resource status obtained in the first two steps, and obtains a solution for service deployment and load distribution.
第四,部署中心服务502将服务部署方案发送给各节点的部署代理服务507进行部署。Fourth, the deployment center service 502 deploys the service deployment plan to the deployment agent service 507 of each node for deployment.
数据中心和自治区服务部署进行动态调整时与示例一类似,在此不再赘述。举例来说,第一资源管理服务501可处理分析监控系统的监控服务405的数据,当发现系统资源利用率低于某阈值时,发起服务部署调整请求。或者,第一资源管理服务501根据事先设定的时钟进行服务部署调整。第一资源管理服务501可从日志服务406处获取用户访问请求记录,通过分析模块预测出未来一段时间内的用户访问请求分布。The data center and the autonomous region service deployment are dynamically adjusted, similar to the first example, and will not be described here. For example, the first resource management service 501 can process the data of the monitoring service 405 of the analysis monitoring system, and initiate a service deployment adjustment request when the system resource utilization is found to be below a certain threshold. Alternatively, the first resource management service 501 performs service deployment adjustment according to a clock set in advance. The first resource management service 501 can obtain a user access request record from the log service 406, and the analysis module predicts a user access request distribution for a future period of time.
示例三Example three
图6示例性示出了本申请实施例提供的一种边缘云无线接入网(Cloud Radio Access Network,CloudRAN)架构示意图,如图6所示,包括数据中心、微云节点。在边缘云无线接入网(Cloud Radio Access Network,CloudRAN)架构下,服务部署装置在集中式数据中心平台层管理节点内。FIG. 6 is a schematic diagram showing a structure of a Cloud Radio Access Network (CloudRAN) provided by an embodiment of the present application. As shown in FIG. 6, the data center and the micro cloud node are included. Under the Cloud Radio Access Network (CloudRAN) architecture, the service deployment device is in the centralized data center platform layer management node.
初始部署时:At the time of initial deployment:
第一,用户向第一部署管理和软件管理服务601提交服务部署请求,第一部署管理和软件管理服务601向资源管理服务602申请资源运行服务测试用例,通过负载分析模块613对服务进行性能建模。First, the user submits a service deployment request to the first deployment management and software management service 601. The first deployment management and software management service 601 applies to the resource management service 602 for the resource running service test case, and performs performance analysis on the service through the load analysis module 613. mold.
第二,负载分析模块613通过资源管理服务602获取各微云节点的资源状态。再结合预测的负载分布和服务性能模型,执行部署决策模块614,得到服务部署和负载分配的方案。Second, the load analysis module 613 acquires the resource status of each micro cloud node through the resource management service 602. Combined with the predicted load distribution and service performance model, the deployment decision module 614 is executed to obtain a solution for service deployment and load distribution.
第三,第一部署管理和软件管理服务601将服务部署方案发送给各中汇聚节点604的第二部署管理和软件管理服务603进行部署。Third, the first deployment management and software management service 601 sends the service deployment plan to the second deployment management and software management service 603 of each of the aggregation nodes 604 for deployment.
本申请实施例中可提供两种算法,一种算法可称为one-shot esds(enhanced service deployment solution),另一种可称为dynamic esds,one-shot esds可仅考虑基本通信代价, 而dynamic esds考虑了基本通信时延、应用服务迁移带来的数据传输时延代价。从时延的角度来看,由于one-shot esds和dynamic esds算法考虑了微云节点中服务的性能模型,可以尽可能地将应用部署在靠近用户的微云节点上。进一步,可选地,dynamic esds默认所有节点的资源无限,仅以传输时延作为优化目标,但实际中由于节点资源有限,导致任务排队,引入额外的等待时延。而one-shot esds则考虑到了节点的资源限制,进行了合理优化,减少了等待时延,使得总体时延较低。从资源利用率的角度来看,one-shot esds和dynamic esds根据负载的变化灵活变动,提高了资源利用率。Two algorithms can be provided in the embodiment of the present application. One algorithm can be called one-shot esds (enhanced service deployment solution), and the other can be called dynamic esds. One-shot esds can only consider the basic communication cost. The dynamic esds considers the cost of data transmission delay caused by basic communication delay and application service migration. From the perspective of delay, since the one-shot esds and dynamic esds algorithms consider the performance model of the services in the micro cloud nodes, the applications can be deployed as close as possible to the micro cloud nodes close to the users. Further, optionally, dynamic esds defaults to all nodes with unlimited resources, and only uses transmission delay as an optimization target, but in practice, due to limited node resources, task queuing is introduced, and additional waiting delay is introduced. The one-shot esds takes into account the resource limitations of the nodes, performs reasonable optimization, reduces the waiting delay, and makes the overall delay low. From the perspective of resource utilization, one-shot esds and dynamic esds flexibly change according to load changes, improving resource utilization.
本申请实施例所提供的方法,不局限于服务类型和优化指标,具有一定的通用性和可扩展性。具体地,对不同的服务或新的需要考虑的资源类型,我们可以在分析模块中添加适合的分析工具和算法,对服务进行合理建模,得出有效的性能模型。除此之外,当有新的优化需要时,例如减少丢包率等,我们可以通过修改相应的效用收益U的描述,实现新的优化目标。The method provided by the embodiment of the present application is not limited to the service type and the optimization indicator, and has certain versatility and scalability. Specifically, for different services or new resource types that need to be considered, we can add appropriate analysis tools and algorithms in the analysis module to reasonably model the service and obtain an effective performance model. In addition, when there are new optimization needs, such as reducing the packet loss rate, we can achieve the new optimization goal by modifying the description of the corresponding utility benefit U.
图7示例性示出了本申请实施例提供的一种边缘云架构下的服务部署装置的结构示意图。FIG. 7 is a schematic structural diagram of a service deployment apparatus in an edge cloud architecture provided by an embodiment of the present application.
基于相同构思,本申请实施例提供一种边缘云架构下的服务部署装置,用于执行上述方法流程。如图7所示,该服务部署装置700包括负载分析模块701和部署决策模块702,其中负载分析模块701可为上述图4中的负载分析模块403、图5中的负载分析模块503或上述图6中的负载分析模块613,部署决策模块702可为上述图4中的部署决策模块404、图5中的部署决策模块504或上述图6中的部署决策模块614。Based on the same concept, the embodiment of the present application provides a service deployment apparatus in an edge cloud architecture, which is used to execute the foregoing method flow. As shown in FIG. 7, the service deployment device 700 includes a load analysis module 701 and a deployment decision module 702. The load analysis module 701 can be the load analysis module 403 in FIG. 4, the load analysis module 503 in FIG. 5, or the above figure. In the load analysis module 613, the deployment decision module 702 can be the deployment decision module 404 in FIG. 4, the deployment decision module 504 in FIG. 5, or the deployment decision module 614 in FIG. 6 above.
该边缘云架构下的服务部署装置700适用于将待部署的K个服务部署至M个节点的应用场景;其中,K和M为大于等于1的整数。The service deployment device 700 in the edge cloud architecture is applicable to an application scenario in which K services to be deployed are deployed to M nodes; wherein K and M are integers greater than or equal to 1.
负载分析模块701,用于在将待部署的K个服务部署至M个节点时,针对待部署的K个服务中的每个服务,根据历史日志信息,预估出N个区域中每个区域的用户对服务的访问量信息;N为大于等于1的整数;针对M个节点中的每个节点,根据访问量信息确定出服务部署在节点后N个区域的用户访问服务所需的总通信时延,得到M个总通信时延。The load analysis module 701 is configured to estimate each of the N regions according to the historical log information for each of the K services to be deployed when the K services to be deployed are deployed to the M nodes. User access information to the service; N is an integer greater than or equal to 1; for each of the M nodes, the total communication required for the user to access the service in the N areas after the service is deployed is determined according to the access information Delay, get M total communication delays.
部署决策模块702,用于根据M个总通信时延,从M个节点中确定出服务应部署在的第一目标节点;根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量;将确定的第一目标节点上资源实例的数量对应的资源实例分配给服务。The deployment decision module 702 is configured to determine, according to the M total communication delays, the first target node that the service should be deployed from the M nodes; the number of available resource instances corresponding to the first target node, and each of the N regions The user's access to the service information of the area determines the number of resource instances that the first target node should allocate for the service; and allocates the resource instance corresponding to the determined number of resource instances on the first target node to the service.
本申请实施例中,根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。因此可基于供求关系更加合理的确定出为服务分配的资源实例的数量,从而可有效提高了资源利用率。In the embodiment of the present application, the number of resource instances allocated by the first target node for the service is determined according to the number of available resource instances corresponding to the first target node and the user access information of the service in each of the N regions. . Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
进一步,本申请实施例中预估出N个区域中每个区域的用户对服务的访问量信息,进而可根据访问量信息确定出获取服务部署在节点后N个区域的用户访问服务所需的总通信时延,因此可通过根据M个总通信时延选取服务所部署的第一目标节点的方案,进一步减小N个区域中每个区域的用户访问用户的通信时延。Further, in the embodiment of the present application, the information about the access of the user to the service in each of the N areas is estimated, and then the information required by the user to access the service in the N areas after the service is deployed may be determined according to the access information. The total communication delay is such that the communication delay of the user accessing the user in each of the N areas can be further reduced by selecting the first target node deployed by the service according to the M total communication delays.
可选地,负载分析模块701在针对M个节点中的每个节点,根据访问量信息确定出服务部署在节点后,N个区域的用户访问服务所需的总通信时延,得到M个总通信时延时,具体用于:将M个节点中的每个节点分别作为当前节点,执行:根据访问量信息和当前节 点的通信性能指标,确定出若服务部署在当前节点后,N个区域的用户访问服务的基本通信时延;若确定服务当前所部署在的节点与当前节点不同,则确定出将服务从当前所部署在的节点迁移至当前节点的过程所对应的迁移通信时延;根据基本通信时延和迁移通信时延,确定出N个区域的用户访问服务所需的总通信时延。Optionally, the load analysis module 701 determines, for each of the M nodes, the total communication delay required for the users in the N areas to access the service after the service is deployed on the node, and obtains M totals. The communication time delay is specifically used to: each node of the M nodes is respectively used as the current node, and is executed according to the access amount information and the current section. The communication performance indicator of the point determines the basic communication delay of the user accessing the service in the N areas after the service is deployed in the current node; if it is determined that the node currently deployed by the service is different from the current node, it is determined that the service is from the current The migration communication delay corresponding to the process in which the deployed node migrates to the current node; according to the basic communication delay and the migration communication delay, the total communication delay required for the users of the N areas to access the service is determined.
具体来说,当前周期需要将K个服务部署在M个节点上,但是可能存在的情况是,K个服务已经部署过了,此次是重新部署。此时若该服务当前所部署在的节点与当前节点不同,则一旦确定该服务要部署在当前节点,则需要将该服务对应的所有数据迁移至该当前节点,迁移服务的过程一定会占用时间,因此本申请实施例中考虑到服务迁移后的基本通信时延以及将服务从当前所部署在的节点迁移至当前节点的过程所对应的迁移通信时延,可以更准确更完善的得到总通信时延。可选地,将基本通信时延和迁移通信时延的和作为总通信时延,Specifically, the current cycle needs to deploy K services on M nodes, but there may be cases where K services have been deployed, this time being redeployed. At this time, if the node currently deployed by the service is different from the current node, once the service is determined to be deployed on the current node, all data corresponding to the service needs to be migrated to the current node, and the process of migrating the service must take time. Therefore, in the embodiment of the present application, the basic communication delay after the service migration and the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node are considered, and the total communication can be obtained more accurately and completely. Delay. Optionally, the sum of the basic communication delay and the migration communication delay is taken as the total communication delay.
本申请实施例中,根据M个总通信时延,从M个节点中确定出服务应部署在的第一目标节点,可选地,可以从M个总通信时延中确定出最小的总通信时延,将该最小的总通信时延对应的节点确定为该服务对应的第一目标节点。In the embodiment of the present application, according to the M total communication delays, the first target node where the service should be deployed is determined from the M nodes, and optionally, the minimum total communication may be determined from the M total communication delays. The delay determines the node corresponding to the smallest total communication delay as the first target node corresponding to the service.
可选地,部署决策模块702在根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量时,具体用于:根据服务的性能指标以及N个区域中每个区域的用户对服务的访问量信息,确定出服务对应的资源实例消耗量;根据第一目标节点对应的可用资源实例数量,以及服务对应的资源实例消耗量,确定出第一目标节点能够并发处理服务的任务数量;根据第一目标节点并发处理服务的任务数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。Optionally, the deployment decision module 702 determines, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the resource that the first target node should allocate for the service. The number of the instances is specifically used to: determine the consumption of the resource instance corresponding to the service according to the performance indicator of the service and the access information of the user in each of the N areas; and the available resources corresponding to the first target node The number of instances, and the resource instance consumption corresponding to the service, determine the number of tasks that the first target node can concurrently process the service; the number of tasks that concurrently process the service according to the first target node, and the user-to-service for each of the N regions The traffic information determines the number of resource instances that the first target node should allocate for the service.
根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。因此可基于供求关系更加合理的确定出为服务分配的资源实例的数量,从而可有效提高了资源利用率。The number of resource instances allocated by the first target node for the service is determined according to the number of available resource instances corresponding to the first target node and the user access information of the service in each of the N regions. Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
可选地,部署决策模块702在根据第一目标节点并发处理服务的任务数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量时,具体用于:将N个区域中对服务的访问量信息最大的区域确定为目标区域;确定若服务部署在第一目标节点上时,目标区域的用户对服务的理想访问量信息;根据目标区域的用户对服务的访问量信息、第一目标节点并发处理服务的任务数量,以及目标区域的用户对服务的理想访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。Optionally, the deployment decision module 702 determines, according to the number of tasks of the first target node concurrently processing the service, and the user access information of the service in each of the N areas, the resource that the first target node should allocate for the service. The number of the instances is specifically used to: determine the area of the N areas with the largest amount of access information of the service as the target area; and determine the ideal amount of the user's access to the service when the service is deployed on the first target node. Information; determining, according to the user's access information of the service in the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access information of the user of the target area to the service, determining the resource that the first target node should allocate for the service The number of instances.
可见,本申请实施例中确定第一目标节点应为该服务分配的资源实例的数量时还考虑了目标区域的用户对该服务的理想访问量信息,可见考虑的更加全面,从而可进一步提高资源利用率。It can be seen that, in the embodiment of the present application, when determining the number of resource instances that the first target node should allocate for the service, the ideal access information of the user in the target area is also considered, so that the consideration is more comprehensive, thereby further improving resources. Utilization rate.
可选地,部署决策模块702在确定若服务部署在第一目标节点上时,目标区域的用户对服务的理想访问量信息时,具体用于:确定若服务部署在第一目标节点上时,根据目标区域内的目标用户访问服务的访问量信息,得到目标区域的用户对服务的理想访问量信息;其中,针对目标区域中的每个用户,若该用户所在的位置与第一目标节点的位置之间的距离在预设距离范围内,则确定该用户为目标用户。Optionally, the deployment decision module 702 is specifically configured to: determine, if the service is deployed on the first target node, when the service is deployed on the first target node, when the service is deployed on the first target node, Obtaining ideal visitor information of the user in the target area according to the visitor information of the target user accessing the service in the target area; wherein, for each user in the target area, if the location of the user is located with the first target node If the distance between the locations is within a preset distance, it is determined that the user is the target user.
可选地,部署决策模块702在根据目标区域的用户对服务的访问量信息、第一目标节点并发处理服务的任务数量,以及目标区域的用户对服务的理想访问量信息,确定出第一 目标节点应为服务分配的资源实例的数量时,具体用于:将目标区域的用户对服务的访问量信息、第一目标节点并发处理服务的任务数量和目标区域的用户对服务的理想访问量信息中的最小值确定为:第一目标节点应为服务分配的资源实例的数量。Optionally, the deployment decision module 702 determines the first information according to the user's access to the service information of the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access information of the user of the target area to the service. When the target node should be the number of resource instances allocated to the service, it is specifically used to: the user's access information to the service in the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access amount of the user in the target area to the service. The minimum value in the information is determined as the number of resource instances that the first target node should allocate for the service.
可选地,部署决策模块702将确定的第一目标节点上资源实例的数量对应的资源实例分配给服务之后,还用于:若存在服务对应的约束条件,且约束条件包括:将服务部署至M个节点中的第二目标节点,其中,第二目标节点与第一目标节点不同,则在第二目标节点上部署服务。Optionally, after the deployment decision module 702 allocates the determined resource instance corresponding to the number of resource instances on the first target node to the service, the deployment decision module 702 is further configured to: if there is a constraint corresponding to the service, and the constraint includes: deploying the service to A second target node among the M nodes, wherein the second target node is different from the first target node, and the service is deployed on the second target node.
可选地,约束条件还包括:在第二目标节点上为服务分配目标数量的资源实例;部署决策模块702在第二目标节点上部署服务时,具体用于:若第二目标节点上的可用资源实例数量小于目标数量,则执行:将第二目标节点上已部署的、且分配资源实例的数量最少的服务从第二目标节点上删除,直至第二目标节点上的可用资源实例数量大于目标数量为止;在第二目标节点上部署服务,并为服务分配目标数量的资源实例。Optionally, the constraint further includes: allocating a target number of resource instances to the service on the second target node; and when the deployment decision module 702 deploys the service on the second target node, specifically: if the second target node is available If the number of resource instances is less than the target number, execute: deleting the deployed service on the second target node and minimizing the number of allocated resource instances from the second target node until the number of available resource instances on the second target node is greater than the target Up to the number; deploy the service on the second target node and assign a target number of resource instances to the service.
可选地,部署决策模块702将待部署的K个服务部署至M个节点之后,还用于:根据K个服务所分配的资源实例的数量,以及将待部署的K个服务部署至M个节点之后K个服务对应的用户访问量信息,获取K个服务对应的系统资源利用率;若确定系统资源利用率小于预设的资源利用率阈值,则重新部署K个服务。Optionally, the deployment decision module 702 deploys the K services to be deployed to the M nodes, and is further configured to: deploy the K services to be deployed to the M services according to the number of resource instances allocated by the K services. If the system resource utilization is less than the preset resource utilization threshold, the K services are redeployed.
应理解,以上各个单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本申请实施例中,负载分析模块701和部署决策模块702可以由处理器实现。如图8所示,服务部署装置800可以包括处理器801和存储器803。其中,存储器803可以用于存储处理器801执行方案时的代码,该代码可为服务部署装置800出厂时预装的程序/代码。It should be understood that the division of each unit above is only a division of a logical function, and the actual implementation may be integrated into one physical entity in whole or in part, or may be physically separated. In the embodiment of the present application, the load analysis module 701 and the deployment decision module 702 may be implemented by a processor. As shown in FIG. 8, the service deployment device 800 can include a processor 801 and a memory 803. The memory 803 can be used to store the code when the processor 801 executes the solution, and the code can be a program/code pre-installed by the service deployment device 800 at the factory.
图8示例性示出了本申请实施例提供的一种边缘云架构下的服务部署装置的结构示意图。FIG. 8 is a schematic structural diagram of a service deployment apparatus in an edge cloud architecture provided by an embodiment of the present application.
基于相同构思,本申请实施例提供一种边缘云架构下的服务部署装置,用于执行上述方法流程。如图8所示,该服务部署装置800包括处理器801、存储器803和通信接口803;其中,处理器801、存储器803、通信接口804通过总线802相互连接。Based on the same concept, the embodiment of the present application provides a service deployment apparatus in an edge cloud architecture, which is used to execute the foregoing method flow. As shown in FIG. 8, the service deployment apparatus 800 includes a processor 801, a memory 803, and a communication interface 803; wherein the processor 801, the memory 803, and the communication interface 804 are connected to each other through a bus 802.
总线802可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。The bus 802 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus or the like. The bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 8, but it does not mean that there is only one bus or one type of bus.
存储器803可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器803还可以包括上述种类的存储器的组合。The memory 803 may include a volatile memory such as a random-access memory (RAM); the memory may also include a non-volatile memory such as a flash memory. A hard disk drive (HDD) or a solid-state drive (SSD); the memory 803 may also include a combination of the above types of memories.
通信接口804可以为有线通信接入口,无线通信接口或其组合,其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为WLAN接口。The communication interface 804 can be a wired communication access port, a wireless communication interface, or a combination thereof, wherein the wired communication interface can be, for example, an Ethernet interface. The Ethernet interface can be an optical interface, an electrical interface, or a combination thereof. The wireless communication interface can be a WLAN interface.
处理器801可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。处理器801还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器 件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。The processor 801 can be a central processing unit (CPU), a network processor (NP), or a combination of a CPU and an NP. The processor 801 may further include a hardware chip. The above hardware chip may be an application-specific integrated circuit (ASIC), programmable logic Programmable logic device (PLD) or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof.
服务部署装置800适用于将待部署的K个服务部署至M个节点的应用场景。其中,K和M为大于等于1的整数。The service deployment device 800 is applicable to an application scenario in which K services to be deployed are deployed to M nodes. Wherein K and M are integers greater than or equal to 1.
可选地,存储器803还可以用于存储计算机程序程序指令,处理器801调用该存储器803中存储的计算机程序程序指令,可以执行图2和图3所示实施例中的一个或多个步骤,或其中可选的实施方式,使得服务部署装置800实现上述方法中服务部署装置的功能。Optionally, the memory 803 can also be used to store computer program program instructions, and the processor 801 calls the computer program program instructions stored in the memory 803 to perform one or more steps in the embodiment shown in FIG. 2 and FIG. Or an optional embodiment thereof, such that the service deployment device 800 implements the functions of the service deployment device in the above method.
处理器801用于根据执行存储器存储的计算机程序指令,当处理器801执行存储器存储的计算机程序指令时,服务部署装置用于:针对待部署的K个服务中的每个服务,执行:根据历史日志信息,预估出N个区域中每个区域的用户对服务的访问量信息;N为大于等于1的整数;针对M个节点中的每个节点,根据访问量信息确定出服务部署在节点后,N个区域的用户访问服务所需的总通信时延,得到M个总通信时延;根据M个总通信时延,从M个节点中确定出服务应部署在的第一目标节点;根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量;将确定的第一目标节点上资源实例的数量对应的资源实例分配给服务。The processor 801 is configured to: according to the computer program instructions for executing the memory storage, when the processor 801 executes the computer program instructions stored in the memory, the service deployment apparatus is configured to: perform, for each service of the K services to be deployed, according to history The log information is used to estimate the access information of the user to the service in each of the N areas; N is an integer greater than or equal to 1; for each of the M nodes, the service is deployed on the node according to the access information. After that, the total communication delay required by the users in the N areas to access the service obtains M total communication delays; and based on the M total communication delays, the first target nodes to which the service should be deployed are determined from the M nodes; Determining, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the number of resource instances that the first target node should allocate for the service; A resource instance corresponding to the number of resource instances on the target node is assigned to the service.
本申请实施例中,根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。因此可基于供求关系更加合理的确定出为服务分配的资源实例的数量,从而可有效提高了资源利用率。In the embodiment of the present application, the number of resource instances allocated by the first target node for the service is determined according to the number of available resource instances corresponding to the first target node and the user access information of the service in each of the N regions. . Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
进一步,本申请实施例中预估出N个区域中每个区域的用户对服务的访问量信息,进而可根据访问量信息确定出获取服务部署在节点后N个区域的用户访问服务所需的总通信时延,因此可通过根据M个总通信时延选取服务所部署的第一目标节点的方案,进一步减小N个区域中每个区域的用户访问用户的通信时延。Further, in the embodiment of the present application, the information about the access of the user to the service in each of the N areas is estimated, and then the information required by the user to access the service in the N areas after the service is deployed may be determined according to the access information. The total communication delay is such that the communication delay of the user accessing the user in each of the N areas can be further reduced by selecting the first target node deployed by the service according to the M total communication delays.
可选地,处理器801在针对M个节点中的每个节点,根据访问量信息确定出服务部署在节点后,N个区域的用户访问服务所需的总通信时延,得到M个总通信时延时,具体用于:将M个节点中的每个节点分别作为当前节点,执行:根据访问量信息和当前节点的通信性能指标,确定出若服务部署在当前节点后,N个区域的用户访问服务的基本通信时延;若确定服务当前所部署在的节点与当前节点不同,则确定出将服务从当前所部署在的节点迁移至当前节点的过程所对应的迁移通信时延;根据基本通信时延和迁移通信时延,确定出N个区域的用户访问服务所需的总通信时延。Optionally, the processor 801 determines, for each of the M nodes, the total communication delay required for the users in the N areas to access the service after the service is deployed on the node, according to the access information, and obtains M total communications. Time delay, specifically for: using each of the M nodes as the current node, performing: determining, according to the traffic information and the communication performance indicator of the current node, that the N service is deployed after the current node is deployed The basic communication delay of the user accessing the service; if it is determined that the node currently deployed by the service is different from the current node, the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node is determined; The basic communication delay and the migration communication delay determine the total communication delay required for users in N areas to access the service.
具体来说,当前周期需要将K个服务部署在M个节点上,但是可能存在的情况是,K个服务已经部署过了,此次是重新部署。此时若该服务当前所部署在的节点与当前节点不同,则一旦确定该服务要部署在当前节点,则需要将该服务对应的所有数据迁移至该当前节点,迁移服务的过程一定会占用时间,因此本申请实施例中考虑到服务迁移后的基本通信时延以及将服务从当前所部署在的节点迁移至当前节点的过程所对应的迁移通信时延,可以更准确更完善的得到总通信时延。可选地,将基本通信时延和迁移通信时延的和作为总通信时延,Specifically, the current cycle needs to deploy K services on M nodes, but there may be cases where K services have been deployed, this time being redeployed. At this time, if the node currently deployed by the service is different from the current node, once the service is determined to be deployed on the current node, all data corresponding to the service needs to be migrated to the current node, and the process of migrating the service must take time. Therefore, in the embodiment of the present application, the basic communication delay after the service migration and the migration communication delay corresponding to the process of migrating the service from the currently deployed node to the current node are considered, and the total communication can be obtained more accurately and completely. Delay. Optionally, the sum of the basic communication delay and the migration communication delay is taken as the total communication delay.
本申请实施例中,根据M个总通信时延,从M个节点中确定出服务应部署在的第一 目标节点,可选地,可以从M个总通信时延中确定出最小的总通信时延,将该最小的总通信时延对应的节点确定为该服务对应的第一目标节点。In the embodiment of the present application, according to the M total communication delays, the first node that the service should be deployed is determined from the M nodes. The target node may optionally determine a minimum total communication delay from the M total communication delays, and determine the node corresponding to the smallest total communication delay as the first target node corresponding to the service.
可选地,处理器801在根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量时,具体用于:根据服务的性能指标以及N个区域中每个区域的用户对服务的访问量信息,确定出服务对应的资源实例消耗量;根据第一目标节点对应的可用资源实例数量,以及服务对应的资源实例消耗量,确定出第一目标节点能够并发处理服务的任务数量;根据第一目标节点并发处理服务的任务数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。Optionally, the processor 801 determines, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, the resource instance that the first target node should allocate for the service. The quantity is specifically used to: determine the consumption of the resource instance corresponding to the service according to the performance indicator of the service and the information of the user's access to the service in each of the N areas; and the available resource instance corresponding to the first target node The quantity, and the resource instance consumption corresponding to the service, determine the number of tasks that the first target node can concurrently process the service; the number of tasks that concurrently process the service according to the first target node, and the user-to-service of each of the N areas The traffic information determines the number of resource instances that the first target node should allocate for the service.
根据第一目标节点对应的可用资源实例数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。因此可基于供求关系更加合理的确定出为服务分配的资源实例的数量,从而可有效提高了资源利用率。The number of resource instances allocated by the first target node for the service is determined according to the number of available resource instances corresponding to the first target node and the user access information of the service in each of the N regions. Therefore, the number of resource instances allocated for the service can be determined more reasonably based on the supply and demand relationship, thereby effectively improving resource utilization.
可选地,处理器801在根据第一目标节点并发处理服务的任务数量,以及N个区域中每个区域的用户对服务的访问量信息,确定出第一目标节点应为服务分配的资源实例的数量时,具体用于:将N个区域中对服务的访问量信息最大的区域确定为目标区域;确定若服务部署在第一目标节点上时,目标区域的用户对服务的理想访问量信息;根据目标区域的用户对服务的访问量信息、第一目标节点并发处理服务的任务数量,以及目标区域的用户对服务的理想访问量信息,确定出第一目标节点应为服务分配的资源实例的数量。Optionally, the processor 801 determines, according to the number of tasks of the first target node concurrently processing the service, and the user access information of the service in each of the N areas, the resource instance that the first target node should allocate for the service. The quantity is specifically used to: determine the area of the N areas with the largest amount of access information of the service as the target area; and determine the ideal visitor information of the user of the target area to the service when the service is deployed on the first target node. Determining a resource instance that the first target node should allocate for the service according to the user's access information to the service in the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access information of the user in the target area to the service quantity.
本申请实施例中可以确定出第一目标节点对应的可用资源实例数量,M个节点中每个节点上的资源实例的数量都不是无限多的,都对应的有资源实例的总量,用该资源实例的总量减去已经被占用的资源实例数量,即得到可用资源实例数量。可见,本申请实施例中考虑到用户访问流量与资源消耗量之间的关系,从而可更加合理的为该服务分配资源实例的数量。In the embodiment of the present application, the number of available resource instances corresponding to the first target node may be determined, and the number of resource instances on each node of the M nodes is not infinite, and the corresponding total number of resource instances is used. The total number of resource instances minus the number of resource instances that have been occupied, that is, the number of available resource instances. It can be seen that the relationship between the user access traffic and the resource consumption is considered in the embodiment of the present application, so that the number of resource instances can be allocated to the service more reasonably.
可选地,处理器801在确定若服务部署在第一目标节点上时,目标区域的用户对服务的理想访问量信息时,具体用于:确定若服务部署在第一目标节点上时,根据目标区域内的目标用户访问服务的访问量信息,得到目标区域的用户对服务的理想访问量信息;其中,针对目标区域中的每个用户,若该用户所在的位置与第一目标节点的位置之间的距离在预设距离范围内,则确定该用户为目标用户。Optionally, the determining, by the processor 801, when the service is deployed on the first target node, when the user of the target area has the ideal access information of the service, the method is specifically configured to: determine, if the service is deployed on the first target node, according to The target user accesses the service access information in the target area to obtain the ideal visitor information of the user in the target area; wherein, for each user in the target area, if the user is located and the location of the first target node The distance between the preset distances determines that the user is the target user.
可见,本申请实施例中确定第一目标节点应为该服务分配的资源实例的数量时还考虑了目标区域的用户对该服务的理想访问量信息,可见考虑的更加全面,从而可进一步提高资源利用率。It can be seen that, in the embodiment of the present application, when determining the number of resource instances that the first target node should allocate for the service, the ideal access information of the user in the target area is also considered, so that the consideration is more comprehensive, thereby further improving resources. Utilization rate.
可选地,处理器801在根据目标区域的用户对服务的访问量信息、第一目标节点并发处理服务的任务数量,以及目标区域的用户对服务的理想访问量信息,确定出第一目标节点应为服务分配的资源实例的数量时,具体用于:将目标区域的用户对服务的访问量信息、第一目标节点并发处理服务的任务数量和目标区域的用户对服务的理想访问量信息中的最小值确定为:第一目标节点应为服务分配的资源实例的数量。Optionally, the processor 801 determines the first target node according to the user's access information to the service according to the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access information of the user of the target area to the service. When the number of resource instances to be allocated for the service is specifically used, the user's access information to the service in the target area, the number of tasks of the first target node concurrently processing the service, and the ideal access information of the user in the target area to the service are The minimum value is determined as the number of resource instances that the first target node should allocate for the service.
可选地,处理器801将确定的第一目标节点上资源实例的数量对应的资源实例分配给服务之后,还用于:若存在服务对应的约束条件,且约束条件包括:将服务部署至M个节点中的第二目标节点,其中,第二目标节点与第一目标节点不同,则在第二目标节点上部署服务。 Optionally, after the processor 801 allocates the determined resource instance corresponding to the number of the resource instances on the first target node to the service, the processor 801 is further configured to: if there is a constraint corresponding to the service, and the constraint includes: deploying the service to the M A second target node among the nodes, wherein the second target node is different from the first target node, and the service is deployed on the second target node.
可选地,约束条件还包括:在第二目标节点上为服务分配目标数量的资源实例;处理器801在第二目标节点上部署服务时,具体用于:若第二目标节点上的可用资源实例数量小于目标数量,则执行:将第二目标节点上已部署的、且分配资源实例的数量最少的服务从第二目标节点上删除,直至第二目标节点上的可用资源实例数量大于目标数量为止;在第二目标节点上部署服务,并为服务分配目标数量的资源实例。Optionally, the constraint further includes: allocating a target number of resource instances to the service on the second target node; and when the processor 801 deploys the service on the second target node, specifically: if the available resources on the second target node If the number of instances is smaller than the target quantity, execute: deleting the deployed service on the second target node and minimizing the number of allocated resource instances from the second target node until the number of available resource instances on the second target node is greater than the target number So far; deploy the service on the second target node and assign a target number of resource instances to the service.
可选地,处理器801将待部署的K个服务部署至M个节点之后,还用于:根据K个服务所分配的资源实例的数量,以及将待部署的K个服务部署至M个节点之后K个服务对应的用户访问量信息,获取K个服务对应的系统资源利用率;若确定系统资源利用率小于预设的资源利用率阈值,则重新部署K个服务。Optionally, after the processor 801 deploys the K services to be deployed to the M nodes, the processor 801 is further configured to: deploy the K services to be deployed to the M nodes according to the number of resource instances allocated by the K services. Then, the user access amount information corresponding to the K services is used to obtain the system resource utilization rate corresponding to the K services; if it is determined that the system resource utilization is less than the preset resource utilization threshold, the K services are redeployed.
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will appreciate that embodiments of the present application can be provided as a method, system, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device. Means for implementing the functions specified in one or more of the flow or in a block or blocks of the flow chart.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。The computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device. The apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device. The instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。It is apparent that those skilled in the art can make various modifications and variations to the embodiments of the present application without departing from the spirit and scope of the application. Thus, it is intended that the present invention cover the modifications and variations of the embodiments of the present invention.
上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。The instructions executed above provide steps for implementing the functions specified in one or more blocks of the flowchart or in a block or blocks of the flowchart.
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。 It is apparent that those skilled in the art can make various modifications and variations to the embodiments of the present application without departing from the spirit and scope of the application. Thus, it is intended that the present invention cover the modifications and variations of the embodiments of the present invention.

Claims (27)

  1. 一种边缘云架构下服务部署的方法,其特征在于,在将待部署的K个服务部署至M个节点时,针对待部署的K个服务中的每个服务,执行:A method for service deployment in an edge cloud architecture is characterized in that, when deploying K services to be deployed to M nodes, for each of the K services to be deployed, perform:
    根据历史日志信息,预估出N个区域中每个区域的用户对所述服务的访问量信息;所述N为大于等于1的整数;Obtaining, according to the historical log information, information about the amount of access of the user in each of the N areas to the service; the N is an integer greater than or equal to 1;
    针对所述M个节点中的每个节点,根据所述访问量信息确定出所述服务部署在所述节点后,所述N个区域的用户访问所述服务所需的总通信时延,得到M个总通信时延;Determining, for each of the M nodes, a total communication delay required for a user of the N areas to access the service after the service is deployed in the node according to the access information, M total communication delays;
    根据所述M个总通信时延,从所述M个节点中确定出所述服务应部署在的第一目标节点;Determining, from the M nodes, a first target node that the service should be deployed according to the M total communication delays;
    根据所述第一目标节点对应的可用资源实例数量,以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量;Determining, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, that the first target node should be allocated for the service The number of resource instances;
    将确定的所述第一目标节点上所述资源实例的数量对应的资源实例分配给所述服务;Allocating the determined resource instance corresponding to the quantity of the resource instances on the first target node to the service;
    所述K、M均为大于等于1的整数。The K and M are integers greater than or equal to 1.
  2. 如权利要求1所述的方法,其特征在于,针对所述M个节点中的每个节点,根据所述访问量信息确定出所述服务部署在所述节点后,所述N个区域的用户访问所述服务所需的总通信时延,得到M个总通信时延,包括:The method according to claim 1, wherein, for each of the M nodes, determining, according to the access amount information, that the service is deployed in the node, the users of the N areas The total communication delay required to access the service, resulting in M total communication delays, including:
    将所述M个节点中的每个节点分别作为当前节点,执行:Performing each of the M nodes as the current node, respectively, performs:
    根据所述访问量信息和所述当前节点的通信性能指标,确定出若所述服务部署在所述当前节点后,所述N个区域的用户访问所述服务的基本通信时延;Determining, according to the access information and the communication performance indicator of the current node, a basic communication delay of the user of the N areas accessing the service after the service is deployed in the current node;
    若确定所述服务当前所部署在的节点与所述当前节点不同,则确定出将所述服务从当前所部署在的节点迁移至所述当前节点的过程所对应的迁移通信时延;If it is determined that the node currently deployed by the service is different from the current node, determining a migration communication delay corresponding to a process of migrating the service from the currently deployed node to the current node;
    根据所述基本通信时延和所述迁移通信时延,确定出所述N个区域的用户访问所述服务所需的总通信时延。And determining, according to the basic communication delay and the migration communication delay, a total communication delay required for a user of the N areas to access the service.
  3. 如权利要求1或2所述的方法,其特征在于,根据所述第一目标节点对应的可用资源实例数量,以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量,包括:The method according to claim 1 or 2, wherein, according to the number of available resource instances corresponding to the first target node, and the information on the amount of access of the user of each of the N regions to the service, Determining the number of resource instances that the first target node should allocate for the service, including:
    根据所述服务的性能指标以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述服务对应的资源实例消耗量;Determining, according to the performance indicator of the service, the amount of access to the service by the user of each of the N areas, the resource instance consumption corresponding to the service;
    根据所述第一目标节点对应的可用资源实例数量,以及所述服务对应的资源实例消耗量,确定出所述第一目标节点能够并发处理所述服务的任务数量;Determining, according to the number of available resource instances corresponding to the first target node, and the resource instance consumption corresponding to the service, the number of tasks that the first target node can concurrently process the service;
    根据所述第一目标节点并发处理所述服务的任务数量,以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量。Determining that the first target node should be the service according to the number of tasks of the first target node concurrently processing the service, and the user access information of the service of each of the N areas The number of resource instances assigned.
  4. 如权利要求3所述的方法,其特征在于,根据所述第一目标节点并发处理所述服务的任务数量,以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量,包括:The method according to claim 3, wherein the number of tasks for processing the service concurrently according to the first target node, and the amount of access information of the user of each of the N regions to the service, Determining the number of resource instances that the first target node should allocate for the service, including:
    将所述N个区域中对所述服务的访问量信息最大的区域确定为目标区域; Determining, as the target area, an area in the N areas that has the largest amount of access information of the service;
    确定若所述服务部署在所述第一目标节点上时,所述目标区域的用户对所述服务的理想访问量信息;Determining an ideal amount of visitor information of the user of the target area to the service if the service is deployed on the first target node;
    根据所述目标区域的用户对所述服务的访问量信息、所述第一目标节点并发处理所述服务的任务数量,以及所述目标区域的用户对所述服务的理想访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量。Determining, according to the information about the access of the service by the user of the target area, the number of tasks of the first target node concurrently processing the service, and the ideal visitor information of the user of the target area to the service The number of resource instances that the first target node should allocate for the service.
  5. 如权利要求4所述的方法,其特征在于,确定若所述服务部署在所述第一目标节点上时,所述目标区域的用户对所述服务的理想访问量信息,包括:The method of claim 4, wherein determining the ideal amount of access information of the user of the target area to the service when the service is deployed on the first target node comprises:
    确定若所述服务部署在所述第一目标节点上时,根据所述目标区域内的目标用户访问所述服务的访问量信息,得到所述目标区域的用户对所述服务的理想访问量信息;Determining, if the service is deployed on the first target node, obtaining the ideal visitor information of the user of the target area according to the access quantity information of the target user in the target area. ;
    其中,针对所述目标区域中的每个用户,若该用户所在的位置与所述第一目标节点的位置之间的距离在预设距离范围内,则确定该用户为目标用户。Wherein, for each user in the target area, if the distance between the location where the user is located and the location of the first target node is within a preset distance range, the user is determined to be the target user.
  6. 如权利要求4或5所述的方法,其特征在于,根据所述目标区域的用户对所述服务的访问量信息、所述第一目标节点并发处理所述服务的任务数量,以及所述目标区域的用户对所述服务的理想访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量,包括:The method according to claim 4 or 5, wherein the amount of access to the service by the user of the target area, the number of tasks for processing the service by the first target node concurrently, and the target The ideal access information of the user of the area determines the number of resource instances that the first target node should allocate for the service, including:
    将所述目标区域的用户对所述服务的访问量信息、所述第一目标节点并发处理所述服务的任务数量和所述目标区域的用户对所述服务的理想访问量信息中的最小值确定为:所述第一目标节点应为所述服务分配的资源实例的数量。a minimum value of the user's access amount information for the service, the number of tasks for which the first target node concurrently processes the service, and the user's ideal access amount information for the service Determined as: the number of resource instances that the first target node should allocate for the service.
  7. 如权利要求1至6任一权利要求所述的方法,其特征在于,将确定的所述第一目标节点上所述资源实例的数量对应的资源实例分配给所述服务之后,还包括:The method according to any one of claims 1 to 6, wherein after the determined resource instance corresponding to the number of the resource instances on the first target node is allocated to the service, the method further includes:
    若存在所述服务对应的约束条件,且所述约束条件包括:将所述服务部署至所述M个节点中的第二目标节点,其中,所述第二目标节点与所述第一目标节点不同,则在所述第二目标节点上部署所述服务。If the constraint corresponding to the service exists, and the constraint includes: deploying the service to a second target node of the M nodes, where the second target node and the first target node Different, the service is deployed on the second target node.
  8. 如权利要求7所述的方法,其特征在于,所述约束条件还包括:在所述第二目标节点上为所述服务分配目标数量的资源实例;The method of claim 7, wherein the constraint further comprises: allocating a target number of resource instances to the service on the second target node;
    在所述第二目标节点上部署所述服务,包括:Deploying the service on the second target node includes:
    若所述第二目标节点上的可用资源实例数量小于所述目标数量,则执行:If the number of available resource instances on the second target node is less than the target number, execute:
    将所述第二目标节点上已部署的、且分配资源实例的数量最少的服务从所述第二目标节点上删除,直至所述第二目标节点上的可用资源实例数量大于所述目标数量为止;Deleting a service that has been deployed on the second target node and minimizing the number of allocated resource instances from the second target node until the number of available resource instances on the second target node is greater than the target number ;
    在所述第二目标节点上部署所述服务,并为所述服务分配所述目标数量的资源实例。Deploying the service on the second target node and allocating the target number of resource instances to the service.
  9. 如权利要求1至8任一权利要求所述的方法,其特征在于,将待部署的K个服务部署至M个节点之后,还包括:The method according to any one of claims 1 to 8, wherein after the K services to be deployed are deployed to the M nodes, the method further includes:
    根据所述K个服务所分配的资源实例的数量,以及将待部署的K个服务部署至M个节点之后所述K个服务对应的用户访问量信息,获取所述K个服务对应的系统资源利用率;Obtaining system resources corresponding to the K services according to the number of resource instances allocated by the K services, and the user access amount information corresponding to the K services after the K services to be deployed are deployed to the M nodes Utilization rate
    若确定所述系统资源利用率小于预设的资源利用率阈值,则重新部署所述K个服务。If it is determined that the system resource utilization is less than a preset resource utilization threshold, the K services are redeployed.
  10. 一种边缘云架构下的服务部署装置,其特征在于,包括存储器和处理器,其中:A service deployment device in an edge cloud architecture, comprising: a memory and a processor, wherein:
    存储器,用于存储计算机程序指令;a memory for storing computer program instructions;
    处理器,用于调用所述存储器存储的计算机程序指令,执行如下处理:a processor, configured to invoke the computer program instructions stored in the memory, to perform the following processing:
    在将待部署的K个服务部署至M个节点时,针对待部署的K个服务中的每个服务,执行:根据历史日志信息,预估出N个区域中每个区域的用户对所述服务的访问量信息; 所述N为大于等于1的整数;When the K services to be deployed are deployed to the M nodes, for each of the K services to be deployed, performing: estimating, according to the historical log information, the users of each of the N regions Service access information; The N is an integer greater than or equal to 1;
    针对所述M个节点中的每个节点,根据所述访问量信息确定出所述服务部署在所述节点后,所述N个区域的用户访问所述服务所需的总通信时延,得到M个总通信时延;Determining, for each of the M nodes, a total communication delay required for a user of the N areas to access the service after the service is deployed in the node according to the access information, M total communication delays;
    根据所述M个总通信时延,从所述M个节点中确定出所述服务应部署在的第一目标节点;Determining, from the M nodes, a first target node that the service should be deployed according to the M total communication delays;
    根据所述第一目标节点对应的可用资源实例数量,以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量;Determining, according to the number of available resource instances corresponding to the first target node, and the user access information of the service in each of the N regions, that the first target node should be allocated for the service The number of resource instances;
    将确定的所述第一目标节点上所述资源实例的数量对应的资源实例分配给所述服务;Allocating the determined resource instance corresponding to the quantity of the resource instances on the first target node to the service;
    所述K、M均为大于等于1的整数。The K and M are integers greater than or equal to 1.
  11. 如权利要求10所述的服务部署装置,其特征在于,所述处理器在针对所述M个节点中的每个节点,根据所述访问量信息确定出所述服务部署在所述节点后,所述N个区域的用户访问所述服务所需的总通信时延,得到M个总通信时延时,具体用于:The service deployment apparatus according to claim 10, wherein the processor determines, after each of the M nodes, that the service is deployed in the node according to the access amount information, The total communication delay required by the users of the N areas to access the service, and the M total communication time delays are obtained, specifically for:
    将所述M个节点中的每个节点分别作为当前节点,执行:Performing each of the M nodes as the current node, respectively, performs:
    根据所述访问量信息和所述当前节点的通信性能指标,确定出若所述服务部署在所述当前节点后,所述N个区域的用户访问所述服务的基本通信时延;Determining, according to the access information and the communication performance indicator of the current node, a basic communication delay of the user of the N areas accessing the service after the service is deployed in the current node;
    若确定所述服务当前所部署在的节点与所述当前节点不同,则确定出将所述服务从当前所部署在的节点迁移至所述当前节点的过程所对应的迁移通信时延;If it is determined that the node currently deployed by the service is different from the current node, determining a migration communication delay corresponding to a process of migrating the service from the currently deployed node to the current node;
    根据所述基本通信时延和所述迁移通信时延,确定出所述N个区域的用户访问所述服务所需的总通信时延。And determining, according to the basic communication delay and the migration communication delay, a total communication delay required for a user of the N areas to access the service.
  12. 如权利要求10或11所述的服务部署装置,其特征在于,所述处理器在根据所述第一目标节点对应的可用资源实例数量,以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量时,具体用于:The service deployment apparatus according to claim 10 or 11, wherein the processor is in accordance with the number of available resource instances corresponding to the first target node, and the user pair of each of the N areas The traffic information of the service, when determining the number of resource instances that the first target node should allocate for the service, specifically for:
    根据所述服务的性能指标以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述服务对应的资源实例消耗量;Determining, according to the performance indicator of the service, the amount of access to the service by the user of each of the N areas, the resource instance consumption corresponding to the service;
    根据所述第一目标节点对应的可用资源实例数量,以及所述服务对应的资源实例消耗量,确定出所述第一目标节点能够并发处理所述服务的任务数量;Determining, according to the number of available resource instances corresponding to the first target node, and the resource instance consumption corresponding to the service, the number of tasks that the first target node can concurrently process the service;
    根据所述第一目标节点并发处理所述服务的任务数量,以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量。Determining that the first target node should be the service according to the number of tasks of the first target node concurrently processing the service, and the user access information of the service of each of the N areas The number of resource instances assigned.
  13. 如权利要求12所述的服务部署装置,其特征在于,所述处理器在根据所述第一目标节点并发处理所述服务的任务数量,以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量时,具体用于:The service deployment apparatus according to claim 12, wherein said processor concurrently processes a number of tasks of said service according to said first target node, and a user pair of each of said N areas The traffic information of the service, when determining the number of resource instances that the first target node should allocate for the service, specifically for:
    将所述N个区域中对所述服务的访问量信息最大的区域确定为目标区域;Determining, as the target area, an area in the N areas that has the largest amount of access information of the service;
    确定若所述服务部署在所述第一目标节点上时,所述目标区域的用户对所述服务的理想访问量信息;Determining an ideal amount of visitor information of the user of the target area to the service if the service is deployed on the first target node;
    根据所述目标区域的用户对所述服务的访问量信息、所述第一目标节点并发处理所述服务的任务数量,以及所述目标区域的用户对所述服务的理想访问量信息,确定出所述第 一目标节点应为所述服务分配的资源实例的数量。Determining, according to the information about the access of the service by the user of the target area, the number of tasks of the first target node concurrently processing the service, and the ideal visitor information of the user of the target area to the service The first The number of resource instances that a target node should allocate for the service.
  14. 如权利要求13所述的服务部署装置,其特征在于,所述处理器在确定若所述服务部署在所述第一目标节点上时,所述目标区域的用户对所述服务的理想访问量信息时,具体用于:The service deployment apparatus according to claim 13, wherein said processor determines an ideal amount of access to said service by said user of said target area when said service is deployed on said first target node When information is used, it is specifically used to:
    确定若所述服务部署在所述第一目标节点上时,根据所述目标区域内的目标用户访问所述服务的访问量信息,得到所述目标区域的用户对所述服务的理想访问量信息;Determining, if the service is deployed on the first target node, obtaining the ideal visitor information of the user of the target area according to the access quantity information of the target user in the target area. ;
    其中,针对所述目标区域中的每个用户,若该用户所在的位置与所述第一目标节点的位置之间的距离在预设距离范围内,则确定该用户为目标用户。Wherein, for each user in the target area, if the distance between the location where the user is located and the location of the first target node is within a preset distance range, the user is determined to be the target user.
  15. 如权利要求13或14所述的服务部署装置,其特征在于,所述处理器在根据所述目标区域的用户对所述服务的访问量信息、所述第一目标节点并发处理所述服务的任务数量,以及所述目标区域的用户对所述服务的理想访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量时,具体用于:The service deployment apparatus according to claim 13 or 14, wherein the processor concurrently processes the service according to the access amount information of the user of the target area to the first target node The number of tasks, and the ideal amount of access information of the user of the target area to the service, when determining the number of resource instances that the first target node should allocate for the service, specifically for:
    将所述目标区域的用户对所述服务的访问量信息、所述第一目标节点并发处理所述服务的任务数量和所述目标区域的用户对所述服务的理想访问量信息中的最小值确定为:所述第一目标节点应为所述服务分配的资源实例的数量。a minimum value of the user's access amount information for the service, the number of tasks for which the first target node concurrently processes the service, and the user's ideal access amount information for the service Determined as: the number of resource instances that the first target node should allocate for the service.
  16. 如权利要求10至15任一权利要求所述的服务部署装置,其特征在于,所述处理器将确定的所述第一目标节点上所述资源实例的数量对应的资源实例分配给所述服务之后,还用于:The service deployment apparatus according to any one of claims 10 to 15, wherein the processor allocates the determined resource instance corresponding to the number of resource instances on the first target node to the service Later, it is also used to:
    若存在所述服务对应的约束条件,且所述约束条件包括:将所述服务部署至所述M个节点中的第二目标节点,其中,所述第二目标节点与所述第一目标节点不同,则在所述第二目标节点上部署所述服务。If the constraint corresponding to the service exists, and the constraint includes: deploying the service to a second target node of the M nodes, where the second target node and the first target node Different, the service is deployed on the second target node.
  17. 如权利要求16所述的服务部署装置,其特征在于,所述约束条件还包括:在所述第二目标节点上为所述服务分配目标数量的资源实例;The service deployment apparatus according to claim 16, wherein the constraint further comprises: allocating a target number of resource instances to the service on the second target node;
    所述处理器在所述第二目标节点上部署所述服务时,具体用于:When the processor deploys the service on the second target node, specifically:
    若所述第二目标节点上的可用资源实例数量小于所述目标数量,则执行:If the number of available resource instances on the second target node is less than the target number, execute:
    将所述第二目标节点上已部署的、且分配资源实例的数量最少的服务从所述第二目标节点上删除,直至所述第二目标节点上的可用资源实例数量大于所述目标数量为止;Deleting a service that has been deployed on the second target node and minimizing the number of allocated resource instances from the second target node until the number of available resource instances on the second target node is greater than the target number ;
    在所述第二目标节点上部署所述服务,并为所述服务分配所述目标数量的资源实例。Deploying the service on the second target node and allocating the target number of resource instances to the service.
  18. 如权利要求10至17任一权利要求所述的服务部署装置,其特征在于,所述处理器将待部署的K个服务部署至M个节点之后,还用于:The service deployment device according to any one of claims 10 to 17, wherein after the processor deploys the K services to be deployed to the M nodes, the processor is further configured to:
    根据所述K个服务所分配的资源实例的数量,以及将待部署的K个服务部署至M个节点之后所述K个服务对应的用户访问量信息,获取所述K个服务对应的系统资源利用率;Obtaining system resources corresponding to the K services according to the number of resource instances allocated by the K services, and the user access amount information corresponding to the K services after the K services to be deployed are deployed to the M nodes Utilization rate
    若确定所述系统资源利用率小于预设的资源利用率阈值,则重新部署所述K个服务。If it is determined that the system resource utilization is less than a preset resource utilization threshold, the K services are redeployed.
  19. 一种边缘云架构下的服务部署装置,其特征在于,包括:A service deployment device in an edge cloud architecture, comprising:
    负载分析模块,用于在将待部署的K个服务部署至M个节点时,针对待部署的K个服务中的每个服务,根据历史日志信息,预估出N个区域中每个区域的用户对所述服务的访问量信息;所述N为大于等于1的整数;针对所述M个节点中的每个节点,根据所述访问量信息确定出所述服务部署在所述节点后所述N个区域的用户访问所述服务所需的总通信时延,得到M个总通信时延;The load analysis module is configured to estimate, for each service of the K services to be deployed, each of the N regions according to the historical log information when the K services to be deployed are deployed to the M nodes. User access information to the service; the N is an integer greater than or equal to 1; for each of the M nodes, determining, according to the access amount information, that the service is deployed after the node Describe the total communication delay required by the users of the N areas to access the service, and obtain M total communication delays;
    部署决策模块,用于根据所述M个总通信时延,从所述M个节点中确定出所述服务 应部署在的第一目标节点;根据所述第一目标节点对应的可用资源实例数量,以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量;将确定的所述第一目标节点上所述资源实例的数量对应的资源实例分配给所述服务;a deployment decision module, configured to determine the service from the M nodes according to the M total communication delays a first target node to be deployed; determining the first according to the number of available resource instances corresponding to the first target node, and the amount of access information of the user of each of the N regions to the service The number of resource instances that the target node should allocate for the service; and the determined resource instance corresponding to the number of the resource instances on the first target node is allocated to the service;
    所述K、M均为大于等于1的整数。The K and M are integers greater than or equal to 1.
  20. 如权利要求19所述的服务部署装置,其特征在于,所述负载分析模块在针对所述M个节点中的每个节点,根据所述访问量信息确定出所述服务部署在所述节点后,所述N个区域的用户访问所述服务所需的总通信时延,得到M个总通信时延时,具体用于:The service deployment apparatus according to claim 19, wherein the load analysis module determines, after each of the M nodes, that the service is deployed after the node according to the visitor information. The total communication delay required by the users of the N areas to access the service, and the M total communication time delays are obtained, specifically for:
    将所述M个节点中的每个节点分别作为当前节点,执行:Performing each of the M nodes as the current node, respectively, performs:
    根据所述访问量信息和所述当前节点的通信性能指标,确定出若所述服务部署在所述当前节点后,所述N个区域的用户访问所述服务的基本通信时延;Determining, according to the access information and the communication performance indicator of the current node, a basic communication delay of the user of the N areas accessing the service after the service is deployed in the current node;
    若确定所述服务当前所部署在的节点与所述当前节点不同,则确定出将所述服务从当前所部署在的节点迁移至所述当前节点的过程所对应的迁移通信时延;If it is determined that the node currently deployed by the service is different from the current node, determining a migration communication delay corresponding to a process of migrating the service from the currently deployed node to the current node;
    根据所述基本通信时延和所述迁移通信时延,确定出所述N个区域的用户访问所述服务所需的总通信时延。And determining, according to the basic communication delay and the migration communication delay, a total communication delay required for a user of the N areas to access the service.
  21. 如权利要求19或20所述的服务部署装置,其特征在于,所述部署决策模块在根据所述第一目标节点对应的可用资源实例数量,以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量时,具体用于:The service deployment device according to claim 19 or 20, wherein the deployment decision module is in accordance with the number of available resource instances corresponding to the first target node, and the user pair of each of the N regions The traffic information of the service, when determining the number of resource instances that the first target node should allocate for the service, is specifically used to:
    根据所述服务的性能指标以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述服务对应的资源实例消耗量;Determining, according to the performance indicator of the service, the amount of access to the service by the user of each of the N areas, the resource instance consumption corresponding to the service;
    根据所述第一目标节点对应的可用资源实例数量,以及所述服务对应的资源实例消耗量,确定出所述第一目标节点能够并发处理所述服务的任务数量;Determining, according to the number of available resource instances corresponding to the first target node, and the resource instance consumption corresponding to the service, the number of tasks that the first target node can concurrently process the service;
    根据所述第一目标节点并发处理所述服务的任务数量,以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量。Determining that the first target node should be the service according to the number of tasks of the first target node concurrently processing the service, and the user access information of the service of each of the N areas The number of resource instances assigned.
  22. 如权利要求21所述的服务部署装置,其特征在于,所述部署决策模块在根据所述第一目标节点并发处理所述服务的任务数量,以及所述N个区域中每个区域的用户对所述服务的访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量时,具体用于:The service deployment apparatus according to claim 21, wherein said deployment decision module concurrently processes the number of tasks of said service according to said first target node, and user pairs of each of said N areas The traffic information of the service, when determining the number of resource instances that the first target node should allocate for the service, is specifically used to:
    将所述N个区域中对所述服务的访问量信息最大的区域确定为目标区域;Determining, as the target area, an area in the N areas that has the largest amount of access information of the service;
    确定若所述服务部署在所述第一目标节点上时,所述目标区域的用户对所述服务的理想访问量信息;Determining an ideal amount of visitor information of the user of the target area to the service if the service is deployed on the first target node;
    根据所述目标区域的用户对所述服务的访问量信息、所述第一目标节点并发处理所述服务的任务数量,以及所述目标区域的用户对所述服务的理想访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量。Determining, according to the information about the access of the service by the user of the target area, the number of tasks of the first target node concurrently processing the service, and the ideal visitor information of the user of the target area to the service The number of resource instances that the first target node should allocate for the service.
  23. 如权利要求22所述的服务部署装置,其特征在于,所述部署决策模块在确定若所述服务部署在所述第一目标节点上时,所述目标区域的用户对所述服务的理想访问量信息时,具体用于:The service deployment apparatus according to claim 22, wherein said deployment decision module determines that said user of said target area has an ideal access to said service when said service is deployed on said first target node When the amount information is used, it is specifically used to:
    确定若所述服务部署在所述第一目标节点上时,根据所述目标区域内的目标用户访问 所述服务的访问量信息,得到所述目标区域的用户对所述服务的理想访问量信息;Determining, if the service is deployed on the first target node, according to target user access in the target area The traffic information of the service obtains ideal visitor information of the user in the target area to the service;
    其中,针对所述目标区域中的每个用户,若该用户所在的位置与所述第一目标节点的位置之间的距离在预设距离范围内,则确定该用户为目标用户。Wherein, for each user in the target area, if the distance between the location where the user is located and the location of the first target node is within a preset distance range, the user is determined to be the target user.
  24. 如权利要求22或23所述的服务部署装置,其特征在于,所述部署决策模块在根据所述目标区域的用户对所述服务的访问量信息、所述第一目标节点并发处理所述服务的任务数量,以及所述目标区域的用户对所述服务的理想访问量信息,确定出所述第一目标节点应为所述服务分配的资源实例的数量时,具体用于:The service deployment apparatus according to claim 22 or 23, wherein the deployment decision module concurrently processes the service according to the user's access amount information of the service in the target area and the first target node The number of tasks, and the ideal amount of access information of the user of the target area to the service, when determining the number of resource instances that the first target node should allocate for the service, specifically for:
    将所述目标区域的用户对所述服务的访问量信息、所述第一目标节点并发处理所述服务的任务数量和所述目标区域的用户对所述服务的理想访问量信息中的最小值确定为:所述第一目标节点应为所述服务分配的资源实例的数量。a minimum value of the user's access amount information for the service, the number of tasks for which the first target node concurrently processes the service, and the user's ideal access amount information for the service Determined as: the number of resource instances that the first target node should allocate for the service.
  25. 如权利要求19至24任一权利要求所述的服务部署装置,其特征在于,所述部署决策模块将确定的所述第一目标节点上所述资源实例的数量对应的资源实例分配给所述服务之后,还用于:The service deployment apparatus according to any one of claims 19 to 24, wherein the deployment decision module allocates the determined resource instance corresponding to the number of resource instances on the first target node to the After the service, it is also used to:
    若存在所述服务对应的约束条件,且所述约束条件包括:将所述服务部署至所述M个节点中的第二目标节点,其中,所述第二目标节点与所述第一目标节点不同,则在所述第二目标节点上部署所述服务。If the constraint corresponding to the service exists, and the constraint includes: deploying the service to a second target node of the M nodes, where the second target node and the first target node Different, the service is deployed on the second target node.
  26. 如权利要求25所述的服务部署装置,其特征在于,所述约束条件还包括:在所述第二目标节点上为所述服务分配目标数量的资源实例;The service deployment apparatus according to claim 25, wherein the constraint further comprises: allocating a target number of resource instances to the service on the second target node;
    所述部署决策模块在所述第二目标节点上部署所述服务时,具体用于:When the deployment decision module deploys the service on the second target node, specifically:
    若所述第二目标节点上的可用资源实例数量小于所述目标数量,则执行:If the number of available resource instances on the second target node is less than the target number, execute:
    将所述第二目标节点上已部署的、且分配资源实例的数量最少的服务从所述第二目标节点上删除,直至所述第二目标节点上的可用资源实例数量大于所述目标数量为止;Deleting a service that has been deployed on the second target node and minimizing the number of allocated resource instances from the second target node until the number of available resource instances on the second target node is greater than the target number ;
    在所述第二目标节点上部署所述服务,并为所述服务分配所述目标数量的资源实例。Deploying the service on the second target node and allocating the target number of resource instances to the service.
  27. 如权利要求19至26任一权利要求所述的服务部署装置,其特征在于,所述部署决策模块将待部署的K个服务部署至M个节点之后,还用于:The service deployment device according to any one of claims 19 to 26, wherein the deployment decision module deploys the K services to be deployed to the M nodes, and is further configured to:
    根据所述K个服务所分配的资源实例的数量,以及将待部署的K个服务部署至M个节点之后所述K个服务对应的用户访问量信息,获取所述K个服务对应的系统资源利用率;Obtaining system resources corresponding to the K services according to the number of resource instances allocated by the K services, and the user access amount information corresponding to the K services after the K services to be deployed are deployed to the M nodes Utilization rate
    若确定所述系统资源利用率小于预设的资源利用率阈值,则重新部署所述K个服务。 If it is determined that the system resource utilization is less than a preset resource utilization threshold, the K services are redeployed.
PCT/CN2017/077510 2017-03-21 2017-03-21 Method and device for service deployment under edge cloud architecture WO2018170732A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/077510 WO2018170732A1 (en) 2017-03-21 2017-03-21 Method and device for service deployment under edge cloud architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/077510 WO2018170732A1 (en) 2017-03-21 2017-03-21 Method and device for service deployment under edge cloud architecture

Publications (1)

Publication Number Publication Date
WO2018170732A1 true WO2018170732A1 (en) 2018-09-27

Family

ID=63584851

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/077510 WO2018170732A1 (en) 2017-03-21 2017-03-21 Method and device for service deployment under edge cloud architecture

Country Status (1)

Country Link
WO (1) WO2018170732A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110138876A (en) * 2019-05-30 2019-08-16 北京达佳互联信息技术有限公司 Task deployment method, apparatus, equipment and platform
CN111381957A (en) * 2018-12-29 2020-07-07 上海哔哩哔哩科技有限公司 Service instance fine scheduling method and system for distributed platform
CN113301078A (en) * 2020-05-22 2021-08-24 阿里巴巴集团控股有限公司 Network system, service deployment and network division method, device and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223398A (en) * 2011-05-30 2011-10-19 兰雨晴 Method for deploying services in cloud computing environment
CN102801792A (en) * 2012-07-26 2012-11-28 华南理工大学 Statistical-prediction-based automatic cloud CDN (Content Delivery Network) resource automatic deployment method
CN102904969A (en) * 2012-11-13 2013-01-30 中国电子科技集团公司第二十八研究所 Method for arranging information processing service in distributed cloud computing environment
CN103516792A (en) * 2013-09-16 2014-01-15 合肥工业大学 Data deploying method based on network delay, network transmission energy consumption and server energy consumption
CN103945396A (en) * 2014-03-27 2014-07-23 电子科技大学 Method for selecting cloud computing service node in underdeveloped network environment
US20160323374A1 (en) * 2015-04-29 2016-11-03 Microsoft Technology Licensing, Llc Optimal Allocation of Dynamic Cloud Computing Platform Resources
CN106254408A (en) * 2015-06-12 2016-12-21 财团法人工业技术研究院 Control method, network system and service platform for mobile edge calculation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223398A (en) * 2011-05-30 2011-10-19 兰雨晴 Method for deploying services in cloud computing environment
CN102801792A (en) * 2012-07-26 2012-11-28 华南理工大学 Statistical-prediction-based automatic cloud CDN (Content Delivery Network) resource automatic deployment method
CN102904969A (en) * 2012-11-13 2013-01-30 中国电子科技集团公司第二十八研究所 Method for arranging information processing service in distributed cloud computing environment
CN103516792A (en) * 2013-09-16 2014-01-15 合肥工业大学 Data deploying method based on network delay, network transmission energy consumption and server energy consumption
CN103945396A (en) * 2014-03-27 2014-07-23 电子科技大学 Method for selecting cloud computing service node in underdeveloped network environment
US20160323374A1 (en) * 2015-04-29 2016-11-03 Microsoft Technology Licensing, Llc Optimal Allocation of Dynamic Cloud Computing Platform Resources
CN106254408A (en) * 2015-06-12 2016-12-21 财团法人工业技术研究院 Control method, network system and service platform for mobile edge calculation

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381957A (en) * 2018-12-29 2020-07-07 上海哔哩哔哩科技有限公司 Service instance fine scheduling method and system for distributed platform
CN111381957B (en) * 2018-12-29 2023-09-12 上海哔哩哔哩科技有限公司 Service instance refined scheduling method and system for distributed platform
CN110138876A (en) * 2019-05-30 2019-08-16 北京达佳互联信息技术有限公司 Task deployment method, apparatus, equipment and platform
CN110138876B (en) * 2019-05-30 2022-07-08 北京达佳互联信息技术有限公司 Task deployment method, device, equipment and platform
CN113301078A (en) * 2020-05-22 2021-08-24 阿里巴巴集团控股有限公司 Network system, service deployment and network division method, device and storage medium
CN113301078B (en) * 2020-05-22 2022-05-06 阿里巴巴集团控股有限公司 Network system, service deployment and network division method, device and storage medium

Similar Documents

Publication Publication Date Title
Hieu et al. Virtual machine consolidation with multiple usage prediction for energy-efficient cloud data centers
CN112153700B (en) Network slice resource management method and equipment
Piao et al. A network-aware virtual machine placement and migration approach in cloud computing
CN108337109B (en) Resource allocation method and device and resource allocation system
CN110463140B (en) Network service level agreement for computer data center
US9929918B2 (en) Profile-based SLA guarantees under workload migration in a distributed cloud
CN110383764B (en) System and method for processing events using historical data in a serverless system
EP3281359B1 (en) Application driven and adaptive unified resource management for data centers with multi-resource schedulable unit (mrsu)
US10993127B2 (en) Network slice instance management method, apparatus, and system
CN108132827B (en) Network slice resource mapping method, related equipment and system
CN107291536B (en) Application task flow scheduling method in cloud computing environment
CN107070709B (en) NFV (network function virtualization) implementation method based on bottom NUMA (non uniform memory Access) perception
CN108512672B (en) Service arranging method, service management method and device
JP2018525743A (en) Load balancing method and apparatus
WO2018170732A1 (en) Method and device for service deployment under edge cloud architecture
EP3274859B1 (en) Cluster computing service assurance apparatus and method
CN111666131A (en) Load balancing distribution method and device, computer equipment and storage medium
US20220329651A1 (en) Apparatus for container orchestration in geographically distributed multi-cloud environment and method using the same
WO2013082742A1 (en) Resource scheduling method, device and system
US9164800B2 (en) Optimizing latencies in cloud systems by intelligent compute node placement
Nie et al. Energy-aware multi-dimensional resource allocation algorithm in cloud data center
Chen et al. Latency minimization for mobile edge computing networks
US11838389B2 (en) Service deployment method and scheduling apparatus
Pandya et al. Dynamic resource allocation techniques in cloud computing
Mershad et al. A study of the performance of a cloud datacenter server

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17902490

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17902490

Country of ref document: EP

Kind code of ref document: A1