一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

统计数据的配置管理方法与流程

2022-03-02 01:26:31 来源:中国专利 TAG:


1.本发明涉及智能制造技术领域,特别是一种统计数据的配置管理方法。


背景技术:

2.工业4.0时代,数据日趋重要。几乎每一个生产管理系统都有自己的数据主看板、数据报表,这些统计数据作为生产情况的数据化反映,为工厂的更良好运行提供分析依据。一般的mes系统中,基本都有一个专门的模块:统计模块,该模块下的所有页面去查询的数据,都属于统计型数据,这些数据要么直接从业务表去查,要么有专门的统计表,亦或从多张表联查。mes系统中还有一个专门的模块:看板。看板上的数据和统计模块的数据来源类似。查出来的数据,可能还要进行即时的聚合运算,才最终呈现出来。常规的统计模块基本都融合进普通业务功能之中,作为mes诸多模块之中的某一小块模块。统计不涉及业务,只是针对业务产生的数据做各种筛选、归类、分组、聚合运算、最终查询;但统计又非常重要,是对生产、运作过程最直观的反馈。和普通业务耦合在一起的统计,一般都后端是收到统计接口后,即时进行多表联查,查询过程之中可能还涉及分组,查完可能还要进行很多运算。可能面临一些性能问题。另外,每一种统计需求,可能都要专门去进行开发,这意味着会针对统计来不停迭代。
3.另外,对于有些场景,传统的统计方式可能还不能适应:1.工厂想自己维护统计,但又不能开放源代码给工厂;2.统计不能和业务相耦合(比如针对统计进行统一拦截,开放权限,但业务不能开放权限);3.统计和业务拆分后,开发团队人手资源有限,只满足业务开发。


技术实现要素:

4.为解决现有技术中存在的问题,本发明的目的是提供一种统计数据的配置管理方法,本发明提高了响应速度。
5.为实现上述目的,本发明采用的技术方案是:一种统计数据的配置管理方法,包括以下步骤:
6.步骤1、针对各种业务表进行字段约定;
7.步骤2、建立统计配置管理系统,当工厂数据人员登录后,自动拉取开放出来的业务表,以及业务表中各字段,并创建一种统计类型,包括填写该统计的名称、目的,选择对应业务类型分类、所属菜单,填写该统计的接口地址、按钮权限,选择统计用到的数据表,配置将要呈现的统计页面上要展示的字段,配置要进行计算的字段的公式;
8.步骤3、创建完统计类型后,创建统计表,根据步骤2中统计类型的配置的结果来拼接sql,通过jdbc来动态查询相应的业务表,将查询结果以及各种所需要的字段冗余进创建的统计表之中;
9.步骤4、生成针对该统计表的查询、数据更新的sql,存储在该统计类型的数据表的列表查询sql、数据更新sql字段中;其中的查询sql,支持该统计表所有字段的所有筛选查
询、排序,以及支持分页;
10.步骤5、通过接口地址解析从页面传来的子接口地址参数,然后找到对应的统计类型,进而读取到查询列表的sql,然后通过jdbc动态执行该sql,完成统计数据的查询。
11.作为本发明的进一步改进,在步骤1中,所述的业务表包括基础型业务表和生产型业务表,所述的基础型业务表为有限数据型,包括设备、线体、人员、各种基础数据的数据表,到达一定数量后基本不再增长或小幅度摆动;所述的生产型业务表为不断产生数据的业务表,包括工单、入库单、过站数据和产量数据的数据表。
12.作为本发明的进一步改进,所述基础型业务表约定必须持有的字段包括创建时间、修改时间、创建人员和修改人员;所述生产型业务表约定必须持有的字段包括创建时间、创建人员和时间维度索引,所述时间维度索引包括年、月、日、时和周。
13.作为本发明的进一步改进,步骤3还包括:配置数据刷新的频率,通过定时任务来执行数据更新sql进而刷新数据。
14.作为本发明的进一步改进,步骤3还包括:配置统计表销毁的规则、统计表数据清理规则。
15.本发明的有益效果是:
16.本发明能让统计模块独立于业务模块,由工厂内部专人维护,并且是非代码性质的维护,降低了学习成本;释放了业务开发人员维护统计需求开发的工作,更专注于业务本身。同时能让统计数据全程动态自动生成、更新,在查询时直接做最简单的单表查询,提高了响应速度。
附图说明
17.图1为本发明实施例2的统计配置系统示意图;
18.图2为本发明实施例2的创建统计业务数据详情示意图。
具体实施方式
19.下面结合附图对本发明的实施例进行详细说明。
20.实施例1
21.一种统计数据的配置管理方法,包括:
22.首先,针对各种业务表进行字段约定。这里把各种业务表分为两类:基础型业务表、生产型业务表。基础型业务表是指有限数据型,像设备、线体、人员、各种基础数据等的数据表,到达一定数量后基本不再增长或小幅度摆动。生产型业务表是指一直源源不断产生数据的表,如工单、入库单、过站数据、产量数据,等。这些数据随着工厂的运行会源源不断制造出来,来一条记录一条。针对基础型业务表,约定必须持有的字段:创建时间、修改时间、创建人员、修改人员。对于生产型业务表,必须持有的字段:创建时间、创建人员、年、月、日、时、周。之所以将年月日时周单独出来,是因为后续统计表从这里进行归组聚合运算时,方便建立各个时间维度的索引。
23.其次,单独建立一个统计配置管理系统,该系统主要做的事:1.工厂数据人员登录后,自动拉取开放出来的业务表,以及业务表中个字段,工厂人员在“添加统计类型”页面上可以创建一种统计类型,具体包括填写该统计的名称、目的、选择对应业务类型分类、所属
菜单、填写该统计的接口地址、按钮权限、选择统计用到的数据表、配置将要呈现的统计页面上要展示的字段、配置要进行计算的字段的公式,等。2.创建完一种统计类型后,该系统会自动在统计微服务中创建一张统计表(可以存入mysql这种关系型数据库,也可以存入mongo这种非关系型数据库),根据第1步配置的结果来拼接sql,通过jdbc来动态查询相应的数据表,将查询结果以及各种所需要的字段冗余进创建的统计表之中。然后再生成针对该列表的查询、数据更新的sql,存储在该统计类型的数据表的“列表查询sql”、“数据更新sql”字段中。其中的查询sql,支持该统计表所有字段的所有筛选查询、排序,以及支持分页。另外,还可以配置数据刷新的频率,通过定时任务来执行数据更新sql进而刷新数据(当然也支持手动刷新)。还可以配置统计表销毁的规则、统计表数据清理规则,如:超过一年的数据通过定时任务自动销毁、三个月没有查询的数据表进入待删除列表,走后续删除表处理。
24.最后,单独设立统计微服务来处理查询业务。在统计微服务中,只有一个接口地址,这个接口地址会解析从页面传来的子接口地址参数(即统计配置管理系统种第1步配置的每种统计的接口地址),然后找到对应的统计类型,进而读取到查询列表的sql,然后通过jdbc动态执行该sql,完成统计数据的查询。
25.以上整个过程,将统计数据的生产,剥离到统计配置管理系统中,在创建统计类型时触发。一条统计类型对应一条统计类型数据,存入统计类型维护数据表;该统计类型所要统计的数据,从业务表查询、计算之后,生成一张新的统计表,存入统计微服务的数据表中。同时,生成查询用的sql,以字符串格式存入统计类型表中的“列表查询”字段,供页面或看板接口调用时,动态读取该sql执行。由此,统计相关的业务,不再需要开发人员进行迭代维护,交由工厂人员自行管理配置。整个统计配置系统相当于一个统计数据表工厂,负责统计表的生命周期的维护(创建、查询、数据更新、销毁等)。
26.实施例2
27.如图1所示,本实施例基于spring boot jdbc mysql mongo的微服务和数据系统体系,因此拿mysql、mongo数据库来举例。统计类型配置表中存储统计配置类型。一种统计配置类型对应一张统计业务数据表。当页面上选择了所需业务表的所需字段以及计算公式,就会通过jdbc拼接一条sql语句,从业务表去查询相应字段,形成一个结果集,insert到统计类型配置表中,同时也通过jdbc来动态创建一张统计数据表(或由系统创建一条mongo集合存入mongo),并将之前的结果集插入到统计业务数据表中(即数据insert)。所有统计呈现的地方查的数据,都从该系统的统计业务数据表中去查。
28.如图2所示,在业务系统中,有两张表:线体表、线体产量表。其中,线体表属于基础数据类型表(数据达到一定程度不再改变),线体产量表属于生产型数据表(数据会源源不断增多)。线体产量表中存储的数据,是通过采集器采集上来的数据,按小时归档。比如2021-09-17 14:00:00这一个小时产量200,2021-09-17 15:00:00这一个小时产量300,那么这就对应着两条数据。如果某个小时没有产量,不会有对应数据。有一种统计需求是要统计某个线体最近24小时内每小时的生产效率,做成一个折线走势图呈现在看板中。根据上述需求,工厂人员在统计配置系统中创建一种“统计某个线体最近24小时内每小时的生产效率”的统计类型,然后选择将要查询的对应的业务数据表的对应字段,作为呈现字段(最终动态生成的统计表的字段);同时还能自定义新增字段(如示意图中的percent),配置该
字段是否需要公式、具体公式、参与公式计算的业务表中的字段,等。这些配置最终会被解析成拼接sql用的字符串,以便jdbc在生成统计表后进行数据填充。创建完呈现字段后,就动态生成一张统计表。接下来便是往该表填充数据。由于“最近24小时的每小时”是按小时连续的过程,业务表中的“线体产量表”在某些小时可能没有数据,就需要创建一张临时的24小时每小时表,以此为主表查询,链接两张业务表,来保证24小时内按小时的不缺失。统计系统也包含了创建连续型时间临时表的功能,专供这种情况的查询使用。这里,统计系统根据配置“是否连续型时间:是”、“连续型时间维度:小时”、“连续型时间区间:2021-09-16 15::00:00-2021-09-1715:00:00”的三种配置,临时创建了一个“小时表”,表中生成24条数据,每条数据都是“yyyy-mm-dd hh:00:00”格式的时间,按时间升序排列。然后用该小时表作为主表,左连接两张业务表,查询要展示的字段(线体名称linename),以及要参与计算生产效率的字段(每小时产量output、理论每分钟产量moutput),和额外一些时间维度的字段(年月日时),以及一个生产效率运算获得的percent值,查询出一个结果集,存入统计表。由此,完成了“统计某个线体最近24小时内每小时的生产效率”的统计表的创建和初始化数据的工作。最后,统计模块还会生成列表查询的sql字符串,存入该条统计类型表的“查询列表”字段,以便查询时查出该sql,用jdbc动态执行来查表。此时,这张动态创建的统计表中,每条线体都可能有最近24小时的产量数据,因此整体数据可能是n*24(n表示线体数量),当看板中要查询某条线体的最近24小时的生产效率时,只需加上linecode的过滤参数,就能查到针对该线体(而不是全部线体)的最近24小时的生产效率数据。
29.以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献