Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种数据上报的系统和方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:京东科技控股股份有限公司

摘要:本发明公开了一种数据上报的系统和方法,涉及计算机技术领域。该系统的一具体实施方式包括:管理节点、处理节点和多个区域节点,其中,对于每个区域节点,用于接收与之绑定的主机节点上报的数据,并根据存储的投递策略投递所述数据;所述处理节点,用于获取区域节点投递的数据,并根据存储的处理策略,处理获取的数据;所述管理节点,用于监控所述多个区域节点的负载状况。该系统针对大规模多机房业务部署的情况,快速准确有效的监控,同时能方便扩容,健壮性高。以及,能够针对节点实时负载情况进行监控,实现负载均衡。

主权项:1.一种数据上报的系统,其特征在于,包括管理节点、处理节点和多个区域节点,其中,对于每个区域节点,用于接收与之绑定的主机节点上报的数据,并根据存储的投递策略投递所述数据,包括:识别上报的数据的类型,获取对应的投递策略,以将所述上报的数据投递至相应的节点;所述处理节点,用于获取区域节点投递的数据,并根据存储的处理策略,处理获取的数据;所述管理节点,用于监控所述多个区域节点的负载状况;响应于所述区域节点与所述主机节点的对应关系不平衡,所述区域节点从所述管理节点获取平衡策略包,触发所述主机节点响应下发的平衡策略包,以使所述主机节点指向新的区域节点,并切断与所述主机节点的长连接。

全文数据:一种数据上报的系统和方法技术领域本发明涉及计算机技术领域,尤其涉及一种数据上报的系统和方法。背景技术监控系统是每个互联网企业都必须具备的重要系统,它关系到每个公司的业务能否正常的运行,出现故障后能否第一时间知晓,以及在发现问题后,能否争取到足够的时间来采取正确的措施来避免问题进一步扩大。现有的监控系统架构,主要包括两种,其分别为中心节点式、简单异步上报结构。对于中心节点式,如图1所示,整体呈星型结构,向四周主动探测,触发主机节点上的监控程序执行,并收取监控结果,其中,所有的监控策略,监控项,都存在于中心节点。主机节点上通常有一个agent,等待中心节点来调用。中心节点通过定时或轮询的方式来调用各个主机节点,并根据存储的报警策略进行报警发送。同时中心节点可能还需要负责性能图的绘制或相关数据存储,该整套系统完全依靠中心节点支撑。该结构存在高度中心化的问题,如果中心节点故障,整套系统就瘫痪了。并且,中心节点会消耗大量主机硬件性能,随着规模的增长到达临界点,就无法再继续扩容。对于现有的简单异步上报结构,如图2所示,每台主机节点上依然是部署agent,只不过agent的触发条件不是在远程的中心节点上,而是通过自身的触发策略进行调度,通常都会采用定时的方式来触发。以及,采集的数据由agent自行上报到消息中间件上,然后再由后端平台从消息中间件中抽取后做统一处理。这种架构缓解了中心节点的压力,但也增加了部署和策略下发的难度。如果多个机房之间仅仅通过消息中间件来同步数据,一旦机房间的物理链路出现问题,就可能会出现丢数据的现象。发明内容有鉴于此,本发明实施例提供一种数据上报的系统和方法,能够针对大规模多机房业务部署的情况,快速准确有效的监控,同时能方便扩容,健壮性高。以及,能够针对节点实时负载情况进行监控,实现智能负载均衡。为实现上述目的,根据本发明实施例的一个方面,提供了一种数据上报的系统。本发明实施例的数据上报的系统包括:管理节点、处理节点和多个区域节点,其中,对于每个区域节点,用于接收与之绑定的主机节点上报的数据,并根据存储的投递策略投递所述数据;所述处理节点,用于获取区域节点投递的数据,并根据存储的处理策略,处理获取的数据;所述管理节点,用于监控所述多个区域节点的负载状况。可选地,所述区域节点,还用于接收新增主机节点的注册信息,以及将所述注册信息发送至管理节点;所述管理节点根据监控的区域节点的负载情况和所述注册信息,确定所述新增主机节点的待绑定区域节点,并返回所述待绑定区域节点的信息。可选地,所述管理节点,还用于根据监控的区域节点的负载状况,下发负载策略至对应的区域节点;所述对应的区域节点根据接收到负载策略调整与主机节点的绑定关系。可选地,本发明实施例的数据上报的系统还包括消息中间件,用于接收所述区域节点投递的数据,所述处理节点从所述消息中间件提取数据。可选地,所述处理节点至少包括报警节点;所述报警节点从所述管理节点中获取报警配置,并根据所述报警配置和获取的数据生成报警信息。可选地,本发明实施例的数据上报的系统还包括数据持久化节点,用于从消息中间件中提取数据,并将提取的数据进行入库存储。可选地,本发明实施例的数据上报的系统还包括交互节点,用于将所述管理节点监控的区域节点的负载状况进行可视化。为实现上述目的,根据本发明实施例的另一个方面,提供了一种数据上报的方法。本发明实施例的数据上报的方法包括:对于每个区域节点,接收与之绑定的主机节点上报的数据,并根据存储的投递策略投递所述数据;处理节点获取区域节点投递的数据,并根据存储的处理策略,处理获取的数据;以及,管理节点监控所述每个区域节点的负载状况可选地,区域节点接收新增主机节点的注册信息,并将所述注册信息发送至管理节点;管理节点根据监控的区域节点的负载情况和所述注册信息,确定所述新增主机节点的待绑定区域节点,并返回所述待绑定区域节点的信息。可选地,所述管理节点根据监控的区域节点的负载状况,下发负载策略至对应的区域节点;所述对应的区域节点根据接收到负载策略调整与主机节点的绑定关系。为实现上述目的,根据本发明实施例的再一个方面,提供了一种电子设备。本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项的数据上报的方法。为实现上述目的,根据本发明实施例的再一个方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述任一项的数据上报的方法。上述发明中的一个实施例具有如下优点或有益效果:主机节点绑定一个区域节点,并将数据上报至该区域节点,并且区域节点可根据投递策略进行数据的投递。以及,管理节点实时监控所有区域节点的负载状况,对于扩容的情况,可根据该负载情况确定绑定的区域节点,进一步实现负载均衡。处理节点根据处理策略对数据机芯处理,系统健壮性高。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本发明,不构成对本发明的不当限定。其中:图1和2是现有技术中数据上报的系统的示意图;图3是根据本发明实施例的数据上报的系统的示意图;图4是根据本发明实施例的数据上报的系统的示意图;图5是根据本发明实施例的注册数据上报的示意图。具体实施方式以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图3是根据本发明实施例的数据上报的系统的示意图,如图3所示,本发明实施例的确定数据上报的系统主要包括:管理节点、处理节点和多个区域节点。对于每个区域节点,用于接收与之绑定的主机节点上报的数据,并根据存储的投递策略投递数据。在本发明实施例中,主机节点是一个部署在主机上的agent,在采集架构中,可以等同于主机,是数据的产生源。区域节点与主机节点之间的绑定关系,是在主机节点新增至该系统时,通过申请注册与其中一个区域节点建立长连接,则两者之间建立绑定关系。对于一个区域节点,其绑定的主机节点可以为很多个。以及,该区域节点可用从管理节点获取投递策略根据数据类别的不同,将数据分别投递给对应的节点,然后根据该投递策略和接收的主机节点上报的数据,进行投递数据。其一定程度上相当于一个邮递员,负责消息的准确投递。比如主机节点上报的是流式计算的数据包,则根据投递策略将该数据直接投递给spark集群。对于主机节点上报的注册数据包,则根据投递策略将该数据投递给管理节点。对于一些紧急的情况,则直接将报警数据投递给处理节点中的报警节点,报警节点获取该报警数据后不进行报警判断直接进行报警。区域节点层可以做相对复杂的投递策略,同时还可负责宕机报警检查,以及起到数据缓冲的作用。处理节点,用于获取区域节点投递的数据,并根据存储的处理策略,处理获取的数据。该处理策略可由管理节点下发到处理节点,处理节点进行存储。也可直接将处理策略部署到处理节点,处理节点存储进行存储。在本发明实施例中,处理节点至少包括报警节点;报警节点从管理节点中获取报警配置,并根据报警配置和获取的数据生成报警信息。对于现有技术中数据上报系统的架构,一种是通过中心节点来进行计算和报警,这种架构中心节点压力非常大。另一种是通过agent直接进行报警判断,产生报警信息。然后将该报警信息上报至中心节点,由中心节点进行发送。在本发明实施例中,单独分化了报警信息,使得能够做更为复杂的告警配置。例如:一个应用集群20个节点,通常挂几个节点不影响业务,但如果一半以上的节点失效,业务就会失效。这种情况下,就可以在超过50%节点告警的时候,再发送报警。这样即避开了压力大造成监控系统反应慢,甚至延迟进而失效,又能附加额外的高复杂度告警策略。这种告警框架和采集框架分离的做法,健壮性更高,性能互不影响。本发明实施例的数据上报的系统还包括提供异步队列服务的消息中间件,用于接收区域节点投递的数据,处理节点从消息中间件提取数据。管理节点,用于监控多个区域节点的负载状况。管理节点还用于根据监控的区域节点的负载状况,下发负载策略至对应的区域节点。以及,对应的区域节点根据接收到负载策略调整与主机节点的绑定关系。管理节点用于整套系统的监控,以及下发相应的策略配置。其中,区域节点还用于接收新增主机节点的注册信息,以及将注册信息发送至管理节点。管理节点根据监控的区域节点的负载情况和注册信息,确定新增主机节点的待绑定区域节点,并返回待绑定区域节点的信息。本发明实施例的数据上报的系统还包括数据持久化节点,用于从消息中间件中提取数据,并将提取的数据进行入库存储,以便后续数据分析。本发明实施例的数据上报的系统还包括交互节点,用于将管理节点监控的区域节点的负载状况进行可视化。交互节点是人机交互的窗口,提供可视化展现以及策略配置管理等功能。图4是根据本发明实施例的数据上报的系统的示意图,如图4所示,本发明实施例的数据上报的系统包括主机节点、区域节点、消息中间件、报警节点、数据持久化节点、交互节点和管理节点。图4示出的区域节点有区域节点1、区域节点2、区域节点3和区域节点4,在实际应用中,区域节点的个数可根据需求设定。最下层的主机节点,是部署在每台主机上的agent。主机节点上层的区域节点,是每个机房的代理节点,在每个机房中可部署一个区域节点,然后改区域节点与该机房内的所有主机节点绑定。或者,在一个机房中部署两个或两个以上的区域节点,该机房内的主机节点均衡地与部署的区域节点绑定。区域节点1、区域节点2、区域节点3和区域节点4负责收集主机节点上报的数据包,然后根据投递策略进行解包投递。消息中间件,是对消息体提供异步队列服务。本发明实施例中的是报警节点,可从消息中间件提取报警信息,然后根据存储的报警配置进行判断和处理。报警节点从管理节点中获取这个报警配置,来进行告警判断,触发后,可按照告警接收人进行发送。该告警框架和采集框架分离的做法,使得系统的健壮性更高,性能互不影响。数据持久化节点从消息中间件提取消息,进行入库存储,待以后分析使用。管理节点是整套系统的管理节点,用于下发监控策略。交互节点是人机交互的窗口,提供可视化展现以及策略配置管理功能。图5是根据本发明实施例的注册数据上报的示意图。在本发明实施例中,每个主机节点启动的第一步,是注册与区域节点建立绑定关系。如图5所示,首先,主机节点MiiCOO通过一个固定的域名或IP连接一个区域节点PAARAA,并将注册数据包通过该区域节点。该注册数据包能够唯一定位该主机节点所在的计算资源,其可包括:机器的SN,运维ID通常烧录在ILO卡中,机器的IP,以及机器的实例ID云服务独有,以及运行的主机节点版本号等信息。区域节点转发这个注册数据包到管理节点MGT,管理节点根据该申请注册的主机节点所在机房的注册情况,分配给主机节点一个相对合适的区域节点,则该主机节点可以改分配的区域节点进行绑定。在管理节点存有区域节点信息列表,通过这个列表,能够找到同机房的区域节点的IP。注册后,数据包上报到管理节点,管理节点根据那个机房区域节点的负载情况,来分配给这个主机节点一个最适合它的区域节点IP,主机节点再去找到这个区域节点,进行最优注册。例如:如果一个机房有3台区域节点,所有的主机节点都到其中一台区域节点A注册,另外两台区域节点一个主机节点都没有维护,那么这就是一种不合适的状态。此时会选择其中13的主机节点,告诉他们去区域节点B,再有13安排去区域节点C,这样就负载均衡了,是个相对合适的状态。管理节点将分配的区域节点的策略包返回给转发注册信息的区域节点,该区域节点接收到返回的策略包之后,判断主机节点要绑定的区域节点。如果判断出其绑定的区域节点就是自己,则与该主机节点保持长连接并完成注册,回包给主机节点,使其正常上报数据。如果判断出是其他区域节点,则将管理节点返回的策略包回给主机节点,里面还附带了管理节点为其分配的区域节点的IP,并断开与主机节点的长连接。主机节点接收到策略包之后,会断开长连接,并通过接收的地址寻找对应的区域节点并进行绑定。注册成功的主机节点从管理节点获取配置,其中,区域节点每隔两个上报周期例如两分钟向管理节点汇报自己旗下的节点相关信息,作为心跳来和管理节点保持联系。通过上述节点的注册环节,可以确定所有主机节点和区域节点的对应关系,这些主机节点是归所属的区域负责的。当短时间内,有大量主机节点新增注册,或者是有物理网络故障,造成区域节点和主机节点的对应关系不再平衡时,区域节点可以通过心跳环节,从管理节点获取平衡策略包,触发旗下主机节点响应下发的平衡策略包,指向推荐的新区域节点,并强制切断长连接。该平衡策略包的产生,通常被设定为和最优数量的偏差超过20%时触发,该比例可以根据业务需求在管理节点中调整。对于本发明实施例中的系统,其各级组件都是带有缓存的。在物理网络故障的情况下,数据并不是被丢弃了,而是被缓存在cache中,等待网络恢复后,再补回到相应记录中。根据业务需求,对于延迟超过30分钟可设置的告警信息可被丢弃。对于现有技术中上报系统的构架,其一,中心节点通过定时或轮询的方式来调用各个主机节点,并根据存储的报警策略进行报警处理;同时中心节点可能还需要负责性能图的绘制或相关数据存储。其二,主机节点通过自身的触发策略进行调度,将数据自行上报到消息中间件上,然后再由后端中心节点从消息中间件中抽取后做统一处理。中心节点此时是相对傻的,只会固定从一个地方获取数据。Agent进行全部的采集、判断工作,弱化了中心节点的相应逻辑,但过程中出现异常情况,不好定位。现有技术存在的主要问题:高度中心化,如果中心节点故障,整套系统就会瘫痪。并且中心节点会消耗大量主机硬件性能,随着规模的增长,很可能整套系统到一个瓶颈后就直接崩了。而且,到达临界点的系统,就无法再继续扩容,所以如果还有机器没有被监控到,只能再另起炉灶,重新部署另外一套系统。多套系统之间的监控数据很难一起进行处理和查看。简单的分布式架构虽然解决了高度中心化的尴尬,把不同组件分散开来,处理不同的事物,但也增加了部署和策略下发的难度。如果多个机房之间仅仅通过消息中间件来同步数据,一旦机房间的物理链路出现问题,就可能会出现丢数据的现象。以及,对于异步上报的agent如何进行有效的管理,也是一个棘手的问题。比如不同的业务可能需要不同的监控项,而不同的业务也可能会有不同的监控和报警频率,甚至一台不再发送消息的节点,不能确定其具体问题。如果一台机器从来就没发过一条消息,无法确定该机器是否有部署过监控。本发明实施例中的系统,是有针对性的异步采集方式,效率非常高,配置好推送,部署难度低。不同于现有的中心节点式和简单异步事,通过节点管理可有效发挥硬件性能。以及,能够快速扩容。例如,在大促等活动的情况下,需要短期内大量扩容,而后又缩容。短期内底层服务器源源不断的来注册,导致系统压力大,通过本发明实施例,只需在区域节点层进行水平扩展,就能轻松缓解压力,并且相应的监控策略也无需调整。活动结束后,即使单方面下掉一台区域节点旗下的节点,2分钟后,其他区域节点上多出来不均衡的主机节点,也会被分配到没有什么压力的区域节点上,让压力平均化。本发明实施例中的系统各级节点设置有缓存机制,可放至丢失数据。各级的缓冲都能够从不同层面,分别解决不同层次的问题。主机节点缓存解决机柜网络问题,区域节点缓存解决机房间问题,其他组件通过消息中间件解决压力突增问题。本发明实施例的系统,可实现智能负载均衡。无需人为干预,根据实时连接情况自行生成负载均衡策略。在面对大批量扩容缩容,或者机房搬迁时,能够很好的应对。本发明实施例提供了一种数据上报的方法,其包括:对于每个区域节点,接收与之绑定的主机节点上报的数据,并根据存储的投递策略投递所述数据;处理节点获取区域节点投递的数据,并根据存储的处理策略,处理获取的数据;以及,管理节点监控所述每个区域节点的负载状况。以及,区域节点接收新增主机节点的注册信息,并将所述注册信息发送至管理节点;管理节点根据监控的区域节点的负载情况和所述注册信息,确定所述新增主机节点的待绑定区域节点,并返回所述待绑定区域节点的信息。并且,所述管理节点根据监控的区域节点的负载状况,下发负载策略至对应的区域节点;所述对应的区域节点根据接收到负载策略调整与主机节点的绑定关系。根据本发明实施例提供了一种电子设备,其包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项的数据上报的方法。本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述任一项的数据上报的方法。上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

权利要求:1.一种数据上报的系统,其特征在于,包括管理节点、处理节点和多个区域节点,其中,对于每个区域节点,用于接收与之绑定的主机节点上报的数据,并根据存储的投递策略投递所述数据;所述处理节点,用于获取区域节点投递的数据,并根据存储的处理策略,处理获取的数据;所述管理节点,用于监控所述多个区域节点的负载状况。2.根据权利要求1所述的系统,其特征在于,所述区域节点,还用于接收新增主机节点的注册信息,以及将所述注册信息发送至管理节点;所述管理节点根据监控的区域节点的负载情况和所述注册信息,确定所述新增主机节点的待绑定区域节点,并返回所述待绑定区域节点的信息。3.根据权利要求1所述的系统,其特征在于,所述管理节点,还用于根据监控的区域节点的负载状况,下发负载策略至对应的区域节点;所述对应的区域节点根据接收到负载策略调整与主机节点的绑定关系。4.根据权利要求1所述的系统,其特征在于,还包括消息中间件,用于接收所述区域节点投递的数据,所述处理节点从所述消息中间件提取数据。5.根据权利要求1所述的系统,其特征在于,所述处理节点至少包括报警节点;所述报警节点从所述管理节点中获取报警配置,并根据所述报警配置和获取的数据生成报警信息。6.根据权利要求4所述的系统,其特征在于,还包括数据持久化节点,用于从消息中间件中提取数据,并将提取的数据进行入库存储。7.根据权利要求1所述的系统,其特征在于,还包括交互节点,用于将所述管理节点监控的区域节点的负载状况进行可视化。8.一种数据上报的方法,其特征在于,包括:对于每个区域节点,接收与之绑定的主机节点上报的数据,并根据存储的投递策略投递所述数据;处理节点获取区域节点投递的数据,并根据存储的处理策略,处理获取的数据;以及,管理节点监控所述每个区域节点的负载状况。9.根据权利要求8所述的方法,其特征在于,区域节点接收新增主机节点的注册信息,并将所述注册信息发送至管理节点;管理节点根据监控的区域节点的负载情况和所述注册信息,确定所述新增主机节点的待绑定区域节点,并返回所述待绑定区域节点的信息。10.根据权利要求8所述的方法,其特征在于,所述管理节点根据监控的区域节点的负载状况,下发负载策略至对应的区域节点;所述对应的区域节点根据接收到负载策略调整与主机节点的绑定关系。11.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求8-10中任一所述的方法。12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求8-10中任一所述的方法。

百度查询: 京东科技控股股份有限公司 一种数据上报的系统和方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。