计量数据采集方法、装置、计算机设备和存储介质与流程

文档序号:17474934发布日期:2019-04-20 06:03阅读:289来源:国知局
计量数据采集方法、装置、计算机设备和存储介质与流程

本申请涉及数据采集技术领域,特别是涉及一种计量数据采集方法、装置、计算机设备和存储介质。



背景技术:

在计量自动化系统中,计量自动化系统需要通过接入的大量计量终端,例如电压表等等,对计量终端的计量数据进行采集。而随着用户量的增加,计量终端数量、需采集的数据项和数据密度都在增加,对计量终端数据采集能力的需求在不断提升。

然而,传统的计量自动化系统,在接入的计量终端数量多,计量终端需要并行采集的数据量大时,可能出现网络拥塞崩溃的问题,对计量数据的采集效率低下。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够…….的计量数据采集方法、装置、计算机设备和存储介质。

一种计量数据采集方法,包括如下步骤:

获取待处理的数据采集任务;数据采集任务携带终端标识信息;检测终端标识信息对应的计量终端是否在线,以及是否可用;若不在线或者不可用,则将数据采集任务挂起,并循环检测计量终端是否在线以及是否可用,直到检测到计量终端在线且可用时,停止对计量终端的循环检测;当检测到计量终端在线且可用时,根据数据采集任务对计量终端的计量数据进行采集。

在一个实施例中,检测计量终端是否可用,包括:检测计量终端当前正在处理的数据采集任务总量是否达到任务量上限值;若未达到,则确定计量终端可用;若达到,则确定计量终端不可用。

在一个实施例中,计量数据采集方法还包括:检测待处理的数据采集任务是否存在于任务池中;若不存在,则将数据采集任务加入任务池中;当接收到计量终端根据数据采集任务返回的计量数据时,将数据采集任务从任务池中删除。

在一个实施例中,检测待处理的数据采集任务是否存在于任务池中之前,还包括:获取待处理的数据采集任务的任务类型;任务类型包括实时采集任务或定时采集任务;若待处理的数据采集任务的任务类型为定时采集任务,则执行检测待处理的数据采集任务是否存在于任务池中的步骤。

在一个实施例中,当检测到计量终端在线且可用时,根据数据采集任务对计量终端的计量数据进行采集,包括:当检测到计量终端在线且可用时,将数据采集任务列入任务执行队列的队尾;将位于任务执行队列的队首的数据采集任务下发至该数据采集任务对应的计量终端,数据采集任务用于指示计量终端根据数据采集任务采集计量数据;当接收到计量终端返回的计量数据时,将数据采集任务从任务执行队列的队首删除。

在一个实施例中,将位于任务执行队列的队首的数据采集任务下发至该数据采集任务对应的计量终端之后,还包括:若在将数据采集任务下发至该数据采集任务对应的计量终端后,预设时间段内未接收到计量终端返回的计量数据时,则重复发送数据采集任务至该数据采集任务对应的计量终端;当发送数据采集任务至该数据采集任务对应的计量终端的累计次数达到预设次数阈值后,预设时间段内仍未接收到计量终端返回的计量数据时,将计量终端标记为不可用,并发出计量终端不可用的告警信息。

在一个实施例中,数据采集任务还携带采集数据项信息;根据数据采集任务对计量终端的计量数据进行采集,包括:根据数据采集任务,对计量终端中与采集数据项信息对应的计量数据进行采集。

一种计量数据采集装置,包括:

任务获取模块,用于获取待处理的数据采集任务;所述数据采集任务携带终端标识信息;

终端检测模块,用于检测所述终端标识信息对应的计量终端是否在线,以及是否可用;

任务挂起模块,用于若不在线或者不可用,则将所述数据采集任务挂起,并循环检测所述计量终端是否在线以及是否可用,直到检测到所述计量终端在线且可用时,停止对所述计量终端的循环检测;

数据采集模块,用于当检测到所述计量终端在线且可用时,根据所述数据采集任务对所述计量终端的计量数据进行采集。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取待处理的数据采集任务;数据采集任务携带终端标识信息;检测终端标识信息对应的计量终端是否在线,以及是否可用;若不在线或者不可用,则将数据采集任务挂起,并循环检测计量终端是否在线以及是否可用,直到检测到计量终端在线且可用时,停止对计量终端的循环检测;当检测到计量终端在线且可用时,根据数据采集任务对计量终端的计量数据进行采集。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取待处理的数据采集任务;数据采集任务携带终端标识信息;检测终端标识信息对应的计量终端是否在线,以及是否可用;若不在线或者不可用,则将数据采集任务挂起,并循环检测计量终端是否在线以及是否可用,直到检测到计量终端在线且可用时,停止对计量终端的循环检测;当检测到计量终端在线且可用时,根据数据采集任务对计量终端的计量数据进行采集。

上述计量数据采集方法、装置、计算机设备和存储介质,在需要根据数据采集任务采集计量终端的数据时,先检测当前计量终端是否在线以及是否可用,如果不在线或不可用,则将该数据采集任务挂起,等待到计量终端在线且可用时,再对该计量终端的计量数据进行采集,可以避免对某个计量终端的并行数据采集任务过多,导致网络拥塞或计量终端采集数据异常的情况,提升对计量终端的计量数据采集的稳定性和效率。

附图说明

图1为一个实施例中计量数据采集方法的应用环境图;

图2为一个实施例中计量数据采集方法的流程示意图;

图3为另一个实施例中计量数据采集方法的流程示意图;

图4为又一个实施例中计量数据采集方法的流程示意图;

图5为一个实施例中计量数据采集装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的计量数据采集方法,可以应用于如图1所示的应用环境中。其中,n个计量终端102通过网络与服务器104进行通信。服务器104执行本申请任意实施例的计量数据采集方法的步骤,实现对任意一个或多个计量终端102的计量数据的采集。其中,计量终端102可以但不限于是各种电能表、电压表、电流表等等,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种计量数据采集方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

s202,获取待处理的数据采集任务;数据采集任务携带终端标识信息;

其中,终端标识信息为用于标识是哪一个计量终端的信息,每一个计量终端都有一个唯一的终端标识信息;终端标识信息可以具有不同的形式,例如可以是计量终端的ip地址,或者也可以是编号等等。

在此步骤中,服务器生成待处理的数据采集任务,其中,数据采集任务中记录了该任务采集对象的计量终端的终端标识信息。

s204,检测终端标识信息对应的计量终端是否在线,以及是否可用;

其中,服务器中可以存储有不同的终端标识信息对应的计量终端的对应关系的信息。

其中,是否可用是指的当前计量终端如果下发数据采集任务的话,是否能够顺利完成对该数据采集任务的计量数据采集。其可以通过多种途径进行判别。例如在当前计量终端正在处理的数据采集任务已达到任务量上限值,或者在当前计量终端产生故障等异常情况下,则可以认定该计量终端不可用。

在此步骤中,服务器在服务器中查询获取该终端标识信息对应的计量终端,并检测该计量终端的网络状态和任务处理状态,以判断该计量终端是否在线以及是否可用。

s206,若不在线或者不可用,则将数据采集任务挂起,并循环检测计量终端是否在线以及是否可用,直到检测到计量终端在线且可用时,停止对计量终端的循环检测;

其中,循环检测是指的每隔预设的频率(对应预设的时间间隔)检测计量终端是否在线以及是否可用。

在此步骤中,如果服务器检测到计量终端不在线或者不可用,则将数据采集任务挂起,并循环检测计量终端是否在线以及是否可用。在循环检测过程中,如果某次检测到计量终端不在线或者不可用,则过预设的时间间隔之后再检测一次计量终端是否在线以及是否可用,直到某次检测到计量终端在线且可用时,则不再检测计量终端是否在线以及是否可用,而是继续执行后续步骤s208。

s208,当检测到计量终端在线且可用时,根据数据采集任务对计量终端的计量数据进行采集。

在此步骤中,当s204中检测到计量终端在线且可用时,或者当s206中检测到计量终端在线且可用时,则服务器根据数据采集任务的数据采集需求,将该数据采集任务下发至对应的计量终端,对计量终端的计量数据进行采集。

上述计量数据采集方法,在需要根据数据采集任务采集计量终端的数据时,先检测当前计量终端是否在线以及是否可用,如果不在线或不可用,则将该数据采集任务挂起,等待到计量终端在线且可用时,再对该计量终端的计量数据进行采集,可以避免对某个计量终端的并行数据采集任务过多,导致网络拥塞或计量终端采集数据异常的情况,提升对计量终端的计量数据采集的稳定性和效率。

在一个实施例中,s204中和s206中的检测计量终端是否可用,包括:检测计量终端当前正在处理的数据采集任务总量是否达到任务量上限值;若未达到,则确定计量终端可用;若达到,则确定计量终端不可用。

其中,任务量上限值是计量终端在同一时间可以并行处理的任务量的上限值,其可以根据计量终端的任务处理性能设置。

本实施例中,通过对每个计量终端设置可以处理的任务量上限值,根据当前计量终端正在处理的数据采集任务总量是否达到任务量上限值来确定当前计量终端是否可用,从而可以将单个计量终端并行处理的任务量控制在一个合理的范围内,以降低单个计量终端并行处理的任务量超负荷导致的网络拥塞、计量终端数据处理速度下降、计量终端故障和数据丢失的风险。

在一个实施例中,如图3所示,计量数据采集方法还包括:

s302,检测待处理的数据采集任务是否存在于任务池中;

其中,任务池可以设置于服务器的内存库中。在需要将数据采集任务下发至计量终端进行计量数据采集时,需要从任务池中获取数据采集任务进行下发处理。

s304,若不存在,则将数据采集任务加入任务池中;

反之,如果s302检测的待处理的数据采集任务已经存在于任务池中,则可以丢弃该数据采集任务,避免任务重复执行。

s306,当接收到计量终端根据数据采集任务返回的计量数据时,将数据采集任务从任务池中删除。

本实施例中,通过设置的任务池管理待处理的数据采集任务,服务器在每次产生新的数据采集任务时,先检查任务池中是否具有该数据采集任务,如果没有再将该数据采集任务加入任务池中,在数据采集任务完成时,将该数据采集任务删除,可以避免数据采集任务在执行过程中多次执行或者任务丢失等情况,保证任务处理的可靠性。

在一个实施例中,s302检测待处理的数据采集任务是否存在于任务池中之前,还包括:获取待处理的数据采集任务的任务类型;任务类型包括实时采集任务或定时采集任务;若待处理的数据采集任务的任务类型为定时采集任务,则执行检测待处理的数据采集任务是否存在于任务池中的步骤。

此外,若待处理的数据采集任务的任务类型为实时采集任务,则无需执行检测待处理的数据采集任务是否存在于任务池中的步骤,而是可以直接将该待处理的数据采集任务加入任务池中。

本实施例中,在数据采集任务的任务类型是定时采集任务时,根据该数据采集任务是否在任务池中决定是否将该任务加入任务池中,避免定时采集任务重复处理的情况,保证定时采集任务处理的稳定性,而在任务类型为实时采集任务时,则直接将该任务加入任务池中,以保证实时采集任务处理的高时效性。

在一个实施例中,s208当检测到计量终端在线且可用时,根据数据采集任务对计量终端的计量数据进行采集,包括:当检测到计量终端在线且可用时,将数据采集任务列入任务执行队列的队尾;将位于任务执行队列的队首的数据采集任务下发至该数据采集任务对应的计量终端,数据采集任务用于指示计量终端根据数据采集任务采集计量数据;当接收到计量终端返回的计量数据时,将数据采集任务从任务执行队列的队首删除。

其中,本实施例中任务执行队列可以包含于上述实施例的任务池中。

本实施例中,服务器通过任务执行队列管理数据采集任务的分发执行,将满足计量终端在线且可用的执行条件的数据采集任务,依次列入任务执行队列中,并按先后顺序下发任务执行队列中的数据采集任务至计量终端,对任务分发顺次有序地进行,避免过多数据采集任务并行下发导致的网络拥塞等异常情况,提升服务器将数据采集任务下发至计量终端的稳定性和效率。

在一个实施例中,将位于任务执行队列的队首的数据采集任务下发至该数据采集任务对应的计量终端之后,还包括:若在将数据采集任务下发至该数据采集任务对应的计量终端后,预设时间段内未接收到计量终端返回的计量数据时,则重复发送数据采集任务至该数据采集任务对应的计量终端;当发送数据采集任务至该数据采集任务对应的计量终端的累计次数达到预设次数阈值后,预设时间段内仍未接收到计量终端返回的计量数据时,将计量终端标记为不可用,并发出计量终端不可用的告警信息。

本实施例中,在下发至计量终端的数据采集任务预设时间段内未接收返回的计量数据时,重复发送数据采集任务,减少单次数据采集任务发送过程中由于传输网络异常,或者计量终端异常导致数据采集任务不能完成的情况,提升数据采集任务完成的成功率。此外,在未接收到计量终端返回的计量数据的次数超出阈值时,将该计量终端标记为不可用,后续再产生该计量终端的新的数据采集任务时,可以在步骤s204中直接检测到该计量终端不可用,挂起该数据采集任务,以避免后续该计量终端的数据采集任务计入任务执行队列占用任务处理资源拖慢任务分发效率;同时发出计量终端不可用的告警信息,提醒相关人员及时对该计量终端的异常情况进行处理。

在一个实施例中,数据采集任务还携带采集数据项信息;根据数据采集任务对计量终端的计量数据进行采集,包括:根据数据采集任务,对计量终端中与采集数据项信息对应的计量数据进行采集。

本实施例中,在数据采集任务还携带采集数据项信息,计量终端可以在接收到服务器下发的数据采集任务时,采集该采集数据项对应的计量数据并返回至服务器,以实现对不同类型数据的指定采集。提升计量数据采集效率。

在一个实施例中,如图4所示,提供了一种计量数据采集方法,以该方法应用于图1中的服务器为例进行说明,本实施例结合上述各个实施例的计量数据采集方法,可以包括以下步骤:

s401,服务器生成待处理的数据采集任务;数据采集任务携带终端标识信息和采集数据项信息;

s402,服务器判断待处理的数据采集任务的任务类型是实时采集任务还是定时采集任务?若待处理的数据采集任务的任务类型为定时采集任务,则执行s403;若待处理的数据采集任务的任务类型为实时采集任务,则执行s404;

s403,服务器检测待处理的数据采集任务是否存在于服务器内存库中的任务池中?若不存在,则执行s404;若存在,则执行s405;

s404,服务器将数据采集任务加入任务池中;

s405,服务器将数据采集任务丢弃;

s406,服务器检测终端标识信息对应的计量终端是否在线?若在线,则执行s407;若不在线,执行s408;

s407,服务器检测终端标识信息对应的计量终端是否可用?若可用,则执行s409;若不可用,执行s408;

s408,服务器将数据采集任务挂起,并循环检测计量终端是否在线以及是否可用,直到检测到计量终端在线且可用时,停止对计量终端的循环检测,执行s409;

s409,服务器将数据采集任务列入任务执行队列的队尾;

s410,服务器将位于任务执行队列的队首的数据采集任务下发至该数据采集任务对应的计量终端;

s411,服务器监测预设时间段内是否接收到计量终端返回的计量数据?若预设时间段内未接收到计量终端返回的计量数据,则执行s412;若预设时间段内接收到计量终端返回的计量数据,则执行s415;

s412,服务器重复发送数据采集任务至该数据采集任务对应的计量终端,记录发送任务累计次数加一;

s413,服务器判断发送任务累计次数是否达到预设次数阈值?若未达到,则返回执行s411;若达到,则执行s414;

s414,服务器将计量终端标记为不可用,并发出计量终端不可用的告警信息。

s415,服务器将数据采集任务从任务执行队列的队首删除,并将该数据采集任务从任务池中删除;

s416,服务器判断当前任务执行队列的队首是否具有数据采集任务?若是,则返回执行s410;若否,则服务器结束对当前任务执行队列的任务分配操作。

上述实施例的计量数据采集方法,通过服务器的内存库中建立的任务池,采用内存聚合的方式,对数据采集任务进行管理,在上层程序故障时,也不会影响底层程序的任务数据,实现了任务数据的持久化;结合任务处理队列对数据采集任务进行排列处理,保证了数据采集任务处理的稳定性,减轻网络传输压力,保证数据交互速度和质量。在计量终端不在线或者任务量超负荷不可用时,将数据采集任务挂起,可以减轻计量终端的数据处理压力,确保计量终端健壮运行。

应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种计量数据采集装置500,包括:任务获取模块502、终端检测模块504、任务挂起模块506和数据采集模块508,其中:

任务获取模块502,用于获取待处理的数据采集任务;所述数据采集任务携带终端标识信息;

终端检测模块504,用于检测所述终端标识信息对应的计量终端是否在线,以及是否可用;

任务挂起模块506,用于若不在线或者不可用,则将所述数据采集任务挂起,并循环检测所述计量终端是否在线以及是否可用,直到检测到所述计量终端在线且可用时,停止对所述计量终端的循环检测;

数据采集模块508,用于当检测到所述计量终端在线且可用时,根据所述数据采集任务对所述计量终端的计量数据进行采集。

在一个实施例中,终端检测模块504和任务挂起模块506用于:检测计量终端当前正在处理的数据采集任务总量是否达到任务量上限值;若未达到,则确定计量终端可用;若达到,则确定计量终端不可用。

在一个实施例中,计量数据采集装置500还包括:任务池管理模块,用于检测待处理的数据采集任务是否存在于任务池中;若不存在,则将数据采集任务加入任务池中;当接收到计量终端根据数据采集任务返回的计量数据时,将数据采集任务从任务池中删除。

在一个实施例中,任务池管理模块还用于:获取待处理的数据采集任务的任务类型;任务类型包括实时采集任务或定时采集任务;若待处理的数据采集任务的任务类型为定时采集任务,则执行检测待处理的数据采集任务是否存在于任务池中的步骤。

在一个实施例中,数据采集模块508用于:当检测到计量终端在线且可用时,将数据采集任务列入任务执行队列的队尾;将位于任务执行队列的队首的数据采集任务下发至该数据采集任务对应的计量终端,数据采集任务用于指示计量终端根据数据采集任务采集计量数据;当接收到计量终端返回的计量数据时,将数据采集任务从任务执行队列的队首删除。

在一个实施例中,数据采集模块508用于:若在将数据采集任务下发至该数据采集任务对应的计量终端后,预设时间段内未接收到计量终端返回的计量数据时,则重复发送数据采集任务至该数据采集任务对应的计量终端;当发送数据采集任务至该数据采集任务对应的计量终端的累计次数达到预设次数阈值后,预设时间段内仍未接收到计量终端返回的计量数据时,将计量终端标记为不可用,并发出计量终端不可用的告警信息。

在一个实施例中,数据采集任务还携带采集数据项信息;数据采集模块508用于:根据数据采集任务,对计量终端中与采集数据项信息对应的计量数据进行采集。

关于计量数据采集装置的具体限定可以参见上文中对于计量数据采集方法的限定,在此不再赘述。上述计量数据采集装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种计量数据采集方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取待处理的数据采集任务;数据采集任务携带终端标识信息;检测终端标识信息对应的计量终端是否在线,以及是否可用;若不在线或者不可用,则将数据采集任务挂起,并循环检测计量终端是否在线以及是否可用,直到检测到计量终端在线且可用时,停止对计量终端的循环检测;当检测到计量终端在线且可用时,根据数据采集任务对计量终端的计量数据进行采集。

在其他实施例中,处理器执行计算机程序时还实现如上任意一个实施例的计量数据采集方法的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取待处理的数据采集任务;数据采集任务携带终端标识信息;检测终端标识信息对应的计量终端是否在线,以及是否可用;若不在线或者不可用,则将数据采集任务挂起,并循环检测计量终端是否在线以及是否可用,直到检测到计量终端在线且可用时,停止对计量终端的循环检测;当检测到计量终端在线且可用时,根据数据采集任务对计量终端的计量数据进行采集。

在其他实施例中,计算机程序被处理器执行时还实现如上任意一个实施例的计量数据采集方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1