一种基于非关系型数据库的文件存储方法和装置制造方法及图纸

技术编号:15059273 阅读:92 留言:0更新日期:2017-04-06 09:01
本发明专利技术实施例提供了一种基于非关系型数据库NoSQL的文件存储方法和装置,其中的方法包括:在对用户鉴权成功的情况下,接收用户上传文件;根据预设规则确定所述上传文件的统一资源标识符URI;根据所述URI确定所述上传文件的存储地址;将所述上传文件存储至所述存储地址。本发明专利技术实施例能够基于预设规则为文件分配URI,基于URI确定文件的存储地址,从而实现文件的快速存储,且省去用户配置文件存储位置的繁琐操作。

【技术实现步骤摘要】

本专利技术视频通信
,具体涉及一种基于非关系型数据库的文件存储方法和装置
技术介绍
随着个人终端和移动互联网的高速发展,各种文件,尤其是小文件在云存储系统内所占比例越来越高,海量的小文件的高效存储和归档成为迫切需要解决的问题。通常所说的小文件是指大小从几KB到几百KB的文件,例如,微博需要存储海量的个人图片,或者搜索引擎从网络上抓取的上亿的网页。随着这些小文件的数量的不断增大,传统的文件存储方式已不能满足当前的需求,因此业界提出了多种面向半结构化和结构化数据的非关系型数据库(NoSQL)存储系统来存放小文件,如MongoDB、CouchDB、Cassandra、HBase等。单个NoSQL数据库或者数据库中的某个集合也可能受网络连接数、内存、存储容量大小及吞吐率等因素影响文件的访问和写入性能,一旦文件数量达到一定规模之后,文件的存储和检索效率急剧下降,导致系统执行缓慢。从而,亟需一种能够提高文件存取效率的解决方案。
技术实现思路
为了解决现有技术中对海量文件存储效率低下的问题,本专利技术实施例期望提供一种基于非关系型数据库的文件存储方法和装置。本专利技术实施例提供了一种基于非关系型数据库的文件存储方法,包括:在对用户鉴权成功的情况下,接收用户上传文件;根据预设规则确定所述上传文件的统一资源标识符URI;根据所述URI确定所述上传文件的存储地址;将所述上传文件存储至所述存储地址。优选地,所述对用户鉴权成功,包括:接收用户发送的账户标识ID和账户密码;验证所述账户ID是否合法;当所述账户ID合法时,判断所述账户密码是否为所述账户ID所对应的密码;当所述账户密码为所述账户ID所对应的密码时,确定所述用户鉴权成功。优选地,所述对用户鉴权成功之前,所述方法还包括:接收用户发送的账户信息,所述账户信息,包括:账户ID、账户密码及访问入口地址;将接收到的账户信息设置为所述用户的账户信息;所述根据预设规则确定所述上传文件的URI之前,所述方法还包括:接收所述用户发送的配置信息,所述配置信息,包括:数据源访问配置信息、归档策略配置信息及文件路由配置信息;将接收到的配置信息设置为所述用户的配置信息。优选地,所述数据源访问配置信息,包括:数据源ID、数据源连接地址、数据源权限认证信息;所述归档策略包括:按权重归档和按时间归档,其中,所述按时间归档包括:按小时归档、按天归档、按周归档、按月归档、按季度归档及按年归档;当归档策略为按权重归档时,所述文件路由配置信息,包括一个或多个路由配置,其中,所述路由配置,包括:数据源ID、数据分区ID、所述路由配置的权重值、集合初始ID及集合分配数量;当归档策略为按时间归档时,所述文件路由配置信息,包括一个或多个路由配置,其中,所述路由配置,包括:数据源ID、数据分区ID、开始时间、结束时间。优选地,所述根据预设规则确定所述上传文件的URI,包括:确定所述用户设置的访问入口、账户ID及归档策略;确定所述上传文件的文件名;当所述用户设置的归档策略为按权重归档时,按照以下方式确定所述上传文件的URI:按权重比从多个权重大于0的路由配置中选取一个作为第一路由配置;提取所述第一路由配置的数据源ID、数据分区ID、集合初始ID和集合分配数量;将提取的所述第一路由配置数据源ID确定为第一数据源ID、将提取的所述第一路由配置的数据分区ID确定为第一数据分区ID;根据所述第一路由配置的集合初始ID和集合分配数量确定与所述集合分配数量相同个数的集合ID;从所述确定的集合ID中选取一个作为第一集合ID;根据所述访问入口、账户ID、第一数据源ID、第一数据分区ID及第一集合ID按照以下格式生成所述上传文件的URI:访问入口/账户ID/第一数据源ID/第一数据分区ID/第一集合ID/文件名。优选地,所述根据预设规则确定所述上传文件的URI,还包括:当所述用户设置的归档策略为按时间归档时,按照以下方式确定所述上传文件的URI:确定当前时间;根据归档方式对当前时间进行格式化生成格式化时间值;在路由配置中确定开始时间小于等于所述格式化时间值、且结束时间大于等于所述格式化时间值的路由配置;从所述确定的路由配置中选取一个作为第二路由配置;提取所述第二路由配置的数据源ID、数据分区ID;将所述提取的第二路由配置的数据源ID确定为第二数据源ID、将提取的第二路由配置的数据分区ID确定为第二数据分区ID;根据所述格式化时间值确定第二集合ID;根据所述访问入口、账户ID、第二数据源ID、第二数据分区ID及第二集合ID按照以下格式生成所述上传文件的URI:访问入口/账户ID/第二数据源ID/第二数据分区ID/第二集合ID/文件名。优选地,所述根据所述URI确定所述上传文件的存储地址,包括:当所述用户设置的归档策略为按权重归档时,提取所述URI中的第一数据源ID、第一数据分区ID及第一集合ID;根据所述第一数据源ID确定第一数据源、根据所述第一数据分区ID确定第一数据分区、根据所述第一集合ID确定所述第一集合;将所述第一数据源下的第一数据分区下的第一集合确定为所述上传文件的存储地址;当所述用户设置的归档策略为按时间归档时,提取所述URI中的第二数据源ID、第二数据分区ID及第二集合ID;根据所述第二数据源ID确定第二数据源、根据所述第二数据分区ID确定第二数据分区、根据所述第二集合ID确定所述第二集合;将所述第二数据源下的第二数据分区下的第二集合确定为所述上传文件的存储地址。本专利技术实施例提供了一种基于非关系型数据库的文件存储装置,包括:文件接收模块、URI确定模块、存储地址确定模块和存储模块;其中,所述文件接收模块,用于在对用户鉴权成功的情况下,接收用户上传文件;所述URI确定模块,用于根据预设规则确定所述上传文件的统一资源标识符URI;所述存储地址确定模块,用于根据所述URI确定所述上传文件的存储地址;所述存储模块,用于将所述上传文件存储至所述存储地址。优选地,所述装置还包括:鉴权模块,用于对用户鉴权;所述鉴权模块,包括:接收子模块,用于接收用户发送的账户标识ID和账户密码;验证子模块,用于验证所述账户ID是否合法;判断子模块,用于当所述账户ID合法时,判断所述账户密码是否为所述账户ID所对应的密本文档来自技高网...

【技术保护点】
一种基于非关系型数据库NOSQL的文件存储方法,其特征在于,所述方法包括:在对用户鉴权成功的情况下,接收用户上传文件;根据预设规则确定所述上传文件的统一资源标识符URI;根据所述URI确定所述上传文件的存储地址;将所述上传文件存储至所述存储地址。

【技术特征摘要】
1.一种基于非关系型数据库NOSQL的文件存储方法,其特征在于,所述
方法包括:
在对用户鉴权成功的情况下,接收用户上传文件;
根据预设规则确定所述上传文件的统一资源标识符URI;
根据所述URI确定所述上传文件的存储地址;
将所述上传文件存储至所述存储地址。
2.根据权利要求1所述的方法,其特征在于,所述对用户鉴权成功,包括:
接收用户发送的账户标识ID和账户密码;
验证所述账户ID是否合法;
当所述账户ID合法时,判断所述账户密码是否为所述账户ID所对应的密
码;
当所述账户密码为所述账户ID所对应的密码时,确定所述用户鉴权成功。
3.根据权利要求2所述的方法,其特征在于,所述对用户鉴权成功之前,
所述方法还包括:
接收用户发送的账户信息,所述账户信息,包括:账户ID、账户密码及访
问入口地址;
将接收到的账户信息设置为所述用户的账户信息;
所述根据预设规则确定所述上传文件的URI之前,所述方法还包括:
接收所述用户发送的配置信息,所述配置信息,包括:数据源访问配置信
息、归档策略配置信息及文件路由配置信息;
将接收到的配置信息设置为所述用户的配置信息。
4.根据权利要求3所述的方法,其特征在于,所述数据源访问配置信息,
包括:数据源ID、数据源连接地址、数据源权限认证信息;
所述归档策略包括:按权重归档和按时间归档,其中,所述按时间归档包
括:按小时归档、按天归档、按周归档、按月归档、按季度归档及按年归档;
当归档策略为按权重归档时,所述文件路由配置信息,包括一个或多个路
由配置,其中,所述路由配置,包括:数据源ID、数据分区ID、所述路由配
置的权重值、集合初始ID及集合分配数量;
当归档策略为按时间归档时,所述文件路由配置信息,包括一个或多个路
由配置,其中,所述路由配置,包括:数据源ID、数据分区ID、开始时间、
结束时间。
5.根据权利要求4所述的方法,其特征在于,所述根据预设规则确定所述
上传文件的URI,包括:
确定所述用户设置的访问入口、账户ID及归档策略;
确定所述上传文件的文件名;
当所述用户设置的归档策略为按权重归档时,按照以下方式确定所述上传
文件的URI:
按权重比从多个权重大于0的路由配置中选取一个作为第一路由配置;
提取所述第一路由配置的数据源ID、数据分区ID、集合初始ID和集合分
配数量;
将提取的所述第一路由配置数据源ID确定为第一数据源ID、将提取的所
述第一路由配置的数据分区ID确定为第一数据分区ID;
根据所述第一路由配置的集合初始ID和集合分配数量确定与所述集合分
配数量相同个数的集合ID;
从所述确定的集合ID中选取一个作为第一集合ID;
根据所述访问入口、账户ID、第一数据源ID、第一数据分区ID及第一集
合ID按照以下格式生成所述上传文件的URI:
访问入口/账户ID/第一数据源ID/第一数据分区ID/第一集合ID/文件名。
6.根据权利要求5所述的方法,其特征在于,所述根据预设规则确定所述
上传文件的URI,还包括:
当所述用户设置的归档策略为按时间归档时,按照以下方式确定所述上传

\t文件的URI:
确定当前时间;
根据归档方式对当前时间进行格式化生成格式化时间值;
在路由配置中确定开始时间小于等于所述格式化时间值、且结束时间大于
等于所述格式化时间值的路由配置;
从所述确定的路由配置中选取一个作为第二路由配置;
提取所述第二路由配置的数据源ID、数据分区ID;
将所述提取的第二路由配置的数据源ID确定为第二数据源ID、将提取的
第二路由配置的数据分区ID确定为第二数据分区ID;
根据所述格式化时间值确定第二集合ID;
根据所述访问入口、账户ID、第二数据源ID、第二数据分区ID及第二集
合ID按照以下格式生成所述上传文件的URI:
访问入口/账户ID/第二数据源ID/第二数据分区ID/第二集合ID/文件名。
7.根据所述权利要求6所述的方法,其特征在于,所述根据所述URI确
定所述上传文件的存储地址,包括:
当所述用户设置的归档策略为按权重归档时,提取所述URI中的第一数据
源ID、第一数据分区ID及第一集合ID;根据所述第一数据源ID确定第一数
据源、根据所述第一数据分区ID确定第一数据分区、根据所述第一集合ID确
定所述第一集合;将所述第一数据源下的第一数据分区下的第一集合确定为所
述上传文件的存储地址;
当所述用户设置的归档策略为按时间归档时,提取所述URI中的第二数据
源ID、第二数据分区ID及第二集合ID;根据所述第二数据源ID确定第二数
据源、根据所述第二数据分区ID确定第二数据分区、根据所述第二集合ID确
定所述第二集合;将所述第二数据源下的第二数据分区下的第二集合确定为所
述上传文件的存储地址。
8.一种基于非关系型数据库NOSQL的文件存储装置,其特征在于,所述

\t装置包括:文件接收模块、URI确定模块、存储地址确定模块和存储模块;其
中,
所述文件接收模块,用于在对用户鉴权成功的情况下,接收用户上传文件;
所述URI确定模块,用于根据预设规则确定所述上传文件的统一资源标识
符URI;
所述存储地址确定模块,用于根据所述URI确定所述上传文件的存储地址;
所述存储模块,用于将所述上传文件存储至所述存储地址。

【专利技术属性】
技术研发人员:刘刚
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1