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

应用于数据源迁移的预校验处理方法、装置、设备和介质与流程

2021-12-07 22:00:00 来源:中国专利 TAG:


1.本技术实施例涉及计算机技术领域,尤其涉及一种应用于数据源迁移的预校验处理方法、装置、设备和介质。


背景技术:

2.数据库中存储有大量业务数据,由于数据库的业务的往来,可以提供多个数据库中间件,数据库中间件可以设置目标端设备中,即,目标端设备是支持或者部分支持数据库中间件的。其中,数据库中间件也可以称为目标数据源。
3.现有技术中,可以将原始数据源迁移到目标数据源中,在迁移之前,需要人工的对原始数据源对应的结构化查询语言(structured query language,简称sql)语句进行预校验。
4.在实现本技术过程中,发明人发现现有技术中至少存在如下问题:人工校验的方式无法对各业务场景下的sql语句进行校验,进而预校验并不准确;并且,人工校验的方式,需要耗费大量的时间和人力成本,校验效率较低。


技术实现要素:

5.本技术实施例提供一种应用于数据源迁移的预校验处理方法、装置、设备和介质,用以解决无法对各业务场景下的sql语句进行校验、校验成本较高、校验效率较低的问题。
6.第一方面,本技术实施例提供一种应用于数据源迁移的预校验处理方法,所述方法应用于第一电子设备,所述方法包括:
7.获取第二电子设备发送的待迁移的原始数据源的结构化查询语言sql语句;
8.对所述sql语句进行执行处理,得到与每一目标数据源对应的sql语句统计结果;
9.根据每一所述sql语句统计结果,确定所述原始数据源的每一迁移风险值,其中,所述每一迁移风险值表征所述原始数据源迁移至每一所述目标数据源的迁移风险。
10.上述发明中的一个实施例具有如下优点或者有益效果:提供了一种自动的预校验原始数据源的方式,可以对多个业务场景下的sql语句进行校验,提高了预校验的准确性;自动校验的方式,可以较为快速的完成sql语句的校验,节约了成本,提高了校验效率。
11.或者,上述发明中的另一个实施例具有如下优点或者有益效果:第二电子设备可以基于语句获取模式获取到原始数据源的sql语句,例如基于通用日志模式或者tcp抓包模式获取到sql语句,可以针对不同的场景去获取sql语句。
12.或者,上述发明中的另一个实施例具有如下优点或者有益效果:第二电子设备或第一电子设备可以去除sql语句中的干扰信息,进而避免对后续执行sql语句造成干扰。
13.或者,上述发明中的另一个实施例具有如下优点或者有益效果:第一电子设备可以基于sql语句的语法树,生成与目标数据源对应的执行计划,然后在目标数据源中重新执行原始数据源的sql语句(即,对原始数据源的sql语句进行回放),最终得到与目标数据源对应的sql语句统计结果(即,得到一个可视化报告);第一电子设备基于sql语句统计结果,
确定原始数据源迁移至目标数据源(数据库中间件)的迁移风险值;可以自动、快速的对原始数据源进行预校验,便于用户获知目标数据源对原始数据源的支持情况、迁移风险,即,便于用户简单直观的评估迁移成本;进而基于迁移风险,确定是否将原始数据源迁移至目标数据源(数据库中间件)。
14.第二方面,本技术实施例提供一种应用于数据源迁移的预校验处理方法,所述方法应用于第二电子设备,所述方法包括:
15.获取待迁移的原始数据源的结构化查询语言sql语句;
16.将所述sql语句发送给第一电子设备,所述第一电子设备中运行有至少一个目标数据源;
17.其中,所述sql语句用于得到与每一目标数据源对应的sql语句统计结果,每一所述sql语句统计结果用于确定所述原始数据源的每一迁移风险值,所述每一迁移风险值表征所述原始数据源迁移至每一所述目标数据源的迁移风险。
18.上述发明中的一个实施例具有如下优点或者有益效果:提供了一种自动的预校验原始数据源的方式,可以对多个业务场景下的sql语句进行校验,提高了预校验的准确性;自动校验的方式,可以较为快速的完成sql语句的校验,节约了成本,提高了校验效率。
19.或者,上述发明中的另一个实施例具有如下优点或者有益效果:第二电子设备可以基于语句获取模式获取到原始数据源的sql语句,例如基于通用日志模式或者tcp抓包模式获取到sql语句,可以针对不同的场景去获取sql语句。
20.或者,上述发明中的另一个实施例具有如下优点或者有益效果:第二电子设备或第一电子设备可以去除sql语句中的干扰信息,进而避免对后续执行sql语句造成干扰。
21.或者,上述发明中的另一个实施例具有如下优点或者有益效果:第一电子设备可以基于sql语句的语法树,生成与目标数据源对应的执行计划,然后在目标数据源中重新执行原始数据源的sql语句(即,对原始数据源的sql语句进行回放),最终得到与目标数据源对应的sql语句统计结果(即,得到一个可视化报告);第一电子设备基于sql语句统计结果,确定原始数据源迁移至目标数据源(数据库中间件)的迁移风险值;可以自动、快速的对原始数据源进行预校验,便于用户获知目标数据源对原始数据源的支持情况、迁移风险,即,便于用户简单直观的评估迁移成本;进而基于迁移风险,确定是否将原始数据源迁移至目标数据源(数据库中间件)。
22.第三方面,本技术实施例提供一种应用于数据源迁移的预校验处理方法,所述方法应用于电子设备,所述电子设备中运行有至少一个目标数据源;所述方法包括:
23.获取待迁移的原始数据源的结构化查询语言sql语句;
24.对所述sql语句进行执行处理,得到与每一目标数据源对应的sql语句统计结果;
25.根据每一所述sql语句统计结果,确定所述原始数据源的每一迁移风险值,其中,所述每一迁移风险值表征所述原始数据源迁移至每一所述目标数据源的迁移风险。
26.上述发明中的一个实施例具有如下优点或者有益效果:提供了一种自动的预校验原始数据源的方式,可以对多个业务场景下的sql语句进行校验,提高了预校验的准确性;自动校验的方式,可以较为快速的完成sql语句的校验,节约了成本,提高了校验效率。
27.或者,上述发明中的另一个实施例具有如下优点或者有益效果:电子设备可以基于语句获取模式获取到原始数据源的sql语句,例如基于通用日志模式或者tcp抓包模式获
取到sql语句,可以针对不同的场景去获取sql语句。
28.或者,上述发明中的另一个实施例具有如下优点或者有益效果:电子设备或电子设备可以去除sql语句中的干扰信息,进而避免对后续执行sql语句造成干扰。
29.或者,上述发明中的另一个实施例具有如下优点或者有益效果:电子设备可以基于sql语句的语法树,生成与目标数据源对应的执行计划,然后在目标数据源中重新执行原始数据源的sql语句(即,对原始数据源的sql语句进行回放),最终得到与目标数据源对应的sql语句统计结果(即,得到一个可视化报告);电子设备基于sql语句统计结果,确定原始数据源迁移至目标数据源(数据库中间件)的迁移风险值;可以自动、快速的对原始数据源进行预校验,便于用户获知目标数据源对原始数据源的支持情况、迁移风险,即,便于用户简单直观的评估迁移成本;进而基于迁移风险,确定是否将原始数据源迁移至目标数据源(数据库中间件)。
30.第四方面,本技术实施例提供一种应用于数据源迁移的预校验处理装置,所述装置应用于第一电子设备,所述装置包括:
31.获取单元,用于获取第二电子设备发送的待迁移的原始数据源的结构化查询语言sql语句;
32.处理单元,用于对所述sql语句进行执行处理,得到与每一目标数据源对应的sql语句统计结果;
33.确定单元,用于根据每一所述sql语句统计结果,确定所述原始数据源的每一迁移风险值,其中,所述每一迁移风险值表征所述原始数据源迁移至每一所述目标数据源的迁移风险。
34.第五方面,本技术实施例提供一种应用于数据源迁移的预校验处理装置,所述装置应用于第二电子设备,所述装置包括:
35.获取单元,用于获取待迁移的原始数据源的结构化查询语言sql语句;
36.发送单元,用于将所述sql语句发送给第一电子设备,所述第一电子设备中运行有至少一个目标数据源;
37.其中,所述sql语句用于得到与每一目标数据源对应的sql语句统计结果,每一所述sql语句统计结果用于确定所述原始数据源的每一迁移风险值,所述每一迁移风险值表征所述原始数据源迁移至每一所述目标数据源的迁移风险。
38.第六方面,本技术实施例提供一种应用于数据源迁移的预校验处理装置,、所述装置应用于电子设备,所述电子设备中运行有至少一个目标数据源;所述装置包括:
39.获取单元,用于获取待迁移的原始数据源的结构化查询语言sql语句;
40.处理单元,用于对所述sql语句进行执行处理,得到与每一目标数据源对应的sql语句统计结果;
41.确定单元,用于根据每一所述sql语句统计结果,确定所述原始数据源的每一迁移风险值,其中,所述每一迁移风险值表征所述原始数据源迁移至每一所述目标数据源的迁移风险。
42.第七方面,本技术实施例提供一种第一电子设备,包括:存储器,处理器;
43.存储器;用于存储所述处理器可执行指令的存储器;
44.其中,所述处理器被配置为执行所述可执行指令,以执行第一方面提供方法。
45.第八方面,本技术实施例提供一种第二电子设备,包括:存储器,处理器;
46.存储器;用于存储所述处理器可执行指令的存储器;
47.其中,所述处理器被配置为执行所述可执行指令,以执行第二方面提供方法。
48.第九方面,本技术实施例提供一种电子设备,包括:存储器,处理器;
49.存储器;用于存储所述处理器可执行指令的存储器;
50.其中,所述处理器被配置为执行所述可执行指令,以执行第三方面提供方法。
51.第十方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面提供的方法、或者用于实现如第二方面提供的方法、或者用于实现如第三方面提供的方法。
52.第十一方面,本技术实施例提供一种程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,服务器的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得服务器执行第一方面提供的方法,或者执行第二方面提供的方法,或者执行第三方面提供的方法。
53.本技术实施例提供的应用于数据源迁移的预校验处理方法、装置、设备和介质,通过获取第二电子设备发送的待迁移的原始数据源的sql语句;对sql语句进行执行处理,得到与每一目标数据源对应的sql语句统计结果;根据每一sql语句统计结果,确定原始数据源的每一迁移风险值,其中,每一迁移风险值表征原始数据源迁移至每一目标数据源的迁移风险。在将原始数据源迁移至目标数据源(数据库中间件)之前,获取到待迁移的原始数据源的sql语句,对sql语句进行执行处理,进而得到原始数据源的迁移风险值。提供了一种自动的预校验原始数据源的方式,可以对多个业务场景下的sql语句进行校验,提高了预校验的准确性;自动校验的方式,可以较为快速的完成sql语句的校验,节约了成本,提高了校验效率。
附图说明
54.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
55.图1为本技术实施例提供的应用场景示意图;
56.图2为本技术实施例提供的一种应用于数据源迁移的预校验处理方法的流程示意图;
57.图3为本技术实施例提供的另一种应用于数据源迁移的预校验处理方法的流程示意图;
58.图4为本技术实施例提供的又一种应用于数据源迁移的预校验处理方法的流程示意图;
59.图5为本技术实施例提供的再一种应用于数据源迁移的预校验处理方法的流程示意图;
60.图6为本技术实施例提供的其他一种应用于数据源迁移的预校验处理方法的流程示意图;
61.图7为本技术实施例提供的一种应用于数据源迁移的预校验处理装置的结构示意图;
62.图8为本技术实施例提供的另一种应用于数据源迁移的预校验处理装置的结构示意图;
63.图9为本技术实施例提供的又一种应用于数据源迁移的预校验处理装置的结构示意图;
64.图10为本技术实施例提供的其他一种应用于数据源迁移的预校验处理装置的结构示意图;
65.图11是本技术实施例提供的一种电子设备的框图。
66.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
67.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
68.数据库中存储有大量业务数据,由于数据库的业务的往来,可以提供多个数据库中间件,数据库中间件可以设置目标端设备中,即,目标端设备是支持或者部分支持数据库中间件的。其中,数据库中间件也可以称为目标数据源。
69.数据库中间件的主要作用是向用户(应用开发人员)屏蔽底层处理过程所面临的问题,例如,底层多个数据库读写分离的挑战、分库分表面临的挑战;并且数据库中间件还可以隐藏底层的实现细节;从而,数据库中间件仅向用户展示数据的操作过程,即,使得用户可以像操作单库单表那样去操作数据。
70.随着数据库技术的发展,数据库中间件的种类也越来越多样;不同的数据库中间件对sql语法的支持也是各不相同的。
71.一个示例中,可以将原始数据源迁移到目标数据源中,但是由于多种不同的目标数据源(即,不同的数据库中间件)对于sql语句的支持是不同的,例如,不同的目标数据源对sql语义和语法的支持是不同的。从而,在将原始数据源迁移到目标数据源之前,需要对原始数据源对应的sql语句进行预校验。
72.从而,可以采用人工方式对原始数据源对应的sql语句进行预校验。例如,可以人工的切换数据源的方式,对原始数据源对应的sql语句的可用性进行校验;或者,再例如,通过人工写脚本的方式对原始数据源对应的sql语句进行校验。
73.然而上述校验方式中,在人工校验的方式下,需要手动的根据不同的业务场景进行手动校验,校验速度较低。并且,人工校验的方式无法对各业务场景下的sql语句进行校验,进而预校验并不准确。此外,人工校验的方式,需要耗费大量的时间和人力成本,进一步的造成了校验效率较低。
74.本技术实施例提供的应用于数据源迁移的预校验处理方法、装置、设备和介质,旨在解决现有技术的如上技术问题。
75.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述
技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
76.图1为本技术实施例提供的应用场景示意图,如图1所示,在需要将数据源从一个电子设备迁移到另一个电子设备的目标数据源中的时候,可以执行本方案的过程。
77.图2为本技术实施例提供的一种应用于数据源迁移的预校验处理方法的流程示意图,如图2所示,该方法包括:
78.101、获取第二电子设备发送的待迁移的原始数据源的sql语句。
79.示例性地,本实施例的执行主体可以是第一电子设备、或者其他可以执行本实施例的装置或设备,对此不做限制。本实施例以执行主体为第一电子设备进行介绍。
80.在第一电子设备中配置有至少一个目标数据源,其中,目标数据源可以称为数据库中间件;数据库中间件种类是繁多的,可以在第一电子设备中配置有至少一种数据库中间件。在第三电子设备中配置有原始数据源。第二电子设备可以针对第三电子设备的原始数据源,获取原始数据源的sql语句。
81.在将原始数据源迁移至目标数据源中的时候,第一电子设备可以对原始数据源对应的sql语句进行预校验处理,在本实施例中,整体的预校验处理的过程,需要第一电子设备和第二电子设备配合完成。
82.由于原始数据源存放于第三电子设备中,第二电子设备需要先从第三电子设备中获取原始数据源的sql语句。例如,第二电子设备抓取原始数据源的sql语句。
83.然后,第一电子设备将获取到的sql语句发送给第一电子设备。
84.102、对sql语句进行执行处理,得到与每一目标数据源对应的sql语句统计结果。
85.示例性地,第一电子设备在得到原始数据源的sql语句之后,对sql语句进行分析,进而对sql语句进行执行处理。一个示例中,第一电子设备针对sql语句生成可以执行sql语句的命令,然后基于目标数据源执行该命令,进而对sql语句进行执行处理。
86.在对sql语句进行执行处理之后,第一电子设备可以得到与目标数据源对应的sql语句统计结果。
87.其中,sql语句统计结果,包括以下的一种或多种:sql语句执行结果、支持程度、样本数;其中,支持程度表征sql语句是否异常;样本数为同一个sql语句的个数。
88.103、根据每一sql语句统计结果,确定原始数据源的每一迁移风险值,其中,每一迁移风险值表征原始数据源迁移至每一目标数据源的迁移风险。
89.示例性地,第一电子设备在得到sql语句统计结果之后,基于sql语句统计结果,生成与原始数据源对应的迁移风险值。
90.一个示例中,第一电子设备基于sql语句统计结果,根据sql语句统计结果与迁移风险值之间的对应关系,得到与原始数据源对应的迁移风险值。所得到的迁移风险值表征原始数据源迁移至目标数据源的迁移风险。
91.另一个示例中,sql语句统计结果与迁移风险值之间的存在线性关系,第一电子设备可以对sql语句统计结果进行线性分析,得到与原始数据源对应的迁移风险值。所得到的迁移风险值表征原始数据源迁移至目标数据源的迁移风险。
92.举例来说,在将原始数据源a迁移至目标数据源b(即,数据库中间件b)之前,第二电子设备获取到原始数据源a的sql语句,第二电子设备将原始数据源a的sql语句发生给第
一电子设备。然后,第一电子设备基于目标数据源,对原始数据源a的sql语句进行执行处理,得到与原始数据源a对应的sql语句统计结果;然后,第一电子设备基于sql语句统计结果与迁移风险值之间的对应关系,得到与原始数据源a对应的迁移风险值。在将原始数据源a迁移至目标数据源c(即,数据库中间件c)之前,也可以参照上述过程。
93.本实施例,通过获取第二电子设备发送的待迁移的原始数据源的sql语句;对sql语句进行执行处理,得到与每一目标数据源对应的sql语句统计结果;根据每一sql语句统计结果,确定原始数据源的每一迁移风险值,其中,每一迁移风险值表征原始数据源迁移至每一目标数据源的迁移风险。在将原始数据源迁移至目标数据源(数据库中间件)之前,获取到待迁移的原始数据源的sql语句,对sql语句进行执行处理,进而得到原始数据源的迁移风险值。提供了一种自动的预校验原始数据源的方式,可以对多个业务场景下的sql语句进行校验,提高了预校验的准确性;自动校验的方式,可以较为快速的完成sql语句的校验,节约了成本,提高了校验效率。
94.图3为本技术实施例提供的另一种应用于数据源迁移的预校验处理方法的流程示意图,如图3所示,该方法包括:
95.201、获取第二电子设备发送的待迁移的原始数据源的sql语句。
96.一个示例中,sql语句为在语句获取模式下获取到的。
97.一个示例中,语句获取模式为通用日志模式或者tcp抓包模式。
98.示例性地,本实施例的执行主体可以是第一电子设备、或者其他可以执行本实施例的装置或设备,对此不做限制。本实施例以执行主体为第一电子设备进行介绍。
99.在第一电子设备中配置有至少一个目标数据源,其中,目标数据源可以称为数据库中间件;数据库中间件种类是繁多的,可以在第一电子设备中配置有至少一种数据库中间件。在第三电子设备中配置有原始数据源。第二电子设备可以针对第三电子设备的原始数据源,获取原始数据源的sql语句。
100.将原始数据源迁移至目标数据源中的时候,第一电子设备可以对原始数据源对应的sql语句进行预校验处理,在本实施例中,整体的预校验处理的过程,需要第一电子设备和第二电子设备配合完成。
101.由于原始数据源存放于第三电子设备中,第二电子设备需要先从第三电子设备中获取原始数据源的sql语句。例如,第二电子设备抓取原始数据源的sql语句。
102.第二电子设备可以接收用户发起的预校验请求,该预校验请求用于指示对第三电子设备中的原始数据源的sql语句进行预校验。
103.此时,首先第二电子设备可以先对待迁移的原始数据源进行初始校验,进而确定原始数据源是否符合基本的处理要求。一个示例中,第二电子设备可以先对待迁移的原始数据源所对应的以下信息,进行初始校验:对用户信息、原始数据源的基本信息、原始数据源的负载、原始数据源的状态。其中,用户信息包括用户名和密码;原始数据源的基本信息包括数据连通性、数据库版本。
104.第二电子设备若确定原始数据源符合基本的处理要求,则确定执行后续的获取sql语句的步骤。第二电子设备若确定原始数据源不符合基本的处理要求,则确定发起提示信息,进而提示用户修改预校验请求;此时,若原始数据源不符合基本的处理要求,则第二电子设备需要根据具体的业务场景返回错误信息。举例来说,若用户名、密码错误,则第二
电子设备需要提示用户修改;若连通性异常,则第二电子设备向用户提示错服务器无法连接;若数据库负载过高,则第二电子设备箱用户提示可以更换从库进行预校验。
105.原始数据源存放于第三电子设备中,第二电子设备需要获取到原始数据源的sql语句。可以为第二电子设备提供语句获取模式,语句获取模式例如是通用日志(general log)模式或者传输控制协议(transmission control protocol,简称tcp)抓包模式。
106.第二电子设备可以选择一种语句获取模式,然后,第二电子设备采用选择的语句获取模式,获取原始数据源的sql语句。
107.一个示例中,在选择语句获取模式的时候,第二电子设备可以接收用户发起的选择指令,该选择指令指示出用户所选择的语句获取模式。即,用户决定语句获取模式。
108.另一个示例中,第二电子设备可以获取原始数据源的业务类型信息,业务类型信息例如是原始数据源的业务类型、数据连通性;然后,第二电子设备根据业务类型信息与语句获取模式之间的对应关系,确定出一种语句获取模式。或者,第二电子设备可以获取资源利用信息,资源利用信息例如是第二电子设备中的资源利用状态(例如负载状态)、或者是第三电子设备的资源利用状态;然后,第二电子设备根据资源利用信息与语句获取模式之间的对应关系,确定出一种语句获取模式。或者,第二电子设备可以对业务类型信息和资源利用信息进行综合分析,得到一种语句获取模式(例如,业务类型信息、资源利用信息、以及语句获取模式三者之间具有对应关系)。
109.举例来说,第二电子设备在确定需要快速的获取sql语句的时候,可以采用general log模式获取原始数据源的sql语句。第二电子设备可以采用general log模式快速的获取到sql语句,进而便于快速的得到sql语句的统计结果。general log模式适用于线上业务量不大,但是sql语句的复杂度较高的场景。
110.再举例来说,第二电子设备在确定第二电子设备当前的流量较大的时候,选择tcp抓包模式获取原始数据源的sql语句。第二电子设备可以采用tcp抓包模式,持续的去抓取sql语句;这一过程,对其他业务的影响很小,可以最大程度的模拟出sql语句的验证过程。tcp抓包模式适用于线上业务量大的情况,业务无法容忍开启general log模式导致的业务延时的场景。
111.一个示例中,第二电子设备在采用选择的语句获取模式获取原始数据源的sql语句的时候,第二电子设备若采用general log模式获取sql语句,先开启general log;第二电子设备已经预先设定了日志抓取时间,然后,第二电子设备根据日志抓取时间,去原始数据源中抓取日志;在日志抓取完成之后,第二电子设备关闭general log的生成,进而防止日志抓取过久导致对业务的影响。其中,第二电子设备所抓取的日志中包括原始数据源的sql语句。
112.举例来说,原始数据源是关系数据库(mysql),其中,关系数据库的general log是格式化的日志,日志中记录有多种sql类型;第二电子设备基于日志抓取时间,对日志进行分析,进而获取到sql语句,例如,获取到select、update、insert、delete、ddl相关的sql语句。
113.一个示例中,第二电子设备在采用选择的语句获取模式获取原始数据源的sql语句的时候,第二电子设备若采用tcp抓包模式获取sql语句,此时是在原始数据源的部署端(即,第三电子设备)上抓包。第二电子设备可以开启数据流的实时抓取和分析,基于tcp去
抓取数据包;然后,第二电子设备根据抓取到的数据包,生成sql语句。在这一过程中,第二电子设备保留需要的数据,并且丢弃其他不需要的数据包。
114.举例来说,原始数据源是关系数据库(mysql);第二电子设备采用tcp抓包模式,针对mysql协议包进行抓取;第二电子设备若确定抓取到的数据包不是mysql协议包,则丢弃所抓到的数据包;第二电子设备若确定抓取到的数据包是mysql协议包,则对所抓取的数据包进行解析,生成sql语句,例如,对符合要求的select、update、insert、delete、ddl等sql协议进行收集并生成sql语句。
115.第二电子设备在得到sql语句之后,第二电子设备可以先对sql语句进行格式化处理,以去除sql语句中的干扰信息。例如,干扰信息为sql语句中的注释信息;或者,干扰信息为重复的sql语句。
116.然后,第二电子设备将sql语句,传送给第一电子设备进行后续的处理。
117.202、对sql语句进行格式化处理,其中,格式化处理用于去除sql语句中的干扰信息。
118.示例性地,若第二电子设备没有对sql语句进行格式化处理,第一电子设备在接收到sql语句之后,可以先对sql语句进行格式化处理,以去除sql语句中的干扰信息。例如,干扰信息为sql语句中的注释信息;或者,干扰信息为重复的sql语句。
119.203、对sql语句进行解析处理,生成与每一目标数据源对应的执行计划,其中,执行计划表征在目标数据源中重新执行sql语句。
120.一个示例中,步骤202具体包括:对sql语句进行语法解析,生成语法树,其中,语法树用于表征sql语句的执行逻辑;根据语法树,生成与每一目标数据源对应的执行计划。
121.示例性地,第一电子设备在获取到sql语句之后,需要先对sql语句进行解析处理,例如进行语法解析处理;然后,第一电子设备基于解析结果,生成与目标数据源对应的执行计划,执行计划表征的是在目标数据源中如何执行sql语句,即,执行计划表征在目标数据源中重新执行sql语句。
122.一个示例中,第一电子设备在获取到sql语句之后,需要先对sql语句进行语法解析,生成语法树;其中,语法树是sql语句的句子结构的图形表示。可知,语法树表征的是sql语句的执行逻辑。然后,第一电子设备根据语法树,生成与目标数据源对应的执行计划。
123.204、执行每一执行计划,得到与每一目标数据源对应的sql语句统计结果。
124.示例性地,不同的目标数据源(数据库中间件)是不同种类的mysql数据库中间件,数据库中间件对sql语法的支持是有限的,从而第一电子设备需要生成执行计划,然后第一电子设备执行所生成的执行加护,进而在目标数据源中重新执行原始数据源的sql语句(即,对原始数据源的sql语句进行回放),最终得到与目标数据源对应的sql语句统计结果。
125.其中,sql语句统计结果,包括以下的一种或多种:sql语句执行结果、支持程度、样本数;其中,支持程度表征sql语句是否异常;样本数为同一个sql语句的个数。
126.针对第一电子设备中的每一目标数据源,可以基于该目标数据源重新执行原始数据源的sql语句(即,对原始数据源的sql语句进行回放),最终得到与该目标数据源对应的sql语句统计结果。
127.第一电设备执行所生成的执行计划的时候(即,在目标数据源中重新执行原始数据源的sql语句的时候),其目的是验证sql语句的支持度以及正确性。
128.205、根据每一sql语句统计结果,确定原始数据源的每一迁移风险值,其中,每一迁移风险值表征原始数据源迁移至每一目标数据源的迁移风险。
129.示例性地,本步骤可以参见图2所示的步骤103,不再赘述。
130.本实施例,在上述实施例的基础上,第二电子设备可以基于语句获取模式获取到原始数据源的sql语句,例如基于通用日志模式或者tcp抓包模式获取到sql语句,可以针对不同的场景去获取sql语句。并且,第二电子设备或第一电子设备可以去除sql语句中的干扰信息,进而避免对后续执行sql语句造成干扰。第一电子设备可以基于sql语句的语法树,生成与目标数据源对应的执行计划,然后在目标数据源中重新执行原始数据源的sql语句(即,对原始数据源的sql语句进行回放),最终得到与目标数据源对应的sql语句统计结果(即,得到一个可视化报告);第一电子设备基于sql语句统计结果,确定原始数据源迁移至目标数据源(数据库中间件)的迁移风险值;可以自动、快速的对原始数据源进行预校验,便于用户获知目标数据源对原始数据源的支持情况、迁移风险,即,便于用户简单直观的评估迁移成本;进而基于迁移风险,确定是否将原始数据源迁移至目标数据源(数据库中间件)。
131.图4为本技术实施例提供的又一种应用于数据源迁移的预校验处理方法的流程示意图,如图4所示,该方法包括:
132.301、获取待迁移的原始数据源的sql语句。
133.302、将sql语句发送给第一电子设备,第一电子设备中运行有至少一个目标数据源。
134.其中,sql语句用于得到与每一目标数据源对应的sql语句统计结果,每一sql语句统计结果用于确定原始数据源的每一迁移风险值,每一迁移风险值表征原始数据源迁移至每一目标数据源的迁移风险。
135.一个示例中,sql语句具体用于生成与每一目标数据源对应的执行计划,每一执行计划用于得到与每一目标数据源对应的sql语句统计结果。
136.一个示例中,步骤301包括:确定语句获取模式,并采用语句获取模式,获取sql语句。
137.一个示例中,确定语句获取模式,包括:响应于用户的选择指令,确定选择指令所指示的语句获取模式。
138.或者,确定语句获取模式,包括:获取业务类型信息和/或资源利用信息,并根据业务类型信息和/或资源利用信息,确定语句获取模式。
139.一个示例中,语句获取模式为通用日志模式或者tcp抓包模式。
140.一个示例中,在步骤302之前,还包括:对sql语句进行格式化处理,其中,格式化处理用于去除sql语句中的干扰信息。
141.一个示例中,sql语句统计结果,包括以下的一种或多种:sql语句执行结果、支持程度、样本数;其中,支持程度表征sql语句是否异常;样本数为同一个sql语句的个数。
142.一个示例中,在步骤301之前,还包括:获取预校验请求,并对预校验请求所指示的原始数据源进行初始校验。
143.一个示例中,初始校验包括以下的一种或多种:对用户信息的校验、对原始数据源的基本信息的校验、对原始数据源的负载的校验、对原始数据源的状态的校验。
144.示例性地,本实施例的执行主体可以为第二电子设备。
145.本实施例的方法,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
146.图5为本技术实施例提供的再一种应用于数据源迁移的预校验处理方法的流程示意图,如图5所示,该方法包括:
147.401、获取待迁移的原始数据源的sql语句。
148.示例性地,本实施例的执行主体可以是电子设备、或者其他可以执行本实施例的装置或设备,对此不做限制。本实施例以执行主体为电子设备进行介绍。
149.在电子设备中配置有至少一个目标数据源,其中,目标数据源可以称为数据库中间件;数据库中间件种类是繁多的,可以在电子设备中配置有至少一种数据库中间件。在电子设备中配置有原始数据源。电子设备可以针对电子设备的原始数据源,获取原始数据源的sql语句。
150.在将原始数据源迁移至目标数据源中的时候,电子设备可以对原始数据源对应的sql语句进行预校验处理。
151.402、对sql语句进行执行处理,得到与每一目标数据源对应的sql语句统计结果。
152.示例性地,电子设备在得到原始数据源的sql语句之后,对sql语句进行分析,进而对sql语句进行执行处理。一个示例中,电子设备针对sql语句生成可以执行sql语句的命令,然后基于目标数据源执行该命令,进而对sql语句进行执行处理。
153.在对sql语句进行执行处理之后,电子设备可以得到与目标数据源对应的sql语句统计结果。
154.其中,sql语句统计结果,包括以下的一种或多种:sql语句执行结果、支持程度、样本数;其中,支持程度表征sql语句是否异常;样本数为同一个sql语句的个数。
155.403、根据每一sql语句统计结果,确定原始数据源的每一迁移风险值,其中,每一迁移风险值表征原始数据源迁移至每一目标数据源的迁移风险。
156.示例性地,电子设备在得到sql语句统计结果之后,基于sql语句统计结果,生成与原始数据源对应的迁移风险值。
157.一个示例中,电子设备基于sql语句统计结果,根据sql语句统计结果与迁移风险值之间的对应关系,得到与原始数据源对应的迁移风险值。所得到的迁移风险值表征原始数据源迁移至目标数据源的迁移风险。
158.另一个示例中,sql语句统计结果与迁移风险值之间的存在线性关系,电子设备可以对sql语句统计结果进行线性分析,得到与原始数据源对应的迁移风险值。所得到的迁移风险值表征原始数据源迁移至目标数据源的迁移风险。
159.举例来说,在将原始数据源a迁移至目标数据源b(即,数据库中间件b)之前,电子设备获取到原始数据源a的sql语句。然后,电子设备基于目标数据源,对原始数据源a的sql语句进行执行处理,得到与原始数据源a对应的sql语句统计结果;然后,电子设备基于sql语句统计结果与迁移风险值之间的对应关系,得到与原始数据源a对应的迁移风险值。在将原始数据源a迁移至目标数据源c(即,数据库中间件c)之前,也可以参照上述过程。
160.本实施例,在将原始数据源迁移至目标数据源(数据库中间件)之前,获取到待迁移的原始数据源的sql语句,对sql语句进行执行处理,进而得到原始数据源的迁移风险值。提供了一种自动的预校验原始数据源的方式,可以对多个业务场景下的sql语句进行校验,
提高了预校验的准确性;自动校验的方式,可以较为快速的完成sql语句的校验,节约了成本,提高了校验效率。
161.图6为本技术实施例提供的其他一种应用于数据源迁移的预校验处理方法的流程示意图,如图6所示,该方法包括:
162.501、获取预校验请求,并对预校验请求所指示的原始数据源进行初始校验。
163.一个示例中,初始校验包括以下的一种或多种:对用户信息的校验、对原始数据源的基本信息的校验、对原始数据源的负载的校验、对原始数据源的状态的校验。
164.示例性地,示例性地,本实施例的执行主体可以是电子设备、或者其他可以执行本实施例的装置或设备,对此不做限制。本实施例以执行主体为电子设备进行介绍。
165.在电子设备中配置有至少一个目标数据源,其中,目标数据源可以称为数据库中间件;数据库中间件种类是繁多的,可以在电子设备中配置有至少一种数据库中间件。在电子设备中配置有原始数据源。
166.电子设备可以接收用户发起的预校验请求,该预校验请求用于指示对原始数据源的sql语句进行预校验。
167.此时,首先电子设备可以先对待迁移的原始数据源进行初始校验,进而确定原始数据源是否符合基本的处理要求。一个示例中,电子设备可以先对待迁移的原始数据源所对应的以下信息,进行初始校验:对用户信息、原始数据源的基本信息、原始数据源的负载、原始数据源的状态。其中,用户信息包括用户名和密码;原始数据源的基本信息包括数据连通性、数据库版本。
168.电子设备若确定原始数据源符合基本的处理要求,则确定执行后续的获取sql语句的步骤。电子设备若确定原始数据源不符合基本的处理要求,则确定发起提示信息,进而提示用户修改预校验请求;此时,若原始数据源不符合基本的处理要求,则电子设备需要根据具体的业务场景返回错误信息。举例来说,若用户名、密码错误,则电子设备需要提示用户修改;若连通性异常,则电子设备向用户提示错服务器无法连接;若数据库负载过高,则电子设备箱用户提示可以更换从库进行预校验。
169.502、确定语句获取模式。
170.一个示例中,步骤502具体包括:响应于用户的选择指令,确定选择指令所指示的语句获取模式。
171.或者,步骤502具体包括:获取业务类型信息和/或资源利用信息,并根据业务类型信息和/或资源利用信息,确定语句获取模式。
172.一个示例中,语句获取模式为通用日志模式或者tcp抓包模式。
173.示例性地,可以为电子设备提供语句获取模式,语句获取模式例如是通用日志模式或者tcp抓包模式。电子设备可以选择一种语句获取模式,然后,电子设备采用选择的语句获取模式,获取原始数据源的sql语句。
174.一个示例中,在选择语句获取模式的时候,电子设备可以接收用户发起的选择指令,该选择指令指示出用户所选择的语句获取模式。即,用户决定语句获取模式。
175.另一个示例中,电子设备可以获取原始数据源的业务类型信息,业务类型信息例如是原始数据源的业务类型、数据连通性;然后,电子设备根据业务类型信息与语句获取模式之间的对应关系,确定出一种语句获取模式。或者,电子设备可以获取资源利用信息,资
源利用信息例如是电子设备中的资源利用状态(例如负载状态)、或者是第三电子设备的资源利用状态;然后,电子设备根据资源利用信息与语句获取模式之间的对应关系,确定出一种语句获取模式。或者,电子设备可以对业务类型信息和资源利用信息进行综合分析,得到一种语句获取模式(例如,业务类型信息、资源利用信息、以及语句获取模式三者之间具有对应关系)。
176.举例来说,电子设备在确定需要快速的获取sql语句的时候,可以采用general log模式获取原始数据源的sql语句。电子设备可以采用general log模式快速的获取到sql语句,进而便于快速的得到sql语句的统计结果。general log模式适用于线上业务量不大,但是sql语句的复杂度较高的场景。
177.再举例来说,电子设备在确定电子设备当前的流量较大的时候,选择tcp抓包模式获取原始数据源的sql语句。电子设备可以采用tcp抓包模式,持续的去抓取sql语句;这一过程,对其他业务的影响很小,可以最大程度的模拟出sql语句的验证过程。tcp抓包模式适用于线上业务量大的情况,业务无法容忍开启general log模式导致的业务延时的场景。
178.503、采用语句获取模式,获取sql语句。
179.示例性地,电子设备基于语句获取模式,获取原始数据源的sql语句。
180.一个示例中,电子设备在采用选择的语句获取模式获取原始数据源的sql语句的时候,电子设备若采用general log模式获取sql语句,先开启general log;电子设备已经预先设定了日志抓取时间,然后,电子设备根据日志抓取时间,去原始数据源中抓取日志;在日志抓取完成之后,电子设备关闭general log的生成,进而防止日志抓取过久导致对业务的影响。其中,电子设备所抓取的日志中包括原始数据源的sql语句。
181.举例来说,原始数据源是关系数据库(mysql),其中,关系数据库的general log是格式化的日志,日志中记录有多种sql类型;电子设备基于日志抓取时间,对日志进行分析,进而获取到sql语句,例如,获取到select、update、insert、delete、ddl相关的sql语句。
182.一个示例中,电子设备在采用选择的语句获取模式获取原始数据源的sql语句的时候,电子设备若采用tcp抓包模式获取sql语句。电子设备可以开启数据流的实时抓取和分析,基于tcp去抓取数据包;然后,电子设备根据抓取到的数据包,生成sql语句。在这一过程中,电子设备保留需要的数据,并且丢弃其他不需要的数据包。
183.举例来说,原始数据源是关系数据库(mysql);电子设备采用tcp抓包模式,针对mysql协议包进行抓取;电子设备若确定抓取到的数据包不是mysql协议包,则丢弃所抓到的数据包;电子设备若确定抓取到的数据包是mysql协议包,则对所抓取的数据包进行解析,生成sql语句,例如,对符合要求的select、update、insert、delete、ddl等sql协议进行收集并生成sql语句。
184.504、对sql语句进行格式化处理,其中,格式化处理用于去除sql语句中的干扰信息。
185.示例性地,电子设备在得到sql语句之后,电子设备可以先对sql语句进行格式化处理,以去除sql语句中的干扰信息。例如,干扰信息为sql语句中的注释信息;或者,干扰信息为重复的sql语句。
186.505、对sql语句进行解析处理,生成与每一目标数据源对应的执行计划,其中,执行计划表征在目标数据源中重新执行sql语句。
187.一个示例中,步骤502具体包括:对sql语句进行语法解析,生成语法树,其中,语法树用于表征sql语句的执行逻辑;根据语法树,生成与每一目标数据源对应的执行计划。
188.示例性地,电子设备在获取到sql语句之后,需要先对sql语句进行解析处理,例如进行语法解析处理;然后,电子设备基于解析结果,生成与目标数据源对应的执行计划,执行计划表征的是在目标数据源中如何执行sql语句,即,执行计划表征在目标数据源中重新执行sql语句。
189.一个示例中,电子设备在获取到sql语句之后,需要先对sql语句进行语法解析,生成语法树;其中,语法树是sql语句的句子结构的图形表示。可知,语法树表征的是sql语句的执行逻辑。然后,电子设备根据语法树,生成与目标数据源对应的执行计划。
190.506、执行每一执行计划,得到与每一目标数据源对应的sql语句统计结果。
191.一个示例中,sql语句统计结果,包括以下的一种或多种:sql语句执行结果、支持程度、样本数;其中,支持程度表征sql语句是否异常;样本数为同一个sql语句的个数。
192.示例性地,不同的目标数据源(数据库中间件)是不同种类的mysql数据库中间件,数据库中间件对sql语法的支持是有限的,从而电子设备需要生成执行计划,然后电子设备执行所生成的执行加护,进而在目标数据源中重新执行原始数据源的sql语句(即,对原始数据源的sql语句进行回放),最终得到与目标数据源对应的sql语句统计结果。
193.其中,sql语句统计结果,包括以下的一种或多种:sql语句执行结果、支持程度、样本数;其中,支持程度表征sql语句是否异常;样本数为同一个sql语句的个数。
194.针对电子设备中的每一目标数据源,可以基于该目标数据源重新执行原始数据源的sql语句(即,对原始数据源的sql语句进行回放),最终得到与该目标数据源对应的sql语句统计结果。
195.电设备执行所生成的执行计划的时候(即,在目标数据源中重新执行原始数据源的sql语句的时候),其目的是验证sql语句的支持度以及正确性。
196.507、根据每一sql语句统计结果,确定原始数据源的每一迁移风险值,其中,每一迁移风险值表征原始数据源迁移至每一目标数据源的迁移风险。
197.示例性地,本步骤可以参见图5所示的步骤403,不再赘述。
198.本实施例,在上述实施例的基础上,电子设备可以基于语句获取模式获取到原始数据源的sql语句,例如基于通用日志模式或者tcp抓包模式获取到sql语句,可以针对不同的场景去获取sql语句。并且,电子设备或电子设备可以去除sql语句中的干扰信息,进而避免对后续执行sql语句造成干扰。电子设备可以基于sql语句的语法树,生成与目标数据源对应的执行计划,然后在目标数据源中重新执行原始数据源的sql语句(即,对原始数据源的sql语句进行回放),最终得到与目标数据源对应的sql语句统计结果(即,得到一个可视化报告);电子设备基于sql语句统计结果,确定原始数据源迁移至目标数据源(数据库中间件)的迁移风险值;可以自动、快速的对原始数据源进行预校验,便于用户获知目标数据源对原始数据源的支持情况、迁移风险,即,便于用户简单直观的评估迁移成本;进而基于迁移风险,确定是否将原始数据源迁移至目标数据源(数据库中间件)。
199.图7为本技术实施例提供的一种应用于数据源迁移的预校验处理装置的结构示意图,该装置应用于第一电子设备,如图7所示,该装置包括:
200.获取单元31,用于获取第二电子设备发送的待迁移的原始数据源的sql语句。
201.处理单元32,用于对sql语句进行执行处理,得到与每一目标数据源对应的sql语句统计结果。
202.确定单元33,用于根据每一sql语句统计结果,确定原始数据源的每一迁移风险值,其中,每一迁移风险值表征原始数据源迁移至每一目标数据源的迁移风险。
203.本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
204.图8为本技术实施例提供的另一种应用于数据源迁移的预校验处理装置的结构示意图,该装置应用于第一电子设备,在图7所示的实施例的基础上,如图8所示,处理单元32,包括:
205.解析模块321,用于对sql语句进行解析处理,生成与每一目标数据源对应的执行计划,其中,执行计划表征在目标数据源中重新执行sql语句。
206.执行模块322,用于执行每一执行计划,得到与每一目标数据源对应的sql语句统计结果。
207.一个示例中,解析模块321,具体用于:对sql语句进行语法解析,生成语法树,其中,语法树用于表征sql语句的执行逻辑;根据语法树,生成与每一目标数据源对应的执行计划。
208.一个示例中,sql语句为在语句获取模式下获取到的。
209.一个示例中,语句获取模式为通用日志模式或者tcp抓包模式。
210.一个示例中,本实例提供的装置,还包括:
211.格式化单元41,用于在处理单元32对sql语句进行执行处理之前,对sql语句进行格式化处理,其中,格式化处理用于去除sql语句中的干扰信息。
212.一个示例中,sql语句统计结果,包括以下的一种或多种:sql语句执行结果、支持程度、样本数;其中,支持程度表征sql语句是否异常;样本数为同一个sql语句的个数。
213.本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
214.图9为本技术实施例提供的又一种应用于数据源迁移的预校验处理装置的结构示意图,该装置应用于第二电子设备,如图9所示,该装置包括:
215.获取单元51,用于获取待迁移的原始数据源的sql语句。
216.发送单元52,用于将sql语句发送给第一电子设备,第一电子设备中运行有至少一个目标数据源。
217.其中,sql语句用于得到与每一目标数据源对应的sql语句统计结果,每一sql语句统计结果用于确定原始数据源的每一迁移风险值,每一迁移风险值表征原始数据源迁移至每一目标数据源的迁移风险。
218.一个示例中,sql语句具体用于生成与每一目标数据源对应的执行计划,每一执行计划用于得到与每一目标数据源对应的sql语句统计结果。
219.一个示例中,获取单元51,包括:
220.确定模块,用于确定语句获取模式。
221.获取模块,用于采用语句获取模式,获取sql语句。
222.一个示例中,确定模块,具体用于:响应于用户的选择指令,确定选择指令所指示
的语句获取模式。
223.或者,确定模块,具体用于:获取业务类型信息和/或资源利用信息,并根据业务类型信息和/或资源利用信息,确定语句获取模式。
224.一个示例中,语句获取模式为通用日志模式或者tcp抓包模式。
225.一个示例中,本实施例提供的装置,还包括:
226.格式化单元,用于在发送单元52将sql语句发送给第一电子设备之前,对sql语句进行格式化处理,其中,格式化处理用于去除sql语句中的干扰信息。
227.一个示例中,sql语句统计结果,包括以下的一种或多种:sql语句执行结果、支持程度、样本数;其中,支持程度表征sql语句是否异常;样本数为同一个sql语句的个数。
228.一个示例中,本实施例提供的装置,还包括:
229.初始校验单元,用于在获取单元51获取待迁移的原始数据源的sql语句之前,获取预校验请求,并对预校验请求所指示的原始数据源进行初始校验。
230.一个示例中,初始校验包括以下的一种或多种:对用户信息的校验、对原始数据源的基本信息的校验、对原始数据源的负载的校验、对原始数据源的状态的校验。
231.本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
232.图10为本技术实施例提供的其他一种应用于数据源迁移的预校验处理装置的结构示意图,该装置应用于电子设备,电子设备中运行有至少一个目标数据源;如图10所示,该装置包括:
233.获取单元61,用于获取待迁移的原始数据源的sql语句。
234.处理单元62,用于对sql语句进行执行处理,得到与每一目标数据源对应的sql语句统计结果。
235.确定单元63,用于根据每一sql语句统计结果,确定原始数据源的每一迁移风险值,其中,每一迁移风险值表征原始数据源迁移至每一目标数据源的迁移风险。
236.一个示例中,处理单元62,包括:
237.解析模块,用于对sql语句进行解析处理,生成与每一目标数据源对应的执行计划,其中,执行计划表征在目标数据源中重新执行sql语句。
238.执行模块,用于执行每一执行计划,得到与每一目标数据源对应的sql语句统计结果。
239.一个示例中,解析模块,具体用于:对sql语句进行语法解析,生成语法树,其中,语法树用于表征sql语句的执行逻辑;根据语法树,生成与每一目标数据源对应的执行计划。
240.一个示例中,sql语句统计结果,包括以下的一种或多种:sql语句执行结果、支持程度、样本数;其中,支持程度表征sql语句是否异常;样本数为同一个sql语句的个数。
241.一个示例中,获取单元61,包括:
242.确定模块,用于确定语句获取模式。
243.获取模块,用于采用语句获取模式,获取sql语句。
244.一个示例中,确定模块,具体用于:响应于用户的选择指令,确定选择指令所指示的语句获取模式。
245.或者,确定模块,具体用于:获取业务类型信息和/或资源利用信息,并根据业务类
型信息和/或资源利用信息,确定语句获取模式。
246.一个示例中,语句获取模式为通用日志模式或者tcp抓包模式。
247.一个示例中,本实施例提供的装置,还包括:
248.格式化单元,用于在处理单元62对sql语句进行执行处理,得到与每一目标数据源对应的sql语句统计结果之前,对sql语句进行格式化处理,其中,格式化处理用于去除sql语句中的干扰信息。
249.一个示例中,本实施例提供的装置,还包括:
250.初始校验单元,用于在获取单元61获取待迁移的原始数据源的sql语句之前,获取预校验请求,并对预校验请求所指示的原始数据源进行初始校验。
251.一个示例中,初始校验包括以下的一种或多种:对用户信息的校验、对原始数据源的基本信息的校验、对原始数据源的负载的校验、对原始数据源的状态的校验。
252.本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
253.图11是本技术实施例提供的一种电子设备的框图,该设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
254.其中,图11提供的设备可以是用于执行图2-图3提供的方法的第一电子设备。或者,图11提供的设备可以是用于执行图4提供的方法的第二电子设备。或者,图11提供的设备可以是用于执行图5-图6提供的方法的电子设备。
255.装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(i/o)接口812,传感器组件814,以及通信组件816。
256.处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
257.存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
258.电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
259.多媒体组件808包括在装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而
且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
260.音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
261.i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
262.传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
263.通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
264.在示例性实施例中,装置800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
265.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
266.本技术实施例提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由第一电子设备的处理器执行时,使得第一电子设备的处理器能够执行上述图2-图3提供的方法。
267.本技术实施例提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由第二电子设备的处理器执行时,使得第一电子设备的处理器能够执行上述图4提供的方法。
268.本技术实施例提供了一种非临时性计算机可读存储介质,当该存储介质中的指令
由电子设备的处理器执行时,使得第一电子设备的处理器能够执行上述图5-图6提供的方法。
269.本技术实施例提供了一种应用于数据源迁移的预校验处理系统,该系统包括上述实施例提供的第一电子设备和第二电子设备。
270.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
271.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献