實(shí)時同步云存儲客戶端的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時間:2018-08-09 12:07
【摘要】:隨著信息技術(shù)的飛速發(fā)展,人們在日常生活中要處理的信息越來越多。信息的存儲和傳遞是人們面對的一個新的巨大挑戰(zhàn)。云存儲作為一種新興的存儲方式,具有容量高,穩(wěn)定性高,容錯性高,數(shù)據(jù)易于分享等特點(diǎn),滿足了人們對于儲存的要求,正在越來越多的被使用。 本文設(shè)計(jì)了一款基于云存儲的實(shí)時同步客戶端。本文主要介紹了云存儲客戶端的應(yīng)用背景,對云存儲客戶端進(jìn)行了需求分析,并著重介紹了客戶端的模塊架構(gòu)和具體的實(shí)現(xiàn)。在客戶端的實(shí)現(xiàn)中,我們主要描述了如下的技術(shù)要點(diǎn):使用linux內(nèi)核中的inotify機(jī)制監(jiān)控用戶文件夾的方法;使用select系統(tǒng)調(diào)用中的延時機(jī)制對用戶操作和系統(tǒng)的文件變化事件進(jìn)行了判斷;使用兩個隊(duì)列對inotify監(jiān)控到的事件消息進(jìn)行了處理和優(yōu)化;使用TCP的長連接和短連接和服務(wù)器進(jìn)行通信,傳遞文件變動的事件消息和文件內(nèi)容;使用心跳包技術(shù)判斷客戶端和服務(wù)器之間連接的可用性,在連接斷開時將用戶自動下線;利用linux中的信號機(jī)制,對于異常狀況進(jìn)行處理;使用版本號對服務(wù)器和各個不同pc機(jī)上的客戶端的文件結(jié)構(gòu)進(jìn)行版本控制和同步;保證用戶進(jìn)行單點(diǎn)登陸;使用Qt圖形界面設(shè)計(jì)框架設(shè)計(jì)用戶UI界面。本文設(shè)計(jì)的客戶端可以應(yīng)用于內(nèi)核版本為2.6以上的linux操作系統(tǒng),可以自動的監(jiān)控用戶文件,同步用戶文件。經(jīng)過測試,本文設(shè)計(jì)和實(shí)現(xiàn)的云存儲客戶端可以穩(wěn)定的為用戶提供云存儲服務(wù)。本文所設(shè)計(jì)的云儲存軟件現(xiàn)在已經(jīng)作為開源項(xiàng)目托管于google code上,可供廣大愛好者使用和學(xué)習(xí)研究。
[Abstract]:With the rapid development of information technology, more and more information is needed in daily life. The storage and transmission of information is a great challenge to people. As a new storage mode, cloud storage has the characteristics of high capacity, high stability, high fault tolerance, and easy to share data. Demand is being used more and more.
This paper designs a real-time synchronous client based on cloud storage. This paper introduces the application background of the cloud storage client, analyzes the requirements of the cloud storage client, and focuses on the client's module architecture and specific implementation. In the client implementation, we mainly describe the following technical points: using Lin The inotify mechanism in the UX kernel monitors the method of user folders; uses the delay mechanism in the select system call to judge the user operation and the file change events of the system; uses two queues to process and optimize the event messages monitored by the inotify; uses a long connection and a short connection of TCP and the server to communicate with the server. Message and file content that transfers file changes; use heartbeat packet technology to determine the availability of connections between the client and the server, automatically downline the user when the connection is disconnected; use the signal mechanism in Linux to deal with the exception; use the version number to the server and the clients on different PC machines. The file structure is controlled and synchronized; the user can make a single point landing; use the Qt graphical interface design framework to design the user UI interface. The client designed in this paper can be applied to the Linux operating system with the kernel version of more than 2.6, and can automatically monitor the user files and the same step user files. After testing, this paper designs and implements Cloud storage clients can provide cloud storage services steadily for users. The cloud storage software designed in this article is now hosted on Google Code as an open source project, which can be used and studied by a wide range of enthusiasts.
【學(xué)位授予單位】:大連理工大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2014
【分類號】:TP333
[Abstract]:With the rapid development of information technology, more and more information is needed in daily life. The storage and transmission of information is a great challenge to people. As a new storage mode, cloud storage has the characteristics of high capacity, high stability, high fault tolerance, and easy to share data. Demand is being used more and more.
This paper designs a real-time synchronous client based on cloud storage. This paper introduces the application background of the cloud storage client, analyzes the requirements of the cloud storage client, and focuses on the client's module architecture and specific implementation. In the client implementation, we mainly describe the following technical points: using Lin The inotify mechanism in the UX kernel monitors the method of user folders; uses the delay mechanism in the select system call to judge the user operation and the file change events of the system; uses two queues to process and optimize the event messages monitored by the inotify; uses a long connection and a short connection of TCP and the server to communicate with the server. Message and file content that transfers file changes; use heartbeat packet technology to determine the availability of connections between the client and the server, automatically downline the user when the connection is disconnected; use the signal mechanism in Linux to deal with the exception; use the version number to the server and the clients on different PC machines. The file structure is controlled and synchronized; the user can make a single point landing; use the Qt graphical interface design framework to design the user UI interface. The client designed in this paper can be applied to the Linux operating system with the kernel version of more than 2.6, and can automatically monitor the user files and the same step user files. After testing, this paper designs and implements Cloud storage clients can provide cloud storage services steadily for users. The cloud storage software designed in this article is now hosted on Google Code as an open source project, which can be used and studied by a wide range of enthusiasts.
【學(xué)位授予單位】:大連理工大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2014
【分類號】:TP333
【共引文獻(xiàn)】
相關(guān)期刊論文 前10條
1 李樹末;朱家強(qiáng);朱紀(jì)洪;;光纖通道接力環(huán)實(shí)現(xiàn)與仿真[J];清華大學(xué)學(xué)報(bào)(自然科學(xué)版);2007年01期
2 何e躚,
本文編號:2174027
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2174027.html
最近更新
教材專著