CN110383795A - Serverless backup cloud management platform based on service graph - Google Patents

Serverless backup cloud management platform based on service graph Download PDF

Info

Publication number
CN110383795A
CN110383795A CN201880017081.2A CN201880017081A CN110383795A CN 110383795 A CN110383795 A CN 110383795A CN 201880017081 A CN201880017081 A CN 201880017081A CN 110383795 A CN110383795 A CN 110383795A
Authority
CN
China
Prior art keywords
sgc
service graph
event
state machine
cloud
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201880017081.2A
Other languages
Chinese (zh)
Other versions
CN110383795B (en
Inventor
张红
法尔哈德·P·桑娜瓦拉
亨利·路易斯·福里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN110383795A publication Critical patent/CN110383795A/en
Application granted granted Critical
Publication of CN110383795B publication Critical patent/CN110383795B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • 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
    • 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
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines
    • 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A kind of serverless backup cloud framework, method and non-volatile computer-readable medium based on service graph.Cloud escrow function can be programmed into coordinated micro services application by the service graph, and the execution of the cloud escrow function is thus controlled with prescribed manner.In addition, cloud escrow function is arranged to and sequentially or concurrently executes by service graph allowance user, error condition, and processing dynamic retractility are managed by reactivating funcall to adapt to event load etc. of variation.Service graph also allows user to be defined on the meeting point (that is, state) for executing cloud escrow function and waiting predefined event before advancing in the service graph.The advantages of coordinating the execution of cloud escrow function using service graph is: the service graph provides a consistent frame for managing cloud escrow function, and user need not solve coordination problem in person.

Description

Serverless backup cloud management platform based on service graph
Related application
This application claims submission on March 16th, 2018 and entitled " the serverless backup cloud management platforms based on service graph No. 15/923,989 U.S. of (SERVICE GRAPH BASED SERVERLESS CLOUD PLATFORM) " is non-provisional specially The priority of benefit application, this application require the 62/473rd, No. 973 U.S. Provisional Patent Application submitted on March 20th, 2017 Priority, these applications are incorporated herein by reference, as reproducing in its entirety.
Technical field
This application involves a kind of serverless backup cloud frameworks, and more specifically to based in serverless backup cloud framework The function of service graph executes.
Background technique
" cloud " is a kind of abstract concept, it is related with by the resource management of network, and more precisely, is used for offer Data center architecture by the platform of network offering services is related.For example, cloud can refer to the various clothes provided by internet Business, such as network-based storage service or calculating service.Typical cloud framework deployment includes layer-stepping hierarchical structure, the structure Physical layer including the network hardware and the one or more software layers for allowing users to the access network hardware.For example, cloud frame A kind of common type of structure deployment includes Internet resources (for example, server, array of storage devices, network switch etc.) physical layer With multilayer class type software frame, the software frame includes that practice processes facility services (Infrastructure as a Service, IaaS) first layer, implementing platform be service (Platform as a Service, PaaS) the second layer and reality Apply the third layer that software services (Software as a Service, SaaS).In general, although may have exception, Resource in third layer depends on the resource in the second layer, and the resource in the second layer depends on the resource in first layer, and first Resource in layer depends on the resource in physical layer.
In recent years, a kind of serverless backup cloud framework is developed, allows users to execute function in cloud, without with upper Resource is provided in traditional pyramid structure described in text.For example, Amazon business platform (Amazon Web Services, AWS) one kind has been developed to be referred to asThe service of AWS Lambda allows users to do not having to as traditional Code is run in the case that the server for providing or managing like that in service for running code is provided.Therefore, it can establish one Kind call the weblication for uploading to the function of AWS Lambda service, wherein the computing resource for executing function be by Amazon rather than weblication management and offer.
However, there are problems for such serverless backup framework.This framework can be used for executing can be from many differences The specific function of client call for several times, and the resource for handling these funcalls automatically provides, and makes it possible to Dynamic retractility is to adapt to dynamic service.But this framework is not appropriate for continuously calling multiple functions.Amazon is developed recently Another kind is referred to as the service of AWS step function (AWS Step Functions), it can be used together with AWS Lambda comes Coordinate the execution of multiple functions.In fact, AWS step function allows users to order and the execution that multiple functions are coordinated in definition Workflow.The execution of function can be deferred to another function and complete, or even the period of one setting of delay.However, AWS step function The function execution that can be supported can not be triggered by complicated event, therefore the limitation of function and the application that this service construction can be used The complexity of program or program is related.Need to develop a kind of more various platform, in the nothing for being similar to AWS Lambda Function is executed in server architecture.
Summary of the invention
A kind of serverless backup cloud framework is provided.The serverless backup cloud framework includes service graph (service graph, SG) Manager, the service graph manager are used to receive the state machine model specification of definition status machine model, generate for managing reality Apply the service graph controller of one or more state machine instances (state machine instance, SMI) of state machine model (service graph controller, SGC), and generate several events associated with one or more event sources and map Agency.Each event mapping agent is used to track the event generated at event source, and logical to one or more SGC transmission event Know.Serverless backup cloud framework also comprises function enforcement engine, and the function enforcement engine is used for the function in response to being generated by SMI It is capable of calling and executes multiple cloud escrow functions on one or more nodes.
A kind of method for executing cloud escrow function in serverless backup cloud framework is also provided.The method includes taking The state machine model specification of definition status machine model is received at business figure manager.In addition, the method includes generating for managing Implement one or more service graphs control of the state machine instance (state machine instance, SMI) of state machine model Device (service graph controller, SGC).In addition, related to one or more event sources the method includes generating Several event mapping agents of connection, wherein each event mapping agent is used to track the event generated at event source and to one Or multiple SGC transmission event notices.Furthermore the method includes in response to the funcall generated by SMI and at one or more Multiple cloud escrow functions are executed on a node.
Further it is provided that a kind of computer instruction of storage for executing cloud escrow function in serverless backup cloud framework is non- Temporary computer-readable medium, the computer instruction make one or more of when executed by one or more processors Processor executes step.The step includes that the state machine model rule of definition status machine model are received at service graph manager Model.In addition, the step includes generating state machine instance (the state machine for being used for management implementation state machine model Instance, SMI) one or more service graph controllers (service graph controller, SGC).In addition, described Step includes generating several event mapping agents associated with one or more event sources, wherein each event mapping agent is used It is notified in tracking the event generated at event source and transmitting event to one or more SGC.Furthermore the step includes response Multiple cloud escrow functions are executed on one or more nodes in the funcall generated by SMI.
Optionally, in any previous embodiment, the expression of state machine model is based on service graph-based language, wherein state machine mould Type is included in state, movement defined in pyramid structure and event.Alternately scheme, movement include activation by function The funcall for the cloud escrow function that enforcement engine executes.As another selection scheme, event includes file event, table event At least one of with protocol events.Alternatively, service graph language includes state machine model Javascript object representation (javascript object notation, JSON) indicates.
Optionally, in any previous embodiment, service graph manager is used to generate the service corresponding to special services figure Figure engine, the service graph engine include: one or more of SGC;The service graph tune communicated with one or more of SGC Spend device;And one or more SMI associated with every SGC in one or more of SGC.As another optional side Case, every SGC trustship on the different nodes in multiple nodes in one or more of SGC, each node manage on behalf of another one SGC and one or more SMI associated with the SGC.As another optinal plan, SG manager is used for by adjusting described The number of one or more SGC executes load balancing.
For this purpose, in some optional embodiments, foregoing structure, method and/or non-transitory computer-readable medium One or more of features described above a kind of serverless backup cloud framework based on service graph can be provided.Service graph can be by cloud support Pipe function is programmed into coordinated micro services application program, and thus with the execution of prescribed manner control cloud escrow function.Separately Outside, cloud escrow function is arranged to by service graph allowance user sequentially or concurrently executes, and is managed by reactivating funcall Error condition, and processing dynamic retractility is to adapt to event load changed etc..Service graph also allows user to be defined on execution Cloud escrow function and the meeting point (that is, state) for waiting predefined event before advance in service graph.Coordinated using service graph The advantages of execution of cloud escrow function, is that service graph provides a consistent frame for managing cloud escrow function, user Coordination problem need not be solved in person.It should be noted that aforementioned potential advantage is to illustrate for illustrative purpose, should not be construed as any The limitation of mode.
Detailed description of the invention
Figure 1A and 1B illustrates according to prior art for implementing the infrastructure of cloud;
Fig. 2 is the conceptual illustration of cloud framework according to prior art;
Fig. 3 is the conceptual illustration of serverless backup cloud framework according to prior art;
Fig. 4 A is the conceptual illustration according to the serverless backup cloud framework of one embodiment;
Fig. 4 B is the conceptual illustration of serverless backup cloud framework according to another embodiment;
Fig. 5 is the concept map according to the state machine model of one embodiment;
Fig. 6 illustrates the additional assemblies of the serverless backup cloud framework of Fig. 4 A according to one embodiment;
Fig. 7 illustrates the operation of the state machine model implemented by state machine instance according to one embodiment;
Fig. 8 is the process according to the method for executing cloud escrow function in serverless backup cloud framework of one embodiment Figure;
Fig. 9 illustrates the various frameworks that various preceding embodiments wherein can be implemented and/or functional exemplary system.
Specific embodiment
Cloud escrow function is programmed into coordinated micro services application program by service graph.Service graph is indicated by from various The event driven state machine model in source, the source is with the execution of prescribed manner control cloud escrow function.Service graph permits user Cloud escrow function is arranged to and is sequentially or concurrently executed, error condition, and processing are managed by reactivating funcall Dynamic retractility is to adapt to event load changed etc..Service graph allows that multiple state machine instances are instantiated and dispatched, State machine model is embodied as being defined by service graph by the multiple state machine instance.
Service graph also allows user to be defined on execution cloud escrow function and waits predefined thing before advancing in service graph The meeting point (that is, state) of part.The advantages of coordinating the execution of cloud escrow function using service graph is that service graph provides one For consistent frame for managing cloud escrow function, user need not solve coordination problem in person.
Figure 1A and 1B illustrates according to prior art for implementing the infrastructure of cloud 100.As used herein, cloud 100 refer to the one group of hardware resource (calculate, store and network) being located in one or more data centers (that is, physical location) With for the software frame for example, by the one group of service of the network implementations such as internet.As shown in Figure 1A, cloud 100 includes multiple numbers According to center 110, each data center 110 in the multiple data center 110 includes one or more resource pools 120.Resource Pond 120 includes accumulation layer 122, computation layer 124 and network layer 126.
As shown in fig. 1b, accumulation layer 122 includes the physical resource for store instruction and/or data in cloud 100.It deposits Reservoir 122 includes multiple storage area networks (storage area network, SAN) 152, and every SAN 152 is provided to one The access of a or multiple piece of grade storage equipment.In one embodiment, SAN 152 includes that can pass through one or more of network access A non-volatile memory device.The example of non-volatile memory device includes but is not limited to hard disk drive (hard disk Drive, HDD), solid state drive (solid state drive, SSD), such as EEPROM or compact flash (Compact Flash, CF) card flash memory etc..In another embodiment, SAN 152 is redundant array of independent disks (Redundant Array of Independent Disk, RAID) storage array, it is by multiple physical disk drive components (for example, several similar HDD) is combined in single logic storage unit.In another embodiment, SAN 152 is that one kind is virtually deposited Resource is stored up, it provides the level of abstraction to physical memory resources, so that virtual block address can be used for being stored in one or more physics Reference data in one or more corresponding blocks of memory on non-volatile memory device.In such embodiments, it stores Layer 122 may include the software frame executed on the one or more processors, for implementing virtual storage resource.
Computation layer 124 includes the physical resource for executing program (that is, instruction set) in cloud 100.Computation layer 124 can wrap Include multiple calculating scaling units (compute scale unit, CSU) 154, every CSU 154 include at least one processor and For the software frame using at least one processor.In one embodiment, CSU 154 includes providing to refer to for executing Enable one or more servers (for example, blade server) of the physical hardware of collection.Each server may include one or more A processor (for example, CPU, GPU, ASIC, FPGA, DSP etc.) and for store will be by one or more of processors The instruction of reason and/or the volatile memory of data.CSU 154, which may also include, to be loaded into volatile memory and by described one The operating system that a or multiple processors execute, the operating system is the various programs executed on the hardware resource of server Running environment is provided.In another embodiment, CSU 154 is to provide a series of virtual resource of the hardware resource of emulating servers Virtual machine.Computation layer 124 may include enable several virtual machines essentially simultaneously to execute on a single server virtual Machine monitor or monitor of virtual machine.
Interconnector layer 126 includes the physical resource for implementing network.In one embodiment, interconnector layer 126 includes making to count According to the several interchangers and/or router that can be transmitted between the different resource in cloud 100.For example, every in computation layer 124 One server may include network interface controller (the network interface for being coupled to network interface (for example, Ethernet) Controller, NIC).Interface may be coupled to the network switch, enables data to be sent to from server and network exchange Another server of machine connection.Several layers of the implementable osi model of interconnector layer 126, including data link layer (that is, layer 2), networking Layer (that is, layer 3) and transport layer (that is, layer 4).In one embodiment, the implementation of interconnector layer 126 enables virtual network in Physical Network The virtualization layer established in network.In such embodiments, each network unit in network layer 126 (network unit, NU) 156 be Virtual Private Network (VPN).
It will be appreciated that each data center 110 in the multiple data center may include different hardware resource set, and because This may include different number resource pools 120.In addition, some resource pools 120 may not include accumulation layer 122, computation layer 124 And/or one or more of network layer 126.For example, a resource pool 120 can only include one group of service in computation layer 124 Device.Another resource pool 120 can include simultaneously computation layer 124 and network layer 126, but not including that accumulation layer 122.
Fig. 2 is the conceptual illustration of cloud framework 200 according to prior art.As shown in Figure 2, cloud framework 200 is expressed as The layer of multiple class types.Cloud framework 200 includes physical layer 202, infrastructure i.e. service (Infrastructure as a Service, IaaS) layer 204, platform i.e. service (Platform as a Service, PaaS) layer 206 and software i.e. service (Software as a Service, SaaS) layer 208.Physical layer 202 is a series of hardware resources for implementing cloud.In a reality It applies in example, implements physical layer 202 as shown in Figure 1A and 1B.
IaaS layer 204 is the software frame for enabling the resource of physical layer 202 to distribute to different infrastructure services.IaaS Layer 204 may include the software frame for managing and distributing the resource in physical layer 202.For example, IaaS layer 204 may include being used for Manage the software engine of the SAN 152 in the accumulation layer 122 of physical layer 202.Software engine can also manage the calculating of physical layer 202 CSU 154 in layer 124.Service in PaaS layer 206 or SaaS layer 208 can request distribution IaaS layer 204 in service come into Row task.For example, the cluster service in PaaS layer 206 can request to distribute several virtual machines from IaaS layer 204, it is IaaS layers described 204 implement virtual machine on one or more CSU 154.
It will be appreciated that cloud framework 200 shown in Figure 2 is a kind of type for the architecture framework implemented in conventional cloud.So And other implementable different frames of cloud framework.For example, cloud framework may include the intermediate IaaS layer for not having any PaaS layer 206 204 and SaaS layer 208.In another example, cloud framework may include container service (Container as a Service, CaaS) layer (that is, a kind of new not in the way of the resource virtualizing of IaaS and PaaS) is plus the SaaS layer at the top of CaaS layer. At each occurrence, these cloud frameworks use a kind of dependent resource scheme of resource for requesting operation service.
Fig. 3 is the conceptual illustration of serverless backup cloud framework 300 according to prior art.As shown in Figure 3, serverless backup Cloud framework 300 does not have pyramid structure identical with traditional cloud framework as shown in Figure 2.Physical layer 302 is a series of implementations The hardware resource of cloud.In one embodiment, as shown in Figure 1A and 1B as implement physical layer 302.
Serverless backup cloud framework 300 includes being drawn using the serverless backup that the hardware resource management function of physical layer 302 executes Hold up 310.In one embodiment, serverless backup engine 310 include management executed in the resource in physical layer 302 one or The virtual machine monitor of multiple virtual machines.The runs software on each virtual machine of serverless backup engine 310, the virtual machine include One or more containers for performing various functions.Serverless backup engine 310 is used to be based on from the received function of API gateway 320 It is capable of calling to execute function.
Application program 330 can call a kind of function by carrying out funcall.In one embodiment, by with The associated endpoint of API gateway 320 carries out RESTful API Calls to implement funcall.As known in the art, standard is super Text transfer protocol (Hypertext Transfer Protocol, HTTP) method can be with Universal Resource Locator (Uniform Resource Locator, URL) it is used together to specify the function of identifying by URL.API gateway 320 can be from application program 330 receive capabilities are called, and the application program 330 triggers execution of the serverless backup engine 310 to corresponding function.
It will be appreciated that term serverless backup does not imply that cloud framework 300 not the fact that include server, exactly, term Serverless backup refers to that funcall device does not need the fact that provide the server resource for executing function, because the offer is It is handled by serverless backup engine 310.Also, it should be appreciated that serverless backup engine 310 can be constructed based on conventional cloud framework, So that the offer of virtual machine can for example utilize the regular service in IaaS layer 204 or PaaS layer 206.
Fig. 4 A is the conceptual illustration according to the serverless backup cloud framework 400 of one embodiment.As shown in Figure 4 A, no clothes Device cloud framework 400 of being engaged in does not have pyramid structure identical with traditional cloud framework as shown in Figure 2.Physical layer 402 is a series of Implement the hardware resource of cloud.In one embodiment, as shown in Figure 1A and 1B as implement physical layer 402.
Serverless backup cloud framework 400 is for enabling multiple cloud trustships based on the state machine model changed in response to event The execution of function.The expression of state machine model can be based on service graph-based language.For example, service graph can be used to determine in state machine model Justice, the service graph are the files indicated for including the state machine model write with service graph-based language.State machine model is included in State, movement defined in pyramid structure and event.Movement may include funcall, payload processing, in a delay It kept in section, be converted to NextState or final state machine.In one embodiment, service graph-based language is state machine model JSON is indicated.In another embodiment, service graph-based language is the specific language with the grammer for definition status machine model.
Serverless backup cloud framework 400 includes function enforcement engine 410, service graph engine 420, service graph (service Graph, SG) manager 430 and one or more event source 440.Function enforcement engine 410 manages the resource in physical layer 402 Offer to execute cloud escrow function.For example, function enforcement engine 410 is called from 420 receive capabilities of service graph engine, use is provided In the container of the execution of processing function, effective load data is transmitted to the associated node of Yun Zhongyu container, executes function, and Result effective load data is oriented to destination locations.Function can be compiled with various language (for example, Java, Python, C++ etc.) Write, they can be compiled into binary system it is executable or at runtime between compile, and make the function and distributing to described It is executed in the container that the resource of function is isolated with other functions.
Service graph engine 420 include service graph controller (service graph controller, SGC) scheduler 422, One or more service graph controllers (service graph controller, SGC) 424 and associated with every SGC 424 One or more state machine instances (state machine instance, SMI) 426.Every SGC 424 is for managing one Or multiple state machine instances (state machine instance, SMI) 426, the state machine instance 426 are implemented for servicing The state machine model of the specific call of figure.The service graph being defined by the user can by include the calling in weblication Lai Activation.For example, weblication may include HTTP request associated with the URI of service graph is corresponded to.It is asked in response to HTTP It asks, the state machine model that the service graph implemented new SMI 426 is created by weblication defines.
SGC scheduler 422 is for providing required number SGC 424 to handle dynamic industry associated with special services figure It is engaged in (that is, a series of functions associated with weblication).For example, user's creation includes the calling to service graph Weblication.Service graph definition is uploaded to cloud by user, and cloud, which is parsed, carrys out creation state machine model specification.Service graph draws 420 are held up for providing when being loaded on client machine and executing weblication and managing several SMI 426, thus in institute Stating operation on client machine includes the code to the calling of service graph.Every SGC 424 and several SMI 426 can be existed with trustship On different nodes (that is, server) in cloud.SGC scheduler 422 may be in response to the business generated by weblication to manage Instantiation of the SGC 424 on various nodes expands as needed and reduces the number of SGC 424.In one embodiment, special The SGC scheduler 422 for determining service graph, which has, enables weblication to be called to execute service graph SGC scheduler 422 The specific URI of micro services.SGC scheduler 422 creates new SMI 426, to be handled by transmitting message to a SGC 424 The calling.SGC scheduler 422 can also will be transmitted to SMI from the received payload of weblication by SGC 424 426, allow SMI 426 to handle payload according to service graph.Once service graph completes the processing of payload, Result payload is just transferred to SGC scheduler 422 to pass the weblication being called, and SMI back by SMI 426 426 can be deleted.
SG manager 430 activates one or more service graph engines 420 in cloud on various nodes.Each service graph engine 420 can be associated for the different service graphs of multiple and different weblications creation from multiple and different users.In addition, SG is managed Device 430 can activate multiple service graph engines 420 for single service graph, to expand the serverless backup of very big weblication Cloud framework.SG manager 430 is a kind of number for executing load balancing and expand and reduce SGC 424 for each service graph Centralized logic module.SG manager 430 receives service graph by implementing the API 450 of state machine model specification.With specific clothes The service graph that business graph-based language is write can be read by resolver and be converted into state machine model specification according to API 450, to lead to It crosses SMI 426 and implements state machine model.
SG manager 430 is also used to management event.Cloud may include several event sources 440.Event source 440 refers to Yun Zhongyu thing The associated any component of part.The example in event source 440 includes but is not limited to network storage equipment, database, API gateway etc. Deng.The example of event include but is not limited to file event (for example, storing image in cloud storage equipment), table event (for example, Entry is added to database) or protocol events (for example, HTTP request is received at API gateway).Event can be used for triggering state Movement in the state of machine model.In other words, movement may not be immediately performed when entering particular state, in fact, dynamic Make to execute only in response to one or more events occur after entering state.
In one embodiment, in order to monitor event, SG manager 430 is in each event source 440 that service graph is quoted Creation event mapping agent 442.Event mapping agent 442 is for retrieving event to the mapping table of SGC and in 440 He of event source The software module of communication channel is established between one or more SGC 424.In one embodiment, SG manager 430 generates base Make event mapping table relevant to SGC 424 in the state machine model specification for corresponding to service graph.Special state machine model specification For instantiating the special services figure engine 420 that (that is, configuration) includes several SGC 424.Every SGC 424 can be used specific Universal resource identifier (uniform resource identifier, URI) Lai Yinyong, the specific universal resource identifier Other components of serverless backup cloud framework 400 are enable directly to communicate with SGC 424.Then, each event mapping agent 442 can It is established using the URI corresponding to SGC 424 and is connect with the TCP/IP of one or more SGC 424.Then, event mapping agent 442 are used in corresponding event source 440 detect one or more events for SG manager 430.After detecting event, thing Part mapping agent 442 then directly transmits a message to one or more SGC 424 corresponding with the event.
In alternative embodiments, event mapping agent 442 can be the multiple and different event sources of poll 440 with detecting event Centralized component.Message related with event then can be transferred to one or more SGC by centralized event mapping agent 442 424。
The example that every SMI 426 is used to implement state machine model.SMI 426 is activated and is changed into original state.It connects SMI426 operation, between the state defined by state machine model change when handle effective load data.In each state Movement can be triggered in response to one or more events.Movement may include activating the cloud executed by function enforcement engine 410 The funcall of escrow function.Movement can also the triggering when receiving result from cloud escrow function.Again, implemented by SMI 426 State machine model be used to coordinate the execution of micro services application program medium cloud escrow function.
Fig. 4 B is the conceptual illustration of serverless backup cloud framework 460 according to another embodiment.Optionally, no clothes Business device cloud framework 460 can use any any one or more implementations previously and/or in subsequent figure and/or its description illustrated The one or more features of example are implemented.For example, serverless backup cloud framework 460 can be in the serverless backup cloud framework 400 of Fig. 4 A Implement in context.It will be appreciated, however, that serverless backup cloud framework 460 can be implemented in other suitable environment.
As shown, the receiver component in 462 form of receiver module is provided, for receiving definition status machine model State machine model specification.In various embodiments, receiver module 462 can be but not limited to the service graph manager of Fig. 4 A 430, any software of at least one processor (by then describing) and control processor and/or it is able to carry out aforementioned functional The component of any other circuit system.
Further include in 464 form of controller generation module controller generate component, communicated with receiver module 462 with Generate one or more of the state machine instance (state machine instance, SMI) for management implementation state machine model A service graph controller (service graph controller, SGC).In various embodiments, controller generation module 464 It can be but not limited to the service graph manager 430 of Fig. 4 A, at least one processor (will then describe) and control processor Any software and/or be able to carry out aforementioned functional any other circuit system component.
With continued reference to Fig. 4 B, component is generated in the agency for acting on behalf of 466 form of generation module and controller generation module 464 is logical Letter, for generating several event mapping agents associated with one or more event sources, wherein each event mapping agent is used It is notified in tracking the event generated at event source and transmitting event to one or more SGC.In various embodiments, Dai Lisheng The service graph manager 430, at least one processor (will then describe) and control of Fig. 4 A can be but not limited at module 466 Any software of processor and/or be able to carry out aforementioned functional any other circuit system component.
It also comprises and executes component in the function of 468 form of function execution module, communicated with generation module 466 is acted on behalf of, For executing multiple cloud escrow functions on one or more nodes in response to the funcall generated by SMI.In various realities Apply in example, function execution module 468 can be but not limited to the function enforcement engine 410 of Fig. 4 A, at least one processor (will be with Afterwards describe) and control processor any software and/or be able to carry out aforementioned functional any other circuit system component.
Fig. 5 is the concept map according to the state machine model 500 of one embodiment.It will be appreciated that the state machine model 500 of Fig. 5 It is provided by way of example only, and be may include different conditions topology by each user-defined state machine model and turned between states Become.As shown in figure 5, state machine model 500 includes five kinds of states: first state 510, the second state 520, the third state 530, the Four states 540 and the 5th state 550.The calling of the example of state of activation machine model 500 is received by SG manager 430.SG management Device 430 can be as needed based on any event associated with the state in state machine model 500, in one or more event sources Event mapping agent is created in 440.In one embodiment, calling can be loaded into response to client machine and run client Side code realizes that the client-side code is, for example, javascript and generates to associated with state machine model 500 The HTTP request of URL.SG manager 430 is also used to transmit message to SGC scheduler 422, corresponds to the calling to create The new example of SMI 426.An existing SGC 424 may be guided in SGC scheduler 422 or the new SGC 424 of creation comes to SMI's 426 New example is instantiated.Once the SMI 426 for corresponding to the calling is in operation, state machine enters first state 510。
Each state can be associated with one or more movements.Movement may include calling function based on cloud, processing effective Load, within a period delay voltage, be converted to NextState or final state machine.The activation of movement can occur entering When state, after one or more events occurred, after a delay, when the result from funcall is received, After error (for example, funcall is overtime) or when exiting state.In many states, only occur in one or more events The movement of activation later.Movement can be gated (that is, can not be performed), until multiple events occur (that is, with "and" logical groups Close) until or until any of two or more events (that is, with "or" logical combination) occurs.Equally, exist The notice that event occurs is received from one or more event mapping agents 442 at SGC424.
As shown in figure 5, state machine model 500 enters original state, such as first state 510 when creating SMI 426. First state 510 can define the movement executed after entering first state 510 or after one or more events occurred.The One state 510 also may specify the condition for being converted to another state.In one embodiment, state machine model can be in result from institute It states when function specified by the movement activated in state returns and is converted to another state.In another embodiment, state machine model Can based on one or more the generation of event and be converted to another state.
State machine model 500 shows a transformation from the 510 to the second state of first state 520.However, single state can be same Sample includes the logic to two or more transformations of different conditions.For example, in response to the generation of first event, can define from Second state 520, in response to the generation of second event, can be defined from the second state 520 to the first transformation of the third state 530 To the second transformation of the 4th state 540.In other words, if current state is the second state 520, under state machine model One state will depend on the generation of particular event.As shown in figure 5, the third state 530 includes the first transformation to the 4th state 540 With the second transformation to the 5th state 550;4th state 540 includes the transformation to the 5th state 550;And the 5th state 550 wrap Include the transformation of final state machine model 500.
It will be appreciated that SMI 426 is used to implement the logic of state machine model, in response between the funcall of event, state Transformation, to from client, one or more event, the processing of the received payload of the result of the action etc..Implement at one In example, SMI 426 is that use state machine model specification is activated as input SMI 426 to be configured to implement by state machine mould The object for the state machine model that type specification defines, the state of the state machine model specification definition status machine model and with it is each Transformation between the associated event of state and movement and state.
Fig. 6 illustrates the additional assemblies of the serverless backup cloud framework 400 of Fig. 4 A according to one embodiment.As discussed above It states, service graph engine 420 is configured based on the represented state machine model of the service graph expression by state machine model.In a reality It applies in example, serverless backup cloud framework 400 includes authentication module 610, parser modules 620 and authentication module 630.User can be used Servicing graph-based language creation indicates the service graph 602 of state machine model.In one embodiment, service graph-based language is service graph JSON is indicated.In another embodiment, service graph-based language is the specific language defined in service graph linguistic norm.
User can submit to cloud service and allow users to creation state machine model to execute in serverless backup cloud framework 400 The service graph 602 of function based on cloud.In one embodiment, service graph 602 is stored as file by user, and is being transferred to cloud The file is submitted in the request of service.File containing service graph 602 can be handled by authentication module 610.Authentication module 610 is used New demand servicing Figure 60 2 or the existing service graph 602 of modification are created in only permission authorized user.Authentication module 610 can using user name and Password authenticates specific user, and ensures that submitted service graph corresponds to special delegated authority user.Once service graph 602 is recognized Card, service graph 602 are transmitted to parser modules 620.
Parser modules 620 can be with the received file such as ASCII text formatting, to determine by service graph 602 for parsing The state machine model of expression.In one embodiment, 620 analysis service graph grammar of parser modules, to determine by service graph 602 The structure of the state machine model of expression.When reading every an object (that is, state, movement, event and/or result) from file, The object can be passed to authentication module 630.Authentication module 630 can be used for being programmed the service graph object parsed Grammer verifying.In other words, whether authentication module 630 accords with for determination in the fixed every an object of the document of service graph 602 Close proper syntax defined in service graph linguistic norm.Authentication module 630 can also verify quoted in service graph 602 it is any Function/event.For example, authentication module 630 can check that any function of being cited approvingly in service graph 602 by function name is executed in function Presence in engine 410.Authentication module 630 is also checked using SG manager 430 and is cited approvingly with by the event name in service graph 602 The presence in the associated event source 440 of any event.
Once authentication module 630 has been acknowledged the grammer and availability of function and event, authentication module 630 is with regard to exportable shape State machine model specification 604 and function are to URI mapping table 606.Equally, state machine model specification 604 is indicated by service graph 602 The definition of state machine model, and when the example to SMI 426 is instantiated to implement state machine model as input into Row transmitting.Specific function title (that is, movement) is mapped to corresponding to function title based on cloud by function to URI mapping table 606 Function unique URI so that SMI 426 can be used the function in mapping table 606 URI generation be transferred to function execution draw Hold up 410 request.
Fig. 7 illustrates the operation of the state machine model implemented by state machine instance according to one embodiment.Service graph can quilt A series of transformation being considered as between states and those states.Each state may be in response to one or more events and trigger one or Multiple movements.Fig. 7 is the general of the operation associated with current state 710 is entered in the state machine model implemented by SMI 426 Read figure.
As shown in Figure 7, state machine model is converted to current state 710 from original state 705.Original state 705 will have Effect load is transferred to current state as input.Payload includes the number that will be handled by one or more cloud escrow functions According to.In one embodiment, payload is by Javascipt object representation (Javascipt Object Notat Ion, JSON) format data.Current state 710 may include user-defined payload filter 715, handle from elder generation The received payload of preceding state 705.Payload filter 715 may include that the input is being provided as input into cloud support To the instruction for inputting and being filtered before pipe function.It will be appreciated that payload filter 715 is optional, and effectively Load is not needed in the preceding processing for being transmitted to movement 720.
How 720 definition of movement will handle filtered payload.The execution of movement 720 may be because one or more Event 730 and postpone.Equally, event mapping agent 442 monitors event source 440 and notifies SGC 424 when event occurs.One In a embodiment, event payload is transferred to SGC 424 by event mapping agent 442, and the event payload may include The data formatted by JSON related with event.For example, event payload can wrap if event is file event Include the metadata formatted by JSON associated with file, file content etc..If event is database table event, So event payload may include the data formatted by JSON for the entry in table.If event is agreement thing Part, then event payload may include by JSON format protocol data, such as HTTP method and with the method phase Associated URI.
Event payload can be handled by payload filter 735, and payload filter 735 can be effective in event Load data is passed to the pre-treatment event effective load data of movement 720.Once meeting event condition, processing is acted 720.In one embodiment, movement 720 includes the funcall of activation cloud escrow function.Payload can be used as input and pass It is delivered to function 740.Function 740 can be the cloud escrow function executed by function enforcement engine 410.The result conduct of function 740 As a result payload returns.As a result payload is the data formatted by JSON returned by function.As a result payload It can be received by the result action 750 in state.Result action 750, which can trigger, may be because one or more additional events and postpones Another movement (that is, nested movement), or can trigger from current state 710 to the transformation of NextState 760.As a result effectively negative Load can be also filtered before result payload is transmitted to NextState 760 by payload filter 755.
Fig. 8 is according to one embodiment for executing the method 800 of cloud escrow function in serverless backup cloud framework Flow chart.Method 800 can be executed by the combination of hardware, software or hardware and software.In one embodiment, method 800 is at least Partly implemented by the SG manager 430 of serverless backup cloud framework 400.
In step 802, the state machine model specification of definition status machine model is received.State machine model specification includes file, The file includes the definition according to application programming interface to state machine model, described to define for definition status The component and grammer of the structure of machine model.In one embodiment, SG manager 430 is defined from storage by one or more users Multiple state machine model specifications database reading state machine model specification.
In step 804, state machine instance (the state machine for being used for management implementation state machine model is generated Instance, SMI) one or more service graph controllers (service graph controller, SGC).In a reality It applies in example, SG manager 430 creates at least one SGC 424 in the memory of the node of cloud.Multiple SGC 424 can be disposed On multiple nodes in cloud, so that the different instances to the service graph carried out by various client machines load Weighing apparatus.Every SGC424 can create one or more associated SMI 426 to implement state machine model.
In step 806, several event mapping agents associated with one or more event sources are generated.In one embodiment In, SG manager 430 is directed to each of one or more events source 440 and generates event mapping agent 442.Each event is reflected Agency 442 is penetrated for tracking the event generated at event source 440 and notifying to one or more 424 transmission events of SGC.Thing The number of part mapping agent 442 can based on the event source quoted in state machine model number and determine.
It is executed on one or more nodes multiple in step 808 in response to the funcall generated by state machine instance Cloud escrow function.In one embodiment, in response to the event monitored by event mapping agent 442, SMI 426 execute and Change between each state of state machine model.SMI 426 issues the function of the part activation as the movement of one or more states It is capable of calling, the cloud escrow function that the funcall is executed by function enforcement engine 410.
Fig. 9 illustrates the various frameworks that various preceding embodiments wherein can be implemented and/or functional exemplary system 900.As shown, providing includes the system 900 for being connected at least one processor 901 of communication bus 902.Communication bus 902 can be used any suitable actualizing, such as peripheral component interconnection standard (Peripheral Component Interconnect, PCI), it is PCI-Express, accelerated graphics port (Accelerated Graphics Port, AGP), super Transmission or any other bus or point to point protocol.System 900 further includes memory 904.Control logic (software) sum number According to being stored in memory 904, the memory 904 can using random access memory (random access memory, RAM form).
System 900 further includes input/output (input/output, I/O) interface 912 and communication interface 906.It can be from defeated Enter equipment 912 and receive user's input, for example, keyboard, mouse, touch tablet, microphone etc..In one embodiment, communication connects Mouth 906 may be coupled to graphics processor (not shown), and the graphics processor includes multiple shader modules, rasterizer module Deng.It is even each may lie on single semiconductor platform entirely to form graphics processing unit with each of upper module (graphics processing unit, GPU).
In the present specification, single semiconductor platform can refer to single integrated circuit or chip based on semiconductor.It answers Note that the single semiconductor platform of term can also refer to the multi-chip module that connectivity improves, simulation on piece operation, and phase Greatly change for using traditional central processing unit (central processing unit, CPU) and bus implementation to have Into.Certainly, according to the needs of users, each module can also position individually or with the various combinations of semiconductor platform.
System 900 may also include from storage device 910.It include such as hard disk drive and/or removable from storage device 910 Dynamic memory driver, indicates floppy disk drive, tape drive, CD drive, digital versatile disc (digital Versatile disk, DVD) driver, recording equipment, universal serial bus (universal serial bus, USB) sudden strain of a muscle It deposits.Moveable memory driver reads and/or is written in known ways moveable storage from moveable storage unit Unit.
Computer program or computer control logic algorithm can store in memory 904 and/or from storage device 910 In.Such computer program when being executed performs various functions system 900.Memory 904, storage device 910 and/or any Other storage devices are the possibility examples of computer-readable medium.
In one embodiment, can in processor 901, the graphics processor that is coupled to communication interface 906, can be realized The integrated circuit (not shown) of at least part ability of both processor 901 and graphics processor, chipset are (that is, be designed to One group of integrated circuit etc. as cell operation and sale for carrying out correlation function) and/or for this purposes it is any its The framework and/or functionality of aforementioned each figure are realized under the context of its integrated circuit.
Furthermore can general-purpose computing system, circuit board systems, be exclusively used in amusement purpose game console system, The framework and/or functionality of aforementioned each figure are realized under the context of dedicated system and/or any other required system.For example, being System 900 can use desktop computer, laptop, server, work station, game console, embedded system and/or appoint The form of what other types of logic.Furthermore system 900 can use the form of various other equipment, including but not limited to a Personal digital assistant (personal digital assistant, PDA) equipment, mobile telephone equipment, TV etc..
In addition, system 900 can be coupled to network (for example, telecommunications network for communication objective although being not shown Network, local area network (local area network, LAN), wireless network, such as internet wide area network (wide area Network, WAN), peer-to-peer network, cable system etc.).
It should be noted that in an aspect, technology described herein be embodied in stored in computer-readable medium for referring to It enables and executing in the executable instruction that machine, device or equipment use or combination instruction execution machine, device or equipment use, it is described Instruction execution machine, device or equipment are, for example, the machine based on computer or containing processor, device or equipment.Fields Technical staff it will be appreciated that for some embodiments, can be by other types of the data of computer access including can store Computer-readable medium, such as cassette tape, flash memory cards, digital video disks, Bernoulli tape, deposit at random Access to memory (random access memory, RAM), read-only memory (read-only memory, ROM) etc..
As employed herein, " computer-readable medium " includes any conjunction for storing the executable instruction of computer program One of suitable medium is a variety of, allows instruction execution machine, system, device or equipment from computer-readable Jie Matter reads (or acquisition) and instructs and execute instruction to implement described method.Suitable storage format include electronics, magnetism, One or more of optics and electromagnetism format.The non-exhaustive list of conventional computer readable media includes: just Take formula computer disk;RAM;ROM;Erasable Programmable Read Only Memory EPROM (EPROM or flash memory);Optical storage is set It is standby, including portable compact disc (compact disc, CD), portable digital video CD (digital video disc, DVD), high definition DVD (HD-DVDTM), Blu-ray Disc;Etc..
It should be understood that the arrangement of the component illustrated in described figure is exemplary, and there may be other arrangements.Also answer Understand, it is being defined by tbe claims, described below and in various system components (and the structure illustrated in various block diagrams Part) indicate logic module in some systems configured according to theme disclosed herein.
For example, one or more of these system components (and component) can be in whole or in part by described At least some of component illustrated in arrangement illustrated in figure is realized.In addition, although at least one of these components extremely It is partially embodied as electronic hardware component and therefore constitutes machine, but other components may be embodied as software, the software The combination of machine, hardware or software and hardware is constituted when including in performing environment.
More precisely, at least one component being defined by tbe claims is at least partially embodied as electronic hardware group Part, such as instruction execution machine (such as machine processor-based or containing processor), and/or be embodied as particular electrical circuit or Circuit system (for example, interconnecting to execute the discrete logic gate of specific function).Implementable other components are software, hardware or software With the combination of hardware.In addition, some or all of these other components can combine, it is some to be omitted entirely, and can add Add additional assemblies, while still realizing functionality described herein.Therefore, theme described herein can many differences Version embodies, and all such versions are all covered within the scope of the claims.
In the above description, unless otherwise specified, reference action and the operation executed by one or more equipment Symbol indicates to describe theme.Thus, it should be understood that the such movement and operation of sometimes referred to as computer execution movement and operation The operation of processor including the data in structured form.This operation meeting change data or the storage for being maintained at computer At position in device system, this can be reconfigured or in other ways in such a way that those skilled in the art fully understands Change the operation of equipment.Data are maintained the number with the specific feature defined by data format in the physical locations of memory According to structure.Although however, theme is described under background above, it is not intended that the limitation to the theme, fields Technical staff will be appreciated that hereafter described in it is various movement and operation also can be implemented in hardware.
In order to promote the understanding to theme described herein, about multiple action sequences describe it is many in terms of.By weighing Benefit requires at least one of these aspects defined to be executed by electronic hardware component.Such as, it will be recognized that Special electric can be passed through Road or circuit system, executed by the program instruction that is just being performed by one or more processors or by combination of the two it is each Movement.Being not intended to imply to the description of any action sequence herein must comply with for this sequence is executed and describes specific Order.Unless otherwise indicated or in addition obviously and contradicted by context, otherwise all methods described herein all may be used With the execution of any suitable order.
Unless in addition instruction or obviously and contradicted by context herein, otherwise (especially exists in the context of description theme In the context of the appended claims) it is interpreted as covering with " described " and similar indicant using term " one (a/an) " Odd number and plural number.Unless in addition instruction herein, otherwise is intended merely to serve as and individually refers to the narration of the range of value herein The stenography method of each individual value within the said range, and each individual value is incorporated in this specification, such as With individually narration is general herein.In addition, foregoing description is for illustration purposes only, rather than for the mesh of limitation , because the range sought protection is defined by the claim that is set forth below and its any equivalent.Unless in addition wanting It asks, otherwise the use presented herein to any and all examples or exemplary language (for example, " such as ") is intended merely to more Illustrate theme well, and not the range of theme is caused to limit.Term is used in claims and written description the two The other similar phrases for the condition that " being based on " generates result with instruction are not intended to exclude to generate any other of the result Part.Any language in this specification is not necessarily to be construed that any undesired element of instruction and required element are real to practice It is same required for example to apply.
Embodiment described herein includes known for inventor for implementing one or more moulds of required theme Formula.It will be appreciated that after reading the above description, those skilled in the art will be clear that the version of those embodiments.This Inventor it is expected that skilled people in the industry uses such version as needed, and the present inventor intends with difference in this article The other way of specific description practices required theme.Therefore, the theme required by this includes that applicable law is allowed Appended claims in recited theme all modifications and equivalent.In addition, unless in addition instruction or in addition bright herein Otherwise aobvious and contradicted by context covers said elements with any combination of its all possible version.

Claims (20)

1. a kind of serverless backup cloud framework characterized by comprising
Service graph (service graph, SG) manager, is used for:
The state machine model specification of definition status machine model is received,
Generate the state machine instance (state machine instance, SMI) for state machine model described in management implementation One or more service graph controllers (service graph controller, SGC),
Several event mapping agents associated with one or more event sources are generated, wherein each event mapping agent is used for Track the event generated at the event source and the notice that the event is transmitted to one or more of SGC;And
Function enforcement engine is used for the funcall in response to being generated by the SMI and executes on one or more nodes Multiple cloud escrow functions.
2. serverless backup cloud framework according to claim 1, which is characterized in that the expression of the state machine model is based on clothes Business graph-based language, wherein the state machine model is included in state, movement defined in pyramid structure and event.
3. serverless backup cloud framework according to claim 2, which is characterized in that the movement includes activation by the function The funcall for the cloud escrow function that enforcement engine executes.
4. serverless backup cloud framework according to claim 2, which is characterized in that the event includes file event, table At least one of event and protocol events.
5. serverless backup cloud framework according to claim 2, which is characterized in that the service graph language includes the state The javascript object representation (javascript object notation, JSON) of machine model indicates.
6. serverless backup cloud framework according to claim 1, which is characterized in that the service graph manager is for generation pair Should include: in the service graph engine of special services figure, the service graph engine
One or more of SGC;
The service graph scheduler communicated with one or more of SGC;And
One or more SMI associated with every SGC in one or more of SGC.
7. serverless backup cloud framework according to claim 6, which is characterized in that each in one or more of SGC SGC trustship on the different nodes in multiple nodes, each node manage on behalf of another a SGC and it is associated with the SGC one or Multiple SMI.
8. serverless backup cloud framework according to claim 6, which is characterized in that the SG manager is used for by adjusting institute The number of one or more SGC is stated to execute load balancing.
9. a kind of method for executing cloud escrow function in serverless backup cloud framework, which is characterized in that the described method includes:
The state machine model specification of definition status machine model is received at service graph manager;
Generate the state machine instance (state machine instance, SMI) for state machine model described in management implementation One or more service graph controllers (service graph controller, SGC);
Generate several event mapping agents associated with one or more event sources, wherein each event mapping agent for Event that track generates at the event source and the notice that the event is transmitted to one or more of SGC;And
Multiple cloud escrow functions are executed on one or more nodes in response to the funcall generated by the SMI.
10. according to the method described in claim 9, it is characterized in that, the expression of the state machine model be based on service graph-based language, Wherein the state machine model is included in state, movement defined in pyramid structure and event.
11. according to the method described in claim 10, it is characterized in that, the movement includes that activation is executed by function enforcement engine Cloud escrow function funcall.
12. according to the method described in claim 10, it is characterized in that, the event includes file event, database table thing At least one of part and protocol events.
13. according to the method described in claim 10, it is characterized in that, the service graph language includes the state machine model Javascript object representation (javascript object notation, JSON) indicates.
14. according to the method described in claim 9, it is characterized in that, the service graph manager is for generating corresponding to specific The service graph engine of service graph, the service graph engine include:
One or more of SGC;
The service graph scheduler communicated with one or more of SGC;And
One or more SMI associated with every SGC in one or more of SGC.
15. according to the method for claim 14, which is characterized in that every SGC in one or more of SGC is multiple Trustship on different nodes in node, each node manage on behalf of another a SGC and one or more SMI associated with the SGC.
16. according to the method for claim 14, which is characterized in that the SG manager be used for by adjusting one or The number of multiple SGC executes load balancing.
17. a kind of non-transitory of computer instruction of storage for executing cloud escrow function in serverless backup cloud framework calculates Machine readable medium, which is characterized in that the computer instruction makes one or more when executed by one or more processors A processor executes following steps:
The state machine model specification of definition status machine model is received at service graph manager;
Generate the state machine instance (state machine instance, SMI) for state machine model described in management implementation One or more service graph controllers (service graph controller, SGC);
Generate several event mapping agents associated with one or more event sources, wherein each event mapping agent for Event that track generates in event source and the notice that the event is transmitted to one or more of SGC;And
Multiple cloud escrow functions are executed on one or more nodes in response to the funcall generated by the SMI.
18. non-transitory computer-readable medium according to claim 17, which is characterized in that the state machine model It indicates based on service graph-based language, wherein the state machine model is included in state, movement defined in pyramid structure and event.
19. non-transitory computer-readable medium according to claim 17, which is characterized in that the service graph manager For generating the service graph engine for corresponding to special services figure, the service graph engine includes:
One or more of SGC;
The service graph scheduler communicated with one or more of SGC;And
One or more SMI associated with every SGC in one or more of SGC.
20. non-transitory computer-readable medium according to claim 19, which is characterized in that one or more of Every SGC trustship on the different nodes in multiple nodes in SGC, each node manage on behalf of another SGC and related to the SGC One or more SMI of connection.
CN201880017081.2A 2017-03-20 2018-03-20 Server-free cloud management platform based on service graph Active CN110383795B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762473973P 2017-03-20 2017-03-20
US62/473,973 2017-03-20
US15/923,989 US10841366B2 (en) 2017-03-20 2018-03-16 Service graph based serverless cloud platform
US15/923,989 2018-03-16
PCT/CN2018/079583 WO2018171578A1 (en) 2017-03-20 2018-03-20 Service graph based serverless cloud platform

Publications (2)

Publication Number Publication Date
CN110383795A true CN110383795A (en) 2019-10-25
CN110383795B CN110383795B (en) 2021-02-09

Family

ID=63520395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880017081.2A Active CN110383795B (en) 2017-03-20 2018-03-20 Server-free cloud management platform based on service graph

Country Status (5)

Country Link
US (1) US10841366B2 (en)
EP (1) EP3449618B1 (en)
CN (1) CN110383795B (en)
ES (1) ES2852798T3 (en)
WO (1) WO2018171578A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114528032A (en) * 2020-10-30 2022-05-24 华为云计算技术有限公司 Server system and data processing method

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10742750B2 (en) * 2017-07-20 2020-08-11 Cisco Technology, Inc. Managing a distributed network of function execution environments
US10778797B2 (en) * 2018-04-05 2020-09-15 International Business Machines Corporation Orchestration engine facilitating management of operation of resource components
CN109508432B (en) * 2018-11-28 2023-07-14 智鸟科技有限公司 High-performance FAAS system based on block chain
US10678522B1 (en) * 2018-12-14 2020-06-09 Mouri Tech Llc Compiler and method for compiling business rules for a serverless runtime environment
CN109347888A (en) * 2018-12-21 2019-02-15 北京博明信德科技有限公司 Method for authenticating, gateway and authentication device based on RESTful
KR20200109819A (en) * 2019-03-14 2020-09-23 삼성전자주식회사 Electronic apparatus and controlling method thereof
US11416362B2 (en) 2019-05-17 2022-08-16 Citrix Systems, Inc. Dependency API controlled experiment dashboard
US10887366B1 (en) * 2019-07-08 2021-01-05 Cbs Interactive Inc. Systems, methods, and storage media for managing encoder instances in a serverless content distribution platform
US11153173B1 (en) * 2019-09-10 2021-10-19 Juniper Networks, Inc. Dynamically updating compute node location information in a distributed computing environment
US11272015B2 (en) * 2019-12-13 2022-03-08 Liveperson, Inc. Function-as-a-service for two-way communication systems
US11375042B2 (en) * 2020-07-10 2022-06-28 Kyndryl, Inc. Symphonizing serverless functions of hybrid services
CN111741016B (en) * 2020-07-23 2020-12-08 南京梦饷网络科技有限公司 Method, computing device, and computer storage medium for managing application interfaces
WO2022016485A1 (en) * 2020-07-24 2022-01-27 Citrix Systems, Inc. Framework for ui automation based on graph recognition technology and related methods
US11681445B2 (en) 2021-09-30 2023-06-20 Pure Storage, Inc. Storage-aware optimization for serverless functions
WO2023169815A1 (en) * 2022-03-10 2023-09-14 International Business Machines Corporation In-band instantiation configuration for application workloads

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302302A1 (en) * 2010-06-04 2011-12-08 Electronics And Telecommunications Research Institute Adaptive mobile cloud system using private virtual intance and construction method thereof
US20120209968A1 (en) * 2010-06-23 2012-08-16 Twilio, Inc. System and method for managing a computing cluster
US20130211870A1 (en) * 2012-02-09 2013-08-15 Rockwell Automation Technologies, Inc. Real-time tracking of product using a cloud platform
US20140059209A1 (en) * 2012-08-27 2014-02-27 Microsoft Corporation State maintenance as a service
WO2017005329A1 (en) * 2015-07-09 2017-01-12 Telecom Italia S.P.A. Method and system of ict services provisioning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0662651B1 (en) 1993-12-28 2001-09-19 AT&T Corp. Improved finite state machine for process control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302302A1 (en) * 2010-06-04 2011-12-08 Electronics And Telecommunications Research Institute Adaptive mobile cloud system using private virtual intance and construction method thereof
US20120209968A1 (en) * 2010-06-23 2012-08-16 Twilio, Inc. System and method for managing a computing cluster
US20130211870A1 (en) * 2012-02-09 2013-08-15 Rockwell Automation Technologies, Inc. Real-time tracking of product using a cloud platform
US20140059209A1 (en) * 2012-08-27 2014-02-27 Microsoft Corporation State maintenance as a service
WO2017005329A1 (en) * 2015-07-09 2017-01-12 Telecom Italia S.P.A. Method and system of ict services provisioning

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114528032A (en) * 2020-10-30 2022-05-24 华为云计算技术有限公司 Server system and data processing method

Also Published As

Publication number Publication date
US20180270301A1 (en) 2018-09-20
EP3449618A1 (en) 2019-03-06
WO2018171578A1 (en) 2018-09-27
EP3449618A4 (en) 2019-04-17
US10841366B2 (en) 2020-11-17
ES2852798T3 (en) 2021-09-14
EP3449618B1 (en) 2020-12-16
CN110383795B (en) 2021-02-09

Similar Documents

Publication Publication Date Title
CN110383795A (en) Serverless backup cloud management platform based on service graph
US10148757B2 (en) Migrating cloud resources
US11172022B2 (en) Migrating cloud resources
CN110313149A (en) Unified resource management in data center's cloud framework
CN105556475A (en) Request processing techniques
Nita et al. FIM-SIM: Fault injection module for CloudSim based on statistical distributions
Wang et al. Transformer: a new paradigm for building data-parallel programming models
Hu et al. Fuzzy method and neural network model parallel implementation of multi-layer neural network based on cloud computing for real time data transmission in large offshore platform
CN115705255A (en) Learning causal relationships
Schlatte et al. Modeling and analyzing resource-sensitive actors: a tutorial introduction
RU122505U1 (en) HARDWARE-COMPUTER COMPLEX FOR PROVIDING ACCESS TO THE SOFTWARE IN THE CONCEPT OF CLOUD COMPUTING
Costa et al. Large-scale volunteer computing over the Internet
Anjos et al. BIGhybrid: a simulator for MapReduce applications in hybrid distributed infrastructures validated with the Grid5000 experimental platform
CN116457759A (en) Service orchestration within a distributed container group based system
US11290541B2 (en) Synchronous client-side log service
Ryu et al. EDISON Science Gateway: a cyber-environment for domain-neutral scientific computing
CN106330556B (en) A kind of method and apparatus calling related information for generating service module
Devi et al. Self-healing fault tolerance technique in cloud datacenter
Sfika et al. Dynamic cloud resources allocation on multidomain/multiphysics problems
CN115705256A (en) Request facilitation for agreement on service transactions
Xiao et al. A Metadata-driven Cloud Computing Application Virtualization Model.
Dias et al. BrowserCloud. js-A federated community cloud served by a P2P overlay network on top of the web platform
Zhai et al. Dynamic load balancing for a mesh‐based scientific application
Chorazyk et al. Volunteer computing in a scalable lightweight web-based environment
Ali et al. Implementation of cloud computing approach based On mobile agents

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220223

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right