基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质技术方案

技术编号:26304055 阅读:28 留言:0更新日期:2020-11-10 19:59
本申请提供基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质,本发明专利技术采用的是pandas库和InfluxDB数据库相结合的技术,目的在于利用pandas库对InfluxDB数据库的海量数据进行数据处理与分析,对高频刷新的海量数据有着良好的应用。由于InfluxDB数据库舍弃了数据更新和删除功能,集中强化了数据写入和查询,非常符合Pandas库的数据库接口特性,这样可以充分发挥Pandas库的数据分析和处理功能,节省了以往与传统数据库连接、读取和写入的时间。

【技术实现步骤摘要】
基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质
本申请涉及数据管理
,特别是涉及基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质。
技术介绍
大数据发展已成趋势,同时对数据采集的规模也越来越趋向于集中式分布和群聚式采集,故而数据的存储和处理需求也在迅速增长。由于数据量庞大,所产生的数据属性也增长许多,故而传统的关系型数据库所使用的根据需求建立数据表,再通过指定数据属性存储数据的方法已经很难满足高频巨量数据的存储,且效率低下,占用资源空间大。因此,本领域亟需一种能够解决上述数据存储带来的问题,同时也能解决存储数据带来的冗余问题的技术方案。
技术实现思路
鉴于以上所述现有技术的缺点,本申请的目的在于提供基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质,用于解决现有技术中的问题。为实现上述目的及其他相关目的,本申请的第一方面提供一种基于pandas库与InfluxDB数据库的数据管理方法,包括:定时采集数据;根据数据属性分类将采集到的数据存储至带有时间标志的字典结构中,并添加字典至pandas库的dataframe结构中;利用python的缓存技术进行数据缓存,并利用python的treading模块设置定时线程,以将json文件中的缓存数据转码至dataframe结构中,并通过python的InfluxDB的API接口进行大批量数据写入;利用pandas库对缓存数据进行数据处理,并生成新的dataframe结构数据;对InfluxDB数据库设置数据保留策略;对于过期的历史数据,利用python脚本并开设定时任务进程,并通过pandas库和InfluxDB数据库的API接口读取过期的历史数据至dataframe数据结构中,从而以文件形式进行存储。于本申请的第一方面的一些实施例中,所述数据管理方法还包括:通过pandas库和InfluxDB数据库的API接口读取指定时段的历史数据至dataframe数据结构中;对存储至pandas库中的指定时间段历史数据进行进一步的复杂数据处理,并将数据分析结果反馈给用户。于本申请的第一方面的一些实施例中,所述对存储至pandas库中的指定时间段历史数据进行进一步的复杂数据处理包括:通过numpy库进行数据线性拟合;matplotlib库进行数据绘图和成像。于本申请的第一方面的一些实施例中,所述利用pandas库对缓存数据进行数据处理,并生成新的dataframe结构数据,包括:设置数据处理线程,将缓存数据通过pandas库的数据处理功能进行数据清洗和再转换,并生成新的dataframe结构。于本申请的第一方面的一些实施例中,所述数据保留策略包括历史数据的保留时限。于本申请的第一方面的一些实施例中,所述通过pandas库和InfluxDB数据库的API接口读取过期的历史数据至dataframe数据结构中,执行如下语句:temp=pd.DataFrame(client.query('select"voltage","quality"from"raw_data"."volrage"wheretime>now()-24h;').get_points()),以生成内存空间存放指定的数据至dataframe结构中。为实现上述目的及其他相关目的,本申请的第二方面提供一种基于pandas库与InfluxDB数据库的数据管理系统,包括:数据采集模块,用于定时采集数据;数据存储模块,用于根据数据属性分类将采集到的数据存储至带有时间标志的字典结构中,并添加字典至pandas库的dataframe结构中;数据写入模块,用于利用python的缓存技术进行数据缓存,并利用python的treading模块设置定时线程,以将json文件中的缓存数据转码至dataframe结构中,并通过python的InfluxDB的API接口进行大批量数据写入;数据处理模块,用于利用pandas库对缓存数据进行数据处理,并生成新的dataframe结构数据;策略设置模块,用于对InfluxDB数据库设置数据保留策略;过期数据转存模块,用于对于过期的历史数据,利用python脚本并开设定时任务进程,并通过pandas库和InfluxDB数据库的API接口读取过期的历史数据至dataframe数据结构中,从而以文件形式进行存储。于本申请的第二方面的一些实施例中,所述数据管理系统还包括:历史数据读取模块,用于通过pandas库和InfluxDB数据库的API接口读取指定时段的历史数据至dataframe数据结构中;历史数据处理模块,用于对存储至pandas库中的指定时间段历史数据进行进一步的复杂数据处理,并将数据分析结果反馈给用户。为实现上述目的及其他相关目的,本申请的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于pandas库与InfluxDB数据库的数据管理方法。为实现上述目的及其他相关目的,本申请的第四方面提供一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述基于pandas库与InfluxDB数据库的数据管理方法。如上所述,本申请的基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质,具有以下有益效果:本专利技术采用的是pandas库和InfluxDB数据库相结合的技术,目的在于利用pandas库对InfluxDB数据库的海量数据进行数据处理与分析,对高频刷新的海量数据有着良好的应用。由于InfluxDB数据库舍弃了数据更新和删除功能,集中强化了数据写入和查询,非常符合Pandas库的数据库接口特性,这样可以充分发挥Pandas库的数据分析和处理功能,节省了以往与传统数据库连接、读取和写入的时间。附图说明图1显示为本申请一实施例中基于pandas库与InfluxDB数据库的数据管理方法的流程示意图。图2显示为本申请一实施例中基于pandas库与InfluxDB数据库的数据管理系统的结构示意图。图3显示为本申请一实施例中电子终端的结构示意图。具体实施方式以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。需要说明的是,在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本申请的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权本文档来自技高网...

