一种基于实时数据文件的潮位警戒方法

文档序号:6380894阅读:181来源:国知局
专利名称:一种基于实时数据文件的潮位警戒方法
技术领域
本发明属于海洋观测技术领域,涉及其中的实时数据文件(每分钟一个数据文件)处理。通过对海洋观测网中国家级数据接收服务器上的实时数据文件进行到达检测、状态检测、文件解析、警戒潮位值判断,实现批量站点的潮位实时警戒。
背景技术
潮位实时监控和警戒是海洋防灾减灾的一项重要技术工作。目前,对全海域范围内的多站点的潮位实时警戒尚未进行业务化应用,主要原因是海洋观测网中的实时数据文件(命名规则为SQYYYYMMDDHHmm.1IIII,其中SQ为实时数据标志,YYYYMMDDHHmm为文件生成的年月日时分的格式,IIIII为验潮站的区站号)在国家级数据接收服务器存在到达频次高(每个验潮站一分钟一个数据文件)、到达时间不确定,且文件数量多(每个验潮站每天生产1440个文件,目前共有106个验潮站,每天共产生152640个实时数据文件)的特点。文件什么时间到达,哪些文件到达难以确定,也就无法开展后续的文件解析和警戒潮位值判断工作,而传统的轮询比对的文件检测方法不能满足应用要求。轮询比对的方法需要将已经检测和处理的文件名称记录下来,与数据接收目录中的文件进行循环比对,这种方法的比对次数是文件数量的平方数,在文件数量多的情况下存在处理效率低下,实时性低的问题,对于有时效性要求的系统不适用。

发明内容
针对海洋观测网中实时数据文件的特点,本发明提出了一种基于实时数据文件的潮位警戒方法,包括以下步骤S1.初始化,完成关键参数和任务处理线程的初始化,主要包括以下内容初始化验潮站基本信息多维数组Arr,待处理文件链表LI,在处理文件链表L2,定时器Tl和计时器T2,从实时数据文件解析出的验潮站区站号CC,测量时间DT,潮位值WL,并启动任务处理线程;S2.待处理任务生成,通过Tl与T2配合,T2在每个小时的一个或几个指定时刻进入中断状态,通过文件命名算法计算出下一个时间段内应生成的一批实时数据文件名称,结合实时数据文件存储目录生成一批完整的文件存储路径,并写入LI ;S3.任务处理,在任务处理线程中循环执行。具体如下S31.在处理任务生成,因LI是动态写入的,需将LI的数据项复制到L2进行处理;S32.文件到达检测,提取L2中的第i个数据项,检查文件是否已经到达,如果文件未到达,判断文件是否已超时,如果超时执行步骤S35,如果未超时执行步骤S36 ;S33.文件状态检测,判断文件是否写入完毕,未完成则等待文件写入完成;S34.文件解析,从文件名称和内容中提取出验潮站的区站号及测量时间和潮位值,分别赋值给CC,DT和WL ;S35.警戒潮位值判断,用CC与Arr中每个数据项中的区站号进行比较,找到Arr中区站号与CC相同的数据项,将WL与该数据项的警戒潮位值进行比较,记录WL达到的警戒值的级别,如果WL未达到警戒值,执行步骤S35 ;S36.告警显示,从Arr当前数据项中读取验潮站的名称,与WL、DT的值一起输出到软件界面上的对应的警戒级别站点列表中,同时在地图上显示;S37.待处理任务清除,则将LI中与当前文件对应的数据项删除;S38.将i加I执行步骤S32,直到所有数据项处理完毕;S39.在处理任务清除,则将L2中所有数据项删除。执行步骤S31。本发明的有益效果本发明提出的基于实时数据文件的潮位警戒方法,通过实时数据文件命名算法提前计算出待处理的实时数据文件的存储路径并写入待处理文件链表,预生成了处理任务,解决了文件到达情况难以确定的问题;通过任务处理线程,采用循环方式对待处理链表中的实时数据文件进行到达检测、状态检测、文件解析和警戒值判断以及告警显示,保证了文件到达检测和处理的时效性。


图1是本发明的潮位警戒方法的流程示意2是本发明中实施例的文件命名算法(任务预生成)流程图
具体实施例方式下面结合附图,给出本发明的具体实施例。需要说明的是,实施例中的参数,并不影响本发明的一般性。基于实时数据文件的潮位警戒方法,原理是利用验潮站发送到数据接收服务器上的实时数据文件中的实测潮位值,与各站点的预设的警戒值进行比较。首先要能及时发现数据文件到达,然后判断文件是否已经写入完毕,然后进行解析,提取验潮站区站号、实测潮位值,测量时间,与该验潮站的预设警戒值进行比对后给出告警信息。图1是本发明的实施例的流程示意图,本实例的定时器和计时器采用每小时第50分钟进入中断,计算出全部106个验潮站在下一小时从00分到59分之间应生成的一批实时数据文件,文件存储目录规则设置为D:\station\realtime\区站号\YYYYMMDD。流程展开如下S1.初始化。完成关键参数和任务处理线程的初始化,主要包括以下内容初始化验潮站基本信息多维数组Arr (每个数据项包含验潮站名称、区站号、坐标值、蓝黄橙红四级警戒值),待处理文件链表LI,在处理文件链表L2,定时器Tl和计时器T2,验潮站区站号CC,测量时间DT,潮位值WL,并启动任务处理线程。S2.待处理任务生成。通过Tl与T2配合,T2在每个小时第50分钟进入中断状态,通过文件命名算法计算出下一小时00分至59分钟内应生成的一批实时数据文件名称,结合实时数据文件存储目录生成一批完整的文件存储路径,并写入LI。S3.任务处理。在任务处理线程中循环执行。具体如下S31.在处理任务生成。因LI是动态写入的,需将LI的数据项复制到L2进行处理。S32.文件到达检测。提取L2中的第i个数据项,检查文件是否已经到达。如果文件未到达,判断文件是否已超时2分钟未到达,如果超时执行步骤S35,如果未超时执行步骤 S36。S33.文件状态检测。判断文件是否写入完毕,未完成则等待文件写入完成。S34.文件解析。从文件名称和内容中提取出验潮站的区站号及测量时间和潮位值,分别赋值给Ce,DT和WL。S35.警戒潮位值判断。用CC与Arr中每个数据项中的区站号进行比较,找到Arr中区站号与CC相同的数据项JfWL与该数据项的蓝黄橙红四级警戒潮位值进行比较,获取WL达到的警戒值的级别。如果WL未达到警戒值,执行步骤S35。S36.告警显示。从Arr当前数据项中读取验潮站的名称,与WL、DT的值一起输出到软件界面上的对应的警戒级别站点列表中,同时在地图上显示。S37.待处理任务清除。则将LI中与当前文件对应的数据项删除。S38.将i加I执行步骤S32,直到所有数据项处理完毕。S39.在处理任务清除。则将L2中所有数据项删除。执行步骤S31。图2是上述实施例中采用的文件命名算法,作用是预先生成待处理任务。文件名称中用到的表示年、月、日、时、分的字符串变量分别用Tm、丽、DD、HH、mm表示,算法处理流程展开如下(I)获取当前时刻的年、月、日、时的数值;(2)计算60分钟后时刻的年、月、日、时的数值;(3)判断月、日、时的数值是否是个位数,如果不是个位数执行S5 ;(4)在表示月、日、时的字符串前补0,使其成为两位数;(5)生成年月日时的合并字符串YYYYMMDDHH ;(6)获取第i个验潮站的区站号(i从O到105);(7)从第j分钟开始(j从O到59);(8)判断j是否是个位数,如果不是个位数,表示分钟的字符串mm等于j,执行SlO ;(9)表示分钟的字符串mm等于‘0’加上j ;(10)生成文件名SQYYYYMMDDHHmm.区站号[i];(11)生成文件路径D:\station\realtime\ 区站号[i] \YYYYMMDD\SQYYYYMMDDHHmm.区站号[i];(12)将生成的文件路径写入待处理文件列表LI ;(13)将j加I执行步骤S7,直到60个文件处理完毕;(14)将i加I执行步骤S6,直到106个验潮站处理完毕。
权利要求
1.一种基于实时数据文件的潮位警戒方法,其特征在于,包括以下步骤 51.初始化,完成关键参数和任务处理线程的初始化,主要包括以下内容 初始化验潮站基本信息数组Arr,待处理文件链表LI,在处理文件链表L2,定时器Tl和计时器T2,验潮站区站号CC,测量时间DT,潮位值WL,并启动任务处理线程; 52.待处理任务生成,通过Tl与T2配合,T2在每个小时的一个或几个指定时刻进入中断状态,通过文件命名算法计算出下一个时间段内应生成的一批实时数据文件名称,结合实时数据文件存储目录生成一批完整的文件存储路径,并写入LI ; 53.任务处理,在任务处理线程中循环执行。具体如下 531.在处理任务生成,因LI是动态写入的,需将LI的数据项复制到L2进行处理; 532.文件到达检测,提取L2中的第i个数据项,检查文件是否已经到达,如果文件未到达,判断文件是否已超时,如果超时执行步骤S35,如果未超时执行步骤S36 ; 533.文件状态检测,判断文件是否写入完毕,未完成则等待文件写入完成; 534.文件解析,从文件名称和内容中提取出验潮站的区站号及测量时间和潮位值,分别赋值给CC,DT和WL ; 535.警戒潮位值判断,用CC与Arr中每个数据项中的区站号进行比较,找到Arr中区站号与CC相同的数据项,将WL与该数据项的警戒潮位值进行比较,记录WL达到的警戒值的级别,如果WL未达到警戒值,执行步骤S35 ; 536.告警显示,从Arr当前数据项中读取验潮站的名称,与WL、DT的值一起输出到软件界面上的对应的警戒级别站点列表中,同时在地图上显示; 537.待处理任务清除,则将LI中与当前文件对应的数据项删除; 538.将i加I执行步骤S32,直到所有数据项处理完毕; 539.在处理任务清除,则将L2中所有数据项删除,执行步骤S31。
2.根据权利要求1所述的基于实时数据文件的潮位警戒方法,其特征还在于S2中的文件命名算法,即根据实时数据文件的命名规则,组合实时数据文件的标志字符串以及年月日时分时间信息和验潮站区站号三项构成要素,生成完整的文件名称,并结合实时数据文件存储目录规则,最终生成完整的文件路径信息。
全文摘要
一种基于实时数据文件的潮位警戒方法。利用海洋观测网产生的实时数据文件,可以解析出验潮站的实时潮位值,开展多站点的潮位监视警戒工作。但是实时数据文件存在文件数量多、到达频次高的特点,难以对文件到达情况进行实时检测。针对上述问题,本发明首先通过文件命名算法预先生成待处理的实时数据文件的路径信息,然后对待处理的文件进行到达情况和写入完成状态检测,最后从新到的文件中提取出实测潮位值,判断警戒级别,并将达到警戒潮位值的验潮站的名称、实测潮位等信息输出到软件界面上的对应级别的警戒站点列表中。
文档编号G06F17/30GK102999567SQ20121044464
公开日2013年3月27日 申请日期2012年11月9日 优先权日2012年11月9日
发明者李占斌, 张文, 华彦宁, 刘克 申请人:国家海洋信息中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1