System and method for service synchronization

By enabling efficient data file synchronization between different cloud-based services and databases, the problem of low operational efficiency in retail stores is solved, faster synchronization and lower costs are achieved, and multi-cloud environments and disaster recovery is supported.

CN119317909AInactive Publication Date: 2025-01-14WALMART APOLLO LLC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202380039744.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-05-09
Filing Date
2023-05-05
Publication Date
2025-01-14
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The lack of efficient synchronization methods when using different cloud-based services and databases in retail stores leads to low operational efficiency and inconsistent data, resulting in stores operating in a non-optimal manner.

Method used

By synchronizing data files between different cloud-based services and databases, using control circuits to identify file differences and synchronize, reducing data replication, supporting multi-cloud policies and attribute storage, providing low-cost commercial disaster recovery solutions.

Benefits of technology

Significantly improves synchronization timeliness, saves 70% of time and 90% of data processing costs, provides improved user experience and flexible migration solutions, supports multi-cloud environments and low-cost disaster recovery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119317909A_ABST
    Figure CN119317909A_ABST
Patent Text Reader

Abstract

The approach described herein may provide for synchronization of data files between different databases used by different services and platforms. These services may be cloud-based services and include databases containing various types of data.
Need to check novelty before this filing date? Find Prior Art

Description

Related Applications

[0001] This application claims priority to U.S. Application No. 17 / 739,665, filed on May 9, 2022, the entire contents of which are incorporated herein by reference. Technical Field

[0002] The technical field relates to computer or processing services (eg, cloud-based services) and synchronizing the contents of databases used by these services. Background Art

[0003] Retail stores use different cloud-based services, such as Microsoft Azure, to process data and maintain databases. The contents of these databases can in turn be used by other applications for different purposes. In this regard, some services / databases are better than others for specific purposes. For example, one type of service / database can be used directly or indirectly to process sales data and use the data to reorder products. Other services / databases can be used to directly or indirectly control store operations, such as deciding where to place or move products within the store.

[0004] If the databases are not synchronized, this can cause problems in the operation of the retail store, and applications using these databases may provide wrong or incorrect solutions. As a result, the store will operate in an inefficient and suboptimal manner. The current method relies on copying large files between databases to achieve synchronization. Therefore, the current synchronization method is slow and inefficient. BRIEF DESCRIPTION OF THE DRAWINGS

[0005] The above needs are at least partially met by providing a method for service synchronization, wherein:

[0006] Figure 1 including schematic diagrams of systems configured according to various embodiments of the present teachings;

[0007] Figure 2 including flow charts configured according to various embodiments of the present teachings;

[0008] Figure 3 including schematic diagrams of systems configured according to various embodiments of the present teachings;

[0009] Figure 4 including schematic diagrams of systems configured according to various embodiments of the present teachings;

[0010] Figure 5 including schematic diagrams of systems configured according to various embodiments of the present teachings;

[0011] Figure 6 Included are schematic diagrams of systems configured according to various embodiments of the present teachings.

[0012] The elements in the figure are drawn for simplicity and clarity, and are not necessarily drawn to scale. For example, the size and / or relative position of some elements in the figure may be exaggerated relative to other elements to help enhance the understanding of various embodiments of the present invention. In addition, in order to facilitate a clearer view of various embodiments of the present invention, elements that are useful or necessary but common and easy to understand in commercially feasible embodiments are usually not drawn. Certain actions and / or steps may be described or drawn in a specific order of occurrence, but those skilled in the art will understand that such specificity about the order is not actually necessary. Unless otherwise specified herein, the terms and expressions used herein have the common technical meanings given to these terms and expressions by those skilled in the art. DETAILED DESCRIPTION

[0013] The method described herein provides synchronization of data files between different databases used by different services and platforms. These services can be cloud-based services and include databases containing files of various types of data stored in various formats.

[0014] This solution supports data transfers between multiple proprietary data stores. This solution can be extended to include file system / object store based data stores. Many data access systems (e.g., Dataproc and Big Query) can take advantage of these transfers. This solution works well across a variety of systems, file formats, or other situations (e.g., when the source file does not have an audit column).

