论坛首页 Java企业应用论坛

有关资源的异步操作的规整及序列问题

浏览 2981 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-28  
不知道这样写标题会不会让大家误解,实在是不好一句话描述清楚问题.
先说需求吧.
有ABCD四台机器,跑着一样的WEB程序,它们都有可能会操作一个XML文件,暂定为target.xml;
用户无论从哪台WEB进入系统,都有可能对target.xml进行写操作;
目标,无论多少个用户改,在什么时候改,从哪台机器进入的,都应该记录下所有用户的操作总和(即每个用户的修改都会体现在target.xml文件中).
初步预备的是:
再搞一台机器作为中间队列机器,里面放两个东西,一个是缓存,一个是最终需要执行的任务;
缓存中接收并规整同类的对资源的操作;
最终执行队列每几秒钟从缓存中取出规整后的操作,加入执行队列,并将缓存中的操作状态置为正在处理中(下次队列选择不会被选中);
队列扔到相应的地方去执行相应的操作;
完成后,再通知缓存该条操作执行完成,并查看在此期间有无新的操作被规整进来,有的话,更新缓存相关数据,并置为准备状态......
感觉这样虽然可以达到目的,不过思想比较乱,还请一下下呀.
   发表时间:2007-05-28  
有ABCD四台机器,跑着一样的WEB程序,它们都有可能会操作一个XML文件...
--------
这个XML文件放在那里的?
0 请登录后投票
   发表时间:2007-05-29  
MiMiEye 写道
不知道这样写标题会不会让大家误解,实在是不好一句话描述清楚问题.
先说需求吧.
有ABCD四台机器,跑着一样的WEB程序,它们都有可能会操作一个XML文件,暂定为target.xml;
用户无论从哪台WEB进入系统,都有可能对target.xml进行写操作;
目标,无论多少个用户改,在什么时候改,从哪台机器进入的,都应该记录下所有用户的操作总和(即每个用户的修改都会体现在target.xml文件中).
初步预备的是:
再搞一台机器作为中间队列机器,里面放两个东西,一个是缓存,一个是最终需要执行的任务;
缓存中接收并规整同类的对资源的操作;
最终执行队列每几秒钟从缓存中取出规整后的操作,加入执行队列,并将缓存中的操作状态置为正在处理中(下次队列选择不会被选中);
队列扔到相应的地方去执行相应的操作;
完成后,再通知缓存该条操作执行完成,并查看在此期间有无新的操作被规整进来,有的话,更新缓存相关数据,并置为准备状态......
感觉这样虽然可以达到目的,不过思想比较乱,还请一下下呀.


描述已经是比较清晰了,而在这里主要需要解决的就是资源共享操作的问题,LZ最好能先把用例写出来,建议以文本的形式来写,那样会更加清晰。
0 请登录后投票
   发表时间:2007-05-29  
如果只加不减简单,

如果有改动,脏读怎么必免?

如果有删除,。。。。

如果有下载。。。。。

如果有上传。。。。

异常如何处理。
死机后缓存规则。

这就是需求扩张
0 请登录后投票
   发表时间:2007-05-29  
采用悲观锁,设计一套类似 VSS 的check-out/check-out 机制,访问此XML的应用都遵循此规则就可以了。
0 请登录后投票
   发表时间:2007-05-30  
vss不可以并发修改
0 请登录后投票
   发表时间:2007-05-30  
lz做的东西现在也没有并发
0 请登录后投票
   发表时间:2007-05-30  
wunan320 写道
vss不可以并发修改


就是要避免并发修改啊,否则如何保证修改的有效性呢?
0 请登录后投票
   发表时间:2007-06-11  
vss模拟应该不错
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics