信息存储

thingsboard(2.4 postgresql版)数据库表结构说明

旧街凉风 提交于 2020-01-16 20:21:36
本文描述的表结构是根据thingsboard2.4(postgresql版)数据库中整理出来的,不一定完整,后续有新的发现再补充文档。 一、数据库E-R关系 Thingsboard2.4社区版共22个表,主要包括实体信息表、关系信息表、字典表和系统配置表。 二、数据库表结构 1、admin_settings 系统设置表 存储系统设置信息,目前的设置信息包括系统的访问URL地址,以及邮件发送相关配置信息。 Key为配置项,如general、mail,json_value是一个json字符串,是配置项对应的一个或多个键值对信息组成一个json字符串。 2、alarm 警告信息表 Key为配置项,如general、mail,json_value是一个json字符串,是配置项对应的一个或多个键值对信息组成一个json字符串。 3、asset资产信息表 可能与其他设备和资产相关的抽象物联网实体。例如工厂,油田,车辆。 4、attribute_kv属性信息表 存储实体信息的属性信息,属性信息可以是静态和动态的,属性信息以键值对方式存储。 5、audit_log审计日志 存储客户、用户、资产、设备、实体视图、仪表盘和规则链等实体信息的操作日志。 action_data字段按照json字符串的格式存储操作对象的信息。例如action_type字段是ADDED\UPDATED时,action

JVM

北城余情 提交于 2020-01-16 20:04:22
JVM 主要流程图 Java源码编译由以下三个过程组成: 分析和输入到符号表 注解处理 语义分析和生成class文件 编译时期-语法糖 语法糖可以看做是编译器实现的一些“小把戏”,这些“小把戏”可能使得效率大大提升 其中最值得说的就是泛型了,这个语法糖可以说被我们经常使用的 泛型只会在Java源码中存在,编译过后会被替换为原来的原生类型(Row Type,也称为裸类型)。这个过程叫做:泛型擦除 有了泛型这个语法糖后 代码更加简洁【不用强制类型转换】 程序更加强壮【只要编译时期没有警告,那么运行时期就不会出现ClassCastException】 可读性和稳定性【在编写集合的时候,就限定了类型】 JVM实现跨平台 至此,我们通过javac.exe编译器来编译我们的.java文件生成出.class文件 这些.class文件很明显是不能直接运行的,它不像C语音(编译cpp后生成exe文件直接运行) 这些.class文件是交由JVM来解析运行的 JVM是运行在操作系统之上的,每个操作系统的指令是不同,而JDK是区分操作系统的,只要你的本地系统装了JDK,这个JDK就是能够和当前系统兼容的。(jdk是区分平台的,class文件会被翻译成不同的平台的机器编码) class字节码运行在JVM之上,所以不用关系class字节码是在哪个操作系统编译的,只要符合JVM规范,那么

以太坊框架梳理

狂风中的少年 提交于 2020-01-16 15:32:54
一、整体框架 1、以太坊介绍 以太坊是一个开放的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether,简称“ETH”)提供以太虚拟机(Ethereum Virtual Machine)来处理去中心化合约应用。 以太虚拟机 以太坊虚拟机(EVM):可以执行复杂算法的编码的,具备图灵完备的基于栈的虚拟机。 以太坊使用场景 支付系统:用于去中心数字货币交易,价值互换 去中心化应用:黄金和股票的数字化应用、金融衍生品应用、数字认证、追踪溯源、游戏等 以太坊特点 智能合约(smart contract):存储在区块链上的程序,由各节点运行,需要运行程序的人支付手续费给节点的矿工或权益人。 代币(tokens):智能合约可以创造代币供分布式应用程序使用。分布式应用程序的代币化让用户、投资者以及管理者的利益一致。代币也可以用来进行首次代币发行。 叔块(uncle block):将因为速度较慢而未及时被收入母链的较短区块链并入,以提升交易量。 账户系统和世界状态:以太坊不采用UTXO,容易支持更复杂的逻辑 状态通道(state channels):原理类似比特币的闪雷网络,可提升交易速度、降低区块链的负担,并提高可扩展性。尚未实现,开发团队包括雷电网络(Raiden Network)和移动性网络(Liquidity Network)。 以太坊缺点 性能有待提升

Yum包管理

狂风中的少年 提交于 2020-01-16 01:21:47
Yum Yum 是Red Hat软件包管理器,它能够查询有关可用软件包的信息,从存储库获取软件包,安装和卸载软件包,以及将整个系统更新到最新的可用版本。Yum在更新,安装或删除软件包时执行自动依赖性解析,因此能够自动确定,获取和安装所有可用的依赖软件包。 Yum可以配置新的,额外的存储库或 包源 ,还提供许多增强和扩展其功能的插件。百胜可以执行许多与 RPM 相同的任务; 此外,许多命令行选项都是类似的。Yum可以在一台计算机或一组计算机上轻松简单地进行包管理。 检查和更新包 通过Yum,可以检查系统是否有等待应用的更新。可以列出需要更新的软件包并将其作为整体进行更新,也可以更新选定的单个软件包。 查询更新 要查看系统上哪些已安装的软件包具有可用更新,请使用以下命令: yum check-update yum check-update 的输出类似这样: 更新包 您可以选择一次更新单个包,多个包或所有包。如果您更新的软件包或软件包的任何依赖项本身都有可用的更新,那么它们也会更新。 更新单个包 要更新单个程序包,请运行以下命令 root : yum update 包名 yum 提供更新信息,然后提示您确认更新; yum默认以交互方式运行。如果您已经知道 yum 命令计划执行哪些事务,则可以使用该 -y 选项自动回答 yes yum请求的任何问题(在这种情况下,它以非交互方式运行)。但是

Oracle索引大全

隐身守侯 提交于 2020-01-15 20:09:29
文档结构如下: 前言: Oracle 官方文档对索引的描述真是弱透了,对索引的说明就是一坨……,support也没有很好的资料,下面还是用的官方上的内容经过自己的整理加上网上的资料;至于为什么用索引,以及索引的重要性,相信大家都知晓;如果把数据库所有的表比如成一本书,那么,索引就是书的目录,你不可能每一次查看书的内容从第一页读到最后一页,不用目录吧!! 索引类型: 索引是与表和群集关联的可选结构,可以使SQL查询对表执行得更快。正如本手册中的索引可以帮助您更快地找到信息(没有索引)一样,Oracle数据库索引提供了对表数据的更快访问路径。您可以使用索引而无需重写任何查询。结果是相同的,但是可以更快地看到它们。 Oracle数据库提供了几种索引方案,这些方案提供了互补的性能功能。这些是: B树索引:默认索引和最常见索引 B树集群索引:专门为集群定义 哈希集群索引:专门为哈希集群定义 全局和局部索引:与分区表和索引有关 反向键索引:对Oracle Real Application Clusters应用程序最有用 位图索引:紧凑;最适合具有少量值的列 基于函数的索引:包含函数/表达式的预先计算的值 域索引:特定于应用程序或盒带。 索引在逻辑上和物理上独立于关联表中的数据。作为独立的结构,它们需要存储空间。您可以创建或删除索引,而不会影响基表,数据库应用程序或其他索引。当您插入

Openstack

你离开我真会死。 提交于 2020-01-15 04:12:01
openstack相关知识点 云计算(cloud computing)   基于互联网的相关服务的增加、使用和交付模式,   通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。   云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。   因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。   用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算 云服务模式   IaaS 基础设施即服务     消费者通过Internet可以从完善的计算机基础设施获得服务     例如:腾讯云、阿里云等   PaaS 平台即服务 (= IaaS + 开发环境)     把服务器平台作为一种服务提供的商业模式,通过网络进行程序提供的服务   SaaS 软件即服务     它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上     客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务 云环境      私有云     为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施

