分类 小雉系统 下的文章

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/18/

转载请注明出处,有疑问或错误请发邮件到[email protected] 或加QQ群:869598376


概述

对一个软件的运行占用的资源进行统计,可得到资源占用的"均值"和"峰值",从性能的角度评估软件的框架,自认为可分三个层次:

  1. 峰值架构:按这种架构设计的软件需要按资源使用的峰值配置硬件,一些云服务商(如阿里云)评估的cpu均值与峰值比为2:10,基于此数据,云服务器商可提供更高的突发性能(这也是阿里云服务器测试时感觉比其他云服务器商快的原因);
  2. 总线式峰值架构:如选用高于软件资源消耗均值但低于软件资源消耗峰值的硬件,在软件峰值时不仅会卡顿影响体验且会丢失数据,影响最终结果;"总线式峰值架构"是把数据采集(数据采集的资源消耗肯定是低于均值的)和处理分开,把采到的数据进行缓存再分发给各处理模块处理(处理模块排队完成);
  3. 均值架构:目标是可选用性能略大于软件资源消耗的均值的硬件,实现硬件资源的利用最大化;"总线式峰值架构"相对"峰值架构"会增加业务流程,增大储存资源消耗,而"均值架构"相对"峰值架构"不会增加业务处理流程,同时可合并同类业务的排列顺序,让数据更好地类数组化,增加cpu或储存设备cache的命中率,进一步提升性能,降低软件资源消耗的均值;

直接均值架构

"小雉视频系统"采用"均值架构",同时"小雉视频系统"是单进程设计,数据在多模块之间传递采用引用方式完成,所有操作都能直接完成;
合理的算法让数据的移除和插入使用位于链表的头和尾,保持数据的数组特性,提高cpu缓存命中;
合理的业务分解让数据快速被过滤,大大减少堆积数据量,据统计视频中可能感兴趣的数据不足10%;
采用"直接均值架构"的"小雉视频系统"的硬件利用率可达90%,即cpu均值达90%不会影响使用体验;

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/17/

转载请注明出处,有疑问或错误请发邮件到[email protected] 或加QQ群:869598376


概述

Google Authenticator是Google开发的二次认证工具,本功能是基于Google Authenticator开发,让小雉系统的本地登录和ssh,telnet登录支持动态认证,其中本地登录和"ssh,telnet"可以单独设置是否开启动态认证.

背景

  1. 常规的服务器密码配置为固定密码,在工程人员离职时,需要验证工程人员交接的主机用户名密码的正确性,同时为了安全需要修改密码,对有成百上千的服务器环境这将是一个苦力活,在某些情况下这个工作衔接不一定做得好(如没有招到下一个工程人员上一个已离职).
  2. 现代的项目很难有一个公司能独立完成的,大多都需要多公司配合(可能是后期功能扩展,有新公司进场),在有多公司配合的项目中,避免不了联调测试,在联调中能否把自己公司的服务器root密码提供给其他公司是一个纠集的事(不提供root密码,需要自己公司派专业的人协助调试,提供root密码,以后项目服务器的安全又存在风险(调试过程中,对方人员可信,不存在风险)).

为解决以上两个问题,把系统设计为动态认证,具体使用时

  • 本地直接插键盘登录时使用固定密码,这样不会增加公司内部装机的工作量,本地为物理隔离,使用固定密码不存在风险;
  • 远程登录(ssh和telnet)使用动态认证,这样员工离职后将无法获取动态认证的密码,提供给第三方的root密码为一次性密码,使用后(或到一定期限还不使用)就无效了,保证系统远程登录的安全.

操作

本功能的开关是通过激活码的方式开启,且动态认证只能升级不能降级,如一旦开启"ssh,telnet"的动态认证功能,将不能使用没有开启"ssh,telnet"功能的激活码;如需体验请与我联系免费获取激活码.

功能演示

  • ssh动态认证


操作人员把动态码:ZEEG0715及激活码发送给管理员,管理员会提供一个一次性口令给操作者,操作者使用一次性口令登录系统.

  • telnet动态认证


操作人员把动态码:ZLMD8HC7及激活码发送给管理员,管理员会提供一个一次性口令给操作者,操作者使用一次性口令登录系统.

  • 本地动态认证


操作人员把动态码:Z0CJ9MZQ及激活码发送给管理员,管理员会提供一个一次性口令给操作者,操作者使用一次性口令登录系统.

猜您可能喜欢

小雉系统安装:http://www.feitianzhi.com/boke/index.php/archives/11/
小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/
小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/16/

转载请注明出处,有疑问或错误请发邮件到[email protected] 或加QQ群:869598376


概述

参考 http://www.feitianzhi.com/boke/index.php/archives/11/ 安装完系统(虚拟机镜像除外),需要重建硬盘(把硬盘的其他空间格式化后储存数据)

步骤

以刚装好vultr的服务器为例,磁盘截图如下

  1. 使用fdisk对硬盘分区,如下图

  1. 系统重启后登录系统(用户名:root,密码:12345),使用zfs对硬盘进行格式化,如下图


关于zfs的更多使用方法请参考oracle官网:
https://docs.oracle.com/cd/E26926_01/html/E25826/zfsover-1.html#scrolltoc

猜您可能喜欢

小雉系统安装:http://www.feitianzhi.com/boke/index.php/archives/11/
小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/
使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/15/

转载请注明出处,有疑问或错误请发邮件到[email protected] 或加QQ群:869598376


概述

"小雉系统"采用双系统设计,基于centos定制,对centos系统的网络配置作出了修改,标准的centos系统的网络配置方法在"小雉系统"中不能保存,重启后无效.

准备

下载小雉系统工具,见http://www.feitianzhi.com/boke/index.php/ziyuanxiazai.html页面;
解压升级工具,如解压到D:小雉系统工具-20190419中

使用ifconfig 配置临时IP

本地登录系统(用户名:root,密码:12345);
使用 ifconfig -a 查看所有接口;
使用 ifconfig eth0 192.168.10.254/24 对eth0配置ip;
使用 route add default gw 192.168.10.1 添加默认路由;
使用ifconfig 配置小雉系统临时IP

使用小雉系统工具配置永久IP

如下图配置永久IP
使用小雉系统工具配置永久IP
注:不执行第11步的保存动作,所有的修改都只是在"小雉系统工具"内部,不会影响远程的主机;

猜您可能喜欢

小雉系统安装:http://www.feitianzhi.com/boke/index.php/archives/11/
小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/
使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/14/

转载请注明出处,有疑问或错误请发邮件到[email protected] 或加QQ群:869598376


概述

"小雉系统"基于centos定制,采用双系统设计,升级过程中掉电不会损坏系统,保证系统的可靠运行,总共占用空间500M,系统的维护采用使用升级包对系统升级的方式完成,支持对grub,内核,虚根,应用程序及所有运行库的升级;
"小雉系统"的升级包采用jpg打包,jpg图片可显示此升级包的摘要信息,方便历史记录查看;
"小雉系统"的升级包采用校验和机制,版本号仅作为工程记录的一个编号,即系统升级可以从任何一个版本切换到其他的任何一个版本,不需要升级包版本的连续,也不会限制只能从低版本升高版本.

升级教程

  1. 下载升级包,见http://www.feitianzhi.com/boke/index.php/ziyuanxiazai.html页面;

*注:下载的升级包需要加.jpg的后缀,如下载文件为"fs-2.128.1228.upt"需重命名为
"fs-2.128.1228.upt.jpg"*

  1. 下载小雉系统工具,见http://www.feitianzhi.com/boke/index.php/ziyuanxiazai.html页面;

解压升级工具,如解压到D:\小雉系统工具-20190419中

  1. 使用升级工具打开升级包并填写主机ip,完成"小雉系统"远程升级,如下图
小雉系统升级
新版本的升级工具如下图(增加批量导入导出主机,并支持root密码校验,root密码不为12345的主机必须使用新版本升级工具)
小雉系统升级

猜您可能喜欢
小雉系统安装: http://www.feitianzhi.com/boke/index.php/archives/11/
小雉系统安装包制作: http://www.feitianzhi.com/boke/index.php/archives/50/
小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/
小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/
使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/
小雉配置工具:http://www.feitianzhi.com/boke/index.php/fslib-config.html
资源下载:http://www.feitianzhi.com/boke/index.php/ziyuanxiazai.html

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/13/

转载请注明出处,有疑问或错误请发邮件到[email protected] 或加QQ群:869598376


概述

小雉系统中已集成mariadb数据库,但未包含数据库文件,本文是在完整的centos7.3上装好mariadb数据库,把初始化后的数据库文件打包传到小雉系统中.

步骤

  1. 使用ssh或telnet工具远程登录小雉系统(用户名:root,密码:12345),如下图

ssh或telnet工具远程登录小雉系统

  1. 用ftp登录系统(用户名:admin,密码:12345)上传数据库文件(可下载我提供的https://download.csdn.net/download/zhangrui_fslib_org/11317633,没有密码)到ftp根目录,如下图

上传数据库文件

  1. 解压数据库文件,并启动mariadb数据库(系统每次开机时会自动启动数据库)

    cd /fs/project/data/
    ls
    gzip -cd mysql.cpio.gz |cpio -idvm
    ls
    systemctl restart mariadb
    systemctl status mariadb

解压数据库文件,并启动mariadb数据库

  1. 修改mariadb数据密码,支持远程登录,如下图

    mysql;
    user mysql;
    select user,host,password from user;
    update user set host='%',password=password('12345') where user='root' and host='localhost';
    select user,host,password from user;
    FLUSH PRIVILEGES;

修改mariadb数据密码,支持远程登录
猜您可能喜欢
使用小雉系统搭建可调试的php生产环境:
http://www.feitianzhi.com/boke/index.php/archives/12/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/12/

转载请注明出处,有疑问或错误请发邮件到[email protected] 或加QQ群:869598376


功能介绍

  1. 支持nginx,php-fpm,mariadb,ftp;
  2. 支持命令行查看php的异常和错误输出;
  3. 整套系统采用双镜像设计,启动时会校验操作系统的完整性,保证系统从完整的系统启动,彻底解决系统断电后系统启动过程中磁盘自检异常的问题;

系统搭建

  1. 参考http://www.feitianzhi.com/boke/index.php/archives/11/安装系统;
  2. 初始化数据库,参考http://www.feitianzhi.com/boke/index.php/archives/13/;

网站部署

  1. 使用ssh或telnet工具远程登录系统(用户名:root,密码:12345),并创建web所需的目录,如下图

网站部署--创建网站根目录

  1. 用ftp登录系统(用户名:admin,密码:12345)上传web文件,web为网站的根目录,上传文件后用浏览器直接访问,如下图

ftp登录小雉系统

  1. 把网站数据上传存于web目录中(注:web目录为网站的根目录);

特殊功能演示

  1. php-fpm程序的输出记录,如下图

php-fpm程序的输出记录

  1. 支持第三方扩展加载失败提示,如下图

支持第三方扩展加载失败提示

  1. 支持php://stdout,php://stderr的输出,如下图

支持php://stdout,php://stderr的输出

  1. 支持php代码异常捕捉,如下图

支持php代码异常捕捉

  1. 支持thinkphp框架,如下图

支持thinkphp框架

猜您可能喜欢

小雉系统安装:http://www.feitianzhi.com/boke/index.php/archives/11/
小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/
小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/
使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/11/

转载请注明出处,有疑问或错误请发邮件到[email protected] 或加QQ群:869598376


一,使用虚拟机镜像安装

  1. 下载vmware虚拟机镜像,地址:http://download.csdn.net/download/zhangrui_fslib_org/11316868
  2. 使用VMware Workstation 打开虚拟机,如下图

虚拟机打开小雉系统

  1. 开启虚拟机,使用用户名:root,密码12345登录系统,如下图

小雉系统登录

二,云服务器安装

以vultr云(地址:https://www.vultr.com/,可申请免费试用,试验首选)为例(可参考http://www.feitianzhi.com/boke/index.php/archives/40/进行操作)

  1. 云主机安装好centos7.*系统;
  2. 使用ssh远程工具登录系统,必须使用root登录,如下图

  1. 上传"小雉系统安装包"到云服务器(可以使用ssh,ftp等方式),这里使用wget直接下载"小雉系统安装包"(地址:http://mym9.com:16080/__pic/xiaozhios.img.gz,速度慢可在此地址下载:https://download.csdn.net/download/zhangrui_fslib_org/11343895),如下图

  1. 上传小雉系统安装脚本(可以使用ssh,ftp等方式)并加上执行权限,这里使用wget直接下载(地址:http://mym9.com:16080/__pic/xiaozhiosinstall),如下图

  1. 运行xiaozhiosinstall脚本安装上传的xiaozhios.img.gz系统,安装大概需要2分钟,如下图

  1. 系统在重启后,使用用户名:root,密码:12345登录系统(注:虽然系统已配置好网络,但仍要使用小雉的工具配置网络),如下图

猜您可能喜欢

小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/
小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/
使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/9/

转载请注明出处,有疑问或错误请发邮件到[email protected] 或加QQ群:869598376


实时截图--应用场景

  1. 网页上显示摄像机的实时图像;
  2. 对多相机视频画面的审计,如有几千个相机,不可能同时显示几千个相机的视频,要全部遍历一次相机的画面非常耗时,而对所有相机的画面进行实时截图,再全部显示在客户端,可提升审计效率;

演示样例:http://www.feitianzhi.com/boke/index.php/archives/7/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/4/

转载请注明出处,有疑问或错误请发邮件到[email protected] 或加QQ群:869598376


常见问题

  1. "小雉视频系统"是什么?

"小雉视频系统"是使用"面向过程对象"框架开发的一个单进程软件,旨在集所有客户的需求于一体,在完善软件功能的同时也让老客户得到持续化的服务,达到开发者与客户的共赢;

  1. "小雉视频系统"有哪些功能?

"小雉视频系统"是一个持续更新的软件,所有的新需求都会在主线版本中实现,并向下兼容,具体的功能请下载最新版本体验;

  1. "小雉视频系统"的售后服务有多长,能否满足项目周期的需要?

"小雉视频系统"的第一个版本可以追溯到2010年,在经历了多次重构后,在2013-2014年后软件的框架稳定性,兼容性,扩展性,效率都有了优异的表现,能同时应用于linux,windows,嵌入式linux平台,cpu资源,内存,句柄,线程问题都有了定量跟踪的方式(参看本站的其他文章),并且配置能做到多样化(json,xml都支持),参数默认化(json中只写部分参数,系统会使用默认值自动补全其他参数),双向兼容(新版本可以兼容老版本的配置,老版本也能兼容新版本的配置),2014年至现在约5年的版本都可以相互兼容,都处于服务周期范围之内;

  1. "小雉视频系统"的优势是什么?

"小雉视频系统"最近5年时间内所有的客户需求都集成到一起,按需启用,框架的稳定性,兼容性,扩展性,效率得到了验证,同时其强悍的版本兼容性可大大降低长周期项目的成本;

  1. "小雉视频系统"长周期的项目兼容,是否意味着软件的架构陈旧,无法引入新技术?

"小雉视频系统"使用的框架规定了进程内模块设计,配置设计等软件开发相关的规范和技术要点,同时也定义了系统引导,内核,驱动,文件系统,启动,命令工具等一系列的规范,从2014年以来发布的版本的系统经历了centos6.3,centos7.1,centos7.3等系统版本的变化,但这些版本间是可以相互平滑切换的,即"小雉视频系统"的兼容不仅体现在配置的相互兼容,也支持跨系统版本,跨内核的兼容,2020年将推出centos8.1系统的"小雉视频系统",敬请大家体验centos8.1系统的"小雉视频系统"和centos7系列的"小雉视频系统"的无缝切换;

一,功能清单:
        1,单机版(多网口)支持400路以上视频流(1080及以上,4M码流)采集--已实现;

        2,支持全天录像--已实现mkv支持;

        3,支持硬盘滚动写入,磁盘满时自动删除最早的文件,支持磁盘配额--已实现;

        4,支持磁盘阵列,支持动态扩容--已实现;

        5,支持通用播放器播放储存的视频--已实现兼容vlc,portplayer;

        6,支持视频rtsp分发(不限客户端数量,瓶颈在网络)--已实现;

        7,rtsp使用kcp不公平协议抢占网络资源(在网络丢包,如无线网,可比tcp延时小50%以上)--已实现(同时支持tcp和udp);

        8,支持视频hls分发(不限客户端数量,瓶颈在网络,pc上的vlc,android上moboPlayer实测与海康网页直播延时1S)--已实现,测试中;

        9,支持视频文件rtsp点播--已实现;

        10,支持按时间rtsp点播视频(既视频回放,回放与实时视频相比最小延时约为2S,保证10S)--已实现;

        11,支持接收第三方程序发送的xml或json,并根据内容合成视频(延时约1S,保证5S)--已实现;

        12,支持远程配置系统--已实现;

        13,支持接受xml或json导入配置,方便第三方公司控制系统--已实现;

        14,支持ftp浏览和下载视频--已实现;

        15,支持客户端控制点播速度(可实现快速,慢速和单步播放)--已实现;    

        16,支持通过gb28181平台预览视频,控制球机(现只支持海康球机)--已实现; 

        17,支持拉取第三方gb28181平台的视频数据进行储存+rtsp转发+rtsp回放+hls转发+gb28181再推送 --已实现;

        18,支持"支持gb28181的相机"直接推送视频数据到服务器进行储存+rtsp转发+rtsp回放+hls转发+gb28181再推送,同时支持NAT穿透 --已实现;

        19,支持第三方使用GB28181协议访问本服务器的储存视频,同时支持第三方使用GB28181协议访问与本服务器属于同一集群的服务器上的储存视频--已实现;

        20,支持接入onvif相机,代理相机控制指令,实现集中控制;

        21,支持阿里云oss储存回放;

        22,支持分布式集群(各台主机相互独立,互不依赖,对客户端来说集群内的任何一个节点都是中心服务器,访问任何一台主机都能获取到集群内其它主机上的数据)--已实现;

        23,鉴于22条的特性,程序具有中心服务器热备,负载均衡等功能--已实现;

        24,加入以telnet方式运行程序,同时配合看门狗,保证系统稳定持续运行,参考文章:http://www.feitianzhi.com/boke/index.php/archives/5/;

二,系统优势
        1,程序采用C语言,支持arm,x86平台,具有跨平台特性;

        2,程序经历了三次重构,拥有先进的框架和良好的扩展性;

               1),首次编写使用传统的c面向资源对象设计(如一个相机一个对象,增加相机就增加一个类的实例),导致在通道过多时,会新建大量的对象,日志的数据量成倍增长,在处理大并发时系统将创建大量的线程,线各程的创建和消亡占用了过多的cpu,基于这些原因,在功能全开时程序只能做到100路以内的并发;

               2),第一次重构加入了线程池的机制,同时程序也去掉了第三方库(不再需要live555,ffmpeg等第三方库),依然使用面向资源对象设计,这个版本虽做了大量的修改,代码量极度减少,cpu占用降低,但并发数增加仍不明显;

               3),第二次重构改变了程序的设计风格,改用使用面向过程的设计模式(或面向过程对象的设计模式,一个过程一个对象,因系统内任何一个资源只经过一个过程一次,即完成整个任务所需要的过程数就是系统总的线程数,这让系统的线程数不再与通道相关,成为一个定值),解决了线程过多的问题,同时也省去了复杂的线程池,让系统变得高效简单,让系统并发数突破1000;

               4),第三次重构是对第二次重构的优化,也是真正工程化的实现,在第二次重构后,虽然并发数大大增加,但大并发时的一些不可预见性问题因程序不能追踪(因路数太多,用记录日志的办法效率低下,几乎是因量太大无法分析),系统bug的修复变得困难,这次重够加入了系统异常自动记录功能,在出现异常时,可自动定位并记录异常出现在源码的什么文件的多少行,同时还可记录出现问题时对应线程你关心的内存的值,大大加简化了系统bug定位和修复,让直接处理生产环境中的异常变为了可能,同时还增加了线程资源实时消耗的统计信息,能实时了解系统中各线程的cpu占用情况;这次重够还去掉了glib的依赖,系统不再使用链表,使用数组代替链表,修改所有的查找排序的算法为二分查找,让单系统达到万级并发成为了可能;

        3,系统不使用数据库,单进程,不依赖第三方库,简单可靠;

        4,系统同时支持xml和json通信,让第三方集成变得异常简单;

        5,程序使用配置导入导出方式进行修改程序,让程序可以向下并向后兼容,彻底解决版本不兼容给使用者带来的问题;