一种快件派件数据的处理方法技术

技术编号:30319087 阅读:18 留言:0更新日期:2021-10-09 23:24
本发明专利技术涉及一种快件派件数据的处理方法,包括:基于flink stream程序对kafka中的存储有运单数据的消息队列进行处理,以对时间窗口内运单数据进行有效性检验和去重;将经过去重后的运单数据发送至kafka的其他队列中进行存储;基于解析服务对去重后的运单数据进行解析生成相应的派件数据;将派件数据写入tidb并向派件员提供相应的聚单查询服务。能够有效减少中间数据流入下游,减轻地址解析服务压力,解析后的数据存储于tidb一张表中,方便根据派件员标识ID查询派件聚单服务的请求,有效减少运行的成本提高了派件查询的效率。行的成本提高了派件查询的效率。行的成本提高了派件查询的效率。

【技术实现步骤摘要】
一种快件派件数据的处理方法


[0001]本专利技术属于运单数据处理
,具体涉及一种快件派件数据的处理方法。

技术介绍

[0002]在快递行业中许多快递公司每天可能需要对几千万量级的运单数据进行处理,以使处理后能够为派件员提供派件聚合查询的数据从而便于派件员进行派件。其中运单在寄、运、转、派等一系列流转过程中,分拣设备的入、出库操作使得运单状态不断变更,且其收件地址等重要信息也可能会更改,运单数据每天会上亿次的信息变更。
[0003]上亿次的状态变更会完全流入下游对地址解析服务将有巨大的压力,同时提供的派件聚合查询对存储要求很高造成运行成本的增高。

技术实现思路

[0004]为了解决现有技术存在的解析服务压力大、运行成本高的问题,本专利技术提供了一种快件派件数据的处理方法,其具有减少中间数据流入下游、减轻地址解析服务压力、方便根据派件员标识ID查询派件聚单服务的请求、较小运行成本等特点。
[0005]根据本专利技术的具体实施方式的一种快件派件数据的处理方法,包括:
[0006]基于flink stream程序对kafka中的存储有运单数据的消息队列进行处理,以对时间窗口内运单数据进行有效性检验和去重;
[0007]将经过去重后的运单数据发送至kafka的其他队列中进行存储;
[0008]基于解析服务对去重后的运单数据进行解析生成相应的派件数据;
[0009]将所述派件数据写入tidb并向派件员提供相应的聚单查询服务。
[0010]进一步地,所述基于flink stream程序对kafka中的存储有运单数据的消息队列进行处理,以对时间窗口内运单数据进行有效性检验和去重包括:
[0011]时间窗口的时间参数配置默认15分钟,对同一单号取最新一条状态变更的数据。
[0012]进一步地,所述基于解析服务对去重后的运单数据进行解析生成相应的派件数据包括:
[0013]基于解析后得到的POI信息和派件员信息生成派件数据。
[0014]进一步地,所述聚单查询服务包括:
[0015]基于派件员标识ID查询派件数据列表服务。
[0016]进一步地,所述快件派件数据的处理方法还包括对所述聚单查询服务超过保存期限的派单数据进行归档和清理。
[0017]本专利技术的有益效果为:通过使用flink stream程序消费kafka的运单数据流,对时间窗口内运单数据做有效性检查和去重,将过滤重复数据推送给kafka服务,下游地址解析服务消费kafka服务数据后,生成派件数据写入tidb,提供给派件员聚单查询服务。从而能够有效减少中间数据流入下游,减轻地址解析服务压力,解析后的数据存储于tidb一张表中,方便根据派件员标识ID查询派件聚单服务的请求,有效减少运行的成本提高了派件查
询的效率。
附图说明
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1是根据一示例性实施例提供的快件派件数据的处理方法的流程图。
具体实施方式
[0020]为使本专利技术的目的、技术方案和优点更加清楚,下面将对本专利技术的技术方案进行详细的描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本专利技术所保护的范围。
[0021]参照图1所示,本专利技术的实施例提供了一种快件派件数据的处理方法,具体包括以下步骤:
[0022]101、基于flink stream程序对kafka中的存储有运单数据的消息队列进行处理,以对时间窗口内运单数据进行有效性检验和去重;
[0023]flink stream是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算,其用于在任何规模上运行有状态流应用程序。应用程序被并行化成数千个任务,这些任务分布在一个集群中并发执行。因此,应用程序实际上可以利用无限数量的cpu、主内存、磁盘和网络IO。此外,Flink很容易保持非常大的应用状态。它的异步和增量检查点算法确保了对处理延迟的最小影响,同时保证了精确的一次状态一致性。
[0024]flink的内置time window和count window覆盖了大多数应用场景,每个窗口都拥有一个Trigger(触发器),该Trigger(触发器)决定何时计算和清除窗口。当先前注册的计时器超时时,将为插入窗口的每个元素调用触发器。在每个事件上,触发器都可以决定触发(即、清除(删除窗口并丢弃其内容),或者启动并清除窗口。一个窗口可以被求值多次,并且在被清除之前一直存在。当Trigger(触发器)触发时,可以将窗口元素列表提供给可选的Evictor,Evictor可以遍历窗口元素列表,并可以决定从列表的开头删除首先进入窗口的一些元素。然后其余的元素被赋给一个计算函数,如果没有定义Evictor,触发器直接将所有窗口元素交给计算函数进行相应的计算从而对时间窗口内运单数据进行有效性检验和去重。
[0025]kafka是一个统一、高吞吐、低延迟的平台,即分布式发布

订阅消息系统,kafka作为集群运行在一个或者多个服务器上,kafka集群存储的消息是以topic(消息队列)为类别记录的,已发布的消息保存在一组服务器中,称之为Kafka集群。集群中的每一个服务器都是一个代理(Broker)。消费者可以订阅一个或多个主题(topic),并从Broker拉数据,从而消费这些已发布的消息。每个分区都是一个顺序的,不可变的消息队列,并且可以持续添加,producer生产的消息都会append到队列的末尾,而不是随机读写的。
[0026]102、将经过去重后的运单数据发送至kafka的其他队列中进行存储;
[0027]kafka处理过程延迟更低,更容易支持多数据源和分布式数据处理。比起以日志为中心的系统比如Scribe或者Flume来说,Kafka提供同样高效的性能和因为复制导致的更高的耐用性保证,以及更低的端到端延迟。
[0028]103、基于解析服务对去重后的运单数据进行解析生成相应的派件数据;
[0029]可经地址解析服务消费相应的消息队列,经收件地址数据解析后生成派件数据。
[0030]104、将派件数据写入tidb并向派件员提供相应的聚单查询服务。
[0031]tidb是一个分布式NewSQL数据库,具有数据强一致的高可用特性,是一个不仅适合OLTP场景还适OLAP场景的混合数据库。可根据某一派件员标识ID查询出分配的派件单列表,实现派件员的派件单聚合查询。
[0032]这样庞大的运单过滤后能减少中间数据流入下游,减轻地址解析服务压本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种快件派件数据的处理方法,其特征在于,包括:基于flink stream程序对kafka中的存储有运单数据的消息队列进行处理,以对时间窗口内运单数据进行有效性检验和去重;将经过去重后的运单数据发送至kafka的其他队列中进行存储;基于解析服务对去重后的运单数据进行解析生成相应的派件数据;将所述派件数据写入tidb并向派件员提供相应的聚单查询服务。2.根据权利要求1所述的快件派件数据的处理方法,其特征在于,所述基于flink stream程序对kafka中的存储有运单数据的消息队列进行处理,以对时间窗口内运单数据进行有效性...

【专利技术属性】
技术研发人员:朱宁
申请(专利权)人:上海中通吉网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1