关于如何用消息队列形式保存client上传的数据(100分)

  • 主题发起人 主题发起人 小白2002
  • 开始时间 开始时间

小白2002

Unregistered / Unconfirmed
GUEST, unregistred user!
本人编写一个服务器程序,处理client上传来的各种数据,使用socket和设备通信,
上传的数据较多,类型长度已不一样,
考虑把接收到的数据以队列暂存保存,
首先socket程序负责接收数据并向队列中插入,
然后用一个单独的进程来处理消息队列,队列遵守先进县处理的原则,
处理的程序还要对发送的client进行应答,

现在比较困扰的是用什么形式来保存接收到的数据,即如何建立该队列。
 
做一个消息队列啊/
我见过一个VC做的例子,事实上也是我们工程合作方的一个中间件/
用DCOM方式来构建,分化成一个发送端和接收端。
对列是 Sender Receiver Content Timeout
一、A给B发消息 就把接收者设为B
二、B程序随时检测 Receiver 为自己的队列,这样就知道发送方和内容啦/
三、这种结构可以扩展为一对一,一对多,多对多,还可以延伸到决定消息的有效时间,消息队列的使用者,数据的回滚等等
我后来用DELPHI做了一个,只是在队列的构建上我也是比较痛苦,在VC中有个string的类可以很方便的构建队列/
而DELPHI中有个Tstringlist和它有些相似,可功能就差远啦,迫与无赖只好用了个stringgrid来构建了一个消息队列/
在功能上是完全可以实现,就是在查询检索时效率不高(Tstringlist和vcd的那个类都用了hash算法)。

我的建议是你看一看消息中间件方面的文章,还有就是把socket含到DCOM中,通过DCOM来构建一个三层结构/
队列采用一对一的方式,这样你比较容易控制/

 
我头一次遇到这样的问题,实在没由头序,推荐里两篇文章吧!
给你100分,如果有例子,那就更十分感谢了!我现在急的,下个月就要和客户连调,做到这里卡住了!
我的邮箱是regnorth2002@q63.com
 
去google上搜一下MSMQ或消息中间件
很有收获的/
 
后退
顶部