CN-122001866-A - Batch API with chunked transport coding for cloud applications
Abstract
Example methods and systems relate to a batch API with block transport coding for cloud applications. Copy management services (RMS) are cloud-based applications that aim to copy data of various data sources. The RMS provides a set of RESTful APIs to facilitate creation and execution of replication tasks. The RMS receives the plurality of chunks in REST communication and in response generates a duplicate stream. Since all replication tasks in the replication stream use the same constellation, an application using RMS only sends constellation data once, regardless of the number of replication tasks in the replication stream. As a result, the total amount of data transferred between an application and an RMS is reduced whenever multiple replication tasks are performed on the same constellation, thereby reducing network congestion and improving the performance of the cloud-based system.
Inventors
- HUANG XINRONG
Assignees
- SAP欧洲公司
Dates
- Publication Date
- 20260508
- Application Date
- 20251103
- Priority Date
- 20241105
Claims (20)
- 1. A system, comprising: a memory storing instructions, and One or more processors coupled to the memory to execute instructions to perform operations comprising: receiving a first chunk of a hypertext transfer protocol (HTTP) payload, the first chunk identifying a source space; receiving a second chunk of the HTTP payload, the second chunk identifying a target space; receiving a third chunk of the HTTP payload, the third chunk identifying a source table; a fourth chunk receiving HTTP payload, the fourth chunk identifying a target table, and Based on the first partition, the second partition, the third partition, and the fourth partition, a replication task is created for replicating data from a source table in a source space to a target table in a target space.
- 2. The system of claim 1, wherein the operations further comprise: a fifth chunk of HTTP payload is received, the fifth chunk identifying a constellation comprising a source space and a target space.
- 3. The system of claim 1, wherein the operations further comprise: Attempting to create a first data object representing a source space; Attempting to create a second data object representing the target space; attempting to create a third data object representing the source table, and Prior to task creation for copying data from a source table in a source space to a target table in a target space, it is determined that attempts to create a first data object, a second data object, and a third data object are all successful.
- 4. The system of claim 1, wherein the operations further comprise: Receiving a fifth chunk of the HTTP payload, the fifth chunk identifying a second source table; a sixth chunk receiving the HTTP payload, the sixth chunk identifying a second target table, and Based on the first chunk, the second chunk, the fifth chunk, and the sixth chunk, a task is created for copying data from a second source table in the source space to a second target table in the target space.
- 5. The system of claim 1, wherein the first, second, third, and fourth partitions each include identifiers having the same value.
- 6. The system of claim 1, wherein the first partition includes a name of the source space, a connection identifier identifying a connection to the source space, a connection type identifying a type of connection to the source space, and a maximum number of simultaneous connections to the source space.
- 7. The system of claim 1, wherein the third chunk identifies a column of a source table.
- 8. The system of claim 1, wherein the fourth chunk identifies a column of the target table.
- 9. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving a first chunk of a hypertext transfer protocol (HTTP) payload, the first chunk identifying a source space; receiving a second chunk of the HTTP payload, the second chunk identifying a target space; receiving a third chunk of the HTTP payload, the third chunk identifying a source table; a fourth chunk receiving HTTP payload, the fourth chunk identifying a target table, and Based on the first partition, the second partition, the third partition, and the fourth partition, a task is created for copying data from a source table in a source space to a target table in a target space.
- 10. The non-transitory computer-readable medium of claim 9, wherein the operations further comprise: a fifth chunk of HTTP payload is received, the fifth chunk identifying a constellation comprising a source space and a target space.
- 11. The non-transitory computer-readable medium of claim 9, wherein the operations further comprise: Attempting to create a first data object representing a source space; Attempting to create a second data object representing the target space; attempting to create a third data object representing the source table, and Prior to task creation for copying data from a source table in a source space to a target table in a target space, it is determined that attempts to create a first data object, a second data object, and a third data object are all successful.
- 12. The non-transitory computer-readable medium of claim 9, wherein the operations further comprise: Receiving a fifth chunk of the HTTP payload, the fifth chunk identifying a second source table; a sixth chunk receiving the HTTP payload, the sixth chunk identifying a second target table, and Based on the first chunk, the second chunk, the fifth chunk, and the sixth chunk, a task is created for copying data from a second source table in the source space to a second target table in the target space.
- 13. The non-transitory computer-readable medium of claim 9, wherein the first, second, third, and fourth partitions each include identifiers having the same value.
- 14. The non-transitory computer-readable medium of claim 9, wherein the first partition includes a name of a source space, a connection identifier identifying a connection to the source space, a connection type identifying a type of connection to the source space, and a maximum number of simultaneous connections to the source space.
- 15. The non-transitory computer-readable medium of claim 9, wherein the third chunk identifies a column of a source table.
- 16. The non-transitory computer-readable medium of claim 9, wherein the fourth chunk identifies a column of a target table.
- 17. A method, comprising: Receiving, by the one or more processors, a first chunk of a hypertext transfer protocol (HTTP) payload, the first chunk identifying a source space; Receiving a second chunk of the HTTP payload, the chunk identifying a target space; receiving a third chunk of the HTTP payload, the third chunk identifying a source table; a fourth chunk receiving HTTP payload, the fourth chunk identifying a target table, and Based on the first partition, the second partition, the third partition, and the fourth partition, a task is created for copying data from a source table in a source space to a target table in a target space.
- 18. The method of claim 17, further comprising: a fifth chunk of HTTP payload is received, the fifth chunk identifying a constellation comprising a source space and a target space.
- 19. The method of claim 17, further comprising: Attempting to create a first data object representing a source space; Attempting to create a second data object representing the target space; attempting to create a third data object representing the source table, and Prior to task creation for copying data from a source table in a source space to a target table in a target space, it is determined that attempts to create a first data object, a second data object, and a third data object are all successful.
- 20. The method of claim 17, further comprising: Receiving a fifth chunk of the HTTP payload, the fifth chunk identifying a second source table; a sixth chunk receiving the HTTP payload, the sixth chunk identifying a second target table, and Based on the first chunk, the second chunk, the fifth chunk, and the sixth chunk, a task is created for copying data from a second source table in the source space to a second target table in the target space.
Description
Batch API with chunked transport coding for cloud applications Technical Field The subject matter disclosed herein relates generally to systems for communicating with cloud applications, and more particularly to a bulk Application Programming Interface (API) with chunked transport coding for cloud applications. Background Existing applications use multiple API calls to perform multiple tasks. Managing complex task sets requires a large number of API calls. Error handling may further increase the number of API calls performed. Disclosure of Invention In an embodiment, a system is provided that includes a memory storing instructions, and one or more processors coupled to the memory to execute the instructions to perform operations including receiving a first chunk of a hypertext transfer protocol (HTTP) payload, the first chunk identifying a source space, receiving a second chunk of the HTTP payload, the second chunk identifying a target space, receiving a third chunk of the HTTP payload, the third chunk identifying a source table, receiving a fourth chunk of the HTTP payload, the fourth chunk identifying a target table, and creating a replication task for replicating data from the source table in the source space to the target table in the target space based on the first chunk, the second chunk, the third chunk, and the fourth chunk. In another embodiment, a non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising a first chunk receiving a hypertext transfer protocol (HTTP) payload, the first chunk identifying a source space, a second chunk receiving the HTTP payload, the second chunk identifying a target space, a third chunk receiving the HTTP payload, the third chunk identifying a source table, a fourth chunk receiving the HTTP payload, the fourth chunk identifying a target table, and creating a task for copying data from the source table in the source space to the target table in the target space based on the first chunk, the second chunk, the third chunk, and the fourth chunk. In yet another embodiment, a method is provided that includes receiving, by one or more processors, a first chunk of a hypertext transfer protocol (HTTP) payload, the first chunk identifying a source space, a second chunk of the HTTP payload, the second chunk identifying a target space, a third chunk of the HTTP payload, the third chunk identifying a source table, a fourth chunk of the HTTP payload, the fourth chunk identifying a target table, and creating a task for copying data from the source table in the source space to the target table in the target space based on the first chunk, the second chunk, the third chunk, and the fourth chunk. Drawings FIG. 1 shows a network diagram illustrating an example network environment suitable for using bulk APIs with block transport encoding for cloud applications. FIG. 2 illustrates a block diagram of components suitable for performing database replication using a batch API with partitioned transport encoding. FIG. 3 shows a flowchart illustrating a method of implementing a batch API with chunk transfer coding for cloud applications, according to some example embodiments. FIG. 4 shows a flowchart illustrating a method of generating a request to a cloud application using a batch API with chunk transfer encoding, according to some example embodiments. FIG. 5 shows a flowchart illustrating a method of processing a request for a cloud application using a batch API with chunk transfer encoding, according to some example embodiments. FIG. 6 shows a flowchart illustrating a method of performing tasks created using a batch API with block transfer coding, according to some example embodiments. Fig. 7 illustrates a block diagram showing one example of a software architecture of a computing device. FIG. 8 illustrates a block diagram of a machine in the example form of a computer system in which instructions may be executed to cause the machine to perform any one or more of the methods discussed herein. Detailed Description Example methods and systems relate to a batch API with block transport coding for cloud applications. In micro-service applications, individual mini-services provide specific functions. The mini-services communicate with each other using a remote invocation protocol, such as the hypertext transfer protocol (HTTP) or Google remote procedure call (gRPC). Each service provides a set of APIs that use representational state transfer (REST) to communicate with other services. REST is a valuable architectural style for microservices due to its simplicity, flexibility and extensibility. However, communication between services may be complex. The performance of communication between services appears to be a bottleneck for overall performance in a micro-service based system. Therefore, improving the performance of communications becomes extremely important and critical to achie