Data transmission method, data reception method, data transmission system, storage medium and device

By employing chunked transfer coding technology to maintain hypertext transmission connections in privacy computing, the problem of port limitations in inter-institutional data transmission is solved, enabling normal data transmission between institutions and the completion of privacy computing.

CN120151338BActive Publication Date: 2026-06-05ZHEJIANG ANT SECRET TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHEJIANG ANT SECRET TECH CO LTD
Filing Date
2025-02-26
Publication Date
2026-06-05

Smart Images

  • Figure CN120151338B_ABST
    Figure CN120151338B_ABST
Patent Text Reader

Abstract

The embodiment of the specification discloses a data sending method, a data receiving method, a data transmission system, a storage medium and equipment, the data sending method comprises the following steps: when a first mechanism with an opened public network port needs to send data to a second mechanism without an opened public network port, the first mechanism receives a first hypertext transfer request sent by the second mechanism based on the opened public network port of the first mechanism, and based on a block transmission coding technology and the first hypertext transfer connection maintained by the second mechanism, then the first mechanism constructs a first response data packet containing first to-be-sent data and corresponding to the first hypertext transfer request, and sends the first response data packet to the second mechanism through the first hypertext transfer connection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of data transmission technology, and in particular to a data transmission method, a data reception method, a data transmission system, a storage medium, and a device. Background Technology

[0002] With the advent of the big data era, privacy-preserving computation has become an important research direction in the field of data processing and analysis. Privacy-preserving computation is a technology and system in which two or more parties collaborate to perform joint machine learning and joint analysis on their data without disclosing their own data.

[0003] In privacy-preserving computation scenarios, at least two organizations typically participate in the computation. Each organization needs to transmit irreversible encrypted data to the other organizations, and each organization also needs to expose a port to the public internet to receive encrypted data sent by other organizations. However, in some scenarios, due to infrastructure or company policies, some organizations may be unable to expose a port to the public internet. For example, if Organization A and Organization B are jointly participating in privacy-preserving computation, and Organization A exposes a port to the public internet, Organization B can send network requests to Organization A. However, due to some reason, Organization B may be unable to expose a port to the public internet, preventing Organization A from sending network requests to Organization B, thus causing the privacy-preserving computation task to fail. Summary of the Invention

[0004] This specification provides a data sending method, a data receiving method, a data transmission system, a storage medium, and a device, which can enable data transmission between organizations when some organizations cannot open public network ports.

[0005] This specification provides a data transmission method, applied to a first institution that has an open public network port. The method includes:

[0006] In response to receiving a first hypertext transfer request sent by a second organization based on a public network port opened by the first organization, the second organization maintains a first hypertext transfer connection based on chunked transfer coding technology, and the second organization does not open a public network port;

[0007] A first response data packet containing the first data to be sent and corresponding to the first hypertext transfer request is constructed, and the first response data packet is sent to the second organization through the first hypertext transfer connection.

[0008] Furthermore, in some embodiments, the method further includes:

[0009] The system receives a third hypertext transmission request sent by a second organization based on a public network port opened by the first organization. The third hypertext transmission request includes data reception success indication information corresponding to the first data to be sent.

[0010] Furthermore, in some embodiments, the first mechanism includes a first algorithm engine and a first gateway filter;

[0011] The response to receiving a first hypertext transmission request sent by a second organization based on a public network port opened by the first organization, and maintaining the first hypertext transmission connection by the second organization based on chunked transfer coding technology, includes:

[0012] In response to receiving the first hypertext transfer request, the first gateway filter sends chunked transfer encoding indication information to the second agency based on the first hypertext transfer request. The chunked transfer encoding indication information is used to enable the first gateway filter and the second gateway filter in the second agency to maintain the first hypertext transfer connection.

[0013] Further, in some embodiments, constructing a first response data packet containing first data to be sent and corresponding to the first hypertext transfer request, and sending the first response data packet to the second institution via the first hypertext transfer connection, includes:

[0014] The first algorithm engine generates a second hypertext transfer request containing the first data to be sent.

[0015] The first gateway filter encodes the second hypertext transfer request into a first response data packet corresponding to the first hypertext transfer request, and sends the first response data packet to the second gateway filter through the first hypertext transfer connection.

[0016] Furthermore, in some embodiments, the method further includes:

[0017] Receive a third hypertext transfer request sent by the second organization based on the public network port opened by the first organization, wherein the third hypertext transfer request includes a second response data packet corresponding to the second hypertext transfer request;

[0018] The first gateway filter decodes the third hypertext transfer request to obtain a second response data packet corresponding to the second hypertext transfer request, and sends the second response data packet to the first algorithm engine. The second response data packet contains data reception success indication information.

[0019] This specification also provides a data receiving method, applied to a second institution that does not have a public network port open, the method comprising:

[0020] The first hypertext transmission request is sent to the first institution based on the public network port opened by the first institution, and the first hypertext transmission connection corresponding to the first hypertext transmission request is maintained by the first institution based on the block transfer encoding technology.

[0021] Receive the first response data packet sent by the first institution based on the first hypertext transfer connection, and decode the first response data packet to obtain the first data to be sent.

[0022] Furthermore, in some embodiments, after receiving the first response data packet sent by the first agency based on the first hypertext transfer connection, the method further includes:

[0023] Generate a data reception success indication message;

[0024] A third hypertext transfer request containing the data reception success indication information is constructed, and the third hypertext transfer request is sent to the first institution through the public network port opened by the first institution.

[0025] Furthermore, in some embodiments, the second mechanism includes a second algorithm engine, a polling client, and a second gateway filter;

[0026] The step of sending a first hypertext transmission request to the first institution based on the public network port opened by the first institution, and maintaining the first hypertext transmission connection corresponding to the first hypertext transmission request by the first institution based on chunked transfer coding technology, includes:

[0027] The polling client generates the first hypertext transfer request, and the second gateway filter proxies the first hypertext transfer request to the first gateway filter in the first organization;

[0028] The second gateway filter receives chunked transfer encoding indication information sent by the first gateway filter based on the first hypertext transfer request, and maintains the first hypertext transfer connection with the first gateway filter based on the chunked transfer encoding indication information.

[0029] Further, in some embodiments, receiving the first response data packet sent by the first agency based on the first hypertext transfer connection and decoding the first response data packet to obtain the first data to be sent includes:

[0030] In response to receiving the first response data packet, the second gateway filter decodes the first response data packet to obtain a second hypertext transfer request, and sends the second hypertext transfer request to the second algorithm engine;

[0031] The second algorithm engine decodes the second hypertext transmission request to obtain the first data to be sent.

[0032] Furthermore, in some embodiments, after the second algorithm engine decodes the second hypertext transfer request to obtain the first data to be sent, the method further includes:

[0033] The second algorithm engine generates a data reception success indication message and constructs a second response data packet containing the data reception success indication message and corresponding to the second hypertext transmission request;

[0034] The second gateway filter constructs a third hypertext transfer request containing the second response data packet based on the second response data, and sends the third hypertext transfer request to the first institution through the public network port opened by the first institution.

[0035] This specification also provides a data transmission system, which includes at least a first mechanism and a second mechanism. The first mechanism has a public network port, while the second mechanism does not have a public network port.

[0036] The second agency is used to send a first hypertext transfer request to the first agency based on the public network port opened by the first agency;

[0037] The first mechanism is used to maintain the first hypertext transmission connection based on chunked transfer coding technology and the second mechanism in response to receiving the first hypertext transmission request;

[0038] The first agency is further configured to construct a first response data packet containing first data to be sent and corresponding to the first hypertext transfer request, and send the first response data packet to the second agency through the first hypertext transfer connection.

[0039] This specification also provides a data transmission method for a second organization that does not have a public network port open. The method includes:

[0040] Construct a fourth hypertext transfer request containing the second data to be sent;

[0041] The fourth hypertext transfer request is sent to the intermediary via the public network port opened by the intermediary, so that the intermediary forwards the fourth hypertext transfer request to the third organization;

[0042] The third organization did not open its public network port.

[0043] Furthermore, in some embodiments, the method further includes:

[0044] The receiving intermediary returns a third response data packet based on the fourth hypertext transmission request. The third response data packet includes data reception success indication information corresponding to the fourth hypertext transmission request. The data reception success indication information is generated by the third institution and sent to the intermediary.

[0045] This specification also provides a data forwarding method in an embodiment, applied to an intermediary organization, wherein the intermediary organization has an open public network port, the method comprising:

[0046] In response to receiving a fifth hypertext transfer request sent by a third organization based on a public network port opened by the intermediate organization, the third organization maintains a second hypertext transfer connection based on chunked transfer coding technology, and the third organization does not open a public network port;

[0047] In response to receiving a fourth hypertext transfer request sent by the second organization based on the public network port opened by the intermediate organization, the fourth hypertext transfer request is encoded into a fourth response data packet corresponding to the fifth hypertext transfer request, wherein the fourth hypertext transfer request contains second data to be sent by the second organization to the third organization;

[0048] The fourth response data packet is sent to the third agency via the second hypertext transfer connection.

[0049] Furthermore, in some embodiments, the method further includes:

[0050] In response to receiving a sixth hypertext transmission request sent by the third organization, the sixth hypertext transmission request is decoded to obtain a third response data packet corresponding to the fourth hypertext transmission request;

[0051] The third response data packet is sent to the second agency, and the third response data packet includes data reception success indication information corresponding to the fourth hypertext transfer request.

[0052] This specification also provides a data receiving method, applied to a third organization that does not have a public network port open, the method comprising:

[0053] A fifth hypertext transfer request is sent to the intermediary via the public network port opened by the intermediary, and the intermediary maintains the second hypertext transfer connection corresponding to the fifth hypertext transfer request based on the chunked transfer encoding technology.

[0054] The system receives a fourth response data packet sent by the intermediate institution based on the second hypertext transfer connection, decodes the fourth response data packet to obtain a fourth hypertext transfer request, the fourth hypertext transfer request being sent by the second institution to the intermediate institution, and the fourth hypertext transfer request including second data to be sent corresponding to the second institution.

[0055] Furthermore, in some embodiments, after receiving the fourth response data packet sent by the intermediate mechanism based on the second hypertext transfer connection and decoding the fourth response data packet to obtain the fourth hypertext transfer request, the method further includes:

[0056] Generate data reception success indication information corresponding to the fourth hypertext transmission request, and construct a third response data packet containing the data reception success indication information;

[0057] A sixth hypertext transfer request corresponding to the third response data packet is constructed, and the sixth hypertext transfer request is sent to the intermediate agency through the public network port opened by the intermediate agency, so that the intermediate agency decodes the sixth hypertext transfer request and sends the third response data to the second agency.

[0058] This specification also provides a data transmission system, which includes at least a second mechanism, a third mechanism, and an intermediate mechanism. The second and third mechanisms do not have public network ports open, while the intermediate mechanism has a public network port open.

[0059] The third agency is used to send a fifth hypertext transfer request to the intermediate agency based on the public network port opened by the intermediate agency;

[0060] The intermediate mechanism is used to maintain the second hypertext transmission connection based on chunked transfer coding technology and the third mechanism in response to receiving the fifth hypertext transmission request;

[0061] The second mechanism is used to send a fourth hypertext transfer request containing second data to be sent to the intermediate mechanism via the public network port opened by the intermediate mechanism;

[0062] The intermediate mechanism is also configured to respond to receiving a fourth hypertext transfer request sent by the second mechanism based on the public network port opened by the intermediate mechanism, encode the fourth hypertext transfer request into a fourth response data packet corresponding to the fifth hypertext transfer request, and send the fourth response data packet to the third mechanism based on the second hypertext transfer connection. The fourth hypertext transfer request contains second data to be sent by the second mechanism to the third mechanism.

[0063] This specification also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method.

[0064] This specification also provides an electronic device, including a processor and a memory; wherein the memory stores a computer program adapted to be loaded by the processor and to execute the steps of the above-described method.

[0065] This specification also provides a computer program product that stores at least one instruction, which, when executed by a processor, implements the steps of the above-described method.

[0066] In the embodiments of this specification, for a first organization with an open public network port and a second organization without an open public network port, the second organization first sends a first hypertext transfer request to the first organization based on the open public network port of the first organization. After the first organization receives the first hypertext transfer request, the first organization and the second organization maintain the first hypertext transfer connection without interruption based on block transfer coding technology. Then, the first organization can transmit the first data to be sent to the second organization based on the first hypertext transfer connection, so that normal data transmission between the organizations can be achieved when the second organization cannot open a public network port. Attached Figure Description

[0067] Figure 1 This is a schematic diagram illustrating an example of an organization not opening its public network ports, provided as an embodiment of this specification.

[0068] Figure 2 This specification provides a flowchart illustrating a data transmission method as described in an embodiment.

[0069] Figure 3 This specification provides a flowchart illustrating a data receiving method as described in an embodiment.

[0070] Figure 4 This is a schematic diagram of the system interaction of a data transmission system provided in an embodiment of this specification.

[0071] Figure 5 This specification provides a flowchart illustrating a data transmission method as described in an embodiment.

[0072] Figure 6 This specification provides a flowchart illustrating a data receiving method as described in an embodiment.

[0073] Figure 7 This is a schematic diagram illustrating an example of a data transmission system provided in an embodiment of this specification.

[0074] Figure 8This specification provides a flowchart illustrating a data transmission method as described in an embodiment.

[0075] Figure 9 This specification provides a flowchart illustrating a data forwarding method as described in an embodiment.

[0076] Figure 10 This specification provides a flowchart illustrating a data receiving method as described in an embodiment.

[0077] Figure 11 This specification provides a schematic diagram of the structure of a data transmission system as an embodiment.

[0078] Figure 12 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this specification. Detailed Implementation

[0079] To make the objectives, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of them. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this specification.

[0080] In the description of one or more embodiments in this specification, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0081] Before providing a detailed description of the data transmission system provided in the embodiments of this specification, the relevant technical background will be explained first.

[0082] In privacy-preserving computation scenarios, at least two organizations typically participate in the computation. Each organization needs to transmit irreversible encrypted data to the other organizations, and each organization also needs to expose a port to the public internet to receive encrypted data sent by other organizations. However, in some scenarios, due to infrastructure or company policies, some organizations may be unable to expose a port to the public internet, preventing them from sending encrypted data to organizations with unexposed ports, thus hindering the completion of the privacy-preserving computation task. Please see [link to relevant documentation]. Figure 1 This is a schematic diagram illustrating an example of an organization not opening its public network ports, provided as an embodiment of this specification. Figure 1As shown, the data transmission system 1 includes a first institution 01 and a second institution 02. The first institution 01 has an open public network port, and the second institution 02 can directly send data to the first institution through the open public network port of the first institution 01. If the second institution 02 does not have an open public network port, the first institution 01 cannot send data to the second institution 02 through the port, thus causing the privacy computing task to fail.

[0083] Based on this, to address the issue that organizations cannot complete privacy computing tasks without exposing public network ports, one or more embodiments of the present invention provide a second organization with and without an open public network port. Before data transmission, the second organization first sends a first hypertext transmission request to the first organization based on the public network port opened by the first organization. After the first organization receives the first hypertext transmission request, the first organization and the second organization maintain the first hypertext transmission connection without interruption based on block transfer coding technology. Then, the first organization can transmit the first data to be sent to the second organization based on the first hypertext transmission connection. Normal data transmission between organizations is achieved even when the second organization cannot open its public network port, ensuring the normal completion of privacy computing.

[0084] It should be noted that the institutions described in one or more embodiments of this specification mainly refer to different participating institutions in privacy computing. The execution entity in the institution that performs the following data sending method, data receiving method and data forwarding method can be an institution server belonging to that institution, for example, the first institution is the institution server of the first institution.

[0085] Please see Figure 2 This is a flowchart illustrating a data transmission method provided in an embodiment of this specification. In this embodiment, the data transmission method is applied to a first organization, which has a public network port open. The following will focus on... Figure 2 The process shown will be described in detail. The data sending method may specifically include the following steps:

[0086] Step S102: In response to receiving the first hypertext transmission request sent by the second organization based on the public network port opened by the first organization, the second organization maintains the first hypertext transmission connection based on the chunked transfer encoding technology, and the second organization does not open the public network port;

[0087] The first organization has an open public network port, while the second organization does not.

[0088] In this embodiment, since the second institution does not have a public network port open, the first institution cannot directly send data to the second institution. Before sending data to the second institution, the first institution first receives a first hypertext transfer request sent by the second institution. Since the first institution has a public network port open, the second institution can directly send the first hypertext transfer request to the first institution through the public network port open by the first institution. After receiving the first hypertext transfer request sent by the second institution, the first institution maintains a first hypertext transfer connection with the second institution based on chunked transfer coding technology.

[0089] Chunked transfer encoding is a data transmission mechanism in the Hypertext Transfer Protocol (HTTP) that allows data sent from a web server to a client application (usually a web browser) to be divided into multiple parts. By using chunked transfer encoding, the connection between the first and second entities corresponding to the first hypertext transfer request can be maintained uninterrupted. It should be noted that Hypertext Transfer Protocol (HTTP) is a request-response protocol for distributed, collaborative, and hypermedia information systems. After the second entity sends a first hypertext transfer request to the first entity, the first entity responds to the first hypertext transfer request sent by the second entity. Using chunked transfer encoding, the first entity can respond to the first hypertext transfer request multiple times consecutively without interrupting the connection between the first and second entities.

[0090] Step S104: Construct a first response data packet containing the first data to be sent and corresponding to the first hypertext transfer request, and send the first response data packet to the second organization through the first hypertext transfer connection.

[0091] In the embodiments of this specification, after establishing and maintaining a first hypertext transfer connection between the first and second institutions, the first institution packages the first data to be sent to the second institution into a first response data packet corresponding to the first hypertext transfer request, and sends the first response data packet to the second institution through the first hypertext transfer connection. This allows the second institution to obtain the first data to be sent by decoding the first response data packet upon receiving it.

[0092] Using the data transmission method proposed in the embodiments of this specification, when a first organization with an open public network port needs to send data to a second organization without an open public network port, the second organization first sends a first hypertext transmission request to the first organization based on the open public network port of the first organization. After the first organization receives the first hypertext transmission request, the first organization and the second organization maintain the first hypertext transmission connection without interruption based on block transfer coding technology. Then, the first organization can transmit the first data to be sent to the second organization based on the first hypertext transmission connection, thus realizing normal data transmission between organizations even when the second organization cannot open a public network port.

[0093] Furthermore, in one or more embodiments of this specification, after the second institution receives the first response data packet containing the first data to be sent, the second institution will return data reception success indication information to the first institution. That is, after the first institution sends the first response data packet to the second institution through the first hypertext transfer connection, it receives a third hypertext transfer request sent by the second institution based on the public network port opened by the first institution. The third hypertext transfer request contains data reception success indication information corresponding to the first data to be sent.

[0094] Please see Figure 3 This is a flowchart illustrating a data receiving method provided in an embodiment of this specification. In this embodiment, the data receiving method is applied to a second institution that does not have a public network port open. The following will focus on... Figure 3 The process shown will be described in detail. The data sending method may specifically include the following steps:

[0095] Step S202: Send a first hypertext transmission request to the first organization based on the public network port opened by the first organization, and maintain the first hypertext transmission connection corresponding to the first hypertext transmission request based on block transfer coding technology and the first organization.

[0096] In the embodiments of this specification, the second organization generates a first hypertext transfer request and sends the first hypertext transfer request to the first organization through the public network port opened by the first organization. In this way, based on the block transfer coding technology, the first organization maintains the first hypertext transfer connection corresponding to the first hypertext transfer request, so as to receive the response data packet returned by the first organization based on the first hypertext transfer request based on the first hypertext transfer connection.

[0097] Step S204: Receive the first response data packet sent by the first organization based on the first hypertext transfer connection, and decode the first response data packet to obtain the first data to be sent.

[0098] In the embodiments of this specification, when a first organization with an open public network port needs to send data to a second organization without an open public network port, the second organization first sends a first hypertext transfer request to the first organization based on the open public network port of the first organization. After the first organization receives the first hypertext transfer request, the first organization and the second organization maintain the first hypertext transfer connection without interruption based on block transfer coding technology. Then, the first organization can transmit the first data to be sent to the second organization based on the first hypertext transfer connection, thus realizing normal data transmission between organizations when the second organization cannot open a public network port.

[0099] Furthermore, in one or more embodiments of this specification, after the second agency receives the first response data packet containing the first data to be sent, the second agency generates data reception success indication information corresponding to the first data to be sent, constructs a third hypertext transfer request containing the data reception success indication information, and sends the third hypertext transfer request to the first agency through the public network port opened by the first agency.

[0100] Please see Figure 4 This is a schematic diagram of system interaction for a data transmission system provided in an embodiment of this specification. Figure 4 As shown, the system interaction includes the following steps:

[0101] Step S302: Send a first hypertext transfer request to the first organization based on the public network port opened by the first organization;

[0102] Step S304: In response to receiving the first hypertext transmission request, maintain the first hypertext transmission connection based on chunked transfer coding technology and the second mechanism;

[0103] Step S306: Construct a first response data packet containing the first data to be sent and corresponding to the first hypertext transfer request;

[0104] Step S308: The first response data packet is sent to the second organization via the first hypertext transfer connection.

[0105] Based on the data transmission system proposed in the embodiments of this specification, the system includes a first organization with an open public network port and a second organization without an open public network port. When the first organization with an open public network port needs to send data to the second organization without an open public network port, the second organization first sends a first hypertext transmission request to the first organization based on the open public network port of the first organization. After the first organization receives the first hypertext transmission request, the first organization and the second organization maintain the first hypertext transmission connection without interruption based on block transfer coding technology. Then, the first organization can transmit the first data to be sent to the second organization based on the first hypertext transmission connection, so that normal data transmission between the organizations can be achieved when the second organization cannot open a public network port.

[0106] Furthermore, the first institution includes a first algorithm engine and a first gateway filter. The algorithm engine is a technical tool that processes and analyzes large amounts of data using complex algorithms. Its main functions include data collection, data cleaning, data storage, data analysis, and data visualization. The first algorithm engine is the algorithm engine within the first institution. In privacy-preserving computing scenarios, multiple participating institutions collaborate on privacy-preserving computing tasks, and their algorithm engines need to exchange data. The first gateway filter is a custom filter plugin located in the gateway. It can insert custom logic into the processing flow of hypertext transfer requests and responses to implement additional functions and controls.

[0107] Please see Figure 5 This is a flowchart illustrating a data transmission method provided in an embodiment of this specification. This data transmission method is applied to a first mechanism, such as... Figure 5 As shown, it includes the following steps:

[0108] In step S402, in response to receiving the first hypertext transmission request, the first gateway filter sends chunked transmission encoding indication information to the second agency based on the first hypertext transmission request;

[0109] The chunked transmission coding indication information is used to ensure that the first gateway filter and the second gateway filter in the second mechanism maintain the first hypertext transmission connection.

[0110] In the embodiments of this specification, the second organization sends a first hypertext transfer request to the first organization based on the public network port opened by the first organization. The first gateway filter in the first organization senses the first hypertext transfer request and records information such as the request ID, peer node name, request URL, request header, and request method corresponding to the first hypertext transfer request. Then, the first gateway filter sends chunked transfer encoding indication information to the second organization based on the first hypertext transfer request.

[0111] Specifically, the chunked transfer encoding indication information is a special HTTP header: Transfer-Encoding: chunked. It is used to ensure that the first hypertext transfer connection between the first and second organizations, based on the first hypertext transfer request, uses chunked transfer encoding to maintain the first hypertext transfer connection uninterrupted, allowing the first organization to send response data packets to the second organization based on this first hypertext transfer connection.

[0112] Step S404: The first algorithm engine generates a second hypertext transfer request containing the first data to be sent;

[0113] After maintaining the first hypertext transmission connection without interruption, the first algorithm engine constructs a second hypertext transmission request containing the first data to be sent, wherein the first data to be sent is the data that needs to be sent to the second organization.

[0114] Step S406: The first gateway filter encodes the second hypertext transfer request into a first response data packet corresponding to the first hypertext transfer request, and sends the first response data packet to the second gateway filter through the first hypertext transfer connection;

[0115] In the embodiments of this specification, after the first algorithm engine generates the second hypertext transfer request, it needs to send the second hypertext transfer request to the second institution. However, since the second institution does not have an open public network port, the second hypertext transfer request cannot be sent directly to the second institution. The first gateway filter obtains the second hypertext transfer request generated by the first algorithm engine and encodes the second hypertext transfer request into a first response data packet corresponding to the first hypertext transfer request, thereby sending the first response data packet to the second gateway filter through the first hypertext transfer connection.

[0116] It is easy to understand that, since the second hypertext transfer request cannot be sent to the second organization through the public network port, based on the maintained first hypertext transfer connection, the second hypertext transfer request is encoded into a response data packet to the first hypertext transfer request. The second hypertext transfer request is then sent to the second organization as the first organization's response to the first hypertext transfer request through the first hypertext transfer connection. This allows for normal data transmission between organizations even when the second organization cannot open its public network port.

[0117] Step S408: Receive a third hypertext transfer request sent by the second organization based on the public network port opened by the first organization. The third hypertext transfer request contains a second response data packet corresponding to the second hypertext transfer request.

[0118] In one or more embodiments of this specification, after the first gateway filter sends a first response data packet to the second agency, and after the second agency receives the first response data packet containing the first data to be sent, the second agency generates data reception success indication information corresponding to the first data to be sent, and constructs a second response data packet containing the data reception success indication information. The second response data packet is a response corresponding to the second hypertext transfer request. The second agency needs to send the second response data packet to the first algorithm engine, therefore, it needs to encode the second response data packet into a third hypertext transfer request, and send the third hypertext transfer request to the first agency through the public network port opened by the first agency. The first agency receives the third hypertext transfer request.

[0119] In step S410, the first gateway filter decodes the third hypertext transfer request to obtain the second response data packet corresponding to the second hypertext transfer request, and sends the second response data packet to the first algorithm engine. The second response data packet contains data reception success indication information.

[0120] In one or more embodiments of this specification, after the first mechanism receives the third hypertext transmission request, the first gateway filter first decodes the third hypertext transmission request to obtain a second response data packet corresponding to the second hypertext transmission request. Then, the second response data packet is sent from the first gateway filter to the first algorithm engine. The first algorithm engine decodes the second response data packet to obtain a data reception success indication. The second response data packet and the second hypertext transmission request containing the first data to be sent generated by the first algorithm engine form a closed loop, ensuring that each hypertext transmission request receives the corresponding response information.

[0121] Furthermore, the second institution includes a second algorithm engine, a polling client, and a second gateway filter. The algorithm engine is a technical tool that processes and analyzes large amounts of data using complex algorithms. Its main functions include data collection, data cleaning, data storage, data analysis, and data visualization. The second algorithm engine is the same as the algorithm engine in the first institution. In privacy-preserving computing scenarios, multiple participating institutions collaborate on privacy-preserving computing tasks, and their algorithm engines need to exchange data. The second gateway filter is a custom filter plugin located in the gateway. It can insert custom logic into the processing flow of hypertext transfer requests and responses to implement additional functions and controls.

[0122] Please see Figure 6 This is a flowchart illustrating a data receiving method provided in an embodiment of this specification. This data receiving method is applied to a second mechanism, such as... Figure 6 As shown, it includes the following steps:

[0123] In step S502, the polling client generates a first hypertext transfer request, and the second gateway filter proxies the first hypertext transfer request to the first gateway filter in the first organization.

[0124] The polling client generates a first hypertext transfer request, which is then proxied by the second gateway filter to the first gateway filter in the first organization, thereby establishing a first hypertext transfer connection with the first gateway filter. The polling client can regenerate the first hypertext transfer request and send it to the first gateway filter if the first hypertext transfer connection is broken, ensuring an uninterrupted connection.

[0125] Step S504: Receive chunked transfer encoding indication information sent by the first gateway filter based on the first hypertext transfer request, and enable the second gateway filter to maintain the first hypertext transfer connection with the first gateway filter based on the chunked transfer encoding indication information.

[0126] In one or more embodiments of this specification, after the second gateway filter proxies the first hypertext transfer request to the first gateway filter in the first institution, the first gateway filter sends chunked transfer encoding indication information to the second institution based on the first hypertext transfer request, so that the first hypertext transfer connection between the first gateway filter and the second gateway filter will not be easily interrupted according to the chunked transfer encoding indication information.

[0127] Step S506: In response to receiving the first response data packet, the second gateway filter decodes the first response data packet to obtain the second hypertext transfer request, and sends the second hypertext transfer request to the second algorithm engine;

[0128] Step S508: The second algorithm engine decodes the second hypertext transmission request to obtain the first data to be sent;

[0129] In one or more embodiments of this specification, after establishing a first hypertext transfer connection, the first algorithm engine of the first organization constructs a second hypertext transfer request containing first data to be sent, wherein the first data to be sent is data to be sent to the second organization. The first gateway filter encodes the second hypertext transfer request into a first response data packet corresponding to the first hypertext transfer request, and then sends the first response data packet to the second gateway filter through the first hypertext transfer connection. After receiving the first response data packet, the second gateway filter decodes the first response data packet to obtain the second hypertext transfer request, and sends the second hypertext transfer request to the second algorithm engine, so that the second algorithm engine can decode the first data to be sent from the second hypertext transfer request.

[0130] It is easy to understand that, since the second hypertext transfer request cannot be sent to the second organization through the public network port, based on the maintained first hypertext transfer connection, the second hypertext transfer request is encoded into a response data packet to the first hypertext transfer request. The second hypertext transfer request is then sent to the second organization as the first organization's response to the first hypertext transfer request through the first hypertext transfer connection. This allows for normal data transmission between organizations even when the second organization cannot open its public network port.

[0131] Step S510: The second algorithm engine generates a data reception success indication message and constructs a second response data packet containing the data reception success indication message and corresponding to the second hypertext transmission request;

[0132] In step S512, the second gateway filter constructs a third hypertext transfer request containing the second response data packet based on the second response data, and sends the third hypertext transfer request to the first organization through the public network port opened by the first organization.

[0133] In one or more embodiments of this specification, after the first gateway filter sends the first response data packet to the second agency, after the second agency receives the first response data packet containing the first data to be sent, the second agency generates data reception success indication information corresponding to the first data to be sent, and constructs a second response data packet containing the data reception success indication information. The second agency needs to send the second response data packet to the first algorithm engine, so it needs to encode the second response data packet into a third hypertext transfer request, and send the third hypertext transfer request to the first agency through the public network port opened by the first agency.

[0134] It is easy to understand that the second response data packet is the response corresponding to the second hypertext transmission request. The second response data packet is sent to the first algorithm engine of the first organization so that each hypertext transmission request can receive the corresponding response information.

[0135] Please see Figure 7 This is a schematic diagram illustrating an example of a data transmission system provided in an embodiment of this specification. Figure 7 As shown, the system includes a first organization 01 with an open public network port and a second organization 02 with a closed public network port. The first organization 01 includes a first algorithm engine 011 and a first gateway filter 012, while the second organization includes a second algorithm engine 021, a second gateway filter 022, and a polling client 023. Figure 7 As shown, in one specific implementation, sending data from a first organization 01 with an open public network port to a second organization 02 with a closed public network port may include the following steps:

[0136] S1, the polling client 023 first generates a first hypertext transfer request and sends the first hypertext transfer request to the second gateway filter 022;

[0137] S2, the second gateway filter 022 sends the first hypertext transfer request to the first agency 01;

[0138] S3, the first gateway filter 012 in the first mechanism 01 receives the first hypertext transmission request and sends the block transmission encoding indication information to the second gateway filter 022;

[0139] S4, the second gateway filter 022 periodically sends response data packets to the polling client 023 to maintain the first hypertext transmission connection corresponding to the first hypertext transmission request without interruption;

[0140] S5, the first algorithm engine 011 packages the first data to be sent to obtain the second hypertext transmission request, and sends the second hypertext transmission request to the first gateway filter 012;

[0141] S6, the first gateway filter 012 encodes the second hypertext transfer request into a first response data packet corresponding to the first hypertext transfer request, and sends the first response data packet to the second gateway filter 022 through the first hypertext transfer connection;

[0142] S7, the second gateway filter 022 decodes the first response data packet to obtain the second hypertext transfer request, and sends the second hypertext transfer request to the second algorithm engine 021;

[0143] S8, the second algorithm engine 021 generates a data reception success indication message, constructs a second response data packet containing the data reception success indication message and corresponding to the second hypertext transmission request, and sends the second response data packet to the second gateway filter 022;

[0144] S9, the second gateway filter 022 encodes the second response data packet into a third hypertext transfer request, and sends the third hypertext transfer request to the first gateway filter 012 through the public network port opened by the first agency;

[0145] S10, the first gateway filter 012 decodes the third hypertext transfer request to obtain the second response data packet, and sends the second response data packet to the first algorithm engine 011.

[0146] Using the data transmission system proposed in the embodiments of this specification, when a first organization with an open public network port needs to send data to a second organization without an open public network port, the second organization first sends a first hypertext transmission request to the first organization based on the open public network port of the first organization. After the first organization receives the first hypertext transmission request, the first organization and the second organization maintain the first hypertext transmission connection without interruption based on block transfer coding technology. Then, the first organization can transmit the first data to be sent to the second organization based on the first hypertext transmission connection, thus realizing normal data transmission between organizations even when the second organization cannot open a public network port.

[0147] Furthermore, in some special cases, it may be possible that none of the participating institutions in a privacy computing scenario can open public network ports. In this case, an intermediary institution with open public network ports is needed. Each participating institution that cannot open public network ports can use data sending and receiving methods similar to those in the above embodiments to communicate with the intermediary institution. The intermediary institution is used as a relay to realize data transmission between participating institutions that cannot open public network ports.

[0148] Please see Figure 8This is a flowchart illustrating a data transmission method provided in an embodiment of this specification. In this embodiment, the data transmission method is applied to a second institution that does not have a public network port open. The following will focus on... Figure 8 The process shown will be described in detail. The data sending method may specifically include the following steps:

[0149] Step S602: Construct a fourth hypertext transfer request containing the second data to be sent;

[0150] Step S604: A fourth hypertext transfer request is sent to the intermediate agency based on the public network port opened by the intermediate agency, so that the intermediate agency forwards the fourth hypertext transfer request to the third agency, wherein the third agency does not open the public network port;

[0151] In the embodiments described in this specification, neither the second nor the third institution has an open public network port. When the second institution needs to send second data to the third institution, it must first send a fourth hypertext transfer request containing the second data to the intermediate institution, which then forwards the fourth hypertext transfer request to the third institution. Since the intermediate institution has an open public network port, the second institution can directly send the fourth hypertext transfer request to the intermediate institution through the open public network port.

[0152] Step S606: Receive a third response data packet returned by the intermediate agency based on the fourth hypertext transmission request. The third response data packet includes data reception success indication information corresponding to the fourth hypertext transmission request. The data reception success indication information is generated by the third agency and sent to the intermediate agency.

[0153] In the embodiments of this specification, after the third institution receives the fourth hypertext transmission request forwarded by the intermediate structure, it will send a third response data packet corresponding to the fourth hypertext transmission request to the second institution through the intermediate institution. The third response data packet includes data reception success indication information corresponding to the fourth hypertext transmission request.

[0154] Please see Figure 9 This is a flowchart illustrating a data forwarding method provided in an embodiment of this specification. In this embodiment, the data forwarding method is applied to an intermediate organization, the second organization having an open public network port. The following will focus on... Figure 9 The process shown will be described in detail. The data forwarding method may specifically include the following steps:

[0155] Step S702: In response to receiving a fifth hypertext transfer request sent by a third organization based on a public network port opened by an intermediate organization, the third organization maintains a second hypertext transfer connection based on chunked transfer coding technology, and the third organization does not open a public network port;

[0156] It should be noted that neither the second nor the third organization has an open public network port. During the process of the second organization sending data to the third organization, the intermediate organization needs to forward the data to the third organization. Therefore, the intermediate organization needs to establish a second hypertext transfer connection with the third organization to send the data sent by the second organization to the third organization in the form of a response data packet.

[0157] In the embodiments described in this specification, since the third entity does not have a public network port open, the intermediate entity cannot directly send data to the third entity. Before sending data to the third entity, the intermediate entity first receives a first hypertext transfer request sent by the third entity. Since the intermediate entity has a public network port open, the third entity can directly send a fifth hypertext transfer request to the intermediate entity through the public network port open by the intermediate entity. After receiving the fifth hypertext transfer request sent by the third entity, the intermediate entity maintains a second hypertext transfer connection with the third entity based on chunked transfer coding technology.

[0158] Step S704: In response to receiving the fourth hypertext transfer request sent by the second organization based on the public network port opened by the intermediate organization, the fourth hypertext transfer request is encoded into a fourth response data packet corresponding to the fifth hypertext transfer request. The fourth hypertext transfer request contains the second data to be sent by the second organization to the third organization.

[0159] Step S706: The fourth response data packet is sent to the third organization via the second hypertext transfer connection;

[0160] In the embodiments of this specification, the second agency encodes the second data to be sent to the third agency into a fourth hypertext transfer request and sends it to the intermediate agency. After receiving the fourth hypertext transfer request sent by the second agency based on the public network port opened by the intermediate agency, the intermediate agency encodes the fourth hypertext transfer request into a fourth response data packet corresponding to the fifth hypertext transfer request, and then sends the fourth response data packet to the third agency based on the second hypertext transfer connection.

[0161] Step S708: In response to receiving the sixth hypertext transfer request sent by the third organization, decode the sixth hypertext transfer request to obtain the third response data packet corresponding to the fourth hypertext transfer request;

[0162] Step S710: Send the third response data packet to the second agency. The third response data packet includes data reception success indication information corresponding to the fourth hypertext transfer request.

[0163] In the embodiments described in this specification, after the third agency receives the fourth response data packet containing the second data to be sent, the third agency returns a data reception success indication message to the second agency. That is, after the intermediate agency sends the fourth response data packet to the third agency through the second hypertext transfer connection, it receives a sixth hypertext transfer request sent by the third agency based on the public network port opened by the second agency. The sixth hypertext transfer request contains the data reception success indication message corresponding to the fourth hypertext transfer request.

[0164] Please see Figure 10 This is a flowchart illustrating a data receiving method provided in an embodiment of this specification. In this embodiment, the data receiving method is applied to a third organization that does not have a public network port open. The following will focus on... Figure 10 The process shown will be described in detail. The data receiving method may specifically include the following steps:

[0165] Step S802: Send a fifth hypertext transfer request to the intermediate agency based on the public network port opened by the intermediate agency, and maintain the second hypertext transfer connection corresponding to the fifth hypertext transfer request based on the block transfer encoding technology and the intermediate agency.

[0166] It should be noted that neither the second nor the third organization has an open public network port. During the process of the second organization sending data to the third organization, the intermediate organization needs to forward the data to the third organization. Therefore, the intermediate organization needs to establish a second hypertext transfer connection with the third organization to send the data sent by the second organization to the third organization in the form of a response data packet.

[0167] In the embodiments described in this specification, since the third organization does not have a public network port open, the intermediate organization cannot directly send data to the third organization. Before the intermediate organization sends data to the third organization, the third organization can first send a fifth hypertext transfer request to the intermediate organization through the public network port open by the intermediate organization. This allows the intermediate organization to maintain the second hypertext transfer connection with the third organization after receiving the fifth hypertext transfer request, based on chunked transfer coding technology. Thus, the third organization can receive data forwarded by the second organization through the intermediate organization based on the second hypertext transfer connection.

[0168] Step S804: Receive the fourth response data packet sent by the intermediate agency based on the second hypertext transfer connection, decode the fourth response data packet to obtain the fourth hypertext transfer request, the fourth hypertext transfer request is sent by the second agency to the intermediate agency, and the fourth hypertext transfer request includes the second data to be sent corresponding to the second agency;

[0169] After receiving the fourth hypertext transfer request sent by the second institution through its open public network port, the intermediate institution encodes the fourth hypertext transfer request into a fourth response data packet corresponding to the fifth hypertext transfer request, and then sends the fourth response data packet to the third institution via the second hypertext transfer connection. Upon receiving the fourth response data packet sent by the intermediate institution via the second hypertext transfer connection, the third institution decodes the fourth response data packet to obtain the fourth hypertext transfer request. Further decoding of the fourth hypertext transfer request yields the second data to be sent by the second institution to the third institution.

[0170] Step S806: Generate data reception success indication information corresponding to the fourth hypertext transfer request, and construct a third response data packet containing the data reception success indication information;

[0171] Step S808: Construct a sixth hypertext transfer request containing the third response data packet, and send the sixth hypertext transfer request to the intermediate agency through the public network port opened by the intermediate agency, so that the intermediate agency can decode the sixth hypertext transfer request and send the third response data to the second agency.

[0172] In the embodiments of this specification, after the third agency receives the fourth response data packet and decodes it to obtain the fourth hypertext transmission request, the third agency generates data reception success indication information corresponding to the fourth hypertext transmission request, and constructs a third response data packet containing the data reception success indication information. The third response data packet is a response data packet corresponding to the fourth hypertext transmission request. The third agency encodes the third response data packet into a sixth hypertext transmission request, and sends the sixth hypertext transmission request to the intermediate agency through the public network port opened by the intermediate agency, so that the intermediate agency decodes the sixth hypertext transmission request and sends the third response data to the second agency.

[0173] Please see Figure 11 This document provides a schematic diagram of a data transmission system as an embodiment of the present specification. Figure 11As shown, the data transmission system includes a second organization 02, a third organization 03, and an intermediate organization 04. Neither the second organization 02 nor the third organization 03 has an open public network port, while the intermediate organization 04 has an open public network port. Specifically: the third organization sends a fifth hypertext transmission request to the intermediate organization via the open public network port; the intermediate organization, in response to receiving the fifth hypertext transmission request, maintains the second hypertext transmission connection with the third organization based on chunked transfer coding technology; the second organization sends a fourth hypertext transmission request containing second data to be transmitted to the intermediate organization via the open public network port; the intermediate organization, in response to receiving the fourth hypertext transmission request sent by the second organization via the open public network port, encodes the fourth hypertext transmission request into a fourth response data packet corresponding to the fifth hypertext transmission request, and sends the fourth response data packet to the third organization via the second hypertext transmission connection. The fourth hypertext transmission request contains the second data to be transmitted from the second organization to the third organization.

[0174] In the embodiments of this specification, when a second organization that does not have a public network port open needs to send data to a third organization that also does not have a public network port open, the third organization first sends a fifth hypertext transfer request to the intermediate organization based on the public network port open by the intermediate organization, so as to maintain the second hypertext transfer connection based on the block transfer coding technology and the intermediate organization. Then, the second organization sends a fourth hypertext transfer request containing the second data to be sent to the intermediate organization based on the public network port open by the intermediate organization. The intermediate organization encodes the fourth hypertext transfer request into a fourth response data packet corresponding to the fifth hypertext transfer request, and sends the fourth response data packet to the third organization based on the second hypertext transfer connection. Normal data transmission between the two organizations is achieved when neither the second nor the third organization can open a public network port.

[0175] This specification also provides a computer-readable storage medium storing a computer program thereon. When the computer program is executed by a processor, it implements the data sending method, data receiving method, and data forwarding method described above. For details of the execution process, please refer to the specific descriptions of the relevant embodiments above, which will not be repeated here.

[0176] This specification also provides a computer program product that stores at least one instruction, which is loaded and executed by the processor as described above for the data sending method, data receiving method, and data forwarding method. For details of the execution process, please refer to the specific descriptions of the relevant embodiments described above, which will not be repeated here.

[0177] The embodiments in this specification also provide Figure 11 The diagram shows the structure of the electronic device. Figure 11At the hardware level, the electronic device may include a processor, an internal bus, a network interface, memory, and non-volatile memory, and may also include other hardware required for the services. The processor reads the corresponding computer program from the non-volatile memory into memory and then runs it to implement the above-mentioned data sending method, data receiving method, and data forwarding method. For the specific execution process, please refer to the detailed description of the above-mentioned related embodiments, which will not be repeated here.

[0178] Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of hardware and software. In other words, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0179] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, for computer-readable storage media, computer program products, and... Figure 11 As the electronic device shown is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0180] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must also be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also understand that by simply performing some logic programming on the method flow using one of these hardware description languages ​​and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.

[0181] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.

[0182] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0183] For ease of description, the above devices are described in terms of function, divided into various units. Of course, in implementing this specification, the functions of each unit can be implemented in one or more software and / or hardware components.

[0184] Those skilled in the art will understand that embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0185] This specification is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this specification. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0186] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0187] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0188] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0189] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0190] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0191] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0192] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0193] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0194] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0195] The above description is merely an embodiment of this specification and is not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this specification.

Claims

1. A data transmission method applied to a first institution, the first institution including a first algorithm engine and a first gateway filter, the first institution having an open public network port, the method comprising: In response to receiving a first hypertext transmission request, the first gateway filter sends chunked transmission encoding indication information to the second agency based on the first hypertext transmission request. The chunked transmission encoding indication information is used to ensure that the first gateway filter and the second gateway filter in the second agency maintain the first hypertext transmission connection, and the second agency does not open public network ports. The first algorithm engine generates a second hypertext transfer request containing the first data to be sent. The first gateway filter encodes the second hypertext transfer request into a first response data packet corresponding to the first hypertext transfer request, and sends the first response data packet to the second gateway filter through the first hypertext transfer connection, so that the second agency decodes the first response data packet to obtain the first data to be sent, and performs privacy calculations based on the first data to be sent.

2. The method according to claim 1, further comprising: The system receives a third hypertext transmission request sent by a second organization based on a public network port opened by the first organization. The third hypertext transmission request includes data reception success indication information corresponding to the first data to be sent.

3. The method according to claim 1, further comprising: Receive a third hypertext transfer request sent by the second organization based on the public network port opened by the first organization, wherein the third hypertext transfer request includes a second response data packet corresponding to the second hypertext transfer request; The first gateway filter decodes the third hypertext transfer request to obtain a second response data packet corresponding to the second hypertext transfer request, and sends the second response data packet to the first algorithm engine. The second response data packet contains data reception success indication information.

