仪表板展示 | X-lab开放实验室GitHub开源项目洞察大屏
背景介绍
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开源数据可视化分析工具参加本项赛事。
相关文章:

仪表板展示 | X-lab开放实验室GitHub开源项目洞察大屏
背景介绍 X-lab开放实验室是一个开源软件产业开放式创新的共同体,由来自国内外著名高校、创业公司、部分互联网与IT企业的专家学者与工程师所构成,目前已在包括开源治理标准制定、开源社区行为度量与分析、开源社区流程自动化、开源全域数据治理与洞察等…...

【c语言】五大内存区域 | 堆区详解
创作不易,本篇文章如果帮助到了你,还请点赞支持一下♡>𖥦<)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ…...

【JavaScript】动态表格
🎊专栏【 前端易错合集】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 🍔介绍 就是在输入框中输入数字后,再按…...

Css如何优雅的实现抽奖转盘
如图,抽奖转盘,可以拆分为几部分: 1.底部大圆; 2.中间小圆; 3.扇形区; 4.扇形内部奖品区; 5.抽奖按钮; 6.点击抽奖按钮时旋转动效及逻辑; 这其中,扇形区&am…...
在Java的小问题
问题1:如何在Java中创建一个对象? 解决方法: 在Java中,要创建一个对象,需要以下步骤: 创建一个类,定义对象的属性和行为。在类中定义一个构造函数,用于初始化对象的属性。在程序中…...

HashMap的扩容机制、初始化容量大小的选择、容量为什么是2的次幂
前置知识 先来看看HashMap中的成员属性 解释: size当前的容器中Entry的数量,也就是当前K-V的数量loadFactory装载因子,用来衡量HashMap满的程度,loadFactory的默认值是0.75threshold临界值,当实际KV数量超过threshol…...

[jenkins自动化2]: linux自动化部署方式之流水线(下篇)
目录 1. 引言: 2. 进阶操作 流水线 -> 2.1 简介: -> 2.2 最终效果图展示: -> 2.3 有没有心动, 真的像流水线一样, 实现了一键部署启动 3. 实现方式 3.1 下载几个插件 3.2 创建流水线任务 3.3 点击配置 3.4 根据流水线语法 写一个简单的helloworld 3.5 执行…...

idea使用 ( 二 ) 创建java项目
3.创建java项目 3.1.创建普通java项目 3.1.1.打开创建向导 接 2.3.1.创建新的项目 也可以 从菜单选择建立项目 会打开下面的选择界面 3.1.2.不使用模板 3.1.3.设置项目名 Project name : 项目名 Project location : 项目存放的位置 确认创建 3.1.4.关闭tips 将 Dont s…...

RabbitMq-接收消息+redis消费者重复接收
在接触RammitMQ时,好多文章都说在配置中设置属性 # rabbitmq 配置 rabbitmq:host: xxx.xxx.xxx.xxxport: xxxxusername: xxxpassword: xxxxxx## 生产端配置# 开启发布确认,就是confirm模式. 消费端ack应答后,才将消息从队列中删除#确认消息已发送到队列(Queue)pub…...

Orangepi Zero2 全志H616简介
为什么学 学习目标依然是Linux 系统 ,平台是 ARM 架构 蜂巢快递柜,配送机器人,这些应用场景用C51,STM32单片机无法实现 第三方介入库的局限性,比如刷脸支付和公交车收费设备需要集成支付宝SDK,提供的libalipay.so 是…...

Golang每日一练(leetDay0047)
目录 138. 复制带随机指针的链表 Copy List with Random-pointer 🌟🌟 139. 单词拆分 Word Break 🌟🌟 140. 单词拆分 II Word Break II 🌟🌟🌟 🌟 每日一练刷题专栏 &…...

HCL Nomad Web 1.0.7发布和新功能验证
大家好,才是真的好。 要问在HCL Notes/Domino系列产品中,谁更新得最快,那么答案一定是HCL Nomad Web。 你看上图右边,从1.0.1更新到1.0.7,都没花多少时间。 从HCL Nomad Web 1.0.5版本开始,可以支持直接…...
春招网申简历填写三技巧
网申第一关很重要,不夸张的说网申决定了你的笔试机会,从如信银行考试中心了解到,银行网申筛选过程中,有机器筛选人工筛选两道程序,掌握填写技巧后对提升简历通过率有较大帮助,一定要把握住,关于…...

计算机网络基础知识总结
经过学习我们可以知道: 关于计算机网络: ip地址端口号协议协议分层TCP五层协议协议封装两台计算机之间的通信 目录 ip地址 端口号 协议 协议分层 五层协议体系结构 (1) 应用层 (2) 运输层 (3) 网络层 (4)数据链路层 (5)物理层 封装&分用 两台主机之间的通信 …...

(下)苹果有开源,但又怎样呢?
一开始,因为 MacOS X ,苹果与 FreeBSD 过往从密,不仅挖来 FreeBSD 创始人 Jordan Hubbard,更是在此基础上开源了 Darwin。但是,苹果并没有给予 Darwin 太多关注,作为苹果的首个开源项目,它算不上…...

row_number 和 cte 使用实例:考场监考安排
row_number 和 cte 使用实例:考场监考安排 考场监考安排使用 cte 模拟两个表的原始数据使用 master..spt_values 进行数据填充优先安排时长较长的考试使用 cte 安排第一个需要安排的科目统计老师已有的监考时长尝试使用 cte 递归,进行下一场考试安排&…...
2023天梯赛记录
文章目录 L2-001 紧急救援L2-002 链表去重L2-004 这是二叉搜索树吗?L2-005 集合相似度L2-006 树的遍历L2-007 家庭房产L2-010 排座位L2-011 玩转二叉树L2-012 关于堆的判断L2-013 红色警报L2-014 列车调度L2-016 愿天下有情人都是失散多年的兄妹L2-019 悄悄关注L2-0…...

被吐槽 GitHub仓 库太大,直接 600M 瘦身到 6M,这下舒服了
大家好,我是小富~ 前言 忙里偷闲学习了点技术写了点demo代码,打算提交到我那 2000Star 的Github仓库上,居然发现有5个Issues,最近的一条日期已经是2022/8/1了,以前我还真没留意过这些,我这人懒…...

OpenGL(三)——着色器
目录 一、前言 二、Shader 2 Shader 2.1 顶点着色器 2.2 片段着色器 三、APP 2 Shader 四、顶点颜色属性 五、着色器类C 一、前言 着色器Shader是运行在GPU上的小程序,为图形渲染管线的某个特定部分而运行。各阶段着色器之间无法通信,只有输入和输…...
【MySQL】单表查询
一、表的准备 查询操作的SQL演示将基于下面这四张表进行,我们先创建好这四张数据表,并为其添加数据。 1、第一张表为部门表,名称为包含三个字段:部门编号(deptno),部门名称(dname&…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...