CN113037812A - Data packet scheduling method and device, electronic equipment, medium and intelligent network card - Google Patents

Data packet scheduling method and device, electronic equipment, medium and intelligent network card Download PDF

Info

Publication number
CN113037812A
CN113037812A CN202110209548.7A CN202110209548A CN113037812A CN 113037812 A CN113037812 A CN 113037812A CN 202110209548 A CN202110209548 A CN 202110209548A CN 113037812 A CN113037812 A CN 113037812A
Authority
CN
China
Prior art keywords
micro
target
service
data packet
scheduling
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
CN202110209548.7A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110209548.7A priority Critical patent/CN113037812A/en
Publication of CN113037812A publication Critical patent/CN113037812A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Abstract

The present disclosure provides a method for scheduling data packets in micro-service communication, which relates to the technical field of micro-service communication, and comprises the following steps: acquiring distribution information of a plurality of micro services on a host; determining a target microservice to access among a plurality of microservices; based on the flow scheduling strategy, generating a data packet forwarding strategy according to the distribution information and the target micro service; and scheduling the data packet in the micro-service communication according to the data packet forwarding strategy. The disclosure also provides a scheduling device of data packets in micro-service communication, an electronic device and a computer readable storage medium.

Description

Data packet scheduling method and device, electronic equipment, medium and intelligent network card
Technical Field
The present disclosure relates to the field of micro-service communication technologies, and in particular, to a method and an apparatus for scheduling data packets in micro-service communication, an electronic device, a medium, and an intelligent network card.
Background
With the deep mind of the cloud-native concept container technology, the micro-service technology is rapidly developed, and the network communication management among micro-services becomes a bottleneck influencing the technology development. Currently, micro-service network communication is mainly managed by a micro-service framework represented by Spring Cloud and a service grid represented by application non-intrusive Istio. These microservice traffic management approaches are implemented entirely on a software basis, making their performance inadequate to support large-scale, high-traffic microservice applications.
Disclosure of Invention
One aspect of the present disclosure provides a method for scheduling data packets in micro-service communication, including:
acquiring distribution information of a plurality of micro services on a host;
determining a target microservice to access among the plurality of microservices;
based on a flow scheduling strategy, generating a data packet forwarding strategy according to the distribution information and the target micro service; and
and scheduling the data packet in the micro-service communication according to the data packet forwarding strategy.
Optionally, the generating a packet forwarding policy according to the distribution information and the target microservice based on the traffic scheduling policy includes:
determining a host capable of providing the target micro-service according to the distribution information;
selecting a target host from host hosts capable of providing the target microservice based on a traffic scheduling policy; and
and generating a data packet forwarding strategy based on the target host.
Optionally, the generating a packet forwarding policy based on the target host includes:
determining, in the target host, an IP address of a target container housing the target microservice; and
and taking the IP address of the target container as a next hop address for forwarding the data packet.
Optionally, the scheduling the data packet in the micro service communication according to the data packet forwarding policy includes:
based on a TCP/IP protocol, encapsulating the IP address of the target container into the data packet to obtain a reconstructed data packet; and
and sending the reconstructed data packet to the target container through the OVS bridge.
Optionally, the determining a target microservice to access in the plurality of microservices comprises:
unpacking the received data packet based on a TCP/IP protocol to obtain a URL address;
acquiring application information according to the URL address; and
and determining the micro service to be accessed according to the application information.
Optionally, the traffic scheduling policy is specified by a user, and includes a load balancing policy, a gray release policy, or a user-defined offloading policy.
Another aspect of the present disclosure provides a scheduling apparatus for data packets in micro service communication, including:
the distribution acquisition module is configured to acquire distribution information of the plurality of micro services on the host;
a target microservice determination module configured to determine a target microservice to access among the plurality of microservices;
the strategy generation module is configured to generate a data packet forwarding strategy according to the distribution information and the target micro service based on a flow scheduling strategy; and
and the scheduling module is configured to schedule the data packet in the micro-service communication according to the data packet forwarding strategy.
Another aspect of the present disclosure provides an intelligent network card, which is disposed in each host providing a microservice, the intelligent network card including:
a micro-service traffic management unit, coupled to the container accommodating the micro-service, and configured to obtain distribution information of a plurality of micro-services on a host, determine a target micro-service to be accessed among the plurality of micro-services, generate a packet forwarding policy according to the distribution information and the target micro-service based on a traffic scheduling policy, and encapsulate an IP address of the target container accommodating the target micro-service into the packet based on a TCP/IP protocol to obtain a reconstructed packet; and
and the OVS bridge is coupled with the micro service flow management unit, receives the reconstructed data packet and sends the reconstructed data packet to the target container.
Another aspect of the present disclosure provides an electronic device including: one or more processors; memory for storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method as described above.
Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions for implementing the method as described above when the instructions are executed.
Another aspect of the disclosure provides a computer program comprising computer executable instructions for implementing the method as described above when executed.
Drawings
For a more complete understanding of the present disclosure and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
FIG. 1 illustrates an application scenario according to an embodiment of the present disclosure;
fig. 2 shows a flowchart of a scheduling method of data packets in micro service communication according to an embodiment of the present disclosure;
FIG. 3 shows a block diagram of an intelligent network card according to an embodiment of the present disclosure;
FIG. 4 shows a schematic diagram of the communication between the intelligent network card and the container according to an embodiment of the present disclosure;
fig. 5 is a block diagram illustrating a scheduling apparatus of a packet in micro service communication according to an embodiment of the disclosure; and
fig. 6 schematically shows a block diagram of an electronic device according to an embodiment of the disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
Some block diagrams and/or flow diagrams are shown in the figures. It will be understood that some blocks of the block diagrams and/or flowchart illustrations, or combinations thereof, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the instructions, which execute via the processor, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. The techniques of this disclosure may be implemented in hardware and/or software (including firmware, microcode, etc.). In addition, the techniques of this disclosure may take the form of a computer program product on a computer-readable storage medium having instructions stored thereon for use by or in connection with an instruction execution system.
The micro-service is a scheme capable of constructing an application, and various functions of the application can be realized based on the micro-service, and the micro-services can run independently from each other. The microservice can be distributed on a plurality of different host computers, which is beneficial to eliminating the bottleneck of limiting performance and is easy to maintain. The container is a standardized package of software and a dependent environment thereof, is a relatively independent running environment, and can isolate application programs contained in the container from each other. Containers may use computing resources more efficiently than virtual machine technology. Distributed deployment of microservices using containers is the primary approach taken by large-scale applications, such as cloud computing systems.
The embodiment of the disclosure provides a method for scheduling data packets in micro-service communication, which monitors the micro-service state through an external micro-service management module and collects the distribution information of micro-services. In the embodiment of the disclosure, a micro-service traffic management module is constructed between the NIC virtual network card of the container and the OVS virtual switch, network traffic entering and exiting the container is hijacked naturally, distribution information of micro-services is acquired from the micro-service management module, and a data packet is reconstructed according to a target service in the hijacked micro-service traffic and a traffic distribution policy specified by a user, so that the traffic can be regulated and controlled according to the intention of the user.
Fig. 1 illustrates an application scenario according to an embodiment of the present disclosure. As shown in fig. 1, the micro service management module 11 is located on a micro service management node or a micro service management platform, and is used for managing information of registered or registered micro services. The micro service management module 11 can determine the type of the micro service, the function that the micro service can implement, the application that can access the micro service, the distribution information of the micro service on the host, and the like. The host may be a personal computer or a server, which is not limited in this disclosure. As shown in FIG. 1, Server A, Server B, and Server C are all examples of hosting hosts. In fig. 1, the number of host hosts is shown as three, and it is easily understood that the number of servers may be three or more. As shown in fig. 1, a plurality of micro programs such as micro services 14_1, 14_2, … …, 14_ n, etc. are installed on the server a, each of which is accommodated in a corresponding container, e.g., 15_1, 15_2, … …, 15_ n. Similarly, the servers B have installed thereon the micro-services 16_1, 16_2, … …, 16_ m and are accommodated in the containers 17_1, 17_2, … …, 17_ m, respectively. The servers C have installed thereon microservices 18_1, 18_2, … …, 18_ k and are accommodated in containers 19_1, 19_2, … …, 19_ k, respectively. Wherein m, n and k may be the same or different positive integers.
As shown in fig. 1, in the server a, the server B, and the server C, micro-service management modules 12 are provided, respectively. The micro-service management module 12 is coupled to each container in the server through a NIC virtual network card. The microservice traffic management module 12 is further coupled to the microservice management module 11 and the OVS bridge 13, respectively, and the OVS bridge 13 is configured to forward the service packet. The microservice traffic management module 12 may hijack packets in and out of each container and may receive distribution information of microservices on server a, server B, and server C from the microservice management module 11. Furthermore, according to the embodiment, the micro service traffic management module 12 may also be set, for example, a traffic scheduling policy specified by a user is stored in the micro service traffic management module 12. The micro-service traffic management module 12 according to the embodiment of the present disclosure may schedule data packets entering and exiting each container based on a specified traffic scheduling policy, which is beneficial to reducing congestion in a communication process and improving communication quality.
Fig. 2 shows a flowchart of a scheduling method 200 for data packets in micro-service communication according to an embodiment of the disclosure. As shown in fig. 2, the method 200 for scheduling data packets includes:
in step S210, distribution information of a plurality of microservices on a host is acquired.
In step S220, a target microservice to be accessed is determined among the plurality of microservices.
In step S230, a packet forwarding policy is generated according to the distribution information and the target microservice based on the traffic scheduling policy.
In step S240, the data packet in the micro service communication is scheduled according to the data packet forwarding policy.
The above steps are explained below with reference to the application scenario shown in fig. 1.
Specifically, in step S210, the micro service traffic management module 12 learns, through the micro service management module 11, that the micro services, such as 14_1 and 14_2, are distributed on the server a, that the micro services, such as 16_1 and 16_2, are distributed on the server B, and that the services, such as 18_1 and 18_2, are distributed on the server C. And assume that microservice 14_1 and microservice 16_2 are each microservices implementing a collection function, assume that microservice 16_1 and microservice 18_1 are each microservices implementing a query function, assume that microservice 14_2 is a microservice implementing a payment function, and assume that microservice 18_2 is a microservice implementing an endorsement function.
According to an embodiment, the microservice traffic management module 12 determines the target microservice to access among the plurality of microservices by hijacking packets into and out of respective containers. According to an embodiment, determining a target microservice to access among a plurality of microservices includes: unpacking the received data packet based on a TCP/IP protocol to acquire a URL address, acquiring application information according to the URL address, and determining the micro-service to be accessed according to the application information.
Specifically, in step S220, the micro-service traffic management module 12 obtains the URL address by hijacking the data packet of the container 15_1 (the micro-service 14_1) on the server a, and determines that the micro-service to be accessed next is the micro-service implementing the query function through the URL address. From the distribution of the microservices on the various servers, microservices 16_1 and 18_1 are each microservices implementing the query function and are located in container 17_1 of server B and container 19_1 of server C, respectively. Next, the microservice traffic management module 12 will further determine which server or specific container to send the data packet to based on the specified traffic scheduling policy.
According to an embodiment, generating a packet forwarding policy according to the distribution information and the target microservice based on the traffic scheduling policy comprises: determining host hosts capable of providing the target micro-service according to the distribution information, selecting target host hosts from the host hosts capable of providing the target micro-service based on a traffic scheduling policy, and generating a packet forwarding policy based on the target host hosts.
According to an embodiment, generating a packet forwarding policy based on the target host comprises: determining the IP address of a target container for accommodating the target micro service in the target host, and using the IP address of the target container as a next hop address for forwarding the data packet.
According to embodiments, the traffic scheduling policy may be specified by a user, including a load balancing policy, a gray scale publishing policy, or a user-defined offloading policy.
Specifically, in step S230, if the micro service traffic management module 12 is configured to schedule traffic according to the load balancing policy, the micro service traffic management module 12 needs to comprehensively consider the current network traffic distribution of the server B and the server C to determine to which server to send the data packet.
Finally, in step S240, the data packet is forwarded according to the determined forwarding policy.
According to the embodiment of the disclosure, the data packet can be forwarded according to the flow scheduling strategy specified by the user, which is beneficial to improving the forwarding performance of the network flow, so as to improve the service scale supported by the micro-service grid.
In the embodiment of the present disclosure, the micro service traffic management module 12 may be constructed by using an intelligent network card, and therefore, an embodiment of the present disclosure further provides an intelligent network card, which is disposed in each host providing micro services, and includes a micro service traffic management unit and an OVS bridge. The micro-service traffic management unit is coupled to the container for accommodating the micro-service, and is configured to acquire distribution information of the plurality of micro-services on the host, determine a target micro-service to be accessed among the plurality of micro-services, generate a packet forwarding policy according to the distribution information and the target micro-service based on a traffic scheduling policy, and encapsulate an IP address of the target container for accommodating the target micro-service into a packet based on a TCP/IP protocol to obtain a reconstructed packet. And the OVS bridge is coupled with the micro service flow management unit, receives the reconstructed data packet and sends the reconstructed data packet to the target container. The structure of the smart card will be described with reference to fig. 3.
Fig. 3 shows a block diagram of an intelligent network card according to an embodiment of the present disclosure. The intelligent network card mainly assists a server CPU to process network load through an FPGA (Field Programmable Gate Array), thereby reducing the burden of the CPU. As shown in fig. 3, the intelligent network card is divided into a programmable chip (i.e., a micro service traffic management unit) and a forwarding chip (i.e., an OVS bridge). Where the programmable chip is an FPGA, the forwarding chip is shown as XL710 in the figure, but embodiments of the present disclosure are not limited thereto. The programmable chip hijacks the data packet entering and exiting the container, and the data packet firstly enters the FPGA chip to be processed by user logic. The micro-service flow management module is realized as a section of processing logic by using an FPGA chip, and the processing logic unpacks the data packet layer by layer according to a TCP/IP protocol and matches the data packet with micro-service method information carried by URL in 7 layers. And then, according to the IP address of the micro-service management module in the layer 3, the data packet is encapsulated again by using the specific IP address which provides the micro-service and is provided by the micro-service management module, and the layer 3 IP is rewritten into the IP address of the specified micro-service container according to the user requirement.
Fig. 4 shows a schematic diagram of communication between an intelligent network card and a container according to an embodiment of the disclosure. As shown in fig. 4, 401 is an intelligent network card, and VF represents virtual logic in the intelligent network card, i.e. the micro service traffic management module 12 according to the embodiment of the present disclosure. 402 is a container in which the micro-service program is housed, and net0 is a virtual network card for the container. According to the embodiment of the present disclosure, the virtual logic in the intelligent network card 401 is coupled to the virtual network card of the container, and performs data transmission through the virtualization protocol virtio.
According to the embodiment of the disclosure, the micro-service mesh forwarding function can be sunk to the programmable intelligent network card, the hardware-level flow forwarding performance is realized, the micro-service mesh forwarding performance is improved, and the micro-service network flow management without invasion to service application can be realized.
Fig. 5 is a block diagram illustrating an apparatus 500 for scheduling packets in micro-service communication according to an embodiment of the disclosure.
As shown in fig. 5, the apparatus 500 for scheduling packets in microservice communication includes a distribution obtaining module 510, a target microservice determining module 520, a policy generating module 530 and a scheduling module 540. The scheduling apparatus 500 for data packets in microservice communications may perform the method described above with reference to the method embodiment section.
Specifically, the distribution obtaining module 510 is configured to obtain distribution information of a plurality of microservices on a host.
A target microservice determination module 520 for determining a target microservice to access among the plurality of microservices.
And a policy generating module 530, configured to generate a packet forwarding policy according to the distribution information and the target microservice based on the traffic scheduling policy.
And the scheduling module 540 is configured to schedule the data packet in the micro service communication according to the data packet forwarding policy.
According to an embodiment, the policy generation module 530 further comprises a first determination unit, a selection unit and a policy generation unit.
Specifically, the first determining unit is configured to determine, according to the distribution information, a host that can provide the target microservice.
And the selecting unit is used for selecting the target host from the host hosts capable of providing the target micro service based on the flow scheduling strategy.
And the strategy generation unit is used for generating a data packet forwarding strategy based on the target host.
According to an embodiment, the policy generation unit further comprises a second determination unit and an address modification unit.
Specifically, the second determining unit is configured to determine, in the target host, an IP address of a target container accommodating the target microservice.
And the address modification unit is used for taking the IP address of the target container as a next hop address for forwarding the data packet.
According to an embodiment, the scheduling module 540 further comprises a reconstruction unit and a forwarding unit.
Specifically, the reconfiguration unit is configured to encapsulate the IP address of the target container into a data packet based on the TCP/IP protocol, so as to obtain a reconfigured data packet.
And the forwarding unit is used for sending the reconstructed data packet to the target container through the OVS bridge.
According to an embodiment, the target microservice determination module 520 further includes a URL address acquisition unit, an application information acquisition unit, and a third determination unit.
Specifically, the URL address obtaining unit is configured to unpack the received data packet based on the TCP/IP protocol to obtain the URL address.
And the application information acquisition unit is used for acquiring the application information according to the URL address.
And a third determining unit for determining the micro-service to be accessed according to the application information.
It should be noted that the embodiments of the apparatus portion and the method portion are similar to each other, and the achieved technical effects are also similar to each other, which are not described herein again.
Any of the modules, units, or at least part of the functionality of any of them according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules and units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, units according to the embodiments of the present disclosure may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented by any other reasonable means of hardware or firmware by integrating or packaging the circuits, or in any one of three implementations of software, hardware and firmware, or in any suitable combination of any of them. Alternatively, one or more of the modules, units according to embodiments of the present disclosure may be implemented at least partly as computer program modules, which, when executed, may perform the respective functions.
For example, any of the distribution acquisition module 510, the target microservice determination module 520, the policy generation module 530, and the scheduling module 540 may be combined into one module for implementation, or any one of them may be split into multiple modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the distribution obtaining module 510, the target micro-service determining module 520, the policy generating module 530, and the scheduling module 540 may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or may be implemented in any one of three implementations of software, hardware, and firmware, or in a suitable combination of any of them. Alternatively, at least one of the distribution acquisition module 510, the target microservice determination module 520, the policy generation module 530 and the scheduling module 540 may be at least partially implemented as a computer program module that, when executed, may perform a corresponding function.
Fig. 6 schematically shows a block diagram of an electronic device according to an embodiment of the disclosure. The electronic device shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, the electronic device 600 includes a processor 610, a computer-readable storage medium 620. The electronic device 600 may perform a method according to an embodiment of the present disclosure.
In particular, the processor 610 may comprise, for example, a general purpose microprocessor, an instruction set processor and/or related chip set and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. The processor 610 may also include onboard memory for caching purposes. The processor 610 may be a single processing unit or a plurality of processing units for performing the different actions of the method flows according to embodiments of the present disclosure.
Computer-readable storage medium 620, for example, may be a non-volatile computer-readable storage medium, specific examples including, but not limited to: magnetic storage devices, such as magnetic tape or Hard Disk Drives (HDDs); optical storage devices, such as compact disks (CD-ROMs); a memory, such as a Random Access Memory (RAM) or a flash memory; and so on.
The computer-readable storage medium 620 may include a computer program 621, which computer program 621 may include code/computer-executable instructions that, when executed by the processor 610, cause the processor 610 to perform a method according to an embodiment of the disclosure, or any variation thereof.
The computer program 621 may be configured with, for example, computer program code comprising computer program modules. For example, in an example embodiment, code in computer program 621 may include one or more program modules, including for example module 621A, module 621B, … …. It should be noted that the division and number of the modules are not fixed, and those skilled in the art may use suitable program modules or program module combinations according to actual situations, so that the processor 610 may execute the method according to the embodiment of the present disclosure or any variation thereof when the program modules are executed by the processor 610.
According to an embodiment of the present disclosure, at least one of the receiving module 1001, the generating module 1002, and the record displaying module 1003 may be implemented as a computer program module described with reference to fig. 6, which, when executed by the processor 610, may implement the respective operations described above.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It will be understood by those skilled in the art that while the present disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the appended claims and their equivalents. Accordingly, the scope of the present disclosure should not be limited to the above-described embodiments, but should be defined not only by the appended claims, but also by equivalents thereof.

Claims (10)

1. A scheduling method of data packets in micro-service communication comprises the following steps:
acquiring distribution information of a plurality of micro services on a host;
determining a target microservice to access among the plurality of microservices;
based on a flow scheduling strategy, generating a data packet forwarding strategy according to the distribution information and the target micro service; and
and scheduling the data packet in the micro-service communication according to the data packet forwarding strategy.
2. The method of claim 1, wherein the generating a packet forwarding policy based on the traffic scheduling policy from the distribution information and the target microservice comprises:
determining a host capable of providing the target micro-service according to the distribution information;
selecting a target host from host hosts capable of providing the target microservice based on a traffic scheduling policy; and
and generating a data packet forwarding strategy based on the target host.
3. The method of claim 2, wherein the generating a packet forwarding policy based on the target host comprises:
determining, in the target host, an IP address of a target container housing the target microservice; and
and taking the IP address of the target container as a next hop address for forwarding the data packet.
4. The method of claim 3, wherein the scheduling packets in the micro-service communication according to the packet forwarding policy comprises:
based on a TCP/IP protocol, encapsulating the IP address of the target container into the data packet to obtain a reconstructed data packet; and
and sending the reconstructed data packet to the target container through the OVS bridge.
5. The method of claim 1, wherein the determining a target microservice to access among the plurality of microservices comprises:
unpacking the received data packet based on a TCP/IP protocol to obtain a URL address;
acquiring application information according to the URL address; and
and determining the micro service to be accessed according to the application information.
6. The method of claim 1, wherein the traffic scheduling policy is specified by a user, including a load balancing policy, a gray scale publication policy, or a offloading policy customized by the user.
7. A scheduling device for data packets in micro-service communication comprises:
the distribution acquisition module is configured to acquire distribution information of the plurality of micro services on the host;
a target microservice determination module configured to determine a target microservice to access among the plurality of microservices;
the strategy generation module is configured to generate a data packet forwarding strategy according to the distribution information and the target micro service based on a flow scheduling strategy; and
and the scheduling module is configured to schedule the data packet in the micro-service communication according to the data packet forwarding strategy.
8. An intelligent network card provided in each host providing a microservice, the intelligent network card comprising:
a micro-service traffic management unit, coupled to the container accommodating the micro-service, and configured to obtain distribution information of a plurality of micro-services on a host, determine a target micro-service to be accessed among the plurality of micro-services, generate a packet forwarding policy according to the distribution information and the target micro-service based on a traffic scheduling policy, and encapsulate an IP address of the target container accommodating the target micro-service into the packet based on a TCP/IP protocol to obtain a reconstructed packet; and
and the OVS bridge is coupled with the micro service flow management unit, receives the reconstructed data packet and sends the reconstructed data packet to the target container.
9. An electronic device, comprising:
one or more processors;
a memory for storing one or more programs,
wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method of any of claims 1-6.
10. A computer-readable storage medium storing computer-executable instructions for implementing the method of any one of claims 1 to 6 when executed.
CN202110209548.7A 2021-02-25 2021-02-25 Data packet scheduling method and device, electronic equipment, medium and intelligent network card Pending CN113037812A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110209548.7A CN113037812A (en) 2021-02-25 2021-02-25 Data packet scheduling method and device, electronic equipment, medium and intelligent network card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110209548.7A CN113037812A (en) 2021-02-25 2021-02-25 Data packet scheduling method and device, electronic equipment, medium and intelligent network card

Publications (1)

Publication Number Publication Date
CN113037812A true CN113037812A (en) 2021-06-25

Family

ID=76461242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110209548.7A Pending CN113037812A (en) 2021-02-25 2021-02-25 Data packet scheduling method and device, electronic equipment, medium and intelligent network card

Country Status (1)

Country Link
CN (1) CN113037812A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765816A (en) * 2021-08-02 2021-12-07 阿里巴巴新加坡控股有限公司 Flow control method, system, equipment and medium based on service grid

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418862A (en) * 2018-01-31 2018-08-17 金蝶软件(中国)有限公司 Micro services management method and system based on artificial intelligence service cloud platform
CN109688191A (en) * 2018-10-24 2019-04-26 华为技术有限公司 Traffic scheduling method and communication device
WO2019232962A1 (en) * 2018-06-06 2019-12-12 平安科技(深圳)有限公司 Data processing method, system, computer device and storage medium
CN111158895A (en) * 2018-11-08 2020-05-15 中国电信股份有限公司 Micro-service resource scheduling method and system
CN111858001A (en) * 2020-07-15 2020-10-30 武汉众邦银行股份有限公司 Workflow processing method based on micro-service architecture system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418862A (en) * 2018-01-31 2018-08-17 金蝶软件(中国)有限公司 Micro services management method and system based on artificial intelligence service cloud platform
WO2019232962A1 (en) * 2018-06-06 2019-12-12 平安科技(深圳)有限公司 Data processing method, system, computer device and storage medium
CN109688191A (en) * 2018-10-24 2019-04-26 华为技术有限公司 Traffic scheduling method and communication device
CN111158895A (en) * 2018-11-08 2020-05-15 中国电信股份有限公司 Micro-service resource scheduling method and system
CN111858001A (en) * 2020-07-15 2020-10-30 武汉众邦银行股份有限公司 Workflow processing method based on micro-service architecture system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765816A (en) * 2021-08-02 2021-12-07 阿里巴巴新加坡控股有限公司 Flow control method, system, equipment and medium based on service grid
CN113765816B (en) * 2021-08-02 2023-12-15 阿里巴巴新加坡控股有限公司 Flow control method, system, equipment and medium based on service grid

Similar Documents

Publication Publication Date Title
US11388054B2 (en) Modular I/O configurations for edge computing using disaggregated chiplets
US20220116445A1 (en) Disintermediated attestation in a mec service mesh framework
US10462262B2 (en) Middleware abstraction layer (MAL)
EP4020198A1 (en) Neutral host edge services
US20210014303A1 (en) Methods and apparatus to manage quality of service with respect to service level agreements in a computing device
CN109479059B (en) System and method for transport layer level identification and isolation of container traffic
EP4155933A1 (en) Network supported low latency security-based orchestration
NL2033580B1 (en) End-to-end network slicing (ens) from ran to core network for nextgeneration (ng) communications
EP4156637A1 (en) Software defined networking with en-route computing
US20210011823A1 (en) Continuous testing, integration, and deployment management for edge computing
KR20220065670A (en) Extended peer-to-peer (p2p) with edge networking
US20230376344A1 (en) An edge-to-datacenter approach to workload migration
EP4156651A1 (en) Content injection using a network appliance
US11627169B2 (en) Network-based Media Processing (NBMP) workflow management through 5G Framework for Live Uplink Streaming (FLUS) control
US20220121566A1 (en) Methods, systems, articles of manufacture and apparatus for network service management
CN112714164A (en) Internet of things system and task scheduling method thereof
NL2033544B1 (en) Methods and apparatus to implement edge scalable adaptive-grained monitoring and telemetry processing for multi-qos services
US20230236909A1 (en) Service mesh architecture for integration with accelerator systems
US20220278944A1 (en) Method for allocating resources of a network infrastructure
CN113037812A (en) Data packet scheduling method and device, electronic equipment, medium and intelligent network card
US20230138867A1 (en) Methods for application deployment across multiple computing domains and devices thereof
WO2023038994A1 (en) Systems, apparatus, and methods to improve webservers using dynamic load balancers
US20230300075A1 (en) Methods and apparatus for performance scaling with parallel processing of sliding window management on multi-core architecture
CN114365467A (en) Third generation partnership project (3GPP) real-time uplink streaming framework (plus) reception capability determination
US20240129353A1 (en) Systems, apparatus, and methods to improve webservers using dynamic load balancers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210625

RJ01 Rejection of invention patent application after publication