一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

服务数据同步方法、装置、设备及存储介质与流程

2023-02-19 08:50:45 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种服务数据同步方法、装置、设备及存储介质。


背景技术:

2.现如今,大型的互联网企业一般设置有大量服务器构建而成的云平台,通过该云平台为员工提供windows系统进行在线办公,而为了保证安全和保密,需要对各台服务器上的服务数据进行监控,各台服务器上存在着大量服务数据需要提供实时查询功能,如exchange邮箱、dhcp、dns解析等服务数据。但是,windows系统的服务数据仅可通过powershell工具进行数据获取,执行慢,无法满足实时查询的需求,而若是将服务数据存入数据库中则无法保证数据库中存储的服务数据与服务器中的服务数据一致,也难以提供实时查询的需求。
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.若所述指令等待队列中存在指令,则将所述服务数据修改指令添加至所述指令等待队列中。
37.可选的,所述若所述指令等待队列中不存在指令,则检测所述指令运行线程池中是否存在空闲线程的步骤之后,还包括:
38.若不存在空闲线程,则将所述服务数据修改指令添加至所述指令等待队列中。
39.可选的,所述在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新的步骤,包括:
40.在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据生成
服务数据修改记录;
41.将所述服务数据修改记录进行存储;
42.在存储完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新。
43.可选的,所述在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新的步骤之后,还包括:
44.在检测到报表生成指令时,根据所述报表生成指令确定数据查询条件及报表生成规则;
45.根据所述数据查询条件在所述同步数据库中查找对应的报表数据;
46.根据所述报表生成规则及所述报表数据生成数据报表,并将所述数据报表进行展示。
47.此外,为实现上述目的,本发明还提出一种服务数据同步装置,所述服务数据同步装置包括以下模块:
48.指令解析模块,用于根据服务数据修改指令确定目标服务器、待修改服务数据及目标数据;
49.数据修改模块,用于将所述目标服务器中的所述待修改服务数据修改为所述目标数据;
50.数据同步模块,用于在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新。
51.可选的,所述数据同步模块,还用于根据所述目标服务器及所述待修改服务数据在同步数据库中查找对应的待同步数据;将所述同步数据库中的待同步数据修改为所述目标数据。
52.可选的,所述数据修改模块,还用于在修改失败时,获取历史失败次数,并将所述历史失败次数加一,获得当前失败次数;在所述当前失败次数大于或等于预设失败次数时,获取修改失败的失败原因信息;根据所述失败原因信息生成失败预警信息,并将所述失败预警信息进行展示。
53.可选的,所述数据修改模块,还用于在所述当前失败次数小于预设失败阈值时,将所述当前失败次数作为新的历史失败次数,并返回所述将所述目标服务器中的所述待修改服务数据修改为所述目标数据的步骤。
54.可选的,所述数据同步模块,还用于获取系统时刻,在所述系统时刻满足预设任务条件库中任一任务触发条件时,获取被满足的任务触发条件对应的目标同步任务;执行所述目标同步任务,以对所述同步数据库进行同步更新。
55.可选的,所述数据同步模块,还用于获取所述目标同步任务对应的同步任务类型;若所述同步任务类型为增量同步,则获取所述目标同步任务对应的同步时段;获取所述同步时段内的服务数据修改记录;根据所述服务数据修改记录对所述同步数据库中的数据进行同步更新。
56.此外,为实现上述目的,本发明还提出一种服务数据同步设备,所述服务数据同步设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的服务数据同步程序,所述服务数据同步程序被处理器执行时实现如上所述的服务数据同步方法的步
骤。
57.此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有服务数据同步程序,所述服务数据同步程序执行时实现如上所述的服务数据同步方法的步骤。
58.本发明通过根据服务数据修改指令确定目标服务器、待修改服务数据及目标数据;将所述目标服务器中的所述待修改服务数据修改为所述目标数据;在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新。由于在将目标服务器中的待修改服务数据修改为目标数据完成时,还会根据目标数据、目标服务器及待修改服务数据对同步数据库中的数据进行同步更新,使得同步数据库中的数据会在服务器中的服务数据修改时也会一同修改,从而保证了同步数据库中的数据与服务器中的服务数据一致。
附图说明
59.图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
60.图2为本发明服务数据同步方法第一实施例的流程示意图;
61.图3为本发明服务数据同步方法第二实施例的流程示意图;
62.图4为本发明服务数据同步方法第三实施例的流程示意图;
63.图5为本发明服务数据同步装置第一实施例的结构框图。
64.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
65.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
66.参照图1,图1为本发明实施例方案涉及的硬件运行环境的服务数据同步设备结构示意图。
67.如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram),也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
68.本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
69.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及服务数据同步程序。
70.在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在服务数据同步设备中,所述电子设备通过处理器1001调用存储器1005中存储的
服务数据同步程序,并执行本发明实施例提供的服务数据同步方法。
71.本发明实施例提供了一种服务数据同步方法,参照图2,图2为本发明一种服务数据同步方法第一实施例的流程示意图。
72.本实施例中,所述服务数据同步方法包括以下步骤:
73.步骤s10:根据服务数据修改指令确定目标服务器、待修改服务数据及目标数据。
74.需要说明的是,本实施例的执行主体可以是所述服务数据同步设备,所述服务数据同步设备可以是个人电脑、服务器等电子设备,还可以是其他可实现相同或相似功能的设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以服务数据同步设备为例对本发明服务数据同步方法进行说明。
75.需要说明的是,服务数据修改指令可以是由用户操作用户终端发送至服务数据同步设备的指令,也可以是其他服务器或终端设备发送至服务数据同步设备的指令。服务数据修改指令中可以包含服务器标识、待修改数据标识及目标数据等参数,根据服务数据修改指令确定目标服务器、待修改服务数据及目标数据可以是对服务数据修改指令进行解析,获得服务器标识、待修改数据标识及目标数据,根据服务器标识查找目标服务器,然后在目标服务器中查找待修改数据标识对应的待修改服务数据。
76.步骤s20:将所述目标服务器中的所述待修改服务数据修改为所述目标数据。
77.可以理解的是,在确定了目标服务器及待修改服务数据之后,可以将目标服务器中的待修改服务数据修改为目标数据,由此根据服务数据修改指令完成对服务器中的服务数据的修改。
78.需要说明的是,为了保证用户的用户终端的运行顺畅度,根据服务数据修改指令对服务器中的服务数据进行修改时可以采用异步的方式进行修改,即在接收到服务数据修改指令时直接向返回对应的消息,然后再在后台进行指令解析及数据修改,防止用户终端等待结果返回,从而导致用户终端的运行阻塞。
79.在实际使用中,将目标服务器中的待修改服务数据修改为目标数据可以是通过powershell工具将目标服务器中的待修改服务数据修改为目标数据。
80.步骤s30:在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新。
81.需要说明的是,服务器中的服务数据有大部分的数据结构为树状结构,难以进行数据统计,而为了便于后续的查询和统计,同步数据库可以是关系型数据库,例如:mysql数据库或oracle数据库。服务数据同步设备的管理人员可以预先读取各服务器中的服务数据,将读取的服务数据转化为关系型数据库数据,并存储至同步服务器中,由同步服务器提供实时查询功能。
82.在实际使用中,针对系统为windows系统的服务器,服务数据同步设备的管理人员可以通过powershell工具读取服务器中的服务数据。
83.可以理解的是,为了保证同步数据库中的数据与服务器中的服务数据一致,在根据服务数据修改指令对服务器中的服务数据进行修改完成时,需要对同步数据库中相应的数据进行修改,即同步更新。
84.进一步地,企业内部的服务器有多台,而系统相同的服务器中的服务数据的数据存储字段名可能是相同的,在将各服务器中的服务数据存储至同步数据库中时,可以根据
各服务器的服务器标识及服务数据的数据标识共同作为重复性判定的依据,例如:根据服务器标识及服务数据的数据标识生成联合索引。由于服务数据在存储时的重复性判定较为特殊,为了保证同步数据库中的数据可正确同步更新,本实施例所述根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新的步骤,可以包括:
85.根据所述目标服务器及所述待修改服务数据在同步数据库中查找对应的待同步数据;将所述同步数据库中的待同步数据修改为所述目标数据。
86.需要说明的是,待同步数据可以是同步数据库中与目标服务器中的待修改服务数据对应的数据。根据目标服务器及待修改服务数据在同步数据库中查找对应的待同步数据可以是获取目标服务器的服务器标识及待修改服务数据的数据标识,根据服务器标识及数据标识在同步数据库中查找对应的待同步数据。
87.可以理解的是,将同步数据库中的待同步数据修改为目标数据,即可实现对同步数据库中的数据进行同步更新。
88.进一步地,在对服务器中的服务数据进行修改时,可能该服务数据正被占用,则此时对服务数据进行修改可能会失败,若直接不进行后续处理,可能会令用户的使用体验较差,因此,本实施例步骤s20之后,还可以包括:
89.在修改失败时,获取历史失败次数,并将所述历史失败次数加一,获得当前失败次数;在所述当前失败次数大于或等于预设失败次数时,获取修改失败的失败原因信息;根据所述失败原因信息生成失败预警信息,并将所述失败预警信息进行展示。
90.需要说明的是,历史失败次数为此前根据该服务修改指令对服务器中的服务数据进行修改的失败次数,若本次修改为第一次修改,则历史失败次数的值为0。预设失败次数可以由服务数据同步设备的管理人员根据实际需要预先进行设置。失败原因信息可以包括:数据被占用、服务器无响应等。将失败预警信息进行展示可以是直接在服务数据修改设备的显示装置进行展示,也可以是将失败预警信息发送至用户的用户终端进行展示,本实施例对此不加以限制。
91.在实际使用中,在当前失败次数小于预设失败次数时,可以将当前失败次数作为新的历史失败次数,并返回步骤s20,重新尝试根据服务数据修改指令中的参数对服务器中的服务数据进行修改。
92.可以理解的是,单次对服务数据的修改失败可能仅仅是因为服务数据短暂被占用,无法进行修改,或是因为设备的网络存在波动,出现丢包等现象导致的,因此,可以记录失败次数,并进行多次尝试对服务数据的修改,若多次修改均失败,则说明该服务数据可能被长期占用或该目标服务器的网络存在异常,无法正常连接,需要进行处理,因此,可以获取修改失败时的失败原因信息,根据失败原因信息生成失败预警信息并进行展示,以便于用户或管理人员进行故障排查,及时进行处理,可以提高用户的使用体验。
93.进一步地,为了可满足用户的统计报表等需求,本实施例步骤s50之后,还可以包括:
94.在检测到报表生成指令时,根据所述报表生成指令确定数据查询条件及报表生成规则;根据所述数据查询条件在所述同步数据库中查找对应的报表数据;根据所述报表生成规则及所述报表数据生成数据报表,并将所述数据报表进行展示。
95.需要说明的是,报表生成指令可以是用户在需要生成报表时通过用户终端发送至
服务数据同步设备的指令,也可以是服务数据同步设备在检测到当前时刻满足预设报表生成条件时自动生成的指令,其中,预设报表生成条件可由服务数据同步设备的管理人员预先进行设置,例如:每周一上午8点生成报表生成指令。
96.根据报表生成指令确定数据查询条件及报表生成规则可以是提取报表生成指令中的参数,获得数据查询条件及报表生成规则。根据数据查询条件在同步数据库中查找对应的报表数据可以是在同步数据库中查找满足数据查询条件的数据,并将查找到的数据作为报表数据。
97.根据报表生成规则及报表数据生成数据报表可以是根据报表生成规则对报表数据进行聚合处理,并根据聚合处理结果生成数据报表,其中,聚合处理可以是统计总数、求平均值、求和、求取最大值或求取最小值等操作中的至少一种。
98.本实施例通过根据服务数据修改指令确定目标服务器、待修改服务数据及目标数据;将所述目标服务器中的所述待修改服务数据修改为所述目标数据;在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新。由于在将目标服务器中的待修改服务数据修改为目标数据完成时,还会根据目标数据、目标服务器及待修改服务数据对同步数据库中的数据进行同步更新,使得同步数据库中的数据会在服务器中的服务数据修改时也会一同修改,从而保证了同步数据库中的数据与服务器中的服务数据一致。
99.参考图3,图3为本发明一种服务数据同步方法第二实施例的流程示意图。
100.基于上述第一实施例,本实施例步骤s30,可以包括:
101.步骤s301:在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据生成服务数据修改记录。
102.需要说明的是,根据目标数据、目标服务器及待修改服务数据生成服务数据修改记录时,还可以获取当前时刻,将当前时刻作为数据修改时刻,然后根据数据修改时刻、目标数据、目标服务器及待修改服务数据生成服务数据修改记录。
103.步骤s302:将所述服务数据修改记录进行存储。
104.需要说明的是,将服务数据修改记录进行存储可以是将服务数据修改记录存储至服务数据修改设备的存储空间中,也可以是将服务数据修改记录发送至存储服务器进行存储,本实施例对此不加以限制。
105.步骤s303:在存储完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新。
106.可以理解的是,在将服务数据修改记录存储完成时,可以继续根据目标数据、目标服务器及待修改服务数据对同步数据库进行同步更新。
107.在本实施例中,在将目标服务器中的待修改服务数据修改为目标数据完成时生成了服务数据修改记录进行存储,然后再对同步数据库进行同步更新,即使同步更新失败,后续也可以根据服务数据修改记录再次对同步数据库进行同步更新,提高了本发明服务数据同步方法的可靠性。
108.在本实施例中,服务数据同步方法的所述步骤s30之后,还包括:
109.步骤s40:获取系统时刻,在所述系统时刻满足预设任务条件库中任一任务触发条件时,获取被满足的任务触发条件对应的目标同步任务。
110.需要说明的是,服务器中的服务数据可以有多种修改方式,而其中部分修改方式可能并未经过服务数据同步设备,即通过该种方式修改服务器中的服务数据服务数据同步设备无法感知,为了确保对此种方式修改的服务数据依旧可以对同步数据库中的数据进行同步更新,可以设置同步任务定时或周期性的扫描此类数据。
111.需要说明的是,系统时刻可以是服务数据同步设备中的系统的运行时刻。预设任务条件库可以是由服务数据同步设备的管理人员预先设置的,其中可以存储有多条任务触发条件,各任务触发条件对应有不同的同步任务,在任务触发条件被满足时,可以将被满足的任务触发条件对应的同步任务作为目标同步任务。例如:预设任务条件库中存储有a、b、c三个任务触发条件,任务触发条件a为每隔五分钟触发,任务触发条件b为每隔10小时触发,任务触发条件c为每日凌晨2点触发,各任务触发条件对应的同步任务分别为ma、mb、mc。
112.步骤s50:执行所述目标同步任务,以对所述同步数据库进行同步更新。
113.可以理解的是,目标同步任务可以设置有对应的数据同步流程,执行目标同步任务,以对所述同步数据库进行同步更新可以是获取目标同步任务对应的数据同步流程,执行该数据同步流程,以实现对同步数据库中的数据进行同步更新。
114.需要说明的是,同步任务的同步任务类型可以分为增量同步和全量同步,同步任务类型不同时,其对应的数据同步流程也不相同。因此,可以先获取目标同步任务的同步任务类型,根据同步任务类型选择对应的数据同步流程进行数据同步。
115.在具体实现中,执行所述目标同步任务,以对所述同步数据库进行同步更新的步骤,可以包括:
116.获取所述目标同步任务的同步任务类型;若所述同步任务类型为增量同步,则获取所述目标同步任务对应的同步时段;获取所述同步时段内的服务数据修改记录;根据所述服务数据修改记录对所述同步数据库中的数据进行同步更新;若所述同步任务类型为全量更新,则获取各服务器中的服务数据;根据所述服务数据对所述同步数据库中的数据进行同步更新。
117.需要说明的是,获取目标同步任务对应的同步时段可以是获取目标同步任务上一次的触发时刻作为起始时刻,将目标同步任务的本次的触发时刻作为结束时刻,根据起始时刻及结束时刻确定时间段作为同步时段。获取同步时段内的服务数据修改记录可以是获取对应的数据修改时刻处于同步时段内的服务数据修改记录。根据服务数据修改记录对同步数据库中的数据进行同步更新可以是根据服务数据修改记录确定同步时段内所有被修改的服务数据,将其与同步数据库中对应的数据进行比对,并根据比对结果确定同步数据库中需要修改的数据,然后进行数据修改。
118.需要说明的是,获取各服务器中的服务数据,根据服务数据对同步数据库中的数据进行同步更新可以是将各服务器中的服务数据与同步数据库中的数据进行比对,确定同步数据库中需要修改的数据,然后进行数据修改。
119.可以理解的是,同步任务类型为全量同步的同步任务需要比对的数据较多,执行缓慢,占用的资源较多,耗费性能较多,因此,在为同步任务类型为全量同步的同步任务设置任务触发条件时,可以将触发的周期设置的较长(如间隔10小时触发),或将其触发时刻设置为较少用户使用的时刻(如将触发时刻设置为每日凌晨2点)。而同步任务类型为增量同步的同步任务需要比对的数据较少,执行较快,占用的资源较少,性能耗费较低,在为同
步任务类型为增量同步的同步任务设置任务触发条件时,可以将触发的周期设置的较短(如间隔5分钟触发)。
120.在本实施例中,考虑到服务数据的修改方式有多种,部分对服务数据的修改服务数据同步设备可能无法感知,由此设置了若干个同步任务,并为同步任务分配了任务触发条件,在任务触发条件被满足时,可自动执行对应的同步任务扫描服务数据,对同步数据库中的数据进行同步更新,保证了服务数据即使是使用服务数据同步设备无法感知的方式进行修改,依旧可以对数据库中的数据同步更新,进一步提高了本发明服务数据同步方法的可靠性。
121.参考图4,图4为本发明一种服务数据同步方法第三实施例的流程示意图。
122.基于上述第一实施例,本实施例服务数据同步方法在所述步骤s10之前,还包括:
123.步骤s01:在接收到服务数据修改指令时,检测指令运行线程池对应的指令等待队列中是否存在指令。
124.需要说明的是,服务数据修改指令可以是由用户操作用户终端发送至服务数据同步设备的指令,也可以是其他服务器或终端设备发送至服务数据同步设备的指令。指令运行线程池可以是用于提供指令运行线程的线程池,指令运行线程池可以由服务数据同步设备的管理人员预先根据服务数据同步设备的设备性能进行设置,指令运行线程可以是用于处理接收到的服务数据修改指令的线程。指令等待队列可以是在指令运行线程池中无空闲线程可分配时缓存接收到的服务数据修改指令的队列,在指令运行线程池中存在空闲线程时优先提取指令等待队列中的指令进行处理。
125.进一步地,为了避免在繁忙时指令丢失,本实施例步骤s01之后,还可以包括:
126.若所述指令等待队列中存在指令,则将所述服务数据修改指令添加至所述指令等待队列中。
127.需要说明的是,在指令运行线程池中存在空闲线程时优先提取指令等待队列中的指令进行处理,若指令等待队列中存在指令,则说明当前服务数据同步设备繁忙,并无资源分配线程处理当前接收到的服务数据修改指令,则可以将接收到的服务数据修改指令添加至指令等待队列中,等待服务数据同步设备分配资源进行处理。
128.在实际使用中,为了保证指令的处理顺序,可以将服务数据修改指令添加至指令等待队列的头部。
129.步骤s02:若所述指令等待队列中不存在指令,则检测所述指令运行线程池中是否存在空闲线程。
130.可以理解的是,若指令等待队列中不存在指令,则说明当前服务数据同步设备并未繁忙到需要缓存接收到的服务数据修改指令的程度,则此时指令运行线程时可能存在可分配给当前接收到的服务数据修改指令的指令运行线程,因此,可以检测指令运行线程池中是否存在空闲线程。
131.在实际使用中,检测指令运行线程池中是否存在空闲线程可以是获取指令运行线程池的空闲线程数,在空闲线程数大于0时,判定存在空闲线程。
132.进一步地,为了避免在繁忙时指令丢失,本实施例步骤s02之后,还可以包括:
133.若不存在空闲线程,则将所述服务数据修改指令添加至所述指令等待队列中。
134.可以理解的是,若指令修改线程池当前不存在空闲线程,则说明服务数据同步设
备较为繁忙,可能并无资源可分配给当前接收到的服务数据修改指令,因此,可以将服务数据修改指令添加至指令等待队列中,等待服务数据同步设备分配资源进行处理。
135.步骤s03:若存在空闲线程,则从所述指令运行线程池中获取指令运行线程。
136.可以理解的是,若指令线程池中存在空闲线程,则可以直接从指令运行线程池中获取指令运行线程。
137.在本实施例中,所述步骤s10,包括:
138.步骤s10':通过所述指令运行线程对所述服务数据修改指令进行数据解析,确定目标服务器、待修改服务数据及目标数据。
139.需要说明的是,通过所述指令运行线程对所述服务数据修改指令进行数据解析,确定目标服务器、待修改服务数据及目标数据可以是将服务数据修改指令加载至指令运行线程中,在指令运行线程中对服务数据修改指令进行数据解析,从而确定目标服务器、待修改服务数据及目标数据。
140.本实施例在对服务数据修改指令进行处理之前,还会检测指令运行线程池对应的指令等待队列中是否存在指令,在指令等待队列中不存在指令时还会检测指令运行线程中是否存在空闲线程,在存在空闲线程时从指令运行线程池中获取指令运行线程对服务数据修改指令进行处理。由于根据服务数据同步设备的设备性能设置了线程池,可以防止服务数据同步设备同时处理数量超出其设备性能的服务数据修改指令,避免服务数据同步设备卡顿或宕机。且在指令运行线程池对应的指令等待队列中存在指令或指令运行线程池中不存在空闲线程时还会将服务数据修改指令添加至指令运行线程池对应的指令等待队列中,可以避免服务数据同步设备繁忙时出现指令丢失的现象。
141.此外,本发明实施例还提出一种存储介质,所述存储介质上存储有服务数据同步程序,所述服务数据同步程序被处理器执行时实现如上文所述的服务数据同步方法的步骤。
142.参照图5,图5为本发明服务数据同步装置第一实施例的结构框图。
143.如图5所示,本发明实施例提出的服务数据同步装置包括:
144.指令解析模块10,用于根据服务数据修改指令确定目标服务器、待修改服务数据及目标数据;
145.数据修改模块20,用于将所述目标服务器中的所述待修改服务数据修改为所述目标数据;
146.数据同步模块30,用于在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新。
147.本实施例通过根据服务数据修改指令确定目标服务器、待修改服务数据及目标数据;将所述目标服务器中的所述待修改服务数据修改为所述目标数据;在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新。由于在将目标服务器中的待修改服务数据修改为目标数据完成时,还会根据目标数据、目标服务器及待修改服务数据对同步数据库中的数据进行同步更新,使得同步数据库中的数据会在服务器中的服务数据修改时也会一同修改,从而保证了同步数据库中的数据与服务器中的服务数据一致。
148.进一步地,所述数据同步模块30,还用于根据所述目标服务器及所述待修改服务
数据在同步数据库中查找对应的待同步数据;将所述同步数据库中的待同步数据修改为所述目标数据。
149.进一步地,所述数据修改模块20,还用于在修改失败时,获取历史失败次数,并将所述历史失败次数加一,获得当前失败次数;在所述当前失败次数大于或等于预设失败次数时,获取修改失败的失败原因信息;根据所述失败原因信息生成失败预警信息,并将所述失败预警信息进行展示。
150.进一步地,所述数据修改模块20,还用于在所述当前失败次数小于预设失败阈值时,将所述当前失败次数作为新的历史失败次数,并返回所述将所述目标服务器中的所述待修改服务数据修改为所述目标数据的步骤。
151.进一步地,所述数据同步模块30,还用于获取系统时刻,在所述系统时刻满足预设任务条件库中任一任务触发条件时,获取被满足的任务触发条件对应的目标同步任务;执行所述目标同步任务,以对所述同步数据库进行同步更新。
152.进一步地,所述数据同步模块30,还用于获取所述目标同步任务对应的同步任务类型;若所述同步任务类型为增量同步,则获取所述目标同步任务对应的同步时段;获取所述同步时段内的服务数据修改记录;根据所述服务数据修改记录对所述同步数据库中的数据进行同步更新。
153.进一步地,所述数据同步模块30,还用于若所述同步任务类型为全量更新,则获取各服务器中的服务数据;根据所述服务数据对所述同步数据库中的数据进行同步更新。
154.进一步地,所述指令解析模块10,还用于在接收到服务数据修改指令时,检测指令运行线程池对应的指令等待队列中是否存在指令;若所述指令等待队列中不存在指令,则检测所述指令运行线程池中是否存在空闲线程;若存在空闲线程,则从所述指令运行线程池中获取指令运行线程;
155.所述指令解析模块10,还用于通过所述指令运行线程对所述服务数据修改指令进行数据解析,确定目标服务器、待修改服务数据及目标数据。
156.进一步地,所述指令解析模块10,还用于若所述指令等待队列中存在指令,则将所述服务数据修改指令添加至所述指令等待队列中。
157.进一步地,所述指令解析模块10,还用于若不存在空闲线程,则将所述服务数据修改指令添加至所述指令等待队列中。
158.进一步地,所述数据同步模块30,还用于在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据生成服务数据修改记录;将所述服务数据修改记录进行存储;在存储完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新。
159.进一步地,所述数据同步模块30,还用于在检测到报表生成指令时,根据所述报表生成指令确定数据查询条件及报表生成规则;根据所述数据查询条件在所述同步数据库中查找对应的报表数据;根据所述报表生成规则及所述报表数据生成数据报表,并将所述数据报表进行展示。
160.应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
161.需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范
围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
162.另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的服务数据同步方法,此处不再赘述。
163.此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
164.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
165.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(read only memory,rom)/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
166.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
167.本发明公开了a1、一种服务数据同步方法,所述服务数据同步方法包括以下步骤:
168.根据服务数据修改指令确定目标服务器、待修改服务数据及目标数据;
169.将所述目标服务器中的所述待修改服务数据修改为所述目标数据;
170.在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新。
171.a2、如a1所述的服务数据同步方法,所述根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新的步骤,包括:
172.根据所述目标服务器及所述待修改服务数据在同步数据库中查找对应的待同步数据;
173.将所述同步数据库中的待同步数据修改为所述目标数据。
174.a3、如a1所述的服务数据同步方法,所述将所述目标服务器中的所述待修改服务数据修改为所述目标数据的步骤之后,还包括:
175.在修改失败时,获取历史失败次数,并将所述历史失败次数加一,获得当前失败次数;
176.在所述当前失败次数大于或等于预设失败次数时,获取修改失败的失败原因信息;
177.根据所述失败原因信息生成失败预警信息,并将所述失败预警信息进行展示。
178.a4、如a3所述的服务数据同步方法,所述在修改失败时,获取历史失败次数,并将所述历史失败次数加一,获得当前失败次数的步骤之后,还包括:
179.在所述当前失败次数小于预设失败阈值时,将所述当前失败次数作为新的历史失败次数,并返回所述将所述目标服务器中的所述待修改服务数据修改为所述目标数据的步骤。
180.a5、如a1所述的服务数据同步方法,所述在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新的步骤之后,还包括:
181.获取系统时刻,在所述系统时刻满足预设任务条件库中任一任务触发条件时,获取被满足的任务触发条件对应的目标同步任务;
182.执行所述目标同步任务,以对所述同步数据库进行同步更新。
183.a6、如a5所述的服务数据同步方法,所述执行所述目标同步任务,以对所述同步数据库进行同步更新的步骤,包括:
184.获取所述目标同步任务对应的同步任务类型;
185.若所述同步任务类型为增量同步,则获取所述目标同步任务对应的同步时段;
186.获取所述同步时段内的服务数据修改记录;
187.根据所述服务数据修改记录对所述同步数据库中的数据进行同步更新。
188.a7、如a6所述的服务数据同步方法,所述获取所述目标同步任务对应的同步任务类型的步骤之后,还包括:
189.若所述同步任务类型为全量更新,则获取各服务器中的服务数据;
190.根据所述服务数据对所述同步数据库中的数据进行同步更新。
191.a8、如a1所述的服务数据同步方法,所述根据服务数据修改指令确定目标服务器、待修改服务数据及目标数据的步骤之前,还包括:
192.在接收到服务数据修改指令时,检测指令运行线程池对应的指令等待队列中是否存在指令;
193.若所述指令等待队列中不存在指令,则检测所述指令运行线程池中是否存在空闲线程;
194.若存在空闲线程,则从所述指令运行线程池中获取指令运行线程;
195.相应的,所述根据服务数据修改指令确定目标服务器、待修改服务数据及目标数据的步骤,包括:
196.通过所述指令运行线程对所述服务数据修改指令进行数据解析,确定目标服务器、待修改服务数据及目标数据。
197.a9、如a8所述的服务数据同步方法,所述在接收到服务数据修改指令时,检测指令运行线程池对应的指令等待队列中是否存在指令的步骤之后,还包括:
198.若所述指令等待队列中存在指令,则将所述服务数据修改指令添加至所述指令等待队列中。
199.a10、如a8所述的服务数据同步方法,所述若所述指令等待队列中不存在指令,则检测所述指令运行线程池中是否存在空闲线程的步骤之后,还包括:
200.若不存在空闲线程,则将所述服务数据修改指令添加至所述指令等待队列中。
201.a11、如a1-a10任一项所述的服务数据同步方法,所述在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新的步骤,包括:
202.在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据生成
服务数据修改记录;
203.将所述服务数据修改记录进行存储;
204.在存储完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新。
205.a12、如a1-a10任一项所述的服务数据同步方法,所述在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新的步骤之后,还包括:
206.在检测到报表生成指令时,根据所述报表生成指令确定数据查询条件及报表生成规则;
207.根据所述数据查询条件在所述同步数据库中查找对应的报表数据;
208.根据所述报表生成规则及所述报表数据生成数据报表,并将所述数据报表进行展示。
209.本发明公开了b13、一种服务数据同步装置,所述服务数据同步装置包括以下模块:
210.指令解析模块,用于根据服务数据修改指令确定目标服务器、待修改服务数据及目标数据;
211.数据修改模块,用于将所述目标服务器中的所述待修改服务数据修改为所述目标数据;
212.数据同步模块,用于在修改完成时,根据所述目标数据、所述目标服务器及所述待修改服务数据对同步数据库进行同步更新。
213.b14、如b13所述的服务数据同步装置,所述数据同步模块,还用于根据所述目标服务器及所述待修改服务数据在同步数据库中查找对应的待同步数据;将所述同步数据库中的待同步数据修改为所述目标数据。
214.b15、如b13所述的服务数据同步装置,所述数据修改模块,还用于在修改失败时,获取历史失败次数,并将所述历史失败次数加一,获得当前失败次数;在所述当前失败次数大于或等于预设失败次数时,获取修改失败的失败原因信息;根据所述失败原因信息生成失败预警信息,并将所述失败预警信息进行展示。
215.b16、如b15所述的服务数据同步装置,所述数据修改模块,还用于在所述当前失败次数小于预设失败阈值时,将所述当前失败次数作为新的历史失败次数,并返回所述将所述目标服务器中的所述待修改服务数据修改为所述目标数据的步骤。
216.b17、如b13所述的服务数据同步装置,所述数据同步模块,还用于获取系统时刻,在所述系统时刻满足预设任务条件库中任一任务触发条件时,获取被满足的任务触发条件对应的目标同步任务;执行所述目标同步任务,以对所述同步数据库进行同步更新。
217.b18、如b17所述的服务数据同步装置,所述数据同步模块,还用于获取所述目标同步任务对应的同步任务类型;若所述同步任务类型为增量同步,则获取所述目标同步任务对应的同步时段;获取所述同步时段内的服务数据修改记录;根据所述服务数据修改记录对所述同步数据库中的数据进行同步更新。
218.本发明公开了c19、一种服务数据同步设备,所述服务数据同步设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的服务数据同步程序,所述服务数
据同步程序被处理器执行时实现如上所述的服务数据同步方法的步骤。
219.本发明公开了d20、一种计算机可读存储介质,所述计算机可读存储介质上存储有服务数据同步程序,所述服务数据同步程序执行时实现如上所述的服务数据同步方法的步骤。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献