CN116561351A - 缩略图存储方法及电子设备 - Google Patents
缩略图存储方法及电子设备 Download PDFInfo
- Publication number
- CN116561351A CN116561351A CN202210112162.9A CN202210112162A CN116561351A CN 116561351 A CN116561351 A CN 116561351A CN 202210112162 A CN202210112162 A CN 202210112162A CN 116561351 A CN116561351 A CN 116561351A
- Authority
- CN
- China
- Prior art keywords
- thumbnail
- electronic device
- target
- database
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 110
- 238000004590 computer program Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 abstract description 24
- 239000002699 waste material Substances 0.000 abstract description 10
- 238000004891 communication Methods 0.000 description 51
- 230000008569 process Effects 0.000 description 24
- 238000012545 processing Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 19
- 238000007726 management method Methods 0.000 description 15
- 238000010295 mobile communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 210000003813 thumb Anatomy 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/41—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供缩略图存储方法及电子设备,涉及终端技术领域。本申请能够在电子设备中配置统一的缩略图数据库,在缩略图同步之前,通过标识,避免同步相同的缩略图,有效降低存储空间的浪费。该方法包括:第一电子设备获取到元数据后,确定元数据中的第一缩略图标识。将第一缩略图标识与统一的缩略图数据库中存储的缩略图的第二缩略图标识进行比较,下载第一缩略图标识中与第二缩略图标识不同的缩略图标识对应的目标缩略图。并将目标缩略图存储至统一的缩略图数据库。
Description
技术领域
本申请实施例涉及终端技术领域,尤其涉及一种缩略图存储方法及电子设备。
背景技术
电子设备将图片压缩处理后,可生成缩略图,缩略图相对于原图能够降低存储空间的占用。并且,缩略图能够在不改变显示内容的情况下,提高加载速度,便于用户快速浏览。
随着终端技术的发展,电子设备能够与多种类型的其他电子设备、服务器建立连接,形成分布式系统。在分布式系统中,电子设备能够在本地存储已建立连接的其他电子设备、服务器中的图片的缩略图,实现快速浏览其他电子设备、服务器存储的图片。
但是,分布式系统中设备需同步存储所有其他设备的缩略图,导致缩略图重复同步,占用大量的存储空间,造成存储空间的浪费。
发明内容
为了解决上述的技术问题,本申请实施例提供了一种缩略图存储方法及电子设备。本申请实施例提供的技术方案,在电子设备中配置统一的缩略图数据库,在缩略图同步之前,通过标识,避免同步相同的缩略图,有效降低存储空间的浪费。
为了实现上述的技术目的,本申请实施例提供了如下技术方案:
第一方面,提供一种缩略图存储方法,应用于第一电子设备,第一电子设备中配置有用于存储缩略图的目标数据库。该方法包括:获取第一元数据中的第一缩略图标识。确定第一缩略图标识与目标数据库中存储的第二缩略图的第二缩略图标识是否相同,第二缩略图对应的来源与第一缩略图标识对应的来源相同或不相同。下载第一缩略图标识中与第二缩略图标识不同的缩略图标识对应的目标缩略图。将目标缩略图存储至目标数据库。
在一些实施例中,缩略图标识用于区分不同的缩略图,相同缩略图的缩略图标识相同,不同缩略图的缩略图标识不同。第一电子设备中配置有统一存储缩略图的目标数据库,第一电子设备根据缩略图标识区分目标数据库中不同的缩略图。
如此,第一电子设备能够根据缩略图标识,确定本地目标数据库中是否存储有对应的缩略图。在确定目标数据库中未存储的情况下,才会下载目标缩略图,从而避免受限于隔离的缩略图数据库导致缩略图获取失败,或增加不必要的等待时延。
根据第一方面,将目标缩略图存储至目标数据库,包括:将目标缩略图和目标缩略图对应的目标缩略图标识对应存储至目标数据库。
如此,第一电子设备将用于区分不同缩略图的缩略图标识和对应的缩略图,在目标数据库中对应的存储,确保后续第一电子设备能够根据缩略图标识直接获取到对应的缩略图。即建立缩略图标识与缩略图的映射关系。
根据第一方面,或者以上第一方面的任意一种实现方式,目标数据库中目标缩略图对应的字段包括第一字段和第二字段,第一字段用于承载目标缩略图对应的目标缩略图标识,第二字段用于承载目标缩略图的缩略图数据。
根据第一方面,或者以上第一方面的任意一种实现方式,第二字段中承载的数据还包括目标缩略图的引用标记,引用标记用于指示引用目标缩略图的模块。
示例性的,引用标记字段可占用8比特,其中每一bit用于标识的一个对应的设备类型。比如,第一个比特位对应于本地存储,第二个比特位对应于分布式设备,第三个比特位对应于云服务,第四个比特位对应于HDC。剩余的四个比特位可作为预留比特位,用于配置为对应于其他引用模块。可选的,如比特位置为0用于表示未引用,比特位置为1用于表示引用。比如,第三个比特位置为1,用于表示云服务对应的模块引用了该缩略图。
如此,第一电子设备通过引用标记字段,标识引用缩略图的模块,实现区分不同模块对目标数据库中缩略图的引用。
根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:检测到删除目标缩略图的指示。根据目标缩略图对应的引用标记,确定目标缩略图未被指示对应的模块以外的模块引用,删除目标缩略图。或者,根据目标缩略图对应的引用标记,确定目标缩略图被指示对应的模块以外的模块引用,取消指示对应的模块对目标缩略图的引用。
在一些实施例中,第一电子设备在接收到删除目标缩略图的指示后,可根据目标缩略图对应的引用标记,确定目标缩略图未被指示对应的模块以外的模块引用,删除目标缩略图。或者,根据目标缩略图对应的引用标记,确定目标缩略图被指示对应的模块以外的模块引用,取消指示对应的模块对目标缩略图的引用。
如此,第一电子设备可根据缩略图引用标识字段,确定是否可删除缩略图。从而避免删除缩略图影响其他模块对缩略图的引用。
根据第一方面,或者以上第一方面的任意一种实现方式,第一缩略图或第二缩略图的来源为第一电子设备的存储模块、第二电子设备、服务器、家庭数据中心、网络附属存储中的任一项。
根据第一方面,或者以上第一方面的任意一种实现方式,在获取第一元数据中的第一缩略图标识之前,该方法还包括:按照预同步策略,获取第一元数据。或者,接收第一电子设备中的应用发送的第一请求,确定第一请求对应的所述第一元数据。
其中,预同步策略预先配置在第一电子设备中,例如包括在预设条件下自动同步缩略图、是否允许预同步、预同步缩略图选择原则等中的一项或几项。比如,预设条件包括第一电子设备在锁屏充电的过程中,自动下载已建立连接的电子设备中的缩略图。又比如,第一电子设备中设置不允许预同步缩略图。再比如,第一电子设备中的多媒体数据库的存储空间有限,预同步缩略图选择原则包括同步其他电子设备中常用的热图,而不常用的缩略图可不必同步,进而降低多媒体数据库的存储空间的占用。
如此,第一电子设备能够按照预同步策略,在空闲时完成缩略图的同步。并且,将缩略图预同步至统一的缩略图数据库(如多媒体数据库)。这样,后续第一电子设备不同模块在需要引用缩略图时,均可在该统一的缩略图数据库获取到需要的缩略图,降低存储冗余,提高缩略图引用效率。此外,第一电子设备还可响应于应用请求,从统一的缩略图数据库(如多媒体数据库)中获取应用所需的缩略图,不会受限于隔离的缩略图数据库导致缩略图获取失败,或增加不必要的等待时延。
第二方面,本申请提供一种缩略图数据的访问方法,所述缩略图数据存储在目标数据库中,所述目标数据库是一个统一存储多种来源的缩略图数据的数据库。该方法包括:接收访问请求,所述访问请求对应于第一设备,所述访问请求用于指示访问第一缩略图;根据所述访问请求在所述目标数据库中查找到与所述第一缩略图匹配的目标缩略图数据,所述目标缩略图数据的来源是第二设备;返回所述目标缩略图数据。
采用本申请实施例提供的方法,电子设备能够直接从统一的缩略图数据库中读取对应的缩略图,避免访问冗余,提高缩略图读取效率。
在一些实施例中,所述目标数据库中存储有所述目标缩略图数据对应的引用标记,该引用标记用于指示引用所述目标缩略图数据的模块;所述方法还包括:修改所述引用标记使得所述引用标记用于指示所述第一设备。
采用本申请实施例提供的方法,还可以记录访问同一缩略图数据的不同设备,便于缩略图数据的管理(比如删除等)。
第三方面,提供一种电子设备。该电子设备为第一电子设备,第一电子设备包括:处理器、存储器以及计算机程序,其中计算机程序存储在存储器上,当计算机程序被处理器执行时,使得第一电子设备执行:获取第一元数据中的第一缩略图标识。确定第一缩略图标识与目标数据库中存储的第二缩略图的第二缩略图标识是否相同,第二缩略图对应的来源与第一缩略图标识对应的来源相同或不相同。下载第一缩略图标识中与第二缩略图标识不同的缩略图标识对应的目标缩略图。将目标缩略图存储至目标数据库。
根据第三方面,将目标缩略图存储至目标数据库,包括:将目标缩略图和目标缩略图对应的目标缩略图标识对应存储至目标数据库。
根据第三方面,或者以上第三方面的任意一种实现方式,目标数据库中目标缩略图对应的字段包括第一字段和第二字段,第一字段用于承载目标缩略图对应的目标缩略图标识,第二字段用于承载目标缩略图的缩略图数据。
根据第三方面,或者以上第三方面的任意一种实现方式,第二字段中承载的数据还包括目标缩略图的引用标记,引用标记用于指示引用目标缩略图的模块。
根据第三方面,或者以上第三方面的任意一种实现方式,当处理器从存储器中读取计算机可读指令,还使得第一电子设备执行如下操作:检测到删除目标缩略图的指示。根据目标缩略图对应的引用标记,确定目标缩略图未被指示对应的模块以外的模块引用,删除目标缩略图。或者,根据目标缩略图对应的引用标记,确定目标缩略图被指示对应的模块以外的模块引用,取消指示对应的模块对目标缩略图的引用。
根据第三方面,或者以上第三方面的任意一种实现方式,第一缩略图或第二缩略图的来源为第一电子设备的存储模块、第二电子设备、服务器、家庭数据中心、网络附属存储中的任一项。
根据第三方面,或者以上第三方面的任意一种实现方式,当处理器从存储器中读取计算机可读指令,还使得第一电子设备执行如下操作:按照预同步策略,获取第一元数据。或者,接收第一电子设备中的应用发送的第一请求,确定第一请求对应的所述第一元数据。
第四方面,本申请实施例提供一种电子设备,该电子设备具有实现如上述第一方面,或第二方面,或其中任一种可能的实现方式中所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应地软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面,提供一种计算机可读存储介质。计算机可读存储介质存储有计算机程序(也可称为指令或代码),当该计算机程序被电子设备执行时,使得电子设备执行第一方面、或第二方面、或其中任意一种实施方式的方法。
第六方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行第一方面,或第二方面,或其中任意一种实施方式的方法。
第七方面,本申请实施例提供一种电路系统,电路系统包括处理电路,处理电路被配置为执行第一方面,或第二方面,或其中任意一种实施方式的方法。
第八方面,本申请实施例提供一种芯片系统,包括至少一个处理器和至少一个接口电路,至少一个接口电路用于执行收发功能,并将指令发送给至少一个处理器,当至少一个处理器执行指令时,至少一个处理器执行第一方面,或第二方面,或其中任意一种实施方式的方法。
以上各个方面的技术效果可互相参考,此处不再赘述。
附图说明
图1为本申请实施例提供的一种缩略图存储方法应用的通信系统的示意图;
图2为本申请实施例提供的缩略图应用流程示意图一;
图3为本申请实施例提供的第一电子设备的硬件结构示意图;
图4为本申请实施例提供的缩略图应用流程示意图二;
图5为本申请实施例提供的key-value字段的结构示意图;
图6为本申请实施例提供的引用标记字段的结构示意图;
图7为本申请实施例提供的缩略图存储方法流程示意图一;
图8为本申请实施例提供的缩略图存储方法流程示意图二;
图9为本申请实施例提供的缩略图存储方法流程示意图三;
图10为本申请实施例提供的缩略图存储方法流程示意图四;
图11为本申请实施例提供的缩略图存储方法流程示意图五;
图12为本申请实施例提供的第一电子设备的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
图1为本申请实施例提供的一种缩略图存储方法应用的通信系统的示意图。如图1所示,该通信系统包括第一电子设备100、第二电子设备200、服务器300。其中,第一电子设备100与第二电子设备200建立有通信连接。
示例性的,上述通信系统中包括第一电子设备100和第二电子设备200。或者,上述通信系统中包括第一电子设备100和服务器300。或者,上述通信系统包括第一电子设备100,第二电子设备200以及服务器300。如上述通信系统中包括第二电子设备200,第二电子设备200的数量为一个或多个(如图1所示包括第二电子设备1、第二电子设备2和第二电子设备3)。
可选的,第一电子设备100可以通过无线通信技术与第二电子设备200建立无线通信连接。其中,无线通信技术包括但不限于以下的至少一种:蓝牙(bluetooth,BT)(例如,传统蓝牙或者低功耗(bluetooth low energy,BLE)蓝牙),无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),近距离无线通信(near field communication,NFC),紫蜂(Zigbee),调频(frequency modulation,FM),红外(infrared,IR),超宽带(ultra wideband,UWB)等。
在一些实施例中,第一电子设备100与第二电子设备200都支持靠近发现功能。示例性的,第一电子设备100靠近第二电子设备200后,第一电子设备100与第二电子设备200能够互相发现对方,之后建立诸如蓝牙连接、Wi-Fi端到端(peer to peer,P2P)连接等无线通信连接。之后,第一电子设备100和第二电子设备200能够通过信号交互,进行缩略图的同步。如第一电子设备100能够请求下载第二电子设备200中存储的图片对应的缩略图,这样用户能够通过第一电子设备100快速浏览缩略图,确定第二电子设备200中存储的图片的信息。
在一些实施例中,第一电子设备100与第二电子设备200通过局域网,建立无线通信连接。比如,第一电子设备100与第二电子设备200都连接至同一路由器。
在一些实施例中,第一电子设备100与第二电子设备200通过蜂窝网络、因特网等,建立无线通信连接。比如,第二电子设备200通过路由器接入因特网,第一电子设备100通过蜂窝网络接入因特网;进而,第一电子设备100与第二电子设备200建立无线通信连接。
示例性的,第一电子设备100或第二电子设备200包括但不限于智能手机、平板电脑、膝上型计算机(Laptop)、个人数字助理(personal digital assistant,PDA)、车载设备、可穿戴设备(如智能手表、智能手环等)、大屏显示设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、人工智能(artificial intelligence,AI)设备等设备。第一电子设备100和第二电子设备200相同或者不相同,第一电子设备100或第二电子设备200安装的操作系统包括但不限于或者其它操作系统。在一些实施例中,第一电子设备100或第二电子设备200可以为固定式设备,也可以为便携式设备。本申请对第一电子设备100或第二电子设备200的具体类型、所安装的操作系统均不作限制。
可选的,第二电子设备200还可以为家庭数据中心(home data center,HDC)、网络附属存储(network attached storage,NAS)等能够用于备份通信系统中其他电子设备的数据(如图片、视频、音频等)的设备。例如,第二电子设备200为家庭网关、个人计算机(personal computer,PC)、路由器、或者为用于备份数据的专用设备。
示例性的,服务器300可以是云服务器或者网络服务器等具有计算功能的设备或网络设备。服务器300可以是一台服务器,也可以分别是由多台服务器组成的服务器集群,或者分别是一个云计算服务中心。例如,在图1中服务器300可以执行本申请实施例提供的缩略图同步方法。
在一些实施例中,第一电子设备100与一个或多个第二电子设备200、服务器300建立连接后,为了提升业务体验,各个设备均会跨设备、服务器进行数据同步。那么如各个设备均存储全量的缩略图,一个设备中相同的图片会存储对应的多份缩略图。
其中,缩略图的显示方式一般包括微型(Micro)显示、迷你型(Mini)显示、液晶显示屏(liquid crystal display,LCD)显示等,显示的分辨率一般包括(64*64)每英寸点数(dots per inch,dpi)、(128*128)dpi、(256*256)dpi、(512*512)dpi、(1080*x)dpi等。不同显示方式、不同分辨率的缩略图的大小不同。比如,分辨率为(256*256)dpi的缩略图的大小约为15K左右/张,LCD缩略图的大小约为200K左右/张。那么,如果第一电子设备100中存储分布式系统中全量的缩略图,会导致缩略图占用大量的存储空间,影响后续其他数据的存储。
示例性的,如手机A和手机B建立连接,并接入云服务器和HDC。手机A中存储有10张图片,手机B中存储有10张图片,那么云服务器需要备份手机A和手机B对应的20张图片,HDC中也需要备份手机A和手机B对应的20张图片。这时,手机C接入手机A和手机B组成的通信网络,并开启云服务和HDC服务,那么手机C中就需要同步存储手机A、手机B、手机C、云服务器以及HDC对应的共60张缩略图(如包括手机A对应的10张缩略图、手机B对应的10张缩略图、云服务器对应的20张缩略图、以及HDC对应的20张缩略图)。
可以看出,手机C中存储的缩略图包括指向相同图片的缩略图,重复的缩略图存储,造成了不必要的存储空间浪费,以及同步资源的浪费。
具体的,第一电子设备100中一般会为不同来源的缩略图建立各自独立的缩略图数据库,用于存储对应的缩略图。但是,并不关注各个缩略图数据库中存储的缩略图指示的图片是否重复,且各个独立的缩略图数据库中存储的缩略图不能分享。进而导致第一电子设备100中缩略图存储和访问的冗余。
示例性的,如图2所示,如附图标记201所示虚线框内的缩略图存储步骤,第一电子设备100可与第二电子设备200、云服务器、HDC中的任一个或多个设备建立连接。之后,第一电子设备100可获取已建立连接的设备中存储的图片对应的元数据,可下载并保存获取到的元数据。并且,第一电子设备100可生成或下载元数据对应的图片的缩略图,并将缩略图存储到对应的独立的缩略图数据库中。如第一电子设备100将获取到的第二电子设备200对应的缩略图存储到第二电子设备200对应的缩略图数据库中,将获取到的云服务器对应的缩略图存储到云服务器对应的缩略图数据库中,将获取到的HDC对应的缩略图存储到HDC对应的缩略图数据库中。如果多个来源的图片相同,就会造成缩略图存储的冗余,浪费存储空间,如只读存储器(read only memory,ROM)空间等。并且占用同步资源,如包括网络资源,中央处理器(central processor unit,CPU)资源。
那么,如图2所示,如附图标记202所示虚线框内的缩略图读取步骤,第一电子设备100在检测到访问数据的请求后,在元数据库中查询对应的元数据。并且,在查询请求对应的独立的缩略图数据库中获取对应的缩略图。如第一电子设备100检测到用户请求查看云服务器备份图片的操作(如打开云相册的操作),可从云服务器对应的缩略图数据库中获取对应的缩略图并显示。如对应的缩略图数据库中未存储待显示的缩略图,则第一电子设备100需要下载该缩略图。如果当前缩略图数据库中没有的缩略图在其他缩略图数据库中已存储,但是由于缩略图数据库的隔离,也无法直接获取,重新下载缩略图再访问该缩略图就会造成访问的冗余。并且,等待下载缩略图也会造成不必要的时延,导致操作卡顿。
其中,上述元数据(metadata)用于描述数据的属性信息。如用于指示对应的图片的存储位置,文件名,图片大小,占用空间,创建时间等。
基于此,本申请实施例提供一种缩略图存储方法,能够创建统一的缩略图数据库,在该缩略图数据库中,能够存储不同来源的图片对应的缩略图。并且相同图片对应的缩略图只存储一份,减少缩略图的重复同步。不同业务复用同一个缩略图数据库中存储的缩略图,减少处理流程,提高反馈效率。
需要说明的是,缩略图可以为图片对应的缩略图,也可以为视频文件、音频文件、网页等对应的缩略图。以下以图片为例,对缩略图的存储和访问过程进行说明,可以理解的是,视频文件、音频文件、网页等的缩略图存储可以参考图片缩略图的存储和访问过程,本申请实施例对此不再赘述。
示例性的,图3示出了第一电子设备100的一种结构示意图。
第一电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。
可以理解的是,本申请实施例示意的结构并不构成对第一电子设备100的具体限定。在本申请另一些实施例中,第一电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为第一电子设备100充电,也可以用于第一电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他第一电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对第一电子设备100的结构限定。在本申请另一些实施例中,第一电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过第一电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为第一电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
第一电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。第一电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在第一电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在第一电子设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,第一电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得第一电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobilecommunications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband codedivision multiple access,WCDMA),时分码分多址(time-division code divisionmultiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenithsatellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
第一电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),例如采用有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Mini-led,Micro-led,Micro-oled,量子点发光二极管(quantumdot light emitting diodes,QLED)等生产制造。在一些实施例中,第一电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,第一电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展第一电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储第一电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行第一电子设备100的各种功能应用以及数据处理。
在一些实施例中,内部存储器121中预置有一个用于存储缩略图的缩略图数据库,第一电子设备100在下载缩略图后,将缩略图存储至该缩略图数据库中。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。第一电子设备100可以通过音频模块170,例如音乐播放,录音等。音频模块170可以包括扬声器,受话器,麦克风,耳机接口,以及应用处理器等实现音频功能。
传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。第一电子设备100可以接收按键输入,产生与第一电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和第一电子设备100的接触和分离。第一电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。
以下以电子设备为第一电子设备100,缩略图为图片对应的缩略图为例,对本申请实施例提供的缩略图存储方法进行说明。
在一些实施例中,电子设备中预置一个统一的缩略图数据库,电子设备在获取到不同来源的缩略图后,确定之前未存储过该缩略图,那么均可将缩略图存储至该统一的缩略图数据库。可选的,缩略图对应的原始图片相同,缩略图相同;缩略图对应的原始图片不相同,缩略图不相同。
示例性的,如图4所示,电子设备中包括元数据库43和统一的缩略图数据库44。其中,元数据库43,用于存储元数据,元数据用于描述数据的属性信息。如用于指示原始图片的存储位置,文件名,图片大小,占用空间,创建时间等。统一的缩略图数据库44,用于存储电子设备确定存储的缩略图。如上所述,缩略图的显示方式一般包括Micro显示、Mini显示、LCD显示等,显示的分辨率一般包括(64*64)dpi、(128*128)dpi、(256*256)dpi、(512*512)dpi、(1080*x)dpi等,不同显示方式、不同分辨率的缩略图需要占用统一的缩略图数据库44中相应的存储空间。
如图4所示,基于元数据库43和统一的缩略图数据库44,电子设备可执行如附图标记41所示虚线框内的缩略图同步步骤,以及如附图标记42所示虚线框内的缩略图读取步骤。
具体的,如图4所示,缩略图同步步骤包括S411-S415。
S411、电子设备建立连接。
在一些实施例中,电子设备可与其他电子设备、云服务器、HDC中的任一种或多种设备建立连接,且每一种设备中可包括一个或多个设备。如电子设备可与多个其他的电子设备建立连接,或者电子设备可与一个其他电子设备、一个云服务器以及一个HDC建立连接。
可选的,电子设备建立的连接包括无线连接、有线连接。其中,无线连接例如包括蓝牙连接、Wi-Fi连接、NFC连接等。有线连接例如包括USB连接等。
S412、电子设备下载元数据。
在一些实施例中,电子设备在建立连接后,可根据同步策略,确定是否需要下载相应的缩略图。并且,在下载缩略图之前,电子设备需要下载缩略图来源设备对应的元数据,进而确定元数据对应的全部缩略图中本地统一的缩略图数据库中未存储,需要下载的缩略图。
比如,同步策略为在预设条件下自动同步缩略图,如电子设备在锁屏充电的过程中,自动下载已建立连接的其他设备中的缩略图。那么,电子设备需按照同步策略先下载元数据。
在一些实施例中,如图4所示,电子设备在下载元数据后,可将元数据存储至元数据库43中,以便于后续电子设备可从元数据库43中读取所需的元数据,实现显示元数据对应的图片。
S413、电子设备确认数据库中是否存储有对应的缩略图。若否,执行步骤S414;若是,执行步骤S415。
S414、电子设备下载元数据。
S415、电子设备不下载缩略图。
在一些实施例中,在步骤S413-步骤S415中,如图4所示,电子设备在下载元数据后,可根据元数据确定对应的图片,确定统一的缩略图数据库44中存储的缩略图对应的图片是否与元数据对应的图片相同。若相同,可不再重复存储相同图片对应的缩略图(即执行步骤S415),若不相同,可下载对应的缩略图(即执行步骤S414)。
可选的,如图4所示,电子设备可将下载的缩略图存储至统一的缩略图数据库44,这样统一的缩略图数据库44中可存储不同来源的图片对应的缩略图,并且不同缩略图对应的图片不同。相对于如图2所示的缩略图存储方法,本申请实施例提供的缩略图存储方法在下载缩略图之前会对缩略图的存储情况进行确认,避免存储相同图片对应的缩略图,有效节约缩略图的存储空间。
在一些实施例中,在上述步骤S414中,电子设备可根据元数据直接从连接的设备中下载对应的缩略图;或者,电子设备可压缩元数据对应的图片生成缩略图。以便用户能够通过浏览缩略图,快速确定所需的图片。
需要说明的是,根据图片生成缩略图的方法可参考现有技术,本申请实施例对此不做具体说明。
在一些实施例中,电子设备可根据统一的缩略图数据库中存储的缩略图对应的标识,确定缩略图对应的图片是否相同,以区分不同的缩略图,进而确定是否需要下载缩略图。其中,具体的标识生成、以及使用方法参见下文相关内容,在此不再赘述。
具体的,如图4所示,缩略图读取步骤包括S421-S424。
S421、电子设备检测到数据访问请求。
在一些实施例中,电子设备检测到数据访问请求后,确定需要访问已存储的数据。其中,数据访问请求,可以由用户操作触发。
比如,电子设备检测到用户打开云相册的操作,可确定接收到数据访问请求,确定用户需要查看备份的云服务器对应的缩略图。
S422、电子设备查询元数据。
在一些实施例中,如图4所示,电子设备根据数据访问请求,确定对应的元数据。电子设备从元数据库43中获取对应的元数据。
S423、电子设备确认数据库中是否存储有对应的缩略图。若是,执行步骤S424;若否,执行上述步骤S414。
S424、获取缩略图。
在一些实施例中,在步骤S423、步骤S424以及步骤S414中,如图4所示,电子设备在查询到元数据后,可根据元数据确定统一的缩略图数据库44中是否存储有对应的缩略图。若已存储,可读取对应的缩略图(即执行步骤S424),若未存储,可下载对应的缩略图(即执行步骤S414)。
可选的,如图4所示,统一的缩略图数据库44中可存储不同来源的图片对应的缩略图,那么即使当前数据访问请求对应的设备不同于待获取的缩略图对应的设备,电子设备也能够根据数据访问请求,从统一的缩略图数据库44中获取到相应的缩略图。相对于如图2所示的缩略图存储方法,电子设备只能从数据访问请求对应的独立的缩略图数据库中获取对应的缩略图。本申请实施例提供的缩略图存储方法能够避免访问冗余,不必等待下载重复的缩略图,降低时延,避免卡顿。
示例性的,如云服务器中存储有图片1,HDC中存储有图片1,可以理解的是相同的图片1对应的缩略图应相同,如为缩略图1。在数据访问请求用于请求查看云服务器中存储的图片1以及图片1对应的缩略图1,但电子设备中存储有来源于HDC中存储的图片1对应的缩略图1的情况下(即电子设备中存储有从HDC中下载的缩略图1)。在现有技术中,受限于不同来源的缩略图数据库的隔离,电子设备不能直接调用HDC对应的数据库中存储的缩略图1,需要再向云服务器请求下载缩略图1,再从云服务器对应的缩略图数据库中获取下载的缩略图1,才能够显示缩略图1。导致访问的冗余,并且等待下载缩略图也会造成不必要的时延,导致操作卡顿。而采用本申请实施例提供的缩略图存储方法,电子设备能够直接从统一的缩略图数据库中读取对应的缩略图1,避免访问冗余,提高缩略图读取效率。
如下介绍电子设备如何创建缩略图的标识,以及统一的缩略图数据库的应用程序接口(application programming interface,API)的相关内容。
在一些实施例中,统一的缩略图数据库可以实现为Key-value数据库。其中,Key-value数据库是一种以键值(key)对应存储数据的一种数据库,每个键值都会对应于一个唯一的值(value),该值包括存储数据。
示例性的,如图5所示,Key-value数据库中存储的各个缩略图对应的字段包括键值(key)字段和值(value)字段。
其中,key字段用于标识不同的缩略图,key字段取值不同的缩略图对应的原图不同,key字段取值相同的缩略图对应的原图相同。从而在上述步骤S413或步骤S423中,电子设备能够根据缩略图对应的key字段取值,确定统一的缩略图库中是否已经存储有相应的缩略图。
在一些实施例中,不同的缩略图的缩略图内容字节(bytes)不同,电子设备可通过安全散列算法(secure hash algorithm),将缩略图内容映射到固定长度(如64字节)的消息摘要,生成缩略图内容bytes对应的键值,填入key字段,从而不同的缩略图的key字段取值不同。或者,电子设备通过AI算法,进行图片内容识别,根据特征向量,确定图片对应的唯一key,填入key字段,那么不同的缩略图的key字段取值不同。
其中,如图5所示,value字段包括缩略图数据(thumbnail data),以及引用标记(reference flag)字段。其中,引用标记用于指示引用缩略图数据的模块。其中,不同模块用于表示对应的设备类型不同,如云服务器、分布式设备、HDC的设备类型不同,相同的设备类型对应于相同的模块。如多个分布式设备引用相同的缩略图,电子设备对于多个分布式设备对该缩略图的引用,均可标记该缩略图的引用标记字段中分布式设备对应的同一个模块对应的字段,该标记指示该模块对应的设备类型的设备对该缩略图的引用。
比如,设备1、设备2和设备3中存储有相同的缩略图,其中设备1和设备2的设备类型相同,对应于模块1,设备3对应于模块2。电子设备在与设备1、设备2和设备3进行缩略图同步过程中,对于相同的缩略图只需在数据库中存储一份。那么,如电子设备向设备1请求下载缩略图,电子设备在与设备2和设备3交互过程中可引用该缩略图(即不必再重复下载缩略图),那么缩略图的引用标记指示模块1和模块2。
示例性的,如图6所示,引用标记字段可占用8比特(bits),其中每一bit用于标识的一个对应的设备类型。比如,第一个比特位对应于本地存储,第二个比特位对应于分布式设备,第三个比特位对应于云服务(如云服务器),第四个比特位对应于HDC。剩余的四个比特位可作为预留比特位,用于配置为对应于其他引用模块。可选的,如比特位置为0用于表示未引用,比特位置为1用于表示引用。
比如,电子设备从云服务获取到缩略图1,该缩略图1对应于云服务中存储的图片1。那么,电子设备可将该缩略图1的引用标记字段中的第三个比特位置为1,用于表示与电子设备连接的云服务引用了该缩略图。之后,如电子设备中的应用发送数据访问请求,用于请求访问其他模块对应的设备(如HDC)中存储的图片1。如电子设备根据从HDC中获取到的图片1的元数据中的缩略图1的key字段,确定本地已存储有对应的缩略图1。那么,电子设备可不必再下载缩略图1,可将缩略图1的引用标记字段中的HDC对应的第四个比特位置为1,用于表示与电子设备连接的HDC引用了该缩略图。
可选的,电子设备可根据引用标记字段取值,确定缩略图的引用,进而确定是否可以删除该缩略图。
示例性的,如上述步骤S421中,电子设备检测到云相册发送的数据访问请求,用于请求访问云相册对应的云服务中存储的图片,那么电子设备在步骤S424中获取到缩略图(如缩略图1)后,将如图6所示的引用标记字段的第三个比特位置为1,即标识该缩略图1的来源为云服务。那么后续电子设备如检测到其他模块对应的设备(如HDC)对该缩略图1的引用时,将该缩略图的引用标记字段中相应模块对应的字段取值置为1。之后,电子设备显示该缩略图的过程中,检测到云服务对应的删除该缩略图的指示。电子设备根据引用标记字段,确定该缩略图被其他模块对应的设备(如HDC)引用,不能删除该缩略图,可将如图6所示的云服务对应的第三个比特位置为0,不再允许云服务引用该缩略图,用户在查看云相册中的缩略图的过程中,不再能够查看该缩略图。
进一步的,电子设备在检测到删除操作后,确认引用标识字段中除该删除操作对应的模块对应的比特位取值为1,其余比特位取值均为0,或者全部引用标记全部比特位取值均为0。之后,电子设备可删除对应的缩略图,以避免删除缩略图影响其他模块对该缩略图的引用。
此外,一些实施例中,对应于一种设备类型的模块对应于引用标记字段中的一个字段,但是电子设备可连接一种设备类型的多个设备,如电子设备连接多个分布式设备。那么,电子设备还可记录模块对应的同一种设备类型的不同设备对于缩略图的引用,进而在删除缩略图的过程中,确定是否可以删除该缩略图。
示例性的,电子设备与设备A和设备B(即设备A和设备B为分布式设备)连接,设备A和设备B中均存储有图片1,电子设备与设备A和设备B进行缩略图同步。那么,电子设备中存储图片1对应的缩略图1,该缩略图1可为电子设备从设备A或设备B中下载的缩略图。那么设备A和设备B均引用缩略图1(该“引用”包括缩略图1的来源,以及对该缩略图的引用),将缩略图1的引用标记字段中分布式设备对应的比特位置为1。电子设备建立表格1,用于记录全部引用该缩略图1的分布设备,如包括设备A和设备B。后续,设备A删除了图片1,电子设备与设备A进行缩略图同步的过程中,确定该删除情况后,由于设备B仍引用该缩略图1。那么,电子设备只需将表1中设备A对该缩略图1的引用删除,而不必将缩略图1的引用标记字段中分布式设备对应的比特位置为0。基于此,电子设备在确定表1中记录的分布设备均不再引用该缩略图1后,可将缩略图1的引用标记字段中分布式设备对应的比特位置为0。进一步的,电子设备在确定缩略图1的引用标识字段中其他字段均已置为0,可删除缩略图1。
在一些实施例中,电子设备可以根据获取到的元数据情况,实时确定是否删除对应的缩略图;也可以按照预设周期,定时确定缩略图同步情况。
示例性的,如上所述,电子设备检测到删除元数据(如删除云相册中的图片)的指示,可以直接确定是否删除元数据(如待删除图片对应的元数据)对应的缩略图,或者是否将缩略图的引用标记字段中对应字段置为0。
又示例性的,电子设备在检测到删除元数据的指示后,暂不对统一的缩略图数据库中的缩略图进行同步处理,而是按照预设周期对统一的缩略图数据库中的缩略图进行同步处理。如电子设备按照预设周期,获取统一的缩略图数据库中的全部缩略图的key,在确定全部模块对应的元数据中是否包含这些key。之后,将已不包含的key对应的缩略图删除,或者将已不引用的key对应的缩略图的引用标记字段中对应字段置为0。
如此,灵活的对缩略图进行处理,满足电子设备降低存储空间占用的需求,也可简化缩略图处理流程。
在一些实施例中,电子设备可对统一的缩略图数据库(如上述Key-value数据库)中的缩略图执行新增、更新、删除、引用等操作。可选的,电子设备设置统一的缩略图数据库的API,模块通过不同的API命令输入参数,指示统一的缩略图数据库输出相应的参数。
示例性的,如下表1所示,示出了几种API命令的含义,以及相应的输入参数和输出参数。比如,电子设备通过API命令generateKey(bytes,thumbnailType),将缩略图内容bytes和模块标识(identity document,ID)作为输入参数输入到统一的缩略图数据库后,统一的缩略图数据库根据缩略图内容bytes生成键值(key),并将键值(key)作为输出参数。其中,如电子设备确定同步云相册中的缩略图,可将待同步的缩略图内容bytes(如从云相册对应的云服务中请求下载缩略图内容bytes)和云服务ID作为输入参数输入到统一的缩略图数据库,统一的缩略图数据库确定该待同步的缩略图的键值(key),并生成如图5所示的Key-value字段,且将如图6所示的引用标记字段中的云服务对应的比特位置为1。
又比如,电子设备确定从云服务中获取到元数据,确定该元数据中缩略图的键值(key)与统一的缩略图数据库中存储的某一缩略图的key相同,可确定不必再下载该缩略图,而是需要引用该缩略图。那么,电子设备需要设置该缩略图的引用标记,可通过API命令setReference(key,moduleId),将待引用的缩略图的键值(key),该云服务的模块ID作为输入参数输入到统一的缩略图数据库,统一的缩略图数据库可将如图6所示的引用标记字段中云服务对应的比特位置为1,并输出成功信号或失败信号。电子设备根据成功信号或失败信号,确定云服务是否成功引用该缩略图。
表1
需要说明的是,上表1中,缩略图内容bytes用于表示缩略图压缩后的数据,缩略图位图用于表示统一的缩略图库根据输入的属性参数对缩略图解压处理后的数据。可选的,属性参数包括截取大小、拉伸参数等。
如上介绍电子设备通过缩略图的键值(key)区分缩略图,以及通过API命令操作统一的缩略图数据库中的缩略图的相关内容。如下以同步分布式设备缩略图场景、同步云服务缩略图场景、同步HDC缩略图场景以及同步本地缩略图场景四个场景为例,对电子设备中缩略图的同步过程进行说明。
场景一、同步分布式设备缩略图场景
示例性的,图7为本申请实施例提供的一种缩略图存储方法流程示意图。如图7所示,分布式通信系统包括电子设备A和电子设备B,电子设备A和电子设备B建立连接,互为分布式设备。以电子设备A进行缩略图同步为例,对同步分布式设备缩略图场景进行说明。
可选的,缩略图同步包括按需预同步和应用请求同步。
示例性的,如图7所示,按需预同步过程包括如下S701-S702。
S701、电子设备A中的多媒体数据库从电子设备B中的多媒体数据库中,按照预同步策略,获取缩略图。
其中,多媒体数据库为上述实施例中所述的统一的缩略图数据库,用于存储电子设备中的全部缩略图。
在一些实施例中,电子设备A可以按照预同步策略预先进行缩略图同步,降低后续应用请求缩略图时,由于多媒体数据库未存储缩略图导致的下载时延,提升业务体验。其中,预同步策略预先配置在电子设备A中,例如包括在预设条件下自动同步缩略图、是否允许预同步、预同步缩略图选择原则等中的一项或几项。
比如,预设条件包括电子设备A在锁屏充电的过程中,自动下载已建立连接的电子设备B中的缩略图。又比如,电子设备A中设置不允许预同步缩略图,则电子设备A不执行步骤S701和步骤S702。再比如,电子设备A中的多媒体数据库的存储空间有限,预同步缩略图选择原则包括同步电子设备B中常用的热图,而不常用的缩略图可不必同步,进而降低多媒体数据库的存储空间的占用。
在一些实施例中,电子设备A可向电子设备B发送缩略图同步请求,电子设备B响应于缩略图同步请求,可向电子设备A发送全部图片的元数据。之后,电子设备A根据图片的元数据中的缩略图key,确定哪些图片的缩略图为多媒体数据库中未存储的缩略图,并根据元数据确定这部分未存储需要同步的缩略图的key。电子设备A向电子设备B发送待同步的缩略图的key,电子设备B根据获取到的key,将相应的缩略图发送到电子设备A。相应的,电子设备A接收电子设备B发送的缩略图。
S702、电子设备A中的多媒体数据库存储缩略图。
在一些实施例中,电子设备A接收到缩略图后,将缩略图存储到多媒体数据库中,完成与电子设备B的缩略图同步过程。可选的,电子设备A将缩略图对应的如图6所示的引用标记字段中的分布式设备对应的比特位置为1。
如此,分布式电子设备之间能够按照预同步策略,在电子设备空闲时完成缩略图的同步。并且,将缩略图预同步至统一的缩略图数据库(如多媒体数据库)。这样,后续电子设备不同模块在需要引用缩略图时,均可在该统一的缩略图数据库获取到需要的缩略图,降低存储冗余,提高缩略图引用效率。
可选的,缩略图的按需同步为可选步骤,电子设备也可不必进行按需同步,而是直接按照下述步骤,基于应用的请求进行同步。
示例性的,如图7所示,应用请求同步过程包括如下S703-S709。
S703、电子设备A中的应用(APP)向电子设备A中的多媒体数据库发送缩略图请求。
在一些实施例中,电子设备A检测到用户启动应用的操作,该应用启动后需要显示缩略图,可请向多媒体数据库发送缩略图请求,用于请求引用待显示的缩略图,以实现应用界面的显示。
示例性的,电子设备A中的应用可根据元数据,确定缩略图的key。如上表1所示,应用通过API命令getBytes(key)向多媒体数据库发送key,用于请求缩略图内容bytes。
S704、电子设备A中的多媒体数据库确定是否存储有对应的缩略图。若已存储,可向对应的应用发送缩略图;若未存储,可通过电子设备A中的通信模块向电子设备B发送缩略图请求。
在一些实施例中,电子设备A在确定显示缩略图时,需要确定多媒体数据库中是否存储有该待显示的缩略图。如确定多媒体数据库中存储有该待显示的缩略图,可将该待显示的缩略图发送到请求显示的应用。并且,将缩略图对应的如图6所示的引用标记字段中的分布式设备对应的比特位置为1。如确定多媒体数据库中未存储该待显示的缩略图,可通过通信模块向电子设备B发送缩略图请求,用于请求下载待显示的缩略图。
可选的,步骤S704的其余内容,可以参考上述步骤S423所述的相关内容,在此不再赘述。
S705、电子设备B中的通信模块接收到电子设备A发送的缩略图请求,并将通信请求转发至电子设备B中的多媒体数据库。
在一些实施例中,电子设备B中的多媒体数据库可获取到电子设备A发送的缩略图请求,该缩略图请求中可携带电子设备A待显示的缩略图的key。
S706、电子设备B中的多媒体数据库获取缩略图。
在一些实施例中,电子设备B可根据缩略图的key,从多媒体数据库中获取到相应的缩略图。如通过上表1所示的API命令getBytes(key)或getBitmap(key,options),获取到相应的缩略图。
S707、电子设备B的多媒体数据库将获取到的缩略图通过通信模块发送到电子设备A。相应的,电子设备A中的通信模块接收缩略图,并将缩略图转发至电子设备A中的多媒体数据库。
在一些实施例中,电子设备B在获取到缩略图后,可将缩略图发送到电子设备A。相应的,电子设备A接收电子设备B发送的缩略图。
S708、电子设备A中的多媒体数据库存储缩略图。
在一些实施例中,电子设备A接收到缩略图后,将缩略图存储到多媒体数据库中,以便于后续其他模块引用该缩略图。
S709、电子设备A中的多媒体数据库向对应的应用发送缩略图。
在一些实施例中,电子设备A中的多媒体数据库将获取到的缩略图发送到请求该缩略图的应用,以实现应用显示该缩略图。可选的,电子设备A将缩略图对应的如图6所示的引用标记字段中的分布式设备对应的比特位置为1。
如此,电子设备可响应于应用请求,从统一的缩略图数据库(如多媒体数据库)中获取应用所需的缩略图,不会受限于隔离的缩略图数据库导致缩略图获取失败,或增加不必要的等待时延。
此外,如电子设备中统一的缩略图数据库中未存储应用所需的缩略图,也可自动向相应的设备请求下载缩略图,并将下载的缩略图存储至统一的缩略图数据库。从而后续其他模块也可从统一的缩略图数据库中获取到该缩略图,避免重复同步、存储缩略图,造成的存储空间的浪费。
场景二、同步云服务缩略图场景
示例性的,图8为本申请实施例提供的又一种缩略图存储方法流程示意图。如图8所示,电子设备启动云服务,并与云服务器建立连接。
可选的,缩略图同步包括按需预同步和应用请求同步。
示例性的,如图8所示,按需预同步过程包括如下S801-S803。
S801、电子设备中的云安卓安装包(android package,APK)按照预同步策略,获取缩略图。
在一些实施例中,电子设备中安装有云APK,启动云服务后,可以按照预先配置的预同步策略进行缩略图同步。其中,预同步策略例如包括在预设条件下自动同步缩略图、是否允许预同步、预同步缩略图选择原则等中的一项或几项。
在一些实施例中,电子设备可按照预同步策略获取云服务器中全部图片的元数据。之后,电子设备根据图片的元数据中的缩略图key,确定哪些图片的缩略图为多媒体数据库中未存储的缩略图,并根据元数据确定这部分未存储需要同步的缩略图的key。电子设备向云服务器发送待同步的缩略图的key,从而获取到相应的缩略图。
S802、电子设备中的云APK向电子设备中的多媒体数据库发送缩略图。
在一些实施例中,云APK在获取到缩略图后,可将缩略图转发至多媒体数据库。相应的,多媒体数据库获取到云APK发送的缩略图。
S803、电子设备中的多媒体数据库存储缩略图。
在一些实施例中,多媒体数据库获取到缩略图后,存储缩略图。可选的,电子设备将该缩略图对应的如图6所示的引用标记字段中的云服务对应的比特位置为1。
可选的,步骤S801-步骤S803的其余内容,可以参数上述图7所示步骤S701和步骤S702的相关内容,在此不再赘述。
如此,电子设备和云服务器之间能够按照预同步策略,在电子设备空闲时完成云服务器中的缩略图的同步。并且,将缩略图预同步至统一的缩略图数据库(如多媒体数据库)。这样,后续电子设备不同模块在需要引用缩略图时,均可在该统一的缩略图数据库获取到需要的缩略图,降低存储冗余,提高缩略图引用效率。
示例性的,如图8所示,应用请求同步过程包括如下S804-S809。
S804、电子设备中的应用(APP)向电子设备中的多媒体数据库发送缩略图请求。
S805、电子设备中的多媒体数据库确定是否存储有对应的缩略图。若已存储,可向对应的应用发送缩略图;若未存储,可执行步骤S806。
S806、电子设备中的通信模块向云服务器发送缩略图请求。
S807、云服务器响应于缩略图请求,将缩略图发送到电子设备。相应的,电子设备中的通信模块接收缩略图,并将缩略图转发至电子设备中的多媒体数据库。
S808、电子设备中的多媒体数据库存储缩略图。
S809、电子设备中的多媒体数据库向对应的应用发送缩略图。
可选的,步骤S804-步骤S809的内容,可以参数上述图7所示步骤S703-步骤S709的相关内容,在此不再赘述。
如此,电子设备可响应于应用请求,从统一的缩略图数据库(如多媒体数据库)中获取应用所需的缩略图,不会受限于隔离的缩略图数据库导致缩略图获取失败,或增加不必要的等待时延。
此外,如电子设备中统一的缩略图数据库中未存储应用所需的缩略图,也可自动向相应的设备请求下载缩略图,并将下载的缩略图存储至统一的缩略图数据库。从而后续其他模块也可从统一的缩略图数据库中获取到该缩略图,避免重复同步、存储缩略图,造成的存储空间的浪费。
场景三、同步HDC缩略图场景
示例性的,图9为本申请实施例提供的又一种缩略图存储方法流程示意图。如图9所示,电子设备启动HDC服务,并与HDC建立连接。
可选的,缩略图同步包括按需预同步和应用请求同步。
示例性的,如图9所示,按需预同步过程包括如下S901-S903。
S901、电子设备中的HDC APK按照预同步策略,获取缩略图。
在一些实施例中,电子设备中安装有HDC APK,启动HDC服务后,可以按照预先配置的预同步策略进行缩略图同步。其中,预同步策略例如包括在预设条件下自动同步缩略图、是否允许预同步、预同步缩略图选择原则等中的一项或几项。
在一些实施例中,电子设备可按照预同步策略获取HDC中全部图片的元数据。之后,电子设备根据图片的元数据中的缩略图key,确定哪些图片的缩略图为多媒体数据库中未存储的缩略图,并根据元数据确定这部分未存储需要同步的缩略图的key。电子设备向HDC发送待同步的缩略图的key,从而获取到相应的缩略图。
S902、电子设备中的HDC APK向电子设备中的多媒体数据库发送缩略图。
在一些实施例中,HDC APK在获取到缩略图后,可将缩略图转发至多媒体数据库。相应的,多媒体数据库获取到HDC APK发送的缩略图。
S903、电子设备中的多媒体数据库存储缩略图。
在一些实施例中,多媒体数据库获取到缩略图后,存储缩略图。可选的,电子设备将该缩略图对应的如图6所示的引用标记字段中的HDC对应的比特位置为1。
可选的,步骤S901-步骤S903的其余内容,可以参数上述图7所示步骤S701和步骤S702的相关内容,在此不再赘述。
如此,电子设备和HDC之间能够按照预同步策略,在电子设备空闲时完成HDC中的缩略图的同步。并且,将缩略图预同步至统一的缩略图数据库(如多媒体数据库)。这样,后续电子设备不同模块在需要引用缩略图时,均可在该统一的缩略图数据库获取到需要的缩略图,降低存储冗余,提高缩略图引用效率。
示例性的,如图9所示,应用请求同步过程包括如下S904-S909。
S904、电子设备中的应用(APP)向电子设备中的多媒体数据库发送缩略图请求。
S905、电子设备中的多媒体数据库确定是否存储有对应的缩略图。若已存储,可向对应的应用发送缩略图;若未存储,可执行步骤S906。
S906、电子设备中的通信模块向HDC发送缩略图请求。
S907、HDC响应于缩略图请求,将缩略图发送到电子设备。相应的,电子设备中的通信模块接收缩略图,并将缩略图转发至电子设备中的多媒体数据库。
S908、电子设备中的多媒体数据库存储缩略图。
S909、电子设备中的多媒体数据库向对应的应用发送缩略图。
可选的,步骤S904-步骤S909的内容,可以参数上述图7所示步骤S703-步骤S709的相关内容,在此不再赘述。
如此,电子设备可响应于应用请求,从统一的缩略图数据库(如多媒体数据库)中获取应用所需的缩略图,不会受限于隔离的缩略图数据库导致缩略图获取失败,或增加不必要的等待时延。
此外,如电子设备中统一的缩略图数据库中未存储应用所需的缩略图,也可自动向相应的设备请求下载缩略图,并将下载的缩略图存储至统一的缩略图数据库。从而后续其他模块也可从统一的缩略图数据库中获取到该缩略图,避免重复同步、存储缩略图,造成的存储空间的浪费。
场景四、同步本地缩略图场景
示例性的,电子设备如新增图片,或者部分图片的缩略图未创建key,需要从文件系统中确认这部分图片,创建相应的缩略图,完成本地缩略图的同步。图10为本申请实施例提供的又一种缩略图存储方法流程示意图。如图10所示,电子设备中缩略图同步包括按需预同步和应用请求同步。
如图10所示,按需预同步过程包括如下S1001-S1002。
S1001、多媒体数据库按照预同步策略,获取缩略图。
其中,预同步策略例如包括在预设条件下自动同步缩略图、是否允许预同步、预同步缩略图选择原则等中的一项或几项。
在一些实施例中,电子设备可按照预同步策略获取文件系统中全部图片的元数据。之后,电子设备根据图片的元数据,确定哪些图片的未创建缩略图(如缩略图key内容为空)。电子设备创建这部分图片对应的缩略图,并通过如上表1所示的API命令generateKey(bytes,thumbnailType),获取缩略图的key。
S1002、多媒体数据库存储缩略图。
在一些实施例中,电子设备根据key和缩略图数据生成如图5所示的Key-value字段,存储至多媒体数据库中。
如此,电子设备能够按照预同步策略,在空闲时完成本地缩略图的同步。并且,将缩略图预同步至统一的缩略图数据库(如多媒体数据库)。这样,后续电子设备中的模块在需要引用缩略图时,均可在该统一的缩略图数据库获取到需要的缩略图,降低存储冗余,提高缩略图引用效率。
示例性的,如图10所示,应用请求同步过程包括如下S1003-S1008。
S1003、应用(APP)向多媒体数据库发送缩略图请求。
S1004、多媒体数据库确定是否存储有对应的缩略图。若已存储,可向对应的应用发送缩略图;若未存储,可执行步骤S1005。
S1005、多媒体数据库向文件系统发送原文件请求。
在一些实施例中,电子设备确定多媒体数据库中未存储应用请求的缩略图,可向文件系统发送原文件请求,用于请求获取对应的原文件。
S1006、文件系统向多媒体数据库发送原文件。
S1007、多媒体数据库生成并存储缩略图。
在一些实施例中,多媒体数据库在获取到原文件后,可将原文件进行压缩,以获得缩略图。可选的,电子设备还可以通过如上表1所示的API命令generateKey(bytes,thumbnailType),获取缩略图的key。并且,根据key和缩略图数据生成如图5所示的Key-value字段,存储至多媒体数据库中。
S1008、电子设备中的多媒体数据库向对应的应用发送缩略图。
可选的,步骤S1003-步骤S1008的内容,可以参数上述图7所示步骤S703-步骤S709的相关内容,在此不再赘述。
如此,电子设备可响应于应用请求,从统一的缩略图数据库(如多媒体数据库)中获取应用所需的缩略图,不会受限于隔离的缩略图数据库导致缩略图获取失败,或增加不必要的等待时延。
此外,如电子设备中统一的缩略图数据库中未存储应用所需的缩略图,也可自动生成缩略图,并将缩略图存储至统一的缩略图数据库。从而后续其他模块也可从统一的缩略图数据库中获取到该缩略图,避免重复同步、存储缩略图,造成的存储空间的浪费。
示例性的,图11为本申请实施例提供的一种缩略图存储方法流程示意图。如图11所示,该方法包括如下步骤。
S1101、第一电子设备获取第一元数据中的第一缩略图标识。
在一些实施例中,第一电子设备的缩略图同步包括按需同步和应用请求同步。其中,按需同步用于表示第一电子设备按照预同步策略进行缩略图同步,如第一电子设备在锁屏充电的过程中,自动进行缩略图同步。应用请求同步用于表示第一电子设备检测到用户启动应用的操作后,该应用请求显示缩略图,第一电子设备根据应用请求进行缩略图同步。
可选的,按需同步为可选过程,第一电子设备可按照配置的预同步策略确定是否需要进行缩略图的按需同步。
在一些实施例中,第一电子设备在确定进行缩略图同步后,可获取元数据,进而根据元数据确定需要下载的缩略图。
示例性的,如上述图7中步骤S701所述内容,电子设备A(即第一电子设备)可获取电子设备B(即第二电子设备)发送的其存储的全部缩略图对应的元数据(即第一元数据),那么第一电子设备可根据获取到的元数据,确定其中的缩略图标识。
或者,如上述图7中步骤S703所述内容,第一电子设备中的待显示缩略图的应用可确定对应的元数据,进而确定其中的缩略图标识。
其中,元数据用于描述数据的属性信息。如用于指示对应的图片、或视频、或音频、或网页的存储位置,文件名,大小,占用空间,创建时间等。
在一些实施例中,如上述图7-图10所示内容,第一电子设备可从通信系统中的对端电子设备、云服务器、HDC、自身文件系统等多处获取到第一元数据,进而确定第一缩略图标识。该第一缩略图标识为待确定是否需要同步的缩略图对应的缩略图标识。
S1102、第一电子设备确定第一缩略图标识与目标数据库中存储的第二缩略图的第二缩略图标识是否相同。
在一些实施例中,第一电子设备中配置有用于存储缩略图的目标数据库,该目标数据库中存储有多个缩略图,多个缩略图至少具备两个不同的来源。如对于相同或不同来源的缩略图,第一电子设备均会将其存储至该目标数据库。其中,缩略图的来源为第一电子设备的存储模块、第二电子设备、服务器、家庭数据中心、网络附属存储中的任一项。其中,本地存储模块例如为图10所示的文件系统,用于存储图片的原文件、元数据等。
在一些实施例中,相同缩略图的缩略图标识相同,不同缩略图的缩略图标识不同。也就是说,第一电子设备可根据缩略图标识,区分不同的缩略图,进而确定本地是否存储有相应的缩略图,是否需要同步。
示例性的,第一电子设备在确定第一缩略图标识后,将第一标识与目标数据库中已存储的第二缩略图的第二缩略图标识进行比较,确定两者是否相同,进而确定是否需要进行缩略图同步。其中,第二缩略图对应的来源与第一缩略图标识对应的来源相同或不相同。也就是说,第一缩略图标识对应于第一缩略图,第一缩略图包括暂未下载的目标缩略图,还可以包括或不包括已经下载的缩略图。这样如第一缩略图包括已经下载的缩略图,那么这部分已经下载的缩略图的来源(同样为后续目标缩略图的来源)与第二缩略图的来源相同或不相同。如两者来源均为从云服务器下载的缩略图;或者,这部分已经下载的缩略图的来源为云服务器,第二缩略图中部分缩略图来源为云服务器,部分缩略图来源为第二电子设备。
在一些实施例中,目标数据库中目标缩略图对应的字段包括第一字段和第二字段,第一字段用于承载目标缩略图对应的目标缩略图标识,第二字段用于承载目标缩略图的缩略图数据。那么,第一电子设备可获取目标数据库中第二缩略图对应的字段,获取其中第一字段的数据,确定第二缩略图标识,进而将第一缩略图标识与第二缩略图标识进行比较。
示例性的,如图5所示,第一字段为键值(key)字段,第二字段为值(value)字段。第一电子设备可从key字段中获取缩略图标识。
S1103、第一电子设备下载第一缩略图标识中与第二缩略图标识不同的缩略图标识对应的目标缩略图。
在一些实施例中,第一电子设备确定第一缩略图标识中部分或全部缩略图标识与第二缩略图标识不同,可确定第一电子设备本地未存储这部分缩略图标识对应的目标缩略图。因此,第一电子设备需要下载该目标缩略图。
可选的,第一电子设备确定第一缩略图标识中存在部分缩略图标识与第二缩略图标识相同,那么可确定这部分缩略图标识对应的缩略图已在本地中存储。因此,第一电子设备可不再重复下载这部分缩略图,进而实现节约存储空间。
示例性的,如图4中附图标记41所示虚线框内的缩略图同步步骤,第一电子设备在下载元数据后,需要先确定是否存储对应的缩略图(即步骤S413),在确定没有存储后才需要下载缩略图(即步骤S414)。
又示例性的,如上述图7中步骤S704所述内容,电子设备A(即第一电子设备)确定多媒体数据库(即目标数据库)中是否存储有待显示的缩略图(如通过缩略图标识进行确定)。如确定多媒体数据库中存储有该待显示的缩略图,可将该待显示的缩略图发送到请求显示的应用。如确定多媒体数据库中未存储该待显示的缩略图,可通过通信模块向电子设备B(即第二电子设备)发送缩略图请求,用于请求下载待显示的缩略图。
S1104、第一电子设备将目标缩略图存储至目标数据库。
在一些实施例中,第一电子设备在下载目标缩略图后,将目标缩略图和目标缩略图对应的目标缩略图标识对应存储至目标数据库。即按照如图5所示的字段形式,在目标数据库中存储目标缩略图。
如此,第一电子设备可响应于应用请求,从目标数据库中获取应用所需的缩略图,不会受限于隔离的缩略图数据库导致缩略图获取失败,或增加不必要的等待时延。
此外,如第一电子设备中目标数据库中未存储应用所需的缩略图,也可自动向相应的设备请求下载缩略图,并将下载的缩略图存储至统一的目标数据库。从而后续其他模块也可从目标数据库中获取到该缩略图,避免重复同步、存储缩略图,造成的存储空间的浪费。
在一些场景中,目标数据库中存储的缩略图对应的字段中,第二字段中承载的数据还包括目标缩略图的引用标记,引用标记用于指示引用目标缩略图的模块。
示例性的,如图6所示,引用标记字段可占用8比特(bits),其中每一bit用于标识的一个对应的设备类型。可选的,如比特位置为0用于表示未引用,比特位置为1用于表示引用。比如,如图7所示场景,电子设备A从电子设备B中下载目标缩略图,可将目标缩略图对应的字段中,第二字段包括的引用标记字段中的第二个比特位置为1,用于表示电子设备中的分布式设备引用了该缩略图。
在一些实施例中,第一电子设备接收到删除目标缩略图的指示,可根据目标缩略图对应的引用标记,确定目标缩略图未被指示对应的模块以外的模块引用,删除目标缩略图。或者,根据目标缩略图对应的引用标记,确定目标缩略图被指示对应的模块以外的模块引用,取消指示对应的模块对目标缩略图的引用。
示例性的,如图7所示场景,电子设备A(即第一电子设备)将目标缩略图对应的引用标记字段中的第二个比特位置为1,即标识该目标缩略图以被分布式设备(即电子设备B)引用。
后续,如电子设备A检测到分布式设备指示删除目标缩略图,可根据目标缩略图对应的引用标记字段,确定目标缩略图是否被分布式设备以外的其他模块引用。如确定未被其他模块引用,可删除该目标缩略图;如确定被其他一个或多个模块引用,可将引用标记字段中分布式设备对应的比特位置为0,而不删除该目标缩略图,即取消分布式设备对目标缩略图的引用。
如此,第一电子设备可根据缩略图引用标识字段,确定是否可删除缩略图。从而避免删除缩略图影响其他模块对缩略图的引用。
可选的,第一电子设备还可以执行以上实施例中第一电子设备100或电子设备执行的步骤和功能,从而实现以上实施例提供的缩略图存储方法。
以上结合图4-图11详细说明了本申请实施例提供的缩略图存储方法。以下结合图12详细说明本申请实施例提供的缩略图存储装置。
在一种可能的设计中,图12为本申请实施例提供的第一电子设备的结构示意图。如图12所示,第一电子设备1200可以包括:收发单元1201和处理单元1202。第一电子设备1200作为缩略图存储装置,可用于实现上述方法实施例中涉及的电子设备或第一电子设备100的功能。
可选地,收发单元1201,用于支持第一电子设备1200执行图7中的S701、S705以及S707;和/或,用于支持第一电子设备1200执行图8中的S801、S806以及S807;和/或,用于支持第一电子设备1200执行图9中的S901、S906以及S907;和/或,用于支持第一电子设备1200执行图11中的S1101和S1103。
可选地,处理单元1202,用于支持第一电子设备1200执行图7中的S702、S703、S704、S708以及S709;和/或,用于支持第一电子设备1200执行图8中的S802、S803、S804、S805、S808以及S809;和/或,用于支持第一电子设备1200执行图9中的S902、S903、S904、S905、S908以及S909;和/或,用于支持第一电子设备1200执行图10中的S1001、S1002、S1003、S1004、S1005、S1006、S1007以及S1008;和/或,用于支持第一电子设备1200执行图11中的S1202和S1204。
其中,收发单元可以包括接收单元和发送单元,可以由收发器或收发器相关电路组件实现,可以为收发器或收发模块。第一电子设备1200中的各个单元的操作和/或功能分别为了实现上述方法实施例中所述的缩略图存储方法的相应流程,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能单元的功能描述,为了简洁,在此不再赘述。
可选地,图12所示的第一电子设备1200还可以包括存储单元(图12中未示出),该存储单元中存储有程序或指令。当收发单元1201和处理单元1202执行该程序或指令时,使得图12所示的第一电子设备1200可以执行上述方法实施例中所述的缩略图存储方法。
图12所示的第一电子设备1200的技术效果可以参考上述方法实施例中所述的缩略图存储方法的技术效果,此处不再赘述。
除了以第一电子设备1200的形式以外,本申请提供的技术方案也可以为第一电子设备中的功能单元或者芯片,或者与第一电子设备匹配使用的装置。
本申请实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请实施例并不限定。示例性地,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性地,该芯片系统可以是现场可编程门阵列(field programmable gatearray,FPGA),可以是专用集成芯片(AP设备plication specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(centralprocessor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controllerunit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的缩略图存储方法。
本申请实施例还提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的缩略图存储方法。
另外,本申请实施例还提供一种装置。该装置具体可以是组件或模块,该装置可包括相连的一个或多个处理器和存储器。其中,存储器用于存储计算机程序。当该计算机程序被一个或多个处理器执行时,使得装置执行上述各方法实施例中的缩略图存储方法。
其中,本申请实施例提供的装置、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法。因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应地软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read only memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(AP设备plication specific integrated circuit,ASIC)中。
通过以上的实施方式的描述,本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明。实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成;即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的。例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
计算机可读存储介质包括但不限于以下的任意一种:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种缩略图存储方法,其特征在于,应用于第一电子设备,所述第一电子设备中配置有用于存储缩略图的目标数据库,所述方法包括:
获取第一元数据中的第一缩略图标识;
确定所述第一缩略图标识与所述目标数据库中存储的第二缩略图的第二缩略图标识是否相同;
下载所述第一缩略图标识中与所述第二缩略图标识不同的缩略图标识对应的目标缩略图;
将所述目标缩略图存储至所述目标数据库。
2.根据权利要求1所述的方法,其特征在于,所述目标数据库中存储有多个缩略图,所述多个缩略图至少具备两种不同的来源。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述目标缩略图存储至所述目标数据库,包括:
将所述目标缩略图和所述目标缩略图对应的目标缩略图标识对应存储至所述目标数据库。
4.根据权利要求3所述的方法,其特征在于,所述目标数据库中所述目标缩略图对应的字段包括第一字段和第二字段,所述第一字段用于承载所述目标缩略图对应的所述目标缩略图标识,所述第二字段用于承载所述目标缩略图的缩略图数据。
5.根据权利要求4所述的方法,其特征在于,所述第二字段中承载的数据还包括所述目标缩略图的引用标记,所述引用标记用于指示引用所述目标缩略图的模块。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
检测到删除所述目标缩略图的指示;
根据所述目标缩略图对应的引用标记,确定所述目标缩略图未被所述指示对应的模块以外的模块引用,删除所述目标缩略图;
或者,根据所述目标缩略图对应的引用标记,确定所述目标缩略图被所述指示对应的模块以外的模块引用,取消所述指示对应的模块对所述目标缩略图的引用。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一缩略图标识对应的来源或所述第二缩略图对应的来源为所述第一电子设备的存储模块、第二电子设备、服务器、家庭数据中心、网络附属存储中的任一项。
8.根据权利要求1-7任一项所述的方法,其特征在于,在所述获取第一元数据中的第一缩略图标识之前,所述方法还包括:
按照预同步策略,获取所述第一元数据;
或者,
接收所述第一电子设备中的应用发送的第一请求,
确定所述第一请求对应的所述第一元数据。
9.一种电子设备,其特征在于,所述电子设备为第一电子设备,所述第一电子设备包括:处理器和存储器,所述存储器与所述处理器耦合,所述存储器用于存储计算机可读指令,当所述处理器从所述存储器中读取所述计算机可读指令,使得所述第一电子设备执行:
获取第一元数据中的第一缩略图标识;
确定所述第一缩略图标识与目标数据库中存储的第二缩略图的第二缩略图标识是否相同,其中,所述目标数据库为所述第一电子设备中配置的用于存储缩略图的数据库;
下载所述第一缩略图标识中与所述第二缩略图标识不同的缩略图标识对应的目标缩略图;
将所述目标缩略图存储至所述目标数据库。
10.根据权利要求9所述的电子设备,其特征在于,所述目标数据库中存储有多个缩略图,所述多个缩略图至少具备两种不同的来源。
11.根据权利要求9或10所述的电子设备,其特征在于,所述将所述目标缩略图存储至所述目标数据库,包括:
将所述目标缩略图和所述目标缩略图对应的目标缩略图标识对应存储至所述目标数据库。
12.根据权利要求11所述的电子设备,其特征在于,所述目标数据库中所述目标缩略图对应的字段包括第一字段和第二字段,所述第一字段用于承载所述目标缩略图对应的所述目标缩略图标识,所述第二字段用于承载所述目标缩略图的缩略图数据。
13.根据权利要求12所述的电子设备,其特征在于,所述第二字段中承载的数据还包括所述目标缩略图的引用标记,所述引用标记用于指示引用所述目标缩略图的模块。
14.根据权利要求13所述的电子设备,其特征在于,当所述处理器从所述存储器中读取所述计算机可读指令,还使得所述第一电子设备执行如下操作:
检测到删除所述目标缩略图的指示;
根据所述目标缩略图对应的引用标记,确定所述目标缩略图未被所述指示对应的模块以外的模块引用,删除所述目标缩略图;
或者,根据所述目标缩略图对应的引用标记,确定所述目标缩略图被所述指示对应的模块以外的模块引用,取消所述指示对应的模块对所述目标缩略图的引用。
15.根据权利要求9-14任一项所述的电子设备,其特征在于,所述第一缩略图或所述第二缩略图的来源为所述第一电子设备的存储模块、第二电子设备、服务器、家庭数据中心、网络附属存储中的任一项。
16.根据权利要求9-15任一项所述的电子设备,其特征在于,在所述获取第一元数据中的第一缩略图标识之前,所述方法还包括:
按照预同步策略,获取所述第一元数据;
或者,
接收所述第一电子设备中的应用发送的第一请求,
确定所述第一请求对应的所述第一元数据。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-8中任意一项所述的方法。
18.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-8中任意一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210112162.9A CN116561351A (zh) | 2022-01-29 | 2022-01-29 | 缩略图存储方法及电子设备 |
PCT/CN2022/137237 WO2023142696A1 (zh) | 2022-01-29 | 2022-12-07 | 缩略图存储方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210112162.9A CN116561351A (zh) | 2022-01-29 | 2022-01-29 | 缩略图存储方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116561351A true CN116561351A (zh) | 2023-08-08 |
Family
ID=87470326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210112162.9A Pending CN116561351A (zh) | 2022-01-29 | 2022-01-29 | 缩略图存储方法及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116561351A (zh) |
WO (1) | WO2023142696A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060242163A1 (en) * | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Local thumbnail cache |
CN106899630B (zh) * | 2015-12-18 | 2020-11-03 | 北京奇虎科技有限公司 | 网盘中图片的缩略图显示方法与装置 |
CN105700825B (zh) * | 2015-12-29 | 2018-10-19 | 歌尔科技有限公司 | 一种基于Android系统的缩略图存储方法和装置 |
CN110838969B (zh) * | 2019-10-29 | 2022-09-09 | 苏州达家迎信息技术有限公司 | 一种图片传输方法、装置、设备及介质 |
-
2022
- 2022-01-29 CN CN202210112162.9A patent/CN116561351A/zh active Pending
- 2022-12-07 WO PCT/CN2022/137237 patent/WO2023142696A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023142696A1 (zh) | 2023-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020211712A1 (zh) | 补丁方法、相关装置及系统 | |
CN113254409B (zh) | 文件共享方法、系统及相关设备 | |
WO2023207761A1 (zh) | 外设控制方法、电子设备及系统 | |
CN115514882B (zh) | 一种分布式拍摄方法,电子设备及介质 | |
CN114968384B (zh) | 一种功能调用方法和装置 | |
WO2022042363A1 (zh) | 一种共享库的复用方法及电子设备 | |
CN115981573A (zh) | 数据管理方法、电子设备及计算机可读写存储介质 | |
CN116561351A (zh) | 缩略图存储方法及电子设备 | |
CN115221255A (zh) | 地图数据更新方法、装置及系统 | |
CN117812087A (zh) | 数据同步方法及电子设备 | |
CN117135562B (zh) | 参数设置方法、终端设备及可读存储介质 | |
CN115002537B (zh) | 视频分享方法、电子设备、存储介质和程序产品 | |
CN118227222A (zh) | 应用管理方法、服务器、电子设备及系统 | |
CN117527822A (zh) | 数据同步方法、电子设备及系统 | |
CN114374690B (zh) | 一种文件共享方法、通信系统和电子设备 | |
CN115988002B (zh) | 一种数据传输方法和电子设备 | |
WO2024131823A1 (zh) | 免安装应用的升级方法及电子设备 | |
WO2023109569A1 (zh) | 文件存储方法、文件访问方法、电子设备及存储介质 | |
CN117520279A (zh) | 文件存储的方法及电子设备 | |
CN118410020A (zh) | 一种文件处理方法及电子设备 | |
CN118264709A (zh) | 服务发现方法及电子设备 | |
CN116095337A (zh) | 视频压缩、解压缩方法及电子设备 | |
CN117725028A (zh) | 一种文件处理方法、终端设备和计算机可读存储介质 | |
CN118259825A (zh) | 一种存储空间的管理方法、装置、电子设备及存储介质 | |
CN117786706A (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 |