一种操作记录链生成方法及装置与流程

文档序号:11063409阅读:387来源:国知局
一种操作记录链生成方法及装置与制造工艺

本申请涉及网络技术领域,尤其涉及一种操作记录链生成方法及装置。



背景技术:

随着互联网信息技术的发展,通过网络为用户提供业务服务变得越来越普遍。网络业务服务在为用户带来便利的同时,也带了一定的风险。比如,非法人员会在盗取用户身份等信息后,利用盗取的用户身份等信息请求相关业务服务。

一个完整的任务操作流程通常会包含多个异步操作,每个操作对应一条操作日志中的记录,比如用户签约过程一般包括身份校验、发短信、收短信和签约四个操作。如果合法用户之前将自己的卡号与手机号进行了绑定,非法人员在盗用用户卡号与手机号进行签约时,会在用户身份校验阶段,输入盗用的合法用户的卡号与绑定的手机号,之后,会采取拦截手段,将发往合法用户绑定的手机号的短信验证码拦截并转发到自己的手机号上,在用自己的手机号接收短信验证码后执行签约操作。在这种情况下,通过分析身份校验和收发短信环节涉及的手机号是否一致,可以判定在短信验证环节是否发生了异常,也即是否发生了短信验证码被拦截的情况。

在上述情况下,若要确定异常情况的发生,首先需要确定属于同一个任务操作流程的多个操作,如果将属于不同任务操作流程的多个操作错误地归属到一个操作流程中,将会导致判断结果出错。比如,若将针对用户1的身份校验操作与针对用户2的收发短信操作归属到了一个操作流程中,后续因为身份校验操作和收发短信操作涉及的手机号不一致而确定在短信验证环节发生了异常,显然,这种判断结果是错误的。

可见,通过挖掘同一个任务操作流程中的不同操作的记录之间的上下文关系,可以定位在整个任务操作流程中发生的异常操作。但在目前,操作日志中不会记载不同操作的记录之间的上下文关系,现有技术中也没有相关方案来实现建立不同操作的记录之间的上下文关系。



技术实现要素:

本申请实施例提供一种操作记录链生成方法及装置,用以实现建立不同操作的记录之间的上下文关系。

本申请实施例提供一种操作记录链生成方法,该操作记录链用于记录某一任务的各操作,其中,该任务包括N个操作,N为大于或等于2的正整数,包括:

步骤A、选取所述任务中按操作顺序排序后的第N-1个操作的记录和第N个操作的操作成功记录,其中每条记录中包括用户和客体信息;将选取的各条第N-1个操作的记录和第N个操作的操作成功记录进行分组,使得同组内的记录具有相同的用户和客体信息;

步骤B、将每个组内的记录按照操作时间进行排序,在每个组排序后的记录中,筛选出用于生成操作记录链的第N-1个操作的操作成功记录和第N个操作的操作成功记录,其中,在每个组内筛选出的第N-1个操作的操作成功记录和第N个操作的操作成功记录在该组内的排列顺序相邻,且第N-1个操作的操作成功记录排列在第N个操作的操作成功记录之前;若N为2,则流程结束;否则,将N减1,返回步骤A。

可选地,在每个组排序后的记录中,筛选出用于生成操作记录链的第N-1个操作的操作成功记录和第N个操作的操作成功记录,包括:

在每个组排序后的记录中,筛选出排列在第N个操作的操作成功记录之前,且与该第N个操作的操作成功记录相邻的第N-1个操作的记录,以及排列在第N-1个操作的记录之后,且与该第N-1个操作的记录相邻的第N个操作 的操作成功记录;

从筛选出第N-1个操作的记录和第N个操作的操作成功记录的组中,剔除第N-1个操作的记录为操作失败记录的组。

可选地,在每个组排序后的记录中,筛选出用于生成操作记录链的第N-1个操作的操作成功记录和第N个操作的操作成功记录,包括:

在每个组排序后的记录中,筛选出排列在第N个操作的操作成功记录之前,且与该第N个操作的操作成功记录相邻的第N-1个操作的操作成功记录,以及排列在第N-1个操作的操作成功记录之后,且与该第N-1个操作的操作成功记录相邻的第N个操作的操作成功记录。

可选地,将选取的各条第N-1个操作的记录和第N个操作的操作成功记录进行分组之后,在筛选出用于生成操作记录链的第N-1个操作的操作成功记录和第N个操作的操作成功记录之前,还包括:

从各个组中,剔除只存在第N-1个操作和第N个操作两种操作中的一种操作的组。

可选地,所述在每个组排序后的记录中,筛选出用于生成操作记录链的第N-1个操作的操作成功记录和第N个操作的操作成功记录,包括:

在每个组排序后的记录中,筛选出满足相邻操作的操作时间间隔小于设定时长这一条件的、所述第N-1个操作的操作成功记录和第N个操作的操作成功记录。

本申请实施例提供一种操作记录链生成装置,该操作记录链用于记录某一任务的各操作,其中,该任务包括N个操作,N为大于或等于2的正整数,该装置包括:

分组模块,用于选取所述任务中按操作顺序排序后的第N-1个操作的记录和第N个操作的操作成功记录,其中每条记录中包括用户和客体信息;将选取的各条第N-1个操作的记录和第N个操作的操作成功记录进行分组,使得同组内的记录具有相同的用户和客体信息;

筛选模块,用于将每个组内的记录按照操作时间进行排序,在每个组排序后的记录中,筛选出用于生成操作记录链的第N-1个操作的操作成功记录和第N个操作的操作成功记录,其中,在每个组内筛选出的第N-1个操作的操作成功记录和第N个操作的操作成功记录在该组内的排列顺序相邻,且第N-1个操作的操作成功记录排列在第N个操作的操作成功记录之前;若N为2,则流程结束;否则,将N减1,返回步骤A。

可见,本申请实施例可以通过生成的操作记录链体现出同一操作流程中不同操作的记录之间的上下文关系,通过这些记录之间的上下文关系,可以定位异常操作的位置,以及确认发生异常操作的用户及客体。并且,通过本申请实施例提供的操作记录链生成方案,可以避免将不符合操作逻辑的记录组成操作记录链,保证了不同操作的记录之间的上下文关系的准确性。

附图说明

图1为本申请实施例提供的操作记录链生成方法流程图;

图2为双向链表示意图;

图3为本申请实施例提供的操作记录链生成装置结构示意图。

具体实施方式

下面结合说明书附图对本申请实施例作进一步详细描述。

如表一所示,在理想的情况下,操作日志中记载的为各个操作依次成功的记录,比如针对由操作A和操作B完成的一个任务流程,应该依次为操作A的操作成功记录和操作B的操作成功记录。表中,操作A对应的操作A状态为Y,表示操作A成功,对应的操作B状态为N,表示在操作A成功时,操作B还未成功(因为还未执行),操作B对应的操作A和操作B的状态都为Y,表示操作A和操作B都已成功。

表一

如表二所示,在实际实施中,可能会存在一些不理想的记录,比如针对由操作A和操作B完成的一个任务流程,在实际操作中,有可能出现以下几种情况:

1)在操作A失败多次后成功,对应表二中的记录1、2;

2)在操作B失败多次后成功,对应表二中的记录18、19和20;

3)在操作A失败后仍出现了操作B成功的记录(这种情况可能是由于日志发生错误引起的),对应表二中的记录13、14;

4)在操作A成功或失败后,没有对应的操作B,对应表二中的记录8。

表二

针对上述几种情况,有些不理想的记录仍可以被利用,而有些记录若加入操作记录链则会不符合操作逻辑,比如,按照操作时间顺序排列,在多个操作A的操作失败记录后,是操作A的操作成功记录,或者,在操作A的操作成功记录后,是多个操作B的操作失败记录,然后是操作B的操作成功记录;则在这种情况下,操作A的操作成功记录和操作B的操作成功记录可以作为操作记录链中的两个操作记录。但是,若在操作A的操作成功记录后,是操作A的操作失败记录,然后是操作B的操作成功记录,显然,这种情况下,操作A的操作成功记录和操作B的操作成功记录是不符合操作记录链的操作逻辑的。

如图1所示,为本申请实施例提供的操作记录链生成方法流程图,该操作记录链用于记录某一任务的各操作,其中,该任务包括N个操作,N为大于或等于2的正整数,该方法包括:

S101:选取所述任务中按操作顺序排序后的第N-1个操作的记录和第N个操作的操作成功记录,其中每条记录中包括用户和客体信息。

