业务执行状态的确定方法及系统与流程

文档序号:17126079发布日期:2019-03-16 00:27阅读:274来源:国知局
业务执行状态的确定方法及系统与流程

本发明属于数据处理技术领域,尤其涉及一种业务执行状态的确定方法及系统。



背景技术:

用户在终端设备正常执行一个金融系统的业务有赖于该业务的提供方服务器、该业务在终端设备上的应用程序以及终端设备三者均处于正常合理的状态。但是,当前对于一个业务是否正常执行的监控分析往往是简单地基于对业务的提供方服务器的探测,或简单地基于终端设备的心跳包判断终端设备是否正常运行。

基于此,当前的业务执行状态的确定往往不够全面,并且只有正常状态或非正常状态这样两极化的分析结果,用户无法了解全面且更加精细化的业务执行状态的确定结果。



技术实现要素:

有鉴于此,本发明实施例提供了一种业务执行状态的确定方法及系统,以解决现有技术在分析业务执行状态过程中存在的分析角度单一,且分析结果精细化程度低的问题。

本发明实施例的第一方面提供了一种业务执行状态的确定方法,包括:

终端设备向预设业务的业务服务器发送业务探测报文,并接收所述业务服务器返回的答复报文,所述答复报文包含所述业务服务器的运行状态;所述终端设备检测所述预设业务对应的运行于所述终端设备内的应用程序的运行结果,并检测所述终端设备自身的运行状态,生成终端设备心跳包;所述终端设备将所述业务服务器的运行状态、所述应用程序的运行结果以及所述终端设备心跳包发送至分析服务器;所述分析服务器根据所述业务服务器的运行状态、所述应用程序运行结果以及所述终端设备心跳包,计算出业务执行参数,并基于预设的业务执行参数与执行状态的对应关系,确定所述预设业务的业务执行状态。

本发明实施例的第二方面提供了一种业务执行状态的确定系统,其特征在于,包括终端设备、业务服务器以及分析服务器;

所述终端设备,用于向预设业务的业务服务器发送业务探测报文,并接收所述业务服务器返回的答复报文,所述答复报文包含所述业务服务器的运行状态;所述终端设备,还用于检测所述预设业务对应的运行于所述终端设备内的应用程序的运行结果,并检测所述终端设备自身的运行状态,生成终端设备心跳包;所述终端设备,还用于将所述业务服务器的运行状态、所述应用程序的运行结果以及所述终端设备心跳包发送至分析服务器;所述分析服务器,用于根据所述业务服务器的运行状态、所述应用程序运行结果以及所述终端设备心跳包,计算出业务执行参数,并基于预设的业务执行参数与执行状态的对应关系,确定所述预设业务的业务执行状态。

在本发明实施例中,通过终端设备向预设业务的业务服务器发送业务探测报文,并接收所述业务服务器返回的答复报文,所述答复报文包含所述业务服务器的运行状态;终端设备检测预设业务对应的应用程序的运行结果,并检测所述终端设备自身的运行状态,生成终端设备心跳包;终端设备将业务服务器的运行状态、应用程序的运行结果以及所述终端设备心跳包发送至分析服务器;分析服务器根据业务服务器的运行状态、应用程序运行结果以及终端设备心跳包,计算出业务执行参数,并基于预设的业务执行参数与执行状态的对应关系,确定所述预设业务的业务执行状态,从而更加全面准确地分析预设业务的执行状态,以便及时维护整个业务系统运行的稳定性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的业务执行状态的确定方法的实现流程图;

图2是本发明实施例提供的业务执行状态的确定方法s104的具体实现流程图;

图3是本发明实施例提供的业务执行状态的确定方法s102的具体实现流程图;

图4是本发明实施例提供的业务执行状态的确定系统的系统交互图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1示出了本发明实施例提供的业务执行状态的确定方法的实现流程,该方法流程包括步骤s101至s104。各步骤的具体实现原理如下。

s101,终端设备向预设业务的业务服务器发送业务探测报文,并接收所述业务服务器返回的答复报文,所述答复报文包含所述业务服务器的运行状态。

在本发明实施例中,业务执行状态的确定方法涉及三端设备,其中一端设备为业务服务器,该业务服务器主要用于提供某种预设业务的数据处理,是预设业务得以正常执行的后台服务器;其中一端设备为终端设备,终端设备安装有预设业务的应用程序,通过该应用程序直接与用户进行信息交互,接收用户对预设业务的信息输入,并将业务服务器的相关数据处理结果反馈给用户;其中一端设备为分析服务器,分析服务器根据终端设备采集的多类数据进行数据分析,从而确定出业务执行状态。

