Data storage device and computer-readable storage medium
The data storage device synchronizes data from NoSQL and relational databases by using an extraction unit to create association and target tables, addressing the challenge of different update timings and enabling efficient data integration for factory management tasks.
Patent Information
- Application Number
- PCT/JP2023/033594
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-14
- Publication Date
- 2026-03-05
AI Technical Summary
Existing database management systems face challenges in associating and storing data from NoSQL databases with relational databases due to different update timings, which is particularly problematic in factory data collection environments where data from factory equipment, higher-level networks, and control systems need to be integrated efficiently.
A data storage device comprising a NoSQL primary database, a relational secondary database, and an extraction unit that creates association and target tables using SQL statements to synchronize and combine data from both databases, allowing for efficient data integration and management across different systems.
Enables the association and storage of data from different systems at varying times, facilitating production management, quality control, and work scheduling by creating synchronized tables that integrate data from factory equipment, higher-level networks, and control systems.
Smart Images

Figure JP2023033594_05032026_PF_FP_ABST
Abstract
Description
Data storage device and computer-readable storage medium
[0001] The present disclosure relates to data storage devices and computer-readable storage media.
[0002] Existing databases can be primarily classified as relational databases (RDBs) and non-relational databases (NoSQL). RDBs allow for advanced searches, but tend to require high CPU costs and memory consumption to maintain consistency between tables. Some NoSQL databases, such as key-value store databases, have simple structures and are suitable for adding large amounts of data. However, due to the simple data structure of key-value stores, they can be unsuitable for advanced searches.
[0003] [Correction based on Rule 91 30.10.2025] Conventionally, there is a technology that has a NoSQL database and a relational database on a server and converts SQL data into relational database data.
[0004] By storing data in a NoSQL database, it is possible to hold a large amount of data, and the data can be stored in a relational database at any time.
[0005] JP 2012-178455 A
[0006] Some database management systems manage data using two types of databases: NoSQL and relational databases. The timing of updates for NoSQL data and relational database data is different. It is difficult to associate and store the data in the SQL database, which is updated at different times, with the data in the relational database.
[0007] In data collection in factories, it is desirable to store data collected by NoSQL in association with data in a relational database.
[0008] The data storage device comprises a NoSQL type primary database that quickly saves data acquired from factory equipment, a secondary database that saves some of the data in the primary database and data acquired from a higher-level network of the factory in table format, and an extraction unit that creates an association table using data acquired from at least one of the primary database, the secondary database, or the higher-level network of the factory, and uses the association table to create a target data table that combines data acquired from at least two of the primary database, the secondary database, and the higher-level network, and saves the target data table in the secondary database, causing the second database to execute processing.
[0009] FIG. 1 is a block diagram of a data storage device. FIG. 2 is a flowchart explaining the operation of the data storage device. FIG. 3 is a diagram showing an example of data stored in a primary database. FIG. 4 is a diagram showing an example of a start time table. FIG. 5 is a diagram showing an example of data stored in the primary database. FIG. 6 is a diagram showing an example of a production time table. FIG. 7 is a flowchart explaining the operation of the data storage device in Example 1. FIG. 8 is a diagram showing an example of data stored in the primary database. FIG. 9 is a diagram showing an example of a production quantity table. FIG. 10 is a flowchart explaining the operation of the data storage device in Example 2. FIG. 11 is a diagram showing an example of a judgment table. FIG. 12 is a diagram showing an example of an NC program table. FIG. 13 is a diagram showing an example of an alarm table. FIG. 14 is a diagram showing an example of data stored in the primary database. FIG. 15 is a flowchart explaining the operation of the data storage device in Example 3. FIG. 16 is a hardware configuration diagram of a data storage device.
[0010] The following describes the data storage device 100. Fig. 1 is a block diagram of the data storage device 100. The data storage device 100 includes a primary database 11, a secondary database 12, an extraction unit 13, and a procedure storage unit 14.
[0011] The primary database 11 receives and stores data from factory equipment. The primary database 11 stores field data and the like. Field data refers to data collected through a factory's field network. Field data is received from devices such as sensors, servo motors, remote I / O, inverters, numerical control devices, and PLCs (Programmable Logic Controllers).
[0012] The primary database 11 is a NoSQL database that stores device data. NoSQL types include key-value, column-oriented, document-oriented, and graph-oriented. The type of NoSQL database is not particularly limited. In this embodiment, an example will be described in which the JSON format, which is one of the key-value formats, is adopted.
[0013] The secondary database 12 is a relational database. The secondary database 12 can also be operated from external systems built on a higher-level network and devices built on a control network, such as a numerical control device or PLC. The data storage device 100 disclosed herein can be implemented in an information processing device on a control network that connects a higher-level network, such as a numerical control device or PLC, with a field network. A system that uses IT to manage manufacturing in a factory is called an MES (Manufacturing Execution System). The MES uses data from the secondary database 12 to perform production management, quality control, work scheduling, and the like. The secondary database 12 has a function for manipulating data. In this embodiment, SQL is used as an example of the function for manipulating data. An API may also be used as the function for manipulating data.
[0014] The extraction unit 13 extracts data stored in the primary database 11 and outputs it to the secondary database 12. The extraction unit 13 includes a procedure storage unit 14. The extraction unit 13 stores a procedure for extracting data from the primary database 11 and outputting it to the secondary database 12. An association table and a target table are defined in the procedure storage unit 14. The target table stores data suitable for use. The data stored in the target table is used for production management, quality control, scheduling, etc. The association table associates the primary database 11 with the secondary database 12. The association table stores data with a time lag, setting data of a higher-level system, dates, identification information, etc. The extraction unit 13 creates a target table by combining the data stored in the association table with the data extracted from the primary database 11. Note that the association table and the target table may be the same table.
[0015] SQL statements are used to create the association table and the target table. The procedure storage unit 14 stores the SQL statements for creating the association table and the target table. The extraction unit 13 outputs the data and SQL statements acquired from the primary database 11 to the secondary database 12. The secondary database 12 performs table creation, deletion, modification, and merging, as well as data search, acquisition, registration, update, and deletion, in accordance with the SQL statements.
[0016] The operation of the data storage device 100 will be described with reference to Figure 2. The flowchart in Figure 2 shows the operations of the secondary database 12 (secondary DB), the primary database 11 (primary DB), and the extraction unit 13. The primary database 11 receives data from the factory equipment (step S1) and stores it in the primary database 11 (step S2). The extraction unit 13 outputs an SQL statement for updating the association table to the secondary database 12 in accordance with the procedure defined in the procedure storage unit 14 (step S3).
[0017] When the secondary database 12 receives the SQL statement (Step S4; Yes), it updates the association table using the data from the primary database 11 (Step S5). Note that when updating the association table, data managed by the host system is used as needed. The data received from the host system includes the "date" and "target production number" of the production number table in Example 2, which will be described later, and the "alarm record" of the judgment table in Example 3.
[0018] The extraction unit 13 reads the data from the primary database 11 and outputs an SQL statement for updating the target table to the secondary database 12 (step S6).
[0019] When the secondary database 12 receives the SQL statement (Step S7; Yes), it combines the data in the primary database 11 with the data in the association table and updates the target table (Step S8). Note that Step S8 may use data received from a higher-level system as necessary.
[0020] As described above, when the data storage device 100 extracts data from the primary database 11 and stores the data in the secondary database 12, it retrieves the data stored in the association table, associates it with the data extracted from the primary database 11, and updates the target table. According to the data storage device 100 of this embodiment, an association table is prepared in advance, and data stored in the primary database 11 at different times is collectively stored in the target table. This allows data stored in the primary database 11 at different times to be associated and stored in the secondary database 12. Data from a higher-level system can also be registered in the association table. By registering data from a higher-level system in the association table, the data from the primary database 11 can be combined with data from the higher-level system. The combined data can be used for production management, quality control, and work scheduling.
[0021] (Example 1) The target table in Example 1 is a production time table. The production time table stores the "start time" of processing, the "end time" of processing, the "production time" of the work, and the work's identification information "work ID." The association table in Example 1 is a start time table. The "start time" of processing and the work's identification information "work ID" are stored.
[0022] The start time table, the production time table, and the timing for updating these tables are defined in the procedure storage unit 14. The "work ID" is a key that associates the start time table with the production time table.
[0023] The start time table is updated when the device status changes from "stopped" to "running." The production time table is updated when the "M code" changes to "M02."
[0024] 3 and 5 show JSON format data stored in the primary database. In this embodiment, a database that stores JSON format data is used as an example of NoSQL. JSON is a data description language. JSON format data is accumulated in the primary database 11 as needed. In the example of FIG. 3, the items "timestamp," "status (device status)," "act_m_code (M code)," and "work_id (work ID)" are accumulated.
[0025] The extraction unit 13 monitors the “device status” and updates the start time table when the “device status” changes from “stopped” to “running.” In the example of Fig. 3, the values in the primary database 11 when the “device status” changes from “stopped” to “running” are “timestamp: 2023 / 06 / 01 13:05:25,” “status (device status): running,” “act_m_code (M code): null,” and “work_id (work ID): A00002.”
[0026] When the extraction unit 13 detects a change in the "equipment status" (from "stopped" to "running"), it reads out the "work ID" and "timestamp" from the primary database 11. The extraction unit 13 outputs an SQL statement to the secondary database 12 that adds the "work ID" and "current time" to the start time table. The secondary database 12 updates the start time table in accordance with the SQL statement.
[0027] 4 is an example of a start time table. The start time table includes the items "Work ID" and "Start Time." The "Start Time" is the "Timestamp" when the "Device Status" changes. The start time table is updated every time the "Device Status" changes.
[0028] At the same time, the extraction unit 13 monitors the "M code" in the primary database 11, and updates the production time table when it changes to "M02". Specifically, the extraction unit 13 reads the "work ID" and "timestamp" from the primary database 11, and outputs an SQL statement for updating the production time table to the secondary database 12. In the example of FIG. 5, when the "M code" changes to "M02", the values in the primary database 11 are "timestamp (timestamp): 2023 / 06 / 01 13:30:12", "status (equipment status): stop", "act_m_code (M code): M02", and "work_id (work ID): A00002".
[0029] The extraction unit 13 searches the start time table from the secondary database 12 using the "workpiece ID" as a key, and reads out the "start time" of machining of the workpiece. The extraction unit 13 calculates the "production time" which is the difference between the "start time" and "completion time" of machining, using the "timestamp" when the "M code" changed to "M02" as the "completion time" of machining, creates an SQL statement to add these, and outputs it to the secondary database 12. The secondary database 12 adds the "workpiece ID," "start time," "completion time," and "production time" to the production time table.
[0030] Fig. 6 is an example of a production time table. The production time table includes the following items: "Work ID," "Start Time," "Completion Time," and "Production Time." The production time table functions as a target table. The production time table is updated each time the processing of a workpiece is completed.
[0031] The operation of the data storage device 100 in the first embodiment will be described with reference to Fig. 7. The flowchart in Fig. 7 shows the operation of the secondary database 12 (secondary DB), the primary database 11 (primary DB), and the extraction unit 13.
[0032] The primary database 11 receives data from factory devices such as sensors, remote IOs, inverters, numerical control devices, and PLCs (step S11), and stores the received data (step S12).
[0033] The extraction unit 13 monitors the "equipment status" of the primary database 11 (step S13). When the "equipment status" changes from "stopped" to "running" (step S14; Yes), the extraction unit 13 reads the "timestamp" and "work ID" from the primary database 11. If the "equipment status" remains "stopped" (step S14; No), the extraction unit 13 continues monitoring.
[0034] The extraction unit 13 outputs an SQL statement to the secondary database 12 to add the "timestamp" and "work ID" of when processing started to the start time table (step S15). When the secondary database 12 receives the "timestamp (start time of processing)" of when processing started (step S16; Yes), it updates the start time table (step S17). When the secondary database 12 does not receive the "timestamp (start time of processing)" of when processing started (step S16; No), it proceeds to step S22.
[0035] The extraction unit 13 monitors the "M code" data in the primary database 11 (step S18). When the "M code" data changes to "M02" (step S19; Yes), the extraction unit 13 reads the "timestamp" and "workpiece ID" from the primary database 11 (step S20), calculates the "processing completion time" and "production time," creates an SQL statement to add these to the production time table, and outputs this to the secondary database 12 (step S21). When the "M code" data does not change (step S19; No), the extraction unit 13 proceeds to step S13 and continues monitoring the "equipment status" and "M code."
[0036] When the secondary database 12 receives the SQL statement (step S22; Yes), it updates the production time table (step S23).
[0037] As described above, the extraction unit 13 of the data storage device 100 uses the start time table as an association table and the production time table as a target table, and associates data received at different times by updating the start time table and the production time table at predetermined times. The timing for updating the start time table is defined in the procedure storage unit 14. The procedure storage unit 14 also defines the timing for updating the production time table. The procedure storage unit 14 also defines a key (work ID) that associates records in the start time table with records in the production time table. This makes it possible to associate data received from the primary database 11 at different times, or to calculate necessary data (e.g., "production time") using data received at different times (e.g., the "start time" stored in the start time table and the "completion time" newly received from the primary database 11).
[0038] (Example 2) In Example 2, the association table and the target table are the same table (production number table). That is, the production number table described later is both the association table and the target table. In Example 2, the keys that associate the association table and the production number table are "work ID" and "date."
[0039] The values in the production quantity table are set based on the settings in the MES. The operator operates the MES or the like to register the "target production quantity" of work for each day. The extraction unit 13 reads out the settings in the MES or the like. The secondary database 12 registers the "target production quantity" for each "work ID" and "date" in the production quantity table. The registered data is recorded in the black framed area in Figure 9. This becomes a list of the "target production quantity" for each day. At the stage when the "target production quantity" is registered, the "actual production quantity" and "difference" are blank.
[0040] When processing starts, data is accumulated in the primary database 11 in JSON format. Figure 8 shows data in JSON format. In the example of Figure 8, the items "timestamp", "work_id", and "product_amount (actual production quantity)" are defined. Data in JSON format is accumulated in the primary database 11 as needed. In Example 2, the latest data from the primary database 11 is extracted every predetermined time (10 minutes in this example). In the example of Figure 8, the latest data are "timestamp: 2023 / 06 / 02 13:04:55", "work_id: A00001", and "product_amount: 47". However, 10 minutes later, the latest values are "timestamp: 2023 / 06 / 02 13:14:55", "work_id: A00001", and "product_amount: 50".
[0041] After a predetermined time (10 minutes) has elapsed, the extraction unit 13 reads the "work ID" and "actual production number" from the primary database 11 and calculates the difference. Specifically, it reads the "target production number" of the corresponding "work ID" from the secondary database 12 and calculates the difference from the "actual production number" received from the primary database 11. In FIG. 9 , the "target production number" for "date: 2023 / 6 / 02" is "150". The value obtained by subtracting the "actual production number" from the "target production number" is "-50". The extraction unit 13 outputs an SQL statement to the secondary database 12 that updates the "actual production number" and "difference" in the production number table. The secondary database 12 executes the SQL to update the production number table.
[0042] As a result of the update, the data for "actual production quantity" and "difference" are added to the production quantity table (see FIG. 9).
[0043] The operation of the data storage device 100 in the second embodiment will be described with reference to Fig. 10. The flowchart in Fig. 10 shows the operations of the secondary database 12 (secondary DB), the primary database 11 (primary DB), and the extraction unit 13.
[0044] The secondary database 12 accepts registration of target production numbers (step S41). In the second embodiment, registration of target production numbers for each day of work is accepted. In the production number table in step S41, "date", "work ID", and "target production number" are added as shown in FIG.
[0045] The primary database 11 receives data from the factory equipment (step S42). The primary database 11 saves the received data in JSON format (step S43). The saved data includes a "timestamp," a "work ID," and a "production record number."
[0046] [Correction based on Rule 91 30.10.2025] The extraction unit 13 measures time (step S44). When the update interval (10 minutes) has elapsed (step S45; Yes), the extraction unit 13 reads the latest data for "actual production quantity" from the primary database 11 (step S46). If the update interval has not elapsed (step S45; No), the extraction unit 13 proceeds to step S44 and waits. The extraction unit 13 outputs an SQL statement to the secondary database 12 to update the "actual production quantity" and "difference" in the production quantity table (step S47).
[0047] The secondary database 12 receives the SQL statement for updating the "actual production quantity" and "difference" from the extraction unit 13 (step S48), and updates the "actual production quantity" and "difference" in the production quantity table (step S49).
[0048] As described above, the secondary database 12 of the data storage device 100 adds data extracted from the primary database 11 to the production quantity table, which serves as an association table, and updates the production quantity table, which serves as a target table. The production quantity table serves as both an association table and a target table. In the second embodiment, the "target production quantity" is registered in an MES or the like using a higher-level network. When a user registers the "target production quantity," the data storage device 100 reads the "actual production quantity" of the corresponding workpiece from the primary database 11 every 10 minutes and calculates the "difference" from the "target production quantity." Data such as the "actual production quantity" and "difference" can be used for process schedule management, etc. For example, as the "actual production quantity" approaches the "target production quantity," the color of an andon changes to notify workers of the progress. In the second embodiment, data received from the higher-level network is registered in the association table, and the data from the higher-level network, field network, and control network is associated and stored in the secondary database 12.
[0049] (Third Embodiment) The target table in the third embodiment is an alarm table. The alarm table stores alarm information. The association table in the third embodiment is a judgment table. The judgment table stores a setting as to whether or not to store alarm information. In the third embodiment, an NC program table is also used. The NC program table stores the NC programs currently being used by each machine.
[0050] The judgment table shown in Figure 11 stores the setting of whether to record alarm data. "Alarm recording" is set for each "machine ID." The setting is performed by a higher-level system such as an MES. A higher-level system refers to a system built on a network higher than the field system. The NC program table shown in Figure 12 stores the actual NC program. Machining programs are updated by devices on the higher-level network or control network (such as an operation panel or industrial PC). The alarm table shown in Figure 13 stores the machine state and machining program when an alarm occurs. The alarm table is updated when the "alarm flag" in the primary database 11 changes from "false" to "true." Note that if "do not record" is set in the judgment table, the alarm table is not updated.
[0051] 14 shows the change in the "alarm flag" of the primary database 11. When the "timestamp" of the primary database 11 is "2023 / 06 / 01 13:05:25", the "alarm_flag" changes from "false" to "true". At this time, the "alarm_number" is "5" and the "machine_id" is "M001".
[0068]
[0052] [Correction based on Rule 91, 30.10.2025] When the extraction unit 13 detects a change in the "alarm flag" (from "false" to "true"), it reads the "machine ID" from the primary database 11, searches the decision table in the secondary database 12 using the "machine ID" as a key, reads the "alarm record," and determines whether to record the alarm. If the "alarm record" is "record," the extraction unit 13 reads the status information of the corresponding "machine ID" from the primary database 11. Figure 15 shows an example of JSON-format data in the primary database 11 that records the machine status. In the example of Figure 15, "timestamp: 2023 / 06 / 01 13:05:25," "machine_id: M001," "current: 11.2," and "axis_load: 102" are recorded.
[0053] The extraction unit 13 reads out the "alarm number," "current value," and "axis load" from the primary database 11. The extraction unit 13 outputs the data read out from the primary database 11 and an SQL statement for updating the alarm table to the secondary database 12.
[0054] The extraction unit 13 reads out the "program entity" from the NC program table of the secondary database 12 using the "machine ID" as a key. The extraction unit 13 combines the "alarm number," "current value," and "axis load" read out from the primary database 11 with the "program entity" using the "machine ID" as a key, and adds the combined data to the alarm table. The "program entity" is the latest machining program. The alarm table stores the "program entity" at the time an alarm occurs.
[0055] The operation of the data storage device 100 in the third embodiment will be described with reference to Fig. 16. The flowchart in Fig. 16 shows the operations of the secondary database 12 (secondary DB), the primary database 11 (primary DB), and the extraction unit 13.
[0056] The primary database 11 receives data from the factory equipment (step S61). The primary database 11 stores the received data (step S62). When the extraction unit 13 receives a setting from an MES or the like on the upper network indicating whether or not to record an alarm (step S63; Yes), the extraction unit 13 outputs an SQL statement for updating the judgment table to the secondary database 12 (step S64). When the setting is not received (step S63; No), the process proceeds to step S69. When the secondary database 12 receives a setting from the extraction unit 13 (step S65; Yes), it updates the judgment table according to the SQL statement (step S66).
[0057] When the machining program is updated in the MES or the operation panel and an SQL statement for updating the NC program table is received from the upper system (step S67; Yes), the secondary database 12 updates the actual NC program (step S68). This updates the machining program in the NC program table to the latest version. If the NC program table is not updated (step S67; No), the process proceeds to step S74.
[0058] The extraction unit 13 monitors the "alarm flag" in the primary database 11. When the "alarm flag" changes from "false" to "true" (step S69; Yes), the judgment table in the secondary database 12 is searched using the "machine ID" where the alarm occurred as a key (step S70). If the "alarm record" for the corresponding machine is "record" (step S71; Yes), the extraction unit 13 reads the "alarm number," "current value," and "axis load" of the machine where the alarm occurred from the primary database 11 (step S72). An SQL statement for updating the alarm table with the data read from the primary database 11 and the data read from the secondary database 12 is output to the secondary database 12 (step S73).
[0059] When the secondary database 12 receives the SQL statement from the extraction unit 13 (step S74; Yes), it updates the alarm table.
[0060] As described above, the secondary database 12 of the data storage device 100 creates a judgment table as an association table, stores data to be updated in the higher-level system in the NC program table, and combines the data extracted from the primary database 11 with the data in the association table and the NC program table to update the alarm table as the target table.
[0061] The timing for updating the judgment table, NC program table, and target table is different for each. The procedure memory unit 14 stores the timing for updating each table. In the third embodiment, by storing data updated in the host system in the latest data table, it is possible to combine and store data that changes at different times in different systems, namely the host system and the field system. In addition, whether or not to record data can be set on the host network. The data storage device 100 manages data while checking the settings in the host system. In the example of the third embodiment, whether or not to record an alarm in the host system is checked by referring to the judgment table.
[0062] The hardware configuration of the data storage device 100 to which the present disclosure is applied will be described below. Fig. 17 is a hardware configuration diagram of the data storage device 100. As shown in Fig. 17, the data storage device 100 includes a CPU 111 that controls the entire data storage device 100, a ROM 112 that records programs and data, and a RAM 113 for temporarily expanding data. The CPU 111 reads a system program recorded in the ROM 112 via a bus and operates in accordance with the system program.
[0063] The nonvolatile memory 114 is backed up by, for example, a battery (not shown), and retains its stored state even when the power to the data storage device 100 is turned off. The nonvolatile memory 114 stores various data, such as programs loaded from the external device 120 via the interfaces 115, 118, and 119, and operation inputs entered via the input unit 30. The nonvolatile memory 114 may also store programs and data for executing the data storage device 100 of this embodiment. The display unit 70 displays the data loaded into the memory, data obtained as a result of executing the programs, and the like.
[0064] The interface 115 is an interface for connecting the data storage device 100 to an external device 120 such as an adapter. Programs, various parameters, etc. are loaded from the external device 120. The interface 118 is an interface for connecting the data storage device 100 to a display unit 70 such as a liquid crystal display. The display unit 70 displays various data loaded into memory, data obtained as a result of executing programs, etc. The interface 119 is an interface for connecting the data storage device 100 to an input unit 30 such as a keyboard or pointing device. The input unit 30 passes commands, data, etc. based on operations by an operator to the CPU 111 via the interface 119.
[0065] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the gist of the present disclosure derived from the claims and their equivalents. Furthermore, these embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these.
[0066] The following supplementary notes are further disclosed regarding the above embodiment and modified examples. (Supplementary Note 1) A data storage device (100) includes a primary database (11) that stores data received from a factory device, a secondary database (12) that stores a portion of the data in the primary database (11) and data received from a higher-level network of the factory, and an extraction unit (13) that causes the secondary database to execute a process to create associated data using data received from at least one of the primary database (11), the secondary database (12), or the higher-level network of the factory, and to store target data in the secondary database (12) by using the associated data. (Supplementary Note 2) The extraction unit (13) includes a procedure storage unit (14) that defines the timing for updating the associated data and the timing for updating the target data. (Supplementary Note 3) The extraction unit (13) updates the association data and the target data at different times, and associates data output from factory equipment at different times and stores the associated data in the secondary database (12). (Supplementary Note 4) The extraction unit (13) registers data received from the higher-level network in the association data, associates the data of the higher-level network with the data (11) of the primary database, and stores the associated data in the secondary database (12). (Supplementary Note 5) The association data includes a list of keys that associate the data in the primary database (11) with the target data. (Supplementary Note 6) The extraction unit (13) creates NC program data that stores NC programs updated on the higher-level network, and causes the secondary database (12) to execute a process of combining the NC program data and the associated data to create target data. (Supplementary Note 7) The association data and the target data are the same data.(Supplementary Note 8) The computer-readable storage medium (112, 113, 114) stores instructions for causing one or more processors (111) to execute a process to create association data using data received from a primary database (11) that stores data received from a factory device, a secondary database (12) that stores data, or at least one upper network of the factory, and to store target data in the secondary database (12) using the association data, which is a combination of data received from the primary database (11), the secondary database (12), or at least two of the upper networks.
[0067] 100 Data storage device 11 Primary database 12 Secondary database 13 Extraction unit 14 Procedure storage unit 111 CPU 112 ROM 113 RAM 114 Non-volatile memory
Claims
1. A data storage device comprising: a primary database that stores data received from factory equipment; a secondary database that stores a portion of the data in the primary database and data received from a higher-level network of the factory; and an extraction unit that causes the secondary database to execute processing to create associated data using data received from at least one of the primary database, the secondary database, or the higher-level network of the factory, and to store target data in the secondary database using the associated data, combining data received from at least two of the primary database, the secondary database, or the higher-level network.
2. The data storage device according to claim 1, wherein said extraction unit includes a procedure storage unit that defines the timing for updating said association data and the timing for updating said target data.
3. A data storage device according to claim 1, wherein the extraction unit updates the associated data and the target data at different times, and associates data output from factory equipment at different times and stores the data in a secondary database.
4. A data storage device according to claim 1, wherein said extraction unit registers data received from said upper network in said association data, and associates the data of said upper network with the data of said primary database and stores them in a secondary database.
5. The data storage device according to claim 1, wherein said association data includes a list of keys that associate data in said primary database with target data.
6. A data storage device according to claim 1, wherein the extraction unit creates NC program data that stores NC programs that are updated on the higher-level network, stores target data that combines the NC program data and the association data in the secondary database, and causes the secondary database to execute the process.
7. The data storage device according to claim 1, wherein the associated data and the target data are the same data.
8. A computer-readable storage medium storing instructions for causing one or more processors to execute a process of creating association data using data received from at least one of a primary database that stores data received from factory equipment, a secondary database that stores data, or a higher-level network of the factory, and using the association data to store target data in the secondary database that combines data received from the primary database, the secondary database, or at least two of the higher-level networks.