在具体实施中,服务器可以首先在历史操作记录中提取在最近设定时间段内的、所述任务对应的最后一个操作的操作成功记录,以及上一个操作的所有记录。这里,每条记录中可以包含操作标识(比如操作名称或操作内容的关键字段)、操作时间、操作状态、用户和客体信息等。其中,用户信息可以包含应用账户信息,客体为所述任务在整个任务流程中重点校验的对象,比如,所述任务为将用户的应用账户与银行卡进行绑定、签约的用户签约任务,则所述客体信息即包含银行卡号。通过用户和客体信息可以区分哪些操作属于同一操作流程。

S102:将选取的各条第N-1个操作的记录和第N个操作的操作成功记录进行分组,使得同组内的记录具有相同的用户和客体信息。

该步骤中,将对应相同的用户和客体信息的操作划分为一组,然后再在每个组内筛选组成操作记录链的记录,这样可以保证将属于同一操作流程的操作组成操作记录链。比如,同一应用账户及同一银行卡两者一起,只能成功签约一次,不能重复签约,所以通过应用账户及绑定的银行卡可以来区分哪些操作属于同一操作流程。

在具体实施中,将选取的各条第N-1个操作的记录和第N个操作的操作成功记录进行分组之后,有可能会存在只有第N-1个操作和第N个操作两种操作中的一种操作的组,由于这样的组包含的操作不全,不应被应用于操作记录链的生成,因此可以在S102之后,剔除只存在第N-1个操作和第N个操作两种操作中的一种操作的组。

S103:将每个组内的记录按照操作时间进行排序,在每个组排序后的记录中,筛选出用于生成操作记录链的第N-1个操作的操作成功记录和第N个操作的操作成功记录,其中,在每个组内筛选出的第N-1个操作的操作成功记录和第N个操作的操作成功记录在该组内的排列顺序相邻,且第N-1个操作的操作 成功记录排列在第N个操作的操作成功记录之前。

该步骤实现了将符合操作逻辑的第N-1个操作的操作成功记录和第N个操作的操作成功记录筛选出来作为操作记录链中的两条记录。可选地,本申请实施例提供以下两种方式来实现上述筛选:

方式一:先在每个组内筛选出第N-1个操作的记录和第N个操作的操作成功记录,再将第N-1个操作的记录为操作失败记录的组剔除;

具体地,步骤1:在每个组排序后的记录中,筛选出排列在第N个操作的操作成功记录之前,且与该第N个操作的操作成功记录相邻的第N-1个操作的记录,以及排列在第N-1个操作的记录之后,且与该第N-1个操作的记录相邻的第N个操作的操作成功记录;步骤2:从筛选出第N-1个操作的记录和第N个操作的操作成功记录的组中,剔除第N-1个操作的记录为操作失败记录的组。

上述步骤1具体可以通过双向链表的方式来实现。具体地,将组内的记录按时间排序,建立双向链表,并添加前后指针字段,其中前指针字段值为上一个操作的名称、后指针字段值为下一个操作的名称。如图2所示,为双向链表示意图,其中第N-1个操作为操作A,第N个操作为操作B。这样,可以通过指针字段对不符合条件的记录进行删除,只选取前指针字段值为A的操作B的记录,和后指针字段值为B的操作A的记录。

方式二:直接在每个组内筛选出第N-1个操作的操作成功记录和第N个操作的操作成功记录;

具体地,在每个组排序后的记录中,筛选出排列在第N个操作的操作成功记录之前,且与该第N个操作的操作成功记录相邻的第N-1个操作的操作成功记录,以及排列在第N-1个操作的操作成功记录之后,且与该第N-1个操作的操作成功记录相邻的第N个操作的操作成功记录。

在具体实施中,考虑到实际操作中,同一个操作流程中的各个操作之间的间隔时间不会太长,若组内的第N-1个操作和第N个操作之间的操作时间间隔超过设定时长(比如3分钟),则该第N-1个操作和第N个操作不应属于同一 操作记录链中的两个操作。因此,在S103中,当在每个组内筛选出用于生成操作记录链的第N-1个操作的操作成功记录和第N个操作的操作成功记录时,可以只筛选出满足相邻操作的操作时间间隔小于设定时长这一条件的、所述第N-1个操作的操作成功记录和第N个操作的操作成功记录。具体地,结合上述方式一,可以在执行完步骤1之后,剔除第N-1个操作的记录和第N个操作的操作成功记录所对应的操作时间之间的时间间隔超过设定时长的组,或者也可以在执行步骤1的时候,若确定第N-1个操作的记录和第N个操作的操作成功记录所对应的操作时间之间的时间间隔超过设定时长,则不进行筛选。结合上述方式二,可以在执行方式二的过程中,若确定第N-1个操作的操作成功记录和第N个操作的操作成功记录所对应的操作时间之间的时间间隔超过设定时长,则不进行筛选。

S104:判断N是否等于2,若是,则流程结束;否则,将N减1,返回S101。

在具体实施中,若所述任务总的操作数为2,则可以结束操作流程,最终生成的操作记录链中即包含两个操作。若所述任务总的操作数大于2,则需要将N减去1后,返回S101(需要说明的是,将N减去1后,步骤S101~S104中的N将不再代表所述任务总的操作数),继续执行上述步骤S101~S104,直到N=2。

另外,在将N减去1后,由于操作记录链中的第N次操作的操作成功记录(也即在执行将N减去1之前的第N-1次操作的操作成功记录)已经确定了,因此可以直接将操作记录链中的第N次操作的操作成功记录作为S101中选取的“所述某一任务中按操作顺序排序后的第N个操作的操作成功记录”。

采用本申请实施例,可以通过生成的操作记录链体现出同一操作流程中不同操作的记录之间的上下文关系,通过这些记录之间的上下文关系,可以定位异常操作的位置,以及确认发生异常操作的用户及客体。并且,通过本申请实施例提供的操作记录链生成方案,可以避免将不符合操作逻辑的记录组成操作记录链,保证了不同操作的记录之间的上下文关系的准确性。

基于同一发明构思,本申请实施例中还提供了一种与操作记录链生成方法对应的操作记录链生成装置,由于该装置解决问题的原理与本申请实施例操作记录链生成方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

如图3所示,为本申请实施例提供的操作记录链生成装置结构示意图,该操作记录链用于记录某一任务的各操作,其中,该任务包括N个操作,N为大于或等于2的正整数,该装置包括:

分组模块31,用于选取所述任务中按操作顺序排序后的第N-1个操作的记录和第N个操作的操作成功记录,其中每条记录中包括用户和客体信息;将选取的各条第N-1个操作的记录和第N个操作的操作成功记录进行分组,使得同组内的记录具有相同的用户和客体信息;

筛选模块32,用于将每个组内的记录按照操作时间进行排序,在每个组排序后的记录中,筛选出用于生成操作记录链的第N-1个操作的操作成功记录和第N个操作的操作成功记录,其中,在每个组内筛选出的第N-1个操作的操作成功记录和第N个操作的操作成功记录在该组内的排列顺序相邻,且第N-1个操作的操作成功记录排列在第N个操作的操作成功记录之前;若N为2,则流程结束;否则,将N减1,返回步骤A。

可选地,所述筛选模块32具体用于:

在每个组排序后的记录中,筛选出排列在第N个操作的操作成功记录之前,且与该第N个操作的操作成功记录相邻的第N-1个操作的记录,以及排列在第N-1个操作的记录之后,且与该第N-1个操作的记录相邻的第N个操作的操作成功记录;从筛选出第N-1个操作的记录和第N个操作的操作成功记录的组中,剔除第N-1个操作的记录为操作失败记录的组。

可选地,所述筛选模块32具体用于:

在每个组排序后的记录中,筛选出排列在第N个操作的操作成功记录之前,且与该第N个操作的操作成功记录相邻的第N-1个操作的操作成功记录, 以及排列在第N-1个操作的操作成功记录之后,且与该第N-1个操作的操作成功记录相邻的第N个操作的操作成功记录。

可选地,所述筛选模块32还用于:

在所述分组模块31将选取的各条第N-1个操作的记录和第N个操作的操作成功记录进行分组之后,在所述筛选模块32筛选出用于生成操作记录链的第N-1个操作的操作成功记录和第N个操作的操作成功记录之前,从各个组中,剔除只存在第N-1个操作和第N个操作两种操作中的一种操作的组。

可选地,所述筛选模块32具体用于:

在每个组排序后的记录中,筛选出满足相邻操作的操作时间间隔小于设定时长这一条件的、所述第N-1个操作的操作成功记录和第N个操作的操作成功记录。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个 流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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