智慧城市人工智能开放平台建设方案.docx

上传人:b****6 文档编号:5188703 上传时间:2022-12-13 格式:DOCX 页数:39 大小:1.12MB
下载 相关 举报
智慧城市人工智能开放平台建设方案.docx_第1页
第1页 / 共39页
智慧城市人工智能开放平台建设方案.docx_第2页
第2页 / 共39页
智慧城市人工智能开放平台建设方案.docx_第3页
第3页 / 共39页
智慧城市人工智能开放平台建设方案.docx_第4页
第4页 / 共39页
智慧城市人工智能开放平台建设方案.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

智慧城市人工智能开放平台建设方案.docx

《智慧城市人工智能开放平台建设方案.docx》由会员分享,可在线阅读,更多相关《智慧城市人工智能开放平台建设方案.docx(39页珍藏版)》请在冰豆网上搜索。

智慧城市人工智能开放平台建设方案.docx

智慧城市人工智能开放平台建设方案

智慧城市人工智能开放平台建设方案

1.架构设计

1.1.总体架构设计

人工智能平台系统底层基于人工智能和大数据平台构建,在x86服务器之上提供数据的采集、存储、计算、算法模型和前端展现等功能。

人工智能平台和IoT提供人体识别、行为识别、倾倒行为分析等算法的建模和训练能力;人工智能平台边缘平台则处理街道、小区大门等前端摄像头设备数据的实时接入和监管,并提供模型部署、规则设计等功能。

基于平台,提供倾倒行为识别系统,并开放数据传输接口,用于倾倒行为信息等样本信息的导入和导出。

系统架构涉及到的组件由底向上详细信息如下:

1.1.1.容器操作系统

云平台系统是为大数据应用量身订做的云操作系统,基于Docker和Kubernetes开发。

支持一键部署,基于优先级的抢占式资源调度和细粒度资源分配,让大数据应用轻松拥抱云服务。

未来企业对于构建统一的企业大数据平台来驱动各种业务具有强烈需求,统一的企业大数据平台需要提供以下功能:

Ø资源弹性共享—提高资源利用率

•灵活部署:

支持灵活部署大数据应用和其他常规应用

•资源调度:

具备自动扩容和自动修复功能

•服务发现:

具备集中式的仓库

Ø隔离性—保障服务质量和安全性

•数据隔离:

包括数据源、访问模式等

•计算隔离:

隔离CPU、内存、网络、磁盘IO等

容器操作系统满足了以上企业大数据平台的需要,支持对TDH的一键式部署、扩容、缩容,同时也允许其他服务和大数据服务共享集群,从而提高资源的使用率。

容器操作系统创新的抢占式资源调度模型能在保障实时业务的同时,提高集群空闲时的资源占用,让批量作业和实时业务在互不干扰的情况下分时共享计算资源。

另外,在容器操作系统上运行的平台还引入微服务的架构,显著地降低了用户部署环境对稳定性的影响,提高了部署的可用性,并且能让用户在不停机的前提下,享受到将来更新版本的升级以及修复。

1.1.2.资源管理调度系统YARN

YARN(YetAnotherResourceNegotiator)是一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

YARN的基本思想是将JobTracker的两个主要功能(资源管理和作业调度/监控)分离,主要方法是创建一个全局的ResourceManager(RM)和若干个针对应用程序的ApplicationMaster(AM)。

这里的应用程序是指传统的MapReduce作业或作业的DAG(有向无环图)。

YARN分层结构的本质是ResourceManager。

这个实体控制整个集群并管理应用程序向基础计算资源的分配。

ResourceManager将各个资源部分(计算、内存、带宽等)精心安排给基础NodeManager(YARN的每节点代理)。

ResourceManager还与ApplicationMaster一起分配资源,与NodeManager一起启动和监视它们的基础应用程序。

在此上下文中,ApplicationMaster承担了以前的TaskTracker的一些角色,ResourceManager承担了JobTracker的角色。

ApplicationMaster管理一个在YARN内运行的应用程序的每个实例。

ApplicationMaster负责协调来自ResourceManager的资源,并通过NodeManager监视容器的执行和资源使用(CPU、内存等的资源分配)。

从YARN角度讲,ApplicationMaster是用户代码,因此存在潜在的安全问题。

YARN假设ApplicationMaster存在错误或者甚至是恶意的,因此将它们当作无特权的代码对待。

NodeManager管理一个YARN集群中的每个节点。

NodeManager提供针对集群中每个节点的服务,从监督对一个容器的终生管理到监视资源和跟踪节点健康。

MRv1通过插槽管理Map和Reduce任务的执行,而NodeManager管理抽象容器,这些容器代表着可供一个特定应用程序使用的针对每个节点的资源。

YARN继续使用HDFS层。

它的主要NameNode用于元数据服务,而DataNode用于分散在一个集群中的复制存储服务。

Ø集群的计算资源管理

YARN支持同时对CPU和内存资源的管理能力,YARN和分布式存储系统部署在同一个物理集群中,达到分布式计算中数据优先本地化计算的目的,避免计算过程中数据需要全部从网络获取。

通过YARN管理集群计算资源,当任意应用启动时,提交应用的Client向YARN的ResourceManager申请资源,ResourceManager为该应用寻找合适的服务器,从NodeManager获取一定的内存和CPU封装为一个Container,并在这个容器中启动ApplicationMaster,部署该应用的核心代码等。

然后ResourceManager再为该应用从所有的NodeManager中获取所需的资源,分装成多个Container供该应用计算使用。

当应用需要停止时,YARN销毁该应用占用的资源,并且回收,供后续的应用使用。

通过以上方式,YARN为每个应用分配一定的CPU和内存,在集群资源允许的情况下使得每个应用都能得到足够的资源运行。

但是YARN只能做到CPU和内存的计算资源管理和隔离,没有做到网络和磁盘IO的隔离。

Ø资源占用模式

TDH平台在一个Inceptor/Spark计算集群内部同样能实现计算资源在不同资源池(Pool)的共享与隔离,通过公平调度算法保证高优先级的Pool优先拿到闲置资源,同时每个Pool具有指定的资源保有量,避免高负载批处理业务占用全部计算资源。

同时,这种机制也能支持服务类的业务长期占用一定量的资源。

Ø资源的分配和回收

在Yarn上,可以非常方便的动态创建和销毁Spark或者Map/Reduce集群。

对于用户提交的MapReduce以及Spark作业以及Inceptor集群,需要提交到其有权限的队列中,向Yarn申请资源,当用户当集群中节点上有足够的资源满足作业中task的要求并且没有达到该用户资源使用上线时,Yarn中将这部分CPU和内存资源封装成container,提供给task运行;如果剩余的资源量不足以满足计算所申请的资源,则任务需要排队。

作业任务运行完成后动态销毁,释放占用的CPU与内存资源。

因此,对于平台分析应用,可以充分使用Yarn的特性,实现分析集群的按需创建与销毁,从而帮助实现资源、计算能力的统一调度和规划。

Ø资源配额

在Yarn中通过FairScheduler管理调度策略,支持定义用户最低获取资源,以及最高获取资源,用户提交任务时所占用的最低资源不低于分配给用户的最低资源,在空余资源的情况下,最高资源能够达到分配给用户的最高资源。

在其他任务需要资源时,根据优先级决定资源分配情况,如果优先级不够,支持抢占式调度,能够将低优先级作业占用的多余资源释放出来。

1.1.3.分布式文件系统HDFS

HDFS(Hadoop分布式文件系统)是运行在通用硬件上的分布式文件系统,本平台采用基于HDFS2.7.3的大数据存储和在线服务系,兼容现有Hadoop2.0稳定版本,支持文件数据、流数据、互联网数据的分布式存储于计算,同时支持ErasureCode以及HDFS文件加密。

HDFS提供了一个高度容错性和高吞吐量的海量数据存储解决方案。

HDFS已经在各种大型在线服务和大型存储系统中得到广泛应用,已经成为海量数据存储的事实标准。

HDFS通过一个高效的分布式算法,将数据的访问和存储分布在大量服务器之中,在可靠地多备份存储的同时还能将访问分布在集群中的各个服务器之上,是传统存储构架的一个颠覆性的发展。

NameNode管理元数据,包括文件目录树,文件->块映射,块->数据服务器映射表等;DataNode负责存储数据、以及响应数据读写请求;客户端与NameNode交互进行文件创建/删除/寻址等操作,之后直接与DataNodes交互进行文件I/O。

采用NamenodeHA方案保证HDFS的高可靠性,始终有一个Namenode做热备,防止单点故障问题。

采用QJM的方式实现HA,文件系统元数据存储在高可靠的由JournalNode组成的集群上。

同时当数据量太大导致单个Namenode达到处理瓶颈时,提供HDFSFederation功能,不同的NameService(由Namenode组成)处理挂载在HDFS上不同目录下的文件。

HDFS通过副本机制保证数据的存储安全与高可靠,默认如上图所示配置为3副本,的每个数据块分布在不同机架的一组服务器之上,在用户访问时,HDFS将会计算使用网络最近的和访问量最小的服务器给用户提供访问。

由于数据块的每个复制拷贝都能提供给用户访问,而不是仅从数据源读取,HDFS对于单数据块的访问性能将是传统存储方案的数倍。

HDFS支持文件的创建、删除、读取与追加,对于一个较大的文件,HDFS将文件的不同部分存放于不同服务器之上。

在访问大型文件时,系统可以并行从服务器阵列中的多个服务器并行读入,增加了大文件读入的访问带宽。

通过以上实现,HDFS通过分布式计算的算法,将数据访问均摊到服务器阵列中的每个服务器的多个数据拷贝之上,单个硬盘或服务器的吞吐量限制都可以数倍甚至数百倍的突破,提供了极高的数据吞吐量。

HDFS将文件的数据块分配信息存放在NameNode服务器之上,文件数据块的信息分布地存放在DataNode服务器上。

当整个系统容量需要扩充时,只需要增加DataNode的数量,系统会自动地实时将新的服务器匹配进整体阵列之中。

之后,文件的分布算法会将数据块搬迁到新的DataNode之中,不需任何系统当机维护或人工干预。

通过以上实现,HDFS可以做到在不停止服务的情况下实时地加入新的服务器作为分布式文件系统的容量升级,不需要人工干预文件的重新分布。

HDFS文件系统假设系统故障(服务器、网络、存储故障等)是常态,而不是异常。

因此通过多方面保证数据的可靠性。

数据在写入时被复制多份,并且可以通过用户自定义的复制策略分布到物理位置不同的服务器上;数据在读写时将自动进行数据的校验,一旦发现数据校验错误将重新进行复制。

1.1.4.分布式服务框架ZooKeeper

TDH平台通过Zookeeper进行协调服务。

Zookeeper是一个为分布式应用提供一致性服务的软件,提供的功能包括:

配置维护、名字服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

Zookeeper作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是Zookeeper并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。

通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。

Zoopkeeper提供了一套很好的分布式集群管理的机制,就是它这种基于层次型的目录树的数据结构,并对树中的节点进行有效管理,从而可以设计出多种多样的分布式的数据管理模型。

ZooKeeper允许各分布式进程通过一个共享的命名空间相互联系,该命名空间类似于一个标准的层次型的文件系统:

由若干注册了的数据节点构成(用Zookeeper的术语叫znode),这些节点类似于文件和目录。

典型的文件系统是基于存储设备的,文传统的文件系统主要用于存储功能,然而ZooKepper的数据是保存在内存中的。

也就是说,可以获得高吞吐和低延迟。

ZooKeeper的实现非常重视高性能、高可靠,以及严格的有序访问。

高性能保证了ZooKeeper可以用于大型的分布式系统,高可靠保证了ZooKeeper不会发生单点故障,严格的顺序访问保证了客户端可以获得复杂的同步操作原语。

1.1.5.人工智能平台

提供一站式的图形化机器学习平台。

使用人工智能平台可以完成包括数据预览、数据预处理、特征工程、建模、模型评估以及模型部署等整个数据分析流程。

对于大多数企业用户,要通过自己的力量从无到有打造人工智能平台的代价是巨大的,需要有技术实力强大的大数据团队和AI团队作为基础。

而人工智能平台打通了大数据平台和人工智能平台,业务分析师和数据分析师可以通过自动建模以及内置的行业模板轻松构建对应AI模型,从而提升业务价值。

完整的数据挖掘流程:

对于一款实用的数据挖掘工具来说是必要的。

然而,市面上的工具大多数都不具备这个能力。

机器学习产品不仅能够胜任完整的数据挖掘流程,在流程的每个步骤都能提供足够丰富和方便的算子,供用户灵活实用。

丰富的机器学习算法:

包含200+分布式算法支持、流式机器学习支持、自定义算子支持与标准模型导入导出。

强大的企业级特性:

包括完整的多租户能力支持,对于计算资源、数据资源等到细粒度隔离与共享;支持模型协作与功能功能;集成了LDAP、Kerberos等常见的权限认证手段;支持工作流与定时调度;结合容器技术对于大型集群进行高效的管理和调度。

完善的深度学习支持:

包括网络结构图形化拖拽、深度学习框架整合、分布式GPU优化、深广结合与经典网络结构支持。

人工智能平台边缘服务边缘计算模块主要用于物联网边缘端和云端之间的交互以及边缘计算等。

支持各类智慧物联网场景的部署,分为云端和边缘端两部分。

边缘端可以接入和管理海量时序与多媒体设备,制定智能规则,智能函数,实现边缘计算和告警,并支持设备和告警数据上传云端。

云端可进行边缘端管理,AI模型管理,智能规则管理以及函数管理。

人工智能平台边缘服务分为云,边,端三部分。

设备端的传感器,执行器和多媒体设备通过网关接入边缘端,使用边缘端的设备管理,规则管理,边缘计算和存储等功能。

边缘端的设备数据和结果数据又可以发送到云端,使用云端的边缘端管理,模型管理和规则函数管理等功能,如下图所示。

1.1.6.监控运维服务Manager

Manager是负责配置、管理和运维TDH集群的图形工具。

用户只需通过几个手动步骤,就可以在x86服务器上或基于Docker的云端平台上部署一个TDH集群。

Manager的运维模块提供告警、健康检测、监控和度量这四项服务。

用户可以轻松的浏览各服务的状态,并且在告警出现时采取恰当的措施以处理应对。

此外,Manager还提供了一些便捷的运维功能,例如,磁盘管理、软件升级和服务迁移等。

Manager提供应用市场,作为升级与下载应用的入口,提升产品安装与运维的便捷性。

Manager以容器操作系统为部署工具,容器操作系统(ContainerOperatingSystem)云平台系统是为大数据应用量身订做的云操作系统,基于Docker和Kubernetes开发,通过容器操作系统部署,简化了安装、运维的过程,简化了升级的过程,支持滚动升级。

Manager满足服务标准化,减少了Manager与各组件的耦合,简化组件与Manager整合的流程。

1.1.7.安全与资源管理服务Guardian

大数据平台通过安全通信协议和角色权限管理功能,在软件层面提供通信安全和数据安全的双重保障,有效的对来自外部和非信任角色的数据访问进行控制和安全管理,实现数据平台4A级统一安全管理解决方案。

4A包括认证Authentication、账号Account、授权Authorization、审计Audit,即将身份认证、授权、审计和账号。

通过LDAP管理用户账号,Kerberos作为用户身份认证IdentityStore,同时大数据平台配合LDAP实现角色访问权限控制(RoleBasedAccessControl),最后所有的安全访问审计都会记录在数据平台的日志中。

大数据平台中各个组件都支持安全管理,包括Zookeeper,HDFS,YARN,Kafka,Hyperbase,Inceptor以及Slipstream。

TDH集群中存在三套认证机制:

