仪表板展示 | X-lab开放实验室GitHub开源项目洞察大屏

news2024/11/15 15:50:19

背景介绍

X-lab开放实验室是一个开源软件产业开放式创新的共同体,由来自国内外著名高校、创业公司、部分互联网与IT企业的专家学者与工程师所构成,目前已在包括开源治理标准制定、开源社区行为度量与分析、开源社区流程自动化、开源全域数据治理与洞察等方面做出了较有影响力的工作。

OpenLeaderBoard是X-lab开放实验室旗下的开源项目,它是一个全球开源领导力排行榜,基于一套科学、公正、透明的方法生成全球开源项目、开源企业、开源贡献者的排行榜单。OpenLeaderBoard对GitHub上的企业、项目以及开发者进行了活跃度和影响力的排名。

OpenDigger则是X-lab实验室主导的开源生态数据分析核心项目,负责与开源测量学相关的一切数据、指标、模型、算法等落库与实现。作为一个具有共识性的实施标准工具集,当前OpenDigger项目已经在木兰社区下面进行孵化与培养,并服务于包括木兰社区、开放原子基金会、互联网企业、COSS 企业、投资机构、媒体等不同的组织。

X-lab开放实验室需要对全球开源项目的相关数据指标进行多维度的展示,因此希望制作一个开源项目洞察大屏,在大屏中展示开源项目的不同指标,例如项目关注度、巴士系数、项目参与人数、Star/Fork总数、Star/Fork新增等指标,让关注项目的人可以了解整个开源项目的具体情况。

要在大屏上展示这么多的指标,就需要考虑数据怎么来?数据如何展示?什么样的项目适合OpenLeaderboard?基于这些问题,X-lab开放实验室开始进行项目选型,从数据展示、数据源接入、是否适合OpenLeaderboard、是否适合X-lab开放实验室等各个维度进行考察,希望要找到跟目标和要求相契合的数据可视化产品。

大屏介绍

