求解决思路:如何从上千个客户端大批量写入数据到远程数据库? 数据库web service 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 需要做一个数据库服务器客户端写数据的时候,把本地数据打包,发SOCKET给服务器,由服务器统一来写数据库 你要是不想被人解析出服务器地址,数据库用户名密码和表结构,当然是要用web service 服务器上架设web service作为数据接收,用内存数据库进行数据的缓存(例如redis),数据达到一定量之后写入mysql数据库。 批量写入就行了,不过不知道mysql是否支持,效率如何。 如果你开发“在一个小办公室里使用的OA”,那么你就直接远程调用关系数据库驱动进行“增删改查”也许可以。但是如果你做一个专业的网络软件,那么这个架构的高层、中层(消息层)根本不应该考虑关系数据库问题,根本与它无关。这样才能开发出一个灵活的、应变自如的(去掉了“OA软件的低级趣味”的)网络系统。你看许多流行的互联网大型软件,往往是功能非常简单,比如 DropBox 之类的。之所以能够有不同凡响的网络软件创意,是因为它去掉了消息通讯层的低级趣味,没有“关系数据库思维”的负担。最后,我觉得web service“又大又慢”,不如从一开始就使用轻量级的简单的通讯机制。 理论上直接写数据库,效率更好。但是除了一次性的垃圾代码,没有理由直接写数据库。当然也不应该使用web service这种垃圾通讯模式,因为它开销很大,这种两级可能难以撑住。 当然也不应该使用web service这种垃圾通讯模式,因为它开销很大,这种量级可能难以撑住。 1.直接写数据库被大家否定了。2.使用webservice。缺点:慢。优点:开发速度快,稳定。缺点改进:提高服务器性能。3.使用socket通讯。缺点:开发速度慢,稳定需要长期测试和维护(除非有公司历史积累)。优点:速度快。 1.1000多个用户 想必是走互联网进来的吗 所以最好不要直接客户端连接数据库 2.通过服务器中转 客户端将数据发送到服务器 服务器再插入数据库 如果数据量大、每秒中十几条、并且漏几条也不是很重要 建议客户端与服务器之间使用UDP协议通信 否则使用tcp自己开发简单的TCP/UDP通信模块 只供简单的字符串传输 不是很难 web service 不适合大量用户 短时间多条数据上传 我关心的是这数据是如何产生的?其次思路就是socket超级超级快了 webservice这样的垃圾 分分钟就秒杀了 webservice都不如ashx ..至于socket你选择是tcp还是udp就看你自己的了..比如 你那程序24小时不间断上传的话 就tcp好点否则就udp自己规定一套通讯协议 定义头尾校验 然后数据域 你如果为了简单 可以直接做成sql语句客户端就简单了 直接把sql语句转byte[]发送过去就行了 我关心的是这数据是如何产生的?其次思路就是socket超级超级快了 webservice这样的垃圾 分分钟就秒杀了 webservice都不如ashx ..至于socket你选择是tcp还是udp就看你自己的了..比如 你那程序24小时不间断上传的话 就tcp好点否则就udp自己规定一套通讯协议 定义头尾校验 然后数据域 你如果为了简单 可以直接做成sql语句客户端就简单了 直接把sql语句转byte[]发送过去就行了做成sql了,再要批量插入不就蛋疼了?做个数据服务中转我觉得就挺好的了,要性能socket,简单方便就webapi . SqlDependency 监听途中,如果客户端断开网络后重新连接到网络,怎么重新监听? 菜鸟求助一个WinForm问题,请各位高手勿喷. 请教一个C#中调用oracle存储过程的问题 实现:配置outlook,把邮件接收到本地,然后通过outlook开放的接口把读取邮件,然后再存入数据库 C#的程序如何对命名空间重命名呀? 如何得到线程的类名 。在线等 请高手解决,如何解决串口共用? 文本追加 求助-如下问题该怎么样解决????? 小弟这个程序也会错,就不知错在哪?请帮忙! 16进制的字符串转成16进制的byte数组 如何控制线程个数,直到一个线程完毕后才启动另一个线程
但是除了一次性的垃圾代码,没有理由直接写数据库。
当然也不应该使用web service这种垃圾通讯模式,因为它开销很大,这种两级可能难以撑住。
2.使用webservice。缺点:慢。优点:开发速度快,稳定。缺点改进:提高服务器性能。
3.使用socket通讯。缺点:开发速度慢,稳定需要长期测试和维护(除非有公司历史积累)。优点:速度快。
2.通过服务器中转 客户端将数据发送到服务器 服务器再插入数据库
如果数据量大、每秒中十几条、并且漏几条也不是很重要 建议客户端与服务器之间使用UDP协议通信
否则使用tcp自己开发简单的TCP/UDP通信模块 只供简单的字符串传输 不是很难
我关心的是这数据是如何产生的?其次思路就是socket超级超级快了 webservice这样的垃圾 分分钟就秒杀了 webservice都不如ashx ..至于socket你选择是tcp还是udp就看你自己的了..比如 你那程序24小时不间断上传的话 就tcp好点否则就udp自己规定一套通讯协议 定义头尾校验 然后数据域 你如果为了简单 可以直接做成sql语句客户端就简单了 直接把sql语句转byte[]发送过去就行了
我关心的是这数据是如何产生的?其次思路就是socket超级超级快了 webservice这样的垃圾 分分钟就秒杀了 webservice都不如ashx ..至于socket你选择是tcp还是udp就看你自己的了..比如 你那程序24小时不间断上传的话 就tcp好点否则就udp自己规定一套通讯协议 定义头尾校验 然后数据域 你如果为了简单 可以直接做成sql语句客户端就简单了 直接把sql语句转byte[]发送过去就行了
做成sql了,再要批量插入不就蛋疼了?做个数据服务中转我觉得就挺好的了,
要性能socket,简单方便就webapi .