网络与数据库
xunshuidezhu
这个作者很懒,什么都没留下…
展开
-
开源网络库owl分析(一)reactor模式分析
代码地址:https://github.com/xunshuidezhu/owlowl是本人开发的一个基于reactor架构的网络库,包含了reactor模型,日志库,协程库,http模块,计时器,采用epoll LT模式,配合协程的使用,可以轻松实现异步网络io,而不必采用非阻塞io+epoll的多线程并发模型.网络库的核心模型为reactor模式,主要有demultiplexer也就是...原创 2019-12-05 15:47:08 · 628 阅读 · 1 评论 -
生产者消费者与阻塞队列
队列以及锁和条件变量的封装,注意队列的阻塞在生产者消费者代码中实现,代码中的队列只负责任务的生产消费场所#include <bits/stdc++.h>#include <pthread.h>#include <unistd.h>using namespace std;struct Data { int data;};class...原创 2019-12-05 15:33:37 · 152 阅读 · 0 评论 -
k-v存储引擎设计
存储引擎设计存储引擎会设计成k-v,也就是键值对,按时间序列和图像帧以及雷达帧进行存取。核心数据结构采用跳表-哈希表-双向链表,具体分为时间序列-帧序列跳表,通道号(根据通道号可分辨雷达数据or图片数据)哈希表,数据存储链表。时间序列-帧序列跳表的key会分为2个级别,第一个级别的key存储的是时间序列,由于同一时间序存在多个帧序列,而帧序列可以看成时间序列的子序列,因此按第一级跳表可以找到某...原创 2019-10-31 15:46:19 · 591 阅读 · 0 评论 -
应用层协议设计
应用层报文协议设计为了让数据能够按时间序列存储以及按时间序列设计索引取出数据,并且能够在应用层对数据包进行校验,能够用过状态机编程以实现数据的检验,重传,成功发送等多种状态。具体设计如下:时间戳字段,字段名time_stamp, 数据格式 time_t, 由七个uint16_t构成的结构体,分别表示年-月-日-时-分-秒-毫秒。时间戳字段一方面用于作为数据传输的校验功能,另一方面用于数...原创 2019-10-31 15:43:44 · 1515 阅读 · 0 评论 -
负载均衡
开头先理解一下所谓的“均衡”不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的承载能力各不相同,这可能体现在硬件配置、网络带宽的差异,也可能因为某台服务器身兼多职,我们所说的“均衡”,也就是希望所有服务器都不要过载,并且能够最大程序地发挥作用。一、http重定向当http代理(比如浏览器)向web服务器请求某个URL后,web服务器可以通过http响应头信息中的Location标...原创 2019-06-10 19:32:07 · 94 阅读 · 0 评论 -
HTTP长连接与短连接
HTTP长连接、短连接究竟是什么?1. HTTP协议与TCP/IP协议的关系HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。 IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠地传递数据包,使得网络上接收端收到发送端所发出的所有包,并且顺序与发送顺序一致。TCP协议是可靠的、面向连接的。2. 如何理...原创 2019-06-10 19:33:16 · 135 阅读 · 0 评论 -
reactor模式与事件驱动
https://blog.csdn.net/baidu20008/article/details/41378761转载 2019-07-14 13:48:24 · 297 阅读 · 0 评论 -
udp实现可靠传输
做项目正好需要用可靠传输UDP来做传输层,基本思路还是在应用层模仿TCP,超时重传,滑动窗口等机制,三次握手,四次挥手过于复杂,简化成了2次握手,仅确认SEQ或者ACK,如果没有收到正确的报文则重传报文。数据包在发送之前会先存到数据队列,实现缓存,每次发包从数据去取,超时重传时间,超时重传最大次数也要设置,以防止进程被阻塞。...原创 2019-07-23 22:00:48 · 277 阅读 · 0 评论 -
脏读,幻读,不可重复读
脏读:事务A读到了事务B未提交的数据。脏读:指一个事务读取了另外一个事务未提交的数据。不可重复读:事务A第一次查询得到一行记录row1,事务B提交修改后,事务A第二次查询得到row1,但列内容发生了变化。幻读:事务A第一次查询得到一行记录row1,事务B提交修改后,事务A第二次查询得到两行记录row1和row2。...原创 2019-08-21 17:04:43 · 85 阅读 · 0 评论