基于Kubernetes的海量网络数据存储方法研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:mao_320
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:针对传统的集中式网络数据存储方式存储数据效率低的问题,研究了基于Kubernetes的海量网络数据存储方法。对海量网络数据动态合并处理后,设计Kubernetes集群并部署外部上传端与Kubernetes服务的访问过程,从而实现对海量数据的存储。对比实验结果显示,该存储方法相比能够减少约62%的运算内存占用,并且存储操作速度快,更能满足实际需求。
  关键词:Kubernetes;海量数据;网络数据;数据存储
  中图分类号:TP392      文献标识码:A
  文章编号:1009-3044(2021)27-0028-02
  Kubernetes是用于管理云平台中多个主机上的容器应用部署方式[1]。相比于传统系统绑定并通过插件、脚本或者沉重的虚拟机来安装应用的应用部署方式,Kubernetes可以通过部署互相隔离的存储容器的方式,在避免不同数据进程互相干扰的同时,还能利用容器各自的文件系统有效区分计算资源。将Kubernetes应用于网络海量数据存储中,能够改善集中式数据存储方法并发率低的问题。因此,本文将研究基于Kubernetes的海量网络数据存储方法,并对该方法的可行性进行验证。
  1 基于Kubernetes的海量网络数据存储方法研究
  1.1 海量网络数据动态合并处理
  网络海量数据因网络的互联互通特殊性,网络中的数据大多存在一定的相关性。为节省数据存储过程中占用的内容,需要对网络海量数据进行动态合并处理。在本研究中,使用子集检测的频繁项挖掘算法,找出存在关联关系的网络数据,从而实现网络海量数据的动态合并,提高网络海量数据的访问速度,减少数据存储过程中的输入输出次数[2]。
  网络海量数据不仅数据量大,而且数据更新累加速度极快,为提高数据的存储效率采用并行化算法实现海量网络数据动态合并处理,具体处理步骤如下:
  1)统计在某一时间段T内,需要存储的网络海量数据个数。找到该时间段内数据个数的最大值K,并设定该值为需要动态合并的数据数量。
  2)扫描网络数据记录日志,得到数据对应的IP地址、时间、数据量等信息,并建立对应时间段的网络数据子集。
  3)统计输出所有时间段的网络数据子集的数量。如果时间段的网络数据子集的个数大于设定的阈值,并且子集项在大于K的子集项中没有出现过,将所有子集输出。
  对于大小为K的网络数据子集,将子集中的前K项初始化为1,后N-K项初始化为0。按顺序扫描子集中所有元素,将排序为“10”交换为“01”。判断在所有时间段的网络数据子集中,k个标记为“1”的元素全部移动到子集序列的最右端,则停止处理。对每一组的网络数据进行分片,以逗号分隔元素,獲取所有大小为K的网络数据子集,并且输出[3]。重复上述过程直至将所有时间段的网络数据子集都完成动态合并。海量网络数据动态合并后,设计部署数据存储容器的Kubernetes集群。
  1.2 Kubernetes 集群设计
  根据Kubernetes的理论,若存储大量的网络数据,需要设计集群,通过对Kubernetes集群的部署,保持网络数据状态信息的同时,避免单存储点方式故障造成的数据存储停滞。
  在Kubernetes集群中,利用分布式键值数据库Etcd组件保存Kubernetes集群上的应用信息、配置参数以及管理存储对象的时间状态信息。在对多个Etcd组件部署时,利用Raft算法产生分布式键值数据库Etcd组件的Leader节点处理所有组件对数据的管理操作信息提交。若Etcd组件的Leader节点失效,Kubernetes集群集群会自动重新选举Leader节点从而保障Etcd数据存储服务不受故障影响,实现高可用的目的[4]。根据Raft算法的处理原理,选举的Leader节点通常为奇数节点,因此按照以下具体过程对Etcd集群部署:
  1)在Kubernetes集群中下载和分发分布式键值数据库Etcd组件安装文件。
  2)创建Etcd组件各节点的TLS证书,证书用于加密数据上传与Etcd集群和Etcd集群间的通信。
  3)创建分发分布式键值数据库Etcd组件的systemd unit文件,并根据数据存储目标配置Etcd组件的服务参数。
  4)检查Kubernetes集群工作状态。
  在Kubernetes集群部署过程中,分发分布式键值数据库Etcd组件集群确保了与Kubernetes集群部署运行相关操作信息数据的可靠存储。而利用Kubernetes集群中的 Master节点可以为接入集群的上传设备提供集群入口和所有资源管理接口的API Server、管理集群资源的Controller Manager、负责集群调度的Schedule三个重要组件。为满足网络海量数据存储时,Kubernetes集群的部署需求,以及保证各个组件不会因单独的故障而影响集群的稳定运行,采用分别在多个集群Master节点上部署操作副本即可[5]。与Etcd组件各节点相类似,通过竞争选举机制产生leader节点,当leader节点不可用后,剩余Master节点再次进行选举,从而产生新的leader节点从而保证kubernetes集群服务的可用性。
  1.3 实现海量数据存储
  采用Kubernetes集群对网络海量数据进行存储容器部署时,由于Kubernetes集群中的应用服务无法直接对外服务,因此,为保证网络海量数据能正常接入Kubernetes集群,需对Kubernetes集群由内部向外部服务接口暴露出来,从而实现网络数据的访问存储。
  考虑到接入网络海量数据的服务数量较多,采用Ingress方式设计Kubernetes集群设计网络外端口访问。Ingress可以通过定义了外部URL请求到内部服务的转发规则,具体转发实现由Ingress Controller完成将对外界服务请求的响应转换为Kubernetes集群内部服务。   外界网络数据上传端口接入Kubernetes集群后,按照数据缓存方案实现对海量网络数据的存储。根据Kubernetes集群内部向外部服务响应规律,将网络数据上传到Kubestorage集群的过程为:Kubestorage集群接收网络数据上传端口的数据上传请求后,向Kubestorage集群的Leader节点发送一个反向代理请求;Leader节点将会核对部署好的数据存储数据库,以确保物理卷数量足够,然后创建对应的数据存放区块;同时将待存储网络数据的详细存储请求发送到指定的存储服务器,并生成对应数据索引链接以便后续访问;存储数据的读取,则按照上述过程的逆向处理流程实现。至此,完成了对基于Kubernetes的海量网络数据存储方法的研究
  2 实验验证
  2.1 实验内容
  为避免实验过程中,实验环境、实验测试工具等对实验测试结果造成干扰,本次实验形式采用对比实验的形式。将传统的集中式数据存储方法作为对比组与作为实验组的本文研究的基于Kubernetes的数据存储方法相比较。考虑到海量网络数据存储过程中最重要的性能衡量指标,本次对比实验选用存储过程的内存开销、读取写入海量网络数据的时间消耗两个指标进行对比。通过在实验过程中对以上两个指标数据的记录、统计、处理分析,得出最终的实验结论。
  2.2 实验数据及环境
  本次实验在配置完全相同的两计算机上开展,计算机的具体配置为:8核3.40GHz的Intel(R) Core(TM)i7-3580CPU,其运行基本内存为32G,固态硬盘存储空间为200G;计算机搭载64位Linux系统Fedora release 14内核版本操作系统。
  实验数据为使用网络爬虫程序从互联网上爬取的5000万条网络数据。将数据按照数据量的大小分为若干组,分别在实验组和对比组数据存储方法的处理下,进行存储写入。
  2.3 实验结果及分析
  实验组和对比组网络数据存储方法对不同数量网络数据进行存储时,对应内存开销、读取写入海量网络数据的时间消耗两个指标的实验数据如以下两表所示。对表中的数据进行分析,得出实验结论。
  分析以上表1中的数据可知,在对不同数据量数据进行存储的读取写入操作时,随着数据量的增加,对比组方法在读取和写入数据时对计算机运行内存的占用增幅比越来越大;而实验组方法在读取和写入数据时对计算机运行内存的占用增幅比例相对较小,并保持一定范围内的不变。在本次实验中,实验组相比对比组对内容的消耗占比减少了约62.9%,即本文方法进行存储时对内存资源的占用更少。
  分析表2中的数据,对于不同数据量的网络数据进行读取和写入操作时,实验组方法需要的时间都明显少于对比组方法。而且待存储操作的数据量越大,两组方法之间操作耗时的差距就越大。综上所述,本文研究的基于Kubernetes的海量网络数据存储方法具有更低的内存占用比、并且对网络数据进行存储操作的速度快、效率高。
  3 结束语
  网络数据量随着网络用户的增长、网络应用的不断更新而快速积累,海量的网络数据中包含着大量有效信息,而对网络海量数据的有效存储,是保障数据可利用的前提。本文研究的基于Kubernetes的海量网络数据存储方法,通过与传统方法的对比实验,验证了本文提出方法的可靠性与有效性。在今后的研究中,要进一步对不同实际使用环境,对存储方法的灵活性进行调整。
  参考文献:
  [1] 李俊磊.基于区块链技术的网络数据自动存储安全性研究[J].自动化与仪器仪表,2020(11):26-29.
  [2] 王淵.云计算环境下船舶移动网络大数据的有效存储方法[J].舰船科学技术,2020,42(22):154-156.
  [3] 高尚建,魏国,杨功.基于海量数据优化管理的分布式文件存储系统应用研究[J].科技创新与应用,2020(18):181-182.
  [4] 杨昌群,蔡其星,汪涛,等.运用于Kubernetes实现的弹性时序数据存储[J].工业控制计算机,2019,32(12):115-118,121.
  [5] 刘福鑫,李劲巍,王熠弘,等.基于Kubernetes的云原生海量数据存储系统设计与实现[J].计算机应用,2020,40(2):547-552.
  【通联编辑:张薇】
其他文献
摘要:校园网在高职院校中的功能日益凸显,但网络安全问题也随之而来,如黑客入侵、数据破坏、密码失窃等,这些将严重影响到校园网的正常机能,应用数据加密技术,将有效提升校园网络的安全性和可靠性。文中简要介绍了数据加密技术,同时,对校园网安全问题进行了分析,最后阐述了数据加密技术在校园网安全中的应用,提出身份认证技术、链路加密技术和网络数据库加密技术三种加密技术来提升校园网络的安全性。  关键词:数据加密
在高等教育体系中,图书馆是学校师生获取知识的重要途径之一,因此高校应该充分重视图书馆的信息服务品质.特别是在当前大数据时代背景下,高校图书馆也应该充分立足于现代信息技术,实现个性化信息服务体系的创新建设.该文先阐述了高校图书馆个性化信息服务建设的重要意义,在明确信息服务体系开展现状的基础上,最后从强化图书馆数据库建设水平、提供多元化的信息服务内容、积极创新图书馆管理方式、不断完善信息安全保护体系等四个方面,探讨了图书馆个性化信息服务的开展策略.
摘要:计算机的广泛应用,尤其是基于网络环境的发展,需要重视风险防范,避免涉密信息泄露造成的不良影响。本论文通过分析计算机网络的泄密原因,制定相应的应对策略,能够提高计算机信息交互的安全性,保护涉密信息。  关键词:计算机技术;涉密信息;网络环境;保护  中图分类号:TP393 文献标识码:A  文章编号:1009-3044(2021)27-0057-02  利用计算机技术对于网络信息的保护,可
摘要:在新时期的社会发展进程中,我国每个领域的发展都积极渗透了信息技术,为经济活动的顺利开展提供了重要的基础保障和支持,也为我国各个领域的转型和升级奠定了坚实的基础。但是在大数据信息环境下,信息安全问题凸显,在一定程度上影响了档案机密以及文件资源管理,这就需要得到相关人员的重视和强化,推动大数据信息安全管理进程。所以,该文在研究过程中主要针对大数据信息安全风险框架进行了深入探讨和分析,并且依照大数
摘要:在某炼化生产企业中,产品、原材料、包装以及包装容器等的质量检验单是进出厂、出入库、销售、结算等的重要凭证,基于实验室信息管理模块(LIMS),通过数据集成实现了产品、原材料、包装以及包装容器等质量检验单PDF格式生成及WEB查询,满足了销售公司对生产企业炼油及化工产品质检单的查询需求,又满足了公司内部各部门、各业务环节对多种类型质检单信息共享的需求。  关键词:质量信息;数据集成;WEB查询
摘要:“择业难”“就业难”已是大学生面临的两难问题。该文基于网络校园招聘,利用Python和SPSS工具需求视角分析就业现状。研究表明,热门职位集中在计算机、互联网,主要分布在北上广深城市,但“新一线”需求比例在上升,并且私营企业占比最大。另外,企业更看重大学生的基础能力、工作态度和品质。该研究为大学生就业、择业提供参考和借鉴。  关键词:就业指导;大学生招聘;数据挖掘;Python  中图分类号
摘要:随着计算机的迅速发展,计算机网络信息也越来越多,同时也存在着一定的安全问题。现如今,虚拟专用网络技术的应用能够保证计算机网络信息的安全,推动计算机的发展。该文从虚拟专用网络技术的分析、特征和对计算机网络信息安全的应用进行了分析,着重阐述和探讨了虚拟专用网络技术在计算机网络信息安全中的应用。  关键词:虚拟专用网络;网络信息安全;网络应用  中图分类号:TP393 文献标识码:A  文章
伴随着信息技术的飞速发展,城市越来越智能化.万物互联,不同的传感器随时产生着大量的数据,这些数据广泛地应用于后续的数据挖掘、机器学习等领域.然而在数据收集过程中无法避免数据的缺失.文中介绍了当前缺失数据恢复领域面临的问题和挑战,阐述了缺失数据定义及缺失数据分类机制,针对上述两类缺失值处理方法进行传统方法的总结,最后探究深度学习如DBN(深度置信网络)、GAN(生成式对抗网络)在缺失数据恢复领域的新进展.