一种数据采集器故障解决方法技术

技术编号:18169110 阅读:164 留言:0更新日期:2018-06-09 13:46
本发明专利技术提供了一种数据采集器故障解决方法,数据采集器启动后,如果数据采集器发生故障;控制中心选举出处于在线状态其他一个数据采集器进行故障处理;控制中心下发故障处理通知给故障处理数据采集器进行故障处理,故障处理数据采集器收到故障处理通知后,进行故障处理:故障处理数据采集器查询故障数据采集器所链接的数据源,并将这些数据源分配给处于正常工作状态的数据采集器进行数据采集;分配完成后将数据源的分配方式发送给控制中心;数据采集器定时检测数据库中是否新分配了数据源,如果有,则启动数据采集线程进行数据采集。本发明专利技术解决了数据采集器单点故障后,导致数据采集的严重滞后,甚至导致数据丢失的后果。

【技术实现步骤摘要】
一种数据采集器故障解决方法
本专利技术涉及一种数据采集器故障解决方法,特别是涉及一种适用于拉取型数据采集器的采集器故障解决方法。
技术介绍
目前拉取型数据采集器(拉取型数据采集器是指数据采集器主动向数据源拉取数据,拉取方式可以是访问数据源的数据库或者通过其他通讯方式拉取数据。)大多数故障后无法自动恢复或者数据源无法由其他数据采集器接替,这样势必导致数据采集的严重滞后、甚至导致数据丢失等后果。
技术实现思路
本专利技术要解决的技术问题是提供一种解决数据采集器单点故障后,导致数据采集的严重滞后,甚至导致数据丢失等后果的,数据采集器故障解决方法;本专利技术第二个要解决的技术问题是在保证数据采集器单点故障问题解决的基础上,将数据采集器的数据源的采集工作自动均衡到其他采集器上的自动均衡方法;本专利技术第三个要解决的技术问题是提供一种便于故障问题原因排查的方法。本专利技术采用的技术方案如下:一种数据采集器故障解决方法,具体方法为:数据采集器启动后,链接相应数据源进行数据采集,每隔一个设定时间阈值T1向数据库更新与数据源链接的心跳时间,只要心跳时间不超出所设定的时间距离阈值T2,则说明数据采集器在正常工作;同时,数据采集器与控制中心以socket通讯方式建立TCP长连接,建立连接后,登录到控制中心,登录时上传数据采集器的ID,并向控制中心汇报与该数据采集器链接的所有数据源ID,登录成功后,数据采集器每隔一个设定时间阈值T3向控制中心报送数据采集器运行的心跳时间,只要心跳时间不超出所设定的时间距离阈值T4,则说明数据采集器正常工作并且控制中心和数据采集器的网络是畅通的;如果控制中心发现T4时间内某一数据采集器没有上报数据采集器运行的心跳时间或者与控制中心已经断开长链接,则说明该数据采集器有可能发生故障;控制中心选举出处于在线状态其他一个数据采集器作为进行故障处理的故障处理数据采集器;控制中心下发故障处理通知给所述故障处理数据采集器进行故障处理,所述故障处理数据采集器收到故障处理通知后,进行故障处理:所述故障处理数据采集器从其所对应的数据库中,查询发生故障的故障数据采集器所链接的数据源,并将这些数据源分配给处于正常工作状态的数据采集器进行数据采集;分配完成后所述故障处理数据采集器向控制中心汇报故障已经处理,并将数据源的分配方式发送给控制中心;被分配了数据源的数据采集器定时检测数据库中是否新分配了需要采集的数据源,如果发现有新分配的数据源,启动数据采集线程进行数据采集。选举故障处理数据采集器时,只要按照设定的选举规则,从在线正常工作状态的数据采集器中能唯一选举出一个数据采集器,作为故障处理数据采集器即可。由于待分配的数据源的分配工作只是更新所述其所对应的数据库中数据采集器和数据源的对应关系,因此,还需要分配完成后,各个在线数据采集器查询需要采集的数据源,启动与对应待采集数据源的数据采集线程,完成数据源采集工作。本专利技术方案解决了数据采集器单点故障后,导致数据采集的严重滞后,甚至导致数据丢失等后果。所述方法还包括:建立数据采集器组,数据采集器登录控制中心时上传该数据采集器所在的组ID。建立数据采集器组,实现数据采集器的分组管理。所述方法还包括:建立数据采集器组时,对于同一业务类型的数据源,其数据采集器建立在同一组,使得分组责任明确。所述方法还包括:每一个数据采集器组对应一个数据库,方便分组管理。所述方法还包括:所述控制中心选举出处于在线状态其他一个数据采集器作为进行故障处理的故障处理数据采集器中,所选举的故障处理数据采集器与发生故障的数据采集器在同一组中。所述方法还包括:所述控制中心选举出处于在线状态其他一个数据采集器作为进行故障处理的故障处理数据采集器中,所选举的故障处理数据采集器为在线状态的数据采集器中ID号最大或最小的数据采集器。所述方法还包括:控制中心下发故障处理通知给所述故障处理数据采集器进行故障处理,所述故障处理数据采集器收到故障处理通知后,进行故障处理;此时,如果所述故障数据采集器登录控制中心,则采用锁机制来处理,拒绝该登录的数据采集器的登录;控制中心收到数据源的分配方式后,释放登录锁,此时,需要登录的数据采集器能够登录到控制中心。控制中心通知该登录的数据采集器目前无法登录,目前所选举的数据采集正在进行故障处理,等到故障处理完成后才可以登录,以此来保证状态的一致性。所述方法还包括:控制中心向对应的数据库记录日志,内容包括故障发生时间,发生故障的数据采集器的ID,及是否确认处理;控制中心收到数据源的分配方式后,记录该分配日志到对应的数据库,以此便于故障问题原因排查。所述方法还包括:如果控制中心发现T4时间内某一数据采集器没有上报数据采集器运行的心跳时间或者与控制中心已经断开长链接,则在控制中心选举其他数据采集器进行故障处理之前,先进行故障确认,具体确认方法为:选举一个在线状态的正常工作的数据采集器,查询数据库中所述某一数据采集器在T2时间内是否存在与数据源链接的心跳时间,如果存在,则说明所述某一数据采集器仍然处于正常工作状态,则等待所述某一数据采集器自动重连控制中心,以恢复与控制中心的通讯,同时,被选举数据采集器向控制中心汇报所述某一数据采集器仍然处于工作状态;如果不存在,则说明所述某一数据采集器确实发生故障。所述方法还包括:所述故障处理数据采集器在进行故障处理时,同时查询当前处于工作状态的所有数据采集器,根据平均分配原则,将需要分配的数据源平均分配给所查询到的当前处于工作状态的数据采集器,实现资源的均衡分配。与现有技术相比,本专利技术的有益效果是:1、解决了拉取式数据采集器的单点故障问题;2、对于某个数据采集器故障后,被采集的数据源的自动均衡分配上,本方案得到了很好的解决;3、引入了锁机制,保证了进行故障处理的时候,故障数据采集器无法重连,从而保证了状态的一致性;4、通过数据采集器与数据源的心跳机制保证了一个数据源同一时刻只能有一个采集器与之相链接;5、引入了组的机制,即保证了同一个组内的数据采集器才能进行资源均衡和故障处理;6、控制中心作为数据采集器的核心组件,统一进行故障的发现、新增采集器的发现并且引入了选举机制,选择进行故障处理和资源均衡的唯一采集器;7、控制中心和数据采集器的心跳机制能够保证及时发现故障;8、控制中心记录了故障发生和处理的日志,能够给系统管理员在进行故障排查提供了参考。附图说明图1为本专利技术其中一实施例的原理示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。具体实施例1如图1所示,一种数据采集器故障解决方法,具体方法为:数据采集器启动后,链接相应数据源进行数据采集,每隔一个设定时间阈值T1向数据库更新与数据源链接的心跳时间,只要心跳时间不超出所设定的时间距离阈值T2,则说明数据采集器在正常工作;同时,数据采集器与控制中心以socket通讯方式建立TCP长连接,建立连接后,登录到控制中心,登录时上本文档来自技高网...
一种数据采集器故障解决方法

【技术保护点】
一种数据采集器故障解决方法,具体方法为:数据采集器启动后,链接相应数据源进行数据采集,每隔一个设定时间阈值T1向数据库更新与数据源链接的心跳时间,只要心跳时间不超出所设定的时间距离阈值T2,则说明数据采集器在正常工作;同时,数据采集器与控制中心以socket通讯方式建立TCP长连接,建立连接后,登录到控制中心,登录时上传数据采集器的ID,并向控制中心汇报与该数据采集器链接的所有数据源ID,登录成功后,数据采集器每隔一个设定时间阈值T3向控制中心报送数据采集器运行的心跳时间,只要心跳时间不超出所设定的时间距离阈值T4,则说明数据采集器正常工作并且控制中心和数据采集器的网络是畅通的;如果控制中心发现T4时间内某一数据采集器没有上报数据采集器运行的心跳时间或者与控制中心已经断开长链接,则说明该数据采集器有可能发生故障;控制中心选举出处于在线状态其他一个数据采集器作为进行故障处理的故障处理数据采集器;控制中心下发故障处理通知给所述故障处理数据采集器进行故障处理,所述故障处理数据采集器收到故障处理通知后,进行故障处理:所述故障处理数据采集器从其所对应的数据库中,查询发生故障的故障数据采集器所链接的数据源,并将这些数据源分配给处于正常工作状态的数据采集器进行数据采集;分配完成后所述故障处理数据采集器向控制中心汇报故障已经处理,并将数据源的分配方式发送给控制中心;被分配了数据源的数据采集器定时检测数据库中是否新分配了需要采集的数据源,如果发现有新分配的数据源,启动数据采集线程进行数据采集。...

【技术特征摘要】
1.一种数据采集器故障解决方法,具体方法为:数据采集器启动后,链接相应数据源进行数据采集,每隔一个设定时间阈值T1向数据库更新与数据源链接的心跳时间,只要心跳时间不超出所设定的时间距离阈值T2,则说明数据采集器在正常工作;同时,数据采集器与控制中心以socket通讯方式建立TCP长连接,建立连接后,登录到控制中心,登录时上传数据采集器的ID,并向控制中心汇报与该数据采集器链接的所有数据源ID,登录成功后,数据采集器每隔一个设定时间阈值T3向控制中心报送数据采集器运行的心跳时间,只要心跳时间不超出所设定的时间距离阈值T4,则说明数据采集器正常工作并且控制中心和数据采集器的网络是畅通的;如果控制中心发现T4时间内某一数据采集器没有上报数据采集器运行的心跳时间或者与控制中心已经断开长链接,则说明该数据采集器有可能发生故障;控制中心选举出处于在线状态其他一个数据采集器作为进行故障处理的故障处理数据采集器;控制中心下发故障处理通知给所述故障处理数据采集器进行故障处理,所述故障处理数据采集器收到故障处理通知后,进行故障处理:所述故障处理数据采集器从其所对应的数据库中,查询发生故障的故障数据采集器所链接的数据源,并将这些数据源分配给处于正常工作状态的数据采集器进行数据采集;分配完成后所述故障处理数据采集器向控制中心汇报故障已经处理,并将数据源的分配方式发送给控制中心;被分配了数据源的数据采集器定时检测数据库中是否新分配了需要采集的数据源,如果发现有新分配的数据源,启动数据采集线程进行数据采集。2.根据权利要求1所述的数据采集器故障解决方法,所述方法还包括:建立数据采集器组,数据采集器登录控制中心时上传该数据采集器所在的组ID。3.根据权利要求2所述的数据采集器故障解决方法,所述方法还包括:建立数据采集器组时,对于同一业务类型的数据源,其数据采集器建立在同一组。4.根据权利要求2或3所述的数据采集器故障解决方法,所述方法还包括:每一个数据采集器组对应一个数据库。5.根据权利要求4所述的数据采集器故障解决方法,所述方法还包括:所述控制中心...

【专利技术属性】
技术研发人员:林康游浣权侯啸建
申请(专利权)人:北京科来数据分析有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1