CN116319837B - 一种支持多协议的文件同步方法、装置、设备及存储介质 - Google Patents
一种支持多协议的文件同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116319837B CN116319837B CN202310589607.7A CN202310589607A CN116319837B CN 116319837 B CN116319837 B CN 116319837B CN 202310589607 A CN202310589607 A CN 202310589607A CN 116319837 B CN116319837 B CN 116319837B
- Authority
- CN
- China
- Prior art keywords
- data
- file
- synchronization system
- file synchronization
- information
- 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.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请公开了一种支持多协议的文件同步方法、装置、设备及存储介质,涉及计算机技术领域,包括:通过文件同步系统接收用户提交的参数数据信息,并基于参数数据信息判断文件同步系统与源服务器、文件同步系统与目的服务器之间是否成功建立连接;若成功建立连接,则将源服务器中的待同步数据写入文件同步系统;当待同步数据写入文件同步系统后,基于待同步数据生成对应的数据同步任务,以便基于数据同步任务以及预设数据获取方法获取待上传数据,并将待上传数据同步上传至目的服务器。本申请通过用户提交的参数数据信息进行服务器连接判断,当连接成功时通过文件同步系统将数据同步,简化了用户操作成本,提高了数据同步的效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种支持多协议的文件同步方法、装置、设备及存储介质。
背景技术
在互联网发展的历史长河中,数据存储始终占据着举足轻重的地位。随着互联网的发展,数据存储系统无论从存储媒介、存储架构还是数据传输协议上都进行了大量的技术革新和迭代。经历过单机存储、网络文件存储、集群文件存储以及分布式文件存储的用户,大都经历过数据迁移归档的痛苦。目前已经存在了一些C端的互联网存储产品,使得用户更方便存储、使用数据。但是大多数据的互联网存储产品更关注的是新数据的归档使用,对历史数据的归档存储仍然需要通过效率极低的人工通过单一的数据上传方式进行归档使用。例如通过搭建互联网存储系统,如网盘,实现不同设备间数据共享,通过在不同设备上进行文件上传到云端的方式实现数据归档。如果需要将历史存在不同文件服务器上的数据汇集到网盘,必须先将历史数据下载后进行网盘的唯一汇集接口进行上传,完成历史数据的归档。这一操作对于互联网资深用户来讲,数据存储系统的多协议化导致用户必须花费更多的时间和精力从不同协议存储中下载数据后再统一进行数据归档,费事费力。而产生这个缺陷的根本原因就是:这种数据归档方式必须通过唯一的文件上传的方式才能实现数据归档。
发明内容
有鉴于此,本发明的目的在于提供一种支持多协议的文件同步方法、装置、设备和存储介质,能够简化用户操作成本,并提高数据同步的效率。其具体方案如下:
第一方面,本申请公开了一种支持多协议的文件同步方法,包括:
通过文件同步系统接收用户提交的参数数据信息,并基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接;
若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统;
当所述待同步数据写入所述文件同步系统后,基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器。
可选的,所述通过文件同步系统接收用户提交的参数数据信息,包括:
通过文件同步系统接收用户提交的表单信息或配置模板信息;所述配置模板信息包含通过csv文件导入的第一配置模板信息以及通过json文件导入的第二配置模板信息。
可选的,所述基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接,包括:
通过数据解析类解析所述参数数据信息,以得到对应的数据配置类;所述数据配置类包含数据来源字段以及数据目标字段;
通过基础操作类识别所述参数数据信息中文件传输协议的目标协议特征;
基于所述目标协议特征从Handler操作类集合中确定目标操作类;所述目标操作类中包含必填字段以及可选字段;
判断所述必填字段是否全部填充数据;
若所述必填字段全部填充数据,则通过所述文件同步系统接收所述源服务器发送的连接请求,并将所述连接请求发送至目标服务器;
接收所述目标服务器返回的应答信息,并基于所述应答信息执行预设验证操作,以得到验证结果;所述应答信息包含数据信息以及状态码信息;
基于所述验证结果判断所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间是否成功建立连接。
可选的,所述基于所述验证结果判断所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间是否成功建立连接之后,还包括:
若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间未成功建立连接,则生成异常信息返回至所述源服务器。
可选的,所述通过所述文件同步系统接收所述源服务器发送的连接请求,并将所述连接请求发送至目标服务器之前,还包括:
从所述Handler操作类集合中获取用于检查的目标检查操作类;
调用所述目标检查操作类执行预设检查流程;所述预设检查流程包含配置检查、文件系统服务检查、文件传输过程监控以及异常状态推送。
可选的,所述将所述源服务器中的待同步数据写入所述文件同步系统,包括:
从所述Handler操作类集合中确定数据操作类,并利用所述数据操作类分批下载所述待同步数据;
在当前批次的所述待同步数据下载成功时,按照预设大小将所述当前批次的所述待同步数据切片,以得到切片后数据块;
对所述切片后数据块执行hash计算,以得到所述切片后数据块对应的目标缓存目录;
判断所述文件同步系统中是否存在与所述目标缓存目录相同的目录;
若所述文件同步系统中不存在与所述目标缓存目录相同的目录,则基于所述目标缓存目录将对应的所述切片后数据块写入所述文件同步系统。
可选的,所述基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器之前,还包括:
获取所述当前批次的所述待同步数据对应的数据下载文件目录信息,并基于所述数据下载文件目录信息构建对应的结构体,将所述结构体存储至总缓存目录;所述数据下载文件目录信息包含所述当前批次的所述待同步数据的文件名称、文件大小、缓存时间以及所有所述切片后数据块对应的所述目标缓存目录;
相应的,所述基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,包括:
基于所述数据下载文件目录信息生成对应的所述数据同步任务,并将所述数据同步任务添加至同步队列;
调用所述目的服务器的所述Handler操作类集合中的数据目标操作类读取所述同步队列,以获取当前数据同步任务;
基于所述当前数据同步任务对应的当前数据下载文件目录信息确定当前目标缓存目录;
基于所述当前目标缓存目录读取真实数据,以得到所述待上传数据。
第二方面,本申请公开了一种支持多协议的文件同步装置,包括:
信息获取模块,用于通过文件同步系统接收用户提交的参数数据信息;
连接判断模块,用于基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接;
数据写入模块,用于若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统;
任务生成模块,用于当所述待同步数据写入所述文件同步系统后,基于所述待同步数据生成对应的数据同步任务;
数据同步模块,用于基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如前述公开的支持多协议的文件同步方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的支持多协议的文件同步方法。
可见,本申请提供了一种支持多协议的文件同步方法,包括:通过文件同步系统接收用户提交的参数数据信息,并基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接;若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统;当所述待同步数据写入所述文件同步系统后,基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器。由此可见,本申请通过用户提交的参数数据信息进行服务器连接判断,当连接成功时通过文件同步系统将数据同步,简化了用户操作成本,提高了数据同步的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种支持多协议的文件同步方法流程图;
图2为本申请公开的连接示意图;
图3为本申请公开的一种具体的支持多协议的文件同步方法流程图;
图4为本申请提供的支持多协议的文件同步装置结构示意图;
图5为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,通过搭建互联网存储系统,如网盘,实现不同设备间数据共享,通过在不同设备上进行文件上传到云端的方式实现数据归档。如果需要将历史存在不同文件服务器上的数据汇集到网盘,必须先将历史数据下载后进行网盘的唯一汇集接口进行上传,完成历史数据的归档。这一操作对于互联网资深用户来讲,数据存储系统的多协议化导致用户必须花费更多的时间和精力从不同协议存储中下载数据后再统一进行数据归档,费事费力。而产生这个缺陷的根本原因就是:这种数据归档方式必须通过唯一的文件上传的方式才能实现数据归档。为此,本申请提供了一种支持多协议的文件同步方法,能够简化用户操作成本,提高数据同步的效率。
本发明实施例公开了一种支持多协议的文件同步方法,参见图1所示,该方法包括:
步骤S11:通过文件同步系统接收用户提交的参数数据信息,并基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接。
本实施例中,通过文件同步系统接收用户提交的参数数据信息,并基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接。具体的,通过文件同步系统接收用户提交的表单信息或配置模板信息;所述配置模板信息包含通过csv文件导入的第一配置模板信息以及通过json文件导入的第二配置模板信息。可以理解的是,用户通过表单提交、csv文件导入(可下载同步配置模板)、json文件(可下载同步配置模板)导入等方式,将需要进行数据同步的服务器基本配置上传至文件同步系统。用户表单数据、csv数据以及json文件数据,分别通过对应的数据解析,进行各个字段的数据解析,并映射成具体的数据配置类。进一步的,通过数据解析类解析所述参数数据信息,以得到对应的数据配置类;所述数据配置类包含数据来源字段以及数据目标字段;通过基础操作类识别所述参数数据信息中文件传输协议的目标协议特征,即在具体操作类上层会有一个基础操作类,当前操作类会通过识别配置模板中文件传输协议开头部分协议特征,进行选择使用哪个具体的操作类进行相关操作;基于所述目标协议特征从Handler操作类集合中确定目标操作类;所述目标操作类中包含必填字段以及可选字段;判断所述必填字段是否全部填充数据;若所述必填字段全部填充数据,则通过所述文件同步系统接收所述源服务器发送的连接请求,并将所述连接请求发送至所述目标服务器;接收所述目标服务器返回的应答信息,并基于所述应答信息执行预设验证操作,以得到验证结果;所述应答信息包含数据信息以及状态码信息;基于所述验证结果判断所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间是否成功建立连接。可以理解的是,通过所述源服务器向所述目标服务器发送连接请求之前,从所述Handler操作类集合中获取用于检查的目标检查操作类;调用所述目标检查操作类执行预设检查流程,即在选定具体操作类后,进行一次配置检查。当前操作类中会标识必填字段和可选字段,当判断所有必填字段都有数据时,会尝试对服务器发送连接请求;所述预设检查流程包含配置检查、文件系统服务检查、文件传输过程监控以及异常状态推送。数据配置类会有数据来源字段和数据目标字段,标记后续的数据同步将从什么数据源进行数据;基于不同的文件系统设置不同的Handler操作类进行不同文件系统的相关操作,例如上述的预设检查流程。
另外,上述操作会分别对源服务器和目标服务器执行,例如上述预设检查流程、尝试对源服务器/目的服务器发送连接请求等操作。如图2所示,用户向文件同步系统中录入配置以后,文件同步系统使用源服务器配置对源服务器进行连接检查,同样文件同步系统使用目的服务器配置对目的服务器进行连接检查。
步骤S12:若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统。
本实施例中,基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接之后,若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统。可以理解的是,通过上述配置类识别到操作类选择以及数据服务器的尝试访问,保证数据来源服务器可以正常文件读取,数据目标服务器可以正常文件写入时,当前就具备了文件同步的基础条件。源数据的数据操作类会分批进行数据下载并写入数据同步服务器中进行文件缓存。
步骤S13:当所述待同步数据写入所述文件同步系统后,基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器。
本实施例中,若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统之后,当所述待同步数据写入所述文件同步系统后,基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器。可以理解的是,当前批次文件下载并缓存完成后,会添加文件目录信息数据任务到指定同步队列中,以供数据目标操作类进行数据上传同步。基于目标操作类读取对应的队列中的数据同步任务,任务的消息中标识了当前同步任务的源数据目录信息数据,通过目录信息数据下的对应hash列表读取到真实的文件流数据。当拿到正确的缓存的数据信息时,向目标数据服务器发送文件上传请求,将所述待上传数据同步上传至所述目的服务器。此时就完成了一次全链路的数据同步操作,当完成一个文件的数据传输时,会通过消息向用户端发送同步进度。
本申请的技术方案可以运行在网盘客户端或网盘服务器上(或其他满足要求的服务器),具体的,在用户提交数据同步服务器配置时,可以下载配置模板进行参数填写,通过文件导入的方式添加配置,提高配置的导入效率,为批量操作提供了可能;基于表单的引导式的配置界面,清晰准确的展现了进行数据同步的必要条件;在进行数据同步之前会进行数据服务器的状态监测,当遇到问题时能够及时通知;以数据同步系统为媒介进行数据同步,通过分块同步以及hash的摘要比对,相同内容的数据同步能够达到秒传的效果,大大提高数据同步的效率。通过提供不同协议的文件导入方式,不再通过单一简单的文件上传方式进行数据归档,简化了用户的操作成本,简单快捷且高效的实现文件服务器之间的数据同步汇总,并且无论文件系统的数据协议是否相同,都可以统一进行数据归档同步。
可见,本申请提供了一种支持多协议的文件同步方法,包括:通过文件同步系统接收用户提交的参数数据信息,并基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接;若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统;当所述待同步数据写入所述文件同步系统后,基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器。由此可见,本申请通过用户提交的参数数据信息进行服务器连接判断,当连接成功时通过文件同步系统将数据同步,简化了用户操作成本,提高了数据同步的效率。
参见图3所示,本发明实施例公开了一种支持多协议的文件同步方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S21:通过文件同步系统接收用户提交的参数数据信息,并基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接。
步骤S22:若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间未成功建立连接,则生成异常信息返回至所述源服务器。
本实施例中,基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接之后,若若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间未成功建立连接,则生成异常信息返回至所述源服务器。可以理解的是,通过服务器返回的数据信息及状态码信息来验证配置信息是否可用,例如访问带有密码的数据资源时,密码字段未填写时会受到密码权限异常等相关错误码或者异常信息,即通过服务访问可以验证配置信息是否有效可用,不同的异常信息会保证成用户容易理解的异常信息反馈给操作者,如访问地址不存在、需要用户名密码等。
步骤S23:若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统。
本实施例中,基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接之后,若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统。具体的,从所述Handler操作类集合中确定数据操作类,并利用所述数据操作类分批下载所述待同步数据;在当前批次的所述待同步数据下载成功时,按照预设大小将所述当前批次的所述待同步数据切片,以得到切片后数据块;对所述切片后数据块执行hash计算,以得到所述切片后数据块对应的目标缓存目录;判断所述文件同步系统中是否存在与所述目标缓存目录相同的目录;若所述文件同步系统中不存在与所述目标缓存目录相同的目录,则基于所述目标缓存目录将对应的所述切片后数据块写入所述文件同步系统。可以理解的是,在进行数据缓存时,将会通过固定大小数据切片的方式进行存储。数据切片完成后,会对数据块进行hash计算,即文件内容指纹计算,并根据得到的目标缓存目录判断当前缓存中是否存在相同内容的文件,若存在目录名称相同的文件则直接跳过该文件,若不存在目录名称相同的文件则写入该文件。需要指出的是,基于hash生成的信息获取对应的目标缓存目录,具体截取hash信息前两位作为一级目录,截取hash信息的最后四位作为二级目录,在二级目录下以完整hash命名文件块的方式进行存储,从而保证唯一hash可以命中唯一切片文件,因此根据目录缓存信息判定是否写入该文件,从而提高数据同步效率。
步骤S24:当所述待同步数据写入所述文件同步系统后,获取所述当前批次的所述待同步数据对应的数据下载文件目录信息,并基于所述数据下载文件目录信息构建对应的结构体,将所述结构体存储至总缓存目录。
本实施例中,将所述源服务器中的待同步数据写入文件同步系统之后,当所述待同步数据写入所述文件同步系统后,获取所述当前批次的所述待同步数据对应的数据下载文件目录信息,并基于所述数据下载文件目录信息构建对应的结构体,将所述结构体存储至总缓存目录。其中,所述数据下载文件目录信息包含所述当前批次的所述待同步数据的文件名称、文件大小、缓存时间以及所有切片后数据块对应的所述目标缓存目录。可以理解的是,当前批次的数据下载文件目录信息会独立构建成结构体(例如包含文件存储的具体位置),存储在缓存目录中。文件目录信息中包含了当前批次所有文件的文件名称、大小、时间等基本信息以及真实文件内容的所有切片hash列表。
步骤S25:基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器。
本实施例中,基于所述数据下载文件目录信息构建对应的结构体,将所述结构体存储至总缓存目录之后,基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器。具体的,基于所述数据下载文件目录信息生成对应的所述数据同步任务,并将所述数据同步任务添加至同步队列;调用所述目的服务器的所述Handler操作类集合中的数据目标操作类读取所述同步队列,以获取当前数据同步任务;基于所述当前数据同步任务对应的当前数据下载文件目录信息确定当前目标缓存目录;基于所述当前目标缓存目录读取真实数据,以得到所述待上传数据。
关于上述步骤S21的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例通过文件同步系统接收用户提交的参数数据信息,并基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接;若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间未成功建立连接,则生成异常信息返回至所述源服务器;若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统;当所述待同步数据写入所述文件同步系统后,获取所述当前批次的所述待同步数据对应的数据下载文件目录信息,并基于所述数据下载文件目录信息构建对应的结构体,将所述结构体存储至总缓存目录;基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器,简化了用户操作成本,提高了数据同步的效率。
参见图4所示,本申请实施例还相应公开了一种支持多协议的文件同步装置,包括:
信息获取模块11,用于通过文件同步系统接收用户提交的参数数据信息;
连接判断模块12,用于基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接;
数据写入模块13,用于若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统;
任务生成模块14,用于当所述待同步数据写入所述文件同步系统后,基于所述待同步数据生成对应的数据同步任务;
数据同步模块15,用于基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器。
可见,本申请包括:通过文件同步系统接收用户提交的参数数据信息,并基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接;若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统;当所述待同步数据写入所述文件同步系统后,基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器。由此可见,本申请通过用户提交的参数数据信息进行服务器连接判断,当连接成功时通过文件同步系统将数据同步,简化了用户操作成本,提高了数据同步的效率。
在一些具体实施例中,所述信息获取模块11,具体包括:
信息接收单元,用于通过文件同步系统接收用户提交的表单信息或配置模板信息;所述配置模板信息包含通过csv文件导入的第一配置模板信息以及通过json文件导入的第二配置模板信息。
在一些具体实施例中,所述连接判断模块12,具体包括:
信息解析单元,用于通过数据解析类解析所述参数数据信息,以得到对应的数据配置类;所述数据配置类包含数据来源字段以及数据目标字段;
协议特征确定单元,用于通过基础操作类识别所述参数数据信息中文件传输协议的目标协议特征;
目标操作类确定单元,用于基于所述目标协议特征从Handler操作类集合中确定目标操作类;所述目标操作类中包含必填字段以及可选字段;
必填字段判断单元,用于判断所述必填字段是否全部填充数据;
目标检查操作类获取单元,用于从所述Handler操作类集合中获取用于检查的目标检查操作类;
检查单元,用于调用所述目标检查操作类执行预设检查流程;所述预设检查流程包含配置检查、文件系统服务检查、文件传输过程监控以及异常状态推送;
连接请求发送单元,用于若所述必填字段全部填充数据,则通过所述文件同步系统接收所述源服务器发送的连接请求,并将所述连接请求发送至所述目标服务器;
验证单元,用于接收所述目标服务器返回的应答信息,并基于所述应答信息执行预设验证操作,以得到验证结果;所述应答信息包含数据信息以及状态码信息;
连接判断单元,用于基于所述验证结果判断所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间是否成功建立连接;
异常信息返回单元,用于若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间未成功建立连接,则生成异常信息返回至所述源服务器。
在一些具体实施例中,所述数据写入模块13,具体包括:
待同步数据下载单元,用于从所述Handler操作类集合中确定数据操作类,并利用所述数据操作类分批下载所述待同步数据;
数据切片单元,用于在当前批次的所述待同步数据下载成功时,按照预设大小将所述当前批次的所述待同步数据切片,以得到切片后数据块;
目标缓存目录确定单元,用于对所述切片后数据块执行hash计算,以得到所述切片后数据块对应的目标缓存目录;
目录判断单元,用于判断所述文件同步系统中是否存在与所述目标缓存目录相同的目录;
切片后数据块写入单元,用于若所述文件同步系统中不存在与所述目标缓存目录相同的目录,则基于所述目标缓存目录将对应的所述切片后数据块写入所述文件同步系统。
在一些具体实施例中,所述任务生成模块14,具体包括:
数据下载文件目录信息获取单元,用于获取所述当前批次的所述待同步数据对应的数据下载文件目录信息;所述数据下载文件目录信息包含所述当前批次的所述待同步数据的文件名称、文件大小、缓存时间以及所有切片后数据块对应的所述目标缓存目录;
结构体构建单元,用于基于所述数据下载文件目录信息构建对应的结构体,将所述结构体存储至总缓存目录;
数据同步任务生成单元,用于基于所述数据下载文件目录信息生成对应的所述数据同步任务;
数据同步任务添加单元,用于将所述数据同步任务添加至同步队列。
在一些具体实施例中,所述数据同步模块15,具体包括:
当前数据同步任务获取单元,用于调用所述目的服务器的所述Handler操作类集合中的数据目标操作类读取所述同步队列,以获取当前数据同步任务;
当前目标缓存目录确定单元,用于基于所述当前数据同步任务对应的当前数据下载文件目录信息确定当前目标缓存目录;
待上传数据获取单元,用于基于所述当前目标缓存目录读取真实数据,以得到所述待上传数据;
待上传数据上传单元,用于将所述待上传数据同步上传至所述目的服务器。
进一步的,本申请实施例还提供了一种电子设备。图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的支持多协议的文件同步方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的支持多协议的文件同步方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的支持多协议的文件同步方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种支持多协议的文件同步方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种支持多协议的文件同步方法,其特征在于,包括:
通过文件同步系统接收用户提交的参数数据信息,并基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接;
若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统;
当所述待同步数据写入所述文件同步系统后,基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器;
其中,所述基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接,包括:
通过数据解析类解析所述参数数据信息,以得到对应的数据配置类;所述数据配置类包含数据来源字段以及数据目标字段;
通过基础操作类识别所述参数数据信息中文件传输协议的目标协议特征;
基于所述目标协议特征从Handler操作类集合中确定目标操作类;所述目标操作类中包含必填字段以及可选字段;
判断所述必填字段是否全部填充数据;
若所述必填字段全部填充数据,则通过所述文件同步系统接收所述源服务器发送的连接请求,并将所述连接请求发送至目标服务器;
接收所述目标服务器返回的应答信息,并基于所述应答信息执行预设验证操作,以得到验证结果;所述应答信息包含数据信息以及状态码信息;
基于所述验证结果判断所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间是否成功建立连接。
2.根据权利要求1所述的支持多协议的文件同步方法,其特征在于,所述通过文件同步系统接收用户提交的参数数据信息,包括:
通过文件同步系统接收用户提交的表单信息或配置模板信息;所述配置模板信息包含通过csv文件导入的第一配置模板信息以及通过json文件导入的第二配置模板信息。
3.根据权利要求1所述的支持多协议的文件同步方法,其特征在于,所述基于所述验证结果判断所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间是否成功建立连接之后,还包括:
若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间未成功建立连接,则生成异常信息返回至所述源服务器。
4.根据权利要求1所述的支持多协议的文件同步方法,其特征在于,所述通过所述文件同步系统接收所述源服务器发送的连接请求,并将所述连接请求发送至目标服务器之前,还包括:
从所述Handler操作类集合中获取用于检查的目标检查操作类;
调用所述目标检查操作类执行预设检查流程;所述预设检查流程包含配置检查、文件系统服务检查、文件传输过程监控以及异常状态推送。
5.根据权利要求1至4任一项所述的支持多协议的文件同步方法,其特征在于,所述将所述源服务器中的待同步数据写入所述文件同步系统,包括:
从所述Handler操作类集合中确定数据操作类,并利用所述数据操作类分批下载所述待同步数据;
在当前批次的所述待同步数据下载成功时,按照预设大小将所述当前批次的所述待同步数据切片,以得到切片后数据块;
对所述切片后数据块执行hash计算,以得到所述切片后数据块对应的目标缓存目录;
判断所述文件同步系统中是否存在与所述目标缓存目录相同的目录;
若所述文件同步系统中不存在与所述目标缓存目录相同的目录,则基于所述目标缓存目录将对应的所述切片后数据块写入所述文件同步系统。
6.根据权利要求5所述的支持多协议的文件同步方法,其特征在于,所述基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器之前,还包括:
获取所述当前批次的所述待同步数据对应的数据下载文件目录信息,并基于所述数据下载文件目录信息构建对应的结构体,将所述结构体存储至总缓存目录;所述数据下载文件目录信息包含所述当前批次的所述待同步数据的文件名称、文件大小、缓存时间以及所有所述切片后数据块对应的所述目标缓存目录;
相应的,所述基于所述待同步数据生成对应的数据同步任务,以便基于所述数据同步任务以及预设数据获取方法获取待上传数据,包括:
基于所述数据下载文件目录信息生成对应的所述数据同步任务,并将所述数据同步任务添加至同步队列;
调用所述目的服务器的所述Handler操作类集合中的数据目标操作类读取所述同步队列,以获取当前数据同步任务;
基于所述当前数据同步任务对应的当前数据下载文件目录信息确定当前目标缓存目录;
基于所述当前目标缓存目录读取真实数据,以得到所述待上传数据。
7.一种支持多协议的文件同步装置,其特征在于,包括:
信息获取模块,用于通过文件同步系统接收用户提交的参数数据信息;
连接判断模块,用于基于所述参数数据信息判断所述文件同步系统与源服务器、所述文件同步系统与目的服务器之间是否成功建立连接;
数据写入模块,用于若所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间成功建立连接,则将所述源服务器中的待同步数据写入所述文件同步系统;
任务生成模块,用于当所述待同步数据写入所述文件同步系统后,基于所述待同步数据生成对应的数据同步任务;
数据同步模块,用于基于所述数据同步任务以及预设数据获取方法获取待上传数据,并将所述待上传数据同步上传至所述目的服务器;
其中,所述装置还用于:通过数据解析类解析所述参数数据信息,以得到对应的数据配置类;所述数据配置类包含数据来源字段以及数据目标字段;通过基础操作类识别所述参数数据信息中文件传输协议的目标协议特征;基于所述目标协议特征从Handler操作类集合中确定目标操作类;所述目标操作类中包含必填字段以及可选字段;判断所述必填字段是否全部填充数据;若所述必填字段全部填充数据,则通过所述文件同步系统接收所述源服务器发送的连接请求,并将所述连接请求发送至目标服务器;接收所述目标服务器返回的应答信息,并基于所述应答信息执行预设验证操作,以得到验证结果;所述应答信息包含数据信息以及状态码信息;基于所述验证结果判断所述文件同步系统与所述源服务器、所述文件同步系统与所述目的服务器之间是否成功建立连接。
8.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至6任一项所述的支持多协议的文件同步方法的步骤。
9.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的支持多协议的文件同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310589607.7A CN116319837B (zh) | 2023-05-24 | 2023-05-24 | 一种支持多协议的文件同步方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310589607.7A CN116319837B (zh) | 2023-05-24 | 2023-05-24 | 一种支持多协议的文件同步方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116319837A CN116319837A (zh) | 2023-06-23 |
CN116319837B true CN116319837B (zh) | 2023-07-28 |
Family
ID=86785524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310589607.7A Active CN116319837B (zh) | 2023-05-24 | 2023-05-24 | 一种支持多协议的文件同步方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116319837B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116089529A (zh) * | 2022-12-28 | 2023-05-09 | 中国联合网络通信集团有限公司 | 数据同步方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092715B (zh) * | 2013-11-28 | 2016-10-19 | 腾讯科技(深圳)有限公司 | 一种同步应用程序的方法、服务器及系统 |
CN104317843B (zh) * | 2014-10-11 | 2017-08-25 | 上海瀚之友信息技术服务有限公司 | 一种数据同步etl系统 |
CN113542402B (zh) * | 2021-07-13 | 2024-03-15 | 奇安信科技集团股份有限公司 | 文件传输方法、装置、系统、电子设备及存储介质 |
CN113722394A (zh) * | 2021-08-17 | 2021-11-30 | 北京百悟科技有限公司 | 数据同步方法、设备及存储介质 |
CN114925140A (zh) * | 2022-07-21 | 2022-08-19 | 中化现代农业有限公司 | 数据同步系统 |
-
2023
- 2023-05-24 CN CN202310589607.7A patent/CN116319837B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116089529A (zh) * | 2022-12-28 | 2023-05-09 | 中国联合网络通信集团有限公司 | 数据同步方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116319837A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112866310B (zh) | Cdn回源的校验方法和校验服务器、cdn集群 | |
CN110442524B (zh) | 一种针对带有认证授权的web服务接口测试方法和装置 | |
CN104468843A (zh) | 一种文件上传方法及装置 | |
US10623470B2 (en) | Optimizing internet data transfers using an intelligent router agent | |
CN109391673A (zh) | 一种管理更新文件的方法、系统及终端设备 | |
US20140359066A1 (en) | System, method and device for offline downloading resource and computer storage medium | |
CN111694749A (zh) | 接口自动测试方法、装置、计算机设备及可读存储介质 | |
CN111897846A (zh) | 缓存数据校验方法、装置、设备及存储介质 | |
CN113220660A (zh) | 一种数据迁移方法、装置、设备及可读存储介质 | |
CN112612977A (zh) | 一种页面显示方法、系统、装置、设备及存储介质 | |
CN112765103A (zh) | 一种文件解析方法、系统、装置及设备 | |
CN112702195A (zh) | 网关配置方法、电子设备及计算机可读存储介质 | |
CN111666079B (zh) | 软件升级的方法、装置、系统、设备和计算机可读介质 | |
WO2011104260A2 (en) | Short message processing method and apparatus | |
CN110324384B (zh) | 数据推送的方法和装置 | |
CN112243017A (zh) | 一种文件上传的方法和装置 | |
CN110807000B (zh) | 一种文件修复方法、装置、电子设备和存储介质 | |
CN107315672B (zh) | 用于监控服务器的方法和装置 | |
CN116319837B (zh) | 一种支持多协议的文件同步方法、装置、设备及存储介质 | |
CN109032646B (zh) | 一种更新应用的方法、装置和系统 | |
CN116069725A (zh) | 文件迁移方法、装置、设备、介质和程序产品 | |
CN115629784A (zh) | 更新机台文件的方法、系统、设备及计算机可读存储介质 | |
CN113569551B (zh) | App页面配置的方法、设备、系统及存储介质 | |
CN111950232B (zh) | 一种自动切换号段的方法和装置 | |
CN109525642B (zh) | 一种用户机制下的lims系统客户数据自动化上报方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |