本发明实施例涉及数据对账技术领域,尤其涉及一种数据对账方法、装置、设备及存储介质。
背景技术:
随着互联网技术的发展,不同系统间时刻会存在大量产生交互的数据。例如,商品购买、支付或者还款时,用户账户系统与商家账户系统中的数据会交互。事件发生在两个系统之间时,交互的数据需要符合预期,判断交互的数据是否符合预期,实现的手段是对账。
现有技术中,在对不同系统进行对账时,如果出现对账异常,即会产生告警信号。例如,对账结果是对账不平时,会产生告警信号。但是,在对账数据或者系统自身出现异常情况下进行对账时会导致对账异常,并直接产生告警信号,而此时产生的告警信号是一种误报告警信号,现有技术中无法避免该误报告警信号的产生。
技术实现要素:
本发明实施例提供了一种数据对账方法、装置、设备及存储介质,可以准确发送对账结果信息,避免误报告警。
第一方面,本发明实施例提供了一种数据对账方法,该方法包括:
根据接收到的数据变更消息,从至少两个数据源中分别获取对应的对账数据;
根据所述对账数据进行对账操作;
若对账结果为对账不平,判断所述对账数据是否存在缺失;
根据所述对账数据的缺失情况,发送对账结果信息。
第二方面,本发明实施例还提供了一种数据对账装置,该装置包括:
对账数据获取模块,用于根据接收到的数据变更消息,从至少两个数据源中分别获取对应的对账数据;
对账操作执行模块,用于根据所述对账数据进行对账操作;
对账数据缺失判断模块,用于若对账结果为对账不平,判断所述对账数据是否存在缺失;
信息发送模块,用于根据所述对账数据的缺失情况,发送对账不结果消息。
第三方面,本发明实施例还提供了一种对账设备,该对账设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的一种数据对账方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的一种数据对账方法。
本发明通过根据接收到的数据变更消息,从至少两个数据源中分别获取对应的对账数据;根据对账数据进行对账操作;若对账结果为对账不平,判断对账数据是否存在缺失;根据对账数据的缺失情况,发送对账结果信息,解决了对账数据缺失导致对账结果不可靠时,产生误报告警的问题,实现了准确发送对账结果信息,避免误报告警的效果。
附图说明
图1是本发明实施例一提供的一种数据对账方法的流程图;
图2是本发明实施例二提供的一种数据对账方法的流程图;
图3是本发明实施例二提供的一种数据对账系统的数据流程图;
图4是本发明实施例二提供的一种数据对账系统的数据流程图;
图5是本发明实施例三提供的一种数据对账装置的结构示意图;
图6是本发明实施例四提供的一种对账设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的一种数据对账方法的流程图,本实施例可适用于实时对账中数据缺失时避免造成误报告警的情况,该方法可以由数据对账装置来执行,该装置可以通过软件和/或硬件的方式实现,该装置可以集成在计算机设备中,如图1所示,该方法具体包括:
步骤110、根据接收到的数据变更消息,从至少两个数据源中分别获取对应的对账数据。
其中,通常事件会发生在至少两个系统中,一个系统会对应两个数据库一个是主数据库,用于真正的业务使用;另一个是备数据库,用于将主数据库的数据进行复制存储,在主数据库出现问题时,进行使用。当数据从主数据库同步至备数据库时,会向对账设备发送数据变更消息,当对账设备接收到数据变更消息时,会从系统对应的数据源中获取对应的对账数据。本发明实施例中的数据源可以是系统对应的存储数据的备数据库。对账数据可以是事件发生时,不同系统对应的数据源中存在关联的数据。
示例的,事件是贷款还款事件,贷款对应订单系统,还款对应账单系统,订单系统和账单系统均具有主数据库和备数据库。数据源可以是贷款的订单系统和还款的账单系统分别对应的备数据库,对账数据是订单系统对应的备数据库中的贷款数据,和账单系统对应的备数据库中的还款数据。
步骤120、根据对账数据进行对账操作。
其中,对账设备会根据获取的对账数据按照预设对账规则进行对账操作,预设对账规则可以是执行对账操作的脚本。示例的,可以是订单系统对应的备数据库中的贷款数据,与账单系统对应的备数据库中的还款数据进行对账操作。
步骤130、若对账结果为对账不平,判断对账数据是否存在缺失。
其中,对账结果可以是对账平或对账不平。对账平表明对账数据符合预设对账规则,不存在问题;而对账不平表明对账数据不符合预设对账规则,存在问题,存在的问题可能是由于对账数据缺失造成的,也可能是由于对账数据本身存在问题造成的。在对账不平时,对账设备会发送对账不平告警,以使系统的管理者对系统进行调整,找出系统存在的问题。因此,由于对账数据本身存在问题造成对账不平时,发送对账不平告警是正常的。但是,由于对账数据缺失造成对账不平时,对账数据可能不存在问题,而可能是由于网络问题、数据量大等使对账数据延迟造成对账不平,不需要系统的管理者对系统进行调整,不属于需要发送对账不平告警的情况。这种情况下,发送对账不平告警会造成误报告警。
在本发明实施例的一个实施方式中,可选的,判断对账数据是否存在缺失,包括:判断从全部数据源获取到的对账数据是否满足预设对账规则;若对账数据满足预设对账规则,确定对账数据不存在缺失;若对账数据不满足预设对账规则,确定对账数据存在缺失。
其中,从预设对账规则中,可以知晓需要进行对账操作需要的对账数据,当获取的对账数据满足预设对账规则的要求时,可以判断对账数据不存在缺失;而当获取的对账数据不满足预设对账规则的要求时,例如,对账规则需要两个备数据库的数据,但仅获取到一个备数据库的数据,可以判断对账数据存在缺失。
步骤140、根据对账数据的缺失情况,发送对账结果信息。
其中,当对账数据不存在缺失时,对账设备会发送对账结果信息。例如,对账结果信息可以是对账不平以及对账不平告警。当对账数据存在缺失时,对账设备会发送对账结果信息。例如,对账结果信息可以是对账不平,对账数据存在缺失,但是不会发送对账不平告警。可以准确发送对账不平告警,避免出现由于对账数据缺失造成对账结果不可靠时,从而误报告警的情况。
本发明实施例的技术方案,通过根据接收到的数据变更消息,从至少两个数据源中分别获取对应的对账数据;根据对账数据进行对账操作;若对账结果为对账不平,判断对账数据是否存在缺失;根据对账数据的缺失情况,发送对账结果信息,解决了对账数据缺失导致对账结果不可靠时,误报告警的问题,实现了准确发送对账结果信息,准确产生告警信号,避免误报告警的效果。
实施例二
图2是本发明实施例二提供的一种数据对账方法的流程图,本实施例是对上述技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。
如图2所示,该方法具体包括:
步骤210、根据接收到的数据变更消息,从至少两个数据源中分别获取对应的对账数据。
步骤220、根据对账数据进行对账操作。
步骤230、若对账结果为对账不平,判断从全部数据源获取到的对账数据是否满足预设对账规则;若对账数据满足预设对账规则,确定对账数据不存在缺失;若对账数据不满足预设对账规则,确定对账数据存在缺失。
步骤240、若对账数据存在缺失,检查缺失的对账数据对应的数据源是否存在延迟;若缺失的对账数据对应的数据源存在延迟,将缺失的对账数据标记为延迟数据。
其中,当对账数据存在缺失时,可以检查缺失的对账数据对应的数据源是否存在延迟,若数据源存在延迟,对账数据也将存在延迟,可以将延迟的对账数据标记为延迟数据,可以便于后续再对延迟数据进行对账。也可以排除其他原因造成的对账数据缺失,例如,如果是由于数据延迟造成的对账数据缺失,可能不需要系统的管理者进行调整,但是如果是系统故障造成的对账数据缺失,可能需要及时通知系统的管理者。因此,需要进一步判断对账数据的缺失是否是由于对账数据延迟引起的,可以是对账不平告警的发送更加准确。
在本发明实施例的一个实施方式中,可选的,检查缺失的对账数据对应的数据源是否存在延迟,包括:从非缺失的对账数据对应的数据源获取对账数据的变更时间,以及从缺失的对账数据对应的数据源获取对账数据的同步时间;若变更时间在同步时间之后,确定缺失的对账数据对应的数据源存在延迟;若变更时间未在同步时间之后,确定缺失的对账数据对应的数据源不存在延迟;其中,变更时间是数据源中每条对账数据发生变更对应的时间;同步时间是数据源中所有数据进行同步备份的时间。
其中,每条数据都具有变更时间,数据的变更时间是该数据从主数据库同步到备数据库的时间。备数据库中的数据也会存在同步时间,同步时间是指在此同步时间之前的所有数据,均从主数据库同步至备数据库。
当判断缺失的对账数据对应的数据源是否存在延迟时,可以从非缺失的对账数据对应的数据源获取对账数据的变更时间,以及从缺失的对账数据对应的数据源获取对账数据的同步时间;若变更时间在同步时间之后,可以确定缺失的对账数据对应的数据源存在延迟。例如,订单系统与账单系统进行对账操作,账单系统对应的对账数据存在缺失,订单系统对应的对账数据的变更时间为5点35分,账单系统对应的备数据库的同步时间为5点30分。在订单系统数据变更时,账单系统数据应该同时变更。但,此时同步时间在变更时间之前,说明订单系统的数据变更时,账单系统的数据没有从主数据库同步至备数据库,可以确定账单系统存在延迟,从而导致账单系统对应的对账数据缺失。
若变更时间未在同步时间之后,确定缺失的对账数据对应的数据源不存在延迟。例如,订单系统与账单系统进行对账操作,账单系统对应的对账数据存在缺失,订单系统对应的对账数据的变更时间为5点35分,账单系统对应的备数据库的同步时间为5点40分。在订单系统数据变更时,账单系统数据应该同时变更。但,此时同步时间在变更时间之后,说明订单系统的数据变更时,账单系统的数据应该从主数据库同步至备数据库,不是由于账单系统存在延迟导致账单系统对应的对账数据缺失,可以确定账单系统不存在延迟,可能是由于账单系统故障造成对账数据缺失。
步骤250、以预设时间间隔,定期从延迟数据对应的数据源获取延迟数据的同步时间;若延迟数据的同步时间在变更时间之后,从延迟数据对应的数据源中获取缺失的对账数据进行对账操作。
其中,为对延迟数据进行对账操作,对账设备会以预设时间间隔,获取延迟数据的同步时间,判断延迟数据是否能够获取到。当延迟数据的同步时间在变更时间之后时,认为此时延迟数据应该从主数据库同步至备数据库,可以获取到延迟数据,即可以获取到缺失的对账数据。对账设备会从延迟数据对应的备数据库中获取缺失的对账数据,并进行对账操作,当对账不平时,发送对账不平告警。
本实施例的技术方案,通过根据接收到的数据变更消息,从至少两个数据源中分别获取对应的对账数据;根据对账数据进行对账操作;若对账结果为对账不平,判断从全部数据源获取到的对账数据是否满足预设对账规则;若对账数据满足预设对账规则,确定对账数据不存在缺失;若对账数据不满足预设对账规则,确定对账数据存在缺失;若对账数据存在缺失,检查缺失的对账数据对应的数据源是否存在延迟;若缺失的对账数据对应的数据源存在延迟,将缺失的对账数据标记为延迟数据;以预设时间间隔,定期从延迟数据对应的数据源获取延迟数据的同步时间;若延迟数据的同步时间在变更时间之后,从延迟数据对应的数据源中获取缺失的对账数据进行对账操作,解决了对账数据延迟导致对账结果不可靠时,误报告警的问题,实现了准确发送对账结果信息,准确产生告警信号,避免误报告警的效果。
图3是本发明实施例二提供的一种数据对账系统的数据流程图,如图3所示,在实时对账过程中,对账设备会获取进行对账的多个数据源的对账数据,根据获取的对账数据进行对账操作。例如,获取第一数据源的对账数据1存在,获取第二数据源的对账数据2缺失,进行实时对账,对账结果是对账不平。对账设备会检查缺失的对账数据2对应的第二数据源是否存在延迟,若第二数据源存在延迟,会将第二数据源对应的对账数据2标记为延迟数据,不发送对账不平告警,可以准确发送对账结果信息,产生告警信号,避免误报告警。
图4是本发明实施例二提供的一种数据对账系统的数据流程图,如图4所示,对于实时对账中存在延迟的对账数据,会标记为延迟数据,对于延迟数据,对账设备会定时检查其对应的数据源的同步时间,如果同步时间符合预期,即延迟的对账数据对应的数据源的同步时间在非延迟的对账数据的变更时间之后,会触发延迟数据对账,对实时对账中由于延迟导致对账结果异常的对账数据重新进行对账。如果同步时间不符合预期,会继续定时检查其对应的数据源的同步时间,直至同步时间符合预期,进行对账操作。根据对账结果发送对账结果信息,可以是对账平,也可以是对账不平,并在对账不平时发送对账不平告警。可以准确发送对账结果信息,准确产生告警信号,避免误报告警,同时对延迟的对账数据也可以再次进行对账操作,提高对账结果的准确性。
实施例三
图5是本发明实施例三提供的一种数据对账装置的结构示意图。结合图5,该装置包括:对账数据获取模块310,对账操作执行模块320,对账数据缺失判断模块330和信息发送模块340。
其中,对账数据获取模块310,用于根据接收到的数据变更消息,从至少两个数据源中分别获取对应的对账数据;
对账操作执行模块320,用于根据对账数据进行对账操作;
对账数据缺失判断模块330,用于若对账结果为对账不平,判断对账数据是否存在缺失;
信息发送模块340,用于根据对账数据的缺失情况,发送对账不结果消息。
可选的,信息发送模块340,包括:
延迟检查单元,用于若对账数据存在缺失,检查缺失的对账数据对应的数据源是否存在延迟;
延迟数据标记单元,用于若缺失的对账数据对应的数据源存在延迟,将缺失的对账数据标记为延迟数据。
可选的,延迟检查单元,包括:
时间获取子单元,用于从非缺失的对账数据对应的数据源获取对账数据的变更时间,以及从缺失的对账数据对应的数据源获取对账数据的同步时间;
延迟确定子单元,用于若变更时间在同步时间之后,确定缺失的对账数据对应的数据源存在延迟;若变更时间未在同步时间之后,确定缺失的对账数据对应的数据源不存在延迟;
其中,变更时间是数据源中每条对账数据发生变更对应的时间;同步时间是数据源中所有数据进行同步备份的时间。
可选的,对账数据缺失判断模块330,包括:
对账数据缺失判断单元,用于判断从全部数据源获取到的对账数据是否满足预设对账规则;若对账数据满足预设对账规则,确定对账数据不存在缺失;若对账数据不满足预设对账规则,确定对账数据存在缺失。
可选的,该装置,还包括:
同步时间定期获取模块,用于在若缺失的对账数据对应的数据源存在延迟,将缺失的对账数据标记为延迟数据之后,以预设时间间隔,定期从延迟数据对应的数据源获取延迟数据的同步时间;
对账操作进行模块,用于若延迟数据的同步时间在变更时间之后,从延迟数据对应的数据源中获取缺失的对账数据进行对账操作。
本发明实施例所提供的数据对账装置可执行本发明任意实施例所提供的数据对账方法,具备执行方法相应的功能模块和有益效果。
实施例四
图6是本发明实施例四提供的一种对账设备的结构示意图,如图6所示,该对账设备包括:
一个或多个处理器410,图6中以一个处理器410为例;
存储器420;
所述设备还可以包括:输入装置430和输出装置440。
所述设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器420作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种数据对账方法对应的程序指令/模块(例如,附图5所示的对账数据获取模块310,对账操作执行模块320,对账数据缺失判断模块330和信息发送模块340)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例的一种数据对账方法,即:
根据接收到的数据变更消息,从至少两个数据源中分别获取对应的对账数据;
根据所述对账数据进行对账操作;
若对账结果为对账不平,判断所述对账数据是否存在缺失;
根据所述对账数据的缺失情况,发送对账结果信息。
存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的一种数据对账方法:
根据接收到的数据变更消息,从至少两个数据源中分别获取对应的对账数据;
根据所述对账数据进行对账操作;
若对账结果为对账不平,判断所述对账数据是否存在缺失;
根据所述对账数据的缺失情况,发送对账结果信息。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。