Data processing method and data processing program

JP7900656B2Active Publication Date: 2026-08-05FUJITSU LTD
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FUJITSU LTD
Filing Date
2022-08-29
Publication Date
2026-08-05

AI Technical Summary

Benefits of technology

【0008】 本発明の一態様によれば、サービス数が増大してもストレージを効率的に使用できるという効果を奏する。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007900656000001
    Figure 0007900656000001
  • Figure 0007900656000002
    Figure 0007900656000002
  • Figure 0007900656000003
    Figure 0007900656000003
Patent Text Reader

Abstract

To efficiently utilize a storage even as the number of services increases.SOLUTION: A data processing apparatus 100 includes: a common DT unit 110 for storing first processing data S1 obtained by processing received source data S0; unique DT units 111 and 112 for storing second processing data S2 obtained by processing the source data S0; and individual processing units 121 and 122 and analysis units 131 and 132 which are service units for a plurality of separate services that request access to the common DT unit 110 or the unique DT units 111 and 112 to perform data processing. The service unit accesses the DT units according to a predetermined data sorting rule. For example, the analysis unit 132 reads the second processing data S2 from the unique DT unit 112 for each of the plurality of services and, if it is determined that the data to be read is not present, reads the first processing data S0 from the common DT unit 110.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a data processing method and a data processing program.

Background Art

[0002] With digital twin (DT), an object actually operating in the real world can be represented as a mapped model in a virtual space. For example, source data of states such as sensor values detected by IoT devices in the real world is sent to a center. The center constructs a digital twin of the object in the real world from the received source data. The center performs processing of visualization and analysis of the real world using the digital twin for each service. When the center performs analysis and visualization, by associating and storing the information derived from the target source data with the object (twin), the processing of analysis and visualization (referred to as individual processing) becomes easier.

[0003] As prior art, for example, in a multi-tenant type service, there is a technology in which a database has common data and individual data for each tenant, and an individual schema can access the common data via a view. Also, for example, there is a technology that includes a plurality of computers for data analysis and distributes and executes the computers for data analysis for each analysis process. Also, for example, there is a technology that defines model-specific data and common data in a plurality of simulation environments and simulates a plurality of aspects of a system. Also, for example, there is a technology that uses an IDM (multi-tenant identity management) function in a cloud environment to define individual and common areas and separate domains.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Patent Document 2

Patent Document 3

[0005] Because the real world is vast, mapping it requires a huge amount of storage space. Therefore, creating a digital twin for each service would be prohibitively expensive. On the other hand, when multiple services share a digital twin, a problem arises where the individual processing results of each service conflict when saving (writing) them to the digital twin. For example, a conflict occurs when each service attempts to write different values ​​for the same attribute, "average speed." Conventional technologies have struggled to efficiently utilize storage as the number of services increases.

[0006] In one aspect, the present invention aims to enable efficient use of storage even as the number of services increases. [Means for solving the problem]

[0007] According to one aspect of the present invention, a data processing method is performed by a computer of a data processing device, which includes a common digital twin where first processed data obtained by processing received source data is stored, a unique digital twin where second processed data obtained by processing the source data is stored, and a plurality of service-specific service units that request access to the common digital twin or the unique digital twin and perform data processing, wherein the plurality of service units read the second processed data from the plurality of service-specific unique digital twins in accordance with predetermined data distribution rules, and if it is determined that there is no data to be read, read the first processed data from the common digital twin. [Effects of the Invention]

[0008] According to one aspect of the present invention, storage can be used efficiently even when the number of services increases. [Brief explanation of the drawing]

[0009] [Figure 1] Figure 1 is an explanatory diagram showing one embodiment of the data processing method according to the embodiment. [Figure 2] Figure 2 illustrates the challenges of creating a digital twin for each service. [Figure 3] Figure 3 illustrates the challenges that arise when a digital twin is shared across multiple services. [Figure 4] Figure 4 is an explanatory diagram of the functions of the data processing device according to the embodiment. [Figure 5] Figure 5 shows an example of the hardware configuration of a data processing device. [Figure 6] Figure 6 is an explanatory diagram of an example of processing performed by the data processing device. [Figure 7] Figure 7 is a comparison diagram illustrating the reduction in storage capacity. [Figure 8] Figure 8 is an explanatory diagram of an example of processing performed by the data processing device, specifically example 2. [Figure 9] Figure 9 is an explanatory diagram of processing example 3 performed by the data processing device. [Figure 10] Figure 10 is a flowchart showing an example of the overall processing of a data processing device. [Figure 11] Figure 11 is a flowchart showing an example of the default read process of a data processing device. [Figure 12] Figure 12 is a flowchart showing an example of the default write process of a data processing device. [Modes for carrying out the invention]

[0010] Embodiments of the disclosed data processing method and data processing program will be described in detail below with reference to the drawings.

[0011] (An Example of the Data Processing Method According to the Embodiment) FIG. 1 is an explanatory diagram showing an example of a data processing method according to an embodiment. The data processing apparatus 100 has, for example, a common digital twin (DT) common to a plurality of services and unique digital twins unique to each of the plurality of services. The data processing apparatus 100 is a computer that performs a process of allocating the reading and writing of data to the common DT and the unique DT based on an allocation rule when a data request (IO request) is made. The common DT and the unique DT are respectively formed on a storage area such as a database (DB).

[0012] Based on the example shown in FIG. 1, an example of the data processing of the data processing apparatus 100 will be described. In this example, vehicle A transmits its speed to the data processing apparatus 100, calculates the average speed for each of the plurality of services, and performs an analysis process based on the average speed. <0​​​​​​​​​​Individual processing unit #1(121) reads the first processing data S1, which is the speed value of vehicle A, from the common DT110, and performs individual processing to generate the second processing data S2 corresponding to service #1 based on the read value. Then, individual processing unit #1(121) writes the second processing data S2, which is the result of the individual processing, to the unique DT#1(111). Individual processing unit #1(121) calculates the average value (average speed) of the "speed" value, which is the data of vehicle A, from the common DT110 over a predetermined period of time (for example, the past 10 minutes).

[0016] In the example shown in Figure 1, the individual processing unit #1(121) calculates the average speed "35 km / h" as the second processing data S2, and writes the twin name "Vehicle A", attribute "Average Speed", and speed value "35 km / h" to the unique DT#1(111).

[0017] Analysis unit #1(131) performs analysis processing corresponding to service #1. For example, analysis unit #1(131) reads the average speed of car A, which is the second processed data S2, from unique DT#1(111), and performs analysis processing for service #1, such as predicting the movement of car A, based on the average speed and the values ​​of other attributes.

[0018] Individual processing unit #2(122) reads the first processing data S1, which is the speed value of vehicle A, from the common DT110, and performs individual processing to generate the second processing data S2 corresponding to service #2 based on the read value. Then, individual processing unit #2(122) writes the second processing data S2, which is the result of the individual processing, to the unique DT#2(112). Individual processing unit #2(122) calculates the average value (average speed) of the "speed" value, which is the data of vehicle A, from the common DT110 over a predetermined period of time (for example, the past 30 minutes).

[0019] In the example shown in Figure 1, the individual processing unit #2(122) calculates the average speed "20 km / h" as the second processing data S2, and writes the twin name "Vehicle A", attribute "Average Speed", and speed value "20 km / h" to the unique DT#2(112).

[0020] Analysis unit #2(132) performs analysis processing corresponding to service #2. For example, analysis unit #2(132) reads the average speed of car A, which is the second processed data S2, from unique DT#2(112), and performs analysis processing for service #2, such as predicting the movement of car A, based on the average speed and the values ​​of other attributes.

[0021] For example, unique DT#1 (111) and unique DT#2 (112) are managed by different service providers, while common DT110 is managed by the service infrastructure provider.

[0022] Here, for example, some individual DTs may not have individual processing units. In that case, the second processing data S2 (individual processing result) processed by the individual processing unit will only exist in the common DT, not the individual DT. In this case, the DT from which the analysis unit acquires the processing data (individual processing result) will differ for each individual DT.

[0023] In this embodiment, the data processing device 100 has a distribution rule for access requests to DT based on the source of the request. The basic default distribution rule is: "Read the second processed data S2, and if it is determined that no data to be read exists, read the first processed data S1." The data processing device 100 controls the reading of DT based on the distribution rule setting. This makes it possible to control the source of data acquisition with a simple mechanism.

[0024] Distribution rules can be set for each access requester to the DT. For example, if the access requester has a distribution rule, the data processing device 100 may, if it can obtain the distribution rule from the requester, perform the distribution according to the obtained distribution rule instead of the default obtained rule.

[0025] The default distribution rule described above can also be rephrased as: "Read the attribute values ​​of the common DT until the individual processing process of the service writes, and then read the attribute values ​​of the unique DT once the individual processing process has written."

[0026] This allows the data processing device 100 to have both a common DT and a unique DT, while presenting it as a single DT to multiple services, thereby enabling resource reduction and other improvements.

[0027] To give a concrete example, as shown in Figure 1, (1) Assume that the analysis unit #2 (132) reads the second processing data S2 (individual processing result) from the unique DT #2 (112). (2) However, suppose that there is no second processing data S2 (individual processing result) in unique DT#2(112). In this case, (3) Based on the distribution rules, analysis unit #2 (132) reads data (first processing data S1) from the common DT110.

[0028] Here, the analysis unit #2(132) can also read the first processing data S1 "speed" from the common DT110 and perform analysis processing corresponding to service #2. Although not illustrated in Figure 1, let's assume that car A transmits "speed" and "average speed" and writes them to the common DT110. And let's assume that there is no data for the attribute "average speed" in the individual DT#2(112). In this case, based on the (3) distribution rule, the analysis unit #2(132) can read the same attribute "average speed" from the common DT110 and perform analysis processing.

[0029] Here, based on the (3) distribution rule, the analysis unit #2 (132) can handle different service types by reading data (first processed data S1) from the common DT110. For example, there are the following service types 1 to 3.

[0030] 1. Share DT across multiple different services. 2. Reduce the cost of changing the calculation of attribute values ​​depending on the situation. 3. Reduce the cost of changing the destination of the DT depending on the situation. Examples of service processing for each of these types (1-3) will be described later as Processing Examples 1-3.

[0031] (Challenges of conventional DT) Here, we will explain the challenges of conventional digital terrorism using Figures 2 and 3. Because the real world is vast, mapping the real world requires a huge amount of storage space.

[0032] Figure 2 illustrates the challenges of preparing a digital twin for each service. For example, to correspond to two services A and B, it is necessary to prepare DT-A(201) and DT-B(202). In addition, to correspond to the two services, an individual processing unit A(211) and an individual processing unit B(212), and an analysis unit A(213) and an analysis unit B(214) are prepared. In the example configuration in Figure 2, since the same information is collected and stored redundantly for the two services, DT-A(201) and DT-B(202) are required, resulting in enormous costs.

[0033] Figure 3 illustrates the challenges that arise when multiple services share a digital twin. As shown in Figure 3(a), a DT210 common to two services A and B is provided. In addition, individual machining processing units A (211) and B (212), and analysis units A (213) and B (214) are provided corresponding to the two services. When multiple services share a digital twin, a problem arises where the individual machining processing results of each service, which differ from service to service, conflict when saving (writing) the individual machining processing results of each service to the digital twin.

[0034] For example, a conflict can occur when each service attempts to write different values ​​for a shared attribute, such as "speed per hour," resulting from individual processing. Thus, when multiple services share a digital twin, conflicts can arise not only in the information linked to each service, such as attributes and relationships, but also in confidentiality issues.

[0035] Figure 3(b) shows a specific example of a collision occurring. For example, suppose individual processing unit A(211) calculates the attribute "average speed (35 km / h)" for the past 10 minutes based on the "speed" of car A and writes it to DT210. Also, suppose individual processing unit B(212) calculates the attribute "average speed (20 km / h)" for the past 30 minutes based on the "speed" of car A and writes it to DT210. In this case, individual processing unit A(211) and individual processing unit B(212) attempt to write different values ​​(35 km / h and 20 km / h) to DT210 for the same attribute "average speed," resulting in a collision and making analysis impossible.

[0036] Figure 3(b) illustrates an example of attribute conflict, but another example of conflict is relationship conflict. Inertial frame conflicts occur when similar relationship names are used in the relationships between digital twins (e.g., hierarchical relationships between people and organizations). Confidentiality issues also arise. For example, if analysis department A (213) and analysis B (214) are services from different companies, there may be cases where the individual processing results should not be shown to each other, but this cannot be accommodated, and confidentiality cannot be maintained.

[0037] (Functions of the data processing device in the embodiment) Figure 4 is an explanatory diagram of the functions of the data processing device according to the embodiment. The data processing device 100 is configured, for example, by distributed processing on multiple servers. The data processing device 100 includes an integrated digital twin I / O unit 401, a service DT setting table 402, a distribution rule table 403, a common DT 110, a unique DT #1 (111), a unique DT #2 (112), a service unit #1 (411), and a service unit #2 (412).

[0038] The common DT110, the unique DT#1(111), and the unique DT#2(112) are integrated into a single integrated digital twin 400. The data processing device 100 receives the "speed" value detected by the sensor of vehicle A shown in Figure 1 as source data S0.

[0039] In the configuration example shown in Figure 4, for convenience, the number of unique digital twins is set to two, unique DT#1 (111) and unique DT#2 (112), corresponding to two services. However, the number of unique digital twins should be arranged according to the number of services. Service unit #1 (411) and service unit #2 (412) include the individual processing unit and analysis unit shown in Figure 1.

[0040] The service DT setting table 402 contains information about the DT to be accessed for each service. For example, it contains information that service unit #1 (411) accesses unique DT #1 (111), and service unit #2 (412) accesses unique DT #2 (112). The common DT 110 can be accessed from either service unit #1 (411) or service unit #2 (412).

[0041] For example, service unit #1(411) includes the individual processing unit #1(121) and analysis unit #1(131) shown in Figure 1. Service unit #1(411) accesses (reads and writes) the common DT110 and the individual DT#1(111) via the integrated digital twin I / O unit 401.

[0042] Service unit #2(412) includes the individual processing unit #2(122) and the analysis unit #2(132) shown in Figure 1. Service unit #2(412) accesses the common DT110 and the individual DT#2(112) via the integrated digital twin I / O unit 401.

[0043] The integrated digital twin I / O unit 401 includes a request receiving unit 421, a distribution destination determination unit 422, and a request transmission unit 423. The request receiving unit 421 receives requests for access to the digital twin. In the example in Figure 4, the request receiving unit 421 receives source data S0 of "speed" transmitted by "vehicle A", and requests from service unit #1 (411) and service unit #2 (412).

[0044] The distribution destination determination unit 422 refers to the distribution rule table 403 based on the source of the requested source data S0, or the request from service units #1 and #2 (411 and 412). Then, the distribution destination determination unit 422 determines the distribution destination for access (read / write) to DT (common DT110, specific DT #1 and #2 (111 and 112)) based on the distribution rules set in the distribution rule table 403.

[0045] The distribution rule table 403 contains information about the requester, the distribution rules for reading from the DT, and the distribution rules for writing to the DT. The distribution destination determination unit 422 writes to the corresponding unique DT for write requests from the individual processing unit and the analysis unit, according to the distribution rules. In addition, for read requests from the individual processing unit and the analysis unit, the distribution destination determination unit 422 first reads the service-specific DT, and if there is no data, reads from the common DT. Furthermore, if the individual distribution rules set by the requester are undefined, the distribution destination determination unit 422 applies the default distribution rules for processing.

[0046] In the example distribution rule table 403 shown in Figure 4, the default distribution rule is set to "Read the attribute value of the common DT until the individual processing process of the service writes, and read the attribute of the unique DT when the individual processing process writes." Record 403-1 of this distribution rule table 403 is set to write source data S0 from the sensor to the common DT110 only.

[0047] Furthermore, in the example in Figure 4, record 403-2 of the distribution rule table 403 is set to "Unique DT#1 → Common DT" for reading from DT in Service Unit #1 (411). This indicates that the data for the requested attribute is first read from Unique DT#1 (111), and if data cannot be read from Unique DT#1 (111) (including when there is no value), data is read from Common DT110. For example, in the example in Figure 1, Analysis Unit #1 (131) of Service Unit #1 (411) first reads the data for the requested attribute from Unique DT#1 (111), and if data for this attribute cannot be read from Unique DT#1 (111), data is read from Common DT110.

[0048] Furthermore, in the example in Figure 4, record 403-2 of the distribution rule table 403 is set to "Unique DT#1" for writing to DT in service unit #1 (411). This indicates that the data of the requested attribute will be written only to unique DT#1 (111).

[0049] Furthermore, in the example in Figure 4, record 403-3 of the distribution rule table 403 is set to "Specific DT#2 → Common DT" for reading from DT in Service Unit #2 (412). This indicates that the data for the requested attribute is first read from Specific DT#2 (112), and if data cannot be read from Specific DT#1 (111) (including when there is no value), data is read from Common DT110. For example, in the example in Figure 1, Analysis Unit #2 (132) of Service Unit #2 (412) first reads the data for the requested attribute from Specific DT#2 (112), and if data for this attribute cannot be read from Specific DT#2 (112), data is read from Common DT110.

[0050] Furthermore, in the example in Figure 4, record 403-3 of the distribution rule table 403 is set to "Unique DT#2" for writing to DT in service unit #2 (412). This indicates that the data of the requested attribute will be written only to unique DT#2 (112).

[0051] Furthermore, in the example shown in Figure 4, record 403-4 of the distribution rule table 403 is configured to read and write from the common DT110 for "common" requests that do not specify the requesting source.

[0052] (Example of hardware configuration for data processing equipment) Figure 5 shows an example of the hardware configuration of a data processing device. The data processing device 100 can be configured as a computer such as a server consisting of the general-purpose hardware shown in Figure 5.

[0053] The data processing unit 100 includes a CPU (Central Processing Unit) 501, a memory 502, and a network interface 503. The data processing unit 100 also includes a recording medium interface 504, a recording medium 505, a portable recording medium interface 506, and a portable recording medium 507. Each component is connected by a bus 500.

[0054] The CPU 501 functions as a control unit that oversees the overall control of the data processing device 100. The CPU 501 may have multiple cores. The memory 502 includes, for example, ROM (Read Only Memory), RAM (Random Access Memory), and flash ROM. Specifically, for example, the flash ROM stores the OS program, the ROM stores the application program, and the RAM is used as the work area for the CPU 501. The program stored in the memory 502 is loaded into the CPU 501, causing the CPU 501 to execute the coded process.

[0055] The network interface 503 is connected to the network NW via a communication line and, via the network NW, to an external computer. For example, if the data processing device 100 is configured with multiple servers, each server is connected via the network NW. The network interface 503 manages the interface between the network NW and the inside of the device, and controls the input and output of data from the external computer. The network interface 503 can utilize, for example, a modem or a LAN adapter.

[0056] The recording medium interface 504 controls the reading and writing of data to the recording medium 505 according to the control of the CPU 501. The recording medium 505 stores the data written under the control of the recording medium interface 504. Examples of the recording medium 505 include magnetic disks and optical disks.

[0057] The portable recording medium interface 506 controls the reading and writing of data to the portable recording medium 507 according to the control of the CPU 501. The portable recording medium 507 stores the data written under the control of the portable recording medium interface 506. Examples of portable recording media 507 include CD (Compact Disc)-ROM, DVD (Digital Versatile Disk), and USB (Universal Serial Bus) memory.

[0058] In addition to the components described above, the data processing device 100 may also include, for example, an input device, a display, and the like.

[0059] The integrated digital twin I / O unit 401 shown in Figure 4 can be made functional by the CPU 501 shown in Figure 5 executing a program. The service DT setting table 402, distribution rule table 403, common DT110, unique DT#1(111), and unique DT#2(112) shown in Figure 4 can be made functional using, for example, the recording medium 505 and portable recording medium 507 shown in Figure 5.

[0060] Incidentally, the service units #1 and #2 (411 and 412) shown in Figure 4 can be composed of hardware such as servers shown in Figure 5, each owned by an external service company of the data processing device 100.

[0061] (Example of processing by a data processing device) Next, we will explain some examples of the processing performed by the data processing device 100. Each of the following processes is executed by the CPU 501, which is the control unit of the data processing device 100.

[0062] (Data processing example 1) Figure 6 is an explanatory diagram of processing example 1 performed by the data processing device. Figure 6 shows an example of processing when 1. multiple different services share a DT, as described above. Figure 6(a) shows the read / write access status to the DT, similar to Figure 1, and Figure 6(b) shows the read / write distribution status for service-specific requests.

[0063] The distribution rule table 403 shown in Figure 6(b) is the default distribution rule, which states, "Read the attribute values ​​of the common DT until the individual processing process of the service writes, and then read the attributes of the unique DT when the individual processing process writes." Specifically, the distribution rule table 403 is configured to write source data S0 from the sensor to the common DT110 only. Also, the reading from the DT of service unit #1(411) is configured as "unique DT#1 → common DT". Furthermore, the writing to the DT of service unit #1(411) is configured as "unique DT#1".

[0064] Furthermore, the read operation from DT in service unit #2 (412) is configured as "Specific DT#2 → Common DT". Also, the write operation from service unit #2 (412) to DT is configured as "Specific DT#2".

[0065] The examples shown in Figures 6(a) and 6(b) are two service examples: one is Company A's ride-hailing service (#1) 411, and the other is Company B's deoxygenation service (#2) 412.

[0066] In Company A's dispatch service (#1) 411, to perform the service related to dispatching vehicle A, the individual processing unit #1 (121) calculates the "average speed" attribute for the past 10 minutes from the "speed per hour". Then, the individual processing unit #1 (121) writes the calculated value to the unique DT #1 (111) based on the distribution rules in the distribution rule table 403.

[0067] Furthermore, analysis unit #1(131) reads data based on the distribution rules in distribution rule table 403. First, analysis unit #1(131) reads the value of the attribute "average speed" from unique DT#1(111). If it is not possible to read the value of the attribute "average speed" from unique DT#1(111), analysis unit #1(131) reads the value of "speed per hour" from common DT110 and performs analysis based on "speed per hour".

[0068] Furthermore, in Company B's deoxygenation service (#2) 412, for CO2 emission prediction, the individual processing unit #2 (122) calculates the "average speed" over the past 30 minutes from the "speed per hour". Then, the individual processing unit #2 (122) writes the calculated value to the unique DT #2 (112) based on the distribution rules in the distribution rule table 403.

[0069] Furthermore, analysis unit #2(132) reads data based on the distribution rules in distribution rule table 403. First, analysis unit #2(132) reads the value of the attribute "average speed" from the unique DT#2(112). If the value of the attribute "average speed" cannot be read from the unique DT#2(112), analysis unit #2(132) reads the value of "speed per hour" from common DT110 and performs analysis based on "speed per hour".

[0070] In this way, the data processing device 100 can behave as a single DT in response to requests for different services, enabling a single DT to provide multiple services. Furthermore, it can use a common DT 110 and service-specific DTs #1, #2 (111, 112) interchangeably, reducing the storage area required for each DT.

[0071] Furthermore, since a single common DT110 is sufficient for mappings shared by multiple services, there is no need to provide multiple upload destinations for the source data S0 used to create the mapping, thus reducing the resources required for the mapping. For example, for two services, car A only needs to send data to a single common DT110.

[0072] Furthermore, by allowing the analysis results of multiple services to be viewed as a single digital tree (DT), it becomes possible to discover relationships that were previously unnoticed. For example, based on the analysis results of the two services shown in Figure 6, it becomes possible to propose changing personal car A to a shared bus, thereby presenting information for further CO2 emission reduction.

[0073] (Regarding the effect of reducing storage) Figure 7 is a comparison diagram illustrating storage reduction. Figure 7(a) shows an example of a conventional DT configuration. In conventional technology, a DT must be prepared for each service. As shown in Figure 7(a), in the case of two services A and B, a common DT210 and a unique DT-A201 must be prepared for service A. Similarly, a common DT210 and a unique DT-B202 must also be prepared for service B. Thus, in conventional technology, storage equivalent to a common DT210 must be prepared for each service, and the cost of DT storage capacity becomes enormous as the number of services increases.

[0074] Figure 7(b) shows an example of a DT configuration in the embodiment. In this embodiment, only one common DT110 is needed regardless of the number of services. As shown in Figure 7(b), in the case of two service units #1 and #2 (411 and 412), a unique DT#1(111) is provided for service unit #1(411), and a unique DT#2(112) is provided for service unit #2(412). Then, a common DT110 is provided to be shared by service units #1 and #2 (411 and 412). Only one common DT110 needs to be provided for all services. As a result, according to this embodiment, the effect of reducing the storage capacity of the DT can be increased as the number of services increases.

[0075] (Data processing example 2) Figure 8 is an explanatory diagram of processing example 2 performed by the data processing device. Figure 8 shows an example of processing to reduce the cost of changing the calculation of attribute values ​​according to the situation, as described in 2. above. Figures 8(a) and (b) show the read / write access status to the DT at different times.

[0076] In the example shown in Figure 8, there is one service example, which has one common DT110 and one unique DT#1(111). The individual processing unit (common) 801 reads the "speed in hours" of car A from the common DT110, calculates the "average speed in hours" for the past 10 minutes, and writes it to the common DT110.

[0077] The individual processing unit #1(121) will, during operation, read the "speed per hour" of vehicle A from the common DT110, calculate the "average speed per hour" for the past 30 minutes, and write it to the unique DT#1(111).

[0078] Here, the distribution rule table 403 is the default distribution rule, which states, "Read the attribute values ​​of the common DT until the individual processing process of the service writes, and then read the attribute values ​​of the unique DT when the individual processing process writes."

[0079] In this processing example 2, as shown in Figure 8(a), the analysis unit #1(131) of a certain service reads the "average speed" from the common DT110 when the individual machining processing unit #1(121) is not operating. Then, as shown in Figure 8(b), the analysis unit #1(131) reads the "average speed" of the same attribute from the specific DT#1(111) when the individual machining processing unit #1(121) is operating.

[0080] In the example shown in Figures 8(a) and 8(b), when the situation changes and it becomes necessary to extend the calculation period for the "average speed" from the past 10 minutes to the past 30 minutes due to the large variation in the speed of car A, the individual processing unit #1(111) is activated. This reduces the cost of changing the individual processing unit that the analysis unit #1(131) uses to calculate attribute values ​​in response to the change in situation from "common" to "#1".

[0081] (Data processing example 3) Figure 9 is an explanatory diagram of processing example 3 performed by the data processing device. Figure 9 shows an example of processing to reduce the cost of changing the read destination of DT depending on the situation described above. Figures 9(a) and (b) show the read and write access status to DT at different times.

[0082] In the example shown in Figure 9, there is one example of a service, which has one common DT110 and one unique DT#1(111). The common DT110 holds the attributes "speed," "acceleration," and "update frequency," as well as the values ​​of each attribute, based on the source data of vehicle A. The common DT110 also holds the attributes "speed," "update frequency," and the values ​​of each attribute, based on the source data of vehicle B.

[0083] As shown in Figure 9(a), the individual processing unit 121 reads the values ​​of each attribute of vehicle A from the common DT110, estimates the "speed," and writes it to the unique DT#1(111). In this processing example 3, vehicle B does not have an individual processing unit, nor does it have a unique DT for vehicle B.

[0084] Analysis unit #1(131) reads the "(estimated) speed" value from the unique DT#1(111) for car A. Analysis unit #1(131) also directly reads the "(measured) speed" value from the common DT110 for car B. Here, we assume that the source data "speed" for car A is updated every minute, while the source data "speed" for car B is updated every second, meaning that car B has a higher update frequency than car A.

[0085] Here, the distribution rule table 403 is the default distribution rule, which states, "Read the attribute values ​​of the common DT until the individual processing process of the service writes, and then read the attribute values ​​of the unique DT when the individual processing process writes."

[0086] In this processing example 3, as shown in Figure 9(a), the analysis unit #1(131) of a certain service reads the "(estimated) speed" from the unique DT#1(111) when the individual processing unit #1(121) is operating. At this time, the analysis unit #1(131) determines that for car A, the analysis is low-precision based on the "(estimated) speed" with an "update frequency" of 1 minute, while for car B, the analysis is high-precision based on the "(measured) speed" with an "update frequency" of 1 second. For example, the data processing device 100 can determine whether the "update frequency" is high or low by comparing it with a threshold, and can also determine whether the data accuracy is high or low based on the "update frequency".

[0087] Now, let's assume that the "update frequency" of the "speed" of car A is updated from 1 minute to 1 second, as shown in Figure 9(b). In this case, the analysis unit #1(131) stops reading the "(estimated) speed" of car A from the individual processing unit #1(121) and reads the "(measured) speed" from the common DT110. In this case, car A has an "update frequency" of 1 second, and high-precision analysis based on the "(measured) speed" can be performed with the same update frequency as car B.

[0088] In the example shown in Figures 9(a) and 9(b), the destination for reading the data is changed to a more accurate DT, for example, due to a change in the update frequency (increased accuracy) based on the replacement of the sensor that detects the speed of car A. This reduces the cost of changing the reading destination from "Specific DT#1" to "Common DT" for analysis unit #1(131).

[0089] (Example of processing procedure for data processing equipment) Next, an example of the data processing procedure of the data processing device 100 will be explained using Figures 10 to 12.

[0090] Figure 10 is a flowchart showing an example of the overall processing of the data processing device. The processing in Figure 10 is mainly performed by the integrated digital twin I / O unit 401 in Figure 4, and the CPU 501 shown in Figure 5 executes the processing.

[0091] First, the data processing device 100 receives a request to access DT (step S1001). Next, the data processing device 100 obtains the requester and the content of the request (step S1002). The requester is, for example, the individual processing units #1 and #2 (121, 122) of the service units #1 and #2 (411, 412) described above, or the analysis units #1 and #2 (131, 132).

[0092] Next, the data processing device 100 determines whether the request is for reading or writing (step S1003). If the request is for reading (step S1003: reading), the data processing device 100 proceeds to step S1004. On the other hand, if the request is for writing (step S1003: writing), the data processing device 100 proceeds to step S1008.

[0093] In step S1004, the data processing device 100 obtains the requester's read rule (step S1004). Then, the data processing device 100 determines whether or not it was able to obtain the requester's read rule (step S1005). If it was able to obtain the requester's read rule (step S1005: Yes), the data processing device 100 processes the reading of data according to the obtained rule (distribution rule) (step S1006), and then terminates the above process.

[0094] On the other hand, if the requester's read rule cannot be obtained (step S1005: No), the data processing device 100 performs a default read process (step S1007) and terminates the above process. In the default read process, the data processing device 100 reads the data according to the default distribution rule and terminates the above process.

[0095] In step S1008, the data processing device 100 obtains the requester's write rule (step S1008). Then, the data processing device 100 determines whether or not it was able to obtain the requester's write rule (step S1009). If it was able to obtain the requester's write rule (step S1009: Yes), the data processing device 100 writes the data according to the obtained rule (distribution rule) (step S1010), and then terminates the above process.

[0096] On the other hand, if the requesting write rule cannot be obtained (step S1009: No), the data processing device 100 performs a default write process (step S1011) and terminates the above process. In the default write process, the data processing device 100 writes the data according to the default distribution rule and terminates the above process.

[0097] Figure 11 is a flowchart showing an example of the default read process of a data processing device. The process shown in Figure 11 is a detailed version of the default read process shown in step S1007 of Figure 10.

[0098] First, the data processing device 100 obtains the source and content of the request for reading from DT (step S1101). Here, the source of the request is assumed to be the sensor that transmits the speed of vehicle A as described above, or the individual processing units #1 and #2 (121, 122) of service units #1 and #2 (411, 412), or the analysis units #1 and #2 (131, 132).

[0099] The data processing device 100 then determines whether the requester is a sensor or a service (step S1102). If the determination result indicates that the requester is a sensor (step S1102: sensor), the data processing device 100 sets an abnormality detection error (step S1103) and proceeds to the process in step S1111. Here, since sensors only make write requests by transmission, read requests are treated as abnormality detection errors.

[0100] On the other hand, if the result of the determination in step S1102 is that the requester is a service (step S1102: service), the data processing device 100 reads data from the service-specific DT corresponding to the service (step S1104). Next, the data processing device 100 determines whether or not the data has been read (step S1105).

[0101] If the result of the determination in step S1105 is that the data can be read (step S1105: Yes), the data processing device 100 uses the read value (step S1106) and proceeds to the process in step S1111.

[0102] On the other hand, if the data could not be read (step S1105: No), the data processing device 100 reads the data from the common DT according to the default distribution rule (step S1107). Next, the data processing device 100 determines whether or not the data was read (step S1108).

[0103] If the result of the determination in step S1108 is that the data can be read (step S1108: Yes), the data processing device 100 uses the read value (step S1109) and proceeds to the process in step S1111.

[0104] On the other hand, if the data cannot be read (step S1108: No), the data processing device 100 sets a read failure error (step S1110) and proceeds to the process in step S1111.

[0105] In step S1111, the data processing unit 100 returns the read value or an error to the requester (step S1111), and terminates the above processing. The requester, the service unit (individual processing unit or analysis unit), performs data processing based on the value returned by the data processing unit 100, and performs error processing if an error occurs.

[0106] Figure 12 is a flowchart showing an example of the default write process of a data processing device. The process shown in Figure 12 is a detailed version of the default write process shown in step S1011 of Figure 10.

[0107] First, the data processing device 100 obtains the source of the request to write to DT (step S1201). Here, the source of the request is assumed to be the sensor that transmits the speed of vehicle A as described above, or the individual processing units #1 and #2 (121, 122) of service units #1 and #2 (411, 412), or the analysis units #1 and #2 (131, 132).

[0108] The data processing device 100 then determines whether the requester is a sensor or a service (step S1202). If the determination is made and the requester is a sensor (step S1202: sensor), the data processing device 100 writes the data to the common DT (step S1203) and proceeds to the process in step S1204.

[0109] On the other hand, if the result of the determination in step S1202 is that the requester is a service (step S1202: service), the data processing device 100 writes data to the service-specific DT corresponding to the service (step S1207) and proceeds to the processing in step S1208.

[0110] After the processing in step S1203, the data processing device 100 determines whether the data has been written (step S1204). If the determination is made and the data has been written to the common DT (step S1204: Yes), the data processing device 100 determines that the write operation was successful (step S1205) and proceeds to the processing in step S1211.

[0111] On the other hand, if the determination results in a failure to write data to the common DT (step S1204: No), the data processing device 100 detects a write error (step S1206) and proceeds to the process in step S1211.

[0112] Furthermore, after processing in step S1207, the data processing device 100 determines whether the data has been written or not (step S1208). If the determination is made and the data has been written to the service-specific DT (step S1208: Yes), the data processing device 100 determines that the write operation was successful (step S1209) and proceeds to the processing in step S1211.

[0113] On the other hand, if the determination results in a failure to write data to the service-specific DT (step S1208: No), the data processing device 100 detects a write error (step S1210) and proceeds to the process in step S1211.

[0114] In step S1211, the data processing unit 100 returns to the requester whether the write operation was completed successfully or if an error occurred (step S1211), and then terminates the above process. The requesting service unit (individual processing unit or analysis unit) performs data processing based on the value returned by the data processing unit 100, and performs error processing if an error occurs.

[0115] In the description of the data processing device 100 described above, the requesting party that accesses the DT may be set not only for each service, but also at the level of individual processing units or analysis units. Furthermore, as a distribution rule specific to the requesting party, as shown in record 403-4 of the distribution rule table 403 in Figure 4, individual processing (for example, equivalent to processing example 2) can be set to use the common DT for reading and writing data. When a unique distribution rule is obtained from the requesting party, the distribution rule can be easily added by simply adding record 403-4 to the distribution rule table 403 in Figure 4.

[0116] The data processing device 100 of the embodiment described above includes a common digital twin where first processed data obtained by processing received source data is stored, a unique digital twin where second processed data obtained by processing source data is stored, and a plurality of service-specific service units that request access to the common digital twin or the unique digital twin and perform data processing. The plurality of service units read the second processed data from the plurality of service-specific unique digital twins according to predetermined data distribution rules, and if it is determined that the data to be read does not exist, they read the first processed data from the common digital twin. As a result, data used in common by multiple services is stored in the common digital twin, and data specific to each of the multiple services is stored in the unique digital twins, creating a single integrated digital twin. Furthermore, the data distribution rules from the unique digital twin to the common digital twin allow the service units to efficiently read the necessary data. This allows for efficient use of storage space while suppressing the increase in storage area even as the number of services increases.

[0117] Furthermore, if the requester of access to the digital twin has individual distribution rules, the data processing device 100 acquires those individual distribution rules. Then, it accesses the common digital twin or the individual digital twin according to the acquired individual distribution rules. This makes it possible to access the common digital twin or the individual digital twin according to the requester's distribution rules.

[0118] Furthermore, the data processing device 100 may include, for each of the multiple service units, an individual processing unit that generates second processed data by processing the source data and writes the second processed data to a unique digital twin, and an analysis unit that processes the first or second processed data. The analysis unit reads the second processed data from the unique digital twins for each of the multiple services, and if it determines that the data to be read does not exist, it reads the first processed data from the common digital twin. In this way, each service unit can have an individual processing unit for each service and an analysis unit that performs analysis after the individual processing. In this case, the analysis unit can perform analysis not only on the second processed data after the individual processing, but also on the first processed data.

[0119] Furthermore, the data processing device 100 can perform the following processing: multiple service units can read first processing data from a common digital twin, process the read first processing data to obtain second processing data, and write this second processing data to a unique digital twin specific to each service. This allows multiple service units to use the first processing data in common, while the second processing data processed individually by each service unit can be stored in a unique digital twin specific to each service.

[0120] Furthermore, the data processing device 100, specifically the service unit, may perform read and write access to data with the same attributes in both the common digital twin and the individual digital twin. This allows, for example, if data with a certain attribute cannot be read from the common digital twin, data with the same attribute to be read from the individual digital twin, enabling the continuation of services such as analysis.

[0121] Furthermore, the data processing device 100 may switch between executing and not executing the process of reading the first processing data from the common digital twin and creating the second processing data. In this case, the analysis unit reads the first processing data from the common digital twin when the individual processing unit is not executing. On the other hand, when the individual processing unit is executing, the analysis unit can switch to reading the second processing data from the unique digital twin. This makes it possible to respond to changes in circumstances, such as changing the calculation state of attribute values ​​depending on whether the individual processing unit is executing or not, and reduces the cost of changing the processing related to changes in circumstances.

[0122] Furthermore, the data processing device 100, based on the data accuracy or update frequency of the source data, reads second processed data from the unique digital twin if the data accuracy or update frequency of the source data is low. On the other hand, if the data accuracy or update frequency of the source data is high, it can read first processed data from the common digital twin. This allows the device to respond to changes in the data accuracy or update frequency of the source data, and for example, it becomes possible to read data with higher accuracy or a higher update frequency from among the data held by the common digital twin and the unique digital twin and use it for analysis.

[0123] Furthermore, the data processing device 100 writes the first processed data, obtained by processing the received source data according to predetermined data distribution rules, to the common digital twin. In addition, multiple service units can write the second processed data, obtained by processing the source data, to their own service-specific digital twins. This makes it possible to always receive and store a large amount of source data as the first processed data in the common digital twin, and to store the second processed data for each service unit in their own service-specific digital twin.

[0124] Based on these considerations, the data processing device 100 of this embodiment can provide data that can be used in common with each service in a common digital twin in a digital twin accessed by numerous services, while providing data specific to each service in a unique digital twin. The unique digital twins are separated by service and can be applied to different services, and data cannot be read between different services, thus maintaining confidentiality. The integrated digital twin, which combines the common digital twin and the unique digital twin, can be applied to MaaS (Mobility as a Service) and smart cities such as pedestrian flow guidance.

[0125] The data processing method described in the embodiments of the present invention can be implemented by having a pre-prepared program executed by a processor such as a server. This method is recorded on a computer-readable recording medium such as a hard disk, flexible disk, CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disk), or flash memory, and executed by being read from the recording medium by a computer. This method may also be distributed via a network such as the Internet.

[0126] With regard to the embodiments described above, the following additional information is disclosed.

[0127] (Note 1) A data processing method executed by a computer of a data processing device, which includes a common digital twin in which first processed data obtained by processing received source data is stored, a unique digital twin in which second processed data obtained by processing the source data is stored, and a plurality of service-specific service units that request access to the common digital twin or the unique digital twin and perform data processing, Multiple service units, in accordance with predetermined data distribution rules, The second processing data is read from the aforementioned unique digital twins for multiple services. If it is determined that the data to be read does not exist, The first processing data is read from the aforementioned common digital twin. A data processing method characterized by the following features.

[0128] (Note 2) If the source requesting access to the digital twin has individual distribution rules, the individual distribution rules shall be acquired. Access to the common digital twin or the individual digital twin is performed according to the acquired individual allocation rules. The data processing method described in Appendix 1, characterized by the features described herein.

[0129] (Note 3) The multiple service units are, The system includes an individual processing unit that generates a second processed data by processing the source data and writes the second processed data to the unique digital twin, and an analysis unit that processes the first processed data or the second processed data, The aforementioned analysis unit is The second processing data is read from the aforementioned unique digital twins for multiple services. If it is determined that the data to be read does not exist, The first processing data is read from the aforementioned common digital twin. The data processing method described in Appendix 1, characterized by the features described herein.

[0130] (Note 4) The multiple service units are, The first processing data is read from the aforementioned common digital twin, The second processed data, which is obtained by processing the first processed data that was read, is written to a unique digital twin for each service. The data processing method described in Appendix 1, characterized by the features described herein.

[0131] (Note 5) The service unit is, The data processing method according to Appendix 1, characterized in that it performs read / write access to data with the same attributes for the common digital twin and the individual digital twin.

[0132] (Note 6) The individual processing unit is, When switching between executing or not executing the process of reading the first processing data from the common digital twin and creating the processed second processing data, The aforementioned analysis unit is When the individual processing unit is not being executed, the first processing data is read from the common digital twin. When the individual processing unit is executed, the second processing data is read from the unique digital twin. The data processing method described in Appendix 3, characterized by the features described herein.

[0133] (Note 7) The analysis unit is, Based on the data accuracy or update frequency of the source data, if the data accuracy of the source data is low or the update frequency is low, the second processing data is read from the unique digital twin. If the data accuracy of the source data is high or the update frequency is high, the first processing data is read from the common digital twin. The data processing method described in Appendix 3, characterized by the features described herein.

[0134] (Note 8) In accordance with predetermined data distribution rules, The first processed data obtained by processing the received source data is written to the common digital twin. Multiple service departments, The second processed data obtained by processing the aforementioned source data is written to the service-specific digital twin. The data processing method described in Appendix 1, characterized by the features described herein.

[0135] (Note 9) A data processing program to be executed by a computer of a data processing device, which includes a common digital twin in which first processed data obtained by processing received source data is stored, a unique digital twin in which second processed data obtained by processing the source data is stored, and a plurality of service-specific service units that request access to the common digital twin or the unique digital twin and perform data processing, Multiple service units, in accordance with predetermined data distribution rules, The second processing data is read from the aforementioned unique digital twins for multiple services. If it is determined that the data to be read does not exist, The first processing data is read from the aforementioned common digital twin. A data processing program characterized by the following features.

[0136] (Note 10) A common digital twin where the first processed data obtained by processing the received source data is stored, A unique digital twin in which a second processed data obtained by processing the aforementioned source data is stored, A data processing device comprising: a plurality of service-specific service units that request access to the common digital twin or the individual digital twin and perform data processing, According to predetermined data distribution rules, The second processing data is read from the aforementioned unique digital twins for multiple services. If it is determined that the data to be read does not exist, The first processing data is read from the aforementioned common digital twin. A data processing device characterized by having a distribution unit. [Explanation of Symbols]

[0137] 100 Data Processing Devices 110 Common Digital Twin (DT) 111,112 Unique DT 121,122 Individual processing unit 131,132 Analysis Department 400 Integrated Digital Twins 401 Integrated Digital Twin IO Department 402 Service DT Configuration Table 403 Distribution Rule Table 421 Request Receiving Unit 422 Distribution Destination Determination Section 423 Request transmission unit 501 CPU 502 memory 503 Network Interface 505 Recording media 507 Portable recording media S0 Source Data S1 First processing data S2 Second processing data

Claims

1. A data processing method executed by a computer of a data processing device, which includes a common digital twin where first processed data obtained by processing received source data is stored, a unique digital twin where second processed data obtained by processing the source data is stored, and a plurality of service-specific service units that request access to the common digital twin or the unique digital twin and perform data processing, Multiple service units, in accordance with predetermined data distribution rules, The second processing data is read from the aforementioned unique digital twins for multiple services. If it is determined that the data to be read does not exist, The first processing data is read from the aforementioned common digital twin. A data processing method characterized by the following features.

2. If the source of the access request has individual distribution rules, obtain the individual distribution rules, Access to the common digital twin or the individual digital twin is performed according to the acquired individual allocation rules. The data processing method according to feature 1.

3. Multiple service units are, The system includes an individual processing unit that generates a second processed data by processing the source data and writes the second processed data to the unique digital twin, and an analysis unit that processes the first processed data or the second processed data, The aforementioned analysis unit is The second processing data is read from the aforementioned unique digital twins for multiple services. If it is determined that the data to be read does not exist, The first processing data is read from the aforementioned common digital twin. The data processing method according to feature 1.

4. Multiple service units are, The first processing data is read from the aforementioned common digital twin, The second processed data, which is obtained by processing the first processed data that was read, is written to a unique digital twin for each service. The data processing method according to feature 1.

5. The aforementioned service unit is The data processing method according to claim 1, characterized in that it performs read / write access to data with the same attributes for the common digital twin and the unique digital twin.

6. The aforementioned individual processing unit is When switching between executing or not executing the process of reading the first processing data from the common digital twin and creating the processed second processing data, The aforementioned analysis unit is When the individual processing unit is not being executed, the first processing data is read from the common digital twin. When the individual processing unit is executed, the second processing data is read from the unique digital twin. The data processing method according to feature 3.

7. The aforementioned analysis unit is Based on the data accuracy or update frequency of the source data, if the data accuracy of the source data is lower than a threshold or the update frequency of the source data is lower than a threshold, the second processing data is read from the unique digital twin. If the data accuracy of the source data is higher than the threshold or the update frequency of the source data is higher than the threshold, the first processing data is read from the common digital twin. The data processing method according to feature 3.

8. According to predetermined data distribution rules, The first processed data obtained by processing the received source data is written to the common digital twin. Multiple service departments, The second processed data obtained by processing the aforementioned source data is written to the service-specific digital twin. The data processing method according to feature 1.

9. A data processing program that causes a computer to function as a data processing device including a common digital twin in which a first processed data obtained by processing received source data is stored, a unique digital twin in which a second processed data obtained by processing the source data is stored, and a plurality of service-specific service units that request access to the common digital twin or the unique digital twin and perform data processing, Multiple service units, in accordance with predetermined data distribution rules, The second processing data is read from the aforementioned unique digital twins for multiple services. If it is determined that the data to be read does not exist, The first processing data is read from the aforementioned common digital twin. A data processing program characterized by the following features.