买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:杭州启维软件有限公司
摘要:本方案提供了一种对SAS数据集进行解压或者压缩的方法及应用,读取SAS数据集中的文件属性信息,读取SAS数据集的循环数量并读取所有循环数量的循环的文字偏移量、循环长度以及数据标识,根据文字偏移量到对应SAS数据集的对应行,在对应行内选择循环长度的字节作为循环内容,并自循环内容中识别文件格式内容,随后定位到数据存储内容再根据文件格式内容自数据存储内容中读取数据;与此同时,本方案采用binary压缩和char压缩的方法对SAS数据集进行压缩以得到可被SAS软件识别的SAS数据集,可在不依托于SAS软件的基础上对SAS数据集进行解压以及压缩。
主权项:1.一种对SAS数据集进行解压的方法,其特征在于,包括步骤:S1:获取待解压的SAS数据集;S2:读取SAS数据集中的文件属性信息,其中文件属性信息包括文件标头、文件数据信息、文件创建时间、文件修改时间及文件版本及文件页数;S3:读取SAS数据集的00010010h的第5个到第8个字节的值并减1作为循环数量,依次00010010h的第8个字节后的每12个连续字节作为一个循环直到读取所有循环数量的循环,读取每一循环的文字偏移量、循环长度以及数据标识,根据文字偏移量到对应SAS数据集的对应行,在对应行内选择循环长度的字节作为循环内容,并自循环内容中识别文件格式内容;S4:根据文件页数判断每一页面的组成形式,根据文件格式内容的信息总纲的压缩标识判断是否为压缩数据,自00010010h的第8个字节起跳过设定数值的字节后定位到数据存储内容,根据步骤S3的文件格式内容自数据存储内容中读取数据;其中步骤S2中,读取SAS数据集中的00000050h行的SASFILE字符串作为文件标头,其中SASFILE字符串由“5341532046494c45”的8个字节表示;读取SAS数据集中的00000090h行的DATA字符串的值作为文件数据信息,其中DATA字符串由不为0的4个连续字节表示;读取SAS数据集中的000000a0h行的文件创建时间字符串的值作为文件创建时间,其中文件创建时间字符串由000000a0h行的第9-16个字节的连续8个连续字节表示;读取SAS数据集中的000000b0h行的文件修改时间字符串的值作为文件修改时间,其中文件修改时间字符串由000000b0h行的第9-16个字节的连续8个连续字节表示;读取SAS数据集中的000000c0h行的最后8个连续字节,若8个连续字节均为00则文本版本为版本1,反之则为版本2,读取SAS数据集中的000000d0h行的头4个连续字节的值为文件页数;在“在自循环内容中识别文件格式内容”包括步骤:识别信息总纲、索引、变量字母、变量文字、变量数据以及变量信息,其中识别“信息总纲”包括步骤:根据第一个循环的文字偏移量定位到总纲行,识别总纲行中的四个连续的F7字节作为信息总纲开始标识,识别信息总纲开始标识后的第一个循环的循环长度的字节为循环内容,其中信息总纲开始标识后的第17个字节到第20个字节的值作为变量总长度,信息总纲开始标识后的第21个字节到第24个字节的值作为数据行数,信息总纲开始标识后的第25个字节到第28个字节的值作为被删除行数,信息总纲开始标识后的第29个字节到32个字节的值作为压缩标识,信息总纲开始标识后的第33个字节到第36个字节的值作为第一页变量个数,信息总纲开始标识后的第37个字节到40个字节的值作为其他页变量个数,信息总纲开始标识后的第49个字节到52个字节的值作为数据页大小,信息总纲开始标识后的57个字节到第60个字节的值作为第一个页面的数据观测总数,直到读取至信息总纲结束标识;“识别索引”包括步骤:根据第二个循环的文字偏移量定位到索引行,识别索引行中的四个连续的F6字节作为索引开始标识,识别索引开始标识后的第二个循环的循环长度的字节作为循环内容,其中索引开始标识后的第1个字节到第4个字节的值作为变量个数,索引开始标识后的第5个字节到第8个字节的值作为索引个数;“识别变量字母”包括步骤:根据第四个循环的文字偏移量定位到变量字母行,识别变量字母行中第四个循环的循环长度的字节作为循环内容,并将循环内容中的数据变量的变量字母存入缓冲区内;“识别变量数据”包括步骤:根据第六个循环的文字偏移量定位到变量数据行,识别变量数据行中第六个循环的循环长度的字节作为循环内容,识别变量数据行中的“FCFFFFFF”后面的第1个字节到第4个字节的值减去8作为变量数据位移长度,第9个字节到第12个字节的值表示变量数据偏移量,第13个字节到第16个字节的值表示变量数据长度,第19个字节表示数据类型;“识别变量文字”包括步骤:根据第五个循环的文字偏移量定位到变量文字行,识别变量文字行中第五个循环的循环长度的字节作为循环内容,识别变量文字行中的连续的四个FF字节后面的第1个字节到第4个字节的值减去8作为变量文字位移长度,第9个字节到第10个字节的值表示变量文字的位移信息所在的页面,第11个字节到第12个字节的值表示变量文字偏移量,第13个字节到第14个字节的值表示变量文字长度,根据位移信息所在的页面定位到循环内容中的“FDFFFFFF”的变量文字偏移开始标识,并定位到同变量文字偏移开始标识间隔变量文字偏移量的字节数量后的首个字节为变量文字开始字节,自变量文字开始字节起识别连续变量文字长度的字节数量组成的字节区域作为变量文字,识别变量文字的值作为变量文字的名称;“识别变量信息”包括步骤:识别第8个循环起的每一循环以获取对应每一变量的变量信息,其中识别每一循环中的文字偏移量定位到变量信息行,识别变量信息行中对应每一循环的循环长度的字节作为循环内容,以变量信息行中的“FEFBFFFF”为变量信息开始标识,识别变量信息开始标识后的第一个“0A”字节起的四个连续字节的值作为变量的format信息,第二个“0A”字节起的四个连续字节的值作为变量的informat信息,“2C”字节之前的两个字节的值作为informat文字位置,“2C”字节起的两个连续字节的值作为informat的偏移量,“2C”字节起的第三个字节和第四个字节的值作为informat的内容长度,informat的内容长度后续的6个连续字节的值分别作为format的文字位置,偏移量以及长度,format的长度后续的6个连续字节的值分别作为label的文字位置,偏移量以及长度。
全文数据:
权利要求:
百度查询: 杭州启维软件有限公司 一种对SAS数据集进行解压以及压缩的方法及应用
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。