CN115293685A - 物流订单的状态跟踪方法、装置、设备和存储介质 - Google Patents
物流订单的状态跟踪方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115293685A CN115293685A CN202210852674.9A CN202210852674A CN115293685A CN 115293685 A CN115293685 A CN 115293685A CN 202210852674 A CN202210852674 A CN 202210852674A CN 115293685 A CN115293685 A CN 115293685A
- Authority
- CN
- China
- Prior art keywords
- order
- logistics
- node
- data
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0833—Tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
Abstract
本发明公开了一种物流订单的状态跟踪方法、装置、设备和存储介质,通过监听物流系统对物流订单的操作信息,获取包括导入订单、打印订单、揽收订单及签收订单在内的节点链路流转数据;对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计及展示;记录各节点每次操作的数量及操作时间,按时间顺序排列展示,统计当前时刻每个节点的操作总量,对比当前节点的操作总量与上一节点的操作总量,若不等,则提示当前节点存在n订单未处理。从而加快物流订单的处理进度,提高物流效率。
Description
技术领域
本发明属于物流管理的技术领域,尤其涉及一种物流订单的状态跟踪方法、装置、设备和存储介质。
背景技术
物流订单及物流订单的订单状态是用于记录一个真实的物流包裹从创建到完结这一过程的数据。在物流订单处理场景中,物流订单会涉及多种订单状态,例如“导入”、“打印”和“揽收”等。当物流订单的状态发生变化时,需要对物流订单的订单状态进行状态迁移,以提高对物流订单的订单状态跟踪的准确性。
但是,目前对物流订单状态的用途往往用于物流公司内部或第三方对物流订单的进度进行查询,并没有对物流订单状态信息进行更有效的利用,不利于物流公司的业务进展,影响企业口碑。
发明内容
本发明的目的是提供一种物流订单的状态跟踪方法、装置、设备和存储介质,可有效利用物流订单状态信息,加快物流订单的处理进度,提高物流效率。
为解决上述问题,本发明的技术方案为:
一种物流订单的状态跟踪方法,包括:
服务器监听物流系统对物流订单的操作信息,获取包括导入订单、打印订单、揽收订单及签收订单在内的节点链路流转数据;
对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计及展示;
记录各节点每次操作的用户信息、操作的数量及操作时间,按时间顺序排列展示,统计当前时刻每个节点的操作总量,对比当前节点的操作总量与上一节点的操作总量,若不等,则提示当前节点存在n订单未处理;其中,n=上一节点的操作总量-当前节点的操作总量。
根据本发明一实施例,所述服务器监听物流系统对物流订单的操作信息进一步包括:
配置Mybatis拦截器的物流订单表和物流订单状态表新增和更新操作的SQL语句;
配置好后,通过Mybatis拦截器监控物流系统对物流订单的执行数据操作;
若监控到物流系统执行数据操作,并判断数据是否执行完成;
若完成,则基于监控的数据,映射到预先配置的物流订单表和物流订单状态表的新增和更新操作的SQL语句;
映射后,执行SQL语句完成物流订单及订单状态数据的获取。
根据本发明一实施例,所述配置Mybatis拦截器的物流订单表和物流订单状态表新增和更新操作的SQL语句进一步包括:
监控新增和更新操作中涉及到的物流订单和订单状态字段的操作,基于监控的内容配置Mybatis拦截器的操作如下:
配置KEYS数组对象,KEYS数组对象包含发送消息的属性字段,目的是监控物流系统执行的数据的属性是否包含KEYS里面的属性;
配置不同业务场景需求下,监听物流订单表和物流订单状态表新增和更新操作的SQL语句;
配置正则表达式规则;
配置Spring发布和订阅事件。
根据本发明一实施例,所述基于监控的内容配置Mybatis拦截器的操作之后包括:
当用户通过物流系统执行操作时,Mybatis拦截器判断用户发起的订单事务是否提交;
若提交完成,则获取配置对应的业务场景的SQL语句;
获取后,使用正则表达式判断执行SQL语句是否包含监听的对象,若包含了监听的对象,则从监听的对象里获取物流订单id值,再通过Spring的发布订阅模型来发布和订阅事件。
根据本发明一实施例,所述对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计进一步包括:
配置Canal监听物流订单数据变化,物流订单数据变化包括插入、更新和删除,将新增数据或变更数据发送到RocketMQ中;
监听物流订单变动数据,包括导入订单、打印订单、揽收订单及签收订单,变更实时获取;
将物流订单id、导入订单操作时间、导入订单数量写入导入统计表,订单数据初始化为0,统计状态更新为待统计;
将物流订单id、打印订单操作时间、打印订单数量写入打印统计表,订单数据初始化为0,统计状态更新为待统计;
将物流订单id、揽收订单操作时间、揽收订单数量写入揽收统计表,订单数据初始化为0,统计状态更新为待统计;
将物流订单id、签收订单操作时间、签收订单数量写入签收统计表,订单数据初始化为0,统计状态更新为待统计;
根据操作类型orderType更新对应统计表。
根据本发明一实施例,所述根据操作类型orderType更新对应统计表进一步包括:
若操作类型orderType为1,则为导入订单操作,将导入订单相关信息写入导入统计表,其导入订单数量字段+1;
若操作类型orderType为2,则为打印订单操作,将打印订单相关信息写入打印统计表,其打印订单数量字段+1;
若操作类型orderType为3,则为揽收订单操作,将揽收订单相关信息写入揽收统计表,其揽收订单数量字段+1;
若操作类型orderType为4,则为签收订单操作,将签收订单相关信息写入签收统计表,其签收订单数量字段+1。
一种物流订单的状态跟踪装置,包括:
数据监听模块,用于服务器监听物流系统对物流订单的操作信息,获取包括导入订单、打印订单、揽收订单及签收订单在内的节点链路流转数据;
数据处理模块,用于对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计及展示;
提示模块,用于记录各节点每次操作的用户信息、操作的数量及操作时间,按时间顺序排列展示,统计当前时刻每个节点的操作总量,对比当前节点的操作总量与上一节点的操作总量,若不等,则提示当前节点存在n订单未处理;其中,n=上一节点的操作总量-当前节点的操作总量。
根据本发明一实施例,所述数据监听模块用于配置Mybatis拦截器的物流订单表和物流订单状态表新增和更新操作的SQL语句;通过Mybatis拦截器监控物流系统对物流订单的执行数据操作;若监控到物流系统执行数据操作,并判断数据是否执行完成;若完成,则基于监控的数据、映射到预先配置的物流订单表和物流订单状态表的新增和更新操作的SQL语句;映射后,执行SQL语句完成物流订单及订单状态数据的获取。
一种物流订单的状态跟踪设备,包括:存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行本发明一实施例中的物流订单的状态跟踪方法中的步骤。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本发明一实施例中的物流订单的状态跟踪方法中的步骤。
本发明由于采用以上技术方案,使其与现有技术相比具有以下的优点和积极效果:
本发明一实施例中的物流订单的状态跟踪方法,通过监听物流系统对物流订单的操作信息,获取包括导入订单、打印订单、揽收订单及签收订单在内的节点链路流转数据;对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计及展示;记录各节点每次操作的数量及操作时间,按时间顺序排列展示,统计当前时刻每个节点的操作总量,对比当前节点的操作总量与上一节点的操作总量,若不等,则提示当前节点存在n订单未处理。从而加快物流订单的处理进度,提高物流效率。
附图说明
图1为本发明一实施例中的物流订单的状态跟踪方法流图;
图2为本发明一实施例中的物流订单的状态跟踪装置框图;
图3为本发明一实施例中的物流订单的状态跟踪设备示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种物流订单的状态跟踪方法、装置、设备和存储介质作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。
实施例一
本实施例提供了一种物流订单的状态跟踪方法,请参看图1,该物流订单的状态跟踪方法包括以下步骤:
S1:服务器监听物流系统对物流订单的操作信息,获取包括导入订单、打印订单、揽收订单及签收订单在内的节点链路流转数据;
S2:对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计及展示;
S3:记录各节点每次操作的用户信息、操作的数量及操作时间,按时间顺序排列展示,统计当前时刻每个节点的操作总量,对比当前节点的操作总量与上一节点的操作总量,若不等,则提示当前节点存在n订单未处理;其中,n=上一节点的操作总量-当前节点的操作总量。
本实施例中的物流订单的状态跟踪方法,获取的物流订单的状态数据包括了导入订单节点、打印订单节点、揽收订单节点及签收订单节点中各节点每次操作的用户信息、操作的数量及操作时间,在进行物流订单状态迁移时,可对用户操作信息、物流订单时间等信息一起迁移,提高物流订单状态跟踪的准确性。还可根据用户操作信息,对后续出现的问题进行追责。
在步骤S1中,服务器监听物流系统对物流订单的操作信息,可采用以下方式获取包括导入订单、打印订单、揽收订单及签收订单在内的节点链路流转数据:
配置Mybatis拦截器的物流订单表和物流订单状态表新增和更新操作的SQL语句;
配置好后,通过Mybatis拦截器监控物流系统对物流订单的执行数据操作;
若监控到物流系统执行数据操作,并判断数据是否执行完成;
若完成,则基于监控的数据,映射到预先配置的物流订单表和物流订单状态表的新增和更新操作的SQL语句;
映射后,执行SQL语句完成物流订单及订单状态数据的获取。
本实施例通过Mybatis拦截器实时获取物流订单表和物流订单状态表新增和更新数据,确保了物流订单数据获取的实时性,提升了物流订单数据获取和定位的效率,进而提升物流订单状态数据的准确性。
实际应用中,在物流订单表和物流订单状态表中登记当前物流订单的订单信息,提交订单事务,并实时返回成功操作响应。其中,物流订单表存储订单的基本信息,如物流订单id、订单创建时间、订单收货地址等。物流订单状态表存储物流订单表中的订单状态,与物流订单表一对一关联。
配置Mybatis拦截器的物流订单表和物流订单状态表新增和更新操作的SQL语句。在mybatis配置类中使用接口注解(@Signature(type=StatementHandler.class,method=″update″,args={Statement.class}))启动Mybatis拦截器来实现拦截。
配置好后,通过Mybatis拦截器监控物流系统的数据操作,即导入订单、打印订单、(揽收、揽收上传)订单、订阅回传、分发订单、签收订单等事务操作。若监控到物流系统执行数据操作,并判断数据是否执行完成,即判断导入订单、打印订单、(揽收、揽收上传)订单、订阅回传、分发订单、签收订单是否完成,若完成,则基于监控的数据、映射到所配置的物流订单表和物流订单状态表的新增和更新操作的SQL语句。映射后,执行SQL语句完成物流订单及其状态数据的获取;若未监控到,则不处理。
服务器获取的物流订单的原始数据中记录哪个网点的哪个大掌柜账号在哪个时间,操作导入多少订单及订单号明细,操作打印了多少订单及订单号明细,操作揽收了多少订单号及订单号明细,系统上传揽收了多少订单号及订单号明细,操作签收了多少订单号及订单号明细,系统上传签收了多少订单号及订单号明细,包括非网络原因的失败信息。
其中,Mybatis拦截器配置具体如下:
根据实际的不同业务场景,选择配置各种场景下SQL语句监听物流订单表及物流订单状态表,即监听新增和更新操作中涉及到的物流订单和状态字段的操作,基于监控的内容配置Mybatis拦截器的操作如下:
配置KEYS数组对象,KEYS数组对象包含发送消息的属性字段,目的是监控系统执行的数据的属性是否包含KEYS里面的属性;
如:String KEYS={“orderld”,”orderStatus”};--orderld物流订单ID字段,orderStatus物流订单状态字段。
配置对应业务场景需求监听订单表和订单状态表新增和更新操作的SQL语句。
如:String regex_insert=”insert.+t_order_t.+orderStatus”;
--新增操作;
String regex_update=”update.+t_order_t.+orderStatus”;
--插入操作。
配置正则表达式规则;
如:
Pattern.compile(regex_insert,Pattern.CASE_INSENSITIVE|Pattern.DOTAIL);
Pattern.compile(regex_update,Pattern.CASE_INSENSITIVE|Pattern.DOTAIL)。
配置Spring发布和订阅事件:
如:eventPublisher.publishEvent(0rderStateEvent(order));--发布事件。
@TransactionalEventListener(phase=ransactionPhase.AFTER_COMMIT)
public void hanldeOrderStatusEvent(0rderStateEvent event);--订阅事件。
当用户通过Mybatis拦截器监控系统数据执行操作,判断用户发起的订单事务是否提交,若提交完成,则获取配置对应的业务场景的SQL语句;获取后,使用正则表达式判断执行SQL语句是否包含监听的对象,若包含了监听的对象,则从监听的对象里获取订单id值,再通过Spring的发布订阅模型(现有的)来发布和订阅事件。即通过TransactionaIEventListener实现事务的监听,当完成了事务提交操作后,才会去发送包含当前物流订单id和物流订单状态的topic消息(即当前物流订单的订单信息)。其中,物流订单状态包括导入、打印、(揽收、揽收上传)本次隐藏、订阅回传、分发、签收等状态;若否,则不处理。
本实施例通过上述Mybatis拦截器配置,只有当导入订单、打印订单、(揽收、揽收上传)订单、订阅回传、分发订单或签收订单等事务提交后,才会发送包含当前物流订单id和物流订单状态的topic消息,如此,可避免获取到因操作失误而取消或因未提交事务而保留的物流订单数据,提高物流订单状态数据的准确性。
在步骤S2中,对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计及展示。
在对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计时,可通过以下方式实现:
配置Canal监听物流订单数据变化,物流订单数据变化包括插入、更新和删除,将新增数据或变更数据发送到RocketMQ中;
监听物流订单变动数据,包括导入订单、打印订单、揽收订单及签收订单,变更实时获取;
将物流订单id、导入订单操作时间、导入订单数量写入导入统计表,订单数据初始化为0,统计状态更新为待统计;
将物流订单id、打印订单操作时间、打印订单数量写入打印统计表,订单数据初始化为0,统计状态更新为待统计;
将物流订单id、揽收订单操作时间、揽收订单数量写入揽收统计表,订单数据初始化为0,统计状态更新为待统计;
将物流订单id、签收订单操作时间、签收订单数量写入签收统计表,订单数据初始化为0,统计状态更新为待统计;
根据操作类型orderType更新对应统计表。
若操作类型orderType为1,则为导入订单操作,将导入订单相关信息写入导入统计表,其导入订单数量字段+1;
若操作类型orderType为2,则为打印订单操作,将打印订单相关信息写入打印统计表,其打印订单数量字段+1;
若操作类型orderType为3,则为揽收订单操作,将揽收订单相关信息写入揽收统计表,其揽收订单数量字段+1;
若操作类型orderType为4,则为签收订单操作,将签收订单相关信息写入签收统计表,其签收订单数量字段+1。
在实际应用中,服务器Canal组件建立Canal监听服务,监听mysql数据库的binglog日志,当Canal监听服务获取binglog日志,解析binglog日志后直接将解析数据发送给RocketMQ,其中RocketMQ作为中间件会将解析后的数据发送给数据处理模块进行数据的分类、统计处理,并生成统一API用于调用处理后的订单数据。
具体的,物流订单数据存储于mysql主数据库,本实施例利用Canal组件封装成一个监听服务,并伪装成生产环境中mysql主数据库的从服务,从服务发布同步命令到mysql主数据库时,mysql主数据库会将自身的二进制的binglog日志信息发送到通过Canal组件建立的Canal监听服务中,Canal监听服务获取二进制的binglog日志后进行解析,获取binglog日志中的关于物流订单数据的新增、更新和删除数据,并将物流订单数据的新增、更新和删除数据打包生成Json格式数据,并将所述Json格式数据发送给RocketMQ中间件,该RocketMQ中间件可以将Json格式数据发送给数据处理模块进行数据的分类、统计处理。
服务器利用数据处理模块对RocketMQ发送的订单数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计。根据操作类型orderType更新对应统计表,若操作类型orderType为1,则为导入订单操作,将导入订单相关信息写入导入统计表,其导入订单数量字段+1;若操作类型orderType为2,则为打印订单操作,将打印订单相关信息写入打印统计表,其打印订单数量字段+1;若操作类型orderType为3,则为揽收订单操作,将揽收订单相关信息写入揽收统计表,其揽收订单数量字段+1;若操作类型orderType为4,则为签收订单操作,将签收订单相关信息写入签收统计表,其签收订单数量字段+1。服务器实时更新各统计表的数据。
在步骤S3中,记录各节点每次操作的用户信息、操作的数量及操作时间,按时间顺序排列展示,统计当前时刻每个节点的操作总量,对比当前节点的操作总量与上一节点的操作总量,若不等,则提示当前节点存在n订单未处理;其中,n=上一节点的操作总量-当前节点的操作总量。
获取当前时刻导入统计表中导入订单数量值、打印统计表中打印订单数量值、揽收统计表中揽收订单数量值、揽收上传统计表中揽收上传订单数量值、订阅回传统计表中订阅回传订单数量值、分发统计表中分发订单数量值、签收统计表中签收订单数量值,分别比较打印订单数量值与导入订单数量值的大小、揽收订单数量值与打印订单数量值的大小、揽收上传订单数量值与揽收订单数量值的大小、订阅回传订单数量值与揽收上传订单数量值的大小、分发订单数量值与订阅回传订单数量值的大小、签收订单数量值与分发订单数量值的大小,若出现不相等,则对数量值小的节点标红,并进行气泡提示。如,打印【存在n单未打印】、揽收【存在n单未揽收】、揽收上传【存在n单未揽收上传】、订阅回传【存在n单未订阅回传】、分发【存在n单未分发】、签收【存在n单未签收】。
本实施例通过监听物流系统对物流订单的操作信息,获取包括导入订单、打印订单、揽收订单及签收订单在内的节点链路流转数据;对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计及展示;记录各节点每次操作的数量及操作时间,按时间顺序排列展示,统计当前时刻每个节点的操作总量,对比当前节点的操作总量与上一节点的操作总量,若不等,则提示当前节点存在n订单未处理。从而加快物流订单的处理进度,提高物流效率。
实施例二
本实施例提供了一种物流订单的状态跟踪装置,请参看图2,该装置包括:
数据监听模块1,用于服务器监听物流系统对物流订单的操作信息,获取包括导入订单、打印订单、揽收订单及签收订单在内的节点链路流转数据;
数据处理模块2,用于对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计及展示;
提示模块3,用于记录各节点每次操作的数量及操作时间,按时间顺序排列展示,统计当前时刻每个节点的操作总量,对比当前节点的操作总量与上一节点的操作总量,若不等,则提示当前节点存在n订单未处理;其中,n=上一节点的操作总量-当前节点的操作总量。
其中,数据监听模块1被配置为用于配置Mybatis拦截器的物流订单表和物流订单状态表新增和更新操作的SQL语句;通过Mybatis拦截器监控物流系统对物流订单的执行数据操作;若监控到物流系统执行数据操作,并判断数据是否执行完成;若完成,则基于监控的数据、映射到预先配置的物流订单表和物流订单状态表的新增和更新操作的SQL语句;映射后,执行SQL语句完成物流订单及订单状态数据的获取。
该数据监听模块1还可配置为通过Canal组件建立Canal监听服务,监听物流订单mysql数据库的binglog日志,当Canal监听服务获取binglog日志,解析binglog日志后直接将解析数据发送给RocketMQ,完成物流订单及订单状态数据的获取。
数据处理模块2接收数据监听模块1监听的物流订单变动数据,包括导入订单、打印订单、揽收订单及签收订单,变更实时获取;
将物流订单id、导入订单操作时间、导入订单数量写入导入统计表,订单数据初始化为0,统计状态更新为待统计;
将物流订单id、打印订单操作时间、打印订单数量写入打印统计表,订单数据初始化为0,统计状态更新为待统计;
将物流订单id、揽收订单操作时间、揽收订单数量写入揽收统计表,订单数据初始化为0,统计状态更新为待统计;
将物流订单id、签收订单操作时间、签收订单数量写入签收统计表,订单数据初始化为0,统计状态更新为待统计;
根据操作类型orderType更新对应统计表。
若操作类型orderType为1,则为导入订单操作,将导入订单相关信息写入导入统计表,其导入订单数量字段+1;
若操作类型orderType为2,则为打印订单操作,将打印订单相关信息写入打印统计表,其打印订单数量字段+1;
若操作类型orderType为3,则为揽收订单操作,将揽收订单相关信息写入揽收统计表,其揽收订单数量字段+1;
若操作类型orderType为4,则为签收订单操作,将签收订单相关信息写入签收统计表,其签收订单数量字段+1。
提示模块3则获取当前时刻导入统计表中导入订单数量值、打印统计表中打印订单数量值、揽收统计表中揽收订单数量值、揽收上传统计表中揽收上传订单数量值、订阅回传统计表中订阅回传订单数量值、分发统计表中分发订单数量值、签收统计表中签收订单数量值,分别比较打印订单数量值与导入订单数量值的大小、揽收订单数量值与打印订单数量值的大小、揽收上传订单数量值与揽收订单数量值的大小、订阅回传订单数量值与揽收上传订单数量值的大小、分发订单数量值与订阅回传订单数量值的大小、签收订单数量值与分发订单数量值的大小,若出现不相等,则对数量值小的节点标红,并进行气泡提示。如,打印【存在n单未打印】、揽收【存在n单未揽收】、揽收上传【存在n单未揽收上传】、订阅回传【存在n单未订阅回传】、分发【存在n单未分发】、签收【存在n单未签收】。
实施例三
本实施例提供了一种物流订单的状态跟踪设备。请参看图3,该物流订单的状态跟踪设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对物流订单的状态跟踪设备500中的一系列指令操作。
进一步,处理器510可以设置为与存储介质530通信,在物流订单的状态跟踪设备500上执行存储介质530中的一系列指令操作。
物流订单的状态跟踪设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线的网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve、Vista等等。
本领域技术人员可以理解,图3示出的物流订单的状态跟踪设备结构并不构成对物流订单的状态跟踪设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明的另一实施例还提供了一种计算机可读存储介质。
该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质。该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行实施例一中的物流订单的状态跟踪方法的步骤。
物流订单的状态跟踪方法如果以程序指令的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件的形式体现出来,该计算机软件存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-only memory,ROM)、随机存取存储器(Random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述得方便和简洁,上述描述的系统及设备的具体执行的识别内容,可以参考前述方法实施例中的对应过程。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式。即使对本发明作出各种变化,倘若这些变化属于本发明权利要求及其等同技术的范围之内,则仍落入在本发明的保护范围之中。
Claims (10)
1.一种物流订单的状态跟踪方法,其特征在于,包括:
服务器监听物流系统对物流订单的操作信息,获取包括导入订单、打印订单、揽收订单及签收订单在内的节点链路流转数据;
对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计及展示;
记录各节点每次操作的用户信息、操作的数量及操作时间,按时间顺序排列展示,统计当前时刻每个节点的操作总量,对比当前节点的操作总量与上一节点的操作总量,若不等,则提示当前节点存在n订单未处理;其中,n=上一节点的操作总量-当前节点的操作总量。
2.如权利要求1所述的物流订单的状态跟踪方法,其特征在于,所述服务器监听物流系统对物流订单的操作信息进一步包括:
配置Mybatis拦截器的物流订单表和物流订单状态表新增和更新操作的SQL语句;
配置好后,通过Mybatis拦截器监控物流系统对物流订单的执行数据操作;
若监控到物流系统执行数据操作,并判断数据是否执行完成;
若完成,则基于监控的数据,映射到预先配置的物流订单表和物流订单状态表的新增和更新操作的SQL语句;
映射后,执行SQL语句完成物流订单及订单状态数据的获取。
3.如权利要求2所述的物流订单的状态跟踪方法,其特征在于,所述配置Mybatis拦截器的物流订单表和物流订单状态表新增和更新操作的SQL语句进一步包括:
监控新增和更新操作中涉及到的物流订单和订单状态字段的操作,基于监控的内容配置Mybatis拦截器的操作如下:
配置KEYS数组对象,KEYS数组对象包含发送消息的属性字段,目的是监控物流系统执行的数据的属性是否包含KEYS里面的属性;
配置不同业务场景需求下,监听物流订单表和物流订单状态表新增和更新操作的SQL语句;
配置正则表达式规则;
配置Spring发布和订阅事件。
4.如权利要求3所述的物流订单的状态跟踪方法,其特征在于,所述基于监控的内容配置Mybatis拦截器的操作之后包括:
当用户通过物流系统执行操作时,Mybatis拦截器判断用户发起的订单事务是否提交;
若提交完成,则获取配置对应的业务场景的SQL语句;
获取后,使用正则表达式判断执行SQL语句是否包含监听的对象,若包含了监听的对象,则从监听的对象里获取物流订单id值,再通过Spring的发布订阅模型来发布和订阅事件。
5.如权利要求1所述的物流订单的状态跟踪方法,其特征在于,所述对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计进一步包括:
配置Canal监听物流订单数据变化,物流订单数据变化包括插入、更新和删除,将新增数据或变更数据发送到RocketMQ中;
监听物流订单变动数据,包括导入订单、打印订单、揽收订单及签收订单,变更实时获取;
将物流订单id、导入订单操作时间、导入订单数量写入导入统计表,订单数据初始化为0,统计状态更新为待统计;
将物流订单id、打印订单操作时间、打印订单数量写入打印统计表,订单数据初始化为0,统计状态更新为待统计;
将物流订单id、揽收订单操作时间、揽收订单数量写入揽收统计表,订单数据初始化为0,统计状态更新为待统计;
将物流订单id、签收订单操作时间、签收订单数量写入签收统计表,订单数据初始化为0,统计状态更新为待统计;
根据操作类型orderType更新对应统计表。
6.如权利要求5所述的物流订单的状态跟踪方法,其特征在于,所述根据操作类型orderType更新对应统计表进一步包括:
若操作类型orderType为1,则为导入订单操作,将导入订单相关信息写入导入统计表,其导入订单数量字段+1;
若操作类型orderType为2,则为打印订单操作,将打印订单相关信息写入打印统计表,其打印订单数量字段+1;
若操作类型orderType为3,则为揽收订单操作,将揽收订单相关信息写入揽收统计表,其揽收订单数量字段+1;
若操作类型orderType为4,则为签收订单操作,将签收订单相关信息写入签收统计表,其签收订单数量字段+1。
7.一种物流订单的状态跟踪装置,其特征在于,包括:
数据监听模块,用于服务器监听物流系统对物流订单的操作信息,获取包括导入订单、打印订单、揽收订单及签收订单在内的节点链路流转数据;
数据处理模块,用于对获取的节点链路流转数据按导入订单节点、打印订单节点、揽收订单节点及签收订单节点进行分类、统计及展示;
提示模块,用于记录各节点每次操作的用户信息、操作的数量及操作时间,按时间顺序排列展示,统计当前时刻每个节点的操作总量,对比当前节点的操作总量与上一节点的操作总量,若不等,则提示当前节点存在n订单未处理;其中,n=上一节点的操作总量-当前节点的操作总量。
8.如权利要求7所述的物流订单的状态跟踪装置,其特征在于,所述数据监听模块用于配置Mybatis拦截器的物流订单表和物流订单状态表新增和更新操作的SQL语句;通过Mybatis拦截器监控物流系统对物流订单的执行数据操作;若监控到物流系统执行数据操作,并判断数据是否执行完成;若完成,则基于监控的数据、映射到预先配置的物流订单表和物流订单状态表的新增和更新操作的SQL语句;映射后,执行SQL语句完成物流订单及订单状态数据的获取。
9.一种物流订单的状态跟踪设备,其特征在于,包括:存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至6中任意一项所述的物流订单的状态跟踪方法中的步骤。
10.一种存储有计算机可读指令的存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6中任意一项所述的物流订单的状态跟踪方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210852674.9A CN115293685A (zh) | 2022-07-20 | 2022-07-20 | 物流订单的状态跟踪方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210852674.9A CN115293685A (zh) | 2022-07-20 | 2022-07-20 | 物流订单的状态跟踪方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115293685A true CN115293685A (zh) | 2022-11-04 |
Family
ID=83824083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210852674.9A Pending CN115293685A (zh) | 2022-07-20 | 2022-07-20 | 物流订单的状态跟踪方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115293685A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116151542A (zh) * | 2022-11-30 | 2023-05-23 | 上海韵达高新技术有限公司 | 物流订单实时监控方法、装置、设备及存储介质 |
-
2022
- 2022-07-20 CN CN202210852674.9A patent/CN115293685A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116151542A (zh) * | 2022-11-30 | 2023-05-23 | 上海韵达高新技术有限公司 | 物流订单实时监控方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10339038B1 (en) | Method and system for generating production data pattern driven test data | |
WO2022126983A1 (zh) | 电子报表文件导出方法、装置、设备及存储介质 | |
CN110489699B (zh) | 一种异步数据采集方法及系统 | |
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
CN106933836B (zh) | 一种基于分表的数据存储方法和系统 | |
US10701213B2 (en) | Dynamically generating an aggregation routine | |
CN115544183B (zh) | 数据可视化方法、装置、计算机设备和存储介质 | |
CN107016115B (zh) | 数据导出方法、装置、计算机可读存储介质及电子设备 | |
CN111008521A (zh) | 生成宽表的方法、装置及计算机存储介质 | |
CN111274256A (zh) | 基于时序数据库的资源管控方法、装置、设备及存储介质 | |
CN113204598A (zh) | 一种数据同步方法、系统及存储介质 | |
CN111259648A (zh) | 基于多数据源的保单数据智能解析方法和系统 | |
CN114185895A (zh) | 数据导入导出方法、装置、电子设备及存储介质 | |
CN115293685A (zh) | 物流订单的状态跟踪方法、装置、设备和存储介质 | |
US11816163B2 (en) | Systems and methods for improved transactional mainframes | |
WO2022179122A1 (zh) | 基于大数据的数据存储方法、装置、电子设备及存储介质 | |
US9507837B2 (en) | Reference data segmentation from single to multiple tables | |
CN107392560A (zh) | 一种基于互联网的Excel表格数据发布采集方法及系统 | |
CN111858617A (zh) | 用户查找方法和装置、计算机可读存储介质、电子设备 | |
CN115481026A (zh) | 测试案例的生成方法、装置、计算机设备、存储介质 | |
CN111581213B (zh) | 信息记录方法、装置、以及设备 | |
US11709726B2 (en) | Error dynamics analysis | |
CN114168624A (zh) | 数据分析方法、计算设备及存储介质 | |
CN114386853A (zh) | 基于通用审核模型的数据审核处理方法、装置及设备 | |
CN114547106A (zh) | 数据查询方法及装置、存储介质、计算机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |