本公开涉及数据处理领域,尤其涉及一种数据处理方法及装置。
背景技术:
modbus是一种应用于工业电子设备之间串行通讯协议,通常用来连接服务器和终端设备,允许服务器和多个终端设备连接在同一网络上进行通信。modbus通讯协议是一个master/slave架构的协议,其中一个节点,如服务器是master节点,其他参与通信的节点,如终端设备是slave节点。
现有技术中,网关从终端设备获取二进制数据,服务器通过modbustcp连接的方式从网关采集终端设备的二进制数据,将采集到的二进制数据转换为实际数据,并将实际数据与终端设备进行对应关联操作,再发送数据消息至消息队列上进行转发和存储操作。
但是,每次采集任务采集到的数据完成转换、对应关联、转发及存储的操作后,才启动下一次采集任务。这种单线程的模式占用的服务器资源较多,数据处理效率较低。
技术实现要素:
本公开实施例提供一种数据处理方法及装置,能够解决数据采集效率低下的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种数据处理方法,所述方法包括:
采集服务器中设置线程池,所述线程池中包含多个并行运行的线程,其中,每个所述线程执行如下操作:
从对应的网关中获取待处理数据序列;所述待处理数据序列中包含多个待处理数据;所述待处理数据是所述网关从与其建立通讯连接的终端设备处采集获得的;
根据预设处理规则,对所述待处理数据序列进行处理,生成对应的设备数据;所述设备数据中包括数据信息、设备信息以及参数信息;
将所述设备数据发送至消息队列上,以供处理服务器获取并存储。
通过在采集服务器中设置多个并行运行的线程,实现多线程模式的数据处理,并且在将设备数据发送至消息队列后,即可进入新的数据采集处理任务中。在节省服务器资源的同时,提升了数据处理效率。
在一个实施例中,所述根据预设处理规则,对所述待处理数据序列进行处理,生成对应的设备数据,包括:
根据预先配置的点表,按照序列顺序对数据进制转换后的所述待处理数据与终端设备进行关联操作,生成对应的设备数据;其中,所述点表中包括对应的终端设备序列及参数序列。
通过预先配置包括对应的终端设备序列及参数序列的点表,简单的与待处理数据序列进行配对关联操作,生成设备数据,进一步提升了数据处理效率。
在一个实施例中,所述从对应的网关中获取待处理数据序列,包括:
通过modbustcp通讯协议从所述对应的网关中获取所述待处理数据序列。
在一个实施例中,所述设备信息包括设备类型及设备标识。
在一个实施例中,所述参数信息包括遥测量参数及电能参数。
根据本公开实施例的第二方面,提供一种数据处理装置,所述装置包括:
获取模块,用于从对应的网关中获取待处理数据序列;所述待处理数据序列中包含多个待处理数据;所述待处理数据是所述网关从与其建立通讯连接的终端设备处采集获得的;
处理模块,用于根据预设处理规则,对所述待处理数据序列进行处理,生成对应的设备数据;所述设备数据中包括数据信息、设备信息以及参数信息;
发送模块,用于将所述设备数据发送至消息队列上,以供处理服务器获取并存储。
数据处理装置的发送模块在将设备数据发送至消息队列后,即可进入新的数据采集处理任务中,在节省服务器资源的同时,提升了数据处理效率。
在一个实施例中,所述处理模块具体用于:
根据预先配置的点表,按照序列顺序对数据进制转换后的所述待处理数据与终端设备进行关联操作,生成对应的设备数据;其中,所述点表中包括对应的终端设备序列及参数序列。
处理模块通过预先配置包括对应的终端设备序列及参数序列的点表,简单的与待处理数据序列进行配对关联操作,生成设备数据,进一步提升了数据处理效率。
在一个实施例中,所述获取模块具体用于:
通过modbustcp通讯协议从所述对应的网关中获取所述待处理数据序列。
在一个实施例中,所述设备信息包括设备类型及设备标识。
在一个实施例中,所述参数信息包括遥测量参数及电能参数。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种数据处理方法的流程图;
图2是本公开实施例提供的一种数据处理装置的逻辑层结构示意图;
图3是本公开实施例提供的一种数据处理方法的交互图;
图4是本公开实施例提供的一种数据处理装置的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种数据处理方法,主要应用于采集服务器中,本公开实施例中,采集服务器中设置线程池,所述线程池中包含多个并行运行的线程,如图1所示,每个所述线程执行的操作包括以下步骤:
101、从对应的网关中获取待处理数据序列;所述待处理数据序列中包含多个待处理数据;所述待处理数据是所述网关从与其建立通讯连接的终端设备处采集获得的。
在本步骤之前,网关需要注册到采集服务器上,采集服务器为网关分配对应的线程。线程通过modbustcp通讯协议从所述对应的网关中获取所述待处理数据序列。
102、根据预设处理规则,对所述待处理数据序列进行处理,生成对应的设备数据;所述设备数据中包括数据信息、设备信息以及参数信息。
需要说明的是,线程从网关获取的待处理数据序列中的待处理数据,通常是二进制数据,在本步骤中,需要先对待处理数据进行数据进制转换,将二进制数据转换为十进制,然后根据预先配置的点表,按照序列顺对数据进制转换后的所述待处理数据与终端设备进行关联操作,生成对应的设备数据;其中,所述点表中包括对应的终端设备序列及参数序列。
具体的,所述设备信息包括设备类型及设备标识,例如,高压开关柜01、高压开关柜02,低压进线柜03。所述参数信息包括遥测量参数及电能参数。其中,遥测量参数例如可以是电压、电流、有功、无功、功率因数、频率等参数,电能参数例如可以包括正向有功电能,正向无功电能等参数。
103、将所述设备数据发送至消息队列上,以供处理服务器获取并存储。
在本步骤中,线程将上述步骤中生成的设备数据发送至消息队列后,即可返回执行上述步骤101。处理服务器可随后从消息队列上获取设备数据进行存储。
本公开实施例提供的数据处理方法,通过在采集服务器中设置多个并行运行的线程,实现数据处理的多线程模式,并且在将设备数据发送至消息队列后,即可进入新的数据采集处理任务中,采集服务器和处理服务器之间互不干扰,异步执行,在提升了数据处理效率的同时,还节省了服务器资源。
基于上述图1对应的实施例提供的数据处理方法,本公开另一实施例提供一种数据处理方法。参照图2及图3所示,本实施例提供的数据处理方法包括以下步骤:
301、网关从终端设备处采集待处理数据并以待处理数据序列的形式进行存储。
具体的,终端设备可以包括一次电力设备,如,电力仪表、保护装置、环境信息设备等。
网关可以通过modbus、103等通讯协议,与终端设备建立通讯连接,在预设时间间隔从终端设备获取待处理数据序列。
302、采集服务器通过网络与网关建立连接,将网关注册到采集服务器上。
该网络例如可以是因特网、3g网络、4g网络等,本实施例对此不作具体限定。
303、采集服务器从网关获取待处理数据序列。
采集服务器可以通过modbustcp通讯协议从网关获取待处理数据序列。具体应用到的技术例如可以包括boost库、muduo网络通讯库等。
304、采集服务器根据预设处理规则,对待处理数据序列进行处理,生成对应的设备数据发送至rabbitmq消息队列。
本步骤中,采集服务器根据预先配置的点表中终端设备序列,以及参数序列,按照序列顺序对待处理数据与终端设备进行关联操作,生成设备数据。其中,设备数据中包括数据信息、设备信息以及参数信息。
需要说明的是,rabbitmq是实现amqp(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
305、处理服务器从rabbitmq消息队列上获取设备数据进行存储。
本公开实施例提供的数据处理方法,采集服务器在将设备数据发送至消息队列后,即可进入新的数据采集处理任务中,采集服务器和处理服务器之间互不干扰,异步执行,在提升了数据处理效率的同时,还节省了服务器资源。
基于上述图1~图3对应的实施例中所描述的数据方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种数据处理装置,如图4所示,该数据处理装置40包括:获取模块401、处理模块402和发送模块403。
其中,获取模块401用于从对应的网关中获取待处理数据序列;所述待处理数据序列中包含多个待处理数据;所述待处理数据是所述网关从与其建立通讯连接的终端设备处采集获得的。
处理模块402用于根据预设处理规则,对所述待处理数据序列进行处理,生成对应的设备数据;所述设备数据中包括数据信息、设备信息以及参数信息。其中,所述设备信息包括设备类型及设备标识;所述参数信息包括遥测量参数及电能参数。
发送模块403用于将所述设备数据发送至消息队列上,以供处理服务器获取并存储。
具体的,所述处理模块具体用于:根据预先配置的点表,按照序列顺序对数据进制转换后的所述待处理数据与终端设备进行关联操作,生成对应的设备数据;其中,所述点表中包括对应的终端设备序列及参数序列。
所述获取模块具体用于:通过modbustcp通讯协议从所述对应的网关中获取所述待处理数据序列。
本公开实施例提供的数据处理装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
基于上述图1~图3对应的实施例中所描述的数据处理方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:readonlymemory,rom)、随机存取存储器(英文:randomaccessmemory,ram)、cd-rom、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1~图3对应的实施例中所描述的数据处理方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。