我是开发网络应用程序的新手。
我希望您对以下架构注意事项提出意见和改进建议。
我使用 CLIPS 开发了一个专家系统 ES。现在我计划将其作为 Web 应用程序提供给我们公司的各种用户。在开始详细介绍之前,我目前正在考虑应该涉及哪些技术。
目标是网络应用程序的用户面对一个类似聊天的动画,在他或她向 ES 提供越来越多的输入时引导他或她获得最终结果。
经过自己的一些研究,我提出了以下想法
在后端,我使用 PyCLIPS 作为 Python 和 CLIPS 之间的接口(interface)
然后我使用 DJANGO 将我的 python 代码集成到网页中,动态改变用户和 ES 之间的聊天。
有一件事至今特别困扰我:我应该如何管理很多并发用户?我应该使用一个 ES,每个用户都有一组单独的事实,还是每个用户都有他或她自己的 ES 实例?
对于此问题,您是否有任何其他高级方法可以优于此方法?
我期待着您对此事的经验和意见。
最佳
最佳答案
我建议以无状态模式运行专家系统。每次用户进行更改时,您都将网页中的所有数据提交给专家系统,然后检索结果显示在网页上。如果您有多个用户,那么这样做可以更好地扩展,并且如果用户想要更改响应,则可以更轻松地实现撤消逻辑。在 http://www.clipsrules.net/?q=Downloads/CLIPSCGI 中有一个示例显示如何使用 CGI 应用程序执行此操作.
关于python - 将 CLIPS 专家系统公开为 Web 应用程序的体系结构选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46531265/