一种订单监控方法、服务器及存储介质
技术领域
本发明涉及监控
技术领域
,特别涉及一种订单监控方法、服务器及存储介质。背景技术
近年来,随着生活水平的提高,大型的电子商务平台丰富多样的业务形态决定了其有较长的订单履约链路,从客户下单到客户签收,中间包含多个环节。
在订单履约过程中,由于订单的类型、商品品类、仓库类型等固有因素以及履约过程中可能出现的地址变更、商品拒收、物流丢包等不可确定性的因素,造成了履约过程的复杂、分支多样。在履约中出现中断而造成订单无法自行流转时,业务人员需要通过监控系统对业务系统中的订单履约流程进行监控,定位中断的节点,分析中断的原因,调整业务系统中的异常数据,让流程继续流转。而这个过程,往往会很复杂,获取故障的原因往往需要分析上游多个节点的类型和数据。另外,即使订单履约过程执行完毕后,也会通过监控系统回看整个业务系统的订单履约流程需求,供流程人员进行流程优化。
目前,现有的技术手段为监控系统采用订单监控方法对订单履约流程进行监控;具体地,在订单履约流程运转前,监控系统采取侵入式的监控方式对业务系统的订单履约流程进行监控;具体地,在每个节点流转时,获取节点对应的节点数据。首先,采用上述方式对业务系统进行监控时,会使业务系统中的订单履约流程的节点与监控系统严重耦合,从而造成业务复杂,迭代困难;其次,侵入式的监控方式一成不变,无法适应多变的现实情况,流程在不断变化、节点数据的维度也会不断变化,这造成监控系统需要不断的更新,从而导致监控系统的工作效率低。
发明内容
本发明提供一种订单监控方法、服务器及存储介质,可以提高订单监控的工作效率。
第一方面,本发明实施例提供一种订单监控方法,该方法包括:
根据目标订单的订单类型,确定所述目标订单对应的订单履约流程;
获取所述目标订单对应的订单履约流程中各个节点的节点配置信息;
根据所述各个节点的节点配置信息,获取所述目标订单的履约过程包含的各个目标节点的节点数据;所述各个目标节点为所述订单履约流程中的部分节点或全部节点;
根据所述各个目标节点的节点数据,输出所述目标订单对应的订单履约信息。
由于本发明实施例根据订单履约流程中各个节点的节点配置信息,获取目标订单的订单履约过程包含的各个目标节点的节点数据,并根据确定出的各个目标节点的节点数据,输出目标订单对应的订单履约信息,实现了业务人员对目标订单的订单履约过程实时掌握,实现过程管理、辅助故障排查,从而提高了订单监控的工作效率。
一种可选的实施方式为,所述根据所述各个节点的节点配置信息,获取所述目标订单的履约过程包含的各个目标节点的节点数据,包括:
根据所述各个节点的节点配置信息,确定所述订单履约流程中各个节点的履约顺序;
根据所述履约顺序,确定所述订单履约流程的起始节点,并将所述起始节点作为当前节点,针对所述当前节点采用循环方式执行以下操作,直至将所述订单履约流程的结束节点作为当前节点为止;其中,一次循环过程包括:
将所述当前节点添加为目标节点;
根据所述当前节点的节点配置信息,获取所述当前节点的节点数据;
根据所述履约顺序,确定所述当前节点对应的下一节点,并将所述下一节点作为新的当前节点。
由于本发明实施例根据各个节点的节点配置信息,确定订单履约流程中各个节点的履约顺序,进而确定订单履约流程中的起始节点;将起始节点作为当前节点,循环执行将当前节点添加为目标节点,并根据当前节点的节点配置信息,获取当前节点的节点数据;然后根据履约顺序,确定当前节点对应的下一节点,并将下一节点作为新的当前节点的操作,直至将结束节点作为当前节点位置,从而实现对目标订单的订单履约流程中的各个目标节点的监控。
一种可选的实施方式为,所述根据所述当前节点的节点配置信息,获取所述当前节点的节点数据,包括:
根据所述当前节点的节点配置信息,确定所述当前节点的触发方式;
若所述当前节点的触发方式为心跳触发方式,则根据所述当前节点的节点配置信息中的数据请求信息,确定所述当前节点对应的至少一个数据请求,并通过业务系统中各个数据请求对应的数据请求接口,依次获得各个数据请求的返回值;
若所述当前节点的触发方式为被动调用方式,则接收所述业务系统发送的返回值;所述返回值为所述业务系统调用所述当前节点的数据请求对应的数据请求接口得到的返回值;
根据所述返回值,确定所述当前节点的节点数据。
由于本发明实施例根据当前节点的触发方式,通过业务系统中各个数据请求对应的数据请求接口,依次获得各个数据请求的返回值,或者,接收业务系统发送的通过调用数据请求对应的数据请求接口得到的返回值,实现了与业务系统解耦,无需与业务系统耦接获取返回值,从而提高了订单监控和业务系统的工作效率。
一种可选的实施方式为,所述根据所述返回值,确定所述当前节点的节点数据,包括:
根据所述节点配置信息,确定所述目标节点对应的数据处理逻辑;所述数据处理逻辑包括各个数据请求对应的执行变量;
分别采用各个数据请求的返回值替换所述数据处理逻辑中对应的执行变量;
执行所述数据处理逻辑,并将所述数据处理逻辑的执行结果作为所述当前节点的节点数据。
由于本发明实施例将各个数据请求的返回值替换数据处理逻辑中对应的执行变量,并执行数据处理逻辑,将得到的执行结果作为当前节点的节点数据,实现数据请求的返回值到节点数据的转换。
一种可选的实施方式为,在将所述数据处理逻辑的执行结果作为所述当前节点的节点数据之后,所述方法还包括:
根据所述当前节点的节点数据,确定所述当前节点是否异常;
若是,则根据所述当前节点的节点配置信息,确定所述当前节点的触发方式;
若所述触发方式为心跳触发方式,且所述当前节点的数据处理逻辑的执行次数大于预设阈值,则输出告警信息;
若所述触发方式为心跳触发方式,且所述当前节点的数据处理逻辑的执行次数小于或等于所述预设阈值,则重新执行所述当前节点的数据处理逻辑,确定所述当前节点的节点数据,直至确定所述当前节点无异常或所述数据处理逻辑的执行次数大于所述预设阈值为止;
若所述触发方式为被动调用方式,则等待接收所述业务系统发送的返回值,并根据所述返回值确定所述当前节点的节点数据,重复执行根据所述当前节点的节点数据,确定所述当前节点是否异常的步骤,直至确定所述当前节点无异常为止。
由于本发明实施例在确定当前节点异常后,确定当前节点的触发方式;根据确定出的触发方式,继续获取当前节点的节点数据,直至确定当前节点无异常,或确定数据处理逻辑的执行次数大于预设阈值,发出告警,实现当前节点的异常判断。
一种可选的实施方式为,所述根据所述履约顺序,确定所述当前节点对应的下一节点,包括:
若根据所述履约顺序确定所述当前节点对应的下一级节点包括多个分支节点,则根据所述当前节点的节点数据,以及各个所述分支节点的节点配置信息,从各个所述分支节点中确定所述当前节点的下一节点。
由于本发明实施例根据履约顺序,确定当前节点的下一级节点包含多个分支节点,然后,根据当前节点的节点数据,以及各个分支节点的节点配置信息,从各个分支节点中选取当前节点的下一节点,实现当前节点的下一节点的确定,从而实现订单履约流程的顺序执行。
一种可选的实施方式为,所述根据所述当前节点的节点数据,以及各个所述分支节点的节点配置信息,从各个所述分支节点中确定所述当前节点的下一节点,包括:
将所述当前节点的节点数据分别与各个所述分支节点的节点配置信息中的分支规则进行匹配;
将匹配成功的分支规则对应的分支节点作为所述当前节点的下一节点。
由于本发明实施例将节点数据与各个分支节点的分支规则进行匹配,并将匹配成功的分支规则对应的分支节点作为当前节点的下一节点,从而准确地确定当前节点的下一节点。
第二方面,本发明实施例提供一种服务器,包括存储器和处理器;
所述存储器,用于存储有可在所述处理器上运行的计算机程序;
所述处理器,用于根据目标订单的订单类型,确定所述目标订单对应的订单履约流程;获取所述目标订单对应的订单履约流程中各个节点的节点配置信息;根据所述各个节点的节点配置信息,获取所述目标订单的履约过程包含的各个目标节点的节点数据;所述各个目标节点为所述订单履约流程中的部分节点或全部节点;根据所述各个目标节点的节点数据,输出所述目标订单对应的订单履约信息。
第三方面,本发明实施例还提供一种订单监控装置,包括:
确定单元,用于根据目标订单的订单类型,确定所述目标订单对应的订单履约流程;
第一获取单元,用于获取所述目标订单对应的订单履约流程中各个节点的节点配置信息;
第二获取单元,用于根据所述各个节点的节点配置信息,获取所述目标订单的履约过程包含的各个目标节点的节点数据;所述各个目标节点为所述订单履约流程中的部分节点或全部节点;
输出单元,用于根据所述各个目标节点的节点数据,输出所述目标订单对应的订单履约信息。
第四方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面所记载的订单监控方法。
第二方面至第四方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种订单监控方法的应用场景示意图;
图2为本发明实施例提供的一种订单监控方法的流程示意图;
图3为本发明实施例提供的一种节点创建界面的示意图;
图4为本发明实施例提供的一种确定当前节点是否异常的方法的流程示意图;
图5为本发明实施例提供的一种分支节点和分支规则的示意图;
图6为本发明实施例提供的一种确定下一节点的方法流程示意图;
图7为本发明实施例提供的一种显示界面的示意图;
图8为本发明实施例提供的一种显示界面的示意图;
图9为本发明实施例提供的一种订单监控方法的完整流程示意图;
图10为本发明实施例提供的一种服务器的结构框图;
图11为本发明实施例提供的一种订单监控装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面对文中出现的一些词语进行解释:
心跳触发方式:是指当前节点的获取数据请求的返回值的获取和数据处理逻辑是通过定时器,定时触发。定时器触发的前提是,当前节点的节点状态是等待执行、执行失败(并且数据处理逻辑的执行次数没有超出限制值)。
被动调用方式:是指当前节点的获取数据请求的返回值和数据处理逻辑是通过被动调用触发的,具体地,只要业务系统调用了当前节点的数据请求对应的数据请求接口,即可被动的接收业务系统发送的返回值。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本发明实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
目前,现有的订单监控方法为:在订单履约流程运转前,监控系统采取侵入式的监控方式对业务系统的订单履约流程进行监控;具体地,在每个节点流转时,获取节点对应的节点数据。首先,采用上述方式对业务系统进行监控时,会使业务系统与监控系统严重耦合,从而造成业务复杂,迭代困难;其次,侵入式的监控方式一成不变,无法适应多变的现实情况,流程在不断变化、节点数据的维度也会不断变化,这造成监控系统需要不断的更新,从而导致监控系统的工作效率低。
基于上述问题,本发明实施例提供一种订单监控方法、服务器和存储介质,提高订单监控的工作效率。其中,该订单推荐方法包括:根据目标订单的订单类型,确定目标订单对应的订单履约流程,并获取订单履约流程中各个节点的节点配置信息;然后,根据各个节点的节点配置信息,获取目标订单的履约过程包含的各个目标节点的节点数据;并根据各个目标节点的节点数据,输出目标订单对应的订单履约信息,从而实现了用户对目标订单履约过程的实时掌握,实现过程管理、辅助故障排查,进而提高订单监控的工作效率。
图1示出了本发明实施例提供的订单监控方法的一种应用场景,参见图1所示,该应用场景中包括终端设备10、业务设备20和服务器30。终端设备10、业务设备20和服务器30之间可以通过有线连接方式或无线连接方式进行连接并传输数据。例如,终端设备10、业务设备20和服务器30之间可以通过数据线连接或者通过有线网络连接;终端设备10、业务设备20和服务器30之间也可以通过射频模块、蓝牙模块或者无线网络连接。
其中,终端设备10可以是手机、掌上电脑(Personal Digital Assistant,PDA)、平板电脑等。例如,终端设备10上可以安装订单监控相关的应用。业务设备20可以为服务器,用以执行目标订单的履约过程的业务系统。服务器30,用以执行本发明实施例提供的订单监控方法的监控系统。
服务器30获取业务设备20中的目标订单,并根据目标订单的订单类型,确定目标订单对应的订单履约流程;服务器30获取订单履约流程中各个节点的节点配置信息,并根据各个节点的节点配置信息,从业务设备20中获取各个目标节点的节点数据。或者,服务器30接收业务设备发送的各个目标节点的节点数据。服务器30根据各个目标节点的节点数据后,输出目标订单对应的订单履约信息。终端设备10向服务器30发送获取订单履约信息的获取请求,服务器30在接收到获取请求后,将订单履约信息发送给终端设备10,以使终端设备10根据接收到的订单履约信息在订单监控的相关界面中进行展示。
如图2所示,本发明实施例提供一种订单监控方法,应用于服务器,包括以下步骤:
步骤S201,根据目标订单的订单类型,确定目标订单对应的订单履约流程。
本发明实施例在获取到目标订单后,根据目标订单的订单类型,基于预设的订单类型与订单履约流程的对应关系,确定目标订单对应的订单履约流程。
在一些实施例中,服务器从业务设备中获取初始订单后,根据服务器中已存在的目标订单,确定初始订单中不存在于已存在目标订单中的初始订单,并将确定出的初始订单作为目标订单;确定目标订单的订单类型,并根据预先存储于服务器中的订单类型与订单履约流程的对应关系,确定目标订单对应的订单履约流程。
在一些实施例中,本发明实施例可通过终端设备建立订单履约流程与订单类型的对应关系;然后,本发明实施例通过终端设备将建立好的订单类型与订单履约流程的对应关系存储于服务器中。
步骤S202,获取目标订单对应的订单履约流程中各个节点的节点配置信息。
本发明实施例基于预先存储的订单履约流程,获得目标订单对应的订单履约流程中各个节点的节点配置信息。
步骤S203,根据各个节点的节点配置信息,获取目标订单的履约过程包含的各个目标节点的节点数据。
需要说明的是,各个目标节点为订单履约流程中的部分节点或全部节点。
本发明实施例根据各个节点的节点配置信息,确定目标订单对应的订单履约流程中各个节点的履约顺序;并根据履约顺序,依次执行订单履约流程中的各个节点。
在一些实施例中,本发明实施例将订单履约流程中被执行的节点作为目标节点。然后,本发明实施例根据目标节点的节点配置信息,确定目标节点的节点数据。
步骤S204,根据各个目标节点的节点数据,输出目标订单对应的订单履约信息。
在一些实施例中,本发明实施例根据各个目标节点的节点数据,确定目标订单对应的订单履约信息,然后,将得到的订单履约信息发送给终端设备,以使终端设备根据接收到的订单履约信息,在对应的显示界面中显示目标订单的订单履约信息,供用户查看。
由于本发明实施例根据订单履约流程中各个节点的节点配置信息,获取目标订单的订单履约过程包含的各个目标节点的节点数据,并根据确定出的各个目标节点的节点数据,输出目标订单对应的订单履约信息,实现了业务人员对目标订单的订单履约过程实时掌握,实现过程管理、辅助故障排查,从而提高了订单监控的工作效率。
在一些实施例中,本发明实施例可通过下列方式建立订单类型与订单履约流程的对应关系。
实施中,本发明实施例根据订单类型,确定订单类型对应的订单在履约过程中经历的所有节点;并根据确定出的节点,建立订单履约流程。
例如,订单类型为电视订单,确定电视订单在履约过程中经历的所有节点为A、B、C、D;根据确定出的节点A、B、C、D,建立电视订单对应的订单履约流程为A-B-C-D。
具体实施中,本发明实施例根据订单类型,创建订单在履约过程中经历的所有节点对应的节点配置信息,从而建立订单类型对应的订单履约流程。
需要说明的是,每个节点的节点配置信息包括但不限于:节点名称、节点编码、节点标题、所属订单履约流程、详情html、健康规则、上一节点、分支规则、触发方式、执行次数限制、数据请求信息、数据处理逻辑。
其中,数据请求信息用于描述监控系统在该节点处所执行的数据请求,以及执行数据请求时所调用的业务系统中的数据请求接口。其中,数据请求信息包括但不限于:数据请求名称、数据请求URL、数据请求参数、数据请求方式。业务系统为订单对应的履约系统。
触发方式,用于描述监控系统获取节点对应的节点数据的方式。具体地,触发方式包括但不限于:心跳触发方式和被动调用方式。
数据处理逻辑,用于描述该节点的数据处理,以获取能够显示的节点数据。具体地,本发明实施例中的监控系统可基于数据处理逻辑,对数据请求对应的返回值,进行处理,获取一组可以用于显示的节点数据。
需要说明的是,数据处理逻辑中包含各个数据请求对应的执行变量。
例如,本发明实施例订单发货节点对应的数据处理逻辑可以设置为:
result.healthStatus=param1.packageNo<>null&¶m1.packageReceiveTime<>null;
result.packageNo=param1.packageNo;
result.ReceiveTime=param1.packageReceiveTime;
result.packageReceiveUserName=param1.packageReceiveUserName;
其中,param1是指数据请求对应的执行变量,如果该节点是通过心跳方式触发,那么应用场景即为:定期的去调用业务系统的某个发货状态接口,并且把数据请求返回的内容作为param1,交给数据处理逻辑;result是指执行数据处理逻辑得到的执行结果,该执行结果作为该节点对应的节点数据,表示该节点是否健康,或者有哪些信息。
详情html,用于供用户使用的html脚本,描述要显示的数据信息。
例如,用户可将节点对应的节点配置信息中的详情html,配置为:
<span color='red'>$result.healthStatus</span>
<span>$packageNo</span>
<span>$packageReceiveUserName</span>;
用于描述该节点需要显示的信息:异常节点显示为红色、包裹编号、包裹接收用户姓名。
上一节点,用于确定当前节点对应的上一节点,将各个节点连接起来,组成订单履约流程。并且,本发明实施例可根据各个节点的上一节点信息,确定订单履约流程中各个节点的履约顺序。
分支规则,用于描述订单履约流程中节点与下一节点之间的承转关系。具体地,本发明实施例在创建订单履约流程时,需要定义订单履约流程中的节点与下一个节点之间的执行过程的前后关系,即需要定义分支规则。
在一些实施例中,本发明实施例在配置节点配置信息时,还需设置节点数据中需要展示的数据请求参数,以使在获取到节点对应的节点数据时,可直接根据数据请求参数获取对应的节点数据。
例如,通过将数据请求参数设置为param1.orderCode,获取数据请求1对应的返回值中的"LS11800"值。通过将数据请求参数设置为param1.address.city,获取数据请求1对应的返回值中的"青岛市"的值。因此节点的数据请求1对应的数据请求参数的定义中,只需要类似param1.address.city的形式,即可定义要显示的请求1对应的数据请求参数。
在一些实施例中,本发明实施例可通过节点创建界面,输入节点对应的节点配置信息,完成订单履约流程中节点的创建。
例如,如图3所示,本发明实施例可通过节点创建界面设置订单履约流程中各个节点对应的节点配置信息,从而完成订单履约流程的创建。用户在输入数据请求信息时,可通过触发“添加请求”按键,增加数据请求对应的数据请求信息编辑框。
本发明实施例通过节点创建界面,创建订单履约流程中各个节点对应的配置信息,完成订单履约流程的建立的同时,基于各个节点对应的节点配置信息中对应的订单类型,建立订单类型与订单履约流程的对应关系。
在一些实施例中,本发明实施例可通过终端设备的节点创建界面,创建订单履约流程,并建立订单类型与订单履约流程的对应关系。然后,本发明实施例将终端设备建立的订单类型与订单履约流程的对应关系,发送给服务器,以使服务器存储订单类型与订单履约流程的对应关系。
在另一些实施例中,本发明实施例可通过服务器对应的节点创建界面,创建订单履约流程,并建立订单类型与订单履约流程的对应关系。
本发明实施例可直接获取业务系统中的订单,并从获取到的订单中,确定目标订单;或者,本发明实施例可接收业务系统中增加的订单,并将接收到的订单作为目标订单。
在一些实施例中,本发明实施例获取目标订单后,确定目标订单的订单类型;根据目标订单的订单类型,确定目标订单对应的订单履约流程。
具体实施中,本发明实施例根据预设的订单类型与订单履约流程的对应关系,确定目标订单对应的订单履约流程。
例如,本发明实施例获取到的目标订单为01889176,确定目标订单01889176的订单类型为电视订单;基于预设的订单类型与订单履约流程的对应关系,确定电视订单对应的订单履约流程,并将该订单履约流程作为目标订单01889176对应的订单履约流程。
在一些实施例中,本发明实施例在确定出目标订单对应的订单履约流程后,获取目标订单对应的订单履约流程中的各个节点的节点配置信息。
本发明实施例根据各个节点的节点配置信息,获取目标订单的履约过程包含的各个目标节点的节点数据。
在一些实施例中,本发明实施例可通过下列方式确定各个目标节点的节点数据。
实施中,本发明实施例根据确定出的各个节点的节点配置信息,确定订单履约流程中各个节点的履约顺序。
在一些实施例中,本发明实施例根据各个节点的上一节点,确定订单履约流程中各个节点的履约顺序。
例如,订单履约流程包含的各个节点分别为节点A、节点B、节点C、节点D;其中,节点A的上一节点为节点B,节点B无上一节点,节点C的上一节点为节点D,节点D的上一节点为节点A,则订单履约流程中各个节点的履约顺序为节点B-节点A-节点D-节点C。
在一些实施例中,本发明实施例在确定出订单履约流程中各个节点的履约顺序后,根据履约顺序,确定订单履约流程的起始节点,并将起始节点作为当前节点。
在一些实施例中,本发明实施例针对当前节点采用循环方式执行以下操作,直至将订单履约流程的结束节点作为当前节点为止;
其中,一次循环过程包括:
将当前节点添加为目标节点;
根据当前节点的节点配置信息,获取当前节点的节点数据;
根据履约顺序,确定当前节点对应的下一节点,并将下一节点作为新的当前节点。
需要说明的是,当前节点为订单履约流程在执行过程中,执行状态为等待执行的节点。
具体实施中,本发明实施例可根据下列方式获取当前节点的节点数据。
本发明实施例根据当前节点的节点配置信息,确定当前节点的触发方式。
在一些实施例中,若当前节点的触发方式为心跳触发方式,则根据当前节点的节点配置信息中的数据请求信息,确定当前节点对应的至少一个数据请求,并通过业务系统的各个数据请求对应的数据请求接口,依次获得各个数据请求的返回值。
具体实施中,本发明实施例可根据当前节点对应的数据请求,直接调用数据请求在业务系统中对应的数据请求接口,获取数据请求对应的返回值。
例如,本发明实施例可通过执行数据请求,直接调用业务系统中对应的数据请求接口,获取数据请求对应的返回值,如下所示:
在一些实施例中,本发明实施例根据节点配置信息中的数据请求信息,确定数据请求的执行顺序,根据确定出的执行顺序依次执行数据请求,依次调用各个数据请求在业务系统中对应的数据请求接口,获取各个数据请求的返回值。
例如,节点A对应的节点配置信息中的数据请求为数据请求1、数据请求2、数据请求3;根据数据请求对应的数据请求信息,确定3个数据请求的执行顺序为数据请求1、数据请求2、数据请求3;依次执行数据请求1、数据请求2、数据请求3,获取数据请求1对应的返回值、数据请求2对应的返回值、数据请求3对应的返回值。需要说明的是,如图3所示,根据数据请求信息中的在配置数据请求的数据请求信息时,数据请求对应的数据请求信息编辑框的编号,确定数据请求的执行顺序。
在另一些实施例中,若当前节点的触发方式为被动调用方式,则接收业务系统发送的返回值。
需要说明的是,返回值为业务系统调用当前节点的数据请求对应的数据请求接口得到的返回值。
具体实施中,在目标订单的履约过程中,业务系统调用了当前节点对应的数据请求对应的数据请求接口时,将获取到的返回值发送给监控系统;监控系统的当前节点接收业务系统发送返回值。
例如,当前节点对应的数据请求为数据请求1,其中,数据请求1对应的数据请求接口为a、b;当业务系统调用数据请求接口a、b后,将得到的返回值发送给监控系统的当前节点,作为数据请求1的返回值。
在一些实施例中,本发明实施例在获取到数据请求的返回值后,确定当前节点的节点数据。
具体实施中,本发明实施例可通过下列方式确定当前节点的节点数据。
在一些实施例中,本发明实施例根据当前节点的节点配置信息,确定当前节点对应的数据处理逻辑。
本发明实施例分别采用各个数据请求的返回值替换数据处理逻辑中对应的执行变量;执行数据处理逻辑,并将数据处理逻辑的执行结果作为当前节点的节点数据。
具体实施中,本发明实施例将获取到的各个数据请求的返回值替换对应的执行变量,代入数据处理逻辑对应的执行脚本,并执行数据处理逻辑,进行逻辑计算,得到执行结果,并将得到的执行结果作为当前节点的节点数据。
例如,订单履约流程中,节点A的数据请求为数据请求1;本发明实施例通过执行数据请求1,获取数据请求1的返回值;并根据数据请求1的返回值,替换节点A的数据处理逻辑中对应的执行变量,并执行数据处理逻辑,进行逻辑计算,获得执行结果,并将执行结果作为节点A的节点数据,存储到节点A对应的数据记录中。
比如,数据请求1的返回值为:
param1:{
packageNo:"SF2600210527A7N1204",
packageReceiveTime:"2021-05-28 09:32:18",
packageReceiveUserName:"张川",
}
将上述param1对应的返回值替换数据处理逻辑中对应的执行变量,并执行数据处理逻辑,进行逻辑计算,得到执行结果,如下所示:
result:{
healthStatus:true
packageNo:"SF2600210527A7N1204",
ReceiveTime:"2021-05-28 09:32:18",
packageReceiveUserName:"张川"
}
result为数据处理逻辑的执行结果,其表示节点A无异常,以及获取到的订单相关信息,用户名称、下单时间、订单编号;并将获取到的result保存到节点A对应的数据记录中。
又比如,数据请求1的返回值为:param1:{}时,将param1对应的返回值替换数据处理逻辑中对应的执行变量,并执行数据处理逻辑,进行逻辑计算,得到执行结果,如下所示:
{
result.heathStatus=false
packageNo:null,
ReceiveTime:null,
packageReceiveUserName:null
}
其中,由于param.packageNo并不存在,所以result.heathStatus=false,即节点A异常,并且节点A对应的其他信息为空。
在一些实施例中,本发明实施例在确定出当前节点的节点数据后,确定当前节点是否异常。
具体实施中,本发明实施例在获取节点数据时,还需要根据节点配置信息中的健康规则,确定当前节点是否异常。
在一些实施例中,当前节点的健康规则位于当前节点的数据处理逻辑中,本发明实施例通过执行数据处理逻辑,确定当前节点是否异常;并将确定结果放置于当前节点的节点数据中。
例如,本发明实施例的仓库寻源节点对应的健康规则如下所示:
result.healthStats=param1.product.count>1&¶m1.product.warehouseStats=='2',描述当商品数量大于1时,且仓库状态等于2时,确定节点数据是无异常的。
在一种实施例中,若确定节点数据异常时,则根据当前节点的节点配置信息,确定当前节点的触发方式。
在一些实施例中,若触发方式为心跳触发方式,则确定当前节点的数据处理逻辑的执行次数是否大于预设阈值。
在一些实施例中,若当前节点的数据处理逻辑的执行次数大于预设阈值,则输出告警信息。
具体实施中,本发明实施例在确定当前节点的数据处理逻辑的执行次数大于预设阈值后,向终端设备输出告警信息,以使用户根据告警信息对异常节点进行处理。
在另一些实施例中,若当前节点的数据处理逻辑的执行次数小于或等于预设阈值,则重新执行当前节点的数据处理逻辑,确定当前节点的节点数据,直至确定当前节点无异常或数据处理逻辑的执行次数大于预设阈值为止。
具体实施中,本发明实施例根据心跳触发方式的心跳频率,重新执行当前节点的数据处理逻辑,确定当前节点的节点数据,并记录数据处理逻辑的执行次数。
例如,心跳频率为2秒;本发明实施例2秒执行一次当前节点的数据处理逻辑,确定当前节点的节点数据,并记录数据处理逻辑的执行次数;然后,根据当前节点的节点数据,确定当前节点是否异常,以及确定数据处理逻辑的执行次数是否大于预设阈值。
在另一些实施例中,若触发方式为被动调用方式,则本发明实施例等待接收业务系统发送的返回值,并根据返回值确定当前节点的节点数据,重复执行根据当前节点的节点数据,确定当前节点是否异常的步骤,直至确定当前节点无异常为止。
在另一些实施例中,若触发方式为被动调用方式,则等待接收业务系统发送的返回值,并根据返回值确定当前节点的节点数据,重复执行根据当前节点的节点数据,确定当前节点是否异常的步骤,并记录确定当前节点是否异常的确定次数,若确定次数大于预设阈值,则输出告警信息。
例如,本发明实施例的当前节点等待接收业务系统发送的返回值,并根据返回值确定当前节点的节点数据,重复执行根据当前节点的节点数据,确定当前节点是否异常的步骤,记录确定当前节点是否异常的确定次数为19次,其中,确定次数对应的预设阈值为18次,确定次数大于预设阈值,则输出告警信息,结束订单履约流程。
在另一种实施例中,若确定当前节点无异常,则执行根据履约顺序,确定当前节点对应的下一节点的步骤。
如图4所示,本发明实施例提供一种确定当前节点是否异常的方法,其中,以当前节点的触发方式为心跳触发方式为例,包括以下步骤:
步骤S401,根据当前节点的节点配置信息,确定当前节点的触发方式为心跳触发方式;
步骤S402,根据当前节点的节点配置信息中的数据请求信息,确定当前节点对应的至少一个数据请求;
步骤S403,通过业务系统中各个数据请求对应的数据请求接口,依次获得各个数据请求的返回值;
步骤S404,根据节点配置信息,确定当前节点对应的数据处理逻辑;
需要说明的是,数据处理逻辑包括各个数据请求对应的执行变量;
步骤S405,分别采用各个数据请求的返回值替换数据处理逻辑中对应的执行变量;
步骤S406,执行数据处理逻辑,并将数据处理逻辑的执行结果作为当前节点的节点数据;
步骤S407,根据节点数据,确定当前节点是否异常;若是,则执行步骤S410;若否,则执行步骤S408;
步骤S408,确定数据处理逻辑的执行次数是否大于预设阈值;若是,则执行步骤S409;若否,则执行步骤S401;
步骤S409,发出告警;
步骤S410,结束。
在一些实施例中,本发明实施例在根据确定出当前节点的节点数据,且确定当前节点无异常后,确定当前节点对应的下一节点。
在一些实施例中,本发明实施例在获取到当前节点的节点数据后,根据履约顺序,确定当前节点对应的下一级节点是否包括多个分支节点。
若确定当前节点对应的下一级节点包括多个分支节点,则根据当前节点的节点数据,以及各个分支节点的节点配置信息,从各个分支节点中确定当前节点的下一节点。
具体实施中,本发明实施例可根据下列方式确定当前节点的下一节点。
在一些实施例中,本发明实施例将当前节点的节点数据分别与各个分支节点的节点配置信息中的分支规则进行匹配,将匹配成功的分支规则对应的分支节点作为当前节点的下一节点。
具体实施中,本发明实施例将当前节点的节点数据,依次注入到各个分支节点的分支规则中,构成动态脚本,并执行该动态脚本,获得执行结果。
本发明实施例根据执行结果,确定当前节点的节点数据与分支规则是否匹配成功,进而确定分支节点是否为下一个节点。
在一些实施例中,若执行结果为执行成功,则确定当前节点的节点数据与分支规则匹配成功,并将该分支规则对应的分支节点作为当前节点的下一节点。
在另一些实施例中,若执行结果为执行失败,则确定当前节点的节点数据与分支规则匹配失败,并确定该分支规则对应的分支节点不是当前节点的下一节点。然后,本发明实施例确定是否存在未判断的分支节点和分支规则;若确定还存在未判断的分支节点和分支规则,则进行下一个分支规则的判断,执行下一个分支节点对应的动态脚本。
例如,如图5所示,当前节点为订单获取节点,订单获取节点包括的分支节点有:仓库寻源节点、物流寻源节点、结束节点;仓库寻源节点的分支规则1为仓库寻源,物流寻源节点的分支规则2为物流寻源,结束节点的分支规则3为未支付。本发明实施例获取订单获取节点的节点数据;当获取到的节点数据为该订单未支付时,依次将节点数据与分支规则进行匹配;确定订单获取节点对应的节点数据与分支规则1匹配失败后,将节点数据与分支规则2进行匹配;确定节点数据与分支规则2匹配失败后,将节点数据与分支规则3进行匹配;确定节点数据与分支规则3匹配成功后,将分支规则3对应的结束节点作为订单获取节点的下一节点。
如图6所示,本发明实施例提供一种确定下一节点的方法,包括以下步骤:
步骤S601,获取当前节点对应的节点数据;
步骤S602,根据订单履约流程中各个节点的履约顺序,确定当前节点对应的下一级节点是否包括分支节点;若是,则执行步骤S603;若否,则执行步骤S609;
步骤S603,分别根据各个分支节点的节点配置信息,确定各个分支节点的分支规则;
步骤S604,将当前节点的节点数据与分支节点的分支规则进行匹配,确定是否匹配成功;若是,则执行步骤S606;若否,则执行步骤S605;
步骤S605,确定是否有未匹配的分支节点;若是,则执行步骤S604;若否,则执行步骤S6067;
步骤S606,将该分支规则对应的分支节点,作为当前节点的下一节点;
步骤S607,结束。
在一些实施例中,本发明实施例在确定出当前节点的下一节点后,将当前节点的节点状态变更为执行成功,并将下一节点的节点状态变更为等待执行,以及将下一节点作为新的当前节点,循环执行以上操作,直至将订单履约流程的结束节点作为当前节点。
需要说明的是,节点状态包括:未激活、等待执行、执行成功、执行失败、执行终止。
其中,当前节点的节点状态为等待执行;确定出节点数据且无异常的当前节点的节点状态为执行成功;确定出节点数据且异常的当前节点的节点状态为执行失败;订单履约流程中的其他节点的节点状态为未激活。
在一些实施例中,本发明实施例在执行完订单履约流程后,根据目标节点,得到目标订单对应的目标订单履约流程。
例如,如图7所示,目标订单的订单类型为电视订单,获得电视订单的订单履约流程,并在监控系统对应的显示界面中显示订单履约流程;如图8所示,虚线节点为订单履约流程中的非目标节点;确定目标订单在订单履约过程中,经历的订单履约流程中的目标节点,得到目标订单对应的目标订单履约流程,并在监控系统对应的显示界面中显示目标订单履约流程。
在一些实施例中,本发明实施例根据目标订单的订单号,可以获取目标订单在履约过程中目标节点的节点数据。
在一些实施例中,本发明实施例的用户可在监控系统的显示界面中,对目标订单的当前履约过程,进行动态呈现,即对目标订单的目标履约流程进行动态呈现;并将获取到的节点数据,赋值给目标履约流程中的目标节点。
具体实施中,用户可通过触发显示界面中目标履约流程中的节点,展示目标订单在某个目标节点的节点数据;并且,本发明实施例可根据节点数据中的健康信息,赋予节点颜色。例如,将无异常的目标节点的颜色设置为黄色,将异常的目标节点的颜色设置为红色。
例如,如图8所示,用户可通过触发目标履约流程中的生成发货单节点,获取目标订单的发货单信息。
在一些实施例中,若目标订单在订单履约过程结束时,也未接收到用户的查看请求,则在结束时,在显示界面中显示提示信息,提醒用户该目标订单已结束履约过程。
如图9所示,本发明实施例提供一种订单监控的完整方法流程图,其中,以当前节点的触发方式为被动调用方式为例,包括以下步骤:
步骤S901,获取目标订单,并确定目标订单对应的订单类型;
步骤S902,根据订单类型与订单履约流程的对应关系,确定目标订单对应的订单履约流程;
步骤S903,确定订单履约流程中各个节点的节点配置信息;
步骤S904,根据各个节点的节点配置信息,确定订单履约流程中各个节点的履约顺序;
步骤S905,根据履约顺序,确定订单履约流程中的起始节点,并将起始节点作为当前节点;
步骤S906,将当前节点添加为目标节点;
步骤S907,根据当前节点的节点配置信息,确定当前节点的触发方式为心跳触发方式;
步骤S908,根据当前节点的节点配置信息中的数据请求信息,确定当前节点对应的至少一个数据请求;
步骤S909,通过业务系统中各个数据请求对应的数据请求接口,依次获得各个数据请求的返回值;
需要说明的是,本发明实施例根据节点配置信息中的数据请求信息,确定数据请求的执行顺序,并根据执行顺序依次执行数据请求,调用业务系统中各个数据请求对应的数据请求接口,获取各个数据请求的返回值;
步骤S910,根据节点配置信息,确定当前节点对应的数据处理逻辑;
需要说明的是,数据处理逻辑包括各个数据请求对应的执行变量;
步骤S911,分别采用各个数据请求的返回值替换数据处理逻辑中对应的执行变量;
步骤S912,执行数据处理逻辑,并将数据处理逻辑的执行结果作为当前节点的节点数据;
步骤S913,根据当前节点的节点数据,确定当前节点是否异常;若是,则执行步骤S914;若否,则执行步骤S916;
步骤S914,确定当前节点的数据处理逻辑的执行次数大于预设阈值;若是,则执行步骤S915;若否,则执行步骤S909;
步骤S915,发出告警;
步骤S916,根据履约顺序,确定当前节点是否存在分支节点;若是,则执行步骤S917;若否,则执行步骤S918;
步骤S917,根据分支节点的节点配置信息,确定分支节点的分支规则;
步骤S918,将当前节点的节点数据分别与分支节点的节点配置信息中的分支规则进行匹配,确定是否匹配成功;若匹配成功,则执行步骤S920;若匹配失败,则执行步骤S919;
步骤S919,确定是否有未匹配的分支节点;若是,则执行步骤S918;若否,则执行步骤S922;
步骤S920,将该分支规则对应的分支节点,作为当前节点的下一节点;
步骤S921,将下一节点作为新的当前节点,执行步骤S906;
步骤S922,根据目标节点的节点数据,确定目标订单对应的目标订单履约流程;
步骤S923,在显示界面中显示目标订单履约流程;
步骤S924,结束。
基于同一发明构思,本发明实施例中还提供了一种服务器,如图1中的服务器30。由于该设备解决问题的原理与本发明实施例订单监控方法相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。
该服务器至少包括用于存储数据的存储器和用于数据处理的处理器。其中,对于用于数据处理的处理器而言,在执行处理时,可以采用微处理器、CPU、GPU(GraphicsProcessing Unit,图形处理单元)、DSP或FPGA实现。对于存储器来说,存储器中存储有操作指令,该操作指令可以为计算机可执行代码,通过该操作指令来实现上述本发明实施例的订单监控方法的流程中的各个步骤。
图10为本发明实施例提供的一种服务器的结构示意图;如图10所示,本发明实施例中该服务器100包括:包括存储器131,通讯模块133以及一个或多个处理器132。
存储器131,用于存储处理器132执行的计算机程序。存储器131可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
处理器132,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器132,用于调用存储器131中存储的计算机程序时实现上述订单监控方法。
通讯模块133用于与业务设备,获取目标账户。
本发明实施例中不限定上述存储器131、通讯模块133和处理器132之间的具体连接介质。本公开实施例在图10中以存储器131和处理器132之间通过总线134连接,总线134在图10中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线134可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
基于同一发明构思,本发明实施例中还提供了一种订单监控装置,由于该装置解决问题的原理与本发明实施例订单监控方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
如图11所示,本发明实施例提供一种订单监控装置,包括:
确定单元1101,用于根据目标订单的订单类型,确定目标订单对应的订单履约流程;
第一获取单元1102,用于获取目标订单对应的订单履约流程中各个节点的节点配置信息;
第二获取单元1103,用于根据各个节点的节点配置信息,获取目标订单的履约过程包含的各个目标节点的节点数据;各个目标节点为所述订单履约流程中的部分节点或全部节点;
输出单元1104,用于根据各个目标节点的节点数据,输出目标订单对应的订单履约信息。
一种可选的实施方式为,第二获取单元1103具体用于:
根据各个节点的节点配置信息,确定订单履约流程中各个节点的履约顺序;
根据履约顺序,确定订单履约流程的起始节点,并将起始节点作为当前节点,针对当前节点采用循环方式执行以下操作,直至将订单履约流程的结束节点作为当前节点为止;其中,一次循环过程包括:
将当前节点添加为目标节点;
根据当前节点的节点配置信息,获取当前节点的节点数据;
根据履约顺序,确定当前节点对应的下一节点,并将下一节点作为新的当前节点。
一种可选的实施方式为,第二获取单元1103具体用于:
根据当前节点的节点配置信息,确定当前节点的触发方式;
若当前节点的触发方式为心跳触发方式,则根据当前节点的节点配置信息中的数据请求信息,确定当前节点对应的至少一个数据请求,并通过业务系统中各个数据请求对应的数据请求接口,依次获得各个数据请求的返回值;
若当前节点的触发方式为被动调用方式,则接收业务系统发送的返回值;返回值为所述业务系统调用当前节点的数据请求对应的数据请求接口得到的返回值;
根据返回值,确定当前节点的节点数据。
一种可选的实施方式为,第二获取单元1103具体用于:
根据节点配置信息,确定目标节点对应的数据处理逻辑;数据处理逻辑包括各个数据请求对应的执行变量;
分别采用各个数据请求的返回值替换数据处理逻辑中对应的执行变量;
执行数据处理逻辑,并将数据处理逻辑的执行结果作为当前节点的节点数据。
一种可选的实施方式为,在将数据处理逻辑的执行结果作为当前节点的节点数据之后,第二获取单元1103还用于:
根据当前节点的节点数据,确定当前节点是否异常;
若是,则根据当前节点的节点配置信息,确定当前节点的触发方式;
若触发方式为心跳触发方式,且当前节点的数据处理逻辑的执行次数大于预设阈值,则输出告警信息;
若触发方式为心跳触发方式,且当前节点的数据处理逻辑的执行次数小于或等于预设阈值,则重新执行当前节点的数据处理逻辑,确定当前节点的节点数据,直至确定当前节点无异常或数据处理逻辑的执行次数大于预设阈值为止;
若触发方式为被动调用方式,则等待接收业务系统发送的返回值,并根据返回值确定当前节点的节点数据,重复执行根据当前节点的节点数据,确定当前节点是否异常的步骤,直至确定当前节点无异常为止。
一种可选的实施方式为,第二获取单元1103具体用于:
若根据履约顺序确定当前节点对应的下一级节点包括多个分支节点,则根据当前节点的节点数据,以及各个分支节点的节点配置信息,从各个分支节点中确定当前节点的下一节点。
一种可选的实施方式为,第二获取单元1103具体用于:
将当前节点的节点数据分别与各个分支节点的节点配置信息中的分支规则进行匹配;
将匹配成功的分支规则对应的分支节点作为当前节点的下一节点。
本发明实施例还提供一种计算机可存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一方法的步骤。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:订单创建方法、装置、服务器及存储介质