CN114201496A - 数据更新方法、装置、电子设备、系统及存储介质 - Google Patents
数据更新方法、装置、电子设备、系统及存储介质 Download PDFInfo
- Publication number
- CN114201496A CN114201496A CN202111538365.6A CN202111538365A CN114201496A CN 114201496 A CN114201496 A CN 114201496A CN 202111538365 A CN202111538365 A CN 202111538365A CN 114201496 A CN114201496 A CN 114201496A
- Authority
- CN
- China
- Prior art keywords
- data table
- data
- database
- identifier
- source 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
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/23—Updating
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据存储领域,提供了一种数据更新方法、装置、电子设备、系统及存储介质。该方法包括:获取第一源数据库发生更新的第一数据表的信息;第一数据表的信息包括:第一数据表的标识、第一源数据库的标识、第一数据表的更新类型;搜索中台的数据库中的数据来源于M个源数据库,M个源数据库包括第一源数据库,M大于或等于1;根据第一数据表的信息,对搜索中台的数据库进行数据更新。本申请提高了搜索中台中接入新的业务场景的效率和数据更新效率。
Description
技术领域
本申请涉及数据存储技术,尤其涉及一种数据更新方法、装置、电子设备、系统及存储介质。
背景技术
搜索中台的数据库中可以存储有多个业务场景的源数据库的数据,以使搜索中台可以支持该多个业务场景的搜索任务。针对任一业务场景,该业务场景的源数据库中的数据可能存在更新。当该源数据库中的数据更新之后,搜索中台的数据库中存储的该源数据库相应的数据也需要变更,以保障用户基于该搜索中台搜索到的数据的准确性。
现有的数据更新方法主要为,对该业务场景对应服务器进行功能开发,使得该服务器能够获取该业务场景源数据库发生更新的数据,以及,能够将该发生更新的数据重新存储到搜索中台的数据库中的目标位置。也就是说,每当该搜索中台新增一个业务场景,均需对该新的业务场景对应的服务器进行上述功能开发。
因此,现有的数据更新方法导致在搜索中台中接入新的业务场景的效率,以及,数据更新效率均较低。
发明内容
本申请提供一种数据更新方法、装置、电子设备、系统及存储介质,用以解决在搜索中台中接入新的业务场景的效率,以及,数据更新效率均较低的问题。
第一方面,本申请提供一种数据更新方法,所述方法包括:
获取第一源数据库发生更新的第一数据表的信息;所述第一数据表的信息包括:所述第一数据表的标识、所述第一源数据库的标识、所述第一数据表的更新类型;搜索中台的数据库中的数据来源于M个源数据库,所述M个源数据库包括所述第一源数据库,所述M大于或等于1;
根据所述第一数据表的信息,对所述搜索中台的数据库进行数据更新。
可选的,所述第一数据表的更新类型包括下述任一项:删除、插入、更新。
可选的,所述第一数据表的更新类型包括删除;所述根据所述第一数据表的信息,对所述搜索中台的数据库进行数据更新,包括:
根据所述第一源数据库的标识、所述第一数据表的标识,确定所述第一数据表的类型;所述第一数据表的类型包括:主表或附表;
根据所述第一数据表的类型,对所述搜索中台的数据库进行数据更新。
可选的,所述根据所述第一数据表的类型,对所述搜索中台的数据库进行数据更新,包括:
若所述第一数据表为主表或附表,则根据所述第一源数据库的标识、所述第一数据表的标识,确定所述第一数据表对应的目标索引;
将所述搜索中台的数据库中所述目标索引对应的数据删除。
可选的,若所述第一数据表为附表,则所述将所述搜索中台的数据库中所述目标索引对应的数据删除之后,还包括:
根据所述第一数据表的标识、所述第一源数据库的标识,确定是否存在与所述第一数据表关联的第二数据表;
若存在与所述第一数据表关联的第二数据表,则获取所述第二数据表;
拼接所述第二数据表中的数据,得到待存储的第一数据;
将所述第一数据添加至所述搜索中台的数据库中。
可选的,所述第一数据表的更新类型包括插入或更新;所述根据所述第一数据表的信息,对所述搜索中台的数据库进行数据更新,包括:
根据所述第一源数据库的标识、所述第一数据表的标识,从所述第一源数据库中获取所述第一数据表;
根据所述第一数据表的标识、所述第一源数据库的标识,确定是否存在与所述第一数据表关联的第二数据表,以及,所述第一数据表的类型;
根据是否存在与所述第一数据表关联的第二数据表,以及,所述第一数据表的类型,对所述搜索中台的数据库进行数据更新。
可选的,所述根据是否存在与所述第一数据表关联的第二数据表,以及,所述第一数据表的类型,对所述搜索中台的数据库进行数据更新,包括:
若所述第一数据表的类型为主表或附表、且存在与所述第一数据表关联的第二数据表,则获取第二数据表;
拼接所述第一数据表和所述第二数据表,得到待存储的第二数据;
将所述第二数据添加至所述搜索中台的数据库中;
或者,
若所述第一数据表的类型为主表、且不存在与所述第一数据表关联的第二数据表,则拼接所述第一数据表,得到待存储的第三数据;
并将所述第三数据添加至所述搜索中台的数据库中。
可选的,所述方法还包括:
若所述第一数据表的类型为附表、且不存在与所述第一数据表关联的第二数据表,则不使用所述第一数据表,对所述搜索中台的数据库进行数据更新。
可选的,所述根据所述第一数据表的标识、所述第一源数据库的标识,确定是否存在与所述第一数据表关联的第二数据表,包括:
根据所述第一数据表的标识、所述第一源数据库的标识,确定所述第一数据表的关联字段;
根据所述第一数据表的关联字段,以及,源数据库的标识、数据表的标识、关联字段三者之间的第三映射关系,确定是否存在与所述第一数据表关联的第二数据表。
可选的,所述获取第二数据表,包括:
根据所述第二数据表的标识和所述第二源数据库的标识,从缓存数据库中查找是否存在所述第二数据表;
若所述缓存数据库中存在所述第二数据表、且所述第二数据表位于生存时间内,则从所述缓存数据库中读取所述第二数据表;
若所述缓存数据库中不存在所述第二数据表,或者,所述缓存数据库中存在所述第二数据表、且所述第二数据表不位于生存时间内,则根据所述第二数据表的标识和所述第二源数据库的标识,从所述第二源数据库中读取所述第二数据表。
可选的,所述从所述第一源数据库中获取所述第一数据表之后,所述方法还包括:
将所述第一数据表存储至缓存数据库中。
可选的,所述获取第一源数据库发生更新的第一数据表的信息,包括:
从第一平台的更新队列中读取第一源数据库发生更新的第一数据表的信息;所述更新列队包括数据库增量日志解析平台基于至少一个源数据库的更新日志,得到的所述至少一个源数据库发生更新的数据表的信息。
第二方面,本申请提供一种数据更新装置,所述装置包括:
获取模块,用于获取第一源数据库发生更新的第一数据表的信息;所述第一数据表的信息包括:所述第一数据表的标识、所述第一源数据库的标识、所述第一数据表的更新类型;搜索中台的数据库中的数据来源于M个源数据库,所述M个源数据库包括所述第一源数据库,所述M大于或等于1;
处理模块,用于根据所述第一数据表的信息,对所述搜索中台的数据库进行数据更新。
第三方面,本申请提供一种电子设备,包括:至少一个处理器、存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行第一方面任一项所述的方法。
第四方面,本申请提供一种数据更新系统,所述系统包括:至少一个第一源数据库、数据库增量日志解析平台、第一平台、如第三方面所述的电子设备,以及,搜索中台的数据库;
所述数据库增量日志解析平台,用于基于所述至少一个源数据库的更新日志,得到的所述至少一个源数据库发生更新的数据表的信息,并发送给所述第一平台;
所述第一平台,用于将所述发生更新的数据表的信息添加到更新队列中;
所述电子设备,用于从所述第一平台的更新队列中读取第一源数据库发生更新的第一数据表的信息;根据所述第一数据表的信息,对所述搜索中台的数据库进行数据更新;其中,所述第一数据表的信息包括:所述第一数据表的标识、所述第一源数据库的标识、所述第一数据表的更新类型;搜索中台的数据库中的数据来源于M个源数据库,所述M个源数据库包括所述第一源数据库,所述M大于或等于1。
第五方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现第一方面任一项所述的方法。
第六方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的方法。
本申请提供的数据更新方法、装置、电子设备、系统及存储介质,通过包括发生更新的第一数据表的标识、第一源数据库的标识,以及,第一数据表的更新类型,对搜索中台的数据库进行数据更新,相较于现有技术通过对各个源数据库端的服务器进行单独的能力开发而言,通过上述方法,仅需发生更新的第一数据表的上述信息,即可自动化将源数据库中发生更新的数据,更新到搜索中台的数据库中。通过上述方法,在搜索中台中接入新的业务场景时,只需获取该新的业务场景的发生更新的数据表的信息,即可实现将新的业务场景的源数据库中的更新数据同步至搜索中台的数据库,提高了在搜索中台中接入新的业务场景的效率,以及,数据更新的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为一种搜索中台的应用场景示意图;
图2为本申请提供的一种数据更新系统的架构示意图;
图3为本申请提供的一种数据更新方法的流程示意图;
图4为本申请提供的一种根据第一数据表的信息进行数据更新的方法的流程示意图;
图5为本申请提供的另一种根据第一数据表的信息进行数据更新的方法的流程示意图;
图6为本申请提供的另一种数据更新方法的流程示意图;
图7为本申请提供的一种数据更新装置的结构示意图;
图8为本申请提供的一种电子设备结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
搜索中台:一种可以支持多种搜索业务场景的搜索引擎。使用搜索中台,可以搜索获取该搜索中台的数据库中的数据。
图1为一种搜索中台的应用场景示意图。如图1所示,搜索中台可以接收用户终端的用于请求获取目标数据的搜索请求。然后,搜索中台可以从搜索中台的数据库中获取该目标数据,并向用户终端反馈该目标数据。
通常,搜索中台可以支持多种业务场景的搜索任务。例如新闻资讯搜索,或者,文档搜索等。针对任一业务场景,该业务场景对应的数据存储在该业务场景的源数据库中。通过该业务场景的服务器,可以将该业务场景对应的源数据库中的数据,存储到上述搜索中台的数据库中,以使搜索中台可以支持该业务场景的搜索任务。
针对任一业务场景,该业务场景的源数据库中的数据可能存在更新。以新闻资讯为例,该业务场景的源数据库中,每天都会添加新的新闻资讯。当该源数据库中的数据更新之后,搜索中台的数据库中存储的该源数据库相应的数据也需要更新,以保障用户基于该搜索中台搜索到的数据的准确性。
现有的数据更新方法主要为,对各业务场景对应服务器进行功能开发,使得各业务场景的服务器能够获取该业务场景的源数据库发生更新的数据,以及,能够将该发生更新的数据重新存储到搜索中台的数据库中的目标位置。
例如,以图1中所示的业务场景1和业务场景2为例,需要分别对业务场景1和业务场景2的服务器进行功能开发。以业务场景1为例,上述功能开发例如可以包括:如何监控并获取源数据库1中的发生更新的数据、如何调用搜索中台的数据库的数据更新接口,如何在搜索中台的数据库中确定源数据库1对应的数据,如何在搜索中台的数据库中进行数据更新等。
应理解,一个业务场景可以对应有至少一个源数据库,图1仅是以一个业务场景对应一个源数据库为例进行的示例性说明。
每当需要在搜索中台中接入新的业务场景(也就是说期望搜索中台能够支持新的业务场景的搜索任务),则需要通过研发人员该对新的业务场景的服务器进行上述功能开发,以使该新的业务场景的源数据库中更新的数据,能够同步至搜索中台的数据库。
因此,使用现有的数据更新方法时,在搜索中台中接入新的业务场景的效率较低,且数据更新效率也较低。
考虑到现有的数据更新方法存在上述问题的原因是需要对新接入的源数据库端的服务器进行大量的开发工作,因此,本申请提供了一种不需对源数据库端的服务器进行额外开发,自动化将源数据库中发生更新的数据,同步到搜索中台的数据库中的更新方法。通过上述方法,在搜索中台中接入新的业务场景时,只需获取该新的业务场景的源数据库的名称和发生更新的数据表名,即可实现将新的业务场景的源数据库中的更新数据同步至搜索中台的数据库,提高了在搜索中台中接入新的业务场景的效率,以及,数据更新的效率。
示例性的,图2为本申请提供的一种数据更新系统的架构示意图。本申请提供的数据更新方法的执行主体例如可以为终端,或者,如图2中所示的服务器等具有处理功能的电子设备。以该电子设备为服务器为例,该服务器可以获取源数据库中发生更新的数据表的信息,以及,基于该发生更新的数据表的信息,对搜索中台的数据库进行数据更新。
其中,应理解,本申请对上述源数据库的类型,以及,搜索中台的数据库的类型均不进行限定。示例性的,上述源数据库例如可以为一种关系型数据库管理系统数据库(MySQL数据库)。
在一些实施例中,该数据更新系统还可以包括数据库增量日志解析平台。如图2中所示的Canal为一种数据库增量日志解析平台,Canal可以订阅源数据库的更新数据记录日志,以使源数据库中的数据发生更新时,Canal能够接收到发生更新的数据表的信息,进而使得服务器可以通过Canal获取该源数据库中发生更新的数据表的信息。应理解,图2中所示的通过Canal获取源数据库中发生更新的数据表的信息,仅为本申请提供的一种可能的实现方式。
在一些实施例中,该数据更新系统还可以包括第一平台,例如图2中所示的kafka平台(一种开源流处理平台的名称)。数据库增量日志解析平台可以将得到的至少一个源数据库发生更新的数据表的信息,发送给该第一平台。然后,该第一平台可以将发生更新的数据表的信息添加到更新队列中。在该实现方式下,电子设备可以从该第一平台的更新队列中读取第一源数据库发生更新的第一数据表的信息。
下面结合具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图3为本申请提供的一种数据更新方法的流程示意图。如图3所示,该方法包括以下步骤:
S101、获取第一源数据库发生更新的第一数据表的信息。
其中,该第一数据表的信息可以包括:第一数据表的标识、第一源数据库的标识,以及,第一数据表的更新类型。前述搜索中台的数据库中的数据可以来源于M个源数据库(M大于或等于1)。其中,该M个源数据库包括上述第一源数据库。
示例性的,上述第一数据表的标识例如可以为该第一数据表的表名或者身份标识号(identity document,ID)等。上述第一源数据库的标识例如可以为该第一源数据库的ID、访问端口,或者,网际互连协议(Internet Protocol,IP)地址等。
可选的,上述第一数据表的更新类型例如可以包括删除、插入,以及,更新中的任一项。示例性的,不同的更新类型例如可以通过不同的字段表示。例如,当该第一数据表的信息中包括delete字段时,则该第一数据表的更新类型可以为删除。当该第一数据表的信息中包括insert字段时,则该第一数据表的更新类型可以为插入。当该第一数据表的信息中包括update字段时,则该第一数据表的更新类型可以为更新。
作为一种可能的实现方式,电子设备例如可以直接接收来自数据库增量日志解析平台的第一源数据库发生更新的第一数据表的信息。示例性的,该数据库增量日志解析平台例如可以为Canal等平台。
作为另一种可能的实现方式,电子设备例如还可以从第一平台的更新队列中读取第一源数据库发生更新的第一数据表的信息。其中,该更新列队可以包括数据库增量日志解析平台基于至少一个源数据库的更新日志,得到的至少一个源数据库发生更新的数据表的信息。示例性的,上述第一平台例如可以为如图2中所示的kafka平台。
可选的,电子设备可以从该第一平台的更新队列中读取一个或多个发生更新的第一数据表的信息。
通过从该第一平台的更新队列中读取第一数据表的信息,电子设备按照发生更新的第一数据表的顺序,对各第一数据表进行处理,避免了同时占用电子设备过多的计算资源,提高了电子设备进行数据更新的效率。
S102、根据第一数据表的信息,对搜索中台的数据库进行数据更新。
示例性的,以第一数据表的更新类型为删除为例,电子设备可以根据第一数据表的标识和第一源数据库的标识,确定搜索中台的数据库中第一数据表的存储位置,并删除搜索中台的数据库中的该第一数据表对应的数据。
以第一数据表的更新类型为更新或者插入为例,电子设备可以根据第一数据表的标识和第一源数据库的标识,确定搜索中台的数据库中第一数据表的存储位置,对该第一数据表中的数据进行更新。
在本实施例中,通过包括发生更新的第一数据表的标识、第一源数据库的标识,以及,第一数据表的更新类型,对搜索中台的数据库进行数据更新,相较于现有技术通过对各个源数据库端的服务器进行单独的能力开发而言,通过上述方法,仅需发生更新的第一数据表的上述信息,即可自动化将源数据库中发生更新的数据,更新到搜索中台的数据库中。通过上述方法,在搜索中台中接入新的业务场景时,只需获取该新的业务场景的发生更新的数据表的信息,即可实现将新的业务场景的源数据库中的更新数据同步至搜索中台的数据库,提高了在搜索中台中接入新的业务场景的效率,以及,数据更新的效率。
下面以第一数据表的更新类型为删除为例,对电子设备如何根据第一数据表的信息,对搜索中台的数据库进行数据更新进行详细说明:
图4为本申请提供的一种根据第一数据表的信息进行数据更新的方法的流程示意图。如图4所示,作为一种可能的实现方式,前述步骤S102可以包括以下步骤:
S201、根据第一源数据库的标识、第一数据表的标识,确定第一数据表的类型。
其中,该第一数据表的类型可以包括:主表,或者,附表。其中,主表可以是指存在主键(primary key)的表。在一些实施例中,附表也可以称为从表。可选的,附表的外键可以为该附表对应的主表的主键值。
在一些实施例中,电子设备例如可以根据第一源数据库的标识、第一数据表的标识,以及,源数据库的标识、数据表的标识和数据表的类型的映射关系,确定该第一数据表的类型。其中,该源数据库的标识、数据表的标识和数据表的类型的映射关系,例如可以是用户预先存储在电子设备中的。或者,该映射关系例如还可以为电子设备从用于存储该映射关系的数据库中预先下载并存储在该电子设备中的。
示例性的,上述源数据库的标识、数据表的标识和数据表的类型的映射关系例如可以如下表1所示:
表1
以表1所示的映射关系为例,假设第一源数据库的标识为源数据库的标识1、第一数据表的标识为数据表的标识12,则电子设备可以确定第一数据表的类型为附表。
可选的,电子设备例如还可以根据第一源数据库的标识、第一数据表的标识,以及,源数据库的标识、数据表的标识和用于描述该数据表是否为主表的字段的映射关系,确定该第一数据表的类型。其中,可选的,若上述用于描述该数据表是否为主表的字段为“是”,则电子设备可以确定第一数据表的类型为主表。若上述用于描述该数据表是否为主表的字段为“否”,则电子设备可以确定第一数据表的类型为附表。
S202、根据第一数据表的类型,对搜索中台的数据库进行数据更新。
以第一数据表为主表为例,可选的,以该第一数据表存在附表为例,则电子设备可以删除搜索中台的数据库中该第一数据表对应的数据,以及,该第一数据表对应的附表的数据。以该第一数据表不存在附表为例,则电子设备可以删除搜索中台的数据库中该第一数据表对应的数据。
可选的,电子设备可以先根据第一源数据库的标识、第一数据表的标识,确定第一数据表对应的目标索引。然后将该搜索中台的数据库中该目标索引对应的数据删除,以实现对该搜索中台的数据库进行数据更新。
示例性的,电子设备例如可以根据第一源数据库的标识、第一数据表的标识,以及,源数据库的标识、数据表的标识和数据表对应的索引字段三者之间的映射关系,确定第一数据表对应的索引字段,以实现确定第一数据表对应的目标索引。其中,上述源数据库的标识、数据表的标识和数据表对应的索引字段三者之间的映射关系例如可以是用户预先存储在电子设备中的。或者,该映射关系例如还可以为电子设备从用于存储该映射关系的数据库中预先下载并存储在该电子设备中的。
示例性的,上述源数据库的标识、数据表的标识和数据表对应的索引字段三者之间的映射关系例如可以如下表2所示:
表2
以表2所示的映射关系为例,假设第一源数据库的标识为源数据库的标识1、第一数据表的标识为数据表的标识11,则电子设备可以确定第一数据表对应的目标索引为字段11。根据该字段11,电子设备可以确定该第一数据表和第一数据表关联的附表在搜索中台的数据库中的存储位置,进而可以删除该搜索中台的数据库中的该第一数据表和第一数据表关联的附表,实现了实现对该搜索中台的数据库进行数据更新。
当第一数据表为附表为例,可选的,在电子设备根据第一源数据库的标识、第一数据表的标识,确定第一数据表对应的目标索引,以及,将搜索中台的数据库中目标索引对应的数据删除时,删除的可以为该附表对应的主表的数据,以及,该主表关联的所有附表的数据。
因此,可选的,电子设备在将搜索中台的数据库中目标索引对应的数据删除之后,还可以将与该第一数据表关联的第二数据表中的数据存储添加至搜索中台的数据库,以实现仅删除搜索中台的数据库中该第一数据表中的数据,提高了电子设备对搜索中台的数据库进行更新的准确性。
在该实现方式下,可选的,电子设备可以根据第一数据表的标识、第一源数据库的标识,确定是否存在与第一数据表关联的第二数据表,在存在与第一数据表关联的第二数据表时,获取第二数据表。然后,电子设备可以拼接该第二数据表中的数据,得到待存储的第一数据,再将该第一数据添加至搜索中台的数据库中。若不存在与第一数据表关联的第二数据表,可选的,电子设备可以删除搜索中台的数据库中该第一数据表中的数据。
其中,上述第二数据表可以是该第一数据表对应的主表,或者,该第一数据表对应的主表和该主表关联的除了第一数据表之外的所有附表。
可选的,关联的表之间可以存在相同的关联字段。其中,该关联字段可以是用户预先设置的,或者,该关联字段还可以为关联的多个表中的主表的主键值。电子设备例如可以根据第一数据表的标识、第一源数据库的标识,以及,源数据库的标识、数据表的标识和数据表对应的关联字段三者之间的映射关系,确定第一数据表的关联字段。然后,电子设备可以根据该第一数据表的关联字段,以及,该源数据库的标识、数据表的标识和数据表对应的关联字段三者之间的映射关系,确定是否存在与第一数据表关联的第二数据表。
若电子设备能够从该源数据库的标识、数据表的标识和数据表对应的关联字段三者之间的映射关系中,获取到关联字段与该第一数据表的关联字段相同的源数据库的标识和数据表的标识,则电子设备可以确定存在与第一数据表关联的第二数据表。若电子设备不能从该源数据库的标识、数据表的标识和数据表对应的关联字段三者之间的映射关系中,获取到关联字段与该第一数据表的关联字段相同的源数据库的标识和数据表的标识,则电子设备可以确定不存在与第一数据表关联的第二数据表。
若电子设备确定存在与第一数据表关联的第二数据表,可选的,电子设备可以根据该第二数据表所属源数据库的标识,以及,该第二数据表的标识,从该第二数据表所属源数据库中,获取第二数据表。或者,电子设备还可以从其他缓存有该第二数据表的数据库,例如,远程字典服务(Remote Dictionary Server,Redis)数据库中获取第二数据表,以减少使用该第二数据表所属源数据库的数据处理的计算资源。再或者,电子设备还可以在该第二数据表为主表时,从该第二数据表所属源数据库中,获取第二数据表;在该第二数据表为附表时,从其他缓存有该第二数据表的数据库中获取第二数据表。
电子设备在获取第二数据表之后,可以拼接第二数据表中的数据,得到待存储的第一数据。应理解,本申请对电子设备如何拼接第二数据表中的数据并不进行限定。
然后,可选的,电子设备可以根据前述第一数据表对应的目标索引,将上述拼接第二数据表中的数据得到的第一数据添加至搜索中台的数据库中,以实现仅删除搜索中台的数据库中的第一数据表,而不删除第一数据表对应的主表和该主表关联的其他附表,提高了对搜索中台的数据库中的数据进行更新的准确性。
在本实施例中,在第一数据表的更新类型为删除时,可以根据该第一数据表的类型为主表还是附表,对搜索中台的数据库中的数据进行删除,提高了删除数据的准确性。
下面以第一数据表的更新类型为插入或更新为例,对电子设备如何根据第一数据表的信息,对搜索中台的数据库进行数据更新进行详细说明:
图5为本申请提供的另一种根据第一数据表的信息进行数据更新的方法的流程示意图。如图5所示,作为一种可能的实现方式,前述步骤S102可以包括以下步骤:
S301、根据第一源数据库的标识、第一数据表的标识,从第一源数据库中获取第一数据表。
可选的,电子设备可以根据第一源数据库的标识,与第一源数据库建立连接。然后,在一些实施例中,电子设备例如可以根据第一源数据库的标识,以及,数据库的标识与用于访问该数据库所需的用户名和密码的映射关系,确定用于访问该第一源数据库所需的用户名和密码。电子设备可以使用该用户名和密码,访问该第一源数据库。然后,根据第一数据表的标识,从第一源数据库中获取第一数据表。
S302、根据第一数据表的标识、第一源数据库的标识,确定是否存在与第一数据表关联的第二数据表,以及,第一数据表的类型。
其中,此处所说的第一数据表的类型可以为主表或者附表。可选的,可以参照前述实施例所述的根据第一数据表的标识、第一源数据库的标识,确定第一数据表的类型的具体实现方式,在此不再赘述。
作为一种可能的实现方式,电子设备可以根据第一数据表的标识、第一源数据库的标识,确定第一数据表的关联字段。然后根据第一数据表的关联字段,以及,源数据库的标识、数据表的标识、关联字段三者之间的第三映射关系,确定是否存在与第一数据表关联的第二数据表。
在该实现方式下,如前述所说,电子设备例如可以根据第一数据表的标识、第一源数据库的标识,以及,源数据库的标识、数据表的标识、关联字段三者之间的第三映射关系,确定第一数据表的关联字段。示例性的,该源数据库的标识、数据表的标识、关联字段三者之间的第三映射关系例如可以如下表3所示:
表3
以表3所示的映射关系为例,假设第一源数据库的标识为源数据库的标识1、第一数据表的标识为数据表的标识11,则电子设备可以确定第一数据表的关联字段为关联字段11。
仍然以表3所示的映射关系为例,在该映射关系中,存在关联字段同为关联字段11的两个数据表(数据表的标识13的数据表和数据表的标识21的数据表),则电子设备可以确定存在与第一数据表关联的第二数据表。若电子设备不能从该源数据库的标识、数据表的标识、关联字段三者之间的第三映射关系中,获取到关联字段与该第一数据表的关联字段相同的源数据库的标识和数据表的标识,则电子设备可以确定不存在与第一数据表关联的第二数据表。
作为另一种可能的实现方式,电子设备例如还可以根据第一数据表的标识,以及,预先存储的数据表的标识与用于标识数据表是否存在关联表的映射关系,确定是否存在与第一数据表关联的第二数据表。
S303、根据是否存在与第一数据表关联的第二数据表,以及,第一数据表的类型,对搜索中台的数据库进行数据更新。
可选的,当上述第一数据表为主表或附表,且存在与第一数据表关联的第二数据表时,因为第一数据表和第二数据表有关联,则电子设备可以根据第一数据表和第二数据表对搜中台的数据库进行更新,以提高数据更新的准确性。可选的,电子设备可以先获取第二数据表。然后拼接第一数据表和该第二数据表,得到待存储的第二数据。然后,电子设备可以将该第二数据添加至搜索中台的数据库中。
在该实现方式下,可选的,电子设备例如可以根据第二数据表的标识和第二源数据库的标识,从缓存数据库中查找是否存在第二数据表。其中,该缓存数据库例如可以为Redis数据库。通过从缓存数据库中获取该第二数据表,提高了获取第二数据表的效率且降低了对第二源数据库的访问压力。
可选的,电子设备可以在该缓存数据库中存在第二数据表时,从缓存数据库中读取第二数据表。或者,电子设备还可以在缓存数据库中存在第二数据表、且第二数据表位于生存时间内时,从缓存数据库中读取该第二数据表,以保障该第二数据表的时效性,进而进一步提高了对搜索中台的数据库进行更新的准确性。
其中,各数据表的生存时间例如可以是用户预先存储在该缓存数据库中的。或者,该缓存数据库例如还可以根据各数据表存储进该缓存数据库的时刻,确定各数据表的生存时间。再或者,电子设备例如还可以从各数据表所属的源数据库中获取各数据表的生存时间,然后将各数据表的生存时间存储在该缓存数据库中。
若该缓存数据库中不存在第二数据表,或者,缓存数据库中存在第二数据表、且第二数据表不位于生存时间内,说明该第二数据表的数据可能已经发生改变。可选的,电子设备可以根据第二数据表的标识和第二源数据库的标识,从第二源数据库中读取第二数据表,以保障获取到的该第二数据表的时效性和准确性,进而进一步提高了对搜索中台的数据库进行更新的准确性。
可选的,电子设备在将该第二数据添加至搜索中台的数据库中时,可以根据第一数据表对应的目标索引,将该第二数据添加至搜索中台的数据库中。
当第一数据表的类型为主表、且不存在与第一数据表关联的第二数据表时,说明只需对第一数据表的数据进行更新,则电子设备可以拼接第一数据表,以得到待存储的第三数据,并将该第三数据添加至搜索中台的数据库中,实习对搜索中台的数据库的更新。
当第一数据表的类型为附表,且不存在与第一数据表关联的第二数据表时,说明该附表不存在主表与其关联,可选的,电子设备可以不使用该第一数据表,对搜索中台的数据库进行数据更新,以减少数据更新占用的电子设备的计算资源,提高电子设备的数据处理效率。在该实现方式下,示例性的,在当第一数据表的类型为附表,且不存在与第一数据表关联的第二数据表时,电子设备例如可以不对该搜索中台的数据库进行数据更新。
在本实施例中,在第一数据表的更新类型为插入或更新时,可以通过第一源数据库的标识、第一数据表的标识,从第一源数据库中获取第一数据表,即获取需要插入或更新后的数据。然后,通过是否存在与第一数据表关联的第二数据表,以及,第一数据表的类型是主表还是附表,将需要插入或更新后的数据更新到搜索中台的数据库中,提高了对搜索中台的数据库进行数据插入和更新的准确性。
进一步的,作为一种可能的实现方式,在电子设备从第一源数据库中获取第一数据表之后,例如还可以将该第一数据表存储至缓存数据库中。其中,该缓存数据库例如可以为前述Redis数据库。通过该方法,使得该缓存数据库中的存储的数据不断增加,以使后续电子设备根据其他数据表的信息,对搜索中台的数据库进行更新时,可以基于该缓存数据库获取数据表的信息或者数据表关联的信息,减少了对数据表所属源数据库的操作请求,进而减少了对源数据库的计算资源的占用。
以图2所示的系统为例,图6为本申请提供的另一种数据更新方法的流程示意图。如图6所示,该方法包括以下步骤:
步骤1、第一源数据库启用binlog机制,将源数据库中发生变更的第一数据表的信息记录到binlog文件。
步骤2、Canal订阅源数据库的binlog日志,从binglog文件中获取第一数据表的信息。
可选的,Canal订阅的例如可以为源数据库从机的binlog日志。可选的,用户还可以设置Canal的运行模式,例如设置为高可用的集群模式。可选的,用户还可以设置Canal订阅哪些binlog日志,以实现对目标数据表的变更监控。可选的,在使用该Canal之前,还可以对Canal进行初始化设置。
步骤3、Canal将第一数据表的信息发送到kafka平台。
步骤41、kafka平台将第一数据表的信息添加到更新队列中。
步骤42、服务器从kafka平台的更新队列中读取第一数据表的信息。
服务器对该第一数据表的信息进行处理,也可以称为消费该第一数据表的信息。可选的,在根据第一数据表的信息对搜索中台的数据库进行更新之后,服务器还可以确定更新是否完成。可选的,服务器如何确定更新是否完成,可以参照现有的实现方式,在此不再赘述。例如可以通过更新执行状态是否为已完成,确定更新是否完成。
步骤5、服务器确定第一数据表的更新类型是否为删除。
若第一数据表的更新类型为删除,则执行步骤6。
若第一数据表的更新类型为插入或者更新,则执行步骤10。
步骤6、根据第一源数据库的标识、第一数据表的标识,确定第一数据表的类型。
若为第一数据表的类型为主表,则执行步骤7。
若为第一数据表的类型为附表,则执行步骤7-9。
步骤7、根据第一源数据库的标识、第一数据表的标识,确定第一数据表对应的目标索引,将该搜索中台的数据库中该目标索引对应的数据删除。
步骤8、根据第一数据表的标识、第一源数据库的标识,确定是否存在与第一数据表关联的第二数据表。
若存在,则执行步骤9。
若不存在,可选的,电子设备可以执行步骤7。
步骤9、获取第二数据表,拼接该第二数据表中的数据,得到待存储的第一数据,再将该第一数据添加至搜索中台的数据库中。
步骤10、根据第一源数据库的标识、第一数据表的标识,从第一源数据库中获取第一数据表。
步骤11、确定第一数据表的类型,以及,是否存在与第一数据表关联的第二数据表。
若存在与第一数据表关联的第二数据表,则服务器可以执行步骤12-15。
若为第一数据表的类型为主表,且不存在与第一数据表关联的第二数据表,则执行步骤16。
若为第一数据表的类型为附表,且不存在与第一数据表关联的第二数据表,则执行步骤17。
步骤12、从缓存数据库中查找是否存在第二数据表。
若存在,则执行步骤13之后,执行步骤14。
若不存在,则执行步骤15之后,执行步骤14。
步骤13、从缓存数据库中获取第二数据表。
步骤14、拼接第一数据表和该第二数据表,得到待存储的第二数据,根据第一数据表对应的目标索引,将该第二数据添加至搜索中台的数据库中。
在将该第二数据添加至搜索中台的数据库中之前,可选的,服务器还可以进一步的判断第二数据的完整性,以进一步提高对搜索中台的数据库进行数据更新的准确性。
步骤15、根据第二数据表的标识和第二源数据库的标识,从第二源数据库中读取第二数据表。
步骤16、拼接第一数据表,以得到待存储的第三数据,并将该第三数据添加至搜索中台的数据库中。
步骤17、不对该搜索中台的数据库进行数据更新。
图7为本申请提供的一种数据更新装置的结构示意图。如图7所示,该装置包括:获取模块41,处理模块42。其中,
获取模块41,用于获取第一源数据库发生更新的第一数据表的信息,其中,所述第一数据表的信息包括:所述第一数据表的标识、所述第一源数据库的标识、所述第一数据表的更新类型;搜索中台的数据库中的数据来源于M个源数据库,所述M个源数据库包括所述第一源数据库,所述M大于或等于1。
处理模块42,用于根据所述第一数据表的信息,对所述搜索中台的数据库进行数据更新。
可选的,所述第一数据表的更新类型包括下述任一项:删除、插入、更新。
可选的,以所述第一数据表的更新类型包括删除为例,处理模块42,具体用于根据所述第一源数据库的标识、所述第一数据表的标识,确定所述第一数据表的类型;根据所述第一数据表的类型,对所述搜索中台的数据库进行数据更新。其中,所述第一数据表的类型包括:主表或附表。
可选的,处理模块42,具体用于在所述第一数据表为主表或附表时,根据所述第一源数据库的标识、所述第一数据表的标识,确定所述第一数据表对应的目标索引;将所述搜索中台的数据库中所述目标索引对应的数据删除。
可选的,处理模块42,还用于在所述第一数据表为附表时,在所述将所述搜索中台的数据库中所述目标索引对应的数据删除之后,根据所述第一数据表的标识、所述第一源数据库的标识,确定是否存在与所述第一数据表关联的第二数据表;在存在与所述第一数据表关联的第二数据表时,获取模块41,还用于获取所述第二数据表。然后,处理模块42具体用于拼接所述第二数据表中的数据,得到待存储的第一数据;将所述第一数据添加至所述搜索中台的数据库中。
可选的,以所述第一数据表的更新类型包括插入或更新为例,处理模块42,具体用于根据所述第一源数据库的标识、所述第一数据表的标识,从所述第一源数据库中获取所述第一数据表;根据所述第一数据表的标识、所述第一源数据库的标识,确定是否存在与所述第一数据表关联的第二数据表,以及,所述第一数据表的类型;根据是否存在与所述第一数据表关联的第二数据表,以及,所述第一数据表的类型,对所述搜索中台的数据库进行数据更新。
可选的,处理模块42,具体用于在所述第一数据表的类型为主表或附表、且存在与所述第一数据表关联的第二数据表时,获取第二数据表;拼接所述第一数据表和所述第二数据表,得到待存储的第二数据;将所述第二数据添加至所述搜索中台的数据库中;
或者,处理模块42,具体用于在所述第一数据表的类型为主表、且不存在与所述第一数据表关联的第二数据表时,拼接所述第一数据表,得到待存储的第三数据;并将所述第三数据添加至所述搜索中台的数据库中。
可选的,处理模块42,还用于在所述第一数据表的类型为附表、且不存在与所述第一数据表关联的第二数据表时,不使用所述第一数据表,对所述搜索中台的数据库进行数据更新。
可选的,处理模块42,具体用于根据所述第一数据表的标识、所述第一源数据库的标识,确定所述第一数据表的关联字段;根据所述第一数据表的关联字段,以及,源数据库的标识、数据表的标识、关联字段三者之间的第三映射关系,确定是否存在与所述第一数据表关联的第二数据表。
可选的,获取模块41,具体用于根据所述第二数据表的标识和所述第二源数据库的标识,从缓存数据库中查找是否存在所述第二数据表;在所述缓存数据库中存在所述第二数据表、且所述第二数据表位于生存时间内时,从所述缓存数据库中读取所述第二数据表;在所述缓存数据库中不存在所述第二数据表,或者,所述缓存数据库中存在所述第二数据表、且所述第二数据表不位于生存时间内时,根据所述第二数据表的标识和所述第二源数据库的标识,从所述第二源数据库中读取所述第二数据表。
可选的,处理模块42,还用于在从所述第一源数据库中获取所述第一数据表之后,将所述第一数据表存储至缓存数据库中。
可选的,获取模块41,具体用于从第一平台的更新队列中读取第一源数据库发生更新的第一数据表的信息。其中,所述更新列队包括数据库增量日志解析平台基于至少一个源数据库的更新日志,得到的所述至少一个源数据库发生更新的数据表的信息。
本实施例提供的数据更新装置,可以执行上述数据更新方法实施例,其实现原理和技术效果类似,在此不再赘述。
图8为本申请提供的一种电子设备结构示意图。图8所示,该电子设备500可以包括:至少一个处理器501和存储器502。
存储器502,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器502可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器501用于执行存储器502存储的计算机执行指令,以实现前述方法实施例所描述的数据更新方法。其中,处理器501可能是一个中央处理器(Central ProcessingUnit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,该电子设备500还可以包括通信接口503。在具体实现上,如果通信接口503、存储器502和处理器501独立实现,则通信接口503、存储器502和处理器501可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口503、存储器502和处理器501集成在一块芯片上实现,则通信接口503、存储器502和处理器501可以通过内部接口完成通信。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的数据更新方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (17)
1.一种数据更新方法,其特征在于,所述方法包括:
获取第一源数据库发生更新的第一数据表的信息;所述第一数据表的信息包括:所述第一数据表的标识、所述第一源数据库的标识、所述第一数据表的更新类型;搜索中台的数据库中的数据来源于M个源数据库,所述M个源数据库包括所述第一源数据库,所述M大于或等于1;
根据所述第一数据表的信息,对所述搜索中台的数据库进行数据更新。
2.根据权利要求1所述的方法,其特征在于,所述第一数据表的更新类型包括下述任一项:删除、插入、更新。
3.根据权利要求2所述的方法,其特征在于,所述第一数据表的更新类型包括删除;所述根据所述第一数据表的信息,对所述搜索中台的数据库进行数据更新,包括:
根据所述第一源数据库的标识、所述第一数据表的标识,确定所述第一数据表的类型;所述第一数据表的类型包括:主表或附表;
根据所述第一数据表的类型,对所述搜索中台的数据库进行数据更新。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一数据表的类型,对所述搜索中台的数据库进行数据更新,包括:
若所述第一数据表为主表或附表,则根据所述第一源数据库的标识、所述第一数据表的标识,确定所述第一数据表对应的目标索引;
将所述搜索中台的数据库中所述目标索引对应的数据删除。
5.根据权利要求4所述的方法,其特征在于,若所述第一数据表为附表,则所述将所述搜索中台的数据库中所述目标索引对应的数据删除之后,还包括:
根据所述第一数据表的标识、所述第一源数据库的标识,确定是否存在与所述第一数据表关联的第二数据表;
若存在与所述第一数据表关联的第二数据表,则获取所述第二数据表;
拼接所述第二数据表中的数据,得到待存储的第一数据;
将所述第一数据添加至所述搜索中台的数据库中。
6.根据权利要求2所述的方法,其特征在于,所述第一数据表的更新类型包括插入或更新;所述根据所述第一数据表的信息,对所述搜索中台的数据库进行数据更新,包括:
根据所述第一源数据库的标识、所述第一数据表的标识,从所述第一源数据库中获取所述第一数据表;
根据所述第一数据表的标识、所述第一源数据库的标识,确定是否存在与所述第一数据表关联的第二数据表,以及,所述第一数据表的类型;
根据是否存在与所述第一数据表关联的第二数据表,以及,所述第一数据表的类型,对所述搜索中台的数据库进行数据更新。
7.根据权利要求6所述的方法,其特征在于,所述根据是否存在与所述第一数据表关联的第二数据表,以及,所述第一数据表的类型,对所述搜索中台的数据库进行数据更新,包括:
若所述第一数据表的类型为主表或附表、且存在与所述第一数据表关联的第二数据表,则获取第二数据表;
拼接所述第一数据表和所述第二数据表,得到待存储的第二数据;
将所述第二数据添加至所述搜索中台的数据库中;
或者,
若所述第一数据表的类型为主表、且不存在与所述第一数据表关联的第二数据表,则拼接所述第一数据表,得到待存储的第三数据;
并将所述第三数据添加至所述搜索中台的数据库中。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述第一数据表的类型为附表、且不存在与所述第一数据表关联的第二数据表,则不使用所述第一数据表,对所述搜索中台的数据库进行数据更新。
9.根据权利要求5-8任一项所述的方法,其特征在于,所述根据所述第一数据表的标识、所述第一源数据库的标识,确定是否存在与所述第一数据表关联的第二数据表,包括:
根据所述第一数据表的标识、所述第一源数据库的标识,确定所述第一数据表的关联字段;
根据所述第一数据表的关联字段,以及,源数据库的标识、数据表的标识、关联字段三者之间的第三映射关系,确定是否存在与所述第一数据表关联的第二数据表。
10.根据权利要求7所述的方法,其特征在于,所述获取第二数据表,包括:
根据所述第二数据表的标识和第二源数据库的标识,从缓存数据库中查找是否存在所述第二数据表;
若所述缓存数据库中存在所述第二数据表、且所述第二数据表位于生存时间内,则从所述缓存数据库中读取所述第二数据表;
若所述缓存数据库中不存在所述第二数据表,或者,所述缓存数据库中存在所述第二数据表、且所述第二数据表不位于生存时间内,则根据所述第二数据表的标识和所述第二源数据库的标识,从所述第二源数据库中读取所述第二数据表。
11.根据权利要求6所述的方法,其特征在于,所述从所述第一源数据库中获取所述第一数据表之后,所述方法还包括:
将所述第一数据表存储至缓存数据库中。
12.根据权利要求1-8任一项所述的方法,其特征在于,所述获取第一源数据库发生更新的第一数据表的信息,包括:
从第一平台的更新队列中读取第一源数据库发生更新的第一数据表的信息;所述更新列队包括数据库增量日志解析平台基于至少一个源数据库的更新日志,得到的所述至少一个源数据库发生更新的数据表的信息。
13.一种数据更新装置,其特征在于,所述装置包括:
获取模块,用于获取第一源数据库发生更新的第一数据表的信息;所述第一数据表的信息包括:所述第一数据表的标识、所述第一源数据库的标识、所述第一数据表的更新类型;搜索中台的数据库中的数据来源于M个源数据库,所述M个源数据库包括所述第一源数据库,所述M大于或等于1;
处理模块,用于根据所述第一数据表的信息,对所述搜索中台的数据库进行数据更新。
14.一种电子设备,其特征在于,包括:至少一个处理器、存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行权利要求1-12任一项所述的方法。
15.一种数据更新系统,其特征在于,所述系统包括:至少一个第一源数据库、数据库增量日志解析平台、第一平台、如权利要求14所述的电子设备,以及,搜索中台的数据库;
所述数据库增量日志解析平台,用于基于所述至少一个源数据库的更新日志,得到的所述至少一个源数据库发生更新的数据表的信息,并发送给所述第一平台;
所述第一平台,用于将所述发生更新的数据表的信息添加到更新队列中;
所述电子设备,用于从所述第一平台的更新队列中读取第一源数据库发生更新的第一数据表的信息;根据所述第一数据表的信息,对所述搜索中台的数据库进行数据更新;其中,所述第一数据表的信息包括:所述第一数据表的标识、所述第一源数据库的标识、所述第一数据表的更新类型;搜索中台的数据库中的数据来源于M个源数据库,所述M个源数据库包括所述第一源数据库,所述M大于或等于1。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现权利要求1-12任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111538365.6A CN114201496A (zh) | 2021-12-15 | 2021-12-15 | 数据更新方法、装置、电子设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111538365.6A CN114201496A (zh) | 2021-12-15 | 2021-12-15 | 数据更新方法、装置、电子设备、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114201496A true CN114201496A (zh) | 2022-03-18 |
Family
ID=80654232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111538365.6A Pending CN114201496A (zh) | 2021-12-15 | 2021-12-15 | 数据更新方法、装置、电子设备、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114201496A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501715A (zh) * | 2023-04-28 | 2023-07-28 | 成都赛力斯科技有限公司 | 一种多表全量数据的实时关联更新方法及装置 |
-
2021
- 2021-12-15 CN CN202111538365.6A patent/CN114201496A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501715A (zh) * | 2023-04-28 | 2023-07-28 | 成都赛力斯科技有限公司 | 一种多表全量数据的实时关联更新方法及装置 |
CN116501715B (zh) * | 2023-04-28 | 2024-03-12 | 重庆赛力斯凤凰智创科技有限公司 | 一种多表全量数据的实时关联更新方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657213B (zh) | 文件传输方法和装置 | |
US8868595B2 (en) | Enhanced control to users to populate a cache in a database system | |
CN107786638B (zh) | 一种数据处理方法、装置及系统 | |
CN109829287A (zh) | Api接口权限访问方法、设备、存储介质及装置 | |
CN109885577B (zh) | 数据处理方法、装置、终端及存储介质 | |
WO2016169237A1 (zh) | 数据处理方法及装置 | |
US11621987B2 (en) | Method for processing streaming media data | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN111803917A (zh) | 资源的处理方法和装置 | |
CN114201496A (zh) | 数据更新方法、装置、电子设备、系统及存储介质 | |
CN111125170A (zh) | 一种微服务的跨服务数据获取方法、装置及微服务设备 | |
CN112306957A (zh) | 获取索引节点号的方法、装置、计算设备和存储介质 | |
CN113849499A (zh) | 数据的查询方法、装置、存储介质及电子装置 | |
CN112395337B (zh) | 一种数据导出方法和装置 | |
CN111190861A (zh) | 热点文件管理方法、服务器及计算机可读存储介质 | |
CN112100168A (zh) | 一种确定数据关联关系的方法和装置 | |
CN114168074A (zh) | 镜像存储方法、装置、存储介质以及电子设备 | |
CN115794876A (zh) | 针对业务数据包的分片处理方法、装置、设备及存储介质 | |
CN111090530A (zh) | 一种分布式跨进程间通信总线系统 | |
CN112711572A (zh) | 适用于分库分表的在线扩容方法和装置 | |
CN116305288B (zh) | 一种隔离数据库资源的方法、装置、设备和存储介质 | |
CN116431566B (zh) | 数据迁移方法、装置、电子设备及介质 | |
CN109165172B (zh) | 缓存数据处理方法及相关设备 | |
CN118152648A (zh) | 评论数据处理方法、装置、系统、计算机设备及存储介质 | |
CN115878616A (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 |