[发明专利]一种快速全量解析STDF文件的方法和设备有效
申请号: | 202111023613.3 | 申请日: | 2021-09-02 |
公开(公告)号: | CN113468124B | 公开(公告)日: | 2021-11-30 |
发明(设计)人: | 徐祖峰;丁小果;张永健 | 申请(专利权)人: | 江苏泰治科技股份有限公司 |
主分类号: | G06F16/16 | 分类号: | G06F16/16;G06F16/172;G06F16/182 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 李淑静 |
地址: | 210012 江苏省南京市雨*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 解析 stdf 文件 方法 设备 | ||
1.一种快速全量解析STDF文件的方法,其特征在于,包括以下步骤:
根据STDF文件大小,动态生成分块数量,并基于分块数量对STDF文件进行划分;
用文件大小除以分块数量并取整得到一个偏移量,按照该偏移量对分块逐个进行偏移,依次得到每个分块的初始偏移位置;
对各分块的初始偏移位置逐一进行第一次调整,直到确认为一个正确的记录开始位置;
对第一次调整获得的偏移位置进行第二次调整,确保连续有关联的记录在同一个分块中;
根据每个分块的正确的偏移位置,采用分布式计算引擎,对各个分块进行并行解析;
其中,对各分块的初始偏移位置逐一进行第一次调整包括:
从初始偏移位置开始,加载65540*3个字节;
从当前位置读取4个字节进行头部解析,判断里面的记录类型是否是有效的类型,如果不是有效的类型,向后移动1个字节,继续从当前位置读取4个字节进行有效类型判断;如果是有效的类型,则判断是否已经有2个连续的完整记录;
如果没有2个连续的完整记录,向后移动1个字节,继续从当前位置读取4个字节进行有效类型判断;如果已经有2个连续的完整记录,输出正确的偏移位置值。
2.根据权利要求1所述的快速全量解析STDF文件的方法,其特征在于,对第一次调整获得的偏移位置进行第二次调整包括:
从第一次调整输出的偏移位置开始,每次加载65536*10个字节;
从加载的数据中读取1个记录,如果读取失败,向后偏移65536*10个字节继续加载;
判断读出来的记录类型是否满足以下条件之一:
当前记录是PIR且前一个记录不是PIR,或者
当前记录不是PRR且前一个记录是PRR;
如果条件不满足,继续从加载的数据中读取下一个记录进行类型判断;如果条件满足,输出最终的偏移位置值。
3.根据权利要求1所述的快速全量解析STDF文件的方法,其特征在于,采用分布式计算引擎,对各个分块进行并行解析包括:
对于分布式计算引擎,在主程序中分配并行分区任务数,将其值设置为分块数量,并根据分区任务数设定需要的集群资源;
每个分区任务内,从第二次调整输出的偏移位置开始加载文件内容;
每个分区任务内,对加载的文件内容进行解析,生成相应的记录数据,并存储到对应的存储系统中;
所有分区任务都完成后,由分布式计算引擎的主程序负责最终状态的更新,将数据交付给下游业务应用系统使用。
4.根据权利要求3所述的快速全量解析STDF文件的方法,其特征在于,采用分布式计算引擎,对各个分块进行并行解析还包括:
如果在分区任务处理过程中出现异常,分布式计算引擎自动进行重试,根据每个分块的正确的偏移位置继续执行加载文件内容和进行解析、存储。
5.一种快速全量解析STDF文件的设备,其特征在于,包括:
文件分块模块,用于根据STDF文件大小,动态生成分块数量,并基于分块数量对STDF文件进行划分;
初始偏移计算模块,用于用文件大小除以分块数量并取整得到一个偏移量,按照该偏移量对分块逐个进行偏移,依次得到每个分块的初始偏移位置;
偏移位置第一调整模块,用于对各分块的初始偏移位置逐一进行第一次调整,直到确认为一个正确的记录开始位置;
偏移位置第二调整模块,用于对第一次调整获得的偏移位置进行第二次调整,确保连续有关联的记录在同一个分块中;
分布式解析模块,用于根据每个分块的正确的偏移位置,对各个分块进行并行解析;
其中,所述偏移位置第一调整模块包括:
第一加载单元,用于从初始偏移位置开始,加载65540*3个字节;
第一分析处理单元,用于从当前位置读取4个字节进行头部解析,判断里面的记录类型是否是有效的类型,如果不是有效的类型,向后移动1个字节,并重新读取4个字节进行有效类型判断;如果是有效的类型,判断是否已经有2个连续的完整记录;如果没有2个连续的完整记录,向后移动1个字节,并重新读取4个字节进行有效类型判断;
第一输出单元,用于当第一分析处理单元确定已经有2个连续的完整记录时,输出正确的偏移位置值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏泰治科技股份有限公司,未经江苏泰治科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111023613.3/1.html,转载请声明来源钻瓜专利网。