US20170199903A1 - System for backing out data - Google Patents
System for backing out data Download PDFInfo
- Publication number
- US20170199903A1 US20170199903A1 US14/993,679 US201614993679A US2017199903A1 US 20170199903 A1 US20170199903 A1 US 20170199903A1 US 201614993679 A US201614993679 A US 201614993679A US 2017199903 A1 US2017199903 A1 US 2017199903A1
- Authority
- US
- United States
- Prior art keywords
- data
- databases
- loaded
- invalid data
- unique identifiers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G06F17/30303—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G06F17/30371—
Definitions
- One or more aspects of the disclosure generally relate to computing devices, computing systems, and computer software.
- one or more aspects of the disclosure generally relate to computing devices, computing systems, and computer software that may be used to back out or otherwise remove data loaded to one or more databases.
- Data may be loaded to various locations, such as one or more databases. However, some of this data may turn out to be bad data (e.g., corrupted data, unsecured data, old data, and the like). Removing (e.g., backing out) the bad data may be complex, time consuming, and consume a significant amount of processing power, especially if a large amount of data is loaded.
- bad data e.g., corrupted data, unsecured data, old data, and the like.
- Removing (e.g., backing out) the bad data may be complex, time consuming, and consume a significant amount of processing power, especially if a large amount of data is loaded.
- the method may comprise determining one or more unique identifiers for data to be loaded from a source system to one or more databases.
- the method may comprise loading the data from the source system to the one or more databases, and the data may be loaded with the one or more unique identifiers.
- a computing device may determine that a subset of the data loaded to the one or more databases comprises invalid data.
- the computing device may determine one or more unique identifiers for the invalid data.
- the invalid data may be removed, from the one or more databases, based on the one or more unique identifiers for the invalid data.
- loading data may comprise loading a portion of the data from the source system to the one or more databases at a first time, and loading the portion of the data from the source system to the one or more databases at a second time.
- determining one or more unique identifiers may comprise determining first one or more unique identifiers for the portion of the data loaded at the first time and determining second one or more unique identifiers for the portion of the data loaded at the second time.
- determining that the subset of the data loaded to the one or more databases comprises invalid data may comprise receiving, from a user device, an indication of the invalid data.
- the systems described herein may generate a user interface displayable by the user device.
- the user interface may comprise a data field for a user to provide the indication of the invalid data.
- removing the invalid data may further be based on one or more load date for the invalid data.
- the one or more load date may comprise a time period, and removing the invalid data may comprise removing the invalid data that was loaded to the one or more databases during the time period.
- the method and system described herein may determine new data to load to the one or more database.
- the new data may correspond to the invalid data removed from one or more databases.
- the new data may be loaded to one or more databases.
- FIG. 1 illustrates an example operating environment in which various aspects of the disclosure may be implemented.
- FIG. 2 illustrates another example operating environment in which various aspects of the disclosure may be implemented.
- FIG. 3 illustrates an example operating environment for loading data and/or backing out data in which various aspects of the disclosure may be implemented.
- FIG. 4 illustrates an example method for loading data and/or backing out data in which various aspects of the disclosure may be implemented.
- FIG. 5 illustrates an example user interface for backing out data in which various aspects of the disclosure may be implemented.
- FIG. 1 illustrates an example block diagram of a computing device 101 (e.g., a computer server, desktop computer, laptop computer, tablet computer, other mobile devices, and the like) in an example computing environment 100 that may be used according to one or more illustrative embodiments of the disclosure.
- the computing device 101 may have a processor 103 for controlling overall operation of the server and its associated components, including for example random access memory (RAM) 105 , read-only memory (ROM) 107 , input/output (I/O) module 109 , and memory 115 .
- RAM random access memory
- ROM read-only memory
- I/O input/output
- I/O module 109 may include, e.g., a microphone, mouse, keypad, touch screen, scanner, optical reader, and/or stylus (or other input device(s)) through which a user of computing device 101 may provide input, and may also include one or more of a speaker for providing audio output and a video display device for providing textual, audiovisual, and/or graphical output.
- Software may be stored within memory 115 and/or other storage to provide instructions to processor 103 for enabling computing device 101 to perform various functions.
- memory 115 may store software used by the computing device 101 , such as an operating system 117 , application programs 119 , and an associated database 121 . Additionally or alternatively, some or all of the computer executable instructions for computing device 101 may be embodied in hardware or firmware (not shown).
- the computing device 101 may operate in a networked environment supporting connections to one or more remote computers, such as terminals 141 and 151 .
- the terminals 141 and 151 may be personal computers or servers that include any or all of the elements described above with respect to the computing device 101 .
- the network connections depicted in FIG. 1 include a local area network (LAN) 125 and a wide area network (WAN) 129 , but may also include other networks.
- LAN local area network
- WAN wide area network
- the computing device 101 may be connected to the LAN 125 through a network interface or adapter 123 .
- the computing device 101 may include a modem 127 or other network interface for establishing communications over the WAN 129 , such as the Internet 131 .
- Computing device 101 and/or terminals 141 or 151 may also be mobile terminals (e.g., mobile phones, smartphones, PDAs, notebooks, tablets, and the like) including various other components, such as a battery, speaker, and antennas (not shown).
- mobile terminals e.g., mobile phones, smartphones, PDAs, notebooks, tablets, and the like
- components such as a battery, speaker, and antennas (not shown).
- FIG. 2 illustrates another example operating environment in which various aspects of the disclosure may be implemented.
- An illustrative system 200 for implementing methods according to the present disclosure is shown.
- system 200 may include one or more workstations 201 .
- the workstations 201 may be used by, for example, agents or other employees of an institution (e.g., a financial institution) and/or customers of the institution.
- Workstations 201 may be local or remote, and are connected by one or more communications links 202 to computer network 203 that is linked via communications links 205 to server 204 .
- server 204 may be any suitable server, processor, computer, or data processing device, or combination of the same.
- Computer network 203 may be any suitable computer network including the Internet, an intranet, a wide-area network (WAN), a local-area network (LAN), a wireless network, a digital subscriber line (DSL) network, a frame relay network, an asynchronous transfer mode (ATM) network, a virtual private network (VPN), or any combination of any of the same.
- Communications links 202 and 205 may be any communications links suitable for communicating between workstations 201 and server 204 , such as network links, dial-up links, wireless links, hard-wired links, and the like.
- FIG. 3 illustrates an example operating environment 300 for loading data and/or backing out data in which various aspects of the disclosure may be implemented.
- the operating environment 300 may include a plurality of computing devices, such as a source system 305 , a landing zone 310 , a data load system or module 315 , database(s) 320 , control table(s) 325 , a data back out system or module 330 , and user device(s) 345 .
- Each of the computing devices may incorporate one or more of the components described above with reference to FIG. 1 and FIG. 2 (e.g., processors, RAM, ROM, memory, communication interfaces, and the like).
- the computing devices may communicate with one another and process data to load or back out data, as will be described in further detail below.
- One or more users 340 may initiate and/or provide input for data load or back out.
- Other examples of computing devices that may be used in the operating environment 300 are provided in U.S. patent application Ser. No. 14/950,609, filed Nov. 24, 2015, and entitled DATA LOAD SYSTEM WITH DISTRIBUTED DATA FACILITY TECHNOLOGY, which is herein incorporated by reference in its entirety.
- the operating environment 300 may include a source system 305 .
- the source system 305 may include (e.g., store) the data (e.g., source files or other items) to be delivered to the database(s) 320 or other destinations.
- the source system 305 may comprise one or more servers having a database or flat file system for storing data.
- the source system 305 may send a request to the data load system or module 315 to send data to the database(s) 320 .
- the operating environment 300 may include a landing zone 310 .
- the landing zone 310 may comprise, for example, a holding repository or other temporary storage location for the data to be delivered to the database(s) 320 .
- the landing zone 310 may be, for example, in a computing device in a network, server or cloud and/or may comprise, for example, physical memory within the data load system 315 .
- the operating environment 300 may include a data load system or module 315 .
- the data load system or module 315 may extract or otherwise receive the data from the landing zone 310 (or the source system 305 ).
- the data load system 315 may also validate and/or transform the data from the source system 305 to formats compatible with one or more of the database(s) 320 .
- the operating environment 300 may include one or more database(s) 320 .
- the database(s) 320 may comprise destinations or other storage locations for the data from the source system 305 .
- data from the source system 305 may be sent to the database(s) 320 via the landing zone 310 and/or the data load system or module 315 .
- Aspects of loading data from the source system 305 to the database(s) 320 are described in more detail in U.S. patent application Ser. No. 14/950,609, filed Nov. 24, 2015, and entitled DATA LOAD SYSTEM WITH DISTRIBUTED DATA FACILITY TECHNOLOGY, which is herein incorporated by reference in its entirety.
- the operating environment 300 may include one or more control table(s) 325 .
- the data load system 315 may store information, such as metadata, associated with the loaded data and/or the process for loading the data in the control table(s) 325 .
- the information stored in the control table(s) 325 may include unique identifier(s) for the loaded data, source code for the loaded data, an identifier of the user that sent the file, the name of the file, a start time stamp for the file (e.g., when data load began), an end time stamp for the file (e.g., when data load ended), and other data (e.g., metadata) describing the loaded data.
- a computing device may use the control table(s) 325 to search for bad data when the bad data is to be removed from the database(s) 320 .
- the information for the control table(s) 325 may be generated and/or stored in the control table(s) 325 before, during, or after the data is loaded to the database(s) 320 .
- the operating environment 300 may include a data back out system or module 330 .
- the back out system or module 330 may be configured to back out bad data loaded to the database(s) 320 .
- the back out system or module 330 may communicate with and access information from the control table(s) 325 to identify the data to back out and the storage locations of the data to back out.
- the operating environment 300 may include one or more user device(s) 345 , such as a laptop computer, workstation, mobile device, and the like. As will be described in further detail below, the user device(s) 345 may display one or more user interfaces to user(s) 340 , and the user interfaces may be used to initiate a data load back out process.
- user device(s) 345 such as a laptop computer, workstation, mobile device, and the like.
- the user device(s) 345 may display one or more user interfaces to user(s) 340 , and the user interfaces may be used to initiate a data load back out process.
- FIG. 4 illustrates an example method for loading data and/or backing out data in which various aspects of the disclosure may be implemented. The steps illustrated in FIG. 4 may be performed by one or more of the computing devices previously described.
- a computing device may determine a unique identifier (e.g., metadata) for the data (e.g., data to be uploaded or data already uploaded).
- the data may be identified by file name, source code, and the like.
- the computing device may assign (e.g., link) the identifier to the data.
- the identifier may be unique to a date.
- the computing device may use the unique identifier and/or other information (e.g., a file name, a name of a program, a source type, and the like) to track backwards to identify data to be backed out.
- the computing device may determine the unique identifier for the file to identify how the file is being or was loaded.
- the unique identifier may comprise a unique number (e.g., 1234), a unique string of letters (e.g., ABDFGZ), or a combination of numbers and letters and/or other characters.
- the computing device may generate the unique identifier based on various pieces of information related to the data, such as the source database (e.g., where the data comes from), the program that generated the data, the destination of the data being loaded, information from the source code (e.g., metadata), and the like.
- the computing device may determine and assign a unique identifier to data for each date an event occurs for the file, such as the date that the file is uploaded, the date that the file is reviewed or verified, and the like. Accordingly, uploaded data may be assigned two or more unique identifiers if the data is uploaded (or some other event occurs) two or more times. For example, the computing device may assign the identifiers 1234 and 1235 to the same uploaded data (e.g., duplicative or semi-duplicative data, such as a record) to indicate the two dates that the data has been uploaded.
- uploaded data e.g., duplicative or semi-duplicative data, such as a record
- the same record may be assigned multiple identifiers if something in the record is different for each event, such as if there are two different upload dates for the data, there are two different versions of the data, and the like.
- one of the unique identifiers for a particular piece of data such as the first unique identifier assigned by the computing device, may be the primary identifier (e.g., key), and the remaining unique identifiers may be secondary or lower tier identifiers.
- a computing device may load the data to its location (e.g., destination, such as an operational database, a storage database, or other database) if the data has not already been loaded.
- its location e.g., destination, such as an operational database, a storage database, or other database
- Loading data is described in detail in U.S. patent application Ser. No. 14/950,609, filed Nov. 24, 2015, and entitled DATA LOAD SYSTEM WITH DISTRIBUTED DATA FACILITY TECHNOLOGY, which is hereby incorporated by reference in its entirety.
- Each data item may be loaded to a table or a plurality of tables.
- the loading process may be complex, and, for example, 40,000 or more elements may be inserted into data tables.
- One or more loader may be used to load the data.
- the loader code might be different from the code used to back out code, and the back out process will be described in further detail below. Furthermore, the loader code might not communicate with the data back out code.
- the data may be loaded with (e.g., in association with) the one or more unique identifier for the data determined by the computing device.
- the unique identifier(s) for the data may be attached to one or more data tables that the data is loaded to. For example, if a particular file or source code is loaded to fifteen different locations, the unique identified tied to the particular file or source code may be attached to the fifteen different locations.
- the destinations may be loaded with bad data. As will be described in further detail below, a data back out process using the unique identifiers may be used to remove the bad data.
- a computing device may determine whether bad data exists.
- Bad data may comprise, for example, corrupt data, incorrect data, unstable data, bad images, duplicate data, unsecure data, or something else rendering the data invalid.
- a user may have uploaded data that pertains to one person to a data location associated with a different person. The user may also identify bad data as data compromised in a data breach.
- a user may interact with a user interface displayed on a user device (e.g., user device 345 ) to select or otherwise identify the bad data.
- a user may input a file name.
- the computing device may determine the data or file corresponding to the file name.
- the computing device may also determine the one or more unique identifiers corresponding to the file name.
- FIG. 5 illustrates an example user interface 500 for backing out data in which various aspects of the disclosure may be implemented.
- the user interface 500 may comprise a web interface (e.g., a data management interface) and may be written using HTML code, script code, or in any other format.
- the user interface 500 may be used by a user to interact with the data back out system described herein.
- the user interface 500 may include a data field 502 for the user to select or otherwise identify the bad data.
- the user may enter a specific file name in the data field 502 B or use the data field 502 B to search for the desired data.
- the data field 502 A may display a list of files, such as a dropdown menu, and the user may select the data to back out (e.g., by selecting a checkbox associated with the one or more data to be backed out).
- the computing device may determine each item in the file and indicate (e.g., display) to the user each item in the file that is to be backed out.
- the user interface 500 may also include a data field 504 for the user to input a date or time period (e.g., the date the data was loaded on or a time period that the data was loaded within) and a data field 506 for the user to input the source type for the data (e.g., a data field 506 A for selecting a source type and/or a data field 506 B for entering or searching for a source type).
- the user may select an option 508 (e.g., a submit button or confirm button) to send a request to the system to back out the bad data.
- an option 508 e.g., a submit button or confirm button
- a computing device may determine (e.g., identify) the bad data (if it exists) based on the one or more unique identifiers associated with the bad data. That is, the computing device may use the unique identifiers to determine the items to remove from the system. The computing device may also use, along with the identifier(s), the date (e.g., load date) and/or the source type for the data.
- a control table (e.g., control table 325 ) may be used by the computing device to determine which locations to search for the bad data.
- the control table may include, for example, the unique identifier(s), the source code for the data, an identifier of the user that sent the file, the name of the file, a start time stamp for the file (e.g., when data load began), an end time stamp for the file (e.g., when data load ended), and other data (e.g., metadata) describing the bad data.
- the computing device might not need to search every data location for the bad data.
- the computing device may search for bad data in a particular time period. For example, the computing device may search for bad data within, e.g., the last seven days, using the unique identifier(s) for the bad data corresponding to data loads that have occurred within the last 7 days. As previously explained, data may be loaded twice (or more times), and a unique identifier may be assigned to the data for each load. Other time periods may be determined by the computing device or specified by the user, as previously described.
- the computing device may determine how the bad data was loaded. For example, the computing device may determine the process steps a particular application performed to load or otherwise input the bad data. The computing device may also determine which items within a file were loaded, such as all of the items within the file or a subset of all of the items. The computing device may also determine when (e.g., a date or time period) the bad data was loaded.
- the computing device may determine data related to the bad data. For example, the computing device may find all records associated with the bad data.
- the data related to the bad data may be time-related to the bad data.
- the computing device may determine the data loaded to the databases within a specific time period. Data related to the bad data may be determined based on unique identifiers. For example, unique identifiers for one piece of loaded data may be associated or otherwise identified with unique identifiers for another piece of loaded data.
- the computing device may use the association of identifiers to determine the data related to the bad data. Any database table that holds relevant records may be used to identify data related to the bad data, such as the history of jobs, sources, and/or unique identifiers.
- a list of data potentially related to the bad data may be displayed to a user, and the user may select the related data to remove.
- the computing device may determine the location(s) of the bad data and/or the locations of data related to the bad data.
- Data locations may be within one or more databases. For example, data locations may be within a mid-range system that processed the bad data or file and/or one or more database that stores the bad data. Pointers or other unique identifiers may be used to identify these data locations.
- the data locations may be stored in one or more control tables, as previously described.
- the computing device may remove (e.g., back out) the bad data and/or the data related to the bad data from the identified locations.
- the back out process may be used by the system to automatically clean up records in an operational database and/or a storage database. This may include the mid-range system that processed the data and the database(s) that store the bad data.
- the automated back out process may result in a significantly quicker data back out than with previous systems. For example and in some embodiments, the data may be backed out in 10 to 15 seconds. Previous systems, on the other hand, may have taken 4 to 8 hours to back out bad data.
- the computing device may use distributed data facility (DDF) threads to back out data, for example, for mainframe database and DB2 applications.
- Connections or threads e.g., DDF threads
- DDF threads may be generated for backing out data from one or more databases, such as a mainframe database.
- An exemplary DDF connection or thread is a database access connection or thread.
- DDF connections may be used to quickly remove large chunks of data, such as XML data, from databases, such as relational database management systems (RDBMS) because multiple connections or threads (e.g., thousands) may be created and used to simultaneously (e.g., in parallel) remove data from the databases.
- RDBMS relational database management systems
- the computing device may verify the data back out, such as to confirm that all of the data requested to be backed out has been backed out. Verification may be based on one or more checks. For example, the computing device may compare the total number of records (or unique pieces of data) backed out to the total number of records requested to be backed out. The computing device may also use the item sequence number for each backed out item for verification. The item sequence number may comprise one unique column of relevant information for the backed out data. The verification process may depend on the type of database that the data was loaded to.
- a computing device may determine new data to load.
- the new data may replace the data backed out by the computing device.
- the computing device may determine the previous location(s) of the bad data, and the new data may be loaded to those same locations.
- the new data may be a more recent version of the data or data that has otherwise been fixed (e.g., updated) relative to the bad data.
- a computing device e.g., the data load module 315 and/or the data back out module 330 ) may determine one or more unique identifier(s) for the new data to be loaded. Step 455 may be similar to step 405 previously described.
- a computing device e.g., the data load module 315
- Step 460 may load the new data to the appropriate data location(s).
- Step 460 may be similar to step 410 previously described. Accordingly, a new file may be sent and processed with new corrected information.
- aspects described herein may be embodied as a method, an apparatus, or as computer-executable instructions stored on one or more non-transitory and/or tangible computer-readable media. Accordingly, those aspects may take the form of an entirely hardware embodiment, an entirely software embodiment (which may or may not include firmware) stored on one or more non-transitory and/or tangible computer-readable media, or an embodiment combining software and hardware aspects. Any and/or all of the method steps described herein may be embodied in computer-executable instructions stored on a computer-readable medium, such as a non-transitory and/or tangible computer readable medium and/or a computer readable storage medium.
- signals representing data or events as described herein may be transferred between a source and a destination in the form of light and/or electromagnetic waves traveling through signal-conducting media such as metal wires, optical fibers, and/or wireless transmission media (e.g., air and/or space).
- signal-conducting media such as metal wires, optical fibers, and/or wireless transmission media (e.g., air and/or space).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- This application is related to U.S. patent application Ser. No. 14/262,014, filed Apr. 25, 2014, and entitled DATA LOAD PROCESS, and U.S. patent application Ser. No. 14/950,609, filed Nov. 24, 2015, and entitled DATA LOAD SYSTEM WITH DISTRIBUTED DATA FACILITY TECHNOLOGY. The related applications are hereby incorporated by reference in their entirety.
- One or more aspects of the disclosure generally relate to computing devices, computing systems, and computer software. In particular, one or more aspects of the disclosure generally relate to computing devices, computing systems, and computer software that may be used to back out or otherwise remove data loaded to one or more databases.
- Data may be loaded to various locations, such as one or more databases. However, some of this data may turn out to be bad data (e.g., corrupted data, unsecured data, old data, and the like). Removing (e.g., backing out) the bad data may be complex, time consuming, and consume a significant amount of processing power, especially if a large amount of data is loaded.
- The following presents a simplified summary in order to provide a basic understanding of some aspects of the disclosure. The summary is not an extensive overview of the disclosure. It is neither intended to identify key or critical elements of the disclosure nor to delineate the scope of the disclosure. The following summary merely presents some concepts of the disclosure in a simplified form as a prelude to the description below.
- Some aspects as disclosed herein are directed to, for example, a system and method of backing out data. The method may comprise determining one or more unique identifiers for data to be loaded from a source system to one or more databases. The method may comprise loading the data from the source system to the one or more databases, and the data may be loaded with the one or more unique identifiers. A computing device may determine that a subset of the data loaded to the one or more databases comprises invalid data. In response to determining that the subset of the data loaded to the one or more databases comprises invalid data, the computing device may determine one or more unique identifiers for the invalid data. The invalid data may be removed, from the one or more databases, based on the one or more unique identifiers for the invalid data.
- In some aspects, loading data may comprise loading a portion of the data from the source system to the one or more databases at a first time, and loading the portion of the data from the source system to the one or more databases at a second time. Furthermore, determining one or more unique identifiers may comprise determining first one or more unique identifiers for the portion of the data loaded at the first time and determining second one or more unique identifiers for the portion of the data loaded at the second time.
- In some aspects, determining that the subset of the data loaded to the one or more databases comprises invalid data may comprise receiving, from a user device, an indication of the invalid data. The systems described herein may generate a user interface displayable by the user device. The user interface may comprise a data field for a user to provide the indication of the invalid data.
- In some aspects, removing the invalid data may further be based on one or more load date for the invalid data. The one or more load date may comprise a time period, and removing the invalid data may comprise removing the invalid data that was loaded to the one or more databases during the time period.
- After removing the invalid data, the method and system described herein may determine new data to load to the one or more database. The new data may correspond to the invalid data removed from one or more databases. The new data may be loaded to one or more databases.
- The present disclosure is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
-
FIG. 1 illustrates an example operating environment in which various aspects of the disclosure may be implemented. -
FIG. 2 illustrates another example operating environment in which various aspects of the disclosure may be implemented. -
FIG. 3 illustrates an example operating environment for loading data and/or backing out data in which various aspects of the disclosure may be implemented. -
FIG. 4 illustrates an example method for loading data and/or backing out data in which various aspects of the disclosure may be implemented. -
FIG. 5 illustrates an example user interface for backing out data in which various aspects of the disclosure may be implemented. - In the following description of various illustrative embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown, by way of illustration, various embodiments in which the claimed subject matter may be practiced. It is to be understood that other embodiments may be utilized, and that structural and functional modifications may be made, without departing from the scope of the present claimed subject matter.
-
FIG. 1 illustrates an example block diagram of a computing device 101 (e.g., a computer server, desktop computer, laptop computer, tablet computer, other mobile devices, and the like) in anexample computing environment 100 that may be used according to one or more illustrative embodiments of the disclosure. Thecomputing device 101 may have aprocessor 103 for controlling overall operation of the server and its associated components, including for example random access memory (RAM) 105, read-only memory (ROM) 107, input/output (I/O)module 109, andmemory 115. - I/
O module 109 may include, e.g., a microphone, mouse, keypad, touch screen, scanner, optical reader, and/or stylus (or other input device(s)) through which a user ofcomputing device 101 may provide input, and may also include one or more of a speaker for providing audio output and a video display device for providing textual, audiovisual, and/or graphical output. Software may be stored withinmemory 115 and/or other storage to provide instructions toprocessor 103 for enablingcomputing device 101 to perform various functions. For example,memory 115 may store software used by thecomputing device 101, such as anoperating system 117,application programs 119, and an associateddatabase 121. Additionally or alternatively, some or all of the computer executable instructions forcomputing device 101 may be embodied in hardware or firmware (not shown). - The
computing device 101 may operate in a networked environment supporting connections to one or more remote computers, such asterminals terminals computing device 101. The network connections depicted inFIG. 1 include a local area network (LAN) 125 and a wide area network (WAN) 129, but may also include other networks. When used in a LAN networking environment, thecomputing device 101 may be connected to theLAN 125 through a network interface oradapter 123. When used in a WAN networking environment, thecomputing device 101 may include amodem 127 or other network interface for establishing communications over theWAN 129, such as the Internet 131. It will be appreciated that the network connections shown are illustrative and other means of establishing a communications link between the computers may be used. The existence of any of various well-known protocols such as TCP/IP, Ethernet, FTP, HTTP, HTTPS, and the like is presumed.Computing device 101 and/orterminals -
FIG. 2 illustrates another example operating environment in which various aspects of the disclosure may be implemented. Anillustrative system 200 for implementing methods according to the present disclosure is shown. As illustrated,system 200 may include one ormore workstations 201. Theworkstations 201 may be used by, for example, agents or other employees of an institution (e.g., a financial institution) and/or customers of the institution.Workstations 201 may be local or remote, and are connected by one ormore communications links 202 tocomputer network 203 that is linked viacommunications links 205 toserver 204. Insystem 200,server 204 may be any suitable server, processor, computer, or data processing device, or combination of the same. -
Computer network 203 may be any suitable computer network including the Internet, an intranet, a wide-area network (WAN), a local-area network (LAN), a wireless network, a digital subscriber line (DSL) network, a frame relay network, an asynchronous transfer mode (ATM) network, a virtual private network (VPN), or any combination of any of the same.Communications links workstations 201 andserver 204, such as network links, dial-up links, wireless links, hard-wired links, and the like. -
FIG. 3 illustrates anexample operating environment 300 for loading data and/or backing out data in which various aspects of the disclosure may be implemented. The operatingenvironment 300 may include a plurality of computing devices, such as asource system 305, alanding zone 310, a data load system ormodule 315, database(s) 320, control table(s) 325, a data back out system ormodule 330, and user device(s) 345. Each of the computing devices may incorporate one or more of the components described above with reference toFIG. 1 andFIG. 2 (e.g., processors, RAM, ROM, memory, communication interfaces, and the like). The computing devices may communicate with one another and process data to load or back out data, as will be described in further detail below. One or more users 340 (e.g., administrators) may initiate and/or provide input for data load or back out. Other examples of computing devices that may be used in the operatingenvironment 300 are provided in U.S. patent application Ser. No. 14/950,609, filed Nov. 24, 2015, and entitled DATA LOAD SYSTEM WITH DISTRIBUTED DATA FACILITY TECHNOLOGY, which is herein incorporated by reference in its entirety. - The operating
environment 300 may include asource system 305. Thesource system 305 may include (e.g., store) the data (e.g., source files or other items) to be delivered to the database(s) 320 or other destinations. Thesource system 305 may comprise one or more servers having a database or flat file system for storing data. In some aspects, thesource system 305 may send a request to the data load system ormodule 315 to send data to the database(s) 320. - The operating
environment 300 may include alanding zone 310. Thelanding zone 310 may comprise, for example, a holding repository or other temporary storage location for the data to be delivered to the database(s) 320. Thelanding zone 310 may be, for example, in a computing device in a network, server or cloud and/or may comprise, for example, physical memory within thedata load system 315. - The operating
environment 300 may include a data load system ormodule 315. The data load system ormodule 315 may extract or otherwise receive the data from the landing zone 310 (or the source system 305). Thedata load system 315 may also validate and/or transform the data from thesource system 305 to formats compatible with one or more of the database(s) 320. - The operating
environment 300 may include one or more database(s) 320. The database(s) 320 may comprise destinations or other storage locations for the data from thesource system 305. In some aspects, data from thesource system 305 may be sent to the database(s) 320 via thelanding zone 310 and/or the data load system ormodule 315. Aspects of loading data from thesource system 305 to the database(s) 320 are described in more detail in U.S. patent application Ser. No. 14/950,609, filed Nov. 24, 2015, and entitled DATA LOAD SYSTEM WITH DISTRIBUTED DATA FACILITY TECHNOLOGY, which is herein incorporated by reference in its entirety. - The operating
environment 300 may include one or more control table(s) 325. Thedata load system 315 may store information, such as metadata, associated with the loaded data and/or the process for loading the data in the control table(s) 325. The information stored in the control table(s) 325 may include unique identifier(s) for the loaded data, source code for the loaded data, an identifier of the user that sent the file, the name of the file, a start time stamp for the file (e.g., when data load began), an end time stamp for the file (e.g., when data load ended), and other data (e.g., metadata) describing the loaded data. As will be described in further detail below, a computing device may use the control table(s) 325 to search for bad data when the bad data is to be removed from the database(s) 320. The information for the control table(s) 325 may be generated and/or stored in the control table(s) 325 before, during, or after the data is loaded to the database(s) 320. - The operating
environment 300 may include a data back out system ormodule 330. The back out system ormodule 330 may be configured to back out bad data loaded to the database(s) 320. As will be described in further detail below, the back out system ormodule 330 may communicate with and access information from the control table(s) 325 to identify the data to back out and the storage locations of the data to back out. - The operating
environment 300 may include one or more user device(s) 345, such as a laptop computer, workstation, mobile device, and the like. As will be described in further detail below, the user device(s) 345 may display one or more user interfaces to user(s) 340, and the user interfaces may be used to initiate a data load back out process. -
FIG. 4 illustrates an example method for loading data and/or backing out data in which various aspects of the disclosure may be implemented. The steps illustrated inFIG. 4 may be performed by one or more of the computing devices previously described. - In
step 405, a computing device (e.g., thedata load module 315 and/or the data back out module 330) may determine a unique identifier (e.g., metadata) for the data (e.g., data to be uploaded or data already uploaded). The data may be identified by file name, source code, and the like. The computing device may assign (e.g., link) the identifier to the data. The identifier may be unique to a date. As will be described in further detail below, the computing device may use the unique identifier and/or other information (e.g., a file name, a name of a program, a source type, and the like) to track backwards to identify data to be backed out. - When a file is being loaded or has already been loaded, the computing device may determine the unique identifier for the file to identify how the file is being or was loaded. The unique identifier may comprise a unique number (e.g., 1234), a unique string of letters (e.g., ABDFGZ), or a combination of numbers and letters and/or other characters. In some aspects, the computing device may generate the unique identifier based on various pieces of information related to the data, such as the source database (e.g., where the data comes from), the program that generated the data, the destination of the data being loaded, information from the source code (e.g., metadata), and the like.
- In some aspects, the computing device may determine and assign a unique identifier to data for each date an event occurs for the file, such as the date that the file is uploaded, the date that the file is reviewed or verified, and the like. Accordingly, uploaded data may be assigned two or more unique identifiers if the data is uploaded (or some other event occurs) two or more times. For example, the computing device may assign the identifiers 1234 and 1235 to the same uploaded data (e.g., duplicative or semi-duplicative data, such as a record) to indicate the two dates that the data has been uploaded. Generally, the same record may be assigned multiple identifiers if something in the record is different for each event, such as if there are two different upload dates for the data, there are two different versions of the data, and the like. In some aspects, one of the unique identifiers for a particular piece of data, such as the first unique identifier assigned by the computing device, may be the primary identifier (e.g., key), and the remaining unique identifiers may be secondary or lower tier identifiers.
- In
step 410, a computing device (e.g., the data load module 315) may load the data to its location (e.g., destination, such as an operational database, a storage database, or other database) if the data has not already been loaded. Loading data is described in detail in U.S. patent application Ser. No. 14/950,609, filed Nov. 24, 2015, and entitled DATA LOAD SYSTEM WITH DISTRIBUTED DATA FACILITY TECHNOLOGY, which is hereby incorporated by reference in its entirety. - Each data item may be loaded to a table or a plurality of tables. The loading process may be complex, and, for example, 40,000 or more elements may be inserted into data tables. One or more loader may be used to load the data. In some aspects, the loader code might be different from the code used to back out code, and the back out process will be described in further detail below. Furthermore, the loader code might not communicate with the data back out code.
- The data may be loaded with (e.g., in association with) the one or more unique identifier for the data determined by the computing device. The unique identifier(s) for the data may be attached to one or more data tables that the data is loaded to. For example, if a particular file or source code is loaded to fifteen different locations, the unique identified tied to the particular file or source code may be attached to the fifteen different locations. Sometimes the destinations may be loaded with bad data. As will be described in further detail below, a data back out process using the unique identifiers may be used to remove the bad data.
- In
step 415, a computing device (e.g., the data back out module 330) may determine whether bad data exists. Bad data may comprise, for example, corrupt data, incorrect data, unstable data, bad images, duplicate data, unsecure data, or something else rendering the data invalid. For example, a user may have uploaded data that pertains to one person to a data location associated with a different person. The user may also identify bad data as data compromised in a data breach. - In some aspects, a user (e.g., user 340) may interact with a user interface displayed on a user device (e.g., user device 345) to select or otherwise identify the bad data. For example, the user may input a file name. The computing device may determine the data or file corresponding to the file name. The computing device may also determine the one or more unique identifiers corresponding to the file name.
-
FIG. 5 illustrates anexample user interface 500 for backing out data in which various aspects of the disclosure may be implemented. Theuser interface 500 may comprise a web interface (e.g., a data management interface) and may be written using HTML code, script code, or in any other format. Theuser interface 500 may be used by a user to interact with the data back out system described herein. Theuser interface 500 may include adata field 502 for the user to select or otherwise identify the bad data. The user may enter a specific file name in thedata field 502B or use thedata field 502B to search for the desired data. The data field 502A may display a list of files, such as a dropdown menu, and the user may select the data to back out (e.g., by selecting a checkbox associated with the one or more data to be backed out). - If the user selects a data file comprising several items, the computing device may determine each item in the file and indicate (e.g., display) to the user each item in the file that is to be backed out. The
user interface 500 may also include adata field 504 for the user to input a date or time period (e.g., the date the data was loaded on or a time period that the data was loaded within) and adata field 506 for the user to input the source type for the data (e.g., adata field 506A for selecting a source type and/or adata field 506B for entering or searching for a source type). - Once the data and/or files have been identified by the user, the user may select an option 508 (e.g., a submit button or confirm button) to send a request to the system to back out the bad data.
- In
step 420, a computing device (e.g., the data back out module 330) may determine (e.g., identify) the bad data (if it exists) based on the one or more unique identifiers associated with the bad data. That is, the computing device may use the unique identifiers to determine the items to remove from the system. The computing device may also use, along with the identifier(s), the date (e.g., load date) and/or the source type for the data. - A control table (e.g., control table 325) may be used by the computing device to determine which locations to search for the bad data. As previously described, the control table may include, for example, the unique identifier(s), the source code for the data, an identifier of the user that sent the file, the name of the file, a start time stamp for the file (e.g., when data load began), an end time stamp for the file (e.g., when data load ended), and other data (e.g., metadata) describing the bad data. By using the control table, the computing device might not need to search every data location for the bad data.
- In some aspects, the computing device may search for bad data in a particular time period. For example, the computing device may search for bad data within, e.g., the last seven days, using the unique identifier(s) for the bad data corresponding to data loads that have occurred within the last 7 days. As previously explained, data may be loaded twice (or more times), and a unique identifier may be assigned to the data for each load. Other time periods may be determined by the computing device or specified by the user, as previously described.
- In
step 425, the computing device (e.g., the data back out module 330) may determine how the bad data was loaded. For example, the computing device may determine the process steps a particular application performed to load or otherwise input the bad data. The computing device may also determine which items within a file were loaded, such as all of the items within the file or a subset of all of the items. The computing device may also determine when (e.g., a date or time period) the bad data was loaded. - In
step 430, the computing device may determine data related to the bad data. For example, the computing device may find all records associated with the bad data. In some aspects, the data related to the bad data may be time-related to the bad data. For example, the computing device may determine the data loaded to the databases within a specific time period. Data related to the bad data may be determined based on unique identifiers. For example, unique identifiers for one piece of loaded data may be associated or otherwise identified with unique identifiers for another piece of loaded data. The computing device may use the association of identifiers to determine the data related to the bad data. Any database table that holds relevant records may be used to identify data related to the bad data, such as the history of jobs, sources, and/or unique identifiers. In some aspects, a list of data potentially related to the bad data may be displayed to a user, and the user may select the related data to remove. - In
step 435, the computing device may determine the location(s) of the bad data and/or the locations of data related to the bad data. Data locations may be within one or more databases. For example, data locations may be within a mid-range system that processed the bad data or file and/or one or more database that stores the bad data. Pointers or other unique identifiers may be used to identify these data locations. The data locations may be stored in one or more control tables, as previously described. - In
step 440, the computing device (e.g., the data back out module 330) may remove (e.g., back out) the bad data and/or the data related to the bad data from the identified locations. As previously explained, the back out process may be used by the system to automatically clean up records in an operational database and/or a storage database. This may include the mid-range system that processed the data and the database(s) that store the bad data. The automated back out process may result in a significantly quicker data back out than with previous systems. For example and in some embodiments, the data may be backed out in 10 to 15 seconds. Previous systems, on the other hand, may have taken 4 to 8 hours to back out bad data. - The computing device may use distributed data facility (DDF) threads to back out data, for example, for mainframe database and DB2 applications. Connections or threads (e.g., DDF threads) may be generated for backing out data from one or more databases, such as a mainframe database. An exemplary DDF connection or thread is a database access connection or thread. DDF connections may be used to quickly remove large chunks of data, such as XML data, from databases, such as relational database management systems (RDBMS) because multiple connections or threads (e.g., thousands) may be created and used to simultaneously (e.g., in parallel) remove data from the databases. Use of DDF threads is described in more detail in U.S. patent application Ser. No. 14/950,609, filed Nov. 24, 2015, and entitled DATA LOAD SYSTEM WITH DISTRIBUTED DATA FACILITY TECHNOLOGY, which is herein incorporated by reference in its entirety.
- In
step 445, the computing device (e.g., the data back out module 330) may verify the data back out, such as to confirm that all of the data requested to be backed out has been backed out. Verification may be based on one or more checks. For example, the computing device may compare the total number of records (or unique pieces of data) backed out to the total number of records requested to be backed out. The computing device may also use the item sequence number for each backed out item for verification. The item sequence number may comprise one unique column of relevant information for the backed out data. The verification process may depend on the type of database that the data was loaded to. - In
step 450, a computing device (e.g., thedata load module 315 and/or the data back out module 330) may determine new data to load. For example, the new data may replace the data backed out by the computing device. The computing device may determine the previous location(s) of the bad data, and the new data may be loaded to those same locations. In some aspects, the new data may be a more recent version of the data or data that has otherwise been fixed (e.g., updated) relative to the bad data. - In
step 455, a computing device (e.g., thedata load module 315 and/or the data back out module 330) may determine one or more unique identifier(s) for the new data to be loaded. Step 455 may be similar to step 405 previously described. - In
step 460, a computing device (e.g., the data load module 315) may load the new data to the appropriate data location(s). Step 460 may be similar to step 410 previously described. Accordingly, a new file may be sent and processed with new corrected information. - Various aspects described herein may be embodied as a method, an apparatus, or as computer-executable instructions stored on one or more non-transitory and/or tangible computer-readable media. Accordingly, those aspects may take the form of an entirely hardware embodiment, an entirely software embodiment (which may or may not include firmware) stored on one or more non-transitory and/or tangible computer-readable media, or an embodiment combining software and hardware aspects. Any and/or all of the method steps described herein may be embodied in computer-executable instructions stored on a computer-readable medium, such as a non-transitory and/or tangible computer readable medium and/or a computer readable storage medium. In addition, various signals representing data or events as described herein may be transferred between a source and a destination in the form of light and/or electromagnetic waves traveling through signal-conducting media such as metal wires, optical fibers, and/or wireless transmission media (e.g., air and/or space).
- Aspects of the disclosure have been described in terms of illustrative embodiments thereof. Numerous other embodiments, modifications, and variations within the scope and spirit of the appended claims will occur to persons of ordinary skill in the art from a review of this disclosure. For example, one of ordinary skill in the art will appreciate that the steps illustrated in the illustrative figures may be performed in other than the recited order, and that one or more steps illustrated may be optional in accordance with aspects of the disclosure.
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/262,014 US9633094B2 (en) | 2014-04-25 | 2014-04-25 | Data load process |
US14/950,609 US20170147661A1 (en) | 2014-04-25 | 2015-11-24 | Data load system with distributed data facility technology |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170199903A1 true US20170199903A1 (en) | 2017-07-13 |
Family
ID=54334992
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/262,014 Active 2035-02-17 US9633094B2 (en) | 2014-04-25 | 2014-04-25 | Data load process |
US14/950,609 Abandoned US20170147661A1 (en) | 2014-04-25 | 2015-11-24 | Data load system with distributed data facility technology |
US14/993,679 Abandoned US20170199903A1 (en) | 2014-04-25 | 2016-01-12 | System for backing out data |
US15/424,094 Abandoned US20170147663A1 (en) | 2014-04-25 | 2017-02-03 | Data Load Process |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/262,014 Active 2035-02-17 US9633094B2 (en) | 2014-04-25 | 2014-04-25 | Data load process |
US14/950,609 Abandoned US20170147661A1 (en) | 2014-04-25 | 2015-11-24 | Data load system with distributed data facility technology |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/424,094 Abandoned US20170147663A1 (en) | 2014-04-25 | 2017-02-03 | Data Load Process |
Country Status (1)
Country | Link |
---|---|
US (4) | US9633094B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536812A (en) * | 2018-04-04 | 2018-09-14 | 百度在线网络技术(北京)有限公司 | Sweep-out method, device, equipment and the computer-readable medium of invalid data resource |
US20230315737A1 (en) * | 2022-03-30 | 2023-10-05 | Reltio, Inc. | Entity id lineage persistence and cross-tenant durability |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2954037A1 (en) * | 2016-01-21 | 2017-07-21 | Wal-Mart Stores, Inc. | Codeless information service for abstract retrieval of disparate data |
CN107025224B (en) * | 2016-01-29 | 2020-10-16 | 阿里巴巴集团控股有限公司 | Method and equipment for monitoring task operation |
US10956408B2 (en) * | 2017-06-29 | 2021-03-23 | Bank Of America Corporation | Data transformation tool |
WO2019027970A1 (en) * | 2017-07-31 | 2019-02-07 | Morphotrust Usa, Llc | Mobile application for automatic information synthesis |
CN107665255B (en) * | 2017-09-30 | 2020-12-15 | 杭州时趣信息技术有限公司 | Method, device, equipment and storage medium for key value database data change |
CN111556019B (en) * | 2020-03-27 | 2022-06-14 | 天津市普迅电力信息技术有限公司 | A vehicle-machine data encryption transmission and processing method in a distributed environment |
US12277131B2 (en) * | 2021-10-29 | 2025-04-15 | T-Mobile Innovations Llc | Metadata driven automatic data integration |
US20240362233A1 (en) * | 2023-04-28 | 2024-10-31 | American Express Travel Related Services Company, Inc. | Democratized data profiling and validation |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553392B1 (en) | 1999-02-04 | 2003-04-22 | Hewlett-Packard Development Company, L.P. | System and method for purging database update image files after completion of associated transactions |
US6668253B1 (en) | 1999-09-08 | 2003-12-23 | Reynolds & Reynolds Holdings, Inc. | Enterprise information management system and methods |
US6732089B1 (en) | 2000-05-09 | 2004-05-04 | International Business Machines Corporation | SQL access to system specific data |
US6691115B2 (en) | 2001-06-15 | 2004-02-10 | Hewlett-Packard Development Company, L.P. | System and method for purging database update image files after completion of associated transactions for a database replication system with multiple audit logs |
US20030028555A1 (en) | 2001-07-31 | 2003-02-06 | Young William J. | Database migration |
US20030061225A1 (en) * | 2001-09-25 | 2003-03-27 | Bowman David M. | Hierarchical hybrid OLAP scenario management system |
US8311974B2 (en) | 2004-02-20 | 2012-11-13 | Oracle International Corporation | Modularized extraction, transformation, and loading for a database |
US20060026199A1 (en) | 2004-07-15 | 2006-02-02 | Mariano Crea | Method and system to load information in a general purpose data warehouse database |
US7853621B2 (en) | 2005-11-23 | 2010-12-14 | Oracle International Corp. | Integrating medical data and images in a database management system |
US7739296B2 (en) | 2006-07-12 | 2010-06-15 | International Business Machines Corporation | System and method for virtualization of relational stored procedures in non-native relational database systems |
US20080103888A1 (en) * | 2006-10-26 | 2008-05-01 | Yahoo! Inc. | System and method for tracking purchases related to digital advertisements |
US8356010B2 (en) | 2010-08-11 | 2013-01-15 | Sap Ag | Online data migration |
-
2014
- 2014-04-25 US US14/262,014 patent/US9633094B2/en active Active
-
2015
- 2015-11-24 US US14/950,609 patent/US20170147661A1/en not_active Abandoned
-
2016
- 2016-01-12 US US14/993,679 patent/US20170199903A1/en not_active Abandoned
-
2017
- 2017-02-03 US US15/424,094 patent/US20170147663A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536812A (en) * | 2018-04-04 | 2018-09-14 | 百度在线网络技术(北京)有限公司 | Sweep-out method, device, equipment and the computer-readable medium of invalid data resource |
US20230315737A1 (en) * | 2022-03-30 | 2023-10-05 | Reltio, Inc. | Entity id lineage persistence and cross-tenant durability |
US12235847B2 (en) * | 2022-03-30 | 2025-02-25 | Reltio, Inc. | Entity id lineage persistence and cross-tenant durability |
Also Published As
Publication number | Publication date |
---|---|
US20170147661A1 (en) | 2017-05-25 |
US20170147663A1 (en) | 2017-05-25 |
US9633094B2 (en) | 2017-04-25 |
US20150310076A1 (en) | 2015-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170199903A1 (en) | System for backing out data | |
US11182366B2 (en) | Comparing data stores using hash sums on disparate parallel systems | |
CN109034993B (en) | Account checking method, account checking equipment, account checking system and computer readable storage medium | |
US9141680B2 (en) | Data consistency and rollback for cloud analytics | |
CN105373448B (en) | The restoration methods and system of fault data in database | |
van Baar et al. | Digital forensics as a service: A game changer | |
US9436724B2 (en) | Migrating data in tables in a database | |
US20160300065A1 (en) | Program Vulnerability Identification | |
US9658848B2 (en) | Stored procedure development and deployment | |
US10033796B2 (en) | SAAS network-based backup system | |
EP3336726B1 (en) | Systems and methods for facilitating data transformation | |
US10915510B2 (en) | Method and apparatus of collecting and reporting database application incompatibilities | |
US20170124073A1 (en) | Code migration tool using distributed file system directories | |
CN108108478B (en) | Data format conversion method and system and electronic equipment | |
CN107203642A (en) | A kind of method of data synchronization and device | |
US20180295145A1 (en) | Multicomputer Digital Data Processing to Provide Information Security Control | |
CN112000816B (en) | Data processing method and device | |
CN109271431B (en) | Data extraction method, device, computer equipment and storage medium | |
CN112241332A (en) | Interface compensation method and device | |
US9606892B2 (en) | Workfile monitor | |
CN105765908B (en) | A kind of multi-site automatic update method, client and system | |
US11953995B1 (en) | Centralized data backup platform supporting multiple data environments | |
US12287710B1 (en) | Bootstrapping techniques for performing cross region disaster recovery | |
US20240394700A1 (en) | Modifying control scopes of controls across a plurality of data processes via data objects | |
US11614993B1 (en) | System and method for restoring deleted objects and their assignments to other objects based on any deletion of the other objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BANK OF AMERICA CORPORATION, NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FLOYD, RODNEY SHANNON;RAMBO, RON G.;CERNIGLIA, NANCY M.;SIGNING DATES FROM 20160108 TO 20160112;REEL/FRAME:037468/0176 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |