场景应用

分享数百个 HT 工业互联网 2D 3D 可视化应用案例

半世苍凉 提交于 2019-12-03 04:54:13
在 2018 到 2019 年,我们认为是国内工业互联网可视化的元年, 图扑软件 作为在工业可视化领域的重度参与者,一线见证了众多 HTML5/Web 化、2D/3D 化的项目在工业界应用落地,我们觉得有必要在此分享下过去一年,基于 HT 实施的数百个工业互联网 2D 3D 可视化应用案例,希望能激发行业和学术工作者对可视化的深度思考,为推进国内工业互联网发展出份薄力。 数百个工业互联网2D/3D可视化案例集: http://www.hightopo.com/demos/index.html 提到工业互联网往往会涉及:物联网、IoT、5G、数字孪生、边缘计算、PaaS平台、SaaS应用、产业互联网、互联网+、工业4.0、智慧城市、智慧园区、智慧楼宇、智能制造等概念,但本文将围绕可视化的话题,围绕更基础的 HTML5/WebGL/WebVR 等底层技术,我们觉得业界还没达到智能化、平台化的成熟阶段,走得太快即使是 GE Predix 也会从明星变流星,了解垂直行业需求,采集足够多有效数据,做好实时的、稳定的、美观的、Web 化的 2D 和 3D 数据可视化呈现,是工业互联网需要走好的第一步。 3D城市建筑群: http://www.hightopo.com/demo/intelligent-city/entry/dest/index.html 3D动车站: https:/

Zookeeper系列(三):应用场景

▼魔方 西西 提交于 2019-12-03 01:10:36
Zookeeper被广泛应用于各种分布式集群场景中,比如Hadoop、Storm、Spark、Kafka等,要想学好大数据分析,不可避免的要用到大规模机器集群,了解和掌握Zookeeper的工作原理将会对学好大数据分析起到事半功倍的作用。 1、实时配置文件 Zookeeper可以作为互联网应用的实时配置开关,将配置信息设置在Zookeeper的node上,并在应用中设置Zookeeper的观察者,实时获取该node关联数据的变化,达到动态实时控制应用的配置信息的目的,实时调控生产环境各项参数。 在大型电商网站中,这种方式可用于节假日等流量爆发的场景,关闭某些不太重要的电商网站功能,降低并发量大爆发对服务器性能的冲击。 2、Kafka中使用 Kafka通过Zookeeper的使用提供给客户端负载均衡能力,每个Kafka客户端直接通过连接Zookeeper就能获得整个Kafka的配置信息。 Kafka将队列服务的机器注册在Zookeeper上,同时维护客户端列表,依靠负载均衡算法将客户端动态分配到合适的队列分区上,维持整个集群的负载均衡。客户端不需要预先知道当前的队列到底分配在哪个机器上,通过Zookeeper获取队列分配的动态变化。 3、Hadoop使用 在Hadoop1.x版本中Master是单节点模式,存在单点故障不支持热备份。Hadoop2

Redis应用场景

匿名 (未验证) 提交于 2019-12-03 00:44:02
Memcached 采用客户端 - 服务器的架构,客户端和服务器端的通讯使用自定义的协议标准,只要满足协议格式要求,客户端 Library 可以用任何语言实现。 Memcached服务器 使用基于 Slab 的内存管理方式,有利于减少内存碎片和频繁分配销毁内存所带来的开销。各个 Slab 按需动态分配一个 page 的内存(和 4Kpage 的概念不同,这里默认 page Ϊ 1M ), page 内部按照不同 slab class 的尺寸再划分为内存 chunk 供服务器存储 KV 键值对使用( slab机制相当于内存池机制, 实现从操作系统分配一大块 内存, 然后 memcached 自己管理这块内存, 负责分配与回收。) 关于memcached的内存分配机制: Memcached 内存分配机制介绍   1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。   2.Memcached与MySQL数据库数据一致性问题。   3.Memcached数据命中率低或down机,大量访问直接穿透到DB,MySQL无法支撑。   4.跨机房cache同步问题。 Memcache存储大数据的问题   众多NoSQL百花齐放,如何选择   最近几年,业界不断涌现出很多各种各样的NoSQL产品,那么如何才能正确地使用好这些产品

Redis消息队列实现秒杀

匿名 (未验证) 提交于 2019-12-03 00:43:02
消息队列的应用场景例如:秒杀、抢单功能。 下面写个Demo简单实现一下秒杀,也就是抢购。 首先创建一个 lpush.html 文件,代码如下: <!DOCTYPE html> <html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="jquery-3.2.1.min.js" ></script> <script> function push(uid){ $('#msg'+uid).html('请耐心等待.......'); $.get('lpush.php',{"uid":uid},function (data){ if(data == 1 ){ $('#msg'+uid).html('抢购成功!!'); }else{ $('#msg'+uid).html('抢购失败!!'); } }); } </script> </head> <body> <span id="msg5"></span><br> <input type="button" value="抢购5" onclick="push(5)"><br> <span id=

zookeeper应用场景

匿名 (未验证) 提交于 2019-12-03 00:38:01
应用场景1-统一命名服务 应用场景2-配置管理 应用场景3-集群管理 》Zookeeper 不仅能够维护当前的集群中机器的服务状态,而且能够选出一个“总管”,让这个总管来管理集群,这就是 Zookeeper 的另一个功能 Leader Election 应用场景4-共享锁 共享锁在同一个进程中很容易实现,但是在跨进程或者在不同 Server 之间就不好实现了。Zookeeper 却很容易实现这个功能,实现方式也是需要获得锁的 Server 创建一个 EPHEMERAL_SEQUENTIAL 目录节点,然后调用 getChildren方法获取当前的目录节点列表中最小的目录节点是不是就是自己创建的目录节点,如果正是自己创建的,那么它就获得了这个锁,如果不是那么它就调用 exists(String path, boolean watch) 方法并监控 Zookeeper 上目录节点列表的变化,一直到自己创建的节点是列表中最小编号的目录节点,从而获得锁,释放锁很简单,只要删除前面它自己所创建的目录节点就行了。 应用场景5-队列管理 转载请标明出处: zookeeper应用场景 文章来源: zookeeper应用场景

C语言 typedef 的三种应用场景

匿名 (未验证) 提交于 2019-12-03 00:03:02
笔记内容基于以下学习资料整理: 黑马最新c、c++全栈培训第24期高清无密(全)\02c语言提高\02-c提高01day\C提高 day01\课堂视频\05 typedef用法_.mp4 typedef的三种应用场景: typedef struct Person { } myPerson ; typedef char * PCHAR ; typedef long long myType ; typedef struct Person{ }myPerson; 给结构体struct定义别名,避免每次使用时都输入struct; typedef char * PCHAR; 如果需要同时定义两个指向某类型的指针,一种可能的错误写法如下: char * p1 , p2 ; 错误原因在于,上述定义的变量p1是指向char 的指针,而 p2只是一个char类型。 正确的写法如下: char * p1 , * p2 ; 然而,如果不想多次输入 * 符号,则可以使用 typedef char * PCHAR PCHAR p1 , p2 ; 【补充内容】:C++ 输出变量类型 cout << typeid ( p1 ) . name ( ) << endl ; typedef long long myType 这会破坏代码的可移植性; 如果代码中要用到很多long long

360面试记录

匿名 (未验证) 提交于 2019-12-03 00:02:01
初面: SQL注入 (1)如何判断一个页面存在SQL注入,有哪些方法 (2)针对具体数据库如何进行注入,如access,sqlserver,mysql,oracle,mongodb,Nosql (3)碰到有Waf的情况如何绕过,有哪些绕过手段 XSS (1)XSS分类 (2)Dom型XSS应用场景 (3)XSS的具体作用 CSRF (4)原理 (5)具体应用场景 上传 (6)给定一个场景,如何绕过,黑白名单绕过 代码审计 (7)做过哪些代码审计,具体发现了哪些漏洞,原理是什么 EXP编写能力 (8)给定具体场景,手工编写Java 反序列化某CVE EXP 竞赛能力 (9)比赛过程中遇到的比较有意义的题目 编码 (10)Cookie和Session的原理 来源:博客园 作者: AdreamWillB 链接:https://www.cnblogs.com/AtesetEnginner/p/11502372.html

存储快照实现原理

匿名 (未验证) 提交于 2019-12-02 23:56:01
存储快照实现原理 https : //www.cnblogs.com/tcicy/p/8444306.html 存储快照有两种实现方式:COW(写时复制 Copy-On-Write )、ROW(写重定向 Redirect-On-Write ),两种实现方法有区别,造成读写性能、应用场景有比较大的区别。 COW: 原理见下图(从网上找的,没自己画)。 1)原卷数据是A~G。此卷Metedata像指针一样指向这些数据。 2)当做快照时,重新复制一份Metedata,并且也指向这些A~G数据。 3)当有数据要写入到源卷时(下图写入D'),写入到D的原位置之前,需要把D拷贝出放到一个新位置。然后修改快照的Metedata的其中一个指针指向拷贝出的位置[D](图中是Snapshot data的存储位置)。同时,把D’写入到D原来的位置。 此方式可以看出,源卷的Metedata的是没有变化的。对原卷是连续的数据,多次快照,多次写之后还是 连续的数据 ,因此读性能或者对单个位置的多次写性能都不会有很大的影响。 但是, 快照的数据是非连续的 ,如数据ABCEFG还是在源卷的位置,是连续数据。而数据D在存储的其他位置,非连续。 如果多次快照,不同位置的多次读写后,快照的数据可能就比较混乱。造成对快照的读写延时较大。 应用场景: 这种实现方式在第一次写入某个存储位置时需要完成一个读操作(读原位置的数据

匿名对象

匿名 (未验证) 提交于 2019-12-02 23:43:01
概念 创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用场景非常有限。 匿名对象 : 没有变量名的对象。 格式: new 类名(参数列表); 应用场景 创建匿名对象直接调用方法,没有变量名,简化书写。 匿名对象可以作为方法的参数和返回值 作为参数: 作为返回值:

消息队列及常见消息队列介绍

匿名 (未验证) 提交于 2019-12-02 22:56:40
导语 : 消息队列是分布式系统中重要的组件,在很多生产环境如商品抢购等需要控制并发量的场景下都需要用到。最近组内需要做流水server的选型升级,这里对消息队列及常见的消息队列进行了一次调研,整理了相关资料,分享给大家。 一、消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。 消息队列主要解决了应用耦合、异步处理、流量削锋等问题。 当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、Mysql以及phxsql也可实现消息队列的功能。 二、消息队列使用场景 消息队列在实际应用中包括如下四个场景: 应用耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败; 异步处理:多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间; 限流削峰:广泛应用于秒杀或抢购活动中,避免流量过大导致应用系统挂掉的情况; 消息驱动的系统:系统分为消息队列、消息生产者、消息消费者,生产者负责产生消息,消费者(可能有多个)负责对消息进行处理; 下面详细介绍上述四个场景以及消息队列如何在上述四个场景中使用: 2