CN111414416B - 数据处理方法、装置、设备和存储介质 - Google Patents
数据处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN111414416B CN111414416B CN202010133454.1A CN202010133454A CN111414416B CN 111414416 B CN111414416 B CN 111414416B CN 202010133454 A CN202010133454 A CN 202010133454A CN 111414416 B CN111414416 B CN 111414416B
- Authority
- CN
- China
- Prior art keywords
- data
- update
- database
- source database
- log
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法,包括以下步骤:在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析更新日志提取更新日志中的更新数据;在更新数据为第一数据类型时,将更新数据添加到预设消息队列中,通过流式数据引擎处理预设消息队列中的更新数据得到标准数据,并将标准数据同步至第一数据库;在更新数据为第二数据类型时,封装更新数据并将封装后的更新数据同步至内存中的第二数据库;在接收到数据查询请求时,获取数据查询请求对应的查询语句,查询第一数据库或第二数据库,获取查询语句对应的目标数据。本发明还公开了一种数据处理装置、设备和存储介质。本发明实现了完整实时地数据同步。
Description
技术领域
本发明涉及数据处理领域,尤其涉及数据处理方法、装置、设备和存储介质。
背景技术
随着大数据技术的发展,业务平台越来越多各个业务平台都有各自的业务数据,为了统一管理各个业务平台产生的业务数据,需要进行业务数据的同步。
当前数据同步主要采用以下两种方式:方式一固定周期(例如,每天凌晨)对源数据库进行数据同步,这样的数据同步方法存在滞后性,用户不可以实时地查询到更新数据;方式二通过高频度查询源数据库来进行数据同步,这种方式对源数据库侵入性较高,只能识别增量数据,检测不到删除与更新数据,数据完整性达不到需求。
发明内容
本发明的主要目的在于提供一种数据处理方法、装置、设备和存储介质,旨在解决当前数据同步时完整性和实时性不兼顾的技术问题。
为实现上述目的,本发明提供数据处理方法,所述数据处理方法包括以下步骤:
在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志提取所述更新日志中的更新数据;
在所述更新数据为第一数据类型时,将所述更新数据添加到预设消息队列中,通过流式数据引擎处理所述预设消息队列中的更新数据得到标准数据,并将所述标准数据同步至第一数据库;
在所述更新数据为第二数据类型时,封装所述更新数据并将封装后的更新数据同步至内存中的第二数据库;
在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,查询所述第一数据库或所述第二数据库,获取所述查询语句对应的目标数据。
在一实施例中,所述在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志提取所述更新日志中的更新数据的步骤之前,包括:
在接收到源数据库监控指令时,将所述源数据库监控指令发送至预设数据采集器,以使所述预设数据采集器启动并注册源数据库对应的监控实例;
通过所述监控实例采集源数据库操作指令,将所述源数据库操作指令添加至预设日志模板,生成更新日志。
在一实施例中,所述在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,查询所述第一数据库或所述第二数据库,获取所述查询语句对应的目标数据的步骤,包括:
在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,及所述查询语句中的数据类型;
在所述数据类型为第一数据类型时,查询所述第一数据库获取所述查询语句对应的第一目标数据;
在所述数据类型为第二数据类型时,查询所述第二数据库获取所述查询语句对应的第二目标数据。
在一实施例中,所述在所述更新数据为第二数据类型时,封装所述更新数据并将封装后的更新数据同步至内存中的第二数据库的步骤之后,包括:
提取所述第二数据库中预设时间间隔之前产生的更新数据,将所述更新数据输入至预设消息队列中;
调用流式计算引擎对所述预设消息队列中的所述更新数据进行处理,得到分布式数据流;
将处理后的分布式数据流中的标准数据同步至第一数据库。
在一实施例中,所述在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,查询所述第一数据库或所述第二数据库,获取所述查询语句对应的目标数据的步骤,包括:
在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,及所述查询语句中的数据类型;
在所述数据类型为第一数据类型时,查询所述第一数据库获取所述查询语句对应的第一目标数据;
在所述数据类型为第二数据类型时,获取所述查询语句中的数据更新时间,若所述数据更新时间在所述预设时间间隔之前,则查询所述第一数据库获取所述查询语句对应的第二目标数据,若所述数据更新时间在所述预设时间间隔之后,则查询所述第二数据库获取所述查询语句对应的第二目标数据。
在一实施例中,所述在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志提取所述更新日志中的更新数据的步骤,包括:
在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志获得所述更新日志中的源数据库操作指令;
若所述更新日志中的源数据库操作指令是删除指令时,对第一数据库执行所述删除指令;
若所述更新日志中的源数据库操作指令不是删除指令时,解析所述更新日志提取所述更新日志中的更新数据。
在一实施例中,所述在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志提取所述更新日志中的更新数据的步骤之后,包括:
获取预设消息队列的当前数据量,判断所述当前数据量是否为零;
若所述当前数据量为零,则将所述更新数据添加到预设消息队列中,通过流式数据引擎处理所述预设消息队列中的更新数据得到标准数据,并将所述标准数据同步至第一数据库
若所述当前数据量不为零,则获取所述更新数据的数据类型。
此外,为实现上述目的,本发明还提供一种数据处理装置,所述数据处理装置包括:
请求接收模块,用于在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志提取所述更新日志中的更新数据;
第一同步模块,用于在所述更新数据为第一数据类型时,将所述更新数据添加到预设消息队列中,通过流式数据引擎处理所述预设消息队列中的更新数据得到标准数据,并将所述标准数据同步至第一数据库;
第二同步模块,用于在所述更新数据为第二数据类型时,封装所述更新数据并将封装后的更新数据同步至内存中的第二数据库;
数据查询模块,用于在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,查询所述第一数据库或所述第二数据库,获取所述查询语句对应的目标数据。
此外,为实现上述目的,本发明还提供一种数据处理设备;
所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中:
所述计算机程序被所述处理器执行时实现如上所述的数据处理方法的步骤。
此外,为实现上述目的,本发明还提供计算机存储介质;
所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的数据处理方法的步骤。
本发明实施例提出的一种数据处理方法、装置、设备和存储介质,数据处理设备通过解析更新日志提取更新日志中的更新数据,与轮询数据同步的方式相比,减少了对源数据库的影响,实现了源数据库无感知的数据同步操作;在更新数据为第一数据类型时,数据处理设备将更新数据添加到预设消息队列中,通过流式数据引擎处理预设消息队列中的更新数据进行数据同步,实现了数据的匀速同步,在更新数据为第二数据类型时,数据处理设备封装更新数据并将封装后的更新数据进行同步,即,数据处理设备根据更新数据的数据类型进行分流同步,减小了数据处理设备的硬件压力,避免了预设消息队列中更新数据过量导致资源不足的情况发生,在接收到数据查询请求时,数据处理设备获取数据查询请求对应的查询语句,查询第一数据库或第二数据库,获取查询语句对应的目标数据,实现了数据实时更新快速查询。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明数据处理方法第一实施例的流程示意图;
图3为本发明数据处理装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的服务器(又叫数据处理设备,其中,数据处理设备可以是由单独的数据处理装置构成,也可以是由其他装置与数据处理装置组合形成)结构示意图。
本发明实施例服务器指一个管理资源并为用户提供服务的计算机,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。相对于普通PC(personal computer)个人计算机来说,服务器在稳定性、安全性、性能等方面都要求较高;如图1所示,该服务器可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),网络接口1004,用户接口1003,存储器1005,通信总线1002、芯片组、磁盘系统、网络等硬件等。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WIFI接口)。存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,服务器还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块;输入单元,比显示屏,触摸屏;网络接口可选除无线接口中除WiFi外,蓝牙、探针等。本领域技术人员可以理解,图1中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,该计算机软件产品存储在一个存储介质(存储介质:又叫计算机存储介质、计算机介质、可读介质、可读存储介质、计算机可读存储介质或者直接叫介质等,存储介质可以是非易失性可读存储介质,如RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。
在图1所示的服务器中,网络接口1004主要用于连接后台数据库,与后台数据库进行数据通信;用户接口1003主要用于连接客户端(客户端,又叫用户端或终端,本发明实施例终端可以固定终端也可以是移动终端,如,带联网功能的智能空调、智能电灯、智能电源、智能音箱、自动驾驶汽车、PC、智能手机、平板电脑、电子书阅读器、便携计算机等,终端中包含传感器比如光传感器、运动传感器以及其他传感器,在此不再赘述),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的计算机程序,并执行本发明以下实施例提供的数据处理方法中的步骤。
基于上述硬件运行环境提出了本发明数据处理方法的实施例。
参照图2,在本发明数据处理方法的第一实施例中,所述数据处理方法包括:
步骤S10,在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志提取所述更新日志中的更新数据。
本实施例中的数据处理方法应用于数据处理设备,数据处理设备是数据存储平台和数据查询平台的硬件载体,数据存储平台是可视化批流数据接入平台,支持调度批处理作业和实时流式作业,可以实时启动,监控,或停止批处理/实时作业;数据查询平台是可视化实时报表分析平台,支持不同实时计算引擎(计算引擎例如SparkSQL、Kylin或Phoenix)进行分析查询。
数据处理设备与源数据库通信连接,源数据库可以理解为业务数据库,通常情况下的源数据库为结构化的关系型数据库数据,数据处理设备负责将源数据库中的数据同步到数据存储平台,以支持数据查询平台进行数据的快速查询准确分析,具体地:
数据处理设备实时地监测与自身通信连接的源数据库,即,数据处理设备获取源数据库操作指令,数据处理设备判断源数据库操作指令是否为删除指令、添加指令或者修改指令,若源数据库操作指令是删除指令、添加指令或者修改指令,数据处理设备判定源数据库更新,数据处理设备在检测到源数据库数据更新时,数据处理设备采集源数据库更新时的更新日志。
数据处理设备对更新日志进行解析,获取更新日志中的更新数据,即,数据处理设备获取更新日志中的源数据库操作指令,及源数据库操作指令对应的更新数据;数据处理设备获取更新数据的数据类型,数据类型的划分标准不作具体限定,例如,数据处理设备将更新数据划分为文本数据和数值数据;或者数据处理设备将更新数据划分为业务类型和非业务类型,本实施例中数据处理设备将更新数据按照数据量的划分为第一数据类型和第二数据类型,数据处理设备根据更新数据的数据类型,确定更新数据的同步路径,具体地:
步骤S20,在所述更新数据为第一数据类型时,将所述更新数据添加到预设消息队列中,通过流式数据引擎处理所述预设消息队列中的更新数据得到标准数据,并将所述标准数据同步至第一数据库。
数据处理设备确定更新数据为第一数据类型时,数据处理设备将更新数据添加到预设消息队列中(预设消息队列是指预先设置的用于存放更新数据的容器),数据处理设备通过流式数据引擎处理预设消息队列中的更新数据得到分布式数据流,分布式数据流中包含标准数据,数据处理设备将标准数据同步至第一数据库,例如,第一数据库为HIVE数据库(HIVE是基于HADOOP的一个数据仓库)。
本实施例数据处理设备将更新数据保存至预设消息队列,通过流式数据引擎处理预设消息队列中的更新数据,实现了消息数据的均匀处理,减小了数据处理设备的压力。
步骤S30,在所述更新数据为第二数据类型时,封装所述更新数据并将封装后的更新数据同步至内存中的第二数据库。
在更新数据为第二数据类型时,数据处理设备封装更新数据,即,数据处理设备将更新数据映射到一个封装协议的净荷中,然后,数据处理设备填充对应协议的包头,形成封装协议的数据包,数据处理设备将封装后的更新数据同步至内存中的第二数据库。
本实施例中数据处理设备将更新数据按照数据类型同步至两个数据库,即数据处理设备在确定数据类型为第二数据类型时,数据处理设备占用内存进行数据的同步,避免了更新数据较多时,造成预设消息队列过长导致的资源不足的情况发生,同时数据分类存在可以方便数据的快速查询,具体地:
步骤S40,在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,查询所述第一数据库或所述第二数据库,获取所述查询语句对应的目标数据。
数据处理设备接收数据查询请求,数据查询请求的触发方式不作具体限定,例如,用户输入查询语句触发数据查询请求,数据处理设备接收到数据查询请求时,数据处理设备获取数据查询请求对应的查询语句,数据处理设备根据查询语句确定第一数据库或者第二数据库,以获取数据查询请求对应的目标数据,具体地,包括:
步骤a1,在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,及所述查询语句中的数据类型;
步骤a2,在所述数据类型为第一数据类型时,查询所述第一数据库获取所述查询语句对应的第一目标数据;
步骤a3,在所述数据类型为第二数据类型时,查询所述第二数据库获取所述查询语句对应的第二目标数据。
即,数据处理设备在接收到数据查询请求时,获取数据查询请求对应的查询语句,及查询语句中的数据类型;在数据类型为第一数据类型时,数据处理设备查询第一数据库获取查询语句对应的第一目标数据;在数据类型为第二数据类型时,查询第二数据库获取所述查询语句对应的第二目标数据,本实施例中按照数据类型查询对应的数据库,实现了更新数据的快速查询,有效地避免了数据拥堵的情况发生。
在本实施例中数据处理设备通过解析更新日志提取更新日志中的更新数据,与轮询数据同步的方式相比,减少了对源数据库的影响,实现了源数据库无感知的数据同步操作;在更新数据为第一数据类型时,数据处理设备将更新数据添加到预设消息队列中,通过流式数据引擎处理预设消息队列中的更新数据进行数据同步,实现了数据的匀速同步,在更新数据为第二数据类型时,数据处理设备封装更新数据并将封装后的更新数据进行同步,即,数据处理设备根据更新数据的数据类型进行分流同步,减小了数据处理设备的硬件压力,避免了预设消息队列中更新数据过量导致资源不足的情况发生,在接收到数据查询请求时,数据处理设备获取数据查询请求对应的查询语句,查询第一数据库或第二数据库,获取查询语句对应的目标数据,实现了数据实时更新快速查询
进一步地,在本发明第一实施例的基础上,提出了本发明数据处理方法的第二实施例。
本实施例是第一实施例中步骤S10之前的步骤,本实施例与本发明第一实施例的区别在于:
在接收到源数据库监控指令时,将所述源数据库监控指令发送至预设数据采集器,以使所述预设数据采集器启动并注册源数据库对应的监控实例;
通过所述监控实例采集源数据库操作指令,将所述源数据库操作指令添加至预设日志模板,生成更新日志。
数据处理设备中预设数据采集器,预设数据采集器是指用于数据监控采集的工具,例如,预设数据采集器可以是Canal组件,Canal组件的数据采集原理为:Canal组件模拟mysql主从交互协议,Canal组件作为mysql从节点,向mysql主节点发送dump协议,mysql主节点收到dump请求,开始推送Binlog日志给从节点,Canal组件解析Binlog日志供客户端使用。
数据处理设备接收源数据库监控指令,源数据库监控指令的触发方式不作具体限定,数据处理设备在接收到源数据库监控指令时,数据处理设备将源数据库监控指令发送至预设数据采集器,以使预设数据采集器启动并注册源数据库对应的监控实例,数据处理设备通过监控实例采集源数据库操作指令,数据处理设备将源数据库操作指令添加至预设日志模板(预设日志模板是指预先设置的包括空格字符和格式命令的模板),生成更新日志,数据处理设备接收到更新日志时,判定源数据库数据更新。
例如,数据处理设备向Canal组件发送源数据库监控指令,Canal组件接收源数据库监控指令,Canal组件启动监控实例源数据库,Canal组件向数据处理设备注册该监控实例,数据处理设备实时监控实例的状况,获取监控实例采集到的源数据库操作指令,数据处理设备将源数据库操作指令添加至预设日志模板,生成更新日志。
本实施例中数据处理设备通过预设数据采集器采集源数据库的更新日志,减少了数据的同步周期,使得更新数据同步周期,从原来的若干天缩短到分钟级别,便于数据处理设备对应的数据查询平台能够在分析决策层更早的发现业务端的变化状况,从而改进生产经营方案或者措施,提高经营效率。
进一步地,基于本发明的上述实施例,提出了本发明数据处理方法的第三实施例。
本实施例是第一实施例中步骤S30之后的步骤,本实施例与上述实施例的区别在于:
提取所述第二数据库中预设时间间隔之前产生的更新数据,将所述更新数据输入至预设消息队列中;
调用流式计算引擎对所述预设消息队列中的所述更新数据进行处理,得到分布式数据流;
将处理后的分布式数据流中的标准数据同步至第一数据库。
由于数据处理设备的内存可用空间是有限的,数据处理设备会对内存进行自动清除,为了避免内存中保存的更新数据被删除,本实施例中数据处理设备提取第二数据库中预设时间间隔之前产生的更新数据,数据处理设备将更新数据输入至预设消息队列中;其中,预设时间间隔是指预先设置的时间节点,预设时间间隔可以根据具体情况灵活设置,例如,预设时间间隔受到内存可用存储空间和更新日志数据量的影响,当内存可用存储空间较大时,预设时间间隔可以设置为第一时间间隔,当内存可用存储空间较小时,预设时间间隔可以设置为第二时间间隔;或者当更新日志数据量小时,预设时间间隔可以设置为第一时间间隔,当更新日志数据量大时,预设时间间隔可以设置为第二时间间隔。
数据处理设备调用流式计算引擎对预设消息队列中的更新数据进行处理,得到分布式数据流,数据处理设备将处理后的分布式数据流中的标准数据同步至第一数据库。
本实施例中数据处理设备将内存中第二数据库中的更新数据再次同步至第一数据库,避免了由于内存自动清理导致的数据删除的情况,保证了数据的持久性,同时使得第一数据库与源数据库的相同,方便更新数据统一管理。
进一步地,基于本发明第三实施例,提出了本发明数据处理方法的第四实施例。
本实施例是第一实施例中步骤S40的细化步骤,本实施例与上述实施例的区别在于:
在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,及所述查询语句中的数据类型;
在所述数据类型为第一数据类型时,查询所述第一数据库获取所述查询语句对应的第一目标数据;
在所述数据类型为第二数据类型时,获取所述查询语句中的数据更新时间,若所述数据更新时间在所述预设时间间隔之前,则查询所述第一数据库获取所述查询语句对应的第二目标数据,若所述数据更新时间在所述预设时间间隔之后,则查询所述第二数据库获取所述查询语句对应的第二目标数据。
即,数据处理设备在接收到数据查询请求时,获取数据查询请求对应的查询语句,及查询语句中的数据类型;数据处理设备在数据类型为第一数据类型时,查询第一数据库获取所述查询语句对应的第一目标数据。
在数据类型为第二数据类型时,数据处理设备获取查询语句中的数据更新时间,并判断数据更新时间是否在预设时间间隔之前,其中,预设时间间隔与第三实施例的相同,若数据更新时间在预设时间间隔之前,则查询第一数据库获取查询语句对应的第二目标数据,若数据更新时间在预设时间间隔之后,则查询第二数据库获取查询语句对应的第二目标数据。
在本实施例中由于数据处理设备会将内存中的更新数据再次同步到第一数据库,因此在数据查询过程中,数据处理设备可以根据数据更新时间,确定目标数据库,进行数据的快速查询。
进一步地,基于本发明上述实施例,提出了本发明数据处理方法的第五实施例。
本实施例是第一实施例中步骤S10的细化,本实施例与上述实施例的区别在于:
在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志获得所述更新日志中的源数据库操作指令;
若所述更新日志中的源数据库操作指令是删除指令时,对第一数据库执行所述删除指令;
若所述更新日志中的源数据库操作指令不是删除指令时,解析所述更新日志提取所述更新日志中的更新数据。
即,数据处理设备在检测到源数据库数据更新时,数据处理设备采集源数据库更新时的更新日志,解析更新日志获得所述更新日志中的源数据库操作指令;数据处理设备判断源数据库操作指令是否为删除指令,若更新日志中的源数据库操作指令是删除指令时,数据处理设备对第一数据库执行删除指令;若更新日志中的源数据库操作指令不是删除指令时,数据处理设备解析更新日志提取所述更新日志中的更新数据。
本实施例中数据处理设备对更新日志进行解析,确定更新日志中的源数据库操作指令的类型,在源数据库操作指令是删除指令时,数据处理设备直接执行删除指令,保证了源数据库同步的完整性,避免了源数据库中数据删除没有被同步的情况。
进一步地,基于本发明上述实施例,提出了本发明数据处理方法的第六实施例。
本实施例是第一实施例中步骤S10之后的步骤,本实施例与上述实施例的区别在于:
获取预设消息队列的当前数据量,判断所述当前数据量是否为零;
若所述当前数据量为零,则将所述更新数据添加到预设消息队列中,通过流式数据引擎处理所述预设消息队列中的更新数据得到标准数据,并将所述标准数据同步至第一数据库
若所述当前数据量不为零,则获取所述更新数据的数据类型。
数据处理设备获取到更新数据之后,数据处理设备获取预设消息队列的当前数据量(预设消息队列与第一实施例中的相同,本实施例不作赘述),数据处理设备判断当前数据量是否为零;若当前数据量为零,即,数据同步压力较少,数据处理设备在数据同步时不进行分流,数据处理设备直接将更新数据添加到预设消息队列中,通过流式数据引擎处理所述预设消息队列中的更新数据得到标准数据,并将标准数据同步至第一数据库。
若当前数据量不为零,数据处理设备获取更新数据的数据类型,数据处理设备根据更新数据的数据类型对更新数据进行分流,即,数据处理设备执行第一实施例中的步骤S20在更新数据为第一数据类型时,将更新数据添加到预设消息队列中,通过流式数据引擎处理所述预设消息队列中的更新数据得到标准数据,并将所述标准数据同步至第一数据库;步骤S30在更新数据为第二数据类型时,封装更新数据并将封装后的更新数据同步至内存中的第二数据库。
本实施例中数据处理设备根据预设消息队列中的当前数据量确定数据同步的方法,使得数据同步更加高效合理。
此外,参照图3,本发明实施例还提出一种数据处理装置,所述数据处理装置包括:
请求接收模块10,用于在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志提取所述更新日志中的更新数据;
第一同步模块20,用于在所述更新数据为第一数据类型时,将所述更新数据添加到预设消息队列中,通过流式数据引擎处理所述预设消息队列中的更新数据得到标准数据,并将所述标准数据同步至第一数据库;
第二同步模块30,用于在所述更新数据为第二数据类型时,封装所述更新数据并将封装后的更新数据同步至内存中的第二数据库;
数据查询模块40,用于在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,查询所述第一数据库或所述第二数据库,获取所述查询语句对应的目标数据。
在一实施例中,所述的数据处理装置,包括:
监控发送模块,用于在接收到源数据库监控指令时,将所述源数据库监控指令发送至预设数据采集器,以使所述预设数据采集器启动并注册源数据库对应的监控实例;
日志生成模块,用于通过所述监控实例采集源数据库操作指令,将所述源数据库操作指令添加至预设日志模板,生成更新日志。
在一实施例中,所述数据查询模块40,包括:
信息获取单元,用于在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,及所述查询语句中的数据类型;
第一查询单元,用于在所述数据类型为第一数据类型时,查询所述第一数据库获取所述查询语句对应的第一目标数据;
第二查询单元,用于在所述数据类型为第二数据类型时,查询所述第二数据库获取所述查询语句对应的第二目标数据。
在一实施例中,所述的数据处理装置,包括:
信息提取模块,用于提取所述第二数据库中预设时间间隔之前产生的更新数据,将所述更新数据输入至预设消息队列中;
数据处理模块,用于调用流式计算引擎对所述预设消息队列中的所述更新数据进行处理,得到分布式数据流;
数据同步模块,用于将处理后的分布式数据流中的标准数据同步至第一数据库。
在一实施例中,所述数据查询模块40,包括:
信息获取单元,用于在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,及所述查询语句中的数据类型;
第一查询单元,用于在所述数据类型为第一数据类型时,查询所述第一数据库获取所述查询语句对应的第一目标数据;
所述第二查询单元,用于在所述数据类型为第二数据类型时,获取所述查询语句中的数据更新时间,若所述数据更新时间在所述预设时间间隔之前,则查询所述第一数据库获取所述查询语句对应的第二目标数据,若所述数据更新时间在所述预设时间间隔之后,则查询所述第二数据库获取所述查询语句对应的第二目标数据。
在一实施例中,所述请求接收模块10,包括:
指令获取单元,用于在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志获得所述更新日志中的源数据库操作指令;
数据删除单元,用于若所述更新日志中的源数据库操作指令是删除指令时,对第一数据库执行所述删除指令;
日志解析单元,用于若所述更新日志中的源数据库操作指令不是删除指令时,解析所述更新日志提取所述更新日志中的更新数据。
在一实施例中,所述的数据处理装置,包括:
获取判断模块,用于获取预设消息队列的当前数据量,判断所述当前数据量是否为零;
数据同步模块,用于若所述当前数据量为零,则将所述更新数据添加到预设消息队列中,通过流式数据引擎处理所述预设消息队列中的更新数据得到标准数据,并将所述标准数据同步至第一数据库
类型获取模块,用于若所述当前数据量不为零,则获取所述更新数据的数据类型。
其中,数据处理装置的各个功能模块实现的步骤可参照本发明数据处理方法的各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机存储介质。
所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的数据处理方法中的操作。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序;术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据处理方法,其特征在于,所述数据处理方法包括以下步骤:
在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志提取所述更新日志中的更新数据;
在所述更新数据为第一数据类型时,将所述更新数据添加到预设消息队列中,通过流式数据引擎处理所述预设消息队列中的更新数据得到标准数据,并将所述标准数据同步至第一数据库;
在所述更新数据为第二数据类型时,封装所述更新数据并将封装后的更新数据同步至内存中的第二数据库;
在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,查询所述第一数据库或所述第二数据库,获取所述查询语句对应的目标数据。
2.如权利要求1所述的数据处理方法,其特征在于,所述在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志提取所述更新日志中的更新数据的步骤之前,包括:
在接收到源数据库监控指令时,将所述源数据库监控指令发送至预设数据采集器,以使所述预设数据采集器启动并注册源数据库对应的监控实例;
通过所述监控实例采集源数据库操作指令,将所述源数据库操作指令添加至预设日志模板,生成更新日志。
3.如权利要求1所述的数据处理方法,其特征在于,所述在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,查询所述第一数据库或所述第二数据库,获取所述查询语句对应的目标数据的步骤,包括:
在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,及所述查询语句中的数据类型;
在所述数据类型为第一数据类型时,查询所述第一数据库获取所述查询语句对应的第一目标数据;
在所述数据类型为第二数据类型时,查询所述第二数据库获取所述查询语句对应的第二目标数据。
4.如权利要求1所述的数据处理方法,其特征在于,所述在所述更新数据为第二数据类型时,封装所述更新数据并将封装后的更新数据同步至内存中的第二数据库的步骤之后,包括:
提取所述第二数据库中预设时间间隔之前产生的更新数据,将所述更新数据输入至预设消息队列中;
调用流式计算引擎对所述预设消息队列中的所述更新数据进行处理,得到分布式数据流;
将处理后的分布式数据流中的标准数据同步至第一数据库。
5.如权利要求4所述的数据处理方法,其特征在于,所述在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,查询所述第一数据库或所述第二数据库,获取所述查询语句对应的目标数据的步骤,包括:
在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,及所述查询语句中的数据类型;
在所述数据类型为第一数据类型时,查询所述第一数据库获取所述查询语句对应的第一目标数据;
在所述数据类型为第二数据类型时,获取所述查询语句中的数据更新时间,若所述数据更新时间在所述预设时间间隔之前,则查询所述第一数据库获取所述查询语句对应的第二目标数据,若所述数据更新时间在所述预设时间间隔之后,则查询所述第二数据库获取所述查询语句对应的第二目标数据。
6.如权利要求1-5任意一项所述的数据处理方法,其特征在于,所述在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志提取所述更新日志中的更新数据的步骤,包括:
在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志获得所述更新日志中的源数据库操作指令;
若所述更新日志中的源数据库操作指令是删除指令时,对第一数据库执行所述删除指令;
若所述更新日志中的源数据库操作指令不是删除指令时,解析所述更新日志提取所述更新日志中的更新数据。
7.如权利要求1-5任意一项所述的数据处理方法,其特征在于,所述在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志提取所述更新日志中的更新数据的步骤之后,包括:
获取预设消息队列的当前数据量,判断所述当前数据量是否为零;
若所述当前数据量为零,则将所述更新数据添加到预设消息队列中,通过流式数据引擎处理所述预设消息队列中的更新数据得到标准数据,并将所述标准数据同步至第一数据库
若所述当前数据量不为零,则获取所述更新数据的数据类型。
8.一种数据处理装置,其特征在于,所述数据处理装置包括:
请求接收模块,用于在检测到源数据库数据更新时,采集源数据库更新时的更新日志,解析所述更新日志提取所述更新日志中的更新数据;
第一同步模块,用于在所述更新数据为第一数据类型时,将所述更新数据添加到预设消息队列中,通过流式数据引擎处理所述预设消息队列中的更新数据得到标准数据,并将所述标准数据同步至第一数据库;
第二同步模块,用于在所述更新数据为第二数据类型时,封装所述更新数据并将封装后的更新数据同步至内存中的第二数据库;
数据查询模块,用于在接收到数据查询请求时,获取所述数据查询请求对应的查询语句,查询所述第一数据库或所述第二数据库,获取所述查询语句对应的目标数据。
9.一种数据处理设备,其特征在于,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中:
所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010133454.1A CN111414416B (zh) | 2020-02-28 | 2020-02-28 | 数据处理方法、装置、设备和存储介质 |
PCT/CN2020/117504 WO2021169268A1 (zh) | 2020-02-28 | 2020-09-24 | 数据处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010133454.1A CN111414416B (zh) | 2020-02-28 | 2020-02-28 | 数据处理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414416A CN111414416A (zh) | 2020-07-14 |
CN111414416B true CN111414416B (zh) | 2023-05-23 |
Family
ID=71491034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010133454.1A Active CN111414416B (zh) | 2020-02-28 | 2020-02-28 | 数据处理方法、装置、设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111414416B (zh) |
WO (1) | WO2021169268A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414416B (zh) * | 2020-02-28 | 2023-05-23 | 平安科技(深圳)有限公司 | 数据处理方法、装置、设备和存储介质 |
CN112073520B (zh) * | 2020-09-09 | 2022-08-09 | 北京金山云网络技术有限公司 | 数据处理方法、装置和电子设备 |
CN112182001A (zh) * | 2020-09-27 | 2021-01-05 | 浪潮云信息技术股份公司 | 数据库增量同步至动态es索引库的方法、装置和介质 |
CN112347114A (zh) * | 2020-10-29 | 2021-02-09 | 有半岛(北京)信息科技有限公司 | 一种数据查询系统以及数据查询方法、装置和服务器 |
CN112434062A (zh) * | 2020-11-26 | 2021-03-02 | 平安普惠企业管理有限公司 | 准实时数据处理方法、装置、服务器及存储介质 |
CN113282611B (zh) * | 2021-06-29 | 2024-04-23 | 深圳平安智汇企业信息管理有限公司 | 一种流数据同步的方法、装置、计算机设备及存储介质 |
CN113870641A (zh) * | 2021-09-29 | 2021-12-31 | 上海乐项信息技术有限公司 | 一种用于直播带货的模拟培训方法和系统 |
CN113722401B (zh) * | 2021-11-04 | 2022-02-01 | 树根互联股份有限公司 | 数据缓存方法、装置、计算机设备及可读存储介质 |
CN114625502A (zh) * | 2022-03-03 | 2022-06-14 | 盐城金堤科技有限公司 | 一种投词任务处理方法、装置、存储介质和电子设备 |
CN114372064B (zh) * | 2022-03-22 | 2022-07-12 | 飞狐信息技术(天津)有限公司 | 数据处理装置、方法、计算机可读介质及处理器 |
CN114817267A (zh) * | 2022-05-16 | 2022-07-29 | 通联支付网络服务股份有限公司 | 用于生成数据报表的方法、设备和介质 |
CN115391325A (zh) * | 2022-10-31 | 2022-11-25 | 深圳曼顿科技有限公司 | 能源数据管理方法、装置、设备与介质 |
CN115982285B (zh) * | 2023-03-10 | 2023-07-07 | 北京集度科技有限公司 | 数据处理方法、设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8626681B1 (en) * | 2011-01-04 | 2014-01-07 | Google Inc. | Training a probabilistic spelling checker from structured data |
CN104346479A (zh) * | 2014-11-26 | 2015-02-11 | 北京奇虎科技有限公司 | 一种数据库同步方法及装置 |
CN107040578A (zh) * | 2016-12-30 | 2017-08-11 | 平安科技(深圳)有限公司 | 数据同步方法、装置和系统 |
CN107180116A (zh) * | 2017-06-28 | 2017-09-19 | 努比亚技术有限公司 | 一种数据同步处理方法、移动终端以及计算机可读存储介质 |
CN107404540A (zh) * | 2017-09-01 | 2017-11-28 | 北京奇虎科技有限公司 | 数据的同步方法及装置 |
CN109726074A (zh) * | 2018-08-31 | 2019-05-07 | 网联清算有限公司 | 日志处理方法、装置、计算机设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949293B2 (en) * | 2010-12-17 | 2015-02-03 | Microsoft Corporation | Automatically matching data sets with storage components |
US9953081B2 (en) * | 2015-02-26 | 2018-04-24 | Accenture Global Services Limited | System for linking diverse data systems |
CN111414416B (zh) * | 2020-02-28 | 2023-05-23 | 平安科技(深圳)有限公司 | 数据处理方法、装置、设备和存储介质 |
-
2020
- 2020-02-28 CN CN202010133454.1A patent/CN111414416B/zh active Active
- 2020-09-24 WO PCT/CN2020/117504 patent/WO2021169268A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8626681B1 (en) * | 2011-01-04 | 2014-01-07 | Google Inc. | Training a probabilistic spelling checker from structured data |
CN104346479A (zh) * | 2014-11-26 | 2015-02-11 | 北京奇虎科技有限公司 | 一种数据库同步方法及装置 |
CN107040578A (zh) * | 2016-12-30 | 2017-08-11 | 平安科技(深圳)有限公司 | 数据同步方法、装置和系统 |
CN107180116A (zh) * | 2017-06-28 | 2017-09-19 | 努比亚技术有限公司 | 一种数据同步处理方法、移动终端以及计算机可读存储介质 |
CN107404540A (zh) * | 2017-09-01 | 2017-11-28 | 北京奇虎科技有限公司 | 数据的同步方法及装置 |
CN109726074A (zh) * | 2018-08-31 | 2019-05-07 | 网联清算有限公司 | 日志处理方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
《实现灾备数据库同步》;霍祥伟;《网络安全和信息化》;第1卷;第70页左栏第5行-第73页右栏第11行 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021169268A1 (zh) | 2021-09-02 |
CN111414416A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111414416B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN108062367B (zh) | 一种数据列表的上传方法及其终端 | |
CN102236581B (zh) | 用于数据中心的映射化简方法和系统 | |
WO2020042029A1 (zh) | 调用链路的发现方法、装置、设备及存储介质 | |
RU2004109134A (ru) | Архитектура и система для обеспечения информированности о местоположении | |
CN113010378B (zh) | 微服务模块的日志处理方法及装置、存储介质、电子装置 | |
CN111538563A (zh) | 一种对Kubernetes的事件分析方法及装置 | |
CN109559121B (zh) | 交易路径调用异常分析方法、装置、设备及可读存储介质 | |
CN113688183A (zh) | 多类型数据源抽取方法、系统、终端设备以及存储介质 | |
CN113407511A (zh) | 日志聚合方法、设备及计算机程序产品 | |
CN116974948B (zh) | 业务系统测试方法、系统、设备和介质 | |
CN106940710B (zh) | 信息推送方法及装置 | |
CN111367686A (zh) | 业务接口的调用方法及装置、计算机设备、存储介质 | |
CN112954667B (zh) | 热点移动终端的检测方法、装置、计算机设备和存储介质 | |
CN113918636B (zh) | 一种基于etl的数据处理量分析方法 | |
CN113407541B (zh) | 数据采集方法、设备、存储介质及装置 | |
CN115543202A (zh) | 缓存管理方法、读取方法、系统、电子设备及存储介质 | |
CN114265866A (zh) | 流式数据处理方法、规则插件、流式数据处理模块及系统 | |
CN112445811A (zh) | 基于sql配置的数据服务方法、装置、存储介质及组件 | |
CN108668306B (zh) | 一种移动操作系统内置的数据采集系统 | |
CN112788592A (zh) | 添加唤醒时间的数据发送处理方法及装置 | |
CN107124293B (zh) | 一种分布式网络系统的协议管理方法及系统 | |
CN111597198A (zh) | 一种对于异构资源接入的物联网数据查询方法及相关设备 | |
CN111045950B (zh) | 性能问题点确定方法、装置、数据分析系统及存储介质 | |
CN115982285B (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 |