同步文件的方法、装置、电子设备及计算机可读存储介质与流程

文档序号:29403143发布日期:2022-03-26 09:58阅读:99来源:国知局
同步文件的方法、装置、电子设备及计算机可读存储介质与流程

1.本发明涉及金融科技技术领域,具体而言,涉及一种同步文件的方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.目前在中大型企业中,为了适应业务发展,服务器数量往往会随着业务量增长而快速增长;在遇到需集群服务器批量部署文件或同步文件的情况时,往往需要操作人员手工逐台操作,而随着服务器数量的增长,由此带来的对于服务器的手工操作需求也会呈指数级增长。从而便会使得当服务器数量到达一定数量后,出现以下问题:
3.(1)、耗时。对于单台或几台服务器,在遇到文件部署或同步的需求时,尚可以逐台登陆逐台进行文件传输;但当服务器数量增加到几十台甚至上百台时,每一个文件的修改将不得不耗费操作人员大量的时间进行逐台处理。
4.(2)、耗费人力。当服务器数量较多时,大量文件在集群内同步部署将耗费很多人力;若某些变更要求在有限时间内完成时,企业将不得不增加人力处理该事项。
5.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

6.本发明实施例提供了一种同步文件的方法、装置、电子设备及计算机可读存储介质,以至少解决由于现有技术中手工逐台进行同步操作造成的同步效率低的技术问题。
7.根据本发明实施例的一个方面,提供了一种同步文件的方法,包括:获取源服务器中的待同步文件;从多个服务器中确定至少一个目标服务器;控制至少一个目标服务器中的远程调用程序启动,以使远程调用程序将待同步文件同步至至少一个目标服务器中。
8.可选的,同步文件的方法还包括:在控制至少一个目标服务器中的远程调用程序启动之前,将待同步文件同步至共享文件系统。
9.可选的,同步文件的方法还包括:在控制至少一个目标服务器中的远程调用程序启动之后,控制远程调用程序从共享文件系统中获取待同步文件,并将待同步文件同步至至少一个目标服务器中。
10.可选的,同步文件的方法还包括:在从多个服务器中确定至少一个目标服务器之前,对多个服务器进行分组,得到至少一个分组;存储至少一个分组的分组信息至配置文件中,其中,分组信息至少包括与至少一个分组内的服务器所对应的服务器标识和服务器地址。
11.可选的,同步文件的方法还包括:接收选择指令;根据选择指令从配置文件中确定目标分组所对应的目标分组信息;基于目标分组信息从多个服务器中确定与目标分组对应的至少一个目标服务器。
12.可选的,同步文件的方法还包括:在从多个服务器中确定至少一个目标服务器之前,检测待同步文件的备份文件是否为待清理文件;在待同步文件的备份文件为待清理文
件时,对待同步文件的备份文件进行清理,并检测源服务器是否存在配置文件;在检测到源服务器中存在配置文件时,检测配置文件中是否存在分组信息;在检测到配置文件中存在分组信息时,检测源服务器对应的第一日志文件是否存在;在检测到源服务器存在第一日志文件时,确定源服务器处于正常运行状态。
13.可选的,同步文件的方法还包括:获取对源服务器的第一同步操作信息以及对源服务器进行检测的第一检测结果;存储第一同步操作信息以及第一检测结果至第一日志文件中,其中,第一日志文件存储在源服务器中;获取对至少一个目标服务器的第二同步操作信息以及对至少一个目标服务器进行检测的第二检测结果;存储第二同步操作信息以及检测结果至第二日志文件中,其中,第二日志文件存储在至少一个目标服务器中。
14.根据本发明实施例的另一方面,还提供了一种同步文件的装置,包括:接收模块,用于获取源服务器中的待同步文件;第一处理模块,用于从多个服务器中确定至少一个目标服务器;第二处理模块,用于控制至少一个目标服务器中的远程调用程序启动,以使远程调用程序将待同步文件同步至目标服务器中。
15.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的同步文件的方法。
16.根据本发明实施例的另一方面,还提供了一种电子设备,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的同步文件的方法。
17.根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的同步文件的方法。
18.在本发明实施例中,采用控制远程调用程序进行文件同步的方式,通过先获取源服务器中的待同步文件,再从多个服务器中确定至少一个目标服务器,最后控制至少一个目标服务器中的远程调用程序启动,以使远程调用程序将待同步文件同步至至少一个目标服务器中。
19.在上述过程中,远程调用程序能够自动将待同步文件同步至目标服务器中,从而可以有效代替操作人员手工同步时所需要进行的点选、拷贝等操作,提高同步效率。同时,在需要批量同步文件时,源服务器或其它设备只需获取待同步文件,并确定目标服务器,便可自动控制各目标服务器中的远程调用程序的启动,从而可以有效代替操作人员批量同步时所需要进行的点选等操作以及避免操作人员等待各服务器同步时所浪费的时间,进一步地提高同步效率。
20.由此可见,本技术所提供的方案达到了控制远程调用程序进行文件同步的目的,从而实现了提高同步效率的技术效果,进而解决了由于现有技术中手工逐台进行同步操作造成的同步效率低的技术问题。
附图说明
21.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
22.图1是根据本发明实施例的一种可选的同步文件的方法的流程图;
23.图2是根据本发明实施例的一种可选的同步文件的方法的示意图;
24.图3是根据本发明实施例的一种可选的同步文件的方法的程序目录结构图;
25.图4是根据本发明实施例的一种可选的同步文件的方法的逻辑图;
26.图5是根据本发明实施例的一种可选的同步文件的装置的结构框图;
27.图6是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
28.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
29.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
31.实施例1
32.根据本发明实施例,提供了一种同步文件的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
33.图1是根据本发明实施例的同步文件的方法,如图1所示,该方法包括如下步骤:
34.步骤s101,获取源服务器中的待同步文件。
35.在步骤s101中,可以通过源服务器、第三方服务器、第三方应用系统或第三方计算设备等装置获取源服务器中的待同步文件,优选的,通过源服务器获取待同步文件。可选的,源服务器可以通过待同步文件的绝对路径来获取待同步文件,也可通过待同步文件的相对路径来获取待同步文件,还可根据待同步文件的名称或其它与待同步文件具有对应关系的信息来获取待同步文件,优选的,在本技术中,通过待同步文件的绝对路径来获取待同步文件,以防止出现文件误选的现象。
36.在本实施例中,如图2、图3所示,当需要向其它服务器同步文件时,由人工(如图2中的用户1、用户2、用户3)登录源服务器,源服务器接收人工所输入的指令以调用源服务器内的文件同步程序servcp.sh,源服务器基于文件同步程序servcp.sh接收人工所输入的待
同步文件的绝对路径以获取待同步文件。其中,源服务器为服务器集群中任意一台具有待同步文件的服务器,待同步的文件的类型包括但不限于图片、视频、文档、软件、配置文件等。
37.需要说明的是,通过获取源服务器中的待同步文件,可以为后续进行文件同步操作时提供有效的待同步文件,从而保证同步工作的正常进行。
38.步骤s102,从多个服务器中确定至少一个目标服务器。
39.在步骤s102中,多个服务器与源服务器可以是同一集群的服务器,也可以是不同集群的服务器,各服务器的操作系统可以为linux、windows、netware或其它操作系统,在本实施例中,各服务器的操作系统均为linux。此外,目标服务器为待同步的服务器,如图2中的目标服务器1、目标服务器2、目标服务器3、目标服务器4、目标服务器n。
40.具体地,源服务器可以通过获取操作人员输入的信息来以直接或间接的方式确定至少一个目标服务器,例如,当操作人员输入的信息为选择指令(即可以是从多个服务器中进行点选)时,可直接确定目标服务器;又例如,当操作人员输入的信息为需求信息(即可以是与各服务器所对应的业务、服务器种类相关的信息)时,可在源服务器中预先设置需求信息与服务器的配对关系,并基于对应关系间接确定目标服务器,以此实现对目标服务器的确定。其中,源服务器可以通过人机交互界面获取操作人员的输入信息。
41.需要说明的是,通过从多个服务器中确定至少一个目标服务器,可以在后续进行文件同步操作时为待同步文件提供有效的同步去向,从而保证同步工作的正常进行。此外,在本技术中,通过选择性的确定目标服务器,可以使得本方法能够更贴合实际应用,更加具有适用性。
42.步骤s103,控制至少一个目标服务器中的远程调用程序启动,以使远程调用程序将待同步文件同步至至少一个目标服务器中。
43.在步骤s103中,每个目标服务器内均设置有远程调用程序remote.sh,通过源服务器可以控制远程调用程序的启动。
44.具体地,在批量同步文件时,如需要同步文件的目标服务器为:a服务器、b服务器、c服务器
……
s服务器,则源服务器先控制上述目标服务器中的a服务器中的远程调用程序启动,此时,a服务器中的远程调用程序remote.sh自动开始执行同步操作,以将待同步文件同步至a服务器内。当a服务器同步结束后,源服务器可以通过接收a服务器反馈的同步完成的信号来得到a服务器同步结束的信息,也可通过向a服务器发送询问来得到a服务器同步结束的信息,还可通过预先对a服务器执行监控操作以获取a服务器的实时工作进度或其它方式来得到a服务器同步结束的信息。当源服务器接收到a服务器同步结束的信息时,源服务器控制上述目标服务器中的b服务器中的远程调用程序启动,此时,b服务器中的远程调用程序remote.sh自动开始执行同步操作,以将待同步文件同步至b服务器内。当b服务器同步结束后,参照上述a服务器同步结束后的操作,启动c服务器。由此,重复执行上述过程,直至s服务器完成同步。其中,远程调用程序可通过拷贝将待同步文件同步至目标服务器中。
45.可选的,在本实施例中,可通过文件同步程序servcp.sh实现启动远程调用程序remote.sh,还可通过文件同步程序servcp.sh实现本方法中其它在源服务器中所进行的操作。
46.需要说明的是,通过远程调用程序对待同步文件进行自动拷贝,可以有效节省人
工操作,从而降低人工成本,且提高同步效率,通过基于源服务器对远程调用程序的启动进行控制,可以有效节省人工在批量同步时所浪费的等待时间以及节省人工操作,从而进一步地降低人工成本,并提高同步效率。同时,在人工执行大批量服务器的同步操作时,往往会发生漏同步或者同步错误的问题,而本技术通过自动调用远程调用程序,并通过远程调用程序自动同步,可以有效避免因操作人员自身疲劳、精神不集中等问题所导致的疏漏,从而保证同步的准确性。
47.基于上述步骤s101至步骤s103所限定的方案,可以获知,在本发明实施例中,采用控制远程调用程序进行文件同步的方式,通过先获取源服务器中的待同步文件,再从多个服务器中确定至少一个目标服务器,最后控制至少一个目标服务器中的远程调用程序启动,以使远程调用程序将待同步文件同步至至少一个目标服务器中。
48.容易注意到的是,在上述过程中,远程调用程序能够自动将待同步文件同步至目标服务器中,从而可以有效代替操作人员手工同步时所需要进行的点选、拷贝等操作,提高同步效率。同时,在需要批量同步文件时,源服务器或其它设备只需获取待同步文件,并确定目标服务器,便可自动控制各目标服务器中的远程调用程序的启动,从而可以有效代替操作人员批量同步时所需要进行的点选等操作以及避免操作人员等待各服务器同步时所浪费的时间,进一步地提高同步效率。
49.由此可见,本技术所提供的方案达到了控制远程调用程序进行文件同步的目的,从而实现了提高同步效率的技术效果,进而解决了由于现有技术中手工逐台进行同步操作造成的同步效率低的技术问题。
50.在一种可选的实施例中,在控制至少一个目标服务器中的远程调用程序启动之前,源服务器将待同步文件同步至共享文件系统。
51.可选的,共享文件系统基于网络文件系统(network file system,nfs)在不同类型的系统之间通过网络进行文件共享。
52.需要说明的是,通过使用共享文件系统,用户和程序可以像访问本地文件一样访问远端系统上的文件,使得每个计算机的节点能够像使用本地资源一样方便地使用网上资源。
53.在本实施例中,将共享文件系统建立在源服务器下,并将源服务器下的共享文件系统挂载至其它多个服务器中,之后只需在源服务器中将待同步文件拷贝至共享文件系统内的指定路径下,即可实现源服务器和目标服务器之间的文件共享。其中,指定路径预先配置在配置文件servcp.profile中。且需要说明的是,也可以通过将共享文件系统建立在其它服务器中,再将其它服务器中的共享文件系统挂载至源服务器和其它多个服务器的方式实现源服务器和目标服务器之间的文件共享。
54.需要说明的是,基于网络文件系统的特性,使得源服务器在将待同步文件拷贝至共享文件系统的指定路径时,其可以通过执行“cp”指令实现对待同步文件的拷贝,从而避免在源服务器和目标服务器之间直接进行同步操作时,执行“scp”指令所导致的易使待同步文件的用户属组和权限发生改变的问题,进而提高了本技术同步时的准确性。
55.在一种可选的实施例中,在控制至少一个目标服务器中的远程调用程序启动之前,源服务器可登录至少一个目标服务器。具体地,源服务器可以依据所获取到的目标服务器对应的服务器地址,找到目标服务器并批量登录各目标服务器。在登录过程中,基于
linux操作系统自带的ssh-keygen功能,可以使得源服务器免密登录各目标服务器。其中,免密登陆通过双方服务器存在的基于加密算法的公钥私钥对确保了免密登陆的安全性,可选的,加密算法可以是rsa算法,rsa公开密钥密码体制是一种使用不同的加密秘钥与解密秘钥,由已知加密秘钥推导出解密秘钥在计算上是不可行的密码体制。
56.需要说明的是,通过登录各目标服务器,以使得源服务器能够正常控制目标服务器中的远程调用程序的启动。
57.在一种可选的实施例中,在控制至少一个目标服务器中的远程调用程序启动之后,源服务器控制远程调用程序从共享文件系统中获取待同步文件,并将待同步文件同步至至少一个目标服务器中。
58.可选的,在本实施例中,各目标服务器内挂载有与源服务器中相同的共享文件系统,从而使得当源服务器将待同步文件同步至共享文件系统后,目标服务器能够读取到共享文件系统中所更新的内容,从而实现将待同步文件成功的同步至目标服务器内。
59.需要说明的是,基于网络文件系统的特性,同样能使得目标服务器在将待同步文件拷贝至本地时,可以有效避免待同步文件的用户属组和权限发生改变的问题,进而保证了待同步文件从源服务器同步至目标服务器的过程中,其用户属组和权限能够前后保持一致,进而保证了本技术同步时的准确性。
60.在一种可选的实施例中,在从多个服务器中确定至少一个目标服务器之前,源服务器对多个服务器进行分组,得到至少一个分组,然后存储至少一个分组的分组信息至配置文件中,其中,分组信息至少包括与至少一个分组内的服务器所对应的服务器标识和服务器地址。
61.可选的,源服务器可对多个服务器进行分组,得到至少一个分组。在本实施例中,可以依据业务需求信息对服务器进行分组,例如,根据平台的不同对服务器进行分组,也可以根据实际应用中的其它因素或需求对服务器进行分组,以便于后续对目标服务器的确定。
62.可选的,在源服务器可对多个服务器进行分组,得到至少一个分组之后,源服务器还可存储至少一个分组的分组信息至配置文件中。其中,分组及分组信息可由操作人员自定义,分组信息至少包括与至少一个分组内的服务器所对应的服务器标识和服务器地址。在本实施例中,配置文件servcp.profile存储在源服务器中,分组信息内的服务器标识与服务器地址一一对应。其中,服务器标识可以是以字母、数字或其它形式来表征对应的服务器,服务器地址用于在后续的同步过程中找到目标服务器。
63.需要说明的是,通过对多个服务器进行分组,并将与分组对应的分组信息存储至配置文件中,可以便于操作人员快速选择大批量服务器,同时还便于操作人员对同一类业务的相关文件进行修改、同步,从而提高节省人力并提高同步速度。
64.在一种可选的实施例中,源服务器可从多个服务器中确定至少一个目标服务器。具体的,源服务器可接收选择指令,并根据选择指令从配置文件中确定目标分组所对应的目标分组信息,然后基于目标分组信息从多个服务器中确定与目标分组对应的至少一个目标服务器。
65.可选的,在获取源服务器中的待同步文件之后,源服务器可读取配置文件获取分组信息,之后,通过人工交互界面将分组信息所对应的分组进行展示以供操作人员选择。其
中,操作人员可通过手动点选分组选择想要同步的分组,还可通过输入分组序号选择想要同步的分组,也可通过语音或其它方式选择想要同步的分组。之后,源服务器通过人机交互界面实现对操作人员所输入的选择指令的接收。其中,选择指令表征为操作人员所输入的能表示选择内容的信息,选择指令中可包括与操作人员所选择的分组中的服务器对应的服务器标识。
66.需要说明的是,在接收到选择指令后,源服务器可以对选择指令的合法性进行校验,例如,当操作人员通过输入分组序号选择分组时,源服务器对操作人员输入的分组序号进行查找,若能找到对应分组,则说明该选择指令为有效指令;若无法查找到对应分组,则说明该选择指令为无效指令,由此,可确保操作人员输入的内容为有效内容。
67.可选的,在接收到选择指令之后,源服务器可依据操作指令中包括的服务器标识或其它标识在配置文件中找到与该选择指令中的分组对应的目标分组信息。
68.进一步地,在获取到目标分组所对应的目标分组信息之后,源服务器基于目标分组信息从多个服务器中确定与目标分组对应的至少一个目标服务器。具体的,源服务器基于目标分组信息中所包括的服务器标识即可确定目标服务器,然后再基于目标分组信息中所包括的服务器地址,可以使得源服务器成功找到目标服务器并控制目标服务器所对应的远程调用程序。
69.需要说明的是,通过依据操作指令确定目标服务器,即选择性的确定目标服务器,可以使得本方法能够更贴合实际应用,更加具有适用性。
70.在一种可选的实施例中,如图4所示,在从多个服务器中确定至少一个目标服务器之前,源服务器检测待同步文件的备份文件是否为待清理文件,之后,在待同步文件的备份文件为待清理文件时,源服务器对待同步文件的备份文件进行清理,并检测源服务器是否存在配置文件,再在检测到源服务器中存在配置文件时,源服务器检测配置文件中是否存在分组信息,接着,在检测到配置文件中存在分组信息时,源服务器检测源服务器对应的第一日志文件是否存在,最后,在检测到源服务器存在第一日志文件时,确定源服务器处于正常运行状态,其中,第一日志可以为图3中的servcp.log。
71.可选的,当获取待同步文件后,源服务器判断源服务器中是否存在该文件的备份文件,若存在备份文件,则进一步判断备份文件的备份日期,若备份文件的备份日期在30天以上,则判断备份文件是否是唯一备份,若备份文件不是唯一备份,则判定待同步文件的备份文件中存在为待清理文件的备份文件。进一步地,当存在备份日期小于30天的备份文件时,则备份日期大于30天的备份文件均为待清理文件;当不存在备份日期小于30天的备份文件时,则备份日期大于30天的备份文件中,备份日期最近的备份文件为非待清理文件,其余备份文件为待清理文件。其中,备份文件存储在源服务器或共享文件系统中。且需要说明的是,在上述过程中,依据实际情况的不同,对备份文件的备份日期的设定也可有所不同。
72.进一步地,在待同步文件的备份文件为待清理文件时,源服务器可对待同步文件的备份文件进行清理,并检测源服务器是否存在配置文件。在本实施例中,当完成对备份文件的清理或无备份文件需要清理时,源服务器检测源服务器是否存在配置文件。其中,源服务器可以通过查询配置文件的名称来确定配置文件是否存在,当检测到源服务器中不存在配置文件时,可输出故障提示信息提示操作人员。
73.可选的,在检测到源服务器中存在配置文件时,源服务器可检测配置文件中是否
存在分组信息。其中,源服务器可以通过读取配置文件的配置内容,并识别服务器标识或服务器地址或其它与分组信息相关的内容的方法来判断配置文件中是否存在分组信息,当检测到配置文件中不存在分组信息时,可输出故障提示信息提示操作人员。
74.可选的,在检测到配置文件中存在分组信息时,源服务器可检测源服务器对应的第一日志文件是否存在;在检测到源服务器存在第一日志文件时,确定源服务器处于正常运行状态;其中,源服务器可通过查询第一日志文件的名称,并读取第一日志文件的内容判断其内容是否为空来确定第一日志文件是否存在,当检测到第一日志文件不存在时,可输出故障提示信息提示操作人员,当检测到第一日志文件存在时,确定源服务器处于正常运行状态并执行下一操作。
75.需要说明的是,在从多个服务器中确定至少一个目标服务器之前,通过对备份文件进行检查并清理,可以防止本技术对服务器或共享文件系统中的硬盘空间造成不利影响;通过检查配置文件及分组信息,以确保操作人员能够正常选择服务器分组;通过检查第一日志文件,以确保每次源服务器中进行的同步操作记录以及同步操作过程中的检查判断结果都被详细记录,进而确保后期可以追溯。由此,保证了本技术的安全性、稳定性和可追溯性。
76.在一种可选的实施例中,在从多个服务器中确定至少一个目标服务器后,检测待同步文件的输入格式是否正确,之后,在检测到待同步文件的输入格式正确时,检测源服务器是否存在待同步文件,再之后,在检测到源服务器中存在待同步文件时,检测共享文件系统是否存在,最后,在检测到共享文件系统存在时,确定源服务器处于正常运行状态。
77.可选的,在从多个服务器中确定至少一个目标服务器后,源服务器可检测待同步文件的输入格式是否正确。在本实施例中,源服务器通过接收人工输入的待同步文件的绝对路径获取待同步文件,因此,检查待同步文件的输入格式为检查人工输入内容的首个字符是否为“/”。其中,需要说明的是,在linux操作系统中,绝对路径的起始字符为“/”。具体地,对待同步文件的输入格式进行判断的部分代码如下:
78.[0079][0080]
当检测到待同步文件的输入格式不正确时,源服务器可输出故障提示信息提示操作人员。在本实施例中,故障信息为“文件路径或文件名不正确,请检查”。同时,需要说明的是,获取待同步文件的方式发生改变时,上述关于对待同步文件的输入格式的具体判断方法同样发生改变。
[0081]
可选的,在检测到待同步文件的输入格式正确时,源服务器可检测内部是否存在待同步文件;在本实施例中,源服务器可通过在相应路径下查询待同步文件的名称来判断源服务器是否存在待同步文件,具体地,基于shell语言,对源服务器是否存在待同步文件进行检测的部分代码如下:
[0082][0083]
当检测到源服务器中不存在待同步文件时,源服务器可输出故障提示信息提示操作人员。在本实施例中,故障信息为“所需同步文件未找到,请检查”。
[0084]
可选的,在检测到源服务器中存在待同步文件时,源服务器可检测共享文件系统是否存在。在本实施例中,基于配置文件servcp.profile中预置的关于共享文件系统的指定路径,在源服务器中查找共享文件系统,若检测到源服务器中不存在共享文件系统,则源服务器自动创建配置文件servcp.profile中所预置的关于共享文件系统的指定路径,具体地,基于shell语言,对共享文件系统进行创建的部分代码如下:
[0085]
[0086][0087]
其中,需要说明的是,在源服务器对共享文件系统完成创建后,可将所创建的共享文件系统挂载至目标服务器中,以确保目标服务器能够正常查看到源服务器同步至共享文件系统中的待同步文件。
[0088]
由此,当判定源服务器中存在共享文件系统时,确定源服务器处于正常运行状态。且当基于上述检测确定源服务器处于正常运行状态后,将待同步文件同步至共享文件系统的指定路径下。
[0089]
需要说明的是,在从多个服务器中确定至少一个目标服务器后,通过对待同步文件的输入格式进行检查、对源服务器是否存在待同步文件进行检查、对共享文件系统是否存在进行检查,可以保证在后续的同步操作中,待同步文件能够成功同步至共享文件系统,从而保证本方法的正常执行。
[0090]
在一种可选的实施例中,在将待同步文件同步至共享文件系统后,源服务器可检测共享文件系统中是否存在待同步文件,在检测到共享文件系统中存在待同步文件时,确定待同步文件正确同步。其中,源服务器可通过在共享文件系统中的指定路径下查询待同步文件的名称以判断共享文件系统中是否存在待同步文件。具体地,基于shell语言,判断共享文件系统中是否存在待同步文件的部分代码如下:
[0091][0092]
需要说明的是,通过对共享文件系统中的待同步文件进行验证,以进一步地确保后续目标服务器能同步成功,从而保证本方法在同步过程中的稳定性。
[0093]
在一种可选的实施例中,在控制至少一个目标服务器中的远程调用程序启动之后,远程调用程序可检测至少一个目标服务器对应的第二日志文件是否存在,之后,在检测到至少一个目标服务器存在第二日志文件时,远程调用程序检测至少一个目标服务器接收的参数是否正确,再之后,在检测到至少一个目标服务器接收的参数正确时,远程调用程序检测共享文件系统的指定路径中是否存在待同步文件,最后,在检测到待同步文件时,确定
至少一个目标服务器和共享文件系统之间能够同步。其中,第二日志文件可以为图3中的remote.log。
[0094]
可选的,在本实施例中,远程调用程序可通过查询第二日志文件的名称,并读取第二日志文件的内容判断其内容是否为空来确定第二日志文件是否存在,当检测到第二日志文件不存在时,远程调用程序可记录故障信息至第二日志文件。
[0095]
可选的,在检测到至少一个目标服务器存在第二日志文件时,远程调用程序可检测至少一个目标服务器接收的参数是否正确。在本实施例中,至少一个目标服务器接收的参数为源服务器输出的同步文件命令中所传递的参数,远程调用程序可通过查询该参数的格式或数量的方式确定参数是否正确,当检测到至少一个目标服务器接收的参数不正确时,远程调用程序可记录故障信息至第二日志文件。其中,至少一个目标服务器所接收的参数中至少包括共享文件系统的指定路径和待同步文件的名称。
[0096]
可选的,在检测到至少一个目标服务器接收的参数正确时,远程调用程序可检测共享文件系统的指定路径中是否存在待同步文件。在本实施例中,远程调用程序依据目标服务器接受的参数内的指定路径和待同步文件的名称,在该指定路径下查询待同步文件的名称以确定共享文件系统中是否存在待同步文件,当检测到共享文件系统中不存在待同步文件时,远程调用程序可记录故障信息至第二日志文件,当检测到共享文件系统中存在待同步文件时,确定至少一个目标服务器和共享文件系统之间能够同步并执行下一操作。
[0097]
需要说明的是,通过检查第二日志文件,以确保每次至少一个目标服务器中进行的同步操作记录以及同步操作过程中的检查判断结果都被详细记录,进而确保后期可以追溯;通过检测至少一个目标服务器接收的参数以及依据接收的参数检测共享文件系统的指定路径中是否存在待同步文件,以确保在同步过程中,远程调用程序能够成功找到待同步文件,进而保证本技术在同步过程中的稳定性。
[0098]
在一种可选的实施例中,在确定至少一个目标服务器和共享文件系统之间能够同步后,远程调用程序对至少一个目标服务器中的现有文件进行备份得到第一备份文件。其中,现有文件可表征为将被待同步文件覆盖的文件或与待同步文件有关联关系的文件。在备份过程中,远程调用程序对得到的第一备份文件的名称中加入时间字段,且时间字段所对应的内容精确到毫秒,以此确保在对同一个现有文件进行多次备份时,多个第一备份之间不会发生覆盖现象。其中,第一备份文件可存储在目标服务器中。
[0099]
需要说明的是,通过对现有文件进行备份,以确保后期可以追溯。
[0100]
在一种可选的实施例中,在至少一个目标服务器中的现有文件进行备份得到第一备份文件后,远程调用程序可将待同步文件从共享文件系统中同步至至少一个目标服务器。具体地,远程调用程序读取共享文件系统指定路径中的待同步文件,然后将待同步文件通过拷贝的方式同步至至少一个目标服务器的指定路径下以完成同步操作。
[0101]
需要说明的是,通过基于拷贝的方式,在共享文件系统和至少一个目标服务器之间进行同步,可以有效防止文件的属组、权限发生变化,进而保证了本技术的稳定性。
[0102]
在一种可选的实施例中,在将待同步文件从共享文件系统中同步至至少一个目标服务器后,远程调用程序检测至少一个目标服务器中的待同步文件的大小是否正确,之后,远程调用程序检测至少一个目标服务器中的待同步文件的权限是否正确,最后,远程调用程序检测至少一个目标服务器中的待同步文件的属组是否正确,并输出同步结束信息。
[0103]
可选的,在本实施例中,远程调用程序可读取共享文件系统或源服务器中的待同步文件的大小,并与至少一个目标服务器的指定路径下的待同步文件的文件大小进行对比来确定至少一个目标服务器中的待同步文件的大小是否正确。具体地,检测至少一个目标服务器中的待同步文件的大小是否正确的部分代码如下:
[0104][0105]
当检测到至少一个目标服务器中的待同步文件的大小不正确时,远程调用程序可记录故障信息至第二日志文件。在本实施例中,故障信息为“文件复制后大小不一致,请检查”。
[0106]
进一步地,在检测完至少一个目标服务器中的待同步文件的大小是否正确后,远程调用程序可检测至少一个目标服务器中的待同步文件的权限是否正确。在本实施例中,远程调用程序可通过读取共享文件系统或源服务器中的待同步文件的权限,并与至少一个目标服务器的指定路径下的待同步文件的文件权限进行对比的方式,确定至少一个目标服务器中的待同步文件的权限是否正确。具体地,检测至少一个目标服务器中的待同步文件的权限是否正确的部分代码如下:
[0107][0108]
当检测到至少一个目标服务器中的待同步文件的权限不正确时,远程调用程序可记录故障信息至第二日志文件。在本实施例中,故障信息为“文件复制后权限不一致,请检查”。
[0109]
可选的,在检测完至少一个目标服务器中的待同步文件的权限是否正确之后,远程调用程序可检测至少一个目标服务器中的待同步文件的属组是否正确,并输出同步结束信息。在本实施例中,远程调用程序可读取共享文件系统或源服务器中的待同步文件的属组,并与至少一个目标服务器的指定路径下的待同步文件的文件属组进行对比来确定至少
一个目标服务器中的待同步文件的属组是否正确。具体地,检测至少一个目标服务器中的待同步文件的属组是否正确的部分代码如下:
[0110][0111][0112]
当检测到至少一个目标服务器中的待同步文件的属组不正确时,远程调用程序可记录故障信息至第二日志文件。在本实施例中,故障信息为“文件复制后用户属性不一致,请检查”或“文件复制后属组不一致,请检查”。至此,远程调用程序完成对其中一个目标服务器的检测,并输出同步结束的信息至源服务器,以使得源服务器可控制下一目标服务器进行同步。同时,需要说明的是,在所有目标服务器完成后,输出同步结果。其中,同步结果包括所有目标服务器的检测结果,操作人员可依据同步结果查看各目标服务器的远程调用程序在进行同步操作时,是否出现问题。
[0113]
在一种可选的实施例中,源服务器还可获取对源服务器的第一同步操作信息以及对源服务器进行检测的第一检测结果,并存储第一同步操作信息以及第一检测结果至第一日志文件中,其中,第一日志文件存储在源服务器中;远程调用程序还可获取对目标服务器的第二同步操作信息以及对目标服务器进行检测的第二检测结果,并存储第二同步操作信息以及检测结果至第二日志文件中,其中,第二日志文件存储在目标服务器中。
[0114]
可选的,在本实施例中,第一同步操作信息包括上述和源服务器有关或在源服务器中所进行的与同步相关的操作以及所涉及到的相关信息,例如,“获取源服务器中的待同步文件”为与源服务器有关或在源服务器中所进行的同步相关的操作;“待同步文件的存储位置或名称或其它相关信息”为与源服务器有关或在源服务器中进行同步时所涉及到的相关信息。第一检测结果包括和源服务器有关或在源服务器中所进行的与同步相关的检测操作所对应的结果,如上述的“检测待同步文件的备份文件是否为待清理文件”、“检测源服务器是否存在配置文件”等检测操作。
[0115]
进一步地,源服务器存储第一同步操作信息以及第一检测结果至第一日志文件
中。在本实施例中,将第一日志文件servcp.log存储在源服务器中,以确保本技术同步过程中的所有操作可追溯。
[0116]
可选的,在本实施例中,第二同步操作信息包括上述和至少一个目标服务器有关或在至少一个目标服务器中所进行的与同步相关的操作以及所涉及到的相关信息,例如,“对至少一个目标服务器中的现有文件进行备份得到第一备份文件”为与目标服务器有关或在目标服务器中所进行的同步相关的操作;“第一备份文件的备份时间或所在路径或其它相关信息”为与目标服务器有关或在目标服务器中进行同步时所涉及到的相关信息。第一检测结果包括和目标服务器有关或在目标服务器中所进行的与同步相关的检测操作所对应的结果,如上述的“检测至少一个目标服务器中的待同步文件的大小是否正确”、“检测至少一个目标服务器中的待同步文件的权限是否正确”、“检测至少一个目标服务器中的待同步文件的属组是否正确”等。
[0117]
进一步地,远程调用程序存储第二同步操作信息以及检测结果至第二日志文件中。在本实施例中,将第二日志文件remote.log存储在目标服务器中,以备需要回退时使用,并确保本技术同步过程中的所有操作可追溯。
[0118]
需要说明的是,本技术适用于金融科技技术领域,即可以应用于与金融科技相关的服务器当中并处理金融科技的相关业务。
[0119]
由上述内容可知,可以获知,在上述过程中,远程调用程序能够自动将待同步文件同步至目标服务器中,从而可以有效代替操作人员手工同步时所需要进行的点选、拷贝等操作,提高同步效率。同时,在需要批量同步文件时,源服务器或其它设备只需获取待同步文件,并确定目标服务器,便可自动控制各目标服务器中的远程调用程序的启动,从而可以有效代替操作人员批量同步时所需要进行的点选等操作以及避免操作人员等待各服务器同步时所浪费的时间,进一步地提高同步效率。
[0120]
由此可见,本技术所提供的方案达到了控制远程调用程序进行文件同步的目的,从而实现了提高同步效率的技术效果,进而解决了由于现有技术中手工逐台进行同步操作造成的同步效率低的技术问题。
[0121]
实施例2
[0122]
根据本发明实施例,提供了一种同步文件的装置的实施例,其中,图5是根据本发明实施例的同步装置示意图,如图5所示,该装置包括:
[0123]
接收模块501,用于获取源服务器中的待同步文件;
[0124]
第一处理模块502,用于从多个服务器中确定至少一个目标服务器;
[0125]
第二处理模块503,用于控制至少一个目标服务器中的远程调用程序启动,以使远程调用程序将待同步文件同步至至少一个目标服务器中。
[0126]
需要说明的是,上述接收模块501、第一处理模块502以及第二处理模块503对应于上述实施例中的步骤s101至步骤s103,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
[0127]
可选的,同步文件的装置还包括:第一同步模块,用于将待同步文件同步至共享文件系统。
[0128]
可选的,同步文件的装置还包括:第三处理模块,用于控制远程调用程序从共享文件系统中获取待同步文件,并将待同步文件同步至至少一个目标服务器中。
[0129]
可选的,同步文件的装置还包括:分组模块,用于对多个服务器进行分组,得到至少一个分组;第四处理模块,用于存储至少一个分组的分组信息至配置文件中,其中,分组信息至少包括与至少一个分组内的服务器所对应的服务器标识和服务器地址。
[0130]
可选的,第一处理模块502包括:第一接收模块,用于第一处理模块;第一查询模块,用于根据选择指令从配置文件中确定目标分组所对应的目标分组信息;第二查询模块,用于基于目标分组信息从多个服务器中确定与目标分组对应的至少一个目标服务器。
[0131]
可选的,同步文件的装置还包括:第一检测模块,用于检测待同步文件的备份文件是否为待清理文件;第二检测模块,用于在待同步文件的备份文件为待清理文件时,对待同步文件的备份文件进行清理,并检测源服务器是否存在配置文件;第三检测模块,用于在检测到源服务器中存在配置文件时,检测配置文件中是否存在分组信息;第四检测模块,用于在检测到配置文件中存在分组信息时,检测源服务器对应的第一日志文件是否存在;第五检测模块,用于在检测到源服务器存在第一日志文件时,确定源服务器处于正常运行状态。
[0132]
可选的,同步文件的装置还包括:第一获取模块,用于获取对源服务器的第一同步操作信息以及对源服务器进行检测的第一检测结果;第一存储模块,用于存储第一同步操作信息以及第一检测结果至第一日志文件中,其中,第一日志文件存储在源服务器中;第二获取模块,用于获取对目标服务器的第二同步操作信息以及对至少一个目标服务器进行检测的第二检测结果;第二存储模块,用于存储第二同步操作信息以及检测结果至第二日志文件中,其中,第二日志文件存储在至少一个目标服务器中。
[0133]
实施例3
[0134]
根据本发明实施例的另一方面,还提供了计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的同步文件的方法。
[0135]
实施例4
[0136]
根据本发明实施例的另一方面,还提供了一种电子设备,其中,图6是根据本发明的电子设备示意图,如图6所示,该电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的同步文件的方法。
[0137]
实施例5
[0138]
根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的同步文件的方法。
[0139]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0140]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0141]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0142]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的
部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0143]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0144]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0145]
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1