基于动态加载技术的试验数据分析系统研究
2025,33(1):155-162
摘要:传统的试验数据分析系统通常内嵌固定数量的算法模块进行试验数据处理,系统存在扩展性差、灵活度低等问题,在面对算法更新、算法扩展的需求时,迭代开发又增加了时间与人力成本;因此提出一种基于动态加载技术的试验数据分析系统,该系统主要基于Python语言进行开发,采用PyQt5、MongoDB数据库、importlib库、WebService、MATLABEngine API等技术搭建,具备算法信息同步、算法存储、算法展示、模块动态加载以及远程通信接口等功能;系统采用importlib库和MATLABEngine API两种关键技术实现多类算法文件的动态加载,采用WebService技术实现不同系统间的远程数据通信。经实际应用满足了系统运行期间能够远程实时获取算法文件,动态加载并调用其算法模块,最终正确展示数据分析结果,验证了设计方案的可行性,极大地提升了试验数据分析系统的可扩展性与灵活度。
关键词:试验数据分析系统;PyQt5;模块动态加载;importlib库;远程数据通信;
Research on test data analysis system based on dynamic loading technology
Abstract:The Traditional test data analysis system is usually embedded with a fixed number of algorithm modules for test data processing, the system has problems of poor scalability and low flexibility, and iterative development increases time and labor costs when facing the needs of algorithm update and algorithm expansion. Therefore, a test data analysis system based on dynamic loading technology is proposed. The system is mainly developed based on Python language and built by PyQt5, MongoDB database, importlib library, WebService, MATLAB Engine API and other technologies. It has the functions of algorithm information synchronization, algorithm storage, algorithm display, module dynamic loading and remote communication interface. The system uses importlib library and MATLAB Engine API two key technologies to realize dynamic loading of multi-class algorithm files, and uses WebService technology to realize remote data communication between different systems. Through practical application, the algorithm file can be obtained remotely and in real time during the operation of the system, and the algorithm module can be dynamically loaded and invoked. Finally, the data analysis results can be correctly displayed, the feasibility of the design scheme is verified, and the scalability and flexibility of the test data analysis system are greatly improved.
Key words:Test data analysis system; PyQt5;Dynamic module loading;importlib; Remote data communication
收稿日期:2023-09-20
基金项目:
