以「基于SimbaOS Kernel的应用创新」为主题,2023年秋季StartDT Hackathon近日圆满收官。
本季黑客马拉松不仅有多次蝉联冠军的算法团队参战,有过去惜败的队伍卷土重来,还吸引到了制造、政企、泛零售等行业线开发者“攻擂”,携丰富的行业理解和实践经验,基于SimbaOS Kernel开发应用。
索引
· 赛题背景及规则介绍
· 参赛成果1-2:DataSimba的移动端长啥样?
· 参赛成果3:据说文档很简单,不如让大模型帮我对接SimbaOS Kernel。
· 参赛成果4:向数据驱动的自运维,迈出一小步。
· 参赛成果5-6:制造&政企行业线,站在商业与技术交叉点的创新应用这样造。
赛题背景:SimbaOS Kernel是个什么“核”?
SimbaOS Kernel(数据云操作系统内核),为数据云平台DataSimba*等数据产品提供封装好的标准能力。
与计算机操作系统相似的是,作为“中间层”,它提供对接数据应用的北向接口和对接底层资源的南向接口,并有一套抽象的对象体系,来提升数据系统的可维护性、可复用性、可扩展性。
略有不同的是,这套对象体系是从数据业务视角设计的——将大数据领域的存储、计算、服务、调度、安全、租户等常用功能,抽象为一组标准对象模块。举个例子,“资产检索”功能直接调用了元数据域的“搜索”对象,“分级多域”则得益于空间域的“工作空间”“项目”等对象。
*DataSimba自R4系列以来,均更新为OS的分层架构。除了DataSimba,DataBlack、SimbaMetric等数据产品同样以SimbaOS Kernel为内核。
面向开发者,SimbaOS Kernel提供丰富的对接方式,以便通过SimbaOS OpenAPI快速调用能力构建数据应用程序。
· 提供多种编程语言(Java、Python、Node.js等)和开发框架的SimbaOS SDK(封装好的程序依赖包),可通过SDK调用OpenAPI;
· 支持通过Http的方式直接调用对应的OpenAPI 接口,效果与SDK相同。
基于SimbaOS Kernel快速开始项目的示例
本季黑客松向参赛团队开放了3个域(存储域、任务域、空间域)12个对象共72个接口,供参赛选手们“搞事情”。
下文选取部分小组成果介绍。
没带电脑看不了DataSimba?
打开手机,一目了然
“光宗耀组2.0”和“没想好小组”不约而同选择从移动端切入,前者聚焦数据运维,后者关注资产检索,。让没带电脑的工程师们“无处可逃”
# 光宗耀组2.0:运维指标小程序
在去年春季的黑客马拉松,有一支参赛队伍开发了DataSimba的运维指标小程序,各项目任务执行情况、任务告警信息等均一目了然。
这一次,他们重组后卷土重来,把成果升级为DataSimba任务运维小程序:
· 展现完整的任务运行情况,包含今日实例运行情况、任务运行Top10等看板;
· 支持展示任务实例详情,包括名称、责任人、开始和结束时间、调度类型等;
· 支持按照运行状态、调度周期等条件,检索对应实例;
· 支持对任务实例进行重跑、终止运行等基础操作。
(demo展示图 2张gif)
“光宗耀组2.0”介绍,2.0最大的变化在小程序不仅能“看”,还能“用”(交互、操作),具备了支持用户在手机端完成简单任务运维的能力。同时,相较去年成果,今年进一步提升了小程序的交互体验,降低了用户的上手难度。
接下来,“光宗耀组2.0”还将从数据安全权限控制、用户体验优化、增设通知告警能力、拓展实时类型任务等维度优化成果,产出客户真正用得上的“3.0”移动端DataSimba:
· 在DataSimba权限体系中增设微信账号控制,保障移动端使用安全;
· 目前仅支持查看周期调度任务,将进一步接入实时任务,提供实时数据刷新,支持实时查看任务指标信息的变化;
· 提供更丰富的指标看板和操作交互,进一步满足用户运维需求;
· 结合SimbaOS Kernel现有的消息告警等能力及小程序的服务通知,增加向用户告警的通路。
# 没想好小组:资产检索平台
与“光宗耀组2.0”的小程序不同,“没想好”小组选择用H5打造移动端。
谈及为什么采用了H5而不是微信小程序或基于鸿蒙OS的相关展现,“没想好”小组表示,H5对并发的限制更小,对各型号设备和环境适配更好。
基于SimbaOS Kernel的元数据域*接口,“没想好”小组开发了DataSimba在移动端的资产检索平台,用户可以随时随地使用手机操作:
· 概览资产:提供任务实例、作业实例等构成的环状图;
· 按需检索:支持按项目、资产类型或资产名称检索;
· 查看详情:支持查看库、表、字段,点击字段还可查看详情,并支持查看数据血缘。
(demo动图2张)
“没想好”小组介绍,基于SimbaOS Kernel的空间域获取项目信息,通过元数据域完成资产检索功能,并强调:基于H5开发不仅是兼容性强、维护简单,它打通了DataSimba的账号权限体系,借助SimbaOS Kernel账户域完成统一管控。相较对接到微信小程序,有更强的安全机制保障。
虽然“没想好”小组从项目完整度到成果展示都表现不错,评委、资深战略咨询专家何夕依旧给出锐评:“对用户实际使用场景和需求调研不够充分,例如,哪一类用户需要在手机端进行资产检索甚至查看血缘关系?如果在移动端建设数据资产看板,需要为哪些用户提供哪些交互?未来,希望‘没想好’小组能充分‘想好’,如何利用本次的实践成果及元数据域的可扩展性,设计出实用性更强的数据资产工具。”
*元数据域并未对本次赛事正式开放接口,“没想好”、“基础服务部”两组均为“偷跑”。
大模型能读懂的事儿,不劳我出马
SimbaOS Kernel提供了丰富的对接方式和简明易懂的使用文档,以便开发者调用能力。
“小露一手”组却大手一挥:谢邀,让大模型来做就行。
该组探索了自然语言通过自研大模型自动调用SimbaOS OpenAPI(Intelligent dialogue system based on text-to-API technology with SimbaOS Kernel),选择了“对DataSimba上各指标进行交互探查”这一场景,对大模型能力进行验证。具体来说,包括大模型通过接口文档完成自动化编程,写出调用API的详细参数,以及基于接口返回内容,分析错误类型。
进一步,“小露一手”还增加了大模型对语音输入的相关支持,可进行噪音处理,自动校正用户语音中的表达误差,识别真正意图,并根据接口返回的结果给出准确回答。例如,用户语音输入“我呃阿巴阿巴想看看由寄个实力”,大模型可自动识别为“我想看看有几个实例”,调用SimbaOS OpenAPI查询实例数量,以文字和语音形式回复给用户。
Demo截图
“大模型能理解并生成自然语言文本,用户无需钻研SimbaOS OpenAPI和Kernel各个域的能力详解,就能满足用户的初阶需求。”
组长步方介绍,项目的技术难点在于让大模型理解SimbaOS Kernel的接口文档。因需要执行Text to code任务,参数书写一旦有丝毫错误,都可能导致整条链路不可用。因此“小露一手”组利用自研的提示工程技术,有效减少了这类错误的发生——在限定接口范围的前提下,表现几乎0失误。
“小露一手”组坦言,目前对于SimbaOS OpenAPI的调用仍然较为初阶,只能满足部分简单场景的查询,接下来将继续拓展针对指标探查的能力范围,例如支持模糊查询、DDL编写等;此外,除了现在支持的“查”,未来将继续探索基于自然语言的“增删改”能力,让用户的日常数据工作更简单。
为运维工程师推出了
数据驱动的“减负+提效”工具
今年奇点云的运维服务体系升级,推出了数据运维、系统运维等一系列“企业级”服务*。
*该项服务属增购服务,且需经过客户官方授权许可,方可提供代运维支持。
据不完全统计,目前服务团队需要对接50多个数据运维的项目,部分项目每天都会出现问题,例如:
· 实例一直在运行,到底运行完没有?
· 明明条件都满足,为什么实例没有开始执行?
· 实例运行失败,重跑了吗?重跑成功了吗?
过去的常见做法是:出现任务异常后反馈工单,收集工单信息后人工介入,复现工单问题,进行排查处理。
如何为数据运维服务提质提效,减少对前期手动反馈的依赖,更及时地发现并定位问题,甚至在客户业务感知前“无痛”处理问题?
本次黑客松,“基础服务部”小组聚焦运维自动化,基于SimbaOS Kernel研发了针对数据运维的“自运维监控插件”,由系统自动诊断问题,根据预设的异常告警规则24小时自动告警。
数据运维服务流程图·简化版
“自运维监控插件”架构设计如下:
针对数据运维场景,我们需要自动获取实例的生成、运行、基线数据及历史数据,使用相关运维模型进行自动化分析,并将实时监控发现的异常通过钉钉、邮件、电话等方式告警。
映射到SimbaOS Kernel的对象体系中即为:元数据域提供平台元数据和“基线预测模型”、“作业异常检测模型”等分析模型;任务域提供任务、作业、实例生成的实时信息;依托空间域的“消息”对象来实现告警。
“自运维监控插件”采用了SimbaOS Kernel提供的自有模型,包括元仓基线预测模型、作业时间异常检测模型等等。这些模型沉淀自奇点云资深工程师们的实践和业内成熟经验,能为数据运维工程师提供更准确的分析结论,甚至“防患于未然”(例如实例正常完成,但判断接下来可能会破基,预警以便提前处置)。
告警示意图
“基础服务部”小组介绍,本轮比赛时间所限,插件demo仅对作业运维进行了设计与测试,但平台运维场景的可行性也已得到验证。
评委、资深技术专家牧然评价:“基础服务部”小组展现了我们产品的一个关键方向——数据驱动的自运维。插件可用于所有的客户项目,运维监控的效率、时长和覆盖面都大大提升,有效规避了人工难免出现的疏漏。插件值得进一步打磨优化,助数据云的“企业级”更上一层楼。
行业线出手,就知有没有
与往季不同的是,本次黑客松还吸引到了政企、制造、泛零售等行业线工程师加入,基于SimbaOS Kernel的能力大展身手,共创“站在商业和技术交叉点”的数据应用。
# 政企特战队:数据共享交换平台,新增文件资源管控能力
数据共享交换平台是政企行业线基于数据云平台DataSimba研发的工具,在政企客户中尤为常用。用户不需要掌握复杂的数据技术,就可以基于数据目录,按权限下载经过治理和脱敏处理的数据,满足日常工作需求。
在本次黑客松,“政企特战队”对接了数据共享交换平台与SimbaOS Kernel的空间域、存储域,增加了平台可用的数据源,提升了平台的文件资源管控能力。
图:用户创建文件类资源流程
组长水滴介绍,SimbaOS Kernel已支持文件类资源,因此数据共享交换平台无需做更多对接和配置,能直接增加对文件的操作支持。接下来,共享交换平台还将全面对接Kernel的其他域,例如,结合元数据域,把文件作为客户的数据资产之一进行管理,以及在共享交换平台增加对元数据的资源管理能力。
# 流批时刻:品质监控中心的流批时序一体能力建设
奇点云制造行业线产品RPI(Real-time Production Index,实时生产监控平台),是为制造型企业生产管理领域打造的数据分析产品,把原本分散在各系统设备的数据清洗、治理、建模,帮助管理人员掌握生产过程情况,以数据分析辅助决策。此前,RPI已完成事业部、基地、车间、部门等四类场景的建设——角色不同,视角不同,所采用的数据和分析模型也不完全相同。
本次黑客松,“流批时刻”小组选择进一步聚焦设备数据,勇闯最小粒度的“无人区”,基于SimbaOS Kernel建设了RPI下设的“品质监控中心”。
“流批时刻”小组介绍,品质监控中心在技术方案设计上有几个要点:
1、接入时序数据库
分析制造业设备数据需要接入时序数据库。小组利用SimbaOS Kernel提供的接口,简化了数据源集成的过程——采用Flink Jar接入时序数据库数据到Kafka,解决目前暂无法直接对接时序数据库的问题。
2、用实时架构实现复杂数学公式
制造型企业的分析和预警条件较为复杂,例如:
· 检测值的分布需符合正态分布。在正态分布X~N(μ, σ²) 中(其中μ为平均值,σ为标准差),99.73%的检测值都落在±3σ区间内,超出该范围的检测值则视为异常检测值。
· 有8大预警规则,对标Minitab计算公式,包括“连续15个距离中心限(任一侧)1个标准差以内”,“5个点中有4个点,距离中心限(同侧)大于1个标准差”等等。
“流批时刻”小组采用FlinkSQL实现了复杂数学公式的实时计算,通过预警规则判断设备检验是否正常,将数据实时同步到关系型数据库,以实时监控产线工艺的稳定性。
3、可视化大屏实时展示
基于对制造行业需求的理解,“流批时刻”通过奇点云的数据可视化工具DataMaleon建设了数据大屏,监控粒度细化到了设备、工序、检验项,能实时展现Xbarx波动图、CPK指标等,当预警被触发时则立即亮灯提示,帮助生产人员快速发现问题。
受黑客松时间所限,本次仅完成通过大屏告警,接下来,“流批时刻”小组还将继续深化分析应用层能力,实现“预警—处理—返回处理结果”的闭环。
可视化大屏demo局部截图
组员雷隐谈到,本次黑客松利用SimbaOS Kernel的空间域来创建项目,利用存储域接口上传Jar包并进行管理,由任务域完成任务、作业的生成、提交、运行及调度,简化了底层对接及数据项目和任务管理的复杂性,减少了从部署大数据平台到任务运行的全链路耗时,方才让“4天肝出1个数据产品”成为可能。此外,制造业数字化分析场景多,但在底层技术建设上存在一些共性,SimbaOS Kernel“保存”了这些共性,供未来的制造业数据产品建设复用。
本次黑客松共决出3支优胜队伍,喜提奖金:“流批时刻”高票夺冠,“基础服务部”第二,“没想好”小组第三。
评委、奇点云CTO(也是SimbaOS Kernel的一号责任人)地雷谈到,“流批时刻”从需求洞察、架构设计、产品实现以及最终成果,具备极高的完整度,为我们带来了真正“站在商业和技术交叉点”的创新数据应用。所有参赛团队的真实体验反馈也激励和要求SimbaOS Kernel提升能力,为数据应用开发者们提供更多支持。
*本次黑客松还有创新成果尚未发布,留待今年12月的StartDT Day发布会上揭晓。敬请期待。
获奖感言
“流批时刻”小组:
感谢主办方提供了这次平台和机会,我们深知,这次获奖不仅仅是一份荣誉,更是一份责任。今后需要更加努力发挥创造、刻苦精神。在这次项目中,我们突破了传统,将生产数据实时分析,提供质量的实时监控,解决了线下处理分析滞后的问题。未来我们还会继续优化,提升产品企业级能力,实现告警闭环等更多功能模块,尽快为客户提供更多易用的产品。
“基础服务部”小组:
在这次比赛中,SimbaOS Kernel为我们注入了自运维监控的魔力,让我们能够提前发现问题、高效解决问题,真正实现了成本的削减和效率的提升。未来,我们将继续加强跨部门的协作,不断探索创新的解决方案,助客户实现降本增效。
“没想好”小组:
小组内更强调的是创新和灵活性,点子和创意不断,所以我们还“没想好”做什么。组名不重要,重要的是我们组内同学适应能力强,能够快速拥抱变化,并且适应新的情况。
本次黑马松本着交出一个完整的作品的初衷(没想拿奖),没想到对手失误了,侥幸获得了第三名。我们同时也是SimbaOS Kernel的开发者,在比赛中发现了在使用场景上需要优化的内容,已经排期优化中…
“小露一手”组:惜败。
“光宗耀组2.0”:惜败,时隔一年再次品尝到失败的滋味,陌生又熟悉doge。(如果我们现场开放扫码试用能支持的并发量大一点,应该就能获奖了。)