CN113553488A - 搜索引擎中索引数据的更新方法、装置、电子设备及介质 - Google Patents
搜索引擎中索引数据的更新方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN113553488A CN113553488A CN202110800854.8A CN202110800854A CN113553488A CN 113553488 A CN113553488 A CN 113553488A CN 202110800854 A CN202110800854 A CN 202110800854A CN 113553488 A CN113553488 A CN 113553488A
- Authority
- CN
- China
- Prior art keywords
- updated
- data
- document
- search engine
- incremental
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims 2
- 230000000694 effects Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013479 data entry Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种搜索引擎中索引数据的更新方法、装置、电子设备及介质,其中,该方法包括:从与搜索引擎对应的数据库主库的数据库从库中,获取与所述搜索引擎的索引数据对应的至少一条增量扫描数据;基于每一条所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定所述增量扫描数据是否为待更新增量数据;如果是,则基于所述待更新增量数据生成待更新文档,并将所述待更新文档提交至所述搜索引擎,以使所述搜索引擎基于所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档对所述索引数据进行更新。本发明实施例,通过上述方法,解决了老的数据覆盖掉最新数据问题,达到了搜索引擎中正确搜索到完整数据的效果。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种搜索引擎中索引数据的更新方法、装置、电子设备及介质。
背景技术
随着互联网业务的发展,很多业务场景需要搜索引擎实时更新索引数据。搜索引擎的索引数据需要基于支撑业务的数据库进行更新。出于对数据安全的考虑,在数据库架构中一般都会设置有数据库主库以及与数据库主库对应的数据库从库。其中,数据库从库为数据库主库的备份数据库,其数据由数据库主库同步得到。
目前,在数据库主库与数据库从库进行主从同步的过程中,往往会存在数据延迟的情况,因此,在搜索引擎已经实时更新为最新数据的情况下,如果后续从数据库从库中更新进来的数据为延迟的旧数据,可能会导致旧数据覆盖掉最新数据。
发明内容
本发明实施例提供了一种搜索引擎中索引数据的更新方法、装置、电子设备及介质,以实现防止老的数据覆盖掉最新数据的技术效果。
第一方面,本发明实施例提供了一种搜索引擎中索引数据的更新方法,该方法包括:
从与搜索引擎对应的数据库主库的数据库从库中,获取与所述搜索引擎的索引数据对应的至少一条增量扫描数据;
基于每一条所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定所述增量扫描数据是否为待更新增量数据;
如果是,则基于所述待更新增量数据生成待更新文档,并将所述待更新文档提交至所述搜索引擎,以使所述搜索引擎基于所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档对所述索引数据进行更新。
第二方面,本发明实施例还提供了一种搜索引擎中索引数据的更新装置,该装置包括:
增量数据获取模块,用于从与搜索引擎对应的数据库主库的数据库从库中,获取与所述搜索引擎的索引数据对应的至少一条增量扫描数据;
待更新数据确定模块,用于基于每一条所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定所述增量扫描数据是否为待更新增量数据;
待更新文档提交模块,用于如果是,则基于所述待更新增量数据生成待更新文档,并将所述待更新文档提交至所述搜索引擎,以使所述搜索引擎基于所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档对所述索引数据进行更新。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的搜索引擎中索引数据的更新方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的搜索引擎中索引数据的更新方法。
本发明实施例的技术方案,通过从与搜索引擎对应的数据库主库的数据库从库中获取增量扫描数据,既能够提供搜索引擎的索引数据所需要的数据,又能避免每一条数据都从数据库主库中实时同步给数据库主库带来的压力,同时减少系统资源占用,并根据每一条增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定该增量扫描数据是否为待更新增量数据,能够通过缓存时间信息简单快速有效地确定出待更新增量数据;如果是,则基于待更新增量数据生成待更新文档,并将待更新文档提交至所述搜索引擎,以使搜索引擎基于待更新文档与搜索引擎中与待更新文档对应的已更新文档对索引数据进行更新,从而实现对搜索引擎的索引数据的准确更新,上述技术方案通过缓存时间信息对增量扫描数据进行了筛选,能够获取到增量扫描数据中的最新数据生成待更新文档,进而,基于通过搜索引擎结合待更新文档与搜索引擎中与待更新文档对应的已更新文档对索引数据进行更新,解决了由于主从延迟导致的增量扫描数据中的老的数据覆盖掉索引数据中最新数据问题,实现搜索引擎中的索引数据始终是最新的正确数据的技术效果。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1为本发明实施例一所提供的一种搜索引擎中索引数据的更新方法的流程示意图;
图2是为本发明实施例二所提供的一种搜索引擎中索引数据的更新方法的流程示意图;
图3是为本发明实施例二所提供的一种搜索引擎中索引数据的更新方法的可选实例的流程示意图;
图4是为本发明实施例三所提供的一种搜索引擎中索引数据的更新装置的结构示意图;
图5是为本发明实施例四所提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一所提供的一种搜索引擎中索引数据的更新方法的流程示意图,本实施例可适用于主从数据库同步时,搜索引擎中索引数据的更新能够正常完成,有效解决主从数据库同步延迟造成的搜索引擎中的数据被旧数据覆盖,导致数据错误的情况,该方法可以由搜索引擎中索引数据的更新装置来执行,该装置可以通过软件和/或硬件来实现,可配置于终端和/或服务器中来实现本发明实施例中的一种搜索引擎中索引数据的更新方法。
如图1所示,本实施例的方法具体可包括:
S110、从与搜索引擎对应的数据库主库的数据库从库中,获取与所述搜索引擎的索引数据对应的至少一条增量扫描数据。
其中,所述数据库主库可以为存储数据的主要数据仓库,相对于数据库从库,数据库主库的数据为第一时间更新的数据。一般地,数据库主库用于响应用户的数据交互请求。数据库从库依据数据库主库更新而更新。
其中,所述数据库从库可以为对应于数据库主库的数据库。具体地,数据库从库可以理解为数据库主库的备份。通常,数据库从库的数据同步于数据库主库,以使数据库从库与数据库主库内容相同。理论上,数据库从库的数据应与数据库主库的数据完全相同,但由于在数据传输过程中涉及到各种影响数据同步的因素(如网络延迟等),使得数据库主库与数据库从库之间可能存在数据延迟,即,存在数据库从库的数据可能并非数据库主库中的最新数据的情况。
其中,所述搜索引擎可以为能够从数据库中检索特定信息的程序和/或装置,本申请中搜索引擎可以对数据库主库进行搜索,也可以对数据库从库进行搜索。
其中,所述索引数据可以为搜索引擎在预先设置的与索引数据对应的数据库表中一列或多列的值进行排序的一种数据,可以加快搜索引擎在目标数据库中检索特定信息的速度。
其中,所述增量扫描数据可以为数据库从库同步数据库主库后所更新的数据,例如可以为数据库从库同步数据库主库后新增加的数据条目或修改的数据条目。
在搜索引擎无需实时同步数据库主库数据时,为了减少系统资源占用以及数据库主库的访问压力,可以从与数据库主库对应的数据库从库中获取与所述搜索引擎的索引数据对应的增量扫描数据。其中,增量扫描数据的数量可以根据实际情况确定,可选地,可以增量扫描数据的数量是一条、两条或两条以上。
可选地,基于预设时间间隔从与搜索引擎对应的数据库主库的数据库从库中,获取与所述搜索引擎的索引数据对应的至少一条增量扫描数据,换言之,可以定时从与搜索引擎对应的数据库主库的数据库从库中,获取与所述搜索引擎的索引数据对应的至少一条增量扫描数据。其中,预设时间间隔可以根据实际需求进行设定,其设定方式在此并不做限定。例如,预设时间间隔可以由用户自行设置,预设时间间隔也可以基于数据库主库与数据库从库的数据同步的延迟时间确定。
S120、基于每一条所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定所述增量扫描数据是否为待更新增量数据。
其中,所述预设缓存空间可以为记录已更新的扫描数据信息的缓存空间,其中已更新扫描数据信息包含已更新扫描数据更新时间。
其中,所述待更新增量数据可以为通过了增量扫描数据在预设缓存空间中所记录的缓存时间信息的判断,进入下一步判断的增量扫描数据,也即待更新增量数据可能是最后要更新的增量数据。
其中,所述缓存时间信息可以为记录已更新扫描数据信息的更新时间,也即上一次提交到搜索引擎时的时间。
可选的是,在本发明实施例中任一可选技术方案的基础上,所述基于每一条所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定所述增量扫描数据是否为待更新增量数据,包括:
针对每一条所述增量扫描数据,如果所述增量扫描数据的数据更新时间晚于或等于所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,则将所述增量扫描数据确定为待更新增量数据;
如果在预设缓存空间中所记录的缓存时间信息中未查询到所述增量扫描数据的数据更新时间,则将所述增量扫描数据确定为待更新增量数据。
其中,所述确定所述增量扫描数据是否为待更新增量数据可以为通过增量扫描数据本身的更新时间与对应的已更新扫描数据信息的更新时间进行比较来判断所述增量扫描数据是否为待更新增量数据,例如可以为增量扫描数据本身的更新时间晚于该增量扫描数据对应的缓存时间信息,说明在上次更新之后该增量扫描数据可能又有更新,则判断增量扫描数据为待更新增量数据,如果该增量扫描数据没有对应的缓存时间信息,认为对应的缓存时间信息为空,此时,认为增量扫描数据为新增的增量扫描数据,可确定为待更新增量数据。
需要说明的是,预设缓存空间中的所记录增量扫描数据的缓存时间信息可以是在本次更新之前从数据库从库中获取的数据的缓存时间信息,也可以是在本次更新之前从数据库主库中获取的数据的缓存时间信息,只要预设缓存空间中的是与增量扫描数据对应的数据即可。其中,与增量扫描数据对应的数据可以理解为与增量扫描数据的表征同一事件,只是其具体数据内容可能有所更新。
S130、如果是,则基于所述待更新增量数据生成待更新文档,并将所述待更新文档提交至所述搜索引擎,以使所述搜索引擎基于所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档对所述索引数据进行更新。
其中,所述待更新文档可以为能够提交给搜索引擎进行更新索引数据的文档,通过待更新文档提交给搜索引擎进行更新索引数据,搜索引擎可以准确的搜索已更新的数据信息。
其中,所述已更新文档可以为已经提交到搜索引擎进行更新索引数据的文档,更新后的索引数据可以让搜索引擎准确的搜索已更新的数据信息。
其中,所述对所述索引数据进行更新可以为通过判断待更新文档与已更新文档的关系,来更新索引数据,例如可以根据待更新文档与已更新文档的生成时间,进行比较,如果待更新文档生成时间在后,则更新索引数据,否则放弃更新索引数据。
可选的是,在本发明实施例中任一可选技术方案的基础上,当监控到所述数据库主库中包括与搜索引擎中的索引数据对应的实时更新数据时,基于所述实时更新数据生成待更新文档,并将所述待更新文档提交至所述搜索引擎。
其中,所述实时更新数据可以为数据库主库当前更新的数据,与数据库从库更新的数据增量扫描数据不同,例如可以为当监控到实时更新数据时,无需与预设缓存空间中所记录的缓存时间做比较,是可以直接生成待更新文档,并将所述待更新文档提交至所述搜索引擎的数据。
可选的是,在本发明实施例中任一可选技术方案的基础上,通过监控所述数据库主库的日志文件,确定所述数据库主库是否有与搜索引擎中的索引数据对应的实时更新数据。
其中,所述日志文件可以为数据库主库操作记录文件,记录数据库主库操作历史,例如可以为记录数据库主库增删改查的记录文件。
本发明实施例的技术方案,通过从与搜索引擎对应的数据库主库的数据库从库中获取增量扫描数据,既能够提供搜索引擎的索引数据所需要的数据,又能避免每一条数据都从数据库主库中实时同步给数据库主库带来的压力,同时减少系统资源占用,并根据每一条增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定该增量扫描数据是否为待更新增量数据,能够通过缓存时间信息简单快速有效地确定出待更新增量数据;如果是,则基于待更新增量数据生成待更新文档,并将待更新文档提交至所述搜索引擎,以使搜索引擎基于待更新文档与搜索引擎中与待更新文档对应的已更新文档对索引数据进行更新,从而实现对搜索引擎的索引数据的准确更新,上述技术方案通过缓存时间信息对增量扫描数据进行了筛选,能够获取到增量扫描数据中的最新数据生成待更新文档,进而,基于通过搜索引擎结合待更新文档与搜索引擎中与待更新文档对应的已更新文档对索引数据进行更新,解决了由于主从延迟导致的增量扫描数据中的老的数据覆盖掉索引数据中最新数据问题,实现搜索引擎中的索引数据始终是最新的正确数据的技术效果。
实施例二
图2为本发明实施例二所提供的一种搜索引擎中索引数据的更新方法的流程图,本实施例在本发明实施例中任一可选技术方案的基础上,可选地,所述基于所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档对所述索引数据进行更新,包括:通过所述搜索引擎判断所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档的是否一致,基于对所述待更新文档与所述已更新文档的判断结果更新所述索引数据。
如图2所示,本实施例的方法具体可包括:
S210、从与搜索引擎对应的数据库主库的数据库从库中,获取与所述搜索引擎的索引数据对应的至少一条增量扫描数据;
S220、基于每一条所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定所述增量扫描数据是否为待更新增量数据;
S230、如果是,则基于所述待更新增量数据生成待更新文档,并将所述待更新文档提交至所述搜索引擎,通过所述搜索引擎判断所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档的是否一致,基于对所述待更新文档与所述已更新文档的判断结果更新所述索引数据。
其中,所述判断所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档的是否一致可以为对待更新文档生成的唯一标识字符串与已更新文档的生成的唯一标识字符串比较,例如可以为对待更新文档生成的信息摘要算法(Message-DigestAlgorithm,MD5)与已更新文档的生成的MD5进行比较。
其中,所述对所述待更新文档与所述已更新文档的判断结果更新所述索引数据可以为通过比较判待更新文档与已更新文档是否相同,来更新所述索引数据。例如可以为当判断待更新文档与已更新文档相同,则直接放弃更新所述索引数据,具体可以为待更新文档与已更新文档MD5相同,则直接放弃更新所述索引数据。
可选地,若判断出待更新文档与已更新文档不相同,则可以进一步比较待更新文档与已更新文档的生成时间,若待更新文档生成时间在已更新文档的生成时间之前,则放弃更新所述索引数据,若待更新文档生成时间在已更新文档的生成时间之后,则更新所述索引数据。
可选的是,在本发明实施例中任一可选技术方案的基础上,所述基于对所述待更新文档与所述已更新文档的判断结果更新所述索引数据,包括:
如果通过所述搜索引擎判断出所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档不一致,则确定所述更新文档的版本号,基于所述待更新文档的文档版本号更新所述索引数据。
其中,所述版本号可以为提交到搜索引擎的文档进行版本控制,防止低版本的覆盖高版本的数据来指定的版本号,例如版本号可以根据数据库数据最新更新时间戳生成或版本号可以根据数据库数据最新更新时间戳和数据库本身版本生成。
其中,所述基于所述待更新文档的文档版本号更新所述索引数据可以为按位比较待更新文档的文档版本号与已更新文档的文档版本号,来更新所述索引数据,例如可以为文档版本号为二进制编码,从左到右按位比较,找到第一个不同位,若已更新文档的文档版本号此位为1,则放弃更新所述索引数据,若已更新文档的文档版本号此位为0,则更新所述索引数据。例如所述待更新文档的文档版本号为101101,已更新文档的文档版本号为101111,则第一个不同位为从左到右第5位,已更新文档的文档版本号此位为1,则放弃更新所述索引数据。
可选的是,在本发明实施例中任一可选技术方案的基础上,所述基于所述待更新文档的文档版本号更新所述索引数据,包括:
如果通过所述搜索引擎判断出所述待更新文档的文档版本号大于或等于所述已更新文档的文档版本号,则所述待更新文档更新至所述索引数据中。
其中,所述文档版本号可以为根据数据库数据最新更新时间戳生成的从小到大的数,或根据数据库数据最新更新时间戳和数据库本身版本生成的从小到大的数,例如待更新文档的文档版本号可以为5.8,已更新文档的文档版本号可以为5.7,则比较5.8与5.7的大小,因为5.8大于5.7,则更新所述索引数据。
本实施例的技术方案,通过比较待更新文档与已更新文档的是否一致,来更新所述索引数据,解决了数据库主库与数据库从库同步时造成的待更新文档不一定对应最新的数据库更新数据问题,达到了即使数据库主库与数据库从库同步存在延迟的情况下,依然能保证搜索引擎索引数据为最新的正确数据的技术效果。
如图3所示,以数据库主库和数据库从库存在同步延迟的情况,搜索引擎对应数据库主库和数据库从库为例,来说明本发明实施例的一种可选方案。
步骤1、配置数据库链接信息;其中,数据库连接信息可包含IP端口地址、连接账号密码;
步骤2、启动数据库主库实时更新数据监控模块,实时监控主库日志信息,如果有更新数据则直接进入步骤6;
步骤3、定时启动增量数据获取模块,获取数据库从库中增量扫描数据;
步骤4、根据步骤3获取到的增量扫描数据,每一条增量扫描数据都获取当前数据库该条增量扫描数据最新更新时间戳并获取所述该条增量扫描数据在预设缓存空间中所记录的缓存时间戳;
步骤5、如果所述该条增量扫描数据最新更新时间戳小于该条增量扫描数据在预设缓存空间中所记录的缓存时间信息(即,缓存时间戳),则直接放弃该条增量扫描数据对索引数据的更新,如果预设缓存空间中不存在该条增量扫描数据的缓存时间戳,或者当前数据库中该条增量扫描数据最新更新时间戳大于预设缓存空间中的缓存时间戳,则判断该条增量扫描数据为待更新增量数据;
步骤6、基于待更新增量数据生成待更新文档,并根据待更新文档生成该文档的MD5和版本号,待更新文档提交到搜索引擎;
步骤7、搜索引擎判断待更新的文档MD5和当前搜索引擎中待更新文档对应的已更新文档的MD5是否一致,如果一致则放弃索引更新,否则进行S580;
步骤8、搜索引擎判断待更新的文档版本号是否大于等于当前搜索引擎中待更新文档对应的已更新该文档的版本号,如果小于则放弃索引更新,如果是则进行索引更新。
本实施例的技术方案,通过对增量扫描数据的MD5、数据库更新时间和文档版本号三个维度的综合判断,有效的防止了数据库主从同步导致的最新数据被旧数据覆盖问题,保障了即使实时和增量两种分别监控主从数据库的复杂场景,仍然能保证搜索引擎中的索引数据始终是最新的正确数据。
实施例三
图4为本发明实施例三提供的一种搜索引擎中索引数据的更新装置的结构示意图,本实施例所提供的一种搜索引擎中索引数据的更新装置可以通过软件和/或硬件来实现,可配置于终端和/或服务器中来实现本发明实施例中的一种搜索引擎中索引数据的更新方法。如图4所示,该装置具体可包括:增量数据获取模块310,待更新数据确定模块320,待更新文档提交模块330。
其中,增量数据获取模块310,用于从与搜索引擎对应的数据库主库的数据库从库中,获取与所述搜索引擎的索引数据对应的至少一条增量扫描数据;待更新数据确定模块320,用于基于每一条所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定所述增量扫描数据是否为待更新增量数据;待更新文档提交模块330,用于如果是,则基于所述待更新增量数据生成待更新文档,并将所述待更新文档提交至所述搜索引擎,以使所述搜索引擎基于所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档对所述索引数据进行更新。
本发明实施例的技术方案,通过从与搜索引擎对应的数据库主库的数据库从库中获取增量扫描数据,既能够提供搜索引擎的索引数据所需要的数据,又能避免每一条数据都从数据库主库中实时同步给数据库主库带来的压力,同时减少系统资源占用,并根据每一条增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定该增量扫描数据是否为待更新增量数据,能够通过缓存时间信息简单快速有效地确定出待更新增量数据;如果是,则基于待更新增量数据生成待更新文档,并将待更新文档提交至所述搜索引擎,以使搜索引擎基于待更新文档与搜索引擎中与待更新文档对应的已更新文档对索引数据进行更新,从而实现对搜索引擎的索引数据的准确更新,上述技术方案通过缓存时间信息对增量扫描数据进行了筛选,能够获取到增量扫描数据中的最新数据生成待更新文档,进而,基于通过搜索引擎结合待更新文档与搜索引擎中与待更新文档对应的已更新文档对索引数据进行更新,解决了由于主从延迟导致的增量扫描数据中的老的数据覆盖掉索引数据中最新数据问题,实现搜索引擎中的索引数据始终是最新的正确数据的技术效果。
在本发明实施例中任一可选技术方案的基础上,可选的是,待更新文档提交模块330,用于通过所述搜索引擎判断所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档的是否一致,基于对所述待更新文档与所述已更新文档的判断结果更新所述索引数据。
在本发明实施例中任一可选技术方案的基础上,可选的是,待更新文档提交模块330,进一步用于如果通过所述搜索引擎判断出所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档不一致,则确定所述更新文档的文档版本号,基于所述待更新文档的文档版本号更新所述索引数据。
在本发明实施例中任一可选技术方案的基础上,可选的是,待更新文档提交模块330,用于如果通过所述搜索引擎判断出所述待更新文档的文档版本号大于或等于所述已更新文档的文档版本号,则所述待更新文档更新至所述索引数据中。
可选的是,在本发明实施例中任一可选技术方案的基础上,待更新数据确定模块320,用于:
针对每一条所述增量扫描数据,如果所述增量扫描数据的数据更新时间晚于或等于所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,则将所述增量扫描数据确定为待更新增量数据;
如果在预设缓存空间中所记录的缓存时间信息中未查询到所述增量扫描数据的数据更新时间,则将所述增量扫描数据确定为待更新增量数据。
在本发明实施例中任一可选技术方案的基础上,可选的是,所述搜索引擎中索引数据的更新装置还包括:
数据库主库待更新数据确定模块,用于当监控到所述数据库主库中包括与搜索引擎中的索引数据对应的实时更新数据时,基于所述实时更新数据生成待更新文档,并将所述待更新文档提交至所述搜索引擎。
在本发明实施例中任一可选技术方案的基础上,可选的是,所述搜索引擎中索引数据的更新装置还包括:
数据库主库实时更新数据监控模块,通过监控所述数据库主库的日志文件,确定所述数据库主库是否有与搜索引擎中的索引数据对应的实时更新数据。
上述装置可执行本发明任意实施例所提供的搜索引擎中索引数据的更新方法,具备执行搜索引擎中索引数据的更新方法相应的功能模块和有益效果。
实施例四
图5为本发明实施例四提供的一种电子设备的结构示意图,如图5所示,该电子设备包括处理器410、存储器420、输入装置430和输出装置440;设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种搜索引擎中索引数据的更新方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410 远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种搜索引擎中索引数据的更新方法方法,该方法包括:从与搜索引擎对应的数据库主库的数据库从库中,获取与所述搜索引擎的索引数据对应的至少一条增量扫描数据;基于每一条所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定所述增量扫描数据是否为待更新增量数据;如果是,则基于所述待更新增量数据生成待更新文档,并将所述待更新文档提交至所述搜索引擎,以使所述搜索引擎基于所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档对所述索引数据进行更新。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如 Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种搜索引擎中索引数据的更新方法,其特征在于,包括:
从与搜索引擎对应的数据库主库的数据库从库中,获取与所述搜索引擎的索引数据对应的至少一条增量扫描数据;
基于每一条所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定所述增量扫描数据是否为待更新增量数据;
如果是,则基于所述待更新增量数据生成待更新文档,并将所述待更新文档提交至所述搜索引擎,以使所述搜索引擎基于所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档对所述索引数据进行更新。
2.根据权利要求1所述的方法,其特征在于,所述基于所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档对所述索引数据进行更新,包括:
通过所述搜索引擎判断所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档的是否一致,基于对所述待更新文档与所述已更新文档的判断结果更新所述索引数据。
3.根据权利要求2所述的方法,其特征在于,所述基于对所述待更新文档与所述已更新文档的判断结果更新所述索引数据,包括:
如果通过所述搜索引擎判断出所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档不一致,则确定所述更新文档的文档版本号,基于所述待更新文档的文档版本号更新所述索引数据。
4.根据权利要求3所述的方法,其特征在于,所述基于所述待更新文档的文档版本号更新所述索引数据,包括:
如果通过所述搜索引擎判断出所述待更新文档的文档版本号大于或等于所述已更新文档的文档版本号,则所述待更新文档更新至所述索引数据中。
5.根据权利要求1所述的方法,其特征在于,所述基于每一条所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定所述增量扫描数据是否为待更新增量数据,包括:
针对每一条所述增量扫描数据,如果所述增量扫描数据的数据更新时间晚于或等于所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,则将所述增量扫描数据确定为待更新增量数据;
如果在预设缓存空间中所记录的缓存时间信息中未查询到所述增量扫描数据的数据更新时间,则将所述增量扫描数据确定为待更新增量数据。
6.根据权利要求1所述的方法,其特征在于,还包括:
当监控到所述数据库主库中包括与搜索引擎中的索引数据对应的实时更新数据时,基于所述实时更新数据生成待更新文档,并将所述待更新文档提交至所述搜索引擎。
7.根据权利要求6所述的方法,其特征在于,还包括:
通过监控所述数据库主库的日志文件,确定所述数据库主库是否有与搜索引擎中的索引数据对应的实时更新数据。
8.一种搜索引擎中索引数据的更新装置,其特征在于,包括:
增量数据获取模块,用于从与搜索引擎对应的数据库主库的数据库从库中,获取与所述搜索引擎的索引数据对应的至少一条增量扫描数据;
待更新数据确定模块,用于基于每一条所述增量扫描数据在预设缓存空间中所记录的缓存时间信息,确定所述增量扫描数据是否为待更新增量数据;
待更新文档提交模块,用于如果是,则基于所述待更新增量数据生成待更新文档,并将所述待更新文档提交至所述搜索引擎,以使所述搜索引擎基于所述待更新文档与所述搜索引擎中与所述待更新文档对应的已更新文档对所述索引数据进行更新。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的搜索引擎中索引数据的更新方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的搜索引擎中索引数据的更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110800854.8A CN113553488A (zh) | 2021-07-15 | 2021-07-15 | 搜索引擎中索引数据的更新方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110800854.8A CN113553488A (zh) | 2021-07-15 | 2021-07-15 | 搜索引擎中索引数据的更新方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113553488A true CN113553488A (zh) | 2021-10-26 |
Family
ID=78103242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110800854.8A Pending CN113553488A (zh) | 2021-07-15 | 2021-07-15 | 搜索引擎中索引数据的更新方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553488A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114385833A (zh) * | 2022-03-23 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 更新知识图谱的方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090164437A1 (en) * | 2007-12-20 | 2009-06-25 | Torbjornsen Oystein | Method for dynamic updating of an index, and a search engine implementing the same |
US20130013587A1 (en) * | 2011-07-08 | 2013-01-10 | Microsoft Corporation | Incremental computing for web search |
CN103152381A (zh) * | 2013-01-07 | 2013-06-12 | 北京奇虎科技有限公司 | 一种对浏览器崩溃数据进行处理的方法和服务器系统 |
CN109634975A (zh) * | 2018-12-10 | 2019-04-16 | 拉扎斯网络科技(上海)有限公司 | 数据同步方法及装置、电子设备及计算机可读存储介质 |
CN110609844A (zh) * | 2018-05-29 | 2019-12-24 | 优信拍(北京)信息科技有限公司 | 一种数据更新方法,装置及系统 |
CN111522918A (zh) * | 2020-04-24 | 2020-08-11 | 天津易维数科信息科技有限公司 | 数据汇聚方法、装置、电子设备及计算机可读存储介质 |
CN111752939A (zh) * | 2019-03-28 | 2020-10-09 | 北京京东尚科信息技术有限公司 | 用于多个系统的数据处理方法、装置、计算机系统、介质 |
CN112256715A (zh) * | 2020-11-12 | 2021-01-22 | 微医云(杭州)控股有限公司 | 索引的更新方法、装置、电子设备以及存储介质 |
CN112506964A (zh) * | 2020-11-30 | 2021-03-16 | 深圳市移卡科技有限公司 | 数据查询方法、系统及计算机可读存储介质 |
-
2021
- 2021-07-15 CN CN202110800854.8A patent/CN113553488A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090164437A1 (en) * | 2007-12-20 | 2009-06-25 | Torbjornsen Oystein | Method for dynamic updating of an index, and a search engine implementing the same |
US20130013587A1 (en) * | 2011-07-08 | 2013-01-10 | Microsoft Corporation | Incremental computing for web search |
CN103152381A (zh) * | 2013-01-07 | 2013-06-12 | 北京奇虎科技有限公司 | 一种对浏览器崩溃数据进行处理的方法和服务器系统 |
CN110609844A (zh) * | 2018-05-29 | 2019-12-24 | 优信拍(北京)信息科技有限公司 | 一种数据更新方法,装置及系统 |
CN109634975A (zh) * | 2018-12-10 | 2019-04-16 | 拉扎斯网络科技(上海)有限公司 | 数据同步方法及装置、电子设备及计算机可读存储介质 |
CN111752939A (zh) * | 2019-03-28 | 2020-10-09 | 北京京东尚科信息技术有限公司 | 用于多个系统的数据处理方法、装置、计算机系统、介质 |
CN111522918A (zh) * | 2020-04-24 | 2020-08-11 | 天津易维数科信息科技有限公司 | 数据汇聚方法、装置、电子设备及计算机可读存储介质 |
CN112256715A (zh) * | 2020-11-12 | 2021-01-22 | 微医云(杭州)控股有限公司 | 索引的更新方法、装置、电子设备以及存储介质 |
CN112506964A (zh) * | 2020-11-30 | 2021-03-16 | 深圳市移卡科技有限公司 | 数据查询方法、系统及计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114385833A (zh) * | 2022-03-23 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 更新知识图谱的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825420A (zh) | 分布式集群的配置参数更新方法、装置、设备及存储介质 | |
CN109522363B (zh) | 基于区块链的云平台同步方法、系统、设备及存储介质 | |
CN106874281B (zh) | 实现数据库读写分离的方法和装置 | |
CN112182104A (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN110162334B (zh) | 一种代码管理方法、装置及存储介质 | |
CN109086382B (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN111225064A (zh) | Ceph集群部署方法、系统、设备和计算机可读存储介质 | |
CN112948340A (zh) | 数据同步方法、装置、电子设备及可读存储介质 | |
CN111800468A (zh) | 一种基于云的多集群管理方法、装置、介质及电子设备 | |
CN111444147A (zh) | 一种数据页创建方法、装置、终端设备及存储介质 | |
CN111767297B (zh) | 大数据处理方法、装置、设备及介质 | |
CN111753012A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN112612850A (zh) | 数据同步方法及装置 | |
CN113553488A (zh) | 搜索引擎中索引数据的更新方法、装置、电子设备及介质 | |
US20240086632A1 (en) | Methods, system, apparatuses and electronic device for information referencing | |
CN113163023B (zh) | 一种域名管理方法、装置、介质和电子设备 | |
CN113468143A (zh) | 数据迁移方法、系统、计算设备及存储介质 | |
EP3276505B1 (en) | Method and system for uploading a file | |
CN111078418B (zh) | 操作同步方法、装置、电子设备及计算机可读存储介质 | |
CN111327680A (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN113297156A (zh) | 一种数据同步方法、装置、设备及介质 | |
CN115113989B (zh) | 事务执行方法、装置、计算设备及存储介质 | |
CN114253924A (zh) | 一种同步方法、设备和存储介质 | |
CN114020565A (zh) | 日志智能采集处理方法、装置、电子设备及存储介质 | |
CN115189931A (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 |