CN111654522B - 文件同步方法、文件同步服务器及存储介质 - Google Patents
文件同步方法、文件同步服务器及存储介质 Download PDFInfo
- Publication number
- CN111654522B CN111654522B CN202010342583.1A CN202010342583A CN111654522B CN 111654522 B CN111654522 B CN 111654522B CN 202010342583 A CN202010342583 A CN 202010342583A CN 111654522 B CN111654522 B CN 111654522B
- Authority
- CN
- China
- Prior art keywords
- file
- synchronization
- list
- directory
- identification 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
Images
Classifications
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理技术领域,揭露了一种文件同步方法,该方法包括:调用第一系统的第一预设接口,根据第一预设接口返回的初始文件列表生成待同步文件列表;调用第一系统的第二预设接口,并接收第二预设接口返回的第一同步文件;对所述第一同步文件进行完整性验证,解密通过完整性验证的所述第一同步文件得到第二同步文件;获取预设文件同步目录,根据所述文件同步目录确定所述第二同步文件对应所述第二系统的目标文件目录,将所述第二同步文件同步至所述目标文件目录中。本发明还揭露了一种文件同步服务器及计算机存储介质。本发明还涉及区块链技术,所述目标文件目录存储于区块链中,本发明可在保证系统安全的同时提高文件同步的效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种文件同步方法、文件同步服务器及计算机可读存储介质。
背景技术
金融交易平台在运行中,有时候需要跟外部系统对接,获取数据文件供内部系统使用,出于系统安全和合规性的考虑,金融交易或者内部平台不能直接暴露在互联网上,也不能直接通过内部系统直接获取外部数据文件。
现有技术中采用的方案一般有两种:1)每次同步需人工拉取再通过堡垒机上传;2)在需要获取数据的每个系统平台都实现一个数据同步功能,通过代理出去拉取。
然而,以上两种方案都存在一定的弊端:第一种方案会增加人工的工作量,也容易出错;第二种方案如果在需要获取数据的每个系统平台都实现一个数据同步功能,通过代理出去拉取,则会增加系统的复杂性,需要每个系统都要重新实现同样的功能,系统功能冗余,增加工作量。
发明内容
鉴于以上内容,本发明提供一种文件同步方法、文件同步服务器及计算机可读存储介质,其主要目的在于提高文件同步的效率、保证系统安全。
为实现上述目的,本发明提供一种文件同步方法,该方法包括:
实时或定时调用所述第一系统的第一预设接口,接收所述第一预设接口返回的初始文件列表,根据所述文件列表生成待同步文件列表;
基于所述待同步文件列表调用所述第一系统的第二预设接口,并接收所述第二预设接口返回的第一同步文件;
基于预设验证规则对所述第一同步文件进行完整性验证,解密通过完整性验证的所述第一同步文件得到第二同步文件;及
获取预设文件同步目录,根据所述文件同步目录确定所述第二同步文件对应所述第二系统的目标文件目录,将所述第二同步文件同步至所述目标文件目录中,其中,所述目标文件目录存储于区块链中。
此外,为实现上述目的,本发明还提供一种文件同步服务器,所述文件同步服务器包括:存储器、处理器,所述存储器中存储有可在所述处理器上运行的文件同步程序,所述文件同步程序被所述处理器执行时可实现如上所述文件同步方法中的任意步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括文件同步程序,所述文件同步程序被处理器执行时,可实现如上所述文件同步方法中的任意步骤。
本发明提供的文件同步方法、文件同步服务器及计算机可读存储介质,首先确定待同步文件列表,然后获取待同步文件列表中的第一同步文件,对第一同步文件进行完整性验证及解密得到第二同步文件,最后确定第二同步文件的同步路径(目标文件目录)后进行同步。1)利用文件标识自动识别待同步文件列表,提高文件同步的效率;2)在接收待同步文件列表中的第一同步文件后,对待同步文件进行完整性校验,对通过完整性校验的第一同步文件解密后进行同步,提高了数据文件的安全性及完整性;3)通过预先配置文件同步服务器与外部系统及内部系统的数据传输接口,减少系统对接的工作量,自定义数据同步时间,程序自动化同步数据文件,减少系统复杂性;4)在文件同步过程中监控并记录文件同步信息,出现同步异常后,根据监控及记录到的文件同步信息重启同步流程,提高文件同步的效率,提升用户使用体验。。
附图说明
图1为本发明各个实施例一可选的应用环境示意图;
图2为本发明文件同步服务器一可选的硬件架构的示意图;
图3为图2中文件同步程序的程序模块示意图;
图4为本发明文件同步方法的一实施例的流程步骤图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
参照图1所示,是本发明各个实施例一可选的应用环境示意图。
在本实施例中,本发明可应用于包括,但不仅限于,文件同步服务器1、第一系统2(图中仅示出一个)、第二系统3(图中仅示出一个)的应用环境中。
其中,所述文件同步服务器1可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器。所述第一系统2为外部系统,所述第二系统1为内部系统。所述文件同步服务器1、第一系统2及第二系统3通过网络(图中未标识)进行数据传输。其中,网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobilecommunication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
本实施例中,当所述文件同步服务器1内安装并运行有文件同步程序10,当所述文件同步程序10运行时,所述文件同步服务器1调用外部系统的文件列表查询接口得到初始文件列表,分析初始文件列表生成待同步文件列表,调用外部系统的文件下载接口得到第一同步文件,对第一同步文件进行完整性验证并解密得到第二同步文件,确定各第二同步文件对应的第二系统及指定文件目录,基于对应的指定文件目录进行同步。
本发明提供一种文件同步服务器1。
参照图2所示,是本发明文件同步服务器1一可选的硬件架构的示意图。
在本实施例中,所述应用文件同步服务器1可包括,但不仅限于,可通过系统总线相互通信连接存储器11、处理器12、网络接口13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是所述文件同步服务器1的内部存储单元,例如该文件同步服务器1的硬盘。存储器11在另一些实施例中也可以是所述文件同步服务器1的外部存储设备,例如该文件同步服务器1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括该文件同步服务器1的内部存储单元也包括外部存储设备。
存储器11不仅可以用于存储安装于该文件同步服务器1的应用软件及各类数据,例如,文件同步程序10等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如,文件同步程序10等。
网络接口13可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该文件同步服务器1与其他电子设备之间建立通信连接,例如,与设终端(图中未标识)。
需要指出的是,图2仅示出了具有组件11-13的文件同步服务器1,本领域技术人员可以理解的是,图2示出的结构并不构成对文件同步服务器1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
可选地,该文件同步服务器1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。
可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以称为显示屏或显示单元,用于显示在文件同步服务器1中处理的信息以及用于显示可视化的用户界面。
在图2所示的文件同步服务器1实施例中,作为一种计算机存储介质的存储器21中存储文件同步程序10的程序代码,处理器22执行文件同步程序10的程序代码时,实现步骤:A1-A4。
步骤A1,实时或定时调用所述第一系统的第一预设接口,接收所述第一预设接口返回的初始文件列表,根据所述文件列表生成待同步文件列表。
以某金融交易平台为例,上述第一系统该金融交易平台的内部业务系统对应的第三方系统,即,外部系统。金融交易平台在运行中,有时候需要跟外部系统对接,获取数据文件供内部业务系统使用,出于系统安全和合规性的考虑,需将外部系统的文件数据同步至内部业务系统。
需要说明的是,需预先配置第一系统及第二系统的对接方式,包括:由第一系统实现查询文件列表接口及数据文件下载接口,同时配置第二系统的文件存储/同步目录。
上述第一预设接口为外部系统提供的文件列表查询接口。
在本实施例中,文件同步服务器定时(每天固定时间点,例如,每天0:00,或者,每隔预设时间间隔,例如,2小时)或实时通过访问外部系统的文件列表查询接口获取文件列表作为待同步文件列表。
在其他实施例中,从所述第一系统的第一预设接口查询并获取待同步文件列表的触发指令还可以是接收到预设终端发出的同步指令,在此不作赘述。
为了进一步明确待同步文件,在进行文件同步之前,需要根据获取的文件列表确定新的数据文件,即确定待同步文件列表。也就是说,文件同步服务器访问文件列表查询接口查询文件,如果接口有新的数据文件,则进行数据同步。在本实施例中,所述调用第一系统的第一预设接口查询待同步文件列表,包括:
a1.确定与所述初始文件列表对应的历史同步文件列表,获取所述历史同步文件列表中历史同步文件的文件标识信息;
a2.对所述备选文件的文件标识信息及所述历史同步文件的文件标识信息进行匹配,确定所述初始文件列表中文件标识信息匹配失败的备选文件;及
a3.基于确定的备选文件生成所述待同步文件列表。
例如,文件同步服务器访问外部系统的文件列表查询接口,拉取预设时间(例如,当前时间点前两小时,或者,从上次同步时间点到当前时间点这一时间段)内外部系统中的文件列表作为初始文件列表,此时,初始文件列表中的备选文件可能是待同步文件,也可能不是待同步文件。
上述初始文件列表中包括所有备选文件的加密信息、文件生成时间、文件类型、文件名称、文件标识信息等。上述文件标识信息为对备选文件进行MD5计算得到的MD5值,上述加密信息为使用公钥对待同步文件进行加密得到的加密信息。
上述初始文件列表对应的历史同步文件列表为距离当前时间点最近的一次文件同步的同步文件列表,包括:同步成功的文件名称、文件类型、文件标识信息、同步时间等。
正常情况下,若备选文件1的生成时间在预设时间段内,则备选文件1基本上可以确定是待同步文件。本实施例为了进一步确保待同步文件的准确性,通过备选文件的文件标识确定其是否为待同步文件。
例如,初始文件列表示例如下:
文件名称 | 文件类型 | 文件标识信息 | 文件加密信息 | 生成时间 |
文件1 | 类型1 | 标识1 | 加密信息1 | 时间1 |
文件2 | 类型2 | 标识2 | 加密信息2 | 时间2 |
文件3 | 类型1 | 标识3 | 加密信息3 | 时间3 |
文件4 | 类型3 | 标识4 | 加密信息4 | 时间4 |
… | … | … | … | … |
初始文件列表对应的历史同步文件列表示例如下:
确定初始文件列表及其对应的历史同步文件列表后,对比两张表中的文件标识信息。可以理解的是,鉴于本实施例中文件标识信息为MD5值,若两张表中同一个文件名称对应的文件标识信息相同,即,MD5值相同,则说明该文件未被修改过,则不需要进行同步,若文件标识信息不同,即MD5值不相同,则说明该文件内容有更新,则需要进行同步。因此,若标识1-1与标识1相同,那么文件名为文件1的备选文件不是待同步文件,否则为待同步文件,同理,按照上述步骤依次判断初始文件列表中每一个备选文件是否为待同步文件,最后根据判断结果确定最终的待同步文件列表。
在其他实施例中,若待同步文件列表为空,则流程结束,文件同步服务器等待执行下一次查询任务。
步骤A2,基于所述待同步文件列表调用所述第一系统的第二预设接口,并接收所述第二预设接口返回的第一同步文件。
上述第二预设接口为外部系统的文件下载接口。通过调用文件下载接口,以控制文件下载接口下载待同步文件列表对应的文件数据。上述第一同步文件为处于加密状态的待同步文件数据。
步骤A3,基于预设验证规则对所述第一同步文件进行完整性验证,解密通过完整性验证的所述第一同步文件得到第二同步文件。
上述第二同步文件为处于明文状态的待同步文件数据。
获取到外部系统的文件下载接口返回的第一同步文件后,为了保证文件数据的完整性,需先对文件进行验证。
在本实施例中,所述基于预设验证规则对所述第一同步文件进行完整性验证包括:
b1.基于预设的文件信息计算规则计算所述第一同步文件的文件标识信息;
b2.根据所述第一同步文件的文件名称从所述待同步文件列表中查询对应的文件标识信息;
b3.对比所述第一同步文件的文件标识信息及所述查到的文件标识信息;
b4.若文件标识信息一致,则判断所述第一同步文件完整,验证通过;及
b5.若文件标识信息不一致,则判断所述第一同步文件不完整,验证失败。
同理,上述预设的文件信息计算规则为MD5算法。将第一同步文件的MD5值作为其文件标识信息,以供验证其完整性。在其他实施例中,当判断第一同步文件完整性验证失败时,将未通过完整性验证的第一同步文件从待同步文件列表中删除,并删除文件数据。
在本实施例中,所述解密通过完整性验证的所述第一同步文件得到第二同步文件,包括:
c1.获取所述第一同步文件的加密信息中的公钥,确定与所述公钥对应的秘钥对中的私钥;及
c2.利用所述私钥对所述第一同步文件进行解密,得到第二同步文件。
在本实施例中,所述加解密算法可以是对称加密算法,也可以是非对称加密算法。
上述步骤通过先进行md5校验文件完整性,文件完整性校验通过后,再使用约定的私钥进行文件解密,丢弃解密失败的文件。通过这两步后,才获取到完整的待同步文件。
步骤A4,获取预设文件同步目录,根据所述文件同步目录确定所述第二同步文件对应所述第二系统的目标文件目录,将所述第二同步文件同步至所述目标文件目录中。
上述预设文件同步目录中明确了待同步文件的文件类型、第二系统及文件目录的映射关系。具体地,所述根据所述文件同步目录确定所述第二同步文件对应所述第二系统的目标文件目录,将所述第二同步文件同步至所述目标文件目录中,包括:
d1.获取所述第二同步文件的文件名称及文件类型;
d2.基于所述文件名称及文件类型从所述文件同步目录中确定与所述第二同步文件对应的第二系统及指定文件目录,生成所述指定文件目录对应的目标文件列表;及
d3.将与所述目标文件列表对应的指定文件目录作为目标文件目录,并将所述目标文件列表中的所述第二同步文件同步至所述目标文件目录中。
可以理解的是,不同的内部业务系统可能使用不同文件类型的数据文件,另外,针对同一个内部业务系统而言,不同的文件类型对应不同的文件目录,因此,预先设置不同的第二系统对应的不同文件类型,以及不同文件类型对应的文件同步地址,生成上述预设的文件同步目录并保存。
例如,有6个待同步的第二同步文件,通过文件同步目录确定第二系统P对应的目标文件列表1中包括:文件1、文件2、文件5;第二系统Q对应的目标文件列表2包括:文件2、文件3、文件4;第二系统Z对应的目标文件列表3包括:文件1、文件2、文件5、文件6。分别将各自的目标文件列表中的第二同步文件同步至对应的指定文件目录中。进一步地,若不同文件类型对应不同文件目录,则对目标文件列表进行进一步划分生成目标文件子列表,并同步至对应的文件目录中,在此不作赘述。
文件同步服务器获取到所有的文件列表后,把数据文件同步到内部系统中指定文件目录,以供内部业务系统使用。
可选地,在其他的实施例中,所述文件同步程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器12所执行,以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
例如,参照图3所示,为图2中文件同步程序10的程序模块示意图。
在所述文件同步程序10一实施例中,文件同步程序10包括:模块110-140,其中:
第一调用模块110,用于实时或定时调用所述第一系统的第一预设接口,接收所述第一预设接口返回的初始文件列表,根据所述文件列表生成待同步文件列表;
第二调用模块120,用于基于所述待同步文件列表调用所述第一系统的第二预设接口,并接收所述第二预设接口返回的第一同步文件;
验证及解密模块130,用于基于预设验证规则对所述第一同步文件进行完整性验证,解密通过完整性验证的所述第一同步文件得到第二同步文件;及
同步模块140,用于获取预设文件同步目录,根据所述文件同步目录确定所述第二同步文件对应所述第二系统的目标文件目录,将所述第二同步文件同步至所述目标文件目录中。
所述模块110-140所实现的功能或操作步骤均与上文类似,此处不再详述。
本发明还提供一种文件同步方法。该方法可以由一个装置执行,所述文件同步服务器可以由软件和/或硬件实现。
参照图4所示,为本发明文件同步方法一实施例的流程步骤图。
在本实施例中,所述文件同步方法包括:步骤S1-步骤S4。
步骤S1,实时或定时调用所述第一系统的第一预设接口,接收所述第一预设接口返回的初始文件列表,根据所述文件列表生成待同步文件列表。
在本实施例中,以文件同步服务器作为执行主体对各步骤进行说明。
以某金融交易平台为例,上述第一系统该金融交易平台的内部业务系统对应的第三方系统,即,外部系统。金融交易平台在运行中,有时候需要跟外部系统对接,获取数据文件供内部业务系统使用,出于系统安全和合规性的考虑,需将外部系统的文件数据同步至内部业务系统。
需要说明的是,需预先配置第一系统及第二系统的对接方式,包括:由第一系统实现查询文件列表接口及数据文件下载接口,同时配置第二系统的文件存储/同步目录。
上述第一预设接口为外部系统提供的文件列表查询接口。
在本实施例中,文件同步服务器定时(每天固定时间点,例如,每天0:00,或者,每隔预设时间间隔,例如,2小时)或实时通过访问外部系统的文件列表查询接口获取文件列表作为待同步文件列表。
在其他实施例中,从所述第一系统的第一预设接口查询并获取待同步文件列表的触发指令还可以是接收到预设终端发出的同步指令,在此不作赘述。
为了进一步明确待同步文件,在进行文件同步之前,需要根据获取的文件列表确定新的数据文件,即确定待同步文件列表。也就是说,文件同步服务器访问文件列表查询接口查询文件,如果接口有新的数据文件,则进行数据同步。在本实施例中,所述调用第一系统的第一预设接口查询待同步文件列表,包括:
a1.确定与所述初始文件列表对应的历史同步文件列表,获取所述历史同步文件列表中历史同步文件的文件标识信息;
a2.对所述备选文件的文件标识信息及所述历史同步文件的文件标识信息进行匹配,确定所述初始文件列表中文件标识信息匹配失败的备选文件;及
a3.基于确定的备选文件生成所述待同步文件列表。
例如,文件同步服务器访问外部系统的文件列表查询接口,拉取预设时间(例如,当前时间点前两小时,或者,从上次同步时间点到当前时间点这一时间段)内外部系统中的文件列表作为初始文件列表,此时,初始文件列表中的备选文件可能是待同步文件,也可能不是待同步文件。
上述初始文件列表中包括所有备选文件的加密信息、文件生成时间、文件类型、文件名称、文件标识信息等。上述文件标识信息为对备选文件进行MD5计算得到的MD5值,上述加密信息为使用公钥对待同步文件进行加密得到的加密信息。
上述初始文件列表对应的历史同步文件列表为距离当前时间点最近的一次文件同步的同步文件列表,包括:同步成功的文件名称、文件类型、文件标识信息、同步时间等。
正常情况下,若备选文件1的生成时间在预设时间段内,则备选文件1基本上可以确定是待同步文件。本实施例为了进一步确保待同步文件的准确性,通过备选文件的文件标识确定其是否为待同步文件。
例如,初始文件列表示例如下:
文件名称 | 文件类型 | 文件标识信息 | 文件加密信息 | 生成时间 |
文件1 | 类型1 | 标识1 | 加密信息1 | 时间1 |
文件2 | 类型2 | 标识2 | 加密信息2 | 时间2 |
文件3 | 类型1 | 标识3 | 加密信息3 | 时间3 |
文件4 | 类型3 | 标识4 | 加密信息4 | 时间4 |
… | … | … | … | … |
初始文件列表对应的历史同步文件列表示例如下:
文件名称 | 文件类型 | 文件标识信息 | 文件加密信息 | 生成时间 | 同步时间 |
文件1 | 类型1 | 标识1-1 | 加密信息1 | 时间1-1 | 时间1-1 |
文件2 | 类型2 | 标识2-2 | 加密信息2 | 时间2-1 | 时间2-1 |
文件3 | 类型1 | 标识3-3 | 加密信息3 | 时间3-1 | 时间3-1 |
… | … | … | … | … | … |
确定初始文件列表及其对应的历史同步文件列表后,对比两张表中的文件标识信息。可以理解的是,鉴于本实施例中文件标识信息为MD5值,若两张表中同一个文件名称对应的文件标识信息相同,即,MD5值相同,则说明该文件未被修改过,则不需要进行同步,若文件标识信息不同,即MD5值不相同,则说明该文件内容有更新,则需要进行同步。因此,若标识1-1与标识1相同,那么文件名为文件1的备选文件不是待同步文件,否则为待同步文件,同理,按照上述步骤依次判断初始文件列表中每一个备选文件是否为待同步文件,最后根据判断结果确定最终的待同步文件列表。
在其他实施例中,若待同步文件列表为空,则流程结束,文件同步服务器等待执行下一次查询任务。
步骤S2,基于所述待同步文件列表调用所述第一系统的第二预设接口,并接收所述第二预设接口返回的第一同步文件。
上述第二预设接口为外部系统的文件下载接口。通过调用文件下载接口,以控制文件下载接口下载待同步文件列表对应的文件数据。上述第一同步文件为处于加密状态的待同步文件数据。
步骤S3,基于预设验证规则对所述第一同步文件进行完整性验证,解密通过完整性验证的所述第一同步文件得到第二同步文件。
上述第二同步文件为处于明文状态的待同步文件数据。
获取到外部系统的文件下载接口返回的第一同步文件后,为了保证文件数据的完整性,需先对文件进行验证。
在本实施例中,所述基于预设验证规则对所述第一同步文件进行完整性验证包括:
b1.基于预设的文件信息计算规则计算所述第一同步文件的文件标识信息;
b2.根据所述第一同步文件的文件名称从所述待同步文件列表中查询对应的文件标识信息;
b3.对比所述第一同步文件的文件标识信息及所述查到的文件标识信息;
b4.若文件标识信息一致,则判断所述第一同步文件完整,验证通过;及
b5.若文件标识信息不一致,则判断所述第一同步文件不完整,验证失败。
同理,上述预设的文件信息计算规则为MD5算法。将第一同步文件的MD5值作为其文件标识信息,以供验证其完整性。在其他实施例中,当判断第一同步文件完整性验证失败时,将未通过完整性验证的第一同步文件从待同步文件列表中删除,并删除文件数据。
在本实施例中,所述解密通过完整性验证的所述第一同步文件得到第二同步文件,包括:
c1.获取所述第一同步文件的加密信息中的公钥,确定与所述公钥对应的秘钥对中的私钥;及
c2.利用所述私钥对所述第一同步文件进行解密,得到第二同步文件。
在本实施例中,所述加解密算法可以是对称加密算法,也可以是非对称加密算法。
上述步骤通过先进行md5校验文件完整性,文件完整性校验通过后,再使用约定的私钥进行文件解密,丢弃解密失败的文件。通过这两步后,才获取到完整的待同步文件。
步骤S4,获取预设文件同步目录,根据所述文件同步目录确定所述第二同步文件对应所述第二系统的目标文件目录,将所述第二同步文件同步至所述目标文件目录中。
需要强调的是,为进一步保证上述目标文件目录数据的私密和安全性,上述目标文件目录还可以存储于一区块链的节点中。上述预设文件同步目录中明确了待同步文件的文件类型、第二系统及文件目录的映射关系。具体地,所述根据所述文件同步目录确定所述第二同步文件对应所述第二系统的目标文件目录,将所述第二同步文件同步至所述目标文件目录中,包括:
d1.获取所述第二同步文件的文件名称及文件类型;
d2.基于所述文件名称及文件类型从所述文件同步目录中确定与所述第二同步文件对应的第二系统及指定文件目录,生成所述指定文件目录对应的目标文件列表;及
d3.将与所述目标文件列表对应的指定文件目录作为目标文件目录,并将所述目标文件列表中的所述第二同步文件同步至所述目标文件目录中。
可以理解的是,不同的内部业务系统可能使用不同文件类型的数据文件,另外,针对同一个内部业务系统而言,不同的文件类型对应不同的文件目录,因此,预先设置不同的第二系统对应的不同文件类型,以及不同文件类型对应的文件同步地址,生成上述预设的文件同步目录并保存。
例如,有6个待同步的第二同步文件,通过文件同步目录确定第二系统P对应的目标文件列表1中包括:文件1、文件2、文件5;第二系统Q对应的目标文件列表2包括:文件2、文件3、文件4;第二系统Z对应的目标文件列表3包括:文件1、文件2、文件5、文件6。分别将各自的目标文件列表中的第二同步文件同步至对应的指定文件目录中。进一步地,若不同文件类型对应不同文件目录,则对目标文件列表进行进一步划分生成目标文件子列表,并同步至对应的文件目录中,在此不作赘述。
文件同步服务器获取到所有的文件列表后,把数据文件同步到内部系统中指定文件目录,以供内部业务系统使用。
在其他实施例中,所述文件同步方法还包括:
记录所述第二同步文件对应的同步状态、同步时间、目标文件目录,生成同步文件列表。
其中,上述同步状态包括:第一状态及第二状态。第一状态为初始状态“0”,表示未完成同步,每同步完一个第二同步文件文件,更新其对应的同步状态为第二状态“1”,表示已同步。通过记录目标文件的同步状态,以便于后续同步中途出现故障时,确定未完成同步的第二同步文件。
另外,通过记录每次同步的同步文件列表,作为下一次文件同步的历史同步文件列表,防止同一个文件重复同步,浪费计算资源。
在其他实施例中,所述文件同步方法还包括:
当文件同步异常时,基于所述第二同步文件生成预警信息发送至指定终端;
接收并响应所述指定终端反馈的文件同步重启指令,获取所述第二同步文件对应的同步文件列表;
从所述同步文件列表中获取所述第二同步文件的同步状态;及
对同步状态为第一状态的所述第二同步文件进行文件同步。
文件同步出错的原因很多,例如,网络故障或者机器宕机等。同步过程中出错或者崩溃,或者同步过程中缺失某一个待同步文件,通过监控告警程序发送邮件给相应的人员,以便启动应急方案。
因业务系统对数据的依赖性有可能会很强,文件同步过程中,通过设置异常处理及重试机制,防止网络问题短连或者重启等问题。
通过记录第二同步文件的同步状态,可以清晰准确的了解哪些文件尚未被同步,因此,重试同步时,仅需确定同步状态为“未同步”的第二同步文件,并将其同步至对应的指定目录中。
上述实施例提出的文件同步方法,首先确定待同步文件列表,然后获取待同步文件列表中的第一同步文件,对第一同步文件进行完整性验证及解密得到第二同步文件,最后确定第二同步文件的同步路径(目标文件目录)后进行同步。1)利用文件标识自动识别待同步文件列表,提高文件同步的效率;2)在接收待同步文件列表中的第一同步文件后,对待同步文件进行完整性校验,对通过完整性校验的第一同步文件解密后进行同步,提高了数据文件的安全性及完整性;3)通过预先配置文件同步服务器与外部系统及内部系统的数据传输接口,减少系统对接的工作量,自定义数据同步时间,程序自动化同步数据文件,减少系统复杂性;4)在文件同步过程中监控并记录文件同步信息,出现同步异常后,根据监控及记录到的文件同步信息重启同步流程,提高文件同步的效率,提升用户使用体验。
此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中包括文件同步程序10,所述文件同步程序10被处理器执行时实现所述文件同步方法的任意步骤。本发明计算机可读存储介质的具体实施方式与上述方法实施例大致相同,在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种文件同步方法,适用于文件同步服务器,其特征在于,所述文件同步服务器用于对第一系统及第二系统进行文件同步,该方法包括:
实时或定时调用所述第一系统的第一预设接口,接收所述第一预设接口返回的初始文件列表,所述初始文件列表包括第一系统在预设的时间内生成的备选文件的文件标识信息,确定与所述初始文件列表对应的历史同步文件列表并获取文件标识信息,再对所述备选文件列表中的文件标识信息与所述历史同步文件的文件标识信息进行匹配,确定与所述初始文件列表中文件标识信息匹配失败的备选文件,根据所述确定的备选文件生成待同步文件列表;
基于所述待同步文件列表调用所述第一系统的第二预设接口,并接收所述第二预设接口返回的第一同步文件;
基于预设验证规则对所述第一同步文件进行完整性验证,解密通过完整性验证的所述第一同步文件得到第二同步文件;及
获取预设文件同步目录,根据所述文件同步目录确定所述第二同步文件对应所述第二系统的目标文件目录,将所述第二同步文件同步至所述目标文件目录中。
2.根据权利要求1所述的文件同步方法,其特征在于,所述基于预设验证规则对所述第一同步文件进行完整性验证,包括:
基于预设的文件信息计算规则计算所述第一同步文件的文件标识信息;
根据所述第一同步文件的文件名称从所述待同步文件列表中查询对应的文件标识信息;
对比所述第一同步文件的文件标识信息及所述查到的文件标识信息;
若文件标识信息一致,则判断所述第一同步文件完整,验证通过;及
若文件标识信息不一致,则判断所述第一同步文件不完整,验证失败。
3.根据权利要求1所述的文件同步方法,其特征在于,所述解密通过完整性验证的所述第一同步文件得到第二同步文件,包括:
获取所述第一同步文件的加密信息中的公钥,确定与所述公钥对应的秘钥对中的私钥;及
利用所述私钥对所述第一同步文件进行解密,得到第二同步文件。
4.根据权利要求2中所述的文件同步方法,其特征在于,所述预设的文件信息计算规则为MD5算法。
5.根据权利要求1中所述的文件同步方法,其特征在于,所述根据所述文件同步目录确定所述第二同步文件对应所述第二系统的目标文件目录,将所述第二同步文件同步至所述目标文件目录中,包括:
获取所述第二同步文件的文件名称及文件类型;
基于所述文件名称及文件类型从所述文件同步目录中确定与所述第二同步文件对应的第二系统及指定文件目录,生成所述指定文件目录对应的目标文件列表;及
将与所述目标文件列表对应的指定文件目录作为目标文件目录,并将所述目标文件列表中的所述第二同步文件同步至所述目标文件目录中,其中,所述目标文件目录存储于区块链中。
6.根据权利要求1至5中任意一项所述的文件同步方法,其特征在于,所述文件同步方法还包括:
记录所述第二同步文件对应的同步状态、同步时间、目标文件目录,生成同步文件列表。
7.根据权利要求6中所述的文件同步方法,其特征在于,所述同步状态包括第一状态及第二状态,所述文件同步方法还包括:
当文件同步异常时,基于所述第二同步文件生成预警信息发送至指定终端;
接收并响应所述指定终端反馈的文件同步重启指令,获取所述第二同步文件对应的同步文件列表;
从所述同步文件列表中获取所述第二同步文件的同步状态;及
对同步状态为第一状态的所述第二同步文件进行文件同步。
8.一种文件同步服务器,其特征在于,所述文件同步服务器包括存储器及处理器,所述存储器中存储有可在所述处理器上运行的文件同步程序,所述文件同步程序被所述处理器执行时可实现如权利要求1至7中任意一项所述的文件同步方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括文件同步程序,所述文件同步程序被处理器执行时,可实现如权利要求1至7中任意一项所述的文件同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010342583.1A CN111654522B (zh) | 2020-04-27 | 2020-04-27 | 文件同步方法、文件同步服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010342583.1A CN111654522B (zh) | 2020-04-27 | 2020-04-27 | 文件同步方法、文件同步服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111654522A CN111654522A (zh) | 2020-09-11 |
CN111654522B true CN111654522B (zh) | 2023-02-03 |
Family
ID=72348462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010342583.1A Active CN111654522B (zh) | 2020-04-27 | 2020-04-27 | 文件同步方法、文件同步服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111654522B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113642046A (zh) * | 2021-07-27 | 2021-11-12 | 上海上讯信息技术股份有限公司 | 批量下发运维列表的方法及设备 |
CN114547195B (zh) * | 2022-02-14 | 2024-05-07 | 平安科技(深圳)有限公司 | 批量数据同步任务处理方法、装置、设备及存储介质 |
CN115022346B (zh) * | 2022-08-08 | 2022-10-21 | 湖南涉外经济学院 | 一种基于区块链的在线数据同步方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108063779A (zh) * | 2016-11-07 | 2018-05-22 | 天脉聚源(北京)科技有限公司 | 一种云存储和本地存储实现同步的方法和系统 |
CN110069449A (zh) * | 2019-03-20 | 2019-07-30 | 平安科技(深圳)有限公司 | 文件处理方法、装置、计算机设备和存储介质 |
CN110519332A (zh) * | 2019-07-31 | 2019-11-29 | 浪潮电子信息产业股份有限公司 | 一种服务器的文件备份方法、相关方法、相关装置 |
CN110543448A (zh) * | 2019-07-22 | 2019-12-06 | 深圳壹账通智能科技有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020006350A1 (en) * | 2018-06-28 | 2020-01-02 | Blockchain Integrated Partners, Llc | Systems and methods for data validation and assurance |
-
2020
- 2020-04-27 CN CN202010342583.1A patent/CN111654522B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108063779A (zh) * | 2016-11-07 | 2018-05-22 | 天脉聚源(北京)科技有限公司 | 一种云存储和本地存储实现同步的方法和系统 |
CN110069449A (zh) * | 2019-03-20 | 2019-07-30 | 平安科技(深圳)有限公司 | 文件处理方法、装置、计算机设备和存储介质 |
CN110543448A (zh) * | 2019-07-22 | 2019-12-06 | 深圳壹账通智能科技有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
CN110519332A (zh) * | 2019-07-31 | 2019-11-29 | 浪潮电子信息产业股份有限公司 | 一种服务器的文件备份方法、相关方法、相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111654522A (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111654522B (zh) | 文件同步方法、文件同步服务器及存储介质 | |
CN109032824B (zh) | 数据库校验方法、装置、计算机设备和存储介质 | |
CN110489485B (zh) | 联盟区块链网络及在其中存储产品数据的方法和存储介质 | |
CN110058867B (zh) | 应用程序镜像打包、安装方法及计算机装置、存储介质 | |
CN111694592A (zh) | 项目版本发布的管理方法以及系统 | |
CN114385759B (zh) | 配置文件的同步方法、装置、计算机设备及存储介质 | |
CN112970020A (zh) | 使用分布式账本监视设备部件 | |
CN111782456B (zh) | 异常检测方法、装置、计算机设备和存储介质 | |
CN111339551B (zh) | 数据的验证方法及相关装置、设备 | |
CN112380057A (zh) | 数据恢复方法、装置、设备及存储介质 | |
CN109462661B (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN113434254B (zh) | 客户端部署方法、装置、计算机设备及存储介质 | |
CN111224826B (zh) | 基于分布式系统的配置更新方法、设备、系统及介质 | |
CN109409135B (zh) | 一种数据的特征信息获得方法、装置、设备和存储介质 | |
CN115002062B (zh) | 消息处理方法、装置、设备及可读存储介质 | |
US9684557B2 (en) | System and method for facilitating recovery from a document creation error | |
CN110674511A (zh) | 基于椭圆曲线加密算法的离线数据保护方法及系统 | |
CN110908801A (zh) | 基于区块链的数据处理方法、装置、计算机设备和存储介质 | |
CN115567212A (zh) | 文件处理方法、装置、计算机设备和计算机可读存储介质 | |
CN113364848B (zh) | 文件缓存方法、装置、电子设备及存储介质 | |
CN114968822A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN114416874A (zh) | 数据库的同步验证方法、装置、设备及存储介质 | |
CN114422586A (zh) | 事件通知方法、装置、计算机设备及存储介质 | |
CN113434122A (zh) | 多角色页面创建方法、装置、服务器及可读存储介质 | |
CN114143308A (zh) | 文件上传信息处理方法、装置、计算机设备及存储介质 |
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 |