CN115174376B - 数据采集方法、装置、设备及存储介质 - Google Patents

数据采集方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115174376B
CN115174376B CN202210826605.0A CN202210826605A CN115174376B CN 115174376 B CN115174376 B CN 115174376B CN 202210826605 A CN202210826605 A CN 202210826605A CN 115174376 B CN115174376 B CN 115174376B
Authority
CN
China
Prior art keywords
configuration information
data
real
target
element type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210826605.0A
Other languages
English (en)
Other versions
CN115174376A (zh
Inventor
徐小春
汪云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Inovance Technology Co Ltd
Original Assignee
Shenzhen Inovance Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Inovance Technology Co Ltd filed Critical Shenzhen Inovance Technology Co Ltd
Priority to CN202210826605.0A priority Critical patent/CN115174376B/zh
Publication of CN115174376A publication Critical patent/CN115174376A/zh
Application granted granted Critical
Publication of CN115174376B publication Critical patent/CN115174376B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据采集方法、装置、设备及存储介质,涉及工业数据处理领域,方法包括:获取包括实时数据配置信息和关键数据配置信息的配置信息,关键数据配置信息包括多个目标数据项;针对关键数据配置信息中各个元件类型的各个数据项,判断实时数据配置信息中是否包括目标数据项,得到判断结果;根据判断结果,修改实时数据配置信息,得到目标数据配置信息;根据目标数据配置信息对目标设备进行数据采集,得到目标设备的关键数据。本发明解决了现有技术中实时数据与关键数据的采集存在抢占资源的问题,实现了通过实时数据线程采集关键数据,从而仅通过一个采集线程实现实时数据的采集和关键数据的采集,提高数据采集效率的效果。

Description

数据采集方法、装置、设备及存储介质
技术领域
本发明涉及工业数据处理领域,尤其涉及一种数据采集方法、装置、设备及存储介质。
背景技术
目前,工业领域数据的采集主要有实时数据以及个性化设定的关键数据。其中,实时数据是指需要实时展示给用户的数据,关键数据是指用户设定的想要的数据。
传统的数据采集方式中,实时数据的采集和关键数据的采集有各自独立的线程进行。这种数据采集方式存在的问题是,当数据量较多时,实时数据的采集进程和关键数据的采集进程会出现抢占,以争取与目标设备的交互,两个进程都会消耗大量时间在抢占资源上,导致数据采集效率降低,采集时间增加。
发明内容
本发明的主要目的在于:提供一种数据采集方法、装置、设备及存储介质,旨在解决现有技术中实时数据与关键数据的采集存在抢占资源的技术问题。
为实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供了一种数据采集方法,所述方法包括:
获取配置信息,所述配置信息包括实时数据配置信息和关键数据配置信息,所述实时数据配置信息和所述关键数据配置信息分别用于采集目标设备的实时数据和关键数据;所述配置信息包括多个变量和所述多个变量的值,所述关键数据配置信息包括多个目标数据项,所述目标数据项包括目标变量和所述目标变量的目标值;
针对所述关键数据配置信息中各个元件类型的各个数据项,判断所述实时数据配置信息中是否包括所述目标数据项,得到判断结果;
根据所述判断结果,修改所述实时数据配置信息,得到目标数据配置信息;所述目标数据配置信息用于以所述实时数据配置信息的采集线程采集所述关键数据;
根据所述目标数据配置信息对所述目标设备进行数据采集,得到所述关键数据。
可选地,上述数据采集方法中,所述判断所述实时数据配置信息中是否包括所述目标数据项,得到判断结果的步骤包括:
遍历所述实时数据配置信息中各元件类型的各个数据项;
若所述各个数据项中存在所述目标数据项,则所述判断结果为包括,其中,所述目标数据项的所述目标值包括元件类型名称和数据获取地址;
若所述各个数据项中不存在所述目标数据项,则所述判断结果为不包括。
可选地,上述数据采集方法中,所述根据所述判断结果,修改所述实时数据配置信息,得到目标数据配置信息的步骤包括:
当所述实时数据配置信息中包括所述目标数据项时,修改所述实时数据配置信息中所述目标数据项对应的第一元件类型的第一配置信息,得到所述目标数据配置信息;
当所述实时数据配置信息中不包括所述目标数据项时,在所述实时数据配置信息中新增一个与所述目标数据项对应的第二元件类型的第二配置信息,将所述目标数据项加入所述第二配置信息,并修改所述第二配置信息,得到所述目标数据配置信息。
可选地,上述数据采集方法中,所述当所述实时数据配置信息中包括所述目标数据项时,修改所述实时数据配置信息中所述目标数据项对应的第一元件类型的第一配置信息,得到所述目标数据配置信息的步骤包括:
当所述实时数据配置信息中包括所述目标数据项时,判断所述第一配置信息是否已被修改;
若所述第一配置信息未被修改,则修改所述第一元件类型的第一配置信息,得到所述目标数据配置信息;
若所述第一配置信息已被修改,则将已被修改的第一配置信息作为所述目标数据配置信息。
可选地,上述数据采集方法中,所述当所述实时数据配置信息中不包括所述目标数据项时,在所述实时数据配置信息中新增一个与所述目标数据项对应的第二元件类型的第二配置信息,将所述目标数据项加入所述配置信息,并修改所述第二配置信息,得到所述目标数据配置信息的步骤包括:
当所述实时数据配置信息中不包括所述目标数据项时,判断所述实时数据配置信息中是否存在新增的元件类型;
若所述实时数据配置信息中不存在新增的元件类型,则在所述实时数据配置信息中新增一个与所述目标数据项对应的第二元件类型的第二配置信息,将所述目标数据项加入所述第二配置信息,并修改所述第二配置信息,得到所述目标数据配置信息;
若所述实时数据配置信息中存在新增的元件类型,则判断所述新增的元件类型与所述目标数据项对应的元件类型是否匹配;
若匹配,则将所述目标数据项加入所述新增的元件类型的第三配置信息中,得到所述目标数据配置信息;
若不匹配,则在所述实时数据配置信息中新增一个与所述目标数据项对应的第二元件类型的第二配置信息,将所述目标数据项加入所述第二配置信息,并修改所述第二配置信息,得到所述目标数据配置信息。
可选地,上述数据采集方法中,所述实时数据配置信息和所述关键数据配置信息均为数据配置表,所述数据配置表中的数据项包括元件类型数据项和对应的采集方式数据项;
所述若所述第一配置信息未被修改,则修改所述第一元件类型的第一配置信息的步骤包括:
若所述第一配置信息未被修改,则将所述第一元件类型的采集方式数据项修改为所述目标数据项所对应的采集方式数据项;
所述修改所述第二元件类型的配置信息的步骤包括:
将所述第二元件类型的采集方式修改为所述数据项所对应的采集方式。
可选地,上述数据采集方法中,所述实时数据配置信息的数据配置表还包括与元件类型对应的新增标志变量;
所述修改所述第一元件类型的第一配置信息的步骤还包括:
将表示所述第一元件类型的新增标志变量对应的值配置为默认值;
所述修改所述第二元件类型的配置信息的步骤包括:
将表示所述第二元件类型的新增标志变量对应的值配置为真实值。
第二方面,本发明提供了一种数据采集装置,所述装置包括:
配置信息获取模块,用于获取配置信息,所述配置信息包括实时数据配置信息和关键数据配置信息,所述实时数据配置信息和所述关键数据配置信息分别用于采集目标设备的实时数据和关键数据;所述配置信息包括多个变量和所述多个变量的值,所述关键数据配置信息包括多个目标数据项,所述目标数据项包括目标变量和所述目标变量的目标值;
判断模块,用于针对所述关键数据配置信息中各个元件类型的各个数据项,判断所述实时数据配置信息中是否包括所述目标数据项,得到判断结果;
配置信息更改模块,用于根据所述判断结果,修改所述实时数据配置信息,得到目标数据配置信息;所述目标数据配置信息用于以所述实时数据配置信息的采集线程采集所述关键数据;
数据采集模块,用于根据所述目标数据配置信息对所述目标设备进行数据采集,得到所述关键数据。
第三方面,本发明提供了一种数据采集设备,所述设备包括处理器和存储器,所述存储器中存储有数据采集程序,所述数据采集程序被所述处理器执行时,实现如上述的数据采集方法。
第四方面,本发明提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如上述的数据采集方法。
本发明提供的上述一个或多个技术方案,可以具有如下优点或至少实现了如下技术效果:
本发明提出的一种数据采集方法、装置、设备及存储介质,通过获取实时数据配置信息和关键数据配置信息,针对关键数据配置信息中各个元件类型的各个数据项,判断实时数据配置信息中是否包括该目标数据项,再根据判断结果,修改实时数据配置信息,得到目标数据配置信息,最后根据目标数据配置信息对目标设备进行数据采集,得到关键数据,实现了通过实时数据线程采集关键数据的目的。本发明将实时数据配置信息和关键数据配置信息合成一个目标数据配置信息,根据这个合成的目标数据配置信息对应的一个采集线程进行采集,仅通过一个采集线程进行实时数据的采集和关键数据的采集,实现了关键数据和实时数据的解耦,不存在两个不同进程抢占资源的情况,提高了数据采集的效率,并且,对于一些重复的数据项,只需要采集一次,便能多方使用,提高了数据的使用率,并进一步提高了数据采集的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的这些附图获得其他的附图。
图1为本发明数据采集方法第一实施例的流程示意图;
图2为本发明涉及的数据采集设备的硬件结构示意图;
图3为本发明数据采集方法第二实施例一实施方式的流程示意图;
图4为本发明数据采集方法第二实施例另一实施方式的流程示意图;
图5为本发明数据采集装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,在本发明中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。另外,在本发明中,若有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。另外,各个实施例的技术方案可以相互结合,但是,是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
随着物联网技术在工业领域的快速发展,工业领域设备接入量的不断增加,工业数据的处理面临巨大挑战。数据的量级和种类日益提高,对于大数量级的数据,数据采集的时间和准确性上的要求不断提高,对于不同种类的数据,数据采集的方式和数据内容具有更多不同。
对现有技术的分析发现,目前,工业领域数据的采集主要有实时数据以及个性化设定的关键数据。其中,实时数据是指需要实时展示给用户的数据,关键数据是指用户设定的想要的数据,一般在采集到关键数据发生变化或者达到一定周期之后,才采集与其相关的非关键数据。例如,某些设备的开关量可以作为关键数据,由开到关或者由关到开发生变化时,采集该时刻的其他非关键数据展示给用户。
传统的数据采集方式中,对于实时数据,有发送请求采集、周期性采集和持续不断采集等多种方式,而对于关键数据,一般都是轮询采集的方式。并且,实时数据的采集和关键数据的采集有各自独立的线程进行。这种传统的数据采集方式存在的问题是:
1.当数据量较多时,实时数据的采集进程和关键数据的采集进程会出现抢占,以获得与目标设备的交互,两个进程都会消耗大量时间在抢占资源上,导致数据采集效率降低,采集时间增加;
2.关键数据中可能会有大量的点存在于实时数据中,一些相同的数据需要两个进程分别采集,造成资源交互的浪费,导致数据采集效率进一步降低。
鉴于现有技术中实时数据与关键数据的采集存在抢占资源以及资源交互浪费的技术问题,本发明提供了一种数据采集方法,总体思路如下:
获取配置信息,配置信息包括实时数据配置信息和关键数据配置信息,实时数据配置信息和关键数据配置信息分别用于采集目标设备的实时数据和关键数据;配置信息包括多个变量和多个变量的值,关键数据配置信息包括多个目标数据项,目标数据项包括目标变量和目标变量的目标值;针对关键数据配置信息中各个元件类型的各个数据项,判断实时数据配置信息中是否包括目标数据项,得到判断结果;根据判断结果,修改实时数据配置信息,得到目标数据配置信息,目标数据配置信息用于以实时数据配置信息的采集线程采集关键数据;根据目标数据配置信息对目标设备进行数据采集,得到关键数据。
通过上述技术方案,实现了通过实时数据线程采集关键数据的目的。本发明将实时数据配置信息和关键数据配置信息合成一个目标数据配置信息,根据这个合成的目标数据配置信息对应的一个采集线程进行采集,仅通过一个采集线程进行实时数据的采集和关键数据的采集,实现了关键数据和实时数据的解耦,不存在两个不同进程抢占资源的情况,提高了数据采集的效率,并且,对于一些重复的数据项,只需要采集一次,便能多方使用,提高了数据的使用率,并进一步提高了数据采集的效率。
下面结合附图,通过具体的实施例和实施方式对本发明提供的数据采集方法、装置、设备及存储介质进行详细说明。
实施例一
参照图1的流程示意图,提出本发明数据采集方法的第一实施例,该数据采集方法应用于数据采集设备。
数据采集设备是指能够实现通信连接的终端设备或控制设备,比如嵌入式工控机、边缘设备等终端设备,也可以是主控制器、中央处理器(Central Processing Unit,CPU)等控制设备。
如图2所示,为数据采集设备的硬件结构示意图。该设备可以包括:处理器1001,通信总线1002,用户接口1003,网络接口1004和存储器1005。本领域技术人员可以理解,图2中示出的硬件结构并不构成对本发明数据采集设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
具体的,通信总线1002用于实现这些组件之间的连接通信;用户接口1003用于连接客户端,与客户端进行数据通信,用户接口1003可以包括输出单元,如显示屏、输入单元,如键盘;网络接口1004用于连接后台服务器,与后台服务器进行数据通信,网络接口1004可以包括输入/输出接口,比如标准的有线接口、无线接口,如Wi-Fi接口;存储器1005用于存储各种类型的数据,这些数据例如可以包括该数据采集设备中任何应用程序或方法的指令,以及应用程序相关的数据,存储器1005可以是高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器;可选的,存储器1005还可以是独立于处理器1001的存储装置;继续参照图2,存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据采集程序;处理器1001用于调用存储器1005中存储的数据采集程序,并执行以下操作:
获取配置信息,配置信息包括实时数据配置信息和关键数据配置信息,实时数据配置信息和关键数据配置信息分别用于采集目标设备的实时数据和关键数据;配置信息包括多个变量和多个变量的值,关键数据配置信息包括多个目标数据项,目标数据项包括目标变量和目标变量的目标值;
针对关键数据配置信息中各个元件类型的各个数据项,判断实时数据配置信息中是否包括目标数据项,得到判断结果;
根据判断结果,修改实时数据配置信息,得到目标数据配置信息,目标数据配置信息用于以实时数据配置信息的采集线程采集关键数据;
根据目标数据配置信息对目标设备进行数据采集,得到关键数据。
基于上述的数据采集设备,下面结合图1所示的流程示意图,对本实施例的数据采集方法进行详细描述。方法可以包括以下步骤:
步骤S100:获取配置信息,所述配置信息包括实时数据配置信息和关键数据配置信息。其中,实时数据配置信息和关键数据配置信息分别用于采集目标设备的实时数据和关键数据;配置信息包括多个变量和多个变量的值,关键数据配置信息包括多个目标数据项,目标数据项包括目标变量和目标变量的目标值。
具体的,目标设备是指与数据采集设备通信连接的,将要被采集自身数据的设备,比如,当数据采集设备是控制设备时,目标设备可以是与该控制设备连接的执行设备、传感设备等。可以同时获取实时数据配置信息和关键数据配置信息,其中,实时数据配置信息是指预先设置的控制设备对目标设备进行实时数据采集的配置表,关键数据配置信息是指预先设置的控制设备对目标设备进行关键数据采集的配置表,即实时数据配置信息可以是实时数据配置表,关键数据配置信息可以是关键数据配置表。配置表中可以包括多个变量和多个变量的值,变量的值可以包括具体的元件类型以及该元件类型要采集的多个点的具体地址,多个变量以及多个变量的值可以组合为多个数据项。对应的,关键数据配置信息中目标变量和目标变量的目标值可以构成一个目标数据项,因此,关键数据配置信息可以包括多个目标数据项,目标数据项包括目标变量和目标变量的目标值。
步骤S200:针对所述关键数据配置信息中各个元件类型的各个数据项,判断所述实时数据配置信息中是否包括所述目标数据项,得到判断结果。
具体的,针对关键数据配置信息中的各个元件类型对应的每个数据项,均进行该步骤,也就是具体判断实时数据配置信息中是否有相同的数据项,得到实时数据配置信息中包括目标数据项的判断结果或实时数据配置信息中不包括目标数据项的判断结果。
步骤S300:根据所述判断结果,修改所述实时数据配置信息,得到目标数据配置信息;所述目标数据配置信息用于以所述实时数据配置信息的采集线程采集所述关键数据。
具体的,针对每一个目标数据项执行步骤S200后,都会得到针对该目标数据项的判断结果,根据不同的判断结果,对应修改实时数据配置信息,具体可以是修改实时数据配置信息中元件类型的数据采集方式,也就是将实时采集方式修改为关键采集方式,从而得到目标数据配置信息。
比如,当得到的是实时数据配置信息中包括该目标数据项的判断结果时,可以直接将实时数据配置信息中该目标数据项所对应的元件类型的采集方式由实时采集更改为关键采集;当得到的是实时数据配置信息中不包括该目标数据项的判断结果时,可以在实时数据配置信息中增加一个该目标数据项所对应的元件类型的配置信息,由于是在实时数据配置信息中增加,该元件类型的配置信息中默认的采集方式是实时采集,因此还可以再将该增加的配置信息的采集方式由实时采集更改为关键采集,从而得到可以以实时采集配置信息所对应的采集线程进行关键数据采集的目标数据配置信息。
针对关键数据配置信息中各个元件类型的各个数据项,均执行上述步骤S200和S300,此处可以是依次进行,比如,先对第一个元件类型的第一个数据项进行判断和实时数据配置信息更改,完成后再对第二个数据项进行判断和实时数据配置信息更改,也就是循环执行上述步骤S200和S300,直到遍历关键数据配置信息中的所有数据项,实现根据关键数据配置信息对实时数据配置信息进行修改,得到合并完成的最终的目标数据配置信息,即目标数据配置表。后续可以直接根据该目标数据配置表,启动实时数据采集线程进行实时数据和关键数据的采集。
步骤S400:根据所述目标数据配置信息对所述目标设备进行数据采集,得到所述关键数据。
具体的,数据采集设备得到目标数据配置信息,即目标数据配置表后,可以根据该目标数据配置表对目标设备进行数据采集,采集时,仅启动一个进程便可,该进程便是原实时数据配置信息的采集线程,数据采集设备便通过这个采集线程对目标设备进行关键数据的采集。目标数据配置表中具体限定了不同元件类型的采集方式和具体地址,基于此,采集得到的数据既可以作为实时数据,也可以作为关键数据,具体的元件类型分类可以由数据配置表的字段决定。最终得到的采集数据可以继续进行数据分类或识别,也可以直接进行数据处理,具体后续操作基于数据采集设备采集目标设备数据的目的决定。
本实施例提供的数据采集方法,通过获取实时数据配置信息和关键数据配置信息,针对关键数据配置信息中各个元件类型的各个数据项,判断实时数据配置信息中是否包括该目标数据项,再根据判断结果,修改实时数据配置信息,得到目标数据配置信息,最后根据目标数据配置信息对目标设备进行数据采集,得到关键数据,实现了通过实时数据线程采集关键数据的目的。本发明将实时数据配置信息和关键数据配置信息合成一个目标数据配置信息,根据这个合成的目标数据配置信息对应的一个采集线程进行采集,仅通过一个采集线程进行实时数据的采集和关键数据的采集,实现了关键数据和实时数据的解耦,不存在两个不同进程抢占资源的情况,提高了数据采集的效率,并且,对于一些重复的数据项,只需要采集一次,便能多方使用,提高了数据的使用率,并进一步提高了数据采集的效率。
实施例二
基于同一发明构思,参照图3至图4,提出本发明数据采集方法的第二实施例,该数据采集方法应用于数据采集设备。
下面结合图3所示的流程示意图,对本实施例的数据采集方法进行详细描述。方法可以包括以下步骤:
步骤S100:获取配置信息,所述配置信息包括实时数据配置信息和关键数据配置信息,实时数据配置信息和关键数据配置信息分别用于采集目标设备的实时数据和关键数据;配置信息包括多个变量和多个变量的值,关键数据配置信息包括多个目标数据项,目标数据项包括目标变量和目标变量的目标值。
具体的,实时数据配置信息和关键数据配置信息均为数据配置表,数据配置表中的数据项可以包括元件类型数据项和对应的采集方式数据项。
具体实施过程中,配置信息可以为数据配置表,数据配置表的数据结构可以包括具体的变量和变量的值,变量的值包括元件类型名称、元件类型对应的采集方式和采集地址等。实时数据配置信息即为实时数据配置表,关键数据配置信息即为关键数据配置表。实时数据配置表中,一般有发出请求后采集、周期性采集或持续采集等多种采集方式,而关键数据配置表中,一般有轮询采集的采集方式。在实际应用中,具体的采集方式可以由用户设定,一般以不同的名称来表示不同的采集方式。
如表1所示为获取的实时数据配置表的数据结构示例:
表1
map<BYTE,MonitorData_config*>
Byte:plc_sn
将表1的数据结构以JSON格式表示后,可以提取出多个变量(用item表示)以及每个变量所对应的值,即类型(prefix),而相同类型(prefix)是隶属于同一个元件类型(用tag表示),因此可以有多个变量对应的元件类型是同一个的情况。为了便于理解,下面以表格形式表示该实时数据配置表,假设可以得到如下表2所示的实时数据配置表:
表2
由表2可以看出,在一个元件类型tag里可以有多个变量item,表示每个点的具体地址。
如表3所示为获取的关键数据配置表的数据结构示例:
表3
map<BYTE,CriticalData_config*>
Byte:plc_sn
同理地,将表3的数据结构以JSON格式表示后,可以提取出多个变量(用item表示)以及每个变量所对应的值,即类型(prefix),而相同类型(prefix)的元件是隶属于同一个元件类型(用tag表示)。为了便于理解,下面以表格形式表示该关键数据配置表,假设可以得到如下表4所示的关键数据配置表:
表4
实时数据配置表和关键数据配置表中,每个元件类型tag的配置信息里都有一个mode字段,用来表示该元件类型tag的采集方式。比如,实时数据配置表中发出请求后采集的采集方式可以用“mode:request”来表示,关键数据配置表中轮询采集的采集方式可以用“mode:critical”来表示。
针对上述举例的实时数据配置表和关键数据配置表,传统的数据采集方法是,分别根据两个配置表独立进行采集,会有单独的线程去执行采集。但针对该数据采集方法,发现关键数据中的点可能会有大量的点存在于实时数据中,这样势必造成了资源交互的浪费。基于此,本实施例提出一种对实时数据配置表和关键数据配置表进行合并得到一个目标数据配置表即目标数据配置信息的方式,通过一条线程执行采集,可以避免资源交互的浪费。
步骤S200:针对所述关键数据配置信息中各个元件类型的各个数据项,判断所述实时数据配置信息中是否包括所述目标数据项,得到判断结果。
具体的,步骤S200可以包括:
步骤S210:针对关键数据配置信息中各个元件类型的各个数据项,遍历实时数据配置信息中各元件类型的各个数据项;
步骤S220:若各个数据项中存在目标数据项,则判断结果为包括;其中,目标数据项的目标值包括元件类型名称和数据获取地址;
步骤S230:若各个数据项中不存在目标数据项,则判断结果为不包括。
针对表4的关键数据配置表中各个元件类型的各个数据项,即A1、A2、B1、B4、C1和C2,判断表2的实时数据配置表中是否存在与目标数据项的数据信息一致的数据项,数据信息一致是指元件类型名称和数据获取地址均一致。
比如,针对表4中的数据项A1,在表2中查询,可以查询到元件类型名称和数据获取地址都一致的A1,那么可以判定表2中包括A1,也就是实时数据配置信息中包括目标数据项;又比如,针对表4中的数据项B1,在表2中查询,虽然可以查询到元件类型名称一致的B,但该元件类型B下的数据获取地址B2和B3均与B1不同,也就是表4中的数据项B1与表2中元件类型B下的数据项的数据信息存在不一致,那么可以判定表2中不包括B1,也就是实时数据配置信息中不包括目标数据项。
步骤S300:根据所述判断结果,修改所述实时数据配置信息,得到目标数据配置信息;所述目标数据配置信息用于以所述实时数据配置信息的采集线程采集所述关键数据。
具体的,可以按设定的顺序或默认顺序依次对关键数据配置表中各个元件类型的各个数据项进行上述步骤S200的判断,对应得到判断结果,执行步骤S300,然后再针对下一个数据项进行上述步骤S200的判断,如此循环直到遍历完关键数据配置表中的所有数据项,得到最终的目标数据配置信息。
在一实施方式中,如图3所示,步骤S300可以包括:
步骤S310:当实时数据配置信息中包括目标数据项时,修改实时数据配置信息中目标数据项对应的第一元件类型的第一配置信息,得到目标数据配置信息。
当实时数据配置表中包括当前判定的目标数据项时,那么该实时数据配置表中相应的元件类型tag可以确定为是该目标数据项对应的第一元件类型,此时可以直接修改该第一元件类型的配置信息,即第一配置信息,具体修改该第一配置信息的mode字段。
比如,针对关键数据配置信息(表4)中的数据项A1,执行步骤S200后,可以得到实时数据配置信息(表2)中包括目标数据项A1的判断结果,表2中该目标数据项A1对应的元件类型A即为第一元件类型,此时,可以直接修改表2中第一元件类型A的配置信息,即第一配置信息,比如,修改第一配置信息的mode字段为critical。然后,可以跳转到步骤S400。
步骤S320:当实时数据配置信息中不包括目标数据项时,在实时数据配置信息中新增一个与目标数据项对应的第二元件类型的第二配置信息,将目标数据项加入第二配置信息,并修改第二配置信息,得到目标数据配置信息。
当实时数据配置表中不包括当前判定的目标数据项时,此时可以在实时数据配置表中新增一个与该目标数据项对应的元件类型及其配置信息,作为第二元件类型及其第二配置信息,然后将该目标数据项加入该第二配置信息,并修改该第二配置信息,比如修改该第二配置信息的mode字段。
比如,针对关键数据配置信息(表4)中的数据项B1,执行步骤S200后,可以得到实时数据配置信息(表2)中不包括目标数据项B1的判断结果,此时,可以在表2中新增一个相同的元件类型tag的配置信息,即第二元件类型B的第二配置信息。需要说明,第二元件类型B的第二配置信息和表2中原本的元件类型B的配置信息是不同的,此处新增一个元件类型B的第二配置信息,而不是直接在原本的元件类型B的配置信息上进行操作,是防止实时数据配置表中原本的元件类型B的配置信息中其他配置参数与表4中目标数据项B1对应的元件类型B的配置信息中其他配置参数具有不同,而影响原本的元件类型B的实时数据采集操作。实际应用中,配置表的元件类型除了名称的不同,其实还有序号的不同,因此,此处新增的第二元件类型B与表2中原本的元件类型B虽然名称一样,但序号不同,甚至可能还有配置参数的不同,此处不再赘述。
基于上述设定,在表2中新增第二元件类型B的第二配置信息后,将表4中的目标数据项B1加入该第二配置信息,并修改该第二配置信息的mode字段为critical。需要说明,因为是在实时数据配置表中新增,所以新增后的第二配置信息的mode字段,即采集方式会默认为实时数据采集方式,比如request。因此,此处仍需要对第二配置信息的采集方式进行修改,也就是将mode字段修改为critical。然后,可以跳转到步骤S400。
需要说明,步骤S310和S320是不同的两种情况,下面分别以首次遍历A1执行步骤S310以及首次遍历B1执行步骤S320来具体说明。
针对步骤S310,可以获得仅修改了第一元件类型A的第一配置信息中mode字段为critical的实时数据配置表。比如,如表5所示为修改后的实时数据配置表示例:
表5
但针对步骤S320,可以获得新增了第二元件类型B的第二配置信息的实时数据配置表,且该第二配置信息的mode字段为critical。比如,如表6所示为修改后的实时数据配置表示例:
表6
具体实施过程中,可以遍历关键数据配置信息中的所有元件类型下的所有数据项,将最终获得的修改后的实时数据配置信息确定为目标数据配置信息。
具体的,将关键数据配置表中的所有数据项按预设顺序或按默认顺序依次执行上述步骤,比如,先针对关键数据配置表中的数据项A1,执行上述步骤,得到如表5所示的修改后的实时数据配置表后,继续对下一数据项执行上述步骤,假设下一数据项是B1,执行上述步骤后,可以得到如表7所示的修改后的实时数据配置表示例:
表7
可以看出,表7的实时数据配置表中,第一元件类型A的配置信息被修改了采集方式,并新增了第二元件类型B的第二配置信息,且该第二配置信息的采集方式也被修改了。若关键数据配置表中仅A1和B1,此时就算是遍历完了关键数据配置信息中的所有数据项,可以将表7作为最终获得的修改后的实时数据配置表,从而将其确定为目标数据配置表,即目标数据配置信息,然后执行步骤S400。
另一实施方式中,如图4所示的流程示意图,步骤S310可以包括:
步骤S311:当实时数据配置信息中包括目标数据项时,判断第一配置信息是否已被修改。
针对关键数据配置信息中一个元件类型下可能有多个变量item的情况,为了防止针对第一个数据项的处理时已经修改实时数据配置信息中相应的元件类型的采集方式,导致针对第二个数据项的处理无法成功进行的情况发生,可以在判定实时数据配置信息中包括目标数据项时,修改实时数据配置信息之前,判断实时数据配置信息中目标数据项对应的第一元件类型的第一配置信息是否已经被修改,从而可以针对不同情况对应采取不同的操作。
步骤S312:若第一配置信息未被修改,则修改第一元件类型的第一配置信息,得到目标数据配置信息。
具体的,针对关键数据配置表中的某个数据项,当实时数据配置表中确认包括目标数据项时,若实时数据配置表中该目标数据项对应的第一元件类型的第一配置信息未被修改,说明该目标数据项是针对该第一元件类型遍历的第一个数据项,此时,便可以修改该第一元件类型的第一配置信息的采集方式。
比如,针对关键数据配置表(表4)中的数据项A1,执行步骤S200后,可以知道实时数据配置表(表2)中包括目标数据项A1,执行步骤S311后,可以知道表2中该目标数据项A1对应的第一元件类型A的第一配置信息未被修改,此时,可以直接修改表2中第一元件类型A的第一配置信息的mode字段为critical。然后,可以修改后的第一配置信息作为目标数据配置信息,跳转到步骤S400或遍历关键数据配置表中的下一个数据项。
步骤S313:若第一配置信息已被修改,则将已被修改的第一配置信息作为目标数据配置信息。
具体的,针对关键数据配置表中的某个数据项,当实时数据配置表中确认包括目标数据项时,若实时数据配置表中该目标数据项对应的第一元件类型的第一配置信息已被修改,说明该目标数据项不是针对该第一元件类型遍历的第一个数据项,此时,可以不作任何处理,直接将已被修改的第一配置信息作为目标数据配置信息,跳转到步骤S400或继续遍历下一个数据项。
比如,在对关键数据配置表(表4)中的数据项A1执行步骤S200、S311、S312之后,继续遍历关键数据配置表中的下一数据项,假设下一数据项是A2,则针对数据项A2,执行步骤S200后,可以知道实时数据配置表(表2)中包括目标数据项A2,执行步骤S311后,可以知道表2中该目标数据项A1对应的第一元件类型A的第一配置信息已被修改,此时,便不需要对第一配置信息再做修改,可以直接得到目标数据配置信息或者遍历实时数据配置表中的下一个数据项。
另一实施方式中,步骤S320可以包括:
步骤S321:当实时数据配置信息中不包括目标数据项时,判断实时数据配置信息中是否存在新增的元件类型。
针对关键数据配置信息中后续的数据项处理,执行步骤S200时,是将目标数据项与原始的实时数据配置信息进行的判断,不是与修改后的实时数据配置信息进行的判断,否则可能会存在识别不全面,反复增加属于相同元件类型的不同变量所对应的元件类型的情况。为了防止处理后续的数据项时,反复增加相同的元件类型导致实时数据配置信息的数据结构变得复杂,可以先判断实时数据配置信息中是否存在新增的元件类型,从而可以针对不同情况对应采取不同的操作。
步骤S322:若实时数据配置信息中不存在新增的元件类型,则在实时数据配置信息中新增一个与目标数据项对应的第二元件类型的第二配置信息,将目标数据项加入第二配置信息,并修改第二配置信息,得到目标数据配置信息。
具体的,针对关键数据配置表中的某个数据项,当原始的实时数据配置表中确认不包括目标数据项时,若实时数据配置表中尚没有新增的元件类型,说明该目标数据项可能是第一个实时数据配置信息中不包括的数据项,此时,便可以在实时数据配置信息中新增一个相同的元件类型的配置信息,即第二元件类型的第二配置信息,并将该目标数据项加入该第二配置信息,修改该第二配置信息的采集方式。
比如,在对关键数据配置表(表4)中的数据项A1执行步骤S200、S311、S312之后,还对A2执行步骤S200、S311、S313之后,继续遍历关键数据配置表中的下一数据项,假设此时的下一数据项是B1,则针对数据项B1,执行步骤S200后,可以知道实时数据配置表(表2)中不包括目标数据项B1,执行步骤S321后,可以知道此时的表2中不存在新增的元件类型,则可以直接在表2中新增一个第二元件类型B的第二配置信息,该第二配置信息与表2中包括B2和B3的元件类型B的配置信息不同,对于新增的该第二元件类型B,可以将B1加入该第二配置信息,并修改该第二配置信息的mode字段为critical。然后,可以得到目标数据配置信息或者遍历实时数据配置表中的下一个数据项。遍历完表4中的A1、A2和B1后,得到的修改后的实时数据配置表与表7所示一致,此处不再赘述。
步骤S323:若实时数据配置信息中存在新增的元件类型,则判断新增的元件类型与目标数据项对应的元件类型是否匹配。
针对关键数据配置信息中可能有不同元件类型的多个数据项在实时数据配置信息中都不存在相应的数据项以及相应的元件类型的情况。为了防止第一个数据项的处理时已经在实时数据配置信息中增加了相应的元件类型的配置信息,导致第二个数据项的处理会重复增加相同的元件类型,使实时数据配置信息的数据结构复杂的情况发生。可以在判定实时数据配置信息中不包括目标数据项且实时数据配置信息中存在新增的元件类型时,判断新增的元件类型与该目标数据项对应的元件类型是否匹配,从而可以针对不同情况对应采取不同的操作。
步骤S324:若匹配,则将目标数据项加入新增的元件类型的第三配置信息中,得到目标数据配置信息。
具体的,针对关键数据配置表中的某个数据项,当原始的实时数据配置表中确认不包括目标数据项时,若当前的实时数据配置表中已经有新增的元件类型,说明该目标数据项不是第一个实时数据配置信息中不包括的数据项,此时,执行步骤S323之后,若当前的实时数据配置表中新增的元件类型与该目标数据项对应的元件类型是匹配的,说明此前已经有处理过与该目标数据项同属一个元件类型的数据项,此时,可以将该目标数据项直接加入该新增的元件类型的配置信息,即第三配置信息中。而且,如果已经存在匹配的新增的元件类型,那么此前新增该元件类型的配置信息时肯定修改过采集方式,因此,此处仅将该目标数据项加入即可,不需要再修改第三配置信息的采集方式。
比如,在对关键数据配置表(表4)中的数据项A1执行步骤S200、S311、S312,对A2执行步骤S200、S311、S313,还对B1执行步骤S200、S321、S322之后,继续遍历表4中的下一数据项,假设此时的下一数据项是B4,则针对数据项B4,执行步骤S200后,可以知道实时数据配置表(表2)中不包括目标数据项B4,执行步骤S321后,可以知道此时的表2中已经有新增的元件类型,执行步骤S323后,可以知道新增的元件类型,即第二元件类型B与目标数据项B4对应的元件类型B是匹配的,此时,便可以将该目标数据项B4加入已经存在的新增的元件类型,也就是第二元件类型B中。需要说明,第二元件类型B已经在处理目标数据项B1的过程中被修改了配置信息的采集方式,得到第三配置信息,因此此处不需要修改第三配置信息,而是将B4直接加入第三配置信息中,得到目标数据配置信息。然后,可以执行步骤S400,或者遍历实时数据配置表中的下一个数据项。此处,遍历完表4中的A1、A2、B1和B4后,可以得到修改后的实时数据配置表如表8所示:
表8
由该表8可以看出,修改后的实时数据配置表,相比步骤S100获取得到的实时数据配置表(表2),修改了元件类型A的采集方式,并新增了包括B1和B4的元件类型B,且修改了元件类型B的采集方式。
步骤S325:若不匹配,则在实时数据配置信息中新增一个与目标数据项对应的第二元件类型的第二配置信息,将目标数据项加入第二配置信息,并修改第二配置信息,得到目标数据配置信息。
具体的,针对关键数据配置表中的某个数据项,当原始的实时数据配置表中确认不包括目标数据项时,若当前的实时数据配置表中已经有新增的元件类型,执行步骤S323之后,若该新增的元件类型与该目标数据项对应的元件类型不匹配,说明此前虽然已经处理过实时数据配置信息中不包括的数据项,但此前的数据项与该目标数据项在关键数据配置表中并不属于同一元件类型。此时,可以在实时数据配置信息中新增一个与该目标数据项对应的元件类型,即第二元件类型的配置信息,即第二配置信息,并将该目标数据项加入此处新增的该第二配置信息,修改该第二配置信息的采集方式。
比如,在对关键数据配置表(表4)中的数据项A1执行步骤S200、S311、S312,对A2执行步骤S200、S311、S313,对B1执行步骤S200、S321、S322,还对B4执行步骤S200、S321、S323、S324之后,继续遍历表4中的下一数据项,假设此时的下一数据项是C1,针对数据项C1,执行步骤S200后,可以知道实时数据配置表(表2)中不包括目标数据项C1,执行步骤S321后,可以知道此时的表2中已经有新增的元件类型,执行步骤S323后,可以知道新增的元件类型,即第二元件类型B与目标数据项C1对应的元件类型C不匹配,且没有其他与该元件类型C匹配的新增的元件类型,此时,便可以继续在实时数据配置表中新增一个第二元件类型C,对于新增的该第二元件类型C,可以将目标数据项C1加入该第二元件类型C的配置信息,即第二配置信息中,并修改该第二配置信息的mode字段为critical,得到目标数据配置信息。然后,可以执行步骤S400,或者遍历实时数据配置表中的下一个数据项。此处,遍历完表4中的A1、A2、B1、B4和C1后,可以得到修改后的实时数据配置表如表9所示:
表9
由该表9可以看出,修改后的实时数据配置表,相比步骤S100获取得到的实时数据配置表(表2),修改了元件类型A的采集方式,并新增了包括B1和B4的元件类型B,且修改了元件类型B的采集方式,以及新增了包括C1的元件类型C,且修改了元件类型C的采集方式。
继续地,针对上述关键数据配置表(表4)的所有数据项,按上述举例,对A1执行步骤S200、S311、S312,对A2执行步骤S200、S311、S313,对B1执行步骤S200、S321、S322,对B4执行步骤S200、S321、S323、S324,还对C1执行步骤S200、S321、S323、S325和S300之后,继续遍历表4中的下一数据项,即数据项C2。针对该数据项C2,执行步骤S200后,可以知道实时数据配置表(表2)中不包括目标数据项C2,执行步骤S321后,可以知道此时的表2中已经有新增的元件类型,执行步骤S323后,可以判断出有与该目标数据项C2对应的元件类型C匹配的新增的第二元件类型C,此时,执行步骤S324,也就是将该目标数据项C2加入已经存在的与其对应的元件类型C,即第二元件类型C的第二配置信息中。然后,可以得到修改后的实时数据配置表,如表10所示:
表10
此时,已经遍历完表4中的A1、A2、B1、B4、C1和C2,假设关键数据配置表中所有数据项便是表4中所示的这些,那么针对最后一个数据项执行步骤S300之后,便已遍历完关键数据配置表中的所有数据项,表10所示的便是最终获得的修改后的实时数据配置表,然后将其确定为最终的目标数据配置表,即目标数据配置信息后,可继续执行步骤S400,实现对目标设备的实时数据和关键数据的耦合采集。
进一步地,实时数据配置信息和关键数据配置信息均为数据配置表,数据配置表中的数据项包括元件类型数据项和对应的采集方式数据项。
上述步骤S310或S312中,修改实时数据配置信息中目标数据项对应的第一元件类型的第一配置信息的步骤可以包括:将第一元件类型的采集方式数据项修改为目标数据项所对应的采集方式数据项。
比如,上述举例中,针对关键数据配置信息中的目标数据项A1,将第一元件类型A的采集方式数据项由原本定义的获取请求后再采集的实时采集方式,修改为目标数据项A1所对应的轮询采集的关键采集方式。也就是说,原本基于实时数据配置信息的独立的采集线程中,相同的时间内获取的A1数据可能较少,而修改采集方式后,基于目标数据配置信息的采集线程中,相同的时间内,获取的A1数据便与原本的基于关键数据配置信息的独立的采集线程一样了,但因为目标数据配置信息是实时采集和关键采集共用的,因此按修改后的采集方式采集得到的A1数据可以两用。而目标数据配置信息的D1数据项中,由于D未做修改,因此基于目标数据配置信息的采集线程中,相同的时间内获取的D1数据与原本的基于实时数据配置信息的独立的采集线程一样,采集得到的D1数据仅作为实时数据使用,不会被纳入关键数据用途中。
上述步骤S320、S322或S325中,修改第二配置信息的步骤可以包括:将第二元件类型的采集方式数据项修改为目标数据项所对应的采集方式数据项。
比如,上述举例中,针对关键数据配置信息中的目标数据项B1,将第二元件类型B1的采集方式数据项由原本定义的获取请求后再采集的实时采集方式,修改为目标数据项B1所对应的轮询采集的关键采集方式。也就是说,原本基于实时数据配置信息的独立的采集线程中,已经有包括数据项B2和B3的元件类型B,但该元件类型B的采集方式不变,采集后的B2数据和B3数据也仅作为实时数据使用,但新增的包括数据项B1的第二元件类型B与原本的元件类型B的采集方式不同,第二元件类型B将按照轮询采集,且采集到的B1数据仅作为关键数据使用,不作为实时数据,因为原本实时数据配置信息中不包括该目标数据项B1。
更进一步地,实时数据配置信息的数据配置表还包括与元件类型对应的新增标志变量。
上述步骤S310或S312中,修改实时数据配置信息中目标数据项对应的第一元件类型的第一配置信息的步骤还可以包括:将表示第一元件类型的新增标志变量对应的值配置为默认值;
具体的,第一元件类型是指实时数据配置信息中包括关键数据配置信息的某个目标数据项的元件类型。比如,上述举例中的元件类型A,原本的实时数据配置表中A下包括有A1,那么对于关键数据配置信息中的目标数据项A1,则实时数据配置信息中元件类型A便为第一元件类型。当需要修改第一元件类型的第一配置信息时,不仅修改其采集方式,还将表示该第一元件类型的新增标志变量对应的值addTag配置为默认的FALSE值。可选地,对于原本实时数据配置信息中的其他元件类型,比如,元件类型D和E,其新增标志变量对应的值addTag可以为默认值,即FALSE值。后续步骤S400进行数据采集时,若只需要实时数据,则可以对新增标志变量为FALSE值的元件类型下的数据地址进行采集。
上述步骤S320、S322或S325中,修改第二配置信息的步骤还可以包括:将表示第二元件类型的新增标志变量对应的值配置为真实值。
具体的,第二元件类型是指实时数据配置信息中不包括关键数据配置信息的某个目标数据项时新增的元件类型。比如,上述举例中的第二元件类型B和C,原本的实时数据配置表中不包括B1,也不包括C1,所以,新增了第二元件类型B和第二元件类型C。当需要修改第二元件类型的第二配置信息时,不仅修改其采集方式,还将表示该第二元件类型的新增标志变量对应的值addTag配置为真实的TRUE值;后续步骤S400进行数据采集时,若只需要实时数据,则可以不对新增标志变量为TRUE值的元件类型下的数据地址进行采集。
需要说明,针对遍历的关键数据配置表的第一个数据项,是直接在步骤S100获取的实时数据配置表上修改,而完成第一个数据项的处理后,遍历后续的数据项时,继续在得到的目标数据配置表上修改,也就是说,不需要开辟一个新的表,这样可以减少内存的占用。
在后续进行数据采集后,要将采集数据上报时,可以只对addTag为FALSE的元件类型对应的数据项所采集到的数据进行上报。用新增标志变量来表示元件类型是否是新增的元件类型,可以防止影响原本想要采集的实时数据的数目。
步骤S400:根据所述目标数据配置信息对所述目标设备进行数据采集,得到所述关键数据。
具体的,得到目标数据配置信息后,可以直接根据该目标数据配置信息对目标设备进行数据采集,实现以实时数据配置信息的采集线程采集数据,得到对应的目标设备的关键数据。遍历完关键数据配置表中的所有数据项后,便将原本的实时数据配置表和关键数据配置表成功合并,得到的目标数据配置表,可以直接使用。根据该目标数据配置信息对目标设备进行数据采集,仅需要开辟一个采集线程,进行统一采集,采集之后得到的采集数据,可以继续进行下一操作,比如,根据数据的类型分别处理,分别处理实时数据和关键数据。如此,便实现了关键数据和实时数据的解耦,面对大量重复点时,也只需要采集一次,多方使用,提高了采集效率和采集数据的均衡性。
基于上述设定,根据目标数据配置信息对目标设备进行数据采集,获得采集数据时,可以根据目标数据配置信息对目标设备进行实时数据采集,即将新增标志变量为FALSE值的元件类型的各数据项对应的数据确定为采集得到的实时数据;将采集方式为Critical的第一元件类型和第二元件类型的各数据项对应的数据确定为关键采集数据。
上述方法步骤的具体实施方式中更多实施细节可参见实施例一中具体实施方式的描述,为了说明书的简洁,此处不再重复赘述。
本实施例提供的数据采集方法,通过先对目标设备的实时数据配置表和关键数据配置表进行合并,得到目标数据配置表,再根据目标数据配置表进行统一数据采集,提高了采集效率和采集数据的均衡性。本实施例针对属于相同的元件类型的不同数据项,分别执行不同的配置信息修改方式,可以节省合并实时数据配置表和关键数据配置表的流程,更快地实现配置表合并,尽快得到目标数据配置表,进行数据采集。
实施例三
基于同一发明构思,参照图5,提出本发明数据采集装置的第一实施例,该数据采集装置可以为虚拟装置,应用于数据采集设备。
下面结合图5所示的功能模块示意图,对本实施例提供的数据采集装置进行详细描述,装置可以包括:
配置信息获取模块,用于获取配置信息,所述配置信息包括实时数据配置信息和关键数据配置信息,所述实时数据配置信息和所述关键数据配置信息分别用于采集目标设备的实时数据和关键数据;所述配置信息包括多个变量和所述多个变量的值,所述关键数据配置信息包括多个目标数据项,所述目标数据项包括目标变量和所述目标变量的目标值;
判断模块,用于针对所述关键数据配置信息中各个元件类型的各个数据项,判断所述实时数据配置信息中是否包括所述目标数据项,得到判断结果;
配置信息更改模块,用于根据所述判断结果,修改所述实时数据配置信息,得到目标数据配置信息;所述目标数据配置信息用于以所述实时数据配置信息的采集线程采集所述关键数据;
数据采集模块,用于根据所述目标数据配置信息对所述目标设备进行数据采集,得到所述关键数据。
进一步地,判断模块可以包括:
判断单元,用于遍历所述实时数据配置信息中各元件类型的各个数据项;
第一判断结果单元,用于若所述各个数据项中存在所述目标数据项,则所述判断结果为包括,其中,所述目标数据项的所述目标值包括元件类型名称和数据获取地址;
第二判断结果单元,用于若所述各个数据项中不存在所述目标数据项,则所述判断结果为不包括。
进一步地,配置信息更改模块可以包括:
第一修改单元,与所述第一判断结果单元连接,用于当所述实时数据配置信息中包括所述目标数据项时,修改所述实时数据配置信息中所述目标数据项对应的第一元件类型的第一配置信息,得到所述目标数据配置信息;
第二修改单元,与所述第二判断结果单元连接,用于当所述实时数据配置信息中不包括所述目标数据项时,在所述实时数据配置信息中新增一个与所述目标数据项对应的第二元件类型的第二配置信息,将所述数据项加入所述第二配置信息,并修改所述第二配置信息,得到所述目标数据配置信息。
更进一步地,第一修改单元还可以用于,当所述实时数据配置信息中包括所述目标数据项时,判断所述第一配置信息是否已被修改;若所述第一配置信息未被修改,则修改所述第一元件类型的第一配置信息,得到所述目标数据配置信息;若所述第一元件类型的配置信息已被修改,则将已被修改的第一配置信息作为所述目标数据配置信息。
更进一步地,第二修改单元还可以用于,当所述实时数据配置信息中不包括所述目标数据项时,判断所述实时数据配置信息中是否存在新增的元件类型;
若所述实时数据配置信息中不存在新增的元件类型,则在所述实时数据配置信息中新增一个与所述目标数据项对应的第二元件类型的第二配置信息,将所述目标数据项加入所述第二配置信息,并修改所述第二配置信息,得到所述目标数据配置信息;
若所述实时数据配置信息中存在新增的元件类型,则判断所述新增的元件类型与所述目标数据项对应的元件类型是否匹配;若匹配,则将所述目标数据项加入所述新增的元件类型的第三配置信息中,得到所述目标数据配置信息;若不匹配,则在所述实时数据配置信息中新增一个与所述目标数据项对应的第二元件类型的第二配置信息,将所述目标数据项加入所述第二配置信息,并修改所述第二配置信息,得到所述目标数据配置信息。
进一步地,所述实时数据配置信息和所述关键数据配置信息均为数据配置表,所述数据配置表中的数据项包括元件类型数据项和对应的采集方式数据项;所述若所述第一配置信息未被修改,则修改所述第一元件类型的第一配置信息可以包括:若所述第一配置信息未被修改,则将所述第一元件类型的采集方式数据项修改为所述目标数据项所对应的采集方式数据项。
更进一步地,所述实时数据配置信息的数据配置表还包括与元件类型对应的新增标志变量;所述修改所述第一元件类型的第一配置信息还可以包括:将表示所述第一元件类型的新增标志变量对应的值配置为默认值;所述修改所述第二配置信息还可以包括:将表示所述第二元件类型的新增标志变量对应的值配置为真实值。
需要说明,本实施例提供的数据采集装置中各个模块可实现的功能和对应达到的技术效果可以参照本发明数据采集方法各个实施例中具体实施方式的描述,为了说明书的简洁,此处不再赘述。
实施例四
基于同一发明构思,参照图2的硬件结构示意图,本实施例提供了一种数据采集设备,该设备可以包括处理器和存储器,存储器中存储有数据采集程序,该数据采集程序被处理器执行时,实现本发明数据采集方法各个实施例的全部或部分步骤。
具体的,数据采集设备是指能够实现通信连接的终端设备或控制设备,比如嵌入式工控机、边缘设备等终端设备,也可以是主控制器、中央处理器(Central ProcessingUnit,CPU)等控制设备。
可以理解,数据采集设备还可以包括通信总线,用户接口和网络接口。其中,通信总线用于实现这些组件之间的连接通信;用户接口用于连接客户端,与客户端进行数据通信,用户接口可以包括输出单元,如显示屏、输入单元,如键盘;网络接口用于连接后台服务器,与后台服务器进行数据通信,网络接口可以包括输入/输出接口,比如标准的有线接口、无线接口。
存储器用于存储各种类型的数据,这些数据例如可以包括该数据采集设备中任何应用程序或方法的指令,以及应用程序相关的数据。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random AccessMemory,简称SRAM),随机存取存储器(Random Access Memory,简称RAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘,可选的,存储器还可以是独立于处理器的存储装置。
处理器用于调用存储器中存储的数据采集程序,并执行如上述的数据采集方法,处理器可以是专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(DigitalSignal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件,用于执行如上述数据采集方法各个实施例的全部或部分步骤。
实施例五
基于同一发明构思,本实施例提供了一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁性存储器、磁盘、光盘、服务器等等,该存储介质上存储有计算机程序,该计算机程序可被一个或多个处理器执行,该计算机程序被处理器执行时可以实现本发明数据采集方法各个实施例的全部或部分步骤。
需要说明,上述本发明实施例序号仅为了描述,不代表实施例的优劣。以上实施例仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均包括在本发明的专利保护范围内。

Claims (10)

1.一种数据采集方法,其特征在于,所述方法包括:
获取配置信息,所述配置信息包括实时数据配置信息和关键数据配置信息,所述实时数据配置信息和所述关键数据配置信息分别用于采集目标设备的实时数据和关键数据;所述配置信息包括多个变量和所述多个变量的值,所述关键数据配置信息包括多个目标数据项,所述目标数据项包括目标变量和所述目标变量的目标值;
针对所述关键数据配置信息中各个元件类型的各个数据项,判断所述实时数据配置信息中是否包括所述目标数据项,得到判断结果;
根据所述判断结果,修改所述实时数据配置信息,得到目标数据配置信息;所述目标数据配置信息用于以所述实时数据配置信息的采集线程采集所述关键数据;
根据所述目标数据配置信息对所述目标设备进行数据采集,得到所述关键数据。
2.如权利要求1所述的数据采集方法,其特征在于,所述判断所述实时数据配置信息中是否包括所述目标数据项,得到判断结果的步骤包括:
遍历所述实时数据配置信息中各元件类型的各个数据项;
若所述各个数据项中存在所述目标数据项,则所述判断结果为包括;其中,所述目标数据项的所述目标值包括元件类型名称和数据获取地址;
若所述各个数据项中不存在所述目标数据项,则所述判断结果为不包括。
3.如权利要求1所述的数据采集方法,其特征在于,所述根据所述判断结果,修改所述实时数据配置信息,得到目标数据配置信息的步骤包括:
当所述实时数据配置信息中包括所述目标数据项时,修改所述实时数据配置信息中所述目标数据项对应的第一元件类型的第一配置信息,得到所述目标数据配置信息;
当所述实时数据配置信息中不包括所述目标数据项时,在所述实时数据配置信息中新增一个与所述目标数据项对应的第二元件类型的第二配置信息,将所述目标数据项加入所述第二配置信息,并修改所述第二配置信息,得到所述目标数据配置信息。
4.如权利要求3所述的数据采集方法,其特征在于,所述当所述实时数据配置信息中包括所述目标数据项时,修改所述实时数据配置信息中所述目标数据项对应的第一元件类型的第一配置信息,得到所述目标数据配置信息的步骤包括:
当所述实时数据配置信息中包括所述目标数据项时,判断所述第一配置信息是否已被修改;
若所述第一配置信息未被修改,则修改所述第一元件类型的第一配置信息,得到所述目标数据配置信息;
若所述第一配置信息已被修改,则将已被修改的第一配置信息作为所述目标数据配置信息。
5.如权利要求3所述的数据采集方法,其特征在于,所述当所述实时数据配置信息中不包括所述目标数据项时,在所述实时数据配置信息中新增一个与所述目标数据项对应的第二元件类型的第二配置信息,将所述目标数据项加入所述第二配置信息,并修改所述第二配置信息,得到所述目标数据配置信息的步骤包括:
当所述实时数据配置信息中不包括所述目标数据项时,判断所述实时数据配置信息中是否存在新增的元件类型;
若所述实时数据配置信息中不存在新增的元件类型,则在所述实时数据配置信息中新增一个与所述目标数据项对应的第二元件类型的第二配置信息,将所述目标数据项加入所述第二配置信息,并修改所述第二配置信息,得到所述目标数据配置信息;
若所述实时数据配置信息中存在新增的元件类型,则判断所述新增的元件类型与所述目标数据项对应的元件类型是否匹配;
若匹配,则将所述目标数据项加入所述新增的元件类型的第三配置信息中,得到所述目标数据配置信息;
若不匹配,则在所述实时数据配置信息中新增一个与所述目标数据项对应的第二元件类型的第二配置信息,将所述目标数据项加入所述第二配置信息,并修改所述第二配置信息,得到所述目标数据配置信息。
6.如权利要求4所述的数据采集方法,其特征在于,所述实时数据配置信息和所述关键数据配置信息均为数据配置表,所述数据配置表中的数据项包括元件类型数据项和对应的采集方式数据项;
所述若所述第一配置信息未被修改,则修改所述第一元件类型的第一配置信息的步骤包括:
若所述第一配置信息未被修改,则将所述第一元件类型的采集方式数据项修改为所述目标数据项所对应的采集方式数据项。
7.如权利要求6所述的数据采集方法,其特征在于,所述实时数据配置信息的数据配置表还包括与元件类型对应的新增标志变量;
所述修改所述第一元件类型的第一配置信息的步骤还包括:
将表示所述第一元件类型的新增标志变量对应的值配置为默认值;
所述修改所述第二配置信息的步骤包括:
将表示所述第二元件类型的新增标志变量对应的值配置为真实值。
8.一种数据采集装置,其特征在于,所述装置包括:
配置信息获取模块,用于获取配置信息,所述配置信息包括实时数据配置信息和关键数据配置信息,所述实时数据配置信息和所述关键数据配置信息分别用于采集目标设备的实时数据和关键数据;所述配置信息包括多个变量和所述多个变量的值,所述关键数据配置信息包括多个目标数据项,所述目标数据项包括目标变量和所述目标变量的目标值;
判断模块,用于针对所述关键数据配置信息中各个元件类型的各个数据项,判断所述实时数据配置信息中是否包括所述目标数据项,得到判断结果;
配置信息更改模块,用于根据所述判断结果,修改所述实时数据配置信息,得到目标数据配置信息;所述目标数据配置信息用于以所述实时数据配置信息的采集线程采集所述关键数据;
数据采集模块,用于根据所述目标数据配置信息对所述目标设备进行数据采集,得到所述关键数据。
9.一种数据采集设备,其特征在于,所述设备包括处理器和存储器,所述存储器上存储有数据采集程序,所述数据采集程序被所述处理器执行时,实现如权利要求1至7中任一项所述的数据采集方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如权利要求1至7中任一项所述的数据采集方法。
CN202210826605.0A 2022-07-14 2022-07-14 数据采集方法、装置、设备及存储介质 Active CN115174376B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210826605.0A CN115174376B (zh) 2022-07-14 2022-07-14 数据采集方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210826605.0A CN115174376B (zh) 2022-07-14 2022-07-14 数据采集方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115174376A CN115174376A (zh) 2022-10-11
CN115174376B true CN115174376B (zh) 2023-12-19

Family

ID=83492791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210826605.0A Active CN115174376B (zh) 2022-07-14 2022-07-14 数据采集方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115174376B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003661A (zh) * 2014-10-31 2017-08-01 电子云工业4.0科技公司 对来自至少一台计算机数控机器或工业机器人的进程相关的大量数据进行数据采集和预处理的客户端装置
CN114722087A (zh) * 2022-04-25 2022-07-08 湖北亿咖通科技有限公司 数据采集方法、设备、存储介质及程序产品

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9848058B2 (en) * 2007-08-31 2017-12-19 Cardiac Pacemakers, Inc. Medical data transport over wireless life critical network employing dynamic communication link mapping
CN110007952B (zh) * 2018-01-02 2022-07-12 斑马智行网络(香港)有限公司 数据处理方法、装置、设备和机器可读介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003661A (zh) * 2014-10-31 2017-08-01 电子云工业4.0科技公司 对来自至少一台计算机数控机器或工业机器人的进程相关的大量数据进行数据采集和预处理的客户端装置
CN114722087A (zh) * 2022-04-25 2022-07-08 湖北亿咖通科技有限公司 数据采集方法、设备、存储介质及程序产品

Also Published As

Publication number Publication date
CN115174376A (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
CN106598574B (zh) 页面渲染的方法和装置
CN106383704B (zh) 进度条数据处理的方法和装置
CN110633135A (zh) 异步任务分配方法、装置、计算机设备及存储介质
CN110286960B (zh) 图像文件的加载方法、装置、电子设备和存储介质
CN113010224B (zh) 前端微服务化方法、装置、计算机设备和存储介质
WO2019041500A1 (zh) 分页的实现方法、装置、计算机设备及存储介质
CN113360257B (zh) 一种基于bios的信息操作方法、装置、存储介质及设备
CN115174376B (zh) 数据采集方法、装置、设备及存储介质
CN109033184B (zh) 数据处理方法及装置
CN110597644A (zh) 数据流传输方法、传输装置、电子设备及存储介质
CN113076099A (zh) 一种页面生成方法、装置、设备以及计算机存储介质
CN111444235A (zh) 基于Django的数据序列化方法、装置、计算机设备及存储介质
CN112698962A (zh) 数据处理方法、装置、电子设备及存储介质
CN110928902A (zh) 针对分页获取云平台终端数据的查询方法和系统
CN112102441A (zh) 色卡制作方法、装置、电子设备和存储介质
CN109739576B (zh) 配置概览命令执行方法、装置、计算机设备及其存储介质
CN110852603A (zh) 高吞吐量的风控数据处理方法、装置、设备及存储介质
CN105490956A (zh) 一种网络请求处理方法及装置
CN114115796A (zh) 数据处理方法、装置、计算机可读介质及电子设备
CN113076268A (zh) 一种批量采集从机设备数据的方法
CN112989247B (zh) 一种页面更新方法、装置和计算机可读存储介质
CN111552525A (zh) 骨架屏生成方法及装置
CN115391365A (zh) 实现数据一致性的处理方法、装置、设备及介质
EP4068104A1 (en) Method for controlling an opc ua server, opc ua server, control circuit, computer program, and computer-readable medium
CN117555539A (zh) 网页元素的流程自动化操作方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant