摘 ?要
隨著信息技術的飛速發展,人們對于數據的存儲、管理和共享需求日益增長。傳統的集中式存儲系統在處理大規模數據時面臨著性能瓶頸和擴展性問題。而 Hadoop 作為一種分布式計算框架,為解決這些問題提供了有效的解決方案。
本研究旨在設計并實現一種基于 Hadoop 的分布式云筆記系統。該系統將充分利用 Hadoop 的分布式存儲和計算能力,提供高效、可靠和安全的云筆記服務。通過將數據分布在多個節點上,不僅可以提高系統的可靠性和容錯性,還能夠實現水平擴展,以應對不斷增長的數據量和用戶需求。
通過本研究,期望為用戶提供一種靈活、高效且安全的云筆記解決方案,使他們能夠更加方便地記錄、組織和分享知識。同時,這也將為分布式系統的應用和發展提供有益的探索和實踐。
關鍵詞:分布式云筆記系統;Mysql;?
With the rapid development of information technology, people's demand for data storage, management, and sharing is growing day by day. Traditional centralized storage systems face performance bottlenecks and scalability issues when processing large-scale data. As a distributed computing framework, Hadoop provides effective solutions to address these issues.
This study aims to design and implement a distributed cloud note taking system based on Hadoop. This system will fully utilize Hadoop's distributed storage and computing capabilities to provide efficient, reliable, and secure cloud note taking services. By distributing data across multiple nodes, not only can the reliability and fault tolerance of the system be improved, but horizontal scalability can also be achieved to cope with the growing amount of data and user needs.
Through this study, it is expected to provide users with a flexible, efficient, and secure cloud note taking solution, enabling them to more conveniently record, organize, and share knowledge. Meanwhile, this will also provide useful exploration and practice for the application and development of distributed systems.
Key words:?Distributed cloud note taking system; MySQL;
目??錄
摘 ?要
第1章 ?前 ?言
1.1 ?研究背景和意義
1.2 ?國內外研究現狀
1.3 ?本文的組織結構
第2章 ?技術與原理
2.1 ?開發技術
2.2 ?Hadoop框架介紹
2.3 ?MySQL數據庫
2.4 ?B/S結構
第3章 ?需求分析
3.1 ?需求分析
3.2 ?系統可行性分析
3.2.1 技術可行性
3.2.2 經濟可行性
3.2.3 操作可行性
3.3??系統流程分析
第4章 ?架構設計
4.1 ?系統體系結構
4.2 ?數據庫實體設計
4.3 ?數據庫表設計
第5章 ?系統實現
5.1 ?普通用戶功能模塊
5.2??管理員功能模塊
第6章 ?系統測試
6.1 ?測試目的
6.2 ?測試方法
6.3 ?功能測試
6.4 ?測試結論
第7章 結 ?論
參考文獻
致 ?謝
第1章 ?前 ?言
1.1 ?研究背景和意義
隨著云計算和大數據技術的快速發展,越來越多的用戶傾向于將筆記和文檔存儲在云端,并希望能夠隨時隨地進行訪問和編輯。在這樣的背景下,基于Hadoop的分布式云筆記系統的設計與實現具有重要的研究背景和意義。
該系統旨在利用Hadoop的分布式存儲和計算能力,構建一個高可靠、高擴展性的云筆記平臺。通過將用戶的筆記和文檔分散存儲在不同的節點上,系統可以實現數據的冗余備份和負載均衡,提高數據的可靠性和訪問效率。同時,用戶可以通過Web界面或移動應用程序隨時隨地訪問和編輯自己的筆記內容。
該系統的研究意義主要體現在以下幾個方面。首先,通過分布式存儲和計算的技術手段,該系統可以支持大規模用戶并發訪問和協作編輯,滿足用戶對云端筆記的高效管理需求。其次,該系統提供了數據的冗余備份和容錯機制,確保用戶數據的安全性和可靠性。此外,系統還可以通過數據分析,為用戶提供個性化的筆記推薦和搜索功能,提高用戶體驗和效率。
此外,基于Hadoop的分布式云筆記系統的設計與實現也有助于推動企業的數字化轉型和信息化建設。該系統可以幫助企業實現對內部文檔和知識的集中管理和共享,提高團隊協作和工作效率。同時,系統還可以應用于教育領域,為學生和教師提供便捷的在線學習和教學資源。
綜上所述,基于Hadoop的分布式云筆記系統的設計與實現具有重要的研究背景和意義。該系統通過利用Hadoop的分布式存儲和計算能力,實現高可靠、高擴展性的云筆記平臺,滿足用戶對云端筆記的管理和訪問需求。這將為用戶提供更加安全、高效的云端筆記服務,促進企業的數字化轉型和信息化建設
1.2 ?國內外研究現狀
目前,基于Hadoop的分布式云筆記系統的設計與實現在國內外都受到了一定的關注和研究。以下是國內外研究現狀的描述:
國內研究現狀:
在國內,隨著大數據技術的快速發展和應用推廣,基于Hadoop的分布式云筆記系統的研究得到了廣泛關注。一些高校、研究機構和企業開始關注如何利用Hadoop的分布式存儲和計算能力,構建高可靠、高擴展性的云筆記平臺。這些系統通常通過分布式文件系統和分布式數據庫等技術,實現用戶筆記的分布式存儲和訪問,并提供Web界面或移動應用程序進行用戶交互。
國外研究現狀:
在國外,分布式云筆記系統的研究同樣受到廣泛關注。一些國際知名的云計算和大數據公司致力于開發基于Hadoop的分布式云筆記系統,以滿足用戶對安全、高效的云端筆記服務的需求。這些系統通常采用HDFS(Hadoop Distributed File System)作為底層存儲,結合HBase等分布式數據庫,以實現數據的分布式存儲和訪問。
發展趨勢:
未來,基于Hadoop的分布式云筆記系統的發展將呈現以下趨勢。首先,系統將更加注重數據安全和隱私保護。隨著用戶對數據隱私的關注度提高,系統需要采取相應的安全措施,如數據加密和身份認證等,以保護用戶的數據安全。其次,系統將注重用戶體驗和個性化服務。通過引入機器學習和推薦算法等技術,系統可以根據用戶的偏好和行為進行個性化的筆記推薦和搜索,提供更智能、高效的服務。
總之,基于Hadoop的分布式云筆記系統的設計與實現已經受到國內外的關注和研究。未來的發展趨勢是注重數據安全和用戶體驗,通過技術創新提供更安全、高效、智能的云端筆記服務。這將為用戶提供更好的云筆記體驗,促進大數據技術在云計算領域的應用和推廣。
1.3 ?本文的組織結構
第一章是前言,本文章的開頭部分,對本題目的研究背景意義和國內外研究現狀等一些做文字性的描述。
第二章研究了分布式云筆記系統的所采用的開發技術和開發工具。
第三章是系統分析部分,包括系統總體需求描述、功能性角度分析系統需求、非功能性等各個方面分析系統是否可以實現。
第四章是系統設計部分,本文章的重要部分,提供了系統架構的詳細設計和一些主要功能模塊的設計說明。
第五章是系統的具體實現,介紹系統的各個模塊的具體實現。
第六章在前幾章的基礎上對系統進行測試和運行。
最后對系統進行了認真的總結,以此對未來有一個新的展望。
第2章 ?技術與原理
2.1 ?開發技術
本系統前端框架采用了比較流行的漸進式JavaScript框架Vue.js。使用Vue-Router和Vuex實現動態路由和全局狀態管理,Ajax實現前后端通信,Element UI組件庫使頁面快速成型。后端部分:采用Hadoop作為開發框架,同時集成MyBatis、Redis等相關技術。
2.2 ?Hadoop框架介紹
Hadoop是一個由Apache基金會所開發的分布式系統基礎架構。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力進行高速運算和存儲。Hadoop實現了一個分布式文件系統( Distributed File System),其中一個組件是HDFS(Hadoop Distributed File System)。HDFS有高容錯性的特點,并且設計用來部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)來訪問應用程序的數據,適合那些有著超大數據集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streaming access)文件系統中的數據。Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的數據提供了存儲,而MapReduce則為海量的數據提供了計算。
2.3 ?MySQL數據庫
mysql數據庫具有很多的優點,他操作起來非常的簡單,只需要編寫一小段代碼就可以實現相應的功能,而且編寫出的代碼可以在任何的平臺下進行使用,對使用平臺沒有任何的要求,因此任何的軟件開發人員都可以利用mysql數據庫來進行系統的開發設計,同時他也可以為軟件開發節省了很多的開銷,mysql數據庫由于存儲量大、操作簡單。功能強大因此將他最為該系統的數據存儲是完全可以的。
mysq數據庫是一個開放的架構,任何軟件開發員都可以進行使用,隨著計算機網絡的不斷發展,MySQL數據庫也在功能方面不斷的進行提升,也更加適應所有的系統的開發,我們在對數據庫進行操作的時候,是非常簡單易上手的,我們只需要編寫一小段的代碼就可以實現相應的功能,而且編輯出的代碼可以在任何的平臺上使用,不需要在進行二次的編譯。由于MySQL數據庫具有以上非常多的優點,我們將它最為數據庫的首選應用到系統的開發中,由于他的體積非常小,開發的成本也非常的低,所有受到很多軟件開發者的喜歡,被更多的運用到系統的開放中,所以本系統也是利用MySQL數據庫來對所有的數據進行存儲和編輯。
2.4 ?B/S結構
B/S(瀏覽器/服務器)結構是目前使用最多的結構模式,它可以使得系統的開發更加的簡單,好操作,而且還可以對其進行維護。使用該結構時只需要在計算機中安裝數據庫,和一些很常用的瀏覽器就可以了。瀏覽器就會與數據庫進行信息的連接,可以實現很多的功能,B/S結構是可以直接進行使用的,而且B/S結構在使用中極大的減少了工作的維護。基于B/S的軟件,所有的數據庫之間都是相互獨立的,因此是非常安全的。因為基于B/S結構可以清楚的看到系統正在處理的業務,并且能夠及時的讓管理人員作出決策,這樣就可以避免學校的損失。B/S結構的基本特點是集中式的管理模式,用戶使用系統生成數據后,這些數據就可以存儲到系統的數據庫中,方便日后能夠用到,這樣就可以滿足人們的所有的需求。
圖2-1 ?B/S模式三層結構
第3章 ?需求分析
3.1 ?需求分析
開發系統的過程中,去調查用戶的功能訴求,對需要存在的功能進行需求分析是特別重要的,且對于系統的開發有著實際的意義,設計分布式云筆記系統通過對用戶的需求進行分析,結合實際情況進行開發研究,對用戶的所有需求做出一個完整的基本的框架,然后一步一步的完成、實現。需求分析可以為系統的開發提供一個目標,只有按照這個目標進行開發設計,才能進行完整的開發,這樣設計出的系統才有使用的意義,才能在競爭激烈的軟件市場中生存,才能真正的幫助人們解決問題,提高實際的效率。
3.2 ?系統可行性分析
本系統采取的是目前應用最廣泛的程序進行技術的支持,主要的技術支持是java語言,他作為一個相當成熟的語言程序,在眾多的軟件開發中起著很大作用。而且用java語言編輯出來程序可以直接運行,不需要借助其他的翻譯器進行翻譯。所以在技術方面是完全可以行的。
本項目開發的初衷就是為了節約,因為系統開發的所有過程都是我自己開發的我,而且在開發過程使用到的技術也都是市面上常見的容易操作的,所以不需要請專業的人士花資金來進行系統的開發,而且在項目開發的過程中我也學到了更多的知識。開發的這個軟件可以在網絡中進行免費的下載,對計算機的軟硬件沒有很高的要求,因此這個項目是非常實惠的,在經濟方面是完全可性的。
操作可行性也就是系統的可用性,一個系統的操作是否容易決定著這個系統的使用度,在系統的操作方面的設計我都是采取簡潔易懂的方式,操作的整個菜單界面整齊有序,所有的功能都有序的排列,不會出現重疊或者需要轉換的現象,用戶想要哪方面的操作都可以直接進行操作,所以該系統任何人都可以進行操作,不需要有相關專業的技術這樣用戶在操作起來就容易很多。
3.3??系統流程分析
用戶需要擁有屬于自己的賬號和密碼,且必須正確,這樣才能順利登錄到系統中。進入網站后,用戶可以自行查詢云記信息,在自己云記信息詳情頁面的最后,可以直接選擇添加。具體流程如下圖3-1所示:
圖3-1 用戶操作流程圖
為了保證系統的安全性,要使用本系統對系統信息進行管理,必須先登陸到系統中。其具體登錄流程圖如圖3-1所示:
圖3-1 系統操作流程圖
第4章 ?架構設計
4.1 ?系統體系結構
分布式云筆記系統的結構圖4-1所示:
圖4-1 系統結構
登錄系統結構圖,如圖4-2所示:
圖4-2 登錄結構圖
系統結構圖,如圖4-3所示:
圖4-3 系統結構圖
4.2 ?數據庫實體設計
數據庫的功能就是對系統中所有的數據進行存儲和管理。所有的數據可以在數據庫中產時間的進行存儲,方便用戶的使用。而且所有的數據庫中的數據也應該具有一定的共享性,任何的系統可以對一些數據進行使用,同時還應該保持一定的獨立性,每一個數據庫中的數據都有很強的安全性,可以被很好的存放到數據庫,沒有進行身份的驗證是不能對這些數據進行查看和使用的。數據庫的設計需要明確每一個實體之間的聯系,系統的E-R圖如下圖所示:
圖4-4用戶管理實體屬性圖
云記信息管理實體屬性圖如圖4-5所示。
圖4-5云記信息管理實體屬性圖
筆記類型實體屬性圖如圖4-6所示。
圖4-5筆記類型管理實體屬性圖
4.3 ?數據庫表設計
當分布式云筆記系統在運行的時候,數據庫要能確保自己的獨立性,想要哪部分的數據就選擇相應的設置選項,對應的數據就會以表格的形式展現出來。當對這一個功能進行設置,他就會與數據庫進行連接,會在對話框中彈出相應的數據源。
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | token_id | int | 10 | 0 | N | Y | 臨時訪問牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 臨時訪問牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大壽命:默認2小時 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用戶編號: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | auth_id | int | 10 | 0 | N | Y | 授權ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用戶組: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模塊名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 頁面標題: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路徑: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳轉方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可刪除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查詢字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表導航名稱: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表導航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | comment_id | int | 10 | 0 | N | Y | 評論ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 評論人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回復評論ID:空為0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 內容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵稱: | |
6 | avatar | varchar | 255 | 0 | Y | N | 頭像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
9 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | hits_id | int | 10 | 0 | N | Y | 點贊ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 點贊人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
5 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | note_type_id | int | 10 | 0 | N | Y | 筆記類型ID | |
2 | note_type | varchar | 64 | 0 | N | N | 筆記類型 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | praise_id | int | 10 | 0 | N | Y | 點贊ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 點贊人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
5 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 點贊狀態:1為點贊,0已取消 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用戶ID | |
2 | user_name | varchar | 64 | 0 | N | N | 用戶姓名 | |
3 | user_phone_number | varchar | 16 | 0 | Y | N | 用戶電話 | |
4 | user_gender | varchar | 64 | 0 | Y | N | 用戶性別 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通過 | 審核狀態 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用戶ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | sensitive_vocabulary_id | int | 10 | 0 | N | Y | 敏感詞匯ID | |
2 | sensitive_vocabulary | varchar | 64 | 0 | Y | N | 敏感詞匯 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | slides_id | int | 10 | 0 | N | Y | 輪播圖ID: | |
2 | title | varchar | 64 | 0 | Y | N | 標題: | |
3 | content | varchar | 255 | 0 | Y | N | 內容: | |
4 | url | varchar | 255 | 0 | Y | N | 鏈接: | |
5 | img | varchar | 255 | 0 | Y | N | 輪播圖: | |
6 | hits | int | 10 | 0 | N | N | 0 | 點擊量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | upload_id | int | 10 | 0 | N | Y | 上傳ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 訪問路徑 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路徑 | |
5 | display | varchar | 255 | 0 | Y | N | 顯示順序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父級ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夾 | |
8 | type | varchar | 32 | 0 | Y | N | 文件類型 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用戶ID:[0,8388607]用戶獲取其他與用戶相關的數據 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 賬戶狀態:[0,10](1可用|2異常|3已凍結|4已注銷) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用戶組:[0,32767]決定用戶身份和權限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登錄時間: |
5 | phone | varchar | 11 | 0 | Y | N | 手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手機認證:[0,1](0未認證|1審核中|2已認證) |
7 | username | varchar | 16 | 0 | N | N | 用戶名:[0,16]用戶登錄時所用的賬戶名稱 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵稱:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密碼:[0,32]用戶登錄所需的密碼,由6-16位數字或英文組成 | |
10 | | varchar | 64 | 0 | Y | N | 郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 郵箱認證:[0,1](0未認證|1審核中|2已認證) |
12 | avatar | varchar | 255 | 0 | Y | N | 頭像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 針對獲取用戶信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
15 | vip_level | varchar | 255 | 0 | Y | N | 會員等級 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 會員折扣 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用戶組ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 顯示順序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名稱:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述該用戶組的特點或權限范圍 | |
5 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注冊位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | yunji_information_id | int | 10 | 0 | N | Y | 云記信息ID | |
2 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用戶 |
3 | user_name | varchar | 64 | 0 | Y | N | 用戶姓名 | |
4 | cloud_record_time | varchar | 64 | 0 | Y | N | 云記時間 | |
5 | note_type | varchar | 64 | 0 | Y | N | 筆記類型 | |
6 | cloud_record_title | varchar | 64 | 0 | Y | N | 云記標題 | |
7 | cloud_record_content | text | 65535 | 0 | Y | N | 云記內容 | |
8 | number_of_releases | varchar | 64 | 0 | Y | N | 發布數量 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
第5章 ?系統實現
5.1 ?普通用戶功能模塊
分布式云筆記系統,在系統的首頁可以查看后臺首頁、云記信息管理(云記信息表列表、云記信息添加)、個人信息、修改密碼、網站首頁、等信息進行相關操作,如圖5-1所示。?
圖5-1后臺首頁界面圖
用戶注冊,在用戶注冊頁面可以填寫賬號、密碼、姓名、昵稱、手機等信息進行注冊操作,如圖5-2所示。
圖5-2用戶注冊界面圖
用戶登錄,用戶通過輸入賬號和密碼,選擇角色并點擊登錄進行系統登錄操作,如圖5-3所示。
圖5-3登錄界面圖
修改密碼,用戶使用該系統注冊完成后,用戶對登錄密碼有修改需求時,系統也可以提供用戶修改密碼權限。系統中所有的操作者能夠變更自己的密碼信息,執行該功能首先必須要登入系統,然后選擇密碼變更選項以后在給定的文本框中填寫初始密碼和新密碼來完成修改密碼的操作。在填寫的時候,假如兩次密碼填寫存在差異,那么此次密碼變更操作失敗。密碼修改界面如下圖所示。如圖5-4所示。
圖5-4修改密碼界面圖
云記信息管理,在云記信息管理頁面可以查看云記信息列表詳細信息,還可以對云記信息進行添加,云記信息列表和云記信息添加如圖5-5和5-6所示。
圖5-5云記信息列表界面圖
圖5-6云記信息添加界面圖
5.2??管理員功能模塊
管理員登錄,管理員通過輸入界面上顯示的信息然后點擊登錄就能登錄到系統進行系統的使用了,如圖5-7所示。
圖5-7管理員登錄界面圖
管理員登錄進入系統之后,就可以對后臺首頁、系統用戶、筆記類型管理、云記信息管理、系統管理(輪播圖)等信息進行相應的操作管理,如圖5-8所示。
圖5-8管理員功能界面圖
用戶管理,管理員可以對系統中所有的用戶角色進行管控,包含了管理員、普通用戶這兩種角色,如果需要添加新的用戶,點擊頁面中的“添加”按鈕根據提示輸入上用戶信息,點擊“提交”以后在對應的用戶界面就可以查看到了,可以點擊用戶后面的“刪除”按鈕直接刪除某一用戶。如圖5-9所示。
圖5-9用戶管理界面圖
筆記類型管理信息,管理員點擊“筆記類型管理”這一菜單的時候,會出現筆記類型列表和筆記類型添加這兩個子菜單,可以對這兩個模塊進行增刪改查操作。筆記類型列表和筆記類型添加如圖5-9和5-10所示。
圖5-9筆記類型列表界面圖
圖5-10筆記類型添加界面圖
系統管理,管理員可以對系統前臺展示的輪播圖進行增刪改查,方便用戶進行查看。如圖5-11所示。
圖5-11系統管理界面圖
第6章 ?系統測試
6.1 ?測試目的
隨著互聯網不斷的發展,目前各大領域都利用互聯網進行了信息的管理,因此產品能否存貨,質量問題是很重要的標準,也決定著是否有更多的人使用。所以軟件的質量我們必須要把關,必須要把軟件做好,做到位,少出不必要的問題,這樣才能有更多的用戶使用,并且得到更多的推廣。所以,我們在開發完系統后,需要進行大量的測試,以確保系統的穩定性和可使用性,并要確定系統的質量能否做到滿足不同人的需求。這是系統在開發設計中非常重要的環節,測試的結果直接關系到系統的好壞。
集成測試:在系統測試當中會出現很多的問題,我們要及時的進行標注并且在進行測試的時候要采取自動化的測試,這樣即準確又快速,而且不會出現疲勞,手動的測試很容易出現疲勞期,而且測試的結果也有時候會出錯,所以在測試的時候才去自動測試時最好的測試方法。
在測試的過程中及時的發現問題,并且進行問題的解決,這樣設計出的系統可以正常穩定的運行,不會出現重大的問題。我所進行的軟件測試參照以下三個步驟進行測試:
(1)模塊測試:對系統中的每一項都進行針對的測試,發現并找到問題。
(2)系統測試:讓系統長時間進行各種情況下的運行,反饋運行期間的穩定性問題并解決。
(3)驗收測試:其他測試完成后,最后檢測階段,確保軟件準備就緒。
6.2 ?測試方法
在對系統進行測試的時候我們主要應用到兩種測試的方法,通過測試我們就能找出可能存在的問題保證系統成功運行。
從軟件的內部構造和具體實施是否有關系的觀點來看:黑盒測試和白盒測試。
1)黑盒測試:測試系統功能,當用戶進行相應的操作時,系統是否能夠及時且準確的反饋數據,并執行相應功能。需要對功能以及使用方法進行詳細的測試,保證所有的操作信息都能夠完整的輸出輸入。
2)白盒測試:主要是對系統的結構進行測試,了解系統在運行過程中是否可以正常的工作。
分布式云筆記系統的測試也會從下面幾方面進行:
(1)窗體測試:例如用戶登錄界面,在用戶名和密碼輸入時,需要界面窗口彈出,給予用戶反饋,我對窗口的設計進行了測試,確保每一個窗口在用戶進行相應操作后,能夠及時的彈出。
(2)數據跟蹤:進行數據跟蹤,我們就能知道系統功能是否在順利的執行當中。將數據庫中的相關的信息進行調動,彈出我們需要的相對應的數據信息。同時,在追蹤過程中,我們也更容易的發現系統的問題所在,便于解決問題和維護系統。
(3)綜合測試:完成上述測試后,需要對系統進行由內而外的重新檢測,來宏觀的發現系統中存在的問題,并且及時的進行解決,系統的設計要結合實際的使用情況有針對性的進行開發,可以滿足不同人的需求。
6.3 ?功能測試
本分布式云筆記系統設計基本達到我理想的開發狀態,在各個功能的運行方面,表現較為良好,基本滿足用戶的使用需求,及時矯正了較多的錯誤信息。總體說來,軟件通過了相應的測試。
表6-1:用戶登錄測試表
模塊名稱 | 測試用例 | 預期結果 | 實際結果 | 是否通過 |
登錄模塊 | 用戶名:admin ??密碼:123 ? | 彈出錯誤提示,提示密碼錯誤 | 彈出錯誤提示,提示密碼錯誤 | 通過 |
登錄模塊 | 用戶名:123 ?? 密碼:admin ?? | 彈出錯誤提示,提示用戶名錯誤 | 彈出錯誤提示,提示用戶名錯誤 | 通過 |
登錄模塊 | 用戶名:admin ?? 密碼:admin ?? | 管理員登錄成功 | 管理員登錄成功 | 通過 |
表6-2:修改密碼測試表
模塊名稱 | 測試用例 | 預期結果 | 實際結果 | 是否通過 |
修改密碼模塊 | 原密碼:666 新密碼:123 確認密碼:123 ? | 彈出錯誤提示,提示原密碼錯誤 | 彈出錯誤提示,提示原密碼錯誤 | 通過 |
修改密碼模塊 | 原密碼:admin ??新密碼:123 確認密碼:333 ? | 彈出錯誤提示,提示確認密碼不一致 | 彈出錯誤提示,提示確認密碼不一致 | 通過 |
修改密碼模塊 | 原密碼:admin ??新密碼:123 確認密碼:123 ? | 密碼修改成功 | 密碼修改成功 | 通過 |
6.4 ?測試結論
測試的過程要按照指定好的計劃一步一步的實行,測試時候一定不要著急,并且將測試的結果進行詳細的記錄,我們在進行測試的時候做好選擇自動化的測試,這樣更加的準確也更快捷,如果采用人工測試的方法就不會這么的方便,很可能會出現一些問題,而且極其測試不會疲勞也不會出現問題。在測試的時候一定要非常專注,時刻關注著測試的結果,一旦發現異常及時進行修改,;最后,測試完之后的文檔應該保存下來,方便以后測試時用到。
通過測試,我們也可以直觀的感受到,在我們最開始進行系統設計的時候,先把思路理清楚,才能有機會把代碼寫好。有好的邏輯性的代碼在后期的測試中才能避免出現問題,也可以給我們節省很多的時間和不必要的操作。
?分布式云筆記系統為用戶提供了公平的、相互包容的、操作方便的使用系統,基本滿足了用戶的使用需要,以及我最初的開發目標和方向。Java語言、MySQL數據庫等技術時是我開發的基礎,這些技術都有各自的優點,學好這些技術,至關重要。通過這些優點設計出來的系統能夠正常穩定的運行,并且可以滿足人們的所有需求,在對系統的需求以及各個模塊進行了詳細的分析后,有針對性的進行設計,最后通過測試,系統能夠正常的運行,該分布式云筆記系統設計完成。
本次開發過程中使用的是Java技術,該技術具有代碼編寫簡單方便,對平臺沒有要求對技術方面也沒有要求,并且有很好的面像對象性,所以在技術方面是相當成熟的。利用java技術作為系統主要的技術支持可以使得系統能夠正常的運行并且實現相應的功能。在這次的系統的設計過程中遇到了很多的困難,幸好有老師同學們的幫助,在他們的幫助下完成了這次系統的設計。
[1]Juwana I ,Sodri A ,Muttil N , et al.Potential Pollution Loads of the Cikembar Sub-Watershed to the Cicatih River, West Java, Indonesia[J].Water,2024,16(2):
[2]Discover A New Minecraft Experience: Join Incremental Prisons Java 1.20 Server[J].M2 Presswire,2024,
[3]周德,楊成慧,羅佃斌.基于Hadoop的分布式日志分析系統設計與實現[J].現代信息科技,2023,7(23):57-60.DOI:10.19850/j.cnki.2096-4706.2023.23.012.
[4]任宏,李春林,李曉峰.基于Hadoop技術的物聯網大數據同步存儲系統設計[J].網絡安全和信息化,2023,(12):85-87.
[5]Putrinadia V A ,Budihastuti R U ,Melinawati E , et al.#330 : Factors Affect Infertile Woman to Access Infertility Services in Central Java, Indonesia[J].Fertility ?Reproduction,2023,05(04):
[6]Shane Morand Unleashes His Next Java Jolt: A Functional Coffee Revolution Awaits in 2024[J].M2 Presswire,2023,
[7]H D A ,Syndi N ,Mia M , et al.Central nervous system infection in a pediatric population in West Java.[J].PLoS neglected tropical diseases,2023,17(11):e0011769-e0011769.
[8]謝盛嘉.基于Hadoop平臺的學情分析系統設計[J].電子技術,2023,52(11):408-409.
[9]石文昭.基于Hadoop的自動化設備監管系統設計[J].信息記錄材料,2023,24(11):178-180.DOI:10.16009/j.cnki.cn13-1295/tq.2023.11.025.
[10]李威,邱永峰.基于Hadoop的電商大數據可視化設計與實現[J].現代信息科技,2023,7(17):46-49.DOI:10.19850/j.cnki.2096-4706.2023.17.009.
[11]高健,楊慧.基于Hadoop的電商離線數據挖掘系統設計[J].信息與電腦(理論版),2023,35(15):135-137.
[12]徐凰耀.基于Hadoop技術的電子商務配送系統設計和實現研究[J].信息與電腦(理論版),2023,35(15):144-146.
[13]王冬梅.基于Hadoop的高校大數據平臺構建研究[J].互聯網周刊,2023,(14):79-81.
[14]吳建.基于Linux的Hadoop集群搭建的探索與實現[J].物聯網技術,2023,13(07):134-137+141.DOI:10.16667/j.issn.2095-1302.2023.07.033.
[15]胡偉英.大數據技術下煤礦設備狀態Hadoop平臺設計[J].山東煤炭科技,2023,41(06):209-211+215.
[16]王柳月,江會.基于Hadoop的信息化病案自動管理系統設計[J].信息技術,2023,(06):124-128.DOI:10.13274/j.cnki.hdzj.2023.06.022.
[17]賈峰.微服務框架在云筆記系統中的應用[J].現代計算機,2022,28(01):117-120.
[18]林榮杭,劉小英.基于Flutter的云筆記系統[J].信息技術與信息化,2021,(10):41-43+46.
[19]周瑛,劉仁芬,李娜.云筆記系統的設計與實現[J].長江信息通信,2021,34(08):63-65.
[20]薛輝.基于語音識別的課堂筆記系統設計與實現[J].商洛學院學報,2020,34(02):54-58.DOI:10.13440/j.slxy.1674-0033.2020.02.010.
光陰似箭,一晃大學生活即將過去了。一直以嚴謹的態度和積極的熱情投身于學習和工作中,雖然有競爭,也有淚水,但是通過我不斷學習和奮斗不斷的完善自己,不僅很好的完成了我的學業而且也讓我的各方面得到了發展,取得了很大的進步。
大學的生活也即將結束,雖然也有許多的不舍,但是終究是要告別的。回想大學的學習生活,有淚水也有汗水。在此期間我嚴格要求自己,憑著對知識的強烈追求,刻苦鉆研,勤奮好學,態度端正,目標明確,牢固的掌握了一些專業知識和技能,做到了理論聯系實際。除了專業知識的學習外,我還不斷的擴展我的知識面,從不同的領域以不同的方式來獲得新的知識。爭取成為一名各方面都很合格的大學生。
這次的畢業設計,是我獨自完成周期最長,也是耗力最大的一個項目。值得慶幸的是,在我畢業設計完成的過程當中,有許多幫助我的同學和老師。在幾個月的開發過程中,我遇到了大大小小無數個問題。是我的舍友和老師,不斷地幫助鼓勵。
我的指導老師,在自身工作十分繁忙的情況下,依然能做到及時恢復我們發去的問題郵件,并抽時間對我們進行線下的輔導。指出我們設計上的失誤,邏輯錯誤以及產品力規劃問題,可以說沒有導師的幫助,我的畢設會陷入死胡同,是導師為我指點了迷津,像迷霧中的路燈,為我指明方向!
免費領取項目源碼,請關注?點贊收藏并私信博主,謝謝~