发明内容
本发明所要解决的技术问题是提供一种视频监控系统的通信方法及其设备,用以降低MS分发压力,减少MS复制分发的数据量
为解决上述技术问题,本发明提供方案如下:
一种视频监控系统的通信方法,所述视频监控系统包括中央管理服务器CMS和多个媒体交换机MS,各个MS管辖的区域内包括有至少一个客户端单元CU和/或至少一个前端单元PU,所述通信方法包括:
步骤A,CMS接收第一CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息,其中第一CU和第一PU不在同一个MS管辖的区域内;
步骤B,CMS查找本地维护的系统资源表,确定能够提供第一PU的数据源的MS,并从中选择一个MS,作为提供第一PU的数据源的上级媒体交换机MS-TOP,所述系统资源表中包括有所述视频监控系统中的MS能够提供的PU的数据源的信息;
步骤C,CMS向第一CU所属区域的媒体交换机MS-CU发送携带有MS-TOP和第一PU的信息的指示消息,所述指示消息用于指示MS-CU向MS-TOP请求建立到第一PU的SIP会话;
步骤D,CMS在本地维护的系统资源表中增加所述MS-CU,作为能够提供第一PU的数据源的MS,并向第一CU返回一个重定向响应消息,所述重定向响应消息用于指示第一CU向MS-CU请求建立到第一PU的SIP会话。
优选地,上述通信方法中,所述从中选择一个MS,作为提供第一PU的数据源的上级媒体交换机MS-TOP,是从能够提供第一PU的数据源的MS中,选择位于第一PU所属区域的上层汇聚网络的、且距离第一PU最近的MS,作为所述MS-TOP。
优选地,上述通信方法中,还包括:
步骤E,CMS接收到MS-CU发送的用于指示到第一PU的SIP会话已拆除的指示消息后,在本地维护的系统资源表中,将MS-CU从能够提供第一PU的数据源的MS中删除。
优选地,上述通信方法中,所述步骤A还包括:
CMS判断第一PU所属区域的媒体交换机MS-PU当前的数据转发压力是否超出预定门限:若是,则进入步骤B;否则进入步骤F;
步骤F,CMS控制建立第一PU到MS-PU、MS-PU到MS-CU、MS-CU到第一CU的转发路径,通过该转发路径向第一CU发送第一PU的数据流。
本发明还提供了一种视频监控系统的通信方法,所述视频监控系统包括中央管理服务器CMS和多个媒体交换机MS,各个MS管辖的区域内包括有至少一个客户端单元CU和/或至少一个前端单元PU,所述通信方法包括:
第一CU所属区域的媒体交换机MS-CU,接收CMS发送的携带有MS-TOP和第一PU的信息的指示消息,所述MS-TOP是CMS在接收到第一CU发送的请求建立到第一PU的SIP会话的SIP请求消息后,通过查找本地维护的系统资源表,确定能够提供第一PU的数据源的MS,并从中选择出的作为提供第一PU的数据源的上级MS;
MS-CU在接收到所述指示消息后,通过向MS-TOP发送用于请求建立到第一PU的SIP会话的SIP请求消息,建立与MS-TOP之间的SIP会话,并根据MS-TOP返回的携带有第一PU的信息的响应消息,在自身维护的PU资源表中增加第一PU,作为自身能够提供数据源的PU;
MS-CU接收第一CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息,查询本地维护的PU资源表,判断出自身能够提供第一PU的数据源后,响应该SIP请求后,建立与第一CU之间的SIP会话;
MS-CU接收并记录MS-TOP下发的其所维护的能够提供第一PU数据源的P2P列表,并通过向下级MS中除自身外的其它MS发送用于请求建立到第一PU的SIP会话的SIP请求消息,建立与所述其它MS之间的SIP会话,所述下级MS是所述P2P列表中除MS-TOP之外的其它MS;
MS-CU接收MS-TOP按照轮流向各个下级MS发送方式发送给本MS-CU的第一PU的部分数据,并与所述其它MS通过P2P方式相互交互各自缺失的第一PU的数据,获得第一PU的完整数据并进行排序,再将排序后得到的第一PU的数据流发送给第一CU。
优选地,上述通信方法中,还包括:
MS-CU接收第一CU发送的用于请求拆除到第一PU的SIP会话的会话拆除请求,并向第一CU返回会话已拆除的响应消息;
MS-CU判断自身是否在向本区域内第一CU外的其它CU发送第一PU的数据流:
若是,则结束流程;
否则,通过向MS-TOP发送用于请求拆除到第一PU的SIP会话的会话拆除请求,拆除自身与MS-TOP之间的SIP会话,并在接收到MS-TOP返回的响应消息后,将第一PU从自身维护的PU资源表中删除;通过向所述下级MS中除自身外的其它MS发送用于请求拆除到第一PU的SIP会话的会话拆除请求,拆除自身与所述其它MS之间的SIP会话;以及,向CMS发送用于指示到第一PU的SIP会话已拆除的指示消息,指示CMS将MS-CU从能够提供第一PU的数据源的MS中删除。
本发明还提供了一种视频监控系统的通信方法,所述视频监控系统包括中央管理服务器CMS和多个媒体交换机MS,各个MS管辖的区域内包括有至少一个客户端单元CU和/或至少一个前端单元PU,所述通信方法包括:
MS-TOP接收到MS-CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息,所述MS-CU是第一CU所属区域的媒体交换机MS,所述MS-TOP是CMS在接收到第一CU发送的建立到第一PU的SIP会话的请求后,通过查找本地维护的系统资源表,确定能够提供第一PU的数据源的MS,并从中选择出的作为提供第一PU的数据源的上级MS;
MS-TOP查询本地维护的PU资源表,判断出自身能够提供第一PU的数据源后,响应所述SIP请求消息,建立与MS-CU之间的SIP会话,并向MS-CU返回携带有第一PU的信息的响应消息,所述响应消息指示MS-CU在自身维护的PU资源表中增加第一PU,作为MS-CU能够提供数据源的PU;以及,在建立与MS-CU之间的SIP会话后,在本地维护的能够提供第一PU数据源的P2P列表中增加MS-CU,再向该P2P列表中的所有下级MS下发该P2P列表,所述下级MS是所述P2P列表中除MS-TOP之外的其它MS;
MS-TOP在接收到所有下级MS在保存所述P2P列表后返回的响应消息后,轮流向各个下级MS发送来自第一PU的部分数据,所述部分数据用于供下级MS之间通过P2P方式进行数据交互,以得到第一PU的完整数据。
优选地,上述通信方法中,还包括:
MS-TOP接收MS-CU发送的用于请求拆除到第一PU的SIP会话的会话拆除请求,拆除与MS-CU之间的SIP会话,并将MS-CU从所述P2P列表中删除。
本发明还提供了一种视频监控系统中的中央管理服务器CMS,所述视频监控系统还包括多个媒体交换机MS,各个MS管辖的区域内包括有至少一个客户端单元CU和/或至少一个前端单元PU,所述CMS包括:
会话请求接收单元,用于接收第一CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息,其中第一CU和第一PU不在同一个MS管辖的区域内;
上级MS确定单元,用于查找本地维护的系统资源表,确定能够提供第一PU的数据源的MS,并从中选择一个MS,作为提供第一PU的数据源的上级媒体交换机MS-TOP,所述系统资源表中包括有所述视频监控系统中的MS能够提供的PU的数据源的信息;
指示消息发送单元,用于向第一CU所属区域的媒体交换机MS-CU发送携带有MS-TOP和第一PU的信息的指示消息,所述指示消息用于指示MS-CU向MS-TOP请求建立到第一PU的SIP会话;
重定向单元,用于在接收到MS-CU在接收到所述指示消息后返回的响应消息后,在本地维护的系统资源表中增加所述MS-CU,作为能够提供第一PU的数据源的MS,并向第一CU返回一个重定向响应消息,所述重定向响应消息用于指示第一CU向MS-CU请求建立到第一PU的SIP会话。
优选地,上述的CMS中,
所述上级MS确定单元,进一步用于从能够提供第一PU的数据源的MS中,选择位于第一PU所属区域的上层汇聚网络的、且距离第一PU最近的MS,作为所述MS-TOP。
优选地,上述的CMS中,还包括:
系统资源表维护单元,用于在接收MS-CU发送的用于指示到第一PU的SIP会话已拆除的指示消息后,在本地维护的系统资源表中,将MS-CU从能够提供第一PU的数据源的MS中删除。
本发明还提供了一种视频监控系统的第一CU所属区域的媒体交换机MS-CU,所述视频监控系统包括中央管理服务器CMS和多个媒体交换机MS,各个MS管辖的区域内包括有至少一个客户端单元CU和/或至少一个前端单元PU,所述MS-CU包括:
指示消息接收单元,用于接收CMS发送的携带有MS-TOP和第一PU的信息的指示消息,所述MS-TOP是CMS在接收到第一CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息后,通过查找本地维护的系统资源表,确定能够提供第一PU的数据源的MS,并从中选择出的作为提供第一PU的数据源的上级MS;
上级会话建立单元,用于在接收到所述指示消息后,通过向MS-TOP发送用于请求建立到第一PU的SIP会话的SIP请求消息,建立与MS-TOP之间的SIP会话;
表项维护单元,用于根据MS-TOP返回的携带有第一PU的信息的响应消息,在自身维护的PU资源表中增加第一PU,作为自身能够提供数据源的PU,以及接收并记录MS-TOP下发的其所维护的能够提供第一PU数据源的P2P列表,所述P2P列表中包括有MS-TOP和下级MS;;
第一会话建立单元,用于接收第一CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息,查询本地维护的PU资源表,判断出自身能够提供第一PU的数据源后,响应该SIP请求后,建立与第一CU之间的SIP会话;
第二会话建立单元,用于通过向下级MS中除自身外的其它MS发送用于请求建立到第一PU的SIP会话的SIP请求消息,建立与所述其它MS之间的SIP会话,所述下级MS是所述P2P列表中除MS-TOP之外的其它MS;
数据处理单元,用于接收MS-TOP按照轮流向各个下级MS发送方式发送给本MS-CU的第一PU的部分数据,并与所述其它MS通过P2P方式相互交互各自缺失的第一PU的数据,获得第一PU的完整数据并进行排序,再将排序后得到的第一PU的数据流发送给第一CU。
优选地,上述的MS-CU中,还包括:
拆除请求接收单元,用于接收第一CU发送的用于请求拆除到第一PU的SIP会话的会话拆除请求,并向第一CU返回会话已拆除的响应消息;
会话请求处理单元,用于在接收到上述会话拆除请求后,判断本MS-CU是否在向本区域内第一CU外的其它CU发送第一PU的数据流:
若是,则不执行任何动作;
否则,通过向MS-TOP发送用于请求拆除到第一PU的SIP会话的会话拆除请求,拆除自身与MS-TOP之间的SIP会话,并在接收到MS-TOP返回的响应消息后,将第一PU从自身维护的PU资源表中删除;通过向所述下级MS中除自身外的其它MS发送用于请求拆除到第一PU的SIP会话的会话拆除请求,拆除自身与所述其它MS之间的SIP会话;以及,向CMS发送用于指示到第一PU的SIP会话已拆除的指示消息,指示CMS将MS-CU从能够提供第一PU的数据源的MS中删除。
本发明还提供了一种视频监控系统的上级媒体交换机MS-TOP,所述视频监控系统包括中央管理服务器CMS和多个媒体交换机MS,各个MS管辖的区域内包括有至少一个客户端单元CU和/或至少一个前端单元PU,
所述MS-TOP是CMS在接收到第一CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息后,通过查找本地维护的系统资源表,确定能够提供第一PU的数据源的MS,并从中选择出的作为提供第一PU的数据源的上级MS;
所述MS-TOP包括:
会话请求接收单元,用于接收MS-CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息,所述MS-CU是第一CU所属区域的媒体交换机MS,;
会话建立单元,用于在接收到所述SIP请求消息,查询本地维护的PU资源表,判断出自身能够提供第一PU的数据源后,响应所述SIP请求消息,建立与MS-CU之间的SIP会话,并向MS-CU返回携带有第一PU的信息的响应消息,所述响应消息指示MS-CU在自身维护的PU资源表中增加第一PU,作为MS-CU能够提供数据源的PU;
P2P列表维护单元,用于在建立与MS-CU之间的SIP会话后,在本地维护的能够提供第一PU数据源的P2P列表中增加MS-CU,再向该P2P列表中的所有下级MS下发该P2P列表,所述下级MS是所述P2P列表中除MS-TOP之外的其它MS;
数据分发单元,用于在接收到所有下级MS在保存所述P2P列表后返回的响应消息后,轮流向各个下级MS发送来自第一PU的部分数据,所述部分数据用于供下级MS之间通过P2P方式进行数据交互,以得到第一PU的完整数据。
优选地,上述的MS-TOP中,还包括:
会话拆除单元,用于接收MS-CU发送的用于请求拆除到第一PU的SIP会话的会话拆除请求,拆除与MS-CU之间的SIP会话;
所述P2P列表维护单元,还用于在拆除与MS-CU之间的SIP会话后,将MS-CU从所述P2P列表中删除。
从以上所述可以看出,本发明提供的一种视频监控系统的通信方法及其设备,通过整合视频监控系统内的MS资源,形成以MS-TOP为源、以监控网络内其他MS为网络节点的分布式网络,通过该分布式网络传输实况图像。由于数据在该分布式网络采用分层P2P的传输方式,上级MS下级MS提供转发数据,下级MS之间以P2P的形式做数据共享,从而减少上级MS转发到下级MS的业务流量,大大降低了上级MS的数据分发压力,提高了视频监控系统的整体性能。
具体实施方式
本发明通过整合视频监控系统内的MS资源,形成以上级媒体交换机(MS-TOP)为源、以视频监控网络内其他MS为网络节点的分布式网络,通过该分布式网络传输实况图像。该分布式网络采用分层端到端(P2P,Peer toPeer)的结构,尽可能地减少MS的数据分发压力。布置在主干线路上的MS-TOP为上级转发服务器,向下级服务器转发数据。下级媒体交换机(MS-P2P)以P2P方式进行数据共享,减少MS-TOP转发到MS-P2P的业务流量。以下将结合附图,通过具体实施例对本发明作进一步的说明。
现有技术中,假设第一CU向CMS申请浏览第一PU的实况图像(第一PU和第一CU不在同一个MS管辖区域内),在经过CMS的准入控制后,建立实况图像转发路径:第一PU到第一PU所述区域的MS-PU、MS-PU到第一CU所属区域的MS-CU、MS-CU到第一CU的转发路径,通过该转发路径向第一CU发送第一PU的数据流。
本实施例中,在经过CMS准入控制后,CMS进一步判断MS-PU的当前数据转发压力是否超出预定门限:如果是,则按照图3所示的步骤进行处理;否则,按照现有技术的处理方式进行处理。这里,MS-PU的当前数据转发压力可以根据MS-PU当前转发到其它MS的数据量(或者转发的PU的路数)与MS-PU最大能够处理的转发数据量(或者最大能够转发的PU的路数)的比值确定。
请参照图3,本发明实施例所述视频监控系统的通信方法,应用在一视频通信系统中,该视频监控系统包括一个CMS和多个媒体交换机MS,每个MS管辖的区域内包括有至少一个CU和/或至少一个PU,该通信方法包括以下步骤:
步骤101,某用户区域的CU(假设为第一CU)需要浏览某编码器区域的PU(假设为第一PU)的实况图像,该第一CU向CMS发起一个SIP请求消息(具体为SIP INVITE消息):第一PU@CMS,用于请求建立到第一PU的SIP会话。
步骤102,CMS对该第一CU的进行准入控制,在第一CU通过准入控制后,判断出MS-PU的数据处理压力已超出预定门限,此时,CMS向第一CU回应100Trying的SIP响应消息。
这里,本实施例假设第一PU与第一CU并不处于同一个MS管辖的区域,此时第一PU的实况图像的数据需要经过第一CU所属区域的MS(记为MS-CU)的转发。如果第一PU与第一CU在同一个MS管辖的区域内,则两者之间直接建立SIP会话,传输实况图像,这属于现有技术的方案,不在本实施例的讨论范围内。
步骤103,CMS查找本地维护的系统资源表第一PU@CMS,该系统资源表中包括有视频监控系统中MS能够提供数据源的PU的信息,从而确定哪些MS可以提供第一PU的数据源,并从能够提供第一PU的数据源的MS中选择出一个MS,作为提供第一PU的数据源的上级媒体交换机MS-TOP,然后向第一CU所在区域的MS(即MS-CU)发送携带有MS-TOP和第一PU的信息的指示消息,该指示消息用于指示MS-CU向MS-TOP发送用于请求建立到第一PU的SIP会话的SIP请求消息,以建立到MS-TOP的SIP会话。这里,指示消息具体可以采用扩展的SIP INFO消息,其消息体使用扩展标记语言(XML,eXtensible Markup Language)描述如下:
<
xml version=″1.0″encoding=″UTF-8″
>
<Message Verison=″1.0″>
<Header MessageType=″SESSION_SETUP″
/>
<IE_SESSION_INFO PeerLocal=″MS-CU″
PeerRemote=″MS-TOP″
PU_ID=″PU1″
/>
</Message>
上述消息体中,PU1表示第一PU。
本步骤103中,从能够提供第一PU的数据源的MS中选择MS-TOP的方式,可以是从中随机选择一个MS作为MS-TOP,还可以是从中选择当前数据转发压力最小的MS作为MS-TOP。由于PU所属区域到CU所属区域通常需要经过复杂、分层的网络路由,一般来说MS-TOP通常选择在PU所属区域的上层汇聚网络的MS。另外,由于分层分布式网络采用P2P方式共享数据,不可避免引入转发时延,因此对于浏览质量要求较高的CU,需要保证MS-TOP尽可能靠近PU。因此,优选地,本实施例从能够提供第一PU的数据源的MS中,选择位于第一PU所属区域的上层汇聚网络的、且距离第一PU最近的MS,作为MS-TOP。
本实施例中,CMS还可以在本地系统资源表中增加各个MS的服务优先级与网络优先级,下表1示出了CMS维护的系统资源表的一种可能的形式。其中,MS的服务优先级可以由管理员预先设定,例如,根据MS管辖区域的重要程度,设置对应的服务优先级。MS的网络优先级,则根据MS所在的网络位置设定,例如,核心层、汇聚层和接入层的带宽和服务质量(QoS)通常是逐渐降低的,因此,可以设置:位于核心层MS的网络优先级>位于汇聚层的MS的网络优先级>位于接入层的MS的网络优先级。进而,本实施例可以根据CU所属区域的服务优先级与各个MS的网络优先级来综合判断,选择出MS-TOP。例如,在MS-CU的服务优先级较高时,可以从能够提供第一PU的数据源的MS中,选择网络优先级较高的MS,作为MS-TOP;在MS-CU的服务优先级一般时,可以从能够提供第一PU的数据源的MS中,选择网络优先级一般的MS,作为MS-TOP。当然,也可以简化处理,直接选择网络优先级最高的MS作为数据源。
序号 |
MS-ID |
服务优先级 |
网络优先级 |
能够提供数据源的PU ID |
1 |
MS-PU |
60 |
60 |
PUx |
2 |
MS-top |
80 |
80 |
PUx |
3 |
MS-P2P |
60 |
60 |
PUx |
4 |
MS-CU |
60 |
60 |
|
表1
步骤104,MS-CU接收到上述指示消息后,向CMS回应200OK的SIP响应消息,CMS接收到该SIP响应消息后,在本地保存的系统资源表中添加MS-CU作为能够提供第一PU的数据源的MS,来更新维护该系统资源表。
这里,CMS在本地维护的系统资源表中包括有视频监控系统中各个MS能够提供数据源的PU的信息。某个MS能够提供某个PU的数据源,是指该MS能够作为该PU的数据源,提供来自该PU的数据。CMS维护系统资源表的方式包括:在某个MS与某个PU之间建立SIP会话后,CMS将该PU作为该MS能够提供数据源的PU,增加到系统资源表中。
步骤105,CMS向第一CU回应300的重定向响应消息,其中该消息中的Contact字段填充为MS-CU的地址,该重定向响应消息用于指示第一CU向MS-CU请求建立到第一PU的SIP会话。MS-CU则根据上述指示消息,向MS-TOP发送一个SIP请求(INVITE)消息:第一PU@MS-TOP,用于请求建立到第一PU的SIP会话。
这里,上述步骤105中的CMS重定向消息回复与MS-CU发送SIP请求消息两个动作之间并没有必然的时间联系,该两个动作只是CMS和MS-CU在步骤104后的独立动作。
步骤106,第一CU接收到上述重定向请求消息后,向CMS回应200OK的响应消息。MS-TOP则在接收到MS-CU发送的SIP请求(INVITE)消息后,查询本地维护的PU资源表,判断出自身能够提供第一PU的数据源后,响应所述SIP请求(INVITE)消息,建立与MS-CU之间的SIP会话,并向MS-CU返回携带有第一PU的信息的响应消息,所述响应消息指示MS-CU在自身PU资源表中增加第一PU,作为能够提供数据源的PU;MS-CU接收到MS-TOP返回的响应消息后,在自身维护的PU资源表里增加第一PU,作为自身能够提供数据源的PU。这里,MS-TOP发送的响应消息的消息体使用XML描述如下:
<
xml version=″1.0″encoding=″UTF-8″
>
<Message Verison=″1.0″>
<Header MessageType=″SOURCE_LIST″
/>
<IE_SOURCE_LIST SourceList=″PU1″
/>
</Message>
其中,SourceList=″PU1″,表示MS-CU将能够提供第一PU的数据源。
本实施例中,视频监控系统中的各个MS都在本地维护有一PU资源表,该PU资源表中记录了本MS能够提供数据源的PU的信息。MS-CU在本地维护的PU资源表如下表2所示:
MS-ID |
能够提供数据源的PU ID |
MS-CU |
PU1 |
表2
上述步骤106中,第一CU回复的响应消息和MS-TOP回复的响应消息之间并没有必然的时间联系,只是第一CU与MS-TOP在步骤105后的独立动作。
步骤107,第一CU向自身所属区域的MS-CU发送SIP请求(INVITE)消息:第一PU@MS-CU,用于请求建立到第一PU的SIP会话。
步骤108,MS-CU查询本地PU资源表判断出自身能够提供第一PU的数据源后,响应该SIP INVITE后,建立与第一CU之间的SIP会话,并向第一CU返回响应消息;
步骤109,MS-TOP在本地维护一个能够提供第一PU数据源的P2P列表,在步骤106中向MS-CU返回携带有第一PU的信息的响应消息后,在该P2P列表中增加MS-CU,再向该P2P列表中的所有下级MS下发该P2P列表,所述下级MS是所述P2P列表中除MS-TOP之外的其它MS。下发该P2P列表可以使用扩展的SIP INFO消息,其消息体使用XML语言描述如下:
<
xml version=″1.0″encoding=″UTF-8″
>
<Message Verison=″1.0″>
<Header MessageType=″SUB_LEVEL_P2PLIST″
/>
<IE_P2P_LIST P2PID=″MS-P2P......MS-CU″
/>
</Message>
其中,P2PID表示MS-TOP维护的P2P列表中所包括的MS,这些MS能够提供第一PU的数据源。
步骤110,各个下级MS(包括MS-CU)接收到MS-TOP下发的P2P列表后,将该P2P列表记录到本地,并向MS-TOP回复200OK响应消息。
步骤111,在MS-TOP接收到P2P列表中的所有下级MS返回的响应消息后,轮流向各个下级MS发送来自第一PU的部分数据,所述部分数据用于供下级MS之间通过P2P方式进行数据交互,以得到第一PU的完整数据。
这里,MS-CU也是P2P列表中的一个下级MS,所述P2P列表中其它下级MS和MS-TOP之间均建立有SIP会话,会话建立方式与步骤105~106中MS-CU建立与MS-TOP之间的SIP会话相同。
这里,上述步骤111中,第一PU的数据通过实时传输协议(RTP,Real-timeTransport Protocol)传输;所述轮流向各个下级MS发送来自第一PU的部分数据,具体是:MS-TOP将来自第一PU的预定数量的RTP数据发送给P2P列表中的第一个下级MS,再将接下来的来自第一PU的预定数量的RTP数据发送给P2P列表中的第二个下级MS,以此类推,直至最后一个下级MS,然后再重复上述发送动作,从第一个下级MS开始继续发送。下级MS作为数据接收端,向MS-TOP发送RTP控制协议(RTCP,RTP Control Protocol)数据接收报告,报告数据接收情况。
步骤112,MS-CU向下级MS中除自身外的其它MS(记为MS-P2P)分别发送SIP请求(INVITE)消息:第一PU@MS-P2P,请求建立到第一PU的SIP会话。
步骤113,各个MS-P2P在接收到MS-CU发送的SIP请求消息后,查询本地维护的PU资源表,判断出自身能够提供第一PU的数据源后,响应该SIP请求消息后,建立与MS-CU之间的SIP会话,并向MS-CU返回200OK响应消息。
步骤114,于是,下级MS(包括MS-CU和MS-P2P)接收MS-TOP按照轮流向各个下级MS发送方式发送给本MS的第一PU的部分数据,并且下级MS之间按照P2P方式进行数据共享,相互交互各自缺失的第一PU的数据:下级MS将各自收到的RTP数据分发给P2P列表中的其他下级MS,从而获得第一PU的完整数据。
步骤115,通过P2P方式,MS-CU获取到第一PU的完整数据后,再按照数据包的序列号进行排序,得到第一PU的数据流,再将第一PU的数据流发送给第一CU。
从以上所述可以看出,本实施例通过整合视频监控系统内的MS资源,形成以MS-TOP为源、以视频监控系统内其他下级MS为网络节点的分布式网络,通过该分布式网络传输实况图像。该分布式网络采用分层P2P的方式,尽可能地减少上级MS的数据分发压力。MS-TOP通常为布置在主干线路上的MS,作为上级转发服务器,提供向下级服务器转发数据。下级MS作为下级转发服务器,以P2P的形式做数据共享,从而减少上级服务器转发到下级服务器的业务流量。
例如,采用现有技术的复制分发方式,当有m个MS-CU请求第一PU的图像时,MS-PU需要将第一PU的数据复制m份再分别下发到各个MS-CU。采用本实施例所述通信方法后,MS-PU通常只需要发送一份第一PU的数据到MS-TOP;而对于MS-TOP,其下发到所有下级MS的第一PU的数据量总共也只有一份,因此本实施例不再需要根据MS-CU的数量来复制第一PU的数据,从而可以大幅度降低热点区域的MS的数据处理压力减少MS复制分发的数据量,提高视频监控系统的整体性能。
以下请参照图4,在第一CU结束浏览第一PU的实况图像时,本实施例还包括以下步骤:
步骤116,第一CU在需要结束浏览第一PU的实况图像时,向MS-CU发送的用于请求拆除到第一PU的SIP会话的会话拆除请求(具体可以采用SIPBYE消息)。
步骤117,MS-CU接收到上述会话拆除请求后,向第一CU回应200OK响应消息,用于指示会话已拆除。
步骤118,MS-CU判断自身是否在向本区域(即MS-CU管辖区域)内第一CU外的其它CU发送第一PU的数据流:若是,则不执行任何动作,直接结束流程;否则,通过向MS-TOP发送用于请求拆除到第一PU的SIP会话的会话拆除请求,拆除自身与MS-TOP之间的SIP会话;
步骤119,MS-TOP接收到MS-CU发送的会话拆除请求后,向MS-CU回应200OK响应,并拆除与MS-CU之间的SIP会话,同时将MS-CU从本地维护的所述P2P列表中删除。在此之后,MS-TOP还可以将更新后的P2P列表下发到该P2P列表中除自身外的所有MS。MS-CU在接收到MS-TOP返回的200OK响应后,将第一PU从自身维护的PU资源表中删除。
步骤120,MS-CU在分发完第一PU的所有数据后,向下级MS中除自身外的其它MS(即MS-P2P)发送用于请求拆除到第一PU的SIP会话的会话拆除请求,拆除自身与所述其它MS之间的SIP会话。
步骤121,各个MS-P2P在接收到MS-CU发送的会话拆除请求后,向MS-CU回应200OK响应,并拆除与MS-CU之间的SIP会话。
步骤122,MS-CU在接收到各个MS-P2P返回的响应消息后,向CMS发送用于指示到第一PU的SIP会话已拆除的指示消息,指示CMS将MS-CU从能够提供第一PU的数据源的MS中删除,该指示消息可以采用扩展的SIPINFO消息,其消息体使用XML语言描述如下:
<
xml version=″1.0″encoding=″UTF-8″
>
<Message Verison=″1.0″>
<Header MessageType=″SESSION_RELAESE″
/>
<IE_SESSION_INFO PeerLocal=″MS-CU″
PeerRemote=″MS-TOP″
DataTransfer=″PU1″
/>
</Message>
步骤123,CMS在接收到上述指示消息后,在本地维护的系统资源表中,将MS-CU从能够提供第一PU的数据源的MS中删除。
另外,如果因为网络丢包、个别MS故障等原因引发的第一PU的P2P个体数据缺失,此时的具体处理如下:由于第一PU的数据通过RTP协议承载,接收端实时地通过RTCP向发送端发送数据接收报告。如果发送端接收到的数据接收报告显示数据丢包,发送端根据丢失数据包的序列号(SequenceNumber)重发丢失的数据包;如果发送端接收某个MS的数据接收报告超时,则将该MS从P2P列表中清除,并将最新的P2P列表通知该P2P列表中除自身外的所有MS。
从以上所述可以看出,本发明实施例
通过整合视频监控系统内的MS资源,形成以MS-TOP为源、以监控网络内其他MS为网络节点的分布式网络,通过该分布式网络传输实况图像。由于数据在该分布式网络采用分层P2P的传输方式,上级MS下级MS提供转发数据,下级MS之间以P2P的形式做数据共享,从而减少了上级MS转发到下级MS的业务流量,大大降低了上级MS的数据分发压力,提高了视频监控系统的整体性能。
基于以上所述的视频监控系统的通信方法,本发明实施例还提供了用于实施上述通信方法的设备及视频监控系统,该视频监控系统包括CMS和多个MS,各个MS管辖的区域内包括有至少一个客户端单元CU和/或至少一个前端单元PU。
其中,如图5所示,所述CMS包括:
会话请求接收单元,用于接收第一CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息,其中第一CU和第一PU不在同一个MS管辖的区域内;
上级MS确定单元,用于查找本地维护的系统资源表,确定能够提供第一PU的数据源的MS,并从中选择一个MS,作为提供第一PU的数据源的上级媒体交换机MS-TOP,所述系统资源表中包括有所述视频监控系统中的MS能够提供的PU的数据源的信息;
指示消息发送单元,用于向第一CU所属区域的媒体交换机MS-CU发送携带有MS-TOP和第一PU的信息的指示消息,所述指示消息用于指示MS-CU向MS-TOP请求建立到第一PU的SIP会话;
重定向单元,用于在接收到MS-CU在接收到所述指示消息后返回的响应消息后,在本地维护的系统资源表中增加所述MS-CU,作为能够提供第一PU的数据源的MS,并向第一CU返回一个重定向响应消息,所述重定向响应消息用于指示第一CU向MS-CU请求建立到第一PU的SIP会话。
优选地,上述CMS中,所述上级MS确定单元,进一步用于从能够提供第一PU的数据源的MS中,选择位于第一PU所属区域的上层汇聚网络的、且距离第一PU最近的MS,作为所述MS-TOP。
优选地,上述CMS中,还包括:
系统资源表维护单元,用于在接收MS-CU发送的用于指示到第一PU的SIP会话已拆除的指示消息后,在本地维护的系统资源表中,将MS-CU从能够提供第一PU的数据源的MS中删除。
本发明实施例提供的视频监控系统中,所述MS中包括有第一CU所属区域的媒体交换机MS-CU,如图6所示,所述MS-CU包括:
指示消息接收单元,用于接收CMS发送的携带有MS-TOP和第一PU的信息的指示消息,所述MS-TOP是CMS在接收到第一CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息后,通过查找本地维护的系统资源表,确定能够提供第一PU的数据源的MS,并从中选择出的作为提供第一PU的数据源的上级MS;
上级会话建立单元,用于在接收到所述指示消息后,通过向MS-TOP发送用于请求建立到第一PU的SIP会话的SIP请求消息,建立与MS-TOP之间的SIP会话;
表项维护单元,用于根据MS-TOP返回的携带有第一PU的信息的响应消息,在自身维护的PU资源表中增加第一PU,作为自身能够提供数据源的PU,以及接收并记录MS-TOP下发的其所维护的能够提供第一PU数据源的P2P列表,所述P2P列表中包括有MS-TOP和下级MS;;
第一会话建立单元,用于接收第一CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息,查询本地维护的PU资源表,判断出自身能够提供第一PU的数据源后,响应该SIP请求后,建立与第一CU之间的SIP会话;
第二会话建立单元,用于通过向下级MS中除自身外的其它MS发送用于请求建立到第一PU的SIP会话的SIP请求消息,建立与所述其它MS之间的SIP会话,所述下级MS是所述P2P列表中除MS-TOP之外的其它MS;
数据处理单元,用于接收MS-TOP按照轮流向各个下级MS发送方式发送给本MS-CU的第一PU的部分数据,并与所述其它MS通过P2P方式相互交互各自缺失的第一PU的数据,获得第一PU的完整数据并进行排序,再将排序后得到的第一PU的数据流发送给第一CU。
优选地,上述MS-CU中,还包括:
拆除请求接收单元,用于接收第一CU发送的用于请求拆除到第一PU的SIP会话的会话拆除请求,并向第一CU返回会话已拆除的响应消息;
会话请求处理单元,用于在接收到上述会话拆除请求后,判断本MS-CU是否在向本区域内第一CU外的其它CU发送第一PU的数据流:
若是,则不执行任何动作;
否则,通过向MS-TOP发送用于请求拆除到第一PU的SIP会话的会话拆除请求,拆除自身与MS-TOP之间的SIP会话,并在接收到MS-TOP返回的响应消息后,将第一PU从自身维护的PU资源表中删除;通过向所述下级MS中除自身外的其它MS发送用于请求拆除到第一PU的SIP会话的会话拆除请求,拆除自身与所述其它MS之间的SIP会话;以及,向CMS发送用于指示到第一PU的SIP会话已拆除的指示消息,指示CMS将MS-CU从能够提供第一PU的数据源的MS中删除。
本发明实施例提供的视频监控系统中,所述MS中还包括有上级媒体交换机MS-TOP,所述MS-TOP是CMS在接收到第一CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息后,通过查找本地维护的系统资源表,确定能够提供第一PU的数据源的MS,并从中选择出的作为提供第一PU的数据源的上级MS。如图7所示,所述MS-TOP包括:
会话请求接收单元,用于接收MS-CU发送的用于请求建立到第一PU的SIP会话的SIP请求消息,所述MS-CU是第一CU所属区域的媒体交换机MS,;
会话建立单元,用于在接收到所述SIP请求消息,查询本地维护的PU资源表,判断出自身能够提供第一PU的数据源后,响应所述SIP请求消息,建立与MS-CU之间的SIP会话,并向MS-CU返回携带有第一PU的信息的响应消息,所述响应消息指示MS-CU在自身维护的PU资源表中增加第一PU,作为MS-CU能够提供数据源的PU;
P2P列表维护单元,用于在建立与MS-CU之间的SIP会话后,在本地维护的能够提供第一PU数据源的P2P列表中增加MS-CU,再向该P2P列表中的所有下级MS下发该P2P列表,所述下级MS是所述P2P列表中除MS-TOP之外的其它MS;
数据分发单元,用于在接收到所有下级MS在保存所述P2P列表后返回的响应消息后,轮流向各个下级MS发送来自第一PU的部分数据,所述部分数据用于供下级MS之间通过P2P方式进行数据交互,以得到第一PU的完整数据。
优选地,上述MS-TOP中,还包括:
会话拆除单元,用于接收MS-CU发送的用于请求拆除到第一PU的SIP会话的会话拆除请求,拆除与MS-CU之间的SIP会话;
所述P2P列表维护单元,还用于在拆除与MS-CU之间的SIP会话后,将MS-CU从所述P2P列表中删除。
综上所述,本发明实施例提供的视频监控系统的通信方法、设备及视频监控系统,可以降低MS的数据转发压力,提高视频监控系统的整体性能。
以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。