




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
特殊监管区域智能化系统数据层设计与实现摘要如今软件开发运用在各行各业中,一方面它对大量的业务数据进行了有效地管理;另外一方面它标准了业务操作流程,提高了工作效率,为行业带来了较高的经济效益。在系统开发过程中,设计一个使用质量高的系统是一个不断尝试和完善的过程。在这过程里,系统要考虑使用何种框架模型、如何有效地设计数据表和如何进行不断地优化提高效率等各种问题。本文介绍的特殊监管区域智能化系统是一套全新的业务申请和审批系统。它是对原系统的升级和改良,主要包括业务模块的重新划定和数据层的改良优化,保证系统在处理数据方面做到平安和高效,另外还能实现对其它已有系统的连接。文章首先介绍了系统使用的框架结构。对各层的简单分析,让数据层的设计工作明确了具体的数据流向,最终确定使用C#和JavaScript语言完成对系统数据层的设计和开发。接着本文对业务模块的需求进行分析,进一步完成Web页面的设计工作,数据库的设计工作和后台业务逻辑层的编写。作为原系统的改良,本文重点介绍了数据层的优化和平安管理工作,从物理硬件和软件设计两个方面制定并实现了一套改良策略,解决了数据访问速率慢、存取异常等遗留问题,使系统的数据层在效率和平安性层面得到了很大的提升,从而也保证了整体系统的使用质量。关键词:架构,数据库设计,数据层优化AbstractNowadaysthesoftwaredevelopmentisusedinallwalksoflife,ontheonehanditcanmanagealotofbusinessdataeffectively,butontheotherhanditcanregulatetheprocessofbusinessoperation,promotetheworkingefficiency,andimprovetheeconomicbenefitsforcompanies.Designingasystemthathasahighqualityisaprocessofcontinualtryandperfectinginsystemdevelopment.Inthisprocess,thesystemhastoconsiderwhichframeworkmodeltochoose,howtodesignthedatabasetableseffectively,andhowtooptimizethesystemconstantlyandsoon.Inthisarticle,itintroducesanewsystem,namedBondOperationManagementSystem.Itsfunctionisbusiness’sapplicationandapproval.Thisnewsystemupgradesandimprovestheoriginalsystem,itmainlyincludesredrawingthebusinessmoduleandimprovementofdatalayer,soitcanmakethesystemsafelyandefficientlyondataprocessing.Inaddition,thenewsystemcanmakealinkwithotherexistingsystems.First,thetextintroducesthesystemarchitecture.Byanalyzingeverylayersimply,thedatalayercanmakesurethedataflows,alsothetextcandecidetouseC#andJavaScriptlanguagetofinishthedesignanddevelopmentofsystemdatalayer.Then,thetextanalysestherequirementofeverybusinessmodule,sobasedontheseresults,itfinishesthedesignofWeb,thedesignofdatabaseandlogiclayercoding.Thenewsystemasaimprovedone.Inthistext,itmainlyintroducesthedesignofdatalayer’soptimizationandsecuritymanagement.Fromtwoaspectsofthephysicalhardwareandsoftwaredesign,thetextcarriesoutasetofimprovementstrategies.Thesestrategiescansolvetheproblems,suchastheslowaccessandexception.Soitmakesthesystemdatalayermoreefficientandsafe,andimprovesthesystem’squality.KeyWords:architecture,databasedesign,datalayeroptimization目录摘要 iAbstract ii图目录 III表目录 IV第1章绪论 11.1课题背景 11.2课题的意义 11.3现状分析 2相关系统现状 2数据层平安现状 2数据层性能问题 31.4设计的目标和拟解决的问题 31.5主要工作和本文组织结构 4第2章相关研究工作 52.1海量数据处理解决方案 52.2数据的备份和恢复 52.3数据层效率优化策略 6内存分配调整 62.3.2SQL优化 7软件开发模式优化 7软件测试优化 72.4数据层平安控制策略 8身份验证 8授权机制 8数据加密 8操作审计 8视图机制 82.5本章小结 9第3章系统架构模型 103.1特殊监管区系统架构 10架构概述 103.2本章小结 17第4章数据交换设计 184.1系统总体介绍 184.2系统内部数据交换 18数据交换格式 184.2.2Ajax数据交换方法 19数据交换流程 204.3数据交换平台 20功能描述 20设计方案 21平台架构 21数据交换接口 24设备要求 24第5章数据库总体设计与实现 255.1总体概述 255.2数据库表设计 26系统业务环境分析 26表设计 285.3本章小结 29第6章数据层优化设计与实现 306.1缓存机制 30客户端缓存 30效劳器端缓存 326.2数据库优化 33读写别离模式 336.2.2SQL语句优化 34构建视图 356.3本章小结 35第7章数据层平安设计与实现 367.1访问控制 36身份认证 36授权管理 377.2数据控制 377.3异常处理 387.4本章小结 39第8章总结和展望 408.1本文总结 408.2未来展望 40参考文献 42作者简历 44致谢 45图目录TOC\h\z\c"图"图3.1系统整体组件关系设计 10图3.2客户端首页界面 11图3.3表单编辑页面 12图3.4表单查询界面 12图3.5工程bll层图片 13图3.6工程model层图 14图3.7实体类生成工具 15图3.8数据库连接配置 15图3.9数据库表选择 16图3.10基类选择 16图4.1系统应用结构图 18图4.2前后台JSON串传递 19图4.3Ajax数据交换 20图4.4数据交换平台 21图4.5平台物理布局 22图5.1数据库架构设计 26图5.2系统业务模块汇总 27图6.1客户端第一次请求过程 31图6.2客户端第二次请求过程 32图6.3MemCache缓存设备 33图6.4读写别离模式 34图7.1身份认证结构图 36图7.2CA账户激活流程 37图7.3普通控制 38图7.4Ajax控制 38图7.5Model层控制 38TOC\h\z\c"图"表目录TOC\h\z\c"表"表3.1实体类和业务类分类 14表5.1字典参数表 28表5.2系统工作流活动表 28表5.3具体业务表 29表7.1操作行为表 39表7.2数据变化表 39绪论课题背景如今在信息系统设计过程中,必然要面对大量的信息数据。这些海量数据给页面加载和数据库读取带来了不小的压力,处理不当就会减慢页面的加载速度,影响用户的操作体验,或者造成访问数据库异常、数据库数据存取混乱等情况。本系统的设计是对原有系统的改良和升级,原有系统因为最初的设计不合理和编码不标准,存在许多弊端和缺乏。首先客户端页面数据加载的速度慢,给使用者带来不佳的使用体验,同时也降低了工作效率。其次,页面数据输入控制不够严密。本系统的应用环境为特殊监管区,在该区内分布着上百家各类型企业,它们生产和销售各种产品,所以企业使用者录入产品信息时存在着不确定性和多样性。如果在录入信息时控制不严密,结果导致底层数据库的存取出现异常。最后,没有制定出一套完整有效的方案去解决海量数据的处理和多用户并发访问系统的难题。特殊监管区内企业数量众多,工作顶峰期很有可能出现效劳器崩溃的情况。以上诸多问题,结果就导致原系统的业务无法完成整个流转过程,形成连环影响。基于此,重新设计了一套业务信息系统,命名为特殊监管区域智能化系统。本课题也就是为了解决以上诸多问题,对系统的数据层进行了重新的设计和实现,保证数据的平安和流畅,最终也就提高了系统整体的使用质量。课题的意义特殊监管区域智能化系统数据层最终的设计和实现,首先能有效地完成业务流程。在客户端它能顺利、平安地帮助用户完成信息的录入和提交,同时在效劳端完成数据的审批和存储工作,保证业务模块数据的正常流转。其次,特殊监管区域智能化系统是要实际投入使用的,要考虑到数据量、数据平安等方面的因素,所以面对多用户并发访问和处理海量数据时,能够有效地保证数据库的完整和稳定。接着,本系统能很好地连接其它已有的业务系统,实现各系统之间数据的调用和共享。最后特殊监管区域智能化系统也是一个可扩展的平台,方便后续的研究和开发工作。现状分析相关系统现状在设计本系统前对目前已有的相关系统和资料文档进行了查阅和分析。.Net三层经典架构[1]被很多成功的软件产品所应用,包含各行各业,比方:电子商务网站、酒店管理系统[3]、稿件管理系统[2]和工业生产管理系统等。对以上这些进行总结归纳。首先可以肯定三层架构已经应用得非常成熟,并且在市场上出现了很多优秀的系统,所以本系统设计采用三层架构[4]是一个不错的选择。仔细比拟已有的这几套系统,它们都是在三层架构的根底上进行扩展,按照自身的特点增加层数、设计组件,或者直接采用原本的框架结构。不管进行如何扩展,它们的本质还是三层架构,在这一点上这些系统没有太大的差异。Web开发兴起后,系统的开发逐渐从以往的C/S模式向B/S模式转变,用户可以使用浏览器通过网络实现在线数据的填报[5],简化了系统的开发和使用。另外,在各系统中采用的数据交换格式也有所不同。目前主要的有两种:XML和JSON。两者相比,JSON更具有灵活性和简单性,便于机器的解析和生成。比照相关系统后发现,在页面开发中使用JSON数据格式会占有比拟多的优势,但同时对开发人员的技术水平有一个较高的要求。另外局部系统页面对动态数据的实时处理设计得不够理想,会影响用户的使用体验。另外对系统数据库的选择也分为两种,有些系统采用SQLSERVER,有些系统那么采用Oracle,这就完全根据自身的需要了。接下来就是涉及到具体数据库表的设计。上面几个系统都有特定的业务环境,有些系统对需求分析不是很合理,同时在设计数据表的过程中过度遵循范式,这样就造成数据表的设计过于复杂;另外,还有些系统数据表虽然设计的合理,但SQL语句没有进行优化,当系统正式运行面对大数据量时,读写数据的效率会受到严重影响。数据层平安现状数据的平安性问题也是衡量一个系统好坏的重要指标,系统要保证数据库里的重要数据不被非法获取或篡改,尽量确保数据的完整性。目前威胁系统数据平安的主要问题包括如下几点:用户的操作权限过高。系统设计时,用户被授予了过高的数据库访问权限,对局部保密数据产生了平安隐患。平台漏洞。不管是应用系统还是数据库效劳器都安装在某个操作系统平台上,而系统平台自身就存在一些平安漏洞,这样就可能出现未授权访问数据。SQL注入。这往往出现在Web页面输入参数过程中,注入的语句传入到数据库中执行,造成数据库的数据非法外泄。身份验证薄弱。身份验证设计不合理或者过于简单,攻击者就容易获取合法用户的登入凭证,从而得到他人的用户数据。审计记录缺乏。合法用户在操作敏感数据时可能出现异常,如果缺少记录,那么对下一次的数据平安产生影响。基于上面目前出现的这几个数据层平安性的问题,在本系统数据层设计过程中也会全部考虑到,并且制定出具体的解决方案,保证系统数据的平安。数据层性能问题数据层的性能好坏决定了系统的整体使用效果,其中主要包括底层数据库的数据读取和前台数据的展示。目前相关系统都要面对海量数据,一旦数据层的优化方案制定缺乏,将会暴露出来诸多问题。首先是对数据库表范式[6,10]的选择,有些系统设计数据库表时选择的范式过高或者偏低,没有在标准化和非标准化之间找到平衡点[7,8,9],这就造成后期SQL语句执行效率降低。其次,系统处理复杂的业务逻辑时,不标准或者复杂的数据库执行语句造成数据读取速度的缓慢,特别是当多用户访问时,数据库表可能会被锁住。最后是数据库表的定期管理不当,造成主数据库容量过大,影响查询数据效率。所以在系统数据层性能完善过程中要解决这些问题,另外根据本系统的特点制定出更全面地优化方案。设计的目标和拟解决的问题通过设计实现这套特殊监管区域智能化系统,首先解决原有系统存在的诸多问题,到达改良的要求。其次,根据新的业务需求,增加新的功能,提高用户体验,成为此系统的增色点。最后,设计这套系统方便今后的研究和开发工作。系统要完成这些设计目标,首先要解决碰到的如下几个问题:页面数据的平安录入如何控制。根据实际的业务环境,数据库表结构设计如何在标准化和非标准化之间到达平衡。海量数据读取和多用户并发访问如何解决。异常数据如何进行恢复和调整。主要工作和本文组织结构根据上述的要求和问题,接下来本文将详细介绍特殊监管区域智能化系统的设计和实现。首先,在第二章中介绍了设计本系统过程中进行的相关研究工作。在第三章中将介绍系统采用的架构模型,说明数据的流向。其次,在第四章介绍数据交换,其中包括数据交换的格式、技术,还有交互平台。随后,第五章介绍数据库的标准设计,这是系统数据层设计中一个重要的环节。根据需求任务书,设计各个业务表,并建立之间的关系。第六章介绍数据层的优化设计,它能帮助整个系统在性能上得到很大的提高。第七章介绍数据层的平安问题,当数据出现异常时,它提供数据后续处理的保障。最后在第八章进行了总结和展望,对本系统的优缺点进行了归纳,明确了后期的改良工作。相关研究工作海量数据处理解决方案当今软件产品应用到各行各业中,系统产生的业务数据庞大而又复杂。同时每天新增的用户数量和业务的细化,给系统数据库带来了巨大的挑战。近期,各大电子商务网站频频出现秒杀、价格战等促销活动,访问数据量以秒为单位节节攀升,彻底暴露出了系统的性能问题,严重的就会出现系统瘫痪,12306订票网站就是一个很好的例子。如何解决大数量的冲击早已成为人们关注的焦点,目前从物理硬件和软件技术这两方面都可以提出一些解决方案。在硬件方面,系统可以使用高性能的效劳器、数据库,并且不断地增加这些硬件的数量。但是硬件性能的提高和数量的增加并不能满足长远的需求,所以问题的解决还要依赖软件技术领域的探索。下面提供几点技术解决方案:页面局部静态化处理。对于系统中使用频繁但又更新缓慢的内容可以使用静态化手段,防止了对数据库的访问。图片别离。图片相对于页面文字来说占用了大量的资源,所以设立单独的图片效劳器。数据库读写别离技术。使用主、从数据库提高IO访问速率。缓存技术。使用MemCache缓存访问频繁但更新小的数据,减少数据库的访问次数。负载均衡。它采用某种均衡策略,分配用户到多台效劳器上,用来解决多用户并发访问出现的问题。数据的备份和恢复在实际软件产品使用过程中,用户的错误操作和系统软硬件的故障都会影响数据库数据的平安,因此要做好数据库的备份和恢复工作。数据库的备份通常就是对数据进行不定期或者定期的复制和拷贝工作,作为原数据的副本。目前主要的备份方式有如下几种:网络备份[20]。数据通过网络传输,传送到另外一台效劳器上作为数据备份。它的优点在于能根据时间进行定时备份或者能根据数据量进行增量备份和差量备份。归档、分级存储藏份[20]。根据数据的类型和重要性,把数据进行分类打包处理,然后再备份保存。SAN备份[20]。本机磁盘和效劳器之间用光纤进行连接,数据就通过光纤进行传输备份。远程数据备份[20]。数据远程复制就是把本地数据传送到远程数据备份系统中,这种备份方式是为了解决本地数据库遭到大范围破坏的问题。数据库的恢复就是在出现意外的情况下,保证数据库的数据不出现丧失的现象。数据的恢复方法首先可以建立事务日志,根据日志周期性地恢复数据库。其次,如果数据损毁严重,那么把最新备份的数据转移带其他磁盘上,再使用日志恢复原来的数据。数据层效率优化策略数据库应用系统的性能问题在大多数情况下是由设计问题引起。在设计数据库结构时,面对复杂的系统业务环境,设计人员无法做到全面地考虑。这些隐藏的问题只有到系统测试运行一段时间后才会暴露出来,所以对这些问题我们要进行优化,提高系统的整体性能。内存分配调整数据库效劳器内存参数调整主要是对数据库系统全局区的调整,系统全局区包括共享池、数据缓冲区、日志缓冲区。其中主要是对数据缓冲区和共享池的参数调整[14]。数据缓冲区从磁盘中读取数据块,然后放入内存缓存中。所以,数据缓冲区的容量越大,存放的共享数据就越多。这样就大大减少了对磁盘数据的物理读写操作,也就意味着数据库的响应速度会加快。另一个就是共享池的调整,它的作用就是存放使用过的SQL语句。共享池由库高速缓存和数据字典缓冲区两局部构成,另外再用一个最近最少使用的算法进行管理。调整共享池的参数主要是扩大保存SQL语句的容量,系统在处理SQL语句时要花费大量的时间,执行并保存这些SQL语句能为下次执行减少大量的时间,提高了响应速度。如果系统内存为1G,一般共享池的大小设置在150M-200M之间,但不能超过500M[14]结合这两种参数的调整,系统的性能会有明显的提高。但对这两种的调整要在合理的范围内,不然会给系统使用的内存带来压力,反而降低系统的效率。SQL优化SQL语句的执行效率直接影响了数据库的执行效率,所以对它的优化也是一个重要的方面。以下介绍3种优化方法:在执行where语句时,我们将能过滤掉大量数据的条件写在where之后,以提高执行效率。在使用select语句时,尽量少使用星号,这样数据库会消耗时间去进行转换,降低了执行效率。所以应直接使用具体的列名。尽量使用where语句代替having语句,在使用时参加筛选条件。这样的执行效率远远高于执行完后用having语句对记录进行的筛选[14]。软件开发模式优化首先防止访问回滚段[14]。当用户所访问的数据正在被另外的用户修改,数据库就需要访问回滚段来读取这一时刻的数据值,保证数据的唯一性,所以可以通过配置回滚段来减少查询时发生的错误。其次对表使用分区和并行技术[14]。所谓的分区技术就是把表进行分割,用到的数据和闲置的数据放在不同的分区中,这样数据库进行查询时,就只会对有用的分区进行数据查询,其他分区的数据将不会被读取,加快了有效数据的读取速度。而并行技术能够让多个处理器处理同一条命令,加快查询速度。软件测试优化在开发过程中,由于实际数据不够充分,导致性能压力测试做的不够全面,在软件产品交付后出现各种漏洞和异常。所以系统必须通过测试验证是否能在负载情况下满足业务的最初要求。首先,系统进行大数据量测试。开发过程中的小数据量不会影响数据库的性能。只有用大数据量使用一段时间后,数据库才会暴露出性能问题。其次,进行多用户并发访问测试。系统在实际使用中可能要面对超负荷的情况,所以在测试中需要进行并发访问,查看是否会引起死锁现象,导致数据库访问中断。数据层平安控制策略数据库的平安性是整个系统平安的一个重要指标。它要保证数据库的数据不被非法获取,防止出现破坏性的数据库操作,保证数据的统一性和完整性。目前,对数据库产生威胁的因素有如下几点:物理硬件损坏、误操作、恶意窃取等,就此提出如下5种解决方法。身份验证用户登入系统时,需要输入自己的用户名和密码来标识自己的身份,然后系统进入数据库进行核对,这就是一套根底的身份认证机制。只有当用户输入正确的用户名和口令,系统才允许合法的用户进入,进行下一步的业务操作。考虑到用户登入信息被窃取的情况,可以设计较为复杂的随机数认证。用户得到口令都是通过预先计算产生,再输入到系统中进行用户合法性的判断。授权机制系统数据库进行访问权限控制,将用户的权限录入在数据表中,限制用户的操作权限。用户权限包括:数据对象权限和数据操作权限[19]。当合法用户登入系统之后对数据库进行读取操作,这时系统会根据用户在数据库中已有的权限进行操作限制,保护权限以外的数据。数据加密数据加密是比拟常用的一种手段,进一步防止数据的泄露。通常就是把明文数据通过一定的计算转换为密文数据。操作审计数据库系统的审计通常是指记录、检查和回忆对系统进行所有相关操作的行为[19]。系统对用户的情况进行记录和审查,当发现问题时,审计人员可以通过审计跟踪,查找原因,防止问题的再次发生。操作审计对数据库平安起到很好地弥补作用,提高数据库的稳定性。视图机制在关系型数据库中,数据库还可以为不同的用户定义不同的视图[19]。在这些视图中对用户的操作数据和操作权限进行控制,在一定程度上保证了数据的平安性和逻辑独立性。本章小结本章首先对处理大数据量提出了几个可行性方案,帮助系统提高访问效率。接着介绍了几种数据备份方法,在数据库出现数据异常时保证数据的完整性。然后对数据层的优化策略进行了总结,从硬件和软件4个方向提出优化方案,最后研究总结数据层的平安控制,归纳了5个策略来保证数据库系统的平安。以上这些研究工作为这次系统数据层的设计提供了重要的依据,保证了后期的开发和实现。系统架构模型特殊监管区系统架构本系统是基于.NET的三层体系结构设计的,在本系统中简称为NBSD架构。在此根底上,搭建本系统的底层组件、实体类组件、业务层组件和Web层的控件及最终的效劳端和客户端。同时根据业务的需求,搭建查询用的报表和后台运算用的效劳引擎。SKIPIF1<0图STYLEREF1\s3.SEQ图\*ARABIC\s11系统整体组件关系设计架构概述如图3.1所示,NBSD架构是在.NET三层架构的根底上进行了扩展,但整体实质上还是原来的三层架构。与其他结构相比,在访问数据时多了一个业务逻辑层,也叫做组件层。在工程开发的过程中,本系统把整个工程分为如下几个层次,其中包括:表示层、业务逻辑层、Model层和数据访问层[4]。表示层就包含最终的客户端和效劳器端,Model层进行数据传递。三层架构将业务规那么、数据访问、数据合法性校验等工作放入业务逻辑层进行处理。为了考虑数据的平安性,通常情况下,客户端先与业务逻辑层建立连接,再经由这层与数据层进行数据交换,保护数据平安。各层分析表示层:主要以Web方式表示,用于显示数据和接收用户输入的数据。本系统采用网页的形式为用户提供一个交互式的操作界面,用户使用IE浏览器进行登入,在表单编辑页执行业务操作。客户端进行初步设计:包括登入首页(图3.2)、用户编辑页面(图3.3)和用户数据查询页面(图3.4)。效劳器端采用客户端类似的界面设计。SKIPIF1<0图STYLEREF1\s3.SEQ图\*ARABIC\s12客户端首页界面SKIPIF1<0图STYLEREF1\s3.SEQ图\*ARABIC\s13表单编辑页面SKIPIF1<0图STYLEREF1\s3.SEQ图\*ARABIC\s14表单查询界面在本系统的实际开发过程中,使用JavaScript脚本语言进行客户端Web开发,根据具体的业务需求进行布局,从而响应用户的各种操作。在此也表达了三层结构的优势,无论表示层如何定义和更改,逻辑层都能很好地提供效劳。业务逻辑层:主要是针对业务数据的操作,是系统架构中表达核心价值的局部[2]。它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。主要集中在业务规那么的制定、业务流程的实现等与业务需求有关的系统设计,如图3.5。图STYLEREF1\s3.SEQ图\*ARABIC\s15工程bll层图片数据访问层:主要负责数据库的访问,它响应逻辑层的请求,为业务逻辑层提供数据。简单来说,就是对数据库进行增、删、改、查等操作。在本系统设计中,还添加了Model实体类层,如图3.6。它作为数据库表的实体映射,在各层之间起到了一个数据传输的桥梁作用。model层里面的一个类对应数据库里面的一张表,类里面的每一个属性对应表里面的一个字段,每个属性都有自己的GET和SET方法,工程中的数据存取都要依靠GET和SET方法来实现[4]。图STYLEREF1\s3.SEQ图\*ARABIC\s16工程model层图本系统根据框架设计对数据库字段的约束条件,同时结合本系统的实际功能,可将数据实体和对应业务类分为6大类,暂命名如表3.1:表STYLEREF1\s3.SEQ表\*ARABIC\s11实体类和业务类分类实体类业务类说明BaseObjectEntityBaseObject全字段实体类BizObjectEntityBizObject带ID的实体类UniqueidentifierEntityBizUniqueidentifier申报表体实体类StatusUniqueidentifierEntityBizStatusUniqueidentifier申报表头实体类IOUniqueidentifierEntityBizIOUniqueidentifier外网发起申报表体实体类IOStatusUniqueidentifierEntityBizIOStatusUniqueidentifier外网发起申报表头实体类另外实体类生成工具,如图3.7:图STYLEREF1\s3.SEQ图\*ARABIC\s17实体类生成工具执行CreateEntityObject.exe后,会出现如图3.8,填入要导出的数据库图STYLEREF1\s3.SEQ图\*ARABIC\s18数据库连接配置然后选择要导出的数据表,如图3.9图STYLEREF1\s3.SEQ图\*ARABIC\s19数据库表选择再选择要继承的实体基类,如图3.10图STYLEREF1\s3.SEQ图\*ARABIC\s110基类选择然后点击“预览文件内容〞或“导出〞既可以查看或生成选中数据表的实体类代码。结构设计的利弊我们用三层结构主要是使工程结构更清楚,分工更明确,有利于后期的维护和升级。主要的优点:易于工程的修改和维护。在工程的开发过程中或者开发后的升级过程中,只需要将表示层重新修改就可以了。易于扩展。NBSD架构就是在此三层结构上进行的扩建。易于代码的重用。易于分工协作开发。这能有效地加快系统开发的速度,缩短开发周期。无论哪种开发模式或方法,都有其利弊。虽然这种结构模式应用比拟普遍,但不适用于对执行速度要求过于苛刻的系统。在做出比拟、权衡之后,选择这个结构模式进行系统开发。本章小结本系统使用的NBSD架构在三层架构的根底上进行扩展,包括了表现层、业务逻辑层、Model层和数据访问层,使工程的结构更加清楚;同时结合实际具体业务和团队开发的要求,NBSD架构让本工程分工更加的明确,提高了开发效率,缩短了工程开发周期。总体来说,三层架构在很多方面要强于其它结构,它能解决多用户并发访问带来的拥堵问题,保证数据库数据的平安,这些诸多优势也是本系统选择的原因。数据交换设计系统总体介绍特殊监管区域智能化系统可以分成内部隔离区〔即效劳器端〕、外部平安区〔即客户端〕以及外部系统接口区〔数据交换平台的外部延伸〕三局部组成,如图4.1。效劳器端、客户端以及数据交换平台之间的数据和流程交互通过数据库实现,从而减少系统之间耦合度。SKIPIF1<0图STYLEREF1\s4.SEQ图\*ARABIC\s11系统应用结构图系统内部数据交换数据交换格式本系统Web开发使用JavaScript脚本语言,从而使用JSON这种轻量级的数据交换格式。它是基于JavaScript的一个子集,一方面它易于阅读和编写,跟XML相比具有更好的简单性和灵活性;另一方面,非常适合于效劳器和JavaScript的交互。目前比拟流行的数据交换格式包括以下三种:XML、JSON、YAML。JSON是基于纯文本的数据格式,能跟JavaScript很好地结合。JSON的数据格式非常简单,可以简单地理解为它是JavaScript的数组和对象。在实际编程过程中,JSON将JavaScript对象中表示的一组数据转换为字符串,然后就可以在函数之间传递这个字符串,或者在异步应用程序中将字符串从Web客户机传递给效劳器端程序,同时效劳器端响应用户请求返回数据,可以将效劳器端的数据封装成为JSON传送到Web页面,如图4.2。图STYLEREF1\s4.SEQ图\*ARABIC\s12前后台JSON串传递Ajax数据交换方法在系统设计过程中,为了使客户端和效劳器端能进行更好的数据交换,我们使用了Ajax技术。通过Ajax,JavaScript的XmlHttpRequest对象直接与效劳器进行通信,在不重载页面的情况下,数据被动态地写入网页中,完成与Web效劳器的数据交换。在系统设计中使用Ajax技术,它的优势是不言而喻的。Ajax在客户端和效劳器端之间还支持异步数据传输,这就使网页请求效劳器的信息大幅度减少。Ajax的数据处理过程也不复杂。当发送HTTP请求,浏览器不会挂起等待效劳器响应,页面继续响应用户的交互,在效劳器响应完成后再处理这些请求。这时,我们需要向XMLHttpRequest注册一个回调函数,并异步地派发XMLHttpRequest请求,如图4.3。控制权就被返回到浏览器,当效劳器响应到达时,回调函数将会被调用。在Web效劳器上,到达的请求与任何其它HttpServletRequest一样。在解析请求参数后,servlet执行必需的应用逻辑,将响应序列化到XML中,并将它写回HttpServletResponse。图STYLEREF1\s4.SEQ图\*ARABIC\s13Ajax数据交换数据交换流程实际系统运行过程中,客户端和效劳器端的数据交换是双向的,一方面效劳器响应客户端的数据请求,另一方面客户端把录入好的数据封装好发送给效劳器。在数据库,系统为每个操作业务设计了两张数据表:临时表和正式表。客户端通过JSON封装串和Ajax方法提交给BLL层,通过校验的数据就先保存在临时表;在效劳端等到数据审核通过后才存入数据库的正式表。数据交换平台功能描述在本系统之外,还要与H2000的数据订阅,与预录入系统的报文传输,还有企业erp系统,物流系统中口岸施验封系统涉及的与港务的交互,所以建立数据交换平台(图4.4),方便各个系统之间的数据交换。设计方案利用BizTalk对数据的路由功能,同时结合各应用系统的独立数据存储方式,满足其他系统通过数据交换平台对数据的获取请求。SKIPIF1<0图STYLEREF1\s4.SEQ图\*ARABIC\s14数据交换平台平台架构特殊监管区域智能化系统数据交换平台由BizTalk核心区、数据传输区、交换平台管理区以及数据存储区四个局部组成。用于数据交换的传输协议包括HTTP(S)、MQ、FTP、FILE和SOAP等,用于数据交换的应用协议有MSSQL。SKIPIF1<0图STYLEREF1\s4.SEQ图\*ARABIC\s15平台物理布局上图4.5中的核心框内的接收、处理、发送、BizTalk控制台和数据交换监控8台虚拟机搭建于2台物理机上,两台BizTalk数据库采用双机热备方式。BizTalk核心区BizTalk核心区基于微软的BizTalkServer2021企业应用集成平台,分为前台数据处理层和后台数据存储层,两层结构可分别进行横向扩展和纵向扩展。前台处理层包含消息接收、业务流程处理、消息发送三类效劳器,根据报文数量和时效性要求可以部署多台效劳器同时并行处理多个消息,同时,业务流程支持负载均衡,接收和发送可建立备份传输通道,在主通道失效的情况下启动备份通道继续进行消息传输处理。后台数据存储层部署两套SQLServer2021数据库管理系统,实现双节点A/A故障转移群集,用于保存BizTalk配置数据、交换消息持久化存储以及跟踪数据存储等。数据库物理数据保存在SAN区域网络存储上,在其中一台数据库效劳器出现异常停止工作时通过微软的MSCS效劳自动由另外一个节点的数据库效劳器接管存储上的物理数据继续为前台数据处理层提供效劳。数据传输区数据传输区主要职责是作为数据交换代理,分别连接BizTalk核心区域和目标参与方,最终实现多个参与方之间的数据交换。根据BizTalk提供的适配器可以实现FTP、FILE、IBMMQ、MSMQ、SQL、WS以及WCF等方式的消息交换。目标参与方分为两类,第一类为建立在专用网络上的各个单位、部门中的系统,比方其他数据中心的信息化系统需要同特殊监管区域智能化系统进行数据交换。这种方式的数据交换数据量一般比拟大,时效性要求也高,同时必须保证数据传输的完整性,需要支持事物化传输,另外还要考虑各系统技术平台异构的情况因此主要采用消息队列方式进行数据传输。第二类目标参与方为企业用户,一般通过Internet网络进行连接,相比第一类目标参数方单个通道上的数据交换量比拟小,但是网络连接数较多,网络带宽较小,只适合小数据量的传输。根据企业用户的技术能力以及其信息化应用水平可选择FTP、WebForm申报或Web效劳集成调用方式进行数据交换。采用FTP方式进行数据交换BizTalk核心区域通过FTP适配器直接同FTP效劳器连接。采用WebForm申报或Web效劳方式进行数据交换消息数据先保存至代理数据库效劳器,代理数据库效劳器同BizTalk核心区域相连接,通过这种方式能够提供较好的平安性,也更容易扩展和管理。交换平台管理区交换平台管理区实现对BizTalkServer平台以及基于其上的特殊监管区域智能化系统数据交换平台进行管理和监控。对BizTalkServer平台的管理主要通过BizTalkServerConsole来实现,主要管理工作包括BizTalk应用程序部署、接收端口、发送端口/发送端口组、业务流程、应用程序执行方案、接收方/发送方管道等多个模块进行设置和管理,并可实时查询当前正在平台上运行的消息以及出现异常挂起的消息。同时,控制台提供消息人工干预恢复和保存功能。消息交换平台监控主要包括BizTalk监控和数据传输监控两局部。BizTalk监控通过对BizTalk进行二次开发,实现是对BizTalk内部运行的业务流程、发送端口、接收端口等模块状态进行实时监控,在出现状态异常时进行报警通知、同时监控BizTalk消息盒中的消息数量,在出现消息处理缓慢或出现阻塞时进行预警。数据传输监控实现对消息队列运行情况,MQ通道状态、队列中未处理消息深度进行监控预警。消息传输监控同时实现对FTP效劳器以及相关报文存放目录进行监控,在超出设置的时间阀值报文未被移走或单位时间报文积压过多时进行预警。另外数据传输监控对代理数据库效劳器和基于SQL适配器进行消息交换的报文数据库中的报文流转情况进行监控,出现异常情况进行预警。数据存储区数据存储区域采用区域网络存储技术〔SAN〕,两台数据库效劳器通过HBA卡访问网络存储,能较有效的降低IO瓶颈,同时实现数据平安和高可用性。报文备份效劳器同区域网络存储相连,通过BizTalkServer文件适配器对一些用于数据交换的原始报文进行落地备份,并按日期进行归档。Vmware虚拟化平台虚拟效劳器文件保存在区域网络存储中,使系统部署、复制、迁移更加灵活。随着系统数据量的增加区域网络存储可以扩充磁盘柜增加磁盘,不必另外购
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急救护理学知到智慧树章节测试课后答案2024年秋安徽中医药大学
- 2025年海口经济学院单招职业技能测试题库完整
- 2025年河南省三门峡市单招职业适应性测试题库学生专用
- 社交媒体中的商务礼仪与形象维护
- 2025-2030年中国电动窗帘行业前景趋势及发展潜力分析报告
- 电费转让合同范本
- 2025-2030年中国汽车车灯行业发展趋势及投资战略研究报告
- 2025-2030年中国枕套市场发展趋势及前景调研分析报告
- 2025-2030年中国杂交稻谷市场十三五规划及发展建议分析报告
- 2025-2030年中国无水叔丁醇产业发展现状及前景趋势分析报告
- 全国川教版信息技术八年级下册第二单元第1节《设计文创作品》教学设计
- 危货押运员考试答案(题库版)
- QCT267-2023汽车切削加工零件未注公差尺寸的极限偏差
- 2022-2023学年浙江省绍兴市高一(下)期末数学试卷含答案
- 租房协议书 租房协议书范本
- GB/T 43646-2024陆生野生动物廊道设计要求
- 吊篮施工风险分级管控与隐患排查治理(汇编)
- 内蒙古呼和浩特市2023年中考历史试题(附真题答案)
- 急诊科护理带教经验
- 车间维修工培训课件
- 涉警舆情培训课件模板
评论
0/150
提交评论