自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (2)
  • 收藏
  • 关注

转载 KVM中四种网络模型(三)

四种网络模型简要说明:1隔离模型该模型的特点是宿主机上的所有虚拟机之间可以组建网络,但是虚拟机无法与宿主机进行通信,也无法与其他网络的主机或其他宿主机上的虚拟机进行通信;相当于将虚拟机只是连接到一个交换机上,而这个交换机是在宿主机上虚拟出来的,即我们通常所说的网桥设备。2 路由模型该模型的特点是在隔离模型的基础上,在宿主机开启了ip路由转发功能,此时的宿主机相当于路由器,完成虚拟机与宿主机...

2020-04-30 23:07:09 1018

转载 KVM-QEMU基本工作原理分析(二)

1、理解KVM与Qemu的关系我们都知道开源虚拟机KVM,并且知道它总是跟Qemu结合出现,那这两者之间有什么关系呢?首先,Qemu本身并不是KVM的一部分,而是一整套完整的虚拟化解决方案,它是纯软件实现的,包括处理器虚拟化、内存虚拟化以及各种虚拟设备的模拟,但因为是纯软件模拟,所以性能相对比较低。而广义的KVM实际上包含两部分,一部分是基于LINUX内核支持的KVM内核模块,另一部分就是经...

2020-04-30 22:44:45 1890

转载 KVM虚拟化(一)

一、KVM虚拟化架构1、主流虚拟机架构图中对比了几种主流虚拟化技术架构:ESXi、Xen与KVM,其主要差别在与各组件(CPU、内存、磁盘与网络IO)的虚拟化与调度管理实现组件有所不同。在ESXi中,所有虚拟化功能都在内核实现。Xen内核仅实现CPU与内存虚拟化, IO虚拟化与调度管理由Domain0(主机上启动的第一个管理VM)实现。​KVM内核实现CPU与内存虚拟化,QEMU实现IO虚拟化...

2020-04-30 20:57:43 2906

原创 leetcode算法题--矩阵区域和

原题链接:https://leetcode-cn.com/problems/matrix-block-sum/相关题目:二维区域和检索 - 矩阵不可变动态规划:sums[i][j]表示以(i,j)为右下角的正方形里元素总和转移方程:见二维区域和检索 - 矩阵不可变vector<vector<int>> sums;inline int sumRegion(in...

2020-04-30 15:42:36 382

原创 leetcode算法题--统计全为 1 的正方形子矩阵

原题链接:https://leetcode-cn.com/problems/count-square-submatrices-with-all-ones/相关题目:最大正方形动态规划:dp[i][j][k]表示以(i,j)为右下角的边长为k的正方形是否全为1状态转移:dp[i][j][k]=1 if dp[i][j][1]&&dp[i-1][j][k-1]&amp...

2020-04-30 09:43:18 285

原创 leetcode算法题--可被三整除的最大和

原题链接:https://leetcode-cn.com/problems/greatest-sum-divisible-by-three/动态规划dp[0]存储余数为0的最大和dp[1]存储余数为1的最大和dp[2]存储余数为2的最大和状态转移:dp[0]+=nums[i];dp[1]+=nums[i];dp[2]+=nums[i]; if num[i]%3...

2020-04-29 22:49:20 904

原创 leetcode算法题--飞机座位分配概率

原题链接:https://leetcode-cn.com/problems/airplane-seat-assignment-probability/下面来介绍背后的原理。实际上,这是一个递归的问题。给n位乘客编号,1号乘客的座位号为1,如此类推。不妨假设按乘客编号顺序入座。1号乘客忘记了自己的座位号,所以他准备随机入座。将出现三种情况。情况一,1号乘客恰好坐到了1号座位,后续乘客将陆续入座...

2020-04-29 20:23:51 971

转载 DPDK加速I/O虚拟化

相关文章:I/O虚拟化介绍DPDK支持半虚拟化的前端virtio和后端vhost,并且对前后端都有性能加速的设计.而对于I/O透传,DPDK可以直接在客户机里使用,就像在宿主机里,直接接管物理设备,进行操作。Virtio网络设备Linux内核驱动设计Virtio网络设备Linux内核驱动主要包括三个层次:底层PCI-e设备层,中间Virtio虚拟队列层,上层网络设备层。DPDK用户...

2020-04-29 15:44:12 432

转载 KVM中I/O虚拟化介绍(五)

