服务器数据库一般怎样减少资源消耗?

superbug1984 2006-10-11 10:11:46
第一次来BCB版发帖,请多关照 :)

情况是这样的:
服务器端程序连接到cdma网关,平均每3分钟读一次网关过来的数据报文(一般情况下该报文较大),然后马上写进数据库(sql server2k)。
客户端程序要实时在UI上以图表形式显示该报文数据,因此需要不停读取服务器端sql数据库。

其中还涉及到一个很棘手的问题:
我们在cdma网关的数据,在采样时间上是有序的,但在服务器端接收的时间不一定是有序的,而客户端必须以顺序的形式显示报文数据。因此现在的做法是服务器端写入报文数据时还进行了排序(在sql数据库里做,而不是在程序代码里,且没有用存储过程)

小弟第一次接手这样的项目,请老大们多多指教,谢过 :)
ps.以上的程序代码之前都不是我写的,现在我需要对它改进。
...全文
382 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
superbug1984 2006-10-17
  • 打赏
  • 举报
回复
to lvjack(追逐梦想)

你的第二个建议我也是这么想的 :)
不过我们老大坚持用实时数据库,郁闷ing...
第一个建议我正在设计中..

to huzhangyou(信仰(http://www.libing.net.cn))
不是GPS,应该是工业控制自动化监视什么什么的,偶们公司之前的人写的,效率太低..
huzhangyou 2006-10-16
  • 打赏
  • 举报
回复
在接口层可以做很多封装,也可以对数据进行预处理
等等
就是先把一些常用的数据先加载到接口曾
然后直接转发就可以了

更多的信息参考我得网站

我主要视作服务器设计的
huzhangyou 2006-10-16
  • 打赏
  • 举报
回复
lvjack说的对
你要做三层处理

就是 应用层 ->数据接口层->数据库

这样的话就可以处理的很好一些

我的一个项目活你的非常相识
不知道你是不是做GPS

可以去我的博客看看
有三层的源代码

当然都是自己设计的
lvjack 2006-10-16
  • 打赏
  • 举报
回复
1、考虑三层、用缓冲池来减少数据库的压力
2、服务器收到数据后在有客户端的网络中广播(或者其它通信手段直接发送给客户端,那么客户端做监听即可)
do2008 2006-10-16
  • 打赏
  • 举报
回复
实时数据库???

偶没有听说过,,偶只听说过实时的OS
superbug1984 2006-10-16
  • 打赏
  • 举报
回复
有人推荐说用实时数据库,有谁知道是咋回事?
lurel 2006-10-13
  • 打赏
  • 举报
回复
优化数据库表的设计,限制数据库连接。
CACACACACA 2006-10-12
  • 打赏
  • 举报
回复
不太明白. UP一下
superbug1984 2006-10-11
  • 打赏
  • 举报
回复
to LuoGD()
不太清楚,我还在看那部分代码.
LuoGD 2006-10-11
  • 打赏
  • 举报
回复
"写入报文数据时还进行了排序"?
怎么排的?
superbug1984 2006-10-11
  • 打赏
  • 举报
回复
ps.在这种情况下,服务器(p4 2.8G mem1G)占用资源情况:cpu持续在100% :(
很少情况下能释放资源
superbug1984 2006-10-11
  • 打赏
  • 举报
回复
to 楼上

我也是这么想的,但是这个项目的前期负责人是这么跟我说的,这部分的代码我还没看完...
一个方法有400多行,汗-_-||
do2008 2006-10-11
  • 打赏
  • 举报
回复
>>>"写入报文数据时还进行了排序"?

SQL Server是关系模型的数据库,没有这种写入数据还排序的说法的,

查询数据时,倒是可根据条件,将返回的数据集按照条件进行排序
所有需求全部来自生产实际,源自生产,贴近实战,提高技能。 生产案例生产库A是一台2012年的数据库服务器,存储是戴尔sc8000数据量有20T。数据库版本是11.2.0.3,该数据库是单实例数据库。使用操作系统目录存储,没有使用ASM存储。需要进行数据库服务器和存储迁移。迁移到新服务器和新存储。迁移到新的rac环境,使用本地方式进行升级。 目标:我们需要迁移数据库A到新服务器,新存储。 源库A数据库版本11.2.0.3数据库类型单实例数据存储使用操作系统目录存储,非ASM存储容量20TosRhel6 目标库B数据库版本19.19数据库类型Rac数据存储ASM容量21TOsRhel7 难点。1-数据库服务器需要进行替换2-存储需要进行替换3-容量大,存储没有多余空间,只能才有原地升级方式4-版本跨度大,需要从11203->11204->1919单实例->1919-pdb-rac. 具体步骤1-源服务器数据库命令行创建11203数据库软件2-源服务器数据库命令行创建11203数据库实例3-在目标服务器克隆源库11.2.0.3数据软件。并且在目标服务器搭建源库的dg库。4-开始真正的割接,割接的时候没有业务的。激活11203dg为主库。5-升级11203到112046-升级11204到19.197-配置19.19单实例数据库为rac数据库中的某个pdb。Over. 针对以前学员提出文档不全的意见,其实文档都是有的,都已经上传到百度网盘。这次实战课程整理文档如下:0-创建源库11203单实例1-通过克隆方式在目标服务器rac上面创建11203数据库软件2-在目标库rac数据库上面创建11203的单实例的dg3-目标库rac安装11204单实例软件和升级11203到112044-11204升级到19c数据库

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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