一种基于定位符与逻辑查询条件的数据查询方法与流程

文档序号:11286420阅读:173来源:国知局
一种基于定位符与逻辑查询条件的数据查询方法与流程
本发明涉及一种基于定位符与逻辑查询条件的数据查询方法,属于数据仓库、大数据分析、在线分析处理
技术领域

背景技术
:随着信息化的不断发展,越来越多地企业在在生产信息化过程中积累了大量的结构化数据,以运营商数据为例,随着越来越多的省份用户规模均接近上亿规模,每天将产生数十亿的信令数据与计费数据;数据量的飞速增长,将对数据仓库的处理规模、处理速度、处理机制提出了更高的要求。面对大数据的分析挖掘往往需要多次反复迭代才能完成,计算的每一步都会生成相应的结果集合;许多时候,结果集合的大小甚至超出了原始数据集合的大小,这对存储、运算速率提出了很高的要求,因此,需要一种快速、经济、简单的方法来记录中间结果,用以实现更加高效的数据查询方式。技术实现要素:本发明所要解决的技术问题是提供一种采用全新设计,具有高效、经济、简单优点的基于定位符与逻辑查询条件的数据查询方法。本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于定位符与逻辑查询条件的数据查询方法,首先获得所有原始数据中各条记录所对应的查询条件,分别作为各条记录的定位符;然后针对原始数据,根据目标查询语句进行数据查询,其中,针对各级查询中间结果进行如下步骤,直至获得查询目标结果;步骤001.分别获得查询中间结果中各条记录所对应的定位符,并进入步骤002;步骤002.将原始数据和该查询中间结果中各条记录所对应的定位符进行打包,构成该查询中间结果所对应的虚拟视图,然后进入步骤003;步骤003.判断该查询中间结果是否为查询目标结果,是则针对该查询中间结果所对应的虚拟视图,根据其中的定位符,通过查询语句由其中的原始数据中获得各条查询目标记录,作为查询目标结果,数据查询结束;否则进入步骤004;步骤004.针对该查询中间结果所对应的虚拟视图,根据其中的定位符,通过查询语句由其中的原始数据中获得该查询中间结果中的各条记录,并进入步骤005;步骤005.针对该查询中间结果中的各条记录进一步进行查询,获得下一级查询中间结果,并返回步骤001。作为本发明的一种优选技术方案:所述步骤001中,分别获得查询中间结果中各条记录所对应的定位符的同时,针对该查询中间结果,设定各个指定属性作为该查询中间结果的指定查询属性,然后进入步骤002;所述步骤002中,将原始数据、该查询中间结果中各条记录所对应的定位符,以及该查询中间结果的指定查询属性进行打包,构成该查询中间结果所对应的虚拟视图,然后进入步骤003;步骤003.判断该查询中间结果是否为查询目标结果,是则针对该查询中间结果所对应的虚拟视图,根据其中的定位符和指定查询属性,通过查询语句由其中的原始数据中获得各条查询目标记录的各个指定属性,作为查询目标结果,数据查询结束;否则进入步骤004;步骤004.针对该查询中间结果所对应的虚拟视图,根据其中的定位符和指定查询属性,通过查询语句由其中的原始数据中获得该查询中间结果中的各条记录,并进入步骤005;步骤005.针对该查询中间结果中的各条记录进一步进行查询,获得下一级查询中间结果,并返回步骤001。作为本发明的一种优选技术方案:所述步骤001中还包括如下执行:针对该查询中间结果,设定中间结果表,并设定该中间结果表的最大记录数为m,然后判断该查询中间结果中的记录数是否大于m,是则从该中间结果中随机获取m条记录存储于该中间结果表中;否则将该中间结果中的各条记录存储于该中间结果表。作为本发明的一种优选技术方案:所述目标查询语句和查询语句为sql查询语句。本发明所述一种基于定位符与逻辑查询条件的数据查询方法采用以上技术方案与现有技术相比,具有以下技术效果:(1)本发明所设计基于定位符与逻辑查询条件的数据查询方法,针对数据查询过程中迭代的查询中间结果,进行全新的数据结构设计,利用地址定位与查询语句之间的联系,有效降低了查询中间结果所需的存储空间,在保证迭代查询中间结果完整性的同时,保证了数据查询的工作效率;(2)本发明所设计基于定位符与逻辑查询条件的数据查询方法中,针对查询中间结果,设定各个指定属性作为该查询中间结果的指定查询属性,引入指定查询属性,不仅有效降低了数据存储的空间,而且能够帮助用户快速定位需要浏览的记录,除此之外,基于定位符设计的基础之上,指定查询属性的引入可大大降低存储开销以及访问时的i/o开销;(3)本发明所设计基于定位符与逻辑查询条件的数据查询方法中,针对查询中间结果,进一步设计设定中间结果表,能够支持分析人员按需浏览中间结果,有效提高了查询中间结果的访问速度。附图说明图1是本发明设计基于定位符与逻辑查询条件的数据查询方法的流程示意图;图2是本发明设计基于定位符与逻辑查询条件的数据查询方法中虚拟视图的结构示意图。具体实施方式下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。如图1所示,本发明所设计的一种基于定位符(locator)与逻辑查询条件的数据查询方法,首先获得所有原始数据中各条记录所对应的查询条件,分别作为各条记录的定位符(locator);然后针对原始数据,根据目标查询语句进行数据查询,其中,针对各级查询中间结果进行如下步骤,直至获得查询目标结果;步骤001.分别获得查询中间结果中各条记录所对应的定位符(locator),并进入步骤002;步骤002.将原始数据和该查询中间结果中各条记录所对应的定位符(locator)进行打包,构成该查询中间结果所对应的虚拟视图,然后进入步骤003;步骤003.判断该查询中间结果是否为查询目标结果,是则针对该查询中间结果所对应的虚拟视图,根据其中的定位符(locator),通过查询语句由其中的原始数据中获得各条查询目标记录,作为查询目标结果,数据查询结束;否则进入步骤004;步骤004.针对该查询中间结果所对应的虚拟视图,根据其中的定位符(locator),通过查询语句由其中的原始数据中获得该查询中间结果中的各条记录,并进入步骤005;步骤005.针对该查询中间结果中的各条记录进一步进行查询,获得下一级查询中间结果,并返回步骤001。上述技术方案所设计基于定位符(locator)与逻辑查询条件的数据查询方法,针对数据查询过程中迭代的查询中间结果,进行全新的数据结构设计,利用地址定位与查询语句之间的联系,有效降低了查询中间结果所需的存储空间,在保证迭代查询中间结果完整性的同时,保证了数据查询的工作效率。基于上述设计基于定位符(locator)与逻辑查询条件的数据查询方法技术方案的基础之上,本发明还进一步设计了如下优选技术方案:针对查询中间结果,设定各个指定属性作为该查询中间结果的指定查询属性,引入指定查询属性,不仅有效降低了数据存储的空间,而且能够帮助用户快速定位需要浏览的记录,除此之外,基于定位符(locator)设计的基础之上,指定查询属性的引入可大大降低存储开销以及访问时的i/o开销;而且针对查询中间结果,进一步设计设定中间结果表,能够支持分析人员按需浏览中间结果,有效提高了查询中间结果的访问速度。如图1所示,本发明所设计一种基于定位符(locator)与逻辑查询条件的数据查询方法在实际应用过程当中,首先获得所有原始数据中各条记录所对应的查询条件,分别作为各条记录的定位符(locator);然后针对原始数据,根据目标sql查询语句进行数据查询,其中,针对各级查询中间结果进行如下步骤,直至获得查询目标结果;步骤001.分别获得查询中间结果中各条记录所对应的定位符(locator),以及针对该查询中间结果,设定各个指定属性作为该查询中间结果的指定查询属性,同时,针对该查询中间结果,设定中间结果表,并设定该中间结果表的最大记录数为m,然后判断该查询中间结果中的记录数是否大于m,是则从该中间结果中随机获取m条记录存储于该中间结果表中;否则将该中间结果中的各条记录存储于该中间结果表,然后进入步骤002;步骤002.将原始数据、该查询中间结果中各条记录所对应的定位符(locator),以及该查询中间结果的指定查询属性进行打包,构成该查询中间结果所对应的虚拟视图,如图2所示,然后进入步骤003;步骤003.判断该查询中间结果是否为查询目标结果,是则针对该查询中间结果所对应的虚拟视图,根据其中的定位符(locator)和指定查询属性,通过sql查询语句由其中的原始数据中获得各条查询目标记录的各个指定属性,作为查询目标结果,数据查询结束;否则进入步骤004;步骤004.针对该查询中间结果所对应的虚拟视图,根据其中的定位符(locator)和指定查询属性,通过sql查询语句由其中的原始数据中获得该查询中间结果中的各条记录,并进入步骤005;步骤005.针对该查询中间结果中的各条记录进一步进行查询,获得下一级查询中间结果,并返回步骤001。将上述设计基于定位符(locator)与逻辑查询条件的数据查询方法的技术方案,应用于实际运营商的数据当中,其中原始数据中的移动信令数据如下表1所示,即移动信令表tbl:locator时间号码对端号码对端归属地通话时长表1假设原始数据中记录超过100亿,需要经过两次迭代查询:迭代1:选取通话时长位于10分钟到15分钟,并且发生时间为2015年10月1日12:00至13:00之间的记录。迭代2:在上述结果的基础上,查找对端归属地为北京,且本端号码归属地为南京的号码;(号码的前七位可以决定号码的归属,设belong为计算号码归属地函数)对于迭代1,生成t1的sql语句为:insertintot1asselectlocatorfromtblwhere“通话时长”>600and“通话时长”<=900and“时间”between(time(“20151001120000”),time(“20151001130000”))当需要查看迭代t1的结果时,可使用如下sql语句:selectprojfromtblwherelocatorin(selectlocatorfromt1)对于迭代2,生成t2的sql语句为:当需要查看迭代t2的结果时,可使用如下sql语句:selectprojfromtblwherelocatorin(selectlocatorfromt2)针对上述两次迭代过程中的各级查询中间结果,引入本发明所设计基于定位符(locator)与逻辑查询条件的数据查询方法,实现数据查询,有效提高了查询中间结果所需的存储空间,在保证迭代查询中间结果完整性的同时,保证了数据查询的工作效率。上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1