(1)集群中各个服务器本地的操作系统自带的认证,用于管理用户和集群服务对服务器的访问;

(2)提供集群服务与用户认证的KRB5LDAP系统,用于管理集群服务之间的访问以及用户对服务的访问;

(3)Manager的认证,用于管理用户对Manager的访问。

这三套机制本身互相独立,而且各服务器操作系统的认证也互相独立,对集群的管理和使用带来了很大不便:

管理员需要分别维护各个服务器中的信息、KRB5LDAP中的信息以及Manager中的信息,三套信息的任何不一致都可能导致用户无法访问集群,甚至服务无法正常运行;

为了能够访问一个安全模式下的集群,用户需要多套账户/密码信息,用于通过各套认证机制的认证。

TDH中的Guardian服务将提供这三套机制的统一管理,帮助管理员轻松地保证三套信息的一致性,并且让用户可以通过同一套用户名/密码登录集群中服务器、登录Manager以及访问集群服务(Inceptor、Slipstream、Discover、Hyperbase等),做到大数据平台的单点登录。

TDH提供用户管理组件Guardian对平台账户进行统一管理,能够实现账号的创建、删除及同步等账户管理生命周期所包含的功能。

Guardian可以添加删除用户,能够区分用户的权限为管理权限(MANAGER)或普通平台用户(KRB5LDAP——Kerberos+LDAP),同时还能将用户分配给不同的用户组(部门)。

只有添加到Guardian的用户才能登陆访问平台,并且根据账户权限访问相应的功能。

汇集库数据同步到TDH之后,不同的数据需要进行权限控制,可以授权给不同用户访问各自的数据表。

角色管理功能可实现对创建、读取和编辑数据等权限的管理,为了满足公司内部多级组织架构之间对数据的共享和私密性要求,每个用户可同时拥有一个或者多个角色,这取决于系统的配置。

Guardian支持使用LDAP协议做用户访问控制,支持Kerberos协议用作底层访问控制,从而保证数据的安全性和隔离性。

Guardian支持一整套基于SQL的数据库/表的权限控制,管理员可以设置用户对表的查询,修改,删除等权限,并包含一整套的角色设定,可以通过角色组的设置来便捷的实现用户权限控制。

此外,Guardian支持RowLevelSecurity,对表的数据进行精确的行级权限控制。

在多租户的场景下,可以保证不同租户只能看到表中自身有权限的数据,而不会看到属于其他租户的数据,从而有精确的数据隔离。

大数据平台能提供数据表列级数据权限控制与行级过滤,对其中表进行列级别权限控制,包括读权限、写权限、执行权限、创建表权限以及管理员权限。

同时可以再Inceptor中创建Hyperbase的映射表,Inceptor可通过SQL配置安全策略对数据库、视图以及表级别进行权限控制,包括新建、查询、插入、删除、更新等各种权限设置。

Inceptor通过结合LDAP对用户进行安全认证,用户通过JDBC接口连接到Inceptor时,通过安全验证确定用户身份后才能访问集群。

连接到集群后,只能操作自己权限数据库内的权限表。

大数据平台通过Hyperbase表实现列权限控制并通过Inceptor中视图权限控制实现行级过滤。

审计是对用户的登录、赋权、访问等操作进行记录和审查,发现异常操作可以告警和溯源。

将用户所有的操作日志和系统日志集中记录管理和分析,不仅可以对用户行为进行监控,并且可以通过集中的审计数据进行数据挖掘,以便于事后的安全事故责任的认定。

TDH大数据平台中,各个服务组件的操作日志都会集中收集,并可以通过Manager统一运维管理平台导出。

审计包括操作审计、赋权审计、审计告警和权限管理。

日志中主要统计以下信息:

权限的赋予及收回、资源的使用情况、用户登录及操作行为、系统配置修改和告警信息。

多租户的特点主要包括以下几点:

Ø统一集群

不同的业务部门,会根据各自部门的业务需求,要求创建多个计算集群。

例如,分析集群、报表集群、批处理集群、流处理集群等等。

TDH提供在统一的HDFS和YARN集群上,创建多个可共存的计算引擎。

从而,避免创建隔离的多个集群,减少数据拷贝或者远程访问,提高效率,也可降低维护成本。

Ø动态部署

根据业务需要,动态地创建和销毁集群,实现灵活集群部署。

此种动态部署集群的方式,能够最大程度提高整个集群的资源利用率,适合对非7x24不间断业务动态部署。

Ø资源隔离

通过YARN的资源隔离和配额管理,可以避免在多个应用使用同一个Map/Reduce集群时出现的计算资源争抢现象,保证每项业务都能顺利完成。

YARN支持对计算资源和内存资源的管理能力,避免占用内存资源多的Spark或Map/Reduce集群之间争抢内存资源。

Ø资源共享

在申请资源配额后,如果当前用户的资源紧张或受限,可以动态调配其他用户的闲置资源加入,当其他用户使用时再归还。

2.人工智能平台边端架构设计

人工智能平台边缘服务利用人工智能平台的存储、计算、模型加工和模型上线能力,实现传统设备的智能化改造。

通过定义产品功能模型接入不同协议、不同数据格式的设备,提供安全可靠、低延时、低成本、易扩展、高可靠的边缘计算服务。

同时云端可以连通所有边缘节点,管理边缘节点的服务。

人工智能平台边缘服务可提供稳定高效的边缘计算服务,能满足不同边缘场景的需求。

人工智能平台边缘服务由边缘服务Node(边缘端)以及边缘服务Hub(云端)两部分组成,解决了物与物、物与人、物与AI、物与云的连接,其核心功能点如下:

Ø设备接入

支持Modbus、OPC-UA、MQTT等设备通信协议,并提供接口支持对接第三方私有协议。

对于流媒体设备可通过ONVIF标准协议接入平台,无需摄像头产商提供SDK。

云端定义产品类型和功能模型,边缘端接入设备并管理。

Ø规则引擎

拖拽可视化组件,设计统一的数据流转规则,灵活定义数据处理、数据存储和数据转发。

对于时序数据,平台提供了时间窗口函数、聚合函数等常用算子,帮助用户快速搭建时序数据处理流程;对于流媒体数据,平台提供了流媒体数据特有的编解码器、分流器、复合器,帮助用户快速从各种流媒体源解析数据。

Ø函数计算

在规则引擎中,除了可以调用丰富的预定义组件外,还可以通过调用无服务函数对数据进行复杂的加工。

Ø智能推理

在规则引擎中,我们还提供人工智能服务组件用来与人工智能算法对接,完成更智能化的数据处理逻辑。

Ø规则应用

基于可视化的规则定义,建立规则实例,将实体设备、AI模型与规则相互映射即可实现对多设备的数据流转定义,让业务人员只面向设备而不用编程。

Ø断网续传

断网情况下,能够独立运行,不影响实时数据处理。

网络恢复后边缘数据与云端数据可续传和同步。

Ø数据可视化

用户可以自定义仪表盘,即可以接入设备的原始实时数据,也可以接入规则计算后输出的数据。

实现对设备数据的长期监控。

Ø云边一体

用户可通过云端对于边缘端的应用、函数、规则和模型进行版本管理,灰度升级等操作,降低边缘端的运维成本。

在云端提供边缘端的统一视角,可以查看所有注册的边缘节点及状态,并且将云端上架的应用、模型、函数、规则分发至边缘端,实现一次开发多次部署的功能。

人工智能平台边缘服务的基本使用流程如下图:

(1)产品的创建和管理是在云端,而设备的创建和管理在边缘端,边缘端设备将自动继承在云端定义好的产品数据模型。

(2)通过拖拽可视化算子的交互方式进行数据流转规则的定义,云端定义好的通用规则可分发至不同的边缘端,以降低在不同边缘端的重复运维成本。

于此同时,不同的边缘端用户也可处于自身特定的场景需求在边缘端自定义规则。

(3)创建规则实例,将具体的设备或者模型映射到某一数据规则,然后再启动该实例即可。

(4

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1