一种大数据异地灾备的处理方法及装置与流程

文档序号:32058947发布日期:2022-11-04 22:31阅读:104来源:国知局
一种大数据异地灾备的处理方法及装置与流程

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.图1为本技术实施例提供的大数据异地灾备的处理方法的一种方法流程图;
39.图2为本技术实施例提供的大数据异地灾备的处理装置的一种结构示意图。
具体实施方式
40.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
41.在现有技术中,大规模并行分析数据库(analytical massively parallel processing,mpp)通过同步执行数据库命令实现同城灾备。
42.由于传输的数据量大和异地带宽限制的限制,通过同步执行数据库命令实现海量数据异地灾备,会造成传输数据过程中需要时间长,而且传输过程延迟高,进而使得大规模并行分析数据库传输数据的效率低。
43.例如:通常专用网络带宽为300mb/s左右,分配给异地灾备的网络带宽通常只有100mb/s左右。假设每日需要同步的大数据至少为10.2tb,而异地灾备的网络带宽只有100mb/s,此时传输大数据过程中需要的时间长,而且传输过程延迟高,可见,由于传输的数据量大和异地带宽限制的限制,使得mpp数据库传输数据的效率变得很低。
44.为了克服上述技术问题,本技术实施例提供了一种大数据异地灾备的处理方法,该方法可以由mpp数据库的节点来执行。
45.需要说明的是,本技术提供的一种大数据异地灾备的处理方法及装置可用于数据处理技术领域或金融领域。上述仅为实例,并不对本技术提供的一种大数据异地灾备的处理方法及装置的应用领域进行限定。
46.参见图1,图1为本技术实施例提供的大数据异地灾备的处理方法的一种方法流程图,该方法可以包括:
47.步骤s101:第一节点获取数据库指令请求,所述数据库指令请求包括多个数据定义指令和多个数据操作指令;
48.具体地,本技术实施例中,可以由第一节点获取数据库指令请求;其中,第一节点可以为mpp数据库中的节点。
49.需要说明的是,第一节点获取的数据库指令请求仅仅包括多个数据定义指令(data definition language,ddl)和多个数据操作指令(data manipulation language,dml),不包含数据化查询指令(data querylanguage,dql),从而减少传输的数据量,缩短
mpp数据库传输数据的时间。
50.相应地,第一节点获取数据库指令请求后,方便后续所述第一节点对所述数据库指令请求进行压缩。
51.步骤s102:所述第一节点对所述数据库指令请求进行压缩,得到压缩后的数据库指令请求。
52.本技术实施例中,通过步骤s101,获取数据库指令请求后,可以由第一节点对所述数据库指令请求进行压缩,得到压缩后的数据库指令请求。可以理解的是,第一节点通过对所述数据库指令请求进行压缩,使得传输的数据量变小,缩短mpp数据库传输数据的时间。
53.需要说明的是,本技术实施例中通过步骤s101,仅仅获取数据库指令请求中的关键信息;通过步骤s102,对数据库指令请求中的关键信息压缩,将传输的数据量大幅度变小,从而减少了带宽占用,提升大规模并行分析数据库传输数据的效率。
54.作为一种优选地实施方式,所述第一节点对所述数据库指令请求进行压缩,得到压缩后的数据库指令请求可以包括:第一节点利用无损压缩算法,对所述数据库指令请求进行压缩,得到压缩后的数据库指令请求。
55.具体地,第一节点可以利用压缩文件存档压缩算法(compressed file archive,bzip2),对所述数据库指令请求进行压缩,得到压缩后的数据库指令请求。
56.这样由于bzip2压缩算法的压缩率较高,能够将传输的数据量大幅度变小,从而减少了带宽占用,提升大规模并行分析数据库传输数据的效率。
57.步骤s103:所述第一节点采用异步传输的方式,将所述压缩后的数据库指令请求发送至第二节点,以便所述第二节点对压缩后的数据库指令请求进行处理,所述第二节点用于异地灾备。
58.具体地,本技术实施例中,第一节点可以采用异步传输的方式,将所述压缩后的数据库指令请求发送至第二节点,以便所述第二节点对压缩后的数据库指令请求进行处理;其中,所述第二节点用于异地灾备。
59.可以理解的是,第一节点通过采用异步传输的方式,从而降低数据在传输过程中的延迟,提升用户体验。
60.从上述技术方案可以看出,本技术实施例中第一节点先获取数据库指令请求;其中,所述数据库指令请求包括多个数据定义指令和多个数据操作指令;然后所述第一节点对所述数据库指令请求进行压缩,得到压缩后的数据库指令请求;最后,所述第一节点采用异步传输的方式,将所述压缩后的数据库指令请求发送至第二节点,以便所述第二节点对压缩后的数据库指令请求进行处理;其中,所述第二节点用于异地灾备。这样,通过仅获取数据库指令中的数据定义指令和数据操作指令,并进一步对数据库指令请求进行压缩,减少传输的传输量后;而后采用异步的方式进行传输,从而减少带宽占用,降低数据在传输过程中的延迟,大幅度缩短传输数据时间,达到了提升大规模并行分析数据库传输数据的效率的效果。
61.作为一种优选的实施方式,在所述第一节点获取数据库指令请求之后,所述方法可以包括:第一节点首先根据所述数据库指令请求,生成各个数据库指令对应的序列号;其中,所述序列号用于标识多个数据库指令的传输顺序;然后,第一节点将所述序列号进行压缩,得到压缩后的序列号;最后采用异步传输的方式,将所述压缩后的序列号发送至第二节
点,以便所述第二节点根据压缩后的序列号,对压缩后的数据库指令请求进行处理。
62.可以理解的是,第一节点首先根据所述数据库指令请求,生成各个数据库指令对应的序列号,该序列号是全局唯一。通过异步传输的方式,将所述压缩后的序列号发送至第二节点后,第二节点根据该序列号,对解压后的数据库指令请求进行处理,使得异地灾备的数据与生产环境的数据保持一致,提高数据抵抗各种可能安全因素的容灾能力。
63.例如,当第二节点接收到数据库指令请求后,可以根据序列号,将数据库指令请求中的多个数据库指令分配给其他节点执行,各个节点可以将执行结果返回给第二节点。
64.作为一种优选的实施方式,所述第一节点根据所述数据库指令请求,生成各个数据库指令对应的序列号包括:第一节点先获取同步锁权限;其中,所述同步锁权限用于确定对应的数据库指令请求;然后第一节点根据所述同步锁权限,确定所述同步锁权限对应的数据库指令请求;最后第一节点根据所述数据库指令请求,生成各个数据库指令对应的序列号。
65.可以理解的是,当第一节点生成各个数据库指令对应的序列号之后,可以释放该同步锁权限。
66.作为一种优选的实施方式,将所述压缩后的数据库指令请求发送至第二节点之后,所述方法可以包括:当所述数据库指令请求传输失败,则所述第一节点对所述压缩后的数据库指令请求进行重传;若重传次数超过预设最大重传次数时,第一节点将所述数据库指令请求保存在本地磁盘中。
67.需要说明的是,本技术实施例中所述数据库指令请求传输失败的原因可能是网络不可用导致连接中断,或者第二节点无响应等。当所述数据库指令请求传输失败,第一节点对所述压缩后的数据库指令请求进行重传,若重传次数超过预设最大重传次数时,第一节点将所述数据库指令请求保存在本地磁盘中。其中,预设最大重传次数为mpp数据库预先设定。
68.需要说明的是,本技术实施例中所述数据库指令请求传输失败的原因也可能是第二节点发现传输的序列号部分缺失,此时,第二节点会通知第一节点重传序列号。
69.可以理解的是,第一节点将所述数据库指令请求保存在本地磁盘中后,待生成环境与异地灾备环境重新连接后,第一节点将本地磁盘中的数据库指令请求重新发送,确保异地灾备环境的数据与生产环境的数据保持一致。
70.以上为本技术实施例提供大数据异地灾备的处理方法的一些具体实现方式,基于此,本技术还提供了对应的装置。下面将从功能模块化的角度对本技术实施例提供的装置进行介绍。
71.参见图2所示的一种大数据异地灾备的处理装置的结构举例示意图,该装置包括第一获取模块100、第一压缩模块200和第一传输模块300。
72.第一获取模块100,用于第一节点获取数据库指令请求,所述数据库指令请求包括多个数据定义指令和多个数据操作指令;
73.第一压缩模块200,用于所述第一节点对所述数据库指令请求进行压缩,得到压缩后的数据库指令请求;
74.第一传输模块300,用于所述第一节点采用异步传输的方式,将所述压缩后的数据库指令请求发送至第二节点,以便所述第二节点对压缩后的数据库指令请求进行处理,所
述第二节点用于异地灾备。
75.可选地,在所述第一节点获取数据库指令请求之后,所述装置还包括:
76.生成模块,用于第一节点根据所述数据库指令请求,生成各个数据库指令对应的序列号,所述序列号用于标识多个数据库指令的传输顺序;
77.第二压缩模块,用于第一节点将所述序列号进行压缩,得到压缩后的序列号;
78.第二传输模块,用于采用异步传输的方式,将所述压缩后的序列号发送至第二节点,以便所述第二节点根据压缩后的序列号,对压缩后的数据库指令请求进行处理。
79.可选地,所述第一压缩模块,具体用于第一节点利用无损压缩算法,对所述数据库指令请求进行压缩,得到压缩后的数据库指令请求。
80.本技术实施例还提供了一种电子设备,包括:存储器,用于存储一个或多个程序;
81.处理器;当所述一个或多个程序被所述处理器执行时,实现上述实施例中大数据异地灾备的处理方法。
82.本技术实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有程序,当所述程序被处理器执行时,实现上述实施例中大数据异地灾备的处理方法。
83.本技术实施例中第一节点先获取数据库指令请求;其中,所述数据库指令请求包括多个数据定义指令和多个数据操作指令;然后所述第一节点对所述数据库指令请求进行压缩,得到压缩后的数据库指令请求;最后,所述第一节点采用异步传输的方式,将所述压缩后的数据库指令请求发送至第二节点,以便所述第二节点对压缩后的数据库指令请求进行处理;其中,所述第二节点用于异地灾备。这样,通过仅获取数据库指令中的数据定义指令和数据操作指令,并进一步对数据库指令请求进行压缩,减少传输的传输量后;而后采用异步的方式进行传输,从而减少带宽占用,降低数据在传输过程中的延迟,大幅度缩短传输数据时间,达到了提升大规模并行分析数据库传输数据的效率的效果。
84.本技术实施例中提到的“第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
85.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
86.本领域技术人员可以理解,图所示的流程图仅是本技术的实施方式可以在其中得以实现的一个示例,本技术实施方式的适用范围不受到该流程图任何方面的限制。
87.在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
88.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
89.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
90.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1