具体地,终端设备采集的其中一类数据为业务服务器的运行状态,在本发明实施例中,通过向业务服务器发送业务探测报文并接收答复报文的方式,获取答复报文中包含的业务服务器的运行状态。

可选地,业务探测报文包括:通信报文头、报文体、文件附件头、附件内容报文体以及报文签名数据,其中,通信报文头、报文体、文件附件头以及附件内容报文体这四部分是由用户输入的数据经转换后直接生成的,其中,通信报文头的长度为222个字节,文件附件头的长度为277个字节,而报文体以及附件内容报文体没有固定长度限制,报文签名数据是由终端设备通过预设的摘要算法计算通信报文头、报文体、文件附件头、附件内容报文体中的数据的签名后生成的数据。可选地,预设的摘要算法包括安全哈希算法。

在本发明实施例中,在所述接收所述业务服务器返回的答复报文之后,还包括:所述终端设备根据预设的报文位置与数据类型的对应关系,从所述答复报文中提取所述业务服务器的运行状态。

在本发明实施例中,答复报文是根据业务探测报文每一报文位置对应的数据类型,将对应的答复数据填入答复报文相应的报文位置后生成的。因此,终端设备可以根据预设的报文位置与数据类型的对应关系,从答复报文中提取各个数据类型对应的数据,从而获取业务服务器的运行状态。

s102,所述终端设备检测所述预设业务对应的运行于所述终端设备内的应用程序的运行结果,并检测所述终端设备自身的运行状态,生成终端设备心跳包。

在本发明实施例,终端设备除了采集业务服务器的运行状态外,还会采集另外两类数据,其中一类数据为预设业务对应的运行于所述终端设备内的应用程序的运行结果,另一类数据为终端设备自身的运行状态。

可以理解地,预设业务的业务服务器的运行状态可以用于反应预设业务在后端的执行情况,而预设业务对应的运行于终端设备内的应用程序的运行结果可以用于反应预设业务在前端的执行情况,此外,终端设备自身的运行状态如果不符合一定的运行标准,则该终端设备自身的运行状态可以用于快速地确定预设业务在前端的执行情况不正常,在这种情况下,有利于在后续的步骤中提高确定业务执行状态的速度。

可选地,在本发明实施例中,通过终端设备中的中央处理器生成检测指令,并接收预设业务对应的应用程序基于检测指令生成的检测标识,该中央处理器根据应用程序生成的检测标识的类型以及生成所述检测标识所需的时间确定应用程序的运行结果。

可选地,在本发明实施例中,还可以通过终端设备中的心跳探测器检测预设业务对应的应用程序的线程是否为死亡状态,从而确定应用程序的运行结果。

可选地,在本发明实施例中,通过终端设备中的心跳探测器每隔预设时间间隔检测所述终端设备自身的运行状态,生成终端设备心跳包。当终端设备的中央处理器运行正常时,心跳探测器会向心跳包中存入预设字段信息,而当终端设备的中央处理器运行异常时,心跳探测器不会向心跳包中存入预设字段信息,或无法生成心跳包。

s103,所述终端设备将所述业务服务器的运行状态、所述应用程序的运行结果以及所述终端设备心跳包发送至分析服务器。

在本发明实施例中,需要将终端设备收集的三类数据发送至分析服务器,由分析服务器对这三类数据进行自动化的统筹分析。

s104,所述分析服务器根据所述业务服务器的运行状态、所述应用程序运行结果以及所述终端设备心跳包,计算出业务执行参数,并基于预设的业务执行参数与执行状态的对应关系,确定所述预设业务的业务执行状态。

在本发明实施例中,由于终端设备在生成心跳包时,在终端设备自身运行异常时不会在心跳包中添加预设字段信息,此外,在终端设备的中央处理器严重异常时无法生成心跳包,所以在上述两种情况下,只要终端设备自身运行异常,业务服务器便无法从心跳包中解析出预设字段信息,反之,若所述业务服务器未接收到心跳包或没有从所述终端设备心跳包中解析出预设字段信息,则证明终端设备自身运行异常,在这种情况下,预设业务对应的运行于终端设备内的应用程序不可能正常运行,因此无需进一步对终端设备采集的其他类型的数据进行分析,无需计算业务执行参数,可以直接确定预设业务的业务执行状态为最严重异常(异常等级最高)。

相反地,当业务服务器接收到所述终端设备心跳包,并且从所述终端设备心跳包中解析出了预设字段信息,则证明终端设备自身的运行情况并没有验证异常,所以需要进一步的计算流程对终端设备采集的另外两类数据进行统筹计算,以生成业务执行参数,并基于预设的业务执行参数与执行状态的对应关系,确定所述预设业务的业务执行状态。

