DAMS v130 系统详细设计说明书_第1页
DAMS v130 系统详细设计说明书_第2页
DAMS v130 系统详细设计说明书_第3页
DAMS v130 系统详细设计说明书_第4页
DAMS v130 系统详细设计说明书_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——DAMSv130系统详细设计说明书系统详细设计说明书编号版本1.3.0详细设计说明书项目名称DAMS项目负责人编写年月校对年月审核年月批准年月日日日日

1

需求概述

随着互联网普及率的提高,网络逐渐成了人们日常生活中必不可少的一部分。互联网不仅可以让人与人之间的沟通更加快速与便捷,更重要的是,它为人类提供了一种全新的了解世界的模式。通过互联网,即使足不出户,你也能了解到世界各地的最新资讯以及风土人情。而这一切,皆得益于互联网管理机构提供的便捷资源访问机制,这便是互联网域名。

近几年来,各国域名注册机构已注册的域名都近乎呈几何级数增长。据统计,截至到2023年底,在中国注册的CN域名已经达到900万。与域名大量注册的同时,由于缺少技术手段,管局和运营商对于网站的备案管理只能依靠信息产业部下发的网站黑名单开展工作,无法及时、确凿了解网内所有网站的是否备案、经营内容、开放状态、接入地变换轨迹等状况。为了加强对域名的管理,中国联合网络通信责任有限公司(以下简称中国联通)投资建设一套域名分析和监管系统,为决策部门提供管理支撑。

DAMS作为系统的后台部分,主要负责的工作是通过对DNS域名数据的分析,将现有的通过中国联通接入的域名收集入库,并对其进行相关的监测。由于DNS日志数据量巨大,故对系统的处理速度以及稳定性有较高的要求。2

环境说明

2.1操作系统

WindowsServer64位操作系统

2.2开发协定

1)开发工具使用微软公司的集成开发环境VS2023,数据库使用Sybase公司发布

的ASE15.0.3开发版本;

2)程序不使用MFC类库,使用STL等平台无关的算法库;

3)由于程序中使用了部分CRuntime函数,故程序不完全支持Unicode字符集,

而提供相应的转换模块调用;4)程序配置使用XML文件,自行开发轻量型的XML操作模块,不使用第三方库;5)程序使用Console模式开发;

6)程序在64位操作系统上开发编译。总体设计

3.1系统结构

根据DAMS业务需求,可将系统规律上划分为域名发现和域名检测两个部分。域名发现部分负责从DNS日志提取域名,经过快速排重以及域名解析等一系列业务流程后将其存储入数据库;域名检测部分负责定期检测域名记录的变动状况,包括接入IP变更、服务器状态等,并将相关的检测信息更新至数据库。系统结构图如下图所示:

3

图3.1

3.2工作流程

3.2.1域名发现

此模块的流程可以用如下几步来概括:

1)域名发现模块的工作线程从日志文件提取原始的域名信息;2)对提取出的域名信息分层剥离,得到所需的最终域名信息;3)将信息放入域名发现线程池中处理;4)回到第1步。

3.2.2域名检测

此模块的流程可以用如下几步来概括:

1)工作线程从数据库提取需要检测的域名记录;2)分析域名记录的检测条件,如是否需要检测等;3)回到第1步。

此外,为了减少数据库I/O次数,域名发现的输出数据会写入临时的数据表,所以需要有定时的合并过程,将临时表的数据合并入主域名表。

3.3运行方式

系统采用分布式的策略进行部署,目的是增加系统的处理能力。为了解决数据同步的问题,系统采用异步运行的方法,即工作进程可划分为普通进程和合并进程。

通过设置配置项,可使普通进程运行域名发现模块而使合并进程运行域名发现和域名合并模块。两种进程的区别与联系如下图所示:

图3.3

普通进程除了负责产生域名数据并不关心共部署的进程数量;而合并进程除了发现域名,同时必需把各个进程的临时数据合并入主域名表。

4

模块设计

DAMS系统所有功能划分,包括进程和线程都采用模块化设计。

4.1应用程序模块(DamsApp)

4.1.1功能描述

此模块类似MFC的应用程序模块设计,封装了程序运行数据以及程序运行步骤。这样设计有助于主线程通过调用此模块封装的方法,控制程序总体的工作步骤。

4.1.2变量

名称m_appStatus类型_APP_STATUS属性public解释应用程序状态结构,包括域名发现与域名检测的实时信息,在运行中将动态更新应用程序终止事件命令控制线程终止事件域名发现模块中止事件域名检测模块中止事件事件数组,主要负责监控系统实时命令事件命令控制线程数据结构m_EventAppEndm_EventConsoleEndm_EventDiscoverEndm_EventCheckEndm_EventRunTime[APP_RUNTIME_EVENT_NUM]m_threadConsoleCommandm_threadDomainDiscoverProcessDriverm_threadDomainDiscoverProcessPoolm_threadDomainCheckProcessDriverm_threadDomainCheckProcessPoolm_lastSyncTimem_appWorkingDirectorym_damsAdo

4.1.3方法

HANDLEHANDLEHANDLEHANDLEHANDLEpublicpublicpublicpublicpublicDamsThread::DriveThreadItemDamsThread::DriveThreadItemDamsThreadDamsThread::DriveThreadItemDamsThreadDATEwstringDamsAdopublic

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论