西西河

主题:【交流】有趣有益,案例分析 -- 懒厨

共:💬30 🌺47 新:
全看树展主题 · 分页首页 上页
/ 2
下页 末页
家园 那也可以

问题是你的数据是如何更新的问题,比如其中包括了怎么写到数据库中的操作。

简单来说吧,如果是按秒计算的话,也就是每秒填入若干组数据的话,那么确实用数据库比较好,但问题是如果用大型数据库的话,价格昂贵不说,明显就是浪费了。而如果用ACESS的话,据我所知,它是有连接数限制的,似乎只有不到20个链接可以同时使用,而数据更新又要浪费一个链接...似乎用MYSQL是一个不错的选择,但是MYSQL开发并不适合普通用户,更不用说它的VIEW功能也似乎并不太强(两年甚至就压根没有这个功能),CLOUD之流又明显缺乏基础用户界面...总之,对于一个要求远程链接的,用户数在50左右的,开发以及数据可以由普通用户完成的,在数据读取方面相对强大的项目来说,独立数据库的选择太难了。

而数据如果是按天排入的话,还是版本控制比较好了。

家园 呵呵,微软也有免费的东西的

MSDE (SQL SERVER 2000 的免费版),数据库大小的限制是2G

SQL SERVER Express (2005的免费版),数据库大小的限制是4G,

一般的数据处理,绰绰有余了。需要处理更多数据的用户,一般也不是穷人,也不会在乎那点钱了。

家园 大型数据库和价格昂贵不一定划得上等号

就拿mysql来说,至少TB级以下的数据库基本上就够用了。以开发方面来看,除非是要用sleepycat之类的嵌入式数据库或支持jdo的OO数据库,oracle、SQL server、sybase、mysql这些以sql做为基本query language的基本上没什么大差别。

从这个项目来说,如果只是数据文件共享的问题,找一个content management的免费软件就可以实现了。如果设计到数据的分析、比较、整理就可大可小了,每天生成的数据文件就算只有几十k,但如果全是数字,几年累积下来的话也相当可观了。

家园 太谢谢了

这么好呀!

如果能使用web server是最好的了。现在做研究的也需要满世界乱跑,如果可以在远程访问自己的数据,不需要特殊的客户端软件,是最好的。我个人8年前使用过ASP开发过东西,现在变化了多少?

如果使用Web server,如何解决数据保密问题?公开了就可能受到攻击,特别是有商业价值的东西。是完全依靠服务器的设置,还是需要自己在程序里面进行设置?简单的用户名/密码对于想破解的人来讲没有什么作用。要是依靠物理网址限制的话,有的时候也很不方便,安全性也不好,我这里毕竟是大学,控制不这么容易。

我能想到的是把终端数据处理和原始数据分开。说实话我的原始数据给人家看别人也看不懂,只要程序能够把我所需要的数据提供出来,最多生成个Excel文件,然后是用自己的客户端处理文件在进行分析就是了。这样是否可行呢?

数据的格式有很多种,毕竟实验有很多种,除了运行数据,还有辅助数据等等,简单数了一下有十几类文件信息,很多互相还会相互关联,不使用数据库是管理不了的。

数据量我觉得不大,一天几十K的样子。再大一些,一天应该超不过1M。毕竟全是数字信息,都是仪器分析的结果,要生成这么多的信息量还是不容易的。不过要是能够处理,我也想把仪器分析的原始数据放上来,这个数据量就会大不少,每天弄个几十兆都不难。不过要是明显增加成本,就算了。

程序开发就俺一个人。好久没写这类东西了,在完全忘记之前,活动活动。所以就没有程序代码控制和项目管理的事情了。实在玩不转了,再去找外包。

欢迎众多大牛支招呀!

家园 这部分比较麻烦

这部分需要非常灵活的增加调整功能。

搞科学的人么,想法比较多,不一定想比较什么呢。

计算简单,有计算方法就是了,比较整理就是找规律。

现在这些工作是人工和excel做的。

不一定非放到程序里面,这个数据库能够按照要求把想要的数据都找出来就好了。或者提供一些基本功能。

家园 LIMS?

这个最好要和其他部门有所协同。否则费时费力费钱,到头还要重来过。

家园 不客气

您写了这么多好文章,我也很受益,还没多谢您呢!

回到话题,以前要是用过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 服务器上,在远处时,可以先下载,在自己的机器上分析。这种方法,较麻烦,但安全性会较好吧。

这几种方法的安全性问题,小弟不是这方面的专家,还希望各位行家指正。

LIMS?
家园 能否展开说说?
家园 安全性应该可以在后期找专业人士专门做吧?

我的印象里面,是可以找某个提供安全服务的公司,在原有程序和结构的基础上添加的。不知道是不是这样子。

家园 对,这样也可以

主要看对安全性的要求有多高了,假如有可能的话,最好还是先咨询一下,了解一些Best Practice。

要是有河友提供些建议就好了。

家园 我目前依赖的是学校内的网络服务人员

不过我总觉得他们不大懂似的,做事情莫名其妙。

有要求的时候再找外包好了。

家园 如果要简单一点,一个database也就够了

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%的菜鸟黑客了,而真正的老鸟大部分钻的不是你的技术漏洞,而是管理人员的心理漏洞,说到这里就是另一个话题了,不用担心,先做起来,再慢慢一步步完善就好了,一个系统不打安全补丁是不可能的。

家园 谢谢

现在决定使用ASP.NET加上SQL server处理。功能主要在数据的输入和调用上面。

安全机制目前先使用用户名密码方式,以后再增加。

客户端目前完全不需要程序,但是可能以后提供一些数据分析的程序,这个用matlab写。

谢谢
家园 不客气

其实我想要强调的是,象这类和数据库相关的程序,数据库的设计非常重要,如果有些问题一开始shortcut过去了,后期会造成非常大的麻烦。

家园 是这样的

其实程序没多少东西,关键在于数据库的结构,既要考虑到目前的要求,如何方便系统,还有考虑到以后的扩展需要。

否则一旦有了新东西就要改数据库结构,那还不把人累死?

再次感谢!

全看树展主题 · 分页首页 上页
/ 2
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河