著录项信息
专利名称 | 一种平台录像方法、系统 |
申请号 | CN200810241977.7 | 申请日期 | 2008-12-31 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2009-07-15 | 公开/公告号 | CN101483762 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04N7/18 | IPC分类号 | H;0;4;N;7;/;1;8;;;H;0;4;N;5;/;7;6查看分类表>
|
申请人 | 中兴通讯股份有限公司 | 申请人地址 | 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中兴通讯股份有限公司 | 当前权利人 | 中兴通讯股份有限公司 |
发明人 | 崔志伟 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明提供了一种平台录像方法、系统及客户端,当录像服务器出现异常时,客户端检测本地备份的录像任务列表中是否存在正在执行或者即将开始执行的录像任务,当存在时,客户端与编码器连接进行录像,并将录像文件保存在本地;通过本发明的上述至少一个方案,当平台录像机制在服务器侧出现故障的情况下,引入客户端与平台互备机制,在录像服务器出现意外情况不能执行平台录像时,由客户端代替录像服务器执行平台录像任务,可保证平台录像在录像服务器出现故障时仍可顺利完成录像任务,具有良好的容灾性。
一种平台录像方法、系统\n技术领域\n[0001] 本发明涉及多媒体技术领域,具体涉及流媒体录像技术。\n背景技术\n[0002] 随着网络技术的发展,一种新的媒体技术应运而生,这就是流媒体技术。流媒体是指在网络中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。流服务可以给用户提供持续不断的音视频流,满足用户在线观看动态影音的需求,流媒体技术在媒体点播领域和媒体直播领域得到极大的应用。\n[0003] 数字录像作为一种重要的视频信息保存方式,在诸多领域都有广泛的应用。平台录像,顾名思义是指由平台侧(服务器端)负责录像的执行和保存。由于现有的平台录像系统普遍采用C/S(客户端/服务器)架构,所以在执行平台录像时,对服务器端具有较强的依赖性。如果服务器端出现掉线或宕机等意外情况,则会导致平台录像的失败或部分缺失。\n发明内容\n[0004] 有鉴于此,本发明提供了一种平台录像方法、系统,用以解决现有技术中录像服务器出现意外情况不能执行平台录像时,导致平台录像失败或缺失的问题。\n[0005] 根据本发明的一个方面,提供了一种平台录像系统,\n[0006] 该系统包括客户端、录像服务器、编码器;\n[0007] 上述客户端,用于当录像服务器正常时向录像服务器发送录像任务,并在本地备份该录像任务;\n[0008] 当所述录像服务器出现异常时,该客户端,还用于检测本地备份的录像任务列表中是否存在正在执行或者即将开始执行的录像任务,当存在时,该客户端与编码器连接进行录像,并将录像文件保存在本地;\n[0009] 上述客户端,还用于,当所述录像服务器恢复正常后,向所述录像服务器发送所述录像文件;\n[0010] 所述录像服务器,用于当所述录像服务器出现异常之前:如果所述录像服务器已经录制了部分录像文件,则按照时间先后顺序拼接所述客户端发送的录像文件与所述录像服务器录制的部分录像文件,所述录像服务器还用于保存拼接后的录像文件;如果所述录像服务器没有开始录像任务,则所述录像服务器还用于保存所述客户端发送的录像文件。\n[0011] 另外,上述客户端,还用于定时向上述录像服务器发送保活消息,[0012] 上述录像服务器,还用于向该客户端发送上述保活消息的响应消息;\n[0013] 上述保活消息的响应消息包括所述录像服务器的运行状态。\n[0014] 另外,上述系统还包括与客户端连接的其它服务器;\n[0015] 上述保活消息的响应消息还包括上述录像服务器存储的全部录像任务列表;\n[0016] 当所述录像服务器出现异常时,由上述其它服务器负载均衡地选定至少一个在线客户端执行录像任务。\n[0017] 根据本发明的又一个方面,提供了一种平台录像方法,\n[0018] 上述方法包括如下步骤:\n[0019] 当录像服务器正常时,客户端向录像服务器发送录像任务,并将该录像任务在本地备份;\n[0020] 当录像服务器出现异常时,客户端检测本地备份的录像任务列表中是否存在正在执行或者即将开始执行的录像任务,当存在时,客户端与编码器连接进行录像,并将录像文件保存在本地;\n[0021] 当录像服务器恢复正常后,上述客户端向录像服务器发送上述录像文件;\n[0022] 当所述录像服务器出现异常之前:如果所述录像服务器已经录制了部分录像文件,则按照时间先后顺序拼接所述客户端发送的录像文件与所述录像服务器录制的部分录像文件,所述录像服务器保存拼接后的录像文件;如果所述录像服务器没有开始录像任务,则所述录像服务器保存所述客户端发送的录像文件。\n[0023] 另外,上述方法还包括:\n[0024] 上述客户端定时向录像服务器发送保活消息,该录像服务器向该客户端发送所述保活消息的响应消息;\n[0025] 上述保活消息的响应消息包括该录像服务器的运行状态。\n[0026] 上述客户端依据上述保活消息的响应消息,判断该录像服务器是否正常。\n[0027] 另外,上述保活消息的响应消息还可用来获取服务器端的录像任务列表,客户端依据该保活消息的响应消息,获取录像服务器存储的录像任务列表,并在本地保存;\n[0028] 客户端通过保活消息可以获取录像服务器端存储的全部录像任务列表,也可各个客户端只获取本客户端指定的录像任务,而不是一个客户端获取所有客户端制定的全部录像任务;\n[0029] 当所述录像服务器出现异常时,由与客户端连接的其它服务器负载均衡地选定至少一个在线客户端执行录像任务。\n[0030] 通过本发明的上述至少一个方案,当平台录像机制在服务器侧出现故障的情况下,引入客户端与平台互备机制,在录像服务器出现意外情况不能执行平台录像时,由客户端代替录像服务器执行平台录像任务,可保证平台录像在录像服务器出现故障时仍可顺利完成录像任务,具有良好的容灾性。\n附图说明\n[0031] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:\n[0032] 图1为根据本发明实施例的客户端的结构框图;\n[0033] 图2为根据本发明实施例的平台录像系统的应用环境部署图;\n[0034] 图3为本发明实施例一的具体实施过程的流程图。\n具体实施方式\n[0035] 如上所述,本发明提供了一种平台录像方法、系统及客户端,用以解决现有技术中录像服务器出现意外不能执行平台录像时,平台录像失败或缺失的问题。在该方案中,通过客户端与录像服务器互备机制,使得在录像服务器出现故障时仍可顺利完成录像任务。\n[0036] 以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。\n[0037] 根据本发明实施例,提供了一种客户端,如图1为根据本发明实施例的客户端的结构框图,根据本发明实施例的客户端包括:发送模块、备份模块、检测模块、连接模块、保存模块。\n[0038] 以下结合附图进一步描述上述各个模块。\n[0039] 发送模块101用于向录像服务器发送录像任务请求,该发送模块101还用于定时向录像服务器发送保活消息,并用于当录像服务器恢复正常后,向录像服务器发送录像文件;\n[0040] 并且上述客户端还包括:\n[0041] 备份模块105,用于在本地备份发送给录像服务器的录像任务;\n[0042] 检测模块102,用于检测本地备份的录像任务列表中是否存在正在执行或者即将开始执行的录像任务;\n[0043] 连接模块103,用于与编码器连接;\n[0044] 保存模块104,用于保存录像文件。\n[0045] 上述备份模块105,还用于保存从录像服务器获取的全部录像任务列表。\n[0046] 根据本发明实施例的上述客户端,当录像服务器出现异常时,仍可通过客户端完成录像任务。\n[0047] 根据本发明实施例,还提供一种平台录像系统,用于录像服务器出现异常时,仍可通过客户端完成录像任务。\n[0048] 图2为根据本发明实施例的平台录像系统的应用环境部署图,如图2所示的具体实施环境中,编码器203为与摄像头直接连接的能够提供流媒体数据的设备,客户端201可以是很多种,比如监控终端,摄像头作为监控系统的前端设备直接部署在监控现场,负责视频图像的采集;录像服务器与编码器之间可通过公网(InterNet)连接,也可以通过私有网络连接,编码器和摄像头之间是直接的物理连接。\n[0049] 正常情况下,录像服务器202与编码器203连接执行录像任务,客户端201向录像服务器202发起录像任务请求后,录像服务器202根据自身保存的录像任务列表执行录像任务,并保存录像文件。采用本发明平台录像系统,当录像服务器202发生异常时,客户端\n201可采用直连的方式直接与位于前端的编码器203建立连接,执行录像任务,保存录像文件,比如视频流,完成录像操作。\n[0050] 如图2所示,一种平台录像的系统,包括客户端201、录像服务器202、编码器203,以下结合附图进一步描述上述各个实体。\n[0051] 客户端201,用于向录像服务器202发送录像任务,并在本地备份该录像任务;\n[0052] 当录像服务器202出现异常时,该客户端201,还用于检测本地备份的录像任务列表中是否存在正在执行或者即将开始执行的录像任务,当存在时,该客户端201与编码器\n203连接进行录像,并将录像文件保存在本地。\n[0053] 另外,客户端201,还用于,当所述录像服务器202恢复正常后,向所述录像服务器发送所述录像文件;\n[0054] 录像服务器202,还用于,当该录像服务器202出现异常之前,\n[0055] 如果该录像服务器202已经录制了部分录像文件,则按照时间先后顺序拼接上述客户端201发送的录像文件与该录像服务器202录制的部分录像文件,该录像服务器202还用于保存拼接后的录像文件;如果该录像服务器202没有开始录像任务,则该录像服务器202还用于保存所述客户端201发送的录像文件。\n[0056] 另外,上述客户端201,还用于定时向上述录像服务器202发送保活消息,[0057] 上述录像服务器202,还用于向该客户端发送上述保活消息的响应消息;\n[0058] 上述保活消息的响应消息包括所述录像服务器202的运行状态。\n[0059] 另外,上述系统还包括与客户端201连接的其它服务器;\n[0060] 上述保活消息的响应消息还包括上述录像服务器202存储的全部录像任务列表;\n[0061] 当所述录像服务器202出现异常时,由上述其它服务器负载均衡地选定至少一个在线客户端201执行录像任务。\n[0062] 根据本发明实施例,提供了一种平台录像方法,以下结合图3进一步描述上述各个处理的细节。该方法包括如下步骤,对于多个录像任务而言,下面步骤可以并行执行,不分先后:\n[0063] 步骤301,客户端向录像服务器发送录像任务请求;\n[0064] 录像服务器保存客户端发送的录像任务,并按照系统时间执行录像任务,录像服务器(平台侧)将各客户端下发的录像任务或计划统一保存在平台侧数据库中,或者以数据结构的形式直接保存在内存中以获得更快的录像任务检索速度,并按照系统时间执行相应的录像任务。\n[0065] 步骤302,录像任务请求发送成功,客户端在本地备份该录像任务;\n[0066] 上述两步骤,具体操作包括:\n[0067] 客户端向录像服务器发送录像任务请求;\n[0068] 上述请求消息包括录像任务ID、监控点ID、录像开始时间、录像结束时间、录像的周期性信息;\n[0069] 客户端在本地数据库中备份客户端向录像服务器发送的录像任务。客户端不止可备份自身制定的录像任务,也可通过保活消息的响应消息,获取录像服务器侧的全部录像任务列表,在录像服务器发生异常时,可根据负载均衡等算法选定其中一个在线的客户端完成录像任务(选中的客户端可能并不是该录像任务的发起者),其中可由录像服务器以外的其他与客户端连接的其它服务器,如登录服务器进行负载均衡判断;\n[0070] 在上述情况下,客户端保存录像服务器测的全部录像任务表,在录像服务器发生异常时,如果客户端保存的录像任务列表中不存在正在执行或者即将开始执行的录像任务,则客户端定时重复检测本地备份的录像任务表,期间若有需要执行的录像任务则由客户端执行,同时客户端定时重复发送保活消息,若录像服务器恢复正常则结束流程。\n[0071] 步骤303,录像服务器与编码器连接,请求视频流,编码器控制摄像头开始录像;\n[0072] 步骤304,编码器向录像服务器返回视频流;\n[0073] 步骤305,客户端定时向录像服务器发送保活消息;\n[0074] 步骤306,录像服务器向该客户端发送所述保活消息的响应消息;\n[0075] 上述保活消息的响应消息包括该录像服务器的运行状态。\n[0076] 上述客户端依据上述保活消息的响应消息,判断该录像服务器是否正常。\n[0077] 上面两步骤,具体操作包括:\n[0078] 客户端定时(如每隔1分钟)向录像服务器不停地发送保活消息,向录像服务器通报自身的运行状况,同步系统时间,同时也通过消息响应监视录像服务器的运行情况。\n[0079] 步骤307,保活失败,表明录像服务器出现异常,客户端检测本地备份的录像任务列表中是否存在正在执行或者即将开始执行的录像任务,当存在时,客户端直连编码器,编码器控制摄像头进行录像;\n[0080] 步骤308,客户端通过直连方式从编码器端获取视频流,其在本地保存为录像文件;\n[0081] 上述两个步骤,具体操作包括:\n[0082] 客户端判断录像服务器保活消息的响应消息是否正常;如果保活失败或者录像服务器没有相应,则表明录像服务器出现异常,客户端检测本地备份的录像任务列表,根据系统时间判断是否有正在执行或者应该开始执行的录像任务,如果存在正在执行或即将开始执行的录像任务,客户端采用直连的方式直接与录像任务相关的目标编码器连接,,并将编码器发来的录像文件保存在本地。录像文件名称可以包括录像任务的ID、监控点ID、本地录像实际开始时间和结束时间。\n[0083] 步骤309,保活恢复,录像服务器恢复正常,上述客户端向录像服务器上传上述本地保存的录像文件;\n[0084] 当录像服务器出现异常之前:如果该录像服务器已经录制了部分录像文件,则按照时间先后顺序拼接客户端发送的录像文件与该录像服务器录制的部分录像文件,所述录像服务器保存拼接后的录像文件;如果该录像服务器没有开始录像任务,则该录像服务器直接保存上述客户端上传的录像文件。\n[0085] 客户端向录像服务器上传录像文件时,可使用断点续传或多线程并发下载等技术提高文件传输质量。\n[0086] 步骤310,客户端本地保存的录像文件传输完毕,然后录像服务器把对应于某一录像任务的完整录像文件发送给请求该录像任务的客户端。\n[0087] 为了进一步描述上述方法的具体实施方式,下面以一种平台录像方法为例,对本发明实施例提供的上述方法的具体实施方式进行说明。\n[0088] 实施例一\n[0089] 一种平台录像方法,主要包括以下步骤:\n[0090] 步骤1,本实施例中以平台定时录像任务为例,客户端通过TCP+XML的方式向平台侧发起录像任务的请求。请求消息中包括目标录像任务的ID、监控点的ID、录像的开始和结束时间、录像的周期性(每周或每天)等信息。同时将发送至平台侧的录像任务备份在本地数据库中;\n[0091] 步骤2,录像服务器收到客户端的录像任务请求后,将录像任务保存在平台侧的Oracle数据库中,并定时扫描录像任务表中的记录,开始或结束时间符合要求的录像计划;\n[0092] 步骤3,本实施例中,客户端每隔1分钟以TCP+XML的方式向录像服务器发送保活消息,并解析录像服务器回复的响应消息。正常的保活响应消息应包含服务器的系统时间(用来同步客户端的系统时间)和服务器当前的运行状态等内容;\n[0093] 步骤4,若客户端发现保活失败,则检查保存在本地数据库中的平台录像任务列表中是否存在正在执行或即将开始执行的录像任务;\n[0094] 步骤5,客户端开启录像任务执行线程,判断如果有已开始的录像任务或即将开始的录像任务,则根据这些录像任务对应的监控点ID,向对应的编码器发起直连,进行本地录像;如果客户端不存在正在执行或者即将开始执行的录像任务,则客户端定时重复检测本地备份的录像任务表,期间若有需要执行的录像任务则由客户端执行,同时客户端定时重复发送保活消息,若录像服务器恢复正常则客户端停止直连录像,结束流程;\n[0095] 步骤6,客户端通过直连的方式将编码器的视频流保存在本地,在录像文件命名时应包含录像任务的ID、监控点ID、本地录像实际开始时间和结束时间等重要信息;\n[0096] 步骤7,当保活消息恢复正常后,表示录像服务器恢复正常工作可以继续执行录像任务,则客户端停止本地直连录像,并将本地录像文件上传至平台侧(本实施例中采用ftp协议上传录像文件);\n[0097] 步骤8,客户端上传录像文件完成后,若录像服务器可根据录像文件对应的录像任务ID判断平台侧是否存在该录像任务的部分录像文件,若平台侧有部分录像文件,则将平台侧文件与客户端上传的录像文件按照时间的先后顺序进行拼接,组成一个完成的录像任务。若该录像任务完全由客户端完成,则直接将客户端上传的文件改名,保存为平台录像文件。\n[0098] 另外,在上述实施例中涉及的平台录像方法、系统及客户端,客户端本地录像任务的备份也可只保存在内存的数据结构中,如此一来客户端的录像任务执行线程可以更加有效地检索和执行本地备份录像任务表。\n[0099] 另外,在上述实施例中涉及的平台录像方法、系统及客户端,保活的周期(时间间隔)可在不给录像服务器带来过重负担的前提下采用更短的时间,以提高发现录像服务器异常的及时性。\n[0100] 当然,本发明还可有其他多种实施例,如采用手动方式开始平台录像,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
法律信息
- 2018-02-16
未缴年费专利权终止
IPC(主分类): H04N 7/18
专利号: ZL 200810241977.7
申请日: 2008.12.31
授权公告日: 2011.07.13
- 2011-07-13
- 2009-09-09
- 2009-07-15
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-11-15
|
2005-09-28
| | |
2
| |
2006-11-22
|
1997-07-13
| | |
3
| |
2008-02-20
|
2007-09-24
| | |
4
| |
2004-05-12
|
2003-09-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |