加油站班结计算方法

文档序号:6400403阅读:1512来源:国知局
专利名称:加油站班结计算方法
技术领域
本发明涉及信息采集与处理领域,特别涉及一种加油站班结计算方法。
背景技术
加油机、油罐等设备的准确计量、校核是加油站正常经营的重要前提,也是其市场信用建立的重要环节。加油站班结业务流程可以概括为:1)全站所有油机停止加油;2)油站员工手工记录所有油机面板上显示的油枪泵码;3)油站员工手工记录液位仪面板上显示的所有油罐库存;4)由人工计算或录入计算机的方式计算所有油枪出总油量、油罐库存量,生成班结报表。加油站这种班结业务的传统实现方式最大的弊端在于要求所有油枪都停止加油,即要求加油站停止所有的加油服务,这时如果有顾客需要加油,只能等待班结做完才能继续加油。这种方式,不仅降低了加油站的工作效率,同时也给顾客带来诸多不便。入世后,石油市场外国公司的进入,给国内加油市场带来了巨大压力。同时,现代人的生活节奏日益加快,对加油站的工作效率提出了更高的要求,迫切希望缩短等待加油的时间,最佳的状态就是不停机班结。此外,由于在加油的过程中,油枪出油是断续的、非连续的,如果在班结操作的过程中继续进行加油,油枪的出油时间和油量是不一致的,会给班结结果带来误差,计算所得油量与实际不符,班结结果无法准确反映输出的油量。此刻,急需提出一种加油站不停止加油班结方法来解决上述问题。

发明内容
本发明针对现有技术中需要停机班结,计量不准确的缺点,提供了一种可以实现不停机班结计算,可以精确地获得班结结果的新型加油站班结计算方法。为实现上述目的,本发明可采取下述技术方案:
加油站班结计算方法,包括油罐、油枪、交易信息库、油罐信息库、油枪信息库、班结任务请求库,具体步骤包括:
1)获取班结请求记录:从所述油罐信息库中取出所有的油罐数据记录,记为集合I;将所述集合I中所有记录按照加油站的序号进行排序,记为集合IS ;将所述集合IS中所有记录按照班次的序号进行排序,记为集合IT ;将所述集合IT中所有记录按照油罐的序号进行排序,得到集合IO ;将所述集合IO中所有记录按照所述油枪的最后一笔交易的交易时间进行逆序排序,得到集合IG;
2)获取油罐班结时刻:取出所述集合IG中的第一条记录,记为记录Rl;解析所述记录R1,将所述记录Rl的加油站序号、班次序号、油罐序号记录至集合G,查询所述交易信息库,如果查询成功则所述最后一笔交易的结束时间为所述记录Rl所对应的油罐的油罐班结时刻;如果查询不成功则所述记录Rl所对应的油罐的最后出油时刻为所述记录Rl所对应的油罐的油罐班结时刻; 3)生成班结报表:查询所述油罐信息库,得到所有时间戳在所述油罐班结时刻之前的记录,记为集合RS ;对所述集合RS按照所述时间戳进行排序,找到所述集合RS中所述时间戳最晚的记录所对应的油罐的库存量,将该库存量作为班结时刻该记录所对应的油罐的库存量Volume ;依次取出所述集合IG中所述交易时间最晚的记录,记为记录RN,执行以下步骤直至所述集合IG中所有记录均被取出:解析所述记录RN,如果所述记录RN与所述集合G的加油站序号或者班次序号或者油罐序号不同,则流程结束,否则计算所述记录RN所对应的油罐上挂接的所有油枪的漏油量Pump_leak,计算所述记录RN所对应的油罐的卸油量DV,所述记录RN所对应的油罐的班结时刻的油罐库存V=Volume+Pump_Ieak-DV,将所述油罐库存V和所述记录RN所对应的油罐上挂接的所有油枪的出油信息记入班结报表。作为优选,所述漏油量Pump_leak的计算步骤还包括:从所述班结任务请求库中取出需要进行班结操作的油罐序号;根据所述油罐序号从所述油罐信息库中取出所述油罐序号所对应的油罐的最后一笔交易的成交时刻Tl的油罐信息;从所述油枪信息库中取出所述油枪的最后一笔交易的成交时刻T2的泵码值;从所述油枪信息库中取出所述油枪在成交时刻Tl时的泵码值;所述漏油量Pump_leak为所述成交时刻Tl的泵码值与所述成交时刻T2的泵码值之差;将所述漏油量Pump_leak加入所述油罐的库存量Volume ;重复上述步骤,直至所有油枪的漏油量均计算完毕;重复上述步骤直至所有油罐上挂接的油枪的漏油量均计算完毕。作为优选,还包括以下预处理步骤:对所述油罐进行秒级采样,将所述油罐的油罐信息记入所述油罐信息库;对所述油枪进行秒级采样,将所述油枪的出油信息记入所述油枪信息库;将所述油枪的交易信息记入所述交易信息库;将班结任务请求记入所述班结任务请求库。作为优选,并行地对不同油罐进行班结计算。本发明由于采用了以上技术方案,具有显著的技术效果:
1.优化业务流程,推动业务管理标准化,通过设计班结平衡和时间平衡算法,通过访问数据库,产生班结平衡与时间平衡报表,基于此,进行加油站成品油进销存平衡分析。使得业务管理等都趋于标准化。2.简化业务操作,提高工作效率,本发明所述方法能够大大减少员工的工作量,提高工作效率。员工只需要简单操作,就能轻松、准确地完成班结。3.人性化服务,提高顾客加油体验,本方法能够实现员工在不停止所有油枪工作的情况下进行班结操作。这样,顾客不再需要等待加油,任何时间都可以进行加油,员工是否做班结对顾客没有任何影响。通过该方法能够大大提高顾客的体验。4.提供高效班结机制,灵活应对加油站各种班结策略,所述的加油站不停止加油班结计算方法为加油站班结业务提供了一套高效、准确的计算机制,步骤少,适应性好,能够灵活应对不同加油站的不同班结请求策略,具有十分良好的可扩展性以及伸缩性。5.可以消除由于油枪的断续出油对最后的结算结果所带来的误差,提高了班结的精确性。


图1为本发明所述方法的计算系统结构示意图。
图2为本发明所述方法的子处理流程示意图。图3为本发明所述方法的油枪漏油量的说明示意图。图4为本发明所述方法的补回油枪漏油量的流程示意图。图5为本发明所述方法的生成班结报表的流程示意图。
具体实施例方式下面结合实施例对本发明作进一步的详细描述。实施例1
加油站班结计算方法的硬件开发板逻辑模块包括有以下模块:
实时时钟RTC:保证系统在断电的情况下,内部时钟电路能够正常工作,确保系统时间的实时性、准确性。以太网口 RJ45:通过网络对采集仪进行远程管理与配置,并且通过网络与中心管理系统交互。多串口 RS232:采集加油机、液位仪数据通道,最多可以同时进行8路数据采集。USB:将串口采集数据整理、分析之后,进行本地存储备份,以便于随时查询与恢复。LED指示灯:包括数据收发指示灯、电源指示灯以及故障指示灯。SD CARD接口:将串口采集数据整理、分析之后,进行本地存储备份,以便于随时查询与恢复。CONSOLE 口:调试、测试之用。图1为班结计算系统结构组成示意图,它包括油罐1、液位仪、油枪2、油机、数据采集模块Collector、中心管理系统、数据仓库、管控系统、班结任务请求库6、班结计算模块以及班结报表,其中,数据仓库包括油罐信息库4,油枪信息库5,交易信息库3,这里数据仓库和班结任务请求库6都是数据的集合和汇总,可以用数据库或者文件的形式对上述汇总的数据进行保存,油罐信息库4、油枪信息库5、交易信息库3分别是数据仓库的一部分。油罐信息库4存储着秒级采样的加油站油罐信息,包括加油站编号、油罐编号、油品、油水总体积、液位高度、采集时间戳等。油枪信息库5存储着实时秒级采样的加油时油枪出油信息,包括:加油站编号、油枪号、油价、泵码值、时间戳等。交易信息库3存储着实时采集的加油站油枪交易记录,包括:加油站编号、油枪号、当前加油量、PSAM卡产生的终端交易序号、时间戳等。班结任务请求库6中存储着由加油站管理中心提交的班结任务请求描述,包括:任务对象、任务序号、任务处理例程起点、任务处理例程终点、任务属性。示意图中各模块之间的相互关系可以概括如下:
(1)数据采集模块Collector向液位仪发送查询命令实时获取油罐I信息,经由油罐I信息采集模块处理解析之后存储到油罐信息库4中;
(2)油枪2的实时出油信息经油机上传到数据采集模块Collector,处理解析之后存储到油枪信息库5 ;
(3)油枪2的每笔交易信息由油机上传到数据采集模块Collector,处理解析之后存储到交易信息库3 ;
(4)管控系统将班结任务请求存放到班结任务请求库6;
(5)班结计算模块从班结任务请求库6中提取班结任务,经由油罐卸油统计模块、油枪“漏油”补回模块、油罐库存统计模块、油枪销售统计模块处理之后,生成班结报表。如图2所示,加油站班结计算方法的流程为(图中虚线为异步控制或流程):
I)原始基础数据采集,采集数据包括油站油罐I的信息、油枪2的实时出油信息以及油枪2的交易信息。2)采集数据存放到对应的数据仓库中,油罐I的信息记入油罐信息库4,油枪2的实时出油信息记入油枪信息库5,油枪2的交易信息记入交易信息库3 ;
3)管控系统递交班结任务请求;
4)任务描述存放到班结任务请求库6;
5)按基于优先级的后进先出策略从班结任务请求库6中调度出一项任务;
6)根据任务描述将任务分解为多个子处理,在本实施例中,将一个加油站的所有油罐I归结为一个子处理,其中,将一个油罐I归结为一个实例,每一子处理,根据子处理得请求描述,以串行或者并行的方式执行计算;
7)取出下一个子处理,若已经没有子处理,则转到步骤(11);
8)取出子处理中的一个实例,若已经没有实例可取,则跳到步骤(7);
9)进行班结报表的信息计算;
10)完成计算之后,将子处理请求放入到完成队列;以异步方式从完成队列中取出子处
理;
II)执行善后处理;
12)告知上层应用,班结任务执行完毕。进行不停止加油班结,需要计算挂接在油罐I上的所有油枪2的最后出油时刻(SP油罐I的最后出油时刻)和挂接在这个油罐I上的所有油枪2的“漏油”量,以便补偿在班结时刻的油枪2的出油量。将油枪2做班结定义为:计算该把油枪2从前一次进行班结操作时刻到本次进行班结操作时刻的出油量,油枪2做班结操作的时刻由班结任务请求库6中的班结任务请求来确定。将漏油定义为:油罐I做班结操作的时刻油枪2有一个泵码值P1,该把油枪2做班结的时刻又有一个泵码值P2,通常P2>=P1,因此,将P2-P1的值定义为该把油枪2班结的漏油量,这里的漏油量并非表示在加油过程中实际撒漏的油品,而是指由于不同油枪2的出油时间不同造成的,在班结时刻有部分油品未记入班结的问题,这些未记入班结统计的油品只能被记为漏油量,这里,我们需要将这部分漏油量重新记入班结统计的油量数据中。如图3所示,I号油罐I上挂接了两把油枪,分别为I号油枪21和2号油枪22,油罐I的班结时刻为01_E,I号油枪21的班结时刻为T1_E,2号油枪22的班结时刻为T2_E,其中T2_E与01_E相等。对于I号油枪21,T1_E时刻到T2_E时刻其出油量就是本次班结时油枪2的“漏油量”。图4为班结计算补回油枪2漏油流程示意图,这个过程是以油罐I为单位进行处理的,可分为如下几个步骤: (1)从班结任务请求库6中取出需要做班结的油罐号;
(2)根据油罐I的最后一笔成交记录时刻Tl在油罐信息库4中取出油罐信息;
(3)根据油罐I上所挂接的油枪2取出该油枪2在这个班结操作之前的最后一笔交易时刻T2时的泵码值;
(4)取出该油枪2在时刻Tl时的泵码值;
(5)将该把油枪2在两个时刻的泵码值之差补回给油罐I的库存量;
(6)读取下一把油枪2的油罐编号;判断是否与前一把油枪2相同,若是,则重复步骤
3-5;否则,则继续执行步骤7;
(7)判断是否所有油罐I都已做班结,若无,则重复步骤1-6;否则,结束本流程。图5为班结计算流程示意图,执行步骤具体描述如下:
(I)从班结任务请求库6中获取班结请求记录,之后做如下处理:
(1.1)从油罐信息库4中取出所有班结的油罐数据记录,得到集合I ;
(1.2)将集合I中的所有记录按照关键字“加油站ID”进行排序,得到集合IS ;
(1.3)将集合IS中的所有记录按照关键字“班次号”进行排序,得到集合IT ;
(1.4)将集合IT中的所有记录按照关键字“油罐号”进行排序,得到集合IO ;
(1.5)将集合IO中的所有记录按照关键字“油枪最后一笔交易时间(PSAM_TTC_E)”进行逆序排序,得到集合IG。(2)获取油罐I班结时刻,具体步骤如下:
(2.1)取出油罐I数据记录集合IG中的第一条记录Rl ;
(2.2)解析记录R1,保存“加油站ID”、“班次号”和“油罐号”到集合G ;
(2.3)解析记录R1,根据关键字“PSAM_TTC_E”查询交易信息库3,如果能够查询成功,则油罐班结时刻OE时刻就为获取的那一笔交易的结束时刻TE,则0_E=TE ;如果查询失败,则跳到(2.4);
(2.4)解析记录R1,得到本班次内油罐I最后出油时刻0_E就为班结请求时刻Lasttime,即 0_E=Lasttime ;
(3)计算油罐I库存,生成班结报表,具体步骤如下:
(3.1)根据0_E、加油站ID、油罐号查询“油罐信息库4”,得到时间戳receivetime〈=0_E的所有记录集合RS ;
(3.2)将集合RS按关键字receivetime进行排序,得到receivetime值最大的那一条记录对应的油罐I库存Volume ;
(3.3)班结时刻该油罐I库存V就为Volume,即V=Volume ;
(3.4)取出油罐数据记录集合IG中的下一条记录RN,若取出的结果为空,设置完成标志位flag_done,跳到步骤(3.12);否则,跳到步骤(3.5);
(3.5)解析记录RN,判断该记录中的“加油站ID”是否与集合G中的“加油站ID”相等,若相等,则跳到步骤(3.6),否则跳到步骤(3.12);
(3.6)解析记录RN,判断该记录中的“班次号”是否与集合G中的“班次号”相等,若相等,则跳到步骤(3.7),否则跳到步骤(3.12);
(3.7)解析记录RN,判断该记录中的“油罐号”是否与集合G中的“油罐号”相等,若相等,则跳到步骤(3.8),否则跳到步骤(3.12); (3.8)根据图4所述方法步骤循环计算油罐I上挂接的所有油枪2的“漏油量”Pump_leak,并进行油枪漏油补回操作;
(3.9)计算班结时刻该油罐I卸油量DV (将卸油量DV定义为油罐I库存不足时,加油站油车往油罐I中加入的油量);
(3.10)班结时刻该油罐 I 库存 V=Volume+Pump_leak-DV ;
(3.11)将当前油罐I计算得到的库存信息和其挂载的所有油枪2出油信息填写到班结手艮表 class_result_erp 中;
(3.12)若完成标志位flag_done被设置了,则整个流程到此结束;否则,跳到步骤(3.4);
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。
权利要求
1.一种加油站班结计算方法,包括油罐(I)、油枪(2)、交易信息库(3)、油罐信息库 (4)、油枪信息库(5 )、班结任务请求库(6 ),具体步骤包括: 1)获取班结请求记录:从所述油罐信息库(4)中取出所有的油罐数据记录,记为集合I;将所述集合I中所有记录按照加油站的序号进行排序,记为集合IS ;将所述集合IS中所有记录按照班次的序号进行排序,记为集合IT ;将所述集合IT中所有记录按照油罐的序号进行排序,得到集合IO ;将所述集合IO中所有记录按照所述油枪(2)的最后一笔交易的交易时间进行逆序排序,得到集合IG ; 2)获取油罐班结时刻:取出所述集合IG中的第一条记录,记为记录Rl;解析所述记录R1,将所述记录Rl的加油站序号、班次序号、油罐序号记录至集合G,查询所述交易信息库(3),如果查询成功则所述最后一笔交易的结束时间为所述记录Rl所对应的油罐(I)的油罐班结时刻;如果查询不成功则所述记录Rl所对应的油罐(I)的最后出油时刻为所述记录Rl所对应的油罐(I)的油罐班结时刻; 3)生成班结报表:查询所述油罐信息库(4),得到所有时间戳在所述油罐班结时刻之前的记录,记为集合RS ;对所述集合RS按照所述时间戳进行排序,找到所述集合RS中所述时间戳最晚的记录所对应的油罐(I)的库存量,将该库存量作为班结时刻该记录所对应的油罐(I)的库存量Volume ;依次取出所述集合IG中所述交易时间最晚的记录,记为记录RN,执行以下步骤直至所述集合IG中所有记录均被取出:解析所述记录RN,如果所述记录RN与所述集合G的加油站序号或者班次序号或者油罐序号不同,则流程结束,否则计算所述记录RN所对应的油罐(I)上挂接的所有油枪(2)的漏油量Pump_leak,计算所述记录RN所对应的油罐(I)的卸油量DV,所述记录RN所对应的油罐(I)的班结时刻的油罐库存V=Volume+Pump_leak-DV,将所述油罐库存V和所述记录RN所对应的油罐(I)上挂接的所有油枪(2)的出油信息记入班结报表。
2.根据权利要求1所述加油站班结计算方法,其特征在于,所述漏油量Pump_leak的计算步骤还包括:从所述班结任务请求库(6)中取出需要进行班结操作的油罐序号;根据所述油罐序号从所述油罐信息库(4)中取出所述油罐序号所对应的油罐(I)的最后一笔交易的成交时刻Tl的油罐信息;从所述油枪信息库(5)中取出所述油枪(2)的最后一笔交易的成交时刻T2的泵码值;从所述油枪信息库(5)中取出所述油枪(2)在成交时刻Tl时的泵码值;所述漏油量Pump_leak为所述成交时刻Tl的泵码值与所述成交时刻T2的泵码值之差;将所述漏油量Pump_leak加入所述油罐(I)的库存量Volume ;重复上述步骤,直至所有油枪(2)的漏油量均计算完毕;重复上述步骤直至所有油罐(I)上挂接的油枪(2)的漏油量均计算完毕。
3.根据权利要求1所述加油站班结计算方法,其特征在于,还包括以下预处理步骤:对所述油罐(I)进行秒级采样,将所述油罐(I)的油罐信息记入所述油罐信息库(4);对所述油枪(2)进行秒级采样,将所述油枪(2)的出油信息记入所述油枪信息库(5);将所述油枪(2)的交易信息记入所述交易信息库(3);将班结任务请求记入所述班结任务请求库(6)。
4.根据权利要求1、2、3任一所述加油站班结计算方法,其特征在于,并行地对不同油罐(I)进行班结计算。
全文摘要
本发明涉及信息采集与处理领域,公开了一种加油站班结计算方法,包括油罐、油枪、交易信息库、油罐信息库、油枪信息库、班结任务请求库,具体步骤包括获取班结请求记录步骤,获取油罐班结时刻步骤,生成班结报表步骤。本发明的优点在于,具有较好的灵活性和适应性,可以不停机实现对加油站的班结操作,进一步地,避免了不停机进行班结操作过程中由于油枪断续出油带来的班结误差,可以适合不同的加油站设置和客户需求,具有较高的应用价值。
文档编号G06Q50/00GK103218745SQ20131008372
公开日2013年7月24日 申请日期2013年3月15日 优先权日2013年3月15日
发明者蒋晓宁, 刘君强, 甘志刚, 余斌霄, 周文华, 王俊丽, 甘梦迪, 应超杰 申请人:浙江工商大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1