CN112035402A - 一种文件存储方法、装置及终端设备 - Google Patents

一种文件存储方法、装置及终端设备 Download PDF

Info

Publication number
CN112035402A
CN112035402A CN201910480910.7A CN201910480910A CN112035402A CN 112035402 A CN112035402 A CN 112035402A CN 201910480910 A CN201910480910 A CN 201910480910A CN 112035402 A CN112035402 A CN 112035402A
Authority
CN
China
Prior art keywords
file
access request
service layer
file data
data
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.)
Withdrawn
Application number
CN201910480910.7A
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.)
SF Technology Co Ltd
Shenzhen SF Taisen Holding Group Co Ltd
Original Assignee
SF Technology Co Ltd
Shenzhen SF Taisen Holding Group 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 SF Technology Co Ltd, Shenzhen SF Taisen Holding Group Co Ltd filed Critical SF Technology Co Ltd
Priority to CN201910480910.7A priority Critical patent/CN112035402A/zh
Publication of CN112035402A publication Critical patent/CN112035402A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明适用于计算机技术领域,提供了一种文件存储方法、装置及终端设备,所述文件存储方法包括:接收客户端发送的访问请求,所述访问请求包括上传文件数据的请求;在接收到所述访问请求后,根据预设的负载均衡策略,将所述访问请求分配至管理服务层;根据所述访问请求,对所述文件数据进行分类处理,生成与所述文件数据对应的键值映射对;将与所述文件数据对应的所述键值映射对存储至对象存储服务层。通过本发明实施例,解决了件存储方式扩展程度小、容量小、访问速度较慢以及无法支持多线程并发访问量较大的场景的问题,实现了海量小文件的高效、安全的接入与存储。

Description

一种文件存储方法、装置及终端设备
技术领域
本发明属于计算机技术领域,尤其涉及一种文件存储方法、装置及终端设备。
背景技术
随着科学技术的发展,基于大数据的物联网技术广泛应用于各类场景,例如车辆管理、智慧物流、智慧冷链、智慧农业、智慧林业等应用场景。在物联网技术应用过程中,终端设备每天需要上传大量的文件,例如摄像头抓拍的图片、音频文件、视频文件等数量大、尺寸小、长期不变的非结构化数据文件;如何对该类文件进行合理存储,对基于物联网技术应用的可持续发展具有重要意义。
目前,针对文件的存储,一般为基于块存储或文件存储的存储平台;其中基于块存储的方式扩展程度小、容量小,基于文件存储的方式访问速度较慢;虽然存在一些基于分布式的对象存储方式,但是由于其存储架构针对访问请求的线程模型,依然不能适用大量用户并发访问的情况,无法支持多线程并发访问量较大的场景。
发明内容
有鉴于此,本发明实施例提供了一种文件存储方法、装置及终端设备,以解决现有技术中文件存储方式扩展程度小、容量小、访问速度较慢,以及由于存储架构的线程模型,依然不能适用大量用户并发访问的情况,无法支持多线程并发访问量较大的场景的问题。
本发明实施例的第一方面提供了一种文件存储方法,包括:
接收客户端发送的访问请求,所述访问请求包括上传文件数据的请求;
在接收到所述访问请求后,根据预设的负载均衡策略,将所述访问请求分配至管理服务层,所述负载均衡策略用于根据所述管理服务层的负载大小均衡分配客户端发送的访问请求;
根据所述访问请求,对所述文件数据进行分类处理,生成与所述文件数据对应的键值映射对;
将与所述文件数据对应的所述键值映射对存储至对象存储服务层。
在一个实施例中,接收客户端发送的访问请求,包括:
接收客户端通过超文本传输协议HTTP接口或安全套接层超文本传输协议HTTPS接口发送的所述访问请求。
在一个实施例中,所述负载均衡策略包括:按轮询次序分配的策略、按指定轮询几率分配的策略、按网际协议哈希结果分配的策略、按访问网站的哈希结果分配的策略以及按管理服务层的响应时间分配的策略中的一种或多种;
所述管理服务层为基于分布式配置的开源Jetty微服务器。
在一个实施例中,根据所述访问请求,对所述文件数据进行分类处理,生成与所述文件数据对应的键值映射对,包括:
获取所述文件数据的元信息,根据所述元信息生成键,其中所述元信息包括身份标识号、上传的时间节点、文件大小以及文件类型;
获取文件数据的文件内容,根据所述文件内容生成与所述键对应的值。
在一个实施例中,将与所述文件数据对应的所述键值映射对存储至对象存储服务层,包括:
调用代理服务器提供的文件操作应用程序编程接口Restful API,将根据所述元信息生成的键以及根据所述文件内容生成的值存储至对象服务器,将根据所述元信息生成的键存储至容器服务器;
其中,所述对象存储服务层包括所述代理服务器、对象服务器和容器服务器。
在一个实施例中,所述文件存储方法还包括:所述管理服务层存储所述文件数据的所述元信息。
在一个实施例中,所述文件存储方法还包括:
所述管理服务层获取发送所述访问请求的所述客户端的网际地址,对所述客户端进行安全验证。
本发明实施例的第二方面提供了一种文件存储装置,包括:
数据接收单元,用于客户端发送的访问请求,所述访问请求包括上传文件数据的请求;
数据分配单元,用于在接收到所述访问请求后,根据预设的负载均衡策略,将所述访问请求分配至管理服务层,所述负载均衡策略用于根据所述管理服务层的负载大小均衡分配客户端发送的访问请求;
数据处理单元,用于根据所述访问请求,对所述文件数据进行分类处理,生成与所述文件数据对应的键值映射对;
数据存储单元,用于将与所述文件数据对应的所述键值映射对存储至对象存储服务层。
本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:通过本发明实施例,在接收客户端发送的访问请求后,根据预设的负载均衡策略,将访问请求分配至管理服务层,通过设置负载均衡策略可以支持大量的访问请求的并发连接,从而支持海量小文件的高效存储;解决了文件存储方式扩展程度小、容量小、访问速度较慢以及无法支持多线程并发访问量较大的场景的问题;由管理服务层对访问请求中的文件数据进行分类处理,并生成对应的键值映射对,管理服务层易开发和维护,可以支持横向扩展,无需配置额外网站服务器;将与文件数据对应的键值映射对存储至对象存储服务层,保证了海量小文件安全、稳定的接入与存储,对象存储服务层易扩展、安全性高,适用于永久类型的静态文件数据的长期存储;具有较强的易用性与实用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的文件存储的系统结构示意图;
图2是本发明实施例提供的文件存储方法的实现流程示意图;
图3是本发明实施例提供的文件存储装置的示意图;
图4是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
参见图1,是本发明一个实施例提供的文件存储的系统结构示意图;如图所示,针对服务端设置的文件存储的系统架构包括负载均衡层、管理服务层以及对象存储服务层;接收由客户端通过网络协议接口发送的访问请求,所述网络协议接口可以是超文本传输协议HTTP接口或安全套接层超文本传输协议接口;访问请求可以是上传文件数据的请求、查询文件数据的请求或者读取文件数据请求;负载均衡层对客户端发送的访问请求按照负载均衡策略分配至管理服务层,管理服务层包括多个分布式部署的Jetty微服务器,例如图中的微服务器1、微服务器2、微服务器3;经过管理服务层的微服务器对访问请求中的文件数据进行分类处理,根据文件数据的属性和内容,分别生成对应的键值映射对,通过文件操作应用程序编程接口将键值映射对存储至对象存储服务层,对象存储服务层包括代理服务器、对象服务器以及容器服务器;通过调用代理服务器提供的文件操作应用程序编程接口Restful API,将根据元信息生成的键以及根据文件内容生成的值存储至对象服务器,将根据元信息生成的键存储至容器服务器,其中对象存储层配置为基于Swift架构的对象存储。
通过本实施例,在文件存储的系统架构中配置HAProxy均衡负载层、Jetty微服务器以及基于Swift的对象存储,可以实现对海量小文件的安全、稳定、高效的接入、存储或查询等服务,Jetty微服务器具有可扩展性和易嵌入性的特点,可以实现分布式部署,为大量的并发访问的客户端上传的文件进行分类处理,实现文件数据高效的接入。通过设置基于HAProxy的均衡负载层,可以满足负载量大的网址站点的访问请求,可用性极强,可以支持数以万计的并发访问请求的连接,同时还可以保护后端的Jetty微服务的隐蔽性,使其不被暴露在网络上,实现安全的存储和访问。通过设置基于Swift架构的对象存储服务器,其中的各个存储节点对等,在扩展服务器存储容量的时候不存在单节点故障,扩展性好,从而实现对海量小文件的高效、安全、低成本的接入和存储。
实施例二
参见图2,是本发明一个实施例提供的文件存储方法的实现流程示意图,该文件存储方法适用于并发访问量大的网址站点的服务端对海量小文件接入和存储的场景,例如在车辆管理、智慧物流、智慧冷链、智慧农业以及智慧林业等应用场景,在开发物联网的应用过程中,终端设备需要上传海量小文件至服务端,例如摄像头抓拍照片、视频文件以及音频文件等数量大、尺寸小、长期不变的文件数据,则需要访问速度快、容量大以及安全、高效的网络存储架构进行接入和存储。该文件存储方法基于实施例一的文件存储系统的架构实现,文件存储方法包括:
步骤S201,接收客户端发送的访问请求,所述访问请求包括上传文件数据的请求。
在本实施例中,客户端可以是桌上型计算机、笔记本、掌上电脑及云端服务器等具有计算功能的终端设备,在此不做具体限定。在客户端需要上传文件或查询文件时,需要发送相应的访问请求至服务端;访问请求包括上传文件数据的请求、查询服务端数据的请求以及读取服务端数据的请求等;在客户端需要将文件数据存储至服务端时,则发送上传文件数据的请求,上传文件数据的请求包括数据的属性类别以及数据内容。
另外,服务端与客户端之间的通信符合网络传输协议,客户端通过网络协议接口将访问请求发送至服务端。
可选的,接收客户端发送的访问请求,包括:
接收客户端通过超文本传输协议HTTP接口或安全套接层超文本传输协议HTTPS接口发送的所述访问请求。
在本实施例中,客户端通过网络协议接口发送访问请求至服务端,可以通过超文本传输协议HTTP接口,增加网络传输数据的高效;或者在传输一些比较隐私的信息时可以选择安全套接层超文本传输协议HTTPS接口,通过信息安全通道保证数据传输的安全或确认网站的真实性。
需要说明的是,所发送的访问请求中的文件类型可以是任意格式的文件,具体类型没有限制。
步骤S202,在接收到所述访问请求后,根据预设的负载均衡策略,将所述访问请求分配至管理服务层,所述负载均衡策略用于根据所述管理服务层的负载大小均衡分配客户端发送的访问请求。
在本实施例中,服务端在接收到访问请求后,均衡负载层根据配置的负载均衡策略选择后端管理服务层中的一个微服务器,将访问请求分配至微服务器处理。负载均衡层会根据配置的管理服务层的访问量或者网址站点的访问结果设置相应的负载均衡策略,对访问请求进行高效合理的分配,以支持高并发的客户端访问量;具体可以采用HAProxy做负载平衡,适用于对负载较大的网址站点的并发访问的连接,可以保护后端的微服务器不被暴露至网络上,还可以支持后端的管理服务层根据应用需要进行横向扩展,具有高可用性。
另外,负载均衡策略包括:按轮询次序分配的策略、按指定轮询几率分配的策略、按网际协议哈希结果分配的策略、按访问网站的哈希结果分配的策略以及按管理服务层的响应时间分配的策略中的一种或多种。按轮询次序分配的策略为对每个访问请求按时间顺序分配至后端不同的微服务器;按指定轮询几率分配的策略为在后端微服务器性能不均时,指定的轮询几率,按照负载和访问比率成正比进行分配;按网际协议哈希结果分配的策略为对每个访问请求按照访问的网际协议地址的哈希结果进行分配,使每个客户端固定访问一个后端微服务器;按访问网站的哈希结果分配的策略为根据访问的连接的哈希结果进行分配,使每个连接定向同一个后端微服务器;管理服务层的响应时间分配的策略,按后端微服务器的响应时间来分配访问请求,响应时间短的微服务器优先分配访问请求。
需要说明的是,管理服务层配置有分布式的多个微服务器,可以同时处理多个客户端的访问请求,根据应用场景的客户端访问量可以进行微服务器的嵌入以及数量的设置;负载均衡策略也可以根据应用场景需要针对微服务器的具体负载情况进行选择性设配置。
步骤S203,根据所述访问请求,对所述文件数据进行分类处理,生成与所述文件数据对应的键值映射对。
在本实施例中,访问请求中的文件数据包括文件的属性部分以及文件的内容部分;文件的属性部分包括文件大小、文件类型、文件名以及文件所属产品设备等,也称为文件的元信息;根据文件数据的元信息和内容的对应关系生成相应的键值映射对,根据文件数据的元信息生成相应的键Key,根据文件数据的内容生成相应的值Value。
另外,微服务器存储文件数据的元信息,比如存储文件数据的文件大小、文件类型、文件上传时间等,保存至数据库,可以支持浏览、查询以及下载文件的服务。微服务器根据获取的设备号进行安全验证,比如上报的设备是否经过注册,并设置相应的网址黑白名单的机制。
需要说明的是,微服务器针对均衡负载层分配的访问请求,执行业务逻辑方面的处理,例如对文件数据的元信息的收集、文件数量的记录、文件的分类等;可选的,管理服务层可以为基于分布式配置的开源Jetty微服务器,具有轻量自带网址服务的容器,可以分布式部署,易于嵌入,方便维护;也可以使用TOMCAT或NETTY等框架。
可选的,根据所述访问请求,对所述文件数据进行分类处理,生成与所述文件数据对应的键值映射对,包括:
获取所述文件数据的元信息,根据所述元信息生成键,其中所述元信息包括身份标识号、上传的时间节点、文件大小以及文件类型;
获取文件数据的文件内容,根据所述文件内容生成与所述键对应的值。
在本实施例中,文件数据的元信息表征文件数据的属性信息,文件数据的文件内容则包括具体的音频、视频或者照片等具体的数据内容;根据所述元信息生成键Key,根据所述文件内容生成与所述键对应的值Value;例如,在物流车辆运营管理应用场景,在物流车上安装有智能硬件盒子,具有辅助驾驶、拍照以及录像等功能,在发生疲劳驾驶、交通违规或交通事故时,会通过智能硬件盒子进行拍照、录像,并生成对应的小文件,上传至服务端;其中,将通过拍照或录像生成的小文件的名称、所属的设备、文件的大小等代表小文件属性的信息生成相应的键Key,将拍照或录像的具体拍摄内容生成相应的值Value。由服务端提供网络协议接口,接收访问请求,通过负载均衡层根据配置的均衡负载策略选择后端微服务器;由微服务器对访问请求进行处理,获取文件数据的内容,为接收的文件数据分配唯一的身份标识ID号,获取上传的设备号(例如智能硬件盒子设备的型号),以及上传的时间节点;根据文件数据的身份标识ID号、设备号以及时间节点等文件数据的属性信息生成键Key,根据文件数据的内容生成值Value,组成Key-Value键值映射对。可以根据唯一的身份标识ID号查询或下载相应的文件数据。
步骤S204,将与所述文件数据对应的所述键值映射对存储至对象存储服务层。
在本实施例中,存储对象服务层为用于永久类型的静态数据的长期存储的服务单元;在存储对象服务层中存储文件数据的存储节点采用扁平化结构的对等节点,降低系统的维护成本,便于对文件数据的接入和访问;文件数据以键值映射对的形式存储至存储对象服务层,根据文件数据的键Key进行存储和查询。
具体的,对象存储服务层用于实现对永久类型的静态数据的长期存储,可以采用基于Swift架构的对象存储服务,具有强大的扩展性、冗余和持久性,适用于非结构化数据长期存储的应用场景;还可以采用基于Ceph架构的服务;通过Jetty微服务调用基于Swift架构的对象存储服务接口,将文件数据的元信息以及内容以键值映射对形式存储至对象服务器的存储节点。
另外,基于Swift架构的对象存储服务设置有账号验证机制,对发送访问请求的客户端进行安全性验证,保障数据访问的安全性;还可以结合管理服务层的微服务器设置的用户鉴权以及黑白名单机制,保证存储、查询服务的安全性。
可选的,将与所述文件数据对应的所述键值映射对存储至对象存储服务层,包括:
调用代理服务器提供的文件操作应用程序编程接口Restful API,将根据所述元信息生成的键以及根据所述文件内容生成的值存储至对象服务器,将根据所述元信息生成的键存储至容器服务器;
其中,所述对象存储服务层包括所述代理服务器、对象服务器和容器服务器。
在本实施例中,存储对象服务层包括代理服务器、对象服务器以及容器服务器;代理服务器对外提供对象服务接口,根据内部的存储节点信息查找存储服务地址,并将客户端的访问请求转发至相应的其它服务器,例如对象服务器或容器服务器;对象服务器将每个文件数据的内容以文件的形式存储在文件系统中,文件数据的元信息作为文件属性存储;容器服务器存储文件数据的元信息以及统计信息,并维护文件数据的存储列表,保证根据存储节点信息查找存储服务地址的可靠性。
可选的,所述文件存储方法还包括:
所述管理服务层存储所述文件数据的所述元信息,可以支持网络页面前端进行浏览、查询或下载文件。
可选的,所述文件存储方法还包括:
所述管理服务层获取发送所述访问请求的所述客户端的网际地址,对所述客户端进行安全验证。
在本实施例中,管理服务层获取发送所述访问请求的所述客户端的网际IP地址,对所述客户端进行安全验证,设置IP黑白名单或上报设备是否注册等机制。
需要说明的是,服务端包括多个服务层,每个服务层对应不同的服务器框架,例如负载均衡层配置的HAProxy均衡负载架构,管理服务层对应的微服务器,对象存储服务层对应的代理服务器、对象服务器以及容器服务器;经过合理的配置以及相互调用实现对海量小文件的高效、安全的接入和存储。
通过本实施例,在接收客户端发送的访问请求后,根据预设的负载均衡策略,将访问请求分配至管理服务层,通过设置负载均衡策略可以支持大量的并发访问请求的连接,从而支持海量小文件的高效存储;解决了文件存储方式扩展程度小、容量小、访问速度较慢以及无法支持多线程并发访问量大的场景的问题;由管理服务层对访问请求中的文件数据进行分类处理,并生成对应的键值映射对,管理服务层易开发和维护,可以支持横向扩展,无需配置额外网站服务器;将与文件数据对应的键值映射对存储至对象存储服务层,保证了海量小文件安全、稳定的接入与存储,对象存储服务层易扩展、安全性高,适用于永久类型的静态文件数据的长期存储。
需要说明的是,本领域技术人员在本发明揭露的技术范围内,可容易想到的其他排序方案也应在本发明的保护范围之内,在此不一一赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例三
参见图3,是本发明一个实施例提供的文件存储装置的示意图,为了便于说明,仅示出了与本发明实施例相关的部分。
所述文件存储装置包括:
数据接收单元31,用于客户端发送的访问请求,所述访问请求包括上传文件数据的请求;
数据分配单元32,用于在接收到所述访问请求后,根据预设的负载均衡策略,将所述访问请求分配至管理服务层,所述负载均衡策略用于根据所述管理服务层的负载大小均衡分配客户端发送的访问请求;
数据处理单元33,用于根据所述访问请求,对所述文件数据进行分类处理,生成与所述文件数据对应的键值映射对;
数据存储单元34,用于将与所述文件数据对应的所述键值映射对存储至对象存储服务层。
通过本实施例,在接收客户端发送的访问请求后,根据预设的负载均衡策略,将访问请求分配至管理服务层,通过设置负载均衡策略可以支持大量的并发访问请求的连接,从而支持海量小文件的高效存储;解决了文件存储方式扩展程度小、容量小、访问速度较慢以及无法支持多线程并发访问量大的场景的问题;由管理服务层对访问请求中的文件数据进行分类处理,并生成对应的键值映射对,管理服务层易开发和维护,可以支持横向扩展,无需配置额外网站服务器;将与文件数据对应的键值映射对存储至对象存储服务层,保证了海量小文件安全、稳定的接入与存储,对象存储服务层易扩展、安全性高,适用于永久类型的静态文件数据的长期存储。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述移动终端的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述移动终端中模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例四
图4是本发明一实施例提供的终端设备的示意图。如图4所示,该实施例的终端设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个文件存储方法实施例中的步骤,例如图2所示的步骤201至204。或者,所述处理器40执行所述计算机程序42时实现上述各装置实施例中各单元的功能,例如图3所示单元31至34的功能。
示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述终端设备4中的执行过程。例如,所述计算机程序42可以被分割成数据接收单元、数据分配单元、数据处理单元以及数据存储单元,各单元具体功能如下:
数据接收单元,用于客户端发送的访问请求,所述访问请求包括上传文件数据的请求;
数据分配单元,用于在接收到所述访问请求后,根据预设的负载均衡策略,将所述访问请求分配至管理服务层,所述负载均衡策略用于根据所述管理服务层的负载大小均衡分配用户的访问请求;
数据处理单元,用于根据所述访问请求,对所述文件数据进行分类处理,生成与所述文件数据对应的键值映射对;
数据存储单元,用于将与所述文件数据对应的所述键值映射对存储至对象存储服务层。
所述终端设备可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端设备4的示例,并不构成对终端设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述终端设备4的内部存储单元,例如终端设备4的硬盘或内存。所述存储器41也可以是所述终端设备4的外部存储设备,例如所述终端设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述终端设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种文件存储方法,其特征在于,包括:
接收客户端发送的访问请求,所述访问请求包括上传文件数据的请求;
在接收到所述访问请求后,根据预设的负载均衡策略,将所述访问请求分配至管理服务层,所述负载均衡策略用于根据所述管理服务层的负载大小均衡分配客户端发送的访问请求;
根据所述访问请求,对所述文件数据进行分类处理,生成与所述文件数据对应的键值映射对;
将与所述文件数据对应的所述键值映射对存储至对象存储服务层。
2.如权利要求1所述的文件存储方法,其特征在于,接收客户端发送的访问请求,包括:
接收客户端通过超文本传输协议HTTP接口或安全套接层超文本传输协议HTTPS接口发送的所述访问请求。
3.如权利要求1所述的文件存储方法,其特征在于,
所述负载均衡策略包括:按轮询次序分配的策略、按指定轮询几率分配的策略、按网际协议哈希结果分配的策略、按访问网站的哈希结果分配的策略以及按管理服务层的响应时间分配的策略中的一种或多种;
所述管理服务层为基于分布式配置的开源Jetty微服务器。
4.如权利要求1所述的文件存储方法,其特征在于,根据所述访问请求,对所述文件数据进行分类处理,生成与所述文件数据对应的键值映射对,包括:
获取所述文件数据的元信息,根据所述元信息生成键,其中所述元信息包括身份标识号、上传的时间节点、文件大小以及文件类型;
获取文件数据的文件内容,根据所述文件内容生成与所述键对应的值。
5.如权利要求4所述的文件存储方法,其特征在于,将与所述文件数据对应的所述键值映射对存储至对象存储服务层,包括:
调用代理服务器提供的文件操作应用程序编程接口Restful API,将根据所述元信息生成的键以及根据所述文件内容生成的值存储至对象服务器,将根据所述元信息生成的键存储至容器服务器;
其中,所述对象存储服务层包括所述代理服务器、对象服务器和容器服务器。
6.如权利要求4所述的文件存储方法,其特征在于,所述文件存储方法还包括:
所述管理服务层存储所述文件数据的所述元信息。
7.如权利要求1所述的文件存储方法,其特征在于,所述文件存储方法还包括:
所述管理服务层获取发送所述访问请求的所述客户端的网际地址,对所述客户端进行安全验证。
8.一种文件存储装置,其特征在于,包括:
数据接收单元,用于客户端发送的访问请求,所述访问请求包括上传文件数据的请求;
数据分配单元,用于在接收到所述访问请求后,根据预设的负载均衡策略,将所述访问请求分配至管理服务层,所述负载均衡策略用于根据所述管理服务层的负载大小均衡分配客户端发送的访问请求;
数据处理单元,用于根据所述访问请求,对所述文件数据进行分类处理,生成与所述文件数据对应的键值映射对;
数据存储单元,用于将与所述文件数据对应的所述键值映射对存储至对象存储服务层。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
CN201910480910.7A 2019-06-04 2019-06-04 一种文件存储方法、装置及终端设备 Withdrawn CN112035402A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910480910.7A CN112035402A (zh) 2019-06-04 2019-06-04 一种文件存储方法、装置及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910480910.7A CN112035402A (zh) 2019-06-04 2019-06-04 一种文件存储方法、装置及终端设备

Publications (1)

Publication Number Publication Date
CN112035402A true CN112035402A (zh) 2020-12-04

Family

ID=73575831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910480910.7A Withdrawn CN112035402A (zh) 2019-06-04 2019-06-04 一种文件存储方法、装置及终端设备

Country Status (1)

Country Link
CN (1) CN112035402A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800364A (zh) * 2021-02-19 2021-05-14 上海中通吉网络技术有限公司 基于文件服务器的gis大数据量报文响应的处理方法及装置
CN115037551A (zh) * 2022-06-29 2022-09-09 北京奇艺世纪科技有限公司 连接权限控制方法、装置、电子设备及存储介质
CN116471343A (zh) * 2023-06-19 2023-07-21 成都星联芯通科技有限公司 设备板卡管理方法、负载均衡方法、装置、服务器和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327052A (zh) * 2012-03-22 2013-09-25 深圳市腾讯计算机系统有限公司 数据存储方法和系统以及数据访问方法和系统
CN104754001A (zh) * 2013-12-30 2015-07-01 方正宽带网络服务股份有限公司 云存储系统和数据存储方法
CN104820717A (zh) * 2015-05-22 2015-08-05 国网智能电网研究院 一种海量小文件存储及管理方法和系统
US9203815B1 (en) * 2013-11-27 2015-12-01 Symantec Corporation Systems and methods for secure third-party data storage
CN106446263A (zh) * 2016-10-18 2017-02-22 北京航空航天大学 一种多媒体文件云存储平台及使用该云存储平台去冗的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327052A (zh) * 2012-03-22 2013-09-25 深圳市腾讯计算机系统有限公司 数据存储方法和系统以及数据访问方法和系统
US9203815B1 (en) * 2013-11-27 2015-12-01 Symantec Corporation Systems and methods for secure third-party data storage
CN104754001A (zh) * 2013-12-30 2015-07-01 方正宽带网络服务股份有限公司 云存储系统和数据存储方法
CN104820717A (zh) * 2015-05-22 2015-08-05 国网智能电网研究院 一种海量小文件存储及管理方法和系统
CN106446263A (zh) * 2016-10-18 2017-02-22 北京航空航天大学 一种多媒体文件云存储平台及使用该云存储平台去冗的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800364A (zh) * 2021-02-19 2021-05-14 上海中通吉网络技术有限公司 基于文件服务器的gis大数据量报文响应的处理方法及装置
CN115037551A (zh) * 2022-06-29 2022-09-09 北京奇艺世纪科技有限公司 连接权限控制方法、装置、电子设备及存储介质
CN115037551B (zh) * 2022-06-29 2024-04-26 北京奇艺世纪科技有限公司 连接权限控制方法、装置、电子设备及存储介质
CN116471343A (zh) * 2023-06-19 2023-07-21 成都星联芯通科技有限公司 设备板卡管理方法、负载均衡方法、装置、服务器和介质
CN116471343B (zh) * 2023-06-19 2023-08-15 成都星联芯通科技有限公司 设备板卡管理方法、负载均衡方法、装置、服务器和介质

Similar Documents

Publication Publication Date Title
CN109936571B (zh) 一种海量数据共享方法、开放共享平台及电子设备
US10515058B2 (en) Unified file and object data storage
CN111736775B (zh) 多源存储方法、装置、计算机系统及存储介质
CN112839111B (zh) 边缘位置处的可定制的事件触发计算的系统、方法和介质
US9930103B2 (en) Endpoint management system providing an application programming interface proxy service
US10564960B2 (en) Elastic application framework for deploying software
US10313346B1 (en) Virtual firewalls for multi-tenant distributed services
WO2017190641A1 (zh) 拦截爬虫的方法、装置、服务器终端以及计算机可读介质
EP3170091B1 (en) Method and server of remote information query
CN111026982A (zh) 智能合约处理方法、计算机设备及存储介质
CN112035402A (zh) 一种文件存储方法、装置及终端设备
CN109104368B (zh) 一种请求连接方法、装置、服务器及计算机可读存储介质
US9578012B2 (en) Restricted content publishing with search engine registry
CN113505260A (zh) 人脸识别方法、装置、计算机可读介质及电子设备
CN112883006B (zh) 一种企业级容器镜像加速方法、装置、电子设备和存储介质
US20190075018A1 (en) Managing a generation and delivery of digital identity documents
CN107181801B (zh) 一种电子附件存储方法及终端
CN106649528A (zh) 图片写入和读取方法、装置
CN116233253A (zh) 业务处理方法、装置、计算机设备和存储介质
CN113726838B (zh) 文件传输方法、装置、设备及存储介质
CN113434577A (zh) 业务数据处理方法、存储介质及设备
WO2022071946A1 (en) Data transformations based on policies
CN113032820A (zh) 文件存储方法、访问方法、装置、设备及存储介质
CN110795596B (zh) 一种客户端的信息反馈方法及装置
US20140324817A1 (en) Preprocessing of client content in search infrastructure

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20201204