WO2022206452A1 - 服务集成中的数据传输方法、装置、设备、存储介质及计算机程序产品 - Google Patents
服务集成中的数据传输方法、装置、设备、存储介质及计算机程序产品 Download PDFInfo
- Publication number
- WO2022206452A1 WO2022206452A1 PCT/CN2022/082006 CN2022082006W WO2022206452A1 WO 2022206452 A1 WO2022206452 A1 WO 2022206452A1 CN 2022082006 W CN2022082006 W CN 2022082006W WO 2022206452 A1 WO2022206452 A1 WO 2022206452A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- service
- address
- connector
- target service
- agent
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 401
- 230000010354 integration Effects 0.000 title claims abstract description 121
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000004590 computer program Methods 0.000 title claims abstract description 14
- 230000004044 response Effects 0.000 claims description 64
- 230000015654 memory Effects 0.000 claims description 39
- 238000013507 mapping Methods 0.000 claims description 28
- 238000012546 transfer Methods 0.000 claims description 16
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 72
- 238000005129 volume perturbation calorimetry Methods 0.000 description 72
- 238000010586 diagram Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 230000003993 interaction Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 235000019800 disodium phosphate Nutrition 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004549 pulsed laser deposition Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5051—Service on demand, e.g. definition and deployment of services in real time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/508—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
- H04L41/5096—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Definitions
- the present application relates to the field of cloud computing services, and in particular, to a data transmission method, apparatus, device, computer-readable storage medium, and computer program product in service integration.
- iPaaS Integration Platform as a Service
- iPaaS Integration Platform as a Service
- VPC Virtual Private Cloud
- the iPaaS system cannot be directly connected to the private services and databases of the customer's intranet, so the integration logic of the private services and databases of the intranet cannot be completed.
- cross-region VPCs cannot be directly connected through the customer's intranet, they cannot be integrated through the iPaaS system deployed on the VPC.
- the embodiments of the present application provide a data transmission method, apparatus, device, computer-readable storage medium, and computer program product in service integration, which can realize network intercommunication between an iPaaS system and a tenant's intranet, and realize services in the intranet Therefore, the integration logic of services in different intranets or different VPCs of the same tenant can be realized, and the service integration capability of the iPaaS system can be improved.
- An embodiment of the present application provides a data transmission method in service integration, the method comprising:
- the gateway of the iPaaS system receives the data transmission request sent by the connector of the iPaaS system;
- the iPaaS system is deployed on the first virtual private cloud VPC of the tenant to which the iPaaS system belongs in the cloud network;
- the service proxy is deployed in the tenant's intranet, the target service is deployed in the intranet or the tenant's second VPC, and the first transmission connection is based on the service proxy initiated.
- the first connection establishment request is established;
- the service agent sends the data transmission request of the connector to the target service to be accessed by the connector.
- the embodiment of the present application provides a data transmission method in service integration, including:
- the service agent receives the data transmission request of the connector of the iPaaS system sent by the gateway of the iPaaS system and the address identifier of the target service to be accessed by the connector;
- the iPaaS system is deployed on the first VPC of the tenant to which the iPaaS system belongs in the cloud network, the service agent is deployed in the tenant's intranet, and the target service is deployed in the intranet or the In the tenant's second VPC;
- the connector When receiving the response data sent by the target service to be accessed by the connector, determine the first transmission connection for data transmission between the service agent and the gateway based on the address identifier of the target service; wherein the first transmission connection is A transmission connection is established based on the first connection establishment request initiated by the service agent;
- the gateway determines the connector based on the address identifier, and sends the response data of the target service to the connector.
- the embodiment of the present application provides a data transmission device in service integration, including:
- a first receiving module configured as the gateway of the iPaaS system to receive the data transmission request sent by the connector of the iPaaS system; the iPaaS system is deployed on the first VPC of the tenant to which the iPaaS system belongs in the cloud network;
- a first mapping module configured to determine, based on the configured service configuration information, an address identifier of a target service to be accessed by the connector, and a first transmission connection for data transmission between the gateway and a service proxy of the target service; wherein , the service agent is deployed in the tenant's intranet, the target service is deployed in the intranet or the tenant's second VPC, and the first transmission connection is based on the first transmission connection initiated by the service agent.
- a connection establishment request is established;
- a first sending module configured to send the data transmission request and the address identifier of the target service to the service agent through the first transmission connection; wherein the service agent sends the address identifier to the service agent based on the address identifier.
- the data transfer request of the connector is sent to the target service to be accessed by the connector.
- the embodiment of the present application provides a data transmission device in service integration, including:
- the fourth receiving module is configured as the service agent to receive the data transmission request of the connector of the iPaaS system sent by the gateway of the iPaaS system and the address identifier of the target service to be accessed by the connector; wherein, the iPaaS system is deployed in the cloud.
- the service agent On the first VPC of the tenant to which the iPaaS system belongs in the network, the service agent is deployed in the tenant's intranet, and the target service is deployed in the intranet or the tenant's second VPC;
- a fifth sending module configured to send the data transmission request of the connector to the target service to be accessed by the connector based on the address identifier
- a fifth receiving module configured to, when receiving the response data sent by the target service to be accessed by the connector, determine the first transmission of data transmission between the service agent and the gateway based on the address identifier of the target service connection; wherein, the first transmission connection is established based on a first connection establishment request initiated by the service agent;
- the sixth sending module is configured to send the response data of the target service and the address identifier of the target service to the gateway through the first transmission connection; wherein the gateway determines the address identifier based on the address identifier.
- the connector sends the response data of the target service to the connector.
- An embodiment of the present application provides a data transmission device in service integration, including: a memory for storing executable instructions; and a processor for implementing the data transmission provided by the embodiments of the present application when executing the executable instructions stored in the memory.
- Data transfer method in service integration including: a processor for implementing the data transmission provided by the embodiments of the present application when executing the executable instructions stored in the memory.
- the embodiments of the present application provide a computer-readable storage medium storing executable instructions for implementing the data transmission method in the service integration provided by the embodiments of the present application when executed by a processor.
- the embodiments of the present application provide a computer program product, including a computer program or instructions, the computer program or instructions enable a computer to execute the above-mentioned data transmission method in service integration.
- the transmission connection sends the data transmission request and the address identifier of the target service to the service agent through the first transmission connection, so that the service agent sends the data transmission request to the target service based on the address identifier.
- the target service Since the iPaaS system is deployed on the tenant's first VPC, the target service is deployed on the intranet or the tenant's first VPC. On two VPCs, and through the first transmission connection, the data transmission request is transmitted to the service agent of the target service, so that the integration logic of services in different intranets or different VPCs of the same tenant can be realized, and the service integration capability of the iPaaS system can be improved.
- FIG. 1A is a schematic diagram of a scenario of deploying an iPaaS system in the related art
- FIG. 1B is a schematic diagram of a scenario of deploying an iPaaS system in the related art
- 1C is a schematic diagram of a scenario of deploying an iPaaS system in the related art
- FIG. 1D is a schematic diagram of the architecture of the privatization deployment of the iPaaS system in the related art
- 1E is a schematic structural diagram of an integrated service system provided by an embodiment of the present application.
- FIG. 2A is a schematic structural diagram of a data transmission device in service integration provided by an embodiment of the present application.
- 2B is a schematic structural diagram of a data transmission device in service integration provided by an embodiment of the present application.
- FIG. 3 is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application.
- FIG. 4 is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application.
- 5A is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application.
- 5B is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application.
- 5C is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application.
- 6A is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application.
- 6B is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application.
- FIG. 7 is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application.
- FIG. 8A is a schematic diagram of an implementation architecture of a service integration system provided by an embodiment of the present application.
- 8B is a schematic diagram of an implementation architecture of a service integration system provided by an embodiment of the present application.
- 8C is a schematic diagram of an interaction flow between modules in a service integration system provided by an embodiment of the present application.
- 8D is a schematic diagram of state transition of private cloud metadata in a service integration system provided by an embodiment of the present application.
- FIG. 9 is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application.
- FIG. 10 is a schematic diagram of the composition and architecture of a service integration system that adopts a traffic forwarding mode for port mapping provided by an embodiment of the present application;
- FIG. 11 is a schematic diagram of the composition and architecture of a service integration system using a NAT mode for port mapping provided by an embodiment of the present application.
- first ⁇ second ⁇ third is only used to distinguish similar objects, and does not mean With regard to the specific ordering of objects, it can be understood that “first ⁇ second ⁇ third” can be interchanged in a specific order or sequence if permitted, so that the embodiments of the present application described herein can be used in a manner other than those shown in the drawings. performed in an order other than that shown or described.
- the iPaaS system has limitations in some scenarios and cannot meet integration requirements.
- the integration logic cannot be completed through the iPaaS system:
- the target tenant's internal system 11 and database 12 are deployed in the intranet 10
- the internal private SaaS 21 is deployed in the intranet 20
- the iPaaS system 31 is deployed on the public cloud VPC, without any
- the iPaaS system 31 can directly connect to the public network SaaS 32, but cannot directly connect to the internal system 11 and the database 12 in the intranet 10, and the internal
- the internal private SaaS 21 in the network 20 cannot complete the integration logic of the internal system 11, the database 12 and the private SaaS 21.
- the merchant system 41 and the database 42 are deployed on the merchant VPC 40 in the virtual cloud, and the iPaaS system 51 is deployed on the iPaaS VPC 50 in the virtual cloud.
- the merchant VPC 40 and the iPaaS VPC 50 belong to different In the case of a region (Region), since the VPC between regions cannot be directly connected through the intranet, the merchant system 41 and the database 42 cannot be integrated through the iPaaS system 51 deployed on the iPaaS VPC 50.
- a region region
- the Home Register (HR, Home Register) system 61 and database 62 are deployed on the self-developed VPC 60 in the virtual cloud, and the iPaaS system 71 is deployed on the iPaaS VPC 70 in the virtual cloud.
- the HR system 61 and the database 62 cannot be integrated through the iPaaS system 71 deployed on the iPaaS VPC 70.
- a complete set of private iPaaS system 81 is deployed on the intranet 80 of the target tenant, and the private iPaaS system 81 is used to open up the database 82 and the internal private SaaS 83 in the same intranet , while the private iPaaS system 81 supports intercommunication with the public network SaaS 32, but the private iPaaS system 81 does not communicate with the database 91 deployed in another intranet 90 and the network between the internal private SaaS 92.
- the privatized deployment of the iPaaS system in the above-mentioned related technologies cannot completely solve the problem of intranet intercommunication, and there are the following problems: 1) It cannot support the integration of services in multiple non-interoperable intranets or VPCs, if the tenant owns more than one In the intranet, a set of private iPaaS cannot meet the integration of services and databases between multiple non-interoperable intranets; 2) The cost is high, multiple customers need to deploy multiple sets of private iPaaS systems, and the resource requirements are high; 3) Iterative update cycle Long, each time the iPaaS system is iteratively updated, all private iPaaS systems deployed on the tenant’s intranet need to be updated simultaneously; 4) Maintenance is difficult, as there are differences in resources and networks of different customers, and the operation and maintenance costs of private iPaaS systems will be very high. big.
- the embodiments of the present application provide a data transmission method, apparatus, device, computer-readable storage medium, and computer program product in service integration, which can realize network intercommunication between an iPaaS system and a tenant's intranet, and realize services in the intranet
- the integration logic and because the iPaaS system is deployed on the tenant's first VPC, the target service is deployed on the intranet or the tenant's second VPC, and the data transmission request is transmitted to the service proxy of the target service through the first transmission connection, so it can be Realize the integration logic of services in different intranets or different VPCs of the same tenant, thereby improving the service integration capability of the iPaaS system and effectively reducing the development, maintenance and iteration costs of the iPaaS system.
- the data transmission device in the service integration provided by the embodiment of the present application may be a gateway of an iPaaS system, or may be deployed in a tenant's intranet service agent.
- both the gateway and the service agent can be implemented as laptops, tablets, desktop computers, in-vehicle navigators, set-top boxes, mobile devices (eg, mobile phones, portable music players, personal digital assistants, dedicated messaging devices, Various types of user terminals such as portable game devices) can also be implemented as servers.
- mobile devices eg, mobile phones, portable music players, personal digital assistants, dedicated messaging devices, Various types of user terminals such as portable game devices
- Various types of user terminals such as portable game devices
- FIG. 1E is a schematic diagram of the architecture of an integrated service system 100 provided by an embodiment of the present application, which can integrate services in an intranet according to a certain logic
- the integrated service system 100 includes an intranet (exemplary Service proxies (service proxies 410-1 and 410-2 are illustratively shown) and services (services 420-1 and 420-2 are illustratively shown) Service 420-2), the iPaaS system 500 deployed on the first virtual private cloud, and the gateway 510 of the iPaaS system 500, network intercommunication can be realized between the service agent and the gateway 510, and the iPaaS system can communicate with the service agent through the gateway 510 and the service agent. Data transmission and intercommunication are performed between the corresponding services, and the iPaaS system 500 also supports intercommunication with the public network SaaS 32 .
- the gateway 510 is used for: receiving the data transmission request sent by the connector of the iPaaS system; the iPaaS system is deployed on the first virtual private cloud VPC of the tenant to which the iPaaS system belongs in the cloud network; based on the configured service configuration information, Determine the address identifier of the target service to be accessed by the connector, and the first transmission connection between the gateway and the service proxy of the target service for data transmission; wherein the service proxy is deployed in the tenant's intranet , the target service is deployed in the intranet or the tenant's second VPC, and the first transmission connection is established based on a first connection establishment request initiated by the service agent; through the first transmission connection , sending the data transmission request and the address identifier of the target service to the service agent, so that the service agent sends the data transmission request of the connector to the connector to be sent based on the address identifier The target service accessed.
- the service agent is used for: receiving the data transmission request of the connector of the iPaaS system sent by the gateway of the iPaaS system and the address identifier of the target service to be accessed by the connector; wherein, the iPaaS system is deployed in the cloud network.
- the service agent On the first VPC of the tenant to which the iPaaS system belongs, the service agent is deployed in the tenant's intranet, and the target service is deployed in the intranet or in the tenant's second VPC; based on the address identifier, sending the data transmission request of the connector to the target service to be accessed by the connector; in the case of receiving the response data sent by the target service to be accessed by the connector, based on the address identification of the target service, determining a first transmission connection for data transmission between the service agent and the gateway; wherein the first transmission connection is established based on a first connection establishment request initiated by the service agent; through the first transmission connection, Send the response data of the target service and the address identifier of the target service to the gateway, so that the gateway determines the connector based on the address identifier, and sends the response data of the target service to the gateway.
- the connector described above.
- both the gateway 510 and the service agent may be independent physical servers, or may be server clusters or distributed systems composed of multiple physical servers, or may provide cloud services, cloud databases, cloud computing, and cloud functions. , cloud storage, network services, cloud communications, middleware services, domain name services, security services, Content Delivery Network (CDN, Content Delivery Network), and cloud servers for basic cloud computing services such as big data and artificial intelligence platforms.
- the gateway and the service proxy may be directly or indirectly connected through wired or wireless communication, which is not limited in this embodiment of the present invention.
- both the gateway 510 and the service agent may also be nodes in a blockchain system, wherein the blockchain system may be any form of computing device connected to the network by multiple nodes (such as servers, A distributed node formed by a user terminal) and a client, and a peer-to-peer (P2P, Peer To Peer) network is formed between the nodes.
- the P2P protocol is an application layer protocol running on top of the Transmission Control Protocol (TCP, Transmission Control Protocol). .
- TCP Transmission Control Protocol
- Transmission Control Protocol Transmission Control Protocol
- FIG. 2A is a schematic structural diagram of a data transmission device 200 in service integration provided by an embodiment of the present application.
- the data transmission device 200 in service integration is implemented as a gateway, and the data in service integration shown in FIG. 2A
- the transmission device 200 includes: at least one processor 210 , a memory 250 , at least one network interface 220 and a user interface 230 .
- the various components in the data transmission device 200 in the service integration are coupled together by the bus system 240 .
- the bus system 240 is used to implement connection communication between these components.
- the bus system 240 also includes a power bus, a control bus and a status signal bus.
- the various buses are labeled as bus system 240 in FIG. 2A.
- the processor 210 may be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where a general-purpose processor may be a microprocessor or any conventional processor or the like.
- DSP Digital Signal Processor
- User interface 230 includes one or more output devices 231 that enable presentation of media content, including one or more speakers and/or one or more visual display screens.
- User interface 230 also includes one or more input devices 232, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, and other input buttons and controls.
- Memory 250 may be removable, non-removable, or a combination thereof.
- Exemplary hardware devices include solid state memory, hard drives, optical drives, and the like.
- Memory 250 optionally includes one or more storage devices that are physically remote from processor 210 .
- Memory 250 includes volatile memory or non-volatile memory, and may also include both volatile and non-volatile memory.
- the non-volatile memory can be a read-only memory (ROM, Read Only Me-mory), and the volatile memory can be a random access memory (RAM, Random Access Memory-y).
- ROM Read Only Me-mory
- RAM Random Access Memory-y
- the memory 250 described in the embodiments of the present application is intended to include any suitable type of memory.
- memory 250 is capable of storing data to support various operations, examples of which include programs, modules, and data structures, or subsets or supersets thereof, as exemplified below.
- Operating system 251 including system programs for processing various basic system services and performing hardware-related tasks, such as framework layer, core library layer, driver layer, etc., for implementing various basic services and processing hardware-based tasks;
- a presentation module 253 for enabling presentation of information (eg, a user interface for operating peripherals and displaying content and information) via one or more output devices 231 associated with the user interface 230 (eg, a display screen, speakers, etc.) );
- An input processing module 254 for detecting one or more user inputs or interactions from one of the one or more input devices 232 and translating the detected inputs or interactions.
- the data transmission device in the service integration may be implemented in software
- FIG. 2A shows the data transmission device 255 in the service integration stored in the memory 250, which may be a program and Software in the form of plug-ins, including the following software modules: the first receiving module 2551, the first mapping module 2552 and the first sending module 2553, these modules are logical, and therefore can be arbitrarily combined or further disassembled according to the realized functions point. The function of each module will be explained below.
- the data transmission device in the service integration provided by the embodiments of the present application may also be implemented in hardware.
- the data transmission device in the service integration provided by the embodiments of the present application may be implemented using hardware decoding processing.
- a processor in the form of a processor which is programmed to execute the road matching method provided by the embodiments of the present application, for example, a processor in the form of a hardware decoding processor may adopt one or more application specific integrated circuits (ASIC, Application Specific Integrated Circuit), DSP, Programmable Logic Device (PLD, Programmable Logic Device), Complex Programmable Logic Device (CPLD, Complex Programmable Logic Device), Field Programmable Gate Array (FPGA, Field Programmable Gate Array) or other electronic components.
- ASIC Application Specific Integrated Circuit
- DSP Programmable Logic Device
- PLD Programmable Logic Device
- CPLD Complex Programmable Logic Device
- FPGA Field Programmable Gate Array
- FIG. 2B is a schematic structural diagram of a data transmission device 300 in service integration provided by an embodiment of the present application.
- the data transmission device in service integration is implemented as a service proxy, and the data in service integration shown in FIG. 2B
- the transmission device 300 includes: at least one processor 310 , a memory 350 , at least one network interface 320 and a user interface 330 .
- the various components in the data transmission device 300 in the service integration are coupled together through the bus system 340 .
- the bus system 340 is used to implement the connection communication between these components.
- the bus system 340 also includes a power bus, a control bus and a status signal bus.
- the various buses are labeled as bus system 340 in FIG. 2B.
- the processor 310 may be an integrated circuit chip with signal processing capability, such as a general-purpose processor, DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., wherein the general-purpose processor may be Microprocessor or any conventional processor etc.
- User interface 330 includes one or more output devices 331 that enable presentation of media content, including one or more speakers and/or one or more visual display screens.
- User interface 330 also includes one or more input devices 332, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, and other input buttons and controls.
- Memory 350 may be removable, non-removable, or a combination thereof.
- Exemplary hardware devices include solid state memory, hard drives, optical drives, and the like.
- Memory 350 optionally includes one or more storage devices that are physically remote from processor 310 .
- Memory 350 includes volatile memory or non-volatile memory, and may also include both volatile and non-volatile memory.
- the non-volatile memory can be ROM and the volatile memory can be RAM.
- the memory 350 described in the embodiments of the present application is intended to include any suitable type of memory.
- memory 350 is capable of storing data to support various operations, examples of which include programs, modules, and data structures, or subsets or supersets thereof, as exemplified below.
- the operating system 351 includes system programs for processing various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks;
- a network communication module 352 for reaching other computing devices via one or more (wired or wireless) network interfaces 320, exemplary network interfaces 320 including: Bluetooth, WiFi, USB, etc.;
- a presentation module 353 for enabling presentation of information (eg, a user interface for operating peripherals and displaying content and information) via one or more output devices 331 associated with the user interface 330 (eg, a display screen, speakers, etc.) );
- An input processing module 354 for detecting one or more user inputs or interactions from one of the one or more input devices 332 and translating the detected inputs or interactions.
- the data transmission device in the service integration may be implemented in software.
- FIG. 2B shows the data transmission device 355 in the service integration stored in the memory 350, which may be a program and Software in the form of plug-ins, including the following software modules: the fourth receiving module 3551, the fifth sending module 3552, the fifth receiving module 3553 and the sixth sending module 3554, these modules are logical, so according to the realized function can be carried out Arbitrary combinations or further splits. The function of each module will be explained below.
- the data transmission device in the service integration provided by the embodiments of the present application may also be implemented in hardware.
- the data transmission device in the service integration provided by the embodiments of the present application may be implemented using hardware decoding processing.
- a processor in the form of a processor which is programmed to execute the road matching method provided by the embodiments of the present application, for example, a processor in the form of a hardware decoding processor may adopt one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, or other electronic element.
- FIG. 3 is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application. The steps shown in FIG. 3 will be described below. The execution subject of the following steps may be the aforementioned gateway.
- step S101 the gateway of the integrated platform as a service iPaaS system receives the data transmission request sent by the connector of the iPaaS system, and the iPaaS system is deployed on the first virtual private cloud VPC of the tenant to which the iPaaS system belongs in the cloud network.
- the first VPC can be any suitable VPC on the public cloud that can deploy the iPaaS system, and the connector of the iPaas system needs to realize the integration logic of the service by connecting the corresponding service.
- a data transfer request is a request for the connector to obtain data from the target service.
- step S102 based on the configured service configuration information, the address identifier of the target service to be accessed by the connector and the first transmission connection for data transmission between the gateway and the service agent of the target service are determined; wherein the service agent is deployed in the tenant's internal In the network, the target service is deployed in the intranet or the tenant's second VPC, and the first transmission connection is established based on the first connection establishment request initiated by the service agent.
- the target service to be accessed by the connector is the service that the connector finally needs to access after sending the data transmission request
- the service proxy of the target service is a proxy server for assisting the gateway and the target service in data transmission.
- the address identifier of the target service is the identification information that can uniquely determine the address of the target service. It can be a combination of the Internet Protocol (IP, Internet Protocol) address and port of the target service, or it can be generated based on the IP address and port of the target service. Unique identifier, not limited here.
- the first transmission connection is a connection established in advance or in real time based on the first connection establishment request initiated by the service agent, which may be a TCP connection or a Remote Procedure Call (RPC, Remote Procedure Call) connection.
- RPC Remote Procedure Call
- the service configuration information may be the configuration information required for address mapping between the address of the connector and the address of the target server.
- the service configuration information may be pre-configured and may include, but is not limited to, the address representing the connector and the address of the target service.
- Correspondence information between the information representing the correspondence between the address of the forwarding agent receiving the data transmission request in the gateway and the address of the target service, the address combination of the connector and the forwarding agent and the target service and the service of the target service may also include, but is not limited to, the information representing the correspondence between the address of the connector and the first transmission connection, and the address representing the forwarding agent in the receiving gateway that receives the data transmission request.
- appropriate service configuration information may be used according to actual conditions, which is not limited here.
- the service configuration information may include the address of the connector, the address identifier of the target service, and the mapping relationship between the first transmission connection.
- the address of the connector that sends the data transmission request may be address, query the service configuration information, and obtain the address identifier of the target service and the first transmission connection corresponding to the address of the connector.
- the service configuration information may include the address of the forwarding agent receiving the data transmission request in the gateway, the address identifier of the target service, and the mapping relationship between the first transmission connection.
- the address of the forwarding agent that receives the data transmission request is queried for service configuration information, and the address identifier of the target service and the first transmission connection corresponding to the address of the forwarding agent are obtained.
- the service proxy of the target service is deployed in the tenant's intranet.
- the target service can be deployed in the intranet or in the tenant's second VPC.
- the gateway can communicate with the service in the intranet through the service proxy in the intranet.
- you can also perform network intercommunication with the service in the second VPC through the service proxy in the intranet.
- step S103 the data transmission request and the address identifier of the target service are sent to the service agent through the first transmission connection, so that the service agent sends the data transmission request of the connector to the target service to be accessed by the connector based on the address identifier .
- the gateway may send the data transmission request and the address identifier of the target service to the service agent of the target service through the first transmission connection, and the service agent may determine the IP address and port of the target service based on the address identifier of the target service, and based on the determined The IP address and port to send the data transfer request to the target service.
- the gateway of the iPaaS system deployed on the first VPC receives the data transmission request sent by the connector of the iPaaS system, and based on the configured service configuration information, determines the address identifier of the target service to be accessed by the connector, and a first transmission connection for data transmission between the gateway and the service proxy of the target service, wherein the service proxy is deployed in the tenant's intranet, the target service is deployed in the intranet or the second VPC, and the first transmission connection is service-based If the first connection establishment request initiated by the agent is established, the data transmission request and the address identification of the target service are sent to the service agent through the first transmission connection, so that the service agent sends the data transmission request to the target service based on the address identification.
- the network communication between the iPaaS system and the tenant's intranet can be realized, and the integration logic of services in the intranet can be realized.
- the target service Since the iPaaS system is deployed on the tenant's first VPC, the target service is deployed on the intranet or the tenant's first VPC. Two VPCs, and transmit data transmission requests to the service agent of the target service through the first transmission connection, so as to realize the integration logic of services in different intranets or different VPCs of the same tenant, thereby improving the service integration capability of the iPaaS system, and It can effectively reduce the development, maintenance and iteration costs of the iPaaS system.
- FIG. 4 is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application. Based on FIG. 3 , the following steps S401 to S402 may also be performed before step S101 , and the following The description will be given in conjunction with each step, and the execution subject of the following steps may be the aforementioned gateway.
- step S401 when a first connection establishment request initiated by the service agent is received, a first transmission connection is established with the service agent; wherein the first connection establishment request includes a service list of the service agent.
- the service agent may actively initiate a network connection request to the gateway, and the gateway may establish a first transmission connection with the service agent after receiving the first connection establishment request initiated by the service agent.
- the service list of the service agent may include at least one service to which the service agent can connect.
- step S402 for each service in the service list, a forwarding proxy address is allocated to the service, and the corresponding relationship between the address identifier of the service and the forwarding proxy address is added to the service configuration information.
- the forwarding proxy address is the address allocated by the gateway for each service in the service list and used for forwarding the data packet corresponding to the service, which may be a port used for forwarding data packets, or may include a port used for forwarding data packets. IP address and port.
- the gateway may select a port from the currently available ports as the forwarding proxy address.
- the address identifier of the service may be the IP address and port of the service obtained in the service list, or may be a unique identifier assigned by the gateway based on the IP address and port of the service, which is not limited here.
- the service configuration information may be stored and maintained by the gateway, or may be stored and maintained by other systems or modules.
- a registration center may be deployed in the first VPC to store and maintain the service configuration information.
- the service agent may actively initiate a network connection request to the gateway, and after receiving the first connection establishment request initiated by the service agent, the gateway may establish a first transmission connection with the service agent, and serve the service agent of the service agent.
- Each service in the list is assigned a forwarding proxy address, and the correspondence between the address identifier of each service and the corresponding forwarding proxy address is added to the service configuration information.
- the gateway can obtain the address identifier of the target service from the service configuration information based on the forward proxy port that receives the data transmission request.
- FIG. 5A is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application.
- the data transmission request is that the connector passes through the second transmission pre-established with the gateway.
- step S102 can be implemented by the following step S501
- step S103 can be implemented by the following step S502, which will be described below in conjunction with each step, and the execution subject of the following steps can be the aforementioned gateway.
- step S501 based on the identifier of the second transmission connection, the service configuration information is queried to obtain the address identifier of the target service to be accessed by the connector and the first transmission connection for data transmission between the gateway and the service agent of the target service.
- the second transmission connection is a connection established in advance or in real time between the connector and the gateway
- the identifier of the second transmission connection is information representing the unique second transmission connection, which may be created by the connector or the gateway when the second transmission connection is established.
- the generated value may also be a combination of an IP address and a port of the connector, or a combination of an IP address and a port connected to the connector in the gateway, which is not limited here.
- the service configuration information may include the identification of the second transmission connection and the address identification of the service, and the correspondence between the first transmission connection, and may also include the correspondence between the identification of the second transmission connection and the address of the forwarding agent, and The correspondence between the address of the forwarding agent, the address identifier of the service, and the first transmission connection is not limited here.
- step S502 the data transmission request and the address identification of the target service are sent to the service agent through the first transmission connection, so that the service agent determines the third transmission connection established with the target service based on the address identification, and uses the third transmission connection. , which sends the connector's data transfer request to the target service that the connector wants to access.
- the service agent may establish a third transmission connection with the target service in advance or in real time. After receiving the address identifier of the target service sent by the gateway through the first transmission connection, the service agent may determine the address corresponding to the target service based on the address identifier.
- the third transport connection After receiving the address identifier of the target service sent by the gateway through the first transmission connection, the service agent may determine the address corresponding to the target service based on the address identifier.
- the second transmission connection may be established between the connector and the gateway in advance
- the first transmission connection may be established between the gateway and the service proxy of the target service
- the first transmission connection may be established between the service proxy of the target service and the target service.
- FIG. 5B is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application. Based on FIG. 5A, the method may further include the following steps S503 to S505, which will be combined below Each step will be described, and the execution subject of the following steps may be the aforementioned gateway.
- step S503 the response data returned by the service agent and the address identifier of the target service are received through the first transmission connection; wherein the response data is sent by the target service to the service agent through the third transmission connection.
- the response data can be a response data packet returned by the target service to the gateway through the service proxy.
- step S504 based on the address identifier of the target service, the service configuration information is queried to obtain the identifier of the second transmission connection.
- the service configuration information may include information representing the correspondence between the target service and the second transmission connection, and by querying the correspondence, the identifier of the second transmission connection corresponding to the address identifier of the target service may be determined.
- step S505 based on the identifier of the second transmission connection, the response data is sent to the connector through the second transmission connection.
- the response data of the target service can be sent to the connector of the iPaaS system, so that the connection between the target service and the iPaaS system can be realized simply and quickly.
- FIG. 5C is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application. Based on FIG. 5A , before step S101 , the following steps S506 to S508 may also be performed, and the following The description will be given in conjunction with each step, and the execution subject of the following steps may be the aforementioned gateway.
- step S506 when a second connection establishment request sent by the connector is received, a second transmission connection is established with the connector.
- the connector can actively send a second connection establishment request to the gateway, so that the gateway can establish a second transmission connection with the connector.
- the second transmission connection may be a TCP connection or an RPC connection, which is not limited here.
- step S507 based on the forwarding proxy address requested by the second connection establishment request, the service configuration information is queried to obtain the address identifier of the target service to be accessed by the connector and the first transmission connection for data transmission with the service proxy of the target service.
- the connector may carry the forwarding proxy address to be requested in the second connection establishment request, and the forwarding proxy address may include the IP address and port of the forwarding proxy.
- step S508 based on the first transmission connection, a third connection establishment request carrying the address identifier of the target service is sent to the service agent, so that the service agent establishes a third transmission connection with the target service based on the address identifier of the target service.
- the gateway may send a third connection establishment request to the service proxy of the target service based on the pre-established first transmission connection, and after receiving the third connection establishment request, the service proxy of the target service may determine to connect based on the address identifier of the target service the target service, thereby establishing a third transport connection with the target service.
- the gateway when receiving the second connection establishment request sent by the connector, the gateway establishes a second transmission connection with the connector, and determines, based on the forwarding proxy address requested by the second connection establishment request, that the connector needs The address identifier of the accessed target service and the first transmission connection for data transmission with the service agent of the target service, and based on the first transmission connection, a third connection establishment request carrying the address identifier of the target service is sent to the service agent, so that the The service agent establishes a third transmission connection with the target service based on the address identification of the target service. In this way, a full link connection between the iPaaS system and the target service can be quickly established.
- FIG. 6A is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application.
- step S102 may be implemented by the following steps S601 to S603
- step S103 may be It is implemented by the following step S604, which will be described below in conjunction with each step, and the execution subject of the following steps may be the gateway mentioned above.
- step S601 the address of the connector that sends the data transmission request, the address of the forwarding agent that receives the data transmission request, and the address of the target service to be accessed by the connector are acquired.
- the source address and destination address of the request message can be obtained by parsing the data transmission request message.
- the source address of the request message is the address of the connector that sends the data transmission request
- the destination address of the request message is the receiving data transmission address.
- the data transmission request message may also carry the address of the target service to be accessed by the connector.
- step S602 based on the address of the connector and the address of the forwarding agent, the connection status follow table of the gateway is queried to obtain the address identifier of the target service to be accessed by the connector.
- connection state following table of the gateway is used to record the correspondence between the address of the connector or the address of the forwarding agent in the gateway and the address identifier of the target service.
- the address identifier of the target service to be accessed by the connector which can be a unique identifier assigned by the gateway to the address of the target service to be accessed by the connector based on the address of the connector and the address of the forwarding agent after receiving the data transmission request sent by the connector. .
- the address identifier of the target service to be accessed by the connector may be bound with the address of the connector or the address of the forwarding agent, and then recorded in the connection status following table of the gateway.
- step S603 based on the address of the forwarding agent, the configured service configuration information is queried, and a first transmission connection for data transmission between the gateway and the service agent of the target service is obtained.
- step S604 through the first transmission connection, the data transmission request, the address of the target service and the address identifier of the target service are sent to the service agent, so that the service agent queries the connection status follow table of the service agent based on the address identifier, and determines the service agent. and send the connector's data transfer request to the target service to be accessed by the connector through the address of the service proxy and the address of the target service.
- the address of the service proxy may include a port in the service proxy for data transmission with the target service.
- the connection state following table of the service agent is used to record the correspondence between the address identifier of the target service in the service agent and the address of the service agent.
- the service agent of the target service may, after receiving the data transmission request sent by the gateway, the address of the target service and the address identifier of the target service, query whether there is a record corresponding to the address identifier of the target service in the connection status follow-up table of the service agent, If there is no record corresponding to the address identifier of the target service in the connection status tracking table of the service agent, then based on the received address of the target service, an address of a service agent is allocated to the target service, and the address of the allocated service agent is assigned to the target service. After binding with the address identifier of the target service, it is recorded in the connection status follow-up table of the service agent.
- step S602 can be implemented by the following steps S621 to S622:
- step S621 when no records corresponding to the address of the connector and the address of the forwarding agent are queried in the connection status follow table of the gateway, based on the target The address of the service, the address identifier of the target service to be accessed by the connector is generated; in step S622, the record consisting of the address of the connector, the address of the forwarding agent and the address identifier of the target service is added to the connection status follow table of the gateway.
- connection status tracking table of the gateway records the correspondence between the address of the connector or the address of the forwarding agent and the address identifier of the target service in the gateway, and the connection status tracking table of the service agent records the target in the service agent.
- the mapping between the address of the connector or the address of the forwarding agent and the address of the service agent can be realized based on the connection state follow table of the gateway and the connection state follow table of the service agent, thereby realizing
- the mapping between the address of the connector or the address of the forwarding agent and the address of the target service since the connector only needs to maintain the first transmission connection in the process of sending data to the target service through the gateway and the service agent, can be reduced to a certain extent.
- the delay of data transmission improves the efficiency of data transmission.
- FIG. 6B is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application. Based on FIG. 6A , the method may also perform the following steps S605 to S607 , which will be combined below with Each step will be described, and the execution subject of the following steps may be the aforementioned gateway.
- step S605 through the first transmission connection, the response data returned by the service agent and the address identifier of the target service to be accessed by the connector are received.
- step S606 based on the address identifier of the target service, the connection status follow table of the gateway is queried to obtain the address of the forwarding agent that sends the response data and the address of the connector that receives the response data.
- step S607 based on the address of the forwarding agent and the address of the connector, the response data is sent to the connector.
- the gateway receives the response data returned by the service agent and the address identifier of the target service through the first transmission connection, and based on the address identifier of the target service, queries the connection status follow table of the gateway, and obtains the information of the forwarding agent sending the response data. address and the address of the connector that received the response data, so that the response data is sent to the connector based on the address of the forward proxy and the address of the connector. In this way, the response data of the target service can be quickly returned to the connector.
- FIG. 7 is a schematic flowchart of a data transmission method in service integration provided by an embodiment of the present application. The steps shown in FIG. 7 will be described below. The execution subject of the following steps may be the aforementioned service agent.
- step S701 the service agent receives the data transmission request of the connector of the iPaaS system sent by the gateway of the iPaaS system and the address identifier of the target service to be accessed by the connector; wherein, the iPaaS system is deployed in the cloud network in the first place of the tenant to which the iPaaS system belongs.
- the service agent On one VPC, the service agent is deployed in the tenant's intranet, and the target service is deployed in the intranet or the tenant's second VPC.
- step S702 based on the address identification, the data transmission request of the connector is sent to the target service to be accessed by the connector.
- step S703 in the case of receiving the response data sent by the target service to be accessed by the connector, based on the address identifier of the target service, a first transmission connection for data transmission between the service agent and the gateway is determined; wherein the first transmission connection It is established based on the first connection establishment request initiated by the service agent.
- step S704 the response data of the target service and the address identifier of the target service are sent to the gateway through the first transmission connection, so that the gateway determines the connector based on the address identifier, and sends the response data of the target service to the connector.
- the connector is the connector in the iPaaS system that receives the response data sent by the target service.
- the data transmission request and the address identifier of the target service sent by the gateway of the iPaaS system deployed on the first VPC are received by the service agent deployed in the tenant's intranet, and based on the address identifier, the data transmission request is sent To the target service deployed in the intranet or the second VPC, in the case of receiving the response data sent by the target service, based on the address identifier of the target service, determine the first transmission connection between the service agent and the gateway for data transmission , wherein the first transmission connection is pre-established based on the first connection establishment request initiated by the service agent, and through the first transmission connection, the response data and the address identifier of the target service are sent to the gateway, so that the gateway is based on The address identifies the connector in the iPaaS system to access the target service, and sends response data to the connector.
- the network intercommunication between the iPaaS system and the tenant's intranet can be realized, and the integration logic of services in the intranet can be realized.
- the target service Since the iPaaS system is deployed on the tenant's first VPC, the target service is deployed on the intranet or the tenant's first VPC. Two VPCs, and transmit data transmission requests to the service agent of the target service through the first transmission connection, so as to realize the integration logic of services in different intranets or different VPCs of the same tenant, thereby improving the service integration capability of the iPaaS system, and It can effectively reduce the development, maintenance and iteration costs of the iPaaS system.
- step S703 the method may further perform the following step S801:
- step S801 the service agent sends a first connection establishment request to the gateway, and the service agent establishes a first transmission connection with the gateway; wherein, the first connection establishment request includes the service list of the service agent, so that after the gateway establishes the first transmission connection , for each service in the service list, assign a forwarding proxy address to the service, and add the corresponding relationship between the address identifier of the service and the forwarding proxy address to the service configuration information.
- step S702 may be implemented through the following steps S901 to S902:
- step S901 based on the address identification, a pre-established third transmission connection between the service agent and the target service to be accessed by the connector is determined.
- step S902 the data transmission request of the connector is sent to the target service through the third transmission connection.
- step S704 can be implemented by the following step S903:
- step S903 the response data of the target service and the address identifier of the target service are sent to the gateway through the first transmission connection, so that the gateway determines the connector and the first transmission connection established with the connector based on the address identifier, and passes the first transmission connection.
- a transport connection sends the target service's response data to the connector.
- step S901 the method may further perform the following step S904:
- step S904 upon receiving a third connection establishment request sent by the gateway and carrying the address identifier of the target service to be accessed by the connector, a third transmission connection is established with the target service based on the address identifier of the target service.
- step S702 may be implemented by the following steps S1001 to S1002:
- step S1001 based on the address identifier, query the connection status follow table of the service agent to obtain the address of the service agent and the address of the target service to be accessed by the connector.
- step S1002 the data transmission request of the connector is sent to the target service to be accessed by the connector through the address of the service agent and the address of the target service.
- step S703 the following steps S1003 to S1004 may also be performed:
- step S1003 the address of the target service to be accessed by the connector and the address of the service agent receiving the response data of the target service are obtained.
- step S1004 based on the address of the target service and the address of the service agent, query the connection status follow table of the service agent to obtain the address identifier of the target service.
- step S1001 may be implemented through the following steps S1005 to S1006:
- step S1005 when no record corresponding to the address identifier is found in the connection status tracking table of the service agent, the address of the service agent is allocated to the target service based on the address of the target service to be accessed by the connector.
- step S1006 a record consisting of the address of the target service, the address of the service agent and the address identifier is added to the connection status follow table of the service agent.
- FIG. 8A provides an embodiment of the present application.
- a schematic diagram of an implementation architecture of a service integration system the system includes a service agent (Agent) 111, an internal system 112, and a database 113 deployed in the customer's intranet 110, and a service agent (Agent) 121, an internal system 112, and a database 113 deployed in the customer's intranet 120.
- Agent service agent
- Agent service agent
- FIG. 8B is a schematic diagram of an implementation architecture of the service integration system provided by the embodiment of the application, in order to realize the Connector (exemplarily showing Connector 1321, Connector 1322, and Connector 132n, n) in the iPaaS system deployed on the iPaaS VPC is a positive integer) and the Service in the customer intranet (exemplarily shows Service 1121, Service 1122 and Service 112n) integrated and interoperable, and three new modules are added: Gateway 131, registration center 133 and Agent (exemplarily shows Agent 1111, Agent 1112 and Agent 111n), where Gateway 131 and Registry 133 are deployed in the iPaaS VPC, and the Agent is deployed in the customer's intranet.
- the Connector exemplarily showing Connector 1321, Connector 1322, and Connector 132n, n
- the Service in the customer intranet exemplarily shows Service 1121, Service 1122 and Service 112n
- Gateway 131, registration center 133 and Agent exemplarily shows Agent 1111
- a corresponding forwarding proxy Proxy is created for each Service of the customer's intranet (exemplarily shows Proxy 1311, Proxy 1312 and Proxy 131n), and there is a one-to-one correspondence between the two, Connector and Proxy Communication is equivalent to communicating directly with the Service corresponding to the Proxy, and is unaware of the users of the iPaaS system.
- the main advantages of this implementation architecture are: 1) The modification cost of the Connector in the existing iPaaS system is minimal, and there is no need to change the communication-related code, only the service IP/Port and the forwarding proxy address/port ( The mapping logic of Proxy IP/Port) can be connected to the corresponding Proxy according to the original way of connecting the Service; 2) It can reduce the degree of code coupling.
- the Connector component only focuses on the business processing logic, and the specific network interconnection is handled by the Gateway.
- FIG. 8C is a schematic diagram of an interaction flow between modules in a service integration system provided by an embodiment of the present application, and the flow includes the following steps:
- Step S1101 the Agent actively requests to establish a connection with the Gateway, that is, a first transmission connection (AgentConnection).
- Step S1102 the Gateway creates a corresponding Proxy for each Service of the Agent.
- Step S1103 after the Gateway successfully creates the Proxy, it registers the created Proxy with the registration center.
- Step S1104 when the Connector is connected to the Service IP/Port, the corresponding Proxy IP/Port is determined from the registration center according to the Service IP/Port.
- Step S1105 the Connector communicates directly with the corresponding Proxy IP/Port.
- step S1106 the Gateway maps the communication between the Connector and the Proxy to the communication between the Agent and the Service through the AgentConnection. After the data transmission is completed, it returns to the Connector to complete a complete communication.
- the above interaction process includes the following entities: Private Cloud (Private Cloud), Gateway, Proxy, and Agent.
- the registration center maintains the metadata and configuration files corresponding to each entity.
- the main metadata stored in the registration center includes:
- Private cloud metadata (PrivateCloudMeta):
- the metadata may include an application identifier (AppId), a cloud identifier (CloudId), a cloud name (CloudName), a service list (Services), a source IP address whitelist (SourceIpWhiteList), a status (Status), and an AgentConnection list (AgentConnectionList),
- the status Status of the private cloud metadata includes one of the following statuses: available status (ENABLED), disabling status (DISABLING), and disabled status (DISABLED).
- FIG. 8D is in the service integration system provided by the embodiment of the present application. Schematic diagram of the state transition of private cloud metadata. In the ENABLED state, when the private cloud metadata is disabled, it enters the DISABLING state.
- the service list may include at least one service, and each service may include IP, port, and mode Mode, and Mode may include network address translation (NAT, Network Address Translation) mode, forwarding (Forward) mode, in the AgentConnection list.
- At least one AgentConnection may be included, and each AgentConnection may include an AgentConnection ID, an AgentConnectionId, a Gateway ID, and a status Status.
- the AgentConnection status Status may be a connected status (CONNECTED) or a disconnected status (DISCONNECTED).
- the metadata may include an identifier of the Gateway (GatewayId), an IP address of the Gateway (GatewayIp), a status (Status), and heartbeat information (Heartbeat).
- the status Status of the Gateway may be an active status (ACTIVE) or an unavailable status (UNAVAILABLE).
- the metadata may include the cloud identifier (CloudId), the IP address of the service (ServiceIp), the port of the service (ServicePort), the IP address of the forwarding proxy (ProxyIp), the port of the forwarding proxy (ProxyPort), and the identifier of the AgentConnection connected to the Proxy. (AgentConnectionId).
- the configuration file saved by the registration center includes the Agent configuration file, and the Agent configuration file may include the application verification serial number (AppKey), the application verification key (AppSecret), the cloud ID (CloudId), and the service whitelist (ServiceWhiteList).
- AppKey application verification serial number
- AppSecret application verification key
- CloudId cloud ID
- ServiceWhiteList service whitelist
- An embodiment of the present application provides a data transmission method in service integration. Referring to FIG. 9 , the method includes the following steps S1201 to S1213:
- step S1201 a security gateway (ie, a private cloud) is created in the registration center.
- step S1202 an Agent configuration file is created on the customer's intranet, and the Agent program is deployed and started.
- Step S1203 after the Agent is started, it actively establishes a connection with the Gateway, that is, establishes an AgentConnection.
- Step S1204 after the connection is successful, the Agent sends a handshake instruction to the Gateway, and the handshake instruction includes the parameters AppKey, AppId, CloudId, ServiceWhiteList, and the signature (Signature) of AppSecret.
- Step S1205 after the Gateway receives the handshake instruction, it obtains the AppId through authentication, and then obtains the private cloud metadata from the registration center according to the AppId+CloudId.
- Step S1206 if the authentication fails, or the private cloud does not exist, or the Status of the private cloud is not available, or the source IP of the handshake command is not in the SourceIpWhiteList, or the number of available ports is insufficient, the Gateway returns a corresponding error.
- Step S1207 after the verification is passed, the Gateway assigns an AgentConnectionId to the connection to associate with it, and registers the connection to the AgentConnectionList of the metadata of the private cloud.
- step S1208 the Gateway obtains all the Services in the metadata of the private cloud.
- the ServiceWhiteList is specified in the handshake message, it selects each Service contained in the ServiceWhiteList from all the Services in the metadata of the private cloud, and assigns each Service to the service. Proxy port.
- Step S1208a Allocate the ProxyPort in the available port pool of the Gateway.
- step S1208b the Gateway attempts to detect the allocated ProxyPort. When the detection fails, it will sleep for 1 second (s), put the ProxyPort back into the port pool, and jump to step S1208a, and when the detection is successful, it will jump to step S1208c .
- Step S1208c Gateway creates Proxy metadata in the registration center, wherein the ProxyIp of the Proxy metadata is the intranet IP of the Gateway node, the ProxyPort is the assigned ProxyPort, the AgentConnectionId is the AgentConnectionId associated with the connection, and the Service IP/Port corresponds to the current Service. IP address and port.
- Step S1209 when configuring the Connector, a private cloud can be specified.
- Step S1210 when the Connector establishes a connection with the target service, when the parameter specifies the CloudId, it obtains the private cloud metadata from the registration center according to AppId+CloudId, and when the private cloud metadata does not exist, or the status is not available, the process is performed. Error handling.
- Step S1211 when the target Service IP/Port is not in the Service list, then the Connector directly connects the target Service IP/Port to communicate, otherwise, the Connector searches for the Heartbeat in the Gateway whose status is ACTIVE according to the target IP, Port, AppId, and CloudId, and the Heartbeat does not time out, And the Proxy whose AgentConnection is in the CONNECTED state will report an error if it is not found.
- Step S1212 the Connector selects a Proxy according to the load balancing policy from the at least one Proxy found, and communicates with the selected Proxy IP/Port.
- step S1213 the Gateway and the Agent jointly complete the port mapping between the Proxy IP/Port and the Service IP/Port.
- the port mapping supports two modes of NAT and traffic forwarding.
- the operations of the console may include: 1) create a private cloud; 2) start and stop the private cloud; 3) maintain/delete the metadata of the private cloud in the stopped state; 4) view the network structure connecting the private cloud and the agent Topology.
- Gateway can implement system control by performing the following steps:
- Step S1301 the Gateway IP is obtained after the Gateway is started.
- Step S1302 query the gateway of ACTIVE according to the gateway IP in the registration center, and delete the gateway; in this way, the gateway of the same IP can be prevented from being activated repeatedly.
- Step S1303 assign the GatewayId, and register the GatewayId with the registration center.
- Step S1304 initialize the port pool.
- steps S1304a to S1304d can be used to realize the initialization of the port pool.
- Step S1304a find all GatewayIds with the same GatewayIP, deleted, and the last heartbeat time within the maximum proxy life time (MPL, Max Proxy Lifetime) from the registration center, and find the corresponding port (Port) from the registration center.
- MPL maximum proxy life time
- MPL is used to prevent the Proxy from being connected incorrectly.
- the same set of IP/Port will not be reused.
- the Client Client of the Connector needs to ensure that the Proxy IP/Port is used in the MPL of the Proxy, and the MPL can be used by default. is 10 minutes.
- Step S1304b put each Port into the delay queue, and the time is the last heartbeat time of the GatewayId corresponding to the Port+MPL.
- step S1304c the remaining available ports are put into the head of the delay queue, and the obtained delay queue is the port pool.
- Step S1305 start to receive the connection from the Agent.
- Step S1306 regularly update the heartbeat time of the registration center Gateway, when it is determined that the Gateway is deleted, all Agent Connections are interrupted, the Proxy Port is stopped, and the service is restarted.
- step S1307 the Gateway whose heartbeat timed out is periodically deleted.
- Step S1308 the Gateway periodically probes the AgentConnection, when the AgentConnection is unavailable, disconnects the connection, and updates the AgentConnection state to DISCONNECTED.
- the Agent also activates the AgentConnection periodically, disconnects the connection when the AgentConnection is unavailable, and re-establishes the connection.
- step S1309 when the Gateway disables the private cloud, the following operations may be performed:
- Step S1309a marking the status in the metadata of the private cloud to be disabled as DISABLING.
- Step S1309b calling the disconnect interface of the Gateway corresponding to each AgentConnection in turn, and marking the state in the metadata of the private cloud as DISABLED after the calling is completed.
- the Gateway When the Gateway is unavailable, resulting in inconsistent state, after the heartbeat timeout, the Gateway will be deleted by other nodes to ensure the same state;
- the Gateway When the Gateway is partitioned, it will be deleted by other nodes after the heartbeat times out. After the partition is restored, the state will be inconsistent. After the heartbeat detects that the Gateway has been deleted, the Gateway will automatically restart to ensure the same state.
- AgentConnection When the Agent is unavailable and the Gateway cannot connect to the Agent, the corresponding AgentConnection will be marked as DISCONNECTED, and the status will be consistent;
- AgentConnection When the Gateway network is unavailable and the Agent cannot connect to the Gateway, the Agent will restart automatically. After the Gateway network is connected, when the Agent is unavailable and the Gateway cannot connect to the Agent, the corresponding AgentConnection will be marked as DISCONNECTED, and the status is consistent;
- AgentConnection disconnects and marks the connection status as DISCONNECTED.
- Agent network fails and the Agent fails to connect to the Gateway, the Agent restarts automatically.
- the Gateway network fails and the Agent fails to connect to the Gateway, the Agent restarts automatically.
- the Gateway network is connected, When the Agent is unavailable and the Gateway cannot connect to the Agent, the corresponding AgentConnection is marked as DISCONNECTED, and the status is consistent.
- the Gateway deployed in the iPaaS intranet and the Agent deployed in the customer intranet jointly complete the port between the Proxy IP/Port and the Service IP/Port.
- Mapping function and supports two port mapping modes of NAT and traffic forwarding. The following will introduce the port mapping principles of the two modes.
- FIG. 10 is a schematic diagram of the composition structure of a service integration system that adopts a traffic forwarding mode to perform port mapping provided by an embodiment of the present application.
- the complete link needs to establish three TCP connections, including the connection ClientConnector established between Connector 1010 and the forwarding proxy Proxy 1021 of the Gateway 1020, the AgentConnection established between the forwarding proxy Proxy 1021 of the Gateway 1020 and the Agent 1030, and the connection between the Agent 1030 and the Service 1040.
- the ServiceConnection established between them, that is, the third transmission connection, the Gateway 1020 and the Agent 1030 can jointly act as a distributed proxy gateway.
- data transmission based on the traffic forwarding mode mainly includes two processes: full-link connection establishment and data transmission. At the same time, connection interruption and error handling need to be considered. Each flow will be described below.
- the establishment of a full-link connection may include the following steps S1401 to S1405:
- step S1401 the client Client of the Connector establishes a connection ClientConnection with the Proxy through the TCP three-way handshake, that is, the second transmission connection.
- Step S1402 the Gateway assigns an identifier ConnectionId to the ClientConnection.
- Step S1403 the Gateway sends a connection establishment instruction to the AgentConnection corresponding to the Proxy, and waits for the return.
- connection establishment command is as follows:
- Cmd is the control type
- Establish is the establishment of the connection
- ConnectionId is the unique identifier assigned to the ClientConnection
- Service IP/PORT is the IP address/port of the target service.
- Step S1404 the Agent establishes a connection ServiceConnection with the target service Service IP/Port through the three-way handshake of TCP, and binds the connection with the ConnectionId.
- Step S1405 the Agent returns a message that the establishment is successful or the establishment fails to the Gateway.
- the data transmission process includes two parts: uplink data transmission and downlink data transmission.
- the uplink data transmission process can be performed, including the following steps S1411 to S1416:
- Step S1411 the Connector sends the data stream to the Proxy through the ClientConnection.
- TCP packet format when the Connector sends the data packet to the Proxy is as follows:
- the source address Src of the packet is the IP address and port of the connector's client, that is, Client IP/Port
- the destination address Dst of the packet is the IP address and port of the Proxy, that is, the Proxy IP/Port
- Flag is the packet.
- Flag, DATA represents the data transmission message
- Payload is the data to be transmitted.
- the Proxy After the Proxy receives the message sent by the Connector, it will return a confirmation message to the Connector.
- Step S1412 the Gateway obtains the corresponding ConnectionId according to the ClientConnection, and obtains the corresponding AgentConnection according to the Proxy.
- Step S1413 the Gateway sends a data flow instruction to the Agent through the AgentConnection, and waits for the return.
- the AgentConnection can be a TCP connection or an RPC connection.
- the RPC message format when the Gateway sends a data packet to the AgentConnection is as follows:
- Cmd is the control type
- DATA is the data transmission
- Payload is the data to be transmitted
- ConnectionId is the identifier of the ClientConnection. If the previous uplink data transmission command of the ConnectionId has not returned, it will be placed in the waiting queue and waiting to be sent.
- Step S1414 the Agent finds the corresponding ServiceConnection according to the ConnectionId.
- Step S1415 the Agent sends the data stream to the Service through the ServiceConnection.
- TCP packet format when the Agent sends a data packet to the Service is as follows:
- the source address Src of the message is the IP address and port of the Agent, that is, the Agent IP/Port
- the destination address Dst of the message is the IP address and port of the Service, that is, the Service IP/Port
- the Flag is the message flag.
- DATA represents the data transmission message
- Payload is the data to be transmitted.
- step S1416 the Service returns a message of sending success or failure.
- the Service After the Service receives the message sent by the Agent, it will return a confirmation message to the Agent indicating the success or failure of the sending.
- the downlink data transmission process includes the following steps S1421 to S1426:
- Step S1421 the Service sends a data stream to the Agent through the ServiceConnection.
- TCP packet format when the Service sends a data packet to the Agent is as follows:
- the source address Src of the packet is the IP address and port of the Service, that is, ServiceIP/Port
- the destination address Dst of the packet is the IP address and port of the Agent, that is, the Agent IP/Port
- Flag is the packet flag
- DATA Indicates a data transmission message
- Payload is the data to be transmitted.
- the Agent After the Agent receives the message sent by the Service, it will return a confirmation message to the Service.
- Step S1422 the Agent determines the ConnectionId according to the ServiceConnection.
- Step S1423 the Agent sends a data flow instruction to the Proxy through the AgentConnection.
- the AgentConnection can be a TCP connection or an RPC connection.
- the RPC message format when the Agent sends a data packet through the AgentConnection is as follows:
- Cmd is the control type
- DATA is the data transmission
- Payload is the data to be transmitted
- ConnectionId is the identifier of the ClientConnection. If the previous downlink data transmission command of the ConnectionId has not returned, it will be placed in the waiting queue and waiting to be sent.
- Step S1424 the Gateway determines the corresponding Client Connection according to the ConnectionId.
- Step S1425 the Gateway sends the data stream to the Connector through the ClientConnection.
- TCP packet format when the Gateway sends a data packet to the Connector is as follows:
- the source address Src of the packet is the IP address and port of the Proxy, that is, Proxy IP/Port
- the destination address Dst of the packet is the IP address and port of the connector's client, that is, Client IP/Port
- Flag is the packet.
- Flag, DATA represents the data transmission message
- Payload is the data to be transmitted.
- Step S1426 the Connector returns a message of success or failure in sending.
- the Connector After the Connector receives the message sent by the Proxy, it will return a confirmation message to the Proxy indicating the success or failure of the sending.
- the interruption and error handling of each connection may include:
- the Gateway detects that the ClientConnection is disconnected, such as timeout, restart, or disconnection from the Connector.
- the Gateway marks the ConnectionId status as disconnected.
- the Gateway sends a disconnection command to the Agent through the AgentConnection, and the disconnection command carries the parameter ConnectionId.
- the Agent After the Agent receives the instruction, it marks the ConnectionId status as disconnected, and disconnects the corresponding ServiceConnection.
- the Gateway returns an error when it subsequently receives the downlink command of the ConnectionId sent by the AgentConnection.
- the Agent detects that the ServiceConnection is disconnected, such as timeout, restart, or disconnection of the Service.
- the Agent marks the ConnectionId as disconnected.
- the Agent sends a disconnection command to the Gateway through the AgentConnection, and the disconnection command carries the parameter ConnectionId.
- the Gateway After the Gateway receives the instruction, it marks the ConnectionId as disconnected and disconnects the corresponding ClientConnection.
- Agent When the Agent subsequently receives the uplink command of the ConnectionId sent by the Gateway through the AgentConnection, it returns an error.
- the data transmission method using the traffic forwarding mode for port mapping provided in the above embodiments of the present application has simple implementation, reliable connection, and can fully utilize the existing TCP protocol support capability in the operating system kernel, and has good data transmission performance.
- FIG. 11 is a schematic diagram of the composition structure of a service integration system that adopts NAT mode to perform port mapping provided by an embodiment of the application.
- NAT mode data transmission is performed between the connector Connector 1010 of the iPaaS system and the target service Service 1040
- the address conversion needs to be performed through the Gateway 1020 and the Agent 1030.
- An AgentConnection is pre-established between each Proxy 1021 and the Agent 1030 in the Gateway 1020.
- the Gateway connection status follow table (Gateway Connection Status) maintained by the Gateway is used. Track) 1022, and the Agent Connection Track (Agent Connection Track) 1031 maintained by the Agent to realize the mapping between the Proxy IP/Port and the Service IP/Port, thereby realizing the network intercommunication between the Connector and the Service.
- Step S1501 the Client sends a TCP handshake packet SYN packet to the Proxy.
- Step S1502 after the Gateway receives the SYN packet, it searches the ConnectionId and corresponding state data from the connection state follow table of the Gateway according to the Client IP/Port+Proxy Port.
- Step S1503 determine the SYN packet type, and perform the following operations according to different SYN packet types:
- this packet is a retransmission packet, and jump to step S1504; otherwise, this packet is an out-of-order packet, and this packet is ignored .
- Step S1504 the Gateway sends a synchronization instruction to the Agent through the AgentConnection.
- the RPC method can be used to send the command, and the message of the synchronization command can include the ConnectionId, Service IP/Port, and the original TCP message with the port number removed.
- Step S1505 after the Agent receives the synchronization instruction, it searches the Agent Port (AgentPort) and status data from the connection status follow table of the Agent according to the ConnectionId.
- AgentPort Agent Port
- Step S1506 the Agent judges the message type, including:
- the packet is the first arriving packet.
- the AgentPort is registered in the Agent's connection status follow-up table, and the corresponding record is updated.
- the ClientFlag and ClientSeq are set, jump to step S1507;
- Step S1507 Agent sends TCP message to Service IP/Port through AgentPort, the source address in the TCP message is Agent IP/Port, the destination address is Service IP/Port, and the message flag bit is SYN, that is, what is sent is the SYN packet , Seq is seq1.
- Step S1508 after the Service receives the SYN packet, it replies with a SYN
- Step S1509 after the Agent receives the SYN
- Step S1510 the Agent judges the message type, including:
- this packet is the first SYN
- this package is an out-of-order package, and this package is ignored.
- Step S1511 the Agent sends a synchronization reply instruction to the Gateway, and the RPC message of the reply instruction includes the control field Cmd, ConnectionId and the original TCP message with the port number removed.
- Step S1512 when the Gateway receives the synchronous reply instruction, it searches the Client IP/Port, Proxy Port and status data from the connection status follow table of the Gateway according to the ConnectionId.
- Step S1513 the Gateway determines the packet type, including:
- the packet is an out-of-order packet, and this packet is ignored;
- this packet is the first SYN
- this package is an out-of-order package, and this package is ignored.
- Step S1514 the Gateway sends a TCP message to the Client IP/Port through the port (Port) of the Proxy, the source address in the sent TCP message is the Proxy IP/Port, the destination address is the Client IP/Port, and the flag bit Flag is SYN
- Step S1515 after the Client receives the SYN
- Step S1516 when the Gateway receives the ACK packet or PSH
- the message type is a follow-up message
- the follow-up message refers to the messages normally received in order.
- the Agent After the Agent receives the instruction, similar to the Gateway, according to the ConnectionId, it matches the Agent's connection status follow-up table to determine the packet type, including:
- the received data packet is sent to the Service IP/Port through the Agent's port (AgentPort);
- Step S1517 when the Agent receives the ACK packet or PSH
- the Gateway After the Gateway receives the command, it matches the Gateway's connection status follow table according to the ConnectionId to determine the packet type:
- the received data packet is sent to the Client IP/Port through the ProxyPort;
- the delay is 2 times the maximum lifetime of the message (MSL, Maximum Segment Lifetime) The delay queue is then put back into the available Proxy port pool.
- AgentPort For each AgentPort, when the Agent receives the RST message for the AgentPort or detects the end of four waves of the corresponding AgentConnection, a delay of 2 times the maximum lifetime (MSL, Maximum Segment Lifetime) of the message is added. time queue, and then put it back into the pool of available Agent ports.
- MSL Maximum Segment Lifetime
- the TCP state is the real state, and there is no situation that the entire link has returned to the connection state when the connection is not really established.
- the entire data transmission process On a TCP connection the delay is lower.
- the service integration system Compared with the privatized deployment iPaaS solution in the related art, the service integration system provided by the embodiments of the present application greatly reduces the development, maintenance, and iteration costs, and at the same time, can satisfy the network connection between multiple intranets of the same customer, and can be further improved.
- the data transmission device 255 in the service integration provided by the embodiments of the present application is implemented as a software module.
- the data transmission in the service integration stored in the memory 250 is transmitted.
- Software modules in apparatus 255 may include:
- the first receiving module 2551 is configured as the gateway of the iPaaS system to receive the data transmission request sent by the connector of the iPaaS system; the iPaaS system is deployed on the first virtual private cloud VPC of the tenant to which the iPaaS system belongs in the cloud network; a first mapping module 2552, configured to determine, based on the configured service configuration information, the address identifier of the target service to be accessed by the connector, and the first transmission connection for data transmission between the gateway and the service agent of the target service;
- the service proxy is deployed in the tenant's intranet, the target service is deployed in the intranet or the tenant's second VPC, and the first transmission connection is based on the service proxy initiated.
- the first connection establishment request is established; the first sending module 2553 is configured to send the data transmission request and the address identifier of the target service to the service agent through the first transmission connection; wherein, the service Based on the address identification, the proxy sends the data transmission request of the connector to the target service to be accessed by the connector.
- the apparatus further includes: a first establishment module, configured to establish a first transmission connection with the service proxy when receiving a first connection establishment request initiated by the service proxy; wherein the The first connection establishment request includes the service list of the service proxy; the first allocation module is configured to, for each service in the service list, allocate a forwarding proxy address to the service, and identify the address of the service The corresponding relationship with the forwarding proxy address is added to the service configuration information.
- a first establishment module configured to establish a first transmission connection with the service proxy when receiving a first connection establishment request initiated by the service proxy
- the first connection establishment request includes the service list of the service proxy
- the first allocation module is configured to, for each service in the service list, allocate a forwarding proxy address to the service, and identify the address of the service The corresponding relationship with the forwarding proxy address is added to the service configuration information.
- the data transmission request is sent by the connector through a second transmission connection established with the gateway
- the first mapping module is further configured to: based on the identifier of the second transmission connection, query the service configuration information to obtain the address identifier of the target service to be accessed by the connector, and the first transmission connection for data transmission between the gateway and the service agent of the target service
- the first sending module is also configured is: sending the data transmission request and the address identifier of the target service to the service agent through the first transmission connection, and the service agent determines the first connection established with the target service based on the address identifier
- the third transmission connection is used to send the data transmission request of the connector to the target service to be accessed by the connector.
- the apparatus further includes: a second receiving module configured to receive, through the first transmission connection, the response data returned by the service agent and the address identifier of the target service; wherein the response The data is sent by the target service to the service agent through the third transmission connection; the first query module is configured to query the service configuration information based on the address identifier of the target service to obtain the second transmission The identification of the connection; the second sending module is configured to send the response data to the connector through the second transmission connection based on the identification of the second transmission connection.
- the apparatus further includes: a second establishment module, configured to establish a second transmission connection with the connector when receiving a second connection establishment request sent by the connector; a second query module , configured to query the service configuration information based on the forwarding proxy address requested by the second connection establishment request, to obtain the address identifier of the target service to be accessed by the connector, and to perform data communication with the service proxy of the target service a first transmission connection for transmission; a third sending module, configured to send a third connection establishment request to the service agent based on the first transmission connection; wherein the third connection establishment request carries the target service The address identifier, the service agent establishes a third transmission connection with the target service based on the address identifier of the target service.
- a second establishment module configured to establish a second transmission connection with the connector when receiving a second connection establishment request sent by the connector
- a second query module configured to query the service configuration information based on the forwarding proxy address requested by the second connection establishment request, to obtain the address identifier of the target service to be accessed by
- the first mapping module is further configured to: obtain the address of the connector that sends the data transfer request, the address of the forward proxy that receives the data transfer request, and the target service to be accessed by the connector based on the address of the connector and the address of the forwarding agent, query the connection status follow table of the gateway to obtain the address identifier of the target service to be accessed by the connector; based on the address of the forwarding agent, query the configured service configuration information, and obtain a first transmission connection for data transmission between the gateway and the service agent of the target service; the first sending module is further configured to: send the data through the first transmission connection A transmission request, the address of the target service and the address identifier of the target service are sent to the service agent;
- the service agent queries the connection status follow table of the service agent, determines the address of the service agent, and connects the connection through the address of the service agent and the address of the target service
- the data transfer request of the connector is sent to the target service to be accessed by the connector.
- the first mapping module is further configured to: when no records corresponding to the address of the connector and the address of the forwarding agent are found in the connection status follow table of the gateway, based on the The address of the target service, and the address identifier of the target service to be accessed by the connector is generated; the record consisting of the address of the connector, the address of the forwarding agent, and the address identifier of the target service is added to the gateway's address.
- the connection status is followed in the table.
- the apparatus further includes: a third receiving module configured to receive, through the first transmission connection, the response data returned by the service agent and the address identifier of the target service to be accessed by the connector;
- the third query module is configured to query the connection status follow table of the gateway based on the address identifier of the target service to obtain the address of the forwarding agent that sends the response data and the address of the connector that receives the response data;
- a sending module configured to send the response data to the connector based on the address of the forwarding proxy and the address of the connector.
- the data transmission device 355 in the service integration provided by the embodiments of the present application is implemented as a software module.
- the data transmission in the service integration stored in the memory 350 is transmitted.
- Software modules in apparatus 355 may include:
- the fourth receiving module 3551 is configured as the service agent to receive the data transmission request of the connector of the iPaaS system sent by the gateway of the iPaaS system and the address identifier of the target service to be accessed by the connector; wherein, the iPaaS system is deployed in the iPaaS system.
- the service agent is deployed in the tenant's intranet, and the target service is deployed in the intranet or the tenant's second VPC;
- a fifth sending module 3552 configured to send the data transmission request of the connector to the target service to be accessed by the connector based on the address identifier
- the fifth receiving module 3553 is configured to, when receiving the response data sent by the target service to be accessed by the connector, based on the address identifier of the target service, determine the first data transmission between the service agent and the gateway.
- a transmission connection wherein, the first transmission connection is established based on a first connection establishment request initiated by the service agent;
- the sixth sending module 3554 is configured to send the response data of the target service and the address identifier of the target service to the gateway through the first transmission connection; wherein the gateway determines based on the address identifier
- the connector sends the response data of the target service to the connector.
- the apparatus further includes: a third establishment module, configured for the service agent to send a first connection establishment request to the gateway, and the service agent to establish a first transmission connection with the gateway; wherein, The first connection establishment request includes a service list of the service proxy, and after establishing the first transmission connection with the gateway, for each service in the service list, assign a forwarding proxy address to the service, The corresponding relationship between the address identifier of the service and the forwarding proxy address is added to the service configuration information.
- a third establishment module configured for the service agent to send a first connection establishment request to the gateway, and the service agent to establish a first transmission connection with the gateway; wherein, The first connection establishment request includes a service list of the service proxy, and after establishing the first transmission connection with the gateway, for each service in the service list, assign a forwarding proxy address to the service, The corresponding relationship between the address identifier of the service and the forwarding proxy address is added to the service configuration information.
- the fifth sending module is further configured to: determine, based on the address identifier, a third transmission connection established between the service agent and the target service to be accessed by the connector; The third transmission connection sends the data transmission request of the connector to the target service; the sixth sending module is further configured to: send the response data of the target service to the target service through the first transmission connection
- the address identification of the service is sent to the gateway, and the gateway determines the connector and the first transport connection established with the connector based on the address identification, and sends the target service through the first transport connection
- the response data is sent to the connector.
- the apparatus further includes: a fourth establishment module, configured to, when receiving a third connection establishment request sent by the gateway, establish a third connection establishment request with the target service based on the address identifier of the target service Three transmission connections; wherein, the third connection connection establishment request carries the address identifier of the target service to be accessed by the connector.
- a fourth establishment module configured to, when receiving a third connection establishment request sent by the gateway, establish a third connection establishment request with the target service based on the address identifier of the target service Three transmission connections; wherein, the third connection connection establishment request carries the address identifier of the target service to be accessed by the connector.
- the fifth sending module is further configured to: based on the address identifier, query a connection status follow table of the service agent to obtain the address of the service agent and the target service to be accessed by the connector send the data transmission request of the connector to the target service to be accessed by the connector through the address of the service agent and the address of the target service; the fifth receiving module is further configured to: obtain The address of the target service to be accessed by the connector and the address of the service agent that receives the response data of the target service; based on the address of the target service and the address of the service agent, query the connection status of the service agent to follow table to obtain the address identifier of the target service.
- the fifth sending module is further configured to: when no record corresponding to the address identifier is found in the connection status follow table of the service agent, based on the target service to be accessed by the connector address, assigning the address of the service agent to the target service; adding the record composed of the address of the target service, the address of the service agent and the address identifier to the connection status following table of the service agent.
- Embodiments of the present application provide a computer program product or computer program, where the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
- the processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the data transmission method in the service integration above in the embodiment of the present application.
- the embodiments of the present application provide a computer-readable storage medium storing executable instructions, wherein the executable instructions are stored, and when the executable instructions are executed by a processor, the processor will cause the processor to execute the service integration provided by the embodiments of the present application.
- the data transmission method for example, the method shown in Figure 3- Figure 7.
- the computer-readable storage medium may be memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; it may also include one or any combination of the foregoing memories Various equipment.
- executable instructions may take the form of programs, software, software modules, scripts, or code, written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and which Deployment may be in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- executable instructions may, but do not necessarily correspond to files in a file system, may be stored as part of a file that holds other programs or data, for example, a Hyper Text Markup Language (HTML, Hyper Text Markup Language) document
- HTML Hyper Text Markup Language
- One or more scripts in stored in a single file dedicated to the program in question, or in multiple cooperating files (eg, files that store one or more modules, subroutines, or code sections).
- executable instructions may be deployed to be executed on one computing device, or on multiple computing devices located at one site, or alternatively, distributed across multiple sites and interconnected by a communication network execute on.
- the embodiment of the present application can realize the network intercommunication between the iPaaS system and the tenant's intranet, and realize the integration logic of services in the intranet, and because the iPaaS system is deployed on the tenant's first VPC, the target service It is deployed on the intranet or the second VPC of the tenant, and transmits the data transmission request to the service proxy of the target service through the first transmission connection, so as to realize the integration logic of the services in different intranets or different VPCs of the same tenant, and further improve the
- the service integration capability of the iPaaS system can effectively reduce the development, maintenance and iteration costs of the iPaaS system.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种服务集成中的数据传输方法、装置、设备、计算机可读存储介质及计算机程序产品;方法包括:iPaaS系统的网关接收iPaaS系统的连接器发送的数据传输请求;其中,iPaaS系统部署在云网络中iPaaS系统所属租户的第一虚拟私有云VPC上;基于配置的服务配置信息,确定连接器要访问的目标服务的地址标识、以及网关与目标服务的服务代理进行数据传输的第一传输连接;其中,服务代理部署在租户的内网中,目标服务部署在内网或租户的第二VPC中,第一传输连接为基于服务代理发起的第一连接建立请求建立的;通过第一传输连接,将数据传输请求和目标服务的地址标识发送至服务代理;其中,服务代理基于地址标识,将连接器的数据传输请求发送至连接器要访问的目标服务。
Description
相关申请的交叉引用
本申请实施例基于申请号为202110353970.X、申请日为2021年04月01日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请实施例作为参考。
本申请涉及云计算服务领域,尤其涉及一种服务集成中的数据传输方法、装置、设备、计算机可读存储介质及计算机程序产品。
集成平台即服务(iPaaS,Integration Platform as a Service)集成应用是为了将不同系统和服务按照一定逻辑集成起来而开发的应用程序。相关技术中,目标客户的很多内部系统、数据库、私有软件即服务(SaaS,Software-as-a-Service)系统都是部署在客户内网中的,而iPaaS系统通常部署在公有云上的虚拟私有云(VPC,Virtual Private Cloud)上,因而iPaaS系统不能直连客户内网的私有服务和数据库,从而无法完成对内网的私有服务和数据库的集成逻辑。此外,对于部分部署在不同的虚拟私有云上的待集成系统和数据库,由于跨地域之间的VPC无法通过客户内网直连,因此也无法通过部署在VPC上的iPaaS系统进行集成。
可见,相关技术中的iPaaS服务集成方案存在网络不通的限制问题,无法很好地满足服务集成需求。
发明内容
本申请实施例提供一种服务集成中的数据传输方法、装置、设备、计算机可读存储介质及计算机程序产品,能够实现iPaaS系统与租户内网之间的网络互通,并实现对内网中服务的集成逻辑,从而可以实现对同一租户不同内网或不同VPC中服务的集成逻辑,进而可以完善iPaaS系统的服务集成能力。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种服务集成中的数据传输方法,所述方法包括:
iPaaS系统的网关接收所述iPaaS系统的连接器发送的数据传输请求;
其中,所述iPaaS系统部署在云网络中所述iPaaS系统所属租户的第一虚拟私有云VPC上;
基于配置的服务配置信息,确定所述连接器要访问的目标服务的地址标识、以及所述网关与所述目标服务的服务代理进行数据传输的第一传输连接;
其中,所述服务代理部署在所述租户的内网中,所述目标服务部署在所述内网或所述租户的第二VPC中,所述第一传输连接为基于所述服务代理发起的第一连接建立请求建立的;
通过所述第一传输连接,将所述数据传输请求和所述目标服务的地址标识发送至所述服务代理;
其中,所述服务代理基于所述地址标识,将所述连接器的数据传输请求发送至所述 连接器要访问的目标服务。
本申请实施例提供一种服务集成中的数据传输方法,包括:
服务代理接收iPaaS系统的网关发送的所述iPaaS系统的连接器的数据传输请求和所述连接器要访问的目标服务的地址标识;
其中,所述iPaaS系统部署在云网络中所述iPaaS系统所属租户的第一VPC上,所述服务代理部署在所述租户的内网中,所述目标服务部署在所述内网或所述租户的第二VPC中;
基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务;
当接收到所述连接器要访问的目标服务发送的响应数据时,基于所述目标服务的地址标识,确定所述服务代理与所述网关进行数据传输的第一传输连接;其中,所述第一传输连接为基于所述服务代理发起的第一连接建立请求建立的;
通过所述第一传输连接,将所述目标服务的响应数据和所述目标服务的地址标识发送至所述网关;
其中,所述网关基于所述地址标识,确定所述连接器,将所述目标服务的响应数据发送至所述连接器。
本申请实施例提供一种服务集成中的数据传输装置,包括:
第一接收模块,配置为iPaaS系统的网关接收所述iPaaS系统的连接器发送的数据传输请求;所述iPaaS系统部署在云网络中所述iPaaS系统所属租户的第一VPC上;
第一映射模块,配置为基于配置的服务配置信息,确定所述连接器要访问的目标服务的地址标识,以及所述网关与所述目标服务的服务代理进行数据传输的第一传输连接;其中,所述服务代理部署在所述租户的内网中,所述目标服务部署在所述内网或所述租户的第二VPC中,所述第一传输连接为基于所述服务代理发起的第一连接建立请求建立的;
第一发送模块,配置为通过所述第一传输连接,将所述数据传输请求和所述目标服务的地址标识发送至所述服务代理;其中,所述服务代理基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务。
本申请实施例提供一种服务集成中的数据传输装置,包括:
第四接收模块,配置为服务代理接收iPaaS系统的网关发送的所述iPaaS系统的连接器的数据传输请求和所述连接器要访问的目标服务的地址标识;其中,所述iPaaS系统部署在云网络中所述iPaaS系统所属租户的第一VPC上,所述服务代理部署在所述租户的内网中,所述目标服务部署在所述内网或所述租户的第二VPC中;
第五发送模块,配置为基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务;
第五接收模块,配置为当接收到所述连接器要访问的目标服务发送的响应数据时,基于所述目标服务的地址标识,确定所述服务代理与所述网关进行数据传输的第一传输连接;其中,所述第一传输连接为基于所述服务代理发起的第一连接建立请求建立的;
第六发送模块,配置为通过所述第一传输连接,将所述目标服务的响应数据和所述目标服务的地址标识发送至所述网关;其中,所述网关基于所述地址标识,确定所述连接器,将所述目标服务的响应数据发送至所述连接器。
本申请实施例提供一种服务集成中的数据传输设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的服务集成中的数据传输方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执 行时,实现本申请实施例提供的服务集成中的数据传输方法。
本申请实施例提供了一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令使得计算机执行上述服务集成中的数据传输方法。
本申请实施例具有以下有益效果:
通过部署在第一VPC上的iPaaS系统的网关接收iPaaS系统的连接器发送的数据传输请求,并确定数据传输请求的目标服务的地址标识,以及网关与目标服务的服务代理进行数据传输的第一传输连接,通过第一传输连接,将数据传输请求和目标服务的地址标识发送至服务代理,以使服务代理基于该地址标识,将该数据传输请求发送至目标服务。这样,能够实现iPaaS系统与租户内网之间网络的互通,并实现对内网中服务的集成逻辑,又由于iPaaS系统部署在租户的第一VPC上,目标服务部署在内网或租户的第二VPC上,并且通过第一传输连接传输数据传输请求至目标服务的服务代理,从而可以实现对同一租户不同内网或不同VPC中服务的集成逻辑,进而可以完善iPaaS系统的服务集成能力。
图1A是相关技术中部署iPaaS系统的一个场景示意图;
图1B是相关技术中部署iPaaS系统的一个场景示意图;
图1C是相关技术中部署iPaaS系统的一个场景示意图;
图1D是相关技术中iPaaS系统私有化部署的一个架构示意图;
图1E是本申请实施例提供的集成服务系统的一个架构示意图;
图2A是本申请实施例提供的服务集成中的数据传输设备的一个结构示意图;
图2B是本申请实施例提供的服务集成中的数据传输设备的一个结构示意图;
图3是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图;
图4是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图;
图5A是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图;
图5B是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图;
图5C是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图;
图6A是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图;
图6B是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图;
图7是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图;
图8A是本申请实施例提供的服务集成系统的一种实现架构示意图;
图8B是本申请实施例提供的服务集成系统的一种实现架构示意图;
图8C是本申请实施例提供的服务集成系统中各模块之间的交互流程示意图;
图8D是本申请实施例提供的服务集成系统中私有云元数据的状态转移示意图;
图9是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图;
图10是本申请实施例提供的采用流量转发模式进行端口映射的服务集成系统的组成架构示意图;
图11是本申请实施例提供的采用NAT模式进行端口映射的服务集成系统的组成架构示意图。
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有 做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
为了更好地理解本申请实施例提供的服务集成中的数据传输方法,下面先对相关技术中的iPaaS系统的部署方案进行说明。
相关技术中,iPaaS系统在某些场景下存在限制问题,无法满足集成需求。例如在如下的场景中,通过iPaaS系统无法完成集成逻辑:
1)场景1:
参见图1A,在该场景下,目标租户的内部系统11、数据库12部署在内网10中、内部私有SaaS 21部署在内网20中,而iPaaS系统31部署在公有云VPC上,在没有任何代理、虚拟专有网络(VPN,Virtual Private Network)等第三方工具的辅助时,iPaaS系统31可以直连公网SaaS 32,但不能直连内网10中的内部系统11和数据库12,以及内网20中的内部私有SaaS 21,从而无法完成对内部系统11、数据库12以及私有SaaS 21的集成逻辑。
2)场景2:
参见图1B,在该场景下,商户系统41和数据库42部署在虚拟云中的商户VPC 40上,iPaaS系统51部署在虚拟云中的iPaaS VPC 50上,当商户VPC 40与iPaaS VPC 50属于不同地域(Region)时,由于跨地域之间的VPC无法通过内网直连,因此也无法通过部署在iPaaS VPC 50上的iPaaS系统51对商户系统41和数据库42进行集成。同样的,参见图1C,归属寄存(HR,Home Register)系统61和数据库62部署在虚拟云中的自研VPC 60上,iPaaS系统71部署在虚拟云中的iPaaS VPC 70上,当自研VPC 60与iPaaS VPC 70属于不同地域时,也无法通过部署在iPaaS VPC 70上的iPaaS系统71对HR系统61和数据库62进行集成。
可见,在上述场景中,由于iPaaS系统与租户的内网不能互通,并且iPaaS系统无法通过内网线路访问公有云VPC或自研VPC上的服务,导致相关技术中的iPaaS系统的应用场景受限,无法很好地满足服务集成需求。
针对上述问题,参见图1D,相关技术中采用在目标租户的内网80部署一套完整的私有iPaaS系统81的方式,利用私有iPaaS系统81打通同一个内网中的数据库82、内部私有SaaS 83,同时私有iPaaS系统81支持与公网SaaS 32的互通,但是私有iPaaS系统81与部署在另一内网90中的数据库91和内部私有SaaS 92之间的网络并不互通。
因此,上述相关技术中iPaaS系统私有化部署的方式并不能完全解决内网互通问题,存在如下问题:1)无法支持对多个不互通的内网或VPC中的服务集成,假如租户拥有一个以上内网时,一套私有iPaaS不能满足多个不互通的内网之间服务和数据库的集成;2)成本高,多个客户需要部署多套私有iPaaS系统,资源要求高;3)迭代更新周期长,iPaaS系统每次迭代更新的同时,需要同步更新所有部署在租户内网的私有iPaaS系统;4)维护难,不同客户的资源、网络等方面存在差异,私有iPaaS系统的运维成本会很大。
本申请实施例提供一种服务集成中的数据传输方法、装置、设备、计算机可读存储介质及计算机程序产品,能够实现iPaaS系统与租户内网之间网络的互通,并实现对内网中服务的集成逻辑,又由于iPaaS系统部署在租户的第一VPC上,目标服务部署在内网或租户的第二VPC上,并且通过第一传输连接传输数据传输请求至目标服务的服务代理,从而可以实现对同一租户不同内网或不同VPC中服务的集成逻辑,进而可以完善iPaaS系统的服务集成能力,并能有效降低iPaaS系统的开发、维护和迭代成本。下面说明本申请实施例提供的服务集成中的数据传输设备的示例性应用,本申请实施例提供的服务集成中的数据传输设备可以是iPaaS系统的网关,也可以是部署在租户内网中的服务代理。在实施时,该网关和该服务代理均可以实施为笔记本电脑,平板电脑,台式计算机,车载导航仪,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明作为服务集成中的数据传输设备的网关和服务代理均实施为服务器时的示例性应用。
参见图1E,图1E是本申请实施例提供的集成服务系统100的一个架构示意图,可以将内网中的服务按照一定逻辑集成起来,该集成服务系统100包括部署在租户的内网(示例性示出了内网400-1和内网400-2)中的服务代理(示例性示出了服务代理410-1和服务代理410-2)和服务(示例性示出了服务420-1和服务420-2),部署在第一虚拟私有云上的iPaaS系统500,以及iPaaS系统500的网关510,服务代理与网关510之间可以实现网络互通,iPaaS系统可以通过网关510和服务代理,与相应的服务之间进行数据传输互通,同时iPaaS系统500还支持与公网SaaS 32的互通。
网关510用于:接收所述iPaaS系统的连接器发送的数据传输请求;所述iPaaS系统部署在云网络中所述iPaaS系统所属租户的第一虚拟私有云VPC上;基于配置的服务配置信息,确定所述连接器要访问的目标服务的地址标识,以及所述网关与所述目标服务的服务代理进行数据传输的第一传输连接;其中,所述服务代理部署在所述租户的内网中,所述目标服务部署在所述内网或所述租户的第二VPC中,所述第一传输连接为基于所述服务代理发起的第一连接建立请求建立的;通过所述第一传输连接,将所述数据传输请求和所述目标服务的地址标识发送至所述服务代理,以使所述服务代理基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务。
服务代理用于:接收iPaaS系统的网关发送的所述iPaaS系统的连接器的数据传输请求和所述连接器要访问的目标服务的地址标识;其中,所述iPaaS系统部署在云网络中所述iPaaS系统所属租户的第一VPC上,所述服务代理部署在所述租户的内网中,所述目标服务部署在所述内网或所述租户的第二VPC中;基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务;在接收到所述连接器要访问的目标服务发送的响应数据的情况下,基于所述目标服务的地址标识,确定所述服务代理与所述网关进行数据传输的第一传输连接;其中,所述第一传输连接为基于所述服务代理发起的第一连接建立请求建立的;通过所述第一传输连接,将所述目标服务的响应数据和所述目标服务的地址标识发送至所述网关,以使所述网关基于所述地址标识,确定所述连接器,将所述目标服务的响应数据发送至所述连接器。
在一些实施例中,网关510和服务代理均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content Delivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。网关和服务代理可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。
在一些实施例中,网关510和服务代理也均可以是区块链系统中的节点,其中,区块链系统可以是由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成的分布式节点,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)之上的应用层协议。在区块链系统中,任何机器如服务器、终端都可以加入而成为节点。
参见图2A,图2A是本申请实施例提供的一种服务集成中的数据传输设备200的结构示意图,例如服务集成中的数据传输设备200实施为网关,图2A所示的服务集成中的数据传输设备200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。服务集成中的数据传输设备200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2A中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me-mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor-y)。本申请实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的服务集成中的数据传输装置可以采用软件方式实现,图2A示出了存储在存储器250中的服务集成中的数据传输装置255,其可以是程序和插件等形式的软件,包括以下软件模块:第一接收模块2551、第一映射模块2552和第一发送模块2553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的服务集成中的数据传输装置还可以采用硬件方式实现,作为示例,本申请实施例提供的服务集成中的数据传输装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的道路匹配方法,例如,硬件译码处理器形式的处理器可以采用一个或多个专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field Programmable Gate Array)或其他电子元件。
参见图2B,图2B是本申请实施例提供的一种服务集成中的数据传输设备300的结构示意图,例如服务集成中的数据传输设备实施为服务代理,图2B所示的服务集成中的数据传输设备300包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。服务集成中的数据传输设备300中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2B中将各种总线都标为总线系统340。
处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。
存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是ROM,易失性存储器可以是RAM。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。
在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、WiFi和USB等;
呈现模块353,用于经由一个或多个与用户接口330相关联的输出装置331(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块354,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的服务集成中的数据传输装置可以采用软件方式实现,图2B示出了存储在存储器350中的服务集成中的数据传输装置355,其可以是程序和插件等形式的软件,包括以下软件模块:第四接收模块3551、第五发送模块3552、第五接收模块3553和第六发送模块3554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的服务集成中的数据传输装置还可以采用硬 件方式实现,作为示例,本申请实施例提供的服务集成中的数据传输装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的道路匹配方法,例如,硬件译码处理器形式的处理器可以采用一个或多个ASIC、DSP、PLD、CPLD、FPGA或其他电子元件。
下面将结合本申请实施例提供的网关的示例性应用和实施,说明本申请实施例提供的服务集成中的数据传输方法。
参见图3,图3是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图,下面将结合图3示出的步骤进行说明,下述步骤的执行主体可以是前文的网关。
在步骤S101中,集成平台即服务iPaaS系统的网关接收iPaaS系统的连接器发送的数据传输请求,iPaaS系统部署在云网络中iPaaS系统所属租户的第一虚拟私有云VPC上。
这里,第一VPC可以是公有云上任意合适的可以部署iPaaS系统的VPC,iPaas系统的连接器需要通过连接相应的服务来实现服务的集成逻辑。数据传输请求为连接器要向目标服务获取数据的请求。
在步骤S102中,基于配置的服务配置信息,确定连接器要访问的目标服务的地址标识、以及网关与目标服务的服务代理进行数据传输的第一传输连接;其中,服务代理部署在租户的内网中,目标服务部署在内网或租户的第二VPC中,第一传输连接为基于服务代理发起的第一连接建立请求建立的。
这里,连接器要访问的目标服务为连接器发送该数据传输请求最终需要访问的服务,目标服务的服务代理为用于协助网关与目标服务进行数据传输的代理服务器。目标服务的地址标识为可以唯一确定目标服务的地址的标识信息,可以是目标服务的网际互联协议(IP,Internet Protocol)地址与端口的组合,也可以是基于目标服务的IP地址和端口生成的唯一标识,这里并不限定。第一传输连接为基于服务代理发起的第一连接建立请求预先或实时建立的连接,可以是TCP连接,也可以是远程过程调用(RPC,Remote Procedure Call)连接。
服务配置信息可以是用于对连接器的地址与目标服务器的地址进行地址映射所需的配置信息,服务配置信息可以是预先配置的,可以包括但不限于表征连接器的地址与目标服务的地址之间的对应关系的信息、表征网关中接收数据传输请求的转发代理的地址与目标服务的地址之间的对应关系的信息、表征连接器与转发代理的地址组合与目标服务和目标服务的服务代理的地址组合之间的对应关系的信息等,还可以包括但不限于表征连接器的地址与第一传输连接之间的对应关系的信息、表征接收网关中接收数据传输请求的转发代理的地址与第一传输连接之间的对应关系的信息等。在实施时,可以根据实际情况采用合适的服务配置信息,这里并不限定。
例如,服务配置信息中可以包括连接器的地址与目标服务的地址标识、以及第一传输连接之间的映射关系,对数据传输请求进行地址映射处理时,可以根据发送数据传输请求的连接器的地址,查询服务配置信息,得到与该连接器的地址对应的目标服务的地址标识以及第一传输连接。再如,服务配置信息中可以包括网关中接收数据传输请求的转发代理的地址与目标服务的地址标识、以及第一传输连接之间的映射关系,对数据传输请求进行地址映射处理时,可以根据接收数据传输请求的转发代理的地址,查询服务配置信息,得到与该转发代理的地址对应的目标服务的地址标识以及第一传输连接。
目标服务的服务代理部署在租户的内网,目标服务可以是部署在内网中,也可以部署在租户的第二VPC中,这样,网关可以通过内网中的服务代理与内网中的服务进行网络互通,也可以通过内网中的服务代理与第二VPC中的服务进行网络互通。
在步骤S103中,通过第一传输连接,将数据传输请求和目标服务的地址标识发送 至服务代理,以使服务代理基于地址标识,将连接器的数据传输请求发送至连接器要访问的目标服务。
这里,网关可以通过第一传输连接,将数据传输请求和目标服务的地址标识发送至目标服务的服务代理,服务代理可以基于目标服务的地址标识确定目标服务的IP地址和端口,并基于确定的IP地址和端口,将数据传输请求发送至目标服务。
本申请实施例中,通过部署在第一VPC上的iPaaS系统的网关接收iPaaS系统的连接器发送的数据传输请求,并基于配置的服务配置信息,确定连接器要访问的目标服务的地址标识、以及网关与目标服务的服务代理进行数据传输的第一传输连接,其中,服务代理部署在租户的内网中,目标服务部署在该内网或第二VPC中,且第一传输连接为基于服务代理发起的第一连接建立请求建立的,通过第一传输连接,将数据传输请求和目标服务的地址标识发送至服务代理,以使服务代理基于该地址标识,将该数据传输请求发送至目标服务。这样,能够实现iPaaS系统与租户内网之间网络的互通,并实现对内网中服务的集成逻辑,又由于iPaaS系统部署在租户的第一VPC上,目标服务部署在内网或租户的第二VPC上,并且通过第一传输连接传输数据传输请求至目标服务的服务代理,从而可以实现对同一租户不同内网或不同VPC中服务的集成逻辑,进而可以完善iPaaS系统的服务集成能力,并能有效降低iPaaS系统的开发、维护和迭代成本。
在一些实施例中,参见图4,图4是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图,基于图3,在步骤S101之前还可以执行如下步骤S401至步骤S402,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的网关。
步骤S401中,当接收到服务代理发起的第一连接建立请求时,与服务代理建立第一传输连接;其中,第一连接建立请求中包括服务代理的服务列表。
这里,服务代理可以主动向网关发起网络连接请求,网关在接收到服务代理发起的第一连接建立请求后,可以与该服务代理建立第一传输连接。服务代理的服务列表中可以包括该服务代理可以连接的至少一个服务。
步骤S402中,针对服务列表中的每个服务,为服务分配转发代理地址,并将服务的地址标识与转发代理地址之间的对应关系添加至服务配置信息中。
这里,转发代理地址为网关为服务列表中的每一服务分配的用于转发该服务对应的数据包的地址,可以是用于转发数据报文的端口,也可以包括用于转发数据报文的IP地址和端口。在实施时,网关在与服务代理建立连接之后,可以从当前可用的端口中选择一端口作为转发代理地址。
服务的地址标识可以是在服务列表中获取的服务的IP地址和端口,也可以是网关基于服务的IP地址和端口分配的唯一标识,这里并不限定。
服务配置信息可以是由网关存储维护的,也可以是由其他系统或模块存储维护的,例如,可以在第一VPC中部署一个注册中心,用于存储维护服务配置信息。
本申请实施例中,服务代理可以主动向网关发起网络连接请求,网关在接收到服务代理发起的第一连接建立请求后,可以与该服务代理建立第一传输连接,并为该服务代理的服务列表中的每个服务分配一个转发代理地址,将每个服务的地址标识与相应的转发代理地址之间的对应关系添加至服务配置信息中。这样,在连接器向目标服务进行数据传输时,网关可以基于接收数据传输请求的转发代理端口从服务配置信息中获取目标服务的地址标识。
在一些实施例中,参见图5A,图5A是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图,基于图3,数据传输请求为连接器通过与网关预先建立的第二传输连接发送的,步骤S102可通过如下步骤S501实现,步骤S103可以通过如下步 骤S502实现,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的网关。
步骤S501中,基于第二传输连接的标识,查询服务配置信息,得到连接器要访问的目标服务的地址标识、以及网关与目标服务的服务代理进行数据传输的第一传输连接。
这里,第二传输连接为连接器与网关之间预先或实时建立的连接,第二传输连接的标识为表征唯一第二传输连接的信息,可以是在建立第二传输连接时由连接器或网关生成的,也可以是该连接器的IP地址和端口的组合,或者是该网关中与该连接器连接的IP地址和端口的组合,这里并不限定。
服务配置信息中可以包括第二传输连接的标识与服务的地址标识、以及第一传输连接之间的对应关系,也可以包括第二传输连接的标识与转发代理的地址之间的对应关系、以及转发代理的地址与服务的地址标识、第一传输连接之间的对应关系,这里并不限定。
步骤S502中,通过第一传输连接,将数据传输请求和目标服务的地址标识发送至服务代理,以使服务代理基于地址标识,确定与目标服务建立的第三传输连接,并通过第三传输连接,将连接器的数据传输请求发送至连接器要访问的目标服务。
这里,服务代理可以与目标服务预先或实时建立第三传输连接,服务代理在接收到网关通过第一传输连接发送的目标服务的地址标识之后,可以基于该地址标识,确定与该目标服务对应的第三传输连接。
本申请实施例中,可以预先在连接器与网关之间建立第二传输连接,在网关与目标服务的服务代理之间建立第一传输连接,在目标服务的服务代理与目标服务之间建立第三传输连接,并基于第二传输连接的标识可以确定目标服务的地址标识和第一传输连接,基于目标服务的地址标识可以确定第三传输连接。这样,可以基于预先建立的连接器与目标服务之间的全链路连接,在进行数据传输时基于预先建立的全链路连接,可以简单快速地实现第一VPC中的iPaaS系统与内网或第二VPC中的目标服务之间的网络互通。
在一些实施例中,参见图5B,图5B是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图,基于图5A,该方法还可以包括如下步骤S503至步骤S505,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的网关。
步骤S503中,通过第一传输连接,接收服务代理返回的响应数据和目标服务的地址标识;其中,响应数据为目标服务通过第三传输连接发送至服务代理的。
这里,响应数据可以为目标服务通过服务代理返回给网关的响应数据包。
步骤S504中,基于目标服务的地址标识,查询服务配置信息,得到第二传输连接的标识。
这里,服务配置信息中可以包括表征目标服务于第二传输连接之间的对应关系的信息,通过查询该对应关系,可以确定目标服务的地址标识对应的第二传输连接的标识。
步骤S505中,基于第二传输连接的标识,将响应数据通过第二传输连接发送至连接器。
本申请实施例中,通过第三传输连接、第一传输连接和第二传输连接,可以将目标服务的响应数据发送至iPaaS系统的连接器,这样,可以简单快速地实现目标服务与iPaaS系统的连接器之间的网络互通。
在一些实施例中,参见图5C,图5C是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图,基于图5A,在步骤S101之前还可以执行如下步骤S506至步骤S508,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的网关。
步骤S506中,当接收到连接器发送的第二连接建立请求时,与连接器建立第二传输连接。
这里,连接器可以主动向网关发送第二连接建立请求,从而网关可以与该连接器建立第二传输连接。在实施时,第二传输连接可以是TCP连接,也可以是RPC连接,这里并不限定。
步骤S507中,基于第二连接建立请求所请求的转发代理地址,查询服务配置信息,得到连接器要访问的目标服务的地址标识、以及与目标服务的服务代理进行数据传输的第一传输连接。
这里,连接器可以在第二连接建立请求中携带要请求的转发代理地址,转发代理地址可以包括转发代理的IP地址和端口。
步骤S508中,基于第一传输连接,将携带目标服务的地址标识的第三连接建立请求发送至服务代理,以使服务代理基于目标服务的地址标识,与目标服务建立第三传输连接。
这里,网关可以基于预先建立的第一传输连接向目标服务的服务代理发送第三连接建立请求,目标服务的服务代理在接收到第三连接建立请求后,可以基于目标服务的地址标识确定要连接的目标服务,从而与该目标服务建立第三传输连接。
本申请实施例中,网关在接收到连接器发送的第二连接建立请求的情况下,与连接器建立第二传输连接,并基于第二连接建立请求所请求的转发代理地址,确定连接器要访问的目标服务的地址标识、以及与目标服务的服务代理进行数据传输的第一传输连接,基于第一传输连接,将携带目标服务的地址标识的第三连接建立请求发送至服务代理,以使服务代理基于目标服务的地址标识,与目标服务建立第三传输连接。这样,可以快速建立iPaaS系统与目标服务之间的全链路连接。
在一些实施例中,参见图6A,图6A是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图,基于图3,步骤S102可以通过如下步骤S601至步骤S603实现,步骤S103可以通过如下步骤S604实现,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的网关。
步骤S601中,获取发送数据传输请求的连接器的地址、接收数据传输请求的转发代理的地址以及连接器要访问的目标服务的地址。
这里,可以通过解析数据传输请求报文,获取请求报文的源地址和目的地址,请求报文的源地址即发送数据传输请求的连接器的地址,请求报文的目的地址即为接收数据传输请求的转发代理的地址。数据传输请求报文中还可以携带连接器要访问的目标服务的地址。
步骤S602中,基于连接器的地址和转发代理的地址,查询网关的连接状态跟随表,得到连接器要访问的目标服务的地址标识。
这里,网关的连接状态跟随表用于记录网关中连接器的地址或转发代理的地址与目标服务的地址标识之间的对应关系。连接器要访问的目标服务的地址标识,可以是网关在接收到连接器发送的数据传输请求后,基于连接器的地址和转发代理的地址为连接器要访问的目标服务的地址分配的唯一标识。在实施时,连接器要访问的目标服务的地址标识可以与连接器的地址或转发代理的地址进行绑定后,记录在网关的连接状态跟随表中。
步骤S603中,基于转发代理的地址,查询配置的服务配置信息,得到网关与目标服务的服务代理进行数据传输的第一传输连接。
步骤S604中,通过第一传输连接,将数据传输请求、目标服务的地址和目标服务的地址标识发送至服务代理,以使服务代理基于地址标识,查询服务代理的连接状态跟随表,确定服务代理的地址,并通过服务代理的地址和目标服务的地址,将连接器的数据传输请求发送至连接器要访问的目标服务。
这里,服务代理的地址可以包括服务代理中用于与目标服务进行数据传输的端口。服务代理的连接状态跟随表用于记录服务代理中目标服务的地址标识与服务代理的地址之间的对应关系。目标服务的服务代理可以在接收到网关发送的数据传输请求、目标服务的地址和目标服务的地址标识后,查询服务代理的连接状态跟随表中是否有与该目标服务的地址标识对应的记录,若服务代理的连接状态跟随表中没有与该目标服务的地址标识对应的记录,则基于接收到的目标服务的地址,为该目标服务分配一个服务代理的地址,并将分配的服务代理的地址与目标服务的地址标识进行绑定后,记录在服务代理的连接状态跟随表中。
在一些实施例中,上述步骤S602可以通过如下步骤S621至步骤S622实现:步骤S621中,当网关的连接状态跟随表中未查询到连接器的地址和转发代理的地址对应的记录时,基于目标服务的地址,生成连接器要访问的目标服务的地址标识;步骤S622中,将连接器的地址、转发代理的地址和目标服务的地址标识构成的记录添加至网关的连接状态跟随表中。
本申请实施例中,通过网关的连接状态跟随表记录网关中连接器的地址或转发代理的地址与目标服务的地址标识之间的对应关系,通过服务代理的连接状态跟随表记录服务代理中目标服务的地址标识与服务代理的地址之间的对应关系。这样,在网关与服务代理进行数据传输时,可以基于网关的连接状态跟随表和服务代理的连接状态跟随表实现连接器的地址或转发代理的地址与服务代理的地址之间的映射,从而实现连接器的地址或转发代理的地址与目标服务的地址之间的映射,由于连接器通过网关及服务代理向目标服务发送数据的过程中仅需维持第一传输连接,从可以在一定程度减小数据传输的延迟,提高数据传输效率。
在一些实施例中,参见图6B,图6B是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图,基于图6A,该方法还可以执行如下步骤S605至步骤S607,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的网关。
步骤S605中,通过第一传输连接,接收服务代理返回的响应数据和连接器要访问的目标服务的地址标识。
步骤S606中,基于目标服务的地址标识,查询网关的连接状态跟随表,得到发送响应数据的转发代理的地址以及接收响应数据的连接器的地址。
步骤S607中,基于转发代理的地址和连接器的地址,将响应数据发送至连接器。
本申请实施例中,网关通过第一传输连接接收服务代理返回的响应数据和目标服务的地址标识,并基于目标服务的地址标识,查询网关的连接状态跟随表,得到发送响应数据的转发代理的地址以及接收响应数据的连接器的地址,从而基于转发代理的地址和连接器的地址,将响应数据发送至连接器。这样,可以快速地将目标服务的响应数据返回至连接器。
下面将结合本申请实施例提供的服务代理的示例性应用和实施,说明本申请实施例提供的服务集成中的数据传输方法。
参见图7,图7是本申请实施例提供的服务集成中的数据传输方法的一个流程示意图,下面将结合图7示出的步骤进行说明,下述步骤的执行主体可以是前文的服务代理。
在步骤S701中,服务代理接收iPaaS系统的网关发送的iPaaS系统的连接器的数据传输请求和连接器要访问的目标服务的地址标识;其中,iPaaS系统部署在云网络中iPaaS系统所属租户的第一VPC上,服务代理部署在租户的内网中,目标服务部署在内网或租户的第二VPC中。
在步骤S702中,基于地址标识,将连接器的数据传输请求发送至连接器要访问的目标服务。
在步骤S703中,在接收到连接器要访问的目标服务发送的响应数据的情况下,基于目标服务的地址标识,确定服务代理与网关进行数据传输的第一传输连接;其中,第一传输连接为基于服务代理发起的第一连接建立请求建立的。
在步骤S704中,通过第一传输连接,将目标服务的响应数据和目标服务的地址标识发送至网关,以使网关基于地址标识,确定连接器,将目标服务的响应数据发送至连接器。
这里,连接器为iPaaS系统中接收该目标服务发送的响应数据的连接器。
本申请实施例中,通过部署在租户内网中的服务代理接收部署在第一VPC上的iPaaS系统的网关发送的数据传输请求和目标服务的地址标识,基于该地址标识,将数据传输请求发送至部署在该内网或第二VPC中的目标服务,在接收到目标服务发送的响应数据的情况下,基于该目标服务的地址标识,确定服务代理与该网关进行数据传输的第一传输连接,其中,该第一传输连接为基于该服务代理发起的第一连接建立请求预先建立的,通过该第一传输连接,将响应数据和目标服务的地址标识发送至该网关,以使该网关基于地址标识,确定iPaaS系统中的要访问该目标服务的连接器,并将响应数据发送至该连接器。这样,能够实现iPaaS系统与租户内网之间网络的互通,并实现对内网中服务的集成逻辑,又由于iPaaS系统部署在租户的第一VPC上,目标服务部署在内网或租户的第二VPC上,并且通过第一传输连接传输数据传输请求至目标服务的服务代理,从而可以实现对同一租户不同内网或不同VPC中服务的集成逻辑,进而可以完善iPaaS系统的服务集成能力,并能有效降低iPaaS系统的开发、维护和迭代成本。
在一些实施例中,在步骤S703之前,该方法还可以执行如下步骤S801:
步骤S801中,服务代理向网关发送第一连接建立请求,服务代理与网关建立第一传输连接;其中,第一连接建立请求中包括服务代理的服务列表,以使网关在建立第一传输连接后,针对服务列表中的每一服务,为服务分配转发代理地址,并将服务的地址标识与转发代理地址之间的对应关系添加至服务配置信息中。
在一些实施例中,步骤S702可以通过如下步骤S901至步骤S902实现:
步骤S901中,基于地址标识,确定服务代理与连接器要访问的目标服务之间预先建立的第三传输连接。
步骤S902中,通过第三传输连接,将连接器的数据传输请求发送至目标服务。
对应地,步骤S704可以通过如下步骤S903实现:
步骤S903中,通过第一传输连接,将目标服务的响应数据和目标服务的地址标识发送至网关,以使网关基于地址标识,确定连接器以及与连接器建立的第一传输连接,并通过第一传输连接将目标服务的响应数据发送至连接器。
在一些实施例中,在步骤S901之前,该方法还可以执行如下步骤S904:
步骤S904中,当接收到网关发送的携带连接器要访问的目标服务的地址标识的第三连接建立请求时,基于目标服务的地址标识,与目标服务建立第三传输连接。
在一些实施例中,步骤S702可以通过如下步骤S1001至步骤S1002实现:
步骤S1001中,基于地址标识,查询服务代理的连接状态跟随表,得到服务代理的地址和连接器要访问的目标服务的地址。
步骤S1002中,通过服务代理的地址和目标服务的地址,将连接器的数据传输请求发送至连接器要访问的目标服务。
对应地,步骤S703之前还可以执行如下步骤S1003至步骤S1004:
步骤S1003中,获取连接器要访问的目标服务的地址和接收目标服务的响应数据的服务代理的地址。
步骤S1004中,基于目标服务的地址和服务代理的地址,查询服务代理的连接状 态跟随表,得到目标服务的地址标识。
在一些实施例中,上述步骤S1001可以通过如下步骤S1005至步骤S1006实现:
步骤S1005中,当服务代理的连接状态跟随表中未查询到地址标识对应的记录时,基于连接器要访问的目标服务的地址,为目标服务分配服务代理的地址。
步骤S1006中,将目标服务的地址、服务代理的地址和地址标识构成的记录添加至服务代理的连接状态跟随表中。
需要说明的是,以上服务代理侧的方法实施例的描述,与上述网关侧的方法实施例的描述是类似的,具有同网关侧的方法实施例相似的有益效果。对于本申请服务代理侧的方法实施例中未披露的技术细节,请参照本申请网关侧的方法实施例的描述而理解。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
以iPaaS系统中Connector(连接器)和目标客户内网中的服务(Service)的集成互通为例,本申请实施例提供一种服务集成系统,参见图8A,图8A为本申请实施例提供的服务集成系统的一种实现架构示意图,该系统包括在客户内网110中部署的服务代理(Agent)111、内部系统112和数据库113,在客户内网120中部署的服务代理(Agent)121、内部私有SaaS 122,在公有云VPC上部署的iPaaS系统130,以及在公有云上部署的公网SaaS 141,其中,Agent可以访问公有云但无法在公有云进行检测,通过Agent主动访问iPaaS系统130,可以实现Agent与iPaaS系统130之间的网络互通,同时考虑到对已有iPaaS系统的兼容和改造成本,降低耦合度,在iPaaS内部设置网关(Gateway)131,Gateway 131可以协助打通iPaaS系统130与客户内网110和120之间的网络互通,从而可以实现内部系统112、数据库113、内部私有SaaS 122以及公网SaaS 141之间的集成逻辑。
参见图8B,图8B为本申请实施例提供的服务集成系统的一种实现架构示意图,为了实现部署在iPaaS VPC上的iPaaS系统中Connector(示例性示出Connector 1321、Connector 1322和Connector 132n,n为正整数)和客户内网中的Service(示例性示出Service 1121、Service 1122和Service 112n)集成互通,新增三个模块:Gateway 131、注册中心133和Agent(示例性示出Agent 1111、Agent 1112和Agent 111n),其中Gateway 131和注册中心133部署在iPaaS VPC,Agent部署在客户内网,同时允许客户内网中根据地域/服务划分,部署多个Agent。与此同时,在Gateway中,为客户内网的每个Service创建一个相对应的转发代理Proxy(示例性示出Proxy 1311、Proxy 1312和Proxy 131n),两者之间一一对应,Connector与Proxy通讯等效于直接和该Proxy对应的Service通讯,对iPaaS系统的用户无感知。该实现架构的优点主要在于:1)已有iPaaS系统中Connector的改动成本最小,不需要改通讯相关的代码,只需要新增服务地址/端口(Service IP/Port)和转发代理地址/端口(Proxy IP/Port)的映射逻辑,按原来连接Service的方式连接对应Proxy即可;2)可以降低代码耦合度,Connector组件内部只关注业务处理逻辑,具体网络互联统一由Gateway处理。
参见图8C,图8C为本申请实施例提供的服务集成系统中各模块之间的交互流程示意图,该流程包括如下步骤:
步骤S1101,Agent主动请求与Gateway建立连接,即第一传输连接(AgentConnection)。
步骤S1102,Gateway为Agent的每个Service创建对应的Proxy。
步骤S1103,Gateway创建Proxy成功之后,将创建的Proxy注册到注册中心。
步骤S1104,Connector连接Service IP/Port时,从注册中心根据Service IP/Port确定对应的Proxy IP/Port。
步骤S1105,Connector直接与对应的Proxy IP/Port通讯。
步骤S1106,Gateway通过AgentConnection将Connector与Proxy的通讯映射为Agent与Service的通讯,数据传输完成后,返回给Connector,以完成一次完整的通讯。
上述交互流程中包括如下实体:私有云(Private Cloud)、Gateway、Proxy、Agent,注册中心中维护了各实体对应的元数据和配置文件,其中,注册中心保存的主要元数据包括:
1)私有云元数据(PrivateCloudMeta):
该元数据中可以包括应用标识(AppId)、云标识(CloudId)、云名称(CloudName)、服务列表(Services)、源IP地址白名单(SourceIpWhiteList)、状态(Status)、AgentConnection列表(AgentConnectionList),其中,私有云元数据的状态Status包括以下状态之一:可用状态(ENABLED)、正在禁用(DISABLING)、禁用状态(DISABLED),参见图8D,图8D为本申请实施例提供的服务集成系统中私有云元数据的状态转移示意图,ENABLED状态下该私有云元数据被禁用时,进入DISABLING状态,私有云元数据禁用完成后,进入DISABLED状态,在DISABLED状态下,该私有云元数据被启用时,则进入ENABLED状态。服务列表(Services)中可以包括至少一个服务,每一服务可以包括IP、端口Port、模式Mode,Mode中可以包括网络地址转换(NAT,Network Address Translation)模式、转发(Forward)模式,AgentConnection列表中可以包括至少一个AgentConnection,每一AgentConnection可以包括AgentConnection的标识AgentConnectionId、Gateway的标识GatewayId和状态Status,AgentConnection的状态Status可以是连接状态(CONNECTED)或者断开状态(DISCONNECTED)。
2)Gateway元数据(GatewayMeta):
该元数据中可以包括Gateway的标识(GatewayId)、Gateway的IP地址(GatewayIp)、状态(Status)、心跳信息(Heartbeat)。这里,Gateway的状态Status可以是活跃状态(ACTIVE)或者不可用状态(UNAVAILABLE)等。
3)Proxy元数据(ProxyMeta):
该元数据中可以包括云标识(CloudId)、服务的IP地址(ServiceIp)、服务的端口(ServicePort)、转发代理的IP地址(ProxyIp)、转发代理的端口(ProxyPort)、连接Proxy的AgentConnection的标识(AgentConnectionId)。
注册中心保存的配置文件包括Agent配置文件,Agent配置文件中可以包括应用的验证序号(AppKey)、应用的验证密钥(AppSecret)、云标识(CloudId)和服务白名单(ServiceWhiteList)。
本申请实施例提供一种服务集成中的数据传输方法,参见图9,该方法包括如下步骤S1201至步骤S1213:
步骤S1201,在注册中心创建安全网关(即私有云)。
步骤S1202,在客户内网创建Agent配置文件,部署并启动Agent程序。
步骤S1203,Agent启动后,主动与Gateway建立连接,即建立AgentConnection。
步骤S1204,连接成功后,Agent向Gateway发送握手指令,握手指令包括参数AppKey、AppId、CloudId、ServiceWhiteList、AppSecret的签名(Signature)。
步骤S1205,Gateway收到握手指令后,通过鉴权获得AppId,再根据AppId+CloudId从注册中心获取到私有云元数据。
步骤S1206,如果鉴权失败,或私有云不存在,或私有云的Status不是可用状态,或握手指令的源IP不在SourceIpWhiteList中,或者可用端口数不足,则Gateway返回对应的错误。
步骤S1207,校验通过后,Gateway为该连接分配AgentConnectionId与之关联,并将该连接注册到私有云元数据的AgentConnectionList。
步骤S1208,Gateway获取私有云元数据中的所有Service,当握手报文中指定了ServiceWhiteList时,则从私有云元数据中的所有Service中筛选出ServiceWhiteList中包含的每个Service,为每一Service分配代理端口。
针对每一Service,可以执行如下操作:
步骤S1208a,在Gateway的可用端口池中分配ProxyPort。
步骤S1208b,Gateway尝试检测分配的ProxyPort,当检测失败时,则休眠1秒(s)后,将该ProxyPort放回端口池,并跳转至步骤S1208a,当检测成功时,则跳转至步骤S1208c。
步骤S1208c,Gateway在注册中心创建Proxy元数据,其中,Proxy元数据的ProxyIp为该Gateway节点的内网IP,ProxyPort为分配的ProxyPort,AgentConnectionId为该连接关联的AgentConnectionId,Service IP/Port对应当前Service的IP地址和端口。
步骤S1209,在配置Connector时,可指定私有云。
步骤S1210,Connector在与目标服务建立连接时,当参数指定了CloudId时,则根据AppId+CloudId从注册中心获取私有云元数据,当私有云元数据不存在,或者状态不是可用状态时,则进行报错处理。
步骤S1211,当目标Service IP/Port不在Service列表中时,则Connector直接连接目标Service IP/Port进行通讯,否则,Connector根据目标IP、Port、AppId、CloudId查找状态为ACTIVE的Gateway中Heartbeat没超时,且AgentConnection处于CONNECTED状态的Proxy,当没查找到,则进行报错处理。
步骤S1212,Connector从查找到的至少一个Proxy中按负载均衡策略选取一个Proxy,与选取的Proxy IP/Port连接通讯。
步骤S1213,由Gateway、Agent共同完成Proxy IP/Port与Service IP/Port之间端口映射,在实施时,端口映射支持NAT和流量转发两种模式。
在上述流程中,控制台的操作可以包括:1)创建私有云;2)启停私有云;3)停止状态下,维护/删除私有云元数据;4)查看私有云与Agent连接的网络结构拓扑图。
Gateway可以通过执行如下步骤实现系统控制:
步骤S1301,Gateway启动后获取GatewayIP。
步骤S1302,在注册中心按照GatewayIP查询ACTIVE的Gateway,并删除Gateway;这样,可以避免重复启动相同IP的Gateway。
步骤S1303,分配GatewayId,并将GatewayId注册到注册中心。
步骤S1304,初始化端口池。
这里,可以采用如下步骤S1304a至步骤S1304d实现端口池的初始化。
步骤S1304a,从注册中心找到所有GatewayIP相同、被删除的、最后心跳时间在最大代理生命时长(MPL,Max Proxy Lifetime)内的GatewayId,并从注册中心找到对应的端口(Port)。
这里,MPL用于防止Proxy被错误连接,在Proxy的MPL内,同一组IP/Port不会被复用,Connector的客户端Client需要确保使用Proxy IP/Port时在Proxy的MPL内,MPL可以默认是10分钟。
步骤S1304b,将每个Port放入延时队列,时间为Port对应的GatewayId的最后心跳时间+MPL。
步骤S1304c,将剩余的可用端口放入延时队列头部,得到的延时队列,即为端口池。
步骤S1305,开始接收来自Agent的连接。
步骤S1306,定时更新注册中心Gateway的心跳时间,当确定Gateway被删除时, 则中断所有Agent Connection,停止Proxy Port并重启服务。
步骤S1307,定时删除心跳超时的Gateway。
步骤S1308,Gateway定期探活AgentConnection,当AgentConnection不可用时,断开连接,并更新该AgentConnection的状态为DISCONNECTED。
这里,Agent也会定期激活AgentConnection,当AgentConnection不可用时,断开连接,并重新建立连接。
步骤S1309,Gateway进行私有云禁用时,可以执行如下操作:
步骤S1309a,将要禁用的私有云元数据中的状态标记为DISABLING。
步骤S1309b,依次调用每个AgentConnection对应的Gateway的断开连接接口,调用完成后,将私有云元数据中的状态标记为DISABLED。
在本申请实施例提供的服务集成中的数据传输方法中,需要保证私有云状态、Gateway状态以及AgentConnection状态各自的一致性。各状态具有如下一致性优先级:私有云状态一致性>Gateway状态一致性>AgentConnection状态一致性。针对Gateway状态以及AgentConnection状态一致性的保证,可以采用如下方式:
1)Gateway状态一致性保证
当Gateway不可用时,导致状态不一致,则在心跳超时后,该Gateway被其它节点删除,保证状态一致;
当Gateway分区时,在心跳超时后,会被其它节点删除,分区恢复后,导致状态不一致,心跳检测到Gateway被删除后,Gateway主动重启,保证状态一致。
2)AgentConnection状态一致性保证
当Gateway不可用时,Agent连不上Gateway,则Agent自动重启,状态达到一致;
当Agent不可用时,Gateway连不上Agent,则将相应的AgentConnection标记为DISCONNECTED,状态达到一致;
当Gateway网络不通时,Agent连不上Gateway,则Agent自动重启,Gateway网络连通后,当Agent不可用时,Gateway连不上Agent,则将相应的AgentConnection标记为DISCONNECTED,状态达到一致;
当Agent网络不通时,AgentConnection断开连接,并将连接状态标记为DISCONNECTED,当Agent网络连通时,重新连接,当Gateway网络不通时,Agent连不上Gateway,则Agent自动重启,Gateway网络连通后,当Agent不可用时,Gateway连不上Agent,则将相应的AgentConnection标记为DISCONNECTED,状态达到一致。
综上,在本申请实施例提供的服务集成中的数据传输方法中,由部署在iPaaS内网中的Gateway和部署在客户内网的Agent共同完成Proxy IP/Port与Service IP/Port之间端口映射的职能,并且支持NAT和流量转发两种端口映射模式。以下将展开介绍两种模式的端口映射原理。
1)流量转发模式
参见图10,图10为本申请实施例提供的采用流量转发模式进行端口映射的服务集成系统的组成架构示意图,在流量转发模式下,iPaaS系统的连接器Connector 1010与目标服务Service 1040之间的完整链路需要建立三次TCP连接,包括Connector 1010与Gateway 1020的转发代理Proxy 1021之间建立的连接ClientConnector,Gateway 1020的转发代理Proxy 1021与Agent 1030之间建立的AgentConnection,以及Agent 1030与Service 1040之间建立的ServiceConnection,即第三传输连接,Gateway 1020和Agent1030可以共同作为分布式代理网关。
在服务集成中,基于流量转发模式进行数据传输时,主要包括全链路连接建立和数据传输两个流程,同时需要考虑连接中断与错误处理。下面分别对各流程进行说明。
全链路连接建立可以包括如下步骤S1401至步骤S1405:
步骤S1401,Connector的客户端Client通过TCP的三次握手与Proxy建立连接ClientConnection,即第二传输连接。
步骤S1402,Gateway为该ClientConnection分配标识ConnectionId。
步骤S1403,Gateway发送建立连接指令给Proxy对应的AgentConnection,等待返回。
这里,Gateway与Agent之间的连接为RPC连接,建立连接指令对应的RPC报文格式如下:
Cmd:Establish
ConnectionId:xxx
Service IP/PORT:xxx:xxx;
其中,Cmd为控制类型,Establish表示建立连接,ConnectionId是为ClientConnection分配的唯一标识,Service IP/PORT为目标服务的IP地址/端口。
步骤S1404,Agent通过TCP的三次握手与与目标服务Service IP/Port建立连接ServiceConnection,并将该连接与ConnectionId绑定。
步骤S1405,Agent向Gateway返回建立成功或建立失败的消息。
数据传输流程包括上行数据传输和下行数据传输两部分,在上述步骤S1402之后可以执行上行数据传输流程,包括如下步骤S1411至步骤S1416:
步骤S1411,Connector通过ClientConnection发送数据流给Proxy。
这里,发送数据流时可以包括对数据流进行的拆包、组包等操作,Connector向Proxy发送数据包时的TCP报文格式如下:
Src:Client IP/Port
Dst:Proxy IP/Port
Flag:DATA
Payload;
其中,报文的源地址Src为Connector的客户端的IP地址和端口,也即Client IP/Port,报文的目的地址Dst为Proxy的IP地址和端口,也即Proxy IP/Port,Flag为报文标志,DATA表示数据发送报文,Payload为要传输的数据。
此外,Proxy接收到Connector发送的报文后,会向Connector返回一个确认报文。
步骤S1412,Gateway根据ClientConnection获取对应的ConnectionId,并根据Proxy获取对应的AgentConnection。
步骤S1413,Gateway通过AgentConnection发送数据流指令给Agent,等待返回。
这里,发送数据流时可以包括对数据流进行的拆包、组包等操作,AgentConnection可以是TCP连接也可以是RPC连接,Gateway向AgentConnection发送数据包时的RPC报文格式如下:
Cmd:DATA
ConnectionId:xxx
Payload;
其中,Cmd为控制类型,DATA表示数据发送,Payload为要传输的数据,ConnectionId为ClientConnection的标识。如果该ConnectionId的前一个上行数据传输指令还没有返回,则放入等待队列,等待发送。
步骤S1414,Agent根据ConnectionId找到对应的ServiceConnection。
步骤S1415,Agent通过ServiceConnection将数据流发送给Service。
这里,发送数据流时可以包括对数据流进行的拆包、组包等操作,Agent向Service 发送数据包时的TCP报文格式如下:
Src:Agent IP/Port
Dst:Service IP/Port
Flag:DATA
Payload;
其中,报文的源地址Src为Agent的IP地址和端口,也即Agent IP/Port,报文的目的地址Dst为Service的IP地址和端口,也即Service IP/Port,Flag为报文标志,DATA表示数据发送报文,Payload为要传输的数据。
步骤S1416,Service返回发送成功或失败的消息。
此外,Service接收到Agent发送的报文后,会向Agent返回一个表示发送成功或失败的确认报文。
下行数据传输流程,包括如下步骤S1421至步骤S1426:
步骤S1421,Service通过ServiceConnection发送数据流给Agent。
这里,发送数据流时可以包括对数据流进行的拆包、组包等操作,Service向Agent发送数据包时的TCP报文格式如下:
Src:Service IP/Port
Dst:Agent IP/Port
Flag:DATA
Payload;
其中,报文的源地址Src为Service的IP地址和端口,也即ServiceIP/Port,报文的目的地址Dst为Agent的IP地址和端口,也即Agent IP/Port,Flag为报文标志,DATA表示数据发送报文,Payload为要传输的数据。
此外,Agent接收到Service发送的报文后,会向Service返回一个确认报文。
步骤S1422,Agent根据ServiceConnection确定ConnectionId。
步骤S1423,Agent通过AgentConnection发送数据流指令给Proxy。
这里,发送数据流时可以包括对数据流进行的拆包、组包等操作,AgentConnection可以是TCP连接也可以是RPC连接,Agent通过AgentConnection发送数据包时的RPC报文格式如下:
Cmd:DATA
ConnectionId:xxx
Payload;
其中,Cmd为控制类型,DATA表示数据发送,Payload为要传输的数据,ConnectionId为ClientConnection的标识。如果该ConnectionId的前一个下行数据传输指令还没有返回,则放入等待队列,等待发送。
步骤S1424,Gateway根据ConnectionId确定对应的Client Connection。
步骤S1425,Gateway通过ClientConnection将数据流发送给Connector。
这里,发送数据流时可以包括对数据流进行的拆包、组包等操作,Gateway向Connector发送数据包时的TCP报文格式如下:
Src:Proxy IP/Port
Dst:Client IP/Port
Flag:DATA
Payload;
其中,报文的源地址Src为Proxy的IP地址和端口,也即Proxy IP/Port,报文的目的地址Dst为Connector的客户端的IP地址和端口,也即Client IP/Port,Flag为报文标 志,DATA表示数据发送报文,Payload为要传输的数据。
步骤S1426,Connector返回发送成功或失败的消息。
这里,Connector接收到Proxy发送的报文后,会向Proxy返回一个表示发送成功或失败的确认报文。
在上述本申请实施例提供的采用流量转发模式进行端口映射的数据传输方法中,对于各连接的中断与错误处理可以包括:
(1)Client Connection被动断开的处理过程如下:
a、Gateway检测到ClientConnection断开,如超时、重启或收到Connector的断开。
b、Gateway标记ConnectionId状态为已断开。
c、Gateway通过AgentConnection发送断开指令给Agent,断开指令中携带参数ConnectionId。
d、Agent收到指令后,标记ConnectionId状态为已断开,断开对应的ServiceConnection。
e、Gateway后续收到通过AgentConnection发来的该ConnectionId的下行指令时返回错误。
(2)Service Connection被动断开的处理过程如下:
a、Agent检测到ServiceConnection断开,如超时、重启或收到Service的断开。
b、Agent标记ConnectionId为已断开。
c、Agent通过AgentConnection发送断开指令给Gateway,断开指令中携带参数ConnectionId。
d、Gateway收到指令后,标记ConnectionId为已断开,断开对应的ClientConnection。
e、Agent后续收到Gateway通过AgentConnection发来的该ConnectionId的上行指令时返回错误。
(3)Gateway发送上行指令返回错误时,标记对应的ConnectionId为已断开,断开对应的ClientConnection。
(4)Agent发送下行指令返回错误时,标记对应的ConnectionId为已断开,断开对应的ServiceConnection。
在上述本申请实施例提供的采用流量转发模式进行端口映射的数据传输方法,实现简单,连接可靠,且能充分利用操作系统内核中现有的TCP协议支持能力,数据传输性能好。
2)NAT模式
参见图11,图11为本申请实施例提供的采用NAT模式进行端口映射的服务集成系统的组成架构示意图,在NAT模式下,iPaaS系统的连接器Connector 1010与目标服务Service 1040之间进行数据传输时,需要通过Gateway 1020和Agent 1030进行地址转换,Gateway 1020中的每一Proxy 1021与Agent 1030之间预先建立了AgentConnection,基于AgentConnection进行数据传输时,通过Gateway维护的Gateway连接状态跟随表(Gateway Connection Track)1022,以及Agent维护的Agent连接状态跟随表(Agent Connection Track)1031实现Proxy IP/Port与Service IP/Port之间的映射,从而实现Connector与Service之间的网络互通。
在服务集成中,基于NAT模式进行数据传输时,可以包括如下步骤S1501至步骤S1517:
步骤S1501,Client向Proxy发送TCP握手报文SYN包。
步骤S1502,Gateway收到SYN包后,根据Client IP/Port+Proxy Port从Gateway的连接状态跟随表中查找ConnectionId及对应的状态数据。
步骤S1503,判断SYN包类型,并根据不同的SYN包类型进行如下操作:
a、当Gateway的连接状态跟随表的记录中不存在Client IP/Port+Proxy Port对应的ConnectionId时,则此包为首次到达的包,分配新的ConnectionId后,注册到Gateway的连接状态跟随表后,跳转至步骤S1504;
b、当Gateway的连接状态跟随表的记录中ClientFlag==SYN且Client Seq==seq1时,则此包为重传包,跳转至步骤S1504;否则,此包为乱序包,忽略此包。
步骤S1504,Gateway通过AgentConnection发送同步指令给Agent。
这里,可以采用RPC方式进行指令发送,同步指令的报文中可以包括ConnectionId、Service IP/Port以及去掉端口号的原TCP报文。
步骤S1505,Agent收到同步指令后,按照ConnectionId从Agent的连接状态跟随表中查找Agent端口(AgentPort)和状态数据。
步骤S1506,Agent判断报文类型,包括:
a、当Agent的连接状态跟随表的记录中不存在ConnectionId对应的AgentPort时,则此包为首次到达的包,分配AgentPort后,将该AgentPort注册到Agent的连接状态跟随表,并更新对应记录中的ClientFlag、ClientSeq后,跳转至步骤S1507;
b、当Agent的连接状态跟随表的记录中,ConnectionId对应的记录的ClientFlag==SYN且Client Seq==seq1时,则此包为重传包,跳转至步骤S1507,否则此包为乱序包,忽略此包。
步骤S1507,Agent通过AgentPort发送TCP报文给Service IP/Port,TCP报文中源地址为Agent IP/Port,目的地址为Service IP/Port,报文标志位为SYN,也即发送的为SYN包,Seq为seq1。
步骤S1508,Service收到SYN包后,回复SYN|ACK包,对应的TCP报文中源地址为Service IP/Port,目的地址为Agent IP/Port,报文标志位为SYN|ACK,Seq为seq2,Ack为seq1+1。
步骤S1509,Agent收到SYN|ACK包后,根据Service IP/Port和Agent Port从Agent的连接状态跟随表中查找ConnectionId和对应的状态数据。
步骤S1510,Agent判断报文类型,包括:
a、当Agent的连接状态跟随表的记录中不存在Service IP/Port与Agent Port对应的ConnectionId时,则此包为乱序包,忽略此包;
b、当Agent的连接状态跟随表的记录中,ConnectionId对应的记录的ClientFlag!=SYN或者ClientSeq!=该包Ack(即seq1+1)时,则此包为乱序包,忽略此包;
c、当Agent的连接状态跟随表的记录中,ConnectionId对应的记录的ServiceFlag==nil、ServiceSeq==nil时,则此包为首个SYN|ACK包,更新ServiceFlag、ServiceSeq,跳转至步骤S1511;
d、当Agent的连接状态跟随表的记录中,ConnectionId对应的记录的ServiceFlag==该包Flag(即SYN|ACK)、ServiceSeq==该包Seq(即seq2)时,则此包为重传包,跳转至步骤S1511;
e、否则此包为乱序包,忽略此包。
步骤S1511,Agent发送同步答复指令给Gateway,答复指令的RPC报文中包括控制字段Cmd、ConnectionId以及去掉端口号的原TCP报文。
步骤S1512,Gateway收到同步答复指令时,根据ConnectionId从Gateway的连接状态跟随表中查找Client IP/Port、Proxy Port和状态数据。
步骤S1513,Gateway判断报文类型,包括:
a、当Gateway的连接状态跟随表的记录中不存在ConnectionId对应的Client IP/Port 和Proxy Port时,则此包为乱序包,忽略此包;
b、当Gateway的连接状态跟随表的记录中不存在ConnectionId对应的记录中ClientFlag!=SYN或者ClientSeq!=该包Ack(即seq1+1)时,则此包为乱序包,忽略此包;
c、当Gateway的连接状态跟随表的记录中不存在ConnectionId对应的记录中ServiceFlag==nil、ServiceSeq==nil时,则此包为首个SYN|ACK包,更新ServiceFlag、ServiceSeq,跳转至步骤S1514;
d、当Gateway的连接状态跟随表的记录中不存在ConnectionId对应的记录中ServiceFlag==该包Flag(即SYN|ACK)、ServiceSeq==该包Seq(即seq2)时,则此包为重传包,跳转至步骤S1514;
e、否则此包为乱序包,忽略此包。
步骤S1514,Gateway通过Proxy的端口(Port)发送TCP报文给Client IP/Port,发送的TCP报文中源地址为Proxy IP/Port,目的地址为Client IP/Port,标志位Flag为SYN|ACK,Seq为seq2,Ack为seq1+1。
步骤S1515,Client收到Gateway发送的SYN|ACK包后,回复ACK包或ACK|PSH包。
步骤S1516,Gateway收到Client发来的ACK包或PSH|ACK包或PSH包时或连接断开相关的控制报文时,根据Client IP/Port和Proxy IP/Port,匹配Gateway的连接状态跟随表,判断报文类型,包括:
a、当报文类型为后继报文时,更新Gateway的连接状态跟随表后,发指令给AgentConnection;这里,后继报文指按照顺序正常接收的报文。
b、当报文类型为重传报文时,直接发指令给AgentConnection;
c、当报文类型为乱序报文时,忽略此包。
Agent收到指令后,与Gateway类似,根据ConnectionId,匹配Agent的连接状态跟随表,判断报文类型,包括:
a、当报文类型为后继报文时,更新Agent的连接状态跟随表后,经Agent的端口(AgentPort)将接收的数据包发送给Service IP/Port;
b、当报文类型为重传报文时,直接经AgentPort将接收的数据包发送给Service IP/Port;
c、当报文类型为乱序报文时,忽略此包。
步骤S1517、Agent收到Service发来的ACK包或PSH|ACK包或PSH包时或连接断开相关的控制报文时,根据Service IP/Port,匹配Agent的连接状态跟随表,判断报文类型:
a、当报文类型为后继报文时,更新Agent的连接状态跟随表后发指令给AgentConnection;
b、当报文类型为重传报文时,直接发指令给AgentConnection;
c、当报文类型为乱序报文时,忽略此包。
Gateway收到指令后,根据ConnectionId,匹配Gateway的连接状态跟随表,判断报文类型:
a、当报文类型为后继报文时,更新Gateway的连接状态跟随表后,经Proxy的端口(ProxyPort)发送接收的数据包给Client IP/Port;
b、当报文类型为重传报文时,直接经ProxyPort发送接收的数据包给Client IP/Port;
c、当报文类型为乱序报文时,忽略此包。
此外,对于每一ProxyPort,当Gateway收到针对该ProxyPort的RST报文或者检 测到对应的AgentConnection的四次挥手结束后,放入延时为2倍报文最大生存时间(MSL,Maximum Segment Lifetime)的延时队列,随后放回可用的Proxy端口池中。
对于每一AgentPort,当Agent收到针对该AgentPort的RST报文或者检测到对应的AgentConnection的四次挥手结束后,放入延时为2倍报文最大生存时间(MSL,Maximum Segment Lifetime)的延时队列,随后放回可用的Agent端口池中。
在上述本申请实施例提供的采用NAT模式进行端口映射的数据传输方法中,TCP状态为真实状态,不会出现全链路未真正建立连接时已返回连接状态的情况,此外,整个数据传输过程在一条TCP连接上进行,延时更低。
本申请实施例提供的服务集成系统相较相关技术中私有化部署iPaaS的方案,开发、维护、迭代成本都大大降低,同时能够满足同一客户多个内网之间的网络打通,能更进一步完善iPaaS系统自身的服务集成能力。
下面继续说明本申请实施例提供的服务集成中的数据传输装置255的实施为软件模块的示例性结构,在一些实施例中,如图2A所示,存储在存储器250的服务集成中的数据传输装置255中的软件模块可以包括:
第一接收模块2551,配置为iPaaS系统的网关接收所述iPaaS系统的连接器发送的数据传输请求;所述iPaaS系统部署在云网络中所述iPaaS系统所属租户的第一虚拟私有云VPC上;第一映射模块2552,配置为基于配置的服务配置信息,确定所述连接器要访问的目标服务的地址标识,以及所述网关与所述目标服务的服务代理进行数据传输的第一传输连接;其中,所述服务代理部署在所述租户的内网中,所述目标服务部署在所述内网或所述租户的第二VPC中,所述第一传输连接为基于所述服务代理发起的第一连接建立请求建立的;第一发送模块2553,配置为通过所述第一传输连接,将所述数据传输请求和所述目标服务的地址标识发送至所述服务代理;其中,所述服务代理基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务。
在一些实施例中,所述装置还包括:第一建立模块,配置为当接收到所述服务代理发起的第一连接建立请求时,与所述服务代理建立第一传输连接;其中,所述第一连接建立请求中包括所述服务代理的服务列表;第一分配模块,配置为针对所述服务列表中的每个服务,为所述服务分配转发代理地址,并将所述服务的地址标识与所述转发代理地址之间的对应关系添加至所述服务配置信息中。
在一些实施例中,所述数据传输请求为所述连接器通过与所述网关建立的第二传输连接发送的,所述第一映射模块还配置为:基于所述第二传输连接的标识,查询所述服务配置信息,得到所述连接器要访问的目标服务的地址标识、以及所述网关与所述目标服务的服务代理进行数据传输的第一传输连接;所述第一发送模块还配置为:通过所述第一传输连接,将所述数据传输请求和所述目标服务的地址标识发送至所述服务代理,所述服务代理基于所述地址标识,确定与所述目标服务建立的第三传输连接,并通过所述第三传输连接,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务。
在一些实施例中,所述装置还包括:第二接收模块,配置为通过所述第一传输连接,接收所述服务代理返回的响应数据和所述目标服务的地址标识;其中,所述响应数据为所述目标服务通过所述第三传输连接发送至所述服务代理的;第一查询模块,配置为基于所述目标服务的地址标识,查询所述服务配置信息,得到所述第二传输连接的标识;第二发送模块,配置为基于所述第二传输连接的标识,将所述响应数据通过所述第二传输连接发送至所述连接器。
在一些实施例中,所述装置还包括:第二建立模块,配置为当接收到所述连接器发送的第二连接建立请求时,与所述连接器建立第二传输连接;第二查询模块,配置为基于所述第二连接建立请求所请求的转发代理地址,查询所述服务配置信息,得到所述连 接器要访问的目标服务的地址标识、以及与所述目标服务的服务代理进行数据传输的第一传输连接;第三发送模块,配置为基于所述第一传输连接,将第三连接建立请求发送至所述服务代理;其中,所述第三连接建立请求携带所述目标服务的地址标识,所述服务代理基于所述目标服务的地址标识,与所述目标服务建立第三传输连接。
在一些实施例中,所述第一映射模块还配置为:获取发送所述数据传输请求的连接器的地址、接收所述数据传输请求的转发代理的地址以及所述连接器要访问的目标服务的地址;基于所述连接器的地址和所述转发代理的地址,查询所述网关的连接状态跟随表,得到所述连接器要访问的目标服务的地址标识;基于所述转发代理的地址,查询配置的服务配置信息,得到所述网关与所述目标服务的服务代理进行数据传输的第一传输连接;所述第一发送模块还配置为:通过所述第一传输连接,将所述数据传输请求、所述目标服务的地址和所述目标服务的地址标识发送至所述服务代理;
其中,所述服务代理基于所述地址标识,查询所述服务代理的连接状态跟随表,确定所述服务代理的地址,并通过所述服务代理的地址和所述目标服务的地址将所述连接器的数据传输请求发送至所述连接器要访问的目标服务。
在一些实施例中,所述第一映射模块还配置为:当所述网关的连接状态跟随表中未查询到所述连接器的地址和所述转发代理的地址对应的记录时,基于所述目标服务的地址,生成所述连接器要访问的目标服务的地址标识;将所述连接器的地址、所述转发代理的地址和所述目标服务的地址标识构成的记录添加至所述网关的连接状态跟随表中。
在一些实施例中,所述装置还包括:第三接收模块,配置为通过所述第一传输连接,接收所述服务代理返回的响应数据和所述连接器要访问的目标服务的地址标识;第三查询模块,配置为基于所述目标服务的地址标识,查询所述网关的连接状态跟随表,得到发送所述响应数据的转发代理的地址以及接收所述响应数据的连接器的地址;第四发送模块,配置为基于所述转发代理的地址和所述连接器的地址,将所述响应数据发送至所述连接器。
下面继续说明本申请实施例提供的服务集成中的数据传输装置355的实施为软件模块的示例性结构,在一些实施例中,如图2B所示,存储在存储器350的服务集成中的数据传输装置355中的软件模块可以包括:
第四接收模块3551,配置为服务代理接收iPaaS系统的网关发送的所述iPaaS系统的连接器的数据传输请求和所述连接器要访问的目标服务的地址标识;其中,所述iPaaS系统部署在云网络中所述iPaaS系统所属租户的第一VPC上,所述服务代理部署在所述租户的内网中,所述目标服务部署在所述内网或所述租户的第二VPC中;
第五发送模块3552,配置为基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务;
第五接收模块3553,配置为当接收到所述连接器要访问的目标服务发送的响应数据时,基于所述目标服务的地址标识,确定所述服务代理与所述网关进行数据传输的第一传输连接;其中,所述第一传输连接为基于所述服务代理发起的第一连接建立请求建立的;
第六发送模块3554,配置为通过所述第一传输连接,将所述目标服务的响应数据和所述目标服务的地址标识发送至所述网关;其中,所述网关基于所述地址标识,确定所述连接器,将所述目标服务的响应数据发送至所述连接器。
在一些实施例中,所述装置还包括:第三建立模块,配置为所述服务代理向所述网关发送第一连接建立请求,所述服务代理与所述网关建立第一传输连接;其中,所述第一连接建立请求中包括所述服务代理的服务列表,与所述网关建立所述第一传输连接后,针对所述服务列表中的每个服务,为所述服务分配转发代理地址,并将所述服务的地址 标识与所述转发代理地址之间的对应关系添加至服务配置信息中。
在一些实施例中,所述第五发送模块还配置为:基于所述地址标识,确定所述服务代理与所述连接器要访问的目标服务之间建立的第三传输连接;通过所述第三传输连接,将所述连接器的数据传输请求发送至所述目标服务;所述第六发送模块还配置为:通过所述第一传输连接,将所述目标服务的响应数据和所述目标服务的地址标识发送至所述网关,所述网关基于所述地址标识,确定所述连接器以及与所述连接器建立的第一传输连接,并通过所述第一传输连接将所述目标服务的响应数据发送至所述连接器。
在一些实施例中,所述装置还包括:第四建立模块,配置为当接收到所述网关发送的第三连接建立请求时,基于所述目标服务的地址标识,与所述目标服务建立第三传输连接;其中,所述第三连接连接建立请求携带所述连接器要访问的目标服务的地址标识。
在一些实施例中,所述第五发送模块还配置为:基于所述地址标识,查询所述服务代理的连接状态跟随表,得到所述服务代理的地址和所述连接器要访问的目标服务的地址;通过所述服务代理的地址和所述目标服务的地址,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务;所述第五接收模块还配置为:获取所述连接器要访问的目标服务的地址和接收所述目标服务的响应数据的服务代理的地址;基于所述目标服务的地址和所述服务代理的地址,查询所述服务代理的连接状态跟随表,得到所述目标服务的地址标识。
在一些实施例中,所述第五发送模块还配置为:当所述服务代理的连接状态跟随表中未查询到所述地址标识对应的记录时,基于所述连接器要访问的目标服务的地址,为所述目标服务分配服务代理的地址;将所述目标服务的地址、所述服务代理的地址和所述地址标识构成的记录添加至所述服务代理的连接状态跟随表中。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的服务集成中的数据传输方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的服务集成中的数据传输方法,例如,如图3-图7示出的方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例能够实现iPaaS系统与租户内网之间网络的互通,并 实现对内网中服务的集成逻辑,又由于iPaaS系统部署在租户的第一VPC上,目标服务部署在内网或租户的第二VPC上,并且通过第一传输连接传输数据传输请求至目标服务的服务代理,从而可以实现对同一租户不同内网或不同VPC中服务的集成逻辑,进而可以完善iPaaS系统的服务集成能力,并能有效降低iPaaS系统的开发、维护和迭代成本。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (19)
- 一种服务集成中的数据传输方法,由服务集成中的数据传输设备执行,所述服务集成中的数据传输设备包括集成平台即服务iPaaS系统的网关,所述方法包括:所述iPaaS系统的网关接收所述iPaaS系统的连接器发送的数据传输请求;其中,所述iPaaS系统部署在云网络中所述iPaaS系统所属租户的第一虚拟私有云VPC上;基于配置的服务配置信息,确定所述连接器要访问的目标服务的地址标识、以及所述网关与所述目标服务的服务代理进行数据传输的第一传输连接;其中,所述服务代理部署在所述租户的内网中,所述目标服务部署在所述内网或所述租户的第二VPC中,所述第一传输连接为基于所述服务代理发起的第一连接建立请求建立的;通过所述第一传输连接,将所述数据传输请求和所述目标服务的地址标识发送至所述服务代理;其中,所述服务代理基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务。
- 根据权利要求1所述的方法,其中,在所述iPaaS系统的网关接收所述iPaaS系统的连接器发送的数据传输请求之前,所述方法还包括:当接收到所述服务代理发起的第一连接建立请求时,与所述服务代理建立第一传输连接;其中,所述第一连接建立请求中包括所述服务代理的服务列表;针对所述服务列表中的每个服务,为所述服务分配转发代理地址,并将所述服务的地址标识与所述转发代理地址之间的对应关系添加至所述服务配置信息中。
- 根据权利要求1所述的方法,其中,所述数据传输请求为所述连接器通过与所述网关建立的第二传输连接发送的;所述基于配置的服务配置信息,确定所述连接器要访问的目标服务的地址标识、以及所述网关与所述目标服务的服务代理进行数据传输的第一传输连接,包括:基于所述第二传输连接的标识,查询所述服务配置信息,得到所述连接器要访问的目标服务的地址标识、以及所述网关与所述目标服务的服务代理进行数据传输的第一传输连接;所述服务代理基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务,包括:所述服务代理基于所述地址标识,确定与所述目标服务建立的第三传输连接,并通过所述第三传输连接,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务。
- 根据权利要求3所述的方法,其中,所述方法还包括:通过所述第一传输连接,接收所述服务代理返回的响应数据和所述目标服务的地址标识;其中,所述响应数据为所述目标服务通过所述第三传输连接发送至所述服务代理的;基于所述目标服务的地址标识,查询所述服务配置信息,得到所述第二传输连接的标识;基于所述第二传输连接的标识,将所述响应数据通过所述第二传输连接发送至所述连接器。
- 根据权利要求3所述的方法,其中,在所述iPaaS系统的网关接收所述iPaaS系统的连接器发送的数据传输请求之前,所述方法还包括:当接收到所述连接器发送的第二连接建立请求时,与所述连接器建立第二传输连接;基于所述第二连接建立请求所请求的转发代理地址,查询所述服务配置信息,得到所述连接器要访问的目标服务的地址标识、以及与所述目标服务的服务代理进行数据传输的第一传输连接;基于所述第一传输连接,将第三连接建立请求发送至所述服务代理;其中,所述第三连接建立请求携带所述目标服务的地址标识,所述服务代理基于所述目标服务的地址标识,与所述目标服务建立第三传输连接。
- 根据权利要求1所述的方法,其中,所述基于配置的服务配置信息,确定所述连接器要访问的目标服务的地址标识、以及所述网关与所述目标服务的服务代理进行数据传输的第一传输连接,包括:获取发送所述数据传输请求的连接器的地址、接收所述数据传输请求的转发代理的地址以及所述连接器要访问的目标服务的地址;基于所述连接器的地址和所述转发代理的地址,查询所述网关的连接状态跟随表,得到所述连接器要访问的目标服务的地址标识;基于所述转发代理的地址,查询配置的服务配置信息,得到所述网关与所述目标服务的服务代理进行数据传输的第一传输连接;所述通过所述第一传输连接,将所述数据传输请求和所述目标服务的地址标识发送至所述服务代理,包括:通过所述第一传输连接,将所述数据传输请求、所述目标服务的地址和所述目标服务的地址标识发送至所述服务代理;其中,所述服务代理基于所述地址标识,查询所述服务代理的连接状态跟随表,确定所述服务代理的地址,并通过所述服务代理的地址和所述目标服务的地址将所述连接器的数据传输请求发送至所述连接器要访问的目标服务。
- 根据权利要求6所述的方法,其中,所述基于所述连接器的地址和所述转发代理的地址,查询所述网关的连接状态跟随表,得到所述连接器要访问的目标服务的地址标识,包括:当所述网关的连接状态跟随表中未查询到所述连接器的地址和所述转发代理的地址对应的记录时,基于所述目标服务的地址,生成所述连接器要访问的目标服务的地址标识;将所述连接器的地址、所述转发代理的地址和所述目标服务的地址标识构成的记录添加至所述网关的连接状态跟随表中。
- 根据权利要求6所述的方法,其中,所述方法还包括:通过所述第一传输连接,接收所述服务代理返回的响应数据和所述连接器要访问的目标服务的地址标识;基于所述目标服务的地址标识,查询所述网关的连接状态跟随表,得到发送所述响应数据的转发代理的地址以及接收所述响应数据的连接器的地址;基于所述转发代理的地址和所述连接器的地址,将所述响应数据发送至所述连接器。
- 一种服务集成中的数据传输方法,由服务集成中的数据传输设备执行,所述服务集成中的数据传输设备包括服务代理,所述方法包括:所述服务代理接收iPaaS系统的网关发送的所述iPaaS系统的连接器的数据传输请求和所述连接器要访问的目标服务的地址标识;其中,所述iPaaS系统部署在云网络中所述iPaaS系统所属租户的第一VPC上,所述服务代理部署在所述租户的内网中,所述目标服务部署在所述内网或所述租户的第二VPC中;基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标 服务;当接收到所述连接器要访问的目标服务发送的响应数据时,基于所述目标服务的地址标识,确定所述服务代理与所述网关进行数据传输的第一传输连接;其中,所述第一传输连接为基于所述服务代理发起的第一连接建立请求建立的;通过所述第一传输连接,将所述目标服务的响应数据和所述目标服务的地址标识发送至所述网关;其中,所述网关基于所述地址标识,确定所述连接器,将所述目标服务的响应数据发送至所述连接器。
- 根据权利要求9所述的方法,其中,在接收到所述连接器要访问的目标服务发送的响应数据之前,所述方法还包括:所述服务代理向所述网关发送第一连接建立请求,所述服务代理与所述网关建立第一传输连接;其中,所述第一连接建立请求中包括所述服务代理的服务列表,与所述网关建立所述第一传输连接后,针对所述服务列表中的每个服务,为所述服务分配转发代理地址,并将所述服务的地址标识与所述转发代理地址之间的对应关系添加至服务配置信息中。
- 根据权利要求9所述的方法,其中,所述基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务,包括:基于所述地址标识,确定所述服务代理与所述连接器要访问的目标服务之间建立的第三传输连接;通过所述第三传输连接,将所述连接器的数据传输请求发送至所述目标服务;所述网关基于所述地址标识,确定所述连接器,将所述目标服务的响应数据发送至所述连接器,包括:所述网关基于所述地址标识,确定所述连接器以及与所述连接器建立的第一传输连接,并通过所述第一传输连接将所述目标服务的响应数据发送至所述连接器。
- 根据权利要求11所述的方法,其中,在基于所述地址标识,确定所述服务代理与所述连接器要访问的目标服务之间建立的第三传输连接之前,所述方法还包括:当接收到所述网关发送的第三连接建立请求时,基于所述目标服务的地址标识,与所述目标服务建立第三传输连接;其中,所述第三连接连接建立请求携带所述连接器要访问的目标服务的地址标识。
- 根据权利要求9所述的方法,其中,所述基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务,包括:基于所述地址标识,查询所述服务代理的连接状态跟随表,得到所述服务代理的地址和所述连接器要访问的目标服务的地址;通过所述服务代理的地址和所述目标服务的地址,将所述连接器的数据传输请求发送至所述目标服务;在所述基于所述目标服务的地址标识,确定所述服务代理与所述网关进行数据传输的第一传输连接之前,所述方法还包括:获取所述连接器要访问的目标服务的地址和接收所述目标服务的响应数据的服务代理的地址;基于所述目标服务的地址和所述服务代理的地址,查询所述服务代理的连接状态跟随表,得到所述目标服务的地址标识。
- 根据权利要求13所述的方法,其中,所述基于所述地址标识,查询所述服务代理的连接状态跟随表,得到所述服务代理的地址和所述连接器要访问的目标服务的地址,包括:当所述服务代理的连接状态跟随表中未查询到所述地址标识对应的记录时,基于所述连接器要访问的目标服务的地址,为所述目标服务分配服务代理的地址;将所述目标服务的地址、所述服务代理的地址和所述地址标识构成的记录添加至所述服务代理的连接状态跟随表中。
- 一种服务集成中的数据传输装置,包括:第一接收模块,配置为iPaaS系统的网关接收所述iPaaS系统的连接器发送的数据传输请求;所述iPaaS系统部署在云网络中所述iPaaS系统所属租户的第一VPC上;第一映射模块,配置为基于配置的服务配置信息,确定所述连接器要访问的目标服务的地址标识,以及所述网关与所述目标服务的服务代理进行数据传输的第一传输连接;其中,所述服务代理部署在所述租户的内网中,所述目标服务部署在所述内网或所述租户的第二VPC中,所述第一传输连接为基于所述服务代理发起的第一连接建立请求建立的;第一发送模块,配置为通过所述第一传输连接,将所述数据传输请求和所述目标服务的地址标识发送至所述服务代理;其中,所述服务代理基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务。
- 一种服务集成中的数据传输装置,包括:第四接收模块,配置为服务代理接收iPaaS系统的网关发送的所述iPaaS系统的连接器的数据传输请求和所述连接器要访问的目标服务的地址标识;其中,所述iPaaS系统部署在云网络中所述iPaaS系统所属租户的第一VPC上,所述服务代理部署在所述租户的内网中,所述目标服务部署在所述内网或所述租户的第二VPC中;第五发送模块,配置为基于所述地址标识,将所述连接器的数据传输请求发送至所述连接器要访问的目标服务;第五接收模块,配置为当接收到所述连接器要访问的目标服务发送的响应数据时,基于所述目标服务的地址标识,确定所述服务代理与所述网关进行数据传输的第一传输连接;其中,所述第一传输连接为基于所述服务代理发起的第一连接建立请求建立的;第六发送模块,配置为通过所述第一传输连接,将所述目标服务的响应数据和所述目标服务的地址标识发送至所述网关;其中,所述网关基于所述地址标识,确定所述连接器,将所述目标服务的响应数据发送至所述连接器。
- 一种服务集成中的数据传输设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至14任一项所述的方法。
- 一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现权利要求1至14任一项所述的方法。
- 一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令使得计算机执行如权利要求1至14中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22778635.7A EP4236207A4 (en) | 2021-04-01 | 2022-03-21 | METHOD, APPARATUS AND DEVICE FOR DATA TRANSMISSION IN SERVICE INTEGRATION, AND STORAGE MEDIUM AND COMPUTER PROGRAM PRODUCT |
JP2023538140A JP7522323B2 (ja) | 2021-04-01 | 2022-03-21 | サービス統合におけるデータ伝送方法、装置、機器及びコンピュータープログラム |
US17/991,474 US11856065B2 (en) | 2021-04-01 | 2022-11-21 | Data transmission for service integration between a virtual private cloud and an intranet |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110353970.X | 2021-04-01 | ||
CN202110353970.XA CN112738284B (zh) | 2021-04-01 | 2021-04-01 | 服务集成中的数据传输方法、装置、设备及存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/991,474 Continuation US11856065B2 (en) | 2021-04-01 | 2022-11-21 | Data transmission for service integration between a virtual private cloud and an intranet |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022206452A1 true WO2022206452A1 (zh) | 2022-10-06 |
Family
ID=75596298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/082006 WO2022206452A1 (zh) | 2021-04-01 | 2022-03-21 | 服务集成中的数据传输方法、装置、设备、存储介质及计算机程序产品 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11856065B2 (zh) |
EP (1) | EP4236207A4 (zh) |
JP (1) | JP7522323B2 (zh) |
CN (1) | CN112738284B (zh) |
WO (1) | WO2022206452A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738284B (zh) | 2021-04-01 | 2021-06-04 | 腾讯科技(深圳)有限公司 | 服务集成中的数据传输方法、装置、设备及存储介质 |
CN113452592B (zh) * | 2021-06-09 | 2022-02-25 | 北京奥星贝斯科技有限公司 | 混合云架构下的跨云数据访问方法及装置 |
CN114025009B (zh) * | 2021-10-20 | 2024-04-16 | 北京奥星贝斯科技有限公司 | 转发请求的方法、系统、代理服务器和装置 |
CN114125025B (zh) * | 2021-11-23 | 2024-02-13 | 北京奥星贝斯科技有限公司 | 一种多目标网络下的数据传输方法及装置 |
CN114827260B (zh) * | 2022-04-13 | 2023-08-25 | 度小满科技(北京)有限公司 | 一种数据传输方法及相关装置 |
CN115150242B (zh) * | 2022-06-23 | 2023-04-25 | 北京青云科技股份有限公司 | 一种PaaS应用的部署方法和系统 |
CN115567603A (zh) * | 2022-08-17 | 2023-01-03 | 海南凤凰木科技有限公司 | 一种代理路由转发方法、装置、智能终端及存储介质 |
CN115883655B (zh) * | 2022-12-07 | 2024-06-07 | 中科驭数(北京)科技有限公司 | 服务请求处理方法、装置、电子设备及存储介质 |
CN117579458B (zh) * | 2024-01-17 | 2024-04-23 | 成都谐盈科技有限公司 | 基于软件通信体系结构的数据传输方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535964A (zh) * | 2019-09-03 | 2019-12-03 | 北京首都在线科技股份有限公司 | 基于Paas连接器实现的数据处理方法及装置 |
CN110545205A (zh) * | 2019-09-03 | 2019-12-06 | 北京首都在线科技股份有限公司 | 基于Paas网络的租户数据处理方法及处理装置 |
CN111030912A (zh) * | 2018-10-09 | 2020-04-17 | 华为技术有限公司 | 虚拟私有云vpc之间互通的方法 |
US10880273B2 (en) * | 2018-07-26 | 2020-12-29 | Insight Sciences Corporation | Secure electronic messaging system |
CN112243036A (zh) * | 2020-10-21 | 2021-01-19 | 北京首都在线科技股份有限公司 | PaaS服务的数据处理方法及装置、设备、存储介质 |
CN112738284A (zh) * | 2021-04-01 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 服务集成中的数据传输方法、装置、设备及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8694653B2 (en) | 2010-12-10 | 2014-04-08 | Microsoft Corporation | Targeted data transfer between operational domains |
WO2011103840A2 (zh) * | 2011-04-19 | 2011-09-01 | 华为技术有限公司 | 虚拟私云的连接方法及隧道代理服务器 |
US9374389B2 (en) * | 2014-04-25 | 2016-06-21 | Intuit Inc. | Method and system for ensuring an application conforms with security and regulatory controls prior to deployment |
US20150341445A1 (en) | 2014-05-23 | 2015-11-26 | Radoslav Nikolov | Hybrid applications operating between on-premise and cloud platforms |
US10038721B2 (en) | 2015-02-16 | 2018-07-31 | International Business Machines Corporation | Enabling an on-premises resource to be exposed to a public cloud application securely and seamlessly |
US10171292B1 (en) * | 2015-09-29 | 2019-01-01 | Amazon Technologies, Inc. | Deploying a cloud infrastructure in a remote site |
US10897453B2 (en) * | 2018-01-26 | 2021-01-19 | Nicira, Inc. | Providing networking and security to workloads via a control virtual private cloud shared across multiple virtual private clouds |
EP3747167B1 (en) * | 2018-02-19 | 2022-08-31 | Huawei Technologies Co., Ltd. | Multi-cloud vpc routing and registration |
CN110351191B (zh) * | 2018-04-20 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 网络配置方法、系统、设备及存储介质 |
CN108833251B (zh) * | 2018-08-01 | 2021-01-12 | 北京百度网讯科技有限公司 | 用于控制网络互联的方法和装置 |
US11196591B2 (en) * | 2018-08-24 | 2021-12-07 | Vmware, Inc. | Centralized overlay gateway in public cloud |
CN111431956B (zh) * | 2019-01-10 | 2022-07-05 | 阿里巴巴集团控股有限公司 | 跨网络的服务访问方法、设备、系统及存储介质 |
US20230004370A1 (en) * | 2021-07-04 | 2023-01-05 | CloudNatix, Inc. | Harvesting and using excess capacity on legacy workload machines |
US11470182B1 (en) * | 2021-10-04 | 2022-10-11 | Monday.com Ltd. | Multi-region cloud architecture |
-
2021
- 2021-04-01 CN CN202110353970.XA patent/CN112738284B/zh active Active
-
2022
- 2022-03-21 JP JP2023538140A patent/JP7522323B2/ja active Active
- 2022-03-21 WO PCT/CN2022/082006 patent/WO2022206452A1/zh active Application Filing
- 2022-03-21 EP EP22778635.7A patent/EP4236207A4/en active Pending
- 2022-11-21 US US17/991,474 patent/US11856065B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10880273B2 (en) * | 2018-07-26 | 2020-12-29 | Insight Sciences Corporation | Secure electronic messaging system |
CN111030912A (zh) * | 2018-10-09 | 2020-04-17 | 华为技术有限公司 | 虚拟私有云vpc之间互通的方法 |
CN110535964A (zh) * | 2019-09-03 | 2019-12-03 | 北京首都在线科技股份有限公司 | 基于Paas连接器实现的数据处理方法及装置 |
CN110545205A (zh) * | 2019-09-03 | 2019-12-06 | 北京首都在线科技股份有限公司 | 基于Paas网络的租户数据处理方法及处理装置 |
CN112243036A (zh) * | 2020-10-21 | 2021-01-19 | 北京首都在线科技股份有限公司 | PaaS服务的数据处理方法及装置、设备、存储介质 |
CN112738284A (zh) * | 2021-04-01 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 服务集成中的数据传输方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
See also references of EP4236207A4 * |
SHANGHAI IRE MARKETING CONSULTING CO., LTD.: "China Enterprise SaaS Industry Research Report 2020", CHINA ENTERPRISE SAAS INDUSTRY RESEARCH REPORT 2020, SHANGHAI IRE MARKETING CONSULTING CO., LTD, CN, vol. 2020, no. 11, CN, pages 1 - 61, XP009541594, Retrieved from the Internet <URL:https://pdf.dfcfw.com/pdf/H3_AP202011121428462907_1.pdf> * |
Also Published As
Publication number | Publication date |
---|---|
JP7522323B2 (ja) | 2024-07-24 |
US20230078546A1 (en) | 2023-03-16 |
US11856065B2 (en) | 2023-12-26 |
EP4236207A1 (en) | 2023-08-30 |
EP4236207A4 (en) | 2024-06-19 |
CN112738284B (zh) | 2021-06-04 |
JP2024504006A (ja) | 2024-01-30 |
CN112738284A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022206452A1 (zh) | 服务集成中的数据传输方法、装置、设备、存储介质及计算机程序产品 | |
WO2021218397A1 (zh) | 用于实现业务连续性的方法及相关设备 | |
CN108287723B (zh) | 一种应用交互方法、装置、物理机及系统 | |
US20200356401A1 (en) | Method for Accessing Remote Acceleration Device by Virtual Machine, and System | |
WO2022033121A1 (zh) | 一种kubernetes中资源暴露方法、系统、设备以及介质 | |
CN114731296B (zh) | 用于分布式边缘云计算的方法和系统 | |
KR20150013860A (ko) | 클라이언트 없는 클라우드 컴퓨팅 | |
JP2003099230A (ja) | ネットワーク・デバイスのミミック・サポート | |
JP2003208365A (ja) | 適応ディスパッチャを有する仮想ネットワーク | |
JP2022537186A (ja) | マルチキャスト通信方法、ならびに装置およびシステム | |
CN109417492B (zh) | 一种网络功能nf管理方法及nf管理设备 | |
US11632361B2 (en) | Combined authentication and connection establishment for a communication channel | |
KR101821689B1 (ko) | 무선 도킹 | |
CN104158868B (zh) | 一种文件传输方法和管理服务器 | |
EP3439425A1 (en) | Architecture, method and apparatus for realizing network function communication | |
WO2014190487A1 (zh) | 一种会话连接建立的方法、装置和系统 | |
WO2013120325A1 (zh) | 浏览器与浏览器直通的方法、装置和通信系统 | |
WO2017167186A1 (zh) | 实现网络功能通信的架构、方法及装置 | |
CN110475296B (zh) | 业务服务质量协商方法及装置 | |
WO2016161774A1 (zh) | 终端应用访问nas的方法及装置 | |
KR100597405B1 (ko) | 소켓 어플리케이션 프로그램을 이용한 데이터 중계 시스템및 데이터 중계 방법 | |
WO2023030300A1 (zh) | 网络地址转换的方法和装置 | |
KR101921275B1 (ko) | 메신저에서의 파일 전송 시 기기 간 통신 기술을 활용하는 방법 및 시스템 | |
WO2022213824A1 (zh) | 一种用于传输上下文的方法和通信装置 | |
JP5682932B2 (ja) | 制御サーバ、制御方法及び制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22778635 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022778635 Country of ref document: EP Effective date: 20230523 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023538140 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |