本发明涉及计算机数据存储技术领域,尤其涉及一种适用于上位机的数据存储方法、系统及加载方法。
背景技术:
上位机是指可以直接发出操控命令的计算机,一般是pc/hostcomputer/mastercomputer/uppercomputer,屏幕上显示各种信号变化(液压,水位,温度等)。
上位机在使用过程中,用户会根据实际使用需求在上位机软件中设置一系列的参数,设置一系列参数后产生的数据需要存储在本地,在数据量过多的情况下,数据存储与加载会变慢,在数据存储与读取要求快速的场景下,数据存储与加载速度慢都会影响用户体验感。
技术实现要素:
本发明的目的在于提供一种适用于上位机的数据存储方法、系统及加载方法,加快上位机数据存储与加载的速度,结构化存储数据,使得上位机数据读取更灵活。
本发明通过下述技术方案实现:
一种适用于上位机的数据存储方法,包括以下步骤:
s1:获取上位机产生的原始数据,并按照数据类型对所述原始数据进行分类;
s2:对分类后的所述原始数据进行数据转化,得到转化数据;
s3:对所述转化数据进行组合,并对组合后的数据结构进行存储。
优选地,所述数据类型包括浮点型数据、字符型数据、整型数据以及布尔类型数据。
优选地,当所述原始数据为所述浮点型数据时,将所述浮点型数据转化为uint16类型数据。
优选地,当所述原始数据为所述字符型数据时,将所述字符型数据转化成ascll码,并填充到预设长度。
优选地,当所述原始数据为整型数据或布尔类型数据时,不进行转化处理。
优选地,所述s3包括以下子步骤:
s31:根据所述转化数据的功能,对所述转化数据进行分类;
s32:根据分类结果划分存储单元,任意一个存储单元存储一种功能的所述转化数据;
s32:将所述存储单元组合起来,并以文件的形式对组合后的所述数据结构进行存储。
优选地,所述存储单元按照数据对齐的方式进行组合。
一种适用于上位机的数据存储系统,包括获取模块、分类模块、转化模块以及组合模块;
所述获取模块,用于从上位机获取原始数据;
所述分类模块,用于根据数据类型对所述原始数据分类;
所述转化模块,用于对不同类型的所述原始数据进行数据转化,得到转化数据;
所述组合模块,用于对所述转化数据进行组合,并对组合后的数据结构进行存储。
优选地,所述组合模块包括识别单元、存储单元以及多个逻辑单元;
所述识别单元,用于识别所述转化数据的功能,并根据所述转化数据的功能,对所述转化数据进行分类;
所述逻辑单元,用于存储所述转化数据,且任意一个逻辑单元存储一种功能的所述转化数据;
所述存储单元,用于对所述逻辑单元进行组合,并对组合后的逻辑单元结构进行存储。
一种适用于上位机的数据存储加载方法,包括上述的一种适用于上位机的数据存储方法,或上述的一种适用于上位机的数据存储系统,数据加载方法包括以下步骤:
获取所述数据结构中各个所述存储单元中存储的所述转化数据;
对所述转化数据的类型进行识别;
根据所述转化数据的类型进行逆转换,得到所述原始数据。
本发明与现有技术相比,具有如下的优点和有益效果:
1、通过对原始数据的转化,减小原始数据的字节数,提高存储速度与加载速度;
2、根据原始数据的功能进行划分,相同功能的数据存储在同一个存储单元,将不同功能的原始数据进行组合,使得数据结构清晰化。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明用户组数据存储过程示意图;
图2为本发明转化方式所采取的方法;
图3为本发明数据组合器的功能;
图4为本发明数据加载还原过程的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例
一种适用于上位机的数据存储方法,如图1-图4所示,包括以下步骤:
s1:获取上位机产生的原始数据,并按照数据类型对原始数据进行分类;
其中,本实施例所说的原始数据为上位机调节参数的时候生成的数据,包括浮点型数据、字符型数据、整型数据以及布尔类型数据。
s2:对分类后的原始数据进行数据转化,得到转化数据;
在音频行业中,频率在1000hz所呈现出效果与相邻的点(1000.1hz、1001hz、1002hz)所呈现出的音频效果一致,因此,在转化过程中可以将这些点转化为同一个数,而在还原的过程不需要精准还原,只需还原为临近点即可。基于此,在本方案中,将占4字节的浮点型数据转化为占据字节较小的uint16类型数据来表述,以降低浮点型数据的精度,从而使得既不影响音频效果,又能降低存储空间,进而加快数据的存储。字符型数据包括中文字符、英文字符、数字字符和其他ascll字符,其长度范围是0-255个字符,因此,根据行业自身的需求,就字符型数据转化为ascll码,并填充到指定长度,以满足实际需求的同时,减少存储空间,从而加快数据的存储。而整型数据和布尔类型数据本身占得字节就比较少,因此,在进行数据存储时,不在做进一步的转化。
具体地,当原始数据的类型为浮点型数据时,采用非线性压缩的方式将浮点型数据转化为占据字节数据更小的;当原始数据的类型为字符型数据时,将字符型数据转化为ascll码,并填充到指定长度;当原始数据的类型为整型数据和布尔类型数据时,不进行转化处理,保持原类型。
s3:对转化数据进行组合,并对组合后的数据结构进行存储;
具体地,获取任意一个转化数据的功能,根据功能的不同对转化数据进行分类,即:功能相同的数据划分至同一类别;
根据分类结果划分存储单元,任意一个存储单元存储一种功能的转化数据;
将多个存储单元按照数据对齐的方式组合起来,并以文件的形式对组合后的数据结构进行存储,从而实现对上位机产生的原始数据的存储。
在工程应用中,用户通过上位机软件调节设备参数的使用率会远远高于直接通过设备调节,一旦参数调节完成后会将数据保存起来。由于上位机软件有组织、有结构的存储决定着数据保存与加载的速度,由于不同类型数据的组成结构不相同,如果在数据在存储过程中不分类以及转化处理的话,不仅会导致数据存储的结构不清晰,而且还会使得数据臃肿,从而影响数据存储速度和加载速度。尤其是在音频行业,对数据存储速度和加载速度都要求格外快速,此外,由于在音频行业中,对大多数图像数据的精度要求不会太高,基于此,发明人根据行业的特殊性提出了本申请的技术方案,在本方案中,根据不同的数据类型,采用不同的转化方式对原始数据进行转化,并按照数据的功能进行分类存储,使得同样功能的数据位于同一个存储单元,然后再将不同功能的数据组合起来,使得数据的结构清除明了,使得在数据存储和加载过程都能快速实现。
一种适用于上位机的数据存储系统,包括获取模块、分类模块、转化模块以及组合模块;
获取模块,用于从上位机获取原始数据;
分类模块,用于根据数据类型对原始数据分类;
转化模块,用于对不同类型的原始数据进行数据转化,得到转化数据;
组合模块,用于对转化数据进行组合,并对组合后的数据结构进行存储。
在本实施例中,组合模块为数据组合器,数据组合器的作用是将各个转化数据按照功能放置在各个逻辑单元中,再将各个逻辑单元组织起来存储在文件中。
具体的,数据组合器包括识别单元、存储单元以及多个逻辑单元;
识别单元,用于识别转化数据的功能,并根据转化数据的功能,对转化数据进行分类;
逻辑单元,用于存储化数据,且任意一个逻辑单元存储一种功能的转化数据;
存储单元,用于根据数据对齐的方式对逻辑单元进行组合,并对组合后的逻辑单元结构以文件的形式进行存储。
一种适用于上述上位机存储的数据存储方法或一种适用于上述上位机的数据存储系统的加载方法,包括以下步骤:
获取数据结构中各个存储单元中存储的转化数据;
对转化数据的类型进行识别;
根据转化数据的类型进行相应的逆转换,得到原始数据,并将其展示在上位机软件中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。