CN117032950A - 基于日志的实时数据透传方法及系统 - Google Patents

基于日志的实时数据透传方法及系统 Download PDF

Info

Publication number
CN117032950A
CN117032950A CN202310838629.2A CN202310838629A CN117032950A CN 117032950 A CN117032950 A CN 117032950A CN 202310838629 A CN202310838629 A CN 202310838629A CN 117032950 A CN117032950 A CN 117032950A
Authority
CN
China
Prior art keywords
vpa
log
resource
real
data
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.)
Pending
Application number
CN202310838629.2A
Other languages
English (en)
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.)
Qimai Technology Co ltd
Original Assignee
Qimai 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 Qimai Technology Co ltd filed Critical Qimai Technology Co ltd
Priority to CN202310838629.2A priority Critical patent/CN117032950A/zh
Publication of CN117032950A publication Critical patent/CN117032950A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提出了基于日志的实时数据透传方法及系统,解决了现有离线透传技术存在研发成本高、数据稳定性和实时准确性得不到保障等问题,其主要技术方案包括:S1、通过flink集群实时解析源数据源的Binlog日志文件,将源数据库中触发的dml日志实时解析到数据传输队列中,同时对应写入至业务库中;S2、将flink集群结合k8s容器话部署,依据内存资源和CPU资源使用情况在业务高峰期时段自动扩容,扩容算法依据VPA扩容算法,用于依据容器资源使用率自动设置CPU和内存的请求库,从而允许在节点上对应调度每个容器资源。

Description