[0015] In many cases, businesses and individuals use multiple cloud services. Different services or platforms are used because some cloud services are more efficient, better, and / or more effective at performing or providing different types of services. For example, the Microsoft Azure data brick platform provides a Delta Lake type of service, while Google Big Query provides a data warehouse type of service. This solution allows the synchronization of files used by these different services without the need for large-scale file exchanges, such as copying every file in one service or platform to another. "Synchronization" here means that the content in different databases is the same.

[0016] Advantageously, this solution provides an improved user experience by providing better timeliness (e.g., saving up to 75% of time) and allowing more refreshes. This solution also significantly reduces the cost of using cloud services by minimizing the amount of data processed in the two clouds (e.g., saving 90%). This solution further supports multi-cloud strategies and makes migration easy. This solution also supports data transfer between multi-cloud attribute stores (such as Hive, Presto, Athena, etc.). In addition, these solutions also provide low-cost commercial community disaster recovery solutions (dual cloud strategies reduce the need for separate disaster recovery solutions).

[0017] In many of these embodiments, the system includes a first database, a second database, and a control circuit. The first set of files is stored in the first database. The second set of files is stored in the second database.

[0018] The first set of files and the second set of files are initially identical. The control circuit is coupled to the first database and the second database. Subsequently, the first set of files is modified and a first list describing the files in the first database and a second list describing the files in the second database are created.

[0019] The control circuit is configured to determine differences between a first list of files in the first database and a second list of files in the second database after a change occurs to a file in the first database. Based on the differences, the control circuit is configured to obtain a list of files that are no longer used in the first database, a list of newly added files in the first database, and a list of unchanged files in the first database. The control circuit is further configured to remove files from the second database based on the list of files that are no longer used in the first database. The control circuit is configured to add files to the second database based on the list of newly added files in the first database.

[0020] In some aspects, the first set of files and the second set of files are used to train a neural network. For example, the neural network can be used to determine various store operations. During a training phase, the files are applied to the neural network to train the neural network. During the training phase, changes may occur to the neural network, for example, various weights used by the neural network may change. Once the files (or data in the files) are applied to train the neural network, the retail store can use them for other purposes, such as performing store operations, ordering products, and / or controlling delivery vehicles, to name a few examples.

[0021] In other aspects, the first set of files and the second set of files are used to control store operations. For example, the files may include information for defining a floor plan or displaying products.

[0022] In other examples, the first set of files and the second set of files are used to control a delivery vehicle. For example, the contents of the files can be analyzed and a determination can be made as to whether a store using the files needs to reorder a product. The analysis is used to control the delivery vehicle and deliver the required product to a specific store.

[0023] In some other examples, the control circuitry periodically checks for changes. For example, the control circuitry checks for changes once an hour or a day. Other examples are also possible.

[0024] In some examples, the first set of files and the second set of files include sales data. The sales data can be used for various purposes, such as reordering products.

[0025] In some other examples, the first database and the second database are resynchronized after files are removed from and added to the second database.

[0026] In other examples, the first database and the second database have different configurations, such as storage format, hardware, operating speed, or file format, to name a few examples.

[0027] In other aspects, the first set of files and the second set of files include tables. In an example, these tables can store sales information in various formats.

[0028] In other cases of these embodiments, the first set of files is stored in a first database associated with the first service. The second set of files is stored in a second database associated with the second service. Initially, the first set of files and the second set of files are identical. Subsequently, the first set of files is changed, and a first file list in the first database and a second file list in the second database are created.

[0029] After a file in the first database is changed, the control circuit determines the differences between the first file list in the first database and the second file list in the second database, and based on the differences, obtains a list of files no longer used in the first database, a list of files newly added to the first database, and a list of files that have not been changed in the first database.

[0030] The control circuit removes files from the second database based on the list of files no longer used in the first database. At the same time, the control circuit also adds files to the second database based on the list of files newly added to the first database.

[0031] Reference Figure 1, describes an example of a system 100 for file management and synchronization between databases. The system 100 includes a first database 102, a second database 104, and a control circuit 106. In the example, these are deployed in a retail store 108. A first set of files 110 is stored in the first database 102. A second set of files 112 is stored in the second database 104.

[0032] The first database 102 may be used by a first cloud-based service or platform 101, and the second database 104 may be used by a second cloud-based service or platform 103. For example, the first service may be Microsoft Azure and the second service may be Google Big Query service. As used herein, a service refers to any platform (e.g., a cloud-based platform) that performs processing functions including database management. A service may include servers and network hardware that execute applications.

