方案常用中关键技术与技术路线.docx
- 文档编号:25944368
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:29
- 大小:63.02KB
方案常用中关键技术与技术路线.docx
《方案常用中关键技术与技术路线.docx》由会员分享,可在线阅读,更多相关《方案常用中关键技术与技术路线.docx(29页珍藏版)》请在冰豆网上搜索。
方案常用中关键技术与技术路线
关键技术与技术路线
注:
技术路线部分主要是开发时所用到的框架和技术,关键技术部分主要是当前应用的一些前端技术。
一、技术路线
系统采用的技术路线分为以下两个层次:
采用良好的系统构建框架及系统实现技术,同时采用良好的数据定义、传输与组成对象交互机制,这两个层次可以贴切的比喻为“人的骨头与血液”的关系,是构建性能优异、架构健壮、开放灵活应用系统的基础。
1、SpringMVC技术框架
SpringMVC是Spring框架的一部分,Spring框架成为JavaEE开发主流框架后,Spring开发小组又在Spring框架的基础上推出了MVC架构,主要用于支持WEB应用程序的开发。
MVC是Model(模型,也称为数据模型)、View(视图)、Controll(控制器)三个英文单词首字母的缩写。
从MVC组合的
三个单词也可以看出,MVC是—种设计模型,它使用控制器将数据模型和视图进行分离,也就是将视图和数据解耦。
这样的好处是后端处理的数据模型和前端视图显示的数据格式无关,实现一
个数据模型可以对应多个视图以不同的方式来展现数据,当数据
模型或视图发生变化时,相互之间的影响也会降低到最低。
MVC中最重要的核心就是控制器,控制器与视图和模型相对
独立,它起到一个负责分发请求和返回处理结果的作用,对请求
和数据模型的处理一般由JavaBean负责。
业务谨期
上图是在实际开发中MVC勺架构图,架构图分为两部分:
虚线框外的是WEBS序的浏览器部分,用户通过浏览器与系统进行交互,同时浏览器也负责解析JSP页面;虚线框内的是WEBS序的后台部分,这部分包括控制器(Controller类)、业务逻辑
(Service类)、数据模型(实体类)、数据持久层(Mybatis框架)和MySQI数据库管理系统。
在MV(架构中,JSP页面就是视图,用户通过JSP页面发出请求后,SpringMVC会根据请求路径,将请求发给与请求路径对应的Controller类,Controller类调用Service类对请求进行处理,Service类会调用数据持久层MyBatis完成对实体类的存取和查询工作,并将处理结果返回到Controller类,
Controller类将处理结果转换为ModelAndView对象,JSP接收ModelAndView对象并进行渲染。
2、微服务(架构)
微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。
每个服务运行在其独立的进程中,服务和服务之间采用轻
量级的通信机制相互沟通(通常是基于HTTP的RestfulAPI).
每个服务都围绕着具体的业务进行构建,并且能够被独立的部署
到生产环境、类生产环境等。
另外,应尽量避免统一的、集中的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构架。
作为一种新的设计和架构理念,相比于传统的单体式应用而言,微服务这种小而化之、互相连接的设计理念不仅能让复杂应用的构建变得更加灵活,更能帮助创业企业在面对市场的高度不确定性时,快速推出新产品,低成本试错。
优点:
1:
提升开发交流,每个服务足够内聚,足够小,代码容易理
解;
2:
服务独立测试、部署、升级、发布;
3:
按需定制的DFX资源利用率,每个服务可以各自进行x
扩展和z扩展,而且,每个服务可以根据自己的需要部署到合适的硬件服务器上;每个服务按4:
需要选择HA的模式,选择接受服务的实例个数;
5:
容易扩大开发团队,可以针对每个服务(service)组件
开发团队;
6:
提高容错性(faultisolation),一个服务的内存泄露并不会让整个系统瘫痪;
7:
新技术的应用,系统不会被长期限制在某个技术栈上。
3、mybatis框架
MyBatis是一款优秀的持久层框架,它支持定制化SQL、
存储过程以及高级映射。
MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
MyBatis可以使用简单的XML
或注解来配置和映射原生信息,将接口和Java的POJOs(Plain
OldJavaObjects,普通的Java对象)映射成数据库中的记录。
sql写在xml文件中,便于统一管理和优化,解除sql和程序代码的耦合;提供映射标签,支持对象和和数据库orm字段关系的映射,支持对象关系映射标签,支持对象关系的组建;提
供xml标签,支持编写动态sql。
功能架构
(1)API接口层:
提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。
接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
(2)数据处理层:
负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。
它主要的目的是根据调用的请求完成一
次数据库操作。
(3)基础支撑层:
负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。
为上层的数据处理层提供最基础的支撑。
总体流程
(1)加载配置并初始化
触发条件:
加载配置文件
处理过程:
将SQL的配置信息加载成为一个个
MappedStatement对象(包括了传入参数映射配置、执行的SQL
语句、结果映射配置),存储在内存中。
(2)接收调用请求
触发条件:
调用Mybatis提供的API
传入参数:
为SQL的ID和传入参数对象
处理过程:
将请求传递给下层的请求处理层进行处理。
(3)处理操作请求
触发条件:
API接口层传递请求过来
传入参数:
为SQL的ID和传入参数对象
处理过程:
(A)根据SQL的ID查找对应的MappedStatement对象。
(B)根据传入参数对象解析MappedStatement对象,得到最
终要执行的SQL和执行传入参数。
(C)获取数据库连接,根据得到的最终SQL语句和执行传入
参数到数据库执行,并得到执行结果。
(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。
(E)释放连接资源。
(4)返回处理结果将最终的处理结果返回。
优点:
1.与JDBC相比,减少了50%^上的代码量。
2.MyBatis是最简单的持久化框架,小巧并且简单易学。
3.MyBatis相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,并可重用。
4.提供XML标签,支持编写动态SQL语句。
5.提供映射标签,支持对象与数据库的ORMT段关系映射。
4、shiro框架
ApacheShiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。
使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序
到最大的网络和企业应用程序。
主要功能
三个核心组件:
Subject,SecurityManager和Realms.
Subject:
即“当前操作用户”。
但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(DaemonAccount)或其他类似事物。
它仅仅意味着“当前跟软件交互的东西”。
但考虑到大多数目的和用途,你可以把它认为是Shiro
的“用户”概念。
Subject代表了当前用户的安全操作,SecurityManager贝U
管理所有用户的安全操作。
SecurityManager:
它是Shiro框架的核心,典型的Facade模式,Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务。
Realm:
Realm充当了Shiro与应用安全数据间的“桥梁”或者“连接器”。
也就是说,当对用户执行认证(登录)和授权
(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。
从这个意义上讲,Realm实质上是一个安全相关的DAO它
封装了数据源的连接细节,并在需要时将相关数据提供给Shiro。
当配置Shiro时,你必须至少指定一个Realm,用于认证和(或)授权。
配置多个Realm是可以的,但是至少需要一个。
Shiro内置了可以连接大量安全数据源(又名目录)的Realm,
如LDAP关系数据库(JDBC、类似INI的文本配置资源以及属性文件等。
如果缺省的Realm不能满足需求,你还可以插入代表自定义数据源的自己的Realm实现。
5、CAS单点登录
CAS全称为CentralAuthenticationService即中央认证
服务,是一个企业多语言单点登录的解决方案,并努力去成为一
个身份验证和授权需求的综合平台。
单点登录(SingleSign-On
简称SSO)是多个相关但独立的软件系统访问控制的一个属性。
通过使用该属性,用户登录与单个ID和密码来访问所连接的一
个或多个系统,而不使用不同的用户名或密码,或在某些配置中
无缝登录在每个系统上,它是比较流行的服务于企业业务整合的一种解决方案。
总结一句话,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
Cas就
是单点登录的框架。
6、maven技术
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven除了以程序构建能力为特色之外,还提供高级项目管
理工具。
由于Maven的缺省构建规则有较高的可重用性,所以常常用两三行Maven构建脚本就可以构建简单的项目。
由于Maven的面向项目的方法,许多ApacheJakarta项目发文时使用Maven,而且公司项目采用Maven的比例在持续增长。
Maven是一个项目管理工具,它包含了一个项目对象模型(ProjectObjectModel),一组标准集合,一个项目生命周期
(ProjectLifecycle),一个依赖管理系统(Dependency
ManagementSystem),和用来运行定义在生命周期阶段(phase)
中插件(plugin)目标(goal)的逻辑。
当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可
以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Maven有一个生命周期,当你运行mvninstall的时候被
调用。
这条命令告诉Maven执行一系列的有序的步骤,直到到达你指定的生命周期。
遍历生命周期旅途中的一个影响就是,Maven运行了许多默认的插件目标,这些目标完成了像编译和创
建一个JAR文件这样的工作。
此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。
7、vue前端js框架
Vue是一套用于构建用户界面的渐进式框架。
与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。
Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。
另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。
vue两大特点:
响应式编程、组件化
vue的优势:
轻量级框架、简单易学、双向数据绑定、组件
化、视图、数据和结构的分离、虚拟DOM运行速度快
vue是单页面应用,使页面局部刷新,不用每次跳转页面都
要请求所有数据和dom这样大大加快了访问速度和提升用户体验。
而且他的第三方ui库很多节省开发时间。
&layui前端框架
layui是一款采用自身模块规范编写的前端UI框架,它遵
循原生的HTML/CSS/JS书写方式。
它虽然外在极简,但是内容丰富,里面包含众多组件从核心代码到API都非常适合界面的
快速开发。
事实上layui更多是面向于后端开发者,而且它还拥有自己的模式。
更加轻量和简单。
优点:
(1)layui属于轻量级框架,简单美观。
适用于开发后端
模式,它在服务端页面上有非常好的效果。
(2)layui是提供给后端开发人员最好的ui框架,基于DOM驱动,只要不涉及到交互layui还是很不错的
二、关键技术
1、农业大数据与云计算技术
农业大数据是融合了农业地域性、季节性、多样性、周期性
等自身特征后产生的来源广泛、类型多样、结构复杂、具有潜在价值,并难以应用通常方法处理和分析的数据集合,保留了大数
据自身具有的规模巨大、类型多样、价值密度低、处理速度快、精确度高和复杂度高等基本特征,并使农业内部的信息流得到了
延展和深化。
大数据技术不仅能够对农业信息进行收集和整理,还能够精准地预测未来的走向,为农业生产、营销等活动提供预警监测和决策依据,降低了传统模式下由于数据信息处理低效
引发的农业生产风险。
农业大数据技术体系包括大数据的采集与预处理技术大数据存储与管理技术、大数据计算模式与系统、大
数据分析与挖掘技术、大数据可视化分析技术及大数据安全技术等。
海量数据信息管理与挖掘技术(云计算),数据资源虚拟化与智能信息推送技术(云服务),农业物联网信息融合与优化处理技术(模型决策)等作为农业物联网应用层的关键技术,在农业生产中发挥了重大作用。
用于农情、灾情、作物、农产品监测预警。
在大数据基础上,根据数据处理平台的分析处理,使农情监测系统更加完善。
通过分析收集的气象数据,结合气象模拟、土地分析、植物根部等要素,改进自然灾害的预测预报和灾害评估方法,提高预测灾情的
客观性与准确性。
针对遥感卫星监测提供的宏观数据,利用大数据处理平台进行全面分析,为作物估产和生长动态监测提供重要的信息情报。
在农产品质量监测预警方面,大数据技术给农产品信息的全面收集提供了技术基础,通过全方位比对,提高农产品质量监测的准确性。
大数据处理技术的实时性使得农产品在出现质量问题时,能够及时控制影响范围,使农产品质量预警机制更加高效。
数据获取技术更加快捷,农产品市场信息的流动大大加快,从而减弱不同地域的市场信息不同步所带来的市场风险。
用于精准农业决策。
精准农业决策是指根据各个方面的农业信息,制定出一整套具有可实施性的精准管理措施。
大数据处理
分析技术集成作物自身生长发育状况以及作物生长环境中的气候、土壤、生物等数据,同时综合考虑经济、环境、可持续发展的指标,可以弥补专家系统、模拟模型在多结构、高密度数据处理方而的不足,为生产决策者提供更加精准、实时、高效的农业决策。
以大数据驱动精准农业操作方面,通过遥感卫星和无人机可以管理地块和规划作物种植适宜区,预测气候、自然灾害、病虫害、土壤墒情等环境因素,监测作物长势,指导灌溉和施肥,预估产量;利用气象、环境等数据来支持农业种植及上下游的决策;GPS导航能力和其他工业技术的提高,实现跟踪作物流动,引导和控制设备,监控农田果园环境,精细化管理整个土地的投入,大大提高了生产力和盈利能力。
用于农业农村云服务平台的搭建。
云服务平台的搭建有助于农业信息的传播。
面对数据资源体量大、数据处理流程复杂、信息服务模式多样、用户需求复杂多样,实现信息服务按需分配以及处理大规模的资源数据中就必须利用大数据处理分析技术。
国
家农业信息化工程技术研究中心研发农业智能系统平台PAID,
提供了统一规范和适合农业特点的农业智能系统技术框架体系,支持对农业问题的定性推理和定量计算,在WindowsDNA体系结构、多源数据融合、基于XML的数据交换与传输、软构件技术、产生式知识表示、知识自动获取和模糊推理等关键技术上实现了创新,平台基于OMG&织的模型驱动体系结构MDA建立了层次模型和构件模型,不同层次的用户可以方便的利用平台开发定制出适合不同农业应用领域的专家系统;基于WebSevice技术支持多专家系统的整合、协同以及不同的客户端应用;基于COM/DCOM/COM+NET和EJB规范,建立了基于Web的多级专家系统构件开发模型,具有良好的可重构性和集成性。
云服务平台以农产品标准化生产、物联网精准管理、全程质量溯源为支撑,形成全面信息化、智能化生产销售链条,实现从农产品生产到市场销售的全程信息化管理,以及农副产品“从农田到餐桌”全过程可追溯。
2、农业物联网技术
物联网技术是推动信息化与农业现代化融合的重要切入点,是推动我国农业向“高产、优质、高效、生态、安全”发展的重要技术支撑。
全球的物联网应用主要以二维码、RFID、传感器等
技术为主。
当前我国农业物联网发展已初步形成以农业传感器、网络互连和智能信息处理等农业物联网共性关键技术研究为重点,以探测农业生态资源环境、感知大田、设施、果园动植物生命信息,农业机械装备作业调度和远程监控、农产品与食品质量安全可追溯、服务平台集成、标准体系制定等方面为重要应用发展领域,以农业传感器和移动信息装备制造产业、农业信息网络
服务产业、农业自动识别技术与设备产业、农业精细作业机具产业、农产品物流产业等为重点战略新兴产业的格局,逐步形成了
从关键技术研究、标准制定、产品研发、平台构建、应用示范为一体的发展技术路线。
在农业领域,物联网技术在农作物灌溉、生产环境监测以及农产品流通和追溯方面逐步推广。
物联网技术
集成先进传感器、无线通讯和网络、辅助决策支持与自动控制等高新技术,可以实现对农业资源环境、动植物生长过程、农产品流通过程等的实时监测,获取动植物生长发育状态、病虫害、水肥状况以及相应生态环境的实时信息,并通过对农业生产过程的
动态模拟和对生长环境因子的科学调控,达到合理使用农业资源、
降低成本、改善环境、提高农产品产量和质量的目的。
作为农业部重点实验室建设依托单位、农业部农业物联网系
统集成重点实验室,北京派得伟业科技发展有限公司针对农业物联网领域的应用技术问题,开展设施农业物联网技术、大田苗情
监测与节水灌溉物联网技术、农产品质量安全监管与溯源物联网技术、农资流通物联网技术、健康养殖物联网技术以及农业物联网集成技术标准研究等方向的工作,在农作物林果种植领域、畜
禽水产养殖领域、种业领域、农产品质量安全追溯领域等开展了大量的示范应用。
3、地理信息系统(GeographicInformationSystems,GIS)
技术
GIS系统即地理信息系统是一种基于计算机的工具,它可以
对在地球上存在的东西和发生的事件进行成图和分析。
GIS技术
把地图这种独特的视觉化效果和地理分析功能与一般的数据库
操作(例如查询和统计分析等)集成在一起。
这种能力使GIS与
其他信息系统相区别,从而使其在广泛的公众和个人企事业单位中解释事件、预测结果、规划战略等中具有实用价值。
地理信息系统技术广泛应用于农业、林业、国土资源、地矿、军事、交通、测绘、水利、广播电视、通讯、电力、公安、社区管理、教育、能源等几乎所有的行业,并正在走进人们日常的工作、学习和生
活中。
地理信息系统在最近的30多年内取得了惊人的发展,在“互联网+”的大背景下,GIS广泛应用于资源调查、环境评估、灾害预测、国土管理、城市规划、邮电通讯、交通运输、军事公安、水利电力、公共设施管理、农林牧业、统计、商业金融等几乎所有领域。
资源管理(ResourceManagement)主要应用于农业和林业
领域,解决农业和林业领域各种资源(如土地、森林、草场)分
布、分级、统计、制图等问题。
资源配置(ResourceConfiguration)在城市中各种公用设
施、救灾减灾中物资的分配、全国范围内能源保障、粮食供应
等到机构的在各地的配置等都是资源配置问题。
GIS在这类应用中的目标是保证资源的最合理配置和发挥最大效益。
城市规划和管理(UrbanPlanningandManagement)空间规划是GIS的一个重要应用领域,城市规划和管理是其中的主要内容。
例如,在大规模城市基础设施建设中如何保证绿地的比例和合理分布、如何保证学校、公共设施、运动场所、服务设施等能够有最大的服务面(城市资源配置问题)等。
土地信息系统和应用(LandInformationSystemandCadastralApplicaiton)土地和地籍管理涉及土地使用性质变
化、地块轮廓变化、地籍权属关系变化等许多内容,借助GIS技
术可以高效、高质量地完成这些工作。
生态、环境管理与模拟(EnvironmentalManagementand
Modeling)区域生态规划、环境现状评价、环境影响评价、污染物削减分配的决策支持、环境与区域可持续发展的决策支持、环
保设施的管理、环境规划等。
应急响应(EmergencyResponse)解决在发生洪水、战争、地震、核事故等重大自然或人为灾害时,如何安排最佳的人员撤离路线、并配备相应的运输和保障设施的问题。
地学研究与应用(ApplicationinGeoScienee)地形分析、流域分析、土地利用研究、经济地理研究、空间决策支持、空间统计分析、制图等都可以借助地理信息系统工具完成。
ArcMap系
统就是一个很好的地学分析应用软件系统。
4、海量数据存储技术
在现代的企业环境中,单机容量往往无法存储大量数据,需
要跨机器存储。
统一管理分布在集群上的文件系统称为分布式文件系统。
而一旦在系统中,弓I入网络,就不可避免地引入了所有网络编程的复杂性,例如保证在节点不可用的时候数据不丢失。
传统的网络文件系统(NFS虽然也称为分布式文件系统,但是其存在一些限制,由于NFS中文件存储在单机上,无法提供可靠性保证,当很多客户端同时访问NFSServer时,很容易造成服
务器压力,造成性能瓶颈;另外如果要对NFS中的文件中进行操作,需要首先同步到本地,这些修改在同步到服务端之前,其他客户端是不可见的。
HDFS,是分布式文件系统Hadoop
DistributedFileSystem的简称,是Hadoop抽象文件系统的一种实现。
Hadoop抽象文件系统可以与本地系统、AmazonS3等
集成,甚至可以通过Web协议(webhsfs)来操作。
HDFS的文件分布在集群机器上,同时提供副本进行容错及可靠性保证。
HDFS采用master/slave架构。
一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。
Namenode是—个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端
对文件的访问。
集群中的Datanode—般是一个节点一个,负责
管理它所在节点上的存储。
HDFS暴露了文件系统的名字空间,
用户能够以文件的形式在上面存储数据。
从内部看,一个文件其
实被分成一个或多个数据块,这些块存储在一组Datanode上。
Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。
它也负责确定数据块到具体Datanode节点的
映射。
Datanode负责处理文件系统客户端
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 方案 常用 关键技术 技术 路线