[发明专利]一种海量电缆隧道状态信号数据的存储方法有效

专利信息
申请号: 202011372694.3 申请日: 2020-11-30
公开(公告)号: CN112347045B 公开(公告)日: 2022-07-26
发明(设计)人: 孙宏彬;潘欣 申请(专利权)人: 长春工程学院;国网吉林省电力有限公司白山供电公司
主分类号: G06F16/13 分类号: G06F16/13;G06F16/17;G06F16/172;G06Q50/06
代理公司: 吉林长春新纪元专利代理有限责任公司 22100 代理人: 陈宏伟
地址: 130021 吉林*** 国省代码: 吉林;22
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 海量 电缆 隧道 状态 信号 数据 存储 方法
【权利要求书】:

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,如果ItTimeEndTime则转到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输出结果为OptOutput;

S411,建立TimeBlockStruct类型的暂存结构体第一变量TempStruct1, 建立TimeBlockStruct类型的暂存结构体第二变量TempStruct2;

S412,读取文件FileCurrentTime的内容到TempStruct1之中,TempStruct1,CurrentBlock=Array, TempStruct1,StBlock=(TempStruct1,StBlock+Array)/2;

S413, 读取文件FileSaveAft1的内容到TempStruct2之中,TempStruct2,PrevBlock1=Array,TempStruct2,StBlock=TempStruct1,StBlock, 将TempStruct2写入到FileSaveAft1之中;

S414, 读取文件FileSaveAft2的内容到TempStruct2之中,TempStruct2,PrevBlock2=Array,将TempStruct2写入到FileSaveAft2之中;

S415, 读取文件FileSaveDay1的内容到TempStruct2之中,TempStruct2,PrevDayBlock1=Array,将TempStruct2写入到FileSaveDay1之中;

S416, 读取文件FileSaveDay2的内容到TempStruct2之中,TempStruct2,PrevDayBlock2=Array,将TempStruct2写入到FileSaveDay2之中;

S417, TempStruct1,PrevBlock1=Tanh(TempStruct1,PrevBlock1-Array), 其中Tanh为双曲正切函数;

S418, TempStruct1,PrevBlock2=Tanh(TempStruct1,PrevBlock2-Array), 其中Tanh为双曲正切函数;

S419, TempStruct1,PrevDayBlock1=ABS(TempStruct1,PrevDayBlock1-Array), 其中ABS为求绝对值

S420,TempStruct1,PrevDayBlock2=ABS(TempStruct1,PrevDayBlock2-Array), 其中ABS为求绝对值;

S421, 将TempStruct1写入到FileCurrentTime之中;

S5,设定云存储文件块大小MaxSize,获得每个云存储文件块包含结构体数量Blocks,获得文件块数变量BlocksNum,顺次将所有TimeBlockStruct结构体文件写入到云存储之中,获取云存储文件名链接列表CloudList中;

S501,每个云存储文件块包含结构体数量Blocks=floor(MaxSize/(SNum×6×8)), 其中floor为去除一个数的小数部分;

S502,文件块数变量BlocksNum=Round(StructFileNums/Blocks), 其中Round为进行小数部分的四舍五入;

S503, 如果StructFileNums%Blocks不等于0则BlocksNum=BlocksNum+1;其中%表示求余操作;

S504,块计数器BSCounter=1;云存储文件名链接列表CloudList=空列表;

S505,文件列表起始位置BSStart=(BSCounter-1)×Blocks+1;文件列表结束位置BSEnd=(BSCounter-1)×Blocks+Blocks;

S506,如果BSEndStructFileNums则BSEnd=StructFileNums;

S507,读取StructFileList中的第BSStart至BSEnd中的所有对应文件,并将读取到的数据内容顺次放入云存储块数据变量BigBlob中;

S508,将BigBlob存储到云服务器之中,将存储对应的文件链接追加到CloudList中;

S509,BSCounter=BSCounter+1;

S510,如果BSCounterBlocksNum则转到S511,否则转到S505;

S511,存储过程结束;

S6,指定要读取数据的时间点CloudReadTime,读取对应该数据到读取结果变量CloudStruct;

S601,CloudReadTime对应文件名CloudReadTimeFile=利用时间编码算子TimeCodeOpt进行计算,算子的OptInput=CloudReadTime算子的输出结果为OptOutput;

S602,列表位置RPos=获得CloudReadTimeFile在StructFileList中的位置;

S603,云位置CloudPos= Round(RPos/Blocks+0,5), 其中Round为进行小数部分的四舍五入;

S604,记录位置RecodPos=RPos-(RPos%Blocks×Blocks);

S605, 读取云服务器上CloudList[CloudPos]所对应文件的内容到云文件内容变量CloudBlob;

S606,CloudStruct=以TimeBlockStruct为读取单位获取CloudBlob中第RecodPos个记录的内容;

S607,读取过程结束。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长春工程学院;国网吉林省电力有限公司白山供电公司,未经长春工程学院;国网吉林省电力有限公司白山供电公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011372694.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top