CN111427989B - 一种全文检索的索引处理方法、索引处理系统及存储介质 - Google Patents

一种全文检索的索引处理方法、索引处理系统及存储介质 Download PDF

Info

Publication number
CN111427989B
CN111427989B CN201910024125.0A CN201910024125A CN111427989B CN 111427989 B CN111427989 B CN 111427989B CN 201910024125 A CN201910024125 A CN 201910024125A CN 111427989 B CN111427989 B CN 111427989B
Authority
CN
China
Prior art keywords
index
request
data
transaction log
index data
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
Application number
CN201910024125.0A
Other languages
English (en)
Other versions
CN111427989A (zh
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.)
New Founder Holdings Development Co ltd
Beijing Founder Electronics Co Ltd
Original Assignee
New Founder Holdings Development Co ltd
Beijing Founder Electronics 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 New Founder Holdings Development Co ltd, Beijing Founder Electronics Co Ltd filed Critical New Founder Holdings Development Co ltd
Priority to CN201910024125.0A priority Critical patent/CN111427989B/zh
Publication of CN111427989A publication Critical patent/CN111427989A/zh
Application granted granted Critical
Publication of CN111427989B publication Critical patent/CN111427989B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种全文检索的索引处理方法、索引处理系统及存储介质。其中,全文检索的索引处理方法包括:接收索引请求,解析索引请求获取索引数据和索引数据对应的索引操作的信息;将索引数据和索引操作的信息写入事务日志,并执行索引请求;在索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求。采用本发明的技术方案,利用事务日志记录索引数据和索引操作,当检索节点异常宕机重启后,通过读取事务日志文件,解析出未生效的索引操作和索引数据并重新执行,保证了索引数据的正确性、完整性及一致性,同时也避免了数据冗余,降低了程序的复杂度,提高了系统的灵活性。

Description