可选地,所述应用程序运行结果包括:应用程序正常状态时长,所述应用程序正常状态时长为所述应用程序在预设时间段内运行结果正常的总时长。

可选地,所述分析服务器存储有业务执行状态与报警策略的对应关系。在分析服务器确定了预设业务的业务执行状态后,分析服务器显示所述业务执行状态对应的报警策略。

作为本发明的一个实施例,如图2所示,上述s104包括:

s1041,若所述业务服务器从所述终端设备心跳包中解析出预设字段信息,则根据预设的运行状态与计算因子的对应关系,确定所述业务服务器的运行状态对应的计算因子,作为被选计算因子。

在本发明实施例中,业务服务器中预先存有预设的运行状态与计算因子的对应关系,计算因子为自然数。可以理解地,将业务服务器的运行状态转换为一个自然数,有助于在后续计算过程中,通过计算公式对业务服务器的运行状态进行处理。

s1042,所述业务服务器从所述应用程序运行结果中提取所述应用程序正常状态时长。

如上文所述,所述应用程序运行结果包括:应用程序正常状态时长,所述应用程序正常状态时长为所述应用程序在预设时间段内运行结果正常的总时长。

s1043,所述业务服务器通过预设公式计算所述业务执行参数。

可选地,所述预设公式为:所述livlevel为所述业务执行参数,所述pre为所述被选计算因子,所述normtime为所述应用程序正常状态时长,所述e为自然常数。

在本发明实施例中,由于被选计算因子可用于表征业务服务器的运行状态,应用程序正常状态时长可用于表征应用程序运行结果,所以通过计算出的业务执行参数可以很好的表征业务服务器的运行状态以及应用程序运行结果这两类终端设备采集的数据,再加上s1041的执行的先决条件为所述业务服务器从所述终端设备心跳包中解析出预设字段信息,所以步骤s1041-步骤s1043的执行过程中,综合考虑了终端设备采集的三类数据,由此计算出的业务执行参数可以很好的体现预设业务的业务执行状态。

可以理解地,在本发明实施例中,通过终端设备向预设业务的业务服务器发送业务探测报文,并接收所述业务服务器返回的答复报文,所述答复报文包含所述业务服务器的运行状态;终端设备检测预设业务对应的应用程序的运行结果,检测所述终端设备自身的运行状态,生成终端设备心跳包;终端设备将业务服务器的运行状态、应用程序的运行结果以及所述终端设备心跳包发送至分析服务器;分析服务器根据业务服务器的运行状态、应用程序运行结果以及终端设备心跳包,计算出业务执行参数,并基于预设的业务执行参数与执行状态的对应关系,确定预设业务的业务执行状态,从而更加全面准确地分析预设业务的执行状态。

作为本发明的一个实施例,如图3所示,上述s102包括:

s1021,所述终端设备中的预设处理器生成用于检测所述应用程序的检测指令,以接收所述应用程序生成的检测标识,所述检测标识用于描述所述应用程序的运行情况。

在本发明实施例中,应用程序在接收到检测指令后,会根据自身的运行情况生成一个检测标识,预设处理器会接收这一检测标识。

s1022,所述终端设备计算所述预设处理器接收到所述检测标识的时间与生成所述检测指令的时间的时间差,作为检测时间差。

可以理解地,预设处理器在生成检测指令的时间与接收到应用程序基于该检测指令而生成的检测标识的时间之间,必然存在一个时间差,在这里将其命名为检测时间差。根据长期对现有的应用程序的监控发现,检测时间差越长,随后出现应用程序运行异常的概率越高,所以在本发明实施例中,利用检测时间差这一特性,可对应用程序的运行情况进行多一维度的分析。

s1023,若所述检测时间差不大于预设的第一时间差阈值,并且所述检测标识属于预设的标识集合,则所述终端设备判定所述应用程序的运行结果正常。

在本发明实施例中,预设的标识集合中的检测标识均为应用程序的运行结果正常时会出现的检测标识。

s1024,若所述检测时间差大于预设的第一时间差阈值,并且所述检测标识属于预设的标识集合,则所述终端设备重复生成预设数量的检测指令,以接收所述预设数量的检测标识,并计算出所述预设数量的检测时间差。

在本发明实施例中,若首次生成的检测时间差大于预设的第一时间差阈值,则证明应用程序的运行结果出现运行结果异常的可能性较大,所以需要参考更多的该应用程序生成的检测标识,以更加精准的确定应用程序的运行结果。因此会重复生成预设数量的检测指令,以计算出预设数量的检测时间差。

s1025,若所述预设数量的检测标识均属于所述预设的标识集合,并且所述预设数量的检测时间差的平均时长小于或等于预设的第二时间差阈值,则所述终端设备判定所述应用程序的运行结果正常。

s1026,若所述预设数量的检测标识不均属于所述预设的标识集合,或所述预设数量的检测时间差的平均时长大于预设的第二时间差阈值,则所述终端设备判定所述应用程序的运行结果异常。

可以理解地,在本发明实施例中,通过判断检测标识是否属于预设的标识集合以及所述预设处理器接收到所述检测标识的时间与生成所述检测指令的时间的时间差这两个维度的数据,综合判断出应用程序的运行结果是否正常。

对应于上文实施例所述的业务执行状态的确定方法,图4示出了本发明实施例提供的业务执行状态的确定系统的系统交互图,为了便于说明,仅示出了与本发明实施例相关的部分。

参照图4,该系统包括终端设备401、业务服务器402以及分析服务器403:

所述终端设备401,用于向预设业务的业务服务器402发送业务探测报文;

所述业务服务器402,用于根据所述业务探测报文生成答复报文,并将所述答复报文发送至终端设备;

所述终端设备401,用于接收所述业务服务器返回的答复报文,所述答复报文包含所述业务服务器的运行状态;

所述终端设备401,还用于检测所述预设业务对应的运行于所述终端设备内的应用程序的运行结果,并检测所述终端设备自身的运行状态,生成终端设备心跳包;

所述终端设备401,还用于将所述业务服务器的运行状态、所述应用程序的运行结果以及所述终端设备心跳包发送至分析服务器;

所述分析服务器403,用于根据所述业务服务器的运行状态、所述应用程序运行结果以及所述终端设备心跳包,计算出业务执行参数,并基于预设的业务执行参数与业务执行状态的对应关系,确定所述预设业务的业务执行状态。

所述检测所述预设业务对应的运行于所述终端设备内的应用程序的运行结果,包括:所述终端设备中的预设处理器生成用于检测所述应用程序的检测指令,以接收所述应用程序生成的检测标识,所述检测标识用于描述所述应用程序的运行情况;所述终端设备计算所述预设处理器接收到所述检测标识的时间与生成所述检测指令的时间的时间差,作为检测时间差;若所述检测时间差大于预设的第一时间差阈值,并且所述检测标识属于预设的标识集合,则所述终端设备重复生成预设数量的检测指令,以接收所述预设数量的检测标识,并计算出所述预设数量的检测时间差;若所述预设数量的检测标识均属于所述预设的标识集合,并且所述预设数量的检测时间差的平均时长小于或等于预设的第二时间差阈值,则所述终端设备判定所述应用程序的运行结果正常。

所述应用程序运行结果包括:应用程序正常状态时长,所述应用程序正常状态时长为所述应用程序在预设时间段内运行结果正常的总时长;所述根据所述业务服务器的运行状态、所述应用程序运行结果以及终端设备心跳包,计算出业务执行参数,包括:若所述业务服务器从所述终端设备心跳包中解析出预设字段信息,则根据预设的运行状态与计算因子的对应关系,确定所述业务服务器的运行状态对应的计算因子,作为被选计算因子;所述业务服务器从所述应用程序运行结果中提取所述应用程序正常状态时长;

所述业务服务器通过公式:计算所述业务执行参数,所述livlevel为所述业务执行参数,所述pre为所述被选计算因子,所述normtime为所述应用程序正常状态时长,所述e为自然常数。

所述终端设备,还用于根据预设的报文位置与数据类型的对应关系,从所述答复报文中提取所述业务服务器的运行状态。

所述分析服务器,还用于显示所述业务执行状态对应的报警策略。

在本发明实施例中,通过终端设备向预设业务的业务服务器发送业务探测报文,并接收所述业务服务器返回的答复报文,所述答复报文包含所述业务服务器的运行状态;终端设备检测预设业务对应的应用程序的运行结果,检测所述终端设备自身的运行状态,生成终端设备心跳包;终端设备将业务服务器的运行状态、应用程序的运行结果以及所述终端设备心跳包发送至分析服务器;分析服务器根据业务服务器的运行状态、应用程序运行结果以及终端设备心跳包,计算出业务执行参数,并基于预设的业务执行参数与执行状态的对应关系,确定预设业务的业务执行状态,从而更加全面准确地分析预设业务的执行状态。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1