CN117793095A - 数据转发方法、装置、***、设备及存储介质 - Google Patents
数据转发方法、装置、***、设备及存储介质 Download PDFInfo
- Publication number
- CN117793095A CN117793095A CN202211146697.4A CN202211146697A CN117793095A CN 117793095 A CN117793095 A CN 117793095A CN 202211146697 A CN202211146697 A CN 202211146697A CN 117793095 A CN117793095 A CN 117793095A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- metadata
- edge server
- application
- 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
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000003860 storage Methods 0.000 title claims abstract description 96
- 238000012545 processing Methods 0.000 claims description 83
- 238000005192 partition Methods 0.000 claims description 64
- 238000001914 filtration Methods 0.000 claims description 60
- 238000012795 verification Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 31
- 238000004891 communication Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 19
- 238000013507 mapping Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000013480 data collection Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 238000013475 authorization Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000013506 data mapping Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据转发方法、装置、***、设备及存储介质,该方法包括:边缘服务器接收多个应用设备发送的初始数据;所述边缘服务器向所述应用设备提供边缘云服务;所述边缘服务器识别所述初始数据中的元数据以及设备运行数据;所述元数据用于描述所述应用设备的属性;所述边缘服务器对所述设备运行数据进行过滤处理,得到目标数据,向云端服务器发送所述目标数据以及所述元数据。该方案能够滤除无效信息数据,从而精准地确定出有效的目标数据,避免大量无效信息数据拖延***转发速率,提高了数据转发的准确性和有效性,同时减少了数据转发的数量,缓解了数据的转发压力,保证了数据转发的可靠性。
Description
技术领域
本发明一般涉及互联网技术领域,具体涉及一种数据转发方法、装置、***、设备及存储介质。
背景技术
随着互联网技术的快速发展,越来越多的大型工业企业逐渐向数字化转型,能够将企业的生产设备、交易过程和物理世界数字化再继续。其中,对于大型工业企业在数字化转型的过程中,可以通过建立集团与各个厂区之间的连接来实现业务协同,例如,集团设立云服务器,各厂区部署边缘服务器,由边缘服务器收集厂区设备的数据并向云服务器上报。边缘服务器通过对数据的处理和分析,实现集团与各个厂区之间的业务协同。
目前,边缘服务器可以基于消息队列(Message Queue,MQ)向云服务器转发数据,然而随着厂区设备数量的增加,这些厂区设备会产生海量的数据等待边缘服务器上传,由于数据量较多占用过多资源,导致数据转发效率低,进而影响数据传输的有效性。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种数据转发方法、装置、***、设备及存储介质,能够滤除无效信息数据,保证了数据传输的有效性,提高了数据转发的效率。
第一方面,本申请实施例提供了一种数据转发方法,该方法包括:
边缘服务器接收多个应用设备发送的初始数据;所述边缘服务器向所述应用设备提供边缘云服务;
所述边缘服务器识别所述初始数据中的元数据以及设备运行数据;所述元数据用于描述所述应用设备的属性;
所述边缘服务器对所述设备运行数据进行过滤处理,得到目标数据,向云端服务器发送所述目标数据以及所述元数据。
第二方面,本申请实施例提供了一种数据转发方法,该方法包括:
云端服务器向边缘服务器发送数据订阅请求;所述数据订阅请求包括所述目标数据的存储标识;
接收所述边缘服务器发送的所述目标数据以及元数据,根据所述元数据对所述目标数据进行数据处理;所述目标数据为所述边缘服务器对应用设备的设备运行数据进行过滤处理获得的,所述设备运行数据和所述元数据为所述边缘服务器对所述应用设备发送的初始数据进行识别获得的;
其中,所述边缘服务器向所述应用设备提供边缘云服务,所述元数据用于描述所述应用设备的属性。
第三方面,本申请实施例提供了一种数据转发装置,该装置包括:
接收模块,用于接收多个应用设备发送的初始数据;所述边缘服务器向所述应用设备提供边缘云服务;
识别模块,用于识别所述初始数据中的元数据以及设备运行数据;所述元数据用于描述所述应用设备的属性;
过滤模块,用于对所述设备运行数据进行过滤处理,得到目标数据,向云端服务器发送所述目标数据以及所述元数据。
第四方面,本申请实施例提供了一种数据转发装置,该装置包括:
发送模块,用于向边缘服务器发送数据订阅请求;所述数据订阅请求包括所述目标数据的存储标识;
处理模块,用于接收所述边缘服务器发送的所述目标数据以及元数据,根据所述元数据对所述目标数据进行数据处理;所述目标数据为所述边缘服务器对应用服务器的设备运行数据进行过滤处理获得的,所述设备运行数据和所述元数据为所述边缘服务器对所述应用服务器发送的初始数据进行识别获得的;
其中,所述边缘服务器向所述应用设备提供边缘云服务,所述元数据为所述应用设备的描述信息。
第五方面,本申请实施例提供了一种数据转发***,该***包括:边缘服务器和云端服务器;
所述边缘服务器用于接收多个应用设备发送的初始数据,并识别所述初始数据中的元数据以及设备运行数据,对所述设备运行数据进行过滤处理,得到目标数据,向云端服务器发送所述目标数据以及所述元数据;所述边缘服务器向所述应用设备提供边缘云服务;所述元数据用于描述所述应用设备的属性;
所述云端服务器用于向边缘服务器发送数据订阅请求,接收所述边缘服务器发送的所述目标数据以及元数据,根据所述元数据对所述目标数据进行数据处理。
第六方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如本申请实施例描述的数据转发方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序用于被处理器执行时实现如本申请实施例描述的数据转发方法。
第八方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品中包括指令,该指令被执行时实现如本申请实施例描述的数据转发方法。
本申请实施例提供的数据转发方法、装置、***、设备及存储介质,边缘服务器接收多个应用设备发送的初始设备,该边缘服务器向应用设备提供边缘云服务,并识别初始数据中的元数据以及设备运行数据,然后对设备运行数据进行过滤处理,得到目标数据,向云端服务器发送目标数据以及云数据。本申请中的技术方案相比于现有技术而言,一方面,通过自动识别初始数据中的元数据和设备运行数据,从而能够为后续的过滤处理提供精准的数据指导信息,以便后续有针对性地对数据进行过滤处理,在保证元数据正常上报的同时,可以缓解边缘服务器的数据转发压力。另一方面,通过对设备运行数据进行过滤处理,能够滤除一些无效信息数据,从而精准地确定出有效的目标数据,避免大量无效信息数据拖延***转发速率,提高了数据转发的准确性和有效性,同时减少了数据转发的数量,缓解了数据的转发压力,保证了数据转发的可靠性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的数据转发***的实施环境架构图;
图2为本申请实施例提供的数据转发方法的流程示意图;
图3为本申请实施例提供的数据转发方法的结构示意图;
图4为本申请实施例提供的获取初始数据的目标校验字段方法的流程示意图;
图5为本申请实施例提供的边缘服务器进行参数配置和后台服务的流程示意图;
图6为本申请实施例提供的新建任务配置界面示意图;
图7为本申请实施例提供的属性信息列表的配置界面示意图;
图8为本申请实施例提供的数据转发方法的流程示意图;
图9为本申请实施例提供的确定设备运行数据是否为目标数据方法的流程示意图;
图10为本申请实施例提供的数据转发方法的流程示意图;
图11为本申请实施例提供的获得目标校验字段的流程示意图;
图12为本申请实施例提供的对设备运行数据进行过滤的流程示意图;
图13为本申请实施例提供的数据转发方法的流程示意图;
图14为本申请实施例提供的数据转发***的流程示意图;
图15为本申请实施例提供的云端与边缘端的交互流程示意图;
图16为本申请实施例提供的数据转发***的结构示意图;
图17为本申请实施例提供的数据转发方法的流程示意图;
图18为本申请实施例提供的数据转发装置的结构示意图;
图19为本申请实施例提供的数据转发装置的结构示意图;
图20为本申请实施例提供的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
私有云(Private Cloud)是将云基础设施与软硬件资源创建在防火墙内,以供机构或企业内各部门共享数据中心内的资源。创建私有云,除了硬件资源外,一般还有云设备(IaaS,Infrastructure as a Service,基础设施即服务)软件。
私有云计算同样包含云硬件、云平台、云服务三个层次。不同的是,云硬件是用户自己的个人电脑或服务器,而非云计算厂商的数据中心。云计算厂商构建数据中心的目的是为千百万用户提供公共云服务,因此需要拥有几十上百万台服务器。私有云计算,对个人来说只服务于亲朋好友,对企业来说只服务于本企业员工以及本企业的客户和供应商,因此个人或企业自己的个人电脑或服务器已经足够用来提供云服务。
公有云(Public Cloud)通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过Internet使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开放的公有网络中提供服务。
混合云(Hybrid Cloud)融合了公有云(Public Cloud)和私有云(PrivateCloud),是近年来云计算的主要模式和发展方向。私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越来越多的采用,它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,达到了既省钱又安全的目的。
为了更清楚的描述本申请,以下为对相关技术术语的解释:
工业互联网(Industrial Internet):是新一代信息通信技术与工业经济深度融合的新型基础设施、应用模式和工业生态,通过对人、机、物、***等的全面连接,构建起覆盖全产业链、全价值链的全新创造和服务体系,为工业乃至产业数字化、网络化、智能化发展提供了实现途径,是第四次工业革命的重要基石,工业互联网围绕智能制造、智能设备、数字工厂等概念进行。
云边架构:云是指云端,可以包括公有云和私有云环境,是工业互联网平台的云端架构,一般是指集团侧;边是指边缘端,可以包括工业现场侧,一般是指厂区侧。云端架构是边缘计算的一种形态,核心点在实现云端与边缘端分离,边缘端深入厂区,进行设备数据采集、数据处理、数据计算、数据分析、AI预测、利用边缘优势,计算下沉,加快数据在边缘侧处理速度,云端定位数据汇总、报表、数字孪生,边缘侧将采集、处理的设备数据、资产数据汇总云端,完成整个平台能力。云边边架构加速企业,尤其集团模式架构企业信息化转型,适应不同新的生态。
消息队列:MQ(Message Queue),是基础数据结构中“先进先出”的一种数据结构,指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递,即生产者产生消息把消息放入队列,然后由消费者去处理,消费者可以到指定队列拉取消息,或者订阅相应的队列,由MQ服务端给其推送消息。
kafka:是一个多分区、多副本且基于zookeeper协调的分布式消息***。也是一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。一个典型的kafka体系架构包括若干Producer(生产者)、Broker(服务代理节点)、Consumer(消费者),以及一个ZooKeeper集群,其中,ZooKeeper是用来负责集群元数据的管理、控制器的选举等操作。Producer将消息发送到Broker,Broker可以作为一个独立的kafka服务实例,负责将接收到的消息存储到磁盘中,而Consumer负责从Broker订阅并消费消息。
可以理解,随着工业互联网与制造生产的深度融合,工业智能应用对制造业数字化、信息化转型的驱动能力逐渐显现。其中,快速发展的边缘计算和人工智能技术正成为工业企业全面转型的重要推动力。为了推动业务协同中数据之间的交互,对数据转发处理显得尤为重要。目前,相关技术中一种方式可以采用http接口同步方式进行数据转发,然而该http是单向接口,仅能够同步传输有限数据量,无法进行海量数据实时转发;另一种方式可以采用MQ的方式实现数据转发,但是当存在海量的不同设备数据时,由于数据量较多导致数据转发效率低,进而影响数据传输的有效性。
基于上述缺陷,本申请实施例提供了一种数据转发方法,与现有技术相比,通过自动识别初始数据中的元数据和设备运行数据,从而能够为后续的过滤处理提供精准的数据指导信息,以便后续有针对性地对数据进行过滤处理,在保证元数据正常上报的同时,可以缓解边缘服务器的数据转发压力,并且通过对设备运行数据进行过滤处理,能够滤除一些无效信息数据,从而精准地确定出有效的目标数据,避免大量无效信息数据拖延***转发速率,提高了数据转发的准确性和有效性,同时减少了数据转发的数量,缓解了数据的转发压力,保证了数据转发的可靠性。
请参见图1,图1示出了本申请实施例提供的数据转发***的***架构图。如图1所示,该***架构包括:边缘服务器10和云端服务器20,该边缘服务器10的数量可以是一个,也可以是两个或多个,甚至更多。
其中,上述边缘服务器10用于采集各个应用设备的数据(例如,设备温度、压力值、转速等),并进行转发任务管理、数据过滤、数据规则配置、数据存储和数据发布等。上述云端服务器10用于进行数据订阅、数据解析与存储、数据服务等。其中,数据服务例如可以是对数据进行分析和处理,以实现业务需求。示例性地,边缘服务器10可以对数据进行配置处理,实现可视化。
本申请实施例提供的数据转发方案,可以包括但不限于内容分发网络(ContentDelivery Network,CDN)业务,也可以应用于边缘云计算、分布式云服务等业务场景,或者其他适用此技术架构的多个场景中。例如可以应用于常见的工业企业业务处理场景中。其中,该工业企业可以一般包括分布在不同区域的集团和多个厂区(或分公司)。可以理解的是,上述云端服务器20可以作为中心节点,设置在集团所在区域,上述边缘服务器10可以设置在厂区(或分公司)所在区域,每个厂区(或分公司)所在区域可以对应设置有一个或多个边缘服务器10。集团所在区域可以对应设置有一个或多个云端服务器20。
可选的,上述边缘服务器10和云端服务器20均可以被配置在独立的物理服务器上,也可以是多个物理服务器组成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
上述边缘服务器10还可以包括配置接口,边缘服务器的运维人员或管理人员可以通过配置接口访问边缘服务器10。该配置接口包括图形用户界面(graphical userinterface,GUI)或应用程序接口(application programming interface,API)。GUI可以是配置界面。其中,可以通过配置界面提供初始数据、转发任务表和任务更新状态的显示,另外,可以基于应用程序接口将目标数据发送至云端服务器20。
边缘服务器10与云端服务器20之间通过无线网络建立通信连接。可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan AreaNetwork,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。
进一步地,上述***还可以包括应用设备30,边缘服务器10与对应的应用设备30建立通信连接,例如可以通过modbus通信协议进行数据通信,也可以采用opc通信协议进行数据通信,还可以采用其他通信协议进行数据通信,本申请实施例对此不进行任何限定。边缘服务器10可以为靠近应用设备30部署的计算节点,具备缓存数据、计算数据等能力。
其中,modbus是一种工业控制总线协议,可以应用于工业现场,该modbus协议可以包括Modbus-RTU,ASCII,TCP三种报文类型。opc是一种利用COM/DCOM技术来达成自动化控制的协定,利用典型的C/S模式,用于将PLC特定协议(如Modbus等)抽象为标准化接口,实现应用设备30与边缘服务器10之间的通信。
可选的,该应用设备30可以包括可编程逻辑控制器(Programmable LogicController,PLC)、上位机、工业网关等设备,还可以是光网络单元(optical networkunit,ONU),光线路终端(optical line terminal,OLT),电缆调制解调器(cable modem,CM),以及无线局域网(wireless local area networks,WLAN)中的站点(station,STA),接入点(access point,AP)等。应用设备30也可以是进行边缘服务对应的用户所使用的终端。
为了更好的理解和说明本申请实施例提供的数据转发方法,下面通过图2至图20详细解释说明。
图2为本申请实施例提供的数据转发方法的流程示意图,如图2所示,该方法可以由边缘服务器执行,该方法包括:
S101、边缘服务器接收多个应用设备发送的初始数据;边缘服务器向应用设备提供边缘云服务。
需要说明的是,上述初始数据是指采集到的应用设备对应的数据,可以是在多个采集频率或多个采集周期进行采集得到的。其中,多个采集频率可以表征多个可用的采集间隔,多个采集周期可以表征多个可用的采集间隔。可以根据从多个可用的采集间隔中确定的采集间隔采集应用设备的数据。
每个边缘服务器可以对应连接有多个应用设备,并为多个应用设备中的每个应用设备提供边缘云服务,可以获取到多个应用设备的数据。
其中,该初始数据可以包括元数据,还可以包括设备运行数据。元数据是指应用设备的属性描述数据;设备运行数据是指应用设备在运行操作过程中产生的数据。
作为一种可选的实现方式,可以向应用设备发送数据获取请求,该数据获取请求可以包括应用设备对应的设备标识,然后使得应用设备响应于该数据获取请求,基于设备标识将获取的初始数据发送至边缘服务器,使得边缘服务器接收到多个应用设备发送的初始数据。
作为另一种可选的实现方式,可以根据数据采集策略采集到应用设备对应的初始数据,然后将该初始数据存储至消息中间件中,边缘服务器通过向消息中间件发送数据订阅请求,该数据订阅请求中可以携带有对应的初始数据的存储空间标识,然后使得消息中间件响应于该数据订阅请求,基于存储空间标识获取到多个应用设备对应的初始数据,并发送至边缘服务器,从而使得边缘服务器接收到多个应用设备发送的初始数据。
其中,该消息中间件例如可以是kafka,上述数据采集策略可以是根据边缘服务器的能力信息和实际数据规格需求自定义设置的。该数据采集策略可以包括以下至少一项:初始数据的采集间隔指示信息、数据压缩算法、数据上报周期(或频率)等。采集间隔指示信息可以是多个采集周期或多个采集频率,采集周期或采集频率可以表征采集间隔。数据上报周围为消息中间件上报初始数据的周期,数据上报周期与采集周期相同或不同。数据上报频率为消息中间件上报初始数据的频率。数据压缩算法用于对采集到的应用设备的初始数据进行压缩,然后可以将压缩后的初始数据发送给边缘服务器。
S102、边缘服务器识别初始数据中的元数据以及设备运行数据;元数据用于描述应用设备的属性。
上述初始数据可以是以不同的数据格式进行表示,该数据格式可以是边缘服务器解析得到的具有固定规律的格式,例如可以是xml格式、html格式、csv格式等。
边缘服务器在获取到初始数据后,可以通过预设的数据识别规则对初始数据进行识别处理,得到初始数据中的元数据以及设备运行数据。其中,元数据用于描述应用设备的属性,应用设备的属性可以描述应用设备的初始数据的物理含义、数据格式、数据精度、数据取值范围。示例性的,初始数据的物理含义可以是温度、压力值、转速、流量等;数据格式可以是整数、浮点数等;数据的精度可以是0.001、0.01等;数据的取值范围可以是数值大小范围。例如元数据可以包括设备属性参考信息、设备物模型、资产属性信息等。设备运行数据是设备实时运行时所产生的数据,例如可以包括设备属性数据、设备资产数据、设备流计算数据等。
可选的,上述数据识别规则是指根据不同的数据格式,对初始数据预先设置的数据识别策略,也可以是训练后的数据识别模型,还可以是数据识别算法等。其中,该数据识别策略是指根据实际数据特征预先设置的用于进行数据识别的策略,例如可以包括数据特征与数据之间的映射关系,该数据特征可以是字段特征。不同的数据特征与数据之间存在不同的映射关系。
作为一种可实现方式,可以获取初始数据的数据特征(例如字段格式),然后根据数据特征与数据之间的映射关系,例如该初始数据包括十个字段,映射关系可以是根据字段的存储顺序对应不同的数据内容,前三个字段对应的数据为对应的元数据,后七个字段对应的数据为设备运行数据。
作为另一种可实现方式,可以通过数据识别模型对初始数据进行数数据识别处理,得到元数据和设备运行数据。其中,数据识别模型是通过对样本数据进行训练,从而学习到具备数据识别能力的网络结构模型。数据识别模型是输入为初始数据,输出为元数据以及设备运行数据,且具有对初始数据进行数据识别的能力,是能够识别数据类型的神经网络模型。数据识别模型可以包括多层网络结构,不同层的网络结构对输入其的数据进行不同的处理,并将其输出结果传输至下一网络层,直至通过最后一个网络层进行处理,得到元数据以及设备运行数据。
需要说明的是,上述对初始数据进行数据识别,得到元数据和设备运行数据的各个实现方式仅仅是作为一种示例,本申请实施例对此不做限定。
本实施例中边缘服务器识别初始数据中的元数据和设备运行数据,能够为后续的过滤操作提供精准的数据指导信息,以缓解数据转发的传输压力。
S103、边缘服务器对设备运行数据进行过滤处理,得到目标数据,向云端服务器发送目标数据以及元数据。
需要说明的是,上述目标数据是指需要向云端服务器进行数据转发的有效数据,可以包括云端服务器订阅的数据。
在基于初始数据识别出设备运行数据后,可以对设备运行数据进行过滤处理,去除设备运行数据中的无效数据,无效数据是指云端服务器未进行订阅的数据或重复数据,例如可以是重复设备数据,还可以是无效设备数据。该重复设备数据可以包括冗余字符、重复字段。
可以理解的是,边缘服务器在获取设备运行数据的过程中,该设备运行数据不仅包括需要云端服务器已经订阅的数据,也可以云端服务器未进行订阅的数据,此时需要对设备运行数据进行过滤处理,可以采用预设的过滤算法进行过滤处理,消除冗余的无效数据,确定出有效的目标数据。其中,上述过滤算法可以是布隆过滤器对应的算法。
作为一种可选的实施方式,可以将获取到的设备运行数据进行归类汇总得到运行数据表,并对其进行置信度计算,得到对应的置信度得分列表,然后设定阈值,该阈值用于删除无效数据。可以先根据置信度得分进行排序,选择置信度最高的设备运行数据添加至最终输出目标数据列表中,将其从运行数据表中删除,计算其他所有设备运行数据与置信度最高的设备运行数据之间的数据重叠度,删除数据重叠度大于阈值的设备运行数据,并重复上述过程,直至运行数据表为空,进而得到目标数据。
例如:获取的运行数据表中有六个设备运行数据,假设六个设备运行数据在置信度得分列表按照从小到大的顺序,对应的置信度分别为:A、B、C、D、E、F。可以从最大置信度设备运行数据的置信度F开始,分别判断置信度为A~E的设备运行数据与置信度为F的设备运行数据的重叠度是否大于设定的阈值,假设置信度为B、D与置信度为F的重叠度超过阈值,则去掉置信度为B、D的设备运行数据,标记并保留置信度为F的设备运行数据为第一个目标数据,然后从剩下的置信度为A、C、E的设备运行数据中,选取置信度最大的E,然后判断置信度为E的设备运行数据与置信度为A、C的重叠度,当重叠度大于设定的阈值时,则去掉置信度为A、C的设备运行数据,标记并保留置信度为E的设备运行数据为第二个目标数据,通过重复上述过程,即可确定出被保留下来的设备运行数据,即可得到对应的目标数据。
作为另一种可选的实施方式,可以预先配置多个转发任务,每个转发任务配置有对应的数据采集参数,并将数据采集参数作为元素加入集合,可以通过k个散列函数对数据采集参数进行哈希处理,将这个元素映射成一个二进制向量或位数组中的k个点,把它们置为1。然后可以采用布隆过滤器对设备运行数据进行过滤处理,判断该设备运行数据是否在集合中,可以通过k个散列函数对设备运行数据进行哈希处理,得到对应的二进制向量或位数组中的k个点,然后查看这些点是否都为1,如果这些点中均为1,则表示设备运行数据存在于该集合中的数据采集参数,即属于转发任务;如果这些点中存在任何一个点为0时,则表示设备运行数据不存在于该集合中,即不属于转发任务中的数据采集参数,并将属于转发任务中的数据采集参数的设备运行数据作为目标数据。
需要说明的是,布隆过滤器是一种空间效率极高的概率型算法和数据结构,包括一个很长的二进制向量和一些随机映射函数,用于判断一个元素是否在集合中。
作为又一种可选的实施方式,边缘服务器对设备运行数据进行过滤处理,可以进行两次过滤的方式,先采用布隆过滤器对设备运行数据进行初次过滤处理,判断该设备运行数据是否可能为转发任务,当确定该设备运行数据可能为转发任务时,然后通过从缓存中查询设备运行数据是否属于转发任务中的数据采集参数,通过将设备运行数据中的数据特征与转发任务中的数据采集参数进行比对的方式进行二次过滤,例如当设备运行数据中的数据特征与转发任务中的数据采集参数比对一致时,确定该设备运行数据属于转发任务中的数据采集参数;当设备运行数据中的数据特征与转发任务中的数据采集参数比对不一致时,确定该设备运行数据不属于转发任务中的数据采集参数,即将属于转发任务中的数据采集参数的设备运行数据作为目标数据。
请参见图3所示,边缘服务器在接收到多个应用设备发送的初始数据3-1后,可以进行识别处理,得到初始数据中的元数据3-2以及设备运行数据3-3,并对设备运行数据3-3进行过滤处理,得到目标数据3-4,然后可以将目标数据3-4和以及元数据3-2发送至云端服务器。可选的,在识别初始数据中的元数据以及设备运行数据之后,可以先将元数据3-2同步发送至云端服务器,并对设备运行数据3-3进行过滤处理,得到目标数据3-4,然后可以将目标数据3-4发送至云端服务器。
本申请实施例提供的数据转发方法,相比于现有技术而言,一方面,通过自动识别初始数据中的元数据和设备运行数据,从而能够为后续的过滤处理操作提供精准的数据指导信息,以便后续有针对性地对数据进行过滤处理,在保证元数据正常上报的同时,可以缓解边缘服务器进行数据转发的传输压力。另一方面,通过对设备运行数据进行过滤处理,能够滤除一些无效信息数据,从而精准地确定出有效的目标数据,避免大量无效信息数据拖延***转发速率,提高了数据转发的准确性和有效性,同时减少了数据转发的数量,缓解了数据的转发压力,保证了数据转发的可靠性。
在本申请的另一实施例中,边缘服务器在确定出目标数据后,可以将目标数据存储至目标分区,为目标数据分配与目标分区对应的存储标识。
需要说明的是,上述目标分区是指用于存储目标数据的存储分区,上述存储标识用于唯一表征目标分区对应的身份信息。上述目标分区和存储标识可以是消息中间件中的。
具体的,作为一种可实现方式,在确定出目标数据后,可以获取消息中间件中剩余的存储分区空间大小,根据剩余的存储分区空间大小判断剩余的存储分区是否符合目标数据的存储要求,从而确定出符合目标数据存储要求的目标分区,然后将目标数据存储至消息中间件中的目标分区,并为目标数据分配与目标分区对应的存储标识。
作为另一种可实现方式,也可以是云端服务器与边缘服务器预先设置好的数据存储规则,当边缘服务器在确定出目标数据后,可以根据该预先设置的数据存储规则将目标数据存储至目标分区,并为目标数据分配与目标分区对应的存储标识。其中,该数据存储规则可以是一种数据存储协议,也可以是一种数据存储算法等。
可选的,上述消息中间件例如可以是kafka,在确定出目标数据后,可以从kafka中确定出目标分区,该目标分区例如可以是Partition,然后为目标数据分配与目标分区Partition对应的存储标识。其中,kafka中的数据是以主题topic进行归类,边缘服务器将目标数据发送到kafka中特定的主题topic下的对应目标分区Partition,云端服务器消费特定主题topic下对应目标分区Partition中的目标数据,不同业务就可以用同一个kafka集群。
可以理解的是,Parrtition可以理解为队列,一个主题topic下可以有一个或者多个分区Partition,目标数据进入分区Partition后会对应分配有一个offset(偏移量),该offset是目标数据在分区Partition中的唯一存储标识,kafka通过它保证目标数据在分区中的顺序性,但是不能跨越分区,kafka保证的是分区有序,而不是主题有序。
在本申请的另一实施例中,在云端服务器发送目标数据及元数据之前,还可以接收云端服务器发送的数据订阅请求,该数据订阅请求包括目标数据的存储标识,然后基于存储标识从目标分区中获取目标数据。
需要说明的是,云端服务器需要获取边缘服务器发送的目标数据,可以通过数据订阅的方式从消息中间件中获取,例如向边缘服务器发送数据订阅请求,使得边缘服务器接收到云端服务器发送的数据订阅请求,并响应于该数据订阅请求,然后基于存储标识从消息中间件中的目标分区中获取目标数据,进而将目标数据和元数据发送至云端服务器。
其中,上述数据订阅请求可以是边缘服务器未将目标数据存储至目标分区时,云端服务器预先发送至边缘服务器的;也可以是边缘服务器将目标数据存储至目标分区后,云端服务器发送至边缘服务器的。
本实施例中通过边缘服务器将目标数据存储至目标分区,并为目标数据分配与目标分区对应的存储标识,能够精准地获取到目标数据,以快速发送至云端服务器。
在本申请的另一实施例中,请参见图4所示,在边缘服务器接收多个应用设备发送的初始数据之前,还包括如下方法:
S201、通过配置接口获取应用设备的数据采集参数,该数据采集参数包括数据采集任务标识、应用设备的标识以及应用设备的属性中的至少一项。
S202、对数据采集参数进行第一哈希处理,获取初始数据的目标校验字段。
需要说明的是,上述配置接口包括任务标识配置项、与任务标识配置项关联的设备标识配置项以及与任务标识配置项关联的设备属性配置项。任务标识配置项用于获取数据采集任务标识,设备标识配置项用于获取应用设备的标识,设备属性配置项用于获取应用设备的属性。
其中,边缘服务器可以提供给用户可执行操作的配置界面,使得用户在配置界面上执行任务标识配置项、与任务标识配置项对应的设备标识配置项、与任务标识配置项对应的设备属性配置项、转发规则配置项的配置操作。该用户可以是具有操作权限的管理员或其他用户。
可选的,用户在配置界面上执行任务标识配置项、与任务标识配置项对应的设备标识配置项、与任务标识配置项对应的设备属性配置项的配置操作的过程中,可以是通过点击、触摸、滑动、长按等操作配置界面上对应控件的方式执行。
可以理解的是,上述设备标识用于唯一表示应用设备的身份信息,上述数据采集任务标识用于唯一表示数据采集任务的身份信息,上述应用设备的属性可以包括采集的应用设备的数据的物理含义、采集的应用设备的数据的格式、采集的应用设备的数据的精度、采集的应用设备的数据的取值范围。其中,上述物理含义例如可以是应用设备的温度、湿度、压力值、转速等信息。
作为一种可实现方式,请参见图5所示,当用户需要进行任务新建时,可以在配置界面上新建转发任务,这时,配置界面上会显示相应的任务信息项,该任务信息包括数据源、转发服务信息地址、topic等,当用户根据实际需求执行选择转发服务信息地址、topic后,然后进行转发点位配置,该转发点位用于表征应用设备对应属性的描述信息,例如可以是应用设备的转速、温度、压力值等,从而完成了新建任务的配置操作,进而将新建任务的数据采集参数存储至数据库中,并将其同步更新存储至缓存Redis中。
作为另一种可实现方式,当用户需要进行任务更新时,可以在配置界面上进行任务更新操作,配置界面上会显示相应的任务更新项,该任务更新项可以包括是否启动状态更新,当用户选择启动状态更新时,配置界面上会显示相应的转发配置信息项,该转发配置项中可以包括点位选择,用户可以进行点位选择,从而完成任务更新操作,进而将任务更新的数据采集参数存储至数据库中,并将其同步更新存储至缓存Redis中。
作为又一种可实现方式,当用户需要对任务进行任务开启时,可以在配置界面上进行任务开启操作,这时配置界面上会显示相应的任务开启选择项,该任务开启选择项可以包括实时任务开启项和定时任务开启项,例如当用户选择了定时任务开启项时,从而完成任务开启操作,进而可以将任务的定时信息和对应的数据采集参数存储至数据库中,并将其同步更新存储至缓存Redis中。
需要说明的是,上述Redis是一个开源的使用c语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis是一个key-value存储***。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set--有序集合)和hash(哈希类型)。本申请实施例中,Redis可以是以key-set进行存储数据,其中,key-set可以是指数据采集参数的集合,例如可以是设备的标识(设备ID)与对应数据采集任务标识的集合,也可以是数据采集任务标识(任务ID)与对应的应用设备属性的集合,还可以是数据采集任务标识与对应的哈希表属性的集合,其中,哈希表属性可以是根据数据采集参数进行哈希处理后得到的。
其中,当边缘服务器的后台服务进程启动时,可以从数据库中查询转发任务且转发任务为开启状态时,根据转发任务,初始化转发任务实例、kafka句柄、producer实例,从而形成映射集合,该kafka句柄用于提供数据传输的通道,并将该任务更新至缓存redis中。当定时任务启动时,可以从数据库定时查询新增转发任务,然后更新kafka连接句柄、producer实例,形成映射集合,并将任务更新至缓存redis中。
当边缘服务器的数据订阅与转发服务开启时,可以从kafka-cluster中订阅topic的方式获取初始数据,然后解析topic对应的消息MSG,并识别出元数据和设备运行数据,通过布隆过滤器对设备运行数据进行筛选过滤,以确定该设备运行数据是否可能为转发任务,当确定出该设备运行数据可能为转发任务时,然后从缓存redis中进行查询,通过获取配置的数据采集参数,并查询配置的据采集参数是否与设备运行数据匹配,该数据采集参数可以包括属性集,将匹配一致的设备运行数据确定为目标数据,然后将目标数据和元数据进行转发至kafka-cluster中。
可选的,请参见图6所示,图6为新建任务的配置界面示意图,该配置界面上包括新建转发任务的任务信息和对应的配置项,该任务信息可以包括数据源、任务信息地址和转发任务属性,其中,每个任务信息对应一个配置项,例如数据源对应的配置项为p1,任务信息地址对应的配置项为p2,转发任务属性对应的配置项为p3,用户可以根据需求根据配置界面上的任务信息,并勾选与任务信息对应的配置项,例如用户可以选择勾选数据源对应的配置项p1,也可以选择勾选转发任务属性对应的配置项p3,然后点击“保存”按钮,从而将该选择的任务信息进行保存。请参见图7所示,图7为属性信息列表的配置界面示意图,该配置界面上包括属性信息对应的类型选项、与类型选项对应的逻辑选项、与类型选项对应的参数输入项和新增选型,其中,用户可以根据实际需求进行类型选项、逻辑选项和参数输入项的选择,例如选择类型选项为“压力值”,逻辑选项为“包含”,对应的参数输入项可以为10;选择类型选项为“转速”,逻辑选项为“等于”,对应的参数输入项可以为500。
其中,通过“新增”选项可以增加相应的属性信息,该属性信息可以包括类型选型、与类型选项对应的逻辑选项和与类型选项对应的参数输入项,在配置完属性参数后,点击“保存”,从而完成属性信息列表的配置操作。
本实施例中,用户在配置界面执行相应配置操作后,使得边缘服务器通过配置接口获取应用设备的数据采集参数,并对数据采集参数进行第一哈希处理,得到初始数据的目标校验字段。
其中,上述通过配置接口获取的数据采集参数是用户在配置界面配置的应用设备的采集参数,可以包括采集任务标识、应用设备的标识以及应用设备的属性中的至少一项。上述目标校验字段是用于对设备运行数据进行过滤时对应的参考字段。该目标校验字段可以是以二进制向量的形式,包括多个比特位,每个比特位对应有比特值;也可以是索引数组的形式,包括多个索引值。
在对数据采集参数进行第一哈希处理的过程中,可以对数据采集参数进行N次哈希处理,获得N个运算结果,并将预设校验字段中与N个运算结果对应的N个比特位置为预设值,获得目标校验字段。
上述预设校验字段是指M个长度的字段,M为任意正整数,包括M个比特位,每个比特位对应的值相同。预设值可以是任意正整数值,例如可以是1或0。上述目标校验字段是指M个长度的字段,可以根据哈希运算的运算结果设置字段中的比特位对应的值,其中,该校验字段中运算结果对应的比特位的值相同,非运算结果对应的其他比特位的值相同。
可选的,可以采用哈希函数或哈希算法对数据采集参数进行第一哈希处理,例如可以是对数据采集任务标识进行N次哈希运算,也可以是对应用设备的标识进行N次哈希运算,得到N个运算结果,N为正整数。
示例性的,假设预设校验字段为长度为6的字段xxxxxx,例如初始值为000000,当获取的数据采集参数为数据采集任务标识taskid时,可以通过哈希函数对数据采集任务标识taskid进行三次哈希运算,得到三个运算结果,该三个运算结果例如可以是2、5、6,然后在布隆过滤器中将预设校验字段000000中与3个运算结果对应的3个比特位置为预设值,假设预设值为1,即将预设校验字段000000中第2个比特位、第5个比特位、第6个比特位置为1,从而得到目标校验字段为010011。
请参见图8所示,边缘服务器提供了配置接口使得边缘端用户可以进行配置数据采集参数,包括用户添加转发任务,选择转发设备与点位信息,添加转发数据源等操作产生的参数,该配置接口例如可以包括配置界面。用户可以先通过在配置界面上执行转发任务添加操作,并进行转发设备与点位选择,然后在配置界面上向用户显示设备清单信息,用户可以根据该设备清单信息,继续进行设备选择、转发设备与点位信息选择,转发数据源添加等操作,完成任务添加的配置操作,当转发任务添加成功后,在配置界面上返回添加成功的提示信息。用户可以继续在配置界面上执行开启转发任务操作,例如可以包括实时开启和定时开启选项,例如用户根据实际需求进行选择定时开启选项,以开启转发任务的启动状态,并在配置界面上返回开启成功的提示信息。
当定时任务开启后,将开启成功的新任务存储至数据库,然后返回任务信息,该任务信息可以包括数据采集参数,该数据采集参数可以包括应用设备的标识、转发任务的标识、应用设备的属性等,并新增同步任务,从而实现应用设备与转发任务的映射关系、任务标识与应用设备属性等的映射操作,获取布隆过滤器,并将任务信息、属性信息和布隆过滤器写入缓存redis中,这时,缓存redis可以返回写入成功的回应信息。
由于消息中间件kafka中是以消息队列MQ的数据格式进行存储应用设备的采集数据,当定时任务启动后,边缘服务器可以通过topic-data-receive的获取方式向消息中间件kafka发送数据获取请求,从而使得消息中间件kafka响应于该数据获取请求,根据存储标识从topic对应的消息队列MQ中获取对应的偏移数据,并将偏移数据返回至边缘服务器,该偏移数据即为初始数据,使得边缘服务器获取到初始数据。
边缘服务器在获取到初始数据后,可以对初始数据进行解析消息msg,识别初始数据中的元数据和设备运行数据,然后基于预先存储在缓存中的布隆过滤器,对设备运行数据进行筛选和过滤处理,确定该设备运行数据是否为转发任务,可以通过获取应用设备标识,并查询解析转发任务,根据转发任务解析应用设备属性,当应用设备属性匹配后,将设备运行数据中匹配一致的数据作为目标数据;也可以基于缓存进行查询,先从缓存中获取数据采集参数,并将数据采集参数与对消息MSG进行解析得到的结果进行匹配,将设备运行数据中匹配一致的数据作为目标数据,然后边缘服务器将目标数据和元数据发送至消息中间件kafka,消息中间件kafka生成回应信息ACK并发送至边缘服务器。
在本申请的另一实施例中,提供了边缘服务器对设备运行数据进行过滤处理的具体实现方式,在上述实施例的基础上,图9为本申请实施例提供的对设备运行数据进行过滤处理方法的流程示意图。请参见图9所示,该方法包括:
S301、根据初始数据中的元数据确定初始数据对应的应用设备,对应用设备的数据采集参数进行第二哈希处理,获得检验比特位。
需要说明的是,上述应用设备的数据采集参数可以是从消息中间件中获取的采集参数,该应用设备的数据采集参数例如可以包括应用设备的标识、任务标识以及应用设备的属性中的至少一项。
具体的,当获取到初始数据后,识别出初始数据中的元数据以及设备运行数据,然后根据初始数据中的元数据确定初始数据对应的应用设备,该元数据用于描述应用设备的属性,例如可以根据属性信息确定对应的应用设备,然后获取应用设备的实时运行数据,该实时运行数据中包括应用设备的数据采集参数,并对应用设备的数据采集参数进行第二哈希处理,得到校验比特位。
可以理解的是,上述校验比特位是指需要与目标校验字段中比特位进行校验的比特位。该校验比特位的位数与第二次哈希处理的次数相同,当第二次哈希处理的次数是三次时,则得到的校验比特位是三位;该校验比特位的值与第二哈希处理得到的结果相同,当第二哈希处理得到的结果分别为1、3和5时,则校验比特位的值分别为目标校验字段中的第1个比特位,第3个比特位和第5个比特位。
可选的,可以采用哈希函数或哈希算法对应用设备的数据采集参数进行第二哈希处理,例如可以是对数据采集任务标识进行N次哈希运算,也可以是对应用设备的标识进行N次哈希运算,得到N个哈希结果,该N个哈希结果对应N个校验比特位,N为正整数。其中,该第二哈希处理的次数与第一哈希处理的次数相同,即第一哈希处理得到的运算结果的数量与第二哈希处理得到的哈希结果的数量也相同。
S302、根据校验比特位对目标校验字段进行验证,根据验证结果确定设备运行数据是否为目标数据。
具体的,在得到校验比特位后,需要根据校验比特位对目标校验字段进行验证,通过查看目标校验字段中校验比特位的值是否为预设值,如果目标校验字段中校验比特位的值为预设值,则根据设备运行数据确定目标数据,如果不是,则丢弃设备运行数据。
作为一种可实现方式,在根据设备运行数据确定目标数据的过程中,可以直接确定设备运行数据为目标数据。作为另一种可实现方式,可以是在设备运行数据与初始数据对应配置的应用设备的数据采集参数匹配的情况下,确定设备运行数据为目标数据,即可以将设备运行数据与初始数据对应配置的应用设备的数据采集参数进行逐一比对,例如判断应用设备标识是否一致、应用设备的属性信息是否一致等,将设备运行数据中与初始数据对应配置的应用设备的数据采集参数比对一致的数据确定为目标数据。并且在确定出目标数据后,然后将目标数据和元数据发送至云端服务器。
需要说明的是,上述初始数据对应配置的应用设备的数据采集参数是预先在配置界面上为应用设备配置的一些采集参数,可以存储在缓存中,也可以存储在数据库中。该初始数据对应配置的应用设备的数据采集参数例如可以是应用设备的属性信息、应用设备的标识、应用设备的服务地址等。
示例性地,图10为本申请实施例提供的数据转发方法的流程示意图,如图10所示,边缘服务器提供了配置接口使得边缘端用户可以进行配置数据采集参数,包括用户添加转发任务,可以先通过在配置界面上执行转发任务添加操作,并进行转发设备与点位选择,然后返回给用户在配置界面上显示设备清单信息,用户可以根据设备清单信息在配置界面进行选择设备、选择转发设备与属性信息,添加转发数据源等操作,完成任务添加的配置操作,当转发任务添加成功后,在配置界面上返回添加成功的提示信息。然后获取数据采集参数和布隆过滤器,该数据采集参数可以包括应用设备的标识与任务标识的映射关系,任务标识与应用设备的属性信息,并将该数据采集参数和布隆过滤器存储至缓存中Redis中,这时,缓存redis可以返回写入成功的回应信息。
边缘服务器通过配置接口获取应用设备的数据采集参数,并对数据采集参数进行第一哈希处理,例如数据采集参数包括设备id,则对设备id进行三次哈希hash运算处理,得到三个运算结果,该三个运算结果为预设校验字段中的三个布隆位置,并预设校验字段中与三个运算结果对应的三个比特位bit置为预设值,获得目标校验字段,从而缓存返回写入成功的结果。
边缘服务器可以向消息中间件kafka中发送设备数据订阅请求,使得消息中间件kafka响应于该设备数据订阅请求,获取初始数据并发送至边缘服务器,使得边缘服务器获取初始数据,然后对初始数据进行解析消息msg,识别初始数据中的元数据和设备运行数据,并对设备运行数据进行筛选和过滤处理,具体是通过获取设备运行数据中的设备id,对设备运行数据中的设备id进行第二哈希hash处理,例如可以是对设备id进行三次哈希处理,得到哈希结果,将该哈希结果作为校验比特位,然后获取布隆过滤器进行查询,根据校验比特位对目标校验字段进行验证,需要根据校验比特位对目标校验字段进行验证,查看目标校验字段中校验比特位的值是否为预设值,如果目标校验字段中校验比特位的值为预设值,则根据设备运行数据确定目标数据,如果不是,则丢弃设备运行数据。
在根据设备运行数据确定目标数据的过程中,可以从缓存中获取预先在配置界面上为应用设备配置的一些采集参数,然后根据该配置的数据采集参数与设备运行数据中的参数信息进行匹配,如果匹配一致时,则将设备运行数据中匹配一致的数据作为目标数据,然后将目标数据存储至目标分区,为目标数据分配与目标分区对应的存储标识,该存储标识例如为offset,然后将目标数据进行发布至消息中间件kafka中,消息中间件kafka生成回应信息ACK并发送至边缘服务器。
进一步地,在上述实施例的基础上,本实施例提供了通过布隆过滤器和Redis缓存对对设备运行数据进行过滤的具体实现方式。
请参见图11所示,边缘服务器可以通过配置接口获取应用设备的数据采集参数,该配置的数据采集参数例如可以是taskid,该taskid例如是xxxwwwzz,且布隆过滤器中在写入前的预设校验字段为000000,然后对taskid进行三次哈希运算处理,得到三个运算结果,该三个运算结果例如是2、5、6,并在布隆过滤器中将预设校验字段000000中与三个运算结果对应的3个比特位置为预设值1,获得目标校验字段,即得到的目标校验字段为010011,并在布隆过滤器中存储该目标校验字段。
请参见图12所示,当获取到设备运行数据后,可以识别初始数据中的元数据和设备运行数据,然后根据初始数据中的元数据确定初始数据对应的应用设备,对应用设备的数据采集参数进行第二哈希处理,以确定布隆位置,该应用设备的数据采集参数例如可以是taskID,对taskID进行三次哈希处理,得到taskID的哈希hash值,该hash值例如是1、3、5,即得到的校验比特位分别为第1位、第3位和第5位,即布隆位置分别为第1位、第3位和第5位,然后通过布隆过滤器进行查询,判断目标校验字段中校验比特位的值是否为预设值,并对该多个值进行“与”运算判断是否等于1,如果不等于1,则确定布隆过滤器中不存在该设备运行数据,即该设备运行数据不为目标数据,丢弃该设备运行数据,例如判断目标校验字段010011中校验比特位第1位、第3位和第5位的值是否为预设值1,得到校验比特位对应的多个值分别为0、0、1,即不等于1,则舍弃该设备运行数据。
如果该比特位的多个值进行“与”运算判断后等于1,则进一步基于缓存redis中进行查询,从缓存redis中获取预先配置的应用设备的数据采集参数,其可以是从数据库中同步获取得到的,然后根据配置的应用设备的数据采集参数与设备运行数据中的数据采集参数进行匹配,可以是从预先配置的任务信息中查询配置的应用设备的数据采集参数,将设备运行数据中无法匹配或匹配不一致的数据确定为配置的应用设备的数据采集参数中不存在,则丢弃该数据;将设备运行数据中匹配一致的数据作为目标数据,然后将目标数据和元数据进行数据映射处理,并进行数据转发至云端服务器。
另外,在获取设备运行数据后,如果直接查询缓存中配置的数据采集参数,不进行布隆过滤器过滤操作,则会因为大量无效的不存在数据造成缓存击穿。
本实施例中先通过布隆过滤器对设备运行数据进行初次过滤处理,能够稳定有效地进行过滤,将大量无效的数据进行去除,从而得到有效的转发数据,提高了数据转发的有效性,并通过redis缓存对设备运行数据进行二次过滤处理,能够有效避免缓存击穿问题,同时将大量无意义的消息数据进行过滤后减小了数据量,快速实现了数据的解析和转发,大大加快了消息处理速度和转发速度。
另一方面,图13为本申请实施例提供的数据转发方法的流程示意图,如图13所示,该方法可以由云端服务器执行,该方法包括:
S401、云端服务器向边缘服务器发送数据订阅请求;数据订阅请求包括目标数据的存储标识。
在云端服务器向边缘服务器发送数据订阅请求之前,云端服务器需要与边缘服务器建立通信连接。其中,云端服务器可以通过域名和秘钥对验证通过后与边缘服务器建立连接。
具体的,云端服务器与边缘服务器建立连接的过程中,需要进行注册和授权校验操作,其中,对于未注册的边缘服务器需要先进行注册后再进行授权校验,对于已注册且未校验的边缘服务器需要启动授权校验,当授权校验通过后,使得云端服务器与边缘服务器建立通信连接,并并存储授权通过的边缘服务器信息,该边缘服务器信息可以包括边缘服务器标识、域名等。
需要说明的是,上述边缘服务器标识用于唯一表示边缘服务器的身份信息,上述域名是由一串用点分隔的名字组成的Internet上边缘服务器的名称,用于表示在数据传输时对边缘服务器的定位标识。
其中,边缘服务器在进行注册时,云端服务器可以获取边缘服务器的域名,并对域名进行检测,当检测到该域名合格时,则边缘服务器在云端服务器注册通过;当检测到该域名为不合格时,则边缘服务器在云端服务器注册不通过。
进一步地,当云端服务器对边缘服务器注册通过后,开始对边缘服务器进行授权校验时,可以根据私钥对进行授权校验,通过获取边缘服务器的私钥,并从密钥库中查看是否存在与该边缘服务器的私钥对应的公钥,如果不存在,则对该边缘服务器授权校验不通过;如果存在,则获取与该私钥对应的公钥,并查看公钥和私钥是否匹配,当匹配时,则表示对该边缘服务器授权校验通过。其中,上述密钥库是用户预先根据实际需求,对所有边缘服务器的公钥进行存储得到的。
在边缘服务器向云端服务器注册和授权校验通过后,云端服务器可以向边缘服务器发送数据订阅请求,该数据订阅请求包括目标数据的存储标识。该目标数据为边缘服务器对应用设备的设备运行数据进行过滤处理获得的,设备运行数据和元数据为边缘服务器对应用设备发送的初始数据进行识别获得的。其中,边缘服务器向应用设备提供边缘云服务,元数据用于描述应用设备的属性。
S402、云端服务器接收边缘服务器发送的目标数据以及元数据,根据元数据对目标数据进行数据处理。
具体的,云端服务器向边缘服务器发送数据订阅请求之后,边缘服务器接收并响应于该数据订阅请求,基于存储标识从目标分区中获取目标数据,并将目标数据和元数据发送至云端服务器,使得云端服务器接收边缘服务器发送的目标数据以及元数据。
可选的,云端服务器可以先接收元数据,例如可以通过异步或定时同步方式获取到元数据,然后接收边缘服务器发送的与存储标识对应的目标数据。云端服务器还可以同时接收元数据和与存储标识对应的目标数据。
其中,云端服务器在获取到元数据后,可以将元数据存储至数据库中,并创建设备存储表,该设备存储表用于存储应用设备的资产数据,该资产数据可以包括应用设备的元数据、设备运行过程中产生的目标数据、进行数据处理过程中产生的数据等。然后获取目标数据,并根据元数据和目标数据进行数据处理。
本申请实施例中,作为一种可选的实现方式,在根据元数据和目标数据进行数据处理的过程中,可以是从元数据中获取元数据与目标数据的映射关系,并根据该映射关系对目标数据进行解析,从而得到设备资产数据,并将该设备资产数据存储至设备存储表中。
作为另一种可选的实现方式,云端服务器在接收到元数据和目标数据之后,还可以是对根据实际需求对元数据和目标数据进行增加、删除、更改等操作,从而得到设备资产数据,并将设备资产数据存储至设备存储表中。
作为又一种可选的实现方式,云端服务器可以接收其他边缘服务器的数据获取请求,该数据获取请求中可以携带有应用设备标识和应用设备属性,然后在接收到元数据和目标数据之后,可以响应于数据获取请求,根据应用设备标识和应用设备属性获取元数据和目标数据,然后将元数据和目标数据发送至其他边缘服务器,以使得其他边缘服务器对其进行数据处理。
示例性地,请参见图14所示,边缘服务器可以提供配置界面使得用户根据实际需求添加转发任务与配置信息,并开启数据订阅模式,从kafka-cluster中订阅边缘端应用设备的初始数据,然后接收到初始数据后,识别初始数据中的元数据和设备运行数据,并根据预先配置的数据转发规则,例如可以对设备运行数据进行过滤处理,得到目标数据,并将目标数据通过数据发布的方式(share-data)存储至kafka-cluster的目标分区中,为目标分区分配对应的存储标识。云端服务器可以接收元数据,该元数据例如可以包括应用设备信息、应用设备属性信息,从而将元数据同步存储至云端服务器的数据库中,该数据库例如可以是mysql,然后创建设备存储表clickhouse。
云端服务器向边缘服务器发送数据订阅请求,使得边缘服务器响应于该数据订阅请求,根据存储标识从目标分区中获取目标数据,并将目标数据发送至云端服务器,从而使得云端服务器通过数据订阅的方式((share-data)从kafka-cluster的目标分区中获取到目标数据。云端服务器可以获取元数据,并基于元数据和目标数据进行数据解析处理,得到解析数据,并将解析数据映射处理为应用设备对应资产数据,然后将应用设备对资产数据存储至设备存储表clickhouse中。
本实施例中云端服务器向边缘服务器发送数据订阅请求,能够自动接收到边缘服务器发送的目标数据以及元数据,保证了云端服务器和边缘服务器双方设备资产数据的一致性,为后续数据处理提供了精准的数据信息,使得云端服务器能够根据元数据对目标数据进行相应的数据处理,进一步提高了数据处理速率。
在本申请的另一实施例中,云端服务器在向边缘服务器发送数据订阅请求之前,云端服务器可以接收边缘服务器发送的至少一个存储标识,该至少一个存储标识对应至少一个分区,该分区用于存储对设备运行数据进行过滤处理后获得的数据,对设备运行数据进行过滤处理后获得的数据包括目标数据。
需要说明的是,边缘服务器在对设备运行数据进行过滤处理之后,可以得到至少一个目标数据,并将至少一个目标数据中的每个目标数据存储至对应的目标分区,为每个目标数据分配与目标分区对应的存储标识。例如可以根据目标数据的大小以及存储空间的大小为目标数据分配对应的目标分区。为了使得云端服务器接收到订阅的目标数据,边缘服务器可以将该至少一个存储标识发送至云端服务器,使得云端服务器接收边缘服务器发送的至少一个存储标识,当需要获取数据时,向边缘服务器发送携带有存储标识的数据订阅请求,使得边缘服务器响应于该数据订阅请求,基于存储标识获取目标数据并发送至云端服务器。
在本申请的另一实施例中,提供了根据元数据对目标数据进行数据处理的具体实现方式。在进行数据处理的过程中,可以根据元数据对目标数据进行字段解析,获得多个属性值,并根据属性值生成应用设备的设备信息。
需要说明的是,上述目标数据可以包括多个字段,每个字段所对应的含义不同。上述元数据中可以包括映射表,该映射表中包括字段与属性的映射规则,该映射规则是基于历史字段与历史属性之间的对应关系进行预先制定的。上述属性值用于表征应用设备对应的描述信息,例如可以是应用设备的转速、压力值、温度、湿度等的具体信息。
在根据元数据和目标数据进行字段解析的过程中,可以采用字段解析规则进行解析处理,得到多个属性值。其中,该字段解析规则是根据不同的字段类型,并结合数据特征预先设置的字段解析策略,也可以是字段解析算法等。该字段解析算法可以是预设解析函数,例如可以是substr()函数和find()函数。
在获取到多个属性值后,可以根据属性值生成应用设备的设备信息,并将该设备信息存储至设备存储表中,或者可以将该应用设备的设备信息发送至其他边缘服务器,以使得其他边缘服务器基于应用设备的设备信息进行数据处理。
示例性的,当获取的元数据包括:key1-温度;key2-转速;key3-压力值,以及温度对应的属性信息包括摄氏度,转速对应的属性信息包括:r/s(转/秒),压力值对应的属性信息包括Pa(帕),且获取到的目标数据包括设备a:50,40,300时,则可以对目标数据进行解析,得到多个属性值分别为50,40,300,并根据该属性值生成该设备a的设备信息,其中,设备信息包括:设备a对应的温度为50℃,对应的转速为40r/s,以及对应的压力值为300pa。
示例性地,请参见图15所示,云端服务器可以提供配置接口进行新增边缘服务器接入操作,该配置接口包括边缘服务器接入配置项,该边缘服务器接入配置项用于接入边缘服务器。当触发边缘服务器接入操作时,在配置界面上显示新增边缘服务器接入项,用户可以触发该接入项,显示设备列表,然后根据实际需求从设备列表中选择接入设备,并选择接入的边缘服务器列表信息,然后获取并在配置界面上显示接入的边缘服务器列表信息,该该列表信息包括边缘服务器标识和边缘服务器属性等。
在配置界面上根据实际需求从接入的边缘服务器列表信息选择相应的设备信息,并设置状态同步,当设置成功后,在配置界面上返回设置信息。并创建与接入的边缘服务器对应的设备存储表。用户可以在配置界面上对元数据开启同步状态,并开启数据订阅模式,即开启数据订阅状态。当设置的定时任务开始时,则准备接收数据,可以向边缘服务器发送数据订阅请求,从kafka中获取目标数据和元数据,即kafka以消息msg返回目标数据和元数据,然后根据元数据对目标数据通过数据映射表进行解析,从而得到设备信息,并将设备信息进行存储。
本实施例中云端服务器通过进行边缘服务器添加的方式,对元数据实现了同步接收,保证了云端和边缘端数据同步一致,并且通过数据订阅的方式获取目标数据,能够实现目标数据按需实时转发至云端服务器,从而能够快速且精准地对目标数据和元数据进行数据处理。
另一方面,本申请实施例提供了数据转发***,请继续参见图1所示,该数据转发***包括边缘服务器10和云端服务器20。边缘服务器用于接收多个应用设备发送的初始数据,并识别初始数据中的元数据以及设备运行数据,对设备运行数据进行过滤处理,得到目标数据,向云端服务器发送目标数据以及元数据;边缘服务器向应用设备提供边缘云服务;元数据用于描述应用设备的属性;云端服务器用于向边缘服务器发送数据订阅请求,接收边缘服务器发送的目标数据以及元数据,根据元数据对目标数据进行数据处理。
其中,上述边缘服务器可以是多个,云端服务器可以与多个边缘服务器中的每个边缘服务器建立通信连接。
请参见图16所示,上述***还可以包括应用设备30,边缘服务器10与对应的应用设备30建立通信连接,该应用设备可以设置在边缘厂区,其可以包括PLC、上位机、工业网关等设备。其中,应用设备与边缘服务器之间可以通过modbus通信协议进行数据通信,也可以采用opc通信协议进行数据通信,还可以采用其他通信协议进行数据通信。
上述边缘服务器可以包括边缘平台和kafka-cluster,该kafka-cluster用于通过接入边缘端的应用设备并采集应用设备的初始数据,以及用于将目标数据与元数据发送至云端服务器。
其中,上述边缘平台包括数据获取、数据存储、数据发布、转发规则配置和转发任务管理,具体的,边缘平台用于进行转发任务管理,转发规则配置,可以包括任务标识配置项、与任务标识配置项关联的设备标识配置项以及与任务标识配置项关联的设备属性配置项。从kafka-cluster中获取应用设备的初始数据,并将初始数据进行数据存储,然后识别初始数据中的元数据和设备运行数据,然后根据配置的转发规则,对设备运行数据进行过滤处理,得到目标数据,并将目标数据以及元数据发送至kafka-cluster。
上述云端服务器包括数据订阅、数据解析与存储和数据服务,具体的,云端服务器用于通过发送数据订阅请求的方式从kafka-cluster中获取目标数据和元数据,然后基于目标数据和元数据进行数据解析,得到多个属性值,并根据属性值生成应用设备的设备信息,将应用设备的设备信息进行存储至设备存储表中,还可以从设备存储表中获取应用设备的设备信息进行数据服务,例如可以是将应用设备的设备信息发送至其他边缘服务器进行处理。
为了更加清楚地说明本申请,下面来进一步说明本申请提出的数据转发方法的完整流程图方法。图17为本申请实施例提供的数据转发方法的流程示意图,如图17所示,该方法包括:
S501、边缘服务器通过配置接口获取应用设备的数据采集参数。
具体的,边缘服务器可以提供给用户可执行操作的配置界面,使得用户通过点击、触摸、滑动、长按等方式在配置界面上执行任务标识配置项、与任务标识配置项对应的设备标识配置项、与任务标识配置项对应的设备属性配置项、转发规则配置项等的配置操作。例如选择选择转发服务信息地址、主题(topic)、转发点位和数据源等配置操作,从而通过配置操作产生对应的应用设备的数据采集参数,使得边缘服务器通过配置接口获取应用设备的数据采集参数。该数据采集参数包括数据采集任务标识taskid、应用设备的标识(设备id)以及应用设备的属性(例如温度、压力值、转速等)中的至少一项。
S502、边缘服务器对数据采集参数进行第一哈希处理,获得初始数据的目标校验字段。
边缘服务器在获取到配置的数据采集参数后,该数据采集参数例如是数据采集任务标识taskid,可以是对数据采集任务标识taskid进行三次哈希运算,得到三个运算结果。假设预设校验字段xxxxxx为长度为6的字段,例如初始值为000000,上述三个运算结果例如是2、5、6,然后将预设校验字段000000中与3个运算结果对应的3个比特位置为预设值,假设预设值为1,即将预设校验字段000000中第2个比特位、第5个比特位、第6个比特位置为1,从而得到目标校验字段为010011。
S503、边缘服务器接收多个应用设备发送的初始数据。
S504、边缘服务器识别初始数据中的元数据以及设备运行数据。
其中,边缘服务器向应用设备提供边缘云服务,边缘服务器可以从kafka中获取初始数据,然后通过预设的数据识别规则对初始数据进行识别处理,可以获取初始数据的字段格式,然后根据字段格式与数据之间的映射关系,例如该初始数据包括十个字段,映射关系可以是根据字段的存储顺序对应不同的数据内容,前三个字段对应的数据为对应的元数据,后七个字段对应的数据为设备运行数据,从而得到初始数据中的元数据以及设备运行数据。
S505、边缘服务器对设备运行数据进行过滤处理,得到目标数据。
边缘服务器可以通过布隆过滤器和缓存redis对设备运行数据进行过滤处理。其中,在通过布隆过滤器进行过滤处理时,根据初始数据中的元数据确定初始数据对应的应用设备,对应用设备的数据采集参数进行第二哈希处理,获得检验比特位,例如应用设备的数据采集参数为数据采集任务标识taskId1,则可以是对数据采集任务标识taskId1进行三次哈希运算,得到三个运算结果,且分别为1、3和5时,则校验比特位的值分别为目标校验字段中的第1个比特位,第3个比特位和第5个比特位。然后通过布隆过滤器进行查询,判断目标校验字段中校验比特位(第1个比特位,第3个比特位和第5个比特位)的值是否为预设值,并对该多个值进行“与”运算判断是否等于1,如果不等于1,则确定布隆过滤器中不存在该设备运行数据,即该设备运行数据不为目标数据,丢弃该设备运行数据,例如判断目标校验字段010011中校验比特位第1位、第3位和第5位的值是否为预设值1,得到校验比特位对应的多个值分别为0、0、1,即不等于1,则舍弃该设备运行数据taskId1对应的数据采集参数。
当获取的初始数据中应用设备的数据采集参数为数据采集任务标识taskId2,则可以是对数据采集任务标识taskId2进行三次哈希运算,得到三个运算结果,且分别为2、5和6时,则校验比特位的值分别为目标校验字段中的第2个比特位,第5个比特位和第6个比特位。通过布隆过滤器进行查询,判断目标校验字段010011中校验比特位(第2个比特位,第5个比特位和第6个比特位)的值是否为预设值1,并对该多个值进行“与”运算判断是否等于1,确定出都等于1,则确定布隆过滤器中可能存在该设备运行数据,即该设备运行数据可能为目标数据。
进一步对设备运行数据taskId2对应的数据采集参数基于缓存redis中进行查询,从缓存redis中获取预先配置的应用设备的数据采集参数,然后根据配置的应用设备的数据采集参数与设备运行数据中的数据采集参数进行匹配,将设备运行数据中无法匹配或匹配不一致的数据确定为配置的应用设备的数据采集参数中不存在,并丢弃该数据;将设备运行数据中匹配一致的数据作为目标数据。
S506、边缘服务器将目标数据存储至目标分区,为目标数据分配与目标分区对应的存储标识。
S507、边缘服务器向云端服务器发送目标数据以及元数据。
边缘服务器在确定出目标数据后,可以从kafka中确定出目标分区,该目标分区例如可以是Partition,为目标数据分配与目标分区Partition对应的存储标识offset。然后将目标数据和元数据发布至kafka中的目标分区中。
S508、云端服务器接收边缘服务器发送的目标数据以及元数据。
S509、云端服务器根据元数据对目标数据进行数据处理。
云端服务器可以通过异步或定时同步方式获取到元数据,可以将元数据存储至数据库中,并创建设备存储表,然后通过数据订阅模式从kafka中接收与存储标识对应的目标数据。
云端服务器在接收到元数据和目标数据后,可以根据元数据对目标数据进行字段解析,获得多个属性值,并根据属性值生成应用设备的设备信息,并将应用设备的设备信息存储至设备存储表中。
本申请实施例可以通过边缘端服务器采集到应用设备的初始数据,并识别出元数据和设备运行数据,然后对海量设备运行数据进行过滤筛选,通过结合布隆过滤器与Redis中预先配置的数据采集参数进行精准过滤,能够快速确定出目标数据,保证了转发数据的有效性,同时减少了数据量,缓解了占用过多资源的压力。并对目标数据和元数据进行数据转发,能够降低数据延迟,提高了数据转发效率。并且,通过云端服务器接收边缘服务器发送的元数据和目标数据,能够保证云边两端数据实时、可靠、安全地协同一致,保证了设备资产数据的同步,提高了海量数据转发的可靠性。并且能够应用在大型工业企业的数据转发场景中。
另一方面,图18为本申请实施例提供的一种数据转发装置的结构示意图。该装置可以为边缘服务器内的装置,如图18所示,该装置800包括:
接收模块810,用于接收多个应用设备发送的初始数据;边缘服务器向应用设备提供边缘云服务;
识别模块820,用于识别初始数据中的元数据以及设备运行数据;元数据用于描述应用设备的属性;
过滤模块830,用于对设备运行数据进行过滤处理,得到目标数据,向云端服务器发送目标数据以及元数据。
可选的,上述装置,具体用于:
将目标数据存储至目标分区,为目标数据分配与目标分区对应的存储标识。
可选的,上述装置,还用于:
接收云端服务器发送的数据订阅请求;数据订阅请求包括目标数据的存储标识;
基于存储标识从目标分区中获取目标数据。
可选的,上述装置,还用于:
通过配置接口获取应用设备的数据采集参数,数据采集参数包括数据采集任务标识、应用设备的标识以及应用设备的属性中的至少一项;
对数据采集参数进行第一哈希处理,获得初始数据的目标校验字段。
可选的,配置接口包括任务标识配置项、与任务标识配置项关联的设备标识配置项以及与任务标识配置项关联的设备属性配置项;任务标识配置项用于获取数据采集任务标识,设备标识配置项用于获取应用设备的标识,设备属性配置项用于获取应用设备的属性。
可选的,上述过滤模块830,包括:
哈希处理单元831,用于根据初始数据中的元数据确定初始数据对应的应用设备,对应用设备的数据采集参数进行第二哈希处理,获得校验比特位;
验证单元832,用于根据校验比特位对目标校验字段进行验证,根据验证结果确定设备运行数据是否为目标数据。
可选的,上述装置,还用于:
对数据采集参数进行N次哈希运算,获得N个运算结果;N为正整数;
将预设校验字段中与N个运算结果对应的N个比特位置为预设值,获得目标校验字段。
可选的,验证单元832,具体用于:
若目标校验字段中校验比特位的值为预设值,则根据设备运行数据确定目标数据;
若不是,则丢弃设备运行数据。
可选的,上述验证单元832,还用于:
确定设备运行数据为目标数据;或者,
在设备运行数据与初始数据对应的应用设备的数据采集参数匹配的情况下,确定设备运行数据为目标数据。
另一方面,图19为本申请实施例提供的一种数据转发装置的结构示意图。该装置可以为云端服务器内的装置,如图19所示,该装置包括:
发送模块850,用于向边缘服务器发送数据订阅请求;数据订阅请求包括目标数据的存储标识;
处理模块860,用于接收边缘服务器发送的目标数据以及元数据,根据元数据对目标数据进行数据处理;目标数据为边缘服务器对应用服务器的设备运行数据进行过滤处理获得的,设备运行数据和元数据为边缘服务器对应用服务器发送的初始数据进行识别获得的;
其中,边缘服务器向应用设备提供边缘云服务,元数据为应用设备的描述信息。
可选的,上述装置,还用于:
接收边缘服务器发送的至少一个存储标识;至少一个存储标识对应至少一个分区,分区用于存储对设备运行数据进行过滤处理后获得的数据,对设备运行数据进行过滤处理后获得的数据包括目标数据。
可选的,上述处理模块860,具体用于:
根据元数据对目标数据进行字段解析,获得多个属性值;
根据属性值生成应用设备的设备信息。
本申请实施例提供的数据转发装置,一方面,通过自动识别初始数据中的元数据和设备运行数据,从而能够为后续的过滤处理操作提供精准的数据指导信息,以便后续有针对性地对数据进行过滤处理,在保证元数据正常上报的同时,可以缓解边缘服务器进行数据转发的传输压力。另一方面,通过对设备运行数据进行过滤处理,能够滤除一些无效信息数据,从而精准地确定出有效的目标数据,避免大量无效信息数据拖延***转发速率,提高了数据转发的准确性和有效性,同时减少了数据转发的数量,缓解了数据的转发压力,保证了数据转发的可靠性。
另一方面,本申请实施例还提供一种计算机设备,该设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如上所述的数据转发方法。
下面参考图20,其示出了适于用来实现本申请实施例的设备的计算机***900的结构示意图。
如图20所示,计算机***900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分903加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有***900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本申请公开的内容分享或处理的实施例,上文参考图4描述的过程可以被实现为计算机软件程序。例如,本申请公开的电子红包处理的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,该计算机程序包含用于执行图4的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种内容分享或处理实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、识别模块及过滤模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,接收模块还可以被描述为“用于接收多个应用设备发送的初始数据;所述边缘服务器向所述应用设备提供边缘云服务”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中前述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,前述程序被一个或者一个以上的处理器用来执行描述于本申请的数据转发方法,具体执行:
边缘服务器接收多个应用设备发送的初始数据;所述边缘服务器向所述应用设备提供边缘云服务;
所述边缘服务器识别所述初始数据中的元数据以及设备运行数据;所述元数据用于描述所述应用设备的属性;
所述边缘服务器对所述设备运行数据进行过滤处理,得到目标数据,向云端服务器发送所述目标数据以及所述元数据。
本申请实施例提供的数据转发方法、装置、设备及存储介质,边缘服务器接收多个应用设备发送的初始设备,该边缘服务器向应用设备提供边缘云服务,并识别初始数据中的元数据以及设备运行数据,然后对设备运行数据进行过滤处理,得到目标数据,向云端服务器发送目标数据以及云数据。本申请中的技术方案相比于现有技术而言,一方面,通过自动识别初始数据中的元数据和设备运行数据,从而能够为后续的过滤处理操作提供精准的数据指导信息,以便后续有针对性地对数据进行过滤处理,在保证元数据正常上报的同时,可以缓解边缘服务器进行数据转发的传输压力。另一方面,通过对设备运行数据进行过滤处理,能够滤除一些无效信息数据,从而精准地确定出有效的目标数据,避免大量无效信息数据拖延***转发速率,提高了数据转发的准确性和有效性,同时减少了数据转发的数量,缓解了数据的转发压力,保证了数据转发的可靠性。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (18)
1.一种数据转发方法,其特征在于,所述方法包括:
边缘服务器接收多个应用设备发送的初始数据;所述边缘服务器向所述应用设备提供边缘云服务;
所述边缘服务器识别所述初始数据中的元数据以及设备运行数据;所述元数据用于描述所述应用设备的属性;
所述边缘服务器对所述设备运行数据进行过滤处理,得到目标数据,向云端服务器发送所述目标数据以及所述元数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述目标数据存储至目标分区,为所述目标数据分配与所述目标分区对应的存储标识。
3.根据权利要求2所述的方法,其特征在于,向云端服务器发送所述目标数据以及所述元数据之前,还包括:
接收所述云端服务器发送的数据订阅请求;所述数据订阅请求包括所述目标数据的存储标识;
基于所述存储标识从所述目标分区中获取所述目标数据。
4.根据权利要求1所述的方法,其特征在于,边缘服务器接收多个应用设备发送的初始数据之前,所述方法还包括:
通过配置接口获取所述应用设备的数据采集参数,所述数据采集参数包括数据采集任务标识、所述应用设备的标识以及所述应用设备的属性中的至少一项;
对所述数据采集参数进行第一哈希处理,获得所述初始数据的目标校验字段。
5.根据权利要求4所述的方法,其特征在于,所述配置接口包括任务标识配置项、与所述任务标识配置项关联的设备标识配置项以及与所述任务标识配置项关联的设备属性配置项;所述任务标识配置项用于获取所述数据采集任务标识,所述设备标识配置项用于获取所述应用设备的标识,所述设备属性配置项用于获取所述应用设备的属性。
6.根据权利要求4或5所述的方法,其特征在于,所述边缘服务器对所述设备运行数据进行过滤处理,包括:
根据所述初始数据中的元数据确定所述初始数据对应的应用设备,对所述应用设备的数据采集参数进行第二哈希处理,获得所述校验比特位;
根据所述校验比特位对所述目标校验字段进行验证,根据验证结果确定所述设备运行数据是否为所述目标数据。
7.根据权利要求6所述的方法,其特征在于,对所述数据采集参数进行第一哈希处理,获得所述初始数据的目标校验字段,包括:
对所述数据采集参数进行N次哈希运算,获得N个运算结果;N为正整数;
将预设校验字段中与所述N个运算结果对应的N个比特位置为预设值,获得所述目标校验字段。
8.根据权利要求7所述的方法,其特征在于,根据所述校验比特位对所述目标校验字段进行验证,根据验证结果确定所述设备运行数据是否为所述目标数据,包括:
若所述目标校验字段中所述校验比特位的值为所述预设值,则根据所述设备运行数据确定所述目标数据;
若不是,则丢弃所述设备运行数据。
9.根据权利要求8所述的方法,其特征在于,根据所述设备运行数据确定所述目标数据,包括:
确定所述设备运行数据为所述目标数据;或者,
在所述设备运行数据与所述初始数据对应的应用设备的数据采集参数匹配的情况下,确定所述设备运行数据为所述目标数据。
10.一种数据转发方法,其特征在于,所述方法包括:
云端服务器向边缘服务器发送数据订阅请求;所述数据订阅请求包括所述目标数据的存储标识;
接收所述边缘服务器发送的所述目标数据以及元数据,根据所述元数据对所述目标数据进行数据处理;所述目标数据为所述边缘服务器对应用设备的设备运行数据进行过滤处理获得的,所述设备运行数据和所述元数据为所述边缘服务器对所述应用设备发送的初始数据进行识别获得的;
其中,所述边缘服务器向所述应用设备提供边缘云服务,所述元数据用于描述所述应用设备的属性。
11.根据权利要求10所述的方法,其特征在于,还包括:
接收边缘服务器发送的至少一个存储标识;所述至少一个存储标识对应至少一个分区,所述分区用于存储对所述设备运行数据进行过滤处理后获得的数据,所述对设备运行数据进行过滤处理后获得的数据包括所述目标数据。
12.根据权利要求10所述的方法,其特征在于,根据所述元数据对所述目标数据进行数据处理,包括:
根据所述元数据对所述目标数据进行字段解析,获得多个属性值;
根据所述属性值生成所述应用设备的设备信息。
13.一种数据转发装置,其特征在于,所述装置包括:
接收模块,用于接收多个应用设备发送的初始数据;所述边缘服务器向所述应用设备提供边缘云服务;
识别模块,用于识别所述初始数据中的元数据以及设备运行数据;所述元数据用于描述所述应用设备的属性;
过滤模块,用于对所述设备运行数据进行过滤处理,得到目标数据,向云端服务器发送所述目标数据以及所述元数据。
14.一种数据转发装置,其特征在于,所述装置包括:
发送模块,用于向边缘服务器发送数据订阅请求;所述数据订阅请求包括所述目标数据的存储标识;
处理模块,用于接收所述边缘服务器发送的所述目标数据以及元数据,根据所述元数据对所述目标数据进行数据处理;所述目标数据为所述边缘服务器对应用服务器的设备运行数据进行过滤处理获得的,所述设备运行数据和所述元数据为所述边缘服务器对所述应用服务器发送的初始数据进行识别获得的;
其中,所述边缘服务器向所述应用设备提供边缘云服务,所述元数据为所述应用设备的描述信息。
15.一种数据转发***,其特征在于,包括:边缘服务器和云端服务器;
所述边缘服务器用于接收多个应用设备发送的初始数据,并识别所述初始数据中的元数据以及设备运行数据,对所述设备运行数据进行过滤处理,得到目标数据,向云端服务器发送所述目标数据以及所述元数据;所述边缘服务器向所述应用设备提供边缘云服务;所述元数据用于描述所述应用设备的属性;
所述云端服务器用于向边缘服务器发送数据订阅请求,接收所述边缘服务器发送的所述目标数据以及元数据,根据所述元数据对所述目标数据进行数据处理。
16.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器用于执行所述程序时实现如权利要求1-12任一项所述的数据转发方法。
17.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于实现如权利要求1-12任一项所述的数据转发方法。
18.一种计算机程序产品,其特征在于,所述计算机程序产品中包括指令,当所述指令被执行时实现如权利要求1-12任一项所述的数据转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211146697.4A CN117793095A (zh) | 2022-09-20 | 2022-09-20 | 数据转发方法、装置、***、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211146697.4A CN117793095A (zh) | 2022-09-20 | 2022-09-20 | 数据转发方法、装置、***、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117793095A true CN117793095A (zh) | 2024-03-29 |
Family
ID=90382128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211146697.4A Pending CN117793095A (zh) | 2022-09-20 | 2022-09-20 | 数据转发方法、装置、***、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117793095A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118200197A (zh) * | 2024-05-16 | 2024-06-14 | 江西省气象数据中心(江西省气象档案馆) | 一种气象数据协同传输监测方法及*** |
-
2022
- 2022-09-20 CN CN202211146697.4A patent/CN117793095A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118200197A (zh) * | 2024-05-16 | 2024-06-14 | 江西省气象数据中心(江西省气象档案馆) | 一种气象数据协同传输监测方法及*** |
CN118200197B (zh) * | 2024-05-16 | 2024-07-23 | 江西省气象数据中心(江西省气象档案馆) | 一种气象数据协同传输监测方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10812358B2 (en) | Performance-based content delivery | |
US20160219089A1 (en) | Systems and methods for messaging and processing high volume data over networks | |
US8732258B2 (en) | Method and system for transporting telemetry data across a network | |
US10341509B2 (en) | Client device state collection and network-based processing solution | |
CN110719215B (zh) | 虚拟网络的流信息采集方法及装置 | |
CN111224831B (zh) | 用于生成话单的方法和*** | |
US10992972B1 (en) | Automatic identification of impermissable account sharing | |
CN112632129A (zh) | 一种码流数据管理方法、装置及存储介质 | |
US20210042631A1 (en) | Techniques for Cyber-Attack Event Log Fabrication | |
US9407546B2 (en) | Routing a message using a routing table in a dynamic service mesh | |
CN111817984A (zh) | 消息发送方法、装置、设备及存储介质 | |
CN112883011A (zh) | 实时数据处理方法和装置 | |
CN115471307A (zh) | 基于知识图谱的审计评估信息生成方法、装置和电子设备 | |
CN117793095A (zh) | 数据转发方法、装置、***、设备及存储介质 | |
CN108491499B (zh) | 数据采集方法、数据采集平台、客户端及业务服务器 | |
CN115904369B (zh) | 一种网络安全源数据高效聚合及关联分析的方法与*** | |
US11895192B1 (en) | Managing subscriptions to resource updates made via a target interface | |
CN116743785A (zh) | 基于雾计算的云网数据存储方法、装置、设备及介质 | |
CN113783862B (zh) | 一种边云协同过程中进行数据校验的方法及装置 | |
CN113965538B (zh) | 设备状态消息处理方法、装置及存储介质 | |
CN112860422B (zh) | 用于作业处理的方法、设备和计算机程序产品 | |
CN112749204B (zh) | 一种读取数据的方法和装置 | |
CN113141403A (zh) | 一种日志传输方法和装置 | |
CN113779017A (zh) | 数据资产管理的方法和装置 | |
US20130073561A1 (en) | Random sampling from distributed streams |
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 |