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

文档序号:9887792阅读:299来源:国知局
一种基于非关系型数据库的文件存储方法和装置的制造方法
【技术领域】
[0001]本发明视频通信技术领域,具体涉及一种基于非关系型数据库的文件存储方法和
目.0
【背景技术】
[0002]随着个人终端和移动互联网的高速发展,各种文件,尤其是小文件在云存储系统内所占比例越来越高,海量的小文件的高效存储和归档成为迫切需要解决的问题。
[0003]通常所说的小文件是指大小从几KB到几百KB的文件,例如,微博需要存储海量的个人图片,或者搜索引擎从网络上抓取的上亿的网页。随着这些小文件的数量的不断增大,传统的文件存储方式已不能满足当前的需求,因此业界提出了多种面向半结构化和结构化数据的非关系型数据库(NoSQL)存储系统来存放小文件,如MongoDB、CouchDB、Cassandra、HBase等。单个NoSQL数据库或者数据库中的某个集合也可能受网络连接数、内存、存储容量大小及吞吐率等因素影响文件的访问和写入性能,一旦文件数量达到一定规模之后,文件的存储和检索效率急剧下降,导致系统执行缓慢。从而,亟需一种能够提高文件存取效率的解决方案。

【发明内容】

[0004]为了解决现有技术中对海量文件存储效率低下的问题,本发明实施例期望提供一种基于非关系型数据库的文件存储方法和装置。
[0005]本发明实施例提供了一种基于非关系型数据库的文件存储方法,包括:
[0006]在对用户鉴权成功的情况下,接收用户上传文件;
[0007]根据预设规则确定所述上传文件的统一资源标识符URI;
[0008]根据所述URI确定所述上传文件的存储地址;
[0009]将所述上传文件存储至所述存储地址。
[0010]优选地,所述对用户鉴权成功,包括:
[0011 ]接收用户发送的账户标识ID和账户密码;
[0012]验证所述账户ID是否合法;
[0013]当所述账户ID合法时,判断所述账户密码是否为所述账户ID所对应的密码;
[0014]当所述账户密码为所述账户ID所对应的密码时,确定所述用户鉴权成功。
[0015]优选地,所述对用户鉴权成功之前,所述方法还包括:
[0016]接收用户发送的账户信息,所述账户信息,包括:账户ID、账户密码及访问入口地址;
[0017]将接收到的账户信息设置为所述用户的账户信息;
[0018]所述根据预设规则确定所述上传文件的URI之前,所述方法还包括:
[0019]接收所述用户发送的配置信息,所述配置信息,包括:数据源访问配置信息、归档策略配置信息及文件路由配置信息;
[0020]将接收到的配置信息设置为所述用户的配置信息。
[0021 ]优选地,所述数据源访问配置信息,包括:数据源ID、数据源连接地址、数据源权限认证信息;
[0022]所述归档策略包括:按权重归档和按时间归档,其中,所述按时间归档包括:按小时归档、按天归档、按周归档、按月归档、按季度归档及按年归档;
[0023]当归档策略为按权重归档时,所述文件路由配置信息,包括一个或多个路由配置,其中,所述路由配置,包括:数据源ID、数据分区ID、所述路由配置的权重值、集合初始ID及集合分配数量;
[0024]当归档策略为按时间归档时,所述文件路由配置信息,包括一个或多个路由配置,其中,所述路由配置,包括:数据源ID、数据分区ID、开始时间、结束时间。
[0025]优选地,所述根据预设规则确定所述上传文件的URI,包括:
[0026]确定所述用户设置的访问入口、账户ID及归档策略;
[0027]确定所述上传文件的文件名;
[0028]当所述用户设置的归档策略为按权重归档时,按照以下方式确定所述上传文件的URI:
[0029]按权重比从多个权重大于O的路由配置中选取一个作为第一路由配置;
[0030]提取所述第一路由配置的数据源ID、数据分区ID、集合初始ID和集合分配数量;
[0031]将提取的所述第一路由配置数据源ID确定为第一数据源ID、将提取的所述第一路由配置的数据分区ID确定为第一数据分区ID;
[0032]根据所述第一路由配置的集合初始ID和集合分配数量确定与所述集合分配数量相同个数的集合ID;
[0033]从所述确定的集合ID中选取一个作为第一集合ID;
[0034]根据所述访问入口、账户ID、第一数据源ID、第一数据分区ID及第一集合ID按照以下格式生成所述上传文件的URI:
[0035]访问入口/账户ID/第一数据源ID/第一数据分区ID/第一集合ID/文件名。
[0036]优选地,所述根据预设规则确定所述上传文件的URI,还包括:
[0037]当所述用户设置的归档策略为按时间归档时,按照以下方式确定所述上传文件的URI:
[0038]确定当前时间;
[0039]根据归档方式对当前时间进行格式化生成格式化时间值;
[0040]在路由配置中确定开始时间小于等于所述格式化时间值、且结束时间大于等于所述格式化时间值的路由配置;
[0041]从所述确定的路由配置中选取一个作为第二路由配置;
[0042]提取所述第二路由配置的数据源ID、数据分区ID;
[0043]将所述提取的第二路由配置的数据源ID确定为第二数据源ID、将提取的第二路由配置的数据分区ID确定为第二数据分区ID;
[0044]根据所述格式化时间值确定第二集合ID;
[0045]根据所述访问入口、账户ID、第二数据源ID、第二数据分区ID及第二集合ID按照以下格式生成所述上传文件的URI:
[0046]访问入口/账户ID/第二数据源ID/第二数据分区ID/第二集合ID/文件名。
[0047]优选地,所述根据所述URI确定所述上传文件的存储地址,包括:
[0048]当所述用户设置的归档策略为按权重归档时,提取所述URI中的第一数据源ID、第一数据分区ID及第一集合ID;根据所述第一数据源ID确定第一数据源、根据所述第一数据分区ID确定第一数据分区、根据所述第一集合ID确定所述第一集合;将所述第一数据源下的第一数据分区下的第一集合确定为所述上传文件的存储地址;
[0049]当所述用户设置的归档策略为按时间归档时,提取所述URI中的第二数据源ID、第二数据分区ID及第二集合ID;根据所述第二数据源ID确定第二数据源、根据所述第二数据分区ID确定第二数据分区、根据所述第二集合ID确定所述第二集合;将所述第二数据源下的第二数据分区下的第二集合确定为所述上传文件的存储地址。
[0050]本发明实施例提供了一种基于非关系型数据库的文件存储装置,包括:文件接收模块、URI确定模块、存储地址确定模块和存储模块;其中,
[0051]所述文件接收模块,用于在对用户鉴权成功的情况下,接收用户上传文件;
[0052]所述URI确定模块,用于根据预设规则确定所述上传文件的统一资源标识符URI;
[0053]所述存储地址确定模块,用于根据所述URI确定所述上传文件的存储地址;
[0054]所述存储模块,用于将所述上传文件存储至所述存储地址。
[0055]优选地,所述装置还包括:鉴权模块,用于对用户鉴权;
[0056]所述鉴权模块,包括:
[0057]接收子模块,用于接收用户发送的账户标识ID和账户密码;
[0058]验证子模块,用于验证所述账户ID是否合法;
[0059]判断子模块,用于当所述账户ID合法时,判断所述账户密码是否为所述账户ID所对应的密码;
[0060]鉴权确定子模块,用于在所述账户密码为所述账户ID所对应的密码时,确定所述用户鉴权成功。
[0061 ]优选地,所述装置还包括:账户信息接收模块、配置信息接收模块及设置模块;其中,
[0062]所述账户信息接收模块,用于鉴权模块对用户鉴权成功之前,接收用户发送的账户信息,所述账户信息,包括:账户ID、账户密码及访问入口地址;
[0063]所述配置信息接收模块,用于在URI确定模块根据预设规则确定所述上传文件的URI之前,接收所述用户发送的配置信息,所述配置信息,包括:数据源访问配置信息、归档策略配置信息及文件路由配置信息;
[0064]所述设置模块,用于将接收到的账户信息设置为所述用户的账户信息;还用于将接收到的配置信息设置为所述用户的配置信息。
[0065]优选地,所述数据源访问配置信息,包括:数据源ID、数据源连接地址、数据源权限认证信息;
[0066]所述归档策略包括:按权重归档和按时间归档,其中,所述按时间归档包括:按小时归档、按天归档、按周归档、按月归档、按季度归档及按年归档;
[0067]当归档策略为按权重归档时,所述文件路由配置信息,包括一个或多个路由配置,其中,所述路由配置,包括:数据源ID、数据分区ID、所述路由配置的权重值、集合初始ID及集合分配数量;
[0068]当归档策略为按时间归档时,所述文件路由配置信息,包括一个或多个路由配置,其中,所述路由配置,包括:数据源ID、数据分区ID、开始时间、结束时间。
[0069]优选地,所述URI确定模块,包括:信息确定子模块、文件名确定子模块及URI确定子模块;其中,
[0070]所述信息确定子模块,用于确定所述用户设置的访问入口、账户ID及归档策略;[0071 ]所述文件名确定子模块,用于确定所述上传文件的文件名;
[0072]所述URI确定子模块,包括:路由配置确定单元、提取单元、确定单元、选择单元、URI生成单元;其中,
[0073]所述路由配置确定单元,用于当所述用户设置的归档策略为按权重归档时,按权重比从多个权重大于O的路由配置中选取一个作为第一路由配置;
[0074]所述提取单元,用于提
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1