I/O虚拟化包括管理虚拟设备和共享的物理硬件之间I/O请求的路由选择。目前,实现I/O虚拟化有三种方式:I/O全虚拟化、I/O半虚拟化和I/O透传。全虚拟化:宿主机截获客户机对I/O设备的访问请求,然后通过软件模拟真实的硬件。这种方式对客户机而言非常透明,无需考虑底层硬件的情况,不需要修改操作系统。半虚拟化:通过前端驱动/后端驱动模拟实现I/O虚拟化。客户机中的驱动程序为前端,宿主机提供的...

2020-04-27 23:36:25 1508

原创 leetcode算法题--掷骰子模拟★★

原题链接:https://leetcode-cn.com/problems/dice-roll-simulation/动态规划:dp[i][j][k]表示投掷第i次,点数为j,k表示连续次数状态转移:当j非连续出现时(即k==1时):dp[i][j][1]=sum(dp[i-1][!j][:])//j出现一次的组合数等于上一轮投出非点数j的所有情况和当j连续出现时(即k>1时...

2020-04-26 21:31:39 830

原创 leetcode算法题--最长定差子序列

原题链接:https://leetcode-cn.com/problems/longest-arithmetic-subsequence-of-given-difference/相关题目:最长等差数列1、动态规划(超时)按照最长等差数列方法int longestSubsequence(vector<int>& arr, int difference) { con...

2020-04-26 12:31:46 228

原创 leetcode算法题--K 次串联后最大子数组之和★

原题链接:https://leetcode-cn.com/problems/k-concatenation-maximum-sum/如图(盗图)记k==1,数组和为sum分情况讨论:当k == 1,对应第一种情况,输出最大子数组之和max_sub当k == 2,对应第二种情况,输出max(最大后缀和+最大前缀和,max_sub)当k > 2,对应第三种情况,这里又有两种情况:...

2020-04-24 23:35:32 218

原创 常见算法题目总结

1、链表反转链表两数相加2、栈扁平化嵌套列表迭代器逆波兰表达式求值3、树验证二叉树的前序序列化二叉搜索树迭代器二叉树的前序遍历二叉树的锯齿型层次遍历二叉树中序遍历迭代法求二叉树某个结点的祖先4、队列简化路径5、字符串Z字型变换6、字典两数之和解码方法...

2020-04-24 16:04:36 666

转载 NFV基础技术

网络虚拟化技术,即用软件来安装、控制、操作那些运行在通用硬件上的网络功能,融合了云和虚拟化技术,使得新一代网络业务拥有更好的伸缩性和自动化能力。这些新涌现的技术经常被不加区分地称为NFV(网络功能虚拟化)和SDN(软件定义网络),虽然二者有逐渐融合之势,但二者的初衷和架构并不相同:SDN起源于园区网,发展于数据中心,目的是将控制平面和转发平面分离,通过集中化的控制平面能够灵活定义网络行为。N...

2020-04-23 22:34:15 7137

原创 leetcode算法题--删除一次得到子数组最大和★

原题链接:https://leetcode-cn.com/problems/maximum-subarray-sum-with-one-deletion/1、穷举(超时)dp[i][j]表示arr[i:j]的子数组和代码:int maximumSum(vector<int>& arr) { int size=arr.size(); vector<...

2020-04-23 19:28:10 242

原创 leetcode算法题--掷骰子的N种方法

原题链接:https://leetcode-cn.com/problems/number-of-dice-rolls-with-target-sum/动态规划dp[i][k]表示前i个骰子,k表示目标数字状态转移dp[i][k]+=dp[i-1][k-j]代码:int numRollsToTarget(int d, int f, int target) { const in...

2020-04-23 16:35:19 1403

原创 leetcode算法题--石子游戏 II★★

原题链接:https://leetcode-cn.com/problems/stone-game-ii/相关题目:石子游戏动态规划:dp[i][j]表示在i~n-1堆石子中,最多拿前2*j堆时先手能拿到的最大数量,M为j状态转移://即假设对手选了前k堆,则先手得到的最大数量为max(总量-对手最多拿到的数量)dp[i][j] = max(dp[i][j], sum - dp[i +...

2020-04-23 11:22:57 197

原创 数组中子数组运算常见写法

