电池堆的充放电数据的处理方法、系统及存储介质与流程

文档序号:16536965发布日期:2019-01-08 19:59阅读:328来源:国知局
电池堆的充放电数据的处理方法、系统及存储介质与流程

本发明涉及电池堆数据处理技术领域,尤其涉及一种电池堆的充放电数据的处理方法、系统及存储介质。



背景技术:

现有的bams(电池堆管理系统)在充放电过程中,实时采集电池管理模组(bmu)中每一个电池单体的充放电状态参量,并将采集到的充放电状态参量存储至数据库中。

但是,由于在采集过程中,每采集一次数据,则执行一个存储操作,所以,cpu需要大量执行该存储操作,进而存在处理速率慢,以及处理不及时致使数据丢失的问题。



技术实现要素:

本发明的目的在于提供一种电池堆的充放电数据的处理方法、系统及存储介质,以解决现有的电池堆的充放电数据的处理过程中,处理速率慢且数据易丢失的技术问题。

为了解决上述问题,本发明提供了一种电池堆的充放电数据的处理方法,其包括如下步骤:

采集充放电状态参量;

检测第一缓冲区是否存在可用缓存空间;

若第一缓冲区存在可用缓存空间,则将充放电状态参量存储至第一缓冲区内;

若第一缓冲区不存在可用缓存空间,则将充放电状态参量存储至第二缓冲区内,并将第一缓冲区内的充放电数据信息存储至数据库后,清空第一缓冲区,以第二缓冲区不存在可用缓存空间时,继续存储后续充放电状态参量。

作为本发明的进一步改进,采集充放电状态参量的步骤,包括:

创建多个第一线程,每一个第一线程对应一个电池族;

每一个第一线程采集对应的电池族的充放电状态参量。

作为本发明的进一步改进,采集充放电状态参量的步骤之前,还包括:

当达到第一预设时间点时,在数据库内,创建一个以日期命名的第一文件夹;

在第一文件夹内,创建多个数据库文件,每一个数据库文件对应一个电池族;

在数据库文件内,创建多个数据库表,每一个数据库表对应一个电池管理模组;

在数据库表内,创建多个数据项,每一个数据项对应一个电池单体。

作为本发明的进一步改进,将第一缓冲区内和第二缓冲区内的充放电数据信息存储至数据库的步骤之后,还包括:

当达到第二预设时间点时,对第一文件夹内的数据信息进行压缩处理,并创建一个以日期命名的第二文件夹,第二预设时间点与第一预设时间点的日期不同。

作为本发明的进一步改进,采用tgz格式对第一文件夹内的数据信息进行压缩处理。

作为本发明的进一步改进,将第一缓冲区内的充放电数据信息存储至数据库的步骤,包括:

将属于同一个目标数据库文件、同一个目标数据库表、且同一个目标数据项的至少一个目标充放电状态参量存储至同一个存储位置。

作为本发明的进一步改进,将属于同一个目标数据库文件、同一个目标数据库表、且同一个目标数据项的至少一个目标充放电状态参量存储至同一个存储位置的步骤,包括:

创建多个第二线程,每一个第二线程对应一个电池族;

每一个第二线程将属于同一个目标数据库表、且同一个目标数据项的至少一个目标充放电状态参量存储至同一个存储位置。

为了解决上述问题,本发明还提供了一种电池堆的充放电数据的处理系统,其包括处理器和存储器,处理器耦接存储器,存储器上存储有可在处理器上执行的计算机程序;

处理器执行计算机程序,实现上述的电池堆的充放电数据的处理方法。

为了解决上述问题,本发明还提供了一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述的电池堆的充放电数据的处理方法中的步骤。

与现有技术相比,本发明采用第一缓冲区和第二缓冲区,交替存储实时采集到的充放电状态参量,当第一缓冲区或第二缓冲区存满时,则将第一缓冲区或第二缓冲区内的数据信息存储至数据库中,既减少了数据采集以及存储过程中的执行存储操作的次数,从而提升了cpu的数据吞吐率,也避免了数据量过多时,某些数据的漏处理的问题发生。

附图说明

图1为本发明电池堆的充放电数据的处理方法第一个实施例的流程示意图;

图2为本发明电池堆的充放电数据的处理方法中参量采集流程一个实施例的流程示意图;

图3为本发明电池堆的充放电数据的处理方法第二个实施例的流程示意图;

图4为本发明电池堆的充放电数据的处理方法中存储流程一个实施例的流程示意图;

图5为本发明电池堆的充放电数据的处理系统第一个实施例的功能模块示意图;

图6为本发明电池堆的充放电数据的处理系统中采集模块一个实施例的功能模块示意图;

图7为本发明电池堆的充放电数据的处理系统第二个实施例的功能模块示意图;

图8为本发明电池堆的充放电数据的处理系统中存储处理模块一个实施例的功能模块示意图;

图9为本发明电池堆的充放电数据的处理系统一个实施例的框架方框示意图。

具体实施方式

下面将结合本发明实施例中的附图,对实施例中的技术方案进行清楚、完整地描述,附图中类似的组件标号代表类似的组件。显然,以下将描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1-图2展示了本发明电池堆的充放电数据的处理方法的一个实施例。在本实施例中,如图1所示,该电池堆的充放电数据的处理方法,包括如下步骤:

步骤s1,采集充放电状态参量。

在本实施例的基础上,其他实施例中,参见图2,步骤s2,包括:

步骤s10,创建多个第一线程,每一个第一线程对应一个电池族。

步骤s11,每一个第一线程采集对应的电池族的充放电状态参量。

本实施例采用多个线程并发运行,可以实现多个电池族的充放电状态参量的采集,从而提升了采集速率。

步骤s2,检测第一缓冲区是否存在可用缓存空间;若第一缓冲区存在可用缓存空间,则执行步骤s3。若第一缓冲区不存在可用缓存空间,则执行步骤s4。

步骤s3,将充放电状态参量存储至第一缓冲区内。

步骤s4,将充放电状态参量存储至第二缓冲区内,并将第一缓冲区内的充放电数据信息存储至数据库后,清空第一缓冲区。

步骤s5,第二缓冲区作为新的第一缓冲区,第一缓冲区作为新的第二缓冲区。执行步骤s2。

本发明采用第一缓冲区和第二缓冲区,交替存储实时采集到的充放电状态参量,当第一缓冲区或第二缓冲区存满时,则将第一缓冲区或第二缓冲区内的数据信息存储至数据库中,既减少了数据采集以及存储过程中的执行存储操作的次数,从而提升了cpu的数据吞吐率,也避免了数据量过多时,某些数据的漏处理的问题发生。

图3-图4展示了本发明电池堆的充放电数据的处理方法的一个实施例。在本实施例中,如图3所示,该电池堆的充放电数据的处理方法,包括如下步骤:

步骤s10,当达到第一预设时间点时,在数据库内,创建一个以日期命名的第一文件夹。

在本实施例中,当到达2018年7月09日的00:00:00时,在数据库中,创建一个2018.7.09命名的第一文件夹。

步骤s11,在第一文件夹内,创建多个数据库文件,每一个数据库文件对应一个电池族。

在本实施例中,譬如:创建命名如下:xxxxxxxbcms1.db的数据库文件。

步骤s12,在数据库文件内,创建多个数据库表,每一个数据库表对应一个电池管理模组。

在本实施例中,譬如:创建命名如下:bcbmuzone1的数据库表。

步骤s13,在数据库表内,创建多个数据项,每一个数据项对应一个电池单体。

本实施例根据不同电池族、不同电池管理模组以及不同电池单体进行分类存储,便于后续进行分析处理,从而提升分析准确率。

步骤s14,采集充放电状态参量。

本实施例的步骤s14与步骤s1类似,在此不再赘述。

步骤s15,检测第一缓冲区是否存在可用缓存空间;若第一缓冲区存在可用缓存空间,则执行步骤s16。若第一缓冲区不存在可用缓存空间,则执行步骤s17。

本实施例的步骤s15与步骤s2类似,在此不再赘述。

步骤s16,将充放电状态参量存储至第一缓冲区内。

本实施例的步骤s16与步骤s3类似,在此不再赘述。

步骤s17,将充放电状态参量存储至第二缓冲区内,并将第一缓冲区内的充放电数据信息存储至数据库后,清空第一缓冲区。

在上述实施例的基础上,其他实施例中,该步骤s17中第一缓冲区的充放电数据信息存储至数据库步骤,具体包括:

步骤s170,将属于同一个目标数据库文件、同一个目标数据库表、且同一个目标数据项的至少一个目标充放电状态参量存储至同一个存储位置。

具体地,在本实施例中,以日期2018.7.09命名的第一文件夹内,创建了命名如下:xxxxxxxbcmsi.db的n个数据库文件,其中,i=1,…n,每一个数据库文件内,创建了命名如下:bcbmuzonej的m个数据库表,其中,i=1,…m,每一个数据库表内,包含了多个数据项k,其中,i=1,…x。

进一步地,第1个电池族第1个电池管理模组第1个电池单体采集的充放电状态参量存储至xxxxxxxbcms1.db的bcbmuzone1的第1个数据项内。

进一步地,参见图4,该步骤s170,包括:

步骤s1700,创建多个第二线程,每一个第二线程对应一个电池族。

步骤s1701,每一个第二线程将属于同一个目标数据库表、且同一个目标数据项的至少一个目标充放电状态参量存储至同一个存储位置。

本实施例通过多个线程实现充放电状态参量的存储操作,从而提升了存储速率。

步骤s18,第二缓冲区作为新的第一缓冲区,第一缓冲区作为新的第二缓冲区。

步骤s19,检测是否达到第二预设时间点。当达到第二预设时间点时,执行步骤s20。当未达到第二预设时间点时,执行步骤s15。

步骤s20,对第一文件夹内的数据信息进行压缩处理,并创建一个以日期命名的第二文件夹,第二预设时间点与第一预设时间点的日期不同。

在本实施例中,当到达2018年07月10日的的00:00:00时,将第一文件夹内的数据信息进行压缩处理,并在数据库中,创建一个2018.7.10命名的第二文件夹。

具体地,在上述实施例的基础上,其他实施例中,采用tgz格式对第一文件夹内的数据信息进行压缩处理。

在本实施例中,采用tgz格式对第一文件夹内的数据信息进行压缩处理,压缩比例最高达10:1,这样可以大大增加数据库的数据存储量,从而提升了存储有效率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

图5展示了本发明电池堆的充放电数据的处理系统的一个实施例。在本实施例中,参见图5,该电池堆的充放电数据的处理系统包括采集模块10、检测模块11、缓存模块12和存储处理模块13。

其中,采集模块10,用于采集充放电状态参量;检测模块11,用于检测第一缓冲区是否存在可用缓存空间;缓存模块12,用于若第一缓冲区存在可用缓存空间,则将充放电状态参量存储至第一缓冲区内;存储处理模块13,用于若第一缓冲区不存在可用缓存空间,则将充放电状态参量存储至第二缓冲区内,并将第一缓冲区内的充放电数据信息存储至数据库后,清空第一缓冲区,以第二缓冲区不存在可用缓存空间时,继续存储后续充放电状态参量。

在上述实施例的基础上,其他实施例中,参见图6,该采集模块10包括第一创建单元100和采集单元101。

其中,第一创建单元100,用于创建多个第一线程,每一个第一线程对应一个电池族;采集单元101,用于每一个第一线程采集对应的电池族的充放电状态参量。

在上述实施例的基础上,其他实施例中,参见图7,该电池堆的充放电数据的处理系统还包括文件夹创建模块20、数据库文件创建模块21、数据库表创建模块22和数据项创建模块23。

其中,文件夹创建模块20,用于当达到第一预设时间点时,在数据库内,创建一个以日期命名的第一文件夹;数据库文件创建模块21,用于在第一文件夹内,创建多个数据库文件,每一个数据库文件对应一个电池族;数据库表创建模块22,用于在数据库文件内,创建多个数据库表,每一个数据库表对应一个电池管理模组;数据项创建模块23,用于在数据库表内,创建多个数据项,每一个数据项对应一个电池单体。

在上述实施例的基础上,其他实施例中,参见图7,电池堆的充放电数据的处理系统还包括压缩处理模块30。

其中,压缩处理模块30,用于当达到第二预设时间点时,对第一文件夹内的数据信息进行压缩处理,并创建一个以日期命名的第二文件夹,第二预设时间点与第一预设时间点的日期不同。

具体地,压缩处理模块30,采用tgz格式对第一文件夹内的数据信息进行压缩处理。

在上述实施例的基础上,其他实施例中,存储处理模块13,用于将属于同一个目标数据库文件、同一个目标数据库表、且同一个目标数据项的至少一个目标充放电状态参量存储至同一个存储位置。

具体地,参见图8,该存储处理模块13包括第二创建单元130和存储单元131。

其中,第二创建单元130,用于创建多个第二线程,每一个第二线程对应一个电池族;存储单元131,用于每一个第二线程将属于同一个目标数据库表、且同一个目标数据项的至少一个目标充放电状态参量存储至同一个存储位置。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将电池堆的充放电数据的处理系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

图9为本申请又一个实施例提供的电池堆的充放电数据的处理系统的示意框图,参见图9,该实施例中的移动终端包括:至少一个处理器80、存储器81以及存储在该存储器81中并可在处理器80上运行的计算机程序810。处理器80执行计算机程序810时,实现上述实施例描述的电池堆的充放电数据的处理方法中的步骤,例如:图1所示的步骤s1-步骤s4。或者,处理器80执行计算机程序810时,实现上述电池堆的充放电数据的处理系统实施例中各模块/单元的功能,例如:图5所示模块10-模块13的功能。

计算机程序810可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器81中,并由处理器80执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序810在电池堆的充放电数据的处理系统中的执行过程。

电池堆的充放电数据的处理系统包括但不仅限于处理器80和存储器81。本领域技术人员可以理解,图9仅仅是电池堆的充放电数据的处理系统的一个示例,并不构成对电池堆的充放电数据的处理系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电池堆的充放电数据的处理系统还可以包括输入设备、输出设备、网络接入设备、总线等。

处理器80可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器81可以是只读存储器、可存储静态信息和指令的静态存储设备、随机存取存储器、或者可存储信息和指令的动态存储设备,也可以是电可擦可编程只读存储器、只读光盘、或其他光盘存储、光碟存储、磁盘存储介质或者其他磁存储设备。存储器81与处理器80可以通过通信总线相连接,也可以和处理器80集成在一起。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的电池堆的充放电数据的处理系统和方法,可以通过其它的方式实现。例如,以上所描述的电池堆的充放电数据的处理系统实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

本申请实施例还提供了一种存储介质,用于存储计算机程序,其包含用于执行本申请上述电池堆的充放电数据的处理方法实施例所设计的程序数据。通过执行该存储介质中存储的计算机程序,可以实现本申请提供的电池堆的充放电数据的处理方法。

集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序810来指令相关的硬件来完成,计算机程序810可存储于一计算机可读存储介质中,该计算机程序810在被处理器80执行时,可实现上述各个方法实施例的步骤。其中,计算机程序810包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。

以上对发明的具体实施方式进行了详细说明,但其只作为范例,本发明并不限制与以上描述的具体实施方式。对于本领域的技术人员而言,任何对该发明进行的等同修改或替代也都在本发明的范畴之中,因此,在不脱离本发明的精神和原则范围下所作的均等变换和修改、改进等,都应涵盖在本发明的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1