一种图片存储方法、装置、设备及介质与流程

文档序号:28714572发布日期:2022-01-29 14:26阅读:88来源:国知局
一种图片存储方法、装置、设备及介质与流程

1.本发明涉及图片存储领域,具体涉及一种图片存储方法、装置、设备及介质。


背景技术:

2.富文本编辑器,rich texteditor,简称rte,是一种可内嵌于浏览器,所见即所得的文本编辑器。富文本编辑器有一个共同的问题,就是插入图片的问题,大多文本编辑器会把插入的图片会转换成base64,其占据的存储空间相对较大,然而富文本编辑器本身的存储空间相对较小。如果插入很多图片,会占据较大的存储空间,然而富文本编辑器本身的存储空间不能满足业务的存储需求,且后端对图片的接收也会相应的存在问题。若一次插入很多图片会导致传输速度非常慢,这个时候如何插入更多的图片,或者插入很多大内存的图片就是一个需要解决的问题。


技术实现要素:

3.本发明提供一种基于脑纹识别的图片存储方法、装置、设备及介质,其主要目的在于解决富文本编辑器在上传图片的过程中对图片编码带来的传输慢和不满足存储需求的问题。
4.为实现上述目的,本发明提供一种图片存储方法,包括:
5.通过所述富文本编辑器接收待存储图片;
6.将所述富文本编辑器接收的所述待存储图片发送至服务器,以完成对待存储图片的存储;
7.通过所述富文本编辑器接收所述服务器返回的所述待存储图片在所述服务器上的存储路径。
8.可选地,在所述服务器接收所述富文本编辑器发送的所述待存储图片前,还包括:
9.获取所述服务器的剩余存储空间的大小;
10.当所述服务器的剩余存储空间大于预设空间阈值,则所述服务器接收所述待存储图片;
11.当所述服务器的剩余存储空间小于预设空间阈值,则在服务器中查找是否存在与所述待存储图片相同的图片;
12.若存在与所述待存储图片相同的图片,则根据图片参数计算待存储图片与已存储图片的质量分,若待存储图片的质量分小于已存储图片的质量分,则服务器拒绝接收所述待存储图片;若待存储图片的质量分大于已存储图片的质量分,则服务器接收所述待存储图片,同时删除与待存储图片相同的已存储图片;
13.若不存在与待存储图片相同的图片,则利用其他存储装置存储所述待存储图片。
14.可选地,所述图片参数包括多个,根据图片参数计算图片的质量分,包括:
15.获取图片的多个图片参数;
16.将所述多个图片参数映射为对应的多个质量评价分;
17.将所述多个质量评价分进行加权求和,得到图片的质量分。
18.可选地,所述在服务器中查找是否存在与所述待存储图片相同的图片,包括:
19.获取第一特征信息,其中,所述第一特征信息为待存储图片的特征信息;
20.在所述服务器中查询是否存在与所述第一特征信息相同的第二特征信息,生成查询结果;其中,所述第二特征信息为服务器中已存储图片的特征信息;
21.若查询结果为否,则所述服务器接收所述待存储图片。
22.可选地,所述在所述服务器中查询是否存在与所述第一特征信息相同的第二特征信息,生成查询结果,包括:
23.计算所述待存储图片的第一特征信息与服务器中已存储图片的第二特征信息之间的相似度;
24.根据所述相似度与预设相似度阈值,得到查询结果。
25.可选地,将所述相似度与预设相似度阈值进行比较,若存在任意一个相似度大于预设相似度阈值,则查询结果为是,则服务器中存在与所述第一特征信息相同的所述第二特征信息,即确定所述服务器中存在与所述待存储图片相同的已存储图片;若所有相似度均小于预设相似度阈值,则查询结果为否,则服务器中不存在与所述第一特征信息相同的所述第二特征信息,即确定所述服务器中不存在与所述待存储图片相同的图片。
26.可选地,在所述富文本编辑器接收所述待存储图片之后,还包括:判断所述待存储图片的格式是否为目标格式;
27.若所述待存储图片的格式不为所述目标格式,则将所述待存储图片的格式转换为目标格式,得到转换格式后的待存储图片,其中,所述目标格式为所述富文本编辑器所支持的预设格式。
28.为实现上述目的,本发明提供一种图片存储装置,包括:
29.第一接收模块,用于接收通过所述富文本编辑器接收的待存储图片;
30.发送模块,用于将所述富文本编辑器接收的所述待存储图片发送至服务器,以完成对待存储图片的存储;
31.第二接收模块,用于接收通过所述富文本编辑器接收的所述服务器返回的所述待存储图片在所述服务器上的存储路径。
32.为实现上述目的,本发明提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述图片存储方法的步骤。
33.为实现上述目的,本发明提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述图片存储方法的步骤。
34.如上所述,本发明提供的一种图片存储方法、装置、设备及介质,具有以下有益效果:
35.本发明的一种图片存储方法,包括:通过所述富文本编辑器接收待存储图片;将所述富文本编辑器接收的所述待存储图片发送至服务器,以完成对待存储图片的存储;通过所述富文本编辑器接收所述服务器返回的所述待存储图片在所述服务器上的存储路径。通过上述方式,每当在富文本编辑器中插入一张图片之后都会先上传到服务器进行存储,然
后再返回一个图片在服务器上的存储路径给富文本编辑器。这样即使需要插入很多或很大的图片也不会有影响,使得富文本编辑器没有图片大小和多少的限制,从前端到后端都节省了大量的联调时间。
附图说明
36.图1为本发明一实施例中一种图片存储方法的应用环境示意图;
37.图2为本发明一实施例中一种图片存储方法的流程图;
38.图3为本发明另一实施例中一种图片存储方法的流程图;
39.图4为本发明一实施例中计算图片的质量分的流程图;
40.图5为本发明一实施例中在服务器中查找是否存在与所述待存储图片相同的图片的流程图;
41.图6为本发明一实施例中在所述服务器中查询是否存在与第一特征信息相同的第二特征信息的流程图;
42.图7为本发明一实施例中一种图片存储装置的模块图;
43.图8为本发明另一实施例中一种图片存储装置的模块图;
44.图9为本发明一实施例中质量分计算模块的模块图;
45.图10为本发明一实施例中查找模块的模块图;
46.图11为本发明一实施例中查找子模块的模块图。
47.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
48.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
49.本发明提供一种图片存储方法,应用于一种电子装置1。参照图1所示,为本发明一实施例中图片存储方法的应用环境示意图。
50.在本实施例中,电子装置1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
51.该电子装置1包括:处理器12、存储器11、摄像装置13、网络接口14及通信总线15。
52.存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器11等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置1的外部存储器11,例如所述电子装置1上配备的插接式硬盘,智能存储卡(smartmedia card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
53.在本实施例中,所述存储器11的可读存储介质通常用于存储安装于所述电子装置1的图片存储程序10等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
54.处理器12在一些实施例中可以是一中央处理器(central processing unit,cpu),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行图片存储程序10等。
55.摄像装置13既可以是所述电子装置1的一部分,也可以独立于电子装置1。在一些实施例中,所述电子装置1为智能手机、平板电脑、便携计算机等具有摄像头的终端设备,则所述摄像装置13即为所述电子装置1的摄像头。在其他实施例中,所述电子装置1可以为服务器,所述摄像装置13独立于该电子装置1、与该电子装置1通过网络连接,例如,该摄像装置13安装于特定场所,如办公场所、监控区域,对进入该特定场所的目标实时拍摄得到实时图像,通过网络将拍摄得到的实时图像传输至处理器12。
56.网络接口14可选地可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该电子装置1与其他电子设备之间建立通信连接。
57.通信总线15用于实现这些组件之间的连接通信。
58.图1仅示出了具有组件11-15的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
59.可选地,该电子装置1还可以包括用户接口,用户接口可以包括输入单元比如键盘(keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
60.可选地,该电子装置1还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organic light-emitting diode,oled)触摸器等。显示器用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
61.可选地,该电子装置1还包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。
62.此外,该电子装置1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该装置基于触摸显示屏侦测用户触发的触控操作。
63.可选地,该电子装置1还可以包括射频(radio frequency,rf)电路,传感器、音频电路等等,在此不再赘述。
64.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
65.在图1所示的装置实施例中,作为一种机器可读介质的存储器11中可以包括操作系统、以及图片存储程序10;处理器12执行存储器11中存储的图片存储程序10时实现如图2所示的图片存储方法的步骤:
66.s200,通过所述富文本编辑器接收待存储图片;
67.s201,将所述富文本编辑器接收的所述待存储图片发送至服务器,以完成对待存储图片的存储;
68.s202,通过所述富文本编辑器接收所述服务器返回的所述待存储图片在所述服务器上的存储路径。
69.通过上述方式,每当在富文本编辑器中插入一张图片之后都会先上传到服务器进行存储,然后再返回一个图片在服务器上的存储路径到富文本编辑器。这样即使需要插入很多或者很大的图片也不会有影响,使得富文本编辑器没有图片大小和多少的限制,从前端到后端都节省了大量的联调时间。
70.富文本编辑器是一种可内嵌于浏览器,所见即所得的文本编辑器。用户可自行在网上下载富文本编辑器,并内嵌于所使用的网站或程序中,以方便用户编辑文件。其中,富文本编辑器的类型包括但不限于tinymce、kindeditor、fckeditor等类型的编辑器。具体的,在用户将富文本编辑器内嵌于所使用的网页后,用户可将所需进行编辑的内容复制粘贴至富文本编辑器的编辑区中,以在操作页面中生成可对文件进行编辑的富文本编辑器。
71.在本实施例中,将富文本编辑器接收的图像上传至服务器,并确定图像在所述服务器上的存储路径,从而根据图像在所述服务器上的存储路径可以准确地从服务器获取服务器存储的图像。
72.本实施例对上传的服务器并不进行限定,只要在查看发布的富文本对象时,可以准确地从服务器中获取到图像即可。例如,若在发布平台上发布富文本对象,则服务器可以为该发布平台的服务器。
73.上述待存储图片可以是用户上传的图片,也可以是用户相机拍摄实时得到的图片,或者是用户在聊天等过程中上传的图片等等。即,上述的待存储图片的来源不作限定,只要是最终需要存储的图片都可以作为待存储图片。
74.在一实施例中,用户可以通过拖拽待存储图片的方式,将待存储图片拖拽到富文本编辑器的编辑区中。
75.用户选中待存储图片,将待存储图片拖拽至编辑区,即可实现将待存储图片上传至富文本编辑器,即富文本编辑器接收待存储图片。
76.在本实施例中,项目开发人员可以将待存储图片拖拽至编辑区内,这样的处理方式能够有效提升编辑效率。
77.通过选中待存储图片,并将待存储图片拖拽至编辑区内,接收待存储图片,可以实现在富文本编辑器的编辑区内自动加载待存储图片,而不需要用户手动打开待存储图片,提升用户的使用体验。
78.在一实施例中,在所述富文本编辑器接收所述待存储图片之后,还包括:判断所述待存储图片的格式是否为目标格式;
79.若所述待存储图片的格式不为所述目标格式,则将所述待存储图片的格式转换为目标格式,得到转换格式后的待存储图片,其中,所述目标格式为所述富文本编辑器所支持的预设格式。
80.在本实施例中,图片的格式例如为jpg格式、png格式或者tif格式等。
81.可以理解的是,不同的富文本编辑器可以支持的预设格式相同或者不同,例如,富
文本编辑器a可以支持的图片的预设格式为jpg格式,而富文本编辑器b可以支持的图片的预设格式为png格式,对此不作限制。
82.由于富文本编辑器可以支持的预设格式可能会与待存储图片的格式不同,因此,可以获取待存储图片的格式,并依次将待存储图片的格式转换为富文本编辑器所支持的预设格式。
83.在一实施例中,如图3所示,在所述服务器接收所述富文本编辑器发送的所述待存储图片前,该方法还包括:
84.s300获取所述服务器的剩余存储空间的大小;
85.s301当所述服务器的剩余存储空间大于预设空间阈值,则所述服务器接收所述待存储图片;
86.s302当所述服务器的剩余存储空间小于预设空间阈值,则在服务器中查找是否存在与所述待存储图片相同的图片;
87.s303若存在与待存储图片相同的图片,则根据图片参数计算待存储图片与已存储图片的质量分,若待存储图片的质量分小于已存储图片的质量分,则服务器拒绝接收所述待存储图片;若待存储图片的质量分大于已存储图片的质量分,则服务器接收所述待存储图片,同时删除与待存储图片相似的已存储图片;
88.s304若不存在与待存储图片相同的图片,则利用其他存储装置存储所述待存储图片。
89.在上述实施例中,预设空间阈值可以服务器存储空间的20%,也可以是25%,还可以是30%,本实施例对预设空间阈值并不进行限定。
90.在一实施例中,所述图片参数包括多个,如图4所示,根据图片参数计算图片的质量分,包括:
91.s400获取图片的多个图片参数;其中图片参数包括以下至少之一:清晰度、亮度、色彩;
92.可以理解,在本实施例中,可以通过上述任一个或多个图片参数到所述图片的质量分,如选取上述参数的其中两种参数来计算图片的质量分,或者选取上述参数的其中三种参数来计算图片的质量分。在一实施例中,采用上述三种参数组合来得到所述图片的质量分。
93.s401将所述多个图片参数映射为对应的多个质量评价分;
94.具体地,将上述三个图片参数中每一个参数映射为对应的质量评价分,可以采用如下规则进行映射:
95.1)将清晰度映射为质量评价分
96.可以设定不同的清晰度范围所映射的质量评价分。在得到具体清晰度时,根据其所在的清晰度范围确定对应的质量评价分。需要说明的是,一般清晰度越高,质量评价分越高。
97.上述质量评价分的取值范围可以为0~100。
98.2)将亮度映射为质量评价分
99.可以设定不同的亮度对应所映射的范围,在得到亮度时,根据亮度范围确定对应的质量评价分。
100.上述质量评价分的取值范围可以为0~100。
101.3)将模糊度映射为质量评价分
102.可以设定不同的模糊度大小对应所映射的质量评价分,在得到模糊度时,根据其模糊度大小确定对应的质量评价分。需要说明的是,一般模糊度越低,模糊度映射的质量评价分越高。
103.上述质量评价分的取值范围可以为0~100。
104.s402将所述多个质量评价分进行加权求和,得到图片的质量分。
105.在得到上述三个图片参数对应的质量评价分后,可以利用加权求和的方式计算图片的质量分。其中,上述三个图片参数所占权重的取值范围为0-1,所占权重的和为1。
106.在一实施例中,如图5所示,所述在服务器中查找是否存在与所述待存储图片相同的图片,包括:
107.s500获取第一特征信息,其中,所述第一特征信息为待存储图片的特征信息;
108.其中,所述特征信息包括了能够将待存储图片与已存储图片区分开的信息,特征信息与图片一一对应;
109.s501在所述服务器中查询是否存在与第一特征信息相同的第二特征信息,生成查询结果;其中,所述第二特征信息为服务器中已存储图片的特征信息;
110.s502若查询结果为否,则所述服务器接收所述待存储图片。
111.由于在图片存储到服务器中之前,存在一个相同特征信息的检测,即相同图片的检测,因此能够防止图片重复上传到服务器中造成服务器资源的浪费。
112.在服务器完成对图片的存储后,生成与待存储图片对应的存储路径,从而可以使得在查看图时不需要下载图片,可以减少对存储内存的占用,同时也使得图片的查看也更加便捷。
113.在一实施例中,如图6所示,所述在所述服务器中查询是否存在与第一特征信息相同的第二特征信息,生成查询结果,包括:
114.s600计算所述待存储图片的第一特征信息与服务器中已存储图片的第二特征信息之间的相似度;
115.s601根据所述相似度与预设相似度阈值,得到查询结果。
116.相似度是所述待存储图片的第一特征信息与已存储图片的第二特征信息是否一致的判断指标,也即相似度可以是待存储图片的第一特征信息与已存储图片的第二特征信息之间的相似程度,从而可以根据相似程度判断待存储图片的第一特征信息与第二特征信息是否一致。可以理解,特征信息越相似,相似度就越高,因而可以通过相似度与相似度阈值进行对比,从而判断特征信息是否相同,
117.具体地,将所述相似度与预设相似度阈值进行比较,若存在任意一个相似度大于预设相似度阈值,则查询结果为是,则服务器中存在与第一特征信息相同的第二特征信息,即确定服务器中存在与待存储图片相同的图片;如果所有相似度均小于预设相似度阈值,则查询结果为否,则服务器中不存在与第一特征信息相同的第二特征信息,即确定服务器中不存在与待存储图片相同的图片。
118.例如,假设预设相似度阈值为0.8,若待存储图片与已存储图片之间的相似度为0.95,则待存储图片与已存储图片相同,即确定服务器中存在与待存储图片相同的图片。
119.在计算待存储图片的第一特征信息与已存储图片的第二特征信息之间的相似度时,第一特征信息和第二特征信息可以是图片特征向量的形式,即可以先将待存储图片的第一特征信息转换为第一特征向量,将已存储图片的第二特征信息转换为对应的第二特征向量,根据所述第一特征向量与所述第二特征向量,计算第一特征向量与第二特征向量之间的余弦相似度作为相似度。
120.在计算待存储图片的第一特征信息与已存储图片的第二特征信息之间的相似度时,还可以采用深度神经网络模型计算待存储图片的第一特征信息与已存储图片的第二特征信息之间的相似度,也即分别将待存储图片的第一特征信息与已存储图片的第二特征信息输入至神经网络模型中,从而通过神经网络模型提取到待存储图片的第一特征信息的第一特征向量以及已存储图片的第二特征信息的第二特征向量,根据第一特征向量以及第二特征向量计算相似度。
121.在一实施例中,在计算待存储图片与已存储图片的相似度时,可以利用预先训练好的基于神经网络的特征提取模型对待存储图片和已存储图片进行特征提取。其中,所述特征提取模型包括多个特征提取层,每一层特征提取层可以对图片进行特征提取,得到相应的特征向量。
122.例如,特征提取模型中包括有4层特征提取层,即第一特征提取层、第二特征提取层、第三特征提取层、第四特征提取层。则将待存储图片输入到特征提取模型后,可以得到待存储图片在第一特征提取层输出的特征向量a、在第一特征提取层输出的特征向量b、第三特征提取层输出的特征向量c、第四特征提取层输出的特征向量d;将已存储图片输入到特征提取模型后,可以得到待存储图片在第一特征提取层输出的特征向量a1、在第一特征提取层输出的特征向量b1、第三特征提取层输出的特征向量c1、第四特征提取层输出的特征向量d1。在计算待存储图片与已存储图片的相似度时,可以分别计算特征向量a与特征向量a1的相似度,特征向量b与特征向量b1的相似度,特征向量c与特征向量c1的相似度,特征向量d与特征向量d1的相似度。
123.根据各个特征提取层上待存储图片的特征向量和已存储图片的特征向量之间的相似度,计算得到待存储图片和已存储图片的相似度。
124.在本实施例中,可以采用回归算法来计算两个图片的相似度,各个特征提取层上计算得到的特征向量之间的相似度可以取不同的权重,通过调整权重值可以使图片相似度的计算结果更准确,提高计算精度。
125.待存储图片与已存储图片之间的相似度表征为[0,1]之间的浮点数,数值越大表示越相似,数值越小表示越不相似。
[0126]
在本实施例中,对各个特征提取层输出的待存储图片的特征向量与已存储图片的特征向量之间的相似度时,可以使用余弦算法、jaccard算法或pearson算法进行计算。
[0127]
在本实施例中,使用训练数据训练基于神经网络的特征提取模型;将待存储图片和已存储图片输入至特征提取模型,得到各个特征提取层上待存储图片的特征向量和已存储图片的特征向量;对各个特征提取层分别计算待存储图片的特征向量和所述已存储图片的特征向量之间的相似度;根据各个特征提取层上待存储图片的特征向量和所述已存储图片的特征向量之间的相似度,计算得到待存储图片和已存储图片的相似度;其中,基于特征提取模型实现了特征的自动抽取,无需依赖手工,极大地节省了人力和时间,提高了确定相
似度的效率。
[0128]
在一实施例中,通过md算法(message digest,基于数据摘要算法)、sha算法(secure hash algorithm,安全散列算法)、mac算法(message authentication code)获取所述待存储图片以及已存储图片的特征信息。
[0129]
本实施例中,基于数据摘要算法md5对特征信息进行加密,密码值与特征信息一一对应,此时将得到的密码值作为特征信息。
[0130]
具体地,所述md算法是一种信息摘要算法,按照规范版本可分为md2、md4、md5三种算法,通过该md算法生成的消息摘要都是128位的。从安全性上说,这三种算法的安全性排名如下md5>md4>md2,因而,为了提升安全性,在本实施例中,所述md算法优选为md5算法,当通过md5算法计算得到特征信息时,该特征信息也可以称为md5值或md5码。
[0131]
所述sha算法也是一种信息摘要算法,sha家族具有五个算法,分别是sha-1、sha-224、sha-256、sha-384,和sha-512,其中sha-224、sha-256、sha-384,和sha-512被统称为sha-2。通过不同的sha算法生成的消息摘要的位数不同,比如通过sha-1算法生成的消息摘要的位数为160位,通过sha-224算法生成的消息摘要的位数为224位。在本实施例,具体的sha算法可根据实际情况进行选定,比如,该sha算法为sha-256。
[0132]
在本实施例中,通过md算法、sha算法、mac算法计算所述待存储图片以及已存储图片的特征信息,以便可以通过特征信息来判定服务器中是否存在相同的图片,避免重复存储图片。
[0133]
如图7所述,本技术实施例还提供一种图片存储装置,包括:
[0134]
第一接收模块700,用于接收通过所述富文本编辑器接收的待存储图片;
[0135]
发送模块701,用于将所述富文本编辑器接收的所述待存储图片发送至服务器,以完成对待存储图片的存储;
[0136]
第二接收模块702,用于接收通过所述富文本编辑器接收的所述服务器返回的所述待存储图片在所述服务器上的存储路径。
[0137]
通过上述装置,每当在富文本编辑器中插入一张图片之后都会先上传到服务器进行存储,然后再返回一个图片在服务器上的存储路径到富文本编辑器。这样即使需要插入很多或者很大的图片也不会有影响,使得富文本编辑器没有图片大小和多少的限制,从前端到后端都节省了大量的联调时间。
[0138]
上述待存储图片可以是用户上传的图片,也可以是用户相机拍摄实时得到的图片,或者是用户在聊天等过程中上传的图片等等。即,上述的待存储图片的来源不作限定,只要是最终需要存储的图片都可以作为待存储图片。
[0139]
富文本编辑器是一种可内嵌于浏览器,所见即所得的文本编辑器。用户可自行在网上下载富文本编辑器,并内嵌于所使用的网站或程序中,以方便用户编辑文件。其中,富文本编辑器的类型包括但不限于tinymce、kindeditor、fckeditor等类型的编辑器。具体的,在用户将富文本编辑器内嵌于所使用的网页后,用户可将所需进行编辑的内容复制粘贴至富文本编辑器的编辑区中,以在操作页面中生成可对文件进行编辑的富文本编辑器。
[0140]
在一实施例中,用户可以通过拖拽待存储图片的方式,将待存储图片拖拽到富文本编辑器的编辑区中。
[0141]
用户选中待存储图片,将待存储图片拖拽至编辑区,即可实现将待存储图片上传
至富文本编辑器,即富文本编辑器接收待存储图片。
[0142]
在本实施例中,项目开发人员可以将待存储图片拖拽至编辑区内,这样的处理方式能够有效提升编辑效率。
[0143]
通过选中待存储图片,并将待存储图片拖拽至编辑区内,接收待存储图片,可以实现在富文本编辑器的编辑区内自动加载待存储图片,而不需要用户手动打开待存储图片,提升用户的使用体验。
[0144]
在一实施例中,在所述富文本编辑器接收所述待存储图片之后,还包括:判断所述待存储图片的格式是否为目标格式;
[0145]
若所述待存储图片的格式不为所述目标格式,则将所述待存储图片的格式转换为目标格式,得到转换格式后的待存储图片,其中,所述目标格式为所述富文本编辑器所支持的预设格式。
[0146]
在本实施例中,图片的格式例如为jpg格式、png格式或者tif格式等。
[0147]
可以理解的是,不同的富文本编辑器可以支持的预设格式相同或者不同,例如,富文本编辑器a可以支持的图片的预设格式为jpg格式,而富文本编辑器b可以支持的图片的预设格式为png格式,对此不作限制。
[0148]
由于富文本编辑器可以支持的预设格式可能会与待存储图片的格式不同,因此,可以获取待存储图片的格式,并依次将待存储图片的格式转换为富文本编辑器所支持的预设格式。
[0149]
在一实施例中,如图8所示,该装置还包括检测模块800、第一比较模块801、查找模块802、质量分计算模块803、第二比较模块804,
[0150]
所述检测模块,用于在所述服务器接收所述富文本编辑器发送的所述待存储图片前,获取所述服务器的剩余存储空间的大小;
[0151]
所述第一比较模块,用于将所述服务器的剩余存储空间与预设空间阈值进行比较;
[0152]
当所述服务器的剩余存储空间大于设阈值时,所述服务器接收所述待存储图片;
[0153]
所述查找模块,用于在所述服务器的剩余存储空间小于设阈值时,在服务器中查找是否存在与所述待存储图片相同的图片;
[0154]
所述质量分计算模块,用于在服务器中存在与待存储图片相同的图片时,根据图片参数计算待存储图片与已存储图片的质量分;
[0155]
所述第二比较模块,用于将待存储图片的质量分与已存储图片的质量分进行比较;
[0156]
若待存储图片的质量分小于已存储图片的质量分,则服务器拒绝接收所述待存储图片;若待存储图片的质量分大于已存储图片的质量分,则服务器接收所述待存储图片,同时删除与待存储图片相似的已存储图片;
[0157]
若不存在与待存储图片相同的图片,则利用其他存储装置存储所述待存储图片。
[0158]
在上述实施例中,预设空间阈值可以服务器存储空间的20%,也可以是25%,还可以是30%,本实施例对预设空间阈值并不进行限定。
[0159]
在一实施例中,所述图片参数包括多个,如图9所示,质量分计算模块包括:图片参数获取子模块900、映射子模块901、求和子模块902;
[0160]
所述图片参数获取子模块,用于获取图片的多个图片参数,包括以下至少之一:清晰度、亮度、色彩;
[0161]
可以理解,在本实施例中,可以通过上述任一个或多个图片参数到所述图片的质量分,如选取上述参数的其中两种参数来计算图片的质量分,或者选取上述参数的其中三种参数来计算图片的质量分。在一实施例中,采用上述三种参数组合来得到所述图片的质量分。
[0162]
所述映射子模块,用于将所述多个图片参数映射为对应的多个质量评价分;
[0163]
具体地,将上述三个图片参数中每一个参数映射为对应的质量评价分,可以采用如下规则进行映射:
[0164]
1)将清晰度映射为质量评价分
[0165]
可以设定不同的清晰度范围所映射的质量评价分。在得到具体清晰度时,根据其所在的清晰度范围确定对应的质量评价分。需要说明的是,一般清晰度越高,质量评价分越高。
[0166]
上述质量评价分的取值范围可以为0~100。
[0167]
2)将亮度映射为质量评价分
[0168]
可以设定不同的亮度对应所映射的范围,在得到亮度时,根据亮度范围确定对应的质量评价分。
[0169]
上述质量评价分的取值范围可以为0~100。
[0170]
3)将模糊度映射为质量评价分
[0171]
可以设定不同的模糊度大小对应所映射的质量评价分,在得到模糊度时,根据其模糊度大小确定对应的质量评价分。需要说明的是,一般模糊度越低,模糊度映射的质量评价分越高。
[0172]
上述质量评价分的取值范围可以为0~100。
[0173]
所述求和子模块,用于将所述多个质量评价分进行加权求和,得到图片的质量分。
[0174]
在得到上述三个图片参数对应的质量评价分后,可以利用加权求和的方式计算图片的质量分。其中,上述三个图片参数所占权重的取值范围为0-1,所占权重的和为1。
[0175]
在一实施例中,如图10所示,所述查找模块包括:特征信息获取子模块1000和查找子模块1001;
[0176]
所述特征信息获取子模块,用于获取第一特征信息,其中,所述第一特征信息为待存储图片的特征信息;
[0177]
所述查找子模块,用于在所述服务器中查询是否存在与第一特征信息相同的第二特征信息,生成查询结果;其中,所述第二特征信息为服务器中已存储图片的特征信息;
[0178]
若查询结果为否,则所述服务器接收所述待存储图片。
[0179]
由于在图片存储到服务器中之前,存在一个相同特征信息的检测,即相同图片的检测,因此能够防止图片重复上传到服务器中造成服务器资源的浪费。
[0180]
在服务器完成对图片的存储后,生成与待存储图片对应的存储路径,从而可以使得在查看图时不需要下载图片,可以减少对存储内存的占用,同时也使得图片的查看也更加便捷。
[0181]
在一实施例中,如图11所示,所述查找子模块包括:相似度获取单元1100和比较单
元1101;
[0182]
所述相似度获取单元,用于计算所述待存储图片的第一特征信息与服务器中已存储图片的第二特征信息之间的相似度;
[0183]
所述比较单元,用于根据所述相似度与预设相似度阈值,得到查询结果。
[0184]
相似度是所述待存储图片的第一特征信息与已存储图片的第二特征信息是否一致的判断指标,也即相似度可以是待存储图片的第一特征信息与已存储图片的第二特征信息之间的相似程度,从而可以根据相似程度判断待存储图片的第一特征信息与第二特征信息是否一致。可以理解,特征信息越相似,相似度就越高,因而可以通过相似度与相似度阈值进行对比,从而判断特征信息是否相同,
[0185]
具体地,将所述相似度与预设相似度阈值进行比较,若存在任意一个相似度大于预设相似度阈值,则查询结果为是,则服务器中存在与第一特征信息相同的第二特征信息,即确定服务器中存在与待存储图片相同的图片;如果所有相似度均小于预设相似度阈值,则查询结果为否,则服务器中不存在与第一特征信息相同的第二特征信息,即确定服务器中不存在与待存储图片相同的图片。
[0186]
例如,假设预设相似度阈值为0.8,若待存储图片与已存储图片之间的相似度为0.95,则待存储图片与已存储图片相同,即确定服务器中存在与待存储图片相同的图片。
[0187]
在计算待存储图片的第一特征信息与已存储图片的第二特征信息之间的相似度时,第一特征信息和第二特征信息可以是图片特征向量的形式,即可以先将待存储图片的第一特征信息转换为第一特征向量,将已存储图片的第二特征信息转换为对应的第二特征向量,根据所述第一特征向量与所述第二特征向量,计算第一特征向量与第二特征向量之间的余弦相似度作为相似度。
[0188]
在计算待存储图片的第一特征信息与已存储图片的第二特征信息之间的相似度时,还可以采用深度神经网络模型计算待存储图片的第一特征信息与已存储图片的第二特征信息之间的相似度,也即分别将待存储图片的第一特征信息与已存储图片的第二特征信息输入至神经网络模型中,从而通过神经网络模型提取到待存储图片的第一特征信息的第一特征向量以及已存储图片的第二特征信息的第二特征向量,根据第一特征向量以及第二特征向量计算相似度。
[0189]
在一实施例中,在计算待存储图片与已存储图片的相似度时,可以利用预先训练好的基于神经网络的特征提取模型对待存储图片和已存储图片进行特征提取。其中,所述特征提取模型包括多个特征提取层,每一层特征提取层可以对图片进行特征提取,得到相应的特征向量。
[0190]
例如,特征提取模型中包括有4层特征提取层,即第一特征提取层、第二特征提取层、第三特征提取层、第四特征提取层。则将待存储图片输入到特征提取模型后,可以得到待存储图片在第一特征提取层输出的特征向量a、在第一特征提取层输出的特征向量b、第三特征提取层输出的特征向量c、第四特征提取层输出的特征向量d;将已存储图片输入到特征提取模型后,可以得到待存储图片在第一特征提取层输出的特征向量a1、在第一特征提取层输出的特征向量b1、第三特征提取层输出的特征向量c1、第四特征提取层输出的特征向量d1。在计算待存储图片与已存储图片的相似度时,可以分别计算特征向量a与特征向量a1的相似度,特征向量b与特征向量b1的相似度,特征向量c与特征向量c1的相似度,特征
向量d与特征向量d1的相似度。
[0191]
根据各个特征提取层上待存储图片的特征向量和已存储图片的特征向量之间的相似度,计算得到待存储图片和已存储图片的相似度。
[0192]
在本实施例中,可以采用回归算法来计算两个图片的相似度,各个特征提取层上计算得到的特征向量之间的相似度可以取不同的权重,通过调整权重值可以使图片相似度的计算结果更准确,提高计算精度。
[0193]
待存储图片与已存储图片之间的相似度表征为[0,1]之间的浮点数,数值越大表示越相似,数值越小表示越不相似。
[0194]
在本实施例中,对各个特征提取层输出的待存储图片的特征向量与已存储图片的特征向量之间的相似度时,可以使用余弦算法、jaccard算法或pearson算法进行计算。
[0195]
在本实施例中,使用训练数据训练基于神经网络的特征提取模型;将待存储图片和已存储图片输入至特征提取模型,得到各个特征提取层上待存储图片的特征向量和已存储图片的特征向量;对各个特征提取层分别计算待存储图片的特征向量和所述已存储图片的特征向量之间的相似度;根据各个特征提取层上待存储图片的特征向量和所述已存储图片的特征向量之间的相似度,计算得到待存储图片和已存储图片的相似度;其中,基于特征提取模型实现了特征的自动抽取,无需依赖手工,极大地节省了人力和时间,提高了确定相似度的效率。
[0196]
在一实施例中,通过md算法(message digest,基于数据摘要算法)、sha算法(secure hash algorithm,安全散列算法)、mac算法(message authentication code)获取所述待存储图片以及已存储图片的特征信息。
[0197]
本实施例中,基于数据摘要算法md5对特征信息进行加密,密码值与特征信息一一对应,此时将得到的密码值作为特征信息。
[0198]
具体地,所述md算法是一种信息摘要算法,按照规范版本可分为md2、md4、md5三种算法,通过该md算法生成的消息摘要都是128位的。从安全性上说,这三种算法的安全性排名如下md5>md4>md2,因而,为了提升安全性,在本实施例中,所述md算法优选为md5算法,当通过md5算法计算得到特征信息时,该特征信息也可以称为md5值或md5码。
[0199]
所述sha算法也是一种信息摘要算法,sha家族具有五个算法,分别是sha-1、sha-224、sha-256、sha-384,和sha-512,其中sha-224、sha-256、sha-384,和sha-512被统称为sha-2。通过不同的sha算法生成的消息摘要的位数不同,比如通过sha-1算法生成的消息摘要的位数为160位,通过sha-224算法生成的消息摘要的位数为224位。在本实施例,具体的sha算法可根据实际情况进行选定,比如,该sha算法为sha-256。
[0200]
在本实施例中,通过md算法、sha算法、mac算法计算所述待存储图片以及已存储图片的特征信息,以便可以通过特征信息来判定服务器中是否存在相同的图片,避免重复存储图片。
[0201]
在本技术一实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,使得处理器执行以下步骤:
[0202]
通过所述富文本编辑器接收待存储图片;
[0203]
将所述富文本编辑器接收的所述待存储图片发送至服务器,以完成对待存储图片的存储;
[0204]
通过所述富文本编辑器接收所述服务器返回的所述待存储图片在所述服务器上的存储路径。
[0205]
在一实施例中,在所述服务器接收所述富文本编辑器发送的所述待存储图片前,还包括:
[0206]
获取所述服务器的剩余存储空间的大小;
[0207]
当所述服务器的剩余存储空间大于预设空间阈值,则所述服务器接收所述待存储图片;
[0208]
当所述服务器的剩余存储空间小于预设空间阈值,则在服务器中查找是否存在与所述待存储图片相同的图片;
[0209]
若存在与所述待存储图片相同的图片,则根据图片参数计算待存储图片与已存储图片的质量分,若待存储图片的质量分小于已存储图片的质量分,则服务器拒绝接收所述待存储图片;若待存储图片的质量分大于已存储图片的质量分,则服务器接收所述待存储图片,同时删除与待存储图片相同的已存储图片;
[0210]
若不存在与待存储图片相同的图片,则利用其他存储装置存储所述待存储图片。
[0211]
在一实施例中,所述图片参数包括多个,根据图片参数计算图片的质量分,包括:
[0212]
获取图片的多个图片参数;
[0213]
将所述多个图片参数映射为对应的多个质量评价分;
[0214]
将所述多个质量评价分进行加权求和,得到图片的质量分。
[0215]
在一实施例中,所述在服务器中查找是否存在与所述待存储图片相同的图片,包括:
[0216]
获取第一特征信息,其中,所述第一特征信息为待存储图片的特征信息;
[0217]
在所述服务器中查询是否存在与所述第一特征信息相同的第二特征信息,生成查询结果;其中,所述第二特征信息为服务器中已存储图片的特征信息;
[0218]
若查询结果为否,则所述服务器接收所述待存储图片。
[0219]
在一实施例中,所述在所述服务器中查询是否存在与所述第一特征信息相同的第二特征信息,生成查询结果,包括:
[0220]
计算所述待存储图片的第一特征信息与服务器中已存储图片的第二特征信息之间的相似度;
[0221]
根据所述相似度与预设相似度阈值,得到查询结果。
[0222]
在一实施例中,将所述相似度与预设相似度阈值进行比较,若存在任意一个相似度大于预设相似度阈值,则查询结果为是,则服务器中存在与所述第一特征信息相同的所述第二特征信息,即确定所述服务器中存在与所述待存储图片相同的已存储图片;若所有相似度均小于预设相似度阈值,则查询结果为否,则服务器中不存在与所述第一特征信息相同的所述第二特征信息,即确定所述服务器中不存在与所述待存储图片相同的图片。
[0223]
在一实施例中,在所述富文本编辑器接收所述待存储图片之后,还包括:判断所述待存储图片的格式是否为目标格式;
[0224]
若所述待存储图片的格式不为所述目标格式,则将所述待存储图片的格式转换为目标格式,得到转换格式后的待存储图片,其中,所述目标格式为所述富文本编辑器所支持的预设格式。
[0225]
本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0226]
本技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时执行如下步骤:
[0227]
通过所述富文本编辑器接收待存储图片;
[0228]
将所述富文本编辑器接收的所述待存储图片发送至服务器,以完成对待存储图片的存储;
[0229]
通过所述富文本编辑器接收所述服务器返回的所述待存储图片在所述服务器上的存储路径。
[0230]
在一实施例中,在所述服务器接收所述富文本编辑器发送的所述待存储图片前,还包括:
[0231]
获取所述服务器的剩余存储空间的大小;
[0232]
当所述服务器的剩余存储空间大于预设空间阈值,则所述服务器接收所述待存储图片;
[0233]
当所述服务器的剩余存储空间小于预设空间阈值,则在服务器中查找是否存在与所述待存储图片相同的图片;
[0234]
若存在与所述待存储图片相同的图片,则根据图片参数计算待存储图片与已存储图片的质量分,若待存储图片的质量分小于已存储图片的质量分,则服务器拒绝接收所述待存储图片;若待存储图片的质量分大于已存储图片的质量分,则服务器接收所述待存储图片,同时删除与待存储图片相同的已存储图片;
[0235]
若不存在与待存储图片相同的图片,则利用其他存储装置存储所述待存储图片。
[0236]
上述步骤与图片存储方法、装置的具体实施方式大致相同,在此不再赘述。
[0237]
需要说明的是,在发明中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0238]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单
元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0239]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0240]
本领域普通技术人员可以意识到,结合本发明中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0241]
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0242]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0243]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0244]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0245]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种机器可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0246]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1