CN110659328B - 数据查询方法、装置、设备及计算机可读存储介质 - Google Patents
数据查询方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110659328B CN110659328B CN201910817562.8A CN201910817562A CN110659328B CN 110659328 B CN110659328 B CN 110659328B CN 201910817562 A CN201910817562 A CN 201910817562A CN 110659328 B CN110659328 B CN 110659328B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- database
- initial data
- main table
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/08—Insurance
Abstract
本发明公开了一种数据查询方法、装置、设备及计算机可读存储介质,该方法包括:将多个源数据库中的初始数据同步至目标数据库;根据预设的周期,获取针对所述源数据库中的初始数据的操作数据;根据所述操作数据,对所述目标数据库中的初始数据进行更新;当接收到针对所述源数据库的数据查询请求时,通过所述目标数据库进行数据查询。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据查询方法、装置、设备及计算机可读存储介质。
背景技术
现有技术中,保单数据由多个系统(例如车检成保系统、车险网销系统等)生成,散落存储在多个系统的数据库中。因此,当需要查询保单数据时,需要在多个系统的数据库中分别进行查询,查询效率较低。
发明内容
本发明实施例提供了一种数据查询方法、装置、设备及计算机可读存储介质,以解决现有技术在进行数据查询时因需要在多个数据库中分别进行查询而导致的查询效率较低的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,提供了一种数据查询方法,所述方法包括:
将多个源数据库中的初始数据同步至目标数据库;
根据预设的周期,获取针对所述源数据库中的初始数据的操作数据;
根据所述操作数据,对所述目标数据库中的初始数据进行更新;
当接收到针对所述源数据库的数据查询请求时,通过所述目标数据库进行数据查询。
第二方面,提供了一种数据查询装置,所述装置包括:
同步模块,用于将多个源数据库中的初始数据同步至目标数据库;
获取模块,用于根据预设的周期,获取针对所述源数据库中的初始数据的操作数据;
更新模块,用于根据所述操作数据,对所述目标数据库中的初始数据进行更新;
查询模块,用于当接收到针对所述源数据库的数据查询请求时,通过所述目标数据库进行数据查询。
第三方面,提供了一种终端设备,该终端设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法的步骤。
在本发明实施例中,可以先将多个源数据库中的初始数据同步至目标数据库中,并根据预设的周期,获取针对源数据库中的初始数据的操作数据,然后,可以根据操作数据,对目标数据库中的初始数据进行更新。当接收到针对源数据库的查询请求时,可以通过目标数据库来进行数据查询。
由上述内容可知,本发明实施例可以将多个源数据库中的数据同步至目标数据库中,由于目标数据库中可以包括多个源数据库中的数据,因此可以直接通过目标数据库来进行数据查询,而不再需要通过多个源数据库来分别进行数据查询,从而可以有效提升数据的查询效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明一个数据查询方法的流程示意图;
图2为本发明一个实施例提供的数据查询装置的模块组成示意图;
图3为本发明一个实施例提供的数据查询设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明各实施例提供的技术方案。
请参见图1,图1为本发明一个实施例提供的数据查询方法的流程示意图,如图1所示,该方法包括以下步骤:
步骤102:将多个源数据库中的初始数据同步至目标数据库中。
步骤104:根据预设的周期,获取针对源数据库中的初始数据的操作数据。
步骤106:根据操作数据,对目标数据库中的初始数据进行更新。
步骤108:当接收到针对源数据库的数据查询请求时,通过目标数据库进行数据查询。
在本发明实施例中,目标数据库可以为搜索引擎对应的数据库。则在将多个源数据库中的初始数据同步至目标数据库时,可以将多个源数据库中的初始数据同步至搜索引擎对应的数据库。
在将多个源数据库中的初始数据同步至搜索引擎对应的数据库后,可以在后续根据检索词检索搜索引擎对应的数据库时,调用搜索引擎对应的检索能力进行检索。由于搜索引擎针对一些复杂检索场景(例如针对模糊检索的检索场景等)有较强的检索能力,可以更快速地完成检索,因此,本发明实施例在将多个源数据库中的初始数据同步至搜索引擎对应的数据库后,可以有更强的检索场景适应能力,从而在更多的检索场景中都能较快速地完成检索。
在一个示例中,在将多个源数据库中的初始数据同步至搜索引擎对应的数据库时,可以先将多个源数据库中的初始数据导出。在将多个源数据库中的初始数据导出之后,可以将导出的数据放入FTP(File Transfer Protocol,文件传输协议)服务器上。搜索引擎可以从FTP服务器上下载导出的初始数据,并将下载的初始数据导入自身对应的数据库中。
在本发明实施例中,在将源数据库中的初始数据同步至搜索引擎对应的数据库时,搜索引擎可以根据初始数据对应的业务标识号来对初始数据进行存储。若搜索引擎对应的数据库中不存在与该初始数据对应的业务标识号,则搜索引擎可以在对应的数据库中新增该业务标识号;若搜索引擎对应的数据库中存在与该初始数据对应的业务标识号,则搜索引擎可以根据此次同步的与该业务标识号对应的初始数据,对数据库中与已有的该业务标识号对应的数据进行更新。
在将多个源数据库中的初始数据同步至目标数据库后,可以根据预设的周期,来获取针对源数据库中的初始数据的操作数据。其中,在获取针对源数据库中的初始数据的操作数据时,可以先获取源数据库的日志文件,然后对获取的日志文件进行解析,并根据解析结果来获得针对源数据库中的初始数据的操作数据。
在一个示例中,针对源数据库中的初始数据的操作数据可以为针对源数据库中的初始数据的操作类型(例如,插入操作、删除操作等)、操作时间等。需要说明的是,当针对源数据库中的初始数据的操作类型中包括插入操作时,操作数据中还可以包括与操作类型对应的操作值,例如,与插入操作对应的插入值等。
在本发明的一个实施例中,在获取针对源数据库中的初始数据的操作数据后,可以对获取的操作数据进行组装,以在后续根据操作数据对目标数据库中的初始数据进行更新时,提升对目标数据库中的初始数据的更新效率。
在一个示例中,初始数据可以为保单数据,则在对获取的操作数据进行组装时,可以先按照操作数据针对的保单数据的保单号来获取同一保单号对应的操作数据,并将同一保单号对应的操作数据组装到一起,然后,可以循环获取不同保单号对应的操作数据,并将不同保单号对应的操作数据组装到一起。
在本发明的一个实施例中,在获取到操作数据后,可以根据操作数据,如操作数据中的操作类型,来确定源数据库中的初始数据是否被执行了删除操作以及是否被执行了插入操作,然后,可以根据确定结果来对目标数据库中的初始数据进行更新。
由于根据操作数据,如操作类型,确定源数据库中的初始数据是否被执行了删除操作以及是否被执行了插入操作为现有技术,故本发明实施例在此不再赘述。
在一个示例中,在根据操作数据来对目标数据库中的初始数据进行更新时,可以先根据操作数据,确定源数据库中的初始数据是否被执行了指定操作;其中,指定操作包括删除操作和插入操作中的至少一个。若源数据库中的初始数据被执行了指定操作,则可以判定指定操作是否为针对源数据库的主表的指定操作,然后,可以根据判定结果对目标数据库中的初始数据进行更新。
具体地,当指定操作包括删除操作且不包括插入操作时,根据判定结果对目标数据库中的初始数据进行更新可以具体为:若指定操作中的删除操作为针对源数据库的主表的删除操作,则可以从目标数据库中删除与被执行删除操作的主表对应的目标表,以完成对目标数据库中的初始数据的更新;若指定操作中的删除操作不为针对源数据库的主表的删除操作,则可以从目标数据库中删除与被执行删除操作的初始数据对应的目标初始数据,以完成对目标数据库中的初始数据的更新。
当指定操作包括插入操作且不包括删除操作时,根据判定结果对目标数据库中的初始数据进行更新可以具体为:若该指定操作中的插入操作为针对源数据库的主表的插入操作,则可以在目标数据库中创建一个与被执行插入操作的主表对应的目标表,以完成对目标数据库中的初始数据的更新;若指定操作中的插入操作不为针对源数据库的主表的插入操作,则根据操作数据中插入操作对应的操作数据,以及目标数据库中与被执行插入操作的初始数据对应的目标初始数据来进行数据插入,以完成对目标数据库中的初始数据的更新。
当指定操作包括插入操作且包括删除操作时,根据判定结果对目标数据库中的初始数据进行更新可以具体为:若指定操作中的删除操作为针对源数据库的主表的删除操作且指定操作中的插入操作为针对源数据库的主表的插入操作,则可以将目标数据库中与被执行删除操作的主表对应的目标表中的初始数据的值设置为空,以及根据操作数据中插入操作对应的操作数据为值为空的初始数据设置对应的值,以完成对目标数据库中的初始数据的更新;
若指定操作中的删除操作不为针对源数据库的主表的删除操作且指定操作中的插入操作为针对源数据库的主表的插入操作,则从目标数据库中删除与被执行删除操作的初始数据对应的目标初始数据,以及在目标数据库中创建一个与被执行插入操作的主表对应的目标表,以完成对目标数据库中的初始数据的更新;
若指定操作中的删除操作为针对源数据库的主表的删除操作且指定操作中的插入操作不为针对源数据库的主表的插入操作,则可以从目标数据库中删除与被执行删除操作的主表对应的目标表,以及根据操作数据中插入操作对应的操作数据以及目标数据库中与被执行插入操作的初始数据对应的目标初始数据来进行数据插入,以完成对目标数据库中的初始数据的更新;
若指定操作中的删除操作不为针对源数据库的主表的删除操作且指定操作中的插入操作不为针对源数据库的主表的插入操作,则从目标数据库中删除与被执行删除操作的初始数据对应的目标初始数据,以及根据操作数据中插入操作对应的操作数据以及目标数据库中与被执行插入操作的初始数据对应的目标初始数据来进行数据插入,以完成对目标数据库中的初始数据的更新。
由上述内容可知,在本发明实施例中,可以在根据操作数据确定源数据库中的初始数据被执行了删除操作和/或插入操作后,先确定是否为源数据库的主表被执行删除操作和/或插入操作,并在确定是源数据库的主表被执行删除操作和/或插入操作的情况下,直接对目标数据库中与被执行删除操作和/或插入操作的主表对应的目标表进行处理,从而可以有效提升对目标数据库中的初始数据的更新效率。
在本发明实施例中,目标数据库可以为搜索引擎对应的数据库,则在接收到针对源数据库的数据查询请求,并通过目标数据库来进行数据查询时,可以先对数据查询请求进行权限校验。
其中,在对数据查询请求进行权限校验时,可以先检验数据查询请求中携带的用户名以及密码是否正确以及是否有效。若有效,则可以进一步校验数据查询请求中携带的发送终端的IP是否为搜索引擎提供的查询服务中绑定的IP,若为搜索引擎提供的查询服务中绑定的IP,则可以进一步校验发送终端是否有调用搜索引擎的查询接口的权限。若有,则可以确定该数据查询请求通过权限校验,即可以通过搜索引擎对应的数据库来进行数据查询。
在本发明实施例中,可以先将多个源数据库中的初始数据同步至目标数据库中,并根据预设的周期,获取针对源数据库中的初始数据的操作数据,然后,可以根据操作数据,对目标数据库中的初始数据进行更新。当接收到针对源数据库的查询请求时,可以通过目标数据库来进行数据查询。
由上述内容可知,本发明实施例可以将多个源数据库中的数据同步至目标数据库中,由于目标数据库中可以包括多个源数据库中的数据,因此可以直接通过目标数据库来进行数据查询,而不再需要通过多个数据库来分别进行数据查询,从而可以有效提升数据的查询效率。
对应上述数据查询方法,本发明实施例还提供了一种数据查询装置,图2为本发明实施例提供的数据查询装置的模块组成示意图,如图2所示,该数据查询装置包括:
同步模块21,用于将多个源数据库中的初始数据同步至目标数据库;
获取模块22,用于根据预设的周期,获取针对所述源数据库中的初始数据的操作数据;
更新模块23,用于根据所述操作数据,对所述目标数据库中的初始数据进行更新;
查询模块24,用于当接收到针对所述源数据库的数据查询请求时,通过所述目标数据库进行数据查询。
可选的,所述更新模块23用于:
根据所述操作数据,确定所述源数据库中的初始数据是否被执行了指定操作;其中,所述指定操作包括删除操作和插入操作中的至少一个;
若所述源数据库中的初始数据被执行了指定操作,则判定所述指定操作是否为针对所述源数据库的主表的指定操作;
根据判定结果,对所述目标数据库中的初始数据进行更新。
可选的,所述更新模块23用于:
若所述指定操作中的删除操作为针对所述源数据库的主表的删除操作,则从所述目标数据库中删除与所述被执行删除操作的主表对应的目标表;
若所述指定操作中的删除操作不为针对所述源数据库的主表的删除操作,则从所述目标数据库中删除与所述被执行删除操作的初始数据对应的目标初始数据。
可选的,所述更新模块23用于:
若所述指定操作中的删除操作为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作为针对所述源数据库的主表的插入操作,则将所述目标数据库中与所述被执行删除操作的主表对应的目标表中的初始数据的值设置为空,以及根据所述操作数据中所述插入操作对应的操作数据为所述值为空的初始数据设置对应的值;
若所述指定操作中的删除操作不为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作为针对所述源数据库的主表的插入操作,则从所述目标数据库中删除与所述被执行删除操作的初始数据对应的目标初始数据,以及在所述目标数据库中创建一个与所述被执行插入操作的主表对应的目标表;
若所述指定操作中的删除操作为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作不为针对所述源数据库的主表的插入操作,则从所述目标数据库中删除与所述被执行删除操作的主表对应的目标表,以及根据所述操作数据中所述插入操作对应的操作数据以及所述目标数据库中与所述被执行插入操作的初始数据对应的目标初始数据来进行数据插入;
若所述指定操作中的删除操作不为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作不为针对所述源数据库的主表的插入操作,则从所述目标数据库中删除与所述被执行删除操作的初始数据对应的目标初始数据,以及根据所述操作数据中所述插入操作对应的操作数据和所述目标数据库中与所述被执行插入操作的初始数据对应的目标初始数据来进行数据插入。
可选的,所述更新模块23用于:
若所述指定操作中的插入操作为针对所述源数据库的主表的插入操作,则在所述目标数据库中创建一个与所述被执行插入操作的主表对应的目标表;
若所述指定操作中的插入操作不为针对所述源数据库的主表的插入操作,则根据所述操作数据中所述插入操作对应的操作数据,以及所述目标数据库中与所述被执行插入操作的初始数据对应的目标初始数据来进行数据插入。
在本发明实施例中,可以先将多个源数据库中的初始数据同步至目标数据库中,并根据预设的周期,获取针对源数据库中的初始数据的操作数据,然后,可以根据操作数据,对目标数据库中的初始数据进行更新。当接收到针对源数据库的查询请求时,可以通过目标数据库来进行数据查询。
由上述内容可知,本发明实施例可以将多个源数据库中的数据同步至目标数据库中,由于目标数据库中可以包括多个源数据库中的数据,因此可以直接通过目标数据库来进行数据查询,而不再需要通过多个数据库来分别进行数据查询,从而可以有效提升数据的查询效率。
对应上述数据查询方法,本发明实施例还提供了一种数据查询设备,图3为本发明一个实施例提供的数据查询设备的硬件结构示意图。
该数据查询设备可以为上述实施例提供的用于查询数据的终端设备或服务器等。
数据查询设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器301和存储器302,存储器302中可以存储有一个或一个以上存储应用程序或数据。其中,存储器302可以是短暂存储或持久存储。存储在存储器302的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对数据查询设备中的一系列计算机可执行指令。更进一步地,处理器301可以设置为与存储器302通信,在数据查询设备上执行存储器302中的一系列计算机可执行指令。数据查询设备还可以包括一个或一个以上电源303,一个或一个以上有线或无线网络接口304,一个或一个以上输入输出接口305,一个或一个以上键盘306。
具体在本实施例中,数据查询设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对数据查询设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
将多个源数据库中的初始数据同步至目标数据库;
根据预设的周期,获取针对所述源数据库中的初始数据的操作数据;
根据所述操作数据,对所述目标数据库中的初始数据进行更新;
当接收到针对所述源数据库的数据查询请求时,通过所述目标数据库进行数据查询。
可选地,计算机可执行指令在被执行时,可以使所述处理器:
根据所述操作数据,确定所述源数据库中的初始数据是否被执行了指定操作;其中,所述指定操作包括删除操作和插入操作中的至少一个;
若所述源数据库中的初始数据被执行了指定操作,则判定所述指定操作是否为针对所述源数据库的主表的指定操作;
根据判定结果,对所述目标数据库中的初始数据进行更新。
可选地,计算机可执行指令在被执行时,可以使所述处理器:
若所述指定操作中的删除操作为针对所述源数据库的主表的删除操作,则从所述目标数据库中删除与所述被执行删除操作的主表对应的目标表;
若所述指定操作中的删除操作不为针对所述源数据库的主表的删除操作,则从所述目标数据库中删除与所述被执行删除操作的初始数据对应的目标初始数据。
可选地,计算机可执行指令在被执行时,可以使所述处理器:
若所述指定操作中的删除操作为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作为针对所述源数据库的主表的插入操作,则将所述目标数据库中与所述被执行删除操作的主表对应的目标表中的初始数据的值设置为空,以及根据所述操作数据中所述插入操作对应的操作数据为所述值为空的初始数据设置对应的值;
若所述指定操作中的删除操作不为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作为针对所述源数据库的主表的插入操作,则从所述目标数据库中删除与所述被执行删除操作的初始数据对应的目标初始数据,以及在所述目标数据库中创建一个与所述被执行插入操作的主表对应的目标表;
若所述指定操作中的删除操作为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作不为针对所述源数据库的主表的插入操作,则从所述目标数据库中删除与所述被执行删除操作的主表对应的目标表,以及根据所述操作数据中所述插入操作对应的操作数据以及所述目标数据库中与所述被执行插入操作的初始数据对应的目标初始数据来进行数据插入;
若所述指定操作中的删除操作不为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作不为针对所述源数据库的主表的插入操作,则从所述目标数据库中删除与所述被执行删除操作的初始数据对应的目标初始数据,以及根据所述操作数据中所述插入操作对应的操作数据和所述目标数据库中与所述被执行插入操作的初始数据对应的目标初始数据来进行数据插入。
可选地,计算机可执行指令在被执行时,可以使所述处理器:
若所述指定操作中的插入操作为针对所述源数据库的主表的插入操作,则在所述目标数据库中创建一个与所述被执行插入操作的主表对应的目标表;
若所述指定操作中的插入操作不为针对所述源数据库的主表的插入操作,则根据所述操作数据中所述插入操作对应的操作数据,以及所述目标数据库中与所述被执行插入操作的初始数据对应的目标初始数据来进行数据插入。
可选地,所述目标数据库为搜索引擎对应的数据库。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (7)
1.一种数据查询方法,其特征在于,所述方法包括:
将多个源数据库中的初始数据同步至目标数据库;
根据预设的周期,获取针对所述源数据库中的初始数据的操作数据;
根据所述操作数据,确定所述源数据库中的初始数据是否被执行了指定操作;其中,所述指定操作包括删除操作和插入操作;
若所述源数据库中的初始数据被执行了指定操作,则判定所述指定操作是否为针对所述源数据库的主表的指定操作;
根据判定结果,对所述目标数据库中的初始数据进行更新;
根据判定结果,对所述目标数据库中的初始数据进行更新,包括:
若所述指定操作中的删除操作为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作为针对所述源数据库的主表的插入操作,则将所述目标数据库中与所述被执行删除操作的主表对应的目标表中的初始数据的值设置为空,以及根据所述操作数据中所述插入操作对应的操作数据为所述值为空的初始数据设置对应的值;
若所述指定操作中的删除操作不为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作为针对所述源数据库的主表的插入操作,则从所述目标数据库中删除与所述被执行删除操作的初始数据对应的目标初始数据,以及在所述目标数据库中创建一个与所述被执行插入操作的主表对应的目标表;
若所述指定操作中的删除操作为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作不为针对所述源数据库的主表的插入操作,则从所述目标数据库中删除与所述被执行删除操作的主表对应的目标表,以及根据所述操作数据中所述插入操作对应的操作数据以及所述目标数据库中与所述被执行插入操作的初始数据对应的目标初始数据来进行数据插入;
若所述指定操作中的删除操作不为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作不为针对所述源数据库的主表的插入操作,则从所述目标数据库中删除与所述被执行删除操作的初始数据对应的目标初始数据,以及根据所述操作数据中所述插入操作对应的操作数据和所述目标数据库中与所述被执行插入操作的初始数据对应的目标初始数据来进行数据插入;
当接收到针对所述源数据库的数据查询请求时,通过所述目标数据库进行数据查询。
2.根据权利要求1所述的方法,其特征在于,所述指定操作包括删除操作且不包括插入操作;所述根据判定结果,对所述目标数据库中的初始数据进行更新,包括:
若所述指定操作中的删除操作为针对所述源数据库的主表的删除操作,则从所述目标数据库中删除与所述被执行删除操作的主表对应的目标表;
若所述指定操作中的删除操作不为针对所述源数据库的主表的删除操作,则从所述目标数据库中删除与所述被执行删除操作的初始数据对应的目标初始数据。
3.根据权利要求1所述的方法,其特征在于,所述指定操作包括插入操作且不包括删除操作;所述根据判定结果,对所述目标数据库中的初始数据进行更新,包括:
若所述指定操作中的插入操作为针对所述源数据库的主表的插入操作,则在所述目标数据库中创建一个与所述被执行插入操作的主表对应的目标表;
若所述指定操作中的插入操作不为针对所述源数据库的主表的插入操作,则根据所述操作数据中所述插入操作对应的操作数据,以及所述目标数据库中与所述被执行插入操作的初始数据对应的目标初始数据来进行数据插入。
4.根据权利要求1所述的方法,其特征在于,所述目标数据库为搜索引擎对应的数据库。
5.一种数据查询装置,其特征在于,所述装置包括:
同步模块,用于将多个源数据库中的初始数据同步至目标数据库;
获取模块,用于根据预设的周期,获取针对所述源数据库中的初始数据的操作数据;
更新模块,用于根据所述操作数据,确定所述源数据库中的初始数据是否被执行了指定操作;其中,所述指定操作包括删除操作和插入操作;
若所述源数据库中的初始数据被执行了指定操作,则判定所述指定操作是否为针对所述源数据库的主表的指定操作;
根据判定结果,对所述目标数据库中的初始数据进行更新;
根据判定结果,对所述目标数据库中的初始数据进行更新,包括:
若所述指定操作中的删除操作为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作为针对所述源数据库的主表的插入操作,则将所述目标数据库中与所述被执行删除操作的主表对应的目标表中的初始数据的值设置为空,以及根据所述操作数据中所述插入操作对应的操作数据为所述值为空的初始数据设置对应的值;
若所述指定操作中的删除操作不为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作为针对所述源数据库的主表的插入操作,则从所述目标数据库中删除与所述被执行删除操作的初始数据对应的目标初始数据,以及在所述目标数据库中创建一个与所述被执行插入操作的主表对应的目标表;
若所述指定操作中的删除操作为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作不为针对所述源数据库的主表的插入操作,则从所述目标数据库中删除与所述被执行删除操作的主表对应的目标表,以及根据所述操作数据中所述插入操作对应的操作数据以及所述目标数据库中与所述被执行插入操作的初始数据对应的目标初始数据来进行数据插入;
若所述指定操作中的删除操作不为针对所述源数据库的主表的删除操作且所述指定操作中的插入操作不为针对所述源数据库的主表的插入操作,则从所述目标数据库中删除与所述被执行删除操作的初始数据对应的目标初始数据,以及根据所述操作数据中所述插入操作对应的操作数据和所述目标数据库中与所述被执行插入操作的初始数据对应的目标初始数据来进行数据插入;
查询模块,用于当接收到针对所述源数据库的数据查询请求时,通过所述目标数据库进行数据查询。
6.一种终端设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910817562.8A CN110659328B (zh) | 2019-08-30 | 2019-08-30 | 数据查询方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910817562.8A CN110659328B (zh) | 2019-08-30 | 2019-08-30 | 数据查询方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659328A CN110659328A (zh) | 2020-01-07 |
CN110659328B true CN110659328B (zh) | 2022-04-29 |
Family
ID=69036617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910817562.8A Active CN110659328B (zh) | 2019-08-30 | 2019-08-30 | 数据查询方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659328B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103823797A (zh) * | 2012-11-16 | 2014-05-28 | 镇江诺尼基智能技术有限公司 | 基于ftp协议的行业数据库数据实时同步系统 |
CN104217011A (zh) * | 2014-09-19 | 2014-12-17 | 浪潮(北京)电子信息产业有限公司 | HBase二级索引表的查询方法和装置 |
CN104572672A (zh) * | 2013-10-15 | 2015-04-29 | 北大方正集团有限公司 | 异构数据库的同步方法和应用系统 |
CN105320680A (zh) * | 2014-07-15 | 2016-02-10 | 中国移动通信集团公司 | 一种数据同步方法及装置 |
CN106980636A (zh) * | 2016-07-22 | 2017-07-25 | 平安科技(深圳)有限公司 | 保单数据处理方法和装置 |
CN107133251A (zh) * | 2016-02-29 | 2017-09-05 | 株式会社特迈数据 | 用于对异构数据库之间的查询结果进行同步的方法、服务器和存储于计算机可读介质中的计算机程序 |
CN108108486A (zh) * | 2018-01-10 | 2018-06-01 | 上海达梦数据库有限公司 | 一种数据表查询方法、装置、终端设备及存储介质 |
CN109299164A (zh) * | 2018-09-03 | 2019-02-01 | 中国平安人寿保险股份有限公司 | 一种数据查询方法、计算机可读存储介质及终端设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210429A1 (en) * | 2008-02-19 | 2009-08-20 | Yahoo! Inc. | System and method for asynchronous update of indexes in a distributed database |
CN103092871A (zh) * | 2011-11-01 | 2013-05-08 | 镇江华扬信息科技有限公司 | 一种实现异构数据库的数据同步方法 |
US10169439B2 (en) * | 2015-06-19 | 2019-01-01 | Sap Se | Multi-source asynchronous table replication |
US10795881B2 (en) * | 2015-12-18 | 2020-10-06 | Sap Se | Table replication in a database environment |
CN109408596A (zh) * | 2018-11-06 | 2019-03-01 | 杭州通易科技有限公司 | 一种双活数据库容灾系统及方法 |
-
2019
- 2019-08-30 CN CN201910817562.8A patent/CN110659328B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103823797A (zh) * | 2012-11-16 | 2014-05-28 | 镇江诺尼基智能技术有限公司 | 基于ftp协议的行业数据库数据实时同步系统 |
CN104572672A (zh) * | 2013-10-15 | 2015-04-29 | 北大方正集团有限公司 | 异构数据库的同步方法和应用系统 |
CN105320680A (zh) * | 2014-07-15 | 2016-02-10 | 中国移动通信集团公司 | 一种数据同步方法及装置 |
CN104217011A (zh) * | 2014-09-19 | 2014-12-17 | 浪潮(北京)电子信息产业有限公司 | HBase二级索引表的查询方法和装置 |
CN107133251A (zh) * | 2016-02-29 | 2017-09-05 | 株式会社特迈数据 | 用于对异构数据库之间的查询结果进行同步的方法、服务器和存储于计算机可读介质中的计算机程序 |
CN106980636A (zh) * | 2016-07-22 | 2017-07-25 | 平安科技(深圳)有限公司 | 保单数据处理方法和装置 |
CN108108486A (zh) * | 2018-01-10 | 2018-06-01 | 上海达梦数据库有限公司 | 一种数据表查询方法、装置、终端设备及存储介质 |
CN109299164A (zh) * | 2018-09-03 | 2019-02-01 | 中国平安人寿保险股份有限公司 | 一种数据查询方法、计算机可读存储介质及终端设备 |
Non-Patent Citations (1)
Title |
---|
"触发器在大型信息管理系统开发中的应用";任治斌 等;《内蒙古师范大学学报(自然科学汉文版)》;20110915;第40卷(第05期);489-492+496 * |
Also Published As
Publication number | Publication date |
---|---|
CN110659328A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102258437B1 (ko) | 블록체인 기반 데이터 저장 및 쿼리 방법 및 디바이스 | |
CN107526777B (zh) | 一种基于版本号对文件进行处理的方法及设备 | |
CN106970936B (zh) | 数据处理方法及装置、数据查询方法及装置 | |
CN108959341B (zh) | 一种数据同步的方法、装置及设备 | |
CN107391101B (zh) | 一种信息处理方法及装置 | |
CN108848244B (zh) | 一种分页显示的方法及装置 | |
CN111400681B (zh) | 数据权限处理方法、装置及设备 | |
CN110781192B (zh) | 区块链数据的验证方法、装置及设备 | |
CN108304455B (zh) | 一种处理业务请求的方法、装置及设备 | |
CN111241040B (zh) | 信息获取方法、装置、电子设备及计算机存储介质 | |
CN107451204B (zh) | 一种数据查询方法、装置及设备 | |
CN115617799A (zh) | 一种数据存储的方法、装置、设备及存储介质 | |
CN111694992B (zh) | 一种数据处理方法和装置 | |
CN106156050B (zh) | 一种数据处理方法及装置 | |
CN110083602B (zh) | 一种基于hive表的数据存储及数据处理的方法及装置 | |
CN110659328B (zh) | 数据查询方法、装置、设备及计算机可读存储介质 | |
CN109582388B (zh) | 一种参数配置方法、装置及设备 | |
CN113254163B (zh) | 区块链数据的处理方法及装置 | |
CN115391426A (zh) | 一种数据查询方法、装置、存储介质及电子设备 | |
CN108153799B (zh) | 数据库访问控制方法、装置和数据库系统 | |
CN107562533B (zh) | 一种数据加载处理方法及装置 | |
CN115934161A (zh) | 一种代码变更的影响分析方法、装置以及设备 | |
CN110633321B (zh) | 一种数据的同步方法、装置及设备 | |
CN112596780A (zh) | 一种业务执行的方法以及装置 | |
CN111967764A (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 |