全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210820409.2 (22)申请日 2022.07.13 (71)申请人 华东师范大学 地址 200241 上海市闵行区东川路5 00号 (72)发明人 游舒泓 张蓉  (74)专利代理 机构 上海麦其知识产权代理事务 所(普通合伙) 31257 专利代理师 董红曼 (51)Int.Cl. G06F 9/50(2006.01) (54)发明名称 数据库外部运行环境动态模拟方法以及模 拟系统 (57)摘要 本发明公开了一种数据库外部运行环境动 态模拟方法, 包括如下步骤: 模拟各类外部运行 环境, 根据用户自定义的目标场景来生成指定类 型、 指定强度的资源模拟负载, 进而运行负载来 制造目标环境; 模拟外部运行环境的动态变化, 根据用户自定义的动态变化情况, 制造对应的动 态环境。 本发 明还公开了实现上述动态模拟方法 的系统, 包括客户端和服务器端; 所述客户端包 括控制器、 解析器、 负载生成器和测试报告生成 器; 所述服务器端包括动态变化控制器、 负载执 行器、 指标收集器、 目标服务器。 本发明所述方法 可从多维度模拟针对硬件资源以及针对数据库 软件资源的环 境负载, 达成对各类 资源消耗场景 的准确模拟, 可帮助评测数据库系统服务的可靠 性、 稳定性。 权利要求书2页 说明书12页 附图4页 CN 115309542 A 2022.11.08 CN 115309542 A 1.一种数据库外 部运行环境动态模拟方法, 其特 征在于, 包括如下步骤: 步骤一: 模拟各类外部运行环境, 根据用户自定义的目标场景来生成指定类型、 指定强 度的资源 模拟负载, 进而运行负载来制造目标环境; 步骤二: 模拟外部运行环境的动态变化, 根据用户自定义的动态变化情况, 制造对应的 动态环境。 2.如权利要求1所述的数据库外部运行环境动态模拟方法, 其特征在于, 步骤一中, 所 述模拟各类外 部运行环境包括: 模拟常规运行环境: 模拟无故障情况下, 运行环境中其他应用程序对系统软硬件资源 消耗的状态; 所述硬件资源 包括CPU、 内存、 磁 盘、 网络, 所述软件资源 包括进程; 模拟极端运行环境: 模拟运行环境中数据库所在机器的软硬件资源被占满、 甚至是破 坏的情况; 所述模拟占满和/或破坏的硬件资源包括CPU、 内存、 磁盘、 网络、 主机, 所述软件 资源包括数据文件、 进程、 数据库端口 的网络连接 。 3.如权利要求2所述的数据库外部运行环境动态模拟方法, 其特征在于, 模拟硬件资源 中, 模拟CPU占用的方法是分配与需要占用的CPU核数数量相等的单线程进程在while (true)的条件下 无限次地执 行赋值操作, 从而占用相应核数的CPU; 模拟内存占用的方法是创建tmp fs文件系统, 再往里写入磁盘容量大小$data_size的 数据, 以达 到占据内存的目的; 模拟磁盘占用的方法是将与需要占用的磁盘容量$data_size大小相等的数据写入到 文件系统中, 达 到占用磁 盘容量的目的; 模拟网络占用的方法是调用Linux的tc工具来实现对网络资源消耗和网络故障的模 拟; 模拟主机占用的方法包括通过强制执行关闭电源的命令, 模拟机器的 电源被破坏, 机 器内所有进程被迫终止运行 的情况; 通过执行正常关机的命令, 模拟机器被正常关机的情 况; 通过切断该机器的所有网络连接, 模拟机器失联的情况。 4.如权利要求所述的数据库外部运行环境动态模拟方法, 其特征在于, 模拟软件资源 中, 对数据文件的模拟包括通过输出随机字符改写数据文件模拟数据文件被恶意篡改; 通 过强制执 行系统的删除命令来删除用户指定的文件或文件夹, 模拟数据文件丢失; 对进程的模拟包括通过循环创建多个子进程, 模拟占用进程资源空间; 调用系统命令 来终止进程, 模拟 应用程序的进程被意外结束的情况; 通过不停执行进程炸弹, 模拟占满进 程的情况; 对数据库端口的网络连接的模拟包括调用tcpkill命令, 终止数据库端口对应的tcp连 接。 5.如权利要求1所述的数据库外部运行环境动态模拟方法, 其特征在于, 步骤二中, 所 述动态变化情况包括每种资源 模拟负载的强度变化和持续时间。 6.一种数据库外部运行环境动态模拟系统, 用于实现如权利要求1 ‑5之任一项所述的 动态模拟方法, 其特征在于, 所述动态模拟系统包括客户端和服务器端两部 分; 所述客户端 包括控制器、 解析器、 负载生成器和测试报告生成器; 所述服务器端包括动态变化控制器、 负载执行器、 指标收集器、 目标服 务器。权 利 要 求 书 1/2 页 2 CN 115309542 A 27.根据权利要求6所述的数据库外部运行环境动态模拟系统, 其特征在于, 客户端中, 所述控制器用于从系统配置文件中识别出包括当前的环境模拟任务、 要 执行负载的目标数 据库、 测试报告存储目录在内的信息, 进而依次启动解析器; 并统计环境模拟任务的运行成 功、 失败情况; 在每 轮模拟结束后, 调用测试报告生成器来自动生成测试报告; 所述解析器利用定义的环境负载书写的语法规则, 从测试案例文件中解析出包括每个 负载模拟任务和要执行负载的目标机器在内的信息; 然后运用Java的反射机制, 将负载模 拟任务映射到实现了具体功能的Java类中; 所述负载生成器用于按照 解析器发送的负载模拟任务生成环境负载, 然后将环境负载 发送给服 务器端的动态变化控制器; 所述测试报告生成器用于自动输出包括环境因素以及数据库系统性能信息的测试报 告。 8.根据权利要求7所述的数据库外部运行环境动态模拟系统, 其特征在于, 所述负载生 成器生成负载的类型包括: 模拟常规运行环境: 模拟消耗包括CPU、 内存、 磁盘、 网络在内的硬件资源, 以及包括进 程在内的软件资源; 模拟极端运行环境: 模拟占满和/或破坏包括CPU、 内存、 磁盘、 网络、 主机在内的硬件资 源, 以及包括数据文件、 进程、 数据库端口 的网络连接在内的软件资源。 9.根据权利要求6所述的数据库外部运行环境动态模拟系统, 其特征在于, 服务器端 中, 所述动态变化控制 器用于调用负载执行器对数据库所在的机器执行环境负载, 并控制 环境负载的强度和执 行时长; 所述负载执行器对目标服务器执行环境负载; 包含常规环境负载执行器和极端环境负 载执行器; 所述常规环境负载执行器用于模拟无故障情况下, 系统环境中其他应用程序消 耗系统软硬件资源的状态; 所述极端环境负载执行器用于模拟运行环境中数据库所在机器 的软硬件资源被占满、 甚至是被破坏的极端情况; 所述目标服务器中有数据库DBMS和监控器; DBMS会在环境模拟期间执行用户指定的数 据库负载, 数据库性能的变化会体现环境变化时数据库服务的运行质量; 监控器会定时收 集模拟负载运行期间数据库的细粒度性能指标和系统资源使用情况; 所述指标收集器用于接收监控器返回的模拟负载运行期间数据库的细粒度性能指标 和系统资源使用情况, 并对收集到的性能指标做格式化和统计处理, 方便数据库评测人员 根据性能数据分析 数据库的运行情况。 10.如权利要求1 ‑5之任一项所述的动态模拟方法, 如权利要求6 ‑9之任一项所述的动 态模拟系统在数据库外 部运行环境动态模拟中的应用。权 利 要 求 书 2/2 页 3 CN 115309542 A 3

.PDF文档 专利 数据库外部运行环境动态模拟方法以及模拟系统

文档预览
中文文档 19 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 数据库外部运行环境动态模拟方法以及模拟系统 第 1 页 专利 数据库外部运行环境动态模拟方法以及模拟系统 第 2 页 专利 数据库外部运行环境动态模拟方法以及模拟系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:32:50上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。