【技术保护点】
1.一种基于pandas库与InfluxDB数据库的数据管理方法,其特征在于,包括:/n定时采集数据;/n根据数据属性分类将采集到的数据存储至带有时间标志的字典结构中,并添加字典至pandas库的dataframe结构中;/n利用python的缓存技术进行数据缓存,并利用python的treading模块设置定时线程,以将json文件中的缓存数据转码至dataframe结构中,并通过python的InfluxDB的API接口进行大批量数据写入;/n利用pandas库对缓存数据进行数据处理,并生成新的dataframe结构数据;/n对InfluxDB数据库设置数据保留策略;/n对于过期的历史数据,利用python脚本并开设定时任务进程,并通过pandas库和InfluxDB数据库的API接口读取过期的历史数据至dataframe数据结构中,从而以文件形式进行存储。/n

【技术特征摘要】
1.一种基于pandas库与InfluxDB数据库的数据管理方法,其特征在于,包括:
定时采集数据;
根据数据属性分类将采集到的数据存储至带有时间标志的字典结构中,并添加字典至pandas库的dataframe结构中;
利用python的缓存技术进行数据缓存,并利用python的treading模块设置定时线程,以将json文件中的缓存数据转码至dataframe结构中,并通过python的InfluxDB的API接口进行大批量数据写入;
利用pandas库对缓存数据进行数据处理,并生成新的dataframe结构数据;
对InfluxDB数据库设置数据保留策略;
对于过期的历史数据,利用python脚本并开设定时任务进程,并通过pandas库和InfluxDB数据库的API接口读取过期的历史数据至dataframe数据结构中,从而以文件形式进行存储。


2.根据权利要求1所述的基于pandas库与InfluxDB数据库的数据管理方法,其特征在于,所述方法还包括:
通过pandas库和InfluxDB数据库的API接口读取指定时段的历史数据至dataframe数据结构中;
对存储至pandas库中的指定时间段历史数据进行进一步的复杂数据处理,并将数据分析结果反馈给用户。


3.根据权利要求2所述的基于pandas库与InfluxDB数据库的数据管理方法,其特征在于,所述对存储至pandas库中的指定时间段历史数据进行进一步的复杂数据处理包括:通过numpy库进行数据线性拟合;matplotlib库进行数据绘图和成像。


4.根据权利要求1所述的基于pandas库与InfluxDB数据库的数据管理方法,其特征在于,所述利用pandas库对缓存数据进行数据处理,并生成新的dataframe结构数据,包括:设置数据处理线程,将缓存数据通过pandas库的数据处理功能进行数据清洗和再转换,并生成新的dataframe结构。


5.根据权利要求1所述的基于pandas库与InfluxDB数据库的数据管理方法,其特征在于,所述数据保留策略包括历史数据的保留时限。


6.根据权利要求1所述的基于pandas库与InfluxDB数据库的数据管理方法,其特征在于,所述通过pandas库和InfluxDB数据库的API接口读取过期的历史数据至dataframe数据...

【专利技术属性】
技术研发人员:尚德华谢思奇
申请(专利权)人:傲普上海新能源有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1