实时同步云存储客户端的设计与实现
发布时间:2018-08-09 12:07
【摘要】:随着信息技术的飞速发展,人们在日常生活中要处理的信息越来越多。信息的存储和传递是人们面对的一个新的巨大挑战。云存储作为一种新兴的存储方式,具有容量高,稳定性高,容错性高,数据易于分享等特点,满足了人们对于储存的要求,正在越来越多的被使用。 本文设计了一款基于云存储的实时同步客户端。本文主要介绍了云存储客户端的应用背景,对云存储客户端进行了需求分析,并着重介绍了客户端的模块架构和具体的实现。在客户端的实现中,我们主要描述了如下的技术要点:使用linux内核中的inotify机制监控用户文件夹的方法;使用select系统调用中的延时机制对用户操作和系统的文件变化事件进行了判断;使用两个队列对inotify监控到的事件消息进行了处理和优化;使用TCP的长连接和短连接和服务器进行通信,传递文件变动的事件消息和文件内容;使用心跳包技术判断客户端和服务器之间连接的可用性,在连接断开时将用户自动下线;利用linux中的信号机制,对于异常状况进行处理;使用版本号对服务器和各个不同pc机上的客户端的文件结构进行版本控制和同步;保证用户进行单点登陆;使用Qt图形界面设计框架设计用户UI界面。本文设计的客户端可以应用于内核版本为2.6以上的linux操作系统,可以自动的监控用户文件,同步用户文件。经过测试,本文设计和实现的云存储客户端可以稳定的为用户提供云存储服务。本文所设计的云储存软件现在已经作为开源项目托管于google code上,可供广大爱好者使用和学习研究。
[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.
【学位授予单位】:大连理工大学
【学位级别】:硕士
【学位授予年份】: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.
【学位授予单位】:大连理工大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP333
【共引文献】
相关期刊论文 前10条
1 李树末;朱家强;朱纪洪;;光纤通道接力环实现与仿真[J];清华大学学报(自然科学版);2007年01期
2 何e跹,
本文编号:2174027
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2174027.html