mes java_MES项目简单总结(技术篇)
本文本来是写到Word文档里的个人总结,后来想想从06年接触博客园至今,基本每天都要上来学习一下的,却从来没写过什么东东,就贴一篇。
新项目马上要开始,本文先从技术角度对上一MES项目简单总结一下。
1、程序
主要程序列表:MES产品框架、客制化生产系统、客制化查询系统、测试设备(2种)集成程序、数据采集设备(2种)集成程序、报表数据统计Job框架、报表系统、异常报警信息查询系统、SAP接口、其它程序
1.1、MES产品框架:使用WCF进行通信,使用NHibernate 2.2进行持久化,使用AppDomain动态加载/卸载程序集dll并缓存的方式及以Key-Value的属性方式提供客制化处理方案;
1.2、测试设备集成程序:处理测试设备输出的数据(主要格式:txt、Excel、Access);
1.3、数据采集设备集成程序:Socket通信、结合PLC进行串口通信等;
1.4、报表数据统计Job框架:Quartz,动态加载Job dll;
1.5、报表系统:SQL Server自带的报表系统;
如图:
应用程序架构图示
2、数据库
使用的数据库产品是Microsoft SQL Server 2008 R2英文版
系统数据库主要设计为:生产数据库(Production Database)、历史数据库(History Database)、报表数据库(Report Database)、集成平台数据库(Integration Database)、异常报警信息数据库(Exception Alarm Database)、SAP接口数据库;
2.1、生产数据库(Production Database)
1)生产数据库正常情况每周增长量为15G(Data File + Log File + Index File),保存6~12个月内数据;每天Log备份,每周增量全备份(全备之后Log File会截断) ;
2)生产数据库主要给生产系统和产线生产数据查询系统使用;
3)生产数据库中的业务数据定期做归档,主要有2种方式:Purge和Archive,Purge是数据可逆方案,主要对象是计算机:删除原始数据前按业务单元把数据以Insert Sql的形式保存到txt文件中,需要恢复时执行相应Insert Sql;Archive是数据不可逆方案,主要对象是人:按业务单元把数据以Key-Value的形式保存到txt或xml文件中;
2.2、历史数据库(History Database)
历史数据库数据由生产数据库数据同步过来,3种方案同时使用:SQL Server的发布/订阅复制(Replication)方案、SQL Server Job方案、SSIS(SQL Server Integration Service)方案;3种方案同时使用的原因:发布/订阅的复制方案会因为各种原因中断,微软支持人员给出的答案:有些原因在方案重启后可以从中断点继续复制,有些原因必须重新做复制,从头复制(问题就在这里:1是复制需要一定的时间,会影响生产;2是有些数据在生产数据库已经被Purge掉了,无法找到原始数据),所以历史数据库就被拆分成几个小数据库:基础数据或变动比较小的数据采用SQL Server的发布/订阅复制方案,问题发生时就算重新做复制也会比较快恢复;一些逻辑性强的采用SQL Server Job的方式进行复制,可以设置起始点及回退;SSIS不太了解,属于学习和尝试阶段;
2.3、报表数据库(Report Database)
基于报表逻辑的复杂性以及客户对效率要求(所有常规报表在30秒内),通过Job将报表数据从历史数据库中统计出来保存到报表数据库来实现。
其它数据不做介绍了。
如图:
数据库架构图示
3、服务器
根据以上程序及数据库设计,规划以下服务器,实际实施时有合并使用。
MES产品框架应用程序服务器(Framework Application Server)、客制化系统应用程序服务器(Custom Application Server)、集成平台应用程序服务器(Integration Application Server)、缓存服务器(Cache Server)、报表查询服务器(Report Query Server)、生产数据库服务器(Production Database Server)、历史数据库服务器(History Database Server)、报表数据库服务器(Report Database Server)、文件服务器(File Server)
如图:
服务器架构图示
Application Server一共2台,在服务器群集(Cluster)基础上结合缓存服务器(Cache Server,主要是架设了NCache,保存Session和Viewstate)建立网络负载平衡(NLB,Network Load Balancing),主要运行程序:MES产品框架、客制化生产系统、客制化查询系统;
Integration Server主要运行程序:测试设备(2种)集成程序服务器端、数据采集设备(2种)集成程序服务器端;
4、主要问题
技术上主要的问题在于数据库的同步方面,各种方案都有优点和缺点,搞得很疲惫,不知道是SQL Server太弱还是我们的设计方案有问题(使用SQL Server主要是项目开始之前,客户方已经购买了SQL Server,不愿意再换Oracle)。
mes java_MES项目简单总结(技术篇)相关推荐
- github上创建java项目简单操作
github上创建java项目简单操作 参考L: github上创建java项目简单操作 - CSDN博客 http://blog.csdn.net/qq_29392425/article/detai ...
- 从vue项目简单了解什么是SSR
从vue项目简单了解什么是SSR SSR 从0到1开始 初始化项目 server.js SSR vue是单页应用,创建的项目不利于SEO爬虫,因为SEO爬虫是爬网页的源代码,而vue创建的项目是通过j ...
- 10招搞定MES系统软件项目
在MES系统软件项目管理过程中,有时候会出现项目进展不顺利的情况,有时候项目则会直接垮掉.真正精明的MES系统软件管理人员必须要有能力对项目进行预判,并及时加强管理及采取必要的措施,同时还要积累经验, ...
- MES系统项目风险管理解决方案
软件项目风险管理是保证软件工程项目顺利实施的重要环节,针对企业特点,阐述了在软件研发中产生风险的原因,讨论了软件项目管理风险管理控过程.以某具体软件项目的开发和实施为背景,将主成分分析和相关性分析等方 ...
- idea 从svn导入多个项目_IDEA导入项目简单教程
该教程用于IDEA初学者导入eclipse项目,或者导入其他已经写好的Java源程序的简单教程. 我们用IDEA打开一个已经写好的项目源文件时,如果没有配置好,就会出现:JDK配置失误报错.程序无法启 ...
- 3D姿态估计——ThreeDPose项目简单易用的模型解析
前言 之前写过tensorflow官方的posenet模型解析,用起来比较简单,但是缺点是只有2D关键点,本着易用性的原则,当然要再来个简单易用的3D姿态估计.偶然看见了ThreeDPose的项目,感 ...
- ASP.NET Core 项目简单实现身份验证及鉴权
环境 VS 2017 ASP.NET Core 2.2 目标 以相对简单优雅的方式实现用户身份验证和鉴权,解决以下两个问题: 无状态的身份验证服务,使用请求头附加访问令牌,几乎适用于手机.网页.桌面应 ...
- Django小项目简单BBS论坛
开发一个简单的BBS论坛 项目需求: 1 整体参考"抽屉新热榜" + "虎嗅网" 2 实现不同论坛版块 3 帖子列表展示 4 帖子评论数.点赞数展示 5 在线用 ...
- 说一下dubbo项目简单的搭建过程_dubbo学习(1)--简单的入门搭建实例
1 简介 dubbo是一个分布式服务框架,由阿里巴巴的工程师开发,致力于提供高性能和透明化的RPC远程服务调用.可惜的是该项目在2012年之后就没有再更新了,之后由当当基于dubbo开发了dubbox ...
最新文章
- 用QQ提问的技巧,用了之后可以提高效率,呵呵。
- python学习软件-python软件学习从入门到精通
- Fiddler抓包工具详解(四)(断点设置+弱网测试)
- VS2017生成一个简单的DLL文件 和 LIB文件——C语言
- 我为什么在这里写博客
- 能量项链(NOIP-2006 提高组)
- python-gevent模块实现socket大并发
- python能做什么程序-学了 Python,能用来做什么?实际应用场景有哪些??
- The 9 Deep Learning Papers You Need To Know About (Understanding CNNs Part 3)
- 解决Mac谷歌浏览器问题
- css+html投票系统,网上在线投票系统的设计与实现.doc
- android 集成 firebase 推送
- Halcon错误 #2021: System clock has been set back.
- linux修改只读文件指令,linux修改文件权限
- java使用freemarker模版下载成Excel文件
- Servlet入门到入坟 一站式基础及进阶——SpringMVC没它都不行 你确定不来看看——囊括初学基础以及进阶
- 网络安全——Burpsuite
- 判断字符串是否是对称字符串
- (毕业设计资料)基于单片机GPS轨迹定位和里程统计系统
- AG9311Algoltek安格科技TypeC转HDMI PD3.0方案设计资料