一种数据处理方法、装置、设备及介质与流程

文档序号:29076220发布日期:2022-03-01 22:49阅读:75来源:国知局
一种数据处理方法、装置、设备及介质与流程

1.本技术涉及数据存储技术领域,具体涉及一种数据处理方法、装置、设备及介质。


背景技术:

2.数据备份是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据复制到其它存储介质的过程。目前,通常都是将数据表中的数据全部导出到dump(转储)文件,将dump文件存储在另一个存储介质中,从而实现数据备份。这种备份数据表的方式不够灵活,整个数据表的数据备份过程用时较长。


技术实现要素:

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.图1为现有数据处理系统的各个模块的交互示意图一;
49.图2为本技术实施例提供的一种数据处理方法的应用场景示意图;
50.图3为本技术实施例提供的一种数据处理方法的流程图;
51.图4为本技术实施例提供的一种数据库的结构示意图;
52.图5为本技术实施例提供的一种数据备份的流程图;
53.图6为现有数据处理系统的各个模块的交互示意图二;
54.图7为本技术实施例提供的一种数据处理装置的结构图;
55.图8为本技术实施例提供的一种电子设备的结构图。
具体实施方式
56.为使本技术的目的、技术方案和优点更加清楚明白,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅
是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以按不同于此处的顺序执行所示出或描述的步骤。
57.本技术的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本技术实施例不做限制。
58.在介绍本技术实施例所提供的数据处理方法之前,为了便于理解,首先对本技术实施例中所提到的一些概念进行简单介绍。
59.1、数据分区。
60.数据分区是一种物理数据库的设计技术,分区并不是生成新的数据表,而是将一张数据表的数据均衡存储在不同的存储介质中,实际上还是一张表。
61.2、多线程。
62.在一个程序中,独立运行的程序片段叫作线程,多线程是指多个线程并发执行,具有多线程能力的系统例如对称多处理机、多核心处理器、以及芯片级多处理或同时多线程处理器。线程的数量与这些处理器的并发性能有关,例如16核的处理器一般能运行16个线程。
63.3、游标。
64.游标是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。
65.4、哈希码(hashcode)。
66.将任意长度的输入(又叫做预映射)通过散列算法转换为固定长度的输出,该输出就是散列值,即哈希码。
67.在介绍了对本技术实施例中所涉及的概念之后,下面对本技术实施例的技术背景进行详细介绍。
68.任何数据库在长期使用过程中,都会存在安全隐患,例如软件平台故障、操作系统的设计漏洞和系统的硬件故障等问题都可能导致数据丢失或异常,从而造成巨大损失。例如,银行的资源管理系统每日都会存在大量的交易数据,系统内存储的数据会根据每日的交易申请进行更新,难免会发生交易数据错误的情况。因此需要对交易数据进行备份,获得备份表,如果发现交易数据异常,可以使用备份表及时恢复交易数据。
69.用于实现数据备份与数据恢复的系统称为数据处理系统,数据处理系统通常包括三个模块,网页(web)模块、服务(service)模块以及数据库(database,db)模块。其中,web模块用于向service模块发起请求,请求包括数据备份请求和数据恢复请求,service模块用于接收service模块发送的请求,并向db模块发送指令,指令包括数据备份指令和数据恢复指令,db模块用于接收service模块发送的指令,并执行该指令。
70.请参照图1,为现有数据处理系统的各个模块的交互示意图一,该示意图包括:
71.s101、web模块向service模块发送数据备份请求。
72.s102、service模块接收数据备份请求。
73.s103、service模块向db模块发送dump文件导出指令。
74.s104、db模块接收dump文件导出指令。
75.s105、db模块将数据源表中的数据导出到dump文件。
76.数据源表就是需要备份的数据表,将数据源表中的数据导出到dump文件,就是对数据源表中的数据进行复制,转为dump文件进行存储,从而实现数据备份。然而这种备份数据表的方式不够灵活,只能单一线程备份整个数据表,导致数据备份的效率较低,无法充分利用服务器资源。
77.鉴于此,本技术实施例提供一种数据处理方法。该方法可以由数据处理设备执行,数据处理设备可以通过终端或服务器实现,终端例如个人计算机、手机等,服务器例如实体服务或虚拟服务器等。
78.下面对该数据处理设备的应用场景示意图进行说明。请参照图2,为本技术实施例提供的数据处理方法的应用场景示意图,该应用场景包括待处理的数据表210和数据处理设备220。
79.数据处理设备220收到数据备份请求时,获取待处理的数据表210,并对该数据表210进行备份,数据处理设备220收到数据恢复请求时,读取备份的数据表210,从而恢复数据。其中,对数据表210进行备份和恢复的具体过程将在下文中进行介绍。
80.基于图2论述的应用场景,下面以图2中数据处理设备执行数据处理方法为例进行介绍。本技术实施例所有实施方式对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
81.请参照图3,为本技术实施例提供的一种数据处理方法的流程示意图。
82.s301,接收数据备份请求,获取包括多行数据的待备份数据表。
83.当有数据需要备份时,用户会发起数据备份请求,数据备份请求用于指示对待备份数据表进行备份。待备份数据表可以是任何需要进行备份的数据表,数据表是指数据的一种呈现形式,数据表可以有多种,例如excel表或mysql表。待备份数据表包括表名和多行数据,表名用于指示该数据表中的数据所涉及的业务类型,表名例如客户信息表、产品信息表等。
84.待备份数据表可以包含在数据备份请求中,数据处理设备接收到数据备份请求之后,对数据备份请求进行解析,从而获得待备份数据表。待备份数据表可以不包含在数据备份请求中,数据处理设备接收到数据备份请求之后,再单独接收待备份数据表。
85.s302,确定待备份数据表的第一标识,基于第一标识确定一级分区。
86.数据处理设备获取待备份数据表之后,可以确定待备份数据表的第一标识,第一标识用于指示备份该待备份数据表的一级分区,第一标识可以包括备份日期,备份日期用于指示执行数据备份操作的具体日期,第一标识例如为“备份日期”。第一标识也可以包括备份日期和业务信息,业务信息表示与数据表的业务类型有关的信息,业务信息例如机构号、产品类型,第一标识例如为“机构号+备份日期”或者“产品类型+备份日期”。进而数据处理设备确定待备份数据表的第一标识之后,可以基于第一标识确定用于备份该待备份数据
表的一级分区。
87.本技术实施例中,第一标识可以用备份日期和业务信息表示,换言之,可以按照具体业务需求设置第一标识的字段,实现多字段的一级分区,将数据表按业务需求进行备份。
88.其中涉及到如何确定备份该数据表的第一标识,方式有多种,下面分别示例进行介绍。
89.第一种方式,根据待备份数据表的数据量确定第一标识。
90.由于不同数据表的数据量不同,所需要的分区容量不同,本技术实施例中,数据处理设备获取待备份数据表之后,可以确定待备份数据表的数据量的大小,根据预存的多个数据量区间与多个标识的对应关系,将待备份数据表的数据量对应的标识,确定为待备份数据表的第一标识。
91.例如,数据处理设备预存的备份配置表包括多个数据量区间与多个标识的对应关系,具体例如区间1(0-10mb)对应标识1(20210615),区间2(10mb-20mb)对应标识2(20210616)。通过select语句执行查询命令,得到待备份数据表的数据量为9.9mb,则确定待备份数据表的第一标识为20210615,第一标识又可以称为分区键参数。
92.第二种方式,根据待备份数据表的业务类型确定第一标识。
93.由于不同的数据表涉及的业务类型不同,本技术实施例中,数据处理设备可以从待备份数据表的表名中提取出业务类型,根据预存的多个业务类型与多个标识的对应关系,将表名中的业务类型对应的标识,确定为待备份数据表的第一标识。
94.例如,数据处理设备预存的备份配置表包括多个业务类型与多个标识的对应关系。具体例如业务类型1(产品信息)对应标识1(20210615),业务类型2(客户信息)对应标识2(20210616)。若待备份数据表的表名为产品信息表,则确定待备份数据表的第一标识为20210615。
95.在一种可能的实施例中,数据处理设备可以根据第一标识中的备份日期,确定是否立即对待备份数据表执行备份。若当前日期就是备份日期,则数据处理设备可以继续执行s303,若当前日期还未到备份日期,则数据处理设备不执行s303,等到与备份日期相同的日子,再执行s303。例如备份日期为20210615,即2021年6月15日,当前日期为2021年6月14日,暂时不对该数据表进行备份,等到2020年6月15日,再对该数据表进行备份。
96.s303,根据预存的第一参数和多行数据中每一行数据的哈希码,确定每一行数据的第二标识。
97.数据处理设备基于第一标识确定一级分区之后,可以将一级分区划分为多个二级分区,使待备份数据表的多行数据可以备份至不同的二级分区,备份方式更加灵活。
98.具体的,数据处理设备可以根据第一参数确定需要划分的二级分区的数量,基于需要划分的二级分区的数量,将一级分区划分为多个二级分区。其中,第一参数是根据数据处理设备中的多核处理器的并发性能确定的。例如,数据处理设备预存的备份配置表还包括第一参数,又可以称为并发参数(subptkey),若多核处理器为8核,则subptkey=8,若多核处理器为16核,则subptkey=16。二级分区的数量可以等于第一参数的值,例如subptkey=16,二级分区的数量为16。二级分区的数量也可以小于第一参数的值,例如二级分区的数量为第一参数的值的一半,具体例如subptkey=16,二级分区的数量为8。
99.数据处理设备将一级分区划分为多个二级分区之后,可以根据预存的第一参数和
多行数据中每一行数据的哈希码确定每一行数据的第二标识,第二标识用于指示备份每一行数据的二级分区。
100.具体的,数据处理设备可以使用预设的哈希算法,计算获得多行数据中每一行数据的哈希码,以预存的第一参数为除数,将多行数据中每一行数据的哈希码进行取余处理后的值,也就是每一行数据的哈希码除以第一参数的余数,确定为每一行数据的第二标识,第一参数的含义参照前文论述的内容,此处不再赘述。
101.例如,第一行数据的哈希码为100001,subptkey=16,100001/16=625
……
1,余数为1,则1就是第一行数据的第二标识,以16为除数得到的余数可能是0、1、2、
……
、15,因此第二标识可能是0、1、2、
……
、15中的任一数值。
102.s2304,同时启动多个线程,基于每一行数据的第二标识,分别将每一行数据备份至一级分区中对应的二级分区中。
103.数据处理设备确定第一标识和第二标识之后,可以同时启动多个线程,基于每一行数据的第二标识,分别将每一行数据备份至一级分区中对应的二级分区中,也就是将每一行数据复制后,保存在第二标识对应的二级分区中。
104.其中,多个线程的数量是根据二级分区的数量确定的,为了最快速度地将多行数据分别备份至多个二级分区,多个线程的数量可以等于二级分区的数量,例如二级分区的数量为16,启动16个线程。考虑到启动的线程数量太多,导致系统的性能开销较大,可能发生内存溢出、cpu使用率超负荷等问题,因此,多个线程的数量也可以小于二级分区的数量,例如多个线程的数量为二级分区的数量的一半。
105.当多个线程的数量小于二级分区的数量时,可以将待备份数据表中的部分数据分别备份至对应的部分二级分区中,部分二级分区的数量与多个线程的数量相同,待多个线程执行完成后,再同时启动多个线程,将待备份数据表中的剩余数据分别备份至对应的剩余二级分区中,直至待备份数据表中的多行数据全部备份至一级分区的多个二级分区中,剩余数据是指待备份数据表中除了部分数据之外的数据,剩余二级分区是指一级分区的多个二级分区中除了部分二级分区之外的二级分区。
106.例如二级分区的数量为16,启动了8个线程,按照第二标识的大小顺序,先将待备份数据表中的第一数据备份至对应的前8个二级分区,待8个线程执行完成后,再同时启动8个线程,将待备份数据表中的剩余数据分别备份至对应的后8个二级分区中。
107.在一种可能的实施例中,各个线程可以根据预存的游标值,一次读取待备份数据表中的一行或多行数据,再分别将每一行数据备份至一级分区中对应的二级分区中,例如数据处理设备预存的备份配置表还包括游标值,游标值为1,则每次读取一行数据,若游标值为n,每次读取n行数据。
108.应当说明的是,s301-s304是对一张待备份数据表进行备份的过程,经过多次执行s301-s304,可以将多张待备份数据表分别备份至不同一级分区中的多个二级分区中。
109.本技术实施例中的一级分区和二级分区实际上是指对数据库进行分区,请参照图4,为本技术实施例提供的一种数据库的结构示意图。该数据库400包括多个一级分区401,每个一级分区有16个二级分区402,20210615和20210620分别为其中两个一级分区401的第一标识,subptkey_0和subptkey_15分别为其中两个二级分区402的第二标识。
110.在一种可能的实施例中,若当前日期与第一标识中的备份日期的差值为预存的第
三参数的整数倍,则数据处理设备可以对待备份数据表再次执行数据备份的过程,即执行s301-s304。
111.其中,第三参数用于指示该待备份数据表的备份周期,例如数据处理设备预存的备份配置表还包括第三参数,又可以称为备份策略参数,备份策略参数例如为按月备份,则每隔一月对待备份数据表进行一次数据备份。备份策略参数例如为按周备份,则每隔一周对待备份数据表进行一次数据备份。备份配置表可以仅有一个第三参数,即所有待备份数据表的备份周期相同。备份配置表可以有多个第三参数,即不同待备份数据表的备份周期不同,例如备份配置表除了包括多个业务类型和多个标识的对应关系,还包括与每个标识关联的第三参数。
112.对多张待备份数据表进行备份之后,部分数据随着时间可能会逐渐失效,在一种可能的实施例中,数据处理设备可以在满足预设条件时,检测是否存在过期分区,并对过期分区进行清理和回收,回收的分区可以用于其他数据表的数据备份。
113.其中,过期分区是指备份日期与当前日期之间的差值大于或等于第二参数的分区,第二参数用于指示一级分区的保留日期。例如,数据处理设备预存的备份配置表还包括第二参数,又可以称为备份保留策略参数,备份保留策略参数例如为保留1天、保留1周、保留1月等。备份配置表可以仅有一个第二参数,即所有一级分区的保留日期相同。备份配置表可以有多个第二参数,即不同一级分区的保留日期不同,例如备份配置表除了包括多个业务类型和多个标识的对应关系,还包括与每个标识关联的第二参数。
114.其中预设条件有多种情况,下面分别示例进行介绍。
115.情况一、预设条件为每天。
116.数据处理设备可以每天检测当前日期与任一备份日期之间的差值是否等于预存的第二参数,若差值等于第二参数,则确定该任一备份日期对应的一级分区为过期分区,删除该任一备份日期对应的一级分区中的数据。
117.例如,第二参数为1周即7天,备份日期为8月1日,若当前日期为8月8日,则确定8月1日对应的一级分区为过期分区,使用alter语句对过期分区进行清理。
118.本技术实施例中,每日及时检测是否存在过期分区,以实现对过期分区的及时清理,保证数据库中不存在过期分区。
119.情况二、预设条件为接收到数据备份请求之后。
120.数据处理设备可以在接收到数据备份请求之后,检测当前日期与任一备份日期之间的差值是否大于或等于预存的第二参数,若差值大于或等于第二参数,则确定该任一备份日期对应的一级分区为过期分区,删除该任一备份日期对应的一级分区中的数据。
121.例如,第二参数为1周即7天,备份日期为8月1日,若当前日期为8月8日或8月9日,则确定8月1日对应的一级分区为过期分区,使用alter语句对过期分区进行清理。
122.本技术实施例中,在接收到数据备份请求之后,在对待备份数据表进行备份之前,检测是否存在过期分区,不用每天检测过期分区,相对减少数据处理设备的处理量,从而减少设备功耗,提升设备性能。
123.为了更加清楚地说明数据备份的过程,请参照图5,为本技术实施例提供的一种数据备份的流程图。
124.s501、接收数据备份请求。
125.s502、从备份配置表中读取参数。
126.备份配置表包括第一参数、第二参数、第三参数、多个业务类型与多个标识的对应关系等各种参数,各种参数的含义请参照前文论述的内容,此处不再赘述。
127.s503、确定是否存在过期分区。
128.若当前日期与任一备份日期之间的差值大于或等于预存的第二参数,则数据处理设备确定该任一备份日期对应的一级分区为过期分区,继续执行s504,即执行数据清理和分区回收。
129.若当前日期与任一备份日期之间的差值均小于预存的第二参数,则确定不存在过期分区,直接执行s505,即确定当前日期与备份日期是否相同。
130.s504、执行数据清理和分区回收。
131.数据处理设备删除过期分区中的所有数据,回收该过期分区。
132.s505、确定当前日期与备份日期是否相同。
133.若当前日期与第一标识中的备份日期相同,说明今日需要对待备份数据表进行数据备份,则继续执行s506,即扩展分区。其中,如何确定第一标识的过程请参照前文论述的内容,此处不再赘述。若当前日期与第一标识中的备份日期不同,说明今日不需要对待备份数据表进行数据备份,则结束数据备份的过程。
134.s506、扩展分区。
135.数据处理设备将一级分区划分为多个二级分区,其中,如何划分第二分区的过程请参照前文论述的内容,此处不再赘述。
136.s507、并发执行数据备份。
137.数据处理设备启动多个线程,并发执行对待备份数据表的数据备份,其中,如何并发执行数据备份的过程请参照前文论述的内容,此处不再赘述。
138.应当说明的是,s504、s506、s507是可选的步骤,若确定不存在过期分区,则不执行s504,若确定当前日期与第一标识中的备份日期不同,则不执行s506和s507。
139.请参照图6,为现有数据处理系统的各个模块的交互示意图二,该示意图包括:
140.s601、web模块向service模块发送数据恢复请求。
141.s602、service模块接收数据恢复请求。
142.s603、service模块对数据源表进行清理,向db模块发送dump文件导入指令。
143.s604、db模块接收dump文件导入指令。
144.s605、db模块将目标dump文件导入数据源表。
145.数据恢复请求包括需要恢复的数据源表,当数据源表中的数据异常时,需要清理该数据源表,即删除数据源表中的所有数据,再将之前备份的目标dump文件导入数据源表中,从而实现数据恢复。考虑到现有技术中单一线程执行数据恢复的效率较低,在一种可能的实施例中,数据处理设备可以同时启动多个线程,并发执行多个二级分区的数据恢复,从而提高数据恢复的效率。
146.具体的,数据处理设备可以接收恢复目标数据的第一请求,目标数据为请求恢复的数据,第一请求包括目标数据对应的第一备份日期。进一步,数据处理设备同时启动多个线程,分别读取第一备份日期对应的一级分区中的多个二级分区中的数据,将读取的数据作为目标数据。其中,多个线程的含义请参照前文论述的内容,此处不再赘述。
147.例如,财务表的数据出现异常时,用户可以发起恢复财务表的请求,该请求中包括之前备份财务表时对应的备份日期20210615。确定备份日期20210615对应的一级分区后,根据备份配置表中的第一参数即subptkey=16,确定二级分区的数量为16个,同时启动16个线程,二级分区查询条件分别为:0、1、2、
……
、15,各线程根据各个查询条件分别读取每个二级分区的数据,从而获得整个财务表的数据,完成数据恢复。
148.在一种可能的实施例中,各个线程可以根据预存的游标值,一次读取每个二级分区中的一行或多行数据,游标值的含义请参照前文论述的内容,此处不再赘述。
149.作为一个示例,图3实施例中的待备份数据表以图2中的待处理的数据表210为例、数据处理设备以图2中的数据处理设备220为例。
150.基于同一发明构思,本技术实施例提供一种数据处理装置,该装置设置于前文论述的数据处理设备中,请参照图7,该装置包括:
151.接收模块701,用于接收数据备份请求,获取包括多行数据的待备份数据表;
152.确定模块702,用于确定待备份数据表的第一标识,基于第一标识确定一级分区;
153.确定模块702,还用于根据预存的第一参数和多行数据中每一行数据的哈希码,确定每一行数据的第二标识;
154.备份模块703,用于同时启动多个线程,基于每一行数据的第二标识,分别将每一行数据备份至一级分区中对应的二级分区中,其中,多个线程的数量是根据二级分区的数量确定的。
155.在一种可能的实施例中,确定模块702具体用于以预存的第一参数为除数,将多行数据中每一行数据的哈希码进行取余处理后的值,确定为每一行数据的第二标识。
156.在一种可能的实施例中,该装置还包括划分模块704,划分模块704用于:
157.在基于第一标识确定一级分区之后,根据第一参数确定需要划分的二级分区的数量;
158.基于需要划分的二级分区的数量,将一级分区划分为多个二级分区。
159.在一种可能的实施例中,待备份数据表还包括表名,确定模块702具体用于根据预存的多个业务类型与多个标识的对应关系,将表名中的业务类型对应的标识,确定为待备份数据表的第一标识,第一标识包括备份日期。
160.在一种可能的实施例中,该装置还包括删除模块705,删除模块705用于:
161.在基于每一行数据的第二标识,将每一行数据备份至一级分区中对应的二级分区中之后,检测当前日期与任一备份日期之间的差值是否大于或等于预存的第二参数;
162.若差值大于或等于预存的第二参数,则删除任一备份日期对应的一级分区中的数据。
163.在一种可能的实施例中,该装置还包括恢复模块706;
164.接收模块701还用于在同时启动多个线程,基于每一行数据的第二标识,分别将每一行数据备份至一级分区中对应的二级分区中之后,接收恢复目标数据的第一请求,第一请求包括目标数据对应的第一备份日期;
165.恢复模块706用于同时启动多个线程,分别读取第一备份日期对应的一级分区中的多个二级分区中的数据,将读取的数据作为目标数据。
166.作为一种实施例,图7论述的装置可以实现前文论述任一的数据处理方法,此处不
再赘述。
167.基于同一发明构思,本技术实施例提供一种电子设备,该设备可以实现前文论述的数据处理设备的功能,请参照图8,该设备包括处理器801和存储器802。
168.存储器802,用于存储程序指令;
169.处理器801,用于调用所述存储器802中存储的程序指令,按照获得的程序指令执行前文论述任一的数据处理方法。由于上述电子设备解决问题的原理与数据处理方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
170.处理器801可以是一个中央处理单元(central processing unit,cpu),或者为数字处理单元、或为图像处理器等中的一种或多种组合。存储器802可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器802也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)、或者存储器802是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器802可以是上述存储器的组合。
171.作为一种实施例,图8中的处理器801可以实现前文论述任一的数据处理方法,处理器801还可以实现前文图7论述的数据处理装置的功能。
172.基于同一发明构思,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被计算机执行时,使计算机执行如前文论述任一的数据处理方法。由于上述计算机可读存储介质解决问题的原理与数据处理方法相似,因此上述计算机可读存储介质的实施可以参见方法的实施,重复之处不再赘述。
173.基于同一发明构思,本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行如前文论述任一的数据处理方法。由于上述计算机程序产品解决问题的原理与数据处理方法相似,因此上述计算机程序产品的实施可以参见方法的实施,重复之处不再赘述。
174.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
175.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
176.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
177.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
178.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1