一种基于时间特征支持复杂条件的大数据检索方法
【专利说明】一种基于时间特征支持复杂条件的大数据检索方法技术背景
[0001]本发明涉及一种基于时间特征支持复杂条件的大数据检索方法。
【背景技术】
[0002]
[0003]在大数据的环境下,根据用户提供的条件快速和准确的检索到用户关心和感兴趣的信息,是大数据应用的基础和重要的组成部分。目前,大数据的检索主要存在两个不足:首先,在大数据环境下,为了提供最佳的查询性能,一般都采用软硬一体的大数据一体机,这样项目的成本显著提升;其次,在数据量递增和集群扩展后,检索的性能降低的趋势明显。
【发明内容】
[0004]本发明的目的在于提供一种基于时间特征的支持复杂条件的大数据检索方法,可以满足用户各种不同情况下多条件组合以及复杂条件的检索需求,并且能够保证在数据和集群不断递增情况下,依然能够保持良好的性能。
[0005]本发明一种基于时间特征的支持复杂条件的大数据检索方法,具体包括如下步骤:
[0006]步骤1、数据的存储:
[0007](I)将业务数据完整地保存至分布式数据库HBase中;
[0008](2)根据该业务数据在全文检索引擎Solr中创建对应的索引:
[0009]在全文检索引擎Solr中创建索引时,根据业务数据的时间特征判断所要保存的集群ColIect1n是否已经存在,如果不存在则先创建集群Collect1n,集群Collect1n的命名按照制定的时间规则,然后保存Solr索引,如果已经存在,则直接保存Solr索引;
[0010]步骤2、数据的查询:
[0011](I)查询全文检索引擎Solr获取分布式数据库HBase的Rowkey值:
[0012]根据用户提供的多字段或者复杂的查询条件,判断查询条件中是否包含时间特征,如果存在,获取需要查询的集群Collect1n信息,即先确定具体需要查询哪几个时间分段索引,从中检索符合用户需求的Rowkey值集合;如果不存在,则利用组合索引,根据具体业务情况检索时间区间内的索引,甚至全部索引,以获取符合条件的Rowkey值集合;
[0013](2)在获取到Rowkey值集合后,根据Rowkey值在分布式数据库HBase中查询,获取完整的业务数据,并将其作为结果集返回给用户。
[0014]目前,在大数据应用中,其数据信息都保存有时间特征,即时间戳。本发明按照数据保存时产生的时间戳或者根据用户自定义的时间特征,将数据信息按照时间特性进行切分,在全文检索引擎Solr上以不同的集群Collect1n建立索引,在用户已经知晓所查询的信息产生的时间的情况下,可以快速的定位到当月的集群Collect1n的索引库中进行检索,可以大大缩小了检索的范围,提升了效率;在用户无法确定信息产生的时间的情况下,将符合用户查询的结果按信息产生的时间的倒叙进行排列,作为用户默认的排序方式,并把排完序后的信息提供给用户参考和选择。本发明不仅弥补了分布式数据库HBase没有二级索引的劣势,而且使得索引的创建更加灵活,满足不同需求情况下的检索,并且检索的效率能够得到保证。在大数据应用中,不仅能够满足用户各种情况下的多条件和复杂条件的检索需求,而且能够保持高效性,避免在数据量和集群扩展后出现性能急剧下降的情况。
【附图说明】
[0015]图1为本发明中数据入库和创建索引的流程图;
[0016]图2为本发明中数据查询的流程图。
[0017]以下结合附图和实施例对本发明作进一步详述。
【具体实施方式】
[0018]目前,在大数据应用中,其数据信息都保存有时间特征,即时间戳。本发明按照数据保存时产生的时间戳或者根据用户自定义的时间特征,将数据信息按照时间特性进行切分,在全文检索引擎Solr上以不同的集群Collect1n建立索引,例如可以按照年月,在用户已经知晓所查询的信息产生的时间的情况下,可以快速的定位到当月的集群Collect1n的索引库中进行检索,可以大大缩小检索的范围,提升了效率;在用户无法确定信息产生的时间的情况下,将符合用户查询的结果按信息产生的时间进行倒叙排列,作为用户默认的排序方式,并把排完序后的信息提供给用户参考和选择。本发明不仅弥补了分布式数据库HBase没有二级索引的劣势,而且使得索引的创建更加灵活,满足不同需求情况下的检索,并且检索的效率能够得到保证。
[0019]本发明一种基于时间特征的支持复杂条件的大数据检索方法,具体包括如下步骤:
[0020]步骤1、如图1所示,数据的存储:
[0021](I)将业务数据完整地保存至分布式数据库HBase中;
[0022](2)根据该业务数据在全文检索引擎Solr中创建对应的索引:
[0023]在全文检索引擎Solr中创建索引时,根据业务数据的时间特征判断所要保存的集群ColIect1n是否已经存在,如果不存在则先创建集群Collect1n,集群Collect1n的命名按照制定的时间规则,然后保存Solr索引,如果已经存在,则直接保存Solr索引;
[0024]所述的时间规则按照时间特征对数据实现分段索引,具体内容如下所示:
[0025](I)指定时间特征值的参照标准,即标准时间,本发明以Java里通用的1970年I月I日作为参照时间;
[0026](2)设置时间特征的间隔单位,根据具体的业务系统实际产生的数据量多少的情况,制定划分数据的时间单位,当产生的数据量特别巨大时,可以以较短的时间周期为一个时间单位,例如天、周等;当产生数据量不是很大时,采用较长的时间周期为一个时间单位,例如月、年;
[0027](3)可以是数据主题名称与和标准时间相差的时间单位的个数为后缀,例如:topic_123 等
[0028](4)按照时间特征的组合索引:
[0029]根据具体业务对数据的使用频度和使用的状况,按照当前的时间特征的分段单位进行各种不同的组合,以满足各种不同的需求,例如:最近一个月,三个月,半年等;或者按照前一步骤组合好的特征时间段,分别建立不同的别名,方便进行查询使用。采用这种索引组合的形式,灵活的适应了各种不同时间段的业务需求。
[0030]步骤2、如图2所示,数据的查询:
[0031](I)查询全文检索引擎Solr获取分布式数据库HBase的Rowkey值:
[0032]根据用户提供的多字段或者复杂的查询条件,判断查询条件中是否包含时间特征,如果存在,则根据制定的时间规则,获取需要查询的集群Collect1n信息,即先确定具体需要查询哪几个时间分段索引,从中检索符合用户需求的Rowkey值集合;如果不存在,则充分利用组合索引,根据具体业务情况检索最近三个月、最近一年、最近三年、甚至全部索引等,获取符合条件的Rowkey集合,这里采用基于时间特征的查询大大缩小了数据检索的范围,提高了查询的性能;
[0033](2)在获取到Rowkey值集合后,根据Rowkey值在分布式数据库HBase中查询,便可快速的获取到完整的业务数据,将其作为结果集返回给用户。
[0034]以上所述,仅是本发明较佳实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【主权项】
1.一种基于时间特征的支持复杂条件的大数据检索方法,其特征在于包括如下步骤: 步骤1、数据的存储: (1)将业务数据完整地保存至分布式数据库HBase中; (2)根据该业务数据在全文检索引擎Solr中创建对应的索引: 在全文检索引擎Solr中创建索引时,根据业务数据的时间特征判断所要保存的集群Collect1n是否已经存在,如果不存在则先创建集群Collect1n,集群Collect1n的命名按照制定的时间规则,然后保存Solr索引,如果已经存在,则直接保存Solr索引; 步骤2、数据的查询: (1)查询全文检索引擎Solr获取分布式数据库HBase的Rowkey值: 根据用户提供的多字段或者复杂的查询条件,判断查询条件中是否包含时间特征,如果存在,获取需要查询的集群Collect1n信息,即先确定具体需要查询哪几个时间分段索引,从中检索符合用户需求的Rowkey值集合;如果不存在,则利用组合索引,根据具体业务情况检索时间区间内的索引,甚至全部索引,以获取符合条件的Rowkey值集合; (2)在获取到Rowkey值集合后,根据Rowkey值在分布式数据库HBase中查询,获取完整的业务数据,并将其作为结果集返回给用户。
【专利摘要】本发明一种基于时间特征的支持复杂条件的大数据检索方法,按照数据保存时产生的时间戳或者根据用户自定义的时间特征,将数据信息按照时间特性进行切分,在全文检索引擎Solr上以不同的集群Collection建立索引,在用户已经知晓所查询信息产生的时间的情况下,可以快速的定位到当月的集群Collection的索引库中进行检索,可以大大缩小检索的范围,提升了效率;在用户无法确定信息产生的时间的情况下,将符合用户查询的结果提供给用户参考和选择;本发明不仅弥补了分布式数据库HBase没有二级索引的劣势,而且使得索引的创建更加灵活,满足不同需求情况下的检索,并且检索的效率能够得到保证。
【IPC分类】G06F17/30
【公开号】CN105095458
【申请号】CN201510454526
【发明人】陈光淙, 周华, 游建友
【申请人】南威软件股份有限公司
【公开日】2015年11月25日
【申请日】2015年7月29日