一种仿真文件的数据压缩方法转让专利

申请号 : CN202010996952.9

文献号 : CN112260694B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙孟辉张军飞

申请人 : 广州中望龙腾软件股份有限公司

摘要 :

本发明公开了一种仿真文件的数据压缩方法、电子设备、存储介质,该压缩方法包括以下步骤:获取仿真文件支持的数据,并根据数据内容将数据类型进行分类,建立映射关系;识别待压缩数据的数据类型,并根据映射关系为待压缩数据匹配预设的压缩方法。本发明针对仿真文件的特点,对仿真文件数据中的不同类型采用不同的压缩策略,既能够降低文件尺寸,又不对文件的组织结构产生影响,使仿真文件在压缩能够兼容并行读写和局部读写等特性。

权利要求 :

1.一种仿真文件的数据压缩方法,其特征在于,包括以下步骤:S1:获取仿真文件支持的数据类型,并根据数据内容将数据类型进行分类,建立以特定数据和通用数据为标准的映射关系;

S2:识别待压缩数据的数据类型,并根据映射关系为待压缩数据匹配预设的压缩方法;

所述预设的压缩方法包括:

数据预处理,预先总结一些容易发生重复的数据类型,加入到检查重复的数据队列,剔出数据中的重复数据;

压缩判断,判断当前数据类型的数据是否为有规律数据,若是,则用函数式表达代替有规律数据;否则,进一步判断无规律数据是否为可编码数据;若是,将其不满字节的可编码数据进行合并;否则,判断不可编码数据是否需要压缩;

其中,对重复数据采用引用已有数据的方式存储。

2.如权利要求1所述的一种仿真文件的数据压缩方法,其特征在于,还包括步骤S3:对完成压缩后的数据采用块、属性、记录中的一种或多种方式进行保存。

3.如权利要求1所述的一种仿真文件的数据压缩方法,其特征在于,所述步骤S1中,根据数据内容将数据类型进行分类具体为:对当前数据类型的数据内容进行识别,判断当前数据类型是否只包含不可编码数据,根据判断结果将当前数据类型标记为通用数据或特定数据。

4.如权利要求1所述的一种仿真文件的数据压缩方法,其特征在于,若不可编码数据需要压缩,则区分不可编码数据的属性和记录,在最高压缩率下对属性和记录同时进行压缩,其它压缩率下只对记录进行压缩。

5.如权利要求1所述的一种仿真文件的数据压缩方法,其特征在于,所述有规律数据的判断方法为:

预设有支持的函数式,当数据的趋势符合函数式表达,则判定其数据为有规律数据。

6.如权利要求5所 述的一种仿真文件的数据压缩方法,其特征在于,所述函数式为直线函数。

7.如权利要求1所述的一种仿真文件的数据压缩方法,其特征在于,所述可编码数据的判断方法为:

根据各个数据项的大小,将不满一个字节的数据判定为可编码数据。

8.一种电子设备,其特征在于包括:处理器;存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行权利要求1‑7任意一项所述的方法。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行如权利要求1‑7任意一项所述的方法。

说明书 :

一种仿真文件的数据压缩方法

技术领域

[0001] 本发明涉及数据压缩技术领域,具体涉及一种仿真文件的数据压缩方法。

背景技术

[0002] 仿真软件是指专门用于仿真的计算机软件,仿真软件从上世纪50年代中期开始发展,至今已经出现了以数据库为核心的仿真软件系统,采用人工智能技术的仿真软件系统
以及虚拟现实仿真平台,它的发展与仿真应用、算法、计算机和建模等技术的发展相辅相
成,使仿真软件具有更强、更灵活的功能,能面向更广泛的用户。
[0003] 目前市面上常见的仿真软件有Nastran、Ansys等,这些仿真软件的主要功能都包括对数据的分析和显示以及对模型、程序、数据、图形的储存与检索,但是这些仿真软件中
常见的数据交互文件,在仿真大规模模型时,由于传输文件的尺寸很大,大小超过1GB的文
件十分常见,因此在传输与读写的过程中,会造成效率与正确性的卡点,影响仿真计算的效
率和稳定性。

发明内容

[0004] 为了克服现有技术的不足,本发明的目的在于提供一种仿真文件的数据压缩方法,能够实现文件的并行读写、局部读写,不影响文件的组织结构。
[0005] 本发明提供的一种仿真文件的数据压缩方法,包括以下步骤:
[0006] 获取仿真文件支持的数据,并根据数据内容将数据类型进行分类,建立映射关系;
[0007] 识别待压缩数据的数据类型,并根据映射关系为待压缩数据匹配预设的压缩方法。
[0008] 进一步地,对完成压缩后的数据采用块、属性、记录中的一种或多种方式进行保存。
[0009] 进一步地,根据数据内容将数据类型进行分类具体为:
[0010] 对当前数据类型的数据内容进行识别,判断当前数据类型是否只包含不可编码数据,根据判断结果将当前数据类型标记为通用数据或特定数据
[0011] 进一步地,预设的压缩方法包括:
[0012] 数据预处理,预先总结一些容易发生重复的数据类型,加入到检查重复的数据队列,剔出数据中的重复数据;
[0013] 数据判断,判断当前数据类型的数据是否为有规律数据,若是,则用函数式表达代替有规律数据并压缩;否则,进一步判断无规律数据是否为可编码数据;若是,将其不满字
节的可编码数据进行合并压缩;否则,判断不可编码数据是否需要压缩。
[0014] 进一步地,所述有规律数据的判断方法为:
[0015] 预设有支持的函数式,当数据的趋势符合函数式表达,则判定其数据为有规律数据。
[0016] 进一步地,所述函数式为直线函数。
[0017] 进一步地,所述可编码数据的判断方法为:
[0018] 根据各个数据项的大小,将不满一个字节的数据判定为可编码数据。
[0019] 一种电子设备,包括:
[0020] 处理器;存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行上述任意一项所述的方法。
[0021] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行如上述任意一项所述的方法。
[0022] 与现有技术相比,本发明具有如下有益效果:
[0023] (1)通过对不同类型的数据分别采用不同的压缩方法,减小文件尺寸,降低了硬盘占用空间。
[0024] (2)在对数据进行压缩时,不同的压缩方法不会影响到文件的组织结构,能够提高文件整体结构的读取效率。
[0025] (3)文件传输的过程中,减小了文件尺寸,提高了传输效率,从而降低数据损坏和丢失的风险,在应用于大规模集群仿真、云端仿真等有明显优势。

附图说明

[0026] 图1为本发明一种仿真文件的数据压缩方法的流程示意图;
[0027] 图2为本发明一种仿真文件的数据压缩方法实施例的流程示意图;

具体实施方式

[0028] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0029] 实施例一:
[0030] 本实施例提供一种操作便利性更优的仿真文件的数据压缩方法,其核心在于针对仿真文件的特性,为仿真文件数据格式提供适配的压缩方法,在减小文件尺寸的同时不影
响文件组织结构,可以兼容并行读写、局部读写等特性。
[0031] 参考图1,图1为本发明所提供的仿真文件的数据压缩方法的流程示意图,如图1所示,一种仿真文件的数据压缩方法,包括以下步骤:
[0032] 步骤S101,获取仿真文件支持的数据,并根据数据类型将数据进行分类,建立映射关系;
[0033] 在本发明实施例中,根据数据类型将数据进行分类储存具体为对当前数据类型的数据进行识别,判断当前数据类型是否只包含不可编码数据,根据判断结果将当前数据类
型标记为通用数据或特定数据。从而建立以特定数据和通用数据为标准的映射关系,是否
只包含不可编码数据是建立映射关系的基础。需要指出的是,此处的通用数据和特点数据
只是一个代称,并非是对本申请实施例中映射关系的限定,以常见的仿真文件数据类型为
说明,如网格数据中,80%的数据量为坐标数据,而坐标数据通过部分软件识别可以判定只
包含不可编码数据,可以将其标记为通用数据,还有一小部分节点编号或者材料数据,通过
识别可判定不只包含不可编码数据,可以将其标记为特定数据,针对不同的识别结果,建立
网格‑特定数据映射关系、网格‑坐标‑通用数据映射关系、网格‑节点编号‑材料‑特定数据
等映射关系。在实际使用过程中,可以根据实际使用需求获取不同的数据类型,建立符合实
际需要的映射关系。
[0034] 步骤S102,识别待压缩数据的数据类型,并根据映射关系为待压缩数据匹配预设的压缩方法。
[0035] 其中,预设的压缩方法包括:
[0036] 数据预处理,预先总结一些容易发生重复的数据类型,加入到检查重复的数据队列,剔出数据中的重复数据;
[0037] 由于在数据预处理只是针对容易发生重复的数据类型,不一定能过完全清理重复数据,因此,在本发明的一种实施例中,还可以提供一个可选项:是否将全部数据都加入队
列检查。此可选项根据实际使用过程中对仿真的效率、文件大小的要求进行选择,如效率要
求高就不检查;如需网络传输对文件大小有要求就检查。
[0038] 对于重复数据的判断,通过在数据队列中加入的每一项产生MD5并记录,当新加入时和已有数据对比,确定是否重复。此判断方法为现有技术,在此不做赘述。由于仿真数据
的特点,对于重复数据,特别是结果数据,存在较多重复,在本实施列中,对重复数据采用引
用已有数据的方式存储,能够大量减少数据量,达到较好的压缩效果。
[0039] 压缩判断,判断当前数据类型的数据是否为有规律数据,若是,则用函数式表达代替有规律数据;否则,进一步判断无规律数据是否为可编码数据;若是,将其不满字节的可
编码数据进行合并;否则,进一步判断不可编码数据是否需要压缩。
[0040] 其中,所述有规律数据的判断方法为:
[0041] 预设有支持的函数式,当数据的趋势符合函数式表达,则判定其数据为有规律数据。在本实施例中,预设的函数式一般为各种初级直线函数,如y=a,y=ax+b,等,能够简单
有效的判断数据的规律性,
[0042] 所述可编码数据的判断方法为:
[0043] 判断无规律数据中单个数据项的大小是否超过1个字节,不满1个字节的数据可以判断为可编码数据,对于可编码数据在,将不满一个字节的数据进行合并,在一种实施例
中,可以将8个bool值合并为1个字节值,将编码方式应用于仿真文件存储。值得一提的是,
由于现有的仿真文件格式中为了方便用户直接编辑数据,特别是早期发展时前后处理软件
不够好用和普及时,方便用户编辑数据是非常重要的一个要求,因此仿真文件格式其定义
为文本格式,并且不允许做编码,会加大人工读写难度。
[0044] 所以本发明实施例在对可编码数据进行合并时,需要采用统一的编程接口,只需定义数据,数据存储的方式既可以采用文本储存也可以采用二进制格式存储,因此,可以对
可编码数据进行数据合并。
[0045] 此外,对于不可编码数据,根据对文件大小和读写效率的要求判断是否需要压缩,一般计算机单机仿真一般规模的模型时,考虑到硬盘空间的占用,主要关注仿真效率,因此
只做一些简单的压缩即可,可以不对不可编码数据进行压缩,而在多台计算机集群仿真时,
或云端仿真时,网络传送效率对仿真的影响较大,因此会重点关注文件尺寸,因此可以牺牲
部分单机计算的效率,多进行一些压缩策略,在压缩时,区分属性和记录,最高压缩率要求
下对超过一定尺寸的属性数据也进行压缩,其它压缩率下只对记录进行压缩,以达到更小
的文件,从而提高传输和仿真效率。
[0046] 需要指出的是,在本实施例中,对不可编码数据在压缩时采用通用压缩算法,通用压缩算法为现有技术,一般采用目前常见的zip算法。
[0047] 优选的,还包括步骤S103,对完成压缩后的数据采用块、属性、记录中的一种或多种方式进行保存,这样不会影响文件的整体结构,压缩后依然可以做到快速读到文件信息,
定位到数据位置等。因此这样的压缩方式不会对并行读写造成影响。
[0048] 实施例二:
[0049] 本实施例提供一种电子设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一中的
多学科仿真数据分类方法。
[0050] 此外,本实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述的多学科仿真数据分类方法。其中,存储介质可为磁盘、光盘、只读存储记
忆体(Read‑Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储
器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid‑State Drive,
SSD)等。存储介质还可以包括上述种类的存储器的组合。
[0051] 本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶
盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的
分布式计算环境等等。
[0052] 本实施例中的设备及存储介质与前述实施例中的方法是基于同一发明构思下的两个方面,在前面已经对方法实施过程作了详细的描述,所以本领域技术人员可根据前述
描述清楚地了解本实施中的系统的结构及实施过程,为了说明书的简洁,在此就不再赘述。
[0053] 以上所述,仅为本发明的较佳的具体实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其
构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。