背景:在欧美企业,工程师经常需要进行单位转换(公制,英制,等等)。在工程现场,工程师从仪表上读取数据,在没有PC端设备的情况下,无法完成复杂的工程计算。设想使用手机,向工作流发送单位转换输入条件(转换前后的单位名称),参数化驱动工作流运行,由工作流向手机发送单位转换系数查询结果,工程人员可以利用单位转换系数数据,进一步进行分析、计算及决策。
方案:建立KNIME单位转换系数获取工作流,固化其计算或者查询逻辑,然后将KNIME工作流文件(knwf格式)部署在服务器的固定路径下。建立bat命令行批处理文件,在不开启KNIME软件环境的情况下,通过执行批处理文件来执行工作流。为了定时运行工作流,可以在服务器或者PC端建立定时任务,实时监控腾讯文档的内容变化。团队中的多人,可以通过腾讯文档实现协作,使用腾讯文档的创建问券功能来汇总输入参数条件,腾讯问券的界面控件丰富,友好性强,适合工程师在手机上进行操作,完成参数输入。工作流在后台收集参数输入条件,一旦发生变化,会从腾讯云存储文件上读取JSON文件,里面记录了单位转换系数信息,找到与工程师输入相匹配的记录,刷新到由Odoo建立的免费网页环境上,工程师即可通过手机查询这样的转换系数数据,在工程实际中加以应用。
本例(视频介绍请移步B站,搜索Up:“星汉长空”,视频:KNIME案例(267)云档单位转换):
步骤1. 在KNIME中拖入JSON Reader节点,双击设置读取文件的路径,选择腾讯云存储中的单位转换系数文件,读取系数合集。拖入JSON Path节点,设置查询语句,读取其中所有的单位转换符号,以及对应的转换系数值的列表。最后,使用Ungroup节点,将列表打散,得到两列数据,分别为各种单位转换的符号及单位转换的系数数据。
步骤2. 在腾讯文档中,建立单位转换调查问卷,供团队人员填写,开放其读写权限,并设置结果搜集表格,与调查问卷的数据同步。这样当团队中的成员填写问卷,对转换前后的单位情况进行设置的时候,就可以更新结果表格,里面记录了查询人的名字,查询时间,转换前后单位符号的设置情况。
步骤3. 在KNIME中拖入Webpage Retriever节点,读取腾讯文档中的问卷结果收集表格。使用Xpath及字符串处理(String Manipulation)节点,从问卷表格数据中获取最近一次的参数输入情况,其中的转换前后单位符号设置情况是这一步的输出,将其从字符串转为变量格式。
步骤4. 拖入String Manipulation (Variable)节点,仿造步骤1 JSON文件中单位转换的符号的定义方式,写下相应的正则表达式,以便对相应的记录加以提取。这里使用Row Filter节点,通过正则表达式过滤的方式,得到与最近一次转换前后单位符号相对应的单位转换系数记录,如果没有找到,这里的表格是空的,记录数为零。
步骤5. 拖入Python View节点,对单位转换系数查询结果及符号文本进行图形化,利用matplotlib库,绘制图像,然后将图像文件通过Image Writer节点输出到腾讯云存储图像文件中,对图像文件进行更新。这样网站链接了这样的图像文件,就会随之更新。
步骤6. 之前已经使用Odoo建立了免费的网站环境,在里面挂载了大量的腾讯云图像链接。当工作流接受了工程人员的参数条件输入并且对图像文件进行更新之后,工程人员可以登录这样的网站环境,观看工作流固化的工程计算结果以及数据可视化的各类图形图像。本例中是找到单位转换的系数,然后加以应用。
解释1. 何为KNIME?KNIME数据分析平台是一款强大开源的数据挖掘软件平台,可以固化数据处理的流程,在人与人,人与机器之间进行传递。
解释2. 何为Odoo?Odoo是一套完整的系统,是一个开源框架,针对 ERP 的需求发展而来,适合定制出符合客户各种需求的ERP系统、电子商务系统、CMS、或者是网站。