本发明涉及无线电领域,尤其涉及无线电离线任务调度领域,具体是指一种实现无线电离线任务调度和数据下载的方法。
背景技术:
随着无线通讯的发展,大量监测站建立。目前固定监测站大多建设在一些人员不易到达的地方,系统工作是无人值守的模式,所以在执行数据采集任务时,数据不能通过移动介质进行交换,要求通过网络回传采集的数据。由于监测过程中采集的数据量非常大,若全部实时通过网络传输,则会影响到其它正在执行的监测任务,因此要求数据先在采集端进行存储,等待网络空闲后,在进行数据回传。不同于影视文件数据下载,能预先知道文件的大小和路径,监测数据的类型和大小都是动态的,有些监测任务能长达一个月以上,任务执行完毕后能在较短的时间内获取设备端采集的数据。因此无法使用传统的数据下载方式来操作。针对上述问题,提出了一种无线电离线任务调度和数据下载方法。
技术实现要素:
本发明的目的是克服了上述现有技术的缺点,提供了一种满足实时性、准确性、适用范围较为广泛的实现无线电离线任务调度和数据下载的方法。
为了实现上述目的,本发明的实现无线电离线任务调度和数据下载的方法如下:
该实现无线电离线任务调度和数据下载的方法,其主要特点是,所述的方法包括以下步骤:
(1)中心服务模块生成中心离线任务,存储任务记录。将离线任务分发给站点服务模块;
(2)站点服务模块生成对应的站点离线任务,存储该任务记录,并响应站点离线任务唯一标识符和数据下载相关信息;
(3)中心服务模块接收响应,把响应信息和对应的中心离线任务信息存储在一条记录中;
(4)中心服务模块启动中心任务状态监测线程,监测所有中心离线任务对应的站点离线任务状态变化,以修改中心离线任务状态;
(5)站点服务模块启动站点任务状态监测线程,监测所有站点离线任务。
较佳地,所述的任务状态包括待执行、执行中、已完成、失败和挂起,在任务状态为待执行或挂起的情况下,站点任务状态监测线程具体包括以下步骤:
(1-1)站点任务状态监测线程,查找所有任务状态为待执行或挂起,并到达计划开始执行时间的站点离线任务;
(1-2)根据任务信息,查找相应的接收机;
(1-3)根据接收机状态信息和任务优先级,判断是否执行任务,如果是,则修改站点离线任务状态为执行中,并根据站点离线任务信息,新建文件存储接收机数据,文件通过配置设置大小;
(1-4)判断是否存在高优先级站点离线任务抢占低优先级站点离线任务,如果是,则修改被抢占站点离线任务状态为挂起;否则,任务状态不变。
较佳地,所述的任务状态包括待执行、执行中、已完成、失败和挂起,在任务状态为已完成或失败的情况下,站点任务状态监测线程具体包括以下步骤:
(2-1)站点任务状态监测线程,查找所有任务状态不为已完成或失败,并且到达计划结束时间的站点离线任务;
(2-2)执行停止任务,根据任务信息查找站点离线任务;
(2-3)判断是否生成对应的数据文件,如果是,则修改离线任务状态为已完成;否则,修改任务状态为失败。
较佳地,所述的站点离线任务状态为挂起,在站点服务重启的情况下,优先恢复站点离线任务状态为执行中的任务。
较佳地,步骤(4)具体包括以下步骤:
(4.1)启动中心离线任务数据下载线程,查询中心离线任务状态,如果任务状态为执行中的任务,则存入集合;
(4.2)根据中心离线任务信息,按照文件存储规则,找到对应的站点离线任务数据文件路径;
(4.3)根据中心和站点的文件数量、大小和文件名判断是否有新的文件需要下载,如果站点离线任务状态为已完成,且中心离线任务数据下载线程已下载所有数据,则修改中心离线任务状态为已完成,并把已完成任务移出集合。
较佳地,所述的离线任务根据文件存储规则创建文件夹和文件名,关联站点离线任务和文件路径及文件名,中心服务通过和站点离线任务关联的记录,得到站点离线任务唯一标识符,根据离线数据文件的生成规则,得到数据文件的路径和文件名称存入待下载集合,中心服务离线数据下载线程开始下载任务数据。
较佳地,所述的离线任务数据下载在监测站ip空闲时进行,优先执行实时监测任务。
采用了本发明的实现无线电离线任务调度和数据下载的方法,数据文件路径、名称按既定规则生成,方便后续程序下载。本发明的数据下载选取空闲时间进行,不会影响实时查看任务。
附图说明
图1为本发明的实现无线电离线任务调度和数据下载的方法的流程图。
图2为本发明的实现无线电离线任务调度和数据下载的方法的站点任务状态示意图。
图3为本发明的实现无线电离线任务调度和数据下载的方法的文件规则命名示意图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明的该实现无线电离线任务调度和数据下载的方法,其中包括以下步骤:
(1)中心服务模块生成中心离线任务,存储任务记录。将离线任务分发给站点服务模块;
(2)站点服务模块生成对应的站点离线任务,存储该任务记录,并响应站点离线任务唯一标识符和数据下载相关信息;
(3)中心服务模块接收响应,把响应信息和对应的中心离线任务信息存储在一条记录中;
(4)中心服务模块启动中心任务状态监测线程,监测所有中心离线任务对应的站点离线任务状态变化,以修改中心离线任务状态;
(4.1)启动中心离线任务数据下载线程,查询中心离线任务状态,如果任务状态为执行中的任务,则存入集合;
(4.2)根据中心离线任务信息,按照文件存储规则,找到对应的站点离线任务数据文件路径;
(4.3)根据中心和站点的文件数量、大小和文件名判断是否有新的文件需要下载,如果站点离线任务状态为已完成,且中心离线任务数据下载线程已下载所有数据,则修改中心离线任务状态为已完成,并把已完成任务移出集合;
(5)站点服务模块启动站点任务状态监测线程,监测所有站点离线任务。
作为本发明的优选实施方式,所述的任务状态包括待执行、执行中、已完成、失败和挂起,在任务状态为待执行或挂起的情况下,站点任务状态监测线程具体包括以下步骤:
(1-1)站点任务状态监测线程,查找所有任务状态为待执行或挂起,并到达计划开始执行时间的站点离线任务;
(1-2)根据任务信息,查找相应的接收机;
(1-3)根据接收机状态信息和任务优先级,判断是否执行任务,如果是,则修改站点离线任务状态为执行中,并根据站点离线任务信息,新建文件存储接收机数据,文件通过配置设置大小;
(1-4)判断是否存在高优先级站点离线任务抢占低优先级站点离线任务,如果是,则修改被抢占站点离线任务状态为挂起;否则,任务状态不变。
作为本发明的优选实施方式,所述的任务状态包括待执行、执行中、已完成、失败和挂起,在任务状态为已完成或失败的情况下,站点任务状态监测线程具体包括以下步骤:
(2-1)站点任务状态监测线程,查找所有任务状态不为已完成或失败,并且到达计划结束时间的站点离线任务;
(2-2)执行停止任务,根据任务信息查找站点离线任务;
(2-3)判断是否生成对应的数据文件,如果是,则修改离线任务状态为已完成;否则,修改任务状态为失败。
作为本发明的优选实施方式,所述的站点离线任务状态为挂起,在站点服务重启的情况下,优先恢复站点离线任务状态为执行中的任务。
作为本发明的优选实施方式,所述的离线任务根据文件存储规则创建文件夹和文件名,关联站点离线任务和文件路径及文件名,中心服务通过和站点离线任务关联的记录,得到站点离线任务唯一标识符,根据离线数据文件的生成规则,得到数据文件的路径和文件名称存入待下载集合,中心服务离线数据下载线程开始下载任务数据。
作为本发明的优选实施方式,所述的离线任务数据下载在监测站ip空闲时进行,优先执行实时监测任务。
本发明的具体实施方式中,本发明提供了一种无线电离线任务调度和数据下载方法,包括站点服务和中心服务。
离线任务执行流程如下:
中心服务生成中心离线任务,存储该任务记录。把离线任务分发给站点服务,站点服务收到中心离线任务,生成对应的站点离线任务,存储该任务记录,并响应站点离线任务唯一标识符和数据下载相关信息,如监测站ip。中心服务收到响应,把响应信息和对应的中心离线任务信息存储在一条记录中,为后续任务调度和下载做准备。中心服务启动中心任务状态监测线程,监测所有中心离线任务对应的站点离线任务状态变化,以修改中心离线任务状态。站点服务启动站点任务状态监测线程,监测所有站点离线任务。所有离线任务在生成时,任务状态为待执行。站点任务状态如图1所示。
站点任务状态监测线程,查找所有任务状态为待执行和挂起,并到达计划开始执行时间的站点离线任务,根据任务信息,查找相应的接收机,根据接收机状态信息和任务优先级,判断是否执行任务。执行任务则修改站点离线任务状态为执行中,并且根据站点离线任务信息,新建文件存储接收机数据,文件通过配置设置大小。若存在高优先级站点离线任务抢占低优先级站点离线任务时,则修改被抢占站点离线任务状态为挂起。其它情况任务状态不变。
站点任务状态监测线程,查找所有任务状态不为已完成或失败,并且到达计划结束时间的站点离线任务,执行停止任务,根据任务信息查找站点离线任务是否生成对应的数据文件,若存在,则修改离线任务状态为已完成,否则修改任务状态为失败。
在设备断电或者故障失去通道连接时,站点离线任务状态修改为挂起。站点服务重启时,会优先恢复站点离线任务状态为执行中的任务。
中心离线任务状态和站点离线任务状态相同。执行任务状态监测线程根据监测的站点离线任务状态变化,除已完成状态外,修改对应中心离线任务状态。
中心服务开启时,启动中心离线任务数据下载线程,此线程查询中心离线任务状态为执行中的任务,存入集合。根据中心离线任务信息,按照本方案的文件存储规则,找到对应的站点离线任务数据文件路径,根据中心和站点的文件数量、大小和文件名判断是否有新的文件需要下载,若站点离线任务状态为已完成,并且中心离线任务数据下载线程也下载完了所有数据,则修改中心离线任务状态为已完成,并把已完成任务移出集合。
文件存储规则如下:
由于任务不同,导致采集的数据文件类型和大小的差异将对后续文件回传产生不良影响。因此本方案设计了根据特定规则生成路径和文件名,屏蔽数据类型和大小的差异的影响,如图2所示,每个离线任务都生成一个自己的数据文件夹,按任务的唯一标识符命名,避免文件重复情况,数据文件按年月和日分别生成子目录,减少每个文件夹里的文件量,避免在一个文件夹里检索大量文件,因为在一个文件里检索大量文件效率低。文件名根据设备信息,执行时间的时、分、秒、毫秒和任务信息来命名,每个文件大小根据配置才分成合适大小以便下载,每个文件都会生成一个对应的索引文件,和文件相比,只有后缀不同。通过这种方式文件路径、文件名都能和站点离线任务唯一关联起来,中心服务再通过和站点离线任务关联的记录,得到站点离线任务唯一标识符,根据离线数据文件的生成规则,得到数据文件的路径和文件名称存入待下载集合,根据这个集合中心服务离线数据下载线程即可开始下载任务数据。
自适应数据下载管理如下:
由于带宽限制,数据下载和监测任务连接同一个监测站ip同时执行时,可能导致网络堵塞,影响执行的任务。因此要求数据下载需要在监测站ip空闲时进行,即空闲时间进行。由于实时监测任务时效性,所以应当优先执行实时监测任务。若下载过程中,有实时监测任务用同一监测站ip开始执行,则需停止数据下载任务。执行实时监测任务和数据下载任务,都会把对应的监测站ip分别存入集合,结束任务时移除对应ip。离线数据下载时先根据任务信息获取ftp连接的监测站ip。然后判断该监测站ip是否在两个ip集合中存在。ip不存在代表空闲可以执行。存在就不执行。监听实时监测任务的ip集合,每新增一个ip,需判断是否有相同ip在执行数据下载,若有,则停止下载任务,保证实时监测任务顺利执行。
采用了本发明的实现无线电离线任务调度和数据下载的方法,数据文件路径、名称按既定规则生成,方便后续程序下载。本发明的数据下载选取空闲时间进行,不会影响实时查看任务。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
1.一种实现无线电离线任务调度和数据下载的方法,其特征在于,所述的方法包括以下步骤:
(1)中心服务模块生成中心离线任务,存储任务记录,将离线任务分发给站点服务模块;
(2)站点服务模块生成对应的站点离线任务,存储该任务记录,并响应站点离线任务唯一标识符和数据下载相关信息;
(3)中心服务模块接收响应,把响应信息和对应的中心离线任务信息存储在一条记录中;
(4)中心服务模块启动中心任务状态监测线程,监测所有中心离线任务对应的站点离线任务状态变化,以修改中心离线任务状态;
(5)站点服务模块启动站点任务状态监测线程,监测所有站点离线任务。
2.根据权利要求1所述的实现无线电离线任务调度和数据下载的方法,其特征在于,所述的任务状态包括待执行、执行中、已完成、失败和挂起,在任务状态为待执行或挂起的情况下,站点任务状态监测线程具体包括以下步骤:
(1-1)站点任务状态监测线程,查找所有任务状态为待执行或挂起,并到达计划开始执行时间的站点离线任务;
(1-2)根据任务信息,查找相应的接收机;
(1-3)根据接收机状态信息和任务优先级,判断是否执行任务,如果是,则修改站点离线任务状态为执行中,并根据站点离线任务信息,新建文件存储接收机数据,文件通过配置设置大小;
(1-4)判断是否存在高优先级站点离线任务抢占低优先级站点离线任务,如果是,则修改被抢占站点离线任务状态为挂起;否则,任务状态不变。
3.根据权利要求1所述的实现无线电离线任务调度和数据下载的方法,其特征在于,所述的任务状态包括待执行、执行中、已完成、失败和挂起,在任务状态为已完成或失败的情况下,站点任务状态监测线程具体包括以下步骤:
(2-1)站点任务状态监测线程,查找所有任务状态不为已完成或失败,并且到达计划结束时间的站点离线任务;
(2-2)执行停止任务,根据任务信息查找站点离线任务;
(2-3)判断是否生成对应的数据文件,如果是,则修改离线任务状态为已完成;否则,修改任务状态为失败。
4.根据权利要求1所述的实现无线电离线任务调度和数据下载的方法,其特征在于,所述的站点离线任务状态为挂起,在站点服务重启的情况下,优先恢复站点离线任务状态为执行中的任务。
5.根据权利要求1所述的实现无线电离线任务调度和数据下载的方法,其特征在于,步骤(4)具体包括以下步骤:
(4.1)启动中心离线任务数据下载线程,查询中心离线任务状态,如果任务状态为执行中的任务,则存入集合;
(4.2)根据中心离线任务信息,按照文件存储规则,找到对应的站点离线任务数据文件路径;
(4.3)根据中心和站点的文件数量、大小和文件名判断是否有新的文件需要下载,如果站点离线任务状态为已完成,且中心离线任务数据下载线程已下载所有数据,则修改中心离线任务状态为已完成,并把已完成任务移出集合。
6.根据权利要求1所述的实现无线电离线任务调度和数据下载的方法,其特征在于,所述的离线任务根据文件存储规则创建文件夹和文件名,关联站点离线任务和文件路径及文件名,中心服务通过和站点离线任务关联的记录,得到站点离线任务唯一标识符,根据离线数据文件的生成规则,得到数据文件的路径和文件名称存入待下载集合,中心服务离线数据下载线程开始下载任务数据。
7.根据权利要求1所述的实现无线电离线任务调度和数据下载的方法,其特征在于,所述的离线任务数据下载在监测站ip空闲时进行,优先执行实时监测任务。
技术总结