CN111914013B - 基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质 - Google Patents
基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质 Download PDFInfo
- Publication number
- CN111914013B CN111914013B CN202010815341.XA CN202010815341A CN111914013B CN 111914013 B CN111914013 B CN 111914013B CN 202010815341 A CN202010815341 A CN 202010815341A CN 111914013 B CN111914013 B CN 111914013B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- pandas
- library
- dataframe
- 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
- 208000025174 PANDAS Diseases 0.000 title claims abstract description 92
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 title claims abstract description 92
- 235000016496 Panda oleosa Nutrition 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000013523 data management Methods 0.000 title claims abstract description 36
- 240000000220 Panda oleosa Species 0.000 title 1
- 240000004718 Panda Species 0.000 claims abstract description 91
- 238000012545 processing Methods 0.000 claims abstract description 54
- 230000006870 function Effects 0.000 claims abstract description 20
- 238000007405 data analysis Methods 0.000 claims abstract description 11
- 238000005516 engineering process Methods 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 13
- 230000014759 maintenance of location Effects 0.000 claims description 13
- 238000013500 data storage Methods 0.000 claims description 9
- 238000000547 structure data Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000013515 script Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 8
- 238000004140 cleaning Methods 0.000 claims description 4
- 238000003384 imaging method Methods 0.000 claims description 3
- 238000013506 data mapping Methods 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
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/25—Integrating or interfacing systems involving database management systems
-
- 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质,本发明采用的是pandas库和InfluxDB数据库相结合的技术,目的在于利用pandas库对InfluxDB数据库的海量数据进行数据处理与分析,对高频刷新的海量数据有着良好的应用。由于InfluxDB数据库舍弃了数据更新和删除功能,集中强化了数据写入和查询,非常符合Pandas库的数据库接口特性,这样可以充分发挥Pandas库的数据分析和处理功能,节省了以往与传统数据库连接、读取和写入的时间。
Description
技术领域
本申请涉及数据管理技术领域,特别是涉及基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质。
背景技术
大数据发展已成趋势,同时对数据采集的规模也越来越趋向于集中式分布和群聚式采集,故而数据的存储和处理需求也在迅速增长。由于数据量庞大,所产生的数据属性也增长许多,故而传统的关系型数据库所使用的根据需求建立数据表,再通过指定数据属性存储数据的方法已经很难满足高频巨量数据的存储,且效率低下,占用资源空间大。
因此,本领域亟需一种能够解决上述数据存储带来的问题,同时也能解决存储数据带来的冗余问题的技术方案。
发明 内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质,用于解决现有技术中的问题。
为实现上述目的及其他相关目的,本申请的第一方面提供一种基于pandas库与InfluxDB数据库的数据管理方法,包括:定时采集数据;根据数据属性分类将采集到的数据存储至带有时间标志的字典结构中,并添加字典至pandas库的dataframe结构中;利用python的缓存技术进行数据缓存,并利用python的threading模块设置定时线程,以将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″where time>now()-24h;′).get_points()),以生成内存空间存放指定的数据至dataframe结构中。
为实现上述目的及其他相关目的,本申请的第二方面提供一种基于pandas库与InfluxDB数据库的数据管理系统,包括:数据采集模块,用于定时采集数据;数据存储模块,用于根据数据属性分类将采集到的数据存储至带有时间标志的字典结构中,并添加字典至pandas库的dataframe结构中;数据写入模块,用于利用python的缓存技术进行数据缓存,并利用python 的threading模块设置定时线程,以将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显示为本申请一实施例中电子终端的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本申请的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
在本申请中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”、“固持”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
由于数据量日趋啊,所产生的数据属性也增长许多,故而传统的关系型数据库所使用的根据需求建立数据表,再通过指定数据属性存储数据的方法已经很难满足高频巨量数据的存储,且效率低下,占用资源空间大。
有鉴于此,本发明提出一种基于pandas库与InfluxDB数据库的混合执行SQL和Python 脚本的数据存储和处理方案,其特点在于:1.通过数据接口对数据进行采集,将采集到的原始数据存储至pandas的dataframe数据结构中,再通过InfluxDB的api接口存储至指定数据块;2.使用pandas读取InfluxDB原始数据,并对原始数据进行清洗和处理;3.将处理后的数据再通过pandas与InfluxDB的api接口存储至InfluxDB的处理数据存储块;4.通过pandas 读取InfluxDB指定时间段的历史数据,对历史数据进行处理。本发明适用于高频数据更新应用场景,可提高数据存储的效率、扩展数据处理的功能。
为了使本发明的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本发明实施例中的技术方案的进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定发明。
如图1所示,展示了本发明一实施例中基于pandas库与InfluxDB数据库的数据管理方法的流程示意图。
需说明的是,本实施例提出的数据管理方法可应用于控制器,例如ARM(AdvancedRISC Machines)控制器、FPGA(Field Programmable Gate Array)控制器、SoC(System onChip) 控制器、DSP(Digital Signal Processing)控制器、或者MCU(MicorcontrollerUnit)控制器等等;也可应用于台式电脑、笔记本电脑、平板电脑、智能手机、智能电视、个人数字助理 (Personal Digital Assistant,简称PDA)等个人电脑;还可应用于服务器,所述服务器可以根据功能、负载等多种因素布置在一个或多个实体服务器上,也可以由分布的或集中的服务器集群构成。本实施例的数据管理方法具体包括如下各个步骤。
步骤S101:定时采集数据。具体来说,可通过python对数据进行轮巡采集,例如通过爬虫等网络工具采集网站数据。
步骤S102:根据数据属性分类将采集到的数据存储至带有时间标志的字典结构中,并添加字典至pandas库的dataframe结构中。
步骤S103:利用python的缓存技术进行数据缓存,并利用python的threading模块设置定时线程,以将json文件中的缓存数据转码至dataframe结构中,并通过python的InfluxDB的API接口进行大批量数据写入。举例来说,可将dataframe结构中的数据转换为以时间为标签的json字段并存储为临时文件。
步骤S104:利用pandas库对缓存数据进行数据处理,并生成新的dataframe结构数据。
具体来说,设置数据处理线程,将缓存数据通过pandas库的数据处理功能进行数据清洗和再转换,并生成新的dataframe结构。例如,使用dropna函数去除采集数据中的空值;使用isin、>、<、!=等符号对dataframe进行筛选;利用运算符号以及mean和sum函数对dataframe结构数据进行行列计算以及平均值、总和等简单计算。
重复步骤S103,从而对pandas库处理后的数据进行缓存,并将pandas库处理后的数据写入InfluxDB数据库的数据块中。
步骤S105:对InfluxDB数据库设置数据保留策略;所述数据保留策略包括历史数据的保留时限。举例来说,通过以下语句CREATE RETENTION POLICY″2_days″ON″raw_data″DURATION 2d REPLICATION 1 DEFAULT,可对raw_data数据块中的数据进行两天的存留,而超过两天的数据将会自动清除。其中2_days是策略名称;raw_data是对应存储数据块;DURATION 2d代表数据持续时间为两天;REPLICATION 1为副本个数,数据为1;DEFAULT 代表是否为应用策略。
步骤S106:对于过期的历史数据,利用python脚本并开设定时任务进程,并通过pandas 库和InfluxDB数据库的API接口读取过期的历史数据至dataframe数据结构中,从而以文件形式进行存储。
步骤S107:通过pandas库和InfluxDB数据库的API接口读取指定时段的历史数据至dataframe数据结构中。
在一些示例中,通过pandas库和InfluxDB数据库的API接口读取指定时段的历史数据至dataframe数据结构中的方式如下:temp=pd.DataFrame(client.query(′select″voltage″,″quality″from″raw_data″.″volrage″where time>now()-24h;′).get_points()),即可生成内存空间存放指定的数据至dataframe结构中。
步骤S108:对存储至pandas库中的指定时间段历史数据进行进一步的复杂数据处理,并将数据分析结果反馈给用户。举例来说,通过numpy库进行数据线性拟合;matplotlib库进行数据绘图和成像,得出的数据分析结果可通过web api接口反馈用户。对于过期的历史数据,可通过python脚本,并开设定时任务进程,通过步骤S106中读取数据的方法历史数据通过文件形式进行存储。
值得说明的是,InfluxDB数据库是开源的分布式时序、时间和指标数据库,无需外部依赖。其中,时间序列数据库里的数据格式必须包含Timestamp字段的数据,这对于目前几乎都包含时间标签的大数据几乎没有影响。Influxdb数据库的优点有:1)无特殊依赖;2)自带数据过期功能;3)自带权限管理,精细到“表”级别;4)原生的HTTP支持,内置HTTP API;5)强大的类SQL语法,支持min,max,sum,count,mean,median等一系列函数,方便统计;6)可自由创建数据表,自定义数据表结构;7)高速聚合查询;8)按不同时间段进行聚合查询;9)内置持续查询功能,定时计算指定时间段的数据,插入到指定表中,可以理解为定时归集数据;10)水平扩展,支持集群模式。
而本发明采用的是pandas库和InfluxDB数据库相结合的技术,目的在于利用pandas库对InfluxDB数据库的海量数据进行数据处理与分析,对高频刷新的海量数据有着良好的应用。由于InfluxDB数据库舍弃了数据更新和删除功能,集中强化了数据写入和查询,非常符合 Pandas库的数据库接口特性,这样可以充分发挥Pandas库的数据分析和处理功能,节省了以往与传统数据库连接、读取和写入的时间。
如图2所示,展示了本发明一实施例中基于pandas库与InfluxDB数据库的数据管理系统的结构示意图。本实施例的数据管理系统200包括数据采集模块201、数据存储模块202、数据写入模块203、数据处理模块204、策略设置模块205、过期数据转存模块206。
具体来说,数据采集模块201用于定时采集数据;数据存储模块202用于根据数据属性分类将采集到的数据存储至带有时间标志的字典结构中,并添加字典至pandas库的dataframe结构中;数据写入模块203用于利用python的缓存技术进行数据缓存,并利用python的 threading模块设置定时线程,以将json文件中的缓存数据转码至dataframe结构中,并通过 python的InfluxDB的API接口进行大批量数据写入;数据处理模块204用于利用pandas库对缓存数据进行数据处理,并生成新的dataframe结构数据;策略设置模块205用于对InfluxDB数据库设置数据保留策略;过期数据转存模块206用于对于过期的历史数据,利用python脚本并开设定时任务进程,并通过pandas库和InfluxDB数据库的API接口读取过期的历史数据至dataframe数据结构中,从而以文件形式进行存储。
在一些示例中,数据管理系统200还包括历史数据读取模块207和历史数据处理模块208。历史数据读取模块207用于通过pandas库和InfluxDB数据库的API接口读取指定时段的历史数据至dataframe数据结构中;历史数据处理模块208用于对存储至pandas库中的指定时间段历史数据进行进一步的复杂数据处理,并将数据分析结果反馈给用户。
需说明的是,本实施例中基于pandas库与InfluxDB数据库的数据管理系统与上文实施例中基于pandas库与InfluxDB数据库的数据管理方法的实施方式类似,故而不再赘述。理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,数据写入模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上数据写入模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital signal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统 (system-on-a-chip,简称SOC)的形式实现。
如图3所示,展示了本发明一实施例提供的再一种电子终端的结构示意图。本实例提供的电子终端,包括:处理器31、存储器32、通信器33;存储器32通过系统总线与处理器31和通信器33连接并完成相互间的通信,存储器32用于存储计算机程序,通信器33用于和其他设备进行通信,处理器31用于运行计算机程序,使电子终端执行如上基于pandas库与InfluxDB数据库的数据管理方法的各个步骤。
上述提到的系统总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称 PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备 (例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于pandas库与InfluxDB数据库的数据管理方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本申请提供基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质,本发明采用的是pandas库和InfluxDB数据库相结合的技术,目的在于利用pandas库对InfluxDB数据库的海量数据进行数据处理与分析,对高频刷新的海量数据有着良好的应用。由于InfluxDB数据库舍弃了数据更新和删除功能,集中强化了数据写入和查询,非常符合 Pandas库的数据库接口特性,这样可以充分发挥Pandas库的数据分析和处理功能,节省了以往与传统数据库连接、读取和写入的时间。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (10)
1.一种基于pandas库与InfluxDB数据库的数据管理方法,其特征在于,包括:
定时采集数据;
根据数据属性分类将采集到的数据存储至带有时间标志的字典结构中,并添加字典至pandas库的dataframe结构中;
利用python的缓存技术进行数据缓存,并利用python的threading模块设置定时线程,以将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数据结构中,执行如下语句:temp=pd.DataFrame(client.query(′select″voltage″,″quality″from″raw_data″.″volrage″where time>now()-24h;′).get_points()),以生成内存空间存放指定的数据至dataframe结构中。
7.一种基于pandas库与InfluxDB数据库的数据管理系统,其特征在于,包括:
数据采集模块,用于定时采集数据;
数据存储模块,用于根据数据属性分类将采集到的数据存储至带有时间标志的字典结构中,并添加字典至pandas库的dataframe结构中;
数据写入模块,用于利用python的缓存技术进行数据缓存,并利用python的threading模块设置定时线程,以将json文件中的缓存数据转码至dataframe结构中,并通过python的InfluxDB的API接口进行大批量数据写入;
数据处理模块,用于利用pandas库对缓存数据进行数据处理,并生成新的dataframe结构数据;
策略设置模块,用于对InfluxDB数据库设置数据保留策略;
过期数据转存模块,用于对于过期的历史数据,利用python脚本并开设定时任务进程,并通过pandas库和InfluxDB数据库的API接口读取过期的历史数据至dataframe数据结构中,从而以文件形式进行存储。
8.根据权利要求7所述的基于pandas库与InfluxDB数据库的数据管理系统,其特征在于,所述系统还包括:
历史数据读取模块,用于通过pandas库和InfluxDB数据库的API接口读取指定时段的历史数据至dataframe数据结构中;
历史数据处理模块,用于对存储至pandas库中的指定时间段历史数据进行进一步的复杂数据处理,并将数据分析结果反馈给用户。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述基于pandas库与InfluxDB数据库的数据管理方法。
10.一种电子终端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求1至6中任一项所述基于pandas库与InfluxDB数据库的数据管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010815341.XA CN111914013B (zh) | 2020-08-13 | 2020-08-13 | 基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010815341.XA CN111914013B (zh) | 2020-08-13 | 2020-08-13 | 基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111914013A CN111914013A (zh) | 2020-11-10 |
CN111914013B true CN111914013B (zh) | 2023-02-28 |
Family
ID=73284667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010815341.XA Active CN111914013B (zh) | 2020-08-13 | 2020-08-13 | 基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111914013B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112418131A (zh) * | 2020-12-01 | 2021-02-26 | 佛山市南海区广工大数控装备协同创新研究院 | 一种基于半锚式检测器的目标检测方法 |
CN112800036A (zh) * | 2020-12-30 | 2021-05-14 | 银盛通信有限公司 | 一种报表分析图自动生成及展示方法及系统 |
CN114609985B (zh) * | 2022-03-11 | 2024-01-26 | 傲普(上海)新能源有限公司 | 一种ems系统的控制方法、装置、介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107404417A (zh) * | 2017-07-25 | 2017-11-28 | 郑州云海信息技术有限公司 | 一种监控数据的处理方法、处理装置及处理系统 |
CN111008021A (zh) * | 2019-12-24 | 2020-04-14 | 象辑知源(武汉)科技有限公司 | 一种基于Presto的支持多数据源的混合执行SQL和python脚本的方法及系统 |
CN111177589A (zh) * | 2019-12-31 | 2020-05-19 | 税友软件集团股份有限公司 | 一种地址信息的查询方法、装置、设备及存储介质 |
CN111275268A (zh) * | 2020-02-27 | 2020-06-12 | 中国联合网络通信集团有限公司 | 批价进程效率预测方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3528435B1 (en) * | 2018-02-16 | 2021-03-31 | Juniper Networks, Inc. | Automated configuration and data collection during modeling of network devices |
-
2020
- 2020-08-13 CN CN202010815341.XA patent/CN111914013B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107404417A (zh) * | 2017-07-25 | 2017-11-28 | 郑州云海信息技术有限公司 | 一种监控数据的处理方法、处理装置及处理系统 |
CN111008021A (zh) * | 2019-12-24 | 2020-04-14 | 象辑知源(武汉)科技有限公司 | 一种基于Presto的支持多数据源的混合执行SQL和python脚本的方法及系统 |
CN111177589A (zh) * | 2019-12-31 | 2020-05-19 | 税友软件集团股份有限公司 | 一种地址信息的查询方法、装置、设备及存储介质 |
CN111275268A (zh) * | 2020-02-27 | 2020-06-12 | 中国联合网络通信集团有限公司 | 批价进程效率预测方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111914013A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914013B (zh) | 基于pandas库与InfluxDB数据库的数据管理方法、系统、终端及介质 | |
CN110362544B (zh) | 日志处理系统、日志处理方法、终端及存储介质 | |
US8949222B2 (en) | Changing the compression level of query plans | |
CN110597851B (zh) | 一种基于大数据的数据处理及报表展示方法 | |
CN103699620A (zh) | 面向对象中利用orm框架实现数据库操作的方法及系统 | |
CN104252536A (zh) | 一种基于hbase的上网日志数据查询方法及装置 | |
CN107301214A (zh) | 在hive中数据迁移方法、装置及终端设备 | |
CN109471893B (zh) | 网络数据的查询方法、设备及计算机可读存储介质 | |
CN107480268A (zh) | 数据查询方法及装置 | |
CN115033646A (zh) | 一种基于Flink&Doris构建实时数仓系统的方法 | |
CN112788115A (zh) | 一种基于异步处理的文件传输方法及系统 | |
CN112631754A (zh) | 数据处理方法、装置、存储介质及电子装置 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
EP3779720A1 (en) | Transaction processing method and system, and server | |
CN105335482A (zh) | 面向海量分布式数据库的批量插入方法 | |
CN107169047A (zh) | 一种实现数据缓存的方法及装置 | |
CN114238379A (zh) | 基于sql生成器的报表查询方法和系统 | |
CN114969441A (zh) | 基于图数据库的知识挖掘引擎系统 | |
CN110569243A (zh) | 一种数据查询方法、数据查询插件和数据查询服务器 | |
CN115809311B (zh) | 知识图谱的数据处理方法、装置及计算机设备 | |
CN110795494A (zh) | 缓存数据同步异步化的自动化测试方法和装置 | |
CN114328486A (zh) | 基于模型的数据质量核查方法及装置 | |
Li et al. | SP-phoenix: a massive spatial point data management system based on phoenix | |
CN104424309A (zh) | 一种基于科技媒体云计算非结构化数据处理方法 | |
CN116484096A (zh) | 一种召回数据的管理方法、装置及电子设备 |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Data management methods, systems, terminals, and media based on Pandas library and InfluxDB database Granted publication date: 20230228 Pledgee: Agricultural Bank of China Limited Shanghai Huangpu Sub branch Pledgor: Aopu (Shanghai) new energy Co.,Ltd. Registration number: Y2024310000206 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |