CN116132426A - 一种简易文件同步系统 - Google Patents
一种简易文件同步系统 Download PDFInfo
- Publication number
- CN116132426A CN116132426A CN202211727027.1A CN202211727027A CN116132426A CN 116132426 A CN116132426 A CN 116132426A CN 202211727027 A CN202211727027 A CN 202211727027A CN 116132426 A CN116132426 A CN 116132426A
- Authority
- CN
- China
- Prior art keywords
- file
- server
- interface
- uploading
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种简易文件同步系统,所述简易文件同步系统包括桌面客户端和服务端,其中桌面客户端由MFC技术实现交互显示界面,由libcurl库提供发送和接收数据功能,服务端基于springboot和mybatis技术构建Java http服务器提供接收和发送数据字节流技术。用户可通过桌面客户端上传数据至服务端,且所有用户均可下载服务端数据,达到协同合作和文件同享的目的。本实施例所述的简易文件同步系统部署简单,适合在企业内部建立使用。
Description
技术领域
本申请涉及数据共享技术领域,特别是涉及一种简易文件同步系统。
背景技术
目前为解决多人协作和文件同步等问题,许多企业推出基于云端的商业解决方案,如坚果云、商业云同步等产品。但对于一些保密性要求高的企业或单位则无法使用该类商业产品进行数据同步。
发明内容
基于此,本申请的目的在于,提供一种简易文件同步系统,部署简单,适合在企业内部建立,可实现文件同步、协同工作。
本申请实施例公开了一种简易文件同步系统,包括:
桌面客户端,用于接收用户的上传操作并将用户选中的本地数据通过断点续传的方式上传至服务端,以及响应于用户的下载操作向所述服务端发送下载请求并接收所述服务端响应于所述下载请求而发送的共享数据;
服务端,用于接收所述桌面客户端上传的数据并保存进共享数据库,以及响应于所述桌面客户端发送的所述下载请求,获取所述共享数据库中的共享数据通过断点续传的方式发送至所述桌面客户端。
在一个实施例中,所述服务端基于springboot和mybatis技术构建,包括:用户注册接口、登陆服务端接口、查询文件层次信息接口、文件断点下载接口、文件断点上传接口;
所述桌面客户端基于libcurl库构建,包括:
登录模块,用于向所述服务端的用户注册接口发送用户的注册信息并接收所述服务端在注册成功时返回的提示信息,以及向所述服务端的登陆服务端接口发送登录信息,并接收所述服务端在连接成功时返回的token信息;
显示模块,用于访问所述服务端的查询文件层次信息接口,并接收所述服务端返回的所述共享数据库中所有用户的共享文件信息;将所有用户的文件信息基于MFC实现的目录树结构进行显示;
上传模块,用于向所述服务端的文件断点上传接口发送上传请求,所述上传请求包括所述token信息,并获取用户选定的本地文件通过断点续传的方式上传至所述服务端的文件断点上传接口;
下载模块,用于根据用户选中的所述显示模块显示的共享文件信息,向所述服务端的文件断点下载接口发送下载请求,所述下载请求包括所述token信息,并接收所述服务端响应于所述下载请求通过断点续传的方式返回的所述共享文件数据。
在一个实施例中,所述服务端还包括查询文件接口、子文件检索上传接口;
所述上传模块通过所述服务端的查询文件接口获取用户的上传文件在所述服务端中存储的相对位置rpath;获取用户选定的进行上传的本地文件的大小和文件名filename,对所述本地文件通过断点续传的方式上传:
将所述本地文件以10M为一个子文件,划分为若干个子文件;
获取第N子文件进行上传,其中N=1,2,3...;
当发生网络中断时,向所述服务端的子文件检索上传接口发送网络中断检查指令,所述网络中断检查指令包括所述服务端存储的相对位置rpath、所述本地文件的文件名filename、上传文件状态和已上传子文件数量;其中所述服务端响应于所述网络中断检查指令,检查已接收的子文件大小是否为10M,若不为10M,则返回重传指令;
响应于所述服务端发送的重传指令,将近一次上传的子文件重新上传至所述服务端。
在一个实施例中,所述服务端还包括子文件合并接口;
所述服务端接收所述桌面客户端的上传模块上传的若干个子文件并保存在暂存区;接收所述上传模块发送的网络中断检查指令,当判断所述上传文件状态为已完成状态时,调用所述子文件合并接口合并所述桌面客户端上传的若干个子文件为一个文件,合并成功后删去所述暂存区的所述若干个子文件。
在一个实施例中,所述服务端还包括获取下载文件字节大小接口;
所述下载模块通过所述获取下载文件字节大小接口查询所述服务端中存储的所述用户选中的共享文件的大小remotefilesize,并获取本地文件大小localfilesize,通过所述文件断点下载接口接收所述服务端从range=localfilesize-remotefilesize-1范围进行字节传输的数据。
本申请实施例所述的简易文件同步系统包括桌面客户端和服务端,其中桌面客户端由MFC技术实现交互显示界面,显示存储在服务端中的共享数据的信息,由libcurl库提供发送和接收数据功能,将用户的本地数据进行上传以及接收服务端的共享数据;服务端基于springboot和mybatis技术构建Java http服务器提供接收和发送数据字节流技术。用户可通过桌面客户端上传数据至服务端,且所有用户均可下载服务端数据,达到协同合作和文件同享的目的。本实施例所述的简易文件同步系统部署简单,适合在企业内部建立使用。
为了更好地理解和实施,下面结合附图详细说明本申请。
附图说明
图1为本申请实施例的简易文件同步系统的示意图;
图2为本申请实施例的简易文件同步系统的应用场景图。
具体实施方式
请参考图1和图2,本申请实施例公开了一种简易文件同步系统,包括:
桌面客户端101,用于接收用户的上传操作并将用户选中的本地数据通过断点续传的方式上传至服务端102,以及响应于用户的下载操作向所述服务端102发送下载请求并接收所述服务端102响应于所述下载请求而发送的共享数据;
服务端102,用于接收所述桌面客户端101上传的数据并保存进共享数据库,以及响应于所述桌面客户端101发送的所述下载请求,获取所述共享数据库中的共享数据通过断点续传的方式发送至所述桌面客户端101。
在一个实施例中,所述服务端102基于springboot和mybatis技术构建,包括:用户注册接口、登陆服务端接口、查询文件层次信息接口、文件断点下载接口、文件断点上传接口;
所述桌面客户端101基于libcurl库构建,包括:
登录模块,用于向所述服务端102的用户注册接口发送用户的注册信息并接收所述服务端102在注册成功时返回的提示信息,以及向所述服务端102的登陆服务端接口发送登录信息,并接收所述服务端102在连接成功时返回的token信息;
显示模块,用于访问所述服务端102的查询文件层次信息接口,并接收所述服务端102返回的所述共享数据库中所有用户的共享文件信息;将所有用户的文件信息基于MFC实现的目录树结构进行显示;
上传模块,用于向所述服务端102的文件断点上传接口发送上传请求,所述上传请求包括所述token信息,并获取用户选定的本地文件通过断点续传的方式上传至所述服务端102的文件断点上传接口;
下载模块,用于根据用户选中的所述显示模块显示的共享文件信息,向所述服务端102的文件断点下载接口发送下载请求,所述下载请求包括所述token信息,并接收所述服务端102响应于所述下载请求通过断点续传的方式返回的所述共享文件数据。
在一个实施例中,所述服务端102还包括查询文件接口、子文件检索上传接口;
所述上传模块通过所述服务端102的查询文件接口获取用户的上传文件在所述服务端102中存储的相对位置rpath;获取用户选定的进行上传的本地文件的大小和文件名filename,对所述本地文件通过断点续传的方式上传:
将所述本地文件以10M为一个子文件,划分为若干个子文件;
获取第N子文件进行上传,其中N=1,2,3...;
当发生网络中断时,向所述服务端102的子文件检索上传接口发送网络中断检查指令,所述网络中断检查指令包括所述服务端102存储的相对位置rpath、所述本地文件的文件名filename、上传文件状态和已上传子文件数量;其中所述服务端102响应于所述网络中断检查指令,检查已接收的子文件大小是否为10M,若不为10M,则返回重传指令;
响应于所述服务端102发送的重传指令,将近一次上传的子文件重新上传至所述服务端102。
本实施例中所述上传模块对用户选中的本地文件通过断点续传的方式上传,当发生网络中断时向所述服务端102的子文件检索上传接口发送网络中断检查指令,所述服务端根据所述网络中断检查指令中的所述服务端102存储的相对位置rpath、所述本地文件的文件名filename、上传文件状态和已上传子文件数量,对用户最近上传的子文件进行确定并检查文件大小,判断文件大小是否为10M,若为10M则说明子文件已经完整上传成功,若小于10M则说明该子文件还未上传完成,此时所述服务端发送重传指令给所述上传模块,使所述上传模块对该子文件进行重新上传。
在一个实施例中,所述服务端102还包括子文件合并接口;
所述服务端102接收所述桌面客户端101的上传模块上传的若干个子文件并保存在暂存区;接收所述上传模块发送的网络中断检查指令,当判断所述上传文件状态为已完成状态时,调用所述子文件合并接口合并所述桌面客户端101上传的若干个子文件为一个文件,合并成功后删去所述暂存区的所述若干个子文件。
在一个实施例中,所述服务端102还包括获取下载文件字节大小接口;
所述下载模块通过所述获取下载文件字节大小接口查询所述服务端102中存储的所述用户选中的共享文件的大小remotefilesize,并获取本地文件大小localfilesize,通过所述文件断点下载接口接收所述服务端102从range=localfilesize-remotefilesize-1范围进行字节传输的数据。
本申请实施例所述的简易文件同步系统包括桌面客户端和服务端,其中桌面客户端由MFC技术实现交互显示界面,显示存储在服务端中的共享数据的信息,由libcurl库提供发送和接收数据功能,将用户的本地数据进行上传以及接收服务端的共享数据;服务端基于springboot和mybatis技术构建Java http服务器提供接收和发送数据字节流技术。用户可通过桌面客户端上传数据至服务端,且所有用户均可下载服务端数据,达到协同合作和文件同享的目的。本实施例所述的简易文件同步系统部署简单,适合在企业内部建立使用。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,则本申请也意图包含这些改动和变形。
Claims (5)
1.一种简易文件同步系统,其特征在于,包括:
桌面客户端,用于接收用户的上传操作并将用户选中的本地数据通过断点续传的方式上传至服务端,以及响应于用户的下载操作向所述服务端发送下载请求并接收所述服务端响应于所述下载请求而发送的共享数据;
服务端,用于接收所述桌面客户端上传的数据并保存进共享数据库,以及响应于所述桌面客户端发送的所述下载请求,获取所述共享数据库中的共享数据通过断点续传的方式发送至所述桌面客户端。
2.根据权利要求1所述的简易文件同步系统,其特征在于,
所述服务端基于springboot和mybatis技术构建,包括:用户注册接口、登陆服务端接口、查询文件层次信息接口、文件断点下载接口、文件断点上传接口;
所述桌面客户端基于libcurl库构建,包括:
登录模块,用于向所述服务端的用户注册接口发送用户的注册信息并接收所述服务端在注册成功时返回的提示信息,以及向所述服务端的登陆服务端接口发送登录信息,并接收所述服务端在连接成功时返回的token信息;
显示模块,用于访问所述服务端的查询文件层次信息接口,并接收所述服务端返回的所述共享数据库中所有用户的共享文件信息;将所有用户的共享文件信息基于MFC实现的目录树结构进行显示;
上传模块,用于向所述服务端的文件断点上传接口发送上传请求,所述上传请求包括所述token信息,并获取用户选定的本地文件通过断点续传的方式上传至所述服务端的文件断点上传接口;
下载模块,用于根据用户选中的所述显示模块显示的共享文件信息,向所述服务端的文件断点下载接口发送下载请求,所述下载请求包括所述token信息,并接收所述服务端响应于所述下载请求通过断点续传的方式返回的所述共享文件数据。
3.根据权利要求2所述的简易文件同步系统,其特征在于,所述服务端还包括查询文件接口、子文件检索上传接口;
所述上传模块通过所述服务端的查询文件接口获取用户的上传文件在所述服务端中存储的相对位置rpath;获取用户选定的进行上传的本地文件的大小和文件名filename,对所述本地文件通过断点续传的方式上传:
将所述本地文件以10M为一个子文件,划分为若干个子文件;
获取第N子文件进行上传,其中N=1,2,3...;
当发生网络中断时,向所述服务端的子文件检索上传接口发送网络中断检查指令,所述网络中断检查指令包括所述服务端存储的相对位置rpath、所述本地文件的文件名filename、上传文件状态和已上传子文件数量;其中所述服务端响应于所述网络中断检查指令,检查已接收的子文件大小是否为10M,若不为10M,则返回重传指令;
响应于所述服务端发送的重传指令,将近一次上传的子文件重新上传至所述服务端。
4.根据权利要求3所述的简易文件同步系统,其特征在于,所述服务端还包括子文件合并接口;
所述服务端接收所述桌面客户端的上传模块上传的若干个子文件并保存在暂存区;接收所述上传模块发送的网络中断检查指令,当判断所述上传文件状态为已完成状态时,调用所述子文件合并接口合并所述桌面客户端上传的若干个子文件为一个文件,合并成功后删去所述暂存区的所述若干个子文件。
5.根据权利要求3所述的简易文件同步系统,其特征在于,所述服务端还包括获取下载文件字节大小接口;
所述下载模块通过所述获取下载文件字节大小接口查询所述服务端中存储的所述用户选中的共享文件的大小remotefilesize,并获取本地文件大小localfilesize,通过所述文件断点下载接口接收所述服务端从range=localfilesize-remotefilesize-1范围进行字节传输的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211727027.1A CN116132426A (zh) | 2022-12-30 | 2022-12-30 | 一种简易文件同步系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211727027.1A CN116132426A (zh) | 2022-12-30 | 2022-12-30 | 一种简易文件同步系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116132426A true CN116132426A (zh) | 2023-05-16 |
Family
ID=86309543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211727027.1A Pending CN116132426A (zh) | 2022-12-30 | 2022-12-30 | 一种简易文件同步系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116132426A (zh) |
-
2022
- 2022-12-30 CN CN202211727027.1A patent/CN116132426A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9418132B2 (en) | System for an open architecture deployment with centralized synchronization | |
CN107861686B (zh) | 文件存储方法、服务端和计算机可读存储介质 | |
US7702669B2 (en) | Synchronization in unified messaging systems | |
EP2773080A1 (en) | Sharing control system and method for network resources download information | |
CN110401725A (zh) | 文件上传方法、装置、终端、服务器、系统及存储介质 | |
EP1590939A1 (fr) | SYSTEME ET PROCEDE DE SYNCHRONISATION DE DONNEES ENTRE DES PORTAILS DE SERVICES ET DES PLATES-FORMES D’ACCES A DES SERVICES UTILISANT UN TEL SYSTEME DE SYNCHRONISATION | |
CN102882985A (zh) | 基于云存储的文件共享方法 | |
CN107888666B (zh) | 一种跨地域数据存储系统以及数据同步方法和装置 | |
CN107864208B (zh) | 一种新媒体资讯融合的方法 | |
US8103631B2 (en) | Merging files on storage and retrieve | |
CN110213156B (zh) | 一种跨中心群组即时通信方法和系统 | |
CN101304429A (zh) | 通过移动终端共享个人计算机的文件的系统及方法 | |
CN110572422A (zh) | 数据下载方法和装置 | |
CN110798495B (zh) | 用于在集群架构模式下端到端的消息推送的方法和服务器 | |
CN112838935A (zh) | 一种电子数据交换方法和系统 | |
GB2508138A (en) | Delivering video content to a device by storing multiple formats | |
CN116132426A (zh) | 一种简易文件同步系统 | |
US10862842B2 (en) | Managing specialized objects in a message store | |
US20130304868A1 (en) | System and method for communicating and managing data | |
CN111245949A (zh) | 文件归档传输方法、装置及设备 | |
CN107547645B (zh) | Linux服务端与windows客户端之间跨平台文件的传输方法 | |
CN105681262A (zh) | 一种交互消息分配方法及系统 | |
CN104580276A (zh) | 信息推送方法、装置、系统及信息接入装置 | |
WO2014169497A1 (en) | Method and server for pushing media file | |
US8626927B2 (en) | System for and method of distributing files |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |