# hec-project **Repository Path**: SpringIsComing/hec-project ## Basic Information - **Project Name**: hec-project - **Description**: hec的后台代码(主体部分) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-10-20 - **Last Updated**: 2022-10-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # inference-program 一.系统名称: 发电厂供电设备故障诊断系统 二.介绍 主要包括:配置管理、故障诊断推理 #### 软件架构 三.软件结构 FalutDiagnosis │ .gitignore │ file.txt │ fp-mapping.json │ parent.iml │ pom.xml │ ├─.idea │ │ .name │ │ compiler.xml │ │ encodings.xml │ │ misc.xml │ │ modules.xml │ │ vcs.xml │ │ workspace.xml │ │ │ ├─inspectionProfiles │ │ Project_Default.xml │ │ │ └─libraries ├─common-tools 工具模块根目录 │ │ common-tools.iml │ │ pom.xml │ │ │ ├─config-center 测点配置程序 │ │ │ pom.xml │ │ ├─src │ │ │ ├─main │ │ │ │ ├─java │ │ │ │ │ └─cn │ │ │ │ │ └─edu │ │ │ │ │ └─hit │ │ │ │ │ └─configcenter │ │ │ │ │ AppConfigure.java(当前程序配置,加指定端口的命令行参数) │ │ │ │ │ ConfigCenterApplication.java启动程序 │ │ │ │ │ ConfigureController.java UCAD 操作 │ │ │ │ │ IndexController.java 主页面 │ │ │ │ │ │ │ │ │ └─resources │ │ │ │ │ application.properties spring boot 框架配置 │ │ │ │ │ │ │ │ │ ├─META-INF │ │ │ │ │ MANIFEST.MF │ │ │ │ │ │ │ │ │ └─static 资源文件根目录 │ │ │ │ .gitignore │ │ │ │ index.html │ │ │ │ │ │ │ └─test │ │ └─target │ │ │ config-center-0.0.1-SNAPSHOT.jar │ │ │ config-center-0.0.1-SNAPSHOT.jar.original │ │ │ │ │ │ │ ├─META-INF │ │ │ │ MANIFEST.MF │ │ │ │ │ │ │ └─static │ │ │ index.html │ │ │ │ │ ├─conf │ │ │ mongodb.json │ │ │ │ │ │ │ │ └─test-classes │ │ │ ├─data-exporter 知识库导出工具 │ │ │ .gitignore │ │ │ data-exporter.iml │ │ │ graph.json │ │ │ pom.xml │ │ │ │ │ ├─src │ │ │ ├─main │ │ │ │ ├─java │ │ │ │ │ └─cn │ │ │ │ │ └─edu │ │ │ │ │ └─hit │ │ │ │ │ │ App.java 导出主程序 │ │ │ │ │ │ │ │ │ │ │ └─kg │ │ │ │ │ NeoDriver.java (Neo4j驱动) │ │ │ │ │ │ │ │ │ └─resources │ │ │ │ │ configure.json Neo4j的 URL及用户名密码配置信息。 │ │ │ │ │ │ │ │ │ └─META-INF │ │ │ │ MANIFEST.MF │ │ │ │ │ │ │ └─test │ │ │ │ │ └─target │ ├─fault-list │ │ │ fault-list.iml │ │ │ pom.xml │ │ │ │ │ ├─src │ │ │ └─main │ │ │ └─java │ │ │ └─cn │ │ │ └─edu │ │ │ └─hit │ │ │ Application.java │ │ │ Controller.java │ │ │ GetPortandName.java │ │ │ │ │ └─target │ │ │ ├─graph-data-transport 用于江北的静态知识库查询程序 │ │ │ .gitignore │ │ │ graph-data-transport.iml │ │ │ mvnw │ │ │ mvnw.cmd │ │ │ pom.xml │ │ │ │ │ ├─.mvn │ │ │ └─wrapper │ │ │ maven-wrapper.jar │ │ │ maven-wrapper.properties │ │ │ │ │ ├─src │ │ │ ├─main │ │ │ │ ├─java │ │ │ │ │ └─cn │ │ │ │ │ └─edu │ │ │ │ │ └─hit │ │ │ │ │ └─graphdata │ │ │ │ │ AppConfigure.java │ │ │ │ │ ConfigureController.java │ │ │ │ │ FaultPortMapping.java │ │ │ │ │ GraphDataTransportApplication.java │ │ │ │ │ NewController.java │ │ │ │ │ │ │ │ │ └─resources │ │ │ │ │ application.yml │ │ │ │ │ configure.json │ │ │ │ │ │ │ │ │ └─META-INF │ │ │ │ MANIFEST.MF │ │ │ │ │ │ │ └─test │ │ │ │ │ └─target │ │ │ └─self-learning │ │ .gitignore │ │ mvnw │ │ mvnw.cmd │ │ pom.xml │ │ self-learning.iml │ │ │ ├─.mvn │ │ └─wrapper │ │ maven-wrapper.jar │ │ maven-wrapper.properties │ │ MavenWrapperDownloader.java │ │ │ ├─src │ │ ├─main │ │ │ ├─java │ │ │ │ ├─cn │ │ │ │ │ └─edu │ │ │ │ │ └─hit │ │ │ │ │ ├─kg │ │ │ │ │ │ LinearEquationSolver.java │ │ │ │ │ │ SampleGenerator.java │ │ │ │ │ │ SelfLearningUtil.java │ │ │ │ │ │ │ │ │ │ │ └─selflearning │ │ │ │ │ GetExplain.java │ │ │ │ │ GetPortandName.java │ │ │ │ │ NeoDriver.java │ │ │ │ │ RedisController.java │ │ │ │ │ SelfLearningApplication.java │ │ │ │ │ SelfLearningController.java │ │ │ │ │ │ │ │ │ └─configcenter │ │ │ │ ConfigureController.java │ │ │ │ │ │ │ └─resources │ │ │ │ application.yml │ │ │ │ configure.json │ │ │ │ │ │ │ └─static │ │ │ │ index.html │ │ │ │ │ │ │ └─static │ │ │ ├─css │ │ │ │ app.c861553a2ec2267c87f60482db53f440.css │ │ │ │ app.c861553a2ec2267c87f60482db53f440.css.map │ │ │ │ │ │ │ ├─fonts │ │ │ │ element-icons.535877f.woff │ │ │ │ element-icons.732389d.ttf │ │ │ │ │ │ │ └─js │ │ │ app.9181449cc315a21659e0.js │ │ │ app.9181449cc315a21659e0.js.map │ │ │ manifest.2ae2e69a05c33dfc65f8.js │ │ │ manifest.2ae2e69a05c33dfc65f8.js.map │ │ │ vendor.3a3022581238654667f3.js │ │ │ vendor.3a3022581238654667f3.js.map │ │ │ │ │ └─test │ │ └─java │ │ └─cn │ │ └─edu │ │ └─hit │ │ └─selflearning │ │ ComponentCompare.java │ │ FeatureCompareTest.java │ │ FindFeaturePort.java │ │ GetPort.java │ │ NewGetPort.java │ │ RedisTest.java │ │ SelfLearningApplicationTests.java │ │ SomeTest.java │ │ │ └─target ├─conf │ │ configure.json │ │ fp-mapping.json │ │ graph.json │ │ mongo.data │ │ mongodb.json │ │ │ └─javascript │ │ core.js │ │ external.js │ │ │ ├─core │ │ CompareService.js │ │ jsExpression.js │ │ neighbor.js │ │ │ └─external │ bgN.js │ ├─inference-engine 推理机核心模块 │ │ inference-engine.iml │ │ pom.xml │ │ │ ├─common-utils 通用工具模块 │ │ │ .gitignore │ │ │ common-utils.iml │ │ │ pom.xml │ │ │ │ │ ├─src │ │ │ ├─main │ │ │ │ ├─java │ │ │ │ │ └─cn │ │ │ │ │ └─edu │ │ │ │ │ └─hit │ │ │ │ │ │ CachedObjectPool.java 对象缓存队列(固定大小,新增如果超过长度则删除最旧的一个数据) │ │ │ │ │ │ CacheManager.java │ │ │ │ │ │ HttpRequestor.java Http请求工具类 │ │ │ │ │ │ HttpRequestor2.java │ │ │ │ │ │ HttpRequestorForJoinsystem.java │ │ │ │ │ │ HttpRequestorWithToken.java │ │ │ │ │ │ HttpRequestorWithTokenForJoinsystem.java │ │ │ │ │ │ ICachedObjectPool.java │ │ │ │ │ │ ObjectCacheUtils.java 对象缓存工具类 │ │ │ │ │ │ │ │ │ │ │ ├─core │ │ │ │ │ │ MyLogger.java │ │ │ │ │ │ │ │ │ │ │ └─kg │ │ │ │ │ Neo4jConfigurationUtil.java │ │ │ │ │ ScriptContext.java 使用Nashorn 允许执行JavaScript脚本 │ │ │ │ │ ScriptLoader.java │ │ │ │ │ │ │ │ │ └─resources │ │ │ │ └─javascript │ │ │ │ │ core.js │ │ │ │ │ external.js │ │ │ │ │ │ │ │ │ ├─core │ │ │ │ │ CompareService.js (比较最大、最小值) │ │ │ │ │ jsExpression.js (表达式函数的定义) │ │ │ │ │ neighbor.js (元素分组功能) │ │ │ │ │ │ │ │ │ └─external │ │ │ │ bgN.js │ │ │ │ │ │ │ └─test │ │ └─target │ ├─core-api 推理机接口模块 │ │ │ .gitignore │ │ │ core-api.iml │ │ │ pom.xml │ │ │ │ │ ├─src │ │ │ └─main │ │ │ └─java │ │ │ └─cn │ │ │ └─edu │ │ │ └─hit │ │ │ ├─core │ │ │ │ │ Adapter.java (数据转换接口) │ │ │ │ │ Document.java │ │ │ │ │ Loader.java (抽像类) │ │ │ │ │ MappedLoader.java (继承Loader) │ │ │ │ │ Pair.java (二元组) │ │ │ │ │ │ │ │ │ ├─combine │ │ │ │ │ CombineAdapter.java (提取特征的转换接口) │ │ │ │ │ │ │ │ │ ├─conf │ │ │ │ │ ConfigureLoader.java │ │ │ │ │ ConfigureProvider.java │ │ │ │ │ │ │ │ │ ├─db │ │ │ │ │ DataConnection.java │ │ │ │ │ DataReader.java │ │ │ │ │ DataWriter.java │ │ │ │ │ DBHelper.java │ │ │ │ │ DBReadHelper.java │ │ │ │ │ Filters.java │ │ │ │ │ │ │ │ │ ├─functional │ │ │ │ │ BiFunction.java (两参数匹配过程的函数接口) │ │ │ │ │ TriFunction.java (三参数匹配过程的函数接口) │ │ │ │ │ │ │ │ │ ├─message │ │ │ │ │ MessageAdapter.java (获取特征的Adapter,获取测点信息) │ │ │ │ │ │ │ │ │ └─transfer │ │ │ │ ReduceTransfer.java (用于Reduce的二参数接口) │ │ │ │ Transfer.java (用于map的一参数接口) │ │ │ │ TransferLoader.java (特征函数的加载) │ │ │ │ │ │ │ └─kg │ │ │ └─data (知识库的数据) │ │ │ CypherRunner.java │ │ │ GraphDataProvider.java (数据提供者) │ │ │ Node.java (图结点接口) │ │ │ │ │ └─target │ ├─core-impl 推理机接口实现模块 │ │ │ .gitignore │ │ │ core-impl.iml │ │ │ pom.xml │ │ │ │ │ ├─src │ │ │ ├─main │ │ │ │ ├─java │ │ │ │ │ └─cn │ │ │ │ │ └─edu │ │ │ │ │ └─hit │ │ │ │ │ ├─conf │ │ │ │ │ │ MainConfigureProvider.java │ │ │ │ │ │ │ │ │ │ │ ├─core │ │ │ │ │ │ ├─combine (特征提取) │ │ │ │ │ │ │ AssignAdapter.java (提出特征的值是给定值) │ │ │ │ │ │ │ CombineAdapterHelper.java (CombineLoader的helper类) │ │ │ │ │ │ │ CombineLoader.java (特征提取的各种接口) │ │ │ │ │ │ │ FlatMapAdapter.java (map操作用的特征提出过程实现) │ │ │ │ │ │ │ MapperAdapter.java │ │ │ │ │ │ │ ReduceAdapter.java (reduce操作) │ │ │ │ │ │ │ │ │ │ │ │ │ ├─db │ │ │ │ │ │ │ DataConnectionLoader.java │ │ │ │ │ │ │ │ │ │ │ │ │ ├─message 获取测点信息(有些是演示用的) │ │ │ │ │ │ │ AssignedAdapter.java (生成测点固定值) │ │ │ │ │ │ │ DownDataAdapter.java (生成下降趋势的数据) │ │ │ │ │ │ │ HarbinElectricGroupAdapter.java │ │ │ │ │ │ │ JoinSystemAdapter.java (从江北获取测点信息) │ │ │ │ │ │ │ JoinSystemAdapter2.java │ │ │ │ │ │ │ JoinSystemFastAdapter.java │ │ │ │ │ │ │ JoinSystemFastAdapter2.java │ │ │ │ │ │ │ MessageAdapterHelper.java │ │ │ │ │ │ │ MessageAdapterHelper2.java │ │ │ │ │ │ │ MessageLoader.java (获取测点信息的Loader) │ │ │ │ │ │ │ RandomAdapter.java (生成测点信息) │ │ │ │ │ │ │ UpDataAdapter.java (生成上升趋势的数据) │ │ │ │ │ │ │ Wave2Adapter.java │ │ │ │ │ │ │ WaveAdapter.java │ │ │ │ │ │ │ │ │ │ │ │ │ └─transfer (特征提出函数) │ │ │ │ │ │ FFTTransfer.java (FFT提取) │ │ │ │ │ │ HistoryTransfer.java (历史数据) │ │ │ │ │ │ JavaScriptReduceTransfer.java │ │ │ │ │ │ JavaScriptTransfer.java │ │ │ │ │ │ │ │ │ │ │ ├─fft │ │ │ │ │ │ Complex.java │ │ │ │ │ │ FFTJ.java │ │ │ │ │ │ │ │ │ │ │ └─kg │ │ │ │ │ │ FunctionUtil.java(根据表达或函数名看是否匹配) │ │ │ │ │ │ SignalUtil.java (生成的特征打打包成知识库用的特征对像) │ │ │ │ │ │ │ │ │ │ │ ├─data │ │ │ │ │ │ GraphData.java (图定义) │ │ │ │ │ │ NodeImpl.java (图结点实现) │ │ │ │ │ │ │ │ │ │ │ └─entity │ │ │ │ │ BaseNode.java (抽像结点) │ │ │ │ │ Component.java │ │ │ │ │ Fault.java │ │ │ │ │ Feature.java 特征 │ │ │ │ │ FeatureGroup.java │ │ │ │ │ ISignalMatch.java (可以进行匹配操作的接口类 │ │ │ │ │ MatchFunction.java (未用) │ │ │ │ │ Pair.java (二元组) │ │ │ │ │ Signal.java (知识库的特征) │ │ │ │ │ SignalGroup.java (未用) │ │ │ │ │ │ │ │ │ └─resources │ │ │ │ └─META-INF │ │ │ │ │ MANIFEST.MF │ │ │ │ │ │ │ │ │ └─services │ │ │ │ cn.edu.hit.core.combine.CombineAdapter │ │ │ │ cn.edu.hit.core.conf.ConfigureProvider │ │ │ │ cn.edu.hit.core.message.MessageAdapter │ │ │ │ cn.edu.hit.core.transfer.ReduceTransfer │ │ │ │ cn.edu.hit.core.transfer.Transfer │ │ │ │ │ │ │ └─test │ │ │ │ │ └─target │ │ │ ├─file-graph-provider │ │ │ .gitignore │ │ │ file-graph-provider.iml │ │ │ pom.xml │ │ │ │ │ ├─src │ │ │ └─main │ │ │ ├─java │ │ │ │ └─cn │ │ │ │ └─edu │ │ │ │ └─hit │ │ │ │ └─kg │ │ │ │ └─file │ │ │ │ FileDataProvider.java │ │ │ │ NodeImpl.java │ │ │ │ │ │ │ └─resources │ │ │ └─META-INF │ │ │ └─services │ │ │ cn.edu.hit.kg.data.GraphDataProvider │ │ │ │ │ └─target │ ├─file-objective-database │ │ │ .gitignore │ │ │ file-objective-database.iml │ │ │ pom.xml │ │ │ │ │ ├─src │ │ │ ├─main │ │ │ │ ├─java │ │ │ │ │ └─cn │ │ │ │ │ └─edu │ │ │ │ │ └─hit │ │ │ │ │ └─database │ │ │ │ │ FileConnection.java │ │ │ │ │ FileDatabase.java │ │ │ │ │ │ │ │ │ └─resources │ │ │ │ └─META-INF │ │ │ │ └─services │ │ │ │ cn.edu.hit.core.db.DataConnection │ │ │ │ │ │ │ └─test │ │ │ └─java │ │ │ └─cn │ │ │ └─edu │ │ │ └─hit │ │ │ └─database │ │ │ FileDatabaseTest.java │ │ │ │ │ └─target │ ├─mongo-objective-database │ │ │ .gitignore │ │ │ mongo-objective-database.iml │ │ │ pom.xml │ │ │ │ │ ├─src │ │ │ ├─main │ │ │ │ ├─java │ │ │ │ │ └─cn │ │ │ │ │ └─edu │ │ │ │ │ └─hit │ │ │ │ │ └─mongodb │ │ │ │ │ MapLikedDocumentCodec.java │ │ │ │ │ MongoDB.java │ │ │ │ │ MongoDBConnection.java │ │ │ │ │ Utils.java │ │ │ │ │ │ │ │ │ └─resources │ │ │ │ └─META-INF │ │ │ │ └─services │ │ │ │ cn.edu.hit.core.db.DataConnection │ │ │ │ │ │ │ └─test │ │ │ └─java │ │ │ └─cn │ │ │ └─edu │ │ │ └─hit │ │ │ └─core │ │ │ AppTest.java │ │ │ │ │ └─target │ │ │ └─neo4j-graph-provider │ │ .gitignore │ │ neo4j-graph-provider.iml │ │ pom.xml │ │ │ ├─src │ │ ├─main │ │ │ ├─java │ │ │ │ └─cn │ │ │ │ └─edu │ │ │ │ └─hit │ │ │ │ └─kg │ │ │ │ Neo4jDataProvider.java │ │ │ │ NeoDriver.java │ │ │ │ NodeImpl.java │ │ │ │ │ │ │ └─resources │ │ │ └─META-INF │ │ │ └─services │ │ │ cn.edu.hit.kg.data.GraphDataProvider │ │ │ │ │ └─test │ │ └─java │ │ Test.java │ │ │ └─target │ ├─parent │ │ .gitignore │ │ pom.xml │ │ │ └─src │ ├─main │ │ └─java │ │ └─cn │ │ └─edu │ │ └─hit │ │ App.java │ │ │ └─test │ └─java │ └─cn │ └─edu │ └─hit │ AppTest.java │ └─standalone-apps 独立应用 │ pom.xml │ standalone-apps.iml │ ├─hec-runner │ │ .gitignore │ │ hec-runner.iml │ │ pom.xml │ │ │ ├─src │ │ └─main │ │ ├─java │ │ │ └─cn │ │ │ └─edu │ │ │ └─hit │ │ │ └─hec │ │ │ App2.java │ │ │ Application.java (推理机的入口程序,目前给哈电集团及哈电研究所使用的 2019至今) │ │ │ Controller.java │ │ │ │ │ └─resources │ │ │ application.yml(spring boot 配置文件) │ │ │ configure.json (Neo4j的 URL及用户名密码配置信息) │ │ │ fp-mapping.json │ │ │ graph.json (知识库) │ │ │ logback-spring.xml │ │ │ mongo.data │ │ │ mongodb.json │ │ │ │ │ └─javascript │ │ │ core.js │ │ │ external.js │ │ │ │ │ ├─core │ │ │ CompareService.js (比较最大、最小值) │ │ │ jsExpression.js (表达式函数的定义) │ │ │ neighbor.js (元素分组功能) │ │ │ │ │ └─external │ │ bgN.js (不用了) │ │ historySignalCheck.js │ │ │ └─target │ │ hec-runner-2.1.0.RELEASE.jar │ │ hec-runner-2.1.0.RELEASE.jar.original │ │ │ └─classes ├─joinsystem-runner │ │ joinsystem-runner.iml │ │ pom.xml │ │ │ ├─src │ │ └─main │ │ ├─java │ │ │ └─cn │ │ │ └─edu │ │ │ └─hit │ │ │ └─joinsystem │ │ │ App2.java │ │ │ Application.java │ │ │ Controller.java │ │ │ │ │ └─resources │ │ │ application.yml │ │ │ configure.json │ │ │ graph.json │ │ │ mongo.data │ │ │ │ │ └─javascript │ │ │ core.js │ │ │ external.js │ │ │ │ │ ├─core │ │ │ CompareService.js │ │ │ jsExpression.js │ │ │ neighbor.js │ │ │ │ │ └─external │ │ bgN.js │ │ historySignalCheck.js │ │ │ └─target │ │ joinsystem-runner-2.1.0.RELEASE.jar │ │ joinsystem-runner-2.1.0.RELEASE.jar.original │ │ │ ├─classes │ │ │ application.yml │ │ │ configure.json │ │ │ graph.json │ │ │ mongo.data │ │ │ │ │ ├─cn │ │ └─javascript │ │ │ core.js │ │ │ external.js │ │ │ │ │ ├─core │ │ │ CompareService.js │ │ │ jsExpression.js │ │ │ neighbor.js │ │ │ │ │ └─external │ │ bgN.js │ │ historySignalCheck.js │ │ │ ├─generated-sources │ │ └─annotations │ ├─maven-archiver │ │ pom.properties │ │ │ └─maven-status │ └─maven-compiler-plugin │ └─compile │ └─default-compile │ createdFiles.lst │ inputFiles.lst │ └─webservice 最初的集成APP,需要Tomcat(如需波形显示还要启动rabbitmq 和start/start.exe) -现在未用 │ .gitignore │ pom.xml │ └─src ├─main │ ├─java │ │ ├─cn │ │ │ └─edu │ │ │ └─hit │ │ │ └─tendency │ │ │ DataPoint.java │ │ │ LinearRegression.java │ │ │ RegressionLine.java │ │ │ TendencySourceQueue.java │ │ │ │ │ ├─entity │ │ │ SignalGroup.java │ │ │ │ │ └─web │ │ └─service │ │ └─rest │ │ ConfigureService.java │ │ CrossFilter.java │ │ FFTService.java │ │ KGService.java │ │ MqConfigure.java │ │ RestApplication.java │ │ WorkService.java │ │ │ └─webapp │ │ index.html │ │ index.jsp │ │ │ └─META-INF │ MANIFEST.MF │ └─test └─java └─cn └─edu └─hit ├─kg │ ScriptContextTest.java │ └─loader TransferTest.java 四.安装过程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request