CN116471627A - 流数据的处理方法、系统、节点、电子设备及存储介质 - Google Patents
流数据的处理方法、系统、节点、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116471627A CN116471627A CN202210028930.2A CN202210028930A CN116471627A CN 116471627 A CN116471627 A CN 116471627A CN 202210028930 A CN202210028930 A CN 202210028930A CN 116471627 A CN116471627 A CN 116471627A
- Authority
- CN
- China
- Prior art keywords
- real
- processed
- monitoring task
- processing
- monitoring
- 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
- 238000003672 processing method Methods 0.000 title description 6
- 238000012544 monitoring process Methods 0.000 claims abstract description 177
- 238000012545 processing Methods 0.000 claims abstract description 105
- 238000004364 calculation method Methods 0.000 claims abstract description 91
- 238000000034 method Methods 0.000 claims abstract description 66
- 230000008569 process Effects 0.000 claims abstract description 24
- 239000000872 buffer Substances 0.000 claims description 31
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 230000002860 competitive effect Effects 0.000 claims description 4
- 239000004973 liquid crystal related substance Substances 0.000 claims 2
- 238000007781 pre-processing Methods 0.000 description 18
- 230000008859 change Effects 0.000 description 8
- 238000005192 partition Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0252—Traffic management, e.g. flow control or congestion control per individual bearer or channel
- H04W28/0263—Traffic management, e.g. flow control or congestion control per individual bearer or channel involving mapping traffic to individual bearers or channels, e.g. traffic flow template [TFT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/04—Large scale networks; Deep hierarchical networks
- H04W84/08—Trunked mobile radio systems
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例涉及数据处理领域,公开了一种流数据的处理方法、系统、节点、电子设备及存储介质,方法包括:在计算节点启动后,向分布式协调服务集群发送用于竞选主节点的申请;在被选为主节点的情况下,并读取批量的实时的监控任务信息后,生成各监控任务分别对应的计算规则,并向分布式协调服务集群发送生成的各监控任务分别对应的计算规则,供计算节点集群中的其他计算节点基于从分布式协调服务集群获取的待处理的监控任务的计算规则进行监控任务的处理;获取计算节点待处理的监控任务的实时数据,并根据待处理的监控任务对应的计算规则对实时数据进行处理。减少了实时流数据处理消耗的系统资源,实现了轻量化处理实时流数据的目的。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种流数据的处理方法、系统、节点、电子设备及存储介质。
背景技术
常见的流计算框架,如:Spark、Flink、JStorm等都为重量级的流计算框架,上述流计算框架提供了较完善的分流和限流等策略,提供了集群管理和可观察能力,比较适用于互联网等数据量较大、且流处理能力需要抽象出基础能力的场景,但在5G网络管控场景中,5G网络管控场景系统部署的计算资源受限,不适合采用重量级的流计算框架,因此,例如5G网络管控场景边缘云、toB、网管等运维系统,需要轻量化实时流的计算技术来满足实时处理能力。
发明内容
本发明的目的在于解决上述问题,提供一种流数据的处理方法、系统、节点、电子设备及存储介质,减少了实时流数据处理消耗的系统资源,实现了轻量化处理实时流数据的目的。
为解决上述问题,本申请的实施例提供了一种流数据的处理方法,应用于计算节点集群中的计算节点,方法包括:在计算节点启动后,向分布式协调服务集群发送用于竞选主节点的申请;在被选为主节点的情况下,并读取批量的实时的监控任务信息后,生成各监控任务分别对应的计算规则,并向分布式协调服务集群发送生成的各监控任务分别对应的计算规则,供计算节点集群中的其他计算节点基于从分布式协调服务集群获取的待处理的监控任务的计算规则进行监控任务的处理;获取计算节点待处理的监控任务的实时数据,并根据待处理的监控任务对应的计算规则对实时数据进行处理。
为解决上述问题,本申请的实施例提供了一种计算节点,包括:竞选模块,用于在计算节点启动后,向分布式协调服务集群发送用于竞选主节点的申请;生成模块,用于在被选为主节点的情况下,并读取批量的实时的监控任务信息后,生成各监控任务分别对应的计算规则,并向分布式协调服务集群发送生成的各监控任务分别对应的计算规则,供计算节点集群中的其他计算节点基于从分布式协调服务集群获取的待处理的监控任务的计算规则进行监控任务的处理;处理模块,用于获取计算节点待处理的监控任务的实时数据,并根据待处理的监控任务对应的计算规则对实时数据进行处理。
为解决上述问题,本申请的实施例还提供了一种流数据的处理系统,包括:外部系统、分布式协调服务集群、消息中间件集群和包括至少一个上述计算节点的计算节点集群;其中,外部系统,用于将建立的监控任务发送给计算节点集群中的计算节点,并监听监控任务的处理结果;分布式协调服务集群,用于处理计算节点竞选主节点的申请、存储计算规则和将计算规则通知给计算节点集群中的计算节点;消息中间件集群,用于存储监控任务的实时数据和监控任务的处理结果。
为解决上述问题,本申请的实施例还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述流数据的处理方法。
为解决上述问题,本申请的实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述流数据的处理方法。
在本申请实施例中,被分布式协调服务集群选为主节点的计算节点生成各监控任务所对应的计算规则,并通过分布式协调服务集群同步到其他计算节点,供计算节点根据待处理的监控任务的计算规则处理获取的实时数据,最后各计算节点通过本节点待处理的监控任务的计算规则和实时数据获得监控任务的最终结果,大幅度的减少了系统处理监控任务所需消耗的资源,达到了轻量化处理实时流数据的方法。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请一实施例提供的流数据的处理系统的示意图;
图2是本申请一实施例提供的计算节点的功能单元的示意图;
图3是本申请一实施例提供的流数据的处理方法的流程图;
图4是本申请一实施例提供的生成计算规则的流程图;
图5是本申请一实施例提供的处理实时数据的流程图;
图6是本申请一实施例提供的计算节点的结构示意图;
图7是本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本申请的一实施例涉及一种流数据的处理方法,应用于计算节点集群中的计算节点,方法包括:在计算节点启动后,向分布式协调服务集群发送用于竞选主节点的申请;在被选为主节点的情况下,并读取批量的实时的监控任务信息后,生成各监控任务分别对应的计算规则,并向分布式协调服务集群发送生成的各监控任务分别对应的计算规则,供计算节点集群中的其他计算节点基于从分布式协调服务集群获取的待处理的监控任务的计算规则进行监控任务的处理;获取计算节点待处理的监控任务的实时数据,并根据待处理的监控任务对应的计算规则对实时数据进行处理。
本申请实施例提供的流数据的处理系统由外部系统、分布式协调服务集群和计算节点集群、消息中间件集群构成,如图1所示:
外部系统为实时流数据计算的使用方,主要负责向实时计算节点集群下发监控任务和监听监控任务的计算结果。
分布式协调服务集群,用于完成计算节点的选主工作并向计算节点通知选主结果,还用于提供一个计算规则存储,并通知计算节点计算规则的变化。
计算节点集群,与分布式协调服务集群协同完成:注册选主参与者、监听选主结果、更新计算规则(由被选为主的节点发起)、监听计算规则的更新;与外部系统协同完成:监控任务的更新和监控任务计算结果的输出;与消息中间件集群协同完成:获取实时数据源、广播监控任务变化、获取监控任务变化、转发非本节点需要的数据、获取本节点需要处理的数据、发送监控结果。
消息中间件集群包含如下消息主题:监控任务变化主题,用于存储监控任务变化的信息、实时数据源主题,用于存储监控对象上报的原始数据(监控对象通常是一个具体设备或者系统上参选,并监听选举结果),原始数据为监听全局计算规则的变化而上报的监控原始数据、实时数据转发主题,用于存储实时计算节点按空任务号分配完标签的数据、实时监控结果主题,用于存储监控任务的计算结果。
本申请实施例中的计算节点由如下功能单元构成:分布式协调监听器、计算规则管理器、数据路由表、计算引擎、监控任务管理、数据预处理以及临时数据缓冲区,具体如图2所示。
分布式协调监听器用于完成以下工作:注册本节点参与选主、注册监听全局计算规则、在选为主的情况下,进行计算规则的决策后,将决策后的结果保存至分布式协调集群中以及监听全局计算规则的变化,并把本节点计算规则保存到计算规则管理器中。
计算规则管理器用于完成以下工作:响应分布式协调监听器的调用,提供全局计算规则的定义功能、响应分布式协调监听器的调用,把主节点定义好的全局计算规则保存至本节点以及适配计算规则同步更新数据路由表、算子更新和数据预处理策略。
数据路由表用于完成以下工作:提供接口用于计算规则管理器更新数据路由表和提供接口用于计算引擎读取路由信息,指导计算引擎对数据计算结果进行处理。
另外,路由表由监控任务号和路由链路信息两个属性组成;其中,监控任务号为监控任务的信息,通常是一个字符串或者数字;路由链路信息为一个单向链表,用于描述应用监控任务的数据流向,链表节点值为数据缓冲区中的一个表名称。
计算引擎,由算子和算子调度器构成,其中,算子用于计算缓冲数据表、逻辑算法和执行周期的信息构成。
算子需要完成的工作如下:获取数据缓冲区表的数据,进行计算处理,查询路由表信息并把计算结果发送到其他数据缓冲区表,或者发出计算结果(根据本次处理的数据缓冲区表名来查询路由表,如果下一个节点为空,说明是最终数据则发送出去)。
算子调度器,用于根据算子调度执行周期要求,周期性的执行算子的算法逻辑。
监控任务管理器用于完成以下工作:响应外部系统发起的更新监控任务和发送监控任务变化信息便于其他计算节点适配处理。
数据预处理用于完成以下工作:
1.读取实时数据、读取监控任务的信息,根据实时数据和监控任务的监控要求,给数据打上任务号标签。
2.读取路由表信息,将实时数据中属于本计算节点处理的数据,放到对应的数据缓冲区的表中,对于不属于本计算节点应该处理的数据,则根据计算规则管理下发的数据预处理策略,发送到实时数据转发主题的指定分区,便于其他计算节点获取数据并对数据进行处理。
3.根据计算规则管理下发的数据预处理策略,读取其他计算节点发送到实时数据转发主题的数据的指定分区数据,进行实时处理,其中,数据预处理策略为数据预处理拉取和发送数据到实时数据转发主题的策略,约定数据预处理存放各数据的分区,并根据任务号指定某个需要发送到实时数据转发主题的分区位置。
4.读取处理缓冲区吞吐比率,在吞吐比率在1-N倍的情况下,启动第一级反压处理,降低实时数据源主题相关数据的拉取速度;在吞吐比率在N倍以上的情况下,则启动第二级反压处理机制,暂停实时数据源主题数据拉取,其他情况下则解除限流。
其中,若数据处理过程中某个算子成为瓶颈,即其处理速率跟不上上游发送数据的速率,则需要对上游进行限速或者暂时断流,避免数据积压造成系统崩溃,上述操作就是反压处理。
临时数据缓冲区,由N个数据表组成,其中,表名和路由表的节点值是一致的。
临时数据缓冲区用于完成如下工作:支持数据的存放和提取,定时计算读取处理缓冲区吞吐比率,例如:每一分钟记录一次当前的吞吐比率。
下面对本实施例中的流数据的处理方法的实现细节进行具体的说明,以下内容仅为方便理解本方案的实现细节,并非实施本方案的必须。具体流程如图3所示,可包括如下步骤:
在步骤301中,在计算节点启动后,向分布式协调服务集群发送用于竞选主节点的申请。
在一个例子中,启动实时计算节点,各计算节点在分布式协调服务集群注册参与竞选主节点。
在步骤302中,在被选为主节点的情况下,并读取批量的实时的监控任务信息后,生成各监控任务分别对应的计算规则,并向分布式协调服务集群发送生成的各监控任务分别对应的计算规则,供计算节点集群中的其他计算节点基于从分布式协调服务集群获取的待处理的监控任务的计算规则进行监控任务的处理。
在一个例子中,在计算节点被选为主节点的情况下,,并从外部系统读取到批量的实时监控任务信息后,制定全部监控任务的计算规则,并将制定好的计算规则发送至分布式协调服务集群,其中,分布式协调服务集群提供计算规则的储存,主节点通过将计算规则存储在分布式协调服务集群中,使得其他计算节点可以通过分布式协调服务集群获取待处理的监控任务的计算规则。
另外,在计算节点未被选为主节点的情况下,通过分布式协调服务集群获取待处理的监控任务对应的计算规则。
在一个例子中,不是主节点的实时计算节点,通过在分布式协调集群注册监听全局计算规则,在计算规则更新后通过分布式协调服务集群获取本节点待处理的监控任务的计算规则,并将本节点的计算规则保存到计算规则管理器。
其中,计算规则包括:用于指示对应的监控任务的实时数据的存储位置的指示信息、用于表示对应的监控任务的算法逻辑的算子信息和用于表示对应的监控任务的数据流向的路由表信息。
在一个例子中,主节点制定好监控任务的计算规则后,所有计算节点将计算规则保存至节点中的计算规则管理器,并根据计算规则更新本节点的数据路由表、算子和数据预处理策略,其中,用于指示对应的监控任务的实时数据的存储位置的指示信息放在数据预处理策略中;用于表示对应的监控任务的算法逻辑的算子信息放在算子中;用于表示对应的监控任务的数据流向的路由表信息放在数据路由表中。
在步骤303中,获取计算节点待处理的监控任务的实时数据,并根据待处理的监控任务对应的计算规则对实时数据进行处理。
具体地说,从消息中间件集群获取实时数据,识别实时数据所属的监控任务的任务号,并为实时数据添加标签信息;其中,标签信息包含任务号;将与待处理的监控任务的任务号相同的实时数据作为待处理的监控任务的实时数据,并根据指示信息将其他计算节点待处理的监控任务的实时数据发送至消息中间件集群,供其他计算节点获取各待处理的监控任务的实时数据。
在一个例子中,计算节点从消息中间件集群获取实时数据和监控任务的信息,根据实时数据和监控任务的监控要求,给实时数据打上任务号标签。其中,实时数据为多个监控对象的数据;查询数据路由表,根据实时数据的任务号标签和数据路由表中的任务号,找出属于本节点待处理的监控任务的实时数据,将被打上本节点处理任务的任务号标签的实时数据,发送到计算节点的临时数据缓冲区,供计算引擎对实时数据进行处理;对于实时数据中不属于本计算节点处理的实时数据,则将上述实时数据,根据计算规则管理下发的数据预处理策略,发送到消息中间件集群的实时数据转发主题的指定分区,便于其他节点获取并进行任务处理。
另外,计算节点还可以根据指示信息确定待处理的监控任务的实时数据的存储位置;从确定的存储位置获取待处理的监控任务的实时数据。
在一个例子中,计算节点还可以根据计算规则下发的数据预处理策略,在实时数据转发主题的指定区域,获取其他节点发送至上述指定区域的数据。
进一步地,在从消息中间件集群获取实时数据后,将待处理的监控任务的实时数据存放在临时数据缓冲区;根据待处理的监控任务对应的计算规则对临时数据缓冲区的实时数据进行处理;其中,在临时数据缓冲区的吞吐比率大于1的情况下,降低从消息中间件集群获取实时数据的速度。
在一个例子中,计算节点定时计算读取临时数据缓冲区的吞吐比率,当吞吐比率大于1时,降低计算节点从消息中间件集群获取实时数据的速度,当吞吐比率超过N(N>1,N的取值不受限制)时暂停从消息中间件集群获取实时数据,在其他吞吐比率的情况下下,不对实时数据的获取速度做限制。
更进一步地,根据待处理的监控任务的算子信息对待处理的监控任务的实时数据进行处理,直到处理结果为最终结果;其中,通过路由表信息确定处理结果是否为最终结果。
在一个例子中,计算节点根据待处理的监控任务的实时数据和算法逻辑计算处理结果,当得到一个新的处理结果时,通过查询数据路由表中待处理的监控任务的数据流向,判断是否结束计算,如果数据路由表的下一个节点为空,则说明计算结束,将处理结果发送至消息中间件集群,否则将数据放入临时数据缓冲区,继续进行计算处理并重复上述操作,直至计算结束。
在一个例子中,在根据待处理的监控任务对应的计算规则对实时数据进行处理后,将处理结果发送至消息中间件集群,供外部系统通过消息中间件集群获取处理结果。
为了使本申请实施例提供的流数据的处理方法的过程更加清楚,接下来参考图4,对计算规则生成处理流程进行具体说明,具体步骤如下:
在步骤401中,实时计算节点向分布式协调集群注册计算规则保存节点监听。
在步骤402中,实时计算节点向分布式协调集群注册参与分布式选主。
在步骤403中,分布式协调集群向实时计算节点发送选主结果通知。
在步骤404中,实时计算节点判断是否被选为主,在被选为主节点的情况下执行步骤405。
在步骤405中,在本节点被选为主节点的情况下,从外部系统读取到批量的实时监控任务信息,并实时计算节点进行计算规则的制定。
在步骤406中,实时计算节点向分布式协调集群发送计算规则,并将计算规则保存到分布式协调集群中。
在步骤407中,分布式协调集群向实时计算节点发送规则更新。
在步骤408中,实时计算节点读取本节点的计算规则,并通知计算规则管理器进行相适配处理。
为了使本申请实施例提供的流数据的处理方法更加清楚,在上述例子的基础上,参考图5,对实时数据计算处理流程进行具体说明,具体步骤如下:
在步骤501中,数据预处理从监控任务管理获取任务信息。
在步骤502中,数据预处理从实时数据源主题拉取实时数据。
在步骤503中,数据预处理给实时数据添加任务标签信息。
在步骤504中,数据预处理中心向数据路由表查询数据路由信息。
在步骤505中,数据路由表向数据预处理中心返回路由信息。
在步骤506中,判断实时数据是否属于本节点处理的数据。
在步骤507中,在不属于本节点处理数据的情况下,将实时数据发送到实时数据转发主题,并从实时数据转发主题获取本节点需要的实时数据。
在步骤508中,在属于本节点处理的情况下,将实时数据放入临时数据缓冲区对应的表中。
在步骤509中,计算引擎从临时数据缓冲区读取数据。
在步骤510中,计算引擎通过读取的数据计算出处理结果。
在步骤511中,计算引擎从数据路由表读取路由表信息。
在步骤512中,数据路由表向计算引擎返回路由表信息。
在步骤513中,计算引擎计算处理结果的发送的目的地。
在步骤514中,判断目的地是否为实时监控结果主题。
在步骤515中,在目的地为实时监控结果主题的情况下,计算引擎向实时监控结果主题发送最终处理结果。
在步骤516中,在目的地不为实时监控结果主题的情况下,计算引擎将数据发送到临时数据缓冲区对应表,并从临时数据缓冲区读取数据并进行计算,直至计算出的发送目的地为实时监控主题。
在一个例子中,本申请实施例的流数据的处理方法应用于单节点场景,如通讯网管领域,假设基站A包含小区1#和小区2#,这两个小区每30秒上报一次连接次数和掉话次数两个采集项的数据,用户关注掉话率这个指标,其中,掉话率的公式为:掉话次数/连接次数*100%。一分钟原始上报数据如表1所示。
表1
用户有两个要求:统计基站A每分钟的掉话率和统计每30秒小区1#的掉话率。
为了满足用户的上述要求,需要在系统中建立两个实时算子,并分为任务1和任务2:
任务1,计算要求:统计基站A每分钟的掉话率。
任务2,计算要求:统计每30秒,小区1#的掉话率。
根据计算规则的要求,系统生成四个缓冲区表,具体内容如表2所示:
表2
表名 | 存放的数据 |
A | 任务1的源数据缓冲区表 |
B | 任务1时间汇总中间数据缓冲区表 |
C | 任务1空间汇总中间数据缓冲区表 |
D | 任务2源数据缓冲区表 |
根据计算规则的要求,系统生成4个算子,具体内容如表3所示:
表3
各任务的路由表信息如表4所示:
表4
任务号 | 路由链路表 |
1 | head->A->B->C->空 |
2 | head->D->空 |
根据原始数据,数据预处理生成表A和表D两张表数据,算子计算出的中间数据为表B和表C。
表A
任务号 | 时间 | 采集周期 | 基站 | 小区 | 掉话次数 | 连接次数 |
1 | 2021-06-24 00:00:00 | 30秒 | A | 1# | 1 | 100 |
1 | 2021-06-24 00:00:30 | 30秒 | A | 1# | 0 | 200 |
1 | 2021-06-24 00:00:00 | 30秒 | A | 2# | 0 | 300 |
1 | 2021-06-24 00:00:30 | 30秒 | A | 2# | 5 | 300 |
表D
算子计算后产生结果,表B中的数据为算子a的计算结果,表C为算子b的计算结果,任务1的最终结果为算子c的计算结果,任务2的最终结果为算子d的计算结果。表B和表C的具体内容如下所示:
表B
任务号 | 时间 | 采集周期 | 基站 | 小区 | 掉话次数 | 连接次数 |
1 | 2021-06-24 00:01:00 | 1分钟 | A | 1# | 1 | 300 |
1 | 2021-06-24 00:01:00 | 1分钟 | A | 2# | 5 | 600 |
表C
任务号 | 时间 | 采集周期 | 基站 | 掉话次数 | 连接次数 |
1 | 2021-06-24 00:01:00 | 1分钟 | A | 6 | 900 |
通过上述表中的各中间数据,得到任务1的最终结果:基站A每分钟的掉话率为0.67%;任务2的最终结果:每30秒小区1#的掉话率为1%和0%。
另外,本申请实施例的方法还可应用于多节点场景,同上一例子,在有两个节点参与实时流计算的情况下,那么根据主节点决策,节点1处理上述任务1,进行任务1相关的计算;节点2处理上述任务2,进行任务2相关的计算,那么节点1中的路由表和算子信息,仅包含任务1相关的信息系;节点2中的路由表和算子信息,仅包含任务2相关的信息。
在一个例子中,本申请实施例提供的方法还可以应用于边缘计算相关的业务场景,例如某市为实现智能交通,部署了一个计算中心,但由于资源受限,因此,可以采取本申请实施例中的方法进行处理,智能交通场景中的原始数据为:摄像头照片和车牌号。智能交通系统定义的三个监控任务如下:
1.判断驾驶车辆是否闯红灯。
2.判断驾驶车辆是否按标志线行驶。
3.判断驾驶员是否系安全带。
为了分散处理压力,系统可以规划三个实时计算节点分别处理上述三种任务场景。
本申请实施例提供的流数据的处理方法,通过被分布式协调服务集群选为主节点的计算节点生成各监控任务所对应的计算规则,并通过分布式协调服务集群同步到其他计算节点,供计算节点根据待处理的监控任务的计算规则处理获取的实时数据,最后各计算节点通过本节点待处理的监控任务的计算规则和实时数据获得监控任务的最终结果,并且还利用了消息中间件集群的原生负载均衡特性来完成实时数据的分发,利用分布式协调服务集群的分布式协调机制均衡了实时流数据计算过程在各计算节点上的压力,利用了计算节点自身的弹缩性支持了系统处理能力的水平扩展,实现了一种轻量化的流数据的处理方式。大幅度的减少了系统处理监控任务所需消耗的资源,并且不需要引入其他重量流处理框架,具有部署简单、管理方便以及适用性强的特点。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本申请实施例还涉及一种计算节点,如图6所示,包括:竞选模块601、生成模块602以及处理模块603。
具体地说,竞选模块601,用于在计算节点启动后,向分布式协调服务集群发送用于竞选主节点的申请;生成模块602,用于在被选为主节点的情况下,并读取批量的实时的监控任务信息后,生成各监控任务分别对应的计算规则,并向分布式协调服务集群发送生成的各监控任务分别对应的计算规则,供计算节点集群中的其他计算节点基于从分布式协调服务集群获取的待处理的监控任务的计算规则进行监控任务的处理;处理模块603,用于获取计算节点待处理的监控任务的实时数据,并根据待处理的监控任务对应的计算规则对实时数据进行处理。
在一个例子中,启动实时计算节点,竞选模块601在分布式协调服务集群注册参与竞选主节点。
在一个例子中,在计算节点被选为主节点的情况下,并从外部系统读取到批量的实时监控任务信息后,生成模块602制定全部监控任务的计算规则,并将制定好的计算规则发送至分布式协调服务集群,其中,分布式协调服务集群提供计算规则的储存,主节点通过将计算规则存储在分布式协调服务集群中,使得其他计算节点可以通过分布式协调服务集群获取待处理的监控任务的计算规则。
在一个例子中,本申请实施例提供的计算节点还包括查找模块(图中未示出),计算节点从消息中间件集群获取实时数据和监控任务的信息,根据实时数据和监控任务的监控要求,给实时数据打上任务号标签。其中,实时数据为多个监控对象的数据;查询数据路由表,根据实时数据的任务号标签和数据路由表中的任务号,找出属于本节点待处理的监控任务的实时数据,将被打上本节点处理任务的任务号标签的实时数据,发送到计算节点的临时数据缓冲区,供计算引擎对实时数据进行处理;对于实时数据中不属于本计算节点处理的实时数据,则将上述实时数据,根据计算规则管理下发的数据预处理策略,发送到消息中间件集群的实时数据转发主题的指定分区,便于其他节点获取并进行任务处理。
在一个例子中,处理模块根据待处理的监控任务的实时数据和算法逻辑计算处理结果,当得到一个新的处理结果时,通过查询数据路由表中待处理的监控任务的数据流向,判断是否结束计算,如果数据路由表的下一个节点为空,则说明计算结束,将处理结果发送至消息中间件集群,否则将数据放入临时数据缓冲区,继续进行计算处理并重复上述操作,直至计算结束。
不难发现,本实施方式为上述应用于计算节点的流数据的处理方法实施例相对应的装置实施例,本实施方式可与上述应用于上述应用于计算节点的流数据的处理方法实施例互相配合实施。上述应用于上述应用于计算节点的流数据的处理方法实施例提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述应用于上述应用于计算节点的流数据的处理方法实施例中。
值得一提的是,本申请上述实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本申请的创新部分,本实施方式中并没有将与解决本申请所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本申请的实施例还提供一种电子设备,如图7所示,包括至少一个处理器701;以及,与至少一个处理器701通信连接的存储器702;其中,存储器702存储有可被至少一个处理器701执行的指令,指令被至少一个处理器701执行,以使至少一个处理器能够执行上述流数据的处理方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请的实施例还提供一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
上述实施例是提供给本领域普通技术人员来实现和使用本申请的,本领域普通技术人员可以在脱离本申请的发明思想的情况下,对上述实施例做出种种修改或变化,因而本申请的保护范围并不被上述实施例所限,而应该符合权利要求书所提到的创新性特征的最大范围。
Claims (11)
1.一种流数据的处理方法,其特征在于,应用于计算节点集群中的计算节点,包括:
在计算节点启动后,向分布式协调服务集群发送用于竞选主节点的申请;
在被选为主节点的情况下,并读取批量的实时的监控任务信息后,生成各监控任务分别对应的计算规则,并向所述分布式协调服务集群发送生成的各监控任务分别对应的计算规则,供所述计算节点集群中的其他计算节点基于从所述分布式协调服务集群获取的待处理的监控任务的计算规则进行监控任务的处理;
获取计算节点待处理的监控任务的实时数据,并根据所述待处理的监控任务对应的计算规则对所述实时数据进行处理。
2.根据权利要求1所述的流数据的处理方法,其特征在于,所述计算规则包括:用于指示对应的监控任务的实时数据的存储位置的指示信息;
所述获取本计算节点待处理的监控任务的实时数据,包括:
根据所述指示信息确定所述待处理的监控任务的实时数据的存储位置;
从确定的存储位置获取所述待处理的监控任务的实时数据。
3.根据权利要求2所述的流数据的处理方法,其特征在于,所述获取本计算节点待处理的监控任务的实时数据,还包括:
从消息中间件集群获取实时数据,识别所述实时数据所属的监控任务的任务号,并为所述实时数据添加标签信息;其中,所述标签信息包含任务号;
将与所述待处理的监控任务的任务号相同的实时数据作为所述待处理的监控任务的实时数据,并根据所述指示信息将所述其他计算节点待处理的监控任务的实时数据发送至所述消息中间件集群,供所述其他计算节点获取各所述待处理的监控任务的实时数据。
4.根据权利要求3所述的流数据的处理方法,其特征在于,所述方法还包括:
在所述从消息中间件集群获取实时数据后,将所述待处理的监控任务的实时数据存放在临时数据缓冲区;
所述根据所述待处理的监控任务对应的计算规则对所述实时数据进行处理,包括:
根据所述待处理的监控任务对应的计算规则对所述临时数据缓冲区的实时数据进行处理;
其中,在所述临时数据缓冲区的吞吐比率大于1的情况下,降低从所述消息中间件集群获取实时数据的速度。
5.根据权利要求1所述的流数据的处理方法,其特征在于,所述计算规则包括:用于表示对应的监控任务的算法逻辑的算子信息和用于表示对应的监控任务的数据流向的路由表信息;所述根据所述待处理的监控任务对应的计算规则对所述实时数据进行处理,包括:
根据所述待处理的监控任务的算子信息对所述待处理的监控任务的实时数据进行处理,直到处理结果为最终结果;其中,通过所述路由表信息确定所述处理结果是否为最终结果。
6.根据权利要求1-5中任一项所述的流数据的处理方法,其特征在于,所述方法还包括:
在未被选为主节点的情况下,通过所述分布式协调服务集群获取所述待处理的监控任务对应的计算规则;
基于从所述分布式协调服务集群获取的所述待处理的监控任务的计算规则进行监控任务的处理。
7.根据权利要求1-5中任一项所述的流数据的处理方法,其特征在于,所述方法还包括:在根据所述待处理的监控任务对应的计算规则对所述实时数据进行处理后,将所述处理结果发送至所述消息中间件集群,供外部系统通过所述消息中间件集群获取所述处理结果。
8.一种计算节点,包括:
竞选模块,用于在计算节点启动后,向分布式协调服务集群发送用于竞选主节点的申请;
生成模块,用于在被选为主节点的情况下,并读取批量的实时的监控任务信息后,生成各监控任务分别对应的计算规则,并向所述分布式协调服务集群发送生成的各监控任务分别对应的计算规则,供所述计算节点集群中的其他计算节点基于从所述分布式协调服务集群获取的待处理的监控任务的计算规则进行监控任务的处理;
处理模块,用于获取计算节点待处理的监控任务的实时数据,并根据所述待处理的监控任务对应的计算规则对所述实时数据进行处理。
9.一种流数据的处理系统,其特征在于,包括:外部系统、分布式协调服务集群、消息中间件集群和包括至少一个如权利要求8所述的计算节点的计算节点集群;
其中,所述外部系统,用于将建立的监控任务发送给所述计算节点集群中的计算节点,并监听所述监控任务的处理结果;
所述分布式协调服务集群,用于处理所述计算节点竞选主节点的申请、存储计算规则和将所述计算规则通知给计算节点集群中的计算节点;
所述消息中间件集群,用于存储所述监控任务的实时数据和所述监控任务的处理结果。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的流数据的处理方法。
11.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的流数据的处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210028930.2A CN116471627A (zh) | 2022-01-11 | 2022-01-11 | 流数据的处理方法、系统、节点、电子设备及存储介质 |
PCT/CN2023/071419 WO2023134643A1 (zh) | 2022-01-11 | 2023-01-09 | 流数据的处理方法、系统、节点、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210028930.2A CN116471627A (zh) | 2022-01-11 | 2022-01-11 | 流数据的处理方法、系统、节点、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116471627A true CN116471627A (zh) | 2023-07-21 |
Family
ID=87182969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210028930.2A Pending CN116471627A (zh) | 2022-01-11 | 2022-01-11 | 流数据的处理方法、系统、节点、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116471627A (zh) |
WO (1) | WO2023134643A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117118939B (zh) * | 2023-10-24 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法,装置、设备以及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10209982B2 (en) * | 2017-05-16 | 2019-02-19 | Bank Of America Corporation | Distributed storage framework information server platform architecture |
CN110247954A (zh) * | 2019-05-15 | 2019-09-17 | 南京苏宁软件技术有限公司 | 一种分布式任务的调度方法及系统 |
CN111708627B (zh) * | 2020-06-22 | 2023-06-20 | 中国平安财产保险股份有限公司 | 基于分布式调度框架的任务调度方法以及装置 |
CN112104751B (zh) * | 2020-11-10 | 2021-02-12 | 中国电力科学研究院有限公司 | 调控云数据处理方法、装置及系统 |
-
2022
- 2022-01-11 CN CN202210028930.2A patent/CN116471627A/zh active Pending
-
2023
- 2023-01-09 WO PCT/CN2023/071419 patent/WO2023134643A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023134643A1 (zh) | 2023-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104540234B (zh) | 一种C‑RAN架构下基于CoMP同步约束的关联任务调度机制 | |
US8825797B2 (en) | Method and system for providing user service data | |
EP4177752A1 (en) | Task processing method, edge computing device, computer device, and medium | |
CN110557416B (zh) | 一种多节点协同打块的方法及系统 | |
EP4175235A1 (en) | Network element management method, network management system, independent computing node, computer device, and storage medium | |
CN116389491B (zh) | 一种云边算力资源自适应计算系统 | |
CN110493137A (zh) | 一种基于固定路由网络的分层广播方法、装置及系统 | |
CN116471627A (zh) | 流数据的处理方法、系统、节点、电子设备及存储介质 | |
CN103744735A (zh) | 一种多核资源的调度方法及装置 | |
WO2018166249A1 (zh) | 一种网络业务传输的方法及系统 | |
CN114710571A (zh) | 数据包处理系统 | |
CN108282526A (zh) | 双集群间服务器动态分配方法及系统 | |
CN102984083A (zh) | 队列管理方法及装置 | |
CN111258760A (zh) | 一种平台管理方法、系统、装置及存储介质 | |
CN105335313A (zh) | 一种基础数据的传输方法及装置 | |
CN113873005A (zh) | 一种微服务集群的节点选主方法、系统、设备及介质 | |
WO2021159314A1 (zh) | 一种业务处理方法、装置以及系统 | |
CN105376155B (zh) | 一种基于分布式集群架构的智能路由系统及方法 | |
CN111309488A (zh) | 无人机集群的计算资源共享方法与系统及计算机存储介质 | |
CN113254143B (zh) | 虚拟化网络功能网元编排调度方法、装置和系统 | |
CN111400028B (zh) | 一种列车管理的负载均衡处理方法 | |
CN110275763A (zh) | 一种报警数据处理系统和方法 | |
CN112256461A (zh) | 一种基于多云环境的分布式消息系统及管理方法 | |
CN114443234A (zh) | 数据分析方法、装置、nwdaf组群及可读存储介质 | |
CN111767043B (zh) | 基于业务调度引擎的跨系统业务调度方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |