CN116069492A - Service processing method, system and device - Google Patents

Service processing method, system and device Download PDF

Info

Publication number
CN116069492A
CN116069492A CN202111290138.6A CN202111290138A CN116069492A CN 116069492 A CN116069492 A CN 116069492A CN 202111290138 A CN202111290138 A CN 202111290138A CN 116069492 A CN116069492 A CN 116069492A
Authority
CN
China
Prior art keywords
computing
computing device
blockchain
node
reference information
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.)
Pending
Application number
CN202111290138.6A
Other languages
Chinese (zh)
Inventor
葛建壮
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 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
Priority to CN202111290138.6A priority Critical patent/CN116069492A/en
Priority to PCT/CN2022/096569 priority patent/WO2023077791A1/en
Publication of CN116069492A publication Critical patent/CN116069492A/en
Pending legal-status Critical Current

Links

Images

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
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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]
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

A task processing method, system and device improves the efficiency of borrowing computing power from devices in different device clusters. The method comprises the following steps: the first computing device receives a plurality of task requests through an objective function in a serverless system. The first computing device sends the objective function to the second computing device, the second computing device and the first computing device belonging to different device clusters. When the first computing device acquires insufficient self-idle computing power resources, the first computing device processes a first part of task requests in the first computing device through the target function, and forwards a second part of task requests to the second computing device to instruct the second computing device with the idle computing power resources to process the second part of task requests through the received target function, wherein the plurality of task requests comprise the first part of task requests and the second part of task requests. The first computing device receives a processing result of the second part of task request sent by the second computing device.

Description

Service processing method, system and device
Technical Field
The application relates to the technical field of internet, in particular to a method, a system and a device for processing business.
Background
The traditional cloud computing utilizes centralized large-capacity clustered equipment to process massive information in a centralized manner, all computing processes are processed in a cloud end in a centralized manner, data collection and sharing are facilitated, and a series of large data applications are induced. Although cloud computing has almost infinite computing power, in order to use the computing power of cloud computing, many communication costs are required, and delay is inevitably caused. The centralized processing mode necessarily determines that the data of the user needs to be uploaded to the cloud for processing, so that delay is difficult to reduce.
The edge computing architecture is proposed to solve the problem of large cloud computing delay. Specifically, the edge computing processes tasks with high delay requirements at the near-user end, and services which are originally only operated on the cloud computing platform are put into the edge equipment.
However, the limited computing power of edge devices relative to cloud computing devices is its greatest bottleneck. When the sudden flow is encountered, the edge equipment cannot meet the service requirement due to insufficient local calculation force, and if the calculation force of the edge equipment is deployed according to the flow peak value, the cost of the edge equipment is high.
Disclosure of Invention
The application provides a business processing method, a business processing system and a business processing device, which improve the efficiency of mutual calculation force borrowing among devices in different device clusters.
In a first aspect, the present application provides a method for task processing, including: the first computing device receives a plurality of task requests via an objective function (function) in a serverless system. The plurality of task requests belong to the same type of task, i.e. the plurality of tasks need to call the same objective function to be processed. The embodiment of the application does not limit the type of the task request, and may be, for example, a target detection task, a classification task, a semantic segmentation task, and the like. The first computing device sends the objective function to a second computing device, the second computing device and the first computing device belonging to different device clusters. The embodiment of the application describes a device cluster, which means that all devices included in the device cluster provide services in a unified and external manner. When the first computing device acquires insufficient self-idle computing power resources, the first computing device processes a first part of task requests in the first computing device through the target function, forwards a second part of task requests to the second computing device, and indicates the second computing device with the idle computing power resources to process the second part of task requests through the received target function, wherein the plurality of task requests comprise the first part of task requests and the second part of task requests. The first computing device receives a processing result of the second part of task request sent by the second computing device.
Wherein the plurality of task requests may be performed by the targeting function. When the second computing device provides this target functionality to the second computing device, the second computing device is enabled to have the capability to process any one of the plurality of task requests, thereby enabling the second computing device to share the work of the first computing device. In addition, the first computing device only needs to send the target function (and the task request) to the second computing device, and does not need to send the complete task processing program to the second computing device, so that compared with the method for providing the whole task processing program to the second computing device, the method has the advantages that the data volume sent by the first aspect is small, and the occupied bandwidth is small.
In general, a manual configuration mode is needed for cross-cluster borrowing calculation force, or mirror image migration operation of virtual resources is needed to be executed, so that a great amount of time is needed to be consumed for the cross-cluster borrowing calculation force, and service switching is not timely. As can be seen from the first aspect, the solution provided in the present application deploys a server system in different device clusters. Because the server system makes service research personnel only pay attention to service logic, namely only pay attention to related functions required by service execution, and the server management, operating system management, resource allocation, capacity expansion and other projects are not required to be considered. Therefore, after the server system is deployed in different device clusters, devices in different device clusters can transfer related functions to each other, and the devices with the related functions can execute tasks corresponding to the related functions. By the method, even though the computing power systems of different device clusters are different, a manual configuration mode is not needed, or mirror migration operation of virtual resources is needed to be executed to realize cross-device cluster borrowing computing power, and only a server system is needed to be deployed in the different device clusters, devices in one device cluster can send related functions to the devices in the other device cluster, so that the devices of the other device cluster can be instructed to share service requests initiated to the devices in the one device cluster. Compared with the traditional cross-device cluster computing power borrowing scheme, the virtual resource mirror migration is needed between devices to realize the computing power borrowing between the cross-device clusters, and the scheme provided by the first aspect can realize the computing power borrowing between the cross-device clusters only by only transmitting operators/functions between the devices, so that the time required for borrowing the computing power between the devices is greatly reduced, and the purpose of efficiently realizing the cross-device cluster computing power borrowing is achieved.
In a possible implementation manner of the first aspect, the method further includes: the first computing device obtains reference information for at least one device. The first computing device determines a second computing device according to the acquired reference information of the at least one device, and the reference information of the second computing device is acquired to meet preset requirements. In this embodiment, one or more optimal devices may also be selected from among different device clusters as devices for borrowing computing power based on the reference information of the devices, so as to better achieve the purpose of borrowing computing power across the device clusters.
In a possible implementation manner of the first aspect, the reference information of the at least one device includes idle computing power resources of each of the at least one device. In such an embodiment, a device with more abundant idle computing power resources may be preferred as a borrowing computing power to promote the efficiency of borrowing computing power across a cluster of devices.
In a possible implementation manner of the first aspect, the reference information of the at least one device further includes latency information between each of the at least one device and the first computing device. In this embodiment, delay information between devices may be further considered to improve the efficiency of borrowing computing power across a cluster of devices.
In a possible implementation manner of the first aspect, the reference information of the at least one device further includes each device of the at least one device, and a number of devices of the first computing device spaced in a topology in which the first computing device is located. In such an embodiment, the length of the transmission path between the devices may be further considered to increase the efficiency of borrowing computing power across the cluster of devices.
In a possible implementation manner of the first aspect, the method further includes: the first computing device obtains reference information of at least one device from the first blockchain devices, each device of the at least one device and the first computing device belonging to a different cluster of devices, wherein the reference information of a third device is written into the second blockchain device by the third device to synchronize the reference information of the third device by the second blockchain device to other blockchain devices in the blockchain maintained by the second blockchain device except the second blockchain device, the first blockchain device is any one of the blockchains maintained by the second blockchain device, and the third device is any one of the at least one device. In such an embodiment, blockchains may also be introduced to enable collection of metric information across cluster devices, where the metric information may include free computing resources, latency information, bandwidth, and the like.
In a possible implementation manner of the first aspect, the method further includes: the first computing device establishes a communication link with the second computing device. The first computing device sending an objective function to the second computing device, comprising: the first computing device transmits the objective function to the second computing device over the communication link. The method further comprises the steps of: if the first computing device acquires that the self-idle computing power resources are sufficient, the first computing device stops forwarding the second part of task requests to the second computing device through the server system. The first computing device disconnects the communication link after a specified period of time. In such an embodiment, if the first computing device acquires sufficient free computing power resources, the first computing device may no longer route traffic to the second computing device, i.e., the first computing device may cease forwarding portions of the task request to the second computing device through the server system. In addition, in order to ensure that the processed result of the second computing device can be smoothly transmitted to the first computing device, the first computing device does not immediately disconnect the communication link when acquiring sufficient self-idle computing power resources, but disconnects the communication link after a specified duration.
In one possible implementation of the first aspect, the first computing device sends the objective function to the second computing device, including: if the first computing device acquires that the self-idle computing power resources are insufficient, the first computing device sends an objective function to the second computing device. In the embodiment, when the first computing device acquires insufficient self-idle computing power resources, the objective function can be sent to the second computing device without being sent in advance, so that the purpose of borrowing computing power across the device cluster can be achieved accurately.
In a second aspect, the present application provides a system for task processing, the system comprising a first computing device cluster and a second computing device cluster, the first computing device cluster having a plurality of computing devices including a first computing device, the first computing device cluster having a plurality of computing devices including a second computing device, for: and receiving a plurality of task requests through an objective function in the server-less system. The objective function is sent to a second computing device, the second computing device and the first computing device belonging to different clusters of devices. If the first computing device is insufficient in idle computing power resources, the server system processes the first part of task requests in the first computing device, and forwards the second part of task requests to the second computing device, wherein the plurality of task requests comprise the first part of task requests and the second part of task requests. A second computing device for: and processing the second part of task request through the received objective function. And sending the processing result of the second part of task request to the first computing device.
In a possible implementation manner of the second aspect, the first computing device is further configured to: reference information of at least one device is acquired. And determining a second computing device according to the acquired reference information of the at least one device, wherein the acquired reference information of the second computing device meets the preset requirement.
In a possible implementation manner of the second aspect, the reference information of the at least one device includes idle computing power resources of each of the at least one device.
In one possible implementation manner of the second aspect, the reference information of the at least one device further includes latency information between each of the at least one device and the first computing device.
In one possible implementation manner of the second aspect, the reference information of the at least one device further includes each device of the at least one device, and a number of devices that the first computing device is spaced in a topology in which the first computing device is located.
In a possible implementation manner of the second aspect, the system further includes a first blockchain device and a second blockchain device, and the first computing device is further configured to: the method comprises the steps of obtaining reference information of at least one device from a first blockchain device, wherein each device in the at least one device and a first computing device belong to different device clusters, wherein the reference information of a third device is written into a second blockchain device by the third device, so that the reference information of the third device is synchronized to other blockchain devices except the second blockchain device in a blockchain maintained by the second blockchain device, the first blockchain device is any one of blockchain devices maintained by the second blockchain device, and the third device is any one of the at least one device.
In a possible implementation manner of the second aspect, the first computing device is further configured to: a communication link is established with a second computing device. The first computing device is specifically configured to: the objective function is sent to the second computing device over the communication link. The first computing device is further to: and if the idle computing power resources of the first computing device are enough, stopping forwarding the second part of task requests to the second computing device through the server system. After a specified period of time, the communication link is disconnected.
In one possible implementation manner of the second aspect, the first computing device is specifically configured to: if the acquired self-idle computing power resources of the first computing device are insufficient, the first computing device sends an objective function to the second computing device.
In a third aspect, the present application provides an apparatus for task processing, including: a transceiver module for: and receiving a plurality of task requests through an objective function in the server-less system. And sending the target function to the second computing device, wherein the second computing device and the first computing device belong to different device clusters. And the processing module is used for processing the first partial task request in the first computing device through the server system if the acquired idle computational power resource of the first computing device is insufficient, and directing the transceiver module to forward the second partial task request to the second computing device so as to direct the second computing device to process the second partial task request through the received objective function, wherein the plurality of task requests comprise the first partial task request and the second partial task request. And the receiving and transmitting module is also used for receiving the processing result of the second part of task request sent by the second computing equipment.
In a possible implementation manner of the third aspect, reference information of at least one device is obtained. The processing module is further used for: and determining a second computing device according to the acquired reference information of the at least one device, wherein the acquisition of the reference information of the second computing device meets the preset requirement.
In a possible implementation manner of the third aspect, the reference information of the at least one device includes idle computing power resources of each of the at least one device.
In a possible implementation manner of the third aspect, the reference information of the at least one device further includes latency information between each of the at least one device and the first computing device.
In one possible implementation manner of the third aspect, the reference information of the at least one device further includes each device of the at least one device, and a number of devices of the first computing device spaced in a topology where the first computing device is located.
In a possible implementation manner of the third aspect, the transceiver module is further configured to: the method comprises the steps of obtaining reference information of at least one device from a first blockchain device, wherein each device in the at least one device and a first computing device belong to different device clusters, wherein the reference information of a third device is written into a second blockchain device by the third device, so that the reference information of the third device is synchronized to other blockchain devices except the second blockchain device in a blockchain maintained by the second blockchain device, the first blockchain device is any one of blockchain devices maintained by the second blockchain device, and the third device is any one of the at least one device.
In a possible implementation manner of the third aspect, the processing module is further configured to: a communication link is established with a second computing device. The transceiver module is specifically used for: the objective function is sent to the second computing device over the communication link. The processing module is further used for: and if the idle computing power resources of the first computing device are enough, stopping forwarding the second part of task requests to the second computing device through the server system. After a specified period of time, the communication link is disconnected.
In a possible implementation manner of the third aspect, the transceiver module is specifically configured to: if the first computing device acquires that the self-idle computing power resources are insufficient, the first computing device sends an objective function to the second computing device.
In a fourth aspect, the present application provides an apparatus for task processing, including: a memory for storing computer readable instructions. Also included is a processor coupled to the memory for executing computer readable instructions in the memory to perform a method as described in the first aspect or any one of the possible implementations of the first aspect.
In a fifth aspect, the present application provides a computer readable storage medium comprising instructions which, when run on a computer device, cause the computer device to perform a method as described in the above first aspect or any one of the possible implementations of the first aspect.
In a sixth aspect, the present application provides a chip coupled to a memory for executing a program stored in the memory for performing a method as described in the first aspect or any one of the possible implementations of the first aspect.
In a seventh aspect, embodiments of the present application provide a computer program product comprising computer programs/instructions which, when executed by a processor, cause the processor to perform the method of the first aspect or any of the alternative embodiments of the first aspect.
The advantages of the second aspect to the seventh aspect and the possible embodiments of the second aspect to the seventh aspect may be understood with reference to the first aspect and the possible embodiments of the first aspect, and the detailed description is not repeated here.
Drawings
Fig. 1 is a schematic architecture diagram of a system according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a serverless application scenario;
fig. 3 is a schematic flow chart of a service processing method according to an embodiment of the present application;
fig. 4 is a flow chart of another service processing method according to an embodiment of the present application;
fig. 5 is a flow chart of another service processing method according to an embodiment of the present application;
Fig. 6 is a flow chart of another service processing method according to an embodiment of the present application;
fig. 7 is a flow chart of another service processing method according to an embodiment of the present application;
FIG. 8 is a schematic diagram of a system architecture according to an embodiment of the present disclosure;
fig. 9 is a schematic structural diagram of a service processing device according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of another service processing apparatus according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will now be described with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some, but not all embodiments of the present application. As one of ordinary skill in the art can appreciate, with the development of technology and the appearance of new scenes, the technical solutions provided in the embodiments of the present application are applicable to similar technical problems.
Fig. 1 is a schematic architecture diagram of a system 100 according to an embodiment of the present application. As shown in fig. 1, the system 100 includes a plurality of device clusters. One or more devices may be included in each device cluster. For ease of illustration, m clusters of devices are shown in fig. 1, each cluster including n devices, where m is a positive integer greater than 1 and n is a positive integer. For convenience of illustration, each device cluster illustrated in fig. 1 includes n devices, and it should be noted that, in the embodiment of the present application, the number of devices included in each device cluster is not limited, and the number of devices included in any two device clusters may be the same or different.
The embodiment of the application describes a device cluster, which means that all devices included in the device cluster provide services in a unified and external manner. By way of example, several possible features of a device cluster are given below, typically one device cluster having an independent computing system, the computing systems of any two different device clusters being different. One cluster of devices is typically powered by the same power supply system, and furthermore, all devices of one cluster of devices are typically deployed in the same geographic location.
A device cluster is generally managed by a unified management platform, and a relationship between the management platform and a plurality of devices managed by the management platform will be described below by taking the management platform included in the device cluster and the plurality of devices managed by the management platform as examples.
The management platform can send a control instruction to one or more devices in the device cluster where the management platform is located so as to control the devices in the device cluster; for another example, the management platform may send configuration resource information to one or more devices in the device cluster where the management platform is located, so as to configure the one or more devices; for another example, the management platform may receive data sent by the one or more devices and process the data based on the data sent by the one or more devices to obtain a processing result. In one possible implementation, the management platform may be deployed at the cloud. The management platform may be referred to as a management device, and a device managed by the management device is referred to as a managed device.
One or more devices in the device cluster may include at least one of various types of sensing devices, base stations, access points, switches, routers, gateways, terminals, audiovisual devices, controllers, and detection devices, among other types of networking devices. In some possible embodiments, each managed device may be configured separately, e.g., to configure its computing capabilities, networking modes, operating rights, etc. In some possible embodiments, the managed device has complete data acquisition, processing, computation, control capabilities. In one possible implementation, the managed device may be deployed at a terminal. In some possible implementations, the managed device may be an edge device or an edge scene end device.
When the managed device is an edge device, since most of the edge devices are light-weight devices, the computing power is limited, and if the computing power of the managed device is deployed according to the flow peak value of the managed device, the cost of the managed device is greatly increased. To address this problem, borrowing computing power across clusters may be considered.
However, the process of borrowing computing power across clusters is complicated, and a manual configuration mode is generally required to be adopted for borrowing computing power across clusters, or mirror image migration operation of virtual resources needs to be executed, so that a great amount of time is required to be consumed for borrowing computing power across clusters, and service switching is not timely.
The embodiment of the application provides a scheme, and a service architecture without a server (serverless) is utilized, when equipment in one equipment cluster needs to borrow calculation force to equipment in other equipment clusters, the borrowed equipment transmits related functions to the borrowed equipment, and the borrowed equipment which acquires the related functions can share the flow of the borrowed equipment so as to achieve the purpose of quickly borrowing calculation force among equipment crossing the equipment clusters.
Since this application relates to a number of concepts related to serverless, for better understanding of the solution provided by the embodiments of this application, the following description of serverless is provided.
The server architecture is a novel internet architecture, wherein application development does not use conventional service processes, which provides a brand-new architecture for application programs in an edge computing scenario. In a mode of combining the server architecture with edge computing, the server architecture can shield server-side facilities such as a server, a database and middleware of a tenant, the tenant does not participate in deployment and maintenance of the server-side facilities any more, and deployment and operation and maintenance difficulties of the tenant can be greatly simplified. In other words, the serverless architecture allows application deployment to be managed at the service deployment level rather than the server deployment level. The server architecture enables service research and development personnel to only pay attention to service logic without considering operation and capacity, and improves the efficiency of service iteration. The server service architecture is triggered by an event by outsourcing server management, operating system management, resource allocation, capacity expansion and the like, and providing services by a third party. The server can automatically expand the computing power and capacity when the service volume is large so as to bear more user requests, and contract resources when the service volume is reduced so as to avoid resource waste, and the mechanism is an elastic expansion and contraction mechanism of the server. When a service application exists, the server architecture calls related resources to start running, and all overheads are unloaded after the running is completed. The server architecture can enable a developer to be dedicated to a product without managing and operating a cloud or local server, without considering the problems of the specification size, storage type, network bandwidth, automatic expansion and contraction of the server and the like, and without operating and maintaining the server.
Under the server architecture, the resources created when the server performs service deployment are virtualized, and may exist in the form of virtual machines, and the virtualized resources are sometimes referred to as containers in this application. When creating a container, a corresponding request value and limit value are set, wherein the request value represents the minimum resource requirement used by the container, and the limit value represents the maximum value of the available resources used by the container. The resources herein may include resources of multiple dimensions including, for example, central processing unit (central processing unit, CPU) resources, network card resources, memory resources, etc.
The application scenario of serverless is described below in conjunction with fig. 2.
Fig. 2 is a schematic view of an application scenario provided in an embodiment of the present application, as shown in fig. 2, including a server 10, where the server 10 may create a plurality of virtual resources and allocate a corresponding resource for each virtual resource.
In fig. 2, the server 10 is illustrated as creating 2 virtual resources, namely, a first virtual resource 11 and a second virtual resource 12, and when creating the first virtual resource 11 and the second virtual resource 12, allocating resources to the first virtual resource 11 and the second virtual resource 12. When the server 10 creates the first virtual resource 11 and the second virtual resource 12, corresponding parameters are set for the first virtual resource 11 and the second virtual resource 12, where the parameters include a minimum resource requirement of virtual resource usage, i.e. a request value, and a maximum value of resources that can be used by the virtual resource, i.e. a limit value.
The request value and limit value of different virtual resources may be different, where the request value may be used as a decision dependency for resource allocation during virtual resource scheduling.
The server may allocate initial resources, which may include a CPU, memory, network card, etc., for each virtual resource based on the request value of the virtual resource.
After the resources are allocated, the device that deployed the virtual resources may receive service requests and then process the service requests using the allocated resources. For example, in fig. 2, a service request is sent to the first virtual resource 11, and the first virtual resource 11 can process a service indicated by the service request according to the allocated resource; sending a service request to the second virtual resource 12, the second virtual resource 12 may process the service indicated by the service request based on the allocated resources, and so on. The services may include an online service and an offline service, where the online service is a service that needs to be processed in time, and the offline service is a service that does not need to be processed in time, which is not limited in this embodiment of the present application. Wherein the first resource device and the second virtual resource may be deployed on different devices, such as the first virtual resource deployed on device a and the second virtual resource deployed on device B as shown in fig. 2. In one possible implementation, the service request may be sent directly to device a or device B. In one possible implementation manner, the request may also be sent to the virtual resource through the client, which is not limited by the embodiment of the present application. In addition, for convenience of illustration, fig. 2 only shows one server, and the server creates two virtual resources, and it should be noted that the number of devices in the system and the number of configured virtual resources in the embodiment of the present application are not limited, and the description thereof will not be repeated. In addition, the server described in fig. 2 is sometimes referred to as a center node, or a management device, which means the same.
Based on the architecture described in fig. 1 and fig. 2, the following description will explain the solution provided in the embodiment of the present application.
Firstly, a study idea of the scheme provided by the embodiment of the application is introduced:
the scheme provided by the embodiment of the application utilizes the server architecture, and as the server architecture is deployed inside a device cluster at present, as introduced in fig. 2, the server architecture has an elastic expansion and contraction mechanism inside the device cluster, and the device cluster does not need the mutual calculation force among operators, so that the server architecture can be utilized to support the capability of mutually transmitting operators/functions among devices, and the purpose of mutually borrowing calculation force among device clusters is quickly realized. Specifically, when one device obtains an operator/function sent by another device, the operator/function can be used to execute a corresponding task, so that the purpose of borrowing computing power between devices is achieved, for example, an A device executes an A service by using an A operator, a B device can execute the A service after obtaining the A operator, the A service of the A device can be transferred to the B device to be executed, and the purpose of borrowing computing power of the B device by the A device is achieved. Compared with the traditional cross-device cluster computing power borrowing scheme, the virtual resource mirror migration is needed between devices to realize the computing power borrowing between the cross-device clusters, and the scheme provided by the embodiment of the application can realize the computing power borrowing between the cross-device clusters only by transmitting operators/functions between the devices, so that the time length needed by the borrowing of the computing power between the devices is greatly reduced. Specifically, since the virtual resource is generally at least hundreds of megabytes, the data size is generally in GB level, so that it takes a long time to migrate the virtual resource image from one device to another device, and further, service switching is not timely, and the scheme for migrating the virtual resource image requires personnel to participate, and is manually configured and very complex to deploy. The solution provided by the embodiment of the application can effectively solve the problems.
In addition, the scheme provided by the embodiment of the application allows all devices in one or more clusters to send respective computing power, network information and other information related to computing power borrowing into the blockchain. When the device needs to borrow the calculation force, any proper device can be selected to borrow the calculation force according to the information recorded in the block chain. Through the mode, the scheme provided by the embodiment of the application can realize that the devices crossing the clusters can borrow calculation forces mutually with higher efficiency, and widens the application scene of calculation force borrowing.
Based on the above-mentioned research ideas, the following describes the solution provided in the embodiments of the present application.
The method for processing data provided in the embodiment of the present application is applied to a server system, where the server system includes a plurality of computing nodes and blockchain nodes, and specifically, the following description is given with reference to the steps executed by each node in fig. 3:
301. the first computing node writes free computing power resources of the first computing node to the blockchain node.
The computing nodes described in the embodiments of the present application are used to represent nodes with data processing capabilities, which are sometimes referred to as devices, virtual machines, devices to be managed, nodes, and sites in the present application.
The computing power of a node is used to represent the computing power of the node, and the computing power resource is a resource that the node needs to occupy when performing a computing task, for example, may include a hardware resource, or a network resource, and specifically may include a central processing unit (central processing unit, CPU) computing power resource, a graphics processing unit (graphics processing unit, GPU) computing power resource, a memory resource, a network bandwidth resource, a disk resource, and so on. The idle computing power resource refers to a resource which is not occupied by the node currently.
In one possible implementation, one or more types of computing resources may be predefined, such that the first computing node obtains the idle computing resources of the type of computing resources according to the predefined type of computing resources. For example, the available computing resources to be written may be preset to include the available computing resources of the CPU and the available computing resources of the GPU, and then the first computing node only writes the available computing resources of the CPU and the available computing resources of the GPU of the first computing node to the blockchain node, without writing all the available computing resources. In one possible implementation, it may also be provided that the first computing node writes all of the free computing resources of the first node to the blockchain node.
In one possible implementation, the first computing node may periodically write the free computing power resources of the first computing node to the blockchain node, e.g., write the current free computing power resources of the first computing node to the blockchain node every a preset duration.
In one possible implementation, the first computing node may also be responsive to the instruction and write the first computing node's current free computing power resources to the blockchain node based on the instruction. The first computing node may respond to the instruction written by the blockchain node and write the current idle computing power resource of the first computing node to the blockchain node based on the instruction. The first computing node may also respond to instructions written by other nodes and write current free computing power resources of the first computing node to the blockchain node based on the instructions. For example, the first computing node may write the current free computing power resource of the first computing node to the blockchain node in response to the instruction written by the central node, which is not limited in this embodiment of the present application.
In one possible implementation, a statistics module is deployed on the first computing node for counting the free computing power resources of the first computing node and writing the free computing power resources of the first computing node to the blockchain node.
In one possible implementation, the first computing node may be a central node, and the first computing node may also be other nodes managed by the central node. In one possible implementation manner, when the first computing node is a central node, the central node may also uniformly acquire idle computing power resources of other nodes managed by the central node, and the central node writes the idle computing power resources of the central node and the idle computing power resources of other nodes of the central node into the blockchain node. In one possible implementation, the first computing node is a blockchain node, and the first computing node writes the free computing power resources of the first computing node locally. It should be noted that any of the types of nodes described in the present application may be blockchain nodes, and the description thereof will not be repeated.
After the block chain node acquires the idle computing power resource of the first computing node, the address of the first computing node and the idle computing power resource of the first computing node are stored. In one possible implementation, the blockchain node may acquire the address of the first computing node in advance, and then after the blockchain node acquires the address of the first computing node, a corresponding relationship between the address of the first computing node and the idle computing power resource of the first computing node is established.
Blockchains are made up of a series of ever-increasing records that become blocks (blocks). The blocks are linked together by cryptography, each block containing a hash value of the previous block, a time stamp, transaction data, etc. Blockchains are essentially a distributed multi-backed up database, but differ from databases at a maximum in that the storage of data is made through a multi-party consensus and historical data is protected using hash chains, making the data non-tamperable. Compared with the traditional database technology, the characteristic that the blockchain data cannot be tampered is easier to obtain the trust of the user, so that multiparty cooperation can be better supported. The blockchain node described in the embodiments of the present application may be regarded as a block, and when a block writes new data, the new data may be synchronized to other blocks in the blockchain according to the distributed database property of the blockchain. In one possible implementation, the new data may also be synchronized to various compute nodes in the server system.
302. The first computing node obtains delay information between the first computing node and the target node.
The target node is any one of the computing nodes except the first computing node in the server system where the first computing node is located.
The first computing node may periodically perform network latency detection to obtain a network latency between the first computing node and the target node. It should be noted that, the embodiment of the present application does not limit what network delay detection mode is adopted, and any network delay detection mode may be adopted in the embodiment of the present application. It should be noted that, the first computing node may also perform network delay detection irregularly.
In one possible implementation, the first computing node may obtain, locally, an internet protocol (internet protocol address, IP) address of at least one target node, and based on the at least one IP address, obtain a time delay between the first computing node and a computing node corresponding to each IP address to obtain at least one detection result, each detection result indicating a network transmission time delay between the first computing node and one of the target nodes.
In one possible implementation, the first computing node may obtain an IP address of at least one target node from the central node, and obtain a time delay between the first computing node and a computing node corresponding to each IP address based on the at least one IP address, to obtain at least one detection result, each detection result indicating a network transmission time delay between the first computing node and one of the target nodes.
In one possible implementation, the first computing node may obtain an IP address of at least one target node from the blockchain node, and obtain a time delay between the first computing node and a computing node corresponding to each IP address based on the at least one IP address to obtain at least one detection result, where each detection result indicates a network transmission time delay between the first computing node and one target node.
303. The first computing node writes the acquired delay information to the blockchain node.
After the block link point obtains the delay information between the first computing node and at least one target node, the block link point can be synchronized to other nodes in the block chain. In one possible implementation, after the block link point obtains the delay information between the first computing node and at least one target node, the block link point may be synchronized to each computing node in the server system.
It should be noted that, in addition to the first computing node writing the idle computing power resource of the first computing node, the delay information acquired by the first computing node, and the address of the first computing node into the blockchain node in the steps 301 and 302, the first computing node may also write other types of information into the blockchain node. For example, in one possible implementation manner, the first computing node may also write, to the blockchain node, the topology of the server system acquired by the first computing node; in one possible implementation, the first computing node may also write various network information, such as network bandwidth obtained by the first computing node, to the blockchain node. For another example, in one possible implementation, the predicted results of the neural network model may be written to the blockchain node. The prediction result indicates the predicted idle computing power resource of the first computing node in a certain time period/point, the computing power resource information such as time delay information acquired by the first computing node and the like. Taking the predicted result indicating the predicted idle computing power resources of the first computing node in a certain time period/point as an example, the idle computing power resources of the first computing node in a historical time period/point can be used as training data of the neural network model, and the neural network model is subjected to iterative training, so that the trained neural network model can predict the idle computing power resources of the first computing node in a certain time period/point.
304. The first computing node receives a service access request.
The type of the service access request in the embodiment of the present application is not limited, for example, the task may be a face recognition task, a target detection task, a classification task, and so on.
In one possible implementation, the idle computing power resources of the first computing node are sufficient, the first computing node has the capability to perform the service alone, the first computing node does not need to borrow the computing power resources of other computing nodes, and the first computing node processes the task request locally. In one possible implementation, if the free computing power resources of the first computing node are insufficient, and the first computing node has no ability to perform the service alone, the first computing node needs to borrow the computing power resources of other nodes, and step 305 needs to be performed, which will be specifically described in step 305.
After the first node receives the service access request, the service access request triggers a server trigger deployed by the first computing node, and after the server trigger is triggered, the first computing node starts a function (function) for executing the service, such as starting function1, if the idle computing power of the first computing node is sufficient, the first computing node smoothly starts the function1 and executes the task based on the function 1.
305. The first computing node borrows the idle computing power resource of the second computing node and processes the service access request.
If the first computing node has insufficient free computing power resources, the first computing node has no ability to perform the service alone, and the first computing node needs to borrow computing power resources of other nodes. There are a number of ways in which it may be determined whether the free computing power resources of the first computing node are insufficient. For example, in one possible implementation, a threshold may be set, and if the free computing power resources of the first computing node are below the threshold, the free computing power resources of the first computing node are deemed to be insufficient. For another example, in one possible implementation, if the first computing node cannot successfully start a function corresponding to a certain task, the idle computing power resource of the first computing node is considered to be insufficient. In one possible implementation, if a first computing node fails to perform a task multiple times, the first computing node is deemed to have insufficient free computing power resources.
If the computational power resources of the first computing node are insufficient, the first computing node may borrow the computational power resources from other nodes to process the service access request received by the first computing node. In one possible implementation, the first computing node may select one or more computing nodes from a plurality of computing nodes in a server system to borrow the computing resource. Specifically, one or more suitable computing nodes may be selected to borrow computing resources based on information related to free computing resources, latency information, etc., of each node stored in the blockchain node.
Because the scheme provided by the embodiment of the application is based on the server system, the first computing node sends the function corresponding to a certain service to other computing nodes, and the computing nodes which acquire the function corresponding to the service can process the service. By way of example, the following describes how a first computing node borrows computing power resources of other nodes in connection with one possible implementation.
(1) The server management module calls the interface of the optimal node selection module.
The server management module may be responsible for managing, scheduling and organizing functions of the first computing node, and transferring functions between different nodes. In one possible implementation, the server management module is deployed on the first computing node, and in one possible implementation, the server management module may be deployed on other nodes.
(2) The optimal node selection module obtains one or more suitable second computing nodes.
The optimal node selection module selects one or more proper second computing nodes according to related information such as idle computing power resources, time delay information and the like of each node stored in the blockchain node and a preset rule.
In one possible implementation, the priority of each different type of related information may be defined, for example, the priority of the idle computing power resource is set to be highest, the time delay information is set to be secondary, and the bandwidth is set to be secondary, so that the optimal node selection module may preferentially select the node with the highest idle computing power resource as the second computing node.
In one possible implementation, the rules may be customized according to the requirements of the actual application scenario, such as setting preferred 5G computing nodes or nodes with GPUs.
In a possible implementation manner, the weight of each different type of related information may be defined, for example, the weight of the idle computing power resource is set to 0.5, the weight of the delay information is set to 0.3, and the weight of the bandwidth is set to 0.2, so that the node with the highest weight obtained by the optimal node selection module may be preferentially used as the second computing node.
In one possible implementation, the optimal node selection module may be deployed on the first computing node, or on other nodes.
(3) The cross-node network management module establishes a communication network between the first computing node and at least one second computing node.
It should be noted that, in the solution provided in the embodiment of the present application, any manner of establishing a communication network between nodes may be used to establish a communication network between a first computing node and each second computing node. The communication network may be an overlay communication network or an underley communication network, for example. The underly is a network of the basic forwarding architecture of the current data center network, and refers to a physical base layer as long as any two-point routing on the data center network is reachable. The overlay communication network refers to a virtualization technology mode overlapped on a network architecture, and the general framework is that the overlay communication network realizes the load applied to the network without modifying the basic network in a large scale, can be separated from other network services, and is mainly based on the IP-based basic network technology.
(4) The server management module transmits the function to be transmitted from the first computing node to the second computing node.
The server management module transmits the function to be transmitted from the first computing node to the at least one second computing node through a communication network established by the cross-node network management module.
The function to be transmitted is a function corresponding to the service requested to be shared by the first computing node. For example, if the function corresponding to the a service is the a function, the a function is executed to complete the a service, and if the to-be-shared processing service of the first computing node is the a service, the to-be-transmitted function is the a function.
(5) The second computing node executes the service initiated to the first computing node by using the acquired function.
After the second computing node obtains the band transmission described in step (4), the first computing node may route a portion of the local access traffic to the second computing node, and the second computing node executes the service initiated to the first computing node according to the obtained function.
In one possible implementation manner, the method may further include (6) when the available computing power resources of the first computing node are obtained sufficiently, the first computing node processing the service initiated to the first computing node.
In such an embodiment, the first computing node need not borrow the computational resources of the second computing node if the first computing node acquires that it already has sufficient free computational resources to handle traffic initiated to the first computing node. The first computing node may cease routing traffic to the second computing node. In one possible implementation, the communication network between the first computing node and the second computing node may be disconnected after a specified period of time.
In one possible implementation, the first computing node may also stop routing traffic to the one or more second computing nodes in batches if there are multiple second computing nodes. For example, the second computing nodes include three, which may be divided into three time points, and at the first time point, traffic is stopped from being routed to one second computing node, at the second time point, traffic is stopped from being routed to one second computing node, at this time, traffic is stopped from being routed to two second computing nodes, and at the third time point, traffic is stopped from being routed to one second computing node, at this time, traffic is stopped from being routed to three second computing nodes.
It should be noted that, in the practical process, there may be more steps and fewer steps than the steps 301 to 305, and in addition, in the practical process, the order of the steps may be changed.
As can be seen from the embodiment corresponding to fig. 3, unlike the conventional scheme of borrowing calculation forces from each other among cross-device clusters, a lot of time is required to be consumed by manual configuration, and the efficiency is low.
Referring to fig. 4, a flow chart of a task processing method provided in an embodiment of the present application is shown, where the first node and the second node shown in fig. 4 belong to different device clusters, and fig. 4 describes a specific flow of the first node to the second node by using computing power.
1. The first node and the second node both comprise a local idle computing power resource real-time statistics module. The local real-time statistics module periodically writes available free computing power of a local CPU/GPU/memory and the like into the blockchain, and synchronizes the available free computing power of the CPU/GPU/memory and the like to all edge nodes by utilizing the distributed database property of the blockchain, for example, in the scheme shown in fig. 4, the edge nodes comprise a first node and a second node.
2. The first node and the second node may also both include a network detection module. The network detection module is responsible for detecting network access time delay between each node and the local node recorded in the block chain module and network connection health conditions among the nodes in real time, and writing network connection bandwidth parameters of the local network and other networks. The network detection module periodically performs network delay detection according to network information (such as IP address including each node) of all nodes in the blockchain, writes parameters such as detection results, network bandwidth, network topology and the like into the blockchain, and synchronizes the detection results obtained by the network detection module to all edge nodes by utilizing the distributed database property of the blockchain.
3. The edge side traffic accesses services on the edge nodes. The type of the service access request in the embodiment of the present application is not limited, and for example, the task may be a face recognition task, a target detection task, a classification task, and so on.
4. And if no function indicated by the service request is running, starting the corresponding function in an edge site, such as a first node, as shown in fig. 4, starting the function na-1 and the function na-2, and executing both the function na-1 and the function na-2 for processing the service received in the step 3.
5. As the access traffic data traffic increases.
6. More functions need to be created to meet the processing requirements for the task.
6. The currently started function cannot meet the calculation force requirement, and the creation of a new function fails due to insufficient resources.
7. The first node and the second node may also both include a network detection module. The server management module is responsible for managing, scheduling and arranging the operators and synchronizing the operators among the nodes. If the current function cannot meet the calculation power requirement, the server management module calls an optimal node selection module interface to acquire an optimal node.
8. The optimal node selection module is responsible for providing an interface for the serverless and providing optimal site information for cross-node scheduling of the serverless. The optimal node selection module selects a corresponding optimal node according to the optimal node selection algorithm according to the available computing power, network time delay, bandwidth, network topology and other parameters recorded in the blockchain, wherein the optimal node selection algorithm can be customized by a user, and specifically refers to the above optimal node selection module to select one or more suitable second computing nodes for understanding according to related information such as idle computing power resources and time delay information of each node stored in the blockchain node and a preset rule, and the detailed description is not repeated here.
9. After the optimal node selection module selects the optimal node (such as selecting the second node), the server management module notifies the cross-node network management module to establish the cross-node transmission network.
10. The cross-node network management module establishes a communication network (overlay or underlay) between the first node and the second node, and configures a route between the local and remote target sites.
11. After the cross-node communication network is established, the server management module of the first node synchronizes an operator needing to be flexible (or an operator needing to be transmitted) to the second node through the established network, and starts functions by using the server management module on the second node, for example, continuing to illustrate on the basis of the step 4, and running functions na-3 on the second node.
12. When the server management module deployed by the first node detects that the traffic flow decreases, the routing of the traffic flow to the remote second site can be stopped by the cross-node routing module, and after a specified period, the second node is notified to stop running the functional na-3 by referring to step 11, and the cross-node network management module is notified to release the network connection.
Referring to fig. 5, a flowchart of another task processing method according to an embodiment of the present application may include the following steps:
501. The first computing device receives a plurality of task requests through an objective function in a server system.
The plurality of task requests belong to the same type of task, i.e. the plurality of tasks need to call the same objective function to be processed.
The embodiment of the application does not limit the type of the task request, and may be, for example, a target detection task, a classification task, a semantic segmentation task, and the like.
502. The first computing device sends the objective function to the second computing device.
The second computing device and the first computing device belong to different device clusters.
The target function which is required to be called by executing the task request is indicated in the task request, and the first computing device sends the target function indicated in the task request to the second computing device.
503. If the first computing device acquires insufficient self-idle computing power resources, the first part of task requests are processed in the first device through the target function, and the second part of task requests are forwarded to the second computing device.
The plurality of task requests includes a first portion of task requests and a second portion of task requests.
If the first computing device acquires insufficient self-idle computing power resources, the first computing device selects to carry out load sharing, a part of task requests are processed locally by the first computing device, and a part of task requests are shared to the second computing device for processing, so that the processing requirements of the task requests are met.
504. The second computing device processes the second partial task request through the received target function.
The server system is deployed in the cluster where the second computing device is located, and the second computing device can process the second part of task requests on the basis of the server system and the received objective function.
505. The first computing device receives a processing result of the second part of task request sent by the second computing device.
It should be noted that, the embodiments provided in the embodiments of the present application may be mutually combined, and the description thereof is not repeated herein.
As can be seen from the corresponding embodiment of fig. 5, different device clusters all deploy a server system, when the computing power resources of the devices in one cluster are insufficient, the devices can transmit a correlation function (objective function) to the devices in other device clusters, so as to indicate that the devices receiving the correlation function can share the task requests of the devices with sufficient computing power resources based on the correlation function.
In some possible embodiments, one or more optimal devices may also be selected from different device clusters to be the devices that borrow computing power, such as selecting the device with the most abundant computing power resources in the different device clusters as the optimal device. This is described below in connection with some specific embodiments.
In one possible implementation, a first computing device obtains reference information for at least one device; the first computing device determines a second computing device according to the acquired reference information of at least one device, and the reference information of the second computing device is acquired to meet preset requirements.
In one possible implementation, the reference information for the at least one device includes free computing power resources for each of the at least one device. The preset requirements may be customized, for example, it may be set that the idle computing power resources exceed a threshold value, i.e., the preset requirements are considered to be satisfied.
In one possible implementation, the reference information of the at least one device further includes latency information between each of the at least one device and the first computing device.
In one possible implementation, the reference information for the at least one device further includes each of the at least one device and a number of devices of the first computing device that are spaced apart in a topology in which the first computing device is located.
In some possible embodiments, blockchains may also be introduced to enable collection of metric information across cluster nodes, where the metric information may include idle computational resources, latency information, bandwidth, and the like.
Referring to fig. 6, a flowchart of another task processing method according to an embodiment of the present application may include the following steps:
601. the first computing device receives a plurality of task requests through an objective function in a server system.
602. The first computing device obtains reference information for at least one device from the first blockchain device.
Each of the at least one device and the first computing device belong to a different cluster of devices, wherein reference information for a third device is written by the third device into the second blockchain device to synchronize the reference information for the third device by the second blockchain device into other blockchain devices in the blockchain maintained by the second blockchain device than the second blockchain device, the first blockchain device being any one of the blockchains maintained by the second blockchain device, the third device being any one of the at least one device.
603. The first computing device sends the objective function to the second computing device.
The reference information of the second computing device is obtained to meet the preset requirement.
604. If the first computing device acquires that the self-idle computing power resources are insufficient, the first part of task requests are processed in the first device through the target function, and the second part of task requests are forwarded to the second computing device.
605. The second computing device processes the second partial task request through the received objective function.
606. The first computing device receives a processing result of the second part of task request sent by the second computing device.
Step 601, step 603 to step 606 can be understood with reference to step 501, step 502 to step 505 in the corresponding embodiment of fig. 5, and the detailed description will not be repeated here.
Referring to fig. 7, a flowchart of another task processing method according to an embodiment of the present application may include the following steps:
701. the first computing device receives a plurality of task requests through an objective function in a server system.
702. The first computing device obtains reference information for at least one device from the first blockchain device.
703. The first computing device establishes a communication link with the second computing device.
The communication network between the first computing device and the second computing device may be established in any manner that establishes a communication network between the devices. The communication network may be an overlay communication network or an underly communication network, for example.
704. The first computing device transmits the objective function to the second computing device over the communication link.
705. If the first computing device acquires that the self-idle computing power resources are insufficient, the first part of task requests are processed in the first device through the target function, and the second part of task requests are forwarded to the second computing device.
706. The second computing device processes the second partial task request through the received objective function.
707. The first computing device receives a processing result of the second part of task request sent by the second computing device.
708. If the first computing device acquires that the self-idle computing power resources are sufficient, the first computing device stops forwarding the second part of task requests to the second computing device through the server system.
709. The first computing device disconnects the communication link after a specified period of time.
In such an embodiment, if the first computing device acquires sufficient free computing power resources, the first computing device may no longer route traffic to the second computing device, i.e., the first computing device may cease forwarding portions of the task request to the second computing device through the server system. In addition, in order to ensure that the processed result of the second computing device can be smoothly transmitted to the first computing device, the first computing device does not immediately disconnect the communication link when acquiring sufficient self-idle computing power resources, but disconnects the communication link after a specified duration.
Fig. 8 is a schematic architecture diagram of a service processing system according to an embodiment of the present application. As shown in fig. 8, the system provided in the embodiment of the present application is applicable to an marginalized scene. Under the edge scene, most of the edge nodes are light-weight nodes with limited computing power, when burst traffic is met, the service requirement cannot be met due to insufficient local computing power, if computing power is deployed according to a peak value, the edge nodes are high in cost, at the moment, the center nodes and the adjacent nodes of the edge still have free computing power, and at the moment, the burst traffic requirement is met by rapidly borrowing computing power resources close to the edge nodes or the center nodes. Meanwhile, by utilizing the light weight capability of server (the cross-node synchronization information is only a few K functions operators), the operators can be quickly synchronized to the target nodes, service demands can be quickly responded in the millisecond level of the target nodes, a two-layer or three-layer network between virtual resources is automatically established between the edge nodes and the target nodes, the edge local service is shunted to the node borrowing the calculation force by utilizing a load balancing scheme when the service is accessed, and the borrowed calculation force is automatically released according to monitoring measurement information after the peak service passes.
The foregoing describes in detail the flow of the method for service processing and the system for service processing provided in the present application, and the following describes the service processing apparatus provided in the present application based on the flow of the foregoing service processing method, where the service processing apparatus may be used to execute the foregoing method steps in fig. 3 to 7.
Referring to fig. 9, a schematic structural diagram of a service processing apparatus is provided.
The service processing device comprises a transceiver module 901 and a processing module 902.
In one possible implementation, the traffic processing apparatus is the first computing node or the second computing node in fig. 3-7, and possibly also a blockchain node/device, the first computing device or the second computing device.
In one possible implementation, the transceiver module 901 may be configured to perform steps 302, 304, 305 and other steps related to transceiving in the embodiment corresponding to fig. 3, and optionally may also be configured to perform steps 302, 303 in the embodiment corresponding to fig. 3. The processing module 902 is configured to perform step 302 and other processing-related steps in the corresponding embodiment of fig. 3.
In one possible implementation, the transceiver module 901 may be configured to perform steps 501, 502, 503, 504, 505 and other steps related to transceiving in the embodiment corresponding to fig. 5, and the processing module 902 is configured to perform step 503 and other steps related to processing in the embodiment corresponding to fig. 5.
In one possible implementation, the transceiver module 901 may be configured to perform steps 601, 602, 603, 604, 605, 606 and other steps related to transceiving in the embodiment corresponding to fig. 6, and the processing module 902 is configured to perform step 604 and other steps related to processing in the embodiment corresponding to fig. 6.
In one possible implementation, the transceiver module 901 may be configured to perform steps 701, 702, 703, 704, 705, 706, 707 and other steps related to transceiving in the embodiment corresponding to fig. 7, and the processing module 902 is configured to perform steps 705, 708, 709 and other steps related to processing in the embodiment corresponding to fig. 6.
An embodiment of the present application further provides a service processing device, referring to fig. 10, and fig. 10 is a schematic structural diagram of the service processing device provided in the embodiment of the present application. The service processing apparatus 1800 may be deployed with the service processing apparatus described in the corresponding embodiment of fig. 9, to implement the functions of the first computing node or the second computing node, and possibly the blockchain node/device, the first computing device or the second computing device in the corresponding embodiment of fig. 3 to 7. In particular, the business processing device 1800 may vary considerably in configuration or performance, and may include one or more central processing units CPU1822 (e.g., one or more processors) and memory 1832, one or more storage media 1830 (e.g., one or more mass storage devices) storing application programs 1842 or data 1844.
Wherein the memory 1832 and storage medium 1830 may be transitory or persistent. In one embodiment, memory 1832 is a random access memory (random access memory, RAM) that can exchange data directly with central processor 1822 for loading data 1844 and application programs 1842 and/or operating system 1841 for direct execution and use by central processor 1822, typically as a temporary data storage medium for the operating system or other program in operation. The program stored on the storage medium 1830 may include one or more modules (not shown in fig. 10), each of which may include a series of instruction operations in the service processing apparatus.
Still further, the central processor 1822 may be configured to communicate with the storage medium 1830 to execute a series of instruction operations in the storage medium 1830 on the business processing device 1800. In one possible implementation, the storage medium 1830 stores program instructions and data corresponding to the method steps shown in any of the foregoing embodiments of fig. 3-7.
The traffic processing apparatus 1800 may also include one or more power supplies 1826, one or more wired or wireless network interfaces 1850, one or more input output interfaces 1858, and/or one or more operating systems 1841, such as Windows Server, mac OS XTM, unixTM, linuxTM, freeBSDTM, etc.
The embodiment of the application also provides a service processing device, which may also be called a digital processing chip or a chip, where the chip includes a processing unit and a communication interface, where the processing unit may obtain program instructions through the communication interface, where the program instructions are executed by the processing unit, where the processing unit is configured to execute the method steps executed by the service processing device shown in any one of the foregoing embodiments of fig. 3 to 7.
The embodiment of the application also provides a digital processing chip. The digital processing chip has integrated therein circuitry and one or more interfaces for implementing the above-described processor 1801, or the functions of the processor 1801. When the memory is integrated into the digital processing chip, the digital processing chip may perform the method steps of any one or more of the preceding embodiments. When the digital processing chip is not integrated with the memory, the digital processing chip can be connected with the external memory through the communication interface. The digital processing chip implements the actions performed by the first computing node or the second computing node, and possibly the blockchain node/device, in the above embodiments according to program codes stored in an external memory.
In more detail, when the service processing device provided in the embodiment of the present application is a chip, the chip specifically includes: a processing unit, which may be, for example, a processor, and a communication unit, which may be, for example, an input/output interface, a pin or a circuit, etc. The processing unit may execute the computer-executable instructions stored in the storage unit, so that the chip in the server performs the service processing method described in the embodiment shown in fig. 3 to fig. 7.
Alternatively, the foregoing storage unit may be a storage unit in a chip, such as a register, a cache, or the like, and the storage unit may also be a storage unit located outside the chip in the wireless access device, such as a read-only memory (ROM) or other type of static storage device that may store static information and instructions, a random access memory RAM, or the like.
In particular, the aforementioned processing unit or processor may be a central processing unit, a Network Processor (NPU), a graphics processor (graphics processing unit, GPU), a digital signal processor (digital signal processor, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC) or field programmable gate array (field programmable gate array, FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, or the like. The general purpose processor may be a microprocessor or may be any conventional processor or the like.
The processor mentioned in any of the above may be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the programs of the methods of fig. 3-7.
There is also provided in an embodiment of the present application a computer readable storage medium having stored therein a program which, when run on a computer, causes the computer to perform the steps of the method described in the embodiments shown in the foregoing figures 3 to 7.
A computer program product is also provided in an embodiment of the present application, which when run on a computer causes the computer to perform the steps performed by the first computing node or the second computing node, and possibly the blockchain node/device, in the method described in the embodiments of fig. 3 to 7 described above.
It should be further noted that the above-described apparatus embodiments are merely illustrative, and that the units described as separate units may or may not be physically separate, and that units shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. In addition, in the drawings of the embodiment of the device provided by the application, the connection relation between the modules represents that the modules have communication connection therebetween, and can be specifically implemented as one or more communication buses or signal lines.
The present application may be implemented by means of software plus necessary general purpose hardware, or of course, by dedicated hardware including dedicated integrated circuits, dedicated CPUs, dedicated memories, dedicated components and the like. Generally, functions performed by computer programs can be easily implemented by corresponding hardware, and specific hardware structures for implementing the same function can be varied, such as analog circuits, digital circuits, or dedicated circuits. However, a software program implementation is a preferred embodiment in many cases for the present application. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a readable storage medium, such as a floppy disk, a usb disk, a removable hard disk, a read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk of a computer, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform the method described in the embodiments of the present application.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product.
The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., such as an electrical cable, optical fiber, digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be stored by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a Solid State Disk (SSD)), or the like.
The terms "first," "second," "third," "fourth" and the like in the description and in the claims of this application and in the above-described figures, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments described herein may be implemented in other sequences than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.

Claims (19)

1. A method of task processing, comprising:
the method comprises the steps that a first computing device receives a plurality of task requests through an objective function in a server-less system;
the first computing device sends the target function to a second computing device, and the second computing device and the first computing device belong to different device clusters;
When the first computing device is insufficient in idle computing power resources, the first computing device processes a first partial task request in the first computing device through the target function, and forwards a second partial task request to the second computing device to instruct the second computing device with idle computing power resources to process the second partial task request through the received target function, wherein the plurality of task requests comprise the first partial task request and the second partial task request;
the first computing device receives a processing result of the second part of task request sent by the second computing device.
2. The method according to claim 1, wherein the method further comprises:
the first computing device obtains reference information of at least one device;
the first computing device determines the second computing device according to the acquired reference information of the at least one device, and the reference information of the second computing device is acquired to meet preset requirements.
3. The method of claim 2, wherein the reference information for the at least one device comprises free computing power resources for each of the at least one device, or free computing power resources for each of the at least one device and latency information between each of the at least one device and the first computing device, or free computing power resources for each of the at least one device and a number of devices in the topology that each of the at least one device and the first computing device are spaced apart.
4. A method according to claim 2 or 3, characterized in that the method further comprises:
the first computing device obtains reference information of the at least one device from a first blockchain device, each of the at least one device and the first computing device belong to a different device cluster, wherein reference information of a third computing device is written into a second blockchain device by the third computing device, so that the reference information of the third computing device is synchronized to other blockchain devices except the second blockchain device in a blockchain maintained by the second blockchain device, the first blockchain device is any one of blockchain devices maintained by the second blockchain device, and the third computing device is any one of the at least one device.
5. The method of any of claims 1-4, wherein the first computing device sending the target function to the second computing device comprises:
and when the first computing device acquires that the self idle computing power resources are insufficient, the first computing device sends the target function to the second computing device.
6. A system for task processing, comprising a first computing device cluster and a second computing device cluster, wherein the first computing device cluster is provided with a plurality of computing devices including a first computing device, and the first computing device cluster is provided with a plurality of computing devices including a second computing device;
the first computing device is configured to:
receiving a plurality of task requests through an objective function in a server-less system;
sending the target function to a second computing device, wherein the second computing device and the first computing device belong to different device clusters;
when the first computing device is insufficient in idle computing power resources, processing a first part of task requests in the first computing device through the target function, and forwarding a second part of task requests to the second computing device with idle computing power resources, wherein the plurality of task requests comprise the first part of task requests and the second part of task requests;
the second computing device is configured to:
processing the second part of task request through the received target function;
And sending the processing result of the second part of task request to the first computing device.
7. The system of claim 6, wherein the first computing device is further to:
acquiring reference information of at least one device;
and determining the second computing equipment according to the acquired reference information of the at least one equipment, wherein the acquisition of the reference information of the second computing equipment meets the preset requirement.
8. The system of claim 7, wherein the reference information for the at least one device comprises free computing power resources for each of the at least one device, or free computing power resources for each of the at least one device and latency information between each of the at least one device and the first computing device, or free computing power resources for each of the at least one device and a number of devices in the topology that each of the at least one device and the first computing device are spaced apart.
9. The system of claim 7 or 8, further comprising a first blockchain device and a second blockchain device in the system, the first computing device further configured to:
The method comprises the steps of obtaining reference information of at least one device from the first blockchain device, wherein each device in the at least one device and the first computing device belong to different device clusters, wherein the reference information of a third computing device is written into the second blockchain device by the third computing device, so that the reference information of the third computing device is synchronized to other blockchain devices except the second blockchain device in a blockchain maintained by the second blockchain device, and the first blockchain device is any one of blockchain maintained by the second blockchain device.
10. The system according to any one of claims 6 to 9, wherein the first computing device is specifically configured to:
and if the acquired self-idle computing power resources of the first computing device are insufficient, the first computing device sends the target function to a second computing device.
11. An apparatus for task processing, comprising:
A transceiver module for:
receiving a plurality of task requests through an objective function in a server-less system;
transmitting the objective function to a second computing device, the second computing device and the first computing device belonging to different device clusters;
a processing module, configured to process a first partial task request in the first computing device through the objective function when the first computing device is insufficient in its own idle computing power resource, and instruct the transceiver module to forward a second partial task request to the second computing device, so as to instruct the second computing device having idle computing power resources to process the second partial task request through the received objective function, where the plurality of task requests include the first partial task request and the second partial task request;
the transceiver module is further configured to receive a processing result of the second partial task request sent by the second computing device.
12. The apparatus of claim 11, wherein the transceiver module is further configured to:
acquiring reference information of at least one device;
the processing module is further configured to:
And determining the second computing equipment according to the acquired reference information of the at least one equipment, wherein the acquisition of the reference information of the second computing equipment meets the preset requirement.
13. The device of claim 12, wherein the reference information for the at least one device comprises free computing power resources for each of the at least one device, or free computing power resources for each of the at least one device and latency information between each of the at least one device and the first computing device, or free computing power resources for each of the at least one device and a number of devices in a topology that are spaced apart for each of the at least one device and the first computing device.
14. The apparatus of claim 12 or 13, wherein the transceiver module is further configured to:
the method comprises the steps of obtaining reference information of at least one device from a first blockchain device, wherein each device in the at least one device and the first computing device belong to different device clusters, wherein the reference information of a third computing device is written into a second blockchain device by the third computing device, so that the reference information of the third computing device is synchronized into other blockchain devices except the second blockchain device in a blockchain maintained by the second blockchain device, and the first blockchain device is any one of blockchain devices maintained by the second blockchain device, and the third computing device is any one of the at least one device.
15. The apparatus of any one of claims 11 to 14, wherein the processing module is further configured to:
establishing a communication link with the second computing device;
the transceiver module is specifically configured to:
transmitting the objective function to the second computing device over the communication link;
the processing module is further configured to:
if the idle computing power resources of the first computing device are enough, stopping forwarding a second part of task requests to the second computing device through the server system;
and after a specified duration, disconnecting the communication link.
16. The device according to any one of claims 11 to 15, wherein the transceiver module is specifically configured to:
and if the first computing device acquires that the self idle computing power resources are insufficient, the first computing device sends a target function to the second computing device.
17. An apparatus for task processing, comprising:
a memory for storing computer readable instructions;
further comprising a processor coupled to the memory for executing computer readable instructions in the memory to perform the method as described in any of claims 1 to 5.
18. A computer readable storage medium comprising instructions which, when run on a computer device, cause the computer device to perform the method as described in any one of claims 1 to 5.
19. A chip, characterized in that the chip is coupled to a memory for executing a program stored in the memory for performing the method as claimed in any one of claims 1 to 5.
CN202111290138.6A 2021-11-02 2021-11-02 Service processing method, system and device Pending CN116069492A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111290138.6A CN116069492A (en) 2021-11-02 2021-11-02 Service processing method, system and device
PCT/CN2022/096569 WO2023077791A1 (en) 2021-11-02 2022-06-01 Service processing method, system and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111290138.6A CN116069492A (en) 2021-11-02 2021-11-02 Service processing method, system and device

Publications (1)

Publication Number Publication Date
CN116069492A true CN116069492A (en) 2023-05-05

Family

ID=86172085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111290138.6A Pending CN116069492A (en) 2021-11-02 2021-11-02 Service processing method, system and device

Country Status (2)

Country Link
CN (1) CN116069492A (en)
WO (1) WO2023077791A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117370033B (en) * 2023-12-07 2024-09-03 杭州义益钛迪信息技术有限公司 Cloud edge cooperative resource optimization method and device, electronic equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10609130B2 (en) * 2017-04-28 2020-03-31 Microsoft Technology Licensing, Llc Cluster resource management in distributed computing systems
US10489195B2 (en) * 2017-07-20 2019-11-26 Cisco Technology, Inc. FPGA acceleration for serverless computing
US10915366B2 (en) * 2018-09-28 2021-02-09 Intel Corporation Secure edge-cloud function as a service
US11847503B2 (en) * 2020-01-28 2023-12-19 Hewlett Packard Enterprise Development Lp Execution of functions by clusters of computing nodes
CN116600017A (en) * 2020-12-02 2023-08-15 武汉联影医疗科技有限公司 Resource scheduling method, system, device, computer equipment and storage medium

Also Published As

Publication number Publication date
WO2023077791A1 (en) 2023-05-11

Similar Documents

Publication Publication Date Title
WO2022021176A1 (en) Cloud-edge collaborative network resource smooth migration and restructuring method and system
Yi et al. Lavea: Latency-aware video analytics on edge computing platform
CN111953526B (en) Hierarchical computational power network arrangement method, device and storage medium
Jararweh et al. SDMEC: Software defined system for mobile edge computing
CN107209710B (en) Node system, server device, scaling control method, and program
CN105207798B (en) Service arrangement method and device in software defined network
CN108182105A (en) Local dynamic station moving method and control system based on Docker container techniques
CN111338774A (en) Distributed timing task scheduling system and computing device
US11388106B2 (en) Method, device, and computer program product for edge resource aggregation
CN104917805A (en) Load sharing method and equipment
CN114327858A (en) Cloud edge end distributed computing power cooperation method and system based on control domain
CN110580198B (en) Method and device for adaptively switching OpenStack computing node into control node
Ferrer et al. Towards a cognitive compute continuum: an architecture for ad-hoc self-managed swarms
WO2020194217A1 (en) System and method for enabling an execution of a plurality of tasks in a heterogeneous dynamic environment
CN113382077A (en) Micro-service scheduling method and device, computer equipment and storage medium
CN114697197A (en) Edge computing apparatus and method
CN116069492A (en) Service processing method, system and device
CN116755867B (en) Satellite cloud-oriented computing resource scheduling system, method and storage medium
US20230412671A1 (en) Distributed cloud system, data processing method of distributed cloud system, and storage medium
CN106933654B (en) Virtual machine starting method based on cache
CN108667920B (en) Service flow acceleration system and method for fog computing environment
CN112822062A (en) Management method for desktop cloud service platform
CN115374949A (en) Distributed quantum computing system and resource management method
Murturi et al. A decentralized approach for determining configurator placement in dynamic edge networks
Alqam et al. Live virtual machine migration in fog computing: state of the art.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication