- !!!用户新注册邮件系统遭恶意攻击,暂不能发送邮件,请隔天尝试。寻求解决方案中
- 【征集】西西河的经济学,及清流措施,需要主动参与者
- 『稷下学宫』新认证方式
- 24年网站打算和努力目标
主题:【交流】有趣有益,案例分析 -- 懒厨
问题是你的数据是如何更新的问题,比如其中包括了怎么写到数据库中的操作。
简单来说吧,如果是按秒计算的话,也就是每秒填入若干组数据的话,那么确实用数据库比较好,但问题是如果用大型数据库的话,价格昂贵不说,明显就是浪费了。而如果用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做的。
不一定非放到程序里面,这个数据库能够按照要求把想要的数据都找出来就好了。或者提供一些基本功能。
这个最好要和其他部门有所协同。否则费时费力费钱,到头还要重来过。
您写了这么多好文章,我也很受益,还没多谢您呢!
回到话题,以前要是用过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 服务器上,在远处时,可以先下载,在自己的机器上分析。这种方法,较麻烦,但安全性会较好吧。
这几种方法的安全性问题,小弟不是这方面的专家,还希望各位行家指正。
我的印象里面,是可以找某个提供安全服务的公司,在原有程序和结构的基础上添加的。不知道是不是这样子。
主要看对安全性的要求有多高了,假如有可能的话,最好还是先咨询一下,了解一些Best Practice。
要是有河友提供些建议就好了。
不过我总觉得他们不大懂似的,做事情莫名其妙。
有要求的时候再找外包好了。
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过去了,后期会造成非常大的麻烦。
其实程序没多少东西,关键在于数据库的结构,既要考虑到目前的要求,如何方便系统,还有考虑到以后的扩展需要。
否则一旦有了新东西就要改数据库结构,那还不把人累死?
再次感谢!