一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

云流媒体服务的数据处理装置及云流媒体集群的制作方法

2022-03-02 04:12:03 来源:中国专利 TAG:


1.本发明涉及安防网络技术领域,尤其是涉及一种云流媒体服务的数据处理装置及云流媒体集群。


背景技术:

2.随着安防领域的不断发展,对于多客户端同时访问编码设备的需求越来越多,例如安防监控、ipc(ip camera,网络摄像机)、nvr(network video recorder,网络硬盘录像机)等编码设备。
3.由于编码设备连接数受限,无法处理大量客户端请求,利用流媒体服务直接连接编码设备。流媒体服务具体转分发功能,通过一路连接,将资源转分发给多客户端,达到多客户端同时访问前端资源的目的。目前将对流媒体服务的稳定性要求越来越高,但由于复杂网络环境和服务器异常宕机情况很难避免,现有的流媒体服务存在稳定性偏低的问题。


技术实现要素:

4.本发明的目的在于提供一种云流媒体服务的数据处理装置及云流媒体集群,缓解了现有的流媒体服务存在稳定性偏低的问题。
5.第一方面,本发明提供一种云流媒体服务的数据处理装置,应用于云流媒体集群中的服务节点,所述数据处理装置包括:调度件,用于同步云流媒体集群内所有服务节点的节点状态和任务列表;编排器,用于参与主节点竞选,若本节点主键值设置成功,则成功竞选为主节点,并从调度件读取节点状态和任务列表,向其他节点分配任务;启动器,用于将本节点的节点状态注册至调度件,并从调度件读取本节点的任务;主程序,用于执行任务,添加并访问任务中的编码设备,将编码设备资源转分发至客户端。
6.进一步的,该装置还包括网关信令模块,用于当本节点为主节点时,接收客户端发送的访问请求,读取访问请求中的编码设备,在任务列表中查找该编码设备所在的目标节点,并向客户端回复目标节点的节点信息。
7.进一步的,所述网关信令模块还用于,当本节点为主节点时,添加云流媒体集群的ip地址,使客户端通过该ip地址与网关信令模块通信。
8.进一步的,所述编排器还用于,若本节点主键值设置失败,则持续监测主键值是否变化。
9.进一步的,所述启动器还用于,将本节点的节点标识注册到调度件,并续约有效期。
10.进一步的,所述调度件还用于,将超过有效期的节点标识删除,并将相应服务节点的节点状态置为掉线;主节点的编排器还用于,将掉线的服务节点的任务分配至其他服务节点。
11.进一步的,主节点的编排器还用于,接收到来自调度件的新增服务节点消息,并向新增节点分配任务。
12.第二方面,本发明还提供一种云流媒体集群,包括多个服务节点,所述服务节点包括上述数据处理装置。
13.第三方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述数据处理装置的功能。
14.本发明提供的云流媒体服务的数据处理装置,能够应用于云流媒体集群中的服务节点。该数据处理装置中的调度件能够同步云流媒体集群内所有服务节点的节点状态和任务列表。各个服务节点运行时,先由编排器参与主节点竞选,若本节点主键值设置成功,则作为云流媒体集群中的主节点,并由主节点从调度件读取节点状态和任务列表,再向其他节点分配任务。而包括主节点在内的各个服务节点,通过启动器将自身的节点状态注册至调度件,并从调度件读取本节点的任务。读取到任务后,由各服务节点的主程序执行任务,添加并访问任务中的编码设备,将编码设备资源转分发至客户端。
15.采用本发明提供的技术方案,利用各个服务节点中的调度件保持服务节点间的实时通信,同步所有服务节点的节点状态和任务列表,然后通过编排器确定一个主节点,并由主节点进行统一的任务分配,能够更好的保持云流媒体集群中各服务节点负载均衡,提高云流媒体集群整体运行的稳定性,从而缓解了现有的流媒体服务存在稳定性偏低的问题。
16.相应地,本发明提供的云流媒体集群及计算机可读存储介质,也同样具有上述技术效果。
附图说明
17.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本发明实施例提供的数据处理装置的示意图;图2为本发明实施例中编排器的处理方法流程图;图3为本发明实施例中网关信令模块的处理方法流程图;图4为本发明实施例中启动器的处理方法流程图。
具体实施方式
19.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.本发明实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括
对于这些过程、方法、产品或设备固有的其它步骤或单元。
21.本发明实施例提供一种种云流媒体服务的数据处理装置,应用于云流媒体集群中的服务节点。如图1所示,该数据处理装置包括:调度件1,用于同步云流媒体集群内所有服务节点的节点状态和任务列表。调度件1负责存储集群数据,负责保存整个集群的节点状态、总任务列表、各个服务节点的任务列表,以及当前集群是否正常的状态,使每个服务节点之间互通数据信息,达成共识。
22.编排器2,用于参与主节点竞选,若本节点主键值设置成功,则成功竞选为主节点,并从调度件1读取节点状态和任务列表,向其他节点分配任务。主节点负责在调度件1上读取总任务列表,获取在线节点列表,并参考各服务节点已有任务列表,给各个服务节点分配任务,再将分配任务后的任务列表数据写入调度件1。此外,主节点还实时监测任务和节点列表的变化,当任务和节点列表发生变化时,重新给各服务节点分配任务,将分配后的任务信息写入调度件1。
23.启动器3,用于将本节点(主节点或普通服务节点)的节点状态注册至调度件1,并从调度件1读取本节点的任务。
24.主程序4,用于执行任务,添加并访问任务中的编码设备,访问编码设备资源,当有客户端6的请求到达时,将编码设备资源转分发至客户端6。启动器3监测本节点任务的变化,当任务发生变化时,启动器3通知主程序4更新任务。
25.本发明实施例中,利用各个服务节点中的调度件1保持服务节点间的实时通信,同步所有服务节点的节点状态和任务列表,然后通过编排器2确定一个主节点,并由主节点进行统一的任务分配,能够更好的保持云流媒体集群中各服务节点负载均衡,提高云流媒体集群整体运行的稳定性,从而缓解了现有的流媒体服务存在稳定性偏低的问题。
26.在一种可能的实施方式中,若本节点主键值设置失败,本节点则作为普通的服务节点,此时编排器2还用于则持续监测主键值是否变化,当主节点宕机时,再次参与主节点竞选。
27.在一种可能的实施方式中,该数据处理装置还包括网关信令模块5,用于当本节点为主节点时,接收客户端6发送的访问请求,读取访问请求中的编码设备,在任务列表中查找该编码设备所在的目标节点,并向客户端6回复目标节点的节点信息。
28.网关信令模块5是整个集群对外通信的窗口,通常只有主节点需要启动此程序,它负责领取任务,响应客户端6的请求。网关信令程序启动后,会在调度件1上获取各个服务节点的任务列表,并监测各个服务节点的任务状态,有变化时及时更新记录。当有客户端6需要访问某个编码设备的请求到达时,在任务列表中查找编码设备所在的服务节点,给客户端回复该服务节点信息。然后客户端6重新与服务节点建立链路,访问资源。
29.在一种可能的实施方式中,网关信令模块5还用于,当本节点为主节点时,添加云流媒体集群的ip地址,使客户端6通过该ip地址与网关信令模块通信。每个云流媒体集群分配有一个虚拟ip地址,主节点添加此虚拟ip地址,所有客户端6通过此虚拟ip地址,与网关信令模块5通信,将访问某个编码设备的请求发送给网关信令模块5。网关信令模块5通过查找此编码设备所在的服务节点信息,将该服务节点信息发送给客户端6。客户端6重新访问编码设备真正所在的服务节点获取资源。
30.本发明实施例中,由云流媒体集群领取任务并分配任务。集群上级的总控模块将
任务发送给网关信令模块5,网关信令模块5将任务写入调度件1。主节点的编排器2实时监听任务的变化状态,当任务有变化时,主节点的编排器2通过调度件1读取任务内容。根据各个服务节点的承受力,将每一个编码设备分配到各个服务节点,再将任务写入调度件1。每个服务节点的启动器3监听本节点的任务状态,任务发生变化时,在调度件1上读取任务,通知主程序4执行任务。
31.在一种可能的实施方式中,启动器3还用于将本节点的节点标识注册到调度件1,并续约有效期,此种方式可实现集群内编码设备的迁移,和集群扩容。
32.具体的,调度件1还用于将超过有效期的节点标识删除,并将相应服务节点的节点状态置为掉线。主节点的编排器2还用于,将掉线的服务节点的任务分配至其他服务节点。
33.云流媒体集群中每一个节点有一个特殊标识,都通过启动器3将自身特殊标识注册到调度件1,设置注册有效期,并持续续约。如果达到有效期仍未续约,调度件1会将此节点标识删除,集群认为此节点状态为掉线。主节点的编排器2在监测到某服务节点掉线后,会将任务重新分配给其他在线服务节点。
34.通过以上云流媒体容错方法,实现了云流媒体集群中当出现某个节点或某些节点掉线或宕机时,能够将编码设备迁移到其他节点上,保证客户端正常访问资源。
35.另一方面,主节点的编排器2还用于接收到来自调度件1的新增服务节点消息,并向新增节点分配任务。集群处理能力不足时,可以新增服务器安装集群组建。新的服务节点连接到集群调度件1,将自身节点状态通过启动器3注册到调度件1。主节点的编排器2接收到节点上线消息,会将编码设备分配到新增服务器上。新增节点的启动器3接收到本节点任务,通知主程序4加载编码设备。通过以上集群扩容的方法,当编码设备超出当前集群承受的最大能力时,能够通过增加服务器扩大集群能力。
36.本发明实施例还提供一种云流媒体集群,包括多个服务节点,服务节点包括上述实施例提供的数据处理装置。
37.本发明实施例提供的是一种分布式云流媒体集群,其中每个节点中的分布式调度件负责维护集群数据库,以键值对(key:value)形式存储集群节点状态、集群总设备列表、集群单个节点任务列表。
38.例如,节点在线状态键值对(/cluster/nodeid/dev25:1),其中的键是“/cluster/nodeid/dev25”,对应的值是“1”,代表节点dev25在线;节点dev25的任务信息键值对(/cluster/nodeconfig/dev25:x),其中的键是“/cluster/nodeconfig/dev25”,对应的值是“x”,其中value也可以是自定义的任意格式数据,用来表示任务信息。从而实现集群内部数据共享,保证每个服务器程序可以正常访问和设置键值。
39.如图2所示,本发明实施例中,编排器的处理方法流程如下:1. 每个云节点首先启动编排器服务,启动后参与竞选,成功设置主键值的节点视为选举成功,即为主节点,启动异步处理任务;设置主键值失败视为未选举成功,此后一直监测主键值是否发生变化,当主键值变化时再次参与竞选,尝试设置主键值。
40.2. 主节点的异步处理任务,在调度件中获取设备列表和集群中在线节点列表,分配主机,将编码设备按照每个节点的额度分配到单个在线节点中。同时监测设备列表变化和节点状态变化,当设备列表或节点状态发生变化时,需要重新计算并分配任务。
41.同时主节点添加集群的虚拟ip地址,启动网关信令服务,处理客户端的请求,客户
端通过访问虚拟ip地址的网关信令,达到访问集群中编码设备的目的。
42.3. 主节点竞选成功后,还需要启动续约线程,定期对主键值续约,如续约失败,则视为丢失主权,结束异步处理任务。如果超出有效期仍未对主键值续约,调度件会将主键值删除,其他节点可以再次参与竞选。
43.如果由于网络状态等原因影响,导致节点续约失败,则需要停止网关信令服务,删除虚拟ip地址,交出主节点权利。
44.如图3所示,本发明实施例中,网关信令模块的处理方法流程如下:1. 一个集群内只需要主节点启动网关信令模块及服务,由主节点的编排器负责维护网关信令状态。
45.2. 网关信令模块连接到调度件,获取集群中的在线节点列表和每个节点的配置信息,将节点的配置信息保存,并监测节点状态列表,判断节点配置是否变化。当节点配置发生变化时,更新存储的配置信息。
46.3. 客户端通过虚拟ip地址,与网关信令通信,发送访问编码设备的请求。网关信令检测是否有请求到达,解析到请求后,查找编码设备所在的节点信息,包括真实ip地址、端口号等,然后将节点信息回复给客户端,客户端重新向真实节点发送访问编码设备的请求。
47.如图4所示,本发明实施例中,启动器的处理方法流程如下:1. 集群中每个服务节点都需要由启动器启动主程序服务,服务启动后持续注册节点的在线状态(异步处理),并持续对节点的标识/键值续约。
48.2. 通过领取本节点设备列表,领取本节点任务,通知主程序加载编码设备列表。监测节点配置,当配置改变时,获取节点配置,并通知主程序更新配置。
49.本实施例提供的云流媒体集群可以由多个流媒体服务节点组成,单个节点主程序各自工作负责添加部分编码设备的连接,同时互相通信,当某个节点出现异常时,可以由主节点的编排器调度,将此节点上的编码设备迁移到其他正常节点上。保证编码设备稳定在线,正常处理客户端的请求。一个集群有一个统一虚拟ip地址,并添加到主节点上,客户端通过虚拟ip地址,访问整个集群中的设备资源,而无需关注设备具体所在的节点。
50.对应于上述方法,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述装置的功能。
51.本发明实施例所提供的装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
52.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
53.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以
存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
54.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献