本申请涉及视联网,尤其涉及一种国标设备状态探测系统。
背景技术:
1、随着安防视频监控标准化的逐渐健全,视联网建设的进展逐渐加快,传统的终端设备状态检查方法存在一些问题,例如效率低下、资源占用高等,尤其在大规模设备接入的情况下,对于实时性、可靠性、效率和可扩展性的要求变得更加迫切。同时gb/t 28181协议在视联网也占据越来越重要的地位,但是设备状态问题却还是亟待解决。
2、现有技术通过定时任务批量处理设备状态来达到同步设备状态的效果,但是由于所有的设备都是同一时间排队,将任务全部放入到一个时间点上进行执行,将会在执行的短时间内对执行定时任务的服务器造成巨大的性能压力,甚至可能还会阻塞其他线程和业务的执行,并且出现服务器在某个时间刻度压力过大而其他时间却闲置的情况。
技术实现思路
1、本申请提供了一种国标设备状态探测系统,用于改善现有技术将任务全部放入到一个时间点上进行执行,造成服务器性能压力过大,以及出现服务器在某个时间刻度压力过大而其他时间却闲置的技术问题。
2、有鉴于此,本申请第一方面提供了一种国标设备状态探测系统,包括:任务节点、设备状态服务和设备管理系统;任务节点包括主任务节点和从任务节点,任务节点具备任务执行系统;
3、主任务节点,用于创建消息队列,得到任务池;
4、设备管理系统,用于将状态探测任务下发到消息队列中;
5、主任务节点,还用于将任务池中的状态探测任务均匀分配给任务节点;
6、设备状态服务,用于根据消息队列中态探测任务的目标信息确定各态探测任务所属的任务执行系统和时间槽位,并将态探测任务缓存到对应的数据队列,所述目标信息包括设备标识、系统标识和延时;
7、任务执行系统,用于在状态探测任务到达所在任务节点时,将状态探测任务分配到时间轮的对应时间槽位中,并根据时间轮的时间间隔进行转动,在到达时间槽位时,从对应的数据队列中取出状态探测任务并执行,得到国标设备的最新状态。
8、可选的,任务节点,用于:
9、在运行过程中向节点列表进行注册和保活;
10、所述主任务节点,具体用于根据节点列表获取存活的任务节点,将任务池中的状态探测任务均匀分配给存活的任务节点。
11、可选的,所述主任务节点,还用于:
12、在分配状态探测任务后,生成资源分配表;
13、从任务节点,用于从所述资源分配表拉取状态探测任务。
14、可选的,所述设备状态服务,具体用于:
15、根据消息队列中状态探测任务的系统标识确定各状态探测任务所属的任务执行系统,根据状态探测任务的延时时间计算状态探测任务所属的时间槽位,并存储到内存缓存对应的数据队列上。
16、可选的,任务执行系统,具体用于:
17、在状态探测任务到达所在任务节点时,将状态探测任务分配到时间轮的对应时间槽位中,在时间轮转动过程中,判断当前时间槽位是否已转动一周;
18、若否,则从当前时间槽位对应的数据队列中取出状态探测任务,并根据状态探测任务的任务类型探测国标设备的状态,得到国标设备的最新状态;
19、若是,则拉取任务列表获取最新的任务时间槽位分配情况,并根据分配的时间槽位进行转动。
20、可选的,当任务类型为register任务时,任务执行系统,具体用于:
21、根据国标设备是注册还是注销来确定国标设备为上线状态还是离线状态。
22、可选的,当任务类型为keepalive任务时,任务执行系统,具体用于:
23、判断是否达到心跳检查周期,若是,则创建状态检查任务,并执行状态检查任务;
24、通过devicestatus信令或者catalog信令检查设备或者设备通道的当前实际状态;
25、若预置时间段内没有收到国标设备的返回信息,则重新通过devicestatus信令或者catalog信令检查设备或者设备通道的当前实际状态,若还未收到返回信息,则确定国标设备为离线状态;
26、若预置时间段内收到国标设备的返回信息,则根据返回信息确定国标设备的状态。
27、可选的,任务执行系统,还用于:
28、若没达到心跳检查周期,则判定是否存在心跳检查任务;
29、若存在心跳检查任务,则更新心跳检查任务至时间轮,以在预置时间点检查国标设备;
30、若不存在心跳检查任务,则创建心跳检查任务至时间轮。
31、可选的,任务执行系统,还用于:
32、执行心跳检查任务,确定国标设备状态。
33、可选的,所述主任务节点为第一个运行的任务节点。
34、从以上技术方案可以看出,本申请具有以下优点:
35、本申请提供了一种国标设备状态探测系统,包括:任务节点、设备状态服务和设备管理系统;任务节点包括主任务节点和从任务节点,任务节点具备任务执行系统;主任务节点,用于创建消息队列,得到任务池;设备管理系统,用于将状态探测任务下发到消息队列中;主任务节点,还用于将任务池中的状态探测任务均匀分配给任务节点;设备状态服务,用于根据消息队列中态探测任务的目标信息确定各态探测任务所属的任务执行系统和时间槽位,并将态探测任务缓存到对应的数据队列,所述目标信息包括设备标识、系统标识和延时;任务执行系统,用于在状态探测任务到达所在任务节点时,将状态探测任务分配到时间轮的对应时间槽位中,并根据时间轮的时间间隔进行转动,在到达时间槽位时,从对应的数据队列中取出状态探测任务并执行,得到国标设备的最新状态。
36、本申请中,采用了时间轮算法,将任务根据延时分布到不同的时间刻度上,将执行压力均匀的分配到未来的每个时间刻度上,避免将任务全部放入到一个时间点上进行执行导致服务器压力过大的问题,改善了现有技术中服务器某个时间刻度压力过大而其他时间却闲置的技术问题。
1.一种国标设备状态探测系统,其特征在于,包括:任务节点、设备状态服务和设备管理系统;任务节点包括主任务节点和从任务节点,任务节点具备任务执行系统;
2.根据权利要求1所述的国标设备状态探测系统,其特征在于,任务节点,用于:
3.根据权利要求1所述的国标设备状态探测系统,其特征在于,所述主任务节点,还用于:
4.根据权利要求1所述的国标设备状态探测系统,其特征在于,所述设备状态服务,具体用于:
5.根据权利要求1所述的国标设备状态探测系统,其特征在于,任务执行系统,具体用于:
6.根据权利要求5所述的国标设备状态探测系统,其特征在于,当任务类型为register任务时,任务执行系统,具体用于:
7.根据权利要求5所述的国标设备状态探测系统,其特征在于,当任务类型为keepalive任务时,任务执行系统,具体用于:
8.根据权利要求7所述的国标设备状态探测系统,其特征在于,任务执行系统,还用于:
9.根据权利要求8所述的国标设备状态探测系统,其特征在于,任务执行系统,还用于:
10.根据权利要求1所述的国标设备状态探测系统,其特征在于,所述主任务节点为第一个运行的任务节点。