神东集团煤质预测系统功能配置及模块设计*
2021-06-03杨继元王萌娟姜水军张建华
杨继元,王萌娟,姜水军,张建华
(1.国能神东煤炭集团有限责任公司,陕西 神木 719315;2.西安科技大学计算机科学与技术学院,陕西 西安 710600)
0 引言
在科学技术日新月异的今天,企业信息化管理渗透到煤炭企业的各个方面[1]。国内煤业集团注重煤炭质量过程管理,从现场采掘面出发,加大日常检查和考核力度,制定了相关管控措施,有效降低了水分、灰分、杂物及铁器对煤质的影响;针对工作面过断层、冲刷等特殊时期,及时制定相应的煤质保证措施,并严格按照措施监督检查,稳定特殊时期的煤炭质量;在煤质指标欠量时,及时分析总结、查找影响煤质的原因,为煤质改善提供可靠依据。
煤炭从形成产品到运至用户手中,整个生产链包括:巷道掘进、工作面布置、毛煤开采到洗选加工、质检审核、商品出售等诸多单元环节;煤质管理贯穿整个煤炭生产链,包括煤炭生产链上的各个单元中煤质指标及相关信息的采集、整理、统计、分析、处理、反馈、整理与归档。煤质及相关信息流转牵扯生产矿井、洗选中心、开拓准备中心、检测中心等部门;数据统计包含煤质相关的原始数据、台账、报表、图形等多种形式。这些都客观的形成了庞大并且繁杂的煤质数据及其关联关系[2]。
有机整合煤炭生产链上的各个单元区域中煤质指标及煤质相关信息,建立统一的煤质字典、统一数据格式,运用计算机网络管理整条生产链中的煤质信息,在集团内部实现煤质信息共享最大化,为集团管理工作提供有力的支持,为提质增效奠定更加坚实的基础。
在竞争日趋激烈的煤炭行业中,加强煤炭生产过程中对煤炭质量的管理与把控是提高煤炭企业效益的关键所在,也是煤炭企业在市场竞争中处于不败之地的有力保障[3]。目前神东集团煤质管理信息化缺少统一的平台,煤炭经销中心提出以现有预测方法为基础,建设“煤质预测现场管理信息系统”。为此,在目前神东集团煤质管理现状及工作流程基础上,针对神东煤质管理的特点,分析煤质预测现场管理系统功能配置的设计思路。
1 功能配置设计思想
神东集团下辖煤炭企业包括若干生产矿井、洗煤厂、运销部门等等,各生产单位下又有很多部门。各生产单位的煤质管理过程也存在不同之处,如各煤矿煤质管理中的煤种有所差别,所以其采样点也存在着区别,化验数据也有所差异;并且还有新的开采矿井、洗煤厂正在筹建中[4]。因此针对各单位的差异,系统应可以根据需要进行配置;从集团发展的角度考虑,煤质管理系统在应对新增单位或部门时应能以较低的成本将其纳入现有系统[5]。由于新技术不断出现,系统可能需要基于现有的功能模块有一定程度的可扩展性,基于上述原因,为了使集团煤质信息化管理更加规范和统一,并且能够满足各生产单位的内部管理特点,同时又要考虑到未来新增单位需要与煤质预测现场管理系统进行搭接,在设计时采用了基于差异的、按模板的子系统功能配置的设计思想。按行业中的已有业务分类方法,抽取出5类子系统功能模板:集团功能模板、洗煤厂功能模板、矿井功能模板、运销公司功能模板、质检站功能模板[6]。每一类功能模板下配有这一模板的所有功能,如图1所示。
图1 系统模板化设计思路Fig.1 System template design ideas
2 “大同小异”处理模式
在5类子系统功能模板中,每类功能模板中都包含了这类系统现有的所有功能,这样每一类模板就形成一棵功能树[7]。同类型单位的功能都“大同小异”。
首先,利用“大同”特征,当新增某个类型的单位时,通过外键关联该单位与其所属类型模板,就可以得到此类模板功能树中的全部功能。因为单位只是与某类型的模板号进行了关联,详细单位与详细功能没有进行直接的绑定,所以单位与功能为松耦合。此时,功能树即可进行单独变化,而不用考虑单位,则可灵活地在功能树中增加新的功能。
其次,“小异”则可以通过对模板进行“砍树”得以实现。每个类别的功能模板为一棵大的功能树,相同类别单位只需要根据其实际需要过滤掉功能树中不相关的功能分枝,便可构成适合自己的功能树[8]。在实现时,仅需将不需要的部分功能保存在数据库中。此时,当登录进某个单位的煤质管理系统时,系统会首先获取其所属类型的功能模板树,其次再获取存储在数据库中的不需要的功能信息。通过将二者进行求差之后则可得到该单位的功能树。这种存“小异”的设计思想很大程度上节省了数据存储空间。同样,因为过滤信息与单位之间的关联方式相似于外键的方式,因此,不同单位也可以灵活地按照需要制定所需功能。
最后,将“大同”放入模板,而将“小异”按单位在数据库进行存储,实现了第1层次的系统功能设置。这样,可以区分相同类型的不同单位之间的功能差异。在实践应用时,同一单位的不同人员因其业务分工不同,在登入系统后所能执行的操作也是不同的。这样就出现了同一单位不同人员角色划分的问题。在这方面,系统的设计也借鉴了不同单位之间的差别处理方式,就是通过“砍树”的方法,将该单位的功能树按不同角色的需求再进行过滤。对担任同一角色的不同用户之间的差异也通过过滤进行区分。
3 功能配置系统设计与实现
3.1 数据表的设计
信息管理系统中功能配置系统涉及到单位、用户、角色、功能以及他们相互之间的关联关系,为此设计的数据表包含单位基本信息表、功能模板表、用户基本信息表、角色表、单位功能表、用户权限表、角色权限表[9]。数据表的核心字段及关系设计如图2所示。单位基本信息表、功能模板表、用户基本信息表、角色表。单位功能表是在单位基本表和功能模板表之间通过ID建立对应关系,依据单位模板配置单位的功能。用户权限表在用户和功能之间建立关系,形成用户的功能列表。角色权限表是在角色和功能之间建立关联关系,形成角色的功能列表。
图2 数据表的核心字段及关系设计Fig.2 The design of core field and relation of data table
功能模板表是功能配置中的核心,用这个表来实现功能列表的树形结构,见表1。这里主要介绍功能模板表的设计,包含6个字段:功能号、模板/功能名称、资源地址、所属模板、结点类型、备注信息字段。
表1 功能模板数据Table 1 Function template data
表2为矿井功能模板的一部分。ID设置为5位整数,第1位是模板号,1—矿井模板;2—洗煤厂模板;3—质监站模板;4—运销公司模板;5—集团模板。第2~5位是子系统的分支结点或者是功能结点。功能模板数据表在逻辑上通过所属模块构建起树形功能列表,所属模块的作用是指向该结点的父结点的ID,如果该结点的所属模块号是“00000”,则为根结点。结点类型取值为0或1,0表示是分支结点,1表示是功能结点,功能结点的资源地址填写的是该模块的入口URL。
表2 矿井功能模板Table 2 Mine function template
3.2 功能设计
系统的功能模块包含:单位管理、用户管理、功能管理、角色管理,单位功能配置、用户权限设置、角色权限设置[10]。单位管理、用户管理、功能管理、角色管理模块实现了单位、用户、功能、角色的增删改查功能。单位功能配置、用户权限设置、角色权限设置3个模块通过前面所述的“大同小异”的模式实现了功能配置。
在实行中,系统最基本的对象是单位,需要先构建单位,在“单位管理”中进行单位的增删改等操作,构建单位后为单位配置功能。功能分两类,一是模板,二是功能。模板就像文件夹,功能就像文件。模板之间可以嵌套。在“功能管理”中有功能增删等相关界面。有了功能就得有角色,“角色管理”中有角色管理相关界面。此时就可以创建用户了,在“用户管理”中创建、删除修改,之后就可以为用户的角色分配权限。系统功能配置的整体逻辑,如图3所示。
图3 功能配置序列Fig.3 Function configuration sequence
首先,系统管理员按照不同单位、同一单位不同角色、同一角色不同用户的实际业务需求从而对功能模板树进行配置。然后,当单位用户再次登录到系统后,后台模块会按照管理员所设置的情况将该用户可见的部分呈现给登录用户。
3.3 关键技术
本系统计划采用Vue.js框架实现管理系统的前端模块,后台采用SpringBoot+SSM框架实现后端模块的开发。Vue.js是一个渐进式的JavaScript开发框架,通过组件的开发,最后进行组件的组合,合并组件形成页面[11]。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用[12]。Vue是一个轻量级框架,只关注视图层,是一个构建数据的视图集合,简单易用,在容易上手的同时,也易于结合第三方库。SpringBoot是一个简化Spring的应用开发框架,集成了大量常用的第三方库配置。SpringBoot通过“习惯优于配置”的思想从而实现 Web项目的快速搭建,从而避免开发人员定义样板化的配置[13]。
4 结论
(1)“大同小异”的基于模板的功能配置系统,通过“大同”制定功能模板,通过“小异”配置权限,使用过滤方法实现了功能的3个不同层次配置:单位功能配置、用户功能设置、角色功能设置,一方面实现了系统的可扩展性、灵活性以及低成本的新单位增加,另一方面大大降低了系统的开发难度。从而使系统的产品化成为可能。
(2)基于模板的功能配置系统虽然是针对“煤质预测现场管理信息系统”设计的,但是这种设计思想可以推广应用于其他管理信息系统,具有一定的参考和借鉴意义。