# AllSpark-开源大数据综合治理平台 **Repository Path**: tianyichow/AllSpark ## Basic Information - **Project Name**: AllSpark-开源大数据综合治理平台 - **Description**: AllSpark-开源大数据综合治理平台 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 7 - **Created**: 2020-02-24 - **Last Updated**: 2025-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AllSpark-开源大数据综合治理平台 ### 1. 团队简介 #### 团队成员 周添一,华东师范大学数据科学与工程学院,xlab实验室,硕士研究生 王皓月,华东师范大学数据科学与工程学院,xlab实验室,硕士研究生 范家宽,华东师范大学数据科学与工程学院,xlab实验室,硕士研究生 夏小雅,华东师范大学数据科学与工程学院,xlab实验室,硕士研究生 刘颖凡,华东师范大学数据科学与工程学院,xlab实验室,本科生 #### 团队介绍 华东师范大学X-lab实验室成立于2018年,是华东师范大学数据科学与工程学院的创新 “特区”,致力于发展成为世界一流的实验室。在王伟、刘垚等老师的带领下,实验室继承和发扬“技术驱动创新”的精神,坚持“技术传播文明,践行同步世界”的创新理念,学术研究与产学合作齐头并进,培养了一批科研与开发能力出众的学生。 X-lab实验室通过搭建开放的合作平台,致力于在开源领域创造新机遇。实验室积极举办开源活动,开展开源大数据领域的研究,以数据驱动的方式开展开源大数据领域的前沿研究,团队在开源生态、开源数据基础设施方面有丰富的研究经验。 ### 2. 产品名称 **AllSpark-开源大数据综合治理平台** ### 3. 产品介绍 #### 产品背景 开源的软硬件正在大方光彩,开放才能共赢,从长远的角度来看,如果不深入贯彻开源技术,软硬件供应商就不可能取得成功。在数字信息化时代,开源生态产业多年来的繁荣发展的过程中产生了海量具有重要价值的数据,如何有效的存储、管理这些持续增长的海量数据,如何从重挖掘出有价值的信息,如何设计新的算法和系统来赋能开源软件和社区繁荣发展都值得思考和研究,这些问题在近些年来引起了学术界和工业界的广泛关注。 2018 是“开源”的幸运数字,在这一年,“开源软件”从诞生开始,走过了整整 20 周年。随着开源软件的日趋风靡,开源已经成为一项世界性的流行运动,它是人类在互联网发展进程中探索出的一种面向全球的大规模协作生产方式,它以开放共享、合作共赢为宗旨,有效地推进了全球化进程。开源经过形成时期、古典时代、移动时代到云开源时代的不断发展,开源产业链条已经逐渐形成[1]。越来越多的中国IT企业,无论是大厂还是小厂,都越来越积极的投入人力物力,参与开源,贡献开源。开源代码代表着IT技术发展最先进的方向,开源社区代表着开放的协作精神与创新的摇篮。2018 年的时候,全球最大的代码托管平台 GitHub 已有 3000 万开发人员,囊括 200 万家企业或组织,拥有 9600 万个代码库,已提交 2 亿的 pull request。而在 GitHub 发布的 2019 年年度报告中,开发人员则已经超过 4000 万,有将近 300 万个组织帐户,新创建的 repo 数超过了 4400 万个。目前的 GitHub,有超过 80% 的开发者来自美国以外的地区,其中中国的贡献者数目仅次于美国,排名第二,中国的开发者 fork 并 clone 的项目比往年增加了48%。 AllSpark项目致力于研究和构建基于鲲鹏生态系统的全球开源大数据创新平台,从数据驱动创新的角度出发,依托于鲲鹏生态的强大基础设施,从三个层面构建开源大数据治理平台,既数据存储和管理平台,数据建模和计算平台和可视化展示及信息查询平台。首先,参天大树应扎根沃土,最基础、最重要的是存储和数据管理系统,该系统用于持续采集、存储、清洗和管理海量开源大数据,对上层应用透明,为各项业务需求提供高效的支持;其次,是业务导向的数据建和计算平台,数据、算法建模及相关计算支持均在此层完成;最后,上层应用系统用于提供可视化展示、分析结果展示以及用户自定义交互。 ### 产品功能 #### 开源大数据采集与存储 开源技术的流行以及大量数据的持续产生同时给我们带来了新的机遇和挑战,开源软件有两个重要的属性,一个是开发者与社区,另一个是源代码,开源大数据的产生也来源于这两个部分。一方面,基于版本控制系统Git构建的开源软件仓库托管平台在全世界流行,如Github、Bitbucket和Gitee等。全球的开源开发者围绕着托管在这些平台上的开源软件构建出众多繁荣的开源社区,从开源社区中迭代出的分布式协作开发与社区管理模式是诸多开源软件取得成功的重要因素,正如Apache一直坚持的理念“社区重于代码”,如何进行社区治理从而使其成为一个繁荣社区是关键。开发者在诸如Github这类平台上的协作开发过程中,产生了大量的行为数据,如Issue讨论、Pull Request及代码评议讨论、Commit记录等。以Github平台为例,GH Archive 和 GH Torrent两个数据归档项目均持续归档存储Github平台上的行为数据,两个项目分别来自企业界和学术界,代表了各方对开源数据的重视。GH Archive 监视 GitHub 公共事件时间轴,我们能在这些具有时间属性的行为数据当中,基于数据挖掘和分析的方法,得出开发者协作关系、社区演化过程以及社区状态等属性,并从中挖掘出繁荣开源社区治理的内在经验。而且,近期的研究结果表明,自动化管理工具对开源社区的高效运作和健康发展起到了重要作用,(例如华为的Open Euler社区同样在通过自研发的自动化工具辅助社区治理),但目前管理工具基于简单规则,能力有限。使用从开源大数据中获取的繁荣社区经验来赋能智能的自动化社区管理工具,能高效推进开源软件和社区的健康发展,提高生产效率。另一方面,众多开源软件仓库在不断演变进化,功能版本不断更新,Git系统能记录下软件开发过程中的每一次提交修改的详细信息,因此现存的数量庞大的软件仓库本身也可以分析挖掘得出还海量的数据,如开发者基于代码贡献的协作关系、软件依赖关系、功能迁移演化等,具有重要价值。因此,从社区属性和仓库内容两个方面产生了海量的开源大数据。AllSpark项目的的数据管理基础设施部分已经运行在X86架构的服务器上,目前可以持续收集采集Github的全域行为数据,并基于此项服务进进行2019年开源数据分析,发布了2019开源数字年报。目前的数据存储、管理系统均基于开源软件构建,没有特殊平台依赖,可以迅速迁移到鲲鹏生态下。同时,鲲鹏生态下的高性能存储、计算服务器以及数据库软件可以满足分析存储开源软件仓库所产生的数据,为上百TP的海量开源大数据的存储、实时分析任务提供性能保障,使得具有采集、存储、清洗、管理功能的开源大数据平台构建成为可能。依托底层数据基础设施和系统的支持,以科学的方法进行数据探索和数据建模,构建上层计算平台、应用平台以及智能化社区管理工具。 #### 宏观开源生态评估 根据自定义的项目活跃度指标,对全域开源数据记录数据分析建模,我们对活跃项目进行了活跃度统计与排名,这里给出世界活跃度 Top 10 项目的列表: ![global_top_10_dev_act](./pic/global_top_10_repo_act.png) 其中`996.ICU` 作为一个现象级开源项目,大家并不陌生。2019 年 3 月 到 4 月,中国程序员为抗议 996 工作制,在GitHub发布了一个名为 996.ICU 的项目,该项目短时间内获得超过 20 万颗星星,成为最耀眼的明星项目。 而活跃度最高的项目则是来自微软的跨平台代码编辑器`Microsoft/vscode`;此外微软使用开源的方式来建设其 Azure 云平台的项目`MicrosoftDocs/azure-docs`排名第三,显然微软在开源上的努力获得了程序员的认可。 在这个TOP10排名中,涉及了三个来自谷歌的项目,分别是:前端跨平台开发框架`Flutter`、容器编排系统`Kubernetes`以及深度学习框架`TensorFlow`,这也进一步说明谷歌在开源上的努力和影响力获得业内的认可。 其实各大开源项目的背后,基本都有科技公司的支持,我们给出了一个科技公司维护的 GitHub 组织和项目列表,并根据该列表,计算出了中国科技公司所维护的开源项目在 2019 年的活跃情况与开发者参与情况,结果如下表所示: ![company_top_act](./pic/company_top_act.png) #### 数据驱动的开源社区生态分析 开源软件往往通过版本控制系统如Git进行协作开发,Git 仓库中的每一个 commit 记录由贡献者产生,对仓库的一个或者多个文件产生影响,因此对特定时段内的所有贡献者的提交记录分析能反映出了贡献者的活跃程度、协作模式以及项目社区本身的类型属性。我们通过仓库挖掘的工具对中国活跃程度排名前 20 的项目 commit 记录进行挖掘分析,并做可视化展示,相关数据文件参考[这里](https://github.com/X-lab2017/github-analysis-report-2019/tree/master/network)。 对于每一个仓库,以单月和全年为粒度分析单个仓库的 commit 记录,并将仓库的内容贡献模式以二部图的方式可视化展示。数据文件的可视化图中蓝色节点代表仓库文件,红色节点代表用户,节点越大,表面该账号对应的用户修改的文件内容越多,节点间的边的粗细反应了贡献次数。 ![pic](./pic/tidb_10.png) ### 4. 系统架构 Allspark项目的系统架构图如下: ![pic](./pic/system_architecture.png) 基于鲲鹏生态系统的数据管理平台:主要支持数据采集、存储、清洗及密集计算服务,并对针对上层业务进行数据封装表示。平台在鲲鹏生态下的EulerOS服务器上开发并部署数据采集分析工具,持续从Github等平台收集数据,数据采集分析工具分布式部署以提高数据处理效率。采集得到的海量数据将类型存储在存储型服务器上,按数据类型提供结构化数据存储和非结构化数据的存储,采用高容错的存储技术。存储下的海量数据在通过自主开发并部署的数据清洗解析工具处理,选择合适的开源技术以适配上层OLAP任务需求,并在此基础上封装数据访问结构,定义结构化的数据表示层,使得数据管理平台对上层访问透明,为上层建模和分析任务提供支持。 数据建模和计算平台:有了基于鲲鹏生态基础设施建立的强大数据管理平台,能够有效支持上层计算平台,以业务导向进行数据建模和分析。以社区中开发者协作关系为例,在开源社区用户行为数据和代码仓库历史贡献数据中可以清洗提取开发者基于代码的贡献、代码评议及问题讨论等多维度的关系网络,应用适用的网络分析及图卷积算法等,可以针对链路预测、关键用户节点检测、开源技术发展趋势预测等任务,从数据和算法的角度进行任务建模,获取内在经验知识,并应用于社区健康治理,知识取自社区,用于社区。计算平台通过token授权和数据中间件与社区安装的自动化管理机器人插件进行交互,插件会通过用户授权和Github等平台的webhook等获取社区管理能力,通过用户自主化配置,结合计算平台特定业务的数据模型,实现开源社区的智能监控、管理,同时也可以进行更加精细化的数据采集任务,随着系统运行反馈迭代更新并完善整个系统。 可视化展示及信息查询平台:依托于开源全域数据和计算平台的数据建模,将有能力对全域的开源生态现状进行监控,以可视化的手段将复杂且难以理解的数据信息以直观的方式展示出来,辅助社区管理决策,提供数字信息咨询等服务。在这一方面,依托于AllSpark项目初期构建的基础设施,本团队发布的2019年中国开源年报的社区状态的可视化展示是一个试验性的案例。在依托于鲲鹏生态后, 将进一步精细化产品设计,依托于数据管理平台、计算平台构建鲁棒性、易用性良好的可视化和查询咨询平台。 ### 5. 备注 #### 迁移方案 现存的数据管理和存储方案均是基于X86建构硬件环境,而且使用的软件和工具也多为国外产品,本项目建立的开源大数据综合治理平台讲完全迁移至鲲鹏生态下,具体迁移列表如下: | 硬件环境 | 基于X86的PC机、服务器 | 基于鲲鹏芯片的PC、泰山服务器 | | ---- | ------------------ | ------------------- | | 操作系统 | CentOS | 欧拉OS | | 数据库 | MongoDB,MySQL | GaussDB数据库 | | 大数据 | Hadoop、Spark | FusionInsight | | 云计算 | Azure、Amazon、阿里、腾讯 | 华为云 | | 人工智能 | GPU编程平台 | Atlas平台、ModelArts平台 | ### 6. 核心技术和创新情况 * 完善的基础设施服务。基础设施包括完整数据集的全自动采集和导入、脏数据的全自动清洗、有效数据的全自动拆解、拆解后数据的标准化存储和完善的API查询接口。通过对数据从采集、清洗、提取、存储和查询等全流程全自动化的基础设施建设,奠定了后续数据分析的基石,将人力成本从海量的数据整理过程中解放出来,实现数据的快速转换和有效利用。 * 项目状态的实时监控。通过完善的基础设施服务,进一步具像化了数据。通过前端强大的通用性图表组件,借助数据集的实时采集,构建完整的项目数据数字化看板系统,并且系统支持各项性能指标的自定义功能。运维人员可以通过检测数字化看板来实时了解项目的将康状态,从而供决策者制定项目后续的发展战略。 * 生产数据和前沿算法的紧密结合。GitHub作为全球最大的代码托管平台,承载了无数开发者曾经的协作数据,记录项目从诞生之初到各阶段发展的详细历程。通过对丰富的开发者数据进行建模。当结合深度强化学习算法时,利用算法最大化收益的特性,来探寻开发者和项目的演化关系,并且将演化关系不断提升,从而实现开源社区的健康发展。 ### 7. 应用案例与价值成效 全球最大代码托管平台 GitHub 在 2019 年发布的年度报告中显示, GitHub 上目前已有超过 4000 万开发人员、将近 300 万个组织帐户。其中来自中国的贡献者数目仅次于美国,排名第二,中国的开发者 fork 并 clone 的项目比往年增加 48%。 在开源日益重要的今天,我们也需要一份建立在全域大数据基础上得出的相对完整、可以反复进行推演的数据报告(报告、数据、算法均需开源)。在 AllSpark-开源大数据综合治理平台上,我们对 2019 年 GitHub 上 5.46 亿条日志进行了分析,发布了GitHub 2019 数字年报,展现了目前开源世界全貌,以及中国的开发者和企业组织在整个开源产业中的表现。 我们首先从宏观角度对日志进行了分析,发现在对开发者活跃度与项目活跃度统一定义下,2019 年总活跃项目数量约 512 万个,相较 2018 年的约 313 万增长约 63.6%。但是,这其中仅有 1399 个项目的活跃度超过了 1000,占总项目数量不足万分之三;2019 年总活跃开发者数量约 360 万,相较 2018 年的约 303 万 增长约 18.8%。然而参与开发者数量超过 1000 人的项目仅有 333 个,可谓万里挑一。这一数据结果说明大多数项目还是处于低活跃、少参与的状态。 之后,我们分别从世界 Top 10 开发者、世界 Top 10 项目、中国 Top 20 项目、部分 repo 协作关系图、开发语言、国内技术公司开源项目这几个角度进行了数据的分析与研究。详细内容可以参考[这里](https://mp.weixin.qq.com/s/z-TKzNjw5dhufYJbGo9xJg)。 大数据时代的信息量与日俱增, 数据价值得到越来越多人的认可。但是数据管理、实现数据价值最大化等问题始终未能得到完美的解决。数据在不同时间段, 对于不同业务需求, 其价值也不尽相同。开源大数据综合治理平台在对数据进行生命周期管理的同时能够满足各方对数据进行相应操作, 使数据价值得到最大化体现。