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

DDL任务的分布式处理方法、节点及分布式数据库系统与流程

2022-12-10 10:20:30 来源:中国专利 TAG:

ddl任务的分布式处理方法、节点及分布式数据库系统
技术领域
1.本技术涉及数据库技术领域,具体而言,本技术涉及一种ddl任务的分布式处理方法、节点及分布式数据库系统电子设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.目前数据定义语言(data definition language,ddl)语句的分布式调度系统主要分为如下集中实现:
3.1,以oracle,mysql等传统数据库为例的传统单机或者集群系统。通常采用实现一个meta data lock系统,通过对于需要进行ddl变更的对象加锁的方式,来协调各种ddl语句执行的先后顺序。达到并发效果。
4.2,分布式数据库系统ocean base,tdsql的数据库也是通过采取在分布式系统中实现一种类似mdl锁的方式来达成并发ddl语句调度的效果。
5.相关技术中,对于一个ddl任务,只由分布式数据库系统中的一个主节点执行,在执行能力、灵活性和效率上均存在瓶颈。


技术实现要素:

6.本技术实施例提供了一种ddl任务的分布式处理方法、节点及分布式数据库系统、电子设备、计算机可读存储介质及计算机程序产品,可以解决现有技术的上述问题。所述技术方案如下:
7.根据本技术实施例的一个方面,提供了一种ddl任务的分布式处理方法,应用于分布式数据库系统的各节点中的至少一个主节点,该方法包括:
8.从分布式数据库系统中的ddl任务队列中获得待执行的ddl任务;
9.将所述ddl任务拆分为多个子任务;
10.创建每个子任务的调度信息,所述调度信息包括执行状态信息,初始的执行状态信息为未执行,以使得所述各节点中的至少一个执行节点根据各子任务的调度信息确定未执行的目标子任务,以及根据执行所述目标子任务的情况,更新所述目标子任务的调度信息。
11.作为一种可选实施例,将所述ddl任务拆分为多个子任务,包括:
12.分多轮对所述ddl任务进行拆分;
13.其中,每一轮拆分的子任务的数量与各节点在当前轮的回调线程的数量相关,且在每一轮拆分后,根据所述ddl任务尚未拆分的部分确定是否展示各节点调整在下一轮的回调线程的数量;
14.每个回调线程用于执行一个子任务。
15.作为一种可选实施例,更新后的执行状态信息包括已完成;
16.所述方法还包括:
17.根据所述ddl任务的所有子任务对应的执行状态信息均为已完成,确定所述ddl任
务执行完成。
18.作为一种可选实施例,调度信息还包括子任务所属的ddl任务的任务标识;
19.所述方法还包括:
20.确定取消执行的ddl任务的任务标识;
21.确定包括所述取消执行的ddl任务的任务标识的目标调度信息;
22.将所述目标调度信息的执行状态信息更新为待取消执行,以使得执行相应子任务的执行节点根据目标调度信息的执行状态信息更新为待取消执行,取消执行对应的子任务,并在取消执行后将目标调度信息的执行状态信息更新为已取消执行。
23.作为一种可选实施例,调度信息还包括子任务的子任务标识、子任务的起始值、结束值、当前处理的值、执行所述子任务的回调线程的线程标识、租约信息、处理行数或错误信息中的至少一种。
24.根据本技术实施例的另一个方面,数据定义语言ddl任务的分布式处理方法,应用于分布式数据库系统的各节点中的至少一个执行节点,包括:
25.获取ddl任务的各子任务的调度信息,所述调度信息包括执行状态信息,初始的执行状态信息为未执行;
26.根据各子任务的调度信息确定未执行的目标子任务;
27.发起抢占所述目标子任务,若抢占成功则执行所述目标子任务;
28.根据执行所述目标子任务的情况,更新所述目标子任务的调度信息;
29.其中,所述子任务是分布式数据库系统中的主节点从ddl任务队列中获得待执行的ddl任务后拆分得到的,所述子任务的调度信息是所述主节点创建的。
30.作为一种可选实施例,执行节点包括至少一个回调线程;
31.所述发起抢占所述目标子任务,若抢占成功则执行所述目标子任务,包括:
32.由状态为空闲的回调线程发起抢占所述目标子任务,若抢占成功,则由所述回调线程执行所述目标子任务,并将所述回调线程的状态更新为忙碌。
33.作为一种可选实施例,执行所述目标子任务,还包括:
34.若根据所述目标子任务的执行状态信息更新为待取消执行,停止执行所述目标子任务;
35.所述根据执行所述目标子任务的情况,更新所述目标子任务的调度信息,包括:
36.根据停止执行所述目标子任务,更新所述目标子任务的执行状态信息为已取消执行。
37.根据本技术实施例的另一个方面,提供了一种分布式数据库系统中的主节点,该主节点包括:
38.任务获取模块,用于从分布式数据库系统中的ddl任务队列中获得待执行的ddl任务;
39.任务拆分模块,用于将所述ddl任务拆分为多个子任务;
40.调度信息创建模块,用于创建每个子任务的调度信息,所述调度信息包括执行状态信息,初始的执行状态信息为未执行,以使得所述各节点中的至少一个执行节点根据各子任务的调度信息确定未执行的目标子任务,以及根据执行所述目标子任务的情况,更新所述目标子任务的调度信息。
41.根据本技术实施例的另一个方面,提供了一种分布式数据库系统中的执行节点,该执行节点包括:
42.调度信息获取模块,用于获取ddl任务的各子任务的调度信息,所述调度信息包括执行状态信息,初始的执行状态信息为未执行;
43.子任务确定模块,用于根据各子任务的调度信息确定未执行的目标子任务;
44.子任务执行模块,用于发起抢占所述目标子任务,若抢占成功则执行所述目标子任务;
45.调度信息更新模块,用于根据执行所述目标子任务的情况,更新所述目标子任务的调度信息;
46.其中,所述子任务是分布式数据库系统中的主节点从ddl任务队列中获得待执行的ddl任务后拆分得到的,所述子任务的调度信息是所述主节点创建的。
47.根据本技术实施例的另一个方面,提供一种分布式数据库系统,包括上述方面的主节点和执行节点。
48.根据本技术实施例的另一个方面,提供了一种电子设备,该电子设备该电子设备包括存储器、处理器及存储在存储器上的计算机程序,处理器执行所述计算机程序以实现上述ddl任务的分布处理方法的步骤。
49.根据本技术实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述ddl任务的分布处理方法的步骤。
50.根据本技术实施例的一个方面,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述ddl任务的分布处理方法的步骤。
51.本技术实施例提供的技术方案带来的有益效果是:
52.通过从ddl任务队列中获得待执行的ddl任务;将所述ddl任务拆分为多个子任务,创建每个子任务的调度信息,调度信息包括执行状态信息,初始的执行状态信息为未执行,调度信息向分布式数据库系统中的所有节点公开,以使得各节点中的至少一个执行节点根据各子任务的调度信息,确定未执行的目标子任务,以及根据执行所述目标子任务的情况,更新所述目标子任务的调度信息,本技术可实现通过多个节点执行一个ddl任务,相比现有技术实现了去中心化的处理方式,并且解决了现有的ddl任务执行能力、灵活性和效率不足的问题。
附图说明
53.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
54.图1为本技术实施例提供的一种主节点执行的ddl任务的分布式处理方法的流程示意图;
55.图2为本技术实施例提供的一种执行节点执行的ddl任务的分布式处理方法的流程示意图;
56.图3为本技术实施例提供的一种ddl任务的分布式处理的架构示意图;
57.图4为本技术实施例提供的一种ddl任务的分布式处理方法的流程示意图;
58.图5为本技术实施例提供的一种主节点的结构示意图;
59.图6为本技术实施例提供的一种执行节点的结构示意图;
60.图7为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
61.下面结合本技术中的附图描述本技术的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本技术实施例的技术方案的示例性描述,对本技术实施例的技术方案不构成限制。
62.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本技术实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“a和/或b”可以实现为“a”,或者实现为“b”,或者实现为“a和b”。
63.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
64.本技术提供的ddl任务的分布式处理方法、节点、分布式数据库系统、电子设备、计算机可读存储介质以及计算机程序产品,旨在解决现有技术的如上技术问题。
65.下面通过对几个示例性实施方式的描述,对本技术实施例的技术方案以及本技术的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
66.本技术实施例中提供了一种ddl任务的分布式处理方法,应用于分布式数据库系统的各节点中的至少一个主节点(owner节点)。需要注意的,本技术实施例的主节点的个数是可调整的,可以通过一个系统参数,ddl_parallel_model参数的设置来选择分布式数据库系统的运行形态:其中可用形态如下:
67.single-mtasks,单主模型,即部署单个主节点,但需要注意的,一个ddl任务是被拆分成多个子任务,从而在整个集群中分布式执行;
68.mutli-owner,多主模型,即部署多个主节点,在一个实施例中,分布式数据库系统中的所有节点都可以自主提取和执行ddl任务。
69.通过上述开关来确定使用哪种运行形态。通常,多主模型更适合分布式数据库集群中。
70.如图1所示,该方法包括:
71.s101、从分布式数据库系统中的ddl任务队列中获得待执行的ddl任务。
72.应当理解的是,分布式数据库系统中的每个节点都可以接收来自于客户端的ddl变更语句,并将ddl变更语句作为ddl任务存入ddl任务队列,主节点能够从ddl任务队列中取ddl执行,为了提升针对大表(即数据容量较大的数据表)执行ddl语句的效率,可以对于
ddl任务进行并行处理,达到更好的性能表现。
73.s102、将所述ddl任务拆分为多个子任务。
74.需要说明的是,ddl任务指示了数据库中一段待处理的数据,因此可以根据该数据的行数拆分成多个子任务,例如该段数据有1000行,可以将每100行待处理的数据作为一个子任务,从而拆分成10个子任务。
75.s103、创建每个子任务的调度信息,所述调度信息包括执行状态信息,初始的执行状态信息为未执行,以使得所述各节点中的至少一个执行节点根据各子任务的调度信息确定未执行的目标子任务,以及根据执行所述目标子任务的情况,更新所述目标子任务的调度信息。
76.本技术实施例对于每个子任务都会创建对应的调度信息,调度信息用于记录子任务执行过程中的各种关键信息,其中包括执行状态信息,每个子任务初始的执行状态信息都是未执行,分布式数据库系统中各执行节点通过读取调度信息,发现未执行的子任务并进行抢占,若抢占成功,则对抢占的子任务进行执行,执行节点还会根据执行所述目标子任务的情况,更新所述目标子任务的调度信息,方便主节点根据各个子任务的调度信息确定ddl任务是否执行完毕。
77.需要注意的是,本技术实施例的主节点也可以作为执行节点,从而ddl任务的子任务可以由主节点自身完成,也可以是非主节点的其他节点完成。
78.在一个实施例中,本技术实施例可以在主节点中设置至少一个重组线程,每个重组线程用于:
79.1)从ddl任务队列中获得待执行的ddl任务;
80.2)周期性检查是否一个ddl任务的所有子任务是否结束;
81.3)设置初始的资源使用意向。
82.本技术实施例的分布式处理方法,应用于主节点,通过从ddl任务队列中获得待执行的ddl任务;将所述ddl任务拆分为多个子任务,创建每个子任务的调度信息,调度信息包括执行状态信息,初始的执行状态信息为未执行,调度信息向分布式数据库系统中的所有节点公开,以使得各节点中的至少一个执行节点根据各子任务的调度信息,确定未执行的目标子任务,以及根据执行所述目标子任务的情况,更新所述目标子任务的调度信息,本技术可实现通过多个节点执行一个ddl任务,相比现有技术实现了去中心化的处理方式,并且解决了现有的ddl任务执行能力、灵活性和效率不足的问题。
83.在上述各实施例的基础上,作为一种可选实施例,将所述ddl任务拆分为多个子任务,包括:
84.分多轮对所述ddl任务进行拆分;
85.每一轮拆分的子任务的数量与各节点在当前轮的回调线程的数量相关,且在每一轮拆分后,根据所述ddl任务尚未拆分的部分确定是否展示各节点调整在下一轮的回调线程的数量;
86.每个回调线程用于执行一个子任务。
87.例如,一个ddl任务对于1000行数据,分布式数据库系统中有2个节点,每个节点初始状态有10个回调线程,因此在首轮拆分时,考虑先拆分出20个子任务,每个节点利用当前的回调线程可处理10个子任务,若每一个子任务占10行数据,则第一轮拆分后ddl任务还剩
下800行数据待处理,此时可以对每个节点的回调线程进行扩容,例如将每个节点的回调线程的数量提升至20行,那么第二轮拆分时,就可以拆分出40个子任务,第一轮拆分后ddl任务还剩下400行数据待处理,由于这400行数据可以拆成40个子任务,而目前两个节点的回调线程支持在下一轮将子任务全部处理完,所以可以不对每个节点的回调线程进行扩容。
88.本技术通过分成多轮对ddl进行拆分,能够减少调度信息的总条数,提升执行节点获取子任务的效率,对于海量数据的大表来说可以避免需要一次行插入海量子任务,提升准备子任务的效率。
89.在上述各实施例的基础上,作为一种可选实施例,更新后的执行状态信息包括已完成;
90.方法还包括:
91.根据所述ddl任务的所有子任务对应的执行状态信息均为已完成,确定所述ddl任务执行完成。
92.在一个实施例中,执行节点在完成一个子任务后,可以将该子任务的调度信息删除,从而主节点根据ddl任务的所有调度信息均删除,确定ddl任务完成。
93.本技术实施例还支持取消执行子任务的功能,具体的,该方法包括:
94.确定取消执行的ddl任务的任务标识;
95.确定包括所述取消执行的ddl任务的任务标识的目标调度信息;
96.将所述目标调度信息的执行状态信息更新为待取消执行,以使得执行相应子任务的执行节点根据目标调度信息的执行状态信息更新为待取消执行,取消执行对应的子任务,并在取消执行后将目标调度信息的执行状态信息更新为已取消执行。
97.当用户需要取消执行ddl任务时,向主节点发送确定取消执行的指令,该指令中包括取消执行的ddl任务的任务标识,主节点在调度信息中搜索该任务标识,若搜索到,说明该子任务需要被取消执行,则在调度信息的执行状态信息更新为待取消执行,执行节点定时检查调度信息中的执行状态信息,若执行状态信息更新为待取消执行,取消执行对应的子任务,并在取消执行后将目标调度信息的执行状态信息更新为已取消执行。
98.在上述各实施例的基础上,作为一种可选实施例,调度信息还包括子任务的子任务标识、子任务的起始值、结束值、当前处理的值、执行所述子任务的回调线程的线程标识、租约信息、处理行数或错误信息中的至少一种。
99.请参见图2,其示例性地示出了本技术实施例的执行节点执行的ddl任务的分布式处理方法的流程示意图,如图所示,包括:
100.s201、获取ddl任务的各子任务的调度信息,所述调度信息包括执行状态信息,初始的执行状态信息为未执行。
101.由上述各实施例可知,本技术实施例的子任务是分布式数据库系统中的主节点从ddl任务队列中获得待执行的ddl任务后拆分得到的,所述子任务的调度信息是所述主节点创建的。
102.s202、根据各子任务的调度信息确定未执行的目标子任务。
103.执行节点通过确定调度信息中的执行状态信息为未执行,可以确定目标子任务。
104.s203、发起抢占所述目标子任务,若抢占成功则执行所述目标子任务。
105.由于分布式数据库系统中的节点很多,而一个子任务只能有一个执行节点执行,
所以当有多个执行节点发现同一个未执行的目标子任务时,就需要对该目标子任务进行抢占,本技术实施例对于抢占规则不作具体的限定,例如可以根据节点剩余的运算能力进行确定,将具有最多的剩余运算能力的节点作为执行目标子任务的执行节点。
106.s204、根据执行所述目标子任务的情况,更新所述目标子任务的调度信息。
107.执行节点在执行目标子任务时,首先可以将目标子任务的调度信息中的执行状态信息更新为执行中,从而其他节点不会在抢占该子任务。还可以实时更新调度信息中的当前处理的值。
108.本技术实施例的分布式处理方法,通过获取ddl任务的各子任务的调度信息,根据各子任务的调度信息确定未执行的目标子任务,之后发起抢占所述目标子任务,若抢占成功则执行所述目标子任务,根据执行所述目标子任务的情况,更新所述目标子任务的调度信息,由于ddl任务的子任务是所有节点都可以抢占的,实现了ddl任务的分布执行,相比现有技术实现了去中心化的处理方式,并且解决了现有的ddl任务执行能力、灵活性和效率不足的问题。
109.在上述各实施例的基础上,作为一种可选的实施例,执行节点包括至少回调线程;
110.发起抢占所述目标子任务,若抢占成功则执行所述目标子任务,包括:
111.由状态为空闲的回调线程发起抢占所述目标子任务,若抢占成功,则由所述回调线程执行所述目标子任务,并将所述回调线程的状态更新为忙碌。
112.请参见图3,其示例性地示出了本技术实施例的ddl任务的分布式处理的架构示意图,如图所示,该架构主要包括重组线程池、子任务调度表以及回调线程池,其中,重组线程池中包括多个重组线程,每个重组线程对应一个主节点,重组线程的作用是将ddl任务拆分成多个子任务,并创建子任务的调度信息插入子任务调度表中,图3中子任务调度表中的每个子任务用一个圆形图案表示,图3中示出了两个重组线程,表达了两个重组线程获取不同的ddl任务,并将自身获取的ddl任务对应的各个子任务的调度信息插入每个ddl任务对应的子任务调度表中。
113.每个执行节点对应一个回调线程池,一个回调线程池包括至少一个回调线程,每个回调线程(以三角形表示)用于执行一个子任务。图3中示出了两个回调线程池,可以发现每个回调线程池中回调线程执行不同的ddl任务的子任务,也即一个ddl任务的各个子任务分布式地由两个执行节点执行。
114.在上述各实施例的基础上,空闲的回调线程会定期检查子任务是否还活跃(回调线程需要周期更新调度信息中的租约信息),如果在一段时间租约信息未更新。空闲的回调线程将抢占这个子任务,原来执行该子任务的回调线程将会在下次更新执行子任务的时候因为更新失败而退出。
115.在上述各实施例的基础上,执行所述目标子任务,还包括:
116.若根据所述目标子任务的执行状态信息更新为待取消执行,停止执行所述目标子任务;
117.根据执行所述目标子任务的情况,更新所述目标子任务的调度信息,包括:
118.根据停止执行所述目标子任务,更新所述目标子任务的执行状态信息为已取消执行。
119.请参见图4,其示例性地示出了本技术实施例的ddl任务的分布式处理方法的流程
示意图,如图所示,包括:
120.1、从ddl任务队列中获取待执行的ddl任务;
121.2、判断是否需要启动该ddl任务,若是,转入第3步;若否,转入第5步;
122.3、启动ddl任务;
123.4、将需要回填的数据划分为一定数量的子任务,创建子任务的调度信息;
124.5、执行节点的空闲的回调线程,根据各个子任务的调度信息,获取可执行的子任务,并启动执行;
125.6、执行节点准备子任务启动的执行环境;
126.7、回调线程在执行过程中,定期检查是否取消ddl任务执行,若是,转入第11步,若否,进入第8步;
127.8、完成一批数据的处理;
128.9、更新子任务的执行状态信息;
129.10、判断子任务是否完成,若否,返回第7步,若是,则进入第14步;
130.11、判断是否为主子任务,若否,进入第14步,若是,则进入第12步;
131.12、判断ddl任务的所有子任务是否结束,若是,进入第15步,若否,进入第13步;
132.13、休眠一段时间,返回第5步
133.14、子任务结束,回调线程返回第5步获取下一个子任务;
134.15、ddl结束。
135.与现有技术相比,本技术实施例的有益效果包括以下几点:
136.1,实现逻辑简单,可扩展性强,通用性好,框架正确性容易保证;
137.2,通过将并行的ddl任务解耦合为由主节点执行的部分和由执行节点执行的不做饭,使得方案对于复杂分布式环境下依然可以高效执行并行计算
138.3,能够适应不同的数据库形态的部署;
139.a)单实例数据库部署;
140.b)集群单主节点,全集群分布式ddl任务调度
141.c)集群分布式ddl任务调度(多主节点)
142.4,基本上消除了分布式并行任务执行的任务协调者与执行者之间的通信,使得并行执行的效率更高;
143.5,抢占式模式,使得并行执行框架的异常处理与故障恢复异常简洁,高效,并且执行过程中任务协调者出现故障也不会影响ddl任务的执行;
144.6,利用表和事务的特点来做到并发的线程之间的隔离与交互的同步。提供了最为成熟可靠的技术保证(也可以采用其他数据结构)。
145.本技术实施例提供了一种分布式数据库系统中的主节点,如图5所示,该主节点可以包括:任务获取模块501、任务拆分模块502以及调度信息创建模块503,其中,
146.任务获取模块501,用于从分布式数据库系统中的ddl任务队列中获得待执行的ddl任务;
147.任务拆分模块502,用于将所述ddl任务拆分为多个子任务;
148.调度信息创建模块503,用于创建每个子任务的调度信息,所述调度信息包括执行状态信息,初始的执行状态信息为未执行,以使得所述各节点中的至少一个执行节点根据
各子任务的调度信息确定未执行的目标子任务,以及根据执行所述目标子任务的情况,更新所述目标子任务的调度信息。
149.本技术实施例的主节点可执行本技术实施例所提供的方法,其实现原理相类似,本技术各实施例的主节点中的各模块所执行的动作是与本技术各实施例的方法中的步骤相对应的,对于主节点的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
150.本技术实施例提供了一种分布式数据库系统中的执行节点,如图6所示,该执行节点可以包括:调度信息获取模块601、子任务确定模块602、子任务执行模块603以及调度信息更新模块604,具体的
151.调度信息获取模块601,用于获取ddl任务的各子任务的调度信息,所述调度信息包括执行状态信息,初始的执行状态信息为未执行;
152.子任务确定模块602,用于根据各子任务的调度信息确定未执行的目标子任务;
153.子任务执行模块603,用于发起抢占所述目标子任务,若抢占成功则执行所述目标子任务;
154.调度信息更新模块604,用于根据执行所述目标子任务的情况,更新所述目标子任务的调度信息;
155.其中,所述子任务是分布式数据库系统中的主节点从ddl任务队列中获得待执行的ddl任务后拆分得到的,所述子任务的调度信息是所述主节点创建的。
156.本技术实施例的执行节点可执行本技术实施例所提供的方法,其实现原理相类似,本技术各实施例的执行节点中的各模块所执行的动作是与本技术各实施例的方法中的步骤相对应的,对于执行节点的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
157.本技术实施例提供了一种分布式数据库系统,包括至少一个主节点以及至少一个执行节点。
158.本技术实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现ddl任务的分布式处理方法的步骤,与相关技术相比可实现:通过从ddl任务队列中获得待执行的ddl任务;将所述ddl任务拆分为多个子任务,创建每个子任务的调度信息,调度信息包括执行状态信息,初始的执行状态信息为未执行,调度信息向分布式数据库系统中的所有节点公开,以使得各节点中的至少一个执行节点根据各子任务的调度信息,确定未执行的目标子任务,以及根据执行所述目标子任务的情况,更新所述目标子任务的调度信息,本技术可实现通过多个节点执行一个ddl任务,相比现有技术实现了去中心化的处理方式,并且解决了现有的ddl任务执行能力、灵活性和效率不足的问题。
159.在一个可选实施例中提供了一种电子设备,如图7所示,图7所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本技术实施例的限定。
160.处理器4001可以是cpu(central processing unit,中央处理器),通用处理器,
dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
161.总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
162.存储器4003可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
163.存储器4003用于存储执行本技术实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
164.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
165.本技术实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
166.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除图示或文字描述以外的顺序实施。
167.应该理解的是,虽然本技术实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本技术实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本技术实施例对此不限制。
168.以上所述仅是本技术部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的方案技术构思的前提下,采用基于本技术技术思想的其他类似实施手段,同样属于本技术实施例的保护范畴。
再多了解一些

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

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

相关文献