博士学位论文的写作是博士研究生相对重要的一个工作,尤其是在毕业的时候要面临着考验,根据学校的要求来进行论文的写作,要注意整体的写作创新和写无忧论文网作规范,这对于学生来讲可能是相对比较困难的,建议要掌握一定的写作技巧,下面为大家介绍一下2021全国优秀博士学位论文写作技巧,希望能帮到大家。
一、2021全国优秀博士学位论文范文
题目:分布式数据库下AFTest的故障注入测试
摘要
分布式数据库对比集中式数据库有更高的可扩展性和性能。由于分布式数据库的复杂性,在实际应用过程中无法避免网络中断,丢包,节点宕机等软硬件故障。为了减轻故障问题对分布式数据库带来的影响,分布式数据库需要持续进行故障注入测试,即在系统正常运行过程中通过编码模拟主动触发故障问题,提高分布式数据库的可靠性以及验证系统内部容错机制的正确性。本文设计并实现了针对分布式数据库系统容错性问题的故障注入测试工具 AFTest。主要贡献为:
1. 轻量级的任务调度设计:同时支持手动提交测试案例和自动遍历已有情况下的事件组合情况。测试人员可以通过前端界面实时查询测试进度,历史记录以及被测试系统当前状态。后端任务调度程序能够定时生成测试案例并根据案例生成执行脚本,然后分配工作线程执行测试并记录相应的日志信息和测试过程中系统状态的变化。
2. 实现了一个故障注入框架:分析分布式数据库在现实应用过程中曾经出现的各类软硬件故障问题,通过编码模拟实现其中常见的多种软硬件故障问题以及 Cedar 特有的系统操作。模块化故障注入框架便于嵌入测试工具中使用。
3. 减少事件组合空间冗余问题:深度遍历所有故障组合事件,避免繁琐的测试案例编写,更高效快速地针对分布式数据库系统执行故障注入测试。通过减少状态空间的算法消除冗余测试案例,避免出现测试案例过于繁多的问题。
本文在开源的分布式数据库系统 Cedar 上进行了 AFTest 的故障注入测试。通过实验说明了 AFTest 的有效性,能够如实模拟各类分布式故障问题的发生。AFTest 在遍历所有事件组合情况下能够发现分布式数据库中潜在的复合型 bug,同时能减少冗余案例对测试过程的影响加快测试进度。
2021全国优秀博士学位论文
关键字:分布式数据库,故障注入测试,容错性,故障注入框架,数据库测试。
ABSTRACT
Distributed databases have higher scalability and performance than centralized databases. Due to the complexity of the distributed database, software and hardware failures such as network interruption, packet loss, and node downtime areunavoidable in the real world. The distributed databases should continue to perform fault injection testing, that is, proactive triggering of faults through coding simulation during normal system operation in order to reduce the loss caused by the failure problem to the distributed database, improve the reliability of the distributed database and verify the correctness of the fault tolerance protocol in the system. This thesis designs and implements a fault injection test toolAFTest for fault tolerance of distributed database systems. The main contributions are as follows:
1. Flexible task scheduling design: it supports manual submission of test cases and automatic traversal of existing event combinations at the same time.Testers can query the test progress, historyand real-time running status of thetested system in real time through the front-end interface. The back-end task scheduler can periodically generate test cases and generate execution scripts based on the cases, assign specified worker threads to execute the tests andrecordthe corresponding log information and system state changes during the test.
2. Implemented a fault injection framework: we first analyze the various types of software and hardware failure problems that have occurred in the distributed database in the actual application process. Then we implement a variety of software and hardware failure problems and Cedar's unique system operations through coding simulation.
3. Reduce state space explosion: we deeply traverse the combination of most fault events in order to avoid tedious test case writing and perform fault injection testing of distributed database systems more efficiently and quickly.
We then reduce redundant test cases through algorithms that reduce the state space to avoid problems with too many test cases.This dissertation conducted a fault injection test on the open source distributed database system Cedar with AFTest. This paper demonstrates the effectiveness of AFTest throughexperiments, whichcanrealisticallysimulate the occurrence ofvarious distributed fault problems. AFTest can find potential compound bugs in distributed databasesbytraversingallevent combinations, at thesametime it canreducetheimpact of redundant cases on the testing process and speed up the test progress.
Key words: Distributed Database, Fault Injection Testing, Fault Tolerance, Fault Injection Framework, Database Test。
第一章 绪论
1.1、 研究背景。
随着互联网技术发展至今,给用户带来极大便利的同时数据量也呈指数型递增,集中式数据库系统已经无法满足 TB 级增长的用户需求,更多用户选择了分布式数据库系统。分布式数据库系统的可扩展性能够通过大量廉价服务器提高性能,遍布各地的节点也能让用户访问更加快速,延迟更低,但也由于数据需要复制存储在多个节点中并在多个节点中执行事务操作,分布式数据库系统的复杂性远远超过了集中式数据库系统。即使存在诸如 Raft[1]、Paxos[2]等一致性协议确保数据一致性,副本备份[3][4]、领导者选举[5]、异地多活等容错性协议[6]确保分布式数据库系统理论上遇到故障时也能正常提供服务,但在实际应用过程中设计者难以实现完善的容错机制,不能完全保证分布式数据库系统的容错机制在真正发生