子数组最大值 for(int j=0;j<size;j++){ int value=INT_MIN; for(int i=j;i>=0;i--){ value=std::max(value,A[i]); max[i][j]=value;//A[i:j]中最大值 }}子数组累加和for (int i = 0;...

2020-04-22 23:12:19 181

转载 HTTP1.0和HTTP1.1区别

原文链接:https://blog.csdn.net/hguisu/article/details/8608888

2020-04-22 20:59:57 126

转载 图解SSL/TLS协议

原文链接:https://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html

2020-04-22 20:33:25 200

转载 KVM半虚拟化驱动--virtio概述和基本原理(四)

一、 virtio概述KVM是必须使用硬件虚拟化辅助技术(如Intel VT-x、AMD-V)的hypervisor,在CPU运行效率方面有硬件支持,其效率是比较高的;在有Intel EPT特性支持的平台上,内存虚拟化的效率也较高。QEMU/KVM提供了全虚拟化环境,可以让客户机不经过任何修改就能运行在KVM环境中。不过,KVM在I/O虚拟化方面,传统的方式是使用QEMU纯软件的方式来模拟I/O...

2020-04-22 20:08:51 1674

原创 leetcode算法题--最大的以 1 为边界的正方形★

原题链接:https://leetcode-cn.com/problems/largest-1-bordered-square/和最大加号标志类似计算正方形的元素个数,就是计算正方形的最大边长,对于任何一个点(i,j),我们判断以它为左上角的正方形,四条边是否都为1即可,我们不用依次遍历,用累加和相减即可。代码:int largest1BorderedSquare(vector<v...

2020-04-22 15:30:37 201

原创 leetcode算法题--叶值的最小代价生成树

原题链接:https://leetcode-cn.com/problems/minimum-cost-tree-from-leaf-values/有点像矩阵连乘、多边形三角剖分的最低得分动态规划dp[i][j]表示arr[i:j]处的最大值状态转移dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+max[i][k]*max[k+1][j]);代码:...

2020-04-21 21:17:41 252

原创 leetcode算法题--填充书架★★

原题链接:https://leetcode-cn.com/problems/filling-bookcase-shelves/动态规划dp[i]表示第i本书之前最小高度状态转移:dp[i]=min(dp[i],dp[j]+h) 0=<j<i代码:int minHeightShelves(vector<vector<int>>& b...

2020-04-21 15:03:20 425

原创 leetcode算法题--最后一块石头的重量 II★

原题链接:https://leetcode-cn.com/problems/last-stone-weight-ii/这个题目可以转化成0-1背包问题,非常巧妙。把问题看成有两堆石头,求如何将使两堆石头尽可能接近sum/2,于是转化成0-1背包问题:背包容量为sum/2,求如何装能装下最多。dp[i]表示背包容量为i时,能装下的最多的石头重量状态转移:dp[i]=max(dp[i],dp...

2020-04-20 18:57:02 312

原创 leetcode算法题--最长字符串链

原题链接:https://leetcode-cn.com/problems/longest-string-chain/动态规划dp[i]表示在i处最长字符串链长度状态转移dp[i]=max(dp[i],dp[j]+1); 当words[j]属于字符串链代码:static bool lessLen(const string &a,const string b){ r...

2020-04-20 14:11:50 287

原创 leetcode算法题--多边形三角剖分的最低得分★

原题链接:https://leetcode-cn.com/problems/minimum-score-triangulation-of-polygon/动态规划:dp[i][j]表示区间[i,j]上多边形最小值状态转移:dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]+A[i]*A[k]*A[j]);代码:int minScoreTriangulat...

2020-04-19 23:40:00 200

原创 leetcode算法题--最长等差数列★

原题链接:https://leetcode-cn.com/problems/longest-arithmetic-sequence/动态规划dp[i][dif]表示i位置上差为dif的等差数列的最长长度状态转移dp[i][dif]=max(dp[i][dif],dp[j][dif]+1) 0<j<i代码:int longestArithSeqLength(vecto...

2020-04-18 19:46:52 322

原创 leetcode算法题--视频拼接

原题链接:https://leetcode-cn.com/problems/video-stitching/贪心算法int videoStitching(vector<vector<int>>& clips, int T) { map<int,int> clip_map; for(auto clip:clips){//将cilps放m...

2020-04-18 15:53:35 234

原创 SDN技术介绍

SDN是一种新型网络架构,其核心技术就是把网络设备的控制平面和转发平面分离,采用控制器集中控制的方式来替代原本分散在各个网络设备上的控制引擎功能,通过定义开放的可编程接口实现业务的灵活定制。SDN架构分为应用层、控制平面层和数据平面层 三个层。在云数据中心的SDN解决方案,其应用层通常为openstack,控制平面层为SDN控制器,数据平面层为OpenFlow虚拟交换机和SDN硬件网关。其中SDN...

2020-04-17 23:43:41 9859

原创 DPDK技术介绍(一)

DPDK是INTEL公司开发的一款高性能的网络驱动组件,旨在为数据面应用程序提供一个简单方便的,完整的,快速的数据包处理解决方案,主要技术有用户态、轮询取代中断、零拷贝、网卡RSS、访存DirectIO等。1、UIO(Linux Userspace I/O)支持,提供应用空间下驱动程序的支持,也就是说网卡驱动是运行在用户空间的,减下了报文在用户空间和应用空间的多次拷贝。DPDK总体架构:...

2020-04-17 21:03:31 66996 11

原创 leetcode算法题--最低票价★

原题链接:https://leetcode-cn.com/problems/minimum-cost-for-tickets/1、动态规划+记忆化用递归方法实现的动态规划dp(i)表示在i点处的最小花费状态转移dp(i)=min(dp(i+1)+costs[0],dp(i+7)+costs[1],dp(i+30)+costs[2])使用记忆化方法,将每一步的状态保存到memo中,如...

2020-04-17 17:16:19 336

原创 leetcode算法题--最长湍流子数组

原题链接:https://leetcode-cn.com/problems/longest-turbulent-subarray/和摆动序列很相似,使用双dp保存状态。动态规划up[i]表示如果在i点是上升的,此时最长子数组的长度down[i]表示如果在i点是下降的,此时最长子数组的长度状态转移up[i]=down[i]+1; 当A[i]>A[i-1]时down[i]=u...

2020-04-17 09:51:34 151

原创 leetcode算法题--连续差相同的数字

原题链接:https://leetcode-cn.com/problems/numbers-with-same-consecutive-differences/这题用暴力的方法做,起始单位是1个数,对一个N位的数,那么可以看做是N-1位的数(以d结尾)加上d+K或d-K得到的。所以从起始数组开始遍历,每次判断最后一位数,在末尾加上d+K或d-K,这其中可能出现重复,用set进行除重。vecto...

2020-04-16 16:22:46 432

原创 leetcode算法题--骑士拨号器

原题链接:https://leetcode-cn.com/problems/knight-dialer/这题是基于“马”在棋盘上的概率,所以我们就按照“马”在棋盘上的概率的思路写就可以了dp[i][j][k]从其他点最多能走k步到[i,j]的个数状态dp[i][j][k]=(dp[i+2][j-1][k-1]+dp[i+2][j+1][k-1]+dp[i-2][j-1][k-1]+dp[...

2020-04-16 10:35:39 220

原创 leetcode算法题--下降路径最小和

原题链接:https://leetcode-cn.com/problems/minimum-falling-path-sum/动态规划dp[i][j]表示[i,j]位置的路径和状态转移dp[i][j]=min(dp[i-1][j],dp[i-1][j-1],dp[i-1][j+1])+A[i][j]然后找出dp[len-1][j]中最大的即可代码:int minFallingPa...

2020-04-15 20:09:57 113

原创 leetcode算法题--子数组按位或操作

原题链接:https://leetcode-cn.com/problems/bitwise-ors-of-subarrays/1、动态规划,二维dp(超时)dp[i][j]表示从i到j的子数组状态转移dp[i][j]=dp[i+1][j]|A[i]代码:int subarrayBitwiseORs(vector<int>& A) { int len=A....

2020-04-15 17:32:13 327

原创 leetcode算法题--石子游戏

原题链接:https://leetcode-cn.com/problems/stone-game/本题是预测赢家低配版,还限制了石子堆数是偶数,石子总数为奇数1、动态规划代码:bool stoneGame(vector<int>& piles) { int len=piles.size(); vector<vector<int>>...

2020-04-14 22:52:52 324

原创 leetcode算法题--最长的斐波那契子序列的长度

原题链接:https://leetcode-cn.com/problems/length-of-longest-fibonacci-subsequence/1、set暴力法对于任一个斐波那契序列来说,任何一个数只依赖于前面两个数,所以我们用set存储A,并且依次遍历A[i]、A[j],并且判断A[i]+A[j]是否在A中,如果处存在,则更新(A[i],A[j])为(A[j],A[i]+A[j]...

2020-04-14 17:07:12 204

原创 leetcode算法题--推多米诺

原题链接:https://leetcode-cn.com/problems/push-dominoes/双指针法,把各种情况都判断一下即可。代码:string pushDominoes(string dominoes) { int p=0,q=1;//p和q是一前一后的指针 int len=dominoes.size(); while(q<len&&am...

2020-04-14 10:01:53 198

docker存储驱动

docker存储驱动介绍,介绍了aufs、btrfs、devicemapper、overlayfs、zfs、vfs六种存储驱动

2018-05-30

go语言revel安装文件

下载后解压放在$GOPATH路径下的src文件夹中即可,具体搭建过程请见我的另一篇博文:http://blog.csdn.net/qq_20817327/article/details/77587145

2017-08-26

空空如也

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

TA关注的人

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