IP Library Granted Patent US 10,776,387
Granted Patent B2
US 10,776,387 · App. 16/173,169 · Granted Sep 15, 2020

Fast serialization for data transfer

Inventor: Michael Acker (Grossfischlingen, DE)
Assignee: SAP SE
G06F16/27G06F16/221G06F16/2272G06F16/25
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,776,387
App. No.
16/173,169
Granted
Sep 15, 2020
Kind
B2
Abstract

The present disclosure describes methods, systems, and computer program products for serializing data for data transfer. One computer-implemented method includes analyzing a column of data stored in the first database to determine at least one serialization parameter, the at least one serialization parameter comprises a repetition counter, a replication counter, or a variable type; determining a data serialization scheme associated with the data based on at least one of the repetition count or the replication counter; determining a variable serialization scheme associated with the data based on the variable type; repeating the analyzing, the determining of the data serialization scheme, and the determining of the variable serialization scheme; serializing the data stored in the first database using the data serialization scheme associated with the data and the variable serialization scheme associated with the data; and transferring the serialized data to the second database.

Claims (80)

1. A computer-implemented method for improving data transferring efficiency from a first database to a second database, comprising:

analyzing a column of data stored in the first database to determine at least one serialization parameter, the at least one serialization parameter comprises a repetition counter, a replication counter;

determining a data serialization scheme associated with the data based on the at least one serialization parameter wherein the data serialization scheme comprises at least one of a repetition scheme or a replication scheme, wherein the replication scheme comprises:

setting an additional value counter to zero;

writing a data value to a transfer medium;

reading a next data value;

in response to a determination that the next data value is equal to the data value, increasing the additional value counter by one; and

writing the additional value counter to the transfer medium;

determining a variable serialization scheme associated with the data based on a variable type of the data;

repeating the analyzing, the determining of the data serialization scheme, and the determining of the variable serialization scheme for each column of the data stored in the first database;

serializing, as serialized data, the data stored in the first database using the data serialization scheme and the variable serialization scheme; and

transferring the serialized data to the second database.

2. The method of claim 1 , further comprising:

prior to the analyzing, determining whether the first database is a row-based database; and

if the first database is row-based, transferring the first database into a column-based database.

3. The method of claim 1 , wherein determining the data serialization scheme further comprising:

if the repetition counter is smaller than a predetermined limit, determining that the data serialization scheme comprises the repetition scheme; and

if the repetition counter is greater than or equal to the predetermined limit and the replication counter is larger than a predetermined threshold, determining that the data serialization scheme comprises the replication scheme.

4. The method of claim 1 , wherein determining the variable serialization scheme further comprising:

if the variable type is integer, determining that the variable serialization scheme comprises an integer scheme; and

if the variable type is character, determining that the variable serialization scheme comprises a character scheme.

5. The method of claim 1 , wherein the repetition scheme comprises:

writing the repetition counter to a transfer medium;

serializing at least one value in a value set to the transfer medium;

determining an index that corresponds to a data value; and

writing the index to the transfer medium.

6. A system for improving data transferring efficiency from a first database to a second database, comprising:

a memory; and

at least one hardware processor interoperably coupled with the memory and configured to:

analyze a column of data stored in the first database to determine at least one serialization parameter, the at least one serialization parameter comprises a repetition counter, a replication counter;

determine a data serialization scheme associated with the data based on the at least one serialization parameter, wherein the data serialization scheme comprises at least one of a repetition scheme or a replication scheme, wherein the replication scheme comprises:

setting an additional value counter to zero;

writing a data value to a transfer medium;

reading a next data value;

in response to a determination that the next data value is equal to the data value, increasing the additional value counter by one; and

writing the additional value counter to the transfer medium;

determine a variable serialization scheme associated with the data based on a variable type of the data;

repeat the analyzing, the determining of the data serialization scheme, and the determining of the variable serialization scheme for each column of the data stored in the first database;

serialize, as serialized data, the data stored in the first database using the data serialization scheme data and the variable serialization scheme; and

transfer the serialized data to the second database.

7. The system of claim 6 , wherein the at least one hardware processor is further configured to:

prior to the analyzing, determine whether the first database is a row-based database; and

if the first database is row-based, transfer the first database into a column-based database.

8. The system of claim 6 , wherein determining the data serialization scheme further comprising:

if the repetition counter is smaller than a predetermined limit, determining that the data serialization scheme comprises the repetition scheme; and

if the repetition counter is greater than or equal to the predetermined limit and the replication counter is larger than a predetermined threshold, determining that the data serialization scheme comprises the replication scheme.

9. The system of claim 6 , wherein determining the variable serialization scheme further comprising:

if the variable type is integer, determining that the variable serialization scheme comprises an integer scheme; and

if the variable type is character, determining that the variable serialization scheme comprises a character scheme.

10. The system of claim 6 , wherein the repetition scheme comprises:

writing the repetition counter to a transfer medium;

serializing at least one value in a value set to the transfer medium;

determining an index that corresponds to a data value; and

writing the index to the transfer medium.

11. A non-transitory, computer-readable medium storing computer-readable instructions for improving data transferring efficiency from a first database to a second database, the computer-readable instructions executable by a computer and configured to:

analyze a column of data stored in the first database to determine at least one serialization parameter, the at least one serialization parameter comprises a repetition counter, a replication counter;

determine a data serialization scheme associated with the data based on the at least one serialization parameter, wherein the data serialization scheme comprises at least one of a repetition scheme or a replication scheme, wherein the replication scheme comprises:

setting an additional value counter to zero;

writing a data value to a transfer medium;

reading a next data value;

in response to a determination that the next data value is equal to the data value, increasing the additional value counter by one; and

writing the additional value counter to the transfer medium;

determine a variable serialization scheme associated with the data based on a variable type of the data;

repeat the analyzing, the determining of the data serialization scheme, and the determining of the variable serialization scheme for each column of the data stored in the first database;

serialize, as serialized data, the data stored in the first database using the data serialization scheme and the variable serialization scheme; and

transfer the serialized data to the second database.

12. The non-transitory, computer-readable medium of claim 11 , wherein the computer-readable instructions are further configured to:

prior to the analyzing, determine whether the first database is a row-based database; and

if the first database is row-based, transfer the first database into a column-based database.

13. The non-transitory, computer-readable medium of claim 11 , wherein determining the data serialization scheme further comprising:

if the repetition counter is smaller than a predetermined limit, determining that the data serialization scheme comprises the repetition scheme; and

if the repetition counter is greater than or equal to the predetermined limit and the replication counter is larger than a predetermined threshold, determining that the data serialization scheme comprises the replication scheme.

14. The non-transitory, computer-readable medium of claim 11 , wherein determining the variable serialization scheme further comprising:

if the variable type is integer, determining that the variable serialization scheme comprises an integer scheme; and

if the variable type is character, determining that the variable serialization scheme comprises a character scheme.

15. The non-transitory, computer-readable medium of claim 11 , wherein the repetition scheme comprises:

writing the repetition counter to a transfer medium;

serializing at least one value in a value set to the transfer medium;

determining an index that corresponds to a data value; and

writing the index to the transfer medium.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2018
From: ACKER, MICHAEL
To: SAP SE
Reel/Frame 047338/0545 →
Continuity (3)
Continuation 15477402 · Apr 3, 2017
Continuation 14568864 · Dec 12, 2014
Related Publication 20190065571A1 · Feb 28, 2019