数据同步测试方法、装置、电子设备及存储介质与流程

文档序号:31448486发布日期:2022-09-07 12:35阅读:77来源:国知局
数据同步测试方法、装置、电子设备及存储介质与流程

1.本发明涉及数据处理领域,尤其涉及一种数据同步测试方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.数据同步测试是指将数据在平台之间同步时,测试数据同步的准确性的过程,可以用于在数据更新时,其他平台的用户也能接收到同步的数据。
3.目前,大部分的数据同步测试主要通过人工对数据进行一个个测试验证,在项目周期有限的情况下,人工测试不足以完成任务且执行过程存在数据误操作风险,另外,现有的数据同步测试还需要在不同客户的业务场景下进行,比较费时费力,因此,现有的数据同步测试方法效率较低。


技术实现要素:

4.本发明提供一种数据同步测试方法、装置、电子设备及计算机可读存储介质,其主要目的在于提高数据同步测试的效率。
5.为实现上述目的,本发明提供的一种数据同步测试方法,包括:
6.获取源数据库表的主键,根据所述主键,生成所述源数据库表的mock测试数据;
7.识别所述mock测试数据的mock测试主键,根据所述mock测试主键,拼接所述源数据库表的多表测试语句,运行所述多表测试语句,得到多表测试数据;
8.通过消息队列将所述多表测试数据同步至所述源数据库表对应的目标数据库中;
9.在所述目标数据库中,识别所述多表测试数据的多表测试主键,根据所述多表测试主键,拼接所述源数据库表的多表同步语句,运行所述多表同步语句,得到多表同步数据;
10.检验所述多表测试数据与所述多表同步数据的一致性,得到所述源数据库表的数据同步结果。
11.可选地,所述根据所述主键,生成所述源数据库表的mock测试数据,包括:
12.查询所述主键对应的属性字段,识别所述属性字段的字段类型,根据所述字段类型,配置所述属性字段的测试规则;
13.根据所述测试规则,创建所述属性字段的虚拟测试数据,得到所述源数据库表的mock测试数据。
14.可选地,所述识别所述mock测试数据的mock测试主键,包括:
15.识别所述mock测试数据的数据字段,判断所述数据字段是否符合预设条件;
16.在所述数据字段符合预设条件时,标记所述数据字段作为所述mock测试主键。
17.可选地,所述根据所述mock测试主键,拼接所述源数据库表的多表测试语句,包括:
18.识别所述mock测试主键的测试字段,对所述测试字段进行dml操作,得到dml测试
字段;
19.利用预设日志监控系统记录在执行所述dml操作时所述源数据库表的dml行为记录;
20.根据所述dml测试字段和所述dml行为记录,构建所述源数据库表的多表测试语句。
21.可选地,所述通过消息队列将所述多表测试数据同步至所述源数据库表对应的目标数据库中,包括:
22.利用所述消息队列中的分类机制将所述多表测试数据进行数据分类,得到一个或多个分类测试数据;
23.响应于所述目标数据库中的数据需求,利用所述消息队列中的查询机制从所述分类测试数据中查询所述数据需求对应的目标数据;
24.利用所述消息队列中的响应机制将所述目标数据传输至所述目标数据库中。
25.可选地,所述运行所述多表测试语句,得到多表测试数据,包括:
26.配置所述多表测试语句的运行环境;
27.将所述多表测试语句转换为所述运行环境能够识别的指令序列;
28.在所述运行环境中运行所述指令序列,得到所述多表测试数据。
29.可选地,所述检验所述多表测试数据与所述多表同步数据的一致性,得到所述源数据库表的数据同步结果,包括:
30.获取所述多表测试数据的多表测试主键与所述多表同步数据的多表同步主键;
31.判断所述多表测试主键与所述多表同步主键是否一致;
32.若所述多表测试主键与所述多表同步主键一致,查询所述多表测试主键的多表测试字段与所述多表同步主键的多表同步字段是否一致;
33.若所述多表测试字段与所述多表同步字段一致,得到所述源数据库表的数据同步结果为同步成功;
34.若所述多表测试字段与所述多表同步字段不一致,得到所述源数据库表的数据同步结果为同步失败;
35.若多表测试主键与所述多表同步主键不一致,得到所述源数据库表的数据同步结果为同步失败。
36.为了解决上述问题,本发明还提供一种数据同步测试装置,所述装置包括:
37.测试数据生成模块,用于获取源数据库表的主键,根据所述主键,生成所述源数据库表的mock测试数据;
38.测试数据运行模块,用于识别所述mock测试数据的mock测试主键,根据所述mock测试主键,拼接所述源数据库表的多表测试语句,运行所述多表测试语句,得到多表测试数据;
39.测试数据同步模块,用于通过消息队列将所述多表测试数据同步至所述源数据库表对应的目标数据库中;
40.同步数据运行模块,用于在所述目标数据库中,识别所述多表测试数据的多表测试主键,根据所述多表测试主键,拼接所述源数据库表的多表同步语句,运行所述多表同步语句,得到多表同步数据;
41.同步结果检验模块,用于检验所述多表测试数据与所述多表同步数据的一致性,得到所述源数据库表的数据同步结果。
42.为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
43.至少一个处理器;以及,
44.与所述至少一个处理器通信连接的存储器;其中,
45.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以实现上述所述的数据同步测试方法。
46.为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的数据同步测试方法。
47.可以看出,本发明实施例通过根据所述主键,生成所述源数据库表的mock测试数据,以用于根据主键查询到所述主键对应的属性,生成不同属性对应的模拟测试数据,同时可以保证所述模拟测试数据在测试过程中不影响实际数据,进一步地,本发明实施例通过识别所述mock测试数据的mock测试主键,以用于根据所述mock测试主键快速定位到所述mock测试主键对应的字段,便于后续对所述字段进行编码,进一步地,本发明实施例通过根据所述mock测试主键,拼接所述源数据库表的多表测试语句,以用于将所述mock测试主键及其对应的字段通过拼接语句表示,便于将测试数据通过数据库语句转移至数据库中,进一步地,本发明实施例通过运行所述多表测试语句,得到多表测试数据,以用于通过所述多表测试语句对所述mock测试数据进行增删改操作,便于后续观察同步数据是否跟随增删的变化而变化,实现同步数据的测试,进一步地,本发明实施例通过消息队列将所述多表测试数据同步至所述源数据库表对应的目标数据库中,以用于对测试数据进行同步,便于后续通过查询同步数据获取同步数据测试结果,进一步地,本发明实施例通过在所述目标数据库中,识别所述多表测试数据的多表测试主键,以用于以多表测试主键为标记,关联多个数据表,便于后续一次性查询多表,进一步地,本发明实施例通过根据所述多表测试主键,拼接所述源数据库表的多表同步语句,以用于以所述多表测试主键为关键字,将多个数据表通过多表同步语句进行拼接,实现一次性查询多表,进一步地,本发明实施例通过运行所述多表同步语句,得到多表同步数据,以用于通过所述多表同步语句对所述多表测试数据进行查询操作,得到查询结果,实现同步数据的测试,进一步地,本发明实施例通过检验所述多表测试数据与所述多表同步数据的一致性,以用于判断在数据同步过程中是否发生数据遗漏、数据出错等,实现数据同步测试。因此,本发明实施例提出的一种数据同步测试方法、装置、电子设备及计算机可读存储介质可以提高数据同步测试的效率。
附图说明
48.图1为本发明一实施例提供的数据同步测试方法的流程示意图;
49.图2为本发明一实施例提供的数据同步测试装置的模块示意图;
50.图3为本发明一实施例提供的实现数据同步测试方法的电子设备的内部结构示意图;
51.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
52.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
53.本发明实施例提供一种数据同步测试方法。所述数据同步测试方法的执行主体包括但不限于服务端、终端等能够被配置为执行本发明实施例提供的该方法的电子设备中的至少一种。换言之,所述数据同步测试方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
54.参照图1所示,为本发明一实施例提供的数据同步测试方法的流程示意图。在本发明实施例中,所述数据同步测试方法包括以下步骤s1-s5:
55.s1、获取源数据库表的主键,根据所述主键,生成所述源数据库表的mock测试数据。
56.本发明实施例中,所述源数据库表是指在关系数据库中,一系列二维数组的集合,用来代表和储存数据对象之间的关系,由纵向的列和横向的行组成,所述源数据库表可以为存有原始信息资料即测试数据。
57.其中,所述主键是指主关键字,所述主关键字是表中的一个或多个字段,它的值用于唯一的标识表中的某一条记录。在两个表的关系中,所述主关键字用来在一个表中引用来自于另一个表中的特定记录。所述主关键字是一种唯一关键字,表定义的一部分。
58.进一步地,本发明实施例通过根据所述主键,生成所述源数据库表的mock测试数据,以用于根据主键查询到所述主键对应的属性,生成不同属性对应的模拟测试数据,同时可以保证所述模拟测试数据在测试过程中不影响实际数据。
59.其中,所述mock测试数据是指在测试过程中,对于一些不容易构造的对象,创建一个mock对象来模拟对象,所述mock对象为所述mock测试数据。
60.作为本发明的一个实施例,所述根据所述主键,生成所述源数据库表的mock测试数据,包括:查询所述主键对应的属性字段,识别所述属性字段的字段类型,根据所述字段类型,配置所述属性字段的测试规则;根据所述测试规则,创建所述属性字段的虚拟测试数据,得到所述源数据库表的mock测试数据。
61.其中,所述属性字段是指成员,表示与对象或类关联的变量,在数据库中,表的列为所述属性字段,每个属性字段包含某一专题的信息,例如主键也是属性字段的一种,当主键为学号100时,所述属性字段可以为姓名、班级、性别等。所述字段类型是指数据的类型,包括字符型、数值型、逻辑型等。所述测试规则是指所述字段需要不同的标记,例如在所述字段前增加bp-开头。
62.进一步地,本发明一可选实施例中,所述识别所述属性字段的字段类型通过识别所述属性字段是否为实数,以及实数是否属于整数实现,进一步地,本发明一可选实施例中,所述配置所述属性字段的测试规则通过在所述属性字段的开头添加英文字母实现。
63.s2、识别所述mock测试数据的mock测试主键,根据所述mock测试主键,拼接所述源数据库表的多表测试语句,运行所述多表测试语句,得到多表测试数据。
64.本发明实施例通过识别所述mock测试数据的mock测试主键,以用于根据所述mock测试主键快速定位到所述mock测试主键对应的字段,便于后续对所述字段进行编码。
65.其中,所述mock测试主键是指所述mock测试数据的主键,它表示mock测试数据的表中一个或多个字段,它用于唯一的标识表中的某一条记录。
66.作为本发明的一个实施例,所述识别所述mock测试数据的mock测试主键,包括:识别所述mock测试数据的数据字段,判断所述数据字段是否符合预设条件;在所述数据字段符合预设条件时,标记所述数据字段作为所述mock测试主键。
67.其中,所述预设条件包括所述数据字段是否符合唯一性、可靠性,所述唯一性是指,所述数据字段不出现重复情况,所述可靠性是指所述数据字段是否是机器随机产生的,若为机器随机产生,则是可靠的数据字段。
68.进一步地,本发明实施例通过根据所述mock测试主键,拼接所述源数据库表的多表测试语句,以用于将所述mock测试主键及其对应的字段通过拼接语句表示,便于将测试数据通过数据库语句转移至数据库中。
69.其中,所述多表测试语句是指插入语句、更改语句、删除语句,所述插入语句为insert语句,可以用来插入记录;所述更改语句为update语句,可以用来更改记录;所述删除语句为delete语句,可以用来删除记录。
70.作为本发明的一个实施例,所述根据所述mock测试主键,拼接所述源数据库表的多表测试语句,包括:识别所述mock测试主键的测试字段,对所述测试字段进行dml操作,得到dml测试字段;利用预设日志监控系统记录在执行所述dml操作时所述源数据库表的dml行为记录;根据所述dml测试字段和所述dml行为记录,构建所述源数据库表的多表测试语句。
71.其中,所述dml操作是指insert操作、update操作、delete操作,所述insert操作为增加测试字段,所述update操作为更改测试字段,所述delete操作为删除测试字段。所述日志监控系统是指记录mysql服务的启动、运行或停止mysql服务时出现的问题,记录所有更改数据的语句,记录建立的客户端连接和执行的语句,记录所有执行时间超过long_query_time的所有查询或不使用索引查询的系统。
72.进一步地,作为本发明的一个可选实施例,所述构建所述源数据库表的多表测试语句通过拼接规则将所述测试字段与所述dml测试字段拼接实现。
73.示例性地,所述拼接规则包括插入规则:insertdata("asset","userid=1","bankid=2"),其中参数asset是源数据库表名,userid=1、bankid=2表示新增字段的值;更改规则,updatedata("asset","assetid=10","usablemoney=88888"),参数asset是源数据库表名,assetid=10表示要修改的字段id,usablemoney=88888表示要修改的字段的值;删除规则,deletedata("asset","assetid=23"),参数asset是源数据库表名,assetid=23表示要删除的字段id。
74.进一步地,本发明实施例通过运行所述多表测试语句,得到多表测试数据,以用于通过所述多表测试语句对所述mock测试数据进行增删改操作,便于后续观察同步数据是否跟随增删的变化而变化,实现同步数据的测试。
75.作为本发明的一个实施例,所述运行所述多表测试语句,得到多表测试数据,包括:配置所述多表测试语句的运行环境;将所述多表测试语句转换为所述运行环境能够识
别的指令序列;在所述运行环境中运行所述指令序列,得到所述多表测试数据。
76.进一步地,作为本发明的一可选实施例,所述配置所述多表测试语句的运行环境通过硬件实现,进一步地,作为本发明的一可选实施例,所述将所述多表测试语句转换为所述运行环境能够识别的指令序列通过编译器实现。
77.s3、通过消息队列将所述多表测试数据同步至所述源数据库表对应的目标数据库中。
78.本发明实施例通过消息队列将所述多表测试数据同步至所述源数据库表对应的目标数据库中,以用于对测试数据进行同步,便于后续通过查询同步数据获取同步数据测试结果。
79.其中,所述消息队列可以为消息队列kafka,所述消息队列kafka是指开源的消息系统,它主要用于处理活跃的流式数据,传统的日志分析系统提供了一种离线处理日志信息的可扩展方案,但若要进行实时处理,通常会有较大延迟,kafka正是为了解决上述问题而设计的,它能够很好地离线和在线应用。
80.其中,所述目标数据库是指用来备份的数据库,即所述多表测试数据备份的数据库,可以为postgresql数据库,所述postgresql数据库支持事务、子查询、多版本并行控制系统、数据完整性检查等。
81.作为本发明的一个实施例,所述通过消息队列将所述多表测试数据同步至所述源数据库表对应的目标数据库中,包括:利用所述消息队列中的分类机制将所述多表测试数据进行数据分类,得到一个或多个分类测试数据;响应于所述目标数据库中的数据需求,利用所述消息队列中的查询机制从所述分类测试数据中查询所述数据需求对应的目标数据;利用所述消息队列中的响应机制将所述目标数据传输至所述目标数据库中。
82.其中,所述分类机制通过一组消息归纳为一个主题,而每个主题又被分成一个或多个分区,每个分区在物理上对应为一个文件夹,分区的命名规则为主题名称后接
“‑”
连接符,之后再接分区编号,分区编号从0开始,编号最大值为分区的总数实现数据分类;所述查询机制通过指令实现,例如,指令可以为#./kafka-topics.sh
‑‑
list
‑‑
zookeeper,用来查询消息队列中数据的名字;所述响应机制通过所述目标数据库向所述消息队列发送数据请求,消息队列收到数据请求之后,将分类后的数据发送给所述目标数据库实现。
83.s4、在所述目标数据库中,识别所述多表测试数据的多表测试主键,根据所述多表测试主键,拼接所述源数据库表的多表同步语句,运行所述多表同步语句,得到多表同步数据。
84.本发明实施例通过在所述目标数据库中,识别所述多表测试数据的多表测试主键,以用于以多表测试主键为标记,关联多个数据表,便于后续一次性查询多表。
85.其中,所述多表测试主键是指多表测试数据中的主关键字,所述主关键字是表中的一个或多个字段,它的值用于唯一的标识表中的某一条记录。在两个表的关系中,所述主关键字用来在一个表中引用来自于另一个表中的特定记录。所述主关键字是一种唯一关键字,表定义的一部分。
86.作为本发明的一个实施例,所述在所述目标数据库中,识别所述多表测试数据的多表测试主键,与上述识别所述mock测试数据的mock测试主键的方法一致,在此不做赘述。
87.进一步地,本发明实施例通过根据所述多表测试主键,拼接所述源数据库表的多
表同步语句,以用于以所述多表测试主键为关键字,将多个数据表通过多表同步语句进行拼接,实现一次性查询多表。
88.其中,所述多表同步语句可以为查询语句,所述查询语句为select语句。
89.作为本发明的一个实施例,所述根据所述多表测试主键,拼接所述源数据库表的多表同步语句,与根据所述mock测试主键,拼接所述源数据库表的多表测试语句的方法一致,在此不做赘述。
90.进一步地,本发明实施例通过运行所述多表同步语句,得到多表同步数据,以用于通过所述多表同步语句对所述多表测试数据进行查询操作,得到查询结果,实现同步数据的测试。
91.作为本发明的一个实施例,所述运行所述多表同步语句,得到多表同步数据,与上述运行所述多表测试语句,得到多表测试数据一致,在此不做赘述。
92.s5、检验所述多表测试数据与所述多表同步数据的一致性,得到所述源数据库表的数据同步结果。
93.本发明实施例通过检验所述多表测试数据与所述多表同步数据的一致性,以用于判断在数据同步过程中是否发生数据遗漏、数据出错等,实现数据同步测试。
94.作为本发明的一个实施例,所述检验所述多表测试数据与所述多表同步数据的一致性,得到所述源数据库表的数据同步结果,包括:获取所述多表测试数据的多表测试主键与所述多表同步数据的多表同步主键;判断所述多表测试主键与所述多表同步主键是否一致;若所述多表测试主键与所述多表同步主键一致,查询所述多表测试主键的多表测试字段与所述多表同步主键的多表同步字段是否一致;若所述多表测试字段与所述多表同步字段一致,得到所述源数据库表的数据同步结果为同步成功;若所述多表测试字段与所述多表同步字段不一致,得到所述源数据库表的数据同步结果为同步失败;若多表测试主键与所述多表同步主键不一致,得到所述源数据库表的数据同步结果为同步失败。
95.可以看出,本发明实施例通过根据所述主键,生成所述源数据库表的mock测试数据,以用于根据主键查询到所述主键对应的属性,生成不同属性对应的模拟测试数据,同时可以保证所述模拟测试数据在测试过程中不影响实际数据,进一步地,本发明实施例通过识别所述mock测试数据的mock测试主键,以用于根据所述mock测试主键快速定位到所述mock测试主键对应的字段,便于后续对所述字段进行编码,进一步地,本发明实施例通过根据所述mock测试主键,拼接所述源数据库表的多表测试语句,以用于将所述mock测试主键及其对应的字段通过拼接语句表示,便于将测试数据通过数据库语句转移至数据库中,进一步地,本发明实施例通过运行所述多表测试语句,得到多表测试数据,以用于通过所述多表测试语句对所述mock测试数据进行增删改操作,便于后续观察同步数据是否跟随增删的变化而变化,实现同步数据的测试,进一步地,本发明实施例通过消息队列将所述多表测试数据同步至所述源数据库表对应的目标数据库中,以用于对测试数据进行同步,便于后续通过查询同步数据获取同步数据测试结果,进一步地,本发明实施例通过在所述目标数据库中,识别所述多表测试数据的多表测试主键,以用于以多表测试主键为标记,关联多个数据表,便于后续一次性查询多表,进一步地,本发明实施例通过根据所述多表测试主键,拼接所述源数据库表的多表同步语句,以用于以所述多表测试主键为关键字,将多个数据表通过多表同步语句进行拼接,实现一次性查询多表,进一步地,本发明实施例通过运行所述
多表同步语句,得到多表同步数据,以用于通过所述多表同步语句对所述多表测试数据进行查询操作,得到查询结果,实现同步数据的测试,进一步地,本发明实施例通过检验所述多表测试数据与所述多表同步数据的一致性,以用于判断在数据同步过程中是否发生数据遗漏、数据出错等,实现数据同步测试。因此,本发明实施例提出的一种数据同步测试方法可以提高数据同步测试的效率。
96.如图2所示,是本发明数据同步测试装置的功能模块图。
97.本发明所述数据同步测试装置100可以安装于电子设备中。根据实现的功能,所述数据同步测试装置可以包括测试数据生成模块101、测试数据运行模块102、测试数据同步模块103、同步数据运行模块104以及同步结果检验模块105。本发明所述模块也可以称之为单元,是指一种能够被电子设备的处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
98.在本实施例中,关于各模块/单元的功能如下:
99.所述测试数据生成模块101,用于获取源数据库表的主键,根据所述主键,生成所述源数据库表的mock测试数据;
100.所述测试数据运行模块102,用于识别所述mock测试数据的mock测试主键,根据所述mock测试主键,拼接所述源数据库表的多表测试语句,运行所述多表测试语句,得到多表测试数据;
101.所述测试数据同步模块103,用于通过消息队列将所述多表测试数据同步至所述源数据库表对应的目标数据库中;
102.所述同步数据运行模块104,用于在所述目标数据库中,识别所述多表测试数据的多表测试主键,根据所述多表测试主键,拼接所述源数据库表的多表同步语句,运行所述多表同步语句,得到多表同步数据;
103.所述同步结果检验模块105,用于检验所述多表测试数据与所述多表同步数据的一致性,得到所述源数据库表的数据同步结果。
104.详细地,本发明实施例中所述数据同步测试装置100中的所述各模块在使用时采用与上述的图1中所述的数据同步测试方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
105.如图3所示,是本发明实现数据同步测试方法的电子设备1的结构示意图。
106.所述电子设备1可以包括处理器10、存储器11、通信总线12以及通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如数据同步测试程序。
107.其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备1的控制核心(control unit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行数据同步测试程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
108.所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、
移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如数据同步测试程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
109.所述通信总线12可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
110.所述通信接口13用于上述电子设备1与其他设备之间的通信,包括网络接口和员工接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备1之间建立通信连接。所述员工接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,员工接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的员工界面。
111.图3仅示出了具有部件的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
112.例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
113.应该了解,所述实施例仅为说明之用,在专利发明范围上并不受此结构的限制。
114.所述电子设备1中的所述存储器11存储的数据同步测试程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
115.获取源数据库表的主键,根据所述主键,生成所述源数据库表的mock测试数据;
116.识别所述mock测试数据的mock测试主键,根据所述mock测试主键,拼接所述源数据库表的多表测试语句,运行所述多表测试语句,得到多表测试数据;
117.通过消息队列将所述多表测试数据同步至所述源数据库表对应的目标数据库中;
118.在所述目标数据库中,识别所述多表测试数据的多表测试主键,根据所述多表测试主键,拼接所述源数据库表的多表同步语句,运行所述多表同步语句,得到多表同步数据;
119.检验所述多表测试数据与所述多表同步数据的一致性,得到所述源数据库表的数据同步结果。
120.具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
121.进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
122.本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备1的处理器所执行时,可以实现:
123.获取源数据库表的主键,根据所述主键,生成所述源数据库表的mock测试数据;
124.识别所述mock测试数据的mock测试主键,根据所述mock测试主键,拼接所述源数据库表的多表测试语句,运行所述多表测试语句,得到多表测试数据;
125.通过消息队列将所述多表测试数据同步至所述源数据库表对应的目标数据库中;
126.在所述目标数据库中,识别所述多表测试数据的多表测试主键,根据所述多表测试主键,拼接所述源数据库表的多表同步语句,运行所述多表同步语句,得到多表同步数据;
127.检验所述多表测试数据与所述多表同步数据的一致性,得到所述源数据库表的数据同步结果。
128.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
129.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
130.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
131.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
132.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
133.本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及
应用系统。
134.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
135.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1