0引言
数据统计作为铁路行业的一项基础性工作,能
为铁路各级领导提供数据信息,但目前铁路部门在统计数据的采集、整理、审核、分析等环节多为手工作业方式,效率低下且容易出错[1]。加上数据以报表形式保存,缺乏统一的报表管理门户,报表分散于各个部门,难以有效利用,而且当统计报表数量过多、需求多变时,手工作业方式无法快速响应。为此,文章提出了在铁路数据统计场景中应用ToolJet 的解决方案。ToolJet 是一款用于构建和部署自定义内部工具的开源低代码框架,可以通过其丰富的二次开发接口,结合ECharts 丰富的开源可视化图标库,快速灵活地进行定制开发,有效解决上述问题,为铁路部门提供直观的数据展示和方便快捷的统计分析平台。
1
ToolJet 概况
1.1
低代码介绍低代码(Low Code )是一种只需少量代码或者不用代码就能搭建企业信息化系统的一种方式,也是一种可以更快地以最少的手工编码交付应用程序的软件开发方法。与传统代码开发环境不
同,低代码提供了更高维更易用的可视化开发环境,在此环境下开发者可以通过图形化拖拽、参数配置等高效的方式完成开发工作,通过少量代码即可快速构建OA 协同、公文督办、项目管理等一系列系统。低代码平台具有技术门槛低、交付周期短、开发效率高、敏捷创新快等特
点,可以有效减少开发成本,提升系统适应业务变更
的灵活性[2]。今天,数字化转型成为领先企业的重要驱动力和竞争力之一,而从技术维度看,支撑数字化转型的恰恰是最基础的编码效率,因此低代码开发成为近年来的潮流和趋势[3]。1.2ToolJet 简介
ToolJet 是一套开源的低代码开发平台框架,提供了丰富的可视化工具箱,可以根据业务快速构建和部署企业内部工具,具备快速开发、测试、部署和随时调整更新等特征,能帮助开发团队节省大量开发时间[4]。开发人员可使用ToolJet 连接多种常见的数据库,也可以直接接入RESTful API 接口,甚至可以直接调用第三方工具,通过拖拽可视化应用程序生成器,轻松构建出灵活的数据分析和报表应用,大大缩短项目周期,减少实施成本。同时,ToolJet 内置丰富的权限和版本管理,可进行多人协同开发,也可将已完成的应用分享给业务团队直接使用。软件交付后,可以有效降低系统维护难度,提高最终用户的满意度,开发出的软件可以做到随需应变。最终用户应用ToolJet 制作的报表,可以简单地整合多业务系统数据于一张报表,有效打破信息孤岛,方便管理部门进行综合统计分析,让决策更清晰(如图1所示)。1.3ToolJet 特点
对于开发人员而言,使用ToolJet 具有以下3个特点。
(1)功能全面且专业。支持关系型数据库、BI 多维数据库的连接取数,支持复杂报表的处理,支持离线填报、多级上报、数据填报,可以实现组织级别和
【作者简介】严安,男,广西柳州人,硕士,任职于中国铁路南宁局集团有限公司信息技术所,高级工程师,研究方向:软件研发、大数据技术;樊文
翔,男,广西柳州人,本科,任职于中国铁路南宁局集团有限公司信息技术所,工程师,研究方向:软件研发、大数据技术。【引用本文】严安,樊文翔.ToolJet 在铁路数据统计场景中的应用解决方案[J ].企业科技与发展,2023(1):71-74.
ToolJet 在铁路数据统计场景中的应用解决方案
严安,樊文翔
(中国铁路南宁局集团有限公司
信息技术所,广西
南宁
530029)
摘要:随着铁路高速发展,统计工作不断细化与深入,传统手工作业的数据统计方式已无法满足大数据时代的需求,铁路高质量发展迫切需要一种高效可行的数据统计方式。文章通过介绍低代码开发平台框架ToolJet 的基本情况,对铁路数据统计场景及难点进行分析,从实现思路、报表设计、系统结合、安全性、可视化方面,结合收集、统计的铁路防疫数据和铁路货运大数据统计应用情况,提出在铁路数据统计场景中应用ToolJet 的解决方案。关键词:ToolJet ;低代码;铁路;数据统计;解决方案中图分类号:TP308
文献标识码:A
文章编号:1674-0688(2023)01-0071-04
◇企业技术实践◇
应用级别的精细访问控制方案等。
(2)设计报表简单高效,学习成本低。拖拽式界面的简便操作使用户不用投入额外的学习成本,低代码开发报表,轻松地拖拽数据,仅需几步就能完成报表制作。
(3)行业积累丰富。ToolJet 对各个行业都有较高的适应性,能提供诸如一系列或从上自下、从内到外涉及战略、运营、组织、财务、营销等多个主题的解决方案和实施方案。
(4)专为开发人员设计。ToolJet 不仅有可视化设计器,还支持在设计器的任何地方编写JavaScript 代码,实现功能的定制开发。
2
铁路数据统计场景分析
2.1
铁路数据统计场景
中国国家铁路集团有限公司以铁路客货运输为主业,实行多元化经营,生产经营中涉及大量数据统计工作,其中包括铁路客货运输、机车车辆、物资供应、营业线路、基础设施设备等方面的统计场景。例如,反映铁路客货运量变化的客货运输统计,可以按站点对旅客发送量、货物到发量进行统计,或者按品类统计各地区间的货物去向及运量。反映机车车辆的现有数量、工作量、运用效率的机车车辆统计,可以按照机车车辆的车型、运行状况、所属单位等进行分类统计。此外,还有反映铁路部门生产、办公、防疫等各类物资的分配和供应情况,对各类物资按数量、品种、期限、用途等属性统计供
应计划完成情况和库存情况,以便铁路部门对物资进行有效的统筹管理。2.2铁路数据统计难点
铁路的数据基数庞大,而且逐年增长。在铁路高质量发展的新形势下,数据统计已由提供数据服务向决策支持迈进,准确性已不再是衡量数据质量的唯一标准,而是由准确性、时效性、完整性、适用性、可比性、可衔接性、可理解性、可访问性和安全性等全方位
构成的多维度质量标准决定[5]。截至2021年,全国铁
路旅客发送量完成26.12亿人,比2020年增长18.5%;货运总发送量完成47.74亿t ,比2020年增长4.9%;全国铁路营业里程达到15万km ,其中高铁为4万km ,路网密度为156.7km/万km 2;电力机车拥有量为1.39万台,动车组拥有量为3.3万辆[6]。铁路部门在统计数据的采集、整理、审核、分析等环节多为手工作业方式,效率低下且容易出错,加上数据以报表形式分散保存于多台终端设备,难以有效利用,而且缺乏统一的报表管理门户,当统计报表数量过多、需求多变时,传统的手工作业方式无法快速响应。
3
铁路数据统计解决方案
3.1
实现思路
基于对铁路数据统计场景的分析,铁路数据统计可以运用ToolJet 进行报表应用设计,再通过新增页面或iframe 引用方式嵌入既有信息系统中,以既有系统为载体,利用既有系统的组织架构、用户权限进行报表数据的填报、入库,并最终实现数据的统计、分析。
3.2报表设计
数据统计的先决条件是设计科学合理的统计报表(如图2所示),在数据库完成统计报表结构的设计后可通过在ToolJet 配置关联数据库查询。首先在ToolJet 创建一个新的应用,在左边栏点击Sources ,add data source ,输入主机名、实例名、端口号、数据库名称、用户名、密码后,可将数据库关联到当前应用,并在queries 界面中添加查询语句,通过sql 语句将数据库中的关联表查询出来。连接好数据库后,下一步建立用户界面,在右侧工具栏拖拽container 组件,并将其全部展开。拖拽table 组件进入画布,在右边栏打开组件属性界面,调整table 组件的外观样式,为表格新增列并修改列名使其与统计报表一致,并将table 与数据库查询绑定,将table 的data 属性设置为{{queries.ListDocument.data.documents}},并将每个列的key 设置为数据库字段名,即可完成数据绑定。
新建数据
新建应用
UI 设计
模板预览
功能设计参数设计图表设计填报设计
图2报表设计流程
完成数据绑定后,将button 组件拖拽至table 上方,修改组件文本为“提交”,为组件添加点击事件,
Databases 数据库
mongoDB typesensel elasticsearch
sqL Server
+more
Cloud Frestore
amazon ostgreSQL MySOL
Cloud storages 云存储amazon S3MINIO Services 服务
Airtable stripe
GraphOL slack
+more
Google Maps SendGrid
Google
sheets twllio
Transform data
Run custom Js code 转换数据
运行传统的JS 代码
图1技术架构
触发Action选择Run Query,将插入更新的sql语句写入事件中,即可完成数据填报功能。完成应用后可点击右上角的Preview预览报表效果,点击Release可将应用发布,发布后可实现多人在线填报。此外,可以添加自定义查询条件用于数据查询检索。如果需要规范填写内容,还可以在填报时添加JavaScript代码对用户的填写内容进行校验,确保数据在入库之前保持一定的规范性。
3.3与既有系统结合
通过ToolJet制作的报表应用在服务端发布后将形成唯一访问地址,可供多人在线访问使用,可直接将应用地址嵌入系统中,能有效节省项目开发周期。
通过在原Web系统中新增页面的方式,可跳转至该地址直接使用。
通过iframe集成方式,也可以很好地把其他已经开发好的页面或模板直接嵌入已有的Web页面中,只需要指定iframe的src属性即可:<iframe id=
′′xxx′′width=height=src=′′...′′></iframe>。
3.4安全性设计
为确保报表填写内容的安全性,防止数据泄露,可以采用Ajax跨域单点登录技术,保证既有系统和ToolJet后台系统的单点登录。实现原理是在登录既有系统的同时登录ToolJet后台系统,即将输入的用户名密码也发送到ToolJet部署的后台服务器进行认证,防止在未进行用户授权验证的情况下就访问报表的不安全行为。实现方法是在既有系统的登录界面,直接通过Ajax请求将用户名密码发送到ToolJet 服务器进行后台验证,可解决跨域单点登录问题。除此之外,ToolJet所有凭据都采用aes-256-gcm加密且ToolJet仅充当代理,不存储任何数据的特性,也可在一定程度上确保报表数据的安全。
3.5数据的可视化展示
ECharts是一个使用JavaScript实现的开源可视化库,可提供直观、交互丰富、可高度个性化定制的数据可视化图表,在PC和移动设备流程上运行且能够直接被ToolJet调用,能有效增强ToolJet图形化展示效果。
通过ToolJet组件及ECharts插件提供的丰富的数据可视化资源,可以设计出丰富多样的数据图表,由此可制作集多维度数据于一体的数据驾驶舱大屏,更直观地展示数据统计结果,便于用户对数据进行分析挖掘。同时,通过ToolJet和ECharts设计的可视化界面,页面显示时能够自适应页面大小、分辨率,从而可以灵活地在移动端、PC端等不同设备上展示。4应用案例
4.1铁路防疫数据的上报和统计
2020年初,全国各地在党中央的统一领导下,各项疫情防控工作有序推进。铁路各级部门、企业积极响应国家防控要求,及时收集、掌握各单位职工防病、防疫物资等重要数据,有针对性地部署相关防控工作。但是,铁路企业点多线长、职工队伍庞大,如何快速收集职工防病、防疫物资这些重要数据,是摆在防控部门眼前的一道难题。如果用传统的Excel电子表格的方式让各单位上报,再由防控办进行人工统计,不但效率低,而且容易出错,无法达到快速、准确统计防控数据的要求。在此数据统计场景下,可以根据防控工作具体要求,利用ToolJet提供的二次开发接口和敏捷开发模型实现在线填报功能。首先需要完成防疫报表的设计,在ToolJet的UI设计界面通过拖拽编辑组件的方式绘制报表,并配置好数据库连接,将报表与数据库做好数据绑定。在完成数据绑定后,通过添加button组件点击事件的方式完成数据的提交与更新,完成基础的数据填报功能。此外,可以利用JavaScript完成一些定制功能,如填报数据校验、数据导出等。完成功能设计后,将应用程序发布并设置好访问链接,通过iframe集成方式,将该应用程序嵌入疫情防控网站中,实现应用程序的快速访问。通过ToolJet的在线填报功能,填报单位每次仅需通过浏览器填报数据并提交,防控办即可快速、精准地查看汇总后的填报数据。
通过ToolJet开发的表报填报应用,铁路企业可以迅速上线职工防病和防疫物资数据,为每日填报防控日报、列车日报、居家隔离日报、发热人员日报等报表提供在线平台,并在后台实现自动统计汇总,直接导出统计表格,有效解决铁路企业收集、统计数据问题。以中国铁路南宁局集团有限公司为例,
通过ToolJet开发的在线报表平台收集到的职工防病、防疫物资数据共计近10万条,填报涉及30个单位,每日平均填报80余条记录,平台访问量共计1.2万多次,大幅度提高铁路疫情防控管理工作的科学性、时效性、精准性、安全性,基层工作人员只需每天花10分钟将本单位发生的疫情防控有关数据进行处理、上传,系统将自动按日期保留、生成、统一相关信息,防控办可直接且便利地掌握各单位每日职工、旅客发热情况,疫苗接种剂数、进度,各单位涉疫处置、入境人员乘车情况等10余类近70个项点的每日上报表信息统计情况,实现对旅客列车、职工健康、单位涉疫、疫情处置等重要情况、重要信息的动态监控和管理,有力地保障旅客安全出行
和职工身体健康。
4.2铁路货运大数据驾驶舱
随着铁路货运业务的不断发展与壮大,以及信息化技术的快速发展,货运生产所产生的数据越来越多,而海量的数据带来了一个问题:铁路货运决策者如何运用这些数据掌握货运动态,从而做出及时关键的决策。企业管理者犹如在大海中航行的船只舵手,必须有仪表盘的引导和现代化网络工具的支撑,才能有效地决策管理,大数据驾驶舱的建立如同为领导和管理者提供了仪表盘和瞭望塔[7]。为此,可以使用ToolJet+ECharts的大数据可视化方案,搭建货运大数据商务智能驾驶舱,以大数据驾驶舱的形式,利用ToolJet+ECharts的可视化技术将采集的数据形象化、直观化、具体化,直观地监测货运情况,科学高效地统计数据,便于管理部门更有效地分析数据,从而做出正确的决策。
在此数据统计场景下,可以根据铁路货运大数据特性,利用ToolJet+ECharts提供的丰富的可视化资源和敏捷开发模型实现数据驾驶舱大屏。首先需要规划数据驾驶舱大屏的布局,确定每个模块所展示的内容及展示形式,本研究采用九宫格布局,左右三格放置图表等内容,中间3格放置关键指标,并将各个模块主题划分为发送量、货运收入等。之后按照设计好的布局,在ToolJet的UI设计界面通过拖拽编辑组件的方式绘制驾驶舱,并将图表与数据库做好数据绑定,因ToolJet目前仅支持折线图、柱状图、饼图,其他更丰富的可视化组件需引用ECharts使用。此外,需添加JavaScript代码实现驾驶舱的动态刷新功能。完成所有功能设计后,将应用程序发布并设置好访问链接,通过iframe集成方式将该应用程序嵌入既有网站中。
如图3所示,货运大数据商务智能驾驶舱以铁路货运数据为基础,利用ToolJet+ECharts的可视化技术开发,通过柱形图、折线图、环形图等形象标示货运生产的年度目标、发送量、货运收入、装车数等关键指标,并运用大数据技术将采集的数据进行进一步的数据分析,可以通过展示近期货运发送量靠前的车站,辅助铁路货运部门分析近期货物发送的主要区域,从而提前优化这些主要区域的货物运输方案,合理有效地分配和部署铁路货运的运力。此外,可以通过提供货物发送企业的发送量排名、需求等信息,从中分析近期有发货潜力的企业,通过重点营销策略,为这些企业量身定制货物运输方案,进而提升铁路货运服务质量和铁路货运的发送量。总而言之,运
用ToolJet+ECharts搭建的货运大数据商务智能驾驶舱可通过详尽的大数据指标体系,实时反映货运生
产的情况,将采集的数据形象化、直观化、具体化,为决策者提供有效的决策依据,助力企业以低成本、高效率实现数字化运营。
三眼桥:90
冷水江东:126马龙:143茂名西:178
鹧鸪江:927
东海岛:115水城:186小塘西:114js代码加密软件
温泉:104横州:90
优秀合作企业
发送量年累994.5
货运收入年累109533万元
今日装车
3817
今日发送量
331406t
车
发送量(t)
万t
各单位年累分布图
集团公司货运收入(万元)
年累完成
去年同期
计划进度
货运收入(万元)
图3数据可视化效果
5结语
本文就铁路统计数据场景给予了应用ToolJet的解决方案,介绍该解决方案在铁路防疫数据的收集、统计和铁路货运大数据统计实际应用案例,基于ToolJet、ECharts等技术的可视化数据统计解决方案实现方便、运行稳定,针对铁路数据可视化和大数据应用等场景可以快速见效,展示效果直观形象,为铁路部门减少了大量的时间和人力成本,提高了数据统计分析效率,此方案可以适用于其他行业统计数据场景,实用价值较大。
6参考文献
[1]高英.对铁路统计分析工作的思考[J].行政事业资产与财务,2014(11):120.
[2]Zion无代码.低代码平台是什么?[EB/OL].[2022-07-27](2022-08-20).https://baijiahao.baidu/s?id=173947 0606167314143&wfr=spider&for=pc.
[3]谢世诚.Mendix:低代码开发让企业变身“快鱼”[EB/OL].
(2022-09-14)[2021-08-10].https://www.doit/p/ 470953.html.
[4]知乎卡拉云.ToolJet是什么,怎么样?——低代码开发平台测评.(2022-04-22)[2022-08-10].https://zhuanlan. zhihu/p/502903727.
[5]林玉红.铁路统计数据质量管理对策研究[J].铁路工程技术与经济,2021,36(1):38-41.
[6]国家铁路局.2021年铁道统计公报[EB/OL].(2022-04-29)[2022-08-15].http://v/xinwen/2022-04/29/con⁃tent_5687992.htm.
[7]明煦,刘勇兵,陈洪胜,等.基于大数据挖掘和多系统融合的“领导驾驶舱”智能决策[J].电力大数据,2019,22(5):36-40.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论