CN105608204A - 增量式索引列表的生成方法及装置 - Google Patents

增量式索引列表的生成方法及装置 Download PDF

Info

Publication number
CN105608204A
CN105608204A CN201510997495.4A CN201510997495A CN105608204A CN 105608204 A CN105608204 A CN 105608204A CN 201510997495 A CN201510997495 A CN 201510997495A CN 105608204 A CN105608204 A CN 105608204A
Authority
CN
China
Prior art keywords
index
index list
list
newly
former
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
Application number
CN201510997495.4A
Other languages
English (en)
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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510997495.4A priority Critical patent/CN105608204A/zh
Publication of CN105608204A publication Critical patent/CN105608204A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种增量式索引列表的生成方法及装置,所述方法包括:在按照时间顺序存储有各索引项信息的索引列表中,读取所述索引列表中记载的末次索引的时间;创建独立的增量索引列表,采用所述索引列表相同的存储格式,对以所述末次索引的时间为起始点的新增索引数据进行顺序存储;结合所述索引列表和新增的增量索引列表,生成新的索引列表。利用上述技术方案,耗费的时间短,提高了索引效率,并且在为新增数据创建索引的过程中不容易出现错误,保证了准确率。

Description

增量式索引列表的生成方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种增量式索引列表的生成方法及装置。
背景技术
索引是对数据库表中一列或多列的值进行排序的一种结构。由于使用索引可快速访问数据库表中的特定信息,因此可以基于数据库表中的单列或多列创建索引,形成索引列表。通过创建的索引列表查找相应数据,加快数据的检索速度,同时也可以提高***的性能。
由于数据库中的数据在不断增加,为了能够满足用户的需求,需要对增加的数据创建相应的索引项,进一步对索引列表进行更新。
现有技术中,当数据库中出现新增数据时,是对数据库中的所有数据再重新创建对应的索引,生成新的索引列表。由于该方法是对数据库中的所有数据创建索引,因此创建索引的过程耗费的时间长,效率低,并且会占用***较多的资源。另外,由于数据库中的数据更新速度非常快,数据库中不断出现新的数据,一旦数据库中出现新的数据,就需要对数据库中的所有数据创建索引,因此创建索引的过程是多次重复的过程,多次重复的为数据库中所有数据创建索引,会加重***的负担,甚至可能导致***瘫痪。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的增量式索引列表的生成方法及装置。
基于本发明的一个方面,提供了一种增量式索引列表的生成方法,包括:
在按照时间顺序存储有各索引项信息的原索引列表中,读取所述索引列表中记载的末次索引的时间;
创建独立的增量索引列表,采用所述原索引列表相同的存储格式,对以所述末次索引的时间为起始点的新增索引数据进行顺序存储;
结合所述原索引列表和新增的增量索引列表,生成新的索引列表。
可选地,所述生成新的索引列表之后,还包括:
使用所述新的索引列表替换所述原索引列表。
可选地,所述方法还包括:读取所述原索引列表的末次索引项;
结合所述原索引列表和新增的增量索引列表,生成新的索引列表,具体包括:以所述原索引列表中的末次索引项为结合点,结合所述原索引列表和所述新增的增量索引列表,生成新的索引列表。
可选地,所述创建独立的增量索引列表,具体包括:采用与所述原索引列表相同存储格式的状态表作为所述增量索引列表。
可选地,结合所述原索引列表和所述新增的增量索引列表,生成新的索引列表,具体包括:
建立第一中间文件text1和第二中间文件text2;
在所述第二中间文件text2中写入所述新增的增量索引列表;
将所述第二中间文件text2的内容赋予所述第一中间文件text1;
在承载所述原索引列表的索引文件text0中按时间顺序继续写入所述第一中间文件text1的内容,以生成所述新的索引列表。
可选地,所述第一中间文件text1和所述第二中间文件text2的起始状态均为空白状态。
可选地,还包括:
所述新的索引列表生成之后,删除所述第二中间文件text2中的内容;
若出现另一个新增的增量索引列表,则继续将该增量索引列表的内容写入已删除内容的所述第二中间文件text2。
可选地,还包括:
若所述新的索引列表生成失败,则将所述新的索引列表回退至未结合所述新增的增量索引列表的原索引列表状态。
基于本发明的另一个方面,还提供了一种增量式索引列表的生成装置,包括:
读取模块,适于在按照时间顺序存储有各索引项信息的原索引列表中,读取所述索引列表中记载的末次索引的时间;
创建模块,适于创建独立的增量索引列表,采用所述原索引列表相同的存储格式,对以所述末次索引的时间为起始点的新增索引数据进行顺序存储;
生成模块,适于结合所述原索引列表和新增的增量索引列表,生成新的索引列表。
可选地,所述装置还包括:
替换模块,适于使用所述新的索引列表替换所述原索引列表。
可选地,所述读取模块还适于:读取所述原索引列表的末次索引项;
所述生成模块还适于:以所述原索引列表中的末次索引项为结合点,结合所述原索引列表和所述新增的增量索引列表,生成新的索引列表。
可选地,所述创建模块还适于:采用与所述原索引列表相同存储格式的状态表作为所述增量索引列表。
可选地,所述生成模块还适于:
建立第一中间文件text1和第二中间文件text2;
在所述第二中间文件text2中写入所述新增的增量索引列表;
将所述第二中间文件text2的内容赋予所述第一中间文件text1;
在承载所述原索引列表的索引文件text0中按时间顺序继续写入所述第一中间文件text1的内容,以生成所述新的索引列表。
可选地,所述第一中间文件text1和所述第二中间文件text2的起始状态均为空白状态。
可选地,所述生成模块还适于:
所述新的索引列表生成之后,删除所述第二中间文件text2中的内容;
若出现另一个新增的增量索引列表,则继续将该增量索引列表的内容写入已删除内容的所述第二中间文件text2。
可选地,所述装置还包括:
回退模块,适于若所述新的索引列表生成失败,则将所述新的索引列表回退至未结合所述新增的增量索引列表的原索引列表状态。
采用本发明实施例中的方法,当数据库中的数据发生变化后,读取索引列表中记载的末次索引的时间,以末次索引的时间为起始点查找出新增索引数据,并为新增索引数据创建增量索引列表,再将原索引列表与增量索引列表进行结合,生成新的索引列表。与现有技术相比,当数据库中出现新增索引数据时,本发明实施例中仅仅是为新增索引数据创建索引,不再是为数据库中的所有数据创建索引,由于新增索引数据的数量要远远小于与数据库中所有数据的数量,因此为新增索引数据创建索引耗费的时间短,提高了效率,并且为新增数据创建索引的过程较为简单,不容易出现错误,保证了准确率。另外,当数据库中的数据更新的速度较快时,数据库中不断出现新增索引数据,因此需要多次重复地为新增索引数据创建索引,而本发明实施例仅为新增索引数据创建索引,由于新增索引数据的数量相对较少,避免了因多次重复生成大量数据对应的索引造成的***瘫痪。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的增量式索引列表的生成方法的处理流程示意图;
图2示出了根据本发明一个实施例的生成新的索引列表的处理流程示意图;
图3示出了根据本发明一个实施例的原索引列表和增量索引列表结合的处理流程示意图;
图4示出了根据本发明一个实施例的新的索引列表生成失败的处理流程示意图;
图5示出了根据本发明一个实施例的新的索引列表生成失败后的原索引列表和增量索引列表再次结合的处理流程示意图;
图6示出了根据本发明一个实施例的增量式索引列表的生成装置的结构示意图;以及
图7示出了根据本发明一个实施例的增量式索引列表的生成装置的另一种结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为解决上述技术问题,本发明实施例提供了一种增量式索引列表的生成方法。图1示出了根据本发明一个实施例的增量式索引列表的生成方法的处理流程示意图。参见图1,该方法至少包括以下步骤S102至步骤S106。
本发明实施例中,首先,执行步骤S102,在按照时间顺序存储有各索引项信息的原索引列表中,读取索引列表中记载的末次索引的时间。
根据步骤S102中读取的末次索引的时间,执行步骤S104,创建独立的增量索引列表,采用原索引列表相同的存储格式,对以末次索引的时间为起始点的新增索引数据进行顺序存储。
最后,执行步骤S106,结合原索引列表和新增的增量索引列表,生成新的索引列表。
采用本发明实施例中的方法,当数据库中的数据发生变化后,读取原索引列表中记载的末次索引的时间,以末次索引的时间为起始点查找出新增索引数据,并为新增索引数据创建增量索引列表,再将原索引列表与增量索引列表进行结合,生成新的索引列表。与现有技术相比,当数据库中出现新增索引数据时,本发明实施例中仅仅是为新增索引数据创建索引,不再是为数据库中的所有数据创建索引,由于新增索引数据的数量要远远小于与数据库中所有数据的数量,因此为新增索引数据创建索引耗费的时间短,提高了效率,并且为新增数据创建索引的过程较为简单,不容易出现错误,保证了准确率。另外,当数据库中的数据更新的速度较快时,数据库中不断出现新增索引数据,因此需要多次重复地为新增索引数据创建索引,而本发明实施例仅为新增索引数据创建索引,由于新增索引数据的数量相对较少,避免了因多次重复生成大量数据对应的索引造成的***瘫痪。
实施例一
在本发明的一个优选实施例中,以原索引列表中的末次索引的时间为起始点查找出数据库中的新增索引数据,为新增索引数据创建增量索引列表,以原索引列表中的末次索引项为结合点,将原索引列表与新增的增量索引列表结合在一起,生成新的索引列表。
具体地,原索引列表包括原始数据对应的索引项,为1-10000项,当数据库中增加1000条数据时,为新增的1000条数据创建索引,生成增量索引列表。增量索引列表中包括新增索引数据对应的索引项,为1-1000项。然后将增量索引列表中的索引项附在原索引列表中末次索引项处,即第10000项处,实现原索引列表与新增的增量索引列表的结合,生成的索引列表中的索引项为1-11000项,包括按顺序生成的原始索引项和新增索引项。
为了更准确、方便地将原索引列表与新增的增量索引列表进行结合,将步骤S104中创建的增量索引列表,设置为一个具有与原索引列表相同的存储格式的状态表。其中,原索引列表和状态表中的信息类别相同,至少包括索引时间、索引序号等,并且原索引列表和状态表的格式相同。将原索引列表和状态表进行合并时,由于格式一致,不需要进行格式统一化,另外,由于信息类别一致,直接将新增索引项附在原索引列表的末次索引项处,不需要对信息类别不一致的内容进行增删。
为了更清楚地理解创建的状态表与原索引列表的结合过程,图2示出了根据本发明一个实施例的生成新的索引列表的处理流程示意图。参见图2,图2中包括原索引列表、状态表和新的索引列表,其中,原索引列表、状态表和新的索引列表中均包括索引时间、索引序号。从原索引列表中可以得到末次索引的时间为2015.12.1515:06,末次索引项为第10000项。以末次索引的时间2015.12.1515:06为起始点,查找出数据库中的新增索引数据,其中,包括1000条新的数据时。为新增的1000条数据创建索引,并将新增数据对应的1000项索引项写入状态表中。最后,将状态表中的1000项索引项从原索引列表的末次索引项开始写入,即从第10000项开始写入到原索引列表中,生成新的索引列表。其中,新的索引列表中的末次索引的时间为状态表中第1000项索引项写入到新的索引列表的时间2015.12.1610:58,新的索引列表中的末次索引项为第11000项。
实施例一仅说明了以末次索引项为结合点,将原索引列表和增量索引列表进行结合的过程,另外,还可以选择以末次索引的时间作为结合点,将原索引列表和增量索引列表进行结合,在此本发明不做出任何限定。
实施例二
下面以一个具体实施例对原索引列表和增量索引列表的结合过程进行描述。图3示出了根据本发明一个实施例的原索引列表和增量索引列表结合的处理流程示意图。参见图3,建立了三个存储文件,即索引文件text0,第一中间文件text1,第二中间文件text2。其中,索引文件text0中包括原索引列表中的所有信息,第一中间文件text1和第二中间文件text2的起始状态均为空白状态。
当数据库中第一次出现新增索引数据后,为新增索引数据创建索引,生成增量索引列表。将增量索引列表与原索引列表进行结合时,首先将增量索引列表中对应的索引项信息写入第二中间文件text2,写入完毕后,再将第二中间文件text2中的索引项信息写入到第一中间文件text1,最后将将第一中间文件text1的索引项信息按时间顺序写入到承载原索引列表的索引文件text0中,即将第一中间文件text1的索引项信息直接赋予到索引文件text0的末尾处,生成新的索引列表。此时,索引文件text0中按顺序存储有原始数据对应的索引项和新增索引数据对应的索引项。
赋予完成后,清空第二中间文件text2中写入的增量索引列表对应的索引项信息,以便下次创建的新增的增量索引列表中的索引项的写入。
当第一中间文件text1中的索引项信息赋予到索引文件text0后,本发明实施例提供的是直接清空第二中间文件text2中的索引项信息,此外,还可以选择删除第二中间文件text2。对于清空第二中间文件text2的具体方式,本发明实施例不作出任何限定。
当数据库中第二次出现新增索引数据后,继续为新增索引数据创建索引,生成增量索引列表。然后将本次生成的增量索引列表中对应的索引项信息继续写入第二中间文件text2,写入完毕后,再将第二中间文件text2中的索引项信息写入到第一中间文件text1,第二中间文件text2中的索引项信息写入第一中间文件时,相当于覆盖掉了第一次写入到第一中间文件text1的索引项信息。或者,首先创建第三中间文件text3,然后将增量索引列表中对应的索引项信息写入第二中间文件text3,写入完毕后,再将第三中间文件text3中的索引项信息写入到第一中间文件text1,最后将第一中间文件text1的索引项信息写入到承载原索引列表的索引文件text0中。
本发明实施例仅以数据库中第一次出现新增索引数据、第二次出现新增索引数据为例做出例举。由于数据库中的数据在不断进行更新,当数据库中第三次、第四次、……第N次出现新增索引数据后,均可按照本发明实施例提供的方法对增量索引列表和原索引列表进行结合。
实施例三
在本发明的一个优选实施例中,若新的索引列表生成失败,例如,将新增的增量索引列表与原索引列表进行结合时,由于***内存不足,不能将创建的状态表中的对应的所有索引项写入到原索引列表中,导致结合失败。此时,将新的索引列表回退至未结合新增的增量索引列表的索引列表状态。
具体地,原索引列表中包括原始数据对应的索引项,为1-10000项,状态表中包括新增索引数据对应的索引项,为1-1000项。将原索引列表和状态表进行结合时,由于***内存不足,不能将状态表中的1000项索引全部附在原索引列表的末次索引项处,因此不能生成新的索引列表,此时,索引列表并不进行更新,还回退至原索引列表的状态。其中,索引列表中的末次索引的时间、末次索引项并没有发生变化,即与原索引列表的末次索引的时间、末次索引项相同。
具体地,图4示出了根据本发明一个实施例的新的索引列表生成失败的处理流程示意图。图4中包括原索引列表、状态表和新的索引列表,其中,原索引列表、状态表和新的索引列表中均包括索引时间、索引序号。从原索引列表中可以得到末次索引的时间为2015.12.1515:06,末次索引项为第10000项。当数据库中出现1000条新的数据时,为新增的1000条数据创建索引,生成状态表。将状态表中的1000项索引项从原索引列表的末次索引项开始写入,由于***内存不足,只能将状态表中的前500项索引项写入原索引列表,导致新的索引列表生成失败。此时,索引列表并不进行更新,还回退至原索引列表的状态,即索引列表中的末次索引的时间还为2015.12.1515:06,末次索引项还为第10000项。
当索引列表回退至原索引列表的状态后,数据库中又增加500条新增索引数据,由于索引列表并未进行更新,因此,以索引列表中的末次索引的时间为起始点,对新增索引数据进行查找,其中,新增索引数据包括本次的新增索引数据以及上次的新增索引数据,相应地,本次创建的新增的增量索引列表的索引项为1-1500项。
具体地,图5示出了根据本发明一个实施例的新的索引列表生成失败后的原索引列表和增量索引列表再次结合的处理流程示意图。参见图5,图5中包括原索引列表、状态表和新的索引列表,其中,原索引列表、状态表和新的索引列表中均包括索引时间、索引序号。从原索引列表中可以得到末次索引的时间为2015.12.1515:06,末次索引项为第10000项。当数据库中又增加500条新增索引数据后,以原索引列表中的末次索引的时间为起始点查找出1500条新增索引数据,其中包括上次结合失败的1000条新增索引数据。然后为新增的1500条数据创建索引,生成状态表。将状态表中的1500项索引项从原索引列表的末次索引项开始写入,生成新的索引列表。其中,新的索引列表中的末次索引的时间为状态表中第1500项索引项写入到新的索引列表的时间2015.12.1710:00,新的索引列表中的末次索引项为第11500项。
若新的索引列表生成失败,将新的索引列表回退至未结合新增的增量索引列表的索引列表状态,当数据库中再次出现新增索引数据时,还会查询到上次新增索引数据,并对上一次新增索引数据和本次新增索引数据创建增量索引,因此,不会遗漏新增索引数据,保证对新增索引数据均能创建对应的索引项,进而保证了生成的索引列表的准确性。
本发明的一个优选实施例中,执行完步骤S106生成新的索引列表之后,使用新的索引列表替换原索引列表,进而由新的索引列表对外提供索引服务。
基于同一发明构思,本发明实施例还提供了一种增量式索引列表的生成装置,用于支持上述任一实施例中的增量式索引列表的生成方法。图6示出了根据本发明一个实施例的增量式索引列表的生成装置的结构示意图。参见图6,该装置至少包括:
读取模块610,适于在按照时间顺序存储有各索引项信息的原索引列表中,读取索引列表中记载的末次索引的时间;
创建模块620,与读取模块610耦合,适于创建独立的增量索引列表,采用索引列表相同的存储格式,对以末次索引的时间为起始点的新增索引数据进行顺序存储;
生成模块630,与创建模块620耦合,适于结合原索引列表和新增的增量索引列表,生成新的索引列表。
在本发明的一个优选实施例中,参见图7,增量式索引列表的生成装置还包括:
替换模块640,与生成模块630耦合,适于使用新的索引列表替换原索引列表。
在本发明的一个优选实施例中,读取模块610还适于:读取原索引列表的末次索引项;
生成模块630还适于:以原索引列表中的末次索引项为结合点,结合原索引列表和新增的增量索引列表,生成新的索引列表。
在本发明的一个优选实施例中,创建模块620还适于:采用与原索引列表相同存储格式的状态表作为增量索引列表。
在本发明的一个优选实施例中,生成模块630还适于:
建立第一中间文件text1和第二中间文件text2;
在第二中间文件text2中写入新增的增量索引列表;
将第二中间文件text2的内容赋予第一中间文件text1;
在承载原索引列表的索引文件text0中按时间顺序继续写入第一中间文件text1的内容,以生成新的索引列表。
在本发明的一个优选实施例中,第一中间文件text1和第二中间文件text2的起始状态均为空白状态。
在本发明的一个优选实施例中,生成模块630还适于:
新的索引列表生成之后,删除第二中间文件text2的内容;
若出现另一个新增的增量索引列表,则继续将该增量索引列表的内容写入已删除内容的第二中间文件text2。
在本发明的一个优选实施例中,参见图7,增量式索引列表的生成装置还包括:
回退模块650,与生成模块630耦合,适于若新的索引列表生成失败,则将新的索引列表回退至未结合新增的增量索引列表的原索引列表状态。
综上,采用本发明实施例提供的增量式索引列表的生成方法及装置可以达到如下有益效果:
采用本发明实施例中的方法及装置,当数据库中的数据发生变化后,读取索引列表中记载的末次索引的时间,以末次索引的时间为起始点查找出新增索引数据,并为新增索引数据创建增量索引列表,再将原索引列表与增量索引列表进行结合,生成新的索引列表。与现有技术相比,当数据库中出现新增索引数据时,本发明实施例中仅仅是为新增索引数据创建索引,不再是为数据库中的所有数据创建索引,由于新增索引数据的数量要远远小于与数据库中所有数据的数量,因此为新增索引数据创建索引耗费的时间短,提高了效率,并且为新增数据创建索引的过程较为简单,不容易出现错误,保证了准确率。另外,当数据库中的数据更新的速度较快时,数据库中不断出现新增索引数据,因此需要多次重复地为新增索引数据创建索引,而本发明实施例仅为新增索引数据创建索引,由于新增索引数据的数量相对较少,避免了因多次重复生成大量数据对应的索引造成的***瘫痪。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的增量式索引列表的生成装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
基于本发明的一个方面,还公开了:A1、一种增量式索引列表的生成方法,包括:
在按照时间顺序存储有各索引项信息的原索引列表中,读取所述索引列表中记载的末次索引的时间;
创建独立的增量索引列表,采用所述原索引列表相同的存储格式,对以所述末次索引的时间为起始点的新增索引数据进行顺序存储;
结合所述原索引列表和新增的增量索引列表,生成新的索引列表。
A2、根据A1所述的方法,其中,所述生成新的索引列表之后,还包括:
使用所述新的索引列表替换所述原索引列表。
A3、根据A1或A2所述的方法,其中,
所述方法还包括:读取所述原索引列表的末次索引项;
结合所述原索引列表和新增的增量索引列表,生成新的索引列表,具体包括:以所述原索引列表中的末次索引项为结合点,结合所述原索引列表和所述新增的增量索引列表,生成新的索引列表。
A4、根据A1至A3任一项所述的方法,其中,所述创建独立的增量索引列表,具体包括:采用与所述原索引列表相同存储格式的状态表作为所述增量索引列表。
A5、根据A4所述的方法,其中,结合所述原索引列表和所述新增的增量索引列表,生成新的索引列表,具体包括:
建立第一中间文件text1和第二中间文件text2;
在所述第二中间文件text2中写入所述新增的增量索引列表;
将所述第二中间文件text2的内容赋予所述第一中间文件text1;
在承载所述原索引列表的索引文件text0中按时间顺序继续写入所述第一中间文件text1的内容,以生成所述新的索引列表。
A6、根据A5所述的方法,其中,所述第一中间文件text1和所述第二中间文件text2的起始状态均为空白状态。
A7、根据A5或A6所述的方法,其中,还包括:
所述新的索引列表生成之后,删除所述第二中间文件text2中的内容;
若出现另一个新增的增量索引列表,则继续将该增量索引列表的内容写入已删除内容的所述第二中间文件text2。
A8、根据A1至A7任一项所述的方法,其中,还包括:
若所述新的索引列表生成失败,则将所述新的索引列表回退至未结合所述新增的增量索引列表的原索引列表状态。
基于本发明的另一个方面,还公开了:B9、一种增量式索引列表的生成装置,包括:
读取模块,适于在按照时间顺序存储有各索引项信息的原索引列表中,读取所述索引列表中记载的末次索引的时间;
创建模块,适于创建独立的增量索引列表,采用所述原索引列表相同的存储格式,对以所述末次索引的时间为起始点的新增索引数据进行顺序存储;
生成模块,适于结合所述原索引列表和新增的增量索引列表,生成新的索引列表。
B10、根据B9所述的装置,其中,所述装置还包括:
替换模块,适于使用所述新的索引列表替换所述原索引列表。
B11、根据B9或B10所述的装置,其中,所述读取模块还适于:读取所述原索引列表的末次索引项;
所述生成模块还适于:以所述原索引列表中的末次索引项为结合点,结合所述原索引列表和所述新增的增量索引列表,生成新的索引列表。
B12、根据B9至B11任一项所述的装置,其中,所述创建模块还适于:采用与所述原索引列表相同存储格式的状态表作为所述增量索引列表。
B13、根据B12所述的装置,其中,所述生成模块还适于:
建立第一中间文件text1和第二中间文件text2;
在所述第二中间文件text2中写入所述新增的增量索引列表;
将所述第二中间文件text2的内容赋予所述第一中间文件text1;
在承载所述原索引列表的索引文件text0中按时间顺序继续写入所述第一中间文件text1的内容,以生成所述新的索引列表。
B14、根据B13所述的装置,其中,所述第一中间文件text1和所述第二中间文件text2的起始状态均为空白状态。
B15、根据B13或B14所述的装置,其中,所述生成模块还适于:
所述新的索引列表生成之后,删除所述第二中间文件text2中的内容;
若出现另一个新增的增量索引列表,则继续将该增量索引列表的内容写入已删除内容的所述第二中间文件text2。
B16、根据B9至B15任一项所述的装置,其中,所述装置还包括:
回退模块,适于若所述新的索引列表生成失败,则将所述新的索引列表回退至未结合所述新增的增量索引列表的原索引列表状态。

Claims (10)

1.一种增量式索引列表的生成方法,包括:
在按照时间顺序存储有各索引项信息的原索引列表中,读取所述索引列表中记载的末次索引的时间;
创建独立的增量索引列表,采用所述原索引列表相同的存储格式,对以所述末次索引的时间为起始点的新增索引数据进行顺序存储;
结合所述原索引列表和新增的增量索引列表,生成新的索引列表。
2.根据权利要求1所述的方法,其中,所述生成新的索引列表之后,还包括:
使用所述新的索引列表替换所述原索引列表。
3.根据权利要求1或2所述的方法,其中,
所述方法还包括:读取所述原索引列表的末次索引项;
结合所述原索引列表和新增的增量索引列表,生成新的索引列表,具体包括:以所述原索引列表中的末次索引项为结合点,结合所述原索引列表和所述新增的增量索引列表,生成新的索引列表。
4.根据权利要求1至3任一项所述的方法,其中,所述创建独立的增量索引列表,具体包括:采用与所述原索引列表相同存储格式的状态表作为所述增量索引列表。
5.根据权利要求4所述的方法,其中,结合所述原索引列表和所述新增的增量索引列表,生成新的索引列表,具体包括:
建立第一中间文件text1和第二中间文件text2;
在所述第二中间文件text2中写入所述新增的增量索引列表;
将所述第二中间文件text2的内容赋予所述第一中间文件text1;
在承载所述原索引列表的索引文件text0中按时间顺序继续写入所述第一中间文件text1的内容,以生成所述新的索引列表。
6.根据权利要求5所述的方法,其中,所述第一中间文件text1和所述第二中间文件text2的起始状态均为空白状态。
7.根据权利要求5或6所述的方法,其中,还包括:
所述新的索引列表生成之后,删除所述第二中间文件text2中的内容;
若出现另一个新增的增量索引列表,则继续将该增量索引列表的内容写入已删除内容的所述第二中间文件text2。
8.根据权利要求1至7任一项所述的方法,其中,还包括:
若所述新的索引列表生成失败,则将所述新的索引列表回退至未结合所述新增的增量索引列表的原索引列表状态。
9.一种增量式索引列表的生成装置,包括:
读取模块,适于在按照时间顺序存储有各索引项信息的原索引列表中,读取所述索引列表中记载的末次索引的时间;
创建模块,适于创建独立的增量索引列表,采用所述原索引列表相同的存储格式,对以所述末次索引的时间为起始点的新增索引数据进行顺序存储;
生成模块,适于结合所述原索引列表和新增的增量索引列表,生成新的索引列表。
10.根据权利要求9所述的装置,其中,所述装置还包括:
替换模块,适于使用所述新的索引列表替换所述原索引列表。
CN201510997495.4A 2015-12-25 2015-12-25 增量式索引列表的生成方法及装置 Pending CN105608204A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510997495.4A CN105608204A (zh) 2015-12-25 2015-12-25 增量式索引列表的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510997495.4A CN105608204A (zh) 2015-12-25 2015-12-25 增量式索引列表的生成方法及装置

