CN111666295B - 数据提取方法、终端设备及计算机可读存储介质 - Google Patents
数据提取方法、终端设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111666295B CN111666295B CN201910164845.7A CN201910164845A CN111666295B CN 111666295 B CN111666295 B CN 111666295B CN 201910164845 A CN201910164845 A CN 201910164845A CN 111666295 B CN111666295 B CN 111666295B
- Authority
- CN
- China
- Prior art keywords
- cursor
- target
- data
- instruction
- ordered
- 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.)
- Active
Links
- 238000013075 data extraction Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000000605 extraction Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 113
- 230000002776 aggregation Effects 0.000 claims description 83
- 238000004220 aggregation Methods 0.000 claims description 83
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 abstract description 12
- 238000004364 calculation method Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 7
- 238000013480 data collection Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2445—Data retrieval commands; View definitions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于数据提取技术领域,提供了一种数据提取方法、终端设备及计算机可读存储介质。其中,一种数据提取方法通过在检测到从数据集合中提取目标数据的目标指令,且数据集合的游标组为有序游标组时,基于目标指令中包含的引用关键字,从有序游标组中确定目标游标,再基于目标指令与目标游标,从数据集合中提取目标游标对应的目标数据,为序列数据的移动提取或移动处理提供了基础,无需考虑数据中查询规则或者结构化查询逻辑的局限性,提高了数据提取的效率。
Description
技术领域
本发明属于数据提取技术领域,尤其涉及一种数据提取方法、终端设备及计算机可读存储介质。
背景技术
随着科技发展,越来越多的领域在产品研发或者市场扩展时,都需要借助大数据的采集、处理和分析等,同时还需要构建相应的数据库,便于对数据进行存储和提取。结构化查询语言(Structured Query Language,SQL)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理数据库。SQL作为最重要的关系数据库操作语言,其影响已经超出数据库领域,在其他领域也被重视和使用,例如,人工智能领域的数据检索,需要嵌入SQL的语言等。
现有的数据库都是采用SQL语言进行数据处理,但在采用SQL语言对具有序关系的数据进行相对偏移数据的提取或者移动计算处理时,SQL语言存在明显的结构化局限性,例如,若需要从具有时间列的有序游标组数据集合中查询当前游标中时间列的上一时间对应的数据,则需要从所有数据中查询时间点小于当前游标的时间列的目标数据集合,再从该目标数据集合用时间列排序找到时间列最大值的游标对应的数据。可见,现有的数据提取方案无法对具有一定序列性的数据进行灵活调动,也即无法快速且直观地提取相关的数据,而导致数据提取的效率较低。
发明内容
有鉴于此,本发明实施例提供了一种数据提取方法、终端设备及计算机可读存储介质,可以提高数据提取的效率。
本发明实施例的第一方面提供了一种数据提取方法,包括:
若检测到从数据集合中提取目标数据的目标指令,且所述数据集合中的游标组为有序游标组时,基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标;
基于所述目标指令与所述目标游标,从所述数据集合中提取所述目标数据。
本发明实施例的第二方面提供了一种数据提取装置,包括:
确定单元,用于若检测到从数据集合中提取目标数据的目标指令,且所述数据集合中的游标组为有序游标组时,基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标;
提取单元,用于基于所述目标指令与所述目标游标,从所述数据集合中提取所述目标数据。
本发明实施例的第三方面提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机程序被处理器执行时实现上述第一方案所述方法的步骤。
本发明实施例通过在检测到从数据集合中提取目标数据的目标指令,且数据集合的游标组为有序游标组时,基于目标指令中包含的引用关键字,从有序游标组中确定目标游标,再基于目标指令与目标游标,从数据集合中提取目标游标对应的目标数据,为序列数据的移动提取或移动处理提供了基础,无需考虑数据中查询规则或者结构化查询逻辑的局限性,提高了数据提取的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据提取方法的实现流程示意图;
图2是本发明另一实施例提供的一种数据提取方法的实现流程示意图;
图3是本发明另一实施例提供的一种数据提取方法中步骤S12的一种实现流程示意图;
图4是本发明实施例提供的一种数据提取装置的结构示意图;
图5是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
参见图1,是本发明实施例提供一种数据提取方法的实现流程图,本实施例中数据提取方法的执行主体可以为存储数据集合的客户端或者服务器,由于数据集合的存储可以是在数据库中,或者其他形式的存储空间中,故针对数据集合的具体存储方式,本实施例中不再赘述。
如图1所示数据提取方法可包括:
S11:若检测到从数据集合中提取目标数据的目标指令,且所述数据集合中的游标组为有序游标组时,基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标。
在步骤S11中,数据集合中的数据与游标组中的游标一一对应。有序游标组可以是按照预先设置的存储规则进行数据存储得到,也可以是通过设定固定的排列规则得到。
在本实施例中,目标指令具体可以是采用SQL语言编写的数据查询指令,其中包含用于进行数据提取的引用关键字。
在实际应用中,当需要从数据集合中提取目标数据,且数据集合的游标组为有序游标组时,可以通过确定目标数据的目标游标,在根据目标游标查找到相应的数据完成数据提取,可以提高数据提取的效率,同时可以避免提取的数据量过多而占用较多的运行资源。
S12:基于所述目标指令与所述目标游标,从所述数据集合中提取所述目标数据。
在步骤S12中,由于数据集合中的数据与游标组中的游标一一对应,也即数据集合中的数据都对应有一个游标,根据目标游标中的游标,与数据集合中每组数据的游标进行匹配查找,进而可以从数据集合中提取游标与目标游标相同的目标数据。
可以理解的是,由于目标数据可以通过目标游标中的游标进行查找提取,因此在对数据进行序列移动提取或移动计算时,可以通过剔除或新增存在差异的目标游标,重新确定目标数据的提取范围。
例如,对1月1日至1月5日的数据进行提取时,第一组目标游标可以为A、B、C、D以及E。当需要对1月2日至1月6日的数据进行提取时,第二组目标游标可以为B、C、D、E以及F,第一组目标游标与第二组目标游标之间的区别在于目标游标A和F。故从有序游标组中确定目标游标,能够实现数据的移动提取或移动处理。
本发明实施例通过在检测到从数据集合中提取目标数据的目标指令,且数据集合的游标组为有序游标组时,基于目标指令中包含的引用关键字,从有序游标组中确定目标游标,再基于目标指令与目标游标,从数据集合中提取目标游标对应的目标数据,为序列数据的移动提取或移动处理提供了基础,无需考虑数据中查询规则或者结构化查询逻辑的局限性,提高了数据提取的效率。
参见图2,图2是本发明另一实施例提供的数据提取方法的示意流程图。本实施例与上一实施例之间的区别之处在步骤S11之前还包括步骤S10。具体地:
S10:向预设的结构化查询语言SQL规则文件中,配置用于定义引用关键字的移动规范文件,得到新的SQL规则文件;所述新的SQL规则文件用于描述且响应从数据集合中提取目标数据的目标指令。
在步骤S10中,SQL规则文件用于定义查询语句的使用规范。引用关键字的移动规范文件为用于描述引用关键字的提取规则的协议文件。
在本实施例中,新的SQL规则文件中定义了从数据集合中提取目标数据的预设指令,当检测到用于从数据集合中提取目标数据的预设指令时,通过响应该预设指令,进而获取所述数据集合的游标组。
需要说明的是,在本实施例中通过配置用于定义引用关键字的移动规范文件至SQL规则文件中,得到新的SQL规则文件,由于新的聚集函数规则文件用于描述且响应从数据集合中提取目标数据的目标指令,当检测到用于从数据集合中提取目标数据的目标指令时,可以通过响应该目标指令,进行对目标数据的提取。
在本申请的所有实施例中,新的SQL规则文件中配置有定义引用关键字的移动规范文件,该引用关键字的移动规范文件为用于描述引用关键字的提取规则的协议文件。
由于新的SQL规则文件用于描述且响应从数据集合中提取目标数据的目标指令,因此在需要从数据集合中提取目标数据时,通过响应包含有引用关键字目标指令,可以实现从数据集合中提取目标数据的操作。
进一步,在本实施例中,数据集合中的游标组均为有序游标组。可以理解的是,在本申请的所有实施例中,由于数据集合中的数据与游标组中的游标一一对应,因此当游标组为有序游标组时,可以通过从有序游标组中确定出目标游标,进而根据目标游标提取与其对应的目标数据。
作为本实施例一种具体实现的方式,步骤S12具体可以包括:根据所述目标指令中包含的引用关键字,确定所述目标游标相对当前游标的位置信息,并所述位置信息从所述有序游标组中确定出目标游标。
需要说明的是,由于现有的SQL规则文件中并未配置有用于定义引用关键字的移动规范文件,因此在对序列数据集合进行提取或处理时,无法基于序列数据集合的序列性,进行目标数据引用或者移动引用。以一周内的商品价格是一组序列数据集合为例,假设在周五这天,想要获取当前天(N)和前一天(N-1)的商品价格,也即周五和周四的商品价格,需要对序列数据集合进行遍历查询和分别存储才能实现数据的分别查找。具体是通过查找当前最大天数(N=5)也即周五对应的商品价格,同时查找比当前最大天数小1天(N-1=4)也即周四对应的商品价格。由于该数据查询过程是依次遍历游标组,提取每个游标组对应数据,因此需要对遍历到的游标组的数据进行存储,从而造成数据冗余的现象。
为了解决现有技术中数据冗余的现象,通过配置用于定义引用关键字的移动规范文件至SQL规则文件中,得到新的SQL规则文件,由于新的聚集函数规则文件用于描述且响应从数据集合中提取目标数据的目标指令,目标指令中包含有引用关键字,基于该应用关键字定义的目标游标相对当前游标的位置信息,可以从有序游标组中确定出目标游标,进而提取到目标数据,无需对数据集合中的数据进行依次遍历和存储,提高了对序列数据进行提取和处理的灵活度,同时有效地提高了数据处理的效率。
以引用关键字是Ref为例,Ref(Exp,N)中表达式N为目标游标相对当前游标的位置信息,Exp用于定义目标数据的内容。
例如,访问某商品的数据集合,前三天该商品的价格,可以采用语句“SelectPrice,Ref(Price,3)from PriceTable”,其中,Ref(Price,3)中的N为目标游标相对当前游标的位置信息,表示引用前三天的游标,Exp为Price,也即目标数据内容为价格,实现了SQL语句具备了以时间为序列的数据相对引用的功能。
作为本实施例另一种具体实现的方式,目标指令中包含的引用关键字,用于限定聚集函数的数据样本数量。
进一步,步骤S12具体可以包括:若所述目标指令为基于聚集函数提取目标数据的指令,则根据所述数据样本数量创建移动窗口,并基于所述移动窗口从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
需要说明的是,聚集函数是以值是一个集合为输入且返回单个值的函数,在SQL中聚集函数可以为:平均值avg、总和sum或者计数count等。
现有技术中,可以采用聚集函数从数据集合中提取或者计算出相应的数据。以求取平均值为例,从某商品的数据集合中求取成交价格的平均数,可以采用语句“Selectaverage(price)from pricetable”,也即是针对pricetable整个数据集合中的所有交价格的数据进行平均数计算。但是在实际应用中,在需要对数据集合中的部分数据进行平均数计算时,无法基于聚集函数实现。
为了实现在聚集函数中调用数据集合中的部分数据进行计算,允许在聚集函数中增加用于限定数据样本数量的引用关键字。以在访问某商品的数据集合中动态求取近20天内价格数据的平均数为例,可以采用语句“Select average(price,20),frompricetable”,其中,“20”为聚集函数的数据样本数量。
作为本实施例再一种具体实现的方式,目标指令中包含的引用关键字,用于限定聚集函数的数据样本条件。
进一步,步骤S12具体可以包括:若所述目标指令为基于聚集函数提取目标数据的指令,则根据数据样本条件从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
现有技术中,可以采用聚集函数从数据集合中提取或者计算出相应的数据。以求取平均值为例,从某商品的数据集合中求取成交价格大于100的价格数据的平均数,也即成交价格大于大于100的所有价格数据的平均值,虽然可以采用语句“Select average(price)from pricetable where vol>100”,但是在实际应用中,在执行上述聚集函数时,需要对数据集合中的所有数据进行轮询比较才能得到聚集函数的数据样本,因此会产生较多的冗余数据。
为了消除聚集函数运算过程中产生的冗余数据,允许在聚集函数中限定聚集函数的数据样本条件。以在计算成交价格大于100的价格数据的平均数为例,可以采用语句“Select average(price,vol>100),from pricetable”,其中,“vol>100”为限定聚集函数的数据样本条件。
在实际应用中,由于本领域计数人员知晓聚集函数可以根据求值需求自行定义或者添加,因此聚集函数还可以是上述固有的聚集函数以外的其他聚集函数,在其他聚集函数中也可以使用引用关键字实现在聚集函数中限定作为目标游标的条件信息,故此处不再赘述。
图3示出了步骤S12的还一种具体实现方式,目标指令中包含的引用关键字,用于限定聚集函数的数据样本条件和数据样本数量。
如图3所示,步骤S12具体可以包括:
S121:若所述目标指令为基于聚集函数提取目标数据的指令,则根据数据样本条件从所述有序游标组中确定出待筛选游标组。
S122:根据所述数据样本数量创建移动窗口,并基于所述移动窗口从所述待筛选游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
在本实施例中,引用关键字限定了聚集函数的数据样本条件和数量,其中,数据样本条件用于从数据集合中,区分出可以作为聚集函数的数据样本的数据。待筛选游标组为数据集合中符合数据样本条件的数据,所对应的游标集合。
需要说明的是,目标指令中包含的引用关键字还限定了聚集函数的数据样本的数量,通过根据数据样本数量可以创建移动窗口,该移动窗口用于标识目标游标的范围,也即用于从待筛选游标组中确定出目标游标。
现有技术中,可以采用聚集函数从数据集合中提取或者计算出相应的数据。以求取平均值为例,从某商品的数据集合中求取成交价格大于100的价格数据的平均数,也即成交价格大于大于100的所有价格数据的平均值,可以采用语句“Select average(price)from pricetable where vol>100”。但是在实际应用中,在执行上述聚集函数时,需要对数据集合中的所有数据进行轮询比较才能得到聚集函数的数据样本,因此会产生较多的冗余数据。另外,当数据集合中的数据是随着时间移动而不断增加,使得数据集合中存在无需考虑的干扰数据,例如,成交价格太低不易参考,或者历史太过久远的成交数据无参考价值时,采用简单的聚集函数则无法清除冗余数据或者干扰数据。
为了简化目标数据的提取步骤,允许在聚集函数中限定聚集函数的数据样本条件和数量。以在访问某商品的数据集合中动态求取近20天内,成交价格大于100的价格数据的平均数为例,可以采用语句“Select average(price,vol>100,20)from pricetable”,其中,“vol>100”为聚集函数中限定聚集函数的数据样本条件,“20”为聚集函数中限定聚集函数的数据样本数量。
上述规则可以解决在移动聚集统计指定样本数内限定条件的满足游标组,在实际应用中,还存在另外一种移动条件聚集的需求,即为从当前游标处往前进行条件判别,得到满足条件的指定数量的样本数作为目标游标组。具体可以通过在引用关键字中增加参数来实现,例如Select average(price,vol>100,20,true)from pricetable满足从当前游标处往前进行条件判别。
在具体实现的时候,我们也可以通过其他配置选项,配置关键字来实现。例如采用Select selectopt(1)average(price,vol>100,20)from pricetable支持从当前游标处往前进行条件判别模式,Select selectopt(0)average(price,vol>100,20)frompricetable支持从当前游标处往后进行条件判别。
在实际应用中,由于本领域计数人员知晓聚集函数可以根据求值需求自行定义或者添加,因此聚集函数还可以是上述固有的聚集函数以外的其他聚集函数,在其他聚集函数中也可以使用引用关键字实现在聚集函数中限定作为目标游标的条件信息,故此处不再赘述。
进一步,作为本实施例又一种可能实现的方式,目标指令中包含的引用关键字,用于指向与统计函数对应的统计数据的游标;步骤S12可以包括:
若所述目标指令为基于统计函数提取目标数据的指令,则根据所述统计函数确定所述统计数据;基于所述统计数据从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
需要说明的是,在本实施例中,统计函数可以为聚集函数,且用于从数据集合中确定出某一具有特殊含义数据的函数,也即统计函数对应的统计数据为数据集合中的数据。
在本实施例中,统计数据对应的游标即为目标游标,也即基于统计数据从有序游标组中确定出目标游标,就是将统计数据对应的游标识别为目标游标。
现有技术中,可以采用统计函数从数据集合中提取或者计算出相应的数据。以统计函数为计算最大值Max为例,从一个班中所有同学分数的数据集合中求取分数最大值,可以采用语句“Select Max(Score)from scoretable”。但是在实际应用中,当确定了数据集合中的某个目标数据之后,若还需要获取该目标数据的关联数据,无法基于本次计算结果得到,例如,若需要确定分数最大值对应同学学号或者姓名时,无法基于本次确定出的分数最大值直接获取。
为了提高统计函数计算结果的利用率,允许指向统计函数的计算结果作为数据样本,也即允许将统计函数的计算结果作为游标定位的参考,确定目标游标。以从一个班的所有同学分数的数据集合中求取分数最大值,以及最大值对应的同学学号为例,可以采用语句“Select Max(Score),refMax(ID)from scoretable”,其中,“refMax(ID)”为引用关键字,指向的统计函数Max(Score)的计算结果。
进一步,作为本实施例一种可能实现的方式,步骤S13可以包括:根据所述目标游标确定目标数据组,并根据所述目标指令中定义的目标数据维度信息,从所述目标数据组中提取目标数据。
在所有实施例中,数据集合中包括数据组,每个数据组中包括至少一个维度信息,以学生成绩为例,一个班级的所有学生成绩为数据集合,在该数据集合中,每个学生的成绩与学生姓名、学好等信息组成一个数据组,其维度信息可以为:科目、性别等。目标指令中定义的目标数据维度信息用于从数据组中确定出具体的目标数据。
以上可以看出,本发明实施例通过配置用于定义引用关键字的移动规范文件至结构化查询语言SQL规则文件中,得到新的SQL规则文件,由于新的聚集函数规则文件用于描述且响应从数据集合中提取目标数据的目标指令,使得在检测到目标指令,且数据集合的游标组为有序游标组时,能够基于目标指令中包含的引用关键字,从有序游标组中确定目标游标,进而从数据集合中提取目标游标对应的目标数据,为序列数据的移动提取或移动处理提供了基础,无需考虑数据中查询规则或者结构化查询逻辑的局限性,提高了数据提取的效率。
参见图3,图3是本发明实施例提供的一种数据提取装置的示意性框图。本实施例的一种数据提取装置30包括的各单元用于执行图2对应的实施例中的各步骤,具体请参阅图2对应的实施例中的相关描述,此处不赘述。本实施例的一种数据提取装置30包括:确定单元301和提取单元302。具体地:
确定单元301,用于若检测到从数据集合中提取目标数据的目标指令,且所述数据集合中的游标组为有序游标组时,基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标。
提取单元302,用于基于所述目标指令与所述目标游标,从所述数据集合中提取所述目标数据。
进一步,作为本实施例一种可能实现的方式,数据提取装置30还包括:配置单元300,用于向预设的结构化查询语言SQL规则文件中,配置用于定义引用关键字的移动规范文件,得到新的SQL规则文件;所述新的SQL规则文件用于描述且响应从数据集合中提取目标数据的目标指令。
进一步,作为本实施例一种可能实现的方式,确定单元301具体用于,根据所述目标指令中包含的引用关键字,确定所述目标游标相对当前游标的位置信息,并所述位置信息从所述有序游标组中确定出目标游标。
进一步,作为本实施例一种可能实现的方式,所述目标指令中包含的引用关键字,用于限定聚集函数的数据样本数量;确定单元301具体用于,若所述目标指令为基于聚集函数提取目标数据的指令,则根据所述数据样本数量创建移动窗口,并基于所述移动窗口从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
进一步,作为本实施例一种可能实现的方式,所述目标指令中包含的引用关键字,用于限定聚集函数的数据样本条件;确定单元301具体还用于,若所述目标指令为基于聚集函数提取目标数据的指令,则根据数据样本条件从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
进一步,作为本实施例一种可能实现的方式,所述目标指令中包含的引用关键字,用于限定聚集函数的数据样本条件和数据样本数量;确定单元301具体还用于,若所述目标指令为基于聚集函数提取目标数据的指令,则根据数据样本条件从所述有序游标组中确定出待筛选游标组;根据所述数据样本数量创建移动窗口,并基于所述移动窗口从所述待筛选游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
进一步,作为本实施例一种可能实现的方式,所述目标指令中包含的引用关键字,用于指向与统计函数对应的统计数据的游标;确定单元301具体还用于,若所述目标指令为基于统计函数提取目标数据的指令,则根据所述统计函数确定所述统计数据;基于所述统计数据从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
进一步,作为本实施例一种可能实现的方式,提取单元302具体还用于,根据所述目标游标确定目标数据组,并根据所述目标指令中定义的目标数据维度信息,从所述目标数据组中提取目标数据。
参见图4,是本发明另一实施例提供的一种终端设备示意框图。如图所示的本实施例中的终端设备400可以包括:一个或多个处理器401;一个或多个输入设备402,一个或多个输出设备403和存储器404。上述处理器401、输入设备402、输出设备403和存储器404通过总线405连接。存储器404用于存储,计算机程序包括指令,处理器401通过提取存储器404存储的计算机程序执行如下操作:
处理器401用于:若检测到从数据集合中提取目标数据的目标指令,且所述数据集合中的游标组为有序游标组时,基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标。
处理器401用于:基于所述目标指令与所述目标游标,从所述数据集合中提取所述目标数据。
作为本实施例一种可能实现的方式,处理器401还用于:向预设的结构化查询语言SQL规则文件中,配置用于定义引用关键字的移动规范文件,得到新的SQL规则文件;所述新的SQL规则文件用于描述且响应从数据集合中提取目标数据的目标指令。
作为本实施例一种可能实现的方式,处理器401具体用于:根据所述目标指令中包含的引用关键字,确定所述目标游标相对当前游标的位置信息,并所述位置信息从所述有序游标组中确定出目标游标。
作为本实施例一种可能实现的方式,所述目标指令中包含的引用关键字,用于限定聚集函数的数据样本数量;处理器401具体用于:
若所述目标指令为基于聚集函数提取目标数据的指令,则根据所述数据样本数量创建移动窗口,并基于所述移动窗口从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
作为本实施例一种可能实现的方式,所述目标指令中包含的引用关键字,用于限定聚集函数的数据样本条件;处理器401具体用于:若所述目标指令为基于聚集函数提取目标数据的指令,则根据数据样本条件从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
作为本实施例一种可能实现的方式,所述目标指令中包含的引用关键字,用于限定聚集函数的数据样本条件和数据样本数量;处理器401具体用于:若所述目标指令为基于聚集函数提取目标数据的指令,则根据数据样本条件从所述有序游标组中确定出待筛选游标组;根据所述数据样本数量创建移动窗口,并基于所述移动窗口从所述待筛选游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
作为本实施例一种可能实现的方式,所述目标指令中包含的引用关键字,用于指向与统计函数对应的统计数据的游标;处理器401具体用于:若所述目标指令为基于统计函数提取目标数据的指令,则根据所述统计函数确定所述统计数据;基于所述统计数据从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
作为本实施例一种可能实现的方式,处理器401具体用于:根据所述目标游标确定目标数据组,并根据所述目标指令中定义的目标数据维度信息,从所述目标数据组中提取目标数据。
应当理解,在本发明实施例中,所称处理器501可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备402可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备403可以包括显示器(LCD等)、扬声器等。
该存储器404可以包括只读存储器和随机存取存储器,并向处理器401提供指令和数据。存储器404的一部分还可以包括非易失性随机存取存储器。例如,存储器404还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器401、输入设备402、输出设备403可执行本发明实施例提供的一种数据提取方法的实施例中所描述的实现方式,也可执行本发明实施例所描述的设备的实现方式,在此不再赘述。
在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现:
若检测到从数据集合中提取目标数据的目标指令,且所述数据集合中的游标组为有序游标组时,基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标;
基于所述目标指令与所述目标游标,从所述数据集合中提取所述目标数据。
作为本实施例一种可能实现的方式,所述计算机程序被处理器执行时还实现:
向预设的结构化查询语言SQL规则文件中,配置用于定义引用关键字的移动规范文件,得到新的SQL规则文件;所述新的SQL规则文件用于描述且响应从数据集合中提取目标数据的目标指令。
作为本实施例一种可能实现的方式,所述计算机程序被处理器执行时还实现:
根据所述目标指令中包含的引用关键字,确定所述目标游标相对当前游标的位置信息,并所述位置信息从所述有序游标组中确定出目标游标。
作为本实施例一种可能实现的方式,所述目标指令中包含的引用关键字,用于限定聚集函数的数据样本数量;所述计算机程序被处理器执行时还实现:
若所述目标指令为基于聚集函数提取目标数据的指令,则根据所述数据样本数量创建移动窗口,并基于所述移动窗口从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
作为本实施例一种可能实现的方式,所述目标指令中包含的引用关键字,用于限定聚集函数的数据样本条件;所述计算机程序被处理器执行时还实现:
若所述目标指令为基于聚集函数提取目标数据的指令,则根据数据样本条件从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
作为本实施例一种可能实现的方式,所述目标指令中包含的引用关键字,用于限定聚集函数的数据样本条件和数据样本数量;所述计算机程序被处理器执行时还实现:
若所述目标指令为基于聚集函数提取目标数据的指令,则根据数据样本条件从所述有序游标组中确定出待筛选游标组;根据所述数据样本数量创建移动窗口,并基于所述移动窗口从所述待筛选游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
作为本实施例一种可能实现的方式,所述目标指令中包含的引用关键字,用于指向与统计函数对应的统计数据的游标;所述计算机程序被处理器执行时还实现:
若所述目标指令为基于统计函数提取目标数据的指令,则根据所述统计函数确定所述统计数据;基于所述统计数据从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
作为本实施例一种可能实现的方式,所述计算机程序被处理器执行时还实现:
根据所述目标游标确定目标数据组,并根据所述目标指令中定义的目标数据维度信息,从所述目标数据组中提取目标数据。
以上可以看出,本发明实施例通过在检测到从数据集合中提取目标数据的目标指令,且数据集合的游标组为有序游标组时,基于目标指令中包含的引用关键字,从有序游标组中确定目标游标,再基于目标指令与目标游标,从数据集合中提取目标游标对应的目标数据,为序列数据的移动提取或移动处理提供了基础,无需考虑数据中查询规则或者结构化查询逻辑的局限性,提高了数据提取的效率。
所述计算机可读存储介质可以是前述任一实施例所述的设备的内部存储单元,例如计算机的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种数据提取方法,其特征在于,包括:
向预设的结构化查询语言SQL规则文件中,配置用于定义引用关键字的移动规范文件,得到新的SQL规则文件;所述新的SQL规则文件用于描述且响应从数据集合中提取目标数据的目标指令,所述引用关键字的移动规范文件为用于描述引用关键字的提取规则的协议文件;
若检测到从数据集合中提取目标数据的目标指令,且所述数据集合中的游标组为有序游标组时,基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标,其中,所述数据集合中的数据与所述游标组中的游标一一对应,所述引用关键字用于指示所述目标游标相对当前游标的位置信息、或者用于限定聚集函数的数据样本数量、或者用于限定所述聚集函数的数据样本条件、或者用于限定所述聚集函数的所述数据样本数量和所述数据样本条件、或者用于指向与统计函数对应的统计数据的游标;
基于所述目标指令与所述目标游标,从所述数据集合中提取所述目标数据;
所述目标指令中包含的所述引用关键字,用于限定所述聚集函数的所述数据样本条件和所述数据样本数量;
所述基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标,包括:
若所述目标指令为基于所述聚集函数提取目标数据的指令,则根据所述数据样本条件从所述有序游标组中确定出待筛选游标组;
根据所述数据样本数量创建移动窗口,并基于所述移动窗口从所述待筛选游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组;
或者,
所述目标指令中包含的所述引用关键字,用于指向与所述统计函数对应的所述统计数据的游标;
所述基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标,包括:
若所述目标指令为基于所述统计函数提取目标数据的指令,则根据所述统计函数确定所述统计数据;
基于所述统计数据从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
2.如权利要求1所述的数据提取方法,所述基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标,包括:
根据所述目标指令中包含的引用关键字,确定所述目标游标相对所述当前游标的所述位置信息,并所述位置信息从所述有序游标组中确定出目标游标。
3.如权利要求1所述的数据提取方法,其特征在于,所述目标指令中包含的所述引用关键字,用于限定所述聚集函数的所述数据样本数量;
所述基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标,包括:
若所述目标指令为基于所述聚集函数提取目标数据的指令,则根据所述数据样本数量创建移动窗口,并基于所述移动窗口从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
4.如权利要求1所述的数据提取方法,其特征在于,所述目标指令中包含的所述引用关键字,用于限定所述聚集函数的所述数据样本条件;
所述基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标,包括:
若所述目标指令为基于所述聚集函数提取目标数据的指令,则根据所述数据样本条件从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
5.一种数据提取装置,其特征在于,所述数据提取装置包括:
配置单元,用于向预设的结构化查询语言SQL规则文件中,配置用于定义引用关键字的移动规范文件,得到新的SQL规则文件;所述新的SQL规则文件用于描述且响应从数据集合中提取目标数据的目标指令,所述引用关键字的移动规范文件为用于描述引用关键字的提取规则的协议文件;
确定单元,用于若检测到从数据集合中提取目标数据的目标指令,且所述数据集合中的游标组为有序游标组时,基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标,其中,所述数据集合中的数据与所述游标组中的游标一一对应,所述引用关键字用于指示所述目标游标相对当前游标的位置信息、或者用于限定聚集函数的数据样本数量、或者用于限定所述聚集函数的数据样本条件、或者用于限定所述聚集函数的所述数据样本数量和所述数据样本条件、或者用于指向与统计函数对应的统计数据的游标;
提取单元,用于基于所述目标指令与所述目标游标,从所述数据集合中提取所述目标数据;
所述目标指令中包含的所述引用关键字,用于限定所述聚集函数的所述数据样本条件和所述数据样本数量;
所述基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标,包括:
若所述目标指令为基于所述聚集函数提取目标数据的指令,则根据所述数据样本条件从所述有序游标组中确定出待筛选游标组;
根据所述数据样本数量创建移动窗口,并基于所述移动窗口从所述待筛选游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组;
或者,
所述目标指令中包含的所述引用关键字,用于指向与所述统计函数对应的所述统计数据的游标;
所述基于所述目标指令中包含的引用关键字,从所述有序游标组中确定目标游标,包括:
若所述目标指令为基于所述统计函数提取目标数据的指令,则根据所述统计函数确定所述统计数据;
基于所述统计数据从所述有序游标组中确定出目标游标;其中,所述目标游标包括一个游标或者多个游标组成的游标组。
6.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述数据提取方法的步骤。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述数据提取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910164845.7A CN111666295B (zh) | 2019-03-05 | 2019-03-05 | 数据提取方法、终端设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910164845.7A CN111666295B (zh) | 2019-03-05 | 2019-03-05 | 数据提取方法、终端设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111666295A CN111666295A (zh) | 2020-09-15 |
CN111666295B true CN111666295B (zh) | 2023-12-26 |
Family
ID=72381572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910164845.7A Active CN111666295B (zh) | 2019-03-05 | 2019-03-05 | 数据提取方法、终端设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111666295B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044216A (en) * | 1996-06-24 | 2000-03-28 | Oracle Corporation | Method and apparatus for implementing cursor variables for accessing data from database |
CN101427249A (zh) * | 2006-03-20 | 2009-05-06 | 微软公司 | 具有对丰富数据类型的支持的可扩展查询语言 |
CN103678609A (zh) * | 2013-12-16 | 2014-03-26 | 中国科学院计算机网络信息中心 | 一种基于分布式关系-对象映射处理的大数据查询的方法 |
CN104239508A (zh) * | 2014-09-12 | 2014-12-24 | 中国工商银行股份有限公司 | 数据查询方法和装置 |
CN104504001A (zh) * | 2014-12-04 | 2015-04-08 | 西北工业大学 | 面向海量分布式关系数据库的游标构造方法 |
CN107480220A (zh) * | 2017-08-01 | 2017-12-15 | 浙江大学 | 一种基于在线聚集的快速文本查询方法 |
CN108334609A (zh) * | 2018-02-02 | 2018-07-27 | 广东蜂助手网络技术股份有限公司 | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 |
CN109033209A (zh) * | 2018-06-29 | 2018-12-18 | 新华三大数据技术有限公司 | Spark存储过程处理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7136847B2 (en) * | 2001-08-31 | 2006-11-14 | International Business Machines Corporation | Method and system for dynamically changing cursor attributes in an embedded SQL application |
US7761451B2 (en) * | 2005-06-17 | 2010-07-20 | Microsoft Corporation | Efficient querying and paging in databases |
US8938456B2 (en) * | 2009-10-23 | 2015-01-20 | Intellidimension, Inc. | Data recovery system and method in a resource description framework environment |
US9959325B2 (en) * | 2010-06-18 | 2018-05-01 | Nokia Technologies Oy | Method and apparatus for supporting distributed deductive closures using multidimensional result cursors |
US20160342646A1 (en) * | 2015-05-20 | 2016-11-24 | International Business Machines Corporation | Database query cursor management |
-
2019
- 2019-03-05 CN CN201910164845.7A patent/CN111666295B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044216A (en) * | 1996-06-24 | 2000-03-28 | Oracle Corporation | Method and apparatus for implementing cursor variables for accessing data from database |
CN101427249A (zh) * | 2006-03-20 | 2009-05-06 | 微软公司 | 具有对丰富数据类型的支持的可扩展查询语言 |
CN103678609A (zh) * | 2013-12-16 | 2014-03-26 | 中国科学院计算机网络信息中心 | 一种基于分布式关系-对象映射处理的大数据查询的方法 |
CN104239508A (zh) * | 2014-09-12 | 2014-12-24 | 中国工商银行股份有限公司 | 数据查询方法和装置 |
CN104504001A (zh) * | 2014-12-04 | 2015-04-08 | 西北工业大学 | 面向海量分布式关系数据库的游标构造方法 |
CN107480220A (zh) * | 2017-08-01 | 2017-12-15 | 浙江大学 | 一种基于在线聚集的快速文本查询方法 |
CN108334609A (zh) * | 2018-02-02 | 2018-07-27 | 广东蜂助手网络技术股份有限公司 | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 |
CN109033209A (zh) * | 2018-06-29 | 2018-12-18 | 新华三大数据技术有限公司 | Spark存储过程处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111666295A (zh) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162695B (zh) | 一种信息推送的方法及设备 | |
TWI718643B (zh) | 異常群體識別方法及裝置 | |
CN109634698B (zh) | 菜单显示方法、装置、计算机设备及存储介质 | |
JP5616444B2 (ja) | 文書インデックス化およびデータクエリングのための方法およびシステム | |
CN110795458B (zh) | 交互式数据分析方法、装置、电子设备和计算机可读存储介质 | |
TWI710917B (zh) | 資料處理方法及裝置 | |
CN110413751B (zh) | 药品搜索方法、装置、终端设备以及存储介质 | |
CN111553151A (zh) | 一种基于字段相似度计算的问题推荐方法、装置和服务器 | |
CN110569419A (zh) | 问答系统优化方法、装置、计算机设备及存储介质 | |
US20220358178A1 (en) | Data query method, electronic device, and storage medium | |
CN115145871A (zh) | 文件查询方法、装置和电子设备 | |
CN106202440B (zh) | 数据处理方法、装置及设备 | |
US10216792B2 (en) | Automated join detection | |
CN108804550B (zh) | 一种查询词拓展方法、装置以及电子设备 | |
CN115544214B (zh) | 一种事件处理方法、设备及计算机可读存储介质 | |
CN111666295B (zh) | 数据提取方法、终端设备及计算机可读存储介质 | |
WO2022257455A1 (zh) | 一种相似文本的确定方法、装置、终端设备及存储介质 | |
TWI547888B (zh) | A method of recording user information and a search method and a server | |
CN111666294B (zh) | 获取数据集的方法、终端设备及计算机可读存储介质 | |
CN112417154B (zh) | 确定文献相似度的方法和装置 | |
CN114020867A (zh) | 一种搜索词的扩展方法、装置、设备及介质 | |
CN109033070B (zh) | 一种数据处理方法、服务器及计算机可读介质 | |
US20220138186A1 (en) | Data set acquisition method, terminal device and computer readable storage medium | |
CN110046180B (zh) | 一种用于定位相似实例的方法、装置和电子设备 | |
US20220129503A1 (en) | Method for data extraction, terminal device and computer-readable storage medium |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |