CN107368517B - 一种大数据流查询的方法及设备 - Google Patents
一种大数据流查询的方法及设备 Download PDFInfo
- Publication number
- CN107368517B CN107368517B CN201710409011.9A CN201710409011A CN107368517B CN 107368517 B CN107368517 B CN 107368517B CN 201710409011 A CN201710409011 A CN 201710409011A CN 107368517 B CN107368517 B CN 107368517B
- Authority
- CN
- China
- Prior art keywords
- data
- result
- type
- window
- time
- 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
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/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/23—Updating
- G06F16/235—Update request formulation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请的目的是提供一种大数据流查询的方法及设备,本申请通过对所采集的实时数据流进行动态数据模式的识别,以更新元数据信息,通过结构化查询语句(sql)在窗口和全量数据上分别执行,得到的结果进行合并,将实时变化的结果保存数据结果缓存中,结果随着实时数据流的变化而发生变化,实现利用sql的方式查询动态数据,对数据类型动态识别,达到用户像使用传统数据库一样,不再需要专门的开发工作。进一步地,数据类型动态生成元数据信息,支持灵活的元数据定义方式,采用窗口预聚合技术提前压缩合并实时数据,对实时数据采用sql方式查询的全量数据聚合,提供了一种sql查询实时数据的方法,灵活的结果生命周期管理方式,存储结果更加高效。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种大数据流查询的方法及设备。
背景技术
数据分析是指通过建立审计分析模型对数据进行核对、检查、复算、判断等操作,将被审计单位数据的现实状态与理想状态进行比较,从而发现审计线索,搜集审计证据的过程。
实时大数据分析是指对规模巨大的数据进行分析,利用大数据技术高效的快速完成分析,达到近似实时的效果,更及时的反映数据的价值和意义。
当今世界,企业的日常运营经常会生成TB级别的数据。数据来源囊括了互联网装置可以捕获的任何类型数据,网站、社交媒体、交易型商业数据以及其它商业环境中创建的数据。考虑到数据的生成量,实时处理成为了许多机构需要面对的首要挑战。
流式计算和批量计算分别适用于不同的大数据应用场景:对于先存储后计算,实时性要求不高,同时,数据的准确性、全面性更为重要的应用场景,批量计算模式更合适;对于无需先存储,可以直接进行数据计算,实时性要求很严格,但数据的精确度要求稍微宽松的应用场景,流式计算具有明显优势。流式计算中,数据往往是最近一个时间窗口内的,因此数据延迟往往较短,实时性较强,但数据的精确程度往往较低。目前,流计算作为一个重要数据场景,但是数据清洗、数据操作复杂,非专业人员基本无法直接操作,流式数据的实时查询需要专门的开发工作。
申请内容
本申请的一个目的是提供一种大数据流查询的方法及设备,解决现有技术中数据查询时,流式数据操作复杂、需要专业人员直接操作的问题。
根据本申请的一个方面,提供了一种大数据流查询的方法,所述方法包括:
采集数据流,其中,数据流包括用户指定的数据源及待查询的结构化查询语句;
对所述数据流进行识别,根据所述数据流的数据类型更新所述用户指定的数据源的元数据信息,并更新所述待查询的结构化查询语句的查询信息;
根据更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息进行所述数据流的窗口数据聚合,得到聚合后的窗口数据;
获取待全聚合数据,对所述待全聚合数据进行全量数据聚合,得到全量数据聚合的数据结果,其中,所述待全聚合数据包括所述聚合后的窗口数据及预设时间周期内的全量数据;
将所述全量数据聚合的数据结果进行缓存,实时显示查询结果。
进一步地,上述方法中,对所述数据流进行识别,根据所述数据流的数据类型更新所述用户指定的数据源的元数据信息,包括:
通过分布式队列接收所述数据源的原始数据;
通过键值自解析方式对所述接收的原始数据进行反序列化,识别所述原始数据的内部键值字段;
获取元数据库中存在的所述原始数据的元数据信息,通过键进行匹配检查所述元数据信息是否包含所述键值的定义;
若否,则根据所述数据流的数据类型对所述元数据信息进行实时解析,将解析结果更新至所述元数据库。
进一步地,所述数据流的数据类型包括浮点型、整数型及字符串型。
进一步地,上述方法中,根据所述数据流的数据类型对所述元数据信息进行实时解析,将解析结果更新至所述元数据库,包括:
按照浮点型、整数型、字符串型的判断顺序依次判断所述数据流所属的数据类型;
根据判断出的数据类型同所述元数据信息进行比对,若所述元数据信息中未存在所述判断出的数据类型,则将所述判断出的数据类型动态添加至所述元数据信息;
将动态添加数据类型后的元数据信息更新至所述元数据库。
进一步地,所述方法包括:
根据预设的数据类型定义元数据,或
基于所述数据流的键值的绑定对未定义的数据基础类型进行数据类型转换。
进一步地,上述方法中,根据更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息进行所述数据流的窗口数据聚合,得到聚合后的窗口数据,包括:
将更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息映射成数据表;
根据时间窗口获取所述数据表中的数据,作为窗口数据;
对所述窗口数据进行预先聚合,得到聚合后的窗口数据。
进一步地,对所述窗口数据进行预先聚合,得到全聚合数据队列中的数据,包括:
解析所述窗口数据中结构化查询语句中的聚合键值,确定待聚合数据;
根据所述键值将所述待聚合数据进行分组,并将待聚合数据根据分组在不同机器上进行预先聚合,得到聚合后的窗口数据。
进一步地,对所述待全聚合数据进行全量数据聚合之前,包括:
将所述待全聚合数据的键值进行合并。
进一步地,将所述待全聚合数据的键值进行合并,包括:
将窗口数据与时间周期内数据的键值完全一致的字段进行数据合并,以更新所述时间周期内数据的字段;
其中,将所述全量数据聚合的数据结果进行缓存,包括:
根据本地缓存的检查结果对所述更新后的时间周期内数据的字段进行全量聚合计算,将所述全量数据聚合的计算结果进行缓存。
进一步地,将所述全量数据聚合的计算结果进行缓存包括:
若所述计算结果为可累加数据,则将按照所有的时间力度进行累加保存新值;
若所述计算结果为非累加数据,则将所述非累加数据进行单独保存。
进一步地,所述实时显示查询结果包括:
根据时间粒度在时间区间内查找最后一个值作为当前的实时查询结果进行展示。
根据本申请另一个方面,还提供了一种大数据流查询的设备,所述设备包括:
采集模块,用于采集数据流,其中,数据流包括用户指定的数据源及待查询的结构化查询语句;
数据解析模块,用于对所述数据流进行识别,根据所述数据流的数据类型更新所述用户指定的数据源的元数据信息,并更新所述待查询的结构化查询语句的查询信息;
窗口数据聚合模块,用于根据更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息进行所述数据流的窗口数据聚合,得到聚合后的窗口数据;
全量数据聚合模块,用于获取待全聚合数据,对所述待全聚合数据进行全量数据聚合,得到全量数据聚合的数据结果,其中,所述待全聚合数据包括所述聚合后的窗口数据及预设时间周期内的全量数据;
数据结果缓存模块,用于将所述全量数据聚合的数据结果进行缓存,实时显示查询结果。
进一步地,上述设备中,所述数据解析模块用于:
通过分布式队列接收所述数据源的原始数据;
通过键值自解析方式对所述接收的原始数据进行反序列化,识别所述原始数据的内部键值字段;
获取元数据库中存在的所述原始数据的元数据信息,通过键进行匹配检查所述元数据信息是否包含所述键值的定义;
若否,则根据所述数据流的数据类型对所述元数据信息进行实时解析,将解析结果更新至所述元数据库。
进一步地,所述数据流的数据类型包括浮点型、整数型及字符串型。
进一步地,上述设备中,所述数据解析模块用于:
按照浮点型、整数型、字符串型的判断顺序依次判断所述数据流所属的数据类型;
根据判断出的数据类型同所述元数据信息进行比对,若所述元数据信息中未存在所述判断出的数据类型,则将所述判断出的数据类型动态添加至所述元数据信息;
将动态添加数据类型后的元数据信息更新至所述元数据库。
进一步地,所述设备包括:
元数据模块,用于根据预设的数据类型定义元数据,或
基于所述数据流的键值的绑定对未定义的数据基础类型进行数据类型转换。
进一步地,所述窗口数据聚合模块用于:
将更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息映射成数据表;
根据时间窗口获取所述数据表中的数据,作为窗口数据;
对所述窗口数据进行预先聚合,得到全聚合数据队列中的数据。
进一步地,上述设备中,所述窗口数据聚合模块用于:
解析所述窗口数据中结构化查询语句中的聚合键值,确定待聚合数据;
根据所述键值将所述待聚合数据进行分组,并将待聚合数据根据分组在不同机器上进行预先聚合,得到全聚合数据队列中的数据。
进一步地,所述设备包括:
合并模块,用于将所述待全聚合数据的键值进行合并。
进一步地,所述合并模块用于:
将窗口数据与时间周期内数据的键值完全一致的字段进行数据合并,以更新所述时间周期内数据的字段;
其中,所述数据缓存结果模块用于根据本地缓存的检查结果对所述更新后的时间周期内数据的字段进行全量聚合计算,将计算结果进行缓存。
进一步地,所述数据结果缓存模块用于:
若所述计算结果为可累加数据,则将按照所有的时间力度进行累加保存新值;
若所述计算结果为非累加数据,则将所述非累加数据进行单独保存。
进一步地,所述数据结果缓存模块用于:
根据时间粒度在时间区间内查找最后一个值作为当前的实时查询结果进行展示。
与现有技术相比,本申请通过采集数据流,其中,数据流包括用户指定的数据源及待查询的结构化查询语句;对所述数据流进行识别,根据所述数据流的数据类型更新所述用户指定的数据源的元数据信息,并更新所述待查询的结构化查询语句的查询信息;根据更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息进行所述数据流的窗口数据聚合,得到聚合后的窗口数据;获取待全聚合数据,对所述待全聚合数据进行全量数据聚合,得到全量数据聚合的数据结果,其中,所述待全聚合数据包括所述聚合后的窗口数据及预设时间周期内的全量数据;将所述全量数据聚合的数据结果进行缓存,实时显示查询结果。通过对所采集的实时数据流进行动态数据模式的识别,以更新元数据信息,通过结构化查询语句(sql)在窗口和全量数据上分别执行,得到的结果进行合并,将实时变化的结果保存数据结果缓存中,结果随着实时数据流的变化而发生变化,实现利用sql的方式查询动态数据,对数据类型动态识别,达到用户像使用传统数据库一样,不再需要专门的开发工作。进一步地,数据类型动态生成元数据信息,支持灵活的元数据定义方式,采用窗口预聚合技术提前压缩合并实时数据,对实时数据采用sql方式查询的全量数据聚合,提供了一种sql查询实时数据的方法,灵活的结果生命周期管理方式,存储结果更加高效。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请的一个方面提供的一种大数据流查询的设备结构示意图;
图2示出本申请一实施例的大数据流查询的过程时序示意图;
图3示出本申请中的一实施例的动态数据模式识别的示意图;
图4示出本申请中的一实施例的窗口预聚合过程的示意图;
图5示出本申请中的一实施例的全量数据聚合过程的示意图;
图6示出本申请中的一实施例的结果缓存模块的示意图;
图7示出本申请中的一实施例的动态数据模式识别的示意图;
图8示出根据本申请另一个方面提供的一种大数据流查询的方法流程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请的一个方面提供的一种大数据流查询的设备结构示意图,所述设备包括:采集模块11、数据解析模块12、窗口数据聚合模块13、全量数据聚合模块14和数据结果缓存模块15,其中,所述采集模块11,用于采集数据流,其中,数据流包括用户指定的数据源及待查询的结构化查询语句;数据解析模块12,用于对所述数据流进行识别,根据所述数据流的数据类型更新所述用户指定的数据源的元数据信息,并更新所述待查询的结构化查询语句的查询信息;窗口数据聚合模块13,用于根据更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息进行所述数据流的窗口数据聚合,得到聚合后的窗口数据;全量数据聚合模块14,用于获取待全聚合数据,对所述待全聚合数据进行全量数据聚合,得到全量数据聚合的数据结果,其中,所述待全聚合数据包括所述聚合后的窗口数据及预设时间周期内的全量数据;数据结果缓存模块15,用于将所述全量数据聚合的数据结果进行缓存,实时显示查询结果。通过对所采集的实时数据流进行动态数据模式的识别,以更新元数据信息,通过结构化查询语句(sql)在窗口和全量数据上分别执行,得到的结果进行合并,将实时变化的结果保存数据结果缓存中,结果随着实时数据流的变化而发生变化,实现利用sql的方式查询动态数据,对数据类型动态识别,达到用户像使用传统数据库一样,不再需要专门的开发工作。
具体地,所述采集模块11,用于采集数据流,其中,数据流包括用户指定的数据源及待查询的结构化查询语句;在本申请一实施例中,通过数据采集接口对流式数据进行收集,如图2所示的时序图,收集的数据流的数据包括用户指定的数据源以及指定sql聚合语句。
接着,数据解析模块12,用于对所述数据流进行识别,根据所述数据流的数据类型更新所述用户指定的数据源的元数据信息,并更新所述待查询的结构化查询语句的查询信息;在此,数据解析模块涉及图2中元数据库、数据接口模块以及动态解析数据模块,对数据接口模块接收到的数据进行动态解析,解析数据的动态类型,以更新元数据库中数据流元数据信息,数据类型动态生成元数据信息,无需事先指定表结构及字段类型,通过对数据流进行自动识别,来标注字段,同一个数据流中同一个字段的数据类型以在非强制指定的情况下,以首次出现在数据流中识别出来的类型为准,若发现后续数据类型不匹配将按照丢弃处理。
进一步地,所述数据解析模块12用于:通过分布式队列接收所述数据源的原始数据;通过键值自解析方式对所述接收的原始数据进行反序列化,识别所述原始数据的内部键值字段;获取元数据库中存在的所述原始数据的元数据信息,通过键进行匹配检查所述元数据信息是否包含所述键值的定义;若否,则根据所述数据流的数据类型对所述元数据信息进行实时解析,将解析结果更新至所述元数据库。在本申请一实施例中,如图3所示的数据的动态识别模式的示意图,涉及过程包括采集数据源、键值(kv)自解析数据、类型识别以及元数据库中数据的更新,可通过以下步骤实现:通过分布式队列获取相关原始数据,接收到的数据被kv自解析数据模块进行反序列化,识别内部kv字段,进行类型识别过程,若数据流的元数据信息在元数据库中存在,则通过元数据库获取数据流的元数据信息,通过键(key)进行匹配检查元数据是否包含该key值的定义,若已经定义,则以元数据为准,若未定义,则进行实时解析,解析的准则为检查数据流的数据类型,其中,所述数据流的数据类型包括浮点型、整数型及字符串型。
在本申请一实施例中,数据结构动态识别是为了不对数据表进行事先的约束,以达到后续利用查询语言可以灵活简单的查询,可以包括如下过程:通过队列方式实时接收数据;数据被实时的检测数据结构,判断key值对应的数据类型;检测到的数据类型同元数据进行比对,没有则动态添加;数据类型被确认后,针对该字段的查询都按照该类型执行。为了灵活提供强制指定类型的方式,其方式在动态识别之前在元数据中对数据进行类型指定。需要说明的是,队列数据实时接收,数据类型实时检测,数据类型不是事先预设的,而是由实时数据决定。
进一步地,所述数据解析模块12用于:按照浮点型、整数型、字符串型的判断顺序依次判断所述数据流所属的数据类型;根据判断出的数据类型同所述元数据信息进行比对,若所述元数据信息中未存在所述判断出的数据类型,则将所述判断出的数据类型动态添加至所述元数据信息;将动态添加数据类型后的元数据信息更新至所述元数据库。在此,数据进行动态模式解析时,对数据判断顺序分别是浮点、整数、字符串类型,数据通过自解析描述方法进行描述,包括key值和value值,value的具体类型并不在自描述文件内指定,而是在解析时进行,简化过程,避免出错。同时将解析的结果存储至元数据库中,若发现数据类型冲突,数据将单独存储及查询。进一步地,所述设备包括:元数据模块,用于根据预设的数据类型定义元数据,或基于所述数据流的键值的绑定对未定义的数据基础类型进行数据类型转换。在本申请一实施例中,设计元数据的保存方式,元数据的更新在动态数据识别过程中识别出数据,若自动识别出来的数据类型与元数据保存的不一致,则会被标识为非法数据而不进行处理。在此,元数据提供一种类型强制指定的方式,针对具体的数据源具体的key值进行强制绑定进行数据类型转换。数据类型保留了一种强制指定的方式,针对具体的数据源具体的key值进行强制绑定以进行数据类型转换。
具体地,窗口数据聚合模块13,用于根据更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息进行所述数据流的窗口数据聚合,得到聚合后的窗口数据;在此,如图2所示,利用元数据库中更新后的sql查询信息及更新后的元数据信息进行窗口数据聚合,针对无关数据进行丢弃,对可累加值进行预先聚合,降低需要计算的数据量。
进一步地,所述窗口数据聚合模块13用于:将更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息映射成数据表;根据时间窗口获取所述数据表中的数据,作为窗口数据;对所述窗口数据进行预先聚合,得到全聚合数据队列中的数据。在本申请一实施例中,如图4所示窗口预聚合的示意图,根据更新后的sql查询信息及更新后的数据流的元数据信息进行窗口数据聚合,其中,数据从数据队列中采集,在内存中将数据映射成数据表,数据表的列和类型都采用元数据中记录内容,解析sql中的聚合key值,之后在内存中对数据进行预聚合,减少全量聚合数据量。
进一步地,所述窗口数据聚合模块13用于:解析所述窗口数据中结构化查询语句中的聚合键值,确定待聚合数据;根据所述键值将所述待聚合数据进行分组,并将待聚合数据根据分组在不同机器上进行预先聚合,得到全聚合数据队列中的数据。在此,对窗口数据进行预先聚合,具体要聚合的key值,通过对要执行sql的优化,筛选出需要聚合的项,根据该key值进行分组,将数据集中在不同机器上同时运行加快效率。本申请一实施例中,采用窗口预聚合方式提前压缩合并实时数据,当前窗口数据进行独立计算,提前将数据集合进行聚合,降低了需要计算的数据量,并且通过对待执行sql的优化,识别聚合字段,数据按照聚合字段进行数据分组,提高并行运算的效率。
具体地,全量数据聚合模块14,用于获取待全聚合数据,对所述待全聚合数据进行全量数据聚合,得到全量数据聚合的数据结果,其中,所述待全聚合数据包括所述聚合后的窗口数据及预设时间周期内的全量数据;在本申请一实施例中,通过窗口聚合的接口对接收到的数据进行了一次合并,减少了数据量的大小,在同历史预设时间周期内(比如全年)的聚合维度值进行一次全量的聚合得到最后的结果,需要说明的是,由于待聚合的值是确定的,则聚合前全量维度数据将在每个计算节点中进行缓存,并且在使用前同元数据库确认缓存的有效性,缓存有效,则数据复用,缓存无效,则从持久化数据库中加载该数据进行计算,并且进行缓存后续计算。
在本申请一实施例中,所述方法包括:将所述待全聚合数据的键值进行合并。进一步地,所述合并模块用于:将窗口数据与时间周期内数据的键值完全一致的字段进行数据合并,以更新所述时间周期内数据的字段;其中,所述数据缓存结果模块用于根据本地缓存的检查结果对所述更新后的时间周期内数据的字段进行全量聚合计算,将计算结果进行缓存。在此,全量数据聚合前,会将本次需要聚合数据key值进行合并,合并的规则可以包括:窗口同预设时间周期内数据(比如全年数据)key值完全一致的字段进行数据合并,在进行全年聚合前,需检查本地的缓存情况,数据会优先采用本地的缓存(内存中)进行计算,将计算结果缓存至本地内存中,需要说明的是,在此,缓存需要重建的情况,仅发生在缓存失效、缓存过期等情况,从全量数据缓存中进行数据恢复。若聚合过程仅是累积操作,该字段跳过全量聚合阶段。
具体地,数据结果缓存模块15,用于将所述全量数据聚合的数据结果进行缓存,实时显示查询结果。在本申请一实施例中,如图5所示的本申请一实施例中的全量数据聚合的示意图,对于窗口聚合数据,通过key值进行检查,合并全年key数据,数据执行sql查询语句更新全量数据缓存,并判断是否需要全局聚合,若是,则全查询的全量数据结果进行缓存。在本申请一实施例中,窗口和全量的聚合方式,主要针对需要累加的数据和需要全年去重的数据进行处理,通过窗口数据聚合对无关数据进行丢弃以及对可累加值进行预先聚合,减少数据量,更新全年聚合字段,再次进行全量聚合,其中,所有聚合采用类sql语言进行,用户只需录入sql即可,全年聚合在每台机器的内存中进行,并且结果持续缓存在本地,加快后续的计算速度。
进一步地,所述数据结果缓存模块15用于:若所述计算结果为可累加数据,则将按照所有的时间力度进行累加保存新值;若所述计算结果为非累加数据,则将所述非累加数据进行单独保存。在本申请一实施例中,如图6所示的数据结果缓存的存储结构示意图,对于可累加数据,将按照所有的时间力度进行累加保存新值;对于非累加数据,是由经过全量数据聚合后提供的结果数据,并且根据全量聚合过程返回的不同时间粒度进行单独保存。数据会不停的追加更新,若某个时间点没有新增数据,则该时间点不会有数据记录。聚合过程中分别使用中央缓存、本地缓存,计算过程中数据主要存储在内存中,不进行磁盘的读写。
进一步地,根据时间粒度在时间区间内查找最后一个值作为当前的实时查询结果进行展示。在此,在获取展示实时数据时,根据时间粒度,在区间内找到最后的一个值作为当前的实时结果进行展示。本申请的实施例中提供不同生命周期结果缓存的方法,结果集合根据粒度保存不同的度量信息,并且根据时间的长度来变化数据粒度,若当天内保存分钟聚合结果值,最近1小时保存30秒的聚合值,月以上小时聚合值,对于抛弃的粒度数据采用抛弃的方式进行丢弃。需要说明的是,额外线程根据时间,在不同时间对历史数据进行删除,在满足实时数据的同时,又减少空间的占用。
在本申请又一实施例中,如图7所示的用于数据流的实时查询的模块示意图,包括数据接收模块、动态数据模式识别模块、元数据模块、窗口数据聚合模块、全量数据聚合模块及数据结果缓存模块,通过对数据流数据进行收集,动态识别数据类型,自动映射成表结构,利用sql进行动态查询,并且对全年数据进行全聚合实时更新聚合结果,达到利用sql的方式查询动态数据,对数据类型动态识别,使得用户像使用传统数据库一样,不需专门的开发工作。数据类型动态生成元数据信息,支持灵活的元数据定义方式,采用窗口预聚合技术提前压缩合并实时数据,对实时数据采用sql方式查询的全量数据聚合,提供了一种sql查询实时数据的方法,灵活的结果生命周期管理方式,存储结果更加高效。
图8示出根据本申请另一个方面提供的一种大数据流查询的方法流程示意图,所述方法包括:步骤S11、步骤S12、步骤S13、步骤S14和步骤S15,其中,在步骤S11中,采集数据流,其中,数据流包括用户指定的数据源及待查询的结构化查询语句;在步骤S12中,对所述数据流进行识别,根据所述数据流的数据类型更新所述用户指定的数据源的元数据信息,并更新所述待查询的结构化查询语句的查询信息;在步骤S13中,根据更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息进行所述数据流的窗口数据聚合,得到聚合后的窗口数据;在步骤S14中,获取待全聚合数据,对所述待全聚合数据进行全量数据聚合,得到全量数据聚合的数据结果,其中,所述待全聚合数据包括所述聚合后的窗口数据及预设时间周期内的全量数据;在步骤S15中,将所述全量数据聚合的数据结果进行缓存,实时显示查询结果。通过对所采集的实时数据流进行动态数据模式的识别,以更新元数据信息,通过结构化查询语句(sql)在窗口和全量数据上分别执行,得到的结果进行合并,将实时变化的结果保存数据结果缓存中,结果随着实时数据流的变化而发生变化,实现利用sql的方式查询动态数据,对数据类型动态识别,达到用户像使用传统数据库一样,不再需要专门的开发工作。
具体地,在步骤S11中,采集数据流,其中,数据流包括用户指定的数据源及待查询的结构化查询语句;在本申请一实施例中,通过数据采集接口对流式数据进行收集,如图2所示的时序图,收集的数据流的数据包括用户指定的数据源以及指定sql聚合语句。
接着,在步骤S12中,对所述数据流进行识别,根据所述数据流的数据类型更新所述用户指定的数据源的元数据信息,并更新所述待查询的结构化查询语句的查询信息;在此,步骤S12通过图2中元数据库、数据接口模块以及动态解析数据模块实现,对数据接口模块接收到的数据进行动态解析,解析数据的动态类型,以更新元数据库中数据流元数据信息,数据类型动态生成元数据信息,无需事先指定表结构及字段类型,通过对数据流进行自动识别,来标注字段,同一个数据流中同一个字段的数据类型以在非强制指定的情况下,以首次出现在数据流中识别出来的类型为准,若发现后续数据类型不匹配将按照丢弃处理。
进一步地,在步骤S12中,通过分布式队列接收所述数据源的原始数据;通过键值自解析方式对所述接收的原始数据进行反序列化,识别所述原始数据的内部键值字段;获取元数据库中存在的所述原始数据的元数据信息,通过键进行匹配检查所述元数据信息是否包含所述键值的定义;若否,则根据所述数据流的数据类型对所述元数据信息进行实时解析,将解析结果更新至所述元数据库。在本申请一实施例中,如图3所示的数据的动态识别模式的示意图,涉及过程包括采集数据源、键值对(kv)自解析数据、类型识别以及元数据库中数据的更新,可通过以下步骤实现:通过分布式队列获取相关原始数据,接收到的数据被kv自解析数据模块进行反序列化,识别内部kv字段,进行类型识别过程,若数据流的元数据信息在元数据库中存在,则通过元数据库获取数据流的元数据信息,通过键(key)进行匹配检查元数据是否包含该key值的定义,若已经定义,则以元数据为准,若未定义,则进行实时解析,解析的准则为检查数据流的数据类型,其中,所述数据流的数据类型包括浮点型、整数型及字符串型。
在本申请一实施例中,数据结构动态识别是为了不对数据表进行事先的约束,以达到后续利用查询语言可以灵活简单的查询,可以包括如下过程:通过队列方式实时接收数据;数据被实时的检测数据结构,判断key值对应的数据类型;检测到的数据类型同元数据进行比对,没有则动态添加;数据类型被确认后,针对该字段的查询都按照该类型执行。为了灵活提供强制指定类型的方式,其方式在动态识别之前在元数据中对数据进行类型指定。需要说明的是,队列数据实时接收,数据类型实时检测,数据类型不是事先预设的,而是由实时数据决定。
进一步地,在步骤S12中,按照浮点型、整数型、字符串型的判断顺序依次判断所述数据流所属的数据类型;根据判断出的数据类型同所述元数据信息进行比对,若所述元数据信息中未存在所述判断出的数据类型,则将所述判断出的数据类型动态添加至所述元数据信息;将动态添加数据类型后的元数据信息更新至所述元数据库。在此,数据进行动态模式解析时,对数据判断顺序分别是浮点、整数、字符串类型,数据通过自解析描述方法进行描述,包括key值和value值,value的具体类型并不在自描述文件内指定,而是在解析时进行,简化过程,避免出错。同时将解析的结果存储至元数据库中,若发现数据类型冲突,数据将单独存储及查询。进一步地,所述方法包括:根据预设的数据类型定义元数据,或基于所述数据流的键值的绑定对未定义的数据基础类型进行数据类型转换。在本申请一实施例中,设计元数据的保存方式,元数据的更新在动态数据识别过程中识别出数据,若自动识别出来的数据类型与元数据保存的不一致,则会被标识为非法数据而不进行处理。在此,元数据提供一种类型强制指定的方式,针对具体的数据源具体的key值进行强制绑定进行数据类型转换。数据类型保留了一种强制指定的方式,针对具体的数据源具体的key值进行强制绑定以进行数据类型转换。
具体地,在步骤S13中,根据更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息进行所述数据流的窗口数据聚合,得到聚合后的窗口数据;在此,如图2所示,利用元数据库中更新后的sql查询信息及更新后的元数据信息进行窗口数据聚合,针对无关数据进行丢弃,对可累加值进行预先聚合,降低需要计算的数据量。
进一步地,在步骤S13中,将更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息映射成数据表;根据时间窗口获取所述数据表中的数据,作为窗口数据;对所述窗口数据进行预先聚合,得到全聚合数据队列中的数据。在本申请一实施例中,如图4所示窗口预聚合的示意图,根据更新后的sql查询信息及更新后的数据流的元数据信息进行窗口数据聚合,其中,数据从数据队列中采集,在内存中将数据映射成数据表,数据表的列和类型都采用元数据中记录内容,解析sql中的聚合key值,之后在内存中对数据进行预聚合,减少全量聚合数据量。
进一步地,在步骤S13中,解析所述窗口数据中结构化查询语句中的聚合键值,确定待聚合数据;根据所述键值将所述待聚合数据进行分组,并将待聚合数据根据分组在不同机器上进行预先聚合,得到全聚合数据队列中的数据。在此,对窗口数据进行预先聚合,具体要聚合的key值,通过对要执行sql的优化,筛选出需要聚合的项,根据该key值进行分组,将数据集中在不同机器上同时运行加快效率。本申请一实施例中,采用窗口预聚合方式提前压缩合并实时数据,当前窗口数据进行独立计算,提前将数据集合进行聚合,降低了需要计算的数据量,并且通过对待执行sql的优化,识别聚合字段,数据按照聚合字段进行数据分组,提高并行运算的效率。
具体地,在步骤S14中,获取待全聚合数据,对所述待全聚合数据进行全量数据聚合,得到全量数据聚合的数据结果,其中,所述待全聚合数据包括所述聚合后的窗口数据及预设时间周期内的全量数据;在本申请一实施例中,通过窗口聚合的接口对接收到的数据进行了一次合并,减少了数据量的大小,在同历史预设时间周期内(比如全年)的聚合维度值进行一次全量的聚合得到最后的结果,需要说明的是,由于待聚合的值是确定的,则聚合前全量维度数据将在每个计算节点中进行缓存,并且在使用前同元数据库确认缓存的有效性,缓存有效,则数据复用,缓存无效,则从持久化数据库中加载该数据进行计算,并且进行缓存后续计算。
在本申请一实施例中,对所述待全聚合数据进行全量数据聚合之前,所述包括:步骤S13’,将所述待全聚合数据的键值进行合并。进一步地,在步骤S13’中,将窗口数据与时间周期内数据的键值完全一致的字段进行数据合并,以更新所述时间周期内数据的字段;其中,在步骤S13中,根据本地缓存的检查结果对所述更新后的时间周期内数据的字段进行全量聚合计算,将计算结果进行缓存。在此,全量数据聚合前,会将本次需要聚合数据key值进行合并,合并的规则可以包括:窗口同预设时间周期内数据(比如全年数据)key值完全一致的字段进行数据合并,在进行全年聚合前,需检查本地的缓存情况,数据会优先采用本地的缓存(内存中)进行计算,将计算结果缓存至本地内存中,需要说明的是,在此,缓存需要重建的情况,仅发生在缓存失效、缓存过期等情况,从全量数据缓存中进行数据恢复。若聚合过程仅是累积操作,该字段跳过全量聚合阶段。
具体地,在步骤S15中,将所述全量数据聚合的数据结果进行缓存,实时显示查询结果。在本申请一实施例中,如图5所示的本申请一实施例中的全量数据聚合的示意图,对于窗口聚合数据,通过key值进行检查,合并全年key数据,数据执行sql查询语句更新全量数据缓存,并判断是否需要全局聚合,若是,则全查询的全量数据结果进行缓存。在本申请一实施例中,窗口和全量的聚合方式,主要针对需要累加的数据和需要全年去重的数据进行处理,通过窗口数据聚合对无关数据进行丢弃以及对可累加值进行预先聚合,减少数据量,更新全年聚合字段,再次进行全量聚合,其中,所有聚合采用类sql语言进行,用户只需录入sql即可,全年聚合在每台机器的内存中进行,并且结果持续缓存在本地,加快后续的计算速度。
进一步地,在步骤S15中,若所述计算结果为可累加数据,则将按照所有的时间力度进行累加保存新值;若所述计算结果为非累加数据,则将所述非累加数据进行单独保存。在本申请一实施例中,如图6所示的数据结果缓存的存储结构示意图,对于可累加数据,将按照所有的时间力度进行累加保存新值;对于非累加数据,是由经过全量数据聚合后提供的结果数据,并且根据全量聚合过程返回的不同时间粒度进行单独保存。数据会不停的追加更新,若某个时间点没有新增数据,则该时间点不会有数据记录。聚合过程中分别使用中央缓存、本地缓存,计算过程中数据主要存储在内存中,不进行磁盘的读写。
进一步地,根据时间粒度在时间区间内查找最后一个值作为当前的实时查询结果进行展示。在此,在获取展示实时数据时,根据时间粒度,在区间内找到最后的一个值作为当前的实时结果进行展示。本申请的实施例中提供不同生命周期结果缓存的方法,结果集合根据粒度保存不同的度量信息,并且根据时间的长度来变化数据粒度,若当天内保存分钟聚合结果值,最近1小时保存30秒的聚合值,月以上小时聚合值,对于抛弃的粒度数据采用抛弃的方式进行丢弃。需要说明的是,额外线程根据时间,在不同时间对历史数据进行删除,在满足实时数据的同时,又减少空间的占用。
在本申请又一实施例中,如图7所示的用于数据流的实时查询的模块示意图,包括数据接收模块、动态数据模式识别模块、元数据模块、窗口数据聚合模块、全量数据聚合模块及数据结果缓存模块,通过对数据流数据进行收集,动态识别数据类型,自动映射成表结构,利用sql进行动态查询,并且对全年数据进行全聚合实时更新聚合结果,达到利用sql的方式查询动态数据,对数据类型动态识别,使得用户像使用传统数据库一样,不需专门的开发工作。数据类型动态生成元数据信息,支持灵活的元数据定义方式,采用窗口预聚合技术提前压缩合并实时数据,对实时数据采用sql方式查询的全量数据聚合,提供了一种sql查询实时数据的方法,灵活的结果生命周期管理方式,存储结果更加高效。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (20)
1.一种大数据流查询的方法,其中,所述方法包括:
采集数据流,其中,数据流包括用户指定的数据源及待查询的结构化查询语句;
通过分布式队列接收所述数据源的原始数据,通过键值自解析方式对所述接收的原始数据进行反序列化,识别所述原始数据的内部键值字段;
获取元数据库中存在的所述原始数据的元数据信息,通过键进行匹配检查所述元数据信息是否包含所述键值的定义,若否,则根据所述数据流的数据类型对所述元数据信息进行实时解析,将解析结果更新至所述元数据库,并更新所述待查询的结构化查询语句的查询信息;
根据更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息进行所述数据流的窗口数据聚合,得到全聚合数据队列中的数据;
从所述全聚合数据队列获取待全聚合数据,对所述待全聚合数据进行全量数据聚合,得到全量数据聚合的数据结果;
将所述全量数据聚合的数据结果进行缓存,实时显示查询结果。
2.根据权利要求1所述的方法,其中,所述数据流的数据类型包括浮点型、整数型及字符串型。
3.根据权利要求2所述的方法,其中,根据所述数据流的数据类型对所述元数据信息进行实时解析,将解析结果更新至所述元数据库,包括:
按照浮点型、整数型、字符串型的判断顺序依次判断所述数据流所属的数据类型;
根据判断出的数据类型同所述元数据信息进行比对,若所述元数据信息中未存在所述判断出的数据类型,则将所述判断出的数据类型动态添加至所述元数据信息;
将动态添加数据类型后的元数据信息更新至所述元数据库。
4.根据权利要求1所述的方法,其中,所述方法包括:
根据预设的数据类型定义元数据,或
基于所述数据流的键值的绑定对未定义的数据基础类型进行数据类型转换。
5.根据权利要求1所述的方法,其中,根据更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息进行所述数据流的窗口数据聚合,得到全聚合数据队列中的数据,包括:
将更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息映射成数据表;
根据时间窗口获取所述数据表中的数据,作为窗口数据;
对所述窗口数据进行预先聚合,得到全聚合数据队列中的数据。
6.根据权利要求5所述的方法,其中,对所述窗口数据进行预先聚合,得到全聚合数据队列中的数据,包括:
解析所述窗口数据中结构化查询语句中的聚合键值,确定待聚合数据;
根据所述键值将所述待聚合数据进行分组,并将待聚合数据根据分组在不同机器上进行预先聚合,得到全聚合数据队列中的数据。
7.根据权利要求1所述的方法,其中,对所述待全聚合数据进行全量数据聚合之前,包括:
将所述待全聚合数据的键值进行合并。
8.根据权利要求7所述的方法,其中,将所述待全聚合数据的键值进行合并,包括:
将窗口数据与时间周期内数据的键值完全一致的字段进行数据合并,以更新所述时间周期内数据的字段;
其中,将所述全量数据聚合的数据结果进行缓存,包括:
根据本地缓存的检查结果对所述更新后的时间周期内数据的字段进行全量聚合计算,将所述全量数据聚合的计算结果进行缓存。
9.根据权利要求8所述的方法,其中,将所述全量数据聚合的计算结果进行缓存包括:
若所述计算结果为可累加数据,则将按照所有的时间粒度进行累加保存新值;
若所述计算结果为非累加数据,则将所述非累加数据进行单独保存。
10.根据权利要求1所述的方法,其中,所述实时显示查询结果包括:
根据时间粒度在时间区间内查找最后一个值作为当前的实时查询结果进行展示。
11.一种大数据流查询的设备,其中,所述设备包括:
采集模块,用于采集数据流,其中,数据流包括用户指定的数据源及待查询的结构化查询语句;
数据解析模块,用于通过分布式队列接收所述数据源的原始数据,通过键值自解析方式对所述接收的原始数据进行反序列化,识别所述原始数据的内部键值字段;
数据解析模块,用于获取元数据库中存在的所述原始数据的元数据信息,通过键进行匹配检查所述元数据信息是否包含所述键值的定义,若否,则根据所述数据流的数据类型对所述元数据信息进行实时解析,将解析结果更新至所述元数据库,并更新所述待查询的结构化查询语句的查询信息;
窗口数据聚合模块,用于根据更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息进行所述数据流的窗口数据聚合,得到全聚合数据队列中的数据;
全量数据聚合模块,用于从所述全聚合数据队列获取待全聚合数据,对所述待全聚合数据进行全量数据聚合,得到全量数据聚合的数据结果;
数据结果缓存模块,用于将所述全量数据聚合的数据结果进行缓存,实时显示查询结果。
12.根据权利要求11所述的设备,其中,所述数据流的数据类型包括浮点型、整数型及字符串型。
13.根据权利要求12所述的设备,其中,所述数据解析模块用于:
按照浮点型、整数型、字符串型的判断顺序依次判断所述数据流所属的数据类型;
根据判断出的数据类型同所述元数据信息进行比对,若所述元数据信息中未存在所述判断出的数据类型,则将所述判断出的数据类型动态添加至所述元数据信息;
将动态添加数据类型后的元数据信息更新至所述元数据库。
14.根据权利要求11所述的设备,其中,所述设备包括:
元数据模块,用于根据预设的数据类型定义元数据,或
基于所述数据流的键值的绑定对未定义的数据基础类型进行数据类型转换。
15.根据权利要求11所述的设备,其中,所述窗口数据聚合模块用于:
将更新后的待查询的结构化查询语句的查询信息及更新后的元数据信息映射成数据表;
根据时间窗口获取所述数据表中的数据,作为窗口数据;
对所述窗口数据进行预先聚合,得到全聚合数据队列中的数据。
16.根据权利要求15所述的设备,其中,所述窗口数据聚合模块用于:
解析所述窗口数据中结构化查询语句中的聚合键值,确定待聚合数据;
根据所述键值将所述待聚合数据进行分组,并将待聚合数据根据分组在不同机器上进行预先聚合,得到全聚合数据队列中的数据。
17.根据权利要求11所述的设备,其中,所述设备包括:
合并模块,用于将所述待全聚合数据的键值进行合并。
18.根据权利要求17所述的设备,其中,所述合并模块用于:
将窗口数据与时间周期内数据的键值完全一致的字段进行数据合并,以更新所述时间周期内数据的字段;
其中,所述数据结果缓存模块用于根据本地缓存的检查结果对所述更新后的时间周期内数据的字段进行全量聚合计算,将计算结果进行缓存。
19.根据权利要求18所述的设备,其中,所述数据结果缓存模块用于:
若所述计算结果为可累加数据,则将按照所有的时间粒度进行累加保存新值;
若所述计算结果为非累加数据,则将所述非累加数据进行单独保存。
20.根据权利要求11所述的设备,其中,所述数据结果缓存模块用于:
根据时间粒度在时间区间内查找最后一个值作为当前的实时查询结果进行展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710409011.9A CN107368517B (zh) | 2017-06-02 | 2017-06-02 | 一种大数据流查询的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710409011.9A CN107368517B (zh) | 2017-06-02 | 2017-06-02 | 一种大数据流查询的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107368517A CN107368517A (zh) | 2017-11-21 |
CN107368517B true CN107368517B (zh) | 2018-07-13 |
Family
ID=60305312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710409011.9A Active CN107368517B (zh) | 2017-06-02 | 2017-06-02 | 一种大数据流查询的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107368517B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108563656A (zh) * | 2017-12-28 | 2018-09-21 | 太极计算机股份有限公司 | 一种数据采集存储的方法、装置及终端 |
CN108460094A (zh) * | 2018-01-30 | 2018-08-28 | 上海天旦网络科技发展有限公司 | 存储统计数据的方法和系统 |
CN108319722B (zh) * | 2018-02-27 | 2020-12-04 | 北京小度信息科技有限公司 | 数据访问方法、装置、电子设备及计算机可读存储介质 |
CN110399397A (zh) * | 2018-04-19 | 2019-11-01 | 北京京东尚科信息技术有限公司 | 一种数据查询方法和系统 |
CN108920607B (zh) * | 2018-06-27 | 2020-12-25 | 中国建设银行股份有限公司 | 字段发现方法、装置及电子设备 |
CN110781211B (zh) * | 2018-07-31 | 2022-04-05 | 网宿科技股份有限公司 | 一种数据的解析方法及装置 |
CN109408544B (zh) * | 2018-09-27 | 2023-11-03 | 平安科技(深圳)有限公司 | 基于引擎的数据聚合方法、装置及存储介质、服务器 |
CN111046050A (zh) * | 2018-10-12 | 2020-04-21 | 顺丰科技有限公司 | 数据Schema的处理方法、装置、设备及存储介质 |
CN111078721B (zh) * | 2018-10-18 | 2023-06-23 | 网宿科技股份有限公司 | 一种查询语句的解析、解析结果的处理方法及系统 |
CN109635533B (zh) * | 2018-12-07 | 2021-09-03 | 中国移动通信集团江苏有限公司 | 身份识别方法、装置、设备及介质 |
CN110069539B (zh) * | 2019-05-05 | 2021-08-31 | 上海缤游网络科技有限公司 | 一种数据关联方法及系统 |
CN112148762A (zh) * | 2019-06-28 | 2020-12-29 | 西安京迅递供应链科技有限公司 | 一种实时数据流的统计方法和装置 |
CN110334117B (zh) * | 2019-07-17 | 2021-09-03 | 北京长亭未来科技有限公司 | 一种实时数据处理方法及装置 |
CN112668287A (zh) * | 2019-09-30 | 2021-04-16 | 北京国双科技有限公司 | 数据表确定方法、系统及装置 |
CN111177196B (zh) * | 2019-12-25 | 2023-12-19 | 海尔优家智能科技(北京)有限公司 | 时间窗聚合计算方法及装置 |
CN111400411B (zh) * | 2020-03-04 | 2024-04-19 | 河南安冉云网络科技有限公司 | 一种Excel数据的处理方法、系统及设备 |
CN111447193B (zh) * | 2020-03-23 | 2022-11-04 | 网宿科技股份有限公司 | 一种针对实时数据流进行异常检测的方法及装置 |
CN113495847B (zh) * | 2020-04-04 | 2023-08-18 | 厦门网宿有限公司 | 一种存储空间回收方法、系统及计算机存储介质 |
CN112308328B (zh) * | 2020-11-09 | 2023-06-06 | 中国科学院计算技术研究所 | 面向Top-Down网络测量系统的并行测量任务的优化方法及系统 |
CN113392286B (zh) * | 2021-06-11 | 2022-02-11 | 深圳市宏博信息科技有限公司 | 大数据信息采集系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942330A (zh) * | 2014-04-30 | 2014-07-23 | 深圳先进技术研究院 | 一种大数据的处理方法、系统 |
CN104951509A (zh) * | 2015-05-25 | 2015-09-30 | 中国科学院信息工程研究所 | 一种大数据在线交互式查询方法及系统 |
CN105279286A (zh) * | 2015-11-27 | 2016-01-27 | 陕西艾特信息化工程咨询有限责任公司 | 一种交互式大数据分析查询处理方法 |
CN105574093A (zh) * | 2015-12-10 | 2016-05-11 | 深圳市华讯方舟软件技术有限公司 | 一种在基于HDFS的spark-sql大数据处理系统上建立索引的方法 |
CN106383886A (zh) * | 2016-09-21 | 2017-02-08 | 深圳市博瑞得科技有限公司 | 一种基于大数据分布式编程框架的大数据预统系统及方法 |
-
2017
- 2017-06-02 CN CN201710409011.9A patent/CN107368517B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942330A (zh) * | 2014-04-30 | 2014-07-23 | 深圳先进技术研究院 | 一种大数据的处理方法、系统 |
CN104951509A (zh) * | 2015-05-25 | 2015-09-30 | 中国科学院信息工程研究所 | 一种大数据在线交互式查询方法及系统 |
CN105279286A (zh) * | 2015-11-27 | 2016-01-27 | 陕西艾特信息化工程咨询有限责任公司 | 一种交互式大数据分析查询处理方法 |
CN105574093A (zh) * | 2015-12-10 | 2016-05-11 | 深圳市华讯方舟软件技术有限公司 | 一种在基于HDFS的spark-sql大数据处理系统上建立索引的方法 |
CN106383886A (zh) * | 2016-09-21 | 2017-02-08 | 深圳市博瑞得科技有限公司 | 一种基于大数据分布式编程框架的大数据预统系统及方法 |
Non-Patent Citations (2)
Title |
---|
基于YARN的工业大数据处理平台研究与实现;冯朝阁;《中国优秀硕士学位论文全文数据库信息科技辑》;20170315(第3期);I138-3690 第2-4章 * |
高性能重复数据检测与删除技术研究;魏建生;《中国博士学位论文全文数据库信息科技辑》;20130715(第7期);I138-8 第3章 * |
Also Published As
Publication number | Publication date |
---|---|
CN107368517A (zh) | 2017-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107368517B (zh) | 一种大数据流查询的方法及设备 | |
CN110019218B (zh) | 数据存储与查询方法及设备 | |
US10318882B2 (en) | Optimized training of linear machine learning models | |
CN104424258B (zh) | 多维数据查询的方法、查询服务器、列存储服务器及系统 | |
CA2795525C (en) | Columnar storage representations of records | |
US11050436B2 (en) | Advanced database compression | |
US20180137115A1 (en) | High performance parallel indexing for forensics and electronic discovery | |
US10515102B2 (en) | Pre-processing of geo-spatial sensor data | |
CN106970920A (zh) | 一种用于数据库数据迁移的方法与设备 | |
US11502705B2 (en) | Advanced database decompression | |
CN107391532B (zh) | 数据过滤的方法和装置 | |
CN104598550B (zh) | 一种网络视频索引的更新方法和装置 | |
US11645179B2 (en) | Method and apparatus of monitoring interface performance of distributed application, device and storage medium | |
CN108241676B (zh) | 实现数据同步的方法及设备 | |
Gupta et al. | Faster as well as early measurements from big data predictive analytics model | |
AU2021244852B2 (en) | Offloading statistics collection | |
CN114722014B (zh) | 基于数据库日志文件的批量数据时间序列传输方法及系统 | |
WO2021012861A1 (zh) | 数据查询耗时评估方法、装置、计算机设备和存储介质 | |
WO2015168988A1 (zh) | 一种数据索引创建方法、装置及计算机存储介质 | |
CN113297245A (zh) | 获取执行信息的方法及装置 | |
US20220342887A1 (en) | Predictive query processing | |
Wang et al. | Event Indexing and Searching for High Volumes of Event Streams in the Cloud | |
US20230066110A1 (en) | Creating virtualized data assets using existing definitions of etl/elt jobs | |
US20240126771A1 (en) | Multi-parameter data type frameworks for database environments and database systems | |
Diván et al. | Articulating heterogeneous data streams with the attribute-relation file format |
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 | ||
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20210305 Granted publication date: 20180713 |