WO2017092505A1 - 云计算环境下虚拟资源弹性伸展的方法,系统和设备 - Google Patents

云计算环境下虚拟资源弹性伸展的方法,系统和设备 Download PDF

Info

Publication number
WO2017092505A1
WO2017092505A1 PCT/CN2016/101576 CN2016101576W WO2017092505A1 WO 2017092505 A1 WO2017092505 A1 WO 2017092505A1 CN 2016101576 W CN2016101576 W CN 2016101576W WO 2017092505 A1 WO2017092505 A1 WO 2017092505A1
Authority
WO
WIPO (PCT)
Prior art keywords
execution device
routing table
record
data routing
execution
Prior art date
Application number
PCT/CN2016/101576
Other languages
English (en)
French (fr)
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 EP16869816.5A priority Critical patent/EP3337139B1/en
Publication of WO2017092505A1 publication Critical patent/WO2017092505A1/zh
Priority to US15/949,753 priority patent/US20180234493A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Definitions

  • the present application relates to the field of cloud computing technologies, and in particular, to a virtual resource elastic extension technology in a cloud computing environment.
  • resources can be configured according to the needs of the service. For example, when the traffic volume increases, the service (usually a virtual machine) can be added to ensure the normal processing of the service. When the traffic is reduced, the resources can be reduced. Service business, which can improve the effective use of resources. Further, the system capacity can be dynamically divided according to the traffic volume to reduce the hardware cost required to maintain the service operation.
  • the technology is an elastic scaling technology. The elastic scaling technology can be used to improve fault tolerance and availability. When the service status is poor, new elastic instances are used to replace the bad nodes.
  • the basic process of elastic stretching includes the following: When the actual load of the system reaches a certain threshold (for example, the node average CPU is >60%), the node needs to be extended to support the accessed service. Then allocate new node system capacity resources according to needs, configure the software on the new node, start the service on the new node, copy part of the service data to the new node, and access the new node, so that the new node can provide external services.
  • a certain threshold for example, the node average CPU is >60%
  • the extension when the system capacity resources are allocated as needed, the extension generally takes a long time: a new virtual machine environment and a configuration application need to be set up. Because the virtual machine environment and application configuration take more time, the extended new nodes cannot provide external services in a timely manner.
  • the embodiment of the present application provides a method, a system, and a device for elastic stretching to quickly extend a new node, so that the newly added node provides services in time.
  • an embodiment of the present invention provides a method for elastic stretching, the method comprising: a management device starting a first execution device, assigning an Internet Protocol IP address to the first execution device; and the cloud management device
  • the IP address is sent to the load balancer, and the extension notification is sent to the first execution device;
  • the first execution device receives the service request sent by the load balancer according to the IP address of the first execution device, parses the service request, and Executing the business process corresponding to the service request, that is, in the virtual resource stretching process, the executing device has started to process the service request sent by the load balancer; the first executing device receives the extension notification to obtain the extended data route.
  • a first execution device sends a record relocation request carrying the extended data routing table to the cloud management device; the cloud management device receives the record relocation request, and sends the record relocation request to another execution device; Then, the cloud management device receives the record relocation of the first execution device and the other execution device successfully.
  • the cloud management device After the cloud management device allocates the IP address to the first execution device, before the execution device updates the activated data routing table to the latest data routing table, the cloud management device has notified the load balancer of the IP of the newly added execution device.
  • the address the load balancer can allocate a service request to the newly-executed device, so that the newly-executed device can process the service request before the full extension is successful, and can implement the second-level scaling.
  • the method further includes: when the business process needs to invoke a certain type of data module to process part of the logic in the business process, assigning the certain type according to the pre-stretch data routing table
  • the data module processes some of the logic in the business process. Therefore, before the data routing table is updated, the executing device needs to call the data module to process part of the logic in the business process when receiving the service request, and the partial data in the business process may be processed according to the data routing table before the stretching.
  • the service request can still be processed during the stretching process, thus achieving a rapid elastic stretch and further saving the elastic extension time of the execution device.
  • the execution device can be made to quickly process the service request of the external network.
  • the active data routing table is changed from the pre-stretch data routing table.
  • the method further includes: receiving a service request allocated by the load balancer, parsing the service request, and executing a service process corresponding to the service request; when the service process needs to invoke a certain type of data
  • the data module of the certain type is allocated to process part of the logic in the business process according to the extended data routing table.
  • the new execution device can process the service according to the normal execution device.
  • the method before receiving the routing table update notification sent by the cloud management device, the method further includes: receiving, by another execution device, a record corresponding to the relocation index number, where the relocation index number is The execution device identifier corresponding to the data routing table before the relocation is different from the execution device identifier corresponding to the data routing table after the relocation, and the record includes a lock record, a queue record or a resource allocation record.
  • the method further includes: receiving, by the other execution device, an incremental record corresponding to the relocation index number, where the incremental record is And the other execution device records the record generated after the receiving the other execution device sends the record corresponding to the relocation index number and before receiving the routing table update notification sent by the cloud management device.
  • other execution devices can not only process the service request of the external network, but also send the incremental record corresponding to the relocation index number to the newly added execution device, so that the consistency of the record can be ensured.
  • the data module of the executing device refuses to process part of the logic in the business process.
  • the execution device does not process part of the logic in the business process during the incremental recording corresponding to the sending of the relocation index number by the other execution device.
  • an embodiment of the present application provides a method for elastic stretching, the method comprising: when the pre-stretching condition is satisfied, starting an execution device, and assigning an interconnection protocol IP address between the networks to the execution device; the execution device here is new The device is executed; when the formal extension condition is met, the IP address of the execution device is sent to the load balancer, and the load balancer can allocate the IP address of the new execution device to the execution device according to the load balancing algorithm.
  • Business request send to the execution device After the extension notification is sent, the execution device receives the extension notification, and then knows that the current extension is officially started, so the record relocation request is initiated according to the extension notification.
  • the management device receives the record relocation request sent by the execution device and carries the extended data routing table, and sends the record relocation request to the execution device other than the execution device, so that the execution device other than the execution device knows the time
  • the record relocation is required, and the record that needs to be relocated is sent to the execution device; the record relocation success response of all the execution devices except the new execution device is received, and the routing table update notification is sent to all the execution devices, so as to facilitate All execution devices change the activated data routing table from the pre-stretch data routing table to the extended data routing table.
  • the cloud management device sends the extension notification to the newly added execution device, the IP address of the execution device is also sent to the load balancer, so that the execution device can receive and process the load balancer before the extension is successful.
  • the service request is allocated, so that the flexible extension time of the execution device can be greatly saved, and the execution device can quickly process the service request of the external network.
  • the booting execution device specifically includes: creating a virtual machine environment, installing an operating system, starting an application, and a data module. Since the cloud management device has already set up a virtual machine environment, installs the operating system and applications and data modules, and launches the application and data modules before the formal extension, the execution device is already in standby, so the stretching begins. The elastic stretch can be achieved quickly, thus further saving the elastic extension time of the actuator.
  • the embodiment of the present invention provides a cloud management device, which has the function of implementing the behavior of the cloud management device in the actual method.
  • the functions may be implemented by hardware or by corresponding software implemented by hardware.
  • the hardware or software includes one or more modules corresponding to the functions described above.
  • an embodiment of the present invention provides an elastic stretching system, which includes the cloud management device and the execution device described in the above aspects.
  • an embodiment of the present invention provides a computer storage medium for storing computer software instructions used by the cloud management device, which includes a program for performing the above aspects.
  • an embodiment of the present invention provides a computer storage medium for storing computer software instructions for use in the execution device, including a program for performing the above aspects.
  • the solution provided by the present invention can realize rapid elastic extension of the execution device, and enables the execution device to quickly process the service request of the external network.
  • FIG. 1 is a schematic diagram of a possible elastically extended system frame system according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a system according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a system according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a computer device according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a computer device according to an embodiment of the present invention.
  • FIG. 6 is a schematic flow chart of a method for elastic stretching according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a cloud management device according to an embodiment of the present invention.
  • the main principle of the present invention is: when the cloud management device is performing a new execution device (also referred to as a node), before the execution device has not been successfully extended, that is, when the data routing table of each execution device has not been updated,
  • the cloud management device sends the IP address of the new execution device to the load balancer, so that the new execution device can receive the service request allocated by the load balancer.
  • the execution device processes the service request, if the data module is required to process a certain process, the execution device allocates the data module according to the old data routing table. Therefore, the rapid elastic extension of the execution device is achieved, Enough to enable the execution device to quickly process the service request of the external network.
  • Elastic stretching can be performed in multiple modes, based on the manual manual stretching mode in which the operation and maintenance personnel manually decide and trigger the elastic contraction operation of the resource through the operation and maintenance device; based on the time period, the timing stretching mode of the elastic stretching operation is triggered periodically; the dynamic decision based on the performance monitoring performance index is dynamically determined. Whether the business performs the elastic stretched business dynamic stretching mode, and the hybrid mode that triggers elastic stretching based on multiple compound conditions such as time period and monitoring performance indicators.
  • KPIs key performance indicators
  • resource KPIs include CPU utilization, memory utilization, disk remaining, and network card-related KPI indicators.
  • Resource KPI indicators are predefined by the cloud system. , no configuration is required.
  • the business KPI includes KPI metrics defined according to business functions, for example, business processing average response time.
  • the service KPI indicator is defined by the operation and maintenance personnel through the cloud management device.
  • a simple flexible extension system framework diagram of the embodiment of the present invention includes: a cloud management device 101, one or more nodes 102, a load balancer (English full name software load balancer, abbreviated as SLB) 103, and External network 104.
  • the operation and maintenance personnel can start the collection task, configure the extension strategy, and manually trigger the elastic extension through the cloud management device, so that the operation and maintenance personnel can manage and control the extension process.
  • the cloud management device stores a flexible stretching strategy.
  • the elastic stretching strategy includes pre-stretching conditions and formal stretching conditions. The pre-stretching refers to the burden on each execution device managed by the cloud management device.
  • the cloud management device determines whether the current condition is full according to the resource extension policy.
  • the pre-stretching condition if it is satisfied, starts the new node and assigns an Internet Protocol (IP) address to the newly added node.
  • IP Internet Protocol
  • starting the new node includes creating a virtual machine environment, installing the operating system, starting the application and the data module;
  • the resource extension policy it is judged whether the current condition satisfies the formal extension condition, and if so, the IP address of the newly added node is sent to the SLB, so that the SLB can allocate the new node from the external according to the load balancing algorithm.
  • the service request of the network that is, the newly added node can provide external services in time.
  • the cloud management device also sends an extension notification to the newly added node, so that the newly added node can initiate a record relocation request to the existing node according to the extension notification.
  • the cloud management device receives the record relocation request sent by the newly added node and carries the extended data routing table, the record relocation request is sent to the existing node for record relocation, where the extended data routing table is not currently activated. Data routing table, each node will only allocate data modules according to the currently activated data routing table. After the record is successfully relocated, the record management success response is sent to the cloud management device.
  • the cloud management device When the cloud management device receives the record relocation success response of all existing nodes, it indicates that the current data has been successfully relocated, and sends a routing table update notification to all nodes that include the existing node and the newly added node, so that all nodes will activate the data.
  • the routing table is changed from the data routing table before stretching to the data routing table after stretching.
  • the data routing table contains the correspondence between the data module type, the index number and the execution device identifier.
  • the node processes the service request, if a certain type of data module needs to be called, the node can be found through the data routing table. Data module. Before and after the node is stretched, the content of the data routing table will change. That is to say, the data module found through the data routing table will also change.
  • the data routing table stored by each node needs to be updated.
  • the update time is after each node record is relocated.
  • a record will be made.
  • the virtual machine environment, operating system, various applications, and data modules are running on the nodes.
  • an application is mainly used to parse a service request of an external network, and execute a business process corresponding to the service request.
  • the application is an HTTP server software, and each node can start one or more applications, such as Application 1 and Application 2.
  • Each of the following nodes contains the same application, that is, the service request processed by each node, so the SLB can process the service request of the external network on any node.
  • Specific applications may include a message processing module, a message bus, and a business logic processing module.
  • the message processing module can process service requests of different message formats or protocols, for example, processing Initial Initiation Protocol (SIP) messages, Signaling System 7, SS7 signaling, or Diameter protocol messages. Capability, the business logic processing module can process the business logic triggered by the service request sent by the external network. There are many types of services, such as billing service, call processing service, and short message service, etc. .
  • the data module includes a lock module and a processing module, and the data module here is also referred to as a data service in some technical documents. Among them, the lock module provides lock services for some business processes. There are various types of locks. Some services are implemented by locking or unlocking resources, such as pre-transmission locks or call locks. The processing of the lock module will be further described in the following sections.
  • the processing module includes two functions of queuing processing and resource allocation processing.
  • Queuing service refers to queuing new business requests according to a certain priority policy when the business is busy. In general, this queuing service is used in the agent business scenario of the call center system.
  • the resource allocation service can coordinate the allocation of a plurality of services/calls to a common service/call resource. Apply resources before using public services/call resources, and release resources after the resources are used. If the resource is not available, you can wait or give up.
  • the data routing table is a table about a relationship between a data module type, an index number (index), and an execution device identifier (ID), that is, the data routing table includes a data module type, an index number, and a node ID. And the correspondence between them.
  • the index number calculation algorithm can be specifically a hash consistency algorithm.
  • each node also needs the same maintenance hash length.
  • the hash length is usually not allowed to be manually modified.
  • the The hash length is the number of virtual nodes of the consistent hash algorithm.
  • RMservice refers to the lock module
  • RMservice refers to the processing module:
  • the correspondence between the Index and the node ID can be freely set as needed, but the number of indexes corresponding to each node should be balanced.
  • the above has two real nodes, and the number of indexes is 53. Then one real node corresponds to 26 or 27 indexes, which can ensure that the number of indexes corresponding to each node is balanced.
  • index corresponds to node 1 and which index corresponds to node 2 this can be arbitrarily set, for example: index of the first 26 corresponding node 1, the last 27 corresponding node 2, or index is odd corresponding node 1, index is even Corresponding to node 2.
  • any corresponding 8 or 9 index correspondences of the node 1 can be changed to correspond to the node 3, or the sequence number corresponding to the node 1 can be The following eight or nine index correspondences are changed to correspond to the node 3.
  • the data routing table stored on each node is a data routing table before stretching, and the data routing table before the stretching is an activated data routing table, at any time, Only active data routing tables can be used to find data modules.
  • the application parses the service request, and executes the business process corresponding to the service request, when the business process needs to call a certain type of data module to process the part of the business process.
  • the business request is converted into a key (Key), and then the hash consistency algorithm, that is, the Key mod Hash length, is used to obtain the value of the index number, and then the value of the index is used to find the corresponding node. ID, so that it can be determined that the type of data module on the node corresponding to the node ID performs operation processing on the business process, such as locking or queuing.
  • the Key corresponding to the above service request may be 1 phone number, lock type + phone number, queue type + phone number, resource allocation + phone number, etc. If Key is a character string, it can be converted into an Int value.
  • a common scenario for using resource lock services is to identify duplicate master and called processes.
  • the calling party and the called party each trigger a service processing flow.
  • the charging process of the call needs to be locked.
  • the charging module needs to be locked by the lock module, so the data routing table is needed to find the lock module on a node to handle the locking.
  • the calling number and the called number are combined as the Key value, calculate the length of the key mod Hash, obtain the Index, and then find the corresponding node ID of the lock module by the index, and then the lock module pair of the node corresponding to the node ID.
  • the billing process is locked.
  • the lock module After the locking is successful, the lock module stores the lock record.
  • the lock includes the lock type ID, the resource ID, the process ID, and the lock status.
  • the lock type ID indicates the basic type of the lock, and the resource ID can be a phone number, etc.
  • the information, the type ID of the lock and the resource ID are combined to become the above Key.
  • Application receives a service After the request, a session is initiated, and a session ID is assigned to the session, and the process ID uniquely represents the session. It should be noted that each node only stores the lock record of its own node, and does not store the lock record of other nodes, so the lock record is not global data. In the call flow of the called party, an accounting process may also be triggered.
  • the data routing table is also used to find the lock module that processes the locking process. Therefore, the calling number and the called number are also used together as the Key value, the length of the key mod Hash is calculated, the Index is obtained, and then the index is found to find the corresponding node ID of the lock module, and then the lock module pair of the node corresponding to the node ID is The charging process is locked. Since the calling party call process and the value of the Key looking for the lock module in the called party call flow are the same, in the called party process, the same node is determined according to the routing table. Lock module. Therefore, the lock module first searches for the lock record according to the key value.
  • the lock record is finally found, which indicates that the lock module indicates that the lock record is recorded.
  • the lock module of the node has already locked the charging process, so the called party's call flow fails to be locked, and it also indicates that the delivered party triggers the same charging process to fail.
  • the processing module also stores the queued records and resource allocation records of its own nodes, and the queued records and resource allocation records also contain the key values used to calculate the routing table.
  • the queuing record records information about which keys are queued and queued for the processing module, and the resource allocation record records information about which keys are allocated by the processing module and which resources are allocated.
  • the lock record, the queue record, and the resource allocation record may further include the index value corresponding to each key, so that it is convenient to relocate the record later, and quickly determine which data needs to be moved.
  • the business logic may trigger one or more of a lock request, a queue request or a resource allocation request, and the business logic may not trigger the lock request. Any of a queued request or a resource allocation request. In other words, some business logic may only need to be processed by the application itself.
  • the node is a layer I resource device of the cloud computing. As shown in FIG. 1 , it is assumed that in the embodiment of the present invention, before the resource is extended, there are two nodes, namely node 1 and node 2, and when the resource extension is performed, the node is started. Node 3.
  • the new node receives the extension notification sent by the cloud management device, recalculates the data routing table before the extension is extended, and obtains the extended data route. Table, at this time, the extended data routing table is used to record the relocation. Then, the node 3 sends a record relocation request carrying the extended data routing table to the cloud management device, and after receiving the record relocation request, the cloud management device sends the record relocation request to all existing nodes (node 1 and node 2). When the records of all nodes are successfully relocated, the newly added node will receive the routing table update notification sent by the cloud management device, and then the newly added node will change the activated data routing table from the pre-stretch data routing table to the extended data routing table.
  • the newly added node Before the activated data routing table is changed from the pre-stretch data routing table to the extended data routing table, the newly added node can receive and process the service request allocated by the load balancer, but the newly added node is still according to the pre-stretching Data routing table, which allocates data modules for business requests. After the activated data routing table is changed from the pre-stretch data routing table to the extended data routing table, the newly added node can receive the service request allocated by the load balancer, but the newly added node will be based on the extended data routing table. Assign data modules to business requests.
  • the node 1 For an existing node, for example, node 1 or node 2, the node 1 is replaced by the existing node for description, and the node 1 receives the record relocation request sent by the cloud management device and carries the extended data routing table; After the data routing table and the pre-stretch data routing table, determine the data that needs to be relocated, and then send the data that needs to be relocated to the newly added node, and the newly added node saves the data that needs to be relocated, thereby providing data services. After all the data to be relocated is sent, the record management success response is sent to the cloud management device to notify the cloud management device that the node 1 has completed the record relocation.
  • node 1 compares the extended data routing table with the data routing table before stretching.
  • the node corresponding to index in the data module is represented by the extended data routing table and before stretching. Whether the data routing table is consistent. If the data is inconsistent, the indexes are correspondingly recorded as data that needs to be relocated, and the data to be relocated is sent to the newly added node, and the data includes the critical resource mapping information processed by the module, and the queue processing information. And resource allocation information; if the data stored in the data module does not include an index, the key value of each record in the data is calculated, an index number is obtained, and the extended data routing table and the pre-stretch data are compared.
  • the routing table indicates whether the data routing table after the stretching and the data routing table before the stretching are consistent. If they are inconsistent, the index numbers are correspondingly recorded as data that needs to be relocated. The data that needs to be relocated is sent to the newly added node.
  • the activated data routing table is changed from the pre-stretch data routing table to the extended data routing table; and the activated data routing table is routed from the pre-stretched data.
  • node 1 can also receive the service request allocated by the load balancer, and node 1 still allocates the data module for the service request according to the data routing table before stretching; in the data routing table to be activated After the data routing table before stretching is changed to the extended data routing table, node 1 receives the service request allocated by the load balancer, and then allocates a data module for the service request according to the extended data routing table.
  • the SLB is connected to one or more nodes, and the SLB is a load balancing distributor of the above one or more nodes.
  • the SLB uniformly receives the service request of the external network 104, and the SLB distributes the service request according to the load balancing policy.
  • a node in the process is processed.
  • the load balancing policy may be of various types. In the embodiment of the present invention, the polling algorithm is taken as an example for description.
  • the solution provided by the present invention can implement fast elastic extension of the execution device, enabling the execution device to quickly process the service request of the external network.
  • an elastic stretching system may include a cloud management device 201 and one or more execution devices 203.
  • the elastically stretched execution device is indicated by a broken line.
  • the system can be either a system before elastic stretching or a system with elastic stretching.
  • the execution device may be the existing node 1 or the node 2 in FIG. 1 or the new node 3 in FIG. 1 , which is not limited by the present invention.
  • another elastic extension system may include a cloud management device 301, a load balancer 305, and one or more execution devices 303.
  • the system can be either a system before elastic stretching or a system with elastic stretching.
  • the one or more execution devices 303 form an execution device cluster, or an execution device group or the like.
  • the execution device may be the existing node 1, or node 2 in FIG.
  • the new node 3 in FIG. 1 can also be used, and the present invention is not limited.
  • the cloud management devices 201, 301 of FIGS. 2 and 3 can be implemented in the manner of the computer device (or system) of FIG.
  • FIG. 4 is a schematic diagram of a computer device according to an embodiment of the present invention.
  • Computer device 400 includes at least one processor 401, a communication bus 402, a memory 403, and at least one communication interface 404.
  • the processor 401 can be a general purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present invention.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • Communication bus 402 can include a path for communicating information between the components described above.
  • the communication interface 404 uses devices such as any transceiver for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), and the like.
  • RAN Radio Access Network
  • WLAN Wireless Local Area Networks
  • the memory 403 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type that can store information and instructions.
  • the dynamic storage device can also be an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc Read-Only Memory (CD-ROM) or other optical disc storage, and a disc storage device. (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be Any other media accessed, but not limited to this.
  • the memory can exist independently and be connected to the processor via a bus.
  • the memory can also be integrated with the processor.
  • the memory 403 is used to store application code for executing the solution of the present invention, and is controlled by the processor 401 for execution.
  • the processor 401 is configured to execute an application code stored in the memory 403.
  • the processor 401 may include one or more CPUs, such as CPU0 and CPU1 in FIG.
  • computer device 400 can include multiple processors.
  • Each of these processors can be a single-CPU processor or a multi-core processor.
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data, such as computer program instructions.
  • computer device 400 may also include an output device 405 and an input device 406.
  • Output device 405 is in communication with processor 401 and can display information in a variety of ways.
  • the output device 405 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. Wait.
  • Input device 406 is in communication with processor 401 and can accept user input in a variety of ways.
  • input device 406 can be a mouse, keyboard, touch screen device, or sensing device, and the like.
  • the computer device 400 described above can be a general purpose computer device or a special purpose computer device.
  • the computer device 400 can be a desktop computer, a portable computer, a network server, a personal digital assistant (PDA), a mobile phone, a tablet, a wireless terminal device, a communication device, an embedded device, or have the following FIG. A device of similar structure.
  • Embodiments of the invention do not limit the type of computer device 400.
  • the cloud management device in FIG. 2 may be the device shown in FIG. 4, and one or more software modules (for example, a startup module and an interaction module, etc.) are stored in the memory of the cloud management device 201.
  • the cloud management device 201 can implement software modules through the processor and program code in the memory to implement elastic stretching and business processing.
  • the execution devices 203, 303 of FIGS. 2 and 3 can be implemented in the manner of the computer device (or system) of FIG.
  • the above computer device (or system) is as described above with reference to FIG.
  • the execution device in FIG. 2 or FIG. 3 may be the device shown in FIG. 5, and one or more software modules (for example, a service processing module and a transceiver module, etc.) are stored in the memory of the execution device 203, 303.
  • the execution device 203, 303 can implement the software module through the processor and the program code in the memory to implement elastic stretching and business processing.
  • FIG. 6 is a schematic flowchart of a method for elastic stretching according to an embodiment of the present invention.
  • node 1 and node 2 are existing nodes
  • node 3 is a new extended node as an example. include:
  • Step 601 When the cloud management device determines that the pre-stretching condition is currently met according to the resource extension policy, the cloud management device applies for the resource and starts the newly added node.
  • the cloud management device can extend a plurality of nodes.
  • only one is used as an example.
  • the following is a description of the node 3 instead of the new node.
  • the pre-stretching condition here is specifically that the node average CPU usage is greater than 40% and the number of nodes in the current pre-stretch state is less than 2; the node average CPU usage refers to all nodes managed by the cloud management device. Average CPU usage.
  • the current specific pre-stretching conditions can be set according to the actual situation.
  • the process of starting a new node can refer to the description in the above system framework.
  • the node only starts the application, but the IP address of the node has not been sent to the front-end SLB, that is, the front-end SLB pair is not triggered at this time.
  • Message distribution
  • Step 602 When the cloud management device determines that the formal extension condition is met according to the resource extension policy, the cloud management device sends the IP address of the node 3 to the SLB, and sends an extension notification to the node 3.
  • the formal stretch condition is more stringent than the pre-stretch condition, and the basis for the formal stretch condition is that there are nodes that have been pre-stretched.
  • the formal extension condition here is that the CPU usage of the node average is greater than 60%, and when the number of pre-stretched nodes is greater than 0, of course, the extension condition is set according to the actual situation.
  • step 603 introduces the process of SLB execution
  • step 604 introduces the execution process of node 3, and there is no order relationship between step 603 and step 604.
  • Step 603 After the SLB receives the IP address of the node 3 sent by the cloud management device, the SLB determines that there are currently 3 nodes that can process the service request of the external network, and then refreshes the load balancing algorithm, for example, using a polling algorithm.
  • the node 3 is added to the polling list, and when a new service request comes in, the service request can be sent to the node 3 according to the polling list.
  • Step 604 The node 3 receives the extension notification sent by the cloud management device, acquires the extended data routing table, and the node 3 sends a record relocation request to the cloud management device, where the record relocation request includes the extended number. According to the routing table.
  • the activated data routing table stored on each node is still the data routing table before stretching, and each node also distributes the data module according to the data routing table before stretching to process the corresponding business logic. of. Since node 3 has begun to formally expand, the data module in node 3 is about to work. Therefore, it is necessary to refresh the data routing table according to the node 3 in the node cluster, that is, the data routing table introduced according to the system framework of FIG.
  • the update method obtains the extended data routing table, and at this time, the extended data routing table has not been activated, and the module is still allocated to process the corresponding service according to the data routing table before stretching. For the same index.
  • the node ID corresponding to the stretched data routing table and the pre-stretch data routing table may change, and the corresponding node 3 is changed from the corresponding node 1 or node 2.
  • the node 3 After receiving the extension notification sent by the cloud management device, the node 3 can already receive the service request sent by the SLB. For example, at this time, the SLB allocates a service request to the node 3, and the node 3 receives the service request, and the node 3 The application parses the service request, triggers the business process corresponding to the service request, and when the business process needs to invoke a certain type of data module to process part of the logic in the business process, when the service request needs to be locked or queued, node 3 remains The data module is allocated according to the data routing table before stretching, that is, it is still processed by the data module of node 1 or node 2.
  • Step 605 The cloud management device receives the record relocation request sent by the node 3, and sends the record relocation request to all nodes except the node 3, that is, the record relocation request is sent to all existing nodes.
  • Step 606 Node 1 and node 2 respectively receive the record relocation request sent by the cloud management device, determine a record corresponding to the relocation index number stored on the node, and send the record corresponding to the relocation index number to the node 3, where The node identifier corresponding to the relocation index number in the data routing table before the relocation is different from the node identifier corresponding to the data routing table after the relocation.
  • the records here include lock records, queued records, or resource allocation records.
  • node 1 The process is illustrated by node 1 below, and the process performed by node 2 is similar.
  • node 1 compares the extended data routing table with the data routing table before the extension, and obtains the relocation index number, and records the relocation index number correspondingly. Sent to node 3.
  • node 1 calculates the key value of each record in the data to obtain the index value, and then node 1 compares the extended data routing table with the data routing table before stretching to obtain the relocation index number. , the record corresponding to the relocation index number is sent to the node 3.
  • Step 607 The node 3 receives the record that needs to be relocated from the node 1 or the node 3, and stores the records that need to be relocated.
  • Step 608 After all the records in the node 1 or the node 2 that need to be relocated are completed, the node 1 or the node 2 sends a record relocation success response to the cloud management device.
  • Step 609 When the cloud management device receives the record relocation success response of all the nodes except the node 3, it indicates that the record relocation is successful, so the routing table update notification is sent to all the nodes.
  • Step 610 After receiving the routing table update notification, each node changes the extended data routing table into an activated data routing table, so that the extension process of the node 3 is completed, and the node 3 can be connected with the node 1, 2 Processing business requests as well.
  • Step 611 Node 1 and Node 2 still receive the SLB after the node 1 or node 2 records the record corresponding to the relocation index number has been sent to the node 3 and does not change the extended data routing table to the activated data routing table.
  • the external request sent at this time, the data generated by the data module of node 1 or node 2, if processed, refers to these records as incremental records.
  • the incremental record corresponding to the relocation index number is sent to the node 3 according to the above step 606.
  • the embodiment of the present invention further provides a schematic structural diagram of a cloud management device.
  • the cloud management device 700 includes an activation unit 701, a transmission unit 703, and a reception unit 705.
  • the initiating unit 701 is configured to: when the pre-extension condition is satisfied, start an execution device, and allocate, by the execution device, an interconnection protocol IP address between the networks; and send unit 703, when the formal extension condition is satisfied, The IP address of the execution device is sent to the load balancer to make the load balancer Distributing a service request from the external network to the execution device according to the load balancing algorithm; the sending unit 703 is further configured to send the extension notification to the execution device, so that the execution device initiates a record relocation request according to the extension notification;
  • the unit 705 is configured to receive a record relocation request that is sent by the execution device and that carries the extended data routing table.
  • the sending unit 703 further sends the record relocation request to another execution device other than the execution device, so as to facilitate
  • the receiving device 705 is further configured to receive a record relocation success response of all the execution devices except the execution device, and the sending unit 703 is further configured to All execution devices send routing table update notifications so that all executing devices change the activated data routing table from the pre-stretch data routing table to the extended data routing table.
  • the cloud management device 700 is presented in the form of a functional unit.
  • a "unit” herein may refer to an application-specific integrated circuit (ASIC), a processor and memory that executes one or more software or firmware programs, integrated logic circuits, and/or other devices that provide the functionality described above.
  • ASIC application-specific integrated circuit
  • cloud management device 700 can take the form shown in FIG.
  • the initiating unit 701, the sending unit 703 and the receiving unit 705 can be implemented by the processor and the memory of FIG. 4.
  • the initiating unit 701 can be implemented by executing a booting module by a processor, and the sending unit 703 and the receiving unit 705 can pass It is implemented by the processor executing the interaction module.
  • the embodiment of the present invention further provides a schematic structural diagram of an execution device.
  • the management device 800 includes a receiving unit 801, a relocation request unit 803, a service processing unit 805, and an updating unit 807.
  • the receiving unit 801 is configured to receive the extension notification sent by the cloud management device, and obtain the extended data routing table, where the extended data routing table includes the data module type, index number, and execution after the execution device is extended. Corresponding relationship between the device identifiers; the relocation requesting unit 803 is configured to send, to the cloud management device, a record relocation request that carries the extended data routing table, so that the cloud management device sends the The record relocation request of the data routing table is sent to all the execution devices except the execution device; the receiving unit 801 is further configured to receive the service request sent by the load balancer; the service processing unit 805 is configured to parse the service request, and execute the Describe the business process corresponding to the service request; specifically, the service processing unit 805 can invoke each of the installations of the execution device The business process for parsing the business request and executing the business request, in the process of executing the business process, when the business process needs to invoke a data module installed by a certain type of execution device to process part of the logic in the business process, The data
  • the execution device 800 is presented in the form of a functional unit.
  • a "unit" herein may refer to a particular ASIC, a processor and memory that executes one or more software or firmware programs, integrated logic circuitry, and/or other devices that can provide the functionality described above.
  • the execution device 800 can take the form shown in FIG.
  • the receiving unit 801, the relocation requesting unit 803, the service processing unit 805, and the updating unit 807 can be implemented by the processor and the memory of FIG. 5.
  • the receiving unit 801 can be implemented by executing a transceiver module by the processor, and the relocation request unit 803.
  • the service processing unit 805 and the update unit 807 can be implemented by executing a service processing module by a processor.
  • the embodiment of the present invention further provides a computer storage medium for storing computer software instructions used by the cloud management device shown in FIG. 8 above, which includes a program designed to execute the foregoing method embodiments.
  • the elastic stretching of the actuator can be achieved by executing the stored program.
  • the embodiment of the present invention further provides another computer storage medium for storing computer software instructions for the execution device shown in FIG. 7 above, which includes a program designed to execute the above method embodiment.
  • the elastic stretch of the device can be performed by executing the stored program.
  • embodiments of the present application can be provided as a method, or a computer program product.
  • the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment in combination of software and hardware.
  • the 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.
  • the present application refers to a method, device (system), and computer program product according to an embodiment of the present application.
  • 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.
  • a device that implements the functions specified in one or more processes and/or block diagrams of one or more blocks of the flowchart.
  • 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 instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • a device implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of a 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.

Abstract

本申请实施例涉及云计算技术领域,尤其涉及一种云计算环境下虚拟资源方法和设备,用以简化快速实现弹性伸展。云管理设备在进行伸展新的执行设备时,在执行设备还没有伸展成功前,也就是说,各个执行设备的数据路由表还没有更新时,云管理设备就向负载均衡器发送该新的执行设备的IP地址,从而该新的执行设备就可以接收到负载均衡器分配的业务请求。该执行设备在处理该业务请求时,如果需要数据模块来处理某个过程时,该执行设备还是按照旧的数据路由表来分配数据模块。因此实现了执行设备的快速弹性伸展,能够使得执行设备快速地处理外部网络的业务请求的目的。

Description

云计算环境下虚拟资源弹性伸展的方法,系统和设备
本申请要求于2015年11月30日提交中国专利局、申请号为201510854608.5,发明名称为“云计算环境下虚拟资源弹性伸展的方法,系统和设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云计算技术领域,尤其涉及云计算环境下虚拟资源弹性伸展技术。
背景技术
云计算领域中,资源可以按照业务的需求进行配置,比如在业务量激增的时候,可以增加资源(通常为虚拟机)服务业务,保证业务的正常处理,在业务量降低的时候,可以减少资源服务业务,这样可以提高资源的有效利用。进一步,可以动态按业务量分系统容量,以降低维护业务运行所需要的硬件成本。该技术为弹性伸缩技术,弹性伸缩技术可以用于提高容错性和可用性,在服务状态不佳时通过弹性伸缩技术增加出新的实例代替状态不佳的节点。
目前,弹性伸展的基本流程包括如下:当系统实际负荷到达某个阈值(如:节点平均整机CPU>60%),需要伸展节点以支撑接入的业务。则根据需要分配新节点系统容量资源,配置新节点上的软件,在新节点上启动服务,在部分业务数据复制到新节点,新节点接入业务,这样新节点就可以提供对外服务了。
然而上述流程中,根据需要分配系统容量资源时,伸展一般需要较长时间:需要搭建新的虚拟机环境和配置应用。由于搭建虚拟机环境和应用配置都需要消耗较多时间,伸展的新增节点不能及时快速提供对外服务。
发明内容
本申请实施例提供一种弹性伸展的方法,系统和设备,用以快速伸展新增节点,使得新增节点及时对外提供服务。
一方面,本发明实施例提供了一种弹性伸展方法,方法包括:管理设备启动第一执行设备,为所述第一执行设备分配互联网协议IP地址;云管理设备将所述第一执行设备的IP地址发送给负载均衡器,以及向所述第一执行设备发送伸展通知;第一执行设备接收负载均衡器根据所述第一执行设备的IP地址发送的业务请求,解析所述业务请求,并执行所述业务请求对应的业务流程,也就是说,在虚拟资源伸展过程中,执行设备已经开始处理负载均衡器发送的业务请求;第一执行设备接收所述伸展通知,获得伸展后的数据路由表;第一执行设备向所述云管理设备发送携带所述伸展后的数据路由表的记录搬迁请求;云管理设备接收了所述记录搬迁请求,将所述记录搬迁请求发送给其它执行设备;接着云管理设备接收到所述第一执行设备和所述其它执行设备的记录搬迁成功响应,向所述第一执行设备和和所述其它执行设备发送路由表更新通知;第一执行设备和所述其它执行设备分别接收所述云管理设备发送的路由表更新通知,并分别将激活的数据路由表由伸展前的数据路由表变更为所述伸展后的数据路由表。由于云管理设备在为第一执行设备分配IP地址后,在各个执行设备将激活的数据路由表更新为最新的数据路由表之前,云管理设备已经通知负载均衡器该新增的执行设备的IP地址,负载均衡器就可以分配业务请求给该新增的执行设备,这样该新增的执行设备在没有完全伸展成功前,就可以处理业务请求了,可以实现秒级伸缩。
在一个可能的设计中,还包括:当所述业务流程需要调用某一类型数据模块处理所述业务流程中的部分逻辑时,根据所述伸展前的数据路由表,分配所述某一类型的数据模块处理所述业务流程中的部分逻辑。因此在数据路由表没有更新前,执行设备接收到业务请求时需要调用数据模块处理业务流程中的部分逻辑,可以按照伸展前的数据路由表分配数据模块处理所述业务流程中的部分逻辑,实现了在伸展过程中仍然可以处理业务请求,因此实现了快速弹性伸展,并进一步节约了执行设备的弹性伸展时间。能够使得执行设备快速地处理外部网络的业务请求。
在一个可能的设计中,在将激活的数据路由表由伸展前的数据路由表变更 为伸展后的数据路由表之后,还包括:接收所述负载均衡器分配的业务请求,解析所述业务请求,执行所述业务请求对应的业务流程;当所述业务流程需要调用某一类型数据模块处理所述业务流程中的部分逻辑时,根据所述伸展后的数据路由表,分配所述某一类型的数据模块处理所述业务流程中的部分逻辑。在数据路由表更新后,新增的执行设备就可以按照正常的执行设备进行处理业务了。
在一个可能的设计中,在所述接收所述云管理设备发送的路由表更新通知之前,还包括:接收其它的执行设备发送搬迁索引号对应的记录,其中,所述搬迁索引号在所述搬迁前的数据路由表所对应的执行设备标识和在所述搬迁后的数据路由表所对应的执行设备标识是不同的,所述记录包括锁记录,排队记录或资源分配记录。
在一个可能的设计中,在所述接收所述云管理设备发送的路由表更新通知之后,还包括:接收所述其它的执行设备发送搬迁索引号对应的增量记录,所述增量记录为所述其它的执行设备在所述接收其它的执行设备发送搬迁索引号对应的记录之后和在所述接收所述云管理设备发送的路由表更新通知之前所产生的记录。在弹性伸展过程中,其它的执行设备不仅可以处理外部网络的业务请求,还能够将搬迁索引号对应的增量记录发送给该新增的执行设备,这样就可以确保了记录的一致性。
在一个可能的设计中,在接收所述其它的执行设备发送搬迁索引号对应的增量记录期间,还包括:所述执行设备的数据模块拒绝处理所述业务流程中的部分逻辑。为了防止记录的不一致性,在接收所述其它的执行设备发送搬迁索引号对应的增量记录期间,执行设备是不处理业务流程中的部分逻辑的。
另一方面,本申请的实施例提供一种弹性伸展方法,方法包括当预伸展条件满足时,启动执行设备,为执行设备分配网络之间互连协议IP地址;这里的执行设备是新增的执行设备;当正式伸展条件满足时,将执行设备的IP地址发送给负载均衡器,负载均衡器由于获知新增的执行设备的IP地址,就可以根据负载均衡算法为该执行设备分配来自外部网络的业务请求;向所述执行设备发 送伸展通知,执行设备接收到伸展通知后,就知道了目前伸展正式开始,因此根据所述伸展通知发起记录搬迁请求。管理设备接收执行设备发送的携带伸展后的数据路由表的记录搬迁请求,将记录搬迁请求发送给除执行设备外的其它的执行设备,这样除执行设备外的其它的执行设备就知道了此时需要进行记录搬迁,将需要搬迁的记录发送给该执行设备;接收到所述除上述新增的执行设备外的所有执行设备的记录搬迁成功响应,向所有执行设备发送路由表更新通知,以便于所有执行设备将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表。由于云管理设备在向新增的执行设备发送伸展通知的同时,也将该执行设备的IP地址发送给负载均衡器,这样该执行设备在还没有伸展成功前,就可以接收并处理负载均衡器分配的业务请求,因此可以大大节约了执行设备的弹性伸展时间,能够使得执行设备快速地处理外部网络的业务请求。
在一个可能设计中,所述启动执行设备具体包括:创建虚拟机环境,安装操作系统、启动应用和数据模块。由于在正式伸展之前,云管理设备已经搭建了虚拟机环境,安装操作系统和应用以及数据模块,并启动应用和数据模块,相当于,该执行设备已经处于备用(standby)中,因此在伸展开始时,可以快速实现弹性伸展,因此进一步节约了执行设备的弹性伸展时间。
另一方面,本发明实施例提供了一种云管理设备,该云管理设备具有实现上述方法实际中云管理设备行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
又一方面,本发明实施例提供了一种弹性伸展系统,该系统包括上述方面所述的云管理设备和执行设备。
再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述云管理设备所用的计算机软件指令,其包含用于执行上述方面所涉及的程序。
再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述执行设备所用的计算机软件指令,其包含用于执行上述方面所涉及的程序。
相较于现有技术,本发明提供的方案可以实现执行设备的快速弹性伸展,能够使得执行设备快速地处理外部网络的业务请求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的可能的弹性伸展的系统框架系统示意图;
图2所示为本发明实施例提供的系统示意图;
图3所示为本发明实施例提供的系统示意图;
图4所示为本发明实施例提供的计算机设备示意图;
图5所示为本发明实施例提供的计算机设备示意图;
图6所示为本发明实施例提供的弹性伸展的方法流程示意图;
图7所示为本发明实施例提供的云管理设备的结构示意图;
图8所示为本发明实施例提供的执行设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本发明主要原理是:云管理设备在进行伸展新的执行设备(也可以称为节点)时,在执行设备还没有伸展成功前,也就是说,各个执行设备的数据路由表还没有更新时,云管理设备就向负载均衡器发送该新的执行设备的IP地址,从而该新的执行设备就可以接收到负载均衡器分配的业务请求。该执行设备在处理该业务请求时,如果需要数据模块来处理某个过程时,该执行设备还是按照老的数据路由表来分配数据模块。因此实现了执行设备的快速弹性伸展,能 够使得执行设备快速地处理外部网络的业务请求的目的。
首先,介绍本发明实施例的弹性伸展方法的一些基本概念。弹性伸展可以多种模式,基于运维人员人工决策并通过运维设备触发资源弹性收缩操作的人工手动伸展模式;基于时间周期,定时触发弹性伸展操作的定时伸展模式;基于业务监控性能指标动态决策业务是否并执行弹性伸展的业务动态伸展模式,以及基于时间周期和监控性能指标等多个复合条件触发弹性伸展的混合模式。
在弹性伸展中,关键性能指标(KPI)包括资源KPI和业务KPI,其中,资源KPI包括CPU利用率、内存利用率、磁盘剩余多少、网卡相关的KPI指标,资源KPI指标由云系统预先定义的,可以不需要配置。业务KPI包括根据业务功能定义的KPI指标,例如,业务处理平均响应时间。业务KPI指标由运维人员通过云管理设备所定义的。
如图1所示,本发明实施例简单的的弹性伸展的系统框架图,包括:云管理设备101,1个以上的节点102,负载均衡器(英文全称software load balancer,简称:SLB)103以及外部网络104。其中,运维人员可以通过云管理设备开启采集任务、配置伸展策略和手动触发弹性伸展等,从而可以实现运维人员管理和控制伸展流程。云管理设备存储弹性伸展策略,弹性伸展策略包括预伸展条件和正式伸展条件,预伸展指的是在云管理设备管理的各个执行设备的负担已经有点重,比如:超出了预伸展条件,但是还不严重(比如,还没有超出正式伸展条件)的情况下,由云管理设备预先启动新的执行设备;正式伸展指的是在云管理设备管理的各个执行设备的负担已经很严重,比如:超出正式伸展条件的情况下,由将启动的新的执行设备接入到负载均衡器,由负载均衡器可以为它分配业务请求,将弹性伸展分为预伸展和正式伸展目的是为了快速实现执行设备的伸展。云管理设备与多个节点相连接,从各个节点处采集性能指标,然后根据存储的弹性伸展策略决策是否进行弹性伸展,如果确定了需要进行弹性伸展时,执行伸展流程,即启动新的节点。通常情况下,云管理设备在云计算中属于平台(platform,P)层资源设备。
在本发明实施例中,云管理设备根据资源伸展策略,判断当前条件是否满 足预伸展条件,如果满足的话,则启动新增节点,为新增节点分配互联网协议(IP)地址,这里启动新增节点包括了创建虚拟机环境,安装操作系统、启动应用和数据模块;节点启动完成后,再根据资源伸展策略,判断当前条件是否满足正式伸展条件,如果满足的话,将新增节点的IP地址发送给SLB,这样SLB就可以根据负载均衡算法为该新增节点分配来自外部网络的业务请求了,也就是说,该新增节点可以及时提供对外服务了。云管理设备同时还向该新增节点发送伸展通知,这样新增节点就可以根据伸展通知开始向已有节点发起记录搬迁请求。当云管理设备接收到新增节点发送的携带伸展后的数据路由表的记录搬迁请求,将该记录搬迁请求发送已有节点上进行记录搬迁,这里的伸展后的数据路由表并不是当前激活的数据路由表,各个节点只会根据当前激活的数据路由表来分配数据模块。当节点上记录搬迁成功后,会向云管理设备发送记录搬迁成功响应。当云管理设备接收到所有已有节点的记录搬迁成功响应时,则表明当前数据已经搬迁成功,向包含已有节点和新增节点的所有节点发送路由表更新通知,这样所有节点将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表。数据路由表包含了数据模块类型,索引号和执行设备标识三者之间的对应关系,在节点处理业务请求时,如果需要调用某个类型的数据模块,可以通过数据路由表找到某个节点的数据模块。在节点伸展前和后,数据路由表的内容将发生变化,也就是说,通过数据路由表找到的数据模块也将发生变化,所以在节点扩展后,需要对各个节点存储的数据路由表进行更新,更新的时间就是各个节点记录搬迁完成后。另外,对于某个数据模块而言,每做一次处理时,都会做一次记录,当数据路由表的内容将发生变化后,可能存在某个记录原来存储在1个节点的,后来应该存储在另外一个节点了,此时就需要进行记录搬迁。
下面进一步介绍涉及本发明的一些技术内容。节点上运行了虚拟机环境,操作系统、各种应用和数据模块。通常情况下,应用主要用于解析外部网络的业务请求,并执行业务请求对应的业务流程。比如:应用是HTTP服务器软件,每个节点可以启动1个以及1个以上的应用,如,应用一和应用二。通常情况 下各个节点包含的应用是相同的,也就是说,每个节点处理的业务请求,因此SLB才可以将外部网络的业务请求任意一个节点上处理。具体的应用可以包括消息处理模块、消息总线和业务逻辑处理模块。消息处理模块可以处理不同消息格式或者协议的业务请求,比如,处理初始协议(Session Initiation Protocol,SIP)消息、7号信令系统(Signaling System 7,SS7)信令或者直径(Diameter)协议消息的能力,业务逻辑处理模块可以处理由外部网络发送的业务请求触发的业务逻辑,这里的业务种类有很多,比如:计费业务,呼叫处理业务和短信业务等等各类业务,这里不做特别限定。数据模块包括锁(lock)模块和处理模块,这里的数据模块,在有些技术文档中,也称为数据服务。其中,锁模块提供了对一些业务流程的锁服务,锁的类型有多种,通过对资源进行加锁或者解锁来实现一些业务的逻辑,例如:前传锁,或者通话锁。在后续内容将会进一步介绍锁模块的处理过程。处理模块包括了排队处理和资源分配处理两种功能。排队服务是指在业务繁忙时,根据一定的优先级策略,将新来的业务请求进行排队。一般情况下,在呼叫中心系统的坐席业务场景会用到这种排队服务。资源分配服务可以协调多个业务/呼叫间对于一个公共业务/呼叫资源的分配。在使用公共业务/呼叫资源前先申请资源,在资源使用完毕后释放资源。如果资源申请不到,可以等待或放弃。
在每个节点上维护了完全相同激活的数据路由表。在本发明实施例中,数据路由表是关于数据模块类型,索引号(index)和执行设备标识(ID)之间关系的一个表格,即数据路由表包含了数据模块类型,索引号和节点ID以及之间的对应关系。通过索引号和数据模块类型可以定位到哪个节点中的该类数据模块。具体的,在应用需要触发某类型数据模块处理某个业务逻辑时,通过索引号计算算法确定索引号,然后通过索引号在数据路由表上找到相应的节点,该节点上的该类型数据模块就是被分配的处理该业务逻辑的数据模块。通常情况下,索引号计算算法为可以具体为哈希(hash)一致性算法,此时,每个节点还需要相同的维护hash长度,该hash长度通常是不允许手工修改,一般情况下,该哈希长度是一致性哈希算法的虚拟节点数。
例如:部署了2个节点、并使用Hash长度53时,为了两个节点负载均衡,一个节点对应26个index,另外一个节点对应27个index,这样构成类似如下的数据,这里的模块类型包括lock和RMservice,lock指的是锁模块,RMservice指的是处理模块:
Figure PCTCN2016101576-appb-000001
Figure PCTCN2016101576-appb-000002
Index与节点ID之间的对应关系,可以根据需要进行自由设定,但是应该满足每个节点对应的index的数量是均衡的,例如:上述有两个真实节点,而index的数量有53个,则1个真实节点对应26或者27个index,可以确保每个节点对应的index的数量是均衡的。至于哪些index对应节点1,哪些index对应节点2,这是可以任意设定,比如:index的序号前26个对应节点1,后27个对应节点2,或者index为奇数对应节点1,index为偶数对应节点2。如果真实节点数量发生变化了,则需要调整index与节点ID之间的对应关系,以 保证每个真实节点对应的index的数量是均衡的,继续以上面这个例子来进行说明。如果此时存在三个真实节点,则节点1可以对应17或者18个index。因此,之前的节点1或者节点2应该减少对应8或者9个index,此时可以将节点1的对应任意8个或9个index对应关系改成与节点3对应,或者将节点1对应的序号排在后面的8个或9个index对应关系改成与节点3对应。在本发明实施例中,在开始弹性伸展之前,在各个节点上存储的数据路由表是伸展前的数据路由表,此时该伸展前的数据路由表是激活的数据路由表,在任何时候,只有激活的数据路由表才可以被用于查找数据模块。
有了上述数据路由表后,后续如果任何一个节点接收到业务请求,应用解析了该业务请求,执行业务请求对应的业务流程,当该业务流程需要调用某类型数据模块处理该业务流程中的部分逻辑时,按照一定规则,将该业务请求转换成一个键值(Key),然后利用hash一致性算法,即Key mod Hash长度,求得索引号的值,然后再用index的值找到对应的节点ID,这样就可以确定在该节点ID对应地节点上的该类型数据模块对该业务流程进行操作处理,比如:加锁或者排队之类的操作。上述业务请求对应的Key可以是1个电话号码,锁类型+电话号码,排队类型+电话号码,资源分配+电话号码等等,如果Key为字符串时,可以将其转换成为Int值。
例如:一种常见的使用资源锁服务的场景是识别重复的主被叫流程。呼叫类型的业务,主叫方和被叫方各自触发一个业务处理流程。在主叫方呼叫流程中,为了防止对该呼叫进行重复计费,需要对该呼叫的计费流程进行加锁。此时就需要用锁模块对该计费流程进行加锁,于是就需要通过数据路由表来找到某个节点上的锁模块处理该加锁。假设用主叫号码和被叫号码合起来作为Key值,计算key mod Hash长度,求得Index,然后再由index找到锁模块所在对应的节点ID,然后该节点ID对应的该节点的锁模块对该计费流程进行加锁。在加锁成功后,锁模块会存储这条锁记录,加锁包括了锁类型ID,资源ID,流程ID以及锁状态,锁的类型ID表示了锁的基本类型,资源ID可以为电话号码等信息,锁的类型ID和资源ID合起来成为上述Key。应用在接收到一个业务 请求后,启动一个会话,对该会话分配一个流程ID,该流程ID唯一表示了该会话。需要说明的是,每个节点只存储自身节点的锁记录,并不存储其它节点的锁记录,因此锁记录不是全局数据。而在被叫方呼叫流程中,可能同样也会触发一个计费流程,此时同样也利用数据路由表来找到处理该加锁过程的锁模块。因此同样使用主叫号码和被叫号码合起来作为Key值,计算key mod Hash长度,求得Index,然后再有index找到锁模块所在对应的节点ID,然后该节点ID对应的节点的锁模块对该计费流程进行加锁,由于主叫方呼叫流程和被叫方呼叫流程中寻找锁模块的Key的值是相同的,因此在被叫方流程中,根据路由表确定到上述相同的节点的锁模块。因此该锁模块根据key值首先查找其自身有没有存储这条锁记录,由于主叫方流程和被叫方流程的key值是相同的,因此最终找到了该条锁记录,这就说明了该节点的锁模块已经对该计费流程加锁,所以被叫方呼叫流程加锁失败,同时也说明该被交方触发相同的计费流程是失败的。
类似的,处理模块同样也会存储自身节点的排队记录和资源分配记录,并且排队记录和资源分配记录也会包含用于计算路由表的key值。排队记录记载了处理模块对哪些key进行排队和排队开始时间等等信息,资源分配记录记载了处理模块对哪些key进行分配资源和分配哪些资源等信息。
更进一步的,为了方便起见,锁记录,排队记录和资源分配记录均可能进一步包含每个key对应的index值,这样后续在搬迁记录时,就比较方便,很快确定哪些数据需要搬迁。
还需要说明的是:应用在执行业务请求触发的业务逻辑时,该业务逻辑可能会触发加锁请求,排队请求或资源分配请求的一种或多种,该业务逻辑也有可能不触发加锁请求,排队请求或资源分配请求的任何一种。也就是说,有些业务逻辑,可能只需要应用自己去处理就可以了。
上面介绍了在处理一个业务请求时用到的数据路由表和数据模块等内容,在节点伸展前后,数据路由表的内容将发生变化,也就是说,通过数据路由表找到的数据模块也将发生变化,下面将做进一步的介绍。
通常情况下,节点为云计算的I层资源设备,如图1所示,假设本发明实施例中在资源伸展前为两个节点,分别为节点1和节点2,当执行资源伸展后,启动了节点3。
接着介绍新增节点如何进行弹性伸展处理的过程,新增节点(节点3)接收到云管理设备发送的伸展通知,对处于激活的伸展前的数据路由表进行重新计算,获得伸展后的数据路由表,此时,该伸展后的数据路由表用于记录搬迁。然后节点3向云管理设备发送携带伸展后的数据路由表的记录搬迁请求,云管理设备在收到该记录搬迁请求后,会将记录搬迁请求发送给所有的已有节点(节点1和节点2)上;当所有节点的记录搬迁成功后,新增节点将接收到云管理设备发送的路由表更新通知,然后新增节点将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表。在激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表之前,新增节点可以接收并处理负载均衡器分配的业务请求,不过此时新增节点仍然根据所述伸展前的数据路由表,为业务请求分配数据模块。在激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表之后,新增节点可以接收负载均衡器分配的业务请求,不过此时新增节点将根据伸展后的数据路由表为业务请求分配数据模块。
对于已有节点而已,例如:节点1或者节点2,下面以节点1来代替已有节点进行说明,当节点1接收到云管理设备发送的携带伸展后的数据路由表的记录搬迁请求;根据伸展后的数据路由表和所述伸展前的数据路由表,确定自身需要搬迁的数据,然后将这些需要搬迁的数据发送给新增节点,新增节点就保存这些需要搬迁的数据,从而提供数据服务;当所有的需要搬迁的数据发送完成后,向云管理设备发送记录搬迁成功响应,以通知云管理设备本节点1已经完成了记录搬迁。如果数据模块中存储的数据已经包含了index,节点1则比较伸展后的数据路由表和伸展前的数据路由表,查找数据模块中index对应的节点表示在伸展后的数据路由表和伸展前的数据路由表是否一致,如果不一致,则这些index对应地记录为需要搬迁的数据,将该所述需要搬迁的数据发送给新增节点,这些数据包括所模块处理的临界资源映射信息,排队处理信息 和资源分配信息;如果数据模块中存储的数据没有包含了index,则对数据中每条记录的键值进行计算,获得索引号,比较所述伸展后的数据路由表和所述伸展前的数据路由表,查找所述计算的索引号对应的节点表示在伸展后的数据路由表和伸展前的数据路由表是否一致,如果不一致,则这些索引号对应地记录为需要搬迁的数据,将该所述需要搬迁的数据发送给新增节点。
当节点1接收到云管理设备发送的路由表更新通知,将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表;在将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表之前,节点1还可以接收负载均衡器分配的业务请求,节点1仍然根据伸展前的数据路由表,为业务请求分配数据模块;在将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表之后,节点1接收负载均衡器分配的业务请求,此时则根据伸展后的数据路由表,为业务请求分配数据模块。
继续如图1所示,SLB连接上述一个以上的节点,SLB是上述一个以上节点的负载均衡分发器,SLB统一接收到外部网络104的业务请求,由SLB根据负载均衡策略,将业务请求分发到中的某个节点进行处理。负载均衡策略可以有多种类型,在本发明实施例中以轮询算法为例来进行说明。
本发明提供的方案可以实现执行设备的快速弹性伸展,能够使得执行设备快速地处理外部网络的业务请求
如图2所示,本发明提供的一种弹性伸展系统可以包括云管理设备201和一个以上的执行设备203。在图3中,用虚线来表示弹性伸展出来的执行设备。该系统可以为弹性伸展前的系统,也可以为弹性伸展后的系统。执行设备可以为图1中的已有节点1,或节点2,也可以为图1中的新增节点3,本发明不做限定。
如图3所示,本发明提供的另一弹性伸展系统可以包括云管理设备301、负载均衡器305和一个以上的执行设备303。该系统可以为弹性伸展前的系统,也可以为弹性伸展后的系统。其中,一个以上的执行设备303组成执行设备集群,或者是执行设备群组等。执行设备可以为图1中的已有节点1,或节点2, 也可以为图1中的新增节点3,本发明不做限定。
如图4所示,图2和图3中的云管理设备201,301可以以图4中的计算机设备(或系统)的方式来实现。
图4所示为本发明实施例提供的计算机设备示意图。计算机设备400包括至少一个处理器401,通信总线402,存储器403以及至少一个通信接口404。
处理器401可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线402可包括一通路,在上述组件之间传送信息。所述通信接口404,使用任何收发器一类的设备,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器403可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器403用于存储执行本发明方案的应用程序代码,并由处理器401来控制执行。所述处理器401用于执行所述存储器403中存储的应用程序代码。
在具体实现中,作为一种实施例,处理器401可以包括一个或多个CPU,例如图4中的CPU0和CPU1。
在具体实现中,作为一种实施例,计算机设备400可以包括多个处理器, 例如图4中的处理器401和处理器408。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机设备400还可以包括输出设备405和输入设备406。输出设备405和处理器401通信,可以以多种方式来显示信息。例如,输出设备405可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备406和处理器401通信,可以以多种方式接受用户的输入。例如,输入设备406可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的计算机设备400可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备400可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图4中类似结构的设备。本发明实施例不限定计算机设备400的类型。
如图2中的云管理设备可以为图4所示的设备,云管理设备201的存储器中存储了一个或多个软件模块(例如:启动模块和交互模块等)。云管理设备201可以通过处理器以及存储器中的程序代码来实现软件模块,实现弹性伸展和业务处理。
如图5所示,图2和图3中的执行设备203,303可以以图5中的计算机设备(或系统)的方式来实现。上述计算机设备(或系统)如上述图4所描述的一样。
如图2或图3中的执行设备可以为图5所示的设备,执行设备203,303的存储器中存储了一个或多个软件模块(例如:业务处理模块和收发模块等)。执行设备203,303可以通过处理器以及存储器中的程序代码来实现软件模块,实现弹性伸展和业务处理。
如图6所示,为本发明实施例提供的弹性伸展的方法流程示意图,这里以节点1,和节点2为已有节点,节点3为伸展的新节点为例来进行说明。包括:
步骤601:当云管理设备根据资源伸展策略,确定当前满足预伸展条件时,云管理设备申请资源,启动新增节点。
根据资源伸展策略,云管理设备可以伸展多个节点,这里仅仅以1个为例进行说明,下面以节点3来代替新增节点来进行说明。
例如:这里的预伸展条件具体为节点平均整机CPU使用率大于40%以及当前预伸展状态的节点数小于2等;节点平均整机CPU使用率指的是云管理设备所管理的所有节点的平均CPU使用率。当前具体的预伸展条件可以根据实际情况来做设定。
启动新增节点的过程可以参考上述系统框架中的描述,由于此时该节点只是启动了应用,但是还没有将该节点IP地址发送给前端SLB,即此时还不触发前端SLB对新增节点的消息分发。
步骤602:当云管理设备根据资源伸展策略,确定当前满足正式伸展条件,云管理设备将该节点3的IP地址发送给SLB,同时向节点3发送伸展通知。
通常情况下,正式伸展条件比预伸展条件要严格一些,并且正式伸展条件的基础是存在了已经进行预伸展的节点。例如:这里的正式伸展条件为节点平均整机的CPU使用率大于60%,预伸展状态节点数大于0时,当然伸展条件是根据实际情况进行设定的。
下面步骤603介绍了SLB执行的过程,步骤604介绍了节点3的执行过程,步骤603和步骤604之间没有先后顺序关系。
步骤603:SLB接收到云管理设备发送的节点3的IP地址后,此时SLB确定了目前有3个节点可以处理外部网络的业务请求,则刷新负载均衡算法,例如以轮询算法为例,将节点3加入到轮询名单上,后续有新的业务请求过来时,可以按照轮询名单将业务请求发送到该节点3上。
步骤604:节点3接收到云管理设备发送的伸展通知,获取伸展后的数据路由表,节点3向云管理设备发送记录搬迁请求,该记录搬迁请求包含了伸展后的数 据路由表。
正如图1的系统框架所介绍的,此时,各个节点上保存的激活的数据路由表仍然为伸展前的数据路由表,各个节点也是按照伸展前的数据路由表进行分配数据模块处理相应业务逻辑的。由于节点3已经开始正式伸展了,节点3中的数据模块也即将工作了,因此需要根据节点集群中多了的节点3,刷新数据路由表,即按照图1的系统框架所介绍的数据路由表更新方法,获得伸展后的数据路由表,而此时伸展后的数据路由表还没有被激活,仍然按照伸展前的数据路由表来分配模块处理相应业务。对于同一个index。伸展后的数据路由表和伸展前的数据路由表中所对应节点ID可能发生了变化,从对应节点1或者节点2,改变对应节点3了。
在接收到云管理设备发送的伸展通知后,节点3已经可以接收SLB发送的业务请求了,例如,此时SLB分配了一个业务请求给节点3,节点3在接收到该业务请求,节点3的应用解析该业务请求,触发业务请求对应的业务流程,当该业务流程需要调用某类型数据模块处理该业务流程中的部分逻辑时,需要对该业务请求进行锁处理或者排队处理时,节点3仍然按照伸展前的数据路由表来分配数据模块,也就是说,仍然由节点1或节点2的数据模块进行处理。
步骤605:云管理设备接收到上述节点3发送的记录搬迁请求,把上述记录搬迁请求发送给除节点3之外的所有节点,即将上述记录搬迁请求发送给所有已有节点。
步骤606:节点1和节点2分别接收到云管理设备发送的上述记录搬迁请求,确定自身节点上存储的搬迁索引号对应的记录,将上述搬迁索引号对应的记录发送到节点3上,这里的搬迁索引号在所述搬迁前的数据路由表所对应的节点标识和在所述搬迁后的数据路由表所对应的节点标识是不同的。这里记录包括锁记录,排队记录或资源分配记录。
下面以节点1来说明这个过程,节点2执行的过程是类似的。
如果上述数据的每条记录均已经包含了index值,则节点1比较伸展后的数据路由表和伸展前的数据路由表,获得搬迁索引号,则将搬迁索引号对应地记录 发送给节点3。
如果数据中没有包含了index值,则节点1对数据中每条记录的key值进行计算,获得index值,然后节点1比较伸展后的数据路由表和伸展前的数据路由表,获得搬迁索引号,则将搬迁索引号对应地记录发送给节点3。
步骤607:节点3接收到来自节点1或节点3发送的需要搬迁的记录,并存储这些需要搬迁的记录。
步骤608:当节点1或节点2中所有需要搬迁的记录都搬迁完成后,节点1或节点2向云管理设备发送记录搬迁成功响应。
步骤609:当云管理设备接收到除节点3之外的所有节点的记录搬迁成功响应,则表示记录搬迁成功,因此向所有节点发送路由表更新通知。
步骤610:各个节点接收到路由表更新通知后,将伸展后的数据路由表变成激活的数据路由表,这样节点3的伸展过程就全部完成了,此时节点3就可以和节点1,2一样处理业务请求了。
步骤611:在节点1或节点2将搬迁索引号对应的记录已经发送给节点3之后到没有将伸展后的数据路由表变成激活的数据路由表之前,节点1和节点2仍然会接收到SLB发送的外部请求,此时节点1或节点2的数据模块如果进行处理时,产生的记录,将这些记录称为增量记录。此时如果将伸展后的数据路由表变成激活的数据路由表之后,按照上述步骤606,将搬迁索引号对应的增量记录发送给节点3。
在同步增量记录期间,为了保证数据一致性,由于伸展后的数据路由表已经被激活了,并且节点3的数据模块接收到的数据还没有不够全面,即还没有增量记录,因此如果有些逻辑触发到节点3的数据模块的话,将直接拒绝此类逻辑。
如图7所示,本发明实施例还提供了一种云管理设备的结构示意图。该云管理设备700包括:启动单元701,发送单元703和接收单元705。
其中,启动单元701,用于当预伸展条件满足时,启动执行设备,为所述执行设备分配网络之间互连协议IP地址;发送单元703,用于当正式伸展条件满足时,将所述执行设备的IP地址发送给负载均衡器,以使得所述负载均衡器 根据负载均衡算法为所述执行设备分配来自外部网络的业务请求;发送单元703,还用于向所述执行设备发送伸展通知,以便于所述执行设备根据所述伸展通知发起记录搬迁请求;接收单元705,用于接收所述执行设备发送的携带伸展后的数据路由表的记录搬迁请求;发送单元703,还用将所述记录搬迁请求发送给除执行设备外的其它的执行设备,以便于所述除执行设备外的其它的执行设备进行记录搬迁;接收单元705,还用于接收到所述除所述执行设备外的所有执行设备的记录搬迁成功响应;发送单元703,还用于向所有执行设备发送路由表更新通知,以便于所有执行设备将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表。
在本实施例中,云管理设备700是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到云管理设备700可以采用图4所示的形式。启动单元701,发送单元703和接收单元705可以通过图4的处理器和存储器来实现,具体的,启动单元701可以通过由处理器来执行启动模块来实现,发送单元703和接收单元705可以通过由处理器来执行交互模块来实现。
如图8所示,本发明实施例还提供了一种执行设备的结构示意图。该管理设备800包括:接收单元801,搬迁请求单元803,业务处理单元805和更新单元807。
其中,接收单元801,用于接收到云管理设备发送的伸展通知,获得伸展后的数据路由表,其中伸展后的数据路由表包含了所述执行设备伸展后的数据模块类型,索引号和执行设备标识之间对应关系;搬迁请求单元803,用于向所述云管理设备发送携带所述伸展后的数据路由表的记录搬迁请求,以便于所述云管理设备将所述携带所述伸展后的数据路由表的记录搬迁请求发送给除执行设备外的所有执行设备;接收单元801,还用于接收负载均衡器发送的业务请求;业务处理单元805,用于解析所述业务请求,执行所述业务请求对应的业务流程;具体的而言,该业务处理单元805可以调用执行设备安装的各个应 用来解析业务请求,执行业务请求对应的业务流程,在执行业务流程过程中,当所述业务流程需要调用某一类型执行设备安装的数据模块处理所述业务流程中的部分逻辑时,根据所述激活的数据路由表,分配某一类型的数据模块处理所述业务流程中的部分逻辑;接收单元801,还用于接收所述云管理设备发送的路由表更新通知;更新单元807,用于将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表,其中,所述伸展前的数据路由表包含了所述执行设备伸展前的数据模块类型,索引号和执行设备标识之间对应关系
在本实施例中,执行设备800是以功能单元的形式来呈现。这里的“单元”可以指特定ASIC,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到执行设备800可以采用图5所示的形式。接收单元801,搬迁请求单元803,业务处理单元805和更新单元807可以通过图5的处理器和存储器来实现,具体的,接收单元801可以通过由处理器来执行收发模块来实现,搬迁请求单元803,业务处理单元805和更新单元807可以通过由处理器来执行业务处理模块来实现。
本发明实施例还提供了一种计算机存储介质,用于储存为上述图8所示的云管理设备所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现执行装置的弹性伸展。
本发明实施例还提供了另一种计算机存储介质,用于储存为上述图7所示的执行设备所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以执行装置的弹性伸展。
本领域内的技术人员应明白,本申请的实施例可提供为方法、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品 的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (19)

  1. 一种云计算环境下虚拟资源方法,其特征在于,包括以下步骤:
    云管理设备启动第一执行设备,为所述第一执行设备分配互联网协议IP地址;
    所述云管理设备将所述第一执行设备的IP地址发送给负载均衡器,以及向所述第一执行设备发送伸展通知;
    所述第一执行设备接收负载均衡器根据所述第一执行设备的IP地址发送的业务请求,解析所述业务请求,并执行所述业务请求对应的业务流程;
    所述第一执行设备接收所述伸展通知,获得伸展后的数据路由表;
    所述第一执行设备向所述云管理设备发送携带所述伸展后的数据路由表的记录搬迁请求;
    所述云管理设备接收了所述记录搬迁请求,将所述记录搬迁请求发送给其它执行设备;
    所述云管理设备接收到所述第一执行设备和所述其它执行设备的记录搬迁成功响应,向所述第一执行设备和和所述其它执行设备发送路由表更新通知;
    所述第一执行设备和所述其它执行设备分别接收所述云管理设备发送的路由表更新通知,并分别将激活的数据路由表由伸展前的数据路由表变更为所述伸展后的数据路由表。
  2. 如权利要求1所述的方法,其特征在于,还包括:当所述业务流程需要调用某一类型数据模块处理所述业务流程中的部分逻辑时,所述第一执行设备根据所述伸展前的数据路由表,分配所述某一类型的数据模块处理所述业务流程中的部分逻辑。
  3. 如权利要求1所述的方法,其特征在于,在所述第一执行设备将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表之后,还包括:
    所述第一执行设备接收所述负载均衡器分配的业务请求,解析所述业务请求,执行所述业务请求对应的业务流程;当所述业务流程需要调用某一类型数 据模块处理所述业务流程中的部分逻辑时,根据所述伸展后的数据路由表,分配所述某一类型的数据模块处理所述业务流程中的部分逻辑。
  4. 如权利要求1所述的方法,其特征在于,所述第一执行设备接收所述云管理设备发送的路由表更新通知,还包括:
    所述第一执行设备接收所述其它执行设备发送搬迁索引号对应的记录,其中,所述搬迁索引号在所述搬迁前的数据路由表所对应的执行设备标识和在所述搬迁后的数据路由表所对应的执行设备标识是不同的,所述记录包括锁记录,排队记录或资源分配记录;所述伸展后的数据路由表包含了所述执行设备伸展后的数据模块类型,索引号和执行设备标识之间对应关系,所述伸展前的数据路由表包含了所述执行设备伸展前的数据模块类型,索引号和执行设备标识之间对应关系。
  5. 如权利要求4所述的方法,其特征在于,在所述第一执行设备接收所述云管理设备发送的路由表更新通知之后,还包括:
    所述第一执行设备接收所述其它执行设备发送搬迁索引号对应的增量记录,所述增量记录为所述第一执行设备在接收所述其它执行设备发送搬迁索引号对应的记录之后和在接收所述云管理设备发送的路由表更新通知之前的期间所产生的记录。
  6. 如权利要求5所述的方法,其特征在于,在所述第一执行设备接收所述其它执行设备发送搬迁索引号对应的增量记录的期间,还包括:所述第一执行设备或所述其它执行设备的数据模块拒绝处理所述业务流程中的部分逻辑。
  7. 一种云计算环境下虚拟资源伸展方法,其特征在于,包括以下步骤:
    云管理设备启动第一执行设备,为所述第一执行设备分配互联网协议IP地址;
    将所述第一执行设备的IP地址发送给负载均衡器,以使得所述负载均衡器根据所述第一执行设备的IP地址为所述第一执行设备分配来自外部网络的业务请求;
    向所述第一执行设备发送伸展通知,所述伸展通知指示所述第一执行设备 发送记录搬迁请求;
    接收所述第一执行设备发送的携带伸展后的数据路由表的记录搬迁请求,将所述记录搬迁请求发送给其它执行设备,以便于其它执行设备进行记录搬迁;
    接收到所述第一执行设备和其他执行设备的记录搬迁成功响应,向所述第一执行设备和执行设备发送路由表更新通知,以便于所述第一执行设备和执行设备将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表。
  8. 如权利要求7所述的方法,其特征在于,所述云管理设备启动执行设备具体包括:所述云管理设备创建虚拟机环境,安装操作系统、启动应用和数据模块。
  9. 一种云管理设备,其特征在于,包括以下步骤:
    启动单元,用于启动执行设备,为所述执行设备分配互联网协议IP地址;
    发送单元,用于将所述执行设备的IP地址发送给负载均衡器,以使得所述负载均衡器根据所述执行设备的IP地址为所述执行设备分配来自外部网络的业务请求;
    所述发送单元,还用于向所述执行设备发送伸展通知,以便于所述执行设备根据所述伸展通知发起记录搬迁请求;
    接收单元,用于接收所述执行设备发送的携带伸展后的数据路由表的记录搬迁请求;
    所述发送单元,还用将所述记录搬迁请求发送给除执行设备外的其它的执行设备,以便于所述除执行设备外的其它的执行设备进行记录搬迁;
    所述接收单元,还用于接收到所述除所述执行设备外的所有执行设备的记录搬迁成功响应;
    所述发送单元,还用于向所有执行设备发送路由表更新通知,以便于所有执行设备将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表。
  10. 如权利要求9所述的云管理设备,其特征在于,所述启动单元具体用于创建虚拟机环境,安装操作系统、启动应用和数据模块。
  11. 一种执行设备,其特征在于,包括:
    接收单元,用于接收到云管理设备发送的伸展通知,获得伸展后的数据路由表;
    搬迁请求单元,用于向所述云管理设备发送携带所述伸展后的数据路由表的记录搬迁请求,以便于所述云管理设备将所述携带所述伸展后的数据路由表的记录搬迁请求发送给除执行设备外的所有执行设备;
    所述接收单元,还用于接收负载均衡器发送的业务请求;
    业务处理单元,用于解析所述业务请求,执行所述业务请求对应的业务流程;
    所述接收单元,还用于接收所述云管理设备发送的路由表更新通知;
    更新单元,用于将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表。
  12. 如权利要求11所述的设备,其特征在于,所述业务处理单元,还用于当所述业务流程需要调用某一类型数据模块处理所述业务流程中的部分逻辑时,根据所述伸展前的数据路由表,分配所述某一类型的数据模块处理所述业务流程中的部分逻辑。
  13. 如权利要求11所述的设备,其特征在于,所述业务处理单元,还用于在将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表之后,接收所述负载均衡器分配的业务请求,解析所述业务请求,执行所述业务请求对应的业务流程;当所述业务流程需要调用某一类型数据模块处理所述业务流程中的部分逻辑时,根据所述伸展后的数据路由表,分配所述某一类型的数据模块处理所述业务流程中的部分逻辑。
  14. 如权利要求11所述的设备,其特征在于,所述接收单元,还用于在所述接收所述云管理设备发送的路由表更新通知之前,接收其它的执行设备发送搬迁索引号对应的记录,其中,所述搬迁索引号在所述搬迁前的数据路由表所对应的执行设备标识和在所述搬迁后的数据路由表所对应的执行设备标识是不同的,所述记录包括锁记录,排队记录或资源分配记录;所述伸展后的数据路由 表包含了所述执行设备伸展后的数据模块类型,索引号和执行设备标识之间对应关系,所述伸展前的数据路由表包含了所述执行设备伸展前的数据模块类型,索引号和执行设备标识之间对应关系。
  15. 如权利要求14所述的设备,其特征在于,所述接收单元,还用于在所述接收所述云管理设备发送的路由表更新通知之后,接收所述其它的执行设备发送搬迁索引号对应的增量记录,所述增量记录为所述其它的执行设备在所述接收其它的执行设备发送搬迁索引号对应的记录之后和在所述接收所述云管理设备发送的路由表更新通知之前所产生的记录。
  16. 如权利要求15所述的设备,其特征在于,还包括拒绝单元,用于在接收所述其它的执行设备发送搬迁索引号对应的增量记录期间,拒绝处理所述业务流程中的部分逻辑。
  17. 一种云计算环境下虚拟资源系统,其特征在于,包括如权利要求9-10中任意一项所述的云管理设备和如权利要求11-16中所述的执行设备。
  18. 一种云管理设备,其特征在于,包括:存储可执行程序代码的存储器,通信接口,以及与所述存储器和所述通信接口相连接的处理器,其中,
    所述处理器用于执行所述可执行程序代码,以实现:
    启动第一执行设备,为所述第一执行设备分配互联网协议IP地址;
    将所述第一执行设备的IP地址发送给负载均衡器,以使得所述负载均衡器根据所述第一执行设备的IP地址为所述第一执行设备分配来自外部网络的业务请求;
    向所述第一执行设备发送伸展通知,所述伸展通知指示所述第一执行设备发送记录搬迁请求;
    接收所述第一执行设备发送的携带伸展后的数据路由表的记录搬迁请求,将所述记录搬迁请求发送给其它执行设备,以便于其它执行设备进行记录搬迁;
    接收到所述第一执行设备和其他执行设备的记录搬迁成功响应,向所述第一执行设备和执行设备发送路由表更新通知,以便于所述第一执行设备和执行设备将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表。
  19. 一种执行设备,其特征在于,包括:存储可执行程序代码的存储器,通信接口,以及与所述存储器和所述通信接口相连接的处理器,其中,
    所述处理器用于执行所述可执行程序代码,以实现:
    接收到云管理设备发送的伸展通知,获得伸展后的数据路由表;
    向所述云管理设备发送携带所述伸展后的数据路由表的记录搬迁请求,以便于所述云管理设备将所述携带所述伸展后的数据路由表的记录搬迁请求发送给除执行设备外的所有执行设备;
    接收负载均衡器发送的业务请求;
    解析所述业务请求,执行所述业务请求对应的业务流程;
    接收所述云管理设备发送的路由表更新通知;
    将激活的数据路由表由伸展前的数据路由表变更为伸展后的数据路由表。
PCT/CN2016/101576 2015-11-30 2016-10-09 云计算环境下虚拟资源弹性伸展的方法,系统和设备 WO2017092505A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16869816.5A EP3337139B1 (en) 2015-11-30 2016-10-09 Method, system and device for elastic scaling of virtual resources in cloud computing environment
US15/949,753 US20180234493A1 (en) 2015-11-30 2018-04-10 Elastic scale-up method and system for virtual resource in cloud computing environment, and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510854608.5A CN106817432B (zh) 2015-11-30 2015-11-30 云计算环境下虚拟资源弹性伸展的方法,系统和设备
CN201510854608.5 2015-11-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/949,753 Continuation US20180234493A1 (en) 2015-11-30 2018-04-10 Elastic scale-up method and system for virtual resource in cloud computing environment, and device

Publications (1)

Publication Number Publication Date
WO2017092505A1 true WO2017092505A1 (zh) 2017-06-08

Family

ID=58796214

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/101576 WO2017092505A1 (zh) 2015-11-30 2016-10-09 云计算环境下虚拟资源弹性伸展的方法,系统和设备

Country Status (4)

Country Link
US (1) US20180234493A1 (zh)
EP (1) EP3337139B1 (zh)
CN (1) CN106817432B (zh)
WO (1) WO2017092505A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10069869B2 (en) 2016-05-17 2018-09-04 Amazon Technologies, Inc. Versatile autoscaling
US10412022B1 (en) * 2016-10-19 2019-09-10 Amazon Technologies, Inc. On-premises scaling using a versatile scaling service and an application programming interface management service
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US10778506B1 (en) * 2017-11-30 2020-09-15 Open Invention Network Llc Coordinated switch of activity in virtual network function components
CN108762928B (zh) * 2018-05-29 2022-03-22 郑州云海信息技术有限公司 一种弹性伸缩服务执行操作时的处理方法和系统
CN109067600A (zh) * 2018-09-25 2018-12-21 郑州云海信息技术有限公司 一种私有云管理平台系统及其任务处理方法
TWI713325B (zh) * 2019-09-17 2020-12-11 宜鼎國際股份有限公司 可遠端控制電子設備的系統及方法
US11520638B1 (en) * 2020-06-25 2022-12-06 Amazon Technologies, Inc. Combined active and preinitialized resource management for rapid autoscaling
US11481262B1 (en) 2020-06-25 2022-10-25 Amazon Technologies, Inc. Rapid autoscaling with preinitialized instance quantity based on historical scale up rate
CN111858079B (zh) * 2020-07-27 2024-03-12 北京达佳互联信息技术有限公司 分布式锁迁移方法、装置及电子设备、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及系统
CN104780115A (zh) * 2014-01-14 2015-07-15 上海盛大网络发展有限公司 云计算环境中负载均衡方法及系统
WO2015176522A1 (zh) * 2014-05-20 2015-11-26 华为技术有限公司 一种vm资源调度方法、装置及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603481B2 (en) * 2002-10-31 2009-10-13 Novell, Inc. Dynamic routing through a content distribution network
US20100153342A1 (en) * 2008-12-17 2010-06-17 Alistair Duncan Vim next generation - migration
CN102681899B (zh) * 2011-03-14 2015-06-10 金剑 云计算服务平台的虚拟计算资源动态管理方法
JP2015149577A (ja) * 2014-02-06 2015-08-20 株式会社日立製作所 帯域制御装置
JP2015149578A (ja) * 2014-02-06 2015-08-20 株式会社日立製作所 運用管理装置
US10664297B2 (en) * 2014-02-24 2020-05-26 Hewlett Packard Enterprise Development Lp Activating pre-created VNFCs when a monitored performance level of a VNF exceeds a maximum value attainable by the combined VNFCs that form a VNF
WO2015146374A1 (ja) * 2014-03-28 2015-10-01 株式会社Nttドコモ 仮想化資源管理ノード及び仮想マシン移行方法
US9881071B2 (en) * 2014-06-10 2018-01-30 Red Hat, Inc. Transport layer abstraction for clustering implementation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及系统
CN104780115A (zh) * 2014-01-14 2015-07-15 上海盛大网络发展有限公司 云计算环境中负载均衡方法及系统
WO2015176522A1 (zh) * 2014-05-20 2015-11-26 华为技术有限公司 一种vm资源调度方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3337139A4 *

Also Published As

Publication number Publication date
US20180234493A1 (en) 2018-08-16
EP3337139B1 (en) 2020-02-26
CN106817432A (zh) 2017-06-09
EP3337139A1 (en) 2018-06-20
CN106817432B (zh) 2020-09-11
EP3337139A4 (en) 2018-08-22

Similar Documents

Publication Publication Date Title
WO2017092505A1 (zh) 云计算环境下虚拟资源弹性伸展的方法,系统和设备
US10700928B2 (en) Method and apparatus for deploying service in virtualized network
CN108737270B (zh) 一种服务器集群的资源管理方法和装置
JP6751780B2 (ja) アクセラレーション・リソース処理方法及び装置
US10313424B2 (en) Cloud application processing method, cloud application deployment method, and related apparatus and system
US11611481B2 (en) Policy management method and system, and apparatus
KR102072727B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 묵시적 버저닝을 지원하기 위한 시스템 및 방법
JP6636142B2 (ja) スケールアウト関連付けの方法および装置、ならびにシステム
WO2012122812A1 (zh) 资源管理方法、系统和资源管理器
US20160019125A1 (en) Dynamically changing members of a consensus group in a distributed self-healing coordination service
WO2014190791A1 (zh) 一种网关设备身份设置的方法及管理网关设备
US20230069240A1 (en) Dynamic cloning of application infrastructures
JPWO2018220708A1 (ja) 資源割当システム、管理装置、方法およびプログラム
WO2022111313A1 (zh) 一种请求处理方法及微服务系统
WO2018000202A1 (zh) 一种负载迁移方法、装置及系统
CN102724104B (zh) 自动配置Java EE应用集群的装置和方法
US9760370B2 (en) Load balancing using predictable state partitioning
WO2018121178A1 (zh) 一种资源调整方法、装置和系统
WO2016000303A1 (zh) 一种资源分配方法、系统及计算机存储介质
WO2023207189A1 (zh) 负载均衡方法及系统、计算机存储介质、电子设备
WO2023029485A1 (zh) 数据处理方法、装置、计算机设备及计算机可读存储介质
JP2013003768A (ja) 状態管理方法、処理装置、および状態管理プログラム
JP2019032653A (ja) 分散方法
WO2018000617A1 (zh) 一种数据库的更新方法及调度服务器
US11943316B1 (en) Database connection multiplexing for prepared statements

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: 16869816

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2016869816

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE