- 博客(336)
- 资源 (41)
- 收藏
- 关注

原创 关于健康吗、核算检测等系统高并发问题的一些思考
针对某地出现的***和*****系统并发访问的性能问题,总结了一下自己的想法,并按照自己的理解设计了一套实现架构,并列出了该架构的部署方式和运维思路。
2021-12-29 22:45:06
3080

原创 关于物模型的一些理解和总结
1、模型是什么?模型是实体对象数字化建模后的结果,建模就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述,它跟建模对象的使用密切相关。即便同一个客观对象,不同的使用场景,就可以有不同的建模!2、物联管理平台的物模型概念物模型中“物”指什么?在消费物联网领域中,边缘应用较少,通常一个连接对应一个设备,即其架构形式为:物联管理平台(或物联管理组件)<——>设备,平台与设备之间直接进行通信,此时,平台(或组件)管理的对象就是一个单一设备,因此这里的物通常指设备,物模型就是对所
2021-03-25 17:13:39
7825
2
原创 基于mosquitto快速构建支撑海量设备的物联网接入平台
本文对应的论文已经发表,对应专利已经授权!转载及使用请与作者沟通。 该方案采用组件化(服务化)设计与开发,上、下行通道分离,各服务可自由组合、支持设备端根据业务场景进行多种方式上报数据,下行通道主要用于和终端设备之间保持长连接,让消息能够快速、必达设备端。 为什么要采用上下行分离的方式?最主要原因是上下行的使用场景不同,对传输通道的要求不同。一般下行用于下发控制指令,要求数据能及时送达终端,并且要保证消息不丢,因此下行系统需要与设备端保持长连接,它必须具备承载及处理大量连...
2021-10-25 15:00:40
2773
原创 MQTT协议简介
这里写自定义目录标题欢迎使新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何
2021-03-17 10:45:56
1028
转载 uthash官方使用说明文档
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><!-- saved from url=(0063)http://troydhanson.github.io/uthash/userguide.html#_a_hash_in_c --><html xmlns="http://www.w3.org/1999/xhtml" xml:l.
2020-08-26 14:58:44
2017
原创 windows 笔记本连接公共wifi不弹出登录页面的处理办法
1、设置IP地址和DNS为自动获取;2、如果设置了DNS“自动获取”还是没有弹出登录页面,使用windows电脑的朋友可以试试清除一下DNS的cache。打开cmd(Win+R,输入cmd),在命令行中输入:ipconfig /flushdns...
2020-05-25 08:58:29
38313
原创 c++随笔
1、关键字explicitC++隐式类类型转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。《C++primer》p394;关键字explicit可以禁止“单参构造函数”被用于自动类型转换。例如: Class CAge1 { int m_iAge; public: age(int iAge){m_i...
2019-09-29 12:08:05
657
原创 linux g++ undefined reference to `dlopen'类问题
main.cpp:(.text+0x19): undefined reference to `dlopen'main.cpp:(.text+0x22): undefined reference to `dlerror'main.cpp:(.text+0x62): undefined reference to `dlsym'需要在编译时加上-ldl。将原来的编译命令:g++ cfgfile.cpp...
2019-09-29 12:06:45
1299
原创 linux so 库的生成与调用
本文主要通过导出一个log文件操作的类,来说明linux下so库的生成与调用。先说明一下本文中的几个文件和其作用:1)ilogfile.h主要用于定义Clogfile类的借口和声明一个C风格的create导出函数,该文件为导出文件,在用g++编译的时候需放在最前面。2)logfile.h 主要定义了Clogfile类的头文件。3)logfile.cpp 主要提供了Clogfile类的定义。...
2019-09-29 12:03:00
1221
原创 c++提取子串
下面的函数GetSub可以从源字符串srcStr中获取所有以begPtn开始且以endPtn结束的子串,并将所获取的子串保存到vector里,例如可以从字符串"sadfasdfsf#sdaf989789$#asdfasf894325445$#456123asdf$"中获取以“#”开头,以“$”结束的所有子串。#include <iostream>#include <st...
2019-09-29 12:00:21
3383
原创 eclipse android 开发问题:No active compatible AVD's or devices found
[2012-10-24 21:16:49 -] Android Launch![2012-10-24 21:16:49 -] adb is running normally.[2012-10-24 21:16:49 -] Performing com.example.testsocket_client2.MainActivity activity launch[2012-10-24 2...
2019-09-29 11:59:25
776
原创 ubuntu下安装与使用Log4cpp
ubuntu下安装与使用Log4cpp1、下载版本:log4cpp-1.1rc3.tar.gz, 该版本中没有1.0版本的那些bug,不需修改,下载地址:http://sourceforge.net/projects/log4cpp/2、解压下载的压缩文件:log4cpp-1.1rc3.tar.gz,可以使用命令行,或者右键压缩包,在弹出菜单项中选择“解压至此处”3、解压后的文件夹名为lo...
2019-09-29 11:57:53
2398
1
原创 运动轨迹插值法 改进版
本算法优点:1、新插入点时,能保证插值曲线与历史曲线保持光滑连接;2、本算法在插值时没有延迟,现有的抛物线插值算法有一个点的延迟3、算法思路,以历史初速度的方向为起始速度方向,通过调整运动时间(对应本算法中的插值点数),即可调节插值轨迹//获取点(x1,y1)和(x2,y2)之间的距离float GetLen(float x1,float y1, float x2, floa...
2019-09-29 11:55:12
2123
原创 MFC 常见窗口操作
1、改变窗口大小或全屏窗口可用下面的代码:MoveWindow(hDlg,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),TRUE);2、去掉窗口的边框可用下面的代码:LONG nStyle= GetWindowLong( hDlg, GWL_STYLE);LONG newStyle= nStyle ...
2019-09-29 11:50:24
1456
原创 通过窗口名字(caption的内容)查找窗口,并将其隐藏或者置顶显示
1、下面的代码可以通过窗口的名字找到置顶的窗口对象CWnd*m_TestWnd = FindWindow(NULL,_T("Hello,Test window"));if (NULL !=m_TestWnd){m_TestWnd->ShowWindow(SW_HIDE);}上述代码可以将窗口隐藏,如果将隐藏的窗口显示则调用ShowWindow(SW_S...
2019-09-29 10:57:43
1837
原创 MFC中将窗口最小化到系统托盘和还原
通过以下步骤可以在MFC程序中将窗口最小化到系统托盘,和还原成窗口,附加代码中如有特殊说明则会用红色标出。1、添加一个ICON图标,其ID为IDI_ICON_TESTICON,在VS2008坐标的Resource View(资源视图)中添加,该图标主要用于在托盘区显示;在头文件中定义添加托盘图标的消息号(用户所有对托盘的消息将对应此消息号):#define WM_ICON_NOTIF...
2019-09-29 10:57:02
1358
原创 MFC模态与非模态对话框的创建与销毁
1、模态对话框的创建(1)添加新的模块对话框资源,在ResourceView标签中右键项目选择“add resource...”,添加一个对话框资源,并修改其ID(主要为了方便后续操作),例如修改为IDD_DLG_TEST1。(2)为该新添加的窗口创建新类CDlgTest1(3)创建模态对话框:* 定义一个CDlgTest1类的指针m_pDlgTest1.* 为类m_pDlgT...
2019-09-29 10:55:26
795
原创 Mosquitto安装及使用简介
1、源码下载:(1)官方源码下载:http://mosquitto.org/files/source/(2)性能优化版源码下载:https://github.com/houjixin/mosquitto-1.4.11-opt(3)性能优化版优化方案:https://blog.youkuaiyun.com/hjx_1000/column/info/mqtt2、编译解压下载的压缩包后会生...
2019-08-20 12:19:36
4839
原创 redis使用技巧
1、redis使用技巧:用好redis要充分了解其工作原理,不要把它当成一个透明的盒子。(1)key设计,以“:”作为分割符,加上服务简称,例如:服务简称(不超过5个字符):实际key总体key不易太长(2)必须使用连接池;要么不用redis要么就全程连接池,否则会有3-5倍的差异(3)架构上的三级存储:程序内部缓存,redis缓存(第三方独立缓存),数据库,数据仓库(历史数据)...
2019-08-15 10:07:40
892
1
原创 MFC通过窗口名字(caption的内容)查找窗口,并将其隐藏或者置顶显示
1、下面的代码可以通过窗口的名字找到置顶的窗口对象CWnd*m_TestWnd = FindWindow(NULL,_T("Hello,Test window"));if (NULL !=m_TestWnd){m_TestWnd->ShowWindow(SW_HIDE);}上述代码可以将窗口隐藏,如果将隐藏的窗口显示则调用ShowWindow(SW_S...
2019-08-05 15:16:57
2154
原创 运动轨迹插值法 改进版
本算法优点:1、新插入点时,能保证插值曲线与历史曲线保持光滑连接;2、本算法在插值时没有延迟,现有的抛物线插值算法有一个点的延迟3、算法思路,以历史初速度的方向为起始速度方向,通过调整运动时间(对应本算法中的插值点数),即可调节插值轨迹//获取点(x1,y1)和(x2,y2)之间的距离float GetLen(float x1,float y1, float ...
2019-08-05 15:15:31
2525
转载 LVS简介及使用
一.LVS是什么?LVS的英文全称是LinuxVirtualServer,即Linux虚拟服务器。它是我们国家的章文嵩博士的一个开源项目。在linux内存2.6中,它已经成为内核的一部分,在此之前的内核版本则需要重新编译内核。二.LVS能干什么?LVS主要用于多服务器的负载均衡。它工作在网络层,可以实现高性能,高可用的服务器集群技术。它廉价,可把许多低性能的服务器组合在一起形成一个超级...
2019-04-01 11:35:17
850
转载 使用LVS实现负载均衡原理及安装配置详解
使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群。常用的负载均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡设备F5、Netscale。这里主要是学习 LVS 并对其进行了详细的总结记录。一、负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分...
2019-04-01 11:24:20
445
转载 Nginx配置文件解读
版权声明:如有转载请注明作者 https://blog.youkuaiyun.com/zr006009/article/details/85232121Nginx配置参数中文说明。#定义Nginx运行的用户和用户组user local XXX;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8;#全局错误日志定义类型,[ debug | info | ...
2019-03-30 09:10:16
586
原创 如何让Mosquitto动态加载配置文件
欢迎加入QQ群:221779856,国内最活跃的Mosquitto沟通社区,关于MQTT、Mosquitto、IM、推送系统、物联网、高并发处理等技术。Mosquitto的动态加载配置文件目前只有支持SIGHUP信号的linux系统支持(可使用Kill命令发送);其内部实现原理如下:在源代文件src/mosquitto.c代码里,自定义了针对SIGHUP信号的处理函数handle...
2019-03-20 10:45:05
1973
1
原创 Mosquitto感知客户端上下线的方法
欢迎加入QQ群:221779856,国内最活跃的Mosquitto沟通社区,关于MQTT、Mosquitto、IM、推送系统、物联网、高并发处理等技术。需要让设备上mqtt客户端配合来完成。1、怎么知道设备下线?异常断线(Mosquitto没有收到MQTT 的DISCONNECT报文)时,使用遗嘱机制,mqtt客户端在建立mqtt连接的时候,设置遗嘱(向什么topic发送什么数据...
2019-03-20 10:26:12
12241
原创 开启Mosquitto系统topic功能
mosquitto的系统topic主要是以$SYS开头的topic,这些topic只能mosquitto自己发送,客户端只能订阅,无法发送;mosquitto的系统topic主要用于mosquitto对外发布一些自身状态的消息,例如当前客户端连接数量等等,如下所示:当前mosquitto维持的客户端数量:$SYS/broker/clients/total当前mosquitto维护的活跃的客...
2019-02-20 11:32:36
5999
原创 mosquitto的多端口机制及其使用
欢迎加入QQ群:221779856,国内最活跃的Mosquitto沟通社区,关于MQTT、Mosquitto、IM、推送系统、物联网、高并发处理等技术。一、mosquitto多端口机制的说明mosquitto的多端口机制是指它能够同时监听多个端口,通过配置文件“mosquitto.conf”可以看到它默认的监听端口的配置参数是port,而其他扩展监听端口的配置使用参数:listener,并...
2018-11-26 14:02:47
14357
转载 58 到家数据库 30 条军规解读
军规适用场景:并发量大、数据量大的互联网业务军规:介绍内容解读:讲解原因,解读比军规更重要 一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集解读:万国码,无需转码,无乱码风险,节省空间 (3)数据表、数据字段必须加入中文注释解读:N年后谁tm知道...
2018-10-23 15:55:00
537
转载 互联网支付系统整体架构详解
从产品分类、模块功能和业务流程,了解支付产品服务的设计。 支付产品模块是按照支付场景来为业务方提供支付服务。这个模块一般位于支付网关之后,支付渠道之前。 它根据支付能力将不同的支付渠道封装成统一的接口,通过支付网关来对外提供服务。所以,从微服务的角度来说,支付产品本身也是一个代理模式的微服务,它透过支付网关响应业务方请求, 进行一些统一处理后,分发到不同的支付渠道去执行,最后将执行结果做处...
2018-09-18 19:00:45
10919
1
原创 团队的目标:主动、快速与创新
最近在学习管理,《赋能》一书,对其思想没了解,虽然书快看完了,也没有get到点。该书以美军在伊拉克战争之后面临的团队组织问题以及通过打破团队界限,从而为团队注入新的活力。相反,今天看到一篇文章之后颇有感悟,该文章讲上次美国打伊拉克的战争中,伊拉克的坦克在掩体里防止被美军打击并待机大显身手,可是美军的空优非常明显,它从飞机上发射反坦克导弹,导致伊拉克的坦克全部被反坦克导弹击毁,毫无反手之力,就像...
2018-09-10 13:53:17
749
1
转载 mysql中timestamp,datetime,int类型的区别与优劣
int1. 占用4个字节2. 建立索引之后,查询速度快3. 条件范围搜索可以使用使用between4. 不能使用mysql提供的时间函数结论:适合需要进行大量时间范围查询的数据表 datetime1. 占用8个字节2. 允许为空值,可以自定义值,系统不会自动修改其值。3. 实际格式储存(Just stores what you have stor...
2018-09-08 11:58:33
2140
转载 什么是 B+ 树?
来源:伯乐专栏作者/玻璃猫,微信公众号 - 梦见(dreamsee321) 之前已介绍了 B 树的原理和应用,没看过的童鞋,请点击下面的链接:《》这一次我们来介绍 B+ 树。一个m阶的B树具有如下几个特征:1.根结点至少有两个子女。2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m3.每一个叶子节点都包含k...
2018-08-02 17:38:28
1305
1
原创 mosquitto支持websocket的使用方法
欢迎加入QQ群:221779856,国内最活跃的Mosquitto沟通社区,关于MQTT、Mosquitto、IM、推送系统、物联网、高并发处理等技术。mosquito的版本要大于1.4.2;1.修改配置:打开configure.mk中的WITH_WEBSOCKETS配置项,如下:WITH_WEBSOCKETS:=yes2.编译make3.安装webs...
2018-04-02 14:59:39
22519
3
原创 使用idea 打jar包
原文参考:https://blog.jetbrains.com/idea/2010/08/quickly-create-jar-artifact/?spm=a2c4g.11186623.2.10.aRzTRi1.选择"file"=>"Project Structure"2.依次选择"Artifacts" => "+" => "jar" => "From modules with dependen
2018-02-06 11:22:46
11069
转载 mysql事务和锁InnoDB
本文转自:http://hedengcheng.com/?p=7711 背景 11.1 MVCC:Snapshot Read vs Current Read 21.2 Cluster Index:聚簇索引 31.3 2PL:Two-Phase Locking 31.4 Isolation Level 42 一条简单SQL的加锁实现分
2017-12-07 14:39:10
669
原创 阿里云负载均衡器(SLB)的配置方法
1. 负载均衡器的配置,主要关注“监听”和“服务器”两个选项,如下图所示:2. 负载均衡器支持的两种协议SLB支持四层和七层两种负载均衡协议,四层负载基于lvs+keepalived来做,性能较高;七层在lvs基础上又加上了tengine,性能较低。在选择协议时,如果需要做七层负载,以http协议为例,如果要根据请求的URL做转发那就需要七层;否则就选择四层转发。目前ETFP后端的业务
2017-11-30 11:17:39
30840
转载 IntelliJ IDEA For Mac 快捷键
http://www.cnblogs.com/wxd0108/p/5295017.html Mac键盘符号和修饰键说明⌘ Command⇧ Shift⌥ Option⌃ Control↩︎ Return/Enter⌫ Delete⌦ 向前删除键(Fn+Delete)↑ 上箭头↓ 下箭头← 左箭头→ 右箭头⇞ Page Up(Fn+↑)⇟ Page Down(Fn+↓)Home Fn + ←End
2017-11-15 15:00:24
1351
转载 Spring是什么
原文转自:http://blog.youkuaiyun.com/lp1052843207/article/details/512530711.1.1.Spring是什么Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。应用程序是由一组相互协作的对象组成。而在传统应用程序开发中,一个完整的应用是由一组相互协作
2017-10-30 17:43:58
10874
2
原创 mac环境下配置gradle\maven
准备工作:先装好jdk,要求jdk的版本为1.7以上;一、gradle配置gradle只需要下载、解压缩、配置路径三步即可,官网介绍的方法就可以,其官网安装说明为:https://gradle.org/install/1.下载gradle:在安装介绍页面:https://gradle.org/install/ 中寻找下载包,我这里下载的4.2.1版本的二进制包,其路径为:https://servi
2017-10-30 16:30:13
3316
Mosq_Tester-20190722.zip
2020-02-01
mqtt-websocket的js测试客户端
2018-11-24
mosquitto-websocket-client
2018-03-15
mosquitto支持websocket的配置
2018-11-24
SimpleJava、Linux命令行、Java NIO (中文版)、Linux Performance and Tuning Guidelines
2015-01-04
C开源hash代码uthash
2013-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人