首页 > 代码库 > 让你提前认识软件开发(52):系统某模块工作原理详述

让你提前认识软件开发(52):系统某模块工作原理详述

第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,欢迎关注!)

让你提前认识软件开发(52):系统某模块工作原理详述