php做门禁系统吗

php做门禁系统吗,第1张

PHP可以通过socket通讯,实时监控门禁机连接状态。同时还可以通过心跳包获取刷卡进出记录,同时还可以连接微信公众号做考勤管理系统,每当用户打卡时,可以通过模板消息推送消息到打卡者手机上。通俗的讲。PHP完成可以做物联网设备管理系统,因为这种系统已经实现。--雷小天博客

单片机只要负责和wifi模块通信好就行,一般是串口。wifi模块要设置云主机的IP和端口号,是否一直发送心跳包看wifi模块的手册了,wifi模块还要设置wifi网络和密码和加密协议。最简单的法就是问卖wifi模块的厂家,让他们全程指导。不同的wifi模块功能可能也略有不同

无线数据终端也叫无线数传终端,即实现无线数据传输所使用的终端模块。

无线数据终端通常与下位机相连,实现无线数据传输的目的,有“工业领域的手机”的称号,因为其传输原理和我们平常使用的手机的数据传输时基本一致的。

其中比较典型的设备包括无线数传,无线路由器,无线Modem等设备,下面介绍的就是应用最广泛的DTU的相关参数作为参考。

为用户提供高速,稳定可靠,数据终端永远在线,多种协议转换的虚拟专用网络。针对网络流量控制的用户,产品支持语音,短信,数据触发上线以及超时自动断线的功能。同时也支持双数据中心备份,以及多数据中心同步接收数据等功能。

扩展资料:

无线数据终端的特点:

1、DNS自动获取:自动获取DNS,不再需要人工配置输入DNS,规避了因为选择的DNS服务器异常,导致DTU设备当机的严重现象!

2、完善的协议栈: 新系统加载了完善的TCP/IP协议栈,原来系统采用的是轻量级TCP/IP(LPIP)协议栈,协议栈是有裁剪的,新系统采用了完善的TCP/IP协议栈,网络通信性能优异。

3、支持多中心:客户数据可以同时往客户指定的监控中心发送,最大支持发送中心达256个。

参考资料来源:百度百科-无线数传终端

一、系统概述
随着无线通信数字网络的发展,无线远程自动抄表已成为发展的必然趋势,其应用领域极为广阔。目前基于仪器、仪表分布点多面广,其远程抄表大多仍沿用有线传输方式,线路维护量很大。由于电话线公用,通讯时经常发生冲突,既影响了数据的传输也对电调部门的正常工作造成了干扰,并且此种方式对通讯部门程控交换机正常。稳定的运行也有一定的影响。为保证传输质量,若采用专线方式,投资成本太高;采用中国移动GPRS无线数字网的通讯方式,很好地解决了远程抄表的瓶颈问题。用户上网可以免受断线的痛苦。使用GPRS无线组网方案,数据实现分组发送和接收,用户就可以总是在线且按流量计费,迅速降低了服务成本。
本系统具有采集数据快速准确,能快速生成用电统计分析,交费单据等特点,与传统的人工抄表、电话线抄表相比,极大地提高了效率。除了准确、实时抄表外,还提供了设备管理功能,如告警:开箱告警、停电告警、逆相告警、超温告警、过载告警等;控制:对欠费用户进行拉闸等。并提供停电数据保护功能,在停电48--72小时内仍可抄表和监控。本系统结合移动公司的短信平台,在告警时,可根据具体内容发短信给相关的管理人员。本系统提供丰富的接口,可与电业系统的MIS系统链接或进行二次开发。抄表软件系统数据库为SQL数据库,运行于WIN98/2000/XP、NT的 *** 作系统,易于使用。软件所能管理的用户数量没有限制。
二、系统特点
1、建设周期短,成本低:
GPRS无线网络可为电力系统提供了简单高效的通信传输手段。中国移动GPRS系统可提供广域的无线IP连接。在移动通信公司的GPRS业务平台上构建电力远程抄表系统,实现电表数据的无线数据传输具有可充分利用现有网络,缩短建设周期,降低建设成本的优点,而且设备安装方便、维护简单。
2、实时性强:
由于GPRS具有实时在线特性,系统无时延,无需轮巡就可以同步接收、处理所有数据采集点的数据。可很好的满足系统对数据采集和传输实时性的要求。
3、可对电表设备进行远程控制:
通过GPRS双向通讯方式还可实现对电表设备进行远程控制,进行参数调整、开关等控制作用。
4、集抄范围广:
GPRS覆盖范围广,在无线GSM/GPRS网络的覆盖范围之内,都可以完成对集抄的控制和管理。而且,扩容无限制,接入地点无限制,能满足山区、乡镇和跨地区的接入需求。
5、系统的传输容量大:
配电数据中心要和每一个电表数据采集点保持实时连接。由于电表数据采集点数量众多,系统要求能满足突发性数据传输的需要,而GPRS技术能很好地满足传输突发性数据的需要。
6、数据传送速率高:
每个电表数据采集点每次数据传输量在10Kbps之内。GPRS网络传送速率理论上可达
1712kbit/s,目前GPRS实际数据传输速率在40Kbps左右,完全能满足本系统数据传输速率(≥10Kbps)的需求。
7、通信费用低:采用包月计费方式,运营成本低。
8、系统易于扩展和维护。
三、系统组成
居民用户的用电数据由付费率电表通过RS485传到电表集中器,电表集中器通过RS232/RS485串口与GPRSDTU连接,电表数据经过协议封装后发送到中国移动的GPRS数据网络,通过GPRS数据网络将数据传送至配电数据中心,实现电表数据和数据中心系统的实时在线连接。 整个系统有电度表和数据采集终端、GPRS DTU、监控中心三大部分组成。
1、主站:监控中心
监控中心主要组成部分装有系统软件的计算机(服务器或PC机),配置一个固定或动态IP能连入Internet和数据采集端进行数据通信。为了是数据通信更加安全的话可以监控中心可以采用移动公司提供的DDN专线与GPRS网络相连,由于DDN专线可提供较高的带宽,当电表数据采集点数量增加,中心不用扩容即可满足需求。 配电中心RADIUS服务器接受到GPRS网络传来的数据后先进行AAA认证,后传送到配电中心计算机主机,通过系统软件对数据进行还原显示,并进行数据处理。 配电中心计算机主机可进行业务管理和计费管理,对电力数据进行校验、计算、存储、分析、管理等,可对异常情况进行告警,同时对用户使用情况实时监控,保证电力局的合法收益。
2、从站:数据采集终端
从站为现场各采集站点,本方案采用 GPRS DTU主要适用于现场在户外,无任何有线或其它通讯链路的情况。
1)GPRS DTU和电表一对多的连接方式
若变电站的电表很集中,可采用一台集中器或采集器通过RS485将集中的电表并联,并实时采集电表信息,然后通过RS232串口线将GPRS DTU接到集中器或采集器上。GPRS DTU将集中器或采集器采集到各电表的信息,再经由GPRS无线网络经过NET地址转换协议连入互联网,最后传输到主控中心的服务器上。
2)GPRS DTU和电表一对一的连接方式
若电表比较分散,将每块电表通过RS485/RS232串口线连接一台GPRS DTU。此时GPRS DTU直接将每块电表的信息通过GPRS无线网络经过NET地址转换协议连入互联网,最后传输到主控中心服务器上。
3、GPRS DTU功能及特点
无线通讯部分主要是借助GPRS DTU通过GPRS无线网络进行数据采集端和监控中心之间的数据通讯工作。
DTU是指数据终端设备(Data Terminal unit),可以理解为下位GPRS发射终端,在进行通信时,在它的作用下对所传信息进行格式转换和数据整理校验。
GPRS DTU全称GPRS数据传输单元,在国内目前实际上对GPRS DTU具有更加明确的约定:GPRS DTU是专门用于将串口数据通过GPRS网络进行传送的GPRS无线设备。
◆内部集成TCP/IP协议栈
GPRS DTU内部封装了PPP拨号协议以及TCP/IP协议栈并且具有嵌入式 *** 作系统,从硬件上,它可看作是嵌入式PC与无线GPRS MODEM的结合;它具备GPRS/CDMA拨号上网以及TCP/IP数据通信的功能。
◆提供串口数据双向转换功能
GPRS/CDMA DTU提供了串行通信接口,包括RS232,RS485,RS422等都属于常用的串行通信方式,而且GPRS/CDMA DTU在设计上大都将串口数据设计成“透明转换”的方式,也就是说GPRS/CDMA DTU可以将串口上的原始数据转换成TCP/IP数据包进行传送,而不需要改变原有的数据通信内容。因此,GPRS/CDMA DTU可以和各种使用串口通信的用户设备进行连接,而且不需要对用户设备作改动。
◆支持自动心跳,保持永久在线
GPRS/CDMA通信网络的优点之一就是支持GPRS/CDMA终端设备永久在线,因此典型的GPRS/CDMA DTU在设计上都支持永久在线功能,这就要求DTU包含了上电自动拨号、采用心跳包保持永久在线(当长时间没有数据通信时,移动网关将断开DTU与中心的连接,心跳包就是DTU与数据中心在连接被断开之前发送一个小数据包,以保持连接不被断开)、支持断线自动重连、自动重拨号等特点。
◆支持参数配置,永久保存
GPRS/CDMA DTU作为一种通信设备,其应用场合十分广泛。在不同的应用中,数据中心的IP地址及端口号,串口的波特率等都是不同的。因此,GPRS/CDMA DTU都应支持参数配置,并且将配置好的参数保存内部的永久存储器件内(一般为FLASH或EEPROM等)。一旦上电,就自动按照设置好的参数进行工作。
◆支持用户串口参数设置
不同用户设备的串口参数有所不同,DTU连接用户设备的串口时,要根据用户设备串口的实际参数对DTU端进行相应设置,保证用户设备的正常通信和可靠数据传输。
◆符合工业化设计适应恶劣环境能力更强
◆ RS232 串口速率高达230400 bps
◆ 支持RS232 三线标准或九线标准
◆ 内置TCP/IP 协议栈,支持TCP/UDP 网络协议
◆ 数据终端永远在线
◆ 掉线自动重拨功能
◆ 通过超级终端类似于AT 指令方式或专用设置程序来设置通信参数
◆ 设备之间透明传输/非通明传输
◆ 支持静态IP 或域名方式连接远程主机
◆ 供电:+5V,可根据客户需要定制宽电压输入+5V~ +40V
◆ 耗电:待机状态230~330mA;上网状态450~460mA;传输状态460~470mA
◆ 工作温度:-40℃ ~ +70℃
◆ 储存温度:-50℃ ~ +85℃
◆ 支持RS232/RS485/RS422串口进行通讯
4、电度表
计量并显示用户的用电情况,将用电信息通过RS232/RS485传输到GPRS DTU,然后GPRS DTU通过GPRS无线网络传输到监控中心。这三个主要的组成部份是相互关联的主从关系
根据抄表对向的不同我们设计以下三种抄表模式:
居民用户抄表系统
电表:10级单相静止式(电子式)电度表,具有光耦脉冲输出功能。
1)采集器:
(1)24个I/O口,可带24户电度表
(2)停电数据保护
(3)带后备电源,停电后仍可抄表
2)抄表内容:
(1)电量
(2)其他
3)抄表形式:
(1)自动抄表
(2)定时上报
(3)实时查询
4)告警内容:
(1)开箱告警
(2)停电告警
5) 技术指标:
(1)系统容量:
采集器容量:最多接24块电表;
系统容量:原则上不受限制,实际可根据需要和主站电脑的容量确定;
(2) 通信距离:
采集器与电表:采用双芯多股线,对于机械表,距离≤500m;对于电子式电表,距离≤50m。主站与采集器:采用GPRS网络作为通信介质,距离不受限制;
(3)通信成功率:
主站与采集器之间,采用基于可靠连接的TCP/IP协议,通信成功率为100%。
大集团用户抄表系统
6) 电表:
(1)三相有功无功多功能表,有功05级、无功2级,具有RS-485通讯接口,电力部国标2004通讯规约。
(2)三相有功复费率表,有功1级,具有RS-485通讯接口,电力部国标2004通讯规约。实现电能量(有功、无功)的计量和功率因数、电压、电流、频率等参数的测量。
7)采集器
(1)带一个与电能表通讯的RS-485接口,一个与主站系统通信的GPRS接口,三个用于报警监测的开关量输入口和三个用于远程控制的模拟量输出口。
(2)支持部标通信规约
(3)停电数据保护
(4)控制输出(用于远程控制拉闸或其他功能)
(5)带后备电源,停电后仍可抄表
8)系统功能
(1)设置电能表的参数,读取各种计量和管理数据;
(2)抄表数据的统计、查询、备份、报表、图表生成;
(3)厂站管理;
(4)自动抄表、定时上报、实时查询等;
(5)掉电数据保存;
(6)瞬时量数据的综合处理;
(7)系统数据备份、存档和向外输出数据;
(8)历史数据事件记录功能;
(9)实时报警;
(10)根据线路上的表计关系计算线路损耗;
(11)可提供多路模拟量、开关量输入,实现开箱告警、停电告警、逆相告警、超温告警、过压告警、过流告警、过载告警、倾斜或移动报警等其他功能;
(12)远程控制断电功能;
(13)采集的参数丰富,如:
◆ 当前、上月、正向有功、反向有功、无功四象限的总及尖、峰、平、谷四费 率电量;
◆ 正向、反向、有功、无功的最大需量及最大需量发生时间;
◆ 有功功率、无功功率、三相电压、三相电流、功率因数;
◆ 感想失压累计次数、失压累计时间、集抄器停电起止时间等;
◆ 单位时间负荷曲线、三相电流曲线、三相电压曲线、有功功率曲线、无功功、 率曲线、功率因数曲线。
9)技术指标:
(1)系统容量:
采集器容量:最多接255块电表;
系统容量:原则上不受限制每表一号,实际可根据需要和主站电脑的容量确定;(2)通信距离:
采集器与电表:采用RS-485接口及屏蔽双绞线,距离≤500m。主站与采集器:采用GPRS网络作为通信介质,距离不受限制;
(3)通信成功率:
主站与采集器之间,采用基于可靠连接的TCP/IP协议,通信成功率为100%;
(4)完全符合IEC1107标准及国电公司DL/T645《多功能电能表通讯规约》;
(5)工作电源:交流220V±20%,50Hz;
(6)通信速率:1200bps~336kbps;
(7)采集器功耗:≤15W
(8)工作环境条件:温度:-10℃~50℃,相对湿度:≤90%;
(9)耐压强度:2KV;绝缘电阻:2M欧姆;
(10)电表数据抄收率、可靠性和读数准确率达到100%。
变电站抄表系统
10)电表:三相有功无功多功能表。
11)带GPRS功能的采集器:
(1)带一个485口,三个开关量和三个模拟量;
(2)支持部标通信规约;
(3)停电数据保护;
(4)控制输出;
(5)带后备电源,停电后仍可抄表。
12)抄表内容:
(1)电压、电流;
(2)有功正、反向分时电量;无功四象限分时电量;
(3)有功正、反向分时最大需量及发生时间;
(4)无功正、反向分时最大需量及发生时间;
(5)断相时间、次数及断相期间用电量;
(6)负荷曲线。
13)抄表形式:
(1)自动抄表;
(2)定时上报;
(3)实时查询。
14)告警内容:
(1)开箱告警;
(2)停电告警;
(3)逆相告警;
(4)超温告警;
(5)过压告警;
(6)过流告警;
(7)过载告警;
(8)倾斜或移动报警等其他功能。
15)技术指标:
(1)系统容量:
采集器容量:最多接255块电表;
系统容量:原则上不受限制每表一号,实际可根据需要和主站电脑的容量确定;
(2)通信距离:
采集器与电表:采用RS-485接口及屏蔽双绞线,距离≤500m。主站与采集器:采用GPRS网络作为通信介质,距离不受限制;
四、系统功能
1、完善的系统日志:系统日志记录了进入系统,离开系统,收费,设置硬件,改变运行参数 *** 作等及 *** 作者, *** 作时间,凡是改变数据库的 *** 作都被记录下来。
2、抄表速度快:抄表快、数据准确,抄表时PC机只读采集器的数据,数据传输采用115200波特率,传输速度快,并对每个数据块都有效验码,保证了传输的准确性。
3、广播对时功能:该功能使得系统中的所有电能表的时间基准与PC机保持一致,对时成功后,由电池供电的电能表内部时钟,不再需要PC机的干预。因此,只要保证在对时时刻,PC机的时间是正确的,以后在运行的过程中,改变PC机的时钟并不会影响电能表的时间。
4、自动抄表功能:按照设置的抄表开始时间和抄表间隔,到预定的抄表时刻,系统便会依次拨号去抄采集器或电表内的数据。对于抄不上数据,系统会自动补抄或人工发命令补抄。
5、电量冻结功能:可以方便地定义总表,安装和删除总表,给总表分配分表。通过安装适当的总表,结合抄冻结数据功能,就可得某一特定的时刻的总表读数,各分表的读数(由此得到读数和),就可以计算出某部分电路的电能损耗,为确定电费提供依据。
6、电费管理功能:收电费前,统一抄录一次电费数据。当确保数据库内的数据反映最近的电表读数后,利用程序中的功能自动计算出当月用电量和电费。交纳电费时,只需输入用户号,当月用电量和电费由程序填写。每笔电费都有详细记录,便于对帐。
7、设备管理功能,如告警:开箱告警、停电告警、逆相告警、超温告警、过载告警、倾斜或移动报警等;控制:对欠费用户进行拉闸等。并提供停电数据保护功能,在停电48--72小时内仍可抄表和监控。本系统结合移动公司的短信平台,在告警时,可根据具体内容发短信给相关的管理人员。
8、用户界面清晰美观, *** 作简单,具有完善的在线帮助功能。对数据进行统计,分析,绘制负荷曲线,作平衡分析,具有与银行,客服中心的联网功能。
9、本系统适应范围广泛,单相版的软件可用于小区管理,网络版的软件可用于供电公司实现一座城市或地区的用电管理。
五、安全可靠性
在系统安全方面,本公司除了采用大型、多用户的SQL数据库、系统对用户实现分级授权管理和提供防火墙功能及完善的数据备份功能外,对GPRS网络无线数据监控中心还提供了安全技术解决方案,以确保数据安全可靠。
31 IP 过滤技术
由于监控中心服务于GPRS子网用户,所有访问客户的IP必为GPRS子网内的IP ,即所有的用户必须通过CMNET才可能访问该服务器。因此,我们在系统中采用了IP过滤技术,对所有接受的数据包进行过滤,抛弃掉所有的非法IP数据报。这一过程就好像将系统置身于CMNET的防火墙保护之下,所有的非法用户只有先穿过了CMNET的安全防护才有可能访问到本系统,但对于安全措施非常强大的CMNET网络来说,这将是非常的困难。
32 身份授权和密码认证体系
采用IP过滤技术尽管可以防止一些非CMNET网段用户的侵袭,但由于系统处于GPRS子网以外,IP过滤只能起到简单的安全防护,对于那些利用IP伪装技术的非法用户则无法识别。
由于该系统是专业化的服务系统,访问客户是预先确定的,利用这一特点,我们在系统中采用了用户ID和密码验证技术,系统中存储了有所客户端的MAC地址以及密码,对通过了IP过滤的数据包,再验证其ID号和密码。对于该系统以外的非法用户,获取合法的MAC地址和密码将十分困难,所以这一步极大可能地增加了系统的安全性。
33 数据安全加密通道
系统采用标准的SSL数据安全通讯协议在客户端和服务器端建立加密数据通道,保证私有数据传输的安全性;系统在应用层植入高可靠性的加密算法,使得数据在任何网络出错时都可以得到保证的高可靠性;采用MD5算法产生“报文摘要”已实现对所有发送报文的数字签名,保证了数据传输过程中的完整性,防止数据被篡改。
34 访问过程跟踪
系统对所有的访问过程进行日志记录,包括用户身份、IP、时间、数字签名、 *** 作事项等信息,向系统管理人员提供了详细、完整、有效的 *** 作证明。
六、总结
采用GPRS无线传输数据通讯方法解决了远程抄表系统的通讯问题,比起其它有线通讯方式有着不可比拟的优越性。节省了人力、物力、建设周期,大大提高了供电行业自动化数据监控的工作效率。
北京东方讯科技发展有限公司。

时序数据与截面数据能解决多重共线性  请参考下面时序数据库白皮书。

思极有容数据库

时序数据库技术白皮书

北京中电普华信息技术有限公司

2020年4月

目  录

1 大数据时代的挑战 1

2 产品特点 1

3 系统结构 2

4 存储结构 4

5 数据分区、水平扩展 6

6 高可靠系统 7

7 STable:多表聚合 9

8 数据模型 10

9 实时流式计算 11

10 便捷的安装、部署、维护 12

11 更多亮点 13

12 参数指标 13

13 应用场景 14

1 大数据时代的挑战

随着移动互联网的普及,数据通讯成本的急剧下降,以及各种低成本的传感技术和智能设备的出现,除传统的手机、计算机在实时采集数据之外,手环、共享单车、出租车、智能电表、环境监测设备、电梯、大型设备、工业生产线等也都在源源不断的产生海量的实时数据并发往云端。这些海量数据是企业宝贵的财富,能够帮助企业实时监控业务或设备的运行情况,生成各种维度的报表,而且通过大数据分析和机器学习,对业务进行预测和预警,能够帮助企业进行科学决策、节约成本并创造新的价值。

仔细研究发现,所有机器、设备、传感器、以及交易系统所产生的数据都是时序的,而且很多还带有位置信息。这些数据具有明显的特征,1: 数据是时序的,一定带有时间戳;2:数据是结构化的;3: 数据极少有更新或删除 *** 作;4:无需传统数据库的事务处理;5:相对互联网应用,写多读少;6:用户关注的是一段时间的趋势,而不是某一特点时间点的值;7: 数据是有保留期限的;8:数据的查询分析一定是基于时间段和地理区域的;9:除存储查询外,往往还需要各种统计和实时计算 *** 作;10:数据量巨大,一天采集的数据就可以超过100亿条。

看似简单的事情,但由于数据记录条数巨大,导致数据的实时写入成为瓶颈,查询分析极为缓慢,成为新的技术挑战。传统的关系型数据库或NoSQL数据库以及流式计算引擎由于没有充分利用这些数据的特点,性能提升极为有限,只能依靠集群技术,投入更多的计算资源和存储资源来处理,企业运营维护成本急剧上升。

2 产品特点

思极有容时序数据库正是普华公司面对这一高速增长的物联网大数据市场和技术挑战推出的创新性的大数据处理产品,它不依赖任何第三方软件,也不是优化或包装了一个开源的数据库或流式计算产品,而是在吸取众多传统关系型数据库、NoSQL数据库、流式计算引擎、消息队列等软件的优点之后自主开发的产品,在时序空间大数据处理上,有着自己独到的优势。

· 10倍以上的性能提升:定义了创新的数据存储结构,单核每秒就能处理至少2万次请求,插入数百万个数据点,读出一千万以上数据点,比现有通用数据库快了十倍以上。

· 硬件或云服务成本降至1/5:由于超强性能,计算资源不到通用大数据方案的1/5;通过列式存储和先进的压缩算法,存储空间不到通用数据库的1/10。

· 全栈时序数据处理引擎:将数据库、消息队列、缓存、流式计算等功能融合一起,应用无需再集成Kafka/Redis/HBase/HDFS等软件,大幅降低应用开发和维护的复杂度成本。

· 强大的分析功能:无论是十年前还是一秒钟前的数据,指定时间范围即可查询。数据可在时间轴上或多个设备上进行聚合。临时查询可通过Shell, Python, R, Matlab随时进行。

· 与第三方工具无缝连接:不用一行代码,即可与Telegraf, Grafana, Matlab, R等工具集成。后续将支持MQTT, OPC等工具, 与BI工具也能够无缝连接。

· 零运维成本、零学习成本:安装、集群一秒搞定,无需分库分表,实时备份。支持标准SQL语句,支持JDBC, RESTful连接, 支持Python/Java/C/C++/Go等开发语言, 与MySQL相似,零学习成本。

采用思极有容时序数据库,可将典型的物联网、车联网、工业互联网大数据平台的整体成本降至现有的1/5。同样的硬件资源,思极有容时序数据库能将系统处理能力和容量增加五倍以上。

3 系统结构

思极有容时序数据库是基于硬件、软件系统不可靠、一定会有故障的假设进行设计的,是基于任何单台计算机都无足够能力处理海量数据的假设进行设计的,因此思极有容时序数据库从研发的第一天起,就是按照分布式高可靠架构进行设计的,是完全去中心化的。思极有容时序数据库整个系统结构如下图所示,下面对一些基本概念进行介绍。

物理节点:集群里的任何一台物理机器(dnode),根据其具体的CPU、内存、存储和其它物理资源,思极有容时序数据库将自动配置多个虚拟节点。

虚拟数据节点:存储具体的时序数据,所有针对时序数据的插入和查询 *** 作,都在虚拟数据节点上进行(图例中用V标明)。位于不同物理机器上的虚拟数据节点可以组成一个虚拟数据节点组(如图例中dnode0中的V0, dnode1中的V1, dnode6中的V2组成了一个组),虚拟节点组里的虚拟节点的数据以异步的方式进行同步,并实现数据的最终一致性,以保证一份数据在多台物理机器上有拷贝,而且即使一台物理机器宕机,总有位于其他物理机器上的虚拟节点能处理数据请求,从而保证系统运行的高可靠性。

虚拟管理节点:负责所有节点运行状态的采集、节点的负载均衡,以及所有Meta Data的管理,包括用户、数据库、表的管理(图例中用M标明)。当应用需要插入或查询一张表时,如果不知道这张表位于哪个数据节点,应用会连接管理节点来获取该信息。Meta Data的管理也需要有高可靠的保证,系统采用Master-Slave的机制,容许多到5个虚拟管理节点组成一个虚拟管理节点集群(如图例中的M0, M1, M2)。这个虚拟管理节点集群的创建是完全自动的,无需任何人工干预,应用也无需知道虚拟管理节点具体在哪台物理机器上运行。

集群对外服务IP:整个系统可以由多台甚至数万台服务器组成,但对于应用而言,只需要提供整个集群中任何一台或两台服务器的IP地址即可。 集群将根据应用的请求,自动的将请求转发到相应的一个甚至多个节点进行处理,包括聚合、计算 *** 作等。这些复杂的分发和路由对应用是完全透明的。

4 存储结构

为提高压缩和查询效率,思极有容时序数据库采用列式存储。与众多时序数据库不同的是,思极有容时序数据库基于时序数据的特点,将每一个采集点的数据作为数据库中的一张独立的表来存储。这样对于一个采集点的数据而言,无论在内存还是硬盘上,数据点在介质上是连续存放的,这样大幅减少随机读取 *** 作,减少IO *** 作次数,数量级的提升读取和查询效率。而且由于不同数据采集设备产生数据的过程完全独立,每个设备只产生属于自己的数据,一张表也就只有一个写入者。这样每个表就可以采用无锁方式来写,写入速度就能大幅提升。同时,对于一个数据采集点而言,其产生的数据是时序的,因此写的 *** 作可用追加的方式实现,进一步大幅提高数据写入速度。

数据具体写如流程如图所示:

写入数据时,先将数据点写进Commit日志,然后转发给同一虚拟节点组里的其他节点,再按列写入分配的内存块。当内存块的剩余空间达到一定临界值或设定的commit时间时, 内存块的数据将写入硬盘。内存块是固定大小(如16K)的, 但依据系统内存的大小,每个采集点可以分配一个到多个内存块,采取LRU策略进行管理。在一个内存块里,数据是连续存放的,但块与块是不连续的,因此思极有容时序数据库为每一个表在内存里建立有块的索引,以方便写入和查询。

数据写入硬盘是以添加日志的方式进行的,以求大幅提高落盘的速度。为避免合并 *** 作,每个采集点(表)的数据也是按块存储,在一个块内,数据点是按列连续存放的,但块与块之间可以不是连续的。思极有容时序数据库对每张表会维护一索引,保存每个数据块在文件中的偏移量,起始时间、数据点数、压缩算法等信息。每个数据文件仅仅保存固定一段时间的数据(比如一周,可以配置),因此一个表的数据会分布在多个数据文件中。查询时,根据给定的时间段,思极有容时序数据库将计算出查找的数据会在哪个数据文件,然后读取。这样大幅减少了硬盘 *** 作次数。多个数据文件的设计还有利于数据同步、数据恢复、数据自动删除 *** 作,更有利于数据按照新旧程度在不同物理介质上存储,比如最新的数据存放在SSD盘上,最老的数据存放在大容量但慢速的硬盘上。通过这样的设计,思极有容时序数据库将硬盘的随机读取几乎降为零,从而大幅提升写入和查询效率,让思极有容时序数据库在很廉价的存储设备上也有超强的性能。

为减少文件个数,一个虚拟节点内的所有表在同一时间段的数据都是存储在同一个数据文件里,而不是一张表一个数据文件。但是对于一个数据节点,每个虚拟节点都会有自己独立的数据文件。

5 数据分区、水平扩展

为处理每日高达数亿条的海量数据,数据必须在多个节点存放。在思极有容时序数据库里,数据是按照每个采集点(表)来存放的。一张表(一个采集点)的数据,即使每秒产生一百个字节的数据量,一年也才3G的数据量,压缩后,往往还不到300M,因此在思极有容时序数据库里,一个表的数据是不跨节点存储的,以便于单张表的快速高效的插入、查询和计算。

为更好的数据分区,思极有容时序数据库采用了虚拟数据节点的设计。一个虚拟数据节点包含多个表,表的数量可以配置。根据其计算和存储资源,一个物理节点将被划分为多个虚拟数据节点。虚拟数据节点的设计带来几大优势:

1)更好的支持硬件异构环境,资源多的服务器可以创建更多的虚拟节点;

2)恢复一个宕机的节点,可以让众多的其他节点参与进来,大大加快速度;

3)如果撤掉一个数据节点,该节点上的虚拟节点将被相当均匀的迁移到其他节点上去;

4)新增一个数据节点,负载过热的节点的上的部分虚拟节点将被整体迁移过来。这一切让负载更加均衡,让数据同步变得更加高效。

与传统的数据库相似,用户可以创建多个数据库,每个库里面,可以创建多个表。一个库可以横跨多个虚拟数据节点,但一个虚拟数据节点仅仅属于一个数据库。当用户添加一个表时,管理节点将查看已经分配的虚拟节点里是否还有空位,如果有,就将该表分配到这虚拟节点。如果这个库的所有虚拟节点都没有空位,管理节点将根据负载均衡的策略(随机、轮询等)来分配一个新的虚拟节点给该库,然后将该表分配到新的虚拟节点里。由于一台物理主机有多个虚拟数据节点,这种策略能保证负载均匀分布。

管理节点负责整个系统的负载均衡,包括虚拟数据节点的增加、删除、迁移、合并与拆分。管理节点并不保存每个采集点采集的数据,只是管理虚拟节点,即使宕机,也不会影响现有各虚拟节点的数据插入和查询 *** 作。各个采集点或应用从管理节点获取分配的虚拟数据节点信息后,然后直接与虚拟数据节点通讯,直接将数据插入数据库,对于查询 *** 作也是如此。因此,系统容量以及吞吐率与虚拟数据节点的个数成正比,整个系统是水平扩展的

6 高可靠系统

为保证数据节点的高可靠性,思极有容时序数据库引入了虚拟数据节点组的概念,并采用异步的方式进行数据同步。一个虚拟节点组由处于不同物理主机上的虚拟数据节点组成,虚拟数据节点个数就是数据冗余的个数(Replication Factor,一般大于2)。在一个虚拟节点组里,各个虚拟数据节点通过心跳包实时知道对方的状态。如果一个虚拟数据节点收到数据写入的请求,该请求会被立即转发给其他虚拟数据节点,然后在本地存储处理。当应用连接思极有容时序数据库系统时,对于要 *** 作的任何一张表,系统会给应用提供该表所属的虚拟数据节点组里各个虚拟节点的IP地址(如果replication factor为3,就会有3个IP地址),如果链接其中一个失败或者 *** 作失败,应用会尝试第二个、第三个,只有所有节点失败才会返回失败。这样保证虚拟数据节点组里任何一台机器宕机,都不会影响对外的服务。这些复杂的重新连接流程都被思极有容时序数据库 Driver包装隐藏起来,应用开发者无需写程序来实现。

为保证效率,思极有容时序数据库采取异步方式实现多个副本之间的实时数据同步,采取的是最终一致性,而不是强一致。当一台主机重启时,每个虚拟数据节点都会检查自己数据的版本是否与其他虚拟节点一致,如果版本不一致,需要同步后才能进入对外服务状态。在运行过程中,由于各种原因,数据仍然可以失去同步,这种不同步会在收到转发的写入请求时被发现,一旦被发现,版本低的虚拟数据节点将马上停止对外服务,进入同步流程,同步完后,才会重新恢复对外服务。同步过程中,高版本的节点还可以正常的对外提供服务。

管理节点负责存储Meta数据,同时根据每个数据节点状态来负责负载均衡,因此也要保证其高可靠性。多个虚拟管理节点组成一个虚拟管理节点组,因为Meta数据可以被多个应用同时更新,因此思极有容时序数据库采用的是Master-Slave模式实现虚拟管理节点的数据同步。写的 *** 作,只有Slave节点写入成功后,Master节点才会返回成功,从而保证数据的强一致性。如果Master节点宕机,系统有机制保证其中一个Slave会立即被选举为Master, 从而保证系统写 *** 作的高可靠性。

由于Meta数据量并不大,Meta数据虽然需持久化存储,但将其完全保存在内存,以保证查询 *** 作的高效。在应用侧,为避免每次数据 *** 作都访问管理节点,思极有容时序数据库 Driver将必要的Meta数据都会缓存在本地,只有当需要的Meta数据不存在或失效的情况下,才会访问管理节点,这样大大提高系统性能。

管理节点在集群中存在,但对于应用和系统管理员而言,是完全透明的。整个系统会自动在物理节点上创建虚拟管理节点以及虚拟管理节点组。

7 STable:多表聚合

各个数据采集点的时钟是很难同步的,为保证其时序,而且为保证单一采集点的数据在存储介质上的连续性,思极有容时序数据库要求每个数据采集点单独建表,这样能极大提高数据的插入速度以及查询速度,但是这将导致系统表的数量猛增,让应用对表的维护以及聚合、统计 *** 作难度加大。为降低应用的开发难度,思极有容时序数据库引入了STable超级表的概念。

STable是表的集合,包含多张表,而且这个集合里每张表的Schema是一样的。同一类型的采集设备可创建一个STable。与表一样,包含Schema,但还包含标签信息。Schema定义了表的每列数据的属性,如温度、压力等,而标签信息是静态的,属于Meta Data,如采集设备的型号、位置等。思极有容时序数据库扩展了标准SQL的table的定义,创建时,除指定Schema外,还可以带关键词tags来指定有哪些标签。如:

create table m1(ts timestamp, pressure int, rpm int) tags (model binary(8), color binary(8))

上述SQL创建了一个STable m1, 带有标签model和标签color。为某一个具体的采集点创建表时,可以指定其所属的STable以及标签的值,比如:

create table t1 using m1 tags (‘apple’, ‘red’)

上述SQL以STable m1为模板,创建了一张表t1,这张表的Schema就是m1的Schema,但标签model设为apple,标签color设为red。插入数据时,仍然按照正常的方式进行插入。但查询时,除传统的表的查询外,还可以基于标签对STable进行各种聚合查询或统计。如:

select avg(pressue) from m1 where model=’apple’ interval(5m) group by color

上面这个SQL语句表示将标签model值为apple的所有采集点的记录的每5分钟的平均值计算出来,并按照标签color进行分组。

对于STable的查询 *** 作,完全与正常的表一样。但一个定义的STable可以包含多张表(多个数据采集点),应用可通过指定标签的过滤条件,对一个STable下的全部或部分表进行聚合或统计 *** 作,这样大大简化应用的开发。其具体流程如下图所示:

1) 、应用将一个查询条件发往系统;

2) 、Driver将查询的过滤条件发往Meta Node(管理节点);

3) 、管理节点将符合查询过滤条件的表的列表发回Driver(包含每个表对应的数据节点的IP地址);

4) 、这些返回的表可能分布在多个数据节点,Driver将计算的请求发往相应的多个数据节点;

5) 、每个数据节点完成相应的聚合计算,将结果返回给Driver;

6) 、Driver将多个数据节点返回的结果做最后的聚合,将其返回给应用。

8 数据模型

思极有容时序数据库采用的仍然是传统的关系型数据库的模型。用户需要根据应用场景,创建一到多个库,然后在每个库里创建多张表,创建表时需要定义Schema。对于同一类型的采集点,为便于聚合统计 *** 作,可以先定义超级表STable,然后再定义表。

不同的采集点往往具有不同的数据特征,比如有的采集点数据采集频率高,有的数据保留时长较长,有的采集数据需要3份备份,而有的数据一份备份即可,有的采集点一条记录很大,而有的采集点的记录仅仅16个字节,很小。为让各种场景下思极有容时序数据库都能最大效率的工作,思极有容时序数据库建议将不同数据特征的表创建在不同的库里。创建一个库时,除SQL标准的选项外,应用还可以指定保留时长、数据备份的份数、cache大小、是否压缩等多种参数。

思极有容时序数据库对库的数量、STable的数量以及表的数量没有做任何限制,而且其多少不会对性能产生影响,应用按照自己的场景创建即可。

9 实时流式计算

在存储的原始数据上,思极有容时序数据库可以做各种计算,目前支持的主要 *** 作包括:

· Avg:以每个采样时间范围内的value的平均值作为结果

· Dev:以每个采样时间范围内的value的标准差作为结果

· Count:以每个采样时间范围内的点的数目作为结果

· First:以每个采样时间范围内的第一个value作为结果

· Last:以每个采样时间范围内的最后一个value作为结果

· LeastSquares:对每个采样时间范围内的value进行最小二乘法的拟合

· Max:以每个采样时间范围内的value的最大值作为结果

· Min:以每个采样时间范围内的value的最小值作为结果

· Percentile:每个采样时间范围内的value的第p百分位数作为结果。

· Sum:以每个采样时间范围内的value的总和作为结果

· Diff:以每两个相邻的value的差值作为结果

· Div:以每个value除以一个除数作为结果

· Scale:以每个value乘以一个倍数作为结果

· 基于多个采集点数据的四则运算表达式

思极有容时序数据库还可对一个或多个数据流进行实时聚合、统计等计算,并将计算出的衍生数据当做新的数据保存进思极有容时序数据库,以便后续的 *** 作。实时计算与聚合查询很类似,只是后台定时进行,并自动滑动计算窗口的起始点。工作方式与其他流式计算引擎的Sliding Window相似。

实时计算可以通过一个简单的创建表的 *** 作来实现。如:

create table d1 as select avg (pressure) from t1 interval (60s) sliding(10s)

上述SQL表示将表t1里字段pressure每10秒钟(每次滑动的时间间隔)将过去的60秒钟(聚合计算的时间间隔)的数据平均值计算出来并写入表d1。计算出的衍生数据可以与其他原始数据或计算出的衍生数据进行再次计算。

10 便捷的安装、部署、维护

思极有容时序数据库是在Linux上开发的,任何Linux系统都可以运行,而且不依赖任何第三方软件,也不是在某个开源项目上包装出来的产品。获得安装包并解压后,只需执行安装脚本就一切搞定,极其简单。

安装后,会在安装的机器上自动创建虚拟数据节点和管理节点,开发者就可以使用了,能满足一般性的需求。但如果数据量大,就需要将软件安装到多台主机。这时也只需要在每台机器配置好Master IP, 系统管理员打开思极有容时序数据库Shell, 将新添加的主机添加进系统即可。如果要撤销一个物理节点,登录思极有容时序数据库 Shell, 将其删除即可,极其简单。传统数据库所需要的数据分区、数据迁移等等都一概不存在。

因为数据是自动同步到多个节点的,系统管理员不用担心数据的丢失,也不用制定备份和数据恢复策略,一切全自动进行。

如果软件需要升级,只要在思极有容时序数据库Shell里将新版本上传即可。管理节点将挨个把每个节点的软件进行升级,而且整个系统的服务将不停止,服务不受任何影响。如果要更换设备,只需将其拔除,安装上软件后,将新设备重新插入即可。换言之,思极有容时序数据库完全支持在线升级以及硬件的热插拔,从而保证服务的724的不间断运行。

开发人员需要做的是定义表的结构,根据具体场景,配置好各种参数,让系统性能达到最优。系统管理员只需要关注与硬件相关的报警信息,对于经常出问题的服务器或硬盘,进行更换而已。使用思极有容时序数据库, 整个系统的运维工作变得极为简单,将大大降低运营成本。

11 更多亮点

订阅模式:与标准的数据库不同,思极有容时序数据库还提供一种订阅模式。应用程序可以订阅数据库某张表的内容,一旦该表有新的记录,应用将立即得到通知。同一个表可以被多个应用订阅。与流行的消息中间件Kafka一样,订阅采取的是pull而不是push模式。Kafka的publish *** 作由数据库插入 *** 作代替。由于思极有容时序数据库具有极高的插入速度, 通过采用订阅模式,思极有容时序数据库本身也可以作为一个消息队列中间件来使用。

异步插入:为避免网络延迟带来的性能下降,更好的提高数据插入速度,思极有容时序数据库还提供一组API让应用异步插入数据。当应用调用插入API时,将立即得到反馈,等记录成功插入后,思极有容时序数据库将调用应用提供的回调函数通知应用。采用异步插入,性能将大幅提高。

Nagle算法:时序数据应用场景里,每条记录一般都很小,很多不到20字节,因此整个系统处理的是大量的小数据包。为了更进一步提高性能,减少网络IO次数,思极有容时序数据库采用了类似TCP协议的Naggle算法,客户端将缓存插入请求,只有记录的大小超过一定的大小或者缓存时间超过100毫秒,被缓存的插入请求才会被发往系统。对于时间要求很高的应用,该功能可以关闭。

12 参数指标

· 支持数据类型:tinyint, smallint, int, bigint, float, double, binary

· 单记录最大长度:4096字节

· 最大记录条数:仅受存储空间限制

· 最大表的个数:仅受节点个数限制

· 最大数据备份数:5份

· 单节点插入速度:3万条/秒(单核,16字节每记录,每次一条,无同步备份)

· 单节点查询速度:2000万条/秒(单核,16字节每记录,全内存)

· 更多指标将陆续提供

13 应用场景

思极有容时序数据库作为一个基础性的软件,应用范围及其广泛,原则上,所有使用机器、设备、传感器采集数据的地方都可以用上。一些典型场景罗列如下:

· 公共安全:上网记录、通话记录、个体追踪、区间筛选

· 电力行业:智能电表、电网、发电设备的集中监测

· 通讯行业:话费详单、用户行为、基站/通讯设备监测

· 金融行业:交易记录、存取记录、ATM、POS机监测

· 出行工具:火车/汽车/出租/飞机/自行车的实时监测

· 交通行业:实时路况,路口流量监测,卡口数据

· 石油石化:油井、运输管线、运输车队的实时监测

· 互联网:服务器/应用监测、用户访问日志、广告点击日志

· 物流行业:车辆、集装箱的追踪监测

· 环境监测:天气、空气、水文、地质环境等监测

· 物联网:电梯、锅炉、机械、水表、气表等各种联网设备

· 军工行业:各种军事装备的数据采集、存储

· 制造业:生产过程管控,流程数据、供应链数据采集与分析

网页链接 技术白皮书网页链接请单击查看!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/12887324.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存