技术领域
[0001] 本发明涉及数据处理技术领域,具体为一种基于开源技术的自动化数据库。
相关背景技术
[0002] 网站的访问量是指访问一个网站的用户数量以及用户所浏览网页数量指标,随着网络时代的快速发展,大数据出现爆炸式增长,使得网站的用户数量、网页浏览的数量逐渐增多,为了应对访问量的突然增大,以及对于一些场景下的高访问量对数据库造成压力,通常的解决办法是人工来对资源进行扩展,当访问量降低后进行资源回收也需要人工来调整,但是人工调整会浪费巨大的人力和时间成本,并且人工调整的时效性较差,无法在访问量剧增的时候及时进行扩容。
[0003] 主要有以下两种情形会导致访问量的增多:
[0004] 1、一种是无规律的业务量波动:当某个服务应用做出了活动法制访问量急剧上升,活动结束后访问量逐渐降低,由于活动导致的业务量出现无规律波动,导致访问量徒增和回落的时间难以预测,所以通过手动调整数据库很难做到及时性,且调整的数量也不确定;
[0005] 2、另一种是有规律的业务量波动:在财务类软件中,每个月的月底或月初是使用频率最高时期,在高频使用时访问量的剧增,其他时间访问量并不很大,若每次在月初或者月末手动调整数据库是耗费人力以及时间的成本。
具体实施方式
[0028] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0029] 同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0030] 以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
[0031] 对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0032] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0033] 本申请实施例可以应用于计算机系统/服务器,其可与众多其他通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
[0034] 计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
[0035] 实施例
[0036] 本发明提供一种技术方案:一种基于开源技术的自动化数据库,包括中央控制模块、自动化监控模块、数据库指标判断模块、自动化计算扩容模块、应用程序模块、资源回收模块,中央控制模块用于控制数据库的核心,既能对自动化计算扩容模块发出指令,又能调控连接其它模块进行控制,自动化监控模块是接收中央控制模块上的指令完成任务,其包括数据采集单元、数据处理单元、数据监控显示单元,数据库指标判断模块是对数据库的性能指标通过概率模型进行判断处理,决定是否需要扩容,当超过预设概率时,将指令传输至自动化计算扩容模块,当低于超出预设概率时,将指令传输至资源回收模块,自动化计算扩容模是通过docker创建规划对现有的资源以及现有的数据进行重新计算分配,选择最优扩容方案,应用程序模块是基于自动化计算扩容模块分配好的方案,动态改变路由,资源回收模块是基于数据库适应指标判断模块上的指标低于预定值后对应用程序恢复初始状态。
[0037] 本实施例中,需要具体说明的是中央控制模块包括数据指令处理、信息储存、I/O接口控制、电源单元,数据指令处理是指对数据库中的数据进行操作指令,数据处理指令有数据传输指令、算术逻辑运算指令、比较指令,主要用于储存器与寄存器之间的数据进行双向传输,信息储存是指对数据库的计算数据、更新数据、插入数据、删除数据或操作数据其他功能,对于信息储存的方法很多,其中包括非关系型数据库存储,对爬虫的数据存储来说,一条数据存在某些字段提取失败而缺失的情况,数据随时调整,且数据之间存在嵌套关系,通过非关系型数据库的存储,让数据库简单高效,I/O接口控制是指在内部数据库与外部数据库或其他周边设备之间的输入和输出,电源单元是为了中央控制模块、自动化监控模块以及其他模块提供不间断连续电源,确保整个系统中的每个设备正常运行。
[0038] 本实施例中,需要具体说明的是自动化监控模块包括数据采集单元、数据处理单元、据处理单元,数据采集单元是通过多源数据采集在保证数据的质量的同时收集尽可能多的数据维度,多源数据主要通过开放数据源、爬虫抓取、日志采集以及传感器采集的方式,对数据自动预警与智能报错,其中重点说明的是爬虫抓取是针对特定的网址或者APP中抓取网站的数据,在Python爬虫的三个过程:一是使用Requests爬取内容;二是使用XPath解析内容;XPath解析通过元素和属性进行位置索引;三是使用Pandas保存数据,数据监控显示单元是指通过用户利用人机交互单元通过手机、PC以及其他监控设备对数据库实时监控,其具体方式如下:
[0039] S1、在数据库安装目录打开数据库配置文件my.ini;
[0040] S2、在数据库的最后一行添加log=log.txt代码;
[0041] S3、重启mysql数据库;
[0042] S4、去数据库数据目录;
[0043] S5、对数据库操作;
[0044] S5、查看log.txt文件内容。
[0045] 其中需要具体说明的是在数据库中发现有变化说明监控到mysql数据库的变化,数据库的查询、删除、更新、插入都可以查到,本实施例不做具体限定。
[0046] 本实施例中,需要具体说明的是数据库指标判断模块是对数据库的性能指标通过概率模型进行判断处理,决定是否需要扩容,当超过预设概率时,将指令传输至自动化计算扩容模块,当低于超出预设概率时,将指令传输至资源回收模块,数据库指标模块包括事务单元、查询性能单元、用户和查询冲突单元、容量单元以及其他配置单元,事务单元是指观察真实用户的行为,在应用程序模块交互时捕捉实时性能,获取整个食物的响应时间和组成事务的各个部分的响应时间做对比来确认当前食物是否处于正常状态;查询性能单元是指通过查询中排查选择是否多冗余数据、表之间是否低效连接、索引过多或过少引起的查询问题;容量单元的性能指标包括CPU分担服务器是否负载、IOPS是否不足以及配置是否得到的磁盘来判断,本实施例不做具体限定。
[0047] 本实施例中,需要具体说明的是自动化计算扩容模块是通过docker创建规划对数据库镜像创建,具体步骤如下:
[0048] S1、首先在某网站中拉取mysql数据库并安装;
[0049] S2、通过使用root用户创建一个mysql数据库;
[0050] S3、数据库创建完成后可通过命令查看状态:docker ps–查看docker起了哪些进程;docker stop fusion–停止mysql数据库;docker start fusion–启动mysql数据库。
[0051] 本实施例中,需要具体说明的是应用程序模块是指在使用数据库时通过程序将数据移入或移出,应用程序连接到数据库并发出请求:“获取此数据并将其存储在指定位置”,另一个应用程序发出请求:“查找指定的数据并将其提供给我”,与数据库交互的应用程序当用户与Web页面交互时运行,如当用户在填写Web表单后点击提交按钮时,程序处理表单中的信息并将其存储在数据库中。
[0052] 本实施例中,需要具体说明的是资源回收模块是对数据库在资源充足的情况下实现自动回收,对于资源回收模块中文件的清理为周期性扫描与被动态型任务并存,即在周期性扫描的同时按照阈值的方式进行清理,例如在阈值超过75%时启动自动清理任务,在资源回收模块中按照空间大小和变更时间进行综合计算得到相应的处理方式,本实施例不作具体限定。
[0053] 一种基于开源技术的自动化数据库的管理方法,具体如下:
[0054] 101、首先中央控制模块控制数据库,对自动化计算扩容模块发出指令,又能调控连接其它模块进行控制,接着自动化监控模块接收中央控制模块上的指令通过数据采集单元、数据处理单元、数据监控显示单元完成任务;
[0055] 102、接着数据库指标判断模块对数据库的性能指标通过概率模型进行判断处理,决定是否需要扩容,当超过预设概率时,将指令传输至自动化计算扩容模块,当低于超出预设概率时,将指令传输至资源回收模块;
[0056] 103、然后自动化计算扩容模对数据库利用docker创建规划对现有的资源以及现有的数据进行重新计算分配,选择最优扩容方案,接着应用程序模块是基于自动化计算扩容模块分配好的方案,动态改变路由;
[0057] 104、最后资源回收模块在基于数据库适应指标判断模块上的指标低于预定值后对应用程序恢复初始状态。
[0058] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。