Service invocation request transmission method, device, storage medium and program product

By segmenting and transmitting service call requests along multiple paths in a serverless architecture, the problem of slow service call request transmission speed is solved, achieving faster data transmission and higher efficiency.

CN120128592BActive Publication Date: 2025-11-25PURPLE MOUNTAIN LAB
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510312151.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-17
Publication Date
2025-11-25
Estimated Expiration
2045-03-17

AI Technical Summary

Technical Problem

In a serverless architecture, the transmission speed of service call requests is slow, which cannot meet the requirements of high concurrency and real-time response.

Method used

The service caller segments the initial service call request, generating first data and second data, and transmits them through different paths. This avoids forwarding all service request data through the internal gateway module, thus reducing the amount of data forwarded.

Benefits of technology

It speeds up the transmission of service request data, improves transmission efficiency and flexibility, and reduces reliance on internal gateway modules.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120128592B_ABST
    Figure CN120128592B_ABST
Patent Text Reader

Abstract

The application relates to a service call request transmission method and device, a storage medium and a program product. The method comprises the following steps: segmenting an initial service call request by a node where a service calling party is located to obtain first data and second data, transmitting the first data to a node where a service provider is located, storing the second data, receiving a transmission signal including a first identifier of the service provider sent by the node where the service provider is located, and transmitting the second data to the node where the service provider is located in response to the transmission signal. The node where the service provider is located acquires the first data and the second data, and sequentially sends the first data and the second data to the service provider. In the embodiment of the application, two parts of service request data are transmitted through different paths, so that all service request data is prevented from being forwarded through an internal gateway module, the amount of data forwarded to the internal gateway module is reduced, and the transmission speed of the service request data can be accelerated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of serverless architecture technology, and in particular to a service call request transmission method, device, storage medium and program product. Background Technology

[0002] With the rapid development of cloud computing technology, enterprises are increasingly demanding faster response to business needs, reduced operating costs, and improved system scalability. Traditional multi-tier enterprise application system architectures are gradually failing to meet these rapidly changing requirements, especially in scenarios involving high concurrency, big data processing, and real-time response. Against this backdrop, serverless architecture, as an emerging cloud computing architecture model, has received widespread attention.

[0003] Currently, in a serverless architecture, internal service call requests are first forwarded by the service caller to the internal gateway module. If an available service instance exists, the internal gateway module selects one and forwards the entire service call request to it. If no available service instance exists, the internal gateway module forwards the service call request to the Activator module. Upon receiving the service call request, the Activator sends a cold start signal to the AutoScaler and waits for the service instance to start. Once the Activator detects a successful cold start, it forwards the service call request to the newly started service instance, thus enabling the transmission of the service call request.

[0004] However, the service call request forwarding process described above is relatively slow. Summary of the Invention

[0005] Therefore, it is necessary to provide a service call request transmission method, device, storage medium, and program product that can accelerate the transmission speed of service call requests, addressing the aforementioned technical problems.

[0006] Firstly, this application provides a service invocation request transmission method, applied to the node where the service invocation party resides. The method includes:

[0007] The initial service call request is segmented to obtain first data and second data; the first data includes a portion of the data in the initial service call request, and the second data includes another portion of the data in the initial service call request.

[0008] Transmit the first data to the node where the service provider is located, so as to send the first data to the service provider through the node where the service provider is located;

[0009] The second data is stored, and a transmission signal is received; the transmission signal includes the first identifier of the service provider.

[0010] In response to the transmission signal, second data is transmitted to the node where the service provider is located, so as to send the second data to the service provider through the node where the service provider is located; wherein, the node where the service provider is located is the node where the service provider corresponding to the first identifier is located.

[0011] Secondly, this application also provides a service invocation request transmission method, applied to the node where the service provider resides. The method includes:

[0012] Acquire first data and send a transmission signal to the node where the service caller is located; the first data includes a portion of data obtained by the node where the service caller is located by segmenting the initial service call request, and the transmission signal includes a first identifier of the service provider, and the transmission signal is used to trigger the node where the service provider is located to transmit the stored second data;

[0013] The system receives the second data and sends the first data and the second data to the service provider; the second data includes another part of the data obtained by the node where the service caller is located from the initial service call request.

[0014] In one embodiment, before sending the first data and the second data to the service provider, the method further includes:

[0015] Delete the additional data in the first data and restore the first data after it has been modified according to the preset modification strategy, so as to restore the semantic information corresponding to that part of the data in the initial service call request.

[0016] In one embodiment, when there are multiple data blocks for both the first data and the second data, receiving the second data and sending the first data and the second data to the service provider includes:

[0017] The restored data blocks of the first data are sent sequentially to the service provider. The service provider receives data blocks of the target data sent from the node where the service caller corresponding to the third identifier is located, and stores the received data blocks of the target data sequentially in the second storage module of the node where the service provider is located. The target data includes the second data, or the target data includes the second data and the third data. The data blocks of the third data include the data blocks of another part of the data in the initial service call request that were not stored in the first storage module.

[0018] Having already sent all data blocks of the first data to the service provider, the data blocks of the target data stored in the second storage module are then sent to the service provider sequentially.

[0019] In one embodiment, the method further includes:

[0020] During the process of storing the received target data blocks into the second storage module in sequence, if it is determined that the transmission process of the data blocks in the second storage module meets the second preset condition, the received target data blocks that have not been stored in the second storage module are directly sent to the service provider.

[0021] In one embodiment, the second preset condition includes: all data blocks of the target data stored in the second storage module are sent to the service provider.

[0022] Thirdly, this application also provides a computer device, including a memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the steps of any of the above methods.

[0023] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any of the above methods.

[0024] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above methods.

[0025] The aforementioned service call request transmission method, device, storage medium, and program product segment the initial service call request through the node where the service caller is located to obtain first data and second data. The first data is then transmitted to the node where the service provider is located, thus sending the first data to the service provider through the service provider's node. The second data is stored, and a transmission signal including the service provider's first identifier sent by the service provider's node is received. In response to the transmission signal, the second data is transmitted to the service provider's node. The service provider's node obtains the first and second data and then sends them sequentially to the service provider. Because the two parts of the service request data are transmitted through different paths in this embodiment, forwarding all service request data through the internal gateway module is avoided, reducing the amount of data forwarded to the internal gateway module and accelerating the transmission speed of the service request data. Attached Figure Description

[0026] Figure 1 This is an internal structure diagram of a computer device provided in an embodiment of this application;

[0027] Figure 2 This is a flowchart illustrating a service invocation request transmission method provided in an embodiment of this application;

[0028] Figure 3 This is a schematic diagram of a service invocation request transmission method provided in an embodiment of this application;

[0029] Figure 4 This is a flowchart illustrating another service invocation request transmission method provided in an embodiment of this application;

[0030] Figure 5 This is a flowchart illustrating a data transmission method provided in an embodiment of this application;

[0031] Figure 6 This is a flowchart illustrating a method for transmitting service call requests within a serverless cluster, as provided in an embodiment of this application.

[0032] Figure 7 This is a schematic diagram of a service call request data segmentation and transmission method provided in an embodiment of this application. Detailed Implementation

[0033] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0034] The service invocation request transmission method provided in this application embodiment can be applied to, for example, Figure 1 The application environment shown. Figure 1 This is an internal structural diagram of a computer device provided in an embodiment of this application. The internal structural diagram can be as follows: Figure 1 As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements a service request transmission method.

[0035] Those skilled in the art will understand that Figure 1The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0036] In one embodiment, such as Figure 2 As shown, Figure 2 This is a flowchart illustrating a service invocation request transmission method provided in an embodiment of this application. This method can be applied to... Figure 1 The method, using a computer device, includes the following steps:

[0037] S201, the initial service call request is segmented to obtain the first data and the second data.

[0038] The first data includes a portion of the data from the initial service call request, and the second data includes another portion of the data from the initial service call request.

[0039] In one embodiment, the data blocks of the initial service call request can be divided by the node where the service caller is located according to a preset segmentation strategy to obtain the data blocks of the first data and the data blocks of the second data.

[0040] For example, the initial service call request can be segmented according to the following preset segmentation strategy: Set a preset number of bytes (let the preset number of bytes be N) according to the requirements. If the number of bytes in the initial service call request is greater than N, then the initial service call request is segmented according to the preset number of bytes. The first N bytes of data in the initial service call request are taken as the first data, and the other data besides the first data are taken as the second data. If the number of bytes in the initial service call request is not greater than N, then the initial service call request is taken as the first data.

[0041] It should be noted that the above-mentioned segmentation of the initial service call request based on the preset number of bytes is only one possible implementation method, and it is not limited to segmenting the initial service call request based on the preset number of bytes. In practical applications, an appropriate preset segmentation strategy can be selected to segment the initial service call request according to the requirements.

[0042] Optionally, after the node where the service caller is located receives the initial service call request and completes the segmentation of the initial service call request, it is also necessary to determine the preset modification strategy corresponding to the application layer protocol, and then modify the first data according to the preset modification strategy.

[0043] Furthermore, after segmenting the initial service call request to obtain the first data, the first data can be modified by inserting additional data into it to obtain new first data. This additional data includes a second identifier of the initial service call request and a third identifier of the node where the service caller resides. The second identifier is a unique identifier for the initial service request, and the third identifier is the identifier of the node where the service caller resides. The node where the service provider resides sends a transmission signal to the node where the service caller resides by interpreting the meaning of the third identifier. In other words, the node where the service provider resides can send a transmission signal to the node where the service caller resides, as indicated by the third identifier.

[0044] S202, transmit the first data to the node where the service provider is located, so as to send the first data to the service provider through the node where the service provider is located.

[0045] In one embodiment, after the initial service call request is segmented and the first data is modified, the modified first data will still be transmitted to the node where the service provider is located along the original path, so that the first data can be sent to the service provider through the node where the service provider is located. The second data does not need to be forwarded to the internal gateway module and can be directly transmitted to the node where the service provider is located.

[0046] Optionally, the modified first data will still be transmitted to the service provider's node along the original path, including: after obtaining the first data from the service caller's node through the internal gateway module, the internal gateway module can detect whether there is an available service provider container in the serverless cluster. If there is an available service provider container in the serverless cluster, the internal gateway module directly forwards the first data to the service provider's node corresponding to the available service provider container; if there is no available service provider container in the serverless cluster, the internal gateway forwards the first data to the Activator module. After receiving the first data, the Activator module sends a cold start signal to the AutoScaler module and then waits for the service provider container to successfully start cold. When the AutoScaler module detects that the service provider container has successfully started cold, it forwards the first data to the service provider's node corresponding to the service provider container that has just successfully started cold.

[0047] S203, store the second data and receive the transmission signal.

[0048] The transmitted signal includes the first identifier of the service provider.

[0049] In one embodiment, the node where the service provider corresponding to the first identifier is located can sequentially obtain data blocks of the first data from the internal gateway module, and send a transmission signal to the node where the service caller is located when it starts obtaining data blocks of the first data.

[0050] In this embodiment of the application, after the initial service call request is segmented to obtain the first data and the second data, the node where the service provider is located can obtain the first data through the internal gateway module. At this time, the node where the service caller is located has not received the transmission signal. Therefore, the data blocks of the second data can be temporarily stored in the first storage module of the node where the service caller is located and the transmission signal can be received. The data blocks of the second data are then transmitted to the node where the service provider is located after the transmission signal is received.

[0051] S204, in response to the transmission signal, transmit the second data to the node where the service provider is located, so as to send the second data to the service provider through the node where the service provider is located.

[0052] Among them, the node where the service provider is located is the node where the first identifier corresponds to the service provider.

[0053] In this embodiment, since a portion of the data in the other part of the initial service call request, namely the data block of the second data, has already been stored in the first storage module before the service caller's node receives the transmission signal, after the service caller's node receives the transmission signal, the data block of the second data stored in the first storage module can be sent sequentially to the service provider's node until the first preset condition is met, at which point the storage of data in the first storage module is stopped, and the data block of the third data in the other part of the initial service call request that has not been stored in the first storage module is sent sequentially to the service provider's node through the service caller's node.

[0054] The first preset condition indicates that all data blocks of the second data stored in the first storage module have been sent to the node where the service provider is located.

[0055] For example, the data blocks of the second data can be numbered, and then stored sequentially in the first storage module according to the numbers. The first number of data blocks of the second data sent by the service caller's node is recorded. After the service caller's node receives the transmission signal, it can respond to the signal by first sending the data blocks of the second data stored in the first storage module sequentially to the service provider's node according to their numbers, until the number of the last data block sent to the service provider's node equals the first number. This is considered to satisfy the first preset condition. At this point, storing data blocks in the first storage module can be stopped, and the data blocks of the third data not yet stored in the first storage module can be directly sent sequentially to the service provider's node. If, when the first preset condition is satisfied, another part of the data in the initial service call request has already been sent to the service provider's node, then the aforementioned third data does not exist.

[0056] It should be noted that before the first preset condition is met, the node where the service caller is located still needs to store the data blocks of the second data into the first storage module, and will stop storing the data blocks of the second data into the first storage module only when the first preset condition is met.

[0057] In one embodiment, the node where the service provider is located can receive the first data and the second data, and then send the received data to the service provider in the initial order of the initial service call request.

[0058] In this embodiment, the initial service request is segmented by the node where the service caller resides to obtain first data and second data. The first data is then transmitted to the node where the service provider resides, thus sending the first data to the service provider through the service provider's node. The second data is stored, and a transmission signal including the service provider's first identifier is received from the service provider's node. In response to the transmission signal, the second data is transmitted to the service provider's node. The service provider's node obtains the first and second data and then sends them sequentially to the service provider. Because this embodiment transmits the two parts of the service request data through different paths, it avoids forwarding all service request data through the internal gateway module, reducing the amount of data forwarded to the internal gateway module and accelerating the transmission speed of the service request data.

[0059] To provide a clearer description of the embodiments of this application, the following is combined with... Figure 3 Provided as an example, Figure 3 This is a schematic diagram of a service invocation request transmission method provided in an embodiment of this application. For example... Figure 3As shown, the node where the service caller resides can obtain the initial service call request, and then segment and modify the initial service call request (modification means modifying the first data according to a preset modification strategy and inserting additional data into the first data; besides the service caller node, the first data can also be modified in the internal gateway module) to obtain data blocks of the first data and data blocks of the second data. Then, the data blocks of the second data are sequentially stored in the first storage module of the service caller node. The internal gateway module can sequentially obtain the data blocks of the first data from the service caller node. After obtaining the first data, the internal gateway module can modify the first data and send a transmission signal to the service caller node (it can also send a transmission signal from the service provider node to the service caller node). The service provider node can sequentially obtain the data blocks of the first data from the internal gateway module or the Activator module, and simultaneously send a transmission signal to the service caller node. After obtaining the first data, the service provider node can also perform semantic modification on the first data to restore the semantic information of the first data in the initial service call request. After receiving the transmission signal, the node where the service caller is located can respond to the transmission signal by sending data blocks of the second data stored in the first storage module to the node where the service provider is located until a first preset condition is met. At this point, the storage of data blocks of the second data in the first storage module stops, and the node where the service caller is located sends data blocks of the third data not stored in the first storage module to the node where the service provider is located sequentially. Furthermore, the node where the service provider is located can send the restored data blocks of the first data to the service provider sequentially. Before all data blocks of the first data are sent to the service provider, the node where the service provider is located can receive data blocks of the target data and begin storing the received target data blocks in the second storage module of the node where the service provider is located. Once all data blocks of the first data have been sent to the service provider, the node can begin sending data blocks of the target data stored in the second storage module to the service provider until a second preset condition is met. At this point, the storage of received target data blocks in the second storage module stops, and the received target data blocks not stored in the second storage module are directly sent to the service caller. The target data includes the second data, or the target data includes both the second and third data.

[0060] Based on the above embodiments, S201 includes the following steps:

[0061] Obtain the data block of the initial service call request, and divide the data block of the initial service call request according to the preset segmentation strategy to obtain at least one data block of the first data and at least one data block of the second data.

[0062] For example, the data blocks of the initial service call request can be divided according to the following preset segmentation strategy: Set a preset number of bytes according to the requirements (let the preset number of bytes be N). If the number of bytes in the initial service call request is greater than N, then the initial service call request is divided according to the preset number of bytes. The data block of the first N bytes in the initial service call request is taken as the data block of the first data, and the other data blocks are taken as the data blocks of the second data. If the number of bytes in the initial service call request is not greater than N, then the initial service call request is taken as the first data.

[0063] It should be noted that the above-mentioned segmentation of the initial service call request based on the preset number of bytes is only one possible implementation method, and it is not limited to segmenting the initial service call request based on the preset number of bytes. In practical applications, an appropriate preset segmentation strategy can be selected to segment the initial service call request according to the requirements.

[0064] In this embodiment, the data blocks of the initial service call request are obtained and segmented according to a preset segmentation strategy to obtain at least one data block of the first data and at least one data block of the second data. This allows the two parts of the service request data to be transmitted through different paths, thereby avoiding forwarding all service request data through the internal gateway module, reducing the amount of data forwarded to the internal gateway module, and speeding up the transmission speed of service request data. Furthermore, instead of directly segmenting the initial service call request, the data blocks of the initial service call request are segmented, which improves the accuracy and precision of data segmentation.

[0065] Based on the above embodiments, before transmitting the first data to the node where the service provider is located, the method further includes the following steps:

[0066] The first data is modified according to the preset modification strategy, and additional data is inserted into the first data; the additional data includes the second identifier of the initial service call request and the third identifier of the node where the service caller is located.

[0067] The second identifier is the unique identifier of the initial service request, and the third identifier is the unique identifier of the node where the service caller is located.

[0068] Optionally, after the node where the service caller is located receives the initial service call request and completes the segmentation of the initial service call request, it is also necessary to determine the preset modification strategy corresponding to the application layer protocol, and then modify the first data according to the preset modification strategy.

[0069] In one possible implementation, the initial service call request can be obtained from the node where the service caller is located, the initial service call request can be modified, additional data can be inserted into the initial service call request, and then the data blocks of the initial service call request with the inserted additional data can be divided to obtain the data blocks of the first data and the data blocks of the second data.

[0070] In another possible implementation, the initial service call request can be obtained from the node where the service caller is located, the data blocks of the initial service call request can be divided to obtain the data blocks of the first data and the data blocks of the second data, the first data can be modified, and additional data can be inserted into the first data.

[0071] In another possible implementation, the initial service call request can be obtained from the node where the service caller resides. The data blocks of the initial service call request are then segmented to obtain a first data block and a second data block. The first data block is then transmitted to the internal gateway module. After the internal gateway module obtains the first data, it can modify the initial service call request and insert additional data into the first data.

[0072] In other possible implementations, the initial service call request can be obtained from the node where the service caller resides. The data blocks of the initial service call request can be segmented to obtain a first data block and a second data block. The first data block is then transmitted to the internal gateway module. Before the internal gateway module obtains the first data, the initial service call request can be modified by software or hardware modules or devices (such as switches, routers, etc.) along the data transmission path between the service caller node and the internal gateway module, and additional data can be inserted into the first data.

[0073] In this embodiment, the first data is modified according to a preset modification strategy, and additional data is inserted into the first data. The initial service request is uniquely identified by the second identifier in the additional data, and the node where the service caller is located is uniquely identified by the third identifier. Thus, the second data corresponding to the first data can be determined based on the additional data (the second data corresponding to the first data is the second data obtained from the same initial service call request and the same service caller as the first data), thereby improving the accuracy of the data sent to the service provider.

[0074] Based on the above embodiments, after receiving the transmission signal through the node where the service caller is located, the above-mentioned S204 can be implemented in the following way:

