一种海量电缆隧道状态信号数据的存储方法技术

技术编号:27320509 阅读:27 留言:0更新日期:2021-02-10 10:00
本发明专利技术提供一种基于时间块冗余存储结构体的海量电缆隧道状态信号数据存储方法。对于输入的电缆隧道状态信号,构造了冗余存储结构体并以该结构体为单位构建存储块,最终将块存储于云服务器。利用本发明专利技术存储的电缆隧道状态信号是以分钟为单位的存储的,每一个存储结构体中包含着当前时间点,以及基于当前时间点之前时间点数据变化统计,使得相关的分析算法可以在一次读取中获得更多的数据信息,防止在读取数据时出现频繁的跨越不同的云存储文件访问的现象,极大的提高访问效率。极大的提高访问效率。

【技术实现步骤摘要】
一种海量电缆隧道状态信号数据的存储方法
[0001]
:本专利技术公开一种海量电缆隧道状态信号数据的存储方法,涉及一种基于时间块冗余存储结构体的海量电缆隧道状态信号数据存储方法,属于电缆隧道状态信号处理

[0002]
技术介绍
:电缆隧道故障影响电力电网建设效能的发挥。因此,如何应用科学手段实现对电力电缆隧道状态及环境的监控、预警和定位、以便及时提醒维护人员提前采取预防措施显得十分的紧迫和必要,在这一过程中需要对海量的电缆隧道状态信号进行存储。
[0003]对应海量的电缆隧道状态信号当前存储方法有三种:一是,采用传统的关系数据库进行存储,这种方式最易于实现,但是这种方式需要以数据库查询语句的形式获取单独信号数据,所以这种方法读取效率较低;二是,顺次的将信号数据写入到本地的文件系统中,受到单一计算机存储能力的限制,写入本地文件的数据量有限,于此同时单机存储会给数据在一个大系统范围内共享带来阻碍;三是,将信号数据写入到云存储中(如Hadoop存储集群),这种方式比数据库方式快的多又能容纳和共享较大数据量,所以这种存储模式会获得较佳的应用效果;然而,在进行海量电缆隧道状态信号分析的过程中信号数据不是独立的,而是需要与一定时间范围内的数据进行比较,而模式就可能导致频繁的跨越不同的云存储文件甚至不同的存储服务器的访问,这种模式会引起大量的磁盘争用或者在存储集群管理端的I/O网络流量瓶颈。
[0004]因此需要提出一种方法,一方面可以将电缆隧道状态信号存储于与服务器上,又可以有效降低频繁的跨越不同的云存储文件访问,从而提高电缆隧道状态信号在云服务器上的访问效率。

技术实现思路

[0005]本专利技术提供一种海量电缆隧道状态信号数据的存储方法,基于时间块冗余存储结构体的海量电缆隧道状态信号数据存储方法,对于输入的电缆隧道状态信号,本专利技术构造了冗余存储结构体并以该结构体为单位构建存储块,最终将块存储于云服务器。
[0006]本专利技术提供了一种海量电缆隧道状态信号数据的存储方法,包括以下步骤:S1, 输入一分钟内电缆隧道状态信号的个数SNum,建立时间块冗余存储结构体TimeBlockStruct;S101,输入一分钟内电缆隧道状态信号的个数SNum,SNum的默认值为600;S102,时间块冗余存储结构TimeBlock,该存储结构包含以下字段:CurrentBlock:当前时间电缆隧道状态信号数据,为SNum个的浮点型数组;PrevBlock1:前一分钟电缆隧道状态信号差异数据,为SNum个的浮点型数组;PrevBlock2:前二分钟电缆隧道状态信号差异数据,为SNum个的浮点型数组;PrevDayBlock1:与当前时间对应的前一天电缆隧道状态信号差异数据,为SNum个的浮点型数组;PrevDayBlock2:与当前时间对应的前两天电缆隧道状态信号差异数据,为SNum个的浮
点型数组;StBlock:截止当前时间为止电缆隧道状态信号数据的统计量,为SNum个的浮点型数组;S2, 建立时间编码算子TimeCodeOpt,输入为算子输入日期时间变量OptInput,输出为编码字符串变量OptOutput;S201,建立时间编码算子TimeCodeOpt,输入为算子输入日期时间变量OptInput;S202,算子年变量OptYear=获得OptInput中的年并将数据类型转换为4个字符长度的字符串,算子月变量OptMonth=获得OptInput中的月并将数据类型转换为2个字符长度的字符串,算子日变量OptDay=获得OptInput中的日并将数据类型转换为2个字符长度的字符串,算子分钟变量OptMinute=获得OptInput是一天中的第几分钟并将数据类型转换为4个字符长度的字符串;S203,编码字符串变量OptOutput=OptYear+OptMonth+OptDay+OptMinute,在该等式中“+”表示进行字符串连接;S204,输出OptOutput;S3,输入起始时间点变量StartTime,输入结束时间点变量EndTime,利用TimeCodeOpt建立基于TimeBlockStruct结构体的文件,获取所有TimeBlockStruct结构体文件的个数变量StructFileNums,获取文件名列表StructFileList;S301,输入起始时间点变量StartTime,输入结束时间点变量EndTime;S302,迭代时间点ItTime=StartTime; 结构体文件的个数变量StructFileNums=0;文件名列表StructFileList=空列表;S303,迭代文件名ItFile=利用时间编码算子TimeCodeOpt进行计算,算子的输入OptInput=ItTime输出结果为OptOutput;S304,迭代空白结构体变量ItEmptyStruct=新建一个TimeBlockStruct结构体,结构体内所有变量的值设置为0;S305,建立名为ItFile的文件,将ItEmptyStruct存储到ItFile之中;S306,ItTime=ItTime的下一分钟所对应的时间;StructFileNums=StructFileNums+1;将ItFile追加到StructFileList之中;S307,如果ItTime>EndTime则转到S308,否则转到S303;S308,该步骤执行结束;S4,持续输入StartTime到EndTime电缆隧道状态信号,对于每一组电缆隧道状态信号的输入包含一个时间点CurrentTime和对应的一分钟内电缆隧道状态信号数据Array,将数据存储到TimeBlockStruct结构体的文件之中;S401,持续输入StartTime到EndTime电缆隧道状态信号,对于每一组电缆隧道状态信号的输入包含一个时间点CurrentTime和对应的一分钟内电缆隧道状态信号数据Array;S402,后一分钟时间变量SaveAft1=CurrentTime的后一分钟对应的时间;S403,后两分钟时间变量SaveAft2=CurrentTime的后两分钟对应的时间;S404,后一天时间变量SaveDay1=与CurrentTime的当前时间对应的后一天的时间;S405,后两天时间变量SaveDay2=与CurrentTime的当前时间对应的后两天的时间;S406,CurrentTime对应文件名FileCurrentTime=利用时间编码算子TimeCodeOpt进行
计算,算子的OptInput=CurrentTime输出结果为OptOutput;S407,SaveAft1对应文件名FileSaveAft1=利用时间编码算子TimeCodeOpt进行计算,算子的OptInput=SaveAft1输出结果为OptOutput;S408,SaveAft2对应文件名FileSaveAft2=利用时间编码算子TimeCodeOpt进行计算,算子的OptInput=SaveAft2输出结果为OptOutput;S409,SaveDay1对应文件名FileSaveDay1=利用时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种海量电缆隧道状态信号数据的存储方法,包括以下步骤:S1, 输入一分钟内电缆隧道状态信号的个数SNum,建立时间块冗余存储结构体TimeBlockStruct;S101,输入一分钟内电缆隧道状态信号的个数SNum,SNum的默认值为600;S102,时间块冗余存储结构TimeBlock,该存储结构包含以下字段:CurrentBlock:当前时间电缆隧道状态信号数据,为SNum个的浮点型数组;PrevBlock1:前一分钟电缆隧道状态信号差异数据,为SNum个的浮点型数组;PrevBlock2:前二分钟电缆隧道状态信号差异数据,为SNum个的浮点型数组;PrevDayBlock1:与当前时间对应的前一天电缆隧道状态信号差异数据,为SNum个的浮点型数组;PrevDayBlock2:与当前时间对应的前两天电缆隧道状态信号差异数据,为SNum个的浮点型数组;StBlock:截止当前时间为止电缆隧道状态信号数据的统计量,为SNum个的浮点型数组;S2, 建立时间编码算子TimeCodeOpt,输入为算子输入日期时间变量OptInput,输出为编码字符串变量OptOutput;S201,建立时间编码算子TimeCodeOpt,输入为算子输入日期时间变量OptInput;S202,算子年变量OptYear=获得OptInput中的年并将数据类型转换为4个字符长度的字符串,算子月变量OptMonth=获得OptInput中的月并将数据类型转换为2个字符长度的字符串,算子日变量OptDay=获得OptInput中的日并将数据类型转换为2个字符长度的字符串,算子分钟变量OptMinute=获得OptInput是一天中的第几分钟并将数据类型转换为4个字符长度的字符串;S203,编码字符串变量OptOutput=OptYear+OptMonth+OptDay+OptMinute,在该等式中“+”表示进行字符串连接;S204,输出OptOutput;S3,输入起始时间点变量StartTime,输入结束时间点变量EndTime,利用TimeCodeOpt建立基于TimeBlockStruct结构体的文件,获取所有TimeBlockStruct结构体文件的个数变量StructFileNums,获取文件名列表StructFileList;S301,输入起始时间点变量StartTime,输入结束时间点变量EndTime;S302,迭代时间点ItTime=StartTime; 结构体文件的个数变量StructFileNums=0;文件名列表StructFileList=空列表;S303,迭代文件名ItFile=利用时间编码算子TimeCodeOpt进行计算,算子的输入OptInput=ItTime输出结果为OptOutput;S304,迭代空白结构体变量ItEmptyStruct=新建一个TimeBlockStruct结构体,结构体内所有变量的值设置为0;S305,建立名为ItFile的文件,将ItEmptyStruct存储到ItFile之中;S306,ItTime=ItTime的下一分钟所对应的时间;StructFileNums=StructFileNums+1;将ItFile追加到StructFileList之中;S307,如果ItTime>EndTime则转到S308,否则转到S303;
S308,该步骤执行结束;S4,持续输入StartTime到EndTime电缆隧道状态信号,对于每一组电缆隧道状态信号的输入包含一个时间点CurrentTime和对应的一分钟内电缆隧道状态信号数据Array,将数据存储到TimeBlockStruct结构体的文件之中;S401,持续输入StartTime到EndTime电缆隧道状态信号,对于每一组电缆隧道状态信号的输入包含一个时间点CurrentTime和对应的一分钟内电缆隧道状态信号数据Array;S402,后一分钟时间变量SaveAft1=CurrentTime的后一分钟对应的时间;S403,后两分钟时间变量SaveAft2=CurrentTime的后两分钟对应的时间;S404,后一天时间变量SaveDay1=与CurrentTime的当前时间对应的后一天的时间;S405,后两天时间变量SaveDay2=与CurrentTime的当前时间对应的后两天的时间;S406,CurrentTime对应文件名FileCurrentTime=利用时间编码算子TimeCodeOpt进行计算,算子的OptInput=CurrentTime输出结果为OptOutput;S407,SaveAft1对应文件名FileSaveAft1=利用时间编码算子TimeCodeOpt进行计算,算子的OptInput=SaveAft1输出结果为OptOutput;S408,SaveAft2对应文件名FileSaveAft2=利用时间编码算子TimeCodeOpt进行计算,算子的OptInput=SaveAft2输出结果为OptOutput;S409, SaveDay1对应文件名FileSaveDay1=利用时间编码算子TimeCodeOpt进行计算,算子的OptInput=SaveDay1输出结果为OptOutput;S410,SaveDay2对应文件名FileSaveDay1=利用时间编码算子TimeCodeOpt进行计算,算子的OptInput=SaveDay2输出结...

【专利技术属性】
技术研发人员:孙宏彬潘欣
申请(专利权)人:长春工程学院
类型:发明
国别省市:

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

1