本发明涉及一种cad图纸中尺寸数据流的序列化和存储方法,具体涉及一种基于xdata cad的大尺寸数据存储方法,属于计算机。
背景技术:
1、在工程设计领域中,cad软件是一种常用的设计工具。设计师们经常需要在cad图纸中添加和编辑各种数据,例如设计参数、计算结果、材料属性等等。在进行数据处理时,需要将这些数据从cad图纸中提取出来,并进行序列化和存储,以便于后续处理。
2、现有技术的方法是将cad图纸中的数据序列转化成xml或json格式,然后存储到文件或数据库中。但是,这种方法存在一些问题:首先,xml和json格式的数据较为冗长,占用存储空间较大。其次,这种方法的数据反序列化需要在cad软件中进行额外的操作,且无法自嵌套引用。
技术实现思路
1、本发明为解决上述技术问题,提供一种基于xdata cad的大尺寸数据存储方法,采用二进制序列化和数据流分块的方式,可以大幅度减小数据存储空间,提高存储效率,并且对数据结构没有限制;同时,直接将分块的数据流存储到cad图纸的xdata中,规避了xdata的尺寸限制,无需进行额外的操作,提高了工作效率。
2、为解决上述技术问题,本发明所采用的技术方案是:
3、一种基于xdata cad的大尺寸数据存储方法,包括数据存储过程和数据读取过程;
4、所述数据存储过程包括:
5、a1、将数据二进制序列化成数据流;
6、a2、将数据流分块;
7、a3、将分块的数据流存入cad图纸的xdata中;
8、所述数据读取过程包括:
9、b1、从cad图纸的xdata读取数据;
10、b2、合并数据块;
11、b3、将二进制数据反序列化成数据实体。
12、本发明技术方案的进一步改进在于:所述步骤a1的具体操作为:
13、a11、创建数据流对象和二进制序列化器;
14、a12、将数据用序列化器序列化写入数据流:遍历要存储的数据,利用二进制序列化器将每部分数据转换为二进制格式,然后写入到创建的数据流对象中。
15、本发明技术方案的进一步改进在于:所述步骤a2的具体操作为:
16、a21、根据xdata的尺寸限制定义分割尺寸大小;
17、a22、将数据流按照分割尺寸循环顺序分割,直至结尾,确保每个数据块包含完整的数据结构,如果数据在某个块中不完整,则处理边界情况。
18、本发明技术方案的进一步改进在于:所述步骤a3的具体操作为:
19、a31、在cad软件中,创建xdata数据:
20、a32、向xdata数据中添加数据标识,以区分不同的数据来源,数据标识是一个字符串或整数值;
21、a33、将排序好的数据块,按顺序以二进制形式存入到xdata数据中,完成数据存储。
22、本发明技术方案的进一步改进在于:所述步骤b1的具体操作为:
23、b11、在cad图纸中读取指定标识的xdata数据;
24、b12、从xdata数据中按顺序读出二进制数据款。
25、本发明技术方案的进一步改进在于:所述步骤b2的具体操作为:
26、b21、创建数据流对象;
27、b22、将数据块按顺序写入到数据流。
28、本发明技术方案的进一步改进在于:所述步骤b3的具体操作为:
29、b31、创建二进制序列化器;
30、b32、对数据做版本控制,定位数据类型;
31、b33、用序列化器将数据流反序列化为数据对象。
32、由于采用了上述技术方案,本发明取得的技术进步是:
33、本发明采用二进制序列化和数据流分块的方式,可以大幅度减小数据存储空间,提高存储效率,且对数据结构没有限制;同时,直接将分块的数据流存储到cad图纸的xdata中,规避了xdata的尺寸限制,无需进行额外的操作,提高了工作效率;并且,本发明可以广泛应用于cad图纸中数据的序列化和存储,具有显著的经济效益和社会效益。
1.一种基于xdata cad的大尺寸数据存储方法,其特征在于:包括数据存储过程和数据读取过程;
2.根据权利要求1所述的一种基于xdata cad的大尺寸数据存储方法,其特征在于:所述步骤a1的具体操作为:
3.根据权利要求1所述的一种基于xdata cad的大尺寸数据存储方法,其特征在于:所述步骤a2的具体操作为:
4.根据权利要求1所述的一种基于xdata cad的大尺寸数据存储方法,其特征在于:所述步骤a3的具体操作为:
5.根据权利要求1所述的一种基于xdata cad的大尺寸数据存储方法,其特征在于:所述步骤b1的具体操作为:
6.根据权利要求1所述的一种基于xdata cad的大尺寸数据存储方法,其特征在于:所述步骤b2的具体操作为:
7.根据权利要求1所述的一种基于xdata cad的大尺寸数据存储方法,其特征在于:所述步骤b3的具体操作为: