CPC G06F 9/5072 (2013.01) [G06F 9/4881 (2013.01); G06F 9/5038 (2013.01)] | 7 Claims |
1. An optimization method for large-scale cloud service processes, comprising steps of:
S1) randomly allocating a plurality of execution plans to a plurality of parallel nodes, to allow each parallel node to be allocated with a subset of the plurality of execution plans;
S2) performing, by each parallel node, a local iteration in parallel to process the execution plans inside the parallel node, wherein
during each local iteration, the parallel node first processes the execution plans inside the parallel node by using a discrete monarch butterfly optimization (DMBO) algorithm to obtain new execution plans, then repairs the new execution plans by using a dependency-conflict repair algorithm to obtain repaired execution plans, then evaluates the repaired execution plans by using a utility function, and filters the repaired execution plans according to evaluation results;
S3) gathering together the filtered, repaired execution plans obtained after the local iterations in all the parallel nodes are completed;
S4) determining whether a global iteration stop condition is satisfied, wherein if yes, the execution plans obtained in step S3) are final optimal execution plans, and the final optimal execution plans are directly outputted, or if not, step S5) is performed; and
S5) reallocating the gathered execution plans obtained in step S3) to the plurality of parallel nodes, and then performing steps S2) to S4) again,
wherein
a service correlation constraint comprises a service dependency constraint and a service conflict constraint;
a service with the service correlation constraints categorized into a pre-service and a post-service;
the service dependency constraint is defined as: the post-service is selected only after the pre-service is selected, and the service dependency constraint exists between the pre-service and the post-service;
the service conflict constraint is defined as: the post-service and the pre-service are only selected alternatively, and the service conflict constraint exists between the pre-service and the post-service; and
a method for repairing the obtained new execution plans by using a dependency-conflict repair algorithm to obtain repaired execution plans in step S2) comprises:
examining service correlation constraints involved in the new execution plans one by one, wherein during each examination, it is first determined whether the service correlation constraint is valid, and if yes, a pre-service in the service correlation constraint is added with a “mandatory” label to a dependency-conflict table to represent that the pre-service must exist in an execution plan, and a next examination is performed, or if not, a current execution plan is repaired to make the repaired execution plan both satisfy a requirement of the dependency-conflict table and obey the service correlation constraint; and
wherein
during each examination, the service correlation constraint in the current examination is invalid, and the current execution plan is repaired by a step of: repairing the current execution plan by using a local replacement method.
|