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

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

Info

Publication number
CN111427989A
CN111427989A CN201910024125.0A CN201910024125A CN111427989A CN 111427989 A CN111427989 A CN 111427989A CN 201910024125 A CN201910024125 A CN 201910024125A CN 111427989 A CN111427989 A CN 111427989A
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.)
Granted
Application number
CN201910024125.0A
Other languages
English (en)
Other versions
CN111427989B (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
Peking University Founder Group 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 Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University Founder Group 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 (11)

1.一种全文检索的索引处理方法,其特征在于,包括:
接收索引请求,解析所述索引请求获取索引数据和所述索引数据对应的索引操作的信息;
将所述索引数据和所述索引操作的信息写入事务日志,并执行所述索引请求;
在所述索引请求出现执行异常的情况下,从所述事务日志中获取所述索引数据和所述索引操作的信息,并重新执行所述索引请求。
2.根据权利要求1所述的全文检索的索引处理方法,其特征在于,还包括:
将所述事务日志存储至磁盘,并将已存储至所述磁盘的所述事务日志删除。
3.根据权利要求2所述的全文检索的索引处理方法,其特征在于,所述在所述索引请求出现执行异常的情况下,从所述事务日志中获取所述索引数据和所述索引操作的信息,并重新执行所述索引请求,具体包括:
在所述索引请求出现执行异常的情况下,记录未生效的索引数据和所述未生效的索引数据对应的未生效的索引操作的信息;
在所述磁盘中读取所述事务日志,解析所述事务日志获取所述未生效的索引数据和所述未生效的索引操作的信息,并对所述未生效的索引数据和所述未生效的索引操作的信息进行恢复;
执行恢复后的索引操作和恢复后的索引数据对应的索引请求。
4.根据权利要求3所述的全文检索的索引处理方法,其特征在于,所述执行恢复后的索引操作和恢复后的索引数据对应的索引请求,具体包括:
查找所述恢复后的索引操作和所述恢复后的索引数据对应的索引请求;
当存在一个所述索引请求时,执行所述索引请求;
当存在至少两个所述索引请求时,将至少两个所述索引请求按照预设规则进行合并,并执行合并后的所述索引请求。
5.根据权利要求1至4中任一项所述的全文检索的索引处理方法,其特征在于,所述事务日志包括多个文件,所述多个文件分别存储未执行的所述索引数据和所述索引操作、正在执行的所述索引数据和所述索引操作,已经执行的所述索引数据和所述索引操作。
6.一种全文检索的索引处理***,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以:
接收索引请求,解析所述索引请求获取索引数据和所述索引数据对应的索引操作的信息;
将所述索引数据和所述索引操作的信息写入事务日志,并执行所述索引请求;
当所述索引请求出现执行异常情况时,从所述事务日志中获取所述索引数据和所述索引操作的信息,并重新执行所述索引请求。
7.根据权利要求6所述的全文检索的索引处理***,其特征在于,
所述处理器还用于将所述事务日志存储至磁盘,并将已存储至所述磁盘的所述事务日志删除。
8.根据权利要求7所述的全文检索的索引处理***,其特征在于,所述处理器在所述索引请求出现执行异常的情况下,从所述事务日志中获取所述索引数据和所述索引操作的信息,并重新执行所述索引请求,具体包括:
在所述索引请求出现执行异常的情况下,记录未生效的索引数据和所述未生效的索引数据对应的未生效的索引操作的信息;
在所述磁盘中读取所述事务日志,解析所述事务日志获取所述未生效的索引数据和所述未生效的索引操作的信息,并对所述未生效的索引数据和所述未生效的索引操作的信息进行恢复;
执行恢复后的索引操作和恢复后的索引数据对应的索引请求。
9.根据权利要求8所述的全文检索的索引处理***,其特征在于,所述处理器执行恢复后的索引操作和恢复后的索引数据对应的索引请求包括:
查找所述恢复后的索引操作和所述恢复后的索引数据对应的索引请求;
当存在一个所述索引请求时,执行所述索引请求;
当存在至少两个所述索引请求时,将至少两个所述索引请求按照预设规则进行合并,并执行合并后的所述索引请求。
10.根据权利要求6至9中任一项所述的全文检索的索引处理***,其特征在于,所述事务日志包括多个文件,所述多个文件分别存储未执行的所述索引数据和所述索引操作、正在执行的所述索引数据和所述索引操作,已经执行的所述索引数据和所述索引操作。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的全文检索的索引处理方法的步骤。
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 true CN111427989A (zh) 2020-07-17
CN111427989B 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 (14)

* 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
CN101650741A (zh) * 2009-08-27 2010-02-17 中国电信股份有限公司 一种分布式全文检索的索引实时更新的方法和***
CN101706822A (zh) * 2009-12-18 2010-05-12 杭州迪普科技有限公司 提高挂载日志式文件***速度的方法及设备
CN102955792A (zh) * 2011-08-23 2013-03-06 崔春明 一种实时全文搜索引擎事务处理的实现方法
CN103177116A (zh) * 2013-04-08 2013-06-26 国电南瑞科技股份有限公司 一种基于两级索引的分布式日志处理和查询方法
US20130226869A1 (en) * 2007-10-04 2013-08-29 Frank Renkes Selection of rows and values from indexes with updates
US20140201192A1 (en) * 2013-01-15 2014-07-17 Syscom Computer Engineering Co. Automatic data index establishment method
US20150113055A1 (en) * 2012-03-30 2015-04-23 Commvault Systems, Inc. Information management of data associated with multiple cloud services
CN104899249A (zh) * 2015-05-04 2015-09-09 中国科学院信息工程研究所 一种海量数据下可靠索引更新***及方法
CN105045905A (zh) * 2015-08-07 2015-11-11 北京思特奇信息技术股份有限公司 一种基于全文检索的日志维护方法及***
CN105573863A (zh) * 2015-12-14 2016-05-11 北京尚易德科技有限公司 一种索引文件恢复方法、装置及视频监控***
CN106649870A (zh) * 2017-01-03 2017-05-10 山东浪潮商用***有限公司 一种搜索引擎分布式实现方法
CN108763578A (zh) * 2018-06-07 2018-11-06 腾讯科技(深圳)有限公司 一种索引文件更新的方法以及服务器
CN108984686A (zh) * 2018-07-02 2018-12-11 中国电子科技集团公司第五十二研究所 一种基于日志合并的分布式文件***索引方法和装置

Patent Citations (14)

* 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
US20130226869A1 (en) * 2007-10-04 2013-08-29 Frank Renkes Selection of rows and values from indexes with updates
CN101650741A (zh) * 2009-08-27 2010-02-17 中国电信股份有限公司 一种分布式全文检索的索引实时更新的方法和***
CN101706822A (zh) * 2009-12-18 2010-05-12 杭州迪普科技有限公司 提高挂载日志式文件***速度的方法及设备
CN102955792A (zh) * 2011-08-23 2013-03-06 崔春明 一种实时全文搜索引擎事务处理的实现方法
US20150113055A1 (en) * 2012-03-30 2015-04-23 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
CN103177116A (zh) * 2013-04-08 2013-06-26 国电南瑞科技股份有限公司 一种基于两级索引的分布式日志处理和查询方法
CN104899249A (zh) * 2015-05-04 2015-09-09 中国科学院信息工程研究所 一种海量数据下可靠索引更新***及方法
CN105045905A (zh) * 2015-08-07 2015-11-11 北京思特奇信息技术股份有限公司 一种基于全文检索的日志维护方法及***
CN105573863A (zh) * 2015-12-14 2016-05-11 北京尚易德科技有限公司 一种索引文件恢复方法、装置及视频监控***
CN106649870A (zh) * 2017-01-03 2017-05-10 山东浪潮商用***有限公司 一种搜索引擎分布式实现方法
CN108763578A (zh) * 2018-06-07 2018-11-06 腾讯科技(深圳)有限公司 一种索引文件更新的方法以及服务器
CN108984686A (zh) * 2018-07-02 2018-12-11 中国电子科技集团公司第五十二研究所 一种基于日志合并的分布式文件***索引方法和装置

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" *
郑君正: "一种分布式全文索引***的设计与实现" *

Also Published As

Publication number Publication date
CN111427989B (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
US9183236B2 (en) Low level object version tracking using non-volatile memory write generations
US5561795A (en) Method and apparatus for audit trail logging and data base recovery
US9779128B2 (en) System and method for massively parallel processing database
JP5124989B2 (ja) ストレージシステム及びデータ保護方法とプログラム
US9965364B2 (en) Fault tolerant listener registration in the presence of node crashes in a data grid
US11249943B2 (en) Scalable enterprise content management
US8560500B2 (en) Method and system for removing rows from directory tables
EP2590078B1 (en) Shadow paging based log segment directory
CN101460930A (zh) 维护数据库与文件***之间的链接级一致性
US11960363B2 (en) Write optimized, distributed, scalable indexing store
US6944635B2 (en) Method for file deletion and recovery against system failures in database management system
US20210034477A1 (en) Transaction recovery from a failure associated with a database server
CN115145697B (zh) 数据库事务的处理方法、装置及电子设备
KR101674176B1 (ko) 파일 단위 순서 모드 저널링 기법을 이용한 fsync 시스템 호출 처리 장치 및 방법
CN112765126B (zh) 数据库事务的管理方法、装置、计算机设备和存储介质
US10452496B2 (en) System and method for managing storage transaction requests
CN116483284B (zh) 一种读写虚拟硬盘的方法、装置、介质及电子设备
CN108271420B (zh) 管理文件的方法、文件***和服务器***
US11093348B2 (en) Method, device and computer program product for recovering metadata
CN111427989B (zh) 一种全文检索的索引处理方法、索引处理***及存储介质
KR101419428B1 (ko) 모바일 환경에 구축된 데이터베이스에 대한 트랜잭션 로깅 및 회복 장치 및 그 방법
US20160085638A1 (en) Computer system and method of identifying a failure
CN111813607B (zh) 一种基于内存融合的数据库集群恢复日志处理***
JPH0816881B2 (ja) データベース更新方法
CN111782622A (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

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.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant