批处理实现气象数据定时分类存储
2019-02-13张耀文李雄鸣胡国领
原 野,张耀文,李雄鸣,林 宏,胡国领
(1.32018 部队,北京 100094;2.61741 部队,北京 100094;3.31678 部队,泸州 646000;4.92830 部队15 分队,海口 571122)
结构化与非结构化数据是气象数据的两种重要类型。就存储非结构化气象数据而言,应该把存储方法以及存储空间两个方面的问题解决好。根据日期命名文件是非结构化气象数据的主要特征,利用脚本编程的批处理方式,我们根据日期自动将非结构化气象数据文件夹建立起来,分类处理定时完成。
1 研究背景分析
通过以上论述得知,非机构化与结构化是气象数据分析的两种重要分析形势。如果数据的存储采用的是非结构化方式,因此,存储方法以及存储空间就变成了两个重要的存储任务。在不断发展了存储技术后,对于存储气象数据的很多要求以及规定,存储空间已经能够给予满足。并且,现阶段气象工作人员已经把非结构化存储气象数据作为的重点工作。因为非结构化气象数据通常都是按照时间日期命名文件的,通过系统内部工具,再对编程语言进行简单的批处理,就能够根据日期将文件夹自动建立起来,并且,在指定的位置存储需要的数据。
2 相关知识探究
2.1 批处理概述
一种简化的脚本语言即为批处理,与Unit 内的Shell 脚本类似,通过Windows 系统或者DOS 中嵌入的解释运行或者命令解释器,在Windoows 或者DOS 内是经常被应用的,我们可以用cmd 或者bat 来拓展命名批处理脚的文件,简单而言,批处理脚本是集中执行了多个行的Dos 命令,其中,逐行书写是此命令的主要特征,并且对外部程序进行调用,尽管实在命令执行环境内实现程序的运行,然而,命令行软件并非唯一可用的,只要Windows 程序是32位的,都能够与批处理文件结合应用。
2.2 计划任务
所谓计划任务属于窗口系统中一个程序工具,它主要发挥程序定时执行的作用,通过“任务计划”能够在一些特定的时间安排程序、文档以及脚本,然后让其正常运行。
3 具体的处理对策探究
3.1 实现对策
通常依据日期对非结构化气象数据进行命名,我们从micaps数据入手展开分析,并且,其开头都是以年月日的方式展开,例如,2019年7月1日的数据就可以这样表示:190701001.000。通过此种命名文件的方法,对于文件日期的判断就可以发挥批处理编程的作用,根据自行定义的相关条件,向指定的位置存储一定的日期文件,并且利用窗口系统的计划任务,执行定时完成,从而达到实时分类存储气象数据的目的。
3.2 代码实例
我们举例说明,从而了解分类存储的方法。
在指定位置保存上一天的全部数据是代码的主要功能。其基本方法是:第一,当下日期的获取;第二,对某年某月某日天数距离进行换算;第三,把一天减去;第四,用日期将其换回;第五,按照日期把文件生成出来,数据拷贝,基本代码为:
对规定天数前的日期进行计算—rem
@eco off
Enabledelayedexpansion setlocal
1=set DayAgo
假设用yyyy-mm-dd 设定成rem 的系统日期
%date:~0.4%=set yy
%date:~8.2%=set dd
%date:~5.2%=set mm
其中,距离是1970年1月1日的天数主要通过rem 进行转换。
3.3 说明代码
3.3.1 当前日期的获取
通过@echo off 将DOS 界面回显关闭,这样在计算机界面就不会显示程序的执行情况。
用延迟拓展在本地数据库内设置出阿里,实际上即为延迟的变量。“延迟环境变量扩展”是它的全称,其目的是为识别后续代码中的变量,在替换结束了允许变量后,在对命令执行操作。
其中,目前的年月日赋值变量就可通过%date:~0.4%=set yy;%date:~8.2%=set dd;%date:~5.2%=set mm 表示。
3.3.2 天数换算
对于前一天的日期不能直接通过批处理脚本获取,所以,为了得到这个日期,应该展开计算分析。我们可以按照改编的Ritchie Lawrence 算法用1970年1月1日的天数将当前的日期换算出来。
其中,100%mm%%%100=mm;100%dd%%%=set/a dd.首先把月与日日期变量中的首位字符0去掉,然后把日期换算为相应的天数。
其中,换算后的天数可以用CountDays 表示,其中,我们所应用的set/a 就是令set 可以带动数学符号完成相应的数学计算。例如,加减等。
3.3.3 把需要的天数减去
%DayAgo%=set/a CountDays-把一天用计算好的天数减去,这样对于当下日期距离1970年1月1日的天数就可以被得到。
4 结束语
运行快捷、简单是批处理脚本的主要特征。算法兼容性好且灵活。在应用期间,不用对开发软件进行安装以及运行,很多工作量不大的任务都可以用它来实现和完成。文章通过上文一对前一天气象数据脚本的拷贝为例,完成分类定时的备份。稍微修改其中的代码,定时删除可以随时展开,此外,拷贝工作可以按月份展开。总的来讲其具有很大的应用优势,是目前采集和获取气象信息数据的有效方法。