CN114840393A - 一种多数据源数据同步监控方法及系统 - Google Patents

一种多数据源数据同步监控方法及系统 Download PDF

Info

Publication number
CN114840393A
CN114840393A CN202210750912.5A CN202210750912A CN114840393A CN 114840393 A CN114840393 A CN 114840393A CN 202210750912 A CN202210750912 A CN 202210750912A CN 114840393 A CN114840393 A CN 114840393A
Authority
CN
China
Prior art keywords
data
task
slice
slices
synchronous
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.)
Granted
Application number
CN202210750912.5A
Other languages
English (en)
Other versions
CN114840393B (zh
Inventor
陈思宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Bizhi Technology Co ltd
Original Assignee
Hangzhou Bizhi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Bizhi Technology Co ltd filed Critical Hangzhou Bizhi Technology Co ltd
Priority to CN202210750912.5A priority Critical patent/CN114840393B/zh
Publication of CN114840393A publication Critical patent/CN114840393A/zh
Application granted granted Critical
Publication of CN114840393B publication Critical patent/CN114840393B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • G06F16/2386Bulk updating operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种多数据源数据同步监控方法和系统,包括以下步骤:S110,根据渠道分配生成对应同步任务;S120根据任务设置的数据来源,确定与之对应的处理器;S130,将任务交给数据处理器进行切片;S140,数据读取、数据组装、数据异步批量写入和并发控制;S150,检查各个切片同步数据,是否同步完成,当所有切片完成则同步任务完成,若是其中一个切片失败则整个任务失败,任务失败通知运维人员,任务恢复后通知相关人员;S160,同步任务失败触发,恢复告知;S170,同步监控平台日志,展示所有同步任务,查切片能具体看到每个切片情况,重试某个同步任务、某个切片、重置切片id段后重新同步。

Description

一种多数据源数据同步监控方法及系统
技术领域
本发明涉及计算机网络及数据处理技术领域,尤其是涉及一种多数据源数据同步监控方法及系统。
背景技术
随着现代信息技术的不断发展,数据的产生速度变得越来越快,大量的数据被搜集和存储。这些海量的数据必须通过系统的处理和分析,才能挖掘出其中蕴含的潜在价值。而这过程数据同步起着关键作用,需整合多个数据源再汇总数据进行存放,由于同步数据这个工程属于一个过程,所以还需要记录同步任务、同步结果以及告警。在多数据源及多变的整合数据逻辑情况下让数据可以更加灵活、清晰、便捷有效的传输与汇总,让数据的同步更加直观、易于检查,提高了数据同步的效率。
当今世界已跨入了互联网+大数据时代,大数据正深刻改变着人们的思维、生产和生活方式。而数据同步已成为大数据时代不可或缺的重要手段和工具,与各个行业深度融合,在已知数据源,将数据同步到预期的目标源中,多数据源数据同步监控发挥着巨大的作用。多数据源数据同步监控已经成了科学的数据同步标配,涉及多数据源、数据转换逻辑、可视化、告警等多个专业领域。同时,大数据本身的新特点也对多数据源数据同步监控提出了更为迫切的需求与更加严峻的挑战。
目前多数据源数据同步监控的开发主要有两种方式:一是每种数据源接入投入大量人力进行定制开发,以获得更加针对性的数据源和数据转换逻辑,每次都需要重复开发,没有将共性抽象出来,无法复用;二是使用DataX软件,通过字段映射、数据源配置及简单SQL数据转换处理,以完成数据的同步。其中,任务的监控、重试力度较大,例如一个任务为整体,切分为数据量较小的数据单元进行同步,没有提供针对较小的数据单元监控及重试,一旦失败只能重试执行整个任务,重试成本较高;通过DataX软件的模板和数据源配置以映射同步的方式,会存在字段映射不足以支撑需求、缺乏根据业务场景按需同步,灵活度低,无法满足设计要求等问题。
发明内容
针对现有技术存在的问题,本发明的目的在于提供一种多数据源数据同步监控方案,首先根据需要集成多种数据源,提高接入能力及适应性,然后提供一个同步组件,接收任务,细分任务,处理任务,按策略划分任务,再将任务细分按需切分为若干切片进行同步,最后汇总各切片同步情况得出整体任务结果。如若,失败进行告警再启动告警。本发明主要解决在多种业务场景下产生不同同步任务需要按需同步,提高容错性,细化同步任务,降低重试成本,失败告警提高运维能力,降低故障时间。
为实现上述目的,本发明提供一种多数据源数据同步监控方法,所述方法包括以下步骤:
S110,根据渠道分配生成对应同步任务;
S120根据任务设置的数据来源,确定与之对应的处理器;
S130,将任务交给数据处理器进行切片;在切片成功的情况下,进入步骤S140,在切片失败的情况下,进入步骤S160;
S140,数据读取、数据组装、数据异步批量写入和并发控制;在数据异步写入成功的情况下,进入步骤S150;在数据异步写入失败的情况下,进入步骤S160;
S150,检查各个切片同步数据,是否同步完成,当所有切片完成则同步任务完成,若是其中一个切片失败则整个任务失败,任务失败通知运维人员,任务恢复后通知相关人员;
S160,同步任务失败触发,恢复告知;
S170,同步监控平台日志,展示所有同步任务,查切片能具体看到每个切片情况,重试某个同步任务、某个切片、重置切片id段后重新同步。
进一步,所述方法还包括步骤S180,检查步骤S120中的未完成任务是否超时,超时进行快速失败处理,并提示任务异常中断需要人为介入。
进一步,步骤S130中,处理器按切片策略进行切片,切片包括两种策略方式,一种是等分切片,将数据按配置对切片数据进行切片,数据总量m条,每切片n条,m/n=k切片,若m%n!=0,证明不能整除,切片数m/n加一存放剩余的数量;另一种是固定切片,按配置切片数量进行均摊,数据总量m条,分n个切片,故每个切片k条,若m%n!=0,证明不能整除,再处理最后一个切片时需要同步剩余的所有数据;切片与数据的联系方式如下:在同步数据有唯一标识字段时,给每个切片分配一段id段进行标识并记录对应数据源的数据片段,标识这个切片的id段并映射对应的源数据,当重试、清理数据时可根据这个id段进行批量清除和重新同步,定位切片已同步数据段SQL,将重试降低到m/n数据上,其中,m是重试切片数,n是总体切片数;任务切片到插入目标源完成数据同步的过程包含如下子步骤:
S210,判断是否走默认切片规则;
S211,不是默认规则根据配置选择切片规则;
S212,根据切片策略进行切片;
S213,获取并发锁,控制数据插入目标的速率;
S214,并发线程数据插入目标库中,提高同步速度。
进一步,步骤S140中,首先根据数据源SQL读取表的y行到x行;然后根据处理器数据组装策略组装数据集合,最后数据集进行批量写入目标源。首先根据读取方式获取数据;然后根据处理器数据组装策略组装数据集合,最后数据集进行批量写入目标源;读取表table的y行到x行使用JDBC的流式读取;控制并发执行线程,使用CountDownLatch计数器作为临时计数器,在结合线程池阻塞队列,在到达并发限制时进行阻塞等待。
进一步,步骤S170中,同步监控的过程包含如下子步骤:
S310,同步任务进入同步流程,记录任务为同步中状态;
S311,按配置的切片规则进行切片,并记录切片同步中状态;
S312-1,完成各切片进行数据同步;
S312-2,若整体切片失败,根据配置重试次数进行重试若超重试次数还是失败,将任务更新为状态,若单个切片失败,也进行重试若超重试次数更新单个切片为失败状态;
S313,所有切片数据同步结束,更新任务为同步结束状态,记录耗时,开始检查同步结果;
S314,开始检查同步结果,做预备,获取同步检查锁,检查任务状态是否失败,若失败则发送失败通知,任务非同步结束状态中断检查;
S315,是否配置规则链;
S316-1,获取配置的规则链;
S316-2,获取默认的规则链;
S317-1,按规则链,中的检查规则一一进行检查,包括检查切片数量;
S317-2,默认规则链,只包含检查切片的数据量在数据源和目标源中是否一致;
S318,检查切片能走完规则链,则证明所有规则都通过,切片同步完成,否则切片同步失败;
S319-1,切片同步完成更新切片为同步完成状态;
S319-2,切片同步失败更新切片为同步失败状态;
S320,汇总所有切片结果;
S321,检查所有切片是否都正常通过规则链;
S322-1,所有切片完成,发送完成结果;
S322-2,所有切片存在未完成,发送未完成结果;
S323,根据通知策略通知处理人,若是所有切片完成,且该任务曾经有发过失败通知,此次发送恢复通知,若没有发过失败通知则根据配置决定是否发送完成通知;若是存在未完成,判断是否在30分钟内已经发过失败通知,若是不处理,若不是则发送失败通知。
另一方面,本发明提供一种多数据源数据同步监控系统,所述系统包括任务分配模块、任务切片模块、数据同步模块、任务状态汇总模块、平台手动重试模块和超时检查模块7个部分组成,所述系统用于实现根据本发明所述的方法。
进一步,所述任务分配模块实现的功能在于接收各业务平台的同步数据消息进行任务归类分派,包括步骤S110,根据渠道分配生成对应同步任务,和S120,根据任务设置的数据来源,决定走哪个处理器。任务切片模块执行步骤S130的切片任务,处理器按切片策略进行切片,给每个切片分配一段id段进行标识并记录对应数据源的数据片段,标识这个切片的id段并映射对应的源数据。任务状态汇总模块执行步骤S150,检查各个切片同步数据,是否同步完成,当所有切片完成则同步任务完成,若是其中一个切片失败则整个任务失败,任务失败进行失败提示,任务恢复后进行恢复提示。告警模块执行步骤S160,同步任务失败触发,恢复告知;平台手动重试模块执行步骤S170,同步监控平台日志,展示所有同步任务,查切片能具体看到每个切片情况;超时检查模块执行步骤S180,检查未完成任务是否超时,超时进行快速失败处理,并提示任务异常中断。
本发明提供的多数据源数据同步监控方案,具有如下有益效果:
1.通过集成多种数据源减少开发成本;2.支持插件化数据转换策略,生成目标数据,提高灵活性,3.提供可视化监控,重试操作,从更小维度监控数据或重新处理,提高错误定位效率及减少整体重新同步带来的资源消耗;4.提供告警策略,可接入多种告警通知渠道,通知运维人员,提高告警渠道灵活性。从而保证数据同步接入的灵活、清晰、便捷有效以及监控。
附图说明
图1示出了根据本发明实施例中多数据源数据同步监控方法和系统的流程示意图;
图2示出了根据本发明实施例中多数据源数据同步监控方法和系统的切片及数据同步流程示意图;
图3示出了根据本发明实施例中多数据源数据同步监控方法和系统的同步任务监控流程示意图。
具体实施方式
下面将结合附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
以下结合附图1对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
本发明所提出的多数据源数据同步监控方法的整体流程图如图1所示,所述方法包括以下步骤:
S110,根据渠道分配生成对应同步任务;
S120,根据任务设置的数据来源,确定与之对应的处理器;
S130,将任务交给数据处理器进行切片;在切片成功的情况下,进入步骤S140,在切片失败的情况下,进入步骤S160;
S140,数据读取、数据组装、数据异步批量写入和并发控制;在数据异步写入成功的情况下,进入步骤S150;在数据异步写入失败的情况下,进入步骤S160;
S150,检查各个切片同步数据,是否同步完成,当所有切片完成则同步任务完成,若是其中一个切片失败则整个任务失败,任务失败通知运维人员,任务恢复后通知相关人员;
S160,同步任务失败触发,恢复告知;
S170,同步监控平台日志,展示所有同步任务,查切片能具体看到每个切片情况,重试某个同步任务、某个切片、重置切片id段后重新同步。
此外,还包括步骤S180,检查步骤S120中的未完成任务是否超时,超时进行快速失败处理,并提示任务异常中断需要人为介入,缩小故障影响。
所述多数据源数据同步监控系统包括任务分配模块、任务切片模块、数据同步模块、任务状态汇总模块、平台手动重试模块和超时检查模块7个部分组成。任务状态汇总模块用于汇总任务片结果得出整体任务结果。所述系统的技术方案如下:
任务分配模块实现的功能在于接收各业务平台的同步数据消息进行任务归类分派,如图1所示,包括步骤:
S110,根据渠道分配生成对应同步任务。
S120根据任务设置的数据来源,决定走哪个处理器。
任务切片模块执行切片任务,具体地步骤S130,将任务交给数据处理器进行切片。处理器按切片策略进行切片,给每个切片分配一段id段进行标识并记录对应数据源的数据片段,标识这个切片的id段并映射对应的源数据,当重试、清理数据时可根据这个id段进行批量清除和重新同步,将重试降低到m/n数据上,其中,m是重试切片数,n是总体切片数,例如一个任务10个分配,1个失败,数据重试只影响1/10,此时检查到任务失败会通知运维人员,运维人员查看发现其中一个切片超时失败,手动重新同步,恢复后告警恢复,整体从异常通知到恢复通知,都被将监控并有迹可循,降低重试成本和异常恢复时间。
数据同步模块执行步骤S140,包括数据读取、数据组装、数据异步批量写入和并发控制。以一个简单表数据同步示例说明,首先根据数据源根据SQL select xx from tablewhere #{where} and #{排序字段}> #{cursor} order by #{排序字段} limit x,如该SQL所示,读取表table的cursor+1行到x行。然后根据处理器数据组装策略组装数据集合,最后数据集进行批量写入目标源。其中,读取表table的cursor+1行到x行优选使用JDBC的流式读取,该读取方式支持大范围数据查询,避免数据量过大撑爆内存;短时间难以处理过量数据,导致内存堆积浪费;影响数据源性能。由于处理机器CPU有限,需要控制并发执行线程,使用CountDownLatch作为临时计数器,在结合线程池阻塞队列,在到达并发限制时进行阻塞等待,JDBC的流式读取,异步并发写入减少对业务库的性能影响,提高读取数据代码的健壮性和同步写入效率。其中,JDBC(Java Database Connectivity,简称JDBC)指Java数据库连接,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
任务状态汇总模块执行步骤S150,检查各个切片同步数据,是否同步完成,当所有切片完成则同步任务完成,若是其中一个切片失败则整个任务失败,任务失败通知运维人员,任务恢复后通知相关人员。
告警模块执行步骤S160,同步任务失败触发,恢复告知。
平台手动重试模块执行步骤S170,同步监控平台日志,展示所有同步任务,查切片能具体看到每个切片情况,具体可以重试某个同步任务、某个切片、重置切片id段后重新同步等。
超时检查模块执行步骤S180,检查未完成任务是否超时,超时进行快速失败处理,并提示任务异常中断需要人为介入,缩小故障影响。
如图2所示,步骤S210至S214,阐述了任务切片到插入目标源,完成数据同步的过程;包含的具体步骤如下:
S210,判断是否走默认切片规则;
S211,不是默认规则根据配置选择切片规则;
S212,根据切片策略进行切片;
S213,获取并发锁,控制数据插入目标的速率;其中,所述并发锁是一个并发计数器,可根据处理器配置;
S214,并发线程数据插入目标库中,提高同步速度;
其中,切片支持等分切片如图2步骤S211所示。等分切片即等长切片,将数据按配置对切片数据进行切片,如数据总量m条,每切片n条,m/n=k切片,若m%n!=0,证明不能整除,切片数m/n加一存放剩余的数量,默认切片规则,在数据源内存有限无法加载大量数据时,通过调整减少每切片同步数据量保证数据正常同步,适用绝大多数场景;以及固定切片,即按配置切片数量进行均摊,如数据总量m条,分n个切片,故每个切片k条,若m%n!=0,证明不能整除,再处理最后一个切片时需要同步剩余的所有数据,适用于频繁同步数据量又比较大,且数据源内存较大,不想产生比较多的分片数据所使用;以及支持自定义规则,可以根据需求特性进行设计重新实现切片规则。切片与数据的联系方式如下:在同步数据有唯一标识字段时,给每个切片分配一段id段进行标识并记录对应数据源的数据片段,标识这个切片的id段并映射对应的源数据,当重试、清理数据时可根据这个id段进行批量清除和重新同步,定位切片已同步数据段SQL。具体算法为select xx from table where id>=#{startId切片记录的数据段起始id} and id<=#{endId切片记录的数据段结束始id},其中,将重试降低到m/n数据上,其中,m是重试切片数,n是总体切片数。其中,m%n公式程序上称之为取模,是数学上的除数取余数被除数m除以除数n不能整除时得到余数,能整除时得到0,所以m%n!=0是用来判断n能否被m整除。
此外,在同步数据没有唯一标识字段,但有排序字段时,记录切片数据段的起始排序字段值以及切片数据量,这样起始排序字段值和切片数据量就能定位到切片各自同步的数据段,定位切片已同步数据段SQL,具体算法如下:select xx from table where 排序字段>=#{切片记录的起始排序字段值} limit #{切片需同步的数据量}。这一方式的技术优势在于在没有唯一标识字段的情况下也能够实现切片与数据的联系。
如图3所示,步骤S310至S323,阐述了同步监控的过程;包含的具体步骤如下:
S310,同步任务进入同步流程,记录任务为同步中状态;
S311,按配置的切片规则进行切片,并记录切片同步中状态;
S312-1,完成各切片进行数据同步;
S312-2,若整体切片失败,根据配置重试次数进行重试若超重试次数还是失败,将任务更新为状态,若单个切片失败,也进行重试若超重试次数更新单个切片为失败状态;
S313,所有切片数据同步结束,更新任务为同步结束状态,记录耗时,开始检查同步结果;
S314,开始检查同步结果,做一些预备,获取同步检查锁,检查任务状态是否失败,失败整体就是失败,给处理人发送失败通知,任务非同步结束状态中断检查;
S315,是否配置规则链;
S316-1,获取配置的规则链;
S316-2,获取默认的规则链;
S317-1,按规则链,中的检查规则一一进行检查,如检查切片数量,抽样检查,也支持自定的检查规则;其中,本发明支持随机抽样数量可配置,也支持从切片前中后分段抽取样数据可配置进行检查。
S317-2,默认规则链,只包含检查切片的数据量在数据源和目标源中是否一致;
S318,检查切片能走完规则链,是证明所有规则都通过,切片同步完成,否则切片失败;
S319-1,切片同步完成更新切片为同步完成状态;
S319-2,切片同步失败更新切片为同步失败状态;
S320,汇总所有切片结果;
S321,检查若是所有切片都正常通过规则链则,都完成,否则有失败的;
S322-1,所有切片完成,发送结果;
S322-2,所有切片存在未完成,发送结果;
S323,根据通知策略通知处理人,若是所有切片完成,且该任务曾经有发过失败通知,此次发送恢复通知,没有发过失败通知则根据配置决定是否发送完成通知;若是存在未完成,判断是否在30分钟内已经发过失败通知,若是不处理,若不是则发送失败通知,通知策略支持自定义实现。
本发明提供的多数据源数据同步监控方法及系统,通过集成多种数据源以适应多种数据来源,支持插件化数据转换策略、告警策略,保障生成目标数据得以可视化监控,重试操作,将数据分批处理小维度监控数据或重新处理。从而保证数据同步接入的灵活、清晰、便捷有效以及监控。
在本说明书的描述中,参考术语“实施例”、“示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,本领域的技术人员可以在不产生矛盾的情况下,将本说明书中描述的不同实施例或示例以及其中的特征进行结合或组合。
上述内容虽然已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型等更新操作。

Claims (10)

1.一种多数据源数据同步监控方法,其特征在于,所述方法包括以下步骤:
S110,根据渠道分配生成对应同步任务;
S120根据任务设置的数据来源,确定与之对应的处理器;
S130,将任务交给数据处理器进行切片;在切片成功的情况下,进入步骤S140,在切片失败的情况下,进入步骤S160;
S140,数据读取、数据组装、数据异步批量写入和并发控制;在数据异步写入成功的情况下,进入步骤S150;在数据异步写入失败的情况下,进入步骤S160;
S150,检查各个切片同步数据,是否同步完成,当所有切片完成则同步任务完成,若是其中一个切片失败则整个任务失败,任务失败通知运维人员,任务恢复后通知相关人员;
S160,同步任务失败触发,恢复告知;
S170,同步监控平台日志,展示所有同步任务,查切片能具体看到每个切片情况,重试某个同步任务、某个切片、以及重置切片id段后重新同步。
2.根据权利要求1所述的多数据源数据同步监控方法,其特征在于,所述方法还包括步骤S180,检查步骤S120中的未完成任务是否超时,超时进行快速失败处理,并提示任务异常中断需要人为介入。
3.根据权利要求2所述的多数据源数据同步监控方法,其特征在于,步骤S130中,处理器按切片策略进行切片,切片包括两种策略方式,一种是等分切片,将数据按配置对切片数据进行切片,数据总量m条,每切片n条,m/n=k切片,若m%n!=0,证明不能整除,切片数m/n加一存放剩余的数量;另一种是固定切片,按配置切片数量进行均摊,数据总量m条,分n个切片,故每个切片k条,若m%n!=0,证明不能整除,再处理最后一个切片时需要同步剩余的所有数据;切片与数据的联系方式如下:在同步数据有唯一标识字段时,给每个切片分配一段id段进行标识并记录对应数据源的数据片段,标识这个切片的id段并映射对应的源数据,当重试、清理数据时可根据这个id段进行批量清除和重新同步,定位切片已同步数据段SQL,将重试降低到m/n数据上,其中,m是重试切片数,n是总体切片数;
任务切片到插入目标源完成数据同步的过程包含如下子步骤:
S210,判断是否走默认切片规则;
S211,不是默认规则根据配置选择切片规则;
S212,根据切片策略进行切片;
S213,获取并发锁,控制数据插入目标的速率;
S214,并发线程数据插入目标库中,提高同步速度。
4.根据权利要求3所述的多数据源数据同步监控方法,其特征在于,步骤S140中,首先根据读取方式获取数据;然后根据处理器数据组装策略组装数据集合,最后数据集进行批量写入目标源;读取方式包括读取表的y行到x行使用JDBC的流式读取;控制并发执行线程,使用CountDownLatch计数器作为临时计数器,在结合线程池阻塞队列,在到达并发限制时进行阻塞等待。
5.根据权利要求4所述的多数据源数据同步监控方法,其特征在于,步骤S170中,同步监控的过程包含如下子步骤:
S310,同步任务进入同步流程,记录任务为同步中状态;
S311,按配置的切片规则进行切片,并记录切片同步中状态;
S312-1,完成各切片进行数据同步;
S312-2,若整体切片失败,根据配置重试次数进行重试若超重试次数还是失败,将任务更新为状态,若单个切片失败,也进行重试若超重试次数更新单个切片为失败状态;
S313,所有切片数据同步结束,更新任务为同步结束状态,记录耗时,开始检查同步结果;
S314,开始检查同步结果,做预备,获取同步检查锁,检查任务状态是否失败,若失败则发送失败通知,任务非同步结束状态中断检查;
S315,是否配置规则链;
S316-1,获取配置的规则链;
S316-2,获取默认的规则链;
S317-1,按规则链,中的检查规则一一进行检查,包括检查切片数量;
S317-2,默认规则链,只包含检查切片的数据量在数据源和目标源中是否一致;
S318,检查切片能走完规则链,则证明所有规则都通过,切片同步完成,否则切片同步失败;
S319-1,切片同步完成更新切片为同步完成状态;
S319-2,切片同步失败更新切片为同步失败状态;
S320,汇总所有切片结果;
S321,检查所有切片是否都正常通过规则链;
S322-1,所有切片完成,发送完成结果;
S322-2,所有切片存在未完成,发送未完成结果;
S323,根据通知策略通知处理人,若是所有切片完成,且该任务曾经有发过失败通知,此次发送恢复通知,若没有发过失败通知则根据配置决定是否发送完成通知;若是存在未完成,判断是否在30分钟内已经发过失败通知,若是不处理,若不是则发送失败通知。
6.一种多数据源数据同步监控系统,其特征在于,所述系统包括任务分配模块、任务切片模块、数据同步模块、任务状态汇总模块、平台手动重试模块和超时检查模块7个部分组成,所述系统用于实现根据权利要求1-5任一项所述的方法。
7.根据权利要求6所述的多数据源数据同步监控系统,其特征在于,所述任务分配模块实现的功能在于接收各业务平台的同步数据消息进行任务归类分派,包括步骤S110,根据渠道分配生成对应同步任务,和S120,根据任务设置的数据来源,决定走哪个处理器。
8.根据权利要求7所述的多数据源数据同步监控系统,其特征在于,任务切片模块执行步骤S130的切片任务,处理器按切片策略进行切片,在同步数据有唯一序列标识的情况下,则给每个切片分配一段id段进行标识并记录对应数据源的数据片段,标识这个切片的id段并映射对应的源数据,在没有需要结合游标和切片数据量标识切片同步的数据段的情况下,两个策略方式根据数据源的特性进行独特搭配完成数据段与切片的关联。
9.根据权利要求8所述的多数据源数据同步监控系统,其特征在于,任务状态汇总模块执行步骤S150,检查各个切片同步数据,是否同步完成,当所有切片完成则同步任务完成,若是其中一个切片失败则整个任务失败,任务失败进行失败提示,任务恢复后进行恢复提示。
10.根据权利要求9所述的多数据源数据同步监控系统,其特征在于,告警模块执行步骤S160,同步任务失败触发,恢复告知;平台手动重试模块执行步骤S170,同步监控平台日志,展示所有同步任务,查切片能具体看到每个切片情况;超时检查模块执行步骤S180,检查未完成任务是否超时,超时进行快速失败处理,并提示任务异常中断。
CN202210750912.5A 2022-06-29 2022-06-29 一种多数据源数据同步监控方法及系统 Active CN114840393B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210750912.5A CN114840393B (zh) 2022-06-29 2022-06-29 一种多数据源数据同步监控方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210750912.5A CN114840393B (zh) 2022-06-29 2022-06-29 一种多数据源数据同步监控方法及系统

Publications (2)

Publication Number Publication Date
CN114840393A true CN114840393A (zh) 2022-08-02
CN114840393B CN114840393B (zh) 2022-09-30

Family

ID=82573532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210750912.5A Active CN114840393B (zh) 2022-06-29 2022-06-29 一种多数据源数据同步监控方法及系统

Country Status (1)

Country Link
CN (1) CN114840393B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328667A (zh) * 2022-10-18 2022-11-11 杭州比智科技有限公司 基于flink任务指标监控实现任务资源弹性伸缩系统及方法
CN116567007A (zh) * 2023-07-10 2023-08-08 长江信达软件技术(武汉)有限责任公司 一种基于任务切分的微服务水利数据共享交换方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160147857A1 (en) * 2013-08-01 2016-05-26 OMS Software GMBH Method and system for synchronizing data
CN106156165A (zh) * 2015-04-16 2016-11-23 阿里巴巴集团控股有限公司 异构数据源之间的数据同步方法和装置
CN106557364A (zh) * 2015-09-24 2017-04-05 阿里巴巴集团控股有限公司 一种数据同步方法和系统
US9955444B1 (en) * 2014-11-05 2018-04-24 PubNub Inc. Data synchronization across multiple devices connecting to multiple data centers
CN109766330A (zh) * 2018-12-29 2019-05-17 北京三快在线科技有限公司 数据分片方法、装置、电子设备及存储介质
CN110287258A (zh) * 2019-06-26 2019-09-27 深圳前海微众银行股份有限公司 一种基于双数据源的数据同步处理方法及装置
US20200242131A1 (en) * 2019-01-25 2020-07-30 Wangsu Science & Technology Co., Ltd. Method and device for synchronizing data
US20200293532A1 (en) * 2017-09-14 2020-09-17 Savizar, Inc. Database engine
CN112597242A (zh) * 2020-12-16 2021-04-02 四川新网银行股份有限公司 一种基于涉及批量任务的应用系统数据切片的抽取方法
CN113296917A (zh) * 2021-07-26 2021-08-24 北京元知创智科技有限公司 多业务系统业务事件订阅调度方法、电子设备及存储介质
CN114036238A (zh) * 2021-11-23 2022-02-11 深信服科技股份有限公司 数据同步方法、装置、设备及存储介质
US20220156285A1 (en) * 2020-11-16 2022-05-19 Prescient Healthcare Group Limited Data Tagging And Synchronisation System

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160147857A1 (en) * 2013-08-01 2016-05-26 OMS Software GMBH Method and system for synchronizing data
US9955444B1 (en) * 2014-11-05 2018-04-24 PubNub Inc. Data synchronization across multiple devices connecting to multiple data centers
CN106156165A (zh) * 2015-04-16 2016-11-23 阿里巴巴集团控股有限公司 异构数据源之间的数据同步方法和装置
CN106557364A (zh) * 2015-09-24 2017-04-05 阿里巴巴集团控股有限公司 一种数据同步方法和系统
US20200293532A1 (en) * 2017-09-14 2020-09-17 Savizar, Inc. Database engine
CN109766330A (zh) * 2018-12-29 2019-05-17 北京三快在线科技有限公司 数据分片方法、装置、电子设备及存储介质
US20200242131A1 (en) * 2019-01-25 2020-07-30 Wangsu Science & Technology Co., Ltd. Method and device for synchronizing data
CN110287258A (zh) * 2019-06-26 2019-09-27 深圳前海微众银行股份有限公司 一种基于双数据源的数据同步处理方法及装置
US20220156285A1 (en) * 2020-11-16 2022-05-19 Prescient Healthcare Group Limited Data Tagging And Synchronisation System
CN112597242A (zh) * 2020-12-16 2021-04-02 四川新网银行股份有限公司 一种基于涉及批量任务的应用系统数据切片的抽取方法
CN113296917A (zh) * 2021-07-26 2021-08-24 北京元知创智科技有限公司 多业务系统业务事件订阅调度方法、电子设备及存储介质
CN114036238A (zh) * 2021-11-23 2022-02-11 深信服科技股份有限公司 数据同步方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张渊源等: "JTangSync分布式异构数据同步系统的设计与实现", 《计算机技术与发展》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328667A (zh) * 2022-10-18 2022-11-11 杭州比智科技有限公司 基于flink任务指标监控实现任务资源弹性伸缩系统及方法
CN116567007A (zh) * 2023-07-10 2023-08-08 长江信达软件技术(武汉)有限责任公司 一种基于任务切分的微服务水利数据共享交换方法
CN116567007B (zh) * 2023-07-10 2023-10-13 长江信达软件技术(武汉)有限责任公司 一种基于任务切分的微服务水利数据共享交换方法

Also Published As

Publication number Publication date
CN114840393B (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
CN114840393B (zh) 一种多数据源数据同步监控方法及系统
CN108170768B (zh) 数据库同步方法、装置及可读介质
EP0802477B1 (en) Event notification in a computing system having a plurality of storage devices
CN107515874B (zh) 一种分布式非关系型数据库中同步增量数据的方法与设备
US8051041B2 (en) Apparatus and method for file difference management
CN111259004B (zh) 一种存储引擎中数据索引的方法以及相关装置
CN112905390A (zh) 日志数据备份方法、装置、设备及存储介质
US7506117B2 (en) Data recovery method for computer system
EP3697024B1 (en) Data processing method, device and distributed storage system
CN114661816B (zh) 数据同步方法、装置、电子设备、存储介质
CN113420032A (zh) 一种日志的分类存储方法及装置
CN115878052B (zh) Raid阵列巡检方法、巡检装置和电子设备
CN111753015B (zh) 支付清算系统的数据查询方法及装置
CN111639132A (zh) 日志同步方法及设备
EP2075701B1 (en) Storage control apparatus and storage control method
CN116489005A (zh) 一种日志服务系统及日志处理方法
CN117112656A (zh) 一种科技志愿服务管理的一体化信息智能管理系统及方法
CN110543452B (zh) 一种数据采集的方法及设备
CN114697204A (zh) 一种分布式系统的日志收集方法及系统
CN114238324A (zh) 用于主机站点的检查方法及装置、电子设备及存储介质
CN111858738A (zh) 数据信息传输方法、装置及计算机可读介质
CN104199930A (zh) 数据采集及处理的系统及方法
CN112925697B (zh) 作业差异监控方法、装置、设备及介质
CN118210659B (zh) 灾备存储系统的管理方法、设备、系统、产品及存储介质
CN113609199A (zh) 数据库系统、服务器及存储介质

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