CN115048080A - 一种基于大数据的科技特派员服务云平台构建*** - Google Patents
一种基于大数据的科技特派员服务云平台构建*** Download PDFInfo
- Publication number
- CN115048080A CN115048080A CN202210568999.4A CN202210568999A CN115048080A CN 115048080 A CN115048080 A CN 115048080A CN 202210568999 A CN202210568999 A CN 202210568999A CN 115048080 A CN115048080 A CN 115048080A
- Authority
- CN
- China
- Prior art keywords
- service
- management
- layer
- data
- technology
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005516 engineering process Methods 0.000 title claims abstract description 109
- 238000010276 construction Methods 0.000 title claims abstract description 18
- 238000007405 data analysis Methods 0.000 claims abstract description 17
- 230000000694 effects Effects 0.000 claims abstract description 13
- 238000011156 evaluation Methods 0.000 claims abstract description 13
- 238000007726 management method Methods 0.000 claims description 128
- 238000000034 method Methods 0.000 claims description 41
- 238000004458 analytical method Methods 0.000 claims description 33
- 239000000047 product Substances 0.000 claims description 22
- 238000011161 development Methods 0.000 claims description 21
- 238000009826 distribution Methods 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 15
- 238000003032 molecular docking Methods 0.000 claims description 15
- 238000012550 audit Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000010354 integration Effects 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 6
- 230000002776 aggregation Effects 0.000 claims description 5
- 238000004220 aggregation Methods 0.000 claims description 5
- 238000013523 data management Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 239000006185 dispersion Substances 0.000 claims description 3
- 239000000706 filtrate Substances 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 230000002441 reversible effect Effects 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000018109 developmental process Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 210000001503 joint Anatomy 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 244000046052 Phaseolus vulgaris Species 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009313 farming Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 210000004258 portal system Anatomy 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- UXOWGYHJODZGMF-QORCZRPOSA-N Aliskiren Chemical compound COCCCOC1=CC(C[C@@H](C[C@H](N)[C@@H](O)C[C@@H](C(C)C)C(=O)NCC(C)(C)C(N)=O)C(C)C)=CC=C1OC UXOWGYHJODZGMF-QORCZRPOSA-N 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 241000233866 Fungi Species 0.000 description 1
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 1
- 241001598107 Imperata Species 0.000 description 1
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 244000062793 Sorghum vulgare Species 0.000 description 1
- 244000269722 Thea sinensis Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 229960004601 aliskiren Drugs 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000003337 fertilizer Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 244000144972 livestock Species 0.000 description 1
- 235000019713 millet Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000000575 pesticide Substances 0.000 description 1
- 244000144977 poultry Species 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009517 secondary packaging Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 235000013311 vegetables Nutrition 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/02—Agriculture; Fishing; Forestry; Mining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Mining & Mineral Resources (AREA)
- General Health & Medical Sciences (AREA)
- Marine Sciences & Fisheries (AREA)
- Agronomy & Crop Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Animal Husbandry (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于大数据的科技特派员服务云平台构建***,本发明通过运用移动互联网、云计算、大数据、物联网、人工智能等新一代信息技术,通过完善、优化和创新,建设科技特派员服务云平台服务入口(门户网站、慧农信APP、慧农信小程序)、科技特派员注册管理和服务成效评估***、慧农信服务***、农技资源管理***、科技特派员数据分析展示***、服务云平台管理***等应用***,通过平台的建设为科技特派员开展精准服务、远程服务、动态服务提供信息化支撑,提升科技特派员工作的整体信息化水平。
Description
技术领域
本发明涉及大数据科技特派员服务云平台相关领域,尤其涉及一种基于大数据的科技特派员服务云平台构建***。
背景技术
为了进一步提升科技特派员信息化管理水平,建立完善科技特派员考核评价指标体系和退出机制,实行动态管理,加强对科技特派员工作的动态监测,完善科技特派员统计报告工作,需要进一步完善我省科技特派员选任、管理的信息化管理措施,需要用到专用的科技特派员服务云平台构建***。
现有的平台***在实际使用时,对于科技特派员的服务效果较差,导致在开展精准服务、远程服务、动态服务提供信息化支撑时效率以及效果较下,整体信息化水平较差,及对于科技特派员的信息化管理措施较少。
发明内容
因此,为了解决上述不足,本发明提供一种基于大数据的科技特派员服务云平台构建***。
为了实现上述目的,本发明采取以下技术方案:一种基于大数据的科技特派员服务云平台构建***,***目标架构分为六层:基础设施层、数据层、应用支撑层、应用层、接入层、展示层和科技特派员供需对接***;
展示层:展示层是平台面向最终用户的入口,是各类用户获取所需服务的主要入口和交互界面,实现用户访问的登录、各类业务应用集成访问、个性化展现、用户及安全管理等方面功能,展示层基于html5、css、vue.js及G6语言与技术框架开发;展示层应用主要有:PC 端页面,微信小程序、APP(含Android版和iOS版);
接入层:接入层是***前端***与后端***之间的通信服务层,使用nginx作为反向代理服务,展示层与接入层使用https协议通信,接入层向展示层提供html页面与respAPI接口;
应用层:应用层基于SprigCloud体系架构搭建,实现平台业务逻辑,支持跨平台、跨数据库应用,应用层业务应用主要分为科技特派员注册管理和服务成效评估***、科技特派员数据分析展示***、慧农信服务***、农技资源管理***和服务云平台管理***;
应用支撑层:应用支撑层利用各种通用性平台实现基础设施层与应用层之间的互通,向业务应用提供统一身份认证;应用支撑层主要单元有:密码应用、工作流引擎、搜索引擎、消息服务引擎、文件服务、统一日志管理、统一身份认证和能力服务集成;
数据层:数据层建立在硬件和操作***之上,主要用于存储本平台基础数据,为整个应用提供数据存储支持,本项目的数据存储以Oracle数据库为主,辅以非关系数据库elasticsearch 以及内存数据库redis;数据层主要单元有:科技特派员信息数据库、慧农信服务信息数据库、公众服务信息数据库、基础信息数据库、数据存储计算***、数据采集汇聚以及数据分析;
基础设施层:基础设施层包括***层及网络层,是支撑信息***运行的基础,包含硬件设备、云平台,是承载整个本信息***的物理环境;基础设施层由政务云提供。;
科技特派员供需对接***:运用LDA模型提取科技特派员的个人信息和服务对象的需求内容的主题,分别得到其属于这些主题的概率分布,对科技特派员和用户需求的描述x和y,通过Jensen-Shannon散度衡量其主题相似度,进行需求匹配,按相似度进行排序推荐。
优选的,所述科技特派员注册管理和服务成效评估***主要为:工作台、科特派注册、基础信息管理、科特派申报、工作报告、需求对接、科特派管理、审核管理、专家信息、专家工作室、科特派风采管理、科特派评价考核、单位信息、申报计划管理、科特派申报模块管理、工作报告模板管理、数据分析、服务成就积分计算和单位管理;
所述科技特派员数据分析展示***主要为:科特派派出人员分析、科特派信息分析、科特派组成分析、科特派全省服务分布分析、扶贫县分析、科特派帮扶成效分析、城市科特派分布分析和科特派一张图;
所述慧农信服务***主要为:用户注册、看咨询、问专家、农技视频、需求对接、远程会诊、专家移动工作室、个人中心、APP应用设置、内容审核、服务数据管理和农技视频管理;
所述农技资源管理***主要为:农业知识管理、农业知识审核、农业图片管理、农业图片审核、农业培训视频管理、农技培训视频审核、标识管理和分类管理;
所述服务云平台管理***主要为:问卷管理、内容管理、用户管理、日志管理、用户反馈、数据字典管理、对外服务支撑和安全设置。
优选的,所述应用支撑层主要包括以下几类:
微服务应用支撑:基于SpringCloud微服务框架的服务治理、服务链路追踪(skywalking)、服务日志收集以及分析;
中间件:工作流引擎、报表引擎、搜索引擎、消息服务引擎;
业务应用类支撑应用:包括统一身份认证、密码应用、文件服务、协议解析、统一日志管理、能力服务集成;
第三方接口接入:包括政务数据共享中心接口、阿里云对象存储产品接口、阿里云视频点播产品接口、阿里云敏感词过滤产品接口、腾讯实时音视频接口、腾讯短信服务接口、腾讯云地图开放平台接口、高德地图开放平台接口。
优选的,所述基础设施层内置硬件设备为:服务器设备、存储设备、网络设备和安全设备;云平台为:计算资源池、存储资源池、网络资源池、安全资源池、服务器虚拟化、网络虚拟化和存储虚拟化。
优选的,所述应用层基于SprigCloud体系架构搭建,支持跨平台、跨数据库应用;
它为微服务架构中涉及的配置管理、服务治理、断路器、智能路由、微服务、控制总线、全局锁、决策竞选、分布式会话和集群状态管理操作提供了一种简单的开发方式。
优选的,所述应用层基于SprigCloud体系架构搭建内置SpringCloud接入网关zuul、服务通信、业务引擎、服务注册与发现Eureka和配置中心Config。
优选的,所述本***通过外部服务器接口/能力开放服务对接外部网络平台。
优选的,所述网络平台主要为:气象台、政务信息共享平台、阿里云平台、腾讯云平台和农村科技信息资源共享与服务平台。
优选的,所述所述科技特派员供需对接***配对算法如下:
KL(Kullback-Liebler divergence)散度为:
本发明的有益效果:
本发明通过运用移动互联网、云计算、大数据、物联网、人工智能等新一代信息技术,通过完善、优化和创新,建设科技特派员服务云平台服务入口(门户网站、慧农信APP、慧农信小程序)、科技特派员注册管理和服务成效评估***、慧农信服务***、农技资源管理***、科技特派员数据分析展示***、服务云平台管理***等应用***,通过平台的建设为科技特派员开展精准服务、远程服务、动态服务提供信息化支撑,提升科技特派员工作的整体信息化水平。
附图说明
图1是本发明***结构示意图;
图2是本发明技术架构结构示意图;
图3是本发明eureka工作原理示意图;
图4是本发明配置中心工作原理示意图;
图5是本发明消息总线工作原理示意图;
图6是本发明腾讯实时音视频产品架构示意图;
图7是本发明实时语音视频通话总体流程示意图;
图8是本发明专家在线示意图;
图9是本发明专家不在线示意图;
图10是本发明主叫方挂断时专家离线示意图;
图11是本发明主叫方挂断时专家在线示意图;
图12是本发明被叫方主动挂断示意图;
图13是本发明阿里云AXB隐私中间号整体业务流程示意图;
图14是本发明获取隐私号示意图;
图15是本发明拨号示意图;
图16是本发明取消拨号示意图;
图17是本发明通话结束示意图。
具体实施方式
为了进一步解释本发明的技术方案,下面通过具体实施例进行详细阐述。
***目标架构分为六层:基础设施层、数据层、应用支撑层、应用层、接入层、展示层及科技特派员供需对接***;
展示层:展示层是平台面向最终用户的入口,是各类用户获取所需服务的主要入口和交互界面,实现用户访问的登录、各类业务应用集成访问、个性化展现、用户及安全管理等方面功能,展示层基于html5、css、vue.js及G6语言与技术框架开发;展示层应用主要有:PC 端页面(门户网站),微信小程序、APP(含Android版和iOS版);
科技特派员服务云平台门户:
建设科技特派员服务云平台门户***,以拓宽农户获取农技信息资源的渠道、提升科技特派员服务效率,提升农业信息资源的利用率,门户***主要包含通知公告、科特派动态、农技资源、在线服务、供需对接、科特派风采、服务成效等内容,满足支撑科技特派员工作的宣传,为服务对象提供更加高效、便捷的基于网络化、信息化、数字化、智能化的科技特派员服务。
慧农信APP和微信小程序:
建设慧农信服务服务入口,通过微信公众号、小程序、移动APP等方式将网络社区、视频点播、移动互联网等信息技术引入农技推广与服务中,更新并完善农业科技特派员社群服务、农业技术学***台进行详细的技术指导,实现服务内容“图文并茂”和“点对点”的精准服务。另一方面,专家也可以通过云平台,以视频、图像、文字等形式发布近期生产上要注意的技术问题和解决办法,通过平台主动推送给关注这个行业的用户。
接入层:接入层是***前端***与后端***之间的通信服务层,使用nginx作为反向代理服务,展示层与接入层使用https协议通信,接入层向展示层提供html页面与respAPI接口;
应用层:应用层基于SprigCloud体系架构搭建,实现平台业务逻辑,支持跨平台、跨数据库应用,应用层业务应用主要分为科技特派员注册管理和服务成效评估***、科技特派员数据分析展示***、慧农信服务***、农技资源管理***和服务云平台管理***;
应用支撑层:应用支撑层利用各种通用性平台实现基础设施层与应用层之间的互通,向业务应用提供统一身份认证;应用支撑层主要单元有:密码应用、工作流引擎、搜索引擎、消息服务引擎、文件服务、统一日志管理、统一身份认证和能力服务集成;
数据层:数据层建立在硬件和操作***之上,主要用于存储本平台基础数据,为整个应用提供数据存储支持,本项目的数据存储以Oracle数据库为主,辅以非关系数据库elasticsearch 以及内存数据库redis;数据层主要单元有:科技特派员信息数据库、慧农信服务信息数据库、公众服务信息数据库、基础信息数据库、数据存储计算***、数据采集汇聚以及数据分析;
基础设施层:基础设施层包括***层及网络层,是支撑信息***运行的基础,包含硬件设备、云平台,是承载整个本信息***的物理环境;基础设施层由政务云提供;
科技特派员供需对接***:运用LDA模型提取科技特派员的个人信息和服务对象的需求内容的主题,分别得到其属于这些主题的概率分布,对科技特派员和用户需求的描述x和y,通过Jensen-Shannon散度衡量其主题相似度,进行需求匹配,按相似度进行排序推荐。
科技特派员注册管理和服务成效评估***主要为:
工作台、科特派注册、基础信息管理、科特派申报、工作报告、需求对接、科特派管理、审核管理、专家信息、专家工作室、科特派风采管理、科特派评价考核、单位信息、申报计划管理、科特派申报模块管理、工作报告模板管理、数据分析、服务成就积分计算和单位管理;建设科技特派员注册管理和服务成效评估***,实现各类科技特派员(省级科特派、三区人才、市级科特派、县级科特派)的登记注册、遴选审核、工作报告、工作日志审核、查询与统计、考核管理、绩效评估等;
将原来的科技特派员实名登记注册***升级改版为省、市、县统一的科技特派员管理***,科技特派员分为省级、市级、县级三个层级,可由各县市单独管理审核。完善用户体系,对接数字建设成果——法人库,最终能够实现不同层级、不同部门的科技特派员服务情况统计;
建设科技特派员绩效评估。根据计分类别、计分项、计分标准和积分值,采用计点积分方法计算个人科技特派员年度工作实绩总积分。评估的结果为科技特派员的选认、退出提供参考依据。
科技特派员数据分析展示***主要为:
科特派派出人员分析、科特派信息分析、科特派组成分析、科特派全省服务分布分析、扶贫县分析、科特派帮扶成效分析、城市科特派分布分析和科特派一张图;建设科技特派员数据分析展示***,为打造数字化科技特派员管理服务提供典型示范。通过大数据展示技术全方位展示我省科技特派员工作成效。大数据分析展示包括全省各地市、各县域科技特派员服务情况;我省科技特派员人才队伍的梯度和人才队伍结构;我省各地党员科技特派员分布情况和科技特派员帮扶成效等模块。
慧农信服务***主要为:
用户注册、看咨询、问专家、农技视频、需求对接、远程会诊、专家移动工作室、个人中心、APP应用设置、内容审核、服务数据管理和农技视频管理;建设面向服务的科技特派员服务信息发布与智能服务的慧农信服务***,通过服务聚合、数据资源共享、公共支撑和业务应用的网络化发布,实现科技特派员服务多源信息融合、信息实时发布与智能服务等功能,对比较复杂的技术服务场景,开发视频服务功能,农户可通过***呼叫专家进行在线视频咨询。视频服务方式具有交互性强的特点,专家可以全方位的了解田间的实际情况,更好开展技术服务,不受时空的限制。
农技资源管理***主要为:
农业知识管理、农业知识审核、农业图片管理、农业图片审核、农业培训视频管理、农技培训视频审核、标识管理和分类管理;
根据优势主导产业对农业技术的实际需要,建立农技资源管理***,针对蔬菜、果树、茶叶、食用菌、畜禽、水产等行业从品种、农药、化肥、植保、栽培到采收加工的各个环节生产技术等农技资源数据库管理***,提升农技资源管理水平和管理效率。
服务云平台管理***主要为:
问卷管理、内容管理、用户管理、日志管理、用户反馈、数据字典管理、对外服务支撑和安全设置;
建设服务云平台管理***,***包含问卷调查管理、内容管理、日志管理、用户管理、权限管理、数据字典管理、安全设置等平台所需的基础功能,为门户网站、慧农信及平台运维等提供内容和管理支撑。
应用支撑层主要包括以下几类:
微服务应用支撑:基于SpringCloud微服务框架的服务治理、服务链路追踪(skywalking)、服务日志收集以及分析;
中间件:工作流引擎、报表引擎、搜索引擎、消息服务引擎;
业务应用类支撑应用:包括统一身份认证、密码应用、文件服务、协议解析、统一日志管理、能力服务集成;
第三方接口接入:包括政务数据共享中心接口、阿里云对象存储产品接口、阿里云视频点播产品接口、阿里云敏感词过滤产品接口、腾讯实时音视频接口、腾讯短信服务接口、腾讯云地图开放平台接口、高德地图开放平台接口;
基础支撑管理***是科技特派员服务云平台的基础应用***,是平台的重要组成部分,拥有统一用户管理与身份认证、数据管理和交换以及信息共享等功能。通过应用支撑***对平台所有的信息资源进行统一的、科学的组织与管理,为平台提供集成的访问入口、基础的***支撑引擎、日志管理、对接外部能力服务***,并根据用户身份提供满足其需求的特定信息资源和业务数据。
基础设施层内置硬件设备为:服务器设备、存储设备、网络设备和安全设备;云平台为:计算资源池、存储资源池、网络资源池、安全资源池、服务器虚拟化、网络虚拟化和存储虚拟化。
应用层基于SprigCloud体系架构搭建,支持跨平台、跨数据库应用;
它为微服务架构中涉及的配置管理、服务治理、断路器、智能路由、微服务、控制总线、全局锁、决策竞选、分布式会话和集群状态管理操作提供了一种简单的开发方式。
应用层基于SprigCloud体系架构搭建内置SpringCloud接入网关zuul、服务通信、业务引擎、服务注册与发现Eureka和配置中心Config。
本***通过外部服务器接口/能力开放服务对接外部网络平台。
科技特派员供需对接
(1)供需对接服务模式
平台上建立了科技特派员专家库,记录每个专家详细的技术专长、所属的行业和所在区域以及个人的一些详细信息。企业用户可以在云平台上传自己技术需求,***会根据企业和合作社在平台上发布的技术需求自动检索匹配专家的技术特长和技术成果,为用户推荐专家,此外当企业发布需求的时候,平台根据需求关键词,推送给相关专家,专家可以根据自己的情况选择对接与否。一方面让技术需求方可以通过找到专家进行咨询或应用成果,另一方面专家也可有针对性的选择企业开展技术服务或成果示范。同样这种方式这样也能更好为科技特派员选认工作的“双向选择”建立起桥梁,让平台具备了技术“中介”与人才“中介”的功能,也能够防止简单“拉郎配”,实现技术“中介”与人才“中介”的功能,防止脱离基层实际。
(2)供需对接的实现
科技特派员需求对接有别于其他在线社交的用户匹配,其匹配的目的是服务对象和专家用户之间构建一道“桥梁”,通过提取服务对象和专家的账号特征,计算其相似度寻找最合适的双方,完成用户匹配。科技特派员服务云平台所有的账号用户均为实名制,所有主页信息均通过人工审核,能够保证数据的真实性,对比相关在线社交用户匹配算法,基于用户档案信息的融合多属性算法用户匹配技术比较适宜于本平台,将各类用户属性信息当作字符串处理,本文运用LDA(Latent DirichletAllocation)模型[16]提取科技特派员的个人信息和服务对象的需求内容的主题,分别得到其属于这些主题的概率分布。对科技特派员和用户需求的描述x和y,通过Jensen-Shannon散度衡量其主题相似度,进行需求匹配,按相似度进行排序推荐,科技特派员供需对接***配对算法如下:
KL(Kullback-Liebler divergence)散度为:
网络平台主要为:气象台、政务信息共享平台、阿里云平台、腾讯云平台和农村科技信息资源共享与服务平台。
整体技术措施:
①SpringCloud是一个基于Spring Boot实现的微服务架构开发工具,用于将复杂的***解耦,部署成为一个个独立的微服务。它为微服务架构中涉及的配置管理、服务治理、断路器、智能路由、微服务、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式;
②Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程;该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
Spring Boot简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的、产品级别的Spring应用;Spring Boot为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。多数Spring Boot应用只需要很少的Spring配置。
它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速的运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。
基于SpringBoot开发的微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,SpringCloud就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,SpringCloud作为大管家就需要提供各种方案来维护整个生态。
SpringCloud的出现,可以说是对微服务架构的巨大支持和强有力的技术后盾。它不像一般的微服务框架那样,只是解决微服务中的某一问题,而是一个解决微服务架构实施的综合性解决框架,它整合了诸多被广泛实践和证明过的框架作为实施的基础部件,又在该体系基础上创建了一些非常优秀的边缘组件。
SpringBoot的核心功能与思想如下:
独立运行的Spring项目:Spring Boot可以以jar包的形式独立运行,运行一个Spring Boot 项目只需要通过java-jar xx.jar来运行。
内嵌Servlet容器:Spring Boot可选择内嵌Tomcat、Jetty或者Undertow,这样无须以war 包形式部署项目。
提供starer简化Maven配置:Spring提供了一系列的starterpom来简化Maven的依赖加载。
自动配置Spring:Spring Boot会根据在类路径中的jar包、类,为jar包里的类自动配置 Bean,这样会极大地减少要使用的配置。当然,Spring Boot只是考虑了大多数的开发场景,并不是所有的场景,若在实际开发中需要自动配置Bean,而Spirng Boot没有提供支持,则可以自定义自动配置。
可用以生产的应用监控Spring Boot提供基于http、ssh、telnet对运行时的项目进行监控。
无代码生成和xml配置Spring Boot神奇的不是借助于代码生成来实现的,而是通过条件注解来实现的,这是Spring 4.x提供的新特性,Spring Boot不需要任何的xml配置即可实现 Spring的所有配置。
③SpringCloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式***基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过 Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式***开发工具包。
④服务注册与发现SpringCloud eureka,SpringCloud Eureka是SpringCloudNetflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。服务治理包括了服务注册和服务发现。
服务注册:在服务治理框架中,通常都会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机与端口号、版本号、通信协议等一些附加的信息告知注册中心,注册中心按服务名分类组织服务清单。
服务发现:由于在服务治理框架下运作,服务间的调用不再通过指定具体的实例地址来实现,而是通过向服务名发起请求调用实现。所以,服务调用方在调用服务提供方接口的时候,并不知道具体的服务实例位置。因此,调用方需要向服务注册中心咨询服务,并获取所有服务的实例清单,以实现对具体服务实例的访问。
Eureka服务端,也称为服务注册中心。它同其他服务注册中心一样,支持高可用配置。它依托于强一致性提供良好的服务实例可用性,可以应对多种不同的故障场景。如果Eureka 以集群模式部署,当集群中有分片出现故障时,那么Eureka就转入自我保护模式。它允许在分片故障期间继续提供服务的发现和注册,当故障分片恢复运行时,集群中的其它分片会把它们的状态再次同步回来。
Eureka客户端,主要处理服务的注册和发现。客户端服务通过注解和参数配置的方式,嵌入在客户端应用程序的代码中,在应用程序运行时,Eureka客户端向注册中心注册自身提供的服务并周期性地发送心跳来更新它的服务租约。同时,它也能从服务端查询当前注册的服务信息并把它们缓存到本地并周期性地刷新服务状态;Eureka工作原理如图3所示。
⑤API网关SpringCloudZuul:服务网关是微服务架构中一个不可或缺的部分。通过服务网关统一向外***提供RESTAPI的过程中,除了具备服务路由、负载均衡功能之外,它还具备了权限控制、校验过滤、与服务治理框架的结合、请求转发时的熔断机制、服务的聚合等功能。SpringCloudNetflix中的Zuul就担任了这样的一个角色,为微服务架构提供了前门保护的作用,同时将权限控制这些较重的非业务逻辑内容迁移到服务路由层面,使得服务集群主体能够具备更高的可复用性和可测试性。
SpringCloud Zuul通过与SpringCloud Erueka进行整合,将自身注册为Eureka服务治理下的应用,同时从Eureka中获得了所有其他微服务的实例信息。这样的设计非常巧妙地将服务治理体系中维护的实例信息利用起来,使得将维护实例的工作交给了服务治理框架自动完成,不再需要人工介入。而对于路由的规则维护,Zuul默认会将通过以服务名作为ContextPath 的方式来创建路由映射,大部分情况下,这样的默认设置已经可以实现大部分的路由需求,除了一些特殊的情况还需要做一些特别的配置。但是相比于之前架构下的运维工作量,通过引入SpringCloudZuul实现API网关后,已经能够大大减少了。
对于类似签名校验、登录校验在微服务架构中的冗余问题。理论上来说,这些校验逻辑在本质上与微服务应用自身的业务并没有多大的关系,所以它们完全可以独立成一个单独的服务存在,只是它们被剥离和独立出来之后,并不是给各个微服务调用,而是在API网关服务上进行统一调用来对微服务接口做前置过滤,以实现对微服务接口的拦截和校验。
SpringCloud Zuul提供了一套过滤器机制,它可以很好的支持这样的任务。开发者可以通过使用Zuul来创建各种校验过滤器,然后指定哪些规则的请求需要执行校验逻辑,只有通过校验的才会被路由到具体的微服务接口,不然就返回错误提示。通过这样的改造,各个业务层的微服务应用就不再需要非业务性质的校验逻辑了,这使得的微服务应用可以更专注于业务逻辑的开发,同时微服务的自动化测试也变得更容易实现;
⑥配置中心SpringCloud Config:SpringCloud Config就是通常意义上的配置中心,把应用原本放在本地文件的配置抽取出来放在中心服务器,从而能够提供更好的管理、发布能力。 SpringCloud Config分服务端和客户端,其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密/解密信息等访问接口,服务端负责将Git(SVN)中存储的配置文件发布成REST接口。而客户端则是微服务架构中各个服务应用的基础设施,它们通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息,客户端可以从服务端REST接口获取配置。但客户端并不能主动感知到配置的变化,从而主动去获取新的配置,这需要每个客户端通过 POST方法触发各自的/refresh。
SpringCloud Config实现了对服务端和客户端中环境变量和属性配置的抽象映射,所以它除了适用于Spring构建的应用程序之外,也可以在任何其他语言运行的应用程序中使用。由于SpringCloud Config实现的配置中心默认采用Git来存储配置信息,所以使用SpringCloud Config构建的配置服务器,天然就支持对微服务应用配置信息的版本管理,并且可以通过Git 客户端工具来方便地管理和访问配置内容。当然它也提供了对其他存储方式的支持,比如SVN 仓库、本地化文件***;配置中心工作原理如图4所示。
⑦远程服务调用SpringCloudFeign:
SpringCloud Feign是一个声明式的Web Service客户端,它使得编写WebService客户端变得更加简单。只需要使用Feign来创建一个接口并用注解来配置它既可完成。它具备可插拔的注解支持,包括Feign注解和JAX-RS注解。Feign也支持可插拔的编码器和解码器。 SpringCloud为Feign增加了对Spring MVC注解的支持,还整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。
⑧服务负载均衡SpringCloudRibbon:
SpringCloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过SpringCloud的封装,可以让轻松地将面向服务的REST模板请求自动转换成客户端负载均衡的服务调用。
Ribbon客户端组件提供一系列完善的配置选项,比如连接超时、重试、重试算法等。Ribbon 内置可插拔、可定制的负载均衡组件。下面是用到的一些负载均衡策略:
简单轮询负载均衡;
加权响应时间负载均衡;
区域感知轮询负载均衡;
随机负载均衡。
⑨消息总线SprincCloudBus:
SpringCloudbus是SpringCloud体系架构中的消息总线组件,其通过轻量消息代理连接各个分布的节点。这会用在广播状态的变化(例如配置变化)或者其他的消息指令。SpringCloud bus的一个核心思想是通过分布式的启动器对Spring Boot应用进行扩展,也可以用来建立一个多个应用之间的通信频道。Spring CloudBus可以使用AMQP消息代理(RabbitMQ)、kafka、 RocketMQ等消息队列中间件作为通道。
SpringCloud Buss的本质是利用了MQ的广播机制在分布式的***中传播消息,目前常用的有Kafka和RabbitMQ。利用bus的机制可以做很多的事情,如配置中心客户端实时刷新、业务事件通知、数据变化事件通知等。
SpringCloud Bus的应用使得业务应用可以运行在事件触发模型上,减少了开发人员主动对对象状态的观测,而只需要接受变更的对象发出的事件通知即可,从而可以更加专注于业务逻辑的实现,如图5所示为SpringCloudBus在应用不停机刷新配置的应用场景工作原理;
图5中,config-repo为配置仓库,configServer为配置中心服务;ClineA、ClineB、ClinentC 为同一个应用的不同运行实例。利用SpringCLooud Bus做配置同步的步骤如下:
提交代码触发post请求,发送bus/refresh给ClientA;
ClientA接收到请求从configServer更新配置并且发送给Spring Cloud Bus;
Spring Cloudbus接到消息并广播通知给其它客户端(ClientB,ClientC);
其它客户端接收到通知,请求configServer获取最新配置;
全部客户端均获取到最新的配置。
⑩服务链路追踪SkyWalking:
随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响。
面对以上情况,就需要一些可以帮助理解***行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。
目前主要的一些APM工具有:Cat、Zipkin、Pinpoint、SkyWalking,本项目使用的是SkyWalking,包括了分布式追踪、性能指标分析、应用和服务依赖分析等服务治理功能,它通过数据采集代理组件实现了对应用程序的零侵入监控,分析粒度详尽,支持极为丰富,除了支持常规的Java应用监控,还支持Net、node.js、python、php等各种语言实现的应用以及数据库、主机、docker容器等运行参数的监控;支持多种后端数据存储方案,如MySQL、ElasticSearch、H2等。
SkyWalking的核心是数据分析和度量结果的存储平台,通过HTTP或gRPC方式向SkyWalking Collecter提交分析和度量数据,SkyWalking Collecter对数据进行分析和聚合,存储到Elasticsearch、H2、MySQL、TiDB等数据库,最后可以通过SkyWalking UI的可视化界面对最终的结果进行查看,Skywalking支持从多个来源和多种格式收集数据:多种语言的SkywalkingAgent、Zipkin v1/v2、Istio勘测、Envoy度量等数据格式。
平台前端应用(包括PC管理台、慧农信小程序、慧农信APP)基于vue.js+ElementUI库构建。
vue.js是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,vue.js被设计为可以自底向上逐层应用。vue.js的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,vue.js也完全能够为复杂的单页应用提供驱动。
vue.js.大特点:响应式编程、组件化
vue.js的优势:轻量级框架、简单易学、双向数据绑定、组件化、视图、数据和结构的分离、虚拟DOM、运行速度快
vue.js是单页面应用,使页面局部刷新,不用每次跳转页面都要请求所有数据和dom,这样大大加快了访问速度和提升用户体验。而且他的第三方ui库很多节省开发时间。
关键技术措施:
①全文检索引擎:
本平台应用必将产生大量的有价值数据,采用成熟的全文检索产品,对这些数据进行整合并提供方便、快速的检索方式将有利于提高办事效率。全文检索一般在形式上包括两个要件:检索入口和检索结果页面,但在其后台架构上是比较复杂的,其核心要件包括:中文分词技术、页面抓取技术、建立索引、对检索结果排序以及对检索关键词的统计、分析、关联、推荐等。
②ElasticSearch介绍:
本项目使用Elasticsearch作为全文搜索引擎。提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch 的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。
结合中文分词插件的使用,具备全方位全文检索功能,支持简单、组合、扩展等多种检索方式和精确、模糊等不同检索方法,提供日期、标题、关键词、大小等多种检索入口,可实现多重组合多级检索。
同时支持前端/后端两种检索方式;
同时支持结构化数据和非结构化数据,支持多种数据类型(如日期、字符串、短语、文档和二进制多媒体类型);
支持常用格式文件的入库和检索,如TEXT、HTML、RTF、MSOffice、PDF、S2/PS2/PS、MARC、ISO2709等);
支持多媒体数据的管理;
支持多种形式的数据存放方式,如集中存放、分散存放或URL方式存放,并且数据还可以存放在其他数据库或应用***中;
高效的数据和索引压缩,实现了低空间膨胀率;
支持字段的唯一(Unique)特性;
支持数据库纪录的增删改操作;
不同操作***平台之间,库结构自由拷贝,方便管理员操作;
管理员可设置“定时优化”的时间,降低***管理的成本;
修改记录时,保存记录号的移动轨迹,能够使用移动前的记录号读取记录,确保数据维护的正确和安全;
可以方便地对各种词典进行管理和维护;
方便的数据备份和恢复功能;
多种格式的数据导出功能,可以导出XML等数据类型文件。
③全文搜索引擎在本项目中的应用:
在科特派员服务云平台的项目中,需要根据用户提出的需求关键字,为用户推荐与关键字相匹配的专家。针对这个业务场景,就运用了Elasticsearch的全文检索功能来实现这个需求推荐专家的功能,之所以采用Elasticsearch,是因为大部分的关系型数据库不支持全文检索,少部分支持全文检索的查询效率也很低,而Elasticsearch利用倒排索引的特点能够快速高效的对数据进行全文检索,通过简单的插件扩展配合第三方的ik中文分词插件,对专家的数据进行中文分词,能够更加精确的为用户推荐满足需求的专家,Elasticsearch内部实现了一套相关性的评分标准,为不同的属性配置不同的权重值,比如专家的技术专长应该做为推荐的最主要依据,则可以把技术专长的权重调高,为用户推荐相关性更高,更符合用户需求的专家。
利用Elasticsearch存储专家数据为用户需求推荐专家首先是要将专家数据同步到 Elasticsearch中,采用的同步方案自己编写一个定时任务同步程序根据业务规则查询出全量的专家数据定时同步到Elasticsearch中,这样做的好处是,能够将同步数据和业务解耦开,不影响正常的业务,全量的同步方式能够可靠的保证数据的一致性,不用考虑数据变更的时序问题,而且数据的实时性也能够满足需求推荐专家的业务场景,同时自己编写的同步程序灵活性好,更加的方便后期的维护,官方的logstash数据同步插件只能做简单的数据同步,不够灵活,满足不了同步需求,而增量的同步方式很难保持数据的一致性,并且数据同步的入口分散在各个业务中,代码耦合太高,后期维护困难,所以综上采用了自己编写同步程序对专家数据进行全量同步。
④业务流程引擎:
科技特派员服务云平台项目包含了大量的流程业务:专家认证审核、单位认证审核、科特派申报审核、工作报告审核、内容合规审核、农技资源审核、门户文章审核等,无论在日常运行还是快速响应上,均需要一个统一的流程来进行控制。因平台的审核流程自由度高,有许多定制化的流程,开发团队实现了一个高度定制化的工作流引擎,在配置和定制间做了适度的平衡,实现了***的流程业务。其功能包括:
底层通过数据模型抽象提供统一的流程数据管理,流程数据与业务数据分离,使流程控制引擎可以适配各种业务场景;
流程定义;
流程环节定义;
流程发布;
流程控制(审核通过,不通过,退回,申请退回,退回审核等);
流程数据查询与展示。
⑤实时音视频通话:
在慧农信引用(含小程序和APP)中提供了专家实时音视频咨询应用,实时音视频技术的专业度和复杂度都很高,通过PaaS服务商来集成实时音视频,快速开发App,是时下开发者的优先选择。所选RTC是否好用易用、契合所需场景,将直接影响项目开发进度和后期运维成本。
⑥产品选型:
产品选型依据
实时音视频在移动端需要结合应用消息服务推送云服务做到实时音视频消息咨询通知。
以下是几个是产品选型的考量因素:
音视频通话质量
实时音视频的三个质量指标是延时、卡顿、抖动。
低延时要靠两个方面解决,一个是传输协议,一个是优化整体传输环节。实时音视频的主流传输协议有RTMP和UDP两种,一种支持CDN技术,一种支持WebRTC技术,相对来说,CDN技术延时性在3-5秒,WebRTC可以在几百毫秒以内,现在很多厂商可以同时支持这两种技术,分别适用于不同的场景。
另外,数据包通常会以错误的顺序到达,从而产生抖动相关问题,或者直接丢失,造成音视频空白。谷歌一份资料显示,视频聊天应用Duo 99%的通话都有数据包丢失、过度抖动或网络延迟情况。20%的通话丢失了超过3%的音频,10%的通话丢包率超过8%,也就是说每次通话都有很多音频需要替换。
处理上述问题,很多厂商会采用抗丢包及抗网络抖动能力的NACK(丢包重传)、FEC(前向纠错)、自适应带宽调整(动态调整码)、接收端Jitter Buffer(媒体流平稳)等各种机制,有些是组合使用,有些是单独使用,在选型前做到深入了解。
消息推送质量
移动端的消息推送是移动端与其他端建立实施音视频语音通信的基础,需要保证消息的送达率和稳定性。
兼容使用平台
平台兼容性,易用性的考虑也至关重要,同时也要考虑到各端的差异性,能够对不同使用端的差异做出适配和特色开发,本项目开发需要兼容多应用以及多设备厂商如下表所示:
iOS | Iphone |
Android | 主流Android产商如华为、小米、魅族等 |
微信小程序 | 大部分设备 |
完善的开发服务与文档
在一些社区中,常常会看到一些技术文档下,开发者提出问题而没有回复。开发者为提高开发效率,越来越倾向于自助完成工作,因此,开发文档是否易懂,Demo是否易用,都显得十分重要。
另外,工单回复的速度,微信群、社区的值守和响应程度等都能反映PaaS厂商服务意识的强弱。通常来说,7×24小时技术支持服务,1小时工单快速回复、快速远程接入、快速恢复的故障应急响应机制,这些都是对开发者很完善的服务支持。
选型结果
综合以上考量因素,本项目最终选择腾讯实时音视频(Tencent Real-TimeCommunication, TRTC)+个推作为实时语音咨询与实时视频咨询的底层技术服务。
腾讯实时音视频产品介绍
腾讯实时音视频(Tencent Real-Time Communication,TRTC)将腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
产品架构
实时音视频TRTC主打全平台互通的多人音视频通话和低延时互动直播解决方案,提供小程序、桌面浏览器、Android、iOS、Electron、Windows、macOS等平台的SDK便于开发者快速集成并与实时音视频TRTC云服务后台连通。通过腾讯云不同产品间的相互联动,还能简单快速地将实时音视频TRTC与即时通信IM、云直播CSS、云点播VOD等云产品协同使用,扩展更多的业务场景,产品架构如图6所示,支持平台如下表所示:
产品特性如下表所示:
支持平台如下表所示:
高稳定性:多机房多集群部署,保证***稳定性
高安全性:支持多种方式鉴权、加密
高效接入:简单易用的控制台、提供Java、PHP、C#、Python等8种语言服务端SDK集成接入、专业技术支持团队7x24小时专人专线服务。
⑦业务流程:
通过http、websocket与个推建立起来的消息推送机制传递音视频通话所需要的通话状态、个人信息、房间号等。发起方和接收方使用同样的房间号加入腾讯云音视频房间建立视频通话与语音通信,如图7所示为实时音视频通话总体业务流程图。
发起通话:
当公众用户向专家发起音视频通话咨询请求时,根据专家小程序和APP的在线状态,需要以不同的方式通知专家;
当专家在线时:
当专家在线(已经打开了慧农信小程序或者慧农信APP,以下简称客户端)时,客户端会与后台服务***建立一个websocket连接。当公共用户向专家发起通话请求,后台服务通过websock接口将通话请求通知到专家客户端,专家立即可以接听或者拒绝通话。具体的业务流程如图8所示。
专家离线时:
当专家离线时(未打开客户端),后台只能通过微信服务通知与APP个推将通话请求通知到客户端。如果专家登陆过小程序,也登陆过APP,将会同时受到微信服务通知与APP消息。专家可以选择通过微信服务通知进入微信小程序接听通话,也可以通过APP消息进入慧农信APP接听通话。其业务流程如图9所示;
主叫方主动挂断:
主叫方挂断通话时,***需要判断专家是否打开客户端。如果专家打开了客户端,通过websocket服务通知专家结束通话,退出通话界面。如果专家未打开客户端,则当专家通过消息进入通话时,会收到主叫方取消通话的通知,不会再进入房间,如图10、图11所示;
被叫方主动挂断:
被叫方(专家)主动挂断时,主叫方(公众)一定是在线的,因此后台服务只需要通过 websocket接口通知主叫方结束通话,如图12所示;
通话记录:
实时音视频通话在***内会产生通话记录。通话记录数据变化有3个节点:
主叫方发起:创建通话记录,填写主叫发起时间。
被叫方接听:更新通话记录中的接听时间。
通话结束:通话记录有两种形式,一是被叫方超时未接听,而是被叫方接听,咨询结束后挂断。更新通话记录中的通话结束时间。
通话结束时间-接听时间即通话时长。
异常情况的处理:
如果在通话过程中发生了网络异常,会出现通话异常终止,而后台未收到通话结束请求而导致专家通话状态挂住的情况,此时专家不能再接受通话请求,专家需要退出客户端重新登录,重置通话状态。
⑧隐私号码保护:
未保护专家的号码隐私,本***提供了电话号码隐私保护功能,公众在慧农信客户端(微信小程序与APP)不能直接看到专家的电话号码,当公众需要通过电话方式联系专家时,需要在慧农信客户端的专家工作室中选择电话咨询,通过保护号码向专家发起电话咨询;
本项目使用的是阿里云的号码隐私保护产品提供隐私通话服务。阿里云隐私号码保护提供AXB中间号、AXG隐私号、AXN隐私号、AXN分机号等产品类型,经过业务场景分析,本项目使用的是AXB中间号产品,如图13所示。
⑨隐私号码绑定:公众用户在向专家发起电话咨询的时候,需要先获取隐私号码(AXB 中间号)。后台接收到前端的获取隐私号请求后,判断专家是否有未释放的绑定关系,如果有,说明其他人正正在咨询(通话中)或者准备咨询专家(已获取隐私号,未拨号),那么***将提示专家忙,否则向阿里云发起AXB中间号绑定请求,将公众的拨号号码与专家帮吗建立隐私号关系,并将隐私号返回前端。在本***中,公众号码作为AXB的A号码,专家号码作为B号码,中间号码不指定。从号码池中随机获取。好像方式设置为3,隐藏专家号码,显示公众号码,即公众用户在拨打的是隐私号,专家侧看到的是公众用户的真实号码。
号码绑定后,后台服务记录绑定关系,并生成一条初始化话单,话单的通话开始与结束时间均为空,标识公众用户未拨号,如图14所示。
拨号:
公众用户获取隐私号之后,慧农信客户端自动唤醒***拨号码,用户可以直接拨打隐私号。拨打之后,阿里云会发一条拨号通知到***后台服务,后台服务记录拨打时间,如图15 所示。
取消通话:
获取到隐私号之后,iOS APP可以选择取消通话,用户取消通话之后,***后台服务自动将绑定关系释放,并更新绑定关系为失效状态,如图16所示。
通话结束:
以下情况均视为通话结束:
被叫方未接听
被叫方拒绝接听
被叫方接听,通话结束后挂断
通话结束后,阿里云发送通话结束事件到平台后台服务,平台接收到通知后,更新通话记录(接听时间,结束时间,通话时长),并向阿里云发起释放绑定关系请求,如图17所示。
⑩通话记录处理
主叫方获取隐私号码时,后台生成一条空白的通话记录,记录用户获取隐私号码的时间用户拨打之后,阿里云推送拨号通知,***更新拨号时间
通话结束后,阿里云推送通话结束通知,***更新接通时间,通话结束时间以及通话时长。
当用户获取到隐私号码之后,如果不取消通话,也不拨打通话,***将无法主动释放号码绑定关系,需等绑定关系失效(目前设置绑定关系有效时长为5分钟)后由阿里云平台自动释放。
***定时(每2分钟一次)从阿里云查询号码绑定关系状态,如果平台已经释放,则更新本地绑定关系表,避免专家号码长时间被占用。
以上所述仅为本发明的优选实例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于大数据的科技特派员服务云平台构建***,其特征在于:***目标架构分为六层:基础设施层、数据层、应用支撑层、应用层、接入层、展示层及科技特派员供需对接***;
展示层:展示层是平台面向最终用户的入口,是各类用户获取所需服务的主要入口和交互界面,实现用户访问的登录、各类业务应用集成访问、个性化展现、用户及安全管理等方面功能,展示层基于html5、css、vue.js及G6语言与技术框架开发;展示层应用主要有:PC端页面,微信小程序、APP(含Android版和iOS版);
接入层:接入层是***前端***与后端***之间的通信服务层,使用nginx作为反向代理服务,展示层与接入层使用https协议通信,接入层向展示层提供html页面与respAPI接口;
应用层:应用层基于SprigCloud体系架构搭建,实现平台业务逻辑,支持跨平台、跨数据库应用,应用层业务应用主要分为科技特派员注册管理和服务成效评估***、科技特派员数据分析展示***、慧农信服务***、农技资源管理***和服务云平台管理***;
应用支撑层:应用支撑层利用各种通用性平台实现基础设施层与应用层之间的互通,向业务应用提供统一身份认证;应用支撑层主要单元有:密码应用、工作流引擎、搜索引擎、消息服务引擎、文件服务、统一日志管理、统一身份认证和能力服务集成;
数据层:数据层建立在硬件和操作***之上,主要用于存储本平台基础数据,为整个应用提供数据存储支持,本项目的数据存储以Oracle数据库为主,辅以非关系数据库elasticsearch以及内存数据库redis;数据层主要单元有:科技特派员信息数据库、慧农信服务信息数据库、公众服务信息数据库、基础信息数据库、数据存储计算***、数据采集汇聚以及数据分析;
基础设施层:基础设施层包括***层及网络层,是支撑信息***运行的基础,包含硬件设备、云平台,是承载整个本信息***的物理环境;基础设施层由政务云提供。
科技特派员供需对接***:运用LDA模型提取科技特派员的个人信息和服务对象的需求内容的主题,分别得到其属于这些主题的概率分布,对科技特派员和用户需求的描述x和y,通过Jensen-Shannon散度衡量其主题相似度,进行需求匹配,按相似度进行排序推荐。
2.根据权利要求1所述一种基于大数据的科技特派员服务云平台构建***,其特征在于:所述科技特派员注册管理和服务成效评估***主要为:工作台、科特派注册、基础信息管理、科特派申报、工作报告、需求对接、科特派管理、审核管理、专家信息、专家工作室、科特派风采管理、科特派评价考核、单位信息、申报计划管理、科特派申报模块管理、工作报告模板管理、数据分析、服务成就积分计算和单位管理;
所述科技特派员数据分析展示***主要为:科特派派出人员分析、科特派信息分析、科特派组成分析、科特派全省服务分布分析、扶贫县分析、科特派帮扶成效分析、城市科特派分布分析和科特派一张图;
所述慧农信服务***主要为:用户注册、看咨询、问专家、农技视频、需求对接、远程会诊、专家移动工作室、个人中心、APP应用设置、内容审核、服务数据管理和农技视频管理;
所述农技资源管理***主要为:农业知识管理、农业知识审核、农业图片管理、农业图片审核、农业培训视频管理、农技培训视频审核、标识管理和分类管理;
所述服务云平台管理***主要为:问卷管理、内容管理、用户管理、日志管理、用户反馈、数据字典管理、对外服务支撑和安全设置。
3.根据权利要求2所述一种基于大数据的科技特派员服务云平台构建***,其特征在于:所述应用支撑层主要包括以下几类:
微服务应用支撑:基于SpringCloud微服务框架的服务治理、服务链路追踪(skywalking)、服务日志收集以及分析;
中间件:工作流引擎、报表引擎、搜索引擎、消息服务引擎;
业务应用类支撑应用:包括统一身份认证、密码应用、文件服务、协议解析、统一日志管理、能力服务集成;
第三方接口接入:包括政务数据共享中心接口、阿里云对象存储产品接口、阿里云视频点播产品接口、阿里云敏感词过滤产品接口、腾讯实时音视频接口、腾讯短信服务接口、腾讯云地图开放平台接口、高德地图开放平台接口。
4.根据权利要求1所述一种基于大数据的科技特派员服务云平台构建***,其特征在于:所述基础设施层内置硬件设备为:服务器设备、存储设备、网络设备和安全设备;云平台为:计算资源池、存储资源池、网络资源池、安全资源池、服务器虚拟化、网络虚拟化和存储虚拟化。
5.根据权利要求1所述一种基于大数据的科技特派员服务云平台构建***,其特征在于:所述应用层基于SprigCloud体系架构搭建,支持跨平台、跨数据库应用;
它为微服务架构中涉及的配置管理、服务治理、断路器、智能路由、微服务、控制总线、全局锁、决策竞选、分布式会话和集群状态管理操作提供了一种简单的开发方式。
6.根据权利要求1所述一种基于大数据的科技特派员服务云平台构建***,其特征在于:所述应用层基于SprigCloud体系架构搭建内置SpringCloud接入网关zuul、服务通信、业务引擎、服务注册与发现Eureka和配置中心Config。
7.根据权利要求1所述一种基于大数据的科技特派员服务云平台构建***,其特征在于:所述本***通过外部服务器接口/能力开放服务对接外部网络平台。
8.根据权利要求7所述一种基于大数据的科技特派员服务云平台构建***,其特征在于:所述网络平台主要为:气象台、政务信息共享平台、阿里云平台、腾讯云平台和农村科技信息资源共享与服务平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210568999.4A CN115048080A (zh) | 2022-05-24 | 2022-05-24 | 一种基于大数据的科技特派员服务云平台构建*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210568999.4A CN115048080A (zh) | 2022-05-24 | 2022-05-24 | 一种基于大数据的科技特派员服务云平台构建*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115048080A true CN115048080A (zh) | 2022-09-13 |
Family
ID=83160212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210568999.4A Pending CN115048080A (zh) | 2022-05-24 | 2022-05-24 | 一种基于大数据的科技特派员服务云平台构建*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115048080A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117009103A (zh) * | 2023-07-17 | 2023-11-07 | 蝉鸣科技(西安)有限公司 | 一种合并多个业务***的方法以及整合*** |
CN117093880A (zh) * | 2023-10-19 | 2023-11-21 | 四川互慧软件有限公司 | 一种基于医疗集成平台的单点登录用户管理方法及*** |
CN117931483A (zh) * | 2024-03-21 | 2024-04-26 | 宁德时代新能源科技股份有限公司 | 操作***及生成方法、电子设备、存储介质和程序产品 |
-
2022
- 2022-05-24 CN CN202210568999.4A patent/CN115048080A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117009103A (zh) * | 2023-07-17 | 2023-11-07 | 蝉鸣科技(西安)有限公司 | 一种合并多个业务***的方法以及整合*** |
CN117093880A (zh) * | 2023-10-19 | 2023-11-21 | 四川互慧软件有限公司 | 一种基于医疗集成平台的单点登录用户管理方法及*** |
CN117093880B (zh) * | 2023-10-19 | 2023-12-26 | 四川互慧软件有限公司 | 一种基于医疗集成平台的单点登录用户管理方法及*** |
CN117931483A (zh) * | 2024-03-21 | 2024-04-26 | 宁德时代新能源科技股份有限公司 | 操作***及生成方法、电子设备、存储介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111460506B (zh) | 数据访问控制方法及装置 | |
US11487932B2 (en) | User interface for building an enhanced data orchestration enterprise service bus | |
US11936760B2 (en) | Method and system of generating generic protocol handlers | |
CN103428525B (zh) | 网络视频和电视节目的在线查询和播放控制方法及*** | |
CN115048080A (zh) | 一种基于大数据的科技特派员服务云平台构建*** | |
US9015651B2 (en) | Gateway data distribution engine | |
CN102016840A (zh) | 用于跟踪使用的***和方法 | |
CN113377805B (zh) | 数据查询方法、装置、电子设备及计算机可读存储介质 | |
CN109308224A (zh) | 跨平台数据通信、跨平台数据处理的方法、装置及*** | |
CN109933701A (zh) | 一种基于多策略融合的微博数据获取方法 | |
EP4064109A1 (en) | Secure communication in mobile digital pages | |
CN107798037A (zh) | 用户特征数据的获取方法及服务器 | |
CN108415710A (zh) | 在智能对话开发平台上发布、调用api的方法和*** | |
CN109189502A (zh) | 一种基于即时通讯公众平台的消息处理方法和相关设备 | |
CN105446981B (zh) | 站点地图生成方法、访问方法及装置 | |
CN113568923A (zh) | 数据库中数据的查询方法和装置、存储介质及电子设备 | |
US10230572B2 (en) | System and method for processing web-browsing information | |
Cockcroft | Netflix in the Cloud | |
US11582345B2 (en) | Context data management interface for contact center | |
Touronen | Microservice architecture patterns with GraphQL | |
CN112597531A (zh) | 一种数据产品管理方法及装置 | |
US20160371389A1 (en) | Method of presenting information on a search result page | |
CN102970184A (zh) | 网络应用的运行状态监控方法和应用服务器 | |
CN113190236B (zh) | Hql脚本校验方法及装置 | |
Simón Fernández | Automating the configuration of networking devices with Python |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |