JP7652123B2 - Data Management System - Google Patents
Data Management System Download PDFInfo
- Publication number
- JP7652123B2 JP7652123B2 JP2022053707A JP2022053707A JP7652123B2 JP 7652123 B2 JP7652123 B2 JP 7652123B2 JP 2022053707 A JP2022053707 A JP 2022053707A JP 2022053707 A JP2022053707 A JP 2022053707A JP 7652123 B2 JP7652123 B2 JP 7652123B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- development
- development data
- hash value
- transaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本開示はデータ管理システムに関する。 This disclosure relates to a data management system.
商品のトレーサビリティを管理するための各種技術が提案されている。たとえば国際公開第2021/95795号(特許文献1)は、宝石のトレーサビリティを管理するための情報処理装置を開示する。情報処理装置は、宝石のトレーサビリティを証明し得る1以上のデータの各々のハッシュ値を生成する生成手段を備える。生成手段により生成された前記1以上のハッシュ値の各々が、識別可能となるように1以上のデータの各々に対応付けられて通信ネットワークにおいて管理される。 Various technologies have been proposed for managing the traceability of products. For example, International Publication No. 2021/95795 (Patent Document 1) discloses an information processing device for managing the traceability of gemstones. The information processing device includes a generating means for generating a hash value of each of one or more pieces of data that can prove the traceability of a gemstone. Each of the one or more hash values generated by the generating means is associated with each of the one or more pieces of data so as to be identifiable, and is managed in a communication network.
一般に、企業における製品開発現場では多数の開発者が並行して開発業務を遂行する。CAD(Computer Aided Design)データ等の開発データはデータ保存システムに保存されている。各開発者は、自身のサーバからデータ保存システムにアクセスする。開発者の端末は、データ保存システムから開発データを読み込んだり、当該開発者が検討した開発データをデータ保存システムに登録したりするように構成されている。 Generally, at a company's product development site, many developers carry out development work in parallel. Development data such as CAD (Computer Aided Design) data is stored in a data storage system. Each developer accesses the data storage system from his or her own server. The developer's terminal is configured to read development data from the data storage system and to register development data considered by the developer in the data storage system.
開発業務においては、製品の仕様、性能、条件などを検討するため、あるデータから別のデータが枝分かれして作成されることが度々ある。その結果、様々な開発データがサーバに保存され得る。開発データが適切に管理されていない場合、誤った開発データを用いて検討したため再検討が必要になったなどの理由により、開発コストが増えたり開発期間(リードタイム)が長くなったりし得る。言い換えると、開発効率が低下する可能性がある。 In development work, data is often created by branching off from one piece of data to consider product specifications, performance, conditions, etc. As a result, various development data may be stored on the server. If development data is not managed appropriately, development costs may increase and development periods (lead times) may become longer due to the need to reconsider things because incorrect development data was used. In other words, development efficiency may decrease.
本開示は上記課題を解決するためになされたものであり、本開示の目的の1つは、開発データを適切に管理することで開発効率を向上させることである。 This disclosure has been made to solve the above problems, and one of the objectives of this disclosure is to improve development efficiency by properly managing development data.
本開示のある局面に従うデータ管理システムは、開発データを保存するデータ保存装置と、開発データに関するトランザクションデータが格納された分散型台帳を有する複数のデータ管理装置とを備える。複数のデータ管理装置の各々は、第1開発データをデータ保存装置に登録する場合に、第1開発データの派生元である第2開発データが存在するときには、第1開発データから生成された第1ハッシュ値と、第2開発データから生成された第2ハッシュ値とを含むトランザクションデータを分散型台帳に格納する。 A data management system according to an aspect of the present disclosure includes a data storage device that stores development data, and a plurality of data management devices having a distributed ledger in which transaction data related to the development data is stored. When registering first development data in the data storage device, if second development data from which the first development data is derived exists, each of the plurality of data management devices stores transaction data in the distributed ledger including a first hash value generated from the first development data and a second hash value generated from the second development data.
上記構成においては、第1ハッシュ値と第2ハッシュ値とを含むトランザクションデータが生成される。言い換えると、トランザクションデータにおいて第1ハッシュ値と第2ハッシュ値とが紐付けられ、それにより、第1開発データと第2開発データとの間の関係が規定される。そうすると、ユーザが検討のために開発データ(第1開発データまたは第2開発データ)を選択する際に、その開発データがどこから来たか、いわば開発データの素性を確認することが可能になる。その結果、誤った開発データを用いた検討が防止されるので、開発コストの増大、開発期間の延長などを抑制できる。よって、上記構成によれば、開発効率を向上させることができる。 In the above configuration, transaction data including a first hash value and a second hash value is generated. In other words, the first hash value and the second hash value are linked in the transaction data, thereby defining the relationship between the first development data and the second development data. Then, when a user selects development data (the first development data or the second development data) for review, it becomes possible to confirm where the development data came from, that is, the identity of the development data. As a result, review using incorrect development data is prevented, and it is possible to suppress increases in development costs and extensions of development periods. Therefore, according to the above configuration, development efficiency can be improved.
本開示によれば、開発データを適切に管理することで開発効率を向上させることができる。 According to this disclosure, development efficiency can be improved by properly managing development data.
以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付して、その説明は繰り返さない。 The following describes in detail the embodiments of the present disclosure with reference to the drawings. Note that the same or corresponding parts in the drawings are given the same reference numerals and their description will not be repeated.
[実施の形態]
<システム全体構成>
図1は、本開示の実施の形態に係るデータ管理システムの全体構成を示す図である。データ管理システム100は、分散型台帳技術を用いて製品の開発データを管理するように構成されている。以下、データ管理システム100がブロックチェーン技術を用いて製品の開発データを管理する例について説明する。ただし、分散型台帳技術は、ブロックチェーン技術に限定されず、CORDA(登録商標)などの他の分散型台帳技術であってもよい。
[Embodiment]
<Overall system configuration>
1 is a diagram showing the overall configuration of a data management system according to an embodiment of the present disclosure. The
データ管理システム100は、複数のクライアントサーバ11~14と、管理サーバ2と、データ保存システム3とを備える。ここでは紙面の都合上、データ管理システム100に含まれるクライアントサーバの台数が4台である例を説明するが、クライアントサーバの台数は複数台であれば特に限定されない。通常、クライアントサーバの台数は、より多く、数十台~数百台であり得る。
The
この例では、ある企業内の複数の部門(関連会社であってもよい)間でプライベート型のネットワークNWが形成されている。複数のクライアントサーバ11~14は、この例ではA部門~D部門にそれぞれ帰属する。なお、企業、大学などの互いに独立した複数の参加者間でコンソーシアム型のネットワークが形成されていてもよい。 In this example, a private network NW is formed between multiple departments (which may be affiliated companies) within a company. In this example, multiple client servers 11-14 belong to departments A-D, respectively. Note that a consortium network may also be formed between multiple independent participants, such as companies and universities.
複数のクライアントサーバ11~14の各々には、CADツール、シミュレーションツールなどの開発用ツールが導入されている。各クライアントサーバ11~14は、データ保存システム3から開発データ4を読み込み、読み込まれた開発データ4に対して各種処理(複製、変換、修正など)を行う。
Each of the multiple client servers 11-14 is equipped with development tools such as CAD tools and simulation tools. Each client server 11-14 reads
各クライアントサーバ11~14には、ブロックチェーン基盤のソフトウェアがさらに導入されている。ブロックチェーン基盤のソフトウェアが機能することにより、各クライアントサーバ11~14に含まれる制御装置(図2参照)がノードとして機能する。複数のノードがネットワークNWを介して相互に通信することにより、ブロックチェーンネットワークが形成されている。各クライアントサーバ11~14は、本開示に係る「データ管理装置」に相当する。
Blockchain-based software is also installed in each of the
管理サーバ2は、複数のクライアントサーバ11~14により形成されたブロックチェーンネットワークを管理する。より具体的には、管理サーバ2は、各クライアントサーバ11~14からのブロックチェーンネットワークへの参加申請を受け付ける。管理サーバ2は、管理サーバ2の管理者による参加を許可する操作に基づき、または、所定の条件の判定結果に基づき、クライアントサーバのブロックチェーンネットワークへの参加を許可する。
The
データ保存システム3は、たとえば製品情報管理(PDM:Product Data Management)システムである。データ保存システム3は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等(いずれも図示せず)の不揮発的な記憶媒体を含む。データ保存システム3は、クライアントサーバ11~14により各種処理が行われた開発データ4を保存する。データ保存システム3に保存される開発データ4は、オフチェーン(ブロックチェーンネットワークの外部)で管理される。データ保存システム3は、本開示に係る「データ保存装置」に相当する。
The
図2は、製品の開発データ4の一例を説明するための図である。製品は、機械工業、金属工業、石油化学工業などの分野の工業製品である。製品の開発データ4は、上記の工業製品の検討用データである。
Figure 2 is a diagram for explaining an example of
ここでは製品が自動車であると想定する。開発データ4は、自動車または自動車部品のCAD(Computer Aided Design)データ、CAE(Computer Aided Engineering)データ、CAM(Computer Aided Manufacturing)データである。
Here, we assume that the product is an automobile.
図2に示すように、開発データ4は、たとえば、データ名と、データ形式と、開発データ4の作成時刻と、開発データ4の(最終)更新時刻と、データ本体とを含む。開発データ4のハッシュ値とともに、データ保存システム3に保存(登録)される。開発データ4のハッシュ値については後述する。
As shown in FIG. 2, the
ただし、開発データ4のハッシュ値がデータ保存システム3に保存されることは必須ではない。開発データ4のハッシュ値をデータ保存システム3に保存せず、必要な場合には、その都度、開発データ4のハッシュ値が算出される構成であってもよい。
However, it is not essential that the hash value of the
<クライアントサーバの構成>
複数のクライアントサーバ11~14は同等の構成および機能を有する。したがって、以下では、A部門に帰属するクライアントサーバ11について代表的に説明する。
<Client server configuration>
The
図3は、クライアントサーバ11のハードウェア構成を概略的に示す図である。クライアントサーバ11は、制御装置511と、ROM(Read Only Memory)512と、RAM(Random Access Memory)513と、通信装置514と、記憶装置515と、入力装置516と、表示装置517とを含む。上記装置は、バス518により通信可能に接続されている。
Figure 3 is a diagram showing a schematic diagram of the hardware configuration of the
制御装置511は、CPU(Central Processing Unit)等の集積回路を含む。ROM512は、ブロックチェーン基盤のソフトウェアを含む各種プログラムを格納する。RAM513は、ワーキングメモリとして機能し、各種プログラムの実行に必要なデータを一時的に格納する。制御装置511は、ROM512に格納されている各種プログラムをRAM513に展開することによって様々な演算処理を実行するように構成されている。
The
制御装置511は、ブロックチェーンネットワークにおけるノードとして以下のような処理を実行するように構成されている。制御装置511は、ノードとしての初回起動時には、所定の規格に準拠した秘密鍵61および公開鍵62を生成する。制御装置511は、トランザクションデータを生成する。制御装置511は、秘密鍵61を用いて電子署名を生成し、トランザクションデータに付加する。制御装置511は、他のノードが提案したトランザクションデータを承認する(コンセンサス)。制御装置511は、他のノードが提案したトランザクションデータを検証し、検証結果に問題がなければ当該トランザクションデータに電子署名を付して、当該トランザクションデータを他のノードに返信する。
The
通信装置514は、外部機器との通信が可能に構成されている。外部機器は、他のクライアントサーバ12~14、管理サーバ2、および、データ保存システム3を含む。なお、通信装置514と外部機器との間の通信は、インターネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イーサネット(登録商標)ネットワーク、パブリックネットワーク、プライベートネットワーク、有線ネットワーク、無線ネットワーク、あるいは、これらの組み合わせを用いて行われる。
The
記憶装置515は、HDD、SSD、フラッシュメモリ等の記憶媒体を含む。記憶装置515は、制御装置511により生成された秘密鍵61および公開鍵62に加えて、ブロックチェーンデータ(以下、「BLCデータ」と記載する)7を記憶する。本実施の形態においてBLCデータ7に格納されるトランザクションデータについては後述する。
The
入力装置516は、ユーザの操作を受け付ける。ユーザとは、製品の開発データ4を取り扱う担当者であり、開発者、研究者、CADオペレータ等である。入力装置516は、たとえば、マウス、キーボード、タッチパネルを含む。
The
表示装置517は、制御装置511からの制御信号に従って各種画像を表示する。表示装置517は、たとえば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイを含む。
The
<BLCデータ>
図4は、BLCデータ7のデータ構造を説明するための図である。BLCデータ7は、ひと繋ぎの複数のブロック70を含む。複数のブロック70の各々には、前ブロックのハッシュ値と、トランザクションデータとが格納されている。BLCデータ7には、データ管理システム100の運用が開始されてから現在までの開発データ4の履歴が記録されている。
<BLC Data>
4 is a diagram for explaining the data structure of the
BLCデータ7は、ブロックチェーンネットワークを形成するすべてのクライアントサーバ11~14に記録されている(図1参照)。これにより、仮にクライアントサーバ11のBLCデータ7が改竄されたとしても、他の複数のクライアントサーバ12~14のBLCデータ7を基準として改竄が抑制される。
The
より詳細には、新たな開発データ4が作成されたり既存の開発データ4が修正されたりした場合、クライアントサーバ11(制御装置511)は、開発データ4をデータ保存システム3に記憶させるとともに、開発データ4に対する処理を示すトランザクションデータを生成する。クライアントサーバ11は、ハッシュ関数を用いて開発データ4をハッシュ化し、ハッシュ化により得られたハッシュ値を含むトランザクションデータを生成する。クライアントサーバ11は、生成されたトランザクションデータを通信装置514を介してブロックチェーンネットワークに送信する。
More specifically, when
未承認のトランザクションデータは、新規のブロック70(図中、(n+1)番目のブロック)に纏められる。新規のブロック70は、マイニング処理により承認されると、BLCデータ7に追加される。トランザクションデータは、各クライアントサーバ11~14に記録されるBLCデータ7に追加されて初めて有効となる。マイニング処理の合意形成アルゴリズムとしては、たとえば、PoW(Proof of Work)、PoS(Proof of Stake)、PBFT(Practical Byzantine Fault Tolerance)などのアルゴリズムを採用できる。
Unapproved transaction data is collected into a new block 70 (the (n+1)th block in the figure). Once the
<開発データの関連付け>
図5は、開発業務における開発データ4の変遷の典型例を説明するための模式図である。時刻t0において、検討の基礎となる開発データ4が作成されたと想定する。この開発データ4を以下、「本流データ」とも称する。
<Association of development data>
5 is a schematic diagram for explaining a typical example of the transition of
時刻t1において、本流データから派生した別の開発データ4が作成されて登録される。この開発データ4を以下、「第1派生データ」とも称する。第1派生データは、製品の仕様、性能、条件などを検討するために、本流データを複製したものであってもよい。第1派生データは、本流データの熱解析、衝突解析などを目的に本流データを他のツールで使用するために、本流データを変換したものであってもよい。第1派生データは、本流データ(または本流データを複製したデータ)を修正したものであってもよい。
At time t1,
本流データ自身も更新され得るため、本流データが作成後も常に不変とは限らない。図5の例では、時刻t2と時刻t3との2回、本流データが更新される。 Because the mainstream data itself may be updated, the mainstream data is not necessarily always unchanged after it is created. In the example of Figure 5, the mainstream data is updated twice, at times t2 and t3.
時刻t4において、第1派生データからさらに派生した別の開発データ4が作成されて登録される。この開発データ4を以下、「第2派生データ」とも称する。第2派生データは、第1派生データに対して複製、変換、修正などの処理を施したものである。
At time t4, another
以上のように、本流データが更新されたり、本流データから第1派生データが作成されたり、第1派生データから第2の派生データが作成されたりことで、データ保存システム3には様々な開発データ4が登録(保存)され得る。ある開発データの複製、変換、修正などにより別の開発データが派生した場合、上記2つの開発データは「関連」していると言える。関連する開発データ4が適切に管理されていない場合、「誤った開発データ4を用いて検討したため再検討が必要になった」などの事態が発生し、開発コストが増えたり開発期間(リードタイム)が長くなったりし得る。言い換えると、開発効率が低下する可能性がある。そこで、本実施の形態においては、各開発データ4からハッシュ値を生成し、ハッシュ値を用いて開発データ4を関連付ける。
As described above,
図6は、本実施の形態における開発データ4の関連付けの概要を説明するための模式図である。本実施の形態では、ハッシュ値同士を紐付けることによって開発データ4の関連付けが実現される。図5および図6に示す例では、時刻t1において本流データから第1派生データが作成されて登録される際に、本流データから生成されるハッシュ値HV0と、第1派生データから生成されるハッシュ値HV1とが紐付けられる。
Figure 6 is a schematic diagram for explaining an overview of the association of
同様に、時刻t4において第1派生データから第2派生データが作成されて登録される際に、本流データから生成されるハッシュ値HV0と、第1派生データから生成されるハッシュ値HV1と、第2派生データから生成されるハッシュ値HV2とが紐付けられる。ここでのハッシュ値HV0の基になる本流データは、本流データが更新された時刻t2,t3における本流データではなく、第2派生データに繋がる第1派生データが作成された時刻t1における本流データである。 Similarly, when the second derived data is created from the first derived data at time t4 and registered, the hash value HV0 generated from the mainstream data, the hash value HV1 generated from the first derived data, and the hash value HV2 generated from the second derived data are linked. The mainstream data on which the hash value HV0 is based here is not the mainstream data at times t2 and t3 when the mainstream data was updated, but the mainstream data at time t1 when the first derived data linked to the second derived data was created.
<トランザクションデータ>
図7は、本実施の形態におけるハッシュ値の紐付けを説明するための概念図である。図7には、図6にて説明した例に対応して、3つのトランザクションデータ700~702が示されている。トランザクションデータ700~702は、この順に生成される。
<Transaction Data>
Fig. 7 is a conceptual diagram for explaining linking of hash values in this embodiment. Fig. 7 shows three
トランザクションデータ700は、本流データ40から生成されたハッシュ値HV0を含む。トランザクションデータ701は、本流データ40から生成されたハッシュ値HV0に加えて、第1派生データ41から生成されたハッシュ値HV1をさらに含む。トランザクションデータ702は、本流データ40から生成されたハッシュ値HV0と、第1派生データ41から生成されたハッシュ値HV1とに加えて、第2派生データ42から生成されたハッシュ値HV2をさらに含む。
開発データ4のハッシュ値を含むトランザクションデータ700~702は、同一のブロック70(図4参照)に格納されている。開発データ4のハッシュ値をBLCデータ7の一部として管理することにより、開発データ4の耐改竄性を向上させることができる。
Transaction data 700-702, which includes the hash value of
各トランザクションデータ700~702は、開発データ4から生成されたハッシュ値に加えて、以下のような情報を含むことが望ましい。
In addition to the hash value generated from the
図8は、本実施の形態においてBLCデータ7のブロック70に格納されるトランザクションデータ700~702を説明するための概念図である。トランザクションデータ700~702は、たとえば、トランザクションデータを識別するためのトランザクションIDと、本流データのハッシュ値HV0と、ハッシュ値HV0の生成時刻を示すタイムスタンプT0と、第1派生データのハッシュ値HV1と、ハッシュ値HV1の生成時刻を示すタイムスタンプT1と、第2派生データのハッシュ値HV2と、ハッシュ値HV2の生成時刻を示すタイムスタンプT2とを含む。紙面の都合から図示しないが、トランザクションデータは、第3派生データ以降のハッシュ値およびタイムスタンプを含んでもよい。
Figure 8 is a conceptual diagram for explaining transaction data 700-702 stored in
逆に、トランザクションデータは、すべての派生データを含まなくてもよい。つまり、トランザクションデータは、ある開発データのハッシュ値と、その開発データの派生元の開発データのハッシュ値とを含む一方で、さらに上流の派生元の開発データのハッシュ値は含まなくてもよい。各トランザクションデータが2つの開発データのハッシュ値を含めば、それよりも上流の派生元の開発データのハッシュ値を辿ることが可能なためである。 Conversely, the transaction data does not have to include all derived data. In other words, the transaction data may include the hash value of a certain development data and the hash value of the development data from which that development data is derived, but may not include the hash value of the development data from which it is derived further upstream. This is because if each transaction data includes the hash values of two development data, it is possible to trace back to the hash value of the development data from which it is derived further upstream.
後に図10にて説明するように、開発データ4に対して登録操作が行われる度にハッシュ値が生成される。そのため、ハッシュ値の生成時刻と、開発データ4の登録時刻とは略一致する。したがって、トランザクションデータにおけるハッシュ値の生成時刻を、開発データ4の登録時刻に読み替えることができる。
As will be explained later in FIG. 10, a hash value is generated each time a registration operation is performed on
トランザクションデータ700~702は、開発データ4の検討目的と、開発データ4に対する処理内容とをさらに含むことが望ましい。検討目的とは、たとえば、製品の仕様、性能、条件等の項目のうち、どの項目をどのような目的で検討するかに関する説明である。処理内容とは、たとえば変更前と変更後との間の差分に相当する、変更内容である。処理内容は、熱解析、衝突解析などのために実施された変換処理の内容であってもよい。検討目的および処理内容は、開発データ4に対する処理時にユーザ(担当の開発者など)によってテキスト入力される。これにより、他のユーザが開発データ4の検討目的および処理内容を把握できるので、たとえば、探している開発データ4を容易に発見することが可能になる。
It is desirable that the
図示しないが、トランザクションデータ700~702は、当該トランザクションデータをブロックチェーンネットワークへ向けて送信(ブロードキャスト)する時刻情報、トランザクションデータの送信者情報(開発部門または開発者を示す情報)、電子署名等をさらに含んでもよい。 Although not shown, the transaction data 700-702 may further include time information when the transaction data is transmitted (broadcast) to the blockchain network, sender information of the transaction data (information indicating the development department or developer), an electronic signature, etc.
このように、本実施の形態においては、互いに関連する開発データ4の各々から生成されるハッシュ値を紐付けることによって、開発データ4間の関係が規定される。これにより、ユーザが検討のため開発データ4を選択する際に、その開発データ4がどこから来たか、いわば開発データ4の素性(身元)を確認することが可能になる。その結果、誤った開発データ4を用いた検討が防止されるので、開発コストの増大、開発期間の延長などを抑制できる。すなわち、開発効率を向上させることができる。
In this manner, in this embodiment, the relationships between
<機能ブロック>
図9は、開発データ4の管理に関連するクライアントサーバ11(より詳細には制御装置511)の機能ブロック図である。制御装置511は、開発データ4処理部801と、ハッシュ生成部802と、電子署名部803と、時刻取得部804と、テキスト取得部805と、トランザクションデータ生成部806と、トランザクションデータ取得部807と、ハッシュ抽出部808と、時刻抽出部809と、テキスト抽出部810と、表示指令部811とを含む。
<Function block>
9 is a functional block diagram of the client server 11 (more specifically, the control device 511) related to the management of the
開発データ4処理部801は、データ保存システム3から通信装置514を介して開発データ4を受信する。また、開発データ4処理部801は、開発データ4を新たに作成(複製など)したり、開発データ4を処理(変換、修正など)したりすることもできる。さらに、開発データ4処理部801は、作成されたり処理されたりした開発データ4をデータ保存システム3に通信装置514を介して送信する。また、開発データ4処理部801は、開発データ4をハッシュ生成部802に出力する。
The
ハッシュ生成部802は、開発データ4処理部801から受けた開発データ4をハッシュ関数を用いてハッシュ化することでハッシュ値を生成する。ハッシュ生成部802は、ハッシュ値を電子署名部803およびトランザクションデータ生成部806に出力する。さらに、図示しないが、ハッシュ生成部802は、ハッシュ値をデータ保存システム3に出力する。これにより、図2にて説明したように、開発データ4が、そのハッシュ値とともにデータ保存システム3に保存される。
The
電子署名部803は、記憶装置515に保存された秘密鍵を読み出す。電子署名部803は、秘密鍵を用いてハッシュ値を暗号化することで電子署名を生成する。電子署名部803は、電子署名をトランザクションデータ生成部806に出力する。
The
時刻取得部804は、トランザクションデータ生成時における時刻(タイムスタンプ)を取得する。タイムスタンプは、クライアントサーバ11の内部のタイマ(図示せず)を用いて取得してもよいし、外部の時刻認証局(図示せず)から取得してもよい。時刻取得部804は、タイムスタンプをトランザクションデータ生成部806に出力する。
The
テキスト取得部805は、開発データ4の検討目的と、開発データ4に対する処理内容とに関するテキストデータを取得する。前述のように、検討目的および処理内容は、ユーザ(開発者)によってテキスト入力される。テキスト取得部805は、テキストデータをトランザクションデータ生成部806に出力する。
The
トランザクションデータ生成部806は、ハッシュ生成部802から受けたハッシュ値をBLCデータ7(ブロック70)に格納するためのトランザクションデータを生成する。さらに、トランザクションデータ生成部806は、電子署名部803からの電子署名をトランザクションデータに付加する。トランザクションデータ生成部806は、電子署名が付加されたトランザクションデータを、トランザクションデータの送信先の情報が示すノードのアドレスとともに、通信装置514に出力する。これにより、トランザクションデータが送信先のノードに送信される。
The transaction
トランザクションデータ取得部807は、記憶装置515内のBLCデータ7に格納されているトランザクションデータを取得する。トランザクションデータ取得部807は、トランザクションデータをハッシュ抽出部808と時刻抽出部809とテキスト抽出部810とに出力する。
The transaction
ハッシュ抽出部808は、トランザクションデータ(図8参照)からハッシュ値を抽出する。ハッシュ抽出部808は、互いに紐付けられたハッシュ値によって関連付けられた開発データ4(開発データの関係性)を特定する。前述のように、開発データ4は、そのハッシュ値とともにデータ保存システム3に保存されている。したがって、ハッシュ抽出部808により抽出されたハッシュ値に基づいて、開発データ4のデータ名、データ形式などを取得可能である。ハッシュ抽出部808は、特定または取得した各情報を表示指令部811に出力する。
The
時刻抽出部809は、トランザクションデータからタイムスタンプを抽出する。時刻抽出部809は、抽出されたタイムスタンプを表示指令部811に出力する。
The
テキスト抽出部810は、トランザクションデータから開発データ4の検討目的および処理内容に関するテキストデータを抽出する。テキスト抽出部810は、抽出された検討目的およびに処理内容を表示指令部811に出力する。
The
表示指令部811は、ハッシュ値、タイムスタンプ、開発データ4の検討目的および処理内容に関するテキストデータを表示装置517に表示させるための指令を生成する。表示指令部811は、生成された指令を表示装置517に出力する。これにより、各情報が表示装置517に表示される。
The
<処理フロー>
図10は、開発データ4を登録するための一連の処理の手順を示すフローチャートである。このフローチャートに示される処理は、所定条件の成立時(たとえば所定周期毎)にメインルーチン(図示せず)から呼び出されて実行される。各ステップは、クライアントサーバ11の制御装置511によるソフトウェア処理により実現される。しかし、一部または全部のステップがMS 明朝内に配置されたハードウェア(電子回路)により実現されてもよい。以下、ステップをSと略す。後述する図11のフローチャートについても同様である。
<Processing flow>
10 is a flow chart showing a series of processing steps for registering
S101において、制御装置511は、データ保存システム3から読み込まれた開発データ4に対して、ユーザによる入力装置516への操作に従って各種処理(複製、変換、修正など)を実行する。
In S101, the
S102において、制御装置511は、ユーザによる開発データ4の登録操作を入力装置516が受け付けたかどうかを判定する。登録操作とはユーザが開発データ4の登録(または保存)を要求する操作である。登録操作を受け付けていない場合(S102においてNO)、制御装置511は、以下の処理をスキップして処理をメインルーチンに戻す。登録操作を受け付けると(S102においてYES)、制御装置511は処理をS103に進める。
In S102, the
S103において、制御装置511は、開発データ4の検討目的および処理内容に関するテキストデータを入力装置516を介して取得する。
In S103, the
S104において、制御装置511は、開発データ4の登録時刻(=続くステップにおけるハッシュ値の生成時刻)のタイムスタンプを取得する。
In S104, the
S105において、制御装置511は、S101の処理後の最新の開発データ4をハッシュ関数を用いてハッシュ化し、ハッシュ値を生成する。
In S105, the
S106において、制御装置511は、記憶装置515に格納された秘密鍵を用いて、S105にて生成されたハッシュ値を暗号化して電子署名を生成する。
In S106, the
S107において、制御装置511は、S103~S106の処理にて生成された各情報(開発データ4の検討目的および処理内容に関するテキストデータ、登録時刻のタイムスタンプ、ハッシュ値、電子署名)を含むトランザクションデータ(図8参照)を生成する。制御装置511は、これらの情報に加えて、トランザクションデータをブロックチェーンネットワークに送信(ブロードキャスト)する時刻情報、トランザクションデータの送信者情報などをトランザクションデータに含めてもよい。
In S107, the
S108において、制御装置511は、トランザクションデータをブロックチェーンネットワークに向けて送信するための指令を通信装置514に出力する。これにより、トランザクションデータが通信装置514からブロックチェーンネットワークへ向けて送信される。
In S108, the
S109において、制御装置511は、S101の処理後の開発データ4と、S105にて生成されたハッシュ値とをデータ保存システム3に出力するとともに、開発データ4およびハッシュ値を登録(保存)する要求をデータ保存システム3に出力する。これにより、開発データ4およびハッシュ値がデータ保存システム3に登録される。
In S109, the
図11は、開発データ4を読み込むための一連の処理の手順を示すフローチャートである。S201において、制御装置511は、ユーザによる開発データ4の読込操作を入力装置516が受け付けたかどうかを判定する。読込操作を受け付けていない場合(S201においてNO)、制御装置511は、以下の処理をスキップして処理をメインルーチンに戻す。読込操作を受け付けると(S201においてYES)、制御装置511は処理をS202に進める。
Figure 11 is a flowchart showing a series of processing steps for reading
S202において、制御装置511は、記憶装置515内のBLCデータ7から、S201の読込操作により選択された開発データ4に対応するトランザクションデータ(図8参照)を取得する。
In S202, the
S203において、制御装置511は、S202にて取得されたトランザクションデータに含まれる1以上のハッシュ値に基づいて、当該ハッシュ値に対応する1以上の開発データ4を特定する。たとえば図8の例においてトランザクションデータ702が取得された場合、制御装置511は、互いに紐付けられたハッシュ値HV0~HV2に対応する3つの開発データ4を特定する。すなわち、制御装置511は、読込操作により選択された開発データ4としてハッシュ値HV2に対応する第2派生データを特定するとともに、ハッシュ値HV1に対応する第1派生データと、ハッシュ値HV0に対応する本流データとを特定する。データ保存システム3には開発データ4とハッシュ値とが保存されている。制御装置511は、データ保存システム3から、各開発データ4のハッシュ値から、当該ハッシュ値に対応する開発データ4のデータ名を取得することが望ましい。
In S203, the
S204において、制御装置511は、トランザクションデータから、各開発データ4のタイムスタンプを抽出する。
In S204, the
S205において、制御装置511は、トランザクションデータから、各開発データ4の検討目的および処理内容に関するテキストデータを抽出する。
In S205, the
S206において、制御装置511は、S203~S205の処理により取得または抽出された情報を表示するように表示装置517を制御する。
In S206, the
図12は、表示装置517への表示内容の一例を示す図である。図12に示すように、表示装置517には、たとえばテーブル91のような形式で、開発データ4のデータ名、当該開発データ4の更新時刻、当該開発データ4にとっての本流データのデータ名、本流データの更新時刻、当該開発データ4にとっての派生データのデータ名、派生データの更新時刻、当該開発データ4の検討目的および処理内容に関するテキストデータなどが表示される。このテーブルを参照することで、ユーザは、自身が選択した開発データ4の他の開発データ4との関係性、言い換えると、当該開発データ4の素性を一目で確認できる。
Figure 12 is a diagram showing an example of the contents displayed on the
また、ユーザは、各開発データ4の更新時刻を確認できる。これにより、ユーザは、当該開発データ4を用いた開発業務が行われた時期に合致するかどうかを判断することで、その開発データ4の妥当性を判定できる。あるいは、ユーザは、選択したデータが最新のデータかどうかを判定できる。さらに、ユーザは、開発データ4に関する検討目的および処理内容に関するテキストデータから、当該開発データ4の内容を容易に把握できる。
The user can also check the update time of each
図11を再び参照して、S207において、制御装置511は、読込対象の開発データ4を確定するための入力装置516へのユーザ操作を受け付けたかどうかを判定する。たとえば、図12に示す決定ボタン92がクリックされた場合に、制御装置511は、読込対象の開発データ4を確定したと判定する。読込対象の開発データ4が確定した場合(S207においてYES)、制御装置511は、データ保存システム3から当該開発データ4を読み込む(S208)。その後、制御装置511は処理をメインルーチンに戻す。
Referring again to FIG. 11, in S207, the
なお、図12に示すキャンセルボタン93がクリックされた場合など、読込対象の開発データ4が確定しなかった場合(S207においてNO)、制御装置511は、データ保存システム3から開発データ4を読み込むことなく、処理をメインルーチンに戻す。
If the
以上のように、本実施の形態においては、BLCデータ7に格納されたハッシュ値を用いて複数の開発データ間の関係性が規定される。規定された開発データ間の関係性は表示装置517に表示される。これにより、ユーザは、自身が選択した開発データの本流データ、関連する派生データなどを事前に確認できるため、誤った開発データ4から出発した検討が防止される。よって、本実施の形態によれば、開発効率を向上させることができる。
As described above, in this embodiment, the relationships between multiple development data are defined using the hash values stored in the
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present disclosure is indicated by the claims rather than the description of the embodiments above, and is intended to include all modifications within the meaning and scope of the claims.
100 データ管理システム、11~14 クライアントサーバ、2 プラットフォームサーバ、3 データ保存システム、411 制御装置、412 ROM、413 RAM、414 通信装置、415 記憶装置、416 入力装置、417 表示装置、418 バス、51 秘密鍵、52 公開鍵、6 BLCデータ、60 ブロック、600~602 トランザクションデータ、7 開発データ4、70 本流データ、71 第1派生データ、72 第2派生データ、801 開発データ4処理部、802 ハッシュ生成部、803 電子署名部、804 時刻取得部、805 テキスト取得部、806 トランザクションデータ生成部、807 トランザクションデータ取得部、808 ハッシュ抽出部、809 時刻抽出部、810 テキスト抽出部、811 表示指令部、91 テーブル、92 決定ボタン、93 キャンセルボタン。
100 Data management system, 11-14 Client server, 2 Platform server, 3 Data storage system, 411 Control device, 412 ROM, 413 RAM, 414 Communication device, 415 Storage device, 416 Input device, 417 Display device, 418 Bus, 51 Private key, 52 Public key, 6 BLC data, 60 Block, 600-602 Transaction data, 7
Claims (3)
前記開発データに関するトランザクションデータが格納された分散型台帳を各々が有する複数のデータ管理装置とを備え、
前記複数のデータ管理装置の各々は、第1開発データを前記データ保存装置に登録する場合に、前記第1開発データの派生元である第2開発データと、前記第2開発データの派生元である第3開発データとが存在するときには、前記第1開発データから生成された第1ハッシュ値と、前記第2開発データから生成された第2ハッシュ値と、前記第3開発データから生成された第3ハッシュ値とを含む前記トランザクションデータを前記分散型台帳に格納し、
前記第2ハッシュ値は、前記第1開発データが前記第2開発データから派生したときの前記第2開発データから生成され、
前記第3ハッシュ値は、前記第2開発データが前記第3開発データから派生したときの前記第3開発データから生成される、データ管理システム。 A data storage device for storing development data;
a plurality of data management devices each having a distributed ledger in which transaction data related to the development data is stored;
When registering first development data in the data storage device, if second development data from which the first development data is derived and third development data from which the second development data is derived exist, each of the multiple data management devices stores in the distributed ledger the transaction data including a first hash value generated from the first development data, a second hash value generated from the second development data, and a third hash value generated from the third development data ;
the second hash value is generated from the second development data when the first development data is derived from the second development data;
The data management system according to claim 1, wherein the third hash value is generated from the third development data when the second development data is derived from the third development data .
前記第1ハッシュ値の生成時刻を示す第1タイムスタンプと、前記第1開発データの検討目的および処理内容に関する第1テキストデータとを含む第1トランザクションデータと、first transaction data including a first time stamp indicating a generation time of the first hash value and first text data related to a review purpose and a processing content of the first development data;
前記第2ハッシュ値の生成時刻を示す第2タイムスタンプと、前記第2開発データの検討目的および処理内容に関する第2テキストデータを含む第2トランザクションデータと、second transaction data including a second time stamp indicating a generation time of the second hash value and second text data related to a review purpose and a processing content of the second development data;
前記第3ハッシュ値の生成時刻を示す第3タイムスタンプと、前記第3開発データの検討目的および処理内容に関する第3テキストデータとを含む第3トランザクションデータとを生成する、請求項1に記載のデータ管理システム。2. The data management system according to claim 1, further comprising: a third transaction data generating unit configured to generate a third transaction data including a third timestamp indicating the time when the third hash value was generated and third text data relating to the purpose of the review and the processing content of the third development data.
前記第1タイムスタンプ~前記第3タイムスタンプに基づいて前記第1開発データ~前記第3開発データの更新時刻を表示するとともに、前記第1テキストデータ~前記第3テキストデータに基づいて前記第1開発データ~前記第3開発データの検討目的および処理内容を表示する表示装置と、a display device that displays update times of the first development data to the third development data based on the first time stamp to the third time stamp, and also displays a review purpose and a processing content of the first development data to the third development data based on the first text data to the third text data;
前記表示装置の表示を確認したユーザが前記第1開発データ~前記第3開発データのうちの1つの開発データを選択する操作を受け付ける入力装置と、an input device that accepts an operation by a user who has confirmed a display on the display device to select one of the first development data to the third development data;
前記ユーザにより選択された開発データを前記データ保存装置から読み込む制御装置とを含む、請求項2に記載のデータ管理システム。3. The data management system according to claim 2, further comprising a control device for reading the development data selected by the user from the data storage device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022053707A JP7652123B2 (en) | 2022-03-29 | 2022-03-29 | Data Management System |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022053707A JP7652123B2 (en) | 2022-03-29 | 2022-03-29 | Data Management System |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023146501A JP2023146501A (en) | 2023-10-12 |
| JP7652123B2 true JP7652123B2 (en) | 2025-03-27 |
Family
ID=88286585
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022053707A Active JP7652123B2 (en) | 2022-03-29 | 2022-03-29 | Data Management System |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7652123B2 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019220146A (en) | 2018-06-18 | 2019-12-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Management method, management apparatus, and, program |
| JP2019220148A (en) | 2018-06-18 | 2019-12-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Management method, management apparatus, and program |
| JP2020071691A (en) | 2018-10-31 | 2020-05-07 | 国立大学法人 奈良先端科学技術大学院大学 | Software build process recording system and method, and software build process monitoring program |
| JP2020178240A (en) | 2019-04-18 | 2020-10-29 | 三菱重工業株式会社 | Management system, management method, high-order block chain arithmetic device, and program |
| JP2022038641A (en) | 2020-08-27 | 2022-03-10 | 国立研究開発法人情報通信研究機構 | Information transmission system |
-
2022
- 2022-03-29 JP JP2022053707A patent/JP7652123B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019220146A (en) | 2018-06-18 | 2019-12-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Management method, management apparatus, and, program |
| JP2019220148A (en) | 2018-06-18 | 2019-12-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Management method, management apparatus, and program |
| JP2020071691A (en) | 2018-10-31 | 2020-05-07 | 国立大学法人 奈良先端科学技術大学院大学 | Software build process recording system and method, and software build process monitoring program |
| JP2020178240A (en) | 2019-04-18 | 2020-10-29 | 三菱重工業株式会社 | Management system, management method, high-order block chain arithmetic device, and program |
| JP2022038641A (en) | 2020-08-27 | 2022-03-10 | 国立研究開発法人情報通信研究機構 | Information transmission system |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023146501A (en) | 2023-10-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103403720B (en) | The Design assistant device of network system | |
| US20200394309A1 (en) | Blockchains for software component vulnerability databases | |
| EP4221074A1 (en) | Controlled cryptographic private key release | |
| US11210404B2 (en) | Blockchain-based state verifications of software component vulnerability database for software products | |
| JP6617253B1 (en) | Document management system | |
| US20220114276A1 (en) | Controlling a data network with respect to a use of a distributed database | |
| JP2020077256A (en) | Anonymization system and anonymization method | |
| CN110309173B (en) | Contract data recording method, device, blockchain node, and storage medium | |
| CN114826736A (en) | Information sharing method, device, equipment and storage medium | |
| JP7652123B2 (en) | Data Management System | |
| CN111858835A (en) | Enterprise relationship display method and related equipment | |
| CN114416883A (en) | Block chain light node data synchronization method, device, equipment and readable storage medium | |
| US20250208845A1 (en) | Information processing device and information processing method | |
| JP7657731B2 (en) | Control server, data sharing system, and control program | |
| US12256031B2 (en) | Data management apparatus and data management method | |
| JP2024147286A (en) | Data management device and data management method | |
| CN120731433A (en) | Server device, information processing method, and non-transitory storage medium | |
| US12355897B2 (en) | Data management apparatus and data management method | |
| JP5456707B2 (en) | FUNCTION INFORMATION GENERATION DEVICE, FUNCTION INFORMATION GENERATION METHOD, AND FUNCTION INFORMATION GENERATION PROGRAM | |
| JP5359385B2 (en) | Integrated management system, integrated management apparatus, integrated management method, and program | |
| US12602480B2 (en) | Data management apparatus and data management method | |
| JP7670589B2 (en) | Data management device and data management method | |
| JP2022021457A (en) | Information processing program, information processing method and information processing device | |
| US20260080316A1 (en) | Machine learning data generation method and machine learning data generation apparatus | |
| US20230153036A1 (en) | Data management apparatus and data management method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240411 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20241225 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250107 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250127 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250212 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250225 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7652123 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |