已阅读5页,还剩68页未读, 继续免费阅读
(计算机应用技术专业论文)基于aop技术的汽车产业链平台日志开发方案研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第1 页 摘要 随着中小企业信息化的飞速发展,计算机给人们带来进步和便捷同时,其 负面影响也是我们始料不及的。在各种企业信息化系统中,用户的各种操作涉 及到企业所有的业务往来和机密信息资料,对企业的生存与发展起着关键作用。 为了确保企业用户在信息化系统中的各种操作,记录目志是一种的非常有效的 方法,不但可以防止计算机各种危害,而且事后对用户各种操作的可追溯和不 可抵赖提供了很好的证据,还可以通过对日志数据的统计分析为企业提供决策 依据。 本文在对汽车产业链a s p 平台熟悉掌握的基础上,首先提出了该平台日志研 究目的,并分别从平台参与角色、日志记录内容两方面详细阐述了日志记录的 需求分析。文中着重针对传统日志记录开发的缺点,结合a o p 新技术的原理及其 优势,提出了基于a o p 技术的平台日志采集与记录开发方式,在对日志数据库进 行设计同时,重点对实现日志开发的a o p 技术方案和该方案的实现做深入的剖 析,并利用日志数据库,对平台日志系统的设计与实现进行了研究。通过进一 步研究发现,我们可以在a s p 平台中对基于a o p 技术的日志开发方案和目志数据 做深入应用,具体探讨了日志在平台计费系统、平台错误管理系统与平台使用 情况管理系统上的扩展应用。最后,对包括曰志系统在内的日志应用系统集合 体如何管理做了一定分析,提出了任务过滤策略和垃圾数据清除策略。 关键字:日志;a o p ;a s p ;日志采集 西南交通大学硕士研究生学位论文第l | 页 a b s t r a c t a l o n gw i t ht h er a p i dd e v e l o p m e n to fs m a l la n dm e d i u m 。s i z e de n t e r p r i s e s i n f o r m a t i o nt e c h n o l o g y ,t h ec o m p u t e rh a sb r o u g h tp r o g r e s sa n dc o n v e n i e n c et ot h e p e o p l e a tt h es a m et i m e i th a san e g a t i v ei m p a c to nu su n e x p e c t e d l y i nv a r i o u s e n t e r p r i s e i n f o r m a t i o ns y s t e m s t h ev a r i o u so p e r a t i o n so fu s e r sa r er e l a t e dt oa l l b u s i n e s sa n dc o n f i d e n t i a li n f o r m a t i o no fe n t e r p r i s e sa n dp l a yak e yr o l eo nt h e s u r v i v a la n dd e v e l o p m e n to fe n t e r p r i s e s i no r d e rt oe n s u r et h ed i f f e r e n to p e r a t i o n so f t h ec o r p o r a t eu s e r si ni n f o r m a t i o ns y s t e m s t h e1 0 9r e c o r di sa ne f f e c t i v em e a n s i t n o to n l yc a np r e v e n tc o m p u t e rf r o ma l lk i n d so fh a z a r d s b u ta l s op r o v i d e sag o o d w i t n e s sf o rt r a c i n gb a c ka l l u s e r s o p e r a t i o na n dp r e v e n t i n gt h e u s e r st o d e n y a n a l y s i so fl o gi n f o r m a t i o nc a na l s op r o v i d ed e c i s i o nm a k i n gf o re n t e r p r i s e s o nt h eb a s i so fu n d e r s t a n d i n gp l a t f o r m ,t h i sp a p e rf i r s t l yp r o p o s e st h ep u r p o s e o fr e s e a r c ho nt h el o gp l a t f o r m a n dd e t a i l e d l ya n a l y s e st h ea i mo ft h el o gr e c o r d t h r o u g ht w oa s p e c t so ft h er o l ep a r t i c i p a t e di nt h ep l a t f o r m ,t h ec o n t e n to ft h el o g r e c o r d t h i sp a p e ra i m sa tt h es h o r t c o m i n g so ft h et r a d i t i o n a ld e v e l o p m e n to ft h el o g r e c o r d s ,c o m b i n e st h ep r i n c i p l ea n ds u p e r i o r i t yo fn e wt e c h n o l o g ya o p a n d p r o p o s e st h ed e v e l o p m e n tm e t h o do ft h ep l a t f o r l nl o gc o l l e c t i o na n dr e c o r db a s e do n t h ea o pt e c h n o l o g y a n dt h e n ,t h el o gd a t a b a s ei sd e t a i l e d l yd e s i g n e d ,a o p t e c h n o l o g yp r o j e c ta n di t s r e a l i z a t i o nf o rt h ea c h i e v e m e n to ft h el o gd e v e l o p m e n ta r e s t u d i e dd e e p l y b yt h e l o gd a t a b a s e t h ed e v e l o p m e n ta n dr e a l i z a t i o no ft h el o g s y s t e mi ss t u d i e d t h r o u g hf u r t h e rr e s e a r c h w ef o u n dt h a tt h es c h e m eo ft h el o g d e v e l o p m e n tb a s e do na o pa n dl o gd a t aa r et h o r o u g ha p p l i e di na s pp l a t f o r m , d i s c u s st h ea p p l i c a t i o no ft h eb i l l i n gs y s t e mo fp l a t f o r i l l ,t h ee r r o rm a n a g e m e n t s y s t e mo fp l a t f o r ma n dt h em a n a g e m e n ts y s t e ma b o u tt h eu s eo fp l a t f o r i l lc o n c r e t e l y f i n a l l y , w ea n a l y s eh o wt om a n a g et h ec o l l e c t i o ns y s t e mo ft h el o ga p p l i c a t i o n s y s t e m ,p u tf o r w a r dt h ef i l t e r i n gt a s ks t r a t e g ya n dt h er e m o v a lt r a s hs t r a t e g y k e y w o r d s :l o g ;a s p e c t o r i e n t e dp r o g r a m m i n g ;a p p l i c a t i o ns e r v i c ep r o v i d e r ;l o g c o l l e c t i o n 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密d ,使用本授权书。 ( 请在以上方框内打“4 ) 学位论文作者签名:尚建翠 指导老师签名:学位论文作者签名:匍莼事指导老师签名: 日期: 彦胡8 、了略日期:加杉、7 。 d 吒轫炙 f 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作所 得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: ( 1 ) 对a s p 汽车产业链协作平台的日志做出分析与研究,提出一种基于a o p 技术的日志采集与记录的解决方案,并给予了实现,解决了业务核心关注点和 日志横切关注点的分离。 ( 2 ) 将基于a o p 技术的日志采集方案结合日志数据扩展应用到平台计费系 统、错误管理系统和平台使用情况管理系统中,极大的减少平台的开发工作。 ( 3 ) 通过对日志应用系统管理的研究,提出了任务过滤策略和垃圾数据清 除策略,来减轻日志应用系统对平台系统性能上的消耗。 西南交通大学硕士研究生学位论文第1 页 第一章绪论 1 1 研究背景以及问题提出 随着互联网快速发展,计算机和互联网成为人类现代生活必不可少的一部 分。数以亿计的人每天都将使用计算机,诸如收发电子邮件、网上冲浪、维护 数据库等各种操作。但是,计算机在给人们带来便利的同时也不可避免的成为 了犯罪分子的工具,如利用互联网传播计算机病毒、黑客利用软件系统漏洞对 系统进行攻击、传播反动和色情信息等。对这些计算机犯罪进行取证和计算机 各种操作的追溯,证据柬源之一便是计算机软件系统中的各种日志记录。日志 是由计算机软件运行内部程序产生的,几乎每个系统都有自身的同志记录。日 志记录着软件系统日常运行情况,通过它可以确认具体的操作和检查错误发生 的原因,或查找受到攻击时攻击者留下的“痕迹”。由此可见,同志就像飞机中 的“黑匣子”一样重要,因为里面保存着在特定时| 、日j 段内对计算机操作的所有 证据。从技术角度讲,由于日志对各种事件都有较为详细记录,所以管理员发 现入侵和攻击事件往往是从分析同志记录开始的,通过分析各种日志记录可以 跟踪和定位攻击者,利用有效的技术手段把这些日志记录作为有效证据起诉攻 击者。因此,在计算机中除了日志记录的重要性外,还要对同志数据进行更好 的管理,以使同志成为各种可靠证据来源,并且对同志数据库中日志信息的各 种应用也才变得更为可靠和有意义。 然而,随着对软件系统的频繁操作,曰志数据量增加非常迅速,铺天盖地 的日志信息使系统管理员茫然无措,无用的或者失效的同志可能成为系统的垃 圾数据,甚至日志数据量过大严重降低系统的性能,而且从海量的曰志信息中 追溯各种正常活动行为或检查错误也犹如大海捞针,查找等变得相当困难。因 此,长年累月地保存日志可能没有必要,尤其是在一个繁忙的系统中,那么对 海量日志数据进行有效的管理也是日志应用系统开发后需要考虑的个重要方 面,同时也是高效应用日志数据的关键所在。 基于a s p 汽车产业链协作平台是在n e t 环境下开发,是典型的w e b 应用软 件系统。对该平台的所有用户,不管是盟主企业用户,还是般的联盟内盟员 企业用户,在平台上完成各自需要的事务处理后,都需要证明这些用户确实发 西南交通大学硕士研究生学位论文第2 页 生了特定的动作。而且,a s p 平台是协同商务平台,平台中存在大量的协同工具, 不可避免的出现系统工作时所作的临时协定或者签署单据,这就好比有短期合 同的存在,各自要负自己的责任。所以,在a s p 平台设计时需要考虑对所有操 作事后都有可追溯证据,使在平台上的资源在使用或者使用平台提供的协同设 计等资源的情况下能够在一定的责任状态下使用或工作。为了满足所有在平台 上的动作和行为的可追溯的需求,在该平台上进行日志开发,来记录所有平台 登录用户的操作情况。这样就可以利用日志数据,建立日志系统,并通过日志 系统所提供的日志查询功能,使平台企业用户事后可以通过记录的日志信息查 看到自身权限范围内的很多操作情况,如登录时间、登录用户和具体操作等信 息。同时,还可以开发与日志紧密相关的平台的辅助应用系统,以达到充分应 用日志目的。 传统的日志开发,通常的做法就是将日志记录的代码分布到具体的业务实 体方法类中,在对业务逻辑层的调用之前对日志所关心的数据进行采集,在调 用完成之后将数据写入日志数据库中。这种实现方式存在着两种问题:( 1 ) 代 码交织,将系统功能模块和同志模块混淆在一起,造成紧耦合,而且程序缺乏 抽象性和封装性,结果导致最终代码混乱,难以理解;( 2 ) 代码分散,即需要 进行日志记录的功能可能分布在多个类文件中,在原有的功能调用中加入日志 记录代码,这样做涉及到修改多个业务实体类。由于这两个问题的存在,使得 编程复杂,模块间耦合度高,代码重用率低和质量不高等缺陷,使得开发出来 的程序难于理解和维护。 1 2 国内外现状 为了解决上面存在的两个问题,最初通过扩展编程语言,在语言中加入一 些描述专门关注的语言构造来使某一种关注模块化。如t a k a s h i o 等人通过引入 d e a d l i n e ,t i m e o u t ,p e r i o d ,w i t h i n 等关键字,定义了一种被称为分散实时对 象语言( t h ed i s t r i b u t e dr e a l t i m eo b j e c tl a n g u a g e ,d r o l ) ,专门用来描述 系统的实时性。但这类方法过于专一,只能描述某一类关注,缺乏普遍性。后 来又提出了合成过滤子模型( c o m p o s t i t i o nf il t e r s ,c f ) 、传播模式 ( p r o p o g a t i o np a t t e r n ) 、自适应编程( a d a p t i v ep r o g r a m m i n g ,a p ) 或称为 面向模式编程( p a t t e r no r i e n t e dp r o g r a m m i n g ) 、面向主题编程( s u b j e c t o r i e n t e dp r o g r a m m i n g ,s o p ) 和元层次编程( m e t al e v e lp r o g r a m m i n g ) 等。 西南交通大学硕士研究生学位论文第3 页 这些方法都是通过用某种机制来干预对象接收和发送的消息来达到关注的模块 化。2 0 世纪9 0 年代初,由a k s i t 等人提出的合成过滤子模型,是通过合成过滤 子来扩展传统的面向对象模型。在合成过滤子模型中,对象仍然是类的实例, 只不过这种实例中除了包含方法( m e t h o d ) 、实例变量( i n s t a n c e v a r i a b l e s ) 外, 还包含条件( c o n d i t i o n ) 、内部对象( i n t e r n a l o b j e c t s ) 、外部对象 ( e x t e r n a l o b j e c t s ) 和一个或多个过滤子( f i i t e r s ) 。过滤子的作用是定义消息 的接收或拒绝的条件,以及决定对消息进行的处理。元层次编程技术使用元对 象协议( m e t a o b j e c t p r o t o c o l ,m o p ) ,利用编程语言的映射计算功能来实现元对 象层次间的消息交互。这种方法对于对象消息的干预发生在运行期,而自适应 对消息的干预则是发生在编译期。自适应编程是在编译期间检查各个对象方法 中是否要插入其它关注的代码,并将需要插入的代码插入到各个方法中。还有 从应用程序是多个关注的集合这一基本思想出发提出了关注多元划分( m u l t i d i m e n s i o n a ls e p a r a t i o no fc o n c e r n s ,m d s o c ) 的方法,用h y p e r j 的如 h y p e r m o d u l e ,h y p e r s l i c e 等独特的语法构造来定义关注,并用预处理期来处理 生成应用程序。 一 以上可以看出,人们对关注的处理有两种方式:使用预编译器来处理生 成代码,是静态的,效率高但不灵活;使用编程语言的自映射方式,是动态 的,比较灵活,但效率可能因为各种额外的类型匹配、类型检查等原因而较低。 针对两个级别的关注划分,尽管提出了很多方法,但仍有两个问题未得到很好 解决:没有找到一种通用的语言形式来表达关注,以便于所有的关注都可以 采用同样的形式化方法来表达;没有一种规范的关注的合成机制。1 9 9 8 年 x e r o xp a r c 发明的一种编程范式,叫做面向方面编程技术( a o p ) ,面向方面编程 技术则正是通过编写横切关注点的代码,即“方面 ,将核心关注点和横切关注 点分离,它使程序员可以花费更少的时间重写相同的代码,能够为不同过程提 供更好的封装性,提高未来的互操作性。 a o p 技术可将系统框架中那些与业务无关,却为业务模块所共同调用的业务 逻辑、责任和系统约束封装起来日志就是这类任务以便减少系统的重 复代码,降低模块间的耦合度。面向方面的模块并非显式地为对象所调用,而 是通过注入或拦截的方式,去获得被封装的对象内部方法间的消息,然后做出 相应地处理。通过对“方面”的封装,将同志从已有的业务类中分离出来,使 不同的业务模块都能共享同样的“方面”,因此极大程度上减少了重复代码,降 西南交通大学硕士研究生学位论文第4 页 低了对原有系统框架的侵入性。 1 3 研究内容 本文依托四川省制造业信息化研究院和西南交通大学c a d 研究中心承担的 国家8 6 3 计划课题“面向高竞争性行业的产业链协作技术集成推广应用”,在深 入分析汽车产业链协作a s p 平台的同志开发需求的基础上,结合a o p 技术相关 原理及其优势,提出了基于a o p 技术的平台日志开发设计方案并给予了实现, 在此基础上建立了平台日志系统。通过进一步分析发现,基于a o p 技术的日志 开发方式能够适应于多种基于横切关注点、且与同志紧密相关的应用系统,本 论文对如何将基于a o p 技术的曰志开发方案和日志数据具体应用到平台的多种 子应用系统做出进一步的探索和研究,这些系统主要包括平台使用情况管理系 统、平台错误管理系统和平台计费系统。 1 4 论文组织结构 论文结构如下: 第一章是绪论,主要阐述了同志在现代计算机应用中的重要性,并针对a s p 平台自身的需要,记录其各种操作的同志显得格外的重要,并在此基础上对日 志开发方式做了分析。 第二章对平台体系结构与平台联盟关系做出详细分析,通过分析得到平台 日志开发的需求。 第三章通过对平台日志开发进行研究发现,传统同志开发的做法对已有的 a s p 平台系统改动会非常大,因此,在这个基础上提出利用a o p 技术日志开发方 式。本章对a o p 技术原理进行了阐述,研究了基于a o p 技术的平台日志采集与 记录的设计方案,并对日志数据库进行设计,给出了日志采集与记录的具体实 现过程。 第四章主要是利用基于a o p 技术实现的日志记录的数据,建立平台日志系 统,着重对日志系统的设计和实现进行了研究。 第五章主要探讨了日志在a s p 平台上的扩展应用,根据基于a o p 技术的日 志开发特点,本文研究了如何将基于a o p 技术的同志采集与记录的实现方式和 同志数据应用到平台使用情况管理系统、平台错误管理系统和平台计费系统, 西南交通大学硕士研究生学位论文第5 页 并对这些日志应用系统的管理策略进行了研究。 最后是对本文研究工作的总结和对下一步研究工作的展望。 西南交通大学硕士研究生学位论文第6 页 第二章a s p 平台日志分析 2 1 a s p 平台概述 在分析平台日志时,由于同志的开发和部署都在平台上,首先对a s p 平台的 功能、平台的联盟关系做一定阐述,是日志分析研究的基础和前提条件。 2 1 1a s p 平台功能简述 a s p 汽车产业链协作平台的设计目标是以各个龙头企业为核心,实现龙头企 业与其相关供应商、经销商、服务站的业务协作和信息交互。其主要作用包括: 成为企业联盟的管理中心,即盟主企业通过平台确认和管理协作企业之间的业 务关系;成为协作企业的数据中心,即企业联盟中的所有信息和数据的交换通 过平台进行;通过平台将各企业内部信息系统连接起来,形成跨企业应用的集 成解决方案,消除信息孤岛。a s p 汽车产业链协作平台主要由三部分组成:平台 管理、应用服务和集成接口。 ( 1 ) 平台管理:主要包括系统管理及联盟管理两大部分。系统管理可以实现 平台门户管理的登录认证、企业管理员及操作员用户管理、用户权限管理、日 志管理。联盟管理实现联盟初始化管理、企业关系管理、片区管理、产业链评 价管理等功能。对于每一个使用平台的企业联盟,由盟主对平台上的功能进行 定制和授权,并选择盟员企业,与之建立业务合作关系。盟主企业对平台上的 应用系统及功能进行定制和选择,如销售管理、售后服务管理、采购管理等, 并根据自身实际,个性化地定制业务单据内容和格式,如订单格式;盟员只能 与盟主开展约定内容和方式的信息交换和协同业务。这样,平台上所有的业务 都在某企业联盟内部进行,满足了各联盟业务的保密性和个性化定制的需求。 企业联盟的结构可以动态变化,盟主企业有权对企业联盟内的成员组成进行调 整,添加新成员企业和淘汰不合格成员企业等。 ( 2 ) 应用服务:主要为盟主企业及其盟员企业提供各种业务服务,除公共服 务功能外,还包括各种应用系统。每个企业联盟的盟主可根据实际定制所需的 应用系统,并为不同角色的合作伙伴定制相应的业务功能。为保证代码的可重 用性以及系统功能的易扩展性,系统采用组件开发技术,各个服务模块在需要 西南交通大学硕士研究生学位论文第7 页 时可以在平台服务总线上进行注册,在不需要时,在总线上注销即可,这种结 构保证了各个功能模块的可重用性和系统之间的有效集成性。 ( 3 ) 集成接口:为平台实现集成业务服务,w e bs e r v i c e s 和s o a p 协议用来 集成汽车产业链协作平台和盟主汽车制造厂内部原有的e r p 系统,形成跨企业 应用的集成解决方案,消除信息孤岛。 2 1 2a s p 平台联盟关系简述 汽车产业链协作a s p 平台是一个公共商务服务平台,各个汽车行业企业在 其上面开展各种业务协作活动,而这些企业之间关系则形成了相互交错的网状 关系。一个销售企业可以为汽车制造厂a 服务,也可为汽车制造厂b 服务。一 个企业可以是汽车制造厂a 的服务商,同时又有可能是汽车制造厂c 的经销商。 这样,汽车制造厂和其协作企业之间形成了一个庞大的关系网络。如图2 - 1 所 不。 图2 1 汽车产业链平台上各企业的协作关系【1 3 】 从图2 1 可以清晰看出,从产业链的上游供应商开始,经过汽车制造厂到 产业链的下游经销商与服务商结束,这是一条不出现交叉的协作业务活动线路, 形成了以汽车制造厂为中心,参与该汽车制造厂产业协作的上下游企业的企业 联盟关系。把汽车制造企业称为盟主,供应商、经销商和服务商等协作企业称 为盟员。一个企业要加入某一个联盟成为盟员由盟主企业决定,而其盟员身份 是由盟主企业确定。也就是说一个协作企业不仅可以加入多个联盟体系中,而 西南交通大学硕士研究生学位论文第8 页 且在不同的联盟体系身份也可以不同,协作企业类别的划分由盟主企业根据协 作企业从事的协作业务来划分。这样的联盟关系被称为动态联盟关系。其规定 如下: ( 1 ) 企业联盟:以汽车制造厂为核心,参与该汽车制造厂产业协作的上下 游企业作为二个企业联盟。汽车制造厂为企业联盟的盟主,它的协作企业作为 盟员。一个企业联盟是由一个盟主企业和多个盟员企业组成的联合体。联盟体 中的各个成员按照彼此签订的合同和达成的协议形成一个企业联盟。 ( 2 ) 盟主企业( 简称盟主) :企业联盟的创建企业,即汽车制造厂。由盟主 确定联盟体中的盟员身份,一个企业要加入某一个联盟体由盟主企业决定。 ( 3 ) 盟员企业( 简称盟员) :参与联盟体的非盟主企业。盟员的资格由盟主 确定。盟员分类:在企业联盟中将信息交换内容和协作业务相同的盟员归类为 经销商、服务商、供应商等。某一协作企业可以是a 企业联盟的经销商,也可 能是b 企业联盟的服务商。类别的划分由盟主企业根据协作企业从事的协作业 务来划分。 2 2 平台日志研究目的 对汽车产业链协同a s p 平台做日志记录,并根据记录的日志数据建立日志 系统,是为了辅助用户更放心更安全地使用协同商务平台。平台日志系统隶属 于平台管理系统的一部分,承担了对企业管理员了解在汽车产业链协同a s p 平 台开展的各种业务活动和平台管理员了解用户使用平台等情况的记录工作。企 业管理员通过对日志系统的查询访问能够了解到最近一段时间自己企业的所有 用户的操作行为的历史记录,平台管理员可以通过日志查看了解平台的用户的 使用情况。通过记录日志,对使用平台的所有角色有以下几点好处: ( 1 ) 企业如果有多个操作员,企业的高层管理员通过日志可以了解到每个 操作员具体操作以及工作完成情况; ( 2 ) 在用户不慎泄露自己帐号和密码,用户可以告之所属企业的管理员, 通过同志追溯到是否有其他人员使用该帐号进行操作; ( 3 ) 在用户遗失自己帐号到用户冻结帐号之前,非法在平台上进行的业务 活动都能查询到,使用户回溯或取消期间的非法业务操作成为可能; ( 4 ) 由于同志一般在用户登录开始记录,因此,管理员通过日志系统能够 查询到所有用户每次登录的时间,甚至可以通过i p 地址查到每次登录的位置。 西南交通大学硕士研究生学位论文第9 页 这为锁定盗用他人帐号非法操作的犯罪份子提供了证据。 ( 5 ) 平台管理员可以查看在平台上的所有操作情况,保证所有操作可追溯 和不可抵赖。 因此,平台日志系统利用日志信息,为安全使用汽车产业链中的商业协作 活动,使租用汽车产业链协同商务平台的企业能在平台上完成他们要进行的商 务活动和商业信息交互的安全提供了可靠保障,同时也提高了平台的服务水平。 2 3 平台b 志需求分析 2 3 1 平台角色分析 汽车产业链协同商务平台是一个“一对多和“多对多”的平台。 一对多:第一层意思是一个汽车产业链协同商务平台可供多个企业联盟从 事协作业务活动,其中每个企业从事不止一项协作业务而是多项协作业务。第 二层意思是对一些共性的管理业务经过一次开发后,可以供多个企业联盟使用, 从而做到一次开发,多次使用。第三层意思是平台上企业之问的协作关系,在 一个企业联盟内一个盟主与多个盟员进行业务协作。 多对多:对协作产业链中的每个产业链都是以盟主企业为核心开展所有的 协作业务,盟主与它所有盟员企业开展商业活动。多对多指的是前面所分析的 一个经销商可为多个汽车制造厂进行销售代理,那么在以每个产业链划分的企 业联盟中,各企业联盟之间就存在着交叉。企业联盟与企业联盟之间由于存在 属于多企业联盟的盟员,导致企业联盟之间出现了交叉的协作业务活动,即一 个盟员可与多个盟主开展业务。由此分析得出整个产业集群中盟主与盟员的关 系是多对多的关系。 因此汽车产业链平台参与者如下: ( 1 ) 平台系统管理员,由汽车产业链协同商务平台运营商担任。 ( 2 ) 盟主企业管理员与盟员企业管理员,统称为企业管理员。由于联盟采 取分片区管理方式,一个企业有多个管理员。 ( 3 ) 盟主企业的操作员与盟主企业操作员,统称为企业操作员或业务员, 是企业管理员根据它的业务来指定的,负责具体协作业务的用户。以w 厂为例, 在平台上开展销售业务和售后服务业务,将这些业务进行划分并将不同的业务 分配给不同的操作员,一个企业可能存在着多个操作员。 西南交通大学硕士研究生学位论文第1o 页 2 3 2 平台日志记录内容分析 平台同志记录是对用户使用平台系统行为的完整记录,因此,在用户登录 平台的那一刻,就开始对用户所有操作进行日志记录。记录信息应该包括: ( 1 ) 登录的用户名称。即企业用户使用平台时所提供的帐号。 根据该信息可以知道用户的角色( 操作员还是管理员) ,用户所属的企业的 名称,企业的类型( 盟主企业还是协作企业) 。 ( 2 ) 用户开展业务活动时所属的联盟。 根据上面分析平台是一个“一对多”和“多对多 的管理系统,因此同样 的企业用户可能在多个协同服务系统上进行业务活动,因此有必要了解用户当 前正在使用的协同服务系统是哪一个。 ( 3 ) 用户的行为以及行为所产生的内容。 用户的行为即行为目的,可简单地分为两类:。系统活动行为 和“业务活 动行为”。“系统活动行为”是指用户在使用系统中的一些行为,如登录平台、 注销退出、切换联盟等。“业务活动行为 是指在使用平台协同服务系统时所使 用到的行为,如在订单录入界面有“提交订单”和“保存草稿”。总体上讲,用 户行为实质是平台上的有限功能操作的集合,且“业务活动行为”与“系统活 动行为”所形成操作集合的交集为空。两者区别在于前者的元素是由平台管理 系统所决定,后者则是由平台协同服务系统所决定。 用户行为所产生的结果是可预料的,行为是由平台系统决定,其行为的目 的也是根据用户要求来设计的,行为产生什么结果其实就是系统能完成什么样 的功能。“系统活动行为 中,其行为的结果是日志需要记录的,如“登录”以 后,是“成功 还是“失败”;“业务活动行为 一般是影响到了数据库中的业 务数据内容的变动,日志需要将其影响的数据变动记录下来。在这里把以上两 点称为“用户行为所产生的内容”。用户行为所产生的结果同时也是不可预料的, 系统是人造的,世上没有1 0 0 完美的系统,其不可预料往往发生在用户的误操 作、系统的b u g 和恶意用户的非常规操作都可能导致结果不可预料,因此,非 预料性结果的记录工作也是非常必要的。 ( 4 ) 日志记录的时问。 每一条同志记录都有一个时间戳,表明了用户行为的发生时问和结束时间。 这对追溯用户操作是很有帮助的。 西南交通大学硕士研究生学位论文第1 1 页 第三章基于a o p 技术的日志采集与记录设计与实现 3 1a o p 技术原理 3 1 1a o p 技术原理概述 a o p 是一种横切关注点分离技术,它的基本思想是“将应用程序中的业务逻 辑同对其提供支持的通用服务进行分离 h 6 。关注点( c o n c e r n ) 就是指一个特 定的目标、概念,一块感兴趣的区域。软件工程把关注点分离为核心关注点和 横切关注点两种,并分别识别出各个关注点的相关部分,对每个关注进行封装。 核心关注点是指满足系统功能需求要完成的业务。横切关注点主要分为两种: 一种是系统为了完成业务功能所必须的系统特性或者是业务功能的功能约束, 如日志、异常等;一种是贯穿于多个组件中的通用和公共的功能需求。a o p 从本 质上讲就是用一种松散耦合的方式实现独立的关注点,然后依靠a o p 环境的支 撑机制,将这些关注点组织或编织成最终的可运行程序。a o p 是经常用于改善关 注点分解的技术,它提供了横切关注点识别能力,开发者通过运用a o p 提供的 程序设计单元( 方面) ,结构化的设计和编写横切关注点的实现代码,实现了功 能代码和横切关注点代码的分离及自动合并,从根本上分离了不同类型关注点 的实现空间,解决了面向对象开发的n 维空间需求强制映射到一维空间需求难 题。 a o p 是一种支持如下两个基本目标的规范【l 驯 允许对应于某种宿主语言的关注点分离 提供一种可以描述那些横切其他组件的关注的描述机制。 方面( a s p e c t ) :a o p 提供的一种实现横切关注点的程序设计单元,是a o p 的核心所在,它可以将在传统程序设计方法学中难以清晰封装并模块化实现的 设计决策,封装实现为独立的模块【l9 1 ,从技术上解决了传统的程序经常表现出 来的,一些不能自然地适应单个程序模块或者几个紧密相关的程序模块行为的 问题,从更高的抽象层次对软件系统进行规约,根据系统的特定的行为进行程 序模块的划分。a s p e c t 超越了子程序和继承,是a o p 将横切关注点局部化和模 块化的实现机制。a s p e c t 本身既可以被重复使用,也可以作为其他组件的连接 西南交通大学硕士研究生学位论文第12 页 器。通过将横切关注的实现集中到a s p e c t 中,a o p 实现了一种单一的结构化行 为,这使得a s p e c t 代码和系统目标都易于理解、设计、实现和维护,提高了代 码重用性和生产力,并获得了更好可跟踪性和灵活性。因此a s p e c t 用于横切组 件的模块化,进而支撑核心业务功能,与面向对象中的类相似,拥有继承等特 性,可以新增,删除,更改和重用,可以认为它是一种用来表示横切关注点的 实体类。 连接点( j o i np o i n t ) :连接点是指程序执行过程中的一个定义明确的执 行点和可标识的点,指明了关注点将在这里横切应用程序。连接点有一个与之 相关联的上下文。它可以定义在方法调用、条件检测、循环的开始或是赋值操 作处,跟o o p 的方法调用类似。它可以分为静态连接点和动态连接点:前者允 许方面定义类上的新成员,后者是方面执行与程序执行相遇的地方。 切入点( p o i n tc u t ) :是专门用来声明连接点、识别连接点并捕获连接点 的结构,用来指定、组合所需连接点上特定上下文信息的语言构造。一旦捕获 到连接点,可以指定与这些连接点相关的织入规则,比如在执行连接点之前或 者之后采取一定的动作。切入点有静态切入点和动态切入点两种:静态切入点 定位于系统组件中的某个结构,动态切入点定位于某个类的成员函数的执行。 通知( a d v i c e ) :是指定在程序执行过程中遇到匹配的切入点时应当采取 什么行动,是切入点的执行代码,是执行“方面 的具体逻辑。当应用程序到 达切入点匹配到的连接点处时,方面将执行通知中定义的逻辑行为,将这个通 知行为插入在调用者和被调用者之间,跟o o p 类的方法类似。通知主要有在连 接点执行之前执行( b e f o r ea d v i c e ) 、在连接点执行之后执行( a f t e ra d v i c e ) 和 代替连接点处的执行( a r o u n da d v i c e ) 三种。 织入( w e a v e r ) :是指把定义好的横切关注点的代码嵌入到切入点,织入 规则说明了在程序执行到某个点时,需要采取什么行动,使用织入规则可以将 横切关注点的实现织入到核心业务逻辑中。实现a o p 的关键,是拦截正常的方 法调用,将需要额外附加的功能透明的“织入”到这些方法中,以完成一些额 外的需要。a o p 的织入分为静态织入与动态织入两种:前者指在业务代码运行前, 相应的切面代码插入到业务代码适当位置,形成最终运行需要的代码;后者指 业务代码运行时插入相应的切面代码。 引入a o p 进行系统开发时,对系统需求进行多维关注点的识别,从不同维 度分别进行核心关注点和横切关注点分离。对于核心关注点,进行面向对象的 西南交通大学硕士研究生学位论文第13 页 分析和实现;对于横切关注点,采用a o p 分析,形成各自独立的方面,然后对 各个方面进行进一步分析、设计及编码实现,最后将所有方面织入到核心业务 逻辑之中,得到一个完整松散耦合的系统。其开发步骤如图3 1 所示。 松 散 糕 自乏 多 蛩一伶, 系 维 关 注 点 识 别 绩 3 1 2a o p 技术与n e t 图3 - 1a o p 软件开发过程 在n e t 平台下实现a o p 技术,必须对支持在n e t 平台上实现a o p 的技术所 具备的重要的特性进行研究。其重要特性主要包括元数据、a t t r i b u t e 、上下文 和代理技术。最后,才能综合运用n e t 的多项技术特性,采用织入机制实现a o p 技术在实际应用系统中的应用。 ( 1 ) 元数据( m e t a d a t a ) 元数据【2 4 】是一种二进制信息,用以对存储在公共语言运行库( c l r ) 中可移植 可执行文件( p e ) 或存储在内存中的程序进行描述。在n e t 中,如果将代码编译 为p e 文件时,便会将元数据插入到该文件的一部分中,而该代码被编译成的 m i c r o s o f t 中间语言( m s i l ) ,则被插入到该文件的另一部分中。块或程序集中定 义和引用的每个类型和成员都将在元数据中进行说明。执行代码时,运行库将 元数据加载到内存中,并引用它来发现有关代码的类、员、继承等信息。 元数据以非特定语言的方式描述在代码中定义的每一类型和成员。其存储 的信息主要有程序集的信息( 程序集的版本、名称等) 、类型的说明、类型的基 类、实现的接口和类型成员( 方法、字段、属性、事件、嵌套的类型等) 。元数 据在n e tf r a m e w o r k 中是关键,该模型不再需要接口定义语言( i d l ) 文件、头 文件或任何外部组件引用方法,它允许n e t 语言自动以非特定语言的方式对其 自身进行描述,并通过使用a t t r i b u t e ,可以对元数据进行扩展。 元数据具有以下主要优点: 西南交通大学硕士研究生学位论文第1 4 页 自描述文件,公共语言运行库( c l r ) 模块和程序集是自描述的。模块的元 数据包含与另一个模块进行交互所需的全部信息。 语言互用性和更简单的基于组件的设计,元数据提供所有必需的有关已 编译代码的信息,以便从用不同语言编写的p e 文件中继承类。 a t t r i b u t e ,n e tf r a m e w o r k 允许在编译文件中声明特定种类的元数据 ( 称为a t t r i b u t e ) 。在n e tf r a m e w o r k 文件中,用户可以通过自定义a t t r i b u t e 来自定义元数据,a t t r i b u t e 主要用于精确控制程序运行时的工作。 元数据和元数据标记存在于p e 文件中。元数据包含一系列的表和堆数据结 构。元数据标记在m s i l 指令清晰可见,唯一确定p e 文件的m s i l 部分中各个元 数据表的每一行,在概念上与指针类似。元数据的主要作用是当公共语言运行 库( c l r ) 将代码加载到内存时,将向元数据咨询该代码模块中包含的信息。 通过利用元数据,就可以获得类的相关信息,在n e t 中,通过利用反射技 术来支持这种对元数据信息的获取。因此,通过利用元数据,a o p 的拦截与织入 功能才得以实现。 ( 2 ) a t t r i b u t e 通过对n e t 元数据的分析,就可以通过a t t r i b u t e 来扩展元数据。在m s d n 中, a t t r i b u t e 被定义为“是被指定给某一声明的一则附加的声明性信息”。通过 a t t r i b u t e 来定义设计层面的信息以及运行时( r u n t i m e ) 信息,也可以利用 a t t r i b u t e 建立自描述( s e l f d e s c r i b i n g ) 组件。在n e tf r a m e w o r k 下,用户可以 自定义a t t r i b u t e 。自定义a t t r i b u t e 的方法和定义类类似,唯一不同之处在于 自定义的a t t r i b u t e 必须继承a t t r i b u t e 类。a t t r i b u t e 类包含用于访问和测试白 定义a t t r i b u t e 的简便方法。通过自定义a t t r i b u t e ,可使得用户自定义的信息 与a t t r i b u t e 施加的类的本身相关联,可以建立对象与上下文之间的关联。 ( 3 ) 上下文( c o n t e x t ) 在讨论a t t r i b u t e 时,就必须知道上下文( c o n t e x t ) 。所谓上下文是指一个 逻辑上的执行环境。每一个应用程序域都有一个或多个c o n t e x t ,n e t 中的所 有对象都会在相应的c o n t e x t 中创建和运行。 在n e t 中,提供了c o n t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025~2026学年河南新未来联盟高一下学期6月测评生物试卷
- 2025~2026学年广东肇庆市高一下学期期末学业水平达标检测生物试卷
- 2026 河南 退役军人岗事业单位结构化面试
- 2026 河南 市场监管岗事业单位高频强化训练卷
- 2026年山西省职业院校技能大赛-高职组(环境检测与监测赛项)考试题库(带答案)
- 2026 湖南 政府服务中心结构化面试易错点巩固训练卷
- 2026年通信建设工程安全生产培训考试试题含答案
- 2026年ICU 颅脑损伤重症护理试卷及答案
- 《2 找相同和不同》课件2026-2027学年湘科版一年级上册科学
- 2026年《童年》测试题目及答案
- 高考语文必考语言文字运用之字词训练(含答案)
- 2027贵州航天电器秋季招聘284人考试模拟试题及答案解析
- 中国危险化学品目录(2025版)官方完整版
- 第6课 人民当家作主 第1课时 课件(内嵌视频)2026-2027学年道德与法治五年级上册统编版
- 2026年初级车险理赔试题及答案
- 高低压成套设备装配质量罚款细则
- 【完美导学】Unit 4 Humor Lesson 3 My Favourite Comedian Reading and writing workshop 课件-2022-2023学年高二英语同步备课(北师大版2019选择性必修第二册)
- 2025年全国职业院校技能大赛中职(电子产品设计与应用赛项)考试题附答案
- 2026年黑龙江绥化市中考数学卷试题真题(含答案详解)
- 充电桩生产制造项目投资计划书
- 2026中国超声波按摩器市场消费状况与竞争态势分析报告
评论
0/150
提交评论