CN108255623B - 实现线程内外双重对账机制的数据交换监控方法及装置 - Google Patents
实现线程内外双重对账机制的数据交换监控方法及装置 Download PDFInfo
- Publication number
- CN108255623B CN108255623B CN201810059890.1A CN201810059890A CN108255623B CN 108255623 B CN108255623 B CN 108255623B CN 201810059890 A CN201810059890 A CN 201810059890A CN 108255623 B CN108255623 B CN 108255623B
- Authority
- CN
- China
- Prior art keywords
- data
- exchange
- thread
- table data
- source table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了实现线程内外双重对账机制的数据交换监控方法及装置,其中方法包括:获取源数据库的源表数据;根据源表数据启动数据服务进程,数据服务进程包括多个交换线程,启动数据服务进程包括多个交换线程将源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据;根据数据服务进程启动监控线程以监控每个交换线程是否正常运行;若存在不正常运行的交换线程,控制监控线程根据预设规则监控不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果;根据比对结果控制监控线程监控不正常运行的交换线程重新启动以将传输异常的数据重新传输。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种实现线程内外双重对账机制的数据交换监控方法及装置。
背景技术
随着计算机技术的快速发展和业务的不断发展,政府、企业通过构建数据交换平台,整合现有的数据资源,为跨部门和跨单位等各业务装置之间提供可靠的数据交换与数据共享服务。建立统一的数据交换与共享服务装置旨在打破各业务部门之间的信息孤岛,满足各业务部门和单位对于信息互联互通和数据共享交换的需求,并且能够为政府、企业和社会提供全方位、实时的基础信息服务。但是,由于业务的不断改变及其数据量呈几何系数式地增长,用户的实际体验情况以及数据交换与共享服务装置的性能已经成为衡量装置是否成功的指标之一,其中,影响装置性能的因素有很多,比如现有的企业服务总线(Enterprise Service Bus,ESB)数据交换方式和传送模式。现有的ESB总线数据交换技术,采用的是同一个交换空间,当数据库进行数据交换时容易出现多线程之间抢占内存等资源的情况,即多线程并行处理容易导致进程的内存不足。当进程内存不足时,则容易导致线程锁死,当该线程锁死时,则线程无法继续传输数据了。并且由于该线程锁死后不会向数据库自动报错,用户无法得知线程内执行数据交换过程中数据的传输情况,以至于数据传输失败了或丢失了数据。现有的ESB总线数据交换技术无法得知数据交换过程中的数据传输情况,容易造成数据传输失败和数据丢失等问题。
因此,如何设计一种实现线程内外双重对账机制的数据交换监控方法以解决由于现有的ESB总线数据交换技术造成的数据传输失败和数据丢失以及无法得知数据交换过程中的数据传输情况等问题,是本领域技术人员亟待解决的技术问题。
发明内容
本发明实施例提供了一种实现线程内外双重对账机制的数据交换监控方法及装置,可在满足用户实时掌握数据交换动态情况的体验的同时,有效避免数据传输失败和丢失等情况,从而保证数据传输零丢失。
第一方面,本发明实施例提供了一种实现线程内外双重对账机制的数据交换监控方法,该方法包括:
获取源数据库的源表数据;
根据所述源表数据启动数据服务进程,所述数据服务进程包括多个交换线程,其中,所述启动数据服务进程包括所述多个交换线程将所述源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据;
根据所述数据服务进程启动监控线程以监控每个所述交换线程是否正常运行;
若存在不正常运行的交换线程,控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,所述比对结果包括数据传输总数、成功传输的数据以及传输异常的数据;
根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动以将所述传输异常的数据重新传输。
第二方面,本发明实施例提供了一种装置,该装置包括:
获取模块,所述获取模块用于获取源数据库的源表数据;
第一启动模块,所述第一启动模块用于根据所述源表数据启动数据服务进程,所述数据服务进程包括多个交换线程,其中,所述启动数据服务进程包括所述多个交换线程将所述源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据;
第二启动模块,所述第二启动模块用于根据所述数据服务进程启动监控线程以监控每个所述交换线程是否正常运行;
监控比对模块,所述监控比对模块用于若存在不正常运行的交换线程,控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,所述比对结果包括数据传输总数、成功传输的数据以及传输异常的数据;
重启模块,所述重启模块用于根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动以将所述传输异常的数据重新传输。
第三方面,本发明实施例提供了一种计算机设备,该计算机设备包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持计算机设备执行上述方法的应用程序代码,所述处理器被配置用于执行上述第一方面的方法。
第四方面,本发明实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本发明通过利用多个所述交换线程的反馈机制,在多个所述交换线程传输数据的同时,多个所述交换线程还可以向用户反馈所交换数据的当前传输情况,以满足用户实时掌握数据交换动态的需求;除了多个所述交换线程的反馈机制,还通过监控线程来监控每个所述交换线程是否正常运行,若出现某个不正常运行的交换线程,还可以控制所述监控线程根据预设规则监控所述不正常运行的交换线程所传输的目标表数据与源表数据进行一一比对以生成比对结果,且根据比对结果重启所述不正常运行的交换线程以重新传输异常传输的数据。本方案通过多个交换线程以及监控线程的双重比对机制以确保所述数据服务进程所交换传输数据的准确性和一致性,做到精准数据交换,有效避免数据传输失败和丢失等情况,从而保证数据传输零丢失。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
图1是本发明第一实施例提供的一种实现线程内外双重对账机制的数据交换监控方法的示意流程图;
图2是本发明第一实施例提供的一种实现线程内外双重对账机制的数据交换监控方法的示意子流程图;
图3是本发明第一实施例提供的一种实现线程内外双重对账机制的数据交换监控方法的另一示意子流程图;
图4是本发明第二实施例提供的一种实现线程内外双重对账机制的数据交换监控方法的示意流程图;
图5是本发明第一实施例提供的一种装置的示意性框图;
图6是本发明第一实施例提供的一种装置的第一启动模块的示意性框图;
图7是本发明第一实施例提供的一种装置的监控比对模块的示意性框图;
图8是本发明第二实施例提供的一种装置的示意性框图;
图9是本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
具体实现中,本发明实施例中描述的装置包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的智能手机、膝上型计算机、平板电脑可穿戴智能设备以及智能电子书之类的便携式装置。还应当理解的是,在某些实施例中,所述设备并非便携式通信装置,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机、数据交换控制平台/装置、数据交换控制平台/装置、大数据处理平台/装置以及数据仓库控制平台/装置。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的装置。然而,应当理解的是,装置可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
装置支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序、移动支付应用程序。
可以在装置上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及装置上显示的相应信息。这样,装置的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
请参看图1,其是本发明第一实施例提供的一种实现线程内外双重对账机制的数据交换监控方法的示意流程图,该方法可以应用在具有显示屏表面(例如,非触摸屏显示器和/或触摸屏显示器)的台式计算机、数据交换控制平台/装置、数据交换控制平台/装置、大数据处理平台/装置以及数据仓库控制平台/装置等非便捷式设备装置中以及具有显示屏的膝上型计算机或平板电脑等便携式设备装置中。如图所示,该方法可包括如下步骤S11~S15。
S11、获取源数据库的源表数据。
S12、根据所述源表数据启动数据服务进程,所述数据服务进程包括多个交换线程,其中,所述启动数据服务进程包括所述多个交换线程将所述源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据。具体地,装置从所述源数据库中读取源表数据,并依据所述源表数据启动所述数据服务进程,所述数据服务进程包括多个交换线程,所述多个交换线程用于将所述源表数据转化为目标表数据并加载传输到所述目标数据库中。由于在所述多个交换线程进行数据交换的过程中可能存在出现源表与目标表的数据类型或占用字节对应不上等情况,容易造成数据项交换出错,通过利用所述多个交换线程的反馈机制,向用户反馈所传输数据情况以解决数据因数据项交换出错而丢失或传输失败的问题,所述多个交换线程在传输预设次数数据后将所生成的目标表数据与其所对应的源表数据进行一一比对以获取每个所述交换线程所传输数据的情况,所述传输数据的情况包括数据传输的总数、成功传输的数据以及传输异常的数据,从而用户可以实时掌握数据交换的动态情况。其中,装置读取的源表数据可以为部分更新的源表数据,也可以为全新的源表数据。
S13、根据所述数据服务进程启动监控线程以监控每个所述交换线程是否正常运行。具体地,在本实施例中,采用现有的ESB总线数据交换技术,ESB总线数据交换技术采用的是同一个交换空间,当多线程并行处理数据交换时,容易出现多线程抢占内存资源等情况,当该数据服务进程内存不足时,可能出现某个线程因抢占内存等资源失败而锁死的情况,但线程锁死后不会向数据库自动报错,且该线程也无法向装置反馈所传输数据情况,导致用户无法得知该线程内执行数据交换过程中的数据传输情况,以至于数据传输失败了或数据丢失了,用户也不知道。因此需要在启动数据服务进程的同时也启动监控线程,该监控线程用于实时监控所述数据服务进程中的每个所述交换线程是否正常运行,即监控每个所述交换线程的实际运行情况。
S14、若存在不正常运行的交换线程,控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,所述比对结果包括数据传输总数、成功传输的数据以及传输异常的数据。具体地,当所述监控线程监控到所述多个交换线程中存在不正常运行的交换线程,例如当监控到某个交换线程呈锁死状态时,控制所述监控线程根据预设规则监控该呈锁死状态的交换线程在被锁死之前已经传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,其中,所述比对结果可以采用短信或邮件的方式反馈给用户。在另外一些可行的实施例中,所述比对结果可以根据装置的实际运行情况以及用户的使用需求而进行自定义设置。
S15、根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动以将所述传输异常的数据重新传输。具体地,所述监控线程还用于监控所述不正常运行的交换线程重新启动,从而使得所述不正常运行的交换线程可以重新传输数据交换过程中失败或丢失的数据,从而确保所述数据交换的数据零丢失。
在上述实施例中,由于每个所述交换线程都带有反馈机制,启动数据服务进程后每个所述交换线程不仅将所述源表数据传输到目标数据库中以生成目标表数据,还向用户反馈所传输数据的情况,所传输数据的情况包括传输数据的总数、成功传输的数据以及传输异常的数据,从而使得用户可以实时掌握数据交换动态情况;由于所述数据服务进程可能存在内存等资源不足的情况,当所述数据服务进程的内存不足时容易出现多个交换线程抢占内存的情况,从而可能导致某些交换线程被锁死,当某些交换线程呈锁死状态时则无法向用户进行反馈,也无法继续进行交换数据的任务,且在每个交换线程进行数据交换的过程中也可能存在由于源表与其所对应的目标表的数据类型或占用字节对应不上而导致数据项交换出现问题,由于用户无法得知被锁死的交换线程内已经传输的数据的情况,从而可能出现数据传输失败或数据丢失了而用户不知道的情况,此时需要监控线程实时监控每个所述交换线程是否正常运行,当监控到某个交换线程运行不正常时,例如呈锁死状态,所述监控线程会通过预设规则监控所述不正常运行的交换线程已经传输生成的目标表数据与其所对应的源表数据进行一一比对以确保用户实时掌握该不正常运行的交换线程的数据传输情况,从而避免出现数据传输失败或数据丢失等情况。通过多个交换线程的反馈机制以及监控线程的监控机制可以双重保障数据传输的准确性以及一致性,做到精准数据交换,可以有效解决数据传输失败和丢失等问题,从而保证数据传输零丢失。
请参看图2,其是本发明第一实施例提供的一种实现线程内外双重对账机制的数据交换监控方法的步骤S12的示意子流程图。在本实施例中,所述步骤S12具体为向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据,具体地,步骤S12包括S12a-S12c。
S12a、获取每个所述交换线程传输预设次数后所生成的目标表数据。具体地,在本实施例中,所述预设次数可以根据数据交换的实际情况进行设置,在另一些可行的实施例中,所述预设次数也可以根据装置自身特性或用户的实际需求进行自定义设置。
S12b、将所述传输预设次数后所生成的目标表数据与其所对应的源表数据进行一一比对以获取每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据。
S12c、对每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据进行实时日志记录且反馈给用户。在本实施例中,通过将目标表数据与其所对应的源表数据一一进行比对后可以获得每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据,可以将其以日志记录的形式进行实时记录并反馈给用户,以使用户可以实时掌握每个交换线程进行数据交换时数据传输的动态情况。
在上述实施例中,通过将所述多个交换线程进行预设次数的数据交换后所生成的目标表数据与其源表数据进行比对后可以获取到所述多个交换线程的数据交换的当前传输情况,并将所述当前传输情况以日志记录的形式反馈给用户,在本实施例中,可以将所述当前传输情况显示到装置的显示屏上,以使数据交换过程可视化,以满足用户实时掌握数据交换的动态情况的需求。
请参看图3,其是本发明第一实施例提供的一种实现线程内外双重对账机制的数据交换监控方法的步骤S14的示意子流程图。在本实施例中,步骤S14具体为控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果。具体地,步骤S14包括步骤S14a~S14b。
S14a、确定所述目标表数据的比对字段,所述比对字段包括时间戳、主键以及唯一约束。具体地,所述监控线程要监控所述不正常运行的交换线程已经传输生成的目标表数据与其所对应的源表数据进行比对之前需要确定用于比对的字段,其中,所述比对字段需要采用具有唯一地标识表中的每一条记录的字段,在本实施例中,所述比对字段包括时间戳、主键以及唯一约束。
S14b、将所述目标表数据的比对字段与其所对应的源表数据的比对字段进行一一比对以生成比对结果。
在上述实施例中,控制所述监控线程监控每个所述交换线程是否正常运行,并根据预设规则将不正常运行的交换线程已经传输生成的目标表数据与其源表数据进行比对后,可以获取到所述不正常运行的交换线程在不正常运行之前进行数据交换的传输情况,并将所述传输情况以短信或邮件的方式推送反馈给用户以及装置,以使用户可以掌握非正常运行的交换线程的数据交换的动态情况,以解决所述非正常运行的交换线程在进行数据交换过程中因数据项出现传输问题而导致的数据传输失败或丢失的问题。
请参看图4,其是本发明第二实施例提供的一种实现线程内外双重对账机制的数据交换监控方法的示意子流程图,该方法可以应用在具有显示屏表面(例如,非触摸屏显示器和/或触摸屏显示器)的台式计算机、数据交换控制平台/装置、数据交换控制平台/装置、大数据处理平台/装置以及数据仓库控制平台/装置等非便捷式设备装置中以及具有显示屏的膝上型计算机或平板电脑等便携式设备装置中。如图所示,该方法可包括如下步骤S21~S26。
S26、对所述数据服务进程进行配置。所述对所述数据服务进程进行配置包括根据源数据库对所述多个交换线程的传输时间间隔进行配置,或根据所述源表数据对所述数据服务进程的内存大小进行配置,或根据所述源表数据对每个所述交换线程进行数据交换的数量进行配置,或根据所述源表数据对每个所述交换线程的加解密方式进行配置。具体地,所述根据源数据库对所述多个交换线程的传输时间间隔进行配置,由于用户实际使用需求不同以及装置自身更新频率不同,所述源数据库中源表数据的更新速度不同,需要对所述多个交换线程的传输时间间隔进行配置,例如,有些部门源数据库每十分钟更新一次,则需要配置所述多个交换线程每隔十分钟传输一次,或有些部门源数据库每五分钟更新一次,则需要配置所述多个交换线程每隔五分钟传输一次,以使所述数据交换具有实时性,也保证最大化使用所述多个交换线程,大大提高了所述多个交换线程的数据交换效率。所述根据所述源表数据对所述数据服务进程的内存大小进行配置,由于源表数据所占用内存大小不同,因此也需要采用有内存大小不同的数据服务进程,例如,所述源表数据占用内存较大,则需要采用内存较大的数据服务进程来进行数据交换。根据所述源表数据对每个所述交换线程进行数据交换的数量进行配置,由于源表数据为关系型数据库所产生的数据表,在所述多个交换线程进行数据交换之前需要配置好每个交换线程所传输的源表数据的数量,例如,若所述多个交换线程为五条交换线程,则需要将所述源表数据均等划分为五大部分,并由每个所述交换线程负责交换其中一部分。根据所述源表数据对每个所述交换线程的加解密方式进行配置,由于所述源表数据自身特性所决定,因此也需要对每个交换线程的加密方式以及解密方式进行相应的配置,以提高所述数据交换过程的安全性。
S21、获取源数据库的源表数据。
S22、根据所述源表数据启动数据服务进程,所述数据服务进程包括多个交换线程,其中,所述启动数据服务进程包括所述多个交换线程将所述源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据。
S23、根据所述数据服务进程启动监控线程以监控每个所述交换线程是否正常运行。
S24、若存在不正常运行的交换线程,控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,所述比对结果包括数据传输总数、成功传输的数据以及传输异常的数据。
S25、根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动以将所述传输异常的数据重新传输。
在上述实施例中,在获取源表数据之前需要对所述数据服务进程的内存大小进行配置、对每个所述交换线程所传输数量以及加解密方式等进行配置以及根据源表数据的更新速度对每个所述交换线程所传输时间间隔进行配置,以提高每个所述交换线程的交换效率以及安全性。由于每个所述交换线程都带有反馈机制,启动数据服务进程后每个所述交换线程不仅将所述源表数据传输到目标数据库中以生成目标表数据,且每个所述交换线程可以向用户反馈所传输数据的情况,所述传输数据的情况包括传输数据的总数、成功传输的数据以及传输异常的数据,从而用户可以实时掌握数据交换动态情况,可以有效避免数据丢失或传输失败等情况;由于所述数据服务进程可能存在内存等资源不足的情况,当所述数据服务进程的内存不足时容易出现多个交换线程抢占内存的情况,从而可能导致某些交换线程被锁死,当某些交换线程呈锁死状态时则无法向用户进行反馈,也无法继续进行交换数据的任务,且在每个交换线程进行数据交换的过程中也可能存在由于源表与其所对应的目标表的数据类型或占用字节对应不上而导致数据项交换出现问题,由于用户无法得知被锁死的交换线程内已经传输的数据的情况,从而可能出现数据传输失败或数据丢失了而用户不知道的情况,此时需要监控线程实时监控每个所述交换线程是否正常运行,当监控到某个交换线程运行不正常时,例如呈锁死状态,所述监控线程会通过预设规则监控所述不正常运行的交换线程已经传输生成的目标表数据与其所对应的源表数据进行一一比对以确保用户实时掌握该不正常运行的交换线程的数据传输情况,从而避免出现数据传输失败或数据丢失等情况。通过多个交换线程的反馈机制以及监控线程的监控机制可以双重保障数据传输的准确性、一致性以及实时性,做到精准数据交换,可以有效解决数据传输失败和丢失等问题,从而保证数据传输零丢失。
请参看图5,其是本发明第一实施例提供的一种装置100的示意性框图。该装置100包括获取模块101、第一启动模块102、第二启动模块103、监控比对模块104以及重启模块105。
所述获取模块101用于获取源数据库的源表数据。
所述第一启动模块102用于根据所述源表数据启动数据服务进程,所述数据服务进程包括多个交换线程,其中,所述启动数据服务进程包括所述多个交换线程将所述源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据。具体地,装置从所述源数据库中读取源表数据,并依据所述源表数据启动所述数据服务进程,所述数据服务进程包括多个交换线程,所述多个交换线程用于将所述源表数据转化为目标表数据并加载传输到所述目标数据库中。由于在所述多个交换线程进行数据交换的过程中可能存在出现源表与目标表的数据类型或占用字节对应不上等情况,容易造成数据项交换出错,通过利用所述多个交换线程的反馈机制,向用户反馈所传输数据情况以解决数据因数据项交换出错而丢失或传输失败的问题,所述多个交换线程在传输预设次数数据后将所生成的目标表数据与其所对应的源表数据进行一一比对以获取每个所述交换线程所传输数据的情况,所述传输数据的情况包括数据传输的总数、成功传输的数据以及传输异常的数据,从而用户可以实时掌握数据交换的动态情况。其中,装置读取的源表数据可以为部分更新的源表数据,也可以为全新的源表数据。
所述第二启动模块103用于根据所述数据服务进程启动监控线程以监控每个所述交换线程是否正常运行。具体地,在本实施例中,采用现有的ESB总线数据交换技术,ESB总线数据交换技术采用的是同一个交换空间,当多线程并行处理数据交换时,容易出现多线程抢占内存资源等情况,当该数据服务进程内存不足时,可能出现某个线程因抢占内存等资源失败而锁死的情况,但线程锁死后不会向数据库自动报错,且该线程也无法向装置反馈所传输数据情况,导致用户无法得知该线程内执行数据交换过程中的数据传输情况,以至于数据传输失败了或数据丢失了,用户也不知道。因此需要在启动数据服务进程的同时也启动监控线程,该监控线程用于实时监控所述数据服务进程中的每个所述交换线程是否正常运行,即监控每个所述交换线程的实际运行情况。
所述监控比对模块104用于若存在不正常运行的交换线程,控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,所述比对结果包括数据传输总数、成功传输的数据以及传输异常的数据。具体地,当所述监控线程监控到所述多个交换线程中存在不正常运行的交换线程,例如当监控到某个交换线程呈锁死状态时,控制所述监控线程根据预设规则监控该呈锁死状态的交换线程在被锁死之前已经传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,其中,所述比对结果可以采用短信或邮件的方式反馈给用户。在另外一些可行的实施例中,所述比对结果可以根据装置的实际运行情况以及用户的使用需求而进行自定义设置。
所述重启模块105用于根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动以将所述传输异常的数据重新传输。具体地,通过所述重启模块105根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动,从而使得所述不正常运行的交换线程可以重新传输数据交换过程中失败或丢失的数据,从而确保所述数据交换的数据零丢失。
在上述实施例中,由于每个所述交换线程都带有反馈机制,通过第一启动模块102启动数据服务进程后每个所述交换线程不仅将所述源表数据传输到目标数据库中以生成目标表数据,且每个所述交换线程可以向用户反馈所传输数据的情况,所述传输数据的情况包括传输数据的总数、成功传输的数据以及传输异常的数据,从而使得用户可以实时掌握数据交换动态情况;由于所述数据服务进程可能存在内存不足等资源不足的情况,当所述数据服务进程的内存不足时容易出现多个交换线程抢占内存的情况,从而可能导致某些交换线程被锁死,当某些交换线程呈锁死状态时则无法向用户进行反馈,也无法继续进行交换数据的任务,且在每个交换线程进行数据交换的过程中也可能存在由于源表与其所对应的目标表的数据类型或占用字节对应不上而导致数据项交换出现问题,由于用户无法得知被锁死的交换线程内已经传输的数据的情况,从而可能出现数据传输失败或数据丢失了而用户不知道的情况,此时需要通过第二启动模块103来启动所述监控线程实时监控每个所述交换线程是否正常运行,当监控到某个交换线程运行不正常时,例如呈锁死状态,所述监控线程会通过预设规则监控所述不正常运行的交换线程已经传输生成的目标表数据与其所对应的源表数据进行一一比对以确保用户实时掌握该不正常运行的交换线程的数据传输情况,从而避免出现数据传输失败或数据丢失等情况。通过多个交换线程的反馈机制以及监控线程的监控机制可以双重保障数据传输的准确性以及一致性,做到精准数据交换,可以有效解决数据传输失败和丢失等问题,从而保证数据传输零丢失。
请参看图6,其是本发明第一实施例提供的一种装置的第一启动模块102的示意流程图。在本实施例中,该第一启动模块102包括数据获取模块102a、第一比对模块102b以及记录反馈模块102c。
所述数据获取模块102a用于获取每个所述交换线程传输预设次数后所生成的目标表数据。具体地,在本实施例中,所述预设次数可以根据数据交换的实际情况进行设置,在另一些可行的实施例中,所述预设次数也可以根据装置自身特性或用户的实际需求进行自定义设置。
所述第一比对模块102b用于将所述传输预设次数后所生成的目标表数据与其所对应的源表数据进行一一比对以获取每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据。
所述记录反馈模块102c用于对每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据进行实时日志记录且反馈给用户。具体地,在本实施例中,通过将目标表数据与其所对应的源表数据一一进行比对后可以获得每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据,可以将其以日志记录的形式进行实时记录并反馈给用户,以使用户可以实时掌握每个交换线程进行数据交换时数据传输的动态情况。
在上述实施例中,通过将所述多个交换线程进行预设次数的数据交换后所生成的目标表数据与其源表数据进行比对后可以获取到所述多个交换线程的数据交换的当前传输情况,并将所述当前传输情况以日志记录的形式反馈给用户,在本实施例中,可以将所述当前传输情况显示到装置的显示屏上,以使数据交换过程可视化,以满足用户实时掌握数据交换的动态情况的需求。
请参看图7,其是本发明第一实施例提供的一种装置的监控比对模块104的示意流程图。在本实施例中,该监控比对模块104包括确定模块104a以及第二比对模块104b。
所述确定模块104a用于确定所述目标表数据的比对字段,所述比对字段包括时间戳、主键、唯一约束。具体地,所述监控线程要监控所述不正常运行的交换线程已经传输生成的目标表数据与其所对应的源表数据进行比对之前需要确定所用于比对的字段,其中,所述比对字段需要采用具有唯一地标识表中的每一条记录的字段,在本实施例中,所述比对字段包括时间戳、主键以及唯一约束。
所述第二比对模块104b用于将所述目标表数据的比对字段与其所对应的源表数据的比对字段进行一一比对以生成比对结果。
在上述实施例中,控制所述监控线程监控每个所述交换线程是否正常运行,并根据预设规则将不正常运行的交换线程已经传输生成的目标表数据与其源表数据进行比对后,可以获取到所述不正常运行的交换线程在不正常运行之前进行数据交换的传输情况,并将所述传输情况以短信或邮件的方式推送反馈给用户以及装置,以使用户可以掌握非正常运行的交换线程的数据交换的动态情况,以解决所述非正常运行的交换线程在进行数据交换过程中因数据项出现传输问题而导致的数据传输失败或丢失的问题。
请参看图8,其是本发明第二实施例提供的一种装置200的示意流程图。该装置200包括获取模块201、第一启动模块202、第二启动模块203、监控比对模块204、重启模块205以及配置模块206。
所述配置模块206用于对所述数据服务进程进行配置。所述对所述数据服务进程进行配置包括根据源数据库对所述多个交换线程的传输时间间隔进行配置,或根据所述源表数据对所述数据服务进程的内存大小进行配置,或根据所述源表数据对每个所述交换线程进行数据交换的数量进行配置,或根据所述源表数据对每个所述交换线程的加解密方式进行配置。具体地,所述根据源数据库对所述多个交换线程的传输时间间隔进行配置,由于用户实际使用需求不同以及装置自身更新频率不同,所述源数据库中源表数据的更新速度不同,需要对所述多个交换线程的传输时间间隔进行配置,例如,有些部门源数据库每十分钟更新一次,则需要配置所述多个交换线程每隔十分钟传输一次,或有些部门源数据库每五分钟更新一次,则需要配置所述多个交换线程每隔五分钟传输一次,以使所述数据交换具有实时性,也保证最大化使用所述多个交换线程,大大提高了所述多个交换线程的数据交换效率。所述根据所述源表数据对所述数据服务进程的内存大小进行配置,由于源表数据所占用内存大小不同,因此也需要采用有内存大小不同的数据服务进程,例如,所述源表数据占用内存较大,则需要采用内存较大的数据服务进程来进行数据交换。根据所述源表数据对每个所述交换线程进行数据交换的数量进行配置,由于源表数据为关系型数据库所产生的数据表,在所述多个交换线程进行数据交换之前需要配置好每个交换线程所传输的源表数据的数量,例如,若所述多个交换线程为五条交换线程,则需要将所述源表数据均等划分为五大部分,并由每个所述交换线程负责交换其中一部分。根据所述源表数据对每个所述交换线程的加解密方式进行配置,由于所述源表数据自身特性所决定,因此也需要对每个交换线程的加密方式以及解密方式进行相应的配置,以提高所述数据交换过程的安全性。
所述获取模块201用于获取模块用于获取源数据库的源表数据。
所述第一启动模块202用于根据所述源表数据启动数据服务进程,所述数据服务进程包括多个交换线程,其中,所述启动数据服务进程包括所述多个交换线程将所述源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据。
所述第二启动模块203用于根据所述启动数据服务进程启动监控线程以监控每个所述交换线程是否正常运行。
所述监控比对模块204用于若存在不正常运行的交换线程,控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,所述比对结果包括数据传输总数、成功传输的数据以及传输异常的数据。
所述重启模块205用于根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动以将所述传输异常的数据重新传输。
在上述实施例中,在获取源表数据之前需要对所述数据服务进程的内存大小进行配置、对每个所述交换线程所传输数量以及加解密方式等进行配置以及根据源表数据的更新速度对每个所述交换线程所传输时间间隔进行配置,以提高每个所述交换线程的交换效率以及安全性。由于每个所述交换线程都带有反馈机制,通过第一启动模块202启动数据服务进程后每个所述交换线程不仅将所述源表数据传输到目标数据库中以生成目标表数据,且每个所述交换线程可以向用户反馈所传输数据的情况,所述传输数据的情况包括传输数据的总数、成功传输的数据以及传输异常的数据,从而用户可以实时掌握数据交换动态情况,可以有效避免数据丢失或传输失败等情况;由于所述数据服务进程可能存在内存等资源不足的情况,当所述数据服务进程的内存不足时容易出现多个交换线程抢占内存的情况,从而可能导致某些交换线程被锁死,当某些交换线程呈锁死状态时则无法向用户进行反馈,也无法继续进行交换数据的任务,且在每个交换线程进行数据交换的过程中也可能存在由于源表与其所对应的目标表的数据类型或占用字节对应不上而导致数据项交换出现问题,由于用户无法得知被锁死的交换线程内已经传输的数据的情况,从而可能出现数据传输失败或数据丢失了而用户不知道的情况,此时需要通过第二启动模块203来启动所述监控线程实时监控每个所述交换线程是否正常运行,当监控到某个交换线程运行不正常时,例如呈锁死状态,所述监控线程会通过预设规则监控所述不正常运行的交换线程已经传输生成的目标表数据与其所对应的源表数据进行一一比对以确保用户实时掌握该不正常运行的交换线程的数据传输情况,从而避免出现数据传输失败或数据丢失等情况。通过多个交换线程的反馈机制以及监控线程的监控机制可以双重保障数据传输的准确性、一致性以及实时性,做到精准数据交换,可以有效解决数据传输失败和丢失等问题,从而保证数据传输零丢失。
请参看图9,是本发明实施例提供的另一种计算机设备80的示意框图。如图所示,在本实施例中的计算机设备80可以包括:一个或多个处理器801、一个或多个输入设备802、一个或多个输出设备803以及存储器804。上述处理器801、输入设备802、输出设备803以及存储器804通过总线805连接。存储器802用于存储指令,处理器801用于执行存储器802存储的指令以实现如下功能:
获取源数据库的源表数据;根据所述源表数据启动数据服务进程,所述数据服务进程包括多个交换线程,其中,所述启动数据服务进程包括所述多个交换线程将所述源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据;根据所述数据服务进程启动监控线程以监控每个所述交换线程是否正常运行;若存在不正常运行的交换线程,控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,所述比对结果包括数据传输总数、成功传输的数据以及传输异常的数据;根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动以将所述传输异常的数据重新传输。
在一实施例中,所述处理器801还执行如下操作:
获取每个所述交换线程传输预设次数后所生成的目标表数据;将所述传输预设次数后所生成的目标表数据与其所对应的源表数据进行一一比对以获取每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据;对每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据进行实时日志记录且反馈给用户。
在一实施例中,所述处理器801还执行如下操作:
确定所述目标表数据的比对字段,所述比对字段包括时间戳、主键以及唯一约束;将所述不正常运行的交换线程中所传输生成的目标表数据的比对字段与其所对应的源表数据的比对字段进行一一比对以生成比对结果。
在一实施例中,所述处理器801还执行如下操作:
对所述数据服务进程进行配置,所述对所述数据服务进程进行配置包括根据源数据库对所述多个交换线程的传输时间间隔进行配置,或根据所述源表数据对所述数据服务进程的内存大小进行配置,或根据所述源表数据对每个所述交换线程进行数据交换的数量进行配置,或根据所述源表数据对每个所述交换线程的加解密方式进行配置;获取源数据库的源表数据;根据所述源表数据启动数据服务进程,所述数据服务进程包括多个交换线程,其中,所述启动数据服务进程包括所述多个交换线程将所述源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据;根据所述数据服务进程启动监控线程以监控每个所述交换线程是否正常运行;若存在不正常运行的交换线程,控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,所述比对结果包括数据传输总数、成功传输的数据以及传输异常的数据;根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动以将所述传输异常的数据重新传输。
应当理解,在本发明实施例中,所称处理器801可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备802可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备803可以包括显示器(LCD等)、扬声器等。
该存储器804可以包括只读存储器和随机存取存储器,并向处理器801提供指令和数据。存储器804的一部分还可以包括非易失性随机存取存储器。例如,存储器804还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器801、输入设备802、输出设备803可执行本发明实施例提供的一种实现线程内外双重对账机制的数据交换监控方法的第一实施例以及第二实施例中所描述的实现方式,也可执行本发明实施例所描述的装置的实现方式,在此不再赘述。
在本发明的另一实施例中提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下功能:
获取源数据库的源表数据;根据所述源表数据启动数据服务进程,所述数据服务进程包括多个交换线程,其中,所述启动数据服务进程包括所述多个交换线程将所述源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据;根据所述数据服务进程启动监控线程以监控每个所述交换线程是否正常运行;若存在不正常运行的交换线程,控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,所述比对结果包括数据传输总数、成功传输的数据以及传输异常的数据;根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动以将所述传输异常的数据重新传输。
在一实施例中,所述计算机程序被处理器执行时还实现:
获取每个所述交换线程传输预设次数后所生成的目标表数据;将所述传输预设次数后所生成的目标表数据与其所对应的源表数据进行一一比对以获取每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据;对每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据进行实时日志记录且反馈给用户。
在一实施例中,所述计算机程序被处理器执行时还可以实现:
确定所述目标表数据的比对字段,所述比对字段包括时间戳、主键以及唯一约束;将所述不正常运行的交换线程中所传输生成的目标表数据的比对字段与其所对应的源表数据的比对字段进行一一比对以生成比对结果。
在一实施例中,所述计算机程序被处理器执行时还可以实现:
对所述数据服务进程进行配置,所述对所述数据服务进程进行配置包括根据源数据库对所述多个交换线程的传输时间间隔进行配置,或根据所述源表数据对所述数据服务进程的内存大小进行配置,或根据所述源表数据对每个所述交换线程进行数据交换的数量进行配置,或根据所述源表数据对每个所述交换线程的加解密方式进行配置;获取源数据库的源表数据;根据所述源表数据启动数据服务进程,所述数据服务进程包括多个交换线程,其中,所述启动数据服务进程包括所述多个交换线程将所述源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据;根据所述数据服务进程启动监控线程以监控每个所述交换线程是否正常运行;若存在不正常运行的交换线程,控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,所述比对结果包括数据传输总数、成功传输的数据以及传输异常的数据;根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动以将所述传输异常的数据重新传输。
所述存储介质可以是前述任一实施例所述的装置的内部存储单元,例如装置的硬盘或内存。所述存储介质也可以是所述装置的外部存储设备,例如所述装置上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,所述存储介质还可以既包括所述装置的内部存储单元也包括外部存储设备。所述存储介质用于存储所述计算机程序以及所述装置所需的其他程序和数据。所述存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.实现线程内外双重对账机制的数据交换监控方法,其特征在于,包括:
获取源数据库的源表数据;
根据所述源表数据启动数据服务进程,所述数据服务进程包括多个交换线程,其中,所述启动数据服务进程包括所述多个交换线程将所述源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据;
获取每个所述交换线程传输预设次数后所生成的目标表数据;
将所述传输预设次数后所生成的目标表数据与其所对应的源表数据进行一一比对以获取每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据;
对每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据进行实时日志记录且反馈给用户;
根据所述数据服务进程启动监控线程以监控每个所述交换线程是否正常运行;
若存在不正常运行的交换线程,控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,所述比对结果包括数据传输总数、成功传输的数据以及传输异常的数据;
确定所述目标表数据的比对字段,所述比对字段包括时间戳、主键以及唯一约束;
将所述不正常运行的交换线程中所传输生成的目标表数据的比对字段与其所对应的源表数据的比对字段进行一一比对以生成比对结果;
根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动以将所述传输异常的数据重新传输。
2.根据权利要求1所述的方法,其特征在于,所述根据所述源表数据启动数据服务进程之前,还包括:
对所述数据服务进程进行配置,所述对所述数据服务进程进行配置包括根据源数据库对所述多个交换线程的传输时间间隔进行配置,或根据所述源表数据对所述数据服务进程的内存大小进行配置,或根据所述源表数据对每个所述交换线程进行数据交换的数量进行配置,或根据所述源表数据对每个所述交换线程的加解密方式进行配置。
3.根据权利要求1所述方法,其特征在于,所述控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果之后,还包括:
将所述比对结果采用短信或邮件的方式反馈给用户。
4.一种装置,其特征在于,包括:
获取模块,所述获取模块用于获取源数据库的源表数据;
第一启动模块,所述第一启动模块用于根据所述源表数据启动数据服务进程,所述数据服务进程包括多个交换线程,其中,所述启动数据服务进程包括所述多个交换线程将所述源表数据传输到目标数据库中以生成目标表数据,并向用户反馈所传输数据的总数、成功传输的数据以及传输异常的数据;
第二启动模块,所述第二启动模块用于根据所述数据服务进程启动监控线程以监控每个所述交换线程是否正常运行;
监控比对模块,所述监控比对模块用于若存在不正常运行的交换线程,控制所述监控线程根据预设规则监控所述不正常运行的交换线程中所传输生成的目标表数据与其所对应的源表数据进行一一比对以生成比对结果,所述比对结果包括数据传输总数、成功传输的数据以及传输异常的数据;
重启模块,所述重启模块用于根据所述比对结果控制所述监控线程监控所述不正常运行的交换线程重新启动以将所述传输异常的数据重新传输。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括配置模块,所述配置模块用于对所述数据服务进程进行配置,所述对所述数据服务进程进行配置包括根据源数据库对所述多个交换线程的传输时间间隔进行配置,或根据所述源表数据对所述数据服务进程的内存大小进行配置,或根据所述源表数据对每个所述交换线程的数据交换数量进行配置,或根据所述源表数据对每个所述交换线程的加解密方式进行配置。
6.根据权利要求4所述的装置,其特征在于,所述第一启动模块包括数据获取模块、第一比对模块以及记录反馈模块,其中,
所述数据获取模块用于获取每个所述交换线程传输预设次数后所生成的目标表数据;
所述第一比对模块用于将所述传输预设次数后所生成的目标表数据与其所对应的源表数据进行一一比对以获取每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据;
所述记录反馈模块用于对每个所述交换线程中所传输数据的总数、成功传输的数据以及传输异常的数据进行实时日志记录且反馈给用户。
7.一种计算机设备,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储应用程序代码,所述处理器被配置用于调用所述程序代码,执行如权利要求1-3任一项所述的方法。
8.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810059890.1A CN108255623B (zh) | 2018-01-22 | 2018-01-22 | 实现线程内外双重对账机制的数据交换监控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810059890.1A CN108255623B (zh) | 2018-01-22 | 2018-01-22 | 实现线程内外双重对账机制的数据交换监控方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255623A CN108255623A (zh) | 2018-07-06 |
CN108255623B true CN108255623B (zh) | 2022-03-15 |
Family
ID=62742011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810059890.1A Active CN108255623B (zh) | 2018-01-22 | 2018-01-22 | 实现线程内外双重对账机制的数据交换监控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255623B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614389A (zh) * | 2018-11-28 | 2019-04-12 | 山东中创软件商用中间件股份有限公司 | 一种数据入库方法、系统、设备及介质 |
CN110046976B (zh) * | 2018-11-30 | 2023-08-18 | 创新先进技术有限公司 | 对账方法和装置、服务器 |
CN109788035B (zh) * | 2018-12-19 | 2022-01-28 | 平安科技(深圳)有限公司 | 基于云监控的数据传输方法、装置及监控服务器 |
CN110457181B (zh) * | 2019-08-02 | 2023-05-16 | 武汉达梦数据库股份有限公司 | 一种数据库的日志优化分析方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094051A (zh) * | 2007-06-27 | 2007-12-26 | 中国移动通信集团四川有限公司 | 数据一致性比对同步的系统和方法 |
CN101268447A (zh) * | 2005-05-26 | 2008-09-17 | 美国联合包裹服务公司 | 软件进程监控 |
CN102314517A (zh) * | 2011-09-25 | 2012-01-11 | 国网电力科学研究院 | 一种水调历史数据库在线同步技术 |
CN103873287A (zh) * | 2012-12-17 | 2014-06-18 | 南车青岛四方机车车辆股份有限公司 | 一种基于企业服务总线消息监控平台的消息补偿方法 |
CN104615637A (zh) * | 2014-11-20 | 2015-05-13 | 广州杰赛互教通信息技术有限公司 | 数据交换方法及数据交换中间装置 |
CN105989194A (zh) * | 2015-03-20 | 2016-10-05 | 国际商业机器公司 | 表数据比较的方法和系统 |
CN107301115A (zh) * | 2017-06-26 | 2017-10-27 | 中国铁道科学研究院电子计算技术研究所 | 应用程序异常监控和恢复方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662782B (zh) * | 2012-04-17 | 2014-09-03 | 华为技术有限公司 | 一种监控系统总线的方法及装置 |
-
2018
- 2018-01-22 CN CN201810059890.1A patent/CN108255623B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101268447A (zh) * | 2005-05-26 | 2008-09-17 | 美国联合包裹服务公司 | 软件进程监控 |
CN101094051A (zh) * | 2007-06-27 | 2007-12-26 | 中国移动通信集团四川有限公司 | 数据一致性比对同步的系统和方法 |
CN102314517A (zh) * | 2011-09-25 | 2012-01-11 | 国网电力科学研究院 | 一种水调历史数据库在线同步技术 |
CN103873287A (zh) * | 2012-12-17 | 2014-06-18 | 南车青岛四方机车车辆股份有限公司 | 一种基于企业服务总线消息监控平台的消息补偿方法 |
CN104615637A (zh) * | 2014-11-20 | 2015-05-13 | 广州杰赛互教通信息技术有限公司 | 数据交换方法及数据交换中间装置 |
CN105989194A (zh) * | 2015-03-20 | 2016-10-05 | 国际商业机器公司 | 表数据比较的方法和系统 |
CN107301115A (zh) * | 2017-06-26 | 2017-10-27 | 中国铁道科学研究院电子计算技术研究所 | 应用程序异常监控和恢复方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108255623A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255623B (zh) | 实现线程内外双重对账机制的数据交换监控方法及装置 | |
US9092230B2 (en) | Configuration of componentized software applications | |
US20160299918A1 (en) | Device Control Using a Secure Decentralized Transactional Ledger | |
US10545991B2 (en) | Synchronizing local and remote data | |
US10204004B1 (en) | Custom host errors definition service | |
US10540223B1 (en) | System for determining error data | |
US11861029B2 (en) | Workflow execution state variables | |
CN103501237A (zh) | 设备管理方法、管理平台、设备及系统 | |
US20200162324A1 (en) | Blockchain network management | |
US20170147462A1 (en) | Agent dynamic service | |
CN109189749A (zh) | 文件同步方法及终端设备 | |
CN102316152A (zh) | 分布式服务授权管理 | |
CN108259243A (zh) | 基于微服务技术架构的数据处理方法、终端及计算机存储介质 | |
US20150066966A1 (en) | Systems and methods for deriving, storing, and visualizing a numeric baseline for time-series numeric data which considers the time, coincidental events, and relevance of the data points as part of the derivation and visualization | |
WO2019195482A9 (en) | Database lock | |
US20180069774A1 (en) | Monitoring and reporting transmission and completeness of data upload from a source location to a destination location | |
CN110879701B (zh) | 工作流可视化配置方法、服务器、系统及介质 | |
CN107077490B (zh) | 数据查询作业提交管理 | |
WO2022141060A1 (zh) | 基于区块链的数据上链方法、装置、终端及存储介质 | |
CN112241332A (zh) | 一种接口补偿的方法和装置 | |
US11953995B1 (en) | Centralized data backup platform supporting multiple data environments | |
KR102668343B1 (ko) | 인터페이스 관리 방법, 인터페이스 거버넌스 시스템, 및 인터페이스를 관리하는, 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체 | |
LU101121B1 (en) | Method for improving blockchain applications | |
US20240264960A1 (en) | Managing a workspace mesh | |
US20240303163A1 (en) | System and method for performing a dedicated backup in a containerized environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |