本技术涉及数据处理,尤其涉及一种业务系统的校验方法及装置。
背景技术:
1、保障业务系统的各个业务节点上的数据一致是业务系统的基本要求。然而,随着业务系统的吞吐量的增大,保障各个业务节点上的数据一致面临极大的挑战。
2、为了保障业务系统的各个业务节点上的数据一致,相关技术中的普遍做法为提取指定业务节点上的数据,并根据业务状态对业务节点上的数据进行校验,以确定业务系统中是否存在数据不一致的异常数据。然而,由于数据延迟到达、校验算法抖动等原因,对业务节点上的数据进行校验得到的异常数据中可能会存在噪音数据,进而导致业务节点上的数据的校验结果无法准确反映业务系统中是否存在异常数据。
技术实现思路
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、获取所述待验证数据队列的每秒查询率qps;
31、判断所述待验证数据队列的qps是否大于预设阈值;
32、若是,则将所述待验证数据队列中的qps限制为所述预设阈值。
33、作为本技术实施例一种可选的实施方式,在基于所述过程态数据分别对所述待验证数据队列中的各个待验证数据进行多边验证之前,所述方法还包括:
34、基于预设规则对所述待验证数据队列中的待验证数据进行过滤。
35、作为本技术实施例一种可选的实施方式,所述方法还包括:
36、在确定所述目标业务系统中存在第一异常数据的情况下,根据所述第一异常数据对应的多边验证结果,获取所述第一异常数据的类型和/或所述第一异常数据的原因;
37、输出所述第一异常数据的类型和/或所述第一异常数据的原因。
38、作为本技术实施例一种可选的实施方式,所述方法还包括:
39、在确定所述目标业务系统中存在第二异常数据的情况下,调用所述第二异常数据对应的补偿策略对所述第二异常数据进行补偿。
40、第二方面,本技术实施例提供一种业务系统的校验装置,包括:
41、获取单元,用于获取目标业务系统的过程态数据;
42、预处理单元,用于根据所述过程态数据获取所述目标业务系统的至少一个业务节点的数据流;
43、第一校验单元,用于对所述至少一个业务节点的数据流进行校验,以获取所述至少一个业务节点的数据流中的待验证数据,并将所述待验证数据添加到待验证数据队列中;
44、第二校验单元,用于基于所述过程态数据分别对所述待验证数据队列中的各个待验证数据进行多边验证,以滤除所述待验证数据队列中的噪音数据;
45、处理单元,用于基于滤除噪音数据后的所述待验证数据队列确定所述目标业务系统中是否存在异常数据。
46、作为本技术实施例一种可选的实施方式,所述预处理单元,具体用于对所述过程态数据进行预处理,以获取所述至少一个业务节点的数据流;
47、其中,所述预处理包括:数据过滤以及数据聚合中的至少一项。
48、作为本技术实施例一种可选的实施方式,所述至少一个业务节点的数据流为目标业务节点的数据流;所述第一校验单元,具体用于判断所述目标业务节点的数据流中是否存在不符合预设条件的数据;若所述目标业务节点的数据流中的第一数据不符合所述预设条件,则确定所述第一数据为所述目标业务节点的数据流中的待验证数据。
49、作为本技术实施例一种可选的实施方式,所述至少一个业务节点的数据流为目标业务节点的数据流,所述第一校验单元,具体用于获取所述目标业务节点的上游业务节点的数据和/或所述目标业务节点的下游业务节点的数据;判断所述业务节点的数据流是否存在与所述上游业务节点的数据和/或所述下游业务节点的数据不一致的数据;若所述目标业务节点的数据流中的第二数据与所述上游业务节点的数据和/或所述下游业务节点的数据不一致,则确定所述第二数据为所述目标业务节点的数据流中的待验证数据。
50、作为本技术实施例一种可选的实施方式,所述至少一个业务节点的数据流包括:第一业务节点的数据流和第二业务节点的数据流;所述第一校验单元,具体用于对所述第一业务节点的数据流中的数据和所述第二业务节点的数据流中的数据进行关联;若所述第一业务节点的数据流中的第三数据未能成功与所述第二业务节点的数据流中的数据关联,则确定所述第三数据为所述第一业务节点的数据流和所述第二业务节点的数据流中的待验证数据。
51、作为本技术实施例一种可选的实施方式,所述第一校验单元,具体用于获取第一业务节点的数据流中的待关联数据的第一时间戳;根据所述第一时间戳和预设偏移时长确定第二时间戳;根据所述第二时间戳、窗口上界以及窗口下界确定校验窗口;在所述第二业务节点的数据流的所述校验窗口中对所述待关联数据进行关联。
52、作为本技术实施例一种可选的实施方式,所述获取单元,还用于在获取所述目标业务系统的数据之后,将所述过程态数据写入预设存储引擎;
53、所述第二校验单元,还用于在基于所述过程态数据分别对所述待验证数据队列中的各个待验证数据进行多边验证之前,从所述预设存储引擎中读取所述过程态数据。
54、作为本技术实施例一种可选的实施方式,所述第二校验单元,还用于在基于所述过程态数据分别对所述待验证数据队列中的各个待验证数据进行多边验证之前,获取所述待验证数据队列的qps;判断所述待验证数据队列的qps是否大于预设阈值;若是,则将所述待验证数据队列中的qps限制为所述预设阈值。
55、作为本技术实施例一种可选的实施方式,所述第二校验单元,还用于在基于所述过程态数据分别对所述待验证数据队列中的各个待验证数据进行多边验证之前,基于预设规则对所述待验证数据队列中的待验证数据进行过滤。
56、作为本技术实施例一种可选的实施方式,所述处理单元,还用于在确定所述目标业务系统中存在第一异常数据的情况下,根据所述第一异常数据对应的多边验证结果,获取所述第一异常数据的类型和/或所述第一异常数据的原因,以及输出所述第一异常数据的类型和/或所述第一异常数据的原因。
57、作为本技术实施例一种可选的实施方式,所述处理单元,还用于在确定所述目标业务系统中存在第二异常数据的情况下,调用所述第二异常数据对应的补偿策略对所述第二异常数据进行补偿。
58、第三方面,本技术实施例提供一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序所述处理器用于在执行计算机程序时,使得所述电子设备实现上述任一实施方式所述的业务系统的校验方法。
59、第四方面,本技术实施例提供一种计算机可读存储介质,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述任一实施方式所述的业务系统的校验方法。
60、第五方面,本技术实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述任一实施方式所述的业务系统的校验方法。
61、本技术实施例提供的业务系统的校验方法首先获取目标业务系统的过程态数据,然后根据所述过程态数据获取所述目标业务系统的至少一个业务节点的数据流,并对所述至少一个业务节点的数据流进行校验,以获取所述至少一个业务节点的数据流中的待验证数据,以及将所述待验证数据添加到待验证数据队列中,再基于所述过程态数据分别对所述待验证数据队列中的各个待验证数据进行多边验证,以滤除所述待验证数据队列中的噪音数据,以及基于滤除噪音数据后的所述待验证数据队列确定所述目标业务系统中是否存在异常数据。由于本技术实施例在对至少一个业务节点的数据流进行校验获取所述至少一个业务节点的数据流中的待验证数据,并将所述至少一个业务节点中的待验证数据添加到待验证数据队列中后,会进一步基于所述目标业务系统的过程态数据分别对所述待验证数据队列中的各个待验证数据进行多边验证,以滤除所述待验证数据队列中的噪音数据,因此本技术实施例提供的业务系统的校验方法可以减少或避免待验证数据队列中的噪音数据,进而使校验结果能够更加准确的反映业务系统中是否存在异常数据。