自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学习使我快乐

学而不思则罔,思而不学则殆

  • 博客(45)
  • 收藏
  • 关注

原创 流程引擎 Camunda工作流的退回起点 退回上一级

Camunda工作流的退回 以及退回上一级 操作的相关代码 , 解决了反复横跳式退回 导致的回退一级操作紊乱的问题

2022-03-09 18:06:38 11159 11

原创 MySQL 数据库调优

对数据库的查询速度进行优化;一些SQL的编写注意事项;查询出sql的执行计划,并以此进行专门优化的步骤详解

2021-05-19 11:22:08 1925 4

原创 Java 应用程序在Linux上的 延时自启

需求:希望挂到Linux上的java程序可以在机器重启之后自动运行,而不是需要去手动启动附: 程序的启动,重启,停止的 .sh脚本

2021-05-17 11:25:35 2317 10

原创 MySQL数据库备份脚本 定期备份 压缩

使用mysqldump命令备份数据库,gzip进行压缩.只保留固定数量的备份文件,逾期自动删除.1. 编写脚本 db_back.sh脚本内容:#!/bin/bash #保存备份个数,备份31天数据number=31#备份保存路径backup_dir=/home/mysqlbackup#日期dd=`date +%Y-%m-%d-%H-%M-%S`#备份工具back_tool=mysqldump#压缩工具ys_tool=gzip#将要备份的数据库database_name=test

2021-03-31 16:13:06 3603 3

原创 通过RabbitMQ的DIRECT模式以及死信队列实现延时任务

运用RabbitMQ的DIRECT模式以及死信队列实现延时操作以及不同间隔时间后重试一 、原理描述图解:一条绑定路由为【FOR_QUEUE1】的消息被发送到交换机【EXCHANGE】上RabbitTemplate.convertSendAndReceive("EXCHANGE","FOR_QUEUE1","我是一条消息");【EXCHANGE】根据自己身上队列绑定的路由,将这个消息发给了队列【QUEUE_NAME1】消费者代码在处理队列【QUEUE_NAME1】中的这条消息的时候,没有

2020-12-22 11:06:32 15393 12

原创 多类型设备统一建模:类型枚举路由与核心处理流程

多类型设备统一建模方案 本文提出了一种多类型设备统一建模方案,通过类型枚举路由和核心处理流程实现主数据统一保存。方案采用Facade模式作为入口,通过设备类型枚举路由到对应的处理器,实现了: 类型扩展性:通过枚举注册处理器类,支持多种设备类型 字段灵活性:使用JSON存储扩展字段,Profile类定义数据结构 职责分离:处理器负责校验,Common服务处理主表,Life服务管理寿命 统一入口:即使无扩展字段的设备也通过同一入口处理 方案包含关键组件: TypeEnum:类型枚举,注册处理器和Profile类

2026-07-22 00:09:33 206

原创 IPC&NVR GB28181 点播接入实践:按需拉流与 SIP 信令处理

问题决策国标信令从零成本高采用开源作为 SIP 平台底座信令与媒体分离WVP-Pro 管 GB28181 信令,ZLM 管 RTP 收流,REST + WebHook 协作与厂商 SDK 混淆国标走 WVP-Pro;私有能力(录像 SDK 等)另线,互不替代GB28181 设备上线REGISTER + Digest 认证,CallId 续订走快速路径GB28181 目录异步分包Catalog MESSAGE 查询 + 异步队列解析 XML + sync-status 轮询。

2026-07-21 22:46:50 209

原创 RTSP 拉流接入实践:ZLMediaKit 代理多厂商摄像头与 NVR 回放

本文探讨了使用ZLMediaKit(ZLM)实现RTSP拉流代理的完整方案,重点解决多厂商摄像头/NVR接入的技术难点。文章首先对比了海康、大华设备RTSP路径格式差异,指出大华设备URL中"&"字符需编码的特殊处理。随后分析了NVR回放场景下账号密码获取、时间参数传递、并发限制等关键问题。通过流程图展示了ZLM代理模式下业务服务与流媒体服务的交互逻辑,包括设备配置保存和用户点播两种触发路径的区别处理。文章还详细介绍了海康和大华设备的主辅码流生成规则,以及NVR通道取流时的厂商差异,为安防视频接入提供了实用

2026-07-21 22:45:29 339

原创 一套代码适配 MySQL、Kingbase 与达梦:数据源切换实践

本文介绍了如何在Spring Boot应用中实现一套代码适配MySQL、Kingbase和达梦数据库的数据源切换实践。核心思路是通过环境变量DB_TYPE统一控制数据库类型,并确保驱动、连接池、分页方言等组件作为一个整体切换。文章详细阐述了枚举定义数据库类型、数据源配置管理、驱动依赖处理等关键点,强调避免在运行时热切换数据库,而是通过不同部署配置实现数据库适配。这种方案既保证了应用的可移植性,又避免了维护多套代码的复杂性,适合需要支持国产数据库迁移的场景。

2026-07-20 12:39:58 323

原创 时序数据库 TDengine 在设备监测中的实际落地:从传感器上报到实时看板

TDengine设备监测应用实践摘要 本文介绍了TDengine在设备监测中的实际应用方案。针对烟感、温湿度、气体等多种传感器数据,提出了一套完整的时序数据处理链路: 数据模型设计:按设备类型拆分为不同超级表,采用"稳定指标拆列+原始JSON保留"的混合存储策略,平衡查询效率与灵活性。 写入流程:通过统一接口将业务对象转换为时序模型,自动提取Tag和Field,封装Schemaless写入逻辑,支持采集时间和接收时间的双时间戳处理。 查询优化:支持最新状态查询、时间窗口分析和告警聚合,结合业务库补充设备元数

2026-07-20 11:31:56 256

原创 设备在线离线状态变更

本文介绍了两种实现设备在线/离线状态管理的核心方案: HTTP心跳+延时离线:适用于周期性上报但无MQTT遗嘱的设备,通过心跳续期+延时检查机制实现状态更新 MQTT上线+遗嘱离线:适用于支持MQTT会话的设备,通过连接事件和遗嘱消息直接触发状态变更 两种方案最终汇聚到统一的updateDeviceOnlineState方法处理状态更新,确保缓存与数据库的一致性。HTTP方案采用三级时间参数(心跳间隔/离线阈值/检查延时)避免临界问题,而MQTT方案则依赖Broker事件驱动。该设计通过状态出口统一、处理逻

2026-07-17 14:14:45 350

原创 Mysql in 查询的奇怪方向

关于表字段存储的数据为 num1,num2,num3时, 还要通过多个num1,num2入参进行查询

2023-08-10 10:54:05 475

原创 爬取12306上所有城市的站台信息

爬取12306上的城市-车站数据集

2023-07-05 14:57:45 1718

原创 每隔一段时间自动敲键盘的的vbs脚本

每隔一段时间自动敲键盘的的vbs脚本

2022-11-24 16:15:47 13537

原创 @Data注解在Boolean类型属性上的大坑

@Data注解在Boolean类型上生成get set方法时进行的一系列花里胡哨的操作

2022-10-24 16:53:46 5018 4

原创 基于面向切面的sql注入过滤

基于面向切面的sql注入过滤人狠话不多, 直接上代码

2022-09-30 10:17:17 397

原创 使用Idea工具 在本地代码上远程调试 生产或测试环境的代码

使用Idea工具 在本地代码上远程调试 生产或测试环境的代码

2022-05-13 17:50:08 1635

原创 Jeecg前端高级查询 OR选项 不能生效 问题解决

Jeecg高级查询[OR(条件中的任意一个匹配)]选项不能生效问题解决问题描述:笔者在使用jeecg框架的高级查询插件时,发现在选择[OR(条件中的任意一个匹配)]作为匹配类型时,最后生效的却一直是[AND(所有条件都要求匹配)].搜索解决方案无果后,只能自己尝试解决.

2021-07-07 10:41:15 1549

原创 SuSE 12 linux 开发环境搭建 之 nginx安装与自启设置

Nginx1. 先检查依赖库是否安装rpm -qa | grep opensslrpm -qa | grep zlibrpm -qa | grep pcre2. 准备文件文件名:nginx下载链接:https://pan.baidu.com/s/1dkBq14s5qjKGyo37JVOQ6A密码:12343 安装依赖库安装openssl注:一行一命令,勿要拆分了mkdir /usr/openssltar -zxvf openssl-1.1.1-pre8.tar.gz

2021-03-17 15:13:28 3216 3

原创 SuSE 12 linux 开发环境搭建 之 redis安装与自启设置

Redis1. 文件准备文件名: redis-3.2.9.tar.gz下载链接:https://pan.baidu.com/s/1bFCJASFUKpVgL3XSP7vitQ密码:12342. 创建目录mkdir /usr/redis3. 解压文件,并挪移至指定目录tar -zxvf redis-3.2.9.tar.gzmv redis-3.2.9 /usr/redis4. 安装之cd /usr/redis/redis-3.2.9make验证是否安装成功 make test

2021-03-17 15:01:16 4462 6

原创 SuSE 12 linux 开发环境搭建 之 mysql安装

Mysql安装1. 文件下载文件名: mysql-5.7.23-1.sles12.x86_64.rpm-bundle.tar 和 my.cnf下载链接:https://pan.baidu.com/s/1qwGxunRhHSpxf06nBciXRw密码:12342. 准备文件mkdir /usr/mysqltar -zxvf mysql-5.7.23-1.sles12.x86_64.rpm-bundle.tar /usr/mysql/mv my.conf /usr/mysql/3. 按

2021-03-17 14:42:35 2159 2

原创 SuSE 12 linux 开发环境搭建 之 jdk安装

jdk安装1. 准备文件文件名: jdk-8u281-linux-x64.tar.gz下载链接:https://pan.baidu.com/s/1sq59EnaFHwM2yup93Yi4tg密码:12342. 创建目录mkdir /usr/java3. 解压文件,并挪移至指定目录tar -zxvf jdk-8u281-linux-x64.tar.gzmv jdk1.8.0_281 /usr/java/4. 配置环境变量编辑配置文件 vim /etc/profile在文件末尾添

2021-03-17 11:34:17 2945 5

原创 lambda表达式内出现异常无法throw抛出

问题描述今儿在使用lambda表达式时,lambda表达式内出现了异常,准备直接抛出,没想到却还是报错:由于博主lambda表达式用的比较少,刚看到这问题时,可以说是一脸懵逼.毕竟两边的提示可以说是前后矛盾啊.刷新几下编译器还是报错,就只能老老实实的找原因.问题原因所幸Java是一门比较成熟的语言,前辈们已经踩了足够的坑.之所以有这种现象是因为lambda表达式本身没有处理异常的机制 ,以至于遇到受检异常时,无法通过主动抛出来解决.但具体的也不是很清楚了,若有其他道友遇到这种问题,欢迎评论区

2021-02-24 16:16:32 2594 1

原创 阿里云服务器 安全组 防火墙 开放端口流程

在云服务上部署了程序之后,在外部访问时总是会遇到如下图的这种问题,一般都是由于端口未开放导致的.原因如下:在云服务器上部署的程序,外部调用的时候会通过两层验证,一层是云服务器提供商的验证,一层就是服务器上系统的防火墙.因而如果我们想在外部访问到程序接口,就需要通过这两层验证.一. 阿里云安全组找到对应的系统实例并选中.博主的实例就是在华北2中,选中后就可以获得实例的具体信息2. 通过{更多->网络和安全组->安全组配置}来开放需要的端口2. 新建或选中已有的安全组,点击配

2021-02-20 18:09:23 4616 3

原创 定时任务 Quartz @Scheduled注解中的 cron表达式 详解示例

定时任务的cron表达式Cron表达式对特殊字符的大小写不敏感,对代表星期的缩写英文大小写也不敏感。格式:秒 分 时 日 月 星期 年(可省略)以空格隔开? :该字符只在日期和星期字段中使用,它通常指定为“无特指的值”,相当于占位符;* :可用在所有字段中,表示对应时间域的每一个时刻,例如, 在分钟字段时,表示“每分钟”;- :表达一个范围,如在小时字段中使用“10-12”,则表示从10到12点,即10,11,12;, :表达一个列表值,如在星期字段中使用“MON,WED,FRI”,则表示星期

2021-02-18 18:24:47 8153 5

原创 Java 使用FTP上传文件 并 模拟接受

Java 使用FTP上传文件 并 模拟接受0. 导入相关依赖<!-- FTP --><dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.6</version> </dependency> <!-- Hutool:一个小而全的J

2021-02-07 16:44:43 965 5

原创 谷歌接口测试插件 Advanced-REST-client 的安装与使用

谷歌接口测试插件 Advanced-REST-client 的安装与使用1. 获取文件百度云盘链接密码:1234文件说明:2. 导入插件a. 谷歌浏览器输入 chrome://extensions/b. 选择【加载已解压的扩展程序】,选中文件Advanced-REST-client_v3.1.93. 加载插件a. 谷歌浏览器输入chrome://apps/b. 直接点击启动,也可以选择新建快捷方式来方便启动4. 可能遇到的问题由于没有联通外网,相关的配置文件无法加载,可以直接从准备

2021-01-25 11:22:06 5457 2

原创 Linux 删除指定目录下的指定文件

Linux 删除指定目录下的指定文件删除lib目录下的所有与rabbitmq相关的文件和目录find /usr/lib/ -name "rabbitmq" | xargs rm -rf删除根目录下的所有与rabbitmq相关的文件和目录find / -name "rabbitmq" | xargs rm -rf...

2021-01-06 15:15:42 2110

原创 Linux 下 RabbitMQ的安装

安装RabbitMQ1 配置语言环境1.1 卸载旧版本查看安装的erlang :# yum list | grep erlang卸载旧版本:# yum -y remove [要卸载的版本]示例:1.2 准备文件将说明文件提供的文件上传至:/data_disk/rabbitmq1.3 安装erlang切换目录至/data_disk/rabbitmq执行以下命令:# rpm -Uvh /home/download/erlang-21.2.3-1.el7.centos.x86_64.

2020-12-29 11:01:05 11520 5

转载 Springboot — 用更优雅的方式发HTTP请求(RestTemplate详解)

Springboot — 用更优雅的方式发HTTP请求(RestTemplate详解)

2020-12-23 17:03:40 1254

原创 在目标字符串左边补零,使之达到预期长度

在目标字符串左边补零,使之达到预期长度 /** * 在字符串的左边补零,使之达到指定长度 * 例子: 123 转化成 0123 * @param str 输入的字符串 * @param expLen 预期的字符串长度 */ public static String fillZero(String str, int expLen) throws Exception{ byte[] expByte = new byte[expLe

2020-12-11 17:08:00 5932

原创 js朴实无华的实现网页截图功能 小心promise 小心SecurityError

需求ie11 浏览器截取网页指定区域生成图片,拱用户另存为文件准备需要引入的js文件:html2canvas.js当ie版本过低提示promise相关的异常时 需要引入bluebird.js提取码都是:1234相关代码 需要引入的文件: <script src="/NT/resources/js/html2canvas.js"></script> 当ie版本过低提示promise相关的异常时 <script src="/NT/resources/js/b

2020-11-30 12:14:00 9184

原创 正则表达式 密码 需包含字母数字特殊字符

要求密码必须包含字母、数字和特殊字符,且长度要在8位以上方案var reg = /(?=.*[a-z_])(?=.*\d)(?=.*[^a-z0-9_])[\S]{8,}/i; 具体解释(?=.*[a-z_]) :匹配至少一个a-z和下划线中的字符(?=.*\d):匹配至少一个数字(?=.*[^a-z0-9_]):匹配至少一个非字母数字且非下划线的字符[\S]:匹配任意字符{8,}: 长度大于8/i: 无视大小写关于正则表达式的详细介绍:正则表达式知识详解...

2020-11-13 16:42:27 18825

原创 Node.js 的安装 以及NPM的 配置

Node.js 的安装 以及相关配置文件准备使用版本:node-v8.11.3-x64.msi链接: 百度云提取码:5g77具体步骤傻瓜式安装cmd控制台查看相关信息node -v 查看安装的node的版本信息npm -v 查看node附带的包管理工具 3. 由于npm使用的是外国的地址,下载较慢,需要使用nrm镜像下载npm install nrm -g 全局安装nrm包nrm -ls 查看所有的镜像PS: * 为当前正在使用的镜像,我们需要切换成国内的地

2020-11-11 18:06:18 9395 1

转载 Oracle 数据库表空间的使用情况

查看Orcale数据库表空间的使用情况SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",F.TOTAL_BYTES "空闲空间(M

2020-10-30 14:12:58 1321 1

原创 ORCALE 删除用户 提示无法删除当前连接的用户 PLSQL

ORCALE 删除用户1、通过相关语句进行删除a. 直接删除: drop user xx cascade;b. 提示无法删除当前连接的用户 --锁定用户(防止再有其他连接产生) alter user XXX account lock; --查询进程号 (获取sid,serial;注意大小写) SELECT * FROM V$SESSION WHERE USERNAME='XXX'; --删除对应的进程 alter system kill session 'sid,serial' -

2020-10-30 10:52:04 16875 9

原创 运用远程工具MobaXterm 远程连接虚拟机上的CentOS7

在虚拟机上获取本机地址[root@localhost mysql]# ifconfig -a可以看到:![在这里插入图片描述](https://img-blog.csdnimg.cn/20200927164758845.png#pic_center打开工具:MobaXterm使用工具访问虚拟机:相关功能:

2020-09-27 16:53:31 5644

原创 如何在已建好的数据表中新增一个字段并做注释

在已建好的数据表中新增一个字段并做注释目的:在已经建好的数据表USER中,新增一列数据DAN varchar2(10),并做注释相关语句:alter table USER add (DAN VARCHAR2(10));comment on column USER.DAN is '段位';相关延伸:删除一个字段alter table USER drop column DAN ;...

2020-09-01 10:30:12 1704

原创 PLSQL提示:ORA-01658: 无法为表空间XXX段创建 INITIAL 区

PLSQL提示:ORA-01658: 无法为表空间XXX段创建 INITIAL 区如图:原因:原本分配的表空间不够了,需要进行扩充解决方案:设置表的空间可以自动扩充(也可以扩充指定大小的空间,可参照参考文章)步骤:获取表空间的存储位置select * from dba_data_files根据获取到的地址对表空间设置其自动扩充ALTER DATABASE DATAFILE ‘E:\ORADATA\NT\MOF.DBF’ AUTOEXTEND ON NEXT 200M MAXS

2020-09-01 10:16:07 9984 1

原创 DWR请求数据的方式异步变同步

问题:dwr请求信息默认是异步的,导致后台请求还没有返回数据,前台页面就已经构造完毕,造成的效果就是页面数据并没有实时刷新解决方案:将请求调整为同步要设置全局同步机制: DWREngine.setAsync(true);或者设置单次调用同步:Service.method(params, { callback:function(data) { … }, async:false });具体效果:原代码: GET_INFO_DWR.getInfo(id, function(data) {

2020-08-20 20:18:59 4734 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除