[发明专利]一种基于记录仪平台的图片存储方法在审
申请号: | 201710278877.0 | 申请日: | 2017-04-25 |
公开(公告)号: | CN107025074A | 公开(公告)日: | 2017-08-08 |
发明(设计)人: | 姜海峰;李德贤;王耀文;姜军;刘明月;杨春艳;郑祥滨;邓舸 | 申请(专利权)人: | 航天科技控股集团股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F17/30 |
代理公司: | 哈尔滨市松花江专利商标事务所23109 | 代理人: | 杨立超 |
地址: | 150060 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 记录仪 平台 图片 存储 方法 | ||
技术领域
本发明涉及一种图片存储方法。
背景技术
随着科技的发展,网络存储和云存储已经取得了快速发展,在存储技术中占有较重要的地位。由于其不需要随身携带硬盘、U盘等存储工具,具有极大的方便性,同时还有防丢失的功能,所以成为很多用户的首选。但是其自身也存在这一定的弊端,比如,当多个用户在客户端同时发出上传照片请求时,如果将照片直接向数据库中存储,由于Web系统对于数据库的访问请求过于频繁,会导致数据库性能低下,降低系统整体性能;而且实时并发量大,服务器响应速度慢,用户在客户端就会出现长时间等待的现象。
发明内容
本发明为了解决目前的网络存储方法中用户在客户端存在长时间等待的问题。
一种基于记录仪平台的图片存储方法,包括:
步骤1、首先接收从客户端上传的图片文件,并将图片打包成流形式的消息包,将新的消息包推送至图片缓存通道,使用系统自带的内存机制,缓存图片消息;
步骤2、通过Spring Integration配置文件的fileSender将流文件转换成消息的形式,并放入到消息通道中,所述的消息通道为spring integration内部提供的栈;将流文件转换成消息的形式放入到消息通道的过程中的数据是在缓存中进行的;
步骤3、利用多线程并发操作从消息通道中读取数据,并上传保存到Mongo数据库的体系结构中。
优选地,步骤3中从消息通道中读取数据之前,首先创建N个线程,能够存放M个消息,然后利用多线程并发操作从消息通道中读取数据,并上传保存到Mongo数据库的体系结构中。
优选地,线程数目N=1000,存放消息的数量为M=80000个。
优选地,步骤3中从消息通道中读取数据是通过基于N个线程通过fileSaver算法以并发操作从消息通道中读取数据。
优选地,步骤3中基于N个线程通过fileSaver算法以并发操作从消息通道中读取数据的过程中,随着时间的推移,待处理的数据量增加时,通过修改配置文件的线程数N以及可存放的消息总数,增加无法及时处理数据部分的数量。
本发明具有以下有益效果:
本发明首先通过算法将上传的图片转换成字节流形式保存到由spring integration框架(一种轻量级企业级集成框架)内部提供的栈中(即消息通道),该操作的时间非常短,避免了用户在客户端上传照片数量过多时出现等待的现象,能够实现异步处理,然后通过spring integration框架中多线程并发操作堆栈数据,将照片依次从栈中取出,存入到Mongo数据库中。相比现有的直接向数据库中存储的方式,本发明能够将客户端的等待时间减少40%以上,而且数据总量越大,效果越明显,极大地提高了用户体验。同时由于本发明针对多线程、缓存队列等易出错误部分,使用spring integration框架内固有的成熟稳定模块,保证了程序的稳定性。通过xml配置文件进行调用,可以方便的维护后期由于待处理消息数量过多而导致的等待时间长、易出错等问题。
附图说明
图1为本发明的流程图。
具体实施方式
具体实施方式一:结合图1说明本实施方式,
一种基于记录仪平台的图片存储方法,包括:
步骤1、首先接收从客户端上传的图片文件,并将图片打包成流形式的消息包,将新的消息包推送至图片缓存通道,使用系统自带的内存机制,缓存图片消息;
体系结构如下:
步骤2、通过Spring Integration配置文件的fileSender将流文件转换成消息的形式,并放入到消息通道中,所述的消息通道为spring integration内部提供的栈;将流文件转换成消息的形式放入到消息通道的过程中的数据是在缓存中进行的;
配置文件如下:
步骤3、利用多线程并发操作从消息通道中读取数据,并上传保存到Mongo数据库的体系结构中。
从消息通道中读取数据并保存到Mongo数据库的体系结构如下:
具体实施方式二:
本实施方式所述步骤3中从消息通道中读取数据之前,首先创建N个线程,能够存放M个消息,然后利用多线程并发操作从消息通道中读取数据,并上传保存到Mongo数据库的体系结构中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天科技控股集团股份有限公司,未经航天科技控股集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710278877.0/2.html,转载请声明来源钻瓜专利网。