WO2023109650A1 - 一种基于微服务的智能空间并发服务流程执行方法及系统 - Google Patents

一种基于微服务的智能空间并发服务流程执行方法及系统 Download PDF

Info

Publication number
WO2023109650A1
WO2023109650A1 PCT/CN2022/137654 CN2022137654W WO2023109650A1 WO 2023109650 A1 WO2023109650 A1 WO 2023109650A1 CN 2022137654 W CN2022137654 W CN 2022137654W WO 2023109650 A1 WO2023109650 A1 WO 2023109650A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
resource
resources
component
service process
Prior art date
Application number
PCT/CN2022/137654
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 深圳先进技术研究院
Publication of WO2023109650A1 publication Critical patent/WO2023109650A1/zh

Links

Classifications

    • 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/5083Techniques for rebalancing the load in a distributed system
    • 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/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Definitions

  • the present invention relates to the field of electronic information technology, in particular to a microservice-based smart space concurrent service process execution method and system.
  • Hu et al. proposed the concept and system model of software-defined devices (SDD) for the underlying sensing devices and drive devices in the Internet of Things, and at the same time proposed an open system architecture for the Internet of Things based on SDD, and introduced in detail
  • SDD software-defined devices
  • Its software-defined mechanism demonstrates the actual effect of the SDD paradigm through illustrative application usage scenarios, realizes unified management and scheduling, sharing, multiplexing, reorganization and modular customization of devices, and helps to solve heterogeneous resources
  • the interconnection and intercommunication problem of the network can improve the utilization efficiency of equipment resources.
  • this paradigm is not a general framework. For different IoT scenarios, different practical applications need to be developed and deployed to connect to the SDD platform, such as smart homes, smart elderly care, and smart cities.
  • Literature [6] proposes a new layered architecture based on cloud storage for the data processing and management of future smart spaces, taking the smart home scene as an example.
  • This architecture can be used in any type of smart IoT system, including smart grid, smart retail, etc. Future IoT systems need to be ubiquitous and provide interoperability and a shared data environment.
  • Ghassem et al. proposed a REST (Representational State Transfer)[7] platform data processing and exchange architecture.
  • the architecture consists of seven main layers: physical layer, fog computing layer, network layer, cloud computing layer, service layer, session layer, and application layer. Parallel research and development at these levels can help provide an effective strategy to deal with big data issues in future smart homes or smart cities, but a cloud-based control platform will increase the risk of link congestion and data security.
  • SDEC Software Defined Edge Computing
  • the focus of the smart space service architecture mentioned above is to solve data storage and computing problems in smart spaces or for a certain In terms of providing a single service, it does not extensively consider the actual activities and specific needs of users, and lacks a general and efficient resource scheduling microservice architecture for solving resource competition and variable service process requirements during concurrent service processes. There are deficiencies in the prior art.
  • the embodiments of the present invention provide a microservice-based smart space concurrent service process execution method and system, which implement resource scheduling in the service process by scheduling resources during concurrent execution of service processes based on the microservice layer. reasonable distribution among them.
  • a microservice-based intelligent space concurrent service process execution method including the following steps:
  • the service process organized by the directed acyclic graph structure is registered with the process management service component and stored in the service process database; the effective equipment resources in the smart space are registered with the resource management service component and stored in the resource database;
  • the process management service component calls the resource management service component to perform resource association
  • the resource scheduling service component implements reasonable allocation of the resources among the service processes based on the process management service component and the resource management service component;
  • the log service component continuously obtains each service operation record in the system and stores it in the log database;
  • the service process is associated with multiple task nodes and presented in the form of a directed acyclic graph; the task node is an event that occurs in the smart space, and the required resources are independent and indivisible; each service process has corresponding description information.
  • the service operation records include: resource operations, service process operations, scheduling logs and evolution logs.
  • the reasonable allocation of the resources among the service processes includes the following steps:
  • the resource scheduling service component obtains resource information of all smart devices in each resource pool and service processes of unbound resource pools;
  • the resource scheduling service component sets the resource pool whose resources and resources required by the service process are in the maximum matching state as the best resource pool;
  • the resource scheduling service component binds the service process in the smart space to the corresponding optimal resource pool
  • the resource scheduling service component performs resource scheduling on concurrent service processes in the smart space
  • the resource pool is the minimum space where the valid device resource is confirmed by the resource management service component.
  • step S33 also includes the following steps:
  • resource pool bound to the service process may lack one or more resources, use cross-scenario linkage to call portable and movable resources in other resource pools as alternative resources;
  • the resource scheduling service component obtains service process information and required resource status information in the smart space by invoking the process management service and the resource management service, and promptly provides service processes bound to the resource pool Recommend available resources.
  • step S33 the following steps are also included:
  • the resource scheduling service component invokes the process evolution service to obtain a substitute sub-process, so that the service process can continue to execute;
  • the blocking means that the service process cannot find any resource and thus cannot be executed.
  • step S5 the following steps are also included:
  • the process evolution service component uses the online update and evolution algorithm of the scene semantic rule base based on reinforcement learning, calls the log service component to obtain environmental data, and continuously updates the rules to ensure that there are always available alternative sub-processes, and will be recorded through the log service is the evolution log;
  • the task nodes included in the new alternative sub-process are all derived from the smart space where the user is located.
  • Another embodiment of the present invention provides a microservice-based intelligent space concurrent service process execution system using any of the execution methods described above, including: data entities, data storage units, microservice layers, API network management and access terminal;
  • the data entity includes service processes organized in a directed acyclic graph structure and effective device hardware resources in the smart space;
  • the data storage unit includes a log database, a resource database, a service process database and other databases;
  • the log database is used to store system operation information and record historical operation records;
  • the resource database integrates all effective hardware resources in the smart space , storing device resource information in the scene;
  • the service process database stores all service process information;
  • the microservice layer includes: resource management service components, process management service components, log service components, resource scheduling service components, process evolution service components and other service components, as well as inter-service communication methods and communication protocols;
  • the access terminal provides a control interface and an operation carrier for users to use;
  • the API gateway is responsible for uniformly accessing the API calls of all the access terminals, and forwarding the requests of the access terminals to the back-end server.
  • the access terminals only need to interact with the API gateway, instead of interacting with the The interfaces communicate separately, which can meet the needs of the client to request multiple services at the same time;
  • the service process is associated with multiple task nodes and presented in the form of a directed acyclic graph; the task node is an event that occurs in the smart space, and the required resources are independent and inseparable; each service process has a corresponding Description.
  • micro-service layer also includes: service invocation, service registration, inter-service communication and communication protocol;
  • the service call is based on Feign as a declarative Web Service client, between microservices that are isolated from each other, but it can make calls between microservices easier;
  • the service registration is implemented using the Eureka Server framework. After each resource node is started, it will be registered in the Eureka Server framework. After that, the information of all available resource nodes will be stored in the service registry, and the specified cycle can be removed in time through Eureka's heartbeat mechanism. There are no resource nodes sending heartbeats;
  • the inter-service communication adopts the remote procedure call component to provide a remote procedure call mechanism suitable for a distributed environment, and the remote method can be called like a local method;
  • the communication protocol uses the HTTP-based REST architectural style.
  • the resource management service component centrally manages all effective smart device resources in the smart space, performs personalized operations on all resources in the scene, and abstracts physical resources into a semantic description model by means of device abstraction and description;
  • the process management module component customizes and creates the service process; different users design and add their own exclusive processes through the process management module component, and view all the service process information to be completed in the smart space;
  • the log service component collects the operation logs and abnormal logs in the system, and collects and analyzes all the log information by centrally storing and managing the log information in a unified format, so as to provide objective basis for user behavior tracking and system failure recovery, And locate errors and save historical operation records;
  • the resource scheduling service component realizes the reasonable allocation of resources between service processes; uses the resource scheduling service component to obtain all smart device resource information in each resource pool and the service process of unbound resource pools; binds the service process The best resource pool; resource scheduling for concurrent service processes in the smart space;
  • the optimal resource pool is that the resources owned by the resource pool and the resources required by the service process are in a maximum matching state
  • the process evolution service component uses the scene semantic rule base online update and evolution algorithm based on reinforcement learning to read log files as environment data.
  • the process evolution service can be called to obtain an alternative sub-process .
  • the sub-process will replace the task node blocked during execution and its subsequent nodes, and join the original process to construct a new service process, which has the same or similar effect as the original service process;
  • the blocking is that the service process cannot find any of the resources and thus cannot be executed
  • the other services also include file storage and conversion.
  • the resource scheduling service component schedules resources for concurrent service processes, if the resource pool bound to the service process may lack one or more resources, cross-scenario linkage is used to call portable and mobile resources in other resource pools. Resources replace the missing resources.
  • the resource scheduling service component obtains the service process information and the required resource status information in the smart space by calling the process management service component and the resource management service component, and recommends available resources for the service process bound to the resource pool in a timely manner; If the resources required by the service process are occupied, wait for the resources to be released;
  • neither the idle resources nor the occupied resources include the resources required by the service process, and the process cannot find any resources and cannot continue to execute, call the process evolution service component to get the replacement sub-process of the blocked node, and then Summing the original process to achieve the same or similar purpose.
  • the microservice-based smart space concurrent service process execution method and system in the embodiment of the present invention can effectively control global resources or local resources through the resource registration mechanism, make full use of various smart devices as resources in the smart space environment, and provide services to users and Its associated activities establish a clear corresponding relationship, abstract the service process required by the user, bind the service process with the corresponding resource pool through the maximum matching state, and solve the technical problem of resource conflict through resource scheduling.
  • the architecture designed by the present invention is applicable to almost all smart space instance scenarios.
  • Fig. 1 is a flow chart of the microservice-based smart space concurrent service process execution method of the present invention
  • FIG. 2 is a diagram of the inter-module workflow mechanism of the microservice-based smart space concurrent service process execution method of the present invention
  • Fig. 3 is a schematic structural diagram of the microservice-based smart space concurrent service process execution system of the present invention.
  • the resources mentioned in this article generally refer to all smart products. As shown in Figure 1, they are devices, devices or machines with computing and processing capabilities that support mainstream smart hardware communication protocols, such as wifi technology, Bluetooth protocol, ZigBee protocol and RF433 protocol, etc.;
  • Task node refers to an event that occurs in the smart space, and the required resources are independent and indivisible;
  • a service process is associated with multiple task nodes and presented in the form of a directed acyclic graph. Each service process has corresponding description information. Air purifiers, and then use a series of events such as treadmills, and going to the gym to exercise requires the use of air conditioners, air purifiers, treadmills and other resources. The events contained in each service process may be performed concurrently or sequentially.
  • a microservice-based intelligent space concurrent service process execution method including the following steps:
  • the service process organized by the directed acyclic graph structure is registered with the process management service component and stored in the service process database; the effective equipment resources in the smart space are registered with the resource management service component and stored in the resource database;
  • the process management service component calls the resource management service component to perform resource association
  • the resource scheduling service component realizes the reasonable allocation of resources among the service processes based on the process management service component and the resource management service component;
  • the log service component continuously obtains operation records of various services in the system and stores them in the log database.
  • the service process is associated with multiple task nodes and presented in the form of a directed acyclic graph; the task node is an event that occurs in the smart space, and the required resources are independent and inseparable; each service process has corresponding description information.
  • the service operation records include: resource operations, service process operations, scheduling logs and evolution logs.
  • step S3 the rational allocation of resources between service processes includes the following steps:
  • the resource scheduling service component obtains resource information of all smart devices in each resource pool and service processes of unbound resource pools;
  • the resource scheduling service component sets the resource pool with the resources in the maximum matching state with the resources required by the service process as the best resource pool;
  • the resource scheduling service component binds the service process in the smart space to the corresponding optimal resource pool
  • the resource scheduling service component performs resource scheduling on concurrent service processes in the smart space
  • the resource pool is the minimum space where valid device resources confirmed by the resource management service component are located.
  • step S33 also includes the following steps:
  • resource pool bound to the service process may lack one or more resources, use cross-scenario linkage to call portable and movable resources in other resource pools as alternative resources;
  • the resource scheduling service component obtains the service process information and the required resource status information in the smart space by calling the process management service and the resource management service, and recommends available resources for the service process bound to the resource pool in a timely manner.
  • step S33 the following steps are also included:
  • the resource scheduling service component invokes the process evolution service to obtain a sub-process instead, so that the service process can continue to execute;
  • blocking means that the service process cannot find any resources and cannot continue to execute.
  • step S5 the following steps are also included:
  • the process evolution service component uses the online update and evolution algorithm of the scene semantic rule base based on reinforcement learning, calls the log service component to obtain environmental data, continuously updates the rules to ensure that there are always available alternative sub-processes, and records it as an evolution log through the log service;
  • the task nodes included in the new alternative sub-process are all derived from the smart space where the user is located.
  • another embodiment of the present invention provides a microservice-based intelligent space concurrent service process execution system using any of the above execution methods, including: data entities, data storage units, and microservice layers , API network management and access terminal.
  • Data entities include service processes organized in a directed acyclic graph structure and effective device hardware resources in the smart space;
  • the data storage unit includes log database, resource database, service process database and other databases; the log database is used to store system operation information and record historical operation records; the resource database integrates all effective hardware resources in the smart space and stores the equipment in the scene Resource information; the service process database stores all service process information.
  • the data is stored by Mysql, the most popular relational database management system at present.
  • Mysql is powerful, provides a variety of database storage engines, and supports at least 20 kinds of development platforms, including Linux, Windows, FreeBSD, IBMAIX etc., providing APIs for multiple programming languages, such as Python, Java, PHP, etc., which can support back-end collaboration of different development styles.
  • the log database is used to store system operation information, record historical operation records, etc.; the resource database integrates all effective resources in the smart space, and stores device resource information in the scene; the service process database stores all service process information, which belong to the same or For different users, for example, user Alice in the database has a service process information about cleaning, and the corresponding information in the service process database includes that Alice wants to turn on the air conditioner first, and then use the sweeping robot and washing machine.
  • the databases are all dedicated databases, and the dedicated databases are specially designed for a single business function.
  • the log database is specially designed for the log service component. Since a single database cannot meet the data storage and access requirements of all services, it can be divided into different dedicated databases. Different databases can interact with each other. Cooperating with and supporting different business functions is conducive to keeping services independent of each other. If some microservices are blocked, other services will not be affected, and most functions of the system can be guaranteed to operate normally.
  • the microservice layer includes: resource management service components, process management service components, log service components, resource scheduling service components, process evolution service components and other service components, as well as inter-service communication methods and communication protocols.
  • the access terminal provides the user with a control interface and an operation carrier.
  • the access terminals should be simple, beautiful and easy to operate And other basic requirements, it should be easy to learn for users of different ages.
  • the API gateway is responsible for unified access to the API calls of all access terminals, and forwards the requests of the access terminals to the back-end server.
  • the access terminals only need to interact with the API gateway instead of communicating with the interfaces of each business module separately, which can satisfy the simultaneous requests of clients. Multiple service requirements.
  • the API gateway can also support the cache storage of certain services, so that the running results of these services remain unchanged within a certain time interval.
  • Microservices registered in the existing service registry can be directly exposed to external calls through the API gateway, and security protection, protocol conversion, traffic management and fault tolerance can be directly handed over to it.
  • the service process is associated with multiple task nodes and presented in the form of a directed acyclic graph; the task node is an event that occurs in the smart space, and the required resources are independent and inseparable; each service process has corresponding description information.
  • microservice layer also includes: service invocation, service registration, inter-service communication and communication protocol;
  • Service call is a declarative Web Service client based on Feign, which isolates microservices from each other, but it can make calls between microservices easier.
  • Feign uses feign to implement microservice calls through interfaces and annotations. It is also a load balancing tool used on the client. Feign provides a template for HTTP requests. By writing simple interfaces and inserting annotations, you can define the parameters, format, address and other information of HTTP requests. Since Feign will completely proxy HTTP requests, you only need to call it like calling a method. Service requests and related processing can be completed.
  • Service registration is implemented using the Eureka Server framework. After each resource node is started, it will be registered in the Eureka Server framework. After that, the service registry will store the information of all available resource nodes. Through Eureka's heartbeat mechanism, it can be removed in time. The resource node that sends the heartbeat.
  • the Eureka framework also provides a client caching mechanism, even if all Eureka The server cannot work, and the Feign client can still use the information in the cache to call the service of the service (resource) node. These characteristics of Eureka can ensure that the system has high availability, flexibility and scalability.
  • Inter-service communication uses remote procedure call component (RPC) to provide a remote procedure call mechanism suitable for distributed environments, which can call remote methods like calling local methods;
  • RPC remote procedure call component
  • RPC can reduce the cost of micro-service architecture, improve the development efficiency of callers and service providers, and ensure the performance and reliability of communication between services.
  • the communication protocol uses the HTTP-based REST architectural style.
  • REST Real State Transfer
  • REST Real State Transfer
  • network service conforming to this architectural style allows the client to issue a request to access and operate network resources with a uniform resource locator, so REST is usually used to build WEB APIs, such as Twitter, Skydrive, and Sina Weibo, all use this method to provide third-party service interfaces.
  • WEB APIs such as Twitter, Skydrive, and Sina Weibo
  • the client and the server use the JSON format for data exchange.
  • the resource management service component centrally manages all effective smart device resources in the smart space, performs personalized operations on all resources in the scene, and abstracts physical resources into semantic description models through device abstraction and description methods.
  • a resource can be named specifically. In this module, you can see the detailed information of each resource, such as resource status (whether it is free), resource name, resource type, etc. If the resource is in use, it can also Obtain the task node information occupying the resource.
  • the minimum space where resources are located is regarded as a resource pool, and the resource pool information of resources can be known through the resource management service. For example, a kitchen in a family scene is a resource pool, including various equipment resources such as microwave ovens, range hoods, and coffee machines. . There are some resources that you may not want them to be under the control of the system. You can use this service to delete such resources, and correct resource information when the resource information is wrong.
  • the process management module component customizes and creates the service process; different users design and add their own exclusive processes through the process management module component, and view all the service process information to be completed in the smart space.
  • the process management module component can view the description of each process, the task nodes contained in each process, the process creation time, etc., and can view the detailed information of a single service process, for non-standard or illogical
  • the process performs selective deletion operations, and the detailed information may include the resources required by the specific task nodes and the resource occupation time.
  • the log service component collects operation logs and exception logs in the system, and collects and analyzes all log information by centrally storing and managing log information in a unified format, providing objective basis for user behavior tracking and system failure recovery, and positioning Error and save historical operation records.
  • the resource scheduling service will record operation information through the log service.
  • the process evolution service calls the log service to use the scheduling log.
  • the resource scheduling service will also call the process when the service process requirements cannot be met at all. Evolutionary service to realize the closed loop of data flow in the scene.
  • the resource scheduling service component realizes the reasonable allocation of resources between service processes; uses the resource scheduling service component to obtain all the resource information of smart devices in each resource pool, and the service process of unbound resource pools; binds the best service process for the service process Resource pool; resource scheduling for concurrent service processes in the smart space.
  • the execution process is visualized to achieve the purpose of real-time monitoring.
  • the optimal resource pool means that the resources owned by the resource pool and the resources required by the service process are in a maximum matching state.
  • the process evolution service component uses the scene semantic rule base online update and evolutionary algorithm based on reinforcement learning, and reads log files as environmental data.
  • the process evolution service can be called to obtain a substitute sub-process.
  • the sub-process will replace the task node blocked during execution and its subsequent nodes, and join the original process to build a new service process, which has the same or similar effect as the original service process.
  • a node in the service process of cleaning is to complete the task of vacuuming, but there is no vacuum cleaner in the space where the user is located.
  • the process evolution service may evolve into an alternative sub-process of using a sweeping robot. All the tasks in the new alternative sub-process
  • the included task nodes are all derived from the smart space where the user is located, and there will be no secondary blocking, and the service process needs to be variable.
  • Blocking means that the service process cannot find any resources and cannot continue to execute.
  • micro-service architecture designed by the present invention has the advantages of low-cost expansion, elastic scaling, and rapid adaptation to the cloud environment. Each service component can be independently deployed, operated, and expanded, so the architecture can be easily expanded later, and more functional modules can be added as needed. .
  • the resource scheduling service component schedules resources for concurrent service processes, if the resource pool bound to the service process may lack one or more resources, use cross-scenario linkage to call portable and movable resources in other resource pools to replace For missing resources, the resource scheduling service component obtains the service process information and required resource status information in the smart space by calling the process management service component and the resource management service component, and recommends available resources for the service process bound to the resource pool in time; if the service When the resources required by the process are occupied, wait for the resources to be released.
  • neither the idle resources nor the occupied resources include the resources required by the service process, and the process cannot find any resources and cannot continue to execute, call the process evolution service component to get the replacement sub-process of the blocked node, and then Summing the original process to achieve the same or similar purpose.
  • the system deployment of the dispatching architecture system designed based on microservices in the present invention utilizes the container technology based on the Docker engine, which ensures that the software design method based on microservices is easy to implement.
  • splitting the application system into small and loosely coupled distributed business units, which are deployed in each Docker container in a fine-grained manner can also greatly improve the management and operation and maintenance efficiency of the microservice system.
  • the present invention develops a corresponding simulation demonstration platform for experiments, and the data in the experimental platform are all simulations of real smart space scenes. From the perspective of users and the environment, considering the actual needs, the present invention designs a variety of smart space scenarios. For example, corresponding examples can be designed for experiments in places such as homes, offices, and nursing homes.
  • the system developed by the present invention is used to verify the feasibility of the proposed architecture. Considering the cost problem, no hardware device resources are used, and the physical resources are abstracted into a semantic description model through the method of device abstraction and description. After analyzing the functional requirements of the system and designing the database in detail, based on the principle of front-end and back-end separation, the back-end resource scheduling micro-service components are developed using the web application framework Django (3.0.7), and the rest are created by creating a Maven (3.3.9) project.
  • Spring Boot (2.1.5) framework to build microservices, split the system into several core service components such as resource management, process management, log, process evolution, etc., then build and configure the Eureka service registration center, and select Mybatis (3.5.2 ) interacts with the database as a persistence layer framework, and the database uses Mysql, the most popular relational database management system at present.
  • the back-end micro-service components are containerized and released through Docker (19.03.12), and the front-end static resources are released using high-performance HTTP and reverse proxy server Nginx (1.18.0).
  • the present invention uses them as auxiliary tools to design and realize a general resource scheduling and process evolution framework in the intelligent space, and realizes a workflow mechanism with complete logic and functions.
  • the present invention uses two Facebook Cloud servers to deploy the prototype system, wherein server A deploys four modules of resource management, process management, resource scheduling and log service, and server B deploys the process evolution module.
  • server A deploys four modules of resource management, process management, resource scheduling and log service
  • server B deploys the process evolution module.
  • the server hardware configuration information is shown in Table 1:
  • the system adopts B/S structure, and after the deployment goes online, various services of the experimental system are started.
  • the setting scene selects smart home, so the resources and service process data in the system are simulations of real smart home scenes.
  • the experiment is carried out using python (3.6.3), the local test machine model is Lenovo Rescuer 15ISK, and the operating system is Microsoft Windows 10 Home Chinese version, memory 16GB, hard disk capacity 512GB, MySQL software version 5.7.16 used in the database, browser Firefox Brower 84.0.1.
  • core microservice component functions such as resource management, service process management, resource scheduling and process evolution are tested, and the application program is interacted with through the graphical user interface, and the output or result of the interaction is analyzed to verify And verify whether each functional operation, business, etc. meet the requirements.
  • the functional test results are shown in Table 2, Table 3, Table 4, and Table 5 respectively. The test results verify that the core functions of the system are operating normally, and the normal use of the process evolution service functions also indirectly indicates that the registration and calling of the log service component is normal.
  • the resource management module is mainly responsible for realizing resource list display, resource addition, resource editing, resource deletion and other functions. Resource editing and resource addition can be edited by editing the resource name, resource type, resource brand, and resource pool. and other fields to achieve;
  • the resource scheduling service component can perform operations such as resource allocation, resource release, resource scheduling, and resource pool resource query.
  • Resource pool resource query can display resource equipment information in different resource pools.
  • process scheduling select multiple processes and click the resource allocation button.
  • a room can be regarded as a resource pool, and the processes will be bound to the rooms that match the requirements and wait for execution.
  • Resource allocation through the "resource scheduling" function, you can execute all concurrent processes bound to resource pools, and allocate resources to them reasonably.
  • the resource scheduling process the following three situations have been tested and verified:
  • resource pool bound to the process does not have the resources required by the task node, borrow similar or identical borrowable resources from other resource pools to realize cross-scenario linkage of resources;
  • call the evolution service component to evolve, and get the alternative sub-process of the blocked node. For example, the event node of burning coffee is replaced by using the crowdsourcing service to order coffee takeaway because there is no coffee pot.
  • the present invention has been tested for various situations, whether it is a single process or multiple concurrent processes, the execution of the process can be completed through "resource scheduling” to achieve the user's expected goal, and finally the resource can be unbound through the "one-key idle” function thereby releasing resources;
  • log upload can call the log service to upload the system log and analyze it, and then you can see the evolution result under the current blocking situation obtained by using the online update of the scene semantic rule base and the evolution algorithm.
  • evolution simulation can also manually test the evolution in other situations, and perform "evolution simulation” for some blocked task nodes to obtain different evolution results.
  • the same blocking node will generally evolve several alternative sub-processes.
  • the system defaults to select the alternative sub-process with the highest recommendation probability in the "result display", and can query the evolution of the "node” you want through the "filter” function
  • the results are displayed graphically, and all phased evolution results can be saved locally through the "Download Results” function.
  • the process evolution service uses the resource scheduling log data of the log service. Through the verification results of the resource scheduling module, it can be known that the replacement sub-process of the blocked node can be successfully evolved, which also shows that the process evolution service component can be updated online based on the scene semantic rule base of reinforcement learning and the evolutionary algorithm works fine.
  • the normal operation of microservice components such as resource management, process management, resource scheduling, and process evolution reflects the normal registration and call of log service components, which realizes the recycling of log data in the smart space, and has the characteristics of a closed loop within the scene.
  • the present invention has selected the key function interface in each microservice component to do performance test, and each interface has tested the response time that a single user sends a single request and returns data fifty times, and the average response time is as shown in Table 6:
  • Table 6 The average response time of the main function interface of each module to a single request
  • the performance test results show that the average response time of all interfaces is within 0.06s.
  • the average response time of the four interfaces included in module 1 is 23.2 milliseconds
  • the average response time of the four interfaces included in module 2 is 30 milliseconds
  • the average response time of the four interfaces included in module 3 is 30 milliseconds.
  • the average response time of the interface is 22.75 milliseconds
  • the average response time of the three interfaces included in module 4 is 55.7 milliseconds.
  • the main interfaces included in the four modules can all respond to requests quickly. Among them, the average response time of the main functional interfaces in the resource management service is relatively small, and the average response time of the main functional interfaces in the process evolution service is larger than that of other components.
  • the type of resource management business is relatively simple, and the background algorithm of the process evolution service is more complex, so the required response time is different.
  • the performance test results of the prototype system show that the system can quickly respond to user requests and meet performance requirements.
  • the above functional test and performance test results show that the resource scheduling micro-service architecture in the smart space designed by the present invention can allocate resources reasonably by calling and combining the core functions of each micro-service component, and solve problems such as resource conflicts and process evolution.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于微服务的智能空间并发服务流程执行方法及系统,属于电子信息技术领域。上述执行方法基于微服务框架设计了相应的资源针对服务流程的调度架构,使得并发服务流程时通过资源绑定和资源调度实现合理分配资源,解决资源冲突及流程演化等问题,且具有场景内闭环与跨场景联动的特点。其对应的系统也具体同样的技术效果。

Description

一种基于微服务的智能空间并发服务流程执行方法及系统 技术领域
本发明涉及电子信息技术领域,具体而言,涉及一种基于微服务的智能空间并发服务流程执行方法及系统。
背景技术
现有技术中大部分智能空间中的服务框架都是针对单一应用场景或者单一作用面设计的,比如针对物联网设计的隐私保护架构[1],Danilo等人设计的基于ADHD和PSO在线和离线算法的新型能源管理系统[2]和Hyung-Chul等人设计的智能供暖及空调调度方法[3],用于智能家庭的能源管理,[4]提出一种智能空间中的机器人伴侣辅助用户生活,机器人伴侣负责资源的管控,为用户提供相应服务,然而这是一种缺乏相应的标准和可行性且较中心化的提议。
Hu等人[5]为物联网中的底层传感设备和驱动设备提出了软件定义设备(SDD)的概念和系统模型,同时提出了一种基于SDD的开放物联网系统架构,并详细介绍了其软件定义机制,通过说明性的应用程序使用场景,展示了SDD范例的实际效果,实现了对设备的统一管理和调度、共享、复用、重组及模块化定制,有助于解决异构资源的互联互通问题,提高设备资源的利用效率。然而,这一范式并不是一个通用架构,对于不同物联网场景要分别开发部署不同的实际应用连接到SDD平台,如智能家居、智能养老、智能城市等。
文献[6]针对未来智能空间的数据处理和管理以智能家居场景为例提出了一种基于云存储的新型分层架构。该架构可用于任何类型的智能物联网系统,包括智能电网、智能零售等。未来的物联网系统需求无处不在,并提供互操作性和共享数据环境。为了在智能家居环境中实现这些目标,Ghassem等人提出了基于REST(Representational State Transfer)[7]的平台数据处理和交换架构。该体系结构包括七个主要层次:物理层、雾计算层、网络层、云计算层、服务层、会话层和应用层。这些层次的并行研究和开发,可以帮助提供一个有效的策略,以应对未来智能家居或者智慧城市的大数据问题,但基于云中心的控制平台会增加链路拥塞和数据安全的风险。
Pengfei Hu等人从cyber-physical mapping的角度提出了SDEC(软件定义边计算)的方法和原则[8],并设计了基于SDEC的开放边缘计算系统架构,用于协同不同类别的边缘资源和服务,此外还提出SDED、SDESto、SDECR和SDESer等分别实现了边缘设备资源、边缘存储资源、边缘计算资源和边缘服务的软件定义,实现了边缘资源和服务的共享、重用和重组,上层应用程序与底层物理设备分离,提高了边缘端的整体服务质量(QoS)。[9]假设了智能家居环境中所有应用均是由边缘节点和用户组成,为其建立效用最大的定价资源分配模型,采用拉格朗日法对模型进行分析,并提出一种基于定价的低通滤波边缘计算资源分配算法,得到了不同任务下的资源优化分配方案。以上两种方法都只是针对边缘计算资源进行优化分配,并没有涉及到智能空间中的场景设备资源。
目前,采用传统的单体架构设计这样的系统,随着应用场景的变化和数据量的增长,具有紧密耦合组件的整体架构的开发、部署和维护只会变得更复杂,内部功能的添加或修改都需要考虑与其他功能的兼容性,这将导致更大的维护和开发成本、更长的连续周期以及更糟糕的扩展。同时由于分布式计算和网络的服务架构的利用不足,单体系统将无法有效部署到云上。同时现有的大部分智能空间中的服务框架都是针对单一应用场景或者单一作用面设计的,以上提到的智能空间服务架构关注点在于解决智能空间中的数据存储和计算问题或针对某个方面提供单一服务,没有广泛地考虑用户的实际活动和具体需求,缺少通用且高效的用于解决并发服务流程时资源竞争及服务流程需求可变的资源调度微服务架构。现有技术存在不足。
[1] Psychoula, Ismini \& Chen, Liming \& Yao, Xuanxia \& Ning, Huansheng. (2019). A Privacy Aware Architecture for IoT Enabled Systems. 10.1109/SmartWorld-UIC-ATC-SCALCOM-IOP-SCI.2019.00073.
[2] Fuselli D, Angelis FD, Boaro M, Squartini S, Wei Q, Liu D, et al. Action dependent heuristic dynamic programming for home energy resource scheduling. Electrical Power and Energy Systems 2013;48:148–60.
[3] H. Jo, S. Kim and S. Joo, "Smart heating and air conditioning scheduling method incorporating customer convenience for home energy management system," in IEEE Transactions on Consumer Electronics, vol. 59, no. 2, pp. 316-322, May 2013, doi: 10.1109/TCE.2013.6531112.
[4] Xia, Chongkun \& Zhang, Yunzhou \& Wang, Lei \& Coleman, Sonya \& Liu, Yanbo. (2018). Microservice-based cloud robotics system for intelligent space. Robotics and Autonomous Systems. 110. 10.1016/j.robot.2018.10.001.
[5] P. Hu, H. Ning, L. Chen and M. Daneshmand, "An Open Internet of Things System Architecture Based on Software-Defined Device," in IEEE Internet of Things Journal, vol. 6, no. 2, pp. 2583-2592, April 2019, doi: 10.1109/JIOT.2018.2872028.
[6] G. Mokhtari, A. Anvari-Moghaddam and Q. Zhang, "A New Layered Architecture for Future Big Data-Driven Smart Homes," in IEEE Access, vol. 7, pp. 19002-19012, 2019, doi: 10.1109/ACCESS.2019.2896403.
[7] L.Richardson, M.Amundsen,  M.Amundsen, et al., " RESTful Web APIs, O’Reilly Media," 2013.
[8] P. Hu, W. Chen, C. He, Y. Li and H. Ning, "Software-Defined Edge Computing (SDEC): Principle, Open IoT System Architecture, Applications, and Challenges," in IEEE Internet of Things Journal, vol. 7, no. 7, pp. 5934-5945, July 2020, doi: 10.1109/JIOT.2019.2954528.
[9]Liu H, Li S, Sun W. Resource Allocation for Edge Computing without Using Cloud Center in Smart Home Environment: A Pricing Approach. Sensors (Basel). 2020 Nov 16;20(22):6545. doi: 10.3390/s20226545. PMID: 33207813; PMCID: PMC7698201。
技术问题
本发明实施例为了解决上述至少一个技术问题,提供了一种基于微服务的智能空间并发服务流程执行方法及系统,通过基于微服务层对服务流程并发执行时的资源调度来实现资源在服务流程之间的合理分配。
技术解决方案
根据本发明的一实施例,提供了一种基于微服务的智能空间并发服务流程执行方法,包括以下步骤:
S1.以有向无环图结构组织起来的服务流程通过流程管理服务组件注册后存储到服务流程数据库中;智慧空间中的有效设备资源通过资源管理服务组件注册后存储到资源数据库中;
S2.所述流程管理服务组件调用所述资源管理服务组件进行资源关联;
S3.所述服务流程并发执行时,资源调度服务组件基于所述流程管理服务组件和所述资源管理服务组件实现所述资源在所述服务流程之间的合理分配;
在所述步骤S1至S3的过程中,还包括以下步骤:
S4.日志服务组件不断获取系统中各个服务操作记录,并存储到日志数据库中;
其中,所述服务流程由多个任务节点关联起来,以有向无环图形式呈现;所述任务节点为智能空间中发生的一个事件,所需资源独立不可分割;每个所述服务流程有对应的描述信息。
进一步的,所述步骤S4中,所述服务操作记录包括:资源操作、服务流程操作、调度日志和演化日志。
进一步的,在所述步骤S3中,所述资源在所述服务流程之间的合理分配包括以下步骤:
S31.所述资源调度服务组件获取到各个资源池内的所有智能设备资源信息、以及未绑定资源池的服务流程;
S32.所述资源调度服务组件将拥有的资源和服务流程需要的资源处于最大匹配状态的资源池设定为最佳资源池;
S33.所述资源调度服务组件将所述智慧空间中的所述服务流程绑定对应的所述最佳资源池;
S34.所述资源调度服务组件对所述智慧空间中并发的服务流程进行资源调度;
其中,所述资源池为所述资源管理服务组件确认的所述有效设备资源所处的最小空间。
进一步的,所述步骤S33中还包括以下步骤:
S331.如果所述服务流程绑定的资源池可能缺少一种或多种资源,采用跨场景联动,调用其他资源池中的便携可移动资源作为替代资源;
S332.如果所述服务流程所需资源被占用,就等待资源释放;
其中,所述资源调度服务组件通过调用所述流程管理服务和所述资源管理服务得到所述智慧空间中的服务流程信息和所需资源状态信息,及时为已经绑定所述资源池的服务流程推荐可用资源。
进一步的,所述步骤S33中,还包括以下步骤:
S5.所述资源分配到所述服务流程的过程中,绑定所述资源池的服务流程执行时发生阻塞时,资源调度服务组件调用流程演化服务得到替代子流程,使服务流程可以继续执行;
其中,所述阻塞为所述服务流程找不到任何所述资源从而无法执行下去。
进一步的,所述步骤S5中,还包括以下步骤:
S6.所述流程演化服务组件使用基于强化学习的场景语义规则库在线更新和进化算法,调用所述日志服务组件得到环境数据,不断更新规则保证一直有可用替代子流程,同时会通过日志服务记录为所述演化日志;
其中,新的替代子流程中所包含的任务节点均是源于用户所处智慧空间。
本发明的另一实施例,提供了一种采用上述任意一项所述执行方法的基于微服务的智能空间并发服务流程执行系统,包括:数据实体、数据存储单元、微服务层、API网管和访问终端;
所述数据实体包含以有向无环图结构组织起来的服务流程以及智慧空间中的有效设备硬件资源;
所述数据存储单元包含日志数据库、资源数据库、服务流程数据库和其他数据库;所述日志数据库用于存储系统操作信息,记录历史操作记录;所述资源数据库整合了智慧空间中的所有有效的硬件资源,存储场景中的设备资源信息;所述服务流程数据库存储所有的服务流程信息;
所述微服务层包括:资源管理服务组件、流程管理服务组件、日志服务组件、资源调度服务组件、流程演化服务组件和其他服务组件,以及服务间通信方式及通信协议;
所述访问终端与为用户使用提供操控界面和操作载体;
所述API网关负责统一接入所有所述访问终端的API调用,将所述访问终端的请求转发给后端的服务器,所述访问终端只需要与所述API网关交互,而不用与各个业务模块的接口分别通信,可以满足客户端同时请求多个服务的需求;
所述服务流程由多个任务节点关联起来,以有向无环图形式呈现;所述任务节点为智能空间中发生的一个事件,所需资源独立不可分割;每个所述服务流程有对应的描述信息。
进一步的,所述微服务层还包括:服务调用、服务注册和服务间通信及通信协议;
所述服务调用是以Feign为声明式的Web Service客户端,相互隔离的微服务之间,但通过它可以使得微服务之间的调用变得简单;
所述服务注册使用Eureka Server框架实现,各个资源节点启动之后会在Eureka Server框架中进行注册,之后服务注册表中将会存储所有可用资源节点的信息,通过Eureka的心跳机制可以及时移除规定周期内没有发送心跳的资源节点;
所述服务间通信采用远程过程调用组件提供适合分布式环境的远程过程调用机制,可以像调用本地方法一样调用远程方法;
所述通信协议使用基于HTTP的REST架构风格。
进一步的,所述资源管理服务组件对智慧空间中所有有效智能设备资源进行集中管理,对场景中的所有资源进行个性化操作,通过设备抽象和描述的方法将物理资源抽象为语义描述模型;
所述流程管理模块组件对所述服务流程进行定制化创建;不同用户通过流程管理模块组件设计并添加自己专属的流程,查看智慧空间中自己待完成的所有服务流程信息;
所述日志服务组件收集系统中的操作日志、异常日志,通过将日志信息以统一的格式进行集中存储和管理,对所有日志信息进行汇总和分析,为用户行为跟踪和系统故障恢复提供客观依据,并定位错误及保存历史操作记录;
所述资源调度服务组件实现资源在服务流程之间的合理分配;使用资源调度服务组件获取到各个资源池内的所有智能设备资源信息、以及未绑定资源池的服务流程;为服务流程绑定了最佳资源池;对于智慧空间中的并发的服务流程进行资源调度;
所述最佳资源池为该资源池拥有的资源和服务流程需要的资源处于最大匹配状态;
所述流程演化服务组件使用基于强化学习的场景语义规则库在线更新和进化算法,读取日志文件作为环境数据,当绑定资源池的服务流程执行阻塞时,调用流程演化服务可以得到替代子流程。所述子流程会替换执行时阻塞的任务节点及其之后的节点,加入到原来的流程中构建出新的服务流程,与原来的服务流程达到的效果相同或相似;
所述阻塞为所述服务流程找不到任何所述资源从而无法执行下去;
所述其他服务还包括文件存储、转换。
进一步的,所述资源调度服务组件对并发的服务流程进行资源调度时,如果服务流程绑定的资源池可能缺少一种或多种资源,采用跨场景联动,调用其他资源池中的便携可移动资源替代缺少的资源,资源调度服务组件通过调用流程管理服务组件和资源管理服务组件得到智慧空间中的服务流程信息和所需资源状态信息,及时为已经绑定资源池的服务流程推荐可用资源;如果服务流程所需资源被占用就等待资源释放;
如果所需资源极度稀缺,无论是空闲资源还是被占用资源都不包含服务流程所需资源,流程找不到任何资源从而无法执行下去时,调用流程演化服务组件得到阻塞节点的替代子流程,以求和原来的流程达到相同或相似的目的。
有益效果
本发明实施例中的基于微服务的智能空间并发服务流程执行方法及系统,可以通过资源注册机制有效控制全局资源或局部资源,充分利用智能空间环境中作为资源的各种智能设备,对用户和其关联活动建立清晰对应关系,抽象出用户所需服务流程,通过最大匹配状态将服务流程与对应的资源池绑定,能通过资源调度解决资源冲突的技术问题,同时,通过流程演化来解决服务流程需求可变的技术问题。满足用户处理日常服务流程及定制服务流程等需求,本发明所设计的架构适用于几乎所有智慧空间实例场景。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明基于微服务的智能空间并发服务流程执行方法的流程图;
图2为本发明基于微服务的智能空间并发服务流程执行方法模块间工作流机制图;
图3为本发明基于微服务的智能空间并发服务流程执行系统结构示意图。
本发明的实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本发明中所提到的名词定义;
资源:本文所提到的资源泛指一切智能产品,如图1所示,是具有计算处理能力的设备、器械或者机器,支持主流智能硬件通信协议,比如:wifi技术、蓝牙协议、ZigBee协议及RF433协议等;
任务节点:一个任务节点代指智能空间中发生的一个事件,所需资源独立不可分割;
服务流程:一个服务流程由多个任务节点关联起来,以有向无环图形式呈现,每个服务流程有对应的描述信息,比如在健身房中用户要进行锻炼这个流程,可能包含先打开空调和空气净化器,然后使用跑步机等一系列事件,而去健身房锻炼就需要使用到空调、空气净化器、跑步机等资源。每个服务流程包含的事件可能并发进行,也可能顺序执行。
参见图1和图2,根据本发明一实施例,提供了一种基于微服务的智能空间并发服务流程执行方法,包括以下步骤:
S1.以有向无环图结构组织起来的服务流程通过流程管理服务组件注册后存储到服务流程数据库中;智慧空间中的有效设备资源通过资源管理服务组件注册后存储到资源数据库中;
S2.流程管理服务组件调用资源管理服务组件进行资源关联;
S3.服务流程并发执行时,资源调度服务组件基于流程管理服务组件和资源管理服务组件实现资源在服务流程之间的合理分配;
在步骤S1至S3的过程中,还包括以下步骤:
S4.日志服务组件不断获取系统中各个服务操作记录,并存储到日志数据库中。
其中,服务流程由多个任务节点关联起来,以有向无环图形式呈现;任务节点为智能空间中发生的一个事件,所需资源独立不可分割;每个服务流程有对应的描述信息。
进一步的,步骤S4中,服务操作记录包括:资源操作、服务流程操作、调度日志和演化日志。
进一步的,在步骤S3中,资源在服务流程之间的合理分配包括以下步骤:
S31.资源调度服务组件获取到各个资源池内的所有智能设备资源信息、以及未绑定资源池的服务流程;
S32.资源调度服务组件将拥有的资源和服务流程需要的资源处于最大匹配状态的资源池设定为最佳资源池;
S33.资源调度服务组件将智慧空间中的服务流程绑定对应的最佳资源池;
S34.资源调度服务组件对智慧空间中并发的服务流程进行资源调度;
其中,资源池为资源管理服务组件确认的有效设备资源所处的最小空间。
进一步的,步骤S33中还包括以下步骤:
S331.如果服务流程绑定的资源池可能缺少一种或多种资源,采用跨场景联动,调用其他资源池中的便携可移动资源作为替代资源;
S332.如果服务流程所需资源被占用,就等待资源释放;
其中,资源调度服务组件通过调用流程管理服务和资源管理服务得到智慧空间中的服务流程信息和所需资源状态信息,及时为已经绑定资源池的服务流程推荐可用资源。
进一步的,步骤S33中,还包括以下步骤:
S5.资源分配到服务流程的过程中,绑定资源池的服务流程执行时发生阻塞时,资源调度服务组件调用流程演化服务得到替代子流程,使服务流程可以继续执行;
其中,阻塞为服务流程找不到任何资源从而无法执行下去。
进一步的,步骤S5中,还包括以下步骤:
S6.流程演化服务组件使用基于强化学习的场景语义规则库在线更新和进化算法,调用日志服务组件得到环境数据,不断更新规则保证一直有可用替代子流程,同时会通过日志服务记录为演化日志;
其中,新的替代子流程中所包含的任务节点均是源于用户所处智慧空间。
如图3所示,本发明的另一实施例,提供了一种采用上述任意一项执行方法的基于微服务的智能空间并发服务流程执行系统,包括:数据实体、数据存储单元、微服务层、API网管和访问终端。
数据实体包含以有向无环图结构组织起来的服务流程以及智慧空间中的有效设备硬件资源;
数据存储单元包含日志数据库、资源数据库、服务流程数据库和其他数据库;日志数据库用于存储系统操作信息,记录历史操作记录;资源数据库整合了智慧空间中的所有有效的硬件资源,存储场景中的设备资源信息;服务流程数据库存储所有的服务流程信息。
在具体实施时,数据采用目前最流行的关系型数据库管理系统Mysql进行存储,Mysql功能强大,提供了多种数据库存储引擎,还支持至少20种以上的开发平台,包括Linux、Windows、FreeBSD、IBMAIX等,为多种编程语言提供了API,如Python、Java、PHP等,可以支持不同开发风格的后端协作。
其中日志数据库用于存储系统操作信息,记录历史操作记录等;资源数据库整合了智慧空间中的所有有效资源,存储场景中的设备资源信息;服务流程数据库存储所有的服务流程信息,他们属于相同或不同的用户,比如数据库中用户Alice有一条服务流程信息是打扫卫生,服务流程数据库中的对应信息包括Alice想先打开空调,然后使用扫地机器人和洗衣机。数据库均为专用数据库,专用数据库专门针对单一业务功能,比如,日志数据库专门针对日志服务组件设计,由于单一数据库无法满足所有服务的数据存储和访问需求,划分成不同的专用数据库可使得不同数据库互相配合并支持不同业务功能,有利于保持服务间相互独立,若某些微服务发生阻塞时,不会对其他服务造成影响,能保证系统大部分功能正常运行。
微服务层包括:资源管理服务组件、流程管理服务组件、日志服务组件、资源调度服务组件、流程演化服务组件和其他服务组件,以及服务间通信方式及通信协议。
访问终端与为用户使用提供操控界面和操作载体。
用户可以通过电脑、平板、手机等终端设备来构成访问终端,以之便捷地使用各种服务,还能随时实时监控和远程控制智能空间中的资源和服务流程,访问终端应满足简洁美观易操作等基本要求,对于不同年龄段用户都应该简单易学。
API网关负责统一接入所有访问终端的API调用,将访问终端的请求转发给后端的服务器,访问终端只需要与API网关交互,而不用与各个业务模块的接口分别通信,可以满足客户端同时请求多个服务的需求。
API网关还能支持某些服务的缓存存储,使得这些服务的运行结果在一定时间间隔内保持不变。在现有服务注册中心注册的微服务可以直接通过API网关暴露给外部调用,还有像安全防护、协议转换以及流量管理及容错等可以直接交给它来完成。API网关的这些特点使得开发人员可以专注于业务逻辑处理,提升迭代效率。
服务流程由多个任务节点关联起来,以有向无环图形式呈现;任务节点为智能空间中发生的一个事件,所需资源独立不可分割;每个服务流程有对应的描述信息。
进一步的,微服务层还包括:服务调用、服务注册和服务间通信及通信协议;
服务调用是以Feign为声明式的Web Service客户端,相互隔离的微服务之间,但通过它可以使得微服务之间的调用变得简单。
Feign作为一种客户端,使用feign通过接口和注解实现微服务调用,它也是在客户端使用的负载均衡工具。feign提供了HTTP请求的模板,通过编写简单的接口和插入注解就可以定义好HTTP请求的参数、格式、地址等信息,由于Feign会完全代理HTTP的请求,所以只需要像调用方法一样调用它就可以完成服务请求及相关处理。
服务注册使用Eureka Server框架实现,各个资源节点启动之后会在Eureka Server框架中进行注册,之后服务注册表中将会存储所有可用资源节点的信息,通过Eureka的心跳机制可以及时移除规定周期内没有发送心跳的资源节点。
Eureka框架还提供了客户端缓存机制,即使所有Eureka Server都无法工作,Feign客户端仍然可以利用缓存中的信息调用服务(资源)节点的服务。Eureka的这些特点可以保证系统具有高可用性、灵活性和可伸缩性。
服务间通信采用远程过程调用组件(RPC)提供适合分布式环境的远程过程调用机制,可以像调用本地方法一样调用远程方法;
RPC可以降低架构微服务化的成本,提高调用方与服务提供方的开发效率,保证服务间通信的性能和可靠性。
通信协议使用基于HTTP的REST架构风格。
REST(Representational State Transfer)架构风格可以直接通过HTTP请求进行通信的轻量级协议,符合这种架构风格的网络服务允许客户端发出以统一资源定位符访问和操作网络资源的请求,所以REST通常用来构建WEB API,例如Twitter、Skydrive及新浪微博等都利用这种方式来提供第三方服务接口。同时为了配合REST风格,客户端和服务器之间使用JSON格式来进行数据交换。
进一步的,资源管理服务组件对智慧空间中所有有效智能设备资源进行集中管理,对场景中的所有资源进行个性化操作,通过设备抽象和描述的方法将物理资源抽象为语义描述模型。
在具体实施时,可以对某个资源进行特定命名,在这个模块中,可以看到每个资源的详细信息,比如资源状态(是否空闲)、资源名、资源类型等,如果资源正在使用还能获取到占用该资源的任务节点信息。将资源所处的最小空间视作一个资源池,通过资源管理服务可以知晓资源所在资源池信息,比如家庭场景下一个厨房是一个资源池,包含了微波炉、油烟机、咖啡机等各种设备资源。有一些资源你可能不想让他们在该系统的控制下,使用本服务可以删除这类资源,资源信息有误时可以校正资源信息等。
流程管理模块组件对服务流程进行定制化创建;不同用户通过流程管理模块组件设计并添加自己专属的流程,查看智慧空间中自己待完成的所有服务流程信息。
在具体实施时,流程管理模块组件实现查看对每个流程的描述、每个流程包含的任务节点、流程创建时间等,并够通过查看单个服务流程的详细信息,对于不规范或者不符合逻辑的流程进行选择性地删除操作,详细信息可能包括具体的任务节点所需资源以及资源占用时长等。
日志服务组件收集系统中的操作日志、异常日志,通过将日志信息以统一的格式进行集中存储和管理,对所有日志信息进行汇总和分析,为用户行为跟踪和系统故障恢复提供客观依据,并定位错误及保存历史操作记录。
在微服务架构中,日志服务的数据可以循环使用,资源调度服务会通过日志服务记录操作信息,流程演化服务调用日志服务使用调度日志,资源调度服务也会在服务流程需求完全不能满足时调用流程演化服务,实现场景内数据流动的闭环。
资源调度服务组件实现资源在服务流程之间的合理分配;使用资源调度服务组件获取到各个资源池内的所有智能设备资源信息、以及未绑定资源池的服务流程;为服务流程绑定了最佳资源池;对于智慧空间中的并发的服务流程进行资源调度。
在具体实施时,将执行过程做可视化处理,可以达到实时监控的目的。
最佳资源池为该资源池拥有的资源和服务流程需要的资源处于最大匹配状态。
流程演化服务组件使用基于强化学习的场景语义规则库在线更新和进化算法,读取日志文件作为环境数据,当绑定资源池的服务流程执行阻塞时,调用流程演化服务可以得到替代子流程。子流程会替换执行时阻塞的任务节点及其之后的节点,加入到原来的流程中构建出新的服务流程,与原来的服务流程达到的效果相同或相似。
比如打扫卫生这个服务流程中的一个节点是完成吸尘这项任务,但用户所处的空间没有吸尘器,流程演化服务可能会演化出使用扫地机器人这一替代子流程,新的替代子流程中所包含的任务节点均是源于用户所处智慧空间,不会发生二次阻塞,实现服务流程需求可变。
阻塞为服务流程找不到任何资源从而无法执行下去。
其他服务还包括文件存储、转换。本发明设计的微服务架构兼具低成本扩容、弹性伸缩和快速适应云环境等优点,每个服务组件都能独立部署运行和扩展,所以后期可轻松扩展架构,可根据需要增加更多功能模块。
进一步的,资源调度服务组件对并发的服务流程进行资源调度时,如果服务流程绑定的资源池可能缺少一种或多种资源,采用跨场景联动,调用其他资源池中的便携可移动资源替代缺少的资源,资源调度服务组件通过调用流程管理服务组件和资源管理服务组件得到智慧空间中的服务流程信息和所需资源状态信息,及时为已经绑定资源池的服务流程推荐可用资源;如果服务流程所需资源被占用就等待资源释放。
如果所需资源极度稀缺,无论是空闲资源还是被占用资源都不包含服务流程所需资源,流程找不到任何资源从而无法执行下去时,调用流程演化服务组件得到阻塞节点的替代子流程,以求和原来的流程达到相同或相似的目的。
进一步的,本发明基于微服务所设计的调度架构系统部署利用基于Docker引擎的容器技术,确保了基于微服务的软件设计方法易于实现。同时,将应用系统拆分成小且松散耦合的分布式业务单元,以细粒度的方式部署在各个Docker容器中,还能大大提高对微服务体系的管理和运维效率。
具体实施时原型系统开发即性能测试
基于微服务设计的智能空间中的资源调度与流程可演化微服务架构本发明开发了与之对应的模拟演示平台进行实验,实验平台中的数据均是对现实智能空间场景的模拟。从用户、环境的角度出发,考虑实际需求,本发明设计了多种智慧空间场景,比如在家庭、办公室、养老院这些地方都可以设计对应的实例进行实验。
本发明开发的系统用于验证所提出架构的可行性,考虑成本问题没有使用硬件设备资源,通过设备抽象和描述的方法将物理资源抽象为语义描述模型。在详细分析系统的功能需求和设计数据库之后,基于前后端分离的原则,后端资源调度微服务组件采用Web应用程序框架Django(3.0.7)开发,其余通过创建Maven(3.3.9)工程,使用Spring Boot(2.1.5)框架来搭建微服务,将系统拆分为资源管理、流程管理、日志、流程演化等几个核心服务组件,其次搭建与配置Eureka服务注册中心,同时选取Mybatis(3.5.2)作为持久层框架与数据库交互,数据库使用目前最流行的关系型数据库管理系统Mysql。使用Vue.js(3.0)作为前端开发框架,同时采用Bootstrap(3.3.7)来设计页面。模拟实验系统开发完成之后,后端微服务组件通过Docker(19.03.12)进行容器化封装并发布,利用高性能的HTTP和反向代理服务器Nginx(1.18.0)发布前端静态资源。本发明以它们为辅助工具设计和实现智能空间中通用的资源调度与流程可演化架构,实现一个有完整逻辑和功能的工作流机制。
本发明用两台阿里云服务器部署原型系统,其中服务器A部署了资源管理、流程管理及资源调度和日志服务这四个模块,服务器B部署流程演化模块,服务器硬件配置信息如表1所示:
表 1云服务器配置
Figure dest_path_image001
系统测试评估
系统采用B/S结构,部署上线之后,启动实验系统的各项服务。设定场景选择智能家居,所以系统中的资源、服务流程数据均是对真实智能家居场景的模拟。实验使用python(3.6.3)进行,本地测试机型号为Lenovo Rescuer 15ISK,操作系统为Microsoft Windows 10 家庭中文版,内存为16GB,硬盘容量512GB,数据库使用的MySQL软件版本为5.7.16,浏览器为Firefox Brower 84.0.1。
功能测试
功能测试上对资源管理、服务流程管理、资源调度及流程演化等核心微服务组件功能进行了测试,通过图形用户界面与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实和验证各功能操作、业务等是否符合需求。功能测试结果分别如表2、表3、表4、表5所示,测试结果验证了系统核心功能运行正常,流程演化服务的功能的正常使用也间接表明日志服务组件注册调用正常。
从四个表可知,本发明所开发的实验系统完美复刻了第三节所设计的架构,也证明了所提出的架构的可行性。如表2所示,资源管理模块主要负责实现资源列表展示、资源新增、资源编辑、资源删除等功能,资源编辑和资源新增都可以通过编辑资源名称、资源类型、资源品牌、所属资源池等字段实现;
表 2资源管理服务功能测试结果
Figure dest_path_image002
如表3所示,通过流程管理服务组件用户可以通过添加Start Task、Mid Task及End Task定制化创建个人服务流程,能看到自己所有的服务流程列表及每条流程的详细信息,执行完的流程可以进行删除,如果是与用户每天固定习惯相关的流程可以进行保留;
表 3流程管理服务功能测试结果
Figure dest_path_image003
如表4所示,资源调度服务组件可以进行资源分配、资源释放、资源调度、资源池资源查询等操作。资源池资源查询可以展示不同资源池内的资源设备信息,流程调度过程中选择多个流程,点击分配资源按钮,一个房间可以被视作一个资源池,流程会分别绑定到需求匹配的房间等待进行资源分配,通过“资源调度”功能,可执行所有绑定了资源池的并发流程,为其合理分配资源,资源调度过程中测试验证了以下三种情况:
如果流程所绑定的资源池没有任务节点所需资源就向其他资源池外借相似或相同的可借资源,实现资源的跨场景联动;
如果服务流程所需资源被占用就等待资源释放;
如果所有资源池都没有节点所需资源就调用演化服务组件进行演化,得到阻塞节点的替代子流程,比如烧咖啡这一事件节点因为没有咖啡壶被替换成使用众包服务点咖啡外卖。
表 4资源调度服务功能测试结果
Figure dest_path_image004
本发明针对多种情况都进行了测试,无论是单个流程还是多个流程并发都可以通过“资源调度”完成流程的执行,达到用户预期目标,最后可以通过“一键空闲”功能进行资源解绑从而释放资源;
如表5所示,流程演化服务组件需要调用日志服务并使用其相关的日志操作数据,由表中结论可知可以实现日志上传、演化模拟和演化结果管理等三个主要功能。“日志上传”可以调用日志服务上传系统日志并进行解析,然后可以看到利用场景语义规则库在线更新和进化算法得到的当前阻塞情况下的演化结果。当然用户还能手动测试其他情况下的演化情况,对于某些阻塞的任务节点进行“演化模拟”得到不同的演化结果。同一个阻塞节点一般情况下会演化出几个替代子流程,系统默认选择“结果展示”中推荐概率最大的那个替代子流程,并能通过“过滤”功能查询你想要的“节点”的演化结果的图形化显示,通过“下载结果”功能可以将阶段性的所有演化结果保存至本地。
表 5流程演化服务功能测试结果
Figure dest_path_image005
流程演化服务使用了日志服务的资源调度日志数据,通过资源调度模块的验证结果可知能顺利演化出阻塞节点的替代子流程,这也说明流程演化服务组件能基于强化学习的场景语义规则库在线更新和进化算法正常工作。资源管理、流程管理、资源调度、流程演化等微服务组件的正常运行侧面反映日志服务组件注册调用正常,实现了日志数据在智慧空间中的循环利用,具有场景内闭环的特点。
性能测试
本发明选择了各个微服务组件中的关键功能接口做了性能测试,每个接口测试了五十次单用户发出单个请求并返回数据的响应时间,平均响应时间如表6所示:
表 6各模块主要功能接口对单个请求的平均响应时间
Figure dest_path_image006
性能测试结果显示所有接口平均响应时间均在0.06s以内,其中模块一包含的四个接口平均响应时间为23.2毫秒,模块二包含的四个接口平均响应时间为30毫秒,模块三包含的四个接口平均响应时间为22.75毫秒,模块四包含的三个接口平均响应时间为55.7毫秒。四个模块包含的主要接口都能够快速地响应请求,其中资源管理服务中的主要功能接口平均响应时间都较小,流程演化服务中的主要功能接口平均响应时间对比其他组件较大,这是因为资源管理业务类型相对简单,流程演化服务后台算法较复杂,所以所需响应时间有所差别。原型系统的性能测试结果表明了系统能快速响应用户请求,满足性能需求。以上功能测试和性能测试结果表明,本发明设计的智能空间中的资源调度微服务架构可以通过调用和组合各个微服务组件核心功能实现合理分配资源,解决资源冲突及流程演化等问题。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

  1. 一种基于微服务的智能空间并发服务流程执行方法,其特征在于,包括以下步骤:
    S1.以有向无环图结构组织起来的服务流程通过流程管理服务组件注册后存储到服务流程数据库中;智慧空间中的有效设备资源通过资源管理服务组件注册后存储到资源数据库中;
    S2.所述流程管理服务组件调用所述资源管理服务组件进行资源关联;
    S3.所述服务流程并发执行时,资源调度服务组件基于所述流程管理服务组件和所述资源管理服务组件实现所述资源在所述服务流程之间的合理分配;
    在所述步骤S1至S3的过程中,还包括以下步骤:
    S4.日志服务组件不断获取系统中各个服务操作记录,并存储到日志数据库中;
    其中,所述服务流程由多个任务节点关联起来,以有向无环图形式呈现;所述任务节点为智能空间中发生的一个事件,所需资源独立不可分割;每个所述服务流程有对应的描述信息。
  2. 根据权利要求1所述的执行方法,其特征在于,所述步骤S4中,所述服务操作记录包括:资源操作、服务流程操作、调度日志和演化日志。
  3. 根据权利要求1所述的执行方法,其特征在于,在所述步骤S3中,所述资源在所述服务流程之间的合理分配包括以下步骤:
    S31.所述资源调度服务组件获取到各个资源池内的所有智能设备资源信息、以及未绑定资源池的服务流程;
    S32.所述资源调度服务组件将拥有的资源和服务流程需要的资源处于最大匹配状态的资源池设定为最佳资源池;
    S33.所述资源调度服务组件将所述智慧空间中的所述服务流程绑定对应的所述最佳资源池;
    S34.所述资源调度服务组件对所述智慧空间中并发的服务流程进行资源调度;
    其中,所述资源池为所述资源管理服务组件确认的所述有效设备资源所处的最小空间。
  4. 根据权利要求3所述的执行方法,其特征在于,所述步骤S33中还包括以下步骤:
    S331.如果所述服务流程绑定的资源池可能缺少一种或多种资源,采用跨场景联动,调用其他资源池中的便携可移动资源作为替代资源;
    S332.如果所述服务流程所需资源被占用,就等待资源释放;
    其中,所述资源调度服务组件通过调用所述流程管理服务和所述资源管理服务得到所述智慧空间中的服务流程信息和所需资源状态信息,及时为已经绑定所述资源池的服务流程推荐可用资源。
  5. 根据权利要求4所述的执行方法,其特征在于,所述步骤S33中,还包括以下步骤:
    S5.所述资源分配到所述服务流程的过程中,绑定所述资源池的服务流程执行时发生阻塞时,资源调度服务组件调用流程演化服务得到替代子流程,使服务流程可以继续执行;
    其中,所述阻塞为所述服务流程找不到任何所述资源从而无法执行下去。
  6. 根据权利要求5所述的执行方法,其特征在于,所述步骤S5中,还包括以下步骤:
    S6.所述流程演化服务组件使用基于强化学习的场景语义规则库在线更新和进化算法,调用所述日志服务组件得到环境数据,不断更新规则保证一直有可用替代子流程,同时会通过日志服务记录为所述演化日志;
    其中,新的替代子流程中所包含的任务节点均是源于用户所处智慧空间。
  7. 一种采用如权利要求1-6任意一项所述执行方法的基于微服务的智能空间并发服务流程执行系统,包括:数据实体、数据存储单元、微服务层、API网管和访问终端;其特征在于,
    所述数据实体包含以有向无环图结构组织起来的服务流程以及智慧空间中的有效设备硬件资源;
    所述数据存储单元包含日志数据库、资源数据库、服务流程数据库和其他数据库;所述日志数据库用于存储系统操作信息,记录历史操作记录;所述资源数据库整合了智慧空间中的所有有效的硬件资源,存储场景中的设备资源信息;所述服务流程数据库存储所有的服务流程信息;
    所述微服务层包括:资源管理服务组件、流程管理服务组件、日志服务组件、资源调度服务组件、流程演化服务组件和其他服务组件,以及服务间通信方式及通信协议;
    所述访问终端与为用户使用提供操控界面和操作载体;
    所述API网关负责统一接入所有所述访问终端的API调用,将所述访问终端的请求转发给后端的服务器,所述访问终端只需要与所述API网关交互,而不用与各个业务模块的接口分别通信,可以满足客户端同时请求多个服务的需求;
    所述服务流程由多个任务节点关联起来,以有向无环图形式呈现;所述任务节点为智能空间中发生的一个事件,所需资源独立不可分割;每个所述服务流程有对应的描述信息。
  8. 根据权利要求7所述的基于微服务的执行系统,其特征在于,所述微服务层还包括:服务调用、服务注册和服务间通信及通信协议;
    所述服务调用是以Feign为声明式的Web Service客户端,相互隔离的微服务之间,但通过它可以使得微服务之间的调用变得简单;
    所述服务注册使用Eureka Server框架实现,各个资源节点启动之后会在Eureka Server框架中进行注册,之后服务注册表中将会存储所有可用资源节点的信息,通过Eureka的心跳机制可以及时移除规定周期内没有发送心跳的资源节点;
    所述服务间通信采用远程过程调用组件提供适合分布式环境的远程过程调用机制,可以像调用本地方法一样调用远程方法;
    所述通信协议使用基于HTTP的REST架构风格。
  9. 根据权利要求8所述的基于微服务的执行系统,其特征在于,所述资源管理服务组件对智慧空间中所有有效智能设备资源进行集中管理,对场景中的所有资源进行个性化操作,通过设备抽象和描述的方法将物理资源抽象为语义描述模型;
    所述流程管理模块组件对所述服务流程进行定制化创建;不同用户通过流程管理模块组件设计并添加自己专属的流程,查看智慧空间中自己待完成的所有服务流程信息;
    所述日志服务组件收集系统中的操作日志、异常日志,通过将日志信息以统一的格式进行集中存储和管理,对所有日志信息进行汇总和分析,为用户行为跟踪和系统故障恢复提供客观依据,并定位错误及保存历史操作记录;
    所述资源调度服务组件实现资源在服务流程之间的合理分配;使用资源调度服务组件获取到各个资源池内的所有智能设备资源信息、以及未绑定资源池的服务流程;为服务流程绑定了最佳资源池;对于智慧空间中的并发的服务流程进行资源调度;
    所述最佳资源池为该资源池拥有的资源和服务流程需要的资源处于最大匹配状态;
    所述流程演化服务组件使用基于强化学习的场景语义规则库在线更新和进化算法,读取日志文件作为环境数据,当绑定资源池的服务流程执行阻塞时,调用流程演化服务可以得到替代子流程。所述子流程会替换执行时阻塞的任务节点及其之后的节点,加入到原来的流程中构建出新的服务流程,与原来的服务流程达到的效果相同或相似;
    所述阻塞为所述服务流程找不到任何所述资源从而无法执行下去;
    所述其他服务还包括文件存储、转换。
  10. 根据权利要求9所述的基于微服务的执行系统,其特征在于,所述资源调度服务组件对并发的服务流程进行资源调度时,如果服务流程绑定的资源池可能缺少一种或多种资源,采用跨场景联动,调用其他资源池中的便携可移动资源替代缺少的资源,资源调度服务组件通过调用流程管理服务组件和资源管理服务组件得到智慧空间中的服务流程信息和所需资源状态信息,及时为已经绑定资源池的服务流程推荐可用资源;如果服务流程所需资源被占用就等待资源释放;
    如果所需资源极度稀缺,无论是空闲资源还是被占用资源都不包含服务流程所需资源,流程找不到任何资源从而无法执行下去时,调用流程演化服务组件得到阻塞节点的替代子流程,以求和原来的流程达到相同或相似的目的。
PCT/CN2022/137654 2021-12-15 2022-12-08 一种基于微服务的智能空间并发服务流程执行方法及系统 WO2023109650A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111538481.8A CN114416340A (zh) 2021-12-15 2021-12-15 一种基于微服务的智能空间并发服务流程执行方法及系统
CN202111538481.8 2021-12-15

Publications (1)

Publication Number Publication Date
WO2023109650A1 true WO2023109650A1 (zh) 2023-06-22

Family

ID=81267128

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/137654 WO2023109650A1 (zh) 2021-12-15 2022-12-08 一种基于微服务的智能空间并发服务流程执行方法及系统

Country Status (2)

Country Link
CN (1) CN114416340A (zh)
WO (1) WO2023109650A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661979A (zh) * 2023-08-02 2023-08-29 之江实验室 异构作业调度系统及方法
CN117041247A (zh) * 2023-10-09 2023-11-10 南京翼辉信息技术有限公司 一种基于微服务通信架构的流式数据的传输方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416340A (zh) * 2021-12-15 2022-04-29 深圳先进技术研究院 一种基于微服务的智能空间并发服务流程执行方法及系统
CN114924877B (zh) * 2022-05-17 2023-10-17 江苏泰坦智慧科技有限公司 一种基于数据流的动态分配计算方法、装置和设备
CN115118705B (zh) * 2022-06-28 2024-03-15 重庆大学 一种基于微服务的工业边缘管控平台

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080228904A1 (en) * 2002-03-20 2008-09-18 Daniel Crespo-Dubie Home Gateway Architecture and State Based Distributed System and Method
CN110032082A (zh) * 2019-04-26 2019-07-19 广东昇辉电子控股有限公司 智能家居设备管理系统及方法
CN111556090A (zh) * 2020-03-19 2020-08-18 重庆特斯联智慧科技股份有限公司 智能物联网的功能聚合自组织系统及方法
CN113448728A (zh) * 2021-06-22 2021-09-28 腾讯科技(深圳)有限公司 一种云资源调度方法、装置、设备及存储介质
CN114416340A (zh) * 2021-12-15 2022-04-29 深圳先进技术研究院 一种基于微服务的智能空间并发服务流程执行方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080228904A1 (en) * 2002-03-20 2008-09-18 Daniel Crespo-Dubie Home Gateway Architecture and State Based Distributed System and Method
CN110032082A (zh) * 2019-04-26 2019-07-19 广东昇辉电子控股有限公司 智能家居设备管理系统及方法
CN111556090A (zh) * 2020-03-19 2020-08-18 重庆特斯联智慧科技股份有限公司 智能物联网的功能聚合自组织系统及方法
CN113448728A (zh) * 2021-06-22 2021-09-28 腾讯科技(深圳)有限公司 一种云资源调度方法、装置、设备及存储介质
CN114416340A (zh) * 2021-12-15 2022-04-29 深圳先进技术研究院 一种基于微服务的智能空间并发服务流程执行方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SUN JIE; JIN MING; WANG YANG: "A Microservice-based Approach to Facilitate Multi-Services in Smart Space", 2021 7TH INTERNATIONAL CONFERENCE ON BIG DATA AND INFORMATION ANALYTICS (BIGDIA), IEEE, 29 October 2021 (2021-10-29), pages 366 - 374, XP034039300, DOI: 10.1109/BigDIA53151.2021.9619593 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661979A (zh) * 2023-08-02 2023-08-29 之江实验室 异构作业调度系统及方法
CN116661979B (zh) * 2023-08-02 2023-11-28 之江实验室 异构作业调度系统及方法
CN117041247A (zh) * 2023-10-09 2023-11-10 南京翼辉信息技术有限公司 一种基于微服务通信架构的流式数据的传输方法
CN117041247B (zh) * 2023-10-09 2024-03-15 南京翼辉信息技术有限公司 一种基于微服务通信架构的流式数据的传输方法

Also Published As

Publication number Publication date
CN114416340A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
WO2023109650A1 (zh) 一种基于微服务的智能空间并发服务流程执行方法及系统
Khan et al. Wireless sensor network virtualization: A survey
US7096258B2 (en) System and method providing automatic policy enforcement in a multi-computer service application
Pedersen et al. Facilitating a generic communication interface to distributed energy resources: Mapping IEC 61850 to RESTful services
Farias et al. A systematic review of shared sensor networks
Gaddah et al. A survey of middleware paradigms for mobile computing
CN109074283A (zh) 通过nfv建立基于池的m2m服务层
Romero et al. Enabling context-aware web services: a middleware approach for ubiquitous environments
Mohamed et al. Service-oriented middleware approaches for wireless sensor networks
Mishra et al. A review and classification of grid computing systems
Le et al. Managing on-demand sensing resources in IoT cloud systems
Cecílio et al. Existing middleware solutions for wireless sensor networks
Nguyen et al. Software-defined virtual sensors for provisioning iot services on demand
Al-Jaroodi et al. Service oriented middleware: trends and challenges
Plebani et al. MicroMAIS: executing and orchestrating Web services on constrained mobile devices
Romero et al. Service discovery in ubiquitous feedback control loops
Dobson et al. Adaptive middleware for autonomic systems
Sun et al. A Microservice-based Approach to Facilitate Multi-Services in Smart Space
Korala et al. Design and implementation of a platform for managing time-sensitive IoT applications
CN106210120A (zh) 一种服务器的推荐方法及其装置
De Biase et al. Swarm Minimum Broker: an approach to deal with the Internet of Things heterogeneity
Schulz et al. Capability-Aware Information Aggregation in Peer-to-Peer Grids: Methods, Architecture, and Implementation
He et al. Resource Choreography in Cyber-Physical-Social Systems: Representation, Modeling and Execution
Grigoras et al. The distributed mobile cloud supporting the internet of things
Lukkien et al. The WASP architecture for wireless sensor networks

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

Country of ref document: EP

Kind code of ref document: A1