GitHub开源项目洞察大屏基于DataEase(https://github.com/dataease/dataease)实现OpenLeaderBoard开源项目各指标的分析展示,包含了被观察开源项目的影响力、关注度、活跃度、巴士系数(即累计达到项目50%贡献度的开发者数量)、项目参与人数、Star/Fork总数、Star/Fork新增等指标。

对于OpenLeaderBoard来说,对数据可视化分析工具的需求包括:首先,要能够直观地展示开源项目的质量、进展和问题等项目整体情况,帮助社区及时发现和解决问题;其次,是展现开源项目关注度和活跃度,以激励社区成员参与项目开发和维护,促进社区成员的参与和贡献;最后,呈现开源项目数据和指标监控,这样做可以提高项目的质量和透明度,促进项目的发展和推广。

以DataEase开源项目为例,其开源项目洞察大屏的效果如下图所示。
在这里插入图片描述

为什么选择DataEase?

在进行BI产品选型时,X-lab开放实验室团队对比了多款开源工具,最终选择了DataEase开源数据可视化分析工具。X-lab开放实验室选择DataEase的原因包括:

1.DataEase是开源项目,所有人都可以贡献和使用,与X-lab开放实验室的使命、愿景、价值观相契合;

2.简单易用,DataEase不仅可以只需要一条命令就可以一键安装,而且可以通过拖拉拽的方式来设计图表;

3.丰富的图表支持;

4.多种数据源支持;

5.DataEase项目的整体活跃度非常高,而且每月持续迭代更新版本。

落地过程

基于上述的原因,X-lab开放实验室团队选择了DataEase。在使用部署的过程中,X-lab开放实验室团队也发现了一些大屏落地过程中需要解决的问题,但最终都通过和DataEase开源工具的配合得以解决。

问题1:由OpenDigger提供的数据的数据格式是固定的,所以在对接DataEase时,发现基于这些数据格式无法进行有效的数据展示。

解决方法1:经过团队多方讨论,决定写一个数据中转程序(即od-api)来解决这一问题。由数据中转程序来实现数据格式转换,获取开源项目的影响力、关注度、活跃度、巴士系数、项目参与人数等数据,并定时同步对应的数据,将数据存储到MySQL数据库中,再由DataEase进行数据源的接入,以及历史数据的同步。

问题2:团队希望获取开源项目在GitHub代码托管平台的Star、Fork等总数,但OpenDigger中记录的数据为趋势数据,并未记录总数等数据,即使数据累加也不是实际的Star总数、Fork总数。

解决方法2:团队通过调研接口后发现,GitHub开发的API中包含这些数据,通过调用API的接口,成功获取到这部分数据。

问题3:在OpenLeaderBoard项目排行榜中,当存在多个项目时,如何在进入开源项目大屏后使得展示的数据都是对应项目的数据?

解决方法3:在OpenLeaderBoard排行榜页面上增加一列图标,通过点击该列中的图标跳转至对应具体项目的开源洞察大屏。DataEase支持实时传入外部参数,只需要在跳转时,在公共链接部分对应上各自的项目名称,点击后大屏上即可展示对应的项目洞察数据。

效果实现

1.实现方案

相关数据由Opendigger和GitHub API提供,用数据转换程序od-api将数据整理落库到MySQL数据库中,并调整相对应的数据格式,最后将MySQL作为数据源接入到DataEase平台,用来进行数据分析和展示。

底层数据来源:OpenDigger、GitHub API;

数据转换程序:od_api;

DataEase数据源接入:MySQL;

数据展示:DataEase开源数据可视化分析平台。
在这里插入图片描述

▲ 附图 GitHub开源项目洞察大屏整体实现方案架构图

2.实现效果

更多合作

除了GitHub开源项目洞察大屏,X-lab开放实验室基于DataEase还实现了GitHub 2022数字洞察报告(BI大屏版),内容包含对GitHub多角度的宏观分析和微观分析,从全域生态、地域生态、供应链生态、技术生态、商业生态、组织生态、社区生态和开发者自身等八大视角,全面展示了开源软件生态体系的发展状况。

《GitHub 2022数字洞察报告》包含了GitHub全球增长大屏、开源软件供应链生态大屏、开源技术领域与编程语言大屏、开源数据库领域洞察大屏、全球商业开源洞察大屏、木兰开源社区洞察大屏、开源项目社区洞察大屏(下图以dataease洞察大屏为例)和开发者个人贡献大屏,后续还计划将这些大屏集成至OpenLeaderBoard项目中并统一入口。
在这里插入图片描述

赛事信息

近日,开放原子开源基金会发起了“OpenDigger开源软件生态数据分析挖掘平台挑战赛(OpenSODA)”。本项赛事正在火热进行中,比赛作品征集中W2类作品主题为“开源领域的可视化大屏”,DataEase为W2类作品案例的合作平台。该赛事初赛时间为5月6日,报名已经开始,欢迎大家使用DataEase开源数据可视化分析工具参加本项赛事。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/464380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS - 实现容器溢出后隐藏滚动条并且能正常滚动,盒子高度超出后不显示滚动条但是能正常滚动(附带详细示例,完美解决方案)

前言 网上很多都会使用 JS 来实现,其实纯 CSS 就能完成。 本文实现了 当外层容器盒子溢出时,去掉滚动条的显示(但能正常滚动),适用于 Vue、React 等全部前端项目, 您可以直接复制示例源码,运行…

Android性能优化—ViewPagers + Fragment缓存优化

大家看标题,可能会有点儿懵,什么是ViewPagers,因为在很久之前,我们使用的都是ViewPager,但是现在更多的是在用ViewPager2,因此用ViewPagers(ViewPager、ViewPager2)来代替两者&#…

第10届蓝桥杯省赛真题剖析-2019年3月24日Scratch编程初中级组

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第126讲。 第10届蓝桥杯省赛,这是2019年3月24日举办的省赛Scratch考试真题,比赛是在线下举办的…

分组双轴图:揭示数据中的关联性和趋势变化

简介 分组双轴图是一种数据可视化图表,指有多个(≥2)Y轴的数据图表,多为分组柱状图折线图的结合,图表显示更为直观,可以很好地展示不同指标之间的关系,帮助用户更好地理解数据,做出…

深度学习 - 44.MMOE 与 Gate 之多目标学习

目录 一.引言 二.摘要 Abstract 三.介绍 Introduction 四.相关工作 RELATED WORK 1.DNN 中的多任务学习 2.SubNet 集成与 Expert 混合 3.多任务学习应用 五.建模方法 MODELING APPROACHES 1.Shared-bottom Multi-task Model 2.Mixture-of-Experts 3.Multi-gate Mixt…

美团B端“加速度”

配图来自Canva可画 一提起本地生活服务,相信绝大多数人并不会感到陌生,人们经常使用的餐饮外卖,便是本地生活服务的重要组成部分之一。而在消费者线上消费习惯逐渐养成、本地生活服务需求日渐增长等多方因素的共同影响下,本地生活…

BUUCTF pwn——picoctf_2018_rop chain

checksec && 运行 ida main函数调用vuln函数 名为vuln的函数存在溢出 名为flag的函数,通过校验可直接getflag 具体校验过程看图,只有win1和win2均为真,并且a1的值等于0xDEADBAAD才能getflag 变量win2的真假性通过win_function2函…

三个练手的软件测试实战项目(附全套视频跟源码)偷偷卷死他们

项目一:12306抢票项目 项目测试目的 学会Selenium定位web元素的方法 熟练浏览器调试工具使用 项目主体步骤 1) 人工走一遍流程,对自动化的流程心中有数 2) 按步骤拆分,然后对每一个小步骤编写自动化脚本 3&#xff…

FreeRTOS(三)——应用开发(一)

文章目录 0x01 FreeRTOS文件夹FreeRTOSConfig.h文件内容上面定义的宏决定FreeRTOS.h文件中的定义0x02 创建任务创建静态任务过程configSUPPORT_STATIC_ALLOCATION创建动态任务过程configSUPPORT_DYNAMIC_ALLOCATION 0x03 FreeRTOS启动流程启动流程概述 0x04 任务管理任务调度器…

python基于轻量级YOLOv5的生猪检测+状态识别分析系统

在我之前的一篇文章中有过生猪检测盒状态识别相关的项目实践,如下: 《Python基于yolov4实现生猪检测及状态识》 感兴趣的话可以自行移步阅读,这里主要是基于同样的技术思想,将原始体积较大的yolov4模型做无缝替换,使…

关于python异常的总结

Python异常是在程序执行时发生的错误,可能会导致程序终止运行。 在Python中,异常处理是一种机制,它允许开发人员在程序发生异常时捕获、处理和报告这些异常,以便程序可以继续运行或在出现异常时进行优雅的退出。 在Python中&…

大数据之入门开发流程介绍

目录: 1、大数据的开发大致流程2、技术导图 1、大数据的开发大致流程 1.1 数据收集 大数据处理的第一步是数据的收集。现在的中大型项目通常采用微服务架构进行分布式部署,所以数据的采集需要在多台服务器上进行,且采集过程不能影响正常业务的…

Domino的线程ID和操作系统的进程ID对应关系

大家好,才是真的好。 很多时候,在Domino中运行的任务出现一些错误提示,如果能够准确定位到和提示信息相关任务时,对我们排错有着巨大的帮助,也能节省很多时间。 例如,我们可能在Domino实时控制台上看到以…

RedHat8配置本地YUM源

目录: RedHat8配置本地YUM源1、创建规则文件2、创建挂载点3、挂载ISO镜像(1).将iso镜像连接到虚拟机再进行挂载a.将ISO镜像连接虚拟机b.挂载镜像到挂载点c.使用df -h查看当前系统设备挂载情况 (2)将iso镜像上传至服务器再进行挂载a.将ISO镜像通过ftp工具上传b.挂载镜…

Spring Boot——优雅的参数校验

🎈 概述 当我们想提供可靠的 API 接口,对参数的校验,以保证最终数据入库的正确性,是 必不可少 的活。比如下图就是 我们一个项目里 新增一个菜单校验 参数的函数,写了一大堆的 if else 进行校验,或者基础校…

C#简单向:textbox添加提示内容

项目场景: 向C#窗体项目的textbox内添加提示内容,如下图所示效果: 具体实现: 首先: 1.到所要操作的文件(/xx.cs/xx.Designer.cs),这里我是到Form3.cs/Form3.Designer.cs文件 2.找到你所要操作的textBox&#xff0c…

数据结构与算法(一):基础数据结构(算法概念、数组、链表、栈、队列)

算法概念、数组、链表、栈、队列 判断一个数是否是2的N次方? N & (N-1) 0 (N > 0)算题: 力扣 https://leetcode.cn/POJ http://poj.org/ 算法 算法概念 算法代表: 高效率和低存储 内存占用小、CPU占用小、运算速度快 算法的高…

C# HttpClient使用JWT请求token调用接口,解决返回HTML网页的异常信息

一.项目目的: 1.使用JWT获取token,调用外部提供的接口,解决返回HTML错误信息。 错误缘由,接口服务器未能识别token,token信息不准确。 二.项目工具: Visual Studio(开发工具)&…

【Java|golang】1031. 两个非重叠子数组的最大和---前缀和+滑动窗口

给你一个整数数组 nums 和两个整数 firstLen 和 secondLen,请你找出并返回两个非重叠 子数组 中元素的最大和,长度分别为 firstLen 和 secondLen 。 长度为 firstLen 的子数组可以出现在长为 secondLen 的子数组之前或之后,但二者必须是不重…

专为Windows电脑和服务器设计的磁盘管理软件

关于Windows磁盘管理 磁盘管理是Windows自带工具,允许你对磁盘进行一些基本操作,Windows个人用户和Windows Server用户可以使用它来: 1. 创建一个新驱动器,如“新建简单卷”功能。 2. 将一个卷扩展到当前未被同一磁盘…