CN107402802A - 一种基于虚拟机的视频监控存储系统 - Google Patents

一种基于虚拟机的视频监控存储系统 Download PDF

Info

Publication number
CN107402802A
CN107402802A CN201710636248.0A CN201710636248A CN107402802A CN 107402802 A CN107402802 A CN 107402802A CN 201710636248 A CN201710636248 A CN 201710636248A CN 107402802 A CN107402802 A CN 107402802A
Authority
CN
China
Prior art keywords
virtual machine
video
video monitoring
storage system
device driver
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.)
Pending
Application number
CN201710636248.0A
Other languages
English (en)
Inventor
张会健
孙京本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710636248.0A priority Critical patent/CN107402802A/zh
Publication of CN107402802A publication Critical patent/CN107402802A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种基于虚拟机的视频监控存储系统,包括部署在存储系统内的虚拟机,所述虚拟机内设置有视频监控服务模块,在所述存储系统的宿主机OS中针对每个磁盘或逻辑卷申请一块共享内存,所述共享内存映射到每个所述虚拟机对应进程的地址空间;所述虚拟机内部具有第一类块设备驱动模块,当所述视频监控服务模块收到前端摄像头的视频码流时,所述第一类块设备驱动模块用于在所述共享内存中存储所述视频码流;所述宿主机OS中具有第二类块设备驱动模块,用于将所述共享内存中的视频码流提交到所述磁盘或逻辑卷中,能够实现硬件资源的有效利用,降低整体的硬件成本,实现各个视频监控服务的故障隔离。

Description

一种基于虚拟机的视频监控存储系统
技术领域
本发明属于视频监控设备技术领域,特别是涉及一种基于虚拟机的视频监控存储系统。
背景技术
在智慧城市、安全城市、智能交通高速发展的今天,视频监控系统应用越来越广泛,在目前的视频监控存储方案中,通常采用一台存储设备加多台物理服务器的方案,其中存储设备以ipsan的方式提供存储空间,物理服务器上会部署视频监控录像软件、视频检索回放软件和平台管理软件等,存储系统和物理服务器通常以交换机的方式相连,视频监控录像服务器通过iscsi initiator连接存储设备的target,后端存储设备的空间在视频录像服务器上展现为多个scsi磁盘,录像服务程序将前端摄像头的视频码流写入磁盘,这种方案硬件成本较高,且处理速度较慢。
发明内容
为解决上述问题,本发明提供了一种基于虚拟机的视频监控存储系统,能够实现硬件资源的有效利用,降低整体的硬件成本,并利用虚拟机技术实现各个视频监控服务的故障隔离,当其中一个视频监控服务出现异常时,不会导致整个存储系统的崩溃。
本发明提供的一种基于虚拟机的视频监控存储系统,包括部署在存储系统内的虚拟机,所述虚拟机内设置有视频监控服务模块,在所述存储系统的宿主机OS中针对每个磁盘或逻辑卷申请一块共享内存,所述共享内存映射到每个所述虚拟机对应进程的地址空间;
所述虚拟机内部具有第一类块设备驱动模块,当所述视频监控服务模块收到前端摄像头的视频码流时,所述第一类块设备驱动模块用于在所述共享内存中存储所述视频码流;
所述宿主机OS中具有第二类块设备驱动模块,用于将所述共享内存中的视频码流提交到所述磁盘或逻辑卷中。
优选的,在上述基于虚拟机的视频监控存储系统中,所述虚拟机还用于发起读请求,将需要读取的磁盘或逻辑卷的ID、偏移和数据长度信息通知所述宿主机,所述宿主机OS中的所述第二类块设备驱动模块用于向所述磁盘或逻辑卷提交读请求,并将读取的数据复制到所述共享内存,所述虚拟机中的所述第一类块设备驱动模块用于从所述共享内存中读取数据并返回给所述视频监控服务模块。
优选的,在上述基于虚拟机的视频监控存储系统中,所述视频监控服务模块包括视频监控录像单元、视频检索回放单元和平台管理单元。
优选的,在上述基于虚拟机的视频监控存储系统中,所述虚拟机为KVM虚拟机。
优选的,在上述基于虚拟机的视频监控存储系统中,所述第一类块设备驱动模块为video_blk_drv模块。
优选的,在上述基于虚拟机的视频监控存储系统中,所述第二类块设备驱动模块为video_blk_host_drv模块。
通过上述描述可知,本发明提供的上述基于虚拟机的视频监控存储系统,由于包括部署在存储系统内的虚拟机,所述虚拟机内设置有视频监控服务模块,在所述存储系统的宿主机OS中针对每个磁盘或逻辑卷申请一块共享内存,所述共享内存映射到每个所述虚拟机对应进程的地址空间;所述虚拟机内部具有第一类块设备驱动模块,当所述视频监控服务模块收到前端摄像头的视频码流时,所述第一类块设备驱动模块用于在所述共享内存中存储所述视频码流;所述宿主机OS中具有第二类块设备驱动模块,用于将所述共享内存中的视频码流提交到所述磁盘或逻辑卷中,因此能够实现硬件资源的有效利用,降低整体的硬件成本,并利用虚拟机技术实现各个视频监控服务的故障隔离,当其中一个视频监控服务出现异常时,不会导致整个存储系统的崩溃。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的第一种基于虚拟机的视频监控存储系统的示意图。
具体实施方式
本发明的核心思想在于提供一种基于虚拟机的视频监控存储系统,能够实现硬件资源的有效利用,降低整体的硬件成本,并利用虚拟机技术实现各个视频监控服务的故障隔离,当其中一个视频监控服务出现异常时,不会导致整个存储系统的崩溃。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供的第一种基于虚拟机的视频监控存储系统如图1所示,图1为本申请实施例提供的第一种基于虚拟机的视频监控存储系统的示意图,该系统包括部署在存储系统1内的虚拟机2,所述虚拟机2内设置有视频监控服务模块3,在所述存储系统1的宿主机OS中针对每个磁盘或逻辑卷4申请一块共享内存5,所述共享内存5映射到每个所述虚拟机2对应进程的地址空间,当存储系统中磁盘数量或者逻辑卷动态扩展时需要同步增加共享内存块的数量;
所述虚拟机2内部具有第一类块设备驱动模块,当所述视频监控服务模块3收到前端摄像头的视频码流时,所述第一类块设备驱动模块用于在所述共享内存5中存储所述视频码流;
所述宿主机OS中具有第二类块设备驱动模块,用于将所述共享内存5中的视频码流提交到所述磁盘或逻辑卷4中。
上述方案通过在存储系统中部署多个虚拟机,将原来运行在物理服务器上的视频监控服务程序移植到虚拟机内部,传统方案中视频监控录像服务通常使用iscsi的方式连接存储系统的target,采用上述虚拟化方案后,如果继续使用iscsi方式在宿主机系统中会存在多次数据拷贝,而在linux系统中每个单独的虚拟机都是运行在独立的进程中,该方案利用共享内存技术在宿主机系统和虚拟机系统中分别实现了块设备驱动,从而虚拟机到宿主机的数据传输不再经过虚拟网络,而是直接使用进程间通信的方式实现,提高了数据传输效率。
通过上述描述可知,本申请实施例提供的上述第一种基于虚拟机的视频监控存储系统,由于包括部署在存储系统内的虚拟机,所述虚拟机内设置有视频监控服务模块,在所述存储系统的宿主机OS中针对每个磁盘或逻辑卷申请一块共享内存,所述共享内存映射到每个所述虚拟机对应进程的地址空间;所述虚拟机内部具有第一类块设备驱动模块,当所述视频监控服务模块收到前端摄像头的视频码流时,所述第一类块设备驱动模块用于在所述共享内存中存储所述视频码流;所述宿主机OS中具有第二类块设备驱动模块,用于将所述共享内存中的视频码流提交到所述磁盘或逻辑卷中,因此能够实现硬件资源的有效利用,降低整体的硬件成本,并利用虚拟机技术实现各个视频监控服务的故障隔离,当其中一个视频监控服务出现异常时,不会导致整个存储系统的崩溃。
本申请实施例提供的第二种基于虚拟机的视频监控存储系统,是在上述第一种基于虚拟机的视频监控存储系统的基础上,还包括如下技术特征:
所述虚拟机还用于发起读请求,将需要读取的磁盘或逻辑卷的ID、偏移和数据长度信息通知所述宿主机,所述宿主机OS中的所述第二类块设备驱动模块用于向所述磁盘或逻辑卷提交读请求,并将读取的数据复制到所述共享内存,所述虚拟机中的所述第一类块设备驱动模块用于从所述共享内存中读取数据并返回给所述视频监控服务模块。
本申请实施例提供的第三种基于虚拟机的视频监控存储系统,是在上述第一种基于虚拟机的视频监控存储系统的基础上,还包括如下技术特征:
所述视频监控服务模块包括视频监控录像单元、视频检索回放单元和平台管理单元。
具体的,可以在一个虚拟机中部署一个上述视频监控录像单元,或者同时部署多个,视具体占用资源的情况而定。
本申请实施例提供的第四种基于虚拟机的视频监控存储系统,是在上述第一种基于虚拟机的视频监控存储系统的基础上,还包括如下技术特征:
所述虚拟机为KVM虚拟机。
具体的,在传统存储系统os中部署KVM虚拟机,将物理机上的视频监控录像软件、视频检索回放软件、平台管理软件等部署到不同的虚拟机,当然除了这种虚拟机之外,还可以采用vmware/xen等其他种类的虚拟机,此处并不限制。
本申请实施例提供的第五种基于虚拟机的视频监控存储系统,是在上述第一种基于虚拟机的视频监控存储系统的基础上,还包括如下技术特征:
所述第一类块设备驱动模块为video_blk_drv模块。
具体的,在这种情况下,在虚拟机内部实现一个块设备驱动程序video_blk_drv,当虚拟机内部的视频监控录像程序收到前端摄像头的视频码流时,操作系统会分配一个写请求提交到video_blk_drv实现的块设备,此块设备驱动程序会在共享内存地址空间中申请内存作为缓冲区,由于此视频码流数据在共享内存中,同样可以被存储系统的宿主机OS访问,当视频码流数据被拷贝到共享内存区后,虚拟机内OS通知宿主机数据已经写入完成。
本申请实施例提供的第六种基于虚拟机的视频监控存储系统,是在上述第一种基于虚拟机的视频监控存储系统的基础上,还包括如下技术特征:
所述第二类块设备驱动模块为video_blk_host_drv模块。
具体的,在存储系统宿主机os中,在磁盘或逻辑卷之上同样需要实现一个块设备驱动video_blk_host_drv,当收到虚拟机内OS数据写入完成的通知后,video_blk_host_drv将共享内存中的视频码流数据往下层的逻辑卷或磁盘层进行提交。
对于虚拟机内的视频检索及回放程序,虚拟机OS会发起读请求,虚拟机通知宿主机要读取的磁盘或逻辑卷ID、偏移、数据长度等信息,宿主机系统的video_blk_host_drv根据此信息向下层提交读请求,并将读取的数据拷入共享内存,虚拟机OS的video_blk_drv驱动从共享内存中读取数据返回给视频检索回放程序。
综上所述,通过将视频监控录像服务、视频检索及回放服务等利用虚拟机技术集成到传统存储内部,降低了整体方案的硬件成本,并通过基于共享内存的块设备驱动实现宿主机系统到虚拟机系统的IO数据传输,避免了传统iscsi方式在网络上性能消耗和多余的数据拷贝。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种基于虚拟机的视频监控存储系统,其特征在于,包括部署在存储系统内的虚拟机,所述虚拟机内设置有视频监控服务模块,在所述存储系统的宿主机OS中针对每个磁盘或逻辑卷申请一块共享内存,所述共享内存映射到每个所述虚拟机对应进程的地址空间;
所述虚拟机内部具有第一类块设备驱动模块,当所述视频监控服务模块收到前端摄像头的视频码流时,所述第一类块设备驱动模块用于在所述共享内存中存储所述视频码流;
所述宿主机OS中具有第二类块设备驱动模块,用于将所述共享内存中的视频码流提交到所述磁盘或逻辑卷中。
2.根据权利要求1所述的基于虚拟机的视频监控存储系统,其特征在于,所述虚拟机还用于发起读请求,将需要读取的磁盘或逻辑卷的ID、偏移和数据长度信息通知所述宿主机,所述宿主机OS中的所述第二类块设备驱动模块用于向所述磁盘或逻辑卷提交读请求,并将读取的数据复制到所述共享内存,所述虚拟机中的所述第一类块设备驱动模块用于从所述共享内存中读取数据并返回给所述视频监控服务模块。
3.根据权利要求1所述的基于虚拟机的视频监控存储系统,其特征在于,所述视频监控服务模块包括视频监控录像单元、视频检索回放单元和平台管理单元。
4.根据权利要求1所述的基于虚拟机的视频监控存储系统,其特征在于,所述虚拟机为KVM虚拟机。
5.根据权利要求1所述的基于虚拟机的视频监控存储系统,其特征在于,所述第一类块设备驱动模块为video_blk_drv模块。
6.根据权利要求1所述的基于虚拟机的视频监控存储系统,其特征在于,所述第二类块设备驱动模块为video_blk_host_drv模块。
CN201710636248.0A 2017-07-27 2017-07-27 一种基于虚拟机的视频监控存储系统 Pending CN107402802A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710636248.0A CN107402802A (zh) 2017-07-27 2017-07-27 一种基于虚拟机的视频监控存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710636248.0A CN107402802A (zh) 2017-07-27 2017-07-27 一种基于虚拟机的视频监控存储系统

Publications (1)

Publication Number Publication Date
CN107402802A true CN107402802A (zh) 2017-11-28

Family

ID=60402556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710636248.0A Pending CN107402802A (zh) 2017-07-27 2017-07-27 一种基于虚拟机的视频监控存储系统

Country Status (1)

Country Link
CN (1) CN107402802A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109521966A (zh) * 2018-11-15 2019-03-26 郑州云海信息技术有限公司 存储设备虚拟化方法、装置、终端及计算机可读存储介质
CN109857517A (zh) * 2019-01-04 2019-06-07 中国科学院计算技术研究所 一种虚拟化系统及其数据交换方法
CN110611842A (zh) * 2019-09-20 2019-12-24 天津卓朗科技发展有限公司 基于虚拟机的视频传输管理方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262557A (zh) * 2010-05-25 2011-11-30 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架
US8863123B2 (en) * 2011-12-15 2014-10-14 Electronics And Telecommunications Research Institute Apparatus and method for virtualizing input/output devices using shared memory in host-based mobile terminal virtualization environment
CN106354670A (zh) * 2015-07-16 2017-01-25 阿里巴巴集团控股有限公司 一种用于虚拟化环境下传输数据的方法与设备
CN106844066A (zh) * 2017-01-22 2017-06-13 腾讯科技(深圳)有限公司 一种应用运行方法、装置及系统
CN106874128A (zh) * 2017-01-22 2017-06-20 广州华多网络科技有限公司 数据传输方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262557A (zh) * 2010-05-25 2011-11-30 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架
US8863123B2 (en) * 2011-12-15 2014-10-14 Electronics And Telecommunications Research Institute Apparatus and method for virtualizing input/output devices using shared memory in host-based mobile terminal virtualization environment
CN106354670A (zh) * 2015-07-16 2017-01-25 阿里巴巴集团控股有限公司 一种用于虚拟化环境下传输数据的方法与设备
CN106844066A (zh) * 2017-01-22 2017-06-13 腾讯科技(深圳)有限公司 一种应用运行方法、装置及系统
CN106874128A (zh) * 2017-01-22 2017-06-20 广州华多网络科技有限公司 数据传输方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109521966A (zh) * 2018-11-15 2019-03-26 郑州云海信息技术有限公司 存储设备虚拟化方法、装置、终端及计算机可读存储介质
CN109857517A (zh) * 2019-01-04 2019-06-07 中国科学院计算技术研究所 一种虚拟化系统及其数据交换方法
CN109857517B (zh) * 2019-01-04 2020-12-29 中国科学院计算技术研究所 一种虚拟化系统及其数据交换方法
CN110611842A (zh) * 2019-09-20 2019-12-24 天津卓朗科技发展有限公司 基于虚拟机的视频传输管理方法及相关装置
CN110611842B (zh) * 2019-09-20 2022-03-29 天津卓朗科技发展有限公司 基于虚拟机的视频传输管理方法及相关装置

Similar Documents

Publication Publication Date Title
US7660867B2 (en) Virtual computer system and virtual computer migration control method
CN103562878B (zh) 在镜像虚拟机系统中的存储器检查点设置
CN102340530B (zh) 一种存储空间接管和数据迁移的方法和系统
US8924659B2 (en) Performance improvement in flash memory accesses
US9262097B2 (en) System and method for non-volatile random access memory emulation
US8527720B2 (en) Methods of capturing and naming dynamic storage tiering configurations to support data pre-staging
WO2017190578A1 (zh) 硬盘数据擦除方法、服务器及系统
US9009438B2 (en) Space reclamation in multi-layered and thin provisioned storage systems
CN103503414A (zh) 一种计算存储融合的集群系统
CN101615106A (zh) 用于虚拟化sas存储适配器的方法和系统
CN109344090A (zh) 数据中心中kvm虚拟机的虚拟硬盘系统及数据中心
CN102982182B (zh) 一种数据存储规划方法及装置
CN101657801A (zh) 对固态存储的统一支持
CN102833237B (zh) 一种基于桥接的无限带宽协议转换方法及系统
JP2010271808A (ja) ストレージ装置及びデータコピー方法
CN101221485A (zh) 建立冗余磁盘阵列的方法及控制设备
CN107402802A (zh) 一种基于虚拟机的视频监控存储系统
CN104272242A (zh) 创建加密存储体
CN107301021B (zh) 一种利用ssd缓存对lun进行加速的方法和装置
US20170039140A1 (en) Network storage device for use in flash memory and processing method therefor
US9348513B2 (en) SAS virtual tape drive
CN101794246B (zh) 备份存储系统、备份系统及数据备份方法和恢复方法
US9940155B1 (en) Protocol endpoint object duality
WO2023020136A1 (zh) 存储系统中的数据存储方法及装置
CN101266541A (zh) iSCSI目标器与存储设备的接口方法

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171128