CN118283116A - 数据处理方法和装置、存储介质及电子设备 - Google Patents
数据处理方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN118283116A CN118283116A CN202211711887.6A CN202211711887A CN118283116A CN 118283116 A CN118283116 A CN 118283116A CN 202211711887 A CN202211711887 A CN 202211711887A CN 118283116 A CN118283116 A CN 118283116A
- Authority
- CN
- China
- Prior art keywords
- data
- address
- processing
- target
- result
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000003672 processing method Methods 0.000 title abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 312
- 238000000034 method Methods 0.000 claims abstract description 73
- 230000008569 process Effects 0.000 claims abstract description 44
- 238000004891 communication Methods 0.000 claims abstract description 39
- 238000013506 data mapping Methods 0.000 claims abstract description 20
- 238000013507 mapping Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种数据处理方法和装置、存储介质及电子设备。其中,该方法包括:获取数据处理请求,数据处理请求用于请求对物联网内目标边缘设备在目标属性类别下的属性数据进行处理;在目标属性类别下的属性数据所存储占用的寄存器地址的数量大于目标阈值的情况下,对寄存器地址进行分组,得到包含多个地址分组的分组结果;在与目标边缘设备建立通信连接的情况下,向目标边缘设备发送携带有分组结果的数据处理指令,并接收目标边缘设备根据数据处理指令所返回的分组处理结果;对获取到的分组处理结果进行数据映射,得到与数据处理请求匹配的目标处理结果。本申请解决了对属性数据的处理过程中常出现延迟所导致的处理效率较低的技术问题。
Description
技术领域
本申请涉及计算机领域,具体而言,涉及一种数据处理方法和装置、存储介质及电子设备。
背景技术
在基于云原生架构所构建的容器化部署环境中,常常需要跨网传输不同的工业设备各自对应的属性数据,以使得物联网平台可以基于这些属性数据来实现对上述工业设备的远程控制。目前,在相关技术所提供的方案中,大多情形下都是基于Modbus设备协议来传输上述工业设备的属性数据的。
例如,物联网平台主要是通过与每个点位各自建立的TCP连接,来实现从多个点位进行多次数据采集,以达到对这些设备远程控制的目的。然而,在按照上述相关技术提供的方式中,对于涉及较多属性数据的大点位,往往需要进行多次数据采集,而每次采集都需要建立新的TCP连接。也就是说,相关技术中提供的对属性数据的处理方式常常会出现不必要的延迟,从而导致数据处理效率较低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据处理方法和装置、存储介质及电子设备,以至少解决对属性数据的处理过程中常出现延迟所导致的处理效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种数据处理方法,包括:获取数据处理请求,其中,上述数据处理请求用于请求对物联网内目标边缘设备在目标属性类别下的属性数据进行处理;在上述目标属性类别下的属性数据所存储占用的寄存器地址的数量大于目标阈值的情况下,对上述寄存器地址进行分组,得到包含多个地址分组的分组结果,其中,上述地址分组内所包含的寄存器地址是位于同一地址段内的连续地址;在与上述目标边缘设备建立通信连接的情况下,向上述目标边缘设备发送携带有上述分组结果的数据处理指令,并接收上述目标边缘设备根据上述数据处理指令所返回的分组处理结果,其中,上述分组处理结果是对各个地址分组内的属性数据进行各自处理后得到的;对获取到的上述分组处理结果进行数据映射,得到与上述数据处理请求匹配的目标处理结果。
根据本申请实施例的另一方面,还提供了一种数据处理装置,包括:获取单元,用于获取数据处理请求,其中,上述数据处理请求用于请求对物联网内目标边缘设备在目标属性类别下的属性数据进行处理;分组单元,用于在上述目标属性类别下的属性数据所存储占用的寄存器地址的数量大于目标阈值的情况下,对上述寄存器地址进行分组,得到包含多个地址分组的分组结果,其中,上述地址分组内所包含的寄存器地址是位于同一地址段内的连续地址;传输单元,用于在与上述目标边缘设备建立通信连接的情况下,向上述目标边缘设备发送携带有上述分组结果的数据处理指令,并接收上述目标边缘设备根据上述数据处理指令所返回的分组处理结果,其中,上述分组处理结果是对各个地址分组内的属性数据进行各自处理后得到的;处理单元,用于对获取到的上述分组处理结果进行数据映射,得到与上述数据处理请求匹配的目标处理结果。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据处理方法。
根据本申请实施例的又一个方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上数据处理方法。
根据本申请实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的数据处理方法。
在本申请实施例中,在获取用于请求对物联网内目标边缘设备在目标属性类别下的属性数据进行处理的数据处理请求之后,确定该目标属性类别下的属性数据所存储占用的寄存器地址的数量。在该数量大于目标阈值的情况下,对上述寄存器地址进行分组,以得到包含多个地址分组的分组结果。这里地址分组内所包含的寄存器地址是位于同一地址段内的连续地址。在与目标边缘设备建立通信连接的情况下,向上述目标边缘设备发送携带有分组结果的数据处理指令,并接收该目标边缘设备所返回的分组处理结果,并对该分组处理结果进行数据映射,以得到与上述数据处理请求相匹配的目标处理结果。也就是说,通过对待处理的目标属性类别下的属性数据所涉及的多个寄存器地址进行分组,并在建立通信连接之后,将上述分组结果发送给目标边缘设备,以使其按照确定好的地址分组来对相应的属性数组进行批量处理,而无需再针对各个寄存器地址上的数据分别创建独立的通信连接,减少了通信连接的建立次数并减小了处理延迟,从而实现了提高对大点位的属性数据的处理效率的效果,进而解决了对属性数据的处理过程中常出现延迟所导致的处理效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的数据处理方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的数据处理方法的流程图;
图3是根据本申请实施例的一种可选的数据处理方法的示意图;
图4是根据本申请实施例的另一种可选的数据处理方法的流程图;
图5是根据本申请实施例的又一种可选的数据处理方法的流程图;
图6是根据本申请实施例的又一种可选的数据处理方法的流程图;
图7是根据本申请实施例的又一种可选的数据处理方法的流程图;
图8是根据本申请实施例的又一种可选的数据处理方法的流程图;
图9是根据本申请实施例的一种可选的数据处理装置的结构示意图;
图10是根据本申请实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请实施例中所涉及的缩略语和关键技术术语的定义如下:
云原生架构:是互联网中新兴的面向大型分布式***的架构组成。其核心功能包括微服务、DevOps、容器化技术、服务治理几个维度。核心功能以微服务架构为驱动,构建出新的面相互联网+的技术栈,并构建完成CI/CD体系,通过容器技术进行服务部署与自动运维,降低企业成本,加快项目交付。容器云是通过Docker、Kubernetes技术在集群服务器上部署容器服务实现的云服务产品,可看作轻量级的linux云服务器。客户不用处理复杂的底层服务器维护工作,只需要安装提供的镜像,即可运行容器。其中,每一个容器是一个完整服务运行环境,能够进行资源、进程隔离,是互联网主流的虚拟化平台技术。
工业物联网(Internet of Things,简称IoT):是指通过各种信息传感器、射频识别技术、全球定位***、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要观察、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。
设备属性:也称为物模型属性,是物联网中一个设备信息的描述信息,属性描述了一个设备属性信息,例如一个设备温度、压力信息,一个基础信息,即一个设备属性。
设备反控:即外部***或者物联网平台,通过协议通道或者设备通道,将设备对应的属性信息下发到设备侧。设备侧收到属性或者指令后,进行相应的命令响应,实现对应的控制功能。
工业协议Modbus:Modbus是一种串行通信协议,其已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式,Modbus允许多个(大约240个)设备连接在同一个网络上进行通信。在数据采集与观察控制***(Supervisory Control andData Acquisition,SCADA)中,Modbus通常用来连接计算机和远程测控终端***(RemoteTerminal Unit,简称RTU)。
寄存器:寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送入数据,也只能并行输出。移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,或串行输入、并行输出。Modbus数据查询与控制基于寄存器实现,设备修改寄存器地址、读取地址,进行设备与数据显示,设备侧会进行定时扫描。
根据本申请实施例的一个方面,提供了一种数据处理方法,可选地,作为一种可选的实施方式,上述数据处理方法可以但不限于应用于如图1所示的硬件环境中的数据处理***,其中,该数据处理***可以包括但不限于物联网内配置的处于受控状态的设备102,网络104及物联网云平台106。其中,设备102包括设备102-1、设备102-2、设备102-3…至设备102-N。这些设备为具体工业应用场景下的操作设备,例如,可以使工业生产场景下的生产设备,这些生产设备在物联网云平台的控制下可以实现各自的智能化功能及联动操作。又例如,上述设备还可以如图1所示包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视或其他智能家电设备等。这些设备中配置多个寄存器,用于记录保存该设备对应的属性数据,如温度、湿度等。上述网络104可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述物联网云平台可以位于单一服务器中,也可以是由多个服务器组成的服务器集群,或者是云原生架构下的分布式服务器中。上述仅是一种示例,本实施例中对此不作任何限定。
具体结合图1所示***的架构来说明:如步骤S102,物联网云平台106获取到对设备集群(如图1所示设备102-1至设备102-N)中设备102-1(即目标边缘设备)的数据处理请求,该数据处理请求用于指示对设备102-1在目标属性类别下的属性数据进行处理。然后如步骤S104,在目标属性类别下的属性数据所存储占用的寄存器地址的数量大于目标阈值的情况下,对寄存器地址进行分组,得到包含多个地址分组的分组结果,其中,该地址分组内包含的寄存器地址是位于同一地址段内的连续地址。在物联网云平台106与设备102-1成功建立通信连接的情况下,如步骤S106,通过网络104向设备102-1发送携带有上述分组结果的数据处理指令,再如步骤S108,物联网云平台106通过网络104接收上述设备返回的分组处理结果。最后如步骤S110,对获取到的分组处理结果进行数据映射,得到与数据处理请求匹配的目标处理结果。
作为另一种可选的实施方式,在设备集群中设备的处理能力达到既定条件的情况下,可以将物联网平台的处理逻辑内嵌在其中任意一台设备中,实现去中心化的数据处理过程。这里的处理逻辑同上文,本文不再赘述。
需要说明的是,在本实施例中,在获取用于请求对物联网内目标边缘设备在目标属性类别下的属性数据进行处理的数据处理请求之后,确定该目标属性类别下的属性数据所存储占用的寄存器地址的数量。在该数量大于目标阈值的情况下,对上述寄存器地址进行分组,以得到包含多个地址分组的分组结果。这里地址分组内所包含的寄存器地址是位于同一地址段内的连续地址。在与目标边缘设备建立通信连接的情况下,向上述目标边缘设备发送携带有分组结果的数据处理指令,并接收该目标边缘设备所返回的分组处理结果,并对该分组处理结果进行数据映射,以得到与上述数据处理请求相匹配的目标处理结果。也就是说,通过对待处理的目标属性类别下的属性数据所涉及的多个寄存器地址进行分组,并在建立通信连接之后,将上述分组结果发送给目标边缘设备,以使其按照确定好的地址分组来对相应的属性数组进行批量处理,而无需再针对各个寄存器地址上的数据分别创建独立的通信连接,减少了通信连接的建立次数并减小了处理延迟,从而实现了提高对大点位的属性数据的处理效率的效果,进而解决了对属性数据的处理过程中常出现延迟所导致的处理效率较低的技术问题。
可选地,作为一种可选的实施方式,如图2所示,上述数据处理方法包括:
S202,获取数据处理请求,其中,数据处理请求用于请求对物联网内目标边缘设备在目标属性类别下的属性数据进行处理;
S204,在目标属性类别下的属性数据所存储占用的寄存器地址的数量大于目标阈值的情况下,对寄存器地址进行分组,得到包含多个地址分组的分组结果,其中,地址分组内所包含的寄存器地址是位于同一地址段内的连续地址;
S206,在与目标边缘设备建立通信连接的情况下,向目标边缘设备发送携带有分组结果的数据处理指令,并接收目标边缘设备根据数据处理指令所返回的分组处理结果,其中,分组处理结果是对各个地址分组内的属性数据进行各自处理后得到的;
S208,对获取到的分组处理结果进行数据映射,得到与数据处理请求匹配的目标处理结果。
可选地,在本实施例中,上述数据处理方法可以但不限于应用于对物联网中的受控设备进行控制,如该受控设备可以是家庭中的家居设备,也可以是工厂里的工业设备。这些受控设备中配置有多个寄存器,这里的寄存器用于存储受控设备的设备属性,如设备的温度、湿度、压力等属性数据。此外,上述对受控设备的控制操作可以包括但不限于采集受控设备的寄存器中存储的属性数据,还可以包括但不限于向这些受控设备下发控制指令,以指示该设备执行既定的操作,例如,向寄存器中写入新的属性数据或修改更新寄存器中的属性数据。上述内容为示例,本实施例中对此不作任何限定。
例如,上述数据处理方法可以应用于如图3所示的物联网平台产品中,该物联网平台产品的架构可以包括但不限于:门户管理302、云联平台304、协议层306、PaaS底层设计308。其中,门户管理302包括组态管理和物联平台,这里的组态管理是指对用户界面所显示的各种界面控件的管理,物联平台是用于与云联平台实现数据交互。云联平台304中包括:用于管理各个受控设备的设备连接服务304-1、用于管理各个受控设备的基础业务的基础服务304-2及用于管理平台自身硬件或组件的平台管理服务304-3。协议层(如图所示边缘协议层)包括:协议转换、数据解析、设备连接、数据上报、数据下发。是设备与平台连接中间层。设备连接服务304-1是设备配置功能,包括通道管理、设备管理、属性管理、规则计算等配置模块,是协议采集与配置的基础模块,基础服务304-2包括配置发布订阅、设备数据解析及设备指令缓存、指令编译器。用于实现属性数据的下发、上报、设备指令异步存储、物模型指令到设备侧转换功能。平台管理服务304-3包括:Open API管理服务、设备SDK管理、组态服务及设备调试。物联网平台产品可以但不限于与设备侧(如图所示设备1和设备2)通过Modbus协议进行连接,并完成对这些设备中的属性数据的处理。
需要说明的是,应用于上述架构的设备所关联的多点位(即多个设备属性类别(也可称作属性指标))数据被分别存储在多个不同的寄存器中。在获取到对上述点位数据(即属性数据)进行处理的数据处理请求的情况下,确定所请求处理的目标属性类别下的属性数据所存储占用的寄存器地址的数量。在该数量大于目标阈值的情况下,可以但不限于对这些寄存器地址进行排序;并根据寄存器地址的连续性,将连续地址拆分为一个地址分组,以得到多个地址分组。从而实现在物联网云平台与边缘设备建立通信连接的前提下,向物联网内受控的边缘设备发送数据处理指令,其中携带有分组后得到的地址分组,以便于边缘设备直接对该地址分组中各个寄存器地址内存储的属性数据进行统一批量处理,而无需再分别建立多次通信连接,节省等待建立通信连接的时间,以达到提高数据处理效率的目的,并减小对这些属性数据处理时的延迟。
可选地,在本实施例中,上述适用于Modbus协议的寄存器地址可以包括但不限于如以下表1所示的四类操作。
表1
可选地,在本实施例中,上述物联网平台可以但不限于基于Modbus协议完成对设备侧中存储的属性数据的批量采集、异步更新等操作。其中,这里的异步更新可以但不限于是向不同设备异步执行控制指令,该控制指令用于指示读取寄存器地址中存储的属性数据,或向寄存器地址写入新的属性数据或修改更新原有的属性数据。在上述控制过程中,物联网云平台可以但不限于同步存储记录各个设备所涉及的属性数据的处理进度,同步下发控制指令,但无需等待所有设备全部同时在线,各个设备可以实现异步执行设备反控,从而避免了同步控制方式所导致的延迟问题。
此外,在本实施例中,在物联网云平台侧,基于Modbus协议进行数据采集的过程中,可以包括但不限于以下步骤:建立与支持Modbus协议的设备之间的通信连接;在获取设备中寄存器地址之后进行属性数据的采集,在获取采集到的属性数据之后对其进行解析,以便于对这些采集到的属性数据执行进一步的处理。
需要说明的是,在本实施例中的Modbus协议可以包括但不限于以下之一:传输控制协议(Transmission Control Protocol,简称TCP)模式、远程测控终端***(RemoteTerminal Unit,简称RTU)模式,其中TCP模式主要通过TCP协议建立连接,以获取设备的属性数据进行处理。此外,上述Modbus协议关联的协议参数可以包括但不限于:IP地址、端口(Port)号、连接时间、超时参数等。
具体以图4所示的物联网云平台基于Modbus协议对目标边缘设备进行单点位数据采集过程为例进行说明:
假设这里的数据采集服务采用的是云原生架构下云端平台(如物联网平台408)与边缘设备(如目标边缘设备402)结合的模式。其中,云端平台负责配置下发、数据计算、数据存储等操作,而边缘设备负责数据采集。物联网云平台408与目标边缘设备402通过消息队列(Message Queue,简称MQ)进行配置下发,同时目标边缘设备402也是通过MQ进行数据上报。在数据采集模块404中将配置下发的设备属性的地址信息传递给,并进行数据采集、解析、上报。其中,MQ是基础数据结构中“先进先出”的一种数据结构,利用队列机制来实现消息传递。整体的采集操作流程可以包括如下步骤:
如步骤S402,在物联网云平台408进行设备采集过程的配置,如步骤S402-1和步骤S402-2,配置设备信息和点位信息,其中,设备信息包括协议、IP及端口Port等,点位信息包括主机ID、寄存器地址等。然后如步骤S404-S406,物联网云平台408在MQ 406中进行单点位的配置发布,并配置写入、路由。然后如步骤S408,MQ向数据采集模块404配置订阅。数据采集模块404执行步骤S410,配置解析、寄存器指令编码。如步骤S410-1至步骤S410-3,配置解析(协议、IP、Port);点位编码(点位名称、寄存器地址);指令命令编码及连接建立(SDK)。此外,在配置写入、路由之后,可以如步骤S407,确定与目标边缘设备之间的设备连接状态。
在完成配置订阅后,如步骤S412,与目标边缘设备402之间建立TCP长连接。在如步骤S414,获取返回的连接状态之后,执行步骤S416,传入SDK数据(主机ID、寄存器地址、读取长度(1))。然后如步骤S418-S422,向目标边缘设备402发送寄存器数据读取请求;响应该请求,目标边缘设备402确定寄存器地址,并返回寄存器地址中的点位数据(也是属性数据)。数据采集模块404执行步骤S424,解析上述返回内容,获取到点位数据,并执行步骤S426,向MQ 406发送点位数据。MQ 406执行步骤S428,向物联网云平台408返回其订阅的点位数据。物联网云平台408将如步骤S430,对上述获取到的数据进行解析,并按照数据的时序进行存储。
具体以图5所示的物联网云平台基于Modbus协议对目标边缘设备进行批量数据采集过程为例进行说明:
假设这里的数据采集服务采用的是云原生架构下云端平台(如物联网平台510)与边缘设备(如目标边缘设备502)结合的模式。整体的采集操作流程可以包括如下步骤:
如步骤S502,在物联网云平台510进行设备采集过程的配置,如步骤S502-1和步骤S502-2,配置设备信息和点位信息,其中,设备信息包括协议、IP及端口Port等,点位信息包括主机ID、寄存器地址等。然后如步骤S504-S506,物联网云平台510在MQ 508中进行批量的配置发布,并配置写入、路由。然后如步骤S508,MQ 508向数据采集模块504配置订阅。数据采集模块504执行步骤S510,配置解析、寄存器指令编码。如步骤S510-1至步骤S510-3,配置解析(协议、IP、Port);点位编码(点位名称、寄存器地址);指令命令编码及连接建立(SDK)。此外,在配置写入、路由之后,可以如步骤S507,确定与目标边缘设备之间的设备连接状态。
在完成配置解析后,如步骤S512-S514,数据采集模块504向指令编译器506采集指令编排,指令编译器506执行采集指令编排,组合联合地址进行批量采集。如步骤S514-1至步骤S514-3,初始化指令地址;对指令地址排序和倒排;对指令地址拆分,连续段拆分。其中,物联网云平台510会在新增或修改数据时,向指令编译器发送设备属性排序元组。
指令编译器506还将执行步骤S516-S518,对指令地址拆分、分组,并对数据指令进行映射。然后传入SDK数据(主机ID、寄存器地址、读取长度)。具体可以如步骤S518-1至步骤S518-3,配置批量数据;传递地址段;异步回调信息。
在如步骤S520,与目标边缘设备402之间建立TCP长连接之后,如步骤S522,获取返回的连接状态,如连接状态。然后如步骤S524-S526,向目标边缘设备502发送寄存器数据读取请求;响应该请求,目标边缘设备502确定寄存器地址,并从寄存器地址中获取连续地址中的点位数据(也是属性数据);再将这些数据返回地址编译器506。然后,地址编译器506执行步骤S530-S532,响应解析,指令解析,获取数据。再进行数据解析和数值映射处理,具体如步骤S532-1至步骤S532-4,读取数据进行位置对应;执行位置对应与地址映射;执行地址映射到点位名称;对点位数据进行组装。在得到点位数据之后,如步骤S534,向MQ 508发送点位数据。MQ 508执行步骤S536,向物联网云平台510返回其订阅的点位数据。物联网云平台510将如步骤S538,对上述获取到的数据进行解析,并按照数据的时序进行存储。
其中,上述图5中所示的指令编译器用于:1)物联网云平台将为其所管理的不同受控设备构建设备模型,并为该设备模型关联的属性数据配置点位名称(也可称作属性名称)和寄存器地址。指令编译器用于将对受控设备进行控制时所使用的指令转化为机器Modbus协议指令。2)在为大点位数据(存储占用的寄存器地址的数量大于目标阈值的点位数据)进行排序和分组后,根据地址的连续性对所涉及的连续的寄存器地址进行拆分,每一个分组内为一组连续地址构成的地址段,将携带有地址分组的分组结果传递给目标边缘设备,以使得目标边缘设备一次性完成数据处理。指令编译器为承上启下作用,完成指令转换、地址排序、采集与映射。
也就是说,在本实施例中,Modbus批量采集是实现对边缘侧设备中大点位数据的采集,无需再为每一个点位建立通信连接,以完成点位数据的采集和解析。而是可以通过配置指令比编译器,以实现对批量采集的点位地址进行分而治之。如将所有点位的地址通过地址分组排序算法进行排序,拆分,再将拆分后的数据按照连续地址所在地址段进行批量地读取,降低采集连接次数,从而实现大大地降低数据采集的处理延迟,如降低到毫秒级(一个点位获取级别),一次性地读取整个地址段内的数据。
此外,在本实施例中,在按照地址分组获取到批量数据之后,还可以但不限于利用多线程对数据进行合并与归档。如一个Modbus最大连接上限为16个连接,也就是说最多可以通过15线程并发执行处理,从而达到加快数据采集速度与效率的目的。
上述图4-图5所示交互流程为示例,本实施例中对此不作任何限定。
通过本申请提供的实施例,在获取用于请求对物联网内目标边缘设备在目标属性类别下的属性数据进行处理的数据处理请求之后,确定该目标属性类别下的属性数据所存储占用的寄存器地址的数量。在该数量大于目标阈值的情况下,对上述寄存器地址进行分组,以得到包含多个地址分组的分组结果。这里地址分组内所包含的寄存器地址是位于同一地址段内的连续地址。在与目标边缘设备建立通信连接的情况下,向上述目标边缘设备发送携带有分组结果的数据处理指令,并接收该目标边缘设备所返回的分组处理结果,并对该分组处理结果进行数据映射,以得到与上述数据处理请求相匹配的目标处理结果。也就是说,通过对待处理的目标属性类别下的属性数据所涉及的多个寄存器地址进行分组,并在建立通信连接之后,将上述分组结果发送给目标边缘设备,以使其按照确定好的地址分组来对相应的属性数组进行批量处理,而无需再针对各个寄存器地址上的数据分别创建独立的通信连接,减少了通信连接的建立次数并减小了处理延迟,从而实现了提高对大点位的属性数据的处理效率的效果,进而解决了对属性数据的处理过程中常出现延迟所导致的处理效率较低的技术问题。
作为一种可选的方案,对寄存器地址进行分组,得到包含多个地址分组的分组结果包括:
S1,根据数据处理请求确定目标属性类别下的属性数据所存储占用的多个寄存器地址,以及各个寄存器地址各自对应的请求处理序位;
S2,对多个寄存器地址进行排序,得到地址序列;
S3,将地址序列按照连续地址所在的地址段进行分组,得到多个地址分组。
需要说明的是,在本实施例中,上述请求处理序位可以但不限于用于指示数据处理请求所请求处理的属性数据的处理顺序,及处理结果的返回顺序。如在请求处理多个寄存器地址中属性数据的情况下,该请求处理序位用于指示在参考本申请实施例提供的方式对上述多个寄存器地址按照地址连续性重新排序之前的请求排列顺序,以便于对目标边缘设备按照连续地址处理后的处理结果进行重新映射,从而得到与请求顺序相匹配的处理结果。
此外,在对地址序列按照地址段进行拆分,得到多个地址分组的方式可以但不限于采用二分查找分组法。如上述S3中将地址序列按照连续地址所在的地址段进行分组,得到多个地址分组可以包括以下步骤:
S31,从地址序列中获取第i个寄存器地址,并对第i个寄存器地址执行以下步骤:
S31-2,确定在第i个寄存器地址之前已被划分到第j个地址分组中的第i-1个寄存器地址,其中,i为大于等于1且小于等于N的自然数,N为地址序列中寄存器地址的数量,j为大于等于1且小于等于M的自然数,M为分组结果中包含的地址分组的数量;
S31-4,在第i个寄存器地址与第i-1个寄存器地址之间的地址距离等于1的情况下,确定第i个寄存器地址与第i-1个寄存器地址为相邻连续地址,并将第i个寄存器地址划分到第j个地址分组中;
S31-6,在第i个寄存器地址与第i-1个寄存器地址之间的地址距离大于1的情况下,确定第i个寄存器地址与第i-1个寄存器地址并非相邻连续地址,并将第i个寄存器地址划分到第j+1个地址分组中。
也就是说,判断前后相邻的第i-1个寄存器地址和第i个寄存器地址之间的地址距离是否大于1。若地址距离等于1,则确定第i个寄存器地址属于第i-1个寄存器地址所在的第j个地址分组;若地址距离大于1,则第i个寄存器地址不属于第i-1个寄存器地址所在的第j个地址分组,而是属于第j+1个地址分组。依此遍历上述多个寄存器地址,以得到多个地址分组对应的数组pos[],每个数组pos[]用于以数组形式记录一个地址分组中包含的连续寄存器地址的地址信息。
例如,假设待处理的目标属性类别(可使用点位名称区分属性类别)下的属性数据所在的多个寄存器地址及对应的请求处理序位如表2所示:
表2
序号 | 寄存器地址 | 点位名称 |
1 | [02] | 环境温度 |
2 | [01] | 环境湿度 |
3 | [06] | 控制温度 |
4 | [03] | 控制风量 |
5 | [05] | 压力 |
其中,上述表2中所示序号为请求处理序位,点位名称(也可称作属性名称)可以用于区分属性类别,点位数据中记录的是各个点位名称对应的属性数据。
然后,对上述表2中所示请求处理的属性数据所存储占用的多个寄存器地址按照连续性进行排序,得到地址序列。该地址序列可以如表3所示:
表3
采用地址二分法对两两地址进行比对,若地址距离大于1则拆分至两个地址分组,若地址距离等于1则拆分为一个地址分组。参考表3所示的地址序列,可以得到两个地址分组,包括:分组1{[01]、[02]、[03]};分组2{[05]、[06]}。进一步记录各个分组内寄存器地址及其序号(即请求处理序位)之间的位置映射关系,以便于在对属性数据按照连续地址进行处理得到分组处理结果之后,可以按照请求处理序位所指示的出现顺序重新组装处理后的数据。
通过本申请提供的实施例,在根据数据处理请求确定出目标属性类别下的属性数据所在多个寄存器地址及其对应的请求处理序位之后,对多个寄存器地址进行排序,得到地址序列,并地址序列按照连续地址所在的地址段进行分组得到多个地址分组。基于上述请求处理序位来记录请求处理的属性数据所在寄存器地址的出现顺序,以便于在按照地址连续性重排寄存器地址以处理数据之后,还可以基于上述请求处理序位对处理结果进行重组,确保获取到的数据处理结果的准确性。
作为一种可选的方案,对获取到的分组处理结果进行数据映射,得到与数据处理请求匹配的目标处理结果包括:
S1,在数据处理请求为数据读取请求的情况下,获取目标边缘设备返回的分组读取结果,其中,分组读取结果包括:目标边缘设备读取到的每个地址分组中各个寄存器地址内各自存储的第一对象属性数据;
S2,将各个寄存器地址各自对应的请求处理序位,作为读取到的第一对象属性数据对应的读取序位;
S3,将读取到的第一对象属性数据按照读取序位进行排列映射,以得到与数据读取请求匹配的数据读取结果,其中,目标处理结果包括数据读取结果。
具体结合表2-表3所示场景来进行说明:在获取到的是数据读取请求的情况下,在目标边缘设备接收到上述数据读取请求对应的数据读取指令之后,将按照地址分组读取到分组读取结果:按照分组1{[01]、[02]、[03]}读取到对应的对象属性数据包括:[环境湿度:0S1]、[环境温度:0W2]、[控制风量:0F3],并以此构成属性数组1;按照分组2{[05]、[06]}读取到对应的对象属性数据包括:[压力:0Y5]、[控制温度:0W6],并以此构成属性数组2。
但上述分组读取结果中属性数组内属性数据的出现顺序并非数据读取请求所请求读取的顺序。进一步,在目标边缘设备将上述分组读取结果返回物联网云平台之后,物联网云平台将对上述读取到的对象属性数据按照请求处理序位进行重新映射。也就是将属性数据所在寄存器地址各自对应的请求处理序位,作为其对应的读取序位,并按照该读取序位对读取结果进行重新排列映射,得到与数据读取请求相匹配的数据读取结果,如表4所示,将各个对象属性数据以其寄存器地址为依据,映射到对应的请求处理序位(即序号)上。
表4
寄存器地址 | 点位名称 | 对象属性数据 | 序号 |
[01] | 环境湿度 | 0S1 | 2 |
[02] | 环境温度 | 0W2 | 1 |
[03] | 控制风量 | 0F3 | 4 |
[05] | 压力 | 0Y5 | 5 |
[06] | 控制温度 | 0W6 | 3 |
然后,将读取到的对象属性数据按照上述序号(即读取序位)进行重新排列映射,以得到如表5所示的数据读取结果:
表5
序号 | 寄存器地址 | 点位名称 | 对象属性数据 |
1 | [02] | 环境温度 | 0W2 |
2 | [01] | 环境湿度 | 0S1 |
3 | [06] | 控制温度 | 0W6 |
4 | [03] | 控制风量 | 0F3 |
5 | [05] | 压力 | 0Y5 |
上述表格内所示内容均为示例,本实施例中的点位名称可以但不限于是应用于复杂的工业场景下的属性指标(属性类别)的名称,所涉及到的对象属性数据也是各个属性指标对应的数据值,这里不做限定。
通过本申请提供的实施例,在数据处理请求为数据读取请求的情况下,对排序分组后的寄存器地址实现一次性数据读取之后,按照寄存器地址的请求处理序位,对数据读取结果进行重新映射,从而使得数据读取结果出现其真正请求对应的读取序位上,以确保数据读取结果的准确性。
作为一种可选的方案,对获取到的分组处理结果进行数据映射,得到与数据处理请求匹配的目标处理结果包括:
S1,在数据处理请求为数据写入请求的情况下,获取目标边缘设备返回的分组写入结果,其中,分组写入结果包括:目标边缘设备写入到各个地址分组中各个寄存器地址内的第二对象属性数据,第二对象属性数据为目标边缘设备按照数据写入请求所采集到的属性数据;
S2,将各个寄存器地址各自对应的请求处理序位,作为写入的第二对象属性数据对应的写入序位;
S3,将第二对象属性数据按照写入序位进行排列映射,以得到与数据写入请求匹配的数据写入结果,其中,目标处理结果包括数据写入结果。
需要说明的是,在本实施例中,对于Modbus设备进行点位写入也就是实现设备远控,即,对Modbus设备对应的寄存器地址进行写入新的属性数据或修改原有的属性数据。在相关技术提供的以同步方式对物联网中的多个设备进行同步控制的方式可以如图6所示流程,具体包括如下步骤:
如步骤S602,物联网云平台604将接收组态/scada 606下发的用于指示发送策略的命令,其中该命令中携带有设备ID、点位ID及item值。然后执行步骤S604对该命令进行编解码,如步骤S604-1至S604-2,查询设备信息,如所适用的协议、IP、Port和点位地址,并进行指令命令的编码,建立连接。如步骤S606,与目标边缘设备606建立TCP长连接。在如步骤S608,收到目标边缘设备606返回的连接状态之后,执行步骤S610,传入并写入SDK数据。然后再执行步骤S612,向目标边缘设备606下发命令并写属性。在目标边缘设备606的寄存器地址写入上述属性,并向物联网云平台604返回ACK-结果响应,如步骤S614-S616。物联网云平台604将进一步执行步骤S618-S620,响应解析,更新状态,并更新命令状态,向组态/scada上报结果。
需要说明的是,由于Modbus设备点位写入时需强制依赖***与设备之间的连接状态。也就是说,在设备失去连接时,则无法进行寄存器地址的写入。实际上,物联网***需要与外部企业资源计划(Enterprise Resource Planning,简称ERP)、软件即制造执行***(Manufacturing Execution System,简称MES)打通,以便于进行排产计划,并进行设备指令控制。其中,设备与排产(MES、ERP)一般跨网络,难以确保设备实时处于连接状态。因而,在本实施例中提出对物联网中各个设备进行异步点位写入控制。
在对设备中寄存器地址内的属性数据进行写入更新时,也可以参考上述数据读取过程的实施例,如在获取到的是数据写入请求的情况下,在目标边缘设备接收到上述数据写入请求对应的数据写入指令之后,将把目标边缘设备采集到的对象属性数据,按照地址分组写入或修改更新至对应的寄存器地址中,得到分组写入结果。但上述分组写入结果中属性数组内属性数据的出现顺序并非数据写入请求所请求写入的顺序。进一步,在目标边缘设备将上述分组写入结果返回物联网云平台之后,物联网云平台将对上述分组写入结果按照请求处理序位进行重新映射。
通过本申请提供的实施例,在数据处理请求为数据写入请求的情况下,对排序分组后的寄存器地址实现一次性写入更新处理,并接收按照寄存器地址的请求处理序位对数据写入结果进行重新映射,从而使得写入更新的结果可以反映出其请求处理时对应的写入序位,以确保获取到的数据更新结果的准确性。
作为一种可选的方案,将第二对象属性数据按照写入序位进行排列映射,以得到与数据写入请求匹配的数据写入结果包括:
S1,利用与多个地址分组各自对应的线程,对各个地址分组中的第二对象属性数据并行进行排列映射。
可选地,在本实施例中,在获取到目标边缘设备返回的按照多个地址分组各自写入对象属性数据的分组写入结果之后,可以但不限于利用与多个地址分组各自对应的线程,对各个地址分组中的对象属性数据进行并行映射处理。也就是说,可以以地址分组为单位,对其中所包含的寄存器地址内的对象属性数据同时进行映射处理。
例如,以数据读取为例,对分组1中三个寄存器地址中存储的对象属性数据和分组2中两个寄存器地址中存储的对象属性数据,同时开始参考寄存器地址的请求处理序位进行重排映射,得到与数据读取请求相匹配的数据读取结果。
通过本申请提供的实施例,利用多个线程对多个地址分组各自对应的对象属性数据进行并行映射处理,以便于快速获取到请求处理的处理结果,从而达到提高数据处理效率的目的。
作为一种可选的方案,在向目标边缘设备发送携带有分组结果的数据处理指令之后,还包括:
S1,更新各个地址分组各自对应的数组处理状态,以及与数据处理指令对应的指令执行状态,其中,数组处理状态用于指示地址分组内各个寄存器地址的数据处理进度,指令执行状态用于指示多个地址分组各自对应的数组处理进度。
需要说明的是,在本实施例中,在数据处理请求所涉及的目标边缘设备为多个设备的情况下,则可以但不限于采用同步下发但异步执行的方式来完成多个设备的数据处理过程。在此过程中,可以但不限于同时记录异步执行的状态,并反馈给排产***。如记录每个地址分组内属性数据的处理进度,及对多个地址分组各自对应的数组处理进度,以使得第三方、物联平台、边缘设备三者可以实现数据异步处理。
可选地,在本实施例中,在每次获取到分组处理结果之后,可以对所保存的地址分组对应的数组处理状态,以及与数据处理指令对应的指令执行状态进行更新,以便于在设备离线又恢复后,可以基于数组处理状态和指令执行状态对数据处理过程进行快速恢复。
例如,以同步下发但异步执行的方式对物联网中多个边缘设备中的属性数据进行处理,具体可以如图7所示流程,包括如下步骤:
如步骤S702,物联网云平台604将接收组态/scada 606下发的用于指示发送策略的命令,其中该命令中携带有设备ID、点位ID及item值。然后执行步骤S704对指令缓存,命令缓存。并向组态/scada 706返回写入OK的结果。此外,在缓存命令时,向目标边缘设备602确认设备连接状态是否OK,如步骤S704-2。
然后物联网云平台604执行步骤S708进行编解码,如步骤S704-1至S704-2,查询设备信息,如所适用的协议、IP、Port和点位地址,并进行指令命令的编码,建立连接。如步骤S710,与目标边缘设备606建立TCP长连接。在如步骤S712,收到目标边缘设备606返回的连接状态之后,执行步骤S714,传入并写入SDK数据。然后再执行步骤S716,向目标边缘设备602下发命令并写属性。在目标边缘设备606的寄存器地址写入上述属性,并向物联网云平台604返回ACK-结果响应,如步骤S718-S720。物联网云平台604将进一步执行步骤S722-S724,响应解析,更新状态,并更新命令状态,向组态/scada上报结果。
也就是说,在本实施例中,在数据处理请求涉及多个边缘设备的情况下,可以但不限于不再要求多个边缘设备同时在线,而是实现对多个边缘设备中的属性数据进行异步处理。也就是在离线边缘设备恢复在线状态后,可以基于记录保存的多个边缘设备整体的数据处理进度及其自身离线前的处理进度,来及时同步数据处理状态。
通过本申请提供的实施例,及时更新地址分组对应的数组处理状态,以及与数据处理指令对应的指令执行状态,从而便于基于这些状态数据及时恢复由于设备掉线而被中断的数据处理进度,以达到对多个不同设备实现灵活地异步控制,而不再约束多个设备必须同时在线。
作为一种可选的方案,在对获取到的分组处理结果进行数据映射,得到与数据处理请求匹配的目标处理结果之后,还包括:
S1,在与目标边缘设备之间的通信连接断开,但与目标边缘设备位于同一物联网中的参***的通信连接并未断开的情况下,记录目标边缘设备在断开时的数组处理状态和指令执行状态,并对参***内的属性数据继续进行处理。
需要说明的是,在本实施例中提出一种基于云原生架构进行Modbus工业协议数据采集与远控的设计与实现。在对物联网中的多个设备进行设备远控的过程中,定义异步下发模型与控制,支持一个设备离线场景下对其他在线设备的指令下发,从而实现上下游异步控制值与执行,以克服同步控制所有设备所导致的限制问题。
通过本申请提供的实施例,对在线设备保持继续进行数据处理的状态,使其不会受到离线设备的影响,从而实现对多个不同设备进行更加灵活地异步控制的效果,进而克服相关技术中必须多个设备同时在线才能完成数据处理的限制缺陷。
作为一种可选的方案,在获取数据处理请求之前,还包括:
S1,为目标边缘设备配置属性类别信息,其中,属性类别信息用于指示与目标边缘设备关联的属性指标,及属性指标的属性数据所对应存储的寄存器地址的地址信息。
具体结合以下示例进行说明:假设上述数据处理请求是请求对大点位Modbus设备中的点位数据(属性数据)进行数据采集。
例如,在数据采集之前的配置过程可以如图8所示,采集配置模块802执行步骤S802,批量输入点位信息,如输入点位名称和寄存器地址。配置存储模块804将对其进行数据存储,如步骤S804-1至步骤S804-2,记录设备与点位信息之间的映射关系,如设备ID与以下点位信息的哈希映射关系:寄存器地址和点位名称。如智能空调设备ID-1,对应的点位名称(即属性名称)包括:环境温度、环境湿度、控制温度、控制风量等,这些点位名称对应的点位数据(即属性数据)对应存储在智能空调设备ID-1中的N个寄存器地址中。然后对这里所涉及的多个设备ID及寄存器地址进行排序,得到排序后设备ID-list。如步骤S806-S808,将上述设备与点位信息存储,并在配置拆分模块806中维护上述设备ID-list,确定各个点位数据对应的寄存器地址。进一步如步骤S810-S812,存储维护后的设备与点位信息,并通过配置排序分组模块808对上述维护后的list进行分组。具体如步骤S812-1至步骤S812-4,对list进行二分查找分组;对连续地址进行拆分,如前后出现的地址之间的差异(如地址距离)大于1,则重新分组,以确保连续地址分于同一个地址分组,并将一个地址分组记录到一个位置数组pos[]中。然后,根据上述位置数组,获取对应请求处理序位的分组(如图所示分组二维点位数据),得到分组结果集,并返回该分组结果集。
如步骤S814-S816,配置拆分模块806获取到所返回的分组二维点位数据之后,对其进行归档。然后如步骤S818-S822,并向配置存储模块804发送分组二维点位数据。配置存储模块804对获取到的数据存储至数据库及缓存之后,向采集配置模块802返回分组二维点位数据。
上述图8所示为对数据处理之前的配置下发过程的示例,本实施例中对此不作任何限定。在完成上述配置下发之后,在收到数据处理指令之后才会对待处理属性数据进行排序、拆分等处理。
通过本申请提供的实施例,在物联网云平台提前为目标边缘设备进行点位配置,从而便于在对目标边缘设备中的数据进行处理时可以按照配置完成,以达到提高对目标边缘设备的数据处理效率的目的。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
根据本申请实施例的另一个方面,还提供了一种用于实施上述数据处理方法的数据处理装置。如图9所示,该装置包括:
获取单元902,用于获取数据处理请求,其中,数据处理请求用于请求对物联网内目标边缘设备在目标属性类别下的属性数据进行处理;
分组单元904,用于在目标属性类别下的属性数据所存储占用的寄存器地址的数量大于目标阈值的情况下,对寄存器地址进行分组,得到包含多个地址分组的分组结果,其中,地址分组内所包含的寄存器地址是位于同一地址段内的连续地址;
传输单元906,用于在与目标边缘设备建立通信连接的情况下,向目标边缘设备发送携带有分组结果的数据处理指令,并接收目标边缘设备根据数据处理指令所返回的分组处理结果,其中,分组处理结果是对各个地址分组内的属性数据进行各自处理后得到的;
处理单元908,用于对获取到的分组处理结果进行数据映射,得到与数据处理请求匹配的目标处理结果。
可选地,在本实施例中,分组单元包括:
确定模块,用于根据数据处理请求确定目标属性类别下的属性数据所存储占用的多个寄存器地址,以及各个寄存器地址各自对应的请求处理序位;
排序模块,用于对多个寄存器地址进行排序,得到地址序列;
分组模块,用于将地址序列按照连续地址所在的地址段进行分组,得到多个地址分组。
可选地,在本实施例中,分组模块包括:
处理子模块,用于从地址序列中获取第i个寄存器地址,并对第i个寄存器地址执行以下步骤:
确定在第i个寄存器地址之前已被划分到第j个地址分组中的第i-1个寄存器地址,其中,i为大于等于1且小于等于N的自然数,N为地址序列中寄存器地址的数量,j为大于等于1且小于等于M的自然数,M为分组结果中包含的地址分组的数量;
在第i个寄存器地址与第i-1个寄存器地址之间的地址距离等于1的情况下,确定第i个寄存器地址与第i-1个寄存器地址为相邻连续地址,并将第i个寄存器地址划分到第j个地址分组中;
在第i个寄存器地址与第i-1个寄存器地址之间的地址距离大于1的情况下,确定第i个寄存器地址与第i-1个寄存器地址并非相邻连续地址,并将第i个寄存器地址划分到第j+1个地址分组中。
可选地,在本实施例中,处理单元包括:
第一获取子模块,用于在数据处理请求为数据读取请求的情况下,获取目标边缘设备返回的分组读取结果,其中,分组读取结果包括:目标边缘设备读取到的每个地址分组中各个寄存器地址内各自存储的第一对象属性数据;
第一确定子模块,用于将各个寄存器地址各自对应的请求处理序位,作为读取到的第一对象属性数据对应的读取序位;
第一映射子模块,用于将读取到的第一对象属性数据按照读取序位进行排列映射,以得到与数据读取请求匹配的数据读取结果,其中,目标处理结果包括数据读取结果。
可选地,在本实施例中,处理单元908包括:
第二获取子模块,用于在数据处理请求为数据写入请求的情况下,获取目标边缘设备返回的分组写入结果,其中,分组写入结果包括:目标边缘设备写入到各个地址分组中各个寄存器地址内的第二对象属性数据,第二对象属性数据为目标边缘设备按照数据写入请求所采集到的属性数据;
第二确定子模块,用于将各个寄存器地址各自对应的请求处理序位,作为写入的第二对象属性数据对应的写入序位;
第二映射子模块,用于将第二对象属性数据按照写入序位进行排列映射,以得到与数据写入请求匹配的数据写入结果,其中,目标处理结果包括数据写入结果。
可选地,在本实施例中,第二映射子模块还用于利用与多个地址分组各自对应的线程,对各个地址分组中的第二对象属性数据并行进行排列映射。
可选地,在本实施例中,上述装置还包括:
更新单元,用于在向目标边缘设备发送携带有分组结果的数据处理指令之后,更新各个地址分组各自对应的数组处理状态,以及与数据处理指令对应的指令执行状态,其中,数组处理状态用于指示地址分组内各个寄存器地址的数据处理进度,指令执行状态用于指示多个地址分组各自对应的数组处理进度。
可选地,在本实施例中,上述装置还包括:
记录单元,用于在对获取到的分组处理结果进行数据映射,得到与数据处理请求匹配的目标处理结果之后,在与目标边缘设备之间的通信连接断开,但与目标边缘设备位于同一物联网中的参***的通信连接并未断开的情况下,记录目标边缘设备在断开时的数组处理状态和指令执行状态,并对参***内的属性数据继续进行处理。
可选地,在本实施例中,上述装置还包括:
配置单元,用于在获取数据处理请求之前,为目标边缘设备配置属性类别信息,其中,属性类别信息用于指示与目标边缘设备关联的属性指标,及属性指标的属性数据所对应存储的寄存器地址的地址信息。
可选地,在本实施例中,上述各个单元模块所要实现的实施例,可以参考上述各个方法实施例,这里不再赘述。
根据本申请实施例的又一个方面,还提供了一种用于实施上述数据处理方法的电子设备,该电子设备可以是图1所示的设备集群中的设备或物联网平台设备。本实施例以该电子设备为终端设备为例来说明。如图10所示,该电子设备包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取数据处理请求,其中,数据处理请求用于请求对物联网内目标边缘设备在目标属性类别下的属性数据进行处理;
S2,在目标属性类别下的属性数据所存储占用的寄存器地址的数量大于目标阈值的情况下,对寄存器地址进行分组,得到包含多个地址分组的分组结果,其中,地址分组内所包含的寄存器地址是位于同一地址段内的连续地址;
S3,在与目标边缘设备建立通信连接的情况下,向目标边缘设备发送携带有分组结果的数据处理指令,并接收目标边缘设备根据数据处理指令所返回的分组处理结果,其中,分组处理结果是对各个地址分组内的属性数据进行各自处理后得到的;
S4,对获取到的分组处理结果进行数据映射,得到与数据处理请求匹配的目标处理结果。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本申请实施例中的数据处理方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于存储物品的样本特征与目标虚拟资源账号等信息。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述数据处理装置中的获取单元902、分组单元904、传输单元906及处理单元908。此外,还可以包括但不限于上述数据处理装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1008,用于显示上述分组结果以及目标处理结果;和连接总线1010,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式***中的一个节点,其中,该分布式***可以为区块链***,该区块链***可以是由该多个节点通过网络通信的形式连接形成的分布式***。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链***中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,该计算机程序/指令包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理器执行时,执行本申请实施例提供的各种功能。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
根据本申请的一个方面,提供了一种计算机可读存储介质,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的数据处理方法。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取数据处理请求,其中,数据处理请求用于请求对物联网内目标边缘设备在目标属性类别下的属性数据进行处理;
S2,在目标属性类别下的属性数据所存储占用的寄存器地址的数量大于目标阈值的情况下,对寄存器地址进行分组,得到包含多个地址分组的分组结果,其中,地址分组内所包含的寄存器地址是位于同一地址段内的连续地址;
S3,在与目标边缘设备建立通信连接的情况下,向目标边缘设备发送携带有分组结果的数据处理指令,并接收目标边缘设备根据数据处理指令所返回的分组处理结果,其中,分组处理结果是对各个地址分组内的属性数据进行各自处理后得到的;
S4,对获取到的分组处理结果进行数据映射,得到与数据处理请求匹配的目标处理结果。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (13)
1.一种数据处理方法,其特征在于,包括:
获取数据处理请求,其中,所述数据处理请求用于请求对物联网内目标边缘设备在目标属性类别下的属性数据进行处理;
在所述目标属性类别下的属性数据所存储占用的寄存器地址的数量大于目标阈值的情况下,对所述寄存器地址进行分组,得到包含多个地址分组的分组结果,其中,所述地址分组内所包含的寄存器地址是位于同一地址段内的连续地址;
在与所述目标边缘设备建立通信连接的情况下,向所述目标边缘设备发送携带有所述分组结果的数据处理指令,并接收所述目标边缘设备根据所述数据处理指令所返回的分组处理结果,其中,所述分组处理结果是对各个地址分组内的属性数据进行各自处理后得到的;
对获取到的所述分组处理结果进行数据映射,得到与所述数据处理请求匹配的目标处理结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述寄存器地址进行分组,得到包含多个地址分组的分组结果包括:
根据所述数据处理请求确定所述目标属性类别下的属性数据所存储占用的多个寄存器地址,以及各个寄存器地址各自对应的请求处理序位;
对所述多个寄存器地址进行排序,得到地址序列;
将所述地址序列按照连续地址所在的地址段进行分组,得到所述多个地址分组。
3.根据权利要求2所述的方法,其特征在于,所述将所述地址序列按照连续地址所在的地址段进行分组,得到所述多个地址分组包括:
从所述地址序列中获取第i个寄存器地址,并对所述第i个寄存器地址执行以下步骤:
确定在所述第i个寄存器地址之前已被划分到第j个地址分组中的第i-1个寄存器地址,其中,i为大于等于1且小于等于N的自然数,N为所述地址序列中寄存器地址的数量,j为大于等于1且小于等于M的自然数,M为所述分组结果中包含的地址分组的数量;
在所述第i个寄存器地址与所述第i-1个寄存器地址之间的地址距离等于1的情况下,确定所述第i个寄存器地址与所述第i-1个寄存器地址为相邻连续地址,并将所述第i个寄存器地址划分到所述第j个地址分组中;
在所述第i个寄存器地址与所述第i-1个寄存器地址之间的地址距离大于1的情况下,确定所述第i个寄存器地址与所述第i-1个寄存器地址并非相邻连续地址,并将所述第i个寄存器地址划分到第j+1个地址分组中。
4.根据权利要求2所述的方法,其特征在于,所述对获取到的所述分组处理结果进行数据映射,得到与所述数据处理请求匹配的目标处理结果包括:
在所述数据处理请求为数据读取请求的情况下,获取所述目标边缘设备返回的分组读取结果,其中,所述分组读取结果包括:所述目标边缘设备读取到的每个所述地址分组中各个寄存器地址内各自存储的第一对象属性数据;
将所述各个寄存器地址各自对应的所述请求处理序位,作为读取到的所述第一对象属性数据对应的读取序位;
将读取到的所述第一对象属性数据按照所述读取序位进行排列映射,以得到与所述数据读取请求匹配的数据读取结果,其中,所述目标处理结果包括所述数据读取结果。
5.根据权利要求2所述的方法,其特征在于,所述对获取到的所述分组处理结果进行数据映射,得到与所述数据处理请求匹配的目标处理结果包括:
在所述数据处理请求为数据写入请求的情况下,获取所述目标边缘设备返回的分组写入结果,其中,所述分组写入结果包括:所述目标边缘设备写入到各个所述地址分组中各个寄存器地址内的第二对象属性数据,所述第二对象属性数据为所述目标边缘设备按照所述数据写入请求所采集到的属性数据;
将所述各个寄存器地址各自对应的所述请求处理序位,作为写入的所述第二对象属性数据对应的写入序位;
将所述第二对象属性数据按照所述写入序位进行排列映射,以得到与所述数据写入请求匹配的数据写入结果,其中,所述目标处理结果包括所述数据写入结果。
6.根据权利要求5所述的方法,其特征在于,所述将所述第二对象属性数据按照所述写入序位进行排列映射,以得到与所述数据写入请求匹配的数据写入结果包括:
利用与所述多个地址分组各自对应的线程,对各个地址分组中的所述第二对象属性数据并行进行排列映射。
7.根据权利要求1所述的方法,其特征在于,在所述向所述目标边缘设备发送携带有所述分组结果的数据处理指令之后,还包括:
更新各个所述地址分组各自对应的数组处理状态,以及与所述数据处理指令对应的指令执行状态,其中,所述数组处理状态用于指示所述地址分组内各个寄存器地址的数据处理进度,所述指令执行状态用于指示所述多个地址分组各自对应的数组处理进度。
8.根据权利要求7所述的方法,其特征在于,在所述对获取到的所述分组处理结果进行数据映射,得到与所述数据处理请求匹配的目标处理结果之后,还包括:
在与所述目标边缘设备之间的所述通信连接断开,但与所述目标边缘设备位于同一物联网中的参***的通信连接并未断开的情况下,记录所述目标边缘设备在断开时的数组处理状态和指令执行状态,并对所述参***内的属性数据继续进行处理。
9.根据权利要求1至8中任一项所述的方法,其特征在于,在所述获取数据处理请求之前,还包括:
为所述目标边缘设备配置属性类别信息,其中,所述属性类别信息用于指示与所述目标边缘设备关联的属性指标,及所述属性指标的属性数据所对应存储的寄存器地址的地址信息。
10.一种数据处理装置,其特征在于,包括:
获取单元,用于获取数据处理请求,其中,所述数据处理请求用于请求对物联网内目标边缘设备在目标属性类别下的属性数据进行处理;
分组单元,用于在所述目标属性类别下的属性数据所存储占用的寄存器地址的数量大于目标阈值的情况下,对所述寄存器地址进行分组,得到包含多个地址分组的分组结果,其中,所述地址分组内所包含的寄存器地址是位于同一地址段内的连续地址;
传输单元,用于在与所述目标边缘设备建立通信连接的情况下,向所述目标边缘设备发送携带有所述分组结果的数据处理指令,并接收所述目标边缘设备根据所述数据处理指令所返回的分组处理结果,其中,所述分组处理结果是对各个地址分组内的属性数据进行各自处理后得到的;
处理单元,用于对获取到的所述分组处理结果进行数据映射,得到与所述数据处理请求匹配的目标处理结果。
11.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序被处理器运行时执行所述权利要求1至9任一项中所述的方法。
12.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现所述权利要求1至9任一项中所述方法的步骤。
13.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至9任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211711887.6A CN118283116A (zh) | 2022-12-29 | 2022-12-29 | 数据处理方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211711887.6A CN118283116A (zh) | 2022-12-29 | 2022-12-29 | 数据处理方法和装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118283116A true CN118283116A (zh) | 2024-07-02 |
Family
ID=91643146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211711887.6A Pending CN118283116A (zh) | 2022-12-29 | 2022-12-29 | 数据处理方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118283116A (zh) |
-
2022
- 2022-12-29 CN CN202211711887.6A patent/CN118283116A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10496067B2 (en) | Automation and control distributed data management systems | |
US11016954B1 (en) | Distributed data set extraction for migration | |
CN108667725A (zh) | 一种基于多种接入及边缘计算的工业软网关以及实现方法 | |
CN108989358B (zh) | 一种基于tcp/ip协议纺机运行数据获取方法 | |
US20160292171A1 (en) | Shard aware near real time indexing | |
US20190324987A1 (en) | Storing and identifying metadata through extended properties in a historization system | |
CN104468274A (zh) | 一种集群监控管理方法及*** | |
CN104092770A (zh) | 基于云计算的企业内部通讯录管理方法和*** | |
CN113176948B (zh) | 边缘网关、边缘计算***及其配置方法 | |
CN113179190B (zh) | 边缘控制器、边缘计算***及其配置方法 | |
US20150363484A1 (en) | Storing and identifying metadata through extended properties in a historization system | |
CN103886508A (zh) | 海量农田数据的监控方法和*** | |
CN106537347B (zh) | 用于分发和处理流的***和方法 | |
CN110392882A (zh) | 在包括虚拟化网络功能的网络中批量创建被管功能 | |
JP5268589B2 (ja) | 情報処理装置及び情報処理装置の運用方法 | |
TW201433131A (zh) | 用於分散式系統中線上處理之網路獨立程式設計模型 | |
CN114722092A (zh) | 时序数据处理方法、***、存储介质和电子设备 | |
CN102945236A (zh) | 一种通过事件触发同步不同数据库的方法 | |
CN116701330A (zh) | 物流信息共享方法、装置、设备及存储介质 | |
CN113127526A (zh) | 一种基于Kubernetes的分布式数据存储和检索*** | |
CN104270432B (zh) | 基于钻井行业实时数据服务***及数据交互方法 | |
CN106776810B (zh) | 一种大数据的数据处理***及方法 | |
CN118283116A (zh) | 数据处理方法和装置、存储介质及电子设备 | |
US20150317330A1 (en) | Storing data to multiple storage location types in a distributed historization system | |
CN117376346A (zh) | 基于边缘计算与分布式计算的设备数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |