[发明专利]一种基于动态系统结果数据的快速读写方法有效
申请号: | 201710031073.0 | 申请日: | 2017-01-17 |
公开(公告)号: | CN106843759B | 公开(公告)日: | 2019-11-12 |
发明(设计)人: | 田显钊;黎仲鸣;郭俊峰;杨浩;刘奇;周凡利 | 申请(专利权)人: | 苏州同元软控信息技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 上海申新律师事务所 31272 | 代理人: | 翁德亿 |
地址: | 215000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 系统 结果 数据 快速 读写 方法 | ||
本发明公开了一种基于动态系统结果数据的快速写读方法,其包括了快速写方法和快速读方法,写入时使用多个缓冲区,当一个缓冲区写满后,立即进行行列转置并写入文件,而其他空闲的缓冲区继续接受数据写入,多个缓冲区可以循环利用;读入时,根据头部信息计算读入数据所在的片段和偏移,直接读取片段内变量相连的数据。该方法的实质是针对动态系统的仿真结果设计了一种特殊的文件格式,将仿真数据以分块为单位进行转置处理之后再写入结果文件,这样就减少了读取变量值的时候文件指针的偏移次数,从而提高了读取速度,同时,数据量过大时,会对结果文件进行拆分,将仿真数据存放在不同的文件中,解决了文件过大时读写变量数据崩溃的问题。
技术领域
本发明属于计算机软件领域,尤其是大数据文件的读写效率提升的技术范畴,具体涉及一种特殊的文件格式以及对应的快速读写方法。
背景技术
近年来仿真建模行业发展飞快,随之而来的是仿真模型的规模不断增大,仿真的结果数据文件也越来越大。常用来存放仿真结果的mat文件和csv文件在文件过大时,存在读写文件崩溃或者仿真结果读取过慢的问题。
发明内容
为克服现有技术中的不足,本发明的目的在于提供一种基于动态系统结果数据的快速写读方法,其包括了快速写方法和快速读方法。该方法的实质是针对动态系统的仿真结果设计了一种特殊的文件格式,将仿真数据以分块为单位进行转置处理之后再写入结果文件,这样就减少了读取变量值的时候文件指针的偏移次数,从而提高了读取速度,同时,数据量过大时,会对结果文件进行拆分,将仿真数据存放在不同的文件中,解决了文件过大时读写变量数据崩溃的问题。
为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种基于动态系统结果数据的快速写方法,其包括以下步骤:
步骤0、创建文件,写入文件头,所述文件头存储的信息包括文件标识、文件存储的字节序和文件版本号;
步骤1、写入索引表,所述索引表的信息包括变量引用、变量类型、变量所在表的类型和变量在表中的索引;
步骤2、写入固定表,所述固定表分为表头和表的数据;所述表头信息包括表名、表的类型、存储布局、表的数据类型、表的行列数和表的数据字节数;所述表的数据是存入该表格的变量的仿真数据;
步骤3、根据情况判断变量中是否有时变变量,若有,则继续下面步骤,若无,则文件写入完成,跳转至步骤8;
步骤4、逐个写入可变表的表头,所述表头信息包括表名、表的类型、存储布局、表的数据类型、表的列数、每一个分块的行数、每一个分块的字节数和是否有兄弟表的标识;
步骤5、若上层向逻辑层要求缓冲区,则所述逻辑层向所述上层提供一个缓冲区,并且开始接收仿真数据,所述缓冲区的大小由所述逻辑层决定,向所述上层提供所述缓冲区时告知所述缓冲区大小即可;若所述上层不请求所述缓冲区,则无仿真数据,文件写入完成,跳转至步骤8;所述上层是指使用本方法的软件模块;所述逻辑层负责结果读写的逻辑处理,包括请求处理、管理缓冲区和数据转置;
步骤6、所述缓冲区填满后,所述逻辑层接到通知,开始对所述缓冲区的数据进行转置处理,同时根据需求向上层提供另一块缓冲区;所述转置处理是指行变列、列变行;
步骤7、所述转置处理完成后,调用所述物理层的接口将所述缓冲区的数据写入文件,同时查看另一块缓冲区是否写入完成,若写入完成,则跳转到步骤5;所述物理层负责物理文件管理,包括将缓冲区数据写入文件、读取文件中的数据到缓冲区、计算文件指针偏移量、管理文件指针及拆分文件等;
步骤8、数据写入结束,若有可变表,则写入可表表尾,若无,则完成。
进一步的,调用所述物理层的接口将所述缓冲区的数据写入文件的步骤如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州同元软控信息技术有限公司,未经苏州同元软控信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710031073.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:油轨支架上的垫圈槽开槽装置
- 下一篇:用于加工高尔夫杆套的夹具