[0075] In response to the transmission signal, data blocks of the second data stored in the first storage module are sequentially sent to the node where the service provider corresponding to the first identifier is located. During the process of sequentially storing the data blocks of the second data into the first storage module, if it is determined that the transmission progress of the data blocks in the first storage module meets a first preset condition, then the data blocks of the third data are sequentially sent to the node where the service provider is located. The data blocks of the third data include data blocks from another portion of the data in the initial service call request that were not stored in the first storage module.

[0076] In this embodiment, since a portion of the data in the initial service call request, namely the data block of the second data, has already been stored in the first storage module before the service caller's node receives the transmission signal, after the service caller's node receives the transmission signal, the data block of the second data stored in the first storage module can be sent sequentially to the service provider's node until the first preset condition is met, at which point the storage of the data block of the second data is stopped, and the data block of the third data that has not been stored in the first storage module is sent sequentially to the service provider's node through the service caller's node.

[0077] For example, the data blocks of another part of the data in the initial service call request can be numbered, and then the data blocks of the second data can be stored in the first storage module in sequence according to the number, and the number of data blocks of the second data sent by the service caller node can be recorded. After the service caller node receives the transmission signal, in response to the transmission signal, it can first send the data blocks of the second data stored in the first storage module in sequence according to the number to the service provider node, until the number of the last data block sent to the service provider node is equal to the number of data blocks of the second data sent by the service caller node. This is determined to satisfy the first preset condition. At this time, the storage of data blocks of the second data in the first storage module can be stopped, and the data blocks of the third data that have not been stored in the first storage module can be sent in sequence to the service provider node through the service caller node.

[0078] It should be noted that before the first preset condition is met, the node where the service caller is located still needs to store the data blocks of the second data into the first storage module, and will stop storing the data blocks of the second data into the first storage module only when the first preset condition is met.

[0079] In this embodiment of the application, in response to the transmission signal, the data blocks of the second data stored in the first storage module are sequentially sent to the node where the service provider corresponding to the first identifier is located. During the process of sequentially storing the data blocks of the second data into the first storage module, if it is determined that the transmission process of the data blocks in the first storage module meets the first preset condition, the data blocks of the third data are sequentially sent to the node where the service provider is located. This allows the data blocks of the second data to be temporarily stored in the first storage module, thereby improving the transmission speed of the second and third data and increasing the flexibility of service call request transmission.

[0080] In one embodiment, such as Figure 4 As shown, Figure 4 This is a flowchart illustrating another service invocation request transmission method provided in an embodiment of this application. This method can be applied to... Figure 1 The method, using a computer device, includes the following steps:

[0081] S401: Obtain the first data and send a transmission signal to the node where the service caller is located.

[0082] The first data includes a portion of the data obtained by segmenting the initial service call request by the node where the service caller is located, and the transmission signal includes the first identifier of the service provider. The transmission signal is used to trigger the node where the service provider is located to transmit the stored second data.

[0083] In one embodiment, after segmenting the initial service call request and modifying the first data, the modified first data will still be transmitted along the original path: After obtaining the first data of the node where the service caller is located through the internal gateway module, the internal gateway module can detect whether there is an available service provider container in the serverless cluster. If there is an available service provider container in the serverless cluster, the internal gateway module directly forwards the first data to the node where the service provider is located corresponding to the available service provider container; if there is no available service provider container in the serverless cluster, the internal gateway forwards the first data to the Activator module. After receiving the first data, the Activator module sends a cold start signal to the AutoScaler module, and then waits for the service provider container to successfully start cold. When the AutoScaler module detects that the service provider container has successfully started cold, it forwards the first data to the node where the service provider is located corresponding to the service provider container that has just successfully started cold.

[0084] In one embodiment, after obtaining the first data of the node where the service caller is located through the internal gateway module, if there is an available service provider container in the serverless cluster, the node where the service provider is located can directly obtain the first data from the internal gateway module.

[0085] Alternatively, the node where the service provider is located can also obtain the first data from the Activator module, as well as other system service modules.

[0086] In this embodiment, the node where the service provider is located can sequentially obtain data blocks of the first data from the internal gateway module, and send a transmission signal to the node where the service caller is located when it begins obtaining data blocks of the first data. After the node where the service provider is located obtains the first data, it can delete the additional data in the first data and restore the first data modified according to the preset modification strategy to restore the semantic information corresponding to the original first data in the initial service call request.

[0087] Optionally, since the node where the service provider is located can also obtain the first data from the Activator module and other system service modules in addition to the internal gateway module, it can also send transmission signals to the node where the service caller is located through any system service module including the internal gateway module and the Activator module, as well as any software or hardware module or device on the transmission path of the first data.

[0088] S402, Receive the second data, and send the first data and the second data to the service provider.

[0089] The second data includes another portion of data obtained by segmenting the initial service call request on the node where the service caller is located.

[0090] In one embodiment, the node where the service provider resides can restore the received first data and then sequentially send the restored first data blocks to the service provider. Since the first data blocks are sent sequentially from the node where the service provider resides to the service provider, to ensure that the first and second data are sent to the service provider corresponding to the second identifier in the initial order, before all the first data blocks are sent to the service provider, the received second data blocks can be stored in the second storage module of the node where the service provider resides. This continues until all the first data blocks are sent to the service provider. At this point, the second data blocks stored in the second storage module can be sequentially sent to the service provider until a second preset condition is met. At this point, the storage of second data blocks in the second storage module stops, and the second data blocks received through the node where the service provider resides but not yet stored in the second storage module are directly sent to the service caller. The second preset condition indicates that all the second data blocks stored in the second storage module have been sent to the service caller.

[0091] Optionally, if third data exists, before all data blocks of the first data are sent to the service provider, the received data blocks of the second and third data can be stored in the second storage module of the node where the service provider is located. This continues until all data blocks of the first data are sent to the service provider. At this point, the data blocks of the second and third data stored in the second storage module can be sent to the service provider sequentially until a second preset condition is met. At this point, the storage of data blocks of the second and third data in the second storage module stops, and the data blocks of the second and third data not yet stored in the second storage module received through the node where the service provider is located are directly sent to the service caller. The second preset condition indicates that all data blocks of the second and third data stored in the second storage module have been sent to the service caller.

[0092] In this embodiment, first data is acquired, and a transmission signal is sent to the node where the service caller is located, triggering the service provider's node to transmit stored second data. Then, the second data is received, and the first and second data are sent to the service provider. Because this embodiment transmits the two parts of the service request data through different paths, it avoids forwarding all service request data through the internal gateway module, reducing the amount of data forwarded to the internal gateway module and accelerating the transmission speed of the service request data.

[0093] Based on the above embodiments, before sending the first data and the second data to the service provider, the method further includes the following steps:

[0094] Delete the additional data in the first data and restore the first data after it has been modified according to the preset modification strategy, so as to restore the semantic information corresponding to a part of the data in the initial service call request.

[0095] In one embodiment, different modification strategies can be adopted to semantically modify the first data according to different application layer protocols. The purpose of semantically modifying the first data is to delete additional data in the first data and restore the first data modified according to the preset modification strategy, so that the semantic information of the first data is the same as the semantic information of the original first data in the aforementioned initial service call request.

[0096] In this embodiment, additional data in the first data is deleted, and the first data modified according to the preset modification strategy is restored to restore the semantic information corresponding to a portion of the data in the initial service call request. This enables the restoration of the semantic information corresponding to the original first data in the initial service call request, thereby improving the accuracy of the data sent to the service provider.

[0097] Reference Figure 5 , Figure 5This is a flowchart illustrating a data transmission method provided in an embodiment of this application. This embodiment relates to a possible implementation of how to receive second data and send the first and second data to a service provider. Based on the above embodiment, S402 includes the following steps:

[0098] S501, the data blocks of the restored first data are sent to the service provider in sequence, the data blocks of the target data sent from the node where the service caller is located corresponding to the third identifier are received, and the data blocks of the received target data are stored in the second storage module of the node where the service provider is located in sequence.

[0099] The target data includes the second data, or the target data includes the second data and the third data; the data blocks of the third data include the data blocks in another part of the initial service call request that were not stored in the first storage module.

[0100] Optionally, if another part of the data in the initial service call request has been completely stored in the first storage module before the node where the service caller is located receives the transmission signal, then the target data includes the second data; or, if after the node where the service caller is located receives the transmission signal, the other part of the data in the initial service call request has not been completely stored in the first storage module, but the transmission process of the data blocks in the first storage module meets the first preset condition, and the other part of the data in the initial service call request has been completely sent to the node where the service provider is located, then the target data includes the second data; or, if after the node where the service caller is located receives the transmission signal, the other part of the data in the initial service call request has not been completely stored in the first storage module, and under the condition that the transmission process of the data blocks in the first storage module meets the first preset condition, a portion of the other part of the data in the initial service call request is still not stored in the first storage module, then the target data includes the second data and the third data.

[0101] In one embodiment, after the first data is restored through the node where the service provider is located, the restored data blocks of the first data can be sent sequentially to the service provider through the node where the service provider is located. The node where the service provider is located then begins receiving data blocks of the target data sent from the node where the service caller corresponds to the third identifier. Since the data blocks of the first data are sent sequentially from the node where the service provider is located to the service provider, in order to ensure that the first data and target data are sent to the corresponding service providers in the initial order, the received data blocks of the target data can be stored in the second storage module of the node where the service provider is located before all the data blocks of the first data are sent to the service provider.

[0102] S502, after all data blocks of the first data have been sent to the service provider, the data blocks of the target data stored in the second storage module are sent to the service provider in sequence.

[0103] In one embodiment, after all data blocks of the first data have been sent to the service provider, data blocks of the target data stored in the second storage module can be sent sequentially to the service provider. During the process of sequentially storing the received target data blocks into the second storage module, if it is determined that the transmission progress of the data blocks in the second storage module meets a second preset condition, then the storage of the received target data blocks into the second storage module is stopped, and the received target data blocks not yet stored in the second storage module are directly sent to the service provider.

[0104] For example, the data blocks of the target data can be numbered, and then the received data blocks of the target data can be stored in the second storage module in sequence according to the number. If all data blocks of the first data have been sent to the service provider through the node where the service provider is located, the data blocks of the target data stored in the second storage module can be sent to the service provider in sequence according to the number, and the second number of data blocks of the target data sent to the service provider can be recorded. This continues until the number of the last data block of the target data sent to the service provider through the second storage module is equal to the second number, which is determined as the second preset condition. At this time, the storage of the received data blocks of the target data in the second storage module can be stopped, and the received data blocks of the target data that have not been stored in the second storage module can be sent directly to the service caller.

[0105] In this embodiment, the restored first data blocks are sequentially sent to the service provider. The target data blocks sent from the node of the service caller corresponding to the third identifier are received, and the received target data blocks are sequentially stored in the second storage module of the node of the service provider. After all the first data blocks have been sent to the service provider, the target data blocks stored in the second storage module are sequentially sent to the service provider. During the process of sequentially storing the received target data blocks in the second storage module, if it is determined that the transmission process of the data blocks in the second storage module meets the second preset condition, the received target data blocks not yet stored in the second storage module are directly sent to the service provider. This enables the first and second data to be sent to the service provider corresponding to the second identifier in the initial order, improving the accuracy of the data sent to the service provider and increasing the flexibility of service call request transmission.

[0106] Reference Figure 6 , Figure 6This is a flowchart illustrating a method for transmitting service call requests within a serverless cluster, as provided in an embodiment of this application. The method includes the following steps:

[0107] S601, the node where the service caller is located obtains the data block of the initial service call request, and divides the data block of the initial service call request according to the preset segmentation strategy to obtain the data block of the first data and the data block of the second data.

[0108] S602, the node where the service caller is located modifies the data blocks of the first data according to the preset modification strategy, and inserts additional data into the first data.

[0109] S603, the internal gateway module obtains the first data of the node where the service caller is located.

[0110] S604, the node where the service provider is located obtains the first data from the internal gateway module, restores the first data, and sends a transmission signal to the node where the service caller is located.

[0111] S605, the node where the service caller is located stores the data blocks of the second data sequentially into the first storage module of the node where the service caller is located, and receives the transmission signal.

[0112] S606, in response to the transmission signal, the data blocks of the second data stored in the first storage module are sequentially sent to the node where the service provider is located until the first preset condition is met, at which point the storage of the data blocks of the second data in the first storage module is stopped, and the data blocks of the third data not stored in the first storage module are sequentially sent to the node where the service provider is located.

[0113] S607, the node where the service provider is located sends the data blocks of the restored first data to the service provider in sequence, and at the same time starts to receive the data blocks of the second data sent from the node where the service caller is located corresponding to the third identifier, and stores the received data blocks of the second data in the second storage module of the node where the service provider is located.

[0114] S608, when the node where the service provider is located has sent all data blocks of the first data to the service provider, the data blocks of the target data stored in the second storage module are sent to the service provider in sequence until the second preset condition is met, the storage of the received data blocks of the target data in the second storage module is stopped, and the received data blocks of the target data not stored in the second storage module are sent to the service caller.

[0115] To provide a clearer description of the embodiments of this application, the following is combined with... Figure 7 Provided as an example, Figure 7This is a schematic diagram of a service call request data segmentation and transmission method provided in an embodiment of this application.

[0116] For example, such as Figure 7 As shown, the IP of the service caller container is 10.11.9.100, the source port of the service call is 12345, the fast transfer intermediary service port is 9090, the IP of the node where the service caller container resides (Node 1) is 192.168.1.100, the source port of the data staging auxiliary TCP connection is 23456, the data staging auxiliary service port is 9097, the source port of the data forwarding auxiliary TCP connection is 34567, the data forwarding auxiliary service port is 9098, the internal gateway IP is 10.11.9.30, the internal gateway service port is 80, the IP of the service provider container is 10.11.9.200, the source port of the fast transfer TCP connection is 45678, and the IP of the node where the service caller container resides (Node 2) is 192.168.1.200. Figure 7 Operation ① shown in the diagram: The service request data fast transmission auxiliary process loads the compiled eBPF bytecode (extended BerkeleyPacket Filter) into the Linux kernel and initializes it. The eBPF bytecode includes several eBPF programs, namely:

[0117] (1) An eBPF program of type BPF_PROG_TYPE_SK_SKB (hereinafter referred to as an skb program);

[0118] (2) An eBPF program of type BPF_PROG_TYPE_SK_MSG (hereinafter referred to as the msg program);

[0119] (3) An eBPF program of type BPF_PROG_TYPE_XDP (hereinafter referred to as an xdp program);

[0120] like Figure 7 Operation ② shown in the figure: The service request data fast transmission auxiliary process starts the service request data temporary storage auxiliary service and the service request data forwarding auxiliary service on the node where the service caller is located according to the pre-agreed port number, and then establishes a service request data temporary storage auxiliary TCP connection and a service request data forwarding auxiliary TCP connection respectively.

[0121] When the service caller container starts, its sidecar container starts an intermediary service to quickly transmit service request data according to a pre-agreed port number, i.e. Figure 7 Operation ③ is shown in the diagram.

[0122] Before transmitting the initial service call request, the service caller container needs to establish a TCP connection. After the TCP connection is established, the service caller container can send the initial service call request through this connection. Typically, the service caller container will call the `send` function multiple times during the initial service call request process. That is, each call to the `send` function sends a portion of the data from the initial service call request. When the service caller container calls the `send` function, the `msg` program on the node where the service caller resides is triggered to execute. At this time, the `msg` program executes as follows: Figure 7 Operation ④ shown in the figure:

[0123] The initial service call request is segmented to obtain first data and second data. The first data is then modified, and finally the first data is transmitted to the internal gateway module, while the second data is temporarily stored in the first storage module.

[0124] After the node where the service caller is located completes the temporary storage of the second data to the first storage module as described in operation ④, it is also necessary to redirect the second data to the receive buffer of the destination Socket of the data temporary storage auxiliary TCP connection. Furthermore, the modification of the first data described in operation ④ can be as follows: First, add Content-Length and CLen fields to the HTTP request header and set their values ​​to 0 and -1 respectively; second, delete the original Transfer-Encoding field in the HTTP request header; third, add Source-Address and Broker-Address fields to the HTTP request header. Set the value of the Source-Address field to a string consisting of the local IP address and port number of the source Socket of the service call (i.e., 10.11.9.100:12345), and set the value of the Broker-Address field to a string consisting of the IP address and port number of the fast transfer intermediary service corresponding to the service caller container (i.e., 10.11.9.100:9090). Source-Address and Broker-Address are respectively the first identifier of the initial service call request and the third identifier of the node where the service caller is located.

[0125] When data needs to be placed into the receive buffer of the destination socket in the data temporary storage auxiliary TCP connection, the node where the service caller resides will query the skb program to determine whether it agrees to place the data into the receive buffer of the destination socket in the data temporary storage auxiliary TCP connection. At this time, the skb program executes as follows: Figure 7 Operation ⑤ shown in the figure:

[0126] Refuse to put the current second data into the receive buffer of the destination Socket of the data temporary storage auxiliary TCP connection.

[0127] The purpose of operation ⑤ is to prevent the service caller container from noticing the failure to send the second data.

[0128] When the first data is transmitted to the service provider container's sidecar container through the internal gateway module, the service provider container's sidecar container executes as follows: Figure 7 Operation ⑥ shown in the figure:

[0129] The semantics of the first data are modified, and the semantically modified first data is transmitted to the service provider container.

[0130] The semantic modification of the first data may include the following:

[0131] If the HTTP request header contains the Content-Length, CLen, Source-Address, and Broker-Address fields, and the value of the Content-Length field is 0 and the value of the CLen field is -1, then the Content-Length field in the HTTP request header is deleted, and a Transfer-Encoding field is added to the HTTP request header, with the value of the Transfer-Encoding field set to chunked. If the HTTP request header contains the Content-Length, CLen, Source-Address, and Broker-Address fields, and the value of the CLen field is greater than 0, then the value of the Content-Length field in the HTTP request header is set to the value of the CLen field, and the CLen field in the HTTP request header is deleted.

[0132] Once the first data is transmitted to the service provider container's Sidecar container via the internal gateway module, the service provider container's Sidecar container also needs to execute the following... Figure 7 Operation ⑦ shown in the figure:

[0133] Send a transmission signal to the node where the service caller is located. This transmission signal includes the value of the Source-Address field in the HTTP request header.

[0134] In order to send transmission signals, the Sidecar container of the service provider container needs to establish a Fast Transmission TCP connection first.

[0135] When the node where the service caller resides receives the transmission signal, the xdp program is triggered to execute. At this time, the xdp program executes as follows: Figure 7 Operation shown in section ⑧:

[0136] The service request data fast transmission auxiliary process sends a transmission signal arrival event to the node where the service caller is located. The content of this event is the content of the transmission signal.

[0137] After the service request data fast transmission auxiliary process on the node where the service caller is located receives the transmission signal arrival event, it executes, as follows: Figure 7 Operation 9 shown in the figure:

[0138] Calling the send function sends the content of the transmission signal arrival event from the source socket of the data forwarding auxiliary TCP connection.

[0139] When the send function is called to send the content of the event, the msg program on the node where the service caller is located is triggered to execute. At this time, the msg program executes as follows: Figure 7 Operation 10 shown in the figure:

[0140] The second data corresponding to the transmission signal is determined, and the second data is transmitted to the node where the service provider is located via a Fast Transmit TCP connection.

[0141] When the second data arrives at the node where the service provider is located, it is first transmitted to the receive buffer (i.e., the second storage module mentioned above) of the source socket of the fast transmission TCP connection on the service provider's node. This continues until all the first data has been sent to the service provider, after which the following steps are executed: Figure 7 The operation shown in the figure is ⑪:

[0142] The service provider container's Sidecar container receives the second data from the source Socket of the fast-transfer TCP connection according to the semantics of the modified HTTP request header, and then forwards it to the service provider container.

[0143] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0144] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0145] The initial service call request is segmented to obtain first data and second data; the first data includes a portion of the data in the initial service call request, and the second data includes another portion of the data in the initial service call request.

[0146] Transmit the first data to the node where the service provider is located, so as to send the first data to the service provider through the node where the service provider is located;

[0147] Store the second data and receive the transmission signal; the transmission signal includes the first identifier of the service provider;

[0148] In response to the transmission signal, second data is transmitted to the node where the service provider is located, so as to send the second data to the service provider through the node where the service provider is located; wherein, the node where the service provider is located is the node where the first identifier corresponds to the service provider.

[0149] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0150] Obtain the data block of the initial service call request, and divide the data block of the initial service call request according to the preset segmentation strategy to obtain at least one data block of the first data and at least one data block of the second data.

[0151] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0152] The first data is modified according to the preset modification strategy, and additional data is inserted into the first data; the additional data includes the second identifier of the initial service call request and the third identifier of the node where the service caller is located.

[0153] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0154] In response to the transmission signal, the data blocks of the second data stored in the first storage module are sequentially sent to the node where the service provider corresponding to the first identifier is located. During the process of sequentially storing the data blocks of the second data into the first storage module, if it is determined that the transmission process of the data blocks in the first storage module meets the first preset condition, the data blocks of the third data are sequentially sent to the node where the service provider is located. The data blocks of the third data include the data blocks in another part of the data in the initial service call request that were not stored in the first storage module.

[0155] In one embodiment, the first preset condition includes: all data blocks of the second data stored in the first storage module are sent to the node where the service provider corresponding to the first identifier is located.

[0156] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0157] Acquire the first data and send a transmission signal to the node where the service caller is located; the first data includes a portion of the data obtained by the node where the service caller is located by segmenting the initial service call request, and the transmission signal includes the first identifier of the service provider. The transmission signal is used to trigger the node where the service provider is located to transmit the stored second data.

[0158] Receive the second data, and send the first and second data to the service provider; the second data includes another part of the data obtained by the node where the service caller is located from the initial service call request.

[0159] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0160] Delete the additional data in the first data and restore the first data after it has been modified according to the preset modification strategy, so as to restore the semantic information corresponding to a part of the data in the initial service call request.

[0161] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0162] The restored first data blocks are sent sequentially to the service provider. The target data blocks sent from the node where the service caller corresponding to the third identifier is located are received, and the received target data blocks are sequentially stored in the second storage module of the node where the service provider is located. The target data includes the second data, or the target data includes the second data and the third data. The third data blocks include the data blocks in another part of the initial service call request that were not stored in the first storage module.

[0163] Having already sent all data blocks of the first data to the service provider, the data blocks of the target data stored in the second storage module are then sent to the service provider sequentially.

[0164] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0165] During the process of storing the received target data blocks into the second storage module in sequence, if it is determined that the transmission process of the data blocks in the second storage module meets the second preset condition, the received target data blocks that have not been stored in the second storage module are directly sent to the service provider.

[0166] In one embodiment, the second preset condition includes: all data blocks of the target data stored in the second storage module are sent to the service provider.

[0167] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:

[0168] The initial service call request is segmented to obtain first data and second data; the first data includes a portion of the data in the initial service call request, and the second data includes another portion of the data in the initial service call request.

[0169] Transmit the first data to the node where the service provider is located, so as to send the first data to the service provider through the node where the service provider is located;

[0170] Store the second data and receive the transmission signal; the transmission signal includes the first identifier of the service provider;

[0171] In response to the transmission signal, second data is transmitted to the node where the service provider is located, so as to send the second data to the service provider through the node where the service provider is located; wherein, the node where the service provider is located is the node where the first identifier corresponds to the service provider.

[0172] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0173] Obtain the data block of the initial service call request, and divide the data block of the initial service call request according to the preset segmentation strategy to obtain at least one data block of the first data and at least one data block of the second data.

[0174] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0175] The first data is modified according to the preset modification strategy, and additional data is inserted into the first data; the additional data includes the second identifier of the initial service call request and the third identifier of the node where the service caller is located.

[0176] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0177] In response to the transmission signal, the data blocks of the second data stored in the first storage module are sequentially sent to the node where the service provider corresponding to the first identifier is located. During the process of sequentially storing the data blocks of the second data into the first storage module, if it is determined that the transmission process of the data blocks in the first storage module meets the first preset condition, the data blocks of the third data are sequentially sent to the node where the service provider is located. The data blocks of the third data include the data blocks in another part of the data in the initial service call request that were not stored in the first storage module.

[0178] In one embodiment, the first preset condition includes: all data blocks of the second data stored in the first storage module are sent to the node where the service provider corresponding to the first identifier is located.

[0179] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0180] Acquire the first data and send a transmission signal to the node where the service caller is located; the first data includes a portion of the data obtained by the node where the service caller is located by segmenting the initial service call request, and the transmission signal includes the first identifier of the service provider. The transmission signal is used to trigger the node where the service provider is located to transmit the stored second data.

[0181] Receive the second data, and send the first and second data to the service provider; the second data includes another part of the data obtained by the node where the service caller is located from the initial service call request.

[0182] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0183] Delete the additional data in the first data and restore the first data after it has been modified according to the preset modification strategy, so as to restore the semantic information corresponding to a part of the data in the initial service call request.

[0184] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0185] The restored first data blocks are sent sequentially to the service provider. The target data blocks sent from the node where the service caller corresponding to the third identifier is located are received, and the received target data blocks are sequentially stored in the second storage module of the node where the service provider is located. The target data includes the second data, or the target data includes the second data and the third data. The third data blocks include the data blocks in another part of the initial service call request that were not stored in the first storage module.

[0186] Having already sent all data blocks of the first data to the service provider, the data blocks of the target data stored in the second storage module are then sent to the service provider sequentially.

[0187] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0188] During the process of storing the received target data blocks into the second storage module in sequence, if it is determined that the transmission process of the data blocks in the second storage module meets the second preset condition, the received target data blocks that have not been stored in the second storage module are directly sent to the service provider.

[0189] In one embodiment, the second preset condition includes: all data blocks of the target data stored in the second storage module are sent to the service provider.

[0190] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:

[0191] The initial service call request is segmented to obtain first data and second data; the first data includes a portion of the data in the initial service call request, and the second data includes another portion of the data in the initial service call request.

[0192] Transmit the first data to the node where the service provider is located, so as to send the first data to the service provider through the node where the service provider is located;

[0193] Store the second data and receive the transmission signal; the transmission signal includes the first identifier of the service provider;

[0194] In response to the transmission signal, second data is transmitted to the node where the service provider is located, so as to send the second data to the service provider through the node where the service provider is located; wherein, the node where the service provider is located is the node where the first identifier corresponds to the service provider.

[0195] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0196] Obtain the data block of the initial service call request, and divide the data block of the initial service call request according to the preset segmentation strategy to obtain at least one data block of the first data and at least one data block of the second data.

[0197] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0198] The first data is modified according to the preset modification strategy, and additional data is inserted into the first data; the additional data includes the second identifier of the initial service call request and the third identifier of the node where the service caller is located.

[0199] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0200] In response to the transmission signal, the data blocks of the second data stored in the first storage module are sequentially sent to the node where the service provider corresponding to the first identifier is located. During the process of sequentially storing the data blocks of the second data into the first storage module, if it is determined that the transmission process of the data blocks in the first storage module meets the first preset condition, the data blocks of the third data are sequentially sent to the node where the service provider is located. The data blocks of the third data include the data blocks in another part of the data in the initial service call request that were not stored in the first storage module.

[0201] In one embodiment, the first preset condition includes: all data blocks of the second data stored in the first storage module are sent to the node where the service provider corresponding to the first identifier is located.

[0202] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0203] Acquire the first data and send a transmission signal to the node where the service caller is located; the first data includes a portion of the data obtained by the node where the service caller is located by segmenting the initial service call request, and the transmission signal includes the first identifier of the service provider. The transmission signal is used to trigger the node where the service provider is located to transmit the stored second data.

[0204] Receive the second data, and send the first and second data to the service provider; the second data includes another part of the data obtained by the node where the service caller is located from the initial service call request.

[0205] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0206] Delete the additional data in the first data and restore the first data after it has been modified according to the preset modification strategy, so as to restore the semantic information corresponding to a part of the data in the initial service call request.

[0207] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0208] The restored first data blocks are sent sequentially to the service provider. The target data blocks sent from the node where the service caller corresponding to the third identifier is located are received, and the received target data blocks are sequentially stored in the second storage module of the node where the service provider is located. The target data includes the second data, or the target data includes the second data and the third data. The third data blocks include the data blocks in another part of the initial service call request that were not stored in the first storage module.

[0209] Having already sent all data blocks of the first data to the service provider, the data blocks of the target data stored in the second storage module are then sent to the service provider sequentially.

[0210] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0211] During the process of storing the received target data blocks into the second storage module in sequence, if it is determined that the transmission process of the data blocks in the second storage module meets the second preset condition, the received target data blocks that have not been stored in the second storage module are directly sent to the service provider.

[0212] In one embodiment, the second preset condition includes: all data blocks of the target data stored in the second storage module are sent to the service provider.

[0213] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0214] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0215] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A method for transmitting service invocation requests, characterized in that, Applied to the node where the service caller resides, the method includes: The initial service call request is segmented to obtain first data and second data; the first data includes a portion of the data in the initial service call request, and the second data includes another portion of the data in the initial service call request. The first data is transmitted to the node where the service provider is located through the internal gateway module, so as to send the first data to the service provider through the node where the service provider is located; The second data is stored, and a transmission signal is received; the transmission signal includes a first identifier of the service provider. In response to the transmission signal, second data is transmitted to the node where the service provider is located, so as to send the second data to the service provider through the node where the service provider is located; wherein, the node where the service provider is located is the node where the service provider corresponding to the first identifier is located, and the second data does not need to be forwarded to the internal gateway module.

2. The method according to claim 1, characterized in that, The segmentation of the initial service call request to obtain first data and second data includes: The data blocks of the initial service call request are obtained, and the data blocks of the initial service call request are segmented according to a preset segmentation strategy to obtain at least one data block of the first data and at least one data block of the second data.

3. The method according to claim 1, characterized in that, Before transmitting the first data to the node where the service provider is located, the method further includes: The first data is modified according to a preset modification strategy, and additional data is inserted into the first data; the additional data includes the second identifier of the initial service call request and the third identifier of the node where the service caller is located.

4. The method according to claim 2, characterized in that, The step of transmitting second data to the node where the service provider is located in response to the transmission signal includes: In response to the transmission signal, the data blocks of the second data stored in the first storage module are sequentially sent to the node where the service provider corresponding to the first identifier is located. During the process of sequentially storing the data blocks of the second data into the first storage module, if it is determined that the transmission process of the data blocks in the first storage module meets the first preset condition, then the data blocks of the third data are sequentially sent to the node where the service provider is located. The data blocks of the third data include the data blocks in another part of the data in the initial service call request that were not stored in the first storage module.

5. The method according to claim 4, characterized in that, The first preset condition includes: all data blocks of the second data stored in the first storage module are sent to the node where the service provider corresponding to the first identifier is located.

6. A method for transmitting service invocation requests, characterized in that, Applied to the node where the service provider is located, the method includes: The first data is obtained through the internal gateway module, and a transmission signal is sent to the node where the service caller is located; the first data includes a portion of the data obtained by the node where the service caller is located by segmenting the initial service call request; the transmission signal includes the first identifier of the service provider; the transmission signal is used to trigger the node where the service provider is located to transmit the stored second data. The system receives the second data and sends the first data and the second data to the service provider. The second data includes another part of the data obtained by the node where the service caller is located from the initial service call request. The second data does not need to be forwarded to the internal gateway module.

7. The method according to claim 6, characterized in that, Before sending the first data and the second data to the service provider, the method further includes: Delete the additional data in the first data and restore the first data after it has been modified according to the preset modification strategy, so as to restore the semantic information corresponding to the part of the data in the initial service call request.

8. The method according to claim 7, characterized in that, When both the first data and the second data are divided into multiple data blocks, the step of receiving the second data and sending the first data and the second data to the service provider includes: The restored first data data blocks are sequentially sent to the service provider. The service provider receives target data data blocks sent from the node where the service caller corresponds to the third identifier. The received target data data blocks are then sequentially stored in the second storage module of the node where the service provider is located. The target data includes second data, or the target data includes both second and third data. The third data data blocks include data blocks from another portion of the initial service call request that were not stored in the first storage module. Having already sent all data blocks of the first data to the service provider, the data blocks of the target data stored in the second storage module are then sent sequentially to the service provider.

9. The method according to claim 8, characterized in that, The method further includes: During the process of storing the received target data blocks sequentially into the second storage module, if it is determined that the transmission process of the data blocks in the second storage module meets the second preset condition, then the received target data blocks that have not been stored in the second storage module are directly sent to the service provider.

10. The method according to claim 9, characterized in that, The second preset condition includes: all data blocks of the target data stored in the second storage module are sent to the service provider.

11. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 10.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 10.

13. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Combined communication request response method and device, electronic equipment and readable storage medium

    CN113452703A

  • Method and device for processing conference service request, equipment and medium

    CN117939058A