[0033] The first set of files 110 and the second set of files 112 are initially identical. The control circuit 106 is deployed on the second service 103 and is connected to the first database 102 and the second database 104. Subsequently, the first set of files is changed, and a first list describing files in the first database 102 and a second list describing files in the second database 104 are obtained or created. Although the control circuit 106 is shown as being deployed on the second service 103, it is understood that the control circuit 106 (and its functionality) can be deployed on the first service 101, on both the first service 101 and the second service 103, or outside the first service 101 and the second service 103 (i.e., not on either of them, such as deployed in a central location such as a headquarters).

[0034] It should be understood that as used herein, the term "control circuit" broadly refers to any microcontroller, computer, or processor-based device having a processor, memory, and programmable input / output peripherals, which is generally designed to control the operation of other components and devices. It also includes common supporting accessory devices, including memory, transceivers for communicating with other components and devices, etc. These architectural options are well known and well understood in the art and therefore do not need to be further described here.

[0035] The control circuit 106 is configured to determine differences between the first list of files in the first database 102 and the second list of files in the second database 104 after the files in the first database are changed. Based on the differences, the control circuit 106 is configured to obtain a list of files that are no longer used in the first database 102, a list of files that are newly added to the first database 102, and a list of files that are unchanged in the first database 102. The control circuit 106 is further configured to remove files from the second database 104 based on the list of files that are no longer used in the first database 102. The control circuit 160 is also configured to add files to the second database 104 based on the list of files that are newly added to the first database 102.

[0036] Differences may be determined by comparing the files (or lists of files) in the first database 102 with the lists of files in the second database 104. The control circuitry creates these lists based on the identified differences.

[0037] In some aspects, the first set of files 110 and the second set of files 112 are used to train the neural network. The training can be performed by the control circuit 106 or other processing device. For example, the neural network can be used to determine or control various store operations. In some aspects, the files in the first database 102 or the second database 104 are applied to the neural network to train the neural network. During the training process, the structure and / or content of the neural network may change, for example, the various weights used in the neural network may change. Once the neural network is trained through the application of the files, the store can use the neural network for other purposes, such as performing store operations. Store operations can include physical operations of the store (e.g., turning lights on and off, opening and closing doors), instructing store employees or automated vehicles to move merchandise in the store, or installing merchandise according to a floor plan.

[0038] In some other examples, the first set of files 110 and the second set of files 112 are processed by an application (e.g., executed on the control circuit 106 or by another processing device) and used to control a delivery vehicle. For example, the contents of the files may be analyzed to determine whether a store needs to reorder merchandise. The analysis is used to control the movement and operation of the delivery vehicle and deliver the required merchandise to a specific store.

[0039] In some other examples, the control circuit 106 periodically checks for changes to files in the first service or platform 101. For example, the control circuit 106 may check once an hour or once a day for changes. Other examples may also exist. Although described herein as checking for changes in the first service 101, these methods may also be applied to detecting changes to the second database 104 in the second service 103, and the same methods may be used to adjust files in the first database 102 in the first service 101.

[0040] In other aspects, the first set of files 110 and the second set of files 112 contain sales data. The sales data can be used for various purposes, such as reordering merchandise. The reordered merchandise is delivered by a transport vehicle, unloaded at a retail store, and used to replenish the shelves of the retail store.

[0041] In some other examples, after removing files from the second database 104 and adding files to the second database 104 , the first database 102 and the second database 104 are resynchronized.

[0042] In other examples, the first service 101 and its components (e.g., the first database 102) and the second service 103 and its components (e.g., the second database 104) have different hardware and / or software configurations. For example, the storage format, database type, computer instruction language, instruction format, hardware, operating speed, or file format may be different, to name a few examples.

[0043] In other aspects, the first set of files 110 and the second set of files 112 include tables. In examples, the tables can store sales information in various formats. Other file format examples are also possible.

[0044] Reference now Figure 2 , describes a method for maintaining synchronized files between databases of different services or platforms. In step 202, a first set of files is stored in a first database of a first service or platform. In step 204, a second set of files is stored in a second database of a second service or platform. Initially, the first set of files and the second set of files are identical.

[0045] In step 206, a first set of files is maintained in a first service or platform.

[0046] In step 208, a first file list in a first database of a first service or platform is created and / or maintained, and a second file list in a second database is created and / or maintained.

[0047] After the files in the first database of the first service or platform are changed, in step 210 , the difference between the first file list of the first database and the second file list of the second database is determined.

[0048] Based on these differences, in step 212, a list of files no longer in use in the first database is determined or obtained; a list of files newly added to the first database is determined or obtained; and a list of files that have not been changed in the first database is determined or obtained.

[0049] In step 214, based on the list of files no longer used by the first database of the first service or platform, the files are removed from the second database of the second service or platform.

[0050] In step 216, based on the list of files newly added to the first database, files are added to a second database of a second service or platform.

[0051] Reference now Figure 3 , describes an example of a system 300 for obtaining data synchronization between different services or platforms. The system 300 includes a first service or platform 302 (having a first processing function 304 and a first database 306). In the example, the first service platform or system 302 is an Azure service. The first processing function 304 can be implemented by a control circuit and execute an Azure function.

[0052] In the example, the first database 306 is a Blob storage (used by the Microsoft Azure service or platform) and is optimized for storing large amounts of unstructured data. In some examples, the first database 306 contains unstructured data, such as text or binary data. Blob storage can provide images or documents directly to browsers in other applications and store data for analysis by local or Azure-hosted services. Other examples and other functions may also exist.

[0053] The system 300 also includes a second service or platform 308, which in this example implements a Google Cloud Platform (GCP) service. The second service or platform 308 includes a second processing function 310, a second database 312, a third database 314, and a third processing function 316.

[0054] As previously described, the second service or platform 308 implements the GCP service. The second processing function 310 may be implemented by a control circuit and executes a Google GCP function.

[0055] The second database 312 stores data files (eg, external data files) that can be accessed and used by clients. The third database 314 contains files that only the second processing function 310 can access.

[0056] The third processing function 316 performs file identification, copying, deletion and synchronization functions as described herein. It identifies new data and modified data, accesses the first database 306 to obtain data, and synchronizes data between the first service or platform 302 and the second platform 308. The third processing function 316 can be implemented by a control circuit.

[0057] exist Figure 3In one example of the operation of the illustrated system, a first set of files is stored in a first database 306 of a first service or platform 302. These files are in a first table or list (the first table may be a delta table showing file changes). A second set of files is stored in a second database and / or a third database of a second service or platform 308. These files are listed in a second table or list of all files in the second database or the third database of the second platform 308. Initially, the first set of files and the second set of files are identical. Subsequently, changes are made to the first set of files, and the delta table is updated to show these changes.

[0058] After the files in the first database of the first service or platform 302 are changed, the third processing function 316 determines the difference between the first file list in the first database of the first service or platform 302 and the second file list in the second database or the third database of the second service or platform 308. The differences are found by comparing the first list and the second list. Based on these differences, a list of files that are no longer used in the first database is obtained; a list of files that are newly added to the first database is obtained; and a list of files that have not been changed in the first database is obtained. These functions can all be performed by the third processing function 316.

[0059] Based on the list of files that are no longer used in the first database of the first service or platform 302, files from the second database and / or the third database of the second service or platform 308 are removed from these databases of the second service or platform 308. Based on the list of files that are newly added to the first database of the first service or platform 302, files are added to the second database or the third database of the second service or platform 308. These functions may be performed by one or more of the first processing function 304, the second processing function 310, and the third processing function 316.

[0060] Reference now Figure 4 , describing an example of synchronization. In this example, data is synchronized between a first platform or service (e.g., an Azure service) and a second service or platform (e.g., a Google GCP service). The first service or platform and the second service or platform each have one or more databases for storing data. The data contained in these databases needs to be consistent between the first service or platform and the second service or platform. In some aspects, the first platform or service and the second platform or service have different configurations as described in other parts of this article.

[0061] As described below, a first database and a second database initially have the same file group (e.g., F1, F2, and F3). Later, the files in the first database are changed to different file groups (e.g., F1, F5, and F6). A first table (or other list) (L1) is created and maintained in a first service or platform that displays the files of the first service or platform or identifies changes made to the files of the first service or platform (e.g., showing that files F2 and F3 have been dropped and files F5 and F6 have been added). A second table (or other list) (L2) of the second service or platform includes a list of all files in the database of the second service or platform.

[0062] In step 402, a first file list (L1) of a first service or platform is created (displaying files F1, F5 and F6 of the first service or platform).

[0063] In step 404, a second file list (L2) of the second service or platform is created (displaying files F1, F2, and F3 of the second service or platform).

[0064] In step 406, differences are identified between a first file list L1 (L1 = F1, F5, and F6) of a first service or platform and a second file list L2 (L2 = F1, F2, and F3) of a second service or platform. More specifically, these differences are recorded in several lists: a first list (408) of files (F2, F3) that are no longer present or used; a second list (410) of newly added files (F5, F6); and a third list (412) of unchanged files (F1).

[0065] In step 414, the newly added data file in the first service or platform is obtained and added to a temporary storage or memory 416 (eg, in the second service or platform).

[0066] In step 418, the files from the first list are removed from the database of the second service or platform. The new files from the second list are added from the temporary storage 416 to the database of the second service or platform.

[0067] In step 420, the second list (L2) is updated to reflect the updated content (F1, F5 and F6).

[0068] Thus, files that are no longer needed are removed from the second service or platform, and newly added files are added to the second service or platform. This approach selectively adds or removes files from the database of the second service or platform without having to transfer all files from the database of the first service or platform to the database of the second service or platform. The files in the database of the first service or platform and the database of the second service or platform can be used to perform various actions, including training neural networks, performing store operations, controlling the operation of delivery vehicles, or ordering products. There may also be other examples of operations.

[0069] Reference now Figure 5 , describes an example of a system 500 that utilizes these schemes. System 500 includes a first platform or service 502 and a second platform or service 504. The first platform or service 502 and the second platform or service 504 provide, process, manage, and / or store data for a data science system 506, a data analysis system 508, a reporting system 510, and a business use case system 512. Transaction systems 514, 516, and 518 send data to the first platform 502. Transaction systems 520, 522, and 524 send data to the second platform 504.

[0070] The first platform or service 502 may be a Microsoft Azure system. The second platform or service 504 may be a Google Cloud system. The first platform or service 502 and the second platform or service 504 may include servers, control circuits, electronic memory storage devices, and related software for providing or supplying data to the systems 506, 508, 510, and 512; processing data for use by the systems 506, 508, 510, and 512; managing data used by the systems 506, 508, 510, and 512; and / or storing data for the systems 506, 508, 510, and 512. It should be understood that the systems 506, 508, 510, and 512 may be implemented at least in part using control circuits or other processing devices that execute computer instructions.

[0071] The data science system 506 may include a prediction system. In some aspects, these may be machine learning systems or artificial intelligence (AI) systems. For example, a machine learning system may include a trained neural network. The training data or data set may be obtained from the data of the first platform or service 502 and the second platform or service 504. Since the data (e.g., data files) have been synchronized between the first platform or service 502 and the second platform or service 504, the neural network trained in this way will provide more accurate, effective, and efficient results than the results obtained from the unsynchronized data. Neural networks can be used to make various predictions, such as predictions of customer sales, predictions of future trends, predictions of future products required, etc., to name just a few examples. It should be understood that the training process will change or modify the neural network (e.g., by changing the weights and other physical parameters of the neural network).

[0072] The data analysis system 508 can identify trends in the data and take actions based on these trends. For example, the data analysis system 508 can identify whether the demand for a product is increasing or decreasing, and determine whether to order more of a particular product based on the identified trends.

[0073] The reporting system 510 generates reports. For example, the reporting system 510 can obtain sales data from the first platform or service 502 and the second platform or service 504 and generate reports. In some aspects, the reports can be provided to the user in a graphical or electronic form on a suitable device or display (such as a personal computer, laptop, smart phone, etc.).

[0074] The business use case system 512 can predict customer behavior. For example, the business use case system 512 can obtain data from the first platform or service 502 and the second platform or service 504 to predict the products that the customer is likely to buy. The business use case system 512 can include a user dashboard for displaying this information to store managers or other personnel.

[0075] In step 526, data is shared between the two platforms 502 and 504 so that each platform can use the same data according to the methods described herein. Figure 4 The method described.

[0076] Furthermore, the circuits, loops, systems, devices, processes, methods, techniques, functions, services, servers, sources, etc. described herein may be used, implemented and / or operated on many different types of devices or systems. Figure 6 An exemplary system 600 is shown that can be used to implement the above-mentioned Figures 1 to 5Any component, circuit, loop, system, function, device, process, or equipment of the described system, and / or other systems or equipment mentioned above or below, or parts of such circuits, loops, functions, systems, devices, processes, or equipment. For example, the system can be used to implement part or all of a control circuit, a neural network, a platform, one or more databases, and / or other such components, circuits, functions, and / or equipment. However, use of system 600 or any part thereof is certainly not required.

[0077] As an example, the system 600 may include a processor module 612, a memory 614, and one or more communication links, paths, buses, etc. 618. Some embodiments may include one or more user interfaces 616, and / or one or more internal and / or external power or supply devices 640. The processor module 612 may be implemented by one or more processors, microprocessors, central processing units, logic circuits, local digital storage, firmware, software, and / or other control hardware and / or software, and may be used to perform or assist in performing the steps of the processes, methods, functions, and techniques described herein, as well as to control various communications, decisions, programs, content, lists, services, interfaces, logging, reporting, etc. In addition, in some embodiments, the processor module 612 may be part of a control circuit and / or control system 610, which may be implemented by one or more processors having access to one or more memories 614, which may store commands, instructions, codes, etc. executed by the processor module to perform the intended functions. In some applications, the processor modules and / or memories may be distributed over a communication network (e.g., a local area network, a wide area network, the Internet) to provide distributed and / or redundant processing and functions. Again, the system 600 may be used to implement one or more of the components, circuits, systems, processes, etc. described above or below, or portions thereof.

[0078] The user interface 616 allows a user to interact with the system 600 and receive information through the system. In some cases, the user interface 616 includes a display 622 and / or one or more user input devices 624, such as buttons, a touch screen, a trackball, a keyboard, a mouse, etc., which can be part of the system 600 or connected to the system 600 by wire or wireless. Typically, the system 600 also includes one or more communication interfaces, ports, transceivers 620, etc., allowing the system 600 to communicate with other devices and / or other such communications through a communication bus, a distributed computer and / or a communication network (e.g., a local area network (LAN), the Internet, a wide area network (WAN), etc.), a communication link 618, other networks or communication channels, or a combination of two or more such communication methods. In addition, the transceiver 620 can be configured as a wired, wireless, optical fiber, fiber optic cable, satellite or other such communication configuration, or a combination of two or more such communications. Some embodiments include one or more input / output (I / O) ports 634, allowing one or more devices to be connected to the system 600. The I / O port can be substantially any relevant port or combination of ports, such as, but not limited to, USB, Ethernet, or other such ports. The I / O interface 634 can be configured to allow wired and / or wireless communication connections with external components. For example, the I / O interface can provide wired and / or wireless communications (e.g., Wi-Fi, Bluetooth, cellular, radio frequency, and / or other such wireless communications), and in some cases can include any known wired and / or wireless interface devices, circuits, and / or connection devices, such as, but not limited to, one or more transmitters, receivers, transceivers, or a combination of two or more of these devices.

[0079] In some embodiments, the system may include one or more sensors 626 to provide information to the system and / or transmit sensor information to another component, such as a central control system, a delivery vehicle, etc. The sensor may include substantially any relevant sensor, such as a distance measurement sensor (e.g., an optical unit, a sound / ultrasonic unit, etc.), an optically based scanning sensor to sense and read an optical pattern (e.g., a barcode), a radio frequency identification (RFID) tag reader sensor capable of reading an RFID tag in proximity to the sensor, an imaging system and / or a camera, other such sensors, or a combination of two or more such sensor systems. The above examples are intended to be illustrative and are not intended to convey an exhaustive list of all possible sensors. Instead, it will be understood that these teachings can be adapted to any sensing in a variety of situations in a given application environment.

[0080] System 600 includes an example of a control and / or processor-based system having a processor module 612. Likewise, processor module 612 may be implemented by one or more processors, controllers, central processing units, logic, software, etc. Furthermore, in some implementations, processor module 612 may provide multi-processor functionality.

[0081] The memory 614 accessible by the processor module 612 generally includes one or more processor-readable and / or computer-readable media that are at least accessible by the processor module 612, and may include volatile and / or non-volatile media, such as random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory, and / or other memory technologies. In addition, the memory 614 is shown as an internal component of the control system 610; however, the memory 614 can be internal memory, external memory, or a combination of internal and external memory. Similarly, some or all of the memory 614 can be internal memory, external memory, or a combination of internal and external memory of the processor module 612. The external memory can be substantially any relevant memory, such as, but not limited to, a solid-state storage device or drive, a hard disk, one or more universal serial bus (USB) storage disks or drives, a flash secure digital (SD) card, other memory cards, and a combination of two or more of such memories, and some or all of the memory can be distributed in multiple locations through a computer network. The memory 614 may store code, software, executable files, scripts, data, content, lists, programming, programs, log or historical data, user information, customer information, product information, etc. Although Figure 6 The various components are shown coupled together via a bus, but it should be understood that the various components may actually be directly coupled to the control circuit and / or one or more other components.

[0082] Those skilled in the art will appreciate that various other modifications, changes and combinations may be made to the above-described embodiments without departing from the scope of the present invention, and these modifications, changes and combinations should be considered to be within the scope of the present invention.

Claims

1. A system, comprising: a first database storing a first set of files and used by a first service; a second database storing a second set of files and used by a second service; wherein the first set of files and the second set of files are initially identical; a control circuit disposed at the second service location and coupled to the first database and the second database; wherein subsequently, the first set of files is changed, and a first file list in the first database and a second file list in the second database are created; The control circuit is configured to, after a file in the first database is changed: determining differences between a first list of files in the first database and a second list of files in the second database; Based on the differences, obtaining a list of files no longer used in the first database, a list of files newly added to the first database, and a list of files unchanged in the first database; removing files from the second database based on the list of files in the first database that are no longer in use; Files are added to the second database based on the list of newly added files in the first database.

2. The system according to claim 1, wherein: The first set of files and the second set of files are used to train a neural network.

3. The system according to claim 1, wherein: The first set of files and the second set of files are used to control store operations.

4. The system according to claim 1, wherein: The first set of files and the second set of files are used to control a delivery vehicle.

5. The system according to claim 1, wherein: The first set of documents and the second set of documents are used to order products.

6. The system according to claim 1, wherein: The control circuit periodically checks for changes.

7. The system according to claim 1, wherein: The first set of files and the second set of files include sales data.

8. The system according to claim 1, wherein: After removing files from and adding files to the second database, the first database and the second database are resynchronized.

9. The system according to claim 1, wherein: The first database and the second database have different configurations.

10. The system according to claim 1, wherein: The first set of files and the second set of files include tables.

11. A method comprising: storing a first set of files in a first database, the first database being used by a first service; storing a second set of files in a second database, the second database being used by a second service; wherein the first set of files and the second set of files are initially identical; Subsequently, the first group of files is changed, and a first file list in the first database and a second file list in the second database are created; By setting a control circuit at the second service, and after the file in the first database is changed: determining differences between a first list of files in the first database and a second list of files in the second database; Based on the differences, obtaining a list of files no longer used in the first database, a list of files newly added to the first database, and a list of files unchanged in the first database; removing files from the second database based on the list of files in the first database that are no longer in use; Files are added to the second database based on the list of newly added files in the first database.

12. The method of claim 11, further comprising training a neural network using the first set of files and the second set of files.

13. The method of claim 11, further comprising controlling store operations using the first set of files and the second set of files.

14. The method of claim 11, further comprising controlling a delivery vehicle using the first set of documents and the second set of documents.

15. The method of claim 11, further comprising ordering a product using the first set of documents and the second set of documents.

16. The method of claim 11, further comprising periodically checking for changes.

17. The method according to claim 11, wherein: The first set of files and the second set of files include sales data.

18. The method according to claim 11, wherein: After removing files from and adding files to the second database, the first database and the second database are resynchronized.

19. The method according to claim 11, wherein: The first database and the second database have different configurations.

20. The method according to claim 11, wherein: The first set of files and the second set of files include tables.

Citation Information

Patent Citations

  • Remote resource synchronization method and system for three-layer architecture

    CN106131123A

  • Cloud-local file synchronization implementing method and system

    CN107332918A

  • Heterogeneous data synchronous processing method and system

    CN111984715A

  • Data synchronization method and device

    CN112307037A

  • Systems and methods for controlling rights related to digital knowledge

    US20210342836A1