# gram-local-parent **Repository Path**: christry_stool/gram-local-parent ## Basic Information - **Project Name**: gram-local-parent - **Description**: 产酶项目后端本地版,练习了文件监听WatchService,以及继承Map接口实现了TrieMap。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-09-20 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gram-local-parent 产酶项目后端本地版,练习了文件监听WatchService,以及继承Map接口实现了TrieMap。 ## 目标: 1. 添加/更换新模型后,后端能及时响应,新建/重建 内存中的算法模型 2. 希望通过时间点序列快速找到对应模型 ## 关键点: ### 1. 在Spring容器加载完bean后,启动文件监控服务 实现InitializingBean接口,在afterPropertiesSet()方法中开启一个线程运行文件监控服务。 为文件夹注册事件后,调用watcher.take()阻塞等待文件事件发生,事件发生后会返回一个WatchKey, (Path) key.watchable()可以得到发生事件的路径。 ### 2. 使用Trie保存时间点序列与模型之间的映射 在本项目中,用户可以选择若干时间点,抽取这些时间点的数据作为产酶识别依据,交由服务器调用对应的算法模型(LSTM)进行识别。 每种时间点序列对应一个算法模型,所以希望保存时间点序列与模型之间的映射,以快速找到模型。 为了节省空间,故使用Trie来作为数据结构。 另外为保证线程安全,使用时封装了一层读写锁。