OpenStack

*爱你&永不变心* 提交于 2020-01-15 04:08:43
前言 OpenStack是 模仿亚马逊 AWS 使用python开发的 IssA层实现框架 ,openstack遵循Apache2.0协议,使我兴奋的是它的WEB管理模块 horizon ,是使用Django开发的,站在巨人的肩膀上,也许我可以对其 进行二次开发; openstack涉及知识大而全,本文主要介绍openstack以下内容 openstack概念 openstack主要 组件的介绍 以及 组件间的通信流程 openstack支持的几种网络模式 (vlam/ gre/ vxlan) openstack支持的分布式存储 (Ceph) 基于openstack搭建一个iaas层私有云环境 什么是OpenStack OpenStack是一个由NASA( 美国国家航空航天局 )和Rackspace合作研发并发起的,以 Apache 许可证授权的 自由软件 和 开放源代码 项目。 该项目采用了模块化设计 由众多的模块组成1个框架,各个模块负责自己不同的功能; 0.核心组件: Horzion :提供web页面让用户管理主机(创建主机、挂载云盘、绑定浮动IP) Nova: 支持各种虚拟机驱动(Vmware/Zen/KVM)调用虚拟机驱动创建出主机;(硬件资源供应商) Glance :给虚拟机提供镜像;(操作系统供应商) Newtron :Neurton实现了SDN(软件定义网络

【JVM】内存管理-HotSpot虚拟机

房东的猫 提交于 2020-01-13 22:09:35
HotSpot虚拟机在Java堆中对象分配。布局和访问的全过程。 对象的创建 在语言层面上,创建对象通常(例外:复制、反序列化)仅仅是一个new关键字而已,而在虚拟机中,对象(文中讨论的对象限于普通Java对象,不包括数组和Class对象等)的创建又是怎样一个过程呢? 当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定,为对象分配空间的任务实际上便等同于把一块确定大小的内存块从Java堆中划分出来。 如何划分空间 假设Java堆中内存是 绝对规整 的,所有被使用过的内存都被放在一边,空闲的内存被放在另一边,中间放着一个指针作为分界点的指示器,那所分配内存就仅仅是把那个指针向空闲空间方向挪动一段与对象大小相等的距离,这种分配方式称为**“指针碰撞” (Bump ThePointer)。但如果Java堆中的内存并 不是规整 的,已被使用的内存和空闲的内存相互交错在一起,那就没有办法简单地进行指针碰撞了,虚拟机就必须维护一个列表,记录上哪些内存块是可用的,在分配的时候从列表中找到一块足够大的空间划分给对象实例,并更新列表上的记录

web.config常见的配置

自作多情 提交于 2020-01-13 16:39:10
web.config常见的配置 一、认识Web.config文件 Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的 Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个 Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。 (一).Web.Config是以XML文件规范存储,配置文件分为以下格式 1.配置节处理程序声明 特点:位于配置文件的顶部,包含在<configSections>标志中。 2.特定应用程序配置 特点: 位于<appSetting>中。可以定义应用程序的全局常量设置等信息. 3.配置节设置 特点: 位于<system.Web>节中,控制Asp.net运行时的行为. 4.配置节组 特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部. (二).配置节的每一节 1.<configuration>节根元素

web.config常见的配置

百般思念 提交于 2020-01-13 16:38:05
一、认识Web.config文件 Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的 Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个 Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。 (一).Web.Config是以XML文件规范存储,配置文件分为以下格式 1.配置节处理程序声明 特点:位于配置文件的顶部,包含在<configSections>标志中。 2.特定应用程序配置 特点: 位于<appSetting>中。可以定义应用程序的全局常量设置等信息. 3.配置节设置 特点: 位于<system.Web>节中,控制Asp.net运行时的行为. 4.配置节组 特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部. (二).配置节的每一节 1.<configuration>节根元素,其它节都是在它的内部. 2.