4. A data receiving method applied to a second institution, the second institution including a second algorithm engine, a polling client, and a second gateway filter, wherein the second institution does not have a public network port open, the method comprising: The polling client generates a first hypertext transfer request, and the second gateway filter proxies the first hypertext transfer request to the first gateway filter in the first organization; The first gateway filter receives chunked transfer encoding indication information sent by the first gateway filter based on the first hypertext transfer request, and the second gateway filter maintains the first hypertext transfer connection with the first gateway filter based on the chunked transfer encoding indication information. In response to receiving the first response data packet, the second gateway filter decodes the first response data packet to obtain the second hypertext transfer request, and sends the second hypertext transfer request to the second algorithm engine; The second algorithm engine decodes the second hypertext transmission request to obtain the first data to be sent, and performs privacy calculations based on the first data to be sent.

5. The method according to claim 4, further comprising, after receiving the first response data packet sent by the first institution based on the first hypertext transfer connection: Generate a data reception success indication message; A third hypertext transfer request containing the data reception success indication information is constructed, and the third hypertext transfer request is sent to the first institution through the public network port opened by the first institution.

6. The method according to claim 4, after the second algorithm engine decodes the second hypertext transfer request to obtain the first data to be sent, it further includes: The second algorithm engine generates a data reception success indication message and constructs a second response data packet containing the data reception success indication message and corresponding to the second hypertext transmission request; The second gateway filter constructs a third hypertext transfer request containing the second response data packet based on the second response data, and sends the third hypertext transfer request to the first institution through the public network port opened by the first institution.

7. A data transmission system, the system comprising at least a first mechanism and a second mechanism, the first mechanism comprising a first algorithm engine and a first gateway filter, the first mechanism having an open public network port, the second mechanism comprising a second algorithm engine, a polling client, and a second gateway filter, the second mechanism not having an open public network port, wherein: The polling client is used to generate the first hypertext transfer request; The second gateway filter is used to proxy the first hypertext transfer request to the first gateway filter in the first organization; The first gateway filter is used to send chunked transfer encoding indication information to the second organization based on the first hypertext transfer request; The second gateway filter is used to maintain the first hypertext transfer connection based on the chunked transfer encoding indication information and the first gateway filter; The first algorithm engine is used to generate a second hypertext transfer request containing the first data to be sent; The first gateway filter is used to encode the second hypertext transfer request into a first response data packet corresponding to the first hypertext transfer request, and send the first response data packet to the second gateway filter through the first hypertext transfer connection; The second gateway filter is also used to decode the first response data packet to obtain the second hypertext transfer request, and send the second hypertext transfer request to the second algorithm engine; The second algorithm engine is used to decode the second hypertext transmission request, obtain the first data to be sent, and perform privacy calculations based on the first data to be sent.

8. A data transmission method applied to a second institution, wherein the second institution does not have a public network port open, the method comprising: Construct a fourth hypertext transfer request containing the second data to be sent; The fourth hypertext transfer request is sent to the intermediary via the public network port opened by the intermediary, so that the intermediary forwards the fourth hypertext transfer request to the third organization; The third organization did not open its public network port.

9. The method according to claim 8, further comprising: The receiving intermediary returns a third response data packet based on the fourth hypertext transmission request. The third response data packet includes data reception success indication information corresponding to the fourth hypertext transmission request. The data reception success indication information is generated by the third institution and sent to the intermediary.

10. A data forwarding method applied to an intermediary organization, the intermediary organization having an open public network port, the method comprising: In response to receiving a fifth hypertext transfer request sent by a third organization based on a public network port opened by the intermediate organization, the third organization maintains a second hypertext transfer connection based on chunked transfer coding technology, and the third organization does not open a public network port; In response to receiving a fourth hypertext transfer request sent by the second organization based on the public network port opened by the intermediate organization, the fourth hypertext transfer request is encoded into a fourth response data packet corresponding to the fifth hypertext transfer request, wherein the fourth hypertext transfer request contains second data to be sent by the second organization to the third organization; The fourth response data packet is sent to the third agency via the second hypertext transfer connection.

11. The method according to claim 10, further comprising: In response to receiving a sixth hypertext transmission request sent by the third organization, the sixth hypertext transmission request is decoded to obtain a third response data packet corresponding to the fourth hypertext transmission request; The third response data packet is sent to the second agency, and the third response data packet includes data reception success indication information corresponding to the fourth hypertext transfer request.

12. A data receiving method, applied to a third organization, wherein the third organization does not have a public network port open, the method comprising: A fifth hypertext transfer request is sent to the intermediary via the public network port opened by the intermediary, and the intermediary maintains the second hypertext transfer connection corresponding to the fifth hypertext transfer request based on the chunked transfer encoding technology. The system receives a fourth response data packet sent by the intermediate institution based on the second hypertext transfer connection, decodes the fourth response data packet to obtain a fourth hypertext transfer request, the fourth hypertext transfer request is sent by the second institution to the intermediate institution, and the fourth hypertext transfer request includes second data to be sent corresponding to the second institution.

13. The method according to claim 12, further comprising, after receiving the fourth response data packet sent by the intermediate mechanism based on the second hypertext transfer connection and decoding the fourth response data packet to obtain the fourth hypertext transfer request: Generate data reception success indication information corresponding to the fourth hypertext transmission request, and construct a third response data packet containing the data reception success indication information; A sixth hypertext transfer request corresponding to the third response data packet is constructed, and the sixth hypertext transfer request is sent to the intermediate agency through the public network port opened by the intermediate agency, so that the intermediate agency decodes the sixth hypertext transfer request and sends the third response data to the second agency.

14. A data transmission system, the system comprising at least a second institution, a third institution, and an intermediate institution, wherein the second institution and the third institution have no public network ports open, and the intermediate institution has a public network port open, wherein: The third agency is used to send a fifth hypertext transfer request to the intermediate agency based on the public network port opened by the intermediate agency; The intermediate mechanism is used to maintain the second hypertext transmission connection based on chunked transfer coding technology and the third mechanism in response to receiving the fifth hypertext transmission request; The second mechanism is used to send a fourth hypertext transfer request containing second data to be sent to the intermediate mechanism via the public network port opened by the intermediate mechanism; The intermediate mechanism is also configured to respond to receiving a fourth hypertext transfer request sent by the second mechanism based on the public network port opened by the intermediate mechanism, encode the fourth hypertext transfer request into a fourth response data packet corresponding to the fifth hypertext transfer request, and send the fourth response data packet to the third mechanism based on the second hypertext transfer connection. The fourth hypertext transfer request contains second data to be sent by the second mechanism to the third mechanism.

15. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the steps of the method according to any one of claims 1-3, 4-6, 8-9, 10-11, or 12-13.

16. An electronic device comprising: A processor and a memory; wherein the memory stores a computer program adapted to be loaded by the processor and to execute the steps of the method as described in any one of claims 1-3, 4-6, 8-9, 10-11, or 12-13.

17. A computer program product having stored at least one instruction thereon, which, when executed by a processor, performs the steps of the method according to any one of claims 1-3, 4-6, 8-9, 10-11, or 12-13.