仪表板展示 | 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&…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
