发明内容
本发明提供一种储能电芯数据的存储方法、查询方法及采集存储系统,以节省储能电芯数据的存储空间。
为实现上述目的,本申请提供的技术方案如下:
本发明一方面提供一种储能电芯数据的存储方法,应用于储能电芯数据的采集存储系统,所述采集存储系统与被监控储能电池的各个电池管理系统相连;所述储能电芯数据的存储方法包括:
到达数据存储时刻时,在各个电池管理系统的信息族的时间射链上生成一个新的时间信息块;所述时间射链的起点为相应信息族的原点,所述原点中存储有相应电池管理系统所连接的全部电芯的编号;
在各个电池管理系统的信息族的各个电芯射链上生成相应电芯的电芯信息块,与相应信息族中新的时间信息块共同组成相应信息族的一个新的时间环链;各个所述电芯射链的起点均为相应信息族的原点。
优选的,在各个电池管理系统的信息族的各个电芯射链上生成相应电芯的电芯信息块,与相应信息族中新的时间信息块共同组成相应信息族的一个新的时间环链,包括:
在各个电池管理系统的信息族中,分别以新的时间信息块为起点兼终点,按照预设环接顺序,依次生成各个电芯的电芯信息块,进而组成相应信息族的一个新的时间环链。
优选的,所述时间信息块中存储的信息包括:时间块号、射链下一时间块地址、环链下一电芯块地址以及相应数据存储时刻的时间值;
所述电芯信息块中存储的信息包括:所述编号、环链下一块地址、射链下一电芯块地址以及在相应数据存储时刻下的电芯值。
优选的,所述依次生成各个电芯的电芯信息块的过程中,在生成每个电芯信息块时,均包括:
判断当前数据存储时刻下的电芯值是否与相同编号的电芯在上一数据存储时刻下的电芯值相同;
若两个电芯值相同,则在对上一数据存储时刻生成的电芯信息块的环链下一块地址进行修改的基础上,与上一数据存储时刻共用一个电芯信息块;
若两个电芯值不同,则生成一个新的电芯信息块。
优选的,在首次到达数据存储时刻之前,还包括:
根据电池管理系统的数量,建立存储地址表,并将所述存储地址表中的各个地址值分别与各个电池管理系统的信息族进行关联。
本发明另一方面还提供一种储能电芯数据的查询方法,应用于储能电芯数据的采集存储系统,所述采集存储系统与被监控储能电池的各个电池管理系统相连;所述储能电芯数据的查询方法包括:
根据接收到的查询信息,确定相应电池管理系统的信息族;所述信息族的原点中存储有相应电池管理系统所连接的全部电芯的编号;
若所述查询信息为电芯的编号,则获取相应信息族中与所述编号相对应的电芯射链上各个电芯信息块中存储的信息;所述电芯射链的起点为相应信息族的原点;
若所述查询信息为数据存储时刻,则先确定相应信息族中时间射链上与所述数据存储时刻相对应的时间信息块;所述时间射链的起点为相应信息族的原点;再获取与所述时间信息块处于同一时间环链上的各个电芯信息块中存储的信息。
优选的,所述时间信息块中存储的信息包括:时间块号、射链下一时间块地址、环链下一电芯块地址以及相应数据存储时刻的时间值;
所述电芯信息块中存储的信息包括:所述编号、环链下一块地址、射链下一电芯块地址以及在相应数据存储时刻下的电芯值。
优选的,在确定相应电池管理系统的信息族之后,还包括:
在存储地址表中查找到与相应电池管理系统的信息族相关联的地址值;
根据所述地址值查找到相应电池管理系统的信息族。
本发明第三方面还提供一种储能电芯数据的采集存储系统,包括:处理器、第一存储器和第二存储器;其中:
所述处理器用于执行所述第一存储器中存储的各个程序;
所述第一存储器中存储的程序包括如上述任一所述的储能电芯数据的存储方法,以及,如上述任一所述的储能电芯数据的查询方法;
所述第二存储器中存储有存储地址表和各个电池管理系统的信息族。
本发明提供的储能电芯数据的存储方法,到达数据存储时刻时,在各个电池管理系统的信息族的时间射链上生成一个新的时间信息块;然后在各个电池管理系统的信息族的各个电芯射链上生成相应电芯的电芯信息块,与相应信息族中新的时间信息块共同组成相应信息族的一个新的时间环链;使得每个信息族成为一个以其原点为起点的环射双链结构,以该结构进行数据存储,其存储结构紧凑、占用空间小。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明提供一种储能电芯数据的存储方法,以节省储能电芯数据的存储空间。
该储能电芯数据的存储方法应用于储能电芯数据的采集存储系统,如图1所示,该采集存储系统与被监控储能电池的各个电池管理系统(即图1中的BMS,BATTERYMANAGEMENT SYSTEM)相连。每个电池管理系统分别管理该被监控储能电池的部分电芯,并通过通信采集各个对应电芯的数据;然后该采集存储系统再通过通信获取各个电池管理系统的全部电芯数据,并以一次采集的一个电芯的电芯数据,称为一个电芯信息块,作为基本单位来进行数据存储;这些电芯信息块与作为时间标签的时间信息块以环形结构相连,称为时间环链;多次采集之后将会得到多个上述时间环链;将各个时间环链中的电芯信息块以电芯为区分做射线连接、形成电芯射链,并将各个时间信息块做射线连接、形成时间射链;最后,一个电池管理系统能够得到一个如图2a所示的环射双链的存储结构,以其作为一个单位,称为信息族。
请参见图3,该储能电芯数据的存储方法包括:在每次到达数据存储时刻时,先执行的步骤S101,以及,后执行的步骤S102;其中:
S101、在各个电池管理系统的信息族的时间射链上生成一个新的时间信息块;
图2a中每个信息族的原点,均存储有相应电池管理系统所连接的全部电芯的编号;从原点延伸出去的射线中,有1个时间射链和N-1个电芯射链,N为相应电池管理系统所连接的电芯数量,也即时间射链以及各个电芯射链的起点均为相应信息族的原点;其中,电芯射链是相应电芯在不同时间点存储的电芯数据,时间射链上的各个时间信息块分别是各个时间环链的时间标签、起点兼终点。
每到一个数据存储时刻,首先从时间射链上生成一个新的时间信息块,作为一个新的时间环链的起点,如图2b中虚线框内的时间信息块所示。
S102、在各个电池管理系统的信息族的各个电芯射链上生成相应电芯的电芯信息块,与相应信息族中新的时间信息块共同组成相应信息族的一个新的时间环链;
具体可以在各个电池管理系统的信息族中,分别以步骤S101中生成的新的时间信息块为起点兼终点,按照预设环接顺序,依次生成各个电芯的电芯信息块,进而组成相应信息族的一个新的时间环链。
每到一个数据存储时刻,如图2b中的虚线所示,在一个电池管理系统的信息族中,先生成一个新的时间信息块,比如2018/12/12 08:08:08,然后新生成1#电芯的最新电芯数据,并把新生成的1#电芯的最新电芯数据作为一个电芯信息块(如图2b中虚线框内的电芯信息块所示)挂到1#电芯的电芯射链上;依次类推,将2#、3#、4#等电芯数据分别挂接上去,形成一个新的时间环链。
本实施例提供的该储能电芯数据的存储方法,到达数据存储时刻时,在各个电池管理系统的信息族的时间射链上生成一个新的时间信息块;然后在各个电池管理系统的信息族的各个电芯射链上生成相应电芯的电芯信息块,与相应信息族中新的时间信息块共同组成相应信息族的一个新的时间环链;使得每个信息族成为一个以其原点为起点的环形多链的结构,以该结构进行数据存储,其存储结构紧凑、占用空间小。
实际应用中,可以设置时间信息块中存储的信息包括:时间块号、射链下一时间块地址、环链下一电芯块地址以及相应数据存储时刻的时间值,如图4a所示;根据该射链下一时间块地址,即可明确出时间射链上各个时间信息块的存储地址;根据该环链下一电芯块地址,即可明确出相应时间环链上的第一个电芯信息块存储地址。
并设置电芯信息块中存储的信息,也即电芯数据,包括:编号、环链下一块地址、射链下一电芯块地址以及在相应数据存储时刻下的电芯值,如图4b所示;根据该射链下一电芯块地址,即可明确出电芯射链上各个电芯信息块的存储地址;根据该环链下一块地址,即可明确出相应时间环链上各个电芯信息块存储地址。
每个电芯值均包括相应电芯在相应时间的电压、温度等采集数据,与现有技术相同,此处不再一一赘述。
在上一实施例中,采用的是单个电芯某个时刻的电芯数据作为一个电芯信息块,但电芯数据在某些时刻是并不变化的,如果也作为一个新的电芯信息块进行存储,则会浪费存储空间,因此可以采用图2c所示的信息块设置方式,即,假如1#电芯的第二次采集数据和第一次采集数据一样,则可以不进行第二次存储,这使得1#电芯在第一个和第二个时间环链上使用的是同一个电芯信息块(如图2c中的1#电芯信息块);同样的原理,2#电芯在第一个、第二个以及第三个时间环链上使用的都是同一个电芯信息块(如图2c中的2#电芯信息块),相比上一实施例更进一步节省了存储空间。
具体的,当时间信息块采用图4a所示结构进行存储、电芯信息块采用图4b所示结构进行存储时,上一实施例中依次生成各个电芯的电芯信息块的过程中,在生成每个电芯信息块时,均对应包括如图5所示的:
S201、判断当前数据存储时刻下的电芯值是否与相同编号的电芯在上一数据存储时刻下的电芯值相同;
若两个电芯值相同,则执行步骤S202;若两个电芯值不同,则执行步骤S203。
S202、在对上一数据存储时刻生成的电芯信息块的环链下一块地址进行修改的基础上,与上一数据存储时刻共用一个电芯信息块;
S203、生成一个新的电芯信息块。
本实施例给出了一种采用非变化电芯值共用电芯信息块进行存储的具体方式,相比上一实施例更进一步节省存储空间。
另外,在上述实施例的基础之上,如图6所示,该储能电芯数据的存储方法在首次到达数据存储时刻之前,还应当包括:
S100、根据电池管理系统的数量,建立存储地址表,并将存储地址表中的各个地址值分别与各个电池管理系统的信息族进行关联。
给每个信息族(如图7中的1#信息族至6#信息族所示)对应分配一个相应的地址值(如图7中的1#地址值至6#地址值所示),能够方便后期查询。图7以6个地址值和相应信息族为例进行展示,实际应用中,存储地址表中的地址值个数可视其具体应用环境而定,均在本申请的保护范围内。
本发明另一实施例还提供了一种储能电芯数据的查询方法,也应用于储能电芯数据的采集存储系统,如图1所示,采集存储系统与被监控储能电池的各个电池管理系统相连,图1所示的连接结构以及图2a至图2c所示的信息族结构均参见上述实施例即可,此处不再一一赘述。
请参见图8,该储能电芯数据的查询方法包括:
S301、根据接收到的查询信息,确定相应电池管理系统的信息族;
信息族的原点中存储有相应电池管理系统所连接的全部电芯的编号。
若想查询某个电芯的全部电芯数据,则将以电芯的编号作为该查询信息,根据编号能够确定该编号存储于哪个信息族的原点中,进而确定出相应电池管理系统的信息族。若想查询某个数据存储时刻的全部电芯数据,则将以数据存储时刻作为该查询信息;由于某一数据存储时刻下,各个电芯均具有相应的电芯数据,因此确定出的信息族为全部电池管理系统的信息族。
S302、在存储地址表中查找到与相应电池管理系统的信息族相关联的地址值;
如图7所示,根据步骤S301确定得到的信息族,能够对应找到与该信息族相关联的地址值,进而作为查找该信息族的依据。
S303、根据地址值查找到相应电池管理系统的信息族;
根据与被查找信息族相关联的地址值,能够查找到一个如图2a或者图2c所示的信息族;然后,即可根据相应的查询信息,查找具体的存储数据。其中,若该查询信息为电芯的编号,则执行步骤S304;而若该查询信息为数据存储时刻,则依次执行步骤S305和S306。
S304、获取相应信息族中与编号相对应的电芯射链上各个电芯信息块中存储的信息;
若该查询信息为电芯的编号,则根据该信息族中的原点,也即各条电芯射链的起点,查找该编号所对应的电芯射链;然后按照时间的先后顺序,从该电芯射链上获取各个电芯信息块中所存储的信息即可。
这种数据查询的方式非常快速,查询的时间复杂度是f(n)。
实际应用中,可以设置时间信息块中存储的信息包括:时间块号、射链下一时间块地址、环链下一电芯块地址以及相应数据存储时刻的时间值,如图4a所示;根据该射链下一时间块地址,即可明确出时间射链上各个时间信息块的存储地址,也可以据此确定时间的先后顺序,并实现按照时间的先后顺序,从该电芯射链上获取各个电芯信息块中所存储的信息;根据该环链下一电芯块地址,即可明确出相应时间环链上的第一个电芯信息块存储地址。
S305、确定相应信息族中时间射链上与数据存储时刻相对应的时间信息块;
S306、获取与时间信息块处于同一时间环链上的各个电芯信息块中存储的信息。
若该查询信息为数据存储时刻,则需要查找该数据存储时刻下全部电芯的电芯数据;首先从各个信息族中的原点,也即各个信息族中时间射链的起点,查找到各个信息族中时间射链上与该数据存储时刻相对应的时间信息块,然后即可根据查找到的各个信息族中的该时间信息块,按照预设环接顺序获取到相应时间环链上各个电芯信息块中存储的信息。
这种数据查询的方式也非常快速,查询的时间复杂度也是f(n)。
实际应用中,可以设置电芯信息块中存储的信息,也即电芯数据,包括:编号、环链下一块地址、射链下一电芯块地址以及在相应数据存储时刻下的电芯值,如图4b所示;根据该射链下一电芯块地址,即可明确出电芯射链上各个电芯信息块的存储地址;根据该环链下一块地址,即可明确出相应时间环链上各个电芯信息块存储地址,也可以据此得到预设环接顺序,进而按照预设环接顺序获取到相应时间环链上各个电芯信息块中存储的信息。
每个电芯值均包括相应电芯在相应时间的电压、温度等采集数据,与现有技术相同,此处不再一一赘述。
其余原理与上述实施例相同,此处不再一一赘述。
本发明另一实施例还提供了一种储能电芯数据的采集存储系统,如图9所示,包括:处理器、第一存储器和第二存储器;其中:
处理器用于执行第一存储器中存储的各个程序;
第一存储器中存储的程序包括储能电芯数据的存储方法,以及,储能电芯数据的查询方法;而该储能电芯数据的存储方法和储能电芯数据的查询方法的具体过程和原理可以分别参见上述相应的实施例,此处不再一一赘述。
第二存储器中存储有存储地址表和各个电池管理系统的信息族。
第二存储器中存储的存储地址表如图7所示,该存储地址表中的各个地址值,分别与相应电池管理系统的信息族相关联。
第二存储器中存储的各个电池管理系统的信息族均如图2a所示,每个信息族中均包括:原点、多个时间信息块和多个电芯信息块;其中,原点中存储有相应电池管理系统所连接的全部电芯的编号;各个时间信息块根据自身所存储的数据存储时刻,以原点为起点,按照时间先后顺序连接成时间射链;相同编号的各个电芯信息块以原点为起点,按照生成时间的先后顺序连接成电芯射链;不同编号的各个电芯信息块以作为其时间标签的时间信息块为起点兼终点,按照预设环接顺序,依次连接成时间环链。
第二存储器中存储的各个时间信息块的结构如图4a所示,包括:时间块号、射链下一时间块地址、环链下一电芯块地址以及相应数据存储时刻的时间值。
第二存储器中存储的各个电芯信息块的结构如图4b所示,包括:编号、环链下一块地址、射链下一电芯块地址以及在相应数据存储时刻下的电芯值。
当信息族中同一电芯连续数据存储时刻下的电芯值相同时,连续数据存储时刻所对应的时间环链针对这一编号共用一个电芯信息块。为了确保各个环链的对应连接关系,需要对该共用电芯信息块中的环链下一块地址进行修改,以实现相邻时间环链之间的共用。
值得说明的是,现有技术如果是基于PC的系统,一般采用数据库方式存储,不仅存储空间大,而且检索时间长。而如果是嵌入式系统,则一般按地址存储,其存储占用空间也很大,同时检索过程复杂,甚至受到嵌入式系统环境影响,无法做到按要求查询。
而本实施例提供的该储能电芯数据的采集存储系统,可以应用于基于PC的系统,也可以应用于嵌入式系统,占用存储空间少,而且查询检索的速度非常快,两种查询信息下均为f(n)级查询效率;也就是说,本采集存储系统的存储检索均占用资源都很少,实现方便,利于应用。
其余原理参见上述实施例即可,此处不再一一赘述。
本发明中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。