一种全文检索的索引处理方法、索引处理系统及存储介质
技术领域
本发明涉及信息处理技术领域,具体而言,涉及一种全文检索的索引处理方法、索引处理系统及存储介质。
背景技术
二十一世纪是个信息爆炸的时代,每个实体都在不停地、高速地产生需要存储的数据信息,在待存储的海量数据中,85%是非结构化的。全文检索是一种能够从海量非结构化数据中快速搜索到有用信息的技术,从最初的字符串匹配和简单的布尔逻辑检索技术演进到对超大文本、语音、图像、视频等非结构化数据进行综合管理的复合技术。
目前全文检索的功能已经相当完善,索引文件作为全文检索的最重要的数据单元,索引容错已经成为了越来越多的公司和机构的研究热点。最常用的容错方案是分布式存储分案,其基本原理是将同一份索引数据分布式冗余存储,当任意节点出现故障时,利用其它节点的索引数据进行恢复。该方法可以有效恢复索引错误,但是存在以下弊端:(1)索引数据分布式冗余存储势必增大资源消耗;(2)需要解决索引一致性问题;(3)不支持单节点。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个方面在于提出了一种全文检索的索引处理方法。
本发明的另一个方面在于提出了一种全文检索的索引处理系统。
本发明的再一个方面在于提出了一种计算机可读存储介质。
有鉴于此,根据本发明的一个方面,提出了一种全文检索的索引处理方法,包括:接收索引请求,解析索引请求获取索引数据和索引数据对应的索引操作的信息;将索引数据和索引操作的信息写入事务日志,并执行索引请求;在索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求。
本发明提供的全文检索的索引处理方法,将索引请求中的索引数据和索引操作的信息按照指定格式写入事务日志,然后处理该索引请求。进一步地,当索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求。采用本发明的技术方案,利用事务日志记录索引数据和索引操作,当检索节点异常宕机重启后,通过读取事务日志文件,解析出未生效的索引操作和索引数据并重新执行,保证了索引数据的正确性、完整性及一致性,同时也避免了数据冗余,降低了程序的复杂度,提高了系统的灵活性。
根据本发明的上述全文检索的索引处理方法,还可以具有以下技术特征:
在上述技术方案中,优选地,还包括:将事务日志存储至磁盘,并将已存储至磁盘的事务日志删除。
在该技术方案中,将事务日志实时刷新到磁盘,确保事务日志能够有效地记录索引操作和索引数据,在运行过程中对事务日志按一定策略淘汰,降低了索引恢复的事务日志处理量。
在上述任一技术方案中,优选地,在索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求,具体包括:在索引请求出现执行异常的情况下,记录未生效的索引数据和未生效的索引数据对应的未生效的索引操作的信息;在磁盘中读取事务日志,解析事务日志获取未生效的索引数据和未生效的索引操作的信息,并对未生效的索引数据和未生效的索引操作的信息进行恢复;执行恢复后的索引操作和恢复后的索引数据对应的索引请求。
在该技术方案中,在索引请求出现执行异常的情况下,记录未生效的索引数据和未生效的索引数据对应的未生效的索引操作的信息,在磁盘中读取事务日志,解析事务日志获取未生效的索引数据和未生效的索引操作的信息,并对未生效的索引数据和未生效的索引操作的信息进行恢复,保证索引数据和索引操作能够恢复到程序故障之前,保证了索引数据的正确性、完整性及一致性,进而再次执行索引请求。
在上述任一技术方案中,优选地,执行恢复后的索引操作和恢复后的索引数据对应的索引请求,具体包括:查找恢复后的索引操作和恢复后的索引数据对应的索引请求;当存在一个索引请求时,执行索引请求;当存在至少两个索引请求时,将至少两个索引请求按照预设规则进行合并,并执行合并后的索引请求。
在该技术方案中,若恢复后存在一个索引请求则直接执行该索引请求,若回复后存在多个索引请求则将多个索引请求按照一定规则合并后再执行,可降低系统资源消耗。合并的部分原则列举如下:多次更新操作仅执行最新的更新操作、新建加更新则合并为新建操作、存在删除操作且后续未收到新增请求的合并为删除操作。例如,某条索引数据,最后收到的是删除请求,则将该索引数据的所有请求合并为删除请求,直接执行删除请求。
在上述任一技术方案中,优选地,事务日志包括多个文件,多个文件分别存储未执行的索引数据和索引操作、正在执行的索引数据和索引操作,已经执行的索引数据和索引操作。
在该技术方案中,事务日志包括多个文件,每个文件中存储不同执行类型的索引数据和索引操作,由此可进行执行类型区分。
根据本发明的另一个方面,提出了一种全文检索的索引处理系统,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序以:接收索引请求,解析索引请求获取索引数据和索引数据对应的索引操作的信息;将索引数据和索引操作的信息写入事务日志,并执行索引请求;当索引请求出现执行异常情况时,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求。
本发明提供的全文检索的索引处理系统,将索引请求中的索引数据和索引操作的信息按照指定格式写入事务日志,然后处理该索引请求。进一步地,当索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求。采用本发明的技术方案,利用事务日志记录索引数据和索引操作,当检索节点异常宕机重启后,通过读取事务日志文件,解析出未生效的索引操作和索引数据并重新执行,保证了索引数据的正确性、完整性及一致性,同时也避免了数据冗余,降低了程序的复杂度,提高了系统的灵活性。
根据本发明的上述全文检索的索引处理系统,还可以具有以下技术特征:
在上述技术方案中,优选地,处理器还用于将事务日志存储至磁盘,并将已存储至磁盘的事务日志删除。
在该技术方案中,将事务日志实时刷新到磁盘,确保事务日志能够有效地记录索引操作和索引数据,在运行过程中对事务日志按一定策略淘汰,降低了索引恢复的事务日志处理量。
在上述任一技术方案中,优选地,处理器在索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求,具体包括:在索引请求出现执行异常的情况下,记录未生效的索引数据和未生效的索引数据对应的未生效的索引操作的信息;在磁盘中读取事务日志,解析事务日志获取未生效的索引数据和未生效的索引操作的信息,并对未生效的索引数据和未生效的索引操作的信息进行恢复;执行恢复后的索引操作和恢复后的索引数据对应的索引请求。
在该技术方案中,在索引请求出现执行异常的情况下,记录未生效的索引数据和未生效的索引数据对应的未生效的索引操作的信息,在磁盘中读取事务日志,解析事务日志获取未生效的索引数据和未生效的索引操作的信息,并对未生效的索引数据和未生效的索引操作的信息进行恢复,保证索引数据和索引操作能够恢复到程序故障之前,保证了索引数据的正确性、完整性及一致性,进而再次执行索引请求。
在上述任一技术方案中,优选地,处理器执行恢复后的索引操作和恢复后的索引数据对应的索引请求包括:查找恢复后的索引操作和恢复后的索引数据对应的索引请求;当存在一个索引请求时,执行索引请求;当存在至少两个索引请求时,将至少两个索引请求按照预设规则进行合并,并执行合并后的索引请求。
在该技术方案中,若恢复后存在一个索引请求则直接执行该索引请求,若回复后存在多个索引请求则将多个索引请求按照一定规则合并后再执行,可降低系统资源消耗。合并的部分原则列举如下:多次更新操作仅执行最新的更新操作、新建加更新则合并为新建操作、存在删除操作且后续未收到新增请求的合并为删除操作。例如,某条索引数据,最后收到的是删除请求,则将该索引数据的所有请求合并为删除请求,直接执行删除请求。
在上述任一技术方案中,优选地,事务日志包括多个文件,多个文件分别存储未执行的索引数据和索引操作、正在执行的索引数据和索引操作,已经执行的索引数据和索引操作。
在该技术方案中,事务日志包括多个文件,每个文件中存储不同执行类型的索引数据和索引操作,由此可进行执行类型区分。
根据本发明的再一个方面,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一技术方案的全文检索的索引处理方法的步骤。
本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现如上述任一技术方案的全文检索的索引处理方法的步骤,因此该计算机可读存储介质包括上述任一技术方案的全文检索的索引处理方法的全部有益效果。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明的一个实施例的全文检索的索引处理方法的流程示意图;
图2示出了本发明的另一个实施例的全文检索的索引处理方法的流程示意图;
图3示出了本发明的一个具体实施例的事务日志的记录过程的流程示意图;
图4示出了本发明的一个具体实施例的事务日志的淘汰过程的流程示意图;
图5示出了本发明的一个实施例的全文检索的索引处理系统的示意框图;
图6示出了本发明的一个具体实施例的基于事务日志的全文检索索引容错系统的示意框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
本发明第一方面的实施例,提出一种全文检索的索引处理方法,图1示出了本发明的一个实施例的全文检索的索引处理方法的流程示意图。其中,该方法包括:
步骤102,接收索引请求,解析索引请求获取索引数据和索引数据对应的索引操作的信息;
步骤104,将索引数据和索引操作的信息写入事务日志,并执行索引请求;
步骤106,在索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求。
本发明提供的全文检索的索引处理方法,将索引请求中的索引数据和索引操作的信息按照指定格式写入事务日志,然后处理该索引请求。进一步地,当索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求。采用本发明的技术方案,利用事务日志记录索引数据和索引操作,当检索节点异常宕机重启后,通过读取事务日志文件,解析出未生效的索引操作和索引数据并重新执行,保证了索引数据的正确性、完整性及一致性,同时也避免了数据冗余,降低了程序的复杂度,提高了系统的灵活性。
可选地,步骤106,在索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求,具体包括:在索引请求出现执行异常的情况下,记录未生效的索引数据和未生效的索引数据对应的未生效的索引操作的信息;在磁盘中读取事务日志,解析事务日志获取未生效的索引数据和未生效的索引操作的信息,并对未生效的索引数据和未生效的索引操作的信息进行恢复;执行恢复后的索引操作和恢复后的索引数据对应的索引请求。
在该实施例中,在索引请求出现执行异常的情况下,记录未生效的索引数据和未生效的索引数据对应的未生效的索引操作的信息,在磁盘中读取事务日志,解析事务日志获取未生效的索引数据和未生效的索引操作的信息,并对未生效的索引数据和未生效的索引操作的信息进行恢复,保证索引数据和索引操作能够恢复到程序故障之前,保证了索引数据的正确性、完整性及一致性,进而再次执行索引请求。
可选地,执行恢复后的索引操作和恢复后的索引数据对应的索引请求,具体包括:查找恢复后的索引操作和恢复后的索引数据对应的索引请求;当存在一个索引请求时,执行索引请求;当存在至少两个索引请求时,将至少两个索引请求按照预设规则进行合并,并执行合并后的索引请求。
在该实施例中,若恢复后存在一个索引请求则直接执行该索引请求,若回复后存在多个索引请求则将多个索引请求按照一定规则合并后再执行,可降低系统资源消耗。合并的部分原则列举如下:多次更新操作仅执行最新的更新操作、新建加更新则合并为新建操作、存在删除操作且后续未收到新增请求的合并为删除操作。例如,某条索引数据,最后收到的是删除请求,则将该索引数据的所有请求合并为删除请求,直接执行删除请求。
可选地,事务日志包括多个文件,多个文件分别存储未执行的索引数据和索引操作、正在执行的索引数据和索引操作,已经执行的索引数据和索引操作。
在该实施例中,事务日志包括多个文件,每个文件中存储不同执行类型的索引数据和索引操作,由此可进行执行类型区分。
图2示出了本发明的另一个实施例的全文检索的索引处理方法的流程示意图。其中,该方法包括:
步骤202,接收索引请求,解析索引请求获取索引数据和索引数据对应的索引操作的信息;
步骤204,将索引数据和索引操作的信息写入事务日志,并执行索引请求;
步骤206,将事务日志存储至磁盘,并将已存储至磁盘的事务日志删除;
步骤208,在索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求。
在该实施例中,将事务日志实时刷新到磁盘,确保事务日志能够有效地记录索引操作和索引数据,在运行过程中对事务日志按一定策略淘汰,降低了索引恢复的事务日志处理量。
可选地,步骤208,在索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求,具体包括:在索引请求出现执行异常的情况下,记录未生效的索引数据和未生效的索引数据对应的未生效的索引操作的信息;在磁盘中读取事务日志,解析事务日志获取未生效的索引数据和未生效的索引操作的信息,并对未生效的索引数据和未生效的索引操作的信息进行恢复;执行恢复后的索引操作和恢复后的索引数据对应的索引请求。
可选地,执行恢复后的索引操作和恢复后的索引数据对应的索引请求,具体包括:查找恢复后的索引操作和恢复后的索引数据对应的索引请求;当存在一个索引请求时,执行索引请求;当存在至少两个索引请求时,将至少两个索引请求按照预设规则进行合并,并执行合并后的索引请求。
可选地,事务日志包括多个文件,多个文件分别存储未执行的索引数据和索引操作、正在执行的索引数据和索引操作,已经执行的索引数据和索引操作。
本发明的具体实施例中,提出了一种基于事务日志的全文检索索引容错方法,利用事务日志记录索引相关操作,并实时将事务日志刷新到磁盘,在程序异常宕机重启后通过读取事务日志对索引进行还原,保证了索引数据的正确性、完整性及一致性,同时节省了系统的存储资源、降低了索引容错的复杂度、提高了系统的灵活性。
事务日志记录了索引新建、更新、删除的操作,记录的信息包括操作类型、操作数据、请求时间等信息,其中新建和更新操作的数据包含索引的原始数据的所有字段,删除操作的数据为待删除数据的主键信息。事务日志记录过程如图3所示,具体步骤包括:
步骤302,服务端接收应用端发送的请求和相关数据;
步骤304,将对应操作及数据按照指定格式写入事务日志;
步骤306,生成可执行任务并加入任务队列,然后处理该请求。
磁盘可保存3个事务日志文件,分别记录最新接收的请求、正在执行中的请求、已经被执行的请求。事务日志文件的淘汰过程如图4所示,具体步骤包括:
步骤402,执行索引任务;
步骤404,是否需要持久化索引数据,当是时进入步骤406,否则返回步骤402;
步骤406,进行索引数据文件持久化;
步骤408,删除index.is2文件;
步骤410,重命名index.is0文件和index.is1文件;
步骤412,新建index.is0文件。
节点在运行中周期性的执行索引持久化操作,将当前已经执行完毕的操作持久化到磁盘索引,同时删除index.is2文件,重命名index.is0文件和index.is1文件分别为index.is1文件、index.is2文件,并创建index.is0文件,用于记录最新的请求。
检索节点宕机重启后,首先读取事务日志,从中解析出所有可能未持久化的索引操作,并按照时间的先后顺序对同一条数据的操作请求合并。合并的部分原则列举如下:多次更新操作仅执行最新的更新操作、新建加更新则合并为新建操作、存在删除操作且后续未收到新增请求的合并为删除操作。
在执行合并后的索引操作过程中,节点状态处于恢复状态。在此恢复状态下,拒绝执行所有来自应用端的修改索引请求,仅提供检索服务。在索引修复完成后,节点取消恢复状态,并对外开放索引新建、更新、删除服务。
本发明第二方面的实施例,提出一种全文检索的索引处理系统,图5示出了本发明的一个实施例的全文检索的索引处理系统50的示意框图。其中,该系统50包括:
存储器502,用于存储计算机程序;
处理器504,用于执行计算机程序以:接收索引请求,解析索引请求获取索引数据和索引数据对应的索引操作的信息;将索引数据和索引操作的信息写入事务日志,并执行索引请求;当索引请求出现执行异常情况时,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求。
本发明提供的全文检索的索引处理系统50,将索引请求中的索引数据和索引操作的信息按照指定格式写入事务日志,然后处理该索引请求。进一步地,当索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求。采用本发明的技术方案,利用事务日志记录索引数据和索引操作,当检索节点异常宕机重启后,通过读取事务日志文件,解析出未生效的索引操作和索引数据并重新执行,保证了索引数据的正确性、完整性及一致性,同时也避免了数据冗余,降低了程序的复杂度,提高了系统的灵活性。
可选地,处理器504还用于将事务日志存储至磁盘,并将已存储至磁盘的事务日志删除。
在该实施例中,将事务日志实时刷新到磁盘,确保事务日志能够有效地记录索引操作和索引数据,在运行过程中对事务日志按一定策略淘汰,降低了索引恢复的事务日志处理量。
可选地,处理器504在索引请求出现执行异常的情况下,从事务日志中获取索引数据和索引操作的信息,并重新执行索引请求,具体包括:在索引请求出现执行异常的情况下,记录未生效的索引数据和未生效的索引数据对应的未生效的索引操作的信息;在磁盘中读取事务日志,解析事务日志获取未生效的索引数据和未生效的索引操作的信息,并对未生效的索引数据和未生效的索引操作的信息进行恢复;执行恢复后的索引操作和恢复后的索引数据对应的索引请求。
在该实施例中,在索引请求出现执行异常的情况下,记录未生效的索引数据和未生效的索引数据对应的未生效的索引操作的信息,在磁盘中读取事务日志,解析事务日志获取未生效的索引数据和未生效的索引操作的信息,并对未生效的索引数据和未生效的索引操作的信息进行恢复,保证索引数据和索引操作能够恢复到程序故障之前,保证了索引数据的正确性、完整性及一致性,进而再次执行索引请求。
可选地,处理器504执行恢复后的索引操作和恢复后的索引数据对应的索引请求包括:查找恢复后的索引操作和恢复后的索引数据对应的索引请求;当存在一个索引请求时,执行索引请求;当存在至少两个索引请求时,将至少两个索引请求按照预设规则进行合并,并执行合并后的索引请求。
在该实施例中,若恢复后存在一个索引请求则直接执行该索引请求,若回复后存在多个索引请求则将多个索引请求按照一定规则合并后再执行,可降低系统资源消耗。合并的部分原则列举如下:多次更新操作仅执行最新的更新操作、新建加更新则合并为新建操作、存在删除操作且后续未收到新增请求的合并为删除操作。例如,某条索引数据,最后收到的是删除请求,则将该索引数据的所有请求合并为删除请求,直接执行删除请求。
可选地,事务日志包括多个文件,多个文件分别存储未执行的索引数据和索引操作、正在执行的索引数据和索引操作,已经执行的索引数据和索引操作。
在该实施例中,事务日志包括多个文件,每个文件中存储不同执行类型的索引数据和索引操作,由此可进行执行类型区分。
本发明的具体实施例中,提出一种基于事务日志的全文检索索引容错系统,利用事务日志记录索引相关的操作,并将事务日志实时刷新到磁盘,在运行过程中对事务日志按一定策略淘汰,确保事务日志能够有效记录未持久化的索引操作,同时也避免了数据冗余。当检索节点异常宕机重启后,通过读取事务日志文件,解析出未生效的操作和数据并重新执行,保证了索引数据的正确性、完整性及一致性,降低了程序的复杂度。如图6所示,基于事务日志的全文检索索引容错系统60主要包括事务日志生成与管理模块602和索引容错恢复模块604。
所述事务日志生成与管理模块602包括以下工作过程:
(1)事务日志记录过程,应用端发送请求和相关数据至服务端,服务端接收请求并解析,将对应操作及数据按照指定格式写入事务日志,然后处理该请求。其中,事务日志有多个文件,每个文件记录一个持久化周期内的请求。
(2)事务日志淘汰过程,程序在运行中按照一定策略将索引持久化到磁盘,在索引持久化完成后,淘汰所有操作均已持久化到磁盘的事务日志文件,确保事务日志能够高效记录未持久化的索引操作,同时降低了索引恢复的事务日志处理量。
所述索引容错恢复模块604包括以下工作过程:
(1)事务日志解析过程,读取事务日志并按照一定格式解析,得到可能未持久化的索引操作,等待后续处理。
(2)索引操作合并过程,对于从事务日志中恢复的索引操作请求,如果同一条数据有多个请求,则对所有请求按照一定规则进行合并。合并的部分原则列举如下:多次更新操作仅执行最新的更新操作、新建加更新则合并为新建操作、存在删除操作且后续未收到新增请求的合并为删除操作。例如,某条数据,最后收到的是删除请求,则将该数据的所有请求合并为删除请求。
(3)索引修复过程,执行合并后的请求,保证索引数据能够恢复到程序故障之前。
本发明第三方面的实施例,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例的全文检索的索引处理方法的步骤。
本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现如上述任一实施例的全文检索的索引处理方法的步骤,因此该计算机可读存储介质包括上述任一实施例的全文检索的索引处理方法的全部有益效果。
在本说明书的描述中,术语“第一”、“第二”仅用于描述的目的,而不能理解为指示或暗示相对重要性,除非另有明确的规定和限定;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种全文检索的索引处理方法,其特征在于,包括:
接收索引请求,解析所述索引请求获取索引数据和所述索引数据对应的索引操作的信息;
将所述索引数据和所述索引操作的信息写入事务日志,并执行所述索引请求;
在所述索引请求出现执行异常的情况下,从所述事务日志中获取所述索引数据和所述索引操作的信息,并重新执行所述索引请求;
将所述事务日志存储至磁盘,并将已存储至所述磁盘的所述事务日志删除;
所述在所述索引请求出现执行异常的情况下,从所述事务日志中获取所述索引数据和所述索引操作的信息,并重新执行所述索引请求,具体包括:
在所述索引请求出现执行异常的情况下,记录未生效的索引数据和所述未生效的索引数据对应的未生效的索引操作的信息;
在所述磁盘中读取所述事务日志,解析所述事务日志获取所述未生效的索引数据和所述未生效的索引操作的信息,并对所述未生效的索引数据和所述未生效的索引操作的信息进行恢复;
执行恢复后的索引操作和恢复后的索引数据对应的索引请求;
所述执行恢复后的索引操作和恢复后的索引数据对应的索引请求,具体包括:
查找所述恢复后的索引操作和所述恢复后的索引数据对应的索引请求;
当存在一个所述索引请求时,执行所述索引请求;
当存在至少两个所述索引请求时,将至少两个所述索引请求按照预设规则进行合并,并执行合并后的所述索引请求;
合并的所述预设规则包括:多次更新索引请求仅执行最新的更新索引请求、新建索引请求加更新索引请求则合并为新建索引请求、存在删除索引请求且后续未收到新增索引请求的合并为删除索引请求。
2.根据权利要求1所述的全文检索的索引处理方法,其特征在于,所述事务日志包括多个文件,所述多个文件分别存储未执行的所述索引数据和所述索引操作、正在执行的所述索引数据和所述索引操作,已经执行的所述索引数据和所述索引操作。
3.一种全文检索的索引处理系统,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以:
接收索引请求,解析所述索引请求获取索引数据和所述索引数据对应的索引操作的信息;
将所述索引数据和所述索引操作的信息写入事务日志,并执行所述索引请求;
当所述索引请求出现执行异常情况时,从所述事务日志中获取所述索引数据和所述索引操作的信息,并重新执行所述索引请求;
所述处理器还用于将所述事务日志存储至磁盘,并将已存储至所述磁盘的所述事务日志删除;
所述处理器在所述索引请求出现执行异常的情况下,从所述事务日志中获取所述索引数据和所述索引操作的信息,并重新执行所述索引请求,具体包括:
在所述索引请求出现执行异常的情况下,记录未生效的索引数据和所述未生效的索引数据对应的未生效的索引操作的信息;
在所述磁盘中读取所述事务日志,解析所述事务日志获取所述未生效的索引数据和所述未生效的索引操作的信息,并对所述未生效的索引数据和所述未生效的索引操作的信息进行恢复;
执行恢复后的索引操作和恢复后的索引数据对应的索引请求;
所述处理器执行恢复后的索引操作和恢复后的索引数据对应的索引请求包括:
查找所述恢复后的索引操作和所述恢复后的索引数据对应的索引请求;
当存在一个所述索引请求时,执行所述索引请求;
当存在至少两个所述索引请求时,将至少两个所述索引请求按照预设规则进行合并,并执行合并后的所述索引请求;
合并的所述预设规则包括:多次更新索引请求仅执行最新的更新索引请求、新建索引请求加更新索引请求则合并为新建索引请求、存在删除索引请求且后续未收到新增索引请求的合并为删除索引请求。
4.根据权利要求3所述的全文检索的索引处理系统,其特征在于,所述事务日志包括多个文件,所述多个文件分别存储未执行的所述索引数据和所述索引操作、正在执行的所述索引数据和所述索引操作,已经执行的所述索引数据和所述索引操作。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1所述的全文检索的索引处理方法的步骤。
CN201910024125.0A 2019-01-10 2019-01-10 一种全文检索的索引处理方法、索引处理系统及存储介质 Active CN111427989B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910024125.0A CN111427989B (zh) 2019-01-10 2019-01-10 一种全文检索的索引处理方法、索引处理系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910024125.0A CN111427989B (zh) 2019-01-10 2019-01-10 一种全文检索的索引处理方法、索引处理系统及存储介质

