一种数据库间批量作业调度的方法、装置及电子设备与流程

文档序号:27636581发布日期:2021-11-29 17:12阅读:118来源:国知局
一种数据库间批量作业调度的方法、装置及电子设备与流程

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.第二确定子单元,用于基于所述作业配置表中作业之间的依赖关系,确定所述第一目标作业中待调度的子作业,表示为第二目标作业;
37.执行子单元,用于在接收到对第二目标作业的调度指令时,执行所述第二目标作业的调度;
38.返回执行子单元,用于在接收到批量作业调度的停止指令前,返回执行“基于所述作业配置表中作业之间的依赖关系,确定所述第一目标作业中待调度的子作业”的步骤。
39.本发明实施例公开了一种电子设备,包括:
40.存储器和处理器;
41.所述存储器用于存储程序,所述处理器用于在执行所述存储器中的程序时,执行上述所述的一种数据库间批量作业调度的方法。
42.本实施例中,响应于对多个数据库系统的批量作业调度指令,获取待调度的目标
数据库;调取每个目标数据库的参数配置信息;所述参数配置信息至少包括:目标数据库系统的基本信息;基于每个目标数据库的参数配置信息中的目标数据库的基本信息调取与所述目标数据库相匹配的目标接口;依据所述目标接口与所述目标数据库建立连接,并调取作业配置信息表,基于所述作业配置信息表执行所述目标数据库的批量作业调度指令;所述作业配置信息表至少包括:作业和数据库系统的对应关系以及作业之间的依赖关系。由此,基于预设的每个目标数据库的参数配置信息可以实现对对异构系统的连接,并实现对异构系统同时进行批量作业调度。
附图说明
43.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
44.图1示出了本发明实施例提供的一种数据库间批量作业调度的方法的流程示意图;
45.图2示出了本发明实施例提供的一种数据库间批量作业调度的方法的又一流程示意图;
46.图3示出了本发明实施例提供的一种数据库间批量作业调度装置的结构示意图;
47.图4示出了本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
48.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.参考图1,示出了本发明实施例提供的一种数据库间批量作业调度的方法的流程示意图,在本实施例中,该方法包括:
50.s101:响应于对多个数据库系统的批量作业调度指令,获取待调度的目标数据库;
51.本实施例中,数据库系统的调度指令中包含需要调度的目标数据库,基于目标数据库以及作业和数据库系统的对应关系,能够确定待调度的目标作业。
52.其中,数据库系统的调度指令可以是用户基于需求发起的,并且需要调度的目标数据库可以是用户基于需求指定的。
53.s102:调取每个目标数据库的参数配置信息;所述参数配置信息至少包括:目标数据库系统的基本信息;
54.s103:基于每个目标数据库的参数配置信息中的目标数据库的基本信息调取与所述目标数据库相匹配的目标接口;
55.本实施例中,目标数据库系统的基本信息用于表示目标数据库的特征,例如该基本信息为目标数据库的类型。
56.其中,不同的数据库的类型需要采用不同的接口进行连接,本实施例中,预先设置
了不同数据库类型的接口,并预先设置了每种数据库的类型与接口的对应关系。
57.s104:依据所述目标接口与所述目标数据库建立连接,并调取作业配置信息表,基于所述作业配置信息表执行所述目标数据库的批量作业调度指令;所述作业配置信息表至少包括:作业和数据库系统的对应关系以及作业之间的依赖关系。
58.本实施例中,为了实现与目标数据库建立连接关系,需要知道目标数据库的ip信息,其中该ip信息存储在目标数据库的参数配置信息中。
59.除此之外,为了更加直观的展示目标数据库的相关参数配置信息,参数配置信息中还包括:应用系统标识、应用系统名称、数据库类型。
60.综上,目标数据库的参数配置信息至少包括:应用系统标识、应用系统名称、数据库类型、数据库ip信息等。
61.应用系统标识:指以业务或者产品维度定义的系统的英文标识,用以区分不同的业务或者产品。
62.数据库类型:指每个应用系统对应的数据库产品,例如oracle和gbase两种
63.数据库系统ip信息:指每个数据库节点的ip地址信息,例如对于集群oracle数据库系统需要配置所有节点ip信息,对于gbase数据库需要配置所有管理节点ip信息。
64.进一步的,目标数据库的参数配置信息还包括如下参数中的一个或者多个:批量模块标识、批量模块序号、批量会计日期、批量模块名称、批量模块运行周期、批量运行节点名称等信息。
65.其中,批量模块序号:指同一系统内的各批量模块序号,不同的批量模块的序号表征批量模块执行批量调度的优先级。
66.批量模块运行周期:指各批量模块的运行频度,目前支持d/w/t/m/q/h/y七种配置,分别代表日/周/旬/月/季/半年/年,相同频度的作业需要放到同一批量模块中。
67.其中,作业的调度周期相同的目标系统的批量运行模块的名称相同。
68.批量运行节点名称:指批量调度程序部署的服务器名,由于批量调度程序支持分布式部署,每台服务器可以按照配置的批量模块运行。如果某一台机器出现问题,只要修改该字段配置即可,保证了高可用性。
69.批量会计日期:各个批量调度模块的会计日期,并根据批量调度模块执行的批量作业的调度情况,更新日期。
70.基于目标数据库系统的参数配置信息,还包括:
71.根据所述目标数据库系统中的批量调度标识,确定执行目标数据库的作业的调度的目标批量调度模块;
72.在所述目标批量调度模块中执行所述目标数据库的作业调度。
73.除此之外,每个批量调度模块设置了优先级,当通过批量调度模块执行批量作业调度时,可以按照优先级执行批片调度模块中的作业的调度,具体的,还包括:
74.按照批量调度模块的优先级,启动批量调度模块;
75.在所述批量调度模块启动后,执行所述批量调度模块中的批量作业的调度。
76.本实施例中,批量调度程序部署在多个不同的服务器中,当执行批量调度程序的一个服务器发生宕机的情况下,通过修改目标数据库的参数配置信息更改批量运行节点名称可以通过其它服务器继续执行该批量调度程序。
77.本实施例中,响应于对多个数据库系统的批量作业调度指令,获取待调度的目标数据库;调取每个目标数据库的参数配置信息;所述参数配置信息至少包括:目标数据库系统的基本信息;基于每个目标数据库的参数配置信息中的目标数据库的基本信息调取与所述目标数据库相匹配的目标接口;依据所述目标接口与所述目标数据库建立连接,并调取作业配置信息表,基于所述作业配置信息表执行所述目标数据库的批量作业调度指令;所述作业配置信息表至少包括:作业和数据库系统的对应关系以及作业之间的依赖关系。由此,基于预设的每个目标数据库的参数配置信息可以实现对对异构系统的连接,并实现对异构系统同时进行批量作业调度。
78.本实施例中,每个目标系统的批量作业调度时,循环执行每个作业的子作业,具体的,参考图2,s104包括:
79.s201:基于所述作业配置信息表中的作业和数据库系统的对应关系,确定待调度的目标作业;
80.s202:基于所述作业配置表中作业之间的依赖关系,确定所述第一目标作业中待调度的子作业,表示为第二目标作业;
81.本实施例中,作业和数据库系统的对应关系,表示某个数据库需要执行的作业;作业之间的依赖关系表示作业的前后依赖关系,每个作业能否执行有时候取决之前该作业的前导作业是否已被调度并执行。
82.除此之外,作业配置信息还包括:作业名称、中文描述、作业类型等。
83.通过上述介绍可知,作业配置信息表中预先配置了作业相关的信息,主要是以作业为单位设置的相关信息,其中一条配置信息包括:作业名称、中文描述、作业类型等。
84.本实施例中,数据库系统的调度指令中包含需要调度的目标数据库,基于目标数据库以及作业和数据库系统的对应关系,能够确定待调度的目标作业。
85.其中,数据库系统的调度指令可以是用户基于需求发起的,并且需要调度的目标数据库可以是用户基于需求指定的。
86.本实施例中,作业配置信息表中预先配置了不同作业的相关信息,包括:作业和数据库系统的对应关系,基于此,具体的,s102包括:
87.从调度指令中获取待调度的目标数据库;
88.基于作业和数据库系统的对应关系和目标数据库,确定待调度的第一目标作业。
89.本实施例中,每个作业包含多个子作业,每个子作业之间存在一定的依赖关系,并且每个目标数据库可能已经预先调度过作业中的子作业,具体的,还包括:
90.检测目标数据库当前正在执行的子作业;
91.基于所述作业配置信息表中作业之间的依赖关系,确定当前正在执行的子作业的下一个子作业,表示为第二目标作业;
92.s203:在接收到对第二目标作业的调度指令时,执行所述第二目标作业的调度;
93.s204:在接收到批量作业调度的停止指令前,返回执行s202。
94.本实施例中,通过作业配置信息表,实现了对数据库系统的作业的批量调度。
95.参考图3,示出了本发明实施例提供的一种数据库间批量作业调度装置的结构示意图,在本实施例中,该装置包括:
96.获取单元301,用于响应于对多个数据库系统的批量作业调度指令,获取待调度的
目标数据库;
97.第一调取单元302,用于调取每个目标数据库的参数配置信息;所述参数配置信息至少包括:目标数据库系统的基本信息;
98.第二调取单元303,用于基于每个目标数据库的参数配置信息中的目标数据库的基本信息调取与所述目标数据库相匹配的目标接口;
99.批量作业执行单元304,用于依据所述目标接口与所述目标数据库建立连接,并调取作业配置信息表,基于所述作业配置信息表执行所述目标数据库的批量作业调度指令;所述作业配置信息表至少包括:作业和数据库系统的对应关系以及作业之间的依赖关系。
100.可选的,还包括:
101.确定单元,用于根据所述目标数据库系统中的批量调度标识,确定执行目标数据库的作业的调度的目标批量调度模块;
102.第一执行单元,用于在所述目标批量调度模块中执行所述目标数据库的作业调度。
103.可选的,还包括:
104.启动单元,用于按照批量调度模块的优先级,启动批量调度模块;
105.第二执行单元,用于在所述批量调度模块启动后,执行所述批量调度模块中的批量作业的调度。
106.可选的,所述批量作业执行单元,包括:
107.第一确定子单元,用于基于所述作业配置信息表中的作业和数据库系统的对应关系,确定待调度的目标作业;
108.第二确定子单元,用于基于所述作业配置表中作业之间的依赖关系,确定所述第一目标作业中待调度的子作业,表示为第二目标作业;
109.执行子单元,用于在接收到对第二目标作业的调度指令时,执行所述第二目标作业的调度;
110.返回执行子单元,用于在接收到批量作业调度的停止指令前,返回执行“基于所述作业配置表中作业之间的依赖关系,确定所述第一目标作业中待调度的子作业”的步骤。
111.通过本实施例的装置,响应于对多个数据库系统的批量作业调度指令,获取待调度的目标数据库;调取每个目标数据库的参数配置信息;所述参数配置信息至少包括:目标数据库系统的基本信息;基于每个目标数据库的参数配置信息中的目标数据库的基本信息调取与所述目标数据库相匹配的目标接口;依据所述目标接口与所述目标数据库建立连接,并调取作业配置信息表,基于所述作业配置信息表执行所述目标数据库的批量作业调度指令;所述作业配置信息表至少包括:作业和数据库系统的对应关系以及作业之间的依赖关系。由此,基于预设的每个目标数据库的参数配置信息可以实现对对异构系统的连接,并实现对异构系统同时进行批量作业调度。
112.参考图4,示出了本发明实施例提供的一种电子设备的结构示意图,本实施例中,该电子设备包括:
113.存储器401和处理器402;
114.所述存储器401用于存储程序,所述处理器402用于在执行所述存储器中的程序时,执行上述所述的一种数据库间批量作业调度的方法。
115.响应于对多个数据库系统的批量作业调度指令,获取待调度的目标数据库;
116.调取每个目标数据库的参数配置信息;所述参数配置信息至少包括:目标数据库系统的基本信息;
117.基于每个目标数据库的参数配置信息中的目标数据库的基本信息调取与所述目标数据库相匹配的目标接口;
118.依据所述目标接口与所述目标数据库建立连接,并调取作业配置信息表,基于所述作业配置信息表执行所述目标数据库的批量作业调度指令;所述作业配置信息表至少包括:作业和数据库系统的对应关系以及作业之间的依赖关系。
119.可选的,还包括:
120.根据所述目标数据库系统中的批量调度标识,确定执行目标数据库的作业的调度的目标批量调度模块;
121.在所述目标批量调度模块中执行所述目标数据库的作业调度。
122.可选的,还包括:
123.按照批量调度模块的优先级,启动批量调度模块;
124.在所述批量调度模块启动后,执行所述批量调度模块中的批量作业的调度。
125.可选的,还包括:
126.当接收到目标系统的参数配置信息的修改指令时,所述修改指令用于指示修改批量调度程序运行的服务器节点;
127.在修改后的服务器节点中运行批量调度程序。
128.可选的,所述基于所述作业配置信息表执行所述目标数据库的批量作业调度指令,包括:
129.基于所述作业配置信息表中的作业和数据库系统的对应关系,确定待调度的目标作业;
130.基于所述作业配置表中作业之间的依赖关系,确定所述第一目标作业中待调度的子作业,表示为第二目标作业;
131.在接收到对第二目标作业的调度指令时,执行所述第二目标作业的调度;
132.在接收到批量作业调度的停止指令前,返回执行“基于所述作业配置表中作业之间的依赖关系,确定所述第一目标作业中待调度的子作业”的步骤。
133.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
134.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1