分布式对话服务器的管理(3)

  当添加或删除一个Memory对象时,经过同步的本地Mnemosyne对象需要对所有的Mnemosyne进行更新,可以通过notify()方法来完成这一任务。无论是发生write或take事件,Mnemosyne都会针对发生的事件调用适当的监听者的notify()方法。在synchronize()方法中,我们把本地Mnemosyne注册为所有远程Mnemosyne的take和write事件的监听者,一旦远程Mnemosyne上有take和write事件发生,就会调用本地 Mnemosyne的notify()方法。然后,本地Mnemosyne必须对事件作出反应。下面是Mnemosyne如何与远程Mnemosyne进行同步的例子:


public void notify(RemoteEvent remoteEvent) throws RemoteException
{
// 回写被写的内存,但无需通知所有的Mnemosyne
if(remoteEvent instanceof WriteRemoteEvent)
{
WriteRemoteEvent wre = (WriteRemoteEvent) remoteEvent;
commonContext.silentWrite(wre.getMemory());

数据挖掘论坛


}

file:// 取被写的Memory,但无需通知所有的Mnemosyne
if(remoteEvent instanceof TakeRemoteEvent)
{
TakeRemoteEvent tre = (TakeRemoteEvent) remoteEvent;
commonContext.silentTake(tre.getMemory());
}
}



  现在已经创建了一个控制所有memory对象的Mnemosyne,它自动与远程Mnemosyne保持同步,如果任何一个远程Mnemosynes得到或失去一个Memory对象时,都可以使它保持最新的状态。

  要通过Mnemosyne管理HTTP对话,servlet需要创建HttpSession的实例(从HttpServletRequest中使用getSession()),在实现Memory对象的类中封装对话,并调用Mnemosyne对象的write()方法把封装类写到一个Mnemosyne中。

  通过调用write()方法,封装着对话的Memory对象沿着网络传送给Mnemosyne,并通知远程机器。当对象被写到Mnemosyne时,WriteRemoteEvent被发送给在Mnemosyne上注册的所有WriteRemoteEventListeners,这样,所有其他的Mnemosynes就能将新的对象作为Mnemosynes添加到它们的对话信息存贮库中。

  要对存贮的对话进行查询,servlet调用read()方法查找包含对话的Memory对象,如果Mnemosyne找到了要查找的对象,则该对象通过RMI返回到servlet服务器。 数据挖掘交友

  最后,要删除对话,servlet就会调用Mnemosyne的take()方法,Mnemosyne将象有read事件发生那样退还Memory对象,同时从其存贮对象库中删除该Memory对象。同时,向其所有TakeRemoteEventListeners发送TakeRemoteEvent事件,通知所有的远程Mnemosynes该Memory对象已经被删除了。

  建立对话服务器

  上面我们已经讨论了如何在多服务器上维护对话存贮库,下面我们将讨论如何建立对话服务器。在初始化过程中,对话服务器完成下列任务:

  ━━创建本地Mnemosyne对象。

  ━━把本地Mnemosyne绑定到RMI。

  ━━把本地Mnemosyne与其他的远程Mnemosyne进行同步。
[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:分布式对话服务器的管理(4)
下一篇:XML和J2EE的组合技术(转)
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • Java学生成绩管理系统源代码
  • Servlet动态产生JPEG图像的例子
  • JSP数据导出到EXCEL简便方法
  • JSP像乌云般挡住了JSF的光芒
  • Java EE5.0时代来临,金蝶Apusic抢先撞线!
  • JSP不是简化的Java
  • 在JSP中如何实现MD5加密
  • JSP/Servlet/JSF:标签库的深入研究
  • jsp计数器制作手册
  • jsp页面显示数据导出到excel表中
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • Java EE5.0时代来临,金蝶Apusic抢先撞线!
  • JSP像乌云般挡住了JSF的光芒
  • jsp计数器制作手册
  • 面向对象编程,我的思想(5)
  • jsp读取大对象CLOB并生成xml文件示例
  • JSP开发前菜鸟设置篇
  • JRun3.0配合IIS的安装全过程
  • win2000下jsp平台搭建的简单过程
  • IIS6和Tomcat5的整合
  • Windows下JSP开发环境的配置
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静