CN110704401A - 数据处理方法、装置、电子设备及存储介质 - Google Patents

数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110704401A
CN110704401A CN201910960510.6A CN201910960510A CN110704401A CN 110704401 A CN110704401 A CN 110704401A CN 201910960510 A CN201910960510 A CN 201910960510A CN 110704401 A CN110704401 A CN 110704401A
Authority
CN
China
Prior art keywords
information
data
data processing
incremental
database
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
CN201910960510.6A
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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201910960510.6A priority Critical patent/CN110704401A/zh
Publication of CN110704401A publication Critical patent/CN110704401A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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

Landscapes

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

Abstract

本公开的实施例提供了一种数据处理方法、装置、电子设备及存储介质。该方法包括:响应于数据库的数据变更,通过数据库发送增量信息;通过采集组件接收增量信息并且进行解析,得到解析信息;通过消息发布***发送解析信息,其中,解析信息包括合并信息和非合并信息;通过存储器记录合并信息和非合并信息的更改时间。本公开的数据处理方法和数据处理模块提供了数据库DB层面的数据收敛,提供了数据的双流设计,并且提供了统一的容灾机制,能够对上游屏蔽这个模块的操作和避免在这个模块层面中出现问题。

Description

数据处理方法、装置、电子设备及存储介质
技术领域
本公开的实施例涉及计算机技术领域,更具体地,涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
目前,对数据库(DB)采用定时增量加全量查询方式,例如,采用定时增量拉取方式。即,数据链路的同步几乎都是采用数据定时拉取方式,从而产生数据延迟,不能很好地做到数据的实时同步。另外,目前也缺乏具有良好容灾机制的数据服务模块。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
为了解决上述问题,本公开提供了一种数据处理方法、装置、电子设备及存储介质,本公开的数据处理方法和数据处理模块能够提供双数据流机制以及统一的容灾机制,让用户无感知地获得良好的数据服务。
根据本公开的一个实施例,提供了一种数据处理方法,包括:响应于数据库的数据变更,通过所述数据库发送增量信息;通过采集组件接收所述增量信息并且对所述增量信息进行解析,得到解析信息;通过消息发布***发送所述解析信息,其中,所述解析信息包括合并信息和非合并信息;通过存储器记录所述合并信息和所述非合并信息的更改时间。
根据本公开的另一实施例,提供了一种数据处理装置,包括:数据库,响应于所述数据库的数据变更,从所述数据库发出增量信息;采集组件,接收所述增量信息并且对所述增量信息进行解析,得到解析信息;消息发布***,用于发送所述解析信息,其中,所述解析信息包括合并信息和非合并信息;存储器,用于维护所述合并信息和所述非合并信息的消费位点和更改时间的映射。
根据本公开的另一实施例,提供了一种电子设备,所述电子设备包括:至少一个存储器和至少一个处理器;其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器所存储的程序代码以执行上述数据处理方法。
根据本公开的另一实施例,提供了一种计算机存储介质,所述计算机存储介质存储有程序代码,所述程序代码用于执行上述数据处理方法。
通过采用本公开的数据处理方法和数据处理装置,提供了数据库DB层面的数据收敛,提供了数据的双流设计,并且提供了统一的容灾机制,能够对上游屏蔽这个模块的操作和避免在这个模块层面中出现问题。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1示出了现有的数据处理方式。
图2示出了本公开的实施例的数据处理方法的示意流程图。
图3示出了本公开的实施例的数据处理方式的示意图。
图4示出了本公开的实施例的数据处理装置的示意图。
图5示出了本公开的实施例的数据处理方法的示意流程图。
图6示出了本公开的获取方式的切换的示意图。
图7示出了适于用来实现本公开的实施例的电子设备700的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
目前,如图1所示,假如存在四个集群,每个集群一个主库,共四台机器,分别为主库1、主库2、主库3和主库4,通过竞争的方式选举出的唯一一台机器主库1,主要职责定时对ad表按照产生时间分片全量计算数据id,并将数据id写入外部存储器(通常为redis)。主库2-4是每个集群通过电子通用技术文档(ectd)配置的唯一一台机器,主要职责通过读取redis中的在投广告id,之后对DB进行广告id查询,拼装广告数据,并将拼装数据写入相应的文件存储。从库(图1中未示出)为非主库的机器,当主库完成文件的写入会发消息通知同集群其它从库机器,从库收到消息会读取当前集群对应的文件进行加载,获得增量数据。由此可知,主库1可以对数据库DB进行全量查询,主库2-4可以定期拉取redis中的广告id,并且通过id方式对DB进行查询。
目前的数据同步方式依然存在对DB的大量查询,另外,数据查询仍然采用定时拉取(例如,每10s),无法做到实时同步。
本公开提供了一种数据处理或同步方法,可以降低对DB的查询压力,并且能够做到数据的实时同步。下面本公开以广告数据为例进行说明,然而,本公开并不限于此。
下面结合图2和图3进行说明。如图2所示,本公开提供的方法包括S101,响应于数据库DB的数据变更,从DB发出增量信息,其中,该增量消息是基于binlog的增量消息。因此,本公开的方法将不再例如10s的定时查询,而是基于mysql的binlog增量消息。在DB中发生数据更改时,会发出binlog消息。binlog是MySQL的二进制日志,它记录了所有的数据定义语言(DDL)和数据操纵语言(DML)(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间。因此,每当DB发生数据变更(例如,增加、减少、变化)时,都可以通过binlog消息通知到主库集群。
接着,方法进行到S102,binlog消息通过采集组件接收并且进行解析,得到解析信息。由于binlog消息是二进制文件,所以需要进一步的解析。另外,该采集组件可以是canal,但是本公开不限于此,可以是任何合适的用于解析binlog消息的中间件。canal是用java开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件。
然后,本公开的方法进行至S103,对解析信息进行计算处理,获得变更后的数据。通常地,经过canal解析后的解析信息通过消息发布***(例如,kafka)发送至第一数据节点(例如,主库或主库集群)。该主库集群用于消费binlog消息,实时计算并组装在投广告数据,并将计算结果通过kafka实时推送给从库集群或下游。由此,主库集群将不再提供在线服务能力,而是实时计算引擎。应该理解,上述的推送***kafka仅是示例性的,而不用于限制本公开。另外,kafka推送的信息是以队列的方式被逐步消费,为了便于描述,当前时间的被消费的信息在队列中的位置可以称为消费位点或消费进度。
因此,在DB数据发生变化之前,主库集群的内存中具有与DB同步的数据。当DB中的数据发生变更,通过binlog消息通知到主库集群,主库集群基于该变更信息,对数据进行计算和拼装,得到变更后的数据,该主库集群中的变更后的数据与DB变更后的数据再次保持同步。
另外,本公开的方法还可以包括:第二数据节点(例如,从库集群)从第一数据节点(例如,主库集群)接收推送消息并且进行处理,以更新第二数据节点的内存中的数据,使得第二数据节点的内存中的数据与第一数据节点中的变更后的数据保持一致。通过主库集群和从库集群的同步推送,保持了从库集群与DB中的数据的同步与一致。
此外,主库1可以对DB中的数据进行反查,对DB中的数据进行全量加载。
通过采用binlog消息通知模式,能够比定期拉取方式更好地保持数据的同步和一致性,减小了数据同步的延迟。
在一些实施例中,如图3所示,主库集群可以定期备份一份内存文件,在备份好后,通知从库集群进行加载。从库集群收到主库集群的通知后加载内存文件,进行全量加载。例如,在主库集成备份一份内存文件到外部存储器TBS之后,给从库集群发送信息,表示内存文件已经备份。接收到通知消息的从库此时开始缓存备份文件。从库集群中的从库一部分缓存用于提供在线服务,另一部分缓存用于存储主库集群备份到外部存储器的内存文件。在该文件加载完成之后,加载了备份文件的缓存与在线服务缓存进行替换,完成全量加载。由于该全量加载过程中从库集群中存在两个缓存,所以是一种双缓存机制。
如上所述,鉴于binlog主动通知进行增量加载的模式的优越性,本公开封装了一种独立的数据处理装置用于提供相应的数据处理服务。即,本公开将DB、canal和kafka模块层面独立封装成了一个数据处理装置,用于提供数据处理服务。图4示意性地示出了封装的数据处理装置。应该理解,该封装的装置仅是作为实例,还可以包括其他组件或模块以提供相应的功能。
参见图4和图5,前面的步骤101和102参见上面的描述。另外,存储器redis可以记录binlog处理消息的更改时间(modifyTime)。随着数据库的庞大,使用binlog的服务越来越多,同一个id可能1s内会多次变化。然而,有时其实并不需要关注id频繁修改的中间状态,只需要知道一个时间范围内的id数据变化即可。因此,可以对binlog的一些消息进行合并处理。由此,通过canal解析的解析信息可以包括合并信息和非合并信息。在步骤203中,存储器(例如,redis)可以记录合并信息和非合并信息的更改时间或消费进度。如此,当基于binlog的增量信息的发送遇到障碍时,数据节点周期性地拉取发生所述障碍时存储器记录的更改时间之后的所述数据库中的增量数据,进而进行数据的容灾处理。即,一旦binlog路径发生障碍,可以利用数据处理模块中的组件或数据节点读取存储器redis中记录的更改时间,然后数据处理装置可以切换增量数据的获取方式,通过定期拉取的方式获得DB中的增量数据,而用户是无感知的,最终能够满足用户的相应需求,从而形成了良好的容灾机制,消除这个模块发生问题的可能。
另外,如果多个机器都依赖于DB获取数据,在需要迁移DB时,binlog数据都需要进行重新接入。然而,通过本公开的数据处理装置,可以省去这些频繁接入,其他机器连接本公开的数据处理装置即可,通过该数据处理装置完成DB的迁移。
在一些实施例中,也可以控制增量数据获取方式之间的切换,例如定期拉取方式和binlog消息通知方式之间的切换。存储器可以用于维护所述合并信息和所述非合并信息的消费位点(offset)和更改时间(modifyTime)的映射。如此,当需要从binlog通知方式切换回传统的定期拉取方式来获得增量数据时,通过消费位点对应的更改时间,可以拉取该更改时间之后的增量数据。另一方面,如果从定期拉取方式更改为binlog通知方式,则可以通过消息更改时间来查询消费位点或进度,进而可以接着该消费位点继续进行消费。
如图6所示,通过存储器维护所述合并信息和所述非合并信息的消费位点和更改时间的映射,可以通过开关组件(例如,TCC开关)在两种增量数据获取模式之间进行切换。然而,这些数据获取方式的切换对于服务的用户来说可以是无感知的。用户最后获得的是期望得到的数据,而在数据处理装置中具体的操作并无感知。
本公开还提供了相应的数据处理装置,包括:数据库DB,响应于数据库的数据变更,从数据库发出增量信息;采集组件(例如,canal),接收增量信息并且进行解析,得到解析信息;消息发布***(例如,kafka),用于发送所述解析信息,其中,解析信息包括合并信息和非合并信息;存储器(例如,redis),用于维护合并信息和非合并信息的消费位点和更改时间的映射。
在一些实施例中,数据库发出的所述增量信息是基于binlog的增量消息。在一些实施例中,数据处理模块还包括:数据节点,配置为当增量信息的发送遇到障碍时,数据节点周期性地拉取发生障碍时所述存储器记录的更改时间之后的数据库中的增量数据。具体地,在binlog消息路径发生障碍时,数据节点可以通过存储器redis中记录的更改时间,然后去拉取该时间之后的时间戳版本的增量数据。在一些实施例中,数据处理模块还包括:开关模块,配置为用于在定时拉取和增量信息通知模式之间进行切换。
此外,本公开还提供一种电子设备,包括:至少一个存储器和至少一个处理器;其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器所存储的程序代码以执行上述数据处理方法。
此外,本公开还提供一种计算机存储介质,该计算机存储介质存储有程序代码,程序代码用于执行上述数据处理方法。
在一些实施例中,本公开的数据处理模块可以提供数据的公共服务,作为一个独立的模块,可以在DB层面进行较好的消息收敛,例如,在DB需要迁移时,其他模块接入该数据处理装置即可。另外,本公开的数据处理装置提供了双流设计,可以发送合并信息和非合并信息,服务于各种不用的应用场景。此外,本公开的数据处理装置提供了独立的容灾机制,在某些路径发生障碍时,能够让用户无感知地获得相应的服务,消除了在该数据处理装置内发生问题的可能。
下面参考图7,其示出了适于用来实现本公开实施例的电子设备700的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储装置706加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置706;以及通信装置709。通信装置709可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置706被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,提供了一种数据处理方法,包括:响应于数据库的数据变更,通过所述数据库发送增量信息;通过采集组件接收所述增量信息并且对所述增量信息进行解析,得到解析信息;通过消息发布***发送所述解析信息,其中,所述解析信息包括合并信息和非合并信息;通过存储器记录所述合并信息和所述非合并信息的更改时间。
根据本公开的一个或多个实施例,还包括:当所述增量信息的发送遇到障碍时,通过数据节点周期性地拉取发生所述障碍时所述存储器记录的更改时间之后的所述数据库中的增量数据。
根据本公开的一个或多个实施例,利用所述存储器维护所述合并信息和所述非合并信息的消费位点和更改时间的映射,所述映射用于在数据同步方式被切换时获得与所述消费位点对应的更改时间,以使得所述更改时间之后的数据被拉取。
根据本公开的一个或多个实施例,通过所述数据库发出的所述增量信息是基于binlog的增量信息。
根据本公开的一个或多个实施例,提供了一种数据处理装置,包括:数据库,响应于所述数据库的数据变更,从所述数据库发出增量信息;采集组件,接收所述增量信息并且对所述增量信息进行解析,得到解析信息;消息发布***,用于发送所述解析信息,其中,所述解析信息包括合并信息和非合并信息;存储器,用于维护所述合并信息和所述非合并信息的消费位点和更改时间的映射。
根据本公开的一个或多个实施例,还包括:数据节点,配置为当所述增量信息的发送遇到障碍时,所述数据节点周期性地拉取发生所述障碍时所述存储器记录的更改时间之后的所述数据库中的增量数据。
根据本公开的一个或多个实施例,所述数据库发出的所述增量信息是基于binlog的增量消息。
根据本公开的一个或多个实施例,还包括开关模块,配置为用于在定时拉取和增量信息通知模式之间进行切换。
根据本公开的一个或多个实施例,提供了一种电子设备,所述电子设备包括:至少一个存储器和至少一个处理器;其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器所存储的程序代码以执行上述数据处理方法。
根据本公开的一个或多个实施例,提供了一种计算机存储介质,所述计算机存储介质存储有程序代码,所述程序代码用于执行上述数据处理方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
响应于数据库的数据变更,通过所述数据库发送增量信息;
通过采集组件接收所述增量信息并且对所述增量信息进行解析,得到解析信息;
通过消息发布***发送所述解析信息,其中,所述解析信息包括合并信息和非合并信息;
通过存储器记录所述合并信息和所述非合并信息的更改时间。
2.根据权利要求1所述的数据处理方法,其特征在于,还包括:
当所述增量信息的发送遇到障碍时,通过数据节点周期性地拉取发生所述障碍时所述存储器记录的更改时间之后的所述数据库中的增量数据。
3.根据权利要求2所述的数据处理方法,其特征在于,所述存储器用于维护所述合并信息和所述非合并信息的消费位点和更改时间的映射,所述映射用于在数据同步方式被切换时获得与所述消费位点对应的更改时间,以使得所述更改时间之后的数据被拉取。
4.根据权利要求1所述的数据处理方法,其特征在于,通过所述数据库发出的所述增量信息是基于binlog的增量信息。
5.一种数据处理装置,其特征在于,包括:
数据库,响应于所述数据库的数据变更,从所述数据库发出增量信息;
采集组件,接收所述增量信息并且对所述增量信息进行解析,得到解析信息;
消息发布***,用于发送所述解析信息,其中,所述解析信息包括合并信息和非合并信息;
存储器,用于维护所述合并信息和所述非合并信息的消费位点和更改时间的映射。
6.根据权利要求5所述的数据处理装置,其特征在于,还包括:
数据节点,配置为当所述增量信息的发送遇到障碍时,所述数据节点周期性地拉取发生所述障碍时所述存储器记录的更改时间之后的所述数据库中的增量数据。
7.根据权利要求5所述的数据处理装置,其特征在于,所述数据库发出的所述增量信息是基于binlog的增量消息。
8.根据权利要求5所述的数据处理装置,其特征在于,还包括开关模块,配置为用于在定时拉取和增量信息通知模式之间进行切换。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个存储器和至少一个处理器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器所存储的程序代码以执行权利要求1至4中任一项所述的数据处理方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序代码,所述程序代码用于执行权利要求1至4中任一项所述的数据处理方法。
CN201910960510.6A 2019-10-10 2019-10-10 数据处理方法、装置、电子设备及存储介质 Pending CN110704401A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910960510.6A CN110704401A (zh) 2019-10-10 2019-10-10 数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910960510.6A CN110704401A (zh) 2019-10-10 2019-10-10 数据处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN110704401A true CN110704401A (zh) 2020-01-17

Family

ID=69200105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910960510.6A Pending CN110704401A (zh) 2019-10-10 2019-10-10 数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110704401A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434367A (zh) * 2021-06-30 2021-09-24 青岛海尔科技有限公司 数据监控方法及装置、存储介质、电子装置
CN113632073A (zh) * 2020-03-09 2021-11-09 斯诺弗雷克公司 数据源上的可扩展流

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516989A (zh) * 2015-01-26 2015-04-15 北京京东尚科信息技术有限公司 增量数据推送***和方法
US20160308963A1 (en) * 2015-04-17 2016-10-20 Zuora, Inc. System and method for real-time cloud data synchronization using a database binary log
CN107402963A (zh) * 2017-06-20 2017-11-28 阿里巴巴集团控股有限公司 搜索数据的构建方法、增量数据的推送方法及装置和设备
CN107423303A (zh) * 2016-05-24 2017-12-01 北京京东尚科信息技术有限公司 数据同步的方法和***
CN108491332A (zh) * 2018-04-04 2018-09-04 浙江小泰科技有限公司 一种基于Redis的实时缓存更新方法和***
CN108804237A (zh) * 2017-05-05 2018-11-13 北京京东尚科信息技术有限公司 数据实时统计方法、装置、存储介质和电子设备
CN109284334A (zh) * 2018-09-05 2019-01-29 拉扎斯网络科技(上海)有限公司 实时数据库同步方法、装置、电子设备及存储介质
CN110083660A (zh) * 2019-04-29 2019-08-02 重庆天蓬网络有限公司 一种同步数据的方法、装置、介质和电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516989A (zh) * 2015-01-26 2015-04-15 北京京东尚科信息技术有限公司 增量数据推送***和方法
US20160308963A1 (en) * 2015-04-17 2016-10-20 Zuora, Inc. System and method for real-time cloud data synchronization using a database binary log
CN107423303A (zh) * 2016-05-24 2017-12-01 北京京东尚科信息技术有限公司 数据同步的方法和***
CN108804237A (zh) * 2017-05-05 2018-11-13 北京京东尚科信息技术有限公司 数据实时统计方法、装置、存储介质和电子设备
CN107402963A (zh) * 2017-06-20 2017-11-28 阿里巴巴集团控股有限公司 搜索数据的构建方法、增量数据的推送方法及装置和设备
CN108491332A (zh) * 2018-04-04 2018-09-04 浙江小泰科技有限公司 一种基于Redis的实时缓存更新方法和***
CN109284334A (zh) * 2018-09-05 2019-01-29 拉扎斯网络科技(上海)有限公司 实时数据库同步方法、装置、电子设备及存储介质
CN110083660A (zh) * 2019-04-29 2019-08-02 重庆天蓬网络有限公司 一种同步数据的方法、装置、介质和电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113632073A (zh) * 2020-03-09 2021-11-09 斯诺弗雷克公司 数据源上的可扩展流
CN113434367A (zh) * 2021-06-30 2021-09-24 青岛海尔科技有限公司 数据监控方法及装置、存储介质、电子装置

Similar Documents

Publication Publication Date Title
CN108519914B (zh) 大数据计算方法、***和计算机设备
JP6865219B2 (ja) 連続クエリ処理におけるイベントバッチ処理、出力シーケンス化、およびログベースの状態記憶
CN110704000B (zh) 数据处理方法、装置、电子设备及存储介质
JP2019194868A (ja) 戦術的クエリから連続クエリへの変換
CN111581563A (zh) 页面响应方法、装置、存储介质和电子设备
CN111309747A (zh) 数据同步方法、***和装置
CN110704401A (zh) 数据处理方法、装置、电子设备及存储介质
CN116627333A (zh) 日志缓存方法、装置、电子设备及计算机可读存储介质
CN111881216A (zh) 一种基于共享模板的数据获取方法和装置
CN114676199A (zh) 一种同步方法、同步***、计算机设备和存储介质
CN113190517B (zh) 数据集成方法、装置、电子设备和计算机可读介质
CN110727694B (zh) 数据处理方法、装置、电子设备及存储介质
CN114036107B (zh) 基于hudi快照的医疗数据查询方法及装置
CN111984723A (zh) 数据同步方法、装置及终端设备
CN113163483B (zh) 时间戳更新方法、装置和电子设备
CN110716984B (zh) 数据处理方法、装置、电子设备及存储介质
CN112100159A (zh) 数据处理方法、装置、电子设备和计算机可读介质
CN112799863A (zh) 用于输出信息的方法和装置
CN116360710B (zh) 应用于服务器集群的数据存储方法、电子设备和可读介质
CN117193670B (zh) 一种清除缓存的方法、装置、存储介质以及电子设备
CN112783925B (zh) 分页检索方法和装置
CN110099122B (zh) 用于发送网络请求的方法和装置
US20240202207A1 (en) Distributed function data transformation system
CN115729698A (zh) 一种基于Doris的数据合并方法、装置、设备及介质
CN115587090A (zh) 一种基于Doris的数据存储方法、装置、设备及介质

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