基于日志的实时数据透传方法及系统
技术领域
本发明涉及数据传输技术领域,尤其涉及基于日志的实时数据透传方法及系统。
背景技术
对于每个品牌的企业而言,都会有自身的数据需求和数据中台,用于自身业务的数据分析,对账,留存等各种场景。
当前主流的技术平台多利用离线透传技术进行定时从数据库中进行抽取,比如需要抽取订单数据,通过datax等开源工具技术,在凌晨的时候链接到对应的数据库中,进行离线数据抽取,抽取完成后通过公网写入到对方数据库中。
概括来说,上面传统方案,存在如下缺点:
1)开发成本高,针对每个业务都需要进行单独的开发,研发成本高;
2)批量的抽取数据对源端业务库压力大,会影响业务系统的稳定性;
3)通过批量抽取,由于是走公网传输,大数据量的传输,会出现丢数据的情况,数据的准确性得不到保障;
4)用户体验不好,离线透传,数据实时性得不到保障。
发明内容
本发明要解决的技术问题是克服现有技术存在的缺陷,本发明提出了一种能够对业务数据实时存储并自动扩容的基于日志的实时数据透传系统。
为解决上述技术问题,本发明采用的技术方案是:一种基于日志的实时数据传输方法,包括如下步骤:
S1、通过flink集群实时解析源数据源的Binlog日志文件,将源数据库中触发的dml日志实时解析到数据传输队列中,同时对应写入至业务库中;
S2、将flink集群结合k8s容器话部署,依据内存资源和CPU资源使用情况在业务高峰期时段自动扩容,扩容算法依据VPA扩容算法,用于依据容器资源使用率自动设置CPU和内存的请求库,从而允许在节点上对应调度每个容器资源
进一步地,所述VPA扩容算法具体扩容步骤为,
用户配置VPA,VPA Recommender从指标服务器读取VPA配置和资源利用率指标;
VPA Recommender提供pod资源推荐,VPA更新程序读取pod资源建议;
部署终止,重新创建pod以匹配其副本配置,当pod位于重新创建过程中时,VPA准入控制器获取Pod资源推荐,终止使用过时限制的pod,当pod的控制器请求替换时,VPA准入控制器将更新的资源请求和限制值注入到新的pod规范中;
VPA准入控制器将建议覆盖到所有容器。
进一步地,所述数据源能够通过不同SQL语法转化,其包括Mysql、Oracle、tidb与sql server。
一种基于日志的实时数据透传系统,包括:
web模块,用以存储源数据以及系统交互;
解析模块,用以解析源数据中日志文件并提交任务至flink集群;
存储集群,用以在flink集群上结合k8s部署并采用VPA扩容算法实现动态资源扩展。
进一步地,所述web模块用以后续任务维护,包括ddl批量维护、管理数据透传任务、异常任务预警。
进一步地,所述管理数据透传任务包括创建、修改、启动、日志查看与告警配置。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的基于日志的实时数据透传方法的步骤
一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时用于实现上述基于日志的实时数据透传方法的步骤。
与现有技术相比,本发明的有益效果包括:
1、采用binlog+消息队列+flink构建了实时数据传输通道,确保业务数据能够实时从系统平台传递到商家自己的数据中心;
2、针对数据的容量以及传输的数据规模,能够自动化进行弹性扩容,确保大容量的数据传输;
3、做了智能化的数据解析能够完成异构是数据平台的同步,例如将mysql转变成oracle、db2等异构数据库。
附图说明
参照附图来说明本发明的公开内容。应当了解,附图仅仅用于说明目的,而并非意在对本发明的保护范围构成限制。在附图中,相同的附图标记用于指代相同的部件。其中:
图1示意性显示了根据本发明一个实施方式提出的系统结构示意图。
具体实施方式
容易理解,根据本发明的技术方案,在不变更本发明实质精神下,本领域的一般技术人员可以提出可相互替换的多种结构方式以及实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
根据本发明的一实施方式结合图1示出。
目前,对于实现源数据mysql库到目标库oracle的同步,需要通过数据连接mysql数据库批量查询数据,然后数据保存到内存中,之后再将内存中的数据写入到oracle数据库中,整个过程中需要占用数据库的连接数和IO资源,会对业务侧有很大的侵入性,数据系统和业务系统存在很大的耦合,互相存在影响;
在本实施例中,通过使用flink技术,不需要占用数据库的连接数和IO资源,直接使用源数据源的Binlog日志文件(业务数据库会将各类操作行为记录形成日志),flink集群直接读取Binlog日志文件,不会侵入原有业务系统,数据系统和业务系统完全解耦开。
同时flink集群支持实时解析Binlog日志文件;将业务数据库中触发的dml日志进行实时解析到数据传输队列中。比如update 10条业务数据,binlog日志会解析出10条日志数据到队列中。通过flink集群实时读取操作日志,避免三方直接操作查询业务库,造成业务系统波动,实时的写入到对方的业务库中,从而保证数据的实时性。
在系统部署上,flink集群还结合k8s的形式进行部署,能够实现动态资源的扩展;原有flink集群基于hadoop yarn运行,随着业务量的增加,需要手动扩容服务器,但是整体业务数据是存在峰值波动变化,只会在业务高峰期需要更多的集群机器资源,日常绝大数时间并不需要长时间维护很大规模的计算资源,这时候会存在计算资源的浪费闲置,通过k8s容器话部署,在业务高峰期时段自动扩容计算资源,能够快速的进行扩容,满足大容量业务数据透传需求。
对于扩容算法,flink计算集群和普通的业务系统扩容存在一定区别,业务系统更多考虑cpu使用率和磁盘使用情况来判定k8s集群扩容,大数据计算更侧重内存资源和cpu资源的使用情况来判定,在本实施例中依托的是kubernetes VPA(Vertical PodAutoscaler)扩容算法,即垂直Pod自动扩缩容,它根据容器资源使用率自动设置CPU和内存的requests,从而允许在节点上进行适当的调度,以便为每个Pod提供适当的资源,能够节省大量的硬件成本,同时可以快速的满足业务资源的诉求。
扩容具体步骤为:
用户配置VPA,VPA Recommender从指标服务器读取VPA配置和资源利用率指标;
VPA Recommender提供pod资源推荐,VPA更新程序读取pod资源建议;
部署终止,重新创建pod以匹配其副本配置,当pod位于重新创建过程中时,VPA准入控制器获取Pod资源推荐,终止使用过时限制的pod,当pod的控制器请求替换时,VPA准入控制器将更新的资源请求和限制值注入到新的pod规范中;
VPA准入控制器将建议覆盖到所有容器。
pod适用于需要明确的数据底层操作的系统中,pod通常被用在系统的边界处,即指不同系统之间只能以底层数据的形式进行交互,系统的高层逻辑不能互相兼容,在本实施例中,VPA准入控制器向pod添加了一个“250m”的CPU以供资源调度。
同样的,如图1所示,基于上述方法步骤的平台系统的构建,包括:
web模块,用以存储源数据以及系统交互;
解析模块,用以解析源数据中日志文件并提交任务至flink集群;
存储集群,用以在flink集群上结合k8s部署并采用VPA扩容算法实现动态资源扩展。
此平台系统能够同时能够支持异构平台的数据传输,通过不同的SQL语法转换,可以写入到多类数据源,包括且不限于Mysql,Oracle,tidb,sql server等。
通过平台化的构造,支持对后续任务的维护,比如ddl的批量维护,同时能够管理数据透传任务,包括但不限于任务创建,修改,启动,日志查看,告警配置等功能;针对日常任务异常,可以快速电话钉钉告警给开发人员,确保日常运维工作。
而对于新增的数据,只需进行提交对应sql数据源即可,能够实现五分钟完成开发。
本发明的技术范围不仅仅局限于上述说明中的内容,本领域技术人员可以在不脱离本发明技术思想的前提下,对上述实施例进行多种变形和修改,而这些变形和修改均应当属于本发明的保护范围内。

