CN107172189A - 一种多并发图片存储方法 - Google Patents
一种多并发图片存储方法 Download PDFInfo
- Publication number
- CN107172189A CN107172189A CN201710447488.6A CN201710447488A CN107172189A CN 107172189 A CN107172189 A CN 107172189A CN 201710447488 A CN201710447488 A CN 201710447488A CN 107172189 A CN107172189 A CN 107172189A
- Authority
- CN
- China
- Prior art keywords
- picture
- node
- storage
- module
- gateway
- 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
Links
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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种多并发图片存储方法,图片网关或抓拍设备通过表述性状态转移协议向节点管理模块发出查询最优存储节点请求;节点管理模块基于接收到的请求查询在线存储节点的健康状态,基于健康状态选取状态最优的存储节点作为当前请求的最优存储节点,并将选取的最优存储节点返回至图片网关或抓拍设备;图片网关或抓拍设备基于接收到的最优存储节点通过接口模块将图片存储至图片存储模块。本发明能够有效的对多并发图片进行存储。
Description
技术领域
本发明涉及存储技术领域,更具体地说,涉及一种多并发图片存储方法。
背景技术
在智慧城市、安全城市、智能交通高速发展的今天,刑侦、安防以及交通违章图片数据较之之前海量递增,一个城市一日的图片量会高达千万条数量级。随着高清相机技术的不断发展,相机拍摄图片的像素较之之前也有巨大提升,单个图像有到几兆甚至几十兆的文件大小。
这对于后端存储设备是个不小的挑战,首先海量图片并发存储对于传统的NAS(Network Attached Storage,网络附属存储)、IPSAN、NVR(Network Video Recorder,网络硬盘录像机)设备来说是个灾难性的问题;随着图片像素的提高,单台设备的存储容量已很难达到交警、公安部门对图片存储期限的要求;NVR以及云存储使用传统文件系统存储大数量的图片文件时会存在比较严重的性能问题,并且解决难度较大、成本较高;另外,基于成本考虑,分布式架构的云存储也无法满足中小项目的需求。因此,如何有效的对多并发图片进行存储是一项亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种多并发图片存储方法,能够有效的对多并发图片进行存储。
为实现上述目的,本发明提供如下技术方案:
一种多并发图片存储方法,所述方法包括以下步骤:
图片网关或抓拍设备通过表述性状态转移协议向节点管理模块发出查询最优存储节点请求;
所述节点管理模块基于接收到的请求查询在线存储节点的健康状态,基于所述健康状态选取状态最优的存储节点作为当前请求的最优存储节点,并将选取的最优存储节点返回至所述图片网关或抓拍设备;
所述图片网关或抓拍设备基于接收到的所述最优存储节点通过接口模块将图片存储至图片存储模块。
优选地,所述方法还包括:
以预设时间周期,所述节点管理模块重新计算最优存储节点。
优选地,所述方法还包括:
对于健康状态不满足预设条件或离线的存储节点,所述节点管理模块生成告警信息。
优选地,所述方法还包括:
当图片存储至所述图片存储模块成功后,所述接口模块获取所述图片存储模块返回的唯一标示图片的统一资源定位符,并将所述统一资源定位符返回至上传所述图片的图片网关。
优选地,所述方法还包括:
所述图片网关基于所述统一资源定位符从所述图片存储模块中下载相应的图片。
从上述技术方案可以看出,本发明公开了一种多并发图片存储方法,当需要进行多并发图片的存储时,首先图片网关或抓拍设备通过表述性状态转移协议向节点管理模块发出查询最优存储节点请求,然后节点管理模块基于接收到的请求查询在线存储节点的健康状态,基于所述健康状态选取状态最优的存储节点作为当前请求的最优存储节点,并将选取的最优存储节点返回至所述图片网关或抓拍设备,然后图片网关或抓拍设备基于接收到的最优存储节点通过接口模块将图片存储至图片存储模块;通过节点管理模块返回的最优存储节点,图片网关或抓拍设备能够通过最优存储节点将图片写入图片存储模块,有效的实现了多并发图片的存储。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明公开的一种多并发图片存储方法实施例1的流程图;
图2为本发明公开的一种多并发图片存储方法实施例2的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为本发明公开的一种多并发图片存储方法的实施例1的流程图,本方法可以包括以下步骤:
S101、图片网关或抓拍设备通过表述性状态转移协议向节点管理模块发出查询最优存储节点请求;
当需要进行多并发图片存储时,新连接的图片网关或抓拍设备通过表述性状态转移协议向节点管理模块发出请求查询最优存储节点。
S102、节点管理模块基于接收到的请求查询在线存储节点的健康状态,基于健康状态选取状态最优的存储节点作为当前请求的最优存储节点,并将选取的最优存储节点返回至所述图片网关或抓拍设备;
当节点管理模块接收到图片网关或抓拍设备发送的查询最优存储节点的请求后,节点管理模块通过集群接口查询在线的存储节点的健康状态,然后向健康状态满足条件的节点查询节点网络压力、系统负载和空闲存储空间等,然后根据查询到的以上状态信息进行综合计算,选取状态最优的节点作为当前请求的最优存储节点,然后将最优存储节点返回给请求的图片网关。
S103、图片网关或抓拍设备基于接收到的最优存储节点通过接口模块将图片存储至图片存储模块。
图片网关接收到最优存储节点后,直接由最优存储节点将待存储图片存储至图片存储模块。
在上述实施例中,各图片存储模块和前端图片网关或抓拍设备连接在同一个交换网络中。其中,节点管理模块安装在每一个图片存储模块上,但是只需要一个节点负责实际的最优节点选择工作,图片网关或抓拍设备通过该节点的IP地址来查询进行图片存储的最优节点,节点管理模块可以通过系统自动选举或者用户手动配置两种方式产生。图片存储模块并不保存过多的分布式系统配置信息,所有系统状态都是实时查询得到,这样就增加了图片存储模块节点增删的灵活性。当节点管理模块发生致命错误后,会由其他节点发送错误消息通知管理员进行维护。该方案较之分布式系统管理灵活、成本低,符合图片存储中小项目应用实际。
如图2所示,为为本发明公开的一种多并发图片存储方法的实施例1的流程图,本方法可以包括以下步骤:
S201、图片网关或抓拍设备通过表述性状态转移协议向节点管理模块发出查询最优存储节点请求;
当需要进行多并发图片存储时,新连接的图片网关或抓拍设备通过表述性状态转移协议向节点管理模块发出请求查询最优存储节点。
S202、节点管理模块基于接收到的请求查询在线存储节点的健康状态,基于健康状态选取状态最优的存储节点作为当前请求的最优存储节点,并将选取的最优存储节点返回至所述图片网关或抓拍设备;
当节点管理模块接收到图片网关或抓拍设备发送的查询最优存储节点的请求后,节点管理模块通过集群接口查询在线的存储节点的健康状态,然后向健康状态满足条件的节点查询节点网络压力、系统负载和空闲存储空间等,然后根据查询到的以上状态信息进行综合计算,选取状态最优的节点作为当前请求的最优存储节点,然后将最优存储节点返回给请求的图片网关。
S203、图片网关或抓拍设备基于接收到的最优存储节点通过接口模块将图片存储至图片存储模块;
图片网关接收到最优存储节点后,直接由最优存储节点将待存储图片存储至图片存储模块。
图片存储模块是本存储系统的重点模块,本模块的性能和稳定性是整个系统特性的关键因素。其中,为保证存储效率,本模块避开通用文件系统层,直接对块设备进行操作;根据图片存储的特点,图片多为小文件并且数量巨大,如果使用数据库等结构化手段来管理每个图片元数据,对于系统性能将是灾难性的影响,本模块设计时只对卷空间等固定设备做结构化管理,不对图片存储直接产生的过程数据做结构化保存。
在存储空间管理上,本模块对加入的卷进行划分,每4G划分为一个chunk,然后将卷信息通过结构化数据表保存,数据表的内容为:chunkid、lunid、lunoffset、state、chunkoffset、priority。其中chunkid为唯一标示该chunk的id,由lunid和lunoffset生成;lunid为该chunk所在lun的id;lunoffset为该chunk在lun中的偏移量;state为该chunk的状态,包括unused、using、full和bad,分别标示未使用、正在使用、已写满和损坏四个状态;当state为using时chunkoffset为当前已使用的偏移量;priority标示该chunk的优先级,用于存储高优先级的图片。通过lunid+lunoffset+chunkoffset可以找到当前可以使用的存储空间。
图片存储的具体实现过程如下:
(1)接口模块将图片二进制数据和图片大小、类型、时间戳等描述信息传递到本模块,本模块将上述数据按时间戳、图片类型、图片长度和图片数据的顺序进行编排。然后在数据头部加入图片魔数和图片存储版本信息,这两个信息用于图片查找和循环覆盖时使用。
(2)查询chunk结构化数据表,找到存储空间中当前正在可用的lun id、chunk id和chunkoffset,然后将该写入地址和(1)中产生的写入数据一起放到缓存队列中,更新当前可用lun id、chunk id和chunkoffset。
(3)将图片存储的lun id、chunk id和chunk offset返回给接口层,经由接口层返回给用户。
(4)缓存队列有定量和定时两种方式进行图片异步下刷,定量方式指当缓存队列数据超过64M数据后进行一次下刷操作;定时下刷方式指当最老缓存数据超过10秒时进行一次下刷操作。
(5)下刷动作成功完成后,将结构化chunk数据表数据落盘。
用户有重要图片需要存储时,会在请求的rest接口中添加high priority的字段,每个chunk都会有一个priority属性,这类图片会存放在priority为high的chunk中,这类chunk在有效时间结束前不允许循环覆盖。
当所有chunk写满后需要循环覆盖利用存储空间,此时程序通过检查覆盖点附近的图片magic和version信息以确定是否为陈旧图片数据,如果是则循环覆盖该位置数据。
S204、以预设时间周期,所述节点管理模块重新计算最优存储节点;
经过设定的更新时间后,节点管理模块会重新计算最优存储节点。如果系统负载压力变化不大则维持原最优节点方案,如果系统负载有较大变化则重新为该图片网关选择最优存储节点,具体实现方式为:图片网关往最优存储节点写入图片时,最优存储节点完成该图片存储并返回最优存储节点变更错误代码,图片网关收到该代码后需要重新向节点管理模块查询最优存储节点路径。
S205、对于健康状态不满足预设条件或离线的存储节点,所述节点管理模块生成告警信息;
对于健康状态不佳或者离线的存储节点,节点管理模块会发出告警,通知管理员进行人工维护。
S206、当图片存储至图片存储模块成功后,接口模块获取图片存储模块返回的唯一标示图片的统一资源定位符,并将统一资源定位符返回至上传图片的图片网关;
当图片存储成功后,接口模块获取图片存储模块返回的唯一标示图片的统一资源定位符返回给上传图片的图片网关。
S207、图片网关基于统一资源定位符从图片存储模块中下载相应的图片。
当图片网关下载图片时,接口层解析网关请求的url,将lun id、chunk id和chunkoffset传递到图片存储模块,最后将获取的图片信息返回给图片网关。
返回图片信息中,除图片二进制数据外,还包括图片的时间戳、图片类型和图片长度等结构化数据。
图片下载的详细步骤如下:
(1)接口层传递图片存储的lun id、chunk id、chunk offset和version信息,本模块不需要经过结构化数据表查询,直接通过上述信息到指定chunk的偏移量读出图片结构化信息;
(2)校验图片的magic是否为有效图片,校验图片的version是否为指定与传入version一致(如果不一致则为已被循环覆盖),如果上述校验通过则根据图片length读出图片二进制数据;
(3)将图片的二进制数据和结构化数据返回给接口层,经由接口层通过rest返回给用户
综上所述,本发明通过简单有效的最优节点管理机制实现低成本的中小规模图片存储方案,提高业务并发度和存储效率;通过规范的rest接口实现存储系统和用户的交互,增加了对接的通用性;定制化的图片存储方案,解决了使用通用性文件系统小文件存储效率低的问题;不对每条图片信息进行结构化数据存储,而是将结构化数据和图片元数据一同存储数据空间,在海量存储场景下解决了随着存储图片量的增加效率降低的问题;在图片读取时直接通过传递参数读取磁盘信息,避免再次对结构化数据进行查询的问题,提高数据的读取效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (5)
1.一种多并发图片存储方法,其特征在于,所述方法包括以下步骤:
图片网关或抓拍设备通过表述性状态转移协议向节点管理模块发出查询最优存储节点请求;
所述节点管理模块基于接收到的请求查询在线存储节点的健康状态,基于所述健康状态选取状态最优的存储节点作为当前请求的最优存储节点,并将选取的最优存储节点返回至所述图片网关或抓拍设备;
所述图片网关或抓拍设备基于接收到的所述最优存储节点通过接口模块将图片存储至图片存储模块。
2.根据权利要求1所述的方法,其特征在于,还包括:
以预设时间周期,所述节点管理模块重新计算最优存储节点。
3.根据权利要求2所述的方法,其特征在于,还包括:
对于健康状态不满足预设条件或离线的存储节点,所述节点管理模块生成告警信息。
4.根据权利要求3所述的方法,其特征在于,还包括:
当图片存储至所述图片存储模块成功后,所述接口模块获取所述图片存储模块返回的唯一标示图片的统一资源定位符,并将所述统一资源定位符返回至上传所述图片的图片网关。
5.根据权利要求4所述的方法,其特征在于,还包括:
所述图片网关基于所述统一资源定位符从所述图片存储模块中下载相应的图片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710447488.6A CN107172189A (zh) | 2017-06-14 | 2017-06-14 | 一种多并发图片存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710447488.6A CN107172189A (zh) | 2017-06-14 | 2017-06-14 | 一种多并发图片存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107172189A true CN107172189A (zh) | 2017-09-15 |
Family
ID=59818670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710447488.6A Pending CN107172189A (zh) | 2017-06-14 | 2017-06-14 | 一种多并发图片存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107172189A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783678A (zh) * | 2018-12-29 | 2019-05-21 | 深圳云天励飞技术有限公司 | 一种图像搜索的方法及装置 |
CN113542822A (zh) * | 2021-07-12 | 2021-10-22 | 中国银行股份有限公司 | 影像文件传输方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335765A (zh) * | 2008-07-25 | 2008-12-31 | 华中科技大学 | 基于移动缓存的存储服务中间件 |
CN101582919A (zh) * | 2009-04-14 | 2009-11-18 | 冯俊秋 | 网络电视播放方法及系统 |
US20130198281A1 (en) * | 2011-04-26 | 2013-08-01 | Jeffrey Scuba | System for Creating Anonymous Social Gatherings |
CN105975345A (zh) * | 2016-05-20 | 2016-09-28 | 江苏得得空间信息科技有限公司 | 一种基于分布式内存的视频帧数据动态均衡存储管理方法 |
CN106453546A (zh) * | 2016-10-08 | 2017-02-22 | 电子科技大学 | 分布式存储调度的方法 |
-
2017
- 2017-06-14 CN CN201710447488.6A patent/CN107172189A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335765A (zh) * | 2008-07-25 | 2008-12-31 | 华中科技大学 | 基于移动缓存的存储服务中间件 |
CN101582919A (zh) * | 2009-04-14 | 2009-11-18 | 冯俊秋 | 网络电视播放方法及系统 |
US20130198281A1 (en) * | 2011-04-26 | 2013-08-01 | Jeffrey Scuba | System for Creating Anonymous Social Gatherings |
CN105975345A (zh) * | 2016-05-20 | 2016-09-28 | 江苏得得空间信息科技有限公司 | 一种基于分布式内存的视频帧数据动态均衡存储管理方法 |
CN106453546A (zh) * | 2016-10-08 | 2017-02-22 | 电子科技大学 | 分布式存储调度的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783678A (zh) * | 2018-12-29 | 2019-05-21 | 深圳云天励飞技术有限公司 | 一种图像搜索的方法及装置 |
CN109783678B (zh) * | 2018-12-29 | 2021-07-20 | 深圳云天励飞技术有限公司 | 一种图像搜索的方法及装置 |
CN113542822A (zh) * | 2021-07-12 | 2021-10-22 | 中国银行股份有限公司 | 影像文件传输方法及装置 |
CN113542822B (zh) * | 2021-07-12 | 2023-01-06 | 中国银行股份有限公司 | 影像文件传输方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8015146B2 (en) | Methods and systems for assisting information processing by using storage system | |
CN100438625C (zh) | 一种视频监控数据存储管理方法及系统 | |
ES2757817T3 (es) | Sistema de vigilancia con almacenamiento directo en servidor de base de datos | |
CN103294710B (zh) | 一种数据存取方法和装置 | |
CN104469391B (zh) | 一种基于云平台的数字电视内容分发系统及方法 | |
CN104050248B (zh) | 一种文件存储系统及存储方法 | |
CN104750858A (zh) | 一种基于网络的数据存储方法 | |
CN104750859A (zh) | 一种网络存储方法 | |
CN102541990A (zh) | 利用虚拟分区的数据库重新分布方法和系统 | |
CN103379021A (zh) | 实现分布式消息队列的方法及系统 | |
CN102547227B (zh) | 视频监控文件的传输处理方法与系统 | |
CN105828017B (zh) | 一种面向视频会议的云存储接入系统及方法 | |
CN107888666A (zh) | 一种跨地域数据存储系统以及数据同步方法和装置 | |
CN101170719B (zh) | 多文件内容处理方法和系统 | |
CN102624881A (zh) | 一种面向移动设备的服务缓存系统架构及开发方法 | |
US8447825B2 (en) | File sharing system and file sharing method | |
CN101651825A (zh) | 数据采集上传方法和系统 | |
CN108347459A (zh) | 一种云端数据快速存储方法及装置 | |
CN105354250A (zh) | 一种面向云存储的数据存储方法及装置 | |
CN108881942A (zh) | 一种基于分布式对象存储的超融合常态录播系统 | |
CN107172189A (zh) | 一种多并发图片存储方法 | |
CN101237571A (zh) | 一种监控系统中的视频编码的存储方法及设备 | |
CN111131786A (zh) | 一种应用云存储的视频监控存储系统 | |
CN106506483B (zh) | 基于onvif的视频源组同步回放方法及装置 | |
CN104205730B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170915 |
|
RJ01 | Rejection of invention patent application after publication |