| Cloud storage, a new concept from cloud computing, is a system that can provide data storage and transaction access server. Through the application of the cluster, grid technologies or distributed file system function, cloud storage utilizes application software to call together a large variety of different types of storage devices from network and make them work cooperatively. Cloud storage can offer some cloud data service, such as helping people store, manage, conform files and share their own files to friends. Because of the convenience, cloud storage application becomes very popular to users.In addition to document management needs by individuals, it is also an urgent need to use cloud storage platform to share, synchronize and edit files in the form of working group. Although multi-device and multi-crew of working group brings convenience to users in the work lives, and it also brings many challenges to data management. How to maintain data consistency on multiple clients and manage group files synchronization safely are also important issues that must be solved. In this work, by combining the functional properties of some present personal file synchronization systems with the characteristic of working group, we come up with the design and implementation of group files synchronization based on cloud storage called’JDCloud’. At the same time, we propose a new file synchronization framework triggered by user to solve the problem of high concurrency. Using this framework, cloud storage platform can somewhat reduce the pressure on the server access and save the client computing resources. What’s more, with the working group file synchronization’s own LAN feature, we design a working group synchronization acceleration scheme within the LAN, which can greatly reduce the server’s network bandwidth and improve the speed of working group file synchronization.In this article, we firstly describe the configuration of cloud storage platform building environment, and then shortly introduce the main relevant technologies. After that, the overall system design framework and multithreading programming methods are described. Finally, we give a detailed introduction to the specific design and implement of our system according to each module. The summary and prospect are presented at the end of this thesis. |