Claims (8)

1.一种基于日志的实时数据传输方法,其特征在于,包括如下步骤:
S1、通过flink集群实时解析源数据源的Binlog日志文件,将源数据库中触发的dml日志实时解析到数据传输队列中,同时对应写入至业务库中;
S2、将flink集群结合k8s容器话部署,依据内存资源和CPU资源使用情况在业务高峰期时段自动扩容,扩容算法依据VPA扩容算法,用于依据容器资源使用率自动设置CPU和内存的请求库,从而允许在节点上对应调度每个容器资源。
2.根据权利要求1所述的一种基于日志的实时数据传输方法,其特征在于:所述VPA扩容算法具体扩容步骤为,
用户配置VPA,VPA Recommender从指标服务器读取VPA配置和资源利用率指标;
VPA Recommender提供pod资源推荐,VPA更新程序读取pod资源建议;
部署终止,重新创建pod以匹配其副本配置,当pod位于重新创建过程中时,VPA准入控制器获取Pod资源推荐,终止使用过时限制的pod,当pod的控制器请求替换时,VPA准入控制器将更新的资源请求和限制值注入到新的pod规范中;
VPA准入控制器将建议覆盖到所有容器。
3.根据权利要求1所述的一种基于日志的实时数据传输方法,其特征在于:所述数据源能够通过不同SQL语法转化,其包括Mysql、Oracle、tidb与sql server。
4.一种基于日志的实时数据透传系统,其特征在于,包括:
web模块,用以存储源数据以及系统交互;
解析模块,用以解析源数据中日志文件并提交任务至flink集群;
存储集群,用以在flink集群上结合k8s部署并采用VPA扩容算法实现动态资源扩展。
5.根据权利要求4所述的一种基于日志的实时数据透传系统,其特征在于:所述web模块用以后续任务维护,包括ddl批量维护、管理数据透传任务、异常任务预警。
6.根据权利要求5所述的一种基于日志的实时数据透传系统,其特征在于:所述管理数据透传任务包括创建、修改、启动、日志查看与告警配置。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述程序时实现如权利要求1至3任一项所述的基于日志的实时数据透传方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时用于实现上述权利要求1至3任一项所述的基于日志的实时数据透传方法的步骤。
CN202310838629.2A 2023-07-10 2023-07-10 基于日志的实时数据透传方法及系统 Pending CN117032950A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310838629.2A CN117032950A (zh) 2023-07-10 2023-07-10 基于日志的实时数据透传方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310838629.2A CN117032950A (zh) 2023-07-10 2023-07-10 基于日志的实时数据透传方法及系统

Publications (1)

Publication Number Publication Date
CN117032950A true CN117032950A (zh) 2023-11-10

Family

ID=88638020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310838629.2A Pending CN117032950A (zh) 2023-07-10 2023-07-10 基于日志的实时数据透传方法及系统

Country Status (1)

