三层架构--很多数据计算过程写到哪里?

问题描述

如题,公司不是很专业的软件公司,但是鉴于手里这个工作不是很大的工作量,时间不是很着急,本着试一试正规软件开发的流程,想写的正规一点,看网上推荐用三层架构。软件主要实现流程:1、从工厂现场生产线读取数据问题:1.1我想同时保存采集到的数据到SQL数据库,还要同时把采集到的数据送到软件的数据处理模块进行处理,这个应该怎么做?我想的是线保存到SQL,在从里面读出来,但是感觉这个方法太笨了。。。2、对采集到的数据进行计算问题:2.1按照三层架构,我觉得应该写到业务层吧,这次实现的主要是一些统计、分析、平方之类的数学的数值计算,但是看网上三层架构的例子,都很简单,没有见到这种例子,难道是单独写成dll什么的,在业务层调用吗?3、领导要求,要实现一台电脑计算,可以同时有多个客户端的方法,问题:3.1从我的理解,我觉得是用C/S模式,网络没搞过,所以不想用B/S,是吗?3.2数据传输打算用远程SQL访问可以不?主要是客户端用来定时读取数据,显示数据画图用。3.3上面的画图中,主要是winform中画一些柱状图、折线图,请问是用graph画还是用Chart控件之类的?3.4如果还有客户端和数据库的交互,是不是必须用网络了,例如SOCKET了?非软件专业,想尝试着做的专业一点,问题比较琐碎,先谢谢大家的耐心回答!

解决方案

本帖最后由 u014710355 于 2016-06-20 20:32:50 编辑
解决方案二:
1、socket模块接收到数据就发送给客户端。2、三层架构(UI-BLL-DAL),你这些需求属于BLL,单独用个类库项目。3、c/s可以、b/s也可以;数据库可以用sqlserver存取数据,可以远程也可以本地;画图建议用chart控件画;客户端和数据库的交互通过ado.net。
解决方案三:
这个通常采用消息队列+发布/订阅采集队列存储模块订阅他处理模块同时订阅他其实这个无关3层,3层基于对象,而这个其实是传统的数据流导向,可以用的东西有RabbitMQ,ReactiveExtensions(rxnet),TPLdatalfow
解决方案四:
如果是我设计可能的设计方式是采集的数据先发给rx做的采集消息总线rxBus数据处理模块订阅rxbus的消息(收到消息后,处理模块可以继续rx也可以dataflow,这两东西本身设计是目标不同,但是完成的功能交叉覆盖,倒是可以互相配合转换)处理完的消息,可以用RabbitMQ分发给客户机
解决方案五:
这个和三层没有什么关系了,应该将任务放入队列,让后台作业服务去计算。
解决方案六:
传统的两层式的程序,是前端直接调用数据库驱动,从而没有使用多服务接口的方式来扩展系统。因此所谓“三层架构”,就是说你有一层数据计算服务,不管你用什么方式实现,反正你对前端屏蔽了这些数据服务的底层数据库,这就是准确的“三层”!“三层架构”其实非常简单直接。许多人满脑子只有DAL,所以他们忽悠DAL,仿佛DAL重要处理多少业务逻辑——而业务逻辑层则只做简单的数据传递——似地。那是13、14年前一些仿.net开源小项目PetShop式的所谓“三层”。实际上,你完全不用考虑这么多。只要你的数据服务是一个独立系统,甚至打算扩展授权模块、计费模块,打算对各种前端开放平台能力,那么没人敢再跟你这个系统提“三层”了。因为你这个系统不管怎么看,都有了强大的BLL层。反之,倒是一些刚写点asp.net单机(网站)小程序的人,才会过多地去讲“三层架构”要分成多少个目录、多少个文件、各种代码风格的规矩,之类的。
解决方案七:
纠结DAL的人,言必谈“数据库表”,所有操作只有从“增删改查”角度去考虑他才觉得心里有底。而“三层架构”,其实很简单,就是你先假设数据是“不落地的”,是在网络里可以保存几天、几个月,然后没用了就扔到的。数据库是备份、统计、找回资料的底层机制。但是数据库其实不是你设计一个强大的开放服务平台的思路出发点,而只应该是一个最终实现工具(其中之一)。
解决方案八:
有的时候一个人可能心里很想设计一个强大框架,然而一旦动起来之后没有2个月就怂了,就还是认为唯有数据库表是最让自己心里有底的东西了,所有其它的技术似乎都太难掌握、太慢应用、自己提不出具体的技术方案。其实这也正好说明了技术分层的作用。你若坚持那些中间件、(单向或者双向)通讯、查询缓存、大型计算模型、用户授权、统计图表、水平扩展系统接入服务器等等方面的框架,你便慢慢脱离了“增删改查”的思维定势。假设一个人去买菜,你可以说它是去“增删改查买菜订”;假设你一个人去医院体检,你可以说他是“增删改查病例资料”;假设一个人去约炮,你可以说他是去“增删改查”宾馆登记簿资料......当你把一开始的“工厂生产管理”最终完全往“增删改查”上套用的时候,你就没有创意,也不想去看看国内外最流行的7、8个小型生产系统是怎样设计的,只剩下懒惰了。你看你每一句话都在围绕着“sql、读写数据库、要不要dll文件”来考虑,这个思路没有从发布一个公司产品服务来考虑,而是从应付差事、为领导写个小程序的角度来考虑。

时间: 2024-08-02 13:52:59

三层架构--很多数据计算过程写到哪里?的相关文章

Asp.Net(C#)+Sql Server三层架构下数据存取方案(六)

asp.net|server|架构|数据 #region 构造函数 public ScoreSetting() { } /// <summary> /// 重载构造函数 /// </summary> /// <param name="id">积分设置ID</param> public ScoreSetting(int id) { this.id=id; } #endregion #region 公共方法 /// <summary&g

Asp.Net(C#)+Sql Server三层架构下数据存取方案(二)

asp.net|server|架构|数据 存储过程: /********************************** 功能:根据一定条件读取功能记录 作者:Rexsp 创建日期:2004-01-13 修改者: 修改日期: **********************************/ ALTER PROCEDURE GetScoreSetting ( @ScoreSettingID INT=-1, ---设置ID @FunctionID INT=-1, ---功能ID @Oper

Asp.Net(C#)+Sql Server三层架构下数据存取方案(一)

asp.net|server|架构|数据 引言: 参与了一个大型社区程序的开发,现在将相关开发经验陆续总结出来,和大家探讨一下.本节主要想与大家探讨一种数据读取方案:集合类代替直接从数据库中获取的DataSet,主要好处就是可以解决Sql Server吞吐量的瓶颈问题.一般小数量的程序不会有问题,但数据以十万百万条计的时候,数据库的吞吐量的限制就会表现的比较明显.这里的解决方案其实也就是把海量数据信息分成一条条取出,以频繁取库的代价解决瓶颈限制,其实也就是把数据库服务器的负担让WEB服务器分担了

Asp.Net(C#)+Sql Server三层架构下数据存取方案(三)

asp.net|server|架构|数据 一. 数据层类: using System; using System.Collections; using System.Data; using System.Data.SqlClient; using Town.Data; using Town.Log; namespace Town.Com { /// <summary> /// 功能:积分设置集合类 /// 作者:Rexsp /// 创建日期:2004-01-14 /// 修改者: /// 修改

Asp.Net(C#)+Sql Server三层架构下数据存取方案(四)

asp.net|server|架构|数据 #region 公共方法 /// <summary> /// 根据不同条件取得积分设置 /// </summary> /// <param name="functionID">功能ID</param> /// <param name="operationID">操作ID</param> /// <param name="roleTypeI

Asp.Net(C#)+Sql Server三层架构下数据存取方案(五)

asp.net|server|架构|数据 using System; using System.Data; using System.Data.SqlClient; using Town.Data; using Town.Log; using System.Collections; namespace Town.Com { /// <summary> /// 功能:积分类 /// 作者:Rexsp /// 创建日期:2004-01-14 /// 修改者: /// 修改日期: /// </

三层架构的学习

为什么要使用三层架构 对于一个简单的应用程序来说,代码量不是很多的情况下,一层结构或二层结构开发完全够用,没有必要将其复杂化,如果对一个复杂的大型系统,设计为一层结构或二层结构开发,那么这样的设计存在很严重缺陷.下面会具体介绍,分层开发其实是为大型系统服务的.在开发过程中,初级程序人员出现相似的功能经常复制代码,那么同样的代码写那么多次,不但使程序变得冗长,更不利于维护,一个小小的修改或许会涉及很多页面,经常导致异常的产生使程序不能正常运行.最主要的面向对象的思想没有得到丝毫的体现,打着面向对象

大数据计算架构三国争霸胜负未明

短短几年时间,大数据这个词便已家喻户晓.但在大数据这个名词被命名之前,人类对数据的搜集与分析已有着悠久的历史.从人工统计分析到电脑/大型机再到今天的分布式计算平台,数据处理速度飞速提高的背后则是整体架构的不断演进.今天大数据架构最火热的莫过于Hadoop,Spark和Storm这三种,而Spark和Storm这两个后起之秀更是抢了不少Hadoop的风头,也让网上逐渐开始有一种声音说Hadoop的日子已经快到头了.但究竟这三者之间是什么关系,未来大数据架构究竟该走向何方呢? 分布式计算架构鼻祖Ha

大数据计算架构Hadoop、Spark和Storm 三者技术比较

短短几年时间,大数据这个词便已家喻户晓.但在大数据这个名词被命名之前,人类对数据的搜集与分析已有着悠久的历史.从人工统计分析到电脑/大型机再到今天的分布式计算平台,数据处理速度飞速提高的背后则是整体架构的不断演进.今天大数据架构最火热的莫过于Hadoop,Spark和Storm这三种,而Spark和Storm这两个后起之秀更是抢了不少Hadoop的风头,也让网上逐渐开始有一种声音说Hadoop的日子已经快到头了.但究竟这三者之间是什么关系,未来大数据架构究竟该走向何方呢? 分布式计算架构鼻祖Ha