引用(0)请拷贝:
【交流】有趣有益,案例分析 (懒厨;字1283 阅
4356
11 2007-07-30 17:59:31。
LIMS? (酸酸;字66 阅
133 2007-08-02 11:12:16。。
能否展开说说? (懒厨;字0 阅
99 2007-08-02 17:45:00。
太谢谢了 (橡树村;字1269 阅
167 2007-08-02 01:23:05。。
如果要简单一点,一个database也就够了 (pdwolf;字1058 阅
107
1 2007-08-08 01:50:54。。。
谢谢 (橡树村;字201 阅
88 2007-08-08 01:57:40。。。。
不客气 (pdwolf;字126 阅
96
1 2007-08-08 02:44:22。。。。。
是这样的 (橡树村;字172 阅
98 2007-08-08 04:52:15。。
不客气 (懒厨;字1506 阅
96
1 2007-08-02 17:43:53。。。
安全性应该可以在后期找专业人士专门做吧? (橡树村;字102 阅
68 2007-08-02 23:21:32。。。。
对,这样也可以 (懒厨;字136 阅
64
1 2007-08-02 23:32:56。。。。。
我目前依赖的是学校内的网络服务人员 (橡树村;字74 阅
69 2007-08-02 23:54:09。
如果只是那样的需求的话 (南北朝大蟑螂;字168 阅
656
1 2007-07-31 01:05:12。。
一直很困惑 (懒厨;字486 阅
567
1 2007-07-31 16:26:00。。。
例子分析 (南北朝大蟑螂;字647 阅
548
1 2007-07-31 18:55:41。。。。
倒也! (懒厨;字140 阅
525
1 2007-07-31 19:09:50。。。。。
那也可以 (南北朝大蟑螂;字684 阅
524
1 2007-07-31 19:23:05。。。。。。
大型数据库和价格昂贵不一定划得上等号 (pdwolf;字430 阅
524
1 2007-07-31 21:46:05
1
【交流】有趣有益,案例分析
11 懒厨 2007-07-30 17:59:31
转眼西西河就四周年了,铁手的宗旨是有趣有益,正琢磨着搞些什么活动能配得上这四个字的,看到河友橡树村的问题,灵光一闪,不如就做个案例分析吧,估计河里有不少人是做应用软件开发的,分析一下,同行交流,总是有益的。
河友橡树村要求的软件,分两步,
初期的要求是这样子的
我现在实验室的项目比较多,人也比较多,想把所有的数据都放到局域网服务器上,然后根据不同权限可以访问不同的数据,同时进行数据的计算,比较,整理。
现在有什么比较方便的平台实现这个东西?
数据库格式简单,基本就是数字和文本,日期,结果也不复杂,数据量也不大,每天生成几十K就不错了。
未来的要求是这样子的
不过需要考虑到明年开始运行的一个工业试验厂的情况。但是数据量也不是很大。其实工业数据分析的时候取样频率还比不上实验室的取样频率。工厂本身的运行参数是另外一个程序的事情了。工厂数据的麻烦就是这个必须是远程传输,我的厂子在陕西呢,我的实验室在南非。
另外还要考虑以后容纳国内另外一个实验室的数据。
已知情况:
1)橡树村有一些VB基础
2)橡树村能对SQL SERVER进行基本操作。
小弟我就不客气,把砖抛出来,大伙不妨写写你们的方案,你们的方案,不必限定技术要求的,各位擅长什么,就写什么,大家交流一下。另外也不妨批评一下小弟的方案,指出不到之处。
橡树村兄也不必客气,如果有需求变化,直接提出来就是,需求变化是正常软件开发的一部分,这样会给这个案例带来更多的乐趣。
请尽量 选转。铁手 荐,最后于2007-07-30 18:20:48改,共1次;
2
LIMS? 酸酸 2007-08-02 11:12:16
这个最好要和其他部门有所协同。否则费时费力费钱,到头还要重来过。
3
能否展开说说? 懒厨 2007-08-02 17:45:00
2
太谢谢了 橡树村 2007-08-02 01:23:05
这么好呀!
如果能使用web server是最好的了。现在做研究的也需要满世界乱跑,如果可以在远程访问自己的数据,不需要特殊的客户端软件,是最好的。我个人8年前使用过ASP开发过东西,现在变化了多少?
如果使用Web server,如何解决数据保密问题?公开了就可能受到攻击,特别是有商业价值的东西。是完全依靠服务器的设置,还是需要自己在程序里面进行设置?简单的用户名/密码对于想破解的人来讲没有什么作用。要是依靠物理网址限制的话,有的时候也很不方便,安全性也不好,我这里毕竟是大学,控制不这么容易。
我能想到的是把终端数据处理和原始数据分开。说实话我的原始数据给人家看别人也看不懂,只要程序能够把我所需要的数据提供出来,最多生成个Excel文件,然后是用自己的客户端处理文件在进行分析就是了。这样是否可行呢?
数据的格式有很多种,毕竟实验有很多种,除了运行数据,还有辅助数据等等,简单数了一下有十几类文件信息,很多互相还会相互关联,不使用数据库是管理不了的。
数据量我觉得不大,一天几十K的样子。再大一些,一天应该超不过1M。毕竟全是数字信息,都是仪器分析的结果,要生成这么多的信息量还是不容易的。不过要是能够处理,我也想把仪器分析的原始数据放上来,这个数据量就会大不少,每天弄个几十兆都不难。不过要是明显增加成本,就算了。
程序开发就俺一个人。好久没写这类东西了,在完全忘记之前,活动活动。所以就没有程序代码控制和项目管理的事情了。实在玩不转了,再去找外包。
欢迎众多大牛支招呀!
3
如果要简单一点,一个database也就够了
1 pdwolf 2007-08-08 01:50:54
1. 数据存储
安装下列任何一个支持SQL的database:Oracle, DB2, Sybase, MySQL, etc.主要工作在于数据库的设计,如果有可能最好多花点时间把某一类用户权限(user schema)所需要的数据集中在一两个独立的数据表,这样用户只需要一部分数据表的读取权限就可以满足需要,基本解决用户授权问题。
2. 数据读取
按我的理解,你的用户需求主要集中在数据读取,而数据处理则由用户自己使用第三方软件解决,这样一来可以使用简单的SQL query工具再加上一些SQL的知识就能解决问题了,以Oracle为例,只需要它自带的SQL*Plus就可以执行SQL,导出原始数据。这种解决方法不用编程,而且大多数数据库客户端软件包都自带SQL query tools,只需要给每个用户挨个安装客户端就完了。另一种方法是定义几个常用的SQL语句,把它们封装在web service或servlet里,只要上网开IE就可以导出数据,不过这就需要安装web server和一些必要的编程工作。
3. 安全
安全总的来说是人的问题,技术影响不大,既便是最简单的一个username/password的组合基本上就可以干掉90%的菜鸟黑客了,而真正的老鸟大部分钻的不是你的技术漏洞,而是管理人员的心理漏洞,说到这里就是另一个话题了,不用担心,先做起来,再慢慢一步步完善就好了,一个系统不打安全补丁是不可能的。
4
谢谢 橡树村 2007-08-08 01:57:40
现在决定使用ASP.NET加上SQL server处理。功能主要在数据的输入和调用上面。
安全机制目前先使用用户名密码方式,以后再增加。
客户端目前完全不需要程序,但是可能以后提供一些数据分析的程序,这个用matlab写。
5
不客气
1 pdwolf 2007-08-08 02:44:22
其实我想要强调的是,象这类和数据库相关的程序,数据库的设计非常重要,如果有些问题一开始shortcut过去了,后期会造成非常大的麻烦。
6
是这样的 橡树村 2007-08-08 04:52:15
其实程序没多少东西,关键在于数据库的结构,既要考虑到目前的要求,如何方便系统,还有考虑到以后的扩展需要。
否则一旦有了新东西就要改数据库结构,那还不把人累死?
再次感谢!
3
不客气
1 懒厨 2007-08-02 17:43:53
您写了这么多好文章,我也很受益,还没多谢您呢!
回到话题,以前要是用过ASP的话,现在当然就用ASP.Net了,编程的环境比以前好了很多,几乎可以说是近乎傻瓜软件了。两个问题值得注意一下,其一是应该先学一下.Net的原理和编程,其二是安全性的问题,假如对安全性的要求非常高,建议还是不要自己做,应该找专业人士来做。
除了用Web Server的方式来开发,我还想到几种方法
第一,是用Web Services的方式,简单的说就是,服务器提供服务,这种服务并不一定要由浏览器来用,也可以通过自己写得程序来用。举例来说,你的程序需要一号炉,在8月1号的所有温度纪录,那么,你可以先在服务器端,定义一个Web Method,有两个参数,一个是炉号,另一个是日期,你在客户端的程序,就只需要调用这个Web Method,就可以得到相应数据。好处是,你的程序,可以在有互联网的任何地方调用。安全性方面,Web Services应该有加密的Protocol的。
假如您想简单,只用ACCESS开发,又想远程使用,有两种方法
其一是可以使用Windows Remote Desktop,把软件都放在一台机器上面,通过Remote Desktop来运行
其二,可以设置SQL Server接受远程访问,你的ACCESS程序,只需要设置好相应的IP Address即可
这两种做法的问题是速度会较慢,另外还需要一个Static IP Address,可能要学校的网管协助才能提供。
最后一种方法,你还可以定期把原始数据输出,加密,压缩,放在一个FTP 服务器上,在远处时,可以先下载,在自己的机器上分析。这种方法,较麻烦,但安全性会较好吧。
这几种方法的安全性问题,小弟不是这方面的专家,还希望各位行家指正。
4
安全性应该可以在后期找专业人士专门做吧? 橡树村 2007-08-02 23:21:32
我的印象里面,是可以找某个提供安全服务的公司,在原有程序和结构的基础上添加的。不知道是不是这样子。
5
对,这样也可以
1 懒厨 2007-08-02 23:32:56
主要看对安全性的要求有多高了,假如有可能的话,最好还是先咨询一下,了解一些Best Practice。
要是有河友提供些建议就好了。
6
我目前依赖的是学校内的网络服务人员 橡树村 2007-08-02 23:54:09
不过我总觉得他们不大懂似的,做事情莫名其妙。
有要求的时候再找外包好了。
2
如果只是那样的需求的话
1 南北朝大蟑螂 2007-07-31 01:05:12
Visual Source Safe就足够胜任了。
完全不需要有任何的程序代码啊
而且适合未来需求扩展,Visual Source Safe本身就允许外源访问的
3
一直很困惑
1 懒厨 2007-07-31 16:26:00
前面的帖子不少人都提到一个版本控制软件的应用,但我不觉得好用啊。还是举例说明吧。
假设橡树村每天收到3个文本文件,这些文件纪录了3个炉的24小时温度变化。橡树村需要对比一下不同炉之间的温度差别,其中,一号跟二号炉的数据是公开的,每个用户都可以读的,但三号炉是新工艺,需要保密,只有指定用户才可以看。
在这种情况下,我的做法是把三个炉的数据都先输入SQL SERVER,创建不同的View,然后让不同的Role读取各自的View就是。
请教一下,在这种情况下,如何应用版本控制呢?
4
例子分析
1 南北朝大蟑螂 2007-07-31 18:55:41
假设橡树村每天收到3个文本文件,这些文件纪录了3个炉的24小时温度变化。橡树村需要对比一下不同炉之间的温度差别,其中,一号跟二号炉的数据是公开的,每个用户都可以读的,但三号炉是新工艺,需要保密,只有指定用户才可以看。
建立两个文件夹,其中一个存放一号和二号数据,所有用户都可以对一号和二号数据进行读取,另外一个设定权限就可以了,文件流的所有操作可以在WINDOWS下完成,再“拖”到版本管理软件中
另外文件对比功能也可以由版本控制软件的“修改对比”功能来实现。
用数据库来实现这样的功能的确可以,但是有点杀鸡用牛刀了。个人认为,在开发资源比较少的情况下---如果是学校的研究室那就另当别论了,学生实践嘛---发掘现有软件的实用化功能才是王道啊
社会河蟹
5
倒也!
1 懒厨 2007-07-31 19:09:50
原来是这个意思。
我想象的情形比这个复杂,例如这些文件是每分钟的纪录,而且橡树村需要知道的是具体温差,然后再根据温差来画曲线。。。。。。。
6
那也可以
1 南北朝大蟑螂 2007-07-31 19:23:05
问题是你的数据是如何更新的问题,比如其中包括了怎么写到数据库中的操作。
简单来说吧,如果是按秒计算的话,也就是每秒填入若干组数据的话,那么确实用数据库比较好,但问题是如果用大型数据库的话,价格昂贵不说,明显就是浪费了。而如果用ACESS的话,据我所知,它是有连接数限制的,似乎只有不到20个链接可以同时使用,而数据更新又要浪费一个链接...似乎用MYSQL是一个不错的选择,但是MYSQL开发并不适合普通用户,更不用说它的VIEW功能也似乎并不太强(两年甚至就压根没有这个功能),CLOUD之流又明显缺乏基础用户界面...总之,对于一个要求远程链接的,用户数在50左右的,开发以及数据可以由普通用户完成的,在数据读取方面相对强大的项目来说,独立数据库的选择太难了。
而数据如果是按天排入的话,还是版本控制比较好了。
7
大型数据库和价格昂贵不一定划得上等号
1 pdwolf 2007-07-31 21:46:05
就拿mysql来说,至少TB级以下的数据库基本上就够用了。以开发方面来看,除非是要用sleepycat之类的嵌入式数据库或支持jdo的OO数据库,oracle、SQL server、sybase、mysql这些以sql做为基本query language的基本上没什么大差别。
从这个项目来说,如果只是数据文件共享的问题,找一个content management的免费软件就可以实现了。如果设计到数据的分析、比较、整理就可大可小了,每天生成的数据文件就算只有几十k,但如果全是数字,几年累积下来的话也相当可观了。