本申请涉及数据传输,特别涉及一种数据传输方法、存储介质及计算机程序产品。
背景技术:
1、当前,将数据在处于不同网络(例如内网和外网)的客户端之间进行传输时,因为客户端分别处于不同的网络环境,内网和外网之间存在隔离,因此,数据在内网和外网之间进行传输时,其中一种场景需要将内网和外网产生的变更数据相互安全的同步到对侧,对于从对侧同步过来而导致的变更数据将不再进行同步。例如,内网将其产生的变更数据同步发送至外网,外网接收了从内网同步过来的数据后导致外网产生变更数据,但是外网产生的这部分变更数据不是其自身产生的,是由内网同步过来的,因此,这部分数据将不再需要作为外网的变更数据同步回内网,否则,将加剧内网与外网之间数据传输速度的压力,导致内网和外网之间数据传输效率降低,而且在内网和外网之间会出现不必要的数据冗余。
技术实现思路
1、本申请实施例的目的在于提供一种数据传输方法、存储介质及计算机程序产品,用以解决处于不同网络环境的客户端的变更数据如何高效的实现数据同步传输的问题。
2、本申请的实施例采用如下技术方案:一种数据传输方法,应用于第一客户端,所述第一客户端处于第一网络中,其通过跨域过闸通道与处于第二网络中的第二客户端连接,所述第一网络与所述第二网络的网络环境不同;
3、所述方法包括:
4、获取与所述第一客户端和所述第二客户端各自关联的文件列表,基于轮询进程,在确定所述第一客户端和/或所述第二客户端的文件列表发生变化的情况下,确定目标文件的属性,其中,目标文件表示文件列表中发生变化的文件;
5、在所述目标文件的属性表征为无标签的情况下,将所述第一客户端的目标文件同步发送至所述第二客户端,将所述第二客户端的目标文件同步发送至所述第一客户端;
6、在所述第一客户端创建第一文件,在所述第二客户端创建第二文件,并为所述第一文件和所述第二文件设置第一标签,其中,所述第一标签用于表示正在接收文件数据;
7、通过所述第一客户端接收来自所述第二客户端的目标文件,将目标文件写入具有所述第一标签的第一文件,通过所述第二客户端接收来自所述第一客户端的目标文件,将目标文件写入具有所述第一标签的第二文件;
8、在目标文件发送完成的情况下,将所述第一标签转换为第二标签,其中,所述第二标签用于表示目标文件发送完毕。
9、在一些实施例中,基于轮询进程,确定所述第一客户端和/或所述第二客户端中的目标文件,包括:
10、基于第一轮询进程,遍历所述第一客户端的文件列表,得到所述第一客户端的文件列表中所有文件的最后修改时间和新增文件信息;
11、基于第二轮询进程,遍历所述第二客户端的文件列表,得到所述第二客户端的文件列表中所有文件的最后修改时间和新增文件信息;
12、在所述第一客户端和/或所述第二客户端的文件列表中具有最后修改时间有变化的文件和/或有新增文件的情况下,确定该文件为目标文件。
13、在一些实施例中,所述方法还包括:
14、基于轮询进程对所述第一客户端和/或所述第二客户端的文件列表检查时,在目标文件的属性表征所述第一文件和/或所述第二文件具有所述第二标签的情况下,删除所述第一文件和/或所述第二文件中的所述第二标签;
15、继续确定所述第一客户端和所述第二客户端的文件列表是否发生变化。
16、在一些实施例中,在删除所述第一文件和/或所述第二文件中的所述第二标签后,所述方法还包括:
17、重置所述第一文件和/或所述第二文件的属性,忽略当前目标文件的同步同步请求。
18、在一些实施例中,将所述第一客户端的目标文件同步发送至所述第二客户端,包括:
19、所述第一客户端向所述第二客户端发送同步文件的第一请求;
20、响应于第一请求,所述第二客户端发出第一应答信号;
21、基于第一应答信号,建立所述第一客户端与所述第二客户端的数据传输通道;
22、基于所述数据传输通道和预设传输协议,将第一客户端的目标文件同步发送至所述第二客户端。
23、在一些实施例中,将所述第二客户端的目标文件同步发送至所述第一客户端,包括:
24、所述第二客户端向所述第一客户端发送同步文件的第二请求;
25、响应于第二请求,所述第一客户端发出第二应答信号;
26、基于第二应答信号,建立所述第一客户端与所述第二客户端的数据传输通道;
27、基于所述数据传输通道和预设传输协议,将第二客户端的目标文件同步发送至所述第一客户端。
28、在一些实施例中,在所述第一客户端创建第一文件,在所述第二客户端创建第二文件,并为所述第一文件和所述第二文件设置第一标签,包括:
29、在所述第一客户端创建第一文件,在所述第二客户端创建第二文件,原子性地设置所述第一文件和所述第二文件的属性为第一标签。
30、在一些实施例中,获取与所述第一客户端和所述第二客户端各自关联的文件列表,包括:
31、获取第一用户服务器中与其关联的文件列表,其中,所述第一用户服务器与所述第一客户端处于所述第一网络中;
32、获取第二用户服务器中与其关联的文件列表,其中,所述第二用户服务器与所述第二客户端处于所述第二网络中。
33、本申请实施例还提供了计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述实施例中任一所述方法的步骤。
34、本申请实施例还提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如上述实施例中任一所述方法的步骤。
35、本申请实施例的有益效果在于:
36、通过在第一客户端与第二客户端进行目标文件同步阶段进行标签的设置,以使处于不同网络环境中的第一客户端和第二客户端能够通过设置的标签感知到与自身关联的文件列表中发生变更的文件的变更来源,进而将自身主动发生的变更文件同步跨域安全的发送至对侧,而由对侧同步过来的文件则不再同步回对侧,提高了处于不同网络环境中的第一客户端和第二客户端数据传输时的安全性和传输效率。
1.一种数据传输方法,其特征在于,应用于第一客户端,所述第一客户端处于第一网络中,其通过跨域过闸通道与处于第二网络中的第二客户端连接,所述第一网络与所述第二网络的网络环境不同;
2.根据权利要求1所述的数据传输方法,其特征在于,基于轮询进程,确定所述第一客户端和/或所述第二客户端中的目标文件,包括:
3.根据权利要求1所述的数据传输方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的数据传输方法,其特征在于,在删除所述第一文件和/或所述第二文件中的所述第二标签后,所述方法还包括:
5.根据权利要求1所述的数据传输方法,其特征在于,将所述第一客户端的目标文件同步发送至所述第二客户端,包括:
6.根据权利要求1所述的数据传输方法,其特征在于,将所述第二客户端的目标文件同步发送至所述第一客户端,包括:
7.根据权利要求1所述的数据传输方法,其特征在于,在所述第一客户端创建第一文件,在所述第二客户端创建第二文件,并为所述第一文件和所述第二文件设置第一标签,包括:
8.根据权利要求1所述的数据传输方法,其特征在于,获取与所述第一客户端和所述第二客户端各自关联的文件列表,包括:
9.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至8中任一所述方法的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至8中任一所述方法的步骤。