对于企业级的C/S,如何减轻应用程序对数据库造成的压力

对于企业级的C/S应用,如果此应用程序很多功能需要操作数据库,就算是短连接,也还是会对数据库造成很大的压力,不像B/S应用,

可以通过数据库连接池的形式来减轻对数据库的压力。C/S程序每个客户端都是一个独立的应用,所以就算每个客户端自实现一个数据

库连接池也不能从根本上解决此问题。那么是否可以通过另一种架构的模式来实现此功能呢,答案是肯定的。首先我们要明确为什么C/S

不能像B/S程序那样来通过连接池的形式来达到此目的呢,因为B/S程序所有的数据库操作都是由服务端的统一的模块来管理数据库连接的,

这样就能够实现对数据库连接复用。而传统的C/S程序不行,就算每一个客户端实现一个数据库连接池,每个连接池中就算只有一个数据库

连接,那么3000个客户端就会有3000数据库连接。试想如果我们也可以把C/S程序做成B/S程序那样,所有数据库的操作有一个统一的服务

端模块来处理,这个问题就迎刃而解了。怎么做呢:

简而言之,我们要做一个数据库管理服务端,每个C/S程序所有关系到数据库方面的工作都统一提交给数据库管理服务端来操作,这样就可以。

以java类型的C/S程序为例,我们可以通过Socket的形式来实现,具体实现逻辑在此不说了,具体的功能模型如下:

       


对此有什么不对的、不合理的地方或是有什么更好解决办法的欢迎指正



FriendSafe 7X 网络版信息管理系统 ================================ 联系作者:fs.lanchat@gmail.com 功能说明: 1. 人事管理,含客户端授权功能 可管理人事合同,以及相关附件,如身份证复印机等。 2. 物资管理功能 物资的出入库管理,多用予办公用品和原材料的管理。 3. 流水账簿 简单的流水账管理,移植自深受好评的 FS4X 。 运行环境: Windows 7/8 未在 Windows XP 下进行测试,不保证能够运行。 安装: 软件为绿色免安装,复制到本机目录中即可使用。 注意事项: 1. 目录名不要包括中文、日文等多字节字符。 2. 把 Share\*.* 文件分别复制到 Client\ 和 Server\ 中 运行与登录: 服务器: 运行 Monitor.exe 需要点击左上角【启动】按钮正式开始服务器。 客户端: 运行 FriendSafe.exe 只要客户端与服务器运行在同一网段内,客户端会自动寻找到服务器。 如果同时存在多个服务器,可以选择其中任何服务器进行登录。 初始用户/管理员: 用户名:Admin 密码 :888888 用户名不区分大小写,密码区分大小写。 用户可在 Server\settings\server.conf 中修改管理员的用户名和密码。 Admin 为管理员用户,享有完全权限。 用户可以在【人事】功能中为员工进行功能授权。 特点: FS7X 采用信息互动模式,即一处修改处处实时更新的模块,所以 C/S 采用了 持久连接形式,一旦发生意外断线,系统后自动尝试重新连接。 可支持数据库类型:SQLite, SQL Server, PostgreSQL 企业应用推荐 PostgreSQL 。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值