本申请涉及数据共享,特别是涉及一种简易文件同步系统。
背景技术:
1、目前为解决多人协作和文件同步等问题,许多企业推出基于云端的商业解决方案,如坚果云、商业云同步等产品。但对于一些保密性要求高的企业或单位则无法使用该类商业产品进行数据同步。
技术实现思路
1、基于此,本申请的目的在于,提供一种简易文件同步系统,部署简单,适合在企业内部建立,可实现文件同步、协同工作。
2、本申请实施例公开了一种简易文件同步系统,包括:
3、桌面客户端,用于接收用户的上传操作并将用户选中的本地数据通过断点续传的方式上传至服务端,以及响应于用户的下载操作向所述服务端发送下载请求并接收所述服务端响应于所述下载请求而发送的共享数据;
4、服务端,用于接收所述桌面客户端上传的数据并保存进共享数据库,以及响应于所述桌面客户端发送的所述下载请求,获取所述共享数据库中的共享数据通过断点续传的方式发送至所述桌面客户端。
5、在一个实施例中,所述服务端基于springboot和mybatis技术构建,包括:用户注册接口、登陆服务端接口、查询文件层次信息接口、文件断点下载接口、文件断点上传接口;
6、所述桌面客户端基于libcurl库构建,包括:
7、登录模块,用于向所述服务端的用户注册接口发送用户的注册信息并接收所述服务端在注册成功时返回的提示信息,以及向所述服务端的登陆服务端接口发送登录信息,并接收所述服务端在连接成功时返回的token信息;
8、显示模块,用于访问所述服务端的查询文件层次信息接口,并接收所述服务端返回的所述共享数据库中所有用户的共享文件信息;将所有用户的文件信息基于mfc实现的目录树结构进行显示;
9、上传模块,用于向所述服务端的文件断点上传接口发送上传请求,所述上传请求包括所述token信息,并获取用户选定的本地文件通过断点续传的方式上传至所述服务端的文件断点上传接口;
10、下载模块,用于根据用户选中的所述显示模块显示的共享文件信息,向所述服务端的文件断点下载接口发送下载请求,所述下载请求包括所述token信息,并接收所述服务端响应于所述下载请求通过断点续传的方式返回的所述共享文件数据。
11、在一个实施例中,所述服务端还包括查询文件接口、子文件检索上传接口;
12、所述上传模块通过所述服务端的查询文件接口获取用户的上传文件在所述服务端中存储的相对位置rpath;获取用户选定的进行上传的本地文件的大小和文件名filename,对所述本地文件通过断点续传的方式上传:
13、将所述本地文件以10m为一个子文件,划分为若干个子文件;
14、获取第n子文件进行上传,其中n=1,2,3...;
15、当发生网络中断时,向所述服务端的子文件检索上传接口发送网络中断检查指令,所述网络中断检查指令包括所述服务端存储的相对位置rpath、所述本地文件的文件名filename、上传文件状态和已上传子文件数量;其中所述服务端响应于所述网络中断检查指令,检查已接收的子文件大小是否为10m,若不为10m,则返回重传指令;
16、响应于所述服务端发送的重传指令,将近一次上传的子文件重新上传至所述服务端。
17、在一个实施例中,所述服务端还包括子文件合并接口;
18、所述服务端接收所述桌面客户端的上传模块上传的若干个子文件并保存在暂存区;接收所述上传模块发送的网络中断检查指令,当判断所述上传文件状态为已完成状态时,调用所述子文件合并接口合并所述桌面客户端上传的若干个子文件为一个文件,合并成功后删去所述暂存区的所述若干个子文件。
19、在一个实施例中,所述服务端还包括获取下载文件字节大小接口;
20、所述下载模块通过所述获取下载文件字节大小接口查询所述服务端中存储的所述用户选中的共享文件的大小remotefilesize,并获取本地文件大小localfilesize,通过所述文件断点下载接口接收所述服务端从range=localfilesize-remotefilesize-1范围进行字节传输的数据。
21、本申请实施例所述的简易文件同步系统包括桌面客户端和服务端,其中桌面客户端由mfc技术实现交互显示界面,显示存储在服务端中的共享数据的信息,由libcurl库提供发送和接收数据功能,将用户的本地数据进行上传以及接收服务端的共享数据;服务端基于springboot和mybatis技术构建java http服务器提供接收和发送数据字节流技术。用户可通过桌面客户端上传数据至服务端,且所有用户均可下载服务端数据,达到协同合作和文件同享的目的。本实施例所述的简易文件同步系统部署简单,适合在企业内部建立使用。
22、为了更好地理解和实施,下面结合附图详细说明本申请。
1.一种简易文件同步系统,其特征在于,包括:
2.根据权利要求1所述的简易文件同步系统,其特征在于,
3.根据权利要求2所述的简易文件同步系统,其特征在于,所述服务端还包括查询文件接口、子文件检索上传接口;
4.根据权利要求3所述的简易文件同步系统,其特征在于,所述服务端还包括子文件合并接口;
5.根据权利要求3所述的简易文件同步系统,其特征在于,所述服务端还包括获取下载文件字节大小接口;