一种基于Cassandra数据库的文件存储、检索方法及装置制造方法及图纸

技术编号:35835058 阅读:17 留言:0更新日期:2022-12-03 14:05
本申请涉及一种基于Cassandra数据库的文件存储、检索方法及装置,其中,该一种基于Cassandra数据库的文件存储方法包括:创建Cassandra数据库的数据表;接收客户端上传的文件,根据文件的大小将文件分成若干个数据块,并对若干个数据块进行编号;确定文件在数据表中的组合主键,组合主键包括分区键和集群键,集群键根据数据块的编号确定,同一个文件的分区键相同;根据组合主键,将文件存入Cassandra数据库,解决了现有技术中不能满足把大文件分割后的不同部分存储到相同的节点,导致文件数据的检索效率低的问题,实现了相同文件的数据即使被分割,也总是存放在相同节点上,在客户需要检索数据时,加快了数据检索的速度的效果。速度的效果。速度的效果。

【技术实现步骤摘要】
一种基于Cassandra数据库的文件存储、检索方法及装置


[0001]本专利技术属于数据存储
,具体是涉及一种基于Cassandra数据库的文件存储、检索方法及装置。

技术介绍

[0002]在安全监测中会发现安全事件、安全威胁,发现这些威胁后需要进行处理。目前的处理方式是通过发起通报流程,在通报流程的处理中,会涉及到业务文件的上传。这样的业务文件主要包括,业务流程发起时、处理中,甚至包括业务流程的整个过程中后台服务器的日志文件。在一次对通报流程的问题排查中,由于服务器的日志文件只保存六个月,但是通报流程的完结日期是在六个月之前。由于流程状态主表和操作记录表存在不一致的情况,想排查是否存在逻辑漏洞。确认不存在逻辑漏洞后,想查看通报流程的过程中日志的打印记录,以确保流程符合是逻辑,但是服务器的日志文件只保存近六个月,就导致了此类问题无从查起,所以日志文件也要作为归档文件,需要长久的保存,以确保在需要的时候可以找到该类文件。
[0003]根据上述的问题,通常的业务流程中的业务文件和流程进行中的日志文件都需要进行归档处理,需要进行长久的保存。单独的业务文件存储使用单台服务器可以满足在不需要冗余备份的情况下,日志文件的增长非常迅速,使用单台的服务器是肯定无法满足的,这个时候就需要一种分布式的文件存储方案。
[0004]而现有技术主要使用hdfs(Hadoop Distributed File System,分布式文件存储系统)进行文件数据的存储,hdfs在遇到大文件分割后存储节点的问题时,内置的文件存储策略不能满足把大文件分割后的不同部分存储到相同的节点,导致文件数据的检索效率低,而且hdfs使用的是master

follower即主节点+从节点的存储模式,一旦主节点宕机会造成整个集群的不可用。
[0005]针对相关技术中存在使用hdfs进行文件数据的存储时,文件数据的检索效率低的问题,目前还没有提出有效的解决方案。

技术实现思路

[0006]在本实施例中提供了一种基于Cassandra数据库的文件存储、检索方法及装置,以解决相关技术中存在使用hdfs进行文件数据的存储时,文件数据的检索效率低的问题。
[0007]第一个方面,在本实施例中提供了一种基于Cassandra数据库的文件存储方法,所述方法包括:
[0008]创建所述Cassandra数据库的数据表;
[0009]接收客户端上传的文件,根据所述文件的大小将所述文件分成若干个数据块,并对所述若干个数据块进行编号;
[0010]确定所述文件在所述数据表中的组合主键,所述组合主键包括分区键和集群键,所述集群键根据所述数据块的编号确定,同一个所述文件的分区键相同;
[0011]根据所述组合主键,将所述文件存入所述Cassandra数据库。
[0012]在其中的一些实施例中,所述根据所述文件的大小将所述文件分成若干个数据块包括:
[0013]判定所述文件大小是否大于设定阈值,若是,将所述文件根据所述设定阈值分割成若干个所述数据块。
[0014]在其中的一些实施例中,在所述根据所述文件的大小将所述文件分成若干个数据块之前还包括:
[0015]判断所述文件是否需要进行预处理,若是,则对所述文件进行预处理,所述预处理包括压缩和/或加密。
[0016]第二个方面,在本实施例中提供了一种基于Cassandra数据库的文件检索方法,所述文件为根据第一方面所述的基于Cassandra数据库的文件存储方法存入所述Cassandra数据库的文件,所述方法包括:
[0017]获取客户端文件检索请求,确定所述文件检索类型,所述文件检索类型包括文件元数据和文件内容;
[0018]当所述文件检索类型为所述文件元数据时,根据所述文件的分区键在所述Cassandra数据库进行检索,并返回检索结果;
[0019]当所述文件检索类型为所述文件内容时,根据所述的分区键在所述Cassandra数据库中进行检索,若仅检索到一条所述文件内容时,则返回所述文件内容;若检索到多条所述文件内容时,则对多条所述文件内容进行合并,并返回合并后的所述文件内容。
[0020]在其中的一些实施例中,当所述文件检索类型为所述文件内容时,所述方法还包括:
[0021]判断所述文件内容是否经过预处理,若所述文件内容经过预处理,则对所述文件内容进行逆序操作,所述逆序操作包括解压缩和/或解密。
[0022]第三个方面,在本实施例中提供了文件存储的装置,所述装置包括:
[0023]创建模块,用于创建Cassandra数据库的数据表;
[0024]接收模块,用于接收客户端上传的文件,根据所述文件的大小将所述文件分成若干个数据块,并对所述若干个数据块进行编号;
[0025]确定模块,用于确定所述文件在所述数据表中的组合主键,所述组合主键包括分区键和集群键,所述集群键根据所述数据块的编号确定,同一个所述文件的分区键相同;
[0026]存储模块,用于根据所述组合主键,将所述文件存入所述Cassandra数据库。
[0027]在其中的一些实施例中,所述接收模块,还用于判定所述文件大小是否大于设定阈值,若是,将所述文件根据所述设定阈值分割成多个所述数据块。
[0028]第四个方面,在本实施例中提供了一种文件检索的装置,所述装置包括:
[0029]获取模块,用于获取客户端文件检索请求,确定所述文件检索类型,所述文件检索类型包括文件元数据和文件内容;
[0030]检索模块,用于当所述文件检索类型为所述文件元数据时,根据所述文件的分区键在Cassandra数据库进行检索,返回检索结果;
[0031]以及用于当所述文件检索类型为所述文件内容时,根据所述的分区键在所述Cassandra数据库中进行检索,若仅检索到一条所述文件内容时,则返回所述文件内容;若
等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
[0046]在本实施例中提供的方法实施例可以在终端、计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Cassandra数据库的文件存储方法,其特征在于,所述方法包括:创建所述Cassandra数据库的数据表;接收客户端上传的文件,根据所述文件的大小将所述文件分成若干个数据块,并对所述若干个数据块进行编号;确定所述文件在所述数据表中的组合主键,所述组合主键包括分区键和集群键,所述集群键根据所述数据块的编号确定,同一个所述文件的分区键相同;根据所述组合主键,将所述文件存入所述Cassandra数据库。2.根据权利要求1所述的基于Cassandra数据库的文件存储方法,其特征在于,所述根据所述文件的大小将所述文件分成若干个数据块包括:判定所述文件大小是否大于设定阈值,若是,将所述文件根据所述设定阈值分割成若干个所述数据块。3.根据权利要求1所述的基于Cassandra数据库的文件存储方法,其特征在于,在所述根据所述文件的大小将所述文件分成若干个数据块之前还包括:判断所述文件是否需要进行预处理,若是,则对所述文件进行预处理,所述预处理包括压缩和/或加密。4.一种基于Cassandra数据库的文件检索方法,所述文件为根据权利要求1至权利要求3中任一项所述的基于Cassandra数据库的文件存储方法存入所述Cassandra数据库的文件,其特征在于,所述方法包括:获取客户端文件检索请求,确定所述文件检索类型,所述文件检索类型包括文件元数据和文件内容;当所述文件检索类型为所述文件元数据时,根据所述文件的分区键在所述Cassandra数据库进行检索,并返回检索结果;当所述文件检索类型为所述文件内容时,根据所述的分区键在所述Cassandra数据库中进行检索,若仅检索到一条所述文件内容时,则返回所述文件内容;若检索到多条所述文件内容时,则对多条所述文件内容进行合并,并返回合并后的所述文件内容。5.根据权利要求4所述的基于Cassandra数据库的文件检索方法,其特征在于,当所述文件检索类型为所述文件内容时,所述方法还包括:判断所述文件内容是否经过预处理,若所述文件内容经过预处理,则对所述文件内容进行逆序操作,所述逆序操作包括解压缩和/或...

【专利技术属性】
技术研发人员:刘凯吴卓群
申请(专利权)人:杭州安恒信息技术股份有限公司
类型:发明
国别省市:

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

1