精华内容
下载资源
问答
  • 要求掌握空间信息获取与处理的方法,会用有关GIS软件和程序设计语言进行空间信息系统的开发。
  • 苹果自动分级中计算机视觉信息快速获取与处理技术的研究
  • 音频信息获取与处理 ,重点讲述声音信号的采集,编号传输和处理,并深入分析了现在声音处理技术的发展。
  • 激光扫描技术是以激光扫描仪为核心发展迅速的一种新型空间数据获取手段。利用低成本的二维激光扫描仪实现针对目标物体的三维重建,为此对基于二维激光扫描技术的三维重建过程中所涉及的相关技术进行了研究分析,为...
  • 多媒体技术基础及应用电子版完整ppt,学习参考,低分下载,谢谢支持
  • 用于江苏科学出版社出版的初中信息技术上册新版第六章,适合初中信息技术教师教学所用
  • 本专业学生主要学习信号的获取与处理、电厂设备信息系统等方面的专业知识,受到电子与信息工程实践的基本训练,具备设计、开发、应用和集成电子设备和信息系统的能力。  毕业生应获得以下几个方面的知识和能力: ...
  • 引言随着时代的发展当前社会发展的主题与信息化之间密切相关信息技术的发展不仅是实现了人们能够更为快捷的获取信息还能够实现更为及时的对信息技术处理和反馈这些功能的实现都是依赖于现代计算机信息处理技术这些...
  • 武汉大学测绘遥感信息工程国家重点实验室 杨必胜教授精彩讲座,主要内容有:点云获取的主要手段、点云处理面临的挑战、点云处理的关键技术、点云的工程化应用
  • 射频识别( RFID) 是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据, 识别过程无需人工干预, 可工作于各种恶劣环境。RFID 技术在许多领域得到应用, 如停车场管理、集装箱运输管理系统等。...
  • 射频识别( RFID) 是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据, 识别过程无需人工干预, 可工作于各种恶劣环境。RFID 技术在许多领域得到应用, 如停车场管理、集装箱运输管理系统等。...
  • 射频识别( RFID) 是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据, 识别过程无需人工干预, 可工作于各种恶劣环境。RFID 技术在许多领域得到应用, 如停车场管理、集装箱运输管理系统等。...
  • 1.信息处理能力 信息处理就是将数据转变为信息的过程它主要包括利用计算机获取信息分析信息处理信息的过程 2.动手能力信息技术教学中培养动手能力应以会为主会中求快做到动手迅速才是正确的动手能力 3.想象能力和...
  • 针对水下图像中存在的图像退化现象,提出了一种将偏振ICA技术相结合的深度信息获取方法。该方法首先依据ICA模型对获取的偏振图像进行处理,构造已知偏振信息水体后向散射光偏振度之间的线性关系,再通过对获取的...
  • 介绍环境感知系统的组成,对环境感知信息处理中的辅助标定,路径检测识别,路标检测、定位识别,障碍检测定位以及运动目标检测跟踪5 大主要视觉信息处理技术进行阐述,并对该技术当前应用的相关图像处理算法...
  • PAGE PAGE 7 基因芯片的知识获取与数据挖掘技术 数据分析方案及初步研究结果 山东农业大学信息学院计算机科学系 生物信息智能处理课题组 一研究目的 随着分子生物学和生态学与农业科学的交叉,农业科学的研究已从动...
  • 在中文信息处理和理解系统中,“词处理”是一个基础环节。所谓“词处理”,是指在连续的汉字字符串中识别词语, 并获取这些词语的语言学信息和统计学... 中文信息处理分为汉字信息处理与汉语信息处理两部分,具体内容...

      在中文信息处理和理解系统中,“词处理”是一个基础环节。所谓“词处理”,是指在连续的汉字字符串中识别词语, 并获取这些词语的语言学信息和统计学信息,譬如:语法属性、语 义属性、用法信息等,这些信息是系统下一步分析和理解语句的必要基础。我们把计算机获取这些必要的信息称为对词语的理解。这样,“词处理”的任务就是识别和理解语句中的词语。

      中文信息处理分为汉字信息处理与汉语信息处理两部分,具体内容包括对字、词、句、篇章的输入、存储、传输、输出、识别、转换、压缩、检索、分析、理解和生成等方面的处理技术。用计算机来处理汉语信息,就是汉语信息处理,又称中文信息处理。中文信息处理包括“字处理”、“词处理”和“句处理”。

      “字处理”、“词处理”分别与汉字和词汇有关。句处理的主要内容是,怎样使计算机理解自然语言(如现代汉语)的句子的意思,又怎样使计算机生成符合自然语言规则的句子。“句处理”所需要的语言知识,将是一种涉及到语音、语义、语法、语用等诸方面的综合性知识。目前。大家都深感现有的关于汉语的知识远远不能满足中文句处理的需要。单就句法方面的情况说。在中文信息处理过程中将会不断遇到我们想象不到的问题,许多问题在人看来还是比较容易解决的,但计算机解决就比较困难了。

      1、首先,就切分而言,中文原本没有词的概念,没有一个统一的词的确切定义。中文构词方法的多样性特点使得分词十分困难。汉字造词可以是字,也可以是词甚至词组。造句的方式有以字造词,以词造词。如果没有语法、语义知识或语境了解的帮助就很难对有些句子进行正确切分。

      2.其次,汉语迄今为止仍未有一部公认的、确切完备的并适合于计算机处理的语法规则。汉语词法的无标准性,句法的复杂性,语法的模糊性与语义的多样性,如汉语中大量存在一词多义,多词一义,词性变化,词义转借等现象,使得研究中文信息处理的学者至今仍难以对它进行完备的总结。这也为汉语分词制造了困难。

      3.再次,现有的分词方法基本上都是基于统计和词典的分词方法,它们都必须在分词速度和精度之间做出选择。要提高速度,就要适当放弃精度的追求,缩减词典,减少匹配次数。而要提高切分精度,就得舍弃速度,无限扩充词典,匹配次数也会无限增加。因此,切分效率不高也是一大问题。

      4.最后,基于统计的分词方法虽然能够有效地自动排除歧义,但也不能百分百的消除歧义。因为汉语由于构词语素大多是不定位语素,又有相当数量的自由语素,汉语词理解的多义性、复杂性, 再加上词与词之间没有空格隔开,没有任何区分标志,这就造成了切分中的多分字段,因而歧义现象是分词过程中不可避免的现象。

      北京理工大学大数据搜索与挖掘实验室张华平主任研发的NLPIR大数据语义智能分析技术是满足大数据挖掘对语法、词法和语义的综合应用。NLPIR大数据语义智能分析平台是根据中文数据挖掘的综合需求,融合了网络精准采集、自然语言理解、文本挖掘和语义搜索的研究成果,并针对互联网内容处理的全技术链条的共享开发平台。

      NLPIR大数据语义智能分析平台主要有精准采集、文档转化、新词发现、批量分词、语言统计、文本聚类、文本分类、摘要实体、智能过滤、情感分析、文档去重、全文检索、编码转换等十余项功能模块,平台提供了客户端工具,云服务与二次开发接口等多种产品使用形式。各个中间件API可以无缝地融合到客户的各类复杂应用系统之中,可兼容Windows,Linux, Android,Maemo5, FreeBSD等不同操作系统平台,可以供Java,Python,C,C#等各类开发语言使用。

      随着信息技术在我国社会生活各个领域应用的深入,中文信息处理正在成为人们工作和生活中不可或缺的手段,中文信息处理将具有更加广阔的市场。这将促使中文信息处理方面的高效中文搜索引擎、实时机器翻译、大规模中文文本处理、跨平台中西文自动识别转换、泛中文语义理解、中文电子商务等技术实现重大突破。中文信息处理已成为我国信息技术研究、发展、应用和产业的基础,在互联网日益成长的今天,中文信息处理技术将会更加成熟并创新。

    转载于:https://www.cnblogs.com/ljrj/p/10855410.html

    展开全文
  • 信号与信息处理是研究人对自然界各种信息获取、识别,达到人计算机的相互理解以及人自然的交互融合。是信息技术的基础之一,在当今信息社会的发展中具有举足轻重的地位。
  • 搜索引擎与信息处理 复习笔记搜索引擎与信息处理 复习笔记第1讲 信息检索搜索引擎技术简介一、什么是信息检索信息检索简介信息检索的维度信息检索中的三大关键问题搜索引擎搜索引擎设计的核心问题二、搜索引擎的...

    搜索引擎与信息处理 复习笔记

    搜索引擎与信息处理 复习笔记

    第1讲 信息检索与搜索引擎技术简介

    一、什么是信息检索

    信息检索简介

    信息检索:是关于信息的结构、分析、组织、存储、搜索和检索的领域。

    检索对象:信息检索主要针对文档(网页、电子邮件、论文、图书、新闻等),如今也视图处理各种多媒体信息。

    文档检索与数据库查询的区别:数据库有良好结构(记录、属性);而文档大部分信息是文本,文本是无结构的,不过文档具有一定的结构(标题,章节,摘要等),信息检索会充分利用到这些信息。

    信息检索的维度

    • 内容实例(检索对象的类型):文本、图像、视频、扫描文档、音频
    • 应用实例(检索系统的类型):网络搜索(万维网)、垂直搜索(针对某一行业的专业搜索)、企业搜索、桌面搜索(搜索硬盘中的文档)、P2P搜索
    • 任务实例(检索服务的目的):特殊搜索、过滤、分类、问答

    信息检索中的三大关键问题

    1. 相关性:是否包含用户输入查询时想要找的信息
      • 话题相关:内容有关联
      • 用户相关:与当前用户的需求一致
    2. 评价:用于衡量信息检索的效果或质量
      • 评价指标:精确率、召回率、F值、点击流分析
    3. 用户的信息需求:当输入某个查询时,用户到底想要什么
      • 对搜索的评价是以用户为中心的,用户需求影响结果排序
      • 用户是搜索质量的最终审判者

    搜索引擎

    泛指“信息检索系统”,描述用来比较查询和文档生成文档排序结果软件系统

    基本类型:

    • 网络搜索引擎(爬取T级数据,提供毫秒级查响应)
    • 企业搜索引擎(处理公司内不同类型信息源,甚至利用数据挖掘工具来分析发现结构)
    • 桌面搜索引擎(提供直观界面搜索异质的混合信息,如浏览的网页、文档、邮件等)

    搜索引擎设计的核心问题

    除了上面提到的信息检索中的三大关键问题,还有:

    • 性能:有效的搜索与索引
    • 合并新数据(到索引中):覆盖率和鲜度(新近性)
    • 可扩充性(可小可大):随着数据量和用户量而增长
    • 自适应性(可定制):为适应特定应用而做调节(排序算法、界面、索引策略)
    • 特殊信息:如垃圾信息

    二、搜索引擎的基本架构

    软件架构

    架构:提供对系统中重要组件及组件之间的关系高层次描述

    软件架构:一组软件组件;组件提供的接口;各组件之间的联系

    搜索引擎的基本构件以及组件的基本功能

    两种核心功能:索引处理查询处理

    • 索引处理组件集:
      索引处理

      • 文本采集组件
        • 爬虫
          最普遍的是网络爬虫,通过追踪网页的超链接来寻找和下载页面。
        • 信息源
          是一种存取实时文档流的机制
        • 文档转换
          将爬虫或信息源提供的各种文档转换为文本元数据格式
        • 文档数据库
          管理大量文档以及这些文档相关的结构化数据(标题、摘要、锚文本);
          可提高检索效率和快速生成显示结果(标题、摘要、快照)
      • 文本转换组件
        • 解析器
          处理文本中的词素序列,识别结构化元素(标题、超链接)
          词素的识别与切分(大小写、消歧、专用名词)
          使用HTML/XML等完成文档结构识别(标签语义)及内容删减
        • 停用词处理
          引入停用词表,便于去除文本中的无意义词或频繁词(的,为,和)
        • 词干提取
          用于把同一个词干得到的派生词进行归类,提高匹配可能性
          但是可能导致搜索问题(如fish:钓鱼,fishing:渔业),对英语重要对中文则无用
        • 超链接分析
          计算网页重要度,锚文本(可提高用户对指向网页的吸引力)很有用
        • 信息提取
          提取复杂的索引项(加粗、题目中词)
          重点研究具有指定语义内容的特征(关键词、人名、地名等识别)
        • 分类器
          识别与类别相关的元数据(如体育、政治、商业)
          垃圾文档判定(广告、垃圾邮件等识别)
      • 索引创建组件
        • 文档特征统计
          汇总和记录文档中词的特征及文档的统计信息
          出现哪些词、位置、次数,文档的日期、标题、长度
        • 特征权重计算
          权重由检索模型确定,依据文档特征统计结果
          权重反映文档中词的重要性,是文档排序的依据
        • 倒排索引
          依据“文档-特征”统计信息,建立基于特征的倒排文件
          为提高处理效率,通常需要压缩倒排文件
          倒排索引是实现高效检索的重要基础
        • 索引分派
          为提高检索效率(并行处理),索引需要分布存储(分块、复制等)
          索引分派就是如何处理好索引的分布存储、更新、一致性
    • 查询处理组件集:

      查询处理

      • 用户交互组件
        • 查询输入
          提供查询语言接口和解析器(如何正确解析查询语句和格式)
          挑战性任务:对查询给出好结果,对更规范的查询给出更好的结果
        • 查询转换
          如何根据用户查询快速找到相关文档集合
          如何通过交互或自动改善初始查询,得到更好的结果集合
          包括对查询语句(短语)进行词、短语切分,以及计算词权重
        • 结果输出
          如何将排好序的检索结果显示给用户
          包括:生成网页摘要,加亮显示结果中的重要词项,对输出结果的自动聚类(及引导查看),广告添加,语言翻译等
      • 排序组件
        • 打分机制(查询处理)
          在检索模型基础上,使用某种排序算法来计算文档的分值
          有多种打分算法,如tf/idf,BM25,Pagerank等
          基本形式:qidi\sum{q_i \cdot d_i}
        • 性能优化
          如何降低系统响应时间,提供查询吞吐量
          如term-at-a-time(一次取查询中一项,来计算文档的分值贡献),document-at-a-time(同时取所有查询项,在相关多个索引表上来计算各文档的分值贡献)等分值计算方法
        • 分布式
          索引常被分布存储,排序易可分布地计算,经整合后再统一排序或可通过缓存(之前查询计算的结果)来提高打分计算效率
      • 评价组件
        • 日志
          系统运行记录,包括用户查询日志,文档点击次数,浏览时间等
          用户查询日志可用于拼写检查、推荐相关广告推荐等
          文档点击日志(次数,停留时间,次序)有助于网页排序和推荐
        • 排序分析
          分析大量日志数据,有助于对排序算法的效果进行评估、改进
          有助于系统参数的调整,提高排序靠前文档的质量
        • 性能分析
          专注于监测和改进系统的整体性能
          包括系统响应时间,吞吐量,(分布式)网络使用情况和效率等

    第2讲 信息采集和信息源

    一、信息采集

    确定搜索的内容

    搜索引擎工作基础:应当很好地存储文档集合中的信息。

    搜索引擎的本质目标:回答“我们想要搜索什么”,提供一切我们所能搜索的信息

    文档信息的更新:搜索引擎应尽可能多地含有近期的信息

    信息采集的任务:想方设法找到要检索的文档集合,不论这些文档在哪里,甚至无论文档是什么格式

    网络信息的爬取

    网页的备份:将网页抓取到本地,便于对数据的分析处理,便于提高显示效率和效果

    网络爬虫:从互联网下载网页的程序

    网页爬取时存在的问题:互联网规模庞大;如何高效爬取网页和保持信息更新;是否允许爬取(可能需填写表单);如何礼貌爬取

    抓取网页

    统一资源定位器(URL):协议方案+主机名+资源名

    网络爬虫如何获取网页

    首先客户端程序连接到一个域名服务器(DNS),将主机名转换为IP地址。
    然后客户端程序连接到该IP地址服务器。
    连接成功时客户端发送一个HTTP请求(GET请求)来获得网页。

    网络爬虫

    网络爬虫基本任务:下载页面 + 发现新的URL

    爬虫的基本工作原理:

    1. 指定种子URL集合,形成初始URL请求队列(frontier)。
    2. 从frontier中选取一个URL,爬取该网页。
    3. 对下载的网页进行解析,找到链接标签(含新的URL)
    4. 将新的URL(先计算重要度)插入到frontier
    5. 反复执行上述过程,直到frontier为空

    并行爬取技术:由于大量爬取时间花费在等待(等待DNS响应、网站连接确认、网站发送网页等),为提升效率,网络爬虫常采用多个线程,一次抓取几百个网页。

    礼貌策略:避免影响源网站正常工作,如规定一次抓取多少页面,规定两次抓取时间间隔。

    时新性

    当备份网页不能够再反映真实网页时,就应当更新。

    HTTP协议提供了HEAD请求,仅返回页面头部信息(含最后修改时间)而非页面内容,可用于检查页面是否发生变化

    办法之一:定期评估各页面变化频率。

    页面年龄

    对于页面的时新性,页面年龄是较好的度量方法。

    假设一个页面的变化频率是λ\lambda(在1天/1周内变化λ\lambda次),则一个页面从上一次采集起,tt天后的年龄期望值为:Age(λ,t)=0tP(x)(tx)dx{\rm Age}(\lambda, t) = \int_0^t{P(在时间为x时页面发生变化)(t-x) {\rm d} x}

    研究表明:页面更新一般遵循泊松分布,故有:
    Age(λ,t)=0tλeλx(tx)dx {\rm Age}(\lambda, t) = \int_0^t{\lambda e^{-\lambda x}(t-x) {\rm d} x}

    面向主题的信息采集

    垂直搜索引擎:面向特殊类(专业)用户,索引 .仅收集面向某一主题/话题的页面

    深层网络

    深层网络:那些网络爬虫难以找到的站点或网站内容统称为深层网络。

    至少包含三类:

    • 私人站点:通常要求注册账号,如:新闻出版,杂志审稿
      • 本来不希望被搜集(除非提供特许Robots.tet方式)
    • 表单结果:要求填写表单数据,如:机票销售,图书销售报表
      • 最难搜集(自动填写表单困难,涉及后台数据库)。试探法?网站主动提供?(网站地图)
    • 脚本页面:使用了Javascript、flash的页面,实际页面在浏览器中运行时动态生成
      • 相对容易(虽花费时间,爬虫也可运行Javascript、flash)
    网站地图

    网站地图:是一个包含了某网站信息描述(如信息修改时间和更新频率)的格式化XML文件,一般由网站管理员提供(robots.txt)

    用途:

    1. 帮助网络爬虫找到那些通常不容易找到的信息
    2. 使爬虫直到各页面的修改时间、更新周期,直到什么页面更重要
    分布式信息采集

    对互联网上大量信息采集,常采用多台计算机并行执行。

    假设一个爬虫程序有一个传输率为1MB/s的网络连接。网页的平均大小为20K,那么爬虫程序每秒钟可以备份50个页面。如果被采集信息的网站和爬虫程序所在的计算机距离很近,那么数据传输率可能会达到1MB/s。然而,网站开始传输数据需要80ms的时间,因为在打开连结和发送请求之间有传输延迟。假设每次请求需要100ms的时间(80ms的延迟时间,20ms的数据传输时间)。用50乘以100ms,可以看到,在传输50个页面时需要5秒钟的时间,其中包括延迟等待时间。这也意味着,在一秒钟内传输50个页面需要使用5个连接。

    文档和电子邮件信息的采集

    文档采集中的问题:

    • 更新速度:在桌面搜索中用户要求搜索结果是基于当前内容
    • 台式机本地空间不希望被占用,桌面爬虫应直接将文档读入内存,并直接发送给索引器
    • 桌面文档是用各种桌面程序查看的各种文档,需进行格式转换
    • 隐私问题:由于一台机器多个用户使用时每人只能看到允许的文档,文档存取权限必须与采集到的数据一起记录,并保持更新

    文档信息源

    文档信息源:比如出版物(书、文章、新闻、博客)某一时间创建后不再更新。来自同一个源头的出版物可在一个文档源的序列中得到,网络爬虫通过检查该(固定)信息源就可发现所有新文档。

    文档信息源类型:

    • Push信息源:当有新文档到达时自动向订阅者发出通知(像电话)
    • Pull信息源:需要订阅者周期性地查看是否有新文档(像邮箱)

    转换问题

    文件格式转换:将文档中的内容转换成一种统一的标签格式,如HTML,XML。

    存储文档

    基本目的:为了对文档进行索引,一般需存储转换为统一格式后的文档。(桌面搜索不需要存储)

    主要用途:

    • 对搜索结果创建网页摘要
    • 减少cpu和网络负载,下次建索引可少爬页面
    • 文档存储是信息抽取的起点

    文档存储系统的基本要求:

    • 使用数据库系统:一种可能的方案是使用BigTable(一个分布式数据库系统)
    • 随机存取:使用散列函数及B-Tree/排序
    • 压缩与大规模文件:多文档合并存储到一个文件中,节省文档读取时间;保证多文档合并后文件规模适度,让文档的网络传输时间不至于过长;采用文档压缩技术
    • 更新

    重复文档的检测

    完全重复检测:检验和技术

    近似重复检测方法:基于词(及权重)表达文档,并计算相似性;基于指纹(选择出的文档中的一些n-gram)表达文档,并计算相似性

    文档噪声处理

    文档噪声:网页中含有的与主要内容无关的文本、链接、图片等。

    去噪声理由:搜索引擎基于词统计;无关文本干扰页面内容表示;无关文本、链接、图片等大量增加处理和空间消耗。

    第3讲 文本处理

    一、文本处理简介

    文本处理:爬虫获得文本后,需决定是否修改或重构这些文本,以简化搜索。

    处理目的:将词语可能出现的多种形式转化为更加一致的索引项

    处理事项:

    • 忽略标点、词素切分、词串(成语、短语)切分
    • 去除停用词、词干提取
    • 格式改变(字体、大小)、结构处理(标题、章节)、链接处理
    • 信息抽取(识别:新词、人名、组织名、地址)、分类、多语言问题……

    二、文本统计

    齐普夫法则

    一个词在词频统计表中的排名 rr 乘以它的词频 ff 约等于一个常数 kkrf=kr \cdot f = k

    而因为一个词出现的概率 PrP_r 等于这个词的出现次数 ff 除以所有词在文本中出现次数 TT 的总和,因此该法则可表示为:rPr=cr \cdot P_r = c,其中 cc 是一个常数,对于英语来说约等于0.1。

    该法则对排名靠后的低频词不一定准确。

    词表增长的预测

    Heaps法则

    语料规模 vv 与词表大小 nn 的关系为:v=knβv = k \cdot n^\beta

    Heaps法则能预测词表大小语料规模的变化情况:语料规模小时新词增长很快,语料规模变大时增长速度变慢。

    估计结果集大小

    在用户输入查询后,搜索引擎一般会对结果集(包含所有查询词的文档)数量进行估计。

    假设词在文档中出现的概率彼此独立。若查询包含3个词a,b,c,它们在文档中的出现频率分别为P(a),P(b),P(c)P(a), P(b), P(c),文档集的规模数为NN,则查询结果集大小:fabc=NP(a)P(b)P(c)f_{abc} = N \cdot P(a) \cdot P(b) \cdot P(c)

    由于搜索引擎在建索引时易统计到出现过某个词的文档数目(fa,fb,fcf_a, f_b, f_c)和整个文档集的规模NN,而P(a)=fa/N,P(b)=fb/N,P(c)=fc/NP(a) = f_a/N, P(b) = f_b/N, P(c) = f_c/N。于是fabc=(fafbfc)/N31f_{abc} = (f_a \cdot f_b \cdot f_c)/N^{3-1}

    估计搜索引擎的文档集大小

    由于若a和b是相互独立出现的两个词,有:fabN=faNfbN\frac{f_{ab}}{N} = \frac{f_a}{N} \cdot \frac{f_b}{N},于是有:N=fafbfabN = \frac{f_a \cdot f_b}{f_{ab}}。只需尽量取到两个语义上无关联的词a和b并按此公式计算即可。

    三、文档解析

    词素切分:从文档的字符序列中获取词的过程。

    词干提取方法

    1. 规则演算方法:处理常见的后缀
    2. 基于词典方法:采用一个词典来存储相关词的列表(如同义词表,适合中文及不规则变形)
    3. 规则与词典结合方式:英文词典+手动生成例外列表

    四、文档结构和标记

    可用XML标记文档结构,或利用到HTML标记的网页结构。

    五、链接分析

    锚文本的价值:

    • 很短(两三词),简洁地描述链出网页的主题。
      有助于排序算法的设计(如搜索数据库中的所有链接,查找与查询完全匹配的锚文本,匹配1次网页权重就增加1)
    • 写锚文本的人一般不是目标网页的作者。
      因此锚文本从另一角度来描述目标网页,或强调该网页对某群体的重要性。

    PageRank技术

    原理:基于随机游走。根据网页的入链数(指向该页)及每个网页的重要度来估算。

    计算方法示例:假设有如下图这样的三个相互链接的网页:PageRank计算方法示例

    页面C的PageRank(某个随机浏览网页的用户浏览C的概率)值:PR( C ) = PR(A)/2 + PR(B)/1。
    即每个页面的PR(点击概率)应平均分配给所有外向链接。

    特点:网页PR值与具体的查询无关。搜索引擎优先选择PR值高的网页。

    六、信息抽取

    NER(命名实体识别)

    指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。

    应用:

    1. 可应用于搜索中(短语、地名,人名,大小写),提高检索质量。
    2. 可用于搜索结果中(识别网页中的地址、人名,提供指向相应信息的链接;将识别到的人名、地名等自动加亮),改善友好性。
    3. 可应用于建立索引,提高索引质量。

    方法:

    1. 基于基于规则的方法。 使用词典、规则或模板对实体识别分类,从而抽取地名、人名等
    2. HMM(隐马尔可夫模型 ) 找到一个实体类别序列,使得产生待识别句子的概率最大,则与序列中实体类别相关联的会被标记出来。

    第4讲 搜索引擎索引

    一些缩写的含义:

    • tf:单词在某个文档中出现的次数
    • N:文档集合包含的文档个数
    • df:某个单词在多少个文档中出现过

    一、倒排列表

    倒排索引主要由两个部分组成:单词词典倒排文件

    倒排索引基本概念示意图
    单词词典:单词词典是由文档集合中出现过的所有单词构成的字符串集合,单词词典内每条索引项记载单词本身的一些信息及指向倒排列表的指针。

    倒排列表:倒排列表记载了出现过某个单词的所有文档的文档列表及单词在该文档中出现的位置信息,每条记录称为一个倒排项(Posting)。根据倒排列表,即可获知哪些文档包含某个单词。倒排列表示意图

    倒排文件:所有单词的倒排列表往往顺序地存储在磁盘的某个文件里,这个文件即被称为倒排文件,倒排文件是存储倒排索引的物理文件。

    二、建立索引

    3种建立索引的方法

    1、两遍文档遍历法

    完全在内存里完成索引的创建过程。

    第一遍文档遍历:收集一些全局的统计信息,如文档集合包含的文档个数N,文档集合内所包含的不同单词个数M,每个单词在多少个文档中出现过的信息df。将所有单词对应的df值全部相加,就可以知道建立最终索引所需内存大小是多少。于是在内存中分配足够大的空间,用来存储倒排索引内容。

    第二遍文档遍历:开始真正建立每个单词的倒排列表信息,即对于某个单词来说,获得包含这个单词的每个文档的文档ID,以及这个单词在文档中的出现次数tf,这样就可以不断填充第一遍扫描所分配的内存空间。当第二遍扫描结束的时候,分配的内存空间正好被填充满,而每个单词用指针所指向的内存区域“片段”,其起始位置和结束位置之间的数据就是这个单词对应的倒排列表。

    经过两遍扫描完成索引建立后,即可将内存的倒排列表和词典信息写入磁盘,这样就完成了建立索引的过程。

    缺点:如果文档集合太大时,内存未必能够满足需求;要对文档集合进行两遍遍历,速度不占优势。

    2、排序法

    始终在内存中分配固定大小的空间,存放词典信息和索引中间结果,当分配的内存空间被消耗殆尽时,在内存中对索引信息三元组(单词ID,文档ID,单词频率)进行排序,将排序好的索引信息写入磁盘,词典不写入, 词典始终在内存中,新产生一个对应的中间文件,最后对所有中间文件进行合并,形成最终的索引。

    优点:无论要建索引的文档集合有多大,都可以通过这种方法完成。

    缺点:词典信息一直在内存中进行维护,随着处理文档越来越多,词典里包含的词典项越来越多,所以占用内存越来越大,导致后期中间结果可用内存越来越少。

    3、归并法

    对排序法做出了改进,整体流程和排序法大致相同,即每次将内存中数据写入磁盘时,包括词典在内的所有中间结果信息都被写入磁盘(在写入磁盘文件时,将词典项放在列表最前端,之后跟随相应的倒排列表),这样内存所有内容都可以被清空,后续建立索引可以使用全部的定额内存。

    “归并法”的临时文件是每个单词对应的部分倒排列表,所以在合并时针对每个单词的倒排列表进行合并,形成这个单词的最终倒排列表。另外,“归并法”在最后的合并过程中形成最终的词典信息。

    4种索引更新策略

    1、完全重建策略

    将新增文档和老文档一起重新构建新的索引,再删除老索引

    2、再合并策略

    加入新文档后,在内存当中构建增量索引,最后再将增量索引与磁盘中的老索引合并形成新的索引

    3、原地更新策略

    在初始建立老索引时,在每个倒排项末尾预留空余磁盘空间。有了新增文档之后,在内存中构建出增量索引,再直接把增量索引中每个倒排项的内容直接追加到内存中的老索引的对应倒排项末尾

    4、混合策略

    能够结合不同索引更新策略的长处,将不同的索引更新策略混合,以形成更高效的方法。

    一般会将单词根据其不同性质进行分类,不同类别的单词,对其索引采取不同的索引更新策略。常见的做法是:根据单词的倒排列表长度进行区分,因为有些单词经常在不同文档中出现,所以其对应的倒排列表较长,而有些单词很少见,则其倒排列表就较短。长倒排列表单词采取原地更新策略,而短倒排列表单词则采取再合并策略。

    三、查询处理

    两种查询处理方法:

    • 一次一文档:通过处理所有的单词(索引项)对文档进行打分,每个文档循环一次。
    • 一次一词项:通过处理单词列表对文档打分,每个单词循环一次。

    优化技术

    对于查询处理,有2类优化技术:

    • 从索引中读取较少的数据
    • 处理较少的文档
    联合处理

    每篇返回给用户的文档,需要包含所有查询项。当有一个查询项较为罕见时,联合处理可以做得很好(如对于查询“fish locomotion”,单词“fish”的频率是“locomotion”的1000倍,既然对只包含2个词的文档感兴趣,系统能跳过“fish”倒排表中的大部分,以便找到同时包含“locomotion”的文档的posting)

    对于短查询,能同时提高效率和效果;对于长查询如整个段落,不是一个好的选项。

    阈值方法

    使用前k个排序文档优化查询处理。对于每个查询,都有某一最小分数(阈值τ\tau)是每个被检索出的文档都需要达到的,该最小分数是第k个最高得分文档的分数,任何没有达到此分数的文档不会显示给用户。

    • 对于“一次一文档”:可以使用排序后第k个文档的分数作为估计阈值。
    • 对于“一次一词项”:直到评价结束才能有全部的分数,但可以使用累加器表中第k大分数作为估计阈值。
    提早终止
    • 在“一次一文档”中忽略一些常见的高频词(查询项)。
    • 在document-at-a-time中忽略倒排表非常靠后的文档。如文档以一些质量指标排序,如pagerank,提早终止以忽略质量较低的文档。
    倒排表排列

    基于文档质量对倒排表中的文档排序,如pagerank,或者根据部分分数对文档排序。

    结构化查询
    • 使用查询语言写的查询,容许改变查询中使用的特征以及那些特征的组合方式。
    • 查询语言不是用户使用的,用户输入查询后,查询翻译器将用户的输入转换为结构化查询表达,如包括对词特征加权以及使用哪些同义词。

    分布式的评价

    基本过程:将所有查询发给一台目录计算机;目录计算机将消息发给多台索引服务器;它们各自做查询处理的一部分任务;然后目录机组织结果,并将结果发给用户。

    2个主要方法:文档分布式词项分布式

    文档分布式

    每台索引服务器的行为类似于整个文档集一小部分数据的搜索引擎。目录机发送查询的拷贝给每台索引服务器,每台机器返回前k个结果以及每个结果的分数。这些结果由目录机合并为一个相关排序表,然后返回给用户。

    较为常用,很容易支持新增的文档,负载均衡性好(常见词与罕见词汇均匀分布在不同的索引服务器上),容错性好(如果某台索引服务器故障,只影响到部分文档子集合,对于用户来说并不会直接感受到这种故障的影响),同时支持两种不同的查询处理方式。

    词项分布式

    索引中的每个倒排表被分给一个索引服务器。大部分情况下,所要处理的查询数据不会存储在一台机器,那么被选中处理查询的服务器通常是倒排表最长的那台索引服务器,如果其他索引服务器上有相关的数据,则通过网络传送给他们来处理查询。查询处理完成后,结果发给目录机。

    可扩展性不足:如果有新增文档,对几乎所有的索引服务器都有直接影响。负载均衡性差(常见词倒排列表庞大,罕见词倒排列表很少),容错性差(如果某台索引服务器故障,则某些单词的倒排列表无法访问,直接影响用户体验),只能支持“一次一词项”查询处理方式。

    第5讲 查询与界面

    一、查询转换与提炼

    停用词去除和词干提取

    文本查询最初的处理过程,应该对应于文档的处理步骤。查询文本中的词,应转换为文本处理时产生的同样词项。

    • 停用词:可以去除查询中的停用词,也可保留。
    • 词干:可能文档处理时对词干进行了处理(增加查询灵活性),查询时也应对词干进行处理。但一定要采用恰当的词变形来扩展查询,才能获得更好查询效果。词干处理不能仅归为词干,而应基于词干进行扩展!

    拼写检查和改写建议

    对于在拼写词典中没有的词,就建议用户更正它们。

    方法:将没有的词与词典中词进行相似比较,以便提出更正建议。

    词相似度的衡量标准:编辑距离。

    查询扩展

    搜索引擎将用户的初始查询用一个或多个词去扩展,或替换查询中的一些词,并将修改后的查询建议提交给用户,可帮助改善检索效果。

    基本思路:

    • 通常是基于对指定文档集中词或词项共现的分析
    • 查询的词干提取,也可看着是一种查询扩展技术(基于词的变形)
    • 采用常规叙词表的自动扩展技术(但效果往往未必好)

    关键技术:衡量词项的相关性。基本方法如戴斯系数(Dice) ,互信息(MIM),期望互信息(EMIM),皮尔森检验法(x²)。

    还可以基于搜索结果或查询日志扩展。

    相关反馈

    相关反馈也是一种查询扩展方法。它通过与用户的交互过程,让用户指出哪些是感兴趣的,哪些是不感兴趣的,根据这些信息,通过增加词项或对原始词项重新分配权重,自动地改写查询,并自动生成新的文档排序,识别出在用户初始查询的排序文档中的相关文档,实现对查询结果的改善。

    伪相关反馈,也采用同样思想。所不同的是,不是让用户自己去识别相关文档,而是系统将排序靠前的文档假设是相关的。这些文档中频繁出现的词,用来扩展初始查询。扩展质量则由靠前的文档有多少是实际相关的而决定的。

    上下文和个性化

    个性化搜索:不同用户输入同一查询,返回不同结果;甚至同一用户在不同时间输入同一查询,返回不同结果。

    改善搜索质量的有效上下文是:查询日志和搜索会话历史,使用地理上下文信息的本地搜索也对部分查询产生实质性的改善。

    二、搜索结果显示

    结果显示界面与页面摘要

    结果显示页面:大部分搜索引擎的结果页面,仍采用排序的文档摘要列表。文档摘要有实际页面链接,并包括标题、URL、快照链接以及页面摘要等。

    页面摘要的生成:是自动文摘的一个应用例子。自动文摘技术大致可分为查询无关文摘和查询相关文摘。搜索结果页面是查询相关文摘。

    结果聚类

    传统做法一般是将搜索结果按照排序显示给用户,而搜索结果常包括与查询主题相关的不同方面。对于特定用户,可能仅关心其中一类,对排序显示可能失望。

    解决途径:对检索结果聚类,将检索结果文档集按照内容相似性聚成一些类(文档组),将这些类别显示给用户,便于用户快速定位到感兴趣的文档类。然后每个文档类再按照文档与查询的相关性排序显示。

    第6讲 检索模型与搜索排序

    一、检索模型

    信息检索模型的组成:

    • 用户的需求表示:用户查询的获取与表示。
    • 文档的表示:文档内容的识别与表示。
    • 匹配机制:用户需求表示与文档表示之间的查询机制,以及它们之间相关性排序的准则和函数表示。
    • 反馈修正:对检索结果进行优化。

    信息检索模型四元组:[D,Q,F,R(qi,dj)][D, Q, F, R(q_i, d_j)]

    • DD:文档集合
    • QQ:用户查询,是用户任务的表达
    • FF:文档表示、查询表示和它们之间的关系的模型框架(Frame)
    • R(qi,dj)R(q_i, d_j):是一个排序函数,它给查询qiq_i和文档djd_j之间的相关度赋予一个排序值

    经典信息检索模型

    包括:布尔模型、向量空间模型、经典概率模型。

    布尔模型

    基本规则:每个索引词在一篇文档中只有两种状态:出现或不出现,对应权值为0或1。

    布尔检索又称精确匹配检索

    优点:简单易于理解;能处理结构化查询;速度快

    缺点:无权重设计;僵化,不支持部分匹配(“与”意味着全部,“或”意味着任何一个);很难对输出排序;很难控制被检索的文档数量

    向量空间模型

    模型原理:文档D和查询Q均被看成是由标引词构成的向量,检索过程就是计算文档向量与查询向量之间的相似度。可以根据相似度值的不同对检索结果进行排序,可以根据检索结果进一步做相关检索

    优点:可对查询向量中关键词赋予权重;可根据相似度大小对查询结果进行排序并控制输出数量;采用“部分匹配”

    缺点:在模型中,特征项被假设为相互独立,而实际上一个文档中的特征项之间可能存着一定的联系;不能像布尔模型一样支持布尔结构化查询;较布尔模型要复杂得多

    模型构建的主要步骤
    1. 文档向量的构造:对一个文档集而言,可以将每一篇文档转换成特征项来表示。如果将每一个特征项看作是多维空间中的一维,则由这些特征项组成的集合就定义了一个多维向量空间,文档集合中的任一文档都可以表示成为这一多维空间中的一个向量。
    2. 查询向量的构造:对于用户查询,将其转换为特性项表示。
    3. 查询与文档的匹配函数的选择
      • 内积相似度运算(包括余弦相似度运算)
      • 距离相似度运算
      • 基于项匹配个数的相似度运算
      • 基于概率向量的相似度运算
    4. 相似度阈值的确定
    文档中词项的权重

    一个在n当前文档中频繁出现,但是在剩余的其它文档中很少出现的词项获得较高的权重。

    • tfiktf_{ik}:词项kk在文档ii中的频率
    • nkn_k:词项kk的文档频率,即包含词项kk的文档数量
    • idfkidf_k:词项kk的反文档频率=logNnk= \log {\frac{N}{n_k}},其中NN是文档集中的文档总数

    tf·idf加权方法:

    tfik=fiktf_{ik} = f_{ik},其中fikf_{ik}是词项kk在文档中的出现次数。但为减小高频词项的影响,通过对词项次数取对数,会比直接使用原始数值更加有效:tfik=log(fik)+1tf_{ik} = \log{(f_{ik})}+1(词项频率加1是为了保证频率为1的词项具有非零权值)

    tf·idf:词频和反文档频率的乘积。

    dik=tfikidfk=(log(fik)+1)logNnkd_{ik} = tf_{ik} \cdot idf_k = (\log{(f_{ik})}+1) \cdot \log{\frac{N}{n_k}}

    在归一化后:
    dik=(log(fik)+1)logNnkk=1t[(log(fik)+1.0)logNnk]2 d_{ik} = \frac{(\log{(f_{ik})}+1) \cdot \log{\frac{N}{n_k}}}{\sqrt{\sum_{k=1}^{t}{[(\log{(f_{ik})}+1.0) \cdot \log{\frac{N}{n_k}}]^2}}}
    归一化原因:在冗长的文本中,词项的频率会比短文本大,为了抵消这种影响,即采用归一化。

    查询式中词项权重

    几种确定查询式中词项权重的方式

    • 如果词项出现在查询式中,则该词项在查询式中的权重为1,否则为0。
    • 也可以用用户指定查询式中词项的权重。
    • 一个自然语言查询式可以被看成一个文档。
    经典概率模型

    概率排序原则:如果一个参考检索排序系统对每个查询的反馈都是数据集中所有文档根据和用户查询的相关性概率值降序排序的结果,并且其中的概率值都被尽可能精确地估计出来,那么该系统对于用户的整体效果就是基于这些数据能够获得的最好结果。

    优点:文档可以按照它们相关概率递减的顺序来排序。

    缺点:开始时需要猜想把文档分为相关和不相关的两个集合,一般来说很难;实际上这种模型没有考虑索引术语在文档中的频率(因为所有的权重都是二值的);假设索引词独立

    目前使用比向量模型更广泛。

    基本假设
    • 概率模型的相关性独立原则:文档对查询的相关性与文档集合中的其它文档无关。
    • 文档和查询中的特征项与特征项之间是相互独立的。
    • 文档和查询中的特征项权重都是二值的,即要么是0,要么是1。
    • n文档相关性是二值的,即只有相关和不相关两种(一篇文档要么属于理想文档集,要么不属于理想文档集。)

    (暂略一部分数学内容)

    BM25排序算法

    (暂略)

    隐性语义索引(LSI)

    提出背景:自然语言文本中的词汇具有一词多义(基于精确匹配的检索算法会报告许多用户不要的东西)和一义多词(基于精确匹配的检索算法又会遗漏许多用户想要的东西)的特点。我们希望找到一种办法, 既能反映术语之间内在的相关性, 又具有较高的效率。

    隐性语义索引可看做是隐性语义分析(LSA)在信息检索中的应用。LSA是一种通过分析大量的文本集,自动生成关键字-概念(语义)之间映射规则的方法。它假设词语在文本中的使用模式内存在着潜在的语义结构。同义词之间具有基本相同的语义结构,多义词的使用必定具有多种不同的语义结构,而词语之间的这种语义结构体现为它们在文本中的出现频率上也具有一定的联系,通过统计学方法,提取并量化这些潜在的语义结构,进而消除同义词、多义词的影响,提高文本表示的准确性。

    二、检索质量评价标准

    召回率(recall):衡量搜索引擎找到所有相关文档的能力。

    准确率(precision):衡量排除不相关文档的能力。

    F值:召回率和准确率的调和平均数

    平均准确率(MAP):各次查询的准确率的均值。

    三、文本分类

    文本分类的应用:垃圾邮件的判定、新闻出版按照栏目分类、词性标注、词义排歧等

    文本分类的过程:

    • 获取训练文档集合
    • 建立文档表示模型
    • 特征选择
    • 选择或设计分类模型
    • 性能评测模型

    分类的评测

    偶然事件表:TP,FP,TN,FN。

    对一个分类器的度量:准确率、召回率、fallout(FN / FN+TN)

    多类分类问题的评价

    宏平均(macro-averaging)

    先对每个分类器(每一类)计算上述量度,再对所有分类器求平均。

    是关于类别的均值。

    微平均(micro-averaging)

    先合并所有分类器的偶然事件表中的各元素,得到一个总的偶然事件表,再由此表计算各种量度。

    是关于文本的均值。

    第7讲 链接分析&网页反作弊

    一、链接分析

    搜索引擎在查找能满足用户请求的网页时,主要结合以下两方面的因素拟合出评分函数对搜索结果进行排序:

    1. 网页和查询的相关性,即用户发出的查询与网页内容的内容相似性得分
    2. 网页的重要性,即通过链接分析方法计算获得的得分

    PageRank算法

    属于随机游走模型(一个对直接跳转和远程跳转两种用户浏览行为进行抽象的概念模型)

    结合网页的入链数量网页的质量因素两者,获得网页重要性评价标准。

    与查询无关的全局算法

    计算方法详见笔记第三讲中“链接分析”部分。

    链接陷阱与远程跳转

    互联网页面之间的链接结构实际上很复杂,对于某些特殊的链接结构,按照上述方法计算PageRank 会导致问题,一个典型的例子就是如下图所示的“链接陷阱”。这种结构类似于天体中的黑洞,在计算PageRank 的时候,该结构将导致系统只会吸收传入的分值,而不能将获得的分值传播出去,随着PageRank 一轮轮地连续运算,链接陷阱内的页面PageRank 得分越来越高,这与PageRank 的设计初衷相违背。

    链接陷阱

    远程跳转是解决链接陷阱的通用方式,所谓的远程跳转,即在网页向外传递分值的时候,不限于向出链所指网页传递,也可以以一定的概率向任意其他网页跳转。对于链接陷阱内的网页来说,增加了远程跳转措施后,就像为每个页面增加了指向互联网任意其他页面的虚拟边,权值可以通过这种虚拟边向外传递,以此来避免链接陷阱导致的问题。

    HITS算法

    属于子集传播模型(从诸多链接分析算法中抽象出来的概念模型)

    Authority页面

    与某个领域或者某个话题相关的高质量网页。比如搜索引擎领域,Google和百度首页即该领域的高质量网页;比如视频领域,优酷和爱奇艺首页即该领域的高质量网页。

    Hub页面

    指的是包含了很多指向高质量Authority页面链接的网页,比如hao123首页可以认为是一个典型的高质量Hub网页。

    基于两个基本假设
    1. 一个好的Authority页面会被很多好的Hub页面指向。
    2. 一个好的Hub页面会指向很多好Authority页面。
    算法

    接收到了用户查询之后,将查询提交给某个现有的搜索引擎(或者是自己构造的检索系统),并在返回的搜索结果中,提取排名靠前的网页,得到一组与用户查询高度相关的初始网页集合,这个集合被称做根集(Root Set)。在根集的基础上,HITS算法对网页集合进行扩充,扩充原则是:凡是与根集内网页有直接链接指向关系的网页都被扩充进来,无论是有链接指向根集内页面也好,或者是根集页面有链接指向的页面也好,都被扩充进入扩展网页集合。HITS算法在这个扩展网页集合内寻找好的Hub页面与好的Authority页面

    存在的问题
    • 计算效率较低:算法与查询相关,必须在接收到用户查询后实时计算,HITS算法本身需要多次迭代才能获得结果。
    • 主题漂移问题:如果在扩展网页集合里包含部分与查询主题无关的页面,而且这些页面之间有较多的互相链接指向,使用HITS算法很可能会给予这些无关网页很高的排名,导致结果发生漂移
    • 易被作弊者操纵结果:比如作弊者可以建立一个网页,页面内容增加很多指向高质量网页或者著名网站的网址,这就是一个很好的Hub页面,之后作弊者在将这个网页链接指向作弊网页。
    • 结构不稳定:如果添加或者改变少数链接,排名会变。

    PageRank算法与HITS算法比较

    • HITS算法是与用户输入的查询请求密切相关的,而PageRank与查询请求无关。所以,HITS算法可以单独作为相似性计算评价标准,而PageRank必须结合内容相似性计算才可以用来对网页相关性进行评价。
    • HITS算法因为与用户查询密切相关,所以必须在接收到用户查询后进行实时计算,计算效率较低;而PageRank则可以在爬虫抓取完成后离线计算,在线直接使用计算结果,计算效率较高。
    • HITS算法的计算对象数量较少,只需计算扩展集合内网页之间的链接关系;而PageRank是全局性算法,对所有互联网页面节点进行处理。
    • 从两者的计算效率和处理对象集合大小来比较,PageRank更适合部署在服务器端,而HITS算法更适合部署在客户端。
    • HITS算法存在主题泛化问题,所以更适合处理具体的用户查询;而PageRank算法在处理宽泛的用户查询时更有优势。
    • HITS算法在计算时,对于每个页面需要计算两个分值,而PageRank算法只需计算一个分值即可;在搜索引擎领域,更重视HITS算法计算出的Authority权值,但是在很多应用HITS算法的其他领域,Hub分值也有很重要的作用。
    • 从链接反作弊的角度来说,PageRank从机制上优于HITS算法,而HITS算法更易遭受链接作弊的影响。
    • HITS算法结构不稳定,当对扩展网页集合内链接关系做出很小改变,则对最终排名有很大影响;而PageRank算法相对HITS而言表现稳定,其根本原因在于PageRank计算时的远程跳转。

    (其它的一些链接分析算法略)

    二、网页反作弊

    存在一些恶意的优化行为,通过特殊手段将网页的搜索排名提高到与其网页质量不相称的位置,而搜索引擎为了保证排名的公正性,也需要对作弊行为进行识别和处罚。

    常见作弊手段:内容作弊、链接作弊、页面隐藏作弊

    内容作弊

    常见内容作弊手段
    • 关键词重复:大量将关键词重复设置在页面内容。本质上是通过提高目标关键词的词频来影响排名。
    • 无关查询词作弊:在页面内容中增加很多和页面主题无关的关键词以吸引搜索流量。
    • 图片alt标签文本作弊:alt标签是作为图片描述信息来使用的,一般不会在html页面显示,但是搜索引擎会利用这个信息。
    • 网页标题作弊:将与网页主题无关的目标词重复放置在标题位置来获得好的排名。搜索引擎在计算相似性得分时,会增加标题词汇的得分权重。
    • 网页重要标签作弊:网页不像普通格式的文本,是带有html标签的,标签代表了重要性意义。作弊者通过在这些重要位置插入作弊关键词影响排名。
    • 网页元信息作弊:网页内容描述区和网页内容关键词区是供制作网页的人对网页主题信息进行简短描述。作弊者往往也会通过在其中插入作弊关键词来影响网页排名。
    内容农场

    通过雇人写作大量低质量内容吸引流量,这些写作有机地将搜索引擎的热门搜索词添加到写作内容中。这样,普通搜索引擎用户在搜索时,会被吸引进入内容农场网站,赚取广告费用。

    链接作弊

    网站拥有者考虑到搜索引擎排名中利用了链接分析技术,所以通过操纵页面之间的链接关系,或者操纵页面之间的链接锚文字,以此来增加链接排序因子的得分,并影响搜索结果排名的作弊方法。

    • 链接农场:有人将网站做成了一个养殖场,专门用于搜集网站和交换链接提升PageRank,而没有或很少有实质性的对用户有用的内容。
    • Google轰炸:通过大量链接让不相关或者偏离主题的内容在搜索结果中获得很高的排序。
    • 交换友情链接:作弊者通过和其他网站交换链接,相互指向对方的网页页面,以此来增加网页排名。
    • 购买链接:花钱让一些排名较高的网站的链接指向自己的网页,以此来提高网站排名。
    • 购买过期域名:购买刚刚过期的域名,因为有些过期域名本身的PageRank排名是很高的,通过购买域名可以获得高价值的外链。
    • “门页”作弊:“门页”本身不包含正文内容,而是由大量链接构成的,而这些链接往往会指向同一网站内的页面,作弊者通过制造大量的“门页”来提升网站排名。

    页面隐藏作弊

    • IP地址隐型作弊
    • HTTP请求隐形作弊
    • 网页重定向
    • 页面内容隐藏

    反作弊技术的整体思路

    • 信任传播模型:先建立一个可信任的网页白名单,之后将与白名单有链入或链出的网页加入到可信的白名单之中。
    • 不信任传播模型:先建立一个不可信的网页黑名单,之后将与黑名单有链入或链出的网页加入到不可信的黑名单之中。
    • 异常发现模型:对已知的一些作弊网页进行特征分析,识别出一些作弊特征,并在待判断网页中判断是否满足这些特征,如果满足就判为作弊网页,否则判为非作弊网页;或者识别出一些正常特征,并在待判断网页中判断是否满足这些特征,如果满足就判为非作弊网页,否则判为作弊网页。

    识别链接作弊

    识别链接农场
    1. 网页出链的统计分布规律,正常网页的出链满足Power-law分布,作弊网页的出链违反该分布
    2. 网页入链的统计分布规律,正常网页的入链也满足Power-law分布,作弊网页则违反该分布。
    3. URL名称统计特征,作弊网页的网址倾向于较长,包含更多的点画线和数字等。
    4. 很多作弊网页的URL地址尽管不同,但是常常会对应同一个IP地址。
    5. 网页特征会随着时间变化,比如入链的增长率、出链的增长率等,正常网页和作弊网页在这些变化模式上是不同的。
    识别Google轰炸

    Google轰炸利用了指向目标网页的锚文字来操纵搜索结果排名,而锚文字很可能和被指向的页面没有任何语义关系,所以一个直观的判断方式即为判断锚文字是否和被指向页面有语义关系,如果有语义关系存在,则被判断为正常链接,否则可被判断为作弊链接。

    识别内容作弊

    • 对于重复出现关键词这种作弊方式,可以判断文本内一定大小的窗口中是否连续出现同一关键词,如果是的话则消除掉重复出现的内容。
    • 对于标题关键词作弊,可以判断标题词汇在文本正文出现的比例和权重,如果达到一定条件则可判断为标题关键词作弊。
    • 也可以采用一些统计手段来进行内容作弊识别,比如统计正常网页中句子长度的规律、停用词的分布规律或者词性分布规律等,通过比较页面内容统计属性是否异常来识别内容作弊的情况。

    反隐藏作弊

    识别页面隐藏

    页面隐藏的本质特征是向搜索引擎爬虫和用户推送不同内容的页面。所以一个直观的识别这种作弊方式的方法是对页面进行两次抓取,第一次是正常的搜索引擎爬虫抓取,第二次抓取则以模拟人工访问网页的方式抓取。如果两次抓取到的内容有较大差异,则会认为是作弊页面。

    识别网页重定向

    首先搜集一批作弊页面,然后根据这批作弊网页进行扩展,如果有在论坛中和这些作弊URL经常一起出现的网页链接,会逐步将其扩充进可疑页面集合。之后,依次访问这些可疑URL,并记录下访问时是否做了重定向及重定向到哪个页面,逐步判断。

    展开全文
  • COVID-19-tracker:北航大数据高精尖中心研究团队进行数据来源的整理与获取,利用自然语言处理技术从已公开的全国4626确诊患者轨迹中取出了基本信息(性别,年龄,常住地,工作,武汉湖北接触史等),轨迹(时间,...
  • 分析了时变目标函数及其最优解的时变性能,提出了跟踪时变目标函数最优...应用时变最优化方法,可以直接在线辨识连续线性系统、时滞系统和非线性系统,并能随时跟踪和检测系统时滞和参数的变化从而获取系统的最新信息
  • 射频识别( RFID) 是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据, 识别过程无需人工干预, 可工作于各种恶劣环境。RFID 技术在许多领域得到应用, 如停车场管理、集装箱运输管理系统等。...
  • 一方面,更好的信息技术可能会改善信息处理;另一方面, 另一方面,它也可能导致低成本,甚至通过信息外溢等方式免费提供信息。 在信用筛选的背景下,我们表明,更好地获取信息会降低利率和筛选收益。 但是,处理...
  • 量子信息技术发展应用 研究报告 2019 年 中国信息通信研究院 2019年12月 前 言 量子信息技术以微观粒子系统为操控对象借助其中的量子叠 加态和量子纠缠效应等独特物理现象进行信息获取处理和传输 能够在提升运算...
  • 电子信息技术导论

    2018-04-18 14:23:36
    主要内容有数字技术、网络技术、无线技术、通信技术、信息获取与应用技术、信息分析和处理技术、电子信息技术在核工程中的应用以及电子信息专业人才培养与大学学习特点等。覆盖了信息技术的主要分支:信息获取技术、...
  • 而伴随近年来数字电视、IP摄像机、网络摄像头以及监控摄像头这类安防产品的迅速发展,更表明市场对智能监控需求的不断增长,这也是图像信号处理技术不断丰富和完善的过程。在这些图像信号处理中,包括自动对焦、自动...
  • 图像是人类获取和交换信息的主要来源,因此,图像处理的应用领域必然涉及到人类生活和工作的方方面面。随着人类活动范围的不断扩大,图像处理的应用领域也将随之不断扩大。遍布从航天航空、医疗设备、通信工程、军事...
  • 任务描述:通过对信息与信息技术概念的理解,掌握信息技术的发展和应用。... 从应用的角度来看,信息技术经历了数值处理、数据处理、知识处理、智能处理、网络处理五个阶段,目前正在向网格处理阶段过渡。
  • “数字图像处理”是为了适应现代装甲车辆战场信息获取与信息处理的要求而开设的一门专业基础性课程。数字图像处理技术大量的研究、教学文献、资料均是以英文形式出现的,直接以原文为信息源来理解相应理论和方法,...
  • 随着信息技术发展应用的逐步深入,企业在日常的生产运营和管理中越来越依赖于计算机网络,以及基于信息技术所开发出来的各类应用系统。当前,通过引入信息技术来协助管理流程、优化管理模式,已经是企业的共识。...

    技术交流,获取源码Q:1225467431

    随着信息技术发展与应用的逐步深入,企业在日常的生产运营和管理中越来越依赖于计算机与网络,以及基于信息技术所开发出来的各类应用系统。当前,通过引入信息技术来协助管理流程、优化管理模式,已经是企业的共识。

    本文构建了一套基于MVC的公文处理系统,对公文管理系统进行需求分析,包括公文处理系统的基本需求,包括功能需求与性能需求,在功能需求中,详细分析了用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块功能。最后阐述了信息系统的性能需求。对系统进行概要设计,包括从操作可行性、管理可行性和技术可行性三方面对系统进行可行性分析。然后从安全性原则、可靠性原则、灵活性原则、准确性原则等方面阐述了信息系统的设计原则,最后以目前比较成熟的B/S结构作为基本架构,设置了MVC的结构模式,并阐述系统的框架设计。对信息系统进行详细设计,包括用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块的设计。

    信息系统的实现,包括公文处理系统的详细实现求,详细分析了用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块功能的实现。系统测试,包括性能测试与功能测试。在功能测试中,测试均获通过;在性能测试中,引入应用比较广泛的LoadRunner软件。通过构建应用场景,在该场景之内运行所构建的测试脚本,在信息系统上施加一定程度的应用负载和使用压力,来决定系统多能承受的最大负载、最大并发等指标,从而评估其稳定性。

     

     

    关键词:公文管理系统  MVC  J2EE

     

     

    The design of the MVC-based document management system

     

    Software Engineering

     

    Graduate Student          Adviser:    

     

    With the development of information technology, computer supported business manage system has becoming more and more important for modern corporations. An intelligent transportation system makes use of information technology to raise management efficiency.

    This thesis is based on the MVC-based document management system and analyze its’ basic requirements of document processing system, functional requirements and performance requirements. The functional requirements are a detailed analysis consists of the followings; the user management module, document management module, document management module, file management module and management module functions sign. Finally, the performance requirements of the information-data system carries on the outline design to the system, including feasibility analysis to the system from operating feasibility, management and technical feasibility of three. Then the design principle of information system is expounded from the aspects of the principle of safety, reliability, flexibility, accuracy principle, and finally to the current B/S structure more mature as the basic framework, the structural model of MVC, and elaborates the framework design of the system.

    Realization of information technology system, including the detailed implementation of document processing system, the user management module, document management module, document management module, file management module, management module function realization of sign. To determine the maximum load and maximum concurrent index system can bear, a popular LoadRunner test software is used to evaluate its stability, through the test script application scenarios, the construction operation on the scene within, apply to some extent in the information system load and pressure, were also carried out.

     

     

    Keywords: document management system  MVC  J2EE

     

     

     

     

     

     

     

     

     

     

    1引言... 1

    1.1          选题背景与意义... 1

    1.2 国内外发展现状... 2

    1.3本文内容安排... 5

    1.4 本章小结... 6

    2 基本理论概述... 7

    2.1J2EE概述... 7

    2.2 EJB容器... 11

    2.3基于MVC的系统设计... 13

    2.4 本章小结... 15

    3 企业公文处理系统需求分析... 16

    3.1企业公文处理的现状分析... 16

    3.2企业公文处理功能需求分析... 17

    3.2.1用户管理功能需求... 17

    3.2.2发文管理功能需求... 19

    3.2.3收文管理功能需求... 20

    3.2.4签报管理功能需求... 22

    3.2.5档案管理功能需求... 23

    3.3企业公文处理流程分析... 24

    3.3.1文书档案办理层流程... 25

    3.3.2收文数据层流程... 25

    3.3.3签报数据层流程... 26

    3.3.4发文数据层流程... 26

    3.4系统性能需求... 27

    3.5 本章小结... 28

    4 系统概要设计... 29

    4.1系统可行性分析... 29

    4.1.1操作可行性... 29

    4.1.2管理可行性... 29

    4.1.3技术可行性... 30

    4.2系统设计的主要原则... 30

    4.3部署架构的构建... 31

    4.4数据库设计... 37

    4.4.1 数据库概念结构的设计... 37

    4.4.2表文件的设计... 42

    4.5本章小结... 45

    5 系统的详细设计... 46

    5.1 用户管理模块的设计... 46

    5.1.1功能设计... 46

    5.1.2流程设计... 46

    5.2发文管理模块的设计... 47

    5.2.1 功能设计... 47

    5.2.2类的设计... 49

    5.3收文管理模块的设计... 51

    5.3.1 功能设计... 51

    5.3.2类的设计... 53

    5.4签报管理模块的设计... 55

    5.4.1 功能设计... 55

    5.4.2类的设计... 56

    5.5档案管理模块的设计... 58

    5.5.1功能设计... 58

    5.5.2类的设计... 59

    5.6 本章小结... 61

    6系统的实现... 62

    6.1 用户管理功能的实现... 62

    6.2 发文管理功能的实现... 63

    6.3 收文管理功能的实现... 66

    6.4签报管理功能的实现... 67

    6.5 档案管理功能的实现... 70

    6.6 本章小结... 71

    7 系统测试... 73

    7.1功能测试... 73

    7.2性能测试... 74

    7.3 本章小结... 75

    8结束语... 76

    参考文献... 77

    声  明... 79

    致  谢... 80

     



     

     

    1引言

    1.1   选题背景与意义

    随着信息技术发展与应用的逐步深入,企业在日常的生产运营和管理中越来越依赖于计算机与网络,以及基于信息技术所开发出来的各类应用系统[1]。双流国际机场集团有限公司是国家大型企业,也是国有省重点扶持和发展的大型支柱性企业,近年来,该企业逐步引入了信息技术来优化自身的管理流程,提升管理水平,取得了较好的效果。然而该企业当前的公文处理流程依旧是基于纸质文档,由于环节较多,涉及到许多不同的职能部门,如果全部以手工的方式进行处理,不但容易出错,而且由于环节比较多、公文处理周期比较长,严重影响了处理效率[2]

    在很长一段时期之内,双流国际机场对于公文的处理均是依赖于纸质媒介,以手工的方式进行签报和转发,在企业竞争日趋激烈,信息传递效率过低会影响到企业的工作效率与核心竞争力,基于纸质文件的公文处理模式逐步累积起,有如下的问题:

    1)公文处理带来较大的工作量

    双流国际机场的行政管理中心负责对于所有公文的处理流程,因此企业内部的公文以及集团公司和行业协会等下发的公文数目非常多,每年都达到数千份。而这些公文在具体签报和执行的过程中需要经过许多职能部门,包括总经理秘书处、行政中心主任、承办部门行政办公室等,这些文件均已手工的方式进行签报和转发,为部门工作带来较大的工作量,且容易出现疏漏,效率不高。

    2)难以实现各负其责

    由于所有的公文均以人工的方式进行处理,经常会因为疏漏而导致错误,一旦错误发生,例如文件重复签发或者文件中途丢失等,难以找到相应的责任人,影响了企业的运营效率,由于责任不清,有时候会在部门之间造成摩擦。

    3)重复劳动,效率低下

    由于公文的重要性,因此在任何一步转发和传递的过程中均应该进行详细的签收与登记,因为公文往往包含涉及到较多的文件,通常会出现一份文件被签收多次的重复劳动,对企业管理的效率造成了影响。

    由于在公文处理的流程里有时候难以避免会带来一些人为主观因素的影响,导致企业的管理受到负面影响,亟需改变公文处理模式。随着各大兄弟企业纷纷引入信息化的办公模式,双流国际机场也应构建一个方便易用的公文流转信息系统,从而降低企业的行政管理成本,增加效率,提升企业的综合竞争力。

    随着我国大力倡导信息化的发展和应用,不少企业均将信息化建设作为自身的发展方向之一。而双流国际机场目前已经拥有比较完善的计算机和网络等基础硬件设施,并且从领导的层面已经越来越重视各类应用系统的引入,这就为公文流转的信息化打下了基础。通过基于计算机和网络的公文流转,使企业能够通过信息技术来实现办公流程的无纸化、自动化,进而显著提升企业的执行力,进而促进企业综合竞争力的提升。本文将结合双流国际机场的实际情况,具体分析其公文流转的用户需求,并以成熟的MVC模式为其构建公文网上流转信息系统,本文的研究对于企业的发展壮大具有比较现实的意义。

    1.2 国内外发展现状

    信息技术的发展为全球的各大产业带来一场革命。当前,通过引入信息技术来协助管理流程、优化管理模式,已经是世界各国的共识[3]。世界上的大部分国家均把信息技术作为自身实力发展的战略重点来抓。目前,办公自动化的研究方兴未艾,而公文流转技术作为与OA技术密切相关的内容,也得到了长足的发展。目前,从技术层面来讲,公文流转的系统已经可以通过不同技术或者不同平台来实现,经过文献的分析和总结,当前国内外发展比较成熟的公文流转系统,其主要的开发手段综述总结如下:

    1)以群件技术为基础的电子公文流转信息系统

    所谓“群件”指的是协助一个团队(又称“群组”)来协同交互的系统[4]。当前,在市场上一级在用户中取得了良好口碑的群件系统主要包括两大系列,一是国际商用机器公司“莲花”Notes办公处理系统,二是来自微软的ExchangeServer综合化办公自动化信息系统[5]

    “莲花”Notes办公处理系统最初是lotus公司开发的,该公司随后被国际商用机器公司收购。“莲花”Notes办公系统的架构是基于C/S,属于典型的群件产品,该系统的最大优势在于能够支持工作流设计,由于在日常的OA自动化管理中涉及到比较多样化的工作流程,因此该产品具有适应性强的优势,并被业界评价为技术成熟而易用性强的办公信息平台[6]。由于支持基于工作流的开发和设计,因此能够完全适应不同企业或者机构对于事物处理的复杂要求,在很长一段时期之内都是办公自动化使用者首选的主流应用系统[7]。虽然“莲花”Notes办公处理系统主要的应用模式是C/S 环境,但是在技术的发展和用户需求之下,该系统逐渐也可以支持基于B/S的应用框架。

    “莲花”Notes最大的优势是在文档的管理方面和用户权限的安全性方面设计非常严密科学,因此基于“莲花”Notes的公文流转系统能够很好地适应企业或者机构对于信息安全和管理层次的不同需求。然而这个系统也存在其固有的缺陷,即由于过分的注重事务流程的标准化,导致系统的灵活性不足,无法在用户多样性的要求面前灵活应对,此外,该产品的设计与实现成本偏高,用户界面不够灵活多样,使用者只有在进行良好的培训之后才能熟练掌握其操作方法,这些缺陷也限制了其进一步的发展,限制了其在市场上的竞争力和占有率。

    来自微软的ExchangeServer综合化办公自动化信息系统同样属于典型的群件产品,该系统的诞生年代是1996[8]。产品同样支持用户对工作流进行设置,因此可以适用于不同的行业与不同的场合。此产品的不足之处在于,用户无法直观地进行归纳的设置与操作,并且产品在面对不同用户的需求难以灵活应对,所以导致与其他信息系统间难以实现无缝的兼容,也不能灵活地进行归纳的扩展。以上这些缺陷直接导致ExchangeServer难以进行深度的二次开发。在OA系统诞生的初期,ExchangeServer具有很高的市场占有率,然而其灵活性差,在客户端进行email的操作只能基于 Outlook Express技术,直观性和灵活性均较差,因此发展到现在,这类产品在市场上的占有率以及在用户群中的知名度也渐渐降低。

    2)以.NET框架为基础的公文流转信息系统

    .NET技术来自Microsoft公司,由于包含了来自微软的各类核心技术,因此具有独到的优势。这些技术包括CLRBCL等,为产品的性能打下了比较良好的基础。基于.NET的开发框架可以与操作系统实现无缝的融合,因此也能够方便地与基于该操作系统的所有应用系统进行数据的交换,这就使系统的开发具有比较好的灵活性,而软件系统的可配置性也大大增强,基于.NET技术的应用系统既能够支持B/S模式,同时也能够支持C/S模式,因此可以比较容易地引入许多种类的现成的中间件,这个优势为其带来了灵活多样的表现形式以及比较强大的功能,并有效地降低了信息系统的开发难度,减少了开发成本[9]

    基于.NET开发框架的系统能够支持VB环境、VC环境等多样化的开发工具,所以该开发框架的应用范围比较广泛,逐渐发展成为通用性极强的开发方法[10]。但基于.NET的开发框架同时也存在一些不足之处,其最明显的地方在于,必须通过比较复杂的重定义过程,才能进行公文流转系统的开发与实现,这项不足导致其在进行比较大型应用系统的开发时难以发挥过多的优势。由此可知:基于.NET的开发框架其优势主要表现在灵活性强、具有比较好的可配置性和良好的可扩展性,可以和各种成熟的操作系统进行无缝的融合,从而与基于该操作系统的应用软件方便地进行数据和信息的交互,同时支持B/S 模式与C/S 模式,以及大量中间件[11]

    3)以Java环境为基础的公文流转信息系统

    Java创始于Sun公司,该公司与上一世纪九十年代正式推出基于Java的设计开发平台以及Java语言[12],客观地将,Java平台是至今在世界范围之内被广为接受的、使用最为广泛的编程语言,其最大的优势在于开发环境简单,支持面向对象的程序设计模式,支持解释型的开发过程,支持多线程的应用,程序的开发与平台无关。此外,该环境能够支持大规模、高效率的数据处理,并且维持较高水平的系统稳定性,因此在开发浏览器形式的信息系统方面表现较好。具体到办公自动化系统,基于Java环境的开发方法能够很好地支持OA系统中的工作流应用,并且在灵活性方面表现较好,能够拥有与.NET环境相同的开发效率。由此可知,基于Java环境的信息系统开发模式十分适合于办公自动化类软件的设计与实现。不过,当前在商用市场之中,基于纯Java环境的办公自动化系统并不占主要优势,不少系统在其部分功能的实现方面使用了Java[13]

    综上所述,随着信息技术的发展和应用,办公自动化信息系统的开发模式和使用效果均在近年来取得了比较明显的进步,而具体到本研究所聚焦的企业公文流转系统,因为特定的企业办公流程具有自身独特的特点,因此在处理过程上能够体现出复杂性和多样性,而当前在市场上现有的公文流转信息系统有着各自的优缺点和适应范围[14]。而我国国内的产品则落后于世界上一些发达国家的主流成熟产品,操作包不方便,也难以适应企业自身独特的要求,所以,结合企业实际情况,进行公文流转信息系统的开发设计与实现,具有比较好的理论价值和实践意义。

    1.3本文内容安排

    本文构建了一套基于MVC的公文处理系统,其内容安排如下:

    第一章为系统概述,主要内容为阐述了本文的研究方法与路线,类似的产品在国内与国际的发展现状,以及本文所包括的主要内容。

    第二章为基本理论概述,主要内容为研究中将会使用到的技术,包括在J2EE所定义的技术规范中的四个层次:J2EE客户端层、J2EE网络层、J2EE业务层、分布式应用技术以及基于MVC的系统设计。并论述了如何通过MVC结构的使用协助系统对分布式应用程序进行高效的分析。

    第三章为系统需求分析,主要内容为公文处理系统的基本需求,包括功能需求与性能需求,在功能需求中,详细分析了用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块功能。最后阐述了信息系统的性能需求。

    第四章为系统概要设计,主要内容为从操作可行性、管理可行性和技术可行性三方面对系统进行可行性分析。然后从安全性原则、可靠性原则、灵活性原则、准确性原则等方面阐述了信息系统的设计原则,最后以目前比较成熟的B/S结构作为基本架构,设置了MVC的结构模式,并阐述系统的框架设计。

    第五章为信息系统详细设计,主要内容为用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块的设计。

    第六章为信息系统的实现,主要内容为公文处理系统的详细实现求,详细分析了用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块功能的实现。

    第七章为系统测试,主要内容为性能测试与功能测试。在功能测试中,测试均获通过;在性能测试中,引入应用比较广泛的LoadRunner软件。通过构建应用场景,在该场景之内运行所构建的测试脚本,在信息系统上施加一定程度的应用负载和使用压力,来决定系统多能承受的最大负载、最大并发等指标,从而评估其稳定性。

    第八章为结束语。总结与展望。

    1.4 本章小结

    本章为系统概述,主要内容为阐述了本文的研究方法与路线,类似的产品在国内与国际的发展现状,以及本文所包括的主要内容。

     

     

    2 基本理论概述

    2.1J2EE概述

    J2EE开发框架由SUN公司进行开发,J2EE的初衷是构建一个能够在开放式企业级信息系统中应用的标准规范。J2EE在开发伊始便十分注重其在跨软件平台方面的表现,因而这种开发框架十分适合于开发各类公司或者机构的管理信息系统,这也是本研究采用J2EE进行开发的原因。在J2EE构架中,主要的功能在于整合了一批相关的软件产品开发技术规范,同时还为开发者提供一整套基于分布式架构的开发模式[15]

    结合具体的功能,一个多层次的分布式应用架构能够将所有类别的应用在逻辑上进行层次的划分,任意一个层次均具备其所对应的组件,以及相应的服务器设备,J2EE提供组建容器,供组件良好的运行[16],举例来讲,J2EEEJB 容器、Servlet 容器即为专供EJBServlet组件运行,为了实现不同组件之间进行即时的调用,J2EE为其提供具有针对性的协议,来实现不同组建之间的通信。

    J2EE框架中,所定义的各类组件包括三个类别,分别是系统客户端组建、网络组件以及服务器端组件模型,信息系统的开发人员在开发相关系统时,应结合这些组建所对应的规范,从而获得更好的开发环境支持,在这些组建的支持下,开发者在企业级应用系统的开发中会提高效率。J2EE 组件和层次如图所示[17]

     

    2-1 J2EE 组件和层次

    J2EE开发环境中,对相关的技术指标进行了定义与部署,因此J2EE可以实现企业级的信息系统。J2EE的分布应用是以API技术与符合指标的工具来共同支持的,通过以下的应用对分布式开发进行支持[18],在这个结构中,对于开发者来说,要提供如下内容:

    1J2EE组件

    J2EE框架中,其所包括的组件可以引入各种各样的开发语言进行开发,所开发的相关模块还能够重复加以使用,在任意一个组件中,均为开发者准备了相关的方法以及属性等,可以说,J2EE开发方式的核心思想便是基于组件的应用以及容器的使用[19]

    2JSP Sevlets

    Sevlets 是一种服务器端的Java应用程序,其功能是用于在开发程序里生成页面,也可以通过分析来自系统用户的请求,以调用自身EJB的方式,生成具有针对性的操作,Sevlets J2EE以容器的方式产生的,并且具备内容和显示相互独立的功能。在 J2EE的开发环境里,创建 Sevlets是通过API实现的。

    3 服务器端组件技术规范

    服务器端组件技术规范的功能是为信息系统开发者提供部署服务器组件的支持,通过这些技术规范,用户在进行开发时,便可以不用再花时间在底层细节问题的实现上,而是可以把更多的精力使用在具体的事务实现之中,在信息系统开发完毕的时候,结合最初的部署,在服务器端组件容器中进行规划,然后进行事务功能的具体实现。服务器端组件技术规范同时也可以对分布式计算进行支持。

    4)数据库访问

    几乎所有的企业应用信息系统均需要数据库,其作用是很重要的,在软件开发者进行分布式信息系统的开发时,对数据库具有比较高的要求,例如在访问数据库的时候应该体现出比较好的灵活性与功能的可扩展性。

    为此,在J2EE框架里,为用户提供了数据库操作的API,在其协助下,可以简单地对多种格式的数据库进行操作[20]。在J2EE中,JDBC是专门用于底层应用程序编程的开发接口,通过JDBC,能够实现各类数据库管理系统的无缝调用和访问,JDBC还可以支持一些基础性的数据库查询功能。JDBCJ2EE访问数据库提供了顺畅的访问机制以及存储结构的规则,从而使系统在面对不一样格式的数据库时,展现在用户眼前的是一个统一界面,通过这种方法来实现访问数据库的可扩展性[21]

    5)分布式通信技术

    在分布式部署的企业级的管理信息系统中,分布式通信技术是实现系统的支柱之一,在J2EE的开发环境之下,具备了给网络应用和服务器端组件应用的丰富的通信方法,在这些方法的支持下,可以使一个终端上的任意一个对象实现对另一个终端上的任意对象的调用,下图显示了一个客户端调用分布式对象的过程[22]

     

    2-2一个客户端调用分布式对象的过程

    为实现以上功能,J2EE所提供的方法包括:

    1RMI远程调用:RMI的功能是为不同的Java对像实现彼此的异地通信。其实现的方法为:由系统的管理服务器,以用户事先的注册,将java对象的具体名字捆绑在需要被调用的远程对象上,用户终端在操作的时候,所需做的只是查询存储于服务器上的名字,如此便可寻找到需要调用的远程对象,找到远程对象后,还需将该远程对象的本地代理下载下来,用此种方法实现对远程对象的调用。

    2JavaIDL远程调用:IDL即接口定义语言,其功能为支持Java对象与CORBA远程对象之间的相互通信。

    3JNDI远程调用:JNDI指的是Java目录接口,Java目录接口在分布式信息系统的远程调用中,接口的命名是以访问远程对象的标准进行的,无论是J2EE系统里的主接口对象、还是用户服务器端的数据源,全部可以通过JNDI的模式在信息系统的服务器里实现事先的注册,在需要进行远程调用的时候,系统会寻找那些符合INDI的程序接口,以这些接口为基础,在Java目录接口里,查询到传输至本地的远程对象的名称,从而实现远程调用。

    4JMS消息服务:这里所提到的消息服务,指的是由Java所提供的一套必要的规范,该规范的主要目的是为开发消息中间件应用程序而准备的。在Java的信息系统被其客户端用户以及中间层结构模块访问的时候,系统的开发者无需在将时间耗费与低级的技术细节方面,而是将主要的精力倾注于实现 JMS 定义的简单接口。具体的操作原理如图所示:

    0

    2.2 EJB容器

    服务器端组件容器即EJB 容器,该容器是提供了一组必要的运行环境,包容器可以先启动事务,并在方法完成后终止事务。如图所示:

     

    2-3 EJB 容器运行环境

    这个环境是Enterprise Bean在系统级服务方面所必须的,服务器端组件容器可以支持以下的重要服务:

    1)安全性保障

    在以分布式模式进行开发的信息系统中,任意一个系统客户均被分配了特定的一个角色,系统为这个角色激活与之相对应的独特的方法,同时在系统的相关描述中里,会对该方法进行声明,并描述被激活的过程,而服务器端组件容器仅仅可以被得到授权的系统用户进行激活。在这种方式的控制之下,系统的开发者在不必强调安全性规则与安全代码的前提下也可以简单地完成系统的安全性设置与保证。

    2)连接到远程客户

    服务器端组件容器以一定的规约实现客户端和服务器端的沟通,当在信息系统的服务器端建立Enterprise Bean时,结合服务器端组件容器所建立的规则,在客户端并且得到了系统授权的相关用户便能够轻易激活 Enterprise Bean

    3Enterprise Bean生存周期

    在系统生存周期的管理方面,一般所用的方法是是通过调用一下两个方法:一是Create方法,二是Remove,在实现对这两个方法进行调用的过程中,服务器端组件容器同时也在信息系统的后台运行,服务器端组件容器通过创建与维护 EnterPrise Bean,并将其置于实例池中,当该对象处于活动状态的时候,可以对其进行处理,也可以把它从容器移去,在系统的实际运行中,一个生存周期之内,Enterprise Bean往往可以历经多种不同的状态。

    Home对象是EJB对象的工厂,Home对象知道EJB对象的初始化方法如图所示:

     

    2-4 Home对象知道EJB对象的初始化方法

    4)数据库系统连接

    在一个信息系统中,数据库的作用是很明显的,但是数据连接往往很有限,单一的数据连接耗时往往超出预期,服务器端组件容器为克服这个不足,为开发者构建了数据库连接池,作为支持数据连接的工具。服务器端组件容器为了使数据库连接效率得到提升,引入了对数据库连接池的管理模式,在这样的模式之下,系统的Enterprise Bean能够以更快的速度获取数据库连接,一个数据库连接被释放以后,其他的Bean便能够继续对这个连接进行设置与使用。

    下图显示了一个Enterprise Bean调用实例:

     

    2-5 一个Enterprise Bean调用实例

    2.3基于MVC的系统设计

    MVC结构的使用,能够协助系统对分布式应用程序进行高效的分析。在MVC结构之下,作为一个抽象的结构,MVC可以使任意的应用程序从一个整体划分为一些相对独立的逻辑单元,其结果便是能够使系统的编写与此前相比难度降低。MVC作为一种信息系统的开发方法,由Smalltalk机构首先提出,并将其引入到开发交互应用程序的过程之中。MVC在设计伊始,所强调的就是实现信息系统的三个层次,任意一个层次相互独立,开发者可以对其进行独自开发,从而实现层次与层次之间的高内聚和低耦合。基于MVC的系统结构如图所示:

     

    2-6基于MVC的系统结构

    在上图中,控制器的作用是实现其余两层的通讯桥梁,对其进行连接,并实现之间的业务逻辑,而模型层的主要功能是承担数据库中数据的映射和转换,从而实现数据库的良好封装与隔离,视图层的主要功能是显示界面。

    通过MVC结构实现了相对独立存在的模型、视图与控制器,其结果便是:系统的任意模型都能够拥有不止一个视图。意即:假若某一个用户经由其中任意的视图里所对应的控制器对模型的数据进行了改写,则该系统中所有与这些被改写的数据存在关联的视图全部能够体现出这些改写之后的变化。由此可知,在系统运行的过程中,不管什么类型的数据,只要这些数据被改写,出现了变化,系统的视图层便会收到来自控制器的提示通知,这样就可以及时的更新显示内容。

    在基于MVC的系统设计中,模型的功能是对视图显示内容进行管理,系统的数据归属于控制器进行控制,模型会将系统中核心数据进行良好的封装,提示标记处的这些数据之间在逻辑和功能方面的互联情况,为实现以上功能,模型层通过一个相对独立的界面进行输入/出。通常,开发者通过“模型”来实现具体问题情境之中的虚拟处理。

    视图的功能集中于以清晰的语言表述模型层里数据之间的逻辑联系,将数据的内容以及当下的状态以合乎规约的表现形式向系统用户显示出来,使用户看起来简单易懂。因此,一旦系统的模型发生了一些变化,系统便会通过视图的功能来实现数据与模型之间的统一,此外,系统会通过视图模块,把用户的实际需求结果描述之后传输至控制器,控制器结合这些信息,进行操作。

    控制器的功能为实现用户与软件之间的信息交互。具体方法是:控制器收到从用户出传输来的输入内容,这些内容来自视图,并以一定的语法规则解释用户的实际需求,然后将用户的需求再传输至模型,通过以上的方式来支持控制器对于模型的良好控制。假若这样的情况发生在相对独立运行的客户端,则来自于系统用户的需求往往比较简单,用户需求的表现形式也类似于鼠标单击等相对简单的操作。

    假若这样的情况发生在Web应用的大型程序中,则来自于系统用户的需求则一般为从客户端传输至此的HTTP请求。通常情况下,可以将控制器理解为功能相近的操作的集合,而MVC的模型进行的操作,一般有多种类型,举例来讲,处理业务的操作以及模型状态的改变等。在这种情况之下,系统的控制器就结合该用户的具体需求,并兼顾模型行为的结果,为用户挑选一个合适的视图作为响应。

    2.4 本章小结

    本章为基本理论概述,主要内容为研究中将会使用到的技术,包括在J2EE所定义的技术规范中的四个层次:J2EE客户端层、J2EE网络层、J2EE业务层、分布式应用技术以及基于MVC的系统设计。并论述了如何通过MVC结构的使用协助系统对分布式应用程序进行高效的分析。

     

     

    3 企业公文处理系统需求分析

    为企业的公文流转构建信息系统,其最终的目的便是结合企业自身已经建成的比较完善的基础内部网络,在信息技术的协助下开发和实现一个自动化程度高的公文流转信息系统,从而使企业的所有部门以及企业的领导和决策机构能够通过网络和无纸化办公的模式实现公文处理流程的标准化,并且向企业的异地分公司进行拓展,最终实现企业整体的公文处理事务全部评议到网络。本研究结合对企业办公和公文处理现状的调查,获取其在公文处理方面的实际需求,并以开发信息系统所需的形式对需求进行总结与描述。

    3.1企业公文处理的现状分析

    企业的生产管理、人事任命以及政策的下达均以公文作为信息的载体,可以说公文是企业最为重要的文件类型之一。在企业的公文中,不但包括企业内部的政策与规章的部署,也包括上级主管部门或者行业协会等部门的文件,这些文件的沟通特点使具有机密性、重要性与及时性,必须在短时间内得到及时的批复与实施。而由于公文涉及到企业的管理层级,并且需要切实地下达执行,因此公文的传递流程往往具有复杂化和精细化的特点。

    从企业公文的来源来看,可以分为企业内部的公文与企业外部的公文,前者指的是企业处于管理或者其他需要而自行制定的公文,后者则一般是来自上级主管部门或者行业内部的文件。笔者经过调研,双流国际机场当前在公文处理方面所需进行的操作可以归纳为几个方面,简述如下:

    1)对于来自上级主管部门、行业主管单位的文件,需要企业的行政管理部门对其接收、初步处理、领导会签,然后以分发的方式将公文转发至各个下属机构、分公司。

    2)对于企业本身拟定的各类重要公文,则以统一分发的方式向企业的所有二级机构和分公司进行发送,并随时关注其处理及执行效果。

    3)对于企业所处理的各类公文,必须详细对公文的流程和交接进行记录,并按照规则进行存储,为日后的查询和收整打下基础。

    4)严格监督公文的流转和执行。

    3.2企业公文处理功能需求分析

    结合对双流国际机场现状的调研,并分析了企业在日常处理公文中的实际特点,可以总结出该企业对于公文流转的实际需求可以抽象为5个功能,分别是用户管理功能需求、发文管理功能需求、收文管理功能需求、签报管理功能需求以及档案管理功能需求。

     

    3-1公文处理系统功能需求

    公文处理系统功能需求阐述如下:

    3.2.1用户管理功能需求

    1)功能需求描述

    企业公文涉及到商业机密,因此对于用户的管理有着较为严格的规定,用户管理功能也是公文处理系统的首要需求之一,首先,信息系统的管理员有权限对于系统用户进行设置,可以对用户进行添加、删除、查询等;不同的用户结合自身的级别与权限范围,能够在公文处理系统中进行不同的操作。

    由于公文具有保密性,所以用户的身份应该经过系统认证,用户登录之后能够对自己的个人资料进行设置,修改用户名和密码,也能够收到系统的消息提示等。

    2)用例分析

    下面对用户管理功能进行用例分析。

    用户管理模块的主要功能有:

    人员登记:对新用户进行认证,对一般用户进行用户名与密码的维护,为用户进行分类,并为每个类别的设置具体的操作权限。

    部门管理:为企业中不同的部门进行权限的分配,结合部门的实际职责,赋予或者限制其对公文的具体操作种类和范围。

    角色设置:通过不同用户类别的划分,为不同的工作内容和人员职务级别设置与其职能相匹配的角色,从而限定其操作权限。下图为用户管理模块的用例图:

     

    3-2用户管理模块的用例

    3.2.2发文管理功能需求

    1)功能需求描述

    这一项功能包括公文的发文全过程,通过系统的发文管理功能,应该能够模拟并且完全代替传统公文管理中纸质文件的处理过程从而使文档的流转向电子化和自动化发展。

    在企业公文处理中的发文管理需求中,应结合企业公文管理的具体流程为用户提供起草公文和公文归档、查询、存取功能的支持;公文拟定之后,即进入会签阶段,经过此模块的支持,将拟好的公文传输至会签者处,实现对公文的及时签批;并结合公文的类型和实际流向来控制其下一步的传递;公文流转所经过的任何一个节点均应由信息系统进行记录,该记录包括详细的修改人、会签人、批示人以及以上行为的发生时间、执行者的用户名等信息。

    当公文由企业主管领导进行签发之后,系统应能够对其结合相关的标准进行编号,最终形成正式文件,以电子签名技术生成签章,将文件属性设置为只读,进入正式的发文流程。

    2)用例分析

    下面对发文管理功能进行用例分析。

    发文管理模块的主要功能有:

    科室拟稿:企业文件首先由相关部门进行拟稿,以公文的形式对政策或者管理进行描述,形成公文的初稿。

    公文初核:公文初稿形成之后,需要对其内容和格式进行初步的核对,结合公文的目的进行修改和调整,使其中可能含有的疏漏甚至错误得到消除。

    领导审签:由主管领导对公文进行审核,提出进一步完善的意见,由拟稿的部门对公文进行再次完善。

    公文核稿:在公文正式签发之前,核对其所有的关键之处,避免发生错误。

    领导签发:由主管领导正式签字,可以使电子签名,也可以使手签,随后公文生效,进入流转阶段。

    文书印发:这里的印发,指的是通过信息系统来启动公文的流转过程。

    下图为发文管理模块的用例图:

     

    3-3理模块的用例

    3.2.3收文管理功能需求

    1)功能需求描述

    双流国际机场隶属于集团公司,因此其收文包含两个部分,一是上级管理运营部门发来的指导性文件等,另一个则是企业本身对于生产和管理等方面的公文。

    当系统收到一个新的公文之后,则启动了收文管理功能,具体的流程是:公文的确认签收、公文管理部门对公文进行登记与审核、主管领导对其作出拟办的指示、企业管理层进行批办的批示、由职能部门收到公文之后进入承办、并为相关部门或者实体传阅、公文承办完毕之后进行归档等处理环节。以上的流程能够使来自上级的指令或者政策得到及时的部署与执行。

    此外,在信息系统的发文管理功能之中,由于不同的公文有着不一样的保密级别,因此应结合公文的具体属性进行登记,主要的属性包含密级、部门、日期等,其中日期是由系统自动生成的。收文管理中,结合企业对于不同属性的公文的处理流程,系统自动控制和监控公文的具体走向以及每一阶段所应进行的所有操作。为增强信息安全性能并提升处理效率,系统为用户提供电子签名功能,并支持具有权限的用户在线批阅公文,企业管理者则能够查询公文在流程中,每一个节点的所有处理意见和处理结果;为了提升处理效率,系统应为不同属性的公文进行优先级的分配,并且为不同类型的公文进行流转时间的控制,如果时间即将到期,则会自动以各种方式提醒用户加快处理速度;协调应支持公文传阅的功能,再具体的流程中逐级将文件向下一名处理用户进行传递.

    系统对于公文传阅的每一个节点的用户与实践均进行详细记录,系统管理员则能够监控所有公文的处理流程和办理结果;在公文的收文流程结束之后,系统将公文本身以及其所有流程节点的批示即用户均进行自动的存储,管理员可以对存储文件进行管理,用户则能够通过查询功能进行查询调取。

    2)用例分析

    下面对收文管理功能进行用例分析。

    收文管理模块的主要功能有:

    收文登记:对于每一份收到的公文均应结合其具体的类别和属性进行详细的登记,为查询公文以及跟踪公文的流程做好数据支持。

    公文分发:结合公文的保密级别以及部署覆盖面,对公文进行定向分发,使每一个应该接收到信息的部门或者个人均能够及时收到。

    公文查询:查询的功能应能支持通过不同的关键字进行查询,包括按公文名称查询、简单查询、高级查询、组合查询等。按照公文名称查询,用户只需输入公文的名称,便可查到与该名称匹配的公文信息;简单查询则支持用户输入公文名称中的几个关键字,系统会自动查询出与这些关键字相类似的公文列表;高级查询则结合用户的查询历史和用户角色,以定制的模式向用户显示出更加接近用户需求的结果;组合查询通过不同条件的组合,得到更加精确的查询结果。

    下图为收文管理模块的用例图:

     

    3-4理模块的用例

     

    3.2.4签报管理功能需求

    1)功能需求描述

    企业公文的逐级批示的具体内容是十分重要的,关系到公文在执行时的紧急程度和具体方式,因此需要系统提供签报管理功能,该功能主要实现企业对于公文中一些重要事项的具体请示,根据公文种类的不同,这些请示也能实现各个部门的联合审批,若有需要,则一份公文也能够同时向多个用户报送,实现多人审批,为适应企业的实际情况,若审批者在异地办公,也支持异地审批方式。

    在双流国际机场中,由于实行了经理人制度,因此在公文流转过程中的签报管理,应该已经对所有的公文进行分类,并且结合不同的公文类别为之提前拟定具体的签报流程。此外,为提升签报效率,系统支持多人联合审批以及按照顺序审批等多种模式。在多人联合审批中,如果有一个用户认可,则能够认为该公文已经生效。

    此外,结合信息安全的实现技术,签报管理时应能够支持用户以电子签名或者手写的方式进行选择。与收文管理类似,在公文的签报流程结束之后,系统将公文本身以及其所有流程节点的批示即用户均进行自动的存储,管理员可以对存储文件进行管理,用户则能够通过查询功能进行查询调取。

    2)用例分析

    下面对签报管理功能进行用例分析。

    签报管理模块的主要功能有:

    并行签报:根据公文种类的不同,公文可以实现各个部门或者的并行审批,若有需要,则一份公文也能够同时向多个用户报送,实现并行审批。

    顺序签报:结合不同的公文类别为之提前拟定具体的签报流程,当收到某一类别的公文时,启动与其类别相对应的流程,实现顺序签报。

    电子签名:引入信息安全技术,实现企业主管领导的电子签名,保证签名的不可否认性。

    下图为签报管理模块的用例图:

     

    3-5理模块的用例

    3.2.5档案管理功能需求

    1)功能需求描述

    对于处理之后的公文,系统应支持对其进行归档处理的功能,包括对所有的公文进行标准化的存储,并为其进行属性的定义,实现分类与组卷,做好标准化的索引,用户则能够通过查询功能进行查询调取;还可以结合文件的密集以及具体的需要对公文进行借阅、销毁等等操作。

    2)用例分析

    下面对档案管理功能进行用例分析。

    档案管理模块的主要功能有:

    添加公文:向公文存储序列添加新近完成的公文,结合公文的具体类别为其分配序列号,并为其标注密级等属性。

    删除公文:过期公文或者由于保密等特殊要求的公文,进行彻底的删除。

    查询公文:公文查询的功能应能支持通过不同的关键字进行查询,包括按公文名称查询、简单查询、高级查询、组合查询等。

    管理公文:对公文的其他属性进行管理。

    下图为档案管理模块的用例图:

     

    图3-6理模块用例

    3.3企业公文处理流程分析

    下面以分层的模式阐述企业公文处理的具体数据流,从而更加明确系统的用户需求。从顶层到底层分别是:文书档案办理层、收文数据流层、签报数据流层、发文数据流层。

    3.3.1文书档案办理层流程

    该层的流程如图所示:

     

     
       

     

    3-7案办理层流程

    可知,在文书档案层,一共包含了三股数据流,在公文在不同数据流中经历了发文、签报、收文的过程,最终汇为归档文件,并进行存储。

    3.3.2收文数据层流程

    该层的流程如图所示:

     

    3-8据层流程

    可知,在收文数据层,主要的数据流向包含两个部分,一是公文经过登记之后,直接通过拟办签发,形成批办文件,进入办理流程;二是在公文彻底办讫之后,最终以“完成记录”的方式进行登记,并实现归档,以备日后查询。

    3.3.3签报数据层流程

    该层的流程如图所示:

     

    3-9据层流程

    可知,在签报数据层,公文在拟稿之后便形成拟稿文件,随后经过审核和领导的批示,最终形成正式的批示文件,在登记承办之后,进入办理流程,除下发之外,为日后查询,还需对其进行归档。

    3.3.4发文数据层流程

    该层的流程如图所示:

     

    3-10层流程

    可知,在发文数据层,拟稿文件经过核稿和会签之后,形成正式的会签文件,在签发之后即可形成新的正式公文,随后以红头文件的形式下发、分发。

    3.4系统性能需求

    本信息系统的性能需求,指的是在应具有的功能以外,还应具备的性能特性。具体包括:

    1)功能全面的需求

    本系统是为大型公司所开发的,大型公司的员工比较多,公司的公文处理信息量也比较繁杂,相对小公司的信息系统而言管理复杂度比较高。因此,系统更应注重用户的实际需求,满足用户对于具体功能的要求。在具体功能的实现上应全面和人性化。

    2)系统可靠性需求

    系统开发完成之后,主要的使用环境是 Windows 2000以及更高的操作系统,所以系统应具备较好的可移植性和兼容性。在安全可靠方面,系统应支持数据定期自动保存功能,从而保证在一旦有异常情况出现的时候可以尽量恢复完整的数据。

    3)易用性需求

    系统应能满足各类层次的用户使用,因此应有简洁的界面和易操作的功能,从而方便员工进行信息的管理和查询。在实际使用时,系统应以人性化的用户提示支持用户正确使用系统、方便快捷。

    4)处理能力需求

    系统应具备一定的处理能力,通过优良的硬件设备配置和网络配置,使系统达到较高的响应度,提高使用效率,此外系统应尽可能减少对后台数据库的存取行为。

    5)可移植性需求

    随着信息技术的发展,公司的网络系统也面临着定期的更新或者升级。该系统首先应基于性价比高并且性恩能够较为优良和稳定的硬件设备和网络系统。此外,为了尽可能减少成本,应考虑系统以后升级换代的需要。

    3.5 本章小结

    本章为系统需求分析,主要内容为公文处理系统的基本需求,包括功能需求与性能需求,在功能需求中,详细分析了用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块功能。最后阐述了信息系统的性能需求

     

     

     

     

    4 系统概要设计

    4.1系统可行性分析

    本文将从系统的操作可行性、管理可行性和技术可行性三方面对系统进行可行性分析。

    4.1.1操作可行性

    在设计公文处理系统的界面时,设计原则是要求用户界面要友好,操作要简单化,在此基础上,我们选择了Java程序设计语言作为系统的开发语言,使用Windows操作系统,因其友好的用户界面模式和良好的安全性设置,可以方便于公司内部员工在系统管理员的培训和指导下,能够轻松容易并且快速地掌握系统的使用方法和操作方式。同时,在该信息管理系统的设计过程中还编写了能够供系统维护人员使用或升级用的说明文档和数据查询手册,并且考虑到实现用户的实际需求情况,在输入界面、查询界面等部分上,添加了用户提示的设计等,通过这种方式能够更进一步地帮助企业员工更轻松迅速地掌握该信息管理系统的使用方法。

    4.1.2管理可行性

    企业合理的科学的管理方法和程序、完善的规章制度、管理体制以及稳定的生产秩序是企业公文信息管理系统的前提和基础,也是公司不断创新,改革和完善自己的重要因素,同时更是公司走向信息化管理的开始。所以说,只有建立高效的信息管理系统,才能够提高企业组织的整体素质,才能够增强企业组织的核心竞争力,从而能实现企业从量到质的前进。

    4.1.3技术可行性

    1)开发的软件可行性

    根据本系统的特点,用户的需求以及系统的复杂度,本系统采用Java语言作为系统的开发语言。Java语言的设计主要特点是集中于对象及其接口,它提供了简单的面向对象的机制以及动态的接口模型机制。对象中封装了类的私有成员和相应的方法,实现了模块化的信息数据封装隐藏;而类提供了面向对象的原型,并且通过继承方式,子类可以使用父类所提供的方法,实现了代码的复用。所以,在软件方面,本系统的开发是可行的。

    2)开发的硬件可行性

    开发本系统所使用的软件环境对于计算机的硬件(如:计算机的内存、主频、外频、外存)也没有过多的要求,计算机的配置要求适中,但是也不能过低,否则会影响到该系统的正常运行,配置过低可能会导致运行速率过低,或者无法支持正常运行,严重一点甚至导致数据计算性的失误或更为严重的错误。不过根据目前市场上已有主流硬件来看,这种要求应该是可以完全符合我们的需求。所以,在硬件方面,本系统的开发也是可行的。通过上文描述的操作、管理,技术等方面的可行性分析可以看出,该公文信息管理系统是可以实现的。

    4.2系统设计的主要原则

        为满足上述系统需求,本系统设计将严格按照下述设计原则进行:

        安全性原则:采用一定的技术并与相应的管理制度相结合,以保证系统安全运行,防止可能发生的错误;设置严格的权限管理体系,合理授予合法用户权限,防止非授权用户对系统的操作;充分考虑应用层的安全性,做好信息资源的访问控制。

        可靠性原则:设计中充分考虑发生异常时的数据备份和事务回滚机制及运行环境的备份方案。

        灵活性原则:软件设计时应充分考虑整个应用的灵活性要求,通过合理的模块划分和采用模块化软件设计,实现系统软件在业务变更或软件技术发展时的灵活性适应能力。

        准确性原则:数据库系统的构件应具有完备的数据完整性校验。

        标准性原则:按照国家标准建立信息库、指标、及代码,并且从软件到硬件,全面贯彻Internet/Intranet的体系结构和标准协议。

        易操作性原则:使用图形化交互式人机界面,具有操作简单、方便的特点。同时,查询界面采用浏览器模式,提高应用界面的统一化程度。

        用户参与原则:在软件开发的各项阶段性过程中,必须与用户共同研究磋商,达成共识,切实保证应用系统的实用性与可行性。

        可扩展性原则:采用标准和通用的网络设备及协议,采用开放式的数据库平台和群件系统,采用兼容性强的电子邮件系统,确保随着企业的成长,己有的资源的有效性。

        高效率原则:数据库系统的存取方式必须满足实时性要求,以及对海量数据的高效传输。

     

    4.3部署架构的构建

    公文处理系统在具体的设计中,以目前比较成熟的B/S结构作为基本架构,设置了三层的结构模式。如图4-1

     

    客户端

    浏览器

    服务器

    后台数据库

     

     

    4-1部署架构的构建

    图所示为系统的基本功能模块:

     

    用户管理模块

    收文管理模块

    发文管理模块

    档案管理模块

     

     

     

    公文处理系统

    签报管理模块

     

     

    4-2系统功能模块

    其中,用户管理模块主要实现的是对系统用户的验证和对权限的分配。结合不一样的用户角色,系统所进行的处理也各有不同。假若用户所输入的验证码不对,系统便会弹出窗口提示信息错误。公文处理系统的登陆模式分为两大类,即普通用户登陆与系统管理员角色登陆,用户的角色与其操作权限范围相关,管理员角色的用户能够对系统的所有功能模块进行设置和查看,也能为不同的用户赋予不同的权限,而普通用户的操作则局限于查看自己的公文结果,以及为其他员工进行打分、评测等。

    发文管理模块模拟并且完全代替传统公文管理中纸质文件的处理过程,公文由企业主管领导进行签发之后,系统应能够对其结合相关的标准进行编号,最终形成正式文件,以电子签名技术生成签章,将文件属性设置为只读,进入正式的发文流程。

    收文管理模块为公文的确认签收、公文管理部门对公文进行登记与审核、主管领导对其作出拟办的指示、企业管理层进行批办的批示、由职能部门收到公文之后进入承办、并为相关部门或者实体传阅、公文承办完毕之后进行归档等处理环节。

    签报管理模块支持用户以电子签名或者手写的方式进行选择。对所有的公文进行分类,并且结合不同的公文类别为之提前拟定具体的签报流程。

    系统采用 B/S 模式,在J2EE+SQLServer2000 的系统开发平台下,结合 MVC 的设计模式,实现了业务逻辑、控制逻辑以及前端数据显示逻辑的分类,从而使系统具有良好的扩展性和维护性。选择了J2EE平台,框架设计如图所示:

     

     

     

     

     

    服务组合层

    客户端浏览器

    业务控制器

    Action

    控制器

    Actionservlet

     

    视图

    jsp

    模型

    Actionform

    配置文件

    Struct.xml

     

     

     

     

    表示层

    业务、逻辑、DAO组件

    Spring

    配置文件

     

    Spring

    IOC容器

     

    业务逻辑层

    数据库

    Hibernate

    映射管理

     

     

     

     

     

     

    持久层

    UDDI

    注册信息

    WS-

    BPEL

    服务层

    服务

    连接层     ESB总线

     

     

    4-3系统框架设计

    从图可以看出,在系统框架设计中,引入了分层化的设计模式. 客户端浏览器指的是用户的界面层,在一些特殊情况之下,一些业务逻辑的实现也会包含在客户程序之中。通过这个应用系统来实现“瘦客户机”模式之下难以顺利实现的部分目标。在J2EE框架之下,对于基于网络的应用而言,系统设置在客户层中 运行用户的浏览器,此时,其所获取的网页主要来自Web 服务器,网页的来源既可以是由Servlets自动生成,又可以是在WEB 层中下载。该系统能够在基于互联网的其他环境的客户层中运行,而这个客户层为了管理用户输入,就需要构建一个Java Beans 类,通过Java Beans 类,把用户所输入的内容传输至企业层,在企业层中设置Enterprise Bean 类,专门用于处理用户的输入,这样,在不需要通过系统Web层的时候,用户的J2EE程序便能够访问系统的Enterprises Beans。通过以上小节对数据库结构、EJB结构、功能模型结构的分析,现在我们给出整个J2EE应用程序Esite的层次结构图,如图所示。

     

    4-4 Esite的层次结构图

    在业务逻辑层包括3部分,分别是业务逻辑DAO组件、Spring配置文件、IOC容器。业务层中, DAO组件承担了几乎所有的业务逻辑功能, J2EE业务层的DAO组件一般是在容器中运行,需要解决的一些底层事项,包括事务处理、生命周期等均是由容器来解决的。在J2EE业务层里,有一个运行基本模式,即通过Bean接受来自客户端的所有数据,并进行有针对性的处理,同时将处理结果传输至企业信息系统进行存储;同样,也由一个Bean 取出存储在企业信息系统层中的相关数据,将其传输至客户端程序,以便使用者阅读。

    网络层由3部分组成,分别是服务组合层、服务层和连接层。网络层与客户层在这方面有类似之处,在容器的协助之下,Web 组件运行在系统客户层,并对用户的多种操作提供支持,对客户发来的各类请求进行处理和响应。J2EE网络层的组件包含有两方面,分别是JSP页面与J2EE Servlets,后者的主要功能是显示网络页面,所显示的网络页面以打包的模式与应用程序进行组装。为了实时响应用户输入,网络层能够设置专门的Java Beans 类来进行具有针对性的管理,并且可以把所接收到的用户的输入传输至信息系统业务层中的 Enterprise Beans进行处理。

    4.4数据库设计

    本文所设计的公文处理系统引入微软公司的SQLServer,下面具体阐述系统数据库的设计与实现过程。

    4.4.1 数据库概念结构的设计

    在整个数据库结构的设计与实现过程中,最关键的部分便是其概念结构,通过概念结构的设计,能够将实体间实现关联,并以形化的模式体现其关系,本文以实体关系模型来描述公文处理系统数据库概念结构。下面对本设计所需的各类实体进行阐述。下面是涉及到的一些主要实体。

    1)用户实体与属性

    下图所示为用户实体和属性的实体关系模型:

     

    4-5用户实体和属性的实体关系模型

    用户实体指的是公文处理信息系统中的所有用户,包括管理员、企业领导及普通用户等。该实体拥有的属性包括:用户编号:为每一个用户设置一个唯一的ID识别码,可以唯一确定用户的身份;用户名:用户登录信息系统时使用的注册名称,与用户编号相对应;用户密码:为用户分配的登录密码,用户在登录系统之后可以对其进行修改;用户状态:指的是用户登录在线状态以及退出(离线状态)等。

    2)用户信息实体与属性

    由于用户种类繁多,因此在用户实体之外另设置了用户信息实体,下图所示为用户信息实体和属性的实体关系模型:

     

    4-6用户信息实体和属性的实体关系模型

    其中,用户名、登录名、密码属性均等同于用户实体;用户部门指的是用户工作的具体科室或者车间等二级机构;用户职位为用户目前的岗位、职称;隐藏用户否指的是该用户是否具有在系统中登录的隐藏功能;可见公告否则控制用户对公告的浏览权限;允许编辑信息指的是用户是否有权限对公文管理系统中的信息进行修改等操作;允许管理用户是指用户能否对其他的用户进行权限的设置或者增删,允许工作计划指的是用户能否在系统之中拟定工作计划,允许管理公文、允许发送公文以及允许接收文件规定了用户对于公文处理的具体权限范围。

    3)公文类别实体与属性

    下图所示为公文类别实体和属性的实体关系模型:

     

    4-7公文类别实体和属性的实体关系模型

    其中,编号是公文类别的代码,为每一种类别分配一个唯一不变的固定代码;类别名称指的是公文的具体类别,例如命令()、决定、公告、通告、通知、通报、议案、报告、请示、批复、意见等等;删除标记则是在某中类别被删除之后,如果未曾进行彻底删除,则暂时不会消失,而是会在其旁边标注一个删除标记。

    4)公文信息实体与属性

    下图所示为公文信息实体和属性的实体关系模型:

     

    4-8公文信息实体和属性的实体关系模型

    其中,公文标题指的是公文的题目,发送单位是指拟定并签发公文的具体部门,类型则属于“公文类别实体”中的某一种类别;编号是公文信息的唯一标识,可与其他的公文进行区分;等级则指明了该公文的保密情况以及散发范围等;接收单位是公文的目的地,附件则标注了该公文是否还具有一些附属的文件和信息等。

    5)新闻公告实体与属性

    下图所示为新闻公告实体和属性的实体关系模型:

     

    4-9新闻公告实体和属性的实体关系模型

    新闻公告是公文处理系统中对所有用户进行宣布的事项等,包括企业的一些通知、规章制度和决定。编号属性是新闻公告的唯一标识,每个公告具有唯一的编号,而用户名、标题及内容属性与其他实体的涵义类似,此处略。

    除此之外,还有诸如邮箱实体、消息实体、权限实体等,不再赘述。

    由数据库设计的ER关系可知,实体和实体之间具备着各种联系,这种联系在关系型数据库中成为“关系”。公文流转管理信息系统的整体ER图如下。

     

     

    4-10数据库ER

    4.4.2表文件的设计

    本信息系统所涉及到的主要表文件介绍如下:

    用户信息表:管理系统用户的登录数据。

    4-1用户信息表

    字段名称

    字段长度

    字段类型

    缺省值

    是否允许空

    含义

    Yhdm

    4字节

    整型数据

     

     

    用户代码,关键字

    Yhmc

    50字节

    字符串型数据

     

    允许

    用户名称

    Dlmc

    20字节

    字符串型数据

     

    允许

    用户登录名

    dlmm

    20字节

    字符串型数据

     

    允许

    用户密码

    yhzt

    1字节

    整型数据

    2字节

    允许

    用户实时状态

    用户权限表:管理用户在公文处理系统中所拥有的身份以及一直相对应的操作权限。

    4-2用户权限表

    字段名称

    字段长度

    字段类型

    缺省值

    是否允许空

    含义

    Yhdm

    4字节

    整型数据

     

     

    用户代码,关键字

    Yhmc

    50字节

    字符串型数据

     

    允许

    用户名称

    dlmc

    20字节

    字符串型数据

     

    允许

    用户登录名称

    Yhmm

    20字节

    字符串型数据

     

    允许

    用户密码

    Yhbm

    1字节

    整型数据

     

    允许

    用户所处的部门

    Yhzw

     

    整型数据

     

    允许

    用户拥有的职位

    Ycyh

    1字节

    布尔类型数据

    允许

    是否隐藏该用户

    Kjgg

    1字节

    布尔类型数据

    允许

    用户是否可见公告

    Yxkj

    1字节

    布尔类型数据

    允许

    允许部门可见

    Yxjh

    1字节

    布尔类型数据

    允许

    允许用户制定工作计划

    yxgl

    1字节

    布尔类型数据

    允许

    允许用户管理员工

    Yxgl2

    1字节

    布尔类型数据

    允许

    允许用户管理其他用户

    Yxfs

    1字节

    布尔类型数据

    允许

    允许用户进行公文发送

    glgw

    1字节

    布尔类型数据

    允许

    允许用户进行公文管理

    Fbwj

    1字节

    布尔类型数据

    允许

    允许用户进行文件分布

    Glwj

    1字节

    布尔类型数据

    允许

    允许用户对文件进行管理

    Glzw

    1字节

    布尔类型数据

    允许

    允许用户管理职位

    bjxx

    1字节

    布尔类型数据

    允许

    允许用户编辑自己信息

    用户职位表:管理公文处理系统中所有用户的职位数据。

    4-3用户职位表

    字段名称

    字段长度

    字段类型

    缺省值

    是否允许空

    含义

    Yhdm

    4字节

    整型数据

     

     

    用户代码,关键字

    Yhzw

    10字节

    字符串型数据

     

    不允许

    用户的具体职位

    公文类型表:对公文处理系统中存储的公文类型进行管理维护。

    4-4公文类型表

    字段名称

    字段长度

    字段类型

    缺省值

    是否允许空

    含义

    Gwdm

    4字节

    整型数据

     

     

    公文代码,关键字

    Gwlx

    10字节

    字符串型数据

     

    不允许

    公文类型的名称

    gssc

    2字节

    布尔类型数据

    不允许

    公文的删除标记

    职位变动表:用来管理参与企业公文处理的员工职位变动。

    4-5职位变动表

    字段名称

    字段长度

    字段类型

    缺省值

    是否允许空

    含义

    Ygzw

    4字节

    整型数据

     

     

    员工编号,关键字

    Ygdm

    10字节

    字符串型数据

     

    不允许

    员工的用户名称

    Ylzw

    30字节

    字符串型数据

     

    不允许

    员工原来的职务

    bdzw

    30字节

    字符串型数据

     

    不允许

    变动之后新的职务

    Bdsj

    8

    日期时间型数据

     

    不允许

    变动时间

    Bdwh

    30字节

    字符串型数据

     

    不允许

    变动批文代码

    Bdlx

    30字节

    字符串型数据

     

    不允许

    变动类型

    Bdfs

    30字节

    字符串型数据

     

    不允许

    变动方式

    Bdyy

    30字节

    字符串型数据

     

    不允许

    变动原因

    Jlr

    8

    日期时间型数据

     

    不允许

    职位变动记录人

    Jlsj

    30字节

    字符串型数据

     

    不允许

    职位变动记录时间

    ggr

    8

    日期时间型数据

     

    不允许

    职位信息更改人

    通知公告表:用来管理公文处理所相关的通知等消息。

    4-6通知公告表

    字段名称

    字段长度

    字段类型

    缺省值

    是否允许空

    含义

    ggdm

    4字节

    整型数据

     

     

    通知编号,关键字

    Ygdm

    10字节

    字符串型数据

     

    允许

    用户名称

    Ggbt

    20字节

    字符串型数据

     

    不允许

    通知标题

    ggnr

    20字节

    字符串型数据

     

    允许

    通知具体内容

    4.5本章小结

    本章为系统概要设计,主要内容为从操作可行性、管理可行性和技术可行性三方面对系统进行可行性分析。然后从安全性原则、可靠性原则、灵活性原则、准确性原则等方面阐述了信息系统的设计原则,最后以目前比较成熟的B/S结构作为基本架构,设置了MVC的结构模式,并阐述系统的框架设计。

     

     

     

    5 系统的详细设计

    公文流转信息系统其最终的目的便是实现一个自动化程度高的无纸化办公的模式,实现公文处理流程的标准化,结合对企业办公和公文处理现状的实际需求,设计系统的五个功能模块,下面分别阐述其详细设计。

    5.1 用户管理模块的设计

    5.1.1功能设计

    所有的用户使用公文处理系统均是从登陆页面开始的。信息系统的管理员有权限对于系统用户进行设置,可以对用户进行添加、删除、查询等;不同的用户结合自身的级别与权限范围,能够在公文处理系统中进行不同的操作。由于公文具有保密性,所以用户的身份应该经过系统认证,用户登录之后能够对自己的个人资料进行设置,修改用户名和密码。

    在此以用户登录为例进行阐述。登录功能主要实现的是对系统用户的验证和对权限的分配。结合不一样的用户角色,系统所进行的处理也各有不同。假若用户所输入的验证码不对,系统便会弹出窗口提示信息错误。

    公文处理系统的登陆模式分为两大类,即普通用户登陆与系统管理员角色登陆,用户的角色与其操作权限范围相关,管理员角色的用户能够对系统的所有功能模块进行设置和查看,也能为不同的用户赋予不同的权限,而普通用户的操作则局限于查看自己的公文结果,以及为其他员工进行打分、评测等。

    5.1.2流程设计

    下图所示为用户登录功能的流程图:

     

    5-1用户登录功能的流程

    对该流程图的描述如下:

    首先,用户打开公文处理系统,系统向用户显示登录的相关界面;

    用户在系统提示之下输入自己的ID与密码,系统查询数据库,对用户输入的信息进行校验,结合用户输入的准确与否,给出提示;

    假如用户只输入了用户名,忘记输入密码,系统会给出相应提示信息;

    假如用户连续三次没能输入准确的用户名与密码,则浏览器自动锁定。

    5.2发文管理模块的设计

    5.2.1 功能设计

    发文管理模块能够模拟并且完全代替传统公文管理中纸质文件的处理过程,结合企业公文管理的具体流程为用户提供起草公文和公文归档、查询、存取功能,拟好的公文传输至会签者处,实现对公文的及时签批;并结合公文的类型和实际流向来控制其下一步的传递。当公文由企业主管领导进行签发之后,形成正式文件。下图所示为发文管理的实际流程:

     

    5-2发文管理的实际流程

    可知,发文管理模块的实现过程为:

    科室拟稿:企业文件首先由相关部门进行拟稿,以公文的形式对政策或者管理进行描述,形成公文的初稿。

    部门会签:有公文所涉及到的部门对公文的初稿进行审核,并填写签署意见,给出修改的建议;

    公文审核:公文初稿形成之后,需要对其内容和格式进行初步的核对,结合公文的目的进行修改和调整,使其中可能含有的错误得到消除。

    领导签发:由主管领导对公文进行审核,提出进一步完善的意见,由拟稿的部门对公文进行再次完善。

    公文核稿:在公文正式签发之前,核对其所有的关键之处,避免发生错误。

    公文登记:(收文单位)将公文在数据库中做好记录,为其拟定编号及关键词等重要的属性、此后便进入到收文流程。)分发催办:由收文单位的主管领导正式签字,可以使电子签名,也可以使手签,随后公文生效,在收文部门进行部署。归档:将公文存储到相关的数据库中,以便日后的查询。

    5.2.2类的设计

    以发文管理的“拟稿”功能为例,下图所示为其类图:

     

    5-3发文管理的“拟稿”类图

    可知,该功能涉及到的类包括6个,其中,公文模板类的模板编号、模板名称、模板类型可以区分不同应用情况下的公文套用模板,支持模板的查询和新建;修改意见类的公文编号、意见时间、意见内容则描述出对公文的修改建议的所有属性,支持用户对其进行查询;部门工作人员了包括员工的姓名、编号以及职务;公文草稿类通过公文编号、有效时间、公文种类、公文等级等属性;部门工作人员包括姓名、编号及职务;普通工作人员包括姓名、编号及职务,并支持草稿处理,包括草稿的导入、保存、修改及上报;部门领导类包括姓名、编号及职务,支持的操作包括草稿的核对、导入与查询。

    5.3收文管理模块的设计

    5.3.1 功能设计

    收文包含两个部分,一是上级管理运营部门发来的指导性文件等,另一个则是企业本身对于生产和管理等方面的公文。公文管理部门对公文进行登记与审核、主管领导对其作出拟办的指示、企业管理层进行批办的批示、由职能部门收到公文之后进入承办、并为相关部门或者实体传阅、公文承办完毕之后进行归档等处理环节。下图所示为收文管理的实际流程:

     

     

    5-4收文管理的实际流程

    可知,收文管理模块的实现过程为:办公室登记:即由负责公文管理的部门对受到的所有收到的公文均结合其具体的类别和属性进行详细的登记,为查询公文以及跟踪公文的流程做好数据支持。

    办公室主任拟办:由公文管理部门的负责人结合公文的属性和密级以及紧急程度,给出公文的流转方法和具体流程;

    领导批示:由负责人浏览公文内容之后,结合本部门的实际情况和公文的具体内容给出公文的实施意见;

    科室部门承办:相关的职能部门结合领导的批示,对公文的内容进行部署或者实施;

    传阅:结合公文的保密级别以及部署覆盖面,对公文进行定向分发,使每一个应该接收到信息的部门或者个人均能够及时收到;

    归档查询:查询的功能应能支持简单查询,即通过不同的关键字进行查询,同时支持高级查询,结合用户的查询历史和用户角色,以定制的模式向用户显示出更加接近用户需求的结果。

    5.3.2类的设计

    以发文管理的“审批”功能为例,下图所示为其类图:

     

    5-5收文管理的“领导批示”类图

    可知,该功能涉及到的类包括4个,其中,领导批示类包括部门编号、部门名称、审批者姓名及审批者编号,可以进行的操作包括公文审批、填写意见、电子盖印;存储公文类包括公文编号、公文类型、以及公文内容等属性;公文类包括公文编号、有效时间、公文种类、公文等级等属性;批示意见类包括公文编号、审批者编号、是否通过、修改意见等属性。

    5.4签报管理模块的设计

    5.4.1 功能设计

    签报管理功能主要实现企业对于公文中一些重要事项的具体请示,结合不同的公文类别为之提前拟定具体的签报流程。此外,为提升签报效率,系统支持多人联合审批以及按照顺序审批等多种模式。签报流程结束之后,系统将公文本身以及其所有流程节点的批示即用户均进行自动的存储。下图所示为签报管理的实际流程:

     

     

    5-6签报管理的实际流程

    企业公文的逐级批示的具体内容是十分重要的,关系到公文在执行时的紧急程度和具体方式,因此需要系统提供签报管理功能,可知,签报管理模块的实现过程为:

    拟稿或者代拟稿以及部门审核与发文流程类似,在此不再赘述;送批示:审核通过之后,将公文初稿传至专管领导进行批示,分别由主管领导与分管领导对公文进行审批;办结:公文拟好之后转入发文流程,发文流程结束以后,启动办结流程对公文进行归档。系统将公文本身以及其所有流程节点的批示即用户均进行自动的存储,管理员可以对存储文件进行管理,用户则能够通过查询功能进行查询调取。

    5.4.2类的设计

    以签报管理的“部门审核”功能为例,下图所示为其类图:

     

    5-7签报管理的“部门审核”类图

    可知,该功能涉及到的类包括4个,其中,公文审批人员的属性有编号、部门、职务、备注。待办公文类的属性有公文编号、公文类型、公文名称、公文内容,可以对以上属性进行查询操作;已发布公文信息类的属性有公文编号、公文类型、公文名称、公文内容、,可以对以上属性进行信息查询操作;用户类的属性包括、编号、姓名、职务。

     

    5.5档案管理模块的设计

    5.5.1功能设计

    档案管理模块主要实现归档处理的功能,包括对所有的公文进行标准化的存储,并为其进行属性的定义,实现分类与组卷,做好标准化的索引,用户则能够通过查询功能进行查询调取。下图所示为档案管理的实际流程:

     

    5-8档案管理的实际流程

    可知,档案管理模块的实现过程为:登记:即向公文存储序列登记和添加新近完成的公文,结合公文的具体类别为其分配序列号,并为其标注密级等属性。分类:依据一定的标准,按照档案来源、时间、内容和形式特征的异同点,对档案进行有层次的区分,并组成一定的体系。组卷:以企业党政工团档案以及企业行政管理档案为例,前者可以组卷为:上级文件,、组织建设材料、党支部计划、各种活动记录及原始材料、各种总结。后者则可以组卷为:上级文件、远近期规划、工作计划、各种规章制度、会议记录等。归档:将附有档案发生期间、保管期限、档案交接人、档案保管人、单位领导签字等的公文进行保存。

    5.5.2类的设计

    以档案管理的“归档”功能为例,下图所示为其类图:

     

    5-9签报管理的“部门审核”类图

    可知,该功能涉及到的类包括5个,其中,档案目录类包括档案的目录编号以及目录内容;归档管理人员的属性有编号、姓名、部门、职务,可以进行的操作包括档案查询、新建、删除;普通人员类属性有编号、姓名、部门、职务,可以进行的操作为查询;档案模板类的属性有编号、类型、格式、备注;公文档案类的属性有编号、类型、发布部门、发布日期。

    5.6 本章小结

    本章为信息系统详细设计,主要内容为用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块的设计。

     

     

    6系统的实现

    6.1 用户管理功能的实现

    在用户管理功能中,由于公文具有保密性,所以用户的身份应该经过系统认证,用户登录之后能够对自己的个人资料进行设置,修改用户名和密码,也能够收到系统的消息提示等。系统登录是确保系统安全的重要措施,登录功能主要实现的是对系统用户的验证和对权限的分配。结合不一样的用户角色,系统所进行的处理也各有不同。用户打开绩效管理系统,系统向用户显示登录的相关界面,在系统提示之下输入自己的ID与密码,系统查询数据库,对用户输入的信息进行校验,结合用户输入的准确与否,给出提示;用户登陆界面如图所示:

     

    6-1用户登陆界面

    由图可知,用户输入自己的ID与密码,并选择用户类型(普通用户或者管理员)后,点击登录按钮,系统核实用户ID合法,便允许用户进入系统进行操作。系统的登录功能通过login.jsp调用users类中的user_valid()进行设计。

    登录功能使用多个函数来实现,主函数的实现简述如下:

    private void main_login()

    { string ming=txtName.Text;帐号

    String mi=txtPwd.Text;密码

    if(rdbLd.Checked)

    Ld_login(ming,mi);

    else if(rdbMs.Checked)

    Ms_login(ming,mi);

    else 部门职员登录

    Zg_login(ming,mi);

    if (r.Read())

    {

    Session["ming"] = n;

    Session["mi"] = p;

    Session["sf"] = r.GetValue(5).ToString();

    Cha=update 职员帐号 set 登录时间

    =’”+DateTime.Now.ToString()+”’ where 帐号

    =’”+n+”’”;

    cmd = new SqlCommand(cha, cnn);命令对象

    cmd.ExecuteNonQuery();更新登录时间

     

    图中,用户需要输入的内容包括用户名、密码、确认密码、用户真实姓名、用户电话号码、用户信箱以及验证码,通过之后便可产生一个新的ID

    6.2 发文管理功能的实现

    企业文件首先由相关部门进行拟稿,以公文的形式对政策或者管理进行描述,形成公文的初稿。公文初稿形成之后,需要对其内容和格式进行初步的核对,由主管领导对公文进行审核,由主管领导正式签字,便完成了发文管理。其中,新建公文的界面如图所示:

     

    6-2发文管理模块的新建公文界面(1

    图中,系统用户登陆成功之后,选择界面上方的“管理公文”功能,进而选择“新建”,则进入新建公文界面。系统会结合用户名及其具体的职务与级别为其自动填写一些项目,包括“起草人”等,随后用户需要在界面的提示之下依次填写公文标题、公文类型、公文密级、紧急程度、公文等级、公文内容等项目,如果有附件,则点击“浏览”按钮进行添加,填写无误之后点击“提交”,公文拟稿即完成,如果中途出现错误,也可以选择“重填”。

    添加公文的操作需要调用到多个函数,其中主函数的主要实现代码如下:

    public void add_Doc( )//新建公文的函数

    {

    Doc doc;//公文对象

    ……//doc赋初值

    key=createAesKey();//创建aes密钥

    content0=readFile(filePath0); //二进制方式读公文内容

    doc.doc1=aesEncrypt(content0,key); //key加密公文内容

    If(filePath1!=null){ //附件不为空,则

    content1=readFile(filePath1); //二进制方式读公文附件

    doc.doc2=aesEncrypt(content1,key); //key加密公文附件

    }

    addToDocs(doc); //插入到公文表中

    id=getDocID(doc); //获取该公文稿自动生成的ID

    pkey=getRsaPuKey(doc.writer); //获取拟稿者的RSA公钥

    key1=rsaEncrypt(key,pkey); //RSA公钥加密AES密钥

    addToDocKey(id,key1) //加密过的AES密钥保存到公文密钥表

    6.3 收文管理功能的实现

    收文包含两个部分,一是上级管理运营部门发来的指导性文件等,另一个则是企业本身对于生产和管理等方面的公文。当系统收到一个新的公文之后,则启动了收文管理功能,系统管理员则能够监控所有公文的处理流程和办理结果。

    一份公文收到之后,便进入“待办公文”状态。如图所示,在界面中显示了三份待办公文,并分别列出了公文的类型、标题、起草人、主题等各个属性。如图所示:

     

    6-4收文管理功能界面

    在该界面中,当系统用户鼠标选择某个公文标题,则会显示出该公文的详细内容,用户对公文全文进行浏览之后,通过选择最右端的“审批”,即进入完全的公文审批流程。

    在该界面中,主管领导可以填写对其作出拟办的指示、企业管理层进行批办的批示。可以选择的审批功能包括批示意见与批示内容,批示意见是以可选项进行设计的,可以选择“同意”或者“不同意”,填写批示内容之后,点击“提交”之后,便进入办理流程。

    实现签收功能的签收函数的主要代码流程如下:

    public void qianshou (Doc qdoc )//qdoc 是要签收的公文

    { 创建数据库连接对象qianshoucnn;

    建立Command对象qianshoucmd;

    //取得当前用户的帐号

    account=session[“ming”].ToString();

    //调用自定义函数,生成用户的签名信息

    qm=rsaSigned(qdoc,account);

    用签名信息构造修改签收表中的记录的update语句

    //update语句赋值给qianshoucmd.CommandText;

    qianshoucmd.CommandText=update语句;

    //执行qianshoucmd,向数据库增加记录;

    qianshoucmd.ExcuteNonQuery();

    //连接关闭

    qianshoucnn.close();

    }

    6.4签报管理功能的实现

    该功能主要实现企业对于公文中一些重要事项的具体请示,支持多人联合审批以及按照顺序审批等多种模式。对所有的公文进行分类,并且结合不同的公文类别为之提前拟定具体的签报流程。用户选择“签报管理”功能之后,便进入“起草签报”界面,如图所示:

     

    6-5签报管理功能起草签报界面

    依次点击“公文管理”,“签报管理”,“起草签报”,“确定”,选择文件格式,点击“发送”到部门主任,如下图:

     

    6-6签报管理功能起草签报界面(4

    此时,该公文即进入部门领导审核阶段,审核通过之后便可生效。

    public void dengji(Doc qdoc )//qdoc 是要签报的公文

    { 创建数据库连接对象dengjicnn;

    建立Command对象dengjicmd;

    //取得登录用户的帐号

    account = session[“ming”].ToString();

    //调用自定义函数,生成用户的签名信息

    qm = rsaSigned(qdoc,account);

    用签名信息和qdoc构造向签报表中的增加记录的insert语句

    //insert语句赋值给dengjicmd.CommandText;

    dengjicmd.CommandText=insert语句;

    //执行dengjicmd,向数据库增加记录;

    dengjicmd.ExcuteNonQuery();

    //连接关闭

    dengjicnn.close();

    }

    6.5 档案管理功能的实现

    对于处理之后的公文,系统应支持对其进行归档处理的功能,包括对所有的公文进行标准化的存储,并为其进行属性的定义,实现分类与组卷,做好标准化的索引,用户则能够通过查询功能进行查询调取。

    下图所示为对归档公文进行存储的界面:

     

    6-7档案管理功能存储界面

    可见,一个走完所有流程的公文,负责公文归档的用户需要登录系统之后调用档案管理的“公文存储”功能,随后详细填写公文的各项属性,包括公文标题、公文序号、发文序号、签批领导、保密等级等一系列内容,随后对档案进行存储,以备日后查询和调用。

    实现归档功能的归档函数的主要代码流程如下:

    public void guidang (Doc qdoc )//qdoc 是要归档的档案

    { 定义数据库连接对象guidangcnn;

    定义Command对象guidangcmd;

    //定义事务对象guidangtrans

    SqlTransaction guidangtrans=guidangcnn.BeginTransaction();

    // guidangcmd 执行的事务对象是 guidangtrans

    guidangcmd.Transaction= guidangtrans

    //取得归档操作的用户的帐号

    account_gd = session[“ming”].ToString();

    //调用自定义函数,得到用户的归档签名信息

    档案档案查询的功能应能支持通过不同的关键字进行查询,包括按公文名称查询、简单查询、高级查询、组合查询等。图中所示为公文检索功能,用户可以结合界面提示,输入检索关键字,包括编号、密级、日期范围、单位、公文种类等,点击“搜索”之后,系统会在界面下方的“公文检索结果”罗列出具体的结果。

    6.6 本章小结

    本章为信息系统的实现,主要内容为公文处理系统的详细实现求,详细分析了用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块功能的实现。

     

     

    7 系统测试

    7.1功能测试

    功能测试的目的是保证信息管理系统能达到预期效果,系统需要完成的核心功能包括用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块。测试结果如下表:

    7-1功能的测试结果

    功能

    测试描述

    处理结果

    输入

    输出

    公文档案信息查询

    进入公文信息查询功能模块,结合系统的选项,输入或者选取相应的条件,便能够查询公文基本信息。测试时,选择在公文的名称“企业调薪标准”来查询对应的公文基本信息。

    通过查询功能,系统输出公文“2013年双流国际机场薪酬调整细则讨论稿”的信息。

    通过

    收文功能

    公文管理系统的管理员进入公文接收界面,点击[接收]按钮,系统列出已下达、并暂时未接受的公文列表,用户在相应的输入文本框中输入要添加的公文备注信息。测试过程里,管理员接收到“企业招投标规定细则”的信息。

    打开公文后,点击[保存]。再进入公文信息管理界面,系统显示审批和签收界面。

    通过

    发文管理

    测试者以普通用户身份进入公文处理界面,选择界面上方的“管理公文”功能,进而选择“新建”,则进入新建公文界面。系统会结合用户名及其具体的职务与级别为其自动填写一些项目,包括“起草人”等,随后用户需要在界面的提示之下依次填写公文标题、公文类型、公文密级、紧急程度、公文等级、公文内容等项目。

    系统能够准确记录发文的信息,并且进入流程界面。

    通过

    配置用户权限

    进入用户管理,设置该用户的操作权限,测试中,将用户“001”的权限由“管理员”设置为“普通用户”

    输出用户权限的配置结果,以“001”用户进入系统,可知权限已经变成“普通用户”

    已修正

    本系统的测试结果表明,己达到需求分析中要求的功能。

    7.2性能测试

    本研究在进行性能测试时,引入应用比较广泛的LoadRunner软件。通过构建一定的应用场景,在该场景之内运行所构建的测试脚本,在信息系统上施加一定程度的应用负载和使用压力,来决定系统多能承受的最大负载、最大并发等指标,从而评估其稳定性。

    测试策略为:模拟大量用户对所有功能模块进行使用,包括员工信息的查询与增删等。涉及到模块主要有:用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块。考虑到在被测试的公文处理系统里,不少操作对用户的权限有要求,为了能够使用户顺利访问信息系统所有功能,在进行虚拟测试用户配置时,将所有用户分成不同权限的组别,录制成多个脚本进行加载。图7-2所示为信息系统性能测试结果:

     

    7-1 信息系统性能测试响应时间

    由图可知,当信息系统的模拟用户数目达到三百人以及三百五十人时,系统的登录功能响应时间能够保证处在可以接受的范围。当信息系统模拟用户负载在四百人时,登录的响应时间峰值为四十秒,并为超过预期可接收的响应时间,但由图中曲线趋势可知,当模拟用户负载在四百人时,响应曲线大幅度上升,说明信息系统的最佳负载应该维持低于350用户。

    7.3 本章小结

    本章为系统测试,主要内容为性能测试与功能测试。在功能测试中,测试均获通过;在性能测试中,引入应用比较广泛的LoadRunner软件。通过构建应用场景,在该场景之内运行所构建的测试脚本,在信息系统上施加一定程度的应用负载和使用压力,来决定系统多能承受的最大负载、最大并发等指标,从而评估其稳定性。

     

    8结束语

    通过基于计算机和网络的公文流转,使企业能够通过信息技术来实现办公流程的无纸化、自动化,进而显著提升企业的执行力,进而促进企业综合竞争力的提升。本文将结合双流国际机场的实际情况,具体分析其公文流转的用户需求,并以成熟的MVC模式为其构建公文网上流转信息系统。

    本文的成果包括:对公文管理系统进行需求分析,主要内容为公文处理系统的基本需求,包括功能需求与性能需求,在功能需求中,详细分析了用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块功能。最后阐述了信息系统的性能需求。对系统进行概要设计,主要内容为从操作可行性、管理可行性和技术可行性三方面对系统进行可行性分析。然后从安全性原则、可靠性原则、灵活性原则、准确性原则等方面阐述了信息系统的设计原则,最后以目前比较成熟的B/S结构作为基本架构,设置了MVC的结构模式,并阐述系统的框架设计。对信息系统进行详细设计,主要内容为用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块的设计。信息系统的实现,主要内容为公文处理系统的详细实现求,详细分析了用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块功能的实现。系统测试,主要内容为性能测试与功能测试。在功能测试中,测试均获通过;在性能测试中,引入应用比较广泛的LoadRunner软件。通过构建应用场景,在该场景之内运行所构建的测试脚本,在信息系统上施加一定程度的应用负载和使用压力,来决定系统多能承受的最大负载、最大并发等指标,从而评估其稳定性。

     

     

     

     

    参考文献

    [1] 陈韬伟.基于工作流管理技术的电子公文系统[J]. 昆明理工大学学报,2005 9 125-138

    [2] van der Aalst W M P. The application of petri nets to workflow management[J]. Journal of Circuits Systems and Computers 1998(01) 36-39

    [3] 张南平,李环.电子政务中公文流转系统开发状况概述[J]. 福建电脑,2005 8 52-55

    [4] Zerzelidis Wellings. Requirements for a real-time NET framework[J]. SIGPLAN Notices 200540(2) 147-151

    [5]Sandhu R Coyne E J Feinstein H L. Role-Based Access Control Models[J]. [外文期刊] 199610(2) 45-53

    [6] 常颖莉.基于时间 Petri 网的公文流转系统研究与实现[D]. 西安:西安理工大学,2007

    61-78

    [7]孙福振,李艳,李业刚,基于J2EEMVC设计模式的研究与实现,山东理工大学学报(自然科学版)200620(2)50-53

    [8]黄小军.基于J2EE平台MVC模式的检察院综合业务系统的设计与实现[D].青岛:中国海洋大学,200921-35

    [9]吴寅斐,何钦铭,吴大瑞,Struts分析及其应用研究,计算机工程,200531(16)44-45

    [10]夏阳,胡平,基于Struts体系结构的Web应用,计算机与现代化,2005(6)56-59

    [11]方剑,熊前兴,基于Struts框架开发Web应用的探讨,交通与计算机,200424(3)123-126

    [12]宋汉增,沈琳,利用Hibernate对象持久化服务简化Java数据库访问,计算机应用,200323(12)135-137

    [13]RodJohnsnSpring框架高级编程,机械工业出版社,2006-4-1

    [14]梁立新,项目实践精解:基于Struts-Spring-HibernateJava应用开发,电子工业出版社,2006-8-1

    [15]()DeepakAlurJohnCrupiDanMalksJ2EE核心模式.北京:机械工出版社,20054

    [16]张军芳.基于J2EE平台帮MVC模式的Web研究与应用.武汉:武汉理工大学,200825-32

    [17]黄小军.基于J2EE平台MVC模式的检察院综合业务系统的设计与实现.青岛:中国海洋大学,200921-35

    [20]王国辉,王易.JSP数据库系统开发案倒耩选.人民邮电出版社.2006P1015

    [21]张丽,张艳.C/SB/S,再到三层(多层)结构:论体系结构的发展[J].河南师范

    大学学报:自然科学版,200230(3)24-27

    [22]周庆,甘仞初,李洪垒.基于C/SB/S模式的应用系统安全机制的设计[J].计算机应用与研究,2002(5)33-34

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,510
精华内容 1,004
关键字:

信息获取与处理技术