Country Link
CN (1) CN117032950A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110086674A (zh) * 2019-05-06 2019-08-02 山东浪潮云信息技术有限公司 一种基于容器的应用高可用实现方法及系统
CN111008246A (zh) * 2019-11-26 2020-04-14 中盈优创资讯科技有限公司 数据库日志同步方法、装置、计算机设备及可读存储介质
CN111275391A (zh) * 2019-12-24 2020-06-12 中信百信银行股份有限公司 在线式资产智能分发系统和方法
CN113037794A (zh) * 2019-12-25 2021-06-25 马上消费金融股份有限公司 计算资源配置调度方法、装置及系统
WO2022016808A1 (zh) * 2020-07-22 2022-01-27 中国科学院深圳先进技术研究院 一种kubernetes集群资源动态调整方法及电子设备
CN114116842A (zh) * 2021-11-25 2022-03-01 上海柯林布瑞信息技术有限公司 多维医疗数据实时获取方法、装置、电子设备及存储介质
CN114238516A (zh) * 2021-12-21 2022-03-25 浙江太美医疗科技股份有限公司 数据同步方法、系统及计算机可读介质
CN114518955A (zh) * 2021-12-27 2022-05-20 浪潮云信息技术股份公司 一种基于kubernetes的Flink云原生部署架构方法及系统
CN116069791A (zh) * 2022-12-04 2023-05-05 江苏研码科技有限公司 一种数据的处理方法和装置、计算机设备
WO2023103865A1 (zh) * 2021-12-07 2023-06-15 中兴通讯股份有限公司 容器预加载方法、电子设备及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110086674A (zh) * 2019-05-06 2019-08-02 山东浪潮云信息技术有限公司 一种基于容器的应用高可用实现方法及系统
CN111008246A (zh) * 2019-11-26 2020-04-14 中盈优创资讯科技有限公司 数据库日志同步方法、装置、计算机设备及可读存储介质
CN111275391A (zh) * 2019-12-24 2020-06-12 中信百信银行股份有限公司 在线式资产智能分发系统和方法
CN113037794A (zh) * 2019-12-25 2021-06-25 马上消费金融股份有限公司 计算资源配置调度方法、装置及系统
WO2022016808A1 (zh) * 2020-07-22 2022-01-27 中国科学院深圳先进技术研究院 一种kubernetes集群资源动态调整方法及电子设备
CN114116842A (zh) * 2021-11-25 2022-03-01 上海柯林布瑞信息技术有限公司 多维医疗数据实时获取方法、装置、电子设备及存储介质
WO2023103865A1 (zh) * 2021-12-07 2023-06-15 中兴通讯股份有限公司 容器预加载方法、电子设备及存储介质
CN114238516A (zh) * 2021-12-21 2022-03-25 浙江太美医疗科技股份有限公司 数据同步方法、系统及计算机可读介质
CN114518955A (zh) * 2021-12-27 2022-05-20 浪潮云信息技术股份公司 一种基于kubernetes的Flink云原生部署架构方法及系统
CN116069791A (zh) * 2022-12-04 2023-05-05 江苏研码科技有限公司 一种数据的处理方法和装置、计算机设备

Similar Documents

Publication Publication Date Title
WO2022126974A1 (zh) 基于Kafka的增量数据同步方法、装置、设备及介质
CN103440290A (zh) 大数据加载系统和方法
CN105426419B (zh) 异构系统间数据升迁系统和方法
CN108536778A (zh) 一种数据应用共享平台及方法
CN111708841A (zh) 数据库数据同步方法及装置
CN114647716B (zh) 一种适用于泛化数据仓库的系统
CN103942330A (zh) 一种大数据的处理方法、系统
CN103365740B (zh) 一种数据冷备方法及装置
CN116166191A (zh) 湖仓一体系统
CN111913933A (zh) 基于统一支撑平台的电网历史数据管理方法及系统
CN115794941A (zh) 跨区域的数据同步方法、系统及计算机可读介质
CN114416868A (zh) 一种数据同步方法、装置、设备及存储介质
CN117032950A (zh) 基于日志的实时数据透传方法及系统
CN111797166B (zh) 准实时简历数据同步方法和装置、电子设备及介质
CN112434010A (zh) 一种用电信息采集系统主站数据库的交互方法
CN112667393A (zh) 分布式任务计算调度框架搭建的方法、装置及计算机设备
CN111258977A (zh) 一种税务大数据存储及分析平台
CN111178911A (zh) 一种基于双活技术的客服工单处理方法及系统
CN104778180A (zh) 云存储元数据处理系统
CN116567007B (zh) 一种基于任务切分的微服务水利数据共享交换方法
CN116644039B (zh) 一种基于大数据的在线能力运营日志自动采集分析的方法
CN111753010B (zh) 铁路接触网的数据采集网络架构及实现方法
CN116775665B (zh) 一种基于高速公路日常运维管理的全自动任务发布系统
WO2021218280A1 (en) Data storage and data retrieval methods and devices
CN117171132A (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