Publications (2)

Publication Number Publication Date
CN111427989A CN111427989A (zh) 2020-07-17
CN111427989B true CN111427989B (zh) 2023-07-04

Family

ID=71546631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910024125.0A Active CN111427989B (zh) 2019-01-10 2019-01-10 一种全文检索的索引处理方法、索引处理系统及存储介质

Country Status (1)

Country Link
CN (1) CN111427989B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008154832A1 (fr) * 2007-06-21 2008-12-24 Tencent Technology (Shenzhen) Company Limited Procédé et dispositif d'extraction d'informations de discussion en ligne
CN102955792A (zh) * 2011-08-23 2013-03-06 崔春明 一种实时全文搜索引擎事务处理的实现方法
CN103177116A (zh) * 2013-04-08 2013-06-26 国电南瑞科技股份有限公司 一种基于两级索引的分布式日志处理和查询方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836037B2 (en) * 2007-10-04 2010-11-16 Sap Ag Selection of rows and values from indexes with updates
CN101650741B (zh) * 2009-08-27 2011-02-09 中国电信股份有限公司 一种分布式全文检索的索引实时更新的方法和系统
CN101706822B (zh) * 2009-12-18 2012-08-08 杭州迪普科技有限公司 提高挂载日志式文件系统速度的方法及设备
US8950009B2 (en) * 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US20140201192A1 (en) * 2013-01-15 2014-07-17 Syscom Computer Engineering Co. Automatic data index establishment method
CN104899249B (zh) * 2015-05-04 2018-07-13 中国科学院信息工程研究所 一种海量数据下可靠索引更新系统及方法
CN105045905B (zh) * 2015-08-07 2018-11-30 北京思特奇信息技术股份有限公司 一种基于全文检索的日志维护方法及系统
CN105573863A (zh) * 2015-12-14 2016-05-11 北京尚易德科技有限公司 一种索引文件恢复方法、装置及视频监控系统
CN106649870A (zh) * 2017-01-03 2017-05-10 山东浪潮商用系统有限公司 一种搜索引擎分布式实现方法
CN108763578B (zh) * 2018-06-07 2023-03-10 腾讯科技(深圳)有限公司 一种索引文件更新的方法以及服务器
CN108984686B (zh) * 2018-07-02 2021-03-30 中国电子科技集团公司第五十二研究所 一种基于日志合并的分布式文件系统索引方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008154832A1 (fr) * 2007-06-21 2008-12-24 Tencent Technology (Shenzhen) Company Limited Procédé et dispositif d'extraction d'informations de discussion en ligne
CN102955792A (zh) * 2011-08-23 2013-03-06 崔春明 一种实时全文搜索引擎事务处理的实现方法
CN103177116A (zh) * 2013-04-08 2013-06-26 国电南瑞科技股份有限公司 一种基于两级索引的分布式日志处理和查询方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PA Bemstein,M Dashti,T Kiefer,D Maier.Indexing in an Actor-Oriented Database.《CIDR》.2017,全文. *
郑君正.一种分布式全文索引系统的设计与实现.《万方》.2014,全文. *

Also Published As

Publication number Publication date
CN111427989A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
US10235375B1 (en) Persistent file system objects for management of databases
US10891264B2 (en) Distributed, scalable key-value store
US5561795A (en) Method and apparatus for audit trail logging and data base recovery
US10769035B2 (en) Key-value index recovery by log feed caching
US11249943B2 (en) Scalable enterprise content management
US10037388B2 (en) Fast querying of social network data
EP2590078B1 (en) Shadow paging based log segment directory
US20210089407A1 (en) Write optimized, distributed, scalable indexing store
JP4916892B2 (ja) トランザクション処理のためのログ情報管理システムおよび方法
CN107665219B (zh) 一种日志管理方法及装置
CN102314503A (zh) 一种索引方法
CN115145697B (zh) 数据库事务的处理方法、装置及电子设备
CN113076220A (zh) 数据处理方法、装置、电子设备及计算机可读介质
KR20160012388A (ko) 파일 단위 순서 모드 저널링 기법을 이용한 fsync 시스템 호출 처리 장치 및 방법
US9612921B2 (en) Method and system for load balancing a distributed database providing object-level management and recovery
US10452496B2 (en) System and method for managing storage transaction requests
CN113821382B (zh) 一种实时数据库数据处理方法、系统和设备
CN112765126B (zh) 数据库事务的管理方法、装置、计算机设备和存储介质
CN102597995B (zh) 同步数据库和非数据库资源
CN103678608A (zh) 日志管理方法和装置
US11093348B2 (en) Method, device and computer program product for recovering metadata
CN116483284B (zh) 一种读写虚拟硬盘的方法、装置、介质及电子设备
CN111427989B (zh) 一种全文检索的索引处理方法、索引处理系统及存储介质
CN111966635A (zh) 一种分布式存储文件系统提升文件探知速度的方法、装置
CN111782622B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230613

Address after: 3007, Hengqin international financial center building, No. 58, Huajin street, Hengqin new area, Zhuhai, Guangdong 519031

Applicant after: New founder holdings development Co.,Ltd.

Applicant after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Applicant before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Applicant before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

GR01 Patent grant
GR01 Patent grant