首页 > 其他分享 >国信工作笔记

国信工作笔记

时间:2022-11-28 16:33:37浏览次数:59  
标签:dim metro 故障 List 笔记 工作 国信 new data

运行web项目可以通过在控制台terminal中进入目录cd web/manage 执行npm install执行,最好是进入web文件夹通过git命令 npm run serve 起工程之前先起nacos和mq   SSM  spring boot注解怎么配置用法   IDEA断点 F8 往下走 F7 进入方法 F9 是走到下一个断点  没有就走到最后   使div下移动 <div class="col-md-12" style="margin-top: 170px;"> </div>   ipconfig/all 查看MAC地址   您的OA登陆:账号:工号  ,密码:姓名全拼 hs!&9p4ay@5q  。  http://oa.halosee.com/login.jsp           邮箱:  姓名全拼@halosee.com     初始密码:Hs20170825     https://qiye.163.com/login/ 邮箱新密码为 ju0718902! git账号 http://140.249.35.238:60601/    https://git.halosee.com/users/sign_in 【域名】 用户名 juruixing 密码 ju0718902!   git clone  -> file -> new  -> Project from version Control 输入ssh克隆路径选择文件夹  配置gitlab秘钥   git更新提交代码 VCS栏 -> git pull /push VCS栏 -> commit   磁悬浮项目中RedisClient.java中来切换redis连接本地库还是生产库         TreeSet的遍历只能使用迭代器的遍历方法 String[] splitAddress=address.split("\\."); split表达式,其实就是一个正则表达式。*  ^ | 等符号在正则表达式中属于一种有特殊含义的字符,如果使用此种字符作为分隔符,必须使用转义符即\\加以转义   原始协议数据如何转换成协议表?(根据data_code中去数据包中找到某个位置的数据) 关键核心在于data_code的生成 TJ10-31 前面是固定的 字节偏移决定是哪一个字节 字节长度决定有几个字节  位偏移决定在字节上的位置  位长度就是占用几个字节   spring.datasource.password=root   #mongodb 10.73.95.128 spring.data.mongodb.uri=mongodb://localhost:27017/ spring.data.mongodb.database=metrodata     //将yyyy-MM-dd HH:mm:ss格式时间减去二十分钟 var newDate = new Date(new Date(endTime).getTime()-1200000)   dim_metro_coach_detail 车厢明细表 interfaceType 协议表中的协议版本号   累计运营数据分析页面 空调能耗 辅助系统能耗  累计运行里程 有data_code 牵引能耗 运行里程无data_code   Nacos  (Hadoop -> HBase  大数据)   线路号 -  列车号 -  车厢号    git双重验证

  • 4fac3eec8ba9a08c
  • 8bac962bf9909d53
  • 8069ac38dfdee591
  • 403149e78c9ebdd1
  • e52ddbef449a5a71
  • 29fed6ce61d9fde6
  • 4dc6834c1966a864
  • b9edfa96b7c328a4
  • 058432d17f2e3018
  • 7c6dbd937da33cf3
根据故障诊断逻辑图配置dim_metro_fault_diag_rule 1.首先根据故障名称查询dim_metro_fault_detial 故障明细表 2.根据子节点名称查询dim_phm_trunscate_rules 协议表 根据data_name 获取display_code ,coach_no等信息 3.配置dim_metro_fault_diag_rule表   redis中配置 DT_TRAIN_DATA 25_00206-0006 20211102142216 DT_ONLINE_DATA 00206-0006 {"time":"20211102142216","status":"1"}   MongoDB数据库 metroData  time字段为数据包生成时间 faultData metroModelWarnLog 模型故障定义表 MySql数据库 dim_metro_fault_diag_rule dim_phm_trunscate_tules dim_metro_fault_detail   每列车的displaycode是唯一的 datacode是分每节车厢的 ,根据display_code 和coachNo确定data_code,即每节车厢的data_code 画故障树时,故障需要根据display_code值,模型不需要(只需要根据idStrs) 模型展示根据模型定义表的结束时间再系统时间五分钟之内展示 故障展示取的mongo中的eventDataHis表当天时间五分钟内的数据 beginTime,endTime为故障发生时间和结束时间 dataTime为故障下发时间   打包部署jar包 服务器信息:172.30.88.22    root/langchao123   1.打包生成  gxhs-zh-****-r.jar(****为打包日期)   2.登录172.30.88.22并 上传jar至  /home/phm_zz 目录下   3.部署: ①杀掉应用进程(没有的可以不杀,越过①即可): ps -ef|grep java  查看到pid, 然后 kill -9  pid ②在phm_zz目录下执行 nohup java -jar ./gxhs-zh-****-r.jar >./logs/metro.log 2>&1 &   PS: 输入jar包前几个字母,然后按Tab键,可快速输入jar包全名   4.实时查看日志   ① cd ../logs    ② tail -f metro.log ③退出查看:Ctrl+C       如何重启流(修改了数据库协议表) 进入服务器找到路径 /home/app/bin下找到dataReceiveServer.sh 查看进程ps -ef|grep java 杀死进程 kill -9 pid 重启流 nohup ./dataReceiveServer.sh >/dev/null &   实时查看日志  tail -f xx.log 查看日志尾部向前200行  tail -n 200 xx.log   //LinkedHashSet存储不重复的数据 LinkedHashSet是Set集合的一个实现,具有set集合不重复的特点,同时具有可预测的迭代顺序,也就是我们插入的顺序。 并且linkedHashSet是一个非线程安全的集合。 public List<String> removeStringListDupli(List<String> stringList) { Set<String> set = new LinkedHashSet<>(); set.addAll(stringList); stringList.clear(); stringList.addAll(set); return stringList; }   在系统里新建菜单要配置菜单,角色,账号三个配置(业主展示用)     时间转换 Date nowDate = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd000000"); String endTime = sdf.format(nowDate); String startTime = sdf1.format(nowDate);    
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter format1 = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); LocalDateTime localDateTime = LocalDateTime.parse(metroData.getTime(), format1); metroData.setTime(localDateTime.format(format));    
  如果后端返回的数据是类型String = gson.toJson(map); 则前端js接收需要接收方式为: data[key]   JSON.stringify()的作用是将 JavaScript 对象转换为 JSON 字符串,而JSON.parse()可以将JSON字符串转为一个对象。 [1].如果后端接收到数据为 String  trainId 则前端ajax传输方式为data:{"trainId": trainId} 如果后端接收到数据为Map paramMap 则前端ajax传输方式为 data:JSON.stringify({"trainId":trainId}), contentType: "application/json",   ss 了解一下git的提交 更新 解决冲突 切换分支 【用流对某个key出现次数进行排序 筛选出top5】 //对系统分组获取key 系统名称 Map<String, List<FaultData>> systemMapList = resultList.stream().collect(Collectors.groupingBy(FaultData::getSystemName)); //获取key-value 系统名称 对应故障发生系统名称的次数 Map<String,Integer> systemNumMap = new HashMap<>(); for (Map.Entry<String, List<FaultData>> stringListEntry : systemMapList.entrySet()) { systemNumMap.put(stringListEntry.getKey(),stringListEntry.getValue().size()); } List<Map<String,Integer>> result = new ArrayList<>(); //获取List<Map> [{key:value},{},{}] systemNumMap.entrySet().stream() .sorted(Collections.reverseOrder(Map.Entry.comparingByKey())) .forEachOrdered(x -> { Map<String,Integer> resultMap = new HashMap<>(); resultMap.put(x.getKey(),x.getValue()); result.add(resultMap); }); List<Map<String, Integer>> maps = new ArrayList<>(); if(result.size() >=5){ maps = result.subList(0,5); }   创新中心周报填7.5小时  城阳写8小时   subList截取必须重新赋值给一个新的对象才有效 list.subList(0,5)   List<DimPhmTruncateRulesDomain> displayList = rules.stream() .filter(t -> StringUtils.isNotBlank(t.getCoachNo())) .collect(Collectors.toList()); Map<String, String> displayMap = displayList.stream() .collect(Collectors.toMap(t -> t.getCoachNo() + t.getDisplayCode(), t -> t.getDataCode(), (key1, key2) -> key2));       controller层查询数据库,redis不能写在for循环里面 这样会导致数据查询时间返回过长 String[] params = paramStr.split(","); Set<String> paramset = Arrays.stream(params).collect(Collectors.toSet()); String finalParamStr = paramStr = StringUtils.join(paramset, ",");   DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); //格式转化 String startTime = LocalDateTime.parse(stime, formatter2).format(formatter1); String endTime = LocalDateTime.parse(etime, formatter2).format(formatter1);   故障表的beginTime,endTime时间再当前时间五分钟内才显示 metro_data表的time字段跟redis时间一致 才显示列号 如果故障详情页信息展示出来 metro_data表中的time字段在redis时间之前毫秒在000-999之间   instanceof 是 Java 的保留关键字,它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型 if(value instanceof List){ List list= (List)value; Collections.reverse(list); }   如何对集合实现降序排序 Collections.sort(list); 升序排序 //再反转 Collections.reverse(list); 反转则降序排序   选颜色网址 https://ant-design.gitee.io/docs/spec/colors-cn echarts实例网址 https://echarts.apache.org/zh/index.html   机房服务器关机 不能直接摁电源键关机 ,要使用poweroff命令关机   mongodb表dim_phm_metro_fault中beginTime字段为故障发生时间 对beginTime字段先升序后降序 便能获取到最新时间了: List<FaultData> eventLogs = resultListTemp.stream().sorted(Comparator.comparing(FaultData::getBeginTime).reversed()).collect(Collectors.toList());     子系统devId  区分车厢号 【报文头 数据区头 数据区  故障区头 故障区 报文尾】 nginx反向代理  模型的beginTime,endTime不带毫秒,故障的beginTime,endTime带毫秒   select * from dim_metro_fault_detail t where t.fault_model = "TJ10EDCU10" order by RIGHT(fault_name,12),fault_name;     alt + f8                
   

标签:dim,metro,故障,List,笔记,工作,国信,new,data
From: https://www.cnblogs.com/juruixing/p/16932545.html

相关文章

  • Linux笔记分享-crazychao
    Linux-CentOS6.5安装JDK和eclipse步骤JDK下载页面:​​http://www.oracle.com/technetwork/java/javase/downloads/index.html​​1、若之前没有装过,卸载系统自带的j......
  • Git笔记分享-crazychao
    Gitlab的使用:操作记录:安装git配置/etc/hostsgitconfig在gitlab创建项目[​​root@DX-1​​ ~]# git config --global user.name"crazyyanchao"[​​r......
  • 多线程笔记-1
    多线程学习(一)线程的介绍 一、创建线程的方式 1.继承Thread类 publicclassMyThreadextendsThread{ @Override publicvoidrun(){ System.out.println......
  • velocity-1.7学习笔记
    Velocity是由Apache软件组织提供的一项开放源码项目,它是一个基于Java的模板引擎。通过Velocity模板语言(VelocityTemplateLanguage,VTL)定义模板(Template),并且在模板中不包......
  • #yyds干货盘点#前端工作的一点思考
    为什么选择前端?一个简单的问题,但大部分人却说不清楚,我当初也是误打误撞进入了这个行业,不知不觉就干了快七年。漫无目的的做一件事情是很难做好的,也是痛苦的,尤其是这件事还占......
  • 吴军《浪潮之巅(下)》阅读笔记---信息时代的科学基础
    吴军《浪潮之巅(下)》阅读笔记---信息时代的科学基础工业革命和颠覆式创新的范式:现有产业+新技术=新产业。从工业革命之前一个世纪开始一直到二战之前,科学基础......
  • 罗剑锋的C++实战笔记-学习笔记(3)
    书接上文,三句名言镇楼。三句名言镇楼任何人都能写出机器能看懂的代码,只有优秀的程序员才能写出人看懂的代码两种写程序的方式:把代码写的非常复杂,以至于"看不出明显......
  • 全链路压测效能10倍提升的压测工具实践笔记【开源】【原创】
    BSF全链路自动化测试工具(autotest),可批量导入样本,自动录制样本,自动样本清洗,自动化压测,自动输出压测报告,让开发和压测人员性能测试的效能提升10倍!!!背......
  • 罗剑锋的C++实战笔记-学习笔记(2)
    书接上文,三句名言镇楼。三句名言镇楼任何人都能写出机器能看懂的代码,只有优秀的程序员才能写出人看懂的代码两种写程序的方式:把代码写的非常复杂,以至于"看不出明显......
  • redisOject 和 底层数据结构对应 学习笔记
    笔记摘抄自https://pdai.tech/md/db/nosql-redis/db-redis-data-type-enc.htmlredisObject查看编码命令setk11objectencodingk1setk2helloobjectencoding......