Business flow scheduling method and device, electronic equipment, storage medium and program product
By acquiring business requirements and network resources and adjusting the allocation ratio of service flows on multiple paths, the problem of poor flexibility and load sharing of existing SRv6 Policy policies is solved, and intelligent scheduling and efficient service quality assurance is achieved.
Patent Information
- Application Number
- CN202411338079.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-24
- Publication Date
- 2025-03-11
Smart Images

Figure CN119603234A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a service flow scheduling method, device, electronic device, storage medium and program product. Background Art
[0002] With the in-depth application of the fifth generation mobile communication technology (5G) and the rapid development of intelligent computing services, the demand for cross-domain and off-site migration of massive data is gradually increasing. Large-scale data migration scenarios such as scientific computing and film and television production still require online data transmission through manual hard disk express or dedicated lines, which are cumbersome to operate, inefficient and expensive. The computing power intelligent network has become the development direction of the next generation of the Internet.
[0003] In the prior art, the segment routing over ipv6 (SRv6) policy based on the Internet Protocol version 6 forwarding plane can provide flexible path arrangement for services based on the high programmability of SRv6, and control the load sharing ratio of traffic in multiple paths through the weight attribute of the segment list (Segment List), so as to realize the forwarding of services according to the planned path. However, SRv6 Policy traffic engineering only clarifies the business needs and determines the traffic distribution ratio at the beginning of the path calculation, and no longer adjusts it later, resulting in poor flexibility and poor multi-path load sharing effect. Summary of the invention
[0004] The present application provides a service flow scheduling method, device, electronic device, storage medium and program product for improving the flexibility of service flow transmission and multi-path load sharing effect.
[0005] In a first aspect, the present application provides a service flow scheduling method, comprising: obtaining the service flow of a target service and the service requirements of the target service; determining multiple forwarding paths corresponding to the service flow of the target service; matching the forwarding paths with the service requirements of the target service; obtaining network resource conditions of the multiple forwarding paths; and adjusting the distribution ratio of the service flow of the target service on the multiple forwarding paths at least based on the network resource conditions.
[0006] The service flow scheduling method provided in the present application can determine a service flow forwarding path that matches the service demand of the target service flow, and can also adjust the load sharing ratio of the service flow of the target service in multiple paths according to the network resource conditions of the multiple forwarding paths. In this way, end-to-end service quality assurance can be achieved based on service demand, and network resource indicator information can be associated with the service flow path to achieve intelligent scheduling of the service flow as network resources change, and intelligent path adjustment and optimization of the service flow can be achieved while meeting service guarantees, avoiding high loads on certain links and reducing packet loss.
[0007] In a possible implementation method, the network resource situation includes a network resource rate; at least based on the network resource situation, adjusting the distribution ratio of the business flow of the target business on multiple forwarding paths, including: when there is a forwarding path with a network resource utilization rate greater than a preset threshold among the multiple forwarding paths, adjusting the distribution ratio of the business flow of the target business on the multiple forwarding paths based on the network resource utilization rates of the multiple forwarding paths.
[0008] Another possible implementation method is that one forwarding path corresponds to one weight value, and the weight value is used to indicate the distribution ratio of the business flow on the forwarding path; at least based on the network resource situation, the distribution ratio of the business flow of the target business on multiple forwarding paths is adjusted, including: determining the weight value matrix of the multiple forwarding paths according to the weight value of each forwarding path in the multiple forwarding paths; determining the network resource adjustment coefficient matrix according to the network resource adjustment coefficient matrix of each forwarding path in the multiple forwarding paths; adjusting the weight value matrix based on the network resource adjustment coefficient matrix to obtain the adjusted weight value matrix; based on the adjusted weight matrix, adjusting the distribution ratio of the business flow of the target business on multiple forwarding paths.
[0009] Another possible implementation method is to adjust the distribution ratio of the business flow of the target business on multiple forwarding paths based on at least the network resource situation, including: adjusting the distribution ratio of the business flow of the target business on multiple forwarding paths based on the business needs and network resource situation of the target business.
[0010] Another possible implementation method is that one forwarding path corresponds to one weight value, and the weight value is used to indicate the distribution ratio of the business flow on the forwarding path; based on the business needs and network resource conditions of the target business, the distribution ratio of the business flow of the target business on multiple forwarding paths is adjusted, including: based on the network resource adjustment coefficient matrix and the business demand adjustment coefficient matrix, the weight value matrix of the multiple forwarding paths is adjusted to obtain the adjusted weight value matrix; wherein the network resource adjustment coefficient matrix is determined based on the network resource conditions of each forwarding path in the multiple forwarding paths; the business demand adjustment coefficient matrix is determined according to the business needs of the target business; based on the adjusted weight value matrix, the distribution ratio of the business flow of the target business on multiple forwarding paths is adjusted.
[0011] In another possible implementation, the multiple forwarding paths include a target forwarding path; the method also includes: generating a target service message based on the address information of the target forwarding path and the target service flow assigned to the target forwarding path; wherein the address information of the target forwarding path is encapsulated in an extended header of a message header of the target service message; and transmitting the target message through the target forwarding path.
[0012] In another possible implementation manner, the method further includes: encapsulating the service requirements of the target service in the target message.
[0013] In the second aspect, the present application provides a business flow scheduling device, including: a communication module, used to obtain the business flow of the target business and the business needs of the target business; a management and control module, used to determine multiple forwarding paths corresponding to the business flow of the target business, and the forwarding paths match the business needs of the target business; obtain the network resource conditions of the multiple forwarding paths; at least based on the network resource conditions, adjust the distribution ratio of the business flow of the target business on the multiple forwarding paths.
[0014] In a possible implementation method, the network resource situation includes the network resource rate; the management and control module is specifically used to adjust the distribution ratio of the business flow of the control target business on multiple forwarding paths based on the network resource utilization rates of the multiple forwarding paths when there is a forwarding path whose network resource utilization rate is greater than a preset threshold among the multiple forwarding paths.
[0015] Another possible implementation method is that one forwarding path corresponds to one weight value, and the weight value is used to indicate the distribution ratio of the business flow on the forwarding path; the management and control module is specifically used to determine the weight value matrix of multiple forwarding paths according to the weight value of each forwarding path in the multiple forwarding paths; determine the network resource adjustment coefficient matrix according to the network resource situation of each forwarding path in the multiple forwarding paths; adjust the weight value matrix based on the network resource adjustment coefficient matrix to obtain the adjusted weight value matrix; based on the adjusted weight matrix, adjust the distribution ratio of the business flow of the target business on the multiple forwarding paths.
[0016] Another possible implementation manner is a management and control module, which is specifically used to adjust the distribution ratio of the business flow of the target business on multiple forwarding paths based on the business needs and network resource conditions of the target business.
[0017] Another possible implementation method is that one forwarding path corresponds to one weight value, and the weight value is used to indicate the distribution ratio of the business flow on the forwarding path; the management and control module is specifically used to adjust the weight value matrix of multiple forwarding paths based on the network resource adjustment coefficient matrix and the business demand adjustment coefficient matrix to obtain an adjusted weight value matrix; wherein the network resource adjustment coefficient matrix is determined based on the network resource situation of each forwarding path in the multiple forwarding paths; the business demand adjustment coefficient matrix is determined according to the business demand of the target business; based on the adjusted weight value matrix, the distribution ratio of the business flow of the target business on multiple forwarding paths is adjusted.
[0018] Another possible implementation method is that the multiple forwarding paths include a target forwarding path; the management and control module is also used to generate a target business message based on the address information of the target forwarding path and the target business flow assigned to the target forwarding path; wherein the address information of the target forwarding path is encapsulated in an extended header of a message header of the target business message; and the target message is transmitted through the target forwarding path.
[0019] In another possible implementation manner, the management and control module is further used to encapsulate the business requirements of the target business in the target message.
[0020] In a third aspect, the present application provides an electronic device, comprising: a processor and a memory; the memory stores instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device implements the method of the first aspect above.
[0021] In a fourth aspect, the present application provides a computer-readable storage medium, which includes: computer software instructions; when the computer software instructions are executed in an electronic device, the electronic device implements the method of the first aspect above.
[0022] In a fifth aspect, the present application provides a computer program product, which includes a computer program; when the computer program runs in an electronic device, the electronic device implements the method of the first aspect.
[0023] The beneficial effects of the second to fifth aspects mentioned above refer to the corresponding description of the first aspect and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Figure 1 A schematic diagram of the message header structure of an SRv6 data packet provided in this application;
[0025] Figure 2 A schematic diagram of a business flow scheduling system provided by this application;
[0026] Figure 3 A flow chart of a business flow scheduling method provided in this application;
[0027] Figure 4 A schematic diagram of the encapsulation format of TLV in an SRv6 extended header provided by this application;
[0028] Figure 5 A flowchart of a method for adjusting a business allocation ratio provided in this application;
[0029] Figure 6 A flowchart of another method for adjusting the business allocation ratio provided for this application;
[0030] Figure 7 A schematic diagram of the composition of a service flow scheduling device provided in this application;
[0031] Figure 8 A schematic diagram of the structure of an electronic device provided in this application. DETAILED DESCRIPTION
[0032] A service flow scheduling method provided by the present application will be described in detail below with reference to the accompanying drawings.
[0033] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
[0034] The terms "first" and "second" and the like in the specification and drawings of this application are used to distinguish different objects, or to distinguish different processing of the same object, rather than to describe a specific order of objects.
[0035] In addition, the terms "including" and "having" and any variations thereof mentioned in the description of the present application are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include other steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products or devices.
[0036] It should be noted that, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0037] In order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, the words "first", "second", etc. are used to distinguish the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first", "second", etc. are not limiting the quantity and execution order.
[0038] In the description of the present application, unless otherwise specified, “plurality” means two or more.
[0039] In order to clearly describe the technical solution of the present application, the technical terms involved in the present application are briefly introduced below.
[0040] SRv6 is a segment routing network architecture implemented based on the Internet Protocol version 6 (IPv6) data plane. Its core principle is to specify the path of the data packet in the extension header of the IPv6 data packet header (exemplarily, the extension header can be a segment routing header (SRH)) to achieve flexible data packet forwarding. It has technical advantages such as protocol simplification, smooth evolution, high programmability, simple cross-domain, and ultra-high reliability.
[0041] The SRv6 packet header is based on the extension of the IPv6 protocol. For example, Figure 1 As shown, the header structure of a typical SRv6 data packet includes the following parts: an IPv6 basic header, an SRH, an optional extension header, and an upper layer protocol header.
[0042] The basic IPv6 header includes: version number (Version), traffic category (Traffic Class), flow label (Flow Label), payload length (Payload Length), next header (Next Header), hop limit (Hop Limit), source address (Source Address), and destination address (Destination Address).
[0043] Among them, the Next Header field occupies eight bits and is used to indicate the information type of the extended header after the IPv6 basic header. The Next Header field can take a value of 0-255, each value corresponds to a specific header type or protocol. An IPv6 data packet can have multiple extended headers, and the next header information is specified in the extended header.
[0044] Exemplarily, in the embodiment of the present application, the Next Header field is used to indicate that the IPv6 header is followed by an IPv6 routing extension header SRH.
[0045] The other fields in the IPv6 basic header have no special usage in this application, so they will not be described in detail.
[0046] SRH is an extension header in IPv6 data packets, which is used to implement segment routing forwarding functions based on IPv6. Exemplarily, SRH includes an explicit IPv6 address stack (Segment List) to define the forwarding path of data packets in the network. Each address in the address stack represents a node on the forwarding path, and the data packet will visit these nodes in sequence according to the order in the address stack.
[0047] For example, Figure 1 As shown, SHR includes: flags, segments left (SL), and segment list (Segment List).
[0048] Among them, Flags are used to indicate specific behaviors or options.
[0049] SL represents the number of unprocessed segment identifiers (SIDs) in the Segment List. During the hop-by-hop forwarding of a data packet, when the data packet reaches an intermediate node, the node forwards it according to the next segment address in the segment list. Each time a segment is passed, SL decreases by 1 until SL reaches 0, indicating that all segments have been processed and the data packet reaches the egress node or the final destination node.
[0050] Segment List is a key field in the SRv6 message. It is an ordered list of one or more SIDs. The list is constructed by the source node when sending a data packet and is gradually parsed and processed by the intermediate nodes as the data packet is forwarded.
[0051] SID is used to identify an address or service in the forwarding path. Through SID, the source node can flexibly control the forwarding path and service link of the data packet. SID is used to guide the forwarding path of the data packet in SRv6. The data packet carries the SID list, i.e. the segment list, and gradually parses the SID during the forwarding process and executes the corresponding forwarding action or service processing logic, thereby achieving fine control over the data packet transmission path.
[0052] Based on the above introduction, we can know that SRv6 technology can provide a flexible way to specify the path of data packets, which is crucial for path matching in the computing power intelligent network. In the existing SRv6 technology, SRv6 Policy can provide flexible path arrangement for services based on the high programmability of SRv6, and control the load sharing ratio of traffic in multiple paths through the weight attribute of Segment List to achieve business forwarding according to the planned path. However, in the process of traffic forwarding based on SRv6 Policy, the business requirements are only clarified when calculating the path, and the business requirement information is not carried when the message is forwarded later, so that each node in the path cannot obtain the specific business requirements through the message, and the weight value of Segment List is no longer adjusted after the initial setting, which will cause the traffic forwarding process to be unable to flexibly and intelligently adjust the traffic path based on the changes in network bandwidth and business traffic, resulting in poor multi-path load sharing effect.
[0053] In response to the above technical problems, the present application provides a business flow scheduling method, the idea of which is that: it can determine a business flow forwarding path that matches the business needs of the target business flow, and can also adjust the load sharing ratio of the business flow of the target business in multiple paths according to the network resource conditions of the multiple forwarding paths. This business flow forwarding method can achieve end-to-end service quality assurance based on business needs, and can also associate network resource indicator information with the business flow path, and update the business flow path weight value based on network bandwidth redundancy, business traffic growth, node congestion and other conditions, to achieve intelligent scheduling of business flows as network resources change, and achieve intelligent path adjustment and optimization of business flows while meeting business guarantees, avoiding high loads on certain links and reducing packet loss.
[0054] The embodiments provided in this application are described in detail below in conjunction with the accompanying drawings.
[0055] The service flow scheduling method provided in this application can be applied to Figure 2 In the business flow scheduling system shown in FIG. Figure 2 As shown, the service flow scheduling system includes: a front-end device 201 and a service flow forwarding device 202, wherein the front-end device 201 and the service flow forwarding device 202 are connected to each other.
[0056] In some embodiments, the front-end device 201 may be a device for human-computer interaction with a user, such as a mobile phone, a tablet computer, a wearable device, a vehicle-mounted device, an augmented reality (AR) / virtual reality (VR) device, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), etc. The specific device form of the front-end device 201 is not limited in the embodiment of the present application.
[0057] In some embodiments, the service flow forwarding device 202 may be a hardware device responsible for receiving, processing and forwarding data packets in a network, such as a router, a switch, a bridge, a network management system, a firewall, a load balancer, a multi-layer switch, a bridge router, a proxy server, a network splitter, an application delivery controller (application delivery controllers, ADCs), a wide area network optimization controller, an intrusion detection system / intrusion prevention system (intrusion detection systems / intrusion prevention systems, IDS / IPS), etc. The specific device form of the service flow forwarding device 203 in the embodiment of the present application is not limited.
[0058] Exemplarily, the service flow forwarding device 203 in the embodiment of the present application may include: a head node (or called a source node), an intermediate node, and a tail node (destination node).
[0059] In some embodiments, the business flow forwarding device 202 is integrated with a management and control component for obtaining the network resource status of the forwarding path, and then adjusting the traffic distribution ratio of the business flow on the forwarding path according to the network resource status.
[0060] In some embodiments, taking the business flow forwarding device as the head node as an example, the front-end device 201 obtains the business flow of the target business and the business requirements of the target business, and sends the business requirements to the business flow forwarding device 202, and the business flow forwarding device 202 determines multiple forwarding paths corresponding to the business flow of the target business, wherein the forwarding paths match the business requirements of the target business; further, the business flow forwarding device 202 is also used to obtain the network resource conditions of the multiple forwarding paths, and based on the network resource conditions, adjust the distribution ratio of the business flow of the target business on the multiple forwarding paths.
[0061] In some embodiments, taking the business flow forwarding device as an intermediate node (a common intermediate node in multiple paths of the business flow) as an example, the business flow forwarding device 202 obtains the network resource status of multiple forwarding paths; obtains the business message from the previous node and parses it. If the business message carries a business demand, the business flow forwarding device 202 performs local path calculation optimization on the multiple forwarding paths from the intermediate node to the tail node according to the network resource status and the business demand. If the business message does not carry a business demand, the business flow forwarding device 202 performs local path calculation optimization on the multiple forwarding paths from the intermediate node to the tail node according to the network resource status, wherein the local path calculation optimization refers to adjusting the distribution ratio of the business flow on multiple forwarding paths and / or collecting the network topology for path recalculation.
[0062] It should be noted that the system architecture described in the embodiments of the present application is for more clearly illustrating the technical solutions of the embodiments of the present application, and does not constitute a limitation on the technical solutions provided in the embodiments of the present application. A person of ordinary skill in the art can know that with the evolution of the system architecture, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0063] See also Figure 3 , is a flow chart of a service flow scheduling method provided in an embodiment of the present application. The service flow method provided in the present application can be applied to Figure 2 The traffic flow scheduling system shown in , for example, can be composed of Figure 2 The service flow forwarding device shown in is implemented as Figure 3 As shown, the business flow method provided by the present application specifically includes the following steps S301 to S304.
[0064] S301. Obtain the business flow and business requirements of the target business.
[0065] The business requirements of the target business are the transmission requirements of the business flow of the target business during the transmission process, for example, the transmission requirements may be requirements in multiple aspects such as transmission performance, transmission security and reliability. Exemplarily, the business requirements of the target business include: large bandwidth, low latency, exclusive bandwidth, high security, high availability, etc.
[0066] In some embodiments, the business requirements of different business flows of the target business may be different, and the business requirement corresponding to the business flow may be a combination of multiple business requirements or a single business requirement.
[0067] For example, if the target business is a banking business, the business requirements of the target business may be large bandwidth, low latency, high security, and high availability. For example, when it comes to business flows involving customer information and real-time service requests, the business requirements include low latency and high security; when it comes to business flows that require a large amount of transaction data, the business requirements include large bandwidth and high availability.
[0068] S302: Determine multiple forwarding paths corresponding to the service flow of the target service, where the forwarding paths match the service requirements of the target service.
[0069] Among them, the source nodes of different forwarding paths corresponding to the service flows of the target service are consistent, the intermediate nodes are different, and the tail nodes are also consistent. Each node corresponds to a SID, which includes the IPv6 address corresponding to the node. The Segment List composed of ordered SIDs is used to represent a forwarding path.
[0070] In some embodiments, for ease of management, the SegmentLists corresponding to different forwarding paths of the same service flow are grouped into a group (Group).
[0071] Exemplarily, there are three forwarding paths corresponding to the service flow, including: ABC, ADC and AEC, and the Segment Lists corresponding to these three paths can be divided into a Group.
[0072] In some embodiments, the business requirements of different business flows are marked by setting the color extension attribute of the border gateway protocol (BGP), and then the forwarding path of the business flow is determined by configuring the forwarding rules through the SRv6 Policy, so that the forwarding path matches the business requirements of the target business.
[0073] Optionally, the above method also includes: encapsulating the business requirements corresponding to the business flow into the message header, and then configuring the forwarding rules through the SRv6 Policy so that the business messages corresponding to the business flow can be forwarded in a path that matches the business requirements.
[0074] The encapsulation of business requirements is achieved by defining optional type-length-value (TLV) in the IPv6 extension header, such as Figure 4 As shown, the TLV consists of a flag field, a type code field, a value field, and a reserved field.
[0075] Among them, the length of the Flag field is one byte. The first bit is the check bit, which is used to check whether the extended header of the message carries business requirements. If the bit position is 0, it means that no business requirements are carried. If it is set to 1, it means that the business flow has clear business requirements and the business message carries business requirements; the 2nd to 4th bits indicate the number of business requirements carried, such as 001 indicates that the business message has one business requirement, and 010 indicates that the business message has two business requirements; the last 4 bits are all set to 0.
[0076] The Type Code field is one byte long and is used to identify the business requirement attributes of the data flow. A high bit position of 1 indicates that security needs to be provided based on the business flow, and the business requirement of the data flow is within the service scope of this application. The initial value 0xFF is maintained, that is, a high bit position of 0 indicates that security business needs to be provided based on the VPN instance, and the business requirement of the data flow is not within the service scope of this application.
[0077] The Value field is two bytes long, of which the first byte is a reserved byte and the second byte is a key identifier (Key ID) value. The Key ID value is used to represent the service requirements carried. Each of the eight bits of this byte can represent a service requirement. If the bit corresponding to each service requirement is set to 1, it indicates that the service flow has this service requirement; if it is set to 0, it indicates that the service flow does not have this service requirement. The service requirement corresponding to each bit can be defined by yourself, and the requirements include large bandwidth, low latency, exclusive bandwidth, high security, high availability, etc.
[0078] Reserved fields provide space for future functional expansion, allowing new functions to be added without changing the existing field layout.
[0079] For example, in banking services, the 4th to 8th bits of the Value field in the TLV are set to correspond to the five business requirements of exclusive bandwidth, high availability, high security, low latency, and large bandwidth, respectively. The first three bits are set to 0 and do not define business requirements. When a business flow involves customer information and real-time service requests, the business requirements include low latency and high security, and the Key ID corresponding to the business flow is 00000110; when a business flow involves a large amount of transaction data, the business requirements include large bandwidth and high availability, and the Key ID corresponding to the business flow is 00001001.
[0080] S303: Obtain network resource conditions of multiple forwarding paths.
[0081] In some embodiments, the network resource status includes network resource utilization, and the network resource utilization is obtained by monitoring the network resource occupancy status at each node in the path through the service flow scheduling system and analyzing it.
[0082] Among them, the network resource usage to be monitored includes: bandwidth utilization, CPU utilization, memory utilization, etc.
[0083] S304: Adjust the distribution ratio of the service flow of the target service on multiple forwarding paths at least based on the network resource situation.
[0084] It can be understood that the Segment List corresponding to each forwarding path has a weight value, which is used to indicate the distribution ratio of the business flow of the target business on multiple forwarding paths. The distribution ratio of the business flow on multiple forwarding paths can be adjusted by adjusting the weight value of the Segment List to optimize the multi-path load sharing effect.
[0085] Exemplarily, the above step S304 has the following implementation methods:
[0086] Implementation method 1: Based on the network resource situation, adjust the distribution ratio of the service flow of the target service on multiple forwarding paths.
[0087] In some embodiments, Figure 5 As shown, the above step S304 can be implemented as the following steps S1041-S1044.
[0088] S1041. Determine a weight value matrix of the multiple forwarding paths according to the weight value of each forwarding path in the multiple forwarding paths.
[0089] Different paths of the same service flow are divided into a Group, and the weight value matrix is formed by the weight value of the SegmentList corresponding to each path in the Group. The weight value matrix is a 1×n matrix, where n is the number of paths contained in the Group.
[0090] For example, the weight matrix W corresponding to a service flow with n forwarding paths can be expressed as W = [W 11 ,W 12 ,…,W 1n ].
[0091] S1042: Determine a network resource adjustment coefficient matrix according to the network resource status of each forwarding path among the multiple forwarding paths.
[0092] The network resource adjustment coefficient matrix R is determined by the network resource situation of each forwarding path in multiple forwarding paths. The network resource adjustment coefficient matrix R is an 8×n matrix. R(j,r) represents the element in the jth row and rth column in the matrix, where n is the number of paths included in the Group. Each row in the R matrix represents a service demand, which corresponds one-to-one to the service demand defined by each bit in the second byte of the Value field of the service message header extension header TLV. That is, the 1st to 8th rows of the matrix correspond to the service demand defined by the 1st to 8th bits of the second byte of the Value field. The value of each element in the row is determined by the network resource rate corresponding to the service demand in the path. The corresponding table is shown in Table 1 below. If the corresponding bit of the row does not define the service demand, all are set to 1.
[0093] Table 1
[0094]
[0095] It should be noted that the network resource rate of a link generally does not reach more than 80%. When it reaches more than 80%, the packet loss rate of the link will increase significantly and the availability will decrease. Therefore, measures will be taken to ensure that the network resource rate of the link will not be too high. Therefore, this application does not consider the extreme case where the network resource rate is greater than 80%.
[0096] For example, if there are three forwarding paths for a service flow, and the service demand is a large bandwidth, the corresponding service demand is defined in the 8th bit of the second byte of the Value field, and monitoring is performed at a specified time point after the service flow starts to transmit, the network resources of each path have changed, the first path has a traffic increase, and the network resource rate reaches 80%; the path B has less traffic, and the network resource rate is less than 20%; the path C traffic is relatively stable, and the network resource rate is about 45%, then the network resource adjustment coefficient matrix of the service flow is
[0097] S1043. Adjust the weight value matrix based on the network resource adjustment coefficient matrix to obtain an adjusted weight value matrix.
[0098] In some embodiments, the adjusted weight matrix is represented as W`, W`(1,j) represents the element in the first row and the kth column in the matrix, and the adjusted weight matrix W` can be obtained by the following formula.
[0099]
[0100] Among them, the C matrix is a weight adjustment matrix, which is a matrix with n rows and n columns. The weight adjustment matrix C is obtained by multiplying an all-one matrix with n rows and 8 columns and a network resource adjustment coefficient matrix R, and n is the number of paths corresponding to the business flow.
[0101] S1044: Based on the adjusted weight matrix, adjust the distribution ratio of the service flow of the target service on multiple forwarding paths.
[0102] It can be understood that the weight value of each path in the adjusted weight matrix is updated to the corresponding SegmentList, and the business flow scheduling is implemented through SRv6 Policy to achieve reasonable distribution and load balancing of business flows.
[0103] Implementation method 2: Based on the service requirements and network resource conditions of the target service, the distribution ratio of the service flow of the target service on multiple forwarding paths is adjusted.
[0104] In some embodiments, Figure 6 As shown, the above step S304 can be implemented as the following steps S2041-S2044.
[0105] S2041. Determine a weight value matrix of the multiple forwarding paths according to the weight value of each forwarding path in the multiple forwarding paths.
[0106] The implementation method of this step is consistent with the above-mentioned step S1041, and will not be elaborated here.
[0107] S2042: Determine a network resource adjustment coefficient matrix according to the network resource status of each forwarding path in the multiple forwarding paths.
[0108] The implementation method of this step is consistent with the above-mentioned step S1042, and will not be elaborated here.
[0109] S2043. Adjust the weight value matrix based on the network resource adjustment coefficient matrix and the service demand adjustment coefficient matrix to obtain an adjusted weight value matrix.
[0110] In some embodiments, the adjusted weight matrix is represented as W`, W`(1,j) represents the element in the first row and the kth column in the matrix, and the adjusted weight matrix W` can be obtained by the following formula.
[0111]
[0112] Among them, the C matrix is a weight adjustment matrix, which is a matrix with n rows and n columns. The weight adjustment matrix C is obtained by multiplying the business demand adjustment matrix V with n rows and 8 columns and the network resource adjustment coefficient matrix R. n is the number of paths corresponding to the business flow. The weight adjustment matrix C can be obtained by the following formula.
[0113]
[0114] Among them, C kj is the element in the kth row and jth column of the weight adjustment matrix C; V(k,j) represents the element in the kth row and jth column of the business demand adjustment matrix V; R(j,r) represents the element in the jth row and rth column of the network resource adjustment coefficient matrix R, and its value is the network resource change adjustment coefficient.
[0115] The service demand adjustment coefficient matrix V is determined by the service demand corresponding to the target service. Each row corresponds to the service demand of a corresponding path, which is defined as the value of the corresponding bit of the second byte of the Value field in the service message extension header TLV, that is, the 1st to 8th columns of the matrix service demand adjustment coefficient matrix V correspond to the values of the 1st to 8th bits of the second byte of the Value field.
[0116] For example, if the service flow corresponds to three paths and the service demand is large bandwidth, the corresponding service demand is defined in the 8th bit of the second byte of the Value field, and the initial weight matrix is W = [100 100 100]. After measurement, it is found that the network resource adjustment coefficient matrix of the service flow is Then the business demand adjustment coefficient matrix corresponding to the business flow is The weight adjustment matrix can be calculated as The adjusted weight matrix is W`=[240 360 300].
[0117] S2044: Based on the adjusted weight matrix, adjust the distribution ratio of the service flow of the target service on multiple forwarding paths.
[0118] The implementation method of this step is consistent with the above-mentioned step S1044, and will not be elaborated here.
[0119] In some embodiments, the above step S304 also includes that if the business message carries business requirements and there are nodes in the business flow forwarding path that must be passed except the source node and the tail node, the node can be regarded as a special "intermediate node" and local path recalculation is performed at the special "intermediate node" to complete path optimization.
[0120] It should be noted that the business flow forwarding equipment of the special "intermediate node" is generally quite special. For example, the equipment integrates traffic monitoring equipment, analysis equipment or traffic cleaning resource pool, which is the node that the business flow must pass through during the forwarding process.
[0121] The above-mentioned path optimization is completed by performing local path recalculation at a special "intermediate node" and can be specifically presented as follows Sa1-Sa3.
[0122] Sa1. Unpack and check the service message at a special "intermediate node" and monitor the Flag field of the TLV in the message extension header. If the first bit of the Flag field is 0, it means that the service message does not carry service requirements and no local path recalculation is required. If the first bit of the Flag field is 1, it means that the service message carries service requirements and the service requirements are obtained from the Value field of the TLV.
[0123] Sa2. Perform local path recalculation based on business needs.
[0124] In some embodiments, local path recalculation in combination with business needs can be specifically implemented as follows: using routing protocols to collect network topology information, analyzing the existing network topology, including the connection status between nodes and the status of links, and based on business needs, using appropriate path selection algorithms to recalculate paths. For example, when the business requirement is low latency, the shortest path first (SPF) algorithm can be used.
[0125] Sa3: Return the path calculation result to the source node, update the Segment List in the service message at the source node, and complete the path optimization.
[0126] In some embodiments, the method provided in the embodiments of the present application can be applied to the head node, where the business flow and business requirements of the target business are obtained, and multiple forwarding paths corresponding to the business flow of the target business are determined, and the forwarding paths are matched with the business requirements of the target business. After the business flow forwarding work is started, the network resource conditions of the multiple paths are obtained within the specified time and returned to the head node. The head node adjusts the distribution ratio of the business flow on the multiple forwarding paths based on the network resource conditions and business requirements.
[0127] In some embodiments, the method provided in the embodiments of the present application can be applied to an intermediate node, where the service flow of the target service is obtained at the intermediate node, the network resource status of multiple paths from the node to the tail node is obtained, and the service message is unsealed and checked. If the first bit position of the Flag field of the TLV in the message extension header is 0, it indicates that the service message does not carry service requirements. According to the network resource conditions, the distribution ratio of the service flow on multiple forwarding paths (local forwarding paths) is adjusted; if the first bit position of the Flag field is 1, it indicates that the service message carries service requirements. The service requirements are obtained from the Value field of the TLV, and according to the network resource conditions and service requirements, the distribution ratio of the service flow on multiple forwarding paths (local forwarding paths) is adjusted.
[0128] The service flow scheduling method provided in the present application can determine a service flow forwarding path that matches the service demand of the target service flow, and can also adjust the load sharing ratio of the service flow of the target service in multiple paths according to the network resource conditions of the multiple forwarding paths. This service flow forwarding method can achieve end-to-end service quality assurance based on service demand, and can also associate network resource indicator information with the service flow path, update the service flow path weight value based on network bandwidth redundancy, service traffic growth, node congestion and other conditions, realize intelligent scheduling of service flows as network resources change, realize intelligent path adjustment and optimization of service flows while meeting service guarantees, avoid high loads on certain links and reduce packet loss.
[0129] It can be seen that the above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. In order to achieve the above functions, the embodiment of the present application provides a hardware structure and / or software module corresponding to each function. It should be easily appreciated by those skilled in the art that, in combination with the modules and algorithm steps of each example described in the embodiment disclosed herein, the embodiment of the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present invention.
[0130] The embodiment of the present application can divide the functional modules of the service flow scheduling device according to the above method example. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. Optionally, the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
[0131] In some embodiments, the present application further provides a service flow scheduling device. The service flow scheduling device may include one or more functional modules, which are used to implement the service flow scheduling method of the above method embodiment.
[0132] For example, Figure 7 A schematic diagram of the composition of a service flow scheduling device provided in an embodiment of the present application is shown in FIG. Figure 7 As shown, the service flow scheduling device includes: a communication module 701 and a management and control module 702.
[0133] The communication module 701 is used to obtain the service flow and service requirements of the target service.
[0134] The management and control module 702 is used to determine multiple forwarding paths corresponding to the business flow of the target business, and the forwarding paths match the business needs of the target business; obtain the network resource conditions of the multiple forwarding paths; and adjust the distribution ratio of the business flow of the target business on the multiple forwarding paths at least based on the network resource conditions.
[0135] In some embodiments, the network resource situation includes a network resource rate; the management and control module 702 is specifically used to adjust the distribution ratio of the business flow of the control target business on multiple forwarding paths based on the network resource utilization rates of the multiple forwarding paths when there is a forwarding path whose network resource utilization rate is greater than a preset threshold among the multiple forwarding paths.
[0136] In other embodiments, a forwarding path corresponds to a weight value, and the weight value is used to indicate the distribution ratio of the business flow on the forwarding path; the management and control module 702 is specifically used to determine the weight value matrix of multiple forwarding paths according to the weight value of each forwarding path in the multiple forwarding paths; determine the network resource adjustment coefficient matrix according to the network resource situation of each forwarding path in the multiple forwarding paths; adjust the weight value matrix based on the network resource adjustment coefficient matrix to obtain the adjusted weight value matrix; based on the adjusted weight matrix, adjust the distribution ratio of the business flow of the target business on the multiple forwarding paths.
[0137] In some other embodiments, the management and control module 702 is specifically used to adjust the distribution ratio of the service flow of the target service on multiple forwarding paths based on the service demand and network resource conditions of the target service.
[0138] In some other embodiments, a forwarding path corresponds to a weight value, and the weight value is used to indicate the distribution ratio of the business flow on the forwarding path; the management and control module 702 is specifically used to adjust the weight value matrix of multiple forwarding paths based on the network resource adjustment coefficient matrix and the business demand adjustment coefficient matrix to obtain an adjusted weight value matrix; wherein, the network resource adjustment coefficient matrix is determined based on the network resource situation of each forwarding path in the multiple forwarding paths; the business demand adjustment coefficient matrix is determined according to the business demand of the target business; based on the adjusted weight value matrix, the distribution ratio of the business flow of the target business on the multiple forwarding paths is adjusted.
[0139] In some other embodiments, the multiple forwarding paths include a target forwarding path; the management and control module 702 is also used to generate a target business message based on the address information of the target forwarding path and the target business flow assigned to the target forwarding path; wherein the address information of the target forwarding path is encapsulated in an extended header of the message header of the target business message; and the target message is transmitted through the target forwarding path.
[0140] In some other embodiments, the management and control module 702 is further used to encapsulate the business requirements of the target business in the target message.
[0141] In the case of implementing the functions of the above-mentioned integrated modules in the form of hardware, the embodiment of the present invention provides a possible structural diagram of the electronic device involved in the above-mentioned embodiment. Figure 8 As shown, the electronic device 800 includes: a processor 802 , a communication interface 803 , and a bus 804 . Optionally, the electronic device 800 may further include a memory 801 .
[0142] The processor 802 may be a processor that implements or executes various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of the present application. The processor 802 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of the present application. The processor 802 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.
[0143] The communication interface 803 is used to connect with other devices via a communication network, such as Ethernet, wireless access network, wireless local area network (WLAN), etc.
[0144] The memory 801 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.
[0145] As a possible implementation, the memory 801 may exist independently of the processor 802, and the memory 801 may be connected to the processor 802 via a bus 804 to store instructions or program codes. When the processor 802 calls and executes the instructions or program codes stored in the memory 801, the service flow scheduling method provided in the embodiment of the present invention can be implemented.
[0146] In another possible implementation, the memory 801 may also be integrated with the processor 802 .
[0147] The bus 804 may be an extended industry standard architecture (EISA) bus, etc. The bus 804 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 8 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0148] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the service calling device can be divided into different functional modules to complete all or part of the functions described above.
[0149] The embodiment of the present application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be completed by computer instructions to instruct the relevant hardware, and the program can be stored in the above computer-readable storage medium. When the program is executed, it may include the processes of the above method embodiments. The computer-readable storage medium can be the memory or memory of any of the above embodiments. The above computer-readable storage medium can also be an external storage device of the above service calling device, such as a plug-in hard disk, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. equipped on the above service calling device. Further, the above computer-readable storage medium can also include both the internal storage unit of the above service calling device and an external storage device. The above computer-readable storage medium is used to store the above computer program and other programs and data required by the above service calling device. The above computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.
[0150] An embodiment of the present application also provides a computer program product, which includes a computer program. When the computer program product is run on a computer, the computer is enabled to execute any one of the service flow scheduling methods provided in the above embodiments.
[0151] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A service flow scheduling method, characterized in that: The method further comprises: Acquire the business flow of the target business and the business demand of the target business; Determine multiple forwarding paths corresponding to the service flow of the target service; the forwarding paths match the service requirements of the target service; Obtaining network resource conditions of the multiple forwarding paths; At least based on the network resource situation, the allocation ratio of the service flow of the target service on the multiple forwarding paths is adjusted.
2. The method according to claim 1, characterized in that The network resource situation includes a network resource utilization rate; and adjusting the distribution ratio of the service flow of the target service on the multiple forwarding paths based at least on the network resource situation includes: When there is a forwarding path with a network resource utilization greater than a preset threshold among the multiple forwarding paths, the allocation ratio of the service flow of the target service on the multiple forwarding paths is adjusted based on the network resource utilization of the multiple forwarding paths.
3. The method according to claim 1, characterized in that One forwarding path corresponds to one weight value, and the weight value is used to indicate the distribution ratio of the service flow on the forwarding path; The adjusting, at least based on the network resource situation, the allocation ratio of the service flow of the target service on the multiple forwarding paths includes: Determining a weight value matrix of the plurality of forwarding paths according to a weight value of each of the plurality of forwarding paths; Determining a network resource adjustment coefficient matrix according to a network resource condition of each of the multiple forwarding paths; Based on the network resource adjustment coefficient matrix, adjusting the weight value matrix to obtain an adjusted weight value matrix; Based on the adjusted weight matrix, the distribution ratio of the service flow of the target service on the multiple forwarding paths is adjusted.
4. The method according to claim 1, characterized in that: The adjusting, at least based on the network resource situation, the allocation ratio of the service flow of the target service on the multiple forwarding paths includes: Based on the service demand of the target service and the network resource situation, the allocation ratio of the service flow of the target service on the multiple forwarding paths is adjusted.
5. The method according to claim 4, characterized in that One forwarding path corresponds to one weight value, and the weight value is used to indicate the distribution ratio of the service flow on the forwarding path; The adjusting, based on the service demand of the target service and the network resource situation, the allocation ratio of the service flow of the target service on the multiple forwarding paths includes: Based on the network resource adjustment coefficient matrix and the service demand adjustment coefficient matrix, the weight value matrix of the multiple forwarding paths is adjusted to obtain an adjusted weight value matrix; wherein the network resource adjustment coefficient matrix is determined based on the network resource situation of each of the multiple forwarding paths; and the service demand adjustment coefficient matrix is determined based on the service demand of the target service; Based on the adjusted weight value matrix, the distribution ratio of the service flow of the target service on the multiple forwarding paths is adjusted.
6. The method according to claim 1, characterized in that The multiple forwarding paths include a target forwarding path; the method further includes: Generate a target message based on the address information of the target forwarding path and the target service flow allocated to the target forwarding path; wherein the address information of the target forwarding path is encapsulated in an extended header of a message header of the target message; The target message is transmitted through the target forwarding path.
7. The method according to claim 6, characterized in that The method further comprises: The service requirements of the target service are encapsulated in the target message.
8. An electronic device, characterized in that: It comprises a processor and a memory, wherein the processor is coupled to the memory; the memory is used to store computer instructions, and the computer instructions are loaded and executed by the processor to enable the computer device to implement the service flow scheduling method as described in any one of claims 1 to 7.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes computer-executable instructions, and when the computer-executable instructions are executed on a computer, the computer is enabled to execute the service flow scheduling method according to any one of claims 1 to 7.
10. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is run on an electronic device, the electronic device executes the service flow scheduling method according to any one of claims 1 to 7.