论文部分内容阅读
近十年来,我国志愿服务事业蓬勃发展,超过1.2亿的志愿者、73万志愿团体和232万志愿项目每年产生大量志愿服务数据。然而志愿服务事业智能化、信息化发展却相对滞后。海量数据仅通过云中心集中存储而缺乏进一步的大数据处理、计算与分析,志愿者没有享受到大数据带来的智能与便利,大量隐藏在数据背后的结论与发现亟待研究与挖掘;同时,随着大数据时代的数据源、数据量不断膨胀及智能化的需求日益增长,传统云平台架构难以满足现状,实时性、网络制约、资源开销、计算负载和隐私保护等方面的缺陷逐渐暴露,亟需更替成边缘计算和云计算协同的云边协同微服务架构。另一方面,随着互联网应用功能业务不断复杂,种类繁多的设备需要得到适配支持,不同业务逻辑的相互调用、业务交叉情况愈发普遍,传统单一应用架构存在不灵活、不可靠、不易扩展、迭代速度慢、阻塞持续集成的问题。微服务作为新一代软件架构设计思想,旨在解决此类问题,是传统应用架构改进的趋势。志愿服务由于其自身特点,通常以行政区域划分系统权限,存在本地个性化、差异化服务的需求,天然支持且高度适合云边协同及微服务设计思想的革新。本文基于云边协同微服务架构,完成志愿服务平台设计与实现,是我国志愿服务事业发展的迫切需要,推进了我国智能化、信息化社会建设的进度,为边缘计算和云边协同架构的实现提供了参考案例,同时也为物联网多协议设备接入通用架构的探索提供了可行性解决方案。本文主要工作包括:一、志愿大数据算法与服务研究。本文提出了基于TF-IDF和标签幂集策略决策树模型的志愿标签智能补全算法。通过创建自定义语料库、停用词列表,使用jieba分词和TF-IDF算法提取相关短文本关键词作为特征向量,将标签补全问题转化成中文文本多标签分类问题,利用标签幂集策略决策树模型完成文本分类,多标签分类准确率达88.92%,比传统二元关联策略高斯贝叶斯分类算法高67.11%。利用补全后的志愿服务标签,筛选并结合其他字段进行数据向量化,描述用户画像,实现了基于重载运算符的混合加权志愿服务推荐算法。该算法中,基于重载运算符的方法,重新定义了传统协同过滤算法中相似度的计算,具有更友好的解释性,将在线推荐的时间复杂度由O(N+M)降至O(1)(总项目数N,总团体数M)。算法加权结合用户标签、时间戳、所属地区等字段和历史记录,推荐志愿团体和项目的准确率达到18.51%/27.50%,比只考虑历史记录的传统算法在准确率上也有了 16.44%/24.93%的提高。二、云边协同微服务架构研究。本文基于Docker及EdgeX框架等关键技术,提出并搭建云边协同微服务架构,为传统大数据环境应用提供兼容多协议设备的通用架构,取代传统云平台和单一应用架构,具有高可靠、松耦合、迭代速度快、跨平台兼容性好等优点,并提供了多个通用功能模块。其中泛化设备接入与处理模块为MQTT、SNMP、HTTP、ModBus等不同协议设备提供通用支持;云边节点自我感知模块用多叉树结构抽象云边结构,使云边节点能动态自我感知,体现了相较于传统单层或双层云边协同架构,拓展便捷性上的优势;资源监控与服务动态升降级模块为节点提供自我监控、动态调节的能力;负载均衡模块利用Docker Swarm容器集群分摊网络请求,使请求平均耗时减少59.49%以上。三、云边协同微服务架构下志愿服务平台实现。本文基于提出的云边协同微服务架构,搭建了新一代志愿服务平台。本平台将全国的志愿服务系统划分为全国、行政区域、边缘设备的多层云边结构,融入本文提出的志愿标签智能补全算法、加权多标签推荐算法和数据可视化,进一步赋能志愿服务平台,分层次为志愿者、组织者和决策者提供智能服务。最后,本文将云边协同微服务架构下志愿服务平台与传统平台进行了对比。