![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络开发
文章平均质量分 94
杨铮的技术博客
这个作者很懒,什么都没留下…
展开
-
微服务架构技术调研<3>--微服务架构实践
引言:由于公司商业上有实打实的需求和场景,倒逼产品开始思考架构升级,以适应这种商业环境的快速变化。架构师在进行技术选型或者架构升级前,需要做大量技术调研、竞品分析,《微服务架构综述》则是对服务化架构技术调研产生的调研报告,将会从如下三个角度分析微服务架构的“前生今世”,从而为产品团队的技术转型找到一些理论依据:什么是微服务架构,其与传统架构区别联系 为什么要向微服务架构转型 微服务架构实践#微服务架构实践##选择框架的标准[8]微服务有着多种框架可供挑选,在挑选合适的框架时,可以把以下原创 2022-05-08 20:03:27 · 1252 阅读 · 1 评论 -
微服务架构技术调研<2>--为什么要向微服务架构转型
#为什么要向微服务架构转型##为什么需要技术架构升级?《人人都是架构师》书中给出的架构升级的建议[4]:齐商银行决定行级系统向微服务架构转型报告中提到的原因[5]:(一)各应用系统之间功能和数据相互孤立,存在功能重复建设和数据不对称的现象,难以满足多场景、快速迭代的业务发展需要;(二)单体系统内部紧耦合,需求升级对其他功能模块的影响难以评估,加大了开发、测试的工作量和周期;(三)集中式架构高可用性不足,所有业务都运行在一台主机设备上,一旦发生故障就可能影响到业务的连续性。..原创 2022-05-08 19:26:47 · 516 阅读 · 0 评论 -
微服务架构技术调研<1>--什么是微服务架构,其与传统架构区别联系
#什么是微服务架构,其与传统架构区别联系##微服务架构定义微服务的概念最早是在2014年由Martin Fowler和James Lewis共同提出###Martin Fowler本人主页对微服务描述The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process原创 2022-05-08 19:08:59 · 1821 阅读 · 0 评论 -
ONVIF专题--Onvif标准解读(3)--Core Spec::Device Management(1)
1 总览ONVIF设备管理标准分为如下子标准,其中前5个是ONVIF设备必须实现的,后面2个是可选操作 Capabilities ONVIF设备能力集相关API Network 网络相关API System 系统配置相关API Security ...原创 2019-11-09 00:25:42 · 2741 阅读 · 0 评论 -
ONVIF专题--RTSP
1 RTSP简介RTSP(Real Time Streaming Protocol)是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,RTSP的作用相当于流媒体服务器的远程控制。服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,...原创 2019-11-23 23:25:33 · 6016 阅读 · 0 评论 -
ONVIF专题--XML-Encryption
利用XML Signature, 消息的完整性(Integrity)得到了保证。回顾之前提到的安全的三个基本概念: Integrity, Confidentiality, Authentication, 现在该考虑消息的机密性的问题。虽然签名可以保证消息在传送的途中没有被篡改,但是并不能避免它被偷取。如果消息没有经过加密,那么某个敏感的信息就会被泄漏。与XML-Signature类似...原创 2019-11-23 23:19:05 · 372 阅读 · 0 评论 -
ONVIF专题--Xml-Signature
1 签名类型包封式:签名封装在被签名数据中,一起发往接收端 分离式:签名和被签名数据分离发送的2 XML的数字签名格式 <Signature> <SignedInfo> <CanonicalizationMethod/> 规范化方法,用于去除空格和其他格式 <SignatureMeth...原创 2019-11-22 21:54:55 · 690 阅读 · 0 评论 -
ONVIF专题--WS-Security
1 概述本文档中使用了下列名称空间: 前缀 名称空间 s http://www.w3.org/2001/12/soap-envelope soap根nm,定义soap中最基本Envelope、Header、Body、Fault等数据结构 ds ...原创 2019-11-15 23:57:11 · 1084 阅读 · 0 评论 -
ONVIF专题--Onvif标准解读(2)--Core Spec::Device Discovery(3)
前文ONVIF专题--Onvif标准解读(2)--Core Spec::Device Discovery(1)ONVIF专题--Onvif标准解读(2)--Core Spec::Device Discovery(2)1 gsoap产生代码文件分析经过 Onvif标准解读(2)--Core Spec::Device Discovery(2) 步骤产生了代码文件如下: stds...原创 2019-11-09 00:14:46 · 450 阅读 · 0 评论 -
腾讯Iot操作系统 TencentOS tiny 研究
1 TencentOS tiny 系统简介1.1 产品特性腾讯物联网操作系统(TencentOS tiny)是腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,可裁剪等特性。 TencentOS tiny 可以有效减少开发人员在任务管理、硬件支持、网络协议支持、安全方案以及文件系统、 KV 存储、在线升级等常用功能组件相关的开发中所需要的时间和工作量。1.2 产品优...原创 2019-11-03 16:29:18 · 6584 阅读 · 0 评论 -
ONVIF专题--Onvif标准解读(2)--Core Spec::Device Discovery(2)
相关文章:ONVIF专题--Onvif标准解读(2)--Core Spec::Device Discovery(1)ONVIF专题--Onvif标准解读(2)--Core Spec::Device Discovery(3)gSoap实现ONVIF的设备发现1 依赖ONVIF相关的WSDL文件,对于设备发现,只需要用到remoteDiscovery.wsdl[http://www.onv...原创 2019-11-02 22:57:11 · 519 阅读 · 1 评论 -
ONVIF专题--Onvif标准解读(2)--Core Spec::Device Discovery(1)
相关文章:ONVIF专题--Onvif标准解读(2)--Core Spec::Device Discovery(2)ONVIF专题--Onvif标准解读(2)--Core Spec::Device Discovery(3)ONVIF--WS-Discovery specWS-Discovery 全名为 Web Service Dynamic Discovery本篇针对 WS-Disco...转载 2019-11-02 22:48:42 · 1177 阅读 · 0 评论 -
ONVIF专题--ONVIF标准解读(1)
ONVIF标准解读(1)本文通过解读ONVIF组织官网,解释ONVIF标准三大核心概念(Profiles、Specifications、Conformance)0 名词解释Profiles ONVIF profiles make it easy to recognize how ONVIF conformant devices and clients are compati...原创 2019-10-28 00:37:33 · 2189 阅读 · 0 评论 -
ONVIF专题--生成ONVIF开发框架
1 onvif协议wsdl文件获取onvif标准的通讯协议基于soap协议。onvif官网可以下载定义其协议内容的wsdl文件,这些文件描述了onvif通讯协议正文格式、数据类型等。wsdl文件下载地址:https://www.onvif.org/profiles/specifications/。有了描述协议的wsdl文件,我们利用gsoap工具,便可以自动产生基于onvif协议的通讯...原创 2019-10-26 22:09:28 · 664 阅读 · 0 评论 -
ONVIF专题--ONVIF标准概述
作者申明:本博文是对ONVIF标准基本情况的介绍,内容来源于对网上各种资料的整理。1 ONVIF标准背景1.1 标准形成2008年5月,由安讯士(AXIS)联合博世(BOSCH)及索尼(SONY)公司三方宣布携手共同成立一个国际开放型网络视频产品标准网络接口开发论坛,取名为ONVIF(Open Network Video Interface Forum,开放型网络视频接口论坛),并以公...原创 2019-10-26 21:45:17 · 3163 阅读 · 0 评论 -
linux程序性能数据采集方案
1 背景因公司需要对开发的软件进行性能测试,需采集并记录测试过程中程序及系统的性能数据,包括cpu使用率、内存使用率、磁盘使用率等,方便开发人员对程序的性能表现进行分析。监控程序要求能够运行在x86或者Arm嵌入式平台上的linux系统,采集性能数据的程序须尽可能轻量化和可定制,于是个人利用工作之余设计本方案。为了使用者能够实时查看到监视目标的 运行情况,方案选择C/S架构实现功能。性能采...原创 2019-10-19 18:22:21 · 1695 阅读 · 0 评论 -
muduo库源码分析2——QueryServer服务器启动流程
muduo网络库中,基于google::protobuf数据标准的网络服务器实例,放在example/protobuf/codec中。QueryServer服务器的功能:1) 接收客户端Tcp连接及收发数据2) 从Tcp数据报中解析出protobuf::message数据报3) 解析message并分发不同请求 根据muduo设计模式,以上每一个功能均可以看做网络服务中的一层。如处...原创 2018-06-03 23:59:16 · 416 阅读 · 0 评论 -
muduo库源码分析3——muduo事件循环分析
muduo事件循环分析 muduo网络库网络I/O模型为非阻塞reactor模式。使用linux的epoll或poll系统调用,轮寻多个socket,然后利用事先注册的事件句柄处理发生事件的套接字。muduo中一个thread与一个EventLoop绑定,即“one-loop-per-thread”模式,线程的主循环核心代码:while(1){ 1) poller_->pol...原创 2018-06-04 00:01:46 · 407 阅读 · 0 评论 -
muduo库源码分析4——TcpServer线程池分析
TcpServer线程池分析muduo库支持线程池处理io功能。即一个TcpServer除了具备一个用于接受连接请求和处理定时器的主线程事件循环EventLoop*loop_外,还具备一个EventLoopThreadPool*threadPool_线程池对象用于存储若干io线程事件循环。其中,boost::ptr_vector<EventLoopThread&...原创 2018-06-04 14:47:24 · 241 阅读 · 0 评论 -
高性能网络库分析1——libevent
libevent事件循环分析libevent库事件循环封装在event_base_loop()函数中,函数的主循环流程:while(1){ if(base中有事件或loop需要阻塞){ timeout_next(base, &tv_p); // 从timer heap中取根节点的超时时间,作为IO复用的阻塞等待时间tv_p(tv_p指向tv) } else // 无需阻塞...原创 2018-07-05 00:19:11 · 1159 阅读 · 0 评论 -
linux网络程序设计——7 I/O多路复用epoll模型
6.4 I/O多路复用epoll模型epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。6.4.1函数原型epoll操作过程需要三个接口 #i...原创 2018-07-17 22:49:21 · 459 阅读 · 0 评论 -
linux网络程序设计——1 socket的概念
在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket。 在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接。socket本身有“插座”的意思,因此用来描述网络连接的一对一关系。 TCP/IP协议最早在BSD UNIX上实现,为T...原创 2018-07-15 22:58:51 · 796 阅读 · 0 评论 -
linux网络程序设计——2 网络模型
2 C/S模型-TCP大部分进程间通信使用客户端-服务器模型。进程间通信指的是两个进程之间相互通信,其中,客户端进程连接服务器进程,通常是发出数据请求。一个很好的比喻是一个人给另一个人打电话,打出电话的人就好比客户端,接电话的人就好比服务器。有两点需要注意,第一,客户端需要知道服务器是否存在,如果服务器存在,服务器的地址是多少;但是在客户端连接服务器之前,服务器并不需要知道客户端的地址(甚至客户端...原创 2018-07-15 23:04:33 · 345 阅读 · 0 评论 -
linux网络程序设计——3 socket属性设置
5 linux socket网络编程之socket属性5.1函数用法#include <sys/types.h> #include <sys/socket.h>int getsockopt(int sockfd, int level, intoptname, void *optval, socklen_t *optlen);//函数用于获得某个套接字的属性i...原创 2018-07-15 23:10:27 · 2789 阅读 · 0 评论 -
linux网络程序设计——4 socket非阻塞模式
多路复用机制,是的可以同时监听多个套接字连接。IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 (3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到...原创 2018-07-15 23:16:03 · 1547 阅读 · 0 评论 -
linux网络程序设计——5 I/O多路复用select模型
6.2 I/O多路复用select模型6.2.1函数原型该函数准许进程指示内核监听多个文件描述符中产生事件的fd,并在有一个或多个事件发生或经历一段指定的时间后才唤醒。函数原型如下:/* According to POSIX.1-2001, POSIX.1-2008 */ #include <sys/select.h> #include <sys/time.h> ...原创 2018-07-15 23:19:57 · 620 阅读 · 0 评论 -
linux网络程序设计——6 I/O多路复用poll模型
6.3 I/O多路复用poll模型poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制。poll和select同样存在一个缺点就是,包含大量文件描述符的数组被整体复制于用户态和内核的地址空间之间,而不论这些文件描述符是否就绪,它的开销随着文件描述符数量的增加而线性增大。6.3.1 函数原...原创 2018-07-15 23:28:51 · 395 阅读 · 0 评论 -
muduo库源码分析1——ChargenServer服务器启动流程
ChargenServer服务器启动流程在使用TCPServer时,用户需要注册connectionCallback_,messageCallback_,writeCompleteCallback_三个事件句柄,每当TCPServer中新构造一个新Acceptor对象。其构造函数会先初始化Channel成员对象acceptChannel_(loop, acceptSocket_.fd()),然后调...原创 2018-06-03 23:42:48 · 509 阅读 · 0 评论