CN105701096A - 索引生成方法、数据查询方法、装置及*** - Google Patents
索引生成方法、数据查询方法、装置及*** Download PDFInfo
- Publication number
- CN105701096A CN105701096A CN201410685565.8A CN201410685565A CN105701096A CN 105701096 A CN105701096 A CN 105701096A CN 201410685565 A CN201410685565 A CN 201410685565A CN 105701096 A CN105701096 A CN 105701096A
- Authority
- CN
- China
- Prior art keywords
- index
- file
- data record
- data
- information
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种索引生成方法、数据查询方法、装置及***,属于数据存储领域。所述方法包括:获取数据文件,为每条数据记录生成对应的索引信息,对于数据文件中的每条数据记录,根据数据记录的属性信息将对应的索引信息分类存储至层级索引目录中的一个索引文件中,层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。本发明通过将索引信息根据数据记录的属性信息分散到层级索引目录的不同目录下,解决了在存储有海量数据时,使用目前的索引文件进行查询时的查询速度较慢的问题,达到了即便存储有海量数据时,也能够提供快速查询处理效果。
Description
技术领域
本发明涉及大数据处理领域,特别涉及一种索引生成方法、数据查询方法、装置及***。
背景技术
随着业务***的功能越来越强大,业务***中所存储的数据也越来越多。
目前的存储***中通常建立有索引文件,比如一个数据文件对应一个索引文件,或者,一个数据库对应一个索引文件。当需要在存储***中查询数据记录时,首先根据索引关键字在索引文件中查询索引,该索引记载了目标数据记录在数据文件中的偏移量,然后根据查询到的索引在数据文件中提取出目标数据记录,并将该目标数据记录作为查询结果。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:在存储有海量数据时,使用目前的索引文件进行查询时的查询速度较慢,无法满足快速查询场景。
发明内容
为了解决使用目前的索引文件进行查询时的查询速度较慢,无法满足对实时性要求较高的查询场景的问题,本发明实施例提供了一种索引生成方法、数据查询方法、装置及***。所述技术方案如下:
第一方面,本发明实施例提供了一种索引生成方法,所述方法包括:
获取数据文件,所述数据文件包括有至少一条数据记录;
为每条所述数据记录生成对应的索引信息,所述索引信息用于指示所述数据记录在所述数据文件中的存储位置;
对于所述数据文件中的每条数据记录,根据所述数据记录的属性信息将对应的所述索引信息分类存储至层级索引目录中的一个索引文件中,所述层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。
第二方面,本发明实施例提供了一种数据查询方法,所述方法包括:
接收查询请求;
根据所述查询请求从层级索引目录中的至少一个索引文件中提取索引信息,所述层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息;
根据所述索引信息在数据文件中获取数据记录。
第三方面,本发明实施例提供了一种索引生成装置,所述装置包括:
数据文件获取模块,用于获取数据文件,所述数据文件包括有至少一条数据记录;
索引信息生成模块,用于为所述数据文件获取模块中的每条所述数据记录生成对应的索引信息,所述索引信息用于指示所述数据记录在所述数据文件中的存储位置;
索引信息存储模块,用于对于所述数据文件中的每条数据记录,根据所述数据记录的属性信息将对应的所述索引信息生成模块生成的所述索引信息分类存储至层级索引目录中的一个索引文件中,所述层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。
第四方面,本发明实施例提供了一种数据查询装置,所述装置包括:
查询请求接收模块,用于接收查询请求;
索引信息提取模块,用于根据所述查询请求接收模块接收的所述查询请求从层级索引目录中的至少一个索引文件中提取索引信息,所述层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息;
数据记录获取模块,用于根据所述索引信息提取模块提取的所述索引信息在数据文件中获取数据记录。
综上所述,本发明实施例提供的索引生成方法,通过在索引生成时,获取数据文件,为每条数据记录生成对应的索引信息,对于数据文件中的每条数据记录,再根据数据记录的属性信息将对应的索引信息分类存储至层级索引目录中的一个索引文件中,其中,层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息;解决了在存储有海量数据时,使用目前的索引文件进行查询时的查询速度较慢的问题;达到了即便存储有海量数据时,也能够通过按照不同属性信息分类存储的多个索引文件提供快速查询处理的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明一个实施例提供的索引生成方法的方法流程图;
图2示出了本发明一个实施例提供的数据查询方法的方法流程图;
图3A示出了本发明一个实施例提供的数据查询方法的方法流程图;
图3B示出了本发明一个实施例提供的索引文件的结构示意图;
图3C示出了本发明另一个实施例提供的索引文件的结构示意图;
图4示出了本发明各个实施例所涉及的一种实施环境的结构示意图;
图5示出了本发明一个实施例提供的数据查询方法的方法流程图;
图6示出了本发明一个实施例提供的索引生成装置的结构方框图;
图7示出了本发明一个实施例提供的索引生成装置的结构方框图;
图8示出了本发明一个实施例提供的数据查询装置的结构方框图;
图9示出了本发明一个实施例提供的数据查询装置的结构方框图;
图10示出了本发明一个实施例提供的数据处理端的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明一个实施例提供的索引生成方法的方法流程图。本实施例以该索引生成方法应用于存储***中来举例说明,包括:
步骤101,获取数据文件,该数据文件包括有至少一条数据记录。
步骤102,为每条数据记录生成对应的索引信息,该索引信息用于指示数据记录在数据文件中的存储位置。
步骤103,对于数据文件中的每条数据记录,根据数据记录的属性信息将对应的索引信息分类存储至层级索引目录中的一个索引文件中,该层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。
综上所述,本发明实施例提供的索引生成方法,通过在索引生成时,获取数据文件,为每条数据记录生成对应的索引信息,对于数据文件中的每条数据记录,再根据数据记录的属性信息将对应的索引信息分类存储至层级索引目录中的一个索引文件中,其中,层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息;解决了在存储有海量数据时,使用目前的索引文件进行查询时的查询速度较慢的问题;达到了即便存储有海量数据时,也能够通过按照不同属性信息分类存储的多个索引文件提供快速查询处理的效果。
请参考图2,其示出了本发明一个实施例提供的数据查询方法的方法流程图。本实施例以该数据查询方法可以应用于存储***中来举例说明,包括:
步骤201,接收查询请求。
存储***接收客户端发送的查询请求,该查询请求可以包括:业务标识、数据记录所属的时间范围等。
步骤202,根据查询请求从层级索引目录中的至少一个索引文件中提取索引信息,该层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。
步骤203,根据索引信息在数据文件中获取数据记录。
综上所述,本发明实施例提供的数据查询方法,通过在数据查询时,接收查询请求,根据查询请求从层级索引目录中的至少一个索引文件中提取索引信息,再根据索引信息在数据文件中获取数据记录,从分类存储在不同目录中的索引文件中提取索引信息;解决了在存储有海量数据时,使用目前的索引文件进行查询时的查询速度较慢的问题;达到了即便存储有海量数据时,也能够通过按照不同属性信息分类存储的多个索引文件提供快速查询处理的效果。
请参考图3A,其示出了本发明一个实施例提供的数据查询方法的方法流程图。本实施例以该数据查询方法应用于存储***中举例说明,该方法包括:
步骤301,获取数据文件,该数据文件包括有至少一条数据记录。
在运行业务的过程中,数据上报端会生成一条条的数据记录。数据上报端会将数据记录上报给存储***,由存储***接收数据上报端发送的数据记录。具体来讲:
数据记录由若干个字段构成。根据业务的不同,数据记录中包括的字段也不同。以业务是即时社交软件的群聊监控业务为例,某用户在聊天群中发布了一条聊天信息,则会生成一条数据记录,该数据记录包括:聊天群名称、上报时间、聊天内容、用户账号、用户昵称等字段。
其中,数据上报端可以将数据记录以文本形式存储于数据文件中,每条数据记录在数据文件中占据一行,数据记录中各个字段以分隔符号分隔,该分隔符号可以是‘\t’。
比如,当一条数据记录包括:时间字段、用户昵称字段、聊天群名称字段、用户账号字段时,一个数据文件中的一部分数据记录示意如下:
2014.11.1100:01:01\t小王\t旅游信息群\t331121\t
2014.11.1200:01:11\t小张\t天文信息群\t331432\t
2014.11.1300:01:21\t小红\t购物信息群\t331254\t
2014.11.1400:01:22\t小丽\t游戏交流群\t121121\t
为了保证查询的速度,每个数据文件的数据量可以保持在预定大小,比如,每个数据文件的数据记录总数不超过2万条;或每个数据文件的数据量不超过200MB等。即,数据上报端在检测到当前数据文件中的数据量达到预设阈值时,新建一个数据文件,并将接收到的数据记录存储在新建的数据文件中,并将当前数据文件发送给存储***。
存储***可以以负载均衡方式将数据文件存储至存储***中的某一服务器中。
在一种可能的实施方式中,存储***以如下文件存储结构将数据文件存储至存储***中的某一服务器中的in目录下:
in/dcid/yyyymmdd/hh/filename。
其中,dcid是业务标识,yyyymmdd是年月日,hh是小时,filename是文件名。
也即,数据文件可以根据属性信息的不同存储至不同的目录下,属性信息包括:数据文件对应的业务标识、数据文件对应的时间范围、数据文件对应的文件名。采用这种存储结构,可以提高数据文件的查找效率。
步骤302,为每条数据记录生成对应的索引信息,该索引信息用于指示数据记录在数据文件中的存储位置。
存储***在获取数据文件后,可以为该数据文件中的每条数据记录生成对应的索引信息,该索引信息用于指示数据记录在数据文件中的存储位置。
本步骤可以包括如下步骤:
第一,对于每条数据记录,存储***提取该条数据记录中需要建立索引的一个索引字段值和该条数据记录在数据文件中的偏移量。
第二,存储***根据索引字段值和数据记录在数据文件中的偏移量生成与数据记录对应的一条索引信息。
以数据记录A是“2014.11.1100:01:01\t小王\t旅游信息群\t331121\t”为例。该数据记录中包括如下字段:年月日、小时、分钟、秒、用户昵称、聊天群名称、用户账号。其中,当需要建立索引的字段为用户昵称时。此时,数据可以为该数据记录建立的索引信息为:
索引字段值“小王”、数据记录A在数据文件中的偏移量“第1234行”。
当需要建立索引的字段是其它字段时,其它索引信息的建立过程与上述方式类似,不再一一赘述。
步骤303,对于数据文件中的每条数据记录,根据数据记录的属性信息将对应的索引信息分类存储至层级索引目录中的一个索引文件中。
在生成了数据文件对应的索引信息后,存储***可以根据数据记录的属性信息,将对应的索引信息分类存储至层级索引目录中的一个索引文件中。其中,该层级索引目录层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。
本步骤可以包括如下步骤:
第一、对于每条数据记录,提取数据记录的属性信息。
第二、在层级索引目录中的至少一个索引文件中确定与属性信息对应的一个索引文件。
第三、将数据记录对应的索引信息存入索引文件中。
在第一个步骤中,存储***在对每条数据记录生成对应的索引信息后,可以提取各条数据记录的属性信息。其中,属性信息可以包括:数据记录所对应的业务标识、数据记录所属的时间范围、数据记录中的索引字段名称、数据记录中的索引字段值的哈希值的取模值和数据记录所对应的数据文件的文件名中的至少一种信息。其中,时间范围通常包括日期信息和小时分钟信息。
比如,以数据文件B中的数据记录C是“2014.11.1100:01:01\t小王\t旅游信息群\t331121\t”为例,该数据记录的属性信息包括:日期信息“2014.11.11”、小时分钟信息“00:01”、索引字段名称“用户昵称”、数据文件的文件名“B”、索引字段值的哈希值的取模值“MOD1”。
其中,MOD1表示索引字段值“小王”的哈希值相对于预定值的取模值。该预定值可以是100,假设哈希值为1108,则取模值为8。
在第二个步骤中,存储***可以通过层级索引目录确定索引文件,该层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。
存储***可以根据数据记录的属性信息,在层级索引目录下划分若干子目录,在每个子目录下继续划分若干子目录,以此类推。
在一种可能的实施方式中,层级索引目录的索引目录结构可以是:
/index/dcid/yyyymmdd/hhmm/filename;或,
/index/dcid/yyyymmdd/hhmm/index_name/filename;或,
/index/dcid/index_name/yyyymmdd/hhmm/filename;或,
/index/dcid/yyyymmdd/hhmm/index_name/mod/filename。
其中index是层级索引目录的根目录,dcid是根据数据记录的业务标识属性划分的目录,yyyymmdd是根据数据记录的年月日属性划分的目录,hhmm是根据数据记录的小时分钟属性划分的目录,index_name是根据数据记录的索引字段名称属性划分的目录,mod是根据数据记录中的索引字段值的哈希值的取模值属性划分的目录,filename是与数据记录所在的数据文件对应的索引文件,该索引文件与目录中的各个属性相对应。
需要说明的是,本发明对按属性划分的各目录在层级索引目录的索引目录结构的先后顺序不做限定。
以层级索引目录的索引目录结构是“/index/dcid/yyyymmdd/hhmm/filename”为例,index是层级索引目录的根目录,dcid是index下的子目录,yyyymmdd是dcid下的子目录,hhmm是yyyymmdd下的子目录,索引文件则位于hhmm的目录下。当数据文件B中的数据记录C是“2014.11.1100:01:01\t小王\t旅游信息群\t331121\t”时,存储***根据该数据记录的年月日属性“2014.11.11”、小时分钟属性“00:01”、业务标识属性“群聊监控”,确定该数据记录对应的索引文件为“/index/群聊监控/2014.11.11/00:01/B”。
在第三个步骤中,存储***在确定与数据记录的属性信息对应的索引文件后,将数据记录对应的索引信息存入该索引文件中。
存储***可以将数据记录C的索引信息存入索引文件“/index/群聊监控/2014.11.11/00:01/B”中。
作为一种可能的实施方式,索引文件包括一级索引和二级索引,该一级索引用于存储各条数据记录中的索引字段值的哈希值,以及每个索引字段值的哈希值对应的二级索引在索引文件中的偏移量;该二级索引用于存储数据记录在数据文件中的偏移量。
图3B示出了一种索引文件的结构示意图,如图3B所示,索引文件结构由一级索引和二级索引两部分组成,其中一级索引记录了各个数据记录的索引字段值的哈希值key和二级索引在索引文件中的偏移量offset1,二级索引记录了数据记录在数据文件中的偏移量集合Index,其中Index记录了数据记录在数据文件中的各个偏移量offset2。此外,keycount表示索引文件中哈希值key的个数,len表示Index字段的数据长度。
存储***可以通过以下方式将数据记录对应的索引信息存入索引文件中:
1)将数据记录中的索引字段值的哈希值按照预定顺序写入索引文件的一级索引中,预定顺序包括:由大到小的顺序,或,由小到大的顺序;
2)将数据记录在数据文件中的偏移量写入索引文件的二级索引中;
3)将写入的二级索引在索引文件中的偏移量写入一级索引中,并与索引字段值的哈希值关联存储。
如图3C所示,当
索引信息A为:索引字段值“小王”、数据记录A在数据文件中的偏移量“第1234行”;
索引信息B为:索引字段值“小李”、数据记录B在数据文件中的偏移量“第1111行”;
索引信息C为:索引字段值“小丽”、数据记录C在数据文件中的偏移量“第1222行”。
假设“小王”的哈希值为1108、“小李”的哈希值为1110、“小丽”的哈希值为1120,则存储***可以将1108、1110、1120以由大到小或者由小到大的顺序写入索引文件的一级索引中。在本实施例中,存储***将各个哈希值按由小到大的顺序写入索引文件的一级索引中。
存储***再将数据记录A在数据文件中的偏移量“第1234行”、数据记录B在数据文件中的偏移量“第1111行”和数据记录C在数据文件中的偏移量“第1222行”与“第1223行”分别写入索引文件的二级索引中。
最后,存储***将写入的二级索引在索引文件的偏移量写入一级索引中,并与索引字段值的哈希值关联存储。即,将存储有数据记录A在数据文件中的偏移量“第1234行”的二级索引在索引文件中的偏移量“偏移量A”与哈希值1108关联存储在一级索引中,存储有数据记录B在数据文件中的偏移量“第1111行”的二级索引在索引文件中的偏移量“偏移量2”与哈希值1110关联存储在一级索引中、存储有数据记录C在数据文件中的偏移量“第1222行”和“第1223行”的二级索引在索引文件中的偏移量“偏移量3”与哈希值1120关联存储在一级索引中。其中,a为数据记录A的Index字段的数据长度,b为数据记录B的Index字段的数据长度,c为数据记录C的Index字段的数据长度。
为了防止重复对数据文件进行索引建立,在完成对数据文件的数据记录的索引建立后,存储***需要将该数据文件从in目录下转移至out目录下,其中,out目录的目录结构与在in目录的目录结构相同。
比如,当in目录的目录结构为:“in/dcid/yyyymmdd/hh/filename”,对应的out目录的目录结构为:“out/dcid/yyyymmdd/hh/filename”。
上述步骤301至步骤303可以单独实现成为一个索引生成方法。相应的数据查询方法如下:
步骤304,接收查询请求。
存储***在完成对数据文件的数据记录的索引建立后,可以接收用户发送的查询请求。
步骤305,提取查询请求中所携带的属性信息和索引字段值。
存储***在根据该查询请求提取索引信息前,需要提取查询请求中携带的属性信息和索引字段值,从而可以根据该属性信息和该索引字段值确定需要查找的索引文件。
该查询请求的属性信息可以包括:数据记录所对应的业务标识、数据记录所属的时间范围、数据记录中的索引字段名称、数据记录中的索引字段值的哈希值的取模值和数据记录所对应的数据文件的文件名中的至少一种信息。比如,当查询请求的属性信息可以为:业务标识“群聊监控”、日期信息“2014.11.11”、索引字段名称“用户昵称”、数据文件的文件名:“B”、索引字段值的哈希值的取模值“MOD1”。
步骤306,从层级索引目录中的至少一个索引文件中选择与属性信息对应的至少一个索引文件。
存储***根据提取到的属性信息,可以从层级索引目录中选择与属性信息对应的索引文件。
比如,当数据文件B中的数据记录C是“2014.11.1100:01:01\t小王\t旅游信息群\t331121\t”时,存储***根据该数据记录的年月日属性“2014.11.11”、小时分钟属性“00:01”、业务标识属性“群聊监控”,确定该数据记录对应的索引文件为“/index/群聊监控/2014.11.11/00:01/B”。
步骤307,根据索引字段值的哈希值在索引文件中提取索引信息。
存储***在确定索引文件后,再根据索引字段值的哈希值,从索引文件中提取索引信息,其中,索引信息的提取方法如下:
1)在一级索引中使用二分查找法查找,得到索引字段值的哈希值所对应的二级索引在索引文件中的偏移量。
2)根据二级索引在索引文件中的偏移量进行查询,得到索引信息。
存储***在确定的索引文件的一级索引中,使用二分查找法查找并确定索引字段值,进而确定与该索引字段值关联存储的索引字段值的哈希值所对应的二级索引在索引文件中的偏移量,根据该二级索引在索引文件中的偏移量查询到二级索引中的索引信息。
由于在索引文件的一级索引中,索引字段值的哈希值是按由大到小的顺序或由小到大的顺序排列,因此可以使用二分查找法快速确定索引字段值的哈希值。
步骤308,根据索引信息在数据文件中获取数据记录。
存储***提取到的索引信息包括了数据记录在数据文件中的偏移量,可以根据该数据记录在数据文件中的偏移量得到该数据记录在数据文件中的位置,从而获取该数据记录并返回给用户。
综上所述,本发明实施例提供的存储***,通过在索引生成时,获取数据文件,为每条数据记录生成对应的索引信息,对于数据文件中的每条数据记录,再根据数据记录的属性信息将对应的索引信息分类存储至层级索引目录中的一个索引文件中,其中,层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息;在数据查询时,接收查询请求,根据查询请求从层级索引目录中的至少一个索引文件中提取索引信息,再根据索引信息在数据文件中获取数据记录,解决了在存储有海量数据时,使用目前的索引文件进行查询时的查询速度较慢的问题,达到了即便存储有海量数据时,也能够通过按照不同属性信息分类存储的多个索引文件提供快速查询处理的效果。
另外,本实施例还通过将索引文件分为一级索引和二级索引,该一级索引存储各个数据记录中的索引字段值的哈希值,以及每个索引字段值的哈希值对应的二级索引在索引文件中的偏移量,该二级索引存储数据记录在数据文件中的偏移量,从而在确定索引文件后,可以根据索引字段值的哈希值,快速确定数据记录在数据文件的位置。
请参考图4,其示出了本发明各个实施例所涉及的一种实施环境的结构示意图,如图4所示,该实施环境包括数据上报端401、服务器集群402、索引生成端403、数据查询服务端404、数据查询客户端405和控制器406。
数据上报端401可以包括多个业务生产机(图中未示出),业务生产机用于在业务运行过程中产生数据记录,并上报数据记录。数据上报端401通过无线网络或有线网络与服务器集群402相连。
服务器集群402用于完成数据记录的存储和查询,以及发送数据记录对应存储的服务器IP地址信息,可以包括多个服务器,服务器集群402通过无线网络或有线网络与数据上报端401、索引生成端403和控制器406相连。作为一种可能的实施方式,服务器集群402中的每一台服务器包括有索引生成端403和数据查询服务端404。
索引生成端403用于完成数据记录的接收和索引信息的生成及存储。
数据查询服务端404用于接收查询请求和完成数据记录的查询。数据查询服务端404通过无线网络或有线网络与索引生成端403和数据查询客户端405相连。
数据查询客户端405用于发送查询请求和接收数据记录对应存储的服务器IP信息。数据查询客户端405通过无线网络或有线网络与控制器406相连。
控制器406用于存储和发送数据记录对应存储的服务器IP地址信息。
请参考图5,其示出了本发明一个实施例提供的数据查询方法的方法流程图,该数据查询方法应用于图4所示的存储***中,如图5所示,该方法包括:
步骤501,服务器集群获取数据文件,该数据文件包括有至少一条数据记录。
在运行业务的过程中,数据上报端会生成一条条的数据记录。数据上报端会将数据记录上报给服务器集群,由服务器集群接收数据上报端发送的数据记录。具体来讲:
数据记录由若干个字段构成。根据业务的不同,数据记录中包括的字段也不同。以业务是即时社交软件的群聊监控业务为例,某用户在聊天群中发布了一条聊天信息,则会生成一条数据记录,该数据记录包括:聊天群名称、上报时间、聊天内容、用户账号、用户昵称等字段。
其中,数据上报端可以将数据记录以文本形式存储于数据文件中,每条数据记录在数据文件中占据一行,数据记录中各个字段以分隔符号分隔,该分隔符号可以是‘\t’。
比如,当一条数据记录包括:时间字段、用户昵称字段、聊天群名称字段、用户账号字段时,一个数据文件中的一部分数据记录示意如下:
2014.11.1100:01:01\t小王\t旅游信息群\t331121\t
2014.11.1200:01:11\t小张\t天文信息群\t331432\t
2014.11.1300:01:21\t小红\t购物信息群\t331254\t
2014.11.1400:01:22\t小丽\t游戏交流群\t121121\t
为了保证查询的速度,每个数据文件的数据量可以保持在预定大小,比如,每个数据文件的数据记录总数不超过2万条;或每个数据文件的数据量不超过200MB等。即,数据上报端在检测到当前数据文件中的数据量达到预设阈值时,新建一个数据文件,并将接收到的数据记录存储在新建的数据文件中,并将当前数据文件发送给服务器集群。
服务器集群可以以负载均衡方式将数据文件存储至服务器集群中的某一服务器中。
在一种可能的实施方式中,服务器集群以如下文件存储结构将数据文件存储至服务器集群中的某一服务器中的in目录下:
in/dcid/yyyymmdd/hh/filename。
其中,dcid是业务标识,yyyymmdd是年月日,hh是小时,filename是文件名。
也即,数据文件可以根据属性信息的不同存储至不同的目录下,属性信息包括:数据文件对应的业务标识、数据文件对应的时间范围、数据文件对应的文件名。采用这种存储结构,可以提高数据文件的查找效率。
步骤502,服务器集群将数据文件的业务标识和存储该数据文件的服务器的IP地址发送至控制器。
比如,当数据文件A存储在服务器B,数据文件A的业务标识为“群聊监控”,则服务器集群将数据文件的业务标识“群聊监控”和服务器B的IP地址“111.111.1.111”关联发送至控制器。其中,每个数据文件的文件名唯一。
对应的,控制器关联存储数据文件的文件名和存储该数据文件的服务器的IP地址信息。
步骤503,索引生成端为每条数据记录生成对应的索引信息,该索引信息用于指示数据记录在数据文件中的存储位置。
服务器将数据文件存储至in目录后,该台服务器中的索引生成端可以检测in目录下是否有数据文件,若检测到存在数据文件,则建立该数据文件的层级索引目录,并为该数据文件中的每条数据记录生成对应的索引信息,该层级索引目录用于存储该数据文件中每条数据记录的索引信息,该索引信息用于指示数据记录在数据文件中的存储位置。
其中,索引生成端为每条记录生成对应的索引信息可以包括如下步骤:
第一,对于每条数据记录,索引生成端提取该条数据记录中需要建立索引的一个索引字段值和该条数据记录在数据文件中的偏移量。
第二,索引生成端根据索引字段值和数据记录在数据文件中的偏移量生成与数据记录对应的一条索引信息。
以数据记录A是“2014.11.1100:01:01\t小王\t旅游信息群\t331121\t”为例。该数据记录中包括如下字段:年月日、小时、分钟、秒、用户昵称、聊天群名称、用户账号。其中,当需要建立索引的字段为用户昵称时。此时,数据可以为该数据记录建立的索引信息为:
索引字段值“小王”、数据记录A在数据文件中的偏移量“第1234行”。
当需要建立索引的字段是其它字段时,其它索引信息的建立过程与上述方式类似,不再一一赘述。
步骤504,对于数据文件中的每条数据记录,索引生成端根据数据记录的属性信息将对应的索引信息分类存储至层级索引目录中的一个索引文件中。
在生成了数据文件对应的索引信息后,索引生成端可以根据数据记录的属性信息,将对应的索引信息分类存储至层级索引目录中的一个索引文件中。其中,该层级索引目录层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。
本步骤可以包括如下步骤:
第一、对于每条数据记录,提取数据记录的属性信息。
第二、在层级索引目录中的至少一个索引文件中确定与属性信息对应的一个索引文件。
第三、将数据记录对应的索引信息存入索引文件中。
在第一个步骤中,索引生成端在对每条数据记录生成对应的索引信息后,可以提取各条数据记录的属性信息。其中,属性信息可以包括:数据记录所对应的业务标识、数据记录所属的时间范围、数据记录中的索引字段名称、数据记录中的索引字段值的哈希值的取模值和数据记录所对应的数据文件的文件名中的至少一种信息。其中,时间范围通常包括日期信息和小时分钟信息。
比如,以数据文件B中的数据记录C是“2014.11.1100:01:01\t小王\t旅游信息群\t331121\t”为例,该数据记录的属性信息包括:日期信息“2014.11.11”、小时分钟信息“00:01”、索引字段名称“用户昵称”、数据文件的文件名“B”、索引字段值的哈希值的取模值“MOD1”。
其中,MOD1表示索引字段值“小王”的哈希值相对于预定值的取模值。该预定值可以是100,假设哈希值为1108,则取模值为8。
在第二个步骤中,索引生成端可以通过层级索引目录确定索引文件,该层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。
索引生成端可以根据数据记录的属性信息,在层级索引目录下划分若干子目录,在每个子目录下继续划分若干子目录,以此类推。
在一种可能的实施方式中,层级索引目录的索引目录结构可以是:
/index/dcid/yyyymmdd/hhmm/filename;或,
/index/dcid/yyyymmdd/hhmm/index_name/filename;或,
/index/dcid/index_name/yyyymmdd/hhmm/filename;或,
/index/dcid/yyyymmdd/hhmm/index_name/mod/filename。
其中index是层级索引目录的根目录,dcid是根据数据记录的业务标识属性划分的目录,yyyymmdd是根据数据记录的年月日属性划分的目录,hhmm是根据数据记录的小时分钟属性划分的目录,index_name是根据数据记录的索引字段名称属性划分的目录,mod是根据数据记录中的索引字段值的哈希值的取模值属性划分的目录,filename是与数据记录所在的数据文件对应的索引文件,该索引文件与目录中的各个属性相对应。
需要说明的是,本发明对按属性划分的各目录在层级索引目录的索引目录结构的先后顺序不做限定。
以层级索引目录的索引目录结构是“/index/dcid/yyyymmdd/hhmm/filename”为例,index是层级索引目录的根目录,dcid是index下的子目录,yyyymmdd是dcid下的子目录,hhmm是yyyymmdd下的子目录,索引文件则位于hhmm的目录下。当数据文件B中的数据记录C是“2014.11.1100:01:01\t小王\t旅游信息群\t331121\t”时,索引生成端根据该数据记录的年月日属性“2014.11.11”、小时分钟属性“00:01”、业务标识属性“群聊监控”,确定该数据记录对应的索引文件为“/index/群聊监控/2014.11.11/00:01/B”。
在第三个步骤中,索引生成端在确定与数据记录的属性信息对应的索引文件后,将数据记录对应的索引信息存入该索引文件中。
索引生成端可以将数据记录C的索引信息存入索引文件“/index/群聊监控/2014.11.11/00:01/B”中。
作为一种可能的实施方式,索引文件包括一级索引和二级索引,该一级索引用于存储各条数据记录中的索引字段值的哈希值,以及每个索引字段值的哈希值对应的二级索引在索引文件中的偏移量;该二级索引用于存储数据记录在数据文件中的偏移量。
图3B示出了一种索引文件的结构示意图,如图3B所示,索引文件结构由一级索引和二级索引两部分组成,其中一级索引记录了各个数据记录的索引字段值的哈希值key和二级索引在索引文件中的偏移量offset1,二级索引记录了数据记录在数据文件中的偏移量集合Index,其中Index记录了数据记录在数据文件中的各个偏移量offset2。此外,keycount表示索引文件中哈希值key的个数,len表示Index字段的数据长度。
索引生成端可以通过以下方式将数据记录对应的索引信息存入索引文件中:
1)将数据记录中的索引字段值的哈希值按照预定顺序写入索引文件的一级索引中,预定顺序包括:由大到小的顺序,或,由小到大的顺序;
2)将数据记录在数据文件中的偏移量写入索引文件的二级索引中;
3)将写入的二级索引在索引文件中的偏移量写入一级索引中,并与索引字段值的哈希值关联存储。
如图3C所示,
当索引信息A为:索引字段值“小王”、数据记录A在数据文件中的偏移量“第1234行”;
索引信息B为:索引字段值“小李”、数据记录B在数据文件中的偏移量“第1111行”;
索引信息C为:索引字段值“小丽”、数据记录C在数据文件中的偏移量“第1222行”“第1223行”。
假设“小王”的哈希值为1108、“小李”的哈希值为1110、“小丽”的哈希值为1120,则索引生成端可以将1108、1110、1120以由大到小或者由小到大的顺序写入索引文件的一级索引中。在本实施例中,索引生成端将各个哈希值按由小到大的顺序写入索引文件的一级索引中。
索引生成端再将数据记录A在数据文件中的偏移量“第1234行”、数据记录B在数据文件中的偏移量“第1111行”和数据记录C在数据文件中的偏移量“第1222行”与“第1223行”分别写入索引文件的二级索引中。
最后,索引生成端将写入的二级索引在索引文件的偏移量写入一级索引中,并与索引字段值的哈希值关联存储。即,将存储有数据记录A在数据文件中的偏移量“第1234行”的二级索引在索引文件中的偏移量“偏移量1”与哈希值1108关联存储在一级索引中,存储有数据记录B在数据文件中的偏移量“第1111行”的二级索引在索引文件中的偏移量“偏移量2”与哈希值1110关联存储在一级索引中、存储有数据记录C在数据文件中的偏移量“第1222行”和“第1223行”的二级索引在索引文件中的偏移量“偏移量3”与哈希值1120关联存储在一级索引中。其中,a为数据记录A的Index字段的数据长度,b为数据记录B的Index字段的数据长度,c为数据记录C的Index字段的数据长度。
为了防止重复对数据文件进行索引建立,在完成对数据文件的数据记录的索引建立后,索引生成端需要将该数据文件从in目录下转移至out目录下,其中,out目录的目录结构与在in目录的目录结构相同。
比如,当in目录的目录结构为:“in/dcid/yyyymmdd/hh/filename”,对应的out目录的目录结构为:“out/dcid/yyyymmdd/hh/filename”。
上述步骤501至步骤504可以单独实现成为一个索引生成方法。相应的数据查询方法如下:
步骤505,数据查询客户端接收查询请求。
在完成对数据文件的数据记录的索引建立后,数据查询客户端可以接收用户发送的查询请求。
步骤506,数据查询客户端根据查询请求中携带的数据文件的业务标识,从控制器获取该业务标识对应的服务器的IP地址列表。
不同数据文件的业务标识可能相同,而这些数据文件可能存储于不同的服务器中,因此,数据查询客户端根据查询请求中携带的数据文件的业务标识,可以从控制器获取该业务标识对应的服务器的IP地址列表。比如,具有相同业务标识“群聊监控”的数据文件分别存储在IP地址为“111.111.1.111”、IP地址为“111.111.2.111”,IP地址为“111.111.3.111”的服务器中,则数据查询客户端根据查询请求中携带的数据文件的业务标识“群聊监控”,从控制器获取的IP地址列表为:
111.111.1.111
111.111.2.111
111.111.3.111
步骤507,数据查询客户端向获取的IP地址列表中的每台服务器发送该查询请求。
步骤508,数据查询服务端提取查询请求中所携带的属性信息和索引字段值。
服务器接收到查询请求后,该台服务器中的数据查询服务端可以提取该查询请求中携带的属性信息和索引字段值,从而根据该属性信息和该索引字段值确定需要查找的索引文件。
该查询请求的属性信息可以包括:数据记录所对应的业务标识、数据记录所属的时间范围、数据记录中的索引字段名称、数据记录中的索引字段值的哈希值的取模值和数据记录所对应的数据文件的文件名中的至少一种信息。比如,当查询请求的属性信息可以为:业务标识“群聊监控”、日期信息“2014.11.11”、索引字段名称“用户昵称”、数据文件的文件名:“B”、索引字段值的哈希值的取模值“MOD1”。
步骤509,数据查询服务端从层级索引目录中的至少一个索引文件中选择与属性信息对应的至少一个索引文件。
数据查询服务端根据提取到的属性信息,可以从层级索引目录中选择与属性信息对应的索引文件。
比如,当数据文件B中的数据记录C是“2014.11.1100:01:01\t小王\t旅游信息群\t331121\t”时,数据查询服务器根据该数据记录的年月日属性“2014.11.11”、小时分钟属性“00:01”、业务标识属性“群聊监控”,确定该数据记录对应的索引文件为“/index/群聊监控/2014.11.11/00:01/B”。
步骤510,数据查询服务端根据索引字段值的哈希值在索引文件中提取索引信息。
数据查询服务端在确定索引文件后,再根据索引字段值的哈希值,从索引文件中提取索引信息,其中,索引信息的提取方法如下:
1)在一级索引中使用二分查找法查找,得到索引字段值的哈希值所对应的二级索引在索引文件中的偏移量。
2)根据二级索引在索引文件中的偏移量进行查询,得到索引信息。
数据查询服务端在确定的索引文件的一级索引中,使用二分查找法查找并确定索引字段值,进而确定与该索引字段值关联存储的索引字段值的哈希值所对应的二级索引在索引文件中的偏移量,根据该二级索引在索引文件中的偏移量查询到二级索引中的索引信息。
由于在索引文件的一级索引中,索引字段值的哈希值是按由大到小的顺序或由小到大的顺序排列,因此可以使用二分查找法快速确定索引字段值的哈希值。
步骤511,数据查询服务端根据索引信息在数据文件中获取数据记录。
数据查询服务端提取到的索引信息包括了数据记录在数据文件中的偏移量,可以根据该数据记录在数据文件中的偏移量得到该数据记录在数据文件中的位置,从而获取该数据记录并返回给用户。
综上所述,本发明实施例提供的数据查询方法,通过在索引生成时,获取数据文件,为每条数据记录生成对应的索引信息,对于数据文件中的每条数据记录,再根据数据记录的属性信息将对应的索引信息分类存储至层级索引目录中的一个索引文件中,其中,层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息;在数据查询时,接收查询请求,根据查询请求从层级索引目录中的至少一个索引文件中提取索引信息,再根据索引信息在数据文件中获取数据记录,解决了在存储有海量数据时,使用目前的索引文件进行查询时的查询速度较慢的问题;达到了即便存储有海量数据时,也能够通过按照不同属性信息分类存储的多个索引文件提供快速查询处理的效果。
另外,本发明通过在获取数据文件后,向控制器发送存储该数据文件的服务器的IP地址信息和对应于该数据文件的业务标识,使得在查询数据记录时,可以根据该机器地址IP信息快速确定存储该数据文件的服务器IP地址,从而达到迅速查询数据记录的效果。
参见图6,其示出了本发明一个实施例提供的索引生成装置的结构方框图,该索引生成装置可以应用于存储***中,该索引生成装置,包括:数据文件获取模块610、索引信息生成模块620、索引信息存储模块630。
该数据文件获取模块610,用于获取数据文件,该数据文件包括有至少一条数据记录;
该索引信息生成模块620,用于为该数据文件获取模块610中的每条数据记录生成对应的索引信息,该索引信息用于指示数据记录在数据文件中的存储位置;
该索引信息存储模块630,用于对于数据文件中的每条数据记录,根据数据记录的属性信息将对应的该索引信息生成模块620生成的索引信息分类存储至层级索引目录中的一个索引文件中,层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。
综上所述,本发明实施例提供的索引生成装置,通过在索引生成时,获取数据文件,为每条数据记录生成对应的索引信息,对于数据文件中的每一条数据记录,再根据数据记录的属性信息将对应的索引信息分类存储至层级索引目录中的一个索引文件中,其中,层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息;解决了在存储有海量数据时,使用目前的索引文件进行查询时的查询速度较慢的问题;达到了即便存储有海量数据时,也能够通过按照不同属性信息分类存储的多个索引文件提供快速查询处理的效果。
另外,实施例通过将索引文件分为一级索引和二级索引,一级索引存储各个数据记录中的索引字段值的哈希值,以及每个索引字段值的哈希值对应的二级索引在索引文件中的偏移量,二级索引存储数据记录在数据文件中的偏移量,从而在确定索引文件后,可以根据索引字段值的哈希值,确定数据记录在数据文件的位置,从而达到更快获取数据记录的效果。
参见图7,其示出了本发明一个实施例提供的索引生成装置的结构方框图,该索引生成装置可以应用于存储***中,该索引生成装置,包括:数据文件获取模块710、索引信息生成模块720、索引信息存储模块730。
该数据文件获取模块710,用于获取数据文件,该数据文件包括有至少一条数据记录;
该索引信息生成模块720,用于为该数据文件获取模块710中的每条数据记录生成对应的索引信息,该索引信息用于指示数据记录在数据文件中的存储位置;
该索引信息存储模块730,用于对于数据文件中的每条数据记录,根据数据记录的属性信息将对应的该索引信息生成模块720生成的索引信息分类存储至层级索引目录中的一个索引文件中,层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。
该属性信息包括:数据记录所对应的业务标识、数据记录所属的时间范围、数据记录中的索引字段名称、数据记录中的索引字段值的哈希值的取模值和数据记录所对应的数据文件的文件名中的至少一种信息。
可选的,该索引信息存储模块730,包括:属性信息提取单元731、索引文件确定单元732和索引信息存储单元733。
该属性信息提取单元731,用于对于每条数据记录,提取数据记录的属性信息;
该索引文件确定单元732,用于在层级索引目录中的至少一个索引文件中确定与该属性信息提取单元731提取的属性信息对应的一个索引文件;
该索引信息存储单元733,用于将数据记录对应的索引信息存入该索引文件确定单元732确定的索引文件中。
可选的,该索引文件包括一级索引和二级索引;
该一级索引用于存储各条数据记录中的索引字段值的哈希值,以及每个索引字段值的哈希值对应的二级索引在索引文件中的偏移量;
该二级索引用于存储数据记录在数据文件中的偏移量。
可选的,该索引信息存储单元733,包括:第一存储子单元733a、第二存储子单元733b和第三存储子单元733c。
该第一存储子单元733a,用于将数据记录中的索引字段值的哈希值按照预定顺序写入索引文件的一级索引中,预定顺序包括:由大到小的顺序,或,由小到大的顺序;
该第二存储子单元733b,用于将数据记录在数据文件中的偏移量写入索引文件的二级索引中;
该第三存储子单元733c,用于将写入的二级索引在索引文件中的偏移量写入一级索引中,并与索引字段值的哈希值关联存储。
综上所述,本发明实施例提供的索引生成装置,通过在索引生成时,获取数据文件,为每条数据记录生成对应的索引信息,对于数据文件中的每一条数据记录,再根据数据记录的属性信息将对应的索引信息分类存储至层级索引目录中的一个索引文件中,其中,层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息;解决了在存储有海量数据时,使用目前的索引文件进行查询时的查询速度较慢的问题;达到了即便存储有海量数据时,也能够通过按照不同属性信息分类存储的多个索引文件提供快速查询处理的效果。
另外,实施例通过将索引文件分为一级索引和二级索引,一级索引存储各个数据记录中的索引字段值的哈希值,以及每个索引字段值的哈希值对应的二级索引在索引文件中的偏移量,二级索引存储数据记录在数据文件中的偏移量,从而在确定索引文件后,可以根据索引字段值的哈希值,确定数据记录在数据文件的位置,从而达到更快获取数据记录的效果。
需要说明的是:上述实施例提供的索引生成装置在生成索引时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将索引生成装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的索引生成装置与索引生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图8,其示出了本发明一个实施例提供的数据查询装置的结构方框图,该数据查询装置可以应用于存储***中,该数据查询装置,包括:查询请求接收模块810、索引信息提取模块820和数据记录获取模块830。
该查询请求接收模块810,用于接收查询请求;
该索引信息提取模块820,用于根据该查询请求接收模块810接收的查询请求从层级索引目录中的至少一个索引文件中提取索引信息,层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息;
该数据记录获取模块830,用于根据该索引信息提取模块820提取的索引信息在数据文件中获取数据记录。
综上所述,本发明实施例提供的数据查询装置,通过在数据查询时,接收查询请求,根据查询请求从层级索引目录中的至少一个索引文件中提取索引信息,再根据索引信息在数据文件中获取数据记录,从分类存储在不同目录中的索引文件中提取索引信息;解决了在存储有海量数据时,使用目前的索引文件进行查询时的查询速度较慢的问题;达到了即便存储有海量数据时,也能够通过按照不同属性信息分类存储的多个索引文件提供快速查询处理的效果。
参见图9,其示出了本发明一个实施例提供的数据查询装置的结构方框图,该数据查询装置可以应用于存储***中,该数据查询装置,包括:查询请求接收模块910、索引信息提取模块920和数据记录获取模块930。
该查询请求接收模块910,用于接收查询请求;
该索引信息提取模块920,用于根据该查询请求接收模块910接收的查询请求从层级索引目录中的至少一个索引文件中提取索引信息,层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息;
该数据记录获取模块930,用于根据该索引信息提取模块920提取的索引信息在数据文件中获取数据记录。
该属性信息包括:数据记录所对应的业务标识、数据记录所属的时间范围、数据记录中的索引字段名称、数据记录中的索引字段值的哈希值的取模值和数据记录所对应的数据文件的文件名中的至少一种信息。
可选的,该索引信息提取模块930,包括:该查询信息提取单元931、索引文件确定单元932和索引信息提取单元933。
该查询信息提取单元931,用于提取查询请求中所携带的属性信息和索引字段值;
该索引文件确定单元932,用于从层级索引目录中的至少一个索引文件中选择与该查询信息提取单元931提取的属性信息对应的至少一个索引文件;
该索引信息提取单元933,用于根据索引字段值的哈希值在该索引文件确定单元932确定的索引文件中提取索引信息。
可选的,该索引文件包括一级索引和二级索引;
该一级索引用于存储各条数据记录中的索引字段值的哈希值,以及每个索引字段值的哈希值对应的二级索引在索引文件中的偏移量;
该二级索引用于存储数据记录在数据文件中的偏移量。
可选的,该索引信息提取单元933,包括:二级索引确定子单元933a和索引信息确定子单元933b。
该二级索引确定子单元933a,用于在一级索引中使用二分查找法查找,得到索引字段值的哈希值所对应的二级索引在索引文件中的偏移量;
该索引信息确定子单元933b,用于根据该二级索引确定子单元933a确定的二级索引在索引文件中的偏移量进行查询,得到索引信息。
综上所述,本发明实施例提供的数据查询装置,通过在数据查询时,接收查询请求,根据查询请求从层级索引目录中的至少一个索引文件中提取索引信息,再根据索引信息在数据文件中获取数据记录,从分类存储在不同目录中的索引文件中提取索引信息;解决了在存储有海量数据时,使用目前的索引文件进行查询时的查询速度较慢的问题;达到了即便存储有海量数据时,也能够通过按照不同属性信息分类存储的多个索引文件提供快速查询处理的效果。
另外,实施例通过将索引文件分为一级索引和二级索引,一级索引存储各个数据记录中的索引字段值的哈希值,以及每个索引字段值的哈希值对应的二级索引在索引文件中的偏移量,二级索引存储数据记录在数据文件中的偏移量,从而在确定索引文件后,可以根据索引字段值的哈希值,确定数据记录在数据文件的位置,从而达到更快获取数据记录的效果。
需要说明的是:上述实施例提供的数据查询装置在数据查询时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将数据查询装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据查询装置与数据查询方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图10,其示出了本发明一个实施例提供的数据处理端的结构示意图。所述数据处理端1000包括中央处理单元(CPU)1001、包括随机存取存储器(RAM)1002和只读存储器(ROM)1003的***存储器1004,以及连接***存储器1004和中央处理单元1001的***总线1005。所述数据处理端1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)1006,和用于存储操作***1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
所述基本输入/输出***1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中所述显示器1008和输入设备1009都通过连接到***总线1005的输入输出控制器1010连接到中央处理单元1001。所述基本输入/输出***1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1007通过连接到***总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为数据处理端1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的***存储器1004和大容量存储设备1007可以统称为存储器。
根据本发明的各种实施例,所述数据处理端1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即数据处理端1000可以通过连接在所述***总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机***(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的数据存储方法和/或数据查询方法的指令。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种索引生成方法,其特征在于,所述方法包括:
获取数据文件,所述数据文件包括有至少一条数据记录;
为每条所述数据记录生成对应的索引信息,所述索引信息用于指示所述数据记录在所述数据文件中的存储位置;
对于所述数据文件中的每条数据记录,根据所述数据记录的属性信息将对应的所述索引信息分类存储至层级索引目录中的一个索引文件中,所述层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。
2.根据权利要求1所述的方法,其特征在于,所述属性信息包括:
数据记录所对应的业务标识、数据记录所属的时间范围、数据记录中的索引字段名称、数据记录中的索引字段值的哈希值的取模值和数据记录所对应的数据文件的文件名中的至少一种信息。
3.根据权利要求1或2所述的方法,其特征在于,所述对于每条数据记录,根据所述数据记录的属性信息将对应的所述索引信息分类存储至层级索引目录中的一个索引文件中,包括:
对于每条数据记录,提取所述数据记录的属性信息;
在所述层级索引目录中的至少一个索引文件中确定与所述属性信息对应的一个索引文件;
将所述数据记录对应的索引信息存入所述索引文件中。
4.根据权利要求3所述的方法,其特征在于,所述索引文件包括一级索引和二级索引;
所述一级索引用于存储各条数据记录中的索引字段值的哈希值,以及每个所述索引字段值的哈希值对应的二级索引在所述索引文件中的偏移量;
所述二级索引用于存储所述数据记录在所述数据文件中的偏移量。
5.根据权利要求4所述的方法,其特征在于,所述将所述数据记录对应的索引信息存入所述索引文件,包括:
将所述数据记录中的索引字段值的哈希值按照预定顺序写入所述索引文件的一级索引中,所述预定顺序包括:由大到小的顺序,或,由小到大的顺序;
将所述数据记录在所述数据文件中的偏移量写入所述索引文件的二级索引中;
将写入的所述二级索引在所述索引文件中的偏移量写入所述一级索引中,并与所述索引字段值的哈希值关联存储。
6.一种数据查询方法,其特征在于,所述方法包括:
接收查询请求;
根据所述查询请求从层级索引目录中的至少一个索引文件中提取索引信息,所述层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息;
根据所述索引信息在数据文件中获取数据记录。
7.根据权利要求6所述的方法,其特征在于,所述属性信息包括:
数据记录所对应的业务标识、数据记录所属的时间范围、数据记录中的索引字段名称、数据记录中的索引字段值的哈希值的取模值和数据记录所对应的数据文件的文件名中的至少一种信息。
8.根据权利要求6或7所述的方法,其特征在于,所述根据所述查询请求从层级索引目录中的至少一个索引文件中提取索引信息,包括:
提取所述查询请求中所携带的属性信息和索引字段值;
从所述层级索引目录中的至少一个索引文件中选择与所述属性信息对应的至少一个索引文件;
根据所述索引字段值的哈希值在所述索引文件中提取索引信息。
9.根据权利要求8所述的方法,其特征在于,所述索引文件包括一级索引和二级索引;
所述一级索引用于存储各条数据记录中的索引字段值的哈希值,以及每个所述索引字段值的哈希值对应的二级索引在所述索引文件中的偏移量;
所述二级索引用于存储所述数据记录在所述数据文件中的偏移量。
10.根据权利要求9所述的方法,其特征在于,所述根据所述索引字段值的哈希值在所述索引文件中提取索引信息,包括:
在所述一级索引中使用二分查找法查找,得到所述索引字段值的哈希值所对应的二级索引在所述索引文件中的偏移量;
根据所述二级索引在所述索引文件中的偏移量进行查询,得到所述索引信息。
11.一种索引生成装置,其特征在于,所述装置包括:
数据文件获取模块,用于获取数据文件,所述数据文件包括有至少一条数据记录;
索引信息生成模块,用于为所述数据文件获取模块中的每条所述数据记录生成对应的索引信息,所述索引信息用于指示所述数据记录在所述数据文件中的存储位置;
索引信息存储模块,用于对于所述数据文件中的每一条数据记录,根据所述数据记录的属性信息将对应的所述索引信息生成模块生成的所述索引信息分类存储至层级索引目录中的一个索引文件中,所述层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息。
12.根据权利要求11所述的装置,其特征在于,所述属性信息包括:
数据记录所对应的业务标识、数据记录所属的时间范围、数据记录中的索引字段名称、数据记录中的索引字段值的哈希值的取模值和数据记录所对应的数据文件的文件名中的至少一种信息。
13.根据权利要求11或12所述的装置,其特征在于,所述索引信息存储模块,包括:
属性信息提取单元,用于对于每条数据记录,提取所述数据记录的属性信息;
索引文件确定单元,用于在所述层级索引目录中的至少一个索引文件中确定与所述属性信息提取单元提取的所述属性信息对应的一个索引文件;
索引信息存储单元,用于将所述数据记录对应的索引信息存入所述索引文件确定单元确定的所述索引文件中。
14.根据权利要求13所述的装置,其特征在于,所述索引文件包括一级索引和二级索引;
所述一级索引用于存储各条数据记录中的索引字段值的哈希值,以及每个所述索引字段值的哈希值对应的二级索引在所述索引文件中的偏移量;
所述二级索引用于存储所述数据记录在所述数据文件中的偏移量。
15.根据权利要求14所述的装置,其特征在于,所述索引信息存储单元,包括:
第一存储子单元,用于将所述数据记录中的索引字段值的哈希值按照预定顺序写入所述索引文件的一级索引中,所述预定顺序包括:由大到小的顺序,或,由小到大的顺序;
第二存储子单元,用于将所述数据记录在所述数据文件中的偏移量写入所述索引文件的二级索引中;
第三存储子单元,用于将写入的所述二级索引在所述索引文件中的偏移量写入所述一级索引中,并与所述索引字段值的哈希值关联存储。
16.一种数据查询装置,其特征在于,所述装置包括:
查询请求接收模块,用于接收查询请求;
索引信息提取模块,用于根据所述查询请求接收模块接收的所述查询请求从层级索引目录中的至少一个索引文件中提取索引信息,所述层级索引目录包括位于不同目录下的n个索引文件,n≥1,每个目录下的索引文件对应一组属性信息;
数据记录获取模块,用于根据所述索引信息提取模块提取的所述索引信息在数据文件中获取数据记录。
17.根据权利要求16所述的装置,其特征在于,所述属性信息包括:
数据记录所对应的业务标识、数据记录所属的时间范围、数据记录中的索引字段名称、数据记录中的索引字段值的哈希值的取模值和数据记录所对应的数据文件的文件名中的至少一种信息。
18.根据权利要求16或17所述的装置,其特征在于,所述索引信息提取模块,包括:
查询信息提取单元,用于提取所述查询请求中所携带的属性信息和索引字段值;
索引文件确定单元,用于从所述层级索引目录中的至少一个索引文件中选择与所述查询信息提取单元提取的所述属性信息对应的至少一个索引文件;
索引信息提取单元,用于根据所述索引字段值的哈希值在所述索引文件确定单元确定的所述索引文件中提取索引信息。
19.根据权利要求18所述的装置,其特征在于,所述索引文件包括一级索引和二级索引;
所述一级索引用于存储各条数据记录中的索引字段值的哈希值,以及每个所述索引字段值的哈希值对应的二级索引在所述索引文件中的偏移量;
所述二级索引用于存储所述数据记录在所述数据文件中的偏移量。
20.根据权利要求19所述的装置,其特征在于,所述索引信息提取单元,包括:
二级索引确定子单元,用于在所述一级索引中使用二分查找法查找,得到所述索引字段值的哈希值所对应的二级索引在所述索引文件中的偏移量;
索引信息确定子单元,用于根据所述二级索引确定子单元确定的所述二级索引在所述索引文件中的偏移量进行查询,得到所述索引信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410685565.8A CN105701096A (zh) | 2014-11-25 | 2014-11-25 | 索引生成方法、数据查询方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410685565.8A CN105701096A (zh) | 2014-11-25 | 2014-11-25 | 索引生成方法、数据查询方法、装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105701096A true CN105701096A (zh) | 2016-06-22 |
Family
ID=56940685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410685565.8A Pending CN105701096A (zh) | 2014-11-25 | 2014-11-25 | 索引生成方法、数据查询方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105701096A (zh) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528650A (zh) * | 2016-10-14 | 2017-03-22 | 努比亚技术有限公司 | 一种资源查询方法及终端 |
CN106709851A (zh) * | 2016-11-30 | 2017-05-24 | 中体彩科技发展有限公司 | 大数据检索方法及装置 |
CN106980680A (zh) * | 2017-03-30 | 2017-07-25 | 联想(北京)有限公司 | 数据存储方法及存储设备 |
CN107169075A (zh) * | 2017-05-10 | 2017-09-15 | 深圳大普微电子科技有限公司 | 基于特征分析的数据存取方法、存储设备及存储*** |
CN107644070A (zh) * | 2017-09-13 | 2018-01-30 | 北京柠檬微趣科技股份有限公司 | 数据索引方法、数据查询方法及电子设备 |
CN107704475A (zh) * | 2016-08-10 | 2018-02-16 | 泰康保险集团股份有限公司 | 多层分布式非结构化数据存储方法、查询方法及装置 |
CN107741968A (zh) * | 2017-10-09 | 2018-02-27 | 郑州云海信息技术有限公司 | 一种文件检索的方法、***、装置及计算机可读存储介质 |
CN107844483A (zh) * | 2016-09-18 | 2018-03-27 | 腾讯科技(深圳)有限公司 | 文件管理方法及装置 |
CN107844271A (zh) * | 2017-10-27 | 2018-03-27 | 郑州云海信息技术有限公司 | 一种分级存储的方法、装置及计算机可读存储介质 |
CN108470040A (zh) * | 2018-02-11 | 2018-08-31 | 中国石油天然气股份有限公司 | 一种非结构化数据的入库方法及装置 |
CN109241047A (zh) * | 2017-07-07 | 2019-01-18 | 深圳市辉宏技术有限公司 | 一种htm数据库的索引建立方法、装置及*** |
CN109471855A (zh) * | 2018-09-11 | 2019-03-15 | 中交广州航道局有限公司 | 船舶数据索引建立方法、加载方法、装置和计算机设备 |
CN109491706A (zh) * | 2018-11-23 | 2019-03-19 | 深圳市元征科技股份有限公司 | 一种数据获取方法及相关装置 |
CN109783455A (zh) * | 2018-12-20 | 2019-05-21 | 昂纳信息技术(深圳)有限公司 | 一种基于大规模数据的管理方法、***以及存储装置 |
CN110019019A (zh) * | 2019-03-21 | 2019-07-16 | 广东瑞恩科技有限公司 | 数据文件管理方法、装置、设备及计算机可读存储介质 |
CN110362578A (zh) * | 2019-07-12 | 2019-10-22 | 西南大学 | 一种计算机信息数据快速查询*** |
CN110709824A (zh) * | 2018-02-05 | 2020-01-17 | 华为技术有限公司 | 一种数据查询方法及装置 |
CN110737807A (zh) * | 2019-10-18 | 2020-01-31 | 深圳市华宝电子科技有限公司 | 一种数据存储方法、行车记录仪、服务器和存储介质 |
CN110765321A (zh) * | 2019-10-28 | 2020-02-07 | 北京明略软件***有限公司 | 一种数据存储路径的生成方法、生成装置及可读存储介质 |
CN110968555A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 维度数据处理方法和装置 |
CN111414335A (zh) * | 2020-03-20 | 2020-07-14 | 深圳市凯沃尔电子有限公司 | 一种数据文件查找方法和装置 |
CN111459883A (zh) * | 2020-03-31 | 2020-07-28 | 潍柴动力股份有限公司 | 数据的处理方法及装置 |
CN111506570A (zh) * | 2020-03-05 | 2020-08-07 | 百度在线网络技术(北京)有限公司 | 数据存储及查询方法、装置、电子设备及存储介质 |
CN111881332A (zh) * | 2020-06-17 | 2020-11-03 | 武汉光庭信息技术股份有限公司 | 一种自动驾驶仿真数据管理服务器及方法 |
CN112948386A (zh) * | 2021-03-04 | 2021-06-11 | 电信科学技术第五研究所有限公司 | 一种针对etl异常数据的简易索引及加密落盘机制 |
CN113157818A (zh) * | 2021-03-16 | 2021-07-23 | 北京戴纳实验科技有限公司 | 一种基于数据源的物品健康查询方法 |
CN113297138A (zh) * | 2019-06-11 | 2021-08-24 | 武汉深之度科技有限公司 | 索引建立方法、数据查询方法及计算设备 |
CN113360595A (zh) * | 2021-05-26 | 2021-09-07 | 招商华软信息有限公司 | 一种黑名单参数文件中的参数加载方法和装置 |
CN115576899A (zh) * | 2022-12-09 | 2023-01-06 | 深圳市木浪云科技有限公司 | 构建索引的方法和装置以及文件查找方法和装置 |
CN115905122A (zh) * | 2023-02-20 | 2023-04-04 | 成都九洲电子信息***股份有限公司 | 一种飞行航迹数据存储及检索***、方法及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193273A (zh) * | 2006-11-20 | 2008-06-04 | 中兴通讯股份有限公司 | 一种实时多媒体图像信息存储和播放方法 |
CN102902797A (zh) * | 2012-10-11 | 2013-01-30 | 福建亿同世纪软件有限公司 | 一种大数据量设备实时监测数据的存储及检索方法 |
CN103229173A (zh) * | 2012-12-26 | 2013-07-31 | 华为技术有限公司 | 元数据管理方法及*** |
CN103353901A (zh) * | 2013-08-01 | 2013-10-16 | 百度在线网络技术(北京)有限公司 | 基于Hadoop分布式文件***的表数据的有序管理方法以及*** |
CN103457836A (zh) * | 2013-08-18 | 2013-12-18 | 苏州量跃信息科技有限公司 | 即时通信文件夹的实现方法及客户端 |
CN103678638A (zh) * | 2013-12-20 | 2014-03-26 | 厦门雅迅网络股份有限公司 | 一种基于磁盘的对象缓存方法 |
CN103761297A (zh) * | 2014-01-21 | 2014-04-30 | 北京云视睿博传媒科技有限公司 | 一种按时间信息索引文件的方法及其检索方法 |
-
2014
- 2014-11-25 CN CN201410685565.8A patent/CN105701096A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193273A (zh) * | 2006-11-20 | 2008-06-04 | 中兴通讯股份有限公司 | 一种实时多媒体图像信息存储和播放方法 |
CN102902797A (zh) * | 2012-10-11 | 2013-01-30 | 福建亿同世纪软件有限公司 | 一种大数据量设备实时监测数据的存储及检索方法 |
CN103229173A (zh) * | 2012-12-26 | 2013-07-31 | 华为技术有限公司 | 元数据管理方法及*** |
CN103353901A (zh) * | 2013-08-01 | 2013-10-16 | 百度在线网络技术(北京)有限公司 | 基于Hadoop分布式文件***的表数据的有序管理方法以及*** |
CN103457836A (zh) * | 2013-08-18 | 2013-12-18 | 苏州量跃信息科技有限公司 | 即时通信文件夹的实现方法及客户端 |
CN103678638A (zh) * | 2013-12-20 | 2014-03-26 | 厦门雅迅网络股份有限公司 | 一种基于磁盘的对象缓存方法 |
CN103761297A (zh) * | 2014-01-21 | 2014-04-30 | 北京云视睿博传媒科技有限公司 | 一种按时间信息索引文件的方法及其检索方法 |
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704475A (zh) * | 2016-08-10 | 2018-02-16 | 泰康保险集团股份有限公司 | 多层分布式非结构化数据存储方法、查询方法及装置 |
CN107844483A (zh) * | 2016-09-18 | 2018-03-27 | 腾讯科技(深圳)有限公司 | 文件管理方法及装置 |
CN107844483B (zh) * | 2016-09-18 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 文件管理方法及装置 |
CN106528650A (zh) * | 2016-10-14 | 2017-03-22 | 努比亚技术有限公司 | 一种资源查询方法及终端 |
CN106528650B (zh) * | 2016-10-14 | 2019-06-21 | 努比亚技术有限公司 | 一种资源查询方法及终端 |
CN106709851A (zh) * | 2016-11-30 | 2017-05-24 | 中体彩科技发展有限公司 | 大数据检索方法及装置 |
CN106980680A (zh) * | 2017-03-30 | 2017-07-25 | 联想(北京)有限公司 | 数据存储方法及存储设备 |
CN106980680B (zh) * | 2017-03-30 | 2020-11-20 | 联想(北京)有限公司 | 数据存储方法及存储设备 |
CN107169075A (zh) * | 2017-05-10 | 2017-09-15 | 深圳大普微电子科技有限公司 | 基于特征分析的数据存取方法、存储设备及存储*** |
CN109241047A (zh) * | 2017-07-07 | 2019-01-18 | 深圳市辉宏技术有限公司 | 一种htm数据库的索引建立方法、装置及*** |
CN107644070B (zh) * | 2017-09-13 | 2020-09-15 | 北京柠檬微趣科技股份有限公司 | 数据索引方法、数据查询方法及电子设备 |
CN107644070A (zh) * | 2017-09-13 | 2018-01-30 | 北京柠檬微趣科技股份有限公司 | 数据索引方法、数据查询方法及电子设备 |
CN107741968A (zh) * | 2017-10-09 | 2018-02-27 | 郑州云海信息技术有限公司 | 一种文件检索的方法、***、装置及计算机可读存储介质 |
CN107741968B (zh) * | 2017-10-09 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种文件检索的方法、***、装置及计算机可读存储介质 |
CN107844271A (zh) * | 2017-10-27 | 2018-03-27 | 郑州云海信息技术有限公司 | 一种分级存储的方法、装置及计算机可读存储介质 |
CN110709824B (zh) * | 2018-02-05 | 2022-01-14 | 华为技术有限公司 | 一种数据查询方法及装置 |
US11507533B2 (en) | 2018-02-05 | 2022-11-22 | Huawei Technologies Co., Ltd. | Data query method and apparatus |
CN110709824A (zh) * | 2018-02-05 | 2020-01-17 | 华为技术有限公司 | 一种数据查询方法及装置 |
CN108470040A (zh) * | 2018-02-11 | 2018-08-31 | 中国石油天然气股份有限公司 | 一种非结构化数据的入库方法及装置 |
CN109471855B (zh) * | 2018-09-11 | 2021-07-06 | 中交广州航道局有限公司 | 船舶数据索引建立方法、加载方法、装置和计算机设备 |
CN109471855A (zh) * | 2018-09-11 | 2019-03-15 | 中交广州航道局有限公司 | 船舶数据索引建立方法、加载方法、装置和计算机设备 |
CN110968555A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 维度数据处理方法和装置 |
CN109491706A (zh) * | 2018-11-23 | 2019-03-19 | 深圳市元征科技股份有限公司 | 一种数据获取方法及相关装置 |
CN109783455A (zh) * | 2018-12-20 | 2019-05-21 | 昂纳信息技术(深圳)有限公司 | 一种基于大规模数据的管理方法、***以及存储装置 |
CN109783455B (zh) * | 2018-12-20 | 2024-03-12 | 昂纳科技(深圳)集团股份有限公司 | 一种基于大规模数据的管理方法、***以及存储装置 |
CN110019019A (zh) * | 2019-03-21 | 2019-07-16 | 广东瑞恩科技有限公司 | 数据文件管理方法、装置、设备及计算机可读存储介质 |
CN110019019B (zh) * | 2019-03-21 | 2023-08-22 | 广东瑞恩科技有限公司 | 数据文件管理方法、装置、设备及计算机可读存储介质 |
CN113297138A (zh) * | 2019-06-11 | 2021-08-24 | 武汉深之度科技有限公司 | 索引建立方法、数据查询方法及计算设备 |
CN110362578A (zh) * | 2019-07-12 | 2019-10-22 | 西南大学 | 一种计算机信息数据快速查询*** |
CN110737807A (zh) * | 2019-10-18 | 2020-01-31 | 深圳市华宝电子科技有限公司 | 一种数据存储方法、行车记录仪、服务器和存储介质 |
CN110765321A (zh) * | 2019-10-28 | 2020-02-07 | 北京明略软件***有限公司 | 一种数据存储路径的生成方法、生成装置及可读存储介质 |
CN111506570A (zh) * | 2020-03-05 | 2020-08-07 | 百度在线网络技术(北京)有限公司 | 数据存储及查询方法、装置、电子设备及存储介质 |
CN111414335A (zh) * | 2020-03-20 | 2020-07-14 | 深圳市凯沃尔电子有限公司 | 一种数据文件查找方法和装置 |
CN111459883B (zh) * | 2020-03-31 | 2023-08-18 | 潍柴动力股份有限公司 | 数据的处理方法及装置 |
CN111459883A (zh) * | 2020-03-31 | 2020-07-28 | 潍柴动力股份有限公司 | 数据的处理方法及装置 |
CN111881332A (zh) * | 2020-06-17 | 2020-11-03 | 武汉光庭信息技术股份有限公司 | 一种自动驾驶仿真数据管理服务器及方法 |
CN112948386A (zh) * | 2021-03-04 | 2021-06-11 | 电信科学技术第五研究所有限公司 | 一种针对etl异常数据的简易索引及加密落盘机制 |
CN112948386B (zh) * | 2021-03-04 | 2023-09-22 | 电信科学技术第五研究所有限公司 | 一种针对etl异常数据的简易索引及加密落盘机制 |
CN113157818A (zh) * | 2021-03-16 | 2021-07-23 | 北京戴纳实验科技有限公司 | 一种基于数据源的物品健康查询方法 |
CN113157818B (zh) * | 2021-03-16 | 2024-04-26 | 北京戴纳实验科技有限公司 | 一种基于数据源的物品健康查询方法 |
CN113360595A (zh) * | 2021-05-26 | 2021-09-07 | 招商华软信息有限公司 | 一种黑名单参数文件中的参数加载方法和装置 |
CN115576899A (zh) * | 2022-12-09 | 2023-01-06 | 深圳市木浪云科技有限公司 | 构建索引的方法和装置以及文件查找方法和装置 |
CN115905122A (zh) * | 2023-02-20 | 2023-04-04 | 成都九洲电子信息***股份有限公司 | 一种飞行航迹数据存储及检索***、方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105701096A (zh) | 索引生成方法、数据查询方法、装置及*** | |
CN102932415B (zh) | 一种镜像文件存储方法及装置 | |
CN104537076A (zh) | 一种文件读写方法及装置 | |
CN109766707B (zh) | 基于区块链的数据处理方法、装置、设备和介质 | |
CN103703467A (zh) | 存储数据的方法和装置 | |
CN107770229B (zh) | 云端文件分享方法、***和云服务器 | |
CN105446980B (zh) | 一种鉴别图片垃圾文件的方法及装置 | |
CN103095758B (zh) | 一种分布式文件***及该***中处理文件数据的方法 | |
CN104572727A (zh) | 一种数据查询方法及装置 | |
WO2018233630A1 (zh) | 故障发现 | |
CN104469392A (zh) | 一种视频文件存储方法及装置 | |
CN108093026B (zh) | 多租户请求的处理方法及装置 | |
CN107766430B (zh) | 一种文件搜索方法及*** | |
CN103699618A (zh) | 数据报表的生成方法和*** | |
CN105072196A (zh) | 分布式数据包存储、回溯方法及*** | |
CN108206788B (zh) | 一种流量的业务识别方法及相关设备 | |
CN110020086A (zh) | 一种用户画像查询方法及装置 | |
CN106528688B (zh) | 一种针对Twitter的分析取证方法 | |
CN103823807A (zh) | 一种去除重复数据的方法、装置及*** | |
CN104636368B (zh) | 数据检索方法、装置及服务器 | |
CN104348848A (zh) | 管理图片的方法、终端设备和服务器 | |
CN106789597A (zh) | 即时通讯消息转发方法及装置、显示方法及装置 | |
CN109947759A (zh) | 一种数据索引建立方法、索引检索方法及装置 | |
US10025859B2 (en) | Method and system for second-degree friend query | |
CN106528830A (zh) | 一种恢复文件索引目录的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160622 |
|
RJ01 | Rejection of invention patent application after publication |