C/S模式应用中的数据库土问题,大家快来拿分吧!!!

lifeequation 2005-04-25 02:57:17
本人以前一直是用vc做UI方面的工作,最近有个任务,要求开发一个C/S模式的软件,打算采用vc开发,服务器端拟采用SQL Server2000数据库
其中服务器端通过网络连接着多台设备,客户端通过服务器对多个设备进行操作,也就是说服务器连接着多个设备,
也连接着多个客户,这些连接都是基于网络的,目前的问题是:
1)我打算采用多线程方式,即服务器端连接上一个设备,就产生一个线程,与此类似,如果一个客户连接上,也就产生一个线程。
我担心是,如果设备很多大概几百个,会不会对服务器压力很大?客户到不会太多,顶多20来个。
2)在服务器上起码有两张表,分别是客户表和设备表,我感到疑问的是:客户端通过服务器对各个设备进行参数配置操作,这个配置文件通常有7k大

小,其实就是块7k大小的buffer。具体途径是这样的: 客户端把这个配置文件传到服务器,服务器判断是对那个设备进行配置的,再由服务器把该配

置传给相应的设备,在这个过程中,请问我能不能把这种buffer保存到 数据库中,因为我对数据库真的很不熟悉。只知道数据库能够保存一些字段和

数据,不知能不能保存这种类似文件的连续buffer中的内容。我把该配置保存到服务器的原因是:便于客户直接从服务器端取配置,而不必每次都需

要到对应的设备上去取配置,减轻服务器的压力。
3)我想在服务器端也做一些界面,如客户列表和设备列表,大家说,服务器端做一些和用户交互的界面有必要吗??

欢迎大家讨论和参与,分数不是问题,先给100,有高见的重重有赏:)
...全文
167 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifeequation 2005-04-28
  • 打赏
  • 举报
回复
Hopewell_Go(好的在后頭﹗希望更好﹗﹗) :
怎么会有服务器表呢?我就是一个服务器端,在服务器端采用sql数据库而已啊?你还有什么意见可以短信和我讨论,我揭帖了:)
lifeequation 2005-04-27
  • 打赏
  • 举报
回复
首先感谢talantlee(有了女朋友,就要更加努力) 给的意见:
可能我没有把问题说清楚,我再这里再说一下:
我的c/s模式中,服务器端其实是连接客户端和设备端(一台控制器)的一个判断和转发软件,有哪些客户的信息或者有哪些设备可以连接都可以预先设定在数据库中(采用sql server 2000),也可以在客户端(具有权限的)添加或删除客户和设备,
最关键的就是,客户经常要变更设备的运行配置参数(有7k大)。具体流程就是这样:客户端把某个设备的参数配置好,上传到服务器,服务器根据上传来的设备ID和对应的运行参数,找到这个设备对应的socket连接,在下载到对应的设备上。
我打算是这样,服务器端始终有两个socket(一个是面向设备的,一个是面向客户的,这两个sockt端口不同,在我这里,没法用udp,因为可靠性要求很高)在监听,如果一个客户socket连接上来了,就开辟一个线程给它,设备连到服务器上也是如此,我担心就是线程多了,对服务器压力很大,因为设备有200来个是有可能的,而且服务器就像一根扁担一样,一方面连着客户端,一方面连着设备端。请问不用多线程,能用什么办法比较好???????
Hopewell_Go(好的在后頭﹗希望更好﹗﹗) :
你说的在数据库里面建3张表?为什么要有服务器表?我想建三张表是这样的:1,设备信息表,描述各个设备信息(如id号,名称等)2是客户表(描述客户id,名称,权限),3 ,对应设备的运行配置,也就是大小有7k的那个文件。(其实这个不表可以与表1合并的)所以简化一下只要有两张表就够了呀。我这样说有什么不对吗?
希望大家继续关注一下,后天揭帖,有好想法的另外开贴加分。大家放心好了,好久没来csdn了,结果发现大家还是这么热心,谢谢大家了!!!
RainYang 2005-04-27
  • 打赏
  • 举报
回复
顶上去吧
Well 2005-04-27
  • 打赏
  • 举报
回复
我想是我的意思沒有說的太清楚。
我是通過服務器表(名字不好聽)這個中間表來關聯设备信息表﹐是客户表
因為這兩表都是要通過服務器之后獲得所有信息和操做
Well 2005-04-27
  • 打赏
  • 举报
回复
樓主
假如多個客戶對應一個設備你那樣建表不是存在好多的冗余嗎
我說的是嗎
kylike 2005-04-26
  • 打赏
  • 举报
回复
我不是冲着分来的,既然你叫大家来拿分,那我就硬着头皮,厚着脸来

顶!
Well 2005-04-26
  • 打赏
  • 举报
回复
1﹕
對于客戶較少。也就是線程不多。是可以用的。
我認為可以用表來控件。
我建三個表﹐如設備表﹐服務器表﹐客戶端表。具體的并聯你也說了。
服務器表與設備表﹐客戶端表這兩表都是一對多的。
2﹕
我認為可以的
3﹕
沒有好大的必要。因為客戶沒有必要知道服務器是如何搞做的。
不過有也好了。這個嗎不好說。
Navywang917 2005-04-26
  • 打赏
  • 举报
回复
同意楼上
talantlee 2005-04-26
  • 打赏
  • 举报
回复
對第2個問題得補充:
建表保存用戶配置得好處
1>不用佔用系統很多資源(隻是數據庫佔得空間)
2>方便管理(用戶修改隻是一個update)
3>減輕服務器負擔
talantlee 2005-04-26
  • 打赏
  • 举报
回复
1)我打算采用多线程方式,即服务器端连接上一个设备,就产生一个线程,与此类似,如果一个客户连接上,也就产生一个线程。
我担心是,如果设备很多大概几百个,会不会对服务器压力很大?客户到不会太多,顶多20来个。
----------假如隻是200機個呢?
---------所以我覺得還是修改表結構,加個狀態列(表示那台機是否連到你得服務端)
-------這樣有個好處,隻是客戶端關閉或連接得時候去服務端取數據--而不用樓主那中多進程(類型常駐臨時表,那樣浪費自然
talantlee 2005-04-26
  • 打赏
  • 举报
回复
2)在服务器上起码有两张表,分别是客户表和设备表,我感到疑问的是:客户端通过服务器对各个设备进行参数配置操作,这个配置文件通常有7k大

小,其实就是块7k大小的buffer。具体途径是这样的: 客户端把这个配置文件传到服务器,服务器判断是对那个设备进行配置的,再由服务器把该配

置传给相应的设备,在这个过程中,请问我能不能把这种buffer保存到 数据库中,因为我对数据库真的很不熟悉。只知道数据库能够保存一些字段和

数据,不知能不能保存这种类似文件的连续buffer中的内容。我把该配置保存到服务器的原因是:便于客户直接从服务器端取配置,而不必每次都需
---個人認為還不如數據庫建個表來保存這些信息--------------------------
我想在服务器端也做一些界面,如客户列表和设备列表,大家说,服务器端做一些和用户交互的界面有必要吗??
---必要,因為程序和用戶直接溝通得就是界面------------------------
lizq2004 2005-04-26
  • 打赏
  • 举报
回复
UP
kzh80000 2005-04-26
  • 打赏
  • 举报
回复
我觉得有必要做交互的界面,但可以尽量简单些,只要能提供客户连接设备/设备连接客户以及每台设备的当前配置情况就可以了。但对于多个线程竞争设备资源的情况你也要考虑一下,我觉得数据库比较简单,应该不是大问题吧!
lifeequation 2005-04-26
  • 打赏
  • 举报
回复
怎么没人帮我顶一下啊???
friendliu 2005-04-25
  • 打赏
  • 举报
回复
帮你顶一下
yjzhg 2005-04-25
  • 打赏
  • 举报
回复
蹭分,蹭不到的话就当做煅炼身体了
lifeequation 2005-04-25
  • 打赏
  • 举报
回复
怎么没人回啊?自己顶,唉,头大啊

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