CN114666324A - 监控视频的下载方法、服务器、客户端及可读存储介质 - Google Patents
监控视频的下载方法、服务器、客户端及可读存储介质 Download PDFInfo
- Publication number
- CN114666324A CN114666324A CN202210316785.8A CN202210316785A CN114666324A CN 114666324 A CN114666324 A CN 114666324A CN 202210316785 A CN202210316785 A CN 202210316785A CN 114666324 A CN114666324 A CN 114666324A
- Authority
- CN
- China
- Prior art keywords
- client
- information
- downloading
- node
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 100
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000008569 process Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001934 delay Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 241001422033 Thestylus Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000002716 delivery method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供的监控视频的下载方法、服务器、客户端及可读存储介质,方法应用与服务器,包括:接收客户端发送的下载请求信息;下载请求信息中包含目标监控视频的文件标识;根据文件标识,从预设的文件索引表中确定是否存在有维护目标监控视频的网络节点;若存在,则根据网络节点的节点标识,从预设的节点信息表中获得网络节点的节点信息;将网络节点的节点信息发送给客户端,以使客户端根据节点信息,从网络节点下载目标监控视频。客户端不需要与服务器建立下载连接就能获得目标监控视频,不仅减轻了服务器的压力,还避免了该目标监控视频由于被服务器重复转发而出现占用资源的问题。
Description
技术领域
本发明涉及视频监控领域,具体而言,涉及一种监控视频的下载方法、服务器、客户端及可读存储介质。
背景技术
告警录像,是指摄像机判定画面中的特定行为发出的告警,对应的有告警发生前后时间范围的监控视频。传统视频监控系统一般使用gb28181协议定义的告警录像的下载方式,即由服务器发送给客户端。
通常而言,针对同一段监控视频,可能存在多个不同的下载者,传统方案上,针对同一段监控视频,每个下载者都会单独向服务器发起下载请求,导致服务器的压力会比较大,而且,同一段监控视频由于被反复的下载,出现重复占用网络资源的问题。
发明内容
本发明的目的之一在于提供一种监控视频的下载方法、服务器、客户端及可读存储介质,用以减轻服务器压力,防止出现重复占用网络资源的问题。
第一方面,本发明提供一种监控视频的下载方法,应用于服务器,所述方法包括:接收客户端发送的下载请求信息;所述下载请求信息中包含目标监控视频的文件标识;根据所述文件标识,从预设的文件索引表中确定是否存在有维护所述目标监控视频的网络节点;若存在,则根据所述网络节点的节点标识,从预设的节点信息表中获得所述网络节点的节点信息;将所述网络节点的节点信息发送给所述客户端,以使所述客户端根据所述节点信息,从所述网络节点下载所述目标监控视频。
第二方面,本发明提供一种监控视频的下载方法,应用于客户端,所述方法包括:向服务器发送下载请求信息;所述下载请求信息中包含目标监控视频的文件标识;接收所述服务器发送的节点信息;所述节点信息对应的网络节点维护有所述待下载视频;其中,所述节点信息是所述服务器根据所述文件标识,从预设的文件索引表中进行检索,确定出存在有维护所述目标监控视频的网络节点,并根据所述网络节点的节点标识,从预设的节点信息表中获得的;根据所述节点信息,从所述网络节点下载所述目标监控视频。
第三方面,本发明提供一种服务器,包括:处理器和存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第一方面所述的监控视频的下载方法。
第四方面,本发明提供一种客户端,包括:处理器和存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第二方面所述的监控视频的下载方法。
第五方面,本发明提供一种可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面所述触控笔的监控视频的下载方法或者如第二方面所述触控笔的监控视频的下载方法。
本发明提供的监控视频的下载方法、服务器、客户端及可读存储介质,通过获得目标监控视频的文件标识,可以在预设的文件索引表中确定是否存在维护有该目标监控视频的网络节点,若存在,则证明该网络节点已经下载过该目标监控视频,那么就可以从节点信息表中获得该网络节点的节点信息,并将该网络节点的节点信息反馈给客户端,那么客户端收到该节点信息之后,即可从该网络节点处请求下载该目标监控视频,由此可以看出,客户端发起下载请求之后,并不是马上与服务器建立下载连接,而是根据获得节点信息从已经下载了该目标监控视频的网络节点处请求下载,可以看出,只有该网络节点下载该目标监控视频的时候与服务器建立过一次下载连接,后续可客户端不需要与服务器建立下载连接就能获得目标监控视频,不仅减轻了服务器的压力,还避免了该目标监控视频由于被服务器重复转发而出现占用资源的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为现有的传统视频监控系统架构图;
图2提供了现有的一种监控视频下发方法的信令交互图;
图3为本发明实施例提供的第一种监控视频的下载方法的流程示意图;
图4为本发明实施例提供的一种文件索引表的示例图;
图5为本发明实施例提供的一种节点信息表的示例图;
图6为本发明实施例提供的一种视频监控系统架构图;
图7提供了本发明实施例提供的监控视频的下载方法的信令交互图;
图8为本发明实施例提供的第一种监控视频的下载方法的另一种流程示意图;
图9为本发明实施例提供的第一种监控视频下载方法的另一种流程示意图;
图10为本发明实施例提供的一种文件信息表的示例图;
图11为本发明实施例提供的第二种监控视频的下载方法的流程示意图;
图12为本发明实施例提供的服务器的结构示意图;
图13为本发明实施例提供的客户端的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
请参考图1,图1为现有的传统视频监控系统架构图,在该系统架构图中,客户端100-1、客户端100-2、客户端100-3、服务器120和媒体流发送端130之间可以通过网络通信连接。
在上述系统架构的基础上,假设客户端100-1、客户端100-2和客户端100-3都需要获得媒体流发送端130上的同一段历史媒体流,则可以以客户端100-1、客户端100-2为例,参照图2所示,图2提供了现有的一种监控视频下发方法的信令交互图,包括:
步骤1,客户端100-1、客户端100-2分别向服务器120发送下载请求信息。
步骤2,服务器120分别与客户端100-1、客户端100-2建立下载连接。
步骤3,服务器120获得下载请求信息,从媒体流发送端130获得目标历史媒体流。
步骤4,服务器获得历史媒体流之后,分别将目标历史媒体流转发给客户端100-1、客户端100-2。
从图2可以看出,针对同一段监控视频,若存在多个客户端,它们都会向服务器发起下载请求,这样一来,服务器就会单独分别处理多个下载请求,并对同一个监控视频进行重复转发,也就是说,服务器需要同时建立多个下载链接,并且同一个监控视频需要占用2倍的网络带宽资源。
为了解决上述问题,本发明实施例借鉴P2P点对点网络功能,对上述实现方式进行了优化,具体来说,P2P点对点技术又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。P2P网络的一个重要的目标就是让所有的客户端都能提供资源,包括带宽,存储空间和计算能力。因此,当有节点加入且对系统请求增多,整个系统的容量也增大。
这样一来,在同一个局域网中,每个客户端(也可以称之为网络节点)可以看作是局域网中的对等者(peer),例如,假设peerA下载目标视频时,优先寻找已经下载了目标视频的下载者peerB,而不是去服务器下载,这样就形成了peer to peer的下载方式,降低了服务器的资源占用。
需要说明的是,本发明实施例中的监控视频,可以但不限于是告警录像,告警录像,是指摄像机判定画面中的特定行为发出的告警,对应的有告警发生前后时间范围的监控视频,这样一来,客户端可以及时快速的获得告警录像,并基于告警录像进行分析处理,获得监控区域的有效信息,而本发明实施例中的服务器,可以但不限于是媒体流服务器。
下面将以监控视频为告警录像为例,对本发明实施例提供的监控视频的下载方法进行介绍。
图3为本发明实施例提供的第一种监控视频的下载方法的流程示意图。该方法以图1所示的服务器为执行主体进行说明,该方法是针对客户端需要从服务器下载视频的场景而提出的,其他场景(例如客户端直接从视频提供端下载的场景)不在本发明实施例的范围内,参照图3所示,该方法包括:
S301,接收客户端发送的下载请求信息;下载请求信息中包含目标监控视频的文件标识。
目标监控视频的文件标识可以是客户端根据视频的监控时间信息以及与该监控视频描述的属性信息来生成的。例如,以告警录像为例,通常在视频监控系统内,告警录像具有告警id(eventid),每个告警id都是唯一的。客户端可以使用告警id和告警时间来生成文件标识(文件id),生成方式可以但不限于如该公式所示:文件id=str(告警id)+str(time)+str(告警开始时间linux时间戳)+str(录像时长)。
例如,假设一段告警录像的告警id为123456789,告警时间的Linux时间戳为1646211515,告警时长为10秒,通过上述公式可以将将告警id转换为文件id,转换后的文件id为,123456789time164621151510。
可以理解的是,不同目标监控视频的文件标识不同,若客户端需要获得多个目标监控视频,则可以在下载请求信息中包含每个标监控视频的文件标识,文件标识的作用在于服务器可以根据文件标识,通过查表的方式确定是否有其他网络节点已经下载了该目标监控视频,可以提高下载效率。
S302,根据文件标识,从预设的文件索引表中确定是否存在有维护目标监控视频的网络节点。
本发明实施中,文件索引表存储在服务器上,文件索引表可以如图4所示,图4为本发明实施例提供的一种文件索引表的示例图,在文件索引表中可以但不限于维护有目标监控视频的文件id,文件名称,文件大小,下载完成度,客户端的标识(peerID),文件hash,下载速度等信息,当即客户端发起下载请求时,服务器可以根据获得文件标识查询有哪些客户端已经下载有目标监控视频。
S303,若存在,则根据网络节点的节点标识,从预设的节点信息表中获得网络节点的节点信息。
本实施例中,节点信息表存储在服务器上,节点信息表可以如图5所示,图5为本发明实施例提供的一种节点信息表的示例图,节点信息表中维护有每个客户端的节点信息,包括但不限于客户端的标识(PeerID),IP地址,与服务器的网络延迟。其中网络延迟可以用于指示客户端选择网络延迟最小的网络节点来下载目标监控视频,提高下载速度。
可以理解的是,若不存在维护有该目标监控视频的网络节点,则说明该目标监控视频还未被任何客户端客户端,该客户端将是第一个下载该目标监控视频的客户端。
S304,将网络节点的节点信息发送给客户端,以使客户端根据节点信息,从网络节点下载目标监控视频。
本实施例中,客户端获得网络节点的节点信息,包括网络节点的IP地址以及该网络节点对应的网络延迟,这样一来,客户端则可以根据网延迟选择一个目标网络节点,并根据目标网络节点的IP地址发送下载请求,进而获得目标监控视频。
在一种可能的实施方式中,步骤S304可以通过如下方式实现:
将每个网络节点对应的地址信息、以及网络节点对应的网络延迟发送给客户端;其中,网络延迟用于指示客户端从具有最小网络延迟的网络节点下载目标监控视频。
通过选择网络延迟最小的网络节点来下载目标监控视频,提高了下载速度。
本发明实施例提供的监控视频的下载方法,通过获得目标监控视频的文件标识,可以在预设的文件索引表中确定是否存在维护有该目标监控视频的网络节点,若存在,则证明该网络节点已经下载过该目标监控视频,那么就可以从节点信息表中获得该网络节点的节点信息,并将该网络节点的节点信息反馈给客户端,那么客户端收到该节点信息之后,即可从该网络节点处请求下载该目标监控视频,由此可以看出,客户端发起下载请求之后,并不是马上与服务器建立下载连接,而是根据获得节点信息从已经下载了该目标监控视频的网络节点处请求下载,可以看出,只有该网络节点下载该目标监控视频的时候与服务器建立过一次下载连接,后续可客户端不需要与服务器建立下载连接就能获得目标监控视频,不仅减轻了服务器的压力,还避免了该目标监控视频由于被服务器重复转发而出现占用资源的问题。
为了方便理解,图6为本发明实施例提供的一种视频监控系统架构图,基于图6所示的系统架构,假设客户端100-1先发起下载请求,并将获得的目标监控视频存在本地,当客户端100-2或者客户端100-3也需要下载同一段目标监控视频,则可以向客户端100-1请求下载。
图7提供了本发明实施例提供的监控视频的下载方法的信令交互图,参照图7所示,首先,客户端100-1第一次下载目标监控视频,可以包括如下步骤:
S1,客户端100-1向服务器120发起下载请求。
S2,服务器120与客户端100-1建立下载连接。
S3,服务器120从媒体流发送端130获得目标监控视频。
S4,服务器120将获得目标监控视频发送给客户端100-1。
S5,客户端100-1将目标监控视频存储在本地。
接下来,若客户端100-2也需要下载该段目标监控视频,则可以执行如下步骤:
S6,客户端100-2向服务器120发起下载请求。
S7,服务器120从文件索引表中确定客户端100-1具有该段目标监控视频,并从节点信息表中获得客户端100-1的节点信息。
S8,服务器120将客户端100-1的节点信息发送给客户端100-2。
S9,客户端100-2向客户端100-1发起下载请求。
S10,客户端100-1将目标监控视频发送给客户端100-2。
从图7可以看出,在上述整个过程中,服务器120仅仅与第一次下载目标监控视频的客户端100-1建立一次下载连接,明显降低了服务器的压力,而且,服务器120仅仅向客户端100-1发送目标监控视频,那么避免了服务器重复发送目标监控视频,出现重复占用资源的问题。
可选地,若服务器通过查表的方式确定当前还没有任何网络节点下载目标监控视频,那么为了保证客户端能够顺利获得目标监控视频,本发明实施例还给出一种实施方式。
图8为本发明实施例提供的第一种监控视频的下载方法的另一种流程示意图,参照图8所示,该方法还可以包括:
S305,当确定不存在维护有目标监控视频的网络节点,向客户端发送检索失败信息;检索失败信息用于指示客户端根据重新确定的下载策略,并根据确定的下载策略获得目标监控视频;
下载策略包括:控制客户端处于等待状态,直到获得服务器发送的维护有目标监控视频的网络节点的节点信息;或者,
控制客户端重新发送下载请求信息给服务器,重新发送的下载请求信息用于指示服务器从视频提供端获得目标监控视频,并将目标监控视频转发给客户端。
也即是说,当不存在维护有目标监控视频的网络节点,则服务器可以向客户端反馈检索失败信息,其中,该检索失败信息可以通知客户端当前不存在具有该目标监控视频的网络节点,若当前有正在下载(还未下载完成)该目标监控视频的网络节点,该检索失败信息还可以指示客户端当前有网络节点正在下载目标监控视频,客户端获得该检索失败信息之后,即可快速确定新的下载策略。
在一种实现方式中,客户端可以保持等待状态,直到服务器再次反馈具有该目标监控视频的网络节点的节点信息。
在上述实现方式中,服务器可以实时获得网络节点的下载进度信息,并在确定网络节点下载完成之后,通知客户端,客户端获得通知之后可以再次向服务器发送下载请求,以获得该目标监控视频。
例如,假设客户端100-1正在下载某个视频,此时服务器接收到客户端100-2针对该视频的下载请求,那么服务器可以通知客户端100-2此时有网络节点正在下载该视频,那么客户端100-2可以等待客户端100-1下载完成之后,从客户端100-1下载该视频。
在另一种实现方式中,客户端可以通过图2所示的下载方式获得该目标监控视频,此处不再赘述。
图9为本发明实施例提供的第一种监控视频下载方法的另一种流程示意图,参照图9所示,该方法还包括:
S306,接收客户端发送的下载进度信息;
S307,将客户端的标识信息、下载进度信息以及文件标识的对应关系写入文件索引表;
S308,将客户端的标识信息与客户端的地址信息、以及客户端与服务器的网络延迟,写入节点信息表。
也就是说,服务器可以获得客户端的下载进度信息后,可以根据该下载进度信息,提醒后续需要下载该段目标监控视频的客户端需要等待的时长,以指示后续需要下载的客户端及时确定新的下载策略,防止下载失败。
其中,将客户端的标识信息、下载进度信息以及文件标识的对应关系写入文件索引表,将客户端的标识信息与客户端的地址信息、以及客户端与服务器的网络延迟,写入节点信息表,可以保证在面对后续下载请求时,可以快速确定该客户端是一个可以请求下载视频的客户端,减轻服务器压力。
可选地,为了后续需要下载的客户端能够获得该段目标监控视频,客户端还可以将该段目标监控视频的文件信息写入本地维护的文件信息表中,其中,文件信息表可以如图10所示,图10为本发明实施例提供的一种文件信息表的示例图,其中维护有客户端下载的全部文件的信息,包括:文件id,文件hash,文件路径,文件名称,文件大小。
例如,继续以图6和图7所给的示例来说明,假设目标监控视频的文件标识为123456789time164621151510,那么针对客户端100-1而言,在上述步骤s5之后,客户端100-1还可以将该目标监控视频的文件信息写入本地维护的文件信息表中,参见表1。
表1
同理,服务器120还可以将该目标监控视频与客户端100-1之间的对应关系写入文件索引表中,如表2所示,还可以将客户端100-1的地址信息和网络延迟写入节点信息表中,如表3所示。
表2
表3
peerID | IP地址 | 延迟 |
100-1 | 192.168.0.1 | 10 |
针对客户端100-2而言,在步骤S10之后,客户端100-2还可以将该目标监控视频的文件信息写入本地维护的文件信息表中,参见表4。同理,服务器120还可以将该目标监控视频与客户端100-2之间的对应关系写入文件索引表中,如表5所示,还可以将客户端100-2的地址信息和网络延迟写入节点信息表中,如表6所示。
表4
表5
表6
peerID | IP地址 | 延迟 |
100-1 | 192.168.0.1 | 10 |
100-2 | 192.168.0.2 | 12 |
可选地,在一种场景中,若客户端正在下载目标监控视频,其他客户端也发送了下载请求,那么本发明给出了几种可能的实施方式,即该方法还可以包括以下步骤:
a1,当接收到其他客户端发送的下载请求信息,根据客户端的下载进度信息,向其他客户端发送等待指示信息。
a2,接收其他客户端反馈的等待响应信息。
a3,当确定客户端下载完成,向其他客户端发送下载完成信息、以及客户端的节点信息。
也就是说,若其他客户端也需要下载目标监控视频,则可以等待正在下载的客户端下载完成后,从服务器处获得该客户端的节点信息,那么其他客户端可以从该客户端以及其他具有该目标监控视频的网络节点中,确定一个目标请求下载。
在另一种实施方式中,其他客户端也可以不等待该客户端下载完成,而是直接与服务器建立下载连接获得该目标监控视频,则该方法还可以包括:
b1,当接收到其他客户端发送的下载请求信息,根据客户端的下载进度信息,向其他客户端发送等待指示信息;
b2,接收其他客户端反馈的继续下载指示信息;
b3,与其他客户端建立下载连接;
b4,从视频提供端获得目标监控视频,并将目标监控视频转发给其他客户端。
可选地,在其他客户端完成对目标监控视频的下载任务之后,还可以执行如下步骤实现更新节点信息表、文件索引表的效果,即接收其他客户端发送的下载进度信息;将其他客户端的标识信息、下载进度信息以及文件标识的对应关系写入文件索引表;将其他客户端的标识信息与客户端的地址信息、以及其他客户端与服务器的网络延迟,写入节点信息表。同理,其他客户端也可以根据获得的目标监控视频的文件信息,更新自身维护的文件信息表。
图11为本发明实施例提供的第二种监控视频的下载方法的流程示意图,该方法以客户端为执行主体进行说明,参照图11所示,该方法可以包括:
S401,向服务器发送下载请求信息;下载请求信息中包含目标监控视频的文件标识;
S402,接收服务器发送的节点信息;节点信息对应的网络节点维护有待下载视频;
其中,节点信息是服务器根据文件标识,从预设的文件索引表中进行检索,确定出存在有维护目标监控视频的网络节点,并根据网络节点的节点标识,从预设的节点信息表中获得的;
S403,根据节点信息,从网络节点下载目标监控视频。
可选地,根据节点信息,从网络节点下载目标监控视频,包括:获得每个网络节点对应的网络延迟;从全部网络延迟中确定出最小网络延迟;从最小网络延迟对应的网络节点获得目标监控视频。
可选地,在下载目标监控视频的过程中,按照预设时间间隔,确定目标监控视频的下载进度信息;将获得的下载进度信息、以及客户端的节点信息发送给服务器;下载进度信息用于指示服务器更新文件索引表和节点信息表。
可选地,若客户端接收到等待指示信息,则说明当前已有正在下载该目标监控视频的其他客户端,那么该客户端可以保持等待状态,直到接收到服务器发送的下载完成信息、以及其他客户端的节点信息,这样一来,客户端即可在具有该目标监控视频的各个网络节点中确定一个目标网络节点来下载该目标监控视频。
可选地,客户端接收到等待指示信息后,还可以不等待,直接向服务器反馈继续下载的指示信息,此时,客户端和服务器建立下载连接,以使服务器从视频发送端获得目标监控视频后,将目标监控视频转发给客户端。
图12为本发明实施例提供的服务器的结构示意图,参照图12所示,服务器120包括存储器121、处理器122和通信接口123,该存储器121、处理器122和通信接口123相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器121可用于存储软件程序及模块,处理器122通过执行存储在存储器121内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口123可用于与其他节点设备进行信令或数据的通信。
其中,存储器121可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器122可以是一种集成电路芯片,具有信号处理能力。该处理器122可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
其中,在服务器120的存储器121可以用来存储监控视频的下载装置,监控视频的下载装置的指令/模块,可以软件或固件(firmware)的形式存储于存储器121中或固化在服务器120的操作系统(operating system,OS)中,该监控视频的下载装置可以包括:
接收模块,用于接收客户端发送的下载请求信息;下载请求信息中包含目标监控视频的文件标识;
确定模块,用于根据文件标识,从预设的文件索引表中确定是否存在有维护目标监控视频的网络节点;若存在,则根据网络节点的节点标识,从预设的节点信息表中获得网络节点的节点信息;
发送模块,用于将网络节点的节点信息发送给客户端,以使客户端根据节点信息,从网络节点下载目标监控视频。
在可选的实施方式中,发送模块,还用于当确定不存在维护有目标监控视频的网络节点,向客户端发送检索失败信息;检索失败信息用于指示客户端根据重新确定的下载策略,并根据确定的下载策略获得目标监控视频;下载策略包括:控制客户端处于等待状态,直到获得服务器发送的维护有目标监控视频的网络节点的节点信息;或者,控制客户端重新发送下载请求信息给服务器,重新发送的下载请求信息用于指示服务器从视频提供端获得目标监控视频,并将目标监控视频转发给客户端。
在可选的实施方式中,发送模块,还具体用于将每个网络节点对应的地址信息、以及网络节点对应的网络延迟发送给客户端;其中,网络延迟用于指示客户端从具有最小网络延迟的网络节点下载目标监控视频。
在可选的实施方式中,接收模块,用于接收客户端发送的下载进度信息;写入模块,用于将客户端的标识信息、下载进度信息以及文件标识的对应关系写入文件索引表;将客户端的标识信息与客户端的地址信息、以及客户端与服务器的网络延迟,写入节点信息表。
图13为本发明实施例提供的客户端的结构示意图,参照图13所示,客户端100包括存储器101、处理器102和通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器101可用于存储软件程序及模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。
其中,存储器101可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
其中,其中,在客户端100的存储器101可以用来存储监控视频的下载装置,监控视频的下载装置的指令/模块,可以软件或固件(firmware)的形式存储于存储器101中或固化在客户端100的操作系统(operating system,OS)中,该监控视频的下载装置可以包括:
发送模块,用于向服务器发送下载请求信息;下载请求信息中包含目标监控视频的文件标识;
接收模块,用于接收服务器发送的节点信息;节点信息对应的网络节点维护有待下载视频;
其中,节点信息是服务器根据文件标识,从预设的文件索引表中进行检索,确定出存在有维护目标监控视频的网络节点,并根据网络节点的节点标识,从预设的节点信息表中获得的;
下载模块,用于根据节点信息,从网络节点下载目标监控视频。
在可选地实施方式中,下载模块,用于获得每个网络节点对应的网络延迟;从全部网络延迟中确定出最小网络延迟;从最小网络延迟对应的网络节点获得目标监控视频。
在可选地实施方式中,还可以包括确定模块,确定模块,用于在下载目标监控视频的过程中,按照预设时间间隔,确定目标监控视频的下载进度信息;将获得的下载进度信息、以及客户端的节点信息发送给服务器;下载进度信息用于指示服务器更新文件索引表和节点信息表。
本发明实施例还提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一种的监控视频的下载方法。该计算机可读存储介质可以是,但不限于,U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、磁碟或者光盘等各种可以存储程序代码的介质。
应该理解到,在本发明所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (13)
1.一种监控视频的下载方法,其特征在于,应用于服务器,所述方法包括:
接收客户端发送的下载请求信息;所述下载请求信息中包含目标监控视频的文件标识;
根据所述文件标识,从预设的文件索引表中确定是否存在有维护所述目标监控视频的网络节点;
若存在,则根据所述网络节点的节点标识,从预设的节点信息表中获得所述网络节点的节点信息;
将所述网络节点的节点信息发送给所述客户端,以使所述客户端根据所述节点信息,从所述网络节点下载所述目标监控视频。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当确定不存在维护有所述目标监控视频的网络节点,向所述客户端发送检索失败信息;所述检索失败信息用于指示所述客户端根据重新确定的下载策略,并根据确定的下载策略获得所述目标监控视频;
所述下载策略包括:控制所述客户端处于等待状态,直到获得所述服务器发送的维护有所述目标监控视频的网络节点的节点信息;或者,
控制所述客户端重新发送下载请求信息给所述服务器,所述重新发送的下载请求信息用于指示所述服务器从视频提供端获得所述目标监控视频,并将所述目标监控视频转发给所述客户端。
3.根据权利要求1所述的方法,其特征在于,将所述网络节点的节点信息发送给所述客户端,以使所述客户端根据所述节点信息,从所述网络节点下载所述目标监控视频,包括:
将每个网络节点对应的地址信息、以及所述网络节点对应的网络延迟发送给所述客户端;其中,所述网络延迟用于指示所述客户端从具有最小网络延迟的网络节点下载所述目标监控视频。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的下载进度信息;
将所述客户端的标识信息、所述下载进度信息以及所述文件标识的对应关系写入所述文件索引表;
将所述客户端的标识信息与所述客户端的地址信息、以及所述客户端与所述服务器的网络延迟,写入所述节点信息表。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到其他客户端发送的下载请求信息,根据所述客户端的下载进度信息,向所述其他客户端发送等待指示信息;
接收所述其他客户端反馈的等待响应信息;
当确定所述客户端下载完成,向所述其他客户端发送下载完成信息、以及所述客户端的节点信息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到其他客户端发送的下载请求信息,根据所述客户端的下载进度信息,向所述其他客户端发送等待指示信息;
接收所述其他客户端反馈的继续下载指示信息;
与所述其他客户端建立下载连接;
从视频提供端获得所述目标监控视频,并将所述目标监控视频转发给所述其他客户端。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
接收所述其他客户端发送的下载进度信息;
将所述其他客户端的标识信息、所述下载进度信息以及所述文件标识的对应关系写入所述文件索引表;
将所述其他客户端的标识信息与所述客户端的地址信息、以及所述其他客户端与所述服务器的网络延迟,写入所述节点信息表。
8.一种监控视频的下载方法,其特征在于,应用于客户端,所述方法包括:
向服务器发送下载请求信息;所述下载请求信息中包含目标监控视频的文件标识;
接收所述服务器发送的节点信息;所述节点信息对应的网络节点维护有所述目标监控视频;
其中,所述节点信息是所述服务器根据所述文件标识,从预设的文件索引表中进行检索,确定出存在有维护所述目标监控视频的网络节点,并根据所述网络节点的节点标识,从预设的节点信息表中获得的;
根据所述节点信息,从所述网络节点下载所述目标监控视频。
9.根据权利要求8所述的方法,其特征在于,根据所述节点信息,从所述网络节点下载所述目标监控视频,包括:
获得每个网络节点对应的网络延迟;
从全部网络延迟中确定出最小网络延迟;
从所述最小网络延迟对应的网络节点获得所述目标监控视频。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在下载所述目标监控视频的过程中,按照预设时间间隔,确定所述目标监控视频的下载进度信息;
将获得的下载进度信息、以及所述客户端的节点信息发送给所述服务器;所述下载进度信息用于指示所述服务器更新所述文件索引表和所述节点信息表。
11.一种服务器,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1-7中任一项所述的监控视频的下载方法。
12.一种客户端,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求8-10中任一项所述的监控视频的下载方法。
13.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-7任一所述的监控视频的下载方法或者如权利要求8-10任一所述的监控视频的下载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210316785.8A CN114666324B (zh) | 2022-03-28 | 2022-03-28 | 监控视频的下载方法、服务器、客户端及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210316785.8A CN114666324B (zh) | 2022-03-28 | 2022-03-28 | 监控视频的下载方法、服务器、客户端及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114666324A true CN114666324A (zh) | 2022-06-24 |
CN114666324B CN114666324B (zh) | 2024-01-30 |
Family
ID=82033690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210316785.8A Active CN114666324B (zh) | 2022-03-28 | 2022-03-28 | 监控视频的下载方法、服务器、客户端及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114666324B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725691A (zh) * | 2004-07-23 | 2006-01-25 | 腾讯科技(深圳)有限公司 | 一种数据下载方法和系统 |
CN103327121A (zh) * | 2013-07-10 | 2013-09-25 | 亿览在线网络技术(北京)有限公司 | 一种p2p网络资源传输方法和装置 |
CN103544025A (zh) * | 2012-07-10 | 2014-01-29 | 腾讯科技(深圳)有限公司 | 一种网络游戏资源获取方法及装置 |
CN111309473A (zh) * | 2020-01-17 | 2020-06-19 | 政采云有限公司 | 一种数据下载方法、装置、设备、介质 |
CN112231603A (zh) * | 2020-11-02 | 2021-01-15 | 深圳市欢太科技有限公司 | 一种文件下载方法、服务器、客户端和存储介质 |
-
2022
- 2022-03-28 CN CN202210316785.8A patent/CN114666324B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725691A (zh) * | 2004-07-23 | 2006-01-25 | 腾讯科技(深圳)有限公司 | 一种数据下载方法和系统 |
CN103544025A (zh) * | 2012-07-10 | 2014-01-29 | 腾讯科技(深圳)有限公司 | 一种网络游戏资源获取方法及装置 |
CN103327121A (zh) * | 2013-07-10 | 2013-09-25 | 亿览在线网络技术(北京)有限公司 | 一种p2p网络资源传输方法和装置 |
CN111309473A (zh) * | 2020-01-17 | 2020-06-19 | 政采云有限公司 | 一种数据下载方法、装置、设备、介质 |
CN112231603A (zh) * | 2020-11-02 | 2021-01-15 | 深圳市欢太科技有限公司 | 一种文件下载方法、服务器、客户端和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114666324B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5863942B2 (ja) | ウィットネスサービスの提供 | |
US7912948B2 (en) | Peer-to-peer message format data structure | |
CN115004673B (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
WO2019084972A1 (zh) | 流媒体直播方法及系统 | |
CN112118315A (zh) | 数据处理系统、方法、装置、电子设备和存储介质 | |
CN113382065B (zh) | 文件下载方法、装置、系统、设备及存储介质 | |
CN109547508B (zh) | 一种实现资源访问的方法、装置及系统 | |
TWI530147B (zh) | 一種基於層之自動調整同級媒體串流之裝置和方法 | |
CN112769671A (zh) | 消息处理方法、装置与系统 | |
US10802896B2 (en) | Rest gateway for messaging | |
CN109542981B (zh) | 一种数据同步的系统及方法、电子设备、存储介质 | |
TWI489889B (zh) | 內容遞送網路及同儕網路之流量控制方法及系統 | |
US9137331B2 (en) | Adaptive replication | |
US20140201376A1 (en) | Method and system for the handling of redundant long poll | |
CN114666324A (zh) | 监控视频的下载方法、服务器、客户端及可读存储介质 | |
WO2022028189A1 (zh) | 投屏方法及装置、电子设备和计算机可读存储介质 | |
CN113810775B (zh) | 语音视频连线系统和方法 | |
CN103731511A (zh) | 一种p2p系统中数据获取方法和装置 | |
CN114398659A (zh) | 一种资源校验方法、装置、设备及存储介质 | |
US20200341968A1 (en) | Differential Update of Local Cache from Central Database | |
CN112738256A (zh) | 一种dcp文件传输方法、服务器和计算机可读存储介质 | |
CN113055444A (zh) | 一种文件共享方法及其相关装置 | |
CN114500660B (zh) | 请求处理方法、装置、设备及计算机可读存储介质 | |
CN112383617A (zh) | 进行长连接的方法、装置、终端设备以及介质 | |
CN112954074B (zh) | 一种区块链网络连接方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |