本发明属于地磅称重领域,具体涉及一种无人值守地磅防作弊打印控制系统。
背景技术:
1、无人值守过磅称重管理系统应用于工业生产和其他的进行货物运输频繁的企业,是一套智能的自动称重解决方案,实现车辆进出,货物运输及出入库的智能自动化管理。无人值守智能称重系统科学的运用了最新的计算机软技术,采用rfid无线射频、雷达、地磅、车牌识别及视频实时拍照、录像和传输等技术,实现车辆称重过程磅房无人值守称重。在称重的整个过程里做到计量数据自动可靠采集、自动判别、自动指挥、自动处理、自动控制,最大限度的降低人工操作所带来的弊端和工作强度,提高了系统的信息化、自动化程度。
2、打印是地磅称重打印中必不可少的功能,每一次的称重都需要打印当次的车辆信息及对应的称重信息,车辆凭着打印单出入工作区及与运输单位的费用结算依据。打印功能本身虽小,已经成为工作区的“通行证”及“费用”的主角,其重要性不言而喻。当前过磅称重管理系统正在经历从有人值守到无人值守的阶段,各厂家拥有自己的地磅称重系统,基本都能完成称重打印的功能。但是,随着无人值守过磅称重管理系统的推广应用,逐渐暴露出一些新的问题:
3、(1)标准不统一:各家系统打印功能各自为阵,没有统一标准;
4、(2)严重浪费:直接用普通打印机打印出纸,有时候实际内容只有几行,却用a4纸打印,浪费纸张;
5、(3)可扩展性差:随着业务增多,要增加不同类型的打印机,需要重新升级软件;
6、(4)无人值守实际还要有人值守:在打印过程中经常出现无纸张,打印机故障等情况,需要安排专人实时查看,及时发现问题并处理;
7、(5)作弊环节后移:在有人值守地磅车辆称重过程中,司机通过跟磅房人员配合,可以在称皮重的时候通过一轮上磅或地磅员人工填写数据的方式进行作弊。在无人值守地磅车辆称重过程中,由于磅房无地磅员,车辆的上磅行为通过视频和红外方式约束其规范,杜绝了司机没有完全上磅、车轮轧在磅两边等主观作弊情形。但是,由于打印中心有专人审核控制打印单,所以出现了打印中心人员与司机联合作弊的新情形。实际上只是将作弊环节从地磅房后移到打印审核中心。
8、解决以上问题,并不是开发技术本身能够解决的,更重要的是提供一种打印控制机制。
技术实现思路
1、发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种无人值守地磅防作弊打印控制系统,围绕地磅数据的处理,提供数据的接收、解析、处理,打印控制,并且提供可扩展和适配机制,能够方便灵活应用。
2、本发明所述系统包括打印控制服务模块、打印服务模块和消息订阅机制模块;
3、所述打印控制服务模块负责各地磅终端的打印数据、打印状态、打印参数、打印模板的管理;
4、所述打印服务模块负责执行打印控制服务模块的指令,并根据称重结果打印称重单;
5、所述消息订阅机制模块提供消息订阅的机制;
6、所述打印控制服务模块和打印服务模块之间的数据更新通过消息订阅的方式完成,利用基于客户端和服务器的消息发布和订阅传输协议mqtt,打印控制服务模块能够收到来自打印服务模块的数据,同时,打印服务模块能够实时收到打印控制服务模块的数据。
7、所述打印控制服务模块与业务系统通过预定义的通信接口进行交互,实时解析来自业务系统的数据及根据打印控制服务当前状态,实时回复业务系统响应数据;
8、所述打印控制服务模块包含车辆信息服务模块;所述车辆信息服务模块用于提供车辆信息和称重数据;
9、所述打印控制服务模块还用于称重数据实时更新、提供地磅打印机驱动信息,以及提供地磅打印格式服务;
10、所述打印服务模块还用于提供启动服务、磅单绘制、数据获取、数据复制、打印机适配、打印纸纸长度计算、磅单打印和打印异常控制。
11、所述打印控制服务模块具体执行如下步骤:
12、步骤1-1,确定与业务系统预定义的通信接口的物理形式为网络接口,采用tcp协议通信,传输网络数据包;
13、步骤1-2,确定与业务系统预定义的通信方式采用消息订阅的方式,实现打印控制服务模块与业务系统之间的网络数据包的交互;
14、步骤1-3,确定打印控制服务模块与业务系统之间的交互的数据类型;
15、步骤1-4,打印异常控制;
16、步骤1-5,建立数据过滤机制。
17、步骤1-3中,所述数据类型包括车辆信息、称重数据、地磅打印机驱动、地磅打印格式和数据状态类型(地磅数据在称重过程是,数值会发生变化,所以要区分数据,比如,数据初值:刚开始的称重数据值,数据稳态值:数据在一定时间内不变化的值,数据中间值:除了初值和稳态值之外的值);
18、所述车辆信息是指业务系统在工作区入口闸获取车牌后,判断本次车辆是否是运输任务车辆,并查到对应的运输任务,然后将获取的信息根据统一的协议方式实时更新到各地磅及出口闸;所述获取的信息包含车牌号、车身颜色、车类型、本次任务类型、任务名称、运输单位;
19、所述称重数据是指业务系统在地磅得到的皮重和净重数据;
20、所述地磅打印机驱动是指每个地磅房打印时使用的打印机型号、打印机机型及驱动打印机打印工作所需要的驱动信息和库文件信息;
21、所述地磅打印格式是指地磅房打印时需要使用的打印格式模板,所述打印格式模板是指称重打印模板,所述称重打印模板中包含磅单头、车辆信息、称重信息、任务信息、地磅信息和时间信息。
22、步骤1-4包括:在打印过程中,实时检测打印的状态,所述打印的状态包括信息不全、数据的不合法和打印故障。
23、步骤1-5包括:每个地磅接收到的数据都是车辆信息、称重数据、地磅打印机驱动、地磅打印格式和数据状态类型,但是在实际的每个时刻,一个地磅的终端上只会有一种数据是符合当前的地磅状态;
24、所述地磅状态包含空闲、初始化、预称重、称重变化中、称重稳态和称重结束共6个状态;
25、所述空闲是指地磅当前没有监测到有需要称重的车辆信息,且地磅空闲;
26、所述初始化是指地磅刚启动,正在建立外部通信及达到运行的状态;
27、所述预称重是指车辆即将进入地磅称重;
28、所述称重变化中是指车辆已经在地磅上,称重的数据在一直变化中,处于增加或减少的过程中;
29、所述称重稳态是指车辆称重数据在一个时间范围内不再变化;
30、所述称重结束是指车辆称重过程完成,地磅数据回到零。
31、所述打印服务模块具体执行如下步骤:
32、步骤2-1,磅单绘制:根据车辆信息服务模块提供的车辆信息和称重数据实时更新数据,绘制当前车辆系统的称重打印模板,所述称重打印模板包括六块区域,第一块区域为磅单头,包括磅单名称和磅单二维码信息;第二块区域为车辆信息,包括车牌号、车类型、车队名、内部车号和车辆的rfid卡号;第三块区域为称重信息,包括毛重、毛重称重时间、净重和净重称重时间;第四块区域为任务信息,包括本次运输的任务名称和任务编号;第五块区域为地磅信息,包括地磅的编号和地磅名称;第六块区域为时间信息,包括本次打印的时间;
33、划分磅单类型为极简型f1、简约型f2和丰富型f3;
34、所述极简型f1包括第一块区域的磅单二维码信息、第二块区域的车牌号、第三块区域的毛重、毛重称重时间、净重、净重称重时间,以及第四块区域的任务名称;
35、所述简约型f2包括第一块区域的磅单二维码信息和磅单名称、第二块区域的车牌号、车类型、车队名和车辆的rfid卡号,第三块区域的毛重、毛重称重时间、净重、净重称重时间,以及第四块区域的任务名称;
36、所述丰富型f3显示六块区域的全部信息;
37、步骤2-2,数据解析处理:接收来自打印控制系统的车辆信息、任务信息、地磅打印机驱动信息、打印格式信息和称重数据,实时更新提供的数据,并与从业务系统获取的当前称重的车牌号进行匹配,以关联当前称重车辆的称重数据,根据mqtt协议解析当前车辆的称重数据;
38、步骤2-3,适配打印机:接收来自地磅打印机驱动信息,配置当前打印机的驱动,保持打印机的连接正常,并设置打印的字符模式、打印的起始位置,初始化打印机并配置打印模式;
39、步骤2-4,计算打印纸剩余长度:利用决策树方法,机器学习每次用纸的长度,计算出实际每次打印时的用纸长度,利用磅单绘制的数据,计算总的打印数据的长度,根据总的打印数据的长度和每行的打印高度,以及保留的空行高度,计算本次用纸长度,同时,计算本次打印内纸张还能打印的次数;
40、步骤2-5,打印磅单:调用打印接口,设置打印的字体、字符大小,根据选择字体和字符大小逐行打印磅单数据;
41、步骤2-6,上报打印状态:地磅打印结束后,将状态信息上报到打印控制服务模块,打印控制服务模块通知业务系统,允许车辆开动。
42、步骤2-4包括:
43、步骤2-4-1,设定先装入打印纸的总长度为lt,第i次打印时打印数据的长度为lpi,i为正整数,打印机打印时每行的打印字符高度为h,打印机打印一行空行时空行高度为hs,第i次打印时需要用打印纸的长度为lai,第i次打印后打印纸还能用于打印的次数为lli;
44、步骤2-4-2,计算第i次打印时需要用打印纸的长度lai;
45、步骤2-4-3,计算第i次打印后打印纸还能用于打印的次数:
46、
47、步骤2-4-2中,采用如下公式计算第i次打印时需要用打印纸的长度:
48、lai=lpi*h+hs*j
49、其中j表示空行数量,取值为正整数。
50、进一步的,步骤2-4-2还可以采用其他方法进行处理,具体包括:
51、步骤2-4-2-1,根据历史打印数据单的内容,确定使用打印纸的长度相关的特征,每次的打印用纸长度取决于所述六块区域打印内容的长度,先进行特征初选:
52、将历史数据中每次打印磅单中的磅单名称、磅单二维码信息、车牌号、车类型、车队名、内部车号、rfid卡号、毛重数据、毛重称重时间、净重数据、净重称重时间、本次运输的任务名称、地磅编号、地磅名称信息、称重的时间、打印机编号、打印模板、打印纸张类型、字符高度、空行高度进行汇集整理,形成历史数据统计表,然后执行如下步骤:
53、步骤2-4-2-1-1:将历史数据统计表中数据项不全的记录删除;
54、步骤2-4-2-1-2:筛选历史数据统计表中相同的数据项:同一属性,另一种表述的只保留一个;
55、步骤2-4-2-1-3:将历史数据统计表中所有极简型f1的数据项删除;
56、步骤2-4-2-1-4:经过步骤2-4-2-1-1~步骤2-4-2-1-3后的数据,形成特征初选后的数据记录;数据记录是指历史打印数据单的数据,存储到计算机中,这种由打印数据单构成的一条一条数据,称为数据记录。
57、步骤2-4-2-2,提取特征,具体包括如下步骤:
58、设定当前历史数据统计表中所有数据的集合为d,数据项分为c类,p(i)表示第i个类别样本数量占所有样本的比例,则d的信息熵info(d)定义为::
59、
60、将集合d中具有相同特征的集合划分为不同的子集dj,当j=1,表示第一个集合d1,当j=2,表示第一个集合d2,依此类推,互相不会有重叠;特征提取是进一步从特征初选的结果中,选择一些实际与打印用纸相关的数据项,根据相关程度排序一一区分出不同数据项的重要性。这种与打印用纸相关的数据项用信息熵表示。对于决策树节点最合适的特征选择,就是gain(a)值最大的特征,是指特征提取后,会产生很多特征,只有gain(a)值最大的才是决策树节点最合适的特征;所述相同特征是指从数据记录中提取的。
61、选择特征a作为决策树判断节点时,在特征a作用后的信息熵为infoa(d),计算如下:
62、
63、其中k表示集合d被分为k个部分,info(dj)表示第j个集合dj的信息熵;
64、信息增益gain(a)表示集合d在特征a的作用后,信息熵减少的值:
65、gain(a)=info(d)-infoa(d)
66、对于决策树节点最合适的特征选择,就是gain(a)值最大的特征;
67、步骤2-4-2-3,生成决策树并剪枝;当有磅单需要打印时,根据决策树,计算需要用打印纸的长度,具体包括:利用id3算法,以集合d为根节点,不断选择特征和特征切分点对集合d进行划分,重复此过程,直到当前节点为同一类别数据,或没有特征可供选择,递归生成决策树,并剪枝。
68、有益效果:通过本发明方法,解决了地磅系统中打印标准不统一的问题,本发明可以应用于任何一家地磅应用中,对接方便,标准统一。本发明还能防止打印过程中的纸张浪费,通过根据实际打印内容多少,计算实际用纸长度,不浪费。本发明最重要一点是有效防止地磅称重过程中的作弊问题,因为本发明的数据处理过程无人工参与,打印磅单是全自动过程,因此有效杜绝了打印中心人员与司机联合作弊的新情形。