Publications (1)

Publication Number Publication Date
CN105608204A true CN105608204A (zh) 2016-05-25

Family

ID=55988143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510997495.4A Pending CN105608204A (zh) 2015-12-25 2015-12-25 增量式索引列表的生成方法及装置

Country Status (1)

Country Link
CN (1) CN105608204A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145529A (zh) * 2017-04-17 2017-09-08 东软集团股份有限公司 一种数据处理方法及装置
CN111723246A (zh) * 2019-03-20 2020-09-29 京东数字科技控股有限公司 一种数据处理的方法、装置和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1811759A (zh) * 2005-01-26 2006-08-02 华为技术有限公司 一种对信息建增量索引的方法
CN1877583A (zh) * 2006-07-12 2006-12-13 百度在线网络技术(北京)有限公司 访问标识索引***及访问标识索引库生成方法
WO2010145575A1 (zh) * 2009-09-21 2010-12-23 中兴通讯股份有限公司 在终端上更新索引并基于其对搜索结果排序的方法及装置
CN101930481A (zh) * 2009-06-22 2010-12-29 华东电网有限公司 生成描述指定时间段内电网变化的cim模型的方法和***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1811759A (zh) * 2005-01-26 2006-08-02 华为技术有限公司 一种对信息建增量索引的方法
CN1877583A (zh) * 2006-07-12 2006-12-13 百度在线网络技术(北京)有限公司 访问标识索引***及访问标识索引库生成方法
CN101930481A (zh) * 2009-06-22 2010-12-29 华东电网有限公司 生成描述指定时间段内电网变化的cim模型的方法和***
WO2010145575A1 (zh) * 2009-09-21 2010-12-23 中兴通讯股份有限公司 在终端上更新索引并基于其对搜索结果排序的方法及装置
EP2482199A4 (en) * 2009-09-21 2012-12-19 Zte Corp METHOD AND DEVICE FOR UPDATING THE INDEX IN A FINAL DEVICE AND FOR SEQUENCING SEARCH RESULTS BASED ON AN UPDATED INDEX

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145529A (zh) * 2017-04-17 2017-09-08 东软集团股份有限公司 一种数据处理方法及装置
CN107145529B (zh) * 2017-04-17 2020-04-07 东软集团股份有限公司 一种数据处理方法及装置
CN111723246A (zh) * 2019-03-20 2020-09-29 京东数字科技控股有限公司 一种数据处理的方法、装置和存储介质
CN111723246B (zh) * 2019-03-20 2024-04-05 京东科技控股股份有限公司 一种数据处理的方法、装置和存储介质

Similar Documents

Publication Publication Date Title
EP3355194A1 (en) File system directory tree repair method and device
CN104572920A (zh) 一种数据整理方法和装置
CN103902698A (zh) 一种数据存储***和存储方法
CN102298607A (zh) 数据集成的方案合约
CN101681366A (zh) 一种数据存储和管理方法
CN103699624B (zh) 浏览器数据的处理方法和装置
CN104951507A (zh) 一种清理移动终端应用中文件的方法及装置
CN102654863A (zh) 一种实时数据库历史数据组织管理方式
CN102004787A (zh) 基于办公软件插件的多应用场景表单合并的方法
US9037611B2 (en) Generation of a user interface based on a relational data model
CN108196792A (zh) 清除过期数据的方法及装置
CN105608204A (zh) 增量式索引列表的生成方法及装置
CN111190895B (zh) 列式存储数据的组织方法、装置及存储介质
CN104253903A (zh) 一种信息的查找方法和装置
CN104866508B (zh) 在云环境下管理文件的方法与装置
US9098516B2 (en) Multi-dimensional file system
CN110659295B (zh) 一种基于hawq记录有效数据的方法、装置和介质
CN108038253A (zh) 一种日志查询的处理方法及装置
WO2023249753A1 (en) File system metadata layout for append-only storage
CN105426541A (zh) 一种通用数据的存储方法和装置
CN103164765A (zh) 专利管理方法及***
CN111444197B (zh) 一种块链式账本中数据记录的验证方法、装置及设备
KR101260165B1 (ko) 오픈 데이터베이스 관리 시스템
CN105630991A (zh) Id自动生成方法及装置
Dassow et al. On subregular selection languages in internal contextual grammars

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160525

RJ01 Rejection of invention patent application after publication