一种基于动态系统结果数据的快速读写方法与流程

文档序号:12664078阅读:来源:国知局

技术特征:

1.一种基于动态系统结果数据的快速写方法,其特征在于,包括以下步骤:

步骤0、创建文件,写入文件头,所述文件头存储的信息包括文件标识、文件存储的字节序和文件版本号;

步骤1、写入索引表,所述索引表的信息包括变量引用、变量类型、变量所在表的类型和变量在表中的索引;

步骤2、写入固定表,所述固定表分为表头和表的数据;所述表头信息包括表名、表的类型、存储布局、表的数据类型、表的行列数和表的数据字节数;所述表的数据是存入该表格的变量的仿真数据;

步骤3、根据情况判断变量中是否有时变变量,若有,则继续下面步骤,若无,则文件写入完成,跳转至步骤8;

步骤4、逐个写入可变表的表头,所述表头信息包括表名、表的类型、存储布局、表的数据类型、表的列数、每一个分块的行数、每一个分块的字节数和是否有兄弟表的标识;

步骤5、若上层向逻辑层要求缓冲区,则所述逻辑层向所述上层提供一个缓冲区,并且开始接收仿真数据,所述缓冲区的大小由所述逻辑层决定,向所述上层提供所述缓冲区时告知所述缓冲区大小即可;若所述上层不请求所述缓冲区,则无仿真数据,文件写入完成,跳转至步骤8;

步骤6、所述缓冲区填满后,所述逻辑层接到通知,开始对所述缓冲区的数据进行转置处理,同时根据需求向上层提供另一块缓冲区;

步骤7、所述转置处理完成后,调用所述物理层的接口将所述缓冲区的数据写入文件,同时查看另一块缓冲区是否写入完成,若写入完成,则跳转到步骤5;

步骤8、数据写入结束,若有可变表,则写入可变表尾,若无,则完成。

2.根据权利要求1所述的基于动态系统结果数据的快速写方法,其特征在于,调用所述物理层的接口将所述缓冲区的数据写入文件的步骤如下:

步骤701、计算偏移量;

步骤702、判断所述偏移量是否超过限定的文件大小,若超过,则跳转至步骤3,若未超过,则跳转至步骤704;

步骤703、创建拆分文件,更新写入数据块的文件指针,跳转至步骤701;

步骤704、写入数据块,更新相关信息;

步骤705、写入完成。

3.一种基于动态系统结果数据的快速读方法,其特征在于,包括以下步骤:

步骤1、打开文件,读取文件头,读取索引表中固定表的表名、表的类型、存储布局、表的数据类型、表的行列数和表的数据字节数;可变表的表名、表的类型、存储布局、表的数据类型、表的列数、每一个分块的行数、每一个分块的字节数和是否有兄弟表的标识;

步骤2、根据要读取的变量的引用,读取所述变量在所述索引表中的索引信息;

步骤3、根据所述索引信息,判断所述变量是固定变量还是时变变量,若为固定变量,则跳转到固定变量读取步骤;若为时变变量,则跳转到时变变量读取步骤。

4.根据权利要求3所述的基于动态系统结果数据的快速读方法,其特征在于,所述固定变量读取步骤包括以下步骤:

步骤401、计算数据起始处偏移量;

步骤402、判断偏移量是否超过文件大小,若超过,则报错返回,若未超过,则继续后续步骤;

步骤403、计算实际可读取行数;

步骤404、将文件指针移动到数据起始处;

步骤405、读取单个元素数据;

步骤406、判断数据是否读取完成,若未读取完成,则移动文件指针到读取下一个元素的位置,并且跳转到步骤405;若读取完成,则跳转到步骤407;

步骤407、读取完成。

5.根据权利要求3所述的基于动态系统结果数据的快速读方法,其特征在于,所述时变变量读取步骤包括以下步骤:

步骤501、计算数据起始处偏移量;

步骤502、判断偏移量是否超过文件大小,若超过,则报错返回,若未超过,则继续后续步骤;

步骤503、计算实际可读取行数;

步骤504、将文件指针移动到数据起始处;

步骤505、读取所在分块的数据;

步骤506、判断本文件是否还有后续分块数据,若无,则跳转至步骤509;

步骤507、移动文件指针到下一个分块;

步骤508、判断缓冲区是否读满,若已经读满,则跳转到步骤511,若未读满,则跳转到步骤4;

步骤509、判断是否还有后续拆分文件,若无,则跳转到步骤511,如有,则执行下一步;

步骤510、期望换文件指针到下一个拆分文件,跳转至步骤504;

步骤511、读取完成。

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