第3部分 软件研发工作总结
系统某模块工作原理详述
【文章摘要】
某模块在系统中占有非常重要的地位,该模块能够对符合条件的动态信箱进行清理。本模块直接清理的信箱包括:过期动态信箱、冷冻信箱和空动态信箱;删除非动态信箱由本模块发送消息到其它模块完成。
本文对该模块的工作原理的详细介绍,为相关模块的开发和测试提供了有益的参考,同时也有利于现场人员对本模块进行维护。
【关键词】
系统 模块 数据库 流程
1. 本模块删除的信箱类型
本模块删除的信箱类型如图1所示:
图1 本模块删除的信箱类型
2. 本模块程序执行流程
本模块的主要程序流程如下:
2.1 程序执行总体流程
图2 程序执行总体流程
2.2 查询过期信箱流程
图3 查询过期信箱流程
说明:
(1) 本流程从数据库中查询出满足条件的过期信箱,包括动态信箱和非动态信箱。其中,动态信箱由本模块删除,非动态信箱由本模块发消息到其它模块进行删除。
(2) 过期信箱的保留天数是受系统参数控制的,这些参数的值可以手动配置。如果当前时间值与信箱的lastusetime字段值之差大于了对应系统参数的值,那么该信箱就要被扫描出来并被删除掉。
(3) 不管信箱是否为空(即信箱里面有无留言),只要是满足了过期删除的条件,都应该被删除掉。
2.3 查询冷冻信箱流程
图4 查询冷冻信箱流程
说明:
(1) 冷冻信箱是指状态值为某特定值的信箱,包括动态信箱和非动态信箱。动态信箱由本模块删除,非动态信箱由本模块发消息到其它模块进行删除。
(2) 冷冻信箱是否删除,是受某系统参数值控制的。如果当前时间值与信箱的某字段值之差大于了该系统参数的值,那么该信箱就要被扫描出来并被删除掉。
(3) 该流程与其它两个流程互不影响,即它们找出来的信箱没有重叠。
2.4 查询空动态信箱流程
图5 查询空动态信箱流程
说明:
(1) 空动态信箱指没有消息存在的动态信箱,即该信箱对应的留言表中内容为空。
(2) 在查找空动态信箱之前,要先判断删除空动态信箱标志是否被打开,即执行存储过程4查找系统表中某参数的值。如果该参数的值大于0,则表示删除空动态信箱标志被打开;如果该参数的值等于0,则表示删除空动态信箱标志被关闭。
(3) 在删除空动态信箱标志被打开的情况下,再执行存储过程5来查找空动态信箱。
(4) 该流程与查询过期信箱流程中找出来的信箱会有重叠。如果某一个信箱同时被以上两个流程找出来,那么只会向内存链表插入一次,即内存链表中的信箱号码不重复。
2.5 删除动态信箱流程
图6 删除动态信箱流程
说明:
(1) 前面流程找出的所有动态信箱,均在该流程中进行删除。
(2) 如果是过期动态信箱或冷冻信箱,那么直接调用存储过程6进行删除;如果是未过期的动态信箱,那么先要判断是否有留言,没有留言才会删除掉。
(3) 在删除信箱成功之后,要删除该信箱相关的其它信息。如果删除信箱失败,那么也要写失败日志。
3. 总结
在系统中,一个模块会完成很多的功能,只有对程序流程了然于心,在遇到问题的时候,才能够快速定位和排查。
本文对系统中某模块的工作原理进行了详细的介绍,旨在使与该模块有交互的接口开发人员能够明白本模块的运行原理,同时为测试部和现场客服的同事展开相关工作提供了参考。
(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)