Data forwarding processing method and device, equipment and medium
By decoding the target network element address and querying the mapping table to update the header field value, the problem of high computing power consumption of SCP network elements in packet forwarding is solved, and more efficient packet forwarding is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-08
- Publication Date
- 2026-04-10
AI Technical Summary
In existing technologies, the encoding and decoding operations of the Service Proxy Network Element (SCP) during packet forwarding consume a lot of computing power, affecting its performance.
Obtain the header fields of the business request packet, decode the target network element address, query the preset mapping table to determine the next-hop network element address encoding index value, update the header field value, and directly forward the encoded packet to reduce repeated encoding operations.
It reduces the computing power consumption of SCP network elements and improves the efficiency and performance of packet forwarding.
Smart Images

Figure CN121842270A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communication technology, and in particular to a data forwarding processing method, apparatus, device and medium. Background Technology
[0002] The Service Communication Proxy (SCP) network element supports data forwarding between network elements. That is, the SCP network element acts as a message proxy network element, and each time it receives a service request packet sent by the service request network element, it forwards the service request packet to the service response network element.
[0003] In related technologies, after the SCP network element obtains the encoded service request packet, it decodes the entire service request packet to obtain the decoded string message. Based on the decoded string message, it obtains the address of the next-hop network element, modifies the string message according to the address of the next-hop network element, re-encodes the modified string message, and forwards the re-encoded service request data packet to the next-hop network element.
[0004] However, the encoding and decoding operations performed by the aforementioned SCP network elements during packet forwarding consume a significant amount of SCP's computing power, thus affecting SCP's performance. Summary of the Invention
[0005] To address, or at least partially address, the aforementioned technical problems, this disclosure provides a data forwarding processing method, apparatus, device, and medium to resolve the technical problem in the prior art where the encoding and decoding operations performed by SCP network elements during data packet forwarding consume a large amount of SCP computing power, thereby affecting SCP performance.
[0006] This disclosure provides a data forwarding processing method applied to a Service Proxy (SCP) network element, comprising the following steps: obtaining an encoded first service request packet sent by a service request network element, wherein the header field of the first service request packet includes a first header field and a second header field, the first header field corresponding to a first network element address of a target service response network element, and the second header field corresponding to a second network element address of a next-hop service response network element; decoding the first header field to obtain the first network element address, and determining the second network element address of the next-hop service response network element based on the first network element address; querying a preset mapping table to determine whether it contains a second network element address encoding index value corresponding to the second network element address; if the second network element address encoding index value is included, updating the initial field value of the second header field to the second network element address encoding index value, and forwarding the updated first service request packet to the next-hop service response network element corresponding to the second network element address.
[0007] This disclosure also provides a data forwarding processing apparatus, including a memory, a transceiver, and a processor: the memory is used to store a computer program; the transceiver is used to send and receive data under the control of the processor; the processor is used to read the computer program in the memory and perform the following operations: obtaining an encoded first service request packet sent by a service request network element, wherein the header field of the first service request packet includes a first header field and a second header field, the first header field corresponds to a first network element address of a target service response network element, and the second header field corresponds to a second network element address of a next-hop service response network element; decoding the first header field to obtain the first network element address, and determining the second network element address of the next-hop service response network element based on the first network element address; querying a preset mapping table to determine whether a second network element address encoding index value corresponding to the second network element address is included; if the second network element address encoding index value is included, updating the initial field value of the second header field to the second network element address encoding index value, and forwarding the updated first service request packet to the next-hop service response network element corresponding to the second network element address.
[0008] This disclosure also provides a data forwarding processing apparatus applied to a Service Proxy (SCP) network element, comprising: an acquisition module for acquiring an encoded first service request packet sent by a service request network element, wherein the header field of the first service request packet includes a first header field and a second header field, the first header field corresponding to a first network element address of a target service response network element, and the second header field corresponding to a second network element address of a next-hop service response network element; a determination module for decoding the first header field to obtain the first network element address, and determining the second network element address of the next-hop service response network element based on the first network element address; a query module for querying a preset mapping table to determine whether a second network element address encoding index value corresponding to the second network element address is included; and an update processing module for updating the initial field value of the second header field to the second network element address encoding index value when the second network element address encoding index value is included, and forwarding the updated first service request packet to the next-hop service response network element corresponding to the second network element address.
[0009] This disclosure provides a processor-readable storage medium storing a program for causing the processor to execute the aforementioned data forwarding processing method.
[0010] The technical solution provided in this disclosure has the following advantages compared with the prior art:
[0011] The data forwarding processing scheme provided in this disclosure obtains an encoded first service request packet sent by a service requesting network element. The header field of the first service request packet includes a first header field and a second header field. The first header field corresponds to the first network element address of the target service response network element, and the second header field corresponds to the second network element address of the next-hop service response network element. The first header field is decoded to obtain the first network element address, and the second network element address of the next-hop service response network element is determined based on the first network element address. A preset mapping table is queried to determine whether a second network element address encoding index value corresponding to the second network element address is included. If the second network element address encoding index value is included, the initial field value of the second header field is updated to the second network element address encoding index value, and the updated first service request packet is forwarded to the next-hop service response network element corresponding to the second network element address. This technical solution reduces the computational power consumption of SCP forwarding data and improves the performance of the SCP network element. Attached Figure Description
[0012] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.
[0013] Figure 1 A schematic diagram of a network architecture provided in this disclosure embodiment;
[0014] Figure 2 This is a schematic diagram of a data forwarding and processing interaction provided in an embodiment of the present disclosure;
[0015] Figure 3 A schematic flowchart illustrating a data forwarding processing method provided in an embodiment of this disclosure;
[0016] Figure 4 A flowchart illustrating another data forwarding processing method provided in this embodiment of the disclosure;
[0017] Figure 5 A flowchart illustrating another data forwarding processing method provided in this embodiment of the disclosure;
[0018] Figure 6 This is a schematic diagram of the structure of a data forwarding processing device provided in an embodiment of the present disclosure;
[0019] Figure 7 This is a schematic diagram of another data forwarding processing apparatus provided in an embodiment of the present disclosure. Detailed Implementation
[0020] In this disclosure, the term "and / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.
[0021] In this disclosure, the term "multiple" refers to two or more, and other quantifiers are similar.
[0022] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this disclosure.
[0023] The data forwarding processing method and apparatus of this disclosure are used to reduce the computing power consumption of SCP network elements and improve the performance of SCP network elements.
[0024] The method and apparatus are based on the same concept of the application. Since the methods and apparatus solve problems in similar ways, the implementation of the apparatus and methods can refer to each other, and the repeated parts will not be described again.
[0025] The technical solutions provided in this disclosure can be applied to a variety of systems. For example, applicable systems may include Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, Long Term Evolution Advanced (LTE-A) systems, Universal Mobile Telecommunications System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) systems, 5G New Radio (NR) systems and their evolved communication systems, and 6G (sixth generation mobile communication technology) systems. These systems may include terminal equipment and network equipment. The systems may also include a core network component, such as the Evolved Packet Core (EPC) or the 5G Core Network (5GC).
[0026] In related technologies, the SCP network element acts as a service proxy network element, forwarding relevant data packets between network elements. Taking the use of SCP for data forwarding between Unified Data Management (UDM) network elements and Session Management (SMF) network elements as an example, such as... Figure 1 As shown, the SCP network element acts as a service proxy, forwarding data packets between relevant UDM network elements and SMF network elements. Figure 1 The UDM network elements include UDM-1, UDM-2, UDM-3, and UDM-4, and the SMF network elements include SMF-1, SMF-2, SMF-3, and SMF-4. When the relevant network elements communicate with each other, the service requesting network element will discover the network element address of the service responding network element through the Registration and Discovery Function (NF Repository Function, NRF).
[0027] In actual communication, if the data packets forwarded by the SCP network element are sent based on the Hypertext Transfer Protocol (HTTP), then refer to... Figure 2 The service request network element A (which can also be seen as a consumer network element in an HTTP-based service scenario) communicates with the NRF network element to obtain the network element address b of the target service response network element B (which can also be seen as a producer network element in an HTTP-based service scenario). A fills b into the HTTP header field of the first service request packet S1, for example, the 3gpp-sbi-target-apiroot field. Then, it fills the network element address c of the SCP network element into the HTTP header field, for example, the authority field. A encodes S1 with the relevant network element addresses to obtain the encoded S2, and sends S2 to the SCP network element. The SCP network element decodes S2 to obtain S3, reads the content of the 3gpp-sbi-target-apiroot field, fills the network element address b of B into the authority field of the HTTP header, encodes the modified S3 to obtain S4, and sends S4 to B. After B generates service response data, it passes the service response data through the SCP to A.
[0028] As can be seen from the above description, the SCP network element, as a forwarding proxy network element for HTTP messages, needs to decode the HTTP header, replace the field values in the relevant fields, and then re-encode each packet. The processing flow is complex and consumes a lot of resources, which can easily affect the performance of SCP.
[0029] To address the aforementioned technical issues, this disclosure proposes a data forwarding processing method, which is applied to SCP network elements.
[0030] Figure 3 This is a flowchart illustrating a data forwarding processing method according to an embodiment of the present disclosure, as shown below. Figure 3 As shown, the method includes:
[0031] Step 301: Obtain the encoded first service request packet sent by the service request network element. The header field of the first service request packet includes a first header field and a second header field. The first header field corresponds to the first network element address of the target service response network element, and the second header field corresponds to the second network element address of the next-hop service response network element.
[0032] In this context, the service request network element can be either the consumer network element that triggers the service request or a transitional network element that participates in the intermediate message forwarding during the service request execution process. For example, for a service request packet sent by consumer network element W, the routing link is W network element - E network element - R network element - T network element. The network elements forward relevant messages through SCP network elements as service proxy network elements. In this embodiment, the service request network element can be W network element, E network element, R network element, etc.
[0033] In this embodiment, the target service response network element can be understood as the final response network element in the service request scenario. For example, the target service response network element is the aforementioned network element T.
[0034] In one embodiment of this disclosure, an encoded first service request packet sent by a service request network element is obtained. The header field of the first service request packet includes a first header field and a second header field. The second header field can be one or more, and can be set according to the needs of the scenario. For example, in a scenario based on HTTP communication, the first header field can include the 3gpp-sbi-target-apiroot field, and the second header field can include the authority field.
[0035] The first header field corresponds to the first network element address of the target service response network element. This can be understood as storing the first network element address or an index value corresponding to it. Therefore, the first network element address of the target service response network element can be uniquely determined based on the first header field. The second header field corresponds to the second network element address of the next-hop service response network element. This can also be understood as storing the second network element address or an index value corresponding to it. Therefore, the network element address of the next-hop service response network element can be uniquely determined based on the second header field. The network element address of the next-hop service response network element can include an SCP network element, the target service response network element, or other service network elements in the core network. Other service network elements in the core network can include SCP network elements in other core networks, or network elements other than other SCP network elements in other core networks. The next-hop service response network element is the service request data packet. In the current scenario, the next network element to be sent, continuing with the above embodiment as an example, when the service request network element is network element W, then network element E is the next-hop service response network element.
[0036] Step 302: Decode the first header field to obtain the first network element address, and determine the second network element address of the next-hop service response network element based on the first network element address.
[0037] In one embodiment of this disclosure, to reduce the computational power consumption of the SCP network element, only the first header field can be decoded to obtain the first network element address, and the second network element address of the next-hop service response network element can be determined based on the first network element address. In some possible embodiments, an internal routing table can be queried to obtain the second network element address of the next-hop service response network element corresponding to the first network element address. Here, the next-hop service response network element is relative to the service request network element.
[0038] Step 303: Query the preset mapping table to determine whether it contains the second network element address encoding index value corresponding to the second network element address.
[0039] It should be noted that in business request scenarios, after forwarding relevant business request data packets, a preset mapping table is set in advance. This preset mapping table stores the mapping relationship between network element addresses and network element address encoding index values. Thus, based on the preset mapping table, the network element address encoding index value corresponding to the network element address can be retrieved without re-encoding the network element address. The network element address encoding index value is the encoded value.
[0040] It is easy to understand that after the initial forwarding of the service request data packet between two network elements, the correspondence between the network element address and the network element address encoding index value can be stored in the preset mapping table. The correspondence in the preset mapping table can be reused when the service request data packet is sent to the corresponding network element next time.
[0041] Therefore, in one embodiment of this disclosure, before decoding the first header field to obtain the first network element address, it is also necessary to determine whether the SCP network element is a service request packet between the network element that first forwards the service request and the target service response network element. For example, historical service forwarding path information can be stored in advance, which stores the network elements traversed by each service request. Based on this historical service forwarding path information, it can be determined whether the SCP network element is a service request packet between the network element that first forwards the service request and the target service response network element.
[0042] For example, in some possible embodiments, after resolving the first network element address, after querying the internal routing table to determine the second network element address, the preset mapping table can be directly queried to determine whether it contains the second network element address encoding index value corresponding to the second network element address. If the second network element address encoding index value is found, it is determined that the SCP network element is not a service request packet between the first forwarding service request network element and the target service response network element; otherwise, it is determined that the SCP network element is a service request packet between the first forwarding service request network element and the target service response network element.
[0043] Step 304: When the second network element address encoding index value is included, update the initial field value of the second header field to the second network element address encoding index value, and forward the updated first service request packet to the next-hop service response network element corresponding to the second network element address.
[0044] In one embodiment of this disclosure, when the second network element address encoding index value is included, the initial field value of the second header field is updated to the second network element address encoding index value, and the updated first service request packet is forwarded to the next-hop service response network element corresponding to the second network element address. Here, the first network element address in the updated first service request is now an encoded value, for example, it can be a re-encoded value or a historical encoding index value after querying the first network element address. Therefore, the SCP network element only needs to decode the first header field and simply replace the encoded field value in the second header field, without needing to perform overall decoding and encoding of the first service request packet, greatly reducing the computing power consumption of the SCP network element, improving its performance, and increasing the speed of SCP network element packet forwarding.
[0045] In some possible embodiments, in order to further improve the performance of SCP packets, the field positions corresponding to the second header fields can be pre-stored. For example, when multiple second header fields are included, the field positions corresponding to each second header field can be stored. The field position may include the number of bytes, etc. Thus, when the second network element address encoding index value is included, the pre-stored field positions corresponding to the second header fields are queried, and the initial field values corresponding to the second header fields are updated to the second network element address encoding index values according to the field positions.
[0046] In another embodiment of this disclosure, if the SCP network element is determined to be a service request packet between the first forwarding service request network element and the target service response network element, then the first service request packet is decoded to obtain the decoded service request string. That is, the first service request packet is decoded as a whole during the first forwarding, the first network element address corresponding to the first header field in the service request string is determined, the second network element address of the next-hop service response network element is determined based on the first network element address, the initial field value corresponding to the second header field in the service request string is updated to the second network element address, and then the updated service request string is encoded to obtain the encoded second service request packet.
[0047] The encoding algorithm used to encode the updated business request string can be any encoding algorithm. In the scenario of business requests based on HTTP / 2, the encoding algorithm can be the HTTP / 2 header compression algorithm (HPACK). The HPACK algorithm introduces static and dynamic tables to map strings to binary encoded values, which greatly reduces the transmission volume. In this embodiment, if the first header field 3gpp-sbi-target-apiroot: in the decoded business request string is http: / / [240a:0000:0000:0002:0000:0000:0000:0041]:3301, the HPACK algorithm will convert the above field into a binary code stream with a total length of 58 bytes after recognizing the first header field for the first time, and store the corresponding encoding index value Index 65 in the dynamic table. After recognizing the first header field as http: / / [240a:0000:0000:0002:0000:0000:0000:0041]:3301 again, the field value of the first header field can be directly replaced with 0xc1 (0x80+65), without re-encoding the above first header field.
[0048] This compression algorithm can also be applied to scenarios where the SCP network element does not forward the service request packet between the service request network element and the target service response network element for the first time. That is, after decoding the first header field of the first service request packet, a pre-maintained dynamic table can be queried to determine the first network element address encoding index value corresponding to the first network element address. The first network element address in the decoded first header field can be replaced based on the first network element address encoding index value, without having to encode the first network element address again.
[0049] As mentioned above, the next-hop service response network element may be the target service response network element. In one embodiment of this disclosure, when the next-hop service response network element corresponding to the second network element address is the target service response network element, the service response data sent by the target service response network element is obtained, and the service response data is fed back to the service request network element through the SCP network element.
[0050] After forwarding the second service request packet to the next-hop service response network element corresponding to the second network element address, the second network element address encoding value corresponding to the second network element address is determined based on the second service request packet, and the second network element address encoding index value of the second network element address encoding value is determined. The second network element address encoding index value corresponds to the second network element address encoding value. For example, the second network element address encoding value is determined to be the second network element address encoding index value, or the second network element address encoding value is calculated according to a preset mapping algorithm to obtain the second network element address encoding index value. The preset mapping algorithm can be any mapping algorithm, such as a hash algorithm.
[0051] In the embodiments of this disclosure, after determining the second network element address encoding index value, the correspondence between the second network element address and the second network element address encoding index value is stored in a preset mapping table so that the second network element address encoding index value can be reused when forwarding data packets next time.
[0052] To more clearly describe the data forwarding process, the following example illustrates a scenario where an SCP network element forwards a service request based on the HTTP / 2 communication protocol. When making a service request based on HTTP / 2, the requesting network element is the Access and Mobility Management Function (AMF), and the target service response network element is the Session Management Function (SMF). The first header field includes the 3gpp-sbi-target-apiroot field, and the second header field includes the authority field. The network element address is identified by IP address and port number, as shown in the example below.
[0053] like Figure 4As shown, when the SCP network element forwards the service request packet between the service request network element and the target service response network element for the first time, the AMF communicates with the NRF to request the discovery of the second network element address of the SMF. The NRF feeds back the IP and port of the SMF. The AMF writes the IP and port of the SMF into the 3gpp-sbi-target-apiroot field of the first service request packet before encoding, fills the IP and port of the SCP network element into the authority field, encodes the first service request packet to generate the encoded first service request packet codemsg1, and sends codemsg1 to the SCP network element.
[0054] The SCP network element decodes `codemsg1` to obtain the string `string1`. It extracts the SMF's IP address and port from the decoded `3gpp-sbi-target-apiroot` field. The SCP network element then looks up its internal routing table to find the IP address and port of the next-hop service response network element for the SMF network element. If the SMF network element and SCP network element are directly connected, the IP address and port of the next-hop service response network element sent by the SCP network element to the SMF network element are the SMF network element's own IP address and port. Therefore, when the SCP network element forwards the request, the `authority` value should be filled with the SMF network element's IP address and port. The SCP network element modifies the `authority` field in the HTTP / 2 header, filling it with the IP address and port of the next-hop service response network element for the SMF network element, resulting in `string2`. The SCP then re-encodes `string2` to generate `codemsg2`. In this embodiment, a pre-defined mapping table also stores the correspondence between the encoded value of the `authority` field (`codetext1`) and the IP address and port of the next-hop service response network element. Finally, the SCP network element sends `codemsg2` to the next-hop service response network element.
[0055] like Figure 5 As shown, when the SCP network element forwards the service request packet between the service request network element and the target service response network element for the first time, the AMF network element calls the NF discovery service of the NRF network element to request the discovery of the SMF. The NRF returns the IP and port of the SMF. The AMF writes the IP and port of the SMF into the 3gpp-sbi-target-apiroot field of the first service request packet before encoding, fills the IP and port of the SCP network element into the authority field, encodes the first service request packet to generate the encoded first service request packet codemsg3, and sends codemsg3 to the SCP network element.
[0056] The SCP network element decodes the 3gpp-sbi-target-apiroot field in codemsg3, identifies the IP and port of the SMF, looks up the routing table to obtain the IP and port of the next-hop response network element destined for the SMF network element, queries the preset mapping table based on the IP and port of the next-hop response network element, determines the corresponding codetext1, and can replace the authority field in codemsg3 with codetext1 based on the pre-recorded field position of codetext1 to obtain codemsg4. Then, the SCP network element sends codemsg4 to the next-hop service response network element.
[0057] Therefore, in the above embodiments, the complete request packet needs to be parsed and encoded only during the first forwarding. In the second and subsequent forwarding processes, only the 3gpp-sbi-target-apiroot field needs to be parsed. Moreover, the pre-defined mapping table is used to replace re-encoding, which greatly improves the forwarding efficiency. When the SCP network element forwards the service request packet corresponding to HTTP2 to the next-hop service response network element, if the network element address of this next-hop service response network element appears for the first time, the entire service request packet is parsed, the HTTP2 header is modified, re-encoded, and sent to the next hop. The correspondence between the network element address encoding index value and the network element address corresponding to the modified field (second header field) is recorded.
[0058] When an SCP network element forwards a service request packet corresponding to HTTP / 2 to the next-hop service response network element, if the network element address of this next-hop service response network element is not appearing for the first time, it queries a preset mapping table, replaces the original field value with the network element address encoding index value recorded in the preset mapping table, and then sends it to the next hop. Compared with the first forwarding, subsequent forwardings do not need to parse the complete service request data packet or re-encode it, reducing the computing power consumption of the SCP network element.
[0059] In summary, the data forwarding processing method of this disclosure embodiment obtains an encoded first service request packet sent by a service requesting network element. The header field of the first service request packet includes a first header field and a second header field. The first header field corresponds to the first network element address of the target service response network element, and the second header field corresponds to the second network element address of the next-hop service response network element. The first header field is decoded to obtain the first network element address, and the second network element address of the next-hop service response network element is determined based on the first network element address. A preset mapping table is queried to determine whether a second network element address encoding index value corresponding to the second network element address is included. If the second network element address encoding index value is included, the initial field value of the second header field is updated to the second network element address encoding index value, and the updated first service request packet is forwarded to the next-hop service response network element corresponding to the second network element address. This technical solution reduces the computational power consumption of SCP forwarding data and improves the performance of the SCP network element.
[0060] To implement the above embodiments, this disclosure also proposes a data forwarding processing apparatus. The data forwarding processing apparatus is applied in a Service Proxy (SCP) network element. Figure 6 This is a schematic diagram of the structure of a data forwarding processing apparatus according to an embodiment of the present disclosure, as shown below. Figure 6 As shown, the data forwarding processing device includes a memory 610, a transceiver 620, and a processor 630. The memory 610 is used to store computer programs; the transceiver 620 is used to send and receive data under the control of the processor 630.
[0061] Processor 630 is used to read computer programs from memory and perform the following operations:
[0062] Obtain the encoded first service request packet sent by the service request network element. The header field of the first service request packet contains a first header field and a second header field. The first header field corresponds to the first network element address of the target service response network element, and the second header field corresponds to the second network element address of the next-hop service response network element.
[0063] Decode the first header field to obtain the first network element address, and determine the second network element address of the next-hop service response network element based on the first network element address;
[0064] Query the preset mapping table to determine whether it contains the second network element address encoding index value corresponding to the second network element address;
[0065] When the second network element address encoding index value is included, the initial field value of the second header field is updated to the second network element address encoding index value, and the updated first service request packet is forwarded to the next-hop service response network element corresponding to the second network element address.
[0066] Among them, Figure 6In this context, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits together, represented by one or more processors (represented by a processor) and memories (represented by memory). The bus architecture can also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides an interface. The transceiver 620 can be multiple elements, including transmitters and receivers, providing a unit for communicating with various other devices over transmission media, including wireless channels, wired channels, optical fibers, etc. The processor is responsible for managing the bus architecture and general processing, and the memory 610 can store data used by the processor 630 during operation.
[0067] The processor 630 can be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a complex programmable logic device (CPLD). The processor can also adopt a multi-core architecture.
[0068] In one embodiment of this disclosure, before decoding the first header field to obtain the first network element address, the processor is further configured to:
[0069] It is determined that the SCP network element is not the network element that first forwards the service request packet between the target service response network element and the network element that first forwards the service request.
[0070] In one embodiment of this disclosure, the processor is further configured to:
[0071] When determining that the SCP network element is the service request packet between the network element that first forwards the service request and the target service response network element, the first service request packet is decoded to obtain the decoded service request string.
[0072] Determine the address of the first network element corresponding to the first header field in the business request string;
[0073] The second network element address of the next-hop service response network element is determined based on the first network element address;
[0074] Update the initial field value corresponding to the second header field in the business request string to the second network element address;
[0075] Encode the updated business request string to obtain the encoded second business request packet;
[0076] The second service request packet is forwarded to the next-hop service response network element corresponding to the second network element address.
[0077] In one embodiment of this disclosure, after encoding the updated service request string to obtain the encoded second service request packet, the processor is further configured to:
[0078] Determine the second network element address encoding value corresponding to the second network element address based on the second service request packet;
[0079] The second network element address encoding index value is used to determine the second network element address encoding value.
[0080] The mapping table stores the correspondence between the second network element address and the second network element address encoding index value.
[0081] In one embodiment of this disclosure, the processor is configured to:
[0082] The second network element address code value is determined to be the second network element address code index value; or,
[0083] The second network element address encoding value is calculated based on the preset mapping algorithm to obtain the second network element address encoding index value.
[0084] In one embodiment of this disclosure, the processor is further configured to:
[0085] When the next-hop service response network element corresponding to the second network element address is the target service response network element, the service response data sent by the target service response network element is obtained;
[0086] The network element that made the service request sends back the service response data.
[0087] In one embodiment of this disclosure, the processor is further configured to:
[0088] When the second network element address code index value is included, query the pre-stored field position corresponding to the second header field;
[0089] Update the initial field value corresponding to the second header field to the second network element address encoding index value based on the field position.
[0090] It should be noted that the apparatus provided in this embodiment of the invention can implement all the method steps implemented in the above method embodiment and can achieve the same technical effect. Therefore, the parts and beneficial effects that are the same as those in the method embodiment will not be described in detail here.
[0091] To implement the above data forwarding processing method, this disclosure also proposes a data forwarding processing apparatus. The data forwarding processing apparatus is applied in a service proxy SCP network element. Figure 7This is a schematic diagram of the structure of a data forwarding processing apparatus according to another embodiment of the present disclosure, as shown below. Figure 7 As shown, the device includes: an acquisition module 710, a determination module 720, a query module 730, and an update processing module 740, wherein...
[0092] The acquisition module 710 is used to acquire the encoded first service request packet sent by the service request network element. The header field of the first service request packet includes a first header field and a second header field. The first header field corresponds to the first network element address of the target service response network element, and the second header field corresponds to the second network element address of the next-hop service response network element.
[0093] The determination module 720 is used to decode the first header field to obtain the first network element address, and determine the second network element address of the next-hop service response network element based on the first network element address;
[0094] The query module 730 is used to query a preset mapping table to determine whether it contains the second network element address encoding index value corresponding to the second network element address.
[0095] The update processing module 740 is used to update the initial field value of the second header field to the second network element address encoding index value when the second network element address encoding index value is included, and to forward the updated first service request packet to the next-hop service response network element corresponding to the second network element address.
[0096] In one embodiment of this disclosure, a scenario determination module is further included, used before decoding the first header field to obtain the first network element address:
[0097] It is determined that the SCP network element is not the network element that first forwards the service request packet between the target service response network element and the network element that first forwards the service request.
[0098] In one embodiment of this disclosure, a data forwarding processing module is further included, configured to:
[0099] When determining that the SCP network element is the service request packet between the network element that first forwards the service request and the target service response network element, the first service request packet is decoded to obtain the decoded service request string.
[0100] Determine the address of the first network element corresponding to the first header field in the business request string;
[0101] The second network element address of the next-hop service response network element is determined based on the first network element address;
[0102] Update the initial field value corresponding to the second header field in the business request string to the second network element address;
[0103] Encode the updated business request string to obtain the encoded second business request packet;
[0104] The second service request packet is forwarded to the next-hop service response network element corresponding to the second network element address.
[0105] In one embodiment of this disclosure, the data forwarding processing module is further configured to:
[0106] Determine the second network element address encoding value corresponding to the second network element address based on the second service request packet;
[0107] The second network element address encoding index value is used to determine the second network element address encoding value.
[0108] The mapping table stores the correspondence between the second network element address and the second network element address encoding index value.
[0109] In one embodiment of this disclosure, the data forwarding processing module is further configured to:
[0110] The second network element address code value is determined to be the second network element address code index value; or,
[0111] The second network element address encoding value is calculated based on the preset mapping algorithm to obtain the second network element address encoding index value.
[0112] In one embodiment of this disclosure, it further includes: a response processing module, configured to:
[0113] When the next-hop service response network element corresponding to the second network element address is the target service response network element, the service response data sent by the target service response network element is obtained;
[0114] The network element that made the service request sends back the service response data.
[0115] In one embodiment of this disclosure, the update processing module 740 is specifically used for:
[0116] When the second network element address code index value is included, query the pre-stored field position corresponding to the second header field;
[0117] Update the initial field value corresponding to the second header field to the second network element address encoding index value based on the field position.
[0118] It should be noted that the division of units in the embodiments of this disclosure is illustrative and only represents one logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units.
[0119] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a processor-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the data forwarding processing methods of the various embodiments of this disclosure.
[0120] It should be noted that the apparatus provided in this embodiment can implement all the data forwarding processing method steps implemented in the above method embodiment and can achieve the same technical effect. Therefore, the parts and beneficial effects that are the same as those in the method embodiment will not be described in detail here.
[0121] This disclosure also provides a processor-readable storage medium storing a program for causing the processor to execute the aforementioned data forwarding processing method. The processor-readable storage medium can be any available medium or data storage device accessible to the processor, including but not limited to magnetic storage (e.g., floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO), etc.), optical storage (e.g., CDs, DVDs, BDs, HVDs, etc.), and semiconductor storage (e.g., ROMs, EPROMs, EEPROMs, non-volatile memory (NAND flash), solid-state drives (SSDs)).
[0122] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, apparatus, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.
[0123] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus, and computer program products according to embodiments of this disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-executable instructions. These computer-executable instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0124] These processor-executable instructions may also be stored in a processor-readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the processor-readable memory produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0125] Obviously, those skilled in the art can make various modifications and variations to this disclosure without departing from its spirit and scope. Therefore, if such modifications and variations fall within the scope of the claims of this disclosure and their equivalents, this disclosure is also intended to include such modifications and variations.
Claims
1. A data forwarding processing method, characterized in that, The method is applied to the Service Proxy SCP network element and includes the following steps: Obtain the encoded first service request packet sent by the service request network element, wherein the header field of the first service request packet includes a first header field and a second header field, the first header field corresponds to the first network element address of the target service response network element, and the second header field corresponds to the second network element address of the next-hop service response network element; Decode the first header field to obtain the first network element address, and determine the second network element address of the next-hop service response network element based on the first network element address; Query the preset mapping table to determine whether it contains the second network element address encoding index value corresponding to the second network element address; When the second network element address encoding index value is included, the initial field value of the second header field is updated to the second network element address encoding index value, and the updated first service request packet is forwarded to the next-hop service response network element corresponding to the second network element address.
2. The method as described in claim 1, characterized in that, Before decoding the first header field to obtain the first network element address, the method further includes: It is determined that the SCP network element is not the first to forward the service request packet between the service request network element and the target service response network element.
3. The method as described in claim 2, characterized in that, Also includes: When it is determined that the SCP network element is the first to forward the service request packet between the service request network element and the target service response network element, the first service request packet is decoded to obtain the decoded service request string; Determine the address of the first network element corresponding to the first header field in the service request string; The second network element address of the next-hop service response network element is determined based on the first network element address; Update the initial field value corresponding to the second header field in the service request string to the second network element address; Encode the updated business request string to obtain the encoded second business request packet; The second service request packet is forwarded to the next-hop service response network element corresponding to the second network element address.
4. The method as described in claim 3, characterized in that, After encoding the updated business request string to obtain the encoded second business request packet, the method further includes: The second network element address encoding value corresponding to the second network element address is determined based on the second service request packet; The second network element address encoding index value is used to determine the second network element address encoding value; The preset mapping table stores the correspondence between the second network element address and the second network element address encoding index value.
5. The method as described in claim 4, characterized in that, The second network element address encoding index value used to determine the second network element address encoding value includes: The second network element address code value is determined to be the second network element address code index value; or, The second network element address encoding value is calculated according to a preset mapping algorithm to obtain the second network element address encoding index value.
6. The method as described in claim 1, characterized in that, Also includes: When the next-hop service response network element corresponding to the second network element address is the target service response network element, the service response data sent by the target service response network element is obtained; The service response data is fed back to the network element that made the service request.
7. The method according to any one of claims 1-6, characterized in that, The step of updating the initial field value of the second header field to the second network element address encoding index value when the second network element address encoding index value is included includes: When the second network element address code index value is included, query the pre-stored field position corresponding to the second header field; The initial field value corresponding to the second header field is updated to the second network element address encoding index value according to the field position.
8. The method according to any one of claims 1-6, characterized in that, The next-hop service response network element corresponding to the second network element address includes: SCP network element, or the target service response network element, or other service network elements in the core network.
9. A data forwarding processing device, characterized in that, The device is used in SCP network elements of the service proxy, including memory, transceiver, and processor: The memory is used to store computer programs; the transceiver is used to send and receive data under the control of the processor. Processor, configured to read the computer program in the memory and perform the following operations: Obtain the encoded first service request packet sent by the service request network element, wherein the header field of the first service request packet includes a first header field and a second header field, the first header field corresponds to the first network element address of the target service response network element, and the second header field corresponds to the second network element address of the next-hop service response network element; Decode the first header field to obtain the first network element address, and determine the second network element address of the next-hop service response network element based on the first network element address; Query the preset mapping table to determine whether it contains the second network element address encoding index value corresponding to the second network element address; When the second network element address encoding index value is included, the initial field value of the second header field is updated to the second network element address encoding index value, and the updated first service request packet is forwarded to the next-hop service response network element corresponding to the second network element address.
10. The apparatus as claimed in claim 9, characterized in that, Before decoding the first header field to obtain the first network element address, the processor is further configured to: It is determined that the SCP network element is not the first to forward the service request packet between the service request network element and the target service response network element.
11. The apparatus as claimed in claim 10, characterized in that, The processor is also used for: When it is determined that the SCP network element is the first to forward the service request packet between the service request network element and the target service response network element, the first service request packet is decoded to obtain the decoded service request string; Determine the address of the first network element corresponding to the first header field in the service request string; The second network element address of the next-hop service response network element is determined based on the first network element address; Update the initial field value corresponding to the second header field in the service request string to the second network element address; Encode the updated business request string to obtain the encoded second business request packet; The second service request packet is forwarded to the next-hop service response network element corresponding to the second network element address.
12. The apparatus as claimed in claim 11, characterized in that, After encoding the updated service request string to obtain the encoded second service request packet, the processor is further configured to: The second network element address encoding value corresponding to the second network element address is determined based on the second service request packet; The second network element address encoding index value is used to determine the second network element address encoding value; The preset mapping table stores the correspondence between the second network element address and the second network element address encoding index value.
13. The apparatus as claimed in claim 12, characterized in that, The processor is used for: The second network element address code value is determined to be the second network element address code index value; or, The second network element address encoding value is calculated according to a preset mapping algorithm to obtain the second network element address encoding index value.
14. The apparatus as claimed in claim 9, characterized in that, The processor is also used for: When the next-hop service response network element corresponding to the second network element address is the target service response network element, the service response data sent by the target service response network element is obtained; The service response data is fed back to the network element that made the service request.
15. The apparatus as described in any one of claims 9-14, characterized in that, The processor is also used for: When the second network element address code index value is included, query the pre-stored field position corresponding to the second header field; The initial field value corresponding to the second header field is updated to the second network element address encoding index value according to the field position.
16. A data forwarding processing apparatus, characterized in that, The device is used in a service proxy SCP network element, including: The acquisition module is used to acquire the encoded first service request packet sent by the service request network element. The header field of the first service request packet includes a first header field and a second header field. The first header field corresponds to the first network element address of the target service response network element, and the second header field corresponds to the second network element address of the next-hop service response network element. The determination module is used to decode the first header field to obtain the first network element address, and determine the second network element address of the next-hop service response network element based on the first network element address; The query module is used to query a preset mapping table to determine whether it contains the second network element address encoding index value corresponding to the second network element address; The update processing module is used to update the initial field value of the second header field to the second network element address encoding index value when the second network element address encoding index value is included, and to forward the updated first service request packet to the next-hop service response network element corresponding to the second network element address.
17. A processor-readable storage medium, characterized in that, The processor-readable storage medium stores a program for causing the processor to execute the data forwarding processing method according to any one of claims 1 to 8.