NoSQL 기반 비관계형 데이터베이스 데이터 저장 시스템 설계 및 구현

작성자 홈페이지: 프로그래밍 나침반

저자 소개: Java 분야의 고급 크리에이터, CSDN 블로그 전문가, Nuggets의 초빙 저자, 다년간의 설계 설계 경력, Tencent Classroom 상주 강사

주요 내용: Java 프로젝트, 졸업 디자인, 이력서 템플릿, 학습 자료, 인터뷰 질문 은행, 기술 상호 지원

즐겨찾기,좋아요,길잃지말고 작가님 따라하시면 ​​좋아요

기사 끝에서 소스 코드 얻기 

항목 번호: 없음

1. 환경 소개

로케일: 자바: 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. 사용자 관리: 로그인 사용자 유형에 따라 다른 작업 권한을 할당합니다. 관리자 신원의 권한에는 관리자의 개인 비밀번호 및 기타 사용자 관련 정보의 추가, 삭제, 수정 작업이 포함되며, 감사자의 신원에 대한 감독 권한에는 파일 업로드 및 다운로드, 파일 열람 및 파일 정보 내보내기가 포함됩니다. 일반 이용자의 경우, 본인의 비밀번호와 개인정보만 수정할 수 있습니다.

4. 역할 관리: 역할 관리 기능은 주로 로그인 개체의 유형을 관리하는 것이며 개체에 다른 하위 역할을 할당할 수 있습니다. 감독자와 감사자는 문서를 승인할 수 있으며, 이는 서로 다른 하위 역할에 따라 1차 검토와 2차 검토로 나눌 수 있습니다. 시스템 관리자는 문서에 대한 최종 검토를 수행하지만 자신이 업로드한 파일에 대한 최종 검토는 할 수 없습니다. 문서의 1차 및 2차 심사 과정에서 1차 및 2차 검토자는 문서의 구체적인 내용을 확인할 수 있습니다.

(1) 사용자 기능 추가

사용자 추가 기능은 문서관리 시스템의 기본 기능 중 하나로 관리자는 웹 페이지 관리 페이지 진입 후 인력 추가를 클릭하여 직무번호와 이름을 입력하고 저장을 클릭하면 신규 사용자 생성이 완료되며, 로그인 페이지는 사용자가 자신의 사용자 이름과 암호를 입력해야 합니다. 초기 암호는 123456이며 시스템에 들어간 후 수정할 수 있습니다. 입력 후 시스템은 해당 사용자가 데이터베이스에 존재하는지 확인하고 존재하는 경우 비밀번호가 데이터베이스의 비밀번호와 동일한지 비교하여 동일하면 검증에 통과하여 문서관리 페이지로 진입한다. 그렇지 않으면 계정 또는 비밀번호 오류가 표시됩니다. 사용자의 보안을 보장하기 위해 사용자가 비밀번호를 수정할 때 사용자 비밀번호는 해시 기능을 통해 암호화되어 데이터베이스에 저장되어 사용자 보안 문제로 인해 시스템이 손상되는 것을 방지합니다.

(2) 정보 보기

일반 사용자는 자신이 업로드한 문서와 모든 문서 정보를 볼 수 있으며, 관리자와 감사자는 모든 사용자의 모든 정보와 업로드한 문서를 모두 볼 수 있습니다.

(3) 이용자 정보

이 작업은 관리자에 의해 구현됩니다.사용자 추가 페이지에서 관리자는 사용자를 생성, 삭제, 수정하고 권한을 할당할 수 있으며 동시에 사용자를 다른 부서에 할당할 수 있습니다.

 

문서 관리 시스템의 사용자는 로그인 개체의 권한에 따라 일반 사용자, 감독자 및 감사자, 시스템 관리자의 세 가지 유형으로 나뉩니다.

일반 사용자는 파일을 업로드 및 다운로드하고 개인 비밀번호를 변경하는 기능만 있습니다.

 감독 감사인은 문서 업로드 및 다운로드, 개인 비밀번호 변경 외에도 사용자가 업로드한 문서의 내용을 확인하고 문서에 대한 1차 및 2차 심사를 수행하며 모든 문서 정보를 Excel로 가져올 수 있습니다.

일반 사용자의 기능 외에도 시스템 관리자는 사용자를 추가 및 수정할 수 있으며 문서를 완료하고 문서 반환을 선택할 수 있습니다. 구체적인 흐름도는 그림 7에 나와 있습니다.

 

그림 7 시스템 흐름도

세, 시스템 디스플레이

 4.1 사용자 로그인

본 문서관리 시스템의 로그인 페이지는 로그인 개체의 신원과 권한에 따라 시스템 진입 후 실행 가능한 기능이 다르다. 로그인 페이지는 사용자가 사용자 이름과 비밀번호를 입력해야 하는데 슈퍼유저 즉, 관리자는 단말기에 생성되어 있고, 일반 사용자는 사이트에서 관리자가 추가하여 두 정보가 모두 저장됩니다. 테이블. 로그인 버튼 클릭 후, 시스템은 먼저 데이터베이스 테이블에 사용자 이름이 존재하는지, 패스워드가 맞는지 확인하고, 검증 성공 후 다음 페이지로 진입 관리자 로그인 후 사이트 진입 관리 페이지이며, 일반 사용자가 로그인하면 문서 관리 페이지로 들어갑니다. 로그인 페이지는 그림 8에 나와 있습니다.

그림 8 로그인 페이지

시스템 사용자가 모듈에 로그인하면 사용자가 입력한 요소가 양식의 형태로 백엔드로 전송되고 백엔드에서 처리 및 판단합니다. 사용자가 오류를 입력하면 계정 또는 비밀번호 입력 오류를 반환하고, 맞으면 메인 페이지로 이동하여 다음 단계로 진행하고, 계정이 종료로 설정되어 있으면 해당 계정을 반환합니다. 잠긴 경우 관리자에게 문의하십시오. 백엔드 로그인의 기본 코드는 다음과 같습니다.

 

4.2 사용자 수정 비밀번호  

사용자가 시스템의 메인 페이지에 로그인한 후 오른쪽 상단 모서리에서 비밀번호 변경 작업을 수행할 수 있습니다.비밀번호 변경을 클릭한 후 사용자는 비밀번호 변경 작업에 들어갑니다. 두 번, 저장을 클릭하면 데이터베이스가 암호화된 암호를 저장합니다. 암호 수정 인터페이스는 아래 그림 9에 나와 있습니다.

그림 9 암호 변경 인터페이스

비밀번호를 수정하려면 사용자가 새 비밀번호를 두 번 입력해야 합니다. 동일하지 않으면 두 비밀번호가 일치하지 않습니다. 입력하지 않으면 반환된 비밀번호를 비워둘 수 없습니다. 백엔드에서 비밀번호를 수정하는 주요 코드는 다음과 같습니다.

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에 따라 사용자는 다른 작업 권한을 가집니다. 먼저 모든 사용자가 문서를 업로드 및 다운로드할 수 있으며, 1차 및 2차 심사관은 문서의 1차 및 2차 심사 중에 문서의 특정 내용을 열람할 수 있습니다. 업로드 문서 페이지의 효과 표시는 그림 14에 나와 있습니다.

 

그림 14 업로드 문서

4.4.2 문서 승인

그 중 감독과 감사의 경우 문서를 승인하는 1차 검토자와 2차 검토자의 두 가지 하위 역할로 구분되며, 서로 다른 하위 역할에 따라 문서 승인은 1차 검토와 2차 검토로 구분되며, 모든 문서의 내용은 검토 과정에서 볼 수 있습니다. 시스템 관리자는 파일에 대한 최종 검토를 수행하거나 파일 반환을 선택할 수 있지만 자신이 업로드한 파일에 대한 최종 검토를 수행할 수 없습니다. 페이지 효과 표시는 그림 15에 나와 있습니다.

 

그림 15 문서 검토

4.4.3 문서 정보 내보내기

감사자는 사용자가 업로드한 모든 문서 정보(문서 번호, 파일 이름, 파일 경로, 업로드 사용자 및 업로드 시간 포함)를 Excel로 내보낼 수 있으며 페이지 효과는 그림 16과 같습니다.

 

그림 16 엑셀로 문서 정보 내보내기

V. 프로젝트 개요

본 논문은 NoSQL 기반 비관계형 데이터베이스 데이터 저장 시스템의 설계 및 구현에 대해 논의하고 대용량 문서의 저장 및 관리를 기반으로 한 MongoDB 기반 문서 관리 시스템을 제안한다. 로그인 객체의 ID와 권한에 따라 문서 업로드, 다운로드, 승인 등의 기능을 수행할 수 있습니다. 비관계형 데이터 기술의 비관계형 데이터 저장 시스템으로서 MongoDB는 NoSQL의 고성능, 고확장성이라는 현저한 특징을 가지고 있으며, 관계형 데이터베이스에 가장 가까운 비관계형 데이터베이스로서 다음과 같은 장점을 가지고 있다. 전통적인 SQL 관계형 데이터베이스에는 몇 가지 기능이 있습니다. 이 기사에서 논의한 MongoDB 기반 문서 관리 시스템의 경우 적용 가능성이 가장 높습니다.

새로운 기술에 대한 탐구와 연구는 늘 험난하지만 MongoDB 데이터베이스를 처음부터 배우고 책을 빌리고 자료를 검색하는 모든 노력이 나의 노력을 증명합니다. MongoDB 기반 문서 관리 시스템은 다른 유사한 시스템에 비해 성능과 확장성 측면에서 일정한 장점을 보여주었지만 여전히 몇 가지 단점과 한계가 있습니다. 앞으로 이 주제가 더 연구되고 시스템이 개선될 수 있기를 바랍니다.

추천

출처blog.csdn.net/whirlwind526/article/details/130362265