NoSQL ベースの非リレーショナル データベース データ ストレージ システムの設計と実装

著者のホームページ:プログラミング コンパス

著者について: Java 分野の優れたクリエイター、CSDN ブログの専門家、Nuggets の招待著者、長年のアーキテクト デザイン経験、Tencent Classroom の常駐講師

主な内容:Javaプロジェクト、卒業制作デザイン、履歴書テンプレート、学習教材、面接問題バンク、技術共助

お気に入り、いいね、迷わないで、作者をフォローするといいですよ

記事の最後にあるソースコードを入手してください 

商品番号: なし

1. 環境紹介

ロケール: Java: jdk1.8

データベース: Mysql: mysql5.7

アプリケーションサーバー: Tomcat: tomcat8.5.31

開発ツール: IDEA または Eclipse

2. プロジェクト紹介

NoSQL データベースの出現は、大規模なデータ コレクションの複数のデータ タイプによってもたらされる課題、特に超大規模データのストレージを含むビッグ データ アプリケーションの問題を解決することです。今回は、MongoDB ベースのドキュメント管理システムが選択されました。これは、便利で高速なドキュメント管理システムを設計することを目的としています。このシステムの開発にあたり、システムのデータベースはMongoDBデータベースを使用し、システムのフロントエンドは主にHTMLを使用し、システムのバックエンドはPython言語のDjangoフレームワークを使用しています。システムは、ユーザーが正常にログインした場合にのみ、対応する操作のためにシステムに入ることができるように設定します. パスワードはハッシュ関数によって暗号化されているため、パスワードのセキュリティが大幅に保証されます. すべてのユーザーはこのシステムを使用して、ドキュメントのアップロードとダウンロード、監査者とシステム管理者の監視による承認操作の追加、管理者によるユーザーの追加、削除、および変更を実行できます。最後に、操作テストの後、システムはスムーズに動作し、システムインターフェイスはシンプルで、操作は簡単で、オフィスの効率を最適化し、人員を節約し、システム開発の目的と要件を満たし、システム開発を促進する上で非常に重要です。ドキュメント管理の情報化。

コンピュータを使って文書を操作することは、手作業とは異なります.企業の従業員や文書などのデータが増加し続ける中で、文書を最も簡単に管理し、ユーザーに接続する方法は、この研究プロジェクトの重要なコンテンツです.コンピュータ技術は、文書管理システムに深く関与する。システムの機能モジュールとユーザーをどのように関連付けて権限を付与するかがシステムのポイントであり、機能モジュールが実現する論理的な関係や運用プロセスも同様です。このドキュメント管理システムは、MongoDB データベースに基づいて実装されたプロジェクトです[ 5 ]件名の主な内容:

1. ドキュメント管理システムの特性を分析し、モジュール間の関係を決定します。

2. 非リレーショナル データベースの格納方法を決定します。

3. ログイン、ユーザーの追加、削除、変更などの関連業務の論理的関係を実現するため。

4. システムの要件を分析し、どの機能と実装方法を実現する必要があるかなどを明確にする[ 6 ] ;

5. 権限を割り当て、システム管理者、監督者と監査者、および一般ユーザーの権限を設定します。権限によって、さまざまな機能を実行できます。

1. ドキュメント管理: 非リレーショナル データに基づくドキュメント管理は、システム設計の中核作業であり、さまざまな ID を持つユーザーは、ドキュメントに対するさまざまな操作権限を持っています。通常のユーザーは、ファイルをアップロードおよびダウンロードできます。統括監査員およびシステム管理者は、一般ユーザーが持つ文書のアップロードおよびダウンロードの機能に加えて、ユーザーがアップロードした文書を承認する権限も持っています。

2.ログイン機能:システムのログイン機能は、システムのセキュリティを確保するために必要なリンクであり、3種類のログインオブジェクトがあり、カテゴリごとにシステムに対する操作権限が異なります。ログイン オブジェクトには、一般ユーザー、システム管理者、監督者および監査者の 3 種類があります。

3. ユーザー管理: さまざまな種類のログイン ユーザーに応じて、さまざまな操作権限を割り当てます。管理者の身元の権限には、管理者の個人パスワードおよびその他のユーザー関連情報の追加、削除、および変更の操作が含まれ、監査人の身元を監視する権限には、ファイルのアップロードとダウンロード、ファイルの表示、およびファイル情報のエクスポートが含まれます。の一般ユーザーは、ユーザー自身のパスワードと個人情報のみを変更できます。

4. 役割管理: 役割管理機能は、主にログイン オブジェクトの種類を管理することであり、さまざまなサブ役割をオブジェクトに割り当てることができます。監督者と監査人はドキュメントを承認できます。これは、さまざまなサブロールに応じて、一次審査と二次審査に分けることができます。システム管理者は、ドキュメントの最終レビューを行いますが、自分でアップロードしたファイルの最終レビューを行うことはできません。ドキュメントの 1 回目と 2 回目の試行の過程で、1 回目と 2 回目のレビュアーはドキュメントの具体的な内容を確認できます。

(1) ユーザー機能の追加

ユーザーを追加する機能は、文書管理システムの基本的な機能の 1 つです。管理者は、Web ページ管理ページに入った後、[担当者の追加] をクリックし、ジョブ番号と名前を入力し、[保存] をクリックして、新しいユーザーの作成を完了します。ログイン ページでは、ユーザーは自分のユーザー名とパスワードを入力する必要があります。初期パスワードは 123456 で、システムに入った後に変更できます。入力後、システムはユーザーがデータベースに存在するかどうかを確認します. 存在する場合は、パスワードがデータベースのパスワードと同じかどうかを比較します. 一致する場合は、検証に合格して文書管理ページに入ります. そうしないと、アカウントまたはパスワードのエラーが表示されます。ユーザーのセキュリティを確保するために、ユーザーがパスワードを変更すると、ユーザーのパスワードは暗号化され、ハッシュ関数を介してデータベースに保存されます。これにより、ユーザーのセキュリティの問題がシステムに損害を与えるのを防ぎます。

(2) 情報を見る

通常のユーザーは、アップロードされたドキュメントとすべてのドキュメント情報を表示できます。管理者と監査者は、すべてのユーザーのすべての情報とアップロードされたすべてのドキュメントを表示できます。

(3) 利用者情報

この操作は管理者によって実装されます。[ユーザーの追加] ページで、管理者はユーザーの作成、削除、変更、および権限の割り当てを行うと同時に、ユーザーを別の部門に割り当てることができます。

 

文書管理システムの利用者は、ログインオブジェクトの権限により、一般利用者、監督・監査者、システム管理者の3種類に分けられます。

通常のユーザーは、ファイルのアップロードとダウンロード、および個人のパスワードを変更する機能のみを持っています。

 監督監査員は、文書のアップロードとダウンロード、個人パスワードの変更に加えて、ユーザーがアップロードした文書の内容を閲覧し、文書の第 1 次および第 2 審査を行い、すべての文書情報を Excel にインポートすることができます。

システム管理者は、通常のユーザーの機能に加えて、ユーザーの追加と変更、および文書の最終決定と文書の返却を選択することもできます。具体的なフローチャートを図 7 に示します。

 

図 7 システム フロー チャート

三、システム表示

 4.1 ユーザーログイン

この文書管理システムのログイン ページには、ログイン オブジェクトの ID と権限に応じて、システムに入った後に実行できるさまざまな機能があります。ログインページでは、ユーザーはユーザー名とパスワードを入力する必要があります.スーパーユーザー、つまり管理者は端末で作成されており、共通ユーザーはサイトの管理者によって追加されています.両方の情報は.テーブル。ログインボタンをクリックすると、システムは最初にユーザー名がデータベーステーブルに存在するかどうか、およびパスワードが正しいかどうかをチェックします. 検証が成功すると、次のページに入ります. 管理者がログインすると、サイトに入ります.一般ユーザーがログインすると、文書管理ページに入ります。ログイン ページを図 8 に示します。

図 8 ログイン ページ

システム利用者がモジュールにログインすると、利用者が入力した要素がフォームの形でバックエンドに送信され、バックエンドが処理や判断を行います。ユーザーがエラーを入力した場合は、アカウントまたはパスワードの入力エラーを返します。正しい場合は、メイン ページにジャンプして次のステップに進みます。アカウントが終了するように設定されている場合は、アカウントが終了しました。ロックされています。管理者に連絡してください。バックエンド ログインのメイン コードは次のとおりです。

 

4.2ユーザー変更パスワード  

ユーザーがシステムのメイン ページにログインした後、右上隅でパスワードの変更操作を実行できます.パスワードの変更をクリックした後、ユーザーはパスワードの変更操作に入ります.新しいパスワードを入力する必要があります. 2 回保存をクリックすると、データベースは暗号化されたパスワードを保存します。パスワード変更インターフェイスを以下の図 9 に示します。

図 9 パスワードの変更インターフェイス

パスワードを変更するには、ユーザーは新しいパスワードを 2 回入力する必要があります。同じでない場合、2 つのパスワードは一致しません。入力しない場合、返されるパスワードを空にすることはできません。バックエンドでパスワードを変更するための主なコードは次のとおりです。

4.3利用者情報の管理

管理者は、新しいユーザーの追加、すべてのユーザー情報の参照、ユーザー情報の変更、ユーザーの削除、ユーザーへの権限の割り当て、ユーザーへの部門の割り当てなど、すべてのユーザーを一元的に管理できます。利用者情報管理システムの実装にあたっては、Djangoフレームワークに付属するシステムモジュールを選択し、これを基にシステムの書き換えや機能拡張等を行い、利用者情報管理機能を実現します。管理者がユーザー情報を確認すると、ユーザー情報管理システムはすべてのユーザー情報の表を提供します.インターフェイスはシンプルで明確であり、ユーザー情報は明確に表示されます.同時に、上部に検索ボックスが設計されています.ユーザーを見つけるのは簡単です。ページ効果を図 10 に示します。

 

図 10 ユーザー管理効果表示インターフェース

バックエンド ユーザー管理のメイン コードは次のとおりです。

 

4.3.1ユーザーの追加

管理者は、新しいユーザーを作成する権限を持っています.ユーザー管理ページの[人材の追加]ボタンをクリックすると、ユーザー管理ページがユーザーの追加インターフェイスにジャンプします.管理者は、ユーザーの基本情報、ジョブ番号、名前などを入力できます. ユーザー名は名前で、初期パスワードは 123456 で、最初のログイン後にユーザーが変更できます。次に、ユーザーの部門を設定し、役割を割り当て、最後にそれを送信して、成功したユーザーを作成できます。(* は必須の情報で、その他はオプションです。) ユーザーの追加とアクセス許可の割り当てを図 11 に示します。

 

図 11 ユーザー インターフェイスの追加

4.3.2ユーザーの変更

管理者がユーザーの情報を変更したい場合、ユーザー管理インターフェースで変更したいユーザーの名前をクリックする必要があり、ページはユーザーの情報インターフェースにジャンプし、管理者はジョブ番号などの情報を変更できます。 、名前、部門。変更後、権限を再割り当てすることもできます。[保存] をクリックすると、新しいユーザー情報が更新され、データベース テーブルに保存されます。ユーザーのパスワードを忘れた場合、管理者はパスワードをリセットできます。 123456 にリセットされます。その効果を図 12 に示します。

      ユーザーの変更 ユーザー名が変更された場合、ユーザー名が他のユーザーと競合するかどうかを判断します。主なコードは次のとおりです。

 

図 12 ユーザー情報インターフェイスの変更

4.3.3ユーザーの削除

この文書管理システムにおけるユーザーの削除方法は、システムがユーザー情報を変更する際に、役割分担を退職者として設定し、退職した場合は退職者に変更し、アカウントが使用できなくなります。ログインするには、アカウントがロックされていることを示します。ページ効果の表示を図 13 に示します。

 

図 13 退職者の表示

4.4文書管理

4.4.1ドキュメントのアップロード

文書管理は文書管理システムの中核部分であり、ユーザーがログインするときのさまざまな ID に応じて、ユーザーはさまざまな操作権限を持っています。まず第一に、すべてのユーザーはドキュメントをアップロードおよびダウンロードでき、一次および二次審査官は、ドキュメントの一次および二次審査中にドキュメントの特定のコンテンツを表示できます。ドキュメントのアップロード ページの効果表示を図 14 に示します。

 

図 14 ドキュメントのアップロード

4.4.2文書の承認

そのうち、監督者と監査員は、文書を承認する第一レビュアーと第二レビュアーの2つのサブロールアイデンティティに分けられます.異なるサブロールに応じて、文書承認は一次レビューと二次レビューに分けられます.システム管理者は、ファイルの最終レビューを実行するか、ファイルを返却することを選択できますが、自分でアップロードされたファイルの最終レビューを実行することはできません。ページ効果の表示を図 15 に示します。

 

図 15 文書レビュー

4.4.3文書情報のエクスポート

監査者は、ユーザーがアップロードしたすべてのドキュメント情報 (ドキュメント番号、ファイル名、ファイル パス、アップロードしたユーザー、アップロード時間を含む) を Excel にエクスポートできます。ページの効果を図 16 に示します。

 

図 16 ドキュメント情報を Excel にエクスポート

V. プロジェクトの概要

このホワイト ペーパーでは、NoSQL ベースの非リレーショナル データベース データ ストレージ システムの設計と実装について説明し、大量のドキュメントの保存と管理に基づく MongoDB ベースのドキュメント管理システムを提案します。ログイン オブジェクトの ID と権限に従って、ドキュメントのアップロード、ダウンロード、および承認などの機能を実行できます。MongoDB は、非リレーショナル データ技術における非リレーショナル データ ストレージ システムとして、NoSQL の高性能と高スケーラビリティという顕著な特徴を持ち、リレーショナル データベースに最も近い非リレーショナル データベースとして、従来の SQL リレーショナル データベースのいくつかの機能。この記事で説明した MongoDB ベースのドキュメント管理システムには、最も適した適用性があります。

新しい技術の探索と研究は常に波乱万丈で、MongoDB データベースをゼロから学習したり、本を借りたり、資料を検索したりすることは、私の努力の証です。MongoDB に基づくドキュメント管理システムは、他の同様のシステムと比較して、パフォーマンスとスケーラビリティにおいて一定の利点を示していますが、まだいくつかの欠点と制限があります。今後さらに研究が進み、システムが改善されることを期待したい。

おすすめ

転載: blog.csdn.net/whirlwind526/article/details/130362265