Skip to content

Latest commit

 

History

History
48 lines (29 loc) · 4.52 KB

个人总结.md

File metadata and controls

48 lines (29 loc) · 4.52 KB

前言

​ 我是来自兰州大学兰心开源的王贤义,本篇博客我来对于我这三个月的工作做一个工作总结。我们战队一共有三位同学,我评注的代码是opengauss的opengauss-server\src\lib下的代码,我们三人分工明确,每人在自己擅长的领域进行了博客的撰写和代码的注释,下面我将针对我自己所做的工作进行总结,帮助评委老师可以更好的了解我所解析的内容以及注释的代码。欢迎各位同学及评委老师对于我们的注释批评指正!

个人工作概述

	我个人内容主要包括是报警管理、日志分析、控制组以及查询语句的构建等任务。对于报警管理,通过解析 `alarm_log.cpp` 和`alarm.cpp` 两个文件,分析介绍了操作系统对报警的各项操作,其中同时还包括将报警信息添加到日志文件中。在日志分析方面,通过深入分析`cm_elog`文件,详细的解释了opengauss数据库对日志的相关操作。在数据库管理中,控制组(cgroup)是一种用于限制、隔离和管理进程的重要机制。其允许将指定线程(任务)附加到适当的 cgroup,以确保线程的资源管理和隔离。这对于数据库管理等多租户或多工作负载环境非常关键,可以确保各个线程不会相互干扰,从而提高了系统的可靠性和性能。同时,通过分析`build_query` 文件,解析了其中包括构建查询语句的各个方法,其中包括内存分配和格式化输出等具体操作。

工作目录

下面我将向大家介绍我评注的部分代码。 1,alarm_log.cpp 和 alarm.cpp alarm.cpp 文件主要包含了报警的初始化、添加、删除、查询、修改等操作。alarm_log.cpp 文件主要包含了报警日志的初始化、添加、删除、查询、修改等操作。具体解析如下:

alarm模块解析/openGauss解读评注 (gitlink.org.cn)

alarm_log模块解析/openGauss解读评注 (gitlink.org.cn)

2,build_query.cpp 该模块主要起到查询语句的创建功能,其中包括构建查询语句的各个方法,同时包括内存分配和格式化输出等具体操作。具体解析如下:

build_query模块解析/openGauss解读评注 (gitlink.org.cn)

3,cm_cgruop.cpp 该文件主要功能是建立一个数据库管理模块,其中的控制组(cgroup)是一种用于限制、隔离和管理进程的重要机制。具体解析如下:

cm_cgroup模块解析/openGauss解读评注 (gitlink.org.cn)

4,cm_elog.cpp

该文件主要功能是定义了数据库中用于日志操作的各个功能,包括日志的建立,删除,修改等具体操作。

cm_elog 分析(1)/openGauss解读评注 (gitlink.org.cn)

cm_elog 分析(2)/openGauss解读评注 (gitlink.org.cn)

cm_elog 分析(3)/openGauss解读评注 (gitlink.org.cn)

cm_elog 分析(4)/openGauss解读评注 (gitlink.org.cn)

5,cm_stringinfo.cpp

该文件主要功能是定义了对特定的字符串结构进行操作的模块,其中包括字符串的格式化,占位以及追加等功能。具体解析如下:

cm_stringinfo函数解析(1)/openGauss解读评注 (gitlink.org.cn)

cm_stringinfo函数解析(2)/openGauss解读评注 (gitlink.org.cn)

个人总结

​ 这三个月我主要研究了opengauss-server\src\lib之中的代码,这让我收获颇多。通过仔细评注代码,深入思考每段代码的功能需求,仔细审查每个变量的来源,并不断回溯函数定义,我积极培养了对代码逻辑的思考能力。通过持续的学习和研究,我不仅提升了我的数据库技能,还加强了对代码思维的重视,强调了自我思考的重要性。

​ 总的来说,这次代码测评让我深刻理解了数据库的逻辑和思维过程。此外,撰写博客的过程也让我更加清晰地理解了openGauss的内部逻辑。这次比赛对我来说是一次丰富的学习经历,我从中受益匪浅。我鼓励大家关注我的博客以及我的团队成员的博客,期待各位提供宝贵的批评和建议!